【游戏功能】
断筋术是战士的控制技:一剑斩断狼怪腿筋——减速递增到寸步难行,伤口愈合后减速消失。今天拆断筋术的表现,看"减速递增"的机制怎么做出"越打越慢"的体感。
一、斩筋、减速、愈合三段循环
断筋的循环三段。斩筋段:一剑斩在狼怪腿上,伤口出现在狼怪腿部——斩筋的位置在腿部而不是头部,这是和普通攻击的区分点。减速段:减速百分比从两成递增到八成——减速的递增让狼怪越走越慢,走路的速度可视化就是减速的进度条。愈合段:停止攻击四秒后伤口愈合、减速消失——愈合的速度是断筋的倒计时:打快了减速叠满、打慢了伤口愈合。三段的核心是"递增":减速的百分比是递增的——第一刀两成、第二刀四成、第四刀八成寸步难行。递增的减速让近战的每一下都有意义。
完整演示在这,默认自动循环:
fx-tendoncut
二、幂尔框架实现:减速百分比与伤口可视
断筋的减速百分比递增,伤口可视化为红痕:
local TendonCut = {}
local KEY = { SLOW_PER = 20, DECAY = 4 }
local slowPct, slowT = 0, 0
function TC.Cut(target)
slowPct = math.min(80, slowPct + 20)
slowT = 4
SL:PlayActorAct("player", "attack")
SL:ScheduleOnce(function()
SL:PlayBurst(SL:GetValue("actorX", target),
SL:GetValue("actorY", target) - 36,
"blood_drip", 5)
SL:ShowTipAbove(target, "断筋! -" .. slowPct .. "%速")
SL:SetSlow(target, slowPct)
SL:PlaySfx("tendon_cut")
end, 0.24)
end
function TC.Tick(dt)
if slowPct <= 0 then return end
slowT = slowT - dt
if slowT <= 0 then
-- 伤口愈合: 减速消失
slowPct = 0
SL:SetSlow(target, 0)
SL:ShowSystemTips("伤口愈合 — 减速消失")
end
end
return TC
伤口的可视化在狼怪腿部画两道红痕——红痕的存在就是减速的标志,红痕消失减速也消失。
三、递增的减速与愈合的倒计时
减速的递增让玩家有"越打越赚"的感觉:每刀加两成减速、四刀就是八成——递增的曲线给玩家连打的动力。愈合的倒计时是断筋的命门:四秒内不打第二刀减速归零——倒计时的紧迫感让连打有节奏。最后,伤口的可视化分两道红痕在狼怪腿部:红痕的存在就是减速的标志,红痕消失减速也消失——可视化的同步是所有堆叠类技能的手感根基,玩家看着红痕就能读出减速的剩余时间。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 if _shadowT 0 then spd = noShadow and 12 or 24 end ——一行…
【游戏功能】 魂卫的全机制就一句:杀掉小怪化一盏魂火跟着你走,每盏魂火两秒自动劈最近的大怪一口八点,至多三盏——「引魂!」按…
【游戏功能】 一道咒飞过来,硬吃是四秒里一秒十的钝疼——有没有第三条路?纸人替灾给的就是第三条路:贴一个纸人在身后,八秒里头…
【游戏功能】 挨打还能赚钱?水镜式的答案是:挨的刀七成存进镜里不扣血、三成照常疼,六秒后点「还镜」,存量乘一点五放成水炮——…
【游戏功能】 if _mirrorT 0 then SL:TipAboveMe("免疫") return end ——一道写…
【游戏功能】 远近战的矛盾怎么解?远战的答案是把怪挡在射程外,近战的答案是把人拖进射程内——缩地阵给的第三个答案最蛮横:圈只…