public static bool willColide(Skillshot ss,Vector2 from,float speed, Vector2 direction,float radius) { Vector2 ssVel = ss.Direction.Normalized() * ss.SpellData.MissileSpeed; Vector2 dashVel = direction * speed; Vector2 a = ssVel - dashVel;//true direction + speed Vector2 realFrom = from.Extend(direction, ss.SpellData.Delay + speed); if (!ss.IsAboutToHit((int) ((dashVel.Length()/475)*1000)+Game.Ping+100, ObjectManager.Player)) return false; if (ss.IsAboutToHit(1000, ObjectManager.Player) && interCir(ss.MissilePosition, ss.MissilePosition.Extend(ss.MissilePosition + a, ss.SpellData.Range+50), from, radius)) return true; return false; }
public static void useWSmart(Skillshot skillShot) { //try douge with E if cant windWall if (!W.IsReady() || skillShot.SpellData.Type == SkillShotType.SkillshotCircle || skillShot.SpellData.Type == SkillShotType.SkillshotRing) { return; } if (skillShot.IsAboutToHit(500, Player)) { var sd = SpellDatabase.GetByMissileName(skillShot.SpellData.MissileSpellName); if (sd == null) { return; } //If enabled if (!YasuoSharp.EvadeSpellEnabled(sd.MenuItemName)) { return; } //if only dangerous if (YasuoSharp.Config.Item("wwDanger").GetValue <bool>() && !YasuoSharp.skillShotIsDangerous(sd.MenuItemName)) { return; } //Console.WriteLine("dmg: " + missle.SpellCaster.GetSpellDamage(Player, sd.SpellName)); float spellDamage = (float)skillShot.Unit.GetSpellDamage(Player, sd.SpellName); int procHp = (int)((spellDamage / Player.MaxHealth) * 100); if (procHp < YasuoSharp.Config.Item("wwDmg").GetValue <Slider>().Value&& Player.Health - spellDamage > 0) { return; } Vector2 blockwhere = Player.Position.To2D().Extend(skillShot.MissilePosition, 150); // missle.Position; // SmoothMouse.addMouseEvent(blockwhere); W.Cast(blockwhere); } }
public static void useWSmart(Skillshot skillShot) { //try douge with E if cant windWall if (!W.IsReady() || skillShot.SpellData.Type == SkillShotType.SkillshotCircle || skillShot.SpellData.Type == SkillShotType.SkillshotRing) { return; } if (skillShot.IsAboutToHit(500, Player)) { var sd = SpellDatabase.GetByMissileName(skillShot.SpellData.MissileSpellName); if (sd == null) { return; } //If enabled if (!YasuoSharp.EvadeSpellEnabled(sd.MenuItemName)) { return; } //if only dangerous if (YasuoSharp.smartW["wwDanger"].Cast <CheckBox>().CurrentValue&& !YasuoSharp.skillShotIsDangerous(sd.MenuItemName)) { return; } //Console.WriteLine("dmg: " + missle.SpellCaster.LSGetSpellDamage(Player, sd.SpellName)); float spellDamage = (float)skillShot.Unit.LSGetSpellDamage(Player, sd.SpellName); int procHp = (int)((spellDamage / Player.MaxHealth) * 100); if (procHp < YasuoSharp.smartW["wwDmg"].Cast <Slider>().CurrentValue&& Player.Health - spellDamage > 0) { return; } Vector3 blockwhere = Player.ServerPosition + Vector3.Normalize(skillShot.MissilePosition.To3D() - Player.ServerPosition) * 10; // missle.Position; W.Cast(blockwhere); } }
public static void useWSmart(Skillshot skillShot) { //try douge with E if cant windWall if (!W.IsReady() || skillShot.SpellData.Type == SkillShotType.SkillshotCircle || skillShot.SpellData.Type == SkillShotType.SkillshotRing) return; if (skillShot.IsAboutToHit(250, Player)) { var sd = SpellDatabase.GetByMissileName(skillShot.SpellData.MissileSpellName); if (sd == null) return; //If enabled if (!YasuoSharp.EvadeSpellEnabled(sd.MenuItemName)) return; //if only dangerous if (YasuoSharp.Config.Item("wwDanger").GetValue<bool>() && !YasuoSharp.skillShotIsDangerous(sd.MenuItemName)) return; //Console.WriteLine("dmg: " + missle.SpellCaster.GetSpellDamage(Player, sd.SpellName)); float spellDamage = (float)skillShot.Unit.GetSpellDamage(Player, sd.SpellName); int procHp = (int)((spellDamage / Player.MaxHealth) * 100); if (procHp < YasuoSharp.Config.Item("wwDmg").GetValue<Slider>().Value && Player.Health - spellDamage > 0) return; Vector3 blockwhere = Player.ServerPosition + Vector3.Normalize(skillShot.MissilePosition.To3D() - Player.ServerPosition) * 10; // missle.Position; SmoothMouse.addMouseEvent(blockwhere); W.Cast(blockwhere); } }