Skip to content

Creating new bounties

Bryn Stringer edited this page May 9, 2020 · 10 revisions

Bounties are added to Undaunted via a json config file.

To add a new bounty you need to create a new entry/file in the right structure.

First, to help testing goto the \Data\Undaunted\Groups folder and move all the json files into the disabled folder. This will prevent these bounties from spawning allowing easier testing of your new bounty.

Next move the 01_Undaunted_test.json file from \Data\Undaunted\Groups\disabled folder to the \Data\Undaunted\Groups. This will be where we add our new bounty.

Bounties are nested json arrays, it is suggested to use an application that understands json to edit the files. I personally use Visual Studio Code https://code.visualstudio.com/

Example Bounty:

[   
   [   
      ["Disable a Dwemer Power Conduit","Skyrim.esm",0,0],   
      ["LCharDwarvenAutomaton","Skyrim.esm",124803,"Enemy"], 
      ["1_Undaunted_DestructObjectiveMagic_01","Undaunted.esp",80946,
       "Scripted","DLC02/Dungeons/Dwemer/Rubble/DLC2DweRubbleColumn01.nif"]    
   ]   
]   

The first line in any Undaunted bounty is the header record. If contains the Quest text that should be displayed, the mod that must be loaded for the bounty to work, the minimum level that the player must be to see the bounty and the maximum level the bounty can spawn at. Generally if you are used level list enemies you'll want to leave the level requirements at 0,0.

The second line represents an enemy to spawn when the player gets close enough to the bounty.

  1. First is a comment section, it's not actually used by the system but is useful for keeping track of what we are spawning. I generally use the EditorID here.
  2. Next is the mod file the form is defined in. If the mod is not found at runtime the enemy will not spawn.
  3. The next section is the FormID without the mod offset. Skyrim uses an Hexadecimal ID system which is split into two parts. eg: 04013C32. The first two numbers are the mod offset, the mods position in the load order. As everyone's load order is different we can't use the first two digits. We used the mod name to find the mod's load order so we can get the reference. So using the 04013C32 example to get the value we need for the bounty we take off the first two characters to give us 013C32, next we need to convert it from a hexadecimal value to a decimal. https://www.rapidtables.com/convert/number/hex-to-decimal.html or https://marketplace.visualstudio.com/items?itemName=AllenChen.hex-decimal-magic or something similar works for this. This gives us the value of 80946 which we can use for the formid.
  4. The fourth section is the Bounty Type, this controls how the objective is spawned and how to know if it is complete. More information on this can be found in the https://github.com/kaosnyrb/Undaunted/wiki/Spawn-Types page
  5. The fifth section is the model override. This can be used for some of the bounty types to change which model is used for the objective. The path is from the meshes folder and requires forward slashes.
Clone this wiki locally