Adds harvester npc

This commit is contained in:
Snowram 2021-02-25 00:12:31 +01:00 committed by jshipsey
parent 51bc74b2a5
commit 17112926e7
24 changed files with 211 additions and 2 deletions

View File

@ -0,0 +1,18 @@
ItemDef(
name: "Harvester Sythe",
description: "Placeholder",
kind: Tool(
(
kind: HammerSimple,
hands: Two,
stats: (
equip_time_millis: 500,
power: 1.00,
poise_strength: 1.00,
speed: 1.0
),
)
),
quality: Low,
tags: [],
)

View File

@ -853,6 +853,10 @@
yeti: ( yeti: (
keyword: "yeti", keyword: "yeti",
generic: "Yeti" generic: "Yeti"
),
harvester: (
keyword: "harvester",
generic: "Harvester"
) )
) )
), ),

View File

@ -676,4 +676,56 @@
central: ("armor.empty"), central: ("armor.empty"),
) )
), ),
(Harvester, Male): (
head: (
offset: (-11.0, -10.0, -9.0),
central: ("npc.harvester.male.head"),
),
torso_upper: (
offset: (-6.0, -7.0, -5.5),
central: ("npc.harvester.male.torso_upper"),
),
torso_lower: (
offset: (-3.0, -4.0, -9.0),
central: ("npc.harvester.male.torso_lower"),
),
jaw: (
offset: (-4.0, 0.0, -2.0),
central: ("npc.harvester.male.jaw"),
),
tail: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
),
second: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
)
),
(Harvester, Female): (
head: (
offset: (-11.0, -10.0, -9.0),
central: ("npc.harvester.male.head"),
),
torso_upper: (
offset: (-6.0, -7.0, -5.5),
central: ("npc.harvester.male.torso_upper"),
),
torso_lower: (
offset: (-3.0, -4.0, -9.0),
central: ("npc.harvester.male.torso_lower"),
),
jaw: (
offset: (-4.0, 0.0, -2.0),
central: ("npc.harvester.male.jaw"),
),
tail: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
),
second: (
offset: (0.0, 0.0, 0.0),
central: ("armor.empty"),
)
),
}) })

View File

@ -883,4 +883,72 @@
lateral: ("npc.yeti.male.foot_r"), lateral: ("npc.yeti.male.foot_r"),
) )
), ),
(Harvester, Male): (
shoulder_l: (
offset: (-3.0, -2.5, -4.0),
lateral: ("npc.harvester.male.shoulder_l"),
),
shoulder_r: (
offset: (-3.0, -2.5, -4.0),
lateral: ("npc.harvester.male.shoulder_r"),
),
hand_l: (
offset: (-4.0, -2.0, -10.0),
lateral: ("npc.harvester.male.hand_l"),
),
hand_r: (
offset: (-4.0, -2.0, -10.0),
lateral: ("npc.harvester.male.hand_r"),
),
leg_l: (
offset: (-2.5, -3.0, -3.0),
lateral: ("npc.harvester.male.leg_l"),
),
leg_r: (
offset: (-2.5, -3.0, -3.0),
lateral: ("npc.harvester.male.leg_r"),
),
foot_l: (
offset: (-3.5, -4.0, -4.0),
lateral: ("npc.harvester.male.foot_l"),
),
foot_r: (
offset: (-3.5, -4.0, -4.0),
lateral: ("npc.harvester.male.foot_r"),
)
),
(Harvester, Female): (
shoulder_l: (
offset: (-3.0, -2.5, -4.0),
lateral: ("npc.harvester.male.shoulder_l"),
),
shoulder_r: (
offset: (-3.0, -2.5, -4.0),
lateral: ("npc.harvester.male.shoulder_r"),
),
hand_l: (
offset: (-4.0, -2.0, -10.0),
lateral: ("npc.harvester.male.hand_l"),
),
hand_r: (
offset: (-4.0, -2.0, -10.0),
lateral: ("npc.harvester.male.hand_r"),
),
leg_l: (
offset: (-2.5, -3.0, -3.0),
lateral: ("npc.harvester.male.leg_l"),
),
leg_r: (
offset: (-2.5, -3.0, -3.0),
lateral: ("npc.harvester.male.leg_r"),
),
foot_l: (
offset: (-3.5, -4.0, -4.0),
lateral: ("npc.harvester.male.foot_l"),
),
foot_r: (
offset: (-3.5, -4.0, -4.0),
lateral: ("npc.harvester.male.foot_r"),
)
),
}) })

View File

@ -755,13 +755,17 @@
color: None color: None
), ),
"common.items.npc_weapons.axe.minotaur_axe": ( "common.items.npc_weapons.axe.minotaur_axe": (
vox_spec: ("weapon.axe.minotaur_axe", (-2.5, -9.0, -6.0)), vox_spec: ("weapon.axe.2haxe_minotaur", (-2.5, -9.0, -6.0)),
color: None color: None
), ),
"common.items.npc_weapons.hammer.yeti_hammer": ( "common.items.npc_weapons.hammer.yeti_hammer": (
vox_spec: ("weapon.hammer.2hhammer_yeti", (-7.5, -7.0, -7.0)), vox_spec: ("weapon.hammer.2hhammer_yeti", (-7.5, -7.0, -7.0)),
color: None color: None
), ),
"common.items.npc_weapons.hammer.harvester_scythe": (
vox_spec: ("weapon.hammer.2hhammer_harvester", (-1.5, -7.5, -6.0)),
color: None
),
//BIPEDSMALL //BIPEDSMALL
"common.items.npc_weapons.biped_small.adlet.adlet_bow": ( "common.items.npc_weapons.biped_small.adlet.adlet_bow": (
vox_spec: ("weapon.biped_small.bow.adlet", (-1.5, -3.0, -5.0)), vox_spec: ("weapon.biped_small.bow.adlet", (-1.5, -3.0, -5.0)),

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

BIN
assets/voxygen/voxel/weapon/axe/2haxe_harvester.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/weapon/hammer/2hhammer_harvester.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -369,6 +369,7 @@ impl Body {
biped_large::Species::Tidalwarrior => 2500, biped_large::Species::Tidalwarrior => 2500,
biped_large::Species::Yeti => 2000, biped_large::Species::Yeti => 2000,
biped_large::Species::Minotaur => 5000, biped_large::Species::Minotaur => 5000,
biped_large::Species::Harvester => 2000,
_ => 1000, _ => 1000,
}, },
Body::BipedSmall(biped_small) => match biped_small.species { Body::BipedSmall(biped_small) => match biped_small.species {
@ -480,6 +481,7 @@ impl Body {
biped_large::Species::Mindflayer => 250, biped_large::Species::Mindflayer => 250,
biped_large::Species::Tidalwarrior => 90, biped_large::Species::Tidalwarrior => 90,
biped_large::Species::Yeti => 80, biped_large::Species::Yeti => 80,
biped_large::Species::Harvester => 80,
_ => 100, _ => 100,
}, },
Body::BipedSmall(_) => 10, Body::BipedSmall(_) => 10,

View File

@ -47,6 +47,7 @@ make_case_elim!(
Minotaur = 10, Minotaur = 10,
Tidalwarrior = 11, Tidalwarrior = 11,
Yeti = 12, Yeti = 12,
Harvester = 13,
} }
); );
@ -68,6 +69,7 @@ pub struct AllSpecies<SpeciesMeta> {
pub minotaur: SpeciesMeta, pub minotaur: SpeciesMeta,
pub tidalwarrior: SpeciesMeta, pub tidalwarrior: SpeciesMeta,
pub yeti: SpeciesMeta, pub yeti: SpeciesMeta,
pub harvester: SpeciesMeta,
} }
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> { impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -89,11 +91,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Minotaur => &self.minotaur, Species::Minotaur => &self.minotaur,
Species::Tidalwarrior => &self.tidalwarrior, Species::Tidalwarrior => &self.tidalwarrior,
Species::Yeti => &self.yeti, Species::Yeti => &self.yeti,
Species::Harvester => &self.harvester,
} }
} }
} }
pub const ALL_SPECIES: [Species; 13] = [ pub const ALL_SPECIES: [Species; 14] = [
Species::Ogre, Species::Ogre,
Species::Cyclops, Species::Cyclops,
Species::Wendigo, Species::Wendigo,
@ -107,6 +110,7 @@ pub const ALL_SPECIES: [Species; 13] = [
Species::Minotaur, Species::Minotaur,
Species::Tidalwarrior, Species::Tidalwarrior,
Species::Yeti, Species::Yeti,
Species::Harvester,
]; ];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> { impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -261,6 +261,11 @@ impl LoadoutBuilder {
"common.items.npc_weapons.hammer.yeti_hammer", "common.items.npc_weapons.hammer.yeti_hammer",
)); ));
}, },
(biped_large::Species::Harvester, _) => {
main_tool = Some(Item::new_from_asset_expect(
"common.items.npc_weapons.hammer.harvester_scythe",
));
},
}, },
Body::Object(object::Body::Crossbow) => { Body::Object(object::Body::Crossbow) => {
main_tool = Some(Item::new_from_asset_expect( main_tool = Some(Item::new_from_asset_expect(

View File

@ -207,6 +207,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (6.0, 3.0), (Minotaur, _) => (6.0, 3.0),
(Tidalwarrior, _) => (6.5, 5.0), (Tidalwarrior, _) => (6.5, 5.0),
(Yeti, _) => (8.5, 4.0), (Yeti, _) => (8.5, 4.0),
(Harvester, _) => (6.0, 11.0),
}, },
jaw: match (body.species, body.body_type) { jaw: match (body.species, body.body_type) {
(Ogre, _) => (0.0, 0.0), (Ogre, _) => (0.0, 0.0),
@ -222,6 +223,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (2.0, -4.0), (Minotaur, _) => (2.0, -4.0),
(Tidalwarrior, _) => (0.0, 0.0), (Tidalwarrior, _) => (0.0, 0.0),
(Yeti, _) => (-5.0, -5.0), (Yeti, _) => (-5.0, -5.0),
(Harvester, _) => (-2.0, -7.0),
}, },
upper_torso: match (body.species, body.body_type) { upper_torso: match (body.species, body.body_type) {
(Ogre, Male) => (0.0, 27.5), (Ogre, Male) => (0.0, 27.5),
@ -238,6 +240,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (-1.0, 31.5), (Minotaur, _) => (-1.0, 31.5),
(Tidalwarrior, _) => (-1.0, 25.0), (Tidalwarrior, _) => (-1.0, 25.0),
(Yeti, _) => (-1.0, 23.5), (Yeti, _) => (-1.0, 23.5),
(Harvester, _) => (-1.0, 18.0),
}, },
lower_torso: match (body.species, body.body_type) { lower_torso: match (body.species, body.body_type) {
(Ogre, Male) => (1.0, -7.0), (Ogre, Male) => (1.0, -7.0),
@ -254,6 +257,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (1.5, -8.5), (Minotaur, _) => (1.5, -8.5),
(Tidalwarrior, _) => (0.0, -9.5), (Tidalwarrior, _) => (0.0, -9.5),
(Yeti, _) => (0.0, -6.5), (Yeti, _) => (0.0, -6.5),
(Harvester, _) => (-1.0, -4.5),
}, },
tail: match (body.species, body.body_type) { tail: match (body.species, body.body_type) {
(Werewolf, _) => (-5.5, -2.0), (Werewolf, _) => (-5.5, -2.0),
@ -278,6 +282,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (10.0, 1.0, -1.0), (Minotaur, _) => (10.0, 1.0, -1.0),
(Tidalwarrior, _) => (14.0, -0.5, 2.0), (Tidalwarrior, _) => (14.0, -0.5, 2.0),
(Yeti, _) => (10.5, 1.0, -2.5), (Yeti, _) => (10.5, 1.0, -2.5),
(Harvester, _) => (8.0, 1.0, -1.5),
}, },
hand: match (body.species, body.body_type) { hand: match (body.species, body.body_type) {
(Ogre, Male) => (14.5, 0.0, -4.0), (Ogre, Male) => (14.5, 0.0, -4.0),
@ -294,6 +299,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (12.5, 0.5, -7.0), (Minotaur, _) => (12.5, 0.5, -7.0),
(Tidalwarrior, _) => (15.5, -0.5, -3.0), (Tidalwarrior, _) => (15.5, -0.5, -3.0),
(Yeti, _) => (12.0, 1.5, -6.0), (Yeti, _) => (12.0, 1.5, -6.0),
(Harvester, _) => (11.5, 1.5, -5.5),
}, },
leg: match (body.species, body.body_type) { leg: match (body.species, body.body_type) {
(Ogre, Male) => (0.0, 0.0, -4.0), (Ogre, Male) => (0.0, 0.0, -4.0),
@ -310,6 +316,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (5.0, 0.0, -10.0), (Minotaur, _) => (5.0, 0.0, -10.0),
(Tidalwarrior, _) => (2.5, 0.0, -5.5), (Tidalwarrior, _) => (2.5, 0.0, -5.5),
(Yeti, _) => (4.0, 0.0, -5.5), (Yeti, _) => (4.0, 0.0, -5.5),
(Harvester, _) => (3.5, 1.0, -4.0),
}, },
foot: match (body.species, body.body_type) { foot: match (body.species, body.body_type) {
(Ogre, Male) => (4.0, 1.0, -12.0), (Ogre, Male) => (4.0, 1.0, -12.0),
@ -326,6 +333,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => (6.0, 4.5, -17.5), (Minotaur, _) => (6.0, 4.5, -17.5),
(Tidalwarrior, _) => (3.5, 0.5, -10.5), (Tidalwarrior, _) => (3.5, 0.5, -10.5),
(Yeti, _) => (4.5, 0.5, -12.5), (Yeti, _) => (4.5, 0.5, -12.5),
(Harvester, _) => (4.5, 0.5, -9.5),
}, },
scaler: match (body.species, body.body_type) { scaler: match (body.species, body.body_type) {
(Ogre, Male) => 1.4, (Ogre, Male) => 1.4,
@ -342,6 +350,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => 2.0, (Minotaur, _) => 2.0,
(Tidalwarrior, _) => 2.0, (Tidalwarrior, _) => 2.0,
(Yeti, _) => 1.5, (Yeti, _) => 1.5,
(Harvester, _) => 1.5,
}, },
tempo: match (body.species, body.body_type) { tempo: match (body.species, body.body_type) {
(Ogre, Male) => 0.9, (Ogre, Male) => 0.9,
@ -367,6 +376,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Minotaur, _) => 14.0, (Minotaur, _) => 14.0,
(Tidalwarrior, _) => 14.0, (Tidalwarrior, _) => 14.0,
(Yeti, _) => 12.5, (Yeti, _) => 12.5,
(Harvester, _) => 7.5,
}, },
shl: match (body.species, body.body_type) { shl: match (body.species, body.body_type) {
(Dullahan, _) => (-4.75, -11.0, 8.5, 1.47, -0.2, 0.0), (Dullahan, _) => (-4.75, -11.0, 8.5, 1.47, -0.2, 0.0),