Updated documentation for custom levels.

This commit is contained in:
Storm Dragon
2025-09-21 19:54:25 -04:00
parent 948d0c32f7
commit 477fb747b1

View File

@@ -1,6 +1,6 @@
# Creating Custom Levels for Wicked Quest # Creating Custom Levels for Wicked Quest
Want to add your own levels? It's simple! Every level is a JSON file, and you can create as many as you want. Want to add your own levels? It's simple! Every level is a JSON file, and you can create as many as you want up to 998. Level 999 is reserved for survival mode.
## Getting Started ## Getting Started
@@ -9,7 +9,7 @@ Want to add your own levels? It's simple! Every level is a JSON file, and you ca
levels/My Cool Levels/ levels/My Cool Levels/
``` ```
2. Start with `1.json` in your new directory. Each level after that is numbered in order: `2.json`, `3.json`, etc. 2. Start with `1.json` in your new directory. Each level after that is numbered in order: `2.json`, `3.json`, etc. You can also add instructions.txt and credits.txt to the level pack. These items will be shown in the menu for the level pack, e.g. Story Mode, Survival Mode, Instructions, Credits.
## Basic Level Structure ## Basic Level Structure
@@ -133,6 +133,8 @@ The `static` property means objects don't move - they stay in their fixed positi
- `"guts"` - Increases max health or restores health if at max - `"guts"` - Increases max health or restores health if at max
- `"cauldron"` - Special item - `"cauldron"` - Special item
- `"witch_broom"` - Weapon upgrade - `"witch_broom"` - Weapon upgrade
- `"shin_bone"` - Currency for extra lives (100 needed)
- `"guts"` - Health upgrade/restoration
- `"random"` - Randomly selects from eligible items (default if not specified) - `"random"` - Randomly selects from eligible items (default if not specified)
**Coffin Behavior:** When broken with any weapon, coffins drop their specified item 1-2 tiles away in a random direction. The item bounces and can be collected by walking over it. **Coffin Behavior:** When broken with any weapon, coffins drop their specified item 1-2 tiles away in a random direction. The item bounces and can be collected by walking over it.
@@ -151,8 +153,6 @@ The `static` property means objects don't move - they stay in their fixed positi
``` ```
**Grave items available:** **Grave items available:**
- `"shin_bone"` - Currency for extra lives (100 needed)
- `"guts"` - Health upgrade/restoration
- Any item available for coffins - Any item available for coffins
**Grave behaviors:** **Grave behaviors:**
@@ -308,7 +308,7 @@ Spider webs create interactive traps that can slow player movement and attack sp
- **Air webs** (`"y": > 0`) work well for: hanging webs, floating pods, magical traps, dangling ornaments - **Air webs** (`"y": > 0`) work well for: hanging webs, floating pods, magical traps, dangling ornaments
- **Slowdown considerations**: Use `"slowdown": false` for traps where the slowdown effect doesn't make thematic sense (stepping on a snowdrift shouldn't entangle you like a web would) - **Slowdown considerations**: Use `"slowdown": false` for traps where the slowdown effect doesn't make thematic sense (stepping on a snowdrift shouldn't entangle you like a web would)
**Example Themed Variations:** **Example Themed Variations:** note that in true json you cannot use comments like the // lines here for explanations.
```json ```json
// Christmas snowdrift (ground trap - jump to avoid) // Christmas snowdrift (ground trap - jump to avoid)
{ {
@@ -505,8 +505,8 @@ Weapon overrides set in **level 1** automatically persist throughout the entire
"level_id": 1, "level_id": 1,
"weapon_sound_overrides": { "weapon_sound_overrides": {
"rusty_shovel": { "name": "rusty snow shovel" }, "rusty_shovel": { "name": "rusty snow shovel" },
"witch_broom": { "name": "decorated witch's broom" }, "witch_broom": { "name": "snow broom" },
"nunchucks": { "name": "candy cane nunchucks" } "nunchucks": { "name": "ice sickles" }
} }
} }