public void Damage() { if (Meteor.IsSpellUsable && MyHelpers.haveBuff(RuneofPower.Name) && (MyHelpers.haveBuffStack("Blaster Master") == 3 || (!MyHelpers.haveBuff(Combustion.Name) || MyHelpers.spellCharges(FireBlast.Name) == 0)) && MyHelpers.getTargetDistance() <= 40.0f ) { MyHelpers.castSpell(Meteor.Name); ClickOnTerrain.Pulse(ObjectManager.Target.Position); return; } if (MyHelpers.haveBuff("Hot Streak!") && !buffTime) { while (MyHelpers.haveBuff(Combustion.Name)) { if (MyHelpers.haveBuff("Hot Streak!")) { Pyroblast.Launch(); Thread.Sleep(200); canBlast = true; continue; } else if (!ObjectManager.Me.IsCast && MyHelpers.spellCharges(FireBlast.Name) > 0 && canBlast && !MyHelpers.haveBuff("Hot Streak!")) { canBlast = false; MyHelpers.castSpell(FireBlast.Name); continue; } else if (MyHelpers.itemIsUsable("Hyperthread Wristwraps") && MyHelpers.spellCharges(FireBlast.Name) == 0) { ItemsManager.UseItem(ItemsManager.GetIdByName("Hyperthread Wristwraps")); } else if (Meteor.IsSpellUsable && MyHelpers.spellCharges(FireBlast.Name) == 0) { MyHelpers.castSpell(Meteor.Name); ClickOnTerrain.Pulse(ObjectManager.Target.Position); continue; } else if (!ObjectManager.Me.IsCast && doDecast && Counterspell.IsSpellUsable && MyHelpers.spellCharges(FireBlast.Name) == 0) { MyHelpers.castSpell(Counterspell.Name); continue; } else if (MyHelpers.spellCharges(FireBlast.Name) == 0 && MyHelpers.GetSpellCooldownCharges(FireBlast.Name) > MyHelpers.castTime(Scorch.Name) * 2 && !MyHelpers.haveBuff("Hot Streak!")) { canBlast = false; MyHelpers.castSpell(Scorch.Name); while (ObjectManager.Me.IsCast) { Thread.Sleep(50); } continue; } canBlast = true; } if (MyHelpers.haveBuff("Hot Streak!")) { MyHelpers.castSpell(Pyroblast.Name); } return; } if (MyHelpers.spellCharges(FireBlast.Name) > 0 && !buffTime && MyHelpers.haveBuff("Heating Up") && !MyHelpers.haveBuff(Combustion.Name)) { MyHelpers.castSpell(FireBlast.Name); return; } if (!ObjectManager.Me.IsCast && doDecast && Counterspell.IsSpellUsable && MyHelpers.spellCharges(FireBlast.Name) < 3 && (MyHelpers.haveBuff(Combustion.Name) || MyHelpers.GetSpellCooldown(Combustion.Name) > 25)) { MyHelpers.castSpell(Counterspell.Name); return; } if (!MyHelpers.haveBuff("Hot Streak!") && Scorch.IsSpellUsable && !buffTime && ((ObjectManager.Me.SpeedMoving > 0 || ObjectManager.Target.HealthPercent < 0.3) || (MyHelpers.haveBuff(Combustion.Name) && MyHelpers.spellCharges(FireBlast.Name) == 0 && MyHelpers.GetSpellCooldownCharges(FireBlast.Name) > MyHelpers.castTime(Scorch.Name)) )) { MyHelpers.castSpell(Scorch.Name); return; } if (!MyHelpers.haveBuff("Hot Streak!") && !buffTime && !MyHelpers.haveBuff(Combustion.Name)) { MyHelpers.castSpell(Fireball.Name); return; } }