Valiance keep Cannoneer script to activate cannon.

--HG--
branch : trunk
This commit is contained in:
2010-04-03 14:01:00 -02:30
parent bcfd44f978
commit 85d3dc8b71
2 changed files with 49 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
UPDATE `creature_template` SET `ScriptName`= 'npc_valiance_keep_cannoneer' WHERE `entry`=25306;
+48
View File
@@ -2196,6 +2196,49 @@ CreatureAI* GetAI_npc_seaforium_depth_charge(Creature* pCreature)
return new npc_seaforium_depth_chargeAI(pCreature);
}
/*######
## Help Those That Cannot Help Themselves, Quest 11876
######*/
enum eValiancekeepcannons
{
GO_VALIANCE_KEEP_CANNON_1 = 187560,
GO_VALIANCE_KEEP_CANNON_2 = 188692
};
struct npc_valiance_keep_cannoneerAI : public ScriptedAI
{
npc_valiance_keep_cannoneerAI(Creature* c) : ScriptedAI(c) {}
uint32 uiTimer;
void Reset()
{
uiTimer = urand(13000,18000);
}
void UpdateAI(const uint32 diff)
{
if (uiTimer <= diff)
{
m_creature->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
GameObject* pCannon;
if ((pCannon = m_creature->FindNearestGameObject(GO_VALIANCE_KEEP_CANNON_1,10)) || (pCannon = m_creature->FindNearestGameObject(GO_VALIANCE_KEEP_CANNON_2,10)))
pCannon->Use(m_creature);
uiTimer = urand(13000,18000);
}
else uiTimer -= diff;
if (!UpdateVictim())
return;
}
};
CreatureAI* GetAI_npc_valiance_keep_cannoneer(Creature* pCreature)
{
return new npc_valiance_keep_cannoneerAI(pCreature);
}
void AddSC_borean_tundra()
{
@@ -2347,4 +2390,9 @@ void AddSC_borean_tundra()
newscript->Name = "npc_seaforium_depth_charge";
newscript->GetAI = &GetAI_npc_seaforium_depth_charge;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "npc_valiance_keep_cannoneer";
newscript->GetAI = &GetAI_npc_valiance_keep_cannoneer;
newscript->RegisterSelf();
}