void ProspectorAnvilwardGossip::GossipSelectOption(Object* pObject, Player* Plr, uint32 Id, uint32 IntId, const char* EnteredCode) { if(!pObject->IsCreature()) return; Creature* _unit = TO< Creature* >(pObject); switch(IntId) { case 1: { QuestLogEntry* qLogEntry = Plr->GetQuestLogForEntry(8483); if(qLogEntry != NULL) { _unit->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Follow me!"); _unit->m_custom_waypoint_map = new WayPointMap; _unit->GetAIInterface()->SetWaypointMap(_unit->m_custom_waypoint_map); WayPoint* wp = new WayPoint; wp->id = 1; wp->x = _unit->GetSpawnX(); wp->y = _unit->GetSpawnY(); wp->z = _unit->GetSpawnZ() + 2.05f; wp->o = _unit->GetSpawnO(); wp->flags = 256; wp->backwardskinid = wp->forwardskinid = _unit->GetDisplayId(); wp->backwardemoteid = wp->forwardemoteid = 0; wp->backwardemoteoneshot = wp->forwardemoteoneshot = false; wp->waittime = 0; _unit->m_custom_waypoint_map->push_back(wp); for(uint32 i = 0; i < sizeof(ProspectorAnvilwardWaypoints) / sizeof(LocationExtra); i++) { wp = new WayPoint; wp->id = i + 2; wp->x = ProspectorAnvilwardWaypoints[i].x; wp->y = ProspectorAnvilwardWaypoints[i].y; wp->z = ProspectorAnvilwardWaypoints[i].z; wp->o = ProspectorAnvilwardWaypoints[i].o; wp->flags = 256; wp->backwardskinid = wp->forwardskinid = _unit->GetDisplayId(); wp->backwardemoteid = wp->forwardemoteid = 0; wp->backwardemoteoneshot = wp->forwardemoteoneshot = false; wp->waittime = 0; _unit->m_custom_waypoint_map->push_back(wp); } } else { _unit->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I have nothing for you. Go away!"); } GossipEnd(pObject, Plr); } break; } }
void GossipScript::OnEnd(Object* pObject, Player* Plr) { GossipEnd(pObject, Plr); }