proper recipes, tanning racks, various fixes

This commit is contained in:
jshipsey 2021-05-27 03:19:14 -04:00 committed by Marcel Märtens
parent 1a5717e957
commit 7a573efab7
37 changed files with 390 additions and 229 deletions

View File

@ -14,7 +14,7 @@
(60, Iron),
(10, Silver),
(6, Gold),
(8, RubySmall),
(10, RubySmall),
(8, DiamondSmall),
(5, Chest),
(15, Crate),

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "ClothScraps",
),
quality: Common,
tags: [BaseMaterial],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "ClothScrapsRed",
),
quality: Common,
tags: [BaseMaterial],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "Cotton",
),
quality: Low,
tags: [],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "Lifecloth",
),
quality: High,
tags: [],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "Linen",
),
quality: Low,
tags: [],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "Moonweave",
),
quality: Epic,
tags: [],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "Silk",
),
quality: Moderate,
tags: [],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "Sunsilk",
),
quality: Legendary,
tags: [],
tags: [Textile],
)

View File

@ -5,5 +5,5 @@ ItemDef(
kind: "Wool",
),
quality: Common,
tags: [],
tags: [Textile],
)

View File

@ -0,0 +1,9 @@
ItemDef(
name: "Wild Flax",
description: "Could be used to spin some simple cloth.",
kind: Ingredient(
kind: "WildFlax",
),
quality: Common,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Any woven cloth",
description: "Cloths spun from plant material.",
kind: TagExamples(
item_ids: [
"common.items.crafting_ing.cloth.moonweave",
"common.items.crafting_ing.cloth.sunsilk",
],
),
quality: Common,
tags: [],
)

View File

@ -11,12 +11,4 @@
(1.0, Some(Item("common.items.armor.misc.chest.worker_orange_0"))),
(1.0, Some(Item("common.items.armor.misc.chest.worker_orange_1"))),
]),
Armor(Belt): Item("common.items.armor.swift.belt"),
Armor(Legs): Item("common.items.armor.misc.pants.worker_blue"),
Armor(Feet): Choice([
(1.0, Some(Item("common.items.armor.swift.foot"))),
(1.0, Some(Item("common.items.armor.misc.foot.sandals"))),
]),
})

View File

@ -1,4 +1,4 @@
[
(1.0, Item("common.items.food.meat.bird_raw")),
(0.1, Item("common.items.food.meat.bird_large_raw")),
(1.0, Item("common.items.crafting_ing.hide.scales")),
]

View File

@ -2,4 +2,5 @@
(1.0, LootTable("common.loot_tables.humanoids")),
(1.0, LootTable("common.loot_tables.armor.leather")),
(2.0, LootTable("common.loot_tables.weapons.tier-1")),
(1.5, Item("common.items.crafting_ing.sticky_thread")),
]

View File

@ -14,4 +14,5 @@
(0.001, Item("common.items.armor.misc.back.backpack")),
(0.1, Item("common.items.armor.misc.bag.heavy_seabag")),
(1.0, LootTable("common.loot_tables.consumable.default")),
(4.0, Item("common.items.crafting_ing.hide.dragon_scale")),
]

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,7 @@
"hud.crafting.forge": "Forge",
"hud.crafting.loom": "Loom",
"hud.crafting.spinning_wheel": "Spinning Wheel",
"hud.crafting.tanning_rack": "Tanning Rack",
// Tabs
"hud.crafting.tabs.all": "All",
"hud.crafting.tabs.armor": "Armor",
@ -28,6 +29,7 @@
"hud.crafting.tabs.utility": "Utility",
"hud.crafting.tabs.weapon": "Weapons",
"hud.crafting.tabs.bag": "Bags",
"hud.crafting.tabs.material": "Materials",
},

View File

@ -21,14 +21,18 @@
),
Tool("Forge"): VoxTrans(
"voxel.object.forge",
(0.0, 0.0, 0.0), (-50.0, 40.0, 20.0), 1.0,
(0.0, 0.0, 0.0), (-80.0, 20.0, 0.0), 1.0,
),
Tool("Loom"): VoxTrans(
"voxel.object.loom",
(0.0, 0.0, 0.0), (-50.0, 40.0, 20.0), 1.0,
(0.0, 0.0, 0.0), (-100.0, 00.0, 0.0), 1.0,
),
Tool("SpinningWheel"): VoxTrans(
"voxel.object.spinning_wheel",
(0.0, 0.0, 0.0), (-70.0, 10.0, 0.0), 1.0,
),
Tool("TanningRack"): VoxTrans(
"voxel.object.tanning_rack",
(0.0, 0.0, 0.0), (-50.0, 40.0, 20.0), 1.0,
),
// Weapons
@ -2533,6 +2537,10 @@
"voxel.sprite.flowers.pyrebloom",
(0.0, 0.0, 0.0), (-75.0, 0.0, 20.0), 0.9,
),
Ingredient("WildFlax"): VoxTrans(
"voxel.sprite.flowers.flax",
(0.0, 0.0, 0.0), (-75.0, 0.0, 20.0), 0.8,
),
Ingredient("CottonBoll"): VoxTrans(
"voxel.sprite.crafting_ing.cotton_boll",
(0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9,
@ -2613,10 +2621,6 @@
"voxel.sprite.mineral.ore.silver",
(0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8,
),
Ingredient("OrichalcumIngot"): VoxTrans(
"voxel.sprite.mineral.ore.orichalcum",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
),
Ingredient("BloodstoneOre"): VoxTrans(
"voxel.sprite.mineral.ore.bloodstone",
(0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8,

View File

@ -53,7 +53,7 @@
color: None
),
"Leather": (
vox_spec: ("armor.hide.leather.back", (-5.0, -1.0, -11.0)),
vox_spec: ("armor.hide.leather.back", (-4.0, -1.0, -6.0)),
color: None
),
"Scale": (

View File

@ -85,7 +85,7 @@
color: None
),
"Leather": (
vox_spec: ("armor.hide.leather.belt", (-5.0, -3.5, 2.0)),
vox_spec: ("armor.hide.leather.belt", (-4.0, -3.5, 2.0)),
color: None
),
"Scale":(

View File

@ -99,36 +99,6 @@
central: ("armor.empty"),
)
),
Forge: (
bone0: (
offset: (-6.5, -6.0, 0.0),
central: ("object.forge"),
),
bone1: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
)
),
Loom: (
bone0: (
offset: (-6.0, -4.0, 0.0),
central: ("object.loom"),
),
bone1: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
)
),
SpinningWheel: (
bone0: (
offset: (-7.5, -5.0, 0.0),
central: ("object.spinning_wheel"),
),
bone1: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
)
),
ChestVines: (
bone0: (
offset: (-7.5, -6.0, 0.0),

BIN
assets/voxygen/voxel/sprite/flowers/flax.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -3022,6 +3022,41 @@ Pyrebloom: Some((
],
wind_sway: 0.0,
)),
WildFlax: Some((
variations: [
(
model: "voxygen.voxel.sprite.flax.flax-0",
offset: (-6.0, -6.0, 0.0),
lod_axes: (0.0, 0.0, 0.7),
),
(
model: "voxygen.voxel.sprite.flax.flax-1",
offset: (-6.0, -6.0, 0.0),
lod_axes: (0.0, 0.0, 0.7),
),
(
model: "voxygen.voxel.sprite.flax.flax-2",
offset: (-6.0, -6.0, 0.0),
lod_axes: (0.0, 0.0, 0.7),
),
(
model: "voxygen.voxel.sprite.flax.flax-3",
offset: (-6.0, -6.0, 0.0),
lod_axes: (0.0, 0.0, 0.7),
),
(
model: "voxygen.voxel.sprite.flax.flax-4",
offset: (-6.0, -6.0, 0.0),
lod_axes: (0.0, 0.0, 0.7),
),
(
model: "voxygen.voxel.sprite.flax.flax-5",
offset: (-6.0, -6.0, 0.0),
lod_axes: (0.0, 0.0, 0.7),
),
],
wind_sway: 0.4,
)),
// Lantern
Lantern: Some((
variations: [
@ -3086,6 +3121,16 @@ SpinningWheel: Some((
],
wind_sway: 0.0,
)),
TanningRack: Some((
variations: [
(
model: "voxygen.voxel.object.tanning_rack",
offset: (-7.5, -4.0, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
],
wind_sway: 0.0,
)),
// Crafting Bench
CraftingBench: Some((
variations: [

View File

@ -234,9 +234,6 @@ impl Body {
Body::CarpetHumanSquircle => "carpet_human_squircle",
Body::Pouch => "pouch",
Body::CraftingBench => "crafting_bench",
Body::Forge => "forge",
Body::Loom => "loom",
Body::SpinningWheel => "spinning_wheel",
Body::BoltFire => "bolt_fire",
Body::BoltFireBig => "bolt_fire_big",
Body::ArrowSnake => "arrow_snake",
@ -323,9 +320,6 @@ impl Body {
| Body::ChestVines => 100.0,
Body::Coins => 1.0,
Body::CraftingBench => 100.0,
Body::Forge => 100.0,
Body::Loom => 100.0,
Body::SpinningWheel => 100.0,
Body::Crate => 50.0,
Body::Crossbow => 200.0,
Body::DoorSpooky => 20.0,

View File

@ -97,6 +97,7 @@ pub enum ItemTag {
LeatherItem,
ModularComponent(ModularComponentTag),
MetalIngot,
Textile,
Cultist,
Potion,
Food,
@ -113,6 +114,7 @@ impl TagExampleInfo for ItemTag {
ItemTag::LeatherItem => "leather item",
ItemTag::ModularComponent(kind) => kind.name(),
ItemTag::MetalIngot => "metal ingot",
ItemTag::Textile => "textile",
ItemTag::Cultist => "cultist",
ItemTag::Potion => "potion",
ItemTag::Food => "food",
@ -130,6 +132,7 @@ impl TagExampleInfo for ItemTag {
ItemTag::LeatherItem => "common.items.tag_examples.leather_item",
ItemTag::ModularComponent(tag) => tag.exemplar_identifier(),
ItemTag::MetalIngot => "common.items.tag_examples.metal_ingot",
ItemTag::Textile => "common.items.tag_examples.textile",
ItemTag::Cultist => "common.items.tag_examples.cultist",
ItemTag::Potion => "common.items.tag_examples.placeholder",
ItemTag::Food => "common.items.tag_examples.placeholder",
@ -749,6 +752,7 @@ impl Item {
SpriteKind::Cotton => "common.items.crafting_ing.cotton_boll",
SpriteKind::Moonbell => "common.items.flowers.moonbell",
SpriteKind::Pyrebloom => "common.items.flowers.pyrebloom",
SpriteKind::WildFlax => "common.items.flowers.wild_flax",
SpriteKind::Seashells => "common.items.crafting_ing.seashells",
// Containers
// IMPORTANT: Add any new container to `SpriteKind::is_container`

View File

@ -168,6 +168,8 @@ make_case_elim!(
Cotton = 0x8D,
Moonbell = 0x8E,
Pyrebloom = 0x8F,
TanningRack = 0x90,
WildFlax = 0x91,
}
);
@ -219,6 +221,7 @@ impl SpriteKind {
SpriteKind::Forge => 2.7,
SpriteKind::Cauldron => 1.27,
SpriteKind::SpinningWheel => 1.6,
SpriteKind::TanningRack => 2.2,
SpriteKind::Loom => 1.27,
SpriteKind::Anvil => 1.1,
SpriteKind::CookingPot => 1.36,
@ -292,6 +295,7 @@ impl SpriteKind {
SpriteKind::Cotton => true,
SpriteKind::Moonbell => true,
SpriteKind::Pyrebloom => true,
SpriteKind::WildFlax => true,
_ => false,
}
}
@ -394,6 +398,7 @@ impl SpriteKind {
| SpriteKind::Anvil
| SpriteKind::CookingPot
| SpriteKind::SpinningWheel
| SpriteKind::TanningRack
| SpriteKind::Loom
)
}

View File

@ -147,6 +147,7 @@ pub enum CraftingTab {
Tool,
Utility,
Glider,
Material,
}
impl CraftingTab {
fn name_key(&self) -> &str {
@ -161,6 +162,7 @@ impl CraftingTab {
CraftingTab::Utility => "hud.crafting.tabs.utility",
CraftingTab::Weapon => "hud.crafting.tabs.weapon",
CraftingTab::Bag => "hud.crafting.tabs.bag",
CraftingTab::Material => "hud.crafting.tabs.material",
}
}
@ -176,6 +178,7 @@ impl CraftingTab {
CraftingTab::Utility => imgs.icon_utility,
CraftingTab::Weapon => imgs.icon_weapon,
CraftingTab::Bag => imgs.icon_bag,
CraftingTab::Material => imgs.icon_material,
}
}
@ -189,6 +192,9 @@ impl CraftingTab {
},
CraftingTab::Glider => matches!(item.kind(), ItemKind::Glider(_)),
CraftingTab::Potion => item.tags().contains(&ItemTag::Potion),
CraftingTab::Material => {
item.tags().contains(&ItemTag::MetalIngot) | item.tags().contains(&ItemTag::Textile)
},
CraftingTab::Bag => item.tags().contains(&ItemTag::Bag),
CraftingTab::Tool => item.tags().contains(&ItemTag::CraftingTool),
CraftingTab::Utility => item.tags().contains(&ItemTag::Utility),
@ -691,6 +697,7 @@ impl<'a> Widget for Crafting<'a> {
Some(SpriteKind::Forge) => "Forge",
Some(SpriteKind::Loom) => "Loom",
Some(SpriteKind::SpinningWheel) => "SpinningWheel",
Some(SpriteKind::TanningRack) => "TanningRack",
None => "CraftsmanHammer",
_ => "CraftsmanHammer",
};
@ -713,6 +720,7 @@ impl<'a> Widget for Crafting<'a> {
Some(SpriteKind::Forge) => "hud.crafting.forge",
Some(SpriteKind::Loom) => "hud.crafting.loom",
Some(SpriteKind::SpinningWheel) => "hud.crafting.spinning_wheel",
Some(SpriteKind::TanningRack) => "hud.crafting.tanning_rack",
_ => "",
};
Text::new(&self.localized_strings.get(station_name))

View File

@ -107,6 +107,7 @@ image_ids! {
icon_utility: "voxygen.element.ui.crafting.icons.utilities",
icon_weapon: "voxygen.element.ui.crafting.icons.weapons",
icon_bag: "voxygen.element.items.item_bag_leather_large",
icon_material: "voxygen.element.ui.crafting.icons.weapons",
// Group Window
member_frame: "voxygen.element.ui.groups.group_member_frame",

View File

@ -121,6 +121,9 @@ impl BlocksOfInterest {
Some(SpriteKind::Forge) => {
interactables.push((pos, Interaction::Craft(CraftingTab::Dismantle)))
},
Some(SpriteKind::TanningRack) => {
interactables.push((pos, Interaction::Craft(CraftingTab::Material)))
},
Some(SpriteKind::SpinningWheel) => {
interactables.push((pos, Interaction::Craft(CraftingTab::All)))
},

View File

@ -106,6 +106,15 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) {
Some((100.0, 0.15)),
)
}),
(WildFlax, false, |c, col| {
(
close(c.temp, 0.0, 0.7).min(close(c.humidity, CONFIG.jungle_hum, 0.4))
* col.tree_density
* MUSH_FACT
* 600.0,
Some((100.0, 0.15)),
)
}),
// Herbs and Spices
(LingonBerry, false, |c, _| {
(

View File

@ -524,13 +524,13 @@ impl Archetype for House {
&& center_offset.map(|e| e % 3 == 0).reduce_and()
&& self
.noise
.chance(Vec3::new(center_offset.x, center_offset.y, z), 0.2)
.chance(Vec3::new(center_offset.x, center_offset.y, z), 0.8)
{
let furniture = match self.noise.get(Vec3::new(
center_offset.x,
center_offset.y,
z + 100,
)) % 11
)) % 12
{
0..=1 => SpriteKind::Crate,
2 => SpriteKind::Bench,
@ -542,6 +542,7 @@ impl Archetype for House {
8 => SpriteKind::Forge,
9 => SpriteKind::Loom,
10 => SpriteKind::SpinningWheel,
11 => SpriteKind::TanningRack,
_ => unreachable!(),
};