private async Task UseArcaneLure() { await Coroutine.Sleep(SpellManager.GlobalCooldownLeft); if (!DoingSomethingElse) { var lure = Me.BagItems.FirstOrDefault(b => b.ItemInfo.Id == Lures.FirstOrDefault(l => l.Name == "Arcane Lure")?.ID); UseItem(lure, IsInCorrectZone(Zones.AllButDalaran) && !Me.HasAura(Auras.ArcaneLure) && S.UseArcaneLure); } return; }
private async Task UseMarkOfAquaos() { await Coroutine.Sleep(SpellManager.GlobalCooldownLeft); if (S.UseMarkOfAquaos) { if (AquaosBossIsCurrentlySummoned && !_aquaosPauseTimer.IsRunning) { WoWUnit aquaos = AquaosBoss; if (aquaos != null) { _aquaosPauseTimer.Restart(); infoLog(aquaos.SafeName + " has been summoned by someone! Waiting 3 minutes to cast mark if you have/get one."); if (Me.CurrentTarget != aquaos) { aquaos.Target(); } } } if (_aquaosPauseTimer.IsRunning && _aquaosPauseTimer.ElapsedMilliseconds >= (180 * 1000)) { _aquaosPauseTimer.Reset(); infoLog("Can cast Mark of Aquaos again."); } //if (!AquaosBossIsCurrentlySummoned && Me.Location != _lastFishingLocation) //{ // CommonCoroutines.MoveTo(_lastFishingLocation).Wait(); //} if (!DoingSomethingElse) { var lure = Me.BagItems.FirstOrDefault(b => b.ItemInfo.Id == Lures.FirstOrDefault(l => l.Name == "Mark of Aquaos")?.ID); if (lure != null && AquaosBossIsCurrentlySummoned && _aquaosPauseTimer.ElapsedMilliseconds < (120 * 1000)) { infoLog("Boss already summoned or recently summoned. Trying again when he is not spawned."); return; } if (UseItem(lure, IsInCorrectZone(Zones.DalaranMargossRetreat) && S.UseMarkOfAquaos)) { _aquaosPauseTimer.Reset(); } } } return; }