bool GossipHello(Player* player) override { if (me->IsQuestGiver()) player->PrepareQuestMenu(me->GetGUID()); if (player->GetQuestStatus(QUEST_REPORTS_FROM_THE_FIELD) == QUEST_STATUS_INCOMPLETE) { switch (me->GetEntry()) { case NPC_RAZAEL: if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_RAZAEL)) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_RAZAEL_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL1, me->GetGUID()); return true; } break; case NPC_LYANA: if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_LYANA)) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LYANA_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA1, me->GetGUID()); return true; } break; } } SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) { player->PrepareQuestMenu(creature->GetGUID()); player->SendPreparedQuest(creature->GetGUID()); } InstanceScript* instance = creature->GetInstanceScript(); if (instance) { if (instance->GetData(TYPE_BARREL_DIVERSION) == DONE && !instance->GetData(TYPE_THRALL_EVENT)) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_WALKING, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); SendGossipMenuFor(player, GOSSIP_ID_START, creature->GetGUID()); } if (instance->GetData(TYPE_THRALL_PART1) == DONE && !instance->GetData(TYPE_THRALL_PART2)) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_SKARLOC1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); SendGossipMenuFor(player, GOSSIP_ID_SKARLOC1, creature->GetGUID()); } if (instance->GetData(TYPE_THRALL_PART2) == DONE && !instance->GetData(TYPE_THRALL_PART3)) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_TARREN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); SendGossipMenuFor(player, GOSSIP_ID_TARREN, creature->GetGUID()); } } return true; }
bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override { uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId); ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAEL_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, 12500, me->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 1: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAEL_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); SendGossipMenuFor(player, 12502, me->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAEL_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); SendGossipMenuFor(player, 12606, me->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAEL_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); SendGossipMenuFor(player, 12607, me->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: SendGossipMenuFor(player, 12608, me->GetGUID()); break; } return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (InstanceScript* instance = creature->GetInstanceScript()) { // Check for death of Moroes and if opera event is not done already if (instance->GetBossState(DATA_MOROES) == DONE && instance->GetBossState(DATA_OPERA_PERFORMANCE) != DONE) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, OZ_GOSSIP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (player->IsGameMaster()) { AddGossipItemFor(player, GOSSIP_ICON_DOT, OZ_GM_GOSSIP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); AddGossipItemFor(player, GOSSIP_ICON_DOT, OZ_GM_GOSSIP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); AddGossipItemFor(player, GOSSIP_ICON_DOT, OZ_GM_GOSSIP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); } if (npc_barnesAI* pBarnesAI = CAST_AI(npc_barnes::npc_barnesAI, creature->AI())) { if (!pBarnesAI->RaidWiped) SendGossipMenuFor(player, 8970, creature->GetGUID()); else SendGossipMenuFor(player, 8975, creature->GetGUID()); return true; } } } SendGossipMenuFor(player, 8978, creature->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); if (!wintergrasp) return true; if (wintergrasp->IsWarTime()) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, player->GetSession()->GetTrinityString(WG_NPCQUEUE_TEXTOPTION_JOIN), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); SendGossipMenuFor(player, wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_WAR : WG_NPCQUEUE_TEXT_A_WAR, creature->GetGUID()); } else { uint32 timer = wintergrasp->GetTimer() / 1000; player->SendUpdateWorldState(4354, time(NULL) + timer); if (timer < 15 * MINUTE) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, player->GetSession()->GetTrinityString(WG_NPCQUEUE_TEXTOPTION_JOIN), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); SendGossipMenuFor(player, wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_QUEUE : WG_NPCQUEUE_TEXT_A_QUEUE, creature->GetGUID()); } else SendGossipMenuFor(player, wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_NOWAR : WG_NPCQUEUE_TEXT_A_NOWAR, creature->GetGUID()); } return true; }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, 9227, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 1: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); SendGossipMenuFor(player, 9229, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: { if (!player->HasItemCount(24573)) { ItemPosCountVec dest; uint32 itemId = 24573; InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, 1, NULL); if (msg == EQUIP_ERR_OK) { player->StoreNewItem(dest, itemId, true); } else player->SendEquipError(msg, NULL, NULL, itemId); } SendGossipMenuFor(player, 9231, creature->GetGUID()); break; } } return true; }
bool OnGossipHello(Player* player, Creature* creature) override { InstanceScript* instance = creature->GetInstanceScript(); if (instance) { creature->CastSpell(player, SPELL_MARK_OF_THE_WILD_RANK_2, true); if ((instance->GetData(TYPE_LORD_COBRAHN) == DONE) && (instance->GetData(TYPE_LORD_PYTHAS) == DONE) && (instance->GetData(TYPE_LADY_ANACONDRA) == DONE) && (instance->GetData(TYPE_LORD_SERPENTIS) == DONE)) { AddGossipItemFor(player, GOSSIP_OPTION_LET_EVENT_BEGIN, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, NPC_TEXT_FANGLORDS_ARE_DEAD, creature->GetGUID()); if (!instance->GetData(TYPE_NARALEX_YELLED)) { creature->AI()->Talk(SAY_AT_LAST); instance->SetData(TYPE_NARALEX_YELLED, 1); } } else { SendGossipMenuFor(player, NPC_TEXT_NARALEX_SLEEPS_AGAIN, creature->GetGUID()); } } return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsVendor() && player->GetReputationRank(FACTION_CONSORTIUM) >= REP_FRIENDLY) { AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); SendGossipMenuFor(player, NPC_TEXT_I_SEE_YOU_ARE_A_FRIEND, creature->GetGUID()); } else SendGossipMenuFor(player, NPC_TEXT_NEITHER_SLIM_NOR_SHADY, creature->GetGUID()); return true; }
bool OnGossipHello(Player* player, GameObject* go) override { QuestStatus status = player->GetQuestStatus(QUEST_DOING_YOUR_DUTY); if (status == QUEST_STATUS_INCOMPLETE || status == QUEST_STATUS_COMPLETE || status == QUEST_STATUS_REWARDED) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_USE_OUTHOUSE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, GOSSIP_OUTHOUSE_VACANT, go->GetGUID()); } else SendGossipMenuFor(player, GOSSIP_OUTHOUSE_INUSE, go->GetGUID()); return true; }
bool GossipHello(Player* player) override { if (instance->GetData(EVENT_PYRAMID) == PYRAMID_KILLED_ALL_TROLLS) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BLY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, 1517, me->GetGUID()); } else if (instance->GetData(EVENT_PYRAMID) == PYRAMID_NOT_STARTED) SendGossipMenuFor(player, 1515, me->GetGUID()); else SendGossipMenuFor(player, 1516, me->GetGUID()); return true; }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { ClearGossipMenuFor(player); InstanceScript* instance = creature->GetInstanceScript(); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: CloseGossipMenuFor(player); if (instance) { instance->SetData(TYPE_THRALL_EVENT, IN_PROGRESS); instance->SetData(TYPE_THRALL_PART1, IN_PROGRESS); } creature->AI()->Talk(SAY_TH_START_EVENT_PART1); if (npc_escortAI* pEscortAI = CAST_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, creature->AI())) pEscortAI->Start(true, true, player->GetGUID()); ENSURE_AI(npc_escortAI, (creature->AI()))->SetMaxPlayerDistance(100.0f);//not really needed, because it will not despawn if player is too far ENSURE_AI(npc_escortAI, (creature->AI()))->SetDespawnAtEnd(false); ENSURE_AI(npc_escortAI, (creature->AI()))->SetDespawnAtFar(false); break; case GOSSIP_ACTION_INFO_DEF+2: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_SKARLOC2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+20); SendGossipMenuFor(player, GOSSIP_ID_SKARLOC2, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+20: SendGossipMenuFor(player, GOSSIP_ID_SKARLOC3, creature->GetGUID()); creature->SummonCreature(SKARLOC_MOUNT, 2038.81f, 270.26f, 63.20f, 5.41f, TEMPSUMMON_TIMED_DESPAWN, 12000); if (instance) instance->SetData(TYPE_THRALL_PART2, IN_PROGRESS); creature->AI()->Talk(SAY_TH_START_EVENT_PART2); ENSURE_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, creature->AI())->StartWP(); break; case GOSSIP_ACTION_INFO_DEF+3: CloseGossipMenuFor(player); if (instance) instance->SetData(TYPE_THRALL_PART3, IN_PROGRESS); ENSURE_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, creature->AI())->StartWP(); break; } return true; }
bool OnGossipHello(Player* player, Creature* creature) override { InstanceScript* instance = creature->GetInstanceScript(); if (instance && instance->GetBossState(BOSS_RAZORSCALE) == NOT_STARTED) { player->PrepareGossipMenu(creature); AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); SendGossipMenuFor(player, 13853, creature->GetGUID()); } else SendGossipMenuFor(player, 13910, creature->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor() && player->GetQuestRewardStatus(QUEST_NATS_MEASURING_TAPE)) { AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); SendGossipMenuFor(player, 7640, creature->GetGUID()); } else SendGossipMenuFor(player, 7638, creature->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_MAKING_PEACE) == QUEST_STATUS_INCOMPLETE) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); SendGossipMenuFor(player, GOSSIP_TEXTID_VEKJIK1, creature->GetGUID()); return true; } SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; }
bool GossipHello(Player* player) override { switch (instance->GetData(EVENT_PYRAMID)) { case PYRAMID_KILLED_ALL_TROLLS: AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WEEGLI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, 1514, me->GetGUID()); //if event can proceed to end break; case PYRAMID_NOT_STARTED: SendGossipMenuFor(player, 1511, me->GetGUID()); //if event not started break; default: SendGossipMenuFor(player, 1513, me->GetGUID()); //if event are in progress } return true; }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { ClearGossipMenuFor(player); InstanceScript* instance = creature->GetInstanceScript(); if (action == GOSSIP_ACTION_INFO_DEF+1) { AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_EPOCH2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); SendGossipMenuFor(player, GOSSIP_ID_EPOCH2, creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF+2) { CloseGossipMenuFor(player); if (instance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) { instance->SetData(TYPE_THRALL_PART4, IN_PROGRESS); if (instance->GetGuidData(DATA_EPOCH).IsEmpty()) creature->SummonCreature(ENTRY_EPOCH, 2639.13f, 698.55f, 65.43f, 4.59f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000); if (Creature* thrall = (ObjectAccessor::GetCreature(*creature, instance->GetGuidData(DATA_THRALL)))) ENSURE_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, thrall->AI())->StartWP(); } } return true; }
bool GossipHello(Player* player) override { if (EventBegun) return false; uint32 AnetheronEvent = GetInstanceData(DATA_ANETHERONEVENT); // Only let them start the Horde phases if Anetheron is dead. if (AnetheronEvent == DONE && GetInstanceData(DATA_ALLIANCE_RETREAT)) { uint32 KazrogalEvent = GetInstanceData(DATA_KAZROGALEVENT); uint32 AzgalorEvent = GetInstanceData(DATA_AZGALOREVENT); if (KazrogalEvent == NOT_STARTED) AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEGIN_HORDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); else if (KazrogalEvent == DONE && AzgalorEvent == NOT_STARTED) AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AZGALOR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); else if (AzgalorEvent == DONE) AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_RETREAT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); } if (player->IsGameMaster()) AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_ITEM_GM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); SendGossipMenuFor(player, 907, me->GetGUID()); return true; }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL2, creature->GetGUID()); player->TalkedToCreature(NPC_RAZAEL, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA2, creature->GetGUID()); player->TalkedToCreature(NPC_LYANA, creature->GetGUID()); break; } return true; }
bool OnGossipHello(Player* player, Creature* creature) override { SendGossipMenuFor(player, 3873, creature->GetGUID()); player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); return true; }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { ClearGossipMenuFor(player); npc_barnesAI* pBarnesAI = ENSURE_AI(npc_barnes::npc_barnesAI, creature->AI()); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: AddGossipItemFor(player, GOSSIP_ICON_CHAT, OZ_GOSSIP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); SendGossipMenuFor(player, 8971, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: CloseGossipMenuFor(player); pBarnesAI->StartEvent(); break; case GOSSIP_ACTION_INFO_DEF+3: CloseGossipMenuFor(player); pBarnesAI->m_uiEventId = EVENT_OZ; TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_OZ", player->GetGUID().ToString().c_str()); break; case GOSSIP_ACTION_INFO_DEF+4: CloseGossipMenuFor(player); pBarnesAI->m_uiEventId = EVENT_HOOD; TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_HOOD", player->GetGUID().ToString().c_str()); break; case GOSSIP_ACTION_INFO_DEF+5: CloseGossipMenuFor(player); pBarnesAI->m_uiEventId = EVENT_RAJ; TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_RAJ", player->GetGUID().ToString().c_str()); break; } return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) != QUEST_STATUS_INCOMPLETE) return true; AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_GET_MOONSTONE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, 10811, creature->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (ENSURE_AI(npc_colonel_jules::npc_colonel_julesAI, creature->AI())->success) player->KilledMonsterCredit(NPC_COLONEL_JULES, ObjectGuid::Empty); SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE) AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_COOSH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); SendGossipMenuFor(player, 9441, creature->GetGUID()); return true; }
bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override { uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId); ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL2, me->GetGUID()); player->TalkedToCreature(NPC_RAZAEL, me->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA2, me->GetGUID()); player->TalkedToCreature(NPC_LYANA, me->GetGUID()); break; } return true; }
bool GossipHello(Player* player) override { if (success) player->KilledMonsterCredit(NPC_COLONEL_JULES, ObjectGuid::Empty); SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_CRACKIN_SOME_SKULLS) == QUEST_STATUS_INCOMPLETE) AddGossipItemFor(player, MENU_ID_COLLECT_A_DEBT, OPTION_ID_COLLECT_A_DEBT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); SendGossipMenuFor(player, GOSSIP_FLOON_STRANGE_SOUNDS, creature->GetGUID()); return true; }
bool GossipHello(Player* player) override { if (player->GetQuestStatus(QUEST_GYROMAST_REV) == QUEST_STATUS_INCOMPLETE) AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_INSERT_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID()); return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) { player->PrepareQuestMenu(creature->GetGUID()); SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); } return true; }
bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(9803) == QUEST_STATUS_INCOMPLETE) AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); SendGossipMenuFor(player, 9226, creature->GetGUID()); return true; }
bool OnGossipHello(Player* player, GameObject* go) override { if (player->GetQuestStatus(QUEST_SPIDER_GOLD) == QUEST_STATUS_INCOMPLETE) player->AreaExploredOrEventHappens(QUEST_SPIDER_GOLD); SendGossipMenuFor(player, GOSSIP_TABLE_THEKA, go->GetGUID()); return true; }