private static void OnTargetSpellDetection(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { try { // TODO: add menu check //Cassiopeia_Base_E_TwinFang_tar.troy //Cassiopeia_Base_E_TwinFang_mis.troy /* foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(args.SData)) * { * string name = descriptor.Name; * object value = descriptor.GetValue(args.SData); * // if (value == "Cassiopeia_Base_E_TwinFang_mis.troy") * Console.WriteLine("{0}={1}", name, value); * }*/ var caster = sender as AIHeroClient; var target = args.Target as Obj_AI_Base; if (caster == null || target == null) { return; } var data = TargetSpellDatabase.GetByName(args.SData.Name); if (Orbwalking.IsAutoAttack(args.SData.Name)) { data = new TargetSpellData( caster.ChampionName.ToLower(), args.SData.Name.ToLower(), SpellSlot.Unknown, SpellType.AutoAttack, CcType.No, caster.AttackRange, caster.AttackDelay, caster.BasicAttack.MissileSpeed); // TODO: check melee } return; /*if (data == null) * { * Console.WriteLine("Target Spell not Found: " + args.SData.Name); * return; * }*/ ActiveTargeted.Add(new TargetSpell { Caster = caster, Target = target, Spell = data, StartTick = Environment.TickCount, StartPosition = args.Start.To2D(), blockBelow = TargetedSpellManager.blockSpellOnHP(caster.ChampionName, args.SData.Name), spellArgs = args, particleName = getParticleName(args.SData.MissileEffectName) }); } catch (Exception e) { Console.WriteLine(e); } }
private static void onLoad(EventArgs args) { if (ObjectManager.Player.ChampionName != CharName) { return; } Yasuo.setSkillShots(); Yasuo.setDashes(); Yasuo.point1 = Yasuo.Player.Position; Game.PrintChat("YasuoSharpV2 by DeTuKs"); Console.WriteLine("YasuoSharpV2 by DeTuKs"); try { Config = new Menu("YasuoSharp", "Yasuo", true); //Orbwalker Config.AddSubMenu(new Menu("Orbwalker", "Orbwalker")); Orbwalker = new Orbwalking.Orbwalker(Config.SubMenu("Orbwalker")); //TS var TargetSelectorMenu = new Menu("Target Selector", "Target Selector"); TargetSelector.AddToMenu(TargetSelectorMenu); Config.AddSubMenu(TargetSelectorMenu); //Combo Config.AddSubMenu(new Menu("Combo Sharp", "combo")); Config.SubMenu("combo").AddItem(new MenuItem("comboItems", "Use Items")).SetValue(true); //SmartR Config.SubMenu("combo").AddItem(new MenuItem("smartR", "Smart R")).SetValue(true); Config.SubMenu("combo").AddItem(new MenuItem("useRHit", "Use R if hit")).SetValue(new Slider(3, 5, 1)); Config.SubMenu("combo").AddItem(new MenuItem("useRHitTime", "Use R when they land")).SetValue(true); Config.SubMenu("combo").AddItem(new MenuItem("useEWall", "use E to safe")).SetValue(true); //Flee away Config.SubMenu("combo").AddItem(new MenuItem("flee", "E away")).SetValue(new KeyBind('Z', KeyBindType.Press, false)); Config.SubMenu("combo").AddItem(new MenuItem("fleeStack", "Stack Q while flee")).SetValue(true); //LastHit Config.AddSubMenu(new Menu("LastHit Sharp", "lHit")); Config.SubMenu("lHit").AddItem(new MenuItem("useQlh", "Use Q")).SetValue(true); Config.SubMenu("lHit").AddItem(new MenuItem("useElh", "Use E")).SetValue(true); //LaneClear Config.AddSubMenu(new Menu("LaneClear Sharp", "lClear")); Config.SubMenu("lClear").AddItem(new MenuItem("useQlc", "Use Q")).SetValue(true); Config.SubMenu("lClear").AddItem(new MenuItem("useEmpQHit", "Emp Q Min hit")).SetValue(new Slider(3, 6, 1)); Config.SubMenu("lClear").AddItem(new MenuItem("useElc", "Use E")).SetValue(true); //Harass Config.AddSubMenu(new Menu("Harass Sharp", "harass")); Config.SubMenu("harass").AddItem(new MenuItem("harassTower", "Harass under tower")).SetValue(false); Config.SubMenu("harass").AddItem(new MenuItem("harassOn", "Harass enemies")).SetValue(true); Config.SubMenu("harass").AddItem(new MenuItem("harQ3Only", "Use only Q3")).SetValue(false); //Drawings Config.AddSubMenu(new Menu("Drawing Sharp", "drawing")); Config.SubMenu("drawing").AddItem(new MenuItem("disDraw", "Dissabel drawing")).SetValue(false); Config.SubMenu("drawing").AddItem(new MenuItem("drawQ", "Draw Q range")).SetValue(true); Config.SubMenu("drawing").AddItem(new MenuItem("drawE", "Draw E range")).SetValue(true); Config.SubMenu("drawing").AddItem(new MenuItem("drawR", "Draw R range")).SetValue(true); Config.SubMenu("drawing").AddItem(new MenuItem("drawWJ", "Draw Wall Jumps")).SetValue(true); //Extra Config.AddSubMenu(new Menu("Extra Sharp", "extra")); Config.SubMenu("extra").AddItem(new MenuItem("djTur", "Dont Jump turrets")).SetValue(true); Config.SubMenu("extra").AddItem(new MenuItem("autoLevel", "Auto Level")).SetValue(true); Config.SubMenu("extra").AddItem(new MenuItem("levUpSeq", "")).SetValue(new StringList(new string[2] { "Q E W Q start", "Q E Q W start" })); //LastHit Config.AddSubMenu(new Menu("Wall Usage", "aShots")); //SmartW Config.SubMenu("aShots").AddItem(new MenuItem("smartW", "Smart WW")).SetValue(true); Config.SubMenu("aShots").AddItem(new MenuItem("smartEDogue", "E use dogue")).SetValue(true); Config.SubMenu("aShots").AddItem(new MenuItem("wwDanger", "WW only dangerous")).SetValue(false); Config.SubMenu("aShots").AddItem(new MenuItem("wwDmg", "WW if does proc HP")).SetValue(new Slider(0, 100, 1)); skillShotMenu = getSkilshotMenu(); Config.SubMenu("aShots").AddSubMenu(skillShotMenu); Config.SubMenu("aShots").AddSubMenu(TargetedSpellManager.setUp()); //Streaming Config.AddSubMenu(new Menu("Stream Sharp", "stream")); Config.SubMenu("stream").AddItem(new MenuItem("streamMouse", "SimulateMouse")).SetValue(false); //Debug Config.AddSubMenu(new Menu("Debug", "debug")); Config.SubMenu("debug").AddItem(new MenuItem("WWLast", "Print last ww blocked")).SetValue(new KeyBind('T', KeyBindType.Press, false)); Config.SubMenu("debug").AddItem(new MenuItem("saveDash", "saveDashd")).SetValue(new KeyBind('O', KeyBindType.Press, false)); Config.SubMenu("debug").AddItem(new MenuItem("exportDash", "export dashes")).SetValue(new KeyBind('P', KeyBindType.Press, false)); Config.SubMenu("debug").AddItem(new MenuItem("deleteDash", "deleteLastDash")).SetValue(new KeyBind('I', KeyBindType.Press, false)); Config.AddToMainMenu(); TargetSpellDetector.init(); Drawing.OnDraw += onDraw; Game.OnUpdate += OnGameUpdate; GameObject.OnCreate += OnCreateObject; GameObject.OnDelete += OnDeleteObject; Obj_AI_Base.OnProcessSpellCast += OnProcessSpell; Spellbook.OnStopCast += onStopCast; CustomEvents.Unit.OnLevelUp += OnLevelUp; SkillshotDetector.OnDetectSkillshot += OnDetectSkillshot; SkillshotDetector.OnDeleteMissile += OnDeleteMissile; } catch { Game.PrintChat("Oops. Something went wrong with Yasuo - Sharpino"); } }
private static void OnTargetSpellDetection(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { try { //MissileEffect=Cassiopeia_Base_E_TwinFang_mis.troy if (sender.Position.Distance(ObjectManager.Player.Position) > DetectionRange) { return; // only detect spells in range } if (!sender.IsValid <Obj_AI_Hero>()) { return; // only hero } if (!args.Target.IsValid <Obj_AI_Base>()) { return; // only targeted } if (args.SData.Name.ToLower().Contains("summoner") || args.SData.Name.ToLower().Contains("recall")) { return; // ignore summoners TODO: add summoners to database } // TODO: add menu check //Cassiopeia_Base_E_TwinFang_tar.troy //Cassiopeia_Base_E_TwinFang_mis.troy /* foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(args.SData)) * { * string name = descriptor.Name; * object value = descriptor.GetValue(args.SData); * // if (value == "Cassiopeia_Base_E_TwinFang_mis.troy") * Console.WriteLine("{0}={1}", name, value); * }*/ var caster = (Obj_AI_Hero)sender; var target = (Obj_AI_Base)args.Target; var data = TargetSpellDatabase.GetByName(args.SData.Name); if (Orbwalking.IsAutoAttack(args.SData.Name)) { data = new TargetSpellData( caster.ChampionName.ToLower(), args.SData.Name.ToLower(), SpellSlot.Unknown, SpellType.AutoAttack, CcType.No, caster.AttackRange, caster.AttackDelay, caster.BasicAttack.MissileSpeed); // TODO: check melee } /*if (data == null) * { * Console.WriteLine("Target Spell not Found: " + args.SData.Name); * return; * }*/ ActiveTargeted.Add(new TargetSpell { Caster = caster, Target = target, Spell = data, StartTick = Environment.TickCount, StartPosition = args.Start.To2D(), blockBelow = TargetedSpellManager.blockSpellOnHP(caster.ChampionName, args.SData.Name), spellArgs = args, particleName = getParticleName(args.SData.MissileEffect) }); } catch (Exception e) { Console.WriteLine(e); } }
private static void onLoad(EventArgs args) { if (ObjectManager.Player.ChampionName != CharName) { return; } Yasuo.setSkillShots(); Yasuo.setDashes(); Yasuo.point1 = Yasuo.Player.Position; Chat.Print("YasuoSharpV2 by DeTuKs"); Console.WriteLine("YasuoSharpV2 by DeTuKs"); try { Config = MainMenu.AddMenu("YasuoSharp", "YasuoASHARP"); //Combo comboMenu = Config.AddSubMenu("Combo Sharp", "combo"); comboMenu.Add("comboItems", new CheckBox("Use Items")); //SmartR smartR = Config.AddSubMenu("Smart R"); smartR.Add("smartR", new CheckBox("Smart R")); smartR.Add("useRHit", new Slider("Use R if hit", 3, 1, 5)); smartR.Add("useRHitTime", new CheckBox("Use R when they land")); smartR.Add("useEWall", new CheckBox("use E to safe")); //Flee away flee = Config.AddSubMenu("Flee"); //flee.Add("flee", new KeyBind("E away", false, KeyBind.BindTypes.HoldActive, 'Z')); flee.Add("fleeStack", new CheckBox("Stack Q while flee")); //LastHit lasthit = Config.AddSubMenu("LastHit Sharp", "lHit"); lasthit.Add("useQlh", new CheckBox("Use Q")); lasthit.Add("useElh", new CheckBox("Use E")); //LaneClear laneclear = Config.AddSubMenu("LaneClear Sharp", "lClear"); laneclear.Add("useQlc", new CheckBox("Use Q")); laneclear.Add("useEmpQHit", new Slider("Emp Q Min hit", 3, 1, 6)); laneclear.Add("useElc", new CheckBox("Use E")); //Harass harass = Config.AddSubMenu("Harass Sharp", "harass"); harass.Add("harassTower", new CheckBox("Harass under tower", false)); harass.Add("harassOn", new CheckBox("Harass enemies")); harass.Add("harQ3Only", new CheckBox("Use only Q3", false)); //Drawings drawings = Config.AddSubMenu("Drawing Sharp", "drawing"); drawings.Add("disDraw", new CheckBox("Dissabel drawing", false)); drawings.Add("drawQ", new CheckBox("Draw Q range")); drawings.Add("drawE", new CheckBox("Draw E range")); drawings.Add("drawR", new CheckBox("Draw R range")); drawings.Add("drawWJ", new CheckBox("Draw Wall Jumps")); //Extra extra = Config.AddSubMenu("Extra Sharp", "extra"); extra.Add("djTur", new CheckBox("Dont Jump turrets")); extra.Add("autoLevel", new CheckBox("Auto Level")); extra.Add("levUpSeq", new ComboBox("Sequence : ", 0, "Q E W Q start", "Q E Q W start")); //SmartW smartW = Config.AddSubMenu("Wall Usage", "aShots"); smartW.Add("smartW", new CheckBox("Smart WW")); smartW.Add("smartEDogue", new CheckBox("E use dogue")); smartW.Add("wwDanger", new CheckBox("WW only dangerous", false)); smartW.Add("wwDmg", new Slider("WW if does proc HP", 0, 1, 100)); getSkilshotMenu(smartW); TargetedSpellManager.setUp(smartW); //Debug debug = Config.AddSubMenu("Debug", "debug"); debug.Add("WWLast", new KeyBind("Print last ww blocked", false, KeyBind.BindTypes.HoldActive, 'T')); debug.Add("saveDash", new KeyBind("saveDashd", false, KeyBind.BindTypes.HoldActive, 'O')); debug.Add("exportDash", new KeyBind("export dashes", false, KeyBind.BindTypes.HoldActive, 'P')); debug.Add("deleteDash", new KeyBind("deleteLastDash", false, KeyBind.BindTypes.HoldActive, 'I')); TargetSpellDetector.init(); Drawing.OnDraw += onDraw; Game.OnUpdate += OnGameUpdate; GameObject.OnCreate += OnCreateObject; GameObject.OnDelete += OnDeleteObject; Obj_AI_Base.OnProcessSpellCast += OnProcessSpell; Spellbook.OnStopCast += onStopCast; CustomEvents.Unit.OnLevelUp += OnLevelUp; Game.OnSendPacket += OnGameSendPacket; Game.OnProcessPacket += OnGameProcessPacket; SkillshotDetector.OnDetectSkillshot += OnDetectSkillshot; SkillshotDetector.OnDeleteMissile += OnDeleteMissile; } catch { Chat.Print("Oops. Something went wrong with Yasuo - Sharpino"); } }