#include "StdAfx.h" #include "Setup.h" #ifdef WIN32 #pragma warning(disable:4305) #endif #define BACK_BUTTON #ifdef BACK_BUTTON #define SendQuickMenu(textid) objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), textid, Plr); \ Menu->SendTo(Plr); #else #define SendQuickMenu(textid) objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), textid, Plr); \ Menu->AddItem(0, "I was looking for something else.", 0); \ Menu->SendTo(Plr); #endif class SCRIPT_DECL StormwindGuard : public GossipScript { public: ADD_GOSSIP_FACTORY_FUNCTION(StormwindGuard); void GossipHello(Creature * pCreature, Player * Plr, bool AutoSend) { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 2593, Plr); Menu->AddItem(0, "Auction House", 1); Menu->AddItem(0, "Bank of Stormwind", 2); Menu->AddItem(0, "Deeprun Tram", 3); Menu->AddItem(0, "The Inn", 4); Menu->AddItem(0, "Gryphon Master", 5); Menu->AddItem(0, "Guild Master", 6); Menu->AddItem(0, "Mailbox", 7); Menu->AddItem(0, "Stable Master", 8); Menu->AddItem(0, "Weapons Trainer", 9); Menu->AddItem(0, "Officers' Lounge", 10); Menu->AddItem(0, "Battlemaster", 11); Menu->AddItem(0, "Class Trainer", 12); Menu->AddItem(0, "Profession Trainer", 13); if(AutoSend) Menu->SendTo(Plr); } void GossipSelectOption(Creature* pCreature, Player* Plr, uint32 Id, uint32 IntId) { GossipMenu * Menu; switch(IntId) { case 0: // Return to start GossipHello(pCreature, Plr, true); break; ////////////////////// // Main menu handlers ///// case 1: // Auction House SendQuickMenu(3834); Plr->Gossip_SendPOI(-8811.46, 667.46, 6, 6, 0, "Stormwind Auction House"); break; case 2: // Bank of Stormwind SendQuickMenu(764); Plr->Gossip_SendPOI(-8916.87, 622.87, 6, 6, 0, "Stormwind Bank"); break; case 3: // Deeprun Tram SendQuickMenu(3813); Plr->Gossip_SendPOI(-8378.88, 554.23, 6, 6, 0, "The Deeprun Tram"); break; case 4: // The Inn SendQuickMenu(3860); Plr->Gossip_SendPOI(-8869.0, 675.4, 6, 6, 0, "The Gilded Rose"); break; case 5: // Gryphon Master SendQuickMenu(879); Plr->Gossip_SendPOI(-8837.0, 493.5, 6, 6, 0, "Stormwind Gryphon Master"); break; case 6: // Guild Master SendQuickMenu(882); Plr->Gossip_SendPOI(-8894.0, 611.2, 6, 6, 0, "Stormwind Vistor`s Center"); break; case 7: // Mailbox SendQuickMenu(3518); Plr->Gossip_SendPOI(-8876.48, 649.18, 6, 6, 0, "Stormwind Mailbox"); break; case 8: // Stable Master SendQuickMenu(5984); Plr->Gossip_SendPOI(-8433.0, 554.7, 6, 6, 0, "Jenova Stoneshield"); break; case 9: // Weapons Master SendQuickMenu(4516); Plr->Gossip_SendPOI(-8797.0, 612.8, 6, 6, 0, "Woo Ping"); break; case 10: // Officers' Lounge SendQuickMenu(7047); Plr->Gossip_SendPOI(-8759.92, 399.69, 6, 6, 0, "Champions` Hall"); break; case 11: // Battlemaster { SendQuickMenu(7499); Plr->Gossip_SendPOI(-8393.62, 274.21, 6, 6, 0, "Battlemasters Stormwind"); }break; case 12: // Class Trainers { objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 4264, Plr); Menu->AddItem( 0, "Druid" , 14); Menu->AddItem( 0, "Hunter" , 15); Menu->AddItem( 0, "Mage" , 16); Menu->AddItem( 0, "Paladin" , 17); Menu->AddItem( 0, "Priest" , 18); Menu->AddItem( 0, "Rogue" , 19); Menu->AddItem( 0, "Shaman" , 20); Menu->AddItem( 0, "Warlock" , 21); Menu->AddItem( 0, "Warrior" , 22); Menu->SendTo(Plr); }break; case 13: // Profession Trainers { objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 4264, Plr); Menu->AddItem( 0, "Alchemy" , 23); Menu->AddItem( 0, "Blacksmithing" , 24); Menu->AddItem( 0, "Cooking" , 25); Menu->AddItem( 0, "Enchanting" , 26); Menu->AddItem( 0, "Engineering" , 27); Menu->AddItem( 0, "First Aid" , 28); Menu->AddItem( 0, "Fishing" , 29); Menu->AddItem( 0, "Herbalism" , 30); Menu->AddItem( 0, "Leatherworking" , 31); Menu->AddItem( 0, "Mining" , 32); Menu->AddItem( 0, "Skinning" , 33); Menu->AddItem( 0, "Tailoring" , 34); Menu->SendTo(Plr); }break; //////////////// // Class trainer submenu //////// case 14: //Druid { Plr->Gossip_SendPOI(-8751.0, 1124.5, 6, 6, 0, "The Park"); SendQuickMenu(902); }break; case 15: //Hunter { Plr->Gossip_SendPOI(-8413.0, 541.5, 6, 6, 0, "Hunter Lodge"); SendQuickMenu(905); }break; case 16: //Mage { Plr->Gossip_SendPOI(-9012.0, 867.6, 6, 6, 0, "Wizard`s Sanctum"); SendQuickMenu(899); }break; case 17: //Paladin { Plr->Gossip_SendPOI(-8577.0, 881.7, 6, 6, 0, "Cathedral Of Light"); SendQuickMenu(904); }break; case 18: //Priest { Plr->Gossip_SendPOI(-8512.0, 862.4, 6, 6, 0, "Cathedral Of Light"); SendQuickMenu(903); }break; case 19: //Rogue { Plr->Gossip_SendPOI(-8753.0, 367.8, 6, 6, 0, "Stormwind - Rogue House"); SendQuickMenu(900); }break; case 20: //Shaman { Plr->Gossip_SendPOI(-9031.54, 549.87, 6, 6, 0, "Farseer Umbrua"); SendQuickMenu(10106); }break; case 21: //Warlock { Plr->Gossip_SendPOI(-8948.91, 998.35, 6, 6, 0, "The Slaughtered Lamb"); SendQuickMenu(906); }break; case 22: //Warrior { Plr->Gossip_SendPOI(-8714.14, 334.96, 6, 6, 0, "Stormwind Barracks"); SendQuickMenu(901); }break; case 23: //Alchemy { Plr->Gossip_SendPOI(-8988.0, 759.60, 6, 6, 0, "Alchemy Needs"); SendQuickMenu(919); }break; case 24: //Blacksmithing { Plr->Gossip_SendPOI(-8424.0, 616.9, 6, 6, 0, "Therum Deepforge"); SendQuickMenu(920); }break; case 25: //Cooking { Plr->Gossip_SendPOI(-8611.0, 364.6, 6, 6, 0, "Pig and Whistle Tavern"); SendQuickMenu(921); }break; case 26: //Enchanting { Plr->Gossip_SendPOI(-8858.0, 803.7, 6, 6, 0, "Lucan Cordell"); SendQuickMenu(941); }break; case 27: //Engineering { Plr->Gossip_SendPOI(-8347.0, 644.1, 6, 6, 0, "Lilliam Sparkspindle"); SendQuickMenu(922); }break; case 28: //First Aid { Plr->Gossip_SendPOI(-8513.0, 801.8, 6, 6, 0, "Shaina Fuller"); SendQuickMenu(923); }break; case 29: //Fishing { Plr->Gossip_SendPOI(-8803.0, 767.5, 6, 6, 0, "Arnold Leland"); SendQuickMenu(940); }break; case 30: //Herbalism { Plr->Gossip_SendPOI(-8967.0, 779.5, 6, 6, 0, "Alchemy Needs"); SendQuickMenu(924); }break; case 31: //Leatherworking { Plr->Gossip_SendPOI(-8726.0, 477.4, 6, 6, 0, "The Protective Hide"); SendQuickMenu(925); }break; case 32: //Mining { Plr->Gossip_SendPOI(-8434.0, 692.8, 6, 6, 0, "Gelman Stonehand"); SendQuickMenu(927); }break; case 33: //Skinning { Plr->Gossip_SendPOI(-8716.0, 469.4, 6, 6, 0, "The Protective Hide"); SendQuickMenu(928); }break; case 34: //Tailoring { Plr->Gossip_SendPOI(-8938.0, 800.7, 6, 6, 0, "Duncan`s Textiles"); SendQuickMenu(929); }break; } } }; void SetupGuardGossip(ScriptMgr * mgr) { mgr->register_gossip_script(1423, &GoldshireGuard::Create); mgr->register_gossip_script(68, &StormwindGuard::Create); mgr->register_gossip_script(1976, &StormwindGuard::Create); }