diff --git a/assets/voxygen/background/bg_main.png b/assets/voxygen/background/bg_main.png index 2b50a6f5ee..a16312145e 100644 Binary files a/assets/voxygen/background/bg_main.png and b/assets/voxygen/background/bg_main.png differ diff --git a/assets/voxygen/element/buttons/map_indicator.vox b/assets/voxygen/element/buttons/map_indicator.vox index ee092d2a9d..7dc7315dd0 100644 Binary files a/assets/voxygen/element/buttons/map_indicator.vox and b/assets/voxygen/element/buttons/map_indicator.vox differ diff --git a/assets/voxygen/element/frames/banner.vox b/assets/voxygen/element/frames/banner.vox new file mode 100644 index 0000000000..0934e4d89a Binary files /dev/null and b/assets/voxygen/element/frames/banner.vox differ diff --git a/assets/voxygen/element/frames/banner_top.vox b/assets/voxygen/element/frames/banner_top.vox new file mode 100644 index 0000000000..fabfffa2fa Binary files /dev/null and b/assets/voxygen/element/frames/banner_top.vox differ diff --git a/assets/voxygen/element/frames/map_bl.vox b/assets/voxygen/element/frames/map_bl.vox index 11b7b11720..887ec9916f 100644 Binary files a/assets/voxygen/element/frames/map_bl.vox and b/assets/voxygen/element/frames/map_bl.vox differ diff --git a/assets/voxygen/element/frames/map_br - Kopie.vox b/assets/voxygen/element/frames/map_br - Kopie.vox deleted file mode 100644 index 7207714f5e..0000000000 Binary files a/assets/voxygen/element/frames/map_br - Kopie.vox and /dev/null differ diff --git a/assets/voxygen/element/frames/map_br.vox b/assets/voxygen/element/frames/map_br.vox index 7207714f5e..ec09a29866 100644 Binary files a/assets/voxygen/element/frames/map_br.vox and b/assets/voxygen/element/frames/map_br.vox differ diff --git a/assets/voxygen/element/frames/map_l.vox b/assets/voxygen/element/frames/map_l.vox index a4bbe5c412..f99e3ea8fd 100644 Binary files a/assets/voxygen/element/frames/map_l.vox and b/assets/voxygen/element/frames/map_l.vox differ diff --git a/assets/voxygen/element/frames/map_r.vox b/assets/voxygen/element/frames/map_r.vox index ab47beef6a..579dd45785 100644 Binary files a/assets/voxygen/element/frames/map_r.vox and b/assets/voxygen/element/frames/map_r.vox differ diff --git a/assets/voxygen/element/frames/mmap.vox b/assets/voxygen/element/frames/mmap.vox index 21de20eb93..30fda28eb2 100644 Binary files a/assets/voxygen/element/frames/mmap.vox and b/assets/voxygen/element/frames/mmap.vox differ diff --git a/assets/voxygen/element/icons/item_apple.vox b/assets/voxygen/element/icons/item_apple.vox new file mode 100644 index 0000000000..59918783de Binary files /dev/null and b/assets/voxygen/element/icons/item_apple.vox differ diff --git a/assets/voxygen/element/icons/item_flower.vox b/assets/voxygen/element/icons/item_flower.vox new file mode 100644 index 0000000000..dfb5f787a2 Binary files /dev/null and b/assets/voxygen/element/icons/item_flower.vox differ diff --git a/assets/voxygen/element/icons/item_grass.vox b/assets/voxygen/element/icons/item_grass.vox new file mode 100644 index 0000000000..72d70817ed Binary files /dev/null and b/assets/voxygen/element/icons/item_grass.vox differ diff --git a/assets/voxygen/element/icons/item_mushroom.vox b/assets/voxygen/element/icons/item_mushroom.vox new file mode 100644 index 0000000000..6570c758e7 Binary files /dev/null and b/assets/voxygen/element/icons/item_mushroom.vox differ diff --git a/assets/voxygen/font/alkhemikal.ttf b/assets/voxygen/font/alkhemikal.ttf new file mode 100644 index 0000000000..3919a8103e Binary files /dev/null and b/assets/voxygen/font/alkhemikal.ttf differ diff --git a/assets/voxygen/font/license.txt b/assets/voxygen/font/license.txt new file mode 100644 index 0000000000..58bd0ae492 --- /dev/null +++ b/assets/voxygen/font/license.txt @@ -0,0 +1,4 @@ +The FontStruction “Wizard” +(https://fontstruct.com/fontstructions/show/1506403) by “Omegaville” is +licensed under a Creative Commons Attribution Share Alike license +(http://creativecommons.org/licenses/by-sa/3.0/). diff --git a/assets/voxygen/font/pf_ronda_seven.ttf b/assets/voxygen/font/pf_ronda_seven.ttf new file mode 100644 index 0000000000..2ef8916b23 Binary files /dev/null and b/assets/voxygen/font/pf_ronda_seven.ttf differ diff --git a/assets/voxygen/font/pf_ronda_seven_bold.ttf b/assets/voxygen/font/pf_ronda_seven_bold.ttf new file mode 100644 index 0000000000..3d3ae5fce8 Binary files /dev/null and b/assets/voxygen/font/pf_ronda_seven_bold.ttf differ diff --git a/assets/voxygen/font/wizard.ttf b/assets/voxygen/font/wizard.ttf new file mode 100644 index 0000000000..28dfd4329f Binary files /dev/null and b/assets/voxygen/font/wizard.ttf differ diff --git a/assets/voxygen/voxel/armor/chest/grayscale.vox b/assets/voxygen/voxel/armor/chest/grayscale.vox index b25cf3d362..986210d095 100644 Binary files a/assets/voxygen/voxel/armor/chest/grayscale.vox and b/assets/voxygen/voxel/armor/chest/grayscale.vox differ diff --git a/assets/voxygen/voxel/armor/hand/hand_left.vox b/assets/voxygen/voxel/armor/hand/hand_left.vox index 0815df5e07..f2fb714ef8 100644 Binary files a/assets/voxygen/voxel/armor/hand/hand_left.vox and b/assets/voxygen/voxel/armor/hand/hand_left.vox differ diff --git a/assets/voxygen/voxel/armor/hand/hand_right.vox b/assets/voxygen/voxel/armor/hand/hand_right.vox index c0a38a982c..bed4861289 100644 Binary files a/assets/voxygen/voxel/armor/hand/hand_right.vox and b/assets/voxygen/voxel/armor/hand/hand_right.vox differ diff --git a/assets/voxygen/voxel/char_template.vox b/assets/voxygen/voxel/char_template.vox new file mode 100644 index 0000000000..f8e08e14f1 Binary files /dev/null and b/assets/voxygen/voxel/char_template.vox differ diff --git a/assets/voxygen/voxel/figure/eyes/elf/female-0.vox b/assets/voxygen/voxel/figure/eyes/elf/female-0.vox index 0527bfeab8..d88826a857 100644 Binary files a/assets/voxygen/voxel/figure/eyes/elf/female-0.vox and b/assets/voxygen/voxel/figure/eyes/elf/female-0.vox differ diff --git a/assets/voxygen/voxel/figure/hair/dwarf/female-0.vox b/assets/voxygen/voxel/figure/hair/dwarf/female-0.vox index 78f223e28b..d8157808ec 100644 Binary files a/assets/voxygen/voxel/figure/hair/dwarf/female-0.vox and b/assets/voxygen/voxel/figure/hair/dwarf/female-0.vox differ diff --git a/assets/voxygen/voxel/figure/hair/elf/female-1.vox b/assets/voxygen/voxel/figure/hair/elf/female-1.vox index f4e7dab43a..ea1e72c01e 100644 Binary files a/assets/voxygen/voxel/figure/hair/elf/female-1.vox and b/assets/voxygen/voxel/figure/hair/elf/female-1.vox differ diff --git a/assets/voxygen/voxel/figure/hair/elf/female-15.vox b/assets/voxygen/voxel/figure/hair/elf/female-15.vox index 188a41ff97..87d1f416e1 100644 Binary files a/assets/voxygen/voxel/figure/hair/elf/female-15.vox and b/assets/voxygen/voxel/figure/hair/elf/female-15.vox differ diff --git a/assets/voxygen/voxel/figure/hair/elf/female-2.vox b/assets/voxygen/voxel/figure/hair/elf/female-2.vox index e14aa169be..c54fd34cd7 100644 Binary files a/assets/voxygen/voxel/figure/hair/elf/female-2.vox and b/assets/voxygen/voxel/figure/hair/elf/female-2.vox differ diff --git a/assets/voxygen/voxel/figure/hair/elf/female-21.vox b/assets/voxygen/voxel/figure/hair/elf/female-21.vox new file mode 100644 index 0000000000..0335221b4c Binary files /dev/null and b/assets/voxygen/voxel/figure/hair/elf/female-21.vox differ diff --git a/assets/voxygen/voxel/figure/hair/elf/female-6.vox b/assets/voxygen/voxel/figure/hair/elf/female-6.vox index 4d3b207782..13a9caf9aa 100644 Binary files a/assets/voxygen/voxel/figure/hair/elf/female-6.vox and b/assets/voxygen/voxel/figure/hair/elf/female-6.vox differ diff --git a/assets/voxygen/voxel/figure/hair/human/female-19.vox b/assets/voxygen/voxel/figure/hair/human/female-19.vox new file mode 100644 index 0000000000..0335221b4c Binary files /dev/null and b/assets/voxygen/voxel/figure/hair/human/female-19.vox differ diff --git a/assets/voxygen/voxel/figure/hair/human/female-2.vox b/assets/voxygen/voxel/figure/hair/human/female-2.vox index e14aa169be..1fc5b4bf68 100644 Binary files a/assets/voxygen/voxel/figure/hair/human/female-2.vox and b/assets/voxygen/voxel/figure/hair/human/female-2.vox differ diff --git a/assets/voxygen/voxel/figure/hair/human/female-3.vox b/assets/voxygen/voxel/figure/hair/human/female-3.vox index 53505ad6f0..89d1a80a0b 100644 Binary files a/assets/voxygen/voxel/figure/hair/human/female-3.vox and b/assets/voxygen/voxel/figure/hair/human/female-3.vox differ diff --git a/assets/voxygen/voxel/figure/hair/human/female-6.vox b/assets/voxygen/voxel/figure/hair/human/female-6.vox index 4d3b207782..2e4fd33706 100644 Binary files a/assets/voxygen/voxel/figure/hair/human/female-6.vox and b/assets/voxygen/voxel/figure/hair/human/female-6.vox differ diff --git a/assets/voxygen/voxel/figure/head/danari/female.vox b/assets/voxygen/voxel/figure/head/danari/female.vox index a20fb48507..a1d40f0188 100644 Binary files a/assets/voxygen/voxel/figure/head/danari/female.vox and b/assets/voxygen/voxel/figure/head/danari/female.vox differ diff --git a/assets/voxygen/voxel/figure/head/danari/male.vox b/assets/voxygen/voxel/figure/head/danari/male.vox index a85843ee7b..4387201b8f 100644 Binary files a/assets/voxygen/voxel/figure/head/danari/male.vox and b/assets/voxygen/voxel/figure/head/danari/male.vox differ diff --git a/assets/voxygen/voxel/figure/head/dwarf/female.vox b/assets/voxygen/voxel/figure/head/dwarf/female.vox index 8522807c82..6df594e01f 100644 Binary files a/assets/voxygen/voxel/figure/head/dwarf/female.vox and b/assets/voxygen/voxel/figure/head/dwarf/female.vox differ diff --git a/assets/voxygen/voxel/figure/head/dwarf/male.vox b/assets/voxygen/voxel/figure/head/dwarf/male.vox index 8cd853e5f0..4d76dab6f3 100644 Binary files a/assets/voxygen/voxel/figure/head/dwarf/male.vox and b/assets/voxygen/voxel/figure/head/dwarf/male.vox differ diff --git a/assets/voxygen/voxel/figure/head/elf/female.vox b/assets/voxygen/voxel/figure/head/elf/female.vox index 89543a7e87..5312e499aa 100644 Binary files a/assets/voxygen/voxel/figure/head/elf/female.vox and b/assets/voxygen/voxel/figure/head/elf/female.vox differ diff --git a/assets/voxygen/voxel/figure/head/elf/male.vox b/assets/voxygen/voxel/figure/head/elf/male.vox index 0d90487ea4..d563d1c1fa 100644 Binary files a/assets/voxygen/voxel/figure/head/elf/male.vox and b/assets/voxygen/voxel/figure/head/elf/male.vox differ diff --git a/assets/voxygen/voxel/figure/head/human/female.vox b/assets/voxygen/voxel/figure/head/human/female.vox index bf428aeab8..7cee54f716 100644 Binary files a/assets/voxygen/voxel/figure/head/human/female.vox and b/assets/voxygen/voxel/figure/head/human/female.vox differ diff --git a/assets/voxygen/voxel/figure/head/human/male.vox b/assets/voxygen/voxel/figure/head/human/male.vox index 57b5ce8f87..6eb6bce8cf 100644 Binary files a/assets/voxygen/voxel/figure/head/human/male.vox and b/assets/voxygen/voxel/figure/head/human/male.vox differ diff --git a/assets/voxygen/voxel/figure/head/undead/female.vox b/assets/voxygen/voxel/figure/head/undead/female.vox index 5e98230e45..a2d317cff3 100644 Binary files a/assets/voxygen/voxel/figure/head/undead/female.vox and b/assets/voxygen/voxel/figure/head/undead/female.vox differ diff --git a/assets/voxygen/voxel/figure/head/undead/male.vox b/assets/voxygen/voxel/figure/head/undead/male.vox index bf242e1f9f..de9c18f8c0 100644 Binary files a/assets/voxygen/voxel/figure/head/undead/male.vox and b/assets/voxygen/voxel/figure/head/undead/male.vox differ diff --git a/assets/voxygen/voxel/humanoid_head_manifest.ron b/assets/voxygen/voxel/humanoid_head_manifest.ron index 1157371b88..736a0e639c 100644 --- a/assets/voxygen/voxel/humanoid_head_manifest.ron +++ b/assets/voxygen/voxel/humanoid_head_manifest.ron @@ -40,6 +40,7 @@ Some(("figure.hair.human.female-16", (1, 1, 1))), Some(("figure.hair.human.female-17", (1, -2, -2))), Some(("figure.hair.human.female-18", (1, 0, -7))), + Some(("figure.hair.human.female-19", (-5, 0, -1))), ], beard: [None], accessory: [ @@ -95,12 +96,10 @@ offset: (-8.0, -4.0, -6.0), head: ("figure.head.elf.female", (0, 2, 0)), eyes: ("figure.eyes.elf.female-0", (3, 9, 2)), - hair: [ - Some(("figure.hair.elf.female-19", (2, 0, -2))), - Some(("figure.hair.elf.female-20", (1, -3, 0))), + hair: [ Some(("figure.hair.elf.female-0", (0, -2, 0))), Some(("figure.hair.elf.female-1", (2, 1, -1))), - Some(("figure.hair.elf.female-2", (2, 1, -1))), + Some(("figure.hair.elf.female-2", (2, 1, 0))), Some(("figure.hair.elf.female-3", (2, 0, -7))), Some(("figure.hair.elf.female-4", (3, 0, -1))), Some(("figure.hair.elf.female-5", (2, 1, 0))), @@ -117,6 +116,9 @@ Some(("figure.hair.elf.female-16", (2, 0, 0))), Some(("figure.hair.elf.female-17", (2, -3, -2))), Some(("figure.hair.elf.female-18", (2, -1, -7))), + Some(("figure.hair.elf.female-19", (2, 0, -2))), + Some(("figure.hair.elf.female-20", (1, -3, 0))), + Some(("figure.hair.elf.female-21", (-4, -1, -1))), ], beard: [None], accessory: [ @@ -164,8 +166,7 @@ head: ("figure.head.dwarf.female", (0, 3, 0)), eyes: ("figure.eyes.dwarf.female-0", (1, 10, 2)), hair: [ - Some(("figure.hair.dwarf.female-0", (1, 0, -7))), - Some(("figure.hair.dwarf.female-0", (1, 0, -7))), + Some(("figure.hair.dwarf.female-0", (0, 0, -7))), ], beard: [None], accessory: [ @@ -200,15 +201,15 @@ ), (Danari, Male): ( offset: (-9.0, -4.0, -7.5), - head: ("figure.head.danari.male", (0, 2, 3)), - eyes: ("figure.eyes.danari.male-0", (5, 9, 5)), + head: ("figure.head.danari.male", (0, 2, 2)), + eyes: ("figure.eyes.danari.male-0", (5, 9, 4)), hair: [ - Some(("figure.hair.danari.male", (3, 1, 3))), - Some(("figure.hair.danari.male", (3, 1, 3))), + Some(("figure.hair.danari.male", (3, 1, 2))), + Some(("figure.hair.danari.male", (3, 1, 2))), ], beard: [None], accessory: [ - Some(("figure.accessory.danari.horns-0", (4, 8, 9))),] + Some(("figure.accessory.danari.horns-0", (4, 8, 8))),] ), (Danari, Female): ( offset: (-9.0, -4.0, -7.5), diff --git a/assets/voxygen/voxel/knight.vox b/assets/voxygen/voxel/knight.vox deleted file mode 100644 index 2fe5ef1c63..0000000000 Binary files a/assets/voxygen/voxel/knight.vox and /dev/null differ diff --git a/assets/voxygen/voxel/sprite/flowers/flower_blue_6.vox b/assets/voxygen/voxel/sprite/flowers/flower_blue_6.vox new file mode 100644 index 0000000000..b1346659fa Binary files /dev/null and b/assets/voxygen/voxel/sprite/flowers/flower_blue_6.vox differ diff --git a/assets/voxygen/voxel/sprite/flowers/flower_red_2.vox b/assets/voxygen/voxel/sprite/flowers/flower_red_2.vox index 0f43a4be9e..7310f630ad 100644 Binary files a/assets/voxygen/voxel/sprite/flowers/flower_red_2.vox and b/assets/voxygen/voxel/sprite/flowers/flower_red_2.vox differ diff --git a/assets/voxygen/voxel/sprite/flowers/flower_white_2.vox b/assets/voxygen/voxel/sprite/flowers/flower_white_2.vox index 4d632eb237..845bd27631 100644 Binary files a/assets/voxygen/voxel/sprite/flowers/flower_white_2.vox and b/assets/voxygen/voxel/sprite/flowers/flower_white_2.vox differ diff --git a/assets/voxygen/voxel/armor/hand/dark-0.vox b/assets/voxygen/voxel/weapon/sword/zweihander_2h-0.vox similarity index 97% rename from assets/voxygen/voxel/armor/hand/dark-0.vox rename to assets/voxygen/voxel/weapon/sword/zweihander_2h-0.vox index b55604b617..ade2f2ff75 100644 Binary files a/assets/voxygen/voxel/armor/hand/dark-0.vox and b/assets/voxygen/voxel/weapon/sword/zweihander_2h-0.vox differ diff --git a/common/src/comp/body/humanoid.rs b/common/src/comp/body/humanoid.rs index 21f3e37870..da7c2f7d64 100644 --- a/common/src/comp/body/humanoid.rs +++ b/common/src/comp/body/humanoid.rs @@ -221,23 +221,22 @@ pub const DWARF_SKIN_COLORS: [Skin; 5] = [ Skin::Steel, ]; pub const ELF_SKIN_COLORS: [Skin; 7] = [ + Skin::Pale, Skin::ElfOne, Skin::ElfTwo, Skin::ElfThree, Skin::White, Skin::Tanned, - Skin::Brown, Skin::TannedBrown, ]; -pub const HUMAN_SKIN_COLORS: [Skin; 6] = [ +pub const HUMAN_SKIN_COLORS: [Skin; 5] = [ Skin::Pale, Skin::White, Skin::Tanned, - Skin::Brown, Skin::TannedBrown, Skin::TannedDarkBrown, ]; -pub const ORC_SKIN_COLORS: [Skin; 3] = [Skin::OrcOne, Skin::OrcTwo, Skin::OrcThree]; +pub const ORC_SKIN_COLORS: [Skin; 4] = [Skin::OrcOne, Skin::OrcTwo, Skin::OrcThree, Skin::Brown]; pub const UNDEAD_SKIN_COLORS: [Skin; 3] = [Skin::UndeadOne, Skin::UndeadTwo, Skin::UndeadThree]; // Eye colors @@ -333,11 +332,11 @@ impl Race { match (self, body_type) { (Race::Danari, BodyType::Female) => 1, (Race::Danari, BodyType::Male) => 1, - (Race::Dwarf, BodyType::Female) => 2, + (Race::Dwarf, BodyType::Female) => 1, (Race::Dwarf, BodyType::Male) => 3, - (Race::Elf, BodyType::Female) => 21, + (Race::Elf, BodyType::Female) => 22, (Race::Elf, BodyType::Male) => 1, - (Race::Human, BodyType::Female) => 19, + (Race::Human, BodyType::Female) => 20, (Race::Human, BodyType::Male) => 3, (Race::Orc, BodyType::Female) => 1, (Race::Orc, BodyType::Male) => 2, @@ -393,13 +392,15 @@ pub enum Chest { Dark, Green, Orange, + Midnight, } -pub const ALL_CHESTS: [Chest; 5] = [ +pub const ALL_CHESTS: [Chest; 6] = [ Chest::Blue, Chest::Brown, Chest::Dark, Chest::Green, Chest::Orange, + Chest::Midnight, ]; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] @@ -547,13 +548,13 @@ impl Skin { Self::DanariTwo => (30, 149, 201), Self::DanariThree => (57, 120, 148), Self::DanariFour => (40, 85, 105), - Self::ElfOne => (176, 161, 181), + Self::ElfOne => (178, 164, 186), Self::ElfTwo => (132, 139, 161), Self::ElfThree => (148, 128, 202), Self::OrcOne => (61, 130, 42), Self::OrcTwo => (82, 117, 36), Self::OrcThree => (71, 94, 42), - Self::UndeadOne => (255, 255, 255), + Self::UndeadOne => (240, 243, 239), Self::UndeadTwo => (178, 178, 178), Self::UndeadThree => (145, 135, 121), }; @@ -561,53 +562,53 @@ impl Skin { } pub fn light_rgb(self) -> Rgb { let color = match self { - Self::Pale => (255, 165, 165), - Self::White => (255, 165, 165), - Self::Tanned => (222, 181, 151), - Self::Brown => (123, 80, 45), - Self::TannedBrown => (135, 70, 50), - Self::TannedDarkBrown => (116, 61, 43), - Self::Iron => (135, 113, 95), - Self::Steel => (108, 94, 86), - Self::DanariOne => (104, 168, 196), - Self::DanariTwo => (30, 149, 201), - Self::DanariThree => (57, 120, 148), - Self::DanariFour => (40, 85, 105), - Self::ElfOne => (176, 161, 181), - Self::ElfTwo => (132, 139, 161), - Self::ElfThree => (148, 128, 202), + Self::Pale => (255, 227, 193), + Self::White => (255, 210, 180), + Self::Tanned => (239, 197, 164), + Self::Brown => (150, 104, 68), + Self::TannedBrown => (148, 85, 64), + Self::TannedDarkBrown => (132, 74, 56), + Self::Iron => (144, 125, 106), + Self::Steel => (120, 107, 99), + Self::DanariOne => (116, 176, 208), + Self::DanariTwo => (42, 158, 206), + Self::DanariThree => (70, 133, 160), + Self::DanariFour => (53, 96, 116), + Self::ElfOne => (190, 176, 199), //178, 164, 186 + Self::ElfTwo => (137, 144, 167), + Self::ElfThree => (156, 138, 209), Self::OrcOne => (83, 165, 56), - Self::OrcTwo => (85, 124, 37), - Self::OrcThree => (73, 100, 43), - Self::UndeadOne => (255, 255, 255), - Self::UndeadTwo => (178, 178, 178), - Self::UndeadThree => (145, 135, 121), + Self::OrcTwo => (92, 132, 46), + Self::OrcThree => (84, 110, 54), + Self::UndeadOne => (254, 252, 251), + Self::UndeadTwo => (190, 192, 191), + Self::UndeadThree => (160, 151, 134), }; Rgb::from(color) } pub fn dark_rgb(self) -> Rgb { let color = match self { - Self::Pale => (207, 173, 147), - Self::White => (212, 162, 138), - Self::Tanned => (222, 181, 151), - Self::Brown => (123, 80, 45), - Self::TannedBrown => (135, 70, 50), - Self::TannedDarkBrown => (116, 61, 43), - Self::Iron => (135, 113, 95), - Self::Steel => (108, 94, 86), - Self::DanariOne => (104, 168, 196), - Self::DanariTwo => (30, 149, 201), - Self::DanariThree => (57, 120, 148), - Self::DanariFour => (40, 85, 105), - Self::ElfOne => (176, 161, 181), - Self::ElfTwo => (132, 139, 161), - Self::ElfThree => (148, 128, 202), - Self::OrcOne => (61, 119, 40), - Self::OrcTwo => (77, 111, 34), - Self::OrcThree => (68, 91, 40), - Self::UndeadOne => (255, 255, 255), - Self::UndeadTwo => (178, 178, 178), - Self::UndeadThree => (145, 135, 121), + Self::Pale => (229, 192, 163), + Self::White => (239, 179, 150), + Self::Tanned => (208, 167, 135), + Self::Brown => (106, 63, 30), + Self::TannedBrown => (122, 58, 40), + Self::TannedDarkBrown => (100, 47, 32), + Self::Iron => (124, 99, 82), + Self::Steel => (96, 81, 72), + Self::DanariOne => (92, 155, 183), + Self::DanariTwo => (25, 142, 192), + Self::DanariThree => (52, 115, 143), + Self::DanariFour => (34, 80, 99), + Self::ElfOne => (170, 155, 175), //170, 157, 179 + Self::ElfTwo => (126, 132, 153), + Self::ElfThree => (137, 121, 194), + Self::OrcOne => (55, 114, 36), + Self::OrcTwo => (70, 104, 29), + Self::OrcThree => (60, 83, 32), + Self::UndeadOne => (229, 231, 230), + Self::UndeadTwo => (165, 166, 164), + Self::UndeadThree => (130, 122, 106), }; Rgb::from(color) } diff --git a/common/src/figure/mod.rs b/common/src/figure/mod.rs index cf06ac7651..099311fbd7 100644 --- a/common/src/figure/mod.rs +++ b/common/src/figure/mod.rs @@ -169,8 +169,8 @@ impl From<&DotVoxData> for MatSegment { 1 => MatCell::Mat(Material::Hair), 2 => MatCell::Mat(Material::EyeDark), 3 => MatCell::Mat(Material::EyeLight), - 4 => MatCell::Mat(Material::SkinLight), - 5 => MatCell::Mat(Material::SkinDark), + 4 => MatCell::Mat(Material::SkinDark), + 5 => MatCell::Mat(Material::SkinLight), 7 => MatCell::Mat(Material::EyeWhite), //6 => MatCell::Mat(Material::Clothing), index => { diff --git a/common/src/terrain/block.rs b/common/src/terrain/block.rs index 9311792176..4fe321de12 100644 --- a/common/src/terrain/block.rs +++ b/common/src/terrain/block.rs @@ -43,7 +43,7 @@ impl BlockKind { pub fn is_air(&self) -> bool { match self { BlockKind::Air => true, - BlockKind::LargeCactus => false, + BlockKind::LargeCactus => true, BlockKind::BarrelCactus => true, BlockKind::RoundCactus => true, BlockKind::ShortCactus => true, diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 2a8e90491c..975887f0c6 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -710,7 +710,7 @@ fn handle_lantern(server: &mut Server, entity: EcsEntity, args: String, action: light.strength = s.max(0.1).min(10.0); server.clients.notify( entity, - ServerMsg::private(String::from("You played with flame strength.")), + ServerMsg::private(String::from("You adjusted flame strength.")), ); } } else { @@ -744,7 +744,7 @@ fn handle_lantern(server: &mut Server, entity: EcsEntity, args: String, action: server.clients.notify( entity, - ServerMsg::private(String::from("You lighted your lantern.")), + ServerMsg::private(String::from("You lit your lantern.")), ); } } diff --git a/voxygen/src/anim/character/block.rs b/voxygen/src/anim/character/block.rs index b83ddf05ed..d641881d5d 100644 --- a/voxygen/src/anim/character/block.rs +++ b/voxygen/src/anim/character/block.rs @@ -233,11 +233,11 @@ impl Animation for BlockAnimation { //next.r_foot.ori = Quaternion::rotation_x(0.3); //next.r_foot.scale = Vec3::one(); - next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7); + next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0); next.l_shoulder.ori = Quaternion::rotation_x(0.0); next.l_shoulder.scale = Vec3::one() * 1.1; - next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7); + next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0); next.r_shoulder.ori = Quaternion::rotation_x(0.0); next.r_shoulder.scale = Vec3::one() * 1.1; diff --git a/voxygen/src/anim/character/blockidle.rs b/voxygen/src/anim/character/blockidle.rs index 7361b00772..d438ed04f6 100644 --- a/voxygen/src/anim/character/blockidle.rs +++ b/voxygen/src/anim/character/blockidle.rs @@ -232,11 +232,11 @@ impl Animation for BlockIdleAnimation { next.r_foot.ori = Quaternion::rotation_x(0.3); next.r_foot.scale = Vec3::one(); - next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7); + next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0); next.l_shoulder.ori = Quaternion::rotation_x(0.0); next.l_shoulder.scale = Vec3::one() * 1.1; - next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7); + next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0); next.r_shoulder.ori = Quaternion::rotation_x(0.0); next.r_shoulder.scale = Vec3::one() * 1.1; diff --git a/voxygen/src/anim/character/cidle.rs b/voxygen/src/anim/character/cidle.rs index 58bf6e8912..f06292e8a8 100644 --- a/voxygen/src/anim/character/cidle.rs +++ b/voxygen/src/anim/character/cidle.rs @@ -240,11 +240,11 @@ impl Animation for CidleAnimation { next.r_foot.ori = Quaternion::rotation_x(wave_ultra_slow * 0.015); next.r_foot.scale = Vec3::one(); - next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7); + next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0); next.l_shoulder.ori = Quaternion::rotation_x(0.0); next.l_shoulder.scale = Vec3::one() * 1.1; - next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7); + next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0); next.r_shoulder.ori = Quaternion::rotation_x(0.0); next.r_shoulder.scale = Vec3::one() * 1.1; diff --git a/voxygen/src/anim/character/idle.rs b/voxygen/src/anim/character/idle.rs index 09acc067c6..cf40e1f7f6 100644 --- a/voxygen/src/anim/character/idle.rs +++ b/voxygen/src/anim/character/idle.rs @@ -91,11 +91,11 @@ impl Animation for IdleAnimation { next.weapon.ori = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); next.weapon.scale = Vec3::one() + wave_ultra_slow_abs * -0.05; - next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7); + next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0); next.l_shoulder.ori = Quaternion::rotation_x(0.0); next.l_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15; - next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7); + next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0); next.r_shoulder.ori = Quaternion::rotation_x(0.0); next.r_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15; diff --git a/voxygen/src/anim/character/run.rs b/voxygen/src/anim/character/run.rs index 4fd4ee6802..e728f03123 100644 --- a/voxygen/src/anim/character/run.rs +++ b/voxygen/src/anim/character/run.rs @@ -89,12 +89,22 @@ impl Animation for RunAnimation { next.shorts.ori = Quaternion::rotation_z(wave * 0.6); next.shorts.scale = Vec3::one(); - next.l_hand.offset = Vec3::new(-6.0, -0.25 + wave_cos * 2.0, 5.0 - wave * 1.5); - next.l_hand.ori = Quaternion::rotation_x(0.8 + wave_cos * 1.2); + next.l_hand.offset = Vec3::new( + -6.0 + wave_stop * -1.0, + -0.25 + wave_cos * 2.0, + 5.0 - wave * 1.5, + ); + next.l_hand.ori = + Quaternion::rotation_x(0.8 + wave_cos * 1.2) * Quaternion::rotation_y(wave_stop * 0.1); next.l_hand.scale = Vec3::one(); - next.r_hand.offset = Vec3::new(6.0, -0.25 - wave_cos * 2.0, 5.0 + wave * 1.5); - next.r_hand.ori = Quaternion::rotation_x(0.8 + wave_cos * -1.2); + next.r_hand.offset = Vec3::new( + 6.0 + wave_stop * 1.0, + -0.25 - wave_cos * 2.0, + 5.0 + wave * 1.5, + ); + next.r_hand.ori = Quaternion::rotation_x(0.8 + wave_cos * -1.2) + * Quaternion::rotation_y(wave_stop * -0.1); next.r_hand.scale = Vec3::one(); next.l_foot.offset = Vec3::new(-3.4, 0.0 + wave_cos * 1.0, 6.0 - wave_cos_dub * 0.7); diff --git a/voxygen/src/anim/character/stand.rs b/voxygen/src/anim/character/stand.rs index b2b85636d1..714ff29932 100644 --- a/voxygen/src/anim/character/stand.rs +++ b/voxygen/src/anim/character/stand.rs @@ -90,11 +90,11 @@ impl Animation for StandAnimation { next.weapon.ori = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); next.weapon.scale = Vec3::one() + wave_ultra_slow_abs * -0.05; - next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7); + next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0); next.l_shoulder.ori = Quaternion::rotation_x(0.0); next.l_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15; - next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7); + next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0); next.r_shoulder.ori = Quaternion::rotation_x(0.0); next.r_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15; diff --git a/voxygen/src/anim/mod.rs b/voxygen/src/anim/mod.rs index cc99e1e6ef..d1cf0483ef 100644 --- a/voxygen/src/anim/mod.rs +++ b/voxygen/src/anim/mod.rs @@ -114,7 +114,7 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { (Dwarf, Female) => 0.0, (Undead, Male) => 0.5, (Undead, Female) => 0.5, - (Danari, Male) => 0.0, + (Danari, Male) => 0.5, (Danari, Female) => 0.5, }, neck_forward: match (body.race, body.body_type) { diff --git a/voxygen/src/hud/bag.rs b/voxygen/src/hud/bag.rs index c1ff1c5e79..749b6b9666 100644 --- a/voxygen/src/hud/bag.rs +++ b/voxygen/src/hud/bag.rs @@ -206,8 +206,8 @@ impl<'a> Widget for Bag<'a> { } // Item if item.is_some() { - Button::image(self.imgs.potion_red) // TODO: Insert variable image depending on the item displayed in that slot - .w_h(4.0 * 4.4, 7.0 * 4.4) // TODO: Fix height and scale width correctly to that to avoid a stretched item image + Button::image(self.imgs.flower) // TODO: Insert variable image depending on the item displayed in that slot + .w_h(28.0, 28.0) // TODO: Fix height and scale width correctly to that to avoid a stretched item image .middle_of(state.ids.inv_slots[i]) // TODO: Items need to be assigned to a certain slot and then placed like in this example .label("5x") // TODO: Quantity goes here... .label_font_id(self.fonts.opensans) diff --git a/voxygen/src/hud/character_window.rs b/voxygen/src/hud/character_window.rs index 575ce3bc49..71d652ca52 100644 --- a/voxygen/src/hud/character_window.rs +++ b/voxygen/src/hud/character_window.rs @@ -146,7 +146,7 @@ impl<'a> Widget for CharacterWindow<'a> { // TODO: Use an actual character name. Text::new("Character Name") .mid_top_with_margin_on(state.charwindow_frame, 6.0) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .font_size(14) .color(TEXT_COLOR) .set(state.charwindow_title, ui); diff --git a/voxygen/src/hud/img_ids.rs b/voxygen/src/hud/img_ids.rs index 6d5739c25d..0bbeedfb1d 100644 --- a/voxygen/src/hud/img_ids.rs +++ b/voxygen/src/hud/img_ids.rs @@ -106,8 +106,15 @@ image_ids! { twohaxe_m2: "voxygen.element.icons.2haxe_m2", flyingrod_m1: "voxygen.element.icons.debug_wand_m1", flyingrod_m2: "voxygen.element.icons.debug_wand_m2", + //////////////////////////////////////////////////////////////////////// + // Icons + flower: "voxygen.element.icons.item_flower", + grass: "voxygen.element.icons.item_grass", + apple: "voxygen.element.icons.item_apple", + mushroom: "voxygen.element.icons.item_mushroom", + // Map map_indicator: "voxygen.element.buttons.map_indicator", diff --git a/voxygen/src/hud/map.rs b/voxygen/src/hud/map.rs index 4c5438468a..bacc12e18b 100644 --- a/voxygen/src/hud/map.rs +++ b/voxygen/src/hud/map.rs @@ -1,4 +1,4 @@ -use super::{img_ids::Imgs, Fonts, Show, TEXT_COLOR_2}; +use super::{img_ids::Imgs, Fonts, Show, TEXT_COLOR}; use client::{self, Client}; use common::comp; use conrod_core::{ @@ -31,7 +31,7 @@ pub struct Map<'a> { client: &'a Client, imgs: &'a Imgs, - _fonts: &'a Fonts, + fonts: &'a Fonts, #[conrod(common_builder)] common: widget::CommonBuilder, } @@ -41,7 +41,7 @@ impl<'a> Map<'a> { _show: show, imgs, client, - _fonts: fonts, + fonts: fonts, common: widget::CommonBuilder::default(), } } @@ -119,15 +119,16 @@ impl<'a> Widget for Map<'a> { // Location Name match self.client.current_chunk() { Some(chunk) => Text::new(chunk.meta().name()) - .mid_top_with_margin_on(state.ids.map_bg, 40.0) - .font_size(40) - .color(TEXT_COLOR_2) + .mid_top_with_margin_on(state.ids.map_bg, 70.0) + .font_size(20) + .color(TEXT_COLOR) .parent(state.ids.map_frame_r) .set(state.ids.location_name, ui), None => Text::new(" ") .mid_top_with_margin_on(state.ids.map_bg, 3.0) .font_size(40) - .color(TEXT_COLOR_2) + .font_id(self.fonts.alkhemi) + .color(TEXT_COLOR) .set(state.ids.location_name, ui), } // Map Image @@ -150,8 +151,8 @@ impl<'a> Widget for Map<'a> { let y = player_pos.y as f64 / worldsize * 700.0; // Indicator Image::new(self.imgs.map_indicator) - .bottom_left_with_margins_on(state.ids.grid, y, x - 11.5) - .w_h(23.0, 25.0) + .bottom_left_with_margins_on(state.ids.grid, y, x - (12.0 * 1.4) / 2.0) + .w_h(12.0 * 1.4, 21.0 * 1.4) .floating(true) .parent(ui.window) .set(state.ids.indicator, ui); diff --git a/voxygen/src/hud/minimap.rs b/voxygen/src/hud/minimap.rs index c72e67cb80..3c9e4f72ba 100644 --- a/voxygen/src/hud/minimap.rs +++ b/voxygen/src/hud/minimap.rs @@ -29,7 +29,7 @@ pub struct MiniMap<'a> { client: &'a Client, imgs: &'a Imgs, - _fonts: &'a Fonts, + fonts: &'a Fonts, #[conrod(common_builder)] common: widget::CommonBuilder, } @@ -40,7 +40,7 @@ impl<'a> MiniMap<'a> { show, client, imgs, - _fonts: fonts, + fonts: fonts, common: widget::CommonBuilder::default(), } } @@ -176,12 +176,14 @@ impl<'a> Widget for MiniMap<'a> { // Region Name Text::new(state.last_region_name.as_ref().unwrap_or(&"".to_owned())) .mid_top_with_margin_on(ui.window, 200.0) - .font_size(80) + .font_size(70) + .font_id(self.fonts.alkhemi) .color(Color::Rgba(0.0, 0.0, 0.0, fade)) .set(state.ids.zone_display_bg, ui); Text::new(state.last_region_name.as_ref().unwrap_or(&"".to_owned())) .top_left_with_margins_on(state.ids.zone_display_bg, -2.5, -2.5) - .font_size(80) + .font_size(70) + .font_id(self.fonts.alkhemi) .color(Color::Rgba(1.0, 1.0, 1.0, fade)) .set(state.ids.zone_display, ui); } @@ -197,13 +199,14 @@ impl<'a> Widget for MiniMap<'a> { // Title match self.client.current_chunk() { Some(chunk) => Text::new(chunk.meta().name()) - .mid_top_with_margin_on(state.ids.mmap_frame, 3.0) - .font_size(14) + .mid_top_with_margin_on(state.ids.mmap_frame, 0.0) + .font_size(18) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.mmap_location, ui), None => Text::new(" ") - .mid_top_with_margin_on(state.ids.mmap_frame, 3.0) - .font_size(14) + .mid_top_with_margin_on(state.ids.mmap_frame, 0.0) + .font_size(18) .color(TEXT_COLOR) .set(state.ids.mmap_location, ui), } diff --git a/voxygen/src/hud/mod.rs b/voxygen/src/hud/mod.rs index 0d6195ba4d..9d323d08bc 100644 --- a/voxygen/src/hud/mod.rs +++ b/voxygen/src/hud/mod.rs @@ -55,7 +55,7 @@ use crate::{discord, discord::DiscordUpdate}; const XP_COLOR: Color = Color::Rgba(0.59, 0.41, 0.67, 1.0); const TEXT_COLOR: Color = Color::Rgba(1.0, 1.0, 1.0, 1.0); -const TEXT_COLOR_2: Color = Color::Rgba(0.0, 0.0, 0.0, 1.0); +//const TEXT_COLOR_2: Color = Color::Rgba(0.0, 0.0, 0.0, 1.0); const TEXT_COLOR_3: Color = Color::Rgba(1.0, 1.0, 1.0, 0.1); //const BG_COLOR: Color = Color::Rgba(1.0, 1.0, 1.0, 0.8); const HP_COLOR: Color = Color::Rgba(0.33, 0.63, 0.0, 1.0); @@ -136,8 +136,12 @@ widget_ids! { font_ids! { pub struct Fonts { - opensans: "voxygen.font.OpenSans-Regular", + opensans: "voxygen.font.pf_ronda_seven", metamorph: "voxygen.font.Metamorphous-Regular", + alkhemi: "voxygen.font.Alkhemikal", + ronda_b: "voxygen.font.pf_ronda_seven_bold", + wizard: "voxygen.font.wizard", + ronda:"voxygen.font.pf_ronda_seven", } } diff --git a/voxygen/src/hud/quest.rs b/voxygen/src/hud/quest.rs index e5deb06b0d..30d0f82455 100644 --- a/voxygen/src/hud/quest.rs +++ b/voxygen/src/hud/quest.rs @@ -95,7 +95,7 @@ impl<'a> Widget for Quest<'a> { // TODO: Use an actual character name. Text::new("Quest") .mid_top_with_margin_on(state.quest_frame, 6.0) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .font_size(14) .color(TEXT_COLOR) .set(state.quest_title, ui); diff --git a/voxygen/src/hud/skillbar.rs b/voxygen/src/hud/skillbar.rs index 912a14ca58..684c6d37f0 100644 --- a/voxygen/src/hud/skillbar.rs +++ b/voxygen/src/hud/skillbar.rs @@ -90,7 +90,7 @@ pub enum ResourceType { pub struct Skillbar<'a> { global_state: &'a GlobalState, imgs: &'a Imgs, - _fonts: &'a Fonts, + fonts: &'a Fonts, stats: &'a Stats, #[conrod(common_builder)] common: widget::CommonBuilder, @@ -106,7 +106,7 @@ impl<'a> Skillbar<'a> { ) -> Self { Self { imgs, - _fonts: fonts, + fonts: fonts, stats, global_state, current_resource: ResourceType::Mana, @@ -229,6 +229,7 @@ impl<'a> Widget for Skillbar<'a> { Text::new(&level_up_text) .middle_of(state.ids.level_align) .font_size(30) + .font_id(self.fonts.ronda) .color(Color::Rgba(1.0, 1.0, 1.0, fade_level)) .set(state.ids.level_message, ui); Image::new(self.imgs.level_up) @@ -248,6 +249,7 @@ impl<'a> Widget for Skillbar<'a> { Text::new("You Died") .mid_top_with_margin_on(ui.window, 60.0) .font_size(40) + .font_id(self.fonts.ronda) .color(Color::Rgba(0.0, 0.0, 0.0, 1.0)) .set(state.ids.death_message_1_bg, ui); Text::new(&format!( @@ -256,12 +258,14 @@ impl<'a> Widget for Skillbar<'a> { )) .mid_bottom_with_margin_on(state.ids.death_message_1, -30.0) .font_size(15) + .font_id(self.fonts.ronda) .color(Color::Rgba(0.0, 0.0, 0.0, 1.0)) .set(state.ids.death_message_2_bg, ui); Text::new("You Died") .top_left_with_margins_on(state.ids.death_message_1_bg, -2.0, -2.0) .font_size(40) + .font_id(self.fonts.ronda) .color(CRITICAL_HP_COLOR) .set(state.ids.death_message_1, ui); Text::new(&format!( @@ -298,11 +302,13 @@ impl<'a> Widget for Skillbar<'a> { Text::new(&level) .bottom_left_with_margins_on(state.ids.xp_bar_left, 3.5 * scale, 4.0 * scale) .font_size(10) + .font_id(self.fonts.ronda) .color(Color::Rgba(1.0, 1.0, 1.0, 1.0)) .set(state.ids.level_text, ui); Text::new(&next_level) .bottom_right_with_margins_on(state.ids.xp_bar_right, 3.5 * scale, 4.0 * scale) .font_size(10) + .font_id(self.fonts.ronda) .color(Color::Rgba(1.0, 1.0, 1.0, 1.0)) .set(state.ids.next_level_text, ui); // M1 Slot @@ -370,6 +376,7 @@ impl<'a> Widget for Skillbar<'a> { 4.0 * scale * 1.5, ) .font_size(17) + .font_id(self.fonts.ronda) .color(Color::Rgba(1.0, 1.0, 1.0, fade_xp)) .set(state.ids.level_text, ui); Text::new(&next_level) @@ -379,6 +386,7 @@ impl<'a> Widget for Skillbar<'a> { 4.0 * scale * 1.5, ) .font_size(17) + .font_id(self.fonts.ronda) .color(Color::Rgba(1.0, 1.0, 1.0, fade_xp)) .set(state.ids.next_level_text, ui); // Alignment for hotbar @@ -538,61 +546,73 @@ impl<'a> Widget for Skillbar<'a> { Text::new("1") .top_right_with_margins_on(state.ids.slot1_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot1_text, ui); Text::new("2") .top_right_with_margins_on(state.ids.slot2_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot2_text, ui); Text::new("3") .top_right_with_margins_on(state.ids.slot3_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot3_text, ui); Text::new("4") .top_right_with_margins_on(state.ids.slot4_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot4_text, ui); Text::new("5") .top_right_with_margins_on(state.ids.slot5_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot5_text, ui); Text::new("M1") .top_left_with_margins_on(state.ids.m1_slot, 5.0, 5.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.m1_text, ui); Text::new("M2") .top_right_with_margins_on(state.ids.m2_slot, 5.0, 5.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.m2_text, ui); Text::new("6") .top_left_with_margins_on(state.ids.slot6_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot6_text, ui); Text::new("7") .top_left_with_margins_on(state.ids.slot7_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot7_text, ui); Text::new("8") .top_left_with_margins_on(state.ids.slot8_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot8_text, ui); Text::new("9") .top_left_with_margins_on(state.ids.slot9_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slot9_text, ui); Text::new("Q") .top_left_with_margins_on(state.ids.slotq_bg, 1.0, 1.0) .font_size(8) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.slotq_text, ui); }; @@ -638,6 +658,7 @@ impl<'a> Widget for Skillbar<'a> { Text::new(&hp_text) .mid_top_with_margin_on(state.ids.healthbar_bg, 5.0 * scale) .font_size(14) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.health_text, ui); let energy_text = format!( @@ -648,6 +669,7 @@ impl<'a> Widget for Skillbar<'a> { Text::new(&energy_text) .mid_top_with_margin_on(state.ids.energybar_bg, 5.0 * scale) .font_size(14) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.energy_text, ui); } @@ -657,12 +679,14 @@ impl<'a> Widget for Skillbar<'a> { Text::new(&hp_text) .mid_top_with_margin_on(state.ids.healthbar_bg, 5.0 * scale) .font_size(14) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.health_text, ui); let energy_text = format!("{}%", energy_percentage as u32); Text::new(&energy_text) .mid_top_with_margin_on(state.ids.energybar_bg, 5.0 * scale) .font_size(14) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(state.ids.energy_text, ui); } diff --git a/voxygen/src/hud/social.rs b/voxygen/src/hud/social.rs index 09160a2500..dfac158ca6 100644 --- a/voxygen/src/hud/social.rs +++ b/voxygen/src/hud/social.rs @@ -117,7 +117,7 @@ impl<'a> Widget for Social<'a> { // Title Text::new("Social") .mid_top_with_margin_on(ids.social_frame, 6.0) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .font_size(14) .color(TEXT_COLOR) .set(ids.social_title, ui); diff --git a/voxygen/src/hud/spell.rs b/voxygen/src/hud/spell.rs index 0f6229da1c..42162c4d2b 100644 --- a/voxygen/src/hud/spell.rs +++ b/voxygen/src/hud/spell.rs @@ -95,7 +95,7 @@ impl<'a> Widget for Spell<'a> { // TODO: Use an actual character name. Text::new("Spell") .mid_top_with_margin_on(state.spell_frame, 6.0) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .font_size(14) .color(TEXT_COLOR) .set(state.spell_title, ui); diff --git a/voxygen/src/menu/char_selection/ui.rs b/voxygen/src/menu/char_selection/ui.rs index 13c67ed8d9..e604ac55dd 100644 --- a/voxygen/src/menu/char_selection/ui.rs +++ b/voxygen/src/menu/char_selection/ui.rs @@ -43,6 +43,7 @@ widget_ids! { info_ok, info_no, delete_text, + space, // REMOVE THIS AFTER IMPLEMENTATION daggers_grey, @@ -217,6 +218,10 @@ font_ids! { pub struct Fonts { opensans: "voxygen.font.OpenSans-Regular", metamorph: "voxygen.font.Metamorphous-Regular", + alkhemi: "voxygen.font.Alkhemikal", + ronda:"voxygen.font.pf_ronda_seven", + ronda_b: "voxygen.font.pf_ronda_seven_bold", + wizard: "voxygen.font.wizard", } } @@ -300,6 +305,7 @@ impl CharSelectionUi { }) .title_font_size(15) .desc_font_size(10) + .font_id(self.fonts.ronda) .title_text_color(TEXT_COLOR) .desc_text_color(TEXT_COLOR_2); @@ -319,7 +325,8 @@ impl CharSelectionUi { InfoContent::Deletion => { Text::new("Permanently delete this Character?") .mid_top_with_margin_on(self.ids.info_frame, 40.0) - .font_size(20) + .font_size(24) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.delete_text, ui_widgets); if Button::image(self.imgs.button) @@ -329,6 +336,7 @@ impl CharSelectionUi { .press_image(self.imgs.button_press) .label_y(Relative::Scalar(2.0)) .label("No") + .label_font_id(self.fonts.ronda) .label_font_size(18) .label_color(TEXT_COLOR) .set(self.ids.info_no, ui_widgets) @@ -344,6 +352,7 @@ impl CharSelectionUi { .label_y(Relative::Scalar(2.0)) .label("Yes") .label_font_size(18) + .label_font_id(self.fonts.ronda) .label_color(Color::Rgba(1.0, 1.0, 1.0, 0.1)) .set(self.ids.info_ok, ui_widgets) .was_clicked() @@ -386,8 +395,8 @@ impl CharSelectionUi { // Server Name Text::new(&client.server_info.name) .mid_top_with_margin_on(self.ids.server_frame_bg, 5.0) - .font_size(24) - .font_id(self.fonts.metamorph) + .font_size(26) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.server_name_text, ui_widgets); //Change Server @@ -399,6 +408,7 @@ impl CharSelectionUi { .press_image(self.imgs.button_press) .label("Change Server") .label_color(TEXT_COLOR) + .label_font_id(self.fonts.ronda) .label_font_size(18) .label_y(conrod_core::position::Relative::Scalar(3.0)) .set(self.ids.change_server, ui_widgets) @@ -415,7 +425,8 @@ impl CharSelectionUi { .press_image(self.imgs.button_press) .label("Enter World") .label_color(TEXT_COLOR) - .label_font_size(22) + .label_font_size(26) + .label_font_id(self.fonts.ronda) .label_y(conrod_core::position::Relative::Scalar(3.0)) .set(self.ids.enter_world_button, ui_widgets) .was_clicked() @@ -430,8 +441,9 @@ impl CharSelectionUi { .hover_image(self.imgs.button_hover) .press_image(self.imgs.button_press) .label("Logout") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) - .label_font_size(18) + .label_font_size(20) .label_y(conrod_core::position::Relative::Scalar(3.0)) .set(self.ids.logout_button, ui_widgets) .was_clicked() @@ -446,6 +458,7 @@ impl CharSelectionUi { .hover_image(self.imgs.button_hover) .press_image(self.imgs.button_press) .label("Create Character") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) .label_font_size(20) .label_y(conrod_core::position::Relative::Scalar(3.0)) @@ -460,7 +473,7 @@ impl CharSelectionUi { Text::new(version) .top_right_with_margins_on(ui_widgets.window, 5.0, 5.0) .font_size(14) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.version, ui_widgets); @@ -471,6 +484,7 @@ impl CharSelectionUi { .image_color(Color::Rgba(1.0, 1.0, 1.0, 0.8)) .hover_image(self.imgs.selection) .press_image(self.imgs.selection) + .label_font_id(self.fonts.ronda) .label_y(conrod_core::position::Relative::Scalar(20.0)) .set(self.ids.character_box_1, ui_widgets) .was_clicked() @@ -490,21 +504,21 @@ impl CharSelectionUi { Text::new("Human Default") .top_left_with_margins_on(self.ids.character_box_1, 6.0, 9.0) .font_size(19) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.character_name_1, ui_widgets); Text::new("Level 1") .down_from(self.ids.character_name_1, 4.0) .font_size(17) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.character_level_1, ui_widgets); Text::new("Uncanny Valley") .down_from(self.ids.character_level_1, 4.0) .font_size(17) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.character_location_1, ui_widgets); @@ -522,21 +536,21 @@ impl CharSelectionUi { Text::new("Example 2nd Char") .top_left_with_margins_on(self.ids.character_box_2, 6.0, 9.0) .font_size(19) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.character_name_2, ui_widgets); Text::new("Level ??") .down_from(self.ids.character_name_2, 4.0) .font_size(17) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.character_level_2, ui_widgets); Text::new("Plains of Uncertainty") .down_from(self.ids.character_level_2, 4.0) .font_size(17) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.character_location_2, ui_widgets); } @@ -549,8 +563,9 @@ impl CharSelectionUi { .hover_image(self.imgs.button_hover) .press_image(self.imgs.button_press) .label("Back") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) - .label_font_size(18) + .label_font_size(20) .label_y(conrod_core::position::Relative::Scalar(3.0)) .set(self.ids.back_button, ui_widgets) .was_clicked() @@ -564,8 +579,9 @@ impl CharSelectionUi { .hover_image(self.imgs.button_hover) .press_image(self.imgs.button_press) .label("Create") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) - .label_font_size(18) + .label_font_size(20) .label_y(conrod_core::position::Relative::Scalar(3.0)) .set(self.ids.create_button, ui_widgets) .was_clicked() @@ -586,9 +602,10 @@ impl CharSelectionUi { .w_h(300.0, 60.0) .mid_top_with_margin_on(self.ids.name_input, 2.0) .font_size(26) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .center_justify() .text_color(TEXT_COLOR) + .font_id(self.fonts.ronda) .color(TRANSPARENT) .border_color(TRANSPARENT) .set(self.ids.name_field, ui_widgets) @@ -623,7 +640,7 @@ impl CharSelectionUi { Text::new("Character Creation") .mid_top_with_margin_on(self.ids.creation_alignment, 10.0) .font_size(24) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.bodyrace_text, ui_widgets); // Alignment @@ -967,7 +984,7 @@ impl CharSelectionUi { // Sliders let (metamorph, slider_indicator, slider_range) = ( - self.fonts.metamorph, + self.fonts.ronda, self.imgs.slider_indicator, self.imgs.slider_range, ); @@ -1102,7 +1119,7 @@ impl CharSelectionUi { Text::new("Beard") .mid_bottom_with_margin_on(self.ids.accessories_slider, -40.0) .font_size(18) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.ronda) .color(TEXT_COLOR_2) .set(self.ids.beard_text, ui_widgets); ImageSlider::discrete(5, 0, 10, self.imgs.nothing, self.imgs.slider_range) @@ -1119,7 +1136,7 @@ impl CharSelectionUi { let current_chest = self.character_body.chest; if let Some(new_val) = char_slider( self.ids.beard_slider, - "Chest", + "Chest Color", self.ids.chest_text, humanoid::ALL_CHESTS.len() - 1, humanoid::ALL_CHESTS @@ -1132,7 +1149,7 @@ impl CharSelectionUi { self.character_body.chest = humanoid::ALL_CHESTS[new_val]; } // Pants - let current_pants = self.character_body.pants; + /*let current_pants = self.character_body.pants; if let Some(new_val) = char_slider( self.ids.chest_slider, "Pants", @@ -1146,7 +1163,10 @@ impl CharSelectionUi { ui_widgets, ) { self.character_body.pants = humanoid::ALL_PANTS[new_val]; - } + }*/ + Rectangle::fill_with([20.0, 20.0], color::TRANSPARENT) + .down_from(self.ids.chest_slider, 15.0) + .set(self.ids.space, ui_widgets); } // Char Creation fin events diff --git a/voxygen/src/menu/main/ui.rs b/voxygen/src/menu/main/ui.rs index 1d62328f9f..a4db37a481 100644 --- a/voxygen/src/menu/main/ui.rs +++ b/voxygen/src/menu/main/ui.rs @@ -21,6 +21,8 @@ widget_ids! { bg, v_logo, alpha_version, + banner, + banner_top, // Disclaimer disc_window, disc_text_1, @@ -71,6 +73,8 @@ image_ids! { button_press: "voxygen.element.buttons.button_press", disclaimer: "voxygen.element.frames.disclaimer", info_frame: "voxygen.element.frames.info_frame_2", + banner: "voxygen.element.frames.banner", + banner_top: "voxygen.element.frames.banner_top", bg: "voxygen.background.bg_main", @@ -94,6 +98,10 @@ font_ids! { pub struct Fonts { opensans: "voxygen.font.OpenSans-Regular", metamorph: "voxygen.font.Metamorphous-Regular", + alkhemi: "voxygen.font.Alkhemikal", + ronda:"voxygen.font.pf_ronda_seven", + ronda_b: "voxygen.font.pf_ronda_seven_bold", + wizard: "voxygen.font.wizard", } } @@ -195,18 +203,33 @@ impl MainMenuUi { .desc_text_color(TEXT_COLOR_2); // Background image, Veloren logo, Alpha-Version Label + Image::new(self.imgs.bg) .middle_of(ui_widgets.window) .set(self.ids.bg, ui_widgets); + + Image::new(self.imgs.banner) + .w_h(65.0 * 6.0, 100.0 * 6.0) + .middle_of(self.ids.bg) + .color(Some(Color::Rgba(1.0, 1.0, 1.0, 0.9))) + .set(self.ids.banner, ui_widgets); + + Image::new(self.imgs.banner_top) + .w_h(65.0 * 6.0, 1.0 * 6.0) + .mid_top_with_margin_on(self.ids.banner, 0.0) + .set(self.ids.banner_top, ui_widgets); + + // Logo Image::new(self.imgs.v_logo) - .w_h(123.0 * 3.0, 35.0 * 3.0) - .top_right_with_margins(30.0, 30.0) + .w_h(123.0 * 2.5, 35.0 * 2.5) + .mid_top_with_margin_on(self.ids.banner_top, 40.0) + .color(Some(Color::Rgba(1.0, 1.0, 1.0, 0.95))) .set(self.ids.v_logo, ui_widgets); Text::new(version) .top_right_with_margins_on(ui_widgets.window, 5.0, 5.0) .font_size(14) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.version, ui_widgets); @@ -220,9 +243,8 @@ impl MainMenuUi { Text::new("Disclaimer") .top_left_with_margins_on(self.ids.disc_window, 30.0, 40.0) - .font_id(self.fonts.metamorph) .font_size(35) - .font_id(self.fonts.metamorph) + .font_id(self.fonts.alkhemi) .color(TEXT_COLOR) .set(self.ids.disc_text_1, ui_widgets); Text::new( @@ -249,9 +271,8 @@ impl MainMenuUi { \n\ ~ The Veloren Devs") .top_left_with_margins_on(self.ids.disc_window, 110.0, 40.0) - .font_id(self.fonts.metamorph) .font_size(26) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .color(TEXT_COLOR) .set(self.ids.disc_text_2, ui_widgets); if Button::image(self.imgs.button) @@ -261,8 +282,9 @@ impl MainMenuUi { .press_image(self.imgs.button_press) .label_y(Relative::Scalar(2.0)) .label("Accept") - .label_font_size(18) + .label_font_size(22) .label_color(TEXT_COLOR) + .label_font_id(self.fonts.ronda) .set(self.ids.disc_button, ui_widgets) .was_clicked() { @@ -305,7 +327,7 @@ impl MainMenuUi { // Username Rectangle::fill_with([320.0, 50.0], color::rgba(0.0, 0.0, 0.0, 0.97)) - .middle_of(ui_widgets.window) + .mid_top_with_margin_on(self.ids.banner_top, 160.0) .set(self.ids.usrnm_bg, ui_widgets); Image::new(self.imgs.input_bg) .w_h(337.0, 67.0) @@ -315,7 +337,7 @@ impl MainMenuUi { .w_h(290.0, 30.0) .mid_bottom_with_margin_on(self.ids.username_bg, 44.0 / 2.0) .font_size(22) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .text_color(TEXT_COLOR) // transparent background .color(TRANSPARENT) @@ -344,7 +366,7 @@ impl MainMenuUi { .w_h(290.0, 30.0) .mid_bottom_with_margin_on(self.ids.password_bg, 44.0 / 2.0) .font_size(22) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .text_color(TEXT_COLOR) // transparent background .color(TRANSPARENT) @@ -365,15 +387,15 @@ impl MainMenuUi { if let Some(popup_data) = &self.popup { let text = Text::new(&popup_data.msg) .rgba(1.0, 1.0, 1.0, 1.0) - .font_size(30) - .font_id(self.fonts.opensans); - Rectangle::fill_with([400.0, 100.0], color::TRANSPARENT) + .font_size(25) + .font_id(self.fonts.ronda); + Rectangle::fill_with([65.0 * 6.0, 100.0], color::TRANSPARENT) .rgba(0.1, 0.1, 0.1, 1.0) .parent(ui_widgets.window) - .mid_top_with_margin_on(self.ids.username_bg, -35.0) + .up_from(self.ids.banner_top, 20.0) .set(self.ids.login_error_bg, ui_widgets); Image::new(self.imgs.info_frame) - .w_h(400.0, 100.0) + .w_h(65.0 * 6.0, 100.0) .middle_of(self.ids.login_error_bg) .set(self.ids.error_frame, ui_widgets); text.mid_top_with_margin_on(self.ids.error_frame, 10.0) @@ -385,7 +407,8 @@ impl MainMenuUi { .press_image(self.imgs.button_press) .label_y(Relative::Scalar(2.0)) .label(&popup_data.button_text) - .label_font_size(10) + .label_font_id(self.fonts.ronda) + .label_font_size(15) .label_color(TEXT_COLOR) .set(self.ids.button_ok, ui_widgets) .was_clicked() @@ -435,6 +458,7 @@ impl MainMenuUi { .label_y(Relative::Scalar(2.0)) .label(&text) .label_font_size(20) + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR), ui_widgets, ) @@ -453,6 +477,7 @@ impl MainMenuUi { .label_y(Relative::Scalar(2.0)) .label("Close") .label_font_size(20) + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) .set(self.ids.servers_close, ui_widgets) .was_clicked() @@ -472,7 +497,7 @@ impl MainMenuUi { .w_h(290.0, 30.0) .mid_bottom_with_margin_on(self.ids.address_bg, 44.0 / 2.0) .font_size(22) - .font_id(self.fonts.opensans) + .font_id(self.fonts.ronda) .text_color(TEXT_COLOR) // transparent background .color(TRANSPARENT) @@ -496,8 +521,9 @@ impl MainMenuUi { .down_from(self.ids.address_bg, 20.0) .align_middle_x_of(self.ids.address_bg) .label("Login") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) - .label_font_size(24) + .label_font_size(26) .label_y(Relative::Scalar(5.0)) /*.with_tooltip( tooltip_manager, @@ -522,6 +548,7 @@ impl MainMenuUi { .down_from(self.ids.login_button, 20.0) .align_middle_x_of(self.ids.address_bg) .label("Singleplayer") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) .label_font_size(22) .label_y(Relative::Scalar(5.0)) @@ -539,6 +566,7 @@ impl MainMenuUi { .hover_image(self.imgs.button_hover) .press_image(self.imgs.button_press) .label("Quit") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) .label_font_size(20) .label_y(Relative::Scalar(3.0)) @@ -555,6 +583,7 @@ impl MainMenuUi { //.hover_image(self.imgs.button_hover) //.press_image(self.imgs.button_press) .label("Settings") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR_2) .label_font_size(20) .label_y(Relative::Scalar(3.0)) @@ -571,6 +600,7 @@ impl MainMenuUi { .hover_image(self.imgs.button_hover) .press_image(self.imgs.button_press) .label("Servers") + .label_font_id(self.fonts.ronda) .label_color(TEXT_COLOR) .label_font_size(20) .label_y(Relative::Scalar(3.0)) diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index 0b6b2b6ee4..0b0765aff0 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -58,8 +58,8 @@ fn color_segment( // TODO move some of the colors to common mat_segment.to_segment(|mat| match mat { Material::Skin => skin.rgb(), - Material::SkinDark => skin.light_rgb(), - Material::SkinLight => skin.dark_rgb(), + Material::SkinDark => skin.dark_rgb(), + Material::SkinLight => skin.light_rgb(), Material::Hair => hair_color, // TODO add back multiple colors Material::EyeLight => eye_color.light_rgb(), @@ -201,11 +201,12 @@ pub fn mesh_chest( eye_color: u8, ) -> Mesh { let chest_color = match chest { - Chest::Blue => (28, 66, 109), - Chest::Brown => (54, 30, 26), - Chest::Dark => (24, 19, 17), - Chest::Green => (49, 95, 59), - Chest::Orange => (148, 52, 33), + Chest::Blue => (44, 74, 109), + Chest::Brown => (90, 49, 43), + Chest::Dark => (73, 63, 59), + Chest::Green => (59, 95, 67), + Chest::Orange => (109, 58, 58), + Chest::Midnight => (29, 26, 33), }; let color = |mat_segment| { diff --git a/voxygen/src/scene/terrain.rs b/voxygen/src/scene/terrain.rs index 4c61265aee..124bb93697 100644 --- a/voxygen/src/scene/terrain.rs +++ b/voxygen/src/scene/terrain.rs @@ -82,7 +82,7 @@ fn sprite_config_for(kind: BlockKind) -> Option { }), BlockKind::BlueFlower => Some(SpriteConfig { - variations: 5, + variations: 6, wind_sway: 0.1, }), BlockKind::PinkFlower => Some(SpriteConfig { @@ -237,7 +237,7 @@ impl Terrain { (BlockKind::LargeCactus, 0), make_model( "voxygen.voxel.sprite.cacti.large_cactus", - Vec3::new(-6.0, -6.0, 0.0), + Vec3::new(-13.5, -5.5, 0.0), ), ), ( @@ -319,6 +319,13 @@ impl Terrain { Vec3::new(-6.0, -6.0, 0.0), ), ), + ( + (BlockKind::BlueFlower, 5), + make_model( + "voxygen.voxel.sprite.flowers.flower_blue_6", + Vec3::new(-6.0, -6.0, 0.0), + ), + ), ( (BlockKind::PinkFlower, 0), make_model(