【游戏功能】
混乱了四秒的怪,醒来第一眼为什么盯着你发呆?因为混乱咒做的事比眩晕狠得多:眩晕是"不能动",混乱是不知道该动谁——脚步画圈、方向乱指、爪子挥向空气,它连自己为什么站在这儿都想不明白。今天拆混乱咒,看"心智干扰"类控制怎么把AI的决策树搅成一锅粥。
一、上咒、失向、惊醒三段
混乱咒的循环三段。上咒段:咒印拍在狼怪天灵盖上,三圈紫色小涡绕头顶转起来——涡是心智的具象:转得越乱,脑子越糊涂。失向段:狼怪的巡逻路径从平滑的弧线变成醉酒的折线,扑击的方向随机乱指、十爪九空——失向的核心不是"停",是"错":它还在攻击、还在移动,只是每一步都走错。惊醒段:四秒半咒期走满,涡散、目清、它愣了一拍才认出你——惊醒的那一愣是混乱的余味:四秒的心智混乱清空了它的短期记忆。三段的核心是"错而不是停":跟石化冰冻这类定身相比,混乱的怪从头到尾都在表演——表演一个被夺走方向盘的司机。
完整演示在这,默认自动循环:
fx-confuse
二、幂尔框架实现:决策改写与失向游走
混乱不锁行动,只改写决策的输入:
local Confuse = {}
local DAZE = 4.5
local confused = 0
function SL:CastConfuse(caster, target)
SL:PlayActorAct(caster, "cast")
confused = DAZE
SL:AttachFx(target, "spiral_top")
SL:ShowBuffBar(target, "混乱", DAZE)
end
function Confuse.OnThink(target, dt)
if confused <= 0 then return true end -- 清醒: 交给原AI
confused = confused - dt
local drunk = math.sin(os.clock() * 4) * 46
SL:MoveToward(target, 470 + drunk, dt * 1.2) -- 醉步: 画圈走
if (confused % 1.4) < dt then
local side = math.random() < 0.5 and -1 or 1
SL:PlayActorAct(target, "attack")
SL:WhiffFx(target, side) -- 乱挥: 挥给空气看
SL:ShowTipAbove(target, "挥空", "#8b949e")
end
return false -- 原AI本轮跳过
end
function Confuse.OnExpire(target)
SL:CancelFx(target, "spiral_top")
SL:Stagger(target, 0.3) -- 醒来愣一拍
end
return Confuse
OnThink 的返回值是关键:返回 false 就把原AI这一轮的思考整个跳过——混乱不改写原AI的每一行代码,只在入口处把它请出去,自己代理一段醉步逻辑。
三、涡的画法与醉步的分寸
头顶的三圈小涡是混乱的门面:三道圆弧错相位旋转、转轴微微晃动——涡要"转而不齐",齐转像风扇,错转才像思绪打结。醉步的幅度是全技能最讲究的参数:摆幅四十六像素、周期零点二六秒——步子迈太大会出戏(像被拽着走),太小心像发呆;"醉酒画圈"的分寸就在这两头之间。乱挥的演出三件套:朝随机方向挥爪、爪前冒"挥空"灰字、偶尔补一句"打谁?"——这句潜台词是混乱技独有的幽默,玩家每次看到都会笑一下,而笑就是记忆点。惊醒的那一愣用零点三秒的踉跄表达:身体晃一下、头摇两下、然后眼神聚焦——从糊涂到清醒要有过场,硬切等于告诉观众"刚才那四秒是假的"。
四、心智系的边界:混乱不碰伤害
混乱类控制有一条铁律:只乱其行,不夺其命。混乱期怪物的伤害输出依然成立——万一它乱挥真打中了谁,账照记——混乱偷的是方向感,不是攻击力,这一点与落魄咒(削弱伤害)划清界线。三条附属规矩:其一,混乱中不受控增强——混乱不能叠加在其他硬控上,两套心智干扰同时上,AI的代理权打架;其二,被打不醒——与沉睡(挨打即醒)相对,混乱不吃伤害打断,四秒半是硬时长,两条控制各有各的软肋;其三,醒来不记仇——混乱期的所作所为不进仇恨系统,它不记得自己挥过空拳,玩家也不必为这四秒付出额外代价。跟石化(定价)、冰冻(暂停)排成一排,心智系的卖点是"它还在演戏"——硬控家族里最吵、最滑稽、也最难做好的一个席位。上咒有涡、失向有戏、惊醒有愣、只乱其行——四件凑齐,混乱咒才搅得动一颗凶脑。
五、代理AI的分寸:乱得像它自己乱的
混乱的代理逻辑最忌讳一件事:乱得太整齐。演示的醉步如果用标准正弦波,观众看两眼就发现"这圈画得太圆了"——真正的糊涂是每次摆幅都不一样。工程上的便宜解法是给正弦加一层噪声:摆幅乘一个零点八到一点二之间的随机系数、周期也微微抖动,醉步立刻从"程序画的圈"变成"它自己转的晕"。乱挥的方向同理:左右随机的二选一太规律,改成四向随机会更像摸不到北。还有一处演出细节值得单记:混乱期的狼怪偶尔会停半步、脑袋歪一下——"它在想什么"的这半秒停顿,是整个混乱演出里最有戏的一帧,成本为零,全靠暂停本身撑戏。队伍语境里混乱还有一层战术面目:被混乱的怪不进仇恨、不记仇、不还手,等于全队白捡四秒半的安全输出窗——与石化(定价)、龟息(脱战)排成一排,混乱占据的是"空窗制造者"的席位:它不强化你不削弱它,它只是让对方缺席。最后是配色纪律:心智系全族用紫,紫涡、紫字、紫光屑——石头是灰、火焰是橙、脑子是紫,色彩语义分了家,玩家隔着半个屏幕也知道你动了它的脑子。
最后补一句观察:混乱是硬控家族里唯一让人发笑的一个——它不冻你、不绑你、不石化你,它只是让你当众出丑。能让人笑的控制技屈指可数,这份幽默本身就是它的护城河。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 它的爪子明明挥向了你,怎么落在自己脸上?夺舍的答案邪门到家:道士的魂钻进了狼怪的身子——占据三秒,这三秒里它每…
【游戏功能】 墙又不追人,怪为什么次次撞?水墙的定位写在物理里:它立在路中央六秒,是一块"会推人的地形"——狼怪巡逻的弧线扫…
【游戏功能】 左手五刀右手五刀,怎么就数得清是双刀?双刀交叉斩的答案在弧线上:左刀的弧向右扫,右刀的弧向左扫,两把刀的弧线在…
【游戏功能】 隔着半个屏幕扎草人,狼怪为什么跟着一抽一抽?咒怨娃娃的逻辑古老而瘆人:草人与目标结咒之后,草人就是它——针扎草…
【游戏功能】 雷云的全部机制就这一行:一朵乌云升到目标头顶,慢半拍地跟着挪,每一点二秒掉一道小雷。云不追人——它认的是"头顶…
【游戏功能】 跑赢了的怪,怎么反倒挨了烧?火焰冲刺的账目反直觉就在这:冲刺是位移,火径是遗产——人冲过去了,路留在原地烧三秒…