The BepInEx console will not appear when launching like it does for other games on Thunderstore (you can turn it back on in your BepInEx.cfg file). If your PEAK crashes on startup, add -dx12 to your launch parameters.

HazardChaos
Spawns Dynamite, Tornado, and Tumbleweed dynamically near players, optionally hands Tornado control to the game’s AI, and shows per-type spawn timers.
CHANGELOG
0.1.12
In-game settings window
Press F11 to open the HazardChaos Settings anywhere (title/airport/levels). Independent from the overlay (F9).
Edit config live (sliders/toggles/dropdowns). Click Save to write to the .cfg.
Grouped sections for quick navigation: Intervals, TTL, Spawning & Caps, Tornado, Overlay, Version, Multiplayer, Debug.
UI/UX
Screen dimmer behind the settings window for readability on bright scenes. Configurable via Overlay.SettingsDimAlpha (0–1, default 0.55).
Behavior changes
None to gameplay/spawn logic in this release. Pure QoL for configuration.
Internal / maintenance
Codebase split into multiple files (partials) for readability: Anchors.cs, Spawning.cs, UI.cs, ModTornadoMover.cs (single [BepInPlugin] attribute kept in core)
0.1.11
Optional multi-spawn for Tornados
Tornado.MoreTornados (default: false): when ON, Tornados can spawn in bursts (spread respected, caps still apply).
Tornado.BurstTornado (default: 1, range 1–5): how many Tornados per tick when multi-spawn is enabled.
Config structure — clearer sections & renamed keys
Sections now grouped as: Intervals, Spawning, TTL, Tornado, Overlay, Version, Multiplayer, Debug.
Renamed keys:
TTL.DynamiteDespawn (was TTL.DynamiteTTL)
TTL.TornadoDespawn (was TTL.TornadoTTL)
TTL.TumbleweedDespawn (was TTL.TumbleweedTTL)
Tornado.UseVanillaWhenAvailable (was Tornado.UseVanillaAIWhenAvailable)
UI moved/split:
Overlay.SpawnTimerUI & Overlay.HotkeyOverlay (were UI.SpawnTimerUI & UI.ToggleKey)
Version.WatermarkEnabled, Version.HotkeyVersion, Version.Corner, Version.FontSize, Version.Alpha, Version.Margin (were under UI.Version.*)
Note: Legacy entries remain in the .cfg but are ignored; no migration required.
Default values updated
Intervals: Intervals.IntervalDynamiteSec 15s, Intervals.IntervalTornadoSec 90s, Intervals.IntervalTumbleweedSec 12s.
Bursts & spread: Spawning.BurstDynamite 2, Spawning.BurstTumbleweed 3, Spawning.BurstSpreadSeconds 3.0s.
TTLs: TTL.DynamiteDespawn 10s (was 20), TTL.TornadoDespawn 20s (was 15), TTL.TumbleweedDespawn 10s.
UI defaults: Overlay.SpawnTimerUI false (off by default), Version.WatermarkEnabled false; watermark corner now TopRight, font size 13.
Multiplayer default: Multiplayer.AnchorMode now RandomPlayer (was NearestToHostCamera).
Housekeeping
Old “Weights” entries are no longer used (commented out in code).
Notes
Multi-spawn still respects Spawning.MaxTornado and Spawning.MaxSimultaneousGlobal.
To actually see multiple Tornados, increase those caps accordingly
0.1.10
Reliable Tornado movement in all areas
Drive-the-parent fix: the mod now moves the Tornado’s targetParent (Mod_TornadoTargetParent) and reparents the Tornado under it. This avoids vanilla scripts snapping the Tornado back when no TornadoSpawner is present. Fixes the “spawns and stands still” issue outside MESA.
Last-word movement: fallback mover runs in LateUpdate() with DefaultExecutionOrder(10000), ensuring its final transform wins even if other scripts adjust earlier in the frame.
Soft-disable vanilla movers on fallback: TryDisableVanillaMovement() best-effort disables NavMeshAgent / CharacterController, sets Rigidbody kinematic/no-gravity, and turns off common Tornado mover scripts to prevent position resets.
Grounding & glide: continuous ground projection plus a tiny side-step when blocked (spherecast) for smoother drift instead of jitter or sticking.
Networking robustness: ownership hand-off to host when needed and auto-add of PhotonTransformViewClassic if missing to keep movement synced.
Config / Compatibility
No new config keys. Existing options continue to work (Tornado.UseVanillaAIWhenAvailable, Tornado.ForceModMover, Tornado.MoveSpeed, Tornado.RetargetSeconds).
Logging
Clearer logs when the fallback mover is used and which transform is being driven
0.1.9
Tornado AI hand-off: If the vanilla TornadoSpawner + RPCA_InitTornado path is available, the mod now prefers the game’s built-in AI. Only falls back to the mod’s mover when needed.
Burst spawns (configurable): You can now spawn multiple objects per tick for specific types.
New config keys:
Spawning.BurstCountDynamite (default: 1)
Spawning.BurstCountTumbleweed (default: 1)
Version watermark improvements: Small version label can be shown on the title/start screens and in-game. Position, size, margin, and background alpha are configurable. Toggle with F10.
UI.Version.WatermarkEnabled (bool), Corner (TopLeft|TopRight|BottomLeft|BottomRight), FontSize (int), Margin (int), Alpha (0–1).
0.1.8
Level start grace period: Optional protection window before hazards begin (default: 60s).
Spawning.GracePeriodSeconds (float). Timers start counting after the grace period ends.
UI polish: Watermark added (see 0.1.9 for the full set of options).
Quality: Minor stability/perf tweaks around scene transitions.
0.1.7
Independent per-type scheduling: Each hazard has its own spawn interval and cap:
Intervals (defaults):
Dynamite: 12.5s (Intervals.IntervalDynamiteSec)
Tornado: 40s (Intervals.IntervalTornadoSec)
Tumbleweed: 15s (Intervals.IntervalTumbleweedSec)
TTLs (defaults):
Dynamite: 20s, Tornado: 15s, Tumbleweed: **10s(underTTL.*`)
Caps: global + per-type (Spawning.MaxSimultaneousGlobal, MaxDynamite, MaxTornado, MaxTumbleweed)
Multiplayer aware:
Anchor selection modes: HostOnly, RandomPlayer, RoundRobin, NearestToHostCamera (Multiplayer.AnchorMode).
Dynamic scaling: Multiplayer.PerPlayerExtraSlots adds extra concurrent slots per additional player.
Positioning rules: Forward-cone sampling, ground raycast, collision checks; optional Line of Sight (Spawning.RequireLineOfSight).
Tornado movement: Speed and retarget cadence configurable (Tornado.MoveSpeed, Tornado.RetargetSeconds), with a robust fallback if vanilla spawner isn’t present.
UI: Compact overlay with three independent timers (one per hazard), live counters, status. Toggle with F9.
Hotkeys (host only): F6 Tornado, F7 Dynamite, F8 Tumbleweed.
0.1.3
Scene gating: Spawning only in Level_* scenes. (Airport/Title/Pretitle are excluded.)
Overlay UI: Spawn timer, status, and live count.
Stronger player tracking: Camera/Character only from the active scene.
Smarter spawn placement: Forward cone, ground raycast, LoS, collision checks.
Tornado movement: Speed/retarget configurable; fallback path without TornadoSpawner.
0.1.2
Fixes & logging: Better diagnostics and safer instantiation paths.
0.1.1
Initial release