protected override void BuffRotation() { base.BuffRotation(); if (!Me.HaveBuff("Ghost Wolf") && (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95)) { // Ghost Wolf if (settings.GhostWolfMount && wManager.wManagerSetting.CurrentSetting.GroundMountName == "" && GhostWolf.KnownSpell) { ToolBox.SetGroundMount(GhostWolf.Name); } // Lesser Healing Wave OOC if (Me.HealthPercent < settings.OOCHealThreshold && cast.OnSelf(LesserHealingWave)) { return; } // Healing Wave OOC if (Me.HealthPercent < settings.OOCHealThreshold && cast.OnSelf(HealingWave)) { return; } // Water Shield if (!Me.HaveBuff("Water Shield") && !Me.HaveBuff("Lightning Shield") && (settings.UseWaterShield || !settings.UseLightningShield || Me.ManaPercentage < 20) && cast.OnSelf(WaterShield)) { return; } // PARTY Cure poison WoWPlayer needCurePoison = AIOParty.GroupAndRaid .Find(m => ToolBox.HasPoisonDebuff(m.Name)); if (needCurePoison != null && cast.OnFocusUnit(CurePoison, needCurePoison)) { return; } // PARTY Cure Disease WoWPlayer needCureDisease = AIOParty.GroupAndRaid .Find(m => ToolBox.HasDiseaseDebuff(m.Name)); if (needCureDisease != null && cast.OnFocusUnit(CureDisease, needCureDisease)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); // OOC Shadowguard if (!Me.HaveBuff("Shadowguard") && settings.UseShadowGuard && cast.OnSelf(Shadowguard)) { return; } // OOC ShadowForm if (!Me.HaveBuff("ShadowForm") && cast.OnSelf(Shadowform)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); // PARTY Circle of Healing if (AoEHeal(false)) { return; } List <AIOPartyMember> membersByMissingHealth = AIOParty.ClosePartyMembers .OrderBy(m => m.HealthPercent) .ToList(); foreach (var member in membersByMissingHealth) { if (SingleTargetHeal(member)) { return; } } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); // Ice Armor if (!Me.HaveBuff("Ice Armor") && cast.OnSelf(IceArmor)) { return; } // Frost Armor if (!Me.HaveBuff("Frost Armor") && !IceArmor.KnownSpell && cast.OnSelf(FrostArmor)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { base.BuffRotation(); if (!Me.HaveBuff("Ghost Wolf") && (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95)) { // Ghost Wolf if (settings.GhostWolfMount && wManager.wManagerSetting.CurrentSetting.GroundMountName == "" && GhostWolf.KnownSpell) { ToolBox.SetGroundMount(GhostWolf.Name); } // PARTY Healing Wave List <AIOPartyMember> alliesNeedingHealWave = AIOParty.GroupAndRaid .FindAll(a => a.IsAlive && a.HealthPercent < 70) .OrderBy(a => a.HealthPercent) .ToList(); if (alliesNeedingHealWave.Count > 0 && cast.OnFocusUnit(HealingWave, alliesNeedingHealWave[0])) { return; } // Water Shield if (!Me.HaveBuff("Water Shield") && !Me.HaveBuff("Lightning Shield") && (settings.UseWaterShield || !settings.UseLightningShield || Me.ManaPercentage < 20) && cast.OnSelf(WaterShield)) { return; } // PARTY Cure poison WoWPlayer needCurePoison = AIOParty.GroupAndRaid .Find(m => ToolBox.HasPoisonDebuff(m.Name)); if (needCurePoison != null && cast.OnFocusUnit(CurePoison, needCurePoison)) { return; } // PARTY Cure Disease WoWPlayer needCureDisease = AIOParty.GroupAndRaid .Find(m => ToolBox.HasDiseaseDebuff(m.Name)); if (needCureDisease != null && cast.OnFocusUnit(CureDisease, needCureDisease)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); // PARTY Greater heal List <AIOPartyMember> needGreaterHeal = AIOParty.GroupAndRaid .FindAll(m => m.IsAlive && m.HealthPercent < 50) .OrderBy(m => m.HealthPercent) .ToList(); if (needGreaterHeal.Count > 0 && cast.OnFocusUnit(GreaterHeal, needGreaterHeal[0])) { return; } // PARTY Heal List <AIOPartyMember> needHeal = AIOParty.GroupAndRaid .FindAll(m => m.HealthPercent < 80) .OrderBy(m => m.HealthPercent) .ToList(); if (needHeal.Count > 0 && cast.OnFocusUnit(FlashHeal, needHeal[0])) { return; } if (!FlashHeal.KnownSpell) { // PARTY Lesser Heal List <AIOPartyMember> needLesserHeal = AIOParty.GroupAndRaid .FindAll(m => m.HealthPercent < 80) .OrderBy(m => m.HealthPercent) .ToList(); if (needLesserHeal.Count > 0 && cast.OnFocusUnit(LesserHeal, needLesserHeal[0])) { return; } } // PARTY Renew List <AIOPartyMember> needRenew = AIOParty.GroupAndRaid .FindAll(m => m.HealthPercent < 90 && !m.HaveBuff(Renew.Name)) .OrderBy(m => m.HealthPercent) .ToList(); if (needRenew.Count > 0 && cast.OnFocusUnit(Renew, needRenew[0])) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); if (_knowImprovedScorch) { RangeManager.SetRange(Scorch.MaxRange); } else { RangeManager.SetRange(Fireball.MaxRange); } // Molten Armor if (!Me.HaveBuff("Molten Armor") && cast.OnSelf(MoltenArmor)) { return; } // Mage Armor if (!Me.HaveBuff("Mage Armor") && !MoltenArmor.KnownSpell && cast.OnSelf(MageArmor)) { return; } // Ice Armor if (!Me.HaveBuff("Ice Armor") && (!MoltenArmor.KnownSpell && !MageArmor.KnownSpell) && cast.OnSelf(IceArmor)) { return; } // Frost Armor if (!Me.HaveBuff("Frost Armor") && (!MoltenArmor.KnownSpell && !MageArmor.KnownSpell && !IceArmor.KnownSpell) && cast.OnSelf(FrostArmor)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { // Aspect of the Cheetah if (!Me.IsMounted && !Me.HaveBuff("Aspect of the Cheetah") && MovementManager.InMoveTo && Me.ManaPercentage > 60 && settings.UseAspectOfTheCheetah && cast.OnSelf(AspectCheetah)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); // PARTY Remove Curse WoWPlayer needRemoveCurse = AIOParty.GroupAndRaid .Find(m => ToolBox.HasCurseDebuff(m.Name)); if (needRemoveCurse != null && cast.OnFocusUnit(RemoveCurse, needRemoveCurse)) { return; } // PARTY Abolish Poison WoWPlayer needAbolishPoison = AIOParty.GroupAndRaid .Find(m => ToolBox.HasPoisonDebuff(m.Name)); if (needAbolishPoison != null && cast.OnFocusUnit(AbolishPoison, needAbolishPoison)) { return; } // PARTY Mark of the Wild WoWPlayer needMotW = AIOParty.GroupAndRaid .Find(m => !m.HaveBuff(MarkOfTheWild.Name)); if (needMotW != null && cast.OnFocusUnit(MarkOfTheWild, needMotW)) { return; } // PARTY Thorns WoWPlayer needThorns = AIOParty.GroupAndRaid .Find(m => !m.HaveBuff(Thorns.Name)); if (needThorns != null && cast.OnFocusUnit(Thorns, needThorns)) { return; } // Omen of Clarity if (!Me.HaveBuff("Omen of Clarity") && OmenOfClarity.IsSpellUsable && cast.OnTarget(OmenOfClarity)) { return; } // Regrowth WoWPlayer needRegrowth = AIOParty.GroupAndRaid .Find(m => m.HealthPercent < 80 && !m.HaveBuff("Regrowth")); if (needRegrowth != null && cast.OnFocusUnit(Regrowth, needRegrowth)) { return; } // Rejuvenation WoWPlayer needRejuvenation = AIOParty.GroupAndRaid .Find(m => m.HealthPercent < 80 && !m.HaveBuff("Rejuvenation")); if (needRejuvenation != null && cast.OnFocusUnit(Rejuvenation, needRejuvenation)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } // Tree form if (!Me.HaveBuff("Tree of Life") && cast.OnSelf(TreeOfLife)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); // Unending Breath if (!Me.HaveBuff("Unending Breath") && settings.UseUnendingBreath && cast.OnSelf(UnendingBreath)) { return; } // Demon Skin if (!Me.HaveBuff("Demon Skin") && !DemonArmor.KnownSpell && !FelArmor.KnownSpell && cast.OnSelf(DemonSkin)) { return; } // Demon Armor if ((!Me.HaveBuff("Demon Armor")) && !FelArmor.KnownSpell && cast.OnSelf(DemonArmor)) { return; } // Fel Armor if (!Me.HaveBuff("Fel Armor") && cast.OnSelf(FelArmor)) { return; } // Health Funnel OOC if (ObjectManager.Pet.HealthPercent < 50 && Me.HealthPercent > 40 && ObjectManager.Pet.GetDistance < 19 && !ObjectManager.Pet.InCombatFlagOnly && settings.HealthFunnelOOC) { Lua.LuaDoString("PetWait();"); MovementManager.StopMove(); Fight.StopFight(); if (WarlockPetAndConsumables.MyWarlockPet().Equals("Voidwalker")) { cast.PetSpell("Consume Shadows", false, true); } if (cast.OnSelf(HealthFunnel)) { Thread.Sleep(500); Usefuls.WaitIsCasting(); Lua.LuaDoString("PetFollow();"); return; } Lua.LuaDoString("PetFollow();"); } // Health Stone if (!WarlockPetAndConsumables.HaveHealthstone() && cast.OnSelf(CreateHealthStone)) { return; } // Create Soul Stone if (!WarlockPetAndConsumables.HaveSoulstone() && cast.OnSelf(CreateSoulstone)) { return; } // PARTY Soul Stone if (CreateSoulstone.KnownSpell && ToolBox.HaveOneInList(WarlockPetAndConsumables.SoulStones()) && ToolBox.GetItemCooldown(WarlockPetAndConsumables.SoulStones()) <= 0) { WoWPlayer noSoulstone = AIOParty.GroupAndRaid .Find(m => !m.HaveBuff("Soulstone Resurrection") && m.GetDistance < 20 && m.Name != "Unknown" && !TraceLine.TraceLineGo(Me.Position, m.Position) && (m.WowClass == WoWClass.Paladin || m.WowClass == WoWClass.Priest || m.WowClass == WoWClass.Shaman || m.WowClass == WoWClass.Druid)); if (noSoulstone != null) { Logger.Log($"Using Soulstone on {noSoulstone.Name}"); MovementManager.StopMoveNewThread(); MovementManager.StopMoveToNewThread(); Lua.RunMacroText($"/target {noSoulstone.Name}"); if (ObjectManager.Target.Name == noSoulstone.Name) { ToolBox.UseFirstMatchingItem(WarlockPetAndConsumables.SoulStones()); Usefuls.WaitIsCasting(); Lua.RunMacroText("/cleartarget"); ToolBox.ClearCursor(); } } } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } // Life Tap if (Me.HealthPercent > Me.ManaPercentage && settings.UseLifeTap && cast.OnSelf(LifeTap)) { return; } } }
protected override void BuffRotation() { if (!Me.HaveBuff("Drink") || Me.ManaPercentage > 95) { base.BuffRotation(); // PARTY Remove Curse WoWPlayer needRemoveCurse = AIOParty.GroupAndRaid .Find(m => ToolBox.HasCurseDebuff(m.Name)); if (needRemoveCurse != null && cast.OnFocusUnit(RemoveCurse, needRemoveCurse)) { return; } // PARTY Abolish Poison WoWPlayer needAbolishPoison = AIOParty.GroupAndRaid .Find(m => ToolBox.HasPoisonDebuff(m.Name)); if (needAbolishPoison != null && cast.OnFocusUnit(AbolishPoison, needAbolishPoison)) { return; } // PARTY Mark of the Wild WoWPlayer needMotW = AIOParty.GroupAndRaid .Find(m => !m.HaveBuff(MarkOfTheWild.Name)); if (needMotW != null && cast.OnFocusUnit(MarkOfTheWild, needMotW)) { return; } // PARTY Thorns WoWPlayer needThorns = AIOParty.GroupAndRaid .Find(m => !m.HaveBuff(Thorns.Name)); if (needThorns != null && cast.OnFocusUnit(Thorns, needThorns)) { return; } // Omen of Clarity if (!Me.HaveBuff("Omen of Clarity") && OmenOfClarity.IsSpellUsable && cast.OnSelf(OmenOfClarity)) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } // Bear Form if (!CatForm.KnownSpell && !Me.HaveBuff(BearForm.Name) && cast.OnSelf(BearForm)) { return; } // Cat Form if (!Me.HaveBuff(CatForm.Name) && cast.OnSelf(CatForm)) { return; } } }
protected virtual void BuffRotation() { // PARTY buff rotations if (specialization.RotationType == Enums.RotationType.Party) { // Aura if (!Me.HaveBuff(settings.PartyAura) && cast.OnSelf(AIOSpell.GetSpellByName(settings.PartyAura))) { return; } // PARTY Resurrection List <AIOPartyMember> needRes = AIOParty.GroupAndRaid .FindAll(m => m.IsDead) .OrderBy(m => m.GetDistance) .ToList(); if (needRes.Count > 0 && cast.OnFocusUnit(Redemption, needRes[0])) { return; } if (settings.PartyHealOOC || specialization is PaladinHolyParty) { // PARTY Heal List <AIOPartyMember> needHeal = AIOParty.GroupAndRaid .FindAll(m => m.HealthPercent < 70) .OrderBy(m => m.HealthPercent) .ToList(); if (needHeal.Count > 0 && cast.OnFocusUnit(HolyLight, needHeal[0])) { return; } // PARTY Flash of Light List <AIOPartyMember> needFoL = AIOParty.GroupAndRaid .FindAll(m => m.HealthPercent < 85) .OrderBy(m => m.HealthPercent) .ToList(); if (needFoL.Count > 0 && cast.OnFocusUnit(FlashOfLight, needFoL[0])) { return; } } // PARTY Purifiy WoWPlayer needsPurify = AIOParty.GroupAndRaid .Find(m => ToolBox.HasDiseaseDebuff(m.Name) || ToolBox.HasPoisonDebuff(m.Name)); if (needsPurify != null && cast.OnFocusUnit(Purify, needsPurify)) { return; } // Party Cleanse WoWPlayer needsCleanse = AIOParty.GroupAndRaid .Find(m => ToolBox.HasMagicDebuff(m.Name)); if (needsCleanse != null && cast.OnFocusUnit(Cleanse, needsCleanse)) { return; } // Blessings if (PartyBlessingBuffs()) { return; } // PARTY Drink if (AIOParty.PartyDrink(settings.PartyDrinkName, settings.PartyDrinkThreshold)) { return; } } }