diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Unit.cpp | 39 |
1 files changed, 15 insertions, 24 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 7d6807b7811..1533c6cd565 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5202,32 +5202,11 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger break; } /* - // TODO: need find item for aura and triggered spells // Sunwell Exalted Caster Neck (??? neck) // cast ??? Light's Wrath if Exalted by Aldor // cast ??? Arcane Bolt if Exalted by Scryers*/ case 46569: - return false; // disable for while - /* - { - if(GetTypeId() != TYPEID_PLAYER) - return false; - - // Get Aldor reputation rank - if (((Player *)this)->GetReputationRank(932) == REP_EXALTED) - { - target = this; - triggered_spell_id = ??? - break; - } - // Get Scryers reputation rank - if (((Player *)this)->GetReputationRank(934) == REP_EXALTED) - { - triggered_spell_id = ??? - break; - } - return false; - }*/ + return false; // old unused version // Sunwell Exalted Caster Neck (Shattered Sun Pendant of Acumen neck) // cast 45479 Light's Wrath if Exalted by Aldor // cast 45429 Arcane Bolt if Exalted by Scryers @@ -5246,8 +5225,20 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger // Get Scryers reputation rank if (((Player *)this)->GetReputationRank(934) == REP_EXALTED) { - if(this->IsFriendlyTo(target)) - return false; + // triggered at positive/self casts also, current attack target used then + if(IsFriendlyTo(target)) + { + target = getVictim(); + if(!target) + { + uint64 selected_guid = ((Player *)this)->GetSelection(); + target = ObjectAccessor::GetUnit(*this,selected_guid); + if(!target) + return false; + } + if(IsFriendlyTo(target)) + return false; + } triggered_spell_id = 45429; break; |