I’ll give it a try but keep in mind that I’m no expert at making new professions nor am I very good at writing comprehensive in-depth guides, so I’ll let you judge if it is worth adding it to the
official wiki or not.
Creating new professions is not that difficult. Professions should be located at data/json/professions.json
{
"type": "profession",
"ident": "skaterkid",
"name": { "male": "Skater Boy", "female": "Skater Girl" },
"description": "You love to skate! At least now the grown-ups aren't telling you where you can't roll.",
"points": 1,
"skills": [ { "level": 1, "name": "dodge" } ],
"traits": [ "PROF_SKATER" ],
"items": {
"both": [
"tshirt",
"hoodie",
"jeans",
"socks",
"elbow_pads",
"knee_pads",
"gloves_fingerless",
"helmet_skid",
"roller_blades",
"sports_drink"
],
"male": [ "briefs" ],
"female": [ "boy_shorts" ]
}
},
Things to remember:
-
"type"
must be set to "profession"
as we intend to make a new profession.
-
"ident"
is the id of the profession. Must be a single word, use underscores if necessary.
-
"name"
defines the name of the profession. Accepts either a single gender neutral noun or, as in the example above, an object with the keys "male"
and "female"
for different names determined by the player’s gender.
-
"desciption"
is the ingame description of the profession. Try not to make it unnecessarily long or else all of the text might not fit in the description window.
-
"points"
determine the amount of points a profession costs at player gen. Positive values take points and negative values give points.
-
"skills"
determine the skills the player starts with. Must use the id of the skills, not the ingame name of skills located at data/json/skills.json
-
"traits"
is an optional field and forces the profession to start with certain traits or mutations. The id for traits and mutations can be found at data/json/mutations.json
-
"addiction"
is another optional field that makes the player start addicted. Should look like this: "addictions": [ { "intensity": 30, "type": "amphetamine" } ]
where "intensity"
is the intensity of the addiction and "type"
is the type of addiction.
-
"items"
is the list of items the profession starts with. The player will start with items in the "both"
category no matter what gender they choose, while items in the "male"
and "female"
category are only added to the list of the player plays as the respective gender.
Lets go into some more detail on special cases of adding items:
"entries": [
{ "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] },
{ "item": "usp_45", "ammo-item": "45_acp", "charges": 12, "container-item": "holster" },
{ "item": "45_acp", "charges": 18 }
]
-
"entries"
lets us define special cases for items we start with. By default the player starts with all clothes equipped. In the above example we use custom-flags
to add the [ "no_auto_equip" ]
flag to our earplugs so that wen the player spawns in the game they will have their earplugs in their pocket instead of in their ears.
-
{ "item": "usp_45", "ammo-item": "45_acp", "charges": 12, "container-item": "holster" },
means that we start with a USP .45 in a holster loaded with 12 rounds of .45 ACP FMJ. We could simply add “usp_45” to the list of "items"
but that would spawn an empty USP .45 in our inventory.
-
And lastly, { "item": "45_acp", "charges": 18 }
means that we start with 18 rounds of .45 ACP FMJ in our inventory.
The last thing worth noting is that if you want a profession to be only available for certain scenarios you must add "flags": [ "SCEN_ONLY" ]
to it. This disables it from being available outside of specific scenarios. To enable the profession for specific scenarios you must add its id to the list of professions enabled in the respective scenarios at data/json/scenarios/scenarios.json