Extended override system to include spider webs. They can now be altered to be on the ground and require jumping, the name and the sponned monster can be changed as well. Fixed various bugs.
This commit is contained in:
@@ -279,11 +279,76 @@ The `maximum_skulls` setting controls how many skulls can be falling simultaneou
|
||||
{
|
||||
"type": "spider_web",
|
||||
"x": 15,
|
||||
"y": 0
|
||||
"y": 3,
|
||||
"sound_overrides": {
|
||||
"base": "floating_trap",
|
||||
"hit_sound": "trap_trigger",
|
||||
"spawn_enemy": "elf"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Slows player movement and attack speed temporarily when walked over. Automatically spawns a spider enemy at the web location.
|
||||
**Spider Web Mechanics:**
|
||||
Spider webs create interactive traps that can slow player movement and attack speed temporarily when triggered. They automatically spawn an enemy at the web location. When triggered, the player bounces back 3 tiles and may receive a 15-second penalty (half movement speed, double attack time) depending on the slowdown setting.
|
||||
|
||||
**Y-Position Based Behavior:**
|
||||
- **`"y": 0` (Ground Level)** - Ground trap that triggers when walking/running. **Avoid by jumping over it.**
|
||||
- **`"y": > 0` (Air Level)** - Air trap that triggers when walking or jumping. **Avoid by ducking under it.**
|
||||
|
||||
**Sound Override Properties:**
|
||||
- `"base"`: Override the ambient web sound (e.g., "floating_trap", "bear_trap")
|
||||
- `"hit_sound"`: Override the trigger sound (e.g., "trap_trigger", "snap")
|
||||
- `"spawn_enemy"`: Override spawned enemy type ("spider", "elf", "witch")
|
||||
- `"enemy_stats"`: Override spawned enemy stats (health, damage, speed_multiplier, attack_range)
|
||||
- `"slowdown"`: Override slowdown effect (true/false, defaults to true)
|
||||
|
||||
**Level Design Guidelines:**
|
||||
- **For traditional spider webs, always use `"y": > 0`** (air placement) unless you're specifically creating a themed ground trap
|
||||
- **Ground webs** (`"y": 0`) work well for: bear traps, tripwires, pressure plates, snowdrifts, present piles
|
||||
- **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)
|
||||
|
||||
**Example Themed Variations:**
|
||||
```json
|
||||
// Christmas snowdrift (ground trap - jump to avoid)
|
||||
{
|
||||
"type": "spider_web",
|
||||
"x": 50,
|
||||
"y": 0,
|
||||
"sound_overrides": {
|
||||
"base": "snow_drift",
|
||||
"hit_sound": "snow_drift_hit",
|
||||
"spawn_enemy": "abominable_snowman",
|
||||
"enemy_stats": {
|
||||
"health": 12,
|
||||
"damage": 3,
|
||||
"speed_multiplier": 0.8,
|
||||
"attack_range": 1
|
||||
},
|
||||
"slowdown": false
|
||||
}
|
||||
}
|
||||
|
||||
// Floating snow cloud (air trap - duck to avoid)
|
||||
{
|
||||
"type": "spider_web",
|
||||
"x": 75,
|
||||
"y": 4,
|
||||
"sound_overrides": {
|
||||
"base": "floating_snow_cloud",
|
||||
"hit_sound": "cloud_burst",
|
||||
"spawn_enemy": "witch",
|
||||
"slowdown": true
|
||||
}
|
||||
}
|
||||
|
||||
// Traditional spider web (default behavior)
|
||||
{
|
||||
"type": "spider_web",
|
||||
"x": 100,
|
||||
"y": 2
|
||||
}
|
||||
```
|
||||
|
||||
#### Grasping Hands
|
||||
```json
|
||||
@@ -315,17 +380,26 @@ While not directly supported, you can create the illusion of coffins that releas
|
||||
{
|
||||
"type": "spider_web",
|
||||
"x": 25,
|
||||
"y": 3
|
||||
"y": 3,
|
||||
"sound_overrides": {
|
||||
"base": "coffin",
|
||||
"hit_sound": "coffin_shatter",
|
||||
"spawn_enemy": "elf"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Setup in your level pack's sound directory:**
|
||||
**Modern Approach (Recommended):**
|
||||
Use sound overrides directly in your JSON for cleaner, more maintainable theming. The above creates a "coffin" that shatters and spawns an enemy when touched.
|
||||
|
||||
**Legacy Approach:**
|
||||
You can still replace sounds in your level pack's sound directory:
|
||||
- Replace `spiderweb.ogg` with `coffin.ogg` (ambient coffin sound)
|
||||
- Replace `hit_spiderweb.ogg` with `coffin_shatter.ogg` (break sound)
|
||||
- Replace `spider.ogg` with `mummy.ogg` (spawned enemy sound)
|
||||
- Replace `spider_dies.ogg` with `mummy_dies.ogg` (death sound)
|
||||
|
||||
**Result:** Players hear a coffin, when they touch it they hear it shatter, get slowed down (representing the enemy emerging), and a "mummy" automatically spawns from the coffin. The enemy is internally still a spider but sounds and feels like a mummy emerging from a sarcophagus. The slow down for the player can be because the skeleton is tangled in the mummy wrappings, or perhapse he's tangled in the shattered wood. It also does not float, so players would quickly learn to be war, maybe this coffin is one to just be passed under (low hanging).
|
||||
**Result:** Players hear a coffin, when they touch it they hear it shatter, get slowed down (representing the enemy emerging), and a "mummy" automatically spawns from the coffin. Since this uses `"y": 3` (air level), players must duck to avoid triggering it - creating the "low hanging coffin" effect you described.
|
||||
|
||||
### Complex Enemy Combinations
|
||||
- **Spawner + Vulnerability:** Create a tough ghost that spawns minions while alternating between vulnerable states
|
||||
|
Reference in New Issue
Block a user