From aa4237b019ce12ff2beadb9ca074b99126952f24 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Wed, 10 Feb 2021 23:04:03 -0500 Subject: [PATCH] BL improvements, various fixes --- assets/common/abilities/bowsimple/basic.ron | 15 ++ .../common/abilities/hammer/singlestrike.ron | 6 +- .../abilities/hammersimple/doublestrike.ron | 39 +++ .../common/abilities/spear/doublestrike.ron | 12 +- .../common/abilities/staffsimple/firebomb.ron | 18 ++ .../abilities/swordsimple/doublestrike.ron | 39 +++ .../abilities/weapon_ability_manifest.ron | 23 ++ .../items/armor/belt/plate_leather_0.ron | 12 + .../items/armor/chest/plate_leather_0.ron | 12 + .../items/armor/foot/plate_leather_0.ron | 12 + .../items/armor/hand/plate_leather_0.ron | 12 + .../items/armor/pants/plate_leather_0.ron | 12 + .../items/armor/shoulder/plate_leather_0.ron | 12 + .../items/npc_weapons/bow/saurok_bow.ron | 2 +- .../npc_weapons/hammer/cyclops_hammer.ron | 2 +- .../items/npc_weapons/hammer/ogre_hammer.ron | 2 +- .../items/npc_weapons/hammer/troll_hammer.ron | 2 +- .../npc_weapons/staff/mindflayer_staff.ron | 2 +- .../items/npc_weapons/staff/ogre_staff.ron | 2 +- .../items/npc_weapons/staff/saurok_staff.ron | 2 +- .../npc_weapons/sword/dullahan_sword.ron | 2 +- .../items/npc_weapons/sword/saurok_sword.ron | 2 +- .../voxel/armor/belt/plate_leather-0.vox | 3 + .../voxel/armor/chest/plate_leather.vox | 3 + assets/voxygen/voxel/armor/chest/steel-0.vox | 4 +- .../voxel/armor/foot/plate_leather.vox | 3 + .../voxel/armor/hand/plate_leather_left-0.vox | 3 + .../armor/hand/plate_leather_right-0.vox | 3 + .../voxel/armor/pants/plate_leather-0.vox | 3 + .../armor/shoulder/plate_leather_left-0.vox | 3 + .../armor/shoulder/plate_leather_right-0.vox | 3 + .../voxel/biped_large_central_manifest.ron | 89 +------ .../voxel/biped_large_lateral_manifest.ron | 140 +++++----- .../voxel/biped_large_weapon_manifest.ron | 42 +++ .../voxel/bird_medium_lateral_manifest.ron | 48 ++-- .../voxel/fish_medium_lateral_manifest.ron | 4 +- .../voxel/fish_small_lateral_manifest.ron | 4 +- .../voxel/humanoid_armor_belt_manifest.ron | 4 + .../voxel/humanoid_armor_chest_manifest.ron | 6 +- .../voxel/humanoid_armor_foot_manifest.ron | 4 + .../voxel/humanoid_armor_hand_manifest.ron | 10 + .../voxel/humanoid_armor_pants_manifest.ron | 4 + .../humanoid_armor_shoulder_manifest.ron | 10 + .../voxel/npc/alligator/male/foot_bl.vox | 3 - .../voxel/npc/alligator/male/foot_fl.vox | 3 - .../voxel/npc/archaeos/male/foot_l.vox | 3 - .../voxel/npc/archaeos/male/hand_l.vox | 3 - .../voxygen/voxel/npc/archaeos/male/leg_l.vox | 3 - assets/voxygen/voxel/npc/asp/male/foot_bl.vox | 3 - assets/voxygen/voxel/npc/asp/male/foot_fl.vox | 3 - .../voxel/npc/axolotl/male/foot_bl.vox | 3 - .../voxel/npc/axolotl/male/foot_fl.vox | 3 - .../voxel/npc/basilisk/male/foot_bl.vox | 3 - .../voxel/npc/basilisk/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/batfox/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/batfox/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/beaver/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/beaver/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/boar/female/foot_bl.vox | 3 - .../voxygen/voxel/npc/boar/female/foot_fl.vox | 3 - .../voxygen/voxel/npc/boar/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/boar/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/cat/female/foot_bl.vox | 3 - .../voxygen/voxel/npc/cat/female/foot_fl.vox | 3 - assets/voxygen/voxel/npc/cat/male/foot_bl.vox | 3 - assets/voxygen/voxel/npc/cat/male/foot_fl.vox | 3 - .../voxel/npc/chicken/female/leg_l.vox | 3 - .../voxygen/voxel/npc/chicken/male/leg_l.vox | 3 - .../voxel/npc/clownfish/male/fin_l.vox | 3 - .../voxel/npc/cockatrice/male/leg_l.vox | 3 - .../voxel/npc/cockatrice/male/wing_l.vox | 3 - .../voxel/npc/crocodile/male/foot_bl.vox | 3 - .../voxel/npc/crocodile/male/foot_fl.vox | 3 - assets/voxygen/voxel/npc/crow/wing_l.vox | 3 - .../voxel/npc/dodarock/male/foot_bl.vox | 3 - .../voxel/npc/dodarock/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/dog/female/foot_bl.vox | 3 - .../voxygen/voxel/npc/dog/female/foot_fl.vox | 3 - assets/voxygen/voxel/npc/dog/male/foot_bl.vox | 3 - assets/voxygen/voxel/npc/dog/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/duck/female/leg_l.vox | 3 - assets/voxygen/voxel/npc/duck/male/leg_l.vox | 3 - assets/voxygen/voxel/npc/eagle/male/leg_l.vox | 3 - .../voxygen/voxel/npc/eagle/male/wing_l.vox | 3 - .../voxygen/voxel/npc/fox/female/foot_bl.vox | 3 - .../voxygen/voxel/npc/fox/female/foot_fl.vox | 3 - assets/voxygen/voxel/npc/fox/male/foot_bl.vox | 3 - assets/voxygen/voxel/npc/fox/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/frog/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/frog/male/foot_fl.vox | 3 - .../voxel/npc/fungome/male/foot_bl.vox | 3 - .../voxel/npc/fungome/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/gecko/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/gecko/male/foot_fl.vox | 3 - assets/voxygen/voxel/npc/goose/male/leg_l.vox | 3 - .../voxel/npc/hakulaq/male/foot_bl.vox | 3 - .../voxel/npc/hakulaq/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/hare/female/foot_bl.vox | 3 - .../voxygen/voxel/npc/hare/female/foot_fl.vox | 3 - .../voxygen/voxel/npc/hare/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/hare/male/foot_fl.vox | 3 - .../voxel/npc/holladon/male/foot_bl.vox | 3 - .../voxel/npc/holladon/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/hyena/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/hyena/male/foot_fl.vox | 3 - .../voxel/npc/jackalope/male/foot_bl.vox | 3 - .../voxel/npc/jackalope/male/foot_fl.vox | 3 - .../voxel/npc/lavadrake/male/foot_bl.vox | 3 - .../voxel/npc/lavadrake/male/foot_fl.vox | 3 - .../voxel/npc/maneater/male/foot_bl.vox | 3 - .../voxel/npc/maneater/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/marlin/male/fin_l.vox | 3 - .../voxel/npc/monitor/male/foot_bl.vox | 3 - .../voxel/npc/monitor/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/odonto/male/foot_l.vox | 3 - .../voxygen/voxel/npc/odonto/male/hand_l.vox | 3 - .../voxygen/voxel/npc/odonto/male/leg_l.vox | 3 - assets/voxygen/voxel/npc/owl/female/leg_l.vox | 3 - .../voxygen/voxel/npc/owl/female/wing_l.vox | 3 - assets/voxygen/voxel/npc/owl/male/leg_l.vox | 3 - assets/voxygen/voxel/npc/owl/male/wing_l.vox | 3 - .../voxel/npc/pangolin/male/foot_bl.vox | 3 - .../voxel/npc/pangolin/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/parrot/male/leg_l.vox | 3 - .../voxel/npc/peacock/female/leg_l.vox | 3 - .../voxel/npc/peacock/female/wing_l.vox | 3 - .../voxygen/voxel/npc/peacock/male/leg_l.vox | 3 - .../voxygen/voxel/npc/peacock/male/wing_l.vox | 3 - assets/voxygen/voxel/npc/pig/male/foot_bl.vox | 3 - assets/voxygen/voxel/npc/pig/male/foot_fl.vox | 3 - .../voxel/npc/porcupine/male/foot_bl.vox | 3 - .../voxel/npc/porcupine/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/quokka/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/quokka/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/rabbit/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/rabbit/male/foot_fl.vox | 3 - .../voxel/npc/raccoon/male/foot_bl.vox | 3 - .../voxel/npc/raccoon/male/foot_fl.vox | 3 - .../voxel/npc/raptor_sand/male/foot_l.vox | 3 - .../voxel/npc/raptor_sand/male/hand_l.vox | 3 - .../voxel/npc/raptor_sand/male/leg_l.vox | 3 - .../voxel/npc/raptor_snow/male/foot_l.vox | 3 - .../voxel/npc/raptor_snow/male/hand_l.vox | 3 - .../voxel/npc/raptor_snow/male/leg_l.vox | 3 - .../voxel/npc/raptor_wood/male/foot_l.vox | 3 - .../voxel/npc/raptor_wood/male/hand_l.vox | 3 - .../voxel/npc/raptor_wood/male/leg_l.vox | 3 - assets/voxygen/voxel/npc/rat/male/foot_bl.vox | 3 - assets/voxygen/voxel/npc/rat/male/foot_fl.vox | 3 - .../voxel/npc/rocksnapper/male/foot_bl.vox | 3 - .../voxel/npc/rocksnapper/male/foot_fl.vox | 3 - .../voxel/npc/salamander/female/foot_bl.vox | 3 - .../voxel/npc/salamander/female/foot_fl.vox | 3 - .../voxel/npc/salamander/male/foot_bl.vox | 3 - .../voxel/npc/salamander/male/foot_fl.vox | 3 - .../voxel/npc/sandshark/male/foot_bl.vox | 3 - .../voxel/npc/sandshark/male/foot_fl.vox | 3 - .../voxel/npc/sheep/female/foot_bl.vox | 3 - .../voxel/npc/sheep/female/foot_fl.vox | 3 - .../voxygen/voxel/npc/sheep/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/sheep/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/skunk/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/skunk/male/foot_fl.vox | 3 - .../voxel/npc/squirrel/male/foot_bl.vox | 3 - .../voxel/npc/squirrel/male/foot_fl.vox | 3 - .../voxel/npc/sunlizard/male/foot_l.vox | 3 - .../voxel/npc/sunlizard/male/hand_l.vox | 3 - .../voxel/npc/sunlizard/male/leg_l.vox | 3 - .../voxel/npc/tortoise/male/foot_bl.vox | 3 - .../voxel/npc/tortoise/male/foot_fl.vox | 3 - .../voxel/npc/truffler/male/foot_bl.vox | 3 - .../voxel/npc/truffler/male/foot_fl.vox | 3 - .../voxygen/voxel/npc/turtle/male/foot_bl.vox | 3 - .../voxygen/voxel/npc/turtle/male/foot_fl.vox | 3 - .../voxel/quadruped_low_lateral_manifest.ron | 112 ++++---- .../quadruped_small_lateral_manifest.ron | 208 +++++++-------- .../voxel/theropod_lateral_manifest.ron | 72 +++--- common/src/comp/body.rs | 7 +- common/src/comp/inventory/item/tool.rs | 4 + common/src/comp/inventory/loadout_builder.rs | 14 +- server/src/persistence/json_models.rs | 8 + voxygen/anim/src/biped_large/alpha.rs | 179 +++++++------ voxygen/anim/src/biped_large/idle.rs | 6 +- voxygen/anim/src/biped_large/jump.rs | 4 +- voxygen/anim/src/biped_large/mod.rs | 114 +++++--- voxygen/anim/src/biped_large/run.rs | 239 +++++++++-------- voxygen/anim/src/biped_large/shoot.rs | 243 +++++++++--------- voxygen/anim/src/biped_large/wield.rs | 232 +++++++---------- voxygen/anim/src/biped_small/alpha.rs | 11 +- voxygen/anim/src/character/alpha.rs | 22 +- voxygen/anim/src/character/mod.rs | 3 +- voxygen/anim/src/character/talk.rs | 54 ++++ voxygen/anim/src/quadruped_low/mod.rs | 2 + voxygen/anim/src/quadruped_low/run.rs | 91 +++---- voxygen/anim/src/quadruped_medium/mod.rs | 8 + voxygen/anim/src/quadruped_medium/run.rs | 2 +- voxygen/anim/src/quadruped_small/run.rs | 54 ++-- voxygen/src/hud/util.rs | 4 + voxygen/src/scene/figure/load.rs | 97 ++++--- voxygen/src/scene/figure/mod.rs | 40 ++- 200 files changed, 1451 insertions(+), 1407 deletions(-) create mode 100644 assets/common/abilities/bowsimple/basic.ron create mode 100644 assets/common/abilities/hammersimple/doublestrike.ron create mode 100644 assets/common/abilities/staffsimple/firebomb.ron create mode 100644 assets/common/abilities/swordsimple/doublestrike.ron create mode 100644 assets/common/items/armor/belt/plate_leather_0.ron create mode 100644 assets/common/items/armor/chest/plate_leather_0.ron create mode 100644 assets/common/items/armor/foot/plate_leather_0.ron create mode 100644 assets/common/items/armor/hand/plate_leather_0.ron create mode 100644 assets/common/items/armor/pants/plate_leather_0.ron create mode 100644 assets/common/items/armor/shoulder/plate_leather_0.ron create mode 100644 assets/voxygen/voxel/armor/belt/plate_leather-0.vox create mode 100644 assets/voxygen/voxel/armor/chest/plate_leather.vox create mode 100644 assets/voxygen/voxel/armor/foot/plate_leather.vox create mode 100644 assets/voxygen/voxel/armor/hand/plate_leather_left-0.vox create mode 100644 assets/voxygen/voxel/armor/hand/plate_leather_right-0.vox create mode 100644 assets/voxygen/voxel/armor/pants/plate_leather-0.vox create mode 100644 assets/voxygen/voxel/armor/shoulder/plate_leather_left-0.vox create mode 100644 assets/voxygen/voxel/armor/shoulder/plate_leather_right-0.vox create mode 100644 assets/voxygen/voxel/biped_large_weapon_manifest.ron delete mode 100644 assets/voxygen/voxel/npc/alligator/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/alligator/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/archaeos/male/foot_l.vox delete mode 100644 assets/voxygen/voxel/npc/archaeos/male/hand_l.vox delete mode 100644 assets/voxygen/voxel/npc/archaeos/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/asp/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/asp/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/axolotl/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/axolotl/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/basilisk/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/basilisk/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/batfox/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/batfox/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/beaver/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/beaver/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/boar/female/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/boar/female/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/boar/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/boar/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/cat/female/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/cat/female/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/cat/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/cat/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/chicken/female/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/chicken/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/clownfish/male/fin_l.vox delete mode 100644 assets/voxygen/voxel/npc/cockatrice/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/cockatrice/male/wing_l.vox delete mode 100644 assets/voxygen/voxel/npc/crocodile/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/crocodile/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/crow/wing_l.vox delete mode 100644 assets/voxygen/voxel/npc/dodarock/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/dodarock/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/dog/female/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/dog/female/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/dog/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/dog/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/duck/female/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/duck/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/eagle/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/eagle/male/wing_l.vox delete mode 100644 assets/voxygen/voxel/npc/fox/female/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/fox/female/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/fox/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/fox/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/frog/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/frog/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/fungome/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/fungome/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/gecko/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/gecko/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/goose/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/hakulaq/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/hakulaq/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/hare/female/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/hare/female/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/hare/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/hare/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/holladon/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/holladon/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/hyena/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/hyena/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/jackalope/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/jackalope/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/lavadrake/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/lavadrake/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/maneater/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/maneater/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/marlin/male/fin_l.vox delete mode 100644 assets/voxygen/voxel/npc/monitor/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/monitor/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/odonto/male/foot_l.vox delete mode 100644 assets/voxygen/voxel/npc/odonto/male/hand_l.vox delete mode 100644 assets/voxygen/voxel/npc/odonto/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/owl/female/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/owl/female/wing_l.vox delete mode 100644 assets/voxygen/voxel/npc/owl/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/owl/male/wing_l.vox delete mode 100644 assets/voxygen/voxel/npc/pangolin/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/pangolin/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/parrot/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/peacock/female/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/peacock/female/wing_l.vox delete mode 100644 assets/voxygen/voxel/npc/peacock/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/peacock/male/wing_l.vox delete mode 100644 assets/voxygen/voxel/npc/pig/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/pig/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/porcupine/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/porcupine/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/quokka/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/quokka/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/rabbit/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/rabbit/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/raccoon/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/raccoon/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_sand/male/foot_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_sand/male/hand_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_sand/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_snow/male/foot_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_snow/male/hand_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_snow/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_wood/male/foot_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_wood/male/hand_l.vox delete mode 100644 assets/voxygen/voxel/npc/raptor_wood/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/rat/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/rat/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/rocksnapper/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/rocksnapper/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/salamander/female/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/salamander/female/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/salamander/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/salamander/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/sandshark/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/sandshark/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/sheep/female/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/sheep/female/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/sheep/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/sheep/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/skunk/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/skunk/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/squirrel/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/squirrel/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/sunlizard/male/foot_l.vox delete mode 100644 assets/voxygen/voxel/npc/sunlizard/male/hand_l.vox delete mode 100644 assets/voxygen/voxel/npc/sunlizard/male/leg_l.vox delete mode 100644 assets/voxygen/voxel/npc/tortoise/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/tortoise/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/truffler/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/truffler/male/foot_fl.vox delete mode 100644 assets/voxygen/voxel/npc/turtle/male/foot_bl.vox delete mode 100644 assets/voxygen/voxel/npc/turtle/male/foot_fl.vox create mode 100644 voxygen/anim/src/character/talk.rs diff --git a/assets/common/abilities/bowsimple/basic.ron b/assets/common/abilities/bowsimple/basic.ron new file mode 100644 index 0000000000..cbc6e28040 --- /dev/null +++ b/assets/common/abilities/bowsimple/basic.ron @@ -0,0 +1,15 @@ +BasicRanged( + energy_cost: 0, + buildup_duration: 0.5, + recover_duration: 0.3, + projectile: Arrow( + damage: 70.0, + knockback: 5.0, + energy_regen: 40, + ), + projectile_body: Object(Arrow), + projectile_light: None, + projectile_gravity: Some(Gravity(0.2)), + projectile_speed: 100.0, + can_continue: true, +) diff --git a/assets/common/abilities/hammer/singlestrike.ron b/assets/common/abilities/hammer/singlestrike.ron index 1332b94e67..22848b8746 100644 --- a/assets/common/abilities/hammer/singlestrike.ron +++ b/assets/common/abilities/hammer/singlestrike.ron @@ -8,9 +8,9 @@ ComboMelee( knockback: 10.0, range: 4.5, angle: 50.0, - base_buildup_duration: 0.6, - base_swing_duration: 0.15, - base_recover_duration: 0.3, + base_buildup_duration: 0.5, + base_swing_duration: 0.1, + base_recover_duration: 0.2, forward_movement: 0.0, )], initial_energy_gain: 50, diff --git a/assets/common/abilities/hammersimple/doublestrike.ron b/assets/common/abilities/hammersimple/doublestrike.ron new file mode 100644 index 0000000000..0feb79deaa --- /dev/null +++ b/assets/common/abilities/hammersimple/doublestrike.ron @@ -0,0 +1,39 @@ +ComboMelee( + stage_data: [ + ( + stage: 1, + base_damage: 90, + damage_increase: 10, + base_poise_damage: 0, + poise_damage_increase: 0, + knockback: 8.0, + range: 3.5, + angle: 50.0, + base_buildup_duration: 0.6, + base_swing_duration: 0.08, + base_recover_duration: 0.6, + forward_movement: 2.5, + ), + ( + stage: 2, + base_damage: 130, + damage_increase: 15, + base_poise_damage: 0, + poise_damage_increase: 0, + knockback: 12.0, + range: 3.5, + angle: 30.0, + base_buildup_duration: 0.5, + base_swing_duration: 0.1, + base_recover_duration: 0.5, + forward_movement: 2.0, + ), + ], + initial_energy_gain: 0, + max_energy_gain: 0, + energy_increase: 0, + speed_increase: 0.0, + max_speed_increase: 0.0, + scales_from_combo: 0, + is_interruptible: false, +) \ No newline at end of file diff --git a/assets/common/abilities/spear/doublestrike.ron b/assets/common/abilities/spear/doublestrike.ron index 22a03999c8..b7035b1dc0 100644 --- a/assets/common/abilities/spear/doublestrike.ron +++ b/assets/common/abilities/spear/doublestrike.ron @@ -9,9 +9,9 @@ ComboMelee( knockback: 8.0, range: 3.5, angle: 50.0, - base_buildup_duration: 350, - base_swing_duration: 75, - base_recover_duration: 400, + base_buildup_duration: 0.35, + base_swing_duration: 0.075, + base_recover_duration: 0.4, forward_movement: 2.5, ), ( @@ -23,9 +23,9 @@ ComboMelee( knockback: 12.0, range: 3.5, angle: 30.0, - base_buildup_duration: 500, - base_swing_duration: 100, - base_recover_duration: 500, + base_buildup_duration: 0.5, + base_swing_duration: 0.1, + base_recover_duration: 0.5, forward_movement: 2.0, ), ], diff --git a/assets/common/abilities/staffsimple/firebomb.ron b/assets/common/abilities/staffsimple/firebomb.ron new file mode 100644 index 0000000000..16444d31a3 --- /dev/null +++ b/assets/common/abilities/staffsimple/firebomb.ron @@ -0,0 +1,18 @@ +BasicRanged( + energy_cost: 0, + buildup_duration: 0.5, + recover_duration: 0.35, + projectile: Fireball( + damage: 100.0, + radius: 5.0, + energy_regen: 50, + ), + projectile_body: Object(BoltFire), + /*projectile_light: Some(LightEmitter { + col: (1.0, 0.75, 0.11).into(), + ..Default::default() + }),*/ + projectile_gravity: Some(Gravity(0.3)), + projectile_speed: 60.0, + can_continue: true, +) diff --git a/assets/common/abilities/swordsimple/doublestrike.ron b/assets/common/abilities/swordsimple/doublestrike.ron new file mode 100644 index 0000000000..e7523eb2fd --- /dev/null +++ b/assets/common/abilities/swordsimple/doublestrike.ron @@ -0,0 +1,39 @@ +ComboMelee( + stage_data: [ + ( + stage: 1, + base_damage: 90, + damage_increase: 10, + base_poise_damage: 0, + poise_damage_increase: 0, + knockback: 8.0, + range: 3.5, + angle: 50.0, + base_buildup_duration: 0.4, + base_swing_duration: 0.1, + base_recover_duration: 0.5, + forward_movement: 2.5, + ), + ( + stage: 2, + base_damage: 130, + damage_increase: 15, + base_poise_damage: 0, + poise_damage_increase: 0, + knockback: 12.0, + range: 3.5, + angle: 30.0, + base_buildup_duration: 0.5, + base_swing_duration: 0.1, + base_recover_duration: 0.5, + forward_movement: 2.0, + ), + ], + initial_energy_gain: 0, + max_energy_gain: 0, + energy_increase: 0, + speed_increase: 0.0, + max_speed_increase: 0.0, + scales_from_combo: 0, + is_interruptible: false, +) \ No newline at end of file diff --git a/assets/common/abilities/weapon_ability_manifest.ron b/assets/common/abilities/weapon_ability_manifest.ron index 5f415d04e1..5b54bfeb16 100644 --- a/assets/common/abilities/weapon_ability_manifest.ron +++ b/assets/common/abilities/weapon_ability_manifest.ron @@ -35,6 +35,29 @@ skills: [], ), + HammerSimple: ( + primary: "common.abilities.hammersimple.doublestrike", + secondary: "common.abilities.hammersimple.doublestrike", + skills: [], + + ), + SwordSimple: ( + primary: "common.abilities.swordsimple.doublestrike", + secondary: "common.abilities.swordsimple.doublestrike", + skills: [ + ], + ), + StaffSimple: ( + primary: "common.abilities.staffsimple.firebomb", + secondary: "common.abilities.staffsimple.firebomb", + skills: [], + ), + BowSimple: ( + primary: "common.abilities.bowsimple.basic", + secondary: "common.abilities.bowsimple.basic", + skills: [ + ], + ), Staff: ( primary: "common.abilities.staff.firebomb", secondary: "common.abilities.staff.flamethrower", diff --git a/assets/common/items/armor/belt/plate_leather_0.ron b/assets/common/items/armor/belt/plate_leather_0.ron new file mode 100644 index 0000000000..f4cd29068b --- /dev/null +++ b/assets/common/items/armor/belt/plate_leather_0.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Leather Plate Belt", + description: "Leather adorned with steel for better protection.", + kind: Armor(( + kind: Belt("PlateLeather"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(8.0), + ), + )), + quality: Moderate, +) \ No newline at end of file diff --git a/assets/common/items/armor/chest/plate_leather_0.ron b/assets/common/items/armor/chest/plate_leather_0.ron new file mode 100644 index 0000000000..95319d2496 --- /dev/null +++ b/assets/common/items/armor/chest/plate_leather_0.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Leather Plate Chest", + description: "Leather adorned with steel for better protection.", + kind: Armor(( + kind: Chest("PlateLeather"), + stats: ( + protection: Normal(25.0), + poise_resilience: Normal(40.0), + ), + )), + quality: High, +) \ No newline at end of file diff --git a/assets/common/items/armor/foot/plate_leather_0.ron b/assets/common/items/armor/foot/plate_leather_0.ron new file mode 100644 index 0000000000..8cc46f984f --- /dev/null +++ b/assets/common/items/armor/foot/plate_leather_0.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Leather Plate Boots", + description: "Leather adorned with steel for better protection.", + kind: Armor(( + kind: Foot("PlateLeather"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(10.0), + ), + )), + quality: High, +) \ No newline at end of file diff --git a/assets/common/items/armor/hand/plate_leather_0.ron b/assets/common/items/armor/hand/plate_leather_0.ron new file mode 100644 index 0000000000..175ea986bc --- /dev/null +++ b/assets/common/items/armor/hand/plate_leather_0.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Leather Plate Gloves", + description: "Leather adorned with steel for better protection.", + kind: Armor(( + kind: Hand("PlateLeather"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(15.0), + ), + )), + quality: Moderate, +) \ No newline at end of file diff --git a/assets/common/items/armor/pants/plate_leather_0.ron b/assets/common/items/armor/pants/plate_leather_0.ron new file mode 100644 index 0000000000..b18198aee1 --- /dev/null +++ b/assets/common/items/armor/pants/plate_leather_0.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Leather Plate Chausses", + description: "Leather adorned with steel for better protection.", + kind: Armor(( + kind: Pants("PlateLeather"), + stats: ( + protection: Normal(20.0), + poise_resilience: Normal(26.0), + ), + )), + quality: Moderate, +) \ No newline at end of file diff --git a/assets/common/items/armor/shoulder/plate_leather_0.ron b/assets/common/items/armor/shoulder/plate_leather_0.ron new file mode 100644 index 0000000000..0a52263a84 --- /dev/null +++ b/assets/common/items/armor/shoulder/plate_leather_0.ron @@ -0,0 +1,12 @@ +ItemDef( + name: "Leather Plate Shoulder Pad", + description: "Leather adorned with steel for better protection.", + kind: Armor(( + kind: Shoulder("PlateLeather"), + stats: ( + protection: Normal(15.0), + poise_resilience: Normal(20.0), + ), + )), + quality: Moderate, +) \ No newline at end of file diff --git a/assets/common/items/npc_weapons/bow/saurok_bow.ron b/assets/common/items/npc_weapons/bow/saurok_bow.ron index 8b52c2891c..37e3f8bea8 100644 --- a/assets/common/items/npc_weapons/bow/saurok_bow.ron +++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placeholder", kind: Tool( ( - kind: Bow, + kind: BowSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron index b128b795a7..7c10458ed1 100644 --- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placeholder", kind: Tool( ( - kind: Hammer, + kind: HammerSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron index e6ff3fbc50..0ab8068dff 100644 --- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placeholder", kind: Tool( ( - kind: Hammer, + kind: HammerSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron index bd0cdc0598..1f04179292 100644 --- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placeholder", kind: Tool( ( - kind: Hammer, + kind: HammerSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron index 24c5ff3980..257e19af95 100644 --- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron +++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placeholder", kind: Tool( ( - kind: Staff, + kind: StaffSimple, hands: Two, stats: Direct(( equip_time_millis: 300, diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron index e4fa9b5e55..c4cca908ff 100644 --- a/assets/common/items/npc_weapons/staff/ogre_staff.ron +++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placeholder", kind: Tool( ( - kind: Staff, + kind: StaffSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/common/items/npc_weapons/staff/saurok_staff.ron b/assets/common/items/npc_weapons/staff/saurok_staff.ron index be87572e33..8ee0b015e4 100644 --- a/assets/common/items/npc_weapons/staff/saurok_staff.ron +++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placeholder", kind: Tool( ( - kind: Staff, + kind: StaffSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron index a879869db7..d3b3ba1b8e 100644 --- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron +++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placehoder", kind: Tool( ( - kind: Sword, + kind: SwordSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron index 3d22dd8f9b..722280e1c3 100644 --- a/assets/common/items/npc_weapons/sword/saurok_sword.ron +++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron @@ -3,7 +3,7 @@ ItemDef( description: "Placehoder", kind: Tool( ( - kind: Sword, + kind: SwordSimple, hands: Two, stats: Direct(( equip_time_millis: 500, diff --git a/assets/voxygen/voxel/armor/belt/plate_leather-0.vox b/assets/voxygen/voxel/armor/belt/plate_leather-0.vox new file mode 100644 index 0000000000..e3cba85dea --- /dev/null +++ b/assets/voxygen/voxel/armor/belt/plate_leather-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4d071794475d22a501307198b7fdfd3ecb66b9ee5f81e8b6159342de1a277d5 +size 1512 diff --git a/assets/voxygen/voxel/armor/chest/plate_leather.vox b/assets/voxygen/voxel/armor/chest/plate_leather.vox new file mode 100644 index 0000000000..9e22269162 --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/plate_leather.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ad7ded2bca4669dbf7d75dc0c83980ba39a8983128506a8b889e175c3300bb8 +size 2960 diff --git a/assets/voxygen/voxel/armor/chest/steel-0.vox b/assets/voxygen/voxel/armor/chest/steel-0.vox index 583da4e421..caaf374154 100644 --- a/assets/voxygen/voxel/armor/chest/steel-0.vox +++ b/assets/voxygen/voxel/armor/chest/steel-0.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f5b962ee21300a5af938dacd05db71ed56e13b23ad7fe260948b6c70cfca4f3 -size 3072 +oid sha256:c82339673d8c325662f000e9ee7d192ba4f897cd20a79ebe458307ea78f30d53 +size 46139 diff --git a/assets/voxygen/voxel/armor/foot/plate_leather.vox b/assets/voxygen/voxel/armor/foot/plate_leather.vox new file mode 100644 index 0000000000..7c172d26c3 --- /dev/null +++ b/assets/voxygen/voxel/armor/foot/plate_leather.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa8613a586df0d85fa4dca1d6ea85c30b0172f98a1dd2fe00b5f509793ae2c7c +size 1520 diff --git a/assets/voxygen/voxel/armor/hand/plate_leather_left-0.vox b/assets/voxygen/voxel/armor/hand/plate_leather_left-0.vox new file mode 100644 index 0000000000..f232fbfffb --- /dev/null +++ b/assets/voxygen/voxel/armor/hand/plate_leather_left-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dea43ecec9fff1e25e6476349f2cc645ab6e72455fd2dad51b976817a437ee85 +size 1240 diff --git a/assets/voxygen/voxel/armor/hand/plate_leather_right-0.vox b/assets/voxygen/voxel/armor/hand/plate_leather_right-0.vox new file mode 100644 index 0000000000..f232fbfffb --- /dev/null +++ b/assets/voxygen/voxel/armor/hand/plate_leather_right-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dea43ecec9fff1e25e6476349f2cc645ab6e72455fd2dad51b976817a437ee85 +size 1240 diff --git a/assets/voxygen/voxel/armor/pants/plate_leather-0.vox b/assets/voxygen/voxel/armor/pants/plate_leather-0.vox new file mode 100644 index 0000000000..0d4faf35d7 --- /dev/null +++ b/assets/voxygen/voxel/armor/pants/plate_leather-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7eeb0069de98836f04e1949bc0abbe0b6de0c3a64b77dacbf5f82fc18a6ca6db +size 1944 diff --git a/assets/voxygen/voxel/armor/shoulder/plate_leather_left-0.vox b/assets/voxygen/voxel/armor/shoulder/plate_leather_left-0.vox new file mode 100644 index 0000000000..f06c631a9f --- /dev/null +++ b/assets/voxygen/voxel/armor/shoulder/plate_leather_left-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11064d9361345d4920bd88074d6c037bb82a891c982fb8be4dfd8608cc63ea2a +size 1392 diff --git a/assets/voxygen/voxel/armor/shoulder/plate_leather_right-0.vox b/assets/voxygen/voxel/armor/shoulder/plate_leather_right-0.vox new file mode 100644 index 0000000000..f06c631a9f --- /dev/null +++ b/assets/voxygen/voxel/armor/shoulder/plate_leather_right-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11064d9361345d4920bd88074d6c037bb82a891c982fb8be4dfd8608cc63ea2a +size 1392 diff --git a/assets/voxygen/voxel/biped_large_central_manifest.ron b/assets/voxygen/voxel/biped_large_central_manifest.ron index e3415df554..73b13c66b0 100644 --- a/assets/voxygen/voxel/biped_large_central_manifest.ron +++ b/assets/voxygen/voxel/biped_large_central_manifest.ron @@ -23,11 +23,8 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-5.0, -5.5, -4.0), - central: ("weapon.hammer.2hhammer_ogre"), ) + ), (Ogre, Female): ( head: ( @@ -53,10 +50,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-2.5, -5.5, -4.0), - central: ("weapon.staff.firestaff_ogre"), ) ), (Cyclops, Male): ( @@ -83,10 +76,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-5.0, -6.5, -4.0), - central: ("weapon.hammer.2hhammer_cyclops-0"), ) ), (Cyclops, Female): ( @@ -113,10 +102,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-5.0, -6.5, -4.0), - central: ("weapon.hammer.2hhammer_cyclops-0"), ) ), (Wendigo, Male): ( @@ -143,10 +128,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (0.0, 0.0, 0.0), - central: ("armor.empty"), ) ), (Wendigo, Female): ( @@ -173,10 +154,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (0.0, 0.0, 0.0), - central: ("armor.empty"), ) ), (Troll, Male): ( @@ -203,10 +180,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-4.0, -6.0, -4.0), - central: ("weapon.hammer.2hhammer_troll"), ) ), (Troll, Female): ( @@ -233,10 +206,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-4.0, -6.0, -4.0), - central: ("weapon.hammer.2hhammer_troll"), ) ), (Dullahan, Male): ( @@ -263,10 +232,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-1.5, -9.0, -4.0), - central: ("weapon.sword.greatsword_2h_dullahan"), ) ), (Dullahan, Female): ( @@ -293,10 +258,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-1.5, -9.0, -4.0), - central: ("weapon.sword.greatsword_2h_dullahan"), ) ), (Werewolf, Male): ( @@ -323,10 +284,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (0.0, 0.0, 0.0), - central: ("armor.empty"), ) ), (Werewolf, Female): ( @@ -353,10 +310,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (0.0, 0.0, 0.0), - central: ("armor.empty"), ) ), (Occultsaurok, Male): ( @@ -383,10 +336,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-3.0, -3.0, -4.0), - central: ("weapon.staff.firestaff_saurok"), ) ), (Occultsaurok, Female): ( @@ -413,10 +362,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-3.0, -3.0, -4.0), - central: ("weapon.staff.firestaff_saurok"), ) ), (Mightysaurok, Male): ( @@ -443,10 +388,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-1.5, -4.0, -4.0), - central: ("weapon.sword.long_2h_saurok"), ) ), (Mightysaurok, Female): ( @@ -473,10 +414,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-1.5, -4.0, -4.0), - central: ("weapon.sword.long_2h_saurok"), ) ), (Slysaurok, Male): ( @@ -503,10 +440,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-1.5, -4.0, -16.5), - central: ("weapon.bow.longbow_saurok"), ) ), (Slysaurok, Female): ( @@ -533,10 +466,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-1.5, -4.0, -16.5), - central: ("weapon.bow.longbow_saurok"), ) ), (Mindflayer, Male): ( @@ -563,10 +492,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-5.5, -3.5, -4.0), - central: ("weapon.staff.firestaff_mindflayer"), ) ), (Mindflayer, Female): ( @@ -593,10 +518,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-5.5, -3.5, -4.0), - central: ("weapon.staff.firestaff_mindflayer"), ) ), (Minotaur, Male): ( @@ -623,10 +544,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-5.5, -3.5, -4.0), - central: ("weapon.staff.firestaff_mindflayer"), ) ), (Minotaur, Female): ( @@ -653,10 +570,6 @@ second: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), - ), - main: ( - offset: (-5.5, -3.5, -4.0), - central: ("weapon.staff.firestaff_mindflayer"), ) ), }) \ No newline at end of file diff --git a/assets/voxygen/voxel/biped_large_lateral_manifest.ron b/assets/voxygen/voxel/biped_large_lateral_manifest.ron index 51d7b8bc17..cf2759fb4c 100644 --- a/assets/voxygen/voxel/biped_large_lateral_manifest.ron +++ b/assets/voxygen/voxel/biped_large_lateral_manifest.ron @@ -1,19 +1,19 @@ ({ (Ogre, Male): ( shoulder_l: ( - offset: (-6.0, -3.5, -4.0), + offset: (-6.0, -3.5, -6.5), lateral: ("npc.ogre.male.shoulder_l"), ), shoulder_r: ( - offset: (-6.0, -4.5, -4.0), + offset: (-6.0, -4.5, -6.5), lateral: ("npc.ogre.male.shoulder_r"), ), hand_l: ( - offset: (-5.5, -3.5, -15.0), + offset: (-5.5, -3.5, -13.0), lateral: ("npc.ogre.male.hand_l"), ), hand_r: ( - offset: (-5.5, -3.5, -15.0), + offset: (-5.5, -3.5, -13.0), lateral: ("npc.ogre.male.hand_r"), ), leg_l: ( @@ -35,11 +35,11 @@ ), (Ogre, Female): ( shoulder_l: ( - offset: (-3.0, -3.0, -3.5), + offset: (-3.0, -3.0, -5.5), lateral: ("npc.ogre.female.shoulder_l"), ), shoulder_r: ( - offset: (-3.0, -3.0, -3.5), + offset: (-3.0, -3.0, -5.5), lateral: ("npc.ogre.female.shoulder_r"), ), hand_l: ( @@ -69,19 +69,19 @@ ), (Cyclops, Male): ( shoulder_l: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -7.0), lateral: ("npc.cyclops.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -7.0), lateral: ("npc.cyclops.male.shoulder_r"), ), hand_l: ( - offset: (-3.5, -3.5, -14.0), + offset: (-3.5, -3.5, -12.0), lateral: ("npc.cyclops.male.hand_l"), ), hand_r: ( - offset: (-3.5, -3.5, -14.0), + offset: (-3.5, -3.5, -12.0), lateral: ("npc.cyclops.male.hand_r"), ), leg_l: ( @@ -103,19 +103,19 @@ ), (Cyclops, Female): ( shoulder_l: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -7.0), lateral: ("npc.cyclops.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -7.0), lateral: ("npc.cyclops.male.shoulder_r"), ), hand_l: ( - offset: (-3.5, -3.5, -14.0), + offset: (-3.5, -3.5, -12.0), lateral: ("npc.cyclops.male.hand_l"), ), hand_r: ( - offset: (-3.5, -3.5, -14.0), + offset: (-3.5, -3.5, -12.0), lateral: ("npc.cyclops.male.hand_r"), ), leg_l: ( @@ -137,19 +137,19 @@ ), (Wendigo, Male): ( shoulder_l: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -8.5), lateral: ("npc.wendigo.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -8.5), lateral: ("npc.wendigo.male.shoulder_r"), ), hand_l: ( - offset: (-4.0, -3.5, -18.0), + offset: (-4.0, -3.5, -15.0), lateral: ("npc.wendigo.male.hand_l"), ), hand_r: ( - offset: (-4.0, -3.5, -18.0), + offset: (-4.0, -3.5, -15.0), lateral: ("npc.wendigo.male.hand_r"), ), leg_l: ( @@ -171,19 +171,19 @@ ), (Wendigo, Female): ( shoulder_l: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -8.5), lateral: ("npc.wendigo.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.0, -4.0, -5.0), + offset: (-3.0, -4.0, -8.5), lateral: ("npc.wendigo.male.shoulder_r"), ), hand_l: ( - offset: (-4.0, -3.5, -18.0), + offset: (-4.0, -3.5, -15.0), lateral: ("npc.wendigo.male.hand_l"), ), hand_r: ( - offset: (-4.0, -3.5, -18.0), + offset: (-4.0, -3.5, -15.0), lateral: ("npc.wendigo.male.hand_r"), ), leg_l: ( @@ -205,19 +205,19 @@ ), (Troll, Male): ( shoulder_l: ( - offset: (-5.0, -4.5, -7.0), + offset: (-5.0, -4.5, -11.0), lateral: ("npc.troll.male.shoulder_l"), ), shoulder_r: ( - offset: (-5.0, -4.5, -7.0), + offset: (-5.0, -4.5, -11.0), lateral: ("npc.troll.male.shoulder_r"), ), hand_l: ( - offset: (-3.5, -4.0, -15.0), + offset: (-3.5, -4.0, -12.0), lateral: ("npc.troll.male.hand_l"), ), hand_r: ( - offset: (-3.5, -4.0, -15.0), + offset: (-3.5, -4.0, -12.0), lateral: ("npc.troll.male.hand_r"), ), leg_l: ( @@ -239,19 +239,19 @@ ), (Troll, Female): ( shoulder_l: ( - offset: (-5.0, -4.5, -7.0), + offset: (-5.0, -4.5, -11.0), lateral: ("npc.troll.male.shoulder_l"), ), shoulder_r: ( - offset: (-5.0, -4.5, -7.0), + offset: (-5.0, -4.5, -11.0), lateral: ("npc.troll.male.shoulder_r"), ), hand_l: ( - offset: (-3.5, -4.0, -15.0), + offset: (-3.5, -4.0, -12.0), lateral: ("npc.troll.male.hand_l"), ), hand_r: ( - offset: (-3.5, -4.0, -15.0), + offset: (-3.5, -4.0, -12.0), lateral: ("npc.troll.male.hand_r"), ), leg_l: ( @@ -409,11 +409,11 @@ ), (Occultsaurok, Male): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_occult.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_occult.male.shoulder_r"), ), hand_l: ( @@ -425,29 +425,29 @@ lateral: ("npc.saurok_occult.male.hand_r"), ), leg_l: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_occult.male.leg_l"), ), leg_r: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_occult.male.leg_r"), ), foot_l: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_occult.male.foot_l"), ), foot_r: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_occult.male.foot_r"), ), ), (Occultsaurok, Female): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_occult.female.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_occult.female.shoulder_r"), ), hand_l: ( @@ -459,29 +459,29 @@ lateral: ("npc.saurok_occult.female.hand_r"), ), leg_l: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_occult.female.leg_l"), ), leg_r: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_occult.female.leg_r"), ), foot_l: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_occult.female.foot_l"), ), foot_r: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_occult.female.foot_r"), ), ), (Mightysaurok, Male): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_mighty.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_mighty.male.shoulder_r"), ), hand_l: ( @@ -493,29 +493,29 @@ lateral: ("npc.saurok_mighty.male.hand_r"), ), leg_l: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_mighty.male.leg_l"), ), leg_r: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_mighty.male.leg_r"), ), foot_l: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_mighty.male.foot_l"), ), foot_r: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_mighty.male.foot_r"), ), ), (Mightysaurok, Female): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_mighty.female.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_mighty.female.shoulder_r"), ), hand_l: ( @@ -527,29 +527,29 @@ lateral: ("npc.saurok_mighty.female.hand_r"), ), leg_l: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_mighty.female.leg_l"), ), leg_r: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_mighty.female.leg_r"), ), foot_l: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_mighty.female.foot_l"), ), foot_r: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_mighty.female.foot_r"), ), ), (Slysaurok, Male): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_sly.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_sly.male.shoulder_r"), ), hand_l: ( @@ -561,29 +561,29 @@ lateral: ("npc.saurok_sly.male.hand_r"), ), leg_l: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_sly.male.leg_l"), ), leg_r: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_sly.male.leg_r"), ), foot_l: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_sly.male.foot_l"), ), foot_r: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_sly.male.foot_r"), ), ), (Slysaurok, Female): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_sly.female.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -6.5), lateral: ("npc.saurok_sly.female.shoulder_r"), ), hand_l: ( @@ -595,19 +595,19 @@ lateral: ("npc.saurok_sly.female.hand_r"), ), leg_l: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_sly.female.leg_l"), ), leg_r: ( - offset: (-2.0, -3.0, -3.5), + offset: (-2.0, -1.5, -6.5), lateral: ("npc.saurok_sly.female.leg_r"), ), foot_l: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_sly.female.foot_l"), ), foot_r: ( - offset: (-2.5, -4.5, -5.0), + offset: (-2.5, -5.5, -9.0), lateral: ("npc.saurok_sly.female.foot_r"), ), ), @@ -681,11 +681,11 @@ ), (Minotaur, Male): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -7.5), lateral: ("npc.minotaur.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -7.5), lateral: ("npc.minotaur.male.shoulder_r"), ), hand_l: ( @@ -715,11 +715,11 @@ ), (Minotaur, Female): ( shoulder_l: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -7.5), lateral: ("npc.minotaur.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.5, -3.5, -4.5), + offset: (-3.5, -3.5, -7.5), lateral: ("npc.minotaur.male.shoulder_r"), ), hand_l: ( diff --git a/assets/voxygen/voxel/biped_large_weapon_manifest.ron b/assets/voxygen/voxel/biped_large_weapon_manifest.ron new file mode 100644 index 0000000000..8f1c4bf46a --- /dev/null +++ b/assets/voxygen/voxel/biped_large_weapon_manifest.ron @@ -0,0 +1,42 @@ +({ + "common.items.npc_weapons.hammer.ogre_hammer": ( + vox_spec: ("weapon.hammer.2hhammer_ogre", (-5.0, -5.5, -7.0)), + color: None + ), + "common.items.npc_weapons.staff.ogre_staff": ( + vox_spec: ("weapon.staff.firestaff_ogre", (-2.5, -5.5, -6.0)), + color: None + ), + "common.items.npc_weapons.hammer.cyclops_hammer": ( + vox_spec: ("weapon.hammer.2hhammer_cyclops-0", (-5.0, -6.5, -7.0)), + color: None + ), + "common.items.npc_weapons.hammer.troll_hammer": ( + vox_spec: ("weapon.hammer.2hhammer_troll", (-4.0, -6.0, -7.0)), + color: None + ), + "common.items.npc_weapons.sword.dullahan_sword": ( + vox_spec: ("weapon.sword.greatsword_2h_dullahan", (-1.5, -9.0, -10.0)), + color: None + ), + "common.items.npc_weapons.staff.saurok_staff": ( + vox_spec: ("weapon.staff.firestaff_saurok", (-3.0, -3.0, -6.0)), + color: None + ), + "common.items.npc_weapons.sword.saurok_sword": ( + vox_spec: ("weapon.sword.long_2h_saurok", (-1.5, -4.0, -5.0)), + color: None + ), + "common.items.npc_weapons.bow.saurok_bow": ( + vox_spec: ("weapon.bow.longbow_saurok", (-1.5, -4.0, -16.5)), + color: None + ), + "common.items.npc_weapons.staff.mindflayer_staff": ( + vox_spec: ("weapon.staff.firestaff_mindflayer", (-5.5, -3.5, -8.0)), + color: None + ), + "common.items.npc_weapons.unique.beast_claws": ( + vox_spec: ("armor.empty", (0.0, 0.0, 0.0)), + color: None + ), +}) diff --git a/assets/voxygen/voxel/bird_medium_lateral_manifest.ron b/assets/voxygen/voxel/bird_medium_lateral_manifest.ron index 2147d9d4e4..dc2287da5f 100644 --- a/assets/voxygen/voxel/bird_medium_lateral_manifest.ron +++ b/assets/voxygen/voxel/bird_medium_lateral_manifest.ron @@ -10,7 +10,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -4.0), - lateral: ("npc.duck.male.leg_l"), + lateral: ("npc.duck.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -4.0), @@ -28,7 +28,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -4.0), - lateral: ("npc.duck.female.leg_l"), + lateral: ("npc.duck.female.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -4.0), @@ -46,7 +46,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -4.0), - lateral: ("npc.chicken.male.leg_l"), + lateral: ("npc.chicken.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -4.0), @@ -64,7 +64,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -4.0), - lateral: ("npc.chicken.female.leg_l"), + lateral: ("npc.chicken.female.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -4.0), @@ -82,7 +82,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -6.5), - lateral: ("npc.goose.male.leg_l"), + lateral: ("npc.goose.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -6.5), @@ -100,7 +100,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -6.5), - lateral: ("npc.goose.male.leg_l"), + lateral: ("npc.goose.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -6.5), @@ -110,7 +110,7 @@ (Peacock, Male): ( wing_l: ( offset: (-1.0, -3.5, -5.0), - lateral: ("npc.peacock.male.wing_l"), + lateral: ("npc.peacock.male.wing_r"), ), wing_r: ( offset: (-1.0, -3.5, -5.0), @@ -118,7 +118,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -8.0), - lateral: ("npc.peacock.male.leg_l"), + lateral: ("npc.peacock.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -8.0), @@ -128,7 +128,7 @@ (Peacock, Female): ( wing_l: ( offset: (-1.0, -3.5, -5.0), - lateral: ("npc.peacock.female.wing_l"), + lateral: ("npc.peacock.female.wing_r"), ), wing_r: ( offset: (-1.0, -3.5, -5.0), @@ -136,7 +136,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -8.0), - lateral: ("npc.peacock.female.leg_l"), + lateral: ("npc.peacock.female.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -8.0), @@ -146,7 +146,7 @@ (Eagle, Male): ( wing_l: ( offset: (-1.0, -3.5, -12.0), - lateral: ("npc.eagle.male.wing_l"), + lateral: ("npc.eagle.male.wing_r"), ), wing_r: ( offset: (-1.0, -3.5, -12.0), @@ -154,7 +154,7 @@ ), foot_l: ( offset: (-1.5, 0.0, -8.0), - lateral: ("npc.eagle.male.leg_l"), + lateral: ("npc.eagle.male.leg_r"), ), foot_r: ( offset: (-1.5, 0.0, -8.0), @@ -164,7 +164,7 @@ (Eagle, Female): ( wing_l: ( offset: (-1.0, -3.5, -12.0), - lateral: ("npc.eagle.male.wing_l"), + lateral: ("npc.eagle.male.wing_r"), ), wing_r: ( offset: (-1.0, -3.5, -12.0), @@ -172,7 +172,7 @@ ), foot_l: ( offset: (-1.5, 0.0, -8.0), - lateral: ("npc.eagle.male.leg_l"), + lateral: ("npc.eagle.male.leg_r"), ), foot_r: ( offset: (-1.5, 0.0, -8.0), @@ -182,7 +182,7 @@ (Owl, Male): ( wing_l: ( offset: (-1.0, -2.5, -8.0), - lateral: ("npc.owl.male.wing_l"), + lateral: ("npc.owl.male.wing_r"), ), wing_r: ( offset: (-1.0, -2.5, -8.0), @@ -190,7 +190,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -6.5), - lateral: ("npc.owl.male.leg_l"), + lateral: ("npc.owl.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -6.5), @@ -200,7 +200,7 @@ (Owl, Female): ( wing_l: ( offset: (-1.0, -2.5, -8.0), - lateral: ("npc.owl.female.wing_l"), + lateral: ("npc.owl.female.wing_r"), ), wing_r: ( offset: (-1.0, -2.5, -8.0), @@ -208,7 +208,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -6.5), - lateral: ("npc.owl.female.leg_l"), + lateral: ("npc.owl.female.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -6.5), @@ -226,7 +226,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -3.0), - lateral: ("npc.parrot.male.leg_l"), + lateral: ("npc.parrot.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -3.0), @@ -244,7 +244,7 @@ ), foot_l: ( offset: (-1.0, 0.0, -3.0), - lateral: ("npc.parrot.male.leg_l"), + lateral: ("npc.parrot.male.leg_r"), ), foot_r: ( offset: (-1.0, 0.0, -3.0), @@ -254,7 +254,7 @@ (Cockatrice, Male): ( wing_l: ( offset: (-2.0, -3.0, -9.0), - lateral: ("npc.cockatrice.male.wing_l"), + lateral: ("npc.cockatrice.male.wing_r"), ), wing_r: ( offset: (-2.0, -3.0, -9.0), @@ -262,7 +262,7 @@ ), foot_l: ( offset: (-2.5, 0.0, -12.0), - lateral: ("npc.cockatrice.male.leg_l"), + lateral: ("npc.cockatrice.male.leg_r"), ), foot_r: ( offset: (-2.5, 0.0, -12.0), @@ -272,7 +272,7 @@ (Cockatrice, Female): ( wing_l: ( offset: (-2.0, -3.0, -9.0), - lateral: ("npc.cockatrice.male.wing_l"), + lateral: ("npc.cockatrice.male.wing_r"), ), wing_r: ( offset: (-2.0, -3.0, -9.0), @@ -280,7 +280,7 @@ ), foot_l: ( offset: (-2.5, 0.0, -12.0), - lateral: ("npc.cockatrice.male.leg_l"), + lateral: ("npc.cockatrice.male.leg_r"), ), foot_r: ( offset: (-2.5, 0.0, -12.0), diff --git a/assets/voxygen/voxel/fish_medium_lateral_manifest.ron b/assets/voxygen/voxel/fish_medium_lateral_manifest.ron index cd6184b305..4d8bfcbdab 100644 --- a/assets/voxygen/voxel/fish_medium_lateral_manifest.ron +++ b/assets/voxygen/voxel/fish_medium_lateral_manifest.ron @@ -2,7 +2,7 @@ (Marlin, Male): ( fin_l: ( offset: (-3.0, -5.0, -4.0), - lateral: ("npc.marlin.male.fin_l"), + lateral: ("npc.marlin.male.fin_r"), ), fin_r: ( offset: (0.0, -5.0, -4.0), @@ -12,7 +12,7 @@ (Marlin, Female): ( fin_l: ( offset: (-3.0, -5.0, -4.0), - lateral: ("npc.marlin.male.fin_l"), + lateral: ("npc.marlin.male.fin_r"), ), fin_r: ( offset: (0.0, -5.0, -4.0), diff --git a/assets/voxygen/voxel/fish_small_lateral_manifest.ron b/assets/voxygen/voxel/fish_small_lateral_manifest.ron index 55415f9a5d..40f3db28b4 100644 --- a/assets/voxygen/voxel/fish_small_lateral_manifest.ron +++ b/assets/voxygen/voxel/fish_small_lateral_manifest.ron @@ -2,7 +2,7 @@ (Clownfish, Male): ( fin_l: ( offset: (-0.5, -3.0, -4.0), - lateral: ("npc.clownfish.male.fin_l"), + lateral: ("npc.clownfish.male.fin_r"), ), fin_r: ( offset: (-0.5, -3.0, -4.0), @@ -12,7 +12,7 @@ (Clownfish, Female): ( fin_l: ( offset: (-0.5, -3.0, -4.0), - lateral: ("npc.clownfish.male.fin_l"), + lateral: ("npc.clownfish.male.fin_r"), ), fin_r: ( offset: (-0.5, -3.0, -4.0), diff --git a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron index c7251d3ee7..109a2e2b0b 100644 --- a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron @@ -60,6 +60,10 @@ vox_spec: ("armor.belt.steel-0", (-5.0, -4.5, 2.0)), color: None ), + "PlateLeather": ( + vox_spec: ("armor.belt.plate_leather-0", (-4.0, -4.5, 2.0)), + color: None + ), "Druid": ( vox_spec: ("armor.belt.druid", (-4.0, -3.5, -1.0)), color: None diff --git a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron index 786d64cb9d..69cbd6a837 100644 --- a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron @@ -135,7 +135,11 @@ color: Some((57, 81, 132)) ), "Steel0": ( - vox_spec: ("armor.chest.steel-0", (-8.0, -4.5, 2.0)), + vox_spec: ("armor.chest.steel-0", (-5.0, -4.5, 2.0)), + color: None + ), + "PlateLeather": ( + vox_spec: ("armor.chest.plate_leather", (-8.0, -5.5, 2.0)), color: None ), "Leather2": ( diff --git a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron index 0e86f2f0d8..86ff26fb20 100644 --- a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron @@ -48,6 +48,10 @@ vox_spec: ("armor.foot.steel-0", (-2.5, -3.5, -2.0)), color: None ), + "PlateLeather": ( + vox_spec: ("armor.foot.plate_leather", (-2.5, -3.5, -2.0)), + color: None + ), "Leather2": ( vox_spec: ("armor.foot.leather-2", (-2.5, -3.5, -2.0)), color: None diff --git a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron index 32503f4e36..4fe3176e98 100644 --- a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron @@ -110,6 +110,16 @@ color: None ) ), + "PlateLeather": ( + left: ( + vox_spec: ("armor.hand.plate_leather_left-0", (-1.5, -1.5, -2.5)), + color: None + ), + right: ( + vox_spec: ("armor.hand.plate_leather_right-0", (-1.5, -1.5, -2.5)), + color: None + ) + ), "Leather2": ( left: ( vox_spec: ("armor.hand.leather_left-2", (-1.5, -1.5, -2.5)), diff --git a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron index 81e6991489..6e42a21601 100644 --- a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron @@ -72,6 +72,10 @@ vox_spec: ("armor.pants.steel-0", (-6.0, -4.5, 1.0)), color: None ), + "PlateLeather": ( + vox_spec: ("armor.pants.plate_leather-0", (-5.0, -4.5, 1.0)), + color: None + ), "Leather2": ( vox_spec: ("armor.pants.leather-2", (-5.0, -3.5, 1.0)), color: None diff --git a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron index fd8ce1ab32..9a394e488c 100644 --- a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron @@ -131,6 +131,16 @@ color: None ) ), + "PlateLeather": ( + left: ( + vox_spec: ("armor.shoulder.plate_leather_left-0", (-4.0, -4.5 , 0.0)), + color: None + ), + right: ( + vox_spec: ("armor.shoulder.plate_leather_right-0", (-0.9, -4.5, 0.0)), + color: None + ) + ), "Leather2": ( left: ( vox_spec: ("armor.shoulder.leather_left-2", (-5.0, -3.8, -0.9)), diff --git a/assets/voxygen/voxel/npc/alligator/male/foot_bl.vox b/assets/voxygen/voxel/npc/alligator/male/foot_bl.vox deleted file mode 100644 index a673df88b3..0000000000 --- a/assets/voxygen/voxel/npc/alligator/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95c9ab892899acebcad8b556c1e11da6d869faaac582e464bf41473341f2b34a -size 1340 diff --git a/assets/voxygen/voxel/npc/alligator/male/foot_fl.vox b/assets/voxygen/voxel/npc/alligator/male/foot_fl.vox deleted file mode 100644 index 5ecb3871c8..0000000000 --- a/assets/voxygen/voxel/npc/alligator/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8b654d8bfc43da2b0a5391ebbe2bc3ab076098f75401bb0baaeafcc1aed5dc9 -size 1300 diff --git a/assets/voxygen/voxel/npc/archaeos/male/foot_l.vox b/assets/voxygen/voxel/npc/archaeos/male/foot_l.vox deleted file mode 100644 index 03a9710acd..0000000000 --- a/assets/voxygen/voxel/npc/archaeos/male/foot_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:00268caa63742ad6b6ecec52881a67bf1efc4cb914d0f95e3e42610b25a71685 -size 2204 diff --git a/assets/voxygen/voxel/npc/archaeos/male/hand_l.vox b/assets/voxygen/voxel/npc/archaeos/male/hand_l.vox deleted file mode 100644 index 1151e23ba6..0000000000 --- a/assets/voxygen/voxel/npc/archaeos/male/hand_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:db3c129d96bf431c65c7e8f3ac4049c82682a630806a616ba57f7d844f355a7a -size 1316 diff --git a/assets/voxygen/voxel/npc/archaeos/male/leg_l.vox b/assets/voxygen/voxel/npc/archaeos/male/leg_l.vox deleted file mode 100644 index bc82319cbb..0000000000 --- a/assets/voxygen/voxel/npc/archaeos/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eb4161119dbb651beefd80d1baa3f4d293970c30605999380786f771b74c406d -size 2540 diff --git a/assets/voxygen/voxel/npc/asp/male/foot_bl.vox b/assets/voxygen/voxel/npc/asp/male/foot_bl.vox deleted file mode 100644 index 5985364b69..0000000000 --- a/assets/voxygen/voxel/npc/asp/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:efb25b8b4f016dd0cb7745e77de63848cfc991eb6bde5ea25099f6ad44d64b2b -size 1348 diff --git a/assets/voxygen/voxel/npc/asp/male/foot_fl.vox b/assets/voxygen/voxel/npc/asp/male/foot_fl.vox deleted file mode 100644 index 893ee4aa13..0000000000 --- a/assets/voxygen/voxel/npc/asp/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cb88a6ed2484b2e3e6fce6a6c1d2e362870e2b068039b3df4bb7b3264e0dd93 -size 1344 diff --git a/assets/voxygen/voxel/npc/axolotl/male/foot_bl.vox b/assets/voxygen/voxel/npc/axolotl/male/foot_bl.vox deleted file mode 100644 index 24830ba05d..0000000000 --- a/assets/voxygen/voxel/npc/axolotl/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a06dd06be133f1b79f2ea03a28219ab58de825c3206e87b55dead31aca9d819 -size 1144 diff --git a/assets/voxygen/voxel/npc/axolotl/male/foot_fl.vox b/assets/voxygen/voxel/npc/axolotl/male/foot_fl.vox deleted file mode 100644 index ae9e61784e..0000000000 --- a/assets/voxygen/voxel/npc/axolotl/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41232e14058833068511c1a10c79696fe922c379b818544e22ed260d753b4f31 -size 1144 diff --git a/assets/voxygen/voxel/npc/basilisk/male/foot_bl.vox b/assets/voxygen/voxel/npc/basilisk/male/foot_bl.vox deleted file mode 100644 index bc87d80914..0000000000 --- a/assets/voxygen/voxel/npc/basilisk/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39b32c142cb3e6d3dc186fd9f95338c5b4f24ff471a0231dee87da6eacee9bc3 -size 2920 diff --git a/assets/voxygen/voxel/npc/basilisk/male/foot_fl.vox b/assets/voxygen/voxel/npc/basilisk/male/foot_fl.vox deleted file mode 100644 index 5cff2571c2..0000000000 --- a/assets/voxygen/voxel/npc/basilisk/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a109cb737e4bb7bca5f1e1c3567e77dd592206a48cdaddbf3dbe9b6dddef598 -size 3088 diff --git a/assets/voxygen/voxel/npc/batfox/male/foot_bl.vox b/assets/voxygen/voxel/npc/batfox/male/foot_bl.vox deleted file mode 100644 index 8616e9ea18..0000000000 --- a/assets/voxygen/voxel/npc/batfox/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40e3801e2ed880743b36dc9d4d5ff3ed74a3473cbfa7fc3b9064aa09d9f690eb -size 1216 diff --git a/assets/voxygen/voxel/npc/batfox/male/foot_fl.vox b/assets/voxygen/voxel/npc/batfox/male/foot_fl.vox deleted file mode 100644 index af85963dab..0000000000 --- a/assets/voxygen/voxel/npc/batfox/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e40fc893b8588a905ac7b57702fa93a34ca13895395ce5810c3a697f90eb46f -size 1204 diff --git a/assets/voxygen/voxel/npc/beaver/male/foot_bl.vox b/assets/voxygen/voxel/npc/beaver/male/foot_bl.vox deleted file mode 100644 index 3a87ce60eb..0000000000 --- a/assets/voxygen/voxel/npc/beaver/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0396d67d40f031393caf6f74784aa8b53edd465012c64a4bc589cc0925fd3297 -size 1356 diff --git a/assets/voxygen/voxel/npc/beaver/male/foot_fl.vox b/assets/voxygen/voxel/npc/beaver/male/foot_fl.vox deleted file mode 100644 index c848036f75..0000000000 --- a/assets/voxygen/voxel/npc/beaver/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:de2ae142495e09cb599f9cd97c2be908931c126e5e4aa09a96266d66dda8dddd -size 1216 diff --git a/assets/voxygen/voxel/npc/boar/female/foot_bl.vox b/assets/voxygen/voxel/npc/boar/female/foot_bl.vox deleted file mode 100644 index 17e883e386..0000000000 --- a/assets/voxygen/voxel/npc/boar/female/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0ec159e28721d8a809abb35ecf9e951475014c92a5db7ccb8709f430dd4aef04 -size 1296 diff --git a/assets/voxygen/voxel/npc/boar/female/foot_fl.vox b/assets/voxygen/voxel/npc/boar/female/foot_fl.vox deleted file mode 100644 index 6fd4869d46..0000000000 --- a/assets/voxygen/voxel/npc/boar/female/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e74af40426a02e80f4d30e64619a20aaef3da687f6f14febb65c8be19928dace -size 1316 diff --git a/assets/voxygen/voxel/npc/boar/male/foot_bl.vox b/assets/voxygen/voxel/npc/boar/male/foot_bl.vox deleted file mode 100644 index 4bcb1c9453..0000000000 --- a/assets/voxygen/voxel/npc/boar/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec7c85de24d042fe7985f0fe4946f3c076aa82ebcc47b597950811341c125391 -size 1296 diff --git a/assets/voxygen/voxel/npc/boar/male/foot_fl.vox b/assets/voxygen/voxel/npc/boar/male/foot_fl.vox deleted file mode 100644 index 9469a8ebf1..0000000000 --- a/assets/voxygen/voxel/npc/boar/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff819f1f4863b460c58025f781f32dfb76188350c3453450054d9ba8b6adf267 -size 1316 diff --git a/assets/voxygen/voxel/npc/cat/female/foot_bl.vox b/assets/voxygen/voxel/npc/cat/female/foot_bl.vox deleted file mode 100644 index 44e50cc23e..0000000000 --- a/assets/voxygen/voxel/npc/cat/female/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f83dd059cdc963ecb6f6407132e94c2646a7bdd288bd389c5b4e224f726c8a43 -size 1184 diff --git a/assets/voxygen/voxel/npc/cat/female/foot_fl.vox b/assets/voxygen/voxel/npc/cat/female/foot_fl.vox deleted file mode 100644 index 78423aab90..0000000000 --- a/assets/voxygen/voxel/npc/cat/female/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0ee9dc8c6473c45da834a8e0ff47adc4f7d6da16f015b0f41c04042e9ab642f2 -size 1172 diff --git a/assets/voxygen/voxel/npc/cat/male/foot_bl.vox b/assets/voxygen/voxel/npc/cat/male/foot_bl.vox deleted file mode 100644 index 782b6f7783..0000000000 --- a/assets/voxygen/voxel/npc/cat/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:59b28e2f43072929871ab8117dbb6a215bafd10925fc7326180aac9c8d54264f -size 1184 diff --git a/assets/voxygen/voxel/npc/cat/male/foot_fl.vox b/assets/voxygen/voxel/npc/cat/male/foot_fl.vox deleted file mode 100644 index 9661ebb608..0000000000 --- a/assets/voxygen/voxel/npc/cat/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:de06e552c49af6f98e69ddab1a602cffe3e9d7fc324fd6d402462f8c834e5b2b -size 1172 diff --git a/assets/voxygen/voxel/npc/chicken/female/leg_l.vox b/assets/voxygen/voxel/npc/chicken/female/leg_l.vox deleted file mode 100644 index f3f3f92eaf..0000000000 --- a/assets/voxygen/voxel/npc/chicken/female/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:af7c4dee1203ed93f41878122df5b8206fec38fc65898b3a52b4d1762431e13d -size 1128 diff --git a/assets/voxygen/voxel/npc/chicken/male/leg_l.vox b/assets/voxygen/voxel/npc/chicken/male/leg_l.vox deleted file mode 100644 index 070a3ca5ff..0000000000 --- a/assets/voxygen/voxel/npc/chicken/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9b67581e39726b4632bcf5e505571ba4891c7b90ead0c0b01e1020985fb002c -size 1128 diff --git a/assets/voxygen/voxel/npc/clownfish/male/fin_l.vox b/assets/voxygen/voxel/npc/clownfish/male/fin_l.vox deleted file mode 100644 index fbab630e4f..0000000000 --- a/assets/voxygen/voxel/npc/clownfish/male/fin_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e07ac13b045455fa6a13115b0de82884d9475b39a8ac450a0e4e51c663fa4e5 -size 1132 diff --git a/assets/voxygen/voxel/npc/cockatrice/male/leg_l.vox b/assets/voxygen/voxel/npc/cockatrice/male/leg_l.vox deleted file mode 100644 index 359c82e0a5..0000000000 --- a/assets/voxygen/voxel/npc/cockatrice/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:957eac8c94bb878c3f6cea3a199991b4997a8caacb407ba081da834150ef1d25 -size 1364 diff --git a/assets/voxygen/voxel/npc/cockatrice/male/wing_l.vox b/assets/voxygen/voxel/npc/cockatrice/male/wing_l.vox deleted file mode 100644 index 02ab02c2d1..0000000000 --- a/assets/voxygen/voxel/npc/cockatrice/male/wing_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9827918d715cbf23b4f3441905243ed196d917d83a92a6946d2100243e694d15 -size 1212 diff --git a/assets/voxygen/voxel/npc/crocodile/male/foot_bl.vox b/assets/voxygen/voxel/npc/crocodile/male/foot_bl.vox deleted file mode 100644 index f9c1721bc4..0000000000 --- a/assets/voxygen/voxel/npc/crocodile/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:917089da6960ed0bf3f440e7be7fb3ca68e58f027b6416b459b7dbd5ac915b4c -size 1340 diff --git a/assets/voxygen/voxel/npc/crocodile/male/foot_fl.vox b/assets/voxygen/voxel/npc/crocodile/male/foot_fl.vox deleted file mode 100644 index 88e49d7a60..0000000000 --- a/assets/voxygen/voxel/npc/crocodile/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:313fa9dd8128e594d51406ae59ad6c7d03c231e3c63a002422e4376d810740db -size 1300 diff --git a/assets/voxygen/voxel/npc/crow/wing_l.vox b/assets/voxygen/voxel/npc/crow/wing_l.vox deleted file mode 100644 index 757d9ba333..0000000000 --- a/assets/voxygen/voxel/npc/crow/wing_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f5e5670531fabc51dc1f5578c555ee96b2ec19b71df51b662685ed92935ccc2 -size 1292 diff --git a/assets/voxygen/voxel/npc/dodarock/male/foot_bl.vox b/assets/voxygen/voxel/npc/dodarock/male/foot_bl.vox deleted file mode 100644 index ec14d2c0bd..0000000000 --- a/assets/voxygen/voxel/npc/dodarock/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d07af60b66655a4cb072e4e3d6b5ee06b527e69ccac0378e15d4fb1ada5cf119 -size 1252 diff --git a/assets/voxygen/voxel/npc/dodarock/male/foot_fl.vox b/assets/voxygen/voxel/npc/dodarock/male/foot_fl.vox deleted file mode 100644 index 4373de546c..0000000000 --- a/assets/voxygen/voxel/npc/dodarock/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f53eb4d341d318dbfd903e37cff5b6893eb3b79619665b8447f7120b8c98170f -size 1552 diff --git a/assets/voxygen/voxel/npc/dog/female/foot_bl.vox b/assets/voxygen/voxel/npc/dog/female/foot_bl.vox deleted file mode 100644 index 060f51feef..0000000000 --- a/assets/voxygen/voxel/npc/dog/female/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3b6b9a69bbcba3c706b99262d04ddedb1df649efede847d0b8712552539c49df -size 1300 diff --git a/assets/voxygen/voxel/npc/dog/female/foot_fl.vox b/assets/voxygen/voxel/npc/dog/female/foot_fl.vox deleted file mode 100644 index e0631c3513..0000000000 --- a/assets/voxygen/voxel/npc/dog/female/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1cf17480e4774a864fd7fb73145a3e59d8fe9cf4646d0ed398d62510129d7f5b -size 1228 diff --git a/assets/voxygen/voxel/npc/dog/male/foot_bl.vox b/assets/voxygen/voxel/npc/dog/male/foot_bl.vox deleted file mode 100644 index ade5f135bc..0000000000 --- a/assets/voxygen/voxel/npc/dog/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d75a171bdb543ffa662929d44071e8bb4846aabd703e04dbddc3b16894857ef1 -size 1300 diff --git a/assets/voxygen/voxel/npc/dog/male/foot_fl.vox b/assets/voxygen/voxel/npc/dog/male/foot_fl.vox deleted file mode 100644 index fa8ba881ce..0000000000 --- a/assets/voxygen/voxel/npc/dog/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:15792830a47d95a14c528debc3ef1f471907933aa5eb422c94b937d3818e4492 -size 1228 diff --git a/assets/voxygen/voxel/npc/duck/female/leg_l.vox b/assets/voxygen/voxel/npc/duck/female/leg_l.vox deleted file mode 100644 index 3fb63af787..0000000000 --- a/assets/voxygen/voxel/npc/duck/female/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b86bdb9f386d7ec40fecc6f3877282c3f8e6a4e84454d5c9eb54228bea45f5ba -size 1128 diff --git a/assets/voxygen/voxel/npc/duck/male/leg_l.vox b/assets/voxygen/voxel/npc/duck/male/leg_l.vox deleted file mode 100644 index 3fb63af787..0000000000 --- a/assets/voxygen/voxel/npc/duck/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b86bdb9f386d7ec40fecc6f3877282c3f8e6a4e84454d5c9eb54228bea45f5ba -size 1128 diff --git a/assets/voxygen/voxel/npc/eagle/male/leg_l.vox b/assets/voxygen/voxel/npc/eagle/male/leg_l.vox deleted file mode 100644 index 75b733724e..0000000000 --- a/assets/voxygen/voxel/npc/eagle/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e9418f1a58d17a4a94603c0bae688969a6d23fdd72671de7cb7ebc45c25d1aa -size 1184 diff --git a/assets/voxygen/voxel/npc/eagle/male/wing_l.vox b/assets/voxygen/voxel/npc/eagle/male/wing_l.vox deleted file mode 100644 index ee5cf52c55..0000000000 --- a/assets/voxygen/voxel/npc/eagle/male/wing_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:027480e91a012c37628a576c32156e8e64e3b9e8ad6cb3a3b800810d2ce4f69d -size 1532 diff --git a/assets/voxygen/voxel/npc/fox/female/foot_bl.vox b/assets/voxygen/voxel/npc/fox/female/foot_bl.vox deleted file mode 100644 index 46ddc26f3f..0000000000 --- a/assets/voxygen/voxel/npc/fox/female/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:faececdab6b18288de2aa1107bc49d63be715f89c5c8392b8155e7a3a44d4dae -size 1216 diff --git a/assets/voxygen/voxel/npc/fox/female/foot_fl.vox b/assets/voxygen/voxel/npc/fox/female/foot_fl.vox deleted file mode 100644 index 31a87141f4..0000000000 --- a/assets/voxygen/voxel/npc/fox/female/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f303cff97d0131704eb2d009df7d0fdeed1c72a96475d86048546b7350510164 -size 1208 diff --git a/assets/voxygen/voxel/npc/fox/male/foot_bl.vox b/assets/voxygen/voxel/npc/fox/male/foot_bl.vox deleted file mode 100644 index 4808f939d6..0000000000 --- a/assets/voxygen/voxel/npc/fox/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7811991f5addd3fb91d2d75cc644510a8e73e692c86edf1d245527a710b15ba6 -size 1216 diff --git a/assets/voxygen/voxel/npc/fox/male/foot_fl.vox b/assets/voxygen/voxel/npc/fox/male/foot_fl.vox deleted file mode 100644 index 7e2971bb93..0000000000 --- a/assets/voxygen/voxel/npc/fox/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bc8993716402a56f5dda9eedb6506ac3c878c835e6004738cf6580f6046d4115 -size 1208 diff --git a/assets/voxygen/voxel/npc/frog/male/foot_bl.vox b/assets/voxygen/voxel/npc/frog/male/foot_bl.vox deleted file mode 100644 index 6a71af4f1b..0000000000 --- a/assets/voxygen/voxel/npc/frog/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73639cb81b4346ed81cbec74e463271b908b8d4cf64ff460f96cd4a56e97fb67 -size 1240 diff --git a/assets/voxygen/voxel/npc/frog/male/foot_fl.vox b/assets/voxygen/voxel/npc/frog/male/foot_fl.vox deleted file mode 100644 index 33e9134b53..0000000000 --- a/assets/voxygen/voxel/npc/frog/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:55c7a3fb00a34206552249f6bdc6f5caf9ae441545769de9a1952eb2dabc42ba -size 1164 diff --git a/assets/voxygen/voxel/npc/fungome/male/foot_bl.vox b/assets/voxygen/voxel/npc/fungome/male/foot_bl.vox deleted file mode 100644 index e5db739148..0000000000 --- a/assets/voxygen/voxel/npc/fungome/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:45c80e397249aa2b0518ee53f3edee8a37e888e549d56f0666b6ad1f608f481b -size 1136 diff --git a/assets/voxygen/voxel/npc/fungome/male/foot_fl.vox b/assets/voxygen/voxel/npc/fungome/male/foot_fl.vox deleted file mode 100644 index e475b5f432..0000000000 --- a/assets/voxygen/voxel/npc/fungome/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4c3b9b5efe26218bc9931f28ae1cd616401e8813ee88bf64bb1f8d81c082932 -size 1140 diff --git a/assets/voxygen/voxel/npc/gecko/male/foot_bl.vox b/assets/voxygen/voxel/npc/gecko/male/foot_bl.vox deleted file mode 100644 index 52091c6ae9..0000000000 --- a/assets/voxygen/voxel/npc/gecko/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f74d8f8c4c1d72a25001d915886250bf2a3b09d62c77f100c175c2fcb2586390 -size 1172 diff --git a/assets/voxygen/voxel/npc/gecko/male/foot_fl.vox b/assets/voxygen/voxel/npc/gecko/male/foot_fl.vox deleted file mode 100644 index e4cf0ff28f..0000000000 --- a/assets/voxygen/voxel/npc/gecko/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ec3ee19ab326fa7a0cd5e19ef3be23ac0237ba7c1eb7b2b16bbbdfc6ebaf840 -size 1168 diff --git a/assets/voxygen/voxel/npc/goose/male/leg_l.vox b/assets/voxygen/voxel/npc/goose/male/leg_l.vox deleted file mode 100644 index d55ea91e81..0000000000 --- a/assets/voxygen/voxel/npc/goose/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5279fc8f6bf609a2e454325e2d1bfd42f8ad957be849eace1115faef8e09bfc2 -size 1132 diff --git a/assets/voxygen/voxel/npc/hakulaq/male/foot_bl.vox b/assets/voxygen/voxel/npc/hakulaq/male/foot_bl.vox deleted file mode 100644 index b9fb3840fa..0000000000 --- a/assets/voxygen/voxel/npc/hakulaq/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75ee37a8f57dc763ce4a375ea2ddc0122716af2d8b32fab8961f31df6f55aeb0 -size 1400 diff --git a/assets/voxygen/voxel/npc/hakulaq/male/foot_fl.vox b/assets/voxygen/voxel/npc/hakulaq/male/foot_fl.vox deleted file mode 100644 index c9240a3fd6..0000000000 --- a/assets/voxygen/voxel/npc/hakulaq/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a90241046cc4ff739a7aace0ec148acc0428c50d958b587109e4ca87ece66b1 -size 1472 diff --git a/assets/voxygen/voxel/npc/hare/female/foot_bl.vox b/assets/voxygen/voxel/npc/hare/female/foot_bl.vox deleted file mode 100644 index aadf5b1c70..0000000000 --- a/assets/voxygen/voxel/npc/hare/female/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce91255cbb001c56157a820c15733bd4491a6a6cfe4e9c4e2863703075b4d6ba -size 1272 diff --git a/assets/voxygen/voxel/npc/hare/female/foot_fl.vox b/assets/voxygen/voxel/npc/hare/female/foot_fl.vox deleted file mode 100644 index 0036f9bc42..0000000000 --- a/assets/voxygen/voxel/npc/hare/female/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:20eae48674cc88c2c44574632e595b42c0b21d42610bc6044f6d33daf85a66da -size 1192 diff --git a/assets/voxygen/voxel/npc/hare/male/foot_bl.vox b/assets/voxygen/voxel/npc/hare/male/foot_bl.vox deleted file mode 100644 index 3bc3f8d873..0000000000 --- a/assets/voxygen/voxel/npc/hare/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:79c0427fc0feebfcbd511e2fec8d44c41027337031462b197e2de24af9be654b -size 1332 diff --git a/assets/voxygen/voxel/npc/hare/male/foot_fl.vox b/assets/voxygen/voxel/npc/hare/male/foot_fl.vox deleted file mode 100644 index 2757f19bed..0000000000 --- a/assets/voxygen/voxel/npc/hare/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9bfd60c00e264ffbe53613c65190d61a13a972c19506b5ab159d6dceb1477d1c -size 1128 diff --git a/assets/voxygen/voxel/npc/holladon/male/foot_bl.vox b/assets/voxygen/voxel/npc/holladon/male/foot_bl.vox deleted file mode 100644 index 7874d827e4..0000000000 --- a/assets/voxygen/voxel/npc/holladon/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f0879993c621a3ca92436f9e996386cdf6a3124c3a543179a91f70f07c7441 -size 1200 diff --git a/assets/voxygen/voxel/npc/holladon/male/foot_fl.vox b/assets/voxygen/voxel/npc/holladon/male/foot_fl.vox deleted file mode 100644 index ad790ca7a8..0000000000 --- a/assets/voxygen/voxel/npc/holladon/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:afd75ceb7ef757f1ba0886a9227090a987a1c01a049e9293a204c7fa733833b7 -size 1248 diff --git a/assets/voxygen/voxel/npc/hyena/male/foot_bl.vox b/assets/voxygen/voxel/npc/hyena/male/foot_bl.vox deleted file mode 100644 index 17acb920a7..0000000000 --- a/assets/voxygen/voxel/npc/hyena/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ccaa64d65281b1781cb8aa16620c8196b9841d4cb3574b04403fb23c807b2509 -size 1272 diff --git a/assets/voxygen/voxel/npc/hyena/male/foot_fl.vox b/assets/voxygen/voxel/npc/hyena/male/foot_fl.vox deleted file mode 100644 index 6c90343ea2..0000000000 --- a/assets/voxygen/voxel/npc/hyena/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:435225bdb49373f5e45bddc13396b7f477b25599f2caac75886e3f9f00297eab -size 1284 diff --git a/assets/voxygen/voxel/npc/jackalope/male/foot_bl.vox b/assets/voxygen/voxel/npc/jackalope/male/foot_bl.vox deleted file mode 100644 index dae8b99501..0000000000 --- a/assets/voxygen/voxel/npc/jackalope/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:20d8d1bb0baa44be27d956d2af8db5bba5c56b6e6a3c579b7f4283a310324015 -size 1272 diff --git a/assets/voxygen/voxel/npc/jackalope/male/foot_fl.vox b/assets/voxygen/voxel/npc/jackalope/male/foot_fl.vox deleted file mode 100644 index 952c180d2e..0000000000 --- a/assets/voxygen/voxel/npc/jackalope/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89b051e86f59eccfc98d3808d89ec01d00c0a05f99e03879a6a9237bae72711d -size 1192 diff --git a/assets/voxygen/voxel/npc/lavadrake/male/foot_bl.vox b/assets/voxygen/voxel/npc/lavadrake/male/foot_bl.vox deleted file mode 100644 index 8c9ccb376e..0000000000 --- a/assets/voxygen/voxel/npc/lavadrake/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72c688fda5396ab81daab975daf0c3315b95e2b5ff035f938fa0896e2b4dc1bd -size 2284 diff --git a/assets/voxygen/voxel/npc/lavadrake/male/foot_fl.vox b/assets/voxygen/voxel/npc/lavadrake/male/foot_fl.vox deleted file mode 100644 index a2e38341e7..0000000000 --- a/assets/voxygen/voxel/npc/lavadrake/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:68f6ad2f0f9f865b05e02cf4dd150fe7110f636de1229b20b8dc84a728d436dc -size 2748 diff --git a/assets/voxygen/voxel/npc/maneater/male/foot_bl.vox b/assets/voxygen/voxel/npc/maneater/male/foot_bl.vox deleted file mode 100644 index 1e351d142f..0000000000 --- a/assets/voxygen/voxel/npc/maneater/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:63f8b9c9811b7b1eaa5368793014431fb6bd329a6117c19646ccdf300dbd3b15 -size 1648 diff --git a/assets/voxygen/voxel/npc/maneater/male/foot_fl.vox b/assets/voxygen/voxel/npc/maneater/male/foot_fl.vox deleted file mode 100644 index 677939e776..0000000000 --- a/assets/voxygen/voxel/npc/maneater/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:37e29cbcc2ed259549c83ad0bfb2f55cb78c649eecc72e0e96f6c8789bd8fe3a -size 1648 diff --git a/assets/voxygen/voxel/npc/marlin/male/fin_l.vox b/assets/voxygen/voxel/npc/marlin/male/fin_l.vox deleted file mode 100644 index b1f8e28fb6..0000000000 --- a/assets/voxygen/voxel/npc/marlin/male/fin_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba8060df483358747e137dbb17bcc04145e65c2330e65c60c4fc9273cc34917d -size 1152 diff --git a/assets/voxygen/voxel/npc/monitor/male/foot_bl.vox b/assets/voxygen/voxel/npc/monitor/male/foot_bl.vox deleted file mode 100644 index f93aa116dc..0000000000 --- a/assets/voxygen/voxel/npc/monitor/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a97413b517c0c63072006ca80525ac5a3108b83afe9cf415f4eaa9c7c3705a6 -size 1260 diff --git a/assets/voxygen/voxel/npc/monitor/male/foot_fl.vox b/assets/voxygen/voxel/npc/monitor/male/foot_fl.vox deleted file mode 100644 index 63fd4936f5..0000000000 --- a/assets/voxygen/voxel/npc/monitor/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:20eb9495a96fde3dffade4a43375ab42ac6fcfd107fb10b4173f07e4dc773d7b -size 1292 diff --git a/assets/voxygen/voxel/npc/odonto/male/foot_l.vox b/assets/voxygen/voxel/npc/odonto/male/foot_l.vox deleted file mode 100644 index 42189b7f0b..0000000000 --- a/assets/voxygen/voxel/npc/odonto/male/foot_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4d7e3cab3f2a990ee083b02a292b972844e05124ace87575f72adc6b4c683fcf -size 2952 diff --git a/assets/voxygen/voxel/npc/odonto/male/hand_l.vox b/assets/voxygen/voxel/npc/odonto/male/hand_l.vox deleted file mode 100644 index 4f7f97380c..0000000000 --- a/assets/voxygen/voxel/npc/odonto/male/hand_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6912093b51066d2c34c51fcb3db6ebd90f77090becb2c64e0ef9b1114084471e -size 1228 diff --git a/assets/voxygen/voxel/npc/odonto/male/leg_l.vox b/assets/voxygen/voxel/npc/odonto/male/leg_l.vox deleted file mode 100644 index 3e2578dbc3..0000000000 --- a/assets/voxygen/voxel/npc/odonto/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5bc3d9f3b008cf8ab7e32a0923a3744c3b7354ef8da305b7d21f6f40601e8d63 -size 2476 diff --git a/assets/voxygen/voxel/npc/owl/female/leg_l.vox b/assets/voxygen/voxel/npc/owl/female/leg_l.vox deleted file mode 100644 index 819fdc1206..0000000000 --- a/assets/voxygen/voxel/npc/owl/female/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7212dad002db2a10f2370b49d0ab07a5d6be884bd3136f9d4b0caa6af7dc3c76 -size 1196 diff --git a/assets/voxygen/voxel/npc/owl/female/wing_l.vox b/assets/voxygen/voxel/npc/owl/female/wing_l.vox deleted file mode 100644 index a57e7bcdd2..0000000000 --- a/assets/voxygen/voxel/npc/owl/female/wing_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4da1b8df08ab2397b2689204cad3fc6137fcf0c2f830ef18323b0088859997c8 -size 1364 diff --git a/assets/voxygen/voxel/npc/owl/male/leg_l.vox b/assets/voxygen/voxel/npc/owl/male/leg_l.vox deleted file mode 100644 index cabeb0a0ed..0000000000 --- a/assets/voxygen/voxel/npc/owl/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d2efdd54f19e4467e781c3068ef3079f11cf7932076bb4f2d554044106e97bf1 -size 1196 diff --git a/assets/voxygen/voxel/npc/owl/male/wing_l.vox b/assets/voxygen/voxel/npc/owl/male/wing_l.vox deleted file mode 100644 index 353efa5c63..0000000000 --- a/assets/voxygen/voxel/npc/owl/male/wing_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e52d0f4ede8e25c98eff9ce8692f44d466205faea7b01a11395eb31426ad914 -size 1360 diff --git a/assets/voxygen/voxel/npc/pangolin/male/foot_bl.vox b/assets/voxygen/voxel/npc/pangolin/male/foot_bl.vox deleted file mode 100644 index c681fcb79a..0000000000 --- a/assets/voxygen/voxel/npc/pangolin/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23d913c7362393ce0e7a4f430fd3119e2c28382131fcfc414c980f0336a20a4b -size 1304 diff --git a/assets/voxygen/voxel/npc/pangolin/male/foot_fl.vox b/assets/voxygen/voxel/npc/pangolin/male/foot_fl.vox deleted file mode 100644 index bb5ea8f938..0000000000 --- a/assets/voxygen/voxel/npc/pangolin/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9866eca621da6b6ee3c90d57d3bdae7fca62d6660fea73ddb6414ab1ed1bac7f -size 1252 diff --git a/assets/voxygen/voxel/npc/parrot/male/leg_l.vox b/assets/voxygen/voxel/npc/parrot/male/leg_l.vox deleted file mode 100644 index 62494431ad..0000000000 --- a/assets/voxygen/voxel/npc/parrot/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f14c1d4f83db3461e7a77c53b632e05fbfd251c8683db7731107f190a1487362 -size 1116 diff --git a/assets/voxygen/voxel/npc/peacock/female/leg_l.vox b/assets/voxygen/voxel/npc/peacock/female/leg_l.vox deleted file mode 100644 index 197007765d..0000000000 --- a/assets/voxygen/voxel/npc/peacock/female/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65324a119fffd476420a60c1d93bc570536d86e219d2344bafe558d5a3e2d989 -size 1140 diff --git a/assets/voxygen/voxel/npc/peacock/female/wing_l.vox b/assets/voxygen/voxel/npc/peacock/female/wing_l.vox deleted file mode 100644 index 78e4854d28..0000000000 --- a/assets/voxygen/voxel/npc/peacock/female/wing_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:26b84917a45068aca9c8cd63e435dc4f050ae9464e9553741c92758764baeabe -size 1236 diff --git a/assets/voxygen/voxel/npc/peacock/male/leg_l.vox b/assets/voxygen/voxel/npc/peacock/male/leg_l.vox deleted file mode 100644 index 197007765d..0000000000 --- a/assets/voxygen/voxel/npc/peacock/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65324a119fffd476420a60c1d93bc570536d86e219d2344bafe558d5a3e2d989 -size 1140 diff --git a/assets/voxygen/voxel/npc/peacock/male/wing_l.vox b/assets/voxygen/voxel/npc/peacock/male/wing_l.vox deleted file mode 100644 index 38d478e204..0000000000 --- a/assets/voxygen/voxel/npc/peacock/male/wing_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cabee12279731078145b3b3329da1f592401c6eb720fcc58caef9fd09a0c0bd8 -size 1236 diff --git a/assets/voxygen/voxel/npc/pig/male/foot_bl.vox b/assets/voxygen/voxel/npc/pig/male/foot_bl.vox deleted file mode 100644 index 8aba943b41..0000000000 --- a/assets/voxygen/voxel/npc/pig/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8538576cb07634d5b65d1770c964aedd44f308503b26c60e74f42a74e10d2a1 -size 1240 diff --git a/assets/voxygen/voxel/npc/pig/male/foot_fl.vox b/assets/voxygen/voxel/npc/pig/male/foot_fl.vox deleted file mode 100644 index cf95caec8f..0000000000 --- a/assets/voxygen/voxel/npc/pig/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e3ec823e5b628dabf27526524603feb436fe7b8123b5c8aee540dae984f5bb44 -size 1196 diff --git a/assets/voxygen/voxel/npc/porcupine/male/foot_bl.vox b/assets/voxygen/voxel/npc/porcupine/male/foot_bl.vox deleted file mode 100644 index 3267ff5831..0000000000 --- a/assets/voxygen/voxel/npc/porcupine/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a44ef9ce3bf3d4569165abf5d4e99be8329be52cef7b199be7313cc851a3d9c2 -size 1384 diff --git a/assets/voxygen/voxel/npc/porcupine/male/foot_fl.vox b/assets/voxygen/voxel/npc/porcupine/male/foot_fl.vox deleted file mode 100644 index 7d24707fc7..0000000000 --- a/assets/voxygen/voxel/npc/porcupine/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:22c25095db066285c8b55a0038f1e8c280df22198b6ad5577791518af4d7374a -size 1308 diff --git a/assets/voxygen/voxel/npc/quokka/male/foot_bl.vox b/assets/voxygen/voxel/npc/quokka/male/foot_bl.vox deleted file mode 100644 index a354da08aa..0000000000 --- a/assets/voxygen/voxel/npc/quokka/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:36b6413c289b05d9507645f4cbd1da124dbd41411d67ecb808e123944756c2fa -size 1260 diff --git a/assets/voxygen/voxel/npc/quokka/male/foot_fl.vox b/assets/voxygen/voxel/npc/quokka/male/foot_fl.vox deleted file mode 100644 index 1881d416c7..0000000000 --- a/assets/voxygen/voxel/npc/quokka/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d122132ae892a25c2592460832272afe139f237774b1baeadf1fb62f96a33da6 -size 1204 diff --git a/assets/voxygen/voxel/npc/rabbit/male/foot_bl.vox b/assets/voxygen/voxel/npc/rabbit/male/foot_bl.vox deleted file mode 100644 index 868c822d9b..0000000000 --- a/assets/voxygen/voxel/npc/rabbit/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5f985c6875dee0144b547f7448a6cdc111332a1d260f597e71f3b627359e3a5 -size 1208 diff --git a/assets/voxygen/voxel/npc/rabbit/male/foot_fl.vox b/assets/voxygen/voxel/npc/rabbit/male/foot_fl.vox deleted file mode 100644 index 0de756b69f..0000000000 --- a/assets/voxygen/voxel/npc/rabbit/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d91b461f9623b85a98e37bb327700b932dfa5cff077f7705017ee4b1ee4f90fa -size 1148 diff --git a/assets/voxygen/voxel/npc/raccoon/male/foot_bl.vox b/assets/voxygen/voxel/npc/raccoon/male/foot_bl.vox deleted file mode 100644 index 22258dac64..0000000000 --- a/assets/voxygen/voxel/npc/raccoon/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:96aaa0de2bc320f2f1208111e115bd88b52147d87daeb558eafd0b7b0e9fdcdf -size 1420 diff --git a/assets/voxygen/voxel/npc/raccoon/male/foot_fl.vox b/assets/voxygen/voxel/npc/raccoon/male/foot_fl.vox deleted file mode 100644 index 81e6c8c86b..0000000000 --- a/assets/voxygen/voxel/npc/raccoon/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6d0e52becc669f11c2e4287f6e770c89a7062698842f68e42a72b14f9d5a894 -size 1240 diff --git a/assets/voxygen/voxel/npc/raptor_sand/male/foot_l.vox b/assets/voxygen/voxel/npc/raptor_sand/male/foot_l.vox deleted file mode 100644 index 9793ed6f7f..0000000000 --- a/assets/voxygen/voxel/npc/raptor_sand/male/foot_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:401b25db996711a53e317de4b4c826161b039891c4537567f73eb6344826a0b3 -size 1384 diff --git a/assets/voxygen/voxel/npc/raptor_sand/male/hand_l.vox b/assets/voxygen/voxel/npc/raptor_sand/male/hand_l.vox deleted file mode 100644 index 00dabd0391..0000000000 --- a/assets/voxygen/voxel/npc/raptor_sand/male/hand_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c9d723da56499441bbd1ffc34aacbbb098eb64f0c30d7726bb5585cdb7d8fb2 -size 1672 diff --git a/assets/voxygen/voxel/npc/raptor_sand/male/leg_l.vox b/assets/voxygen/voxel/npc/raptor_sand/male/leg_l.vox deleted file mode 100644 index 304654e5a1..0000000000 --- a/assets/voxygen/voxel/npc/raptor_sand/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a5f71ae7fa186a44d29b1f4124e275c3129038dc2331a359b6b8358c5f6d302d -size 1628 diff --git a/assets/voxygen/voxel/npc/raptor_snow/male/foot_l.vox b/assets/voxygen/voxel/npc/raptor_snow/male/foot_l.vox deleted file mode 100644 index b682cfcd61..0000000000 --- a/assets/voxygen/voxel/npc/raptor_snow/male/foot_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:78ccec8653b8d2db97c4ec6e26b1604c56ca9026f78a8bbbb9d06f7121d46cc7 -size 1384 diff --git a/assets/voxygen/voxel/npc/raptor_snow/male/hand_l.vox b/assets/voxygen/voxel/npc/raptor_snow/male/hand_l.vox deleted file mode 100644 index 5db6026e79..0000000000 --- a/assets/voxygen/voxel/npc/raptor_snow/male/hand_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:845b0571f3abec22bc6f889219d7bec4e8b387bfabaa90671a70b4446be7ed67 -size 1616 diff --git a/assets/voxygen/voxel/npc/raptor_snow/male/leg_l.vox b/assets/voxygen/voxel/npc/raptor_snow/male/leg_l.vox deleted file mode 100644 index 87ab3259b7..0000000000 --- a/assets/voxygen/voxel/npc/raptor_snow/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f55f9e47c979e117906eb20ba106e834741dbfc4abf53c2c7b2f7656db03d119 -size 1628 diff --git a/assets/voxygen/voxel/npc/raptor_wood/male/foot_l.vox b/assets/voxygen/voxel/npc/raptor_wood/male/foot_l.vox deleted file mode 100644 index 84f4aee9ca..0000000000 --- a/assets/voxygen/voxel/npc/raptor_wood/male/foot_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b0c11647abe410acca2b9c50ae7bf5d82517b4e52bec385f461fb3a9bb5f0ab -size 1384 diff --git a/assets/voxygen/voxel/npc/raptor_wood/male/hand_l.vox b/assets/voxygen/voxel/npc/raptor_wood/male/hand_l.vox deleted file mode 100644 index ffbc71f066..0000000000 --- a/assets/voxygen/voxel/npc/raptor_wood/male/hand_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:076891fc33970341d6b6c3a7f2d12e2f9bc2a1d04c9e7ffd44d02d5a731b24c2 -size 1684 diff --git a/assets/voxygen/voxel/npc/raptor_wood/male/leg_l.vox b/assets/voxygen/voxel/npc/raptor_wood/male/leg_l.vox deleted file mode 100644 index b571b8c8a2..0000000000 --- a/assets/voxygen/voxel/npc/raptor_wood/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac1b149c2212a37b7640697ec764397adabd5bc6ed4c67a4611ee6550805b359 -size 1628 diff --git a/assets/voxygen/voxel/npc/rat/male/foot_bl.vox b/assets/voxygen/voxel/npc/rat/male/foot_bl.vox deleted file mode 100644 index d5af76f775..0000000000 --- a/assets/voxygen/voxel/npc/rat/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ceb18e0a3e013afe4075785a839ed914c4755e81a16bed46c01d827868ab1252 -size 1252 diff --git a/assets/voxygen/voxel/npc/rat/male/foot_fl.vox b/assets/voxygen/voxel/npc/rat/male/foot_fl.vox deleted file mode 100644 index 14424ecf37..0000000000 --- a/assets/voxygen/voxel/npc/rat/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9e15fb7b2dc36448630f58dd4ac9b28915333c00ead3e725c96cf74c0d4ea92 -size 1212 diff --git a/assets/voxygen/voxel/npc/rocksnapper/male/foot_bl.vox b/assets/voxygen/voxel/npc/rocksnapper/male/foot_bl.vox deleted file mode 100644 index fbc3ffa8ac..0000000000 --- a/assets/voxygen/voxel/npc/rocksnapper/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b76da17922521b88b4e6463483e1185deb638b0080ea826fc732f70663abccb -size 2124 diff --git a/assets/voxygen/voxel/npc/rocksnapper/male/foot_fl.vox b/assets/voxygen/voxel/npc/rocksnapper/male/foot_fl.vox deleted file mode 100644 index dd9d49fd72..0000000000 --- a/assets/voxygen/voxel/npc/rocksnapper/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ab0993f5cf7c4e41eb8a65555f31b3a9f7c37ac6c13877f37ff150c8f6939049 -size 2188 diff --git a/assets/voxygen/voxel/npc/salamander/female/foot_bl.vox b/assets/voxygen/voxel/npc/salamander/female/foot_bl.vox deleted file mode 100644 index bafd43bd57..0000000000 --- a/assets/voxygen/voxel/npc/salamander/female/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6efcf8a7c173bae183d1a961ad2f531af6cf9a9484bfa3733edd8a0a2cd7860d -size 1260 diff --git a/assets/voxygen/voxel/npc/salamander/female/foot_fl.vox b/assets/voxygen/voxel/npc/salamander/female/foot_fl.vox deleted file mode 100644 index 36894359b0..0000000000 --- a/assets/voxygen/voxel/npc/salamander/female/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:62a30c1511242da54c436fb2feeee2eb990582e79dc8702b9ec1573d1fc20402 -size 1268 diff --git a/assets/voxygen/voxel/npc/salamander/male/foot_bl.vox b/assets/voxygen/voxel/npc/salamander/male/foot_bl.vox deleted file mode 100644 index 5100dd6fd3..0000000000 --- a/assets/voxygen/voxel/npc/salamander/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b18dea4f5f7c05b6d66b35e51d0fd1696e86b8d81ba800b82faa3531bbf1994d -size 1244 diff --git a/assets/voxygen/voxel/npc/salamander/male/foot_fl.vox b/assets/voxygen/voxel/npc/salamander/male/foot_fl.vox deleted file mode 100644 index b747f98131..0000000000 --- a/assets/voxygen/voxel/npc/salamander/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d2108ecaae55bd50e08892ad54311d4931d660024f9492aa919af5e0419dd8d6 -size 1268 diff --git a/assets/voxygen/voxel/npc/sandshark/male/foot_bl.vox b/assets/voxygen/voxel/npc/sandshark/male/foot_bl.vox deleted file mode 100644 index 79afa364f5..0000000000 --- a/assets/voxygen/voxel/npc/sandshark/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f3e556f98a0706af06aef45e34d3f8772a7acb6dd2720fe789e674a19fcda80f -size 2072 diff --git a/assets/voxygen/voxel/npc/sandshark/male/foot_fl.vox b/assets/voxygen/voxel/npc/sandshark/male/foot_fl.vox deleted file mode 100644 index 7fd75deca1..0000000000 --- a/assets/voxygen/voxel/npc/sandshark/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:08578696d830ef319872948760193d1e97799b9a7f5fedc9a2b2b7c30632b3b9 -size 3524 diff --git a/assets/voxygen/voxel/npc/sheep/female/foot_bl.vox b/assets/voxygen/voxel/npc/sheep/female/foot_bl.vox deleted file mode 100644 index abc6a06dfc..0000000000 --- a/assets/voxygen/voxel/npc/sheep/female/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e88930cefb61d3624440c81fb610f112cdd0266978a7dc2ddb5c37bad3030924 -size 1232 diff --git a/assets/voxygen/voxel/npc/sheep/female/foot_fl.vox b/assets/voxygen/voxel/npc/sheep/female/foot_fl.vox deleted file mode 100644 index 9d5376fbea..0000000000 --- a/assets/voxygen/voxel/npc/sheep/female/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c20c088b32b90d5ec41f95f16b032665d0cdaf11e5f1df60d3dde90b81ff2a1c -size 1208 diff --git a/assets/voxygen/voxel/npc/sheep/male/foot_bl.vox b/assets/voxygen/voxel/npc/sheep/male/foot_bl.vox deleted file mode 100644 index abc6a06dfc..0000000000 --- a/assets/voxygen/voxel/npc/sheep/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e88930cefb61d3624440c81fb610f112cdd0266978a7dc2ddb5c37bad3030924 -size 1232 diff --git a/assets/voxygen/voxel/npc/sheep/male/foot_fl.vox b/assets/voxygen/voxel/npc/sheep/male/foot_fl.vox deleted file mode 100644 index b099eb9af4..0000000000 --- a/assets/voxygen/voxel/npc/sheep/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c98e924793aebb7dbddcf621009903c6fc2cf875c840b187bfb6d62b4f8462c0 -size 1208 diff --git a/assets/voxygen/voxel/npc/skunk/male/foot_bl.vox b/assets/voxygen/voxel/npc/skunk/male/foot_bl.vox deleted file mode 100644 index bf6f2ae841..0000000000 --- a/assets/voxygen/voxel/npc/skunk/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:189a1dfccfe94573c1ac6d9e6948bc2b399f9d48fee2b4510f852f692cde5eb9 -size 1272 diff --git a/assets/voxygen/voxel/npc/skunk/male/foot_fl.vox b/assets/voxygen/voxel/npc/skunk/male/foot_fl.vox deleted file mode 100644 index 84e7815f4b..0000000000 --- a/assets/voxygen/voxel/npc/skunk/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dfac9a2796b701c728ecf70500d524ebcc6c13e03b4e0057fa1c4c5eb3bd3e9b -size 1196 diff --git a/assets/voxygen/voxel/npc/squirrel/male/foot_bl.vox b/assets/voxygen/voxel/npc/squirrel/male/foot_bl.vox deleted file mode 100644 index e182b859ec..0000000000 --- a/assets/voxygen/voxel/npc/squirrel/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7d463014e1c784e08624a38258cb2774fbad71eb614a68bc98b03625b06fb49 -size 1228 diff --git a/assets/voxygen/voxel/npc/squirrel/male/foot_fl.vox b/assets/voxygen/voxel/npc/squirrel/male/foot_fl.vox deleted file mode 100644 index 525b66ba8c..0000000000 --- a/assets/voxygen/voxel/npc/squirrel/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7c52ef287399626b4d05e8f87e852d6676fafb1a7b672f6b2dfcadc015f7a76 -size 1164 diff --git a/assets/voxygen/voxel/npc/sunlizard/male/foot_l.vox b/assets/voxygen/voxel/npc/sunlizard/male/foot_l.vox deleted file mode 100644 index efb407e2a1..0000000000 --- a/assets/voxygen/voxel/npc/sunlizard/male/foot_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5bf1b2877e4325004e570bcfdc5bd6e82a96d38e05b003b7f650726893eb5cdc -size 1276 diff --git a/assets/voxygen/voxel/npc/sunlizard/male/hand_l.vox b/assets/voxygen/voxel/npc/sunlizard/male/hand_l.vox deleted file mode 100644 index 2a6f892ef5..0000000000 --- a/assets/voxygen/voxel/npc/sunlizard/male/hand_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a61452aa33dc9e2d7d072b7ca32591b64f0c0984ecedc963794843cf82050a5 -size 1228 diff --git a/assets/voxygen/voxel/npc/sunlizard/male/leg_l.vox b/assets/voxygen/voxel/npc/sunlizard/male/leg_l.vox deleted file mode 100644 index d3501ac447..0000000000 --- a/assets/voxygen/voxel/npc/sunlizard/male/leg_l.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f2c28aaa835fbbc4be60de200693512a6ab858313f2e911118b4605feb615e6a -size 1364 diff --git a/assets/voxygen/voxel/npc/tortoise/male/foot_bl.vox b/assets/voxygen/voxel/npc/tortoise/male/foot_bl.vox deleted file mode 100644 index 73cad48f51..0000000000 --- a/assets/voxygen/voxel/npc/tortoise/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c308128f3ba79f4cc9caa3439b3077f688e45a095289182559e55f48bc0b0047 -size 1580 diff --git a/assets/voxygen/voxel/npc/tortoise/male/foot_fl.vox b/assets/voxygen/voxel/npc/tortoise/male/foot_fl.vox deleted file mode 100644 index c83624934c..0000000000 --- a/assets/voxygen/voxel/npc/tortoise/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f338128840ca7e40d209bfea664f2a3599079ab73a7e28a307637e077be3a4cb -size 1624 diff --git a/assets/voxygen/voxel/npc/truffler/male/foot_bl.vox b/assets/voxygen/voxel/npc/truffler/male/foot_bl.vox deleted file mode 100644 index 603e677bed..0000000000 --- a/assets/voxygen/voxel/npc/truffler/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:48402fcea0ca0d40993c2b07ab6cec6421bb1c320c736bee8c214812761a590d -size 1412 diff --git a/assets/voxygen/voxel/npc/truffler/male/foot_fl.vox b/assets/voxygen/voxel/npc/truffler/male/foot_fl.vox deleted file mode 100644 index 603e677bed..0000000000 --- a/assets/voxygen/voxel/npc/truffler/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:48402fcea0ca0d40993c2b07ab6cec6421bb1c320c736bee8c214812761a590d -size 1412 diff --git a/assets/voxygen/voxel/npc/turtle/male/foot_bl.vox b/assets/voxygen/voxel/npc/turtle/male/foot_bl.vox deleted file mode 100644 index 696ab221ab..0000000000 --- a/assets/voxygen/voxel/npc/turtle/male/foot_bl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1aabc60fe30c1f38e89ff8cfe770444baf9a5e2bd4060b56ba46ac0835460ef6 -size 1180 diff --git a/assets/voxygen/voxel/npc/turtle/male/foot_fl.vox b/assets/voxygen/voxel/npc/turtle/male/foot_fl.vox deleted file mode 100644 index 0ef897e45b..0000000000 --- a/assets/voxygen/voxel/npc/turtle/male/foot_fl.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60cde6297e3bcec71278065f8e23dbf5cb6d318d9fc1d3d0c2f261c5d3d09e2b -size 1180 diff --git a/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron index 9ee5695317..46e13be409 100644 --- a/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron @@ -2,7 +2,7 @@ (Crocodile, Male): ( front_left: ( offset: (-7.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension - lateral: ("npc.crocodile.male.foot_fl"), + lateral: ("npc.crocodile.male.foot_fr"), ), front_right: ( offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension @@ -10,7 +10,7 @@ ), back_left: ( offset: (-8.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension - lateral: ("npc.crocodile.male.foot_bl"), + lateral: ("npc.crocodile.male.foot_br"), ), back_right: ( offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension @@ -20,7 +20,7 @@ (Crocodile, Female): ( front_left: ( offset: (-7.0, -0.0, -4.0), - lateral: ("npc.crocodile.male.foot_fl"), + lateral: ("npc.crocodile.male.foot_fr"), ), front_right: ( offset: (0.0, -0.0, -4.0), @@ -28,7 +28,7 @@ ), back_left: ( offset: (-8.0, -0.0, -4.0), - lateral: ("npc.crocodile.male.foot_bl"), + lateral: ("npc.crocodile.male.foot_br"), ), back_right: ( offset: (0.0, -0.0, -4.0), @@ -38,7 +38,7 @@ (Alligator, Male): ( front_left: ( offset: (-7.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_fl"), + lateral: ("npc.alligator.male.foot_fr"), ), front_right: ( offset: (-0.0, 0.0, -4.0), @@ -46,7 +46,7 @@ ), back_left: ( offset: (-8.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_bl"), + lateral: ("npc.alligator.male.foot_br"), ), back_right: ( offset: (-0.0, 0.0, -4.0), @@ -56,7 +56,7 @@ (Alligator, Female): ( front_left: ( offset: (-7.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_fl"), + lateral: ("npc.alligator.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -4.0), @@ -64,7 +64,7 @@ ), back_left: ( offset: (-8.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_bl"), + lateral: ("npc.alligator.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -4.0), @@ -74,7 +74,7 @@ (Salamander, Male): ( front_left: ( offset: (-6.0, 0.0, -3.0), - lateral: ("npc.salamander.male.foot_fl"), + lateral: ("npc.salamander.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -3.0), @@ -82,7 +82,7 @@ ), back_left: ( offset: (-7.0, 0.0, -3.0), - lateral: ("npc.salamander.male.foot_bl"), + lateral: ("npc.salamander.male.foot_br"), ), back_right: ( offset: (-0.0, 0.0, -3.0), @@ -92,7 +92,7 @@ (Salamander, Female): ( front_left: ( offset: (-6.0, 0.0, -3.0), - lateral: ("npc.salamander.female.foot_fl"), + lateral: ("npc.salamander.female.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -3.0), @@ -100,7 +100,7 @@ ), back_left: ( offset: (-8.0, 0.0, -3.0), - lateral: ("npc.salamander.female.foot_bl"), + lateral: ("npc.salamander.female.foot_br"), ), back_right: ( offset: (0.0, 0.0, -3.0), @@ -110,7 +110,7 @@ (Monitor, Male): ( front_left: ( offset: (-8.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_fl"), + lateral: ("npc.monitor.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -5.0), @@ -118,7 +118,7 @@ ), back_left: ( offset: (-7.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_bl"), + lateral: ("npc.monitor.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -5.0), @@ -128,7 +128,7 @@ (Monitor, Female): ( front_left: ( offset: (-8.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_fl"), + lateral: ("npc.monitor.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -5.0), @@ -136,7 +136,7 @@ ), back_left: ( offset: (-7.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_bl"), + lateral: ("npc.monitor.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -5.0), @@ -145,16 +145,16 @@ ), (Asp, Male): ( front_left: ( - offset: (-17.0, 0.0, -14.0), - lateral: ("npc.asp.male.foot_fl"), + offset: (-10.0, 0.0, -6.5), + lateral: ("npc.asp.male.foot_fr"), ), front_right: ( - offset: (0.0, 0.0, -14.0), + offset: (0.0, 0.0, -6.5), lateral: ("npc.asp.male.foot_fr"), ), back_left: ( offset: (-7.5, 0.0, -6.5), - lateral: ("npc.asp.male.foot_bl"), + lateral: ("npc.asp.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -6.5), @@ -163,16 +163,16 @@ ), (Asp, Female): ( front_left: ( - offset: (-17.0, 0.0, -14.0), - lateral: ("npc.asp.male.foot_fl"), + offset: (-10.0, 0.0, -6.5), + lateral: ("npc.asp.male.foot_fr"), ), front_right: ( - offset: (0.0, 0.0, -14.0), + offset: (0.0, 0.0, -6.5), lateral: ("npc.asp.male.foot_fr"), ), back_left: ( offset: (-7.5, 0.0, -6.5), - lateral: ("npc.asp.male.foot_bl"), + lateral: ("npc.asp.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -6.5), @@ -182,7 +182,7 @@ (Tortoise, Male): ( front_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_fl"), + lateral: ("npc.tortoise.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -8.0), @@ -190,7 +190,7 @@ ), back_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_bl"), + lateral: ("npc.tortoise.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -8.0), @@ -200,7 +200,7 @@ (Tortoise, Female): ( front_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_fl"), + lateral: ("npc.tortoise.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -8.0), @@ -208,7 +208,7 @@ ), back_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_bl"), + lateral: ("npc.tortoise.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -8.0), @@ -218,7 +218,7 @@ (Rocksnapper, Male): ( front_left: ( offset: (-12.0, 0.0, -10.0), - lateral: ("npc.rocksnapper.male.foot_fl"), + lateral: ("npc.rocksnapper.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -10.0), @@ -226,7 +226,7 @@ ), back_left: ( offset: (-11.0, -6.0, -9.0), - lateral: ("npc.rocksnapper.male.foot_bl"), + lateral: ("npc.rocksnapper.male.foot_br"), ), back_right: ( offset: (0.0, -6.0, -9.0), @@ -236,7 +236,7 @@ (Rocksnapper, Female): ( front_left: ( offset: (-12.0, 0.0, -10.0), - lateral: ("npc.rocksnapper.male.foot_fl"), + lateral: ("npc.rocksnapper.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -10.0), @@ -244,7 +244,7 @@ ), back_left: ( offset: (-11.0, -6.0, -9.0),//special case - lateral: ("npc.rocksnapper.male.foot_bl"), + lateral: ("npc.rocksnapper.male.foot_br"), ), back_right: ( offset: (0.0, -6.0, -9.0), @@ -254,7 +254,7 @@ (Pangolin, Male): ( front_left: ( offset: (-1.5, 0.0, -6.0),//unique - lateral: ("npc.pangolin.male.foot_fl"), + lateral: ("npc.pangolin.male.foot_fr"), ), front_right: ( offset: (-1.5, 0.0, -6.0), @@ -262,7 +262,7 @@ ), back_left: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_bl"), + lateral: ("npc.pangolin.male.foot_br"), ), back_right: ( offset: (-1.5, 0.0, -6.0), @@ -272,7 +272,7 @@ (Pangolin, Female): ( front_left: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_fl"), + lateral: ("npc.pangolin.male.foot_fr"), ), front_right: ( offset: (-1.5, 0.0, -6.0), @@ -280,7 +280,7 @@ ), back_left: ( offset: (-1.5, 0.0, -6.0),//special case - lateral: ("npc.pangolin.male.foot_bl"), + lateral: ("npc.pangolin.male.foot_br"), ), back_right: ( offset: (-1.5, 0.0, -6.0), @@ -290,7 +290,7 @@ (Maneater, Male): ( front_left: ( offset: (-6.0, 0.0, -6.5), - lateral: ("npc.maneater.male.foot_fl"), + lateral: ("npc.maneater.male.foot_fr"), ), front_right: ( offset: (-2.0, 0.0, -6.5), @@ -298,7 +298,7 @@ ), back_left: ( offset: (-6.0, -8.0, -9.0), - lateral: ("npc.maneater.male.foot_bl"), + lateral: ("npc.maneater.male.foot_br"), ), back_right: ( offset: (-2.0, -8.0, -9.0), @@ -308,7 +308,7 @@ (Maneater, Female): ( front_left: ( offset: (-6.0, 0.0, -6.5), - lateral: ("npc.maneater.male.foot_fl"), + lateral: ("npc.maneater.male.foot_fr"), ), front_right: ( offset: (-2.0, 0.0, -6.5), @@ -316,7 +316,7 @@ ), back_left: ( offset: (-6.0, -8.0, -9.0), - lateral: ("npc.maneater.male.foot_bl"), + lateral: ("npc.maneater.male.foot_br"), ), back_right: ( offset: (-2.0, -8.0, -9.0), @@ -326,7 +326,7 @@ (Hakulaq, Male): ( front_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_fl"), + lateral: ("npc.hakulaq.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -9.0), @@ -334,7 +334,7 @@ ), back_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_bl"), + lateral: ("npc.hakulaq.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -9.0), @@ -344,7 +344,7 @@ (Hakulaq, Female): ( front_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_fl"), + lateral: ("npc.hakulaq.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -9.0), @@ -352,7 +352,7 @@ ), back_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_bl"), + lateral: ("npc.hakulaq.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -9.0), @@ -362,7 +362,7 @@ (Sandshark, Male): ( front_left: ( offset: (-17.0, 0.0, -12.0), - lateral: ("npc.sandshark.male.foot_fl"), + lateral: ("npc.sandshark.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -12.0), @@ -370,7 +370,7 @@ ), back_left: ( offset: (-9.0, 0.0, -6.0), - lateral: ("npc.sandshark.male.foot_bl"), + lateral: ("npc.sandshark.male.foot_br"), ), back_right: ( offset: (-2.0, 0.0, -6.0), @@ -380,7 +380,7 @@ (Sandshark, Female): ( front_left: ( offset: (-17.0, 0.0, -12.0), - lateral: ("npc.sandshark.male.foot_fl"), + lateral: ("npc.sandshark.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -12.0), @@ -388,7 +388,7 @@ ), back_left: ( offset: (-9.0, 0.0, -6.0), - lateral: ("npc.sandshark.male.foot_bl"), + lateral: ("npc.sandshark.male.foot_br"), ), back_right: ( offset: (-2.0, 0.0, -6.0), @@ -398,7 +398,7 @@ (Lavadrake, Male): ( front_left: ( offset: (-14.0, -4.0, -10.0), - lateral: ("npc.lavadrake.male.foot_fl"), + lateral: ("npc.lavadrake.male.foot_fr"), ), front_right: ( offset: (0.0, -4.0, -10.0), @@ -406,7 +406,7 @@ ), back_left: ( offset: (-14.0, -7.5, -10.0), - lateral: ("npc.lavadrake.male.foot_bl"), + lateral: ("npc.lavadrake.male.foot_br"), ), back_right: ( offset: (0.0, -7.5, -10.0), @@ -416,7 +416,7 @@ (Lavadrake, Female): ( front_left: ( offset: (-14.0, -4.0, -10.0), - lateral: ("npc.lavadrake.male.foot_fl"), + lateral: ("npc.lavadrake.male.foot_fr"), ), front_right: ( offset: (0.0, -4.0, -10.0), @@ -424,7 +424,7 @@ ), back_left: ( offset: (-14.0, -7.5, -10.0), - lateral: ("npc.lavadrake.male.foot_bl"), + lateral: ("npc.lavadrake.male.foot_br"), ), back_right: ( offset: (0.0, -7.5, -10.0), @@ -434,7 +434,7 @@ (Basilisk, Male): ( front_left: ( offset: (-17.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_fl"), + lateral: ("npc.basilisk.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -9.0), @@ -442,7 +442,7 @@ ), back_left: ( offset: (-15.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_bl"), + lateral: ("npc.basilisk.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -9.0), @@ -452,7 +452,7 @@ (Basilisk, Female): ( front_left: ( offset: (-17.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_fl"), + lateral: ("npc.basilisk.male.foot_fr"), ), front_right: ( offset: (0.0, 0.0, -9.0), @@ -460,7 +460,7 @@ ), back_left: ( offset: (-15.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_bl"), + lateral: ("npc.basilisk.male.foot_br"), ), back_right: ( offset: (0.0, 0.0, -9.0), diff --git a/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron index f04f164dd4..41ec808ea5 100644 --- a/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_small_lateral_manifest.ron @@ -2,7 +2,7 @@ (Pig, Male): ( left_front: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.pig.male.foot_fl"), + lateral: ("npc.pig.male.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.0), @@ -10,7 +10,7 @@ ), left_back: ( offset: (-1.0, -2.0, -6.0), - lateral: ("npc.pig.male.foot_bl"), + lateral: ("npc.pig.male.foot_br"), ), right_back: ( offset: (-1.0, -2.0, -6.0), @@ -20,7 +20,7 @@ (Pig, Female): ( left_front: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.pig.male.foot_fl"), + lateral: ("npc.pig.male.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.0), @@ -28,7 +28,7 @@ ), left_back: ( offset: (-1.0, -2.0, -6.0), - lateral: ("npc.pig.male.foot_bl"), + lateral: ("npc.pig.male.foot_br"), ), right_back: ( offset: (-1.0, -2.0, -6.0), @@ -39,7 +39,7 @@ (Fox, Male): ( left_front: ( offset: (-1.0, -2.0, -2.5), - lateral: ("npc.fox.male.foot_fl"), + lateral: ("npc.fox.male.foot_fr"), ), right_front: ( offset: (-1.0, -2.0, -2.5), @@ -47,7 +47,7 @@ ), left_back: ( offset: (-1.0, -2.0, -5.0), - lateral: ("npc.fox.male.foot_bl"), + lateral: ("npc.fox.male.foot_br"), ), right_back: ( offset: (-1.0, -2.0, -5.0), @@ -57,7 +57,7 @@ (Fox, Female): ( left_front: ( offset: (-1.0, -2.0, -2.5), - lateral: ("npc.fox.female.foot_fl"), + lateral: ("npc.fox.female.foot_fr"), ), right_front: ( offset: (-1.0, -2.0, -2.5), @@ -65,7 +65,7 @@ ), left_back: ( offset: (-1.0, -2.0, -5.0), - lateral: ("npc.fox.female.foot_bl"), + lateral: ("npc.fox.female.foot_br"), ), right_back: ( offset: (-1.0, -2.0, -5.0), @@ -76,7 +76,7 @@ (Sheep, Male): ( left_front: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.sheep.male.foot_fl"), + lateral: ("npc.sheep.male.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.0), @@ -84,7 +84,7 @@ ), left_back: ( offset: (-1.0, -1.5, -5.5), - lateral: ("npc.sheep.male.foot_bl"), + lateral: ("npc.sheep.male.foot_br"), ), right_back: ( offset: (-1.0, -1.5, -5.5), @@ -95,7 +95,7 @@ (Sheep, Female): ( left_front: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.sheep.female.foot_fl"), + lateral: ("npc.sheep.female.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.0), @@ -103,7 +103,7 @@ ), left_back: ( offset: (-1.0, -1.5, -5.5), - lateral: ("npc.sheep.female.foot_bl"), + lateral: ("npc.sheep.female.foot_br"), ), right_back: ( offset: (-1.0, -1.5, -5.5), @@ -114,7 +114,7 @@ (Boar, Male): ( left_front: ( offset: (-1.5, -2.5, -4.0), - lateral: ("npc.boar.male.foot_fl"), + lateral: ("npc.boar.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.5, -4.0), @@ -122,7 +122,7 @@ ), left_back: ( offset: (-1.5, -2.0, -7.0), - lateral: ("npc.boar.male.foot_bl"), + lateral: ("npc.boar.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -7.0), @@ -133,7 +133,7 @@ (Boar, Female): ( left_front: ( offset: (-1.5, -2.5, -4.0), - lateral: ("npc.boar.female.foot_fl"), + lateral: ("npc.boar.female.foot_fr"), ), right_front: ( offset: (-1.5, -2.5, -4.0), @@ -141,7 +141,7 @@ ), left_back: ( offset: (-1.5, -2.0, -7.0), - lateral: ("npc.boar.female.foot_bl"), + lateral: ("npc.boar.female.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -7.0), @@ -151,7 +151,7 @@ (Jackalope, Male): ( left_front: ( offset: (-1.0, -2.0, -4.0), - lateral: ("npc.jackalope.male.foot_fl"), + lateral: ("npc.jackalope.male.foot_fr"), ), right_front: ( offset: (-1.0, -2.0, -4.0), @@ -159,7 +159,7 @@ ), left_back: ( offset: (-1.5, -2.5, -6.0), - lateral: ("npc.jackalope.male.foot_bl"), + lateral: ("npc.jackalope.male.foot_br"), ), right_back: ( offset: (-1.5, -2.5, -6.0), @@ -170,7 +170,7 @@ (Jackalope, Female): ( left_front: ( offset: (-1.0, -2.0, -4.0), - lateral: ("npc.jackalope.male.foot_fl"), + lateral: ("npc.jackalope.male.foot_fr"), ), right_front: ( offset: (-1.0, -2.0, -4.0), @@ -178,7 +178,7 @@ ), left_back: ( offset: (-1.5, -2.5, -6.0), - lateral: ("npc.jackalope.male.foot_bl"), + lateral: ("npc.jackalope.male.foot_br"), ), right_back: ( offset: (-1.5, -2.5, -6.0), @@ -188,7 +188,7 @@ (Skunk, Male): ( left_front: ( offset: (-1.5, -2.0, -4.5), - lateral: ("npc.skunk.male.foot_fl"), + lateral: ("npc.skunk.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -4.5), @@ -196,7 +196,7 @@ ), left_back: ( offset: (-1.0, -1.0, -3.5), - lateral: ("npc.skunk.male.foot_bl"), + lateral: ("npc.skunk.male.foot_br"), ), right_back: ( offset: (-1.0, -1.0, -3.5), @@ -207,7 +207,7 @@ (Skunk, Female): ( left_front: ( offset: (-1.5, -2.0, -4.5), - lateral: ("npc.skunk.male.foot_fl"), + lateral: ("npc.skunk.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -4.5), @@ -215,7 +215,7 @@ ), left_back: ( offset: (-1.5, -2.0, -4.5), - lateral: ("npc.skunk.male.foot_bl"), + lateral: ("npc.skunk.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -4.5), @@ -226,7 +226,7 @@ (Cat, Male): ( left_front: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.cat.male.foot_fl"), + lateral: ("npc.cat.male.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.0), @@ -234,7 +234,7 @@ ), left_back: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.cat.male.foot_bl"), + lateral: ("npc.cat.male.foot_br"), ), right_back: ( offset: (-1.0, -1.5, -5.0), @@ -245,7 +245,7 @@ (Cat, Female): ( left_front: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.cat.female.foot_fl"), + lateral: ("npc.cat.female.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.0), @@ -253,7 +253,7 @@ ), left_back: ( offset: (-1.0, -1.5, -5.0), - lateral: ("npc.cat.female.foot_bl"), + lateral: ("npc.cat.female.foot_br"), ), right_back: ( offset: (-1.0, -1.5, -5.0), @@ -264,7 +264,7 @@ (Batfox, Male): ( left_front: ( offset: (-2.0, -2.5, -5.0), - lateral: ("npc.batfox.male.foot_fl"), + lateral: ("npc.batfox.male.foot_fr"), ), right_front: ( offset: (-2.0, -2.5, -5.0), @@ -272,7 +272,7 @@ ), left_back: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.batfox.male.foot_bl"), + lateral: ("npc.batfox.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -5.0), @@ -283,7 +283,7 @@ (Batfox, Female): ( left_front: ( offset: (-2.0, -2.5, -5.0), - lateral: ("npc.batfox.male.foot_fl"), + lateral: ("npc.batfox.male.foot_fr"), ), right_front: ( offset: (-2.0, -2.5, -5.0), @@ -291,7 +291,7 @@ ), left_back: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.batfox.male.foot_bl"), + lateral: ("npc.batfox.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -5.0), @@ -302,7 +302,7 @@ (Raccoon, Male): ( left_front: ( offset: (-1.5, -2.0, -5.5), - lateral: ("npc.raccoon.male.foot_fl"), + lateral: ("npc.raccoon.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -5.5), @@ -310,7 +310,7 @@ ), left_back: ( offset: (-2.0, -2.5, -6.0), - lateral: ("npc.raccoon.male.foot_bl"), + lateral: ("npc.raccoon.male.foot_br"), ), right_back: ( offset: (-2.0, -2.5, -6.0), @@ -321,7 +321,7 @@ (Raccoon, Female): ( left_front: ( offset: (-1.5, -2.0, -5.5), - lateral: ("npc.raccoon.male.foot_fl"), + lateral: ("npc.raccoon.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -5.5), @@ -329,7 +329,7 @@ ), left_back: ( offset: (-2.0, -2.5, -6.0), - lateral: ("npc.raccoon.male.foot_bl"), + lateral: ("npc.raccoon.male.foot_br"), ), right_back: ( offset: (-2.0, -2.5, -6.0), @@ -339,7 +339,7 @@ (Quokka, Male): ( left_front: ( offset: (-1.0, -1.5, -5.5), - lateral: ("npc.quokka.male.foot_fl"), + lateral: ("npc.quokka.male.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.5), @@ -347,7 +347,7 @@ ), left_back: ( offset: (-1.0, -2.5, -5.5), - lateral: ("npc.quokka.male.foot_bl"), + lateral: ("npc.quokka.male.foot_br"), ), right_back: ( offset: (-1.0, -2.5, -5.5), @@ -358,7 +358,7 @@ (Quokka, Female): ( left_front: ( offset: (-1.0, -1.5, -5.5), - lateral: ("npc.quokka.male.foot_fl"), + lateral: ("npc.quokka.male.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -5.5), @@ -366,7 +366,7 @@ ), left_back: ( offset: (-1.0, -2.5, -5.5), - lateral: ("npc.quokka.male.foot_bl"), + lateral: ("npc.quokka.male.foot_br"), ), right_back: ( offset: (-1.0, -2.5, -5.5), @@ -376,7 +376,7 @@ (Dodarock, Male): ( left_front: ( offset: (-2.0, -3.0, -6.5), - lateral: ("npc.dodarock.male.foot_fl"), + lateral: ("npc.dodarock.male.foot_fr"), ), right_front: ( offset: (-2.0, -3.0, -6.5), @@ -384,7 +384,7 @@ ), left_back: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.dodarock.male.foot_bl"), + lateral: ("npc.dodarock.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -5.0), @@ -395,7 +395,7 @@ (Dodarock, Female): ( left_front: ( offset: (-2.0, -3.0, -6.5), - lateral: ("npc.dodarock.male.foot_fl"), + lateral: ("npc.dodarock.male.foot_fr"), ), right_front: ( offset: (-2.0, -3.0, -6.5), @@ -403,7 +403,7 @@ ), left_back: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.dodarock.male.foot_bl"), + lateral: ("npc.dodarock.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -5.0), @@ -413,7 +413,7 @@ (Holladon, Male): ( left_front: ( offset: (-1.0, -2.5, -6.0), - lateral: ("npc.holladon.male.foot_fl"), + lateral: ("npc.holladon.male.foot_fr"), ), right_front: ( offset: (-1.0, -2.5, -6.0), @@ -421,7 +421,7 @@ ), left_back: ( offset: (-1.0, -2.0, -5.5), - lateral: ("npc.holladon.male.foot_bl"), + lateral: ("npc.holladon.male.foot_br"), ), right_back: ( offset: (-1.0, -2.0, -5.5), @@ -432,7 +432,7 @@ (Holladon, Female): ( left_front: ( offset: (-1.0, -2.5, -6.0), - lateral: ("npc.holladon.male.foot_fl"), + lateral: ("npc.holladon.male.foot_fr"), ), right_front: ( offset: (-1.0, -2.5, -6.0), @@ -440,7 +440,7 @@ ), left_back: ( offset: (-1.0, -2.0, -5.5), - lateral: ("npc.holladon.male.foot_bl"), + lateral: ("npc.holladon.male.foot_br"), ), right_back: ( offset: (-1.0, -2.0, -5.5), @@ -450,7 +450,7 @@ (Hyena, Male): ( left_front: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.hyena.male.foot_fl"), + lateral: ("npc.hyena.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -5.0), @@ -458,7 +458,7 @@ ), left_back: ( offset: (-1.5, -2.0, -6.5), - lateral: ("npc.hyena.male.foot_bl"), + lateral: ("npc.hyena.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -6.5), @@ -469,7 +469,7 @@ (Hyena, Female): ( left_front: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.hyena.male.foot_fl"), + lateral: ("npc.hyena.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -5.0), @@ -477,7 +477,7 @@ ), left_back: ( offset: (-1.5, -2.0, -6.5), - lateral: ("npc.hyena.male.foot_bl"), + lateral: ("npc.hyena.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -6.5), @@ -487,7 +487,7 @@ (Rabbit, Male): ( left_front: ( offset: (-1.5, -0.0, -2.0), - lateral: ("npc.rabbit.male.foot_fl"), + lateral: ("npc.rabbit.male.foot_fr"), ), right_front: ( offset: (-1.5, -0.0, -2.0), @@ -495,7 +495,7 @@ ), left_back: ( offset: (-1.5, -3.0, -4.0), - lateral: ("npc.rabbit.male.foot_bl"), + lateral: ("npc.rabbit.male.foot_br"), ), right_back: ( offset: (-1.5, -3.0, -4.0), @@ -505,7 +505,7 @@ (Rabbit, Female): ( left_front: ( offset: (-1.5, -0.0, -2.0), - lateral: ("npc.rabbit.male.foot_fl"), + lateral: ("npc.rabbit.male.foot_fr"), ), right_front: ( offset: (-1.5, -0.0, -2.0), @@ -513,7 +513,7 @@ ), left_back: ( offset: (-1.5, -3.0, -4.0), - lateral: ("npc.rabbit.male.foot_bl"), + lateral: ("npc.rabbit.male.foot_br"), ), right_back: ( offset: (-1.5, -3.0, -4.0), @@ -523,7 +523,7 @@ (Truffler, Male): ( left_front: ( offset: (-2.5, -3.0, -6.5), - lateral: ("npc.truffler.male.foot_fl"), + lateral: ("npc.truffler.male.foot_fr"), ), right_front: ( offset: (-2.5, -3.0, -6.5), @@ -531,7 +531,7 @@ ), left_back: ( offset: (-2.5, -3.0, -6.5), - lateral: ("npc.truffler.male.foot_bl"), + lateral: ("npc.truffler.male.foot_br"), ), right_back: ( offset: (-2.5, -3.0, -6.5), @@ -542,7 +542,7 @@ (Truffler, Female): ( left_front: ( offset: (-2.5, -3.0, -6.5), - lateral: ("npc.truffler.male.foot_fl"), + lateral: ("npc.truffler.male.foot_fr"), ), right_front: ( offset: (-2.5, -3.0, -6.5), @@ -550,7 +550,7 @@ ), left_back: ( offset: (-2.5, -3.0, -6.5), - lateral: ("npc.truffler.male.foot_bl"), + lateral: ("npc.truffler.male.foot_br"), ), right_back: ( offset: (-2.5, -3.0, -6.5), @@ -560,7 +560,7 @@ (Frog, Male): ( left_front: ( offset: (-2.5, -2.5, -4.0), - lateral: ("npc.frog.male.foot_fl"), + lateral: ("npc.frog.male.foot_fr"), ), right_front: ( offset: (-2.5, -2.5, -4.0), @@ -568,7 +568,7 @@ ), left_back: ( offset: (-2.5, -3.5, -4.0), - lateral: ("npc.frog.male.foot_bl"), + lateral: ("npc.frog.male.foot_br"), ), right_back: ( offset: (-2.5, -3.5, -4.0), @@ -578,7 +578,7 @@ (Frog, Female): ( left_front: ( offset: (-2.5, -2.5, -4.0), - lateral: ("npc.frog.male.foot_fl"), + lateral: ("npc.frog.male.foot_fr"), ), right_front: ( offset: (-2.5, -2.5, -4.0), @@ -586,7 +586,7 @@ ), left_back: ( offset: (-2.5, -3.5, -4.0), - lateral: ("npc.frog.male.foot_bl"), + lateral: ("npc.frog.male.foot_br"), ), right_back: ( offset: (-2.5, -3.5, -4.0), @@ -596,7 +596,7 @@ (Rat, Male): ( left_front: ( offset: (-1.5, -2.0, -4.0), - lateral: ("npc.rat.male.foot_fl"), + lateral: ("npc.rat.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -4.0), @@ -604,7 +604,7 @@ ), left_back: ( offset: (-1.5, -2.5, -6.0), - lateral: ("npc.rat.male.foot_bl"), + lateral: ("npc.rat.male.foot_br"), ), right_back: ( offset: (-1.5, -2.5, -6.0), @@ -614,7 +614,7 @@ (Rat, Female): ( left_front: ( offset: (-1.5, -2.0, -4.0), - lateral: ("npc.rat.male.foot_fl"), + lateral: ("npc.rat.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.0, -4.0), @@ -622,7 +622,7 @@ ), left_back: ( offset: (-1.5, -2.5, -6.0), - lateral: ("npc.rat.male.foot_bl"), + lateral: ("npc.rat.male.foot_br"), ), right_back: ( offset: (-1.5, -2.5, -6.0), @@ -632,7 +632,7 @@ (Axolotl, Male): ( left_front: ( offset: (-5.5, -0.5, -3.0), - lateral: ("npc.axolotl.male.foot_fl"), + lateral: ("npc.axolotl.male.foot_fr"), ), right_front: ( offset: (-0.5, -0.5, -3.0), @@ -640,7 +640,7 @@ ), left_back: ( offset: (-5.5, -3.5, -3.0), - lateral: ("npc.axolotl.male.foot_bl"), + lateral: ("npc.axolotl.male.foot_br"), ), right_back: ( offset: (-0.5, -3.5, -3.0), @@ -650,7 +650,7 @@ (Axolotl, Female): ( left_front: ( offset: (-5.5, -0.5, -3.0), - lateral: ("npc.axolotl.male.foot_fl"), + lateral: ("npc.axolotl.male.foot_fr"), ), right_front: ( offset: (-0.5, -0.5, -3.0), @@ -658,7 +658,7 @@ ), left_back: ( offset: (-5.5, -3.5, -3.0), - lateral: ("npc.axolotl.male.foot_bl"), + lateral: ("npc.axolotl.male.foot_br"), ), right_back: ( offset: (-0.5, -3.5, -3.0), @@ -668,7 +668,7 @@ (Gecko, Male): ( left_front: ( offset: (-5.5, -1.0, -3.5), - lateral: ("npc.gecko.male.foot_fl"), + lateral: ("npc.gecko.male.foot_fr"), ), right_front: ( offset: (-0.5, -1.0, -3.5), @@ -676,7 +676,7 @@ ), left_back: ( offset: (-5.5, -4.0, -3.5), - lateral: ("npc.gecko.male.foot_bl"), + lateral: ("npc.gecko.male.foot_br"), ), right_back: ( offset: (-0.5, -4.0, -3.5), @@ -686,7 +686,7 @@ (Gecko, Female): ( left_front: ( offset: (-5.5, -1.0, -3.5), - lateral: ("npc.gecko.male.foot_fl"), + lateral: ("npc.gecko.male.foot_fr"), ), right_front: ( offset: (-0.5, -1.0, -3.5), @@ -694,7 +694,7 @@ ), left_back: ( offset: (-5.5, -4.0, -3.5), - lateral: ("npc.gecko.male.foot_bl"), + lateral: ("npc.gecko.male.foot_br"), ), right_back: ( offset: (-0.5, -4.0, -3.5), @@ -704,7 +704,7 @@ (Turtle, Male): ( left_front: ( offset: (-1.5, -0.5, -4.0), - lateral: ("npc.turtle.male.foot_fl"), + lateral: ("npc.turtle.male.foot_fr"), ), right_front: ( offset: (-1.5, -0.5, -4.0), @@ -712,7 +712,7 @@ ), left_back: ( offset: (-2.0, -2.5, -4.0), - lateral: ("npc.turtle.male.foot_bl"), + lateral: ("npc.turtle.male.foot_br"), ), right_back: ( offset: (-2.0, -2.5, -4.0), @@ -722,7 +722,7 @@ (Turtle, Female): ( left_front: ( offset: (-1.5, -0.5, -4.0), - lateral: ("npc.turtle.male.foot_fl"), + lateral: ("npc.turtle.male.foot_fr"), ), right_front: ( offset: (-1.5, -0.5, -4.0), @@ -730,7 +730,7 @@ ), left_back: ( offset: (-2.0, -2.5, -4.0), - lateral: ("npc.turtle.male.foot_bl"), + lateral: ("npc.turtle.male.foot_br"), ), right_back: ( offset: (-2.0, -2.5, -4.0), @@ -740,7 +740,7 @@ (Squirrel, Male): ( left_front: ( offset: (-1.5, -1.5, -4.0), - lateral: ("npc.squirrel.male.foot_fl"), + lateral: ("npc.squirrel.male.foot_fr"), ), right_front: ( offset: (-1.5, -1.5, -4.0), @@ -748,7 +748,7 @@ ), left_back: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.squirrel.male.foot_bl"), + lateral: ("npc.squirrel.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -5.0), @@ -758,7 +758,7 @@ (Squirrel, Female): ( left_front: ( offset: (-1.5, -1.5, -4.0), - lateral: ("npc.squirrel.male.foot_fl"), + lateral: ("npc.squirrel.male.foot_fr"), ), right_front: ( offset: (-1.5, -1.5, -4.0), @@ -766,7 +766,7 @@ ), left_back: ( offset: (-1.5, -2.0, -5.0), - lateral: ("npc.squirrel.male.foot_bl"), + lateral: ("npc.squirrel.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -5.0), @@ -776,7 +776,7 @@ (Fungome, Male): ( left_front: ( offset: (-2.5, -0.5, -3.0), - lateral: ("npc.fungome.male.foot_fl"), + lateral: ("npc.fungome.male.foot_fr"), ), right_front: ( offset: (-0.5, -0.5, -3.0), @@ -784,7 +784,7 @@ ), left_back: ( offset: (-2.5, -1.0, -3.0), - lateral: ("npc.fungome.male.foot_bl"), + lateral: ("npc.fungome.male.foot_br"), ), right_back: ( offset: (-0.5, -1.0, -3.0), @@ -794,7 +794,7 @@ (Fungome, Female): ( left_front: ( offset: (-2.5, -0.5, -3.0), - lateral: ("npc.fungome.male.foot_fl"), + lateral: ("npc.fungome.male.foot_fr"), ), right_front: ( offset: (-0.5, -0.5, -3.0), @@ -802,7 +802,7 @@ ), left_back: ( offset: (-2.5, -1.0, -3.0), - lateral: ("npc.fungome.male.foot_bl"), + lateral: ("npc.fungome.male.foot_br"), ), right_back: ( offset: (-0.5, -1.0, -3.0), @@ -812,7 +812,7 @@ (Porcupine, Male): ( left_front: ( offset: (-1.5, -2.5, -2.0), - lateral: ("npc.porcupine.male.foot_fl"), + lateral: ("npc.porcupine.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.5, -2.0), @@ -820,7 +820,7 @@ ), left_back: ( offset: (-2.0, -3.0, -3.0), - lateral: ("npc.porcupine.male.foot_bl"), + lateral: ("npc.porcupine.male.foot_br"), ), right_back: ( offset: (-2.0, -3.0, -3.0), @@ -830,7 +830,7 @@ (Porcupine, Female): ( left_front: ( offset: (-1.5, -2.5, -2.0), - lateral: ("npc.porcupine.male.foot_fl"), + lateral: ("npc.porcupine.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.5, -2.0), @@ -838,7 +838,7 @@ ), left_back: ( offset: (-2.0, -3.0, -3.0), - lateral: ("npc.porcupine.male.foot_bl"), + lateral: ("npc.porcupine.male.foot_br"), ), right_back: ( offset: (-2.0, -3.0, -3.0), @@ -848,7 +848,7 @@ (Beaver, Male): ( left_front: ( offset: (-1.5, -2.0, -2.0), - lateral: ("npc.beaver.male.foot_fl"), + lateral: ("npc.beaver.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.5, -2.0), @@ -856,7 +856,7 @@ ), left_back: ( offset: (-2.0, -2.5, -3.0), - lateral: ("npc.beaver.male.foot_bl"), + lateral: ("npc.beaver.male.foot_br"), ), right_back: ( offset: (-2.0, -2.5, -3.0), @@ -866,7 +866,7 @@ (Beaver, Female): ( left_front: ( offset: (-1.5, -2.0, -2.0), - lateral: ("npc.beaver.male.foot_fl"), + lateral: ("npc.beaver.male.foot_fr"), ), right_front: ( offset: (-1.5, -2.5, -2.0), @@ -874,7 +874,7 @@ ), left_back: ( offset: (-2.0, -2.5, -3.0), - lateral: ("npc.beaver.male.foot_bl"), + lateral: ("npc.beaver.male.foot_br"), ), right_back: ( offset: (-2.0, -2.5, -3.0), @@ -884,7 +884,7 @@ (Hare, Male): ( left_front: ( offset: (-0.5, -0.0, -2.0), - lateral: ("npc.hare.male.foot_fl"), + lateral: ("npc.hare.male.foot_fr"), ), right_front: ( offset: (-0.5, -0.0, -2.0), @@ -892,7 +892,7 @@ ), left_back: ( offset: (-1.0, -4.0, -5.0), - lateral: ("npc.hare.male.foot_bl"), + lateral: ("npc.hare.male.foot_br"), ), right_back: ( offset: (-1.0, -4.0, -5.0), @@ -902,7 +902,7 @@ (Hare, Female): ( left_front: ( offset: (-1.0, -0.0, -2.0), - lateral: ("npc.hare.female.foot_fl"), + lateral: ("npc.hare.female.foot_fr"), ), right_front: ( offset: (-1.0, -0.0, -2.0), @@ -910,7 +910,7 @@ ), left_back: ( offset: (-1.0, -2.5, -4.0), - lateral: ("npc.hare.female.foot_bl"), + lateral: ("npc.hare.female.foot_br"), ), right_back: ( offset: (-1.0, -2.5, -4.0), @@ -920,7 +920,7 @@ (Dog, Male): ( left_front: ( offset: (-1.0, -1.5, -6.0), - lateral: ("npc.dog.male.foot_fl"), + lateral: ("npc.dog.male.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -6.0), @@ -928,7 +928,7 @@ ), left_back: ( offset: (-1.5, -2.0, -6.0), - lateral: ("npc.dog.male.foot_bl"), + lateral: ("npc.dog.male.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -6.0), @@ -938,7 +938,7 @@ (Dog, Female): ( left_front: ( offset: (-1.0, -1.5, -6.0), - lateral: ("npc.dog.female.foot_fl"), + lateral: ("npc.dog.female.foot_fr"), ), right_front: ( offset: (-1.0, -1.5, -6.0), @@ -946,7 +946,7 @@ ), left_back: ( offset: (-1.5, -2.0, -6.0), - lateral: ("npc.dog.female.foot_bl"), + lateral: ("npc.dog.female.foot_br"), ), right_back: ( offset: (-1.5, -2.0, -6.0), diff --git a/assets/voxygen/voxel/theropod_lateral_manifest.ron b/assets/voxygen/voxel/theropod_lateral_manifest.ron index 9a0d0a8e26..e7d859dc0b 100644 --- a/assets/voxygen/voxel/theropod_lateral_manifest.ron +++ b/assets/voxygen/voxel/theropod_lateral_manifest.ron @@ -2,7 +2,7 @@ (Archaeos, Male): ( hand_l: ( offset: (-4.0, -2.0, -9.0), - lateral: ("npc.archaeos.male.hand_l"), + lateral: ("npc.archaeos.male.hand_r"), ), hand_r: ( offset: (0.0, -2.0, -9.0), @@ -10,7 +10,7 @@ ), leg_l: ( offset: (-6.0, -4.5, -8.0), - lateral: ("npc.archaeos.male.leg_l"), + lateral: ("npc.archaeos.male.leg_r"), ), leg_r: ( offset: (0.0, -4.5, -8.0), @@ -18,7 +18,7 @@ ), foot_l: ( offset: (-11.0, -1.0, -8.0), - lateral: ("npc.archaeos.male.foot_l"), + lateral: ("npc.archaeos.male.foot_r"), ), foot_r: ( offset: (0.0, -1.0, -8.0), @@ -28,7 +28,7 @@ (Archaeos, Female): ( hand_l: ( offset: (-4.0, -2.0, -9.0), - lateral: ("npc.archaeos.male.hand_l"), + lateral: ("npc.archaeos.male.hand_r"), ), hand_r: ( offset: (0.0, -2.0, -9.0), @@ -36,7 +36,7 @@ ), leg_l: ( offset: (-6.0, -4.5, -8.0), - lateral: ("npc.archaeos.male.leg_l"), + lateral: ("npc.archaeos.male.leg_r"), ), leg_r: ( offset: (0.0, -4.5, -8.0), @@ -44,7 +44,7 @@ ), foot_l: ( offset: (-11.0, -1.0, -8.0), - lateral: ("npc.archaeos.male.foot_l"), + lateral: ("npc.archaeos.male.foot_r"), ), foot_r: ( offset: (0.0, -1.0, -8.0), @@ -54,7 +54,7 @@ (Odonto, Male): ( hand_l: ( offset: (-3.0, -3.0, -7.0), - lateral: ("npc.odonto.male.hand_l"), + lateral: ("npc.odonto.male.hand_r"), ), hand_r: ( offset: (0.0, -3.0, -7.0), @@ -62,7 +62,7 @@ ), leg_l: ( offset: (-7.0, -4.5, -4.0), - lateral: ("npc.odonto.male.leg_l"), + lateral: ("npc.odonto.male.leg_r"), ), leg_r: ( offset: (0.0, -4.5, -4.0), @@ -70,7 +70,7 @@ ), foot_l: ( offset: (-8.0, -1.0, -8.0), - lateral: ("npc.odonto.male.foot_l"), + lateral: ("npc.odonto.male.foot_r"), ), foot_r: ( offset: (-6.0, -1.0, -8.0), @@ -80,7 +80,7 @@ (Odonto, Female): ( hand_l: ( offset: (-3.0, -3.0, -7.0), - lateral: ("npc.odonto.male.hand_l"), + lateral: ("npc.odonto.male.hand_r"), ), hand_r: ( offset: (0.0, -3.0, -7.0), @@ -88,7 +88,7 @@ ), leg_l: ( offset: (-7.0, -4.5, -4.0), - lateral: ("npc.odonto.male.leg_l"), + lateral: ("npc.odonto.male.leg_r"), ), leg_r: ( offset: (0.0, -4.5, -4.0), @@ -96,7 +96,7 @@ ), foot_l: ( offset: (-8.0, -1.0, -8.0), - lateral: ("npc.odonto.male.foot_l"), + lateral: ("npc.odonto.male.foot_r"), ), foot_r: ( offset: (-6.0, -1.0, -8.0), @@ -106,7 +106,7 @@ (Sandraptor, Male): ( hand_l: ( offset: (-15.0, -9.0, -8.0), - lateral: ("npc.raptor_sand.male.hand_l"), + lateral: ("npc.raptor_sand.male.hand_r"), ), hand_r: ( offset: (0.0, -9.0, -8.0), @@ -114,7 +114,7 @@ ), leg_l: ( offset: (-5.0, -3.5, -3.5), - lateral: ("npc.raptor_sand.male.leg_l"), + lateral: ("npc.raptor_sand.male.leg_r"), ), leg_r: ( offset: (0.0, -3.5, -3.5), @@ -122,7 +122,7 @@ ), foot_l: ( offset: (-2.5, -4.5, -10.0), - lateral: ("npc.raptor_sand.male.foot_l"), + lateral: ("npc.raptor_sand.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.5, -10.0), @@ -132,7 +132,7 @@ (Sandraptor, Female): ( hand_l: ( offset: (-15.0, -9.0, -8.0), - lateral: ("npc.raptor_sand.male.hand_l"), + lateral: ("npc.raptor_sand.male.hand_r"), ), hand_r: ( offset: (0.0, -9.0, -8.0), @@ -140,7 +140,7 @@ ), leg_l: ( offset: (-5.0, -3.5, -3.5), - lateral: ("npc.raptor_sand.male.leg_l"), + lateral: ("npc.raptor_sand.male.leg_r"), ), leg_r: ( offset: (0.0, -3.5, -3.5), @@ -148,7 +148,7 @@ ), foot_l: ( offset: (-2.5, -4.5, -10.0), - lateral: ("npc.raptor_sand.male.foot_l"), + lateral: ("npc.raptor_sand.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.5, -10.0), @@ -158,7 +158,7 @@ (Snowraptor, Male): ( hand_l: ( offset: (-15.0, -9.0, -8.0), - lateral: ("npc.raptor_snow.male.hand_l"), + lateral: ("npc.raptor_snow.male.hand_r"), ), hand_r: ( offset: (0.0, -9.0, -8.0), @@ -166,7 +166,7 @@ ), leg_l: ( offset: (-5.0, -3.5, -3.5), - lateral: ("npc.raptor_snow.male.leg_l"), + lateral: ("npc.raptor_snow.male.leg_r"), ), leg_r: ( offset: (0.0, -3.5, -3.5), @@ -174,7 +174,7 @@ ), foot_l: ( offset: (-2.5, -4.5, -10.0), - lateral: ("npc.raptor_snow.male.foot_l"), + lateral: ("npc.raptor_snow.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.5, -10.0), @@ -184,7 +184,7 @@ (Snowraptor, Female): ( hand_l: ( offset: (-15.0, -9.0, -8.0), - lateral: ("npc.raptor_snow.male.hand_l"), + lateral: ("npc.raptor_snow.male.hand_r"), ), hand_r: ( offset: (0.0, -9.0, -8.0), @@ -192,7 +192,7 @@ ), leg_l: ( offset: (-5.0, -3.5, -3.5), - lateral: ("npc.raptor_snow.male.leg_l"), + lateral: ("npc.raptor_snow.male.leg_r"), ), leg_r: ( offset: (0.0, -3.5, -3.5), @@ -200,7 +200,7 @@ ), foot_l: ( offset: (-2.5, -4.5, -10.0), - lateral: ("npc.raptor_snow.male.foot_l"), + lateral: ("npc.raptor_snow.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.5, -10.0), @@ -210,7 +210,7 @@ (Woodraptor, Male): ( hand_l: ( offset: (-15.0, -9.0, -8.0), - lateral: ("npc.raptor_wood.male.hand_l"), + lateral: ("npc.raptor_wood.male.hand_r"), ), hand_r: ( offset: (0.0, -9.0, -8.0), @@ -218,7 +218,7 @@ ), leg_l: ( offset: (-2.5, -3.5, -3.5), - lateral: ("npc.raptor_wood.male.leg_l"), + lateral: ("npc.raptor_wood.male.leg_r"), ), leg_r: ( offset: (0.0, -3.5, -3.5), @@ -226,7 +226,7 @@ ), foot_l: ( offset: (-2.5, -4.5, -10.0), - lateral: ("npc.raptor_wood.male.foot_l"), + lateral: ("npc.raptor_wood.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.5, -10.0), @@ -236,7 +236,7 @@ (Woodraptor, Female): ( hand_l: ( offset: (-15.0, -9.0, -8.0), - lateral: ("npc.raptor_wood.male.hand_l"), + lateral: ("npc.raptor_wood.male.hand_r"), ), hand_r: ( offset: (0.0, -9.0, -8.0), @@ -244,7 +244,7 @@ ), leg_l: ( offset: (-2.5, -3.5, -3.5), - lateral: ("npc.raptor_wood.male.leg_l"), + lateral: ("npc.raptor_wood.male.leg_r"), ), leg_r: ( offset: (0.0, -3.5, -3.5), @@ -252,7 +252,7 @@ ), foot_l: ( offset: (-2.5, -4.5, -10.0), - lateral: ("npc.raptor_wood.male.foot_l"), + lateral: ("npc.raptor_wood.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.5, -10.0), @@ -262,7 +262,7 @@ (Sunlizard, Male): ( hand_l: ( offset: (-4.0, -1.5, -7.0), - lateral: ("npc.sunlizard.male.hand_l"), + lateral: ("npc.sunlizard.male.hand_r"), ), hand_r: ( offset: (0.0, -1.5, -7.0), @@ -270,7 +270,7 @@ ), leg_l: ( offset: (-1.5, -2.5, -3.5), - lateral: ("npc.sunlizard.male.leg_l"), + lateral: ("npc.sunlizard.male.leg_r"), ), leg_r: ( offset: (0.0, -2.5, -3.5), @@ -278,7 +278,7 @@ ), foot_l: ( offset: (-2.5, -4.0, -9.0), - lateral: ("npc.sunlizard.male.foot_l"), + lateral: ("npc.sunlizard.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.0, -9.0), @@ -288,7 +288,7 @@ (Sunlizard, Female): ( hand_l: ( offset: (-4.0, -1.5, -7.0), - lateral: ("npc.sunlizard.male.hand_l"), + lateral: ("npc.sunlizard.male.hand_r"), ), hand_r: ( offset: (0.0, -1.5, -7.0), @@ -296,7 +296,7 @@ ), leg_l: ( offset: (-1.5, -2.5, -3.5), - lateral: ("npc.sunlizard.male.leg_l"), + lateral: ("npc.sunlizard.male.leg_r"), ), leg_r: ( offset: (0.0, -2.5, -3.5), @@ -304,7 +304,7 @@ ), foot_l: ( offset: (-2.5, -4.0, -9.0), - lateral: ("npc.sunlizard.male.foot_l"), + lateral: ("npc.sunlizard.male.foot_r"), ), foot_r: ( offset: (-2.5, -4.0, -9.0), diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 5f688399ff..9ac6e2baca 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -508,7 +508,12 @@ impl Body { } } - pub fn can_strafe(&self) -> bool { matches!(self, Body::Humanoid(_)) } + pub fn can_strafe(&self) -> bool { + matches!( + self, + Body::Humanoid(_) | Body::BipedSmall(_) | Body::BipedLarge(_) + ) + } } impl Component for Body { diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index 4dce7a4a0e..de2484185a 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -18,6 +18,10 @@ pub enum ToolKind { Sword, Axe, Hammer, + HammerSimple, + SwordSimple, + StaffSimple, + BowSimple, Bow, Dagger, Staff, diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index 0b5de96f61..4d853ca1ff 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -238,7 +238,7 @@ impl LoadoutBuilder { }, (biped_large::Species::Minotaur, _) => { main_tool = Some(Item::new_from_asset_expect( - "common.items.npc_weapons.sword.saurok_sword", + "common.items.npc_weapons.hammer.cyclops_hammer", )); }, }, @@ -370,22 +370,22 @@ impl LoadoutBuilder { Guard => LoadoutBuilder::new() .active_item(active_item) .shoulder(Some(Item::new_from_asset_expect( - "common.items.armor.shoulder.steel_0", + "common.items.armor.shoulder.plate_leather_0", ))) .chest(Some(Item::new_from_asset_expect( - "common.items.armor.chest.steel_0", + "common.items.armor.chest.plate_leather_0", ))) .belt(Some(Item::new_from_asset_expect( - "common.items.armor.belt.steel_0", + "common.items.armor.belt.plate_leather_0", ))) .hands(Some(Item::new_from_asset_expect( - "common.items.armor.hand.steel_0", + "common.items.armor.hand.plate_leather_0", ))) .pants(Some(Item::new_from_asset_expect( - "common.items.armor.pants.steel_0", + "common.items.armor.pants.plate_leather_0", ))) .feet(Some(Item::new_from_asset_expect( - "common.items.armor.foot.steel_0", + "common.items.armor.foot.plate_leather_0", ))) .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), diff --git a/server/src/persistence/json_models.rs b/server/src/persistence/json_models.rs index a067901148..5088bf79db 100644 --- a/server/src/persistence/json_models.rs +++ b/server/src/persistence/json_models.rs @@ -142,6 +142,10 @@ pub fn skill_to_db_string(skill: comp::skills::Skill) -> String { UnlockGroup(SkillGroupKind::Weapon(ToolKind::Dagger)) | UnlockGroup(SkillGroupKind::Weapon(ToolKind::Shield)) | UnlockGroup(SkillGroupKind::Weapon(ToolKind::Spear)) + | UnlockGroup(SkillGroupKind::Weapon(ToolKind::HammerSimple)) + | UnlockGroup(SkillGroupKind::Weapon(ToolKind::StaffSimple)) + | UnlockGroup(SkillGroupKind::Weapon(ToolKind::BowSimple)) + | UnlockGroup(SkillGroupKind::Weapon(ToolKind::SwordSimple)) | UnlockGroup(SkillGroupKind::Weapon(ToolKind::Debug)) | UnlockGroup(SkillGroupKind::Weapon(ToolKind::Farming)) | UnlockGroup(SkillGroupKind::Weapon(ToolKind::Empty)) @@ -278,6 +282,10 @@ pub fn skill_group_to_db_string(skill_group: comp::skills::SkillGroupKind) -> St Weapon(ToolKind::Dagger) | Weapon(ToolKind::Shield) | Weapon(ToolKind::Spear) + | Weapon(ToolKind::HammerSimple) + | Weapon(ToolKind::StaffSimple) + | Weapon(ToolKind::BowSimple) + | Weapon(ToolKind::SwordSimple) | Weapon(ToolKind::Debug) | Weapon(ToolKind::Farming) | Weapon(ToolKind::Empty) diff --git a/voxygen/anim/src/biped_large/alpha.rs b/voxygen/anim/src/biped_large/alpha.rs index b05f7bcba0..2e749fcd06 100644 --- a/voxygen/anim/src/biped_large/alpha.rs +++ b/voxygen/anim/src/biped_large/alpha.rs @@ -11,9 +11,10 @@ impl Animation for AlphaAnimation { type Dependency = ( Option, Option, - f32, + Vec3, f64, Option, + f32, ); type Skeleton = BipedLargeSkeleton; @@ -24,117 +25,115 @@ impl Animation for AlphaAnimation { #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner( skeleton: &Self::Skeleton, - (active_tool_kind, _second_tool_kind, velocity, _global_time, stage_section): Self::Dependency, + (active_tool_kind, _second_tool_kind, velocity, _global_time, stage_section, acc_vel): Self::Dependency, anim_time: f64, rate: &mut f32, s_a: &SkeletonAttr, ) -> Self::Skeleton { *rate = 1.0; let mut next = (*skeleton).clone(); + let speed = Vec2::::from(velocity).magnitude(); - let lab = 1.0; + let lab = 0.65 * s_a.tempo; + let speednorm = (speed / 12.0).powf(0.4); + let foothoril = (acc_vel * lab as f32 + PI * 1.45).sin() * speednorm; + let foothorir = (acc_vel * lab as f32 + PI * (0.45)).sin() * speednorm; + let footrotl = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 1.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 1.4).sin()); - let (movement1, movement2, movement3) = match stage_section { + let footrotr = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 0.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 0.4).sin()); + let (movement1base, movement2base, movement3) = match stage_section { Some(StageSection::Buildup) => ((anim_time as f32).powf(0.25), 0.0, 0.0), Some(StageSection::Swing) => (1.0, anim_time as f32, 0.0), Some(StageSection::Recover) => (1.0, 1.0, (anim_time as f32).powi(4)), _ => (0.0, 0.0, 0.0), }; + let pullback = 1.0 - movement3; + let movement1 = movement1base * pullback; + let movement2 = movement2base * pullback; - let foot = (((1.0) - / (0.2 + 0.8 * ((anim_time as f32 * lab as f32 * 2.0 * velocity).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * lab as f32 * 2.0 * velocity).sin()); - let slowersmooth = (anim_time as f32 * lab as f32 * 4.0).sin(); - let slower = (((1.0) - / (0.0001 + 0.999 * ((anim_time as f32 * lab as f32 * 4.0).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * lab as f32 * 4.0).sin()); + next.shoulder_l.position = Vec3::new( + -s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothorir * 1.0, + ); + next.shoulder_l.orientation = Quaternion::rotation_x( + movement1 * 0.8 + 0.6 * speednorm + (footrotr * -0.2) * speednorm, + ); - next.torso.position = Vec3::new(0.0, 0.0, 0.1); + next.shoulder_r.position = Vec3::new( + s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothoril * 1.0, + ); + next.shoulder_r.orientation = Quaternion::rotation_x( + movement1 * 0.8 + 0.6 * speednorm + (footrotl * -0.2) * speednorm, + ); next.torso.orientation = Quaternion::rotation_z(0.0); - match active_tool_kind { - Some(ToolKind::Sword) => { - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_x(0.0); - next.hand_l.position = Vec3::new(s_a.shl.0, s_a.shl.1, s_a.shl.2); - next.hand_l.orientation = - Quaternion::rotation_x(s_a.shl.3) * Quaternion::rotation_y(s_a.shl.4); - next.hand_r.position = Vec3::new(s_a.shr.0, s_a.shr.1, s_a.shr.2); - next.hand_r.orientation = - Quaternion::rotation_x(s_a.shr.3) * Quaternion::rotation_y(s_a.shr.4); + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0); + + next.hand_l.position = Vec3::new(0.0, 0.0, s_a.grip); + next.hand_r.position = Vec3::new(0.0, 0.0, s_a.grip); + + next.hand_l.orientation = Quaternion::rotation_x(0.0); + next.hand_r.orientation = Quaternion::rotation_x(0.0); + + match active_tool_kind { + Some(ToolKind::SwordSimple) => { + next.control_l.position = Vec3::new(-1.0, 1.0, 1.0); + next.control_r.position = Vec3::new(0.0, 2.0, -3.0); + next.head.orientation = Quaternion::rotation_x(movement1 * -0.25) + * Quaternion::rotation_z(movement1 * -0.2 + movement2 * 0.6); + next.control.position = Vec3::new( + -3.0 + movement1 * -4.0 + movement2 * 5.0, + 5.0 + s_a.grip / 1.2 + movement1 * -4.0 + movement2 * 8.0, + -4.0 + -s_a.grip / 2.0 + movement2 * -5.0, + ); + next.upper_torso.orientation = + Quaternion::rotation_z(movement1base * 0.5 + movement2 * -0.7); + next.lower_torso.orientation = + Quaternion::rotation_z(movement1base * -0.5 + movement2 * 0.7); + next.control_l.orientation = + Quaternion::rotation_x(PI / 2.0 + movement1 * -0.5 + movement2 * 1.5) + * Quaternion::rotation_y(-0.2); + next.control_r.orientation = + Quaternion::rotation_x(PI / 2.2 + movement1 * -0.5 + movement2 * 1.5) + * Quaternion::rotation_y(0.2) + * Quaternion::rotation_z(0.0); + + next.control.orientation = + Quaternion::rotation_x(-0.2 + movement1 * 0.5 + movement2 * -1.5) + * Quaternion::rotation_y(-0.1 + movement1 * -0.5 + movement2 * 1.0); + }, + Some(ToolKind::HammerSimple) => { + next.control_l.position = Vec3::new(-1.0, 2.0, 12.0 + movement2 * -10.0); + next.control_r.position = Vec3::new(1.0, 2.0, -2.0); next.control.position = Vec3::new( - s_a.sc.0, - s_a.sc.1 + movement1 * -4.0 + movement2 * 16.0 + movement3 * -4.0, - s_a.sc.2 + movement1 * 1.0, + 4.0 + movement1 * -12.0 + movement2 * 20.0, + (s_a.grip / 1.0) + movement1 * -3.0 + movement2 * 5.0, + (-s_a.grip / 0.8) + movement1 * -2.0 + movement2 * 8.0, ); - next.control.orientation = Quaternion::rotation_x(s_a.sc.3 + movement1 * -0.5) - * Quaternion::rotation_y( - s_a.sc.4 + movement1 * -1.0 + movement2 * -0.6 + movement3 * 1.0, - ) - * Quaternion::rotation_z(s_a.sc.5 + movement1 * -1.2 + movement2 * 1.3); - - next.upper_torso.orientation = Quaternion::rotation_z( - movement1 * 1.5 + (movement2 * 1.75).sin() * -3.0 + movement3 * 0.5, - ); - - next.head.position = Vec3::new(0.0 + movement2 * 2.0, s_a.head.0, s_a.head.1); - next.head.orientation = Quaternion::rotation_z( - movement1 * -0.9 + (movement2 * 1.75).sin() * 2.5 + movement3 * -0.5, - ); - }, - Some(ToolKind::Hammer) => { - next.hand_l.position = Vec3::new(-12.0, 0.0, 10.0); - next.hand_l.orientation = - Quaternion::rotation_x(0.0) * Quaternion::rotation_z(-2.0); - next.hand_r.position = Vec3::new(3.0, 0.0, 10.0); - next.hand_r.orientation = - Quaternion::rotation_x(0.0) * Quaternion::rotation_z(-2.0); - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = - Quaternion::rotation_y(-1.57) * Quaternion::rotation_z(-1.87); - - next.head.orientation = Quaternion::rotation_z(slower * 0.03) - * Quaternion::rotation_x(slowersmooth * 0.1) - * Quaternion::rotation_y(slower * 0.05 + slowersmooth * 0.06) - * Quaternion::rotation_z((slowersmooth * -0.4).max(0.0)); - next.upper_torso.position = Vec3::new(0.0, s_a.upper_torso.0, s_a.upper_torso.1); + next.head.orientation = Quaternion::rotation_x(movement1 * -0.25) + * Quaternion::rotation_z(movement1 * -0.2 + movement2 * 0.6); next.upper_torso.orientation = - Quaternion::rotation_z(slower * 0.18 + slowersmooth * 0.15) - * Quaternion::rotation_x(0.0 + slower * 0.18 + slowersmooth * 0.15) - * Quaternion::rotation_y(slower * 0.18 + slowersmooth * 0.15); + Quaternion::rotation_z(movement1 * 0.2 + movement2 * -0.4); + next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + movement2 * 0.8) + * Quaternion::rotation_y(-0.0); + next.control_r.orientation = + Quaternion::rotation_x(PI / 2.0 + 0.2 + movement2 * 0.8) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); - next.lower_torso.orientation = - Quaternion::rotation_z(slower * -0.1 + slowersmooth * -0.075) - * Quaternion::rotation_x(0.0 + slower * -0.1) - * Quaternion::rotation_y(slower * -0.1); - - if velocity > 0.5 { - next.foot_l.position = Vec3::new(-s_a.foot.0, foot * -6.0, s_a.foot.2); - next.foot_l.orientation = Quaternion::rotation_x(foot * -0.4) - * Quaternion::rotation_z((slower * 0.3).max(0.0)); - - next.foot_r.position = Vec3::new(s_a.foot.0, foot * 6.0, s_a.foot.2); - next.foot_r.orientation = Quaternion::rotation_x(foot * 0.4) - * Quaternion::rotation_z((slower * 0.3).max(0.0)); - next.torso.orientation = Quaternion::rotation_x(-0.15); - } else { - next.foot_l.position = - Vec3::new(-s_a.foot.0, -2.5, s_a.foot.2 + (slower * 2.5).max(0.0)); - next.foot_l.orientation = Quaternion::rotation_x(slower * -0.2 - 0.2) - * Quaternion::rotation_z((slower * 1.0).max(0.0)); - - next.foot_r.position = Vec3::new(s_a.foot.0, 3.5 - slower * 2.0, s_a.foot.2); - next.foot_r.orientation = Quaternion::rotation_x(slower * 0.1) - * Quaternion::rotation_z((slower * 0.5).max(0.0)); - } - - next.control.position = Vec3::new(-8.0, 7.0, 1.0); - next.control.orientation = Quaternion::rotation_x(-1.5 + slower * 1.5) - * Quaternion::rotation_y(slowersmooth * 0.35 - 0.3) - * Quaternion::rotation_z(1.4 + slowersmooth * 0.2); + next.control.orientation = + Quaternion::rotation_x(-1.0 + movement1 * -0.5 + movement2 * -0.3) + * Quaternion::rotation_y(-1.8 + movement1 * -0.8 + movement2 * 3.0) + * Quaternion::rotation_z(movement1 * -0.8 + movement2 * -0.8); }, Some(ToolKind::Debug) => { next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0); diff --git a/voxygen/anim/src/biped_large/idle.rs b/voxygen/anim/src/biped_large/idle.rs index b8421f944c..459f0628db 100644 --- a/voxygen/anim/src/biped_large/idle.rs +++ b/voxygen/anim/src/biped_large/idle.rs @@ -65,7 +65,7 @@ impl Animation for IdleAnimation { next.hand_r.scale = Vec3::one() * 1.04; next.lower_torso.scale = Vec3::one() * 1.02; next.hold.scale = Vec3::one() * 0.0; - next.torso.scale = Vec3::one() / 8.0; + next.torso.scale = Vec3::one() / 8.0 * s_a.scaler; next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1 + torso * 0.2); next.head.orientation = @@ -103,7 +103,7 @@ impl Animation for IdleAnimation { next.main.position = Vec3::new(-10.0, -8.0, 12.0); next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); }, - Some(ToolKind::Hammer) => { + Some(ToolKind::HammerSimple) => { next.main.position = Vec3::new(-10.0, -8.0, 12.0); next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); }, @@ -131,7 +131,7 @@ impl Animation for IdleAnimation { next.foot_r.position = Vec3::new(s_a.foot.0, s_a.foot.1, s_a.foot.2); - next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; + next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0 * s_a.scaler; if s_a.float { next.upper_torso.position = Vec3::new( diff --git a/voxygen/anim/src/biped_large/jump.rs b/voxygen/anim/src/biped_large/jump.rs index e2aa7bf7e1..6c97b5a660 100644 --- a/voxygen/anim/src/biped_large/jump.rs +++ b/voxygen/anim/src/biped_large/jump.rs @@ -109,9 +109,9 @@ impl Animation for JumpAnimation { next.foot_r.position = Vec3::new(s_a.foot.0, 5.0 + s_a.foot.1, s_a.foot.2); next.foot_r.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.4); - next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; + next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0 * s_a.scaler; next.torso.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); - next.torso.scale = Vec3::one() / 8.0; + next.torso.scale = Vec3::one() / 8.0 * s_a.scaler; next } diff --git a/voxygen/anim/src/biped_large/mod.rs b/voxygen/anim/src/biped_large/mod.rs index eb65fc0d8a..c1341c3d38 100644 --- a/voxygen/anim/src/biped_large/mod.rs +++ b/voxygen/anim/src/biped_large/mod.rs @@ -48,6 +48,8 @@ skeleton_impls!(struct BipedLargeSkeleton { + hold, torso, control, + control_l, + control_r, leg_control_l, leg_control_r, arm_control_l, @@ -72,7 +74,8 @@ impl Skeleton for BipedLargeSkeleton { let torso_mat = base_mat * Mat4::::from(self.torso); let upper_torso_mat = torso_mat * upper_torso; - + let control_l_mat = Mat4::::from(self.control_l); + let control_r_mat = Mat4::::from(self.control_r); let lower_torso_mat = upper_torso_mat * Mat4::::from(self.lower_torso); let leg_l = Mat4::::from(self.leg_l); @@ -86,6 +89,7 @@ impl Skeleton for BipedLargeSkeleton { let head_mat = upper_torso_mat * Mat4::::from(self.head); let control_mat = Mat4::::from(self.control); + let hand_l_mat = Mat4::::from(self.hand_l); *(<&mut [_; Self::BONE_COUNT]>::try_from(&mut buf[0..Self::BONE_COUNT]).unwrap()) = [ @@ -98,8 +102,8 @@ impl Skeleton for BipedLargeSkeleton { make_bone(upper_torso_mat * control_mat * Mat4::::from(self.second)), make_bone(arm_control_l * Mat4::::from(self.shoulder_l)), make_bone(arm_control_r * Mat4::::from(self.shoulder_r)), - make_bone(arm_control_l * control_mat * Mat4::::from(self.hand_l)), - make_bone(arm_control_r * control_mat * Mat4::::from(self.hand_r)), + make_bone(arm_control_l * control_mat * control_l_mat * Mat4::::from(self.hand_l)), + make_bone(arm_control_r * control_mat * control_r_mat * Mat4::::from(self.hand_r)), make_bone(leg_control_l * leg_l), make_bone(leg_control_r * leg_r), make_bone(leg_control_l * Mat4::::from(self.foot_l)), @@ -121,6 +125,9 @@ pub struct SkeletonAttr { hand: (f32, f32, f32), leg: (f32, f32, f32), foot: (f32, f32, f32), + scaler: f32, + tempo: f32, + grip: f32, shl: (f32, f32, f32, f32, f32, f32), shr: (f32, f32, f32, f32, f32, f32), sc: (f32, f32, f32, f32, f32, f32), @@ -160,6 +167,9 @@ impl Default for SkeletonAttr { hand: (0.0, 0.0, 0.0), leg: (0.0, 0.0, 0.0), foot: (0.0, 0.0, 0.0), + scaler: 0.0, + tempo: 0.0, + grip: 0.0, shl: (0.0, 0.0, 0.0, 0.0, 0.0, 0.0), shr: (0.0, 0.0, 0.0, 0.0, 0.0, 0.0), sc: (0.0, 0.0, 0.0, 0.0, 0.0, 0.0), @@ -217,11 +227,11 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Troll, _) => (-1.0, 26.5), (Dullahan, _) => (0.0, 29.0), (Werewolf, _) => (3.0, 26.0), - (Occultsaurok, _) => (3.0, 23.0), - (Mightysaurok, _) => (3.0, 23.0), - (Slysaurok, _) => (3.0, 23.0), + (Occultsaurok, _) => (3.0, 24.0), + (Mightysaurok, _) => (3.0, 24.0), + (Slysaurok, _) => (3.0, 24.0), (Mindflayer, _) => (0.0, 30.5), - (Minotaur, _) => (-1.0, 27.5), + (Minotaur, _) => (-1.0, 31.5), }, lower_torso: match (body.species, body.body_type) { (Ogre, Male) => (1.0, -7.0), @@ -232,7 +242,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Dullahan, _) => (0.0, -6.5), (Werewolf, _) => (1.0, -10.0), (Occultsaurok, _) => (0.0, -6.0), - (Mightysaurok, _) => (0.0, -6.0), + (Mightysaurok, _) => (0.0, -5.0), (Slysaurok, _) => (0.0, -6.0), (Mindflayer, _) => (3.5, -19.5), (Minotaur, _) => (1.5, -8.5), @@ -246,25 +256,25 @@ impl<'a> From<&'a Body> for SkeletonAttr { _ => (0.0, 0.0), }, shoulder: match (body.species, body.body_type) { - (Ogre, Male) => (12.0, 0.5, 0.0), - (Ogre, Female) => (8.0, 0.5, -1.0), - (Cyclops, _) => (9.5, 2.5, 2.5), - (Wendigo, _) => (9.0, 0.5, -0.5), - (Troll, _) => (11.0, 0.5, -1.5), - (Dullahan, _) => (14.0, 0.5, 4.5), + (Ogre, Male) => (12.0, 0.5, 3.0), + (Ogre, Female) => (8.0, 0.5, 2.0), + (Cyclops, _) => (9.5, 2.5, 4.5), + (Wendigo, _) => (9.0, 0.5, 2.5), + (Troll, _) => (11.0, 0.5, 4.5), + (Dullahan, _) => (14.0, 0.5, 3.5), (Werewolf, _) => (9.0, 4.0, -3.0), - (Occultsaurok, _) => (7.5, 1.0, -1.5), - (Mightysaurok, _) => (7.5, 1.0, -1.5), - (Slysaurok, _) => (7.5, 1.0, -1.5), + (Occultsaurok, _) => (7.5, 1.0, 1.5), + (Mightysaurok, _) => (7.5, 1.0, 1.5), + (Slysaurok, _) => (7.5, 1.0, 1.5), (Mindflayer, _) => (8.0, 0.5, -1.0), - (Minotaur, _) => (10.0, 1.0, -4.0), + (Minotaur, _) => (10.0, 1.0, -1.0), }, hand: match (body.species, body.body_type) { - (Ogre, Male) => (14.5, 0.0, -2.0), + (Ogre, Male) => (14.5, 0.0, -4.0), (Ogre, Female) => (9.0, 0.5, -4.5), (Cyclops, _) => (10.0, 2.0, -0.5), - (Wendigo, _) => (12.0, 0.0, -0.5), - (Troll, _) => (11.5, 0.0, -1.5), + (Wendigo, _) => (12.0, 0.0, -3.5), + (Troll, _) => (11.5, 0.0, -5.5), (Dullahan, _) => (14.5, 0.0, -2.5), (Werewolf, _) => (10.0, 2.5, -11.0), (Occultsaurok, _) => (8.0, 1.5, -5.5), @@ -276,30 +286,72 @@ impl<'a> From<&'a Body> for SkeletonAttr { leg: match (body.species, body.body_type) { (Ogre, Male) => (0.0, 0.0, -4.0), (Ogre, Female) => (0.0, 0.0, -2.0), - (Cyclops, _) => (0.0, 0.0, -5.0), + (Cyclops, _) => (0.0, -1.0, -5.0), (Wendigo, _) => (2.0, 2.0, -2.5), (Troll, _) => (5.0, 0.0, -6.0), (Dullahan, _) => (0.0, 0.0, -5.0), (Werewolf, _) => (4.5, 1.0, -5.0), - (Occultsaurok, _) => (3.0, 0.5, -6.0), - (Mightysaurok, _) => (3.0, 0.5, -6.0), - (Slysaurok, _) => (3.0, 0.5, -6.0), + (Occultsaurok, _) => (3.0, 0.5, -4.0), + (Mightysaurok, _) => (3.0, 0.5, -4.0), + (Slysaurok, _) => (3.0, 0.5, -4.0), (Mindflayer, _) => (6.0, -2.0, 6.5), - (Minotaur, _) => (5.0, 0.0, -6.0), + (Minotaur, _) => (5.0, 0.0, -10.0), }, foot: match (body.species, body.body_type) { (Ogre, Male) => (4.0, 1.0, -12.0), (Ogre, Female) => (4.0, 0.5, -13.5), - (Cyclops, _) => (4.0, 0.5, -17.0), + (Cyclops, _) => (4.0, 1.5, -17.0), (Wendigo, _) => (5.0, 2.5, -17.0), (Troll, _) => (6.0, 1.5, -13.0), (Dullahan, _) => (4.0, 2.5, -14.0), (Werewolf, _) => (5.5, 3.0, -6.5), - (Occultsaurok, _) => (3.5, 2.0, -12.0), - (Mightysaurok, _) => (3.5, 2.0, -12.0), - (Slysaurok, _) => (3.5, 2.0, -12.0), + (Occultsaurok, _) => (3.5, 3.5, -10.0), + (Mightysaurok, _) => (3.5, 3.5, -10.0), + (Slysaurok, _) => (3.5, 3.5, -10.0), (Mindflayer, _) => (4.5, 1.5, -7.0), - (Minotaur, _) => (6.0, 4.5, -13.5), + (Minotaur, _) => (6.0, 4.5, -17.5), + }, + scaler: match (body.species, body.body_type) { + (Ogre, Male) => 1.4, + (Ogre, Female) => 1.4, + (Cyclops, _) => 1.6, + (Wendigo, _) => 1.2, + (Troll, _) => 1.3, + (Dullahan, _) => 1.4, + (Werewolf, _) => 1.2, + (Occultsaurok, _) => 1.2, + (Mightysaurok, _) => 1.2, + (Slysaurok, _) => 1.2, + (Mindflayer, _) => 1.5, + (Minotaur, _) => 2.0, + }, + tempo: match (body.species, body.body_type) { + (Ogre, Male) => 0.9, + (Ogre, Female) => 0.9, + (Cyclops, _) => 0.8, + (Wendigo, _) => 1.0, + (Troll, _) => 0.9, + (Dullahan, _) => 0.8, + (Werewolf, _) => 1.0, + (Occultsaurok, _) => 1.0, + (Mightysaurok, _) => 1.0, + (Slysaurok, _) => 1.0, + (Mindflayer, _) => 1.0, + (Minotaur, _) => 0.8, + }, + grip: match (body.species, body.body_type) { + (Ogre, Male) => 13.0, + (Ogre, Female) => 8.0, + (Cyclops, _) => 12.0, + (Wendigo, _) => 15.0, + (Troll, _) => 12.0, + (Dullahan, _) => 15.0, + (Werewolf, _) => 13.0, + (Occultsaurok, _) => 10.0, + (Mightysaurok, _) => 10.0, + (Slysaurok, _) => 10.0, + (Mindflayer, _) => 12.0, + (Minotaur, _) => 14.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/biped_large/run.rs b/voxygen/anim/src/biped_large/run.rs index 105768b303..1e6935796f 100644 --- a/voxygen/anim/src/biped_large/run.rs +++ b/voxygen/anim/src/biped_large/run.rs @@ -10,11 +10,12 @@ pub struct RunAnimation; type RunAnimationDependency = ( Option, Option, - f32, + Vec3, Vec3, Vec3, f64, Vec3, + f32, ); impl Animation for RunAnimation { type Dependency = RunAnimationDependency; @@ -34,6 +35,7 @@ impl Animation for RunAnimation { last_ori, global_time, avg_vel, + acc_vel, ): Self::Dependency, anim_time: f64, rate: &mut f32, @@ -45,30 +47,19 @@ impl Animation for RunAnimation { *rate = 1.0; - let lab = 0.65; //.65 - let foothoril = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()); - let foothorir = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()); + let lab = 0.65 * s_a.tempo; //.65 + let speednorm = (speed / 12.0).powf(0.6); //.powf(0.4) - let footvertl = (anim_time as f32 * 16.0 * lab as f32).sin(); - let footvertr = (anim_time as f32 * 16.0 * lab as f32 + PI).sin(); - let handhoril = (anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin(); - let handhorir = (anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin(); + let footvertl = (acc_vel * lab as f32 + PI * -0.2).sin() * speednorm; + let footvertr = (acc_vel * lab as f32 + PI * -1.2).sin() * speednorm; - let footrotl = (((5.0) - / (2.5 + (2.5) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()); + let footrotl = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 1.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 1.4).sin()); - let footrotr = (((5.0) - / (1.0 + (4.0) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()); + let footrotr = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 0.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 0.4).sin()); let amplitude = (speed / 21.0).max(0.25); let amplitude2 = (speed * 1.4 / 21.0).sqrt().max(0.6); @@ -76,10 +67,9 @@ impl Animation for RunAnimation { let speedmult = 1.0; let canceler = (speed / 21.0).sqrt(); - let short = (anim_time as f32 * (16.0) * lab as f32 * speedmult + PI * -0.15).sin(); + let short = (acc_vel * lab as f32 * speedmult).sin(); // - let shortalt = - (anim_time as f32 * (16.0) * lab as f32 * speedmult + PI * 3.0 / 8.0 + 0.7).sin(); + let shortalt = (acc_vel * lab as f32 * speedmult + PI * 3.0 + 0.7).sin(); let look = Vec2::new( ((global_time + anim_time) as f32 / 2.0) .floor() @@ -100,28 +90,19 @@ impl Animation for RunAnimation { let shift4 = speedadjust - PI * 3.0 / 4.0 + speedadjust * PI / 2.0; //FL - let foot1a = - (anim_time as f32 * (16.0) * lab as f32 * speedmult + 0.0 + canceler * 0.05 + shift1) - .sin(); //1.5 - let foot1b = - (anim_time as f32 * (16.0) * lab as f32 * speedmult + 1.1 + canceler * 0.05 + shift1) - .sin(); //1.9 + let foot1a = (acc_vel * lab as f32 * speedmult + 0.0 + canceler * 0.05 + shift1).sin(); //1.5 + let foot1b = (acc_vel * lab as f32 * speedmult + 1.1 + canceler * 0.05 + shift1).sin(); //1.9 //FR - let foot2a = (anim_time as f32 * (16.0) * lab as f32 * speedmult + shift2).sin(); //1.2 - let foot2b = (anim_time as f32 * (16.0) * lab as f32 * speedmult + 1.1 + shift2).sin(); //1.6 + let foot2a = (acc_vel * lab as f32 * speedmult + shift2).sin(); //1.2 + let foot2b = (acc_vel * lab as f32 * speedmult + 1.1 + shift2).sin(); //1.6 //BL - let foot3a = (anim_time as f32 * (16.0) * lab as f32 * speedmult + shift3).sin(); //0.0 - let foot3b = (anim_time as f32 * (16.0) * lab as f32 * speedmult + 0.3 + shift3).sin(); //0.4 + let foot3a = (acc_vel * lab as f32 * speedmult + shift3).sin(); //0.0 + let foot3b = (acc_vel * lab as f32 * speedmult + 0.3 + shift3).sin(); //0.4 //BR - let foot4a = - (anim_time as f32 * (16.0) * lab as f32 * speedmult + 0.0 + canceler * 0.05 + shift4) - .sin(); //0.3 - let foot4b = - (anim_time as f32 * (16.0) * lab as f32 * speedmult + 1.57 + canceler * 0.05 + shift4) - .sin(); //0.7 + let foot4a = (acc_vel * lab as f32 * speedmult + 0.0 + canceler * 0.05 + shift4).sin(); //0.3 + let foot4b = (acc_vel * lab as f32 * speedmult + 1.57 + canceler * 0.05 + shift4).sin(); //0.7 // - let _slower = (anim_time as f32 * 1.0 + PI).sin(); - let slow = (anim_time as f32 * 3.5 + PI).sin(); + let slow = (acc_vel * lab as f32 * speedmult + PI).sin(); let ori: Vec2 = Vec2::from(orientation); let last_ori = Vec2::from(last_ori); @@ -137,6 +118,18 @@ impl Animation for RunAnimation { 0.0 } * 1.3; + let foothoril = (acc_vel * lab as f32 + PI * 1.45).sin() * speednorm; + let foothorir = (acc_vel * lab as f32 + PI * (0.45)).sin() * speednorm; + let footstrafel = (acc_vel * lab as f32 + PI * 1.45).sin(); + let footstrafer = (acc_vel * lab as f32 + PI * (0.95)).sin(); + let footvertsl = (acc_vel * lab as f32).sin(); + let footvertsr = (acc_vel * lab as f32 + PI * 0.5).sin(); + let direction = velocity.y * -0.098 * orientation.y + velocity.x * -0.098 * orientation.x; + + let side = + (velocity.x * -0.098 * orientation.y + velocity.y * 0.098 * orientation.x) * -1.0; + let sideabs = side.abs(); + let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude()); next.jaw.scale = Vec3::one() * 1.02; @@ -145,7 +138,7 @@ impl Animation for RunAnimation { next.hand_l.scale = Vec3::one() * 1.04; next.hand_r.scale = Vec3::one() * 1.04; next.hold.scale = Vec3::one() * 0.0; - next.torso.scale = Vec3::one() / 8.0; + next.torso.scale = Vec3::one() / 8.0 * s_a.scaler; if s_a.beast { next.head.position = Vec3::new(0.0, s_a.head.0, 3.0 + s_a.head.1); @@ -264,27 +257,35 @@ impl Animation for RunAnimation { 0.0, 0.0 + (short * 0.75).max(-2.0), speedavg * 0.15 + (short * 0.75).max(-2.0), - ) / 8.0; + ) / 8.0 + * s_a.scaler; next.torso.orientation = Quaternion::rotation_x(x_tilt + amplitude * short * 0.1 + speedavg * -0.045); } else { next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1) * 1.02; - next.head.orientation = - Quaternion::rotation_z(short * -0.18) * Quaternion::rotation_x(-0.05); + next.head.orientation = Quaternion::rotation_z(short * -0.18 * speednorm - tilt * 2.0) + * Quaternion::rotation_x(0.25 * speednorm); - next.upper_torso.position = - Vec3::new(0.0, s_a.upper_torso.0, s_a.upper_torso.1 + shortalt * -1.5); - next.upper_torso.orientation = Quaternion::rotation_z(short * 0.18); + next.upper_torso.position = Vec3::new( + 0.0, + s_a.upper_torso.0, + s_a.upper_torso.1 + shortalt * -1.5 * speednorm, + ); + next.upper_torso.orientation = + Quaternion::rotation_z(short * 0.18 * speednorm + tilt * -1.0) + * Quaternion::rotation_y(tilt); next.lower_torso.position = Vec3::new(0.0, s_a.lower_torso.0, s_a.lower_torso.1); next.lower_torso.orientation = - Quaternion::rotation_z(short * 0.15) * Quaternion::rotation_x(0.14); + Quaternion::rotation_z(short * 0.15 * speednorm + tilt * 0.5) + * Quaternion::rotation_y(tilt * -0.5) + * Quaternion::rotation_x(0.14 * speednorm); next.jaw.position = Vec3::new(0.0, s_a.jaw.0, s_a.jaw.1); next.jaw.orientation = Quaternion::rotation_x(0.0); next.tail.position = Vec3::new(0.0, s_a.tail.0, s_a.tail.1); - next.tail.orientation = Quaternion::rotation_x(shortalt * 0.3); + next.tail.orientation = Quaternion::rotation_x(shortalt * 0.3 * speednorm); next.second.position = Vec3::new(0.0, 0.0, 0.0); next.second.orientation = Quaternion::rotation_x(PI) @@ -292,22 +293,22 @@ impl Animation for RunAnimation { * Quaternion::rotation_z(0.0); match active_tool_kind { - Some(ToolKind::Bow) => { + Some(ToolKind::BowSimple) => { next.main.position = Vec3::new(-2.0, -5.0, -6.0); next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); }, - Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { + Some(ToolKind::StaffSimple) | Some(ToolKind::Sceptre) => { next.main.position = Vec3::new(-6.0, -5.0, -12.0); next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57); }, - Some(ToolKind::Sword) => { + Some(ToolKind::SwordSimple) => { next.main.position = Vec3::new(-10.0, -8.0, 12.0); next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); }, - Some(ToolKind::Hammer) => { + Some(ToolKind::HammerSimple) => { next.main.position = Vec3::new(-10.0, -8.0, 12.0); next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); @@ -321,86 +322,116 @@ impl Animation for RunAnimation { next.shoulder_l.position = Vec3::new( -s_a.shoulder.0, - s_a.shoulder.1 + foothoril * -3.0, - s_a.shoulder.2, + s_a.shoulder.1, + s_a.shoulder.2 - foothorir * 1.5, ); - next.shoulder_l.orientation = Quaternion::rotation_x(footrotl * -0.36) - * Quaternion::rotation_y(0.1) - * Quaternion::rotation_z(footrotl * 0.3); + next.shoulder_l.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotr * -0.8) * speednorm) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); next.shoulder_r.position = Vec3::new( s_a.shoulder.0, - s_a.shoulder.1 + foothorir * -3.0, - s_a.shoulder.2, + s_a.shoulder.1, + s_a.shoulder.2 - foothoril * 1.5, ); - next.shoulder_r.orientation = Quaternion::rotation_x(footrotr * -0.36) - * Quaternion::rotation_y(-0.1) - * Quaternion::rotation_z(footrotr * -0.3); + next.shoulder_r.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotl * -0.8) * speednorm) + * Quaternion::rotation_y(0.0); next.hand_l.position = Vec3::new( - -1.0 + -s_a.hand.0, - s_a.hand.1 + foothoril * -4.0, - s_a.hand.2 + foothoril * 1.0, + -s_a.hand.0 + foothorir * -1.3, + 2.0 * speednorm + s_a.hand.1 + foothorir * -5.0, + 1.5 * speednorm + s_a.hand.2 - foothorir * 4.5, ); - next.hand_l.orientation = Quaternion::rotation_x(0.15 + (handhoril * -1.2).max(-0.3)) - * Quaternion::rotation_y(handhoril * -0.1); + next.hand_l.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotr * -1.2) * speednorm) + * Quaternion::rotation_y(footrotr * 0.4 * speednorm); next.hand_r.position = Vec3::new( - 1.0 + s_a.hand.0, - s_a.hand.1 + foothorir * -4.0, - s_a.hand.2 + foothorir * 1.0, + s_a.hand.0 + foothoril * 1.3, + 2.0 * speednorm + s_a.hand.1 + foothoril * -5.0, + 1.5 * speednorm + s_a.hand.2 - foothoril * 4.5, ); - next.hand_r.orientation = Quaternion::rotation_x(0.15 + (handhorir * -1.2).max(-0.3)) - * Quaternion::rotation_y(handhorir * 0.1); + next.hand_r.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotl * -1.2) * speednorm) + * Quaternion::rotation_y(footrotl * -0.4 * speednorm); - next.leg_l.position = Vec3::new(-s_a.leg.0, s_a.leg.1, s_a.leg.2) * 0.98; - next.leg_l.orientation = - Quaternion::rotation_z(short * 0.18) * Quaternion::rotation_x(foothoril * 0.3); + next.leg_l.position = Vec3::new( + -s_a.leg.0, + s_a.leg.1 + foothoril * -3.5, + s_a.leg.2 + (footvertl * -3.0), + ) * 0.98; + next.leg_l.orientation = Quaternion::rotation_z(short * 0.18 * speednorm) + * Quaternion::rotation_y(tilt * -0.5) + * Quaternion::rotation_x(foothoril * -0.8); - next.leg_r.position = Vec3::new(s_a.leg.0, s_a.leg.1, s_a.leg.2) * 0.98; + next.leg_r.position = Vec3::new( + s_a.leg.0, + s_a.leg.1 + foothorir * -3.5, + s_a.leg.2 + (footvertr * -3.0), + ) * 0.98; - next.leg_r.orientation = - Quaternion::rotation_z(short * 0.18) * Quaternion::rotation_x(foothorir * 0.3); + next.leg_r.orientation = Quaternion::rotation_z(short * 0.18 * speednorm) + * Quaternion::rotation_y(tilt * -0.5) + * Quaternion::rotation_x(foothorir * -0.8); next.foot_l.position = Vec3::new( - -s_a.foot.0, - s_a.foot.1 + foothoril * 8.5, - s_a.foot.2 + ((footvertl * 6.5).max(0.0)), + -s_a.foot.0 + footstrafel * sideabs * 3.0 + tilt * -2.0, + s_a.foot.1 + + (1.0 - sideabs) * (-1.5 * speednorm + foothoril * -10.5) + + (direction * 5.0).max(0.0), + s_a.foot.2 + + (1.0 - sideabs) * (1.0 * speednorm + ((footvertl * -4.1).max(-1.0))) + + side * ((footvertsl * 1.5).max(-1.0)), ); - next.foot_l.orientation = - Quaternion::rotation_x(-0.5 + footrotl * 0.85) * Quaternion::rotation_y(0.0); + next.foot_l.orientation = Quaternion::rotation_x( + (1.0 - sideabs) * (-0.2 + foothoril * -0.9) + sideabs * -0.5, + ) * Quaternion::rotation_y( + tilt * 1.0 + side * 0.3 + side * (foothoril * 0.3), + ) * Quaternion::rotation_z(side * 0.2); next.foot_r.position = Vec3::new( - s_a.foot.0, - s_a.foot.1 + foothorir * 8.5, - s_a.foot.2 + ((footvertr * 6.5).max(0.0)), + s_a.foot.0 + footstrafer * sideabs * 3.0 + tilt * -2.0, + s_a.foot.1 + + (1.0 - sideabs) * (-1.5 * speednorm + foothorir * -10.5) + + (direction * 5.0).max(0.0), + s_a.foot.2 + + (1.0 - sideabs) * (1.0 * speednorm + ((footvertr * -4.1).max(-1.0))) + + side * ((footvertsr * -1.5).max(-1.0)), ); - next.foot_r.orientation = - Quaternion::rotation_x(-0.5 + footrotr * 0.85) * Quaternion::rotation_y(0.0); + next.foot_r.orientation = Quaternion::rotation_x( + (1.0 - sideabs) * (-0.2 + foothorir * -0.9) + sideabs * -0.5, + ) * Quaternion::rotation_y( + tilt * 1.0 + side * 0.3 + side * (foothorir * 0.3), + ) * Quaternion::rotation_z(side * 0.2); next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; - next.torso.orientation = Quaternion::rotation_x(-0.25); + next.torso.orientation = Quaternion::rotation_x(-0.25 * speednorm); } if s_a.float { next.head.orientation = Quaternion::rotation_x(slow * 0.1); - next.upper_torso.position = - Vec3::new(0.0, s_a.upper_torso.0, s_a.upper_torso.1 + slow * 2.0 + 4.0); - next.upper_torso.orientation = Quaternion::rotation_x(-0.1 + slow * 0.05); - next.lower_torso.orientation = - Quaternion::rotation_z(short * 0.05) * Quaternion::rotation_x(0.14); + next.upper_torso.position = Vec3::new( + 0.0, + s_a.upper_torso.0, + s_a.upper_torso.1 + slow * 2.0 + 4.0 * speednorm, + ); + next.upper_torso.orientation = Quaternion::rotation_x(-0.1 * speednorm + slow * 0.05); + next.lower_torso.orientation = Quaternion::rotation_z(short * 0.05 * speednorm) + * Quaternion::rotation_x(0.14 * speednorm); next.shoulder_l.position = Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2); - next.shoulder_l.orientation = Quaternion::rotation_x(-0.4 + slow * 0.1); + next.shoulder_l.orientation = Quaternion::rotation_x(-0.4 * speednorm + slow * 0.1); next.shoulder_r.position = Vec3::new(s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2); - next.shoulder_r.orientation = Quaternion::rotation_x(-0.4 + slow * 0.1); + next.shoulder_r.orientation = Quaternion::rotation_x(-0.4 * speednorm + slow * 0.1); next.hand_l.position = Vec3::new(-s_a.hand.0, s_a.hand.1, s_a.hand.2); - next.hand_l.orientation = Quaternion::rotation_x(-0.4 + slow * 0.1); + next.hand_l.orientation = Quaternion::rotation_x(-0.4 * speednorm + slow * 0.1); next.hand_r.position = Vec3::new(s_a.hand.0, s_a.hand.1, s_a.hand.2); - next.hand_r.orientation = Quaternion::rotation_x(-0.4 + slow * 0.1); + next.hand_r.orientation = Quaternion::rotation_x(-0.4 * speednorm + slow * 0.1); next.foot_l.position = Vec3::new(-s_a.foot.0, s_a.foot.1, s_a.foot.2); - next.foot_l.orientation = Quaternion::rotation_x(-0.5 + slow * 0.1); + next.foot_l.orientation = Quaternion::rotation_x(-0.5 * speednorm + slow * 0.1); next.foot_r.position = Vec3::new(s_a.foot.0, s_a.foot.1, s_a.foot.2); - next.foot_r.orientation = Quaternion::rotation_x(-0.5 + slow * 0.1); + next.foot_r.orientation = Quaternion::rotation_x(-0.5 * speednorm + slow * 0.1); } next diff --git a/voxygen/anim/src/biped_large/shoot.rs b/voxygen/anim/src/biped_large/shoot.rs index 7af7cd9234..e37e9fc6fb 100644 --- a/voxygen/anim/src/biped_large/shoot.rs +++ b/voxygen/anim/src/biped_large/shoot.rs @@ -10,11 +10,12 @@ pub struct ShootAnimation; type ShootAnimationDependency = ( Option, Option, - f32, + Vec3, Vec3, Vec3, f64, Option, + f32, ); impl Animation for ShootAnimation { type Dependency = ShootAnimationDependency; @@ -30,10 +31,11 @@ impl Animation for ShootAnimation { active_tool_kind, _second_tool_kind, velocity, - orientation, - last_ori, + _orientation, + _last_ori, _global_time, stage_section, + acc_vel, ): Self::Dependency, anim_time: f64, rate: &mut f32, @@ -44,140 +46,151 @@ impl Animation for ShootAnimation { let mut next = (*skeleton).clone(); - let lab = 1.0; - let ori: Vec2 = Vec2::from(orientation); - let last_ori = Vec2::from(last_ori); - let tilt = if ::vek::Vec2::new(ori, last_ori) - .map(|o| o.magnitude_squared()) - .map(|m| m > 0.001 && m.is_finite()) - .reduce_and() - && ori.angle_between(last_ori).is_finite() - { - ori.angle_between(last_ori).min(0.2) - * last_ori.determine_side(Vec2::zero(), ori).signum() - } else { - 0.0 - } * 1.3; + let lab = 0.65 * s_a.tempo; + let speednorm = (speed / 12.0).powf(0.4); + let foothoril = (acc_vel * lab as f32 + PI * 1.45).sin() * speednorm; + let foothorir = (acc_vel * lab as f32 + PI * (0.45)).sin() * speednorm; + let footrotl = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 1.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 1.4).sin()); + let footrotr = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 0.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 0.4).sin()); + + next.shoulder_l.position = Vec3::new( + -s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothorir * 1.0, + ); + next.shoulder_l.orientation = + Quaternion::rotation_x(0.8 + 1.2 * speednorm + (footrotr * -0.2) * speednorm); + + next.shoulder_r.position = Vec3::new( + s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothoril * 1.0, + ); + next.shoulder_r.orientation = + Quaternion::rotation_x(0.8 + 1.2 * speednorm + (footrotl * -0.2) * speednorm); next.jaw.position = Vec3::new(0.0, s_a.jaw.0, s_a.jaw.1); next.jaw.orientation = Quaternion::rotation_x(0.0); + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0); + + next.hand_l.position = Vec3::new(0.0, 0.0, s_a.grip); + next.hand_r.position = Vec3::new(0.0, 0.0, s_a.grip); + + next.hand_l.orientation = Quaternion::rotation_x(0.0); + next.hand_r.orientation = Quaternion::rotation_x(0.0); match active_tool_kind { - Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { - let (movement1, movement2, movement3) = match stage_section { - Some(StageSection::Buildup) => (anim_time as f32, 0.0, 0.0), - Some(StageSection::Swing) => (1.0, (anim_time as f32).powf(0.25), 0.0), - Some(StageSection::Recover) => (1.0, 1.0, anim_time as f32), - _ => (0.0, 0.0, 0.0), + Some(ToolKind::StaffSimple) | Some(ToolKind::Sceptre) => { + let (movement1base, movement1shake, movement2base, movement3) = match stage_section + { + Some(StageSection::Buildup) => ( + anim_time as f32, + (anim_time as f32 * 10.0 + PI).sin(), + 0.0, + 0.0, + ), + Some(StageSection::Swing) => (1.0, 1.0, (anim_time as f32).powf(0.25), 0.0), + Some(StageSection::Recover) => (1.0, 1.0, 1.0, anim_time as f32), + _ => (0.0, 0.0, 0.0, 0.0), }; - let xmove = (movement1 as f32 * 6.0 * lab as f32 + PI).sin(); - let ymove = (movement1 as f32 * 6.0 * lab as f32 + PI * (0.5)).sin(); - 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); - - 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); - next.shoulder_l.orientation = Quaternion::rotation_z(0.2) - * Quaternion::rotation_x( - (movement1 * (movement2 * 8.0 + PI / 2.0).sin() * -0.1) * (1.0 - movement3), - ); - - next.shoulder_r.orientation = Quaternion::rotation_z(-0.2) - * Quaternion::rotation_x( - 1.0 + movement1 * (movement2 * 8.0 + PI / 2.0).sin() * -0.1, - ); - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_y(0.0); + let pullback = 1.0 - movement3; + let movement1 = movement1base * pullback; + let movement2 = movement2base * pullback; + next.control_l.position = Vec3::new(-1.0, 3.0, 12.0); + next.control_r.position = Vec3::new(1.0, 2.0, 2.0); next.control.position = Vec3::new( - s_a.stc.0 + (xmove * 3.0 + movement1 * -4.0) * (1.0 - movement3), - s_a.stc.1 + (2.0 + ymove * 3.0 + movement2 * 3.0) * (1.0 - movement3), - s_a.stc.2, + -3.0, + 3.0 + s_a.grip / 1.2 + + movement1 * 4.0 + + movement2 + + movement1shake * 2.0 + + movement2 * -2.0, + -11.0 + -s_a.grip / 2.0 + movement1 * 3.0, ); + next.head.orientation = Quaternion::rotation_x(movement1 * -0.15) + * Quaternion::rotation_y(movement1 * 0.25) + * Quaternion::rotation_z(movement1 * 0.25); + next.jaw.orientation = Quaternion::rotation_x(movement1 * -0.5); + + next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + movement1 * 0.5) + * Quaternion::rotation_y(movement1 * -0.4); + next.control_r.orientation = Quaternion::rotation_x(PI / 2.5 + movement1 * 0.5) + * Quaternion::rotation_y(0.5) + * Quaternion::rotation_z(0.0); + next.control.orientation = - Quaternion::rotation_x(s_a.stc.3 + (movement2 * 0.6) * (1.0 - movement3)) - * Quaternion::rotation_y(s_a.stc.4 + (movement1 * 0.5 + movement2 * -0.5)) - * Quaternion::rotation_z( - s_a.stc.5 - - (0.2 + movement1 * -0.5 + movement2 * 0.8) * (1.0 - movement3), - ); - next.upper_torso.orientation = - Quaternion::rotation_z((movement1 * 0.3 + movement2 * 0.2) * (1.0 - movement3)); - next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); - next.head.orientation = Quaternion::rotation_z( - tilt * -2.5 + (movement1 * -0.2 + movement2 * -0.4) * (1.0 - movement3), + Quaternion::rotation_x(-0.2 + movement1 * -0.2 + movement1shake * 0.1) + * Quaternion::rotation_y(-0.1 + movement1 * 0.8 + movement2 * -0.3); + next.shoulder_l.position = Vec3::new( + -s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothorir * 1.0, + ); + next.shoulder_l.orientation = Quaternion::rotation_x( + movement1 * 0.8 + 0.8 * speednorm + (footrotr * -0.2) * speednorm, ); - if speed < 0.5 { - next.lower_torso.orientation = - Quaternion::rotation_x(0.08) * Quaternion::rotation_z(0.0); - - next.foot_l.position = Vec3::new(-s_a.foot.0, s_a.foot.1 - 5.0, s_a.foot.2); - next.foot_l.orientation = Quaternion::rotation_x(-0.5); - - next.foot_r.position = Vec3::new(s_a.foot.0, s_a.foot.1 + 3.0, s_a.foot.2); - next.foot_r.orientation = - Quaternion::rotation_x(0.5) * Quaternion::rotation_z(0.3); - } else { - }; + next.shoulder_r.position = Vec3::new( + s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothoril * 1.0, + ); + next.shoulder_r.orientation = Quaternion::rotation_x( + movement1 * 0.8 + 0.6 * speednorm + (footrotl * -0.2) * speednorm, + ); }, - Some(ToolKind::Bow) => { - let (movement1, movement2, movement3) = match stage_section { + Some(ToolKind::BowSimple) => { + let (movement1base, movement2base, movement3) = match stage_section { Some(StageSection::Buildup) => ((anim_time as f32).powf(0.25), 0.0, 0.0), Some(StageSection::Swing) => (1.0, anim_time as f32, 0.0), Some(StageSection::Recover) => (1.0, 1.0, (anim_time as f32).powi(4)), _ => (0.0, 0.0, 0.0), }; - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_x(0.0); - next.hand_l.position = Vec3::new( - s_a.bhl.0 + movement2 * -2.0, - s_a.bhl.1 + movement2 * -12.0, - s_a.bhl.2 + movement2 * -3.0, + let pullback = 1.0 - movement3; + let movement1 = movement1base * pullback; + let movement2 = movement2base * pullback; + next.control_l.position = Vec3::new(-1.0, -2.0 + movement2 * -7.0, -3.0); + next.control_r.position = Vec3::new(0.0, 4.0, 1.0); + + next.control.position = Vec3::new( + -1.0 + movement1 * 2.0, + 6.0 + s_a.grip / 1.2 + movement1 * 7.0, + -5.0 + -s_a.grip / 2.0 + movement1 * 8.0, ); - next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3); - next.hand_r.position = Vec3::new(s_a.bhr.0, s_a.bhr.1, s_a.bhr.2); - next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); - next.shoulder_l.orientation = Quaternion::rotation_z(0.2) - * Quaternion::rotation_x( - (movement1 * (movement2 * 8.0 + PI / 2.0).sin() * 1.1) * (1.0 - movement3), - ); - next.shoulder_r.orientation = Quaternion::rotation_z(-0.2) - * Quaternion::rotation_x( - 1.5 + movement1 * (movement2 * 8.0 + PI / 2.0).sin() * -0.1, - ); - next.hold.position = - Vec3::new(0.0, -1.0 + movement2 * 2.0, -5.2 + movement2 * -3.0); - next.hold.orientation = Quaternion::rotation_x(-1.57); - next.hold.scale = Vec3::one() * 1.0 * (1.0 - movement2); + next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + movement2 * 0.4) + * Quaternion::rotation_y(-0.2); + next.control_r.orientation = Quaternion::rotation_x(PI / 2.2 + movement1 * 0.4) + * Quaternion::rotation_y(0.2) + * Quaternion::rotation_z(0.0); - next.control.position = Vec3::new(s_a.bc.0 + 11.0, s_a.bc.1 + 2.0, s_a.bc.2 + 8.0); - next.control.orientation = - Quaternion::rotation_x(0.0 + (movement2 as f32 * 0.1).sin()) - * Quaternion::rotation_y(s_a.bc.4 - 1.25) - * Quaternion::rotation_z(s_a.bc.5 - 0.2 + (movement2 as f32 * -0.2).sin()); - next.upper_torso.orientation = Quaternion::rotation_z(0.8); - next.head.position = Vec3::new(0.0 - 2.0, s_a.head.0, s_a.head.1); + next.control.orientation = Quaternion::rotation_x(-0.2) + * Quaternion::rotation_y(1.0 + movement1 * -0.4) + * Quaternion::rotation_z(-0.3); + next.head.orientation = Quaternion::rotation_z(movement1 * 0.25); + next.shoulder_l.position = Vec3::new( + -s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothorir * 1.0, + ); + next.shoulder_l.orientation = Quaternion::rotation_x( + movement1 * 0.8 + 1.2 * speednorm + (footrotr * -0.2) * speednorm, + ); - next.head.orientation = - Quaternion::rotation_z(tilt * -2.5 - 0.5 + (movement2 as f32 * 0.2).sin()); - if speed < 0.5 { - next.upper_torso.orientation = - Quaternion::rotation_z(0.8 + (movement2 as f32 * 0.1).sin()); - - next.lower_torso.orientation = Quaternion::rotation_x(0.08) - * Quaternion::rotation_z((movement2 as f32 * -0.15).sin()); - - next.foot_l.position = Vec3::new(-s_a.foot.0, s_a.foot.1 - 5.0, s_a.foot.2); - next.foot_l.orientation = Quaternion::rotation_x(-0.5); - - next.foot_r.position = Vec3::new(s_a.foot.0, s_a.foot.1 + 3.0, s_a.foot.2); - next.foot_r.orientation = - Quaternion::rotation_x(0.5) * Quaternion::rotation_z(0.3); - } else { - }; + next.shoulder_r.position = Vec3::new( + s_a.shoulder.0, + s_a.shoulder.1, + s_a.shoulder.2 - foothoril * 1.0, + ); + next.shoulder_r.orientation = Quaternion::rotation_x( + movement1 * 0.8 + 1.2 * speednorm + (footrotl * -0.2) * speednorm, + ); }, _ => {}, } diff --git a/voxygen/anim/src/biped_large/wield.rs b/voxygen/anim/src/biped_large/wield.rs index 77640eeac5..85f772f671 100644 --- a/voxygen/anim/src/biped_large/wield.rs +++ b/voxygen/anim/src/biped_large/wield.rs @@ -8,7 +8,7 @@ use std::{f32::consts::PI, ops::Mul}; pub struct WieldAnimation; impl Animation for WieldAnimation { - type Dependency = (Option, Option, f32, f64); + type Dependency = (Option, Option, Vec3, f64, f32); type Skeleton = BipedLargeSkeleton; #[cfg(feature = "use-dyn-lib")] @@ -17,21 +17,28 @@ impl Animation for WieldAnimation { #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_wield")] fn update_skeleton_inner( skeleton: &Self::Skeleton, - (active_tool_kind, _second_tool_kind, velocity, global_time): Self::Dependency, + (active_tool_kind, _second_tool_kind, velocity, global_time, acc_vel): Self::Dependency, anim_time: f64, _rate: &mut f32, s_a: &SkeletonAttr, ) -> Self::Skeleton { let mut next = (*skeleton).clone(); + let speed = Vec2::::from(velocity).magnitude(); - let lab = 0.55; - let test = (anim_time as f32 + 36.0 * PI).sin(); + let lab = 0.65 * s_a.tempo; //.65 let torso = (anim_time as f32 * lab as f32 + 1.5 * PI).sin(); + let speednorm = (speed / 12.0).powf(0.4); + let foothoril = (acc_vel * lab as f32 + PI * 1.45).sin() * speednorm; + let foothorir = (acc_vel * lab as f32 + PI * (0.45)).sin() * speednorm; + let footrotl = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 1.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 1.4).sin()); + let footrotr = + (((1.0) / (0.5 + (0.5) * ((acc_vel * lab as f32 + PI * 0.4).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 0.4).sin()); let slower = (anim_time as f32 * 1.0 + PI).sin(); let slow = (anim_time as f32 * 3.5 + PI).sin(); - let u_slow = (anim_time as f32 * 1.0 + PI).sin(); - let u_slowalt = (anim_time as f32 * 3.0 + PI).cos(); let tailmove = Vec2::new( ((global_time + anim_time) as f32 / 2.0) @@ -74,31 +81,12 @@ impl Animation for WieldAnimation { 0.0 }; - let foothoril = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()); - let foothorir = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()); - let footvertl = (anim_time as f32 * 16.0 * lab as f32).sin(); let footvertr = (anim_time as f32 * 16.0 * lab as f32 + PI).sin(); let handhoril = (anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin(); let handhorir = (anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin(); - let footrotl = (((5.0) - / (2.5 + (2.5) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.4).sin()); - - let footrotr = (((5.0) - / (1.0 + (4.0) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.4).sin()); - - let short = (anim_time as f32 * lab as f32 * 16.0).sin(); + let short = (acc_vel * lab as f32).sin() * speednorm; let shortalt = (anim_time as f32 * lab as f32 * 16.0 + PI / 2.0).sin(); @@ -107,61 +95,33 @@ impl Animation for WieldAnimation { } else { next.jaw.position = Vec3::new(0.0, s_a.jaw.0 - slower * 0.12, s_a.jaw.1 + slow * 0.2); - next.hand_l.position = - Vec3::new(-s_a.hand.0 - 7.0, s_a.hand.1 - 7.0, s_a.hand.2 + 10.0); - next.hand_l.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); - - next.hand_r.position = Vec3::new(s_a.hand.0 - 7.0, s_a.hand.1 - 7.0, s_a.hand.2 + 10.0); - next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); - next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); - - next.control.position = Vec3::new(7.0, 9.0, -10.0); - next.control.orientation = Quaternion::rotation_x(test * 0.02) - * Quaternion::rotation_y(test * 0.02) - * Quaternion::rotation_z(test * 0.02); - - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_y(0.0); next.hold.scale = Vec3::one() * 0.0; - if velocity > 0.5 { - next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1) * 1.02; - next.head.orientation = - Quaternion::rotation_z(short * -0.18) * Quaternion::rotation_x(-0.05); + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0); - next.upper_torso.position = - Vec3::new(0.0, s_a.upper_torso.0, s_a.upper_torso.1 + shortalt * -1.5); - next.upper_torso.orientation = Quaternion::rotation_z(short * 0.18); + next.hand_l.position = Vec3::new(0.0, 0.0, s_a.grip); + next.hand_r.position = Vec3::new(0.0, 0.0, s_a.grip); - next.lower_torso.position = Vec3::new(0.0, s_a.lower_torso.0, s_a.lower_torso.1); - next.lower_torso.orientation = - Quaternion::rotation_z(short * 0.15) * Quaternion::rotation_x(0.14); - - next.tail.position = Vec3::new(0.0, s_a.tail.0, s_a.tail.1); - next.tail.orientation = Quaternion::rotation_z(0.0 + slow * 0.2 + tailmove.x) - * Quaternion::rotation_x(0.0); + next.hand_l.orientation = Quaternion::rotation_x(0.0); + next.hand_r.orientation = Quaternion::rotation_x(0.0); + if speed > 0.5 { next.shoulder_l.position = Vec3::new( -s_a.shoulder.0, - s_a.shoulder.1 + foothoril * -1.0, - s_a.shoulder.2, + s_a.shoulder.1, + s_a.shoulder.2 - foothorir * 1.0, ); - next.shoulder_l.orientation = Quaternion::rotation_x(0.5 + footrotl * -0.16) - * Quaternion::rotation_y(0.1) - * Quaternion::rotation_z(footrotl * 0.1); + next.shoulder_l.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotr * -0.2) * speednorm); next.shoulder_r.position = Vec3::new( s_a.shoulder.0, - s_a.shoulder.1 + foothorir * -1.0, - s_a.shoulder.2, + s_a.shoulder.1, + s_a.shoulder.2 - foothoril * 1.0, ); - next.shoulder_r.orientation = Quaternion::rotation_x(0.5 + footrotr * -0.16) - * Quaternion::rotation_y(-0.1) - * Quaternion::rotation_z(footrotr * -0.1); - - next.torso.position = Vec3::new(0.0, 0.0, 0.0) / 8.0; - next.torso.orientation = - Quaternion::rotation_z(0.0) * Quaternion::rotation_x(-0.25); + next.shoulder_r.orientation = + Quaternion::rotation_x(0.6 * speednorm + (footrotl * -0.2) * speednorm); } else { next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1) * 1.02; next.head.orientation = @@ -189,91 +149,87 @@ impl Animation for WieldAnimation { next.shoulder_l.position = Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2); next.shoulder_l.orientation = - Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0); + Quaternion::rotation_y(0.0) * Quaternion::rotation_x(0.3); next.shoulder_r.position = Vec3::new(s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2); - - next.control.position = Vec3::new(7.0, 9.0, -10.0); - next.control.orientation = Quaternion::rotation_x(test * 0.02) - * Quaternion::rotation_y(test * 0.02) - * Quaternion::rotation_z(test * 0.02); + next.shoulder_r.orientation = + Quaternion::rotation_y(0.0) * Quaternion::rotation_x(0.3); } match active_tool_kind { - Some(ToolKind::Sword) => { - next.hand_l.position = Vec3::new(s_a.shl.0, s_a.shl.1, s_a.shl.2); - next.hand_l.orientation = - Quaternion::rotation_x(s_a.shl.3) * Quaternion::rotation_y(s_a.shl.4); - next.hand_r.position = Vec3::new(s_a.shr.0, s_a.shr.1, s_a.shr.2); - next.hand_r.orientation = - Quaternion::rotation_x(s_a.shr.3) * Quaternion::rotation_y(s_a.shr.4); - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_y(0.0); + Some(ToolKind::SwordSimple) => { + next.control_l.position = Vec3::new(-1.0, 1.0, 1.0); + next.control_r.position = Vec3::new(0.0, 2.0, -3.0); - next.control.position = Vec3::new(s_a.sc.0, s_a.sc.1, s_a.sc.2); - next.control.orientation = Quaternion::rotation_x(u_slow * 0.15) - * Quaternion::rotation_z(u_slowalt * 0.08); + next.control.position = Vec3::new( + -3.0, + 5.0 + s_a.grip / 1.2, + -4.0 + -s_a.grip / 2.0 + short * -1.5, + ); + + next.control_l.orientation = + Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.2); + next.control_r.orientation = Quaternion::rotation_x(PI / 2.2) + * Quaternion::rotation_y(0.2) + * Quaternion::rotation_z(0.0); + + next.control.orientation = + Quaternion::rotation_x(-0.2 + short * 0.2) * Quaternion::rotation_y(-0.1); }, - Some(ToolKind::Bow) => { - next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2); - next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3) - * Quaternion::rotation_y(s_a.bhl.4) - * Quaternion::rotation_z(s_a.bhl.5); - next.hand_r.position = Vec3::new(s_a.bhr.0, s_a.bhr.1, s_a.bhr.2); - next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3) - * Quaternion::rotation_y(s_a.bhr.4) - * Quaternion::rotation_z(s_a.bhr.5); - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_y(0.0); + Some(ToolKind::BowSimple) => { + next.control_l.position = Vec3::new(-1.0, -2.0, -3.0); + next.control_r.position = Vec3::new(0.0, 4.0, 1.0); - next.hold.position = Vec3::new(0.0, -1.0, -15.2); - next.hold.orientation = Quaternion::rotation_x(-1.57); - next.hold.scale = Vec3::one() * 1.0; + next.control.position = Vec3::new( + -1.0, + 6.0 + s_a.grip / 1.2, + -5.0 + -s_a.grip / 2.0 + short * -1.5, + ); - next.control.position = Vec3::new(s_a.bc.0, s_a.bc.1, s_a.bc.2 - 5.0); - next.control.orientation = Quaternion::rotation_x(u_slow * 0.06) - * Quaternion::rotation_y(s_a.bc.4) - * Quaternion::rotation_z(s_a.bc.5 + u_slowalt * 0.1); + next.control_l.orientation = + Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.2); + next.control_r.orientation = Quaternion::rotation_x(PI / 2.2) + * Quaternion::rotation_y(0.2) + * Quaternion::rotation_z(0.0); + + next.control.orientation = Quaternion::rotation_x(-0.2 + short * 0.2) + * Quaternion::rotation_y(1.0) + * Quaternion::rotation_z(-0.3); }, - Some(ToolKind::Hammer) => { - next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2); - next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3) - * Quaternion::rotation_y(s_a.hhl.4) - * Quaternion::rotation_z(s_a.hhl.5); + Some(ToolKind::HammerSimple) => { + next.control_l.position = Vec3::new(-1.0, 2.0, 12.0); + next.control_r.position = Vec3::new(1.0, 2.0, -2.0); - next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2); - next.hand_r.orientation = Quaternion::rotation_x(s_a.hhr.3) - * Quaternion::rotation_y(s_a.hhr.4) - * Quaternion::rotation_z(s_a.hhr.5); + next.control.position = + Vec3::new(4.0, 0.0 + s_a.grip / 1.0, -s_a.grip / 0.8 + short * -1.5); - next.control.position = Vec3::new(s_a.hc.0, s_a.hc.1, s_a.hc.2); - next.control.orientation = Quaternion::rotation_x(s_a.hc.3 + test * 0.02) - * Quaternion::rotation_y(s_a.hc.4 + test * 0.02) - * Quaternion::rotation_z(s_a.hc.5 + test * 0.02); + next.control_l.orientation = + Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.0); + next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_y(0.0); + next.control.orientation = + Quaternion::rotation_x(-1.0 + short * 0.2) * Quaternion::rotation_y(-1.8); }, - Some(ToolKind::Staff) => { - 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, s_a.sthr.2); - next.hand_r.orientation = - Quaternion::rotation_x(s_a.sthr.3) * Quaternion::rotation_y(s_a.sthr.4); + Some(ToolKind::StaffSimple) => { + next.control_l.position = Vec3::new(-1.0, 3.0, 12.0); + next.control_r.position = Vec3::new(1.0, 2.0, 2.0); - next.shoulder_r.position = - Vec3::new(s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2); - next.shoulder_r.orientation = - Quaternion::rotation_z(0.4) * Quaternion::rotation_x(1.0); + next.control.position = Vec3::new( + -3.0, + 3.0 + s_a.grip / 1.2, + -11.0 + -s_a.grip / 2.0 + short * -1.5, + ); - next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_y(0.0); + next.control_l.orientation = + Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.5); + next.control_r.orientation = Quaternion::rotation_x(PI / 2.5) + * Quaternion::rotation_y(0.5) + * Quaternion::rotation_z(0.0); - 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); + next.control.orientation = + Quaternion::rotation_x(-0.2 + short * 0.2) * Quaternion::rotation_y(-0.1); }, Some(ToolKind::Unique(UniqueKind::BeastClaws)) => { next.shoulder_l.position = @@ -288,7 +244,7 @@ impl Animation for WieldAnimation { next.hand_r.position = Vec3::new(s_a.hand.0, s_a.hand.1, s_a.hand.2 + torso * 0.6); - if velocity < 0.5 { + if speed < 0.5 { next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1 + torso * 0.2) * 1.02; next.head.orientation = Quaternion::rotation_z(look.x * 0.6) diff --git a/voxygen/anim/src/biped_small/alpha.rs b/voxygen/anim/src/biped_small/alpha.rs index 46b9713af3..23e68e4276 100644 --- a/voxygen/anim/src/biped_small/alpha.rs +++ b/voxygen/anim/src/biped_small/alpha.rs @@ -29,7 +29,16 @@ impl Animation for AlphaAnimation { fn update_skeleton_inner( skeleton: &Self::Skeleton, - (velocity, _orientation, _last_ori, _global_time, _avg_vel, _acc_vel, stage_section, _timer): Self::Dependency, + ( + velocity, + _orientation, + _last_ori, + _global_time, + _avg_vel, + _acc_vel, + stage_section, + _timer, + ): Self::Dependency, anim_time: f64, _rate: &mut f32, s_a: &SkeletonAttr, diff --git a/voxygen/anim/src/character/alpha.rs b/voxygen/anim/src/character/alpha.rs index 3e22f7b6c6..15b5ed6ece 100644 --- a/voxygen/anim/src/character/alpha.rs +++ b/voxygen/anim/src/character/alpha.rs @@ -150,7 +150,8 @@ impl Animation for AlphaAnimation { }; next.main.position = Vec3::new(0.0, 0.0, 0.0); next.main.orientation = Quaternion::rotation_x(0.0); - next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2); + next.hand_l.position = + Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2 + movement2 * -7.0); next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3) * Quaternion::rotation_y(s_a.hhl.4); next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2); @@ -169,15 +170,18 @@ impl Animation for AlphaAnimation { * (1.0 - movement3) * Quaternion::rotation_z(s_a.hc.5 + (movement2 * -0.5) * (1.0 - movement3)); next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); - next.head.orientation = Quaternion::rotation_x( - (movement1 * 0.3 + movement2 * -0.5) * (1.0 - movement3), - ) * Quaternion::rotation_y(0.0) - * Quaternion::rotation_z( - (movement1 * 0.2 + movement2 * -0.5) * (1.0 - movement3), - ); - next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1); + next.head.orientation = + Quaternion::rotation_x((movement1 * 0.1 + movement2 * 0.3) * (1.0 - movement3)) + * Quaternion::rotation_z( + (movement1 * -0.2 + movement2 * 0.2) * (1.0 - movement3), + ); + next.chest.position = Vec3::new( + 0.0, + s_a.chest.0, + s_a.chest.1 + movement2 * -2.0 * (1.0 - movement3), + ); next.chest.orientation = Quaternion::rotation_x( - (movement1 * 0.8 + movement2 * -1.2) * (1.0 - movement3), + (movement1 * 0.4 + movement2 * -0.7) * (1.0 - movement3), ) * Quaternion::rotation_y( (movement1 * 0.3 + movement2 * -0.4) * (1.0 - movement3), ) * Quaternion::rotation_z( diff --git a/voxygen/anim/src/character/mod.rs b/voxygen/anim/src/character/mod.rs index 3ca3521a24..c43b068fed 100644 --- a/voxygen/anim/src/character/mod.rs +++ b/voxygen/anim/src/character/mod.rs @@ -27,6 +27,7 @@ pub mod stand; pub mod stunned; pub mod swim; pub mod swimwield; +pub mod talk; pub mod wield; // Reexports @@ -39,7 +40,7 @@ pub use self::{ roll::RollAnimation, run::RunAnimation, shockwave::ShockwaveAnimation, shoot::ShootAnimation, sit::SitAnimation, sneak::SneakAnimation, spin::SpinAnimation, spinmelee::SpinMeleeAnimation, staggered::StaggeredAnimation, stand::StandAnimation, stunned::StunnedAnimation, - swim::SwimAnimation, swimwield::SwimWieldAnimation, wield::WieldAnimation, + swim::SwimAnimation, swimwield::SwimWieldAnimation, talk::TalkAnimation, wield::WieldAnimation, }; use super::{make_bone, vek::*, FigureBoneData, Skeleton}; use common::comp; diff --git a/voxygen/anim/src/character/talk.rs b/voxygen/anim/src/character/talk.rs new file mode 100644 index 0000000000..f8e47ec373 --- /dev/null +++ b/voxygen/anim/src/character/talk.rs @@ -0,0 +1,54 @@ +use super::{ + super::{vek::*, Animation}, + CharacterSkeleton, SkeletonAttr, +}; +use common::comp::item::ToolKind; +use std::f32::consts::PI; + +pub struct TalkAnimation; + +impl Animation for TalkAnimation { + type Dependency = (Option, Option, f32, f64); + type Skeleton = CharacterSkeleton; + + #[cfg(feature = "use-dyn-lib")] + const UPDATE_FN: &'static [u8] = b"character_talk\0"; + + #[cfg_attr(feature = "be-dyn-lib", export_name = "character_talk")] + #[allow(clippy::approx_constant)] // TODO: Pending review in #587 + fn update_skeleton_inner( + skeleton: &Self::Skeleton, + (_active_tool_kind, _second_tool_kind, _velocity, _global_time): Self::Dependency, + anim_time: f64, + rate: &mut f32, + s_a: &SkeletonAttr, + ) -> Self::Skeleton { + *rate = 1.0; + let mut next = (*skeleton).clone(); + + let slowa = (anim_time as f32 * 6.0).sin(); + let slowb = (anim_time as f32 * 4.0 + PI / 2.0).sin(); + let slowc = (anim_time as f32 * 12.0 + PI / 2.0).sin(); + + next.head.orientation = Quaternion::rotation_x(slowc * 0.035); + next.hand_l.position = Vec3::new( + -s_a.hand.0 + 0.5 + slowb * 0.5, + s_a.hand.1 + 5.0 + slowc * 1.0, + s_a.hand.2 + 2.0 + slowa * 1.0, + ); + + next.hand_l.orientation = Quaternion::rotation_x(0.0); + + next.hand_r.position = Vec3::new( + s_a.hand.0 - 0.5 + slowb * 0.5, + s_a.hand.1 + 4.0 + slowc * -1.0, + s_a.hand.2 + 2.0 + slowa * 1.0, + ); + next.hand_l.orientation = Quaternion::rotation_y(-0.2 + slowb * 0.2 + slowa * 0.07) + * Quaternion::rotation_x(1.3 + slowa * 0.15); + next.hand_r.orientation = Quaternion::rotation_y(0.2 + slowa * -0.1 + slowb * 0.07) + * Quaternion::rotation_x(1.3 + slowb * -0.15 + slowc * 0.05); + + next + } +} diff --git a/voxygen/anim/src/quadruped_low/mod.rs b/voxygen/anim/src/quadruped_low/mod.rs index 11dc5becda..9e3bd5e17e 100644 --- a/voxygen/anim/src/quadruped_low/mod.rs +++ b/voxygen/anim/src/quadruped_low/mod.rs @@ -259,6 +259,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Pangolin, _) => (1.3), (Maneater, _) => (1.4), (Lavadrake, _) => (1.4), + (Basilisk, _) => (1.6), _ => (1.0), }, tempo: match (body.species, body.body_type) { @@ -271,6 +272,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Pangolin, _) => (1.15), (Maneater, _) => (0.9), (Lavadrake, _) => (1.1), + (Basilisk, _) => (0.8), _ => (1.0), }, } diff --git a/voxygen/anim/src/quadruped_low/run.rs b/voxygen/anim/src/quadruped_low/run.rs index b1d1851637..ab6c18e040 100644 --- a/voxygen/anim/src/quadruped_low/run.rs +++ b/voxygen/anim/src/quadruped_low/run.rs @@ -7,7 +7,7 @@ use std::f32::consts::PI; pub struct RunAnimation; impl Animation for RunAnimation { - type Dependency = (f32, Vec3, Vec3, f64, Vec3); + type Dependency = (f32, Vec3, Vec3, f64, Vec3, f32); type Skeleton = QuadrupedLowSkeleton; #[cfg(feature = "use-dyn-lib")] @@ -16,46 +16,49 @@ impl Animation for RunAnimation { #[cfg_attr(feature = "be-dyn-lib", export_name = "quadruped_low_run")] fn update_skeleton_inner( skeleton: &Self::Skeleton, - (_velocity, orientation, last_ori, _global_time, avg_vel): Self::Dependency, - anim_time: f64, + (velocity, orientation, last_ori, _global_time, avg_vel, acc_vel): Self::Dependency, + _anim_time: f64, _rate: &mut f32, s_a: &SkeletonAttr, ) -> Self::Skeleton { let mut next = (*skeleton).clone(); + let speed = (Vec2::::from(velocity).magnitude()).min(15.0); + + let speednorm = (speed / 15.0).powf(0.25); let lab = 0.7 * s_a.tempo; - let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude()).max(-0.7); + let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude()).max(-0.7) * speednorm; - let short = (((1.0) - / (0.72 + 0.28 * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.25).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.25).sin()); - let shortalt = (anim_time as f32 * 16.0 * lab as f32 + PI * 0.25).sin(); + let short = (((1.0) / (0.72 + 0.28 * ((acc_vel * lab as f32 + PI * 0.25).sin()).powi(2))) + .sqrt()) + * ((acc_vel * lab as f32 + PI * 0.25).sin()) + * speednorm; + let shortalt = (acc_vel * lab as f32 + PI * 0.25).sin(); - let foothoril = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.45).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.45).sin()); - let footvertl = (anim_time as f32 * 16.0 * lab as f32 + PI * 0.0).sin(); + let foothoril = + (((1.0) / (0.4 + (0.6) * ((acc_vel * lab as f32 + PI * 1.45).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 1.45).sin()) + * speednorm; + let footvertl = (acc_vel * lab as f32 + PI * 0.0).sin() * speednorm; - let foothorir = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.45).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.45).sin()); - let footvertr = (anim_time as f32 * 16.0 * lab as f32 + PI).sin(); + let foothorir = + (((1.0) / (0.4 + (0.6) * ((acc_vel * lab as f32 + PI * 0.45).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 0.45).sin()) + * speednorm; + let footvertr = (acc_vel * lab as f32 + PI).sin() * speednorm; //back feet - let foothorilb = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.05).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 1.05).sin()); - let footvertlb = (anim_time as f32 * 16.0 * lab as f32 + PI * (-0.4)).sin(); + let foothorilb = + (((1.0) / (0.4 + (0.6) * ((acc_vel * lab as f32 + PI * 1.05).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 1.05).sin()) + * speednorm; + let footvertlb = (acc_vel * lab as f32 + PI * (-0.4)).sin() * speednorm; - let foothorirb = (((1.0) - / (0.4 + (0.6) * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.05).sin()).powi(2))) - .sqrt()) - * ((anim_time as f32 * 16.0 * lab as f32 + PI * 0.05).sin()); - let footvertrb = (anim_time as f32 * 16.0 * lab as f32 + PI * 0.6).sin(); + let foothorirb = + (((1.0) / (0.4 + (0.6) * ((acc_vel * lab as f32 + PI * 0.05).sin()).powi(2))).sqrt()) + * ((acc_vel * lab as f32 + PI * 0.05).sin()) + * speednorm; + let footvertrb = (acc_vel * lab as f32 + PI * 0.6).sin() * speednorm; let ori: Vec2 = Vec2::from(orientation); let last_ori = Vec2::from(last_ori); @@ -94,14 +97,14 @@ impl Animation for RunAnimation { s_a.tail_front.1 + s_a.lean.0 * 2.0, ); next.tail_front.orientation = - Quaternion::rotation_z(shortalt * 0.18 * s_a.lean.1 + tilt * 1.8) - * Quaternion::rotation_y(shortalt * 0.1) + Quaternion::rotation_z(shortalt * -0.18 * s_a.lean.1 + tilt * 1.8) + * Quaternion::rotation_y(shortalt * -0.1) * Quaternion::rotation_x(0.06 - s_a.lean.0 * 1.2 + x_tilt * 0.2); next.tail_rear.position = Vec3::new(0.0, s_a.tail_rear.0, s_a.tail_rear.1); next.tail_rear.orientation = - Quaternion::rotation_z(shortalt * 0.25 * s_a.lean.1 + tilt * 1.6) - * Quaternion::rotation_y(shortalt * 0.1) + Quaternion::rotation_z(shortalt * -0.25 * s_a.lean.1 + tilt * 1.6) + * Quaternion::rotation_y(shortalt * 0.08) * Quaternion::rotation_x(-0.04 + x_tilt * 0.5); next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1) * s_a.scaler / 11.0; @@ -112,20 +115,20 @@ impl Animation for RunAnimation { next.foot_fl.position = Vec3::new( -s_a.feet_f.0, s_a.feet_f.1 + foothoril * -2.0, - s_a.feet_f.2 + 1.0 + ((footvertl * -1.8).max(-0.0)), + s_a.feet_f.2 + 1.0 * speednorm + ((footvertl * -1.8).max(-0.0)), ); next.foot_fl.orientation = - Quaternion::rotation_x(-0.2 + footvertl * -0.45 * s_a.lean.1 - s_a.lean.0) + Quaternion::rotation_x(-0.2 * speednorm + footvertl * -0.45 * s_a.lean.1 - s_a.lean.0) * Quaternion::rotation_y(tilt * -1.0) * Quaternion::rotation_z(foothoril * 0.4 * s_a.lean.1 + tilt * -2.0); next.foot_fr.position = Vec3::new( s_a.feet_f.0, s_a.feet_f.1 + foothorir * -2.0, - s_a.feet_f.2 + 1.0 + ((footvertr * -1.8).max(-0.0)), + s_a.feet_f.2 + 1.0 * speednorm + ((footvertr * -1.8).max(-0.0)), ); next.foot_fr.orientation = - Quaternion::rotation_x(-0.2 + footvertr * -0.45 * s_a.lean.1 - s_a.lean.0) + Quaternion::rotation_x(-0.2 * speednorm + footvertr * -0.45 * s_a.lean.1 - s_a.lean.0) * Quaternion::rotation_y(tilt * -1.0) * Quaternion::rotation_z(foothorir * -0.4 * s_a.lean.1 + tilt * -2.0); @@ -134,18 +137,20 @@ impl Animation for RunAnimation { s_a.feet_b.1 + foothorilb * -1.0, s_a.feet_b.2 + ((footvertlb * -1.2).max(-0.0)), ); - next.foot_bl.orientation = Quaternion::rotation_x(-0.2 + footvertlb * -0.5 - s_a.lean.0) - * Quaternion::rotation_y(tilt * -1.0) - * Quaternion::rotation_z(foothorilb * 0.4 + tilt * -2.0); + next.foot_bl.orientation = + Quaternion::rotation_x(-0.2 * speednorm + footvertlb * -0.5 - s_a.lean.0) + * Quaternion::rotation_y(tilt * -1.0) + * Quaternion::rotation_z(foothorilb * 0.4 + tilt * -2.0); next.foot_br.position = Vec3::new( s_a.feet_b.0, s_a.feet_b.1 + foothorirb * -1.0, s_a.feet_b.2 + ((footvertrb * -1.2).max(-0.0)), ); - next.foot_br.orientation = Quaternion::rotation_x(-0.2 + footvertrb * -0.5 - s_a.lean.0) - * Quaternion::rotation_y(tilt * -1.0) - * Quaternion::rotation_z(foothorirb * -0.4 + tilt * -2.0); + next.foot_br.orientation = + Quaternion::rotation_x(-0.2 * speednorm + footvertrb * -0.5 - s_a.lean.0) + * Quaternion::rotation_y(tilt * -1.0) + * Quaternion::rotation_z(foothorirb * -0.4 + tilt * -2.0); next } diff --git a/voxygen/anim/src/quadruped_medium/mod.rs b/voxygen/anim/src/quadruped_medium/mod.rs index ee9ff1ec92..4234d19977 100644 --- a/voxygen/anim/src/quadruped_medium/mod.rs +++ b/voxygen/anim/src/quadruped_medium/mod.rs @@ -482,6 +482,10 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Catoblepas, _) => (1.3), (Roshwalr, _) => (1.2), (Barghest, _) => (1.3), + (Cattle, _) => (1.9), + (Highland, _) => (1.9), + (Bear, _) => (1.9), + (Yak, _) => (1.9), _ => (1.0), }, startangle: match (body.species, body.body_type) { @@ -515,6 +519,10 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Horse, _) => (0.85), (Barghest, _) => (0.95), (Darkhound, _) => (1.1), + (Cattle, _) => (0.8), + (Highland, _) => (0.8), + (Bear, _) => (0.8), + (Yak, _) => (0.8), _ => (1.0), }, spring: match (body.species, body.body_type) { diff --git a/voxygen/anim/src/quadruped_medium/run.rs b/voxygen/anim/src/quadruped_medium/run.rs index cfe718d469..cf4179e842 100644 --- a/voxygen/anim/src/quadruped_medium/run.rs +++ b/voxygen/anim/src/quadruped_medium/run.rs @@ -90,7 +90,7 @@ impl Animation for RunAnimation { } else { 0.0 } * 1.3; - let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude()); + let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude()) * canceler; next.neck.scale = Vec3::one() * 1.02; next.jaw.scale = Vec3::one() * 1.02; diff --git a/voxygen/anim/src/quadruped_small/run.rs b/voxygen/anim/src/quadruped_small/run.rs index eb68728eb7..7662f62d9d 100644 --- a/voxygen/anim/src/quadruped_small/run.rs +++ b/voxygen/anim/src/quadruped_small/run.rs @@ -7,7 +7,7 @@ use std::f32::consts::PI; pub struct RunAnimation; impl Animation for RunAnimation { - type Dependency = (f32, Vec3, Vec3, f64, Vec3); + type Dependency = (f32, Vec3, Vec3, f64, Vec3, f32); type Skeleton = QuadrupedSmallSkeleton; #[cfg(feature = "use-dyn-lib")] @@ -16,24 +16,26 @@ impl Animation for RunAnimation { #[cfg_attr(feature = "be-dyn-lib", export_name = "quadruped_small_run")] fn update_skeleton_inner( skeleton: &Self::Skeleton, - (_velocity, orientation, last_ori, _global_time, avg_vel): Self::Dependency, - anim_time: f64, + (velocity, orientation, last_ori, _global_time, avg_vel, acc_vel): Self::Dependency, + _anim_time: f64, _rate: &mut f32, s_a: &SkeletonAttr, ) -> Self::Skeleton { let mut next = (*skeleton).clone(); - let lab = 0.6; //6 + let lab = 0.8; //6 + let speed = (Vec2::::from(velocity).magnitude()).min(12.0); + let speednorm = (speed / 12.0).powf(0.4); let speedmult = s_a.tempo; - let short = (anim_time as f32 * 20.0 * lab as f32 * speedmult + PI * 1.0).sin(); - let shortalt = (anim_time as f32 * 20.0 * lab as f32 * speedmult + PI * 0.5).sin(); + let short = (acc_vel * lab as f32 * speedmult + PI * 1.0).sin() * speednorm; + let shortalt = (acc_vel * lab as f32 * speedmult + PI * 0.5).sin() * speednorm; - let footvert = (anim_time as f32 * 20.0 * lab as f32 * speedmult + PI * 0.0).sin(); - let footvertt = (anim_time as f32 * 20.0 * lab as f32 * speedmult + PI * 0.4).sin(); + let footvert = (acc_vel * lab as f32 * speedmult + PI * 0.0).sin() * speednorm; + let footvertt = (acc_vel * lab as f32 * speedmult + PI * 0.4).sin() * speednorm; - let footvertf = (anim_time as f32 * 20.0 * lab as f32 * speedmult + PI * 0.3).sin(); - let footverttf = (anim_time as f32 * 20.0 * lab as f32 * speedmult + PI * 0.7).sin(); + let footvertf = (acc_vel * lab as f32 * speedmult + PI * 0.3).sin() * speednorm; + let footverttf = (acc_vel * lab as f32 * speedmult + PI * 0.7).sin() * speednorm; let ori: Vec2 = Vec2::from(orientation); let last_ori = Vec2::from(last_ori); @@ -48,7 +50,7 @@ impl Animation for RunAnimation { } else { 0.0 } * 1.3; - let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude()); + let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude()) * speednorm; next.leg_fl.scale = Vec3::one() * 1.02; next.leg_fr.scale = Vec3::one() * 1.02; @@ -63,7 +65,7 @@ impl Animation for RunAnimation { next.chest.position = Vec3::new( 0.0, s_a.chest.0, - s_a.chest.1 + 2.0 * s_a.spring + shortalt * 3.0 * s_a.spring, + s_a.chest.1 + 2.0 * speednorm * s_a.spring + shortalt * 3.0 * s_a.spring, ) / 11.0 * s_a.scaler; next.chest.orientation = Quaternion::rotation_x(short * 0.2 * s_a.spring + x_tilt) @@ -76,36 +78,40 @@ impl Animation for RunAnimation { s_a.feet_f.1 + footverttf * 3.0 * s_a.minimize, s_a.feet_f.2 + ((footvertf * -1.5).max(-1.0)), ); - next.leg_fl.orientation = Quaternion::rotation_x(0.2 + s_a.maximize * footverttf * 0.65) - * Quaternion::rotation_z(tilt * -0.5) - * Quaternion::rotation_y(tilt * 1.5); + next.leg_fl.orientation = + Quaternion::rotation_x(0.2 * speednorm + s_a.maximize * footverttf * 0.65) + * Quaternion::rotation_z(tilt * -0.5) + * Quaternion::rotation_y(tilt * 1.5); next.leg_fr.position = Vec3::new( s_a.feet_f.0, s_a.feet_f.1 + footvertt * 3.0 * s_a.minimize, s_a.feet_f.2 + ((footvert * -1.5).max(-1.0)), ); - next.leg_fr.orientation = Quaternion::rotation_x(0.2 + s_a.maximize * footvertt * 0.65) - * Quaternion::rotation_z(tilt * -0.5) - * Quaternion::rotation_y(tilt * 1.5); + next.leg_fr.orientation = + Quaternion::rotation_x(0.2 * speednorm + s_a.maximize * footvertt * 0.65) + * Quaternion::rotation_z(tilt * -0.5) + * Quaternion::rotation_y(tilt * 1.5); next.leg_bl.position = Vec3::new( -s_a.feet_b.0, s_a.feet_b.1 + footvertt * -1.4, s_a.feet_b.2 + ((footvert * 1.5).max(-1.0)), ); - next.leg_bl.orientation = Quaternion::rotation_x(-0.25 + s_a.maximize * footvertt * -0.8) - * Quaternion::rotation_y(tilt * 1.5) - * Quaternion::rotation_z(tilt * -1.5); + next.leg_bl.orientation = + Quaternion::rotation_x(-0.25 * speednorm + s_a.maximize * footvertt * -0.8) + * Quaternion::rotation_y(tilt * 1.5) + * Quaternion::rotation_z(tilt * -1.5); next.leg_br.position = Vec3::new( s_a.feet_b.0, s_a.feet_b.1 + footverttf * -1.4, s_a.feet_b.2 + ((footvertf * 1.5).max(-1.0)), ); - next.leg_br.orientation = Quaternion::rotation_x(-0.25 + s_a.maximize * footverttf * -0.8) - * Quaternion::rotation_y(tilt * 1.5) - * Quaternion::rotation_z(tilt * -1.5); + next.leg_br.orientation = + Quaternion::rotation_x(-0.25 * speednorm + s_a.maximize * footverttf * -0.8) + * Quaternion::rotation_y(tilt * 1.5) + * Quaternion::rotation_z(tilt * -1.5); next.tail.position = Vec3::new(0.0, s_a.tail.0, s_a.tail.1); next.tail.orientation = Quaternion::rotation_x(short * 0.2 + x_tilt) diff --git a/voxygen/src/hud/util.rs b/voxygen/src/hud/util.rs index 4295469fd2..8f3981e3a5 100644 --- a/voxygen/src/hud/util.rs +++ b/voxygen/src/hud/util.rs @@ -154,6 +154,10 @@ fn tool_desc(tool: &Tool, components: &[Item], msm: &MaterialStatManifest, desc: ToolKind::Sceptre => "Sceptre", ToolKind::Shield => "Shield", ToolKind::Spear => "Spear", + ToolKind::HammerSimple => "HammerSimple", + ToolKind::SwordSimple => "SwordSimple", + ToolKind::StaffSimple => "StaffSimple", + ToolKind::BowSimple => "BowSimple", ToolKind::Unique(_) => "Unique", ToolKind::Debug => "Debug", ToolKind::Farming => "Farming Tool", diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index 84dd8001ad..6dda5b6c69 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -1219,7 +1219,7 @@ impl QuadrupedSmallLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.left_front.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.left_front.lateral.0); (lateral, Vec3::from(spec.left_front.offset)) } @@ -1251,7 +1251,7 @@ impl QuadrupedSmallLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.left_back.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.left_back.lateral.0); (lateral, Vec3::from(spec.left_back.offset)) } @@ -1771,7 +1771,7 @@ impl BirdMediumLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.wing_l.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.wing_l.lateral.0); (lateral, Vec3::from(spec.wing_l.offset)) } @@ -1803,7 +1803,7 @@ impl BirdMediumLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.foot_l.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.foot_l.lateral.0); (lateral, Vec3::from(spec.foot_l.offset)) } @@ -2052,7 +2052,7 @@ impl TheropodLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.hand_l.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.hand_l.lateral.0); (lateral, Vec3::from(spec.hand_l.offset)) } @@ -2084,7 +2084,7 @@ impl TheropodLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.leg_l.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.leg_l.lateral.0); (lateral, Vec3::from(spec.leg_l.offset)) } @@ -2116,7 +2116,7 @@ impl TheropodLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.foot_l.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.foot_l.lateral.0); (lateral, Vec3::from(spec.foot_l.offset)) } @@ -2310,7 +2310,7 @@ impl FishMediumLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.fin_l.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.fin_l.lateral.0); (lateral, Vec3::from(spec.fin_l.offset)) } @@ -2445,7 +2445,7 @@ impl FishSmallLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.fin_l.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.fin_l.lateral.0); (lateral, Vec3::from(spec.fin_l.offset)) } @@ -3170,7 +3170,6 @@ struct SidedBLCentralVoxSpec { torso_upper: BipedLargeCentralSubSpec, torso_lower: BipedLargeCentralSubSpec, tail: BipedLargeCentralSubSpec, - main: BipedLargeCentralSubSpec, second: BipedLargeCentralSubSpec, } #[derive(Deserialize)] @@ -3198,14 +3197,29 @@ struct BipedLargeLateralSubSpec { offset: [f32; 3], // Should be relative to initial origin lateral: VoxSimple, } - +#[derive(Deserialize)] +struct BipedLargeWeaponSpec(HashMap); make_vox_spec!( biped_large::Body, struct BipedLargeSpec { central: BipedLargeCentralSpec = "voxygen.voxel.biped_large_central_manifest", lateral: BipedLargeLateralSpec = "voxygen.voxel.biped_large_lateral_manifest", + weapon: BipedLargeWeaponSpec = "voxygen.voxel.biped_large_weapon_manifest", }, - |FigureKey { body, .. }, spec| { + |FigureKey { body, extra }, spec| { + const DEFAULT_LOADOUT: super::cache::CharacterCacheKey = super::cache::CharacterCacheKey { + third_person: None, + tool: None, + lantern: None, + glider: None, + hand: None, + foot: None, + }; + + // TODO: This is bad code, maybe this method should return Option<_> + let loadout = extra.as_deref().unwrap_or(&DEFAULT_LOADOUT); + //let third_person = loadout.third_person.as_ref(); + let tool = loadout.tool.as_ref(); [ Some(spec.central.read().0.mesh_head( body.species, @@ -3227,10 +3241,12 @@ make_vox_spec!( body.species, body.body_type, )), - Some(spec.central.read().0.mesh_main( - body.species, - body.body_type, - )), + tool.and_then(|tool| tool.active.as_ref()).map(|tool| { + spec.weapon.read().0.mesh_main( + tool, + false, + ) + }), Some(spec.central.read().0.mesh_second( body.species, body.body_type, @@ -3353,22 +3369,6 @@ impl BipedLargeCentralSpec { (central, Vec3::from(spec.tail.offset)) } - fn mesh_main(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes { - let spec = match self.0.get(&(species, body_type)) { - Some(spec) => spec, - None => { - error!( - "No main weapon specification exists for the combination of {:?} and {:?}", - species, body_type - ); - return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); - }, - }; - let central = graceful_load_segment(&spec.main.central.0); - - (central, Vec3::from(spec.main.offset)) - } - fn mesh_second(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes { let spec = match self.0.get(&(species, body_type)) { Some(spec) => spec, @@ -3514,6 +3514,35 @@ impl BipedLargeLateralSpec { (lateral, Vec3::from(spec.foot_r.offset)) } } +impl BipedLargeWeaponSpec { + fn mesh_main(&self, item_definition_id: &str, flipped: bool) -> BoneMeshes { + let spec = match self.0.get(item_definition_id) { + Some(spec) => spec, + None => { + error!(?item_definition_id, "No tool/weapon specification exists"); + return load_mesh("not_found", Vec3::new(-1.5, -1.5, -7.0)); + }, + }; + + let tool_kind_segment = if flipped { + graceful_load_segment_flipped(&spec.vox_spec.0) + } else { + graceful_load_segment(&spec.vox_spec.0) + }; + + let offset = Vec3::new( + if flipped { + 0.0 - spec.vox_spec.1[0] - (tool_kind_segment.sz.x as f32) + } else { + spec.vox_spec.1[0] + }, + spec.vox_spec.1[1], + spec.vox_spec.1[2], + ); + + (tool_kind_segment, offset) + } +} //// #[derive(Deserialize)] struct GolemCentralSpec(HashMap<(GSpecies, GBodyType), SidedGCentralVoxSpec>); @@ -4013,7 +4042,7 @@ impl QuadrupedLowLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.front_left.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.front_left.lateral.0); (lateral, Vec3::from(spec.front_left.offset)) } @@ -4045,7 +4074,7 @@ impl QuadrupedLowLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.back_left.lateral.0); + let lateral = graceful_load_segment_flipped(&spec.back_left.lateral.0); (lateral, Vec3::from(spec.back_left.offset)) } diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index 0f723bcd5c..89caf22f31 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -53,7 +53,7 @@ use treeculler::{BVol, BoundingSphere}; use vek::*; const DAMAGE_FADE_COEFFICIENT: f64 = 15.0; -const MOVING_THRESHOLD: f32 = 0.7; +const MOVING_THRESHOLD: f32 = 0.4; const MOVING_THRESHOLD_SQR: f32 = MOVING_THRESHOLD * MOVING_THRESHOLD; /// camera data, figure LOD render distance. @@ -1345,6 +1345,13 @@ impl FigureMgr { skeleton_attr, ) }, + CharacterState::Talk => anim::character::TalkAnimation::update_skeleton( + &target_base, + (active_tool_kind, second_tool_kind, vel.0.magnitude(), time), + state.state_time, + &mut state_animation_rate, + skeleton_attr, + ), CharacterState::Wielding { .. } => { if physics.in_liquid.is_some() { anim::character::SwimWieldAnimation::update_skeleton( @@ -1517,6 +1524,8 @@ impl FigureMgr { state.last_ori * anim::vek::Vec3::::unit_y(), time, state.avg_vel, + state.acc_vel, + ), state.state_time, &mut state_animation_rate, @@ -1533,6 +1542,8 @@ impl FigureMgr { state.last_ori * anim::vek::Vec3::::unit_y(), time, state.avg_vel, + state.acc_vel, + ), state.state_time, &mut state_animation_rate, @@ -2047,6 +2058,8 @@ impl FigureMgr { state.last_ori * anim::vek::Vec3::::unit_y(), time, state.avg_vel, + state.acc_vel, + ), state.state_time, &mut state_animation_rate, @@ -2062,6 +2075,8 @@ impl FigureMgr { state.last_ori * anim::vek::Vec3::::unit_y(), time, state.avg_vel, + state.acc_vel, + ), state.state_time, &mut state_animation_rate, @@ -3217,12 +3232,13 @@ impl FigureMgr { ( active_tool_kind, second_tool_kind, - vel.0.magnitude(), + vel.0, // TODO: Update to use the quaternion. ori * anim::vek::Vec3::::unit_y(), state.last_ori * anim::vek::Vec3::::unit_y(), time, state.avg_vel, + state.acc_vel, ), state.state_time, &mut state_animation_rate, @@ -3257,7 +3273,13 @@ impl FigureMgr { CharacterState::Wielding { .. } => { anim::biped_large::WieldAnimation::update_skeleton( &target_base, - (active_tool_kind, second_tool_kind, vel.0.magnitude(), time), + ( + active_tool_kind, + second_tool_kind, + vel.0, + time, + state.acc_vel, + ), state.state_time, &mut state_animation_rate, skeleton_attr, @@ -3269,9 +3291,10 @@ impl FigureMgr { ( active_tool_kind, second_tool_kind, - vel.0.magnitude(), + vel.0, time, None, + state.acc_vel, ), state.state_time, &mut state_animation_rate, @@ -3297,12 +3320,13 @@ impl FigureMgr { ( active_tool_kind, second_tool_kind, - vel.0.magnitude(), + vel.0, // TODO: Update to use the quaternion. ori * anim::vek::Vec3::::unit_y(), state.last_ori * anim::vek::Vec3::::unit_y(), time, Some(s.stage_section), + state.acc_vel, ), stage_progress, &mut state_animation_rate, @@ -3328,12 +3352,13 @@ impl FigureMgr { ( active_tool_kind, second_tool_kind, - vel.0.magnitude(), + vel.0, // TODO: Update to use the quaternion. ori * anim::vek::Vec3::::unit_y(), state.last_ori * anim::vek::Vec3::::unit_y(), time, Some(s.stage_section), + state.acc_vel, ), stage_progress, &mut state_animation_rate, @@ -3400,9 +3425,10 @@ impl FigureMgr { ( active_tool_kind, second_tool_kind, - vel.0.magnitude(), + vel.0, time, Some(s.stage_section), + state.acc_vel, ), stage_progress, &mut state_animation_rate,