Ejemplo n.º 1
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,
                });
            }
        }
Ejemplo n.º 2
0
    private IEnumerator DrawCardCoroutine(SingleUnitCondition condition, int OptionNum, int choiceNum, int times)
    {
        //Debug.Log("Get Triggered");
        for (int i = 0; i < times; i++)
        {
            //Debug.Log("Get Cards");
            //get cards
            List <UnitData> cards = new List <UnitData>();
            if (condition == null)
            {
                cards = m_Deck.GetRandomCards(OptionNum);
            }
            else
            {
                cards = m_Deck.GetRandomCardsWithCondition(condition, OptionNum);
            }

            //Debug.Log("Display options");

            m_DrawCardComponent.DisplayOptions(cards);

            //Debug.Log("Choice");

            yield return(StartCoroutine(m_DrawCardComponent.GetPlayerChoice(choiceNum)));
        }
    }
Ejemplo n.º 3
0
    public override void DrawCard(Notify n, SingleUnitCondition condition = null, int OptionNum = 3, int choiceNum = 1, int times = 1)
    {
        notify = n;
        if (m_Hand.ReachMax)
        {
            NotifyCallback();
            return;
        }

        for (int i = 0; i < times; i++)
        {
            //get cards
            List <UnitData> cards = new List <UnitData>();
            if (condition == null)
            {
                cards = m_Deck.GetRandomCards(OptionNum);
            }
            else
            {
                cards = m_Deck.GetRandomCardsWithCondition(condition, OptionNum);
            }

            List <UnitData> result = new List <UnitData>();
            result.Add(AIPlayer.AIManager.Instance.DrawCard(cards));

            AddToHand(result);
        }
    }
Ejemplo n.º 4
0
        public override void Initialize()
        {
            Priority = SkillPriority.Medium;
            Range    = 60;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckCanCast | SkillPrecastFlags.CheckPlayerIncapacitated));

            var IntersectingUnitTargetConditions =
                new UnitTargetConditions
            {
                TrueConditionFlags = TargetProperties.None,
                MaximumDistance    = Range,
                Criteria           = (unit) => unit.TargetInfo.IntersectingUnits > 2
            };

            SingleUnitCondition.Add(IntersectingUnitTargetConditions);
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, Range, falseConditionalFlags: TargetProperties.Normal));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Summoner, Range, falseConditionalFlags: TargetProperties.LowHealth));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.AvoidanceSummoner, Range, falseConditionalFlags: TargetProperties.LowHealth));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Debuffing, Range, falseConditionalFlags: TargetProperties.LowHealth));
            //SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.Ranged, Range, MinimumHealthPercent: 0.50d));
            SingleUnitCondition.Add(new UnitTargetConditions
            {
                Criteria            = (unit) => FunkyGame.Hero.dCurrentEnergyPct > 0.80d,
                MaximumDistance     = Range,
                FalseConditionFlags = TargetProperties.LowHealth,
            });
        }
Ejemplo n.º 5
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.º 6
0
        public override void Initialize()
        {
            WaitVars = new WaitLoops(0, 1, true);
            Cost     = Hotbar.PassivePowers.Contains(SNOPower.Monk_Passive_ChantOfResonance) ? 25 : 50;


            Priority = SkillPriority.High;

            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, 30, -1, 0.99d));

            if (Equipment.CheckLegendaryItemCount(LegendaryItemTypes.MonkeyKingsGarb, 4))
            {
                PreCast         = new SkillPreCast((SkillPrecastFlags.CheckCanCast));
                FcriteriaBuff   = () => FunkyBaseExtension.Settings.Monk.bMonkSpamMantra && FunkyGame.Targeting.Cache.Environment.SurroundingUnits > 0;
                FcriteriaCombat = (u) =>
                                  !FunkyGame.Hero.Class.bWaitingForSpecial &&
                                  FunkyBaseExtension.Settings.Monk.bMonkSpamMantra &&
                                  FunkyGame.Targeting.Cache.Environment.SurroundingUnits > 0;
            }
            else
            {
                PreCast         = new SkillPreCast((SkillPrecastFlags.CheckEnergy | SkillPrecastFlags.CheckRecastTimer));
                FcriteriaBuff   = () => FunkyBaseExtension.Settings.Monk.bMonkSpamMantra && FunkyGame.Targeting.Cache.Environment.SurroundingUnits > 0 && LastUsedMilliseconds > 3000;
                FcriteriaCombat = (u) => FunkyBaseExtension.Settings.Monk.bMonkSpamMantra && LastUsedMilliseconds > 3000;
            }
        }
Ejemplo n.º 7
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,
                });
            }
        }
Ejemplo n.º 8
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;
        }
Ejemplo n.º 9
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));
            };
        }
Ejemplo n.º 10
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);
            }
        }
Ejemplo n.º 11
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;
        }
Ejemplo n.º 12
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);
        }
Ejemplo n.º 13
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;
        }
Ejemplo n.º 14
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));
 }
Ejemplo n.º 15
0
        public override void Initialize()
        {
            Priority = SkillPriority.High;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckRecastTimer);

            //Make sure we are targeting something!
            SingleUnitCondition.Add(new UnitTargetConditions());
            FcriteriaCombat = (u) => FunkyGame.Hero.dCurrentHealthPct < 0.5d;
        }
Ejemplo n.º 16
0
        public override void Initialize()
        {
            Range = 8;
            Cost  = 10;

            Priority = SkillPriority.Low;
            PreCast  = new SkillPreCast(SkillPrecastFlags.None);
            SingleUnitCondition.Add(new UnitTargetConditions());
        }
Ejemplo n.º 17
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());
        }
Ejemplo n.º 18
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));
        }
Ejemplo n.º 19
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));
        }
Ejemplo n.º 20
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));
        }
Ejemplo n.º 21
0
        public override void Initialize()
        {
            Range    = 49;
            Cost     = 30;
            Priority = SkillPriority.Medium;
            PreCast  = new SkillPreCast(SkillPrecastFlags.CheckCanCast);


            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 45, MinimumHealthPercent: 0.95d));
        }
Ejemplo n.º 22
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;
        }
Ejemplo n.º 23
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));
        }
Ejemplo n.º 24
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());
        }
Ejemplo n.º 25
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,
                });
            }
        }
Ejemplo n.º 26
0
        public override void Initialize()
        {
            Priority      = SkillPriority.High;
            PreCast       = new SkillPreCast((SkillPrecastFlags.CheckCanCast | SkillPrecastFlags.CheckPlayerIncapacitated));
            FcriteriaBuff = () => !Hotbar.HasBuff(SNOPower.X1_Barbarian_WarCry_v2);

            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, 50));
            FcriteriaCombat = (u) => (!Hotbar.HasBuff(SNOPower.X1_Barbarian_WarCry_v2) ||
                                      (Hotbar.PassivePowers.Contains(SNOPower.Barbarian_Passive_InspiringPresence) && LastUsedMilliseconds > 59) ||
                                      FunkyGame.Hero.dCurrentEnergyPct < (FunkyGame.Hero.Class.ContainsAnyPrimarySkill?0.10:0.50));                                   //10% with a primary skill, 50% without one!
        }
Ejemplo n.º 27
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);
        }
Ejemplo n.º 28
0
        public override void Initialize()
        {
            Range = 48;

            IsChanneling = true;


            Priority = SkillPriority.Low;
            PreCast  = new SkillPreCast((SkillPrecastFlags.CheckPlayerIncapacitated));
            SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, -1, 10));
        }
Ejemplo n.º 29
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));
        }
Ejemplo n.º 30
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));
        }