aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Examples/example_spell.cpp2
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp45
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();