【游戏功能】
有段玩家的录像在群里传疯了:刀掉在地上,人还在往前冲,一肩膀把扑过来的狼怪顶得四脚朝天——配文写着"刀断了,仗还没输"。铁山靠的排面就是这么不讲理:肩膀就是第二把刀,刀走空了它补上,撞它个趔趄,顶在刀腰上还能散它一刀。今天拆铁山靠,看"贴身系"怎么把一次冲撞,演成刀客的第二条命。
一、沉肩、顶靠、发懵三段
铁山靠的循环三段。沉肩段:身子一侧、肩膀前送,整个人从刀客变成一枚钉——沉肩段是全技能的换挡:出靠的前半秒人矮下去半寸,肩线压平,跑动带出一线土黄的残影——沉下去的肩就是拉满的弦。顶靠段:肩膀结结实实撞在狼怪的胸腹上,四十点的"靠"字金光炸开,它整只往后滑半步——顶靠段的账有两层:撞上的疼是明账,顶在它抡刀的半路上把它那一刀整个顶散,是暗账。发懵段:靠完的人自己也晃两下,头顶两粒土黄的小星慢慢转——发懵段是全技能的诚实:靠是拿自己的重心去换它的重心,顶完了谁都得缓半秒,这半秒的懵不丢人,是这门功夫的定金。三段的核心是"以身作刀":铁山靠不靠兵器,它靠的是把整个人当成一次性的锤。
完整演示在这,默认自动循环:
fx-shoulder
二、幂尔框架实现:一靠是两笔账的接力
肩靠的账本两栏:明账给它,暗账给它那把刀——
local Shoulder = {}
local RUSH_T = 0.28 -- 冲靠时长
local BUMP_DMG = 40
local SELF_DIZZY = 0.5 -- 靠完自己的懵
local state = { rush = 0 }
function SL:RushBump(caster)
if SL:GetValue("cd", caster) > 0 then
return SL:ShowTipAbove(caster, "肩膀还麻着")
end
state.rush = RUSH_T
SL:PlayActorAct(caster, "walk") -- 靠走的是步型
SL:Cooldown("shoulder", 4.0)
end
function SL:OnTick(dt)
if state.rush <= 0 then return end
state.rush = state.rush - dt
SL:MoveActor("self", "facing", 300 * dt) -- 顺着朝前顶
local hit = SL:BodyTouch("wolf", 34) -- 身位接触判定
if hit then
state.rush = 0
SL:HitActor("wolf", BUMP_DMG)
SL:PushActor("wolf", 34)
SL:Dizzy("self", SELF_DIZZY) -- 定金:自己也懵半秒
if SL:IsWindup("wolf") then
SL:CancelAct("wolf") -- 顶在刀腰:那一刀散
SL:ShowTipAbove("wolf", "顶散")
end
end
end
return Shoulder
BodyTouch 是全技能的判定心:靠不讲刀锋讲接触——肩膀碰到哪儿,账就结在哪儿。
三、顶靠的演出规格
残影是靠势的引信:冲靠的半秒身后拖一线土黄的影,影越短顶得越急——残影是给观众的预告,也是给玩家的车速表。撞击的一瞬三件套:白闪一帧、五像素震屏、十六粒土屑混白屑——土屑是铁山靠的家色,金红留给刀光,肩膀开的花就得是土的。顶散的暗账要署名:它头顶跳一枚"顶散"的小金字——散掉它一刀的功劳不能埋没,暗账记在明处才算赢两次。自己的懵也要演够:两粒小星、步子发飘、收势慢半拍——靠完的懵是这门功夫的性格,不演懵的肩膀是铁打的,铁打的不可信。冷却条做成肩甲的形状:甲满才能再靠,靠的资格一眼可读。
四、定价与三条靠规
贴身系的定价一句话:顶靠四十、顶散一刀、自懵半秒——明账四十不算肥,暗账散掉的一刀才是这肩膀的真身价。三条靠规:其一,靠不挑部位——撞哪儿都算数,胸口腰眼一视同仁,肩膀不是刀,不讲究下刀的位置;其二,一靠一账——同一次冲撞只结一家的账,挤在一起的第二只狼撞不着,肩膀不是城门;其三,懵是公价——靠完自己必懵半秒,任何人任何符都免不掉,发懵是这门功夫交的税。与击退类对照着看:同是把怪顶开,抗拒火环是隔空推——一圈的事、原地结清;铁山靠是贴身撞——要跑半个身位、撞完还要一起懵,位移系的两个门派在"隔空推"还是"贴身换"上分了家。
五、贴身系的胆学:最近的距离最重的账
铁山靠真正演的是"刀客的最后一张牌":刀脱手了、招使老了、退路没了,肩膀还在——贴身系的账面上从来没有漂亮数字,它收的是绝境里的胆气。会算的玩家把靠用在最凶的时刻:它抡刀的前摇里一肩顶上,散它一刀、换自己半秒——半秒的懵换一刀的空,这笔账怎么算都赚。对观战者,肩头顶散狼刀的那一帧是全场最横的画面:没有刀光剑影,一具身体硬生生把招式掰断了。工程收尾记一笔:靠的接触判定要贴着模型的肩膀点算,不取角色的中心——肩膀碰到才算靠,肚子碰到那是撞,判定点的名字就是这门功夫的脸面。最后留给数值组的一句话:四十点加半秒的懵,账面紧巴巴——贴身系的账要从"散掉的那一刀"里找平,顶散一次,就是替全队挡了一轮。
铁山靠还有一手进阶的用法:靠完的半秒懵不是白挨的——懵的一瞬正好接翻滚,两段位移一叠,人已经到了狼怪的身后。会连的玩家把靠当起手:一靠顶进去、一滚绕背后、起身补一刀,三下连贯得像一套预定好的拳路,肩膀开路,腿收尾,刀只是顺路签个到。
写完再留一句给做贴身系的同学:贴身招最容易做成"短距离冲撞",而它本该是一次拿重心换时机的搏命——沉肩要沉得住、顶散要记上账、自己的懵要交得心甘情愿,肩膀演出了人味,这一靠才立得住。
补一个演示彩蛋位:靠完发懵的那半秒,角色的肩膀会冒一小撮尘——那是刚才撞出来的土还没落定,人懵着,土先落了,这个小细节比任何提示都诚实。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【语法算法】 上一版的炮台索敌逻辑有个隐蔽报错:炮台永远打同一个怪——即使那只怪已经死了,索敌的游标也不挪窝。追到底索敌的游…
【语法算法】 先抛一个坑:打不完的火系怪怎么办?火抗怪火打不动,换冰系技能要切装备要换面板——切完黄花菜都凉了。元素转换的答…
【语法算法】 上个月的事故复盘会上有个数字被念了三遍:四成——策划写的是"同伴陪疼四成",代码落下去成了"陪疼四十点",两只…
【语法算法】 单行代码拆解:弹射初速=-420——弹射的全部动力就这一行的负初速。负号朝上、四百二十是弹射的初速大小——踩上…
【语法算法】 上一版的减速类模块全按"乘以零点五"来写,帧率无关的版本照搬了这套写法——结果高帧率机上减速效果好,低帧率机上…
【语法算法】 先抛一个坑:怎么把散在四处的怪聚到一起打?逐个拉是笨办法,一个范围技又只能打一片——引力球的答案是一个会动的吸…