Files
noname-shuying/mengsan/relics/README.md
T

106 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 梦三遗物(道具)
本目录负责遗物定义、持有规则与战斗效果管理。
已实现十三件新遗物,并接入既有“束带”。图片暂缺,清单见 [ASSETS.md](ASSETS.md)。
## 已实现的遗物
| 遗物 | 效果 |
| --- | --- |
| 燃烧之血 | 胜利结算后回复 6 点生命,不超过上限;失败不回血 |
| 蛇之戒指 | 每场战斗开始额外摸 2 张,开场手牌整理不会移除这两张 |
| 长蛇戒指 | 每场战斗第 1~3 个自身回合开始,各额外摸 2 张 |
| 千年积木 | 每场战斗首次实际生命减少且仍存活时摸 3 张;纯护甲损失不触发 |
| 摆动球 | 每场战斗第 3、6、9……个自身回合开始额外摸 1 张 |
| 束带 | 原有手牌上限 +1,重复获得不叠加 |
| 餐券 | 进入商店时回复 15 点生命,每个商店节点一次 |
| 草莓 | 获得时生命上限 +7,当前生命不变,重复获得不叠加 |
| 弹珠袋 | 开战时给予当时所有存活敌人 1 层易伤 |
| 灯笼 | 首个自身回合可用费用 +1,费用上限不变,下回合恢复正常 |
| 红面具 | 开战时给予当时所有存活敌人 1 层虚弱 |
| 皇家枕头 | 选择休息回血时额外恢复 15;现有基础 8,总计 23 |
| 节日拉炮 | 开战时对当时所有存活敌人造成 9 点伤害 |
| 金刚杵 | 开战时获得 1 点力量,只在当前战斗有效 |
虚弱使攻击伤害减少 25%(向下取整),自身回合结束减少 1 层;
力量使玩家攻击牌伤害增加对应点数,意图攻击沿用原有力量/虚弱计算。
节日拉炮是非卡牌伤害,正常消耗目标护甲,不享受力量、易伤、虚弱的攻击修正。
开场效果先摸牌和施加状态,再结算节日拉炮;仅影响开战时的敌人,不影响后续援军。
餐券在打开商店前保存回血和节点记录,读档不会重复触发;
皇家枕头不影响磨砺、商店治疗或其他回复效果。所有回复均不超过生命上限。
草莓若在角色生命尚未初始化时获得,会保存待应用加成,初始化后只应用一次。
遗物互相独立:同时持有两种戒指时,开场和前三回合效果分别触发。
所有回合计数按玩家自身实际开始的回合计算,不计敌方和支援回合,
不使用界面显示的全局轮数。每场战斗重置计数及“首次损失生命”标记。
额外摸牌沿用个人牌堆规则;牌堆与弃牌堆不足时仍按原规则挑战失败。
### 获得、保存和查看
- 新遗物通过自动生成的遗物奖励列表加入共享 Boss 和第一章宝箱奖励池;
后续章节使用共享 Boss 奖励池的宝箱也可出现它们。
- 角色默认不携带新遗物;未新增商店价格或精英掉落规则。
- 持有记录沿用 `run.player.items`,已持有遗物会从随机奖励中排除。
- `definitions.js` 提供注册、资格检查和去重获得;旧“束带”ID 与效果保留。
- `battle.js` 管理战斗计数、摸牌效果及战后回血;战斗运行状态不写入征程。
- 战后回血写入结算候选快照,之后才领取奖励,重试、重复提交和读档
复用快照,不再次回血;刚从本场奖励获得的燃烧之血从下一场生效。
- 战斗中的“遗物”按钮显示名称、效果与触发状态;地图行囊显示持有详情。
- 获得和效果触发使用游戏日志反馈;没有图片时只显示文字。
## 参考来源
- [杀戮尖塔 2 中文百科:遗物](https://sts2.huijiwiki.com/wiki/%E9%81%97%E7%89%A9)
- 查阅日期:2026-09-30。
- 页面直连返回 403;以下概述依据搜索索引返回的该页正文整理。
本文概述机制,不复制完整遗物列表、具体效果或图片。
## 网页中的遗物概念
遗物是单局游戏中获得并持续持有的物品,会影响牌组构筑、
手牌管理和其他玩法。这里的“永久”指当前这一局,
不代表跨新征程永久保留。
- 每个角色拥有自己的初始遗物,此外也有通用和角色专属遗物。
- 获得途径包括击败精英或 Boss、宝箱、商店、部分事件和先古之民。
- 已经持有的遗物不会再次出现。
- 通常不能主动移除;部分事件可以交换或移除遗物。
- 部分特殊遗物可以失效,但失效后仍保留在持有列表中。
- 页面按稀有度或获取类别区分初始、普通、罕见、稀有、
商店、先古之民、事件及其他遗物。
## 接入前的项目背景
接入前,项目已有以下零散道具逻辑:
| 位置 | 现有职责 |
| --- | --- |
| `../progression/state.js` | 新征程创建 `player.items` 和手牌上限加成数据 |
| `../mode.js` | 获得“束带”时记录道具 ID,手牌上限加成增加 1,重复获得不叠加 |
| `../content/shared/rewards.js` | 配置“束带”和“斥候援令”等奖励 |
| `../battle/battle-director.js` | 管理援令带来的支援单位与重复来源处理 |
| `../ui/map/renderer.js` | 行囊展示永久道具,数量读取 `player.items` |
“斥候援令”走支援管理流程,不能仅凭奖励名中的“道具”
认定它已经进入 `player.items` 或统一遗物系统。
## 设计约定与后续扩展
1. 将“遗物”作为本征程持续持有道具的统一概念,
与手牌、装备牌、消耗品及临时战斗状态分别管理。
2. 每个遗物定义稳定 ID、名称、说明、图标、角色限制、
获取类别及效果规则;具体三国题材名称与数值另行配置。
3. 根据效果需要提供获得时、战斗开始、回合开始、出牌后、
战斗结束等触发时机;不能假定所有遗物只提供固定属性加成。
4. 获得前统一检查角色资格和是否已持有,
默认不重复获取;失效、交换和移除规则由具体遗物明确声明。
5. 将持有记录和需要跨战斗保存的计数写入征程存档,
战斗内计数由战斗会话管理,读档不重复执行“获得时”效果。
6. 先以“束带”作为接入现有机制的候选,保留它当前的效果与去重行为;
“斥候援令”需要明确与支援系统的关系,再决定如何接入。
7. 获得提示、持有列表、说明与触发反馈放在 `../ui/`,
图片建议放在 `../assets/relics/`;本目录负责遗物自身规则。
资源、稀有度、精英掉落、商店价格、角色初始遗物以及特殊交换或移除
规则仍待后续配置;本次保留原道具与存档字段,不引入独立遗物存档副本。