额外槽位-热切换

额外槽位-热切换

为额外槽位模组提供的扩展,允许保存装备配置

Extra Slots HotSwap



一个适用于 Valheim 的 BepInEx 插件,在 shudnal 的
[Extra Slots](https://github.com/shudnal/ExtraSlots) 之上添加可切换的装备配置。

Extra Slots 装备面板下方会出现一排按钮。每个带编号的按钮对应一个
配置:即位于 Extra Slots 面板中的护甲、工具物品、弹药、食物和快捷栏物品。
切换时可通过一次点击或按键将整个面板替换为另一组。

**早期测试版本。** 它基于 Extra Slots 1.2.12 开发,仅进行过少量
游戏内测试。使用前请备份你的角色。

## 需求

- Valheim 及 [BepInEx](https://thunderstore.io/c/valheim/p/denikson/BepInExPack_Valheim/) 5.4
- [Extra Slots](https://github.com/shudnal/ExtraSlots)
- 可选:用于在游戏内更改设置的配置管理器模组

## 安装

将 `ExtraSlotsHotSwap.dll` 放入 `BepInEx\plugins\ExtraSlotsHotSwap`,或使用
Vortex 等模组管理器安装该 zip。

## 使用

| 操作 | 结果 | | --- | --- | | 点击带编号的按钮 | 切换到该配置 | | 点击 `+` | 添加一个空配置并切换到它 | | 点击 `-` | 移除当前配置,其物品返回背包 | | 右键点击带编号的按钮 | 移除该配置,其物品返回背包 | | Alt + 鼠标左键 | 上一个配置 | | Alt + 鼠标右键 | 下一个配置 |

- 未激活配置中的装备会保留在角色身上,并计入负重。
- 移除配置需要足够的空背包格子来容纳其物品。
- 热键在大世界和背包界面中均可使用。按住 Alt 时,攻击和格挡
会被忽略,因此切换不会挥动武器。
- 手中的武器只有在快捷栏中时才算作配置的一部分。

## 设置

设置位于 `BepInEx\config\berv.ExtraSlotsHotSwap.cfg`。

| 分区 | 设置 | 默认值 | 作用 | | --- | --- | --- | --- | | General | Max loadouts | 8 | `+` 按钮最多可创建的配置数量(1 到 12) | | General | Show switch message | 开启 | 切换配置时显示消息 | | General | Drop all loadouts on死亡 | 关闭 | 关闭:只有当前配置进入墓碑。开启:其他配置也会掉落,在同一位置的额外墓碑中 | | General | Share ammo between loadouts | 关闭 | 切换时弹药栏保持不变 | | General | Share food between loadouts | 关闭 | 切换时食物栏保持不变 | | General | Share quick slots between loadouts | 关闭 | 切换时快捷栏保持不变 | | Hotkeys | Previous loadout | Alt + 鼠标左键 | | | Hotkeys | Next loadout | Alt + 鼠标右键 | | | Hotkeys | 按住修饰键时抑制攻击和格挡 | 开启 | | | Hotkeys | 在背包中切换配置 | 开启 | 热键在背包打开时也可用 | | Panel | Loadout bar offset | 0, 10 | 按钮行相对于面板的位置 | | Panel | Button size | 36 | |

## 注意事项

- 配置保存在角色文件内。卸载插件前请清空你的额外配置。
- 开启 `Drop all loadouts on death` 时,找回的物品会返回背包,而不是返回
其配置。
- 尚不支持游戏手柄,按钮上也没有提示框。

## 构建

构建在 .NET SDK Docker 容器中运行,因此机器上无需安装 SDK。它会
引用你的 Valheim 安装中的游戏程序集、BepInEx 和 `ExtraSlots.dll`。

```powershell
.\build.ps1 # 构建到 .\dist
.\build.ps1 -Install # 同时将 dll 复制到 BepInEx\plugins\ExtraSlotsHotSwap
.\build.ps1 -GameDir "D:\Valheim" # 如果游戏不在默认 Steam 文件夹中
```