【游戏功能】
有玩家举报队友"操控怪物"——录像里一头狼怪明明倒地了,几秒后又爬起来,绕开所有人径直去咬另一头狼。查了半天才看懂:那不是外挂,是道士的赶尸哨。赶尸的规矩就写在这一幕里:倒下的狼不算死透了,一声哨响,它爬起来替你打。今天拆赶尸,看"役尸系"怎么把敌人的尸体演成自己的兵器。
一、撂倒、起尸、役咬三段
赶尸的循环三段。撂倒段:先得把一头狼实实在在打倒——赶尸赶的是尸,站着的狼哨子吹破天也没用——撂倒段是全技能的入场券:敌人的尸体是这门功夫唯一的弹药,弹药要自己打出来。起尸段:哨声一道紫线荡向尸体,倒地的狼身罩上薄薄一层紫纱,一点一点重新立起来——起尸段是全技能的奇观:眼睛还泛着紫光的狼,动作比活着时僵三成,起身的那两秒连观众都会起一层鸡皮疙瘩。役咬段:僵尸狼不听不问,径直扑向它昔日的同伴,一口一口咬下去,咬的数字泛着紫——役咬段是全技能的戏眼:昨天的队友今天互相撕咬,阵营在这个哨声里被当场改写。三段的核心是"尸为将令":赶尸不造兵、不召魂,它只是给倒下的东西换了一道军令。
完整演示在这,默认自动循环:
fx-corpsepull
二、幂尔框架实现:换阵营是一次改写
尸仆的账本就三行:标记、倒计时、清账——
local CorpsePull = {}
local GHOUL_LIFE = 6.0 -- 尸仆六秒
local GHOUL_DMG = 24
local corpse = nil -- { actor, left }
function SL:Whistle(caster)
if corpse then return SL:ShowTipAbove(caster, "尸还站着") end
local body = SL:NearestDeadBody(caster, 200) -- 最近的可赶之尸
if not body then
return SL:ShowTipAbove(caster, "先撂倒一只")
end
SL:PlayActorAct(caster, "cast")
SL:BeamTo(caster, body, "#d2a8ff") -- 哨声紫线荡过去
SL:ScheduleDelay(0.6, function()
corpse = { actor = body, left = GHOUL_LIFE }
SL:ReviveAsGhoul(body, 0.85) -- 起尸:半透明紫
SL:Retarget(body, "nearest_enemy_of_owner")
end)
SL:Cooldown("corpsepull", 7.0)
end
function SL:OnTick(dt)
if not corpse then return end
corpse.left = corpse.left - dt
if corpse.left <= 0 then
SL:DropDead(corpse.actor) -- 时辰到了重新躺好
corpse = nil
end
end
return CorpsePull
Retarget 是全技能的心脏:起尸只改两样东西——阵营与仇恨目标,狼还是那头狼,只是军令换了主家。
三、役尸的演出规格
紫线是哨声的形状:从哨口荡向尸体的一道弧,途中撒几粒紫屑——线要荡不要闪,荡过去的才有"传令"的体感。起尸的两秒是全技能的招牌:倒地的身形从三成透明慢慢凝到八成半,紫纱一层一层罩上,起身的动作比活狼顿半拍——僵尸的僵,是演出来的身份证明。役咬的数字用紫不用红——紫是"听我的"的颜色,红是"打你的"的颜色,僵尸狼咬人时紫字浮起,观众一眼就知道这头已经不是敌军了。尸仆头顶一条紫色的时辰条:六秒一格一格走短,条走完就地重新躺倒,尘土一扬,干净利落——时辰到了不留恋,是役尸的规矩。
四、定价与三条尸规
役尸系的定价一句话:六秒尸仆、七秒哨冷——一头免费的狼打六秒,账面平平,它卖的是"以敌制敌"的场面。三条尸规:其一,尸不认亲——赶尸哨赶的是尸,不管它生前是谁,自己人的尸体一样能起,这条规矩冷,但整整齐齐;其二,尸仆不吃增益——符贴不上、吼声吼不着,它只听哨,役尸的忠是独一份的忠;其三,一尸一哨——哨声吹第二遍,地上躺着的其他尸体纹丝不动,赶尸的编制就一名。与还魂术对照着看:同是让倒下的站起来,还魂是复原——魂归原位,人还是那个兄弟;赶尸是役使——尸还是那具尸,魂早不认得,复生系的两门在"谁说了算"上分了家:还魂听兄弟的,赶尸听哨的。
五、役尸系的战场学:尸体的第二生命
赶尸真正改写的是"尸体"这个东西的属性:普通的尸体是战场的背景,赶尸哨里的尸体是待命的兵力——每一头被撂倒的狼都成了下一手棋,战场的账从"杀了多少"变成"还能用多少"。会玩的道士打狼群永远留一手:先撂倒一头不赶,等狼王扑上来的瞬间起尸——从背后咬上来的旧同伴,比任何一刀都让狼王分神。对观战者,僵尸狼倒戈是全场最好认的转折点:紫纱一起,观众都知道这场仗要变天。工程收尾记一笔:尸仆的仇恨要独立建账——它咬谁由哨主的家敌决定,僵尸狼把仇恨记在道士头上、回头咬道士的截图,能当一星期的笑话传。最后留给数值组的一句话:二十四点一口、六秒四口,账面抵不上一记普攻——役尸系的账要从"让狼王分神的那两秒"里算,搅局的收益从来不在伤害栏里。
尸仆还有一手阴的用法:留着不赶。撂倒的尸体横在狼群的巡逻线上,活狼绕着它走位别扭、出刀放不开——一具"可赶"的尸体本身就是一张悬着的牌,你不知道它哪一刻会爬起来,狼怪也不知道,牌揣在手里不用,有时候比打出去还沉。
写完再留一句给做役尸系的同学:役尸最容易做成"换个皮的召唤",而它本该是一场阵营改写的戏——起尸要僵、倒戈要狠、时辰要绝,三样齐了,玩家吹哨的时候才有真正摸黑手的得意。
补一个演示彩蛋位:尸仆重新躺倒的那一瞬会朝哨主的方向顿一下头——时辰到了,尸气散尽前那半寸的迟疑,是这门功夫全部的人情味。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【语法算法】 上一版埋了个越用越错的隐蔽报错:长按的计时不在抬手时清零——第一次长按松手后,秒表没归零,第二次轻轻一点直接被…
【语法算法】 接着抛坑:淡入没播完又来一个淡出,会怎样?答不好的界面都会出事——同一个面板的透明度被两个渐变同时抢,一个往上…
【语法算法】 上一版留了排"齐步走"的图标的隐蔽报错:一排波浪排布的图标同起同落——设计稿上是此起彼伏的波浪,实机上整排图标…
【语法算法】 先抛一个坑:按钮太小点不中,为什么不做大热区?界面上那个二十像素的小圆钮,玩家戳三次中一次——把按钮画大又会破…
【语法算法】 vel=vel math.pow(0.01,dt) ——先拆这一行。击退的全部手感都在这一行的衰减里:初速三百…
【语法算法】 上个月一场闪了全屏的事故成了组里的教材:受击闪白上线第一天,玩家一挨打整个界面白一遍——血条、按钮、聊天框全泡…