private void cmdRefresh_Click(object sender, EventArgs e) { WoW.KeyPressRelease(WoW.Keys.D0); Thread.Sleep(400); Log.Clear(); // Row 1 Pixel Testing Log.Write("Player Health: " + WoW.HealthPercent); Log.Write("Player Level: " + WoW.Level); Log.Write("Player Power: " + WoW.Power); Log.Write("Target Health: " + WoW.TargetHealthPercent); Log.Write("Unit In Combat: " + WoW.IsInCombat); Log.Write("Unit Power: " + WoW.UnitPower); Log.Write("Target Is Friend: " + WoW.TargetIsFriend); Log.Write("Has Target: " + WoW.HasTarget); Log.Write("Player Is Casting: " + WoW.PlayerIsCasting); Log.Write("Target Is Casting: " + WoW.TargetIsCasting); Log.Write("Player Haste Percent: " + WoW.HastePercent); Log.Write("Target Visible: " + WoW.TargetIsVisible); Log.Write("Pet Out: " + WoW.HasPet); Log.Write("Pet Health: " + WoW.PetHealthPercent); Log.Write("Wild Imps Count: " + WoW.WildImpsCount); Log.Write("Dreadstalkers Count: " + WoW.DreadstalkersCount); // Row 2 Pixel Testing Log.Write("Is Moving: " + WoW.IsMoving); Log.Write("Auto Attacking: " + WoW.AutoAtacking); Log.Write("Target Is Player: " + WoW.TargetIsPlayer); Log.Write("Flag: " + WoW.Flag); Log.Write("Last Casted Id: " + WoW.LastSpellCastedID); Log.Write("Target Casting Id: " + WoW.TargetCastingSpellID); for (int i = 1; i < 8; i++) { Log.Write($"Talent {i} : " + WoW.Talent(i)); } Log.Write($"Race : " + WoW.PlayerRace + " Spec : " + WoW.PlayerSpec); for (int i = 19; i < 21; i++) { Log.Write($"SetBonus T{i}: " + WoW.SetBonus(i)); } for (int i = 1; i < 3; i++) { Log.Write($"Legendary {i}: " + WoW.Legendary(i)); } while (WoW.TargetCastingSpellID != 0) { Log.Write("Target % Cast: " + WoW.TargetPercentCast); Thread.Sleep(100); } }
private void EnhancementBuffs() { if (WoW.CanCast("Windstrike", true, true, true) && WoW.PlayerHasBuff("Ascendance") && WoW.Maelstrom >= 8 && WoW.SetBonus(19) >= 2 && (WoW.Talent(7) != 3 || WoW.SpellCooldownTimeRemaining("Earthen spike") > 1 && WoW.SpellCooldownTimeRemaining("Doom winds") > 1 || WoW.TargetHasDebuff("Earthen spike"))) { WoW.CastSpell("Windstrike"); return; } if (WoW.CanCast("Rockbiter", true, true, true) && WoW.Talent(1) == 3 && !WoW.PlayerHasBuff("Landslide")) { WoW.CastSpell("Rockbiter"); return; } if (WoW.CanCast("FoA") && WoW.Maelstrom >= 5 && WoW.Talent(6) == 2 && !WoW.PlayerHasBuff("FoA") && WoW.PlayerHasBuff("Ascendance") && Pets.IsRunning) { WoW.CastSpell("FoA"); return; } if (WoW.CanCast("Crash lightning") && WoW.Maelstrom >= 20 && WoW.IsSpellInRange("Rockbiter") && Pets.IsRunning && !Crash.IsRunning) { Crash.Restart(); WoW.CastSpell("Crash lightning"); return; } if (!WoW.PlayerHasBuff("Flametongue") && WoW.CanCast("Flametongue", true, true, true)) { WoW.CastSpell("Flametongue"); return; } if (WoW.CanCast("Frostbrand", true, true, true) && WoW.Maelstrom >= 20 && WoW.Talent(4) == 3 && !WoW.PlayerHasBuff("Frostbrand") && FuryCheck45) { WoW.CastSpell("Frostbrand"); return; } if (WoW.CanCast("Flametongue", true, true, true) && WoW.PlayerBuffTimeRemaining("Flametongue") < 600 + GCD && WoW.SpellCooldownTimeRemaining("Doom Winds") < GCD * 2) { WoW.CastSpell("Flametongue"); return; } if (WoW.CanCast("Frostbrand", true, true, true) && WoW.Maelstrom >= 20 && WoW.PlayerBuffTimeRemaining("Frostbrand") < 600 + GCD && WoW.SpellCooldownTimeRemaining("Doom Winds") < GCD * 2) { WoW.CastSpell("Frostbrand"); } }
private void EnhancementBuffs() { //actions +=/ windstrike,if= (variable.heartEquipped | set_bonus.tier19_2pc) & (!talent.earthen_spike.enabled | (cooldown.earthen_spike.remains > 1 & cooldown.doom_winds.remains > 1) | debuff.earthen_spike.up) if (WoW.CanCast("Windstrike", true, true, true) && WoW.PlayerHasBuff("Ascendance") && WoW.Maelstrom >= 8 && (/*heart equip place holder*/ WoW.SetBonus(19) >= 2) && (WoW.Talent(7) != 3 || (WoW.SpellCooldownTimeRemaining("Earthen spike") > 1 && WoW.SpellCooldownTimeRemaining("Doom winds") > 1 || WoW.TargetHasDebuff("Earthen spike")))) { WoW.CastSpell("Windstrike", "Top prioity spell"); return; } //actions.buffs = rockbiter,if= talent.landslide.enabled & !buff.landslide.up if (WoW.CanCast("Rockbiter", true, true, true) && WoW.Talent(1) == 3 && !WoW.PlayerHasBuff("Landslide")) { WoW.CastSpell("Rockbiter", "Buff spell"); return; } //actions.buffs +=/ fury_of_air,if= buff.ascendance.up | (feral_spirit.remains > 5) | level < 100 if (WoW.CanCast("FoA") && WoW.Maelstrom >= 5 && WoW.Talent(6) == 2 && !WoW.PlayerHasBuff("FoA") && (WoW.PlayerHasBuff("Ascendance") && Pets.IsRunning)) { WoW.CastSpell("FoA", "Buff spell"); return; } //actions.buffs +=/ crash_lightning,if= artifact.alpha_wolf.rank & prev_gcd.1.feral_spirit if (WoW.CanCast("Crash lightning") && WoW.Maelstrom >= 20 && WoW.IsSpellInRange("Rockbiter") && Pets.IsRunning && !Crash.IsRunning) { Crash.Restart(); WoW.CastSpell("Crash lightning", "Buff spell"); return; } //actions.buffs +=/ flametongue,if= !buff.flametongue.up if (!WoW.PlayerHasBuff("Flametongue") && WoW.CanCast("Flametongue", true, true, true)) { WoW.CastSpell("Flametongue", "Buff spell"); return; } //actions.buffs +=/ frostbrand,if= talent.hailstorm.enabled & !buff.frostbrand.up & variable.furyCheck45 if (WoW.CanCast("Frostbrand", true, true, true) && WoW.Maelstrom >= 20 && WoW.Talent(4) == 3 && !WoW.PlayerHasBuff("Frostbrand") && furyCheck45) { WoW.CastSpell("Frostbrand", "Buff spell"); return; } //actions.buffs +=/ flametongue,if= buff.flametongue.remains < 6 + gcd & cooldown.doom_winds.remains < gcd * 2 if (WoW.CanCast("Flametongue", true, true, true) && WoW.PlayerBuffTimeRemaining("Flametongue") < 600 + GCD && WoW.SpellCooldownTimeRemaining("Doom Winds") < GCD * 2) { WoW.CastSpell("Flametongue", "Buff spell"); return; } //actions.buffs +=/ frostbrand,if= talent.hailstorm.enabled & buff.frostbrand.remains < 6 + gcd & cooldown.doom_winds.remains < gcd * 2 if (WoW.CanCast("Frostbrand", true, true, true) && WoW.Maelstrom >= 20 && WoW.PlayerBuffTimeRemaining("Frostbrand") < 600 + GCD && WoW.SpellCooldownTimeRemaining("Doom Winds") < GCD * 2) { WoW.CastSpell("Frostbrand", "Buff spell"); return; } }
public override void Pulse() { TimerReset(); if (combatRoutine.Type == RotationType.SingleTarget) // Do Single Target Stuff here { if (WoW.HasTarget && WoW.TargetIsEnemy) //First things go first { /* if (WoW.TargetIsCasting && WoW.IsSpellInRange("Wind Shear")) //interupt every spell - need to add kickable spells * { * WoW.CastSpell("Wind Shear"); * return; * }*/ if (WoW.CanCast("Rockbiter") && (!WoW.PlayerHasBuff("Landslide") || (WoW.PlayerBuffTimeRemaining("Landslide") < 2 || WoW.PlayerSpellCharges("Rockbiter") == 2))) { WoW.CastSpell("Rockbiter"); return; } if (WoW.CanCast("Feral Spirit")) { Pets.Start(); WoW.CastSpell("Feral Spirit"); return; } if (WoW.CanCast("Crash Lightning") && Pets.IsRunning && !Crash.IsRunning) { Crash.Start(); WoW.CastSpell("Crash Lightning"); return; } if (WoW.PlayerHasBuff("Ascendance") && WoW.CanCast("Windstrike")) { WoW.CastSpell("Windstrike"); return; } if (WoW.CanCast("Flametongue") && (!WoW.PlayerHasBuff("Flametongue") || WoW.PlayerBuffTimeRemaining("Flametongue") < 1)) { WoW.CastSpell("Flametongue"); return; } if (WoW.CanCast("Doom Winds")) { WoW.CastSpell("Doom Winds"); return; } if (WoW.CanCast("Ascendance")) { WoW.CastSpell("Ascendance"); } if (WoW.CanCast("Stormstrike") && WoW.PlayerHasBuff("Stormbringer") && WoW.Maelstrom >= 20) { WoW.CastSpell("Stormstrike"); return; } if (WoW.SetBonus(20) >= 2 && WoW.CanCast("Crash Lightning") && !WoW.PlayerHasBuff("Lightning Crash")) { WoW.CastSpell("Crash Lightning"); return; } if (WoW.CanCast("Stormstrike") && WoW.Maelstrom >= 40) { WoW.CastSpell("Stormstrike"); return; } if (WoW.CanCast("Flametongue") && (!WoW.PlayerHasBuff("Flametongue") || WoW.PlayerBuffTimeRemaining("Flametongue") < 5)) { WoW.CastSpell("Flametongue"); return; } if (WoW.CanCast("Rockbiter") && WoW.Maelstrom < 40) { WoW.CastSpell("Rockbiter"); return; } if (WoW.CanCast("Lava Lash") && WoW.Maelstrom > 40) { WoW.CastSpell("Lava Lash"); } } } if (combatRoutine.Type == RotationType.AOE) { if (WoW.HasTarget && WoW.TargetIsEnemy) //First things go first { } } }