Scripts/Spells: Fixed mage talent Firestarter

Port From (https://github.com/TrinityCore/TrinityCore/commit/d6c43b3d63b4ef601223b2a3efefc481c75c23bc)
This commit is contained in:
hondacrx
2022-02-25 17:32:31 -05:00
parent cd1346e847
commit db0e9e0b01
+47 -1
View File
@@ -47,6 +47,7 @@ namespace Scripts.Spells.Mage
public const uint DradonhawkForm = 32818; public const uint DradonhawkForm = 32818;
public const uint EverwarmSocks = 320913; public const uint EverwarmSocks = 320913;
public const uint FingersOfFrost = 44544; public const uint FingersOfFrost = 44544;
public const uint Firestarter = 205026;
public const uint FrostNova = 122; public const uint FrostNova = 122;
public const uint GiraffeForm = 32816; public const uint GiraffeForm = 32816;
public const uint IceBarrier = 11426; public const uint IceBarrier = 11426;
@@ -462,6 +463,51 @@ namespace Scripts.Spells.Mage
} }
} }
// 133 - Fireball
[Script] // 11366 - Pyroblast
class spell_mage_firestarter : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
return ValidateSpellInfo(SpellIds.Firestarter);
}
void CalcCritChance(Unit victim, ref float critChance)
{
AuraEffect aurEff = GetCaster().GetAuraEffect(SpellIds.Firestarter, 0);
if (aurEff != null)
if (victim.GetHealthPct() >= aurEff.GetAmount())
critChance = 100.0f;
}
public override void Register()
{
OnCalcCritChance.Add(new OnCalcCritChanceHandler(CalcCritChance));
}
}
[Script] // 321712 - Pyroblast
class spell_mage_firestarter_dots : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
return ValidateSpellInfo(SpellIds.Firestarter);
}
void CalcCritChance(AuraEffect aurEff, Unit victim, ref float critChance)
{
AuraEffect aurEff0 = GetCaster().GetAuraEffect(SpellIds.Firestarter, 0);
if (aurEff0 != null)
if (victim.GetHealthPct() >= aurEff0.GetAmount())
critChance = 100.0f;
}
public override void Register()
{
DoEffectCalcCritChance.Add(new EffectCalcCritChanceHandler(CalcCritChance, SpellConst.EffectAll, AuraType.PeriodicDamage));
}
}
[Script] // 11426 - Ice Barrier [Script] // 11426 - Ice Barrier
class spell_mage_ice_barrier : AuraScript class spell_mage_ice_barrier : AuraScript
{ {
@@ -751,7 +797,7 @@ namespace Scripts.Spells.Mage
Unit caster = GetCaster(); Unit caster = GetCaster();
if (caster) if (caster)
caster.CastSpell(GetTarget(), SpellIds.LivingBombExplosion, new CastSpellExtraArgs (TriggerCastFlags.FullMask).AddSpellMod(SpellValueMod.BasePoint0, aurEff.GetAmount())); caster.CastSpell(GetTarget(), SpellIds.LivingBombExplosion, new CastSpellExtraArgs(TriggerCastFlags.FullMask).AddSpellMod(SpellValueMod.BasePoint0, aurEff.GetAmount()));
} }
public override void Register() public override void Register()