Modding scripted missions
(this guide underway by davea Feb 24, 2020) (davea says: this topic is kind of important but I stalled on writing the guide. If you are getting stuck on this, please ping me on discord and I'll try again on this guide.)
This page walks through the process of creating a mission which has a specific script. Usually (but not always) this mission will be one encounter in a fixed quest chain or full campaign. The focus is on getting something simple which you can see in the game, and adding more details later. This guide assumes you have completed some of the earlier guides and does not define all the clicks for each step. The description and screenshots are current as of February 2020, early access version 0.15+114 Lylcon Stormpuck.
This guide is based on description of an existing scripted mission, where you obtain the water spear to use against Ulstryx. This is the "capstone" or final mission, of chapter 2. The description will be easier to follow if you have played this recently. The mission has the following steps.
- At the start of the mission, open the (south) door.
- The monster card for the mini-boss, Calabyne, appears, and he spawns in the main room.
- When you kill the mini-boss, the water spear is given to the party, and the (west) door is opened.
- Escape down the west hallway.
High level concept
A scripted mission has two parts: a fixed map ("site") and a sequence of steps ("plot"). The game goes through the steps, as the party triggers objectives such as "stand in a certain part of the map" or "kill a particular monster". Most scripted missions are also available in the menu under the "new battle" button; this allows the developer or modder to test the mission standalone without having to reach that spot in the campaign. (See below under "testing the mission in-game", the "new battle" button will not allow testing the full mission under some common circumstances.) So, to understand the seacave mission, we will have to look into the site and plot files.
The following three files are important for this event. The files are under the folder wildermyth/mods/builtin/villain_ulstryx/assets/data
- Plot: file plots/M_ulstryx_2_1_seacave.json; in editor: plots tab, M_ulstryx_2_1_seacave
- Site: file sites/ulstryx/2_1_seacave.json; not visible in editor
- Scenario (optional): file scenario/mission/ulstryx_2_1_seacave.json; in editor: scenarios tab, ulstryx_2_1_seacave; in battle menu, it is called "Seacave".