diff options
| author | Meji <alvaro.megias@outlook.com> | 2024-03-30 20:21:28 +0100 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-05-28 16:31:42 +0200 |
| commit | 382eb5063fc63871a41bbe7b8c81db30ad3d741e (patch) | |
| tree | 8ecc2690705b34dd77e3483114610c2cc65aa386 /src/server/scripts/Spells | |
| parent | 5e1f21a0dd75c6cc56ca171360855ed65a623c44 (diff) | |
Core/Creatures: Changed the spawn health field in creature table to a percentage (#29801)
(cherry picked from commit def601b4ff82ec8a90af60408a87cac92fdf070d)
Diffstat (limited to 'src/server/scripts/Spells')
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 72648887d77..ff99d64e1e4 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -5359,6 +5359,32 @@ class spell_gen_random_aggro_taunt : public SpellScript } }; +// 24931 - 100 Health +// 24959 - 500 Health +// 28838 - 1 Health +// 43645 - 1 Health +// 73342 - 1 Health +// 86562 - 1 Health +class spell_gen_set_health : public SpellScript +{ +public: + spell_gen_set_health(uint64 health) : _health(health) { } + + void HandleHit(SpellEffIndex /*effIndex*/) + { + if (GetHitUnit()->IsAlive() && _health > 0) + GetHitUnit()->SetHealth(_health); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_gen_set_health::HandleHit, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + +private: + uint64 _health; +}; + void AddSC_generic_spell_scripts() { RegisterSpellScript(spell_gen_absorb0_hitlimit1); @@ -5535,4 +5561,7 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_major_healing_cooldown_modifier); RegisterSpellScript(spell_gen_major_healing_cooldown_modifier_aura); RegisterSpellScript(spell_gen_random_aggro_taunt); + RegisterSpellScriptWithArgs(spell_gen_set_health, "spell_gen_set_health_1", 1); + RegisterSpellScriptWithArgs(spell_gen_set_health, "spell_gen_set_health_100", 100); + RegisterSpellScriptWithArgs(spell_gen_set_health, "spell_gen_set_health_500", 500); } |
