Example #1
0
 private async Task <bool> MoveFromEKToKalimdorHorde()
 {
     return(await UtilityCoroutine.UseTransport(
                GameObjectId_Ship_TheThundercaller,
                _theThundercallerEKLoc,
                _theThundercallerKalimdorLoc,
                _theThundercallerEKWaitLoc,
                _theThundercallerEKBoardLoc,
                _theThundercallerKalimdorWaitLoc));
 }
Example #2
0
        private async Task <bool> PurchaseGroundMount_Alliance()
        {
            switch (Me.Race)
            {
            case WoWRace.Human:
                return(await TurninQuestAndBuyMount(
                           MobId_RandalHunter,
                           _randalHunterLoc,
                           QuestId_LearnToRide_Human,
                           MobId_KatieHunter,
                           _katieHunterLoc,
                           ItemId_PintoBridle));

            case WoWRace.Pandaren:
                return(await TurninQuestAndBuyMount(
                           MobId_MeiLin,
                           _meiLinLoc,
                           QuestId_LearnToRide_Pandaren,
                           MobId_OldWhitenose,
                           _oldWhitenoseLoc,
                           ItemId_ReinsOfTheBlackDragonTurtle));

            case WoWRace.Gnome:
                return(await TurninQuestAndBuyMount(
                           MobId_BinjyFeatherwhistle,
                           _binjyFeatherwhistleLoc,
                           QuestId_LearnToRide_Gnome,
                           MobId_MilliFeatherwhistle,
                           _milliFeatherwhistleLoc,
                           ItemId_BlueMechanostrider));

            case WoWRace.Dwarf:
                return(await TurninQuestAndBuyMount(
                           MobId_UlthamIronhorn,
                           _ulthamIronhornLoc,
                           QuestId_LearnToRide_Dwarf,
                           MobId_VeronAmberstill,
                           _veronAmberstillLoc,
                           ItemId_WhiteRam));

            case WoWRace.NightElf:
                if (InEasternKingdoms)
                {
                    return(await UtilityCoroutine.UseTransport(
                               GameObjectId_Ship_TheBravery,
                               _theBraveryStartLoc,
                               _theBraveryEndLoc,
                               _theBraveryWaitAtLoc,
                               _theBraveryStandAtLoc,
                               _theBraveryGetOffAtLoc));
                }

                if (!InKalimdor)
                {
                    return(false);
                }

                return(await TurninQuestAndBuyMount(
                           MobId_Jartsam,
                           _jartsamLoc,
                           QuestId_LearnToRide_NightElf,
                           MobId_Lelanai,
                           _lelanaiLoc,
                           ItemId_ReinsOfTheStripedNightsaber));

            case WoWRace.Draenei:
                if (InEasternKingdoms)
                {
                    return(await UtilityCoroutine.UseTransport(
                               GameObjectId_Ship_TheBravery,
                               _theBraveryStartLoc,
                               _theBraveryEndLoc,
                               _theBraveryWaitAtLoc,
                               _theBraveryStandAtLoc,
                               _theBraveryGetOffAtLoc));
                }

                // port over to Exodar
                if (InKalimdor && Me.ZoneId != 3557)
                {
                    var portal = ObjectManager.GetObjectsOfType <WoWGameObject>()
                                 .FirstOrDefault(g => g.Entry == GameObjectId_PortalToExodar);

                    if (portal == null || !portal.WithinInteractRange)
                    {
                        return(await(UtilityCoroutine.MoveTo(portal != null ? portal.Location : _exodarPortalLoc, "Exodar portal")));
                    }

                    portal.Interact();
                    await CommonCoroutines.SleepForLagDuration();

                    return(true);
                }
                if (Me.ZoneId != 3557)
                {
                    return(false);
                }

                // Turnin the 'Learn To Ride At The Exodar' quest if in log
                if (_profileHelpers.HasQuest(QuestId_LearnToRideAtTheExodar) && _profileHelpers.IsQuestCompleted(QuestId_LearnToRideAtTheExodar))
                {
                    return(await UtilityCoroutine.TurninQuest(MobId_Aalun, _aalunLoc, QuestId_LearnToRideAtTheExodar));
                }

                return(await TurninQuestAndBuyMount(
                           MobId_Aalun,
                           _aalunLoc,
                           QuestId_LearnToRide_Draenei,
                           MobId_ToralliusThePackHandler,
                           _toralliusThePackHandlerLoc,
                           ItemId_BrownElekk));
            }

            return(false);
        }