CreatePrecastCriteria() 개인적인 메소드

private CreatePrecastCriteria ( ) : void
리턴 void
예제 #1
0
파일: Sentry.cs 프로젝트: herbfunk/Funky
        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();
        }
예제 #2
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);
        }
예제 #3
0
파일: Revenge.cs 프로젝트: herbfunk/Funky
        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));
        }
예제 #4
0
파일: Sacrifice.cs 프로젝트: herbfunk/Funky
        /* 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));
            }
        }
예제 #5
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));
        }
예제 #6
0
        public override void Initialize()
        {
            //if (FunkyBaseExtension.Settings.Monk.bMonkComboStrike)
                //Cooldown = 250 + (250 * FunkyBaseExtension.Settings.Monk.iMonkComboStrikeAbilities);

            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();
            }
            else
                PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated);
        }
예제 #7
0
파일: ArcaneOrb.cs 프로젝트: herbfunk/Funky
        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;
        }
예제 #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));
            }
        }