From 87ca00fac048773bf6afcf96183e15cff7d4608a Mon Sep 17 00:00:00 2001 From: Snowram Date: Mon, 14 Jun 2021 01:39:43 +0200 Subject: [PATCH] Adds new species --- assets/common/npc_names.ron | 14 +- .../voxel/biped_large_central_manifest.ron | 52 +++++++ .../voxel/biped_large_lateral_manifest.ron | 68 +++++++++ .../voxel/bird_medium_central_manifest.ron | 18 +-- .../voxel/bird_medium_lateral_manifest.ron | 16 +-- .../voxel/npc/cultist_warlord/male/foot_l.vox | 3 + .../voxel/npc/cultist_warlord/male/foot_r.vox | 3 + .../voxel/npc/cultist_warlord/male/hand_l.vox | 3 + .../voxel/npc/cultist_warlord/male/hand_r.vox | 3 + .../voxel/npc/cultist_warlord/male/head.vox | 3 + .../voxel/npc/cultist_warlord/male/leg_l.vox | 3 + .../voxel/npc/cultist_warlord/male/leg_r.vox | 3 + .../npc/cultist_warlord/male/shoulder_l.vox | 3 + .../npc/cultist_warlord/male/shoulder_r.vox | 3 + .../npc/cultist_warlord/male/torso_lower.vox | 3 + .../npc/cultist_warlord/male/torso_upper.vox | 3 + assets/voxygen/voxel/npc/duck/female/head.vox | 4 +- .../voxygen/voxel/npc/duck/female/leg_r.vox | 4 +- assets/voxygen/voxel/npc/duck/female/tail.vox | 4 +- .../voxygen/voxel/npc/duck/female/torso.vox | 4 +- assets/voxygen/voxel/npc/duck/female/wing.vox | 4 +- assets/voxygen/voxel/npc/duck/male/head.vox | 4 +- assets/voxygen/voxel/npc/duck/male/leg_r.vox | 4 +- assets/voxygen/voxel/npc/duck/male/tail.vox | 4 +- assets/voxygen/voxel/npc/duck/male/torso.vox | 4 +- assets/voxygen/voxel/npc/duck/male/wing.vox | 4 +- .../voxel/npc/mammoth/male/foot_br.vox | 3 + .../voxel/npc/mammoth/male/foot_fr.vox | 3 + .../voxygen/voxel/npc/mammoth/male/head.vox | 3 + assets/voxygen/voxel/npc/mammoth/male/jaw.vox | 3 + .../voxygen/voxel/npc/mammoth/male/leg_br.vox | 3 + .../voxygen/voxel/npc/mammoth/male/leg_fr.vox | 3 + .../voxygen/voxel/npc/mammoth/male/neck.vox | 3 + .../voxygen/voxel/npc/mammoth/male/tail.vox | 3 + .../voxel/npc/mammoth/male/torso_back.vox | 3 + .../voxel/npc/mammoth/male/torso_front.vox | 3 + .../voxel/npc/ngoubou/male/foot_br.vox | 3 + .../voxel/npc/ngoubou/male/foot_fr.vox | 3 + .../voxygen/voxel/npc/ngoubou/male/head.vox | 3 + assets/voxygen/voxel/npc/ngoubou/male/jaw.vox | 3 + .../voxygen/voxel/npc/ngoubou/male/leg_br.vox | 3 + .../voxygen/voxel/npc/ngoubou/male/leg_fr.vox | 3 + .../voxygen/voxel/npc/ngoubou/male/neck.vox | 3 + .../voxygen/voxel/npc/ngoubou/male/tail.vox | 3 + .../voxel/npc/ngoubou/male/torso_back.vox | 3 + .../voxel/npc/ngoubou/male/torso_front.vox | 3 + .../quadruped_medium_central_manifest.ron | 120 ++++++++++++++++ .../quadruped_medium_lateral_manifest.ron | 136 ++++++++++++++++++ common/src/comp/body.rs | 6 + common/src/comp/body/biped_large.rs | 6 +- common/src/comp/body/quadruped_medium.rs | 10 +- common/src/comp/inventory/loadout_builder.rs | 10 +- common/src/states/utils.rs | 2 + voxygen/anim/src/biped_large/mod.rs | 10 ++ voxygen/anim/src/bird_medium/mod.rs | 10 +- voxygen/anim/src/quadruped_medium/mod.rs | 25 ++++ 56 files changed, 587 insertions(+), 49 deletions(-) create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/foot_l.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/foot_r.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/hand_l.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/hand_r.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/head.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/leg_l.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/leg_r.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_l.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_r.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/torso_lower.vox create mode 100644 assets/voxygen/voxel/npc/cultist_warlord/male/torso_upper.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/foot_br.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/foot_fr.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/head.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/jaw.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/leg_br.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/leg_fr.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/neck.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/tail.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/torso_back.vox create mode 100644 assets/voxygen/voxel/npc/mammoth/male/torso_front.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/foot_br.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/foot_fr.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/head.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/jaw.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/leg_br.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/leg_fr.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/neck.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/tail.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/torso_back.vox create mode 100644 assets/voxygen/voxel/npc/ngoubou/male/torso_front.vox diff --git a/assets/common/npc_names.ron b/assets/common/npc_names.ron index ca8be884c0..c898788d85 100644 --- a/assets/common/npc_names.ron +++ b/assets/common/npc_names.ron @@ -546,7 +546,15 @@ snowleopard: ( keyword: "snowleopard", generic: "Snow Leopard" - ) + ), + mammoth: ( + keyword: "mammoth", + generic: "Mammoth" + ), + ngoubou: ( + keyword: "ngoubou", + generic: "Ngoubou" + ), ) ), quadruped_small: ( @@ -886,6 +894,10 @@ keyword: "oni_red", generic: "Red Oni" ), + cultist_warlord: ( + keyword: "cultist_warlord", + generic: "Cultist Warlord" + ), ) ), golem: ( diff --git a/assets/voxygen/voxel/biped_large_central_manifest.ron b/assets/voxygen/voxel/biped_large_central_manifest.ron index 4d2830c1b2..5f489af07c 100644 --- a/assets/voxygen/voxel/biped_large_central_manifest.ron +++ b/assets/voxygen/voxel/biped_large_central_manifest.ron @@ -936,4 +936,56 @@ central: ("armor.empty"), ) ), + (Cultistwarlord, Male): ( + head: ( + offset: (-10.0, -6.0, -9.0), + central: ("npc.cultist_warlord.male.head"), + ), + torso_upper: ( + offset: (-8.0, -6.0, -6.0), + central: ("npc.cultist_warlord.male.torso_upper"), + ), + torso_lower: ( + offset: (-7.0, -5.0, -9.0), + central: ("npc.cultist_warlord.male.torso_lower"), + ), + jaw: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + second: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ) + ), + (Cultistwarlord, Female): ( + head: ( + offset: (-10.0, -6.0, -9.0), + central: ("npc.cultist_warlord.male.head"), + ), + torso_upper: ( + offset: (-8.0, -6.0, -6.0), + central: ("npc.cultist_warlord.male.torso_upper"), + ), + torso_lower: ( + offset: (-7.0, -5.0, -9.0), + central: ("npc.cultist_warlord.male.torso_lower"), + ), + jaw: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + second: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ) + ), }) diff --git a/assets/voxygen/voxel/biped_large_lateral_manifest.ron b/assets/voxygen/voxel/biped_large_lateral_manifest.ron index 8c8f0c046b..184d2a10a2 100644 --- a/assets/voxygen/voxel/biped_large_lateral_manifest.ron +++ b/assets/voxygen/voxel/biped_large_lateral_manifest.ron @@ -1223,4 +1223,72 @@ lateral: ("npc.oni_red.male.foot_r"), ) ), + (Cultistwarlord, Male): ( + shoulder_l: ( + offset: (-6.0, -5.5, -6.0), + lateral: ("npc.cultist_warlord.male.shoulder_l"), + ), + shoulder_r: ( + offset: (-6.0, -5.5, -6.0), + lateral: ("npc.cultist_warlord.male.shoulder_r"), + ), + hand_l: ( + offset: (-3.5, -3.5, -10.0), + lateral: ("npc.cultist_warlord.male.hand_l"), + ), + hand_r: ( + offset: (-3.5, -3.5, -10.0), + lateral: ("npc.cultist_warlord.male.hand_r"), + ), + leg_l: ( + offset: (-1.5, -2.0, -2.5), + lateral: ("npc.cultist_warlord.male.leg_l"), + ), + leg_r: ( + offset: (-1.5, -2.0, -2.5), + lateral: ("npc.cultist_warlord.male.leg_r"), + ), + foot_l: ( + offset: (-2.5, -4.0, -4.0), + lateral: ("npc.cultist_warlord.male.foot_l"), + ), + foot_r: ( + offset: (-2.5, -4.0, -4.0), + lateral: ("npc.cultist_warlord.male.foot_r"), + ) + ), + (Cultistwarlord, Female): ( + shoulder_l: ( + offset: (-6.0, -5.5, -6.0), + lateral: ("npc.cultist_warlord.male.shoulder_l"), + ), + shoulder_r: ( + offset: (-6.0, -5.5, -6.0), + lateral: ("npc.cultist_warlord.male.shoulder_r"), + ), + hand_l: ( + offset: (-3.5, -3.5, -10.0), + lateral: ("npc.cultist_warlord.male.hand_l"), + ), + hand_r: ( + offset: (-3.5, -3.5, -10.0), + lateral: ("npc.cultist_warlord.male.hand_r"), + ), + leg_l: ( + offset: (-1.5, -2.0, -2.5), + lateral: ("npc.cultist_warlord.male.leg_l"), + ), + leg_r: ( + offset: (-1.5, -2.0, -2.5), + lateral: ("npc.cultist_warlord.male.leg_r"), + ), + foot_l: ( + offset: (-2.5, -4.0, -4.0), + lateral: ("npc.cultist_warlord.male.foot_l"), + ), + foot_r: ( + offset: (-2.5, -4.0, -4.0), + lateral: ("npc.cultist_warlord.male.foot_r"), + ) + ), }) \ No newline at end of file diff --git a/assets/voxygen/voxel/bird_medium_central_manifest.ron b/assets/voxygen/voxel/bird_medium_central_manifest.ron index d24a0be621..de8da461ad 100644 --- a/assets/voxygen/voxel/bird_medium_central_manifest.ron +++ b/assets/voxygen/voxel/bird_medium_central_manifest.ron @@ -1,30 +1,30 @@ ({ (Duck, Male): ( head: ( - offset: (-1.5, -2.0, -1.5), + offset: (-2.0, -1.5, -2.5), central: ("npc.duck.male.head"), ), torso: ( - offset: (-2.5, -3.0, -2.0), + offset: (-3.0, -4.5, -3.0), central: ("npc.duck.male.torso"), ), tail: ( - offset: (-1.5, -0.5, -2.5), + offset: (-2.0, -1.5, -3.0), central: ("npc.duck.male.tail"), ) ), (Duck, Female): ( head: ( - offset: (-1.5, -2.0, -1.5), - central: ("npc.duck.female.head"), + offset: (-2.0, -1.5, -2.5), + central: ("npc.duck.male.head"), ), torso: ( - offset: (-2.5, -3.0, -2.0), - central: ("npc.duck.female.torso"), + offset: (-3.0, -4.5, -3.0), + central: ("npc.duck.male.torso"), ), tail: ( - offset: (-1.5, -0.5, -2.5), - central: ("npc.duck.female.tail"), + offset: (-2.0, -1.5, -3.0), + central: ("npc.duck.male.tail"), ) ), (Chicken, Male): ( diff --git a/assets/voxygen/voxel/bird_medium_lateral_manifest.ron b/assets/voxygen/voxel/bird_medium_lateral_manifest.ron index 95c4027cc7..14a20071d7 100644 --- a/assets/voxygen/voxel/bird_medium_lateral_manifest.ron +++ b/assets/voxygen/voxel/bird_medium_lateral_manifest.ron @@ -1,37 +1,37 @@ ({ (Duck, Male): ( wing_l: ( - offset: (-0.5, -2.5, -3.0), + offset: (-0.5, -4.0, -4.0), lateral: ("npc.duck.male.wing"), ), wing_r: ( - offset: (-0.5, -2.5, -3.0), + offset: (-0.5, -4.0, -4.0), lateral: ("npc.duck.male.wing"), ), foot_l: ( - offset: (-1.0, 0.0, -4.0), + offset: (-1.5, -1.5, -4.0), lateral: ("npc.duck.male.leg_r"), ), foot_r: ( - offset: (-1.0, 0.0, -4.0), + offset: (-1.5, -1.5, -4.0), lateral: ("npc.duck.male.leg_r"), ) ), (Duck, Female): ( wing_l: ( - offset: (-0.5, -2.5, -3.0), + offset: (-0.5, -4.0, -4.0), lateral: ("npc.duck.female.wing"), ), wing_r: ( - offset: (-0.5, -2.5, -3.0), + offset: (-0.5, -4.0, -4.0), lateral: ("npc.duck.female.wing"), ), foot_l: ( - offset: (-1.0, 0.0, -4.0), + offset: (-1.5, -1.5, -4.0), lateral: ("npc.duck.female.leg_r"), ), foot_r: ( - offset: (-1.0, 0.0, -4.0), + offset: (-1.5, -1.5, -4.0), lateral: ("npc.duck.female.leg_r"), ) ), diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/foot_l.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/foot_l.vox new file mode 100644 index 0000000000..e9c9cfb02e --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/foot_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75369587a0b1d86769209181f7af5668001092d24e318b7f39a3219821c163cb +size 1748 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/foot_r.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/foot_r.vox new file mode 100644 index 0000000000..e9c9cfb02e --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/foot_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75369587a0b1d86769209181f7af5668001092d24e318b7f39a3219821c163cb +size 1748 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/hand_l.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/hand_l.vox new file mode 100644 index 0000000000..f26a404b30 --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/hand_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cef08ce9ae8b24d616369a9bf0688c3db2eed06ac570b4279ca941b05cebb9b +size 2008 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/hand_r.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/hand_r.vox new file mode 100644 index 0000000000..87ad00599e --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/hand_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98c055f9737bc153d9859069651ce3f04f53f9f14fef852216bfa69e14f85b1e +size 2008 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/head.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/head.vox new file mode 100644 index 0000000000..c1f7ac8e5b --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/head.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0837160f64bd433fd8ea27b99845e958e213fca1cc5350e58d82fe84f45e7dce +size 5352 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/leg_l.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/leg_l.vox new file mode 100644 index 0000000000..3e750c7909 --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/leg_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:607ba31c5d549002b91277c4f103da92bbc3fbbb56d24bd88e47991b63e3feda +size 1304 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/leg_r.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/leg_r.vox new file mode 100644 index 0000000000..3e750c7909 --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/leg_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:607ba31c5d549002b91277c4f103da92bbc3fbbb56d24bd88e47991b63e3feda +size 1304 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_l.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_l.vox new file mode 100644 index 0000000000..0136e7ba9d --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_l.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:171568a256c6786d12c3dec399844bd89df9edfca737331f305f64604e184bdb +size 2304 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_r.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_r.vox new file mode 100644 index 0000000000..8c7fb02e0a --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/shoulder_r.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68e0affa713344ca7fff1a73eea51e5d6e15807de92f8500533bcb8f89f1e000 +size 2304 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/torso_lower.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/torso_lower.vox new file mode 100644 index 0000000000..98275c1648 --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/torso_lower.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82febe57d17d665f7f4b5b6fb85a1d2969229503d89d8287d0c0e07c08536797 +size 2848 diff --git a/assets/voxygen/voxel/npc/cultist_warlord/male/torso_upper.vox b/assets/voxygen/voxel/npc/cultist_warlord/male/torso_upper.vox new file mode 100644 index 0000000000..ffb9d8a9b9 --- /dev/null +++ b/assets/voxygen/voxel/npc/cultist_warlord/male/torso_upper.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:205b5329da47997a653c43b8ff9ae26e52d3915ef5c7b8df084b770fd2af33a4 +size 4736 diff --git a/assets/voxygen/voxel/npc/duck/female/head.vox b/assets/voxygen/voxel/npc/duck/female/head.vox index 3b26df99d5..ad0ff800a8 100644 --- a/assets/voxygen/voxel/npc/duck/female/head.vox +++ b/assets/voxygen/voxel/npc/duck/female/head.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81e5bc6d27fc6f8946331487853c0c8c1cee1b8bf08efb4393340ede5e1ec490 -size 1216 +oid sha256:768c794779e181c73376955cd87401790b00789620cfb66e6b3da8795049f197 +size 1408 diff --git a/assets/voxygen/voxel/npc/duck/female/leg_r.vox b/assets/voxygen/voxel/npc/duck/female/leg_r.vox index 3be613af5c..acb6a89c83 100644 --- a/assets/voxygen/voxel/npc/duck/female/leg_r.vox +++ b/assets/voxygen/voxel/npc/duck/female/leg_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:483b2b9d8617f0f902f98578a96844242442831762dd4afa09e1198798924079 -size 1128 +oid sha256:6d3b38afae202d17812b45118b605bc72dae7b0e8ddaffec79612a074eaecf48 +size 1184 diff --git a/assets/voxygen/voxel/npc/duck/female/tail.vox b/assets/voxygen/voxel/npc/duck/female/tail.vox index 0c0e2707eb..291e649074 100644 --- a/assets/voxygen/voxel/npc/duck/female/tail.vox +++ b/assets/voxygen/voxel/npc/duck/female/tail.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:618e0daa8cd2901c75e3fe17658a79a335835e2b7bbb00c5bfb7138314168ec1 -size 1156 +oid sha256:d660e8a544a9c1dabdb37f22c9ec356edc3865fca26df6fd63fb7987286bcdb5 +size 1216 diff --git a/assets/voxygen/voxel/npc/duck/female/torso.vox b/assets/voxygen/voxel/npc/duck/female/torso.vox index 7125dfee9d..6846ff27c4 100644 --- a/assets/voxygen/voxel/npc/duck/female/torso.vox +++ b/assets/voxygen/voxel/npc/duck/female/torso.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f2d93cf83277b348fcb0775554e77a78315ec9890570486701da787175cb37b -size 1576 +oid sha256:fd2a3167681fc1de1ad34749462bdfa6f872dea66cb65da73cdad15bbc103c7c +size 1944 diff --git a/assets/voxygen/voxel/npc/duck/female/wing.vox b/assets/voxygen/voxel/npc/duck/female/wing.vox index 9849a28317..c428e03774 100644 --- a/assets/voxygen/voxel/npc/duck/female/wing.vox +++ b/assets/voxygen/voxel/npc/duck/female/wing.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6ca0fc4e689a37163e7c5b64db9cae5e2a79791489326bd67a393ab6cc3b9e9 -size 1144 +oid sha256:3a80090d025a00b03083643bc2b749eafea5034ec992c882a0fb41a0b06db4d3 +size 1184 diff --git a/assets/voxygen/voxel/npc/duck/male/head.vox b/assets/voxygen/voxel/npc/duck/male/head.vox index 684343bdfe..9a429784a5 100644 --- a/assets/voxygen/voxel/npc/duck/male/head.vox +++ b/assets/voxygen/voxel/npc/duck/male/head.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee6a99b5e62b4bf623ae2df82a31b59fcbca98239e9bbece43bc53e0782bbcec -size 1216 +oid sha256:627dce91d0b1710e4dcbf654170282f8262409f0731b2183e0dc10904715fb96 +size 1408 diff --git a/assets/voxygen/voxel/npc/duck/male/leg_r.vox b/assets/voxygen/voxel/npc/duck/male/leg_r.vox index 3be613af5c..4ba416c1c0 100644 --- a/assets/voxygen/voxel/npc/duck/male/leg_r.vox +++ b/assets/voxygen/voxel/npc/duck/male/leg_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:483b2b9d8617f0f902f98578a96844242442831762dd4afa09e1198798924079 -size 1128 +oid sha256:148f9d4c74f57435de6375dd79279782797bc275bab0a24455a928e4ab213a9a +size 1184 diff --git a/assets/voxygen/voxel/npc/duck/male/tail.vox b/assets/voxygen/voxel/npc/duck/male/tail.vox index fc79b8de2a..4298179b35 100644 --- a/assets/voxygen/voxel/npc/duck/male/tail.vox +++ b/assets/voxygen/voxel/npc/duck/male/tail.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3503b0c9cdb6d847a3c5eaf8e256be3a9e1042108074450c3d7738394f5a966 -size 1156 +oid sha256:c1117e32ff560cfe68a57d7b15cdcf05616322479c26e7de3ca365dad6089967 +size 1216 diff --git a/assets/voxygen/voxel/npc/duck/male/torso.vox b/assets/voxygen/voxel/npc/duck/male/torso.vox index 8f2b02aa1b..fe15a206d9 100644 --- a/assets/voxygen/voxel/npc/duck/male/torso.vox +++ b/assets/voxygen/voxel/npc/duck/male/torso.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f44ec1e38436dcb5236696922956349593a725cfd95cdae5279bd0d2e7f39ded -size 1576 +oid sha256:5455748a19d29c00f6e4fbc7079e45a5c44e65d6e4bbb6d1de06b2a4cb075193 +size 1944 diff --git a/assets/voxygen/voxel/npc/duck/male/wing.vox b/assets/voxygen/voxel/npc/duck/male/wing.vox index 5e83039067..80245520d7 100644 --- a/assets/voxygen/voxel/npc/duck/male/wing.vox +++ b/assets/voxygen/voxel/npc/duck/male/wing.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd07b1d470989d85762b47d14afbf0dd0438c4557144d4216c0cdd4921e42d75 -size 1144 +oid sha256:a86bc4b4ffe7981cccba366339b66e1b74eafa4c0172ea9f5230dd6bec369328 +size 1184 diff --git a/assets/voxygen/voxel/npc/mammoth/male/foot_br.vox b/assets/voxygen/voxel/npc/mammoth/male/foot_br.vox new file mode 100644 index 0000000000..4c1ffc5762 --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/foot_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72ca78fc160a200233ecdeed8028c39aa9e716b878ea860fa8f9e90d77bfdaad +size 2540 diff --git a/assets/voxygen/voxel/npc/mammoth/male/foot_fr.vox b/assets/voxygen/voxel/npc/mammoth/male/foot_fr.vox new file mode 100644 index 0000000000..54adfbf8c4 --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/foot_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7525e53849ae288bc7da334fe6bc8e58595c77324db19af4b29e7e280e8b349b +size 3016 diff --git a/assets/voxygen/voxel/npc/mammoth/male/head.vox b/assets/voxygen/voxel/npc/mammoth/male/head.vox new file mode 100644 index 0000000000..a3002dc57c --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/head.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fccfbe78cf12875199bd3b768745634a3a6858347923fe4981fd30cdfae7e57 +size 7472 diff --git a/assets/voxygen/voxel/npc/mammoth/male/jaw.vox b/assets/voxygen/voxel/npc/mammoth/male/jaw.vox new file mode 100644 index 0000000000..46484ad33e --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/jaw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c301cc09e81ecee8f3d2fbc5860f5072a051788a29a7ab886ef94d8675d0173a +size 2008 diff --git a/assets/voxygen/voxel/npc/mammoth/male/leg_br.vox b/assets/voxygen/voxel/npc/mammoth/male/leg_br.vox new file mode 100644 index 0000000000..652202accb --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/leg_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8872a768b8edea8f6bdca0658c1c959ceaee04b12a5bcc135dd1e89b8ee80c +size 3544 diff --git a/assets/voxygen/voxel/npc/mammoth/male/leg_fr.vox b/assets/voxygen/voxel/npc/mammoth/male/leg_fr.vox new file mode 100644 index 0000000000..ce870688f4 --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/leg_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aa8ba06cf034a63080bafbadd1a4833a06592af5c48d55bf92d54b5bb6969ca +size 3528 diff --git a/assets/voxygen/voxel/npc/mammoth/male/neck.vox b/assets/voxygen/voxel/npc/mammoth/male/neck.vox new file mode 100644 index 0000000000..d975fd3015 --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/neck.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c959cdab2dcf2ff153e116808c28a973f8b29b4d8d43d34e19ea37951545b99a +size 5816 diff --git a/assets/voxygen/voxel/npc/mammoth/male/tail.vox b/assets/voxygen/voxel/npc/mammoth/male/tail.vox new file mode 100644 index 0000000000..3f6faea1a2 --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/tail.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c5dc4d9307d8c94d0527082d3328e18290bf5f08f3cabb3591f5162bc92b51 +size 1504 diff --git a/assets/voxygen/voxel/npc/mammoth/male/torso_back.vox b/assets/voxygen/voxel/npc/mammoth/male/torso_back.vox new file mode 100644 index 0000000000..b7d51ad7df --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/torso_back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d291c1dc28a8dd6eb8c86f3a36a04341699313fbbb15928b55910c0d592693d0 +size 15328 diff --git a/assets/voxygen/voxel/npc/mammoth/male/torso_front.vox b/assets/voxygen/voxel/npc/mammoth/male/torso_front.vox new file mode 100644 index 0000000000..f13f4d590e --- /dev/null +++ b/assets/voxygen/voxel/npc/mammoth/male/torso_front.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4d57f44b7cd6758c937a9c14f254539df9b0073cc6e8faafb33052e71d0b21b +size 21228 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/foot_br.vox b/assets/voxygen/voxel/npc/ngoubou/male/foot_br.vox new file mode 100644 index 0000000000..ced741ac58 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/foot_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42248a01f1294622eae3c5861ba8d35e45b432428d3ea6caf064deccc69e5cd8 +size 1696 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/foot_fr.vox b/assets/voxygen/voxel/npc/ngoubou/male/foot_fr.vox new file mode 100644 index 0000000000..75dd001f17 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/foot_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc232484d1090b2f6d717a4a5bb5ce405f82b2ff87de792236d95a8605e7991f +size 1672 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/head.vox b/assets/voxygen/voxel/npc/ngoubou/male/head.vox new file mode 100644 index 0000000000..2923035a1d --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/head.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21b51a9da4e8d18b66f81fab1266b58134d08ec7a8b39363a12984fe65c9f9bd +size 5372 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/jaw.vox b/assets/voxygen/voxel/npc/ngoubou/male/jaw.vox new file mode 100644 index 0000000000..35420f25e9 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/jaw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c76bfe12da54ebe26596ebe27d589d58d6f0d0dc39d44c5b532b79987a4820b +size 1300 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/leg_br.vox b/assets/voxygen/voxel/npc/ngoubou/male/leg_br.vox new file mode 100644 index 0000000000..675e6fac73 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/leg_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0709c1bad08dfc0ed4126d0fece7be080ac9f09aadfc6cb12e02ef16325c02cb +size 2912 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/leg_fr.vox b/assets/voxygen/voxel/npc/ngoubou/male/leg_fr.vox new file mode 100644 index 0000000000..464ed57872 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/leg_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65edc12de44621ee147b964c51716685ddd22ed3f45d0ee6a20e17b6fddaae29 +size 2440 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/neck.vox b/assets/voxygen/voxel/npc/ngoubou/male/neck.vox new file mode 100644 index 0000000000..daff29a255 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/neck.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e52a2e6ee9ccbac40e1525f8e6c2de6a2c6835b7356bf932c80e105f91b6aeec +size 3204 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/tail.vox b/assets/voxygen/voxel/npc/ngoubou/male/tail.vox new file mode 100644 index 0000000000..99878c3355 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/tail.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67089b1afbf7381dbec7214101d574ccac4b863c44dd89d7df1c5f26c8c2e4c6 +size 1396 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/torso_back.vox b/assets/voxygen/voxel/npc/ngoubou/male/torso_back.vox new file mode 100644 index 0000000000..d39ed61f33 --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/torso_back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cef260646963e12fb959dad520bd3574e0fd752ad580d0aa7c4ed9069679b52c +size 6852 diff --git a/assets/voxygen/voxel/npc/ngoubou/male/torso_front.vox b/assets/voxygen/voxel/npc/ngoubou/male/torso_front.vox new file mode 100644 index 0000000000..5b594e579f --- /dev/null +++ b/assets/voxygen/voxel/npc/ngoubou/male/torso_front.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dbd8af2890598f01cb74da774ef9ec48ff07aea12260114b50e5dc7ce7a5034 +size 6332 diff --git a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron index 72e6b57a67..a9a7ff6c04 100644 --- a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron +++ b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron @@ -1799,4 +1799,124 @@ central: ("npc.snowleopard.male.tail"), ), ), + (Mammoth, Male): ( + head: ( + offset: (-13.0, 0.0, -11.0), + central: ("npc.mammoth.male.head"), + ), + neck: ( + offset: (-6.0, -3.5, -11.5), + central: ("npc.mammoth.male.neck"), + ), + jaw: ( + offset: (-3.0, 0.0, -13.0), + central: ("npc.mammoth.male.jaw"), + ), + torso_front: ( + offset: (-9.0, -14.0, -15.0), + central: ("npc.mammoth.male.torso_front"), + ), + torso_back: ( + offset: (-8.0, -14.0, -12.5), + central: ("npc.mammoth.male.torso_back"), + ), + ears: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-2.0, -6.0, -15.0), + central: ("npc.mammoth.male.tail"), + ), + ), + (Mammoth, Female): ( + head: ( + offset: (-13.0, 0.0, -11.0), + central: ("npc.mammoth.male.head"), + ), + neck: ( + offset: (-6.0, -3.5, -11.5), + central: ("npc.mammoth.male.neck"), + ), + jaw: ( + offset: (-3.0, 0.0, -13.0), + central: ("npc.mammoth.male.jaw"), + ), + torso_front: ( + offset: (-9.0, -14.0, -15.0), + central: ("npc.mammoth.male.torso_front"), + ), + torso_back: ( + offset: (-8.0, -14.0, -12.5), + central: ("npc.mammoth.male.torso_back"), + ), + ears: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-2.0, -6.0, -15.0), + central: ("npc.mammoth.male.tail"), + ), + ), + (Ngoubou, Male): ( + head: ( + offset: (-9.5, 0.0, -9.0), + central: ("npc.ngoubou.male.head"), + ), + neck: ( + offset: (-4.5, -3.0, -7.5), + central: ("npc.ngoubou.male.neck"), + ), + jaw: ( + offset: (-2.5, 0.0, -3.0), + central: ("npc.ngoubou.male.jaw"), + ), + torso_front: ( + offset: (-5.5, -9.0, -9.5), + central: ("npc.ngoubou.male.torso_front"), + ), + torso_back: ( + offset: (-5.5, -13.0, -7.5), + central: ("npc.ngoubou.male.torso_back"), + ), + ears: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-1.5, -8.0, -14.0), + central: ("npc.ngoubou.male.tail"), + ), + ), + (Ngoubou, Female): ( + head: ( + offset: (-9.5, 0.0, -9.0), + central: ("npc.ngoubou.male.head"), + ), + neck: ( + offset: (-4.5, -3.0, -7.5), + central: ("npc.ngoubou.male.neck"), + ), + jaw: ( + offset: (-2.5, 0.0, -3.0), + central: ("npc.ngoubou.male.jaw"), + ), + torso_front: ( + offset: (-5.5, -9.0, -9.5), + central: ("npc.ngoubou.male.torso_front"), + ), + torso_back: ( + offset: (-5.5, -13.0, -7.5), + central: ("npc.ngoubou.male.torso_back"), + ), + ears: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-1.5, -8.0, -14.0), + central: ("npc.ngoubou.male.tail"), + ), + ), }) diff --git a/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron index 31d36969bb..c548271783 100644 --- a/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron @@ -2039,4 +2039,140 @@ lateral: ("npc.snowleopard.male.foot_br"), ), ), + (Mammoth, Male): ( + leg_fl: ( + offset: (-4.0, -5.0, -6.0), + lateral: ("npc.mammoth.male.leg_fr"), + ), + leg_fr: ( + offset: (-4.0, -5.0, -6.0), + lateral: ("npc.mammoth.male.leg_fr"), + ), + leg_bl: ( + offset: (-3.5, -5.0, -5.5), + lateral: ("npc.mammoth.male.leg_br"), + ), + leg_br: ( + offset: (-3.5, -5.0, -5.5), + lateral: ("npc.mammoth.male.leg_br"), + ), + foot_fl: ( + offset: (-3.5, -4.5, -10.0), + lateral: ("npc.mammoth.male.foot_fr"), + ), + foot_fr: ( + offset: (-3.5, -4.5, -10.0), + lateral: ("npc.mammoth.male.foot_fr"), + ), + foot_bl: ( + offset: (-3.0, -4.5, -9.0), + lateral: ("npc.mammoth.male.foot_br"), + ), + foot_br: ( + offset: (-3.0, -4.5, -9.0), + lateral: ("npc.mammoth.male.foot_br"), + ), + ), + (Mammoth, Female): ( + leg_fl: ( + offset: (-4.0, -5.0, -6.0), + lateral: ("npc.mammoth.male.leg_fr"), + ), + leg_fr: ( + offset: (-4.0, -5.0, -6.0), + lateral: ("npc.mammoth.male.leg_fr"), + ), + leg_bl: ( + offset: (-3.5, -5.0, -5.5), + lateral: ("npc.mammoth.male.leg_br"), + ), + leg_br: ( + offset: (-3.5, -5.0, -5.5), + lateral: ("npc.mammoth.male.leg_br"), + ), + foot_fl: ( + offset: (-3.5, -4.5, -10.0), + lateral: ("npc.mammoth.male.foot_fr"), + ), + foot_fr: ( + offset: (-3.5, -4.5, -10.0), + lateral: ("npc.mammoth.male.foot_fr"), + ), + foot_bl: ( + offset: (-3.0, -4.5, -9.0), + lateral: ("npc.mammoth.male.foot_br"), + ), + foot_br: ( + offset: (-3.0, -4.5, -9.0), + lateral: ("npc.mammoth.male.foot_br"), + ), + ), + (Ngoubou, Male): ( + leg_fl: ( + offset: (-2.5, -4.0, -7.0), + lateral: ("npc.ngoubou.male.leg_fr"), + ), + leg_fr: ( + offset: (-2.5, -4.0, -7.0), + lateral: ("npc.ngoubou.male.leg_fr"), + ), + leg_bl: ( + offset: (-3.0, -4.5, -5.5), + lateral: ("npc.ngoubou.male.leg_br"), + ), + leg_br: ( + offset: (-3.0, -4.5, -5.5), + lateral: ("npc.ngoubou.male.leg_br"), + ), + foot_fl: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_fr"), + ), + foot_fr: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_fr"), + ), + foot_bl: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_br"), + ), + foot_br: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_br"), + ), + ), + (Ngoubou, Female): ( + leg_fl: ( + offset: (-2.5, -4.0, -7.0), + lateral: ("npc.ngoubou.male.leg_fr"), + ), + leg_fr: ( + offset: (-2.5, -4.0, -7.0), + lateral: ("npc.ngoubou.male.leg_fr"), + ), + leg_bl: ( + offset: (-3.0, -4.5, -5.5), + lateral: ("npc.ngoubou.male.leg_br"), + ), + leg_br: ( + offset: (-3.0, -4.5, -5.5), + lateral: ("npc.ngoubou.male.leg_br"), + ), + foot_fl: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_fr"), + ), + foot_fr: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_fr"), + ), + foot_bl: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_br"), + ), + foot_br: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.ngoubou.male.foot_br"), + ), + ), }) diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 623f164283..923347e2ba 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -358,6 +358,8 @@ impl Body { quadruped_medium::Species::Saber => Vec3::new(2.0, 3.0, 2.0), quadruped_medium::Species::Tarasque => Vec3::new(2.0, 4.0, 2.6), quadruped_medium::Species::Yak => Vec3::new(2.0, 3.6, 3.0), + quadruped_medium::Species::Mammoth => Vec3::new(5.0, 7.0, 8.0), + quadruped_medium::Species::Ngoubou => Vec3::new(2.0, 3.2, 2.4), _ => Vec3::new(2.0, 3.0, 2.0), }, Body::QuadrupedSmall(body) => match body.species { @@ -460,6 +462,8 @@ impl Body { quadruped_medium::Species::Bear => 900, quadruped_medium::Species::Moose => 800, quadruped_medium::Species::Dreadhorn => 1100, + quadruped_medium::Species::Mammoth => 1700, + quadruped_medium::Species::Ngoubou => 1500, _ => 700, }, Body::BirdMedium(bird_medium) => match bird_medium.species { @@ -583,6 +587,8 @@ impl Body { quadruped_medium::Species::Bear => 40, quadruped_medium::Species::Moose => 30, quadruped_medium::Species::Dreadhorn => 50, + quadruped_medium::Species::Mammoth => 70, + quadruped_medium::Species::Ngoubou => 50, _ => 20, }, Body::BirdMedium(bird_medium) => match bird_medium.species { diff --git a/common/src/comp/body/biped_large.rs b/common/src/comp/body/biped_large.rs index d152693658..7a816f512e 100644 --- a/common/src/comp/body/biped_large.rs +++ b/common/src/comp/body/biped_large.rs @@ -52,6 +52,7 @@ make_case_elim!( Harvester = 15, Blueoni = 16, Redoni = 17, + Cultistwarlord = 18, } ); @@ -78,6 +79,7 @@ pub struct AllSpecies { pub harvester: SpeciesMeta, pub oni_blue: SpeciesMeta, pub oni_red: SpeciesMeta, + pub cultist_warlord: SpeciesMeta, } impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { @@ -104,11 +106,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies Species::Harvester => &self.harvester, Species::Blueoni => &self.oni_blue, Species::Redoni => &self.oni_red, + Species::Cultistwarlord => &self.cultist_warlord, } } } -pub const ALL_SPECIES: [Species; 18] = [ +pub const ALL_SPECIES: [Species; 19] = [ Species::Ogre, Species::Cyclops, Species::Wendigo, @@ -127,6 +130,7 @@ pub const ALL_SPECIES: [Species; 18] = [ Species::Harvester, Species::Blueoni, Species::Redoni, + Species::Cultistwarlord, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { diff --git a/common/src/comp/body/quadruped_medium.rs b/common/src/comp/body/quadruped_medium.rs index 192e7559b5..f814b57a05 100644 --- a/common/src/comp/body/quadruped_medium.rs +++ b/common/src/comp/body/quadruped_medium.rs @@ -62,6 +62,8 @@ pub enum Species { Dreadhorn = 29, Moose = 30, Snowleopard = 31, + Mammoth = 32, + Ngoubou = 33, } /// Data representing per-species generic data. @@ -99,6 +101,8 @@ pub struct AllSpecies { pub dreadhorn: SpeciesMeta, pub moose: SpeciesMeta, pub snowleopard: SpeciesMeta, + pub mammoth: SpeciesMeta, + pub ngoubou: SpeciesMeta, } impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { @@ -137,11 +141,13 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies Species::Dreadhorn => &self.dreadhorn, Species::Moose => &self.moose, Species::Snowleopard => &self.snowleopard, + Species::Mammoth => &self.mammoth, + Species::Ngoubou => &self.ngoubou, } } } -pub const ALL_SPECIES: [Species; 30] = [ +pub const ALL_SPECIES: [Species; 32] = [ Species::Grolgar, Species::Saber, Species::Tiger, @@ -172,6 +178,8 @@ pub const ALL_SPECIES: [Species; 30] = [ Species::Dreadhorn, Species::Moose, Species::Snowleopard, + Species::Mammoth, + Species::Ngoubou, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index d4396b2749..5571bf7ef9 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -184,7 +184,9 @@ fn default_main_tool(body: &Body) -> Item { quadruped_medium::Species::Tuskram | quadruped_medium::Species::Roshwalr | quadruped_medium::Species::Moose - | quadruped_medium::Species::Dreadhorn => Some(Item::new_from_asset_expect( + | quadruped_medium::Species::Dreadhorn + | quadruped_medium::Species::Mammoth + | quadruped_medium::Species::Ngoubou => Some(Item::new_from_asset_expect( "common.items.npc_weapons.unique.quadmedcharge", )), quadruped_medium::Species::Highland @@ -294,9 +296,9 @@ fn default_main_tool(body: &Body) -> Item { (biped_large::Species::Blueoni, _) => Some(Item::new_from_asset_expect( "common.items.npc_weapons.axe.oni_blue_axe", )), - (biped_large::Species::Redoni, _) => Some(Item::new_from_asset_expect( - "common.items.npc_weapons.hammer.oni_red_hammer", - )), + (biped_large::Species::Redoni | biped_large::Species::Cultistwarlord, _) => Some( + Item::new_from_asset_expect("common.items.npc_weapons.hammer.oni_red_hammer"), + ), }, Body::Object(body) => match body { object::Body::Crossbow => Some(Item::new_from_asset_expect( diff --git a/common/src/states/utils.rs b/common/src/states/utils.rs index 4027e4eda4..d105035c43 100644 --- a/common/src/states/utils.rs +++ b/common/src/states/utils.rs @@ -68,6 +68,8 @@ impl Body { quadruped_medium::Species::Dreadhorn => 140.0, quadruped_medium::Species::Moose => 130.0, quadruped_medium::Species::Snowleopard => 160.0, + quadruped_medium::Species::Mammoth => 180.0, + quadruped_medium::Species::Ngoubou => 170.0, }, Body::BipedLarge(body) => match body.species { biped_large::Species::Slysaurok => 100.0, diff --git a/voxygen/anim/src/biped_large/mod.rs b/voxygen/anim/src/biped_large/mod.rs index 9597f8f2e7..74548f9e7c 100644 --- a/voxygen/anim/src/biped_large/mod.rs +++ b/voxygen/anim/src/biped_large/mod.rs @@ -227,6 +227,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (6.0, 11.0), (Blueoni, _) => (10.5, -3.0), (Redoni, _) => (10.5, -3.0), + (Cultistwarlord, _) => (0.5, 14.5), }, jaw: match (body.species, body.body_type) { (Ogre, _) => (0.0, 0.0), @@ -247,6 +248,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (-2.0, -7.0), (Blueoni, _) => (0.0, 3.5), (Redoni, _) => (0.0, 3.5), + (Cultistwarlord, _) => (0.0, 3.5), }, upper_torso: match (body.species, body.body_type) { (Ogre, Male) => (0.0, 27.5), @@ -268,6 +270,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (-1.0, 18.0), (Blueoni, _) => (-1.0, 26.5), (Redoni, _) => (-1.0, 26.5), + (Cultistwarlord, _) => (-1.0, 18.5), }, lower_torso: match (body.species, body.body_type) { (Ogre, Male) => (1.0, -7.0), @@ -289,6 +292,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (-1.0, -4.5), (Blueoni, _) => (0.0, -8.5), (Redoni, _) => (0.0, -8.5), + (Cultistwarlord, _) => (0.0, -1.5), }, tail: match (body.species, body.body_type) { (Werewolf, _) => (-5.5, -2.0), @@ -318,6 +322,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (8.0, 1.0, -1.5), (Blueoni, _) => (11.0, 2.0, -5.5), (Redoni, _) => (11.0, 2.0, -5.5), + (Cultistwarlord, _) => (11.5, -1.0, 4.5), }, hand: match (body.species, body.body_type) { (Ogre, Male) => (14.5, 0.0, -4.0), @@ -339,6 +344,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (11.5, 1.5, -5.5), (Blueoni, _) => (13.5, 0.5, -8.0), (Redoni, _) => (13.5, 0.5, -8.0), + (Cultistwarlord, _) => (11.5, -1.0, -1.0), }, leg: match (body.species, body.body_type) { (Ogre, Male) => (0.0, 0.0, -4.0), @@ -360,6 +366,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (3.5, 1.0, -4.0), (Blueoni, _) => (4.5, 2.0, -5.5), (Redoni, _) => (4.5, 2.0, -5.5), + (Cultistwarlord, _) => (3.5, -1.0, -8.5), }, foot: match (body.species, body.body_type) { (Ogre, Male) => (4.0, 1.0, -12.0), @@ -381,6 +388,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (4.5, 0.5, -9.5), (Blueoni, _) => (5.0, 5.0, -12.5), (Redoni, _) => (5.0, 5.0, -12.5), + (Cultistwarlord, _) => (3.5, 0.0, -12.5), }, scaler: match (body.species, body.body_type) { (Ogre, Male) => 1.12, @@ -402,6 +410,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => 1.2, (Blueoni, _) => 1.2, (Redoni, _) => 1.2, + (Cultistwarlord, _) => 1.0, }, tempo: match (body.species, body.body_type) { (Ogre, Male) => 0.9, @@ -434,6 +443,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Harvester, _) => (7.5, 0.0), (Blueoni, _) => (12.5, 0.0), (Redoni, _) => (12.5, 0.0), + (Cultistwarlord, _) => (12.5, 0.0), }, shl: match (body.species, body.body_type) { (Dullahan, _) => (-4.75, -11.0, 8.5, 1.47, -0.2, 0.0), diff --git a/voxygen/anim/src/bird_medium/mod.rs b/voxygen/anim/src/bird_medium/mod.rs index ab72ea8173..5caa8f17ae 100644 --- a/voxygen/anim/src/bird_medium/mod.rs +++ b/voxygen/anim/src/bird_medium/mod.rs @@ -90,7 +90,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { use comp::bird_medium::{BodyType::*, Species::*}; Self { head: match (body.species, body.body_type) { - (Duck, _) => (4.0, 3.0), + (Duck, _) => (2.0, 5.5), (Chicken, Male) => (3.0, 4.5), (Chicken, Female) => (3.0, 6.0), (Goose, _) => (5.0, 2.5), @@ -101,7 +101,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Parrot, _) => (0.5, 4.5), }, chest: match (body.species, body.body_type) { - (Duck, _) => (0.0, 5.0), + (Duck, _) => (0.0, 6.0), (Chicken, Male) => (0.0, 6.5), (Chicken, Female) => (0.0, 6.5), (Goose, _) => (0.0, 8.0), @@ -112,7 +112,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Parrot, _) => (0.0, 5.0), }, tail: match (body.species, body.body_type) { - (Duck, _) => (-3.0, 1.5), + (Duck, _) => (-5.0, 1.0), (Chicken, Male) => (-7.5, 3.5), (Chicken, Female) => (-4.5, 3.0), (Goose, _) => (-5.0, 3.0), @@ -123,7 +123,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Parrot, _) => (-8.0, -2.0), }, wing: match (body.species, body.body_type) { - (Duck, _) => (2.75, 0.0, 1.0), + (Duck, _) => (3.5, -0.5, 2.0), (Chicken, Male) => (3.0, -1.0, 2.5), (Chicken, Female) => (3.0, -1.5, 2.5), (Goose, _) => (3.75, -1.0, 2.0), @@ -134,7 +134,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Parrot, _) => (2.0, -4.5, 3.0), }, foot: match (body.species, body.body_type) { - (Duck, _) => (2.0, -1.5, 4.0), + (Duck, _) => (2.5, -2.0, 4.0), (Chicken, Male) => (2.0, 0.0, 6.0), (Chicken, Female) => (2.0, 0.0, 6.0), (Goose, _) => (2.0, -1.5, 7.0), diff --git a/voxygen/anim/src/quadruped_medium/mod.rs b/voxygen/anim/src/quadruped_medium/mod.rs index c4ae82537f..5c780cc851 100644 --- a/voxygen/anim/src/quadruped_medium/mod.rs +++ b/voxygen/anim/src/quadruped_medium/mod.rs @@ -175,6 +175,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Moose, Male) => (-0.5, 5.0), (Moose, Female) => (3.5, 0.5), (Snowleopard, _) => (1.5, 0.5), + (Mammoth, _) => (0.5, -1.5), + (Ngoubou, _) => (0.5, -2.5), }, neck: match (body.species, body.body_type) { (Grolgar, _) => (1.0, -1.0), @@ -208,6 +210,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (0.5, 0.0), (Moose, _) => (-0.5, 0.5), (Snowleopard, _) => (0.0, 1.5), + (Mammoth, _) => (0.5, -0.5), + (Ngoubou, _) => (2.0, 1.0), }, jaw: match (body.species, body.body_type) { (Grolgar, _) => (7.0, 2.0), @@ -242,6 +246,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Moose, Male) => (10.0, -7.0), (Moose, Female) => (6.0, -2.5), (Snowleopard, _) => (3.0, -3.0), + (Mammoth, _) => (4.5, -3.0), + (Ngoubou, _) => (4.5, -4.0), }, tail: match (body.species, body.body_type) { (Grolgar, _) => (-11.5, -0.5), @@ -275,6 +281,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (-5.5, 1.5), (Moose, _) => (-12.5, 3.5), (Snowleopard, _) => (-10.5, 3.0), + (Mammoth, _) => (-13.0, -1.5), + (Ngoubou, _) => (-12.0, 5.5), }, torso_front: match (body.species, body.body_type) { (Grolgar, _) => (10.0, 13.0), @@ -308,6 +316,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (1.5, 15.5), (Moose, _) => (1.5, 19.5), (Snowleopard, _) => (1.5, 13.0), + (Mammoth, _) => (11.5, 20.5), + (Ngoubou, _) => (9.5, 16.5), }, torso_back: match (body.species, body.body_type) { (Grolgar, _) => (-10.0, 1.5), @@ -341,6 +351,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (-20.0, -1.0), (Moose, _) => (-10.0, -1.0), (Snowleopard, _) => (-11.0, 0.0), + (Mammoth, _) => (-13.0, -2.5), + (Ngoubou, _) => (-8.0, -2.0), }, ears: match (body.species, body.body_type) { (Grolgar, _) => (5.0, 8.0), @@ -375,6 +387,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Moose, Male) => (6.0, 1.0), (Moose, Female) => (2.0, 4.5), (Snowleopard, _) => (1.5, 3.0), + (Mammoth, _) => (12.0, -3.0), + (Ngoubou, _) => (12.0, -3.0), }, leg_f: match (body.species, body.body_type) { (Grolgar, _) => (7.5, -5.5, -1.0), @@ -408,6 +422,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (8.5, -7.0, -0.5), (Moose, _) => (5.5, -4.0, 1.0), (Snowleopard, _) => (6.5, -4.0, -2.5), + (Mammoth, _) => (10.0, -5.0, -5.0), + (Ngoubou, _) => (7.5, -4.0, -1.5), }, leg_b: match (body.species, body.body_type) { (Grolgar, _) => (6.0, -6.5, -4.0), @@ -441,6 +457,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (6.0, 0.0, -3.0), (Moose, _) => (4.5, -10.0, -2.0), (Snowleopard, _) => (5.5, -5.0, -1.5), + (Mammoth, _) => (7.5, -7.0, -5.0), + (Ngoubou, _) => (4.5, -9.5, 0.0), }, feet_f: match (body.species, body.body_type) { (Grolgar, _) => (0.0, 0.0, -4.0), @@ -474,6 +492,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (-0.5, 0.5, -5.0), (Moose, _) => (-1.0, 1.5, -9.5), (Snowleopard, _) => (0.5, 0.5, -4.5), + (Mammoth, _) => (-0.5, -0.5, -6.0), + (Ngoubou, _) => (-1.0, 0.5, -6.0), }, feet_b: match (body.species, body.body_type) { (Grolgar, _) => (0.5, -1.5, -3.0), @@ -507,6 +527,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (-0.5, 0.5, -3.5), (Moose, _) => (-1.0, 0.0, -6.5), (Snowleopard, _) => (0.5, 0.5, -5.5), + (Mammoth, _) => (0.5, -0.5, -4.5), + (Ngoubou, _) => (0.5, 1.0, -5.5), }, scaler: match (body.species, body.body_type) { (Grolgar, _) => (1.05), @@ -531,6 +553,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dreadhorn, _) => (1.6), (Moose, _) => (0.95), (Snowleopard, _) => (0.95), + (Mammoth, _) => (3.0), + (Ngoubou, _) => (1.0), _ => (0.9), }, startangle: match (body.species, body.body_type) { @@ -594,6 +618,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { _ => (1.0), }, feed: match (body.species, body.body_type) { + // TODO: Rework some species to allow for feed anim (Tuskram, _) => (true, 0.5), (Mouflon, _) => (true, 0.7), (Deer, _) => (true, 1.0),