diff options
| author | DDuarte <dnpd.dd@gmail.com> | 2014-09-14 14:56:35 +0100 |
|---|---|---|
| committer | DDuarte <dnpd.dd@gmail.com> | 2014-09-14 14:56:35 +0100 |
| commit | a432bc7168a74d5b890bad6fea03d95004172232 (patch) | |
| tree | 1d9fee170fa2c38e6ee66bdf4529a8cb58216aa5 /src/server/scripts/Spells | |
| parent | a91e0eed807d3b9a0af16d37abe6fc2114e286b5 (diff) | |
| parent | 716c2918d274c859297921c924a3e5aa9cd042f1 (diff) | |
Merge remote-tracking branch 'origin/master' into 4.3.4
Diffstat (limited to 'src/server/scripts/Spells')
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 35d3985cfa1..8d066c615fc 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3670,6 +3670,37 @@ class spell_gen_gm_freeze : public SpellScriptLoader } }; +class spell_gen_stand : public SpellScriptLoader +{ +public: + spell_gen_stand() : SpellScriptLoader("spell_gen_stand") { } + + class spell_gen_stand_SpellScript : public SpellScript + { + PrepareSpellScript(spell_gen_stand_SpellScript); + + void HandleScript(SpellEffIndex /*eff*/) + { + Creature* target = GetHitCreature(); + if (!target) + return; + + target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + target->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_STAND); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_gen_stand_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const override + { + return new spell_gen_stand_SpellScript(); + } +}; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); @@ -3753,4 +3784,5 @@ void AddSC_generic_spell_scripts() new spell_gen_whisper_gulch_yogg_saron_whisper(); new spell_gen_eject_all_passengers(); new spell_gen_gm_freeze(); + new spell_gen_stand(); } |
