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; }
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); }
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); }
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); }
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 } }); }
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; }
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; }
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; }
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; } }; }
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; } }
/// <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; }
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; }
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; }
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!"); }
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; }
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; }
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; }
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); }
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!"); }
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); } }
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; }
/// <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; }
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; } }
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; }
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; } }
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; }
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); }; }
/// <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; }