装备共鸣是套装系统的进阶版:同品质的多件装备凑齐后触发全局加成,共鸣的等级随件数递增。与套装的固定件数不同,共鸣的件数阈值是弹性的——三件起效、五件增强、全套最大化,弹性的设计让玩家的搭配有梯度选择。
local RESO_TIERS = { { n = 3, bonus = 50 }, { n = 5, bonus = 120 }, { n = 7, bonus = 250 } }
function Resonance.calc(actor)
local qualityCount = {}
for _, slot in ipairs(actor:GetEquipSlots()) do
local item = actor:GetEquip(slot)
if item then
local q = item:GetQuality()
qualityCount[q] = (qualityCount[q] or 0) + 1
end
end
local totalBonus = 0
for q, n in pairs(qualityCount) do
for _, tier in ipairs(RESO_TIERS) do
if n >= tier.n then totalBonus = totalBonus + tier.bonus end
end
end
actor:SetResoBonus(totalBonus)
end
共鸣按品质分组计数:紫色装备三件触发紫色共鸣(加成 50),金色装备五件触发金色共鸣(加成 250)。共鸣的加成是全局的攻击与防御提升,面板的独立展示让玩家清楚共鸣的贡献值。共鸣的判定在穿卸装备时触发,面板的刷新即时响应。
function Resonance.optimalSetup(actor, targetQuality)
local slots = actor:GetEquipSlots()
local current = 0
for _, slot in ipairs(slots) do
local item = actor:GetEquip(slot)
if item and item:GetQuality() == targetQuality then current = current + 1 end
end
return current
end
共鸣的策略建议在面板显示:距离下一档共鸣还差几件、建议更换的部位列表。共鸣的策略选择是玩家的决策空间——全力堆一个品质追求高额共鸣,或分散品质触发多个低级共鸣,两种路线各有优劣。共鸣的加成进战斗公式的全局段,与装备的单独加成分开计算,面板的来源明细里独立标注。
共鸣的触发率按品质分层统计,共鸣加成对战斗力的影响在战力曲线中标注。
共鸣的计数曾经把重复穿戴的同一件装备计为多件,装备的唯一 ID 去重修复。共鸣的加成曾经在卸下装备时未清除,残留的加成让面板虚高,穿卸的对称触发修复。
共鸣的加成数值按品质梯度配置,品质的差距与共鸣的增幅成正比。共鸣的界面在装备面板的底部独立展示,触发条件的提示让玩家清楚如何激活下一档。共鸣的音效在激活时播放专属音效,听觉的反馈与视觉的金光叠加。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 猪洞七层的白野猪是中级玩家的过渡首领,巡回触发让它在三层地图间按路线巡逻,而非固定在一个点位被反复蹲守。…
实战应用:用在哪里 行会活动零散且缺乏组织性,成员不知道这周行会要做什么。行会目标系统让帮主每周设定行会集体目标(击杀指定首…
实战应用:用在哪里 GM 操作的审计曾散落在各系统日志里,追查一次误操作需要跨三个日志文件。GM 审计台将所有 GM 操作集…
实战应用:用在哪里 背包一百格塞满后找一件药要翻三页。背包筛选器在背包面板顶部加一排筛选标签:按品质(白绿紫橙)与类型(药品…
实战应用:用在哪里 行会广播、地图公告、活动提醒需要发给特定地图的所有玩家,逐个发送时包量随人数线性增长。区域组播按地图分组…
实战应用:用在哪里 凌晨三点的数据库主从延迟和下午三点的聊天频道延迟,影响的范围和紧急度截然不同,但响应流程曾一模一样。故障…