diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-0.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-0.vox new file mode 100644 index 0000000000..60167ffa74 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-0.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-1.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-1.vox new file mode 100644 index 0000000000..0408f49409 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-1.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-2.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-2.vox new file mode 100644 index 0000000000..68d7e933ad Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-2.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-3.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-3.vox new file mode 100644 index 0000000000..77486f2852 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-3.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-4.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-4.vox new file mode 100644 index 0000000000..449dc5c932 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-4.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-5.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-5.vox new file mode 100644 index 0000000000..1ca52e1371 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-5.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-6.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-6.vox new file mode 100644 index 0000000000..2dbd780408 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-6.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-7.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-7.vox new file mode 100644 index 0000000000..00e68b5a2e Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_long-7.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-0.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-0.vox new file mode 100644 index 0000000000..efd92a2f77 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_med-0.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-1.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-1.vox new file mode 100644 index 0000000000..130f4f2354 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_med-1.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-2.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-2.vox new file mode 100644 index 0000000000..471659b4c9 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_med-2.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-3.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-3.vox new file mode 100644 index 0000000000..0c3b1672e1 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_med-3.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-0.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-0.vox new file mode 100644 index 0000000000..4db9257128 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_short-0.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-1.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-1.vox new file mode 100644 index 0000000000..9599de18ac Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_short-1.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-2.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-2.vox new file mode 100644 index 0000000000..25c2961619 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_short-2.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-3.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-3.vox new file mode 100644 index 0000000000..69817b75e2 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_short-3.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-4.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-4.vox new file mode 100644 index 0000000000..c53327ec9e Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/grass_short-4.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-0.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-0.vox new file mode 100644 index 0000000000..cfbe8bfdda Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/lillypad-0.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-1.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-1.vox new file mode 100644 index 0000000000..41d654a8cd Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/lillypad-1.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-2.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-2.vox new file mode 100644 index 0000000000..55bd1a25b0 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/lillypad-2.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-3.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-3.vox new file mode 100644 index 0000000000..66cc3d1f23 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/lillypad-3.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-4.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-4.vox new file mode 100644 index 0000000000..4734a99dd0 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/lillypad-4.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-0.vox b/assets/voxygen/voxel/sprite/cavern/mycel-0.vox new file mode 100644 index 0000000000..0798cef6ae Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/mycel-0.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-1.vox b/assets/voxygen/voxel/sprite/cavern/mycel-1.vox new file mode 100644 index 0000000000..1bcb018930 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/mycel-1.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-2.vox b/assets/voxygen/voxel/sprite/cavern/mycel-2.vox new file mode 100644 index 0000000000..1c00fde4b2 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/mycel-2.vox differ diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-3.vox b/assets/voxygen/voxel/sprite/cavern/mycel-3.vox new file mode 100644 index 0000000000..51a4a7bfb7 Binary files /dev/null and b/assets/voxygen/voxel/sprite/cavern/mycel-3.vox differ diff --git a/assets/voxygen/voxel/sprite_manifest.ron b/assets/voxygen/voxel/sprite_manifest.ron index 79f99e2112..7672a1b9a5 100644 --- a/assets/voxygen/voxel/sprite_manifest.ron +++ b/assets/voxygen/voxel/sprite_manifest.ron @@ -3258,6 +3258,7 @@ CookingPot: Some(( ], wind_sway: 0.0, )), +// Ensnaring Vines EnsnaringVines: Some(( variations: [ ( @@ -3310,4 +3311,164 @@ Bones: Some(( ], wind_sway: 0.0, )), +// Short Cavern Grass Blue +CavernGrassBlueShort: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.grass_short-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-4", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Medium Cavern Grass Blue +CavernGrassBlueMedium: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.grass_med-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_med-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_med-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_med-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Long Cavern Grass Blue +CavernGrassBlueLong: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.grass_long-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-4", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-5", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-6", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-7", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Cavern Lillypads Blue +CavernLillypadBlue: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.lillypad-0", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-1", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-2", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-3", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-4", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Cavern Hanging Mycel Blue +CavernMycelBlue: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.mycel-0", + offset: (-0.5, -0.5, -21.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.mycel-1", + offset: (-0.5, -0.5, -31.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.mycel-2", + offset: (-0.5, -0.5, -14.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.mycel-3", + offset: (-0.5, -0.5, -40.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.1, +)), ) diff --git a/common/src/terrain/block.rs b/common/src/terrain/block.rs index 9b91989557..5365566f96 100644 --- a/common/src/terrain/block.rs +++ b/common/src/terrain/block.rs @@ -179,7 +179,7 @@ impl Block { match self.kind() { BlockKind::Lava => Some(24), BlockKind::GlowingRock | BlockKind::GlowingWeakRock => Some(15), - BlockKind::BlockKind::GlowingMushroom => Some(20), + BlockKind::GlowingMushroom => Some(20), _ => match self.get_sprite()? { SpriteKind::StreetLamp | SpriteKind::StreetLampTall => Some(24), SpriteKind::Ember => Some(20), diff --git a/common/src/terrain/sprite.rs b/common/src/terrain/sprite.rs index cf67732a01..0a56b74d98 100644 --- a/common/src/terrain/sprite.rs +++ b/common/src/terrain/sprite.rs @@ -177,6 +177,11 @@ make_case_elim!( WitchWindow = 0x96, SmokeDummy = 0x97, Bones = 0x98, + CavernGrassBlueShort = 0x99, + CavernGrassBlueMedium = 0x9A, + CavernGrassBlueLong = 0x9B, + CavernLillypadBlue = 0x9C, + CavernMycelBlue = 0x9D, } ); diff --git a/voxygen/src/scene/terrain/watcher.rs b/voxygen/src/scene/terrain/watcher.rs index 14acd1b2e6..bcf3a952ff 100644 --- a/voxygen/src/scene/terrain/watcher.rs +++ b/voxygen/src/scene/terrain/watcher.rs @@ -79,6 +79,8 @@ impl BlocksOfInterest { river.push(pos) }, BlockKind::Snow if rng.gen_range(0..16) == 0 => snow.push(pos), + BlockKind::Lava if rng.gen_range(0..5) == 0 => fires.push(pos + Vec3::unit_z()), + BlockKind::Snow if rng.gen_range(0..16) == 0 => snow.push(pos), _ => match block.get_sprite() { Some(SpriteKind::Ember) => { fires.push(pos); @@ -109,66 +111,30 @@ impl BlocksOfInterest { Some(SpriteKind::CraftingBench) => { interactables.push((pos, Interaction::Craft(CraftingTab::All))) }, - BlockKind::Lava if rng.gen_range(0..5) == 0 => fires.push(pos + Vec3::unit_z()), - BlockKind::Snow if rng.gen_range(0..16) == 0 => snow.push(pos), - _ => match block.get_sprite() { - Some(SpriteKind::Ember) => { - fires.push(pos); - smokers.push(pos); - }, - Some(SpriteKind::SmokeDummy) => { - smokers.push(pos); - }, - // Offset positions to account for block height. - // TODO: Is this a good idea? - Some(SpriteKind::StreetLamp) => fire_bowls.push(pos + Vec3::unit_z() * 2), - Some(SpriteKind::FireBowlGround) => fire_bowls.push(pos + Vec3::unit_z()), - Some(SpriteKind::StreetLampTall) => { - fire_bowls.push(pos + Vec3::unit_z() * 3); - }, - Some(SpriteKind::WallSconce) => fire_bowls.push(pos + Vec3::unit_z()), - Some(SpriteKind::Beehive) => beehives.push(pos), - Some(SpriteKind::CrystalHigh) => fireflies.push(pos), - Some(SpriteKind::Reed) => { - reeds.push(pos); - fireflies.push(pos); - if rng.gen_range(0..12) == 0 { - frogs.push(pos); - } - }, - Some(SpriteKind::CaveMushroom) => fireflies.push(pos), - Some(SpriteKind::PinkFlower) => flowers.push(pos), - Some(SpriteKind::PurpleFlower) => flowers.push(pos), - Some(SpriteKind::RedFlower) => flowers.push(pos), - Some(SpriteKind::WhiteFlower) => flowers.push(pos), - Some(SpriteKind::YellowFlower) => flowers.push(pos), - Some(SpriteKind::Sunflower) => flowers.push(pos), - Some(SpriteKind::CraftingBench) => { - interactables.push((pos, Interaction::Craft(CraftingTab::All))) - }, - Some(SpriteKind::Forge) => { - interactables.push((pos, Interaction::Craft(CraftingTab::Dismantle))) - }, - Some(SpriteKind::TanningRack) => interactables - .push((pos, Interaction::Craft(CraftingTab::ProcessedMaterial))), - Some(SpriteKind::SpinningWheel) => { - interactables.push((pos, Interaction::Craft(CraftingTab::All))) - }, - Some(SpriteKind::Loom) => { - interactables.push((pos, Interaction::Craft(CraftingTab::All))) - }, - Some(SpriteKind::Cauldron) => { - fires.push(pos); - interactables.push((pos, Interaction::Craft(CraftingTab::Potion))) - }, - Some(SpriteKind::Anvil) => { - interactables.push((pos, Interaction::Craft(CraftingTab::Weapon))) - }, - Some(SpriteKind::CookingPot) => { - fires.push(pos); - interactables.push((pos, Interaction::Craft(CraftingTab::Food))) - }, - _ => {}, + Some(SpriteKind::SmokeDummy) => { + smokers.push(pos); + }, + Some(SpriteKind::Forge) => { + interactables.push((pos, Interaction::Craft(CraftingTab::Dismantle))) + }, + Some(SpriteKind::TanningRack) => interactables + .push((pos, Interaction::Craft(CraftingTab::ProcessedMaterial))), + Some(SpriteKind::SpinningWheel) => { + interactables.push((pos, Interaction::Craft(CraftingTab::All))) + }, + Some(SpriteKind::Loom) => { + interactables.push((pos, Interaction::Craft(CraftingTab::All))) + }, + Some(SpriteKind::Cauldron) => { + fires.push(pos); + interactables.push((pos, Interaction::Craft(CraftingTab::Potion))) + }, + Some(SpriteKind::Anvil) => { + interactables.push((pos, Interaction::Craft(CraftingTab::Weapon))) + }, + Some(SpriteKind::CookingPot) => { + fires.push(pos); + interactables.push((pos, Interaction::Craft(CraftingTab::Food))) }, _ => {}, },