*Add script for iruk and "aces high". By manuel

--HG--
branch : trunk
This commit is contained in:
megamage
2009-09-01 11:26:26 -05:00
parent 55981782f0
commit 6c4971ee79
4 changed files with 122 additions and 1 deletions
@@ -25,6 +25,8 @@ EndScriptData */
npc_fizzcrank_fullthrottle
npc_surristrasz
npc_tiare
npc_iruk
npc_corastrasza
EndContentData */
#include "precompiled.h"
@@ -359,6 +361,89 @@ bool GossipSelect_npc_keristrasza(Player* pPlayer, Creature* pCreature, uint32 u
return true;
}
/*######
## npc_corastrasza
######*/
#define GOSSIP_ITEM_C_1 "I... I think so..."
enum
{
SPELL_SUMMON_WYRMREST_SKYTALON = 61240,
SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC = 61244,
QUEST_ACES_HIGH = 13414
};
bool GossipHello_npc_corastrasza(Player* pPlayer, Creature* pCreature)
{
if (pCreature->isQuestGiver())
pPlayer->PrepareQuestMenu(pCreature->GetGUID());
if (pPlayer->GetQuestStatus(QUEST_ACES_HIGH) == QUEST_STATUS_INCOMPLETE)
{
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_C_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
}
pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID());
return true;
}
bool GossipSelect_npc_corastrasza(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
if (uiAction == GOSSIP_ACTION_INFO_DEF+1)
{
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->CastSpell(pPlayer, SPELL_SUMMON_WYRMREST_SKYTALON, true);
pPlayer->CastSpell(pPlayer, SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC, true);
}
return true;
}
/*######
## npc_iruk
######*/
#define GOSSIP_ITEM_I "Give me the Issliruk's Totem" // This is not offilike.
enum
{
QUEST_SPIRITS_WATCH_OVER_US = 11961,
SPELL_CREATURE_TOTEM_OF_ISSLIRUK = 46816,
GOSSIP_TEXT_I = 12585 // This is blizzlike.
};
bool GossipHello_npc_iruk(Player* pPlayer, Creature* pCreature)
{
if (pPlayer->GetQuestStatus(QUEST_SPIRITS_WATCH_OVER_US) == QUEST_STATUS_INCOMPLETE)
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_I, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
pPlayer->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXT_I, pCreature->GetGUID());
return true;
}
bool GossipSelect_npc_iruk(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
switch(uiAction)
{
case GOSSIP_ACTION_INFO_DEF+1:
pPlayer->CastSpell(pPlayer, SPELL_CREATURE_TOTEM_OF_ISSLIRUK, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
}
return true;
}
void AddSC_borean_tundra()
{
Script *newscript;
@@ -396,4 +481,16 @@ void AddSC_borean_tundra()
newscript->pGossipHello = &GossipHello_npc_keristrasza;
newscript->pGossipSelect = &GossipSelect_npc_keristrasza;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "npc_corastrasza";
newscript->pGossipHello = &GossipHello_npc_corastrasza;
newscript->pGossipSelect = &GossipSelect_npc_corastrasza;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "npc_iruk";
newscript->pGossipHello = &GossipHello_npc_iruk;
newscript->pGossipSelect = &GossipSelect_npc_iruk;
newscript->RegisterSelf();
}