ExtraSyringeCustomization
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
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- 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.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- 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.
Install these first, or the mod will not work: