Exemplo n.º 1
0
 void MoveInLineOfSight(Unit* who)
 {
     if (!phase && who && who->GetDistance2d(me) < 10.0f)
         if (Player* player = who->ToPlayer())
             if (player->GetQuestStatus(QUEST_THE_BRONZE_DRAGONSHRINE_ORACLE) == QUEST_STATUS_INCOMPLETE)
             {
                 playerGUID = player->GetGUID();
                 if ((orphanGUID = getOrphanGUID(player, ORPHAN_ORACLE)))
                     phase = 1;
             }
 }
Exemplo n.º 2
0
 void MoveInLineOfSight(Unit* who)
 {
     if (!phase && who && who->GetDistance2d(me) < 10.0f)
         if (Player* player = who->ToPlayer())
             if (player->GetQuestStatus(QUEST_PLAYMATE_WOLVAR) == QUEST_STATUS_INCOMPLETE)
             {
                 playerGUID = player->GetGUID();
                 if ((orphanGUID = getOrphanGUID(player, ORPHAN_WOLVAR)))
                     phase = 1;
             }
 }
Exemplo n.º 3
0
 void MoveInLineOfSight(Unit* who)
 {
     if (who && who->GetDistance2d(me) < 10.0f)
         if (Player* player = who->ToPlayer())
             if (player->GetQuestStatus(QUEST_HOME_OF_THE_BEAR_MEN) == QUEST_STATUS_INCOMPLETE)
                 if (Creature* orphan = Creature::GetCreature(*me, getOrphanGUID(player, ORPHAN_WOLVAR)))
                 {
                     player->AreaExploredOrEventHappens(QUEST_HOME_OF_THE_BEAR_MEN);
                     orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_10);
                 }
 }
Exemplo n.º 4
0
 void MoveInLineOfSight(Unit* who)
 {
     if (!phase && who && who->GetDistance2d(me) < 10.0f)
         if (Player* player = who->ToPlayer())
         {
             if (player->GetQuestStatus(QUEST_THE_DRAGON_QUEEN_ORACLE) == QUEST_STATUS_INCOMPLETE)
             {
                 playerGUID = player->GetGUID();
                 orphanGUID = getOrphanGUID(player, ORPHAN_ORACLE);
                 if (orphanGUID)
                     phase = 1;
             }
             else if (player->GetQuestStatus(QUEST_THE_DRAGON_QUEEN_WOLVAR) == QUEST_STATUS_INCOMPLETE)
             {
                 playerGUID = player->GetGUID();
                 orphanGUID = getOrphanGUID(player, ORPHAN_WOLVAR);
                 if (orphanGUID)
                     phase = 7;
             }
         }
 }
Exemplo n.º 5
0
 void MoveInLineOfSight(Unit* who)
 {
     if (!phase && who && who->GetDistance2d(me) < 10.0f)
         if (Player* player = who->ToPlayer())
             if (player->GetQuestStatus(QUEST_MEETING_A_GREAT_ONE) == QUEST_STATUS_INCOMPLETE)
             {
                 playerGUID = player->GetGUID();
                 orphanGUID = getOrphanGUID(player, ORPHAN_ORACLE);
                 if (orphanGUID)
                     phase = 1;
             }
 }
Exemplo n.º 6
0
 void MoveInLineOfSight(Unit* who) override
 {
     if (!phase && who && who->GetDistance2d(me) < 10.0f)
         if (Player* player = who->ToPlayer())
             if (player->GetQuestStatus(QUEST_THE_BIGGEST_TREE_EVER) == QUEST_STATUS_INCOMPLETE)
             {
                 playerGUID = player->GetGUID();
                 orphanGUID = getOrphanGUID(player, ORPHAN_ORACLE);
                 if (!orphanGUID.IsEmpty())
                     phase = 1;
             }
 }
Exemplo n.º 7
0
        bool OnTrigger(Player* player, AreaTriggerEntry const* trigger)
        {
            if (player->isDead() || !player->HasAura(SPELL_ORPHAN_OUT))
                return false;

            uint32 questId = 0;
            uint32 orphanId = 0;

            switch (trigger->id)
            {
                case AT_DOWN_AT_THE_DOCKS:
                    questId = QUEST_DOWN_AT_THE_DOCKS;
                    orphanId = ORPHAN_ORCISH;
                    break;
                case AT_GATEWAY_TO_THE_FRONTIER:
                    questId = QUEST_GATEWAY_TO_THE_FRONTIER;
                    orphanId = ORPHAN_ORCISH;
                    break;
                case AT_LORDAERON_THRONE_ROOM:
                    questId = QUEST_LORDAERON_THRONE_ROOM;
                    orphanId = ORPHAN_ORCISH;
                    break;
                case AT_BOUGHT_OF_ETERNALS:
                    questId = QUEST_BOUGHT_OF_ETERNALS;
                    orphanId = ORPHAN_HUMAN;
                    break;
                case AT_SPOOKY_LIGHTHOUSE:
                    questId = QUEST_SPOOKY_LIGHTHOUSE;
                    orphanId = ORPHAN_HUMAN;
                    break;
                case AT_STONEWROUGHT_DAM:
                    questId = QUEST_STONEWROUGHT_DAM;
                    orphanId = ORPHAN_HUMAN;
                    break;
                case AT_DARK_PORTAL:
                    questId = player->GetTeam() == ALLIANCE ? QUEST_DARK_PORTAL_A : QUEST_DARK_PORTAL_H;
                    orphanId = player->GetTeam() == ALLIANCE ? ORPHAN_DRAENEI : ORPHAN_BLOOD_ELF;
                    break;
            }

            if (questId && orphanId && getOrphanGUID(player, orphanId) && player->GetQuestStatus(questId) == QUEST_STATUS_INCOMPLETE)
                player->AreaExploredOrEventHappens(questId);

            return true;
        }
Exemplo n.º 8
0
 void MoveInLineOfSight(Unit* who)
 {
     if (who && me->GetDistance2d(who) < 20.0f)
         if (Player* player = who->ToPlayer())
             if (player->HasAura(SPELL_ORPHAN_OUT))
             {
                 uint32 questId = 0;
                 uint32 orphanId = 0;
                 switch (me->GetEntry())
                 {
                     case NPC_CAVERNS_OF_TIME_CW_TRIGGER:
                         questId = player->GetTeam() == ALLIANCE ? QUEST_TIME_TO_VISIT_THE_CAVERNS_A : QUEST_TIME_TO_VISIT_THE_CAVERNS_H;
                         orphanId = player->GetTeam() == ALLIANCE ? ORPHAN_DRAENEI : ORPHAN_BLOOD_ELF;
                         break;
                     case NPC_EXODAR_01_CW_TRIGGER:
                         questId = QUEST_THE_SEAT_OF_THE_NARUU;
                         orphanId = ORPHAN_DRAENEI;
                         break;
                     case NPC_EXODAR_02_CW_TRIGGER:
                         questId = QUEST_CALL_ON_THE_FARSEER;
                         orphanId = ORPHAN_DRAENEI;
                         break;
                     case NPC_AERIS_LANDING_CW_TRIGGER:
                         questId = QUEST_JHEEL_IS_AT_AERIS_LANDING;
                         orphanId = ORPHAN_DRAENEI;
                         break;
                     case NPC_AUCHINDOUN_CW_TRIGGER:
                         questId = QUEST_AUCHINDOUN_AND_THE_RING;
                         orphanId = ORPHAN_DRAENEI;
                         break;
                     case NPC_SPOREGGAR_CW_TRIGGER:
                         questId = QUEST_HCHUU_AND_THE_MUSHROOM_PEOPLE;
                         orphanId = ORPHAN_BLOOD_ELF;
                         break;
                     case NPC_THRONE_OF_ELEMENTS_CW_TRIGGER:
                         questId = QUEST_VISIT_THE_THRONE_OF_ELEMENTS;
                         orphanId = ORPHAN_BLOOD_ELF;
                         break;
                     case NPC_SILVERMOON_01_CW_TRIGGER:
                         if (player->GetQuestStatus(QUEST_NOW_WHEN_I_GROW_UP) == QUEST_STATUS_INCOMPLETE && getOrphanGUID(player, ORPHAN_BLOOD_ELF))
                         {
                             player->AreaExploredOrEventHappens(QUEST_NOW_WHEN_I_GROW_UP);
                             if (player->GetQuestStatus(QUEST_NOW_WHEN_I_GROW_UP) == QUEST_STATUS_COMPLETE)
                                 if (Creature* samuro = me->FindNearestCreature(25151, 20.0f))
                                 {
                                     uint32 emote = 0;
                                     switch (urand(1, 5))
                                     {
                                         case 1:
                                             emote = EMOTE_ONESHOT_WAVE;
                                             break;
                                         case 2:
                                             emote = EMOTE_ONESHOT_ROAR;
                                             break;
                                         case 3:
                                             emote = EMOTE_ONESHOT_FLEX;
                                             break;
                                         case 4:
                                             emote = EMOTE_ONESHOT_SALUTE;
                                             break;
                                         case 5:
                                             emote = EMOTE_ONESHOT_DANCE;
                                             break;
                                     }
                                     samuro->HandleEmoteCommand(emote);
                                 }
                         }
                         break;
                 }
                 if (questId && orphanId && getOrphanGUID(player, orphanId) && player->GetQuestStatus(questId) == QUEST_STATUS_INCOMPLETE)
                     player->AreaExploredOrEventHappens(questId);
             }
 }