using System.Linq; namespace Turbo.Plugins.LightningMod { public class BarbarianAncientSpear : AbstractSkillHandler, ISkillHandler { public BarbarianAncientSpear() : base(CastType.BuffSkill, CastPhase.AutoCast, CastPhase.UseTpStart, CastPhase.UseWpStart, CastPhase.Move, CastPhase.PreAttack) { Enabled = true; } public override void Load(IController hud) { base.Load(hud); AssignedSnoPower = Hud.Sno.SnoPowers.Barbarian_AncientSpear; Rune = 1; CreateCastRule() .IfInTown().ThenNoCastElseContinue() .IfCastingIdentify().ThenNoCastElseContinue() .IfCastingPortal().ThenNoCastElseContinue() .IfOnCooldown().ThenNoCastElseContinue() .IfCanCastBuff().ThenContinueElseNoCast() .IfCanCastSimple().ThenContinueElseNoCast() .IfPrimaryResourceAmountIsAbove(ctx =>25).ThenContinueElseNoCast() .IfTrue(ctx => { var set = Hud.Game.Me.GetSetItemCount(671068) == 6 && Hud.Game.Me.GetSetItemCount(749637) == 4;//满足6+4时 return (set); }).ThenContinueElseNoCast() .IfTrue(ctx => ctx.Hud.Game.Me.Powers.BuffIsActive(359583, 0) && !ctx.Hud.Game.Me.Powers.BuffIsActive(hud.Sno.SnoPowers.Generic_ItemPassiveUniqueRing735x1.Sno, 2)).ThenCastElseContinue()//带对戒并且守心BUFF消失后施放 .IfTrue(ctx => { var skill = Hud.Game.Me.Powers.UsedSkills.Where(x => x.SnoPower == Hud.Sno.SnoPowers.Barbarian_WrathOfTheBerserker).FirstOrDefault(); return (skill.IsOnCooldown); //狂暴者之怒冷却时 }).ThenContinueElseNoCast() .IfPrimaryResourcePercentageIsAbove(98).ThenCastElseContinue()//怒气高于98% ; } } }