Ejemplo n.º 1
0
        public override void Initialize()
        {
            Priority = SkillPriority.Low;
            Range    = 14;

            if (FunkyBaseExtension.Settings.Monk.bMonkComboStrike)
            {
                PreCast = new SkillPreCast
                {
                    Flags = SkillPrecastFlags.CheckPlayerIncapacitated
                };
                PreCast.Criteria += skill => FunkyGame.Hero.Class.LastUsedAbilities.IndexOf(this) >= FunkyBaseExtension.Settings.Monk.iMonkComboStrikeAbilities - 1;
                PreCast.CreatePrecastCriteria();

                //Use as third hitter!
                if (RuneIndex == 3)
                {
                    Priority = SkillPriority.None;
                }
            }
            else
            {
                PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated);
            }
        }
Ejemplo n.º 2
0
        public override void Initialize()
        {
            FullMarauderSetBonus = Equipment.CheckLegendaryItemCount(LegendaryItemTypes.EmbodimentoftheMarauder, 6);
            BombadiersRucksack   = Equipment.CheckLegendaryItemCount(LegendaryItemTypes.BombadiersRucksack);

            WaitVars = new WaitLoops(0, 0, true);
            Cost     = 30;
            Range    = 55;

            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast
            {
                Flags = SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast,
            };
            PreCast.Criteria += skill => FunkyGame.Targeting.Cache.Environment.HeroPets.DemonHunterSentry < SentryMax();
            PreCast.CreatePrecastCriteria();

            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, Range, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));
            //Any unit when our energy is greater than 90%!
            SingleUnitCondition.Add(new UnitTargetConditions
            {
                TrueConditionFlags  = TargetProperties.None,
                Criteria            = (unit) => FunkyGame.Hero.dCurrentEnergyPct > (FullMarauderSetBonus ? 0.5d : 0.9d),
                MaximumDistance     = Range,
                FalseConditionFlags = TargetProperties.LowHealth,
            });

            ClusterConditions.Add(new SkillClusterConditions(6d, Range, 3, true));


            FcriteriaCombat = (u) => FunkyGame.Targeting.Cache.Environment.HeroPets.DemonHunterSentry < SentryMax();
        }
Ejemplo n.º 3
0
        public override void Initialize()
        {
            Priority = SkillPriority.Low;
            Range    = 16;

            //Combot Strike? lets enforce recast timer and cast check
            //if (FunkyBaseExtension.Settings.Monk.bMonkComboStrike)
            //precastflags |= SkillPrecastFlags.CheckRecastTimer | SkillPrecastFlags.CheckCanCast;


            if (FunkyBaseExtension.Settings.Monk.bMonkComboStrike)
            {
                PreCast = new SkillPreCast
                {
                    Flags = SkillPrecastFlags.CheckPlayerIncapacitated
                };
                PreCast.Criteria += skill => FunkyGame.Hero.Class.LastUsedAbilities.IndexOf(this) >= FunkyBaseExtension.Settings.Monk.iMonkComboStrikeAbilities - 1;
                PreCast.CreatePrecastCriteria();

                //Use as third hitter!
                if (RuneIndex == 0)
                {
                    Priority = SkillPriority.None;
                }
            }
            else
            {
                PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated);
            }
        }
Ejemplo n.º 4
0
        public override void Initialize()
        {
            Priority = SkillPriority.Medium;

            PreCast = new SkillPreCast
            {
                Flags = SkillPrecastFlags.CheckRecastTimer | SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast,
            };
            PreCast.Criteria += skill => Hotbar.HasBuff(SNOPower.Barbarian_Revenge_Buff);
            PreCast.CreatePrecastCriteria();

            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, 10, falseConditionalFlags: TargetProperties.Normal));
            ClusterConditions.Add(new SkillClusterConditions(5d, 7, 2, false, useRadiusDistance: true));
        }
Ejemplo n.º 5
0
        /* Rune Index
         *
         * 2 = Black Blood (3 sec Stun)
         * 4 = 35% resurect
         * 3 = Mana Return
         * 1 = All Dogs Explode
         * 0 = 5 sec damage buff
         *
         */

        public override void Initialize()
        {
            Cooldown = 1000;

            WaitVars = new WaitLoops(1, 0, true);
            Cost     = 10;
            Range    = 51;

            Priority = SkillPriority.High;

            PreCast = new SkillPreCast
            {
                Flags = SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast,
            };
            PreCast.Criteria += skill => FunkyGame.Targeting.Cache.Environment.HeroPets.ZombieDogs > 0;
            PreCast.CreatePrecastCriteria();

            if (RuneIndex == 2 || RuneIndex == 4 || RuneIndex == -1)
            {//normal explosions..
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, -1, -1, 0.99d, TargetProperties.Normal));

                ClusterConditions.Add(new SkillClusterConditions(12d, 45f, 3, true));
            }
            else if (RuneIndex == 3)
            {//mana return..
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None));
                ClusterConditions.Add(new SkillClusterConditions(12d, 45f, 3, true));
                FcriteriaCombat = (u) => FunkyGame.Hero.dCurrentEnergyPct <= 0.30d;
            }
            else if (RuneIndex == 1)
            {//All Explode!
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, -1, -1, 0.99d, TargetProperties.Normal));
                ClusterConditions.Add(new SkillClusterConditions(12d, 50f, 5, true));
            }
            else if (RuneIndex == 0)
            {//Buff
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, -1, -1, 0.95d));

                ClusterConditions.Add(new SkillClusterConditions(12d, 45f, 3, true));
            }
        }
Ejemplo n.º 6
0
        public override void Initialize()
        {
            Priority = SkillPriority.Low;
            Range    = RuneIndex == 0 ? 25 : 12;
            if (FunkyBaseExtension.Settings.Monk.bMonkComboStrike)
            {
                PreCast = new SkillPreCast
                {
                    Flags = SkillPrecastFlags.CheckPlayerIncapacitated
                };
                PreCast.Criteria += skill => FunkyGame.Hero.Class.LastUsedAbilities.IndexOf(this) >= FunkyBaseExtension.Settings.Monk.iMonkComboStrikeAbilities - 1;
                PreCast.CreatePrecastCriteria();
            }
            else
            {
                PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated);
            }

            ClusterConditions.Add(new SkillClusterConditions(5d, 20f, 1, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None));
        }
Ejemplo n.º 7
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(1, 1, true);
            Cost     = 35;
            Range    = 45;


            Priority = SkillPriority.Medium;


            //Buff Type Casting
            if (RuneIndex == 2)
            {
                _executiontype = SkillExecutionFlags.Self;
                PreCast        = new SkillPreCast
                {
                    Flags = SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast,
                };
                PreCast.Criteria += skill => FunkyGame.Targeting.Cache.Environment.HeroPets.WizardArcaneOrbs == 0;
                PreCast.CreatePrecastCriteria();
            }
            else
            {
                PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast);
                ClusterConditions.Add(new SkillClusterConditions(5d, 40, 3, true));

                //Any unit when our energy is greater than 90%!
                SingleUnitCondition.Add(new UnitTargetConditions
                {
                    TrueConditionFlags = TargetProperties.None,
                    Criteria           = (unit) => FunkyGame.Hero.dCurrentEnergyPct > 0.9d,
                    MaximumDistance    = 40,
                });

                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 40, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal | TargetProperties.Fast | TargetProperties.MissileDampening));
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Boss, maxdistance: 40));
            }

            FcriteriaCombat = (u) => !FunkyGame.Hero.Class.bWaitingForSpecial;
        }
Ejemplo n.º 8
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(0, 0, true);

            Priority = SkillPriority.Medium;

            PreCast = new SkillPreCast
            {
                Flags = SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast,
            };
            PreCast.Criteria += skill => !Hotbar.HasBuff(SNOPower.Witchdoctor_BigBadVoodoo);
            PreCast.CreatePrecastCriteria();

            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Boss, MinimumHealthPercent: 0.95d));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, 25, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));

            //Reduced CD Dagger!
            if (Equipment.CheckLegendaryItemCount(LegendaryItemTypes.StarmetalKukri))
            {
                ClusterConditions.Add(new SkillClusterConditions(9d, 50f, 5, true, clusterflags: ClusterProperties.Strong));
                ClusterConditions.Add(new SkillClusterConditions(9d, 50f, 10, false));
            }
        }