diff --git a/assets/common/items/armor/misc/head/headband.ron b/assets/common/items/armor/misc/head/headband.ron new file mode 100644 index 0000000000..6024571501 --- /dev/null +++ b/assets/common/items/armor/misc/head/headband.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Headband", + description: "yep.", + kind: Armor(( + kind: Head("Headband"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/voxygen/voxel/armor/misc/head/headband/danari_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/danari_f.vox new file mode 100644 index 0000000000..8a4243321e --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/danari_f.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8527af44385b775f1d236042c254d26e5a48fedebfad530c2e6b3d02b28a80a +size 1192 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/danari_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/danari_m.vox new file mode 100644 index 0000000000..40fd425727 --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/danari_m.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a15dfd0933195643d877992aaeac8f042da7f768ecd79e7a17965a8f7ee878b2 +size 1200 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/dwarf_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/dwarf_f.vox new file mode 100644 index 0000000000..a13df50b94 --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/dwarf_f.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2898fb4af922a73bc9805ef2915c9008720b738ff60716b43c09d765e5a8382c +size 1208 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/dwarf_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/dwarf_m.vox new file mode 100644 index 0000000000..41df90da9b --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/dwarf_m.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1658344590e243462054a7dbc715d31f056082855536b48ecddd3107f38a47ef +size 1192 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/elf_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/elf_f.vox new file mode 100644 index 0000000000..590a7436a7 --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/elf_f.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0de37262525266658af86c4884a2d839c08a231c4c1190fd195f02d1c59be338 +size 1216 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/elf_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/elf_m.vox new file mode 100644 index 0000000000..5353272a2f --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/elf_m.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4a6b1f7ff94a61501a3becd3139f885afef836ea29298f129ab4777641eb1dc +size 1216 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/human_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/human_f.vox new file mode 100644 index 0000000000..9288f3a0fa --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/human_f.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b00cb21a6710984eef2b428907663f4f891b28f7db8638e20e0db39d971e0d7 +size 1216 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/human_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/human_m.vox new file mode 100644 index 0000000000..4efe403e9a --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/human_m.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b38a3b7a50214e3a73e4612cb06b0b9e6049ced9d321a6153f96f596b88027e +size 1216 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/orc_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/orc_f.vox new file mode 100644 index 0000000000..d6872c1ddb --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/orc_f.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4929f209ed364ee79a881befcf194a1931ebd7fd0cf134e9e33c41c784e58dd +size 1208 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/orc_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/orc_m.vox new file mode 100644 index 0000000000..2b29176fae --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/orc_m.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df5d5d9a49d113a0d8c9fb4cde1c48a0f8ec945aedc5877c2b1dbc3a2ffe8338 +size 1208 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/undead_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/undead_f.vox new file mode 100644 index 0000000000..0fdcc3ac48 --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/undead_f.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bd70cd7f9caaa2795ae735582c08e1e8576f51cbd967cb14a6719828e2826c9 +size 1204 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/undead_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/undead_m.vox new file mode 100644 index 0000000000..ed82895220 --- /dev/null +++ b/assets/voxygen/voxel/armor/misc/head/headband/undead_m.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4033f2496980288bb0b4a6ca783a7b6de6de8114724a4afe53e90f0f0ff440ff +size 1200 diff --git a/assets/voxygen/voxel/humanoid_armor_head_manifest.ron b/assets/voxygen/voxel/humanoid_armor_head_manifest.ron index 1c7d876a40..d92dd8f091 100644 --- a/assets/voxygen/voxel/humanoid_armor_head_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_head_manifest.ron @@ -4,37 +4,85 @@ color: None ), map: { - (Danari, "Exclamation"): ( + (Danari, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-10.0, -10.0, 20.0)), color: None - ), - (Dwarf, "Exclamation"): ( + ),//fix + (Dwarf, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-13.0, -10.0, 18.0)), color: None - ), - (Human, "Exclamation"): ( + ),//fix + (Human, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-12.0, -11.0, 18.0)), color: None - ), - (Orc, "Exclamation"): ( + ),//fix + (Orc, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-11.0, -12.0, 18.0)), color: None - ), - (Undead, "Exclamation"): ( + ),//fix + (Undead, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-14.0, -11.0, 18.0)), color: None - ), - (Elf, "Exclamation"): ( + ),//fix + (Elf, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-11.0, -11.0, 18.0)), color: None - ), - (Human, "Witch"): ( + ),//fix + (Human, Female, "Witch"): ( vox_spec: ("armor.witch.hat", (-4.0, -4.0, 5.0)), color: None ), - (Human, "Pirate"): ( + (Human, Female, "Pirate"): ( vox_spec: ("armor.pirate.hat", (-2.0, -2.0, 5.0)), color: None ), + (Danari, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.danari_m", (4.0, 2.0, 7.0)), + color: None + ), + (Danari, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.danari_f", (4.0, 2.0, 7.0)), + color: None + ), + (Dwarf, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.dwarf_m", (2.0, 3.0, 6.0)), + color: None + ), + (Dwarf, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.dwarf_f", (2.0, 3.0, 5.0)), + color: None + ), + (Human, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.human_m", (2.0, 2.0, 5.0)), + color: None + ), + (Human, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.human_f", (4.0, 2.0, 7.0)), + color: None + ), + (Orc, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.orc_m", (4.0, 3.0, 7.0)), + color: None + ), + (Orc, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.orc_f", (3.0, 1.0, 5.0)), + color: None + ), + (Undead, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.undead_m", (0.0, 2.0, 7.0)), + color: Some((44, 74, 109)) + ), + (Undead, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.undead_f", (0.0, 2.0, 6.0)), + color: None + ), + (Elf, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.elf_m", (3.0, 2.0, 5.0)), + color: None + ), + (Elf, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.elf_f", (3.0, 2.0, 5.0)), + color: None + ), } )) diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index dda604e939..eefe2780b7 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -359,7 +359,7 @@ struct HumArmorLanternSpec(ArmorVoxSpecMap); #[derive(Deserialize)] struct HumArmorGliderSpec(ArmorVoxSpecMap); #[derive(Deserialize)] -struct HumArmorHeadSpec(ArmorVoxSpecMap<(Species, String), ArmorVoxSpec>); +struct HumArmorHeadSpec(ArmorVoxSpecMap<(Species, BodyType, String), ArmorVoxSpec>); #[derive(Deserialize)] struct HumArmorTabardSpec(ArmorVoxSpecMap); @@ -969,7 +969,11 @@ impl HumArmorLanternSpec { } impl HumArmorHeadSpec { fn load_head(&self, body: &Body, head: Option<&str>) -> Option<(Segment, Vec3)> { - match self.0.map.get(&(body.species, head?.to_string())) { + match self + .0 + .map + .get(&(body.species, body.body_type, head?.to_string())) + { Some(spec) => Some(( graceful_load_segment(&spec.vox_spec.0), Vec3::::from(spec.vox_spec.1).as_(), @@ -981,6 +985,7 @@ impl HumArmorHeadSpec { } } } + impl HumArmorTabardSpec { /// FIXME: Either use this, or remove it. #[allow(dead_code)]