技能装配

技能装配概述

技能装配是角色当前战斗技能的唯一权威配置。玩家在已解锁的技能中自由选择 3 个主动技能 3 个被动技能 组合。

技能装配通过 PUT /api/skills/loadout 保存。 服务端会校验:1) 技能已解锁;2) 主动槽只能放主动技能、被动槽只能放被动技能; 3) 装配版本号(loadoutConfigVersion)一致。

装配规则

3 个主动槽

主动槽决定战斗中可自动释放的技能。空槽会被普通攻击填补,新角色默认全部为空。技能按装配顺序(slotIndex 1/2/3)依次释放。

3 个被动槽

被动槽提供持续加成。只能放入已解锁的被动技能,类型不匹配(如将主动技能塞入被动槽)会被服务端拒绝。

掉落解锁

技能第一次从怪物掉落时解锁。主动技能从初始池(强力打击、火球术、冰锥术、治愈圣光)优先掉落,重复掉落转换为该技能 XP,不占背包空间。

服务端权威

普通战斗、Boss 战、离线结算和回放都读取同一个 skill loadout。前端仅做展示,所有技能装配变更通过 API 请求由服务端验证和持久化。

新手保底

如果角色前 5 场战斗内尚未解锁任何主动技能,系统从初始主动池中保证掉落一个(按 battleIndex 轮询选取)。确保新玩家不会在无技能状态下空转太久。

技能状态数据

每个已解锁的技能都维护以下状态:

字段说明
skillId技能唯一标识(如 skill_mighty_strike)
unlocked是否已解锁(首次掉落时设为 true)
level当前等级(1-30,通过重复掉落获得 XP 升级)
exp当前等级的已有经验值
requiredExpForNextLevel升到下一级所需 XP(公式:floor(100 × 1.12^level))
progressPercent当前升级进度百分比(0-100)
masteryExp精通经验(满级 30 后溢出的 XP 存入此字段)
dropCount该技能的总掉落次数
firstUnlockedAt首次解锁时间

掉落池配置

当前版本的技能掉落池配置:

初始主动池(新手保底用)

  • • 强力打击 (skill_mighty_strike)
  • • 火球术 (skill_fireball)
  • • 冰锥术 (skill_frost_cone)
  • • 治愈圣光 (skill_healing_light)

初始被动池

  • • 利刃守卫 (passive_blade_guard)
  • • 火焰亲和 (passive_fire_affinity)

正常掉落时从全池(4 主动 + 2 被动 = 6 个技能)中按 battleIndex 轮询选取。 所有 5 个区域共用同一个掉落池。