BetterSpire2

BetterSpire2

这是为《杀戮尖塔2》设计的轻量级QOL模组包,包含完整版和精简版(多人游戏安全版)。功能包括:伤害计数器、预期生命值、多段攻击总伤害、手牌特殊标记(回声形态、复制、重放)、商店移除价格提示、队友手牌/药水查看、时钟显示。

游戏玩法

BetterSpire2
https://steamcommunity.com/sharedfiles/filedetails/?id=3747530215

BetterSpire2Lite
https://steamcommunity.com/sharedfiles/filedetails/?id=3747531469

一个针对《杀戮尖塔2》的轻量级生活质量模组包。将多项功能整合到一个模组中,每项功能均可通过游戏内设置菜单单独开关。完全支持多人游戏,包含踢人、断线处理和难度缩放。

═══════════════════════════════════════ 提供两个版本 ═══════════════════════════════════════

BetterSpire2 提供两种口味:

  • 完整版 — 包含所有功能。在模组清单中标记为 affects_gameplay(影响游戏玩法)。多人游戏会话中的所有玩家都应安装此版本。
  • Lite版 — 仅包含显示和外观功能。标记为 affects_gameplay: false(不影响游戏玩法),因此无需所有玩家安装即可安全用于多人游戏。

Lite版包含:伤害计数器、多段攻击总伤害、预计生命值、药水掉落几率徽章、队友手牌查看器(含统计数据)、时钟、跳过启动画面、屏蔽地图涂鸦、即时快速模式。

完整版额外包含:按住R键重启、双击R键重置回合、踢出玩家、难度缩放以及自动确认丢弃/保留。

═══════════════════════════════════════ 功能 ═══════════════════════════════════════

即将受到的伤害计数器

在你的角色上方显示一个数字,精确显示此回合你将受到多少生命值伤害。计算会考虑你当前的格挡、宠物吸收、冰球被动格挡(故障机器人)包括集中和镀金电缆遗物、回合结束时的减益效果(缠绕、消亡、魔法炸弹、解体)以及回合结束时手牌造成的伤害(灼伤、腐朽、召唤等)。会在攻击前死亡(例如因中毒)的敌人会被自动排除。玩家的回复效果会影响预计生命值的计算。

  • 角色上方的红色数字 = 你将实际受到的伤害
  • 绿色 0 = 你已完全被保护(格挡或宠物吸收所有伤害)
  • 宠物上方的橙色数字 = 宠物将吸收的伤害

在你打牌和获得格挡时会实时更新。

在设置中开启“显示预计生命值”可查看你受到伤害后的生命值。例如,“14 (38)”表示你将受到14点伤害,回合结束时生命值为38。

多段攻击总伤害

敌人的多段攻击现在会在原始攻击标签旁边以括号显示总伤害。例如,显示为 3x3 的攻击现在会显示为 3x3 (9),这样你就不用自己计算了。

卡牌打出次数徽章

在你的手中任何一张卡牌下次打出时将会打出超过一次的卡牌上方,会出现一个小的“xN”徽章。涵盖游戏中的所有重复机制:

  • 回响形态(本回合前N张牌)
  • 复制药水(下一张牌)
  • 爆发(下一张技能牌)
  • 组合拳(下一张攻击牌)
  • 信号增强(下一张能力牌)
  • 飞斧遗物(本场战斗第一张牌)
  • Hidden Gem 模组的 重演 附魔

由游戏自身的 ModifyCardPlayCount 钩子驱动,因此任何使用相同机制的未来卡牌、遗物或附魔都会被自动识别。叠加效果可以正确工作——一张带有重演附魔的卡牌,同时拥有回响形态和复制药水效果,将显示 x4。

该徽章也会出现在 F3 队友手牌查看器中。可在设置中开关(“在手牌卡牌上显示 x2 徽章”),默认开启。

商店移除费用提示

将鼠标悬停在地图上的商店图标上,会显示一个小的提示框,使用游戏内的剪刀和金币图标显示即将到来的移除卡牌费用(例如“✂ - 100 🪙”)。价格遵循游戏自身的公式(基础75金币,每次移除后+25金币),并在你移除后返回地图时自动更新。

药水掉落几率徽章

地图按钮旁边的一个小徽章,显示你下一次战斗后获得药水当前几率。使用游戏自带的顶栏背景和描边标题字体,使其在视觉上与HUD的其余部分融为一体,并在底层概率变化时实时更新。

点击并拖动徽章到屏幕上的任意位置可重新定位——保存的位置会在启动之间持久保留。如果你运行了其他顶栏覆盖物(例如游戏计时器模组),想把它移开时这很有用。

可在设置中开关(“显示药水掉落几率”),默认开启。

自动确认丢弃/保留选择 (完整版专属)

当游戏要求你丢弃或保留卡牌时,选择最大数量的卡牌会自动确认选择,无需点击确认按钮。适用于任何卡牌数量——丢弃1张、丢弃2张、保留最多1张等。

即时快速模式

解锁游戏隐藏的“即时”动画速度,比内置的快速模式更快。在F1设置菜单中切换。这只会改变游戏偏好设置——不会修改任何游戏逻辑。

按住R键重启游戏 (完整版专属 - 仅限单人游戏)

按住R键1.5秒可立即放弃当前游戏,并使用相同的角色、进阶等级和行动配置开始新游戏,但会使用新的种子。当你知道游戏已经无望,想快速重新开始时非常有用。

双击R键重置回合 (完整版专属 - 仅限单人游戏)

快速双击R键可重新加载上一个自动存档并重置当前房间。游戏在你进入每个房间时会自动保存,因此这实际上可以重置当前的战斗或事件。保留你的地图涂鸦和敌人位置。无需返回主菜单即可无缝运作——一个干净利落的原地重载。

跳过启动画面

自动跳过游戏启动时的标志/启动动画。直接进入主菜单。

队友手牌查看器

按F3键打开一个透明的浮动面板,显示战斗中每位玩家的当前手牌。每张牌显示为一个带有卡牌名称的小缩略图,悬停在任何卡牌上会显示一个带有卡牌描述的完整工具提示——不再需要猜测你的队友持有哪张牌。

每位玩家的名称行显示手牌统计数据,使用游戏图标:总攻击力(剑)、防御力(盾)、易伤和虚弱。这有助于协调攻击——如果你的队友有一张施加易伤的卡牌,你可以等到他们打出后再打出你的高伤害卡牌。

  • 可调整大小 — 拖动右边缘、底边缘或右下角来调整大小。角落会显示一个小握柄指示器。卡牌会自动换行以适应面板宽度。大小会在打开之间记住。
  • 分页 — 如果玩家超过4人,会出现箭头按钮 (< >) 用于翻页。你也可以使用 Page Up / Page Down 键。
  • 拖动重新定位 — 点击并拖动面板可将其移动到屏幕上的任何位置。位置会在打开之间记住。
  • 在面板外点击或按下X按钮关闭。
  • 保持开启模式 — 在设置中启用“保持开启”可防止在点击面板外部时关闭面板(例如在打牌时)。改用F3键或X按钮关闭。
  • 隐藏自己的手牌 — 切换为仅显示队友的手牌,以释放屏幕空间。
  • 药水显示 — 每位玩家的药水显示为小图标,带有悬停提示显示名称和描述。当药水获得、使用或丢弃时实时更新。
  • 紧凑视图 — 在设置中切换“紧凑视图”以隐藏卡牌缩略图,并以2x2网格显示玩家,仅显示名称、统计数据和药水。屏幕占用最小。
  • 持久位置 — 面板的位置和大小在游戏会话之间保存。无需每次启动都重新定位。
  • 弹出窗口 (多显示器) — 在设置中启用“在单独窗口中打开(拖动到另一个显示器)”,使手牌查看器作为一个真正的操作系统级别的窗口打开,你可以将其拖动到第二个显示器上。非常适合主播和多显示器设置——在主游戏全屏显示在主显示器上时,让队友的手牌保持可见。弹出窗口的位置和大小与游戏内覆盖层独立保存,因此在两种模式之间切换会保留两种布局。F3键仍然可以切换它,键盘输入仍然会流向游戏。

默认情况下显示你自己的手牌,以便你验证显示是否匹配。需要启用“战斗中显示队友手牌”设置(默认开启)。

时钟显示

一个可选的、可拖动的时钟,出现在屏幕的右上角。支持12小时和24小时格式(在设置中切换)。点击并拖动可重新定位——位置在会话之间保存。默认情况下禁用。

═══════════════════════════════════════ 多人游戏支持 ═══════════════════════════════════════

所有功能在多人游戏中均可工作。每位玩家根据自己拥有的格挡、宠物和减益效果独立计算自己的伤害数字。Lite版可在多人游戏中使用,无需所有玩家安装该模组。完整版应由会话中的所有玩家安装。版本不需要匹配——旧版本只有较少的功能。

═══════════════════════════════════════ 队伍管理 (F1 → 队伍) ═══════════════════════════════════════

在多人游戏中,F1设置菜单包含一个队伍部分,按Steam名称和角色职业显示所有玩家。在此你可以:

  • 隐藏涂鸦 — 阻止另一位玩家的地图涂鸦显示在你的屏幕上。切换时也会清除他们现有的涂鸦。
  • 清除所有涂鸦 — 一次性清除地图上的所有涂鸦。
  • 踢出 (仅限主机,完整版) — 从会话中移除一名玩家。

涂鸦静音是逐个玩家设置的——任何拥有该模组的玩家都可以独立选择隐藏谁的涂鸦。

═══════════════════════════════════════ 踢人和断线处理 (完整版专属) ═══════════════════════════════════════

当主机踢出一名玩家(或一名玩家失去连接)时,游戏会继续而不会卡死。所有同步器都会被修补,使得战斗回合、地图投票、事件选择、宝藏房间遗物拾取、行动转换和玩家选择都能为缺失的玩家自动解决。

如果被踢出的玩家被重新邀请并重新连接,他们的踢出状态会自动清除——无需重新启动。

═══════════════════════════════════════ 难度缩放 (完整版专属) ═══════════════════════════════════════

当一名玩家在游戏中途离开时,敌人的生命值、格挡值和威力缩放会自动调整以匹配剩余玩家人数。如果你开始了一个2人游戏,有人离开,敌人会缩放为单人难度。

这在中途战斗中也能工作——现有敌人的生命值会被重新缩放,同时保持其当前生命值比例(一个生命值在50%的敌人仍为50%)。

由F1菜单中一个仅限主机的开关控制:“按活跃玩家缩放难度”(默认启用)。主机可以随时开启或关闭此开关,甚至在战斗中也行,敌人会立即重新缩放。

═══════════════════════════════════════ 设置菜单 ═══════════════════════════════════════

随时按F1键打开游戏内设置面板。每项功能都可以单独开启或关闭。设置组织为两列布局——左列:战斗HUD和多人游戏,右列:游戏玩法和快捷键——底部分布队伍部分。你的偏好设置会自动保存并在会话之间持久保留。

该面板可拖动——点击并拖动可重新定位。在面板外点击或按下X按钮关闭。位置会在打开之间记住。

BetterSpire2 也与 ModConfig (https://www.nexusmods.com/slaythespire2/mods/27) 集成。如果安装了 ModConfig,所有设置都会出现在游戏的 设置 → Mods 标签页中。这对无法使用F1覆盖层的移动/安卓玩家特别有用。ModConfig 是可选的——没有它模组也能正常工作。

Lite版显示简化的选项开关(仅显示功能)。完整版显示所有开关。

═══════════════════════════════════════ 本地化 ═══════════════════════════════════════

BetterSpire2 为游戏支持的每种语言提供了完整的本地化支持:

英语, 日本語, 中文, 한국어, Deutsch, Français, Español (LA & ES), Italiano, Português (BR), Русский, Polski, ไทย, Türkçe。

默认情况下,模组跟随游戏的语言。你可以通过F1设置菜单(或在 ModConfig 中)的“语言”选项强制使用特定语言。任何语言的缺失键会自动回退到英语,因此UI永远不会显示空白标签。

翻译文件位于 DLL 旁边的 BetterSpire2_localization/ 文件夹中。发现翻译看起来不通顺的母语者欢迎在Nexus页面提交问题或PR。

═══════════════════════════════════════ ⚠ 重要:存档文件信息 ═══════════════════════════════════════

游戏为模组化和非模组化游戏使用单独的存档文件:

  • 非模组化: %APPDATA%╲Roaming╲SlayTheSpire2╲steam╲<STEAM_ID>╲profile1╲saves╲
  • 模组化: %APPDATA%╲Roaming╲SlayTheSpire2╲steam╲<STEAM_ID>╲modded╲profile1╲saves╲

请阅读此内容


如果你是第一次安装模组,你的进度不会自动继承。要解决此问题,只需将你的存档文件从非模组化文件夹复制到模组化文件夹。确保是复制(而非移动),以便拥有备份。你也可以使用 UnifiedSavePath 模组


针对MAC系统 /Users/{user}/Library/Application Support/Steam/userdata/{Steam ID}/{Game ID}/remote *Steam ID 和 Game ID 是数字。

然后只需将 profile 1 复制到模组化文件夹中即可

═══════════════════════════════════════ Windows 安装 ═══════════════════════════════════════

  1. 进入你的 STS2 安装目录: STEAM╲steamapps╲common╲Slay the Spire 2╲

  2. 如果不存在,创建一个名为 mods 的文件夹。

  3. 选择你的版本并解压到该文件夹:

    完整版:

    mods╲BetterSpire2.dll
    mods╲BetterSpire2.json
    mods╲BetterSpire2_localization╲  (包含 .json 翻译文件的文件夹)
    

    Lite版:

    mods╲BetterSpire2Lite.dll
    mods╲BetterSpire2Lite.json
    mods╲BetterSpire2_localization╲  (包含 .json 翻译文件的文件夹)
    
  4. 启动游戏——它将检测到模组并要求你在模组化模式下重启。

请阅读上述存档文件信息,因为 STS2 为模组化和非模组化使用单独的存档。如果你希望进度继承,请按描述进行复制。

═══════════════════════════════════════ Mac 安装 ═══════════════════════════════════════

  1. 进入你的 STS2 安装目录:/Users/{user}/Library/Application Support/Steam/steamapps/common/Slay the Spire 2/

  2. 右键点击 SlayTheSpire2.app

  3. 导航至:/Users/{user}/Library/Application Support/Steam/steamapps/common/Slay the Spire 2/SlayTheSpire2.app/Contents/MacOS/

  4. 在 MacOS 目录中创建一个名为 mods 的文件夹

  5. 将你的模组放入该文件夹,然后就可以开始了!

请阅读上述存档文件信息,因为 STS2 为模组化和非模组化使用单独的存档。如果你希望进度继承,请按描述进行复制。

═══════════════════════════════════════ 已知问题 ═══════════════════════════════════════

  • 当前无已知问题!如果遇到问题,请附上你的 betterspire2_log.txt 文件进行报告。

═══════════════════════════════════════ Bug 报告 ═══════════════════════════════════════

使用“Bug”标签页报告问题。所有 Bug 报告必须包含:

  • 重现问题的步骤
  • 显示 Bug 的截图或短视频

没有重现步骤或证据的 Bug 报告将被立即关闭。“它不起作用”或“我发现了一个 Bug”但没有细节的反馈是无法处理的。

如果可能,同时附上你的日志文件: %APPDATA%╲SlayTheSpire2╲betterspire2_log.txt