diff --git a/CHANGELOG.md b/CHANGELOG.md index 0444ed08f4..4e0e3836de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Plugin can now retrieve data from ECS +- Plugin can now retrieve data from ECS - Added chat commands for inviting, kicking, leaving, and promoting in groups - Aura system - Campfire resting heal @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Support for dual wielding (not accessible as animations still needed) - Support for modular weapons. - Saturation buff (healing from food) now queues +- Coral reefs, kelp forests, and seagrass ### Changed diff --git a/assets/common/items/armor/neck/neck_2.ron b/assets/common/items/armor/neck/neck_2.ron new file mode 100644 index 0000000000..9a17ee9d0c --- /dev/null +++ b/assets/common/items/armor/neck/neck_2.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Seashell Necklace", + description: "Contains the guardian aura of the ocean", + kind: Armor(( + kind: Neck("NeckShell"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Moderate, + tags: [], +) diff --git a/assets/common/items/crafting_ing/seashells.ron b/assets/common/items/crafting_ing/seashells.ron new file mode 100644 index 0000000000..b3d25994db --- /dev/null +++ b/assets/common/items/crafting_ing/seashells.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Seashells", + description: "Shells from a sea creture.", + kind: Ingredient( + kind: "Seashells", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/recipe_book.ron b/assets/common/recipe_book.ron index 974602a42a..55e99c003c 100644 --- a/assets/common/recipe_book.ron +++ b/assets/common/recipe_book.ron @@ -279,6 +279,15 @@ ("common.items.armor.shoulder.leather_adventurer", 1), [(Item("common.items.crafting_ing.leather_scraps"), 12)], ), + "Seashell Necklace": ( + ("common.items.armor.neck.neck_2", 1), + [ + (Item("common.items.crafting_ing.cloth_scraps"), 2), + (Item("common.items.crafting_ing.sapphire"), 1), + (Item("common.items.crafting_ing.seashells"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + ), "red cloth": ( ("common.items.crafting_ing.cloth_scraps_red", 1), [ diff --git a/assets/voxygen/element/icons/neck-seashell.png b/assets/voxygen/element/icons/neck-seashell.png new file mode 100644 index 0000000000..1190bf0f3b Binary files /dev/null and b/assets/voxygen/element/icons/neck-seashell.png differ diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index ec45a3fbf1..3e311bd606 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -813,23 +813,23 @@ Tool("common.items.weapons.sceptre.totem_green"): VoxTrans( "voxel.weapon.sceptre.totem_green", (1.0, -1.0, 0.0), (-130., 90.0, 0.0), 1.2, - ), + ), Tool("common.items.weapons.sceptre.root_green0"): VoxTrans( "voxel.weapon.sceptre.root_green", (1.0, -1.0, 0.0), (-130., 90.0, 0.0), 1.2, - ), + ), Tool("common.items.weapons.sceptre.fork0"): VoxTrans( "voxel.weapon.sceptre.fork", (1.0, -1.0, 0.0), (-130., 90.0, 0.0), 1.2, - ), + ), Tool("common.items.weapons.sceptre.loops0"): VoxTrans( "voxel.weapon.sceptre.loops", (1.0, -1.0, 0.0), (-130., 90.0, 0.0), 1.2, - ), + ), Tool("common.items.weapons.sceptre.root_evil"): VoxTrans( "voxel.weapon.sceptre.root_evil", (1.0, -1.0, 0.0), (-130., 90.0, 0.0), 1.2, - ), + ), Tool("common.items.weapons.sceptre.sceptre_velorite_0"): VoxTrans( "voxel.weapon.sceptre.ore-nature", (1.0, -1.0, 0.0), (-130., 90.0, 0.0), 1.15, @@ -1523,6 +1523,10 @@ Armor(Neck("Neck1")): Png( "element.icons.neck-1", ), + Armor(Neck("NeckShell")): Png( + "element.icons.neck-seashell", + ), + // Tabards Armor(Tabard("Admin")): Png( "element.icons.tabard_admin", @@ -1711,6 +1715,10 @@ "voxel.sprite.rocks.rock-0", (0.0, 0.0, 0.0), (-50.0, 40.0, 20.0), 0.8, ), + Ingredient("Seashells"): VoxTrans( + "voxel.sprite.seashells.shell-0", + (0.0, 0.0, 0.0), (-50.0, 40.0, 20.0), 0.8, + ), Ingredient("IcyShard"): Png( "element.icons.item_ice_shard", ), diff --git a/assets/voxygen/voxel/sprite/algae/acetabularia-0.vox b/assets/voxygen/voxel/sprite/algae/acetabularia-0.vox new file mode 100644 index 0000000000..67a7a02f11 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/acetabularia-0.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/acetabularia-1.vox b/assets/voxygen/voxel/sprite/algae/acetabularia-1.vox new file mode 100644 index 0000000000..bfbaf859f2 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/acetabularia-1.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/acetabularia-2.vox b/assets/voxygen/voxel/sprite/algae/acetabularia-2.vox new file mode 100644 index 0000000000..3c29a7ca02 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/acetabularia-2.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-0.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-0.vox new file mode 100644 index 0000000000..e4ea91c940 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-0.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-1.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-1.vox new file mode 100644 index 0000000000..34decb2d16 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-1.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-2.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-2.vox new file mode 100644 index 0000000000..1787983b68 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-2.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-3.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-3.vox new file mode 100644 index 0000000000..98d812f6f8 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_lentillifera-3.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-0.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-0.vox new file mode 100644 index 0000000000..e4393db3ff Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-0.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-1.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-1.vox new file mode 100644 index 0000000000..8a0eb4fc43 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-1.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-2.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-2.vox new file mode 100644 index 0000000000..4b3967d30d Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-2.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-3.vox b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-3.vox new file mode 100644 index 0000000000..ebaa0e8e90 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-3.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/kelp_sprig-0.vox b/assets/voxygen/voxel/sprite/algae/kelp_sprig-0.vox new file mode 100644 index 0000000000..3cd6dd4205 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/kelp_sprig-0.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/kelp_sprig-1.vox b/assets/voxygen/voxel/sprite/algae/kelp_sprig-1.vox new file mode 100644 index 0000000000..64a3649ff3 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/kelp_sprig-1.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-0.vox b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-0.vox new file mode 100644 index 0000000000..3c59ca8775 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-0.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-1.vox b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-1.vox new file mode 100644 index 0000000000..ddd9e3f246 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-1.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-2.vox b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-2.vox new file mode 100644 index 0000000000..fefc3a16de Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-2.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-3.vox b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-3.vox new file mode 100644 index 0000000000..282289caa2 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/macrocystis_kelp-3.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-0.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-0.vox new file mode 100644 index 0000000000..7bc8001ef5 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-0.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-1.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-1.vox new file mode 100644 index 0000000000..29267144e4 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-1.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-2.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-2.vox new file mode 100644 index 0000000000..199c6be42a Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-2.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-3.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-3.vox new file mode 100644 index 0000000000..154076a80f Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-3.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-4.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-4.vox new file mode 100644 index 0000000000..83257e6389 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-4.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-5.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-5.vox new file mode 100644 index 0000000000..519e7ddeac Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-5.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-6.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-6.vox new file mode 100644 index 0000000000..0c29eeae3c Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-6.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-7.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-7.vox new file mode 100644 index 0000000000..d8f9bd4d91 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-7.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-8.vox b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-8.vox new file mode 100644 index 0000000000..b68c2fb5ab Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/nereocystis_kelp-8.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/udotea-0.vox b/assets/voxygen/voxel/sprite/algae/udotea-0.vox new file mode 100644 index 0000000000..1dff4df644 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/udotea-0.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/udotea-1.vox b/assets/voxygen/voxel/sprite/algae/udotea-1.vox new file mode 100644 index 0000000000..2ee2f96741 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/udotea-1.vox differ diff --git a/assets/voxygen/voxel/sprite/algae/udotea-2.vox b/assets/voxygen/voxel/sprite/algae/udotea-2.vox new file mode 100644 index 0000000000..b97d9013c6 Binary files /dev/null and b/assets/voxygen/voxel/sprite/algae/udotea-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/blue_ricordea-1.vox b/assets/voxygen/voxel/sprite/coral/blue_ricordea-1.vox new file mode 100644 index 0000000000..0e075555ff Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/blue_ricordea-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/blue_ricordea-2.vox b/assets/voxygen/voxel/sprite/coral/blue_ricordea-2.vox new file mode 100644 index 0000000000..8c4dd0ab76 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/blue_ricordea-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/blue_ricordea-3.vox b/assets/voxygen/voxel/sprite/coral/blue_ricordea-3.vox new file mode 100644 index 0000000000..9362387a5e Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/blue_ricordea-3.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/green_brain_coral-0.vox b/assets/voxygen/voxel/sprite/coral/green_brain_coral-0.vox new file mode 100644 index 0000000000..5f34fc2598 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/green_brain_coral-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/green_brain_coral-1.vox b/assets/voxygen/voxel/sprite/coral/green_brain_coral-1.vox new file mode 100644 index 0000000000..7cd9dbc4b2 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/green_brain_coral-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/green_brain_coral-2.vox b/assets/voxygen/voxel/sprite/coral/green_brain_coral-2.vox new file mode 100644 index 0000000000..a154d7a0c4 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/green_brain_coral-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/green_ricordea-1.vox b/assets/voxygen/voxel/sprite/coral/green_ricordea-1.vox new file mode 100644 index 0000000000..80713353cc Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/green_ricordea-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/green_ricordea-2.vox b/assets/voxygen/voxel/sprite/coral/green_ricordea-2.vox new file mode 100644 index 0000000000..bcba68ca5e Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/green_ricordea-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/green_ricordea-3.vox b/assets/voxygen/voxel/sprite/coral/green_ricordea-3.vox new file mode 100644 index 0000000000..79dde3496d Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/green_ricordea-3.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/green_ricordea-4.vox b/assets/voxygen/voxel/sprite/coral/green_ricordea-4.vox new file mode 100644 index 0000000000..55d85d3d19 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/green_ricordea-4.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-0.vox b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-0.vox new file mode 100644 index 0000000000..c0ca88293c Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-1.vox b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-1.vox new file mode 100644 index 0000000000..ac5042ddf4 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-2.vox b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-2.vox new file mode 100644 index 0000000000..da83b02cbb Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-3.vox b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-3.vox new file mode 100644 index 0000000000..8d82597b27 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-3.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/pink_brain_coral-0.vox b/assets/voxygen/voxel/sprite/coral/pink_brain_coral-0.vox new file mode 100644 index 0000000000..27b229dba1 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/pink_brain_coral-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/pink_brain_coral-1.vox b/assets/voxygen/voxel/sprite/coral/pink_brain_coral-1.vox new file mode 100644 index 0000000000..382ce5dbd0 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/pink_brain_coral-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-0.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-0.vox new file mode 100644 index 0000000000..03252da6ce Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-1.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-1.vox new file mode 100644 index 0000000000..3e7321c7cf Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-2.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-2.vox new file mode 100644 index 0000000000..db9071558e Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-3.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-3.vox new file mode 100644 index 0000000000..adb3be4174 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-3.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-4.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-4.vox new file mode 100644 index 0000000000..60cb91ac3e Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-4.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-5.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-5.vox new file mode 100644 index 0000000000..f7ce39c2ed Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-5.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-6.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-6.vox new file mode 100644 index 0000000000..af7acae3dd Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-6.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/plating_acropora-7.vox b/assets/voxygen/voxel/sprite/coral/plating_acropora-7.vox new file mode 100644 index 0000000000..873700a706 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/plating_acropora-7.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/purp-0.vox b/assets/voxygen/voxel/sprite/coral/purp-0.vox new file mode 100644 index 0000000000..bf5d707745 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/purp-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/purp-1.vox b/assets/voxygen/voxel/sprite/coral/purp-1.vox new file mode 100644 index 0000000000..21e1464752 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/purp-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/purple_finger_soft_coral-0.vox b/assets/voxygen/voxel/sprite/coral/purple_finger_soft_coral-0.vox new file mode 100644 index 0000000000..2df740751c Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/purple_finger_soft_coral-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/purple_finger_soft_coral-1.vox b/assets/voxygen/voxel/sprite/coral/purple_finger_soft_coral-1.vox new file mode 100644 index 0000000000..e8f3e7c617 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/purple_finger_soft_coral-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/red_fire_coral-0.vox b/assets/voxygen/voxel/sprite/coral/red_fire_coral-0.vox new file mode 100644 index 0000000000..4d81974bce Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/red_fire_coral-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/red_fire_coral-1.vox b/assets/voxygen/voxel/sprite/coral/red_fire_coral-1.vox new file mode 100644 index 0000000000..fdd632497f Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/red_fire_coral-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/red_fire_coral-2.vox b/assets/voxygen/voxel/sprite/coral/red_fire_coral-2.vox new file mode 100644 index 0000000000..12cf9b709e Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/red_fire_coral-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/red_sea_fan-1.vox b/assets/voxygen/voxel/sprite/coral/red_sea_fan-1.vox new file mode 100644 index 0000000000..ab7b10a9f6 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/red_sea_fan-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/red_sea_fan-2.vox b/assets/voxygen/voxel/sprite/coral/red_sea_fan-2.vox new file mode 100644 index 0000000000..cd09987476 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/red_sea_fan-2.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/red_sea_fan-3.vox b/assets/voxygen/voxel/sprite/coral/red_sea_fan-3.vox new file mode 100644 index 0000000000..11169e0a8c Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/red_sea_fan-3.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/red_sea_fan-4.vox b/assets/voxygen/voxel/sprite/coral/red_sea_fan-4.vox new file mode 100644 index 0000000000..f3a5cee4f7 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/red_sea_fan-4.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/sea_anemone-1.vox b/assets/voxygen/voxel/sprite/coral/sea_anemone-1.vox new file mode 100644 index 0000000000..ab9afa9b02 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/sea_anemone-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/yellow_fire_coral-0.vox b/assets/voxygen/voxel/sprite/coral/yellow_fire_coral-0.vox new file mode 100644 index 0000000000..3a20707ce2 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/yellow_fire_coral-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-0.vox b/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-0.vox new file mode 100644 index 0000000000..5c5943fc32 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-0.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-1.vox b/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-1.vox new file mode 100644 index 0000000000..cdec31ee74 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-1.vox differ diff --git a/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-2.vox b/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-2.vox new file mode 100644 index 0000000000..baa784d663 Binary files /dev/null and b/assets/voxygen/voxel/sprite/coral/yellow_gorgonian-2.vox differ diff --git a/assets/voxygen/voxel/sprite/grass/seagrass-0.vox b/assets/voxygen/voxel/sprite/grass/seagrass-0.vox new file mode 100644 index 0000000000..a955226d04 Binary files /dev/null and b/assets/voxygen/voxel/sprite/grass/seagrass-0.vox differ diff --git a/assets/voxygen/voxel/sprite/grass/seagrass-1.vox b/assets/voxygen/voxel/sprite/grass/seagrass-1.vox new file mode 100644 index 0000000000..85edc9407f Binary files /dev/null and b/assets/voxygen/voxel/sprite/grass/seagrass-1.vox differ diff --git a/assets/voxygen/voxel/sprite/grass/seagrass-2.vox b/assets/voxygen/voxel/sprite/grass/seagrass-2.vox new file mode 100644 index 0000000000..f3de5aab35 Binary files /dev/null and b/assets/voxygen/voxel/sprite/grass/seagrass-2.vox differ diff --git a/assets/voxygen/voxel/sprite/grass/seagrass-3.vox b/assets/voxygen/voxel/sprite/grass/seagrass-3.vox new file mode 100644 index 0000000000..8a3fd9a415 Binary files /dev/null and b/assets/voxygen/voxel/sprite/grass/seagrass-3.vox differ diff --git a/assets/voxygen/voxel/sprite/grass/seagrass-4.vox b/assets/voxygen/voxel/sprite/grass/seagrass-4.vox new file mode 100644 index 0000000000..45b20df8ee Binary files /dev/null and b/assets/voxygen/voxel/sprite/grass/seagrass-4.vox differ diff --git a/assets/voxygen/voxel/sprite/seashells/shell-0.vox b/assets/voxygen/voxel/sprite/seashells/shell-0.vox new file mode 100644 index 0000000000..40c7eb8628 Binary files /dev/null and b/assets/voxygen/voxel/sprite/seashells/shell-0.vox differ diff --git a/assets/voxygen/voxel/sprite/seashells/shell-1.vox b/assets/voxygen/voxel/sprite/seashells/shell-1.vox new file mode 100644 index 0000000000..3b1564e01e Binary files /dev/null and b/assets/voxygen/voxel/sprite/seashells/shell-1.vox differ diff --git a/assets/voxygen/voxel/sprite_manifest.ron b/assets/voxygen/voxel/sprite_manifest.ron index 2de54b1163..c4aff9d909 100644 --- a/assets/voxygen/voxel/sprite_manifest.ron +++ b/assets/voxygen/voxel/sprite_manifest.ron @@ -2205,6 +2205,477 @@ ChestBurried: Some(( ], wind_sway: 0.0, )), +// Stony Coral +StonyCoral: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.coral.yellow_fire_coral-0", + offset: (-7.0, -6.5, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.red_fire_coral-0", + offset: (-6.5, -2.0, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.red_fire_coral-1", + offset: (-7.5, -4.5, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.red_fire_coral-2", + offset: (-7.0, -4, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.green_brain_coral-0", + offset: (-9.5, -10.5, -5.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.green_brain_coral-1", + offset: (-9.5, -10.5, -3.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.green_brain_coral-2", + offset: (-6.5, -6.5, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.pink_brain_coral-0", + offset: (-10.0, -9.5, -5.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.pink_brain_coral-1", + offset: (-6.0, -5.5, -0.0), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.pink_birdsnest_coral-0", + offset: (-5.5, -5.5, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.pink_birdsnest_coral-1", + offset: (-5.5, -5.5, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.pink_birdsnest_coral-2", + offset: (-5.5, -5.5, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.pink_birdsnest_coral-3", + offset: (-5.5, -5.5, -0.1), + lod_axes: (0.5, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-0", + offset: (-9.5, -9.0, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-1", + offset: (-9.5, -9.0, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-2", + offset: (-11.0, -10.5, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-3", + offset: (-11.0, -11.0, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-4", + offset: (-9.0, -9.0, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-5", + offset: (-8.0, -9.0, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-6", + offset: (-9.0, -8.5, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.coral.plating_acropora-7", + offset: (-7, -9.0, -0.1), + lod_axes: (0.5, 0.5, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Soft Coral +SoftCoral: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.coral.yellow_gorgonian-0", + offset: (-3.0, -10.0, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.yellow_gorgonian-1", + offset: (-3.0, -13.0, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.yellow_gorgonian-2", + offset: (-3.0, -17.5, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.purp-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.purp-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.red_sea_fan-1", + offset: (-2.5, -15.5, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.red_sea_fan-2", + offset: (-2.5, -22.5, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.red_sea_fan-3", + offset: (-3.0, -15.5, 0.0), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.purple_finger_soft_coral-0", + offset: (-9.5, -8.5, -0.1), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.purple_finger_soft_coral-1", + offset: (-10.0, -19.5, -0.1), + lod_axes: (0.0, 0.5, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.green_ricordea-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.green_ricordea-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.green_ricordea-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.green_ricordea-4", + offset: (-6.5, -6.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.blue_ricordea-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.blue_ricordea-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.blue_ricordea-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.coral.sea_anemone-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 1.0, +)), +// Sea Anemones +SeaAnemone: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.coral.sea_anemone-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 1.0, +)), +//Bull kelp +BullKelp: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-4", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-5", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-6", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-7", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.nereocystis_kelp-8", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 0.5, +)), +//scattered temperate type Seaweed +SeaweedTemperate: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.algae.kelp_sprig-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.kelp_sprig-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_short_1", + offset: (-5.5, -6.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_short_2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 0.5, +)), +//scattered tropical type seaweed +SeaweedTropical: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.grass.grass_short_1", + offset: (-5.5, -6.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_short_2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.acetabularia-0", + offset: (-5.5, -6.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.acetabularia-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.acetabularia-2", + offset: (-5.0, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.udotea-0", + offset: (-8.0, -1.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.udotea-1", + offset: (-8.0, -1.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.udotea-2", + offset: (-10.0, -2.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 0.7, +)), +//Mermaids fan algae patch +MermaidsFan: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.algae.udotea-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.udotea-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.udotea-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 0.7, +)), +//Caulerpa prolifera patch +WavyAlgae: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.algae.caulerpa_prolifera-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.caulerpa_prolifera-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.caulerpa_prolifera-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.caulerpa_prolifera-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 0.7, +)), +//Caulerpa lentillifera patch +SeaGrapes: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.algae.caulerpa_lentillifera-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.caulerpa_lentillifera-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.caulerpa_lentillifera-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ( + model: "voxygen.voxel.sprite.algae.caulerpa_lentillifera-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.5), + ), + ], + wind_sway: 0.7, +)), +//Giant Kelp +GiantKelp: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.algae.macrocystis_kelp-0", + offset: (-15.5, -15.5, 0.0), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.algae.macrocystis_kelp-1", + offset: (-15.5, -15.5, 0.0), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.algae.macrocystis_kelp-2", + offset: (-15.5, -15.5, 0.0), + lod_axes: (0.5, 0.5, 0.0), + ), + ( + model: "voxygen.voxel.sprite.algae.macrocystis_kelp-3", + offset: (-15.5, -15.5, 0.0), + lod_axes: (0.5, 0.5, 0.0), + ), + ], + wind_sway: 0.2, +)), +//Seagrass +Seagrass: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.grass.seagrass-0", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.seagrass-1", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.seagrass-2", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.seagrass-3", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.seagrass-4", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ) +], +wind_sway: 0.7, +)), // Underwater Mud Piles Mud: Some(( variations: [ diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index 2a5b6399a8..d7272e3050 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -629,6 +629,7 @@ impl Item { SpriteKind::RubySmall => "common.items.crafting_ing.ruby", SpriteKind::EmeraldSmall => "common.items.crafting_ing.emerald", SpriteKind::SapphireSmall => "common.items.crafting_ing.sapphire", + SpriteKind::Seashells => "common.items.crafting_ing.seashells", _ => return None, })) } diff --git a/common/src/terrain/sprite.rs b/common/src/terrain/sprite.rs index 8756584c33..de7e8fd6ff 100644 --- a/common/src/terrain/sprite.rs +++ b/common/src/terrain/sprite.rs @@ -128,6 +128,20 @@ make_case_elim!( SapphireSmall = 0x65, WallLampSmall = 0x66, WallSconce = 0x67, + StonyCoral = 0x68, + SoftCoral = 0x69, + SeaweedTemperate = 0x6A, + SeaweedTropical = 0x6B, + GiantKelp = 0x6C, + BullKelp = 0x6D, + WavyAlgae = 0x6E, + SeaGrapes = 0x6F, + MermaidsFan = 0x70, + SeaAnemone = 0x71, + Seashells = 0x72, + Seagrass = 0x73, + RedAlgae = 0x74, + UnderwaterVent = 0x75, } ); @@ -168,6 +182,7 @@ impl SpriteKind { SpriteKind::Pot => 0.90, SpriteKind::Mud => 0.36, SpriteKind::ChestBurried => 0.91, + SpriteKind::StonyCoral => 1.4, // TODO: Find suitable heights. SpriteKind::BarrelCactus | SpriteKind::RoundCactus @@ -230,6 +245,7 @@ impl SpriteKind { SpriteKind::RubySmall => true, SpriteKind::EmeraldSmall => true, SpriteKind::SapphireSmall => true, + SpriteKind::Seashells => true, _ => false, } } diff --git a/world/src/layer/scatter.rs b/world/src/layer/scatter.rs index db6ab439fe..be82bd5d90 100644 --- a/world/src/layer/scatter.rs +++ b/world/src/layer/scatter.rs @@ -304,6 +304,221 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) { Some((100.0, 0.15)), ) }), + // seagrass + (Seagrass, true, |c, col| { + ( + close(c.temp, CONFIG.temperate_temp, 0.8) + * MUSH_FACT + * 300.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 18.0 + { + 1.0 + } else { + 0.0 + }, + Some((150.0, 0.3)), + ) + }), + // seagrass, coastal patches + (Seagrass, true, |_, col| { + ( + MUSH_FACT + * 300.0 + * if col.water_level < CONFIG.sea_level && (col.water_level - col.alt) < 3.0 { + 1.0 + } else { + 0.0 + }, + Some((90.0, 0.4)), + ) + }), + // scattered seaweed (temperate species) + (SeaweedTemperate, true, |c, col| { + ( + close(c.temp, CONFIG.temperate_temp, 0.8) + * MUSH_FACT + * 50.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 11.0 + { + 1.0 + } else { + 0.0 + }, + Some((500.0, 0.75)), + ) + }), + // scattered seaweed (tropical species) + (SeaweedTropical, true, |c, col| { + ( + close(c.temp, 1.0, 0.95) + * MUSH_FACT + * 50.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 11.0 + { + 1.0 + } else { + 0.0 + }, + Some((500.0, 0.75)), + ) + }), + // Caulerpa lentillifera algae patch + (SeaGrapes, true, |_, col| { + ( + MUSH_FACT + * 250.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 10.0 + { + 1.0 + } else { + 0.0 + }, + Some((100.0, 0.15)), + ) + }), + // Caulerpa prolifera algae patch + (WavyAlgae, true, |_, col| { + ( + MUSH_FACT + * 250.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 10.0 + { + 1.0 + } else { + 0.0 + }, + Some((100.0, 0.15)), + ) + }), + // Mermaids' fan algae patch + (MermaidsFan, true, |c, col| { + ( + close(c.temp, 1.0, 0.95) + * MUSH_FACT + * 500.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 10.0 + { + 1.0 + } else { + 0.0 + }, + Some((50.0, 0.10)), + ) + }), + // Sea anemones + (SeaAnemone, true, |c, col| { + ( + close(c.temp, CONFIG.temperate_temp, 0.8) + * MUSH_FACT + * 125.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM - 9.0 + { + 1.0 + } else { + 0.0 + }, + Some((100.0, 0.3)), + ) + }), + // Giant Kelp + (GiantKelp, true, |c, col| { + ( + close(c.temp, CONFIG.temperate_temp, 0.8) + * MUSH_FACT + * 220.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM - 9.0 + { + 1.0 + } else { + 0.0 + }, + Some((200.0, 0.4)), + ) + }), + // Bull Kelp + (BullKelp, true, |c, col| { + ( + close(c.temp, CONFIG.temperate_temp, 0.7) + * MUSH_FACT + * 300.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 3.0 + { + 1.0 + } else { + 0.0 + }, + Some((75.0, 0.3)), + ) + }), + // Stony Corals + (StonyCoral, true, |c, col| { + ( + close(c.temp, 1.0, 0.9) + * MUSH_FACT + * 160.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 10.0 + { + 1.0 + } else { + 0.0 + }, + Some((120.0, 0.4)), + ) + }), + // Soft Corals + (SoftCoral, true, |c, col| { + ( + close(c.temp, 1.0, 0.9) + * MUSH_FACT + * 120.0 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 10.0 + { + 1.0 + } else { + 0.0 + }, + Some((120.0, 0.4)), + ) + }), + // Seashells + (Seashells, true, |c, col| { + ( + (c.rockiness - 0.5).max(0.0) + * 1.0e-3 + * if col.water_level < CONFIG.sea_level + && col.alt < col.water_level - DEPTH_WATER_NORM + 20.0 + { + 1.0 + } else { + 0.0 + }, + None, + ) + }), + // hydrothermal vent + // (UnderwaterVent, true, |_, col| { + // ( + // MUSH_FACT + // * 250.0 + // * * if col.water_level < CONFIG.sea_level && col.alt < + // col.water_level - DEPTH_WATER_NORM - 50.0 { 1.0 + // } else { + // 0.0 + // }, + // Some((100.0, 0.15)), + // ) + // }), (Stones, true, |c, col| { ( (c.rockiness - 0.5).max(0.0)