mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'slipped/site2' into 'master'
new entities, frostpines See merge request veloren/veloren!3193
This commit is contained in:
commit
6263942041
24
assets/common/entity/village/alchemist.ron
Normal file
24
assets/common/entity/village/alchemist.ron
Normal file
@ -0,0 +1,24 @@
|
||||
(
|
||||
name: Name("Alchemist"),
|
||||
body: RandomWith("humanoid"),
|
||||
alignment: Alignment(Npc),
|
||||
|
||||
loadout: Extended(
|
||||
hands: TwoHanded(Choice([
|
||||
(1, Some(Item("common.items.weapons.tool.broom"))),
|
||||
(1, Some(Item("common.items.weapons.tool.hoe"))),
|
||||
(1, Some(Item("common.items.weapons.tool.pickaxe"))),
|
||||
(1, Some(Item("common.items.weapons.tool.rake"))),
|
||||
(1, Some(Item("common.items.weapons.tool.shovel-0"))),
|
||||
(1, Some(Item("common.items.weapons.tool.shovel-1"))),
|
||||
])),
|
||||
base_asset: Loadout("common.loadout.village.alchemist"),
|
||||
inventory: [
|
||||
(10, "common.items.consumable.potion_big"),
|
||||
],
|
||||
),
|
||||
loot: LootTable("common.loot_tables.creature.humanoid"),
|
||||
meta: [
|
||||
SkillSetAsset("common.skillset.preset.rank3.fullskill"),
|
||||
],
|
||||
)
|
24
assets/common/entity/village/blacksmith.ron
Normal file
24
assets/common/entity/village/blacksmith.ron
Normal file
@ -0,0 +1,24 @@
|
||||
(
|
||||
name: Name("Blacksmith"),
|
||||
body: RandomWith("humanoid"),
|
||||
alignment: Alignment(Npc),
|
||||
|
||||
loadout: Extended(
|
||||
hands: TwoHanded(Choice([
|
||||
(1, Some(Item("common.items.weapons.tool.broom"))),
|
||||
(1, Some(Item("common.items.weapons.tool.hoe"))),
|
||||
(1, Some(Item("common.items.weapons.tool.pickaxe"))),
|
||||
(1, Some(Item("common.items.weapons.tool.rake"))),
|
||||
(1, Some(Item("common.items.weapons.tool.shovel-0"))),
|
||||
(1, Some(Item("common.items.weapons.tool.shovel-1"))),
|
||||
])),
|
||||
base_asset: Loadout("common.loadout.village.blacksmith"),
|
||||
inventory: [
|
||||
(10, "common.items.consumable.potion_big"),
|
||||
],
|
||||
),
|
||||
loot: LootTable("common.loot_tables.creature.humanoid"),
|
||||
meta: [
|
||||
SkillSetAsset("common.skillset.preset.rank3.fullskill"),
|
||||
],
|
||||
)
|
24
assets/common/entity/village/chef.ron
Normal file
24
assets/common/entity/village/chef.ron
Normal file
@ -0,0 +1,24 @@
|
||||
(
|
||||
name: Name("Chef"),
|
||||
body: RandomWith("humanoid"),
|
||||
alignment: Alignment(Npc),
|
||||
|
||||
loadout: Extended(
|
||||
hands: TwoHanded(Choice([
|
||||
(1, Some(Item("common.items.weapons.tool.broom"))),
|
||||
(1, Some(Item("common.items.weapons.tool.hoe"))),
|
||||
(1, Some(Item("common.items.weapons.tool.pickaxe"))),
|
||||
(1, Some(Item("common.items.weapons.tool.rake"))),
|
||||
(1, Some(Item("common.items.weapons.tool.shovel-0"))),
|
||||
(1, Some(Item("common.items.weapons.tool.shovel-1"))),
|
||||
])),
|
||||
base_asset: Loadout("common.loadout.village.chef"),
|
||||
inventory: [
|
||||
(10, "common.items.consumable.potion_big"),
|
||||
],
|
||||
),
|
||||
loot: LootTable("common.loot_tables.creature.humanoid"),
|
||||
meta: [
|
||||
SkillSetAsset("common.skillset.preset.rank3.fullskill"),
|
||||
],
|
||||
)
|
17
assets/common/items/armor/alchemist/belt.ron
Normal file
17
assets/common/items/armor/alchemist/belt.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Alchemist Belt",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Belt("Alchemist"),
|
||||
stats: (
|
||||
protection: Some(Normal(8.0)),
|
||||
poise_resilience: Some(Normal(1.0)),
|
||||
energy_max: Some(2.0),
|
||||
energy_reward: Some(0.025),
|
||||
crit_power: Some(0.02),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/alchemist/chest.ron
Normal file
17
assets/common/items/armor/alchemist/chest.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Alchemist Jacket",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Chest("Alchemist"),
|
||||
stats: (
|
||||
protection: Some(Normal(48.0)),
|
||||
poise_resilience: Some(Normal(6.0)),
|
||||
energy_max: Some(13.5),
|
||||
energy_reward: Some(0.135),
|
||||
crit_power: Some(0.125),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/alchemist/hat.ron
Normal file
17
assets/common/items/armor/alchemist/hat.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Alchemist Hat",
|
||||
description: "It seems like a parrot was perched up here.",
|
||||
kind: Armor((
|
||||
kind: Head("Alchemist"),
|
||||
stats: (
|
||||
protection: Some(Normal(4.0)),
|
||||
poise_resilience: Some(Normal(1.0)),
|
||||
energy_max: Some(1.0),
|
||||
energy_reward: Some(0.015),
|
||||
crit_power: Some(0.02),
|
||||
),
|
||||
)),
|
||||
quality: High,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/alchemist/pants.ron
Normal file
17
assets/common/items/armor/alchemist/pants.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Alchemist Pants",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Pants("Alchemist"),
|
||||
stats: (
|
||||
protection: Some(Normal(32.0)),
|
||||
poise_resilience: Some(Normal(4.0)),
|
||||
energy_max: Some(9.0),
|
||||
energy_reward: Some(0.1),
|
||||
crit_power: Some(0.08),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/blacksmith/belt.ron
Normal file
17
assets/common/items/armor/blacksmith/belt.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Blacksmith Belt",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Belt("Blacksmith"),
|
||||
stats: (
|
||||
protection: Some(Normal(8.0)),
|
||||
poise_resilience: Some(Normal(1.0)),
|
||||
energy_max: Some(2.0),
|
||||
energy_reward: Some(0.025),
|
||||
crit_power: Some(0.02),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/blacksmith/chest.ron
Normal file
17
assets/common/items/armor/blacksmith/chest.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Blacksmith Jacket",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Chest("Blacksmith"),
|
||||
stats: (
|
||||
protection: Some(Normal(48.0)),
|
||||
poise_resilience: Some(Normal(6.0)),
|
||||
energy_max: Some(13.5),
|
||||
energy_reward: Some(0.135),
|
||||
crit_power: Some(0.125),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/blacksmith/hand.ron
Normal file
17
assets/common/items/armor/blacksmith/hand.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Blacksmith Gloves",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Hand("Blacksmith"),
|
||||
stats: (
|
||||
protection: Some(Normal(16.0)),
|
||||
poise_resilience: Some(Normal(2.0)),
|
||||
energy_max: Some(4.5),
|
||||
energy_reward: Some(0.045),
|
||||
crit_power: Some(0.04),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/blacksmith/hat.ron
Normal file
17
assets/common/items/armor/blacksmith/hat.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Blacksmith Hat",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Head("Blacksmith"),
|
||||
stats: (
|
||||
protection: Some(Normal(4.0)),
|
||||
poise_resilience: Some(Normal(1.0)),
|
||||
energy_max: Some(1.0),
|
||||
energy_reward: Some(0.015),
|
||||
crit_power: Some(0.02),
|
||||
),
|
||||
)),
|
||||
quality: High,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/blacksmith/pants.ron
Normal file
17
assets/common/items/armor/blacksmith/pants.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Blacksmith Pants",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Pants("Blacksmith"),
|
||||
stats: (
|
||||
protection: Some(Normal(32.0)),
|
||||
poise_resilience: Some(Normal(4.0)),
|
||||
energy_max: Some(9.0),
|
||||
energy_reward: Some(0.1),
|
||||
crit_power: Some(0.08),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/chef/belt.ron
Normal file
17
assets/common/items/armor/chef/belt.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Chef Belt",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Belt("Chef"),
|
||||
stats: (
|
||||
protection: Some(Normal(8.0)),
|
||||
poise_resilience: Some(Normal(1.0)),
|
||||
energy_max: Some(2.0),
|
||||
energy_reward: Some(0.025),
|
||||
crit_power: Some(0.02),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/chef/chest.ron
Normal file
17
assets/common/items/armor/chef/chest.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Chef Jacket",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Chest("Chef"),
|
||||
stats: (
|
||||
protection: Some(Normal(48.0)),
|
||||
poise_resilience: Some(Normal(6.0)),
|
||||
energy_max: Some(13.5),
|
||||
energy_reward: Some(0.135),
|
||||
crit_power: Some(0.125),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/chef/hat.ron
Normal file
17
assets/common/items/armor/chef/hat.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Chef Hat",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Head("Chef"),
|
||||
stats: (
|
||||
protection: Some(Normal(4.0)),
|
||||
poise_resilience: Some(Normal(1.0)),
|
||||
energy_max: Some(1.0),
|
||||
energy_reward: Some(0.015),
|
||||
crit_power: Some(0.02),
|
||||
),
|
||||
)),
|
||||
quality: High,
|
||||
tags: [
|
||||
],
|
||||
)
|
17
assets/common/items/armor/chef/pants.ron
Normal file
17
assets/common/items/armor/chef/pants.ron
Normal file
@ -0,0 +1,17 @@
|
||||
ItemDef(
|
||||
name: "Chef Pants",
|
||||
description: "",
|
||||
kind: Armor((
|
||||
kind: Pants("Chef"),
|
||||
stats: (
|
||||
protection: Some(Normal(32.0)),
|
||||
poise_resilience: Some(Normal(4.0)),
|
||||
energy_max: Some(9.0),
|
||||
energy_reward: Some(0.1),
|
||||
crit_power: Some(0.08),
|
||||
),
|
||||
)),
|
||||
quality: Epic,
|
||||
tags: [
|
||||
],
|
||||
)
|
9
assets/common/loadout/village/alchemist.ron
Normal file
9
assets/common/loadout/village/alchemist.ron
Normal file
@ -0,0 +1,9 @@
|
||||
({
|
||||
Armor(Chest): Item("common.items.armor.alchemist.chest"),
|
||||
Armor(Hands): Item("common.items.armor.cloth.druid.hand"),
|
||||
Armor(Legs): Item("common.items.armor.alchemist.pants"),
|
||||
Armor(Belt): Item("common.items.armor.alchemist.belt"),
|
||||
Armor(Feet): Item("common.items.armor.ferocious.foot"),
|
||||
Armor(Head): Item("common.items.armor.alchemist.hat"),
|
||||
Lantern: Item("common.items.lantern.black_0"),
|
||||
})
|
9
assets/common/loadout/village/blacksmith.ron
Normal file
9
assets/common/loadout/village/blacksmith.ron
Normal file
@ -0,0 +1,9 @@
|
||||
({
|
||||
Armor(Chest): Item("common.items.armor.blacksmith.chest"),
|
||||
Armor(Hands): Item("common.items.armor.blacksmith.hand"),
|
||||
Armor(Legs): Item("common.items.armor.blacksmith.pants"),
|
||||
Armor(Belt): Item("common.items.armor.blacksmith.belt"),
|
||||
Armor(Feet): Item("common.items.armor.mail.iron.foot"),
|
||||
Armor(Head): Item("common.items.armor.blacksmith.hat"),
|
||||
Lantern: Item("common.items.lantern.black_0"),
|
||||
})
|
7
assets/common/loadout/village/chef.ron
Normal file
7
assets/common/loadout/village/chef.ron
Normal file
@ -0,0 +1,7 @@
|
||||
({
|
||||
Armor(Chest): Item("common.items.armor.chef.chest"),
|
||||
Armor(Hands): Item("common.items.armor.cloth.linen.hand"),
|
||||
Armor(Legs): Item("common.items.armor.chef.pants"),
|
||||
Armor(Belt): Item("common.items.armor.chef.belt"),
|
||||
Armor(Feet): Item("common.items.armor.cloth.linen.foot"),
|
||||
Armor(Head): Item("common.items.armor.chef.hat"),})
|
BIN
assets/voxygen/voxel/armor/alchemist/belt.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/alchemist/belt.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/alchemist/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/alchemist/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/alchemist/hat.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/alchemist/hat.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/alchemist/pants.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/alchemist/pants.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/blacksmith/belt.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/blacksmith/belt.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/blacksmith/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/blacksmith/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/blacksmith/hand.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/blacksmith/hand.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/blacksmith/hat.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/blacksmith/hat.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/blacksmith/pants.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/blacksmith/pants.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/chef/belt.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/chef/belt.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/chef/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/chef/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/chef/hat.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/chef/hat.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/armor/chef/pants.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/armor/chef/pants.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -108,6 +108,18 @@
|
||||
vox_spec: ("armor.pirate.belt", (-4.0, -4.0, 2.5)),
|
||||
color: None
|
||||
),
|
||||
"Alchemist":(
|
||||
vox_spec: ("armor.alchemist.belt", (-4.0, -4.0, 2.5)),
|
||||
color: None
|
||||
),
|
||||
"Blacksmith":(
|
||||
vox_spec: ("armor.blacksmith.belt", (-4.0, -4.0, 2.0)),
|
||||
color: None
|
||||
),
|
||||
"Chef":(
|
||||
vox_spec: ("armor.chef.belt", (-4.0, -4.0, 2.0)),
|
||||
color: None
|
||||
),
|
||||
"Linen":(
|
||||
vox_spec: ("armor.cloth.linen.belt", (-4.0, -4.0, 0.0)),
|
||||
color: None
|
||||
|
@ -178,6 +178,18 @@
|
||||
vox_spec: ("armor.pirate.chest", (-7.0, -4.0, 2.0)),
|
||||
color: None
|
||||
),
|
||||
"Alchemist": (
|
||||
vox_spec: ("armor.alchemist.chest", (-7.0, -4.0, 2.0)),
|
||||
color: None
|
||||
),
|
||||
"Blacksmith": (
|
||||
vox_spec: ("armor.blacksmith.chest", (-7.0, -4.0, 2.0)),
|
||||
color: None
|
||||
),
|
||||
"Chef": (
|
||||
vox_spec: ("armor.chef.chest", (-7.0, -4.0, 2.0)),
|
||||
color: None
|
||||
),
|
||||
"Linen": (
|
||||
vox_spec: ("armor.cloth.linen.chest", (-7.0, -4.0, 2.0)),
|
||||
color: None
|
||||
|
@ -240,6 +240,16 @@
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"Blacksmith": (
|
||||
left: (
|
||||
vox_spec: ("armor.blacksmith.hand", (-1.5, -2.5, -4.0)),
|
||||
color: None
|
||||
),
|
||||
right: (
|
||||
vox_spec: ("armor.blacksmith.hand", (-1.5, -2.5, -4.0)),
|
||||
color: None
|
||||
)
|
||||
),
|
||||
"Linen": (
|
||||
left: (
|
||||
vox_spec: ("armor.cloth.linen.hand", (-1.5, -2.0, -3.0)),
|
||||
|
@ -274,6 +274,153 @@
|
||||
vox_spec: ("armor.pirate.hat", (-3.0, -5.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
//
|
||||
(Human, Male, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-4.0, 0.0, -3.0)),
|
||||
color: None
|
||||
),
|
||||
(Human, Female, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-4.0, 1.0, -3.0)),
|
||||
color: None
|
||||
),
|
||||
(Elf, Male, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-3.0, 0.0, -3.0)),
|
||||
color: None
|
||||
),
|
||||
(Elf, Female, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-3.0, -1.0, -3.0)),
|
||||
color: None
|
||||
),
|
||||
(Dwarf, Male, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-5.0, 1.0, -3.0)),
|
||||
color: None
|
||||
),
|
||||
(Dwarf, Female, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-5.0, 1.0, -3.0)),
|
||||
color: None
|
||||
),
|
||||
(Danari, Male, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-2.0, 0.0, -1.0)),
|
||||
color: None
|
||||
),
|
||||
(Danari, Female, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-2.0, 1.0, -1.0)),
|
||||
color: None
|
||||
),
|
||||
(Undead, Male, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-6.0, 0.0, -1.0)),
|
||||
color: None
|
||||
),
|
||||
(Undead, Female, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-6.0, 0.0, -2.0)),
|
||||
color: None
|
||||
),
|
||||
(Orc, Male, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-3.0, 2.0, 0.0)),
|
||||
color: None
|
||||
),
|
||||
(Orc, Female, "Blacksmith"): (
|
||||
vox_spec: ("armor.blacksmith.hat", (-3.0, -1.0, -3.0)),
|
||||
color: None
|
||||
),
|
||||
// Alchemist Goggles
|
||||
(Human, Male, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-4.0, 0.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
(Human, Female, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-4.0, 1.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
(Elf, Male, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-3.0, 0.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
(Elf, Female, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-3.0, -1.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
(Dwarf, Male, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-5.0, 1.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
(Dwarf, Female, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-5.0, 1.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
(Danari, Male, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-2.0, 0.0, 3.0)),
|
||||
color: None
|
||||
),
|
||||
(Danari, Female, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-2.0, 1.0, 3.0)),
|
||||
color: None
|
||||
),
|
||||
(Undead, Male, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-6.0, 0.0, 3.0)),
|
||||
color: None
|
||||
),
|
||||
(Undead, Female, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-6.0, 0.0, 2.0)),
|
||||
color: None
|
||||
),
|
||||
(Orc, Male, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-3.0, 2.0, 4.0)),
|
||||
color: None
|
||||
),
|
||||
(Orc, Female, "Alchemist"): (
|
||||
vox_spec: ("armor.alchemist.hat", (-3.0, -1.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
// Chef hat
|
||||
(Human, Male, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-4.0, -5.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
(Human, Female, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-4.0, -5.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
(Elf, Male, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-3.0, -5.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
(Elf, Female, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-3.0, -6.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
(Dwarf, Male, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-5.0, -4.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
(Dwarf, Female, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-5.0, -4.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
(Danari, Male, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-2.0, -5.0, 7.0)),
|
||||
color: None
|
||||
),
|
||||
(Danari, Female, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-2.0, -5.0, 7.0)),
|
||||
color: None
|
||||
),
|
||||
(Undead, Male, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-6.0, -5.0, 7.0)),
|
||||
color: None
|
||||
),
|
||||
(Undead, Female, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-6.0, -5.0, 6.0)),
|
||||
color: None
|
||||
),
|
||||
(Orc, Male, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-3.0, -3.0, 8.0)),
|
||||
color: None
|
||||
),
|
||||
(Orc, Female, "Chef"): (
|
||||
vox_spec: ("armor.chef.hat", (-3.0, -6.0, 5.0)),
|
||||
color: None
|
||||
),
|
||||
// Straw hat
|
||||
(Human, Male, "Straw"): (
|
||||
vox_spec: ("armor.misc.head.straw", (-4.0, -5.0, 5.0)),
|
||||
|
@ -136,6 +136,18 @@
|
||||
vox_spec: ("armor.pirate.pants", (-5.0, -4.0, 1.5)),
|
||||
color: None
|
||||
),
|
||||
"Alchemist": (
|
||||
vox_spec: ("armor.alchemist.pants", (-5.0, -4.0, 0.5)),
|
||||
color: None
|
||||
),
|
||||
"Blacksmith": (
|
||||
vox_spec: ("armor.blacksmith.pants", (-5.0, -4.0, 0.5)),
|
||||
color: None
|
||||
),
|
||||
"Chef": (
|
||||
vox_spec: ("armor.chef.pants", (-5.0, -4.0, 0.0)),
|
||||
color: None
|
||||
),
|
||||
"Linen": (
|
||||
vox_spec: ("armor.cloth.linen.pants", (-5.0, -4.0, 0.5)),
|
||||
color: None
|
||||
|
@ -25,6 +25,7 @@
|
||||
//(start: (168, 81, 0), end: (54, 150, 31)),
|
||||
],
|
||||
PineLeaves: [(start: (0, 60, 50), end: (30, 80, 10))],
|
||||
FrostpineLeaves: [(start: (24, 89, 85), end: (67, 22, 82))],
|
||||
PalmLeavesInner: [(start: (70, 140, 43), end: (55, 140, 32))],
|
||||
PalmLeavesOuter: [(start: (60, 130, 38), end: (30, 130, 65))],
|
||||
Acacia: [(start: (35, 70, 0), end: (100, 120, 30))],
|
||||
|
@ -37,6 +37,7 @@ make_case_elim!(
|
||||
Chestnut = 19,
|
||||
Baobab = 20,
|
||||
BirchWood = 21,
|
||||
FrostpineLeaves = 22,
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -31,6 +31,9 @@ pub enum RtSimEntityKind {
|
||||
Cultist,
|
||||
Villager,
|
||||
Merchant,
|
||||
Blacksmith,
|
||||
Chef,
|
||||
Alchemist,
|
||||
}
|
||||
|
||||
const BIRD_MEDIUM_ROSTER: &[comp::bird_medium::Species] = &[
|
||||
@ -90,7 +93,12 @@ impl Entity {
|
||||
},
|
||||
}
|
||||
},
|
||||
RtSimEntityKind::Cultist | RtSimEntityKind::Villager | RtSimEntityKind::Merchant => {
|
||||
RtSimEntityKind::Cultist
|
||||
| RtSimEntityKind::Villager
|
||||
| RtSimEntityKind::Chef
|
||||
| RtSimEntityKind::Alchemist
|
||||
| RtSimEntityKind::Blacksmith
|
||||
| RtSimEntityKind::Merchant => {
|
||||
let species = *(&comp::humanoid::ALL_SPECIES)
|
||||
.choose(&mut self.rng(PERM_SPECIES))
|
||||
.unwrap();
|
||||
@ -813,6 +821,9 @@ fn humanoid_config(kind: RtSimEntityKind, rank: TravelerRank) -> &'static str {
|
||||
},
|
||||
RtSimEntityKind::Villager => "common.entity.village.villager",
|
||||
RtSimEntityKind::Merchant => "common.entity.village.merchant",
|
||||
RtSimEntityKind::Blacksmith => "common.entity.village.blacksmith",
|
||||
RtSimEntityKind::Chef => "common.entity.village.chef",
|
||||
RtSimEntityKind::Alchemist => "common.entity.village.alchemist",
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,7 @@ pub enum ForestKind {
|
||||
Mangrove,
|
||||
Giant,
|
||||
Swamp,
|
||||
Frostpine,
|
||||
}
|
||||
|
||||
pub struct Environment {
|
||||
@ -34,6 +35,7 @@ impl ForestKind {
|
||||
ForestKind::Chestnut => 0.35..1.5,
|
||||
ForestKind::Cedar => 0.275..1.45,
|
||||
ForestKind::Pine => 0.2..1.4,
|
||||
ForestKind::Frostpine => 0.2..1.4,
|
||||
ForestKind::Birch => 0.0..0.6,
|
||||
ForestKind::Mangrove => 0.5..1.3,
|
||||
ForestKind::Swamp => 0.5..1.1,
|
||||
@ -49,7 +51,8 @@ impl ForestKind {
|
||||
ForestKind::Oak => -0.35..0.45,
|
||||
ForestKind::Chestnut => -0.35..0.45,
|
||||
ForestKind::Cedar => -0.65..0.15,
|
||||
ForestKind::Pine => -1.8..-0.2,
|
||||
ForestKind::Pine => -0.85..-0.2,
|
||||
ForestKind::Frostpine => -1.8..-0.8,
|
||||
ForestKind::Birch => -0.7..0.25,
|
||||
ForestKind::Mangrove => 0.35..1.6,
|
||||
ForestKind::Swamp => -0.6..0.8,
|
||||
@ -75,6 +78,7 @@ impl ForestKind {
|
||||
ForestKind::Chestnut => 0.3,
|
||||
ForestKind::Cedar => 0.3,
|
||||
ForestKind::Pine => 1.0,
|
||||
ForestKind::Frostpine => 1.0,
|
||||
ForestKind::Birch => 0.65,
|
||||
ForestKind::Mangrove => 2.0,
|
||||
ForestKind::Swamp => 1.0,
|
||||
@ -90,7 +94,8 @@ impl ForestKind {
|
||||
ForestKind::Oak => 0.4,
|
||||
ForestKind::Chestnut => 0.3,
|
||||
ForestKind::Cedar => 0.3,
|
||||
ForestKind::Pine => 0.4,
|
||||
ForestKind::Pine => 0.5,
|
||||
ForestKind::Frostpine => 0.3,
|
||||
ForestKind::Birch => 0.65,
|
||||
ForestKind::Mangrove => 1.0,
|
||||
ForestKind::Swamp => 0.4,
|
||||
|
@ -308,6 +308,7 @@ pub fn block_from_structure(
|
||||
// We interpolate all these BlockKinds as needed.
|
||||
StructureBlock::TemperateLeaves
|
||||
| StructureBlock::PineLeaves
|
||||
| StructureBlock::FrostpineLeaves
|
||||
| StructureBlock::PalmLeavesInner
|
||||
| StructureBlock::PalmLeavesOuter
|
||||
| StructureBlock::Acacia
|
||||
|
@ -168,6 +168,16 @@ pub fn apply_trees_to(
|
||||
StructureBlock::TemperateLeaves,
|
||||
);
|
||||
},
|
||||
ForestKind::Frostpine => {
|
||||
break 'model TreeModel::Procedural(
|
||||
ProceduralTree::generate(
|
||||
TreeConfig::frostpine(&mut RandomPerm::new(seed), scale),
|
||||
&mut RandomPerm::new(seed),
|
||||
),
|
||||
StructureBlock::FrostpineLeaves,
|
||||
);
|
||||
},
|
||||
|
||||
ForestKind::Mangrove => {
|
||||
break 'model TreeModel::Procedural(
|
||||
ProceduralTree::generate(
|
||||
@ -407,6 +417,31 @@ impl TreeConfig {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn frostpine(rng: &mut impl Rng, scale: f32) -> Self {
|
||||
let scale = scale * (0.8 + rng.gen::<f32>().powi(2) * 0.5);
|
||||
let log_scale = 1.0 + scale.log2().max(0.0);
|
||||
|
||||
Self {
|
||||
trunk_len: 36.0 * scale,
|
||||
trunk_radius: 2.3 * scale,
|
||||
branch_child_len: 0.25 / scale,
|
||||
branch_child_radius: 0.0,
|
||||
branch_child_radius_lerp: false,
|
||||
leaf_radius: 1.3..2.2,
|
||||
leaf_radius_scaled: 0.4 * log_scale,
|
||||
straightness: 0.3,
|
||||
max_depth: 1,
|
||||
splits: 34.0 * scale..35.0 * scale,
|
||||
split_range: 0.1..1.2,
|
||||
branch_len_bias: 0.75,
|
||||
leaf_vertical_scale: 0.6,
|
||||
proportionality: 1.0,
|
||||
inhabited: false,
|
||||
hanging_sprites: &[(0.0001, SpriteKind::Beehive)],
|
||||
trunk_block: StructureBlock::Filled(BlockKind::Wood, Rgb::new(79, 102, 105)),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn jungle(rng: &mut impl Rng, scale: f32) -> Self {
|
||||
let scale = scale * (0.8 + rng.gen::<f32>() * 0.5);
|
||||
let log_scale = 1.0 + scale.log2().max(0.0);
|
||||
|
@ -324,7 +324,7 @@ impl Structure for House {
|
||||
let roof_rear = painter.prim(Primitive::intersect(roof_empty, roof_rear_wall));
|
||||
painter.fill(
|
||||
roof_primitive,
|
||||
Fill::Block(Block::new(BlockKind::Wood, self.roof_color)),
|
||||
Fill::Brick(BlockKind::Wood, self.roof_color, 24),
|
||||
);
|
||||
painter.fill(roof_empty, Fill::Block(Block::empty()));
|
||||
let roof_walls = painter.prim(Primitive::union(roof_front, roof_rear));
|
||||
@ -1084,10 +1084,7 @@ impl Structure for House {
|
||||
dir: Dir::X,
|
||||
}),
|
||||
};
|
||||
painter.fill(
|
||||
shed,
|
||||
Fill::Block(Block::new(BlockKind::Wood, self.roof_color)),
|
||||
);
|
||||
painter.fill(shed, Fill::Brick(BlockKind::Wood, self.roof_color, 24));
|
||||
painter.fill(shed_empty, Fill::Block(Block::empty()));
|
||||
let shed_left_wall = match self.front {
|
||||
0 => painter.prim(Primitive::Aabb(Aabb {
|
||||
@ -1435,7 +1432,7 @@ impl Structure for House {
|
||||
);
|
||||
painter.fill(
|
||||
painter.prim(Primitive::without(dormer_roof, shed)),
|
||||
Fill::Block(Block::new(BlockKind::Wood, self.roof_color)),
|
||||
Fill::Brick(BlockKind::Wood, self.roof_color, 24),
|
||||
);
|
||||
painter.fill(window_cavity, Fill::Block(Block::empty()));
|
||||
painter.fill(
|
||||
|
Loading…
Reference in New Issue
Block a user