mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
general housekeeping
This commit is contained in:
parent
06b39b9072
commit
03b7320b4b
@ -2,241 +2,241 @@
|
||||
(Ogre, Male): (
|
||||
head: (
|
||||
offset: (-8.0, -6.0, -6.5),
|
||||
center: ("npc.ogre.male.head"),
|
||||
central: ("npc.ogre.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-8.0, -6.0, -8.0),
|
||||
center: ("npc.ogre.male.torso_upper"),
|
||||
central: ("npc.ogre.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-6.0, -5.5, -10.0),
|
||||
center: ("npc.ogre.male.torso_lower"),
|
||||
central: ("npc.ogre.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -5.5, -5.0),
|
||||
center: ("npc.ogre.male.hammer"),
|
||||
central: ("npc.ogre.male.hammer"),
|
||||
)
|
||||
),
|
||||
(Ogre, Female): (
|
||||
head: (
|
||||
offset: (-9.0, -5.5, -6.0),
|
||||
center: ("npc.ogre.female..head"),
|
||||
central: ("npc.ogre.female..head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-6.0, -5.0, -6.0),
|
||||
center: ("npc.ogre.female.torso_upper"),
|
||||
central: ("npc.ogre.female.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-5.0, -4.5, -6.0),
|
||||
center: ("npc.ogre.female.torso_lower"),
|
||||
central: ("npc.ogre.female.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-2.5, -5.5, -5.0),
|
||||
center: ("npc.ogre.female.main"),
|
||||
central: ("npc.ogre.female.main"),
|
||||
)
|
||||
),
|
||||
(Cyclops, Male): (
|
||||
head: (
|
||||
offset: (-7.0, -7.0, -6.5),
|
||||
center: ("npc.cyclops.male.head"),
|
||||
central: ("npc.cyclops.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-8.0, -6.0, -6.0),
|
||||
center: ("npc.cyclops.male.torso_upper"),
|
||||
central: ("npc.cyclops.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-6.0, -5.5, -12.0),
|
||||
center: ("npc.cyclops.male.torso_lower"),
|
||||
central: ("npc.cyclops.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.cyclops.male.hammer"),
|
||||
central: ("npc.cyclops.male.hammer"),
|
||||
)
|
||||
),
|
||||
(Cyclops, Female): (
|
||||
head: (
|
||||
offset: (-7.0, -7.0, -6.5),
|
||||
center: ("npc.cyclops.male.head"),
|
||||
central: ("npc.cyclops.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-8.0, -6.0, -6.0),
|
||||
center: ("npc.cyclops.male.torso_upper"),
|
||||
central: ("npc.cyclops.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-6.0, -5.5, -12.0),
|
||||
center: ("npc.cyclops.male.torso_lower"),
|
||||
central: ("npc.cyclops.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.cyclops.female.hammer"),
|
||||
central: ("npc.cyclops.female.hammer"),
|
||||
)
|
||||
),
|
||||
(Wendigo, Male): (
|
||||
head: (
|
||||
offset: (-15.0, -4.5, -9.5),
|
||||
center: ("npc.wendigo.male.head"),
|
||||
central: ("npc.wendigo.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-6.0, -5.5, -6.5),
|
||||
center: ("npc.wendigo.male.torso_upper"),
|
||||
central: ("npc.wendigo.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-4.0, -2.0, -4.0),
|
||||
center: ("npc.wendigo.male.torso_lower"),
|
||||
central: ("npc.wendigo.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.wendigo.male.hammer"),
|
||||
central: ("npc.wendigo.male.hammer"),
|
||||
)
|
||||
),
|
||||
(Wendigo, Female): (
|
||||
head: (
|
||||
offset: (-15.0, -4.5, -9.5),
|
||||
center: ("npc.wendigo.male.head"),
|
||||
central: ("npc.wendigo.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-6.0, -5.5, -6.5),
|
||||
center: ("npc.wendigo.male.torso_upper"),
|
||||
central: ("npc.wendigo.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-4.0, -2.0, -4.0),
|
||||
center: ("npc.wendigo.male.torso_lower"),
|
||||
central: ("npc.wendigo.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.wendigo.male.hammer"),
|
||||
central: ("npc.wendigo.male.hammer"),
|
||||
)
|
||||
),
|
||||
(Troll, Male): (
|
||||
head: (
|
||||
offset: (-8.0, -8.5, -9.0),
|
||||
center: ("npc.troll.male.head"),
|
||||
central: ("npc.troll.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-8.0, -7.5, -11.0),
|
||||
center: ("npc.troll.male.torso_upper"),
|
||||
central: ("npc.troll.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-6.0, -3.5, -5.0),
|
||||
center: ("npc.troll.male.torso_lower"),
|
||||
central: ("npc.troll.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-4.0, 0.0, -4.5),
|
||||
center: ("npc.troll.male.jaw"),
|
||||
central: ("npc.troll.male.jaw"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.troll.male.hammer"),
|
||||
central: ("npc.troll.male.hammer"),
|
||||
)
|
||||
),
|
||||
(Troll, Female): (
|
||||
head: (
|
||||
offset: (-8.0, -8.5, -9.0),
|
||||
center: ("npc.troll.male.head"),
|
||||
central: ("npc.troll.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-8.0, -7.5, -11.0),
|
||||
center: ("npc.troll.male.torso_upper"),
|
||||
central: ("npc.troll.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-6.0, -3.5, -5.0),
|
||||
center: ("npc.troll.male.torso_lower"),
|
||||
central: ("npc.troll.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-4.0, 0.0, -4.5),
|
||||
center: ("npc.troll.male.jaw"),
|
||||
central: ("npc.troll.male.jaw"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.troll.female.hammer"),
|
||||
central: ("npc.troll.female.hammer"),
|
||||
)
|
||||
),
|
||||
|
||||
@ -244,62 +244,62 @@
|
||||
(Dullahan, Male): (
|
||||
head: (
|
||||
offset: (-8.0, -5.0, -6.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-9.0, -7.5, -7.0),
|
||||
center: ("npc.dullahan.male.torso_upper"),
|
||||
central: ("npc.dullahan.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-8.0, -6.0, -9.0),
|
||||
center: ("npc.dullahan.male.torso_lower"),
|
||||
central: ("npc.dullahan.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.cyclops.male.hammer"),
|
||||
central: ("npc.cyclops.male.hammer"),
|
||||
)
|
||||
),
|
||||
|
||||
(Dullahan, Female): (
|
||||
head: (
|
||||
offset: (-8.0, -5.0, -6.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-9.0, -7.5, -7.0),
|
||||
center: ("npc.dullahan.male.torso_upper"),
|
||||
central: ("npc.dullahan.male.torso_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-8.0, -6.0, -9.0),
|
||||
center: ("npc.dullahan.male.torso_lower"),
|
||||
central: ("npc.dullahan.male.torso_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
tail: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
second: (
|
||||
offset: (0.0, 0.0, 0.0),
|
||||
center: ("armor.empty"),
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
main: (
|
||||
offset: (-5.0, -6.5, -4.0),
|
||||
center: ("npc.cyclops.male.hammer"),
|
||||
central: ("npc.cyclops.male.hammer"),
|
||||
)
|
||||
),
|
||||
})
|
@ -2,225 +2,225 @@
|
||||
(Duck, Male): (
|
||||
head: (
|
||||
offset: (-1.5, -2.0, -1.5),
|
||||
center: ("npc.duck.male.head"),
|
||||
central: ("npc.duck.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-2.5, -3.0, -2.0),
|
||||
center: ("npc.duck.male.torso"),
|
||||
central: ("npc.duck.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -0.5, -2.5),
|
||||
center: ("npc.duck.male.tail"),
|
||||
central: ("npc.duck.male.tail"),
|
||||
)
|
||||
),
|
||||
(Duck, Female): (
|
||||
head: (
|
||||
offset: (-1.5, -2.0, -1.5),
|
||||
center: ("npc.duck.female.head"),
|
||||
central: ("npc.duck.female.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-2.5, -3.0, -2.0),
|
||||
center: ("npc.duck.female.torso"),
|
||||
central: ("npc.duck.female.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -0.5, -2.5),
|
||||
center: ("npc.duck.female.tail"),
|
||||
central: ("npc.duck.female.tail"),
|
||||
)
|
||||
),
|
||||
(Chicken, Male): (
|
||||
head: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
center: ("npc.chicken.male.head"),
|
||||
central: ("npc.chicken.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-2.5, -3.0, -2.0),
|
||||
center: ("npc.chicken.male.torso"),
|
||||
central: ("npc.chicken.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -2.5, -3.5),
|
||||
center: ("npc.chicken.male.tail"),
|
||||
central: ("npc.chicken.male.tail"),
|
||||
)
|
||||
),
|
||||
(Chicken, Female): (
|
||||
head: (
|
||||
offset: (-1.5, -2.0, -2.5),
|
||||
center: ("npc.chicken.female.head"),
|
||||
central: ("npc.chicken.female.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-2.5, -3.0, -2.0),
|
||||
center: ("npc.chicken.female.torso"),
|
||||
central: ("npc.chicken.female.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -0.5, -2.5),
|
||||
center: ("npc.chicken.female.tail"),
|
||||
central: ("npc.chicken.female.tail"),
|
||||
)
|
||||
),
|
||||
(Goose, Male): (
|
||||
head: (
|
||||
offset: (-2.0, -3.5, -0.0),
|
||||
center: ("npc.goose.male.head"),
|
||||
central: ("npc.goose.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.5, -4.5, -3.0),
|
||||
center: ("npc.goose.male.torso"),
|
||||
central: ("npc.goose.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-2.0, -1.0, -3.5),
|
||||
center: ("npc.goose.male.tail"),
|
||||
central: ("npc.goose.male.tail"),
|
||||
)
|
||||
),
|
||||
(Goose, Female): (
|
||||
head: (
|
||||
offset: (-2.0, -3.5, -0.0),
|
||||
center: ("npc.goose.male.head"),
|
||||
central: ("npc.goose.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.5, -4.5, -3.0),
|
||||
center: ("npc.goose.male.torso"),
|
||||
central: ("npc.goose.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-2.0, -1.0, -3.5),
|
||||
center: ("npc.goose.male.tail"),
|
||||
central: ("npc.goose.male.tail"),
|
||||
)
|
||||
),
|
||||
(Peacock, Male): (
|
||||
head: (
|
||||
offset: (-2.0, -1.5, -0.0),
|
||||
center: ("npc.peacock.male.head"),
|
||||
central: ("npc.peacock.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-2.5, -5.5, -4.5),
|
||||
center: ("npc.peacock.male.torso"),
|
||||
central: ("npc.peacock.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-3.0, -1.5, -5.0),
|
||||
center: ("npc.peacock.male.tail"),
|
||||
central: ("npc.peacock.male.tail"),
|
||||
)
|
||||
),
|
||||
(Peacock, Female): (
|
||||
head: (
|
||||
offset: (-2.0, -1.5, -0.0),
|
||||
center: ("npc.peacock.female.head"),
|
||||
central: ("npc.peacock.female.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-2.5, -5.5, -4.5),
|
||||
center: ("npc.peacock.female.torso"),
|
||||
central: ("npc.peacock.female.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-3.0, -1.5, -5.0),
|
||||
center: ("npc.peacock.female.tail"),
|
||||
central: ("npc.peacock.female.tail"),
|
||||
)
|
||||
),
|
||||
(Eagle, Male): (
|
||||
head: (
|
||||
offset: (-2.0, -2.0, -3.5),
|
||||
center: ("npc.eagle.male.head"),
|
||||
central: ("npc.eagle.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.0, -4.5, -4.5),
|
||||
center: ("npc.eagle.male.torso"),
|
||||
central: ("npc.eagle.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-2.0, -3.5, -3.5),
|
||||
center: ("npc.eagle.male.tail"),
|
||||
central: ("npc.eagle.male.tail"),
|
||||
)
|
||||
),
|
||||
(Eagle, Female): (
|
||||
head: (
|
||||
offset: (-2.0, -2.0, -3.5),
|
||||
center: ("npc.eagle.male.head"),
|
||||
central: ("npc.eagle.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.0, -4.5, -4.5),
|
||||
center: ("npc.eagle.male.torso"),
|
||||
central: ("npc.eagle.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-2.0, -3.5, -3.5),
|
||||
center: ("npc.eagle.male.tail"),
|
||||
central: ("npc.eagle.male.tail"),
|
||||
)
|
||||
),
|
||||
(Snowyowl, Male): (
|
||||
head: (
|
||||
offset: (-3.5, -4.5, -4.0),
|
||||
center: ("npc.snowyowl.male.head"),
|
||||
central: ("npc.snowyowl.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.5, -5.0, -3.0),
|
||||
center: ("npc.snowyowl.male.torso"),
|
||||
central: ("npc.snowyowl.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-2.5, -3.0, -2.0),
|
||||
center: ("npc.snowyowl.male.tail"),
|
||||
central: ("npc.snowyowl.male.tail"),
|
||||
)
|
||||
),
|
||||
(Snowyowl, Female): (
|
||||
head: (
|
||||
offset: (-3.5, -4.5, -4.0),
|
||||
center: ("npc.snowyowl.male.head"),
|
||||
central: ("npc.snowyowl.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.5, -5.0, -3.0),
|
||||
center: ("npc.snowyowl.male.torso"),
|
||||
central: ("npc.snowyowl.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-2.5, -3.0, -2.0),
|
||||
center: ("npc.snowyowl.male.tail"),
|
||||
central: ("npc.snowyowl.male.tail"),
|
||||
)
|
||||
),
|
||||
(Parrot, Male): (
|
||||
head: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
center: ("npc.parrot.male.head"),
|
||||
central: ("npc.parrot.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-1.5, -3.5, -3.5),
|
||||
center: ("npc.parrot.male.torso"),
|
||||
central: ("npc.parrot.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -4.5, -1.5),
|
||||
center: ("npc.parrot.male.tail"),
|
||||
central: ("npc.parrot.male.tail"),
|
||||
)
|
||||
),
|
||||
(Parrot, Female): (
|
||||
head: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
center: ("npc.parrot.male.head"),
|
||||
central: ("npc.parrot.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-1.5, -3.5, -3.5),
|
||||
center: ("npc.parrot.male.torso"),
|
||||
central: ("npc.parrot.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -4.5, -1.5),
|
||||
center: ("npc.parrot.male.tail"),
|
||||
central: ("npc.parrot.male.tail"),
|
||||
)
|
||||
),
|
||||
(Cockatrice, Male): (
|
||||
head: (
|
||||
offset: (-2.5, 0.0, -8.0),
|
||||
center: ("npc.cockatrice.male.head"),
|
||||
central: ("npc.cockatrice.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.5, -6.5, -7.5),
|
||||
center: ("npc.cockatrice.male.torso"),
|
||||
central: ("npc.cockatrice.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -3.5, -4.0),
|
||||
center: ("npc.cockatrice.male.tail"),
|
||||
central: ("npc.cockatrice.male.tail"),
|
||||
)
|
||||
),
|
||||
(Cockatrice, Female): (
|
||||
head: (
|
||||
offset: (-2.5, 0.0, -8.0),
|
||||
center: ("npc.cockatrice.male.head"),
|
||||
central: ("npc.cockatrice.male.head"),
|
||||
),
|
||||
torso: (
|
||||
offset: (-3.5, -6.5, -7.5),
|
||||
center: ("npc.cockatrice.male.torso"),
|
||||
central: ("npc.cockatrice.male.torso"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.5, -3.5, -4.0),
|
||||
center: ("npc.cockatrice.male.tail"),
|
||||
central: ("npc.cockatrice.male.tail"),
|
||||
)
|
||||
),
|
||||
})
|
@ -2,61 +2,61 @@
|
||||
(Reddragon, Male): (
|
||||
upper: (
|
||||
offset: (-6.5, -2.0, -6.0),
|
||||
center: ("npc.reddragon.male.head_upper"),
|
||||
central: ("npc.reddragon.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-2.5, -2.0, -5.0),
|
||||
center: ("npc.reddragon.male.head_lower"),
|
||||
central: ("npc.reddragon.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, -2.0, -1.5),
|
||||
center: ("npc.reddragon.male.jaw"),
|
||||
central: ("npc.reddragon.male.jaw"),
|
||||
),
|
||||
chest_front: (
|
||||
offset: (-6.5, -6.0, -7.5),
|
||||
center: ("npc.reddragon.male.chest_front"),
|
||||
central: ("npc.reddragon.male.chest_front"),
|
||||
),
|
||||
chest_rear: (
|
||||
offset: (-6.5, -13.0, -7.0),
|
||||
center: ("npc.reddragon.male.chest_rear"),
|
||||
central: ("npc.reddragon.male.chest_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-2.5, -12.0, -3.5),
|
||||
center: ("npc.reddragon.male.tail_front"),
|
||||
central: ("npc.reddragon.male.tail_front"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-3.5, -16.0, -3.0),
|
||||
center: ("npc.reddragon.male.tail_rear"),
|
||||
central: ("npc.reddragon.male.tail_rear"),
|
||||
)
|
||||
),
|
||||
(Reddragon, Female): (
|
||||
upper: (
|
||||
offset: (-6.5, -2.0, -6.0),
|
||||
center: ("npc.reddragon.male.head_upper"),
|
||||
central: ("npc.reddragon.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-2.5, -2.0, -5.0),
|
||||
center: ("npc.reddragon.male.head_lower"),
|
||||
central: ("npc.reddragon.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, -2.0, -1.5),
|
||||
center: ("npc.reddragon.male.jaw"),
|
||||
central: ("npc.reddragon.male.jaw"),
|
||||
),
|
||||
chest_front: (
|
||||
offset: (-6.5, -6.0, -7.5),
|
||||
center: ("npc.reddragon.male.chest_front"),
|
||||
central: ("npc.reddragon.male.chest_front"),
|
||||
),
|
||||
chest_rear: (
|
||||
offset: (-6.5, -13.0, -7.0),
|
||||
center: ("npc.reddragon.male.chest_rear"),
|
||||
central: ("npc.reddragon.male.chest_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-2.5, -12.0, -3.5),
|
||||
center: ("npc.reddragon.male.tail_front"),
|
||||
central: ("npc.reddragon.male.tail_front"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-3.5, -16.0, -3.0),
|
||||
center: ("npc.reddragon.male.tail_rear"),
|
||||
central: ("npc.reddragon.male.tail_rear"),
|
||||
)
|
||||
),
|
||||
})
|
@ -2,29 +2,29 @@
|
||||
(StoneGolem, Male): (
|
||||
head: (
|
||||
offset: (-3.5, -4.0, -0.0),
|
||||
center: ("npc.stonegolem.male.head"),
|
||||
central: ("npc.stonegolem.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-10.5, -10.5, -10.5),
|
||||
center: ("npc.stonegolem.male.chest_upper"),
|
||||
central: ("npc.stonegolem.male.chest_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-4.5, -4.5, -7.0),
|
||||
center: ("npc.stonegolem.male.chest_lower"),
|
||||
central: ("npc.stonegolem.male.chest_lower"),
|
||||
),
|
||||
),
|
||||
(StoneGolem, Female): (
|
||||
head: (
|
||||
offset: (-3.5, -4.0, -0.0),
|
||||
center: ("npc.stonegolem.male.head"),
|
||||
central: ("npc.stonegolem.male.head"),
|
||||
),
|
||||
torso_upper: (
|
||||
offset: (-10.5, -10.5, -10.5),
|
||||
center: ("npc.stonegolem.male.chest_upper"),
|
||||
central: ("npc.stonegolem.male.chest_upper"),
|
||||
),
|
||||
torso_lower: (
|
||||
offset: (-4.5, -4.5, -7.0),
|
||||
center: ("npc.stonegolem.male.chest_lower"),
|
||||
central: ("npc.stonegolem.male.chest_lower"),
|
||||
),
|
||||
),
|
||||
})
|
@ -1,12 +1,12 @@
|
||||
({
|
||||
(Grolgar, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-7.0, 0.0, -9.0),
|
||||
central: ("npc.grolgar.male.head_upper"),
|
||||
central: ("npc.grolgar.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-6.0, -2.0, -8.0),
|
||||
central: ("npc.grolgar.male.head_lower"),
|
||||
central: ("npc.grolgar.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.5),
|
||||
@ -30,13 +30,13 @@
|
||||
),
|
||||
),
|
||||
(Grolgar, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-7.0, 0.0, -9.0),
|
||||
central: ("npc.grolgar.male.head_upper"),
|
||||
central: ("npc.grolgar.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-6.0, -2.0, -8.0),
|
||||
central: ("npc.grolgar.male.head_lower"),
|
||||
central: ("npc.grolgar.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.5),
|
||||
@ -60,13 +60,13 @@
|
||||
),
|
||||
),
|
||||
(Saber, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-5.5, 0.0, -6.5),
|
||||
central: ("npc.saber.male.head_upper"),
|
||||
central: ("npc.saber.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -5.5, -4.0),
|
||||
central: ("npc.saber.male.head_lower"),
|
||||
central: ("npc.saber.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.5, 0.0, -1.5),
|
||||
@ -90,13 +90,13 @@
|
||||
),
|
||||
),
|
||||
(Saber, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-5.5, 0.0, -6.5),
|
||||
central: ("npc.saber.male.head_upper"),
|
||||
central: ("npc.saber.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -5.5, -4.0),
|
||||
central: ("npc.saber.male.head_lower"),
|
||||
central: ("npc.saber.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.5, 0.0, -1.5),
|
||||
@ -120,13 +120,13 @@
|
||||
),
|
||||
),
|
||||
(Tuskram, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-10.0, -6.0, -6.5),
|
||||
central: ("npc.tuskram.male.head_upper"),
|
||||
central: ("npc.tuskram.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -4.0, -3.5),
|
||||
central: ("npc.tuskram.male.head_lower"),
|
||||
central: ("npc.tuskram.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.5),
|
||||
@ -150,13 +150,13 @@
|
||||
),
|
||||
),
|
||||
(Tuskram, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-10.0, -6.0, -6.5),
|
||||
central: ("npc.tuskram.male.head_upper"),
|
||||
central: ("npc.tuskram.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -4.0, -3.5),
|
||||
central: ("npc.tuskram.male.head_lower"),
|
||||
central: ("npc.tuskram.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.5),
|
||||
@ -180,13 +180,13 @@
|
||||
),
|
||||
),
|
||||
(Lion, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-4.5, 0.0, -4.5),
|
||||
central: ("npc.lion.male.head_upper"),
|
||||
central: ("npc.lion.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-7.5, -5.5, -8.5),
|
||||
central: ("npc.lion.male.head_lower"),
|
||||
central: ("npc.lion.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.5, 0.0, -1.0),
|
||||
@ -210,13 +210,13 @@
|
||||
),
|
||||
),
|
||||
(Lion, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-4.5, 0.0, -4.5),
|
||||
central: ("npc.lion.male.head_upper"),
|
||||
central: ("npc.lion.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-7.5, -5.5, -8.5),
|
||||
central: ("npc.lion.male.head_lower"),
|
||||
central: ("npc.lion.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.5, 0.0, -1.0),
|
||||
@ -240,13 +240,13 @@
|
||||
),
|
||||
),
|
||||
(Tarasque, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-10.0, 0.0, -10.0),
|
||||
central: ("npc.tarasque.male.head_upper"),
|
||||
central: ("npc.tarasque.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-5.0, -3.0, -4.5),
|
||||
central: ("npc.tarasque.male.head_lower"),
|
||||
central: ("npc.tarasque.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-5.0, 0.0, -0.0),
|
||||
@ -270,13 +270,13 @@
|
||||
),
|
||||
),
|
||||
(Tarasque, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-10.0, 0.0, -10.0),
|
||||
central: ("npc.tarasque.male.head_upper"),
|
||||
central: ("npc.tarasque.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-5.0, -3.0, -4.5),
|
||||
central: ("npc.tarasque.male.head_lower"),
|
||||
central: ("npc.tarasque.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-5.0, 0.0, -0.0),
|
||||
@ -300,13 +300,13 @@
|
||||
),
|
||||
),
|
||||
(Tiger, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-5.5, 0.0, -5.0),
|
||||
central: ("npc.tiger.male.head_upper"),
|
||||
central: ("npc.tiger.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.5, -2.0, -5.0),
|
||||
central: ("npc.tiger.male.head_lower"),
|
||||
central: ("npc.tiger.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.5, 0.0, -1.0),
|
||||
@ -330,13 +330,13 @@
|
||||
),
|
||||
),
|
||||
(Tiger, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-5.5, 0.0, -5.0),
|
||||
central: ("npc.tiger.male.head_upper"),
|
||||
central: ("npc.tiger.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.5, -2.0, -5.0),
|
||||
central: ("npc.tiger.male.head_lower"),
|
||||
central: ("npc.tiger.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.5, 0.0, -1.0),
|
||||
@ -360,13 +360,13 @@
|
||||
),
|
||||
),
|
||||
(Wolf, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-5.0, 0.0, -3.5),
|
||||
central: ("npc.wolf.male.head_upper"),
|
||||
central: ("npc.wolf.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-5.0, -4.5, -5.0),
|
||||
central: ("npc.wolf.male.head_lower"),
|
||||
central: ("npc.wolf.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.0),
|
||||
@ -390,13 +390,13 @@
|
||||
),
|
||||
),
|
||||
(Wolf, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-5.0, 0.0, -3.5),
|
||||
central: ("npc.wolf.male.head_upper"),
|
||||
central: ("npc.wolf.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-5.0, -4.5, -5.0),
|
||||
central: ("npc.wolf.male.head_lower"),
|
||||
central: ("npc.wolf.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.0),
|
||||
@ -420,13 +420,13 @@
|
||||
),
|
||||
),
|
||||
(Frostfang, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-4.0, 0.0, -4.5),
|
||||
central: ("npc.frostfang.male.head_upper"),
|
||||
central: ("npc.frostfang.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-3.0, -2.0, -4.0),
|
||||
central: ("npc.frostfang.male.head_lower"),
|
||||
central: ("npc.frostfang.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -3.5),
|
||||
@ -450,13 +450,13 @@
|
||||
),
|
||||
),
|
||||
(Frostfang, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-4.0, 0.0, -4.5),
|
||||
central: ("npc.frostfang.male.head_upper"),
|
||||
central: ("npc.frostfang.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-3.0, -2.0, -4.0),
|
||||
central: ("npc.frostfang.male.head_lower"),
|
||||
central: ("npc.frostfang.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -3.5),
|
||||
@ -480,13 +480,13 @@
|
||||
),
|
||||
),
|
||||
(Mouflon, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-7.0, 0.0, -4.5),
|
||||
central: ("npc.mouflon.male.head_upper"),
|
||||
central: ("npc.mouflon.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -4.0, -4.5),
|
||||
central: ("npc.mouflon.male.head_lower"),
|
||||
central: ("npc.mouflon.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.0),
|
||||
@ -510,13 +510,13 @@
|
||||
),
|
||||
),
|
||||
(Mouflon, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-7.0, 0.0, -4.5),
|
||||
central: ("npc.mouflon.male.head_upper"),
|
||||
central: ("npc.mouflon.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -4.0, -4.5),
|
||||
central: ("npc.mouflon.male.head_lower"),
|
||||
central: ("npc.mouflon.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, 0.0, -1.0),
|
||||
@ -540,13 +540,13 @@
|
||||
),
|
||||
),
|
||||
(Catoblepas, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-13.0, 0.0, -4.5),
|
||||
central: ("npc.catoblepas.male.head_upper"),
|
||||
central: ("npc.catoblepas.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -10.0, -12.0),
|
||||
central: ("npc.catoblepas.male.head_lower"),
|
||||
central: ("npc.catoblepas.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-4.0, 0.0, -3.0),
|
||||
@ -570,13 +570,13 @@
|
||||
),
|
||||
),
|
||||
(Catoblepas, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-13.0, 0.0, -4.5),
|
||||
central: ("npc.catoblepas.male.head_upper"),
|
||||
central: ("npc.catoblepas.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -10.0, -12.0),
|
||||
central: ("npc.catoblepas.male.head_lower"),
|
||||
central: ("npc.catoblepas.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-4.0, 0.0, -3.0),
|
||||
@ -600,13 +600,13 @@
|
||||
),
|
||||
),
|
||||
(Bonerattler, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-4.5, 0.0, -4.5),
|
||||
central: ("npc.bonerattler.male.head_upper"),
|
||||
central: ("npc.bonerattler.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.5, -2.0, -5.0),
|
||||
central: ("npc.bonerattler.male.head_lower"),
|
||||
central: ("npc.bonerattler.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, 0.0, -2.0),
|
||||
@ -630,13 +630,13 @@
|
||||
),
|
||||
),
|
||||
(Bonerattler, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-4.5, 0.0, -4.5),
|
||||
central: ("npc.bonerattler.male.head_upper"),
|
||||
central: ("npc.bonerattler.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.5, -2.0, -5.0),
|
||||
central: ("npc.bonerattler.male.head_lower"),
|
||||
central: ("npc.bonerattler.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, 0.0, -2.0),
|
||||
@ -660,13 +660,13 @@
|
||||
),
|
||||
),
|
||||
(Deer, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-6.0, -5.0, 0.0),
|
||||
central: ("npc.deer.male.head_upper"),
|
||||
central: ("npc.deer.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-3.0, -3.5, -4.0),
|
||||
central: ("npc.deer.male.head_lower"),
|
||||
central: ("npc.deer.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-1.0, 0.0, -0.5),
|
||||
@ -690,13 +690,13 @@
|
||||
),
|
||||
),
|
||||
(Deer, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-6.0, -3.0, 0.0),
|
||||
central: ("npc.deer.female.head_upper"),
|
||||
central: ("npc.deer.female.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-3.0, -3.5, -4.0),
|
||||
central: ("npc.deer.female.head_lower"),
|
||||
central: ("npc.deer.female.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-1.0, 0.0, -0.5),
|
||||
@ -720,13 +720,13 @@
|
||||
),
|
||||
),
|
||||
(Hirdrassil, Male): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-9.0, -12.0, 0.0),
|
||||
central: ("npc.hirdrassil.male.head_upper"),
|
||||
central: ("npc.hirdrassil.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -4.0, -6.0),
|
||||
central: ("npc.hirdrassil.male.head_lower"),
|
||||
central: ("npc.hirdrassil.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-1.0, 0.0, -7.0),
|
||||
@ -750,13 +750,13 @@
|
||||
),
|
||||
),
|
||||
(Hirdrassil, Female): (
|
||||
upper: (
|
||||
head: (
|
||||
offset: (-9.0, -12.0, 0.0),
|
||||
central: ("npc.hirdrassil.male.head_upper"),
|
||||
central: ("npc.hirdrassil.male.head"),
|
||||
),
|
||||
lower: (
|
||||
neck: (
|
||||
offset: (-4.0, -4.0, -6.0),
|
||||
central: ("npc.hirdrassil.male.head_lower"),
|
||||
central: ("npc.hirdrassil.male.neck"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-1.0, 0.0, -7.0),
|
||||
|
@ -32,16 +32,16 @@ impl Animation for AlphaAnimation {
|
||||
.sqrt())
|
||||
* ((anim_time as f32 * 4.0 + PI * 0.5).sin());
|
||||
|
||||
next.head_upper.position =
|
||||
Vec3::new(0.0, skeleton_attr.head_upper.0, skeleton_attr.head_upper.1);
|
||||
next.head_upper.orientation =
|
||||
next.head.position =
|
||||
Vec3::new(0.0, skeleton_attr.head.0, skeleton_attr.head.1);
|
||||
next.head.orientation =
|
||||
Quaternion::rotation_y(short * -0.2) * Quaternion::rotation_x(0.1 + short * 0.2);
|
||||
next.head_upper.scale = Vec3::one();
|
||||
next.head.scale = Vec3::one();
|
||||
|
||||
next.head_lower.position =
|
||||
Vec3::new(0.0, skeleton_attr.head_lower.0, skeleton_attr.head_lower.1);
|
||||
next.head_lower.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0);
|
||||
next.head_lower.scale = Vec3::one() * 1.02;
|
||||
next.neck.position =
|
||||
Vec3::new(0.0, skeleton_attr.neck.0, skeleton_attr.neck.1);
|
||||
next.neck.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0);
|
||||
next.neck.scale = Vec3::one() * 1.02;
|
||||
|
||||
next.jaw.position = Vec3::new(0.0, skeleton_attr.jaw.0, skeleton_attr.jaw.1);
|
||||
next.jaw.orientation = Quaternion::rotation_x(-0.3 + quick * 0.4);
|
||||
|
@ -51,22 +51,22 @@ impl Animation for IdleAnimation {
|
||||
* 0.125,
|
||||
);
|
||||
|
||||
next.head_upper.position = Vec3::new(
|
||||
next.head.position = Vec3::new(
|
||||
0.0,
|
||||
skeleton_attr.head_upper.0,
|
||||
skeleton_attr.head_upper.1 + slower * 0.2,
|
||||
skeleton_attr.head.0,
|
||||
skeleton_attr.head.1 + slower * 0.2,
|
||||
);
|
||||
next.head_upper.orientation =
|
||||
next.head.orientation =
|
||||
Quaternion::rotation_z(0.3 * look.x) * Quaternion::rotation_x(0.3 * look.y);
|
||||
next.head_upper.scale = Vec3::one();
|
||||
next.head.scale = Vec3::one();
|
||||
|
||||
next.head_lower.position = Vec3::new(
|
||||
next.neck.position = Vec3::new(
|
||||
0.0,
|
||||
skeleton_attr.head_lower.0,
|
||||
skeleton_attr.head_lower.1 + slower * 0.1,
|
||||
skeleton_attr.neck.0,
|
||||
skeleton_attr.neck.1 + slower * 0.1,
|
||||
);
|
||||
next.head_lower.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0);
|
||||
next.head_lower.scale = Vec3::one() * 1.02;
|
||||
next.neck.orientation = Quaternion::rotation_z(0.0) * Quaternion::rotation_x(0.0);
|
||||
next.neck.scale = Vec3::one() * 1.02;
|
||||
|
||||
next.jaw.position = Vec3::new(
|
||||
0.0,
|
||||
|
@ -22,15 +22,15 @@ impl Animation for JumpAnimation {
|
||||
) -> Self::Skeleton {
|
||||
let mut next = (*skeleton).clone();
|
||||
|
||||
next.head_upper.position =
|
||||
Vec3::new(0.0, skeleton_attr.head_upper.0, skeleton_attr.head_upper.1);
|
||||
next.head_upper.orientation = Quaternion::rotation_z(0.4) * Quaternion::rotation_x(0.3);
|
||||
next.head_upper.scale = Vec3::one();
|
||||
next.head.position =
|
||||
Vec3::new(0.0, skeleton_attr.head.0, skeleton_attr.head.1);
|
||||
next.head.orientation = Quaternion::rotation_z(0.4) * Quaternion::rotation_x(0.3);
|
||||
next.head.scale = Vec3::one();
|
||||
|
||||
next.head_lower.position =
|
||||
Vec3::new(0.0, skeleton_attr.head_lower.0, skeleton_attr.head_lower.1);
|
||||
next.head_lower.orientation = Quaternion::rotation_z(0.2) * Quaternion::rotation_x(0.3);
|
||||
next.head_lower.scale = Vec3::one() * 1.02;
|
||||
next.neck.position =
|
||||
Vec3::new(0.0, skeleton_attr.neck.0, skeleton_attr.neck.1);
|
||||
next.neck.orientation = Quaternion::rotation_z(0.2) * Quaternion::rotation_x(0.3);
|
||||
next.neck.scale = Vec3::one() * 1.02;
|
||||
|
||||
next.jaw.position = Vec3::new(0.0, skeleton_attr.jaw.0, skeleton_attr.jaw.1);
|
||||
next.jaw.orientation = Quaternion::rotation_x(-0.4);
|
||||
|
@ -15,8 +15,8 @@ use core::convert::TryFrom;
|
||||
pub type Body = comp::quadruped_medium::Body;
|
||||
|
||||
skeleton_impls!(struct QuadrupedMediumSkeleton {
|
||||
+ head_upper,
|
||||
+ head_lower,
|
||||
+ head,
|
||||
+ neck,
|
||||
+ jaw,
|
||||
+ tail,
|
||||
+ torso_front,
|
||||
@ -48,21 +48,21 @@ impl Skeleton for QuadrupedMediumSkeleton {
|
||||
) -> Vec3<f32> {
|
||||
let torso_front_mat = base_mat * Mat4::<f32>::from(self.torso_front);
|
||||
let torso_back_mat = torso_front_mat * Mat4::<f32>::from(self.torso_back);
|
||||
let head_lower_mat = torso_front_mat * Mat4::<f32>::from(self.head_lower);
|
||||
let neck_mat = torso_front_mat * Mat4::<f32>::from(self.neck);
|
||||
let leg_fl_mat = torso_front_mat * Mat4::<f32>::from(self.leg_fl);
|
||||
let leg_fr_mat = torso_front_mat * Mat4::<f32>::from(self.leg_fr);
|
||||
let leg_bl_mat = torso_back_mat * Mat4::<f32>::from(self.leg_bl);
|
||||
let leg_br_mat = torso_back_mat * Mat4::<f32>::from(self.leg_br);
|
||||
let head_upper_mat = head_lower_mat * Mat4::<f32>::from(self.head_upper);
|
||||
let head_mat = neck_mat * Mat4::<f32>::from(self.head);
|
||||
|
||||
*(<&mut [_; Self::BONE_COUNT]>::try_from(&mut buf[0..Self::BONE_COUNT]).unwrap()) = [
|
||||
make_bone(head_upper_mat),
|
||||
make_bone(head_lower_mat),
|
||||
make_bone(head_upper_mat * Mat4::<f32>::from(self.jaw)),
|
||||
make_bone(head_mat),
|
||||
make_bone(neck_mat),
|
||||
make_bone(head_mat * Mat4::<f32>::from(self.jaw)),
|
||||
make_bone(torso_back_mat * Mat4::<f32>::from(self.tail)),
|
||||
make_bone(torso_front_mat),
|
||||
make_bone(torso_back_mat),
|
||||
make_bone(head_upper_mat * Mat4::<f32>::from(self.ears)),
|
||||
make_bone(head_mat * Mat4::<f32>::from(self.ears)),
|
||||
make_bone(leg_fl_mat),
|
||||
make_bone(leg_fr_mat),
|
||||
make_bone(leg_bl_mat),
|
||||
@ -77,8 +77,8 @@ impl Skeleton for QuadrupedMediumSkeleton {
|
||||
}
|
||||
|
||||
pub struct SkeletonAttr {
|
||||
head_upper: (f32, f32),
|
||||
head_lower: (f32, f32),
|
||||
head: (f32, f32),
|
||||
neck: (f32, f32),
|
||||
jaw: (f32, f32),
|
||||
tail: (f32, f32),
|
||||
torso_back: (f32, f32),
|
||||
@ -109,8 +109,8 @@ impl<'a> std::convert::TryFrom<&'a comp::Body> for SkeletonAttr {
|
||||
impl Default for SkeletonAttr {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
head_upper: (0.0, 0.0),
|
||||
head_lower: (0.0, 0.0),
|
||||
head: (0.0, 0.0),
|
||||
neck: (0.0, 0.0),
|
||||
jaw: (0.0, 0.0),
|
||||
tail: (0.0, 0.0),
|
||||
torso_back: (0.0, 0.0),
|
||||
@ -133,7 +133,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
fn from(body: &'a Body) -> Self {
|
||||
use comp::quadruped_medium::{BodyType::*, Species::*};
|
||||
Self {
|
||||
head_upper: match (body.species, body.body_type) {
|
||||
head: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (0.0, -1.0),
|
||||
(Saber, _) => (0.0, -3.0),
|
||||
(Tuskram, _) => (0.0, 1.0),
|
||||
@ -149,7 +149,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Deer, Female) => (0.5, 3.5),
|
||||
(Hirdrassil, _) => (0.0, 5.0),
|
||||
},
|
||||
head_lower: match (body.species, body.body_type) {
|
||||
neck: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (1.0, -1.0),
|
||||
(Saber, _) => (1.0, 0.0),
|
||||
(Tuskram, _) => (1.0, 1.0),
|
||||
|
@ -99,21 +99,21 @@ impl Animation for RunAnimation {
|
||||
let x_tilt = avg_vel.z.atan2(avg_vel.xy().magnitude());
|
||||
|
||||
//Gallop
|
||||
next.head_upper.position =
|
||||
Vec3::new(0.0, skeleton_attr.head_upper.0, skeleton_attr.head_upper.1);
|
||||
next.head_upper.orientation = Quaternion::rotation_x(
|
||||
next.head.position =
|
||||
Vec3::new(0.0, skeleton_attr.head.0, skeleton_attr.head.1);
|
||||
next.head.orientation = Quaternion::rotation_x(
|
||||
look.y * 0.3 / ((canceler).max(0.5)) + amplitude * short * -0.03 - 0.1,
|
||||
) * Quaternion::rotation_z(
|
||||
look.x * 0.3 / ((canceler).max(0.5)) + tilt * -1.2,
|
||||
) * Quaternion::rotation_y(tilt * 0.8);
|
||||
next.head_upper.scale = Vec3::one();
|
||||
next.head.scale = Vec3::one();
|
||||
|
||||
next.head_lower.position =
|
||||
Vec3::new(0.0, skeleton_attr.head_lower.0, skeleton_attr.head_lower.1);
|
||||
next.head_lower.orientation = Quaternion::rotation_z(tilt * -0.8)
|
||||
next.neck.position =
|
||||
Vec3::new(0.0, skeleton_attr.neck.0, skeleton_attr.neck.1);
|
||||
next.neck.orientation = Quaternion::rotation_z(tilt * -0.8)
|
||||
* Quaternion::rotation_x(amplitude * short * -0.05)
|
||||
* Quaternion::rotation_y(tilt * 0.3);
|
||||
next.head_lower.scale = Vec3::one() * 1.02;
|
||||
next.neck.scale = Vec3::one() * 1.02;
|
||||
|
||||
next.jaw.position = Vec3::new(0.0, skeleton_attr.jaw.0, skeleton_attr.jaw.1);
|
||||
next.jaw.orientation = Quaternion::rotation_x(0.0);
|
||||
|
@ -41,7 +41,6 @@ impl Animation for RunAnimation {
|
||||
0.9 * (1.0 * 1.0)
|
||||
};
|
||||
|
||||
let speedadjust = if speed < 5.0 { 0.0 } else { speed / 25.0 };
|
||||
let short = (((1.0)
|
||||
/ (0.72
|
||||
+ 0.28
|
||||
|
@ -1187,8 +1187,8 @@ struct QuadrupedMediumCentralSpec(HashMap<(QMSpecies, QMBodyType), SidedQMCentra
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct SidedQMCentralVoxSpec {
|
||||
upper: QuadrupedMediumCentralSubSpec,
|
||||
lower: QuadrupedMediumCentralSubSpec,
|
||||
head: QuadrupedMediumCentralSubSpec,
|
||||
neck: QuadrupedMediumCentralSubSpec,
|
||||
jaw: QuadrupedMediumCentralSubSpec,
|
||||
ears: QuadrupedMediumCentralSubSpec,
|
||||
torso_front: QuadrupedMediumCentralSubSpec,
|
||||
@ -1228,11 +1228,11 @@ make_vox_spec!(
|
||||
},
|
||||
|FigureKey { body, .. }, spec| {
|
||||
[
|
||||
Some(spec.central.asset.mesh_head_upper(
|
||||
Some(spec.central.asset.mesh_head(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.central.asset.mesh_head_lower(
|
||||
Some(spec.central.asset.mesh_neck(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
@ -1294,36 +1294,36 @@ make_vox_spec!(
|
||||
);
|
||||
|
||||
impl QuadrupedMediumCentralSpec {
|
||||
fn mesh_head_upper(&self, species: QMSpecies, body_type: QMBodyType) -> BoneMeshes {
|
||||
fn mesh_head(&self, species: QMSpecies, body_type: QMBodyType) -> BoneMeshes {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No upper head specification exists for the combination of {:?} and {:?}",
|
||||
"No head 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.upper.central.0);
|
||||
let central = graceful_load_segment(&spec.head.central.0);
|
||||
|
||||
(central, Vec3::from(spec.upper.offset))
|
||||
(central, Vec3::from(spec.head.offset))
|
||||
}
|
||||
|
||||
fn mesh_head_lower(&self, species: QMSpecies, body_type: QMBodyType) -> BoneMeshes {
|
||||
fn mesh_neck(&self, species: QMSpecies, body_type: QMBodyType) -> BoneMeshes {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No lower head specification exists for the combination of {:?} and {:?}",
|
||||
"No neck 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.lower.central.0);
|
||||
let central = graceful_load_segment(&spec.neck.central.0);
|
||||
|
||||
(central, Vec3::from(spec.lower.offset))
|
||||
(central, Vec3::from(spec.neck.offset))
|
||||
}
|
||||
|
||||
fn mesh_jaw(&self, species: QMSpecies, body_type: QMBodyType) -> BoneMeshes {
|
||||
@ -1539,18 +1539,18 @@ impl QuadrupedMediumLateralSpec {
|
||||
|
||||
////
|
||||
#[derive(Deserialize)]
|
||||
struct BirdMediumCenterSpec(HashMap<(BMSpecies, BMBodyType), SidedBMCenterVoxSpec>);
|
||||
struct BirdMediumCentralSpec(HashMap<(BMSpecies, BMBodyType), SidedBMCentralVoxSpec>);
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct SidedBMCenterVoxSpec {
|
||||
head: BirdMediumCenterSubSpec,
|
||||
torso: BirdMediumCenterSubSpec,
|
||||
tail: BirdMediumCenterSubSpec,
|
||||
struct SidedBMCentralVoxSpec {
|
||||
head: BirdMediumCentralSubSpec,
|
||||
torso: BirdMediumCentralSubSpec,
|
||||
tail: BirdMediumCentralSubSpec,
|
||||
}
|
||||
#[derive(Deserialize)]
|
||||
struct BirdMediumCenterSubSpec {
|
||||
struct BirdMediumCentralSubSpec {
|
||||
offset: [f32; 3], // Should be relative to initial origin
|
||||
center: VoxSimple,
|
||||
central: VoxSimple,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@ -1572,20 +1572,20 @@ struct BirdMediumLateralSubSpec {
|
||||
make_vox_spec!(
|
||||
bird_medium::Body,
|
||||
struct BirdMediumSpec {
|
||||
center: BirdMediumCenterSpec = "voxygen.voxel.bird_medium_center_manifest",
|
||||
central: BirdMediumCentralSpec = "voxygen.voxel.bird_medium_central_manifest",
|
||||
lateral: BirdMediumLateralSpec = "voxygen.voxel.bird_medium_lateral_manifest",
|
||||
},
|
||||
|FigureKey { body, .. }, spec| {
|
||||
[
|
||||
Some(spec.center.asset.mesh_head(
|
||||
Some(spec.central.asset.mesh_head(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_torso(
|
||||
Some(spec.central.asset.mesh_torso(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_tail(
|
||||
Some(spec.central.asset.mesh_tail(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
@ -1618,7 +1618,7 @@ make_vox_spec!(
|
||||
},
|
||||
);
|
||||
|
||||
impl BirdMediumCenterSpec {
|
||||
impl BirdMediumCentralSpec {
|
||||
fn mesh_head(&self, species: BMSpecies, body_type: BMBodyType) -> BoneMeshes {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
@ -1630,9 +1630,9 @@ impl BirdMediumCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.head.center.0);
|
||||
let central = graceful_load_segment(&spec.head.central.0);
|
||||
|
||||
(center, Vec3::from(spec.head.offset))
|
||||
(central, Vec3::from(spec.head.offset))
|
||||
}
|
||||
|
||||
fn mesh_torso(&self, species: BMSpecies, body_type: BMBodyType) -> BoneMeshes {
|
||||
@ -1646,9 +1646,9 @@ impl BirdMediumCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.torso.center.0);
|
||||
let central = graceful_load_segment(&spec.torso.central.0);
|
||||
|
||||
(center, Vec3::from(spec.torso.offset))
|
||||
(central, Vec3::from(spec.torso.offset))
|
||||
}
|
||||
|
||||
fn mesh_tail(&self, species: BMSpecies, body_type: BMBodyType) -> BoneMeshes {
|
||||
@ -1662,9 +1662,9 @@ impl BirdMediumCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.tail.center.0);
|
||||
let central = graceful_load_segment(&spec.tail.central.0);
|
||||
|
||||
(center, Vec3::from(spec.tail.offset))
|
||||
(central, Vec3::from(spec.tail.offset))
|
||||
}
|
||||
}
|
||||
impl BirdMediumLateralSpec {
|
||||
@ -2160,22 +2160,22 @@ fn mesh_fish_medium_fin_r(fin_r: fish_medium::FinR) -> BoneMeshes {
|
||||
////
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct DragonCenterSpec(HashMap<(DSpecies, DBodyType), SidedDCenterVoxSpec>);
|
||||
struct DragonCentralSpec(HashMap<(DSpecies, DBodyType), SidedDCentralVoxSpec>);
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct SidedDCenterVoxSpec {
|
||||
upper: DragonCenterSubSpec,
|
||||
lower: DragonCenterSubSpec,
|
||||
jaw: DragonCenterSubSpec,
|
||||
chest_front: DragonCenterSubSpec,
|
||||
chest_rear: DragonCenterSubSpec,
|
||||
tail_front: DragonCenterSubSpec,
|
||||
tail_rear: DragonCenterSubSpec,
|
||||
struct SidedDCentralVoxSpec {
|
||||
upper: DragonCentralSubSpec,
|
||||
lower: DragonCentralSubSpec,
|
||||
jaw: DragonCentralSubSpec,
|
||||
chest_front: DragonCentralSubSpec,
|
||||
chest_rear: DragonCentralSubSpec,
|
||||
tail_front: DragonCentralSubSpec,
|
||||
tail_rear: DragonCentralSubSpec,
|
||||
}
|
||||
#[derive(Deserialize)]
|
||||
struct DragonCenterSubSpec {
|
||||
struct DragonCentralSubSpec {
|
||||
offset: [f32; 3], // Should be relative to initial origin
|
||||
center: VoxSimple,
|
||||
central: VoxSimple,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@ -2201,36 +2201,36 @@ struct DragonLateralSubSpec {
|
||||
make_vox_spec!(
|
||||
dragon::Body,
|
||||
struct DragonSpec {
|
||||
center: DragonCenterSpec = "voxygen.voxel.dragon_center_manifest",
|
||||
central: DragonCentralSpec = "voxygen.voxel.dragon_central_manifest",
|
||||
lateral: DragonLateralSpec = "voxygen.voxel.dragon_lateral_manifest",
|
||||
},
|
||||
|FigureKey { body, .. }, spec| {
|
||||
[
|
||||
Some(spec.center.asset.mesh_head_upper(
|
||||
Some(spec.central.asset.mesh_head_upper(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_head_lower(
|
||||
Some(spec.central.asset.mesh_head_lower(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_jaw(
|
||||
Some(spec.central.asset.mesh_jaw(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_chest_front(
|
||||
Some(spec.central.asset.mesh_chest_front(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_chest_rear(
|
||||
Some(spec.central.asset.mesh_chest_rear(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_tail_front(
|
||||
Some(spec.central.asset.mesh_tail_front(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_tail_rear(
|
||||
Some(spec.central.asset.mesh_tail_rear(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
@ -2271,7 +2271,7 @@ make_vox_spec!(
|
||||
},
|
||||
);
|
||||
|
||||
impl DragonCenterSpec {
|
||||
impl DragonCentralSpec {
|
||||
fn mesh_head_upper(&self, species: DSpecies, body_type: DBodyType) -> BoneMeshes {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
@ -2283,7 +2283,7 @@ impl DragonCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let central = graceful_load_segment(&spec.upper.center.0);
|
||||
let central = graceful_load_segment(&spec.upper.central.0);
|
||||
|
||||
(central, Vec3::from(spec.upper.offset))
|
||||
}
|
||||
@ -2299,7 +2299,7 @@ impl DragonCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let central = graceful_load_segment(&spec.lower.center.0);
|
||||
let central = graceful_load_segment(&spec.lower.central.0);
|
||||
|
||||
(central, Vec3::from(spec.lower.offset))
|
||||
}
|
||||
@ -2315,7 +2315,7 @@ impl DragonCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let central = graceful_load_segment(&spec.jaw.center.0);
|
||||
let central = graceful_load_segment(&spec.jaw.central.0);
|
||||
|
||||
(central, Vec3::from(spec.jaw.offset))
|
||||
}
|
||||
@ -2331,9 +2331,9 @@ impl DragonCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.chest_front.center.0);
|
||||
let central = graceful_load_segment(&spec.chest_front.central.0);
|
||||
|
||||
(center, Vec3::from(spec.chest_front.offset))
|
||||
(central, Vec3::from(spec.chest_front.offset))
|
||||
}
|
||||
|
||||
fn mesh_chest_rear(&self, species: DSpecies, body_type: DBodyType) -> BoneMeshes {
|
||||
@ -2347,9 +2347,9 @@ impl DragonCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.chest_rear.center.0);
|
||||
let central = graceful_load_segment(&spec.chest_rear.central.0);
|
||||
|
||||
(center, Vec3::from(spec.chest_rear.offset))
|
||||
(central, Vec3::from(spec.chest_rear.offset))
|
||||
}
|
||||
|
||||
fn mesh_tail_front(&self, species: DSpecies, body_type: DBodyType) -> BoneMeshes {
|
||||
@ -2363,9 +2363,9 @@ impl DragonCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.tail_front.center.0);
|
||||
let central = graceful_load_segment(&spec.tail_front.central.0);
|
||||
|
||||
(center, Vec3::from(spec.tail_front.offset))
|
||||
(central, Vec3::from(spec.tail_front.offset))
|
||||
}
|
||||
|
||||
fn mesh_tail_rear(&self, species: DSpecies, body_type: DBodyType) -> BoneMeshes {
|
||||
@ -2379,9 +2379,9 @@ impl DragonCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.tail_rear.center.0);
|
||||
let central = graceful_load_segment(&spec.tail_rear.central.0);
|
||||
|
||||
(center, Vec3::from(spec.tail_rear.offset))
|
||||
(central, Vec3::from(spec.tail_rear.offset))
|
||||
}
|
||||
}
|
||||
impl DragonLateralSpec {
|
||||
@ -2620,22 +2620,22 @@ fn mesh_fish_small_tail(tail: fish_small::Tail) -> BoneMeshes {
|
||||
}
|
||||
////
|
||||
#[derive(Deserialize)]
|
||||
struct BipedLargeCenterSpec(HashMap<(BLSpecies, BLBodyType), SidedBLCenterVoxSpec>);
|
||||
struct BipedLargeCentralSpec(HashMap<(BLSpecies, BLBodyType), SidedBLCentralVoxSpec>);
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct SidedBLCenterVoxSpec {
|
||||
head: BipedLargeCenterSubSpec,
|
||||
jaw: BipedLargeCenterSubSpec,
|
||||
torso_upper: BipedLargeCenterSubSpec,
|
||||
torso_lower: BipedLargeCenterSubSpec,
|
||||
tail: BipedLargeCenterSubSpec,
|
||||
main: BipedLargeCenterSubSpec,
|
||||
second: BipedLargeCenterSubSpec,
|
||||
struct SidedBLCentralVoxSpec {
|
||||
head: BipedLargeCentralSubSpec,
|
||||
jaw: BipedLargeCentralSubSpec,
|
||||
torso_upper: BipedLargeCentralSubSpec,
|
||||
torso_lower: BipedLargeCentralSubSpec,
|
||||
tail: BipedLargeCentralSubSpec,
|
||||
main: BipedLargeCentralSubSpec,
|
||||
second: BipedLargeCentralSubSpec,
|
||||
}
|
||||
#[derive(Deserialize)]
|
||||
struct BipedLargeCenterSubSpec {
|
||||
struct BipedLargeCentralSubSpec {
|
||||
offset: [f32; 3], // Should be relative to initial origin
|
||||
center: VoxSimple,
|
||||
central: VoxSimple,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@ -2661,36 +2661,36 @@ struct BipedLargeLateralSubSpec {
|
||||
make_vox_spec!(
|
||||
biped_large::Body,
|
||||
struct BipedLargeSpec {
|
||||
center: BipedLargeCenterSpec = "voxygen.voxel.biped_large_center_manifest",
|
||||
central: BipedLargeCentralSpec = "voxygen.voxel.biped_large_central_manifest",
|
||||
lateral: BipedLargeLateralSpec = "voxygen.voxel.biped_large_lateral_manifest",
|
||||
},
|
||||
|FigureKey { body, .. }, spec| {
|
||||
[
|
||||
Some(spec.center.asset.mesh_head(
|
||||
Some(spec.central.asset.mesh_head(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_jaw(
|
||||
Some(spec.central.asset.mesh_jaw(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_torso_upper(
|
||||
Some(spec.central.asset.mesh_torso_upper(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_torso_lower(
|
||||
Some(spec.central.asset.mesh_torso_lower(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_tail(
|
||||
Some(spec.central.asset.mesh_tail(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_main(
|
||||
Some(spec.central.asset.mesh_main(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_second(
|
||||
Some(spec.central.asset.mesh_second(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
@ -2731,7 +2731,7 @@ make_vox_spec!(
|
||||
},
|
||||
);
|
||||
|
||||
impl BipedLargeCenterSpec {
|
||||
impl BipedLargeCentralSpec {
|
||||
fn mesh_head(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
@ -2743,9 +2743,9 @@ impl BipedLargeCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.head.center.0);
|
||||
let central = graceful_load_segment(&spec.head.central.0);
|
||||
|
||||
(center, Vec3::from(spec.head.offset))
|
||||
(central, Vec3::from(spec.head.offset))
|
||||
}
|
||||
|
||||
fn mesh_jaw(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes {
|
||||
@ -2759,9 +2759,9 @@ impl BipedLargeCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.jaw.center.0);
|
||||
let central = graceful_load_segment(&spec.jaw.central.0);
|
||||
|
||||
(center, Vec3::from(spec.jaw.offset))
|
||||
(central, Vec3::from(spec.jaw.offset))
|
||||
}
|
||||
|
||||
fn mesh_torso_upper(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes {
|
||||
@ -2775,9 +2775,9 @@ impl BipedLargeCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.torso_upper.center.0);
|
||||
let central = graceful_load_segment(&spec.torso_upper.central.0);
|
||||
|
||||
(center, Vec3::from(spec.torso_upper.offset))
|
||||
(central, Vec3::from(spec.torso_upper.offset))
|
||||
}
|
||||
|
||||
fn mesh_torso_lower(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes {
|
||||
@ -2791,9 +2791,9 @@ impl BipedLargeCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.torso_lower.center.0);
|
||||
let central = graceful_load_segment(&spec.torso_lower.central.0);
|
||||
|
||||
(center, Vec3::from(spec.torso_lower.offset))
|
||||
(central, Vec3::from(spec.torso_lower.offset))
|
||||
}
|
||||
|
||||
fn mesh_tail(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes {
|
||||
@ -2807,9 +2807,9 @@ impl BipedLargeCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.tail.center.0);
|
||||
let central = graceful_load_segment(&spec.tail.central.0);
|
||||
|
||||
(center, Vec3::from(spec.tail.offset))
|
||||
(central, Vec3::from(spec.tail.offset))
|
||||
}
|
||||
|
||||
fn mesh_main(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes {
|
||||
@ -2823,9 +2823,9 @@ impl BipedLargeCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.main.center.0);
|
||||
let central = graceful_load_segment(&spec.main.central.0);
|
||||
|
||||
(center, Vec3::from(spec.main.offset))
|
||||
(central, Vec3::from(spec.main.offset))
|
||||
}
|
||||
|
||||
fn mesh_second(&self, species: BLSpecies, body_type: BLBodyType) -> BoneMeshes {
|
||||
@ -2839,9 +2839,9 @@ impl BipedLargeCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.second.center.0);
|
||||
let central = graceful_load_segment(&spec.second.central.0);
|
||||
|
||||
(center, Vec3::from(spec.second.offset))
|
||||
(central, Vec3::from(spec.second.offset))
|
||||
}
|
||||
}
|
||||
impl BipedLargeLateralSpec {
|
||||
@ -2975,18 +2975,18 @@ impl BipedLargeLateralSpec {
|
||||
}
|
||||
////
|
||||
#[derive(Deserialize)]
|
||||
struct GolemCenterSpec(HashMap<(GSpecies, GBodyType), SidedGCenterVoxSpec>);
|
||||
struct GolemCentralSpec(HashMap<(GSpecies, GBodyType), SidedGCentralVoxSpec>);
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct SidedGCenterVoxSpec {
|
||||
head: GolemCenterSubSpec,
|
||||
torso_upper: GolemCenterSubSpec,
|
||||
torso_lower: GolemCenterSubSpec,
|
||||
struct SidedGCentralVoxSpec {
|
||||
head: GolemCentralSubSpec,
|
||||
torso_upper: GolemCentralSubSpec,
|
||||
torso_lower: GolemCentralSubSpec,
|
||||
}
|
||||
#[derive(Deserialize)]
|
||||
struct GolemCenterSubSpec {
|
||||
struct GolemCentralSubSpec {
|
||||
offset: [f32; 3], // Should be relative to initial origin
|
||||
center: VoxSimple,
|
||||
central: VoxSimple,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@ -3012,20 +3012,20 @@ struct GolemLateralSubSpec {
|
||||
make_vox_spec!(
|
||||
golem::Body,
|
||||
struct GolemSpec {
|
||||
center: GolemCenterSpec = "voxygen.voxel.golem_center_manifest",
|
||||
central: GolemCentralSpec = "voxygen.voxel.golem_central_manifest",
|
||||
lateral: GolemLateralSpec = "voxygen.voxel.golem_lateral_manifest",
|
||||
},
|
||||
|FigureKey { body, .. }, spec| {
|
||||
[
|
||||
Some(spec.center.asset.mesh_head(
|
||||
Some(spec.central.asset.mesh_head(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_torso_upper(
|
||||
Some(spec.central.asset.mesh_torso_upper(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
Some(spec.center.asset.mesh_torso_lower(
|
||||
Some(spec.central.asset.mesh_torso_lower(
|
||||
body.species,
|
||||
body.body_type,
|
||||
)),
|
||||
@ -3070,7 +3070,7 @@ make_vox_spec!(
|
||||
},
|
||||
);
|
||||
|
||||
impl GolemCenterSpec {
|
||||
impl GolemCentralSpec {
|
||||
fn mesh_head(&self, species: GSpecies, body_type: GBodyType) -> BoneMeshes {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
@ -3082,9 +3082,9 @@ impl GolemCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.head.center.0);
|
||||
let central = graceful_load_segment(&spec.head.central.0);
|
||||
|
||||
(center, Vec3::from(spec.head.offset))
|
||||
(central, Vec3::from(spec.head.offset))
|
||||
}
|
||||
|
||||
fn mesh_torso_upper(&self, species: GSpecies, body_type: GBodyType) -> BoneMeshes {
|
||||
@ -3098,9 +3098,9 @@ impl GolemCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.torso_upper.center.0);
|
||||
let central = graceful_load_segment(&spec.torso_upper.central.0);
|
||||
|
||||
(center, Vec3::from(spec.torso_upper.offset))
|
||||
(central, Vec3::from(spec.torso_upper.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_torso_lower(
|
||||
@ -3118,9 +3118,9 @@ impl GolemCenterSpec {
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5));
|
||||
},
|
||||
};
|
||||
let center = graceful_load_segment(&spec.torso_lower.center.0);
|
||||
let central = graceful_load_segment(&spec.torso_lower.central.0);
|
||||
|
||||
(center, Vec3::from(spec.torso_lower.offset))
|
||||
(central, Vec3::from(spec.torso_lower.offset))
|
||||
}
|
||||
}
|
||||
impl GolemLateralSpec {
|
||||
|
@ -1209,7 +1209,7 @@ impl FigureMgr {
|
||||
|
||||
let target_base = match (
|
||||
physics.on_ground,
|
||||
vel.0.magnitude_squared() > MOVING_THRESHOLD_SQR, // Moving
|
||||
vel.0.magnitude_squared() > 0.25, // Moving
|
||||
physics.in_fluid.is_some(), // In water
|
||||
) {
|
||||
// Standing
|
||||
|
Loading…
Reference in New Issue
Block a user