精炼是装备养成的第三条线:消耗精炼石提升装备的精炼等级,每级给固定的百分比加成,与强化的绝对值加成互补。精炼的数值设计要点是曲线的平滑:每级的性价比递减但总量可观,玩家的投入预期清晰。
local REFINE_STONE = { [1] = 2, [2] = 3, [3] = 5, [4] = 8, [5] = 12 }
function refineRun(actor, slot)
local item = actor.bag[slot]
local lv = item.refine or 0
if lv >= 5 then return false, "精炼已满级" end
if not actor:TakeItemByName("精炼石", REFINE_STONE[lv + 1]) then
return false, "精炼石不足"
end
item.refine = lv + 1
recalcabilitys(actor)
sendmsg(actor, 1, "精炼成功,当前 " .. (lv + 1) .. " 级")
return true
end
五级封顶,消耗的精炼石按 2、3、5、8、12 递增,精炼的加成每级 2% 全属性。精炼没有失败设计:稳定的成长让精炼石成为刚性消耗,数值组按消耗曲线反推精炼石的掉率。精炼石的双渠道投放:精英怪掉落与商店兑换,产量的周报与消耗量对比,供需的剪刀差超过两成即调整掉率。
function refineRecycleValue(item)
local refund = 0
for lv = 1, item.refine or 0 do
refund = refund + REFINE_STONE[lv] * 0.5
end
return math.floor(refund)
end
装备分解时精炼的投入按五折返还精炼石,投入的折损设计让玩家在换装时愿意精炼新装备。精炼石的双渠道投放:精英怪掉落与商店兑换,产量的周报与消耗量对比,供需的剪刀差超过两成即调整掉率。
精炼等级的全服分布统计,五级满精炼的占比是付费纵深的间接指标。
精炼加成的百分比基数曾经按基础属性与强化的总和计算,强化越高精炼越值钱导致双重叠加失控,基数改为固定的基础属性。精炼石的概率投放曾经与合成玩法串线,合成的保底把精炼石变成硬通货,产出的渠道隔离后恢复。
精炼的加成在面板的来源明细中独立展示,玩家对每 2% 的去向一清二楚。精炼石的掉落与消耗的周对账,供需的剪刀差是数值组周会的固定议题。满级精炼的荣誉展示:五级精炼的装备名字带金框,视觉的荣耀感为养成收尾。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
设计初衷 金币要有全天候的燃烧口,药水是唯一"打得越猛烧得越快"的强制消耗品:打怪掉血掉蓝不以玩家意志为转移。药水经济的目标…
底层原理 Lua 的名字解析在装载时刻完成绑定:模块顶部 local calcFee = require("fee").ca…
设计初衷 五人小队推倒祖玛教主,掉出一把裁决之杖——分赃规则不清晰,队伍当场散伙。自由拾取让手快有手慢无,固定队长分配又给了…
设计初衷 1 到 60 级是玩家的蜜月加长跑:前期每一级都要有即时惊喜,后期每一级都要有明确意义。曲线决定生死——前期过陡,…
底层原理 状态机的"状态"不必是表里的字符串,它可以直接体现为"当前在执行哪个函数"。闭包状态机把每个状态写成一个闭包:处理…
底层原理 引擎的 setontimer 是一条注册一条调度:千人在线每人挂两条个人定时器,就是两千条管理记录,每秒两千次回调…