Exemplo n.º 1
0
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;
    }
}
Exemplo n.º 2
0
void GossipScript::OnEnd(Object* pObject, Player* Plr)
{
	GossipEnd(pObject, Plr);
}