spell
This commit is contained in:
@@ -43,9 +43,7 @@ enum ApothecarySpells
|
||||
SPELL_BUNNY_LOCKDOWN = 69039,
|
||||
SPELL_THROW_PERFUME = 68799,
|
||||
SPELL_PERFUME_SPILL = 68798,
|
||||
SPELL_COLOGNE_SPILL = 68614,
|
||||
SPELL_PERFUME_SPILL_DAMAGE = 68927,
|
||||
SPELL_COLOGNE_SPILL_DAMAGE = 68934
|
||||
SPELL_COLOGNE_SPILL = 68614
|
||||
};
|
||||
|
||||
enum ApothecarySays
|
||||
@@ -445,34 +443,6 @@ class spell_apothecary_throw_perfume : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 68798 - Concentrated Alluring Perfume Spill
|
||||
class spell_apothecary_perfume_spill : public AuraScript
|
||||
{
|
||||
void OnPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_PERFUME_SPILL_DAMAGE, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_apothecary_perfume_spill::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 68614 - Concentrated Irresistible Cologne Spill
|
||||
class spell_apothecary_cologne_spill : public AuraScript
|
||||
{
|
||||
void OnPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_COLOGNE_SPILL_DAMAGE, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_apothecary_cologne_spill::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_apothecary_hummel()
|
||||
{
|
||||
RegisterShadowfangKeepCreatureAI(boss_apothecary_hummel);
|
||||
@@ -482,6 +452,4 @@ void AddSC_boss_apothecary_hummel()
|
||||
RegisterSpellScript(spell_apothecary_validate_area);
|
||||
RegisterSpellScript(spell_apothecary_throw_cologne);
|
||||
RegisterSpellScript(spell_apothecary_throw_perfume);
|
||||
RegisterSpellScript(spell_apothecary_perfume_spill);
|
||||
RegisterSpellScript(spell_apothecary_cologne_spill);
|
||||
}
|
||||
|
||||
@@ -406,18 +406,9 @@ class spell_baleroc_decimation_blade : public AuraScript
|
||||
// http://www.wowhead.com/spell=99353/decimating-strike
|
||||
class spell_baleroc_decimating_strike : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellEffect({ { spellInfo->Id, EFFECT_2 } })
|
||||
&& ValidateSpellInfo({ uint32(spellInfo->GetEffect(EFFECT_2).CalcValue()) });
|
||||
}
|
||||
|
||||
void ChangeDamage()
|
||||
{
|
||||
int32 healthPctDmg = GetHitUnit()->CountPctFromMaxHealth(GetEffectInfo(EFFECT_0).CalcValue(GetCaster()));
|
||||
int32 flatDmg = GetEffectInfo(EFFECT_2).CalcValue(GetCaster());
|
||||
|
||||
SetHitDamage(healthPctDmg < flatDmg ? flatDmg : healthPctDmg);
|
||||
SetHitDamage(GetHitUnit()->CountPctFromMaxHealth(GetEffectInfo(EFFECT_0).CalcValue(GetCaster())));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -1826,6 +1826,9 @@ class spell_halion_summon_exit_portals : public SpellScriptLoader
|
||||
|
||||
void Register() override
|
||||
{
|
||||
if (m_scriptSpellId != 74805) // Summon Exit Portals
|
||||
return;
|
||||
|
||||
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_halion_summon_exit_portals_SpellScript::SetDest0, EFFECT_0, TARGET_DEST_CASTER);
|
||||
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_halion_summon_exit_portals_SpellScript::SetDest1, EFFECT_1, TARGET_DEST_CASTER);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1323,7 +1323,7 @@ class spell_icehowl_massive_crash : public AuraScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_icehowl_massive_crash::HandleSpeed, EFFECT_2, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_icehowl_massive_crash::HandleSpeed, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -790,7 +790,7 @@ class spell_fjord_worg_disguise_dummy : public AuraScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_fjord_worg_disguise_dummy::AfterRemove, EFFECT_0, SPELL_AURA_FORCE_REACTION, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_fjord_worg_disguise_dummy::AfterRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -310,7 +310,7 @@ class spell_pet_gen_toxic_wasteling_devour : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pet_gen_toxic_wasteling_devour::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pet_gen_toxic_wasteling_devour::HandleScript, EFFECT_1, SPELL_EFFECT_INSTAKILL);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -79,7 +79,6 @@ enum DeathKnightSpells
|
||||
SPELL_DK_DEATH_STRIKE_ENABLER = 89832, // Server Side
|
||||
SPELL_DK_DEATH_STRIKE_HEAL = 45470,
|
||||
SPELL_DK_DEATH_STRIKE_OFFHAND = 66188,
|
||||
SPELL_DK_FESTERING_WOUND = 194310,
|
||||
SPELL_DK_FROST = 137006,
|
||||
SPELL_DK_FROST_FEVER = 55095,
|
||||
SPELL_DK_FROST_SCYTHE = 207230,
|
||||
@@ -808,25 +807,6 @@ private:
|
||||
std::array<uint32, LAST_SECONDS> _damagePerSecond = { };
|
||||
};
|
||||
|
||||
// 85948 - Festering Strike
|
||||
class spell_dk_festering_strike : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_DK_FESTERING_WOUND });
|
||||
}
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_DK_FESTERING_WOUND, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_AURA_STACK, GetEffectValueAsInt()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dk_festering_strike::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 195621 - Frost Fever
|
||||
class spell_dk_frost_fever_proc : public AuraScript
|
||||
{
|
||||
@@ -2045,7 +2025,6 @@ void AddSC_deathknight_spell_scripts()
|
||||
RegisterSpellScript(spell_dk_death_pact);
|
||||
RegisterSpellScript(spell_dk_death_strike);
|
||||
RegisterSpellScript(spell_dk_death_strike_enabler);
|
||||
RegisterSpellScript(spell_dk_festering_strike);
|
||||
RegisterSpellScript(spell_dk_frost_fever_proc);
|
||||
RegisterSpellScript(spell_dk_ghoul_explode);
|
||||
RegisterSpellScript(spell_dk_glyph_of_scourge_strike_script);
|
||||
|
||||
@@ -1449,14 +1449,11 @@ enum Feast
|
||||
|
||||
SPELL_FEAST_FOOD = 45548,
|
||||
SPELL_FEAST_DRINK = 57073,
|
||||
SPELL_BOUNTIFUL_FEAST_DRINK = 66041,
|
||||
SPELL_BOUNTIFUL_FEAST_FOOD = 66478,
|
||||
|
||||
SPELL_GREAT_FEAST_REFRESHMENT = 57338,
|
||||
SPELL_FISH_FEAST_REFRESHMENT = 57398,
|
||||
SPELL_GIGANTIC_FEAST_REFRESHMENT = 58467,
|
||||
SPELL_SMALL_FEAST_REFRESHMENT = 58477,
|
||||
SPELL_BOUNTIFUL_FEAST_REFRESHMENT = 66622
|
||||
SPELL_SMALL_FEAST_REFRESHMENT = 58477
|
||||
};
|
||||
|
||||
/* 57337 - Great Feast
|
||||
@@ -1472,14 +1469,11 @@ class spell_gen_feast : public SpellScript
|
||||
{
|
||||
SPELL_FEAST_FOOD,
|
||||
SPELL_FEAST_DRINK,
|
||||
SPELL_BOUNTIFUL_FEAST_DRINK,
|
||||
SPELL_BOUNTIFUL_FEAST_FOOD,
|
||||
|
||||
SPELL_GREAT_FEAST_REFRESHMENT,
|
||||
SPELL_FISH_FEAST_REFRESHMENT,
|
||||
SPELL_GIGANTIC_FEAST_REFRESHMENT,
|
||||
SPELL_SMALL_FEAST_REFRESHMENT,
|
||||
SPELL_BOUNTIFUL_FEAST_REFRESHMENT
|
||||
SPELL_SMALL_FEAST_REFRESHMENT
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1509,11 +1503,6 @@ class spell_gen_feast : public SpellScript
|
||||
target->CastSpell(target, SPELL_FEAST_DRINK);
|
||||
target->CastSpell(target, SPELL_SMALL_FEAST_REFRESHMENT);
|
||||
break;
|
||||
case SPELL_BOUNTIFUL_FEAST:
|
||||
target->CastSpell(target, SPELL_BOUNTIFUL_FEAST_REFRESHMENT);
|
||||
target->CastSpell(target, SPELL_BOUNTIFUL_FEAST_DRINK);
|
||||
target->CastSpell(target, SPELL_BOUNTIFUL_FEAST_FOOD);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1521,6 +1510,10 @@ class spell_gen_feast : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
// 66477 - Bountiful Feast is fully handled by dbc (triggers 175780/175787 and periodic 65418)
|
||||
if (m_scriptSpellId == SPELL_BOUNTIFUL_FEAST)
|
||||
return;
|
||||
|
||||
OnEffectHitTarget += SpellEffectFn(spell_gen_feast::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
@@ -5302,6 +5295,9 @@ class spell_gen_random_aggro_taunt : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
if (m_scriptSpellId == 81690)
|
||||
return;
|
||||
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_gen_random_aggro_taunt::SelectRandomTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_gen_random_aggro_taunt::HandleTauntEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
@@ -5594,16 +5590,23 @@ class spell_gen_cast_caster_to_target : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo({ uint32(spellInfo->GetEffect(EFFECT_0).CalcValueAsInt()) });
|
||||
return !spellInfo->GetEffect(EFFECT_0).CalcValueAsInt() || ValidateSpellInfo({ uint32(spellInfo->GetEffect(EFFECT_0).CalcValueAsInt()) });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValueAsInt()));
|
||||
uint32 spellId = uint32(GetEffectValueAsInt());
|
||||
if (!spellId)
|
||||
return;
|
||||
|
||||
GetCaster()->CastSpell(GetHitUnit(), spellId);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
if (m_scriptSpellId == 65797) // Starfall
|
||||
OnEffectHitTarget += SpellEffectFn(spell_gen_cast_caster_to_target::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
else
|
||||
OnEffectHitTarget += SpellEffectFn(spell_gen_cast_caster_to_target::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1048,67 +1048,6 @@ private:
|
||||
uint32 _text;
|
||||
};
|
||||
|
||||
// http://www.wowhead.com/item=47499 Flask of the North
|
||||
// 67019 Flask of the North
|
||||
enum FlaskOfTheNorthSpells
|
||||
{
|
||||
SPELL_FLASK_OF_THE_NORTH_SP = 67016,
|
||||
SPELL_FLASK_OF_THE_NORTH_AP = 67017,
|
||||
SPELL_FLASK_OF_THE_NORTH_STR = 67018,
|
||||
};
|
||||
|
||||
class spell_item_flask_of_the_north : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_FLASK_OF_THE_NORTH_SP, SPELL_FLASK_OF_THE_NORTH_AP, SPELL_FLASK_OF_THE_NORTH_STR });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
std::vector<uint32> possibleSpells;
|
||||
switch (caster->GetClass())
|
||||
{
|
||||
case CLASS_WARLOCK:
|
||||
case CLASS_MAGE:
|
||||
case CLASS_PRIEST:
|
||||
possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_SP);
|
||||
break;
|
||||
case CLASS_DEATH_KNIGHT:
|
||||
case CLASS_WARRIOR:
|
||||
possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_STR);
|
||||
break;
|
||||
case CLASS_ROGUE:
|
||||
case CLASS_HUNTER:
|
||||
possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_AP);
|
||||
break;
|
||||
case CLASS_DRUID:
|
||||
case CLASS_PALADIN:
|
||||
possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_SP);
|
||||
possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_STR);
|
||||
break;
|
||||
case CLASS_SHAMAN:
|
||||
possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_SP);
|
||||
possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_AP);
|
||||
break;
|
||||
}
|
||||
|
||||
if (possibleSpells.empty())
|
||||
{
|
||||
TC_LOG_WARN("spells", "Missing spells for class {} in script spell_item_flask_of_the_north", caster->GetClass());
|
||||
return;
|
||||
}
|
||||
|
||||
caster->CastSpell(caster, Trinity::Containers::SelectRandomContainerElement(possibleSpells), true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_item_flask_of_the_north::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
enum FrozenShadoweave
|
||||
{
|
||||
SPELL_SHADOWMEND = 39373
|
||||
@@ -3944,11 +3883,13 @@ class spell_item_water_strider : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellEffect({ { spellInfo->Id, EFFECT_1 } });
|
||||
return ValidateSpellEffect({ { spellInfo->Id, EFFECT_0 } })
|
||||
&& (spellInfo->GetEffects().size() <= EFFECT_1 || ValidateSpellEffect({ { spellInfo->Id, EFFECT_1 } }));
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* /*effect*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (GetSpellInfo()->GetEffects().size() > EFFECT_1)
|
||||
GetTarget()->RemoveAurasDueToSpell(GetSpellInfo()->GetEffect(EFFECT_1).TriggerSpell);
|
||||
}
|
||||
|
||||
@@ -4832,7 +4773,6 @@ void AddSC_item_spell_scripts()
|
||||
RegisterSpellScriptWithArgs(spell_item_feast, "spell_item_gigantic_feast", TEXT_GIGANTIC_FEAST);
|
||||
RegisterSpellScriptWithArgs(spell_item_feast, "spell_item_small_feast", TEXT_SMALL_FEAST);
|
||||
RegisterSpellScriptWithArgs(spell_item_feast, "spell_item_bountiful_feast", TEXT_BOUNTIFUL_FEAST);
|
||||
RegisterSpellScript(spell_item_flask_of_the_north);
|
||||
RegisterSpellScript(spell_item_frozen_shadoweave);
|
||||
RegisterSpellScript(spell_item_gnomish_death_ray);
|
||||
RegisterSpellScript(spell_item_harm_prevention_belt);
|
||||
|
||||
@@ -108,7 +108,6 @@ enum MageSpells
|
||||
SPELL_MAGE_IGNITION_BURST = 1217359,
|
||||
SPELL_MAGE_IMPROVED_COMBUSTION = 383967,
|
||||
SPELL_MAGE_IMPROVED_SCORCH = 383608,
|
||||
SPELL_MAGE_INCANTERS_FLOW = 116267,
|
||||
SPELL_MAGE_LIVING_BOMB_EXPLOSION = 44461,
|
||||
SPELL_MAGE_LIVING_BOMB_PERIODIC = 217694,
|
||||
SPELL_MAGE_MANA_SURGE = 37445,
|
||||
@@ -781,7 +780,7 @@ class spell_mage_fiery_rush_aura : public AuraScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_mage_fiery_rush_aura::AfterRemove, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_mage_fiery_rush_aura::AfterRemove, EFFECT_4, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -896,28 +895,6 @@ class spell_mage_flame_accelerant : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 205029 - Flame On
|
||||
class spell_mage_flame_on : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_MAGE_FIRE_BLAST })
|
||||
&& sSpellCategoryStore.HasRecord(sSpellMgr->AssertSpellInfo(SPELL_MAGE_FIRE_BLAST, DIFFICULTY_NONE)->ChargeCategoryId)
|
||||
&& ValidateSpellEffect({ { spellInfo->Id, EFFECT_2 } });
|
||||
}
|
||||
|
||||
void CalculateAmount(AuraEffect const* /*aurEff*/, SpellEffectValue& amount, bool& canBeRecalculated)
|
||||
{
|
||||
canBeRecalculated = false;
|
||||
amount = -GetPctOf<SpellEffectValue>(GetEffectInfo(EFFECT_2).CalcValue() * int32(IN_MILLISECONDS), sSpellCategoryStore.AssertEntry(sSpellMgr->AssertSpellInfo(SPELL_MAGE_FIRE_BLAST, DIFFICULTY_NONE)->ChargeCategoryId)->ChargeRecoveryTime);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_mage_flame_on::CalculateAmount, EFFECT_1, SPELL_AURA_CHARGE_RECOVERY_MULTIPLIER);
|
||||
}
|
||||
};
|
||||
|
||||
// 205037 - Flame Patch (attached to 2120 - Flamestrike)
|
||||
class spell_mage_flame_patch : public SpellScript
|
||||
{
|
||||
@@ -1364,7 +1341,7 @@ class spell_mage_frozen_orb_damage : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mage_frozen_orb_damage::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mage_frozen_orb_damage::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectLaunchTarget += SpellEffectFn(spell_mage_frozen_orb_damage::HandleLaunch, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_mage_frozen_orb_damage::HandleHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
@@ -2042,7 +2019,7 @@ class spell_mage_improved_combustion : public AuraScript
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_mage_improved_combustion::CalcAmount, EFFECT_1, SPELL_AURA_MOD_RATING);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mage_improved_combustion::UpdatePeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mage_improved_combustion::UpdatePeriodic, EFFECT_4, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2220,46 +2197,6 @@ class spell_mage_glacial_spike : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 1463 - Incanter's Flow
|
||||
class spell_mage_incanters_flow : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_MAGE_INCANTERS_FLOW });
|
||||
}
|
||||
|
||||
void HandlePeriodicTick(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
// Incanter's flow should not cycle out of combat
|
||||
if (!GetTarget()->IsInCombat())
|
||||
return;
|
||||
|
||||
if (Aura* aura = GetTarget()->GetAura(SPELL_MAGE_INCANTERS_FLOW))
|
||||
{
|
||||
uint32 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(), SPELL_MAGE_INCANTERS_FLOW, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mage_incanters_flow::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
|
||||
private:
|
||||
int8 modifier = 1;
|
||||
};
|
||||
|
||||
// 44457 - Living Bomb
|
||||
class spell_mage_living_bomb : public SpellScript
|
||||
{
|
||||
@@ -2620,6 +2557,9 @@ class spell_mage_ring_of_frost : public AuraScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
if (m_scriptSpellId == SPELL_MAGE_RING_OF_FROST_SUMMON)
|
||||
return;
|
||||
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mage_ring_of_frost::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_mage_ring_of_frost::Apply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
}
|
||||
@@ -3050,7 +2990,6 @@ void AddSC_mage_spell_scripts()
|
||||
RegisterSpellScript(spell_mage_firestarter_dots);
|
||||
RegisterSpellScript(spell_mage_fire_blast);
|
||||
RegisterSpellScript(spell_mage_flame_accelerant);
|
||||
RegisterSpellScript(spell_mage_flame_on);
|
||||
RegisterSpellScript(spell_mage_flame_patch);
|
||||
RegisterAreaTriggerAI(at_mage_flame_patch);
|
||||
RegisterAreaTriggerAI(at_mage_frozen_orb);
|
||||
@@ -3082,7 +3021,6 @@ void AddSC_mage_spell_scripts()
|
||||
RegisterSpellScript(spell_mage_imp_mana_gems);
|
||||
RegisterSpellScript(spell_mage_improved_combustion);
|
||||
RegisterSpellScript(spell_mage_improved_scorch);
|
||||
RegisterSpellScript(spell_mage_incanters_flow);
|
||||
RegisterSpellScript(spell_mage_living_bomb);
|
||||
RegisterSpellScript(spell_mage_living_bomb_explosion);
|
||||
RegisterSpellScript(spell_mage_living_bomb_periodic);
|
||||
|
||||
@@ -68,7 +68,6 @@ enum MonkSpells
|
||||
SPELL_MONK_SAVE_THEM_ALL_HEAL_BONUS = 390105,
|
||||
SPELL_MONK_SONG_OF_CHI_JI_STUN = 198909,
|
||||
SPELL_MONK_SOOTHING_MIST = 115175,
|
||||
SPELL_MONK_STANCE_OF_THE_SPIRITED_CRANE = 154436,
|
||||
SPELL_MONK_STAGGER_DAMAGE_AURA = 124255,
|
||||
SPELL_MONK_STAGGER_HEAVY = 124273,
|
||||
SPELL_MONK_STAGGER_LIGHT = 124275,
|
||||
@@ -165,7 +164,6 @@ class spell_monk_crackling_jade_lightning : public AuraScript
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_MONK_STANCE_OF_THE_SPIRITED_CRANE,
|
||||
SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHI_PROC
|
||||
});
|
||||
}
|
||||
@@ -173,7 +171,6 @@ class spell_monk_crackling_jade_lightning : public AuraScript
|
||||
void OnTick(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
if (caster->HasAura(SPELL_MONK_STANCE_OF_THE_SPIRITED_CRANE))
|
||||
caster->CastSpell(caster, SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHI_PROC, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
|
||||
@@ -907,7 +907,7 @@ class spell_pal_grand_crusader : public AuraScript
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_pal_grand_crusader::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_pal_grand_crusader::HandleEffectProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
|
||||
OnEffectProc += AuraEffectProcFn(spell_pal_grand_crusader::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1137,7 +1137,10 @@ class spell_pal_holy_prism_selector : public SpellScript
|
||||
else if (m_scriptSpellId == SPELL_PALADIN_HOLY_PRISM_TARGET_ALLY)
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pal_holy_prism_selector::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
|
||||
if (m_scriptSpellId == SPELL_PALADIN_HOLY_PRISM_TARGET_ENEMY)
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pal_holy_prism_selector::ShareTargets, EFFECT_2, TARGET_UNIT_DEST_AREA_ENTRY);
|
||||
else
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pal_holy_prism_selector::ShareTargets, EFFECT_2, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pal_holy_prism_selector::SaveTargetGuid, EFFECT_0, SPELL_EFFECT_ANY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pal_holy_prism_selector::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
@@ -1452,41 +1455,6 @@ class spell_pal_light_hammer_periodic : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 204074 - Righteous Protector
|
||||
class spell_pal_righteous_protector : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_PALADIN_AVENGING_WRATH, SPELL_PALADIN_GUARDIAN_OF_ANCIENT_KINGS });
|
||||
}
|
||||
|
||||
bool CheckEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
|
||||
{
|
||||
if (SpellInfo const* procSpell = eventInfo.GetSpellInfo())
|
||||
_baseHolyPowerCost = procSpell->CalcPowerCost(POWER_HOLY_POWER, false, eventInfo.GetActor(), eventInfo.GetSchoolMask());
|
||||
else
|
||||
_baseHolyPowerCost.reset();
|
||||
|
||||
return _baseHolyPowerCost.has_value();
|
||||
}
|
||||
|
||||
void HandleEffectProc(AuraEffect* aurEff, ProcEventInfo& /*eventInfo*/)
|
||||
{
|
||||
int32 value = aurEff->GetAmountAsInt() * 100 * _baseHolyPowerCost->Amount;
|
||||
|
||||
GetTarget()->GetSpellHistory()->ModifyCooldown(SPELL_PALADIN_AVENGING_WRATH, Milliseconds(-value));
|
||||
GetTarget()->GetSpellHistory()->ModifyCooldown(SPELL_PALADIN_GUARDIAN_OF_ANCIENT_KINGS, Milliseconds(-value));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckEffectProc += AuraCheckEffectProcFn(spell_pal_righteous_protector::CheckEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
OnEffectProc += AuraEffectProcFn(spell_pal_righteous_protector::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
|
||||
Optional<SpellPowerCost> _baseHolyPowerCost;
|
||||
};
|
||||
|
||||
// 267610 - Righteous Verdict
|
||||
class spell_pal_righteous_verdict : public AuraScript
|
||||
{
|
||||
@@ -2022,7 +1990,6 @@ void AddSC_paladin_spell_scripts()
|
||||
RegisterSpellScript(spell_pal_light_s_beacon);
|
||||
RegisterSpellScript(spell_pal_light_hammer_init_summon);
|
||||
RegisterSpellScript(spell_pal_light_hammer_periodic);
|
||||
RegisterSpellScript(spell_pal_righteous_protector);
|
||||
RegisterSpellScript(spell_pal_righteous_verdict);
|
||||
RegisterSpellScript(spell_pal_selfless_healer);
|
||||
RegisterSpellScript(spell_pal_shield_of_the_righteous);
|
||||
|
||||
@@ -2260,9 +2260,9 @@ class spell_pri_halo_effect_selector : public SpellScript
|
||||
if (Unit* caster = GetSpell() ? GetCaster() : nullptr)
|
||||
{
|
||||
if (caster->HasAura(SPELL_PRIEST_DIVINE_HALO))
|
||||
selectedEffect = caster->HasAura(SPELL_PRIEST_PHANTOM_REACH) ? EFFECT_5 : EFFECT_2;
|
||||
selectedEffect = caster->HasAura(SPELL_PRIEST_PHANTOM_REACH) ? EFFECT_3 : EFFECT_2;
|
||||
else if (caster->HasAura(SPELL_PRIEST_POWER_SURGE))
|
||||
selectedEffect = caster->HasAura(SPELL_PRIEST_PHANTOM_REACH) ? EFFECT_4 : EFFECT_1;
|
||||
selectedEffect = caster->HasAura(SPELL_PRIEST_PHANTOM_REACH) ? EFFECT_3 : EFFECT_1;
|
||||
else
|
||||
selectedEffect = caster->HasAura(SPELL_PRIEST_PHANTOM_REACH) ? EFFECT_3 : EFFECT_0;
|
||||
}
|
||||
@@ -2271,19 +2271,13 @@ class spell_pri_halo_effect_selector : public SpellScript
|
||||
OnEffectLaunch += SpellEffectFn(spell_pri_halo_effect_selector::PreventHitDefaultEffect, EFFECT_0, SPELL_EFFECT_CREATE_AREATRIGGER);
|
||||
|
||||
if (selectedEffect != EFFECT_1)
|
||||
OnEffectLaunch += SpellEffectFn(spell_pri_halo_effect_selector::PreventHitDefaultEffect, EFFECT_1, SPELL_EFFECT_CREATE_AREATRIGGER);
|
||||
OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_pri_halo_effect_selector::PreventUnwantedAura, EFFECT_1, TARGET_UNIT_CASTER);
|
||||
|
||||
if (selectedEffect != EFFECT_2)
|
||||
OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_pri_halo_effect_selector::PreventUnwantedAura, EFFECT_2, TARGET_UNIT_CASTER);
|
||||
OnEffectLaunch += SpellEffectFn(spell_pri_halo_effect_selector::PreventHitDefaultEffect, EFFECT_2, SPELL_EFFECT_CREATE_AREATRIGGER);
|
||||
|
||||
if (selectedEffect != EFFECT_3)
|
||||
OnEffectLaunch += SpellEffectFn(spell_pri_halo_effect_selector::PreventHitDefaultEffect, EFFECT_3, SPELL_EFFECT_CREATE_AREATRIGGER);
|
||||
|
||||
if (selectedEffect != EFFECT_4)
|
||||
OnEffectLaunch += SpellEffectFn(spell_pri_halo_effect_selector::PreventHitDefaultEffect, EFFECT_4, SPELL_EFFECT_CREATE_AREATRIGGER);
|
||||
|
||||
if (selectedEffect != EFFECT_5)
|
||||
OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_pri_halo_effect_selector::PreventUnwantedAura, EFFECT_5, TARGET_UNIT_CASTER);
|
||||
OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_pri_halo_effect_selector::PreventUnwantedAura, EFFECT_3, TARGET_UNIT_CASTER);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2328,7 +2322,7 @@ class spell_pri_halo_shadow : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pri_halo_shadow::HandleHitTarget, EFFECT_6, SPELL_EFFECT_ENERGIZE);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pri_halo_shadow::HandleHitTarget, EFFECT_4, SPELL_EFFECT_ENERGIZE);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -3093,6 +3087,9 @@ class spell_pri_phantasm : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
if (m_scriptSpellId != 114239) // Phantasm triggered spell
|
||||
return;
|
||||
|
||||
OnEffectHit += SpellEffectFn(spell_pri_phantasm::HandleEffectHit, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -374,9 +374,9 @@ class spell_sha_ascendance_restoration : public AuraScript
|
||||
return procInfo.GetHealInfo() && procInfo.GetHealInfo()->GetOriginalHeal() && procInfo.GetSpellInfo()->Id != SPELL_SHAMAN_RESTORATIVE_MISTS_INITIAL;
|
||||
}
|
||||
|
||||
void OnProcHeal(AuraEffect const* aurEff, ProcEventInfo const& procInfo)
|
||||
void OnProcHeal(AuraEffect const* /*aurEff*/, ProcEventInfo const& procInfo)
|
||||
{
|
||||
_healToDistribute += CalculatePct(int32(procInfo.GetHealInfo()->GetOriginalHeal()), aurEff->GetAmount());
|
||||
_healToDistribute += procInfo.GetHealInfo()->GetOriginalHeal();
|
||||
}
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* aurEff)
|
||||
@@ -395,7 +395,7 @@ class spell_sha_ascendance_restoration : public AuraScript
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_sha_ascendance_restoration::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_sha_ascendance_restoration::OnProcHeal, EFFECT_8, SPELL_AURA_DUMMY);
|
||||
OnEffectProc += AuraEffectProcFn(spell_sha_ascendance_restoration::OnProcHeal, EFFECT_14, SPELL_AURA_DUMMY);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sha_ascendance_restoration::HandleEffectPeriodic, EFFECT_6, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
|
||||
@@ -650,7 +650,7 @@ class spell_sha_deluge_healing_rain : public AuraScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sha_deluge_healing_rain::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sha_deluge_healing_rain::HandleEffectPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1384,8 +1384,8 @@ private:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_sha_healing_rain_aura::HandleEffecRemoved, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sha_healing_rain_aura::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_sha_healing_rain_aura::HandleEffecRemoved, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sha_healing_rain_aura::HandleEffectPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
|
||||
ObjectGuid _visualDummy;
|
||||
|
||||
@@ -476,32 +476,6 @@ class spell_warl_chaos_bolt : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 77220 - Mastery: Chaotic Energies
|
||||
class spell_warl_chaotic_energies : public AuraScript
|
||||
{
|
||||
void HandleAbsorb(AuraEffect* /*aurEff*/, DamageInfo& dmgInfo, uint32& absorbAmount)
|
||||
{
|
||||
AuraEffect const* effect1 = GetEffect(EFFECT_1);
|
||||
if (!effect1 || !GetTargetApplication()->HasEffect(EFFECT_1))
|
||||
{
|
||||
PreventDefaultAction();
|
||||
return;
|
||||
}
|
||||
|
||||
// You take ${$s2/3}% reduced damage
|
||||
float damageReductionPct = effect1->GetAmount() / 3;
|
||||
// plus a random amount of up to ${$s2/3}% additional reduced damage
|
||||
damageReductionPct += frand(0.0f, damageReductionPct);
|
||||
|
||||
absorbAmount = CalculatePct(dmgInfo.GetDamage(), damageReductionPct);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectAbsorb += AuraEffectAbsorbFn(spell_warl_chaotic_energies::HandleAbsorb, EFFECT_2);
|
||||
}
|
||||
};
|
||||
|
||||
// 17962 - Conflagrate
|
||||
class spell_warl_conflagrate : public SpellScript
|
||||
{
|
||||
@@ -2040,7 +2014,6 @@ void AddSC_warlock_spell_scripts()
|
||||
RegisterSpellScript(spell_warl_channel_demonfire_periodic);
|
||||
RegisterSpellScript(spell_warl_channel_demonfire_selector);
|
||||
RegisterSpellScript(spell_warl_chaos_bolt);
|
||||
RegisterSpellScript(spell_warl_chaotic_energies);
|
||||
RegisterSpellScript(spell_warl_conflagrate);
|
||||
RegisterSpellScript(spell_warl_create_healthstone);
|
||||
RegisterSpellScript(spell_warl_dark_pact);
|
||||
|
||||
@@ -411,7 +411,7 @@ class spell_warr_avatar : public SpellScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_warr_avatar::HandleRemoveImpairingAuras, EFFECT_5, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_warr_avatar::HandleRemoveImpairingAuras, EFFECT_5, SPELL_EFFECT_APPLY_AURA);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1901,9 +1901,6 @@ class spell_warr_rampaging_ruin : public SpellScript
|
||||
OnEffectLaunchTarget += SpellEffectFn(spell_warr_rampaging_ruin::HandleSingleTarget, EFFECT_4, SPELL_EFFECT_TRIGGER_SPELL);
|
||||
|
||||
OnEffectLaunch += SpellEffectFn(spell_warr_rampaging_ruin::HandleCone, EFFECT_5, SPELL_EFFECT_TRIGGER_SPELL);
|
||||
OnEffectLaunch += SpellEffectFn(spell_warr_rampaging_ruin::HandleCone, EFFECT_6, SPELL_EFFECT_TRIGGER_SPELL);
|
||||
OnEffectLaunch += SpellEffectFn(spell_warr_rampaging_ruin::HandleCone, EFFECT_7, SPELL_EFFECT_TRIGGER_SPELL);
|
||||
OnEffectLaunch += SpellEffectFn(spell_warr_rampaging_ruin::HandleCone, EFFECT_8, SPELL_EFFECT_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -3073,28 +3070,6 @@ class spell_warr_fervor_of_battle : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 228920 - Ravager
|
||||
class spell_warr_ravager : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_WARRIOR_RAVAGER_SUMMON });
|
||||
}
|
||||
|
||||
void SummonRavager(SpellEffIndex /*effIndex*/) const
|
||||
{
|
||||
GetCaster()->CastSpell(*GetHitDest(), SPELL_WARRIOR_RAVAGER_SUMMON, CastSpellExtraArgsInit{
|
||||
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
|
||||
.TriggeringSpell = GetSpell()
|
||||
});
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_warr_ravager::SummonRavager, EFFECT_1, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 228920 - Ravager - Periodic AuraScript
|
||||
class spell_warr_ravager_aurascript : public AuraScript
|
||||
{
|
||||
@@ -3130,7 +3105,7 @@ class spell_warr_ravager_aurascript : public AuraScript
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_warr_ravager_aurascript::HandlePeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_warr_ravager_aurascript::HandlePeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -3268,32 +3243,6 @@ class spell_warr_shattering_throw_damage : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
/// Shattering Throw - 64382
|
||||
class spell_warr_shattering_throw : public SpellScript
|
||||
{
|
||||
enum eSpells
|
||||
{
|
||||
SPELL_WARR_SHATTERING_THROW_DISPEL = 64380
|
||||
};
|
||||
|
||||
void HandleDamage(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
Unit* target = GetHitUnit();
|
||||
if (!caster || !target)
|
||||
return;
|
||||
|
||||
if (Player* player = caster->ToPlayer())
|
||||
if (player->GetPrimarySpecialization() == ChrSpecialization::WarriorFury)
|
||||
SetHitDamage(int32(GetHitDamage() * 1.2f));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_warr_shattering_throw::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_warrior_spell_scripts()
|
||||
{
|
||||
RegisterSpellScript(spell_warr_anger_management_proc);
|
||||
@@ -3378,10 +3327,9 @@ void AddSC_warrior_spell_scripts()
|
||||
RegisterSpellScript(spell_warr_indomitable);
|
||||
RegisterAreaTriggerAI(at_warr_champions_spear);
|
||||
RegisterSpellScript(spell_warr_fervor_of_battle);
|
||||
RegisterSpellAndAuraScriptPair(spell_warr_ravager, spell_warr_ravager_aurascript);
|
||||
RegisterSpellScript(spell_warr_ravager_aurascript);
|
||||
RegisterSpellScript(spell_warr_ravager_damage_rage_gain);
|
||||
RegisterSpellScript(spell_warr_bloodthirst_enrage);
|
||||
RegisterSpellScript(spell_warr_shattering_throw);
|
||||
RegisterSpellScript(spell_warr_shattering_throw_damage);
|
||||
RegisterSpellScript(spell_warr_warriors_wrath);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user