《星咪福瑞杀》卡组全量落地任务书
文档状态:待开发启动
编制日期:2026-08-27
设计权威源:c:\Users\Huxiaojiao\Downloads\星咪福瑞杀卡组设计.xlsx
工程:D:\LegendsOfFurry\Project
前序文档:《卡牌数据化重构任务书》(阶段 0~7 已完成)、阶段 8~10 架构报告
1. 最终目标
在不恢复按卡牌 ID 写 C# 的前提下,把设计表里已写清的规则、职业、卡牌、技能、状态、伤害类型和构筑流程全部做成可玩内容;并且策划能用维护工具独立新增、修改、校验、发布同类内容。
判断标准:
- 表中每一条有描述的卡牌、被动、状态和规则,在游戏中的结算与表文一致(争议项须先改表或改实现,禁止 silently 维持旧偏差)。
- 实现方式是「通用规则能力 + 数据库内容」,Git 中不得出现为某一张表内卡新增的卡牌 ID 分支。
- 策划不打开 IDE、不手改 JSON/SQLite、不创建 Unity 权威资产,即可发布一张由已有能力组合而成的新卡,并在战斗中打出。
- 表中尚未填写的工作表(空行、复制粘贴的项链模板)不算本任务范围;填表之后另开阶段,不在本任务中用占位卡冒充完成。
端到端验收不再以「测试·淬毒斩」为唯一样例,改为:
- 工具路径仍用淬毒斩(或等价顺序伤害 + 条件上毒)证明策划独立出卡。
- 内容路径以设计表为准:五职业起始套、基础牌、鉴定/消耗/临时、晴岚个人牌、太糕已填写的被动与技能均可在战斗中按表结算。
2. 与旧任务书的关系
旧任务书的主线仍然有效,本文件不推翻它,只改终点:
| 旧任务书 | 本任务书 |
|---|---|
| 终点:数据化 MVP + 策划能出卡 | 终点:设计表全量可玩 + 策划能出卡 |
| 阶段 0~7 | 已完成,作为基线,不再重做 |
| 阶段 8~10(Registry、伤害管线、角色/装备、扩展包) | 已完成,本任务只在缺能力时扩展,不为平台而平台 |
| 争议项按旧代码冻结 | 改为以设计表为准;旧迁移偏差必须回表对齐 |
| 通灵可标 Placeholder | 本任务必须做成表中的「加入一张紫品质任意属性牌」或先改表再实现 |
| 散射按单目标冻结 | 本任务必须做成「至多 3 名角色」或先改表 |
| 照耀按清单位负面冻结 | 本任务必须做成清地块,或先改表取消地块状态 |
工程约束继承旧任务书第 5、8、9、14 节:规则层只加可复用能力;数据库不存脚本;发布原子替换;新增/修改方法写 XML 注释。
维护工具以 Electron(Tools/CardEditor.Vue)为正式入口。WPF 仅故障回退,本任务不再扩展 WPF 功能。
3. 现状基线(2026-08-27)
已具备、本任务不得推倒重来:
- SQLite 为唯一编辑源;
Content.Compiler校验并发布到StreamingAssets/Content。 - Unity
ContentRuntime加载基础包与扩展包;ContentRegistry只读索引。 - 行为图:Trigger / Condition / Selector / Effect / 受控表达式;禁止卡牌 ID 结算分支。
- 伤害管线、战斗事件、
query_*属性修正、角色/装备 schema v2。 - development 包:66 张卡、20 个状态、5 职业、2 角色、10 装备。内容主体对应本表「基础牌 + 武器 + 装备」,但若干条目与表文不一致。
- 策划工具可编辑卡牌并发布;简易效果不能表达条件,高级树参数仍是 JSON。
对照设计表的覆盖粗估(空表不计):
- 玩家正式卡组(约 65 张技能 + 基础牌):引擎约 85% 可表达,且大部分已在包内。
- 职业/装备被动:大部分可表达;治疗触发再生、战斗开始魔力偏弱。
- 晴岚个人牌:约 30% 可直接配;缺改伤害类型、加目标、手牌费用聚合、少抽牌、传送邻格。
- 太糕已填行:自诋/破锋接近;弹反反射、开战塞牌缺能力。
- 构筑规则(总牌库、鉴定品质、3/6 从属槽):战斗内抽弃消耗有雏形,跨战斗构筑未完成。
4. 范围
4.1 必须落地(表中已有描述)
以 Excel 工作表为准,按有描述的唯一条目计数,不按空行、不按重复模板。
| 工作表 | 纳入内容 |
|---|---|
| 规则 | 单手 3 从属 / 双手 6 从属;装备「装备」获得鉴定;品质加权抽从属;开战总牌库→抽牌库;回合抽 5、结束弃光;抽光洗回;消耗;临时牌不回总库;鉴定 0 费消耗;战斗结束消耗/抽/弃回总库 |
| 伤害类型 | 12 种 ID 已存在。须落实:暗/毒/真实穿甲(已有);光对魔物类型 100% 命中(未有)。火/冰/草/雷/岩/风/水若表中写「无特殊效果」,保持为标签,不发明元素反应 |
| 职业 | 五职业起始武器/宝物及栏内被动 |
| 基础牌 | 爪击、疾走、格挡、包扎 |
| 武器 | 六件武器的被动 + 全部已填技能(剑/盾/弓/杖/手杖/匕) |
| 装备 | 祖母绿项链、水晶球、圣链十字、夜行斗篷的被动与已填技能 |
| 个人牌 | 仅晴岚已填的 2 条被动 + 10 张牌(小星星~烈阳烬灭)。同表底部复制的项链五行视为模板,不重复实现 |
| 魔王本身 / 魔王武器牌 / 魔王个人牌 | 仅太糕已填:石中剑被动与破锋、弹反;龙裔、自诋、勿论。展翅/恶议无描述则不做 |
| 通用品质概率 | 灰 55% / 蓝 25% / 紫 15% / 金 5%,再独立 20% 红诅咒 |
| 正面状态 / 负面状态 | 表内全部状态;技能备注中的灼烧、开刃、折返一并纳入(无独立行也要有定义) |
4.2 本任务明确不做
- 属性牌、事件牌、普通魔物、魔王基础牌、魔王装备牌中无独立描述的行。
- 太糕以外的魔王姓名行(裤头~鹤沙)仅名单,无技能。
- Steam Workshop、任意脚本、完整冒险地图/Roguelike 地图循环。本任务只做到:一场战斗内能跑通表中的牌库规则;跨战斗总牌库若当前没有多场流程,先做成「战斗会话级总牌库」(开战构建、结束回收),并在规则实现说明里写清与表文「多场冒险」的差异。
- 为未来空表预实现 Effect。
- 扩展包工坊、角色/装备完整 Studio(角色装备已有库表;本任务只补晴岚/太糕所需的编辑能力,不做无需求的平台功能)。
4.3 设计表变更协议
实现前若发现表文自相矛盾(例如曙光祝福写【曙光】、正面状态表写【心火】),必须:
- 在本文件附录或
Docs/卡牌行为基线与争议项.md登记; - 由设计确认改表或改实现;
- 再改数据库与测试。禁止继续「按旧代码冻结」。
已知必须拍板的项(启动 G0 当天处理):
| 编号 | 表文 | 当前实现 | 本任务默认(可被设计推翻) |
|---|---|---|---|
| T-001 | 散射:至多 3 名角色 | 单目标 | 改引擎:多选至多 N 个单位 |
| T-002 | 照耀:移除地块负面 | 清单位负面 | 先问设计:做地块状态,或改表为清单位 |
| T-003 | 火球:3 点火 + 灼烧 2 回合 | 6 点火、无灼烧 | 改内容对齐表,补灼烧状态 |
| T-004 | 通灵:加入一张紫品质任意属性牌 | 占位 | 做 generate_card + 紫牌池;池的构成由设计给名单 |
| T-005 | 曙光 vs 心火 | 状态名心火 | 统一一个显示名,效果用表「曙光祝福」备注 |
5. 规则层需要新增的能力(短清单)
只在表中至少有一条内容真正用到时才实现。实现后必须进入 ContentCapabilityCatalog、校验器、执行器和工具选项。
| 能力 | 建议形态 | 驱动条目 |
|---|---|---|
| 多目标选择 | 目标模式 units:玩家依次选择 1~N 个合法单位 | 散射;晴岚耀阳可能复用 |
| 战斗开始 Trigger | on_battle_start 接到单位/职业/装备/角色 | 水晶球 +3 魔力;龙裔塞牌 |
| 治疗成功 Trigger / Query | 治疗实际回血后通知所有者 | 牧师手杖被动 |
| 抽牌数修正 | query_draw_count 或状态「下回合少摸 N」 | 扇一巴掌 |
| 移动到目标邻格 | Effect:将自身放到所选单位曼哈顿 1 的空格(可选玩家选格) | 小星星 |
| 伤害类型改写 | Query:将本次普通伤害改为指定类型 | 刺戮 |
| 为本次出牌增加目标 | 出牌预检可额外选 1 个目标 | 耀阳 |
| 手牌费用聚合 | 表达式 hand_action_cost_max / sum | 星流裁掠 |
| 伤害反射 | Query 或 Effect:将普通伤害返回来源并取消原伤害 | 弹反 / 折返 |
| 地块状态(仅 T-002 选择做地块时) | 格子上的状态容器 + 选择器 | 照耀 |
| 弃牌选择 | 已有 move_cards 时补「从手牌选 N 张」的异步选择 | 弃之 |
| 从弃牌堆按查询取回 | 扩展 CardQuery:本场用过、费用 ≥ N、攻击标签 | 喜报、烈阳烬灭 |
下列不要新开 Effect,用状态图或现有效果即可:灼烧(类中毒)、开刃(consume_owner_status + 锋利层数)、鉴定(generate_card + 稀有度权重)、消耗/临时(卡牌字段已有)。
光对魔物必中:在伤害管线对 light × 目标标签 monster 取消闪避/未命中,不按卡牌 ID 特判。
6. 实施阶段
状态:⬜ 未开始 🟡 进行中 ✅ 完成 ⛔ 等设计。完成标记仅在自动化测试或阶段验收通过后更新。
G0:冻结表、对照清单、拍板争议(1~2 日)
| 编号 | 状态 | 任务 | 完成标准 |
|---|---|---|---|
| G0-01 | ⬜ | 把设计表复制进仓库 Docs/Design/星咪福瑞杀卡组设计.xlsx,之后只改仓库副本 | 仓库有可 diff 的权威表;Downloads 原件不再作为实现依据 |
| G0-02 | ⬜ | 导出「唯一条目清单」:卡、被动、状态、规则各一行,标注已在包内 / 仅内容差 / 缺引擎 / 等设计 | Docs/Design/表内条目对照.md,条数与第 4.1 节一致 |
| G0-03 | ⬜ | 召开 T-001~T-005 及曙光/心火命名结论 | 争议项全部有「改表 / 改引擎 / 改内容」三选一 |
| G0-04 | ⬜ | 用维护工具走一遍新建卡 → 验证 → 发布 → 战斗打出,记录摩擦 | 问题列表进入 G1,不在 G0 修架构 |
阶段门:实现范围可数,争议有结论,不再以旧代码行为为默认真相。
G1:策划出卡路径(3~5 日)
旧任务书第 4 节验收仍未在「策划独立、不写 JSON」意义上通过。本阶段不扩角色编辑器。
| 编号 | 状态 | 任务 | 完成标准 |
|---|---|---|---|
| G1-01 | ⬜ | 合并说明书:删除仍写阶段 2 限制的快速说明,只留一份正式流程 | 启动入口与文档一致 |
| G1-02 | ⬜ | 简易效果支持顺序效果 + 一条常见条件(目标存活/有甲/击杀) | 淬毒斩不必手写 JSON |
| G1-03 | ⬜ | 高级树:Condition / Effect / 表达式用表单,JSON 仅程序调试可见 | 策划配置表内常规卡不碰 JSON |
| G1-04 | ⬜ | 校验错误可定位到卡、Trigger、节点、字段 | 双击或点击跳转已有面板 |
| G1-05 | ⬜ | 策划(或扮演策划)按说明书独立完成淬毒斩并在战斗打出 | 过程无程序代填;无新 C# |
阶段门:工具路径达标。此后表内「仅内容差」的卡优先由工具录入,程序只补能力。
G2:玩家正式卡组与表文对齐(4~7 日)
对象:基础牌、六武器、四装备、五职业被动。引擎缺口按第 5 节最小集添加。
| 编号 | 状态 | 任务 | 完成标准 |
|---|---|---|---|
| G2-01 | ⬜ | 实现多选目标 1~N,并用散射验收 | 表文「至多 3 名」可玩;有回归测试 |
| G2-02 | ⬜ | 按 T-002 落地照耀 | 测试覆盖表文语义 |
| G2-03 | ⬜ | 灼烧状态 + 火球术改回表数值与附加状态 | 与冰锥/中毒同类,无卡牌 ID 分支 |
| G2-04 | ⬜ | on_battle_start 接入职业/装备/角色 | 水晶球开战 +3 魔力 |
| G2-05 | ⬜ | 治疗成功通知 + 牧师手杖被动 | 治疗目标获得再生 |
| G2-06 | ⬜ | 通灵:紫品质属性牌池 + generate_card | 不再是 no_op;池名单来自设计 |
| G2-07 | ⬜ | 占卜/预演/推论按表验收;缺能力再扩展「以指定单位为施放者打出牌顶」 | 三张水晶球牌均有 PlayMode 或 EditMode 执行测试 |
| G2-08 | ⬜ | 瞩目、璀璨、飞盾、光盾的免疫/时长与表一致 | 状态定义 + query_incoming_damage |
| G2-09 | ⬜ | 光对魔物 100% 命中 | 伤害管线按类型×标签,不写卡名 |
| G2-10 | ⬜ | 逐条对照 G0 清单,修正包内描述、费用、距离、消耗/诅咒字段 | 玩家正式卡组 0 条「表文 vs 实现」未关闭项 |
阶段门:不选晴岚、不做鉴定流程时,五职业开局套与表一致。
G3:构筑、鉴定与牌库规则(5~8 日)
| 编号 | 状态 | 任务 | 完成标准 |
|---|---|---|---|
| G3-01 | ⬜ | 战斗会话级总牌库:开战从总库洗入抽牌库;结束将抽/弃/消耗(非临时)收回 | 与规则表 011、016 在单场战斗内等价 |
| G3-02 | ⬜ | 回合抽 5、结束手牌进弃牌;抽空将弃牌洗回 | 已有抽弃则改为只读 game_settings,去掉场景硬编码默认作为权威 |
| G3-03 | ⬜ | 装备武器:单手抽 3 张从属、双手抽 6 张;按品质概率再抽具体卡 | 概率表 灰蓝紫金;再 20% 红诅咒(该装备有红牌时) |
| G3-04 | ⬜ | 装备「装备」栏物品时获得鉴定牌 | 鉴定 0 费、消耗,使用后按同概率生成对应从属 |
| G3-05 | ⬜ | 【临时】战斗结束不回总库;装备技能牌默认临时(规则表 014) | 字段已有则改内容与回收逻辑 |
| G3-06 | ⬜ | 【消耗】打出进消耗库,不进弃牌 | 与现有 exhaustOnPlay 对齐并验收诅咒消耗牌 |
阶段门:不写新卡 C# 的情况下,能演示「装备铁剑 → 获得 3 张剑从属(含概率)→ 战斗抽打消耗 → 结束回收」。
G4:状态与太糕最小集(3~5 日)
| 编号 | 状态 | 任务 | 完成标准 |
|---|---|---|---|
| G4-01 | ⬜ | 表内正负面状态全部有定义,行为在状态图而非枚举特判 | 对照正面 6 + 负面 9 + 灼烧 |
| G4-02 | ⬜ | 开刃:下次普通伤害消耗全部锋利并附加层数伤害 | 通用 consume + query,破锋卡只配数据 |
| G4-03 | ⬜ | 折返/弹反:反射普通伤害并消耗 1 层 | 第 5 节反射能力 + 弹反卡 |
| G4-04 | ⬜ | 龙裔:on_battle_start 将展翅加入总牌库;展翅无描述则 ⛔ 或先补表 | 有描述才实现展翅效果 |
| G4-05 | ⬜ | 自诋:受到负面状态时获得 1 层锋利 | on_status_changed 条件 |
| G4-06 | ⬜ | 勿论:回合开始、距离 2 内无其他角色则上限 +1 且额外摸 2 | 缺「范围内无单位」条件则补通用 Condition |
| G4-07 | ⬜ | 石中剑「战斗结束后抽一张该武器技能进总库」 | 若本任务只有单场,做成战斗结束时生成进总库并写入规则差异 |
阶段门:太糕已填条目可玩或已 ⛔ 等表;状态表无「有名无行为」。
G5:晴岚个人牌(5~8 日)
先补第 5 节能力,再全部配进数据库。禁止为晴岚写专用执行器。
| 编号 | 状态 | 任务 | 完成标准 |
|---|---|---|---|
| G5-01 | ⬜ | 刺戮:造成的普通伤害视为光属性 | 伤害类型改写 Query |
| G5-02 | ⬜ | 耀阳:使用非自身光属性牌时可额外选 1 个目标 | 多目标/额外目标预检 |
| G5-03 | ⬜ | 小星星、扇一巴掌、弃之、喜报、超负荷、羽刃连击 | 各有一条执行测试 |
| G5-04 | ⬜ | 圣光庇佑:每使用 4 张光属性牌获得 1 行动力 | 通用计数(运行时值或状态层),不写死晴岚 |
| G5-05 | ⬜ | 星流裁掠:伤害 = 手牌最高行动力费用 | 新表达式 |
| G5-06 | ⬜ | 祈求、烈阳烬灭 | 上限 +1;从弃牌取 3 张攻击且本回合费用 0 |
阶段门:选晴岚进入战斗,10 张个人牌 + 2 被动均可按表结算。
G6:回归、构建、文档(2~4 日)
| 编号 | 状态 | 任务 | 完成标准 |
|---|---|---|---|
| G6-01 | ⬜ | G0 对照清单全部关闭、⛔ 或移出范围 | 无灰色条目 |
| G6-02 | ⬜ | Unity EditMode / 关键 PlayMode、.NET 内容测试、Windows 构建、内容门禁 | 与旧任务书第 13 节红线相同 |
| G6-03 | ⬜ | 更新能力词典、策划说明书、本任务书状态 | 策划能靠文档改表内同类卡 |
| G6-04 | ⬜ | 静态扫描:生产代码无表内卡牌 ID 结算分支 | 同阶段 7 清理标准 |
阶段门:本文件第 1 节四条判断标准全部满足(空表除外)。
7. 建议顺序(禁止颠倒的原因)
G0 拍板与清单
→ G1 工具(否则 G2~G5 又变成程序代填数据库)
→ G2 对齐已有 66 张(改内容成本低于新能力)
→ G3 构筑规则(装备抽从属依赖武器池已对齐)
→ G4 状态与太糕
→ G5 晴岚(新能力最多,放在已有套可玩之后)
→ G6 验收不要先做空魔王表、扩展包 UI、存档系统。不要在 G1 未完成时批量手写 catalog JSON。
8. 测试策略(增量)
在旧任务书第 13 节之上,本任务额外要求:
- 每个新通用能力一条正例、一条非法参数拦截。
- 每个与旧包不一致后改回表文的卡一条特征测试(散射、火球、照耀、通灵必有)。
- 鉴定与品质:固定随机种子下的灰蓝紫金与 20% 红。
- 晴岚:刺戮改类型、圣光庇佑计数、星流裁掠取手牌最高费。
- 禁止只测「能加载」不测「表文结算」。
9. 工期
以一名熟悉本仓库的开发者全职计(含设计拍板等待):
| 阶段 | 有效开发日 |
|---|---|
| G0 | 1~2 |
| G1 | 3~5 |
| G2 | 4~7 |
| G3 | 5~8 |
| G4 | 3~5 |
| G5 | 5~8 |
| G6 | 2~4 |
| 合计 | 23~39 |
G0 争议若改表(例如不做地块、散射改回单目标),G2/G5 工期下降。若坚持地块状态与完整多场总牌库,取上限。
10. 最终验收清单
11. 启动当天只做这些
- 复制设计表进
Docs/Design/。 - 确认 T-001~T-005。
- 开始 G0-02 对照清单(可从 development 包卡名反查)。
- 不要新开扩展包功能,不要先做晴岚。