C:\Program Files (x86)\Steam\steamapps\common\杀戮尖塔 2/Users/<UserName>/Library/Application Support/Steam/steamapps/common/Slay the Spire 2/SlayTheSpire2.app/Contents/MacOS/创建Mods文件夹C:\Program Files (x86)\Steam\steamapps\common\杀戮尖塔2\
└── mods\
└── 尿石\
**尿液之石.dll**
├── PissRock.pck
└── 尿石.json(PissRock文件夹为可选,dll、pck和json文件需解压至mods文件夹中的同一位置)```gdscript
使用 Godot;
```
using HarmonyLib;
using MegaCrit.Sts2.Core.Modding;
using MegaCrit.Sts2.Core.Nodes.Rooms;
using MegaCrit.Sts2.Core.Rooms;
命名空间 PissRock.PissRockCode;
[模组初始化器(nameof(Initialize))]
```
partial class 尿石主文件 : 节点
```
{
ModId = "PissRock"; //目前仅用于日志和Harmony名称。
public static MegaCrit.Sts2.Core.Logging.Logger Logger { get; } =
new(ModId, MegaCrit.Sts2.Core.Logging.LogType.Generic);
public static void Initialize()
{
和谐 和谐 = new(ModId);
harmony.PatchAll();
}
}
[HarmonyPatch(typeof(NCombatBackground), "SetLayers")]
static class NCombatBackgroundSetLayersHuePatch
{
const string ShaderCode = @"
着色器类型:画布项;
uniform float 色相偏移值 = -0.36944;
vec3 rgb2hsv(vec3 c) {
vec4 K = vec4(0.0, -1.0/3.0, 2.0/3.0, -1.0);
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
float d = q.x - min(q.w, q.y);
float e = 1.0e-10;
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}
vec3 hsv转rgb(vec3 颜色){vec4 K=vec4(1.0,2.0/3.0,1.0/3.0,3.0);vec3 p=abs(fract(颜色.xxx+K.xyz)*6.0-K.www);return 颜色.z*mix(K.xxx,clamp(p-K.xxx,0.0,1.0),颜色.y);}
void fragment(){
vec4 b = texture(TEXTURE, UV) * COLOR;
vec3 h = rgb2hsv(b.rgb);
h.x = fract(h.x + hue_shift);
COLOR = vec4(hsv2rgb(h), b.a);
}
const float 色调偏移量 = -133f / 360f; // Godot 色调值为 0–1,非角度值
static ShaderMaterial? _mat;
[Harmony后缀]
static void Postfix(NCombatBackground __instance, BackgroundAssets bg)
{
var path = bg.BackgroundScenePath?.ToLowerInvariant().Replace("_", "") ?? "";
if (!path.Contains("waterfallgiant")) return;
如果路径中不包含“瀑布巨人”,则返回。
_mat ??= new ShaderMaterial { Shader = new Shader { Code = ShaderCode } };
var layer = __instance.GetNodeOrNull("Layer_00");
如果(layer == null)则返回;
行走(层级);
}
static void Walk(Node node)
{
switch(节点)
{
case GpuParticles2D p:
p.Material = _mat;
break;
case Sprite2D s:
{
c = s.Modulate
var h = Mathf.PosMod(c.H + 色相偏移, 1f); // PosMod 处理负向偏移
s.Modulate = Color.FromHsv(h, c.S, c.V, c.A);
中断;
}
}
foreach (var child in node.GetChildren())
行走(子);
}
}

Mod设置工具
2026-03-13 16:32:20

快速重开(仅支持新存档)
2026-03-06 18:29:25

战斗数据统计面板
皮一下就很凡2026-03-09 10:26:42

皮皮倒带
皮一下就很凡2026-03-21 14:58:17
不用退游戏、不用等loading——战斗内倒带到任意回合,地图上回退到任意节点。

杀戮尖塔2加速模组——皮皮极速SpeedX
皮一下就很凡2026-03-16 11:05:38

《统领卡牌:动画重制版》
DoublePigeon2026-05-19 00:48:35
以可爱多彩的画风重制城主卡牌! 美术作品由Stable Diffusion与Nanobanana 2生成。

卡牌肖像 - 摄政王 by Hatk
BanishedKnightHatk2026-05-18 16:25:18
摄政王动漫风格立绘替换模组

商人小可爱
LinXce2026-05-22 06:22:17
以下内容已提供:女性化外观的商人与伪装商人。包含以下附加内容:手部替换、恶臭毒蚀效果、商人语音替换。