private static void Drawing_OnDraw(EventArgs args) { if (ObjectManager.Player.IsDead) { return; } //Draw the ranges of the spells. var menuItem = Config.Item("QERange").GetValue <Circle>(); if (menuItem.Active) { Render.Circle.DrawCircle(Player.Position, Eq.Range, menuItem.Color); } foreach (var spell in SpellList) { menuItem = Config.Item(spell.Slot + "Range").GetValue <Circle>(); if (menuItem.Active) { Render.Circle.DrawCircle(Player.Position, spell.Range, menuItem.Color); } } if (OrbManager.WObject(false) != null) { Render.Circle.DrawCircle(OrbManager.WObject(false).Position, 100, System.Drawing.Color.White); } }
private static void Drawing_OnDraw(EventArgs args) { if (ObjectManager.Player.IsDead) { return; } //Draw the ranges of the spells. var menuItem = DrawMenu["QERange"].Cast <CheckBox>().CurrentValue; if (menuItem) { Render.Circle.DrawCircle(Player.Position, Eq.Range, System.Drawing.Color.FromArgb(100, 255, 0, 255)); } foreach (var spell in SpellList) { menuItem = DrawMenu[spell.Slot + "Range"].Cast <CheckBox>().CurrentValue; if (menuItem) { Render.Circle.DrawCircle(Player.Position, spell.Range, System.Drawing.Color.FromArgb(100, 255, 0, 255)); } } if (OrbManager.WObject(false) != null) { Render.Circle.DrawCircle(OrbManager.WObject(false).Position, 100, System.Drawing.Color.White); } }
private static void UseSpells(bool useQ, bool useW, bool useE, bool useR, bool useQe, bool useIgnite, bool isHarass) { var qTarget = TargetSelector.GetTarget(Q.Range + (isHarass ? Q.Width / 3 : Q.Width), TargetSelector.DamageType.Magical); var wTarget = TargetSelector.GetTarget(W.Range + W.Width, TargetSelector.DamageType.Magical); var rTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); var qeTarget = TargetSelector.GetTarget(Eq.Range, TargetSelector.DamageType.Magical); var comboDamage = rTarget != null?GetComboDamage(rTarget) : 0; //Q if (qTarget != null && useQ) { Q.Cast(qTarget, false, true); } //E if (Utils.TickCount - W.LastCastAttemptT > Game.Ping + 150 && E.IsReady() && useE) { foreach (var enemy in HeroManager.Enemies) { if (enemy.IsValidTarget(Eq.Range)) { UseE(enemy); } } } //W if (useW) { if (Player.Spellbook.GetSpell(SpellSlot.W).ToggleState == 1 && W.IsReady() && qeTarget != null) { var gObjectPos = GetGrabableObjectPos(wTarget == null); if (gObjectPos.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300 && Utils.TickCount - E.LastCastAttemptT > Game.Ping + 600) { W.Cast(gObjectPos); W.LastCastAttemptT = Utils.TickCount; } } else if (wTarget != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100) { if (OrbManager.WObject(false) != null) { W.From = OrbManager.WObject(false).ServerPosition; W.Cast(wTarget, false, true); } } } if (rTarget != null && useR) { useR = (Config.Item("DontUlt" + rTarget.CharData.BaseSkinName) != null && Config.Item("DontUlt" + rTarget.CharData.BaseSkinName).GetValue <bool>() == false); } if (rTarget != null && useR && R.IsReady() && comboDamage > rTarget.Health && !rTarget.IsZombie && !Q.IsReady()) { R.Cast(rTarget); } //Ignite if (rTarget != null && useIgnite && IgniteSlot != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(IgniteSlot) == SpellState.Ready) { if (comboDamage > rTarget.Health) { Player.Spellbook.CastSpell(IgniteSlot, rTarget); } } //QE if (wTarget == null && qeTarget != null && Q.IsReady() && E.IsReady() && useQe) { UseQe(qeTarget); } //WE if (wTarget == null && qeTarget != null && E.IsReady() && useE && OrbManager.WObject(true) != null) { Eq.Delay = E.Delay + Q.Range / W.Speed; Eq.From = Player.ServerPosition.To2D().Extend(qeTarget.ServerPosition.To2D(), Q.Range).To3D(); var prediction = Eq.GetPrediction(qeTarget); if (prediction.Hitchance >= HitChance.High) { W.Cast(Player.ServerPosition.To2D().Extend(prediction.CastPosition.To2D(), Q.Range - 100)); weComboT = Utils.TickCount; } } }
private static void UseSpells(bool useQ, bool useW, bool useE, bool useR, bool useQE, bool useIgnite, bool isHarass) { var qTarget = SimpleTs.GetTarget(Q.Range + (isHarass ? Q.Width / 3 : Q.Width), SimpleTs.DamageType.Magical); var wTarget = SimpleTs.GetTarget(W.Range + W.Width, SimpleTs.DamageType.Magical); var rTarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Magical); var qeTarget = SimpleTs.GetTarget(EQ.Range, SimpleTs.DamageType.Magical); var comboDamage = rTarget != null?GetComboDamage(rTarget) : 0; //Q if (qTarget != null && useQ) { Q.Cast(qTarget, false, true); } //E if (Environment.TickCount - W.LastCastAttemptT > Game.Ping + 150 && E.IsReady() && useE) { foreach (var enemy in ObjectManager.Get <Obj_AI_Hero>()) { if (enemy.IsValidTarget(EQ.Range)) { UseE(enemy); } } } //W if (useW) { if (Player.Spellbook.GetSpell(SpellSlot.W).ToggleState == 1 && W.IsReady() && qeTarget != null) { //WObject var gObjectPos = GetGrabableObjectPos(wTarget == null); if (gObjectPos.To2D().IsValid() && Environment.TickCount - W.LastCastAttemptT > Game.Ping + 100 && Environment.TickCount - E.LastCastAttemptT > Game.Ping + 100) { W.Cast(gObjectPos); W.LastCastAttemptT = Environment.TickCount; } } else if (wTarget != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() && Environment.TickCount - W.LastCastAttemptT > Game.Ping + 100) { if (OrbManager.WObject(false) != null) { W.From = OrbManager.WObject(false).ServerPosition; W.Cast(wTarget, false, true); } } } if (rTarget != null) { useR = (Config.Item("DontUlt" + rTarget.BaseSkinName) != null && Config.Item("DontUlt" + rTarget.BaseSkinName).GetValue <bool>() == false) && useR; } //DFG (and ult if ready) if (rTarget != null && useR && comboDamage > rTarget.Health && DFG.IsReady()) { DFG.Cast(rTarget); if (R.IsReady()) { R.Cast(rTarget); } } //R if (rTarget != null && useR && R.IsReady() && !Q.IsReady() && !DFG.IsReady()) { if (comboDamage > rTarget.Health) { R.Cast(rTarget); } } //Ignite if (rTarget != null && useIgnite && IgniteSlot != SpellSlot.Unknown && Player.SummonerSpellbook.CanUseSpell(IgniteSlot) == SpellState.Ready) { if (comboDamage > rTarget.Health) { Player.SummonerSpellbook.CastSpell(IgniteSlot, rTarget); } } //QE if (wTarget == null && qeTarget != null && Q.IsReady() && E.IsReady() && useQE) { UseQE(qeTarget); } //WE if (wTarget == null && qeTarget != null && E.IsReady() && useE && OrbManager.WObject(true) != null) { EQ.Delay = E.Delay + Q.Range / W.Speed; EQ.From = Player.ServerPosition.To2D().Extend(qeTarget.ServerPosition.To2D(), Q.Range).To3D(); var prediction = EQ.GetPrediction(qeTarget); if (prediction.Hitchance >= HitChance.High) { W.Cast(Player.ServerPosition.To2D().Extend(prediction.CastPosition.To2D(), Q.Range - 100)); WEComboT = Environment.TickCount; } } }