mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[10033] Use sometime stored in spell data triggred spell info for dummy auras.
This commit is contained in:
parent
c0be5c0926
commit
63018ccc4a
2 changed files with 10 additions and 13 deletions
|
|
@ -2204,12 +2204,14 @@ void Unit::CalculateAbsorbAndResist(Unit *pCaster, SpellSchoolMask schoolMask, D
|
||||||
|
|
||||||
int32 amount = int32(incanterAbsorption * (*itr)->GetModifier()->m_amount / 100);
|
int32 amount = int32(incanterAbsorption * (*itr)->GetModifier()->m_amount / 100);
|
||||||
|
|
||||||
|
uint32 triggered_id = itr_spellProto->EffectTriggerSpell[(*itr)->GetEffIndex()];
|
||||||
|
|
||||||
// apply normalized part of already accumulated amount in aura
|
// apply normalized part of already accumulated amount in aura
|
||||||
if (Aura* spdAura = GetAura(44413, EFFECT_INDEX_0))
|
if (Aura* spdAura = GetAura(triggered_id, EFFECT_INDEX_0))
|
||||||
amount += spdAura->GetModifier()->m_amount * spdAura->GetAuraDuration() / spdAura->GetAuraMaxDuration();
|
amount += spdAura->GetModifier()->m_amount * spdAura->GetAuraDuration() / spdAura->GetAuraMaxDuration();
|
||||||
|
|
||||||
// Incanter's Absorption (triggered absorb based spell power, will replace existed if any)
|
// Incanter's Absorption (triggered absorb based spell power, will replace existed if any)
|
||||||
CastCustomSpell(this, 44413, &amount, NULL, NULL, true);
|
CastCustomSpell(this, triggered_id, &amount, NULL, NULL, true, NULL, *itr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -5113,7 +5115,8 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||||
Item* castItem = triggeredByAura->GetCastItemGUID() && GetTypeId()==TYPEID_PLAYER
|
Item* castItem = triggeredByAura->GetCastItemGUID() && GetTypeId()==TYPEID_PLAYER
|
||||||
? ((Player*)this)->GetItemByGuid(triggeredByAura->GetCastItemGUID()) : NULL;
|
? ((Player*)this)->GetItemByGuid(triggeredByAura->GetCastItemGUID()) : NULL;
|
||||||
|
|
||||||
uint32 triggered_spell_id = 0;
|
// some dummy spells have trigger spell in spell data already (from 3.0.3)
|
||||||
|
uint32 triggered_spell_id = dummySpell->EffectApplyAuraName[effIndex] == SPELL_AURA_DUMMY ? dummySpell->EffectTriggerSpell[effIndex] : 0;
|
||||||
Unit* target = pVictim;
|
Unit* target = pVictim;
|
||||||
int32 basepoints[MAX_EFFECT_INDEX] = {0, 0, 0};
|
int32 basepoints[MAX_EFFECT_INDEX] = {0, 0, 0};
|
||||||
|
|
||||||
|
|
@ -5691,12 +5694,6 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||||
triggered_spell_id = 22858;
|
triggered_spell_id = 22858;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// Gag Order
|
|
||||||
if (dummySpell->SpellIconID == 280)
|
|
||||||
{
|
|
||||||
triggered_spell_id = 18498; // Silenced - Gag Order
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// Second Wind
|
// Second Wind
|
||||||
if (dummySpell->SpellIconID == 1697)
|
if (dummySpell->SpellIconID == 1697)
|
||||||
{
|
{
|
||||||
|
|
@ -5998,7 +5995,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
basepoints[0] = int32(target->GetMaxHealth() * triggerAmount / 100);
|
basepoints[0] = int32(target->GetMaxHealth() * triggerAmount / 100);
|
||||||
triggered_spell_id = 56131;
|
// triggered_spell_id in spell data
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -6585,7 +6582,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||||
// Sacred Shield (talent rank)
|
// Sacred Shield (talent rank)
|
||||||
case 53601:
|
case 53601:
|
||||||
{
|
{
|
||||||
triggered_spell_id = 58597;
|
// triggered_spell_id in spell data
|
||||||
target = this;
|
target = this;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -7125,7 +7122,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||||
// Blood-Caked Blade
|
// Blood-Caked Blade
|
||||||
if (dummySpell->SpellIconID == 138)
|
if (dummySpell->SpellIconID == 138)
|
||||||
{
|
{
|
||||||
triggered_spell_id = dummySpell->EffectTriggerSpell[effIndex];
|
// triggered_spell_id in spell data
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "10032"
|
#define REVISION_NR "10033"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue