Exemplo n.º 1
0
        public TrinityPower OffensivePower()
        {
            Target = Targeting.BestAoeUnit(25f, true);
            if (Target == null)
            {
                return(null);
            }

            if (Target.Distance > 12f)
            {
                Walk(Target);
            }

            TrinityPower power;

            if (TryMantra(out power))
            {
                return(power);
            }

            if (ShouldCycloneStrike())
            {
                return(Spells.CycloneStrike());
            }

            if (ShouldInnerSanctuary())
            {
                return(Spells.InnerSanctuary());
            }

            if (ShouldBlindingFlash())
            {
                return(Spells.BlindingFlash());
            }

            if (ShouldEpiphany())
            {
                return(Spells.Epiphany());
            }

            return(TryCripplingWave(out power) ? power : Walk(Target));
        }
        public TrinityPower OffensivePower()
        {
            Target = Targeting.BestAoeUnit();
            if (Target == null)
            {
                return(null);
            }

            Vector3 position;

            if (ShouldIgnorePain())
            {
                return(Spells.IgnorePain());
            }

            if (ShouldWarCry())
            {
                return(Spells.WarCry());
            }

            if (ShouldThreateningShout())
            {
                return(Spells.ThreateningShout());
            }

            if (ShouldFuriousChargeInCombat(out position))
            {
                return(Spells.FuriousCharge(position));
            }

            if (ShouldAncientSpear(out Target))
            {
                return(Spells.AncientSpear(Target));
            }

            return(Walk(Targeting.HealthGlobeExists(25f) ? Targeting.GetBestHealthGlobeClusterPoint(10f, 25f) :
                        TargetUtil.GetLoiterPosition(TargetUtil.GetBestClusterUnit(), 10f)));
        }
Exemplo n.º 3
0
        public TrinityPower OffensivePower()
        {
            Target = Targeting.BestAoeUnit(45);
            if (Target == null)
            {
                return(null);
            }

            Vector3      location;
            TrinityActor target = Target;

            if (Target.RadiusDistance < 65f)
            {
                if (ShouldBloodRush(50f, out location))
                {
                    return(Spells.BloodRush(Target.Position));
                }

                if (ShouldBoneArmor())
                {
                    return(Spells.BoneArmor());
                }

                if (ShouldDevour())
                {
                    return(Spells.Devour());
                }

                if (ShouldLandOfTheDead())
                {
                    return(Spells.LandOfTheDead());
                }

                if (ShouldSimulacrum())
                {
                    return(Spells.Simulacrum(Target.Position));
                }

                if (ShouldLeech(out target))
                {
                    return(Spells.Leech(target));
                }

                if (ShouldFrailty(out target))
                {
                    return(Spells.Frailty(target));
                }

                if (ShouldDecrepify(out target))
                {
                    return(Spells.Decrepify(target));
                }

                if (ShouldBoneSpirit())
                {
                    return(Spells.BoneSpirit(Target));
                }

                if (ShouldSkeletalMage())
                {
                    return(Spells.SkeletalMage(Target));
                }

                if (ShouldCommandSkeletons())
                {
                    return(Spells.CommandSkeletons(Target));
                }

                if (ShouldCorpseExplosion())
                {
                    return(Spells.CorpseExplosion(Target.Position));
                }

                if (ShouldBoneSpikes())
                {
                    return(Spells.BoneSpikes(Target));
                }

                if (ShouldSiphonBlood())
                {
                    return(Spells.SiphonBlood(Target));
                }

                if (ShouldGrimScythe(out target))
                {
                    return(Spells.GrimScythe(target));
                }
            }
            if (ShouldWalk(out location))
            {
                Walk(location, 3f);
            }

            return(null);
        }