示例#1
0
        static void Load_OnLoad(object sender, EventArgs e)
        {
            Bootstrap.Init(null);

            Config = new Menu("Useless Annie", "Useless Annie", true);

            var combo = Config.Add(new Menu("Combo", "Combo"));
            combo.Add(new MenuBool("useQ", "Use Q", true));
            combo.Add(new MenuBool("UseW", "Use W", true));
            combo.Add(new MenuBool("useE", "Use E", true));
            combo.Add(new MenuBool("useR", "Use R", true));

            var harass = Config.Add(new Menu("harass", "Harass"));
            harass.Add(new MenuBool("useQ", "Use Q", true));
            harass.Add(new MenuBool("useW", "Use W", true));

            var farm = Config.Add(new Menu("farm", "Farming"));
            farm.Add(new MenuSeparator("ss", "Last Hit Settings"));
            farm.Add(new MenuBool("useQLH", "Use Q", true));
            farm.Add(new MenuSeparator("ss2", "WaveClear Settings"));
            farm.Add(new MenuBool("useQWC", "Use Q", true));
            farm.Add(new MenuBool("useWWC", "Use W", true));
            farm.Add(new MenuSeparator("ss3", "Jungle Settings"));
            farm.Add(new MenuBool("useQJC", "Use Q", true));
            farm.Add(new MenuBool("useWJC", "Use W", true));

            Config.Attach();

            Q = new Spell(SpellSlot.Q, 625);
            W = new Spell(SpellSlot.W, 625);
            E = new Spell(SpellSlot.E);
            R = new Spell(SpellSlot.R, 600);

            Game.OnUpdate += Game_OnUpdate;
        }
示例#2
0
 public static void Initialize()
 {
     _Q = new Spell(SpellSlot.Q, 925);
     _Q.SetSkillshot(.25f, 70f, 2000f, false, SkillshotType.SkillshotLine);
     _W = new Spell(SpellSlot.W, 900);
     _W.SetSkillshot(1.25f, 225f, float.MaxValue, false, SkillshotType.SkillshotCircle);
     _R = new Spell(SpellSlot.R, 650);
 }
示例#3
0
        public static void Initialize()
        {
            _Q = new Spell(SpellSlot.Q);
            _W = new Spell(SpellSlot.W);
            _E = new Spell(SpellSlot.E, 600);
            _R = new Spell(SpellSlot.R, 500);

            _ignite = ObjectManager.Player.GetSpellSlot("summonerdot");
        }
        public static void initSpells()
        {
            internalQ = new Spell(SpellSlot.Q, 260f);
            internalW = new Spell(SpellSlot.W, 125f);
            internalE = new Spell(SpellSlot.E, 325f);
            internalR = new Spell(SpellSlot.R, 900f);

            internalR.SetSkillshot(0.25f,200f,1600f,false,SkillshotType.SkillshotCone);
        }
        public static void initSpells()
        {
            internalQ = new Spell(SpellSlot.Q, 625f);
            internalW = new Spell(SpellSlot.W, 625f);
            internalE = new Spell(SpellSlot.E, 0f);
            internalR = new Spell(SpellSlot.R, 600f);

            internalW.SetSkillshot(0.5f, 250f, float.MaxValue, false, SkillshotType.SkillshotCone);
            internalR.SetSkillshot(0.2f, 250f, float.MaxValue, false, SkillshotType.SkillshotCircle);
        }
示例#6
0
        public static void Initialize()
        {
            _Q = new Spell(SpellSlot.Q, 1200);
            _Q.SetSkillshot(0.25f, 60f, 2000f, true, SkillshotType.SkillshotLine);

            _W = new Spell(SpellSlot.W, 1000);
            _W.SetSkillshot(0.25f, 80f, 1600f, false, SkillshotType.SkillshotLine);

            _E = new Spell(SpellSlot.E, 475);

            _R = new Spell(SpellSlot.R, float.MaxValue);
            _R.SetSkillshot(1f, 160f, 2000f, false, SkillshotType.SkillshotLine);
        }
示例#7
0
 public static Prediction.PredictionOutput GetPrediction(
     Spell spell,
     Obj_AI_Base unit,
     bool aoe = false,
     CollisionableObjects[] collisionable = null)
 {
     return
         Prediction.GetPrediction(
             new Prediction.PredictionInput
                 {
                     Unit = unit, Delay = spell.Delay, Radius = spell.Width, Speed = spell.Speed, From = spell.From,
                     Range = spell.Range, Collision = spell.Collision, Type = spell.Type,
                     RangeCheckFrom = spell.RangeCheckFrom, AoE = aoe,
                     CollisionObjects =
                         collisionable ?? new[] { CollisionableObjects.Minions, CollisionableObjects.YasuoWall }
                 });
 }
示例#8
0
        public jumpingKalista()
        {
            Bootstrap.Init(null);

            Q = new Spell(SpellSlot.Q, 1200);
            W = new Spell(SpellSlot.W, 5000);
            E = new Spell(SpellSlot.E, 1000);
            R = new Spell(SpellSlot.R, 1500);

            Q.SetSkillshot(0.35f, 40, 2400, true, SkillshotType.SkillshotLine);

            createMenu();

            Notifications.Add(readyToUse);

            Drawing.OnDraw += OnDraw;
            Game.OnUpdate += OnUpdate;
        }
示例#9
0
 public static CastStates Cast(Spell spell, Obj_AI_Base unit, bool areaOfEffect = false)
 {
     if (!unit.IsValid())
     {
         return CastStates.InvalidTarget;
     }
     if (!spell.IsReady())
     {
         return CastStates.NotReady;
     }
     var pred = GetPrediction(spell, unit, areaOfEffect);
     if (pred.CollisionObjects.Count > 0)
     {
         return CastStates.Collision;
     }
     if (pred.Hitchance < spell.MinHitChance)
     {
         return CastStates.LowHitChance;
     }
     spell.LastCastAttemptT = Variables.TickCount;
     return !ObjectManager.Player.Spellbook.CastSpell(spell.Slot, pred.CastPosition)
                ? CastStates.NotCasted
                : CastStates.SuccessfullyCasted;
 }
示例#10
0
        private static void OnLoad(object sender, EventArgs e)
        {
            Q = new Spell(SpellSlot.Q, 600f);
            W = new Spell(SpellSlot.W);
            E = new Spell(SpellSlot.E);
            R = new Spell(SpellSlot.R, 400f);

            Q.SetTargetted(0f, 1000f, Player.Position);

            Config = new Menu("Mighty Fiora", "Mighty Fiora", true);
            Config.Add(new MenuSeparator("Mighty Fiora", "Mighty Fiora"));

            var combo = Config.Add(new Menu("combo", "Combo Settings"));
            var spell = Config.Add(new Menu("spell", "Spell Settings"));

            combo.Add(new MenuSeparator("Combo Menu", "Combo Menu"));
            combo.Add(new MenuBool("UseQ", "Use Q", true));
            combo.Add(new MenuBool("UseW", "Use W", true));
            combo.Add(new MenuBool("UseE", "Use E", true));
            combo.Add(new MenuBool("UseR", "Use R", true));

            //Advanced Spell Settings
            spell.Add(new MenuSeparator("Advanced Q Settings", "Advanced Q Settings"));
            spell.Add(new MenuBool("qgapcloseonly", "Use [Q] for Gapclosing only", false));
            spell.Add((new MenuSlider("qgapcloserange", "Gapclose Range", 300, 0, 600)));
            spell.Add(new MenuSeparator("Advanced W Settings", "Advanced W Settings"));
            spell.Add(new MenuBool("autow", "Use [W] on Autoattacks", true));
            spell.Add(new MenuSlider("wdelay", "Cast Delay in Miliseconds", 80, 0, 1000));
            spell.Add(new MenuSeparator("Advanced R Settings", "Advanced R Settings"));

            spell.Add(new MenuBool("UseRF", "Use [R] on Killable", true));
            spell.Add(new MenuKeyBind("forceR", "Force [R] Toggle (will R after Combo)", Keys.J, KeyBindType.Toggle));

            spell.Add(new MenuBool("rhp", "Auto [R] if HP <= %", true));
            spell.Add((new MenuSlider("rhp%", "Player HP %", 30, 0, 100)));

            spell.Add(new MenuBool("rAOE", "Auto [R] on X amount of Enemies", true));
            spell.Add((new MenuSlider("rcount", "Enemy Count", 4, 0, 5)));

            var harass = Config.Add(new Menu("harass", "Harass Settings"));
            harass.Add(new MenuSeparator("Harass Menu", "Harass Menu"));
            harass.Add(new MenuBool("harrQ", "Use Q", true));
            harass.Add(new MenuBool("harrE", "Use E", true));

            var laneclear = Config.Add(new Menu("laneclear", "Laneclear Settings"));
            laneclear.Add(new MenuSeparator("Coming Soon", "Coming Soon"));

            var drawing = Config.Add(new Menu("draw", "Draw Settings"));
            drawing.Add(new MenuSeparator("Draw Menu", "Draw Menu"));
            drawing.Add(new MenuBool("disable", "Disable all drawings", false));
            drawing.Add(new MenuList<string>("drawmode", "Drawing Mode:", objects: new[] {"Normal", "Custom"}));
            drawing.Add(new MenuBool("disableq", "[Q] draw", true));
            drawing.Add(new MenuBool("disableqp", "[Q] Gapclose draw", true));
            drawing.Add(new MenuBool("disablee", "[E] draw", true));
            drawing.Add(new MenuBool("disabler", "[R] draw", true));
            drawing.Add(new MenuSeparator("Color Settings", "Color Settings"));

            //I'll call your parents if you copy this. KappaHD
            //Do you need an Onii-chan or a Senpai? Feel free to contact me on Skype: djkleeven
            drawing.Add(new MenuColor("drawq", "[Q] Range Draw Color", new ColorBGRA(32, 20, 10, 255)));
            drawing.Add(new MenuColor("drawqp", "[Q] Gapclose Draw Color", new ColorBGRA(125, 20, 10, 255)));
            drawing.Add(new MenuColor("drawe", "[E] Range Draw Color", new ColorBGRA(32, 20, 10, 255)));
            drawing.Add(new MenuColor("drawr", "[R] Range Draw Color", new ColorBGRA(32, 20, 10, 255)));
            drawing.Add(new MenuSeparator("Misc Settings", "Misc Settings"));
            drawing.Add(new MenuBool("dmgindic", "Damage Indicator", true));
            drawing.Add(new MenuBool("targets", "Draw Selected Target", true));

            Config.Add(new MenuButton("resetAll", "Settings", "Reset All Settings")

            {
                Action = () =>
                {
                    Config.RestoreDefault();
                }
            });

            Bootstrap.Init(new string[] { });

            Config.Attach();
            Game.OnUpdate += OnUpdate;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Orbwalker.OnAction += OnAction;
            Drawing.OnDraw += OnDraw;
            Obj_AI_Hero.OnBuffRemove += Tiamat;
            Obj_AI_Hero.OnBuffAdd += Qbuff;
            Drawing.OnEndScene += DamageIn;
        }
示例#11
0
        public Zed()
        {
            Q = new Spell(SpellSlot.Q, 925);
            Q2 = new Spell(SpellSlot.Q, 925);
            W = new Spell(SpellSlot.W, 600);
            E = new Spell(SpellSlot.E, 280);
            R = new Spell(SpellSlot.R, 700);
            Q.SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine);
            Q2.SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine);
            E.SetTargetted(0.05f, float.MaxValue);
            Q.DamageType = Q2.DamageType = E.DamageType = R.DamageType = DamageType.Physical;
            Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh;

            var orbwalkMenu = MainMenu.Add(new Menu("Orbwalk", "Orbwalk"));
            {
                orbwalkMenu.Separator("Q/E: Always On");
                orbwalkMenu.Separator("Sub Settings");
                orbwalkMenu.Bool("Ignite", "Use Ignite");
                orbwalkMenu.Bool("Item", "Use Item");
                orbwalkMenu.Separator("W Settings");
                orbwalkMenu.Bool("WNormal", "Use For Non-R Combo");
                orbwalkMenu.List("WAdv", "Use For R Combo", new[] { "OFF", "Line", "Triangle", "Mouse" }, 1);
                orbwalkMenu.List("WSwapGap", "Swap To Gap Close", new[] { "OFF", "Smart", "Always" }, 1);
                orbwalkMenu.Separator("R Settings");
                orbwalkMenu.Bool("R", "Use R");
                orbwalkMenu.Slider(
                    "RStopRange",
                    "Priorize If Ready And Distance <=",
                    (int)(R.Range + 200),
                    (int)R.Range,
                    (int)(R.Range + W.Range));
                orbwalkMenu.List("RSwapGap", "Swap To Gap Close", new[] { "OFF", "Smart", "Always" }, 1);
                orbwalkMenu.Slider("RSwapIfHpU", "Swap If Hp < (%)", 20);
                orbwalkMenu.Bool("RSwapIfKill", "Swap If Mark Can Kill Target");
                orbwalkMenu.Separator("Extra R Settings");
                foreach (var enemy in GameObjects.EnemyHeroes)
                {
                    orbwalkMenu.Bool("RCast" + enemy.ChampionName, "Not Cast On " + enemy.ChampionName, true);
                }
            }
            var hybridMenu = MainMenu.Add(new Menu("Hybrid", "Hybrid"));
            {
                hybridMenu.List("Mode", "Mode", new[] { "W-E-Q", "E-Q", "Q" });
                hybridMenu.Separator("Auto Q Settings");
                hybridMenu.KeyBind("AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle);
                hybridMenu.Slider("AutoQMpA", "If Mp >=", 100, 0, 200);
            }
            var farmMenu = MainMenu.Add(new Menu("Farm", "Farm"));
            {
                farmMenu.Bool("Q", "Use Q");
                farmMenu.Bool("E", "Use E", false);
            }
            var ksMenu = MainMenu.Add(new Menu("KillSteal", "Kill Steal"));
            {
                ksMenu.Bool("Q", "Use Q");
                ksMenu.Bool("E", "Use E");
            }
            if (GameObjects.EnemyHeroes.Any())
            {
                Evade.Init();
            }
            var drawMenu = MainMenu.Add(new Menu("Draw", "Draw"));
            {
                drawMenu.Bool("Q", "Q Range");
                drawMenu.Bool("W", "W Range");
                drawMenu.Bool("E", "E Range", false);
                drawMenu.Bool("R", "R Range");
                drawMenu.Bool("Target", "Target");
                drawMenu.Bool("WPos", "W Shadow");
                drawMenu.Bool("RPos", "R Shadow");
            }
            MainMenu.KeyBind("FleeW", "Use W To Flee", Keys.C);

            Evade.TryEvading += TryEvading;
            Game.OnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            GameObject.OnCreate += (sender, args) =>
                {
                    var shadow = sender as Obj_AI_Minion;
                    if (shadow == null || !shadow.IsValid || shadow.Name != "Shadow" || shadow.IsEnemy)
                    {
                        return;
                    }
                    if (wCasted)
                    {
                        wShadow = shadow;
                        wCasted = false;
                        rCasted = false;
                        DelayAction.Add(4450, () => wShadow = null);
                    }
                    else if (rCasted)
                    {
                        rShadow = shadow;
                        rCasted = false;
                        wCasted = false;
                        DelayAction.Add(7450, () => rShadow = null);
                    }
                };
            GameObject.OnCreate += (sender, args) =>
                {
                    var mark = sender as Obj_GeneralParticleEmitter;
                    if (mark != null && mark.IsValid && mark.Name == "Zed_Base_R_buf_tell.troy" && rShadow.IsValid()
                        && deathMark == null)
                    {
                        deathMark = mark;
                    }
                };
            GameObject.OnDelete += (sender, args) =>
                {
                    var mark = sender as Obj_GeneralParticleEmitter;
                    if (mark != null && mark.IsValid && mark.Name == "Zed_Base_R_buf_tell.troy"
                        && deathMark.NetworkId == mark.NetworkId)
                    {
                        deathMark = null;
                    }
                };
            Obj_AI_Base.OnProcessSpellCast += (sender, args) =>
                {
                    if (!sender.IsMe)
                    {
                        return;
                    }
                    if (args.SData.Name == "ZedW")
                    {
                        rCasted = false;
                        wCasted = true;
                    }
                    if (args.SData.Name == "ZedR")
                    {
                        wCasted = false;
                        rCasted = true;
                    }
                };
        }
示例#12
0
 private static void CastW(Obj_AI_Hero target, bool isCombo = false)
 {
     if (wShadow.IsValid() || Variables.TickCount - W.LastCastAttemptT <= 500)
     {
         return;
     }
     var castPos = Vector3.Zero;
     var spellQ = new Spell(SpellSlot.Q, Q.Range + (isCombo ? W.Range : 0));
     spellQ.SetSkillshot(Q.Delay, Q.Width, Q.Speed - 100, Q.Collision, Q.Type);
     var posPred = spellQ.VPrediction(target, true, new[] { CollisionableObjects.YasuoWall }).CastPosition;
     if (isCombo)
     {
         switch (MainMenu["Orbwalk"]["WAdv"].GetValue<MenuList>().Index)
         {
             case 1:
                 castPos = Player.ServerPosition + (posPred - rShadow.ServerPosition).Normalized() * W.Range;
                 break;
             case 2:
                 var subPos1 = Player.ServerPosition
                               + (posPred - rShadow.ServerPosition).Normalized().Perpendicular() * W.Range;
                 var subPos2 = Player.ServerPosition
                               + (rShadow.ServerPosition - posPred).Normalized().Perpendicular() * W.Range;
                 if (!subPos1.IsWall() && subPos2.IsWall())
                 {
                     castPos = subPos1;
                 }
                 else if (subPos1.IsWall() && !subPos2.IsWall())
                 {
                     castPos = subPos2;
                 }
                 else
                 {
                     castPos = subPos1;
                 }
                 break;
             case 3:
                 castPos = Game.CursorPos;
                 break;
         }
     }
     else
     {
         castPos = W.IsInRange(target) ? Player.ServerPosition.Extend(posPred, E.Range) : target.ServerPosition;
     }
     if (!castPos.IsValid())
     {
         return;
     }
     if (W.Cast(castPos))
     {
         W.LastCastAttemptT = Variables.TickCount;
     }
 }
示例#13
0
        /// <summary>
        ///     Gets the best candidate target.
        /// </summary>
        /// <param name="spell">
        ///     The Spell instance
        /// </param>
        /// <param name="champsToIgnore">
        ///     Champions to ignore.
        /// </param>
        /// <param name="rangeCheckFrom">
        ///     The range Check From.
        /// </param>
        /// <returns>
        ///     The <see cref="Obj_AI_Hero" /> target.
        /// </returns>
        public static Obj_AI_Hero GetTargetNoCollision(
            Spell spell,
            IEnumerable<Obj_AI_Hero> champsToIgnore,
            Vector3? rangeCheckFrom = null)
        {
            var t = GetTarget(spell.Range, spell.DamageType, champsToIgnore, rangeCheckFrom);

            if (spell.Collision && spell.GetPrediction(t).Hitchance != HitChance.Collision)
            {
                return t;
            }

            return null;
        }
示例#14
0
        public Cassiopeia()
        {
            abilitySequence = new int[] {1, 3, 3, 2, 3, 4, 3, 1, 3, 1, 4, 1, 1, 2, 2, 4, 2, 2};
            Q = new Spell(SpellSlot.Q, 850f);
            Spells.Add(Q);
            Q.SetSkillshot(0.75f, Q.Instance.SData.CastRadius, float.MaxValue, false, SkillshotType.SkillshotCircle);
            W = new Spell(SpellSlot.W, 850f);
            Spells.Add(W);
            W.SetSkillshot(0.5f, W.Instance.SData.CastRadius, W.Instance.SData.MissileSpeed, false,
                SkillshotType.SkillshotCircle);
            E = new Spell(SpellSlot.E, 700f);
            Spells.Add(E);
            E.SetTargetted(0.2f, float.MaxValue);
            R = new Spell(SpellSlot.R, 825f);
            Spells.Add(R);
            R.SetSkillshot(0.3f, (float) (80*Math.PI/180), float.MaxValue, false, SkillshotType.SkillshotCone);

            Z = new Menu("Adv# - Cassiopeia", "root", true);

            LeagueSharp.SDK.Core.Bootstrap.Init(null);
            Menu MCombo = new Menu("Combo", "combo");
            {
                MCombo.Add(new MenuBool("combo.q", "Use Q", true));
                MCombo.Add(new MenuBool("combo.w", "Use W", true));
                MCombo.Add(new MenuBool("combo.e", "Use E", true));
                MCombo.Add(new MenuBool("combo.r", "Use R", true));
                MCombo.Add(new MenuSeparator("combo.spacer1", "R Settings"));
                MCombo.Add(new MenuSlider("combo.r.minfacing", "R Minimum Facing", 1, 1, 5));
                MCombo.Add(new MenuSlider("combo.r.minhit", "R Minimum Hit", 1, 1, 5));
                MCombo.Add(new MenuBool("combo.r.smart", "Smart Ultimate", true));
            }
            Z.Add(MCombo);

            Menu MHarass = new Menu("Harass", "harass");
            {
                MHarass.Add(new MenuBool("harass.q", "Use Q", true));
                MHarass.Add(new MenuBool("harass.w", "Use W", true));
                MHarass.Add(new MenuBool("harass.e", "Use E", true));
                MHarass.Add(new MenuBool("harass.spacer1", " "));
                MHarass.Add(new MenuBool("harass.e.restriction", "E Only If Poisoned", true));
            }
            Z.Add(MHarass);

            Menu MLH = new Menu("Last Hit", "lasthit");
            {
                MLH.Add(new MenuBool("lasthit.e", "Use E", true));
                MLH.Add(new MenuBool("lasthit.e.auto", "Use E Automatically", false));
            }
            Z.Add(MLH);

            Menu MLC = new Menu("Lane Clear", "laneclear");
            {
                MLC.Add(new MenuBool("laneclear.q", "Use Q", true));
                MLC.Add(new MenuBool("laneclear.w", "Use W", true));
                MLC.Add(new MenuBool("laneclear.e", "Use E", true));
                MLC.Add(new MenuSeparator("laneclear.spacer1", "E Settings"));
                MLC.Add(new MenuBool("laneclear.e.restriction", "E Only If Poisoned", true));
                MLC.Add(new MenuBool("laneclear.e.lasthit", "E Only If Last Hit", true));
                MLC.Add(new MenuSlider("laneclear.w.restriction", "W Minimum Hit", 3, 1, 10));
            }
            Z.Add(MLC);

            Menu Misc = new Menu("Misc", "misc");
            {
                Misc.Add(new MenuBool("misc.manamenagertm", "Restrict Mana Usage", true));
                Misc.Add(new MenuSlider("misc.manamenagertm.slider", "Minimum Mana", 35, 0, 95));
                Misc.Add(new MenuBool("misc.spacer1", "Item Stack"));
                Misc.Add(new MenuBool("misc.itemstack", "Item Stacking", true));
                Misc.Add(new MenuSeparator("misc.spacer3", "Kill Steal"));
                Misc.Add(new MenuBool("misc.qks", "Kill Secure with Q", true));
                Misc.Add(new MenuBool("misc.wks", "Kill Secure with W", true));
                Misc.Add(new MenuBool("misc.eks", "Kill Secure with E", true));
                Misc.Add(new MenuSlider("misc.edelay", "E Delay", 0, 0, 500));
                Misc.Add(new MenuSeparator("misc.spacer4", "Miscellaneous"));
                Misc.Add(new MenuBool("misc.autospells", "Auto Level Spells", true));
                Misc.Add(new MenuSeparator("misc.spacer5", "Events"));
                Misc.Add(new MenuBool("misc.gc", "W on gap closer", true));
                Misc.Add(new MenuSlider("misc.gc.hp", "if HP < ", 30));
                Misc.Add(new MenuBool("misc.aablock", "Auto Attack Block in combo", false));

            }
            Z.Add(Misc);

            Menu Drawings = new Menu("Drawings", "drawings");
            {
                Drawings.Add(new MenuBool("draw", "Drawings", true));
                Drawings.Add(new MenuBool("draw.q", "Draw Q Range", true));
                Drawings.Add(new MenuBool("draw.w", "Draw W Range", true));
                Drawings.Add(new MenuBool("draw.e", "Draw E Range", true));
                Drawings.Add(new MenuBool("draw.r", "Draw R Range", true));
                Drawings.Add(new MenuBool("draw.tg", "Draw Target", true));
            }
            Z.Add(Drawings);

            Z.Add(new MenuBool("credits1", "Credits:"));
            Z.Add(new MenuBool("credits2", "TehBlaxxor - Coding"));
            Z.Add(new MenuBool("credits3", "Hoes - Coding"));
            Z.Add(new MenuBool("credits4", "Hawk - Testing"));

            Z.Attach();

            Game.OnUpdate += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
            Gapcloser.OnGapCloser += AntiGapCloser;
            Spellbook.OnCastSpell += Spellbook_OnCastSpell;
        }
示例#15
0
文件: Ahri.cs 项目: badao/BadaoAIO
        public Ahri()
        {
            Q = new Spell(SpellSlot.Q, 880);
            W = new Spell(SpellSlot.W, 550);
            E = new Spell(SpellSlot.E, 975);
            E2 = new Spell(SpellSlot.E, 975);
            R = new Spell(SpellSlot.R, 450);//600
            Q.SetSkillshot(0.25f, 100, 1600, false, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.25f, 60, 1550, true, SkillshotType.SkillshotLine);
            E2.SetSkillshot(0.25f, 60, 1550, true, SkillshotType.SkillshotLine);
            Q.DamageType = W.DamageType = E.DamageType = DamageType.Magical;
            Q.MinHitChance = HitChance.High;
            E.MinHitChance = HitChance.High;

            Menu Asassin = new Menu("Assassin", "AssasinMode");
            {
                KeyBind(Asassin, "activeAssasin", "Assassin Key", Keys.T, KeyBindType.Press);
                Separator(Asassin, "1", "Make sure you select a target");
                Separator(Asassin, "2", "before press this key");
                MainMenu.Add(Asassin);
            }
            Menu Combo = new Menu("Combo", "Combo");
            {
                Bool(Combo, "Qc", "Q", true);
                Bool(Combo, "Wc", "W", true);
                Bool(Combo, "Ec", "E", true);
                MainMenu.Add(Combo);
            }
            Menu Harass = new Menu("Harass", "Harass");
            {
                Bool(Harass, "Qh", "Q", true);
                Bool(Harass, "Wh", "W", true);
                Bool(Harass, "Eh", "E", true);
                Slider(Harass, "manah", "Min mana", 40, 0, 100);
                MainMenu.Add(Harass);
            }
            Menu Clear = new Menu("Clear", "Clear");
            {
                Bool(Clear, "Qj", "Q", true);
                Slider(Clear, "Qhitj", "Q if will hit", 2, 1, 3);
                Slider(Clear, "manaj", "Min mana", 40, 0, 100);
                MainMenu.Add(Clear);
            }
            Menu Auto = new Menu("Auto", "Auto");
            {
                KeyBind(Auto, "harassa", "Harass Q", Keys.H, KeyBindType.Toggle);
                Bool(Auto, "interrupta", "E interrupt + gapcloser", true);
                Bool(Auto, "killsteala", "KillSteal", true);
                MainMenu.Add(Auto);
            }
            Menu drawMenu = new Menu("Draw", "Draw");
            {
                Bool(drawMenu, "Qd", "Q");
                Bool(drawMenu, "Wd", "W");
                Bool(drawMenu, "Ed", "E");
                Bool(drawMenu, "Rd", "R");
                Bool(drawMenu, "Hpd", "Damage Indicator");
                MainMenu.Add(drawMenu);
            }
            drawMenu.MenuValueChanged += drawMenu_MenuValueChanged;

            Game.OnUpdate += Game_OnUpdate;
            Obj_AI_Base.OnNewPath += Obj_AI_Base_OnNewPath;
            Drawing.OnDraw += Drawing_OnDraw;
            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast;
            Gapcloser.OnGapCloser += Gapcloser_OnGapCloser;
            InterruptableSpell.OnInterruptableTarget += InterruptableSpell_OnInterruptableTarget;
            DamageIndicator.DamageToUnit = AhriDamage;
            CustomDamageIndicator.Initialize(AhriDamage);
            DamageIndicator.Enabled = drawhp;
            CustomDamageIndicator.Enabled = drawhp;
        }
示例#16
0
        public Kalista()
        {
            //Spell
            Q = new Spell(SpellSlot.Q, 1150f) { DamageType = DamageType.Physical };
            W = new Spell(SpellSlot.W, 5200f);
            E = new Spell(SpellSlot.E, 950f);
            R = new Spell(SpellSlot.R, 1500f);

            Q.SetSkillshot(0.25f, 40f, 1200f, true, SkillshotType.SkillshotLine);

            //Menu
            Menu ComboMenu = new Menu("Combo", "Combo");
            Menu HarassMenu = new Menu("Harass", "Harass");
            Menu LaneClearMenu = new Menu("LaneClear", "LaneClear");
            Menu JungleClearMenu = new Menu("JungleClear", "JungleClear");
            Menu MiscMenu = new Menu("Misc", "Misc");
            Menu DrawingsMenu = new Menu("Drawings", "Drawings");

            ComboMenu.Add(new MenuBool("UseQ", "Use Q", true));
            ComboMenu.Add(new MenuBool("UseE", "Use E", true));

            HarassMenu.Add(new MenuBool("UseQ", "Use Q", true));

            LaneClearMenu.Add(new MenuSeparator("Qseparator", "Q"));
            LaneClearMenu.Add(new MenuBool("UseQ", "Use Q", true));
            LaneClearMenu.Add(new MenuSlider("UseQNumber", "Cast Q if killable minion number >=", 4, 1, 7));

            LaneClearMenu.Add(new MenuSeparator("Eseparator", "E"));
            LaneClearMenu.Add(new MenuBool("UseE", "Use E", true));
            LaneClearMenu.Add(new MenuSlider("UseENumber", "Cast E if killable minion number >=", 3, 1, 7));

            JungleClearMenu.Add(new MenuBool("UseQ", "Use Q", true));
            JungleClearMenu.Add(new MenuBool("UseE", "Use E", true));

            MiscMenu.Add(new MenuBool("UseKillsteal", "Use Killsteal", true));
            MiscMenu.Add(new MenuBool("UseMobsteal", "Use Mobsteal", true));

            DrawingsMenu.Add(new MenuSeparator("Qseparator", "Q"));
            DrawingsMenu.Add(new MenuBool("DrawQ", "Draw Q Range", true));
            DrawingsMenu.Add(new MenuColor("QColor", "Color", SharpDX.Color.Blue));

            DrawingsMenu.Add(new MenuSeparator("Wseparator", "W"));
            DrawingsMenu.Add(new MenuBool("DrawW", "Draw W Range"));
            DrawingsMenu.Add(new MenuColor("WColor", "Color", SharpDX.Color.Blue));

            DrawingsMenu.Add(new MenuSeparator("Eseparator", "E"));
            DrawingsMenu.Add(new MenuBool("DrawE", "Draw E Range", true));
            DrawingsMenu.Add(new MenuColor("EColor", "Color", SharpDX.Color.Blue));

            DrawingsMenu.Add(new MenuSeparator("Rseparator", "R"));
            DrawingsMenu.Add(new MenuBool("DrawR", "Draw R Range"));
            DrawingsMenu.Add(new MenuColor("RColor", "Color", SharpDX.Color.Blue));

            DrawingsMenu.Add(new MenuSeparator("Dseparator", "DamageIndicator"));

            var UseDamageIndicator = new MenuBool("UseDamageIndicator", "Use DamageIndicator", true);
            var DamageIndicatorFillColor = new MenuColor("DamageIndicatorFillColor", "Color", SharpDX.Color.Goldenrod);

            UseDamageIndicator.ValueChanged += (object sender, EventArgs e) => { DamageIndicator.Enabled = UseDamageIndicator.Value; };
            DamageIndicatorFillColor.ValueChanged += (object sender, EventArgs e) => { DamageIndicator.FillColor = Color.FromArgb(DamageIndicatorFillColor.Color.ToBgra()); };

            DrawingsMenu.Add(UseDamageIndicator);
            DrawingsMenu.Add(DamageIndicatorFillColor);

            MenuProvider.MainMenu.Add(ComboMenu);
            MenuProvider.MainMenu.Add(HarassMenu);
            MenuProvider.MainMenu.Add(LaneClearMenu);
            MenuProvider.MainMenu.Add(JungleClearMenu);
            MenuProvider.MainMenu.Add(MiscMenu);
            MenuProvider.MainMenu.Add(DrawingsMenu);

            //Event
            Game.OnUpdate += Game_OnGameUpdate;
            Drawing.OnDraw += Game_OnDraw;
            Spellbook.OnCastSpell += Spellbook_OnCastSpell;
            DamageIndicator.DamageToUnit = GetComboDamage;

            //Loaded
            Logging.Write()(LogLevel.Info, "HuyNK Series SDK: Kalista Loaded!");
        }
示例#17
0
        public Zed()
        {
            Q = new Spell(SpellSlot.Q, 975);
            Q2 = new Spell(SpellSlot.Q, 975);
            W = new Spell(SpellSlot.W, 600);
            E = new Spell(SpellSlot.E, 290);
            R = new Spell(SpellSlot.R, 700);
            Q.SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine);
            Q2.SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine);
            E.SetTargetted(0, float.MaxValue);
            Q.DamageType = Q2.DamageType = E.DamageType = R.DamageType = DamageType.Physical;
            Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh;

            var orbwalkMenu = new Menu("Orbwalk", "Orbwalk");
            {
                Config.Separator(orbwalkMenu, "blank0", "Q/E/Ignite/Item: Always On");
                Config.Separator(orbwalkMenu, "blank1", "W Settings");
                Config.Bool(orbwalkMenu, "WNormal", "Use For Non-R Combo");
                Config.List(orbwalkMenu, "WAdv", "Use For R Combo", new[] { "OFF", "Line", "Triangle", "Mouse" }).Index
                    = 1;
                Config.List(orbwalkMenu, "WSwapGap", "Swap To Gap Close", new[] { "OFF", "Smart", "Always" }).Index = 1;
                Config.Separator(orbwalkMenu, "blank2", "R Settings");
                Config.Bool(orbwalkMenu, "R", "Use R");
                Config.Slider(
                    orbwalkMenu,
                    "RStopRange",
                    "Priorize If Ready And Distance <=",
                    (int)(R.Range + 200),
                    (int)R.Range,
                    (int)(R.Range + W.Range));
                Config.List(orbwalkMenu, "RSwapGap", "Swap To Gap Close", new[] { "OFF", "Smart", "Always" }).Index = 1;
                Config.Slider(orbwalkMenu, "RSwapIfHpU", "Swap If Hp < (%)", 20);
                Config.Bool(orbwalkMenu, "RSwapIfKill", "Swap If Mark Can Kill Target");
                Config.Separator(orbwalkMenu, "blank3", "Extra R Settings");
                foreach (var enemy in GameObjects.EnemyHeroes)
                {
                    Config.Bool(orbwalkMenu, "RCast" + enemy.ChampionName, "Cast On " + enemy.ChampionName, false);
                }
                MainMenu.Add(orbwalkMenu);
            }
            var hybridMenu = new Menu("Hybrid", "Hybrid");
            {
                Config.List(hybridMenu, "Mode", "Mode", new[] { "W-E-Q", "E-Q", "Q" });
                Config.Bool(hybridMenu, "QOverW", "Priorize Q Over W", false);
                Config.Separator(hybridMenu, "blank4", "Auto Q Settings");
                Config.KeyBind(hybridMenu, "AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle);
                Config.Slider(hybridMenu, "AutoQMpA", "If Mp >=", 100, 0, 200);
                MainMenu.Add(hybridMenu);
            }
            var farmMenu = new Menu("Farm", "Farm");
            {
                Config.Bool(farmMenu, "Q", "Use Q");
                Config.Bool(farmMenu, "E", "Use E", false);
                MainMenu.Add(farmMenu);
            }
            var ksMenu = new Menu("KillSteal", "Kill Steal");
            {
                Config.Bool(ksMenu, "Q", "Use Q");
                Config.Bool(ksMenu, "E", "Use E");
                MainMenu.Add(ksMenu);
            }
            var drawMenu = new Menu("Draw", "Draw");
            {
                Config.Bool(drawMenu, "Q", "Q Range");
                Config.Bool(drawMenu, "W", "W Range");
                Config.Bool(drawMenu, "E", "E Range", false);
                Config.Bool(drawMenu, "R", "R Range");
                Config.Bool(drawMenu, "Target", "Target");
                Config.Bool(drawMenu, "WPos", "W Shadow");
                Config.Bool(drawMenu, "RPos", "R Shadow");
                MainMenu.Add(drawMenu);
            }
            Config.KeyBind(MainMenu, "FleeW", "Use W To Flee", Keys.C);

            Game.OnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            GameObject.OnCreate += OnCreate;
            GameObject.OnDelete += OnDelete;
        }
示例#18
0
        public Yasuo()
        {
            Q = new Spell(SpellSlot.Q, 500);
            Q2 = new Spell(SpellSlot.Q, 1100);
            W = new Spell(SpellSlot.W, 400);
            E = new Spell(SpellSlot.E, 475);
            R = new Spell(SpellSlot.R, 1300);
            Q.SetSkillshot(GetQDelay, 20, float.MaxValue, false, SkillshotType.SkillshotLine);
            Q2.SetSkillshot(GetQ2Delay, 90, 1500, false, SkillshotType.SkillshotLine);
            E.SetTargetted(0.05f, GetESpeed);
            Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical;
            E.DamageType = DamageType.Magical;
            Q.MinHitChance = Q2.MinHitChance = HitChance.High;

            var orbwalkMenu = new Menu("Orbwalk", "Orbwalk");
            {
                Separator(orbwalkMenu, "blank0", "Q/Ignite/Item: Always On");
                Separator(orbwalkMenu, "blank1", "E Gap Settings");
                Bool(orbwalkMenu, "EGap", "Use E");
                Slider(orbwalkMenu, "ERange", "If Distance >", (int)(E.Range * 0.5), 0, (int)E.Range);
                Bool(orbwalkMenu, "ETower", "Under Tower", false);
                Bool(orbwalkMenu, "EStackQ", "Stack Q While Gap", false);
                Separator(orbwalkMenu, "blank2", "R Settings");
                Bool(orbwalkMenu, "R", "Use R");
                Bool(orbwalkMenu, "RDelay", "Delay Casting");
                Slider(orbwalkMenu, "RHpU", "If Enemy Hp < (%)", 60);
                Slider(orbwalkMenu, "RCountA", "Or Enemy >=", 2, 1, 5);
                MainMenu.Add(orbwalkMenu);
            }
            var hybridMenu = new Menu("Hybrid", "Hybrid");
            {
                Separator(hybridMenu, "blank3", "Q: Always On");
                Bool(hybridMenu, "Q3", "Also Q3");
                Bool(hybridMenu, "QLastHit", "Last Hit (Q1/2)");
                Separator(hybridMenu, "blank4", "Auto Q Settings");
                KeyBind(hybridMenu, "AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle);
                Bool(hybridMenu, "AutoQ3", "Also Q3", false);
                MainMenu.Add(hybridMenu);
            }
            var lcMenu = new Menu("LaneClear", "Lane Clear");
            {
                Separator(lcMenu, "blank5", "Q: Always On");
                Bool(lcMenu, "Q3", "Also Q3");
                Separator(lcMenu, "blank6", "E Settings");
                Bool(lcMenu, "E", "Use E");
                Bool(lcMenu, "ETower", "Under Tower", false);
                MainMenu.Add(lcMenu);
            }
            var lhMenu = new Menu("LastHit", "Last Hit");
            {
                Separator(lhMenu, "blank7", "Q Settings");
                Bool(lhMenu, "Q", "Use Q");
                Bool(lhMenu, "Q3", "Also Q3", false);
                Separator(lhMenu, "blank8", "E Settings");
                Bool(lhMenu, "E", "Use E");
                Bool(lhMenu, "ETower", "Under Tower", false);
                MainMenu.Add(lhMenu);
            }
            var ksMenu = new Menu("KillSteal", "Kill Steal");
            {
                Bool(ksMenu, "Q", "Use Q");
                Bool(ksMenu, "E", "Use E");
                Bool(ksMenu, "R", "Use R");
                Separator(ksMenu, "blank7", "Extra R Settings");
                foreach (var enemy in GameObjects.EnemyHeroes)
                {
                    Bool(ksMenu, "RCast" + enemy.ChampionName, "Cast On " + enemy.ChampionName);
                }
                MainMenu.Add(ksMenu);
            }
            var fleeMenu = new Menu("Flee", "Flee");
            {
                KeyBind(fleeMenu, "E", "Use E", Keys.C);
                Bool(fleeMenu, "Q", "Stack Q While Dash");
                MainMenu.Add(fleeMenu);
            }
            if (GameObjects.EnemyHeroes.Any())
            {
                Evade.Init();
            }
            var drawMenu = new Menu("Draw", "Draw");
            {
                Bool(drawMenu, "StackQ", "Auto Stack Q Status");
                MainMenu.Add(drawMenu);
            }
            KeyBind(MainMenu, "StackQ", "Auto Stack Q", Keys.Z, KeyBindType.Toggle);

            Game.OnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Game.OnUpdate += OnUpdateEvade;
            Obj_AI_Base.OnPlayAnimation += OnPlayAnimation;
        }
示例#19
0
 private static bool CastQ3(Obj_AI_Hero target = null)
 {
     var spellQ = new Spell(SpellSlot.Q, Q2.Range);
     spellQ.SetSkillshot(Q2.Delay, Q2.Width, Q2.Speed, true, Q2.Type);
     if (target != null)
     {
         var pred = Common.GetPrediction(spellQ, target, true, new[] { CollisionableObjects.YasuoWall });
         if (pred.Hitchance >= Q2.MinHitChance && Q.Cast(pred.CastPosition))
         {
             return true;
         }
     }
     else
     {
         var hit = -1;
         var predPos = new Vector3();
         foreach (var hero in GameObjects.EnemyHeroes.Where(i => i.IsValidTarget(Q2.Range)))
         {
             var pred = Common.GetPrediction(spellQ, hero, true, new[] { CollisionableObjects.YasuoWall });
             if (pred.Hitchance >= Q2.MinHitChance && pred.AoeTargetsHitCount > hit)
             {
                 hit = pred.AoeTargetsHitCount;
                 predPos = pred.CastPosition;
             }
         }
         if (predPos.IsValid() && Q.Cast(predPos))
         {
             return true;
         }
     }
     return false;
 }
示例#20
0
 public static void Initialize()
 {
     _Q = new Spell(SpellSlot.Q, 1050);
     _Q.SetSkillshot(.25f, 60f, 1600f, true, SkillshotType.SkillshotLine);
     _W = new Spell(SpellSlot.W, 900);
     _W.SetSkillshot(1f, 240f, float.MaxValue, false, SkillshotType.SkillshotCircle);
     _E = new Spell(SpellSlot.E, 625);
     _E.SetTargetted(0.25f, float.MaxValue);
     _R = new Spell(SpellSlot.R, 750);
     _R.SetTargetted(.25f, 1000f);
 }
示例#21
0
        public Ashe()
        {
            //Spell
            Q = new Spell(SpellSlot.Q);
            W = new Spell(SpellSlot.W, 1200f) { DamageType = DamageType.Physical };
            E = new Spell(SpellSlot.E);
            R = new Spell(SpellSlot.R, 2500f) { DamageType = DamageType.Physical, MinHitChance = HitChance.High };

            W.SetSkillshot(0.25f, 40f, 902f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.25f, 130f, 1600f, false, SkillshotType.SkillshotLine);

            //Menu
            Menu ComboMenu = new Menu("Combo", "Combo");
            Menu HarassMenu = new Menu("Harass", "Harass");
            Menu LaneClearMenu = new Menu("LaneClear", "LaneClear");
            Menu JungleClearMenu = new Menu("JungleClear", "JungleClear");
            Menu MiscMenu = new Menu("Misc", "Misc");
            Menu DrawingsMenu = new Menu("Drawings", "Drawings");

            ComboMenu.Add(new MenuBool("UseQ", "Use Q", true));
            ComboMenu.Add(new MenuBool("UseW", "Use W", true));
            ComboMenu.Add(new MenuBool("UseE", "Use E", false));
            ComboMenu.Add(new MenuBool("UseR", "Use R", true));

            HarassMenu.Add(new MenuBool("UseW", "Use W", true));

            LaneClearMenu.Add(new MenuBool("UseW", "Use W", false));

            JungleClearMenu.Add(new MenuBool("UseQ", "Use Q", true));
            JungleClearMenu.Add(new MenuBool("UseW", "Use W", true));

            MiscMenu.Add(new MenuBool("UseKillsteal", "Use Killsteal", true));
            MiscMenu.Add(new MenuBool("AutoRimmobile", "Auto R against immobile target", true));

            DrawingsMenu.Add(new MenuSeparator("Wseparator", "W"));
            DrawingsMenu.Add(new MenuBool("DrawW", "Draw W Range", true));
            DrawingsMenu.Add(new MenuColor("WColor", "Color", SharpDX.Color.Blue));

            DrawingsMenu.Add(new MenuSeparator("Rseparator", "R"));
            DrawingsMenu.Add(new MenuBool("DrawR", "Draw R Range", true));
            DrawingsMenu.Add(new MenuColor("RColor", "Color", SharpDX.Color.Blue));

            DrawingsMenu.Add(new MenuSeparator("Dseparator", "DamageIndicator"));

            var UseDamageIndicator = new MenuBool("UseDamageIndicator", "Use DamageIndicator", true);
            var DamageIndicatorFillColor = new MenuColor("DamageIndicatorFillColor", "Color", SharpDX.Color.Goldenrod);

            UseDamageIndicator.ValueChanged += (object sender, EventArgs e) => { DamageIndicator.Enabled = UseDamageIndicator.Value; };
            DamageIndicatorFillColor.ValueChanged += (object sender, EventArgs e) => { DamageIndicator.FillColor = Color.FromArgb(DamageIndicatorFillColor.Color.ToBgra()); };

            DrawingsMenu.Add(UseDamageIndicator);
            DrawingsMenu.Add(DamageIndicatorFillColor);

            MenuProvider.MainMenu.Add(ComboMenu);
            MenuProvider.MainMenu.Add(HarassMenu);
            MenuProvider.MainMenu.Add(LaneClearMenu);
            MenuProvider.MainMenu.Add(JungleClearMenu);
            MenuProvider.MainMenu.Add(MiscMenu);
            MenuProvider.MainMenu.Add(DrawingsMenu);

            //Event
            Game.OnUpdate += Game_OnGameUpdate;
            Drawing.OnDraw += Game_OnDraw;
            DamageIndicator.DamageToUnit = GetComboDamage;

            //Loaded
            Logging.Write()(LogLevel.Info, "HuyNK_Series_SDK: Ashe Loaded!");
        }
示例#22
0
 internal static void OnLoad(object sender, EventArgs e)
 {
     if (Player.CharData.BaseSkinName.ToLower()  != "blitzcrank")
     {
         Console.WriteLine("Champion is not supported.");
         return;
     }
     try
     {
         Q = new Spell(SpellSlot.Q, 1050);
         E = new Spell(SpellSlot.E, 0);
         R = new Spell(SpellSlot.R, 600);
         Q.SetSkillshot(0.25f, 70f, 1800f, true, SkillshotType.SkillshotLine);
       //Q.SetSkillshot(Q.Instance.SData.SpellCastTime, Q.Instance.SData.LineWidth, Q.Instance.SData.MissileSpeed, true, SkillshotType.SkillshotLine);
         CreateMenu();
         Game.OnUpdate += OnUpdate;
        Drawing.OnDraw += OnDraw;
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
     }
 }
示例#23
0
 public TwistedFate()
 {
     Q = new Spell(SpellSlot.Q, 1400);
     W = new Spell(SpellSlot.W);
     E = new Spell(SpellSlot.E);
     R = new Spell(SpellSlot.R);
     Q.SetSkillshot(0.25f, 40, 1000, false, SkillshotType.SkillshotLine);
     Q.DamageType = W.DamageType = E.DamageType = DamageType.Magical;
     Q.MinHitChance = HitChance.High;
     Menu Combo = new Menu("Combo", "Combo");
     {
         Bool(Combo, "Qc", "Q", true);
         Bool(Combo, "Qafterattackc", "Q after attack", true);
         Bool(Combo, "Qimmobilec", "Q on immobile", true);
         Slider(Combo, "Qhitc", "Q if will hit", 2, 1, 3);
         Bool(Combo, "Wc", "W", true);
         Bool(Combo, "pickgoldc", "Pick gold card while using R", true);
         Bool(Combo, "dontpickyellow1stc", "don't pick gold at 1st turn", false);
         MainMenu.Add(Combo);
     }
     Menu Harass = new Menu("Harass", "Harass");
     {
         Bool(Harass, "Qh", "Q", true);
         Bool(Harass, "Qafterattackh", "Q after attack", true);
         Bool(Harass, "Qimmobileh", "Q on immobile", true);
         Slider(Harass, "Qhith", "Q if will hit", 2, 1, 3);
         Bool(Harass, "Wh", "W", true);
         List(Harass, "Wcolorh", "W card type", new[] { "blue", "red", "gold" });
         Slider(Harass, "manah", "Min mana", 40, 0, 100);
         MainMenu.Add(Harass);
     }
     Menu Clear = new Menu("Clear", "Clear");
     {
         Bool(Clear, "Qj", "Q", true);
         Slider(Clear, "Qhitj", "Q if will hit", 2, 1, 3);
         Bool(Clear, "Wj", "W", true);
         List(Clear, "Wcolorj", "W card type", new[] { "blue", "red" });
         Slider(Clear, "wmanaj", "mana only W blue", 0, 0, 100);
         Slider(Clear, "manaj", "Min mana", 40, 0, 100);
         MainMenu.Add(Clear);
     }
     Menu Auto = new Menu("Auto", "Auto");
     {
         Bool(Auto, "throwyellowa", "gapclose + interrupt: throw gold card", true);
         Bool(Auto, "killsteala", "KillSteal Q", true);
         MainMenu.Add(Auto);
     }
     Menu Helper = new Menu("Helper", "Pick card Helper");
     {
         Bool(Helper, "enableh", "Enabale", true);
         KeyBind(Helper, "pickyellowh", "Pick Yellow", Keys.W,KeyBindType.Toggle);
         KeyBind(Helper, "pickblueh", "Pick Blue", Keys.G,KeyBindType.Toggle);
         KeyBind(Helper, "pickredh", "Pick Red", Keys.H,KeyBindType.Toggle);
         MainMenu.Add(Helper);
     }
     Menu drawMenu = new Menu("Draw", "Draw");
     {
         Bool(drawMenu, "Qd", "Q");
         Bool(drawMenu, "Rd", "R");
         Bool(drawMenu, "Hpd", "Damage Indicator");
         MainMenu.Add(drawMenu);
     }
     drawMenu.MenuValueChanged += drawMenu_MenuValueChanged;
     Game.OnUpdate += OnUpdate;
     Drawing.OnDraw += OnDraw;
     //Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
     //GameObject.OnCreate += OnCreate;
     Gapcloser.OnGapCloser += Gapcloser_OnGapCloser;
     InterruptableSpell.OnInterruptableTarget += InterruptableSpell_OnInterruptableTarget;
     Drawing.OnEndScene += Drawing_OnEndScene;
     Orb.OnAction += Orbwalker_OnAction;
     DamageIndicator.DamageToUnit = TwistedFateDamage;
     CustomDamageIndicator.Initialize(TwistedFateDamage);
     DamageIndicator.Enabled = drawhp;
     CustomDamageIndicator.Enabled = drawhp;
 }
示例#24
0
        /// <summary>
        /// The load.
        /// </summary>
        public void Load()
        {
            Q = new Spell(SpellSlot.Q, 0x3CA);
            W = new Spell(SpellSlot.W, 0x226);
            E = new Spell(SpellSlot.E, 0x36B);
            R = new Spell(SpellSlot.R);

            Q.SetSkillshot(0.283f, 0x12C, 0x6D6, false, SkillshotType.SkillshotCircle);
            E.SetSkillshot(0.25f, 0xFA, float.MaxValue, false, SkillshotType.SkillshotCircle);

            this.CreateMenu();

            Game.OnUpdate += this.GameOnOnUpdate;
            Gapcloser.OnGapCloser += this.Gapcloser_OnGapCloser;
            InterruptableSpell.OnInterruptableTarget += this.InterruptableSpellOnOnInterruptableTarget;
        }
示例#25
0
 private static void CastW(Obj_AI_Hero target, bool isCombo = false)
 {
     if (WState != 0 || Variables.TickCount - W.LastCastAttemptT <= 500
         || Player.Distance(target) >= W.Range + Q.Range)
     {
         return;
     }
     var castPos = default(Vector3);
     var spellQ = new Spell(SpellSlot.Q, Q.Range + W.Range);
     spellQ.SetSkillshot(Q.Delay, Q.Width, Q.Speed + 250, Q.Collision, Q.Type);
     var posPred =
         Common.GetPrediction(spellQ, target, true, new[] { CollisionableObjects.YasuoWall }).CastPosition;
     if (isCombo)
     {
         switch (MainMenu["Orbwalk"]["WAdv"].GetValue<MenuList>().Index)
         {
             case 1:
                 castPos = Player.ServerPosition + (posPred - rShadow.ServerPosition).Normalized() * 500;
                 break;
             case 2:
                 var subPos1 = Player.ServerPosition
                               + (posPred - rShadow.ServerPosition).Normalized().Perpendicular() * 500;
                 var subPos2 = Player.ServerPosition
                               + (rShadow.ServerPosition - posPred).Normalized().Perpendicular() * 500;
                 if (subPos1.IsWall() && !subPos2.IsWall() && target.Distance(subPos2) < target.Distance(subPos1))
                 {
                     castPos = subPos2;
                 }
                 if (!subPos1.IsWall() && subPos2.IsWall() && target.Distance(subPos1) < target.Distance(subPos2))
                 {
                     castPos = subPos1;
                 }
                 if ((!subPos1.IsWall() && !subPos2.IsWall()) || (subPos1.IsWall() && subPos2.IsWall()))
                 {
                     castPos = target.Distance(subPos1) < target.Distance(subPos2) ? subPos1 : subPos2;
                 }
                 if (!castPos.IsValid())
                 {
                     castPos = subPos1;
                 }
                 break;
             case 3:
                 castPos = Game.CursorPos;
                 break;
         }
     }
     else
     {
         castPos = Player.ServerPosition.Extend(posPred, E.Range);
     }
     if (!castPos.IsValid())
     {
         return;
     }
     if (W.Cast(castPos))
     {
         W.LastCastAttemptT = Variables.TickCount;
     }
 }
示例#26
0
 private static bool CastQ3(Obj_AI_Hero target = null)
 {
     var spellQ = new Spell(SpellSlot.Q, Q2.Range);
     spellQ.SetSkillshot(Q2.Delay, Q2.Width, Q2.Speed, true, Q2.Type);
     if (target != null)
     {
         var pred = spellQ.VPrediction(target, true, new[] { CollisionableObjects.YasuoWall });
         if (pred.Hitchance >= Q2.MinHitChance && Q.Cast(pred.CastPosition))
         {
             return true;
         }
     }
     else
     {
         int[] hit = { -1 };
         var predPos = Vector3.Zero;
         foreach (var pred in
             GameObjects.EnemyHeroes.Where(i => i.IsValidTarget(Q2.Range))
                 .Select(i => spellQ.VPrediction(i, true, new[] { CollisionableObjects.YasuoWall }))
                 .Where(i => i.Hitchance >= Q2.MinHitChance && i.AoeTargetsHitCount > hit[0]))
         {
             hit[0] = pred.AoeTargetsHitCount;
             predPos = pred.CastPosition;
         }
         if (predPos.IsValid() && Q.Cast(predPos))
         {
             return true;
         }
     }
     return false;
 }
示例#27
0
 private static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (!sender.IsMe)
     {
         return;
     }
     if (args.SData.Name == "ZedShuriken" && Orbwalker.ActiveMode == OrbwalkerMode.Hybrid
         && MainMenu["Hybrid"]["Mode"].GetValue<MenuList>().Index == 0 && MainMenu["Hybrid"]["QOverW"]
         && WState == 0 && GetTarget != null)
     {
         var spellQ = new Spell(SpellSlot.Q, Q.Range + W.Range);
         spellQ.SetSkillshot(Q.Delay, Q.Width, Q.Speed + 250, Q.Collision, Q.Type);
         for (var i = 0; i < 360; i += 30)
         {
             var posRotated = Player.ServerPosition
                              + Player.Direction.Perpendicular().Rotated((float)(Math.PI * i / 180)) * W.Range;
             spellQ.UpdateSourcePosition(posRotated, posRotated);
             var predQ = Common.GetPrediction(spellQ, GetTarget, true, new[] { CollisionableObjects.YasuoWall });
             if (predQ.Hitchance < Q2.MinHitChance)
             {
                 continue;
             }
             DelayAction.Add(
                 Q.Delay * 1000,
                 () =>
                     {
                         if (W.Cast(posRotated))
                         {
                             W.LastCastAttemptT = Variables.TickCount;
                         }
                     });
             break;
         }
     }
     if (args.SData.Name == "ZedShadowDash")
     {
         rCasted = false;
         wCasted = true;
     }
     if (args.SData.Name == "zedult")
     {
         wCasted = false;
         rCasted = true;
     }
 }
示例#28
0
        private static void Game_OnGameStart(EventArgs args)
        {
            if (Player.ChampionName != "Thresh") return;

            _logger = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + @"\log.txt") { AutoFlush = true };

            _q = new Spell(SpellSlot.Q, 1100);
            _q.SetSkillshot(true, SkillshotType.SkillshotLine);

            _config = new Menu("Prediction", "Prediction", true);
            _orbwalker = new Orbwalker();
            Menu settings = new Menu("Settings", "Settings");
            settings.Add(new MenuKeyBind("Write", "Write Last Cast information to log", System.Windows.Forms.Keys.L,
                KeyBindType.Press));
            settings.Add(new MenuSeparator("Info", "Log files are located in %appdata%"));
            _config.Add(settings);
            _config.Attach();

            Game.OnUpdate += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
        }
示例#29
0
        public Yasuo()
        {
            Q = new Spell(SpellSlot.Q, 500);
            Q2 = new Spell(SpellSlot.Q, 1150);
            W = new Spell(SpellSlot.W, 400);
            E = new Spell(SpellSlot.E, 475);
            R = new Spell(SpellSlot.R, 1300);
            Q.SetSkillshot(GetQ12Delay, 20, float.MaxValue, false, SkillshotType.SkillshotLine);
            Q2.SetSkillshot(GetQ3Delay, 90, 1500, false, SkillshotType.SkillshotLine);
            E.SetTargetted(0.05f, GetESpeed);
            Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical;
            E.DamageType = DamageType.Magical;
            Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh;

            var orbwalkMenu = MainMenu.Add(new Menu("Orbwalk", "Orbwalk"));
            {
                orbwalkMenu.Separator("Q: Always On");
                orbwalkMenu.Separator("Sub Settings");
                orbwalkMenu.Bool("Ignite", "Use Ignite");
                orbwalkMenu.Bool("Item", "Use Item");
                orbwalkMenu.Separator("E Gap Settings");
                orbwalkMenu.Bool("EGap", "Use E");
                orbwalkMenu.List("EMode", "Follow Mode", new[] { "Enemy", "Mouse" });
                orbwalkMenu.Slider("ERange", "If Distance >", 300, 0, (int)E.Range);
                orbwalkMenu.Bool("ETower", "Under Tower");
                orbwalkMenu.Bool("EStackQ", "Stack Q While Gap", false);
                orbwalkMenu.Separator("R Settings");
                orbwalkMenu.Bool("R", "Use R");
                orbwalkMenu.Bool("RDelay", "Delay Casting");
                orbwalkMenu.Slider("RHpU", "If Enemy Hp < (%)", 60);
                orbwalkMenu.Slider("RCountA", "Or Enemy >=", 2, 1, 5);
            }
            var hybridMenu = MainMenu.Add(new Menu("Hybrid", "Hybrid"));
            {
                hybridMenu.Separator("Q: Always On");
                hybridMenu.Bool("Q3", "Also Q3");
                hybridMenu.Bool("QLastHit", "Last Hit (Q1/2)");
                hybridMenu.Separator("Auto Q Settings");
                hybridMenu.KeyBind("AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle);
                hybridMenu.Bool("AutoQ3", "Also Q3", false);
            }
            var lcMenu = MainMenu.Add(new Menu("LaneClear", "Lane Clear"));
            {
                lcMenu.Separator("Q: Always On");
                lcMenu.Bool("Q3", "Also Q3");
                lcMenu.Separator("E Settings");
                lcMenu.Bool("E", "Use E");
                lcMenu.Bool("ELastHit", "Last Hit Only", false);
                lcMenu.Bool("ETower", "Under Tower", false);
            }
            var farmMenu = MainMenu.Add(new Menu("Farm", "Farm"));
            {
                farmMenu.Separator("Q Settings");
                farmMenu.Bool("Q", "Use Q");
                farmMenu.Bool("Q3", "Also Q3", false);
                farmMenu.Separator("E Settings");
                farmMenu.Bool("E", "Use E");
                farmMenu.Bool("ETower", "Under Tower", false);
            }
            var ksMenu = MainMenu.Add(new Menu("KillSteal", "Kill Steal"));
            {
                ksMenu.Bool("Q", "Use Q");
                ksMenu.Bool("E", "Use E");
                ksMenu.Bool("R", "Use R");
                ksMenu.Separator("Extra R Settings");
                foreach (var enemy in GameObjects.EnemyHeroes)
                {
                    ksMenu.Bool("RCast" + enemy.ChampionName, "Cast On " + enemy.ChampionName, false);
                }
            }
            var fleeMenu = MainMenu.Add(new Menu("Flee", "Flee"));
            {
                fleeMenu.KeyBind("E", "Use E", Keys.C);
                fleeMenu.Bool("Q", "Stack Q While Dash");
            }
            if (GameObjects.EnemyHeroes.Any())
            {
                Evade.Init();
                EvadeTarget.Init();
            }
            var drawMenu = MainMenu.Add(new Menu("Draw", "Draw"));
            {
                drawMenu.Bool("Q", "Q Range");
                drawMenu.Bool("E", "E Range", false);
                drawMenu.Bool("R", "R Range");
                drawMenu.Bool("StackQ", "Auto Stack Q Status");
            }
            MainMenu.KeyBind("StackQ", "Auto Stack Q", Keys.Z, KeyBindType.Toggle);

            Evade.Evading += Evading;
            Evade.TryEvading += TryEvading;
            Game.OnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Obj_AI_Base.OnPlayAnimation += (sender, args) =>
                {
                    if (!sender.IsMe || args.Animation != "Spell3")
                    {
                        return;
                    }
                    isDashing = true;
                    DelayAction.Add(
                        300,
                        () =>
                            {
                                if (Player.IsDashing())
                                {
                                    isDashing = false;
                                }
                            });
                    DelayAction.Add(450, () => isDashing = false);
                };
        }
示例#30
0
        /// <summary>
        ///     The load.
        /// </summary>
        public void Load()
        {
            // Initialize list
            this.QReticles = new List<QRecticle>();

            // Create spells
            this.Q = new Spell(SpellSlot.Q, this.Player.GetRealAutoAttackRange());
            this.W = new Spell(SpellSlot.W);
            this.E = new Spell(SpellSlot.E, 0x44C);
            this.R = new Spell(SpellSlot.R);

            this.E.SetSkillshot(0.25f, 0x82, 0x578, false, SkillshotType.SkillshotLine);
            this.R.SetSkillshot(0.4f, 0xA0, 0x7D0, true, SkillshotType.SkillshotLine);

            this.CreateMenu();

            Game.PrintChat("<font color=\"#7CFC00\"><b>MoonDraven:</b></font> Loaded");

            GameObject.OnCreate += this.GameObjectOnOnCreate;
            GameObject.OnDelete += this.GameObjectOnOnDelete;
            InterruptableSpell.OnInterruptableTarget += this.Interrupter2OnOnInterruptableTarget;
            Drawing.OnDraw += this.DrawingOnOnDraw;
            Game.OnUpdate += this.GameOnOnUpdate;
            Gapcloser.OnGapCloser += this.AntiGapcloserOnOnEnemyGapcloser;
        }