Add troll, truffler and wendigo npcs

This commit is contained in:
Snowram 2020-07-29 01:09:45 +02:00 committed by jshipsey
parent 8991b60929
commit 90d7485c38
44 changed files with 400 additions and 17 deletions

View File

@ -453,6 +453,10 @@
"rabbit": {
"keyword": "rabbit",
"generic": "Rabbit"
},
"truffler": {
"keyword": "truffler",
"generic": "Truffler"
}
}
},
@ -513,6 +517,14 @@
"cyclops": {
"keyword": "cyclops",
"generic": "Cyclops"
},
"wendigo": {
"keyword": "wendigo",
"generic": "Wendigo"
},
"troll": {
"keyword": "troll",
"generic": "Troll"
}
}
},

View File

@ -55,4 +55,60 @@
center: ("npc.cyclops.male.torso_lower"),
)
),
(Wendigo, Male): (
head: (
offset: (-15.0, -4.5, -9.5),
center: ("npc.wendigo.male.head"),
),
torso_upper: (
offset: (-6.0, -5.5, -6.5),
center: ("npc.wendigo.male.torso_upper"),
),
torso_lower: (
offset: (-4.0, -2.0, -2.0),
center: ("npc.wendigo.male.torso_lower"),
)
),
(Wendigo, Female): (
head: (
offset: (-15.0, -4.5, -9.5),
center: ("npc.wendigo.male.head"),
),
torso_upper: (
offset: (-6.0, -5.5, -6.5),
center: ("npc.wendigo.male.torso_upper"),
),
torso_lower: (
offset: (-4.0, -2.0, -2.0),
center: ("npc.wendigo.male.torso_lower"),
)
),
(Troll, Male): (
head: (
offset: (-8.0, -8.5, -9.0),
center: ("npc.troll.male.head"),
),
torso_upper: (
offset: (-8.0, -7.5, -11.0),
center: ("npc.troll.male.torso_upper"),
),
torso_lower: (
offset: (-6.0, -3.5, -2.5),
center: ("npc.troll.male.torso_lower"),
)
),
(Troll, Female): (
head: (
offset: (-8.0, -8.5, -9.0),
center: ("npc.troll.male.head"),
),
torso_upper: (
offset: (-8.0, -7.5, -11.0),
center: ("npc.troll.male.torso_upper"),
),
torso_lower: (
offset: (-6.0, -3.5, -2.5),
center: ("npc.troll.male.torso_lower"),
)
),
})

View File

@ -135,4 +135,140 @@
lateral: ("npc.cyclops.male.foot_r"),
)
),
(Wendigo, Male): (
shoulder_l: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.wendigo.male.shoulder_l"),
),
shoulder_r: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.wendigo.male.shoulder_r"),
),
hand_l: (
offset: (-4.0, -3.5, -18.0),
lateral: ("npc.wendigo.male.hand_l"),
),
hand_r: (
offset: (-4.0, -3.5, -18.0),
lateral: ("npc.wendigo.male.hand_r"),
),
leg_l: (
offset: (-4.0, -2.5, -9.0),
lateral: ("npc.wendigo.male.leg_l"),
),
leg_r: (
offset: (0.0, -2.5, -9.0),
lateral: ("npc.wendigo.male.leg_r"),
),
foot_l: (
offset: (-4.0, -5.0, -5.5),
lateral: ("npc.wendigo.male.foot_l"),
),
foot_r: (
offset: (-4.0, -5.0, -5.5),
lateral: ("npc.wendigo.male.foot_r"),
)
),
(Wendigo, Female): (
shoulder_l: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.wendigo.male.shoulder_l"),
),
shoulder_r: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.wendigo.male.shoulder_r"),
),
hand_l: (
offset: (-4.0, -3.5, -18.0),
lateral: ("npc.wendigo.male.hand_l"),
),
hand_r: (
offset: (-4.0, -3.5, -18.0),
lateral: ("npc.wendigo.male.hand_r"),
),
leg_l: (
offset: (-4.0, -2.5, -9.0),
lateral: ("npc.wendigo.male.leg_l"),
),
leg_r: (
offset: (0.0, -2.5, -9.0),
lateral: ("npc.wendigo.male.leg_r"),
),
foot_l: (
offset: (-4.0, -5.0, -5.5),
lateral: ("npc.wendigo.male.foot_l"),
),
foot_r: (
offset: (-4.0, -5.0, -5.5),
lateral: ("npc.wendigo.male.foot_r"),
)
),
(Troll, Male): (
shoulder_l: (
offset: (-5.0, -4.5, -7.0),
lateral: ("npc.troll.male.shoulder_l"),
),
shoulder_r: (
offset: (-5.0, -4.5, -7.0),
lateral: ("npc.troll.male.shoulder_r"),
),
hand_l: (
offset: (-3.5, -4.0, -15.0),
lateral: ("npc.troll.male.hand_l"),
),
hand_r: (
offset: (-3.5, -4.0, -15.0),
lateral: ("npc.troll.male.hand_r"),
),
leg_l: (
offset: (-3.0, -2.5, -4.5),
lateral: ("npc.troll.male.leg_l"),
),
leg_r: (
offset: (-3.0, -2.5, -4.5),
lateral: ("npc.troll.male.leg_r"),
),
foot_l: (
offset: (-3.0, -5.0, -2.5),
lateral: ("npc.troll.male.foot_l"),
),
foot_r: (
offset: (-3.0, -5.0, -2.5),
lateral: ("npc.troll.male.foot_r"),
)
),
(Troll, Female): (
shoulder_l: (
offset: (-5.0, -4.5, -7.0),
lateral: ("npc.troll.male.shoulder_l"),
),
shoulder_r: (
offset: (-5.0, -4.5, -7.0),
lateral: ("npc.troll.male.shoulder_r"),
),
hand_l: (
offset: (-3.5, -4.0, -15.0),
lateral: ("npc.troll.male.hand_l"),
),
hand_r: (
offset: (-3.5, -4.0, -15.0),
lateral: ("npc.troll.male.hand_r"),
),
leg_l: (
offset: (-3.0, -2.5, -4.5),
lateral: ("npc.troll.male.leg_l"),
),
leg_r: (
offset: (-3.0, -2.5, -4.5),
lateral: ("npc.troll.male.leg_r"),
),
foot_l: (
offset: (-3.0, -5.0, -2.5),
lateral: ("npc.troll.male.foot_l"),
),
foot_r: (
offset: (-3.0, -5.0, -2.5),
lateral: ("npc.troll.male.foot_r"),
)
),
})

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/foot_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/foot_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/hand_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/hand_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/jaw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/leg_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/leg_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/shoulder_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/shoulder_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/torso_lower.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/torso_upper.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/troll/male/weapon_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/truffler/male/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/truffler/male/foot_bl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/truffler/male/foot_br.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/truffler/male/foot_fl.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/truffler/male/foot_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/truffler/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/foot_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/foot_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/hand_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/hand_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/leg_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/leg_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/shoulder_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/shoulder_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/torso_lower.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/wendigo/male/torso_upper.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -406,4 +406,32 @@
central: ("npc.rabbit.male.tail"),
),
),
(Truffler, Male):(
head: (
offset: (-8.5, 0.0, -4.5),
central: ("npc.truffler.male.head"),
),
chest: (
offset: (-10.5, -11.0, -15.0),
central: ("npc.truffler.male.chest"),
),
tail: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
),
),
(Truffler, Female):(
head: (
offset: (-8.5, 0.0, -4.5),
central: ("npc.truffler.male.head"),
),
chest: (
offset: (-10.5, -11.0, -15.0),
central: ("npc.truffler.male.chest"),
),
tail: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
),
),
})

View File

@ -520,4 +520,41 @@
lateral: ("npc.rabbit.male.foot_br"),
),
),
(Truffler, Male): (
left_front: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_fl"),
),
right_front: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_fr"),
),
left_back: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_bl"),
),
right_back: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_br"),
),
),
(Truffler, Female): (
left_front: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_fl"),
),
right_front: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_fr"),
),
left_back: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_bl"),
),
right_back: (
offset: (-2.5, -3.0, -6.5),
lateral: ("npc.truffler.male.foot_br"),
),
),
})

View File

@ -30,6 +30,8 @@ impl From<Body> for super::Body {
pub enum Species {
Ogre = 0,
Cyclops = 1,
Wendigo = 2,
Troll = 3,
}
/// Data representing per-species generic data.
@ -39,6 +41,8 @@ pub enum Species {
pub struct AllSpecies<SpeciesMeta> {
pub ogre: SpeciesMeta,
pub cyclops: SpeciesMeta,
pub wendigo: SpeciesMeta,
pub troll: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -49,11 +53,18 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
match index {
Species::Ogre => &self.ogre,
Species::Cyclops => &self.cyclops,
Species::Wendigo => &self.wendigo,
Species::Troll => &self.troll,
}
}
}
pub const ALL_SPECIES: [Species; 2] = [Species::Ogre, Species::Cyclops];
pub const ALL_SPECIES: [Species; 4] = [
Species::Ogre,
Species::Cyclops,
Species::Wendigo,
Species::Troll,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
type IntoIter = std::iter::Copied<std::slice::Iter<'static, Self::Item>>;

View File

@ -42,6 +42,7 @@ pub enum Species {
Holladon = 11,
Hyena = 12,
Rabbit = 13,
Truffler = 14,
}
/// Data representing per-species generic data.
@ -63,6 +64,7 @@ pub struct AllSpecies<SpeciesMeta> {
pub holladon: SpeciesMeta,
pub hyena: SpeciesMeta,
pub rabbit: SpeciesMeta,
pub truffler: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -85,11 +87,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Holladon => &self.holladon,
Species::Hyena => &self.hyena,
Species::Rabbit => &self.rabbit,
Species::Truffler => &self.truffler,
}
}
}
pub const ALL_SPECIES: [Species; 14] = [
pub const ALL_SPECIES: [Species; 15] = [
Species::Pig,
Species::Fox,
Species::Sheep,
@ -104,6 +107,7 @@ pub const ALL_SPECIES: [Species; 14] = [
Species::Holladon,
Species::Hyena,
Species::Rabbit,
Species::Truffler,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -132,30 +132,44 @@ impl<'a> From<&'a comp::biped_large::Body> for SkeletonAttr {
head: match (body.species, body.body_type) {
(Ogre, _) => (3.0, 6.0),
(Cyclops, _) => (3.0, 9.0),
(Wendigo, _) => (3.0, 13.5),
(Troll, _) => (6.0, 10.0),
},
upper_torso: match (body.species, body.body_type) {
(Ogre, _) => (0.0, 19.0),
(Cyclops, _) => (-1.0, 27.0),
(Wendigo, _) => (-1.0, 27.0),
(Troll, _) => (-1.0, 25.5),
},
lower_torso: match (body.species, body.body_type) {
(Ogre, _) => (1.0, -9.5),
(Cyclops, _) => (1.0, -10.5),
(Wendigo, _) => (-1.5, -8.0),
(Troll, _) => (1.0, -12.5),
},
shoulder: match (body.species, body.body_type) {
(Ogre, _) => (6.1, 0.5, 2.5),
(Cyclops, _) => (9.5, 0.5, 2.5),
(Wendigo, _) => (9.0, 0.5, -0.5),
(Troll, _) => (11.0, 0.5, -2.5),
},
hand: match (body.species, body.body_type) {
(Ogre, _) => (10.5, -1.0, -0.5),
(Cyclops, _) => (10.5, 0.0, -0.5),
(Wendigo, _) => (12.0, 0.0, -0.5),
(Troll, _) => (11.5, 0.0, -1.5),
},
leg: match (body.species, body.body_type) {
(Ogre, _) => (0.0, 0.0, -6.0),
(Cyclops, _) => (0.0, 0.0, -9.0),
(Wendigo, _) => (2.0, 0.0, -8.5),
(Troll, _) => (5.0, 0.0, -16.0),
},
foot: match (body.species, body.body_type) {
(Ogre, _) => (4.0, 0.5, 5.5),
(Cyclops, _) => (4.0, 0.5, 5.0),
(Wendigo, _) => (5.0, 0.5, 5.5),
(Troll, _) => (6.0, 0.5, 3.0),
},
}
}

View File

@ -128,6 +128,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (7.0, 1.0),
(Hyena, _) => (7.5, 2.0),
(Rabbit, _) => (4.0, 3.0),
(Truffler, _) => (7.5, -9.0),
},
chest: match (body.species, body.body_type) {
(Pig, _) => (0.0, 7.0),
@ -144,6 +145,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (-2.0, 9.0),
(Hyena, _) => (-2.0, 9.0),
(Rabbit, _) => (-2.0, 6.0),
(Truffler, _) => (-2.0, 16.0),
},
feet_f: match (body.species, body.body_type) {
(Pig, _) => (4.5, 3.0, -2.0),
@ -160,6 +162,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (5.0, 4.0, -2.5),
(Hyena, _) => (2.5, 5.0, -4.0),
(Rabbit, _) => (3.0, 3.0, -3.0),
(Truffler, _) => (2.5, 5.0, -9.0),
},
feet_b: match (body.species, body.body_type) {
(Pig, _) => (3.5, -2.0, -1.5),
@ -176,6 +179,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (4.0, -2.0, -3.0),
(Hyena, _) => (3.0, -5.0, -2.5),
(Rabbit, _) => (3.5, -2.0, -1.0),
(Truffler, _) => (3.0, -5.0, -9.5),
},
tail: match (body.species, body.body_type) {
(Pig, _) => (-4.5, 2.5),
@ -192,6 +196,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (-1.0, 4.0),
(Hyena, _) => (-7.0, 0.0),
(Rabbit, _) => (-4.0, -0.0),
(Truffler, _) => (-7.0, 0.0),
},
scaler: match (body.species, body.body_type) {
(Pig, _) => (0.9),
@ -208,6 +213,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (1.4),
(Hyena, _) => (1.0),
(Rabbit, _) => (0.7),
(Truffler, _) => (1.0),
},
tempo: match (body.species, body.body_type) {
(Pig, _) => (1.0),
@ -224,6 +230,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (1.0),
(Hyena, _) => (1.1),
(Rabbit, _) => (1.15),
(Truffler, _) => (1.0),
},
maximize: match (body.species, body.body_type) {
(Pig, _) => (1.0),
@ -240,6 +247,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (1.0),
(Hyena, _) => (1.4),
(Rabbit, _) => (1.3),
(Truffler, _) => (1.0),
},
minimize: match (body.species, body.body_type) {
(Pig, _) => (0.6),
@ -256,6 +264,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (0.7),
(Hyena, _) => (1.4),
(Rabbit, _) => (0.8),
(Truffler, _) => (1.0),
},
spring: match (body.species, body.body_type) {
(Pig, _) => (1.0),
@ -272,6 +281,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Holladon, _) => (0.7),
(Hyena, _) => (1.4),
(Rabbit, _) => (2.5),
(Truffler, _) => (0.8),
},
}
}