From 18b9bce677410979551a7b2a3aefcb1559a6bc63 Mon Sep 17 00:00:00 2001 From: Monty Date: Tue, 4 May 2021 00:58:47 +0200 Subject: [PATCH] draugr assets 1 --- assets/common/npc_names.ron | 4 +++ assets/voxygen/i18n/en/common.ron | 1 + .../voxel/figure/head/draugr/female_test.vox | 3 +++ .../voxygen/voxel/figure/head/draugr/male.vox | 3 +++ .../voxel/figure/head/draugr/male_test.vox | 3 +++ .../voxel/figure/head/draugr/male_test_2.vox | 3 +++ .../voxygen/voxel/humanoid_color_manifest.ron | 27 +++++++++++++++++++ .../voxygen/voxel/humanoid_head_manifest.ron | 22 ++++++++++++++- common/src/comp/agent.rs | 1 + common/src/comp/body.rs | 4 +++ common/src/comp/body/humanoid.rs | 25 ++++++++++++++++- voxygen/anim/src/character/mod.rs | 6 +++++ voxygen/src/menu/char_selection/ui/mod.rs | 9 ++++--- world/src/layer/wildlife.rs | 26 +++++++++--------- 14 files changed, 119 insertions(+), 18 deletions(-) create mode 100644 assets/voxygen/voxel/figure/head/draugr/female_test.vox create mode 100644 assets/voxygen/voxel/figure/head/draugr/male.vox create mode 100644 assets/voxygen/voxel/figure/head/draugr/male_test.vox create mode 100644 assets/voxygen/voxel/figure/head/draugr/male_test_2.vox diff --git a/assets/common/npc_names.ron b/assets/common/npc_names.ron index 2729cacb40..e8e930351c 100644 --- a/assets/common/npc_names.ron +++ b/assets/common/npc_names.ron @@ -315,6 +315,10 @@ keyword: "undead", generic: "Undead" ) + draugr: ( + keyword: "draugr", + generic: "Draugr" + ) ) ), quadruped_medium: ( diff --git a/assets/voxygen/i18n/en/common.ron b/assets/voxygen/i18n/en/common.ron index 40c87b0c52..8c50a15e00 100644 --- a/assets/voxygen/i18n/en/common.ron +++ b/assets/voxygen/i18n/en/common.ron @@ -57,6 +57,7 @@ Is the client up to date?"#, "common.species.elf": "Elf", "common.species.undead": "Undead", "common.species.danari": "Danari", + "common.species.draugr": "Draugr", "common.weapons.axe": "Axe", "common.weapons.sword": "Sword", diff --git a/assets/voxygen/voxel/figure/head/draugr/female_test.vox b/assets/voxygen/voxel/figure/head/draugr/female_test.vox new file mode 100644 index 0000000000..3abfc6a058 --- /dev/null +++ b/assets/voxygen/voxel/figure/head/draugr/female_test.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5303c6c63b77ac1d03804d49f6b7402df6cc066115553469e86314930a5cb441 +size 65518 diff --git a/assets/voxygen/voxel/figure/head/draugr/male.vox b/assets/voxygen/voxel/figure/head/draugr/male.vox new file mode 100644 index 0000000000..bf65023921 --- /dev/null +++ b/assets/voxygen/voxel/figure/head/draugr/male.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0c38da4d831c06ebe3ee62268f2f322421a3a7a294feb59c5559a24b56977b7 +size 2936 diff --git a/assets/voxygen/voxel/figure/head/draugr/male_test.vox b/assets/voxygen/voxel/figure/head/draugr/male_test.vox new file mode 100644 index 0000000000..0f000c1468 --- /dev/null +++ b/assets/voxygen/voxel/figure/head/draugr/male_test.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15a42dee5a0380f236a518f415ea48958130770e4542cdb163957dcd276768a8 +size 65708 diff --git a/assets/voxygen/voxel/figure/head/draugr/male_test_2.vox b/assets/voxygen/voxel/figure/head/draugr/male_test_2.vox new file mode 100644 index 0000000000..9bf44eddab --- /dev/null +++ b/assets/voxygen/voxel/figure/head/draugr/male_test_2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02d4d4cbded7fa2a5c69cd7531269b81990c06e4d68a1d2f62de520522f16eef +size 30534 diff --git a/assets/voxygen/voxel/humanoid_color_manifest.ron b/assets/voxygen/voxel/humanoid_color_manifest.ron index 0ca7742fcb..ba5bf9ebac 100644 --- a/assets/voxygen/voxel/humanoid_color_manifest.ron +++ b/assets/voxygen/voxel/humanoid_color_manifest.ron @@ -140,6 +140,33 @@ (48, 61, 52), // Dark Green (20, 19, 17), // Black ], + Draugr: [ + //(245, 232, 175), // Cream Blonde + (228, 208, 147), // Gold Blonde + //(228, 223, 141), // Platinum Blonde + (176, 106, 41), // Summer Blonde + (107, 76, 51), // Oak + (203, 154, 98), // Light + (64, 32, 18), // Skin7 + (86, 72, 71), // Ash + (57, 56, 61), // Raven Black + (101, 83, 95), // Matte Purple + (101, 57, 90), // Witch Purple + (111, 54, 117), // Punky Purple + (135, 38, 39), // Dark Red + (88, 26, 29), // Wine Red + (103, 191, 254), // Ice Blue + (92, 80, 144), // Kingfisher Blue + (146, 198, 238), // Lagoon Blue + (66, 66, 59), // Decayed Grey + //(80, 156, 211), // Candy Pink + (216, 146, 114), // Matte Pink + (0, 131, 122), // Rotten Green + (146, 166, 172), // Matte Green + (84, 139, 107), // Grass Green + (48, 61, 52), // Dark Green + (20, 19, 17), // Black + ], ), eye_colors_light: ( VigorousBlack: (71, 59, 49), diff --git a/assets/voxygen/voxel/humanoid_head_manifest.ron b/assets/voxygen/voxel/humanoid_head_manifest.ron index 66fd22d638..ba29cdd3d6 100644 --- a/assets/voxygen/voxel/humanoid_head_manifest.ron +++ b/assets/voxygen/voxel/humanoid_head_manifest.ron @@ -377,5 +377,25 @@ accessory: [ Some(("figure.accessory.danari.horns-0", (4, 9, 8))),] ), - // More here + (Draugr, Male): ( + offset: (-9.0, -4.0, -2.0), + head: ("figure.head.draugr.male", (0, 2, 2)), + eyes: [ + Some(("figure.eyes.general.female_default-0", (4, 9, 4))), + ], + hair: [None], + beard: [None], + accessory: [None], + ), + (Draugr, Female): ( + offset: (-9.0, -4.0, -2.0), + head: ("figure.head.draugr.female", (0, 2, 2)), + eyes: [ + Some(("figure.eyes.general.female_default-0", (4, 9, 4))), + ], + hair: [None], + beard: [None], + accessory: [None], + ), + // Add here: Morx, Aunqa }) diff --git a/common/src/comp/agent.rs b/common/src/comp/agent.rs index 480d25197a..9e1bd9c57e 100644 --- a/common/src/comp/agent.rs +++ b/common/src/comp/agent.rs @@ -173,6 +173,7 @@ impl<'a> From<&'a Body> for Psyche { humanoid::Species::Human => 0.6, humanoid::Species::Orc => 0.9, humanoid::Species::Undead => 0.9, + humanoid::Species::Draugr => 0.9, }, Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species { quadruped_small::Species::Pig => 0.5, diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 87237bef92..5fe1cb7906 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -206,6 +206,8 @@ impl Body { (humanoid::Species::Undead, humanoid::BodyType::Female) => 50.0, (humanoid::Species::Danari, humanoid::BodyType::Male) => 80.0, (humanoid::Species::Danari, humanoid::BodyType::Female) => 60.0, + (humanoid::Species::Draugr, humanoid::BodyType::Male) => 70.0, + (humanoid::Species::Draugr, humanoid::BodyType::Female) => 50.0, } }, Body::Object(obj) => obj.mass().0, @@ -301,6 +303,8 @@ impl Body { (humanoid::Species::Undead, humanoid::BodyType::Female) => 2.1, (humanoid::Species::Danari, humanoid::BodyType::Male) => 1.5, (humanoid::Species::Danari, humanoid::BodyType::Female) => 1.4, + (humanoid::Species::Draugr, humanoid::BodyType::Male) => 2.2, + (humanoid::Species::Draugr, humanoid::BodyType::Female) => 2.1, }; Vec3::new(1.5, 0.5, height) }, diff --git a/common/src/comp/body/humanoid.rs b/common/src/comp/body/humanoid.rs index dc63f8fd9c..ddcf50a985 100644 --- a/common/src/comp/body/humanoid.rs +++ b/common/src/comp/body/humanoid.rs @@ -80,6 +80,7 @@ make_case_elim!( Human = 3, Orc = 4, Undead = 5, + Draugr = 6, } ); @@ -94,6 +95,7 @@ pub struct AllSpecies { pub human: SpeciesMeta, pub orc: SpeciesMeta, pub undead: SpeciesMeta, + pub draugr: SpeciesMeta, } impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { @@ -108,17 +110,19 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies Species::Human => &self.human, Species::Orc => &self.orc, Species::Undead => &self.undead, + Species::Draugr => &self.draugr, } } } -pub const ALL_SPECIES: [Species; 6] = [ +pub const ALL_SPECIES: [Species; 7] = [ Species::Danari, Species::Dwarf, Species::Elf, Species::Human, Species::Orc, Species::Undead, + Species::Draugr, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { @@ -189,6 +193,7 @@ pub const HUMAN_SKIN_COLORS: [Skin; 18] = [ ]; pub const ORC_SKIN_COLORS: [Skin; 4] = [Skin::OrcOne, Skin::OrcTwo, Skin::OrcThree, Skin::OrcFour]; pub const UNDEAD_SKIN_COLORS: [Skin; 3] = [Skin::UndeadOne, Skin::UndeadTwo, Skin::UndeadThree]; +pub const DRAUGR_SKIN_COLORS: [Skin; 3] = [Skin::UndeadOne, Skin::UndeadTwo, Skin::UndeadThree]; // Eye colors pub const DANARI_EYE_COLORS: [EyeColor; 3] = [ @@ -228,6 +233,13 @@ pub const UNDEAD_EYE_COLORS: [EyeColor; 5] = [ EyeColor::MagicPurple, EyeColor::ToxicGreen, ]; +pub const DRAUGR_EYE_COLORS: [EyeColor; 5] = [ + EyeColor::ViciousRed, + EyeColor::PumpkinOrange, + EyeColor::GhastlyYellow, + EyeColor::MagicPurple, + EyeColor::ToxicGreen, +]; impl Species { fn skin_colors(self) -> &'static [Skin] { @@ -238,6 +250,7 @@ impl Species { Species::Human => &HUMAN_SKIN_COLORS, Species::Orc => &ORC_SKIN_COLORS, Species::Undead => &UNDEAD_SKIN_COLORS, + Species::Draugr => &DRAUGR_SKIN_COLORS, } } @@ -249,6 +262,7 @@ impl Species { Species::Human => &HUMAN_EYE_COLORS, Species::Orc => &ORC_EYE_COLORS, Species::Undead => &UNDEAD_EYE_COLORS, + Species::Draugr => &DRAUGR_EYE_COLORS, } } @@ -265,6 +279,7 @@ impl Species { Species::Human => 22, Species::Orc => 11, Species::Undead => 22, + Species::Draugr => 22, } } @@ -300,6 +315,8 @@ impl Species { (Species::Orc, BodyType::Male) => 8, (Species::Undead, BodyType::Female) => 6, (Species::Undead, BodyType::Male) => 5, + (Species::Draugr, BodyType::Female) => 0, + (Species::Draugr, BodyType::Male) => 0, } } @@ -317,6 +334,8 @@ impl Species { (Species::Orc, BodyType::Male) => 6, (Species::Undead, BodyType::Female) => 2, (Species::Undead, BodyType::Male) => 2, + (Species::Draugr, BodyType::Female) => 0, + (Species::Draugr, BodyType::Male) => 0, } } @@ -336,6 +355,8 @@ impl Species { (Species::Orc, BodyType::Male) => 2, (Species::Undead, BodyType::Female) => 3, (Species::Undead, BodyType::Male) => 4, + (Species::Draugr, BodyType::Female) => 1, + (Species::Draugr, BodyType::Male) => 1, } } @@ -353,6 +374,8 @@ impl Species { (Species::Orc, BodyType::Male) => 3, (Species::Undead, BodyType::Female) => 1, (Species::Undead, BodyType::Male) => 1, + (Species::Draugr, BodyType::Female) => 0, + (Species::Draugr, BodyType::Male) => 0, } } } diff --git a/voxygen/anim/src/character/mod.rs b/voxygen/anim/src/character/mod.rs index ad446fcff1..a0441a21c2 100644 --- a/voxygen/anim/src/character/mod.rs +++ b/voxygen/anim/src/character/mod.rs @@ -228,6 +228,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Undead, Female) => 0.72, (Danari, Male) => 0.56, (Danari, Female) => 0.56, + (Draugr, Male) => 0.56, + (Draugr, Female) => 0.56, }, head_scale: match (body.species, body.body_type) { (Orc, Male) => 0.9, @@ -242,6 +244,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Undead, Female) => 0.9, (Danari, Male) => 1.15, (Danari, Female) => 1.15, + (Draugr, Male) => 0.56, + (Draugr, Female) => 0.56, }, head: match (body.species, body.body_type) { (Orc, Male) => (-2.0, 9.0), @@ -256,6 +260,8 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Undead, Female) => (-1.5, 9.5), (Danari, Male) => (-1.5, 7.0), (Danari, Female) => (-1.5, 7.0), + (Draugr, Male) => (-1.5, 7.0), + (Draugr, Female) => (-1.5, 7.0), }, chest: match (body.species, body.body_type) { _ => (0.0, 8.0), diff --git a/voxygen/src/menu/char_selection/ui/mod.rs b/voxygen/src/menu/char_selection/ui/mod.rs index df028ea997..a51bc7a7fb 100644 --- a/voxygen/src/menu/char_selection/ui/mod.rs +++ b/voxygen/src/menu/char_selection/ui/mod.rs @@ -103,6 +103,8 @@ image_ids_ice! { elf_f: "voxygen.element.ui.char_select.portraits.elf_f", danari_m: "voxygen.element.ui.char_select.portraits.danari_m", danari_f: "voxygen.element.ui.char_select.portraits.danari_f", + draugr_m: "voxygen.element.ui.char_select.portraits.ud_m", + draugr_f: "voxygen.element.ui.char_select.portraits.ud_f", // Icon Borders icon_border: "voxygen.element.ui.generic.buttons.border", icon_border_mo: "voxygen.element.ui.generic.buttons.border_mo", @@ -752,6 +754,7 @@ impl Controls { humanoid::Species::Elf => (imgs.elf_m, imgs.elf_f), humanoid::Species::Undead => (imgs.undead_m, imgs.undead_f), humanoid::Species::Danari => (imgs.danari_m, imgs.danari_f), + humanoid::Species::Draugr => (imgs.undead_m, imgs.undead_f), }; let [ref mut body_m_button, ref mut body_f_button] = body_type_buttons; @@ -836,10 +839,10 @@ impl Controls { .into(), icon_button_tooltip( undead_button, - matches!(body.species, humanoid::Species::Undead), - Message::Species(humanoid::Species::Undead), + matches!(body.species, humanoid::Species::Draugr), + Message::Species(humanoid::Species::Draugr), undead_icon, - "common.species.undead", + "common.species.draugr", ) .into(), icon_button_tooltip( diff --git a/world/src/layer/wildlife.rs b/world/src/layer/wildlife.rs index 8e2c007608..0d5f2098a6 100644 --- a/world/src/layer/wildlife.rs +++ b/world/src/layer/wildlife.rs @@ -41,7 +41,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( } let scatter: &[Entry] = &[ - // Tundra snow pack ennemies + // Tundra snow pack enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -72,7 +72,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( * 1.0 }, }, - // Tundra solitary ennemies + // Tundra solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -101,7 +101,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( close(c.temp, CONFIG.snow_temp, 0.3) * col.tree_density * BASE_DENSITY * 1.4 }, }, - // Tundra rare solitary ennemies + // Tundra rare solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -115,7 +115,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( day_period: vec![Night, Morning, Noon, Evening], get_density: |c, _col| close(c.temp, CONFIG.snow_temp, 0.15) * BASE_DENSITY * 0.5, }, - // Tundra rarer solitary ennemies + // Tundra rarer solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -129,7 +129,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( day_period: vec![Night, Morning, Noon, Evening], get_density: |c, _col| close(c.temp, CONFIG.snow_temp, 0.15) * BASE_DENSITY * 0.1, }, - // Tundra rock solitary ennemies + // Tundra rock solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -146,7 +146,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( close(c.temp, CONFIG.snow_temp, 0.15) * BASE_DENSITY * col.rock * 1.0 }, }, - // Taiga rare solitary ennemies + // Taiga rare solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -168,7 +168,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( close(c.temp, CONFIG.snow_temp + 0.2, 0.2) * col.tree_density * BASE_DENSITY * 0.4 }, }, - // Taiga pack ennemies + // Taiga pack enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -252,7 +252,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( day_period: vec![Night, Morning, Noon, Evening], get_density: |c, _col| close(c.temp, CONFIG.snow_temp + 0.2, 0.6) * BASE_DENSITY * 5.0, }, - // Temperate solitary ennemies + // Temperate solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -505,7 +505,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( } }, }, - // Temperate rare river ennemies + // Temperate rare river enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -530,7 +530,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( } }, }, - // Temperate river ennemies + // Temperate river enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -552,7 +552,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( } }, }, - // Tropical rock solitary ennemies + // Tropical rock solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -572,7 +572,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( close(c.temp, CONFIG.tropical_temp + 0.1, 0.5) * col.rock * BASE_DENSITY * 5.0 }, }, - // Jungle solitary ennemies + // Jungle solitary enemies Entry { make_entity: |pos, rng| { EntityInfo::at(pos) @@ -601,7 +601,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( * 2.8 }, }, - // Jungle solitary ennemies day + // Jungle solitary enemies day Entry { make_entity: |pos, rng| { EntityInfo::at(pos)