STS2疲劳

STS2疲劳

A Mod for Slay the Spire 2 that adds a "Fatigue" mechanic similar to Hearthstone.为杀戮尖塔2添加类似炉石传说"疲劳"的机制。

游戏玩法

描述

STS2Fatigue - 疲劳机制 Mod

一款为《杀戮尖塔2》设计,添加类似《炉石传说》"疲劳"机制的 Mod。

当玩家的抽牌堆为空时,不再自动将弃牌堆洗回,而是改为造成疲劳伤害。

疲劳规则:

  1. 疲劳伤害递增:第 n 次疲劳造成 n 点伤害

  2. 伤害可被格挡:疲劳伤害属于普通伤害,格挡值可以抵消

  3. 疲劳计数跨回合累积:在整个战斗(在一个怪物房间内)中持续累积,战斗结束后(离开怪物房间后)重置疲劳计数

  4. 回合结束洗牌:回合结束时,如果抽牌堆为空,将弃牌堆洗回抽牌堆

源码地址: https://github.com/Tomorrowcup/STS2Fatigue

安装说明

安装方法(Steam端):

  1. 在 Steam 库中右键点击游戏,选择"浏览本地文件"。如果目录下不存在 mods 文件夹,新建文件夹并重命名为 mods;若已存在 mods 文件夹,则直接进入。

  2. mods 目录下新建文件夹,重命名为 STS2Fatigue

  3. 下载 STS2Fatigue.dllSTS2Fatigue.json 文件。

  4. STS2Fatigue.dllSTS2Fatigue.json 放入 STS2Fatigue 文件夹内。

  5. 启动游戏。

主要特性

一、回合开始抽牌

规则:回合开始抽牌时,若抽牌堆牌数不足,只抽取当前可抽的牌,不进行洗牌,也不会扣除生命值。

示例 1:

  • 抽牌堆:3 张牌
  • 弃牌堆:10 张牌
  • 回合开始抽 5 张
  • 结果:抽到 3 张牌,停止抽牌,不洗牌,不扣血

二、卡牌效果抽牌

规则:使用卡牌效果抽牌时,若抽牌堆为空,每次尝试抽牌都会造成疲劳伤害,不洗牌,也抽不到任何卡牌。

示例 1:

  • 抽牌堆:0 张牌
  • 弃牌堆:10 张牌
  • 玩家使用"抽 2 张牌"效果
  • 第 1 次尝试:疲劳伤害 1 点
  • 第 2 次尝试:疲劳伤害 2 点
  • 总计:3 点伤害,抽到 0 张牌

示例 2:

  • 抽牌堆:0 张牌
  • 弃牌堆:10 张牌
  • 玩家使用"抽 5 张牌"效果
  • 总计:15 点伤害,抽到 0 张牌

三、疲劳伤害与格挡

规则:疲劳伤害属于普通伤害,可以被格挡值抵消。

示例:

  • 玩家拥有 6 点格挡
  • 抽牌堆:0 张牌
  • 使用"抽 3 张牌"效果
  • 第 1 次疲劳:1 点伤害 → 消耗 1 格挡,0 HP 伤害
  • 第 2 次疲劳:2 点伤害 → 消耗 2 格挡,0 HP 伤害
  • 第 3 次疲劳:3 点伤害 → 消耗剩余 3 格挡,0 HP 伤害
  • 总计:消耗 6 格挡,0 HP 伤害

四、两个牌堆都空(特殊情况)

规则:若抽牌堆和弃牌堆均为空,则停止抽牌,不造成任何疲劳伤害。

示例:

  • 抽牌堆:0 张牌
  • 弃牌堆:0 张牌
  • 使用"抽 3 张牌"效果
  • 结果:抽到 0 张牌,0 点伤害

五、回合结束洗牌

规则:回合结束时,检查每位玩家的牌堆。如果抽牌堆为空且弃牌堆有牌,则自动进行洗牌。

示例:

  • 玩家在回合中使用了大量抽牌卡
  • 回合结束时:抽牌堆 0 张,弃牌堆 15 张
  • 结果:自动洗牌,下一回合开始可正常抽牌

六、疲劳计数跨回合累积

规则:疲劳计数在整个战斗中累积,不会在回合结束时重置。

示例:

  • 第 1 回合:使用"抽 2 张牌",抽牌堆为空 → 疲劳 1 + 2 = 3 点伤害
  • 第 2 回合:使用"抽 1 张牌",抽牌堆为空 → 疲劳 3 点伤害(第 3 次疲劳)
  • 第 3 回合:战斗结束,疲劳计数重置

多人模式支持

每位玩家的疲劳计数独立计算。

调试模式

如需调试,可在源码中将 ENABLE_LOGGING 改为 true 并重新编译:

public const bool ENABLE_LOGGING = true;

日志文件将生成在游戏目录下的 STS2Fatigue.log

环境要求

  • 游戏版本:Slay the Spire 2 (v0.99.1)
  • 框架:HarmonyLib

开发信息

  • 语言:C# .NET 9.0
  • 游戏引擎:Godot 4.5.1 (.net version)
  • Mod 框架:HarmonyLib