IsItemEnable() public static method

public static IsItemEnable ( string name ) : bool
name string
return bool
コード例 #1
0
ファイル: Program.cs プロジェクト: y921231/EnsageSharp
        private static void DoCombo()
        {
            if (!IsComboHero)
            {
                _globalTarget = null;
                return;
            }
            if (_globalTarget == null || !_globalTarget.IsValid || !_globalTarget.IsAlive)
            {
                _globalTarget = Helper.ClosestToMouse(Members.MyHero);
                return;
            }
            if (UseOrbWalkker)
            {
                Orbwalking.Orbwalk(_globalTarget, followTarget: true);
            }
            else if (!Members.MyHero.IsAttacking() && !_attacker.Sleeping)
            {
                Members.MyHero.Attack(_globalTarget);
                _attacker.Sleep(250);
            }

            var inventory =
                Members.MyHero.Inventory.Items.Where(
                    x =>
                    Helper.IsItemEnable(x.StoredName()) && x.CanBeCasted() &&
                    (x.GetCastRange() > 0 && Members.MyHero.Distance2D(_globalTarget) <= x.GetCastRange() + 150 ||
                     (x.GetCastRange() <= 0)) && Utils.SleepCheck($"{x.Handle}+item_usages"))
                .ToList();

            foreach (var item in inventory)
            {
                if (item.IsAbilityBehavior(AbilityBehavior.NoTarget))
                {
                    item.UseAbility();
                }
                else if (item.IsAbilityBehavior(AbilityBehavior.UnitTarget))
                {
                    if (item.TargetTeamType == TargetTeamType.Enemy || item.TargetTeamType == TargetTeamType.All ||
                        item.TargetTeamType == TargetTeamType.Custom)
                    {
                        item.UseAbility(_globalTarget);
                    }
                    else
                    {
                        item.UseAbility(Members.MyHero);
                    }
                }
                else
                {
                    item.UseAbility(_globalTarget.NetworkPosition);
                }
                Utils.Sleep(250, $"{item.Handle}+item_usages");
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: xqkadpa/EnsageSharp
        private static void DoCombo()
        {
            if (!IsComboHero)
            {
                _globalTarget = null;
                return;
            }
            if (_globalTarget == null || !_globalTarget.IsValid || !_globalTarget.IsAlive)
            {
                _globalTarget = Helper.ClosestToMouse(Members.MyHero);
                return;
            }
            if (UseOrbWalkker)
            {
                Orbwalking.Orbwalk(_globalTarget, followTarget: true);
            }
            else if (!Members.MyHero.IsAttacking() && !_attacker.Sleeping)
            {
                Members.MyHero.Attack(_globalTarget);
                _attacker.Sleep(250);
            }

            var inventory =
                Members.MyHero.Inventory.Items.Where(
                    x =>
                    Helper.IsItemEnable(x.StoredName()) && x.CanBeCasted() &&
                    (x.GetCastRange() > 0 && x.CanHit(_globalTarget) ||
                     (x.GetCastRange() <= 0)) && Utils.SleepCheck($"{x.Handle}+item_usages"))
                .ToList();

            foreach (var item in inventory)
            {
                if (item.IsAbilityBehavior(AbilityBehavior.NoTarget))
                {
                    item.UseAbility();
                }
                else if (item.IsAbilityBehavior(AbilityBehavior.UnitTarget))
                {
                    if (item.TargetTeamType == TargetTeamType.Enemy || item.TargetTeamType == TargetTeamType.All ||
                        item.TargetTeamType == TargetTeamType.Custom)
                    {
                        item.UseAbility(_globalTarget);
                    }
                    else
                    {
                        item.UseAbility(Members.MyHero);
                    }
                }
                else
                {
                    item.UseAbility(_globalTarget.NetworkPosition);
                }
                Utils.Sleep(250, $"{item.Handle}+item_usages");
            }

            if (TetherInCombo)
            {
                var tether = Abilities.FindAbility("wisp_tether");
                if (tether == null || tether.Level == 0 || !tether.CanBeCasted() || tether.IsHidden)
                {
                    return;
                }
                var anyAllyHero =
                    Heroes.GetByTeam(Members.MyTeam)
                    .Where(x => !x.Equals(Members.MyHero) && x.IsAlive && tether.CanHit(x))
                    .OrderBy(y => y.Distance2D(_globalTarget));
                var anyAllyCreep =
                    ObjectManager.GetEntities <Unit>()
                    .Where(x => x != null && x.Team == Members.MyTeam && x.IsAlive && tether.CanHit(x))
                    .OrderBy(y => y.Distance2D(_globalTarget));

                var hero = anyAllyHero.FirstOrDefault();

                var creep = anyAllyCreep.FirstOrDefault();

                float dist1 = 0, dist2 = 0;
                if (hero != null)
                {
                    dist1 = hero.Distance2D(_globalTarget);
                }
                if (creep != null)
                {
                    dist2 = creep.Distance2D(_globalTarget);
                }
                var targetForTether = (dist1 > dist2) ? creep : hero;
                var mydist          = Members.MyHero.Distance2D(_globalTarget);
                if (targetForTether != null && !targetForTether.Equals(Members.MyHero) && dist1 <= mydist &&
                    dist2 <= mydist && !_multiSleeper.Sleeping(tether + "in combo"))
                {
                    tether.UseAbility(targetForTether);
                    _multiSleeper.Sleep(250, tether + "in combo");
                }
            }
        }