Scripts/Spells: Migrate Some Scripted Spells to Scripts (#23185)

* Migrate spells to scripts

* Simplify code

* I need to sleep

* Update chapter1.cpp

* Use actual damage

* No need in null check here
This commit is contained in:
Sorikoff
2019-04-16 07:49:39 +00:00
committed by Giacomo Pozzoni
parent 50d32fe493
commit 2cfaeb1400
8 changed files with 283 additions and 168 deletions
@@ -1767,6 +1767,23 @@ class spell_steal_essence_visual : public AuraScript
}
};
// 46642 - 5,000 Gold
class spell_gen_5000_gold : public SpellScript
{
PrepareSpellScript(spell_gen_5000_gold);
void HandleScript(SpellEffIndex /*effIndex*/)
{
if (Player* target = GetHitPlayer())
target->ModifyMoney(5000 * GOLD);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_5000_gold::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
enum TransporterBackfires
{
SPELL_TRANSPORTER_MALFUNCTION_POLYMORPH = 23444,
@@ -2861,6 +2878,23 @@ class spell_gen_remove_flight_auras : public SpellScript
}
};
// 20589 - Escape artist
// 30918 - Improved Sprint
class spell_gen_remove_impairing_auras : public SpellScript
{
PrepareSpellScript(spell_gen_remove_impairing_auras);
void HandleScriptEffect(SpellEffIndex /* effIndex */)
{
GetHitUnit()->RemoveMovementImpairingAuras(true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_remove_impairing_auras::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
// 23493 - Restoration
// 24379 - Restoration
class spell_gen_restoration : public AuraScript
@@ -4259,6 +4293,7 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_ethereal_pet_onsummon);
RegisterSpellScript(spell_ethereal_pet_aura_remove);
RegisterAuraScript(spell_steal_essence_visual);
RegisterSpellScript(spell_gen_5000_gold);
RegisterSpellScript(spell_gen_gadgetzan_transporter_backfire);
RegisterAuraScript(spell_gen_gift_of_naaru);
RegisterSpellScript(spell_gen_gnomish_transporter);
@@ -4300,6 +4335,7 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_gen_pet_summoned);
RegisterSpellScript(spell_gen_profession_research);
RegisterSpellScript(spell_gen_remove_flight_auras);
RegisterSpellScript(spell_gen_remove_impairing_auras);
RegisterAuraScript(spell_gen_restoration);
RegisterSpellAndAuraScriptPair(spell_gen_replenishment, spell_gen_replenishment_aura);
RegisterAuraScript(spell_gen_remove_on_health_pct);