/* Originally Created by Venice Team The following Modification were made from Venice Team to WoW - Legends */ //Modified by Sal for WoW - Legends Server //Modified by Ascended : Added a twink in structure for WoW - Legends //Modified by Babo : Modified the system automated script of npc for WoW - Legend //Modified by Frank : Modified script to hold with Latest Ascent rev 3.9 - 4.00 //Modified by Ascended : Modified the Strucuture ready for Rev 4.0 Ascent trunks! //Modified by Sal : Holds the standards of latest Ascent 3.9 Npc scripting. /* #include "StdAfx.h" #include "Setup.h" #define SPELL_MORPH 40108; #define SPELL_MORPH2 17167; #ifdef WIN32 #pragma warning(disable:4305) // warning C4305: 'argument' : truncation from 'double' to 'float' #endif class SCRIPT_DECL Morph08 : public GossipScript { public: void GossipHello(Object * pObject, Player* Plr, bool AutoSend); void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code); void GossipEnd(Object * pObject, Player* Plr); void Destroy() { delete this; } }; void Morph08::GossipHello(Object * pObject, Player* Plr, bool AutoSend) { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr); Menu->AddItem(0, "5g Murky the Murloc", 2); Menu->AddItem(0, "5g Cute Kitten", 3); Menu->AddItem(0, "5g Hogger", 4); Menu->AddItem(0, "5g Chicken", 5); Menu->AddItem(0, "10g White Ghost", 6); Menu->AddItem(0, "15g Zombie", 7); Menu->AddItem(0, "20g Blue Moonkin", 8); Menu->AddItem(0, "100g Illadin", 9); Menu->AddItem(0, "100g Madusa", 10); Menu->AddItem(0, "Gods Morph Menu", 11); Menu->AddItem(0, "Leader/Kings Morph Menu", 12); Menu->AddItem(0, "Grunts Morph Menu", 13); Menu->AddItem(0, "Famous People Morph Menu", 14); Menu->AddItem(10, "De Morph", 1); Menu->SendTo(Plr); } void Morph08::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code) { Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL; if(pCreature==NULL) return; switch(IntId) { case 0: // [Back] { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr); Menu->AddItem(0, "5g Murky the Murloc", 2); Menu->AddItem(0, "5g Cute Kitten", 3); Menu->AddItem(0, "5g Hogger", 4); Menu->AddItem(0, "5g Chicken", 5); Menu->AddItem(0, "10g White Ghost", 6); Menu->AddItem(0, "15g Zombie", 7); Menu->AddItem(0, "20g Blue Moonkin", 8); Menu->AddItem(0, "100g Illadin", 9); Menu->AddItem(0, "100g Madusa", 10); Menu->AddItem(0, "Gods Morph Menu", 11); Menu->AddItem(0, "Leader/Kings Morph Menu", 12); Menu->AddItem(0, "Grunts Morph Menu", 13); Menu->AddItem(0, "Famous People Morph Menu", 14); Menu->AddItem(10, "De Morph", 1); Menu->SendTo(Plr); } break; case 1: // Demorph { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Awww! But Morphing is fun!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->DeMorph(); Plr->Gossip_Complete(); } break; case 2: // Murloc { uint32 price = 50000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Murky the Murloc! Please dance for me!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15369); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Murky's Morph is worth 5 gold."); Plr->Gossip_Complete(); } } break; case 3: // Cute Kitten { uint32 price = 50000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Oh My Gosh! Soo Cute! Cmere lil kitty!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 5586); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Kitten's Morph is worth 5 gold."); Plr->Gossip_Complete(); } } break; case 4: // Hogger { uint32 price = 50000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hahaha! Never gets old."); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 384); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Hogger's Morph is worth 5 gold."); Plr->Gossip_Complete(); } } break; case 5: // Chicken { uint32 price = 50000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Chicken on the loose!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 304); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Chicken's Morph is worth 5 gold."); Plr->Gossip_Complete(); } } break; case 6: // Ghost { uint32 price = 100000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Its a.. gg-gghos-ttt! GHOST! Everyone panic!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 10771); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Ghost's Morph is worth 10 gold."); Plr->Gossip_Complete(); } } break; case 7: // Zombie { uint32 price = 150000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Let the Undead arise!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 10030); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Zombie's Morph is worth 15 gold."); Plr->Gossip_Complete(); } } break; case 8: // Blue Moonkin { uint32 price = 200000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Ohh! Its a blue Moonkin! Moonfire spam!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 12237); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Moonkin's Morph is worth 20 gold."); Plr->Gossip_Complete(); } } break; case 9: // Illadin { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Illadin you traitor! Gaurds, attack!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21135); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Illadin's Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 10: // Madusa { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey Madusa! I trained at Twister, i think i can finaly beat you!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 20748); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, a Madusa's Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 11: // Gods Morph Menu { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr); Menu->AddItem(0, "100g: Lynx God", 15); Menu->AddItem(0, "100g: Bear God", 16); Menu->AddItem(0, "100g: Eagle God", 17); Menu->AddItem(0, "100g: Dragonhawk God", 18); Menu->AddItem(0, "[Back]", 0); Menu->SendTo(Plr); } break; case 12: // Leaders/Kings Morph Menu { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr); Menu->AddItem(0, "100g: Fake King of Stormwind", 19); Menu->AddItem(0, "100g: True King of Stormwind", 20); Menu->AddItem(0, "100g: King of Orgrimmar", 21); Menu->AddItem(0, "100g: King of Darnassus", 22); Menu->AddItem(0, "100g: King of Ironforge", 23); Menu->AddItem(0, "100g: King of Thunderbluff", 24); Menu->AddItem(0, "100g: King of Gnomes", 25); Menu->AddItem(0, "100g: Queen of Undercity", 26); Menu->AddItem(0, "100g: King of Exodar", 27); Menu->AddItem(0, "100g: King of Silvermoon", 28); Menu->SendTo(Plr); } break; case 13: // Grunts Morph Menu { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr); Menu->AddItem(0, "50g: Stormwind Grunt", 29); Menu->AddItem(0, "50g: Orgrimmar Grunt", 30); Menu->AddItem(0, "50g: Darnassus Grunt", 31); Menu->AddItem(0, "50g: Ironforge Grunt", 32); Menu->AddItem(0, "50g: Thunderbluff Grunt", 33); Menu->AddItem(0, "50g: Undercity Grunt", 34); Menu->AddItem(0, "50g: Exodar Grunt", 35); Menu->AddItem(0, "50g: Silvermoon Grunt", 36); Menu->SendTo(Plr); } break; case 14: // Famous People's Morph Menu { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr); Menu->AddItem(3, "50g: Mario", 37); Menu->AddItem(3, "50g: Luigi", 38); Menu->AddItem(3, "50g: Link", 39); Menu->AddItem(3, "50g: Paris Hilton", 40); Menu->AddItem(3, "50g: Daisey", 41); Menu->SendTo(Plr); } break; case 15: // Lynx God { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Ahh! The Lynx god of the great Amani!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21632); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any God's Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 16: // Bear God { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Your a bear eh? Wanna tank at Black temple? With all do respect Great god."); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21631); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any God's Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 17: // Eagle God { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I heard you got some moves! Dance pl0x! Pretty please? So what your a god..."); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21630); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any God's Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 18: // Dragon Hawk God { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Why helloo there sexy! Oh shit your a god... Runaway!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21633); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any God's Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 19: // Fake King of Stormwind { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Look, we all know who's the REAL king, go away stupid kid!"); pCreature->Emote(EMOTE_ONESHOT_RUDE); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 11655); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 20: // True King of Stormwind { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I will kneel before you, Great king of Stormwind!"); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 11656); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 21: // King of Ogrimmar { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I will kneel before you, Great king of Ogrimmar!"); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 4527); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 22: // King of Darnassus { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I will kneel before you, Great king of Darnassus!"); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 1542); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 23: // King of Ironforge { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I will kneel before you, Great king of Ironforge!"); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 3597); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 24: // King of Thunderbluff { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I will kneel before you, Great Cow... I mean KING of Thunderbluff!"); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 4307); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 25: // King of Gnomes { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Ummm, i would kneel before you but... i eat gnomes... Dinner time!"); pCreature->Emote(EMOTE_ONESHOT_RUDE); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 7006); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 26: // Queen of Undercity { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I will kneel before you, Great Queen of Undercity!"); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 11657); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 27: // King of Exodar { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I will kneel before you, Great Goat... i mean KING of Undercity!"); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 17822); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 28: // King of Silvermoon { uint32 price = 1000000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Oh great powerful rich King of Silvermoon! You will rise above all! I kneel before you with respect."); pCreature->Emote(EMOTE_ONESHOT_KNEEL); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 17122); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Kings Morph is worth 100 gold."); Plr->Gossip_Complete(); } } break; case 29: // Grunt Of Stormwind { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty soldier of Stormwind!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 3258); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 30: // Grunt Of Orgrimmar { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty soldier of Ogrimmar!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 4259); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 31: // Grunt Of Darnassus { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty soldier of Darnassus!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 2306); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 32: // Grunt Of Ironforge { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty soldier of Ironforge!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 3524); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 33: // Grunt Of Thunderbluff { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty Cow, err, soldier of Thunderbluff!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 2141); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 34: // Grunt Of Undercity { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty soldier of Undercity!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 10699); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 35: // Grunt Of Exodar { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty Goat, err, soldier of Exodar!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 17372); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 36: // Grunt Of Silvermoon { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Hey there mighty soldier of Silvermoon!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15511); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Grunts Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 37: // Mario { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "ZOMG its Mario from Mario brothers! OMG can i pl0x have a autograph?!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 8413); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Famous Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 38: // Luigi { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "ZOMG its Luigi from Mario brothers! OMG can i pl0x have a autograph?!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 8430); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Famous Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 39: // Link { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "ZOMG its Link from Zelda! OMG can i pl0x have a autograph?!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 8012); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Famous Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 40: // Paris Hilton { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Oh no please don't run me over! You WHORE!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 18148); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Famous Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; case 41: // Daisey { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if(currentgold>=price) { int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "ZOMG its Daisey! OMG can i pl0x have a autograph?!"); pCreature->Emote(EMOTE_ONESHOT_CHEER); Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, 2591); Plr->Gossip_Complete(); } else { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Sorry you don't have enough money, any Famous Morph is worth 50 gold."); Plr->Gossip_Complete(); } } break; } }; void Morph08::GossipEnd(Object * pObject, Player* Plr) { GossipScript::GossipEnd(pObject, Plr); } void SetupMorph(ScriptMgr * mgr) { GossipScript * gs = (GossipScript*) new Morph08(); mgr->register_gossip_script(000000, gs); } */