private void ResetAll() { _isDone = false; _currentAct = Act.Invalid; _currentActBountiesCoroutine = null; _acts = new List <Act>(); _completedActs = new List <Act>(); if (PluginSettings.Current.BountyAct1) { _acts.Add(Act.A1); } if (PluginSettings.Current.BountyAct2) { _acts.Add(Act.A2); } if (PluginSettings.Current.BountyAct3) { _acts.Add(Act.A3); } if (PluginSettings.Current.BountyAct4) { _acts.Add(Act.A4); } if (PluginSettings.Current.BountyAct5) { _acts.Add(Act.A5); } //_acts = new List<Act> { Act.A1, Act.A2, Act.A3, Act.A4, Act.A5 }; }
private bool TrySelectActCoroutine() { _currentActBountiesCoroutine = GetNextAct(); _currentAct = _currentActBountiesCoroutine?.Act ?? Act.Invalid; if (_currentActBountiesCoroutine != null) { Core.Logger.Log($"[Bounties] Picked {_currentActBountiesCoroutine.Act} as new target."); return(false); } Core.Logger.Log("[Bounties] Unable to select an act for bounties, Finished."); return(true); }
public override async Task <bool> MainTask() { if (Adventurer.TimeSinceWorldChange < 1000) { Core.Logger.Debug("[Bounties] Sleeping 1 second due to world change"); await Coroutine.Sleep(1000); } if (_currentActBountiesCoroutine == null) { if (_currentAct != Act.Invalid) { if (!BountyHelpers.AreAllActBountiesCompleted(_currentAct)) { _currentActBountiesCoroutine = new ActBountiesCoroutine(_currentAct); } else { if (!TrySelectActCoroutine()) { return(false); } } } else { return(false); } } if (!await _currentActBountiesCoroutine.GetCoroutine()) { return(false); } _completedActs.Add(_currentAct); if (_acts.Any()) { _acts.Remove(_currentAct); if (_acts.Count == 0) { Core.Logger.Log("All Acts Complete"); return(true); } } return(TrySelectActCoroutine()); }
public override void OnStart() { if (!Adventurer.Enabled) { Logger.Error("Plugin is not enabled. Please enable Adventurer and try again."); return; } PluginEvents.CurrentProfileType = ProfileType.Bounty; ResetAll(); _currentActBountiesCoroutine = GetNextAct(); if (_currentActBountiesCoroutine != null) { Logger.Info("[Bounties] Picked {0} as new target. (BonusAct: {1})", _currentActBountiesCoroutine.Act, _currentActBountiesCoroutine.Act == ZetaDia.CurrentBonusAct); } }
private async Task <bool> GetCoroutine() { if (_isDone) { return(true); } PluginEvents.PulseUpdates(); if (_currentActBountiesCoroutine == null) { _isDone = true; return(true); } if (PluginEvents.TimeSinceWorldChange < 1000) { Logger.Debug("[Bounties] Sleeping 1 second due to world change"); await Coroutine.Sleep(1000); } if (!await _currentActBountiesCoroutine.GetCoroutine()) { return(false); } _completedActs.Add(_currentAct); if (PluginSettings.Current.BountyMode3.HasValue && PluginSettings.Current.BountyMode3.Value) { _acts.Remove(_currentAct); if (_acts.Count == 0) { _isDone = true; return(true); } } _currentActBountiesCoroutine = GetNextAct(); if (_currentActBountiesCoroutine != null) { Logger.Info("[Bounties] Picked {0} as new target. (BonusAct: {1})", _currentActBountiesCoroutine.Act, _currentActBountiesCoroutine.Act == ZetaDia.CurrentBonusAct); } return(true); }
public override async Task <bool> StartTask() { PluginEvents.CurrentProfileType = ProfileType.Bounty; _currentAct = Act.Invalid; _currentActBountiesCoroutine = null; _completedActs = new List <Act>(); switch (ActsMode) { case ActSelectionMode.None: var isSelectedActMode = PluginSettings.Current.BountyMode3.HasValue && PluginSettings.Current.BountyMode3.Value; _acts = isSelectedActMode ? GetUserSelectedActs() : GetBalanceMaterialActs(); break; case ActSelectionMode.Balance: _acts = GetBalanceMaterialActs(); break; case ActSelectionMode.All: _acts = GetAllActs(); break; case ActSelectionMode.A1: _acts = GetSpecificAct(Act.A1); break; case ActSelectionMode.A2: _acts = GetSpecificAct(Act.A2); break; case ActSelectionMode.A3: _acts = GetSpecificAct(Act.A3); break; case ActSelectionMode.A4: _acts = GetSpecificAct(Act.A4); break; case ActSelectionMode.A5: _acts = GetSpecificAct(Act.A5); break; default: _acts = new List <Act>(); break; } foreach (var act in _acts.ToList()) { if (BountyHelpers.AreAllActBountiesCompleted(act)) { _acts.Remove(act); } else { _completedActs.Add(act); } } return(TrySelectActCoroutine()); }