diff --git a/assets/common/cave_scatter.ron b/assets/common/cave_scatter.ron index 13e3ccf291..2176f1d68d 100644 --- a/assets/common/cave_scatter.ron +++ b/assets/common/cave_scatter.ron @@ -4,7 +4,12 @@ (110, Stones), (150, ShortGrass), (120, CaveMushroom), - (4, ShinyGem), + (30, AmethystSmall), + (30, TopazSmall), + (16, SapphireSmall), + (12, EmeraldSmall), + (8, RubySmall), + (4, DiamondSmall), (5, Chest), (15, Crate), ] diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index 5d91be5503..7459a9b640 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -1668,4 +1668,29 @@ "voxel.weapon.tool.broom_belzeshrub_purple", (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.1, ), + // Gems + Ingredient("Amethyst"): VoxTrans( + "voxel.sprite.gem.amethyst-0", + (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, + ), + Ingredient("Topaz"): VoxTrans( + "voxel.sprite.gem.topaz-0", + (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.7, + ), + Ingredient("Sapphire"): VoxTrans( + "voxel.sprite.gem.sapphire-0", + (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, + ), + Ingredient("Emerald"): VoxTrans( + "voxel.sprite.gem.emerald-0", + (0.0, 0.0, 0.0), (-120.0, -160.0, 20.0), 0.8, + ), + Ingredient("Ruby"): VoxTrans( + "voxel.sprite.gem.ruby-0", + (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, + ), + Ingredient("Diamond"): VoxTrans( + "voxel.sprite.gem.diamond-0", + (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, + ), }) diff --git a/assets/voxygen/voxel/sprite/gem/amethyst-0.vox b/assets/voxygen/voxel/sprite/gem/amethyst-0.vox new file mode 100644 index 0000000000..5c906cc24a Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/amethyst-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/amethyst_S-0.vox b/assets/voxygen/voxel/sprite/gem/amethyst_S-0.vox new file mode 100644 index 0000000000..a4921c402a Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/amethyst_S-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/diamond-0.vox b/assets/voxygen/voxel/sprite/gem/diamond-0.vox new file mode 100644 index 0000000000..a0cdedeefc Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/diamond-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/diamond_S-0.vox b/assets/voxygen/voxel/sprite/gem/diamond_S-0.vox new file mode 100644 index 0000000000..41386e9a67 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/diamond_S-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/emerald-0.vox b/assets/voxygen/voxel/sprite/gem/emerald-0.vox new file mode 100644 index 0000000000..95f85c8f94 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/emerald-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/emerald_S-0.vox b/assets/voxygen/voxel/sprite/gem/emerald_S-0.vox new file mode 100644 index 0000000000..d2d424d699 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/emerald_S-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/ruby-0.vox b/assets/voxygen/voxel/sprite/gem/ruby-0.vox new file mode 100644 index 0000000000..e5656c9084 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/ruby-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/ruby_S-0.vox b/assets/voxygen/voxel/sprite/gem/ruby_S-0.vox new file mode 100644 index 0000000000..5af5f16a02 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/ruby_S-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/sapphire-0.vox b/assets/voxygen/voxel/sprite/gem/sapphire-0.vox new file mode 100644 index 0000000000..2e88d9a492 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/sapphire-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/sapphire_S-0.vox b/assets/voxygen/voxel/sprite/gem/sapphire_S-0.vox new file mode 100644 index 0000000000..8f2c2be24b Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/sapphire_S-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/topaz-0.vox b/assets/voxygen/voxel/sprite/gem/topaz-0.vox new file mode 100644 index 0000000000..97f3e43599 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/topaz-0.vox differ diff --git a/assets/voxygen/voxel/sprite/gem/topaz_S-0.vox b/assets/voxygen/voxel/sprite/gem/topaz_S-0.vox new file mode 100644 index 0000000000..2cca00c5a3 Binary files /dev/null and b/assets/voxygen/voxel/sprite/gem/topaz_S-0.vox differ diff --git a/assets/voxygen/voxel/sprite_manifest.ron b/assets/voxygen/voxel/sprite_manifest.ron index 18eac918a5..29079d3264 100644 --- a/assets/voxygen/voxel/sprite_manifest.ron +++ b/assets/voxygen/voxel/sprite_manifest.ron @@ -2224,4 +2224,136 @@ Mud: Some(( ], wind_sway: 0.0, )), +// Amethyst Ore +Amethyst: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.amethyst-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Ruby Ore +Ruby: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.ruby-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Diamond Ore +Diamond: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.diamond-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Sapphire Ore +Sapphire: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.sapphire-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Emerald Ore +Emerald: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.emerald-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Topaz Ore +Topaz: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.topaz-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Small Amethyst Ore +AmethystSmall: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.amethyst_S-0", + offset: (-3.5, -3.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Small Topaz Ore +TopazSmall: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.topaz_S-0", + offset: (-3.5, -3.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Small Ruby Ore +RubySmall: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.ruby_S-0", + offset: (-3.5, -3.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Small Emerald Ore +EmeraldSmall: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.emerald_S-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Small Diamond Ore +DiamondSmall: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.diamond_S-0", + offset: (-3.5, -3.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Small Sapphire Ore +SapphireSmall: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.gem.sapphire_S-0", + offset: (-3.5, -3.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), ) diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index f8ef9636fc..36bc0b2de5 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -539,6 +539,18 @@ impl Item { SpriteKind::VialEmpty => "common.items.crafting_ing.empty_vial", SpriteKind::Bowl => "common.items.crafting_ing.bowl", SpriteKind::PotionMinor => "common.items.consumable.potion_minor", + SpriteKind::Amethyst => "common.items.crafting_ing.amethyst", + SpriteKind::Ruby => "common.items.crafting_ing.ruby", + SpriteKind::Diamond => "common.items.crafting_ing.diamond", + SpriteKind::Sapphire => "common.items.crafting_ing.sapphire", + SpriteKind::Topaz => "common.items.crafting_ing.topaz", + SpriteKind::Emerald => "common.items.crafting_ing.emerald", + SpriteKind::AmethystSmall => "common.items.crafting_ing.amethyst", + SpriteKind::TopazSmall => "common.items.crafting_ing.topaz", + SpriteKind::DiamondSmall => "common.items.crafting_ing.diamond", + SpriteKind::RubySmall => "common.items.crafting_ing.ruby", + SpriteKind::EmeraldSmall => "common.items.crafting_ing.emerald", + SpriteKind::SapphireSmall => "common.items.crafting_ing.sapphire", _ => return None, })) } diff --git a/common/src/terrain/block.rs b/common/src/terrain/block.rs index 804765da2b..5b2fd5e78d 100644 --- a/common/src/terrain/block.rs +++ b/common/src/terrain/block.rs @@ -175,6 +175,18 @@ impl Block { SpriteKind::FireBowlGround => Some(16), SpriteKind::Velorite | SpriteKind::VeloriteFrag => Some(6), SpriteKind::CaveMushroom => Some(12), + SpriteKind::Amethyst + | SpriteKind::Ruby + | SpriteKind::Sapphire + | SpriteKind::Diamond + | SpriteKind::Emerald + | SpriteKind::Topaz + | SpriteKind::AmethystSmall + | SpriteKind::TopazSmall + | SpriteKind::DiamondSmall + | SpriteKind::RubySmall + | SpriteKind::EmeraldSmall + | SpriteKind::SapphireSmall => Some(3), _ => None, } } diff --git a/common/src/terrain/sprite.rs b/common/src/terrain/sprite.rs index 57610f0557..d524b61365 100644 --- a/common/src/terrain/sprite.rs +++ b/common/src/terrain/sprite.rs @@ -115,6 +115,18 @@ make_case_elim!( TallSavannaGrass = 0x58, RedSavannaGrass = 0x59, SavannaBush = 0x5A, + Amethyst = 0x5B, + Ruby = 0x5C, + Sapphire = 0x5D, + Emerald = 0x5E, + Topaz = 0x5F, + Diamond = 0x60, + AmethystSmall = 0x61, + TopazSmall = 0x62, + DiamondSmall = 0x63, + RubySmall = 0x64, + EmeraldSmall = 0x65, + SapphireSmall = 0x66, } ); @@ -206,6 +218,18 @@ impl SpriteKind { SpriteKind::Bowl => true, SpriteKind::ChestBurried => true, SpriteKind::Mud => true, + SpriteKind::Amethyst => true, + SpriteKind::Ruby => true, + SpriteKind::Diamond => true, + SpriteKind::Sapphire => true, + SpriteKind::Emerald => true, + SpriteKind::Topaz => true, + SpriteKind::AmethystSmall => true, + SpriteKind::TopazSmall => true, + SpriteKind::DiamondSmall => true, + SpriteKind::RubySmall => true, + SpriteKind::EmeraldSmall => true, + SpriteKind::SapphireSmall => true, _ => false, } }