diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/northrend/borean_tundra.cpp | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp index 9f0bd982233..0788c828ba2 100644 --- a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp +++ b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp @@ -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(); } |