diff --git a/assets/common/npc_names.json b/assets/common/npc_names.json index ebfc47948a..320c078280 100644 --- a/assets/common/npc_names.json +++ b/assets/common/npc_names.json @@ -278,6 +278,14 @@ "mouflon": { "keyword": "mouflon", "generic": "Mouflon" + }, + "catoblepas": { + "keyword": "catoblepas", + "generic": "Catoblepas" + }, + "bonerattler": { + "keyword": "bonerattler", + "generic": "Bonerattler" } } }, @@ -441,6 +449,10 @@ "hyena": { "keyword": "hyena", "generic": "Hyena" + }, + "rabbit": { + "keyword": "rabbit", + "generic": "Rabbit" } } }, diff --git a/assets/voxygen/voxel/npc/bonerattler/male/foot_bl.vox b/assets/voxygen/voxel/npc/bonerattler/male/foot_bl.vox new file mode 100644 index 0000000000..b0bb504145 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/foot_bl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1622ffa38acfb820ccc9eb103b7f64eb772de3d59cc006e98ee7cb3bf0d12ae +size 1444 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/foot_br.vox b/assets/voxygen/voxel/npc/bonerattler/male/foot_br.vox new file mode 100644 index 0000000000..b0bb504145 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/foot_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1622ffa38acfb820ccc9eb103b7f64eb772de3d59cc006e98ee7cb3bf0d12ae +size 1444 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/foot_fl.vox b/assets/voxygen/voxel/npc/bonerattler/male/foot_fl.vox new file mode 100644 index 0000000000..4bf1ef1587 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/foot_fl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfbfd577f6fa485c60db1821f0e12dce816e7c61e81bbb765c541af28b383ec1 +size 1520 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/foot_fr.vox b/assets/voxygen/voxel/npc/bonerattler/male/foot_fr.vox new file mode 100644 index 0000000000..99cea330d6 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/foot_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b7cecc26df39fcce03fb33287bfe1196b030cf253bf115d25dba76f60240f9c +size 1520 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/head_lower.vox b/assets/voxygen/voxel/npc/bonerattler/male/head_lower.vox new file mode 100644 index 0000000000..335a3a7c98 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/head_lower.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23f91e808672eb10b9bbcdde13defbfa43d3e90a7dbbc0fbcdd1bf69292e5bca +size 1776 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/head_upper.vox b/assets/voxygen/voxel/npc/bonerattler/male/head_upper.vox new file mode 100644 index 0000000000..54b6474e0e --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/head_upper.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d858e70ec0e6a073385946702a80543c8ea291f4d8bb40119c0d4b46364c0af +size 2560 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/jaw.vox b/assets/voxygen/voxel/npc/bonerattler/male/jaw.vox new file mode 100644 index 0000000000..9d3387c55d --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/jaw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f821cb92795617db05fc98042fabf7964d088509d2ce9d4b3478e8e6e372067c +size 1564 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/leg_bl.vox b/assets/voxygen/voxel/npc/bonerattler/male/leg_bl.vox new file mode 100644 index 0000000000..f7b13031f4 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/leg_bl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e114bd3371dd6ebd668ae25caf495803443084cda576c6ebf1dd1f46d19846 +size 1360 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/leg_br.vox b/assets/voxygen/voxel/npc/bonerattler/male/leg_br.vox new file mode 100644 index 0000000000..234abdc5ce --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/leg_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fd4aea00832cbe833fd715050f0967b01157475c610ebb144b95f23ca84681c +size 1360 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/leg_fl.vox b/assets/voxygen/voxel/npc/bonerattler/male/leg_fl.vox new file mode 100644 index 0000000000..3e6b39d8f9 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/leg_fl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eff214991064df1052f9329331197983a9d370287a7d6fc8e381052c334d2b1f +size 1360 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/leg_fr.vox b/assets/voxygen/voxel/npc/bonerattler/male/leg_fr.vox new file mode 100644 index 0000000000..a913386790 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/leg_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:973330909a7bddc0439a2b5cb11e67ee3b6b829b8593e9fdc6e70f566eabd29b +size 1360 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/tail.vox b/assets/voxygen/voxel/npc/bonerattler/male/tail.vox new file mode 100644 index 0000000000..49dc63306e --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/tail.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:012690465f9201032a05a4b9f42bdaa603bb224bd5e1b5b497aff0885f53bde5 +size 2256 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/torso_back.vox b/assets/voxygen/voxel/npc/bonerattler/male/torso_back.vox new file mode 100644 index 0000000000..88fec9ecff --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/torso_back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89cbc95ff38e4a80a129900b196f24f51d3f19883ab9683e4dfff20ae5b8a4d5 +size 4252 diff --git a/assets/voxygen/voxel/npc/bonerattler/male/torso_front.vox b/assets/voxygen/voxel/npc/bonerattler/male/torso_front.vox new file mode 100644 index 0000000000..62971b44a9 --- /dev/null +++ b/assets/voxygen/voxel/npc/bonerattler/male/torso_front.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:988a6748225bcf58117d8bae88c06e17e2e54da82b6b765dcb4a89291c78ab43 +size 5600 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/foot_bl.vox b/assets/voxygen/voxel/npc/catoblepas/male/foot_bl.vox new file mode 100644 index 0000000000..bacff6706a --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/foot_bl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c0f1f9806038e8f2044eb8c7ad779352613493e4f4e76c80d5cb07b9fab41f9 +size 1584 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/foot_br.vox b/assets/voxygen/voxel/npc/catoblepas/male/foot_br.vox new file mode 100644 index 0000000000..2d68ed2773 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/foot_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c0e46a53c86110af6728ae03b029aee41bb51d3b4dcb40b0c7d2d2ac56edcb5 +size 1584 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/foot_fl.vox b/assets/voxygen/voxel/npc/catoblepas/male/foot_fl.vox new file mode 100644 index 0000000000..0bb861a008 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/foot_fl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36cd396b6676ebae90614b0b23b6234768cbf3feec21e89e9d7af1c1cf748365 +size 1984 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/foot_fr.vox b/assets/voxygen/voxel/npc/catoblepas/male/foot_fr.vox new file mode 100644 index 0000000000..e5b4696b11 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/foot_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:299eaedeee8acb0b4e0ff9a6b7ab85dde9f788e5f3a4a37da9ca9c705b7d9411 +size 1984 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/head_lower.vox b/assets/voxygen/voxel/npc/catoblepas/male/head_lower.vox new file mode 100644 index 0000000000..7724dd9390 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/head_lower.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adb278bc8570878d00f4f9c67a31011c29586764ff45635cd402e5f687ed70d0 +size 3048 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/head_upper.vox b/assets/voxygen/voxel/npc/catoblepas/male/head_upper.vox new file mode 100644 index 0000000000..ca324679cf --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/head_upper.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:959ef7e3c3bf7a8b0153b4397c8712f2d2b7df5786cd8c932080eadaad62423c +size 2992 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/jaw.vox b/assets/voxygen/voxel/npc/catoblepas/male/jaw.vox new file mode 100644 index 0000000000..ee3e42ca9c --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/jaw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fe4b3d77f1e9f7ea8af52863553c5d0f73605e83f777e0662c1b2174bbc1abf +size 1760 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/leg_bl.vox b/assets/voxygen/voxel/npc/catoblepas/male/leg_bl.vox new file mode 100644 index 0000000000..7da0477bf4 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/leg_bl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df65aa79a2af8e9420536f1fad888576e53d9ec5897c7d8f299d0380cccd77f8 +size 1612 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/leg_br.vox b/assets/voxygen/voxel/npc/catoblepas/male/leg_br.vox new file mode 100644 index 0000000000..61dda63ee8 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/leg_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6f9ef91309073c2248e203c99621372002df70c9d02becfde097a4653380ae8 +size 1612 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/leg_fl.vox b/assets/voxygen/voxel/npc/catoblepas/male/leg_fl.vox new file mode 100644 index 0000000000..fa70793c8c --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/leg_fl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3caf6830cf45638f5bebc71e1a95c0af5a685bbed19983700e6826e5e7f74025 +size 2224 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/leg_fr.vox b/assets/voxygen/voxel/npc/catoblepas/male/leg_fr.vox new file mode 100644 index 0000000000..0cb7d1d311 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/leg_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3686d1afbcbe88864e782208c38b0e0c77278d8cd9be3950b267f31b6a1d96bc +size 2224 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/tail.vox b/assets/voxygen/voxel/npc/catoblepas/male/tail.vox new file mode 100644 index 0000000000..b145e6d075 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/tail.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3f3cece921f859686b2fda746732a7e2e2fd4d6aca1a0fc08b760ebfda6d5b3 +size 1696 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/torso_back.vox b/assets/voxygen/voxel/npc/catoblepas/male/torso_back.vox new file mode 100644 index 0000000000..5b72744199 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/torso_back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:252a232930d941ae0de0c950f78d59281b24cea02188f0364cbdc17ad9faf62a +size 3968 diff --git a/assets/voxygen/voxel/npc/catoblepas/male/torso_front.vox b/assets/voxygen/voxel/npc/catoblepas/male/torso_front.vox new file mode 100644 index 0000000000..e563f4e3c9 --- /dev/null +++ b/assets/voxygen/voxel/npc/catoblepas/male/torso_front.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dfbc6489d60283c515e387106ad1336395a944ebd021e478f6ca7628fc26b1e +size 14056 diff --git a/assets/voxygen/voxel/npc/rabbit/male/chest.vox b/assets/voxygen/voxel/npc/rabbit/male/chest.vox new file mode 100644 index 0000000000..1126349101 --- /dev/null +++ b/assets/voxygen/voxel/npc/rabbit/male/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:936e1644606921c1d2943ac2c86079ce5cf3631b895898578adcfbca93aebcb5 +size 2000 diff --git a/assets/voxygen/voxel/npc/rabbit/male/foot_bl.vox b/assets/voxygen/voxel/npc/rabbit/male/foot_bl.vox new file mode 100644 index 0000000000..868c822d9b --- /dev/null +++ b/assets/voxygen/voxel/npc/rabbit/male/foot_bl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5f985c6875dee0144b547f7448a6cdc111332a1d260f597e71f3b627359e3a5 +size 1208 diff --git a/assets/voxygen/voxel/npc/rabbit/male/foot_br.vox b/assets/voxygen/voxel/npc/rabbit/male/foot_br.vox new file mode 100644 index 0000000000..28df650559 --- /dev/null +++ b/assets/voxygen/voxel/npc/rabbit/male/foot_br.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95a2e8d8511d4841bf3a10f552e864fd4368b0549e7982a59b1ec3e1c13fe08c +size 1208 diff --git a/assets/voxygen/voxel/npc/rabbit/male/foot_fl.vox b/assets/voxygen/voxel/npc/rabbit/male/foot_fl.vox new file mode 100644 index 0000000000..0de756b69f --- /dev/null +++ b/assets/voxygen/voxel/npc/rabbit/male/foot_fl.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d91b461f9623b85a98e37bb327700b932dfa5cff077f7705017ee4b1ee4f90fa +size 1148 diff --git a/assets/voxygen/voxel/npc/rabbit/male/foot_fr.vox b/assets/voxygen/voxel/npc/rabbit/male/foot_fr.vox new file mode 100644 index 0000000000..08568fb0ca --- /dev/null +++ b/assets/voxygen/voxel/npc/rabbit/male/foot_fr.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d8c36d1e5f1ce92df161bd3c7b7bdff3568b69a185b638c69275cba1c762c96 +size 1148 diff --git a/assets/voxygen/voxel/npc/rabbit/male/head.vox b/assets/voxygen/voxel/npc/rabbit/male/head.vox new file mode 100644 index 0000000000..3a65521a3c --- /dev/null +++ b/assets/voxygen/voxel/npc/rabbit/male/head.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8dba0a36d564b41610d1d88824c2af978eae9049704a91bb934bc5f167baa08 +size 1760 diff --git a/assets/voxygen/voxel/npc/rabbit/male/tail.vox b/assets/voxygen/voxel/npc/rabbit/male/tail.vox new file mode 100644 index 0000000000..5118f628d5 --- /dev/null +++ b/assets/voxygen/voxel/npc/rabbit/male/tail.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb7e8ee6d19a70bd32aa43b3d5625bcb5aabc749b7869aa3000914b4cdadebba +size 1156 diff --git a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron index 3f3e4b3084..0a88edcb1c 100644 --- a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron +++ b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron @@ -539,4 +539,124 @@ central: ("npc.mouflon.male.tail"), ), ), + (Catoblepas, Male): ( + upper: ( + offset: (-13.0, 0.0, -4.5), + central: ("npc.catoblepas.male.head_upper"), + ), + lower: ( + offset: (-4.0, -10.0, -12.0), + central: ("npc.catoblepas.male.head_lower"), + ), + jaw: ( + offset: (-4.0, 0.0, -3.0), + central: ("npc.catoblepas.male.jaw"), + ), + torso_front: ( + offset: (-7.0, -10.0, -11.5), + central: ("npc.catoblepas.male.torso_front"), + ), + torso_back: ( + offset: (-5.0, -9.0, -6.5), + central: ("npc.catoblepas.male.torso_back"), + ), + ears: ( + offset: (-2.0, -12.0, -10.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-2.0, -12.0, -10.0), + central: ("npc.catoblepas.male.tail"), + ), + ), + (Catoblepas, Female): ( + upper: ( + offset: (-13.0, 0.0, -4.5), + central: ("npc.catoblepas.male.head_upper"), + ), + lower: ( + offset: (-4.0, -10.0, -12.0), + central: ("npc.catoblepas.male.head_lower"), + ), + jaw: ( + offset: (-4.0, 0.0, -3.0), + central: ("npc.catoblepas.male.jaw"), + ), + torso_front: ( + offset: (-7.0, -10.0, -11.5), + central: ("npc.catoblepas.male.torso_front"), + ), + torso_back: ( + offset: (-5.0, -9.0, -6.5), + central: ("npc.catoblepas.male.torso_back"), + ), + ears: ( + offset: (-2.0, -12.0, -10.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-2.0, -12.0, -10.0), + central: ("npc.catoblepas.male.tail"), + ), + ), + (Bonerattler, Male): ( + upper: ( + offset: (-4.5, 0.0, -4.5), + central: ("npc.bonerattler.male.head_upper"), + ), + lower: ( + offset: (-4.5, -2.0, -5.0), + central: ("npc.bonerattler.male.head_lower"), + ), + jaw: ( + offset: (-3.5, 0.0, -2.0), + central: ("npc.bonerattler.male.jaw"), + ), + torso_front: ( + offset: (-5.5, -7.0, -6.5), + central: ("npc.bonerattler.male.torso_front"), + ), + torso_back: ( + offset: (-5.5, -11.0, -6.5), + central: ("npc.bonerattler.male.torso_back"), + ), + ears: ( + offset: (-4.0, -1.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-3.5, -14.0, -10.0), + central: ("npc.bonerattler.male.tail"), + ), + ), + (Bonerattler, Female): ( + upper: ( + offset: (-4.5, 0.0, -4.5), + central: ("npc.bonerattler.male.head_upper"), + ), + lower: ( + offset: (-4.5, -2.0, -5.0), + central: ("npc.bonerattler.male.head_lower"), + ), + jaw: ( + offset: (-3.5, 0.0, -2.0), + central: ("npc.bonerattler.male.jaw"), + ), + torso_front: ( + offset: (-5.5, -7.0, -6.5), + central: ("npc.bonerattler.male.torso_front"), + ), + torso_back: ( + offset: (-5.5, -11.0, -6.5), + central: ("npc.bonerattler.male.torso_back"), + ), + ears: ( + offset: (-4.0, -1.0, 0.0), + central: ("armor.empty"), + ), + tail: ( + offset: (-3.5, -14.0, -10.0), + central: ("npc.bonerattler.male.tail"), + ), + ), }) diff --git a/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron index ceb6ab940c..77d283c7a6 100644 --- a/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron @@ -611,4 +611,140 @@ lateral: ("npc.mouflon.male.foot_br"), ), ), + (Catoblepas, Male): ( + leg_fl: ( + offset: (-2.5, -4.0, -4.5), + lateral: ("npc.catoblepas.male.leg_fl"), + ), + leg_fr: ( + offset: (-2.5, -4.0, -4.5), + lateral: ("npc.catoblepas.male.leg_fr"), + ), + leg_bl: ( + offset: (-2.0, -3.0 , -4.0), + lateral: ("npc.catoblepas.male.leg_bl"), + ), + leg_br: ( + offset: (-2.0, -3.0, -4.0), + lateral: ("npc.catoblepas.male.leg_br"), + ), + foot_fl: ( + offset: (-3.0, -7.0, -11.0), + lateral: ("npc.catoblepas.male.foot_fl"), + ), + foot_fr: ( + offset: (-3.0, -7.0, -11.0), + lateral: ("npc.catoblepas.male.foot_fr"), + ), + foot_bl: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.catoblepas.male.foot_bl"), + ), + foot_br: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.catoblepas.male.foot_br"), + ), + ), + (Catoblepas, Female): ( + leg_fl: ( + offset: (-2.5, -4.0, -4.5), + lateral: ("npc.catoblepas.male.leg_fl"), + ), + leg_fr: ( + offset: (-2.5, -4.0, -4.5), + lateral: ("npc.catoblepas.male.leg_fr"), + ), + leg_bl: ( + offset: (-2.0, -3.0 , -4.0), + lateral: ("npc.catoblepas.male.leg_bl"), + ), + leg_br: ( + offset: (-2.0, -3.0, -4.0), + lateral: ("npc.catoblepas.male.leg_br"), + ), + foot_fl: ( + offset: (-3.0, -7.0, -11.0), + lateral: ("npc.catoblepas.male.foot_fl"), + ), + foot_fr: ( + offset: (-3.0, -7.0, -11.0), + lateral: ("npc.catoblepas.male.foot_fr"), + ), + foot_bl: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.catoblepas.male.foot_bl"), + ), + foot_br: ( + offset: (-2.5, -3.5, -9.0), + lateral: ("npc.catoblepas.male.foot_br"), + ), + ), + (Bonerattler, Male): ( + leg_fl: ( + offset: (-1.5, -6.0, -3.0), + lateral: ("npc.bonerattler.male.leg_fl"), + ), + leg_fr: ( + offset: (-1.5, -6.0, -3.0), + lateral: ("npc.bonerattler.male.leg_fr"), + ), + leg_bl: ( + offset: (-1.5, -1.0, -3.0), + lateral: ("npc.bonerattler.male.leg_bl"), + ), + leg_br: ( + offset: (-1.5, -1.0, -3.0), + lateral: ("npc.bonerattler.male.leg_br"), + ), + foot_fl: ( + offset: (-2.5, -3.0, -6.0), + lateral: ("npc.bonerattler.male.foot_fl"), + ), + foot_fr: ( + offset: (-2.5, -3.0, -6.0), + lateral: ("npc.bonerattler.male.foot_fr"), + ), + foot_bl: ( + offset: (-2.5, -4.0, -6.0), + lateral: ("npc.bonerattler.male.foot_bl"), + ), + foot_br: ( + offset: (-2.5, -4.0, -6.0), + lateral: ("npc.bonerattler.male.foot_br"), + ), + ), + (Bonerattler, Female): ( + leg_fl: ( + offset: (-1.5, -6.0, -3.0), + lateral: ("npc.bonerattler.male.leg_fl"), + ), + leg_fr: ( + offset: (-1.5, -6.0, -3.0), + lateral: ("npc.bonerattler.male.leg_fr"), + ), + leg_bl: ( + offset: (-1.5, -1.0, -3.0), + lateral: ("npc.bonerattler.male.leg_bl"), + ), + leg_br: ( + offset: (-1.5, -1.0, -3.0), + lateral: ("npc.bonerattler.male.leg_br"), + ), + foot_fl: ( + offset: (-2.5, -3.0, -6.0), + lateral: ("npc.bonerattler.male.foot_fl"), + ), + foot_fr: ( + offset: (-2.5, -3.0, -6.0), + lateral: ("npc.bonerattler.male.foot_fr"), + ), + foot_bl: ( + offset: (-2.5, -4.0, -6.0), + lateral: ("npc.bonerattler.male.foot_bl"), + ), + foot_br: ( + offset: (-2.5, -4.0, -6.0), + lateral: ("npc.bonerattler.male.foot_br"), + ), + ), }) diff --git a/assets/voxygen/voxel/quadruped_small_central_manifest.ron b/assets/voxygen/voxel/quadruped_small_central_manifest.ron index 5d52cc8487..0d916f3f7a 100644 --- a/assets/voxygen/voxel/quadruped_small_central_manifest.ron +++ b/assets/voxygen/voxel/quadruped_small_central_manifest.ron @@ -378,4 +378,32 @@ central: ("npc.hyena.male.tail"), ), ), + (Rabbit, Male):( + head: ( + offset: (-3.5, 0.0, -3.0), + central: ("npc.rabbit.male.head"), + ), + chest: ( + offset: (-2.5, -5.5, -3.0), + central: ("npc.rabbit.male.chest"), + ), + tail: ( + offset: (-1.5, -2.0, -1.0), + central: ("npc.rabbit.male.tail"), + ), + ), + (Rabbit, Female):( + head: ( + offset: (-3.5, 0.0, -3.0), + central: ("npc.rabbit.male.head"), + ), + chest: ( + offset: (-2.5, -5.5, -3.0), + central: ("npc.rabbit.male.chest"), + ), + tail: ( + offset: (-1.5, -2.0, -1.0), + central: ("npc.rabbit.male.tail"), + ), + ), }) \ No newline at end of file diff --git a/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron index 20ab11c13e..791860d0e1 100644 --- a/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron @@ -46,11 +46,11 @@ lateral: ("npc.fox.male.foot_fr"), ), left_back: ( - offset: (-1.0, -2.0, -2.5), + offset: (-1.0, -2.0, -5.0), lateral: ("npc.fox.male.foot_bl"), ), right_back: ( - offset: (-1.0, -2.0, -2.5), + offset: (-1.0, -2.0, -5.0), lateral: ("npc.fox.male.foot_br"), ), ), @@ -64,11 +64,11 @@ lateral: ("npc.fox.female.foot_fr"), ), left_back: ( - offset: (-1.0, -2.0, -2.5), + offset: (-1.0, -2.0, -5.0), lateral: ("npc.fox.female.foot_bl"), ), right_back: ( - offset: (-1.0, -2.0, -2.5), + offset: (-1.0, -2.0, -5.0), lateral: ("npc.fox.female.foot_br"), ), ), @@ -457,11 +457,11 @@ lateral: ("npc.hyena.male.foot_fr"), ), left_back: ( - offset: (-1.5, -2.0, -4.5), + offset: (-1.5, -2.0, -6.5), lateral: ("npc.hyena.male.foot_bl"), ), right_back: ( - offset: (-1.5, -2.0, -4.5), + offset: (-1.5, -2.0, -6.5), lateral: ("npc.hyena.male.foot_br"), ), ), @@ -476,12 +476,48 @@ lateral: ("npc.hyena.male.foot_fr"), ), left_back: ( - offset: (-1.5, -2.0, -4.5), + offset: (-1.5, -2.0, -6.5), lateral: ("npc.hyena.male.foot_bl"), ), right_back: ( - offset: (-1.5, -2.0, -4.5), + offset: (-1.5, -2.0, -6.5), lateral: ("npc.hyena.male.foot_br"), ), ), + (Rabbit, Male): ( + left_front: ( + offset: (-1.5, -0.0, -2.0), + lateral: ("npc.rabbit.male.foot_fl"), + ), + right_front: ( + offset: (-1.5, -0.0, -2.0), + lateral: ("npc.rabbit.male.foot_fr"), + ), + left_back: ( + offset: (-1.5, -3.0, -4.0), + lateral: ("npc.rabbit.male.foot_bl"), + ), + right_back: ( + offset: (-1.5, -3.0, -4.0), + lateral: ("npc.rabbit.male.foot_br"), + ), + ), + (Rabbit, Female): ( + left_front: ( + offset: (-1.5, -0.0, -2.0), + lateral: ("npc.rabbit.male.foot_fl"), + ), + right_front: ( + offset: (-1.5, -0.0, -2.0), + lateral: ("npc.rabbit.male.foot_fr"), + ), + left_back: ( + offset: (-1.5, -3.0, -4.0), + lateral: ("npc.rabbit.male.foot_bl"), + ), + right_back: ( + offset: (-1.5, -3.0, -4.0), + lateral: ("npc.rabbit.male.foot_br"), + ), + ), }) \ No newline at end of file diff --git a/common/src/comp/body/quadruped_medium.rs b/common/src/comp/body/quadruped_medium.rs index 1298be162d..4c1a70106e 100644 --- a/common/src/comp/body/quadruped_medium.rs +++ b/common/src/comp/body/quadruped_medium.rs @@ -37,6 +37,8 @@ pub enum Species { Wolf = 8, Frostfang = 9, Mouflon = 10, + Catoblepas = 11, + Bonerattler = 12, } /// Data representing per-species generic data. @@ -53,6 +55,8 @@ pub struct AllSpecies { pub wolf: SpeciesMeta, pub frostfang: SpeciesMeta, pub mouflon: SpeciesMeta, + pub catoblepas: SpeciesMeta, + pub bonerattler: SpeciesMeta, } impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { @@ -70,11 +74,13 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies Species::Wolf => &self.wolf, Species::Frostfang => &self.frostfang, Species::Mouflon => &self.mouflon, + Species::Catoblepas => &self.catoblepas, + Species::Bonerattler => &self.bonerattler, } } } -pub const ALL_SPECIES: [Species; 9] = [ +pub const ALL_SPECIES: [Species; 11] = [ Species::Grolgar, Species::Saber, Species::Tiger, @@ -84,6 +90,8 @@ pub const ALL_SPECIES: [Species; 9] = [ Species::Wolf, Species::Frostfang, Species::Mouflon, + Species::Catoblepas, + Species::Bonerattler, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { diff --git a/common/src/comp/body/quadruped_small.rs b/common/src/comp/body/quadruped_small.rs index c190aa9e29..a70d2721cf 100644 --- a/common/src/comp/body/quadruped_small.rs +++ b/common/src/comp/body/quadruped_small.rs @@ -41,6 +41,7 @@ pub enum Species { Dodarock = 10, Holladon = 11, Hyena = 12, + Rabbit = 13, } /// Data representing per-species generic data. @@ -61,6 +62,7 @@ pub struct AllSpecies { pub dodarock: SpeciesMeta, pub holladon: SpeciesMeta, pub hyena: SpeciesMeta, + pub rabbit: SpeciesMeta, } impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { @@ -82,11 +84,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies Species::Dodarock => &self.dodarock, Species::Holladon => &self.holladon, Species::Hyena => &self.hyena, + Species::Rabbit => &self.rabbit, } } } -pub const ALL_SPECIES: [Species; 13] = [ +pub const ALL_SPECIES: [Species; 14] = [ Species::Pig, Species::Fox, Species::Sheep, @@ -100,6 +103,7 @@ pub const ALL_SPECIES: [Species; 13] = [ Species::Dodarock, Species::Holladon, Species::Hyena, + Species::Rabbit, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { diff --git a/voxygen/src/anim/src/quadruped_low/run.rs b/voxygen/src/anim/src/quadruped_low/run.rs index 259d660929..7d7df6561b 100644 --- a/voxygen/src/anim/src/quadruped_low/run.rs +++ b/voxygen/src/anim/src/quadruped_low/run.rs @@ -106,9 +106,10 @@ impl Animation for RunAnimation { skeleton_attr.tail_front.0 + skeleton_attr.lean.0 * 2.0, skeleton_attr.tail_front.1 + skeleton_attr.lean.0 * 2.0, ); - next.tail_front.ori = Quaternion::rotation_z(shortalt * 0.18 + tilt * 1.8) - * Quaternion::rotation_y(shortalt * 0.1) - * Quaternion::rotation_x(0.06 - skeleton_attr.lean.0 * 1.2 + x_tilt * 0.2); + next.tail_front.ori = + Quaternion::rotation_z(shortalt * 0.18 * skeleton_attr.lean.0 + tilt * 1.8) + * Quaternion::rotation_y(shortalt * 0.1) + * Quaternion::rotation_x(0.06 - skeleton_attr.lean.0 * 1.2 + x_tilt * 0.2); next.tail_front.scale = Vec3::one(); next.tail_rear.offset = Vec3::new( @@ -116,9 +117,10 @@ impl Animation for RunAnimation { skeleton_attr.tail_rear.0, skeleton_attr.tail_rear.1 + shortalt * 0.6, ); - next.tail_rear.ori = Quaternion::rotation_z(shortalt * 0.25 + tilt * 1.6) - * Quaternion::rotation_y(shortalt * 0.1) - * Quaternion::rotation_x(-0.04 + x_tilt * 0.5); + next.tail_rear.ori = + Quaternion::rotation_z(shortalt * 0.25 * skeleton_attr.lean.0 + tilt * 1.6) + * Quaternion::rotation_y(shortalt * 0.1) + * Quaternion::rotation_x(-0.04 + x_tilt * 0.5); next.tail_rear.scale = Vec3::one(); next.chest.offset = Vec3::new(0.0, skeleton_attr.chest.0, skeleton_attr.chest.1) diff --git a/voxygen/src/anim/src/quadruped_medium/idle.rs b/voxygen/src/anim/src/quadruped_medium/idle.rs index bbccbe167b..b41ebcc636 100644 --- a/voxygen/src/anim/src/quadruped_medium/idle.rs +++ b/voxygen/src/anim/src/quadruped_medium/idle.rs @@ -96,7 +96,7 @@ impl Animation for IdleAnimation { next.torso_back.ori = Quaternion::rotation_y(-slow * 0.005) * Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); - next.torso_back.scale = Vec3::one(); + next.torso_back.scale = Vec3::one() * 0.99; next.ears.offset = Vec3::new(0.0, skeleton_attr.ears.0, skeleton_attr.ears.1); next.ears.ori = Quaternion::rotation_x(0.0 + slower * 0.03); diff --git a/voxygen/src/anim/src/quadruped_medium/mod.rs b/voxygen/src/anim/src/quadruped_medium/mod.rs index 7e25a2e085..aa350fb841 100644 --- a/voxygen/src/anim/src/quadruped_medium/mod.rs +++ b/voxygen/src/anim/src/quadruped_medium/mod.rs @@ -183,6 +183,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (-0.5, 3.0), (Frostfang, _) => (1.0, -2.0), (Mouflon, _) => (-2.5, 6.0), + (Catoblepas, _) => (-1.0, -6.5), + (Bonerattler, _) => (0.0, -0.5), }, head_lower: match (body.species, body.body_type) { (Grolgar, _) => (1.0, -1.0), @@ -194,6 +196,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (-4.5, 2.0), (Frostfang, _) => (2.0, 1.5), (Mouflon, _) => (-1.0, 0.5), + (Catoblepas, _) => (19.5, -2.0), + (Bonerattler, _) => (7.0, -1.5), }, jaw: match (body.species, body.body_type) { (Grolgar, _) => (7.0, 1.5), @@ -205,6 +209,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (5.0, -3.0), (Frostfang, _) => (4.0, -3.0), (Mouflon, _) => (10.5, -4.0), + (Catoblepas, _) => (1.0, -6.0), + (Bonerattler, _) => (3.5, -3.0), }, tail: match (body.species, body.body_type) { (Grolgar, _) => (-11.5, -0.5), @@ -216,6 +222,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (-11.0, 0.0), (Frostfang, _) => (-7.0, -3.5), (Mouflon, _) => (-10.5, 3.0), + (Catoblepas, _) => (-8.5, -2.0), + (Bonerattler, _) => (-9.0, 2.5), }, torso_front: match (body.species, body.body_type) { (Grolgar, _) => (10.0, 13.0), @@ -227,6 +235,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (12.0, 13.0), (Frostfang, _) => (9.0, 11.5), (Mouflon, _) => (11.0, 13.5), + (Catoblepas, _) => (7.5, 19.5), + (Bonerattler, _) => (6.0, 12.5), }, torso_back: match (body.species, body.body_type) { (Grolgar, _) => (-10.0, 1.5), @@ -238,6 +248,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (-12.5, 1.0), (Frostfang, _) => (-10.5, 0.0), (Mouflon, _) => (-8.5, -0.5), + (Catoblepas, _) => (-8.5, -4.5), + (Bonerattler, _) => (-5.0, 0.0), }, ears: match (body.species, body.body_type) { (Grolgar, _) => (5.0, 8.0), @@ -249,6 +261,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (3.0, 2.5), (Frostfang, _) => (2.0, 3.5), (Mouflon, _) => (2.5, 5.0), + (Catoblepas, _) => (11.0, -3.0), + (Bonerattler, _) => (2.0, 3.5), }, leg_f: match (body.species, body.body_type) { (Grolgar, _) => (-7.0, 4.0, 0.0), @@ -260,6 +274,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (4.5, -6.5, -1.0), (Frostfang, _) => (5.5, -5.5, -2.0), (Mouflon, _) => (4.0, -5.0, -5.0), + (Catoblepas, _) => (7.0, 2.0, -6.0), + (Bonerattler, _) => (5.5, 3.5, -4.0), }, leg_b: match (body.species, body.body_type) { (Grolgar, _) => (6.0, -6.5, -5.5), @@ -271,6 +287,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (5.0, -6.5, -2.5), (Frostfang, _) => (3.5, -4.5, -2.0), (Mouflon, _) => (3.5, -8.0, -4.5), + (Catoblepas, _) => (6.0, -2.5, -2.5), + (Bonerattler, _) => (6.5, -9.5, -4.0), }, feet_f: match (body.species, body.body_type) { (Grolgar, _) => (0.0, -9.0, -7.0), @@ -282,6 +300,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (0.5, 0.0, -2.0), (Frostfang, _) => (0.5, 1.5, -3.5), (Mouflon, _) => (-0.5, -0.5, -1.5), + (Catoblepas, _) => (1.0, 4.0, -3.0), + (Bonerattler, _) => (-0.5, -3.0, -2.5), }, feet_b: match (body.species, body.body_type) { (Grolgar, _) => (0.0, 0.0, -5.0), @@ -293,6 +313,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (0.0, -1.0, -1.5), (Frostfang, _) => (0.0, -1.5, -3.5), (Mouflon, _) => (-1.0, 0.0, -2.5), + (Catoblepas, _) => (0.5, 0.5, -3.0), + (Bonerattler, _) => (0.0, 3.0, -2.5), }, scaler: match (body.species, body.body_type) { (Grolgar, _) => (1.3), @@ -304,6 +326,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (1.0), (Frostfang, _) => (1.0), (Mouflon, _) => (1.0), + (Catoblepas, _) => (1.3), + (Bonerattler, _) => (1.0), }, dampen: match (body.species, body.body_type) { (Grolgar, _) => (0.5), @@ -315,6 +339,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (1.0), (Frostfang, _) => (1.0), (Mouflon, _) => (1.0), + (Catoblepas, _) => (0.6), + (Bonerattler, _) => (0.6), }, maximize: match (body.species, body.body_type) { (Grolgar, _) => (2.0), @@ -326,6 +352,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (1.0), (Frostfang, _) => (1.2), (Mouflon, _) => (1.1), + (Catoblepas, _) => (0.9), + (Bonerattler, _) => (0.8), }, tempo: match (body.species, body.body_type) { (Grolgar, _) => (0.95), @@ -337,6 +365,8 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr { (Wolf, _) => (1.1), (Frostfang, _) => (1.0), (Mouflon, _) => (0.85), + (Catoblepas, _) => (0.8), + (Bonerattler, _) => (1.0), }, } } diff --git a/voxygen/src/anim/src/quadruped_small/jump.rs b/voxygen/src/anim/src/quadruped_small/jump.rs index dfc2cc8db7..a8395ac958 100644 --- a/voxygen/src/anim/src/quadruped_small/jump.rs +++ b/voxygen/src/anim/src/quadruped_small/jump.rs @@ -24,9 +24,11 @@ impl Animation for JumpAnimation { next.head.ori = Quaternion::rotation_z(-0.8) * Quaternion::rotation_x(0.5); next.head.scale = Vec3::one(); - next.chest.offset = Vec3::new(0.0, skeleton_attr.chest.0, skeleton_attr.chest.1) / 11.0; + next.chest.offset = Vec3::new(0.0, skeleton_attr.chest.0, skeleton_attr.chest.1) + * skeleton_attr.scaler + / 11.0; next.chest.ori = Quaternion::rotation_y(0.0); - next.chest.scale = Vec3::one() / 11.0; + next.chest.scale = Vec3::one() * skeleton_attr.scaler / 11.0; next.leg_fl.offset = Vec3::new( -skeleton_attr.feet_f.0, diff --git a/voxygen/src/anim/src/quadruped_small/mod.rs b/voxygen/src/anim/src/quadruped_small/mod.rs index a9104211b1..0995dafd23 100644 --- a/voxygen/src/anim/src/quadruped_small/mod.rs +++ b/voxygen/src/anim/src/quadruped_small/mod.rs @@ -127,6 +127,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (6.0, -2.0), (Holladon, _) => (7.0, 1.0), (Hyena, _) => (7.5, 2.0), + (Rabbit, _) => (4.0, 3.0), }, chest: match (body.species, body.body_type) { (Pig, _) => (0.0, 7.0), @@ -142,6 +143,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (-2.0, 9.0), (Holladon, _) => (-2.0, 9.0), (Hyena, _) => (-2.0, 9.0), + (Rabbit, _) => (-2.0, 6.0), }, feet_f: match (body.species, body.body_type) { (Pig, _) => (4.5, 3.0, -2.0), @@ -157,10 +159,11 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (5.0, 5.0, -2.5), (Holladon, _) => (5.0, 4.0, -2.5), (Hyena, _) => (2.5, 5.0, -4.0), + (Rabbit, _) => (3.0, 3.0, -3.0), }, feet_b: match (body.species, body.body_type) { (Pig, _) => (3.5, -2.0, -1.5), - (Fox, _) => (3.0, -3.0, -5.0), + (Fox, _) => (3.0, -3.0, -2.0), (Sheep, _) => (3.5, -3.5, -2.0), (Boar, _) => (3.0, -3.0, -2.5), (Jackalope, _) => (3.5, -2.0, 0.0), @@ -171,7 +174,8 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Quokka, _) => (4.0, -4.0, -1.0), (Dodarock, _) => (3.5, -3.0, -4.0), (Holladon, _) => (4.0, -2.0, -3.0), - (Hyena, _) => (3.0, -5.0, -4.5), + (Hyena, _) => (3.0, -5.0, -2.5), + (Rabbit, _) => (3.5, -2.0, -1.0), }, tail: match (body.species, body.body_type) { (Pig, _) => (-4.5, 2.5), @@ -179,7 +183,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Sheep, _) => (-5.0, 0.0), (Boar, _) => (-6.0, 0.0), (Jackalope, _) => (-4.0, 2.0), - (Skunk, _) => (-3.0, 1.5), + (Skunk, _) => (-4.0, 0.5), (Cat, _) => (-3.5, 2.0), (Batfox, _) => (0.0, 5.0), (Raccoon, _) => (-4.0, 1.0), @@ -187,6 +191,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (0.0, 5.0), (Holladon, _) => (-1.0, 4.0), (Hyena, _) => (-7.0, 0.0), + (Rabbit, _) => (-4.0, -0.0), }, scaler: match (body.species, body.body_type) { (Pig, _) => (0.9), @@ -201,7 +206,8 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Quokka, _) => (1.0), (Dodarock, _) => (1.2), (Holladon, _) => (1.4), - (Hyena, _) => (0.8), + (Hyena, _) => (1.0), + (Rabbit, _) => (0.7), }, tempo: match (body.species, body.body_type) { (Pig, _) => (1.0), @@ -217,13 +223,14 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (1.0), (Holladon, _) => (1.0), (Hyena, _) => (1.1), + (Rabbit, _) => (1.15), }, maximize: match (body.species, body.body_type) { (Pig, _) => (1.0), (Fox, _) => (1.3), (Sheep, _) => (1.1), (Boar, _) => (1.4), - (Jackalope, _) => (1.0), + (Jackalope, _) => (1.2), (Skunk, _) => (1.0), (Cat, _) => (1.0), (Batfox, _) => (1.0), @@ -232,13 +239,14 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (1.0), (Holladon, _) => (1.0), (Hyena, _) => (1.4), + (Rabbit, _) => (1.3), }, minimize: match (body.species, body.body_type) { (Pig, _) => (0.6), (Fox, _) => (1.3), (Sheep, _) => (0.8), (Boar, _) => (1.0), - (Jackalope, _) => (1.0), + (Jackalope, _) => (0.8), (Skunk, _) => (0.9), (Cat, _) => (0.8), (Batfox, _) => (1.0), @@ -247,6 +255,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (0.9), (Holladon, _) => (0.7), (Hyena, _) => (1.4), + (Rabbit, _) => (0.8), }, spring: match (body.species, body.body_type) { (Pig, _) => (1.0), @@ -262,6 +271,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr { (Dodarock, _) => (0.9), (Holladon, _) => (0.7), (Hyena, _) => (1.4), + (Rabbit, _) => (2.5), }, } } diff --git a/voxygen/src/anim/src/quadruped_small/run.rs b/voxygen/src/anim/src/quadruped_small/run.rs index 861c295211..09d14dedc0 100644 --- a/voxygen/src/anim/src/quadruped_small/run.rs +++ b/voxygen/src/anim/src/quadruped_small/run.rs @@ -72,7 +72,7 @@ impl Animation for RunAnimation { skeleton_attr.feet_f.1 + footverttf * 3.0 * skeleton_attr.maximize, skeleton_attr.feet_f.2 + ((footvertf * -1.5).max(-1.0)), ); - next.leg_fl.ori = Quaternion::rotation_x(skeleton_attr.minimize * footverttf * 0.5) + next.leg_fl.ori = Quaternion::rotation_x(0.2 + skeleton_attr.minimize * footverttf * 0.65) * Quaternion::rotation_z(tilt * -0.5) * Quaternion::rotation_y(tilt * 1.5); next.leg_fl.scale = Vec3::one() * 1.02; @@ -82,7 +82,7 @@ impl Animation for RunAnimation { skeleton_attr.feet_f.1 + footvertt * 3.0 * skeleton_attr.minimize, skeleton_attr.feet_f.2 + ((footvert * -1.5).max(-1.0)), ); - next.leg_fr.ori = Quaternion::rotation_x(skeleton_attr.maximize * footvertt * 0.5) + next.leg_fr.ori = Quaternion::rotation_x(0.2 + skeleton_attr.maximize * footvertt * 0.65) * Quaternion::rotation_z(tilt * -0.5) * Quaternion::rotation_y(tilt * 1.5); next.leg_fr.scale = Vec3::one() * 1.02; @@ -92,7 +92,7 @@ impl Animation for RunAnimation { skeleton_attr.feet_b.1 + footvertt * -1.4, skeleton_attr.feet_b.2 + ((footvert * 1.5).max(-1.0)), ); - next.leg_bl.ori = Quaternion::rotation_x(skeleton_attr.maximize * footvertt * -0.6) + next.leg_bl.ori = Quaternion::rotation_x(-0.25 + skeleton_attr.maximize * footvertt * -0.8) * Quaternion::rotation_y(tilt * 1.5) * Quaternion::rotation_z(tilt * -1.5); next.leg_bl.scale = Vec3::one() * 1.02; @@ -102,9 +102,10 @@ impl Animation for RunAnimation { skeleton_attr.feet_b.1 + footverttf * -1.4, skeleton_attr.feet_b.2 + ((footvertf * 1.5).max(-1.0)), ); - next.leg_br.ori = Quaternion::rotation_x(skeleton_attr.maximize * footverttf * -0.6) - * Quaternion::rotation_y(tilt * 1.5) - * Quaternion::rotation_z(tilt * -1.5); + next.leg_br.ori = + Quaternion::rotation_x(-0.25 + skeleton_attr.maximize * footverttf * -0.8) + * Quaternion::rotation_y(tilt * 1.5) + * Quaternion::rotation_z(tilt * -1.5); next.leg_br.scale = Vec3::one() * 1.02; next.tail.offset = Vec3::new(0.0, skeleton_attr.tail.0, skeleton_attr.tail.1);