Session-B 任务清单
分支: claude-session-b/skill-pet-system
负责范围: Phase 2 技能系统 + Phase 4 宠物系统完善
Phase 2: 技能系统(P0)
2.1 玩家技能UI
文件: 新建 assets/cocos/SkillView.ts, 修改 assets/cocos/GameApp.ts
2.1.1 技能列表窗口
- 新建
SkillView.ts— 技能查看/学习窗口 - 窗口结构: 标题栏(可拖拽) + 分隔线 + 技能列表 + 技能详情
- 已学技能列表: 显示名称、等级、描述、当前效果
- 可学习技能列表: 在NPC处显示可学习的技能
- 技能升级按钮: 发送
sendSkillUpgrade(ws, skillId)协议 - 参考现有 View 模式(InventoryView/PetView 的风格)
数据结构参考 (assets/game/ProfessionSystem.ts 已有):
interface Skill {
id: number;
name: string;
level: number;
maxLevel: number;
description: string;
effect: string;
cost: number; // 学习/升级消耗
}
2.1.2 技能快捷键栏
- 在
BottomToolbar.ts中添加技能快捷键区域 - 支持配置最多4个技能快捷键
- 战斗中点击快捷键直接使用技能
2.2 宠物技能UI
文件: 新建 assets/cocos/PetSkillView.ts, 修改 assets/cocos/PetView.ts
2.2.1 宠物技能列表
- 新建
PetSkillView.ts— 宠物技能查看窗口 - 在
PetView的宠物详情页添加"技能"按钮 - 技能列表: 显示每个技能的名称、类型、描述、威力
- 技能类型分类: 攻击型/防御型/特殊型
原版宠物技能类型参考 (stoneage/client-8.5/.../pet_skillinfo.h):
PETSKILL_NORMALATTACK(1) PETSKILL_NORMALGUARD(2) PETSKILL_GUARDBREAK(3)
PETSKILL_CONTINUATIONATTACK(10-13) PETSKILL_GUARDIAN(20) PETSKILL_CHARGE(30-31)
PETSKILL_MIGHTY(40-41) PETSKILL_POWERBALANCE(50-52) PETSKILL_POISON_ATTACK(60-61)
PETSKILL_STONE(80) PETSKILL_CONFUSION_ATTACK(90) PETSKILL_DRUNK_ATTACK(100)
PETSKILL_SLEEP_ATTACK(110) PETSKILL_EARTHROUND(120) PETSKILL_Abduct(130)
PETSKILL_STEAL(140) PETSKILL_NOGUARD(150-152) PETSKILL_MERGE(200-201)
PETSKILL_ALCHEMIST(202) PETSKILL_INSLAY(572) PETSKILL_FIXITEM(540/664)
PETSKILL_INTENSIFY(650) PETSKILL_UPINSLAY(651) PETSKILL_CALLBUS(668)
2.2.2 宠物技能学习
- 在NPC处学习宠物技能的交互窗口
- 技能遗忘确认对话框
- 发送对应 WN 协议响应
Phase 4: 宠物系统完善(P1)
4.1 宠物完整操作
文件: assets/cocos/PetView.ts
4.1.1 宠物改名
- 在宠物详情页添加"改名"按钮
- 弹出输入框(使用 Cocos Label + 键盘输入处理)
- 发送
KN协议:old_lssproto_KN_send(fd, havepetindex, data) - 更新宠物显示名称
4.1.2 宠物属性加点
- 升级后显示可分配属性点数量
- 加点面板: HP / 攻击 / 防御 / 敏捷 四个选项
- 每个属性显示当前值和可加点数
- 发送对应协议分配属性点
4.1.3 宠物合成
- 新建宠物合成选择窗口
- 选择两只宠物进行合成
- 显示合成结果预览(可能的后代属性范围)
- 确认合成按钮
4.2 骑乘系统
文件: 新建 assets/cocos/RideView.ts(RideSystem.ts 已有数据层)
4.2.1 骑乘按钮
- 新建
RideView.ts— 骑乘状态管理 - 在
BottomToolbar或StatusView中添加骑乘按钮 - 显示当前骑乘状态(骑乘中/下马状态)
- 切换骑乘/下马状态
- 骑乘时角色外观变化(使用 RideSystem 中的数据)
- 发送对应协议切换状态
技术规范
- Layer: 所有
new cc.Node()创建的子节点必须node.layer = 1 << 25 - UITransform: 所有 UI 子节点必须
addComponent(UITransform) - 拖拽: 所有弹窗窗口添加
titleBar+makeDraggable() - 代码风格: 遵循
COCOS_STYLE_GUIDE.md— 动态创建UI节点,不使用预制体 - 无注释: 命名即文档,只在非显而易见处写注释
依赖关系
- Phase 2.1 需要
GameApp.ts中注册 SkillView(需要 session-a 先完成 BottomToolbar 修改) - Phase 4.1 依赖
PetView.ts的基础结构(已存在) - 与 session-a 无直接代码冲突,可并行开发
Commit 格式
[session-b] feat: 简短描述
评论
评论功能即将上线,敬请期待。