石器时代重构-6.11-missionb

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.tsRideSystem.ts 已有数据层)

4.2.1 骑乘按钮

  • 新建 RideView.ts — 骑乘状态管理
  • BottomToolbarStatusView 中添加骑乘按钮
  • 显示当前骑乘状态(骑乘中/下马状态)
  • 切换骑乘/下马状态
  • 骑乘时角色外观变化(使用 RideSystem 中的数据)
  • 发送对应协议切换状态

技术规范

  1. Layer: 所有 new cc.Node() 创建的子节点必须 node.layer = 1 << 25
  2. UITransform: 所有 UI 子节点必须 addComponent(UITransform)
  3. 拖拽: 所有弹窗窗口添加 titleBar + makeDraggable()
  4. 代码风格: 遵循 COCOS_STYLE_GUIDE.md — 动态创建UI节点,不使用预制体
  5. 无注释: 命名即文档,只在非显而易见处写注释

依赖关系

  • Phase 2.1 需要 GameApp.ts 中注册 SkillView(需要 session-a 先完成 BottomToolbar 修改)
  • Phase 4.1 依赖 PetView.ts 的基础结构(已存在)
  • 与 session-a 无直接代码冲突,可并行开发

Commit 格式

[session-b] feat: 简短描述

评论

评论功能即将上线,敬请期待。