예제 #1
0
        void GossipHello(Object* pObject, Player* pPlayer)
        {
            GossipMenu* Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 12252, pPlayer);

            if(pPlayer->HasQuest(11532) || pPlayer->HasQuest(11533))
                Menu->AddItem(ICON_CHAT, pPlayer->GetSession()->LocalizedGossipOption(466), 1);     // Speaking of action, I've been ordered to undertake an air strike.

            if(pPlayer->HasQuest(11543) || pPlayer->HasQuest(11542))
                Menu->AddItem(ICON_CHAT, pPlayer->GetSession()->LocalizedGossipOption(467), 2);     // I need to intercept the Dawnblade reinforcements.

            Menu->SendTo(pPlayer);
        }
예제 #2
0
		void GossipHello(Object* pObject, Player * Plr, bool AutoSend)
		{
			GossipMenu * Menu;
			QuestLogEntry * en = Plr->GetQuestLogForEntry( 8304 );

			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 7736, Plr);

			if ( en && en->GetMobCount(1) < en->GetQuest()->required_mobcount[1] )
				Menu->AddItem(0, "Hello, Rutgar. The Commander has sent me here to gather some information about his missing wife.", 3);

			if(AutoSend)
				Menu->SendTo(Plr);
		}
		void GossipHello(Object* pObject, Player* pPlayer)
		{
			GossipMenu* Menu;
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 12252, pPlayer);

			if(pPlayer->GetQuestLogForEntry(11532) || pPlayer->GetQuestLogForEntry(11533))
				Menu->AddItem(0, "Speaking of action, I've been ordered to undertake an air strike.", 1);

			if(pPlayer->GetQuestLogForEntry(11543) || pPlayer->GetQuestLogForEntry(11542))
				Menu->AddItem(0, "I need to intercept the Dawnblade reinforcements.", 2);

			Menu->SendTo(pPlayer);
		}
예제 #4
0
    void GossipHello(Object* pObject, Player* Plr, bool AutoSend)
    {
        GossipMenu *Menu;
        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 13349, Plr);

        Menu->AddItem(0, "Arena Vendor"		    , 1);
        Menu->AddItem(0, "Arena Battlemaster"   , 2);
        Menu->AddItem(0, "Black Market"         , 3);
        Menu->AddItem(0, "Exit of Dalaran"	    , 4);

        if(AutoSend)
            Menu->SendTo(Plr);
    }
예제 #5
0
    void GossipHello(Object* pObject, Player* Plr, bool AutoSend)
	{
        GossipMenu *Menu;
                
		switch(pObject->GetEntry())
		{
			case TAXI_BRACK:
			{
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 40002, Plr);
				if (Plr->GetQuestLogForEntry(10162) || Plr->GetQuestLogForEntry(10347))
				{
					Menu->AddItem(0, GOSSIP_MISSIONA, 1);
				}

				if (Plr->GetQuestLogForEntry(10129))
				{
					Menu->AddItem(0, GOSSIP_MISSIONB,2);
				}

				Menu->AddItem(0, GOSSIP_SPINERIDGE, 3);
			}break;
			case TAXI_DABIREE:
			{
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 40002, Plr);
				if ( Plr->GetQuestLogForEntry(10146) )
				{
					Menu->AddItem(0, GOSSIP_MISSIONB,2);
				}
				
				Menu->AddItem(0, GOSSIP_SHATTPOINT,4);
			}break;         
			case TAXI_WINDBELLOW:
 			{
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 40002, Plr);
				if ( Plr->GetQuestLogForEntry(10163) || Plr->GetQuestLogForEntry(10346) )
				{
						Menu->AddItem( 0, GOSSIP_MISSIONA,              1);
				}
				
				Menu->AddItem( 0, GOSSIP_HONORPOINT,    5);
			}break;
			case TAXI_LEAFBEARD:
			{
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 40002, Plr);
				Menu->AddItem( 0, GOSSIP_SHATTPOINT,    4);                             
			}break;
		}

        if(AutoSend)
            Menu->SendTo(Plr);
    }
예제 #6
0
    void GossipHello(Object* pObject, Player * plr, bool AutoSend)
    {
        GossipMenu *Menu;
		if(plr->getClass() == DRUID && plr->getRace() == RACE_TAUREN){
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4918, plr);
			Menu->AddItem( 0, GOSSIP_BUNTHEN_PLAINSWIND, 1);
		}else if(plr->getClass() == DRUID && plr->getRace() == RACE_NIGHTELF){
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4917, plr);
		}else{
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4916, plr);
        };
        if(AutoSend)
            Menu->SendTo(plr);
    }
예제 #7
0
    void GossipHello(Object* pObject, Player* plr, bool AutoSend)
    {
        GossipMenu *Menu;
        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 12227, plr);
		
		#ifdef USE_THE_STATUS
			Menu->AddItem( 0, GOSSIP_EXARCH_NASUUN_1, 1);  // this is the status
			Menu->AddItem( 0, GOSSIP_EXARCH_NASUUN_2, 2);
		#else
			Menu->AddItem( 0, GOSSIP_EXARCH_NASUUN_2, 3);
        #endif
        if(AutoSend)
            Menu->SendTo(plr);
    }
예제 #8
0
    void GossipHello(Object* pObject, Player * plr, bool AutoSend)
    {
        GossipMenu *Menu;
        if(plr->getClass() == DRUID && plr->getRace() == RACE_NIGHTELF){
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4914, plr);
			Menu->AddItem( 0, GOSSIP_SILVA_FILNAVETH, 1);
		}else if(plr->getClass() == DRUID && plr->getRace() == RACE_TAUREN){
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4915, plr);
		}else{
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4913, plr);
        };
        if(AutoSend)
            Menu->SendTo(plr);
    }
예제 #9
0
            void GossipHello(Object* pObject, Player* plr)
            {
            GossipMenu* Menu;
                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 14500, plr);
            if (plr->HasFinishedQuest(13668) || plr->HasQuest(13668) || plr->HasFinishedQuest(13667) || plr->HasQuest(13667))
            {
                Menu->SendTo(plr);
            }
            else
            {
                Menu->AddItem(GOSSIP_ICON_CHAT, plr->GetSession()->LocalizedGossipOption(446), 1);     // I'll take the flight.
                Menu->SendTo(plr);
            }
}            
예제 #10
0
			void GossipHello(Object* pObject, Player* plr)
			{
			GossipMenu* Menu;
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 14500, plr);
			if(plr->HasFinishedQuest(13668) || plr->GetQuestLogForEntry(13668) || plr->HasFinishedQuest(13667) || plr->GetQuestLogForEntry(13667))
			{
				Menu->SendTo(plr);
			}
			else
			{
				Menu->AddItem(0, "I'll take the flight."	,1);
				Menu->SendTo(plr);
			}
}			
예제 #11
0
	void GossipHello(Object* pObject, Player* plr, bool AutoSend){

        GossipMenu *Menu;

        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 14736, plr);

		
		if( plr->CanGainXp() )
			Menu->AddMenuItem( 0, const_cast< char* >( GOSSIP_DISABLE_XP_GAIN ), 0, 1, const_cast< char*>( GOSSIP_BOXMSG_DISABLE_XP_GAIN ), 100000, false );
		else
			Menu->AddMenuItem( 0, const_cast< char* >( GOSSIP_ENABLE_XP_GAIN ), 0, 1, const_cast< char* >( GOSSIP_BOXMSG_ENABLE_XP_GAIN ), 100000, false );
        
        if(AutoSend)
            Menu->SendTo(plr);
    }
예제 #12
0
		void GossipSelectOption(Object* pObject, Player* plr, uint32 Id, uint32 IntId, const char* Code)
		{
			GossipMenu* Menu;
			if(!pObject->IsCreature())
				return;
			Creature* pCreature = TO_CREATURE(pObject);

			switch(IntId)
			{
				case 1:
					objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 60014, plr);			// Silas, why is most everything at the fair free? How do you make a profit?
					Menu->SendTo(plr);
					break;
			}
		}
예제 #13
0
    void GossipSelectOption(Object* pObject, Player* plr, uint32 Id, uint32 IntId, const char * Code)
    {
		if(pObject->GetTypeId()!=TYPEID_UNIT)
			return;

		GossipMenu * Menu;
        switch(IntId)
        {
        case 1:
			{
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1794, plr);
				Menu->SendTo(plr);
            }break;
		}
    }
예제 #14
0
    void GossipSelectOption(Object* pObject, Player * plr, uint32 Id, uint32 IntId, const char * Code)
    {
		GossipMenu * Menu;
		Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
		if(pObject->GetTypeId()!=TYPEID_UNIT)
			return;
		
		switch(IntId)
		{
		case 1:
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 60014, plr);			// Silas, why is most everything at the fair free? How do you make a profit?
			Menu->SendTo(plr);
		break;
		}
    }
예제 #15
0
        void GossipHello(Object* pObject, Player* plr)
        {
            if (!plr)
                return;

            GossipMenu* Menu;
            Creature* highchief = static_cast<Creature*>(pObject);
            if (highchief == NULL)
                return;

            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
            if (plr->HasQuest(9663))
                Menu->AddItem(GOSSIP_ICON_CHAT, plr->GetSession()->LocalizedGossipOption(454), 1);     // Warn him

            Menu->SendTo(plr);
        }
예제 #16
0
        void GossipHello(Object* pObject, Player* plr)
        {
            if(!plr)
                return;

            GossipMenu* Menu;
            Creature* doctor = TO_CREATURE(pObject);
            if(doctor == NULL)
                return;

            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
            if(plr->HasQuest(10201) && plr->GetItemInterface()->GetItemCount(28500, 0))
                Menu->AddItem(ICON_CHAT, plr->GetSession()->LocalizedGossipOption(497), 1);     // Try this

            Menu->SendTo(plr);
        }
예제 #17
0
    void GossipHello(Object* pObject, Player* plr)
    {
        if (!plr)
            return;

        GossipMenu* Menu;
        Creature* Prisoner12 = TO_CREATURE(pObject);
        if (Prisoner12 == nullptr)
            return;

        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
        if (plr->HasQuest(9164))
            Menu->AddItem(ICON_CHAT, plr->GetSession()->LocalizedGossipOption(462), 1);     // Release Him.

        Menu->SendTo(plr);
    }
	void GossipHello(ObjectPointer pObject, PlayerPointer  plr, bool AutoSend)
	{
		uint32 Team = plr->GetTeam();
		if(Team > 1) Team = 1;

		GossipMenu *Menu;
		objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), Team == 0 ? 9433 : 9750, plr);

		if( pObject->GetUInt32Value(UNIT_NPC_FLAGS) & UNIT_NPC_FLAG_VENDOR )
			Menu->AddItem( 0, "I would like to browse your goods.", 3 );

		if( ZMg_superiorTeam == Team && ZMCityOwners != Team && !plr->HasAura( Team == 0 ? 32430 : 32431 ) )
			Menu->AddItem( 0, Team == 0 ? "Give me the flag, I'll take it to the Central Tower for the glory of the Alliance!" : "Give me the flag, I'll take it to the Central Tower for the glory of the Horde!" , Team+1);
		if(AutoSend)
			Menu->SendTo(plr);
    }
예제 #19
0
		void GossipHello(Object* pObject, Player* plr)
		{
			if(!plr)
				return;

			GossipMenu* Menu;
			Creature* windwatcher = TO_CREATURE(pObject);
			if(windwatcher == NULL)
				return;

			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
			if(plr->GetQuestLogForEntry(1713))
				Menu->AddItem(0, "I'm ready, Summon Him!", 1);

			Menu->SendTo(plr);
		}
예제 #20
0
		void GossipHello(Object* pObject, Player* plr)
		{
			GossipMenu* Menu;
			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4714, plr);

			if(plr->HasQuest(6002))
			{
				Menu->AddItem(0, GOSSIP_GHOST_MOONKIN, 1);  //Horde
			}
			else if(plr->HasQuest(6001))
			{
				Menu->AddItem(0, GOSSIP_GHOST_MOONKIN, 2);  //Ally
			}

			Menu->SendTo(plr);
		}
예제 #21
0
        void GossipHello(Object* pObject, Player* plr)
        {
            if(!plr)
                return;

            GossipMenu* Menu;
            Creature* doctor = static_cast<Creature*>(pObject);
            if(doctor == NULL)
                return;

            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
            if(plr->HasQuest(348) && plr->GetItemInterface()->GetItemCount(2799, 0) && !plr->GetItemInterface()->GetItemCount(2797, 0))
                Menu->AddItem(GOSSIP_ICON_CHAT, plr->GetSession()->LocalizedGossipOption(494), 1);     // I'm ready, Summon Him!

            Menu->SendTo(plr);
        }
예제 #22
0
    void GossipHello(Object* pObject, Player* plr, bool AutoSend)
    {
        if(!plr)
            return;
        GossipMenu *Menu;
        Creature* Prisoner12 = TO_CREATURE(pObject);
        if (Prisoner12 == NULL)
            return;

        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
        if(plr->GetQuestLogForEntry(9164))
            Menu->AddItem( 0, "Release Him.", 1);

        if(AutoSend)
            Menu->SendTo(plr);
    }
예제 #23
0
		void GossipHello(Object* pObject, Player* plr)
		{
			if(!plr)
				return;

			GossipMenu* Menu;
			Creature* highchief = TO_CREATURE(pObject);
			if(highchief == NULL)
				return;

			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
			if(plr->GetQuestLogForEntry(9663))
				Menu->AddItem(0, "Warn him", 1);

			Menu->SendTo(plr);
		}
예제 #24
0
		void GossipHello(Object* pObject, Player* plr)
		{
			if(!plr)
				return;

			GossipMenu* Menu;
			Creature* general = TO_CREATURE(pObject);
			if(general == NULL)
				return;

			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
			if(plr->GetQuestLogForEntry(2702) || plr->HasFinishedQuest(2702))
				Menu->AddItem(0, "I need to speak with Corporal.", 1);

			Menu->SendTo(plr);
		}
예제 #25
0
		void GossipHello(Object* pObject, Player* plr)
		{
			GossipMenu* Menu;
			// Check to see if the player already has a buff from Sayge.
			if(plr->HasAura(23768) || plr->HasAura(23769) || plr->HasAura(23767) || plr->HasAura(23738) || plr->HasAura(23766) || plr->HasAura(23737) || plr->HasAura(23735) || plr->HasAura(23736))
			{
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 60034, plr); 			// Player has buff, denied.
			}
			else
			{
				objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 60026, plr);			// Player doesn't have any buff
				Menu->AddItem(0, "I am ready to discover where my fortune lies!", 1);
			}

			Menu->SendTo(plr);
		}
    void GossipHello(Object * pObject, Player * plr, bool AutoSend)
    {
        GossipMenu *Menu;
        // Check mapID
        if(plr->GetMapId() == 607)
        {
           objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
		   Menu->AddItem( 0, GOSSIP_SALESMAN, 1);
        }
        else
        {
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);	// send an empty menu
        }
        
        if(AutoSend)
            Menu->SendTo(plr);
    }
예제 #27
0
	void GossipHello(Object* pObject, Player* plr, bool AutoSend)
	{
		if(!plr)
			return;

		GossipMenu *Menu;
		Creature* lord = TO_CREATURE(pObject);
		if (lord == NULL)
			return;

			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
			if(plr->GetQuestLogForEntry(9692))
			Menu->AddItem( 0, "Take Insignia", 1);

		if(AutoSend)
			Menu->SendTo(plr);
	}
    void OnActivate(Player* player)
    {
        GossipMenu* menu = NULL;
        objmgr.CreateGossipMenuForPlayer(&menu, _gameobject->GetGUID(), 0, player);

        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Expedition Base Camp.", 0);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Formation Grounds", 1);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Colossal Forge", 2);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Scrapyard", 3);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Antechamber of Ulduar", 4);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Shattered Walkway", 5);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Conservatory of Life", 6);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Spark of Imagination", 7);
        menu->AddItem(Arcemu::Gossip::ICON_CHAT, "Prison of Yogg-Saron", 8);

        menu->SendTo(player);
    }
        void GossipHello(Object* pObject, Player* Plr)
        {
            GossipMenu* Menu;
            OldHilsbradInstance* pInstance = dynamic_cast<OldHilsbradInstance*>(pObject->GetMapMgr()->GetScript());

            if (!pInstance)
                return;

            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), EROZION_ON_HELLO, Plr);

            if (pInstance->GetData(OHF_PHASE_1) != OHF_DATA_DONE && !Plr->HasItemCount(25853, 1))
                Menu->AddItem(ICON_CHAT, Plr->GetSession()->LocalizedGossipOption(EROZION_NEED_PACKET), 1);

            // It should give another menu if instance is done id: 10474, NYI

            Menu->SendTo(Plr);
        }
예제 #30
0
	void GossipHello(Object* pObject, Player* plr, bool AutoSend)
	{
		if(!plr)
			return;

		GossipMenu *Menu;
		Creature* doctor = TO_CREATURE(pObject);
		if (doctor == NULL)
			return;

		objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, plr);
		if(plr->GetQuestLogForEntry(10201) && plr->GetItemInterface()->GetItemCount(28500, 0))
			Menu->AddItem( 0, "Try this", 1);

		if(AutoSend)
			Menu->SendTo(plr);
	}