Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum Tokens
- {
- Vote_Token = 44791
- };
- class PveTitleNpc : public CreatureScript
- {
- public:
- PveTitleNpc() : CreatureScript("PveTitleNpc"){}
- bool OnGossipHello(Player* player, Creature* creature)
- {
- player->ADD_GOSSIP_ITEM(4, "Raiding / Dungeon Titles", GOSSIP_SENDER_MAIN, 2);
- player->ADD_GOSSIP_ITEM(4, "Reputation Titles", GOSSIP_SENDER_MAIN, 3);
- player->ADD_GOSSIP_ITEM(4, "Other Titles", GOSSIP_SENDER_MAIN, 4);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- return true;
- }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case 2:
- player->ADD_GOSSIP_ITEM(4, "Champion Of The Naaru", GOSSIP_SENDER_MAIN, 5);
- player->ADD_GOSSIP_ITEM(4, "Hand Of Adal", GOSSIP_SENDER_MAIN, 6);
- player->ADD_GOSSIP_ITEM(4, "The Patient", GOSSIP_SENDER_MAIN, 7);
- player->ADD_GOSSIP_ITEM(4, "The Undying", GOSSIP_SENDER_MAIN, 8);
- player->ADD_GOSSIP_ITEM(4, "The Immortal", GOSSIP_SENDER_MAIN, 9);
- player->ADD_GOSSIP_ITEM(4, "Of The Nightfall", GOSSIP_SENDER_MAIN, 10);
- player->ADD_GOSSIP_ITEM(4, "Twilight Vanquisher", GOSSIP_SENDER_MAIN, 11);
- player->ADD_GOSSIP_ITEM(4, "Obsidium Slayer", GOSSIP_SENDER_MAIN, 12);
- player->ADD_GOSSIP_ITEM(4, "Magic Seeker", GOSSIP_SENDER_MAIN, 13);
- player->ADD_GOSSIP_ITEM(4, "Starcaller", GOSSIP_SENDER_MAIN, 14);
- player->ADD_GOSSIP_ITEM(4, "The Astral Walker", GOSSIP_SENDER_MAIN, 15);
- player->ADD_GOSSIP_ITEM(4, "Herald Of Titans", GOSSIP_SENDER_MAIN, 16);
- player->ADD_GOSSIP_ITEM(4, "The Celestial Defender", GOSSIP_SENDER_MAIN, 17);
- player->ADD_GOSSIP_ITEM(4, "Conqueror Of Ulduar", GOSSIP_SENDER_MAIN, 18);
- player->ADD_GOSSIP_ITEM(4, "Champion Of Ulduar", GOSSIP_SENDER_MAIN, 19);
- player->ADD_GOSSIP_ITEM(4, "Death's Demise", GOSSIP_SENDER_MAIN, 20);
- player->ADD_GOSSIP_ITEM(4, "Conqueror Of Naxxramas", GOSSIP_SENDER_MAIN, 21);
- player->ADD_GOSSIP_ITEM(4, "Champion Of The Frozen Wastes", GOSSIP_SENDER_MAIN, 22);
- player->ADD_GOSSIP_ITEM(4, "The Argent Defender", GOSSIP_SENDER_MAIN, 23);
- player->ADD_GOSSIP_ITEM(4, "The Kingslayer", GOSSIP_SENDER_MAIN, 24);
- player->ADD_GOSSIP_ITEM(4, "Bane Of The Fallen King", GOSSIP_SENDER_MAIN, 25);
- player->ADD_GOSSIP_ITEM(4, "The Light Of Dawn", GOSSIP_SENDER_MAIN, 26);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- break;
- case 3: // Reputation Titles
- player->ADD_GOSSIP_ITEM(4, "Of The Shattered Sun", GOSSIP_SENDER_MAIN, 27);
- player->ADD_GOSSIP_ITEM(4, "The Exhalted", GOSSIP_SENDER_MAIN, 28);
- player->ADD_GOSSIP_ITEM(4, "Ambassador", GOSSIP_SENDER_MAIN, 29);
- player->ADD_GOSSIP_ITEM(4, "The Diplomat", GOSSIP_SENDER_MAIN, 30);
- player->ADD_GOSSIP_ITEM(4, "Bloodsail Admiral", GOSSIP_SENDER_MAIN, 31);
- player->ADD_GOSSIP_ITEM(4, "Crusader", GOSSIP_SENDER_MAIN, 32);
- player->ADD_GOSSIP_ITEM(4, "The Insane", GOSSIP_SENDER_MAIN, 33);
- player->ADD_GOSSIP_ITEM(4, "Guardian Of Cenarius", GOSSIP_SENDER_MAIN, 34);
- player->ADD_GOSSIP_ITEM(4, "The Argent Champion", GOSSIP_SENDER_MAIN, 35);
- player->ADD_GOSSIP_ITEM(4, "Of The Ashen Verdict", GOSSIP_SENDER_MAIN, 36);
- player->ADD_GOSSIP_ITEM(4, "Of Darnassus", GOSSIP_SENDER_MAIN, 37);
- player->ADD_GOSSIP_ITEM(4, "Of Gnomeregan", GOSSIP_SENDER_MAIN, 38);
- player->ADD_GOSSIP_ITEM(4, "Of Ironforge", GOSSIP_SENDER_MAIN, 39);
- player->ADD_GOSSIP_ITEM(4, "Of Stormwind", GOSSIP_SENDER_MAIN, 40);
- player->ADD_GOSSIP_ITEM(4, "Of The Exodar", GOSSIP_SENDER_MAIN, 41);
- player->ADD_GOSSIP_ITEM(4, "Of Orgrimmar", GOSSIP_SENDER_MAIN, 42);
- player->ADD_GOSSIP_ITEM(4, "Of Sen'jin", GOSSIP_SENDER_MAIN, 43);
- player->ADD_GOSSIP_ITEM(4, "Of Silvermoon", GOSSIP_SENDER_MAIN, 44);
- player->ADD_GOSSIP_ITEM(4, "Of Thunderbluff", GOSSIP_SENDER_MAIN, 45);
- player->ADD_GOSSIP_ITEM(4, "Of The Undercity", GOSSIP_SENDER_MAIN, 46);
- player->ADD_GOSSIP_ITEM(4, "For The Alliance", GOSSIP_SENDER_MAIN, 47);
- player->ADD_GOSSIP_ITEM(4, "For The Horde", GOSSIP_SENDER_MAIN, 48);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- break;
- case 4: // Other Titles
- player->ADD_GOSSIP_ITEM(4, "Scarab Lord", GOSSIP_SENDER_MAIN, 49);
- player->ADD_GOSSIP_ITEM(4, "Brewmaster", GOSSIP_SENDER_MAIN, 50);
- player->ADD_GOSSIP_ITEM(4, "The Love Fool", GOSSIP_SENDER_MAIN, 51);
- player->ADD_GOSSIP_ITEM(4, "Matron", GOSSIP_SENDER_MAIN, 52);
- player->ADD_GOSSIP_ITEM(4, "Patron", GOSSIP_SENDER_MAIN, 53);
- player->ADD_GOSSIP_ITEM(4, "The Hallowed", GOSSIP_SENDER_MAIN, 54);
- player->ADD_GOSSIP_ITEM(4, "Merrymaker", GOSSIP_SENDER_MAIN, 55);
- player->ADD_GOSSIP_ITEM(4, "The Noble", GOSSIP_SENDER_MAIN, 56);
- player->ADD_GOSSIP_ITEM(4, "The Pilgram", GOSSIP_SENDER_MAIN, 57);
- player->ADD_GOSSIP_ITEM(4, "Flame Keeper", GOSSIP_SENDER_MAIN, 58);
- player->ADD_GOSSIP_ITEM(4, "Flame Warden", GOSSIP_SENDER_MAIN, 59);
- player->ADD_GOSSIP_ITEM(4, "Elder", GOSSIP_SENDER_MAIN, 60);
- player->ADD_GOSSIP_ITEM(4, "Loremaster", GOSSIP_SENDER_MAIN, 61);
- player->ADD_GOSSIP_ITEM(4, "The Seeker", GOSSIP_SENDER_MAIN, 62);
- player->ADD_GOSSIP_ITEM(4, "Salty", GOSSIP_SENDER_MAIN, 63);
- player->ADD_GOSSIP_ITEM(4, "Chef", GOSSIP_SENDER_MAIN, 64);
- player->ADD_GOSSIP_ITEM(4, "Assassin", GOSSIP_SENDER_MAIN, 65);
- player->ADD_GOSSIP_ITEM(4, "The Explorer", GOSSIP_SENDER_MAIN, 66);
- player->ADD_GOSSIP_ITEM(4, "Jenkins", GOSSIP_SENDER_MAIN, 67);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- break;
- case 5: //Champ Of Naaru
- TitleAction(player, 53);
- break;
- case 6: //Hand Of Adal
- TitleAction(player, 64);
- break;
- case 7: //The Patient
- TitleAction(player, 172);
- break;
- case 8: //The Undying
- TitleAction(player, 142);
- break;
- case 9: //The Immortal
- TitleAction(player, 141);
- break;
- case 10: //Nightfall
- TitleAction(player, 140);
- break;
- case 11: //Twilight Vanq
- TitleAction(player, 121);
- break;
- case 12: //Obsid Slay
- TitleAction(player, 130);
- break;
- case 13: //Magic Seeker
- TitleAction(player, 120);
- break;
- case 14: //Starcaller
- TitleAction(player, 164);
- break;
- case 15: //Astral Walker
- TitleAction(player, 165);
- break;
- case 16: //Herald Of Titans
- TitleAction(player, 166);
- break;
- case 17: //Celestial Def
- TitleAction(player, 150);
- break;
- case 18: //Conq Of Uld
- TitleAction(player, 160);
- break;
- case 19: //Champ Of Uld
- TitleAction(player, 161);
- break;
- case 20: //Death Demise
- TitleAction(player, 158);
- break;
- case 21: //Conq Of Naxx
- TitleAction(player, 122);
- break;
- case 22: //Champ Froze Waste
- TitleAction(player, 129);
- break;
- case 23: //Argent Defender
- TitleAction(player, 171);
- break;
- case 24: //Kingslayer
- TitleAction(player, 175);
- break;
- case 25: //Bane Fallen King
- TitleAction(player, 174);
- break;
- case 26: //Light OF Dawn
- TitleAction(player, 53);
- break;
- case 27: //Shat Sun
- TitleAction(player, 63);
- break;
- case 28: //Exhalted
- TitleAction(player, 77);
- break;
- case 29: //Ambassador
- TitleAction(player, 130);
- break;
- case 30: //Diplomat
- TitleAction(player, 79);
- break;
- case 31: //Bloodsail
- TitleAction(player, 144);
- break;
- case 32: //Crusader
- TitleAction(player, 156);
- break;
- case 33: //Insane
- TitleAction(player, 145);
- break;
- case 34: //Cenarius
- TitleAction(player, 132);
- break;
- case 35: //Argent Champ
- TitleAction(player, 131);
- break;
- case 36: //Ashen Verdict
- TitleAction(player, 176);
- break;
- case 37: //Darnassus
- TitleAction(player, 147);
- break;
- case 38: //Gnomeregan
- TitleAction(player, 113);
- break;
- case 39: //Ironforge
- TitleAction(player, 148);
- break;
- case 40: //Stormwind
- TitleAction(player, 149);
- break;
- case 41: //Exodar
- TitleAction(player, 146);
- break;
- case 42: //Orgrimmar
- TitleAction(player, 150);
- break;
- case 43: //Sen'jin
- TitleAction(player, 151);
- break;
- case 44: //Silvermoon
- TitleAction(player, 152);
- break;
- case 45: //Thunderbluff
- TitleAction(player, 153);
- break;
- case 46: //Champ Of Undercity
- TitleAction(player, 154);
- break;
- case 47: //For The Alliance
- TitleAction(player, 53);
- break;
- case 48: //For The Horde
- TitleAction(player, 53);
- break;
- case 49: //Scarb Lord
- TitleAction(player, 46);
- break;
- case 50: //Brewmaster
- TitleAction(player, 133);
- break;
- case 51: //Love Fool
- TitleAction(player, 135);
- break;
- case 52: //Matron
- TitleAction(player, 137);
- break;
- case 53: //Patron
- TitleAction(player, 138);
- break;
- case 54: //Hallowed
- TitleAction(player, 124);
- break;
- case 55: //Merrymaker
- TitleAction(player, 134);
- break;
- case 56: //Noble
- TitleAction(player, 155);
- break;
- case 57: //Pilgram
- TitleAction(player, 168);
- break;
- case 58: //Flame Keeper
- TitleAction(player, 76);
- break;
- case 59: //Flame Warden
- TitleAction(player, 75);
- break;
- case 60: //Elder
- TitleAction(player, 74);
- break;
- case 61: //Loremaster
- TitleAction(player, 125);
- break;
- case 62: //Seeker
- TitleAction(player, 81);
- break;
- case 63: //Salty
- TitleAction(player, 83);
- break;
- case 64: //Chef
- TitleAction(player, 84);
- break;
- case 65: //Assassin
- TitleAction(player, 95);
- break;
- case 66: //Explorer
- TitleAction(player, 78);
- break;
- case 67: //Jenkins
- TitleAction(player, 143);
- break;
- }
- return true;
- }
- void TitleAction(Player* player, uint32 title)
- {
- if (player->HasItemCount(Vote_Token, 1, false))
- {
- player->DestroyItemCount(Vote_Token, 1, true, false);
- player->SetTitle(sCharTitlesStore.LookupEntry(title));
- }
- }
- };
- void AddSC_PveTitleNpc();
- {
- new PveTitleNpc();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement