Altering core bionics in a mod file


#1

Somewhat related to my previous topic, to which I found the solution myself, I am wondering how to modify the power cost of existing bionics in a mod file, rather than altering the core bionics.json file. This time, neither google nor searching this forum has given me any helpful answers on that. Is it just straight-up not possible?

I am NOT trying to alter bionic effects, I know I would need the bionics.ccp in the source files for that; however, the power cost is still in a json file, and CAN be altered… I just don’t know how to alter it without changing the bionics.json file, which I am trying to avoid in favor of an external mod.


#2

From the sounds of it, the “copy-from” line is exactly whatcha lookin’ for. To give you an example, and so you can see if it is whatcha need I’ll change the Adrenaline Pump CBM power cost as an example using the “copy-from” method.

So we create a new mod, and in the mod have a .json file with this entry “taken from bionics.json” ;

[
{
“id”: “bio_adrenaline”,
“type”: “bionic”,
“name”: “Adrenaline Pump”,
“description”: “A stimulator system has been surgically implanted alongside your adrenal glands, allowing you to trigger your body’s adrenaline response at the cost of some bionic power.”,
“occupied_bodyparts”: [ [ “TORSO”, 6 ] ],
“act_cost”: 50
}
]

We then add a “copy-from” line that tells the .json to copy all properties of a given id, in this case the item we’re modifying, and also remove all fields except “id”, “type”, and “name” since they are required to remain as well as “act_cost” as we’re going to change that to 40.

[
{
“id”: “bio_adrenaline”,
“type”: “bionic”,
“name”: “Adrenaline Pump”,
“copy-from”: “bio_adrenaline”,
“act_cost”: 40
}
]

The result of this .json entry is that the Bio Adrenaline Pump will now take 40 power to activate. While the new mod entry lacks “description” and “occupied_bodyparts” this is no issue since “copy-from” has looked at an already existing “bio_adrenaline” and ‘copied over’ all fields not rewritten by the mod entry.