Ejemplo n.º 1
0
		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;
		}
Ejemplo n.º 2
0
                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;
                }