diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Examples/example_spell.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 45 |
2 files changed, 46 insertions, 1 deletions
diff --git a/src/server/scripts/Examples/example_spell.cpp b/src/server/scripts/Examples/example_spell.cpp index 82808bb79c3..453a9414234 100644 --- a/src/server/scripts/Examples/example_spell.cpp +++ b/src/server/scripts/Examples/example_spell.cpp @@ -345,7 +345,7 @@ class spell_ex_463 : public SpellScriptLoader { sLog->outString("Area aura checks if unit is a valid target for it!"); // in our script we allow only players to be affected - return target->GetTypeId == TYPEID_PLAYER; + return target->GetTypeId() == TYPEID_PLAYER; } void Register() { diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 76b0f542104..ddf4324a715 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -90,6 +90,49 @@ class spell_gen_aura_of_anger : public SpellScriptLoader } }; +class spell_gen_av_drekthar_presence : public SpellScriptLoader +{ + public: + spell_gen_av_drekthar_presence() : SpellScriptLoader("spell_gen_av_drekthar_presence") { } + + class spell_gen_av_drekthar_presence_AuraScript : public AuraScript + { + PrepareAuraScript(spell_gen_av_drekthar_presence_AuraScript); + + bool CheckAreaTarget(Unit* target) + { + switch(target->GetEntry()) + { + // alliance + case 14762: // Dun Baldar North Marshal + case 14763: // Dun Baldar South Marshal + case 14764: // Icewing Marshal + case 14765: // Stonehearth Marshal + case 11948: // Vandar Stormspike + // horde + case 14772: // East Frostwolf Warmaster + case 14776: // Tower Point Warmaster + case 14773: // Iceblood Warmaster + case 14777: // West Frostwolf Warmaster + case 11946: // Drek'thar + return true; + default: + return false; + break; + } + } + void Register() + { + DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_gen_av_drekthar_presence_AuraScript::CheckAreaTarget); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_gen_av_drekthar_presence_AuraScript(); + } +}; + // 46394 Brutallus Burn class spell_gen_burn_brutallus : public SpellScriptLoader { @@ -1062,10 +1105,12 @@ class spell_gen_lifeblood : public SpellScriptLoader } }; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); new spell_gen_aura_of_anger(); + new spell_gen_av_drekthar_presence(); new spell_gen_burn_brutallus(); new spell_gen_leeching_swarm(); new spell_gen_parachute(); |