【游戏功能】
开荒团炸过一次锅:新副本的 Boss 双持利爪,设计本意是"缴械掉它的爪,逼它用技能",结果测试服一队人轮着缴,Boss 全程爪子张不开,技能又都在转冷却,站在原地被活活遛死——设计文档里"高压战斗"四个字变成了"站桩挨打"。根子是缴械的封锁面写宽了:连它仅有的一套输出都封掉,战斗自然不成立了。借这次事故,把缴械诀的正确打开方式捋一遍。
一、捏爪、废爪、还爪三段表现
缴械诀封的是"爪"这一个通道,其它一概不碰。出手是一枚土黄色的钳形光圈从玩家指尖弹出,咬在狼怪的前爪上,"缴械!"的黄字炸开,狼怪头顶挂出一格带叉的爪印图标加三秒半倒计时——图标语言和迷眼沙的叉眼、截脉手的断条一脉相承,全队的减益语言保持一套字典。缴械期间狼怪的行为是这套玩法的戏眼:它的攻击节奏一拍不乱,到点就抡爪,爪到半途忽然软掉——灰字"爪被缴"飘起,几粒金黄的火星散掉,玩家的血条纹丝不动。它被缴的是爪,不是腿:照样逼近、照样歇爪、照样龇牙,三秒半一到爪印图标碎掉,"它抖开了爪"的状态一出,下一爪又是实打实的。这份"半残"的克制感,正是缴械和眩晕的分界线:眩晕关人,缴械缴器。
钳形光圈的飞行轨迹走直线不走弧线,0.22 秒到位——缴械是"点穴"不是"撒网",快而准的出手和迷眼沙的抛物线、飞斧的翻滚在手感上划出三种性格:撒的是面、掷的是器、捏的是穴。狼怪被咬住的瞬间有个低头抖爪的小动作,配合头顶那格带叉的爪印图标,两秒之内"它的爪废了"这件事就传达到了屏幕前的每一双眼睛。重复补缴也留了规矩:它已经有缴械在身时再按,钳圈照样飞出去,咬上之后灰字"已在缴中"——补缴不惩罚也不刷新,时长以第一口为准,这条纪律逼着玩家记住自己什么时候下的手。
完整演示在这——点「缴械!」捏住它的爪,数它空抡了几下:
fx-disarm
二、幂尔框架实现:通道封锁与豁免链
幂尔框架里缴械是挂在目标攻击通道上的一个闸,闸门带豁免链:
local Disarm = {}
local DISARM_TIME = 3.5
function Disarm.Cast(target)
SL:PlayActorAct("player", "cast")
SL:FlyProjectile("clamp_ring", "player_hand", target, 0.22, function()
if SL:HasImmunity(target, "disarm") then
SL:ShowTipAbove(target, "免缴")
return
end
SL:ApplyDisarm(target, DISARM_TIME)
SL:PlayBurst(target, "clamp_burst", 10)
SL:ShowTipAbove(target, "缴械!")
SL:AttachIcon(target, "claw_cross", DISARM_TIME)
end)
end
local function onBasicAttack(target)
if SL:IsDisarmed(target) then
SL:FizzleAttack(target) -- 爪到半途软掉
SL:ShowTipAbove(target, "爪被缴")
SL:PlayBurst(target, "fizzle_spark", 4)
return false -- 伤害结算整段跳过
end
return true
end
local function onSkillCast(target, skill)
return true -- 技能通道: 缴械管不着
end
SL:On("basic_attack", onBasicAttack)
SL:On("skill_cast", onSkillCast)
SL:RegClick("disarm", Disarm.Cast)
return Disarm
事故的答案就在两个通道的分账上:basic_attack 和 skill_cast 是两条独立的事件,缴械只拦前者。Boss 那次翻车,就是早期版本在两条事件里挂了同一个闸。
事件名也要咬死:basic_attack 是普攻通道、skill_cast 是技能通道,中间没有第三条暗道——有团队把怪物的扑咬登记成技能、把挥爪登记成普攻,缴械只缴到一半,测试报"缴了还咬人",查半天是怪物自己的动作分类乱了。FizzleAttack 把这一爪的动画播完、只掐伤害——爪到半途凭空消失比软掉更出戏,动作照播、结算拦下,被缴的怪才像"使不上劲"而不是"它不打了"。
三、封锁面与豁免链的分寸
缴械的价值全在"封多宽"的分寸里。封窄了没存在感:只缴普攻的怪本来就不靠普攻,缴了白缴;封宽了就是那次事故:怪仅有的输出被封死,战斗直接解体。设计的锚点是"这只怪还剩几条路"——爪击怪的普攻占输出七成,缴它三秒半是重创;法系怪普攻占一成,同样的缴械就是挠痒,法系怪该用截脉手掐它的条,各管各的通道,减益家族才各司其职。豁免链是另一层分寸:精英怪带"免缴"词条,钳圈咬上去弹一个灰字掉下来,玩家第一次见会愣,第二次会换招——免疫不是不留活路,是逼玩家翻牌库。缴械对玩家的镜像同样成立:狼怪的爪击命中玩家时概率打落武器,玩家的普攻也要灰字三秒,攻守同权,缴械才不至于沦为单方面的凌迟。最后是时长与冷却的咬合:缴械三秒半、爪击间隔两秒二,一个缴械期里它空抡一到两爪,加上两秒半的施法冷却,无缝续缴差一口气——这口气就是玩家该练的走位和时机。
缴械还有一个身份值得单拎:它是减益家族里最"讲理"的一个。眩晕不分青红皂白关人,恐惧连逃跑的方向都替你选好,唯独缴械只锁一条通道,被缴的一方保得住思路,豁免的一方保得住威严——放到 PvP 里这个差异会被放大十倍:被眩晕的玩家砸键盘,被缴械的玩家在算"这三秒半我能干什么",后者的挫败感低得多,骂街也少得多。数值上缴械时长吃韧性减免,命中判定要过命中 roll,它连"必中"的特权都不要——一个讲理的减益,才配长期留在技能栏里——玩家骂一个技能容易,记住一个技能难,缴械要做的是后者。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 控制技能的镜像问题是:锁住了怪,自己是不是也闲着?影锁把这道两难摆上台面:影锁四秒,它动不了、你也动不了——它…
【游戏功能】 打断为什么只有"清读条"一种?震魂偏要反过来——不清招、不断势,打在它读条半途的那一劲顺着招震进腑——中劲十秒…
【游戏功能】 蜂群为什么总是一只一只出?蜂王偏要让它们进化:放一只蜂王出来,杀掉小怪喂它——喂三只升一阶,三阶蜂王的毒刺一秒…
【游戏功能】 技能为什么总是不扣自己的血?血刃偏要反着来:开着血刃的每一刀先扣自己二血、命中回三血——净赚一但要打得中,空刀…
【游戏功能】 bn.t = bn.t - dt ——一行旗面倒计时的代码,撑起了破军旗全部的紧迫感:旗立三秒、圈内加攻三成,…
【游戏功能】 淬毒为什么要一毒到底?淬毒刃偏要一层一层叠:一刀淬一层毒、毒层一秒六地烂,六层封顶之后一刀下去毒伤三十六——叠…