Beispiel #1
0
 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;
 }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
        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);
            }
        }
Beispiel #5
0
 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;
 }