mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty.
This commit is contained in:
parent
59ae5ec573
commit
05c699878f
@ -25,4 +25,26 @@
|
|||||||
central: ("rudder"),
|
central: ("rudder"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
AirBalloon: (
|
||||||
|
bone0: (
|
||||||
|
offset: (-14.5, -16.0, 0.0),
|
||||||
|
phys_offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("Air_Balloon"),
|
||||||
|
),
|
||||||
|
bone1: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
phys_offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("empty"),
|
||||||
|
),
|
||||||
|
bone2: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
phys_offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("empty"),
|
||||||
|
),
|
||||||
|
bone3: (
|
||||||
|
offset: (-1.5, 37.0, -6.5),
|
||||||
|
phys_offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("Air_Balloon_rudder"),
|
||||||
|
),
|
||||||
|
),
|
||||||
})
|
})
|
||||||
|
BIN
assets/server/voxel/Air_Balloon.vox
(Stored with Git LFS)
Normal file
BIN
assets/server/voxel/Air_Balloon.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/server/voxel/Air_Balloon_rudder.vox
(Stored with Git LFS)
Normal file
BIN
assets/server/voxel/Air_Balloon_rudder.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/server/voxel/empty.vox
(Stored with Git LFS)
Normal file
BIN
assets/server/voxel/empty.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -67,7 +67,7 @@
|
|||||||
),
|
),
|
||||||
jaw: (
|
jaw: (
|
||||||
offset: (0.0, 0.0, 0.0),
|
offset: (0.0, 0.0, 0.0),
|
||||||
central: ("armor.empty"),
|
central: ("npc.cyclops.male.jaw"),
|
||||||
),
|
),
|
||||||
tail: (
|
tail: (
|
||||||
offset: (0.0, 0.0, 0.0),
|
offset: (0.0, 0.0, 0.0),
|
||||||
@ -93,7 +93,7 @@
|
|||||||
),
|
),
|
||||||
jaw: (
|
jaw: (
|
||||||
offset: (0.0, 0.0, 0.0),
|
offset: (0.0, 0.0, 0.0),
|
||||||
central: ("armor.empty"),
|
central: ("npc.cyclops.male.jaw"),
|
||||||
),
|
),
|
||||||
tail: (
|
tail: (
|
||||||
offset: (0.0, 0.0, 0.0),
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
BIN
assets/voxygen/voxel/npc/basilisk/male/chest.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/chest.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_bl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_bl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_br.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_br.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_fl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_fl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_fr.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/foot_fr.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/head_lower.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/head_lower.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/head_upper.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/head_upper.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/jaw.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/jaw.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/tail_front.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/tail_front.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/basilisk/male/tail_rear.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/basilisk/male/tail_rear.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/foot_l.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/foot_l.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/foot_r.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/foot_r.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/hand_l.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/hand_l.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/hand_r.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/hand_r.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/head.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/head.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/jaw.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/cyclops/male/jaw.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/leg_l.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/leg_l.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/leg_r.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/leg_r.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/shoulder_l.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/shoulder_l.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/shoulder_r.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/shoulder_r.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/torso_lower.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/torso_lower.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/cyclops/male/torso_upper.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/cyclops/male/torso_upper.vox
(Stored with Git LFS)
Binary file not shown.
@ -626,19 +626,19 @@
|
|||||||
),
|
),
|
||||||
(Basilisk, Male): (
|
(Basilisk, Male): (
|
||||||
upper: (
|
upper: (
|
||||||
offset: (-5.5, 0.0, -11.0),
|
offset: (-7.5, 0.0, -11.0),
|
||||||
central: ("npc.basilisk.male.head_upper"),
|
central: ("npc.basilisk.male.head_upper"),
|
||||||
),
|
),
|
||||||
lower: (
|
lower: (
|
||||||
offset: (-8.5, 0.0, -4.0),
|
offset: (-13.5, -2.0, -4.0),
|
||||||
central: ("npc.basilisk.male.head_lower"),
|
central: ("npc.basilisk.male.head_lower"),
|
||||||
),
|
),
|
||||||
jaw: (
|
jaw: (
|
||||||
offset: (-2.5, 0.0, -15.0),
|
offset: (-6.5, 0.0, -15.0),
|
||||||
central: ("npc.basilisk.male.jaw"),
|
central: ("npc.basilisk.male.jaw"),
|
||||||
),
|
),
|
||||||
chest: (
|
chest: (
|
||||||
offset: (-6.5, -13.0, -12.5),
|
offset: (-13.5, -13.0, -12.5),
|
||||||
central: ("npc.basilisk.male.chest"),
|
central: ("npc.basilisk.male.chest"),
|
||||||
),
|
),
|
||||||
tail_rear: (
|
tail_rear: (
|
||||||
@ -646,7 +646,7 @@
|
|||||||
central: ("npc.basilisk.male.tail_rear"),
|
central: ("npc.basilisk.male.tail_rear"),
|
||||||
),
|
),
|
||||||
tail_front: (
|
tail_front: (
|
||||||
offset: (-4.5, -24.0, -7.0),
|
offset: (-10.5, -24.0, -7.0),
|
||||||
central: ("npc.basilisk.male.tail_front"),
|
central: ("npc.basilisk.male.tail_front"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -2,505 +2,505 @@
|
|||||||
(Crocodile, Male): (
|
(Crocodile, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-7.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension
|
offset: (-7.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension
|
||||||
lateral: ("npc.crocodile.male.foot_fr"),
|
lateral: ("npc.crocodile.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension
|
offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension
|
||||||
lateral: ("npc.crocodile.male.foot_fr"),
|
lateral: ("npc.crocodile.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-8.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension
|
offset: (-8.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension
|
||||||
lateral: ("npc.crocodile.male.foot_br"),
|
lateral: ("npc.crocodile.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension
|
offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension
|
||||||
lateral: ("npc.crocodile.male.foot_br"),
|
lateral: ("npc.crocodile.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Crocodile, Female): (
|
(Crocodile, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-7.0, -0.0, -4.0),
|
offset: (-7.0, -0.0, -4.0),
|
||||||
lateral: ("npc.crocodile.male.foot_fr"),
|
lateral: ("npc.crocodile.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, -0.0, -4.0),
|
offset: (0.0, -0.0, -4.0),
|
||||||
lateral: ("npc.crocodile.male.foot_fr"),
|
lateral: ("npc.crocodile.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-8.0, -0.0, -4.0),
|
offset: (-8.0, -0.0, -4.0),
|
||||||
lateral: ("npc.crocodile.male.foot_br"),
|
lateral: ("npc.crocodile.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -0.0, -4.0),
|
offset: (0.0, -0.0, -4.0),
|
||||||
lateral: ("npc.crocodile.male.foot_br"),
|
lateral: ("npc.crocodile.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Alligator, Male): (
|
(Alligator, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-7.0, 0.0, -4.0),
|
offset: (-7.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_fr"),
|
lateral: ("npc.alligator.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (-0.0, 0.0, -4.0),
|
offset: (-0.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_fr"),
|
lateral: ("npc.alligator.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-8.0, 0.0, -4.0),
|
offset: (-8.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_br"),
|
lateral: ("npc.alligator.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-0.0, 0.0, -4.0),
|
offset: (-0.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_br"),
|
lateral: ("npc.alligator.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Alligator, Female): (
|
(Alligator, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-7.0, 0.0, -4.0),
|
offset: (-7.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_fr"),
|
lateral: ("npc.alligator.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -4.0),
|
offset: (0.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_fr"),
|
lateral: ("npc.alligator.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-8.0, 0.0, -4.0),
|
offset: (-8.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_br"),
|
lateral: ("npc.alligator.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -4.0),
|
offset: (0.0, 0.0, -4.0),
|
||||||
lateral: ("npc.alligator.male.foot_br"),
|
lateral: ("npc.alligator.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Salamander, Male): (
|
(Salamander, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-6.0, 0.0, -3.0),
|
offset: (-6.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.male.foot_fr"),
|
lateral: ("npc.salamander.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -3.0),
|
offset: (0.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.male.foot_fr"),
|
lateral: ("npc.salamander.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-7.0, 0.0, -3.0),
|
offset: (-7.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.male.foot_br"),
|
lateral: ("npc.salamander.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-0.0, 0.0, -3.0),
|
offset: (-0.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.male.foot_br"),
|
lateral: ("npc.salamander.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Salamander, Female): (
|
(Salamander, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-6.0, 0.0, -3.0),
|
offset: (-6.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.female.foot_fr"),
|
lateral: ("npc.salamander.female.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -3.0),
|
offset: (0.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.female.foot_fr"),
|
lateral: ("npc.salamander.female.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-8.0, 0.0, -3.0),
|
offset: (-8.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.female.foot_br"),
|
lateral: ("npc.salamander.female.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -3.0),
|
offset: (0.0, 0.0, -3.0),
|
||||||
lateral: ("npc.salamander.female.foot_br"),
|
lateral: ("npc.salamander.female.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Monitor, Male): (
|
(Monitor, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-8.0, 0.0, -5.0),
|
offset: (-8.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_fr"),
|
lateral: ("npc.monitor.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -5.0),
|
offset: (0.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_fr"),
|
lateral: ("npc.monitor.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-7.0, 0.0, -5.0),
|
offset: (-7.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_br"),
|
lateral: ("npc.monitor.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -5.0),
|
offset: (0.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_br"),
|
lateral: ("npc.monitor.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Monitor, Female): (
|
(Monitor, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-8.0, 0.0, -5.0),
|
offset: (-8.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_fr"),
|
lateral: ("npc.monitor.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -5.0),
|
offset: (0.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_fr"),
|
lateral: ("npc.monitor.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-7.0, 0.0, -5.0),
|
offset: (-7.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_br"),
|
lateral: ("npc.monitor.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -5.0),
|
offset: (0.0, 0.0, -5.0),
|
||||||
lateral: ("npc.monitor.male.foot_br"),
|
lateral: ("npc.monitor.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Asp, Male): (
|
(Asp, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-10.0, 0.0, -6.5),
|
offset: (-10.0, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_fr"),
|
lateral: ("npc.asp.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -6.5),
|
offset: (0.0, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_fr"),
|
lateral: ("npc.asp.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-7.5, 0.0, -6.5),
|
offset: (-7.5, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_br"),
|
lateral: ("npc.asp.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -6.5),
|
offset: (0.0, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_br"),
|
lateral: ("npc.asp.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Asp, Female): (
|
(Asp, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-10.0, 0.0, -6.5),
|
offset: (-10.0, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_fr"),
|
lateral: ("npc.asp.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -6.5),
|
offset: (0.0, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_fr"),
|
lateral: ("npc.asp.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-7.5, 0.0, -6.5),
|
offset: (-7.5, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_br"),
|
lateral: ("npc.asp.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -6.5),
|
offset: (0.0, 0.0, -6.5),
|
||||||
lateral: ("npc.asp.male.foot_br"),
|
lateral: ("npc.asp.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Tortoise, Male): (
|
(Tortoise, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-7.0, 0.0, -8.0),
|
offset: (-7.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_fr"),
|
lateral: ("npc.tortoise.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -8.0),
|
offset: (0.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_fr"),
|
lateral: ("npc.tortoise.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-7.0, 0.0, -8.0),
|
offset: (-7.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_br"),
|
lateral: ("npc.tortoise.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -8.0),
|
offset: (0.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_br"),
|
lateral: ("npc.tortoise.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Tortoise, Female): (
|
(Tortoise, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-7.0, 0.0, -8.0),
|
offset: (-7.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_fr"),
|
lateral: ("npc.tortoise.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -8.0),
|
offset: (0.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_fr"),
|
lateral: ("npc.tortoise.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-7.0, 0.0, -8.0),
|
offset: (-7.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_br"),
|
lateral: ("npc.tortoise.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -8.0),
|
offset: (0.0, 0.0, -8.0),
|
||||||
lateral: ("npc.tortoise.male.foot_br"),
|
lateral: ("npc.tortoise.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Rocksnapper, Male): (
|
(Rocksnapper, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-12.0, 0.0, -10.0),
|
offset: (-12.0, 0.0, -10.0),
|
||||||
lateral: ("npc.rocksnapper.male.foot_fr"),
|
lateral: ("npc.rocksnapper.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -10.0),
|
offset: (0.0, 0.0, -10.0),
|
||||||
lateral: ("npc.rocksnapper.male.foot_fr"),
|
lateral: ("npc.rocksnapper.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-11.0, -6.0, -9.0),
|
offset: (-11.0, -6.0, -9.0),
|
||||||
lateral: ("npc.rocksnapper.male.foot_br"),
|
lateral: ("npc.rocksnapper.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -6.0, -9.0),
|
offset: (0.0, -6.0, -9.0),
|
||||||
lateral: ("npc.rocksnapper.male.foot_br"),
|
lateral: ("npc.rocksnapper.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Rocksnapper, Female): (
|
(Rocksnapper, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-12.0, 0.0, -10.0),
|
offset: (-12.0, 0.0, -10.0),
|
||||||
lateral: ("npc.rocksnapper.male.foot_fr"),
|
lateral: ("npc.rocksnapper.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -10.0),
|
offset: (0.0, 0.0, -10.0),
|
||||||
lateral: ("npc.rocksnapper.male.foot_fr"),
|
lateral: ("npc.rocksnapper.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-11.0, -6.0, -9.0),//special case
|
offset: (-11.0, -6.0, -9.0),//special case
|
||||||
lateral: ("npc.rocksnapper.male.foot_br"),
|
lateral: ("npc.rocksnapper.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -6.0, -9.0),
|
offset: (0.0, -6.0, -9.0),
|
||||||
lateral: ("npc.rocksnapper.male.foot_br"),
|
lateral: ("npc.rocksnapper.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Pangolin, Male): (
|
(Pangolin, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-1.5, 0.0, -6.0),//unique
|
offset: (-1.5, 0.0, -6.0),//unique
|
||||||
lateral: ("npc.pangolin.male.foot_fr"),
|
lateral: ("npc.pangolin.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (-1.5, 0.0, -6.0),
|
offset: (-1.5, 0.0, -6.0),
|
||||||
lateral: ("npc.pangolin.male.foot_fr"),
|
lateral: ("npc.pangolin.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-1.5, 0.0, -6.0),
|
offset: (-1.5, 0.0, -6.0),
|
||||||
lateral: ("npc.pangolin.male.foot_br"),
|
lateral: ("npc.pangolin.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-1.5, 0.0, -6.0),
|
offset: (-1.5, 0.0, -6.0),
|
||||||
lateral: ("npc.pangolin.male.foot_br"),
|
lateral: ("npc.pangolin.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Pangolin, Female): (
|
(Pangolin, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-1.5, 0.0, -6.0),
|
offset: (-1.5, 0.0, -6.0),
|
||||||
lateral: ("npc.pangolin.male.foot_fr"),
|
lateral: ("npc.pangolin.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (-1.5, 0.0, -6.0),
|
offset: (-1.5, 0.0, -6.0),
|
||||||
lateral: ("npc.pangolin.male.foot_fr"),
|
lateral: ("npc.pangolin.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-1.5, 0.0, -6.0),//special case
|
offset: (-1.5, 0.0, -6.0),//special case
|
||||||
lateral: ("npc.pangolin.male.foot_br"),
|
lateral: ("npc.pangolin.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-1.5, 0.0, -6.0),
|
offset: (-1.5, 0.0, -6.0),
|
||||||
lateral: ("npc.pangolin.male.foot_br"),
|
lateral: ("npc.pangolin.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Maneater, Male): (
|
(Maneater, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-6.0, 0.0, -6.5),
|
offset: (-6.0, 0.0, -6.5),
|
||||||
lateral: ("npc.maneater.male.foot_fr"),
|
lateral: ("npc.maneater.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (-2.0, 0.0, -6.5),
|
offset: (-2.0, 0.0, -6.5),
|
||||||
lateral: ("npc.maneater.male.foot_fr"),
|
lateral: ("npc.maneater.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-6.0, -8.0, -9.0),
|
offset: (-6.0, -8.0, -9.0),
|
||||||
lateral: ("npc.maneater.male.foot_br"),
|
lateral: ("npc.maneater.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-2.0, -8.0, -9.0),
|
offset: (-2.0, -8.0, -9.0),
|
||||||
lateral: ("npc.maneater.male.foot_br"),
|
lateral: ("npc.maneater.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Maneater, Female): (
|
(Maneater, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-6.0, 0.0, -6.5),
|
offset: (-6.0, 0.0, -6.5),
|
||||||
lateral: ("npc.maneater.male.foot_fr"),
|
lateral: ("npc.maneater.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (-2.0, 0.0, -6.5),
|
offset: (-2.0, 0.0, -6.5),
|
||||||
lateral: ("npc.maneater.male.foot_fr"),
|
lateral: ("npc.maneater.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-6.0, -8.0, -9.0),
|
offset: (-6.0, -8.0, -9.0),
|
||||||
lateral: ("npc.maneater.male.foot_br"),
|
lateral: ("npc.maneater.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-2.0, -8.0, -9.0),
|
offset: (-2.0, -8.0, -9.0),
|
||||||
lateral: ("npc.maneater.male.foot_br"),
|
lateral: ("npc.maneater.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Hakulaq, Male): (
|
(Hakulaq, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-10.0, 0.0, -9.0),
|
offset: (-10.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_fr"),
|
lateral: ("npc.hakulaq.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_fr"),
|
lateral: ("npc.hakulaq.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-10.0, 0.0, -9.0),
|
offset: (-10.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_br"),
|
lateral: ("npc.hakulaq.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_br"),
|
lateral: ("npc.hakulaq.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Hakulaq, Female): (
|
(Hakulaq, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-10.0, 0.0, -9.0),
|
offset: (-10.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_fr"),
|
lateral: ("npc.hakulaq.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_fr"),
|
lateral: ("npc.hakulaq.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-10.0, 0.0, -9.0),
|
offset: (-10.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_br"),
|
lateral: ("npc.hakulaq.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.hakulaq.male.foot_br"),
|
lateral: ("npc.hakulaq.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Sandshark, Male): (
|
(Sandshark, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-17.0, 0.0, -12.0),
|
offset: (-17.0, 0.0, -12.0),
|
||||||
lateral: ("npc.sandshark.male.foot_fr"),
|
lateral: ("npc.sandshark.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -12.0),
|
offset: (0.0, 0.0, -12.0),
|
||||||
lateral: ("npc.sandshark.male.foot_fr"),
|
lateral: ("npc.sandshark.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-9.0, 0.0, -6.0),
|
offset: (-9.0, 0.0, -6.0),
|
||||||
lateral: ("npc.sandshark.male.foot_br"),
|
lateral: ("npc.sandshark.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-2.0, 0.0, -6.0),
|
offset: (-2.0, 0.0, -6.0),
|
||||||
lateral: ("npc.sandshark.male.foot_br"),
|
lateral: ("npc.sandshark.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Sandshark, Female): (
|
(Sandshark, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-17.0, 0.0, -12.0),
|
offset: (-17.0, 0.0, -12.0),
|
||||||
lateral: ("npc.sandshark.male.foot_fr"),
|
lateral: ("npc.sandshark.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -12.0),
|
offset: (0.0, 0.0, -12.0),
|
||||||
lateral: ("npc.sandshark.male.foot_fr"),
|
lateral: ("npc.sandshark.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-9.0, 0.0, -6.0),
|
offset: (-9.0, 0.0, -6.0),
|
||||||
lateral: ("npc.sandshark.male.foot_br"),
|
lateral: ("npc.sandshark.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (-2.0, 0.0, -6.0),
|
offset: (-2.0, 0.0, -6.0),
|
||||||
lateral: ("npc.sandshark.male.foot_br"),
|
lateral: ("npc.sandshark.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Lavadrake, Male): (
|
(Lavadrake, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-14.0, -4.0, -10.0),
|
offset: (-14.0, -4.0, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_fr"),
|
lateral: ("npc.lavadrake.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, -4.0, -10.0),
|
offset: (0.0, -4.0, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_fr"),
|
lateral: ("npc.lavadrake.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-14.0, -7.5, -10.0),
|
offset: (-14.0, -7.5, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_br"),
|
lateral: ("npc.lavadrake.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -7.5, -10.0),
|
offset: (0.0, -7.5, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_br"),
|
lateral: ("npc.lavadrake.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Lavadrake, Female): (
|
(Lavadrake, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-14.0, -4.0, -10.0),
|
offset: (-14.0, -4.0, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_fr"),
|
lateral: ("npc.lavadrake.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, -4.0, -10.0),
|
offset: (0.0, -4.0, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_fr"),
|
lateral: ("npc.lavadrake.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-14.0, -7.5, -10.0),
|
offset: (-14.0, -7.5, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_br"),
|
lateral: ("npc.lavadrake.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -7.5, -10.0),
|
offset: (0.0, -7.5, -10.0),
|
||||||
lateral: ("npc.lavadrake.male.foot_br"),
|
lateral: ("npc.lavadrake.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Basilisk, Male): (
|
(Basilisk, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-17.0, 0.0, -9.0),
|
offset: (-15.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_fr"),
|
lateral: ("npc.basilisk.male.foot_fl", true),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_fr"),
|
lateral: ("npc.basilisk.male.foot_fr", true),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-15.0, 0.0, -9.0),
|
offset: (-15.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_br"),
|
lateral: ("npc.basilisk.male.foot_bl", true),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_br"),
|
lateral: ("npc.basilisk.male.foot_br", true),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Basilisk, Female): (
|
(Basilisk, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-17.0, 0.0, -9.0),
|
offset: (-15.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_fr"),
|
lateral: ("npc.basilisk.male.foot_fl", true),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_fr"),
|
lateral: ("npc.basilisk.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-15.0, 0.0, -9.0),
|
offset: (-15.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_br"),
|
lateral: ("npc.basilisk.male.foot_bl", true),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, 0.0, -9.0),
|
offset: (0.0, 0.0, -9.0),
|
||||||
lateral: ("npc.basilisk.male.foot_br"),
|
lateral: ("npc.basilisk.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Deadwood, Male): (
|
(Deadwood, Male): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-5.0, -2.0, -7.0),
|
offset: (-5.0, -2.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_fr"),
|
lateral: ("npc.deadwood.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, -2.0, -7.0),
|
offset: (0.0, -2.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_fr"),
|
lateral: ("npc.deadwood.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-5.0, -1.0, -7.0),
|
offset: (-5.0, -1.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_br"),
|
lateral: ("npc.deadwood.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -1.0, -7.0),
|
offset: (0.0, -1.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_br"),
|
lateral: ("npc.deadwood.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Deadwood, Female): (
|
(Deadwood, Female): (
|
||||||
front_left: (
|
front_left: (
|
||||||
offset: (-5.0, -2.0, -7.0),
|
offset: (-5.0, -2.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_fr"),
|
lateral: ("npc.deadwood.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
front_right: (
|
front_right: (
|
||||||
offset: (0.0, -2.0, -7.0),
|
offset: (0.0, -2.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_fr"),
|
lateral: ("npc.deadwood.male.foot_fr", false),
|
||||||
),
|
),
|
||||||
back_left: (
|
back_left: (
|
||||||
offset: (-5.0, -1.0, -7.0),
|
offset: (-5.0, -1.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_br"),
|
lateral: ("npc.deadwood.male.foot_br", false),
|
||||||
),
|
),
|
||||||
back_right: (
|
back_right: (
|
||||||
offset: (0.0, -1.0, -7.0),
|
offset: (0.0, -1.0, -7.0),
|
||||||
lateral: ("npc.deadwood.male.foot_br"),
|
lateral: ("npc.deadwood.male.foot_br", false),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
})
|
})
|
||||||
|
BIN
assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox
(Stored with Git LFS)
Binary file not shown.
@ -621,7 +621,7 @@ impl Body {
|
|||||||
Body::BirdLarge(_) => 50.0,
|
Body::BirdLarge(_) => 50.0,
|
||||||
Body::BirdMedium(_) => 40.0,
|
Body::BirdMedium(_) => 40.0,
|
||||||
Body::Dragon(_) => 60.0,
|
Body::Dragon(_) => 60.0,
|
||||||
Body::Ship(ship::Body::DefaultAirship) => 60.0,
|
Body::Ship(ship) if ship.can_fly() => 60.0,
|
||||||
_ => 0.0,
|
_ => 0.0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -688,6 +688,7 @@ impl Body {
|
|||||||
pub fn mounting_offset(&self) -> Vec3<f32> {
|
pub fn mounting_offset(&self) -> Vec3<f32> {
|
||||||
match self {
|
match self {
|
||||||
Body::Ship(ship::Body::DefaultAirship) => Vec3::from([0.0, 0.0, 10.0]),
|
Body::Ship(ship::Body::DefaultAirship) => Vec3::from([0.0, 0.0, 10.0]),
|
||||||
|
Body::Ship(ship::Body::AirBalloon) => Vec3::from([0.0, 0.0, 10.0]),
|
||||||
_ => Vec3::unit_z(),
|
_ => Vec3::unit_z(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,15 +3,19 @@ use crate::{
|
|||||||
consts::AIR_DENSITY,
|
consts::AIR_DENSITY,
|
||||||
make_case_elim,
|
make_case_elim,
|
||||||
};
|
};
|
||||||
|
use rand::prelude::SliceRandom;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use vek::Vec3;
|
use vek::Vec3;
|
||||||
|
|
||||||
|
pub const ALL_BODIES: [Body; 2] = [Body::DefaultAirship, Body::AirBalloon];
|
||||||
|
|
||||||
make_case_elim!(
|
make_case_elim!(
|
||||||
body,
|
body,
|
||||||
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||||
#[repr(u32)]
|
#[repr(u32)]
|
||||||
pub enum Body {
|
pub enum Body {
|
||||||
DefaultAirship = 0,
|
DefaultAirship = 0,
|
||||||
|
AirBalloon = 1,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -20,13 +24,26 @@ impl From<Body> for super::Body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Body {
|
impl Body {
|
||||||
|
pub fn random() -> Self {
|
||||||
|
let mut rng = rand::thread_rng();
|
||||||
|
Self::random_with(&mut rng)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn random_with(rng: &mut impl rand::Rng) -> Self { *(&ALL_BODIES).choose(rng).unwrap() }
|
||||||
|
|
||||||
pub fn manifest_entry(&self) -> &'static str {
|
pub fn manifest_entry(&self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Body::DefaultAirship => "Human_Airship",
|
Body::DefaultAirship => "Human_Airship",
|
||||||
|
Body::AirBalloon => "Air_Balloon",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn dimensions(&self) -> Vec3<f32> { Vec3::new(25.0, 50.0, 40.0) }
|
pub fn dimensions(&self) -> Vec3<f32> {
|
||||||
|
match self {
|
||||||
|
Body::DefaultAirship => Vec3::new(25.0, 50.0, 40.0),
|
||||||
|
Body::AirBalloon => Vec3::new(25.0, 50.0, 40.0),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn balloon_vol(&self) -> f32 {
|
fn balloon_vol(&self) -> f32 {
|
||||||
let spheroid_vol = |equat_d: f32, polar_d: f32| -> f32 {
|
let spheroid_vol = |equat_d: f32, polar_d: f32| -> f32 {
|
||||||
@ -52,6 +69,12 @@ impl Body {
|
|||||||
pub fn density(&self) -> Density { Density(AIR_DENSITY) }
|
pub fn density(&self) -> Density { Density(AIR_DENSITY) }
|
||||||
|
|
||||||
pub fn mass(&self) -> Mass { Mass((self.hull_vol() + self.balloon_vol()) * self.density().0) }
|
pub fn mass(&self) -> Mass { Mass((self.hull_vol() + self.balloon_vol()) * self.density().0) }
|
||||||
|
|
||||||
|
pub fn can_fly(&self) -> bool {
|
||||||
|
match self {
|
||||||
|
Body::DefaultAirship | Body::AirBalloon => true,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Terrain is 11.0 scale relative to small-scale voxels,
|
/// Terrain is 11.0 scale relative to small-scale voxels,
|
||||||
|
@ -3,7 +3,7 @@ use crate::{
|
|||||||
biped_large, biped_small,
|
biped_large, biped_small,
|
||||||
inventory::slot::EquipSlot,
|
inventory::slot::EquipSlot,
|
||||||
item::{Hands, ItemKind, Tool, ToolKind},
|
item::{Hands, ItemKind, Tool, ToolKind},
|
||||||
quadruped_low, quadruped_medium, quadruped_small, ship,
|
quadruped_low, quadruped_medium, quadruped_small,
|
||||||
skills::{Skill, SwimSkill},
|
skills::{Skill, SwimSkill},
|
||||||
theropod, Body, CharacterAbility, CharacterState, Density, InputAttr, InputKind,
|
theropod, Body, CharacterAbility, CharacterState, Density, InputAttr, InputKind,
|
||||||
InventoryAction, StateUpdate,
|
InventoryAction, StateUpdate,
|
||||||
@ -190,7 +190,7 @@ impl Body {
|
|||||||
Body::BirdMedium(_) => Some(GRAVITY * self.mass().0 * 2.0),
|
Body::BirdMedium(_) => Some(GRAVITY * self.mass().0 * 2.0),
|
||||||
Body::BirdLarge(_) => Some(GRAVITY * self.mass().0 * 0.5),
|
Body::BirdLarge(_) => Some(GRAVITY * self.mass().0 * 0.5),
|
||||||
Body::Dragon(_) => Some(200_000.0),
|
Body::Dragon(_) => Some(200_000.0),
|
||||||
Body::Ship(ship::Body::DefaultAirship) => Some(300_000.0),
|
Body::Ship(ship) if ship.can_fly() => Some(300_000.0),
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -390,7 +390,7 @@ pub fn fly_move(data: &JoinData, update: &mut StateUpdate, efficiency: f32) -> b
|
|||||||
update.vel.0.z += data.dt.0 * (anti_grav + accel * data.inputs.move_z.max(0.0));
|
update.vel.0.z += data.dt.0 * (anti_grav + accel * data.inputs.move_z.max(0.0));
|
||||||
},
|
},
|
||||||
// floaty floaty
|
// floaty floaty
|
||||||
Body::Ship(ship @ ship::Body::DefaultAirship) => {
|
Body::Ship(ship) if ship.can_fly() => {
|
||||||
let regulate_density = |min: f32, max: f32, def: f32, rate: f32| -> Density {
|
let regulate_density = |min: f32, max: f32, def: f32, rate: f32| -> Density {
|
||||||
// Reset to default on no input
|
// Reset to default on no input
|
||||||
let change = if data.inputs.move_z.abs() > std::f32::EPSILON {
|
let change = if data.inputs.move_z.abs() > std::f32::EPSILON {
|
||||||
|
@ -1152,7 +1152,7 @@ fn handle_spawn_airship(
|
|||||||
200.0,
|
200.0,
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
let ship = comp::ship::Body::DefaultAirship;
|
let ship = comp::ship::Body::random();
|
||||||
let mut builder = server
|
let mut builder = server
|
||||||
.state
|
.state
|
||||||
.create_ship(pos, ship, true)
|
.create_ship(pos, ship, true)
|
||||||
|
@ -37,7 +37,7 @@ impl Entity {
|
|||||||
pub fn get_body(&self) -> comp::Body {
|
pub fn get_body(&self) -> comp::Body {
|
||||||
match self.rng(PERM_GENUS).gen::<f32>() {
|
match self.rng(PERM_GENUS).gen::<f32>() {
|
||||||
// we want 5% airships, 45% birds, 50% humans
|
// we want 5% airships, 45% birds, 50% humans
|
||||||
x if x < 0.05 => comp::Body::Ship(comp::ship::Body::DefaultAirship),
|
x if x < 0.05 => comp::ship::Body::random_with(&mut self.rng(PERM_BODY)).into(),
|
||||||
x if x < 0.45 => {
|
x if x < 0.45 => {
|
||||||
let species = *(&comp::bird_medium::ALL_SPECIES)
|
let species = *(&comp::bird_medium::ALL_SPECIES)
|
||||||
.choose(&mut self.rng(PERM_SPECIES))
|
.choose(&mut self.rng(PERM_SPECIES))
|
||||||
|
@ -148,6 +148,9 @@ struct VoxSpec<T>(String, [T; 3]);
|
|||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
struct VoxSimple(String);
|
struct VoxSimple(String);
|
||||||
|
|
||||||
|
#[derive(Deserialize)]
|
||||||
|
struct VoxMirror(String, bool);
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
struct ArmorVoxSpec {
|
struct ArmorVoxSpec {
|
||||||
vox_spec: VoxSpec<f32>,
|
vox_spec: VoxSpec<f32>,
|
||||||
@ -4213,7 +4216,7 @@ struct SidedQLLateralVoxSpec {
|
|||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
struct QuadrupedLowLateralSubSpec {
|
struct QuadrupedLowLateralSubSpec {
|
||||||
offset: [f32; 3], // Should be relative to initial origin
|
offset: [f32; 3], // Should be relative to initial origin
|
||||||
lateral: VoxSimple,
|
lateral: VoxMirror,
|
||||||
}
|
}
|
||||||
|
|
||||||
make_vox_spec!(
|
make_vox_spec!(
|
||||||
@ -4384,7 +4387,8 @@ impl QuadrupedLowLateralSpec {
|
|||||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let lateral = graceful_load_segment_flipped(&spec.front_left.lateral.0, true);
|
let latspec = &spec.front_left.lateral;
|
||||||
|
let lateral = graceful_load_segment_flipped(&latspec.0, !latspec.1);
|
||||||
|
|
||||||
(lateral, Vec3::from(spec.front_left.offset))
|
(lateral, Vec3::from(spec.front_left.offset))
|
||||||
}
|
}
|
||||||
@ -4400,7 +4404,8 @@ impl QuadrupedLowLateralSpec {
|
|||||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let lateral = graceful_load_segment(&spec.front_right.lateral.0);
|
let latspec = &spec.front_right.lateral;
|
||||||
|
let lateral = graceful_load_segment_flipped(&latspec.0, latspec.1);
|
||||||
|
|
||||||
(lateral, Vec3::from(spec.front_right.offset))
|
(lateral, Vec3::from(spec.front_right.offset))
|
||||||
}
|
}
|
||||||
@ -4416,7 +4421,8 @@ impl QuadrupedLowLateralSpec {
|
|||||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let lateral = graceful_load_segment_flipped(&spec.back_left.lateral.0, true);
|
let latspec = &spec.back_left.lateral;
|
||||||
|
let lateral = graceful_load_segment_flipped(&latspec.0, !latspec.1);
|
||||||
|
|
||||||
(lateral, Vec3::from(spec.back_left.offset))
|
(lateral, Vec3::from(spec.back_left.offset))
|
||||||
}
|
}
|
||||||
@ -4432,7 +4438,8 @@ impl QuadrupedLowLateralSpec {
|
|||||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let lateral = graceful_load_segment(&spec.back_right.lateral.0);
|
let latspec = &spec.back_right.lateral;
|
||||||
|
let lateral = graceful_load_segment_flipped(&latspec.0, latspec.1);
|
||||||
|
|
||||||
(lateral, Vec3::from(spec.back_right.offset))
|
(lateral, Vec3::from(spec.back_right.offset))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user