# 梦三模式目录 `register.js` 是扩展加载入口,`mode.js` 负责组装模式、注册技能并连接各领域模块,`config.js` 提供模式配置。发布器和外部扩展应继续从 `register.js` 加载,避免依赖内部文件路径。 梦三独立组装模式,不加载或继承身份模式。敌我关系统一由 `battle/camps.js` 读取角色的 `storage.mengsanCamp_shuying`:主角、支援和 羁绊助战为 `ally`,怪物及敌方援军为 `enemy`。`side` 与梦三专属的 `identity` 标记只用于核心及界面兼容,不赋予主公、忠臣或反贼规则。 技能应使用 `isFriendOf` / `isEnemyOf`、`getFriends` / `getEnemies` 或 `get.attitude` 判断敌我。基础态度为同阵营及自身 `+8`、对立阵营 `-8`, 未设置有效阵营的其他对象为 `0`;剧情切换阵营后按新阵营判断。 `get.effect`、`get.effect_use`、`get.damageEffect`、`get.recoverEffect` 和 牌价值、技能效果修正继续使用核心算法,并通过上述态度计算行动收益。 有益效果不一律视为正收益,伤害也不一律视为负收益,仍遵循技能自己的 AI 配置。 梦三不启用主公技,初始技能及动态授予技能均按此限制处理。阵营始终公开, 出牌或技能的 `logAi` / `addExpose` 调用不推断隐藏身份;击杀不附加身份奖惩, 胜负与奖励沿用梦三关卡和结算流程。 | 目录 | 职责 | | --- | --- | | `battle/` | 战斗会话、回合、结算、费用与通用战斗效果 | | `monsters/` | 怪物阶级、牌堆默认值和各怪物意图选择 | | `cards/` | 卡牌定义、词缀、生成和个人牌堆 | | `relics/` | 遗物(道具)定义、持有规则、战斗触发及资源待补清单 | | `bonds/` | NPC 羁绊、助战选择、成长与意图配置、默认牌库及濒死状态 | | `progression/` | 征程状态、存档、剧情选择和奖励逻辑 | | `content/` | 章节、遭遇、剧本、角色与内容注册表 | | `ui/` | 地图、对话、意图、奖励、图鉴及样式 | | `ui/hand/` | 梦三必需手牌 UI 子扩展:真实卡牌原位排列、覆盖层及生命周期 | | `assets/intent/` | 意图图标 | | `assets/cards/` | 梦三专属卡面 | | `assets/portraits/` | 角色立绘 | | `docs/` | 战斗和关卡配置说明 | 新增功能优先放入所属领域;界面代码放在 `ui/`,怪物行动逻辑放在 `monsters/`。跨领域引用使用相对路径,避免新增一个涵盖所有功能的扁平 `runtime/` 目录。模块资源文件随 `tools/generate_manifest.py` 自动收录,发布入口仍为 `mengsan/register.js`。 手牌 UI 子扩展没有单独关闭开关;实现边界、日志位置和验证结果见 [手牌 UI 子扩展说明](docs/ui-hand-subextension.md)。 战后技能清理只针对本场角色。`fixed` / `superCharlotte` 的纯元数据技能 保留在即将销毁的角色上,不阻断结算;含触发器、规则修正、标记清理或 释放回调的技能在整角色销毁时正常卸载,等待回调完成。公共技能定义及 保护标记不变,战斗期间单技能移除仍受保护。真实清理失败不会重复执行 已开始的释放回调;提示明确区分未保存与已保存后失败。 梦三保留必要引擎规则、已使用的原生角色技能和外部界面功能,不按技能 前缀或保护标记批量禁用全局技能。战斗日志记录进入时的全局技能快照, 以及角色技能保留、卸载和失败信息。外部玩法冲突需根据证据单独适配, 本策略不承诺兼容所有外部技能或对引擎函数的改写。 开发回归检查:`node --test tools/test_skill_teardown.mjs`。 整角色退出还会卸载装备及已初始化的触发登记,等待装备卸载子事件完成; 卸载异常自动生成诊断报告,失败操作不重复执行。战斗准备异常由梦三 直接捕获,保留原始错误及会话信息,不依赖引擎是否忽略错误;准备失败 进入保留存档退出提示,不发放奖励。 原生引擎回归:设置 `NONAME_ROOT` 为无名的应用目录(包含 `noname/`), 执行 `node --test tools/test_battle_lifecycle.mjs`。该回归不能代替 PC 和安卓客户端的完整对局验证。 梦三【杀】消耗 1 费用,基础伤害为 6;其他锦囊的基础伤害仍为 4。 【重杀】(`mengsan_zhongsha`)是普通战斗奖励池中的通用基本牌: 消耗 2 费用,对攻击范围内的一名其他角色直接造成 8 点伤害, 然后给予存活目标 2 层易伤,每回合使用次数不限。 易伤沿用既有规则:受到攻击伤害增加 50%(向上取整), 目标每个自身回合结束减少 1 层;本次新施加的易伤不放大本次伤害。 强化规则集中在 `cards/upgrades.js`,未配置的牌不可强化。 【杀】最多强化一次,伤害由 6 变为 9;【重杀】最多强化一次, 伤害由 8 变为 10,易伤由 2 层变为 3 层,费用均不变。 随机强化只选尚未满级、可强化且没有“永恒”词缀的牌。 没有候选牌时禁用休息节点的磨砺,并从随机奖励中排除强化。 旧存档不重写:历史超限等级按当前上限结算,未配置牌的历史等级不生效。