Ejemplo n.º 1
0
        internal static void InitalizeBehaviorsList()
        {
            GarrisonBase.Debug("Initalize Behaviors List..");
            //Insert new missions behavior at beginning!
            Behaviors.Clear();
            SwitchBehaviors.Clear();
            CurrentBehavior = null;
            SwitchBehavior  = null;

            //Garrison Related!
            Behaviors.AddRange(GarrisonManager.GetGarrisonBehaviors());

            InitalizedBehaviorList = true;
        }
Ejemplo n.º 2
0
        public override void Start()
        {
            Debug("BotEvent OnStart");
            HbRelogApi = new HBRelogApi();
            CacheStaticLookUp.InitalizedCache = false;
            BehaviorManager.Reset();
            Common.ResetCommonBehaviors();
            ObjectCacheManager.ResetCache(true);
            TargetManager.Reset();
            GarrisonManager.Reset();
            QuestHelper.QuestLog.Clear();
            LuaEvents.ResetFrameVariables();

            if (!LuaEvents.LuaEventsAttached)
            {
                LuaEvents.AttachLuaEventHandlers();
            }
        }
Ejemplo n.º 3
0
        //private bool _checkedMasterPlanAddon = false;
        //internal async Task<bool> CheckAddons()
        //{
        //    if (_checkedMasterPlanAddon) return false;
        //    if (DisabledMasterPlanAddon) return false;

        //    await Coroutine.Yield();
        //    await Coroutine.Sleep(StyxWoW.Random.Next(1200, 2522));
        //    if (!BaseSettings.CurrentSettings.DisableMasterPlanAddon || !LuaCommands.IsAddonLoaded("MasterPlan"))
        //    {
        //        _checkedMasterPlanAddon = true;
        //        return false;
        //    }

        //    LuaCommands.DisableAddon("MasterPlan");
        //    LuaCommands.ReloadUI();
        //    DisabledMasterPlanAddon = true;
        //    _checkedMasterPlanAddon = true;
        //    await Coroutine.Wait(6000, () => !StyxWoW.IsInGame);
        //    return true;
        //}

        internal async Task <bool> InitalizeGarrisonManager()
        {
            if (GarrisonManager.Initalized)
            {
                return(false);
            }

            await CommonCoroutines.WaitForLuaEvent("GARRISON_SHOW_LANDING_PAGE", 2500, null, LuaCommands.ClickGarrisonMinimapButton);

            await CommonCoroutines.SleepForRandomUiInteractionTime();

            await Coroutine.Sleep(StyxWoW.Random.Next(1234, 2331));

            Lua.DoString("GarrisonLandingPage.CloseButton:Click()");
            await CommonCoroutines.SleepForRandomUiInteractionTime();

            GarrisonManager.Initalize();
            return(true);
        }
        private async Task <bool> Interaction()
        {
            GarrisonManager.RefreshMissions();
            //GarrisonManager.CompletedMissionIds = LuaCommands.GetCompletedMissionIds();
            if (GarrisonManager.CompletedMissions.Count == 0)
            {
                LuaUI.MissionFrame.Close.Click();
                await CommonCoroutines.SleepForRandomUiInteractionTime();

                return(false);
            }

            if (!_commandtableCompletemissionsWaittimer.IsFinished)
            {
                await Coroutine.Sleep(_Waitmilliseconds);
            }


            //Check if the first dialog is visible..
            if (GarrisonMissionFrame.Instance.CompleteDialogIsVisible())
            {
                LuaUI.MissionFrame.MissionCompleteViewButton.Click();
                //LuaCommands.ClickButton(LuaCommands.ButtonNames.GarrisonMissionFrameMissions_CompleteDialog_BorderFrame_ViewButton);
                _commandtableCompletemissionsWaittimer.Reset();
                return(true);
            }

            //Check if mission complete dialogs are even visible..
            //if (!LuaUI.MissionFrame.IsMissionCompleteBackgroundVisible)
            //{
            //    LuaUI.MissionFrame.Close.Click();
            //    //LuaCommands.ClickButton(LuaCommands.ButtonNames.GarrisonMissionFrame_CloseButton);
            //    await CommonCoroutines.SleepForRandomUiInteractionTime();
            //    return true;
            //}

            var curMission = GarrisonManager.CompletedMissions[0];

            if (curMission.refGarrisonMission.State == MissionState.InProgress)
            {
                LuaCommands.MissionCompleteMarkComplete(curMission.Id);
                await Coroutine.Sleep(1000);
            }

            if (curMission.refGarrisonMission.State == MissionState.Complete)
            {
                LuaCommands.MissionCompleteRollChest(curMission.Id);
                await Coroutine.Sleep(1000);
            }

            GarrisonManager.CompletedMissions.RemoveAt(0);
            await Coroutine.Sleep(1000);

            return(true);

            //Find the current completed mission!
            // if (_currentMission == null)
            // {

            //     //Click next..
            //     //if (LuaCommands.IsButtonEnabled(LuaCommands.ButtonNames.GarrisonMissionFrame_MissionComplete_NextMissionButton))
            //     if(LuaUI.MissionFrame.MissionNextButton.IsEnabled())
            //     {
            //         LuaUI.MissionFrame.MissionNextButton.Click();
            //         //LuaCommands.ClickButton(LuaCommands.ButtonNames.GarrisonMissionFrame_MissionComplete_NextMissionButton);
            //         _commandtableCompletemissionsWaittimer.Reset();
            //         return true;
            //     }

            //     foreach (var id in GarrisonManager.CompletedMissions)
            //     {
            //         //Mission newmission = LuaCommands.GetMission(id);

            //         if (id.Valid && id.refGarrisonMission.State== MissionState.Complete) //State of zero means its the current one.
            //         {
            //             _currentMission = id;
            //             break;
            //         }
            //     }

            //     if (_currentMission != null)
            //     {
            //         if (!_currentMission.CanOpenMissionChest())
            //             _currentMission.BonusRolled = true;

            //         //Add sleep here since a mission can vary before we can click the treasure.
            //         if (_currentMission.Followers == 2)
            //             await Coroutine.Sleep(10000);
            //         else if (_currentMission.Followers == 3)
            //             await Coroutine.Sleep(15000);
            //         else
            //             await Coroutine.Sleep(5000);

            //         _commandtableCompletemissionsWaittimer.Reset();
            //         Logging.Write("{0}", _currentMission.ToString());
            //         return true;
            //     }
            // }

            // _commandtableCompletemissionsWaittimer = WaitTimer.OneSecond;
            // _Waitmilliseconds = 1000;

            // if (_currentMission == null || !_currentMission.Valid)
            // {
            //     //Click next..
            //     //if (LuaCommands.IsButtonEnabled(LuaCommands.ButtonNames.GarrisonMissionFrame_MissionComplete_NextMissionButton))
            //     if (LuaUI.MissionFrame.MissionNextButton.IsEnabled())
            //     {
            //         LuaUI.MissionFrame.MissionNextButton.Click();
            //         //LuaCommands.ClickButton(LuaCommands.ButtonNames.GarrisonMissionFrame_MissionComplete_NextMissionButton);
            //     }
            //     return true;
            // }


            // if (!_currentMission.MarkedAsCompleted)
            // {
            //     await CommonCoroutines.SleepForRandomUiInteractionTime();
            //     GarrisonBase.Debug("Current Mission Marking as completed");
            //     _currentMission.MarkAsCompleted();
            // }
            // if (!_currentMission.BonusRolled)
            // {
            //     await CommonCoroutines.SleepForRandomUiInteractionTime();
            //     GarrisonBase.Debug("Current Mission Bonus Rolled");
            //     _currentMission.BonusRoll();
            // }

            // await Coroutine.Yield();

            //// if (LuaCommands.IsButtonEnabled(LuaCommands.ButtonNames.GarrisonMissionFrame_MissionComplete_NextMissionButton))
            // if (LuaUI.MissionFrame.MissionNextButton.IsEnabled())
            // {

            //     LuaUI.MissionFrame.MissionNextButton.Click();
            //     //LuaCommands.ClickButton(LuaCommands.ButtonNames.GarrisonMissionFrame_MissionComplete_NextMissionButton);
            //     await CommonCoroutines.SleepForRandomUiInteractionTime();
            //     _commandtableCompletemissionsWaittimer.Reset();
            //     GarrisonManager.CompletedMissionIds.Remove(_currentMission.Id);
            //     GarrisonManager.CompletedMissions.Remove(_currentMission);
            //     _currentMission = null;
            //     return true;
            // }


            //return true;
        }