mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Moss Drake
This commit is contained in:
parent
c252f84bdf
commit
0351bf1d63
11
assets/common/entity/wild/aggressive/mossdrake.ron
Normal file
11
assets/common/entity/wild/aggressive/mossdrake.ron
Normal file
@ -0,0 +1,11 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Automatic,
|
||||
body: RandomWith("mossdrake"),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: LootTable("common.loot_tables.creature.quad_low.moss"),
|
||||
inventory: (
|
||||
loadout: FromBody,
|
||||
),
|
||||
meta: [],
|
||||
)
|
6
assets/common/loot_tables/creature/quad_low/moss.ron
Normal file
6
assets/common/loot_tables/creature/quad_low/moss.ron
Normal file
@ -0,0 +1,6 @@
|
||||
[
|
||||
(1.0, Item("common.items.crafting_ing.hide.animal_hide")),
|
||||
(1.0, Item("common.items.crafting_ing.resin")),
|
||||
(1.0, Item("common.items.log.hardwood")),
|
||||
(1.0, Item("common.items.flowers.plant_fiber")),
|
||||
]
|
@ -1253,6 +1253,10 @@
|
||||
keyword: "deadwood",
|
||||
generic: "Deadwood"
|
||||
),
|
||||
mossdrake: (
|
||||
keyword: "mossdrake",
|
||||
generic: "Moss Drake"
|
||||
),
|
||||
)
|
||||
),
|
||||
arthropod: (
|
||||
|
BIN
assets/voxygen/voxel/npc/mossdrake/male/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/mossdrake/male/foot_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/foot_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/mossdrake/male/foot_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/foot_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/mossdrake/male/head_lower.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/head_lower.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/mossdrake/male/head_upper.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/head_upper.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/mossdrake/male/jaw.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/jaw.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/mossdrake/male/tail_front.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/tail_front.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/mossdrake/male/tail_rear.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/mossdrake/male/tail_rear.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1040,4 +1040,56 @@
|
||||
central: ("armor.empty"),
|
||||
),
|
||||
),
|
||||
(Mossdrake, Male): (
|
||||
upper: (
|
||||
offset: (-6.5, -2.0, -5.5),
|
||||
central: ("npc.mossdrake.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-6.5, -1.0, -3.0),
|
||||
central: ("npc.mossdrake.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, -2.0, -5.0),
|
||||
central: ("npc.mossdrake.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
offset: (-13.5, -11.5, -12.5),
|
||||
central: ("npc.mossdrake.male.chest"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-6.5, -24.0, -3.5),
|
||||
central: ("npc.mossdrake.male.tail_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-5.5, -12.0, -6.5),
|
||||
central: ("npc.mossdrake.male.tail_front"),
|
||||
),
|
||||
),
|
||||
(Mossdrake, Female): (
|
||||
upper: (
|
||||
offset: (-6.5, -2.0, -5.5),
|
||||
central: ("npc.mossdrake.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-6.5, -1.0, -3.0),
|
||||
central: ("npc.mossdrake.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-3.5, -2.0, -5.0),
|
||||
central: ("npc.mossdrake.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
offset: (-13.5, -11.5, -12.5),
|
||||
central: ("npc.mossdrake.male.chest"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-6.5, -24.0, -3.5),
|
||||
central: ("npc.mossdrake.male.tail_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-5.5, -12.0, -6.5),
|
||||
central: ("npc.mossdrake.male.tail_front"),
|
||||
),
|
||||
),
|
||||
})
|
||||
|
@ -719,4 +719,40 @@
|
||||
lateral: ("npc.deadwood.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Mossdrake, Male): (
|
||||
front_left: (
|
||||
offset: (-14.0, -1.0, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (0.0, -1.0, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
offset: (-14.0, -7.5, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_br", false),
|
||||
),
|
||||
back_right: (
|
||||
offset: (0.0, -7.5, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Mossdrake, Female): (
|
||||
front_left: (
|
||||
offset: (-14.0, -1.0, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (0.0, -1.0, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
offset: (-14.0, -7.5, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_br", false),
|
||||
),
|
||||
back_right: (
|
||||
offset: (0.0, -7.5, -10.0),
|
||||
lateral: ("npc.mossdrake.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
})
|
||||
|
@ -14,6 +14,7 @@ SpawnEntry (
|
||||
(1, (1, 1, "common.entity.wild.aggressive.stag_beetle")),
|
||||
(1, (1, 1, "common.entity.wild.peaceful.crawler_moss")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.rootsnapper")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.mossdrake")),
|
||||
],
|
||||
spawn_mode: Land,
|
||||
day_period: [Morning, Noon, Evening],
|
||||
|
@ -7,6 +7,7 @@ SpawnEntry (
|
||||
(1, (1, 1, "common.entity.wild.aggressive.ogre")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.swamp_troll")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.cyclops")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.mossdrake")),
|
||||
],
|
||||
spawn_mode: Land,
|
||||
day_period: [Night, Morning, Noon, Evening],
|
||||
|
@ -6,6 +6,7 @@ SpawnEntry (
|
||||
groups: [
|
||||
(1, (1, 2, "common.entity.wild.aggressive.male_lion")),
|
||||
(1, (1, 3, "common.entity.wild.aggressive.hyena")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.mossdrake")),
|
||||
],
|
||||
spawn_mode: Land,
|
||||
day_period: [Night, Morning, Noon, Evening],
|
||||
|
@ -326,6 +326,7 @@ impl Body {
|
||||
quadruped_low::Species::Salamander => 65.0,
|
||||
quadruped_low::Species::Elbst => 65.0,
|
||||
quadruped_low::Species::Tortoise => 200.0,
|
||||
quadruped_low::Species::Mossdrake => 500.0,
|
||||
_ => 200.0,
|
||||
},
|
||||
Body::QuadrupedMedium(body) => match body.species {
|
||||
@ -496,6 +497,7 @@ impl Body {
|
||||
quadruped_low::Species::Salamander => Vec3::new(1.7, 4.0, 1.3),
|
||||
quadruped_low::Species::Elbst => Vec3::new(1.7, 4.0, 1.3),
|
||||
quadruped_low::Species::Tortoise => Vec3::new(1.7, 2.7, 1.5),
|
||||
quadruped_low::Species::Mossdrake => Vec3::new(2.0, 4.7, 2.5),
|
||||
_ => Vec3::new(1.0, 1.6, 1.3),
|
||||
},
|
||||
Body::Ship(ship) => ship.dimensions(),
|
||||
@ -796,6 +798,7 @@ impl Body {
|
||||
quadruped_low::Species::Lavadrake => 160,
|
||||
quadruped_low::Species::Basilisk => 200,
|
||||
quadruped_low::Species::Deadwood => 120,
|
||||
quadruped_low::Species::Mossdrake => 160,
|
||||
_ => 70,
|
||||
},
|
||||
Body::Arthropod(arthropod) => match arthropod.species {
|
||||
|
@ -59,6 +59,7 @@ make_case_elim!(
|
||||
Rootsnapper = 17,
|
||||
Reefsnapper = 18,
|
||||
Elbst = 19,
|
||||
Mossdrake = 20,
|
||||
}
|
||||
);
|
||||
|
||||
@ -87,6 +88,7 @@ pub struct AllSpecies<SpeciesMeta> {
|
||||
pub basilisk: SpeciesMeta,
|
||||
pub deadwood: SpeciesMeta,
|
||||
pub icedrake: SpeciesMeta,
|
||||
pub mossdrake: SpeciesMeta,
|
||||
}
|
||||
|
||||
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
|
||||
@ -115,11 +117,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
||||
Species::Basilisk => &self.basilisk,
|
||||
Species::Deadwood => &self.deadwood,
|
||||
Species::Icedrake => &self.icedrake,
|
||||
Species::Mossdrake => &self.mossdrake,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub const ALL_SPECIES: [Species; 20] = [
|
||||
pub const ALL_SPECIES: [Species; 21] = [
|
||||
Species::Crocodile,
|
||||
Species::SeaCrocodile,
|
||||
Species::Alligator,
|
||||
@ -140,6 +143,7 @@ pub const ALL_SPECIES: [Species; 20] = [
|
||||
Species::Basilisk,
|
||||
Species::Deadwood,
|
||||
Species::Icedrake,
|
||||
Species::Mossdrake,
|
||||
];
|
||||
|
||||
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
|
||||
|
@ -135,6 +135,7 @@ impl Body {
|
||||
quadruped_low::Species::Icedrake => 100.0,
|
||||
quadruped_low::Species::Basilisk => 90.0,
|
||||
quadruped_low::Species::Deadwood => 140.0,
|
||||
quadruped_low::Species::Mossdrake => 100.0,
|
||||
},
|
||||
Body::Ship(_) => 0.0,
|
||||
Body::Arthropod(arthropod) => match arthropod.species {
|
||||
@ -206,6 +207,7 @@ impl Body {
|
||||
quadruped_low::Species::Rootsnapper => 1.8,
|
||||
quadruped_low::Species::Lavadrake => 1.7,
|
||||
quadruped_low::Species::Icedrake => 1.7,
|
||||
quadruped_low::Species::Mossdrake => 1.7,
|
||||
_ => 2.0,
|
||||
},
|
||||
Body::Ship(ship) if ship.has_water_thrust() => 0.1,
|
||||
|
@ -171,6 +171,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (7.0, 8.0),
|
||||
(Basilisk, _) => (5.0, 2.5),
|
||||
(Deadwood, _) => (2.0, -3.0),
|
||||
(Mossdrake, _) => (7.0, 8.0),
|
||||
},
|
||||
head_lower: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (8.0, 0.0),
|
||||
@ -193,6 +194,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (11.5, -6.0),
|
||||
(Basilisk, _) => (12.5, -5.5),
|
||||
(Deadwood, _) => (0.0, 0.0),
|
||||
(Mossdrake, _) => (9.0, -6.0),
|
||||
},
|
||||
jaw: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (2.5, -3.0),
|
||||
@ -215,6 +217,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (-0.5, -8.0),
|
||||
(Basilisk, _) => (0.5, -3.0),
|
||||
(Deadwood, _) => (-1.0, 4.0),
|
||||
(Mossdrake, _) => (3.0, -5.0),
|
||||
},
|
||||
chest: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (0.0, 5.0),
|
||||
@ -237,6 +240,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (0.0, 16.5),
|
||||
(Basilisk, _) => (0.0, 15.0),
|
||||
(Deadwood, _) => (0.0, 12.0),
|
||||
(Mossdrake, _) => (0.0, 16.5),
|
||||
},
|
||||
tail_rear: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (-12.5, -1.0),
|
||||
@ -259,6 +263,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (-12.0, 1.0),
|
||||
(Basilisk, _) => (-10.0, -4.0),
|
||||
(Deadwood, _) => (-15.0, 4.0),
|
||||
(Mossdrake, _) => (-12.0, -2.0),
|
||||
},
|
||||
tail_front: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (-6.0, 0.0),
|
||||
@ -281,6 +286,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (-7.0, -4.5),
|
||||
(Basilisk, _) => (-6.5, -5.5),
|
||||
(Deadwood, _) => (-1.0, 4.0),
|
||||
(Mossdrake, _) => (-7.0, -4.5),
|
||||
},
|
||||
feet_f: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (3.5, 6.0, -1.0),
|
||||
@ -303,6 +309,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (4.5, 4.0, -6.5),
|
||||
(Basilisk, _) => (6.5, 4.0, -2.0),
|
||||
(Deadwood, _) => (3.5, 4.0, -5.0),
|
||||
(Mossdrake, _) => (4.5, 4.0, -6.5),
|
||||
},
|
||||
feet_b: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (3.5, -6.0, -1.0),
|
||||
@ -325,6 +332,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Icedrake, _) => (3.5, -8.0, -6.5),
|
||||
(Basilisk, _) => (5.5, -6.5, -2.0),
|
||||
(Deadwood, _) => (3.5, -6.0, -5.0),
|
||||
(Mossdrake, _) => (3.5, -8.0, -6.5),
|
||||
},
|
||||
lean: match (body.species, body.body_type) {
|
||||
(Pangolin, _) => (0.4, 0.0),
|
||||
@ -348,6 +356,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Lavadrake, _) => 1.12,
|
||||
(Icedrake, _) => 1.12,
|
||||
(Basilisk, _) => 1.3,
|
||||
(Mossdrake, _) => 1.12,
|
||||
_ => 0.9,
|
||||
},
|
||||
tempo: match (body.species, body.body_type) {
|
||||
@ -368,6 +377,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Lavadrake, _) => 1.1,
|
||||
(Icedrake, _) => 1.1,
|
||||
(Basilisk, _) => 0.8,
|
||||
(Mossdrake, _) => 1.1,
|
||||
_ => 1.0,
|
||||
},
|
||||
}
|
||||
@ -396,6 +406,7 @@ fn mount_point(body: &Body) -> Vec3<f32> {
|
||||
(Icedrake, _) => (0.0, -8.0, 2.5),
|
||||
(Basilisk, _) => (0.0, -2.0, 2.0),
|
||||
(Deadwood, _) => (0.0, -2.0, -3.0),
|
||||
(Mossdrake, _) => (0.0, 2.0, -2.5),
|
||||
}
|
||||
.into()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user