From 1c1a59b9ada32dbe9b6dc7ba0c5baf283db5d12e Mon Sep 17 00:00:00 2001 From: Gemu Peachems Date: Sun, 1 Aug 2021 00:57:21 +0200 Subject: [PATCH] Gnarling Totem --- .../spots_grasslands/gnarling_totem.ron | 8 ++++++ .../structure/natural/gnarling_totem.vox | Bin 0 -> 5832 bytes world/src/layer/spot.rs | 23 ++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 assets/world/manifests/spots_grasslands/gnarling_totem.ron create mode 100644 assets/world/structure/natural/gnarling_totem.vox diff --git a/assets/world/manifests/spots_grasslands/gnarling_totem.ron b/assets/world/manifests/spots_grasslands/gnarling_totem.ron new file mode 100644 index 0000000000..f98792c228 --- /dev/null +++ b/assets/world/manifests/spots_grasslands/gnarling_totem.ron @@ -0,0 +1,8 @@ +#![enable(unwrap_newtypes)] + +[ + ( + specifier: "world.structure.natural.gnarling_totem", + center: (9, 5, 5) + ), +] diff --git a/assets/world/structure/natural/gnarling_totem.vox b/assets/world/structure/natural/gnarling_totem.vox new file mode 100644 index 0000000000000000000000000000000000000000..982a73f20feb4bc30155df10a17badbbf9398ac4 GIT binary patch literal 5832 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 literal 0 HcmV?d00001 diff --git a/world/src/layer/spot.rs b/world/src/layer/spot.rs index 793837bc58..72896e8bd8 100644 --- a/world/src/layer/spot.rs +++ b/world/src/layer/spot.rs @@ -30,6 +30,7 @@ pub enum Spot { MerchantCamp, SaurokCamp, DwarvenGrave, + GnarlingTotem, } impl Spot { @@ -63,6 +64,19 @@ impl Spot { Self::generate_spots( Spot::DwarvenGrave, world, + 1.0, + |g, c| { + g < 0.25 + && !c.near_cliffs() + && !c.river.near_water() + && !c.path.0.is_way() + && c.sites.is_empty() + }, + false, + ); + Self::generate_spots( + Spot::GnarlingTotem, + world, 10.0, |g, c| { g < 0.25 @@ -142,6 +156,15 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) { entity_radius: 60.0, entities: &[(6..12, "common.entity.spot.bandit_camp.dwarf_grave_robber")], }, + Spot::GnarlingTotem => SpotConfig { + base_structures: Some("spots_grasslands.gnarling_totem"), + entity_radius: 30.0, + entities: &[ + (1..4, "common.entity.dungeon.tier-0.spear"), + (2..5, "common.entity.dungeon.tier-0.bow"), + (1..3, "common.entity.dungeon.tier-0.staff"), + ], + }, }; // Blit base structure