Merge branch 'Sarrakitty/OceanFlora' into 'master'

added coral reefs, kelp forests, and seagrass

See merge request veloren/veloren!1819
This commit is contained in:
Snowram 2021-02-27 01:52:33 +00:00
commit 1172c2f2c3
86 changed files with 967 additions and 6 deletions

View File

@ -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

View File

@ -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: [],
)

View File

@ -0,0 +1,9 @@
ItemDef(
name: "Seashells",
description: "Shells from a sea creture.",
kind: Ingredient(
kind: "Seashells",
),
quality: Common,
tags: [],
)

View File

@ -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),
[

BIN
assets/voxygen/element/icons/neck-seashell.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -897,23 +897,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,
@ -1611,6 +1611,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",
@ -1799,6 +1803,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",
),

BIN
assets/voxygen/voxel/sprite/algae/acetabularia-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/acetabularia-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/acetabularia-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/caulerpa_prolifera-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/kelp_sprig-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/kelp_sprig-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/macrocystis_kelp-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/macrocystis_kelp-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/macrocystis_kelp-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/macrocystis_kelp-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-4.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-5.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-6.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-7.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/nereocystis_kelp-8.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/udotea-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/udotea-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/algae/udotea-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/blue_ricordea-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/blue_ricordea-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/blue_ricordea-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/green_brain_coral-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/green_brain_coral-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/green_brain_coral-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/green_ricordea-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/green_ricordea-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/green_ricordea-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/green_ricordea-4.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/pink_birdsnest_coral-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/pink_brain_coral-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/pink_brain_coral-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-4.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-5.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-6.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/plating_acropora-7.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/purp-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/purp-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/red_fire_coral-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/red_fire_coral-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/red_fire_coral-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/red_sea_fan-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/red_sea_fan-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/red_sea_fan-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/red_sea_fan-4.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/sea_anemone-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/yellow_fire_coral-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/yellow_gorgonian-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/yellow_gorgonian-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/coral/yellow_gorgonian-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/grass/seagrass-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/grass/seagrass-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/grass/seagrass-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/grass/seagrass-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/grass/seagrass-4.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/seashells/shell-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/seashells/shell-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -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: [

View File

@ -642,6 +642,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,
}))
}

View File

@ -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,
}
}

View File

@ -304,6 +304,208 @@ 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
* 600.0
* if col.water_level < CONFIG.sea_level && (col.water_level - col.alt) < 3.0 {
1.0
} else {
0.0
},
Some((150.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,
)
}),
(Stones, true, |c, col| {
(
(c.rockiness - 0.5).max(0.0)