#region ShadowClone case 12090: { if (attacker.Owner.Map.ID == 6565 || attacker.Owner.Map.ID == 5555 || attacker.Owner.Map.ID == 2014) { Kernel.SendWorldMessage(new Message("Mr: " + attacker.Name + " You Can`t Use ThisSpell Here !!!", System.Drawing.Color.Red, Message.Talk), Program.Values); return; } if (attacker.Owner.Map.ID == 6565 || attacker.Owner.Map.ID == 5555 || attacker.Owner.Map.ID == 2014) { Kernel.SendWorldMessage(new Message("Mr: " + attacker.Name + " You Can`t Use ThisSpell Here !!!", System.Drawing.Color.Red, Message.Talk), Program.Values); return; } attacker.AttackPacket = null; if (attacker.MyClones.Count > 0) { var clones = attacker.MyClones.Values.ToArray(); for (int i = 0; i < clones.Length; i++) { var item = clones[i]; if (item == null) continue; Data data = new Data(true); data.UID = item.UID; data.ID = Network.GamePackets.Data.RemoveEntity; attacker.Owner.SendScreen(data); // attacker.MyClones[item.UID] = null; } attacker.MyClones.Clear(); } else { if (CanUseSpell(spell, attacker.Owner)) { PrepareSpell(spell, attacker.Owner); SpellUse spellUse = new SpellUse(true); spellUse.Attacker = attacker.UID; spellUse.SpellID = spell.ID; spellUse.SpellLevel = spell.Level; spellUse.X = X; spellUse.Y = Y; attacker.AddClone(3); if (spell.Level >= 0) attacker.AddClone(0); foreach (var item in attacker.MyClones.Values) spellUse.AddTarget(item, 0, attack); attacker.Owner.SendScreen(spellUse, true); } } break; } #endregion