mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
witch stuff
This commit is contained in:
parent
328fc190d1
commit
771a380e6c
@ -1,6 +1,6 @@
|
||||
EntityConfig (
|
||||
name: Name("Grim Salvager"),
|
||||
body: RandomWith("human"),
|
||||
body: RandomWith("humanoid"),
|
||||
alignment: Alignment(Enemy),
|
||||
|
||||
loot: LootTable("common.loot_tables.creature.biped_large.saurok"),
|
||||
|
24
assets/common/entity/spot/bandit_camp/witch_dark.ron
Normal file
24
assets/common/entity/spot/bandit_camp/witch_dark.ron
Normal file
@ -0,0 +1,24 @@
|
||||
EntityConfig (
|
||||
name: Name("Witch"),
|
||||
body: Exact(Humanoid(Body(
|
||||
species: Human,
|
||||
body_type: Female,
|
||||
hair_style: 2,
|
||||
beard: 0,
|
||||
eyes: 0,
|
||||
accessory: 0,
|
||||
hair_color: 0,
|
||||
skin: 0,
|
||||
eye_color: 0,
|
||||
))),
|
||||
alignment: Alignment(Enemy),
|
||||
|
||||
loot: LootTable("common.loot_tables.creature.biped_large.saurok"),
|
||||
|
||||
hands: TwoHanded(Item("common.items.weapons.sceptre.belzeshrub")),
|
||||
|
||||
meta: [
|
||||
SkillSetAsset("common.skillset.dungeon.tier-5.sceptre"),
|
||||
LoadoutAsset("common.loadout.spots.witch"),
|
||||
],
|
||||
)
|
11
assets/common/entity/wild/peaceful/bear.ron
Normal file
11
assets/common/entity/wild/peaceful/bear.ron
Normal file
@ -0,0 +1,11 @@
|
||||
EntityConfig (
|
||||
name: Name("Well-fed Bear"),
|
||||
body: RandomWith("bear"),
|
||||
alignment: Alignment(Wild),
|
||||
|
||||
loot: Uninit,
|
||||
|
||||
hands: Uninit,
|
||||
|
||||
meta: [],
|
||||
)
|
19
assets/common/items/armor/witch/back.ron
Normal file
19
assets/common/items/armor/witch/back.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch Cape",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Back("Witch"),
|
||||
stats: (
|
||||
protection: Normal(32.0),
|
||||
poise_resilience: Normal(5.0),
|
||||
energy_max: 90,
|
||||
energy_reward: 0.1,
|
||||
crit_power: 0.08,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
19
assets/common/items/armor/witch/belt.ron
Normal file
19
assets/common/items/armor/witch/belt.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch Belt",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Belt("Witch"),
|
||||
stats: (
|
||||
protection: Normal(8.0),
|
||||
poise_resilience: Normal(1.0),
|
||||
energy_max: 20,
|
||||
energy_reward: 0.025,
|
||||
crit_power: 0.02,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
19
assets/common/items/armor/witch/chest.ron
Normal file
19
assets/common/items/armor/witch/chest.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch Robe",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Chest("Witch"),
|
||||
stats: (
|
||||
protection: Normal(48.0),
|
||||
poise_resilience: Normal(6.0),
|
||||
energy_max: 135,
|
||||
energy_reward: 0.135,
|
||||
crit_power: 0.125,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
19
assets/common/items/armor/witch/foot.ron
Normal file
19
assets/common/items/armor/witch/foot.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch Boots",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Foot("Witch"),
|
||||
stats: (
|
||||
protection: Normal(16.0),
|
||||
poise_resilience: Normal(2.0),
|
||||
energy_max: 45,
|
||||
energy_reward: 0.045,
|
||||
crit_power: 0.04,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
19
assets/common/items/armor/witch/hand.ron
Normal file
19
assets/common/items/armor/witch/hand.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch Handwarmers",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Hand("Witch"),
|
||||
stats: (
|
||||
protection: Normal(16.0),
|
||||
poise_resilience: Normal(2.0),
|
||||
energy_max: 45,
|
||||
energy_reward: 0.045,
|
||||
crit_power: 0.04,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
19
assets/common/items/armor/witch/hat.ron
Normal file
19
assets/common/items/armor/witch/hat.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch hat",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Head("Witch"),
|
||||
stats: (
|
||||
protection: Normal(32.0),
|
||||
poise_resilience: Normal(5.0),
|
||||
energy_max: 90,
|
||||
energy_reward: 0.1,
|
||||
crit_power: 0.08,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
19
assets/common/items/armor/witch/pants.ron
Normal file
19
assets/common/items/armor/witch/pants.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch Skirt",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Pants("Witch"),
|
||||
stats: (
|
||||
protection: Normal(32.0),
|
||||
poise_resilience: Normal(4.0),
|
||||
energy_max: 90,
|
||||
energy_reward: 0.1,
|
||||
crit_power: 0.08,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
19
assets/common/items/armor/witch/shoulder.ron
Normal file
19
assets/common/items/armor/witch/shoulder.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Witch Mantle",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Shoulder("Witch"),
|
||||
stats: (
|
||||
protection: Normal(32.0),
|
||||
poise_resilience: Normal(5.0),
|
||||
energy_max: 90,
|
||||
energy_reward: 0.1,
|
||||
crit_power: 0.08,
|
||||
stealth: 0.0,
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
Cultist,
|
||||
],
|
||||
)
|
21
assets/common/items/weapons/sceptre/belzeshrub.ron
Normal file
21
assets/common/items/weapons/sceptre/belzeshrub.ron
Normal file
@ -0,0 +1,21 @@
|
||||
ItemDef(
|
||||
name: "Belzeshrub the Broom God",
|
||||
description: "'Is it... alive?'",
|
||||
kind: Tool((
|
||||
kind: Sceptre,
|
||||
hands: Two,
|
||||
stats: Direct((
|
||||
equip_time_secs: 0.4,
|
||||
power: 2.5,
|
||||
effect_power: 1.0,
|
||||
speed: 0.8,
|
||||
crit_chance: 0.078125,
|
||||
range: 1.0,
|
||||
energy_efficiency: 1.0,
|
||||
buff_strength: 1.0,
|
||||
)),
|
||||
)),
|
||||
quality: Artifact,
|
||||
tags: [],
|
||||
ability_spec: None,
|
||||
)
|
10
assets/common/loadout/spots/witch.ron
Normal file
10
assets/common/loadout/spots/witch.ron
Normal file
@ -0,0 +1,10 @@
|
||||
({
|
||||
Armor(Head): Item("common.items.armor.witch.hat"),
|
||||
Armor(Chest): Item("common.items.armor.witch.chest"),
|
||||
Armor(Shoulders): Item("common.items.armor.witch.shoulder"),
|
||||
Armor(Belt): Item("common.items.armor.witch.belt"),
|
||||
Armor(Hands): Item("common.items.armor.witch.hand"),
|
||||
Armor(Legs): Item("common.items.armor.witch.pants"),
|
||||
Armor(Feet): Item("common.items.armor.witch.foot"),
|
||||
Lantern: Item("common.items.lantern.black_0"),
|
||||
})
|
BIN
assets/voxygen/voxel/armor/witch/back.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/back.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/witch/belt.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/belt.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/witch/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/witch/foot.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/foot.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/witch/hand.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/hand.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/witch/hat.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/hat.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/witch/pants.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/pants.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/witch/shoulder.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/witch/shoulder.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -950,6 +950,10 @@
|
||||
vox_spec: ("weapon.sceptre.root_evil", (-2.5, -2.5, -6.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.weapons.sceptre.belzeshrub": (
|
||||
vox_spec: ("weapon.tool.broom_belzeshrub_purple", (-3.0, -4.0, -4.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.weapons.sceptre.sceptre_velorite_0": (
|
||||
vox_spec: ("weapon.sceptre.ore-nature", (-2.0, -6.0, -5.0)),
|
||||
color: None
|
||||
|
@ -80,6 +80,10 @@
|
||||
vox_spec: ("armor.cloth.silken.back", (-4.0, -2.5, -11.5)),
|
||||
color: None
|
||||
),
|
||||
"Witch": (
|
||||
vox_spec: ("armor.witch.back", (-4.0, -2.5, -11.5)),
|
||||
color: None
|
||||
),
|
||||
"Druid": (
|
||||
vox_spec: ("armor.cloth.druid.back", (-5.0, -2.5, -11.0)),
|
||||
color: None
|
||||
|
@ -112,6 +112,10 @@
|
||||
vox_spec: ("armor.cloth.silken.belt", (-4.0, -3.5, -3.0)),
|
||||
color: None
|
||||
),
|
||||
"Witch":(
|
||||
vox_spec: ("armor.witch.belt", (-4.0, -3.5, -3.0)),
|
||||
color: None
|
||||
),
|
||||
"Druid":(
|
||||
vox_spec: ("armor.cloth.druid.belt", (-4.0, -4.0, -0.5)),
|
||||
color: None
|
||||
|
@ -182,6 +182,10 @@
|
||||
vox_spec: ("armor.cloth.silken.chest", (-7.0, -4.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
"Witch": (
|
||||
vox_spec: ("armor.witch.chest", (-7.0, -4.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
"Druid": (
|
||||
vox_spec: ("armor.cloth.druid.chest", (-7.0, -4.0, 2.0)),
|
||||
color: None
|
||||
|
@ -112,6 +112,10 @@
|
||||
vox_spec: ("armor.cloth.silken.foot", (-2.5, -3.5, -2.0)),
|
||||
color: None
|
||||
),
|
||||
"Witch": (
|
||||
vox_spec: ("armor.witch.foot", (-2.5, -3.5, -2.0)),
|
||||
color: None
|
||||
),
|
||||
"Druid": (
|
||||
vox_spec: ("armor.cloth.druid.foot", (-2.5, -3.5, -2.0)),
|
||||
color: None
|
||||
|
@ -250,6 +250,16 @@
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"Witch": (
|
||||
left: (
|
||||
vox_spec: ("armor.witch.hand", (-2.5, -2.5, -4.0)),
|
||||
color: None
|
||||
),
|
||||
right: (
|
||||
vox_spec: ("armor.witch.hand", (-1.5, -2.5, -4.0)),
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"Druid": (
|
||||
left: (
|
||||
vox_spec: ("armor.cloth.druid.hand", (-2.5, -1.0, -3.0)),
|
||||
|
@ -28,5 +28,9 @@
|
||||
vox_spec: ("armor.misc.head.exclamation", (-11.0, -11.0, 18.0)),
|
||||
color: None
|
||||
),
|
||||
(Human, "Witch"): (
|
||||
vox_spec: ("armor.witch.hat", (-2.0, -2.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
}
|
||||
))
|
||||
|
@ -140,6 +140,10 @@
|
||||
vox_spec: ("armor.cloth.silken.pants", (-5.0, -4.0, 0.5)),
|
||||
color: None
|
||||
),
|
||||
"Witch": (
|
||||
vox_spec: ("armor.witch.pants", (-5.0, -4.0, 0.5)),
|
||||
color: None
|
||||
),
|
||||
"Druid": (
|
||||
vox_spec: ("armor.cloth.druid.pants", (-5.0, -4.0, 0.5)),
|
||||
color: None
|
||||
|
@ -331,6 +331,16 @@
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"Witch": (
|
||||
left: (
|
||||
vox_spec: ("armor.witch.shoulder", (-5.0, -4.0 , -2.0)),
|
||||
color: None
|
||||
),
|
||||
right: (
|
||||
vox_spec: ("armor.witch.shoulder", (-1.0, -4.0, -2.0)),
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"Druid": (
|
||||
left: (
|
||||
vox_spec: ("armor.cloth.druid.shoulder", (-4.5, -4.0 , -3.5)),
|
||||
|
BIN
assets/voxygen/voxel/sprite/window/witch_purple.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/window/witch_purple.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -3257,4 +3257,15 @@ EnsnaringVines: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// WitchWindow
|
||||
WitchWindow: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.window.witch_purple",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (0.0, 0.0, 0.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
)
|
||||
|
15
assets/world/manifests/spots_general/witch_hut.ron
Normal file
15
assets/world/manifests/spots_general/witch_hut.ron
Normal file
@ -0,0 +1,15 @@
|
||||
#![enable(unwrap_newtypes)]
|
||||
|
||||
[
|
||||
(
|
||||
specifier: "world.structure.natural.witch-hut-black_0",
|
||||
center: (20, 23, 16),
|
||||
custom_indices: {
|
||||
12: Sprite(Cauldron),
|
||||
10: Sprite(WitchWindow),
|
||||
44: Filled(GlowingRock, (r: 54, g: 180, b: 64)),
|
||||
8: Filled(Air, (r: 255, g: 255, b: 255)),
|
||||
249: Sprite(PotionMinor),
|
||||
},
|
||||
),
|
||||
]
|
@ -1,10 +1,6 @@
|
||||
#![enable(unwrap_newtypes)]
|
||||
|
||||
[
|
||||
(
|
||||
specifier: "world.structure.natural.witch-hut",
|
||||
center: (10, 13, 9)
|
||||
),
|
||||
[
|
||||
(
|
||||
specifier: "world.structure.natural.tree-house",
|
||||
center: (20, 15, 10)
|
BIN
assets/world/structure/human/blacksmith.vox
(Stored with Git LFS)
BIN
assets/world/structure/human/blacksmith.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/world/structure/human/house_1.vox
(Stored with Git LFS)
BIN
assets/world/structure/human/house_1.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/world/structure/human/house_2.vox
(Stored with Git LFS)
BIN
assets/world/structure/human/house_2.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/world/structure/human/mage_tower.vox
(Stored with Git LFS)
BIN
assets/world/structure/human/mage_tower.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/world/structure/human/stables_1.vox
(Stored with Git LFS)
BIN
assets/world/structure/human/stables_1.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/world/structure/human/town_hall.vox
(Stored with Git LFS)
BIN
assets/world/structure/human/town_hall.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/world/structure/human/town_hall_spire.vox
(Stored with Git LFS)
BIN
assets/world/structure/human/town_hall_spire.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/world/structure/natural/witch-hut-black_0.vox
(Stored with Git LFS)
Normal file
BIN
assets/world/structure/natural/witch-hut-black_0.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -174,6 +174,7 @@ make_case_elim!(
|
||||
CeilingMushroom = 0x93,
|
||||
Orb = 0x94,
|
||||
EnsnaringVines = 0x95,
|
||||
WitchWindow = 0x96,
|
||||
}
|
||||
);
|
||||
|
||||
@ -244,7 +245,8 @@ impl SpriteKind {
|
||||
| SpriteKind::Window2
|
||||
| SpriteKind::Window3
|
||||
| SpriteKind::Window4
|
||||
| SpriteKind::DropGate => 1.0,
|
||||
| SpriteKind::DropGate
|
||||
| SpriteKind::WitchWindow => 1.0,
|
||||
// TODO: Figure out if this should be solid or not.
|
||||
SpriteKind::Shelf => 1.0,
|
||||
SpriteKind::Lantern => 0.9,
|
||||
|
@ -34,7 +34,7 @@ pub enum Spot {
|
||||
// *Themed Spots*
|
||||
DwarvenGrave,
|
||||
GnarlingTotem,
|
||||
//WitchHouse,
|
||||
WitchHouse,
|
||||
//BanditCamp,
|
||||
//EnchantedRock,
|
||||
//TowerRuin,
|
||||
@ -49,6 +49,7 @@ pub enum Spot {
|
||||
TreeStumpForest,
|
||||
DesertBones,
|
||||
AirshipCrash,
|
||||
FruitTree,
|
||||
}
|
||||
|
||||
// Available Biomes are:
|
||||
@ -66,7 +67,22 @@ pub enum Spot {
|
||||
|
||||
impl Spot {
|
||||
pub fn generate(world: &mut WorldSim) {
|
||||
// Trees/spawn: false => *No* trees around the spot
|
||||
// Themed Spots -> Act as an introduction to themes of sites
|
||||
Self::generate_spots(
|
||||
Spot::WitchHouse,
|
||||
world,
|
||||
2.0,
|
||||
|g, c| {
|
||||
g < 0.25
|
||||
&& !c.near_cliffs()
|
||||
&& !c.river.near_water()
|
||||
&& !c.path.0.is_way()
|
||||
&& c.sites.is_empty()
|
||||
&& !matches!(c.get_biome(), BiomeKind::Ocean | BiomeKind::Mountain)
|
||||
},
|
||||
false,
|
||||
);
|
||||
Self::generate_spots(
|
||||
Spot::DwarvenGrave,
|
||||
world,
|
||||
@ -79,7 +95,7 @@ impl Spot {
|
||||
&& c.sites.is_empty()
|
||||
&& matches!(c.get_biome(), BiomeKind::Jungle | BiomeKind::Forest)
|
||||
},
|
||||
true,
|
||||
false,
|
||||
);
|
||||
Self::generate_spots(
|
||||
Spot::GnarlingTotem,
|
||||
@ -93,7 +109,7 @@ impl Spot {
|
||||
&& c.sites.is_empty()
|
||||
&& matches!(c.get_biome(), BiomeKind::Forest | BiomeKind::Grassland)
|
||||
},
|
||||
true,
|
||||
false,
|
||||
);
|
||||
// Random World Objects -> Themed to their Biome and the NPCs that regularly
|
||||
// spawn there
|
||||
@ -109,7 +125,7 @@ impl Spot {
|
||||
&& c.sites.is_empty()
|
||||
&& matches!(c.get_biome(), BiomeKind::Savannah)
|
||||
},
|
||||
true,
|
||||
false,
|
||||
);
|
||||
Self::generate_spots(
|
||||
Spot::TreeStumpForest,
|
||||
@ -123,7 +139,7 @@ impl Spot {
|
||||
&& c.sites.is_empty()
|
||||
&& matches!(c.get_biome(), BiomeKind::Jungle | BiomeKind::Forest)
|
||||
},
|
||||
false,
|
||||
true,
|
||||
);
|
||||
Self::generate_spots(
|
||||
Spot::DesertBones,
|
||||
@ -137,7 +153,7 @@ impl Spot {
|
||||
&& c.sites.is_empty()
|
||||
&& matches!(c.get_biome(), BiomeKind::Desert)
|
||||
},
|
||||
true,
|
||||
false,
|
||||
);
|
||||
Self::generate_spots(
|
||||
Spot::AirshipCrash,
|
||||
@ -154,6 +170,20 @@ impl Spot {
|
||||
BiomeKind::Mountain | BiomeKind::Void | BiomeKind::Ocean
|
||||
)
|
||||
},
|
||||
false,
|
||||
);
|
||||
Self::generate_spots(
|
||||
Spot::FruitTree,
|
||||
world,
|
||||
20.0,
|
||||
|g, c| {
|
||||
g < 0.25
|
||||
&& !c.near_cliffs()
|
||||
&& !c.river.near_water()
|
||||
&& !c.path.0.is_way()
|
||||
&& c.sites.is_empty()
|
||||
&& matches!(c.get_biome(), BiomeKind::Forest)
|
||||
},
|
||||
true,
|
||||
);
|
||||
|
||||
@ -166,15 +196,12 @@ impl Spot {
|
||||
TowerRuinDesert
|
||||
WellOfLight
|
||||
Merchant Outpost -> Near a road!
|
||||
|
||||
*Quirky:*
|
||||
TreeHouse (Forest)
|
||||
TreeStump (Forest, Grassland)
|
||||
DesertBones (Desert, Savannah)
|
||||
AirshipCrash (Desert, Savannah, Grassland)
|
||||
EnchantedRock (Forest, Jungle)
|
||||
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
@ -240,6 +267,11 @@ 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::WitchHouse => SpotConfig {
|
||||
base_structures: Some("spots_general.witch_hut"),
|
||||
entity_radius: 1.0,
|
||||
entities: &[(1..2, "common.entity.spot.bandit_camp.witch_dark")],
|
||||
},
|
||||
Spot::GnarlingTotem => SpotConfig {
|
||||
base_structures: Some("spots_grasslands.gnarling_totem"),
|
||||
entity_radius: 30.0,
|
||||
@ -270,6 +302,11 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
|
||||
entity_radius: 20.0,
|
||||
entities: &[(4..9, "common.entity.spot.bandit_camp.grim_salvager")],
|
||||
},
|
||||
Spot::FruitTree => SpotConfig {
|
||||
base_structures: Some("trees.fruit_trees"),
|
||||
entity_radius: 2.0,
|
||||
entities: &[(0..2, "common.entity.wild.peaceful.bear")],
|
||||
},
|
||||
};
|
||||
// Blit base structure
|
||||
if let Some(base_structures) = spot_config.base_structures {
|
||||
|
Loading…
Reference in New Issue
Block a user