new animals

This commit is contained in:
Justin Shipsey 2020-04-28 03:13:23 +00:00
parent 2ee86ff2c6
commit 61c0c2991d
63 changed files with 237 additions and 12 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.

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.

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.

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),
},
}
}