Updated all spell scripts.
This commit is contained in:
+127
-113
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) CypherCore <http://github.com/CypherCore> All rights reserved.
|
||||
// Copyright (c) CypherCore <http://github.com/CypherCore> All rights reserved.
|
||||
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
|
||||
|
||||
using Framework.Constants;
|
||||
@@ -8,54 +8,16 @@ using Game.Scripting;
|
||||
using Game.Spells;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Scripts.Spells.Azerite
|
||||
{
|
||||
struct SpellIds
|
||||
{
|
||||
// Strengthinnumbers
|
||||
public const uint StrengthInNumbersTrait = 271546;
|
||||
public const uint StrengthInNumbersBuff = 271550;
|
||||
|
||||
// Blessedportents
|
||||
public const uint BlessedPortentsTrait = 267889;
|
||||
public const uint BlessedPortentsHeal = 280052;
|
||||
|
||||
// Concentratedmending
|
||||
public const uint ConcentratedMendingTrait = 267882;
|
||||
|
||||
// Bracingchill
|
||||
public const uint BracingChillTrait = 267884;
|
||||
public const uint BracingChill = 272276;
|
||||
public const uint BracingChillHeal = 272428;
|
||||
public const uint BracingChillSearchJumpTarget = 272436;
|
||||
|
||||
// Orbitalprecision
|
||||
public const uint MageFrozenOrb = 84714;
|
||||
|
||||
// Bluroftalons
|
||||
public const uint HunterCoordinatedAssault = 266779;
|
||||
|
||||
// Tradewinds
|
||||
public const uint TradewindsAllyBuff = 281844;
|
||||
|
||||
// Bastion of Might
|
||||
public const uint WarriorIgnorePain = 190456;
|
||||
|
||||
// Echoing Blades
|
||||
public const uint EchoingBladesTrait = 287649;
|
||||
|
||||
// Hour of Reaping
|
||||
|
||||
public const uint DHSoulBarrier = 263648;
|
||||
}
|
||||
|
||||
[Script]
|
||||
class spell_azerite_gen_aura_calc_from_2nd_effect_triggered_spell : AuraScript
|
||||
{
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellEffect(spellInfo.Id, 1) && ValidateSpellInfo(spellInfo.GetEffect(1).TriggerSpell);
|
||||
return ValidateSpellEffect((spellInfo.Id, 1)) && ValidateSpellInfo(spellInfo.GetEffect(1).TriggerSpell);
|
||||
}
|
||||
|
||||
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
|
||||
@@ -63,18 +25,17 @@ namespace Scripts.Spells.Azerite
|
||||
Unit caster = GetCaster();
|
||||
if (caster != null)
|
||||
{
|
||||
AuraEffect trait = caster.GetAuraEffect(GetEffectInfo(1).TriggerSpell, 0);
|
||||
if (trait != null)
|
||||
{
|
||||
amount = trait.GetAmount();
|
||||
canBeRecalculated = false;
|
||||
}
|
||||
amount = 0;
|
||||
canBeRecalculated = false;
|
||||
foreach (var (_, aurApp) in caster.GetAppliedAuras().Where(pair => pair.Key == GetEffectInfo(1).TriggerSpell))
|
||||
if (aurApp.HasEffect(0))
|
||||
amount += aurApp.GetBase().GetEffect(0).GetAmount();
|
||||
}
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoEffectCalcAmount.Add(new EffectCalcAmountHandler(CalculateAmount, 0, AuraType.ModRating));
|
||||
DoEffectCalcAmount.Add(new(CalculateAmount, 0, AuraType.ModRating));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,26 +56,29 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckProc, 0, AuraType.ProcTriggerSpell));
|
||||
DoCheckEffectProc.Add(new(CheckProc, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 271548 - Strength in Numbers
|
||||
class spell_item_strength_in_numbers : SpellScript
|
||||
{
|
||||
const uint SpellStrengthInNumbersTrait = 271546;
|
||||
const uint SpellStrengthInNumbersBuff = 271550;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.StrengthInNumbersTrait, SpellIds.StrengthInNumbersBuff);
|
||||
return ValidateSpellInfo(SpellStrengthInNumbersTrait, SpellStrengthInNumbersBuff);
|
||||
}
|
||||
|
||||
void TriggerHealthBuff()
|
||||
{
|
||||
AuraEffect trait = GetCaster().GetAuraEffect(SpellIds.StrengthInNumbersTrait, 0, GetCaster().GetGUID());
|
||||
AuraEffect trait = GetCaster().GetAuraEffect(SpellStrengthInNumbersTrait, 0, GetCaster().GetGUID());
|
||||
if (trait != null)
|
||||
{
|
||||
long enemies = GetUnitTargetCountForEffect(0);
|
||||
if (enemies != 0)
|
||||
GetCaster().CastSpell(GetCaster(), SpellIds.StrengthInNumbersBuff, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
GetCaster().CastSpell(GetCaster(), SpellStrengthInNumbersBuff, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.AddSpellMod(SpellValueMod.BasePoint0, trait.GetAmount())
|
||||
.AddSpellMod(SpellValueMod.AuraStack, (int)enemies));
|
||||
}
|
||||
@@ -122,16 +86,19 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
AfterHit.Add(new HitHandler(TriggerHealthBuff));
|
||||
AfterHit.Add(new(TriggerHealthBuff));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 271843 - Blessed Portents
|
||||
class spell_item_blessed_portents : AuraScript
|
||||
{
|
||||
const uint SpellBlessedPortentsTrait = 267889;
|
||||
const uint SpellBlessedPortentsHeal = 280052;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.BlessedPortentsTrait, SpellIds.BlessedPortentsHeal);
|
||||
return ValidateSpellInfo(SpellBlessedPortentsTrait, SpellBlessedPortentsHeal);
|
||||
}
|
||||
|
||||
void CheckProc(AuraEffect aurEff, DamageInfo dmgInfo, ref uint absorbAmount)
|
||||
@@ -141,10 +108,10 @@ namespace Scripts.Spells.Azerite
|
||||
Unit caster = GetCaster();
|
||||
if (caster != null)
|
||||
{
|
||||
AuraEffect trait = caster.GetAuraEffect(SpellIds.BlessedPortentsTrait, 0, caster.GetGUID());
|
||||
AuraEffect trait = caster.GetAuraEffect(SpellBlessedPortentsTrait, 0, caster.GetGUID());
|
||||
if (trait != null)
|
||||
caster.CastSpell(GetTarget(), SpellIds.BlessedPortentsHeal, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.AddSpellMod(SpellValueMod.BasePoint0, trait.GetAmount()));
|
||||
caster.CastSpell(GetTarget(), SpellBlessedPortentsHeal, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.AddSpellMod(SpellValueMod.BasePoint0, trait.GetAmount()));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -153,16 +120,18 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
OnEffectAbsorb.Add(new EffectAbsorbHandler(CheckProc, 0));
|
||||
OnEffectAbsorb.Add(new(CheckProc, 0));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 272260 - Concentrated Mending
|
||||
class spell_item_concentrated_mending : AuraScript
|
||||
{
|
||||
const uint SpellConcentratedMendingTrait = 267882;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.ConcentratedMendingTrait);
|
||||
return ValidateSpellInfo(SpellConcentratedMendingTrait);
|
||||
}
|
||||
|
||||
void RecalculateHealAmount(AuraEffect aurEff)
|
||||
@@ -170,7 +139,7 @@ namespace Scripts.Spells.Azerite
|
||||
Unit caster = GetCaster();
|
||||
if (caster != null)
|
||||
{
|
||||
AuraEffect trait = caster.GetAuraEffect(SpellIds.ConcentratedMendingTrait, 0, caster.GetGUID());
|
||||
AuraEffect trait = caster.GetAuraEffect(SpellConcentratedMendingTrait, 0, caster.GetGUID());
|
||||
if (trait != null)
|
||||
aurEff.ChangeAmount((int)(trait.GetAmount() * aurEff.GetTickNumber()));
|
||||
}
|
||||
@@ -178,16 +147,20 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
OnEffectUpdatePeriodic.Add(new EffectUpdatePeriodicHandler(RecalculateHealAmount, 0, AuraType.PeriodicHeal));
|
||||
OnEffectUpdatePeriodic.Add(new(RecalculateHealAmount, 0, AuraType.PeriodicHeal));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 272276 - Bracing Chill
|
||||
class spell_item_bracing_chill_proc : AuraScript
|
||||
{
|
||||
const uint SpellBracingChillTrait = 267884;
|
||||
const uint SpellBracingChillHeal = 272428;
|
||||
const uint SpellBracingChillSearchJumpTarget = 272436;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.BracingChillTrait, SpellIds.BracingChillHeal, SpellIds.BracingChillSearchJumpTarget);
|
||||
return ValidateSpellInfo(SpellBracingChillTrait, SpellBracingChillHeal, SpellBracingChillSearchJumpTarget);
|
||||
}
|
||||
|
||||
bool CheckHealCaster(AuraEffect aurEff, ProcEventInfo eventInfo)
|
||||
@@ -198,16 +171,16 @@ namespace Scripts.Spells.Azerite
|
||||
void HandleProc(AuraEffect aurEff, ProcEventInfo procInfo)
|
||||
{
|
||||
Unit caster = procInfo.GetActor();
|
||||
if (!caster)
|
||||
if (caster == null)
|
||||
return;
|
||||
|
||||
AuraEffect trait = caster.GetAuraEffect(SpellIds.BracingChillTrait, 0, caster.GetGUID());
|
||||
AuraEffect trait = caster.GetAuraEffect(SpellBracingChillTrait, 0, caster.GetGUID());
|
||||
if (trait != null)
|
||||
caster.CastSpell(procInfo.GetProcTarget(), SpellIds.BracingChillHeal,
|
||||
caster.CastSpell(procInfo.GetProcTarget(), SpellBracingChillHeal,
|
||||
new CastSpellExtraArgs(TriggerCastFlags.FullMask).AddSpellMod(SpellValueMod.BasePoint0, trait.GetAmount()));
|
||||
|
||||
if (GetStackAmount() > 1)
|
||||
caster.CastSpell((WorldObject)null, SpellIds.BracingChillSearchJumpTarget,
|
||||
caster.CastSpell(null, SpellBracingChillSearchJumpTarget,
|
||||
new CastSpellExtraArgs(TriggerCastFlags.FullMask).AddSpellMod(SpellValueMod.AuraStack, GetStackAmount() - 1));
|
||||
|
||||
Remove();
|
||||
@@ -215,24 +188,23 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckHealCaster, 0, AuraType.Dummy));
|
||||
AfterEffectProc.Add(new EffectProcHandler(HandleProc, 0, AuraType.Dummy));
|
||||
DoCheckEffectProc.Add(new(CheckHealCaster, 0, AuraType.Dummy));
|
||||
AfterEffectProc.Add(new(HandleProc, 0, AuraType.Dummy));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 272436 - Bracing Chill
|
||||
class spell_item_bracing_chill_search_jump_target : SpellScript
|
||||
{
|
||||
const uint SpellBracingChill = 272276;
|
||||
|
||||
void FilterTarget(List<WorldObject> targets)
|
||||
{
|
||||
if (targets.Empty())
|
||||
return;
|
||||
|
||||
List<WorldObject> copy = new(targets);
|
||||
copy.RandomResize(target =>
|
||||
{
|
||||
return target.IsUnit() && !target.ToUnit().HasAura(SpellIds.BracingChill, GetCaster().GetGUID());
|
||||
}, 1);
|
||||
copy.RandomResize(target => target.IsUnit() && !target.ToUnit().HasAura(SpellBracingChill, GetCaster().GetGUID()), 1);
|
||||
|
||||
if (!copy.Empty())
|
||||
{
|
||||
@@ -248,14 +220,14 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
void MoveAura(uint effIndex)
|
||||
{
|
||||
GetCaster().CastSpell(GetHitUnit(), SpellIds.BracingChill,
|
||||
GetCaster().CastSpell(GetHitUnit(), SpellBracingChill,
|
||||
new CastSpellExtraArgs(TriggerCastFlags.FullMask).AddSpellMod(SpellValueMod.AuraStack, GetSpellValue().AuraStackAmount));
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(FilterTarget, 0, Targets.UnitDestAreaAlly));
|
||||
OnEffectHitTarget.Add(new EffectHandler(MoveAura, 0, SpellEffectName.Dummy));
|
||||
OnObjectAreaTargetSelect.Add(new(FilterTarget, 0, Targets.UnitDestAreaAlly));
|
||||
OnEffectHitTarget.Add(new(MoveAura, 0, SpellEffectName.Dummy));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,45 +241,80 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckHealthPct, 0, AuraType.ProcTriggerSpell));
|
||||
DoCheckEffectProc.Add(new(CheckHealthPct, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 272892 - Wracking Brilliance
|
||||
class spell_item_wracking_brilliance : AuraScript
|
||||
{
|
||||
const uint SpellAgonySoulShardGain = 210067;
|
||||
|
||||
bool _canTrigger = true;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellAgonySoulShardGain);
|
||||
}
|
||||
|
||||
bool CheckProc(AuraEffect aurEff, ProcEventInfo eventInfo)
|
||||
{
|
||||
SpellInfo spellInfo = eventInfo.GetSpellInfo();
|
||||
if (spellInfo == null)
|
||||
return false;
|
||||
|
||||
if (spellInfo.Id != SpellAgonySoulShardGain)
|
||||
return false;
|
||||
|
||||
_canTrigger = !_canTrigger; // every other soul shard gain
|
||||
return _canTrigger;
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new(CheckProc, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 275514 - Orbital Precision
|
||||
class spell_item_orbital_precision : AuraScript
|
||||
{
|
||||
const uint SpellMageFrozenOrb = 84714;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.MageFrozenOrb);
|
||||
return ValidateSpellInfo(SpellMageFrozenOrb);
|
||||
}
|
||||
|
||||
bool CheckFrozenOrbActive(AuraEffect aurEff, ProcEventInfo eventInfo)
|
||||
{
|
||||
return eventInfo.GetActor().GetAreaTrigger(SpellIds.MageFrozenOrb) != null;
|
||||
return eventInfo.GetActor().GetAreaTrigger(SpellMageFrozenOrb) != null;
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckFrozenOrbActive, 0, AuraType.ProcTriggerSpell));
|
||||
DoCheckEffectProc.Add(new(CheckFrozenOrbActive, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 277966 - Blur of Talons
|
||||
class spell_item_blur_of_talons : AuraScript
|
||||
{
|
||||
const uint SpellHunterCoordinatedAssault = 266779;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.HunterCoordinatedAssault);
|
||||
return ValidateSpellInfo(SpellHunterCoordinatedAssault);
|
||||
}
|
||||
|
||||
bool CheckCoordinatedAssaultActive(AuraEffect aurEff, ProcEventInfo eventInfo)
|
||||
{
|
||||
return eventInfo.GetActor().HasAura(SpellIds.HunterCoordinatedAssault, eventInfo.GetActor().GetGUID());
|
||||
return eventInfo.GetActor().HasAura(SpellHunterCoordinatedAssault, eventInfo.GetActor().GetGUID());
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckCoordinatedAssaultActive, 0, AuraType.ProcTriggerSpell));
|
||||
DoCheckEffectProc.Add(new(CheckCoordinatedAssaultActive, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,7 +328,7 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckHealthPct, 0, AuraType.ProcTriggerSpell));
|
||||
DoCheckEffectProc.Add(new(CheckHealthPct, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -335,57 +342,63 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
AfterEffectProc.Add(new EffectProcHandler(HandleProc, 1, AuraType.Dummy));
|
||||
AfterEffectProc.Add(new(HandleProc, 1, AuraType.Dummy));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 281843 - Tradewinds
|
||||
class spell_item_tradewinds : AuraScript
|
||||
{
|
||||
const uint SpellTradewindsAllyBuff = 281844;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.TradewindsAllyBuff);
|
||||
return ValidateSpellInfo(SpellTradewindsAllyBuff);
|
||||
}
|
||||
|
||||
void HandleRemove(AuraEffect aurEff, AuraEffectHandleModes mode)
|
||||
{
|
||||
AuraEffect trait = GetTarget().GetAuraEffect(GetEffectInfo(1).TriggerSpell, 1);
|
||||
if (trait != null)
|
||||
GetTarget().CastSpell((WorldObject)null, SpellIds.TradewindsAllyBuff,
|
||||
GetTarget().CastSpell(null, SpellTradewindsAllyBuff,
|
||||
new CastSpellExtraArgs(aurEff).AddSpellMod(SpellValueMod.BasePoint0, trait.GetAmount()));
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
AfterEffectRemove.Add(new EffectApplyHandler(HandleRemove, 0, AuraType.ModRating, AuraEffectHandleModes.Real));
|
||||
AfterEffectRemove.Add(new(HandleRemove, 0, AuraType.ModRating, AuraEffectHandleModes.Real));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 287379 - Bastion of Might
|
||||
class spell_item_bastion_of_might : SpellScript
|
||||
{
|
||||
const uint SpellWarriorIgnorePain = 190456;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.WarriorIgnorePain);
|
||||
return ValidateSpellInfo(SpellWarriorIgnorePain);
|
||||
}
|
||||
|
||||
void TriggerIgnorePain()
|
||||
{
|
||||
GetCaster().CastSpell(GetCaster(), SpellIds.WarriorIgnorePain, GetSpell());
|
||||
GetCaster().CastSpell(GetCaster(), SpellWarriorIgnorePain, GetSpell());
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
AfterHit.Add(new HitHandler(TriggerIgnorePain));
|
||||
AfterHit.Add(new(TriggerIgnorePain));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 287650 - Echoing Blades
|
||||
class spell_item_echoing_blades : AuraScript
|
||||
{
|
||||
ObjectGuid _lastFanOfKnives;
|
||||
|
||||
void PrepareProc(ProcEventInfo eventInfo)
|
||||
{
|
||||
if (eventInfo.GetProcSpell())
|
||||
if (eventInfo.GetProcSpell() != null)
|
||||
{
|
||||
if (eventInfo.GetProcSpell().m_castId != _lastFanOfKnives)
|
||||
GetEffect(0).RecalculateAmount();
|
||||
@@ -406,26 +419,25 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoPrepareProc.Add(new AuraProcHandler(PrepareProc));
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckFanOfKnivesCounter, 0, AuraType.ProcTriggerSpell));
|
||||
AfterEffectProc.Add(new EffectProcHandler(ReduceCounter, 0, AuraType.ProcTriggerSpell));
|
||||
DoPrepareProc.Add(new(PrepareProc));
|
||||
DoCheckEffectProc.Add(new(CheckFanOfKnivesCounter, 0, AuraType.ProcTriggerSpell));
|
||||
AfterEffectProc.Add(new(ReduceCounter, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
|
||||
ObjectGuid _lastFanOfKnives;
|
||||
}
|
||||
|
||||
[Script] // 287653 - Echoing Blades
|
||||
class spell_item_echoing_blades_damage : SpellScript
|
||||
{
|
||||
const uint SpellEchoingBladesTrait = 287649;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.EchoingBladesTrait)
|
||||
&& ValidateSpellEffect(SpellIds.EchoingBladesTrait, 2);
|
||||
return ValidateSpellEffect((SpellEchoingBladesTrait, 2));
|
||||
}
|
||||
|
||||
void CalculateDamage(Unit victim, ref int damage, ref int flatMod, ref float pctMod)
|
||||
{
|
||||
AuraEffect trait = GetCaster().GetAuraEffect(SpellIds.EchoingBladesTrait, 2);
|
||||
AuraEffect trait = GetCaster().GetAuraEffect(SpellEchoingBladesTrait, 2);
|
||||
if (trait != null)
|
||||
damage = trait.GetAmount() * 2;
|
||||
}
|
||||
@@ -437,17 +449,19 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
CalcDamage.Add(new DamageAndHealingCalcHandler(CalculateDamage));
|
||||
OnCalcCritChance.Add(new OnCalcCritChanceHandler(ForceCritical));
|
||||
CalcDamage.Add(new(CalculateDamage));
|
||||
OnCalcCritChance.Add(new(ForceCritical));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 288882 - Hour of Reaping
|
||||
class spell_item_hour_of_reaping : AuraScript
|
||||
{
|
||||
const uint SpellDhSoulBarrier = 263648;
|
||||
|
||||
public override bool Validate(SpellInfo spellInfo)
|
||||
{
|
||||
return ValidateSpellInfo(SpellIds.DHSoulBarrier);
|
||||
return ValidateSpellInfo(SpellDhSoulBarrier);
|
||||
}
|
||||
|
||||
bool CheckProc(AuraEffect aurEff, ProcEventInfo eventInfo)
|
||||
@@ -457,13 +471,13 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
void TriggerSoulBarrier(AuraEffect aurEff, ProcEventInfo procInfo)
|
||||
{
|
||||
GetTarget().CastSpell(GetTarget(), SpellIds.DHSoulBarrier, new CastSpellExtraArgs(aurEff));
|
||||
GetTarget().CastSpell(GetTarget(), SpellDhSoulBarrier, new CastSpellExtraArgs(aurEff));
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckProc, 0, AuraType.Dummy));
|
||||
AfterEffectProc.Add(new EffectProcHandler(TriggerSoulBarrier, 0, AuraType.Dummy));
|
||||
DoCheckEffectProc.Add(new(CheckProc, 0, AuraType.Dummy));
|
||||
AfterEffectProc.Add(new(TriggerSoulBarrier, 0, AuraType.Dummy));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -482,7 +496,7 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckEffectProc.Add(new CheckEffectProcHandler(CheckProc, 0, AuraType.ProcTriggerSpell));
|
||||
DoCheckEffectProc.Add(new(CheckProc, 0, AuraType.ProcTriggerSpell));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -495,7 +509,7 @@ namespace Scripts.Spells.Azerite
|
||||
return true;
|
||||
|
||||
Spell procSpell = eventInfo.GetProcSpell();
|
||||
if (!procSpell)
|
||||
if (procSpell == null)
|
||||
return false;
|
||||
|
||||
bool isCrowdControl = procSpell.GetSpellInfo().HasAura(AuraType.ModConfuse)
|
||||
@@ -515,7 +529,7 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoCheckProc.Add(new CheckProcHandler(CheckProc));
|
||||
DoCheckProc.Add(new(CheckProc));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -547,8 +561,8 @@ namespace Scripts.Spells.Azerite
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
OnEffectApply.Add(new EffectApplyHandler(SetEquippedFlag, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
|
||||
OnEffectRemove.Add(new EffectApplyHandler(ClearEquippedFlag, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
|
||||
OnEffectApply.Add(new(SetEquippedFlag, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
|
||||
OnEffectRemove.Add(new(ClearEquippedFlag, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -563,13 +577,13 @@ namespace Scripts.Spells.Azerite
|
||||
void CalcAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
|
||||
{
|
||||
Player player = GetUnitOwner().ToPlayer();
|
||||
amount = (int)Math.Clamp(10.0f + player.GetRatingBonusValue(CombatRating.Corruption) - player.GetRatingBonusValue(CombatRating.CorruptionResistance), 0.0f, 99.0f);
|
||||
amount = (int)MathFunctions.Clamp(10.0f + player.GetRatingBonusValue(CombatRating.Corruption) - player.GetRatingBonusValue(CombatRating.CorruptionResistance), 0.0f, 99.0f);
|
||||
canBeRecalculated = false;
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
DoEffectCalcAmount.Add(new EffectCalcAmountHandler(CalcAmount, 0, AuraType.ModDecreaseSpeed));
|
||||
DoEffectCalcAmount.Add(new(CalcAmount, 0, AuraType.ModDecreaseSpeed));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user