bool OnGossipSelect(Player* Player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) { WorldSession* ws = Player->GetSession(); switch (uiAction) { case ACTION_TITLE_PRIVATE: { if (GetTotalKill(Player) >= 10) Player->SetTitle(sCharTitlesStore.LookupEntry(1)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_CORPORAL: { if (GetTotalKill(Player) >= 50) Player->SetTitle(sCharTitlesStore.LookupEntry(2)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_SERGEANT: { if (GetTotalKill(Player) >= 100) Player->SetTitle(sCharTitlesStore.LookupEntry(3)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_MASTER_SERGEANT: { if (GetTotalKill(Player) >= 200) Player->SetTitle(sCharTitlesStore.LookupEntry(4)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_SERGEANT_MAJOR: { if (GetTotalKill(Player) >= 400) Player->SetTitle(sCharTitlesStore.LookupEntry(5)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_KNIGHT: { if (GetTotalKill(Player) >= 500) Player->SetTitle(sCharTitlesStore.LookupEntry(6)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_KNIGHT_LIEUTENANT: { if (GetTotalKill(Player) >= 600) Player->SetTitle(sCharTitlesStore.LookupEntry(7)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_KNIGHT_CAPTAIN: { if (GetTotalKill(Player) >= 800) Player->SetTitle(sCharTitlesStore.LookupEntry(8)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_KNIGHT_CHAMPION: { if (GetTotalKill(Player) >= 1000) Player->SetTitle(sCharTitlesStore.LookupEntry(9)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_LIEUTENANT_COMMANDER: { if (GetTotalKill(Player) >= 1500) Player->SetTitle(sCharTitlesStore.LookupEntry(10)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_COMMANDER: { if (GetTotalKill(Player) >= 2500) Player->SetTitle(sCharTitlesStore.LookupEntry(11)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_MARSHAL: { if (GetTotalKill(Player) >= 4000) Player->SetTitle(sCharTitlesStore.LookupEntry(12)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_FIELD_MARSHAL: { if (GetTotalKill(Player) >= 4500) Player->SetTitle(sCharTitlesStore.LookupEntry(13)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_GRAND_MARSHAL: { if (GetTotalKill(Player) >= 5500) Player->SetTitle(sCharTitlesStore.LookupEntry(14)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_SCOUT: { if (GetTotalKill(Player) >= 10) Player->SetTitle(sCharTitlesStore.LookupEntry(15)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_GRUNT: { if (GetTotalKill(Player) >= 50) Player->SetTitle(sCharTitlesStore.LookupEntry(16)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_SERGEANT_H: { if (GetTotalKill(Player) >= 100) Player->SetTitle(sCharTitlesStore.LookupEntry(17)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_SENIOR_SERGEANT: { if (GetTotalKill(Player) >= 200) Player->SetTitle(sCharTitlesStore.LookupEntry(18)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_FIRST_SERGEANT: { if (GetTotalKill(Player) >= 400) Player->SetTitle(sCharTitlesStore.LookupEntry(19)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_STONE_GUARD: { if (GetTotalKill(Player) >= 500) Player->SetTitle(sCharTitlesStore.LookupEntry(20)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_BLOOD_GUARD: { if (GetTotalKill(Player) >= 600) Player->SetTitle(sCharTitlesStore.LookupEntry(21)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_LEGIONNAIRE: { if (GetTotalKill(Player) >= 800) Player->SetTitle(sCharTitlesStore.LookupEntry(22)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_CENTURION: { if (GetTotalKill(Player) >= 1000) Player->SetTitle(sCharTitlesStore.LookupEntry(23)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_CHAMPION: { if (GetTotalKill(Player) >= 1500) Player->SetTitle(sCharTitlesStore.LookupEntry(24)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_LIEUTENANT_GENERAL: { if (GetTotalKill(Player) >= 2500) Player->SetTitle(sCharTitlesStore.LookupEntry(25)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_GENERAL: { if (GetTotalKill(Player) >= 4000) Player->SetTitle(sCharTitlesStore.LookupEntry(26)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_WARLORD: { if (GetTotalKill(Player) >= 4500) Player->SetTitle(sCharTitlesStore.LookupEntry(27)); else ws->SendNotification("You dont have enough kills"); } break; case ACTION_TITLE_HIGH_WARLORD: { if (GetTotalKill(Player) >= 5500) Player->SetTitle(sCharTitlesStore.LookupEntry(28)); else ws->SendNotification("You dont have enough kills"); } break; Player->PlayerTalkClass->SendCloseGossip(); } return true; }
bool OnGossipSelect(Player* Player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) { switch (uiAction) { case GOSSIP_ACTION_INFO_DEF+1: { if (Player->GetTeam() == ALLIANCE) { Player->PlayerTalkClass->ClearMenus(); Player->ADD_GOSSIP_ITEM(4, "Private", GOSSIP_SENDER_MAIN, PRIVATE); Player->ADD_GOSSIP_ITEM(4, "Corporal", GOSSIP_SENDER_MAIN, CORPORAL); Player->ADD_GOSSIP_ITEM(4, "Sergeant", GOSSIP_SENDER_MAIN, SERGEANT); Player->ADD_GOSSIP_ITEM(4, "Master Sergeant", GOSSIP_SENDER_MAIN, MASTER_SERGEANT); Player->ADD_GOSSIP_ITEM(4, "Sergeant Major", GOSSIP_SENDER_MAIN, SERGEANT_MAJOR); Player->ADD_GOSSIP_ITEM(4, "Knight", GOSSIP_SENDER_MAIN, KNIGHT); Player->ADD_GOSSIP_ITEM(4, "Knight Lieutenant", GOSSIP_SENDER_MAIN, KNIGHT_LIEUTENANT); Player->ADD_GOSSIP_ITEM(4, "Knight Captain", GOSSIP_SENDER_MAIN, KNIGHT_CAPTAIN); Player->ADD_GOSSIP_ITEM(4, "Knight Champion", GOSSIP_SENDER_MAIN, KNIGHT_CHAMPION); Player->ADD_GOSSIP_ITEM(4, "Lieutenant Commander", GOSSIP_SENDER_MAIN, LIEUTENANT_COMMANDER); Player->ADD_GOSSIP_ITEM(4, "Commander.", GOSSIP_SENDER_MAIN, COMMANDER); Player->ADD_GOSSIP_ITEM(4, "Marshal", GOSSIP_SENDER_MAIN, MARSHAL); Player->ADD_GOSSIP_ITEM(4, "Field Marshal", GOSSIP_SENDER_MAIN, FIELD_MARSHAL); Player->ADD_GOSSIP_ITEM(4, "Grand Marshal", GOSSIP_SENDER_MAIN, GRAND_MARSHAL); Player->ADD_GOSSIP_ITEM(0, "Nevermind..", GOSSIP_SENDER_MAIN, 1000); Player->PlayerTalkClass->SendGossipMenu(9, creature->GetGUID()); } else { Player->PlayerTalkClass->ClearMenus(); Player->ADD_GOSSIP_ITEM(4, "Scout", GOSSIP_SENDER_MAIN, SCOUT); Player->ADD_GOSSIP_ITEM(4, "Grunt", GOSSIP_SENDER_MAIN, GRUNT); Player->ADD_GOSSIP_ITEM(4, "Sergeant", GOSSIP_SENDER_MAIN, SERGEANT_H); Player->ADD_GOSSIP_ITEM(4, "Senior Sergeant", GOSSIP_SENDER_MAIN, SENIOR_SERGEANT); Player->ADD_GOSSIP_ITEM(4, "First Sergeant", GOSSIP_SENDER_MAIN, FIRST_SERGEANT); Player->ADD_GOSSIP_ITEM(4, "Stone Guard", GOSSIP_SENDER_MAIN, STONE_GUARD); Player->ADD_GOSSIP_ITEM(4, "Blood Guard", GOSSIP_SENDER_MAIN, BLOOD_GUARD); Player->ADD_GOSSIP_ITEM(4, "Legionnaire", GOSSIP_SENDER_MAIN, LEGIONNAIRE); Player->ADD_GOSSIP_ITEM(4, "Centurion", GOSSIP_SENDER_MAIN,CENTURION); Player->ADD_GOSSIP_ITEM(4, "Champion", GOSSIP_SENDER_MAIN, CHAMPION); Player->ADD_GOSSIP_ITEM(4, "Lieutenant General", GOSSIP_SENDER_MAIN, LIEUTENANT_GENERAL); Player->ADD_GOSSIP_ITEM(4, "General", GOSSIP_SENDER_MAIN, GENERAL); Player->ADD_GOSSIP_ITEM(4, "Warlord", GOSSIP_SENDER_MAIN, WARLORD); Player->ADD_GOSSIP_ITEM(4, "High Warlord", GOSSIP_SENDER_MAIN, HIGH_WARLORD); Player->ADD_GOSSIP_ITEM(0, "Nevermind..", GOSSIP_SENDER_MAIN, 1000); Player->PlayerTalkClass->SendGossipMenu(9, creature->GetGUID()); } Player->PlayerTalkClass->SendGossipMenu(9425, creature->GetGUID()); }break; case PRIVATE: { if (GetTotalKill(Player) >= KILLS_1) Player->SetTitle(sCharTitlesStore.LookupEntry(1)); else Player->GetSession()->SendNotification("You dont have enough kills"); }break; case CORPORAL: { if (GetTotalKill(Player) >= KILLS_2) Player->SetTitle(sCharTitlesStore.LookupEntry(2)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case SERGEANT: { if (GetTotalKill(Player) >= KILLS_3) Player->SetTitle(sCharTitlesStore.LookupEntry(3)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case MASTER_SERGEANT: { if (GetTotalKill(Player) >= KILLS_4) Player->SetTitle(sCharTitlesStore.LookupEntry(4)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case SERGEANT_MAJOR: { if (GetTotalKill(Player) >= KILLS_5) Player->SetTitle(sCharTitlesStore.LookupEntry(5)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case KNIGHT: { if (GetTotalKill(Player) >= KILLS_6) Player->SetTitle(sCharTitlesStore.LookupEntry(6)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case KNIGHT_LIEUTENANT: { if (GetTotalKill(Player) >= KILLS_7) Player->SetTitle(sCharTitlesStore.LookupEntry(7)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case KNIGHT_CAPTAIN: { if (GetTotalKill(Player) >= KILLS_8) Player->SetTitle(sCharTitlesStore.LookupEntry(8)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case KNIGHT_CHAMPION: { if (GetTotalKill(Player) >= KILLS_9) Player->SetTitle(sCharTitlesStore.LookupEntry(9)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case LIEUTENANT_COMMANDER: { if (GetTotalKill(Player) >= KILLS_10) Player->SetTitle(sCharTitlesStore.LookupEntry(10)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case COMMANDER: { if (GetTotalKill(Player) >= KILLS_11) Player->SetTitle(sCharTitlesStore.LookupEntry(11)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case MARSHAL: { if (GetTotalKill(Player) >= KILLS_12) Player->SetTitle(sCharTitlesStore.LookupEntry(12)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case FIELD_MARSHAL: { if (GetTotalKill(Player) >= KILLS_13) Player->SetTitle(sCharTitlesStore.LookupEntry(13)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case GRAND_MARSHAL: { if (GetTotalKill(Player) >= KILLS_14) Player->SetTitle(sCharTitlesStore.LookupEntry(14)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case SCOUT: { if (GetTotalKill(Player) >= KILLS_1) Player->SetTitle(sCharTitlesStore.LookupEntry(15)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case GRUNT: { if (GetTotalKill(Player) >= KILLS_2) Player->SetTitle(sCharTitlesStore.LookupEntry(16)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case SERGEANT_H: { if (GetTotalKill(Player) >= KILLS_3) Player->SetTitle(sCharTitlesStore.LookupEntry(17)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case SENIOR_SERGEANT: { if (GetTotalKill(Player) >= KILLS_4) Player->SetTitle(sCharTitlesStore.LookupEntry(18)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case FIRST_SERGEANT: { if (GetTotalKill(Player) >= KILLS_5) Player->SetTitle(sCharTitlesStore.LookupEntry(19)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case STONE_GUARD: { if (GetTotalKill(Player) >= KILLS_6) Player->SetTitle(sCharTitlesStore.LookupEntry(20)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case BLOOD_GUARD: { if (GetTotalKill(Player) >= KILLS_7) Player->SetTitle(sCharTitlesStore.LookupEntry(21)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case LEGIONNAIRE: { if (GetTotalKill(Player) >= KILLS_8) Player->SetTitle(sCharTitlesStore.LookupEntry(22)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case CENTURION: { if (GetTotalKill(Player) >= KILLS_9) Player->SetTitle(sCharTitlesStore.LookupEntry(23)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case CHAMPION: { if (GetTotalKill(Player) >= KILLS_10) Player->SetTitle(sCharTitlesStore.LookupEntry(24)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case LIEUTENANT_GENERAL: { if (GetTotalKill(Player) >= KILLS_11) Player->SetTitle(sCharTitlesStore.LookupEntry(25)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case GENERAL: { if (GetTotalKill(Player) >= KILLS_12) Player->SetTitle(sCharTitlesStore.LookupEntry(26)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case WARLORD: { if (GetTotalKill(Player) >= KILLS_13) Player->SetTitle(sCharTitlesStore.LookupEntry(27)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; case HIGH_WARLORD: { if (GetTotalKill(Player) >= KILLS_14) Player->SetTitle(sCharTitlesStore.LookupEntry(28)); else Player->GetSession()->SendNotification("You dont have enough kills"); } break; Player->PlayerTalkClass->SendCloseGossip(); case 1000: Player->PlayerTalkClass->SendCloseGossip(); } return true; }