aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Unit.cpp39
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;