Mushroom groves: unclaimable moss where giant mushrooms grow slowly and glow when ready to fell

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-06 10:25:24 +01:00
1 parent 368a338ccf
commit f8eda88bb3
26 files changed
+321 -43

No files matched your search

+18
View File
@@ -93,6 +93,7 @@ pub const I_RAM: u32 = 209; // battering ram tool
pub const I_CATAPULT: u32 = 210; // catapult tool
pub const T_SNOW: u32 = 211; // 4 variants: snow on the land above ground (winter)
pub const T_PUMPKIN: u32 = 215; // a carved pumpkin (Halloween)
pub const T_MOSS: u32 = 216; // 4 variants: mushroom grove ground, moss with glowing spores
pub struct Gfx {
pub atlas: Texture2D,
@@ -943,6 +944,22 @@ fn gen_atlas() -> Image {
Some(if r % 11 == 0 { c(176, 200, 96) } else if r % 6 == 0 { c(112, 150, 62) } else if r % 23 == 0 { c(236, 220, 110) } else if r % 37 == 0 { c(230, 236, 240) } else { c(140, 176, 78) })
});
}
// mushroom grove: dark stones overgrown with teal moss, a few glowing spores
for v in 0..4u32 {
cv.cell(T_MOSS + v, |x, y| {
let r = hash(x, y, 520 + v);
let moss = (hash(x / 3, y / 3, 530 + v) % 5) < 3;
Some(if r % 41 == 0 {
c(150, 255, 220) // a spore glows
} else if r % 29 == 0 {
c(200, 150, 255)
} else if moss {
if r % 4 == 0 { c(46, 112, 96) } else if r % 3 == 0 { c(30, 84, 74) } else { c(38, 98, 84) }
} else {
stones(x, y, v, (52, 58, 56), (26, 30, 30), 8)
})
});
}
// obsidian: cooled lava, dark glass with a few glowing seams
for v in 0..4u32 {
cv.cell(T_OBSIDIAN + v, |x, y| {
@@ -2159,6 +2176,7 @@ impl Gfx {
Kind::Obsidian => T_OBSIDIAN + v,
Kind::Mushroom => T_FLOOR + v,
Kind::Tree => T_GRASS + v,
Kind::Grove => T_MOSS + v,
Kind::LavaBridge => T_STONEBRIDGE + (v & 1),
Kind::Shard => T_HEROFLOOR + v,
Kind::Aerie => T_AERIE + v,