public override void Pulse() { if (WoW.IsMounted) { return; } int OOCPlea = 1; while (WoW.PlayerBuffStacks("Sins of the Many") < WoW.GroupSize && !WoW.IsInCombat && OOCAtonement) { WoW.TargetMember(OOCPlea); if (WoW.TargetHasBuff("Atonement")) { OOCPlea++; continue; } if (!WoW.CanCast("Plea")) { continue; } if (OOCPlea > WoW.GroupSize) { OOCPlea = 1; } WoW.TargetMember(OOCPlea); WoW.CastSpell("Plea"); OOCPlea++; } // While rapture is active, spread Power Word: Shield to players int RaptureSpread = 1; while (WoW.PlayerHasBuff("Rapture") && WoW.PartyLowestHealthPercent > 60) { WoW.TargetMember(RaptureSpread); if (WoW.TargetHasBuff("Power Word: Shield")) { RaptureSpread++; continue; } if (!WoW.CanCast("Power Word: Shield")) { continue; } if (RaptureSpread > WoW.GroupSize) { RaptureSpread = 1; } WoW.TargetMember(RaptureSpread); WoW.CastSpell("Power Word: Shield"); RaptureSpread++; } // Ask player for TankId when first loading Rotation if (WoW.TankId == 0) { var f = new frmEnterTankId { TopMost = true }; f.ShowDialog(); } // Use Angelic Feather for speed if enabled in UI if (WoW.CanCast("Angelic Feather") && WoW.IsMoving && !WoW.PlayerHasBuff("Angelic Feather") && UseFeatherForSpeed) { WoW.CastSpell("Angelic Feather"); return; } // Use Arcane Torrent if selected in UI if (WoW.CanCast("Arcane Torrent") && WoW.Mana < 90 && ArcaneTorrentUI && WoW.IsInCombat && !WoW.PlayerIsChanneling) { WoW.CastSpell("Arcane Torrent"); return; } var lowest = WoW.PartyLowestHealthPercent; int currentTargetId = WoW.PartyMemberIdWithLowestHealthPercent; Log.Write("Party Lowest HP: " + lowest); if (lowest >= DPSWhenPartyAbove && WoW.PartyMemberIsNeedingADispel == 0 && WoW.IsInCombat) { // If active Atonements are below UI threshold then spread Atonement with Plea until threshold is met int PleaStack = 1; while (WoW.PlayerBuffStacks("Sins of the Many") < ActiveAtonements && ActiveAtonements != 0) { WoW.TargetMember(PleaStack); if (WoW.TargetHasBuff("Atonement")) { PleaStack++; continue; } if (!WoW.CanCast("Plea")) { continue; } if (PleaStack > WoW.GroupSize) { PleaStack = 1; } WoW.TargetMember(PleaStack); WoW.CastSpell("Plea"); PleaStack++; } // Mitigate damage with Power Word: Shield if (WoW.CanCast("Power Word: Shield") && lowest < 90) { WoW.CastSpell("Power Word: Shield"); return; } //DPS Rotation WoW.TargetNearestEnemy(); if (WoW.HasTarget && WoW.TargetIsEnemy) { if (lowest < 99 && lowest > 95 && WoW.PlayerBuffStacks("Sins of the Many") < ActiveAtonements && ActiveAtonements != 0) { WoW.CastSpell("Plea"); return; } //Maintain Shadow Word: Pain(or Purge the Wicked, if you have taken this talent) on the target. if (WoW.TargetDebuffTimeRemaining("Shadow Word: Pain") < 400 && WoW.CanCast("Shadow Word: Pain") && WoW.Talent(6) != 1) { WoW.CastSpell("Shadow Word: Pain"); return; } if (WoW.TargetDebuffTimeRemaining("Purge the Wicked") < 400 && WoW.CanCast("Purge the Wicked") && WoW.Talent(6) == 1) { WoW.CastSpell("Purge the Wicked"); return; } //Use Schism on cooldown(if you have taken this talent). if (WoW.CanCast("Schism") && WoW.Talent(1) == 3) { WoW.CastSpell("Schism"); return; } //Use Penance on cooldown. if (WoW.CanCast("Penance")) { WoW.CastSpell("Penance"); return; } //Use Power Word: Solace on cooldown(if you have taken this talent). if (WoW.CanCast("Power Word: Solace") && WoW.Talent(4) == 1) { WoW.CastSpell("Power Word: Solace"); return; } if (WoW.CanCast("Shadowfiend") && WoW.Talent(4) != 3) { WoW.CastSpell("Shadowfiend"); return; } if (WoW.CanCast("Mindbender") && WoW.Talent(4) == 3) { WoW.CastSpell("Mindbender"); return; } //Use Smite as a filler. if (WoW.CanCast("Smite")) { WoW.CastSpell("Smite"); return; } } return; } if (WoW.PartyMemberIsNeedingADispel != 0) { currentTargetId = WoW.PartyMemberIsNeedingADispel; } var averageHp = WoW.PartyAverageHealthPercent; if (averageHp < 60 && WoW.CanCast("Power Infusion") && WoW.Talent(7) == 1) { WoW.CastSpell("Power Infusion"); // Off GCD no return needed } // Use Shadowfiend to boost healing output via Atonement if (averageHp < 90 && WoW.CanCast("Shadowfiend") && WoW.Talent(4) != 3 && WoW.IsInCombat) { WoW.TargetNearestEnemy(); WoW.CastSpell("Shadowfiend"); return; } // Use Mindbender for mana regardless of Party HP if (WoW.CanCast("Mindbender") && WoW.Talent(4) == 3 && WoW.IsInCombat && WoW.Mana < 90) { WoW.TargetNearestEnemy(); WoW.CastSpell("Mindbender"); return; } WoW.TargetMember(currentTargetId); // Target the lowest health party member or the member needing a dispell if (WoW.PartyMemberIsNeedingADispel != 0 && WoW.CanCast("Purify")) { WoW.CastSpell("Purify"); return; } // If we are targeting the tank and his HP < 20% Pain Suppression him if (lowest <= PainSuppressionHealth && WoW.CanCast("Pain Suppression") && WoW.TankId == currentTargetId) { WoW.CastSpell("Pain Suppression"); return; } // Uses Power Word: Radiance when UI values are met if (WoW.PlayerSpellCharges("PWRadiance") == 2 && WoW.CountAlliesUnderHealthPercentage(PWRHealth) >= PWRAlliesUnderHP) { WoW.CastSpell("PWRadiance"); return; } // Use Shadow Mend when DPSWhenPartyAbove is less than UI value if (lowest <= DPSWhenPartyAbove && WoW.CanCast("Shadow Mend")) { WoW.CastSpell("Shadow Mend"); return; } // Auto Light's Wrath For Dungeons if (WoW.CountAlliesUnderHealthPercentage(60) <= 3 && WoW.GroupSize <= 5 && WoW.PlayerBuffStacks("Sins of the Many") >= 3 && WoW.CanCast("Light's Wrath")) { WoW.TargetNearestEnemy(); WoW.CastSpell("Light's Wrath"); return; } // Auto Light's Wrath For Raids if (WoW.CountAlliesUnderHealthPercentage(60) >= 8 && WoW.GroupSize >= 5 && WoW.PlayerBuffStacks("Sins of the Many") >= 8 && WoW.CanCast("Light's Wrath")) { WoW.TargetNearestEnemy(); WoW.CastSpell("Light's Wrath"); return; } // When player uses Fade, PWRx2+Evangelism to ramp up atonement if (WoW.PlayerHasBuff("Fade") && !WoW.IsSpellOnCooldown("Evangelism") && WoW.Talent(7) != 3 && WoW.PlayerSpellCharges("PWRadiance") >= 1) { WoW.TargetMember(lowest); WoW.CastSpell("PWRadiance"); WoW.TargetMember(2); WoW.CastSpell("PWRadiance"); WoW.CastSpell("Evangelism"); WoW.TargetNearestEnemy(); return; } // When player uses Fade, PWRx2+Evangelism to ramp up atonement if (WoW.PlayerHasBuff("Fade") && WoW.Talent(7) != 3 && WoW.PlayerSpellCharges("PWRadiance") >= 1) { WoW.TargetMember(lowest); WoW.CastSpell("PWRadiance"); WoW.TargetMember(2); WoW.CastSpell("PWRadiance"); WoW.CastSpell("Evangelism"); WoW.TargetNearestEnemy(); return; } // Refresh PW:S on self (For Questing, doesn't Work in Group) if (WoW.PlayerBuffTimeRemaining("Power Word: Shield") < 400 && WoW.CanCast("Power Word: Shield") && WoW.GroupSize == 1) { WoW.CastSpell("Power Word: Shield"); return; } }
public override void Pulse() { if (!WoW.InGame) { return; } if (WoW.TankId == 0) { string currentTalents = WoW.Talent(1) + "" + WoW.Talent(2) + "" + WoW.Talent(3) + "" + WoW.Talent(4) + "" + WoW.Talent(5) + "" + WoW.Talent(6) + "" + WoW.Talent(7); if (supportedTalents != currentTalents) { MessageBox.Show("You are not using the supported talents " + supportedTalents + ", your currnet talents are " + currentTalents + ".", "Frozen", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Log.Write("Talents are correct", Color.Green); } if (!WoW.PlayerHasBuff("Beacon of Faith") && !WoW.PlayerHasBuff("Beacon of Light") && WoW.CanCast("Beacon of Faith")) { WoW.CastSpellOnMe("Beacon of Faith"); } var f = new frmEnterTankId { TopMost = true }; f.ShowDialog(); } if (WoW.PlayerHealthPercent == 0 || WoW.IsMounted) { return; } if (WoW.PlayerIsCasting) { return; } var lowest = WoW.PartyLowestHealthPercent; int currentTargetId = WoW.PartyMemberIdWithLowestHealthPercent; if (WoW.PartyMemberIsNeedingADispel != 0) { currentTargetId = WoW.PartyMemberIsNeedingADispel; } if (currentTargetId == 0) { return; } if (lowest == 100) { return; } var averageHp = WoW.PartyAverageHealthPercent; if (WoW.PlayerHealthPercent < 10 && WoW.IsInCombat && WoW.CanCast("Divine Shield") && !WoW.PlayerHasDebuff("Forbearance")) { WoW.CastSpell("Divine Shield"); } if (averageHp < 80 && WoW.CanCast("Aura Mastery")) { WoW.CastSpell("Aura Mastery"); } if (averageHp < 60 && WoW.CanCast("Avenging Wrath") && !WoW.PlayerHasBuff("Aura Mastery")) { WoW.CastSpell("Avenging Wrath"); } WoW.TargetMember(currentTargetId); // Target the lowest health party member if (WoW.PartyMemberIsNeedingADispel != 0 && WoW.CanCast("Cleanse")) { WoW.CastSpell("Cleanse"); return; } // Beacon of Light or Beacon of Virtue(if selected) maintain on your primary target at all times. if (WoW.Talent(7) == 3) { if (WoW.TankHealth > 50 && averageHp > 90 && WoW.CanCast("Beacon of Virtue") && WoW.TankId == currentTargetId && !WoW.TargetHasBuff("Beacon of Virtue")) { WoW.CastSpell("Beacon of Virtue"); } } if (WoW.Talent(7) == 1) { if (WoW.CanCast("Beacon of Light") && WoW.TankId == currentTargetId && !WoW.TargetHasBuff("Beacon of Light")) { WoW.CastSpell("Beacon of Light"); } } if (WoW.CanCast("Lay On Hands") && lowest <= 20 && // Use LOH if tanks health < 20 % !WoW.TargetHasDebuff("Forbearance") && // Make sure we dont LOH a tank with forbearance debuff WoW.TankId == currentTargetId) // Make sure we only use LOH on tank { WoW.CastSpell("Lay On Hands"); return; } if (WoW.CanCast("Blessing of Sacrifice") && lowest <= 30 && WoW.TankId == currentTargetId && !WoW.TargetHasBuff("Shield Wall Oto")) { WoW.CastSpell("Blessing of Sacrifice"); return; } // Holy Shock use on cooldown to generate Infusion of Light procs. // Consume Infusion of Light procs using the appropriate heal before your next Holy Shock. if (WoW.CanCast("Holy Shock") && !WoW.PlayerHasBuff("Infusion of Light")) { WoW.CastSpell("Holy Shock"); return; } if (WoW.Talent(5) == 3) { if (WoW.CanCast("Holy Prism") && WoW.TankId == currentTargetId && WoW.IsInCombat) { WoW.CastSpell("Holy Prism"); return; } } // Bestow Faith on cooldown (if selected). // Judgment to maintain the buff from Judgment of Light (if selected). // Light of the Martyr a potent emergency heal as long as you have health to spare. if (WoW.CanCast("Light of the Martyr") && lowest <= 40 && WoW.PlayerHealthPercent >= 70) { WoW.CastSpell("Light of the Martyr"); return; } // Flash of Light use as an emergency heal to save players facing death. if (WoW.CanCast("Flash of Light") && lowest <= 50 && !WoW.IsMoving) { WoW.CastSpell("Flash of Light"); return; } // Holy Light use to heal moderate to high damage. if (WoW.CanCast("Holy Light") && lowest <= 90 && !WoW.IsMoving) { WoW.CastSpell("Holy Light"); return; } if (WoW.CanCast("Tyr's Deliverance") && !WoW.IsMoving) { WoW.TargetNearestEnemy(); if (WoW.HasTarget && WoW.TargetIsEnemy) { WoW.CastSpell("Tyr's Deliverance"); } } }
public override void Pulse() { Log.Write("Mana: " + WoW.Mana, Color.Red); if (WoW.TankId == 0) { var f = new frmEnterTankId { TopMost = true }; f.ShowDialog(); } if (WoW.PlayerHealthPercent == 0 || WoW.IsMounted) { return; } if (WoW.PlayerIsCasting) { return; } var lowest = WoW.PartyLowestHealthPercent; var currentTargetId = WoW.PartyMemberIdWithLowestHealthPercent; var averageHp = WoW.PartyAverageHealthPercent; WoW.TargetMember(currentTargetId); if (currentTargetId == 0) { return; } if (lowest == 100) { return; } if (WoW.GroupSize == 5) { Log.Write($"Lowest Health Target = [/target party{currentTargetId}] health = {averageHp}"); } else { Log.Write($"Lowest Health Target = [/target raid{currentTargetId}] health = {averageHp}"); } if (lowest < 85 && !WoW.IsSpellOnCooldown("ThunderFocusTea")) { WoW.CastSpell("ThunderFocusTea"); } if (WoW.PlayerHasBuff("ThunderFocusTea")) { if (averageHp < 70 && WoW.CanCast("EssenceFont") && !WoW.IsSpellOnCooldown("EssenceFont") && !WoW.PlayerHasBuff("EssenceFont")) { WoW.CastSpell("EssenceFont"); } if (averageHp < 90 && WoW.CanCast("Vivify") && !WoW.IsSpellOnCooldown("Vivify")) { WoW.CastSpell("Vivify"); } } if (WoW.IsInCombat && WoW.Mana <= 70 && !WoW.IsSpellOnCooldown("Manatea")) { WoW.CastSpell("Manatea"); return; } if (WoW.CanCast("RenewingMist") && WoW.IsInCombat && !WoW.TargetHasBuff("RenewingMist") && !WoW.PlayerHasBuff("RenewingMist") && !WoW.IsSpellOnCooldown("RenewingMist")) { WoW.CastSpell("RenewingMist"); return; } if (UseCooldowns) { if (lowest > 90) { if (WoW.CanCast("RSK") && WoW.HasTarget && WoW.TargetIsEnemy && WoW.IsInCombat) { WoW.CastSpell("RSK"); return; } if (WoW.CanCast("BlackoutKick") && WoW.HasTarget && WoW.TargetIsEnemy && WoW.IsInCombat && WoW.PlayerBuffStacks("BlackoutBuff") == 3) { WoW.CastSpell("BlackoutKick"); return; } if (WoW.CanCast("Tiger") && WoW.HasTarget && WoW.TargetIsEnemy && WoW.IsInCombat && WoW.PlayerBuffStacks("BlackoutBuff") < 3) { WoW.CastSpell("Tiger"); return; } } } if (WoW.CanCast("Revival") && averageHp < 65 && !WoW.IsSpellOnCooldown("Revival")) { WoW.CastSpell("Revival"); return; } if (WoW.CanCast("LifeCocoon") && lowest <= 25 && !WoW.IsSpellOnCooldown("LifeCocoon")) { WoW.CastSpell("LifeCocoon"); return; } if (averageHp < 75) { if (WoW.CanCast("InvokeChiJitheRedCrane") && !WoW.IsSpellOnCooldown("InvokeChiJitheRedCrane")) { WoW.CastSpell("InvokeChiJitheRedCrane"); return; } if (WoW.CanCast("EssenceFont") && !WoW.IsSpellOnCooldown("EssenceFont") && !WoW.PlayerHasBuff("EssenceFont")) { WoW.CastSpell("EssenceFont"); return; } if (WoW.CanCast("Vivify")) { WoW.CastSpell("Vivify"); return; } } if (WoW.Level > 100) { if (WoW.CanCast("SheilunsGift") && lowest <= 75 && !WoW.IsMoving && WoW.PlayerSpellCharges("SheilunsGift") >= 4) { WoW.CastSpell("SheilunsGift"); return; } } if (WoW.CanCast("EnvelopingMist") && lowest <= 70 && !WoW.IsMoving && !WoW.TargetHasBuff("EnvelopingMist") && WoW.LastSpell != ("EnvelopingMist")) { WoW.CastSpell("EnvelopingMist"); return; } if (WoW.CanCast("Vivify") && lowest <= 65) { WoW.CastSpell("Vivify"); return; } if (WoW.CanCast("Effuse") && lowest <= 90 && !WoW.PlayerIsChanneling) { WoW.CastSpell("Effuse"); return; } if (WoW.CanCast("ChiWave") && lowest <= 90 && WoW.IsInCombat) { WoW.CastSpell("ChiWave"); return; } if (WoW.IsInCombat && WoW.Mana <= 70 && !WoW.IsSpellOnCooldown("Manatea")) { WoW.CastSpell("Manatea"); } }
public override void Pulse() { if (WoW.IsMounted) { return; } if (WoW.TankId == 0) { var f = new frmEnterTankId { TopMost = true }; f.ShowDialog(); } if (!WoW.IsInCombat && WoW.CanCast("Angelic Feather") && WoW.IsMoving && !WoW.PlayerHasBuff("Angelic Feather")) { WoW.CastSpell("Angelic Feather"); return; } var lowest = WoW.PartyLowestHealthPercent; int currentTargetId = WoW.PartyMemberIdWithLowestHealthPercent; Log.Write("Party Lowest HP: " + lowest); if (lowest >= 80 && WoW.PartyMemberIsNeedingADispel == 0 && WoW.IsInCombat) { WoW.TargetNearestEnemy(); //DPS Rotation if (WoW.HasTarget && WoW.TargetIsEnemy) { //Maintain Shadow Word: Pain(or Purge the Wicked, if you have taken this talent) on the target. if (WoW.TargetDebuffTimeRemaining("Shadow Word: Pain") < 400 && WoW.CanCast("Shadow Word: Pain") && WoW.Talent(6) != 1) { WoW.CastSpell("Shadow Word: Pain"); return; } if (WoW.TargetDebuffTimeRemaining("Purge the Wicked") < 400 && WoW.CanCast("Purge the Wicked") && WoW.Talent(6) == 1) { WoW.CastSpell("Purge the Wicked"); return; } //Use Schism on cooldown(if you have taken this talent). if (WoW.CanCast("Schism") && WoW.Talent(1) == 3) { WoW.CastSpell("Schism"); return; } if (WoW.PlayerHasBuff("Overloaded with Light") && WoW.CanCast("Light's Wrath")) { WoW.CastSpell("Light's Wrath"); return; } //Use Penance on cooldown. if (WoW.CanCast("Penance")) { WoW.CastSpell("Penance"); return; } //Use Power Word: Solace on cooldown(if you have taken this talent). if (WoW.CanCast("Power Word: Solace") && WoW.Talent(4) == 1) { WoW.CastSpell("Power Word: Solace"); return; } if (WoW.CanCast("Shadowfiend") && WoW.Talent(4) != 3) { WoW.CastSpell("Shadowfiend"); return; } if (WoW.CanCast("Mindbender") && WoW.Talent(4) == 3) { WoW.CastSpell("Mindbender"); return; } //Use Smite as a filler. if (WoW.CanCast("Smite")) { WoW.CastSpell("Smite"); return; } } return; } if (WoW.PartyMemberIsNeedingADispel != 0) { currentTargetId = WoW.PartyMemberIsNeedingADispel; } var averageHp = WoW.PartyAverageHealthPercent; if (averageHp < 60 && WoW.CanCast("Power Infusion")) { WoW.CastSpell("Power Infusion"); // Off GCD no return needed } if (WoW.CanCast("Shadowfiend") && WoW.Talent(4) != 3 && WoW.IsInCombat && WoW.Mana < 90) { WoW.TargetNearestEnemy(); WoW.CastSpell("Shadowfiend"); return; } if (WoW.CanCast("Mindbender") && WoW.Talent(4) == 3 && WoW.IsInCombat && WoW.Mana < 90) { WoW.TargetNearestEnemy(); WoW.CastSpell("Mindbender"); return; } WoW.TargetMember(currentTargetId); // Target the lowest health party member or the member needing a dispell if (WoW.PartyMemberIsNeedingADispel != 0 && WoW.CanCast("Purify")) { WoW.CastSpell("Purify"); return; } // If we are targeting the tank and his HP < 20% Pain Suppression him if (lowest <= 20 && WoW.CanCast("Pain Suppression") && WoW.TankId == currentTargetId) { WoW.CastSpell("Pain Suppression"); return; } // If we are targeting the tank and his HP < 20% Pain Suppression him if (lowest <= 95 && WoW.CanCast("Power Word: Shield") && WoW.TankId == currentTargetId) { WoW.CastSpell("Power Word: Shield"); return; } if (WoW.CanCast("Penance") && lowest <= 60 && WoW.TankId == currentTargetId) { WoW.CastSpell("Penance"); return; } if (WoW.CanCast("Shadow Mend") && (lowest < 80 || (WoW.TargetHasBuff("Attonement") && lowest < 99))) { WoW.CastSpell("Shadow Mend"); return; } if (WoW.CanCast("Plea") && lowest < 99 && lowest >= 80) { WoW.CastSpell("Plea"); return; } // Mitigate as much damage as possible and always keep PWS up on self if (WoW.PlayerBuffTimeRemaining("Power Word: Shield") < 400 && WoW.CanCast("Power Word: Shield")) { WoW.CastSpell("Power Word: Shield"); return; } }
// Checks current Mana // Checks if currently in game // Allows Tank ID Selection public override void Pulse() { if (!WoW.InGame) { return; } if (WoW.TankId == 0) { var f = new frmEnterTankId { TopMost = true }; f.ShowDialog(); } // Checks if player is dead, mounted or casting and does nothing if true if (WoW.PlayerHealthPercent == 0 || WoW.IsMounted) { return; } if (WoW.PlayerIsCasting) { return; } // Sets a variable for the player with the lowest HP var lowest = WoW.PartyLowestHealthPercent; // Sets a variable for our current target var currentTargetID = WoW.PartyMemberIdWithLowestHealthPercent; // Sets variable for the average party HP var averageHp = WoW.PartyAverageHealthPercent; // Sets our target to be the player with the lowest health percentage WoW.TargetMember(currentTargetID); // Checks if player has a target or if their target is at full health and if so it does nothing. if (currentTargetID == 0) { return; } if (lowest == 100) { return; } // DPS Rotation // Checks is cleave button is turned on. if (combatRoutine.Type == RotationType.Cleave) { // Cast Rising Sun Kick if (WoW.CanCast("RisingSunKick") && WoW.HasTarget && WoW.TargetIsEnemy && WoW.IsInCombat) { WoW.CastSpell("RisingSunKick"); return; } // Cast Blackout kick if you have 3 buff stacks if (WoW.CanCast("Blackout Kick") && WoW.HasTarget && WoW.TargetIsEnemy && WoW.IsInCombat && WoW.PlayerBuffStacks("Blackout Buff") == 3) { WoW.CastSpell("Blackout Kick"); return; } // Cast Tiger palm if you dont have 3 buff stacks if (WoW.CanCast("Tiger Palm") && WoW.HasTarget && WoW.TargetIsEnemy && WoW.IsInCombat && WoW.PlayerBuffStacks("Blackout Buff") < 3) { WoW.CastSpell("Tiger Palm"); return; } } //CoolDowns // If lowest HP party member has less than 85% HP then cast Thunder Focus Tea if (lowest <= 85 && !WoW.IsSpellOnCooldown("Thunder Focus Tea")) { WoW.CastSpell("Thunder Focus Tea"); } // Checks if player has Thunder Focus Tea buff if (WoW.PlayerHasBuff("Thunder Focus Tea")) { // If Player has Thunder Focus tea Buff and Average party HP is 65% then cast Essence Font if (averageHp <= 65 && WoW.CanCast("Essence Font") && !WoW.IsSpellOnCooldown("Essence Font") && !WoW.PlayerHasBuff("Essence Font")) { WoW.CastSpell("Essence Font"); } // If Player has Thunder Focus tea Buff and Average party HP is 65% then cast Vivify if (averageHp <= 90 && WoW.CanCast("Vivify") && !WoW.IsSpellOnCooldown("Vivify")) { WoW.CastSpell("Vivify"); } } //Cast Mana Tea if mana is less than or equal to 70% if (WoW.IsInCombat && WoW.Mana <= 70 && !WoW.IsSpellOnCooldown("Mana Tea")) { WoW.CastSpell("Mana Tea"); return; } // If the average HP of party is below 65% cast Revival if (WoW.CanCast("Revival") && averageHp <= 65 && !WoW.IsSpellOnCooldown("Revival")) { WoW.CastSpell("Revival"); return; } // If Tank HP is below 15% cast Life Cocoon on Tank if (WoW.TankHealth <= 25 && WoW.TankId == currentTargetID && WoW.CanCast("Life Cocoon") && !WoW.IsSpellOnCooldown("Life Cocoon")) { WoW.CastSpell("Life Cocoon"); return; } // If party hits 15% HP Cast life Cocoon if (WoW.CanCast("Life Cocoon") && lowest <= 15 && !WoW.IsSpellOnCooldown("Life Cocoon")) { WoW.CastSpell("Life Cocoon"); return; } // Average Healing Priority // If the average Hp of the Party is 75% then cast Chi Ji if (averageHp < 80) { if (WoW.CanCast("InvokeChiJitheRedCrane") && !WoW.IsSpellOnCooldown("InvokeChiJitheRedCrane")) { WoW.CastSpell("InvokeChiJitheRedCrane"); return; } // If the average Hp of the Party is 75% then cast Essence Font if (WoW.CanCast("Essence Font") && !WoW.IsSpellOnCooldown("Essence Font") && !WoW.PlayerHasBuff("Essence Font")) { WoW.CastSpell("Essence Font"); return; } // If the average Hp of the Party is 75% then cast Vivify if (WoW.CanCast("Vivify")) { WoW.CastSpell("Vivify"); return; } } // If Renewing Mist can be cast on player without it it will be casted. if (WoW.CanCast("Renewing Mist") && WoW.IsInCombat && !WoW.TargetHasBuff("Renewing Mist") && !WoW.PlayerHasBuff("Renewing Mist") && !WoW.IsSpellOnCooldown("Renewing Mist")) { WoW.CastSpell("Renewing Mist"); return; } // If above level 100 then cast Sheilun's Gift when not moving if (WoW.Level > 100) { if (WoW.CanCast("Sheiluns Gift") && lowest <= 75 && !WoW.IsMoving && WoW.PlayerSpellCharges("Sheiluns Gift") >= 5) { WoW.CastSpell("Sheiluns Gift"); return; } } // Cast Enveloping Mist and does not cast it if it was the last spell cast. if (WoW.CanCast("Enveloping Mist") && lowest <= 70 && !WoW.IsMoving && !WoW.TargetHasBuff("Enveloping Mist") && WoW.LastSpell != ("Enveloping Mist")) { WoW.CastSpell("Enveloping Mist"); return; } // Casts Vivfy on target with less than or 65% HP if (WoW.CanCast("Vivify") && lowest <= 65) { WoW.CastSpell("Vivify"); return; } // Casts Effuse on target with less than or 90% HP if (WoW.CanCast("Effuse") && lowest <= 90 && !WoW.PlayerIsChanneling) { WoW.CastSpell("Effuse"); return; } // Casts Chi Wave on target with less than or 65% HP if (WoW.CanCast("Chi Wave") && lowest <= 95 && WoW.IsInCombat) { WoW.CastSpell("Chi Wave"); return; } }