diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron index de92e5a518..7c01ad067f 100644 --- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron +++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron @@ -7,6 +7,7 @@ ItemDef( stats: ( equip_time_millis: 500, power: 1.00, + speed: 1.0, ), ) ), diff --git a/assets/common/npc_names.json b/assets/common/npc_names.json index acb401b7ee..ee7e7af6ce 100644 --- a/assets/common/npc_names.json +++ b/assets/common/npc_names.json @@ -757,6 +757,14 @@ "maneater": { "keyword": "maneater", "generic": "Maneater" + }, + "sandshark": { + "keyword": "sandshark", + "generic": "Sand Shark" + }, + "hakulaq": { + "keyword": "hakulaq", + "generic": "Hakulaq" } } } diff --git a/assets/voxygen/voxel/npc/antelope/male/head.vox b/assets/voxygen/voxel/npc/antelope/male/head.vox index c6bfaf22ab..19083c0bce 100644 Binary files a/assets/voxygen/voxel/npc/antelope/male/head.vox and b/assets/voxygen/voxel/npc/antelope/male/head.vox differ diff --git a/assets/voxygen/voxel/npc/antelope/male/neck.vox b/assets/voxygen/voxel/npc/antelope/male/neck.vox index 3571f0ce0b..40780d237f 100644 Binary files a/assets/voxygen/voxel/npc/antelope/male/neck.vox and b/assets/voxygen/voxel/npc/antelope/male/neck.vox differ diff --git a/assets/voxygen/voxel/npc/antelope/male/torso_back.vox b/assets/voxygen/voxel/npc/antelope/male/torso_back.vox index df9437c8e1..71a6ce333c 100644 Binary files a/assets/voxygen/voxel/npc/antelope/male/torso_back.vox and b/assets/voxygen/voxel/npc/antelope/male/torso_back.vox differ diff --git a/assets/voxygen/voxel/npc/antelope/male/torso_front.vox b/assets/voxygen/voxel/npc/antelope/male/torso_front.vox index b4d369d76d..8eab08322b 100644 Binary files a/assets/voxygen/voxel/npc/antelope/male/torso_front.vox and b/assets/voxygen/voxel/npc/antelope/male/torso_front.vox differ diff --git a/assets/voxygen/voxel/npc/antelope/torso_back.vox b/assets/voxygen/voxel/npc/antelope/torso_back.vox new file mode 100644 index 0000000000..71a6ce333c Binary files /dev/null and b/assets/voxygen/voxel/npc/antelope/torso_back.vox differ diff --git a/assets/voxygen/voxel/npc/antelope/torso_front.vox b/assets/voxygen/voxel/npc/antelope/torso_front.vox new file mode 100644 index 0000000000..8eab08322b Binary files /dev/null and b/assets/voxygen/voxel/npc/antelope/torso_front.vox differ diff --git a/assets/voxygen/voxel/npc/donkey/male/head.vox b/assets/voxygen/voxel/npc/donkey/male/head.vox index 60d79f89a6..20eb6bf94b 100644 Binary files a/assets/voxygen/voxel/npc/donkey/male/head.vox and b/assets/voxygen/voxel/npc/donkey/male/head.vox differ diff --git a/assets/voxygen/voxel/npc/donkey/male/jaw.vox b/assets/voxygen/voxel/npc/donkey/male/jaw.vox index 17798d9c13..0afd3e5169 100644 Binary files a/assets/voxygen/voxel/npc/donkey/male/jaw.vox and b/assets/voxygen/voxel/npc/donkey/male/jaw.vox differ diff --git a/assets/voxygen/voxel/npc/donkey/male/neck.vox b/assets/voxygen/voxel/npc/donkey/male/neck.vox index aa7c02b125..58bfa366d4 100644 Binary files a/assets/voxygen/voxel/npc/donkey/male/neck.vox and b/assets/voxygen/voxel/npc/donkey/male/neck.vox differ diff --git a/assets/voxygen/voxel/npc/donkey/male/torso_front.vox b/assets/voxygen/voxel/npc/donkey/male/torso_front.vox index beead6bbb8..9376976357 100644 Binary files a/assets/voxygen/voxel/npc/donkey/male/torso_front.vox and b/assets/voxygen/voxel/npc/donkey/male/torso_front.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/chest.vox b/assets/voxygen/voxel/npc/hakulaq/male/chest.vox new file mode 100644 index 0000000000..db85ecbf5c Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/chest.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/foot_bl.vox b/assets/voxygen/voxel/npc/hakulaq/male/foot_bl.vox new file mode 100644 index 0000000000..af8eaf389e Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/foot_bl.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/foot_br.vox b/assets/voxygen/voxel/npc/hakulaq/male/foot_br.vox new file mode 100644 index 0000000000..9dbe5c6588 Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/foot_br.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/foot_fl.vox b/assets/voxygen/voxel/npc/hakulaq/male/foot_fl.vox new file mode 100644 index 0000000000..56f63e1b31 Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/foot_fl.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/foot_fr.vox b/assets/voxygen/voxel/npc/hakulaq/male/foot_fr.vox new file mode 100644 index 0000000000..74a5806f15 Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/foot_fr.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/head_lower.vox b/assets/voxygen/voxel/npc/hakulaq/male/head_lower.vox new file mode 100644 index 0000000000..fc456f0fea Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/head_lower.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/head_upper.vox b/assets/voxygen/voxel/npc/hakulaq/male/head_upper.vox new file mode 100644 index 0000000000..da1d8185bd Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/head_upper.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/jaw.vox b/assets/voxygen/voxel/npc/hakulaq/male/jaw.vox new file mode 100644 index 0000000000..2b56927b6f Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/jaw.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/tail_front.vox b/assets/voxygen/voxel/npc/hakulaq/male/tail_front.vox new file mode 100644 index 0000000000..7210534d99 Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/tail_front.vox differ diff --git a/assets/voxygen/voxel/npc/hakulaq/male/tail_rear.vox b/assets/voxygen/voxel/npc/hakulaq/male/tail_rear.vox new file mode 100644 index 0000000000..4278ad0c40 Binary files /dev/null and b/assets/voxygen/voxel/npc/hakulaq/male/tail_rear.vox differ diff --git a/assets/voxygen/voxel/npc/horse/male/neck.vox b/assets/voxygen/voxel/npc/horse/male/neck.vox index 9d5fa1807e..c23318e0a3 100644 Binary files a/assets/voxygen/voxel/npc/horse/male/neck.vox and b/assets/voxygen/voxel/npc/horse/male/neck.vox differ diff --git a/assets/voxygen/voxel/npc/kelpie/male/head.vox b/assets/voxygen/voxel/npc/kelpie/male/head.vox index ddd8cdcce5..edf7d3e952 100644 Binary files a/assets/voxygen/voxel/npc/kelpie/male/head.vox and b/assets/voxygen/voxel/npc/kelpie/male/head.vox differ diff --git a/assets/voxygen/voxel/npc/kelpie/male/neck.vox b/assets/voxygen/voxel/npc/kelpie/male/neck.vox index cdd268d09c..188cb3d498 100644 Binary files a/assets/voxygen/voxel/npc/kelpie/male/neck.vox and b/assets/voxygen/voxel/npc/kelpie/male/neck.vox differ diff --git a/assets/voxygen/voxel/npc/kelpie/male/torso_front.vox b/assets/voxygen/voxel/npc/kelpie/male/torso_front.vox index 12cbad1603..6d08d30245 100644 Binary files a/assets/voxygen/voxel/npc/kelpie/male/torso_front.vox and b/assets/voxygen/voxel/npc/kelpie/male/torso_front.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/chest.vox b/assets/voxygen/voxel/npc/sandshark/male/chest.vox new file mode 100644 index 0000000000..b864dd9042 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/chest.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/foot_bl.vox b/assets/voxygen/voxel/npc/sandshark/male/foot_bl.vox new file mode 100644 index 0000000000..0531afefc6 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/foot_bl.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/foot_br.vox b/assets/voxygen/voxel/npc/sandshark/male/foot_br.vox new file mode 100644 index 0000000000..bc7128ae97 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/foot_br.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/foot_fl.vox b/assets/voxygen/voxel/npc/sandshark/male/foot_fl.vox new file mode 100644 index 0000000000..9c44dd141c Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/foot_fl.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/foot_fr.vox b/assets/voxygen/voxel/npc/sandshark/male/foot_fr.vox new file mode 100644 index 0000000000..06600d2a81 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/foot_fr.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/head_lower.vox b/assets/voxygen/voxel/npc/sandshark/male/head_lower.vox new file mode 100644 index 0000000000..d064434997 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/head_lower.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/head_upper.vox b/assets/voxygen/voxel/npc/sandshark/male/head_upper.vox new file mode 100644 index 0000000000..cec1379112 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/head_upper.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/jaw.vox b/assets/voxygen/voxel/npc/sandshark/male/jaw.vox new file mode 100644 index 0000000000..528a116110 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/jaw.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/tail_front.vox b/assets/voxygen/voxel/npc/sandshark/male/tail_front.vox new file mode 100644 index 0000000000..f940814aa0 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/tail_front.vox differ diff --git a/assets/voxygen/voxel/npc/sandshark/male/tail_rear.vox b/assets/voxygen/voxel/npc/sandshark/male/tail_rear.vox new file mode 100644 index 0000000000..f8812b8f44 Binary files /dev/null and b/assets/voxygen/voxel/npc/sandshark/male/tail_rear.vox differ diff --git a/assets/voxygen/voxel/npc/zebra/male/head.vox b/assets/voxygen/voxel/npc/zebra/male/head.vox index db87d36c6a..b1eb0bd59e 100644 Binary files a/assets/voxygen/voxel/npc/zebra/male/head.vox and b/assets/voxygen/voxel/npc/zebra/male/head.vox differ diff --git a/assets/voxygen/voxel/npc/zebra/male/jaw.vox b/assets/voxygen/voxel/npc/zebra/male/jaw.vox index b47b4fea00..79e90c1cff 100644 Binary files a/assets/voxygen/voxel/npc/zebra/male/jaw.vox and b/assets/voxygen/voxel/npc/zebra/male/jaw.vox differ diff --git a/assets/voxygen/voxel/npc/zebra/male/neck.vox b/assets/voxygen/voxel/npc/zebra/male/neck.vox index d495fa95bb..e3717fe0c4 100644 Binary files a/assets/voxygen/voxel/npc/zebra/male/neck.vox and b/assets/voxygen/voxel/npc/zebra/male/neck.vox differ diff --git a/assets/voxygen/voxel/npc/zebra/male/torso_front.vox b/assets/voxygen/voxel/npc/zebra/male/torso_front.vox index ab93246ce4..267c94262b 100644 Binary files a/assets/voxygen/voxel/npc/zebra/male/torso_front.vox and b/assets/voxygen/voxel/npc/zebra/male/torso_front.vox differ diff --git a/assets/voxygen/voxel/quadruped_low_central_manifest.ron b/assets/voxygen/voxel/quadruped_low_central_manifest.ron index 5df288e77b..be2c941c1c 100644 --- a/assets/voxygen/voxel/quadruped_low_central_manifest.ron +++ b/assets/voxygen/voxel/quadruped_low_central_manifest.ron @@ -468,4 +468,108 @@ central: ("npc.maneater.male.tail_front"), ), ), + (Hakulaq, Male): ( + upper: ( + offset: (-2.5, -8.5, -5.0), + central: ("npc.hakulaq.male.head_upper"), + ), + lower: ( + offset: (-2.5, -3.5, -8.5), + central: ("npc.hakulaq.male.head_lower"), + ), + jaw: ( + offset: (-2.5, 0.0, -2.0), + central: ("npc.hakulaq.male.jaw"), + ), + chest: ( + offset: (-4.5, -8.0, -8.5), + central: ("npc.hakulaq.male.chest"), + ), + tail_rear: ( + offset: (-1.5, -18.0, -2.0), + central: ("npc.hakulaq.male.tail_rear"), + ), + tail_front: ( + offset: (-2.5, -10.0, -4.0), + central: ("npc.hakulaq.male.tail_front"), + ), + ), + (Hakulaq, Female): ( + upper: ( + offset: (-2.5, -8.5, -5.0), + central: ("npc.hakulaq.male.head_upper"), + ), + lower: ( + offset: (-2.5, -3.5, -8.5), + central: ("npc.hakulaq.male.head_lower"), + ), + jaw: ( + offset: (-2.5, 0.0, -2.0), + central: ("npc.hakulaq.male.jaw"), + ), + chest: ( + offset: (-4.5, -8.0, -8.5), + central: ("npc.hakulaq.male.chest"), + ), + tail_rear: ( + offset: (-1.5, -18.0, -2.0), + central: ("npc.hakulaq.male.tail_rear"), + ), + tail_front: ( + offset: (-2.5, -10.0, -4.0), + central: ("npc.hakulaq.male.tail_front"), + ), + ), + (Sandshark, Male): ( + upper: ( + offset: (-5.5, -8.0, -5.0), + central: ("npc.sandshark.male.head_upper"), + ), + lower: ( + offset: (-4.5, -2.5, -6.5), + central: ("npc.sandshark.male.head_lower"), + ), + jaw: ( + offset: (-5.5, 0.0, -2.5), + central: ("npc.sandshark.male.jaw"), + ), + chest: ( + offset: (-9.5, -15.0, -17.0), + central: ("npc.sandshark.male.chest"), + ), + tail_rear: ( + offset: (-1.5, -19.0, -4.5), + central: ("npc.sandshark.male.tail_rear"), + ), + tail_front: ( + offset: (-3.5, -11.0, -4.0), + central: ("npc.sandshark.male.tail_front"), + ), + ), + (Sandshark, Female): ( + upper: ( + offset: (-5.5, -8.0, -5.0), + central: ("npc.sandshark.male.head_upper"), + ), + lower: ( + offset: (-4.5, -2.5, -6.5), + central: ("npc.sandshark.male.head_lower"), + ), + jaw: ( + offset: (-5.5, 0.0, -2.5), + central: ("npc.sandshark.male.jaw"), + ), + chest: ( + offset: (-9.5, -15.0, -17.0), + central: ("npc.sandshark.male.chest"), + ), + tail_rear: ( + offset: (-1.5, -19.0, -4.5), + central: ("npc.sandshark.male.tail_rear"), + ), + tail_front: ( + offset: (-3.5, -11.0, -4.0), + central: ("npc.sandshark.male.tail_front"), + ), + ), }) diff --git a/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron index ce8d8db9ac..db197127b0 100644 --- a/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron @@ -323,4 +323,76 @@ lateral: ("npc.maneater.male.foot_br"), ), ), + (Hakulaq, Male): ( + front_left: ( + offset: (-10.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_fl"), + ), + front_right: ( + offset: (0.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_fr"), + ), + back_left: ( + offset: (-10.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_bl"), + ), + back_right: ( + offset: (0.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_br"), + ), + ), + (Hakulaq, Female): ( + front_left: ( + offset: (-10.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_fl"), + ), + front_right: ( + offset: (0.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_fr"), + ), + back_left: ( + offset: (-10.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_bl"), + ), + back_right: ( + offset: (0.0, 0.0, -9.0), + lateral: ("npc.hakulaq.male.foot_br"), + ), + ), + (Sandshark, Male): ( + front_left: ( + offset: (-17.0, 0.0, -12.0), + lateral: ("npc.sandshark.male.foot_fl"), + ), + front_right: ( + offset: (0.0, 0.0, -12.0), + lateral: ("npc.sandshark.male.foot_fr"), + ), + back_left: ( + offset: (-9.0, 0.0, -6.0), + lateral: ("npc.sandshark.male.foot_bl"), + ), + back_right: ( + offset: (-2.0, 0.0, -6.0), + lateral: ("npc.sandshark.male.foot_br"), + ), + ), + (Sandshark, Female): ( + front_left: ( + offset: (-17.0, 0.0, -12.0), + lateral: ("npc.sandshark.male.foot_fl"), + ), + front_right: ( + offset: (0.0, 0.0, -12.0), + lateral: ("npc.sandshark.male.foot_fr"), + ), + back_left: ( + offset: (-9.0, 0.0, -6.0), + lateral: ("npc.sandshark.male.foot_bl"), + ), + back_right: ( + offset: (-2.0, 0.0, -6.0), + lateral: ("npc.sandshark.male.foot_br"), + ), + ), }) diff --git a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron index 41348f735f..bc73744896 100644 --- a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron +++ b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron @@ -845,7 +845,7 @@ central: ("npc.donkey.male.head"), ), neck: ( - offset: (-3.0, -4.0, -7.0), + offset: (-3.0, -4.0, -6.5), central: ("npc.donkey.male.neck"), ), jaw: ( @@ -965,15 +965,15 @@ central: ("npc.zebra.male.head"), ), neck: ( - offset: (-3.0, -4.0, -7.0), + offset: (-3.0, -4.5, -7.0), central: ("npc.zebra.male.neck"), ), jaw: ( - offset: (-2.0, 0.0, -1.5), + offset: (-2.0, 0.0, -1.0), central: ("npc.zebra.male.jaw"), ), torso_front: ( - offset: (-5.0, -9.0, -6.5), + offset: (-5.0, -10.0, -6.5), central: ("npc.zebra.male.torso_front"), ), torso_back: ( @@ -995,15 +995,15 @@ central: ("npc.zebra.male.head"), ), neck: ( - offset: (-3.0, -4.0, -7.0), + offset: (-3.0, -4.5, -7.0), central: ("npc.zebra.male.neck"), ), jaw: ( - offset: (-2.0, 0.0, -1.5), + offset: (-2.0, 0.0, -1.0), central: ("npc.zebra.male.jaw"), ), torso_front: ( - offset: (-5.0, -9.0, -6.5), + offset: (-5.0, -10.0, -6.5), central: ("npc.zebra.male.torso_front"), ), torso_back: ( @@ -1037,7 +1037,7 @@ central: ("npc.antelope.male.torso_front"), ), torso_back: ( - offset: (-4.0, -10.0, -3.5), + offset: (-4.0, -5.5, -3.5), central: ("npc.antelope.male.torso_back"), ), ears: ( @@ -1067,7 +1067,7 @@ central: ("npc.antelope.male.torso_front"), ), torso_back: ( - offset: (-4.0, -10.0, -3.5), + offset: (-4.0, -5.5, -3.5), central: ("npc.antelope.male.torso_back"), ), ears: ( @@ -1085,7 +1085,7 @@ central: ("npc.kelpie.male.head"), ), neck: ( - offset: (-4.0, -4.0, -7.5), + offset: (-4.0, -4.5, -7.5), central: ("npc.kelpie.male.neck"), ), jaw: ( @@ -1093,7 +1093,7 @@ central: ("npc.kelpie.male.jaw"), ), torso_front: ( - offset: (-5.0, -9.0, -6.5), + offset: (-5.0, -10.0, -6.5), central: ("npc.kelpie.male.torso_front"), ), torso_back: ( @@ -1115,15 +1115,15 @@ central: ("npc.kelpie.male.head"), ), neck: ( - offset: (-4.0, -4.0, -7.5), + offset: (-4.0, -4.5, -7.5), central: ("npc.kelpie.male.neck"), ), jaw: ( - offset: (-2.0, -2.0, -1.5), + offset: (-2.0, 0.0, -1.5), central: ("npc.kelpie.male.jaw"), ), torso_front: ( - offset: (-5.0, -9.0, -6.5), + offset: (-5.0, -10.0, -6.5), central: ("npc.kelpie.male.torso_front"), ), torso_back: ( diff --git a/common/src/comp/agent.rs b/common/src/comp/agent.rs index d0cd1563f9..c3347bdd5a 100644 --- a/common/src/comp/agent.rs +++ b/common/src/comp/agent.rs @@ -109,15 +109,11 @@ impl<'a> From<&'a Body> for Psyche { _ => 1.0, }, Body::QuadrupedLow(quadruped_low) => match quadruped_low.species { - quadruped_low::Species::Crocodile => 1.0, - quadruped_low::Species::Alligator => 1.0, quadruped_low::Species::Salamander => 0.8, quadruped_low::Species::Monitor => 0.9, quadruped_low::Species::Asp => 0.9, - quadruped_low::Species::Tortoise => 1.0, - quadruped_low::Species::Rocksnapper => 1.0, quadruped_low::Species::Pangolin => 0.6, - quadruped_low::Species::Maneater => 1.0, + _ => 1.0, }, Body::BirdMedium(_) => 1.0, Body::BirdSmall(_) => 0.4, diff --git a/common/src/comp/body/quadruped_low.rs b/common/src/comp/body/quadruped_low.rs index 16aee7611c..126f5d6c30 100644 --- a/common/src/comp/body/quadruped_low.rs +++ b/common/src/comp/body/quadruped_low.rs @@ -43,6 +43,8 @@ make_case_elim!( Rocksnapper = 6, Pangolin = 7, Maneater = 8, + Sandshark = 9, + Hakulaq = 10, } ); @@ -60,6 +62,8 @@ pub struct AllSpecies { pub rocksnapper: SpeciesMeta, pub pangolin: SpeciesMeta, pub maneater: SpeciesMeta, + pub sandshark: SpeciesMeta, + pub hakulaq: SpeciesMeta, } impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { @@ -77,11 +81,13 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies Species::Rocksnapper => &self.rocksnapper, Species::Pangolin => &self.pangolin, Species::Maneater => &self.maneater, + Species::Sandshark => &self.sandshark, + Species::Hakulaq => &self.hakulaq, } } } -pub const ALL_SPECIES: [Species; 9] = [ +pub const ALL_SPECIES: [Species; 11] = [ Species::Crocodile, Species::Alligator, Species::Salamander, @@ -91,6 +97,8 @@ pub const ALL_SPECIES: [Species; 9] = [ Species::Rocksnapper, Species::Pangolin, Species::Maneater, + Species::Sandshark, + Species::Hakulaq, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { diff --git a/voxygen/src/anim/src/biped_large/mod.rs b/voxygen/src/anim/src/biped_large/mod.rs index b01f413bd6..c969067422 100644 --- a/voxygen/src/anim/src/biped_large/mod.rs +++ b/voxygen/src/anim/src/biped_large/mod.rs @@ -326,19 +326,19 @@ impl<'a> From<&'a Body> for SkeletonAttr { sthl: match (body.species, body.body_type) { (Ogre, Female) => (-1.0, -5.0, 12.0, 1.27, 0.0, 0.0), (Occultsaurok, _) => (-1.0, -7.0, 12.0, 1.27, 0.0, 0.0), - (Mindflayer, _) => (-1.0, -5.0, 12.0, 1.27, 0.0, 0.0), + (Mindflayer, _) => (1.0, -10.5, 7.0, 1.27, 0.0, 0.0), (_, _) => (11.0, 5.0, -4.0, 1.27, 0.0, 0.0), }, sthr: match (body.species, body.body_type) { (Ogre, Female) => (5.0, -3.5, 18.0, 1.57, 0.8, 0.0), (Occultsaurok, _) => (7.0, -3.5, 18.0, 1.57, 0.8, 0.0), - (Mindflayer, _) => (7.0, -3.5, 18.0, 1.57, 0.8, 0.0), + (Mindflayer, _) => (7.0, -9.0, 13.0, 1.57, 0.8, 0.0), (_, _) => (17.0, 7.5, 2.0, 1.57, 0.8, 0.0), }, stc: match (body.species, body.body_type) { (Ogre, Female) => (-10.0, 7.0, -23.0, -0.3, 0.15, 0.0), (Occultsaurok, _) => (-10.0, 7.0, -22.0, -0.3, 0.15, 0.0), - (Mindflayer, _) => (-10.0, 7.0, -22.0, -0.3, 0.15, 0.0), + (Mindflayer, _) => (-10.0, 12.5, -22.0, -0.3, 0.15, 0.0), (_, _) => (-18.0, 1.0, -2.0, -0.3, 0.15, 0.0), }, bhl: match (body.species, body.body_type) { diff --git a/voxygen/src/anim/src/biped_large/wield.rs b/voxygen/src/anim/src/biped_large/wield.rs index 12d70ad99f..bd77702bb5 100644 --- a/voxygen/src/anim/src/biped_large/wield.rs +++ b/voxygen/src/anim/src/biped_large/wield.rs @@ -263,10 +263,10 @@ impl Animation for WieldAnimation { next.main.orientation = Quaternion::rotation_y(0.0); }, Some(ToolKind::Staff) => { - next.hand_l.position = Vec3::new(s_a.sthl.0 + 2.0, s_a.sthl.1 - 5.5, s_a.sthl.2 - 5.0); + next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2); next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3) * Quaternion::rotation_y(s_a.sthl.4); - next.hand_r.position = Vec3::new(s_a.sthr.0, s_a.sthr.1 - 5.5, s_a.sthr.2 - 5.0); + next.hand_r.position = Vec3::new(s_a.sthr.0, s_a.sthr.1, s_a.sthr.2); next.hand_r.orientation = Quaternion::rotation_x(s_a.sthr.3) * Quaternion::rotation_y(s_a.sthr.4); @@ -278,7 +278,7 @@ impl Animation for WieldAnimation { next.main.position = Vec3::new(0.0, 0.0, 0.0); next.main.orientation = Quaternion::rotation_y(0.0); - next.control.position = Vec3::new(s_a.stc.0, s_a.stc.1 + 5.5, s_a.stc.2); + next.control.position = Vec3::new(s_a.stc.0, s_a.stc.1, s_a.stc.2); next.control.orientation = Quaternion::rotation_x(-0.3 + u_slow * 0.1) * Quaternion::rotation_y(0.15) * Quaternion::rotation_z(u_slowalt * 0.08); diff --git a/voxygen/src/anim/src/quadruped_low/idle.rs b/voxygen/src/anim/src/quadruped_low/idle.rs index aee2ca90eb..bf169edee2 100644 --- a/voxygen/src/anim/src/quadruped_low/idle.rs +++ b/voxygen/src/anim/src/quadruped_low/idle.rs @@ -45,7 +45,7 @@ impl Animation for IdleAnimation { next.tail_rear.scale = Vec3::one() * 0.98; next.head_upper.position = - Vec3::new(0.0, s_a.head_upper.0, s_a.head_upper.1 + slower * 0.20); + Vec3::new(0.0, s_a.head_upper.0, s_a.head_upper.1 + slower * 0.2); next.head_upper.orientation = Quaternion::rotation_z(0.8 * dragon_look.x) * Quaternion::rotation_x(0.8 * dragon_look.y); diff --git a/voxygen/src/anim/src/quadruped_low/mod.rs b/voxygen/src/anim/src/quadruped_low/mod.rs index c359150001..51a00cf313 100644 --- a/voxygen/src/anim/src/quadruped_low/mod.rs +++ b/voxygen/src/anim/src/quadruped_low/mod.rs @@ -119,6 +119,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (6.0, 0.5), (Pangolin, _) => (-0.5, 8.0), (Maneater, _) => (7.0, 11.5), + (Sandshark, _) => (8.5, 0.5), + (Hakulaq, _) => (8.0, 10.0), }, head_lower: match (body.species, body.body_type) { (Crocodile, _) => (8.0, 0.0), @@ -130,6 +132,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (12.0, -9.0), (Pangolin, _) => (8.0, -9.0), (Maneater, _) => (1.0, 4.5), + (Sandshark, _) => (13.5, -10.5), + (Hakulaq, _) => (10.5, 1.0), }, jaw: match (body.species, body.body_type) { (Crocodile, _) => (2.5, -3.0), @@ -141,6 +145,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (-5.0, -1.5), (Pangolin, _) => (0.0, 0.0), (Maneater, _) => (-1.0, 4.0), + (Sandshark, _) => (-8.0, -5.5), + (Hakulaq, _) => (-6.5, -4.0), }, chest: match (body.species, body.body_type) { (Crocodile, _) => (0.0, 5.0), @@ -152,6 +158,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (0.0, 18.5), (Pangolin, _) => (0.0, 7.0), (Maneater, _) => (0.0, 12.0), + (Sandshark, _) => (0.0, 20.0), + (Hakulaq, _) => (0.0, 13.5), }, tail_rear: match (body.species, body.body_type) { (Crocodile, _) => (-12.5, -1.0), @@ -163,6 +171,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (-14.5, -2.0), (Pangolin, _) => (-7.0, -3.0), (Maneater, _) => (-15.0, 4.0), + (Sandshark, _) => (-10.0, 0.5), + (Hakulaq, _) => (-9.0, -2.0), }, tail_front: match (body.species, body.body_type) { (Crocodile, _) => (-6.0, 0.0), @@ -174,6 +184,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (-13.5, -6.5), (Pangolin, _) => (-7.5, -0.5), (Maneater, _) => (-1.0, 4.0), + (Sandshark, _) => (-13.0, -8.0), + (Hakulaq, _) => (-6.0, -5.5), }, feet_f: match (body.species, body.body_type) { (Crocodile, _) => (3.5, 6.0, -1.0), @@ -185,6 +197,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (7.5, 5.0, -8.5), (Pangolin, _) => (5.5, 5.5, -1.0), (Maneater, _) => (4.5, 4.0, -5.5), + (Sandshark, _) => (5.5, 2.0, -8.0), + (Hakulaq, _) => (4.5, 2.0, -4.5), }, feet_b: match (body.species, body.body_type) { (Crocodile, _) => (3.5, -6.0, -1.0), @@ -196,6 +210,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (8.0, -12.0, -9.5), (Pangolin, _) => (6.5, -3.5, -1.0), (Maneater, _) => (4.5, -2.5, -3.0), + (Sandshark, _) => (3.5, -15.0, -14.0), + (Hakulaq, _) => (3.5, -8.0, -4.5), }, lean: match (body.species, body.body_type) { (Pangolin, _) => (0.4, 0.0), @@ -211,6 +227,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (1.4), (Pangolin, _) => (1.3), (Maneater, _) => (1.4), + (Sandshark, _) => (1.0), + (Hakulaq, _) => (1.0), }, tempo: match (body.species, body.body_type) { (Crocodile, _) => (0.8), @@ -222,6 +240,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Rocksnapper, _) => (0.9), (Pangolin, _) => (1.15), (Maneater, _) => (1.0), + (Sandshark, _) => (1.0), + (Hakulaq, _) => (1.0), }, } } diff --git a/voxygen/src/anim/src/quadruped_medium/mod.rs b/voxygen/src/anim/src/quadruped_medium/mod.rs index 6e190e224c..582d6aa403 100644 --- a/voxygen/src/anim/src/quadruped_medium/mod.rs +++ b/voxygen/src/anim/src/quadruped_medium/mod.rs @@ -197,7 +197,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Roshwalr, _) => (4.0, -1.0), (Donkey, _) => (1.0, 1.0), (Camel, _) => (2.0, 2.5), - (Zebra, _) => (2.0, 0.5), + (Zebra, _) => (4.0, 0.0), (Antelope, _) => (3.0, 0.5), (Kelpie, _) => (1.0, 1.0), (Horse, _) => (4.0, 1.0), @@ -220,7 +220,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Donkey, _) => (-11.0, 1.5), (Camel, _) => (-14.0, -1.0), (Zebra, _) => (-10.0, 1.5), - (Antelope, _) => (-9.0, 2.0), + (Antelope, _) => (-4.5, 2.0), (Kelpie, _) => (-11.0, 3.0), (Horse, _) => (-5.0, 1.5), }, @@ -264,7 +264,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Donkey, _) => (-6.0, -1.0), (Camel, _) => (-12.0, -0.5), (Zebra, _) => (-6.0, -1.0), - (Antelope, _) => (-8.0, 0.0), + (Antelope, _) => (-12.5, 0.0), (Kelpie, _) => (-6.0, -1.0), (Horse, _) => (-11.0, -1.5), }, @@ -330,7 +330,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Donkey, _) => (4.0, -9.0, -3.0), (Camel, _) => (4.5, -10.5, -5.0), (Zebra, _) => (3.5, -8.0, -3.5), - (Antelope, _) => (3.5, -6.5, -3.5), + (Antelope, _) => (3.5, -2.0, -3.5), (Kelpie, _) => (3.5, -9.0, -2.5), (Horse, _) => (3.5, -4.0, -2.0), }, @@ -472,10 +472,10 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Mouflon, _) => (true, 1.0), (Deer, _) => (true, 1.0), (Hirdrasil, _) => (true, 0.9), - (Donkey, _) => (false, 1.0), - (Zebra, _) => (false, 1.0), - (Antelope, _) => (false, 0.9), - (Kelpie, _) => (false, 1.0), + (Donkey, _) => (true, 1.0), + (Zebra, _) => (true, 1.0), + (Antelope, _) => (true, 0.9), + (Kelpie, _) => (true, 1.0), (Horse, _) => (true, 0.85), (_, _) => (false, 0.0), },