# 梦三模式目录 `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)。 梦三【杀】消耗 1 费用,基础伤害为 6;其他锦囊的基础伤害仍为 4。 【重杀】(`mengsan_zhongsha`)是普通战斗奖励池中的通用基本牌: 消耗 2 费用,对攻击范围内的一名其他角色直接造成 8 点伤害, 然后给予存活目标 2 层易伤,每回合使用次数不限。 易伤沿用既有规则:受到攻击伤害增加 50%(向上取整), 目标每个自身回合结束减少 1 层;本次新施加的易伤不放大本次伤害。 强化规则集中在 `cards/upgrades.js`,未配置的牌不可强化。 【杀】最多强化一次,伤害由 6 变为 9;【重杀】最多强化一次, 伤害由 8 变为 10,易伤由 2 层变为 3 层,费用均不变。 随机强化只选尚未满级、可强化且没有“永恒”词缀的牌。 没有候选牌时禁用休息节点的磨砺,并从随机奖励中排除强化。 旧存档不重写:历史超限等级按当前上限结算,未配置牌的历史等级不生效。