mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
[6965] Implement aura SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE.
This must let work triggering part of: DK talents 49182, 49027, 49149, 49223, 50880, 55610 and ranks Warrior glyph item 43418 And some boss spells. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
dd65b8b840
commit
27175a9ad8
4 changed files with 15 additions and 3 deletions
|
|
@ -5382,6 +5382,9 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB
|
|||
Unit* target = NULL;
|
||||
int32 basepoints0 = 0;
|
||||
|
||||
if(triggeredByAura->GetModifier()->m_auraname == SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE)
|
||||
basepoints0 = triggerAmount;
|
||||
|
||||
Item* castItem = triggeredByAura->GetCastItemGUID() && GetTypeId()==TYPEID_PLAYER
|
||||
? ((Player*)this)->GetItemByGuid(triggeredByAura->GetCastItemGUID()) : NULL;
|
||||
|
||||
|
|
@ -9602,6 +9605,7 @@ bool InitTriggerAuraData()
|
|||
isTriggerAura[SPELL_AURA_MOD_HASTE] = true;
|
||||
isTriggerAura[SPELL_AURA_MOD_ATTACKER_MELEE_HIT_CHANCE]=true;
|
||||
isTriggerAura[SPELL_AURA_PRAYER_OF_MENDING] = true;
|
||||
isTriggerAura[SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE] = true;
|
||||
|
||||
isNonTriggerAura[SPELL_AURA_MOD_POWER_REGEN]=true;
|
||||
isNonTriggerAura[SPELL_AURA_RESIST_PUSHBACK]=true;
|
||||
|
|
@ -9836,6 +9840,14 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
|||
HandleMeandingAuraProc(triggeredByAura);
|
||||
break;
|
||||
}
|
||||
case SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE:
|
||||
{
|
||||
sLog.outDebug("ProcDamageAndSpell: casting spell %u (triggered with value by %s aura of spell %u)", spellInfo->Id,(isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
|
||||
|
||||
if (!HandleProcTriggerSpell(pTarget, damage, triggeredByAura, procSpell, procFlag, procExtra, cooldown))
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
case SPELL_AURA_MOD_STUN:
|
||||
// Remove by default, but if charge exist drop it
|
||||
if (triggeredByAura->m_procCharges == 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue