new animals

This commit is contained in:
Justin Shipsey 2020-04-28 03:13:23 +00:00
parent 303967a6f7
commit 171e865f57
63 changed files with 381 additions and 42 deletions

View File

@ -63,6 +63,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added non-uniform block heights
- Added `/sudo` command
- Added a Level of Detail (LoD) system for terrain sprites and entities
- Added owl, hyena, parrot npcs
### Changed

View File

@ -433,6 +433,10 @@
"holladon": {
"keyword": "holladon",
"generic": "Holladon"
},
"hyena": {
"keyword": "hyena",
"generic": "Hyena"
}
}
},
@ -463,6 +467,14 @@
"eagle": {
"keyword": "eagle",
"generic": "Eagle"
},
"snowyowl": {
"keyword": "snowyowl",
"generic": "Snowy Owl"
},
"parrot": {
"keyword": "parrot",
"generic": "Parrot"
}
}
},

View File

@ -114,15 +114,15 @@
(Eagle, Male): (
head: (
offset: (-2.0, -2.0, -3.5),
center: ("npc.eagle.female.head"),
center: ("npc.eagle.male.head"),
),
torso: (
offset: (-3.0, -4.5, -4.5),
center: ("npc.eagle.female.torso"),
center: ("npc.eagle.male.torso"),
),
tail: (
offset: (-2.0, -3.5, -3.5),
center: ("npc.eagle.female.tail"),
center: ("npc.eagle.male.tail"),
)
),
(Eagle, Female): (
@ -139,5 +139,60 @@
center: ("npc.eagle.female.tail"),
)
),
})
(Snowyowl, Male): (
head: (
offset: (-3.5, -4.5, -4.0),
center: ("npc.snowyowl.male.head"),
),
torso: (
offset: (-3.5, -5.0, -3.0),
center: ("npc.snowyowl.male.torso"),
),
tail: (
offset: (-2.5, -3.0, -2.0),
center: ("npc.snowyowl.male.tail"),
)
),
(Snowyowl, Female): (
head: (
offset: (-3.5, -4.5, -4.0),
center: ("npc.snowyowl.female.head"),
),
torso: (
offset: (-3.5, -5.0, -3.0),
center: ("npc.snowyowl.female.torso"),
),
tail: (
offset: (-2.5, -3.0, -2.0),
center: ("npc.snowyowl.female.tail"),
)
),
(Parrot, Male): (
head: (
offset: (-1.5, -1.5, -2.5),
center: ("npc.parrot.male.head"),
),
torso: (
offset: (-1.5, -3.5, -3.5),
center: ("npc.parrot.male.torso"),
),
tail: (
offset: (-1.5, -4.5, -1.5),
center: ("npc.parrot.male.tail"),
)
),
(Parrot, Female): (
head: (
offset: (-1.5, -1.5, -2.5),
center: ("npc.parrot.female.head"),
),
torso: (
offset: (-1.5, -3.5, -3.5),
center: ("npc.parrot.female.torso"),
),
tail: (
offset: (-1.5, -4.5, -1.5),
center: ("npc.parrot.female.tail"),
)
),
})

View File

@ -179,4 +179,76 @@
lateral: ("npc.eagle.female.leg_r"),
)
),
})
(Snowyowl, Male): (
wing_l: (
offset: (-1.0, -2.5, -8.0),
lateral: ("npc.snowyowl.male.wing_l"),
),
wing_r: (
offset: (-1.0, -2.5, -8.0),
lateral: ("npc.snowyowl.male.wing_r"),
),
foot_l: (
offset: (-1.0, 0.0, -6.5),
lateral: ("npc.snowyowl.male.leg_l"),
),
foot_r: (
offset: (-1.0, 0.0, -6.5),
lateral: ("npc.snowyowl.male.leg_r"),
)
),
(Snowyowl, Female): (
wing_l: (
offset: (-1.0, -2.5, -8.0),
lateral: ("npc.snowyowl.female.wing_l"),
),
wing_r: (
offset: (-1.0, -2.5, -8.0),
lateral: ("npc.snowyowl.female.wing_r"),
),
foot_l: (
offset: (-1.0, 0.0, -6.5),
lateral: ("npc.snowyowl.female.leg_l"),
),
foot_r: (
offset: (-1.0, 0.0, -6.5),
lateral: ("npc.snowyowl.female.leg_r"),
)
),
(Parrot, Male): (
wing_l: (
offset: (-0.5, -2.5, -8.0),
lateral: ("npc.parrot.female.wing"),
),
wing_r: (
offset: (-0.5, -2.5, -8.0),
lateral: ("npc.parrot.female.wing"),
),
foot_l: (
offset: (-1.0, 0.0, -3.0),
lateral: ("npc.parrot.female.leg_l"),
),
foot_r: (
offset: (-1.0, 0.0, -3.0),
lateral: ("npc.parrot.female.leg_r"),
)
),
(Parrot, Female): (
wing_l: (
offset: (-0.5, -2.5, -8.0),
lateral: ("npc.parrot.female.wing"),
),
wing_r: (
offset: (-0.5, -2.5, -8.0),
lateral: ("npc.parrot.female.wing"),
),
foot_l: (
offset: (-1.0, 0.0, -3.0),
lateral: ("npc.parrot.female.leg_l"),
),
foot_r: (
offset: (-1.0, 0.0, -3.0),
lateral: ("npc.parrot.female.leg_r"),
)
),
})

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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/hyena/female/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

BIN
assets/voxygen/voxel/npc/parrot/female/tail.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/parrot/female/torso.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/parrot/female/wing.vox (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

BIN
assets/voxygen/voxel/npc/snowyowl/female/tail.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/snowyowl/female/torso.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/snowyowl/female/wing_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/snowyowl/female/wing_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

View File

@ -44,7 +44,7 @@
(Sheep, Male):(
head: (
offset: (-5.0, -4.5, -3.5),
offset: (-6.0, -5.5, -4.0),
central: ("npc.sheep.male.head"),
),
chest: (
@ -251,4 +251,26 @@
central: ("npc.holladon.female.chest"),
),
),
})
(Hyena, Male):(
head: (
offset: (-3.0, -2.0, -4.0),
central: ("npc.hyena.male.head"),
),
chest: (
offset: (-3.0, -9.0, -5.0),
central: ("npc.hyena.male.chest"),
),
),
(Hyena, Female):(
head: (
offset: (-3.0, -2.0, -4.0),
central: ("npc.hyena.female.head"),
),
chest: (
offset: (-3.0, -9.0, -5.0),
central: ("npc.hyena.female.chest"),
),
),
})

View File

@ -447,4 +447,41 @@
lateral: ("npc.holladon.female.foot_br"),
),
),
})
(Hyena, Male): (
left_front: (
offset: (-1.5, -2.0, -5.0),
lateral: ("npc.hyena.male.foot_fl"),
),
right_front: (
offset: (-1.5, -2.0, -5.0),
lateral: ("npc.hyena.male.foot_fr"),
),
left_back: (
offset: (-1.5, -2.0, -4.5),
lateral: ("npc.hyena.male.foot_bl"),
),
right_back: (
offset: (-1.5, -2.0, -4.5),
lateral: ("npc.hyena.male.foot_br"),
),
),
(Hyena, Female): (
left_front: (
offset: (-1.5, -2.0, -5.0),
lateral: ("npc.hyena.female.foot_fl"),
),
right_front: (
offset: (-1.5, -2.0, -5.0),
lateral: ("npc.hyena.female.foot_fr"),
),
left_back: (
offset: (-1.5, -2.0, -4.5),
lateral: ("npc.hyena.female.foot_bl"),
),
right_back: (
offset: (-1.5, -2.0, -4.5),
lateral: ("npc.hyena.female.foot_br"),
),
),
})

View File

@ -32,6 +32,8 @@ pub enum Species {
Goose = 2,
Peacock = 3,
Eagle = 4,
Snowyowl = 5,
Parrot = 6,
}
/// Data representing per-species generic data.
@ -44,6 +46,8 @@ pub struct AllSpecies<SpeciesMeta> {
pub goose: SpeciesMeta,
pub peacock: SpeciesMeta,
pub eagle: SpeciesMeta,
pub snowyowl: SpeciesMeta,
pub parrot: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -57,16 +61,20 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Goose => &self.goose,
Species::Peacock => &self.peacock,
Species::Eagle => &self.eagle,
Species::Snowyowl => &self.snowyowl,
Species::Parrot => &self.parrot,
}
}
}
pub const ALL_SPECIES: [Species; 5] = [
pub const ALL_SPECIES: [Species; 7] = [
Species::Duck,
Species::Chicken,
Species::Goose,
Species::Peacock,
Species::Eagle,
Species::Snowyowl,
Species::Parrot,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -39,6 +39,7 @@ pub enum Species {
Quokka = 9,
Dodarock = 10,
Holladon = 11,
Hyena = 12,
}
/// Data representing per-species generic data.
@ -58,6 +59,7 @@ pub struct AllSpecies<SpeciesMeta> {
pub quokka: SpeciesMeta,
pub dodarock: SpeciesMeta,
pub holladon: SpeciesMeta,
pub hyena: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -78,11 +80,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Quokka => &self.quokka,
Species::Dodarock => &self.dodarock,
Species::Holladon => &self.holladon,
Species::Hyena => &self.hyena,
}
}
}
pub const ALL_SPECIES: [Species; 12] = [
pub const ALL_SPECIES: [Species; 13] = [
Species::Pig,
Species::Fox,
Species::Sheep,
@ -95,6 +98,7 @@ pub const ALL_SPECIES: [Species; 12] = [
Species::Quokka,
Species::Dodarock,
Species::Holladon,
Species::Hyena,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -103,7 +103,9 @@ impl<'a> From<&'a comp::bird_medium::Body> for SkeletonAttr {
(Chicken, _) => (4.0, 3.0),
(Goose, _) => (5.0, 5.0),
(Peacock, _) => (4.0, 7.0),
(Eagle, _) => (3.5, 5.0),
(Eagle, _) => (2.5, 5.0),
(Snowyowl, _) => (2.5, 5.0),
(Parrot, _) => (0.5, 4.5),
},
chest: match (body.species, body.body_type) {
(Duck, _) => (0.0, 5.0),
@ -111,6 +113,8 @@ impl<'a> From<&'a comp::bird_medium::Body> for SkeletonAttr {
(Goose, _) => (0.0, 8.0),
(Peacock, _) => (0.0, 10.0),
(Eagle, _) => (0.0, 8.0),
(Snowyowl, _) => (0.0, 4.5),
(Parrot, _) => (0.0, 5.0),
},
tail: match (body.species, body.body_type) {
(Duck, _) => (-3.0, 1.5),
@ -118,6 +122,8 @@ impl<'a> From<&'a comp::bird_medium::Body> for SkeletonAttr {
(Goose, _) => (-5.0, 3.0),
(Peacock, _) => (-5.5, 2.0),
(Eagle, _) => (-8.0, -4.0),
(Snowyowl, _) => (-6.0, -2.0),
(Parrot, _) => (-8.0, -2.0),
},
wing: match (body.species, body.body_type) {
(Duck, _) => (2.75, 0.0, 1.0),
@ -125,6 +131,8 @@ impl<'a> From<&'a comp::bird_medium::Body> for SkeletonAttr {
(Goose, _) => (3.75, -1.0, 2.0),
(Peacock, _) => (3.0, 0.0, 1.0),
(Eagle, _) => (3.0, -8.0, 4.0),
(Snowyowl, _) => (3.5, -5.5, 4.0),
(Parrot, _) => (2.0, -4.5, 3.0),
},
foot: match (body.species, body.body_type) {
(Duck, _) => (2.0, -1.5, 4.0),
@ -132,6 +140,8 @@ impl<'a> From<&'a comp::bird_medium::Body> for SkeletonAttr {
(Goose, _) => (2.0, -1.5, 7.0),
(Peacock, _) => (2.0, -2.5, 8.0),
(Eagle, _) => (2.0, -2.0, 8.0),
(Snowyowl, _) => (1.5, -2.5, 7.0),
(Parrot, _) => (1.5, -3.0, 3.0),
},
}
}

View File

@ -104,6 +104,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Quokka, _) => (10.0, 10.0),
(Dodarock, _) => (8.0, 9.0),
(Holladon, _) => (8.0, 8.0),
(Hyena, _) => (7.5, 13.0),
},
chest: match (body.species, body.body_type) {
(Pig, _) => (0.0, 8.0),
@ -118,6 +119,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Quokka, _) => (2.0, 8.0),
(Dodarock, _) => (-2.0, 8.0),
(Holladon, _) => (-2.0, 6.0),
(Hyena, _) => (-2.0, 9.0),
},
feet_f: match (body.species, body.body_type) {
(Pig, _) => (3.0, 5.0, 2.0),
@ -132,6 +134,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Quokka, _) => (3.0, 5.0, 3.0),
(Dodarock, _) => (3.5, 5.0, 4.0),
(Holladon, _) => (3.0, 5.0, 4.0),
(Hyena, _) => (2.5, 5.0, 6.0),
},
feet_b: match (body.species, body.body_type) {
(Pig, _) => (3.0, -2.0, 2.0),
@ -146,6 +149,7 @@ impl<'a> From<&'a comp::quadruped_small::Body> for SkeletonAttr {
(Quokka, _) => (3.0, -4.0, 3.0),
(Dodarock, _) => (4.5, -3.0, 4.0),
(Holladon, _) => (4.0, -4.0, 3.0),
(Hyena, _) => (2.5, -7.0, 6.0),
},
}
}