【游戏功能】
治疗量的统计表上有一栏常年被无视:溢出治疗——奶到满血之后白白流掉的那部分。溢疗的机制把这栏捡了回来:满血再奶不浪费,溢出的奶水铸成盾——盾在的时候挨打先扣盾,盾碎了才动血条。今天拆溢疗,看"铸盾系"怎么把治疗表上的浪费,变成一面用奶水浇出来的盾。
一、满仓、浇铸、顶伤三段
溢疗的循环三段。满仓段:气血只剩四成的时候按溢疗,四十点的奶只回得进四十——满仓段是全技能的第一课:血没满的时候,这门功夫就是一张普通的奶单,多出来的那部分还在路上。浇铸段:满血了再奶一次,溢出的奶水没有流走,它顺着周身浇成一层淡绿的壳——浇铸段是全技能的奇观:奶水铸盾,"治疗"这个词第一次长出了"防御"的形状。顶伤段:狼怪的一爪抓下来,盾先碎一半、血条动都没动——顶伤段是全技能的账目:盾在的时候,血是安全的,盾替你扛的每一分都从那层壳上扣——壳碎了不心疼也补不上,但血还在,人就还在。三段的核心是"奶变壳":溢疗不增加治疗量,它只是把治疗的零头,从浪费变成了储备。
完整演示在这,默认自动循环:
fx-overheal
二、幂尔框架实现:溢出是一本改了去向的账
溢疗的账本两笔:先补血、溢出铸盾——
local OverHeal = {}
local HEAL_AMOUNT = 40
local SHIELD_RATE = 0.8 -- 溢出八成铸盾
local SHIELD_CAP = 60
local body = { hp = 40, hpMax = 100, shield = 0 }
function SL:CastOverHeal()
local room = body.hpMax - body.hp
local healed = math.min(HEAL_AMOUNT, room)
body.hp = body.hp + healed
local overflow = HEAL_AMOUNT - healed
if overflow > 0 then
body.shield = math.min(SHIELD_CAP, body.shield + math.floor(overflow * SHIELD_RATE))
SL:ShowTipAbove("self", "盾+" .. body.shield)
else
SL:ShowTipAbove("self", "+" .. healed)
end
SL:Cooldown("overheal", 5.0)
end
function SL:OnPlayerHit(dmg)
if body.shield > 0 then
local ate = math.min(body.shield, dmg)
body.shield = body.shield - ate
local rest = dmg - ate
if rest > 0 then
body.hp = math.max(1, body.hp - rest)
end
SL:ShowTipAbove("self", "盾-" .. ate)
return
end
body.hp = math.max(1, body.hp - dmg)
end
return OverHeal
先扣盾后扣血是全技能的次序:盾在血前,盾碎才见血条——次序一错,这门功夫就白设计了。
三、浇铸的演出规格
盾壳是全技能的脸面:淡绿的光壳把人罩在里头,壳面微微起伏像一层水膜——壳要有"水膜"的质感,毕竟是奶水浇的。溢铸的瞬间要"浇":金绿的奶水从头顶浇下来、沿着身形流成壳——浇的过程就是"溢出"两个字的可视化,浇得越满壳越厚。顶伤的两本账要同屏:盾扣的绿字和血扣的红字分开写——盾扣的红点一粒都不能有,玩家得一眼分清"这一刀动了没动血条"。盾碎的一瞬要"散":壳面碎成绿屑飘散、碎得干脆——盾碎了不心疼也补不上,但碎要碎得有告别仪式。血条的旁边永远并排一条盾条:绿的是命、蓝的是壳,两条并排,玩家的眼睛才不用猜。
四、定价与三条壳规
铸盾系的定价一句话:奶四十、溢出八成铸盾、盾顶六十封顶——盾不是白给的,它用的是"多奶出来的那份"的溢价。三条壳规:其一,盾不加血——盾碎了血条一格不动一格不涨,壳和命是两本账,别指望壳回血;其二,盾不滚雪球——盾有六十的封顶,满盾再奶,溢出部分真·流走,铸盾的天花板谁也不能加高;其三,盾随人碎——人倒了盾当场碎,盾不给尸体陪葬,也不给下一个乘尸的人。与群体治愈对照着看:同是治疗系的手艺,群愈是把血补齐——补的是"已经丢的";溢疗是把多余的存起来——存的是"还没丢的",治疗系的两个门派在"找零"还是"预存"上分了家。
五、铸盾系的溢出学:浪费变储备的一念之差
溢疗真正翻案的是"过量治疗"这个传统罪名:治疗表上人人喊打的溢出,在这里是铸盾的原料——奶妈从此不必掐着血线下奶,满血的人照样能吃奶,吃下去的不是血是铠甲。老玩家的节奏因此改了:开打前先满血奶一口铸盾,开打后盾替血挡前三刀——溢疗流的战斗从"保血线"变成了"保盾量",盾条的蓝比血条的绿更让人安心。对观战者,水膜一样的绿壳是最安心的视觉语言:壳亮着,这个人就暂时死不了。工程收尾记一笔:盾条要画在血条的紧下方并窄半格——盾是血的"附件",宽窄和位置都要有附件的样子,两条等宽的条会让人分不清哪条是命。最后留给数值组的一句话:八成铸盾率对六十封顶,账面是把治疗的零头利用起来——铸盾系的收益全在"零头"两个字里,零头再小,攒起来也是一面墙。
溢盾还有一个队伍里的进阶用法:盾是可再铸的——满血的人奶一口、盾铸一层,隔五秒再奶一口、盾又厚一层——两层盾六十点顶在前面,血条整个前半场都不用出场。会排的奶妈把溢疗当全队的护甲铺:谁的盾薄给谁补一口,盾满轮转,整队的血条始终藏在盾后面看戏。
写完再留一句给做铸盾系的同学:过量治疗最容易做成"一个废数据",而它本该是一层奶水浇出来的壳——浇要有浇的动作、壳要有壳的质感、扣要扣得先盾后血,零头有了去处,奶妈的每一口奶都不冤。
补一个演示彩蛋位:盾碎的那一瞬,碎裂的绿屑会往血条的方向飘一小段才散——屑往血上飘是"最后一层防线换岗了"的交接,交接完,血条就得自己撑着了。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【语法算法】 上一版的炮台索敌逻辑有个隐蔽报错:炮台永远打同一个怪——即使那只怪已经死了,索敌的游标也不挪窝。追到底索敌的游…
【语法算法】 先抛一个坑:打不完的火系怪怎么办?火抗怪火打不动,换冰系技能要切装备要换面板——切完黄花菜都凉了。元素转换的答…
【语法算法】 上个月的事故复盘会上有个数字被念了三遍:四成——策划写的是"同伴陪疼四成",代码落下去成了"陪疼四十点",两只…
【语法算法】 单行代码拆解:弹射初速=-420——弹射的全部动力就这一行的负初速。负号朝上、四百二十是弹射的初速大小——踩上…
【语法算法】 上一版的减速类模块全按"乘以零点五"来写,帧率无关的版本照搬了这套写法——结果高帧率机上减速效果好,低帧率机上…
【语法算法】 先抛一个坑:怎么把散在四处的怪聚到一起打?逐个拉是笨办法,一个范围技又只能打一片——引力球的答案是一个会动的吸…