Пример #1
0
        static Ezreal()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 1300, SkillShotType.Linear, 250, 2000, 60);
            W = new Spell.Skillshot(SpellSlot.W, 1050, SkillShotType.Linear, 250, 1600, 80)
            {
                AllowedCollisionCount = int.MaxValue
            };
            E = new Spell.Skillshot(SpellSlot.E, 475, SkillShotType.Linear);
            R = new Spell.Skillshot(SpellSlot.R, 6000, SkillShotType.Linear, 1000, 2000, 160)
            {
                AllowedCollisionCount = int.MaxValue
            };

            ComboDamages = Cache.Resolve <CustomCache <int, float> >(1000);

            ColorPicker = new ColorPicker[4];

            ColorPicker[0] = new ColorPicker("EzrealQ", new ColorBGRA(10, 106, 138, 255));
            ColorPicker[1] = new ColorPicker("EzrealW", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[2] = new ColorPicker("EzrealE", new ColorBGRA(255, 134, 0, 255));
            ColorPicker[3] = new ColorPicker("EzrealHpBar", new ColorBGRA(255, 134, 0, 255));

            DamageIndicator.Initalize(ColorPicker[3].Color);
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ChampionTracker.Initialize(ChampionTrackerFlags.LongCastTimeTracker);

            Obj_AI_Base.OnBasicAttack += Obj_AI_Base_OnBasicAttack;

            Text = new Text("", new Font("calibri", 15, FontStyle.Regular));

            ColorPicker[3].OnColorChange +=
                (a, b) =>
            {
                DamageIndicator.Color = b.Color;
            };

            TearStacker.Initializer(new Dictionary <SpellSlot, float> {
                { SpellSlot.Q, 3000 }, { SpellSlot.W, 4200 }
            },
                                    () => (Player.Instance.CountEnemiesInRange(1000) == 0) && (Player.Instance.CountEnemyMinionsInRange(1000) == 0) && !HasAnyOrbwalkerFlags());

            Orbwalker.OnPreAttack += (a, b) =>
            {
                if (a.IsMe)
                {
                    return;
                }

                IsPreAttack = true;
            };

            Orbwalker.OnPostAttack += (a, b) =>
            {
                IsPreAttack  = false;
                IsPostAttack = true;
            };

            Orbwalker.OnUnkillableMinion += (target, args) =>
            {
                if (FarmMode && Q.IsReady() && (Q.GetPrediction(target).Collision == false) && (Prediction.Health.GetPrediction(target,
                                                                                                                                (int)((target.DistanceCached(Player.Instance) + Q.CastDelay) / Q.Speed * 1000)) > 0))
                {
                    Q.Cast(target.ServerPosition);
                }
            };

            ChampionTracker.OnLongSpellCast   += ChampionTracker_OnLongSpellCast;
            ChampionTracker.OnPostBasicAttack += ChampionTracker_OnPostBasicAttack;

            Obj_AI_Base.OnSpellCast += (sender, args) =>
            {
                if (Settings.Combo.WEComboKeybind && E.IsReady() && sender.IsMe && (args.Slot == SpellSlot.W))
                {
                    E.Cast(Player.Instance.Position.Extend(args.End, E.Range - 15).To3D());
                }
            };
        }
Пример #2
0
        static Urgot()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 900, SkillShotType.Linear, 150, 1600, 60)
            {
                AllowedCollisionCount = 0
            };
            W = new Spell.Active(SpellSlot.W);
            E = new Spell.Skillshot(SpellSlot.E, 900, SkillShotType.Circular, 250, 1500, 250)
            {
                AllowedCollisionCount = int.MaxValue
            };
            R = new Spell.Targeted(SpellSlot.R, 500);

            CorrosiveDebufTargets = new List <Obj_AI_Base>();

            ColorPicker = new ColorPicker[4];

            CachedHasBuff = StaticCacheProvider.Cache.Resolve <Cache.Modules.CustomCache <int, bool> >(200);

            ColorPicker[0] = new ColorPicker("UrgotQ", new ColorBGRA(10, 106, 138, 255));
            ColorPicker[1] = new ColorPicker("UrgotE", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[2] = new ColorPicker("UrgotR", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[3] = new ColorPicker("UrgotHpBar", new ColorBGRA(255, 134, 0, 255));

            DamageIndicator.Initalize(ColorPicker[3].Color);
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ColorPicker[3].OnColorChange += (a, b) => DamageIndicator.Color = b.Color;

            TearStacker.Initializer(new Dictionary <SpellSlot, float> {
                { SpellSlot.Q, 2150 }
            },
                                    () =>
                                    (Player.Instance.CountEnemiesInRangeCached(1500) == 0) &&
                                    (Player.Instance.CountEnemyMinionsInRangeCached(1500) == 0) && !HasAnyOrbwalkerFlags);

            ChampionTracker.Initialize(ChampionTrackerFlags.VisibilityTracker);
            ChampionTracker.OnLoseVisibility += ChampionTracker_OnLoseVisibility;

            Game.OnPreTick += args =>
            {
                if (Core.GameTickCount - _lastScanTick < 100)
                {
                    return;
                }

                CorrosiveDebufTargets.Clear();
            };

            Game.OnTick += Game_OnTick;

            GameObject.OnCreate += (sender, args) =>
            {
                if (!Settings.Combo.UseW || !HasAnyOrbwalkerFlags)
                {
                    return;
                }

                var missileClient = sender as MissileClient;

                if ((missileClient != null) && missileClient.SpellCaster.IsMe && W.IsReady() &&
                    ((missileClient.IsAutoAttack() && (missileClient.Target?.Type == GameObjectType.AIHeroClient)) || StaticCacheProvider.GetChampions(CachedEntityType.EnemyHero,
                                                                                                                                                       x =>
                                                                                                                                                       x.IsValidTarget() &&
                                                                                                                                                       missileClient.EndPosition.IsInRange(x, missileClient.SData.LineWidth)).Any()))
                {
                    W.Cast();
                }
            };
        }
Пример #3
0
        static Ezreal()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 1300, SkillShotType.Linear, 250, 2000, 60);
            W = new Spell.Skillshot(SpellSlot.W, 1050, SkillShotType.Linear, 250, 1600, 80)
            {
                AllowedCollisionCount = int.MaxValue
            };
            E = new Spell.Skillshot(SpellSlot.E, 475, SkillShotType.Linear);
            R = new Spell.Skillshot(SpellSlot.R, 6000, SkillShotType.Linear, 1000, 2000, 160)
            {
                AllowedCollisionCount = int.MaxValue
            };

            ComboDamages = Cache.Resolve <CustomCache <int, float> >(1000);

            ColorPicker = new ColorPicker[4];

            ColorPicker[0] = new ColorPicker("EzrealQ", new ColorBGRA(10, 106, 138, 255));
            ColorPicker[1] = new ColorPicker("EzrealW", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[2] = new ColorPicker("EzrealE", new ColorBGRA(255, 134, 0, 255));
            ColorPicker[3] = new ColorPicker("EzrealHpBar", new ColorBGRA(255, 134, 0, 255));

            DamageIndicator.Initalize(ColorPicker[3].Color);
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ChampionTracker.Initialize(ChampionTrackerFlags.LongCastTimeTracker);

            Obj_AI_Base.OnBasicAttack += Obj_AI_Base_OnBasicAttack;

            Text = new Text("", new Font("calibri", 15, FontStyle.Regular));

            ColorPicker[3].OnColorChange +=
                (a, b) =>
            {
                DamageIndicator.Color = b.Color;
            };

            TearStacker.Initializer(new Dictionary <SpellSlot, float> {
                { SpellSlot.Q, 5000 }, { SpellSlot.W, 15000 }
            },
                                    () => Player.Instance.CountEnemiesInRange(1000) == 0 && Player.Instance.CountEnemyMinionsInRange(1000) == 0 && !HasAnyOrbwalkerFlags());

            Orbwalker.OnPreAttack += (a, b) =>
            {
                if (a.IsMe)
                {
                    return;
                }

                IsPreAttack = true;
            };

            Orbwalker.OnPostAttack += (a, b) =>
            {
                IsPreAttack  = false;
                IsPostAttack = true;
            };

            ChampionTracker.OnLongSpellCast   += ChampionTracker_OnLongSpellCast;
            ChampionTracker.OnPostBasicAttack += ChampionTracker_OnPostBasicAttack;
        }