diff --git a/CHANGELOG.md b/CHANGELOG.md index 881cbdb84f..14463b8eef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Dance animation - Speech bubbles appear when nearby players talk - NPCs call for help when attacked +- Eyebrows and shapes can now be selected ### Changed diff --git a/assets/common/items/debug/boost.ron b/assets/common/items/debug/boost.ron index 0bfb72722c..b9ae0408fb 100644 --- a/assets/common/items/debug/boost.ron +++ b/assets/common/items/debug/boost.ron @@ -1,6 +1,6 @@ Item( - name: "Weightless Rod", - description: "The sky is the limit.", + name: "Belzeshrub the Broom-God", + description: "You can hear him giggle whenever\nyou hit the ground a bit too hard...", kind: Tool( ( kind: Debug(Boost), diff --git a/assets/common/items/debug/possess.ron b/assets/common/items/debug/possess.ron index 37c6df5d8a..b9ae0408fb 100644 --- a/assets/common/items/debug/possess.ron +++ b/assets/common/items/debug/possess.ron @@ -1,11 +1,11 @@ Item( - name: "Rod of Possession", - description: "It's fixed on my branch.", + name: "Belzeshrub the Broom-God", + description: "You can hear him giggle whenever\nyou hit the ground a bit too hard...", kind: Tool( ( - kind: Debug(Possess), + kind: Debug(Boost), equip_time_millis: 0, ) ), ) -// ... as zesterer always uses to tell us. +// And the ground is pretty hard at maximum velocity... diff --git a/assets/common/items/weapons/greatsword_2h_dam-0.ron b/assets/common/items/weapons/greatsword_2h_dam-0.ron new file mode 100644 index 0000000000..62e4a0826c --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_dam-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Greatsword", + description: "A Damaged Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordDam0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_dam-1.ron b/assets/common/items/weapons/greatsword_2h_dam-1.ron new file mode 100644 index 0000000000..6eda562d23 --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_dam-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Greatsword", + description: "A Damaged Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordDam1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_dam-2.ron b/assets/common/items/weapons/greatsword_2h_dam-2.ron new file mode 100644 index 0000000000..a18b0ca92c --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_dam-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Greatsword", + description: "A Damaged Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordDam2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_fine-0.ron b/assets/common/items/weapons/greatsword_2h_fine-0.ron new file mode 100644 index 0000000000..ffc620be41 --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_fine-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Greatsword", + description: "A Fine Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordFine0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_fine-1.ron b/assets/common/items/weapons/greatsword_2h_fine-1.ron new file mode 100644 index 0000000000..6cc55512cc --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_fine-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Greatsword", + description: "A Fine Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordFine1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_fine-2.ron b/assets/common/items/weapons/greatsword_2h_fine-2.ron new file mode 100644 index 0000000000..660a61580c --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_fine-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Greatsword", + description: "A Fine Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordFine2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_orn-0.ron b/assets/common/items/weapons/greatsword_2h_orn-0.ron new file mode 100644 index 0000000000..8cb721b52e --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_orn-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Greatsword", + description: "A Ornimented Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordOrn0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_orn-1.ron b/assets/common/items/weapons/greatsword_2h_orn-1.ron new file mode 100644 index 0000000000..3f8818f308 --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_orn-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Greatsword", + description: "A Ornimented Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordOrn1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_orn-2.ron b/assets/common/items/weapons/greatsword_2h_orn-2.ron new file mode 100644 index 0000000000..bab5a60f9a --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_orn-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Greatsword", + description: "A Ornimented Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordOrn2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_simple-0.ron b/assets/common/items/weapons/greatsword_2h_simple-0.ron new file mode 100644 index 0000000000..c757d1d3d4 --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_simple-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Greatsword", + description: "A Simple Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordSimple0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_simple-1.ron b/assets/common/items/weapons/greatsword_2h_simple-1.ron new file mode 100644 index 0000000000..4dedbb496e --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_simple-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Greatsword", + description: "A Simple Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordSimple1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/greatsword_2h_simple-2.ron b/assets/common/items/weapons/greatsword_2h_simple-2.ron new file mode 100644 index 0000000000..4c72bc3cbf --- /dev/null +++ b/assets/common/items/weapons/greatsword_2h_simple-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Greatsword", + description: "A Simple Two-Handed Greatsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(GreatswordSimple2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_dam-0.ron b/assets/common/items/weapons/long_2h_dam-0.ron new file mode 100644 index 0000000000..20174e74c7 --- /dev/null +++ b/assets/common/items/weapons/long_2h_dam-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Longsword", + description: "A Damaged Double-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongDam0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_dam-1.ron b/assets/common/items/weapons/long_2h_dam-1.ron new file mode 100644 index 0000000000..01a01ca543 --- /dev/null +++ b/assets/common/items/weapons/long_2h_dam-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Longsword", + description: "A Damaged Double-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongDam1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_dam-2.ron b/assets/common/items/weapons/long_2h_dam-2.ron new file mode 100644 index 0000000000..afd1dedebb --- /dev/null +++ b/assets/common/items/weapons/long_2h_dam-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Longsword", + description: "A Damaged Double-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongDam2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_dam-3.ron b/assets/common/items/weapons/long_2h_dam-3.ron new file mode 100644 index 0000000000..ba0857975b --- /dev/null +++ b/assets/common/items/weapons/long_2h_dam-3.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Longsword", + description: "A Damaged Single-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongDam3), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_dam-4.ron b/assets/common/items/weapons/long_2h_dam-4.ron new file mode 100644 index 0000000000..118a4a2a4f --- /dev/null +++ b/assets/common/items/weapons/long_2h_dam-4.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Longsword", + description: "A Damaged Single-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongDam4), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_dam-5.ron b/assets/common/items/weapons/long_2h_dam-5.ron new file mode 100644 index 0000000000..a5b1eb35eb --- /dev/null +++ b/assets/common/items/weapons/long_2h_dam-5.ron @@ -0,0 +1,10 @@ +Item( + name: "Damaged Longsword", + description: "A Damaged Single-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongDam5), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_fine-0.ron b/assets/common/items/weapons/long_2h_fine-0.ron new file mode 100644 index 0000000000..62a08d3ca1 --- /dev/null +++ b/assets/common/items/weapons/long_2h_fine-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Longsword", + description: "A Very Fine Double-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongFine0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_fine-1.ron b/assets/common/items/weapons/long_2h_fine-1.ron new file mode 100644 index 0000000000..37e45ab9f4 --- /dev/null +++ b/assets/common/items/weapons/long_2h_fine-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Longsword", + description: "A Very Fine Double-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongFine1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_fine-2.ron b/assets/common/items/weapons/long_2h_fine-2.ron new file mode 100644 index 0000000000..463712a64f --- /dev/null +++ b/assets/common/items/weapons/long_2h_fine-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Longsword", + description: "A Very Fine Double-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongFine2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_fine-3.ron b/assets/common/items/weapons/long_2h_fine-3.ron new file mode 100644 index 0000000000..457993ae29 --- /dev/null +++ b/assets/common/items/weapons/long_2h_fine-3.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Longsword", + description: "A Very Fine Single-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongFine3), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_fine-4.ron b/assets/common/items/weapons/long_2h_fine-4.ron new file mode 100644 index 0000000000..d1ea6cd56d --- /dev/null +++ b/assets/common/items/weapons/long_2h_fine-4.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Longsword", + description: "A Very Fine Single-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongFine4), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_fine-5.ron b/assets/common/items/weapons/long_2h_fine-5.ron new file mode 100644 index 0000000000..f2e1a4a8b2 --- /dev/null +++ b/assets/common/items/weapons/long_2h_fine-5.ron @@ -0,0 +1,10 @@ +Item( + name: "Fine Longsword", + description: "A Very Fine Single-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongFine5), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_orn-0.ron b/assets/common/items/weapons/long_2h_orn-0.ron new file mode 100644 index 0000000000..ee2d8007b0 --- /dev/null +++ b/assets/common/items/weapons/long_2h_orn-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Longsword", + description: "An Ornimanted Double-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongOrn0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_orn-1.ron b/assets/common/items/weapons/long_2h_orn-1.ron new file mode 100644 index 0000000000..49bb90e103 --- /dev/null +++ b/assets/common/items/weapons/long_2h_orn-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Longsword", + description: "An Ornimanted Double-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongOrn1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_orn-2.ron b/assets/common/items/weapons/long_2h_orn-2.ron new file mode 100644 index 0000000000..3814a1f31c --- /dev/null +++ b/assets/common/items/weapons/long_2h_orn-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Longsword", + description: "An Ornimanted Double-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongOrn2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_orn-3.ron b/assets/common/items/weapons/long_2h_orn-3.ron new file mode 100644 index 0000000000..b43ecddb7b --- /dev/null +++ b/assets/common/items/weapons/long_2h_orn-3.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Longsword", + description: "An Ornimanted Single-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongOrn3), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_orn-4.ron b/assets/common/items/weapons/long_2h_orn-4.ron new file mode 100644 index 0000000000..357d9433bd --- /dev/null +++ b/assets/common/items/weapons/long_2h_orn-4.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Longsword", + description: "An Ornimanted Single-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongOrn4), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_orn-5.ron b/assets/common/items/weapons/long_2h_orn-5.ron new file mode 100644 index 0000000000..4edfb6f01c --- /dev/null +++ b/assets/common/items/weapons/long_2h_orn-5.ron @@ -0,0 +1,10 @@ +Item( + name: "Ornimented Longsword", + description: "An Ornimanted Single-Edged, Two-Hand LongSword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongOrn5), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_simple-0.ron b/assets/common/items/weapons/long_2h_simple-0.ron new file mode 100644 index 0000000000..b2ad9a59d0 --- /dev/null +++ b/assets/common/items/weapons/long_2h_simple-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Longsword", + description: "A Simple Double-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongSimple0), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_simple-1.ron b/assets/common/items/weapons/long_2h_simple-1.ron new file mode 100644 index 0000000000..e4eb4b123c --- /dev/null +++ b/assets/common/items/weapons/long_2h_simple-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Longsword", + description: "A Simple Double-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongSimple1), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_simple-2.ron b/assets/common/items/weapons/long_2h_simple-2.ron new file mode 100644 index 0000000000..9aa2ab80a7 --- /dev/null +++ b/assets/common/items/weapons/long_2h_simple-2.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Longsword", + description: "A Simple Double-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongSimple2), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_simple-3.ron b/assets/common/items/weapons/long_2h_simple-3.ron new file mode 100644 index 0000000000..9ee608f6f0 --- /dev/null +++ b/assets/common/items/weapons/long_2h_simple-3.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Longsword", + description: "A Simple Single-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongSimple3), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_simple-4.ron b/assets/common/items/weapons/long_2h_simple-4.ron new file mode 100644 index 0000000000..e92bed29e9 --- /dev/null +++ b/assets/common/items/weapons/long_2h_simple-4.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Longsword", + description: "A Simple Single-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongSimple4), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/common/items/weapons/long_2h_simple-5.ron b/assets/common/items/weapons/long_2h_simple-5.ron new file mode 100644 index 0000000000..59f6a199b4 --- /dev/null +++ b/assets/common/items/weapons/long_2h_simple-5.ron @@ -0,0 +1,10 @@ +Item( + name: "Simple Longsword", + description: "A Simple Single-Edged, Two-Handed Longsword\n\nPower: 2-10\n\n", + kind: Tool( + ( + kind: Sword(LongSimple5), + equip_time_millis: 500, + ) + ), +) diff --git a/assets/voxygen/audio/ambient/forest_day.ogg b/assets/voxygen/audio/ambient/forest_day.ogg new file mode 100644 index 0000000000..ce3a610e52 --- /dev/null +++ b/assets/voxygen/audio/ambient/forest_day.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b19158db44b60fe3059864c86f9159381871178587514762d6968a64ce25395 +size 9120471 diff --git a/assets/voxygen/audio/ambient/forest_morning.ogg b/assets/voxygen/audio/ambient/forest_morning.ogg new file mode 100644 index 0000000000..69552ad92e --- /dev/null +++ b/assets/voxygen/audio/ambient/forest_morning.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9352a34b8bcabb96f872d23a2459c819cb334889b929a4efeeba89f09d2b1738 +size 8346495 diff --git a/assets/voxygen/audio/soundtrack.ron b/assets/voxygen/audio/soundtrack.ron index c6288b3af2..07f57316bf 100644 --- a/assets/voxygen/audio/soundtrack.ron +++ b/assets/voxygen/audio/soundtrack.ron @@ -1,7 +1,15 @@ // TODO: Re-add tunes that are not fitting general outside day/night situations +// TODO: Add an ambient-soundtrack that runs independently from the musical soundtrack ( tracks: [ + ( + title: "Forest Day", // Ambience Track + path: "voxygen.audio.ambient.forest_day", + length: 629.0, + timing: Some(Day), + artist: "https://www.youtube.com/watch?v=FwVTkB-BIvM", + ), ( title: "Into The Dark Forest", path: "voxygen.audio.soundtrack.into_the_dark_forest", @@ -93,5 +101,12 @@ timing: Some(Night), artist: "badbbad", ), + ( + title: "Forest Morning", // Ambience Track + path: "voxygen.audio.ambient.forest_morning", + length: 600.0, + timing: Some(Day), + artist: "https://www.youtube.com/watch?v=eq4nfIdK6C4", + ), ] ) \ No newline at end of file diff --git a/assets/voxygen/element/frames/bubble_dark/bottom.png b/assets/voxygen/element/frames/bubble_dark/bottom.png index 6c29aea33b..a7c84443b8 100644 --- a/assets/voxygen/element/frames/bubble_dark/bottom.png +++ b/assets/voxygen/element/frames/bubble_dark/bottom.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46628924ae6326359ed3fa0ad2f834cef06a2e387c0dee5a58b167435eab3a37 -size 131 +oid sha256:9125116276fd995e6bd69899c41614c313653feb1492f9d048fcaa4a6bd0a343 +size 157 diff --git a/assets/voxygen/element/frames/bubble_dark/bottom_left.png b/assets/voxygen/element/frames/bubble_dark/bottom_left.png index fcfb10d211..51d9f81f18 100644 --- a/assets/voxygen/element/frames/bubble_dark/bottom_left.png +++ b/assets/voxygen/element/frames/bubble_dark/bottom_left.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ca13242a394ccf91cf751d114bb3304aa5ef6ffa28fece1c978769a1de1f2d4 -size 199 +oid sha256:8e9b1fc4d0969b7d3c04bcdd2257bea883531a843a9d05ee92a5067f09b9c7ee +size 211 diff --git a/assets/voxygen/element/frames/bubble_dark/bottom_right.png b/assets/voxygen/element/frames/bubble_dark/bottom_right.png index 6fc710cdd5..e89634cd41 100644 --- a/assets/voxygen/element/frames/bubble_dark/bottom_right.png +++ b/assets/voxygen/element/frames/bubble_dark/bottom_right.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fdf825f1f07a7485ffa7492081d5811196367b7a438d757c2401c736447d9d7 -size 220 +oid sha256:21cd10a5f93dc77f547d674c46bc3011f0d8f6c187889a955d56960d3607f984 +size 215 diff --git a/assets/voxygen/element/frames/bubble_dark/left.png b/assets/voxygen/element/frames/bubble_dark/left.png index 30c954abbc..faf2a84b64 100644 --- a/assets/voxygen/element/frames/bubble_dark/left.png +++ b/assets/voxygen/element/frames/bubble_dark/left.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:524afbf0961dcef3e0798d7e973ed51bb30816c37b1f3353163aff38bd473d23 -size 120 +oid sha256:256d5ea73b2137cb21c5ed80d827406546b3a074852ce33a3ef9aa78a13ae41c +size 157 diff --git a/assets/voxygen/element/frames/bubble_dark/mid.png b/assets/voxygen/element/frames/bubble_dark/mid.png index e5cf820008..cfcc2eeb60 100644 --- a/assets/voxygen/element/frames/bubble_dark/mid.png +++ b/assets/voxygen/element/frames/bubble_dark/mid.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a7de055972cc48b200a54c8fc86c1e9470c74b20ef64fd0b4a5bf658601a823 -size 109 +oid sha256:8e8cf0eb44f002a094ef4a396f873ed9345e833c7c2cc5604dcb4effd0eb6f67 +size 141 diff --git a/assets/voxygen/element/frames/bubble_dark/right.png b/assets/voxygen/element/frames/bubble_dark/right.png index de076ca355..5627786bc4 100644 --- a/assets/voxygen/element/frames/bubble_dark/right.png +++ b/assets/voxygen/element/frames/bubble_dark/right.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1caf5ee920d29eb2f690bdcb0fad4cc2f029bbfce464af0fccf01540607d33c -size 120 +oid sha256:39432f4dd1a8afbc5d30bd34b46e09c863cd4a662b728e2dba3c842a0d431db9 +size 156 diff --git a/assets/voxygen/element/frames/bubble_dark/tail.png b/assets/voxygen/element/frames/bubble_dark/tail.png index 32cb0a0222..5cb7828aa1 100644 --- a/assets/voxygen/element/frames/bubble_dark/tail.png +++ b/assets/voxygen/element/frames/bubble_dark/tail.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e1d6707a666716bf2a935705cb015b86e1ee91e0cd0cbc607be99caa598f2cdc -size 247 +oid sha256:3aeed4d908fbabf96270558a6b8f1e959326cd1e213cfea1b373ab9eca49bddc +size 225 diff --git a/assets/voxygen/element/frames/bubble_dark/top.png b/assets/voxygen/element/frames/bubble_dark/top.png index 77651db5fb..59ce69b166 100644 --- a/assets/voxygen/element/frames/bubble_dark/top.png +++ b/assets/voxygen/element/frames/bubble_dark/top.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f84fb7cd1ff7df43d944d52598d320abd7e7d24182e9c969293b62818755c36 -size 132 +oid sha256:ca923189babe94125e0df201feb69ef82667afb2cdaa7bbd41fbed1e5708967f +size 158 diff --git a/assets/voxygen/element/frames/bubble_dark/top_left.png b/assets/voxygen/element/frames/bubble_dark/top_left.png index b6d6f6c0b3..1d37360c1b 100644 --- a/assets/voxygen/element/frames/bubble_dark/top_left.png +++ b/assets/voxygen/element/frames/bubble_dark/top_left.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8470ac055477bc559fc8199556d1d880586c5f865a2127d619fefff35f3f937 -size 177 +oid sha256:5c1831e653894e3eed9194a8f2b8a6c594e566a1259270111bb6e12a89f24228 +size 194 diff --git a/assets/voxygen/element/frames/bubble_dark/top_right.png b/assets/voxygen/element/frames/bubble_dark/top_right.png index 38bc5f9192..f558927cbf 100644 --- a/assets/voxygen/element/frames/bubble_dark/top_right.png +++ b/assets/voxygen/element/frames/bubble_dark/top_right.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fea204668ba0bd8ec95023ba642347ea9832a2b172b469854b8582359783586a -size 207 +oid sha256:dc2b1f5d3b246b18e818eed1fbe63c2200827ba5564bbdfb93b34f5719e26c8b +size 226 diff --git a/assets/voxygen/element/icons/fire_spell_0.png b/assets/voxygen/element/icons/fire_spell_0.png index dab7f87c07..7e43c14062 100644 --- a/assets/voxygen/element/icons/fire_spell_0.png +++ b/assets/voxygen/element/icons/fire_spell_0.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fcd5b65b0295b8467b90712d8a7d4ccab5bef8de8e1a24234f9628459ba8c746 -size 695 +oid sha256:2581234823657d1f47edd8857bf3eafbc7074e634607da4bc24d0547c9ecce43 +size 699 diff --git a/assets/voxygen/element/icons/m1.png b/assets/voxygen/element/icons/m1.png new file mode 100644 index 0000000000..6ad45b0c47 --- /dev/null +++ b/assets/voxygen/element/icons/m1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb880d0d477525faa286adf34cbbb342059848e96ee042581ffa41f3a4f2acb +size 605 diff --git a/assets/voxygen/element/icons/m2.png b/assets/voxygen/element/icons/m2.png new file mode 100644 index 0000000000..62d9df8b4c --- /dev/null +++ b/assets/voxygen/element/icons/m2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:613ad50374735c2eaa80552cde9c25c12954bfd778f62a63f43d29562547b314 +size 605 diff --git a/assets/voxygen/element/icons/snake.png b/assets/voxygen/element/icons/snake.png new file mode 100644 index 0000000000..1459f2f094 --- /dev/null +++ b/assets/voxygen/element/icons/snake.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:514d65e989c1ea89f98cb4b45832213c13dc0c36906fd5bc6a8dae2ac9022e00 +size 2722 diff --git a/assets/voxygen/element/icons/snake_arrow.png b/assets/voxygen/element/icons/snake_arrow.png new file mode 100644 index 0000000000..e0f4895ce7 --- /dev/null +++ b/assets/voxygen/element/icons/snake_arrow.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f20d558f0a94ae7ae2e8a522fa8562b7b936ff397594ab39617a28e07db9309 +size 760 diff --git a/assets/voxygen/i18n/de_DE.ron b/assets/voxygen/i18n/de_DE.ron index 630a118ef3..61c2979f4c 100644 --- a/assets/voxygen/i18n/de_DE.ron +++ b/assets/voxygen/i18n/de_DE.ron @@ -74,12 +74,12 @@ VoxygenLocalization( "common.connection_lost": r#"Verbindung unterbrochen."#, - "common.races.orc": "Orc", - "common.races.human": "Mensch", - "common.races.dwarf": "Zwerg", - "common.races.elf": "Elf", - "common.races.undead": "Untoter", - "common.races.danari": "Danari", + "common.species.orc": "Orc", + "common.species.human": "Mensch", + "common.species.dwarf": "Zwerg", + "common.species.elf": "Elf", + "common.species.undead": "Untoter", + "common.species.danari": "Danari", "common.weapons.axe": "Axt", "common.weapons.sword": "Schwert", @@ -240,6 +240,7 @@ Viel Spaß in der Welt von Veloren, Abenteurer!"#, "hud.settings.cumulated_damage": "Addierter Schaden", "hud.settings.incoming_damage": "Erlittener Schaden", "hud.settings.cumulated_incoming_damage": "Addierter erlittener Schaden", + "hud.settings.speech_bubble_dark_mode": "Dunkle Sprechblasen", "hud.settings.energybar_numbers": "Zahlen auf Ressourcenanzeige", "hud.settings.values": "Werte", "hud.settings.percentages": "Prozent", @@ -360,7 +361,7 @@ Viel Spaß in der Welt von Veloren, Abenteurer!"#, "char_selection.chest_color": "Brustrüstung", "char_selection.eye_color": "Augenfarbe", "char_selection.skin": "Hautton", - "char_selection.eyebrows": "Augenbrauen", + "char_selection.eyeshape": "Augen Details", "char_selection.accessories": "Accessoires", "char_selection.create_info_name": "Euer Charakter braucht einen Namen!", /// End chracter selection section @@ -386,5 +387,8 @@ Willenskraft }, vector_map: { + "npc.speech.villager_under_attack": [ + "Hilfe, ich werde angegriffen!", + ], } -) +) \ No newline at end of file diff --git a/assets/voxygen/i18n/en.ron b/assets/voxygen/i18n/en.ron index 0cea650ed6..50feee86d7 100644 --- a/assets/voxygen/i18n/en.ron +++ b/assets/voxygen/i18n/en.ron @@ -77,12 +77,12 @@ Did the server restart? Is the client up to date?"#, - "common.races.orc": "Orc", - "common.races.human": "Human", - "common.races.dwarf": "Dwarf", - "common.races.elf": "Elf", - "common.races.undead": "Undead", - "common.races.danari": "Danari", + "common.species.orc": "Orc", + "common.species.human": "Human", + "common.species.dwarf": "Dwarf", + "common.species.elf": "Elf", + "common.species.undead": "Undead", + "common.species.danari": "Danari", "common.weapons.axe": "Axe", "common.weapons.sword": "Sword", @@ -356,11 +356,10 @@ Enjoy your stay in the World of Veloren."#, "char_selection.plains_of_uncertainty": "Plains of Uncertainty", "char_selection.beard": "Beard", "char_selection.hair_style": "Hair Style", - "char_selection.hair_color": "Hair Color", - "char_selection.chest_color": "Chest color", - "char_selection.eye_color": "Eye color", + "char_selection.hair_color": "Hair Color", + "char_selection.eye_color": "Eye Color", "char_selection.skin": "Skin", - "char_selection.eyebrows": "Eyebrows", + "char_selection.eyeshape": "Eye Details", "char_selection.accessories": "Accessories", "char_selection.create_info_name": "Your Character needs a name!", @@ -422,6 +421,7 @@ Willpower "They're coming for me!", "Help! Help! I'm being repressed", "Ah, now we see the violence inherent in the system.", + "Tis but a scratch!" ], } ) diff --git a/assets/voxygen/i18n/fr_FR.ron b/assets/voxygen/i18n/fr_FR.ron index 89a2685dd4..c8490a09c5 100644 --- a/assets/voxygen/i18n/fr_FR.ron +++ b/assets/voxygen/i18n/fr_FR.ron @@ -52,12 +52,12 @@ VoxygenLocalization( "common.cancel": "Annuler", "common.none": "Aucun", - "common.races.orc": "Orc", - "common.races.human": "Humain", - "common.races.dwarf": "Nain", - "common.races.elf": "Elfe", - "common.races.undead": "Mort vivant", - "common.races.danari": "Danari", + "common.species.orc": "Orc", + "common.species.human": "Humain", + "common.species.dwarf": "Nain", + "common.species.elf": "Elfe", + "common.species.undead": "Mort vivant", + "common.species.danari": "Danari", "common.weapons.axe": "Hâche", "common.weapons.sword": "Épée", diff --git a/assets/voxygen/i18n/it_IT.ron b/assets/voxygen/i18n/it_IT.ron index 5a14c15a9b..95e98e2841 100644 --- a/assets/voxygen/i18n/it_IT.ron +++ b/assets/voxygen/i18n/it_IT.ron @@ -87,12 +87,12 @@ Il client è aggiornato?"#, - "common.races.orc": "Orco", - "common.races.human": "Umano", - "common.races.dwarf": "Nano", - "common.races.elf": "Elfo", - "common.races.undead": "Non-Morto", - "common.races.danari": "Danari", + "common.species.orc": "Orco", + "common.species.human": "Umano", + "common.species.dwarf": "Nano", + "common.species.elf": "Elfo", + "common.species.undead": "Non-Morto", + "common.species.danari": "Danari", diff --git a/assets/voxygen/i18n/pt_PT.ron b/assets/voxygen/i18n/pt_PT.ron index c4832499a9..119e4f0d94 100644 --- a/assets/voxygen/i18n/pt_PT.ron +++ b/assets/voxygen/i18n/pt_PT.ron @@ -63,12 +63,12 @@ Será que o server reiniciou? O cliente está atualizado?"#, - "common.races.orc": "Ogre", - "common.races.human": "Humano", - "common.races.dwarf": "Anão", - "common.races.elf": "Elfo", - "common.races.undead": "Morto-vivo", - "common.races.danari": "Danari", + "common.species.orc": "Ogre", + "common.species.human": "Humano", + "common.species.dwarf": "Anão", + "common.species.elf": "Elfo", + "common.species.undead": "Morto-vivo", + "common.species.danari": "Danari", "common.weapons.axe": "Machado", "common.weapons.sword": "Espada", diff --git a/assets/voxygen/i18n/ru_RU.ron b/assets/voxygen/i18n/ru_RU.ron index da55da407b..c82531a5fa 100644 --- a/assets/voxygen/i18n/ru_RU.ron +++ b/assets/voxygen/i18n/ru_RU.ron @@ -63,12 +63,12 @@ VoxygenLocalization( Клиент обновлен до последней версии?"#, - "common.races.orc": "Орк", - "common.races.human": "Человек", - "common.races.dwarf": "Дварф", - "common.races.elf": "Эльф", - "common.races.undead": "Нежить", - "common.races.danari": "Данари", + "common.species.orc": "Орк", + "common.species.human": "Человек", + "common.species.dwarf": "Дварф", + "common.species.elf": "Эльф", + "common.species.undead": "Нежить", + "common.species.danari": "Данари", "common.weapons.axe": "Топор", "common.weapons.sword": "Меч", diff --git a/assets/voxygen/i18n/tr_TR.ron b/assets/voxygen/i18n/tr_TR.ron index 2f88227ad9..54315e410d 100644 --- a/assets/voxygen/i18n/tr_TR.ron +++ b/assets/voxygen/i18n/tr_TR.ron @@ -75,12 +75,12 @@ Sunucu yeniden mi başladı? İstemci güncel mi?"#, - "common.races.orc": "Ork", - "common.races.human": "İnsan", - "common.races.dwarf": "Cüce", - "common.races.elf": "Elf", - "common.races.undead": "Hortlak", - "common.races.danari": "Danari", + "common.species.orc": "Ork", + "common.species.human": "İnsan", + "common.species.dwarf": "Cüce", + "common.species.elf": "Elf", + "common.species.undead": "Hortlak", + "common.species.danari": "Danari", "common.weapons.axe": "Balta", "common.weapons.sword": "Kılıç", diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index f7e62845d2..5c37fb24a5 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -30,6 +30,154 @@ "voxel.weapon.sword.wood_2h", (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.3, ), + Tool(Sword(LongFine3)): VoxTrans( + "voxel.weapon.sword.long_2h_fine-3", + (0.0, 9.0, 0.0), (-90.0, 90.0, 0.0), 2.4, + ), + Tool(Sword(GreatswordDam0)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_dam-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordDam1)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_dam-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordDam2)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_dam-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordSimple0)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_simple-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordSimple1)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_simple-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordSimple2)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_simple-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordOrn0)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_orn-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordOrn1)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_orn-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordOrn2)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_orn-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordFine0)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_fine-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordFine1)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_fine-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(GreatswordFine2)): VoxTrans( + "voxel.weapon.sword.greatsword_2h_fine-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongDam0)): VoxTrans( + "voxel.weapon.sword.long_2h_dam-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongDam1)): VoxTrans( + "voxel.weapon.sword.long_2h_dam-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongDam2)): VoxTrans( + "voxel.weapon.sword.long_2h_dam-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongDam3)): VoxTrans( + "voxel.weapon.sword.long_2h_dam-3", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongDam4)): VoxTrans( + "voxel.weapon.sword.long_2h_dam-4", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongDam5)): VoxTrans( + "voxel.weapon.sword.long_2h_dam-5", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongSimple0)): VoxTrans( + "voxel.weapon.sword.long_2h_simple-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongSimple1)): VoxTrans( + "voxel.weapon.sword.long_2h_simple-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongSimple2)): VoxTrans( + "voxel.weapon.sword.long_2h_simple-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongSimple3)): VoxTrans( + "voxel.weapon.sword.long_2h_simple-3", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongSimple4)): VoxTrans( + "voxel.weapon.sword.long_2h_simple-4", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongSimple5)): VoxTrans( + "voxel.weapon.sword.long_2h_simple-5", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongOrn0)): VoxTrans( + "voxel.weapon.sword.long_2h_orn-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongOrn1)): VoxTrans( + "voxel.weapon.sword.long_2h_orn-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongOrn2)): VoxTrans( + "voxel.weapon.sword.long_2h_orn-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongOrn3)): VoxTrans( + "voxel.weapon.sword.long_2h_orn-3", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongOrn4)): VoxTrans( + "voxel.weapon.sword.long_2h_orn-4", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongOrn5)): VoxTrans( + "voxel.weapon.sword.long_2h_orn-5", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongFine0)): VoxTrans( + "voxel.weapon.sword.long_2h_fine-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongFine1)): VoxTrans( + "voxel.weapon.sword.long_2h_fine-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongFine2)): VoxTrans( + "voxel.weapon.sword.long_2h_fine-2", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongFine3)): VoxTrans( + "voxel.weapon.sword.long_2h_fine-3", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongFine4)): VoxTrans( + "voxel.weapon.sword.long_2h_fine-4", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), + Tool(Sword(LongFine5)): VoxTrans( + "voxel.weapon.sword.long_2h_fine-5", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.5, + ), // Axes Tool(Axe(BasicAxe)): VoxTrans( "voxel.weapon.axe.rusty_2h", @@ -500,11 +648,7 @@ ), // Debug Items Tool(Debug(Boost)): VoxTrans( - "voxel.weapon.debug_wand-0", - (0.0, -7.0, 0.0), (90.0, 90.0, 0.0), 1.6, - ), - Tool(Debug(Possess)): VoxTrans( - "voxel.weapon.debug_wand-1", - (0.0, -7.0, 0.0), (90.0, 90.0, 0.0), 1.6, - ), + "voxel.weapon.tool.broom_belzeshrub_purple", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.1, + ), }) diff --git a/assets/voxygen/voxel/armor/pants/cultist.vox b/assets/voxygen/voxel/armor/pants/cultist.vox index 63ecfd37c9..6edf857770 100644 --- a/assets/voxygen/voxel/armor/pants/cultist.vox +++ b/assets/voxygen/voxel/armor/pants/cultist.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd7dd211beccb86e8d3d7043a05aaca1ff86431feaa82ecac077d44fab0437ad +oid sha256:7474d7ef0a67bdc8e99b27de47714e2379739aa0b8c6dd0a00d9e94c62695125 size 1992 diff --git a/assets/voxygen/voxel/figure/eyes/danari/female-0.vox b/assets/voxygen/voxel/figure/eyes/danari/female-0.vox deleted file mode 100644 index 36f9d053f4..0000000000 --- a/assets/voxygen/voxel/figure/eyes/danari/female-0.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:320e5b32b7d383ad05a51b2a026c1235aedd54fcb87f3e2e8b2fa662102d6fa5 -size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/danari/male-1.vox b/assets/voxygen/voxel/figure/eyes/danari/male-1.vox deleted file mode 100644 index e89a0d081c..0000000000 --- a/assets/voxygen/voxel/figure/eyes/danari/male-1.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7cd5475e11718417f1b877d143b2cc75b43fb1f368581dd6f37b167fbdbb0aa5 -size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/dwarf/female-0.vox b/assets/voxygen/voxel/figure/eyes/dwarf/female-0.vox deleted file mode 100644 index 4919ac544b..0000000000 --- a/assets/voxygen/voxel/figure/eyes/dwarf/female-0.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9b009ae959dba33eeb1b2c651b403bd8346a16db5102372f66c0c7b4b073689 -size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/dwarf/male-0.vox b/assets/voxygen/voxel/figure/eyes/dwarf/male-0.vox deleted file mode 100644 index 5f32d0a872..0000000000 --- a/assets/voxygen/voxel/figure/eyes/dwarf/male-0.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff1ac798ca93a041195e3efee2c1166670a3f13c2fc907a432f1c7b44c381c4c -size 1176 diff --git a/assets/voxygen/voxel/figure/eyes/dwarf/male-1.vox b/assets/voxygen/voxel/figure/eyes/dwarf/male-1.vox deleted file mode 100644 index 8508f20ec7..0000000000 --- a/assets/voxygen/voxel/figure/eyes/dwarf/male-1.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f43066f4edb931616cc537cc555591ae01da86fd4bcc43977d68733be717713 -size 1136 diff --git a/assets/voxygen/voxel/figure/eyes/elf/female-0.vox b/assets/voxygen/voxel/figure/eyes/elf/female-0.vox deleted file mode 100644 index 3117f03062..0000000000 --- a/assets/voxygen/voxel/figure/eyes/elf/female-0.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8cf208a53b7aa72af935be0155dbbea10225e543434a23dffd0f7afbe649ae99 -size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/general/female_as_hair-0.vox b/assets/voxygen/voxel/figure/eyes/general/female_as_hair-0.vox new file mode 100644 index 0000000000..ac3d0734eb --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/female_as_hair-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a05b7baed6cf28a03b8ab4f2fc162f4fb163b383c05dd13365ba28d978d30b9 +size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/general/female_blind-0.vox b/assets/voxygen/voxel/figure/eyes/general/female_blind-0.vox new file mode 100644 index 0000000000..36a6062875 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/female_blind-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4ebef30fe578b65cb6821ca082d8a94a4bfb761466e7418c80cf5b3f8c1950c +size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/general/female_default-0.vox b/assets/voxygen/voxel/figure/eyes/general/female_default-0.vox new file mode 100644 index 0000000000..1cbb6c6220 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/female_default-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:870cb62cf318d20b1ebab5afe572df817f07966be45bf78e42d43f231d8dc188 +size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/general/female_heterochromia-0.vox b/assets/voxygen/voxel/figure/eyes/general/female_heterochromia-0.vox new file mode 100644 index 0000000000..30a3722ec0 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/female_heterochromia-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c69eeb8b257a882c44c08350cd88b77e8ccd6db6b3cefbcfbce255f974b4592c +size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/general/female_scar-0.vox b/assets/voxygen/voxel/figure/eyes/general/female_scar-0.vox new file mode 100644 index 0000000000..c7fd442618 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/female_scar-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2a0def3d18838f9e0632e51d68ccbf70fd24cdd0bba5bd0f1a8b9cc52c31180 +size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/general/female_styled-0.vox b/assets/voxygen/voxel/figure/eyes/general/female_styled-0.vox new file mode 100644 index 0000000000..1ec812d69a --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/female_styled-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29395596a59a7252a1cfbaaaf89c348153cf88ad8e06ca5dc56e218412bf862a +size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/general/male_as_hair-0.vox b/assets/voxygen/voxel/figure/eyes/general/male_as_hair-0.vox new file mode 100644 index 0000000000..292c1381c4 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/male_as_hair-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a15470b3b8ca6a7c3bb00c1bafffce255fec0a4e0d94a73439bfa7640165629 +size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/general/male_blind-0.vox b/assets/voxygen/voxel/figure/eyes/general/male_blind-0.vox new file mode 100644 index 0000000000..1fb83d3dd6 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/male_blind-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:322447258c4759eb6ddebc4eb778f5755e0a0a7bf8cbe380da991c56a85ec375 +size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/general/male_brow_col-0.vox b/assets/voxygen/voxel/figure/eyes/general/male_brow_col-0.vox new file mode 100644 index 0000000000..8fc2c7cb54 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/male_brow_col-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dca091400740ceef33fd692e50a0da4176145c367b25e393c33172376d06ad87 +size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/danari/male-0.vox b/assets/voxygen/voxel/figure/eyes/general/male_bushy-0.vox similarity index 100% rename from assets/voxygen/voxel/figure/eyes/danari/male-0.vox rename to assets/voxygen/voxel/figure/eyes/general/male_bushy-0.vox diff --git a/assets/voxygen/voxel/figure/eyes/general/male_default-0.vox b/assets/voxygen/voxel/figure/eyes/general/male_default-0.vox new file mode 100644 index 0000000000..fa6378f76d --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/male_default-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:371f458f43de8ab163a84231129fdcdde8e22ce457df8a484f15d7cb56b85603 +size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/general/male_heterochromia-0.vox b/assets/voxygen/voxel/figure/eyes/general/male_heterochromia-0.vox new file mode 100644 index 0000000000..64d7fa7a7e --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/male_heterochromia-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28ee0595fc4f6edc89dc09d36c3eeb836a561dc83b3ccb1f3bd005aa978922ad +size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/general/male_scar-0.vox b/assets/voxygen/voxel/figure/eyes/general/male_scar-0.vox new file mode 100644 index 0000000000..88cd53308f --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/general/male_scar-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3e037fa65efe7f0eb4e161514727d002960bb5ab668b2074e2eb036aba749e0 +size 1148 diff --git a/assets/voxygen/voxel/figure/eyes/human/male-0.vox b/assets/voxygen/voxel/figure/eyes/human/male-0.vox index e89a0d081c..8fc2c7cb54 100644 --- a/assets/voxygen/voxel/figure/eyes/human/male-0.vox +++ b/assets/voxygen/voxel/figure/eyes/human/male-0.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7cd5475e11718417f1b877d143b2cc75b43fb1f368581dd6f37b167fbdbb0aa5 +oid sha256:dca091400740ceef33fd692e50a0da4176145c367b25e393c33172376d06ad87 size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/orc/female-0.vox b/assets/voxygen/voxel/figure/eyes/orc/female-0.vox deleted file mode 100644 index bfb89a681c..0000000000 --- a/assets/voxygen/voxel/figure/eyes/orc/female-0.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e31d98bff4e3d183a605d312a444048a51021f0bec6bde94b44bf355e96a0d16 -size 1152 diff --git a/assets/voxygen/voxel/figure/eyes/orc/male-1.vox b/assets/voxygen/voxel/figure/eyes/orc/male-1.vox new file mode 100644 index 0000000000..d59364da41 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/orc/male-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:017355f69b992d2d5bd5222374c2bb885320fa49dbabec419fdeb8bea1103bc7 +size 1128 diff --git a/assets/voxygen/voxel/figure/eyes/undead/female-1.vox b/assets/voxygen/voxel/figure/eyes/undead/female-1.vox new file mode 100644 index 0000000000..80735918ee --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/undead/female-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b44d1f85f1df61bcbaf01d10031263121467ba62ad75239e99693c5dcfb3b20 +size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/undead/female-2.vox b/assets/voxygen/voxel/figure/eyes/undead/female-2.vox new file mode 100644 index 0000000000..22142ce0ef --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/undead/female-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bac0592f412b764acfb246ca1ddef86141bf2289908f84cca23fb6d17454a8c +size 1144 diff --git a/assets/voxygen/voxel/figure/eyes/undead/male-1.vox b/assets/voxygen/voxel/figure/eyes/undead/male-1.vox new file mode 100644 index 0000000000..ed5f17373b --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/undead/male-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f77a0d0e28b84b7f37bb6fe150252a6d2adf55895bc0f7b034ed98264ada8595 +size 1112 diff --git a/assets/voxygen/voxel/figure/eyes/undead/male-2.vox b/assets/voxygen/voxel/figure/eyes/undead/male-2.vox new file mode 100644 index 0000000000..6dd0a05ac3 --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/undead/male-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0248c911ec7d509e5a6a86f7b636b08137d7920bf7edf7e7d613205791c195b6 +size 1112 diff --git a/assets/voxygen/voxel/figure/eyes/undead/male-3.vox b/assets/voxygen/voxel/figure/eyes/undead/male-3.vox new file mode 100644 index 0000000000..b55f9ef05a --- /dev/null +++ b/assets/voxygen/voxel/figure/eyes/undead/male-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:870fe83897319c3f43fc448b8f9e0c09cc4daaf5afbd6be712d04ee1038dc82b +size 1112 diff --git a/assets/voxygen/voxel/figure/hair/danari/female-2.vox b/assets/voxygen/voxel/figure/hair/danari/female-2.vox new file mode 100644 index 0000000000..d23bfd5f60 --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/danari/female-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:923accdb7f3405e7f7cd45a86eddd9bbfa555e8116240458a0d6beef28477d19 +size 1960 diff --git a/assets/voxygen/voxel/figure/hair/danari/female-3.vox b/assets/voxygen/voxel/figure/hair/danari/female-3.vox new file mode 100644 index 0000000000..3663f7e752 --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/danari/female-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de5c1d8f7a3fc9a7cfc1e39b6b3f1247e4741eed6f6bccd88ee2902ec71d359b +size 2192 diff --git a/assets/voxygen/voxel/figure/hair/danari/male-2.vox b/assets/voxygen/voxel/figure/hair/danari/male-2.vox new file mode 100644 index 0000000000..89301f528c --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/danari/male-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a42e4d6d2839a04443ce1c9ad1a8a433a34bcd2596f85ab49cd775b5bd0fdac +size 1776 diff --git a/assets/voxygen/voxel/figure/hair/danari/male-3.vox b/assets/voxygen/voxel/figure/hair/danari/male-3.vox new file mode 100644 index 0000000000..402a3fac52 --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/danari/male-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a63dcb525c4fadbc674ca2bdee8eecae2308b726348cd90e0fc15b343e73adb +size 2232 diff --git a/assets/voxygen/voxel/figure/hair/dwarf/female-4.vox b/assets/voxygen/voxel/figure/hair/dwarf/female-4.vox new file mode 100644 index 0000000000..e20c2a6b7d --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/dwarf/female-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2930b901eb0c3ffb0693b47bdf0b0754e2e82323e0a34cab237da78918b27c4 +size 2640 diff --git a/assets/voxygen/voxel/figure/hair/dwarf/female-5.vox b/assets/voxygen/voxel/figure/hair/dwarf/female-5.vox new file mode 100644 index 0000000000..c497cdd6ef --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/dwarf/female-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e05d91233210406564d557467f7a37b8de9f0687d261eec143d2408dac79973 +size 2296 diff --git a/assets/voxygen/voxel/figure/hair/dwarf/female-6.vox b/assets/voxygen/voxel/figure/hair/dwarf/female-6.vox new file mode 100644 index 0000000000..357fc810f4 --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/dwarf/female-6.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27e53effbe09fc668d36b14a09ddc2727e0db57f3cf481d04c42a2d6c26a2e13 +size 2928 diff --git a/assets/voxygen/voxel/figure/hair/dwarf/male-2.vox b/assets/voxygen/voxel/figure/hair/dwarf/male-2.vox new file mode 100644 index 0000000000..f5b5bf2b6d --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/dwarf/male-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:878d3b7653e21ad451636e3186acd7268ac61d6b7487c9fe272ffbf97907a5b1 +size 2592 diff --git a/assets/voxygen/voxel/figure/hair/dwarf/male-3.vox b/assets/voxygen/voxel/figure/hair/dwarf/male-3.vox new file mode 100644 index 0000000000..eb87250590 --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/dwarf/male-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de0f665ce04df0d9e92c639b725b5b4f4c4029dbdcc7f7e115510eb895fb020d +size 1944 diff --git a/assets/voxygen/voxel/figure/hair/human/male-18.vox b/assets/voxygen/voxel/figure/hair/human/male-18.vox index 94e4e5a34b..d503e69072 100644 --- a/assets/voxygen/voxel/figure/hair/human/male-18.vox +++ b/assets/voxygen/voxel/figure/hair/human/male-18.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8fc14c30703103be12546030c8e8c36e81ccbe794445b4f89bbff0dafb2ecbe6 -size 2224 +oid sha256:dc75510d200c794c7b2729002a16079c0337298176fcbd8ebf6010cc274f95be +size 2208 diff --git a/assets/voxygen/voxel/figure/hair/undead/female-4.vox b/assets/voxygen/voxel/figure/hair/undead/female-4.vox new file mode 100644 index 0000000000..4412f1da64 --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/undead/female-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32125220a5c1ca1cc5b8166b7eae18cf922d85efe74ad2185c2ab254f6392067 +size 2004 diff --git a/assets/voxygen/voxel/figure/hair/undead/female-5.vox b/assets/voxygen/voxel/figure/hair/undead/female-5.vox new file mode 100644 index 0000000000..d895a1375a --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/undead/female-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72fd2eacdce6e82d0977ebb721cddccd61ae55fab6ee7b189450fa33a34570ea +size 2272 diff --git a/assets/voxygen/voxel/figure/hair/undead/male-2.vox b/assets/voxygen/voxel/figure/hair/undead/male-2.vox new file mode 100644 index 0000000000..d9c46b6239 --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/undead/male-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:368d9e1705208599ffc53fc9f8ef4fd803408b495e24ea68c6545ebe7faa91d8 +size 1416 diff --git a/assets/voxygen/voxel/figure/hair/undead/male-3.vox b/assets/voxygen/voxel/figure/hair/undead/male-3.vox new file mode 100644 index 0000000000..3691658dbf --- /dev/null +++ b/assets/voxygen/voxel/figure/hair/undead/male-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f11bf21b0dbef0e79a60f5b3f8c63e03daa2efa1a2c7d3ae09a499ce208b45c2 +size 1864 diff --git a/assets/voxygen/voxel/figure/head/danari/male.vox b/assets/voxygen/voxel/figure/head/danari/male.vox index 22decee560..d3ef5b193e 100644 --- a/assets/voxygen/voxel/figure/head/danari/male.vox +++ b/assets/voxygen/voxel/figure/head/danari/male.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:903282a49a23745bed03fcc7271dd9cf8b704229deeb172fe223f6929871981d -size 3264 +oid sha256:69d8d69b1758f7344637d821f4f914a9344244f8327836da7450cc3b955f270e +size 3272 diff --git a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron index cd9d11b7fd..b17c8672b3 100644 --- a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron @@ -53,11 +53,11 @@ ), Plate0: ( left: ( - vox_spec: ("armor.shoulder.plate_right-0", (-3.6, -3.5, 1.0)), + vox_spec: ("armor.shoulder.plate_right-0", (-3.6, -3.5, -0.0)), color: None ), right: ( - vox_spec: ("armor.shoulder.plate_right-0", (-2.6, -3.5, 1.0)), + vox_spec: ("armor.shoulder.plate_right-0", (-2.6, -3.5, 0.0)), color: None ) ), diff --git a/assets/voxygen/voxel/humanoid_head_manifest.ron b/assets/voxygen/voxel/humanoid_head_manifest.ron index 483a191315..95abf4652a 100644 --- a/assets/voxygen/voxel/humanoid_head_manifest.ron +++ b/assets/voxygen/voxel/humanoid_head_manifest.ron @@ -2,7 +2,15 @@ (Human, Male): ( offset: (-7.0, -4.0, -6.0), head: ("figure.head.human.male", (0, 2, 0)), - eyes: ("figure.eyes.human.male-0", (3, 9, 2)), + eyes: [ + Some(("figure.eyes.general.male_default-0", (3, 9, 2))), + Some(("figure.eyes.general.male_brow_col-0", (3, 9, 2))), + Some(("figure.eyes.general.male_bushy-0", (3, 9, 2))), + Some(("figure.eyes.general.male_as_hair-0", (3, 9, 2))), + Some(("figure.eyes.general.male_heterochromia-0", (3, 9, 2))), + Some(("figure.eyes.general.male_scar-0", (3, 9, 2))), + Some(("figure.eyes.general.male_blind-0", (3, 9, 2))), + ], hair: [ Some(("figure.hair.human.male-0", (1, 1, 1))), Some(("figure.hair.human.male-1", (1, 1, 1))), @@ -38,7 +46,14 @@ (Human, Female): ( offset: (-7.0, -4.0, -6.0), head: ("figure.head.human.female", (0, 3, 0)), - eyes: ("figure.eyes.human.female-0", (2, 10, 2)), + eyes: [ + Some(("figure.eyes.general.female_default-0", (2, 10, 2))), + Some(("figure.eyes.general.female_styled-0", (2, 10, 2))), + Some(("figure.eyes.general.female_as_hair-0", (2, 10, 2))), + Some(("figure.eyes.general.female_heterochromia-0", (2, 10, 2))), + Some(("figure.eyes.general.female_scar-0", (2, 10, 2))), + Some(("figure.eyes.general.female_blind-0", (2, 10, 2))), + ], hair: [ Some(("figure.hair.human.female-0", (-1, -1, 0))), Some(("figure.hair.human.female-1", (1, 2, -1))), @@ -68,7 +83,10 @@ (Orc, Male): ( offset: (-8.0, -5.0, -6.75), head: ("figure.head.orc.male", (0, 3, 0)), - eyes: ("figure.eyes.orc.male-0", (5, 10, 6)), + eyes: [ + Some(("figure.eyes.orc.male-0", (5, 10, 6))), + Some(("figure.eyes.orc.male-1", (5, 10, 5))), + ], hair: [ Some(("figure.hair.dwarf.bald", (0, 3, -1))), Some(("figure.hair.orc.male-0", (4, 2, 0))), @@ -95,7 +113,14 @@ (Orc, Female): ( offset: (-8.0, -2.5, -6.0), head: ("figure.head.orc.female", (0, 1, 0)), - eyes: ("figure.eyes.orc.female-0", (3, 8, 2)), + eyes: [ + Some(("figure.eyes.general.female_default-0", (3, 8, 2))), + Some(("figure.eyes.general.female_styled-0", (3, 8, 2))), + Some(("figure.eyes.general.female_as_hair-0", (3, 8, 2))), + Some(("figure.eyes.general.female_heterochromia-0", (3, 8, 2))), + Some(("figure.eyes.general.female_scar-0", (3, 8, 2))), + Some(("figure.eyes.general.female_blind-0", (3, 8, 2))), + ], hair: [ Some(("figure.hair.orc.female-0", (-2, -8, 0))), Some(("figure.hair.orc.female-1", (-2, -8, 0))), @@ -116,7 +141,15 @@ (Elf, Male): ( offset: (-8.0, -4.0, -6.0), head: ("figure.head.elf.male", (0, 2, 0)), - eyes: ("figure.eyes.elf.male-0", (4, 9, 2)), + eyes: [ + Some(("figure.eyes.general.male_default-0", (4, 9, 2))), + Some(("figure.eyes.general.male_brow_col-0", (4, 9, 2))), + Some(("figure.eyes.general.male_bushy-0", (4, 9, 2))), + Some(("figure.eyes.general.male_as_hair-0", (4, 9, 2))), + Some(("figure.eyes.general.male_heterochromia-0", (4, 9, 2))), + Some(("figure.eyes.general.male_scar-0", (4, 9, 2))), + Some(("figure.eyes.general.male_blind-0", (4, 9, 2))), + ], hair: [ Some(("figure.hair.elf.male-0", (2, 1, 1))), Some(("figure.hair.elf.male-1", (1, -1, 0))), @@ -131,7 +164,14 @@ (Elf, Female): ( offset: (-8.0, -4.0, -6.0), head: ("figure.head.elf.female", (0, 2, 0)), - eyes: ("figure.eyes.elf.female-0", (3, 9, 2)), + eyes: [ + Some(("figure.eyes.general.female_styled-0", (3, 9, 2))), + Some(("figure.eyes.general.female_default-0", (3, 9, 2))), + Some(("figure.eyes.general.female_as_hair-0", (3, 9, 2))), + Some(("figure.eyes.general.female_heterochromia-0", (3, 9, 2))), + Some(("figure.eyes.general.female_scar-0", (3, 9, 2))), + Some(("figure.eyes.general.female_blind-0", (3, 9, 2))), + ], hair: [ Some(("figure.hair.elf.female-0", (0, -2, 0))), Some(("figure.hair.elf.female-1", (2, 1, -1))), @@ -164,11 +204,21 @@ (Dwarf, Male): ( offset: (-6.0, -4.5, -6.0), head: ("figure.head.dwarf.male", (0, 3, 0)), - eyes: ("figure.eyes.dwarf.male-0", (2, 10, 2)), + eyes: [ + Some(("figure.eyes.general.male_bushy-0", (2, 10, 2))), + Some(("figure.eyes.general.male_default-0", (2, 10, 2))), + Some(("figure.eyes.general.male_brow_col-0", (2, 10, 2))), + Some(("figure.eyes.general.male_as_hair-0", (2, 10, 2))), + Some(("figure.eyes.general.male_heterochromia-0", (2, 10, 2))), + Some(("figure.eyes.general.male_scar-0", (2, 10, 2))), + Some(("figure.eyes.general.male_blind-0", (2, 10, 2))), + ], hair: [ Some(("figure.hair.dwarf.bald", (0, 3, 1))), Some(("figure.hair.dwarf.male-0", (1, 1, -3))), Some(("figure.hair.dwarf.male-1", (4, 0, 1))), + //Some(("figure.hair.dwarf.male-2", (0, 2, -2))), + Some(("figure.hair.dwarf.male-3", (1, 1, -3))), ], beard: [ Some(("figure.beard.dwarf.dwarf-0", (4, 9, -2))), @@ -206,12 +256,22 @@ (Dwarf, Female): ( offset: (-6.0, -4.5, -6.0), head: ("figure.head.dwarf.female", (0, 3, 0)), - eyes: ("figure.eyes.dwarf.female-0", (1, 10, 2)), + eyes: [ + Some(("figure.eyes.general.female_default-0", (1, 10, 2))), + Some(("figure.eyes.general.female_styled-0", (1, 10, 2))), + Some(("figure.eyes.general.female_as_hair-0", (1, 10, 2))), + Some(("figure.eyes.general.female_heterochromia-0", (1, 10, 2))), + Some(("figure.eyes.general.female_scar-0", (1, 10, 2))), + Some(("figure.eyes.general.female_blind-0", (1, 10, 2))), + ], hair: [ Some(("figure.hair.dwarf.female-0", (-9, -9, -7))), Some(("figure.hair.dwarf.female-1", (-9, -9, -7))), Some(("figure.hair.dwarf.female-2", (-9, -9, -7))), - Some(("figure.hair.dwarf.female-3", (-9, -9, -7))), + Some(("figure.hair.dwarf.female-3", (-9, -9, -7))), + Some(("figure.hair.dwarf.female-4", (-3, -2, -5))), + Some(("figure.hair.dwarf.female-5", (-3, -2, -5))), + Some(("figure.hair.dwarf.female-6", (-3, -2, -5))), ], beard: [None], accessory: [ @@ -227,11 +287,18 @@ (Undead, Male): ( offset: (-5.0, -4.0, -6.75), head: ("figure.head.undead.male", (0, 2, 0)), - eyes: ("figure.eyes.undead.male-0", (2, 8, 4)), + eyes: [ + Some(("figure.eyes.undead.male-0", (2, 8, 4))), + Some(("figure.eyes.undead.male-1", (1, 7, 4))), + Some(("figure.eyes.undead.male-2", (1, 8, 4))), + Some(("figure.eyes.undead.male-3", (1, 8, 4))), + ], hair: [ Some(("figure.hair.dwarf.bald", (-1, 1, 1))), Some(("figure.hair.undead.male-0", (-1, 1, 1))), Some(("figure.hair.undead.male-1", (3, -2, 0))), + Some(("figure.hair.undead.male-2", (-1, 1, 1))), // <- Modify! + Some(("figure.hair.undead.male-3", (-1, 1, 1))), // <- Modify! ], beard: [None], accessory: [ @@ -240,12 +307,18 @@ (Undead, Female): ( offset: (-5.0, -4.0, -6.75), head: ("figure.head.undead.female", (0, 2, 0)), - eyes: ("figure.eyes.undead.female-0", (2, 8, 3)), + eyes: [ + Some(("figure.eyes.undead.female-0", (2, 8, 3))), + Some(("figure.eyes.undead.female-1", (0, 8, 3))), + Some(("figure.eyes.undead.female-2", (0, 8, 3))), + ], hair: [ Some(("figure.hair.undead.female-0", (0, 1, 0))), Some(("figure.hair.undead.female-1", (-2, 0, -1))), Some(("figure.hair.undead.female-2", (2, 1, 1))), Some(("figure.hair.undead.female-3", (0, -3, -0))), + Some(("figure.hair.undead.female-4", (-1, 1, 0))), // <- Modify + Some(("figure.hair.undead.female-5", (-3, 1, 0))), // <- Modify! ], beard: [None], accessory: [ @@ -254,10 +327,20 @@ (Danari, Male): ( offset: (-9.0, -4.0, -7.5), head: ("figure.head.danari.male", (0, 2, 2)), - eyes: ("figure.eyes.danari.male-0", (5, 9, 4)), + eyes: [ + Some(("figure.eyes.general.male_bushy-0", (5, 9, 4))), + Some(("figure.eyes.general.male_default-0", (5, 9, 4))), + Some(("figure.eyes.general.male_brow_col-0", (5, 9, 4))), + Some(("figure.eyes.general.male_as_hair-0", (5, 9, 4))), + Some(("figure.eyes.general.male_heterochromia-0", (5, 9, 4))), + Some(("figure.eyes.general.male_scar-0", (5, 9, 4))), + Some(("figure.eyes.general.male_blind-0", (5, 9, 4))), + ], hair: [ Some(("figure.hair.danari.male-0", (3, 1, 2))), Some(("figure.hair.danari.male-1", (3, 1, 2))), + Some(("figure.hair.danari.male-2", (3, -2, 3))), + Some(("figure.hair.danari.male-3", (-1, -2, 3))), // <- Modify ], beard: [ None, @@ -269,10 +352,19 @@ (Danari, Female): ( offset: (-9.0, -4.0, -7.5), head: ("figure.head.danari.female", (0, 2, 2)), - eyes: ("figure.eyes.danari.female-0", (4, 9, 4)), + eyes: [ + Some(("figure.eyes.general.female_default-0", (4, 9, 4))), + Some(("figure.eyes.general.female_styled-0", (4, 9, 4))), + Some(("figure.eyes.general.female_as_hair-0", (4, 9, 4))), + Some(("figure.eyes.general.female_heterochromia-0", (4, 9, 4))), + Some(("figure.eyes.general.female_scar-0", (4, 9, 4))), + Some(("figure.eyes.general.female_blind-0", (4, 9, 4))), + ], hair: [ Some(("figure.hair.danari.female-0", (3, -4, 1))), Some(("figure.hair.danari.female-1", (1, 1, 3))), + Some(("figure.hair.danari.female-2", (3, 1, 0))), // <- Ears + Some(("figure.hair.danari.female-3", (1, -3, 0))), ], beard: [None], accessory: [ diff --git a/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron b/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron index 3dbd51ec8c..accbe7d266 100644 --- a/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron +++ b/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron @@ -19,7 +19,150 @@ vox_spec: ("weapon.sword.short_2h-0", (-1.5, -6.5, -1.0)), color: None ), - // Axes + Sword(GreatswordDam0): ( + vox_spec: ("weapon.sword.greatsword_2h_dam-0", (-1.0, -4.5, -6.5)), + color: None + ), + Sword(GreatswordDam1): ( + vox_spec: ("weapon.sword.greatsword_2h_dam-1", (-1.0, -4.5, -6.5)), + color: None + ), + Sword(GreatswordDam2): ( + vox_spec: ("weapon.sword.greatsword_2h_dam-2", (-1.0, -4.5, -6.5)), + color: None + ), + Sword(GreatswordSimple0): ( + vox_spec: ("weapon.sword.greatsword_2h_simple-0", (-1.0, -4.5, -6.5)), + color: None + ), + Sword(GreatswordSimple1): ( + vox_spec: ("weapon.sword.greatsword_2h_simple-1", (-1.0, -4.5, -6.5)), + color: None + ), + Sword(GreatswordSimple2): ( + vox_spec: ("weapon.sword.greatsword_2h_simple-2", (-1.0, -4.5, -6.5)), + color: None + ), + Sword(GreatswordOrn0): ( + vox_spec: ("weapon.sword.greatsword_2h_orn-0", (-1.0, -4.5, -7.5)), + color: None + ), + Sword(GreatswordOrn1): ( + vox_spec: ("weapon.sword.greatsword_2h_orn-1", (-1.0, -4.5, -7.5)), + color: None + ), + Sword(GreatswordOrn2): ( + vox_spec: ("weapon.sword.greatsword_2h_orn-2", (-1.0, -4.5, -7.5 )), + color: None + ), + Sword(GreatswordFine0): ( + vox_spec: ("weapon.sword.greatsword_2h_fine-0", (-2.0, -6.5, -8.0)), + color: None + ), + Sword(GreatswordFine1): ( + vox_spec: ("weapon.sword.greatsword_2h_fine-1", (-2.0, -6.5, -8.0)), + color: None + ), + Sword(GreatswordFine2): ( + vox_spec: ("weapon.sword.greatsword_2h_fine-2", (-2.0, -6.5, -8.0)), + color: None + ), + Sword(LongDam0): ( + vox_spec: ("weapon.sword.long_2h_dam-0", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongDam1): ( + vox_spec: ("weapon.sword.long_2h_dam-1", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongDam2): ( + vox_spec: ("weapon.sword.long_2h_dam-2", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongDam3): ( + vox_spec: ("weapon.sword.long_2h_dam-3", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongDam4): ( + vox_spec: ("weapon.sword.long_2h_dam-4", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongDam5): ( + vox_spec: ("weapon.sword.long_2h_dam-5", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongSimple0): ( + vox_spec: ("weapon.sword.long_2h_simple-0", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongSimple1): ( + vox_spec: ("weapon.sword.long_2h_simple-1", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongSimple2): ( + vox_spec: ("weapon.sword.long_2h_simple-2", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongSimple3): ( + vox_spec: ("weapon.sword.long_2h_simple-3", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongSimple4): ( + vox_spec: ("weapon.sword.long_2h_simple-4", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongSimple5): ( + vox_spec: ("weapon.sword.long_2h_simple-5", (-1.0, -3.5, -5.0)), + color: None + ), + Sword(LongOrn0): ( + vox_spec: ("weapon.sword.long_2h_orn-0", (-1.0, -3.5, -6.0)), + color: None + ), + Sword(LongOrn1): ( + vox_spec: ("weapon.sword.long_2h_orn-1", (-1.0, -3.5, -6.0)), + color: None + ), + Sword(LongOrn2): ( + vox_spec: ("weapon.sword.long_2h_orn-2", (-1.0, -3.5, -6.0)), + color: None + ), + Sword(LongOrn3): ( + vox_spec: ("weapon.sword.long_2h_orn-3", (-1.0, -3.5, -6.0)), + color: None + ), + Sword(LongOrn4): ( + vox_spec: ("weapon.sword.long_2h_orn-4", (-1.0, -3.5, -6.0)), + color: None + ), + Sword(LongOrn5): ( + vox_spec: ("weapon.sword.long_2h_orn-5", (-1.0, -3.5, -6.0)), + color: None + ), + Sword(LongFine0): ( + vox_spec: ("weapon.sword.long_2h_fine-0", (-2.0, -4.5, -6.0)), + color: None + ), + Sword(LongFine1): ( + vox_spec: ("weapon.sword.long_2h_fine-1", (-2.0, -4.5, -6.0)), + color: None + ), + Sword(LongFine2): ( + vox_spec: ("weapon.sword.long_2h_fine-2", (-2.0, -4.5, -6.0)), + color: None + ), + Sword(LongFine3): ( + vox_spec: ("weapon.sword.long_2h_fine-3", (-2.0, -4.5, -6.0)), + color: None + ), + Sword(LongFine4): ( + vox_spec: ("weapon.sword.long_2h_fine-4", (-2.0, -4.5, -6.0)), + color: None + ), + Sword(LongFine5): ( + vox_spec: ("weapon.sword.long_2h_fine-5", (-2.0, -4.5, -6.0)), + color: None + ), Axe(BasicAxe): ( vox_spec: ("weapon.axe.rusty_2h", (-1.5, -5.0, -4.0)), color: None @@ -113,13 +256,10 @@ ), // Misc Debug(Boost): ( - vox_spec: ("weapon.debug_wand", (-1.5, -9.5, -4.0)), + vox_spec: ("weapon.tool.broom_belzeshrub_purple", (-3.0, -4.0, -4.0)), color: None - ), - Debug(Possess): ( - vox_spec: ("weapon.debug_wand", (-1.5, -9.5, -4.0)), - color: None - ), + ), + // Misc Empty: ( vox_spec: ("armor.empty", (-3.0, -3.5, 1.0)), color: None diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-0.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-0.vox new file mode 100644 index 0000000000..ab0959656b --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:045c8914c033334b46bf3b359511fb9110889613e18e4704ca8b7a8d38986362 +size 1504 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-1.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-1.vox new file mode 100644 index 0000000000..fd36c41f02 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23d8e0c8da691251f73ec8846badceeb61809ba2f3c7e5bcdc2c1b1c1ce9120b +size 1544 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-2.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-2.vox new file mode 100644 index 0000000000..9f86a4866b --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_dam-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11598d812dfa72a4a221dc9cff867d7c136c80d8eaeaff28360a9ad9d72e8d84 +size 1580 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-0.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-0.vox new file mode 100644 index 0000000000..3ba0a40ca1 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:003d7951f89bc10d0b8e773b0250a0c7362e3e6ebae23e0efb4136d6bd03f267 +size 1600 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-1.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-1.vox new file mode 100644 index 0000000000..d023dc7cbe --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3b825a785d77bc20e7685ec47540e242cbcad9badb811579df4a01c3ea05eeb +size 1640 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-2.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-2.vox new file mode 100644 index 0000000000..42ada8b87d --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_fine-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8edd6b87e943feea13d37606f016a9af2e61b59f32af3ce3bac79f0b3d0a50d0 +size 1680 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-0.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-0.vox new file mode 100644 index 0000000000..de81973089 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b243261f2b1ee155414181543d07252450501ca3b279c89ef2b68cb05c9cfa3 +size 1544 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-1.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-1.vox new file mode 100644 index 0000000000..7b9696f3e8 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3fa9e04bf2ae28efb854e8aadf23a43b8a60092e59b79145594895770a3a7df +size 1584 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-2.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-2.vox new file mode 100644 index 0000000000..d622a3788f --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_orn-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:099019d7a721ede11f09c00aa35235f5c89cfc70b883d7b0d154168b332a2184 +size 1624 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-0.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-0.vox new file mode 100644 index 0000000000..4263b26fa4 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf739eb0e1053dc3ae9d71c2c2b61f15efeb8981681aa684d57dbf73318fd3e6 +size 1528 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-1.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-1.vox new file mode 100644 index 0000000000..81ef6e3f0f --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23b44d97877cb330f2b17840a271056a71de17dccaba312c94eaca135d7a1c5c +size 1568 diff --git a/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-2.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-2.vox new file mode 100644 index 0000000000..31adcc92bd --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/greatsword_2h_simple-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91b3df5f8063f2a172df4661a218649456f2b2c4f2097ec9fc5179fad2e810da +size 1608 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_dam-0.vox b/assets/voxygen/voxel/weapon/sword/long_2h_dam-0.vox new file mode 100644 index 0000000000..943d039f9b --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_dam-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:453bac4ae997df9a39e56e7d022be37fbc2a5f878586c27e1b809e6ed859d83d +size 1348 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_dam-1.vox b/assets/voxygen/voxel/weapon/sword/long_2h_dam-1.vox new file mode 100644 index 0000000000..07e76f6131 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_dam-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa97f7020b5d7fc62d1a09e51b79caa980e114905359570827321e0532b7eaaf +size 1376 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_dam-2.vox b/assets/voxygen/voxel/weapon/sword/long_2h_dam-2.vox new file mode 100644 index 0000000000..f7eb60f339 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_dam-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bd22e30968c32881f5a8b0da216ff693c0acd69d6b3f9924bb3f005f98a0cce +size 1400 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_dam-3.vox b/assets/voxygen/voxel/weapon/sword/long_2h_dam-3.vox new file mode 100644 index 0000000000..f14cf39831 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_dam-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5f08a22a42e8586d6dd21b7c0b239e1d5401511a607e58acf78045256d608a +size 1368 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_dam-4.vox b/assets/voxygen/voxel/weapon/sword/long_2h_dam-4.vox new file mode 100644 index 0000000000..8144b9b465 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_dam-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e7025b9eb3c6beca1c793541ee27941ef4085c5e5175f4e6544c82947eaacb4 +size 1388 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_dam-5.vox b/assets/voxygen/voxel/weapon/sword/long_2h_dam-5.vox new file mode 100644 index 0000000000..010d8bb033 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_dam-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58a37101cd546ed25493969156c7e716534102145f9f895a12c3a8ad4e85a05c +size 1400 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_fine-0.vox b/assets/voxygen/voxel/weapon/sword/long_2h_fine-0.vox new file mode 100644 index 0000000000..e35f357cdd --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_fine-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2d5a92f2887cc79dd03a41fad816273f82e4b5a88fb1c941e42a2325917910d +size 1404 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_fine-1.vox b/assets/voxygen/voxel/weapon/sword/long_2h_fine-1.vox new file mode 100644 index 0000000000..85618d53be --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_fine-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fd0f970126166ffd3f9f9c762777403040de1d2e07e11bb7fed80f4496741d4 +size 1436 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_fine-2.vox b/assets/voxygen/voxel/weapon/sword/long_2h_fine-2.vox new file mode 100644 index 0000000000..0ca1d58d31 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_fine-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52eab2be93d5952fcab375e895088dce340c75dc08abb636fc7ae08c242d9521 +size 1460 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_fine-3.vox b/assets/voxygen/voxel/weapon/sword/long_2h_fine-3.vox new file mode 100644 index 0000000000..f4ddf94fae --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_fine-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30b41201195d03164204f5ff8b4c0cded476417f86fcb3a8d84cfd693634fd5e +size 1448 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_fine-4.vox b/assets/voxygen/voxel/weapon/sword/long_2h_fine-4.vox new file mode 100644 index 0000000000..5f94cc4855 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_fine-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:559cf56e421c8f9b0d82b028d40996b48d0a3ce7aac971a3fdf88d85b4ba40b7 +size 1424 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_fine-5.vox b/assets/voxygen/voxel/weapon/sword/long_2h_fine-5.vox new file mode 100644 index 0000000000..5cc1a481e6 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_fine-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d976afa9a8d30d6d03a46d42cd65f33fbc3a26117bfa8921c0c61229ee64edfb +size 1460 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_orn-0.vox b/assets/voxygen/voxel/weapon/sword/long_2h_orn-0.vox new file mode 100644 index 0000000000..54b8922541 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_orn-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e398cbd51e5927d6c25b41ec7e2e4eb00ba605762cad36e2afb1219aeed78a15 +size 1372 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_orn-1.vox b/assets/voxygen/voxel/weapon/sword/long_2h_orn-1.vox new file mode 100644 index 0000000000..b73e362524 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_orn-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7172b3603c3236753e859c3ecf41d7cb5eac9111e3ca588c5b13cb0b16bee59 +size 1404 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_orn-2.vox b/assets/voxygen/voxel/weapon/sword/long_2h_orn-2.vox new file mode 100644 index 0000000000..49c74dbe9b --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_orn-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f328f79285258e7e470d22cc4967c34804c33bb1008079d7b79efa001f736464 +size 1428 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_orn-3.vox b/assets/voxygen/voxel/weapon/sword/long_2h_orn-3.vox new file mode 100644 index 0000000000..c0c18ae1f6 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_orn-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cecca5f753cf3aca9008f3df2ce2d8f64e5fc7db16c2313c7e88eb11f146088a +size 1416 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_orn-4.vox b/assets/voxygen/voxel/weapon/sword/long_2h_orn-4.vox new file mode 100644 index 0000000000..fdf257e02b --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_orn-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f76557b513db6b5518b5ba71c38fb40f997a6a4fd0dbc85f9a9d78c071f0ae3c +size 1392 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_orn-5.vox b/assets/voxygen/voxel/weapon/sword/long_2h_orn-5.vox new file mode 100644 index 0000000000..5494f981ec --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_orn-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49624957037f66235d1f3d3d73ea4df3fd4f0e2c7341ee56eafe9b28684230ea +size 1428 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_simple-0.vox b/assets/voxygen/voxel/weapon/sword/long_2h_simple-0.vox new file mode 100644 index 0000000000..5b65f9dcb9 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_simple-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0f06642cbbd6ec66ac7c38e8ad398af03a0acb3b2b872a207bb5e6797333659 +size 1360 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_simple-1.vox b/assets/voxygen/voxel/weapon/sword/long_2h_simple-1.vox new file mode 100644 index 0000000000..64e6d00347 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_simple-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2c8e0874f467aacf17306199b531c1872e1c137dd715635be0b3c49f40d6933 +size 1392 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_simple-2.vox b/assets/voxygen/voxel/weapon/sword/long_2h_simple-2.vox new file mode 100644 index 0000000000..7f157dca55 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_simple-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea9612e8cbd29a8d659c1a7ba9a63388a8a698072c0b06d54492ca8e971346ad +size 1416 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_simple-3.vox b/assets/voxygen/voxel/weapon/sword/long_2h_simple-3.vox new file mode 100644 index 0000000000..7a71bcd575 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_simple-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af7c1b07d98053249631c94ea80efeafc662cfcd264b4bea79cd5852bbae6e41 +size 1404 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_simple-4.vox b/assets/voxygen/voxel/weapon/sword/long_2h_simple-4.vox new file mode 100644 index 0000000000..0e8633c32c --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_simple-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4886876e2d7eb20f180d96200f675c4c7a17da7e5014ca7aab01a1da9e8f37e2 +size 1380 diff --git a/assets/voxygen/voxel/weapon/sword/long_2h_simple-5.vox b/assets/voxygen/voxel/weapon/sword/long_2h_simple-5.vox new file mode 100644 index 0000000000..98a84c74bb --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/long_2h_simple-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fe23c4cb5cf373609b1c70e7e08c51173f0cae00aea789fe647a3a467a2b412 +size 1416 diff --git a/assets/voxygen/voxel/weapon/tool/broom-belzeshrub.vox b/assets/voxygen/voxel/weapon/tool/broom-belzeshrub.vox new file mode 100644 index 0000000000..3718a9c65c --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/broom-belzeshrub.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06d5141379536d5284f925c5dc2d3fee463cdd6f4a2d7c883883774eaae23daf +size 2016 diff --git a/assets/voxygen/voxel/weapon/tool/broom_belzeshrub_green.vox b/assets/voxygen/voxel/weapon/tool/broom_belzeshrub_green.vox new file mode 100644 index 0000000000..eca837af8c --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/broom_belzeshrub_green.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7dbb792cfa37490c572044c43875b14ac0afb14a4ef14776e7ea4aa0d525b38 +size 2016 diff --git a/assets/voxygen/voxel/weapon/tool/broom_belzeshrub_purple.vox b/assets/voxygen/voxel/weapon/tool/broom_belzeshrub_purple.vox new file mode 100644 index 0000000000..9343bbe0cf --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/broom_belzeshrub_purple.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79883d530053b75857cf50737ca45dbc4ed1931ecc23d0437ee2b64f52b4a49a +size 2016 diff --git a/assets/world/manifests/quirky.ron b/assets/world/manifests/quirky.ron index 762845cdfb..89bfda777e 100644 --- a/assets/world/manifests/quirky.ron +++ b/assets/world/manifests/quirky.ron @@ -4,5 +4,9 @@ specifier: "world.structure.natural.witch-hut", center: (10, 13, 9) ), + ( + specifier: "world.structure.natural.tree-house", + center: (20, 15, 10) + ), ] ) diff --git a/assets/world/structure/natural/tree-house.vox b/assets/world/structure/natural/tree-house.vox new file mode 100644 index 0000000000..b40d782e0b --- /dev/null +++ b/assets/world/structure/natural/tree-house.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0ab1dd6743173738e4f0e1be34848c3cbe0e9eb1f551e21e700b795fc68fc40 +size 55316 diff --git a/common/src/comp/body/humanoid.rs b/common/src/comp/body/humanoid.rs index 73eed323cd..d5105f250e 100644 --- a/common/src/comp/body/humanoid.rs +++ b/common/src/comp/body/humanoid.rs @@ -3,11 +3,11 @@ use vek::Rgb; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub struct Body { - pub race: Race, + pub species: Species, pub body_type: BodyType, pub hair_style: u8, pub beard: u8, - pub eyebrows: u8, + pub eyes: u8, pub accessory: u8, pub hair_color: u8, pub skin: u8, @@ -17,37 +17,39 @@ pub struct Body { impl Body { pub fn random() -> Self { let mut rng = thread_rng(); - let race = *(&ALL_RACES).choose(&mut rng).unwrap(); - Self::random_with(&mut rng, &race) + let species = *(&ALL_SPECIES).choose(&mut rng).unwrap(); + Self::random_with(&mut rng, &species) } #[inline] - pub fn random_with(rng: &mut impl Rng, &race: &Race) -> Self { + pub fn random_with(rng: &mut impl Rng, &species: &Species) -> Self { let body_type = *(&ALL_BODY_TYPES).choose(rng).unwrap(); Self { - race, + species, body_type, - hair_style: rng.gen_range(0, race.num_hair_styles(body_type)), - beard: rng.gen_range(0, race.num_beards(body_type)), - eyebrows: rng.gen_range(0, race.num_eyebrows(body_type)), - accessory: rng.gen_range(0, race.num_accessories(body_type)), - hair_color: rng.gen_range(0, race.num_hair_colors()) as u8, - skin: rng.gen_range(0, race.num_skin_colors()) as u8, - eye_color: rng.gen_range(0, race.num_eye_colors()) as u8, + hair_style: rng.gen_range(0, species.num_hair_styles(body_type)), + beard: rng.gen_range(0, species.num_beards(body_type)), + accessory: rng.gen_range(0, species.num_accessories(body_type)), + hair_color: rng.gen_range(0, species.num_hair_colors()) as u8, + skin: rng.gen_range(0, species.num_skin_colors()) as u8, + eye_color: rng.gen_range(0, species.num_eye_colors()) as u8, + eyes: rng.gen_range(0, 1), /* TODO Add a way to set specific head-segments for NPCs + * with the default being a random one */ } } pub fn validate(&mut self) { self.hair_style = self .hair_style - .min(self.race.num_hair_styles(self.body_type) - 1); - self.beard = self.beard.min(self.race.num_beards(self.body_type) - 1); - self.hair_color = self.hair_color.min(self.race.num_hair_colors() - 1); - self.skin = self.skin.min(self.race.num_skin_colors() - 1); - self.eye_color = self.hair_style.min(self.race.num_eye_colors() - 1); + .min(self.species.num_hair_styles(self.body_type) - 1); + self.beard = self.beard.min(self.species.num_beards(self.body_type) - 1); + self.hair_color = self.hair_color.min(self.species.num_hair_colors() - 1); + self.skin = self.skin.min(self.species.num_skin_colors() - 1); + self.eyes = self.eyes.min(self.species.num_eyes(self.body_type) - 1); + self.eye_color = self.hair_style.min(self.species.num_eye_colors() - 1); self.accessory = self .accessory - .min(self.race.num_accessories(self.body_type) - 1); + .min(self.species.num_accessories(self.body_type) - 1); } } @@ -57,7 +59,7 @@ impl From for super::Body { #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] #[repr(u32)] -pub enum Race { +pub enum Species { Danari = 0, Dwarf = 1, Elf = 2, @@ -79,36 +81,36 @@ pub struct AllSpecies { pub undead: SpeciesMeta, } -impl<'a, SpeciesMeta> core::ops::Index<&'a Race> for AllSpecies { +impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { type Output = SpeciesMeta; #[inline] - fn index(&self, &index: &'a Race) -> &Self::Output { + fn index(&self, &index: &'a Species) -> &Self::Output { match index { - Race::Danari => &self.danari, - Race::Dwarf => &self.dwarf, - Race::Elf => &self.elf, - Race::Human => &self.human, - Race::Orc => &self.orc, - Race::Undead => &self.undead, + Species::Danari => &self.danari, + Species::Dwarf => &self.dwarf, + Species::Elf => &self.elf, + Species::Human => &self.human, + Species::Orc => &self.orc, + Species::Undead => &self.undead, } } } -pub const ALL_RACES: [Race; 6] = [ - Race::Danari, - Race::Dwarf, - Race::Elf, - Race::Human, - Race::Orc, - Race::Undead, +pub const ALL_SPECIES: [Species; 6] = [ + Species::Danari, + Species::Dwarf, + Species::Elf, + Species::Human, + Species::Orc, + Species::Undead, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { type IntoIter = std::iter::Copied>; - type Item = Race; + type Item = Species; - fn into_iter(self) -> Self::IntoIter { ALL_RACES.iter().copied() } + fn into_iter(self) -> Self::IntoIter { ALL_SPECIES.iter().copied() } } // Hair Colors @@ -348,37 +350,37 @@ pub const UNDEAD_EYE_COLORS: [EyeColor; 5] = [ EyeColor::ToxicGreen, ]; -impl Race { +impl Species { fn hair_colors(self) -> &'static [(u8, u8, u8)] { match self { - Race::Danari => &DANARI_HAIR_COLORS, - Race::Dwarf => &DWARF_HAIR_COLORS, - Race::Elf => &ELF_HAIR_COLORS, - Race::Human => &HUMAN_HAIR_COLORS, - Race::Orc => &ORC_HAIR_COLORS, - Race::Undead => &UNDEAD_HAIR_COLORS, + Species::Danari => &DANARI_HAIR_COLORS, + Species::Dwarf => &DWARF_HAIR_COLORS, + Species::Elf => &ELF_HAIR_COLORS, + Species::Human => &HUMAN_HAIR_COLORS, + Species::Orc => &ORC_HAIR_COLORS, + Species::Undead => &UNDEAD_HAIR_COLORS, } } fn skin_colors(self) -> &'static [Skin] { match self { - Race::Danari => &DANARI_SKIN_COLORS, - Race::Dwarf => &DWARF_SKIN_COLORS, - Race::Elf => &ELF_SKIN_COLORS, - Race::Human => &HUMAN_SKIN_COLORS, - Race::Orc => &ORC_SKIN_COLORS, - Race::Undead => &UNDEAD_SKIN_COLORS, + Species::Danari => &DANARI_SKIN_COLORS, + Species::Dwarf => &DWARF_SKIN_COLORS, + Species::Elf => &ELF_SKIN_COLORS, + Species::Human => &HUMAN_SKIN_COLORS, + Species::Orc => &ORC_SKIN_COLORS, + Species::Undead => &UNDEAD_SKIN_COLORS, } } fn eye_colors(self) -> &'static [EyeColor] { match self { - Race::Danari => &DANARI_EYE_COLORS, - Race::Dwarf => &DWARF_EYE_COLORS, - Race::Elf => &ELF_EYE_COLORS, - Race::Human => &HUMAN_EYE_COLORS, - Race::Orc => &ORC_EYE_COLORS, - Race::Undead => &UNDEAD_EYE_COLORS, + Species::Danari => &DANARI_EYE_COLORS, + Species::Dwarf => &DWARF_EYE_COLORS, + Species::Elf => &ELF_EYE_COLORS, + Species::Human => &HUMAN_EYE_COLORS, + Species::Orc => &ORC_EYE_COLORS, + Species::Undead => &UNDEAD_EYE_COLORS, } } @@ -412,54 +414,71 @@ impl Race { pub fn num_hair_styles(self, body_type: BodyType) -> u8 { match (self, body_type) { - (Race::Danari, BodyType::Female) => 2, - (Race::Danari, BodyType::Male) => 2, - (Race::Dwarf, BodyType::Female) => 4, - (Race::Dwarf, BodyType::Male) => 3, - (Race::Elf, BodyType::Female) => 21, - (Race::Elf, BodyType::Male) => 4, - (Race::Human, BodyType::Female) => 19, - (Race::Human, BodyType::Male) => 17, - (Race::Orc, BodyType::Female) => 7, - (Race::Orc, BodyType::Male) => 8, - (Race::Undead, BodyType::Female) => 4, - (Race::Undead, BodyType::Male) => 3, + (Species::Danari, BodyType::Female) => 4, + (Species::Danari, BodyType::Male) => 4, + (Species::Dwarf, BodyType::Female) => 7, + (Species::Dwarf, BodyType::Male) => 4, + (Species::Elf, BodyType::Female) => 21, + (Species::Elf, BodyType::Male) => 4, + (Species::Human, BodyType::Female) => 19, + (Species::Human, BodyType::Male) => 17, + (Species::Orc, BodyType::Female) => 7, + (Species::Orc, BodyType::Male) => 8, + (Species::Undead, BodyType::Female) => 6, + (Species::Undead, BodyType::Male) => 5, } } pub fn num_accessories(self, body_type: BodyType) -> u8 { match (self, body_type) { - (Race::Danari, BodyType::Female) => 1, - (Race::Danari, BodyType::Male) => 1, - (Race::Dwarf, BodyType::Female) => 7, - (Race::Dwarf, BodyType::Male) => 7, - (Race::Elf, BodyType::Female) => 2, - (Race::Elf, BodyType::Male) => 1, - (Race::Human, BodyType::Female) => 1, - (Race::Human, BodyType::Male) => 1, - (Race::Orc, BodyType::Female) => 4, - (Race::Orc, BodyType::Male) => 5, - (Race::Undead, BodyType::Female) => 1, - (Race::Undead, BodyType::Male) => 1, + (Species::Danari, BodyType::Female) => 1, + (Species::Danari, BodyType::Male) => 1, + (Species::Dwarf, BodyType::Female) => 7, + (Species::Dwarf, BodyType::Male) => 7, + (Species::Elf, BodyType::Female) => 2, + (Species::Elf, BodyType::Male) => 1, + (Species::Human, BodyType::Female) => 1, + (Species::Human, BodyType::Male) => 1, + (Species::Orc, BodyType::Female) => 4, + (Species::Orc, BodyType::Male) => 5, + (Species::Undead, BodyType::Female) => 1, + (Species::Undead, BodyType::Male) => 1, } } pub fn num_eyebrows(self, _body_type: BodyType) -> u8 { 1 } + pub fn num_eyes(self, body_type: BodyType) -> u8 { + match (self, body_type) { + (Species::Danari, BodyType::Female) => 6, + (Species::Danari, BodyType::Male) => 7, + (Species::Dwarf, BodyType::Female) => 6, + (Species::Dwarf, BodyType::Male) => 7, + (Species::Elf, BodyType::Female) => 6, + (Species::Elf, BodyType::Male) => 7, + (Species::Human, BodyType::Female) => 6, + (Species::Human, BodyType::Male) => 5, + (Species::Orc, BodyType::Female) => 6, + (Species::Orc, BodyType::Male) => 2, + (Species::Undead, BodyType::Female) => 3, + (Species::Undead, BodyType::Male) => 4, + } + } + pub fn num_beards(self, body_type: BodyType) -> u8 { match (self, body_type) { - (Race::Danari, BodyType::Female) => 1, - (Race::Danari, BodyType::Male) => 2, - (Race::Dwarf, BodyType::Female) => 1, - (Race::Dwarf, BodyType::Male) => 20, - (Race::Elf, BodyType::Female) => 1, - (Race::Elf, BodyType::Male) => 1, - (Race::Human, BodyType::Female) => 1, - (Race::Human, BodyType::Male) => 4, - (Race::Orc, BodyType::Female) => 1, - (Race::Orc, BodyType::Male) => 3, - (Race::Undead, BodyType::Female) => 1, - (Race::Undead, BodyType::Male) => 1, + (Species::Danari, BodyType::Female) => 1, + (Species::Danari, BodyType::Male) => 2, + (Species::Dwarf, BodyType::Female) => 1, + (Species::Dwarf, BodyType::Male) => 20, + (Species::Elf, BodyType::Female) => 1, + (Species::Elf, BodyType::Male) => 1, + (Species::Human, BodyType::Female) => 1, + (Species::Human, BodyType::Male) => 4, + (Species::Orc, BodyType::Female) => 1, + (Species::Orc, BodyType::Male) => 3, + (Species::Undead, BodyType::Female) => 1, + (Species::Undead, BodyType::Male) => 1, } } } @@ -472,13 +491,6 @@ pub enum BodyType { } pub const ALL_BODY_TYPES: [BodyType; 2] = [BodyType::Female, BodyType::Male]; -#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] -#[repr(u32)] -pub enum Eyebrows { - Yup = 0, -} -pub const ALL_EYEBROWS: [Eyebrows; 1] = [Eyebrows::Yup]; - #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] #[repr(u32)] pub enum EyeColor { diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index f95eb2b2b7..abefd6c13d 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -156,6 +156,9 @@ impl Item { BlockKind::Apple => Some(assets::load_expect_cloned("common.items.apple")), BlockKind::Mushroom => Some(assets::load_expect_cloned("common.items.mushroom")), BlockKind::Velorite => Some(assets::load_expect_cloned("common.items.velorite")), + BlockKind::VeloriteFrag => { + Some(assets::load_expect_cloned("common.items.veloritefrag")) + }, BlockKind::BlueFlower => Some(assets::load_expect_cloned("common.items.flowers.blue")), BlockKind::PinkFlower => Some(assets::load_expect_cloned("common.items.flowers.pink")), BlockKind::PurpleFlower => { diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index e5dd230343..c9423ebc9d 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -14,6 +14,42 @@ pub enum SwordKind { Zweihander0, WoodTraining, Short0, + GreatswordDam0, + GreatswordDam1, + GreatswordDam2, + GreatswordSimple0, + GreatswordSimple1, + GreatswordSimple2, + GreatswordOrn0, + GreatswordOrn1, + GreatswordOrn2, + GreatswordFine0, + GreatswordFine1, + GreatswordFine2, + LongDam0, + LongDam1, + LongDam2, + LongDam3, + LongDam4, + LongDam5, + LongSimple0, + LongSimple1, + LongSimple2, + LongSimple3, + LongSimple4, + LongSimple5, + LongOrn0, + LongOrn1, + LongOrn2, + LongOrn3, + LongOrn4, + LongOrn5, + LongFine0, + LongFine1, + LongFine2, + LongFine3, + LongFine4, + LongFine5, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum AxeKind { @@ -61,7 +97,6 @@ pub enum FarmKind { #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum DebugKind { Boost, - Possess, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] @@ -98,7 +133,7 @@ impl Tool { pub fn get_abilities(&self) -> Vec { use CharacterAbility::*; - use DebugKind::*; + //use DebugKind::*; use ToolKind::*; match self.kind { @@ -178,23 +213,23 @@ impl Tool { Staff(StaffKind::BasicStaff) => vec![ BasicMelee { energy_cost: 0, - buildup_duration: Duration::from_millis(0), + buildup_duration: Duration::from_millis(100), recover_duration: Duration::from_millis(300), - base_healthchange: -1, + base_healthchange: -3, range: 10.0, max_angle: 45.0, }, BasicRanged { energy_cost: 0, holdable: false, - prepare_duration: Duration::from_millis(0), + prepare_duration: Duration::from_millis(250), recover_duration: Duration::from_millis(200), projectile: Projectile { hit_solid: vec![projectile::Effect::Vanish], hit_entity: vec![ projectile::Effect::Damage(HealthChange { // TODO: This should not be fixed (?) - amount: -1, + amount: -2, cause: HealthSource::Projectile { owner: None }, }), projectile::Effect::RewardEnergy(100), @@ -266,22 +301,28 @@ impl Tool { duration: Duration::from_millis(50), only_up: true, }, - ], - Possess => vec![BasicRanged { - energy_cost: 0, - holdable: false, - prepare_duration: Duration::from_millis(0), - recover_duration: Duration::from_millis(300), - projectile: Projectile { - hit_solid: vec![projectile::Effect::Stick], - hit_entity: vec![projectile::Effect::Stick, projectile::Effect::Possess], - time_left: Duration::from_secs(10), - owner: None, + BasicRanged { + energy_cost: 0, + holdable: false, + prepare_duration: Duration::from_millis(0), + recover_duration: Duration::from_millis(10), + projectile: Projectile { + hit_solid: vec![projectile::Effect::Stick], + hit_entity: vec![ + projectile::Effect::Stick, + projectile::Effect::Possess, + ], + time_left: Duration::from_secs(10), + owner: None, + }, + projectile_body: Body::Object(object::Body::ArrowSnake), + projectile_light: Some(LightEmitter { + col: (0.0, 1.0, 0.33).into(), + ..Default::default() + }), + projectile_gravity: None, }, - projectile_body: Body::Object(object::Body::ArrowSnake), - projectile_light: None, - projectile_gravity: None, - }], + ], }, Empty => vec![BasicMelee { energy_cost: 0, diff --git a/common/src/comp/stats.rs b/common/src/comp/stats.rs index 628cb8d80c..9e0db53320 100644 --- a/common/src/comp/stats.rs +++ b/common/src/comp/stats.rs @@ -1,6 +1,6 @@ use crate::{ comp, - comp::{body::humanoid::Race, Body}, + comp::{body::humanoid::Species, Body}, sync::Uid, }; use specs::{Component, FlaggedStorage}; @@ -143,19 +143,22 @@ impl Stats { impl Stats { pub fn new(name: String, body: Body) -> Self { - let race = if let comp::Body::Humanoid(hbody) = body { - Some(hbody.race) + let species = if let comp::Body::Humanoid(hbody) = body { + Some(hbody.species) } else { None }; - let (endurance, fitness, willpower) = match race { - Some(Race::Danari) => (0, 2, 3), // Small, flexible, intelligent, physically weak - Some(Race::Dwarf) => (2, 2, 1), // phyiscally strong, intelligent, slow reflexes - Some(Race::Elf) => (1, 2, 2), // Intelligent, quick, physically weak - Some(Race::Human) => (2, 1, 2), // Perfectly balanced - Some(Race::Orc) => (3, 2, 0), // Physically strong, non intelligent, medium reflexes - Some(Race::Undead) => (1, 3, 1), // Very good reflexes, equally intelligent and strong + // TODO: define base stats somewhere else (maybe method on Body?) + let (endurance, fitness, willpower) = match species { + Some(Species::Danari) => (0, 2, 3), // Small, flexible, intelligent, physically weak + Some(Species::Dwarf) => (2, 2, 1), // phyiscally strong, intelligent, slow reflexes + Some(Species::Elf) => (1, 2, 2), // Intelligent, quick, physically weak + Some(Species::Human) => (2, 1, 2), // Perfectly balanced + Some(Species::Orc) => (3, 2, 0), /* Physically strong, non intelligent, medium */ + // reflexes + Some(Species::Undead) => (1, 3, 1), /* Very good reflexes, equally intelligent and */ + // strong None => (0, 0, 0), }; diff --git a/common/src/generation.rs b/common/src/generation.rs index b7058cd8c4..2a85e12b8f 100644 --- a/common/src/generation.rs +++ b/common/src/generation.rs @@ -91,7 +91,7 @@ impl EntityInfo { pub fn with_automatic_name(mut self) -> Self { self.name = match &self.body { - Body::Humanoid(body) => Some(get_npc_name(&NPC_NAMES.humanoid, body.race)), + Body::Humanoid(body) => Some(get_npc_name(&NPC_NAMES.humanoid, body.species)), Body::QuadrupedMedium(body) => { Some(get_npc_name(&NPC_NAMES.quadruped_medium, body.species)) }, diff --git a/server/src/migrations/2020-05-24-235534_race_species/down.sql b/server/src/migrations/2020-05-24-235534_race_species/down.sql new file mode 100644 index 0000000000..e9ea64bab0 --- /dev/null +++ b/server/src/migrations/2020-05-24-235534_race_species/down.sql @@ -0,0 +1,46 @@ +-- SQLITE v < 3.25 does not support renaming columns. +ALTER TABLE + body RENAME TO body_tmp; + +CREATE TABLE IF NOT EXISTS body ( + character_id INT NOT NULL PRIMARY KEY, + race SMALLINT NOT NULL, + body_type SMALLINT NOT NULL, + hair_style SMALLINT NOT NULL, + beard SMALLINT NOT NULL, + eyebrows SMALLINT NOT NULL, + accessory SMALLINT NOT NULL, + hair_color SMALLINT NOT NULL, + skin SMALLINT NOT NULL, + eye_color SMALLINT NOT NULL, + FOREIGN KEY(character_id) REFERENCES "character"(id) ON DELETE CASCADE +); + +INSERT INTO + body( + character_id, + race, + body_type, + hair_style, + beard, + eyebrows, + accessory, + hair_color, + skin, + eye_color + ) +SELECT + character_id, + species, + body_type, + hair_style, + beard, + eyes, + accessory, + hair_color, + skin, + eye_color +FROM + body_tmp; + +DROP TABLE body_tmp; \ No newline at end of file diff --git a/server/src/migrations/2020-05-24-235534_race_species/up.sql b/server/src/migrations/2020-05-24-235534_race_species/up.sql new file mode 100644 index 0000000000..6c495f616b --- /dev/null +++ b/server/src/migrations/2020-05-24-235534_race_species/up.sql @@ -0,0 +1,46 @@ +-- SQLITE v < 3.25 does not support renaming columns. +ALTER TABLE + body RENAME TO body_tmp; + +CREATE TABLE IF NOT EXISTS body ( + character_id INT NOT NULL PRIMARY KEY, + species SMALLINT NOT NULL, + body_type SMALLINT NOT NULL, + hair_style SMALLINT NOT NULL, + beard SMALLINT NOT NULL, + eyes SMALLINT NOT NULL, + accessory SMALLINT NOT NULL, + hair_color SMALLINT NOT NULL, + skin SMALLINT NOT NULL, + eye_color SMALLINT NOT NULL, + FOREIGN KEY(character_id) REFERENCES "character"(id) ON DELETE CASCADE +); + +INSERT INTO + body( + character_id, + species, + body_type, + hair_style, + beard, + eyes, + accessory, + hair_color, + skin, + eye_color + ) +SELECT + character_id, + race, + body_type, + hair_style, + beard, + eyebrows, + accessory, + hair_color, + skin, + eye_color +FROM + body_tmp; + +DROP TABLE body_tmp; \ No newline at end of file diff --git a/server/src/persistence/character.rs b/server/src/persistence/character.rs index b1b7159601..839e46a698 100644 --- a/server/src/persistence/character.rs +++ b/server/src/persistence/character.rs @@ -100,11 +100,11 @@ pub fn create_character( let new_body = Body { character_id: inserted_character.id as i32, - race: body_data.race as i16, + species: body_data.species as i16, body_type: body_data.body_type as i16, hair_style: body_data.hair_style as i16, beard: body_data.beard as i16, - eyebrows: body_data.eyebrows as i16, + eyes: body_data.eyes as i16, accessory: body_data.accessory as i16, hair_color: body_data.hair_color as i16, skin: body_data.skin as i16, diff --git a/server/src/persistence/models.rs b/server/src/persistence/models.rs index 74ff72d796..2fbe165290 100644 --- a/server/src/persistence/models.rs +++ b/server/src/persistence/models.rs @@ -44,11 +44,11 @@ impl From<&Character> for CharacterData { #[table_name = "body"] pub struct Body { pub character_id: i32, - pub race: i16, + pub species: i16, pub body_type: i16, pub hair_style: i16, pub beard: i16, - pub eyebrows: i16, + pub eyes: i16, pub accessory: i16, pub hair_color: i16, pub skin: i16, @@ -58,11 +58,11 @@ pub struct Body { impl From<&Body> for comp::Body { fn from(body: &Body) -> comp::Body { comp::Body::Humanoid(comp::humanoid::Body { - race: comp::humanoid::ALL_RACES[body.race as usize], + species: comp::humanoid::ALL_SPECIES[body.species as usize], body_type: comp::humanoid::ALL_BODY_TYPES[body.body_type as usize], hair_style: body.hair_style as u8, beard: body.beard as u8, - eyebrows: body.eyebrows as u8, + eyes: body.eyes as u8, accessory: body.accessory as u8, hair_color: body.hair_color as u8, skin: body.skin as u8, @@ -166,11 +166,11 @@ mod tests { alias: "test", body: &comp::Body::from(&Body { character_id: 0, - race: 0, + species: 0, body_type: comp::humanoid::BodyType::Female as i16, hair_style: 0, beard: 0, - eyebrows: 0, + eyes: 0, accessory: 0, hair_color: 0, skin: 0, diff --git a/server/src/persistence/schema.rs b/server/src/persistence/schema.rs index 6b3528d970..b692588675 100644 --- a/server/src/persistence/schema.rs +++ b/server/src/persistence/schema.rs @@ -1,11 +1,11 @@ table! { body (character_id) { character_id -> Integer, - race -> SmallInt, + species -> SmallInt, body_type -> SmallInt, hair_style -> SmallInt, beard -> SmallInt, - eyebrows -> SmallInt, + eyes -> SmallInt, accessory -> SmallInt, hair_color -> SmallInt, skin -> SmallInt, diff --git a/server/src/sys/terrain.rs b/server/src/sys/terrain.rs index 70268cf7dc..e0bfc7d43b 100644 --- a/server/src/sys/terrain.rs +++ b/server/src/sys/terrain.rs @@ -269,7 +269,7 @@ impl<'a> System<'a> for Sys { format!( "{} Giant {}", adjective, - get_npc_name(&NPC_NAMES.humanoid, body_new.race) + get_npc_name(&NPC_NAMES.humanoid, body_new.species) ), body, ); diff --git a/voxygen/src/anim/character/mod.rs b/voxygen/src/anim/character/mod.rs index 578e98f957..9f13a3e3f2 100644 --- a/voxygen/src/anim/character/mod.rs +++ b/voxygen/src/anim/character/mod.rs @@ -183,8 +183,8 @@ impl<'a> std::convert::TryFrom<&'a comp::Body> for SkeletonAttr { impl SkeletonAttr { pub fn calculate_scale(body: &comp::humanoid::Body) -> f32 { - use comp::humanoid::{BodyType::*, Race::*}; - match (body.race, body.body_type) { + use comp::humanoid::{BodyType::*, Species::*}; + match (body.species, body.body_type) { (Orc, Male) => 1.14, (Orc, Female) => 1.02, (Human, Male) => 1.02, @@ -203,10 +203,10 @@ impl SkeletonAttr { impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { fn from(body: &'a comp::humanoid::Body) -> Self { - use comp::humanoid::{BodyType::*, Race::*}; + use comp::humanoid::{BodyType::*, Species::*}; Self { scaler: SkeletonAttr::calculate_scale(body), - head_scale: match (body.race, body.body_type) { + head_scale: match (body.species, body.body_type) { (Orc, Male) => 0.9, (Orc, Female) => 1.0, (Human, Male) => 0.9, @@ -220,7 +220,7 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { (Danari, Male) => 1.15, (Danari, Female) => 1.15, }, - head: match (body.race, body.body_type) { + head: match (body.species, body.body_type) { (Orc, Male) => (0.0, 13.5), (Orc, Female) => (0.0, 13.0), (Human, Male) => (0.3, 13.0), @@ -234,28 +234,28 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { (Danari, Male) => (0.5, 12.5), (Danari, Female) => (0.5, 13.5), }, - chest: match (body.race, body.body_type) { + chest: match (body.species, body.body_type) { (_, _) => (0.0, 7.0), }, - belt: match (body.race, body.body_type) { + belt: match (body.species, body.body_type) { (_, _) => (0.0, -2.0), }, - back: match (body.race, body.body_type) { + back: match (body.species, body.body_type) { (_, _) => (-3.1, 7.25), }, - shorts: match (body.race, body.body_type) { + shorts: match (body.species, body.body_type) { (_, _) => (0.0, -5.0), }, - hand: match (body.race, body.body_type) { + hand: match (body.species, body.body_type) { (_, _) => (7.0, -0.25, 0.5), }, - foot: match (body.race, body.body_type) { + foot: match (body.species, body.body_type) { (_, _) => (3.4, 0.5, 1.0), }, - shoulder: match (body.race, body.body_type) { + shoulder: match (body.species, body.body_type) { (_, _) => (5.0, 0.0, 5.0), }, - lantern: match (body.race, body.body_type) { + lantern: match (body.species, body.body_type) { (_, _) => (5.0, 2.5, 5.5), }, } diff --git a/voxygen/src/hud/hotbar.rs b/voxygen/src/hud/hotbar.rs index e9958f5d66..fe5a2f3696 100644 --- a/voxygen/src/hud/hotbar.rs +++ b/voxygen/src/hud/hotbar.rs @@ -63,7 +63,7 @@ impl State { .map(|i| &i.item.kind) .filter(|kind| { use common::comp::item::{ - tool::{StaffKind, Tool, ToolKind}, + tool::{DebugKind, StaffKind, Tool, ToolKind}, ItemKind, }; matches!( @@ -71,6 +71,9 @@ impl State { ItemKind::Tool(Tool { kind: ToolKind::Staff(StaffKind::BasicStaff), .. + }) | ItemKind::Tool(Tool { + kind: ToolKind::Debug(DebugKind::Boost), + .. }) ) }) diff --git a/voxygen/src/hud/img_ids.rs b/voxygen/src/hud/img_ids.rs index 9417722fe4..c75bfa72cc 100644 --- a/voxygen/src/hud/img_ids.rs +++ b/voxygen/src/hud/img_ids.rs @@ -241,6 +241,7 @@ image_ids! { // Icons fire_spell_1: "voxygen.element.icons.fire_spell_0", + snake_arrow_0: "voxygen.element.icons.snake", heal_0: "voxygen.element.icons.heal_0", // Buttons diff --git a/voxygen/src/hud/skillbar.rs b/voxygen/src/hud/skillbar.rs index df9667409b..9c403286b9 100644 --- a/voxygen/src/hud/skillbar.rs +++ b/voxygen/src/hud/skillbar.rs @@ -790,13 +790,29 @@ impl<'a> Widget for Skillbar<'a> { .1 .get(i) .map(|item| (item.name(), item.description())), - hotbar::SlotContents::Ability3 => Some(( - "Firebomb", - "\nWhirls a big fireball into the air. \nExplodes the ground and does\na \ - big amount of damage", - )), + hotbar::SlotContents::Ability3 => content_source + .2 + .active_item + .as_ref() + .map(|i| &i.item.kind) + .and_then(|kind| match kind { + ItemKind::Tool(Tool { kind, .. }) => match kind { + ToolKind::Staff(_) => Some(( + "Firebomb", + "\nWhirls a big fireball into the air. \nExplodes the ground \ + and does\na big amount of damage", + )), + ToolKind::Debug(DebugKind::Boost) => Some(( + "Possessing Arrow", + "\nShoots a poisonous arrow.\nLets you control your target.", + )), + _ => None, + }, + _ => None, + }), }) }; + const SLOT_TOOLTIP_UPSHIFT: f64 = 70.0; //Slot 5 let slot = slot_maker diff --git a/voxygen/src/hud/slots.rs b/voxygen/src/hud/slots.rs index 52797b232e..19f17ceea4 100644 --- a/voxygen/src/hud/slots.rs +++ b/voxygen/src/hud/slots.rs @@ -4,7 +4,13 @@ use super::{ item_imgs::{ItemImgs, ItemKey}, }; use crate::ui::slot::{self, SlotKey, SumSlot}; -use common::comp::{item::ItemKind, Energy, Inventory, Loadout}; +use common::comp::{ + item::{ + tool::{DebugKind, Tool, ToolKind}, + ItemKind, + }, + Energy, Inventory, Loadout, +}; use conrod_core::{image, Color}; pub use common::comp::slot::{ArmorSlot, EquipSlot}; @@ -80,7 +86,8 @@ impl SlotKey for EquipSlot { #[derive(Clone, PartialEq)] pub enum HotbarImage { Item(ItemKey), - Ability3, + Fireball, + SnakeArrow, } type HotbarSource<'a> = (&'a hotbar::State, &'a Inventory, &'a Loadout, &'a Energy); @@ -103,19 +110,20 @@ impl<'a> SlotKey, HotbarImageSource<'a>> for HotbarSlot { .as_ref() .map(|i| &i.item.kind) .and_then(|kind| { - use common::comp::item::tool::{StaffKind, Tool, ToolKind}; - matches!( - kind, - ItemKind::Tool(Tool { - kind: ToolKind::Staff(StaffKind::BasicStaff), - .. - }) - ) - .then_some(( - HotbarImage::Ability3, - // Darken if not enough energy to use attack - (energy.current() < 500).then_some(Color::Rgba(0.3, 0.3, 0.3, 0.8)), - )) + match kind { + ItemKind::Tool(Tool { kind, .. }) => match kind { + ToolKind::Staff(_) => Some(HotbarImage::Fireball), + ToolKind::Debug(DebugKind::Boost) => Some(HotbarImage::SnakeArrow), + _ => None, + }, + _ => None, + } + .map(|image_key| { + ( + image_key, + (energy.current() < 500).then_some(Color::Rgba(0.3, 0.3, 0.3, 0.8)), + ) + }) }), }) } @@ -139,7 +147,8 @@ impl<'a> SlotKey, HotbarImageSource<'a>> for HotbarSlot { fn image_id(key: &Self::ImageKey, (item_imgs, imgs): &HotbarImageSource<'a>) -> image::Id { match key { HotbarImage::Item(key) => item_imgs.img_id_or_not_found_img(key.clone()), - HotbarImage::Ability3 => imgs.fire_spell_1, + HotbarImage::SnakeArrow => imgs.snake_arrow_0, + HotbarImage::Fireball => imgs.fire_spell_1, } } } diff --git a/voxygen/src/menu/char_selection/ui.rs b/voxygen/src/menu/char_selection/ui.rs index 5b0a52eb04..fa02e93cd3 100644 --- a/voxygen/src/menu/char_selection/ui.rs +++ b/voxygen/src/menu/char_selection/ui.rs @@ -56,7 +56,7 @@ widget_ids! { v_logo, version, divider, - bodyrace_text, + bodyspecies_text, facialfeatures_text, info_bg, info_frame, @@ -139,12 +139,12 @@ widget_ids! { create_button, name_input, name_field, - race_1, - race_2, - race_3, - race_4, - race_5, - race_6, + species_1, + species_2, + species_3, + species_4, + species_5, + species_6, body_type_1, body_type_2, @@ -162,7 +162,7 @@ widget_ids! { staff, staff_button, // Char Creation - // Race Icons + // Species Icons male, female, human, @@ -205,7 +205,7 @@ image_ids! { bow: "voxygen.element.icons.bow", staff: "voxygen.element.icons.staff", - // Race Icons + // Species Icons male: "voxygen.element.icons.male", female: "voxygen.element.icons.female", human_m: "voxygen.element.icons.human_m", @@ -299,6 +299,7 @@ pub struct CharSelectionUi { fonts: ConrodVoxygenFonts, info_content: InfoContent, voxygen_i18n: Arc, + enter: bool, pub mode: Mode, pub selected_character: usize, } @@ -333,6 +334,7 @@ impl CharSelectionUi { selected_character: 0, voxygen_i18n, mode: Mode::Select(None), + enter: false, } } @@ -702,7 +704,10 @@ impl CharSelectionUi { .set(self.ids.enter_world_button, ui_widgets) .was_clicked() { - events.push(Event::Play); + self.enter = !self.enter; + if self.enter { + events.push(Event::Play) + }; } } else { &enter_button @@ -864,6 +869,9 @@ impl CharSelectionUi { }; } } + + // LOADING SCREEN HERE + if self.enter { /*stuff*/ }; }, // Character_Creation // ////////////////////////////////////////////////////////////////////// @@ -996,13 +1004,13 @@ impl CharSelectionUi { .rgba(0.33, 0.33, 0.33, 1.0) .set(self.ids.selection_scrollbar, ui_widgets); - // Male/Female/Race Icons + // Male/Female/Species Icons Text::new(&self.voxygen_i18n.get("char_selection.character_creation")) .mid_top_with_margin_on(self.ids.creation_alignment, 10.0) .font_size(self.fonts.cyri.scale(24)) .font_id(self.fonts.cyri.conrod_id) .color(TEXT_COLOR) - .set(self.ids.bodyrace_text, ui_widgets); + .set(self.ids.bodyspecies_text, ui_widgets); // Alignment Rectangle::fill_with([140.0, 72.0], color::TRANSPARENT) .mid_top_with_margin_on(self.ids.creation_alignment, 60.0) @@ -1046,7 +1054,7 @@ impl CharSelectionUi { body.validate(); } - // Alignment for Races and Tools + // Alignment for Species and Tools Rectangle::fill_with([214.0, 304.0], color::TRANSPARENT) .mid_bottom_with_margin_on(self.ids.creation_buttons_alignment_1, -324.0) .set(self.ids.creation_buttons_alignment_2, ui_widgets); @@ -1075,7 +1083,7 @@ impl CharSelectionUi { .w_h(70.0, 70.0) .top_left_with_margins_on(self.ids.creation_buttons_alignment_2, 0.0, 0.0) .set(self.ids.human, ui_widgets); - if Button::image(if let humanoid::Race::Human = body.race { + if Button::image(if let humanoid::Species::Human = body.species { self.imgs.icon_border_pressed } else { self.imgs.icon_border @@ -1085,14 +1093,14 @@ impl CharSelectionUi { .press_image(self.imgs.icon_border_press) .with_tooltip( tooltip_manager, - &self.voxygen_i18n.get("common.races.human"), + &self.voxygen_i18n.get("common.species.human"), "", &tooltip_human, ) - .set(self.ids.race_1, ui_widgets) + .set(self.ids.species_1, ui_widgets) .was_clicked() { - body.race = humanoid::Race::Human; + body.species = humanoid::Species::Human; body.validate(); } @@ -1101,7 +1109,7 @@ impl CharSelectionUi { .w_h(70.0, 70.0) .right_from(self.ids.human, 2.0) .set(self.ids.orc, ui_widgets); - if Button::image(if let humanoid::Race::Orc = body.race { + if Button::image(if let humanoid::Species::Orc = body.species { self.imgs.icon_border_pressed } else { self.imgs.icon_border @@ -1111,14 +1119,14 @@ impl CharSelectionUi { .press_image(self.imgs.icon_border_press) .with_tooltip( tooltip_manager, - &self.voxygen_i18n.get("common.races.orc"), + &self.voxygen_i18n.get("common.species.orc"), "", &tooltip_human, ) - .set(self.ids.race_2, ui_widgets) + .set(self.ids.species_2, ui_widgets) .was_clicked() { - body.race = humanoid::Race::Orc; + body.species = humanoid::Species::Orc; body.validate(); } // Dwarf @@ -1126,7 +1134,7 @@ impl CharSelectionUi { .w_h(70.0, 70.0) .right_from(self.ids.orc, 2.0) .set(self.ids.dwarf, ui_widgets); - if Button::image(if let humanoid::Race::Dwarf = body.race { + if Button::image(if let humanoid::Species::Dwarf = body.species { self.imgs.icon_border_pressed } else { self.imgs.icon_border @@ -1136,14 +1144,14 @@ impl CharSelectionUi { .press_image(self.imgs.icon_border_press) .with_tooltip( tooltip_manager, - &self.voxygen_i18n.get("common.races.dwarf"), + &self.voxygen_i18n.get("common.species.dwarf"), "", &tooltip_human, ) - .set(self.ids.race_3, ui_widgets) + .set(self.ids.species_3, ui_widgets) .was_clicked() { - body.race = humanoid::Race::Dwarf; + body.species = humanoid::Species::Dwarf; body.validate(); } // Elf @@ -1151,7 +1159,7 @@ impl CharSelectionUi { .w_h(70.0, 70.0) .down_from(self.ids.human, 2.0) .set(self.ids.elf, ui_widgets); - if Button::image(if let humanoid::Race::Elf = body.race { + if Button::image(if let humanoid::Species::Elf = body.species { self.imgs.icon_border_pressed } else { self.imgs.icon_border @@ -1161,14 +1169,14 @@ impl CharSelectionUi { .press_image(self.imgs.icon_border_press) .with_tooltip( tooltip_manager, - &self.voxygen_i18n.get("common.races.elf"), + &self.voxygen_i18n.get("common.species.elf"), "", &tooltip_human, ) - .set(self.ids.race_4, ui_widgets) + .set(self.ids.species_4, ui_widgets) .was_clicked() { - body.race = humanoid::Race::Elf; + body.species = humanoid::Species::Elf; body.validate(); } @@ -1177,7 +1185,7 @@ impl CharSelectionUi { .w_h(70.0, 70.0) .right_from(self.ids.elf, 2.0) .set(self.ids.undead, ui_widgets); - if Button::image(if let humanoid::Race::Undead = body.race { + if Button::image(if let humanoid::Species::Undead = body.species { self.imgs.icon_border_pressed } else { self.imgs.icon_border @@ -1187,14 +1195,14 @@ impl CharSelectionUi { .press_image(self.imgs.icon_border_press) .with_tooltip( tooltip_manager, - &self.voxygen_i18n.get("common.races.undead"), + &self.voxygen_i18n.get("common.species.undead"), "", &tooltip_human, ) - .set(self.ids.race_5, ui_widgets) + .set(self.ids.species_5, ui_widgets) .was_clicked() { - body.race = humanoid::Race::Undead; + body.species = humanoid::Species::Undead; body.validate(); } // Danari @@ -1202,7 +1210,7 @@ impl CharSelectionUi { .w_h(70.0, 70.0) .right_from(self.ids.undead, 2.0) .set(self.ids.danari, ui_widgets); - if Button::image(if let humanoid::Race::Danari = body.race { + if Button::image(if let humanoid::Species::Danari = body.species { self.imgs.icon_border_pressed } else { self.imgs.icon_border @@ -1212,14 +1220,14 @@ impl CharSelectionUi { .press_image(self.imgs.icon_border_press) .with_tooltip( tooltip_manager, - &self.voxygen_i18n.get("common.races.danari"), + &self.voxygen_i18n.get("common.species.danari"), "", &tooltip_human, ) - .set(self.ids.race_6, ui_widgets) + .set(self.ids.species_6, ui_widgets) .was_clicked() { - body.race = humanoid::Race::Danari; + body.species = humanoid::Species::Danari; body.validate(); } @@ -1403,7 +1411,7 @@ impl CharSelectionUi { self.ids.creation_buttons_alignment_2, self.voxygen_i18n.get("char_selection.hair_style"), self.ids.hairstyle_text, - body.race.num_hair_styles(body.body_type) as usize - 1, + body.species.num_hair_styles(body.body_type) as usize - 1, body.hair_style as usize, self.ids.hairstyle_slider, ui_widgets, @@ -1415,7 +1423,7 @@ impl CharSelectionUi { self.ids.hairstyle_slider, self.voxygen_i18n.get("char_selection.hair_color"), self.ids.haircolor_text, - body.race.num_hair_colors() as usize - 1, + body.species.num_hair_colors() as usize - 1, body.hair_color as usize, self.ids.haircolor_slider, ui_widgets, @@ -1427,7 +1435,7 @@ impl CharSelectionUi { self.ids.haircolor_slider, self.voxygen_i18n.get("char_selection.skin"), self.ids.skin_text, - body.race.num_skin_colors() as usize - 1, + body.species.num_skin_colors() as usize - 1, body.skin as usize, self.ids.skin_slider, ui_widgets, @@ -1437,21 +1445,21 @@ impl CharSelectionUi { // Eyebrows if let Some(new_val) = char_slider( self.ids.skin_slider, - self.voxygen_i18n.get("char_selection.eyebrows"), + self.voxygen_i18n.get("char_selection.eyeshape"), self.ids.eyebrows_text, - body.race.num_eyebrows(body.body_type) as usize - 1, - body.eyebrows as usize, + body.species.num_eyes(body.body_type) as usize - 1, + body.eyes as usize, self.ids.eyebrows_slider, ui_widgets, ) { - body.eyebrows = new_val as u8; + body.eyes = new_val as u8; } // EyeColor if let Some(new_val) = char_slider( self.ids.eyebrows_slider, self.voxygen_i18n.get("char_selection.eye_color"), self.ids.eyecolor_text, - body.race.num_eye_colors() as usize - 1, + body.species.num_eye_colors() as usize - 1, body.eye_color as usize, self.ids.eyecolor_slider, ui_widgets, @@ -1464,7 +1472,7 @@ impl CharSelectionUi { self.ids.eyecolor_slider, self.voxygen_i18n.get("char_selection.accessories"), self.ids.accessories_text, - body.race.num_accessories(body.body_type) as usize - 1, + body.species.num_accessories(body.body_type) as usize - 1, body.accessory as usize, self.ids.accessories_slider, ui_widgets, @@ -1472,12 +1480,12 @@ impl CharSelectionUi { body.accessory = new_val as u8; } // Beard - if body.race.num_beards(body.body_type) > 1 { + if body.species.num_beards(body.body_type) > 1 { if let Some(new_val) = char_slider( self.ids.accessories_slider, self.voxygen_i18n.get("char_selection.beard"), self.ids.beard_text, - body.race.num_beards(body.body_type) as usize - 1, + body.species.num_beards(body.body_type) as usize - 1, body.beard as usize, self.ids.beard_slider, ui_widgets, diff --git a/voxygen/src/scene/figure/cache.rs b/voxygen/src/scene/figure/cache.rs index 154d807532..3ab463ffdd 100644 --- a/voxygen/src/scene/figure/cache.rs +++ b/voxygen/src/scene/figure/cache.rs @@ -109,18 +109,9 @@ impl FigureModelCache { [ match camera_mode { - CameraMode::ThirdPerson => Some(humanoid_head_spec.mesh_head( - body.race, - body.body_type, - body.hair_color, - body.hair_style, - body.beard, - body.eye_color, - body.skin, - body.eyebrows, - body.accessory, - generate_mesh, - )), + CameraMode::ThirdPerson => { + Some(humanoid_head_spec.mesh_head(&body, generate_mesh)) + }, CameraMode::FirstPerson => None, }, match camera_mode { diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index e8960bdf54..d52636752c 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -9,7 +9,7 @@ use common::{ dragon::{BodyType as DBodyType, Species as DSpecies}, fish_medium, fish_small, golem::{BodyType as GBodyType, Species as GSpecies}, - humanoid::{Body, BodyType, EyeColor, Race, Skin}, + humanoid::{Body, BodyType, EyeColor, Skin, Species}, item::{ armor::{Armor, Back, Belt, Chest, Foot, Hand, Head, Pants, Shoulder, Tabard}, tool::{Tool, ToolKind}, @@ -122,18 +122,18 @@ struct MobSidedVoxSpec { right: ArmorVoxSpec, } -// All reliant on humanoid::Race and humanoid::BodyType +// All reliant on humanoid::Species and humanoid::BodyType #[derive(Serialize, Deserialize)] struct HumHeadSubSpec { offset: [f32; 3], // Should be relative to initial origin head: VoxSpec, - eyes: VoxSpec, + eyes: Vec>>, hair: Vec>>, beard: Vec>>, accessory: Vec>>, } #[derive(Serialize, Deserialize)] -pub struct HumHeadSpec(HashMap<(Race, BodyType), HumHeadSubSpec>); +pub struct HumHeadSpec(HashMap<(Species, BodyType), HumHeadSubSpec>); impl Asset for HumHeadSpec { const ENDINGS: &'static [&'static str] = &["ron"]; @@ -150,77 +150,80 @@ impl HumHeadSpec { pub fn mesh_head( &self, - race: Race, - body_type: BodyType, - hair_color: u8, - hair_style: u8, - beard: u8, - eye_color: u8, - skin: u8, - _eyebrows: u8, - accessory: u8, + body: &Body, generate_mesh: impl FnOnce(&Segment, Vec3) -> Mesh, ) -> Mesh { - let spec = match self.0.get(&(race, body_type)) { + let spec = match self.0.get(&(body.species, body.body_type)) { Some(spec) => spec, None => { error!( "No head specification exists for the combination of {:?} and {:?}", - race, body_type + body.species, body.body_type ); return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh); }, }; - let hair_rgb = race.hair_color(hair_color); - let skin = race.skin_color(skin); - let eye_rgb = race.eye_color(eye_color); + let hair_rgb = body.species.hair_color(body.hair_color); + let skin_rgb = body.species.skin_color(body.skin); + let eye_rgb = body.species.eye_color(body.eye_color); // Load segment pieces let bare_head = graceful_load_mat_segment(&spec.head.0); - let eyes = color_segment( - graceful_load_mat_segment(&spec.eyes.0).map_rgb(|rgb| recolor_grey(rgb, hair_rgb)), - skin, - hair_rgb, - eye_rgb, - ); - let hair = match spec.hair.get(hair_style as usize) { + + let eyes = match spec.eyes.get(body.eyes as usize) { + Some(Some(spec)) => Some(( + color_segment( + graceful_load_mat_segment(&spec.0).map_rgb(|rgb| recolor_grey(rgb, hair_rgb)), + skin_rgb, + hair_rgb, + eye_rgb, + ), + Vec3::from(spec.1), + )), + Some(None) => None, + None => { + warn!("No specification for these eyes: {:?}", body.eyes); + None + }, + }; + let hair = match spec.hair.get(body.hair_style as usize) { Some(Some(spec)) => Some(( graceful_load_segment(&spec.0).map_rgb(|rgb| recolor_grey(rgb, hair_rgb)), Vec3::from(spec.1), )), Some(None) => None, None => { - warn!("No specification for hair style {}", hair_style); + warn!("No specification for hair style {}", body.hair_style); None }, }; - let beard = match spec.beard.get(beard as usize) { + let beard = match spec.beard.get(body.beard as usize) { Some(Some(spec)) => Some(( graceful_load_segment(&spec.0).map_rgb(|rgb| recolor_grey(rgb, hair_rgb)), Vec3::from(spec.1), )), Some(None) => None, None => { - warn!("No specification for this beard: {:?}", beard); + warn!("No specification for this beard: {:?}", body.beard); None }, }; - let accessory = match spec.accessory.get(accessory as usize) { + let accessory = match spec.accessory.get(body.accessory as usize) { Some(Some(spec)) => Some((graceful_load_segment(&spec.0), Vec3::from(spec.1))), Some(None) => None, None => { - warn!("No specification for this accessory: {:?}", accessory); + warn!("No specification for this accessory: {:?}", body.accessory); None }, }; let (head, origin_offset) = DynaUnionizer::new() .add( - color_segment(bare_head, skin, hair_rgb, eye_rgb), + color_segment(bare_head, skin_rgb, hair_rgb, eye_rgb), spec.head.1.into(), ) - .add(eyes, spec.eyes.1.into()) + .maybe_add(eyes) .maybe_add(hair) .maybe_add(beard) .maybe_add(accessory) @@ -379,9 +382,9 @@ impl HumArmorShoulderSpec { } else { graceful_load_mat_segment(&spec.right.vox_spec.0) }, - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ); // TODO: use this if we can @@ -458,9 +461,9 @@ impl HumArmorChestSpec { let color = |mat_segment| { color_segment( mat_segment, - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ) }; @@ -518,9 +521,9 @@ impl HumArmorHandSpec { } else { graceful_load_mat_segment(&spec.right.vox_spec.0) }, - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ); let offset = if flipped { @@ -590,9 +593,9 @@ impl HumArmorBeltSpec { let mut belt_segment = color_segment( graceful_load_mat_segment(&spec.vox_spec.0), - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ); if let Some(color) = spec.color { @@ -634,9 +637,9 @@ impl HumArmorBackSpec { let mut back_segment = color_segment( graceful_load_mat_segment(&spec.vox_spec.0), - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ); if let Some(color) = spec.color { let back_color = Vec3::from(color); @@ -678,9 +681,9 @@ impl HumArmorPantsSpec { let color = |mat_segment| { color_segment( mat_segment, - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ) }; @@ -738,9 +741,9 @@ impl HumArmorFootSpec { } else { graceful_load_mat_segment(&spec.vox_spec.0) }, - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ); if let Some(color) = spec.color { @@ -827,9 +830,9 @@ impl HumArmorLanternSpec { let mut lantern_segment = color_segment( graceful_load_mat_segment(&spec.vox_spec.0), - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ); if let Some(color) = spec.color { let lantern_color = Vec3::from(color); @@ -871,9 +874,9 @@ impl HumArmorHeadSpec { let color = |mat_segment| { color_segment( mat_segment, - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ) }; @@ -926,9 +929,9 @@ impl HumArmorTabardSpec { let color = |mat_segment| { color_segment( mat_segment, - body.race.skin_color(body.skin), - body.race.hair_color(body.hair_color), - body.race.eye_color(body.eye_color), + body.species.skin_color(body.skin), + body.species.hair_color(body.hair_color), + body.species.eye_color(body.eye_color), ) };