宠物的战斗力不止靠等级:宠物装备给伙伴穿上专属的护甲与饰件,属性加成与外观的荣誉双线提升。宠物装备的框架要点是专属的槽位、属性的加成与装备的获取——宠物的养成又多了一条可投入的线。
---宠物装备:三槽位的设计
local PET_SLOTS = { armor = 1, ornament = 2, weapon = 3 }
function PetEquip.wear(actor, petId, slot, makeIndex)
local player = class(actor)
if not player then return false end
-- 宠物等级解锁槽位:10/20/30 级各开一槽
local petLv = Pet.levelOf(actor, petId)
local needLv = slot * 10
if petLv < needLv then
sendmsg(actor, 1, "宠物 " .. needLv .. " 级解锁此槽位")
return false
end
PetEquip.equip(actor, petId, slot, makeIndex)
sendmsg(actor, 1, "宠物装备已穿戴")
return true
end
宠物的装备三槽位:护甲、饰件、武器,槽位按宠物的等级逐个解锁——10 级开护甲、20 级开饰件、30 级开武器,宠物升级的动力除了成长还有槽位。装备的穿戴校验宠物的等级与槽位的占用,穿戴成功后属性即时加算。宠物的装备与主人的装备彼此独立:两套背包与两套强化体系互不干扰,玩家为宠物投入的资源不会挤占主角的养成。
---宠物装备的属性加成与面板刷新
function PetEquip.recalc(actor, petId)
local atk = Pet.baseAtk(actor, petId)
for slot = 1, 3 do
local eq = PetEquip.of(actor, petId, slot)
if eq then
atk = atk + eq.atkBonus
end
end
Pet.setAtk(actor, petId, atk)
sendmsg(actor, 1, "宠物攻击更新为 " .. atk)
end
装备的加成在宠物的属性面板单独列示:基础攻击、装备加成、转生加成分行展示——投入的每一份都有明确的来源,加成的透明让养成不糊涂。宠物装备的获取走行会副本与宠物探险的双渠道,装备的掉落与宠物的等级档位匹配:低级宠掉低档装备、高级宠掉高档装备,成长的节奏与获取的难度对齐。宠物装备的强化与精炼独立于主角的强化体系,强化的材料专用——宠物的养成厚度由专属的材料供给支撑。
宠物的装备率与槽位的解锁分布统计,装备率的高低反映系统的渗透;装备的属性加成与面板的一致性核验,加成的账当面算清。
槽位的解锁曾经在宠物转生后错乱,转生重置了等级但槽位没回收,槽位与等级的联动校验补上。装备的加成曾经没在宠物的复活后重算,复活后属性回到裸装状态,复活的重算钩子补上。装备的掉落曾经不匹配宠物的档位,低级宠物掉了高级装备引发数值的混乱,掉落的档位过滤修复。
槽位的解锁条件与装备的档位进配置表,宠物装备的体系随版本扩展内容内容。装备的展示在宠物的面板与名片双端可见,宠物的穿搭是展示的名片。装备的强化材料与宠物探险的产出联动,探险的价值因装备而提升。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 悬赏捕杀把玩家之间的恩怨变成可托付的系统行为:仇家难以亲自复仇时,花费金条发布悬赏,全服玩家接单击杀目标…
实战应用:用在哪里 策划改表是日常动作,漏填字段、引用了不存在的编号、数值越界这三类问题占了配表故障的绝大多数。等玩家报错再…
实战应用:用在哪里 行会擂台给中小行会提供了固定的对抗出口:挑战方击败守擂方后接管擂台,连胜次数决定每日结算奖励档位。接口层…
实战应用:用在哪里 世界首领战里玩家最关心的是伤害前十名:榜单要求随时插入、随时能按序取出,每来一条伤害记录都重新排序一次太…
实战应用:用在哪里 百人同屏的攻城战里,把每条移动、施法消息广播给全地图是最常见的性能失误。九宫格视野的做法是把地图切成等大…
实战应用:用在哪里 留言板、行会招募语、邮件标题这类字段会被玩家自由填写,并写入角色变量或转发给持久层。拼接式的写法一旦遇到…