ExtraSyringeCustomization

v0.3.11·Updated 2025-12-27

Allows for Rundown Developers to add new syringes. Should now support syringes with multiple uses.

About this mod Author’s original text

NOTICE: THIS IS AN ALPHA RELEASE. EXPECT BUGS AND CHANGES

A tool for creating custom syringes, and applying custom effects.

Example Config:

{

"Syringes": [

{

"SyringeID": 140,

"Properties": {

"MovementMultiplier": {

"Delay": {

"HasDelay": true,

"Min": 2.5,

"Max": 2.5

},

"Time": {

"Min": 10,

"Max": 10

},

"Min": 1.5,

"Max": 2,

"Enabled": true

},

"SelfDestruct": {

"DelayTime": {

"HasDelay": true,

"Min": 15,

"Max": 15

},

"Damage": 10000000,

"Radius": 12,

"Enabled": true

}

}

},

{

"SyringeID": 142,

"Properties": {

"MovementMultiplier": {

"Delay": {

"HasDelay": true,

"Min": 2.5,

"Max": 2.5

},

"Time": {

"Min": 10,

"Max": 10

},

"Min": 1.5,

"Max": 2,

"Enabled": true

},

"SelfDestruct": {

"DelayTime": {

"HasDelay": true,

"Min": 15,

"Max": 15

},

"Damage": 10000000,

"Radius": 12,

"Enabled": true

}

}

}

]

}

For Rundown Developers

On first run, two files will be autogenerated in /Custom/ExtraSyringeCustomization:

  • GENERATED_example-syringes.json
  • GENERATED_syringe-properties.json

You can delete any of these files to regenerate them.

Both of these will contain examples on how to set up custom syringes.

To create a custom syringe, first create an associated entry in ItemDataBlock.

Then paste the persistentID in the SyringeID field in a new syringe entry.

And then apply your associated affects.

For Plugin Developers

APIs have been exposed for adding your own syringe properties/effects and adding syringes.

All Syringe Properties extend SyringePropertyBase.

An implementation example:

public class SyringeHealEffectProperty: SyringePropertyBase

{

[JsonIgnore]

public override string Name => "Heal";

public override void Apply(PlayerAgent player, SyringeFirstPerson syringe, Random random)

{

// heal to 100%

PlayerBackpackManager.PickupHealthRel(1f, player);

}

}

Then, to register this property, use ExtraSyringeHandler:

ExtraSyringeHandler.AddProperty();

Be sure to do this before GameDataInit.Initialize is called, as that's when the custom syringe file is ready.

Now you can include it in your json:

{

"Syringes": [

{

"SyringeID": 140,

"Properties": {

// Must match Name specified in the property,

// in this case, "Heal"

"Heal": {

"Enabled": true

}

}

}

]

}

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_GTFODinorush-ModifierAPI

File & checksum

Filename
ExtraSyringeCustomization-0.3.11.zip
File size
67.7 KiB