#region Rectangle if (attack.SpellID == 13060) { var spell = Database.SpellTable.GetSpell(13060, attacker.Owner); SpellUse suse = new SpellUse(true); suse.Attacker = attacker.UID; suse.SpellID = attack.SpellID; suse.X = attacker.X; suse.Y = attacker.Y; var angle = Kernel.GetAngle(attacker.X, attacker.Y, attacked.X, attacked.Y); Map.UpdateCoordonatesForAngle(ref X, ref Y, angle); Fan sector = new Fan(attacker.X, attacker.Y, X, Y, spell.Range, spell.Sector); uint damage2 = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack); attack.Damage = 0; if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee)) { ReceiveAttack(attacker, attacked, attack, ref damage2, spell); suse.AddTarget(attacked, damage2, attack); foreach (Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects) { if (_obj.MapObjType == MapObjectType.Entity || _obj.MapObjType == MapObjectType.Monster) { if (_obj == null) continue; attacked = _obj as Entity; if (attacked == null) continue; if (sector.IsInFan(attacked.X, attacked.Y)) { if (Kernel.GetDistance(attacked.X, attacked.Y, attacker.X, attacker.Y) > 7) continue; attack.Effect1 = Attack.AttackEffects1.None; uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack); damage = (uint)(damage * 0.2); attack.Damage = 0; ReceiveAttack(attacker, attacked, attack, ref damage, spell); suse.AddTarget(attacked, damage, attack); } } } } attacker.Owner.SendScreen(suse, true); return; } #endregion