Scripts/Spells: Fixed Fingers of Frost proc passive

Port From (https://github.com/TrinityCore/TrinityCore/commit/b94851b824f6e4d7f7a7cd01a4c99e02b1e86b97)
This commit is contained in:
hondacrx
2021-03-15 16:43:18 -04:00
parent 718bbfc1b6
commit 360e0c51a2
2 changed files with 42 additions and 0 deletions
+35
View File
@@ -16,6 +16,7 @@
*/
using Framework.Constants;
using Framework.Dynamic;
using Game.Entities;
using Game.Groups;
using Game.Maps;
@@ -264,6 +265,40 @@ namespace Scripts.Spells.Mage
AfterProc.Add(new AuraProcHandler(DropFingersOfFrost));
}
}
[Script] // 112965 - Fingers of Frost
class spell_mage_fingers_of_frost_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
return ValidateSpellInfo(SpellIds.FingersOfFrost);
}
bool CheckFrostboltProc(AuraEffect aurEff, ProcEventInfo eventInfo)
{
return eventInfo.GetSpellInfo() != null && eventInfo.GetSpellInfo().IsAffected(SpellFamilyNames.Mage, new FlagArray128(0, 0x2000000, 0, 0))
&& RandomHelper.randChance(aurEff.GetAmount());
}
bool CheckFrozenOrbProc(AuraEffect aurEff, ProcEventInfo eventInfo)
{
return eventInfo.GetSpellInfo() != null && eventInfo.GetSpellInfo().IsAffected(SpellFamilyNames.Mage, new FlagArray128(0, 0, 0x80, 0))
&& RandomHelper.randChance(aurEff.GetAmount());
}
void Trigger(AuraEffect aurEff, ProcEventInfo eventInfo)
{
eventInfo.GetActor().CastSpell(GetTarget(), SpellIds.FingersOfFrost, true, null, aurEff);
}
public override void Register()
{
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckFrostboltProc, 0, AuraType.Dummy));
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckFrozenOrbProc, 1, AuraType.Dummy));
AfterEffectProc.Add(new EffectProcHandler(Trigger, 0, AuraType.Dummy));
AfterEffectProc.Add(new EffectProcHandler(Trigger, 1, AuraType.Dummy));
}
}
[Script] // 11426 - Ice Barrier
class spell_mage_ice_barrier : AuraScript