[7965] Implemented proc for 20911 spell. Author: ApoC
--HG-- branch : trunk
This commit is contained in:
+28
-5
@@ -2095,7 +2095,7 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe
|
|||||||
// This, if I'm not mistaken, shows that we get back ~2% of the absorbed damage as runic power.
|
// This, if I'm not mistaken, shows that we get back ~2% of the absorbed damage as runic power.
|
||||||
int32 absorbed = RemainingDamage * currentAbsorb / 100;
|
int32 absorbed = RemainingDamage * currentAbsorb / 100;
|
||||||
int32 regen = absorbed * 2 / 10;
|
int32 regen = absorbed * 2 / 10;
|
||||||
pVictim->CastCustomSpell(pVictim, 49088, ®en, 0, 0, true, 0, (*i));
|
pVictim->CastCustomSpell(pVictim, 49088, ®en, NULL, NULL, true, NULL, *i);
|
||||||
RemainingDamage -= absorbed;
|
RemainingDamage -= absorbed;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -6056,7 +6056,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
int32 holy = caster->SpellBaseDamageBonus(SPELL_SCHOOL_MASK_HOLY) +
|
int32 holy = caster->SpellBaseDamageBonus(SPELL_SCHOOL_MASK_HOLY) +
|
||||||
caster->SpellBaseDamageBonusForVictim(SPELL_SCHOOL_MASK_HOLY, this);
|
caster->SpellBaseDamageBonusForVictim(SPELL_SCHOOL_MASK_HOLY, this);
|
||||||
basepoints0 = int32(ap*0.10f + 0.10f*holy);
|
basepoints0 = int32(ap*0.10f + 0.10f*holy);
|
||||||
pVictim->CastCustomSpell(pVictim, 20267, &basepoints0, 0, 0, true, 0, triggeredByAura);
|
pVictim->CastCustomSpell(pVictim, 20267, &basepoints0, NULL, NULL, true, NULL, triggeredByAura);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// Judgement of Wisdom
|
// Judgement of Wisdom
|
||||||
@@ -6066,7 +6066,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
{
|
{
|
||||||
// 2% of maximum mana
|
// 2% of maximum mana
|
||||||
basepoints0 = int32(pVictim->GetMaxPower(POWER_MANA) * 2 / 100);
|
basepoints0 = int32(pVictim->GetMaxPower(POWER_MANA) * 2 / 100);
|
||||||
pVictim->CastCustomSpell(pVictim, 20268, &basepoints0, NULL, NULL, true, 0, triggeredByAura);
|
pVictim->CastCustomSpell(pVictim, 20268, &basepoints0, NULL, NULL, true, NULL, triggeredByAura);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -6101,6 +6101,29 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// Blessing of Sanctuary
|
||||||
|
case 20911:
|
||||||
|
{
|
||||||
|
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
target = this;
|
||||||
|
switch (target->getPowerType())
|
||||||
|
{
|
||||||
|
case POWER_MANA:
|
||||||
|
triggered_spell_id = 57319;
|
||||||
|
break;
|
||||||
|
case POWER_RAGE:
|
||||||
|
triggered_spell_id = 57320;
|
||||||
|
break;
|
||||||
|
case POWER_RUNIC_POWER:
|
||||||
|
triggered_spell_id = 57321;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
// Seal of Vengeance (damage calc on apply aura)
|
// Seal of Vengeance (damage calc on apply aura)
|
||||||
case 31801:
|
case 31801:
|
||||||
{
|
{
|
||||||
@@ -6203,7 +6226,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
if (procSpell->Effect[i] == SPELL_EFFECT_ENERGIZE)
|
if (procSpell->Effect[i] == SPELL_EFFECT_ENERGIZE)
|
||||||
{
|
{
|
||||||
int32 mana = procSpell->EffectBasePoints[i];
|
int32 mana = procSpell->EffectBasePoints[i];
|
||||||
CastCustomSpell(this, 54986, 0, &mana, 0, true, castItem, triggeredByAura);
|
CastCustomSpell(this, 54986, NULL, &mana, NULL, true, castItem, triggeredByAura);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -7649,7 +7672,7 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, AuraE
|
|||||||
return false;
|
return false;
|
||||||
int32 cost = procSpell->manaCost + procSpell->ManaCostPercentage * GetCreateMana() / 100;
|
int32 cost = procSpell->manaCost + procSpell->ManaCostPercentage * GetCreateMana() / 100;
|
||||||
int32 basepoints0 = cost * triggeredByAura->GetAmount()/100;
|
int32 basepoints0 = cost * triggeredByAura->GetAmount()/100;
|
||||||
CastCustomSpell(this, 47762, &basepoints0, 0, 0, true, 0, triggeredByAura);
|
CastCustomSpell(this, 47762, &basepoints0, NULL, NULL, true, NULL, triggeredByAura);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// Rapture
|
// Rapture
|
||||||
|
|||||||
Reference in New Issue
Block a user