namespace Turbo.Plugins.LightningMod { public class WizardMeteorPlugin : AbstractSkillHandler, ISkillHandler { public WizardMeteorPlugin() : base(CastType.BuffSkill, CastPhase.AutoCast, CastPhase.Attack, CastPhase.AttackIdle) { Enabled = true; } public override void Load(IController hud) { base.Load(hud); AssignedSnoPower = Hud.Sno.SnoPowers.Wizard_Meteor; CreateCastRule() .IfInTown().ThenNoCastElseContinue() .IfCastingIdentify().ThenNoCastElseContinue() .IfCastingPortal().ThenNoCastElseContinue() .IfCanCastSimple().ThenContinueElseNoCast() .IfTrue(ctx => { var isTalRasha = ctx.Skill.Player.GetSetItemCount(707005) >= 6;//塔拉夏6件套 var isInGR = ctx.Skill.Player.InGreaterRiftRank > 0;//大秘境0层以上 var IsElementReady = glq.PublicClassPlugin.IsElementReady(ctx.Hud, 0, ctx.Skill.Player, 0);//第2个参数是爆发前的剩余时间,第4个参数是元素索引0为自动取最高元素 var ArcaneDynamo = ctx.Skill.Player.Powers.GetBuff(ctx.Hud.Sno.SnoPowers.Wizard_Passive_ArcaneDynamo.Sno); var isArcaneDynamoStackEnough = ctx.Skill.Player.Powers.BuffIsActive(ctx.Hud.Sno.SnoPowers.Wizard_Passive_ArcaneDynamo.Sno) ? ArcaneDynamo?.IconCounts[1] >= 5 : true; var isResourceFull = IsElementReady ? ctx.Hud.Game.Me.Stats.ResourcePctArcane >= 100 && isArcaneDynamoStackEnough : true; return isArcaneDynamoStackEnough && isResourceFull && isInGR && isTalRasha; }).ThenContinueElseNoCast() .IfEliteOrBossNearbyCursor(ctx => 10, false).ThenCastElseContinue()//鼠标10码内有精英或BOSS时施放 .IfEnoughMonstersNearbyCursor(ctx => 20, ctx => 3).ThenContinueElseNoCast()//鼠标10码内至少有3个怪物时施放 ; } } }