Creating a new profession

Hey all,

How do I create a new profession? I want to make one called the “Corporate Clone- IT”

I was thinking about using the “Used Car Salesman” Profession as a template, but making the following changes:

Profession Skills: (Change)
Computer 1
Speaking 1

Profession items: (keep same as Used Car Salesman but add)
Trenchcoat
Messenger bag (I don’t know if there is a laptop bag)
Laptop

My Goal is to leave the “CC” as a base tier 0 professions. I would like to add cell phone and wristwatch, but I think that pushes the profession into the next tier by giving them too much equipment to start. I tried to compare all the tier 0 professions and balance the “CC” based on what was there.

I’ve done some searching on the topic, but the majority of the posts seem very old and I’m not sure how much has changed since the post was created. Does anyone have some words of wisdom or a link to a recent enough guide? Comments?

Adding new professions isn’t that hard and the rules are pretty simple to figure out, just look at the JSON descriptions of similar professions for a good example on what they should look like. Reading the part in JSON_INFO.md about professions also provides lots of information if you want to be sure how everything works.

Also, while it doesn’t cover adding new professions the guide by mlangsdorf is a good place to start if you aren’t already familiar with JSON but wan’t to get into modding (or adding content to the core game).

1 Like

Professions are not difficult, all of the lines are pretty self-explanatory.

Only thing I can think that you wouldn’t immediately be able to figure out is the flag of “SCEN_ONLY” , which makes that profession only available in specific scenarios. To make it available for a particular start, you’ll need to go to the scenarios.json and add the profession’s ident to the list of professions for whichever scenario you want it to be available to.

1 Like

If someone wants to expand the guide’s section on professions, I would be happy to add it to the wiki.

2 Likes

Thanks for the links. I’m looking into them now!

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

1 Like

Added, thanks!

Always keep in mind that the content you submit is almost always better than the theoretical content that someone else could submit but hasn’t.

2 Likes