mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Add legs to quadruped_medium
This commit is contained in:
parent
72eb03ceb5
commit
fe1656931c
@ -1,288 +1,544 @@
|
||||
({
|
||||
(Grolgar, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Grolgar, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-2.5, -4.0, -1.5),
|
||||
lateral: ("npc.grolgar.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-2.5, -4.0, -3.0),
|
||||
lateral: ("npc.grolgar.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Saber, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.saber.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.saber.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.saber.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.saber.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Saber, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.saber.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.saber.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.saber.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.saber.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.saber.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Viper, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Viper, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.viper.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.viper.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Tuskram, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Tuskram, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -4.5),
|
||||
lateral: ("npc.tuskram.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -4.0, -5.5),
|
||||
lateral: ("npc.tuskram.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Alligator, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Alligator, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.alligator.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.alligator.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Monitor, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Monitor, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.monitor.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.monitor.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Lion, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Lion, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.lion.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.lion.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Tarasque, Male): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.male.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.male.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.male.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Tarasque, Female): (
|
||||
left_front: (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.female.foot_lf"),
|
||||
),
|
||||
right_front: (
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tarasque.female.foot_rf"),
|
||||
),
|
||||
left_back: (
|
||||
foot_lb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.female.foot_lb"),
|
||||
),
|
||||
right_back: (
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tarasque.female.foot_rb"),
|
||||
),
|
||||
|
@ -18,6 +18,10 @@ pub struct QuadrupedMediumSkeleton {
|
||||
torso_back: Bone,
|
||||
torso_mid: Bone,
|
||||
ears: Bone,
|
||||
leg_lf: Bone,
|
||||
leg_rf: Bone,
|
||||
leg_lb: Bone,
|
||||
leg_rb: Bone,
|
||||
foot_lf: Bone,
|
||||
foot_rf: Bone,
|
||||
foot_lb: Bone,
|
||||
@ -31,10 +35,7 @@ impl QuadrupedMediumSkeleton {
|
||||
impl Skeleton for QuadrupedMediumSkeleton {
|
||||
type Attr = SkeletonAttr;
|
||||
|
||||
#[cfg(feature = "use-dyn-lib")]
|
||||
const COMPUTE_FN: &'static [u8] = b"quadruped_medium_compute_mats\0";
|
||||
|
||||
fn bone_count(&self) -> usize { 11 }
|
||||
fn bone_count(&self) -> usize { 15 }
|
||||
|
||||
#[cfg_attr(feature = "be-dyn-lib", export_name = "quadruped_medium_compute_mats")]
|
||||
fn compute_matrices_inner(&self) -> ([FigureBoneData; 16], Vec3<f32>) {
|
||||
@ -51,15 +52,15 @@ impl Skeleton for QuadrupedMediumSkeleton {
|
||||
FigureBoneData::new(self.torso_back.compute_base_matrix()),
|
||||
FigureBoneData::new(torso_mid_mat),
|
||||
FigureBoneData::new(head_upper_mat * ears_mat),
|
||||
FigureBoneData::new(self.leg_lf.compute_base_matrix()),
|
||||
FigureBoneData::new(self.leg_rf.compute_base_matrix()),
|
||||
FigureBoneData::new(self.leg_lb.compute_base_matrix()),
|
||||
FigureBoneData::new(self.leg_rb.compute_base_matrix()),
|
||||
FigureBoneData::new(self.foot_lf.compute_base_matrix()),
|
||||
FigureBoneData::new(self.foot_rf.compute_base_matrix()),
|
||||
FigureBoneData::new(self.foot_lb.compute_base_matrix()),
|
||||
FigureBoneData::new(self.foot_rb.compute_base_matrix()),
|
||||
FigureBoneData::default(),
|
||||
FigureBoneData::default(),
|
||||
FigureBoneData::default(),
|
||||
FigureBoneData::default(),
|
||||
FigureBoneData::default(),
|
||||
],
|
||||
Vec3::default(),
|
||||
)
|
||||
@ -73,6 +74,10 @@ impl Skeleton for QuadrupedMediumSkeleton {
|
||||
self.torso_back.interpolate(&target.torso_back, dt);
|
||||
self.torso_mid.interpolate(&target.torso_mid, dt);
|
||||
self.ears.interpolate(&target.ears, dt);
|
||||
self.leg_lf.interpolate(&target.leg_lf, dt);
|
||||
self.leg_rf.interpolate(&target.leg_rf, dt);
|
||||
self.leg_lb.interpolate(&target.leg_lb, dt);
|
||||
self.leg_rb.interpolate(&target.leg_rb, dt);
|
||||
self.foot_lf.interpolate(&target.foot_lf, dt);
|
||||
self.foot_rf.interpolate(&target.foot_rf, dt);
|
||||
self.foot_lb.interpolate(&target.foot_lb, dt);
|
||||
@ -88,6 +93,8 @@ pub struct SkeletonAttr {
|
||||
torso_back: (f32, f32),
|
||||
torso_mid: (f32, f32),
|
||||
ears: (f32, f32),
|
||||
leg_f: (f32, f32, f32),
|
||||
leg_b: (f32, f32, f32),
|
||||
feet_f: (f32, f32, f32),
|
||||
feet_b: (f32, f32, f32),
|
||||
height: f32,
|
||||
@ -114,6 +121,8 @@ impl Default for SkeletonAttr {
|
||||
torso_back: (0.0, 0.0),
|
||||
torso_mid: (0.0, 0.0),
|
||||
ears: (0.0, 0.0),
|
||||
leg_f: (0.0, 0.0, 0.0),
|
||||
leg_b: (0.0, 0.0, 0.0),
|
||||
feet_f: (0.0, 0.0, 0.0),
|
||||
feet_b: (0.0, 0.0, 0.0),
|
||||
height: (0.0),
|
||||
@ -195,6 +204,26 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Lion, _) => (-2.0, 4.0),
|
||||
(Tarasque, _) => (1.5, -2.0),
|
||||
},
|
||||
leg_f: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (5.0, 6.0, 2.0),
|
||||
(Saber, _) => (4.0, 6.0, 3.0),
|
||||
(Viper, _) => (4.0, 6.0, 3.0),
|
||||
(Tuskram, _) => (4.0, 6.0, 4.5),
|
||||
(Alligator, _) => (4.0, 6.0, 3.0),
|
||||
(Monitor, _) => (4.0, 6.0, 3.0),
|
||||
(Lion, _) => (5.0, 6.0, 3.0),
|
||||
(Tarasque, _) => (4.0, 6.0, 3.0),
|
||||
},
|
||||
leg_b: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (5.0, -4.0, 3.0),
|
||||
(Saber, _) => (4.0, -6.0, 3.5),
|
||||
(Viper, _) => (4.0, -4.0, 3.5),
|
||||
(Tuskram, _) => (4.0, -8.0, 5.5),
|
||||
(Alligator, _) => (4.0, -4.0, 3.5),
|
||||
(Monitor, _) => (4.0, -6.0, 3.5),
|
||||
(Lion, _) => (5.5, -8.0, 3.5),
|
||||
(Tarasque, _) => (4.0, -8.0, 3.5),
|
||||
},
|
||||
feet_f: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (5.0, 6.0, 2.0),
|
||||
(Saber, _) => (4.0, 6.0, 3.0),
|
||||
|
@ -66,6 +66,7 @@ impl EventMapper for MovementEventMapper {
|
||||
Body::Humanoid(_) => Self::map_movement_event(character, physics, state, vel.0),
|
||||
Body::QuadrupedMedium(_)
|
||||
| Body::QuadrupedSmall(_)
|
||||
| Body::QuadrupedLow(_)
|
||||
| Body::BirdMedium(_)
|
||||
| Body::BirdSmall(_)
|
||||
| Body::BipedLarge(_) => Self::map_non_humanoid_movement_event(physics, vel.0),
|
||||
@ -190,6 +191,7 @@ impl MovementEventMapper {
|
||||
Body::Humanoid(_) => 0.9,
|
||||
Body::QuadrupedSmall(_) => 0.3,
|
||||
Body::QuadrupedMedium(_) => 0.7,
|
||||
Body::QuadrupedLow(_) => 0.7,
|
||||
Body::BirdMedium(_) => 0.3,
|
||||
Body::BirdSmall(_) => 0.2,
|
||||
Body::BipedLarge(_) => 1.0,
|
||||
|
@ -295,6 +295,26 @@ impl<Skel: Skeleton> FigureModelCache<Skel> {
|
||||
body.body_type,
|
||||
generate_mesh,
|
||||
)),
|
||||
Some(quadruped_medium_lateral_spec.mesh_leg_lf(
|
||||
body.species,
|
||||
body.body_type,
|
||||
generate_mesh,
|
||||
)),
|
||||
Some(quadruped_medium_lateral_spec.mesh_leg_rf(
|
||||
body.species,
|
||||
body.body_type,
|
||||
generate_mesh,
|
||||
)),
|
||||
Some(quadruped_medium_lateral_spec.mesh_leg_lb(
|
||||
body.species,
|
||||
body.body_type,
|
||||
generate_mesh,
|
||||
)),
|
||||
Some(quadruped_medium_lateral_spec.mesh_leg_rb(
|
||||
body.species,
|
||||
body.body_type,
|
||||
generate_mesh,
|
||||
)),
|
||||
Some(quadruped_medium_lateral_spec.mesh_foot_lf(
|
||||
body.species,
|
||||
body.body_type,
|
||||
@ -316,10 +336,6 @@ impl<Skel: Skeleton> FigureModelCache<Skel> {
|
||||
generate_mesh,
|
||||
)),
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
]
|
||||
},
|
||||
Body::BirdMedium(body) => {
|
||||
|
@ -1231,10 +1231,14 @@ struct QuadrupedMediumCentralSubSpec {
|
||||
pub struct QuadrupedMediumLateralSpec(HashMap<(QMSpecies, QMBodyType), SidedQMLateralVoxSpec>);
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct SidedQMLateralVoxSpec {
|
||||
left_front: QuadrupedMediumLateralSubSpec,
|
||||
right_front: QuadrupedMediumLateralSubSpec,
|
||||
left_back: QuadrupedMediumLateralSubSpec,
|
||||
right_back: QuadrupedMediumLateralSubSpec,
|
||||
leg_lf: QuadrupedMediumLateralSubSpec,
|
||||
leg_rf: QuadrupedMediumLateralSubSpec,
|
||||
leg_lb: QuadrupedMediumLateralSubSpec,
|
||||
leg_rb: QuadrupedMediumLateralSubSpec,
|
||||
foot_lf: QuadrupedMediumLateralSubSpec,
|
||||
foot_rf: QuadrupedMediumLateralSubSpec,
|
||||
foot_lb: QuadrupedMediumLateralSubSpec,
|
||||
foot_rb: QuadrupedMediumLateralSubSpec,
|
||||
}
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct QuadrupedMediumLateralSubSpec {
|
||||
@ -1434,9 +1438,9 @@ impl QuadrupedMediumLateralSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.left_front.lateral.0);
|
||||
let lateral = graceful_load_segment(&spec.foot_lf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.left_front.offset))
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_lf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_rf(
|
||||
@ -1455,9 +1459,9 @@ impl QuadrupedMediumLateralSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.right_front.lateral.0);
|
||||
let lateral = graceful_load_segment(&spec.foot_rf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.right_front.offset))
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_rf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_lb(
|
||||
@ -1476,9 +1480,9 @@ impl QuadrupedMediumLateralSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.left_back.lateral.0);
|
||||
let lateral = graceful_load_segment(&spec.foot_lb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.left_back.offset))
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_lb.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_rb(
|
||||
@ -1497,9 +1501,93 @@ impl QuadrupedMediumLateralSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.right_back.lateral.0);
|
||||
let lateral = graceful_load_segment(&spec.foot_rb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.right_back.offset))
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_rb.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_leg_lf(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No leg specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.leg_lf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.leg_lf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_leg_rf(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No leg specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.leg_rf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.leg_rf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_leg_lb(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No leg specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.leg_lb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.leg_lb.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_leg_rb(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.leg_rb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.leg_rb.offset))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -394,7 +394,7 @@ impl FigureMgr {
|
||||
.quadruped_medium_states
|
||||
.get(&entity)
|
||||
.map(|state| state.lpindex),
|
||||
Body::QuadrupedLow(_) => self
|
||||
Body::QuadrupedLow(_) => self
|
||||
.quadruped_low_states
|
||||
.get(&entity)
|
||||
.map(|state| state.lpindex),
|
||||
|
Loading…
Reference in New Issue
Block a user