【游戏功能】
血条见底的时候,道士的刀为什么还在回血?血刀术的反直觉就在这:伤害照给、血也照回,两条账同时走——它不是"吸血替代伤害",是"伤害附带回流"。今天拆血刀术,看攻击回血这条管子怎么接才不破坏战斗的收支平衡。
一、开刀、回流、喝饱三段
血刀术的循环三段。开刀段:一刀劈中狼怪,红字伤害照常结算——吸血不是减伤,它先承认这一刀的全部伤害,再谈回流。回流段:命中的瞬间,数条红丝从狼怪胸口抽起、沿弧线飞回施法者——红丝是吸血的"实体化":回的血有来处、有路径、有去处,玩家的眼睛能全程跟账,比血条悄悄跳一格诚实得多。喝饱段:红丝抵达的瞬间,自己的血条回一小口、绿色不出现——回血的数字用红字标在自家头顶,颜色告诉玩家"这是抢来的血"。三段的核心是"等量可视":掉的与回的逐刀对账,红丝就是账目本身。顺带一条铁律:回血量必须严格小于伤害量——吸血若按一比一回流,持久战里它就是永动机,所有收支平衡的设计在它面前作废。
完整演示在这,默认自动循环:
fx-blooddrink
二、幂尔框架实现:命中钩与回流粒子
吸血挂在命中的后置钩上,回流是一段反向粒子:
local BloodDrink = {}
local RATE = 0.25 -- 回流比例: 伤害的25%
function SL:OnAfterHit(actor, target, dmg)
local drain = math.floor(dmg * RATE)
if drain <= 0 then return end
local mx = SL:GetValue("actorX", target)
local my = SL:GetValue("actorY", target) - 66
for i = 1, 5 do
SL:ScheduleOnce(function()
SL:HomeParticle("blood_thread",
mx + (math.random() - 0.5) * 20, my + (math.random() - 0.5) * 20,
actor, 0.45, function()
SL:HealActor(actor, math.floor(drain / 5))
SL:PlayBurst(SL:GetValue("actorX", actor),
SL:GetValue("actorY", actor) - 56,
"blood_absorb", 2)
end)
end, i * 0.05)
end
end
return BloodDrink
回流的每个粒子里都封着一份 HealActor——血到账的时机与红丝抵达的时机同一帧,这是可视回血的核心纪律:粒子先落地数字后跳,玩家会觉得血是白来的;数字先跳粒子在飞,账目就对不上了。
三、红丝的画法与吸血的克制
红丝要"细而急":二次曲线弧线、线宽两像素、头部带一粒亮红珠——细才像抽出来的血,粗了像彩色缎带。弧线的弧顶统一向上偏移四十像素——五条丝在空中排成一道扇面再收拢,吸血的"仪式感"全在这道弧上。回血数字要克制:每丝到账回总量的五分之一,数字小、不飘高——吸血的爽是持续的小甜,不是一口的大补。狼怪侧的戏也不能少:红丝抽起的位置正是上一刀的命中点,血从伤口出来——"从伤口抽"比"从身体抽"多一层因果,玩家的刀就有了记忆。最后是目标的观感公平:被抽的一方要有一个极轻的"被攥住"反馈——狼怪受击闪白照常、不额外僵直——吸血是收益方的演出,不必把惩罚演到对方脸上。
四、吸血的定价与边界
吸血的数值就一条:比例给小。两成五上下是通用安全线——它意味着四刀的量换一刀的量,续航存在但永远追不上失血,玩家的操作压力只是减轻,从不消失。比例一旦过半,血刀术就从续航技变成站桩通行证,怪物 AI 的一切威胁设计同时失效。两条边界划死:其一,只吸造成量——被格挡、被闪避、溢出的伤害一律不回流,"没打中的刀不流血";其二,不吸自伤——任何以自损为代价的效果不进回流管线,否则自残循环迟早出事故。演示里还有一个值得看的节拍:狼怪的血条与角色的血条一降一升同向运动,两条血条天然构成一个天平——血刀术的全部设计浓缩成一句话:让天平的支点永远偏向玩家一点,但只偏一点。开刀照给、红丝对账、比例克制、两条边界——四件咬合,"每一刀都是从它身上抽的"才成立。
五、天平的第三只手:回血的口径
回血的口径还有一处要抠:吸的是"伤害量"还是"扣血量"?两者在目标残血时会出现分岔——最后一刀打溢出,按伤害量吸能把溢出部分也吸回来,等于对尸体放血。规矩是按实际扣血量回流:溢出的那一截不算进红丝的账,血刀不喝空气。演示里狼怪血条见底的那两刀,红丝肉眼可见地变细——回流随目标剩余血量缩水,这个细节让"吸血依赖目标"的直觉在画面上成立,也顺手堵住了"处决技配吸血"的组合漏洞。另一个口径是回血的天花板:单次回流给个上限封顶(比如单刀最多回三十),防的是高爆发一刀把血条拉满——吸血的糖要一粒一粒给,一次给一把,续航技就变急救技了。最后是队伍里的定位收口:血刀术的回血只归自己,不进治疗体系、不吃治疗加成——它是"边打边抢"的私账,不是奶妈的公账,两条账本分开记,治疗职业的定价才不会被一个吸血比例搅乱。口径、封顶、私账三条补上,血刀术的天平才算校到了最后一位。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 它的爪子明明挥向了你,怎么落在自己脸上?夺舍的答案邪门到家:道士的魂钻进了狼怪的身子——占据三秒,这三秒里它每…
【游戏功能】 墙又不追人,怪为什么次次撞?水墙的定位写在物理里:它立在路中央六秒,是一块"会推人的地形"——狼怪巡逻的弧线扫…
【游戏功能】 左手五刀右手五刀,怎么就数得清是双刀?双刀交叉斩的答案在弧线上:左刀的弧向右扫,右刀的弧向左扫,两把刀的弧线在…
【游戏功能】 隔着半个屏幕扎草人,狼怪为什么跟着一抽一抽?咒怨娃娃的逻辑古老而瘆人:草人与目标结咒之后,草人就是它——针扎草…
【游戏功能】 雷云的全部机制就这一行:一朵乌云升到目标头顶,慢半拍地跟着挪,每一点二秒掉一道小雷。云不追人——它认的是"头顶…
【游戏功能】 跑赢了的怪,怎么反倒挨了烧?火焰冲刺的账目反直觉就在这:冲刺是位移,火径是遗产——人冲过去了,路留在原地烧三秒…