Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
                            }
                        }
                    }
                }
            };
        }