UltraShock
OpenShock/PiShock support for ULTRAKILL:3
About this mod Author’s original text
UltraShock
An ULTRAKILL mod to add support for OpenShock and PiShock shock collars.
Partially adapted from PeakShock.
[!CAUTION]
Please
read up on
safety.
This software is very much provided "as is", and I can't take
responsibility for what you do with it.
Manual Install
This mod depends on BepInEx 5, so please install that first.
You can either use
BepInExPack
or directly get
BepInEx.
Next, download and extract this mod's zip, and copy the plugins
directory into the BepInEx directory within the ULTRAKILL install.
After installation your ULTRAKILL directory should look, among other
files, like this:
/path/to.local/share/Steam/steamapps/common/ULTRAKILL
├── BepInEx
│ ├── config
│ │ ├── BepInEx.cfg
│ ├── core
│ └── plugins
│ └── jakobbbb.UltraShock.dll
├── doorstop_config.ini
├── ULTRAKILL.exe
└── winhttp.dll
Note: On Linux you may have to enter the following in ULTRAKILL's
launch options:
WINEDLLOVERRIDES="winhttp=n,b" %command%
Configure
Before you can configure UltraShock, you'll have to start and then close
the game.
This should create a file called jakobbbb.UltraShock.cfg within the
BepInEx/config directory. Open it in your favorite text editor.
First, find the line containing Provider and adapt it, depending on
whether you use OpenShock or PiShock.
You can also set a ShockCooldownSeconds value here, as well as
ShockScale from 0-100 here. If the scale is, for example, 50, and you
receive 40 damage, you'll get a shock with an intensity of 20 (50% of
40).
Then, set the three options for your chosen provider.
For OpenShock, these are below the [OpenShock] section heading.
- Create an API token here and
paste it, without quotes, in the ApiKey line.
- Go to the list of shockers
and click "Edit" on the device you want to use. Copy its ID into
the DeviceId line.
- Unless you know that you need to change it, you can keep ApiUrl as
it is.
The final config will look something like this:
[OpenShock]
ApiKey = P0ywQl5Y2uOKHbgKrc7LpGvHgZvZtZ2W4UFZdxPMqZncXU8OWmswapCRupuFOFA0
DeviceId = bd4bae3e-155a-42cc-853f-9d404d670d3e
ApiUrl =
For PiShock, set APIKey, UserName and ShareCode in a similar
way.
Development (Linux)
First, you'll have to install the.NET SDK, e.g.
sudo pacman -S dotnet-sdk # Arch
sudo snap install --classic dotnet-sdk # Ubuntu
Then, you should be able to simply run make to build the mod and
make install to build and install it!
If you have installed ULTRAKILL in a non-default path, you'll have to
set the environment variable UK_DIR, e.g. like this:
UK_DIR=/mnt/storage/Steam/steamapps/common/ULTRAKILL make install
To build a.zip for distribution, run make package.
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: