public void StartForcedCooldown() { if (ForcedCooldown > 0) { ForcedCooldownTimer = new Timer(ForcedCooldown); } }
protected override void Pull() { base.Pull(); // Dire Bear Form if (!Me.HaveBuff("Dire Bear Form") && cast.OnSelf(DireBearForm)) { return; } // Bear Form if (!DireBearForm.KnownSpell && !Me.HaveBuff("Bear Form") && cast.OnSelf(BearForm)) { return; } // Check if caster in list if (_casterEnemies.Contains(ObjectManager.Target.Name)) { _fightingACaster = true; } // Pull logic if (ToolBox.Pull(cast, settings.AlwaysPull, new List <AIOSpell> { FaerieFireFeral, MoonfireRank1, Wrath })) { _combatMeleeTimer = new Timer(1000); return; } }
protected override void Pull() { base.Pull(); // Defensive Stance if (InBattleStance() && cast.OnSelf(DefensiveStance)) { return; } // Check if caster in list if (_casterEnemies.Contains(ObjectManager.Target.Name)) { _fightingACaster = true; } // Pull logic if (ToolBox.Pull(cast, settings.AlwaysPull, new List <AIOSpell> { Shoot, Throw })) { _combatMeleeTimer = new Timer(2000); return; } }
protected override void PullRotation() { base.PullRotation(); WoWUnit Target = ObjectManager.Target; ToolBox.CheckAutoAttack(Attack); // Seal of Righteousness if (Me.ManaPercentage > settings.PartyProtSealOfWisdom && !Me.HaveBuff("Seal of Righteousness") && cast.OnSelf(SealOfRighteousness)) { return; } // Seal of Wisdom if (Me.ManaPercentage <= settings.PartyProtSealOfWisdom && !Me.HaveBuff("Seal of Wisdom") && cast.OnSelf(SealOfWisdom)) { return; } AIOSpell avengersShield = settings.PartyAvengersShieldnRank1 ? AvengersShieldRank1 : AvengersShield; // Pull logic if (ToolBox.Pull(cast, true, new List <AIOSpell> { avengersShield, Judgement })) { _combatMeleeTimer = new Timer(500); return; } }
// Party Drink public static bool PartyDrink(string drinkName, int threshold) { if (ObjectManager.Me.ManaPercentage >= threshold) { return(false); } Timer wait = new Timer(1000); while (!wait.IsReady && !ObjectManager.Me.InCombatFlagOnly && !Fight.InFight) { Thread.Sleep(300); } if (ObjectManager.Me.ManaPercentage < threshold && !ObjectManager.Me.HaveBuff("Drink") && !MovementManager.InMovement && !MovementManager.InMoveTo && drinkName.Trim().Length > 0) { ToolBox.AddToDoNotSellList(drinkName.Trim()); if (ToolBox.CountItemStacks(drinkName) > 0) { ItemsManager.UseItemByNameOrId(drinkName); Logger.Log($"[Party drink] Using {drinkName}"); return(true); } else { Logger.Log($"Couldn't find any {drinkName} in bags"); return(false); } } return(false); }
protected override void Pull() { base.Pull(); // Check stance if (!InBattleStance() && ObjectManager.Me.Rage < 10 && !_pullFromAfar && !settings.AlwaysPull) { cast.OnSelf(BattleStance); } // Charge Battle Stance if (InBattleStance() && ObjectManager.Target.GetDistance > 9f && ObjectManager.Target.GetDistance < 24f && !_pullFromAfar && cast.OnTarget(Charge)) { return; } // Charge Berserker Stance if (InBerserkStance() && ObjectManager.Target.GetDistance > 9f && ObjectManager.Target.GetDistance < 24f && !_pullFromAfar && cast.OnTarget(Intercept)) { return; } // Check if caster in list if (_casterEnemies.Contains(ObjectManager.Target.Name)) { _fightingACaster = true; } // Pull logic if (ToolBox.Pull(cast, settings.AlwaysPull, new List <AIOSpell> { Shoot, Throw })) { _combatMeleeTimer = new Timer(2000); return; } }
protected override void Pull() { base.Pull(); // Check if caster if (_casterEnemies.Contains(ObjectManager.Target.Name)) { _fightingACaster = true; } // Remove Ghost Wolf if (Me.HaveBuff("Ghost Wolf") && cast.OnSelf(GhostWolf)) { return; } // Water Shield if (!Me.HaveBuff("Water Shield") && !Me.HaveBuff("Lightning Shield") && (settings.UseWaterShield || !settings.UseLightningShield || Me.ManaPercentage < _lowManaThreshold) && cast.OnSelf(WaterShield)) { return; } // Ligntning Shield if (Me.ManaPercentage > _lowManaThreshold && !Me.HaveBuff("Lightning Shield") && !Me.HaveBuff("Water Shield") && settings.UseLightningShield && (!WaterShield.KnownSpell || !settings.UseWaterShield) && cast.OnTarget(LightningShield)) { return; } // Pull logic if (ToolBox.Pull(cast, settings.ENAlwaysPullWithLightningBolt, new List <AIOSpell> { settings.ENPullRankOneLightningBolt?LightningBoltRank1: null, LightningBolt })) { _combatMeleeTimer = new Timer(2000); return; } }
protected override void Pull() { base.Pull(); // Check if caster in list if (_casterEnemies.Contains(ObjectManager.Target.Name)) { _fightingACaster = true; } // Pull logic if (ToolBox.Pull(cast, settings.AlwaysPull || ToolBox.HasPoisonDebuff(), new List <AIOSpell> { Shoot, Throw })) { _combatMeleeTimer = new Timer(2000); return; } // Stealth if (!Me.HaveBuff("Stealth") && ObjectManager.Target.GetDistance > 15f && ObjectManager.Target.GetDistance < 25f && ToolBox.GetClosestHostileFrom(ObjectManager.Target, 20) == null && settings.StealthApproach && Backstab.KnownSpell && (!ToolBox.HasPoisonDebuff() || settings.StealthWhenPoisoned) && cast.OnSelf(Stealth)) { return; } // Stealth approach if (Me.HaveBuff("Stealth") && ObjectManager.Target.GetDistance > 3f && !_isStealthApproching) { StealthApproach(); } // Auto if (ObjectManager.Target.GetDistance < 6f && !Me.HaveBuff("Stealth")) { ToggleAutoAttack(true); } }
/// <summary> /// Creates a new instance of the <see cref="WoWSpell"/> class. /// </summary> /// <param name="spellNameEnglish">The spell name.</param> /// <param name="cooldownTimer">The cooldown time.</param> public WoWSpell(string spellNameEnglish, double cooldownTimer) : base(spellNameEnglish) { // Set timer this._timer = new Timer(cooldownTimer); }
protected override void Pull() { // Bear Form if (!CatForm.KnownSpell && !Me.HaveBuff("Bear Form") && cast.OnSelf(BearForm)) { return; } // Cat Form if (!Me.HaveBuff("Cat Form") && ObjectManager.Target.Guid > 0 && cast.OnSelf(CatForm)) { return; } // Prowl if (Me.HaveBuff("Cat Form") && !Me.HaveBuff(Prowl.Name) && ObjectManager.Target.GetDistance > 15f && ObjectManager.Target.GetDistance < 25f && ToolBox.GetClosestHostileFrom(ObjectManager.Target, 20) == null && settings.StealthEngage && cast.OnSelf(Prowl)) { return; } // Check if caster in list if (_casterEnemies.Contains(ObjectManager.Target.Name)) { _fightingACaster = true; } // Pull logic if (ToolBox.Pull(cast, settings.AlwaysPull, new List <AIOSpell> { FaerieFireFeral, MoonfireRank1, Wrath })) { _combatMeleeTimer = new Timer(2000); return; } // Pull Bear/Cat if (Me.HaveBuff("Bear Form") || Me.HaveBuff("Dire Bear Form") || Me.HaveBuff("Cat Form")) { RangeManager.SetRangeToMelee(); // Prowl approach if (Me.HaveBuff("Prowl") && ObjectManager.Target.GetDistance > 3f && !_isStealthApproching) { StealthApproach(); } return; } }