Random events: earthquakes, overflowing rivers, new gold veins (free games and versus, can be switched off)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-05 23:58:28 +01:00
1 parent 5239e4b5a3
commit c6d82027dd
26 files changed
+313 -10

No files matched your search

+4
View File
@@ -604,6 +604,8 @@ pub struct Game {
#[serde(default)]
pub bridgework: crate::bridges::BridgeWork, // burning and worn bridges
#[serde(default)]
pub happenings: Option<crate::events::Events>, // random events (free games and versus), see events.rs
#[serde(default)]
pub stats: crate::stats::GameStats, // statistics of the master at this computer (see stats.rs)
#[serde(default)]
pub wall_plans: Vec<(usize, u8)>, // walls to raise: tile, master side (see walls.rs)
@@ -943,6 +945,7 @@ impl Game {
vrng: crate::particles::vrng(),
dwarf_caves: Vec::new(),
bridgework: Default::default(),
happenings: None,
stats: Default::default(),
wall_plans: Vec::new(),
wood: crate::wood::WOOD_START,
@@ -1715,6 +1718,7 @@ impl Game {
self.update_dwarves(dt);
self.update_bridges(dt);
self.update_wood(dt);
self.update_events(dt);
// fallen hearts of a match are shared state: every client marks them in the same step
self.update_fallen_masters();
// the end of the game and the fog are about the master at this computer