From 1f95bf14ee92afef5af5f387ce2cd2d7070a7efc Mon Sep 17 00:00:00 2001 From: Llywelwyn Date: Wed, 30 Aug 2023 09:19:48 +0100 Subject: [PATCH] slows treants back down, reduces spawnrate in grassy rooms --- raws/mobs.json | 2 +- src/map_builders/mod.rs | 2 +- src/map_builders/room_themer.rs | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/raws/mobs.json b/raws/mobs.json index ab11ce0..5137ea4 100644 --- a/raws/mobs.json +++ b/raws/mobs.json @@ -430,7 +430,7 @@ "flags": ["LARGE_GROUP", "GREEN_BLOOD"], "level": 2, "bac": 12, - "speed": 12, + "speed": 3, "vision_range": 16, "attacks": [{ "name": "lashes", "hit_bonus": 4, "damage": "1d8" }], "loot": { "table": "scrolls", "chance": 0.05 } diff --git a/src/map_builders/mod.rs b/src/map_builders/mod.rs index 763ce07..4611589 100644 --- a/src/map_builders/mod.rs +++ b/src/map_builders/mod.rs @@ -287,7 +287,7 @@ fn random_room_builder(rng: &mut rltk::RandomNumberGenerator, builder: &mut Buil _ => builder.with(VoronoiSpawning::new()), } - builder.with(ThemeRooms::grass(10)); + builder.with(ThemeRooms::grass(12)); } fn random_shape_builder(rng: &mut rltk::RandomNumberGenerator, builder: &mut BuilderChain, end: bool) -> bool { diff --git a/src/map_builders/room_themer.rs b/src/map_builders/room_themer.rs index c6edff6..de11b59 100644 --- a/src/map_builders/room_themer.rs +++ b/src/map_builders/room_themer.rs @@ -38,7 +38,8 @@ impl ThemeRooms { let idx = build_data.map.xy_idx(x, y); if tile_walkable(build_data.map.tiles[idx]) && build_data.map.tiles[idx] != TileType::DownStair { let tar = if x < room.x1 || x > room.x2 || y < room.y1 || y > room.y2 { 45 } else { 90 }; - if rng.roll_dice(1, 100) <= tar { + let roll = rng.roll_dice(1, 100); + if roll <= tar { match rng.roll_dice(1, 6) { 1..=4 => { build_data.map.tiles[idx] = TileType::Grass; @@ -48,9 +49,11 @@ impl ThemeRooms { } _ => { build_data.map.tiles[idx] = TileType::HeavyFoliage; - build_data.spawn_list.push((idx, "treant_small".to_string())); } } + if roll < 5 { + build_data.spawn_list.push((idx, "treant_small".to_string())); + } } } }