Exemplo n.º 1
0
        public virtual bool MoveCombo(TargetManager targetManager, MoveComboModeMenu comboModeMenu)
        {
            if (!this.Owner.CanUseAbilities || this.Owner.IsInvisible)
            {
                return(false);
            }

            if (this.Owner.IsMyHero)
            {
                var target = targetManager.EnemyHeroes.Where(x => !x.IsStunned && !x.IsHexed && !x.IsSilenced && !x.IsRooted)
                             .OrderBy(x => x.Distance(this.Owner))
                             .FirstOrDefault(x => x.Distance(this.Owner) < 1000);

                if (target != null)
                {
                    targetManager.ForceSetTarget(target);
                }
            }

            var abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (this.MoveComboUseBlinks(abilityHelper))
            {
                return(true);
            }

            if (targetManager.HasValidTarget)
            {
                if (this.MoveComboUseDisables(abilityHelper))
                {
                    return(true);
                }
            }

            if (this.MoveComboUseBuffs(abilityHelper))
            {
                return(true);
            }

            if (targetManager.HasValidTarget && targetManager.Target.Distance(this.Owner) < 600)
            {
                if (this.MoveComboUseShields(abilityHelper))
                {
                    return(true);
                }
            }

            return(false);
        }
        // Token: 0x06000713 RID: 1811 RVA: 0x000215D4 File Offset: 0x0001F7D4
        public virtual bool MoveCombo(TargetManager targetManager, MoveComboModeMenu comboModeMenu)
        {
            if (!this.Owner.CanUseAbilities || this.Owner.IsInvisible)
            {
                return(false);
            }
            if (this.Owner.IsMyHero)
            {
                Unit9 unit = (from x in targetManager.EnemyHeroes
                              where !x.IsStunned && !x.IsHexed && !x.IsSilenced && !x.IsRooted
                              orderby x.Distance(this.Owner)
                              select x).FirstOrDefault((Unit9 x) => x.Distance(this.Owner) < 1000f);
                if (unit != null)
                {
                    targetManager.ForceSetTarget(unit);
                }
            }
            AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            return(this.MoveComboUseBlinks(abilityHelper) || (targetManager.HasValidTarget && this.MoveComboUseDisables(abilityHelper)) || this.MoveComboUseBuffs(abilityHelper) || (targetManager.HasValidTarget && targetManager.Target.Distance(this.Owner) < 600f && this.MoveComboUseShields(abilityHelper)));
        }