The Jackbox Party Pack 5

The Jackbox Party Pack 5

View Stats:
Dpkmcateer May 16, 2020 @ 9:53pm
Mad Verse City Modding: Full line context
I played Mad Verse City from PP5 a whole bunch last weekend with friends and thoroughly enjoyed it. The only complaint we had is that sometimes the prompt for lines 1 & 3 just don't give you enough context of the upcoming line which can really put you on the back foot and make or break your 'verse'.

I tried searching online but didn't see very much in the way of information regarding modding the game to change things like that so I tried digging around the game files a bit and was surprised how easy it was to change and reconfigure. I'm sure a lot of people will have been able to work it out for themselves, but for anyone looking for a pointer in the right direction, I thought I'd post this to get you going.

File location - This will obviously depend a little on where you installed it but should be something similar to this: "C:\Program Files\Steam\SteamApps\common\The Jackbox Party Pack 5\games\RapBattle\content"

Files: RapBattleStandardPromptRound1.jet, RapBattleStandardPromptRound2.jet, RapBattleStandardPromptRound3.jet (Open with any text editor)

Background (skip if TLDR): The file format is essentially just JSON, which is great as you can convert it to an 'object' in Javascript if you need to manipulate the data on a large scale. If you haven't worked with Javascript or JSON before you can still makes updates to the files manally but in either case I strongly recommend putting the files through an online JSON formatter to make them easier to read.

Method: For this mod specifically, you want to use the current value of "text" and use it to overwrite the value of "type" (which normally contains thing like 'plural - noun' etc). From here, there's probably a few different ways to programatically loop through all the prompts and update each one. The method I used was to create a simple HTML file and include a textarea (to copy the full JSON string into) and a button (to hook up to a javascript event to handle the conversion). In the javascript event, here's how I handled the conversion:

  1. Get the value of the textarea
  2. 'clean' the strings that contain "<BLANK>" (i.e. change them to "&lt;BLANK&gt;" instead) to make the final result easier to output directly into the page HTML
  3. Convert the JSON string into a Javascript object (using JSON.parse)
  4. Loop through the object and update the "type" property of each prompt using the "text" value
  5. Convert the updated object back to a string and output it using document.write

Once you've done that, you should have a new JSON string you can just copy directly into the JET file, overwriting everything that was there previously. Do that for the 3 "RapBattleStandardPrompt" files and you're done!

You can also just source the already edited JET files from someone else who has done this. I don't know the most secure/safe way to provide them (potentially as TXT files), but would be happy to if anyone needs them.

Hope this helps some of you out there - feel free to post up any questions if you have them.

P.S. I'd recommend keeping a backup of all the original files, so that you can revert back at any point if need be.