rendered paste body#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);
}