mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-05 11:12:42 +00:00
Target AEs don't always hit target
This commit is contained in:
parent
b09792812a
commit
592bbd3180
@ -2237,21 +2237,7 @@ bool Mob::SpellFinished(uint16 spell_id, Mob *spell_target, CastingSlot slot, ui
|
|||||||
// special ae duration spell
|
// special ae duration spell
|
||||||
ae_center->CastToBeacon()->AELocationSpell(this, spell_id, resist_adjust);
|
ae_center->CastToBeacon()->AELocationSpell(this, spell_id, resist_adjust);
|
||||||
} else {
|
} else {
|
||||||
// regular PB AE or targeted AE spell - spell_target is null if PB
|
// unsure if we actually need this? Need to find some spell examples
|
||||||
if(spell_target) // this must be an AETarget spell
|
|
||||||
{
|
|
||||||
bool cast_on_target = true;
|
|
||||||
if (spells[spell_id].targettype == ST_TargetAENoPlayersPets && spell_target->IsPetOwnerClient())
|
|
||||||
cast_on_target = false;
|
|
||||||
if (spells[spell_id].targettype == ST_AreaClientOnly && !spell_target->IsClient())
|
|
||||||
cast_on_target = false;
|
|
||||||
if (spells[spell_id].targettype == ST_AreaNPCOnly && !spell_target->IsNPC())
|
|
||||||
cast_on_target = false;
|
|
||||||
|
|
||||||
// affect the target too
|
|
||||||
if (cast_on_target)
|
|
||||||
SpellOnTarget(spell_id, spell_target, false, true, resist_adjust);
|
|
||||||
}
|
|
||||||
if(ae_center && ae_center == this && IsBeneficialSpell(spell_id))
|
if(ae_center && ae_center == this && IsBeneficialSpell(spell_id))
|
||||||
SpellOnTarget(spell_id, this);
|
SpellOnTarget(spell_id, this);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user