Core/Battlefield: correct wintergrasp faction for horde (thx kirkita), added grab passenger spell as per sniffs.

This commit is contained in:
Kandera
2012-08-20 13:51:58 -04:00
parent 17e2c3a800
commit 9dd3789719
4 changed files with 36 additions and 2 deletions
+2 -1
View File
@@ -13,10 +13,11 @@ UPDATE `creature_template` SET `ScriptName`= 'npc_wg_quest_giver' WHERE `entry`
-- Wintergrasp vehicle teleport GO script -- Wintergrasp vehicle teleport GO script
UPDATE `gameobject_template` SET `ScriptName`= 'go_wg_vehicle_teleporter' WHERE `entry`=192951; -- Vehicle Teleporter UPDATE `gameobject_template` SET `ScriptName`= 'go_wg_vehicle_teleporter' WHERE `entry`=192951; -- Vehicle Teleporter
DELETE FROM `spell_script_names` WHERE `spell_id` IN (61409, 56662, 56664, 56659, 49899); DELETE FROM `spell_script_names` WHERE `spell_id` IN (61409, 56662, 56664, 56659, 49899, 61178);
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(61409, 'spell_wintergrasp_force_building'), (61409, 'spell_wintergrasp_force_building'),
(56659, 'spell_wintergrasp_force_building'), (56659, 'spell_wintergrasp_force_building'),
(56662, 'spell_wintergrasp_force_building'), (56662, 'spell_wintergrasp_force_building'),
(56664, 'spell_wintergrasp_force_building'), (56664, 'spell_wintergrasp_force_building'),
(49899, 'spell_wintergrasp_force_building'); (49899, 'spell_wintergrasp_force_building');
(61178, 'spell_wintergrasp_grab_passenger');
@@ -563,6 +563,8 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature)
return; return;
} }
} }
if (creature->GetOwner())
creature->CastSpell(creature->GetOwner(),SPELL_GRAB_PASSENGER,true);
break; break;
} }
} }
@@ -29,7 +29,7 @@
const uint32 VehNumWorldState[2] = { 3680, 3490 }; const uint32 VehNumWorldState[2] = { 3680, 3490 };
const uint32 MaxVehNumWorldState[2] = { 3681, 3491 }; const uint32 MaxVehNumWorldState[2] = { 3681, 3491 };
const uint32 ClockWorldState[2] = { 3781, 4354 }; 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 }; const float WintergraspStalkerPos[4] = { 0, 0, 0, 0 };
class BattlefieldWG; class BattlefieldWG;
@@ -59,6 +59,7 @@ enum WintergraspSpells
SPELL_GREATEST_HONOR = 58557, SPELL_GREATEST_HONOR = 58557,
SPELL_ALLIANCE_FLAG = 14268, SPELL_ALLIANCE_FLAG = 14268,
SPELL_HORDE_FLAG = 14267, SPELL_HORDE_FLAG = 14267,
SPELL_GRAB_PASSENGER = 61178,
// Reward spells // Reward spells
SPELL_VICTORY_REWARD = 56902, SPELL_VICTORY_REWARD = 56902,
@@ -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 class achievement_wg_didnt_stand_a_chance : public AchievementCriteriaScript
{ {
public: public:
@@ -516,6 +543,8 @@ public:
} }
}; };
void AddSC_wintergrasp() void AddSC_wintergrasp()
{ {
new npc_wg_queue(); new npc_wg_queue();
@@ -524,6 +553,7 @@ void AddSC_wintergrasp()
new npc_wg_quest_giver(); new npc_wg_quest_giver();
new achievement_wg_didnt_stand_a_chance(); new achievement_wg_didnt_stand_a_chance();
new spell_wintergrasp_force_building(); new spell_wintergrasp_force_building();
new spell_wintergrasp_grab_passenger();
new go_wg_vehicle_teleporter(); new go_wg_vehicle_teleporter();
} }