Scripts/Spells: Fix Incanters Flow
Port From (https://github.com/TrinityCore/TrinityCore/commit/da8d6b5180a586f2cbf8ea4e859a1d5336ea8336)
This commit is contained in:
@@ -52,6 +52,7 @@ namespace Scripts.Spells.Mage
|
|||||||
public const uint IceBarrier = 11426;
|
public const uint IceBarrier = 11426;
|
||||||
public const uint IceBlock = 45438;
|
public const uint IceBlock = 45438;
|
||||||
public const uint Ignite = 12654;
|
public const uint Ignite = 12654;
|
||||||
|
public const uint IncantersFlow = 116267;
|
||||||
public const uint LivingBombExplosion = 44461;
|
public const uint LivingBombExplosion = 44461;
|
||||||
public const uint LivingBombPeriodic = 217694;
|
public const uint LivingBombPeriodic = 217694;
|
||||||
public const uint ManaSurge = 37445;
|
public const uint ManaSurge = 37445;
|
||||||
@@ -649,6 +650,46 @@ namespace Scripts.Spells.Mage
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Script] // 1463 - Incanter's Flow
|
||||||
|
class spell_mage_incanters_flow : AuraScript
|
||||||
|
{
|
||||||
|
sbyte modifier = 1;
|
||||||
|
|
||||||
|
public override bool Validate(SpellInfo spellInfo)
|
||||||
|
{
|
||||||
|
return ValidateSpellInfo(SpellIds.IncantersFlow);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandlePeriodicTick(AuraEffect aurEff)
|
||||||
|
{
|
||||||
|
// Incanter's flow should not cycle out of combat
|
||||||
|
if (!GetTarget().IsInCombat())
|
||||||
|
return;
|
||||||
|
|
||||||
|
Aura aura = GetTarget().GetAura(SpellIds.IncantersFlow);
|
||||||
|
if (aura != null)
|
||||||
|
{
|
||||||
|
uint stacks = aura.GetStackAmount();
|
||||||
|
|
||||||
|
// Force always to values between 1 and 5
|
||||||
|
if ((modifier == -1 && stacks == 1) || (modifier == 1 && stacks == 5))
|
||||||
|
{
|
||||||
|
modifier *= -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
aura.ModStackAmount(modifier);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
GetTarget().CastSpell(GetTarget(), SpellIds.IncantersFlow, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
OnEffectPeriodic.Add(new EffectPeriodicHandler(HandlePeriodicTick, 0, AuraType.PeriodicDummy));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Script] // 44457 - Living Bomb
|
[Script] // 44457 - Living Bomb
|
||||||
class spell_mage_living_bomb : SpellScript
|
class spell_mage_living_bomb : SpellScript
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user