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; }
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; }
public override void Initialize() { //ClusterConditions.Add(new SkillClusterConditions(5d, 20f, 1, true)); SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 45, falseConditionalFlags: TargetProperties.DOTDPS)); Cost = 100; Range = 45; Priority = SkillPriority.Medium; PreCast = new SkillPreCast(SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast); PreCast.Criteria += (s) => !Hotbar.HasDebuff(SNOPower.Succubus_BloodStar); FcriteriaCombat = (u) => !FunkyGame.Hero.Class.bWaitingForSpecial; }
public override void Initialize() { if (RuneIndex == 2) { recastTime = 15; } if (Equipment.CheckLegendaryItemCount(LegendaryItemTypes.Quetzalcoatl)) { recastTime = recastTime / 2; } bool hotbarContainsDOT = Hotbar.HasPower(SNOPower.Witchdoctor_Haunt) || (Hotbar.HasPower(SNOPower.Witchdoctor_Piranhas)); Range = 14; Cost = 196; var precastflags = SkillPrecastFlags.CheckPlayerIncapacitated | SkillPrecastFlags.CheckCanCast; if (!hotbarContainsDOT) { ClusterConditions.Add(new SkillClusterConditions(5d, 35, 4, true, 0.25d)); SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 20, MinimumHealthPercent: 0.99d, falseConditionalFlags: TargetProperties.DOTDPS)); //Any non-normal unit (Any Range!) SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: -1, MinimumHealthPercent: 0.99d, falseConditionalFlags: TargetProperties.Normal | TargetProperties.DOTDPS)); } else { ClusterConditions.Add(new SkillClusterConditions(5d, 35, 4, true)); SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: 20, MinimumHealthPercent: 0.99d, falseConditionalFlags: TargetProperties.Weak)); //Any non-normal unit (Any Range!) SingleUnitCondition.Add(new UnitTargetConditions(TargetProperties.None, maxdistance: -1, MinimumHealthPercent: 0.99d, falseConditionalFlags: TargetProperties.Normal)); precastflags |= SkillPrecastFlags.CheckRecastTimer; } WaitVars = new WaitLoops(1, 1, true); Priority = SkillPriority.High; PreCast = new SkillPreCast(precastflags); ShouldTrack = true; PreCast.Criteria += (s) => !Hotbar.HasDebuff(SNOPower.Succubus_BloodStar); FcriteriaCombat = (u) => { if (u.SkillsUsedOnObject.ContainsKey(Power)) { //If we have Creeping Death, then we ignore any units that we already cast upon. if (Hotbar.PassivePowers.Contains(SNOPower.Witchdoctor_Passive_CreepingDeath)) { return(false); } //Runeindex 2 has duration of 16s instead of 7s return(DateTime.Now.Subtract(u.SkillsUsedOnObject[Power]).TotalSeconds > (RuneIndex == 2?15:7)); } return(true); }; }