Exemple #1
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(0, 3, true);
            Cost     = 122;
            Range    = 45;


            Priority = SkillPriority.High;

            PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast);

            PreCast.Criteria += (s) => !Hotbar.HasDebuff(SNOPower.Succubus_BloodStar);

            ClusterConditions.Add(new SkillClusterConditions(4d, 45f, 4, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: Range, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal | TargetProperties.Fast));
            SingleUnitCondition.Add(new UnitTargetConditions
            {
                TrueConditionFlags = TargetProperties.None,
                Criteria           = (unit) => FunkyGame.Hero.dCurrentEnergyPct > 0.9d,
                //Distance = Range,
                FalseConditionFlags = TargetProperties.LowHealth,
            });

            FcriteriaCombat = (u) => !FunkyGame.Hero.Class.bWaitingForSpecial;
        }
Exemple #2
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(1, 1, true);
            Cost     = 250;
            Range    = RuneIndex == 4 ? 20 : 40;


            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckEnergy |
                                         SkillPrecastFlags.CheckCanCast));

            PreCast.Criteria += (s) => !Hotbar.HasDebuff(SNOPower.Succubus_BloodStar);

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

            ClusterConditions.Add(new SkillClusterConditions(4d, RuneIndex == 4 ? 20f : 40f, 2, true));

            FcriteriaCombat = (u) => !FunkyGame.Hero.Class.bWaitingForSpecial;
        }
Exemple #3
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();
        }
Exemple #4
0
        public override void Initialize()
        {
            if (RuneIndex != 4)
            {
                Cooldown = 20000;
            }

            Range    = 49;
            Cost     = RuneIndex == 4 ? 40 : 0;
            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckCanCast);

            //Fires of Heaven (Straight Line Fire)
            ClusterConditions.Add(RuneIndex == 4
                                ? new SkillClusterConditions(5d, 45f, 3, true)
                                : new SkillClusterConditions(8d, 45f, 4, true));

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

            //Fire of Heaven (No CD!)
            if (RuneIndex == 4)
            {
                SingleUnitCondition.Add(new UnitTargetConditions
                {
                    TrueConditionFlags  = TargetProperties.None,
                    Criteria            = (unit) => FunkyGame.Hero.dCurrentEnergyPct > 0.90d,
                    FalseConditionFlags = TargetProperties.LowHealth | TargetProperties.Weak,
                });
            }
        }
Exemple #5
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(0, 1, true);
            Cost     = 10;

            if (RuneIndex != 4)
            {
                IsDestructiblePower = true;
                Range    = 50;
                Priority = SkillPriority.Medium;
                PreCast  = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckEnergy));

                ClusterConditions.Add(new SkillClusterConditions(4d, 40, 2, true));
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 50, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));

                FcriteriaCombat = (u) => !FunkyGame.Hero.Class.bWaitingForSpecial && ((!Hotbar.HasPower(SNOPower.DemonHunter_ClusterArrow)) ||
                                                                                      LastUsedMilliseconds >= 110000);
            }
            else
            {            //Shuriken Cloud
                _executiontype  = SkillExecutionFlags.Buff;
                PreCast         = new SkillPreCast(SkillPrecastFlags.CheckCanCast);
                Priority        = SkillPriority.High;
                IsBuff          = true;
                FcriteriaBuff   = () => !Hotbar.HasBuff(SNOPower.DemonHunter_Chakram);
                FcriteriaCombat = (u) => !Hotbar.HasBuff(SNOPower.DemonHunter_Chakram);
            }
        }
Exemple #6
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(0, 1, true);
            Cost     = RuneIndex == 3 ? 10 : 20;
            Range    = 50;

            IsChanneling        = true;
            IsDestructiblePower = true;

            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 45, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));

            ClusterConditions.Add(new SkillClusterConditions(10d, 45f, 2, true));

            FcriteriaCombat = (u) =>
            {
                if (FunkyGame.Hero.Class.bWaitingForSpecial)
                {
                    return(false);
                }

                var isChanneling = (IsFiring || LastUsedMilliseconds < 450);
                //If channeling, check if energy is greater then 10.. else only start when energy is at least -40-
                return((isChanneling && FunkyGame.Hero.dCurrentEnergy > 6) || (FunkyGame.Hero.dCurrentEnergy > 40) &&
                       (!FunkyGame.Hero.Class.bWaitingForSpecial || FunkyGame.Hero.dCurrentEnergy >= FunkyGame.Hero.Class.iWaitingReservedAmount));
            };
        }
Exemple #7
0
        public override void Initialize()
        {
            FullMarauderSetBonus = Equipment.CheckLegendaryItemCount(LegendaryItemTypes.EmbodimentoftheMarauder, 6);

            Cost  = 50;
            Range = 50;


            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast);


            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: Range, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));
            ClusterConditions.Add(new SkillClusterConditions(7d, Range, 3, true));

            //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,
            });

            FcriteriaCombat = (u) => !FunkyGame.Hero.Class.bWaitingForSpecial;
        }
Exemple #8
0
        public override void Initialize()
        {
            //Runeindex 2 == Sticky Trap!
            if (RuneIndex == 2)
            {
                ExecutionType = SkillExecutionFlags.Target | SkillExecutionFlags.ClusterTarget;
            }

            WaitVars = new WaitLoops(1, 1, true);
            Cost     = 30;
            Range    = 40;

            Priority = SkillPriority.Medium;

            PreCast = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckRecastTimer | SkillPrecastFlags.CheckEnergy));

            if (RuneIndex == 2)             //sticky trap on weak non-full HP units!
            {
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Weak, falseConditionalFlags: TargetProperties.FullHealth));
            }
            else
            {
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.RareElite));
            }


            ClusterConditions.Add(new SkillClusterConditions(6d, 45f, 2, true));

            FcriteriaCombat = (u) => FunkyGame.Targeting.Cache.Environment.HeroPets.DemonHunterSpikeTraps <
                              (Hotbar.PassivePowers.Contains(SNOPower.DemonHunter_Passive_CustomEngineering) ? 6 : 3);
        }
Exemple #9
0
        public override void Initialize()
        {
            Range    = 49;
            Cost     = 20;
            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckCanCast);

            ClusterConditions.Add(new SkillClusterConditions(10d, 35f, 3, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, Range, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));

            //Use on any unit with Gyrfalcons Foote equipped.
            if (Equipment.LegendaryEquippedItems.Any(i => i == LegendaryItemTypes.GyrfalconsFoote))
            {
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, Range));
            }
            else
            {
                //Use on any unit when energy is greater than 90%
                SingleUnitCondition.Add(new UnitTargetConditions
                {
                    TrueConditionFlags  = TargetProperties.None,
                    Criteria            = (unit) => FunkyGame.Hero.dCurrentEnergyPct > 0.9d,
                    MaximumDistance     = Range,
                    FalseConditionFlags = TargetProperties.LowHealth,
                });
            }
        }
Exemple #10
0
 public override void Initialize()
 {
     Priority = SkillPriority.Low;
     Range    = 10;
     PreCast  = new SkillPreCast((SkillPrecastFlags.CheckCanCast));
     ClusterConditions.Add(new SkillClusterConditions(4d, 10f, 2, true));
     SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None));
 }
Exemple #11
0
        public override void Initialize()
        {
            Range    = 30;
            Priority = SkillPriority.Low;
            PreCast  = new SkillPreCast(SkillPrecastFlags.None);

            ClusterConditions.Add(new SkillClusterConditions(8d, 20f, 3, true));
            SingleUnitCondition.Add(new UnitTargetConditions());
        }
Exemple #12
0
        public override void Initialize()
        {
            Range    = 20;
            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckCanCast);

            ClusterConditions.Add(new SkillClusterConditions(10d, 20f, 5, false, useRadiusDistance: true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, 20, MinimumHealthPercent: 0.99d, falseConditionalFlags: TargetProperties.Normal));
        }
Exemple #13
0
        public override void Initialize()
        {
            Range    = 8;
            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckCanCast);

            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 20, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));
            ClusterConditions.Add(new SkillClusterConditions(10d, 25, 10, false));
            FcriteriaCombat = (u) => FunkyGame.Hero.dCurrentHealthPct < 0.75d;
        }
Exemple #14
0
        public override void Initialize()
        {
            Range    = 40;
            Cost     = 10;
            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckCanCast);

            ClusterConditions.Add(new SkillClusterConditions(5d, 40, 6, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 40, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));
        }
Exemple #15
0
        public override void Initialize()
        {
            Range = 50;

            Priority = SkillPriority.Low;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckCanCast));

            ClusterConditions.Add(new SkillClusterConditions(5d, 49f, 2, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 49));
        }
Exemple #16
0
        public override void Initialize()
        {
            Range = 35;

            Priority = SkillPriority.Low;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckCanCast));

            ClusterConditions.Add(new SkillClusterConditions(4d, 35, 2, true));
            SingleUnitCondition.Add(new UnitTargetConditions());
        }
Exemple #17
0
        public override void Initialize()
        {
            Range    = 8;
            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckCanCast);


            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 30, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));
            ClusterConditions.Add(new SkillClusterConditions(10d, 30, 10, false));
        }
Exemple #18
0
        public override void Initialize()
        {
            Cooldown = 15000;

            WaitVars = new WaitLoops(0, 1, true);
            Cost     = 59;
            Counter  = 5;

            Priority = SkillPriority.Medium;
            Range    = 10;

            PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast);
            ClusterConditions.Add(new SkillClusterConditions(6d, 10f, 4, false, useRadiusDistance: true));



            if (!Equipment.CheckLegendaryItemCount(LegendaryItemTypes.RaimentoftheJadeHarvester, 6))
            {
                SingleUnitCondition.Add(new UnitTargetConditions
                {
                    Criteria            = (unit) => Hotbar.GetBuffStacks(SNOPower.Witchdoctor_SoulHarvest) == 0,
                    MaximumDistance     = 9,
                    FalseConditionFlags = TargetProperties.Normal,
                    HealthPercent       = 0.95d,
                    TrueConditionFlags  = TargetProperties.None,
                });

                FcriteriaCombat = (u) =>
                {
                    double lastCast   = LastUsedMilliseconds;
                    int    RecastMS   = RuneIndex == 1 ? 45000 : 20000;
                    bool   recast     = lastCast > RecastMS;               //if using soul to waste -- 45ms, else 20ms.
                    int    stackCount = Hotbar.GetBuffStacks(SNOPower.Witchdoctor_SoulHarvest);
                    if (stackCount < 5)
                    {
                        return(true);
                    }
                    if (recast)
                    {
                        return(true);
                    }
                    return(false);
                };
            }
            else
            {
                SingleUnitCondition.Add(new UnitTargetConditions
                {
                    MaximumDistance     = 9,
                    FalseConditionFlags = TargetProperties.Normal,
                    HealthPercent       = 0.95d,
                    TrueConditionFlags  = TargetProperties.None,
                });
            }
        }
Exemple #19
0
        public override void Initialize()
        {
            ClusterConditions.Add(new SkillClusterConditions(6d, 40f, 1, true));
            WaitVars = new WaitLoops(0, 0, false);
            Cost     = 0;
            Range    = 40;


            Priority = SkillPriority.Low;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckCanCast));
        }
Exemple #20
0
        public override void Initialize()
        {
            Cooldown = 90000;

            WaitVars = new WaitLoops(0, 1, true);

            Priority = SkillPriority.High;
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Boss, maxdistance: 50, MinimumHealthPercent: 0.75d));
            ClusterConditions.Add(new SkillClusterConditions(10d, 50f, 4, true, clusterflags: ClusterProperties.Elites));
            PreCast = new SkillPreCast(SkillPrecastFlags.CheckCanCast);
        }
Exemple #21
0
        public override void Initialize()
        {
            Priority = SkillPriority.High;
            Range    = 50;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckCanCast | SkillPrecastFlags.CheckPlayerIncapacitated));

            //SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.IsSpecial, 50, 0.50d, falseConditionalFlags: TargetProperties.Fast));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Boss, maxdistance: 40, MinimumHealthPercent: 0.75d));

            ClusterConditions.Add(new SkillClusterConditions(6d, 40, 8, false));
            ClusterConditions.Add(new SkillClusterConditions(6d, 40, 2, false, clusterflags: ClusterProperties.Elites));
        }
Exemple #22
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(1, 1, true);


            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckCanCast));

            ClusterConditions.Add(new SkillClusterConditions(10d, 50f, 13, false));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Boss, 45, MinimumHealthPercent: 0.95d));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, 45, -1, 0.95d, TargetProperties.Normal));
        }
Exemple #23
0
        public override void Initialize()
        {
            Range    = 30;
            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckRecastTimer);

            //Clusters with 3 units within 30f
            ClusterConditions.Add(new SkillClusterConditions(10d, 30f, 3, true));

            //Any Non-Normal Mob thats within 20f and is below 95% HP.
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 20, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));
        }
Exemple #24
0
        public override void Initialize()
        {
            Range    = 9;
            Priority = SkillPriority.Medium;

            PreCast = new SkillPreCast((SkillPrecastFlags.CheckCanCast | SkillPrecastFlags.CheckPlayerIncapacitated));

            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, Range, falseConditionalFlags: TargetProperties.Normal));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, Range, falseConditionalFlags: TargetProperties.Fast | TargetProperties.LowHealth));

            ClusterConditions.Add(new SkillClusterConditions(5d, Range, 2, true, useRadiusDistance: true));
        }
Exemple #25
0
        public override void Initialize()
        {
            Range    = 8;
            Cost     = 10;
            Priority = SkillPriority.Low;
            ClusterConditions.Add(new SkillClusterConditions(10d, 15f, 3, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));

            if (!FunkyGame.Hero.Class.ContainsAnyPrimarySkill)
            {
                SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None));
            }
        }
Exemple #26
0
        public override void Initialize()
        {
            WaitVars        = new WaitLoops(1, 1, true);
            Cost            = 3;
            SecondaryEnergy = true;
            Range           = 40;

            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckEnergy |
                                         SkillPrecastFlags.CheckRecastTimer));
            ClusterConditions.Add(new SkillClusterConditions(4d, 35f, 2, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.RareElite, maxdistance: 40));
        }
Exemple #27
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(1, 2, true);
            Cost     = 50;
            Range    = 50;


            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast);
            ClusterConditions.Add(new SkillClusterConditions(4d, 50f, 2, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 45, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal | TargetProperties.Fast));
            FcriteriaCombat = (u) => !FunkyGame.Hero.Class.bWaitingForSpecial;
        }
Exemple #28
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(1, 2, true);
            Cost     = 20;
            Range    = 50;

            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast);

            ClusterConditions.Add(new SkillClusterConditions(7d, 50f, 5, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Boss, maxdistance: 40, MinimumHealthPercent: 0.95d));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 40, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal | TargetProperties.LowHealth));
        }
Exemple #29
0
        public override void Initialize()
        {
            Cooldown = 9000;

            WaitVars = new WaitLoops(0, 0, true);
            Range    = 14;

            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast));

            ClusterConditions.Add(new SkillClusterConditions(7d, 20f, 2, false));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, 20, MinimumHealthPercent: 0.95d, falseConditionalFlags: TargetProperties.Normal));
        }
Exemple #30
0
        public override void Initialize()
        {
            Cooldown = 200;


            Range = 15;

            Priority            = SkillPriority.Low;
            IsDestructiblePower = true;
            PreCast             = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated));
            ClusterConditions.Add(new SkillClusterConditions(6d, 10f, 2, true));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None));
        }