#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