namespace Turbo.Plugins.LightningMod { public class NecSkeletalMagePlugin : AbstractSkillHandler, ISkillHandler { public NecSkeletalMagePlugin() : base(CastType.BuffSkill, CastPhase.AutoCast, CastPhase.Attack, CastPhase.AttackIdle) { Enabled = false; } public override void Load(IController hud) { base.Load(hud); Rune = 4;//弓箭手符文 AssignedSnoPower = Hud.Sno.SnoPowers.Necromancer_SkeletalMage; CreateCastRule() .IfInTown().ThenNoCastElseContinue() .IfCastingIdentify().ThenNoCastElseContinue() .IfCastingPortal().ThenNoCastElseContinue() .IfOnCooldown().ThenNoCastElseContinue() .IfCanCastBuff().ThenContinueElseNoCast() .IfCanCastSimple().ThenContinueElseNoCast() .IfPrimaryResourceAmountIsAbove(ctx => (int)(40 - 40 * Hud.Game.Me.Stats.ResourceCostReduction) + 1).ThenContinueElseNoCast()//确保有保底能量 .IfEnoughMonstersNearby(ctx => 60, ctx => 1).ThenContinueElseNoCast()//附近60码内至少1个怪 .IfSpecificBuffIsActive(Hud.Sno.SnoPowers.AquilaCuirass, 1).ThenContinueElseNoCast()//天鹰激活 .IfSpecificBuffIsActive(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 6).ThenNoCastElseContinue()//骷髅法师激活 .IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 3, 1000, 1500).ThenCastElseContinue()//弓箭手BUFF即将过期(1.5秒以内) ; Rune = 1;//精魂灌注符文 CreateCastRule() .IfInTown().ThenNoCastElseContinue() .IfCastingIdentify().ThenNoCastElseContinue() .IfCastingPortal().ThenNoCastElseContinue() .IfOnCooldown().ThenNoCastElseContinue() .IfCanCastBuff().ThenContinueElseNoCast() .IfCanCastSimple().ThenContinueElseNoCast() .IfTrue(ctx => { var set = Hud.Game.Me.GetSetItemCount(740279) >= 4;//至少拉斯玛4件 return (set); }).ThenContinueElseNoCast() .IfPrimaryResourceAmountIsAbove(ctx => (int)(40 - 40 * Hud.Game.Me.Stats.ResourceCostReduction) + 1).ThenContinueElseNoCast()//确保有保底能量 .IfEnoughMonstersNearby(ctx => 60, ctx => 1).ThenContinueElseNoCast()//附近60码内至少1个怪 .IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Generic_P6ItemPassiveUniqueRing001, 2, 500, 1000).ThenCastElseContinue()//拉斯玛套装减伤效果低于1秒时施放,优先保证减伤 .IfPrimaryResourcePercentageIsAbove(100).ThenContinueElseNoCast()//满能量时 .IfTrue(ctx => { var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_SkeletalMage.Sno); return (buff.IconCounts[6] < 10);//小于10个骷髅且满能量施放 }).ThenCastElseContinue() .IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 6, 100, 500).ThenCastElseContinue()//有骷髅即将消失(0.5秒以内) ; } } }