private static void ComboEvent() { try { var target = TargetSelector.GetOrderedTargets(R.Range).FirstOrDefault(); if (target != null && target.IsValidTarget() && !isEActive) { if (ComboMenu["FlowersVladimir.ComboMenu.Ignite"].Enabled && IgniteSlot != SpellSlot.Unknown && Ignite.Ready && target.IsValidTarget(600) && (target.Health < MyExtraManager.GetComboDamage(target) && target.IsValidTarget(400) || target.Health < Me.GetIgniteDamage(target))) { Ignite.CastOnUnit(target); } if (ComboMenu["FlowersVladimir.ComboMenu.R"].As <MenuKeyBind>().Enabled&& R.Ready && target.IsValidTarget(R.Range)) { if (ComboMenu["FlowersVladimir.ComboMenu.RAlways"].Enabled) { var rPred = R.GetPrediction(target); if (rPred.HitChance >= HitChance.High) { R.Cast(rPred.CastPosition); return; } } if (ComboMenu["FlowersVladimir.ComboMenu.RKillAble"].Enabled && target.Health < R.GetDamage(target)) { var rPred = R.GetPrediction(target); if (rPred.HitChance >= HitChance.High) { R.Cast(rPred.CastPosition); return; } } if (ComboMenu["FlowersVladimir.ComboMenu.RCountHit"].As <MenuSliderBool>().Enabled) { if (R.CastIfWillHit(target, ComboMenu["FlowersVladimir.ComboMenu.RCountHit"].As <MenuSliderBool>().Value)) { return; } } if (ComboMenu["FlowersVladimir.ComboMenu.RBurstCombo"].Enabled && Me.CountEnemyHeroesInRange(600) == 1 && target.IsValidTarget(R.Range)) { if (target.Health < R.GetDamage(target) + E.GetDamage(target) + W.GetDamage(target) * 2 + Q.GetDamage(target) * 2) { var rPred = R.GetPrediction(target); if (rPred.HitChance >= HitChance.High) { R.Cast(rPred.CastPosition); return; } } } } if (ComboMenu["FlowersVladimir.ComboMenu.E"].Enabled && E.Ready && target.IsValidTarget(E.Range)) { if (GameObjects.EnemyHeroes.Any(x => x.IsValidTarget(E.Range) && WillbeHit(x))) { if (isEActive) { if (Game.TickCount - lastETime > 1050 + Game.Ping && !isWActive) { E.Cast(); } } else { Me.SpellBook.CastSpell(SpellSlot.E); } } } if (ComboMenu["FlowersVladimir.ComboMenu.W"].Enabled && W.Ready && target.IsValidTarget(450f)) { if (ComboMenu["FlowersVladimir.ComboMenu.WECharge"].Enabled) { if (isEActive && target.IsValidTarget(450f)) { W.Cast(); } } else { if (!isQActive && target.IsValidTarget(W.Range) && Me.HealthPercent() > 40 && Me.GetSpell(SpellSlot.E).CooldownEnd - Game.ClockTime > 2.3 + Game.Ping / 100) { W.Cast(); } } } if (isEActive || isWActive) { return; } if (ComboMenu["FlowersVladimir.ComboMenu.Q"].Enabled && Q.Ready && target.IsValidTarget(Q.Range)) { Q.CastOnUnit(target); } } } catch (Exception ex) { Console.WriteLine("Error in MyEventManager.ComboEvent." + ex); } }
public static void OnDamageIndicator() { Render.OnPresent += delegate { if (ObjectManager.GetLocalPlayer().IsDead || !MyLogic.DrawMenu["FlowersVladimir.DrawMenu.ComboDamage"].Enabled) { return; } foreach (var target in GameObjects.EnemyHeroes.Where(h => h.IsValid && h.IsFloatingHealthBarActive)) { Vector2 pos; Render.WorldToScreen(target.ServerPosition, out pos); if (!Render.IsPointInScreen(pos)) { return; } if (target.IsMelee) { YOffset = 12; } else if (target.ChampionName == "Annie" || target.ChampionName == "Jhin") { YOffset = 5; } else { YOffset = 18; } var damage = MyExtraManager.GetComboDamage(target); if (damage > 2) { var barPos = target.FloatingHealthBarPosition; var percentHealthAfterDamage = Math.Max(0, target.Health - damage) / target.MaxHealth; var yPos = barPos.Y + YOffset; var xPosDamage = barPos.X + XOffset + Width * percentHealthAfterDamage; var xPosCurrentHp = barPos.X + XOffset + Width * target.Health / target.MaxHealth; if (damage > target.Health) { var X = (int)barPos.X + XOffset; var Y = (int)barPos.Y + YOffset - 15; var text = "KILLABLE: " + (target.Health - damage); Render.Text(X, Y, Color.Red, text); } Render.Line(xPosDamage, yPos, xPosDamage, yPos + Height, 5, true, Color); if (MyLogic.DrawMenu["FlowersVladimir.DrawMenu.FillDamage"].Enabled) { var differenceInHp = xPosCurrentHp - xPosDamage; var pos1 = barPos.X + 9 + 107 * percentHealthAfterDamage; for (var i = 0; i < differenceInHp; i++) { Render.Line(pos1 + i, yPos, pos1 + i, yPos + Height, 5, true, FillColor); } } } } }; }