aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKandera <KanderaDev@gmail.com>2012-03-26 10:46:31 -0400
committerKandera <KanderaDev@gmail.com>2012-08-20 13:51:58 -0400
commit9dd3789719352cc45521a57325e51676f84f5b43 (patch)
tree5328df22268d0f1d438aaa37efb7983fca55a846 /src
parent17e2c3a800bbb284680fd275cbafd96b03b9da23 (diff)
Core/Battlefield: correct wintergrasp faction for horde (thx kirkita), added grab passenger spell as per sniffs.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp2
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.h3
-rw-r--r--src/server/scripts/Northrend/wintergrasp.cpp30
3 files changed, 34 insertions, 1 deletions
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
index decc22105a4..caac130eccf 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
@@ -563,6 +563,8 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature)
return;
}
}
+ if (creature->GetOwner())
+ creature->CastSpell(creature->GetOwner(),SPELL_GRAB_PASSENGER,true);
break;
}
}
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h
index b2356e61d64..c711010bafd 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.h
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h
@@ -29,7 +29,7 @@
const uint32 VehNumWorldState[2] = { 3680, 3490 };
const uint32 MaxVehNumWorldState[2] = { 3681, 3491 };
const uint32 ClockWorldState[2] = { 3781, 4354 };
-const uint32 WintergraspFaction[3] = { 1, 116, 35 };
+const uint32 WintergraspFaction[3] = { 1, 2, 35 };
const float WintergraspStalkerPos[4] = { 0, 0, 0, 0 };
class BattlefieldWG;
@@ -59,6 +59,7 @@ enum WintergraspSpells
SPELL_GREATEST_HONOR = 58557,
SPELL_ALLIANCE_FLAG = 14268,
SPELL_HORDE_FLAG = 14267,
+ SPELL_GRAB_PASSENGER = 61178,
// Reward spells
SPELL_VICTORY_REWARD = 56902,
diff --git a/src/server/scripts/Northrend/wintergrasp.cpp b/src/server/scripts/Northrend/wintergrasp.cpp
index ff21f34d1e2..d765e3363af 100644
--- a/src/server/scripts/Northrend/wintergrasp.cpp
+++ b/src/server/scripts/Northrend/wintergrasp.cpp
@@ -492,6 +492,33 @@ class spell_wintergrasp_force_building : public SpellScriptLoader
}
};
+class spell_wintergrasp_grab_passenger : public SpellScriptLoader
+{
+ public:
+ spell_wintergrasp_grab_passenger() : SpellScriptLoader("spell_wintergrasp_grab_passenger") { }
+
+ class spell_wintergrasp_grab_passenger_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_wintergrasp_grab_passenger_SpellScript);
+
+ void HandleScript(SpellEffIndex effIndex)
+ {
+ if (Player* target = GetHitPlayer())
+ GetCaster()->GetVehicleKit()->AddPassenger(target);
+ }
+
+ void Register()
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_wintergrasp_grab_passenger_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_wintergrasp_grab_passenger_SpellScript();
+ }
+};
+
class achievement_wg_didnt_stand_a_chance : public AchievementCriteriaScript
{
public:
@@ -516,6 +543,8 @@ public:
}
};
+
+
void AddSC_wintergrasp()
{
new npc_wg_queue();
@@ -524,6 +553,7 @@ void AddSC_wintergrasp()
new npc_wg_quest_giver();
new achievement_wg_didnt_stand_a_chance();
new spell_wintergrasp_force_building();
+ new spell_wintergrasp_grab_passenger();
new go_wg_vehicle_teleporter();
}