From c792cc05a940da4c91b884ab3a760857719f08a2 Mon Sep 17 00:00:00 2001 From: Monty Marz Date: Thu, 30 Apr 2020 20:43:24 +0000 Subject: [PATCH] Villagers and Cultists --- CHANGELOG.md | 3 + .../common/items/armor/belt/cultist_belt.ron | 8 + .../items/armor/chest/cultist_chest_blue.ron | 8 + .../armor/chest/cultist_chest_purple.ron | 8 + .../items/armor/chest/worker_green_0.ron | 8 + .../items/armor/chest/worker_green_1.ron | 8 + .../items/armor/chest/worker_orange_0.ron | 8 + .../items/armor/chest/worker_orange_1.ron | 8 + .../items/armor/chest/worker_purple_0.ron | 8 + .../items/armor/chest/worker_purple_1.ron | 8 + .../common/items/armor/chest/worker_red_0.ron | 8 + .../common/items/armor/chest/worker_red_1.ron | 8 + .../items/armor/chest/worker_yellow_0.ron | 8 + .../items/armor/chest/worker_yellow_1.ron | 8 + .../common/items/armor/foot/cultist_boots.ron | 8 + .../items/armor/hand/cultist_hands_blue.ron | 8 + .../items/armor/hand/cultist_hands_purple.ron | 8 + .../items/armor/pants/cultist_legs_blue.ron | 8 + .../items/armor/pants/cultist_legs_purple.ron | 8 + .../items/armor/pants/worker_blue_0.ron | 8 + .../armor/shoulder/cultist_shoulder_blue.ron | 8 + .../shoulder/cultist_shoulder_purple.ron | 8 + assets/common/items/debug/cultist_belt.ron | 8 + assets/common/items/debug/cultist_boots.ron | 8 + .../common/items/debug/cultist_chest_blue.ron | 8 + .../common/items/debug/cultist_hands_blue.ron | 8 + .../common/items/debug/cultist_legs_blue.ron | 8 + .../items/debug/cultist_shoulder_blue.ron | 8 + assets/common/items/debug/plate_0.ron | 8 - assets/common/items/debug/plate_feet.ron | 8 - assets/common/items/debug/plate_green_0.ron | 8 - .../common/items/debug/plate_green_legs.ron | 8 - assets/common/items/debug/plate_hand.ron | 8 - assets/common/items/debug/plate_shoulder.ron | 8 - .../items/weapons/{ => axe}/starter_axe.ron | 0 .../items/weapons/{ => bow}/starter_bow.ron | 2 +- .../weapons/{ => dagger}/starter_dagger.ron | 0 .../items/weapons/{ => hammer}/hammer_1.ron | 0 .../weapons/{ => hammer}/starter_hammer.ron | 0 .../items/weapons/{ => shield}/shield_1.ron | 0 .../items/weapons/{ => staff}/staff_1.ron | 0 .../weapons/{ => staff}/staff_nature.ron | 0 .../weapons/{ => staff}/starter_staff.ron | 0 .../weapons/{ => sword}/short_sword_0.ron | 0 .../weapons/{ => sword}/starter_sword.ron | 0 .../items/weapons/{ => sword}/wood_sword.ron | 0 .../{ => sword}/zweihander_sword_0.ron | 0 assets/common/items/weapons/tool/broom.ron | 10 + .../common/items/weapons/tool/fishing_rod.ron | 10 + assets/common/items/weapons/tool/hoe.ron | 10 + assets/common/items/weapons/tool/pickaxe.ron | 10 + .../common/items/weapons/tool/pitchfork.ron | 10 + assets/common/items/weapons/tool/rake.ron | 10 + assets/common/items/weapons/tool/shovel-0.ron | 10 + assets/common/items/weapons/tool/shovel-1.ron | 10 + assets/voxygen/element/buttons/inv_slot.png | 4 +- assets/voxygen/element/icons/bow_m2.vox | 4 +- assets/voxygen/element/icons/item_apple.vox | 4 +- assets/voxygen/element/icons/item_cheese.png | 4 +- assets/voxygen/element/icons/item_cheese.vox | 3 + assets/voxygen/element/icons/item_flower.vox | 4 +- assets/voxygen/element/icons/item_grass.vox | 4 +- assets/voxygen/item_image_manifest.ron | 153 +++++++++++++-- assets/voxygen/voxel/armor/belt/cultist.vox | 3 + .../voxel/armor/belt/cultist_right.vox | 3 + assets/voxygen/voxel/armor/chest/cultist.vox | 3 + .../voxel/armor/chest/shirt_white-0.vox | 3 + .../voxel/armor/chest/worker_green-0.vox | 3 + .../voxel/armor/chest/worker_red-0.vox | 3 + .../voxel/armor/chest/worker_white-0.vox | 3 + assets/voxygen/voxel/armor/foot/cultist.vox | 3 + .../voxel/armor/hand/cultist_right.vox | 3 + assets/voxygen/voxel/armor/pants/cultist.vox | 3 + .../voxel/armor/pants/worker_blue-0.vox | 3 + .../voxel/armor/shoulder/cultist_right.vox | 3 + .../voxel/humanoid_armor_belt_manifest.ron | 4 + .../voxel/humanoid_armor_chest_manifest.ron | 50 +++++ .../voxel/humanoid_armor_foot_manifest.ron | 4 + .../voxel/humanoid_armor_hand_manifest.ron | 21 +++ .../voxel/humanoid_armor_pants_manifest.ron | 12 ++ .../humanoid_armor_shoulder_manifest.ron | 20 ++ .../voxel/humanoid_main_weapon_manifest.ron | 71 ++++++- assets/voxygen/voxel/object/cheese-0.vox | 3 + assets/voxygen/voxel/object/cheese-1.vox | 3 + .../voxel/object/dungeon_door_metal-0.vox | 3 + assets/voxygen/voxel/object/item_cheese.vox | 3 + assets/voxygen/voxel/weapon/bow/longbow-0.vox | 3 + assets/voxygen/voxel/weapon/bow/longbow-1.vox | 3 + .../bow/{simple-bow.vox => rare_bow-0.vox} | 0 .../voxygen/voxel/weapon/bow/shortbow-0.vox | 3 + .../voxygen/voxel/weapon/bow/shortbow-1.vox | 3 + assets/voxygen/voxel/weapon/tool/broom-0.vox | 3 + .../voxel/weapon/tool/fishing_rod_blue-0.vox | 3 + .../weapon/tool/fishing_rod_orange-0.vox | 3 + assets/voxygen/voxel/weapon/tool/hoe_blue.vox | 3 + .../voxygen/voxel/weapon/tool/hoe_green.vox | 3 + .../voxel/weapon/tool/pickaxe_green-0.vox | 3 + .../voxygen/voxel/weapon/tool/pitchfork-0.vox | 3 + assets/voxygen/voxel/weapon/tool/rake-0.vox | 3 + .../voxygen/voxel/weapon/tool/shovel_blue.vox | 3 + .../voxygen/voxel/weapon/tool/shovel_gold.vox | 3 + .../voxel/weapon/tool/shovel_green.vox | 3 + .../voxygen/voxel/weapon/tool/shovel_red.vox | 3 + common/src/comp/body/humanoid.rs | 50 ++--- common/src/comp/inventory/item/armor.rs | 54 +++++- common/src/comp/inventory/item/mod.rs | 16 +- common/src/comp/inventory/item/tool.rs | 28 ++- server/src/sys/terrain.rs | 48 +++-- voxygen/src/anim/character/dash.rs | 6 - voxygen/src/anim/character/mod.rs | 47 +++-- voxygen/src/anim/character/run.rs | 4 +- voxygen/src/anim/character/wield.rs | 176 ++++++++++-------- voxygen/src/anim/mod.rs | 3 - .../audio/sfx/event_mapper/movement/tests.rs | 6 +- voxygen/src/menu/char_selection/ui.rs | 24 ++- voxygen/src/scene/figure/load.rs | 53 +++++- voxygen/src/scene/simple.rs | 2 +- voxygen/src/scene/terrain.rs | 2 +- world/src/site/dungeon/mod.rs | 12 +- world/src/site/settlement/mod.rs | 16 +- 120 files changed, 1073 insertions(+), 281 deletions(-) create mode 100644 assets/common/items/armor/belt/cultist_belt.ron create mode 100644 assets/common/items/armor/chest/cultist_chest_blue.ron create mode 100644 assets/common/items/armor/chest/cultist_chest_purple.ron create mode 100644 assets/common/items/armor/chest/worker_green_0.ron create mode 100644 assets/common/items/armor/chest/worker_green_1.ron create mode 100644 assets/common/items/armor/chest/worker_orange_0.ron create mode 100644 assets/common/items/armor/chest/worker_orange_1.ron create mode 100644 assets/common/items/armor/chest/worker_purple_0.ron create mode 100644 assets/common/items/armor/chest/worker_purple_1.ron create mode 100644 assets/common/items/armor/chest/worker_red_0.ron create mode 100644 assets/common/items/armor/chest/worker_red_1.ron create mode 100644 assets/common/items/armor/chest/worker_yellow_0.ron create mode 100644 assets/common/items/armor/chest/worker_yellow_1.ron create mode 100644 assets/common/items/armor/foot/cultist_boots.ron create mode 100644 assets/common/items/armor/hand/cultist_hands_blue.ron create mode 100644 assets/common/items/armor/hand/cultist_hands_purple.ron create mode 100644 assets/common/items/armor/pants/cultist_legs_blue.ron create mode 100644 assets/common/items/armor/pants/cultist_legs_purple.ron create mode 100644 assets/common/items/armor/pants/worker_blue_0.ron create mode 100644 assets/common/items/armor/shoulder/cultist_shoulder_blue.ron create mode 100644 assets/common/items/armor/shoulder/cultist_shoulder_purple.ron create mode 100644 assets/common/items/debug/cultist_belt.ron create mode 100644 assets/common/items/debug/cultist_boots.ron create mode 100644 assets/common/items/debug/cultist_chest_blue.ron create mode 100644 assets/common/items/debug/cultist_hands_blue.ron create mode 100644 assets/common/items/debug/cultist_legs_blue.ron create mode 100644 assets/common/items/debug/cultist_shoulder_blue.ron delete mode 100644 assets/common/items/debug/plate_0.ron delete mode 100644 assets/common/items/debug/plate_feet.ron delete mode 100644 assets/common/items/debug/plate_green_0.ron delete mode 100644 assets/common/items/debug/plate_green_legs.ron delete mode 100644 assets/common/items/debug/plate_hand.ron delete mode 100644 assets/common/items/debug/plate_shoulder.ron rename assets/common/items/weapons/{ => axe}/starter_axe.ron (100%) rename assets/common/items/weapons/{ => bow}/starter_bow.ron (84%) rename assets/common/items/weapons/{ => dagger}/starter_dagger.ron (100%) rename assets/common/items/weapons/{ => hammer}/hammer_1.ron (100%) rename assets/common/items/weapons/{ => hammer}/starter_hammer.ron (100%) rename assets/common/items/weapons/{ => shield}/shield_1.ron (100%) rename assets/common/items/weapons/{ => staff}/staff_1.ron (100%) rename assets/common/items/weapons/{ => staff}/staff_nature.ron (100%) rename assets/common/items/weapons/{ => staff}/starter_staff.ron (100%) rename assets/common/items/weapons/{ => sword}/short_sword_0.ron (100%) rename assets/common/items/weapons/{ => sword}/starter_sword.ron (100%) rename assets/common/items/weapons/{ => sword}/wood_sword.ron (100%) rename assets/common/items/weapons/{ => sword}/zweihander_sword_0.ron (100%) create mode 100644 assets/common/items/weapons/tool/broom.ron create mode 100644 assets/common/items/weapons/tool/fishing_rod.ron create mode 100644 assets/common/items/weapons/tool/hoe.ron create mode 100644 assets/common/items/weapons/tool/pickaxe.ron create mode 100644 assets/common/items/weapons/tool/pitchfork.ron create mode 100644 assets/common/items/weapons/tool/rake.ron create mode 100644 assets/common/items/weapons/tool/shovel-0.ron create mode 100644 assets/common/items/weapons/tool/shovel-1.ron create mode 100644 assets/voxygen/element/icons/item_cheese.vox create mode 100644 assets/voxygen/voxel/armor/belt/cultist.vox create mode 100644 assets/voxygen/voxel/armor/belt/cultist_right.vox create mode 100644 assets/voxygen/voxel/armor/chest/cultist.vox create mode 100644 assets/voxygen/voxel/armor/chest/shirt_white-0.vox create mode 100644 assets/voxygen/voxel/armor/chest/worker_green-0.vox create mode 100644 assets/voxygen/voxel/armor/chest/worker_red-0.vox create mode 100644 assets/voxygen/voxel/armor/chest/worker_white-0.vox create mode 100644 assets/voxygen/voxel/armor/foot/cultist.vox create mode 100644 assets/voxygen/voxel/armor/hand/cultist_right.vox create mode 100644 assets/voxygen/voxel/armor/pants/cultist.vox create mode 100644 assets/voxygen/voxel/armor/pants/worker_blue-0.vox create mode 100644 assets/voxygen/voxel/armor/shoulder/cultist_right.vox create mode 100644 assets/voxygen/voxel/object/cheese-0.vox create mode 100644 assets/voxygen/voxel/object/cheese-1.vox create mode 100644 assets/voxygen/voxel/object/dungeon_door_metal-0.vox create mode 100644 assets/voxygen/voxel/object/item_cheese.vox create mode 100644 assets/voxygen/voxel/weapon/bow/longbow-0.vox create mode 100644 assets/voxygen/voxel/weapon/bow/longbow-1.vox rename assets/voxygen/voxel/weapon/bow/{simple-bow.vox => rare_bow-0.vox} (100%) create mode 100644 assets/voxygen/voxel/weapon/bow/shortbow-0.vox create mode 100644 assets/voxygen/voxel/weapon/bow/shortbow-1.vox create mode 100644 assets/voxygen/voxel/weapon/tool/broom-0.vox create mode 100644 assets/voxygen/voxel/weapon/tool/fishing_rod_blue-0.vox create mode 100644 assets/voxygen/voxel/weapon/tool/fishing_rod_orange-0.vox create mode 100644 assets/voxygen/voxel/weapon/tool/hoe_blue.vox create mode 100644 assets/voxygen/voxel/weapon/tool/hoe_green.vox create mode 100644 assets/voxygen/voxel/weapon/tool/pickaxe_green-0.vox create mode 100644 assets/voxygen/voxel/weapon/tool/pitchfork-0.vox create mode 100644 assets/voxygen/voxel/weapon/tool/rake-0.vox create mode 100644 assets/voxygen/voxel/weapon/tool/shovel_blue.vox create mode 100644 assets/voxygen/voxel/weapon/tool/shovel_gold.vox create mode 100644 assets/voxygen/voxel/weapon/tool/shovel_green.vox create mode 100644 assets/voxygen/voxel/weapon/tool/shovel_red.vox diff --git a/CHANGELOG.md b/CHANGELOG.md index ee13ff795a..63ee5cbffc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,6 +65,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added a Level of Detail (LoD) system for terrain sprites and entities - Added owl, hyena, parrot npcs - Added dungeon entrances +- Villagers tools and clothing +- Cultists clothing ### Changed @@ -80,6 +82,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Asset cleanup to lower client-size - Rewrote the humanoid skeleton to be more ideal for attack animations - Arrows can no longer hurt their owners +- Increased overall character scale ### Removed diff --git a/assets/common/items/armor/belt/cultist_belt.ron b/assets/common/items/armor/belt/cultist_belt.ron new file mode 100644 index 0000000000..1b2765d2c8 --- /dev/null +++ b/assets/common/items/armor/belt/cultist_belt.ron @@ -0,0 +1,8 @@ +Item( + name: "Cultist Belt", + description: "Belt\n\nArmor: 0\n\n", + kind: Armor( + kind: Belt(Cultist), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/cultist_chest_blue.ron b/assets/common/items/armor/chest/cultist_chest_blue.ron new file mode 100644 index 0000000000..2039ea6d76 --- /dev/null +++ b/assets/common/items/armor/chest/cultist_chest_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Chest", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/cultist_chest_purple.ron b/assets/common/items/armor/chest/cultist_chest_purple.ron new file mode 100644 index 0000000000..a3bf40b1ff --- /dev/null +++ b/assets/common/items/armor/chest/cultist_chest_purple.ron @@ -0,0 +1,8 @@ +Item( + name: "Purple Cultist Chest", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(CultistPurple), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_green_0.ron b/assets/common/items/armor/chest/worker_green_0.ron new file mode 100644 index 0000000000..d474d10ddf --- /dev/null +++ b/assets/common/items/armor/chest/worker_green_0.ron @@ -0,0 +1,8 @@ +Item( + name: "Green Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerGreen0), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_green_1.ron b/assets/common/items/armor/chest/worker_green_1.ron new file mode 100644 index 0000000000..bae09a6fe9 --- /dev/null +++ b/assets/common/items/armor/chest/worker_green_1.ron @@ -0,0 +1,8 @@ +Item( + name: "Green Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerGreen1), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_orange_0.ron b/assets/common/items/armor/chest/worker_orange_0.ron new file mode 100644 index 0000000000..6de8ffca79 --- /dev/null +++ b/assets/common/items/armor/chest/worker_orange_0.ron @@ -0,0 +1,8 @@ +Item( + name: "Orange Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerOrange0), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_orange_1.ron b/assets/common/items/armor/chest/worker_orange_1.ron new file mode 100644 index 0000000000..02e1f57b77 --- /dev/null +++ b/assets/common/items/armor/chest/worker_orange_1.ron @@ -0,0 +1,8 @@ +Item( + name: "Orange Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerOrange1), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_purple_0.ron b/assets/common/items/armor/chest/worker_purple_0.ron new file mode 100644 index 0000000000..f9fc9b26a5 --- /dev/null +++ b/assets/common/items/armor/chest/worker_purple_0.ron @@ -0,0 +1,8 @@ +Item( + name: "Purple Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerPurple0), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_purple_1.ron b/assets/common/items/armor/chest/worker_purple_1.ron new file mode 100644 index 0000000000..b183b6607b --- /dev/null +++ b/assets/common/items/armor/chest/worker_purple_1.ron @@ -0,0 +1,8 @@ +Item( + name: "Purple Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerPurple1), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_red_0.ron b/assets/common/items/armor/chest/worker_red_0.ron new file mode 100644 index 0000000000..0cbdffed32 --- /dev/null +++ b/assets/common/items/armor/chest/worker_red_0.ron @@ -0,0 +1,8 @@ +Item( + name: "Red Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerRed0), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_red_1.ron b/assets/common/items/armor/chest/worker_red_1.ron new file mode 100644 index 0000000000..5edb6ef876 --- /dev/null +++ b/assets/common/items/armor/chest/worker_red_1.ron @@ -0,0 +1,8 @@ +Item( + name: "Red Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerRed1), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_yellow_0.ron b/assets/common/items/armor/chest/worker_yellow_0.ron new file mode 100644 index 0000000000..c79a242550 --- /dev/null +++ b/assets/common/items/armor/chest/worker_yellow_0.ron @@ -0,0 +1,8 @@ +Item( + name: "Yellow Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerYellow0), + stats: (20), + ), +) diff --git a/assets/common/items/armor/chest/worker_yellow_1.ron b/assets/common/items/armor/chest/worker_yellow_1.ron new file mode 100644 index 0000000000..2200e50e91 --- /dev/null +++ b/assets/common/items/armor/chest/worker_yellow_1.ron @@ -0,0 +1,8 @@ +Item( + name: "Yellow Worker Shirt", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(WorkerYellow1), + stats: (20), + ), +) diff --git a/assets/common/items/armor/foot/cultist_boots.ron b/assets/common/items/armor/foot/cultist_boots.ron new file mode 100644 index 0000000000..70d134e5fe --- /dev/null +++ b/assets/common/items/armor/foot/cultist_boots.ron @@ -0,0 +1,8 @@ +Item( + name: "Cultist Boots", + description: "Feet\n\nArmor: 0\n\n", + kind: Armor( + kind: Foot(Cultist), + stats: (20), + ), +) diff --git a/assets/common/items/armor/hand/cultist_hands_blue.ron b/assets/common/items/armor/hand/cultist_hands_blue.ron new file mode 100644 index 0000000000..c6d3076b58 --- /dev/null +++ b/assets/common/items/armor/hand/cultist_hands_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Gloves", + description: "Hands\n\nArmor: 0\n\n", + kind: Armor( + kind: Hand(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/armor/hand/cultist_hands_purple.ron b/assets/common/items/armor/hand/cultist_hands_purple.ron new file mode 100644 index 0000000000..fb89f73edd --- /dev/null +++ b/assets/common/items/armor/hand/cultist_hands_purple.ron @@ -0,0 +1,8 @@ +Item( + name: "Purple Cultist Gloves", + description: "Hands\n\nArmor: 0\n\n", + kind: Armor( + kind: Hand(CultistPurple), + stats: (20), + ), +) diff --git a/assets/common/items/armor/pants/cultist_legs_blue.ron b/assets/common/items/armor/pants/cultist_legs_blue.ron new file mode 100644 index 0000000000..5ad8a8c25a --- /dev/null +++ b/assets/common/items/armor/pants/cultist_legs_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Skirt", + description: "Legs\n\nArmor: 0\n\n", + kind: Armor( + kind: Pants(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/armor/pants/cultist_legs_purple.ron b/assets/common/items/armor/pants/cultist_legs_purple.ron new file mode 100644 index 0000000000..39550047d6 --- /dev/null +++ b/assets/common/items/armor/pants/cultist_legs_purple.ron @@ -0,0 +1,8 @@ +Item( + name: "Purple Cultist Skirt", + description: "Legs\n\nArmor: 0\n\n", + kind: Armor( + kind: Pants(CultistPurple), + stats: (20), + ), +) diff --git a/assets/common/items/armor/pants/worker_blue_0.ron b/assets/common/items/armor/pants/worker_blue_0.ron new file mode 100644 index 0000000000..8fc56c4ee6 --- /dev/null +++ b/assets/common/items/armor/pants/worker_blue_0.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Worker Pants", + description: "Legs\n\nArmor: 0\n\n", + kind: Armor( + kind: Pants(WorkerBlue0), + stats: (20), + ), +) diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron new file mode 100644 index 0000000000..1e4d3965c8 --- /dev/null +++ b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Mantle", + description: "Shoulders\n\nArmor: 0\n\nA strong shoulder to lean on.\n\n", + kind: Armor( + kind: Shoulder(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron new file mode 100644 index 0000000000..095d218bf3 --- /dev/null +++ b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron @@ -0,0 +1,8 @@ +Item( + name: "Purple Cultist Mantle", + description: "Shoulders\n\nArmor: 0\n\nA strong shoulder to lean on.\n\n", + kind: Armor( + kind: Shoulder(CultistPurple), + stats: (20), + ), +) diff --git a/assets/common/items/debug/cultist_belt.ron b/assets/common/items/debug/cultist_belt.ron new file mode 100644 index 0000000000..1b2765d2c8 --- /dev/null +++ b/assets/common/items/debug/cultist_belt.ron @@ -0,0 +1,8 @@ +Item( + name: "Cultist Belt", + description: "Belt\n\nArmor: 0\n\n", + kind: Armor( + kind: Belt(Cultist), + stats: (20), + ), +) diff --git a/assets/common/items/debug/cultist_boots.ron b/assets/common/items/debug/cultist_boots.ron new file mode 100644 index 0000000000..70d134e5fe --- /dev/null +++ b/assets/common/items/debug/cultist_boots.ron @@ -0,0 +1,8 @@ +Item( + name: "Cultist Boots", + description: "Feet\n\nArmor: 0\n\n", + kind: Armor( + kind: Foot(Cultist), + stats: (20), + ), +) diff --git a/assets/common/items/debug/cultist_chest_blue.ron b/assets/common/items/debug/cultist_chest_blue.ron new file mode 100644 index 0000000000..2039ea6d76 --- /dev/null +++ b/assets/common/items/debug/cultist_chest_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Chest", + description: "Chest\n\nArmor: 0\n\n", + kind: Armor( + kind: Chest(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/debug/cultist_hands_blue.ron b/assets/common/items/debug/cultist_hands_blue.ron new file mode 100644 index 0000000000..c6d3076b58 --- /dev/null +++ b/assets/common/items/debug/cultist_hands_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Gloves", + description: "Hands\n\nArmor: 0\n\n", + kind: Armor( + kind: Hand(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/debug/cultist_legs_blue.ron b/assets/common/items/debug/cultist_legs_blue.ron new file mode 100644 index 0000000000..5ad8a8c25a --- /dev/null +++ b/assets/common/items/debug/cultist_legs_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Skirt", + description: "Legs\n\nArmor: 0\n\n", + kind: Armor( + kind: Pants(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/debug/cultist_shoulder_blue.ron b/assets/common/items/debug/cultist_shoulder_blue.ron new file mode 100644 index 0000000000..1e4d3965c8 --- /dev/null +++ b/assets/common/items/debug/cultist_shoulder_blue.ron @@ -0,0 +1,8 @@ +Item( + name: "Blue Cultist Mantle", + description: "Shoulders\n\nArmor: 0\n\nA strong shoulder to lean on.\n\n", + kind: Armor( + kind: Shoulder(CultistBlue), + stats: (20), + ), +) diff --git a/assets/common/items/debug/plate_0.ron b/assets/common/items/debug/plate_0.ron deleted file mode 100644 index c7195ae78f..0000000000 --- a/assets/common/items/debug/plate_0.ron +++ /dev/null @@ -1,8 +0,0 @@ -Item( - name: "Iron Belt", - description: "Belt\n\nArmor: 0\n\n", - kind: Armor( - kind: Belt(Plate0), - stats: (20), - ), -) diff --git a/assets/common/items/debug/plate_feet.ron b/assets/common/items/debug/plate_feet.ron deleted file mode 100644 index 9cb67b8a09..0000000000 --- a/assets/common/items/debug/plate_feet.ron +++ /dev/null @@ -1,8 +0,0 @@ -Item( - name: "Iron Feet", - description: "Feet\n\nArmor: 0\n\n", - kind: Armor( - kind: Foot(Plate0), - stats: (20), - ), -) diff --git a/assets/common/items/debug/plate_green_0.ron b/assets/common/items/debug/plate_green_0.ron deleted file mode 100644 index 23b22609a1..0000000000 --- a/assets/common/items/debug/plate_green_0.ron +++ /dev/null @@ -1,8 +0,0 @@ -Item( - name: "Iron Chestplate", - description: "Chest\n\nArmor: 0", - kind: Armor( - kind: Chest(PlateGreen0), - stats: (20), - ), -) diff --git a/assets/common/items/debug/plate_green_legs.ron b/assets/common/items/debug/plate_green_legs.ron deleted file mode 100644 index 2502369711..0000000000 --- a/assets/common/items/debug/plate_green_legs.ron +++ /dev/null @@ -1,8 +0,0 @@ -Item( - name: "Iron Legguards", - description: "Legs\n\nArmor: 0\n\n", - kind: Armor( - kind: Pants(PlateGreen0), - stats: (20), - ), -) diff --git a/assets/common/items/debug/plate_hand.ron b/assets/common/items/debug/plate_hand.ron deleted file mode 100644 index 3f3e122290..0000000000 --- a/assets/common/items/debug/plate_hand.ron +++ /dev/null @@ -1,8 +0,0 @@ -Item( - name: "Iron Handguards", - description: "Hands\n\nArmor: 0\n\n", - kind: Armor( - kind: Hand(Plate0), - stats: (20), - ), -) diff --git a/assets/common/items/debug/plate_shoulder.ron b/assets/common/items/debug/plate_shoulder.ron deleted file mode 100644 index 75035d21ab..0000000000 --- a/assets/common/items/debug/plate_shoulder.ron +++ /dev/null @@ -1,8 +0,0 @@ -Item( - name: "Iron Shoulderguards", - description: "Shoulders\n\nArmor: 0\n\A strong shoulder to lean on.", - kind: Armor( - kind: Shoulder(Plate0), - stats: (20), - ), -) diff --git a/assets/common/items/weapons/starter_axe.ron b/assets/common/items/weapons/axe/starter_axe.ron similarity index 100% rename from assets/common/items/weapons/starter_axe.ron rename to assets/common/items/weapons/axe/starter_axe.ron diff --git a/assets/common/items/weapons/starter_bow.ron b/assets/common/items/weapons/bow/starter_bow.ron similarity index 84% rename from assets/common/items/weapons/starter_bow.ron rename to assets/common/items/weapons/bow/starter_bow.ron index 4dcc9ed424..9be6b10661 100644 --- a/assets/common/items/weapons/starter_bow.ron +++ b/assets/common/items/weapons/bow/starter_bow.ron @@ -3,7 +3,7 @@ Item( description: "Bow\n\nPower: 5\n\nSomeone carved his initials into it...\n\n", kind: Tool( ( - kind: Bow(BasicBow), + kind: Bow(ShortBow0), equip_time_millis: 400, ) ), diff --git a/assets/common/items/weapons/starter_dagger.ron b/assets/common/items/weapons/dagger/starter_dagger.ron similarity index 100% rename from assets/common/items/weapons/starter_dagger.ron rename to assets/common/items/weapons/dagger/starter_dagger.ron diff --git a/assets/common/items/weapons/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron similarity index 100% rename from assets/common/items/weapons/hammer_1.ron rename to assets/common/items/weapons/hammer/hammer_1.ron diff --git a/assets/common/items/weapons/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron similarity index 100% rename from assets/common/items/weapons/starter_hammer.ron rename to assets/common/items/weapons/hammer/starter_hammer.ron diff --git a/assets/common/items/weapons/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron similarity index 100% rename from assets/common/items/weapons/shield_1.ron rename to assets/common/items/weapons/shield/shield_1.ron diff --git a/assets/common/items/weapons/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron similarity index 100% rename from assets/common/items/weapons/staff_1.ron rename to assets/common/items/weapons/staff/staff_1.ron diff --git a/assets/common/items/weapons/staff_nature.ron b/assets/common/items/weapons/staff/staff_nature.ron similarity index 100% rename from assets/common/items/weapons/staff_nature.ron rename to assets/common/items/weapons/staff/staff_nature.ron diff --git a/assets/common/items/weapons/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron similarity index 100% rename from assets/common/items/weapons/starter_staff.ron rename to assets/common/items/weapons/staff/starter_staff.ron diff --git a/assets/common/items/weapons/short_sword_0.ron b/assets/common/items/weapons/sword/short_sword_0.ron similarity index 100% rename from assets/common/items/weapons/short_sword_0.ron rename to assets/common/items/weapons/sword/short_sword_0.ron diff --git a/assets/common/items/weapons/starter_sword.ron b/assets/common/items/weapons/sword/starter_sword.ron similarity index 100% rename from assets/common/items/weapons/starter_sword.ron rename to assets/common/items/weapons/sword/starter_sword.ron diff --git a/assets/common/items/weapons/wood_sword.ron b/assets/common/items/weapons/sword/wood_sword.ron similarity index 100% rename from assets/common/items/weapons/wood_sword.ron rename to assets/common/items/weapons/sword/wood_sword.ron diff --git a/assets/common/items/weapons/zweihander_sword_0.ron b/assets/common/items/weapons/sword/zweihander_sword_0.ron similarity index 100% rename from assets/common/items/weapons/zweihander_sword_0.ron rename to assets/common/items/weapons/sword/zweihander_sword_0.ron diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron new file mode 100644 index 0000000000..8edc349d37 --- /dev/null +++ b/assets/common/items/weapons/tool/broom.ron @@ -0,0 +1,10 @@ +Item( + name: "Broom", + description: "", + kind: Tool ( + ( + kind: Farming(Broom), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron new file mode 100644 index 0000000000..4c28cd5598 --- /dev/null +++ b/assets/common/items/weapons/tool/fishing_rod.ron @@ -0,0 +1,10 @@ +Item( + name: "Fishing Rod", + description: "", + kind: Tool ( + ( + kind: Farming(FishingRod0), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron new file mode 100644 index 0000000000..528eb22309 --- /dev/null +++ b/assets/common/items/weapons/tool/hoe.ron @@ -0,0 +1,10 @@ +Item( + name: "Hoe", + description: "", + kind: Tool ( + ( + kind: Farming(Hoe0), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron new file mode 100644 index 0000000000..197724284b --- /dev/null +++ b/assets/common/items/weapons/tool/pickaxe.ron @@ -0,0 +1,10 @@ +Item( + name: "Pickaxe", + description: "", + kind: Tool ( + ( + kind: Farming(Pickaxe0), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron new file mode 100644 index 0000000000..ca2474db74 --- /dev/null +++ b/assets/common/items/weapons/tool/pitchfork.ron @@ -0,0 +1,10 @@ +Item( + name: "Pitchfork", + description: "", + kind: Tool ( + ( + kind: Farming(Pitchfork), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron new file mode 100644 index 0000000000..43aa815603 --- /dev/null +++ b/assets/common/items/weapons/tool/rake.ron @@ -0,0 +1,10 @@ +Item( + name: "Rake", + description: "", + kind: Tool ( + ( + kind: Farming(Rake), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron new file mode 100644 index 0000000000..2cd8adb761 --- /dev/null +++ b/assets/common/items/weapons/tool/shovel-0.ron @@ -0,0 +1,10 @@ +Item( + name: "Shovel", + description: "", + kind: Tool ( + ( + kind: Farming(Shovel0), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron new file mode 100644 index 0000000000..033d72b89a --- /dev/null +++ b/assets/common/items/weapons/tool/shovel-1.ron @@ -0,0 +1,10 @@ +Item( + name: "Shovel", + description: "", + kind: Tool ( + ( + kind: Farming(Shovel1), + equip_time_millis: 400, + ) + ), +) diff --git a/assets/voxygen/element/buttons/inv_slot.png b/assets/voxygen/element/buttons/inv_slot.png index 0e90ce0d71..4bc7730fa0 100644 --- a/assets/voxygen/element/buttons/inv_slot.png +++ b/assets/voxygen/element/buttons/inv_slot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ce200dd3b21561d5ddafb2f0a7d22708495185f80aaf84cde4f9160a1494c56 -size 318 +oid sha256:51ab0acb02be338ca481b020f8832f047dc5a41d0f10732785f3c4835dd506ec +size 320 diff --git a/assets/voxygen/element/icons/bow_m2.vox b/assets/voxygen/element/icons/bow_m2.vox index 0c783aae59..5c72c044e8 100644 --- a/assets/voxygen/element/icons/bow_m2.vox +++ b/assets/voxygen/element/icons/bow_m2.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:02c27a577018459fef92bc1144666316bffa31464f525c77b0960a21801b2c66 -size 55614 +oid sha256:7d354540b2dbbc48569d8127a0a7a4d6169c9070489310d55575be944e34791f +size 1096 diff --git a/assets/voxygen/element/icons/item_apple.vox b/assets/voxygen/element/icons/item_apple.vox index 18fb62f43f..b4a60bd3fb 100644 --- a/assets/voxygen/element/icons/item_apple.vox +++ b/assets/voxygen/element/icons/item_apple.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1be6cb5e8b2b0ebb8efe9dc6e180bcfabc7b55695908479afbebfe163d9d2178 -size 56231 +oid sha256:bec86131cd09411c3b1516d602ecf0db3632d7c7ca5db0408743325e8d2ccfff +size 1748 diff --git a/assets/voxygen/element/icons/item_cheese.png b/assets/voxygen/element/icons/item_cheese.png index aa77752c2f..e20c21aa7e 100644 --- a/assets/voxygen/element/icons/item_cheese.png +++ b/assets/voxygen/element/icons/item_cheese.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbebea679ed840e54e99441f52d4dd613876b52fcca3d88227ac85685e36ca1f -size 1304 +oid sha256:6b73e44bddd679b83b8d2e668589e06316b419777c9ac3818c00fdd01a18affe +size 245 diff --git a/assets/voxygen/element/icons/item_cheese.vox b/assets/voxygen/element/icons/item_cheese.vox new file mode 100644 index 0000000000..5bfc15c670 --- /dev/null +++ b/assets/voxygen/element/icons/item_cheese.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f086a745accda8521bcb21215024b40b111bae815b73937d87a8fd838038e61f +size 1680 diff --git a/assets/voxygen/element/icons/item_flower.vox b/assets/voxygen/element/icons/item_flower.vox index 3c1534c865..5c3f463733 100644 --- a/assets/voxygen/element/icons/item_flower.vox +++ b/assets/voxygen/element/icons/item_flower.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5847dc60e18f08f5f2a1669d81d39d612664a654db05ffd144f2195e1452f652 -size 56791 +oid sha256:c9a76b7ab46aa89611bf1b8a7fa3a8941db497e195e15e7647ca6e72d7465b8b +size 1952 diff --git a/assets/voxygen/element/icons/item_grass.vox b/assets/voxygen/element/icons/item_grass.vox index 59916e0beb..3f57c504eb 100644 --- a/assets/voxygen/element/icons/item_grass.vox +++ b/assets/voxygen/element/icons/item_grass.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7da1daf731e78a6f83544eb6f8ebea201844004f844b5cd7deb878292741f430 -size 56512 +oid sha256:698591d27979b5c7872b70cdff1f7fc1761ee6f5da1a3b61ba4a0aaf8db76d7e +size 2028 diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index a2c33550b6..17e2998392 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -4,8 +4,8 @@ ({ // Weapons // Bows - Tool(Bow(BasicBow)): VoxTrans( - "voxel.weapon.bow.simple-bow", + Tool(Bow(ShortBow0)): VoxTrans( + "voxel.weapon.bow.shortbow-0", (0.0, 0.0, 0.0), (90.0, 90.0, 0.0), 1.0, ), // Daggers @@ -16,38 +16,38 @@ // Swords Tool(Sword(Short0)): VoxTrans( "voxel.weapon.sword.short_2h-0", - (0.0, 9.0, 0.0), (-90.0, 90.0, 0.0), 2.4, + (-3.0, 3.0, 0.0), (-135.0, 90.0, 0.0), 1.60, ), Tool(Sword(BasicSword)): VoxTrans( "voxel.weapon.sword.rusty_2h", - (0.0, 9.0, 0.0), (-90.0, 90.0, 0.0), 2.4, + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.3, ), Tool(Sword(Zweihander0)): VoxTrans( "voxel.weapon.sword.zweihander_2h-0", - (0.0, 9.0, 0.0), (-90.0, 90.0, 0.0), 2.4, + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.2, ), Tool(Sword(WoodTraining)): VoxTrans( "voxel.weapon.sword.wood_2h", - (0.0, 9.0, 0.0), (-90.0, 90.0, 0.0), 2.4, + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.3, ), // Axes Tool(Axe(BasicAxe)): VoxTrans( "voxel.weapon.axe.rusty_2h", - (0.0, -8.0, 0.0), (-90.0, 90.0, 0.0), 2.0, + (1.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 1.2, ), // Hammers Tool(Hammer(BasicHammer)): VoxTrans( "voxel.weapon.hammer.rusty_2h", - (0.0, -8.0, 0.0), (-90.0, 90.0, 0.0), 2.0, + (2.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 1.1, ), // Staffs Tool(Staff(BasicStaff)): VoxTrans( "voxel.weapon.staff.wood-fire", - (0.0, -9.0, 0.0), (90.0, 90.0, 0.0), 2.5, + (1.0, 0.0, 0.0), (-310., 90.0, 0.0), 1.2, ), Tool(Staff(Sceptre)): VoxTrans( "voxel.weapon.staff.wood-nature", - (0.0, -9.0, 0.0), (90.0, 90.0, 0.0), 2.5, + (1.0, -1.0, 0.0), (-310., 90.0, 0.0), 1.2, ), // Shields Tool(Shield(BasicShield)): VoxTrans( @@ -61,6 +61,48 @@ Lantern(Green0): Png( "element.icons.lantern_green-0", ), + // Farming Equipment + Tool(Farming(Broom)): VoxTrans( + "voxel.weapon.tool.broom-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.1, + ), + Tool(Farming(Hoe0)): VoxTrans( + "voxel.weapon.tool.hoe_green", + (0.0, 0.0, 0.0), (130.0, 35.0, 180.0), 1.0, + ), + Tool(Farming(Hoe1)): VoxTrans( + "voxel.weapon.tool.hoe_blue", + (0.0, 0.0, 0.0), (130.0, 35.0, 180.0), 1.0, + ), + Tool(Farming(Pitchfork)): VoxTrans( + "voxel.weapon.tool.pitchfork-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.1, + ), + Tool(Farming(Rake)): VoxTrans( + "voxel.weapon.tool.rake-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0, + ), + Tool(Farming(FishingRod0)): VoxTrans( + "voxel.weapon.tool.fishing_rod_blue-0", + (0.0, 0.0, 0.0), (90.0, 90.0, 0.0), 1.5, + ), + Tool(Farming(FishingRod0)): VoxTrans( + "voxel.weapon.tool.fishing_rod_orange-0", + (0.0, 0.0, 0.0), (90.0, 90.0, 0.0), 1.0, + ), + Tool(Farming(Pickaxe0)): VoxTrans( + "voxel.weapon.tool.pickaxe_green-0", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0, + ), + Tool(Farming(Shovel0)): VoxTrans( + "voxel.weapon.tool.shovel_green", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.2, + ), + Tool(Farming(Shovel1)): VoxTrans( + "voxel.weapon.tool.shovel_gold", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.2, + ), + // Other Utility(Collar): Png( "element.icons.collar", @@ -79,6 +121,92 @@ "voxel.armor.chest.rugged-0", (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, ), + // Cultist Clothing + Armor(Chest(CultistPurple)): VoxTrans( + "voxel.armor.chest.cultist", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants(CultistPurple)): VoxTrans( + "voxel.armor.pants.cultist", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt(Cultist)): VoxTrans( + "voxel.armor.belt.cultist", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot(Cultist)): VoxTrans( + "voxel.armor.foot.cultist", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand(CultistPurple)): VoxTrans( + "voxel.armor.hand.cultist_right", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder(CultistPurple)): VoxTrans( + "voxel.armor.shoulder.cultist_right", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(CultistBlue)): VoxTrans( + "voxel.armor.chest.cultist", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants(CultistBlue)): VoxTrans( + "voxel.armor.pants.cultist", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Hand(CultistBlue)): VoxTrans( + "voxel.armor.hand.cultist_right", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder(CultistBlue)): VoxTrans( + "voxel.armor.shoulder.cultist_right", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + // Villager Clothing + Armor(Pants(WorkerBlue0)): VoxTrans( + "voxel.armor.pants.worker_blue-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerGreen0)): VoxTrans( + "voxel.armor.chest.worker_green-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerGreen1)): VoxTrans( + "voxel.armor.chest.shirt_white-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerRed0)): VoxTrans( + "voxel.armor.chest.worker_green-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerRed1)): VoxTrans( + "voxel.armor.chest.shirt_white-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerPurple0)): VoxTrans( + "voxel.armor.chest.worker_green-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerPurple1)): VoxTrans( + "voxel.armor.chest.shirt_white-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerYellow0)): VoxTrans( + "voxel.armor.chest.worker_green-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerYellow1)): VoxTrans( + "voxel.armor.chest.shirt_white-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerOrange0)): VoxTrans( + "voxel.armor.chest.worker_green-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Chest(WorkerOrange1)): VoxTrans( + "voxel.armor.chest.shirt_white-0", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), // Assassin Set Armor(Chest(Assassin)): VoxTrans( "voxel.armor.chest.assa", @@ -284,9 +412,10 @@ "voxel.object.potion_red", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, ), - Consumable(Cheese): Png( + Consumable(Cheese): VoxTrans( "element.icons.item_cheese", - ), + (0.0, 0.0, 0.0), (-90.0, 90.0, 0.0), 0.9, + ), Consumable(Potion): VoxTrans( "voxel.object.potion_red", (0.0, 0.0, 0.0), (90.0, 90.0, 0.0), 1.0, diff --git a/assets/voxygen/voxel/armor/belt/cultist.vox b/assets/voxygen/voxel/armor/belt/cultist.vox new file mode 100644 index 0000000000..3e4198a56f --- /dev/null +++ b/assets/voxygen/voxel/armor/belt/cultist.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17af982f825432b2284678331539553224ed035f7cc3ef0b17a7c0d0598bb64b +size 1536 diff --git a/assets/voxygen/voxel/armor/belt/cultist_right.vox b/assets/voxygen/voxel/armor/belt/cultist_right.vox new file mode 100644 index 0000000000..4c8d1d2e21 --- /dev/null +++ b/assets/voxygen/voxel/armor/belt/cultist_right.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbc592036cc6cc7a9c514420b73938bb762d04039a48485c7009a6e3d14761a3 +size 1388 diff --git a/assets/voxygen/voxel/armor/chest/cultist.vox b/assets/voxygen/voxel/armor/chest/cultist.vox new file mode 100644 index 0000000000..52dc8a29ef --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/cultist.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76489efbe59edafd33676e940e890ba47922b4b074a423d816f522842e83baf9 +size 2792 diff --git a/assets/voxygen/voxel/armor/chest/shirt_white-0.vox b/assets/voxygen/voxel/armor/chest/shirt_white-0.vox new file mode 100644 index 0000000000..7fb4a2a95e --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/shirt_white-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f284b918667b8b712abd5272239b0665afe56ee6197a35b0fdda5dd605852a75 +size 2672 diff --git a/assets/voxygen/voxel/armor/chest/worker_green-0.vox b/assets/voxygen/voxel/armor/chest/worker_green-0.vox new file mode 100644 index 0000000000..33c8855660 --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/worker_green-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18ef4546a55ec987b988197120690d7f81a6b23706c65aef709d8434f1ae8820 +size 2696 diff --git a/assets/voxygen/voxel/armor/chest/worker_red-0.vox b/assets/voxygen/voxel/armor/chest/worker_red-0.vox new file mode 100644 index 0000000000..44828ed711 --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/worker_red-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1b9ee402c5868efcfd16a24966e49e8654154421a2ea8580b9e3e5638e645d5 +size 2696 diff --git a/assets/voxygen/voxel/armor/chest/worker_white-0.vox b/assets/voxygen/voxel/armor/chest/worker_white-0.vox new file mode 100644 index 0000000000..971fa032cf --- /dev/null +++ b/assets/voxygen/voxel/armor/chest/worker_white-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d47c82c22c1c7cb9dd0e0f373b1fdaef1d95f1dd05c30fa91dcb9bfc23ef1e8 +size 2696 diff --git a/assets/voxygen/voxel/armor/foot/cultist.vox b/assets/voxygen/voxel/armor/foot/cultist.vox new file mode 100644 index 0000000000..f50a18f286 --- /dev/null +++ b/assets/voxygen/voxel/armor/foot/cultist.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33c9b6672542960d68f04cf1663407acbb1295f239eb9a57160a42c9378a3903 +size 1480 diff --git a/assets/voxygen/voxel/armor/hand/cultist_right.vox b/assets/voxygen/voxel/armor/hand/cultist_right.vox new file mode 100644 index 0000000000..5d4575ac66 --- /dev/null +++ b/assets/voxygen/voxel/armor/hand/cultist_right.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48ed6b4cfd1d0b5a07f6acd7dba498e24ddf90ceda6b9da013631482b79720cc +size 1344 diff --git a/assets/voxygen/voxel/armor/pants/cultist.vox b/assets/voxygen/voxel/armor/pants/cultist.vox new file mode 100644 index 0000000000..63ecfd37c9 --- /dev/null +++ b/assets/voxygen/voxel/armor/pants/cultist.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd7dd211beccb86e8d3d7043a05aaca1ff86431feaa82ecac077d44fab0437ad +size 1992 diff --git a/assets/voxygen/voxel/armor/pants/worker_blue-0.vox b/assets/voxygen/voxel/armor/pants/worker_blue-0.vox new file mode 100644 index 0000000000..d300361315 --- /dev/null +++ b/assets/voxygen/voxel/armor/pants/worker_blue-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a8d842c70578240e29479ff463b8b11b8bd971c57248aa66095f7b92ece3eba +size 1912 diff --git a/assets/voxygen/voxel/armor/shoulder/cultist_right.vox b/assets/voxygen/voxel/armor/shoulder/cultist_right.vox new file mode 100644 index 0000000000..3b379f41ea --- /dev/null +++ b/assets/voxygen/voxel/armor/shoulder/cultist_right.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bc9b9f841bb61199dc69e3ca52c83a38cab00b36e5a4fa7eaae33312b26383d +size 1388 diff --git a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron index 10fd3396d4..5ad79789a8 100644 --- a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron @@ -48,5 +48,9 @@ vox_spec: ("armor.belt.cloth_green-0", (-5.0, -3.5, 2.0)), color: None ), + Cultist: ( + vox_spec: ("armor.belt.cultist", (-5.0, -3.5, 1.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron index f64477d328..35879ad875 100644 --- a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron @@ -60,5 +60,55 @@ vox_spec: ("armor.chest.rugged-0", (-7.0, -3.5, 2.0)), color: None ), + // Villagers + WorkerGreen0:( + vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), + color: Some((88, 108, 65)) + ), + WorkerGreen1:( + vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), + color: Some((88, 108, 65)) + ), + WorkerRed0:( + vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), + color: Some((124, 38, 46)) + ), + WorkerRed1:( + vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), + color: Some((124, 38, 46)) + ), + WorkerPurple0:( + vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), + color: Some((64, 47, 56)) + ), + WorkerPurple1:( + vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), + color: Some((64, 47, 56)) + ), + WorkerYellow0:( + vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), + color: Some((184, 132, 40)) + ), + WorkerYellow1:( + vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), + color: Some((184, 132, 40)) + ), + WorkerOrange0:( + vox_spec: ("armor.chest.worker_white-0", (-7.0, -3.5, 2.0)), + color: Some((135, 82, 67)) + ), + WorkerOrange1:( + vox_spec: ("armor.chest.shirt_white-0", (-7.0, -3.5, 2.0)), + color: Some((135, 82, 67)) + ), + // Cultists + CultistPurple: ( + vox_spec: ("armor.chest.cultist", (-7.0, -3.5, 2.0)), + color: Some((30, 0, 64)) + ), + CultistBlue: ( + vox_spec: ("armor.chest.cultist", (-7.0, -3.5, 2.0)), + color: Some((57, 81, 132)) + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron index ed7d87f038..0dd7e45e6d 100644 --- a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron @@ -40,5 +40,9 @@ vox_spec: ("armor.foot.cloth_sandals", (-2.5, -3.5, -9.0)), color: None ), + Cultist: ( + vox_spec: ("armor.foot.cultist", (-2.5, -3.5, -9.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron index bb6f5fcb47..99344042b1 100644 --- a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron @@ -80,5 +80,26 @@ color: None ) ), + CultistPurple: ( + left: ( + vox_spec: ("armor.hand.cultist_right", (-3.0, -1.5, -7.0)), + color: Some((30, 0, 64)) + ), + right: ( + vox_spec: ("armor.hand.cultist_right", (-2.0, -1.5, -7.0)), + color: Some((30, 0, 64)) + ) + ), + CultistBlue: ( + left: ( + vox_spec: ("armor.hand.cultist_right", (-3.0, -1.5, -7.0)), + color: Some((57, 81, 132)) + ), + right: ( + vox_spec: ("armor.hand.cultist_right", (-2.0, -1.5, -7.0)), + color: Some((57, 81, 132)) + ) + ), + }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron index 9ddb0f00f4..9de82d6acb 100644 --- a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron @@ -56,5 +56,17 @@ vox_spec: ("armor.pants.rugged-0", (-5.0, -3.5, 1.0)), color: None ), + WorkerBlue0:( + vox_spec: ("armor.pants.worker_blue-0", (-5.0, -3.5, 1.0)), + color: None + ), + CultistPurple: ( + vox_spec: ("armor.pants.cultist", (-5.0, -3.5, 1.0)), + color: Some((30, 0, 64)) + ), + CultistBlue : ( + vox_spec: ("armor.pants.cultist", (-5.0, -3.5, 1.0)), + color: Some((57, 81, 132)) + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron index 9789b7292b..fc41ce56ac 100644 --- a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron @@ -111,5 +111,25 @@ color: None ) ), + CultistPurple: ( + left: ( + vox_spec: ("armor.shoulder.cultist_right", (-2.0, -3.5, 1.0)), + color: Some((30, 0, 64)) + ), + right: ( + vox_spec: ("armor.shoulder.cultist_right", (-2.9, -3.5, 1.0)), + color: Some((30, 0, 64)) + ) + ), + CultistBlue: ( + left: ( + vox_spec: ("armor.shoulder.cultist_right", (-2.0, -3.5, 1.0)), + color: Some((57, 81, 132)) + ), + right: ( + vox_spec: ("armor.shoulder.cultist_right", (-2.9, -3.5, 1.0)), + color: Some((57, 81, 132)) + ) + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron b/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron index 04e8a06384..3dbd51ec8c 100644 --- a/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron +++ b/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron @@ -1,4 +1,4 @@ -({ +({ //Swords Sword(BasicSword): ( vox_spec: ("weapon.sword.rusty_2h", (-1.5, -6.5, -4.0)), color: None @@ -19,34 +19,99 @@ vox_spec: ("weapon.sword.short_2h-0", (-1.5, -6.5, -1.0)), color: None ), + // Axes Axe(BasicAxe): ( vox_spec: ("weapon.axe.rusty_2h", (-1.5, -5.0, -4.0)), color: None ), + // Hammers Hammer(BasicHammer): ( vox_spec: ("weapon.hammer.rusty_2h", (-2.5, -5.5, -4.0)), color: None ), + // Daggers Dagger(BasicDagger): ( vox_spec: ("weapon.hammer.rusty_2h", (-2.5, -5.5, -4.0)), // TODO color: None ), + // Shields Shield(BasicShield): ( vox_spec: ("weapon.shield.wood-0", (-2.5, -6.5, -2.0)), color: None ), - Bow(BasicBow): ( - vox_spec: ("weapon.bow.simple-bow", (-1.0, -6.0, -2.0)), + // Bows + Bow(ShortBow0): ( + vox_spec: ("weapon.bow.shortbow-0", (-1.0, -6.0, 2.5)), color: None ), + Bow(ShortBow1): ( + vox_spec: ("weapon.bow.shortbow-1", (-1.0, -6.0, 2.5)), + color: None + ), + Bow(LongBow0): ( + vox_spec: ("weapon.bow.longbow-0", (-1.0, -6.0, 2.5)), + color: None + ), + Bow(LongBow1): ( + vox_spec: ("weapon.bow.longbow-1", (-1.0, -6.0, 2.5)), + color: None + ), + Bow(RareBow0): ( + vox_spec: ("weapon.bow.rare_bow-0", (-1.0, -6.0, 2.5)), + color: None + ), + // Farming Equipment + Farming(Broom): ( + vox_spec: ("weapon.tool.broom-0", (-1.5, -4.0, -4.0)), + color: None + ), + Farming(Hoe0): ( + vox_spec: ("weapon.tool.hoe_green", (-2.5, -4.5, -4.0)), + color: None + ), + Farming(Hoe1): ( + vox_spec: ("weapon.tool.hoe_blue", (-2.5, -4.5, -4.0)), + color: None + ), + Farming(Pitchfork): ( + vox_spec: ("weapon.tool.pitchfork-0", (-1.0, -3.5, -4.0)), + color: None + ), + Farming(FishingRod0): ( + vox_spec: ("weapon.tool.fishing_rod_blue-0", (-2.5, -4.5, -4.0)), + color: None + ), + Farming(Rake): ( + vox_spec: ("weapon.tool.rake-0", (-1.0, -5.5, -4.0)), + color: None + ), + Farming(FishingRod1): ( + vox_spec: ("weapon.tool.fishing_rod_orange-0", (-2.5, -4.5, -4.0)), + color: None + ), + Farming(Pickaxe0): ( + vox_spec: ("weapon.tool.pickaxe_green-0", (-1.5, -7.5, -4.0)), + color: None + ), + Farming(Shovel0): ( + vox_spec: ("weapon.tool.shovel_green", (-1.0, -2.5, -4.0)), + color: None + ), + Farming(Shovel1): ( + vox_spec: ("weapon.tool.shovel_gold", (-1.0, -2.5, -4.0)), + color: None + ), + // Staves Staff(BasicStaff): ( vox_spec: ("weapon.staff.wood-fire", (-1.0, -6.0, -3.0)), color: None ), + // Sceptres Staff(Sceptre): ( vox_spec: ("weapon.staff.wood-nature", (-1.0, -6.0, -5.0)), color: None ), + // Misc Debug(Boost): ( vox_spec: ("weapon.debug_wand", (-1.5, -9.5, -4.0)), color: None diff --git a/assets/voxygen/voxel/object/cheese-0.vox b/assets/voxygen/voxel/object/cheese-0.vox new file mode 100644 index 0000000000..358bfa9f7b --- /dev/null +++ b/assets/voxygen/voxel/object/cheese-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b3d0c5d1570b1f2be971f8f4c5ab714ec80670f4b75584663bb85d7b8389566 +size 3880 diff --git a/assets/voxygen/voxel/object/cheese-1.vox b/assets/voxygen/voxel/object/cheese-1.vox new file mode 100644 index 0000000000..0bebe248d1 --- /dev/null +++ b/assets/voxygen/voxel/object/cheese-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d743b162f487ececa3cc56fb4e2959d94e4f222e9dc26e88b31c58737ca459d +size 4828 diff --git a/assets/voxygen/voxel/object/dungeon_door_metal-0.vox b/assets/voxygen/voxel/object/dungeon_door_metal-0.vox new file mode 100644 index 0000000000..4a276715f5 --- /dev/null +++ b/assets/voxygen/voxel/object/dungeon_door_metal-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48e6cf93b1511ddf6aafe8d48e27627d548ee4fff1b3d0a991f215f87e041954 +size 1140 diff --git a/assets/voxygen/voxel/object/item_cheese.vox b/assets/voxygen/voxel/object/item_cheese.vox new file mode 100644 index 0000000000..f4fd6f036f --- /dev/null +++ b/assets/voxygen/voxel/object/item_cheese.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dac6a29adb728d8e334d57f74fb5426173b63bae5b262b01310b3878d7b7fac +size 2800 diff --git a/assets/voxygen/voxel/weapon/bow/longbow-0.vox b/assets/voxygen/voxel/weapon/bow/longbow-0.vox new file mode 100644 index 0000000000..e956eaaaa7 --- /dev/null +++ b/assets/voxygen/voxel/weapon/bow/longbow-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7d815a611985f6f19d36ce7ceb6a630d4fee08020bd8e6e0396144942319d6f +size 1344 diff --git a/assets/voxygen/voxel/weapon/bow/longbow-1.vox b/assets/voxygen/voxel/weapon/bow/longbow-1.vox new file mode 100644 index 0000000000..5906188402 --- /dev/null +++ b/assets/voxygen/voxel/weapon/bow/longbow-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecdbc73501d98920192b2d7bbaa807e808cef73537c3c7baddb71ccec0841dee +size 1304 diff --git a/assets/voxygen/voxel/weapon/bow/simple-bow.vox b/assets/voxygen/voxel/weapon/bow/rare_bow-0.vox similarity index 100% rename from assets/voxygen/voxel/weapon/bow/simple-bow.vox rename to assets/voxygen/voxel/weapon/bow/rare_bow-0.vox diff --git a/assets/voxygen/voxel/weapon/bow/shortbow-0.vox b/assets/voxygen/voxel/weapon/bow/shortbow-0.vox new file mode 100644 index 0000000000..0c734f2d28 --- /dev/null +++ b/assets/voxygen/voxel/weapon/bow/shortbow-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:972a0dbabd53640607a0ca01b2d4a5339cee6ba047f54fe29485ac64f6fbb224 +size 1280 diff --git a/assets/voxygen/voxel/weapon/bow/shortbow-1.vox b/assets/voxygen/voxel/weapon/bow/shortbow-1.vox new file mode 100644 index 0000000000..706d123a4e --- /dev/null +++ b/assets/voxygen/voxel/weapon/bow/shortbow-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75cc0f9b5646ffd5b40b18759d62073d9a462f226e1e00b48edcbcec69433f94 +size 1280 diff --git a/assets/voxygen/voxel/weapon/tool/broom-0.vox b/assets/voxygen/voxel/weapon/tool/broom-0.vox new file mode 100644 index 0000000000..20fd9b14c9 --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/broom-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78b1e49a908a080cba558d26e1f219f54d480f3164ffd50276e095d69f1bbebe +size 1840 diff --git a/assets/voxygen/voxel/weapon/tool/fishing_rod_blue-0.vox b/assets/voxygen/voxel/weapon/tool/fishing_rod_blue-0.vox new file mode 100644 index 0000000000..7c1cda5d50 --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/fishing_rod_blue-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61abd147bb54246bd9e98bd5648170808b2f91750b27215ff7d0ba09ad895c06 +size 1392 diff --git a/assets/voxygen/voxel/weapon/tool/fishing_rod_orange-0.vox b/assets/voxygen/voxel/weapon/tool/fishing_rod_orange-0.vox new file mode 100644 index 0000000000..693af6b1d5 --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/fishing_rod_orange-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83c1e5d44d9fd4343454c7466d9709a7a210efde4ad630424aaa022be4976218 +size 1392 diff --git a/assets/voxygen/voxel/weapon/tool/hoe_blue.vox b/assets/voxygen/voxel/weapon/tool/hoe_blue.vox new file mode 100644 index 0000000000..6597fd2b03 --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/hoe_blue.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a900f50b949558bd0c255bb1c7ed18304f25437d1abeaf8b786707dce293e4b0 +size 1332 diff --git a/assets/voxygen/voxel/weapon/tool/hoe_green.vox b/assets/voxygen/voxel/weapon/tool/hoe_green.vox new file mode 100644 index 0000000000..4fc7e1e026 --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/hoe_green.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:112a5202018014bc7e428dc0dbea1666b9701ad278b7e49653ded46478bf8b66 +size 1416 diff --git a/assets/voxygen/voxel/weapon/tool/pickaxe_green-0.vox b/assets/voxygen/voxel/weapon/tool/pickaxe_green-0.vox new file mode 100644 index 0000000000..881ce3dd2d --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/pickaxe_green-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb14e6b65cf47a702dd5b29b9e36f34f580ca6cd4d379e6fb01ae4192128daff +size 1332 diff --git a/assets/voxygen/voxel/weapon/tool/pitchfork-0.vox b/assets/voxygen/voxel/weapon/tool/pitchfork-0.vox new file mode 100644 index 0000000000..d6291321bd --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/pitchfork-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dde68d35c0d3316e518420e0c9176ebbc7c4b7f75a1314ddbabb9a70fcc0c8b +size 1296 diff --git a/assets/voxygen/voxel/weapon/tool/rake-0.vox b/assets/voxygen/voxel/weapon/tool/rake-0.vox new file mode 100644 index 0000000000..5b916a2599 --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/rake-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e346f6cd750ca9891c60950eecfba69139b2a912495bf876c0d9cc102e9c02a +size 1344 diff --git a/assets/voxygen/voxel/weapon/tool/shovel_blue.vox b/assets/voxygen/voxel/weapon/tool/shovel_blue.vox new file mode 100644 index 0000000000..4604ae7cfe --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/shovel_blue.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98cc8cbe4ed9e5bb329edd1c23f4297dc6dd6e82c047a3c81081ecaf95a1cf09 +size 1300 diff --git a/assets/voxygen/voxel/weapon/tool/shovel_gold.vox b/assets/voxygen/voxel/weapon/tool/shovel_gold.vox new file mode 100644 index 0000000000..ed5f298caa --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/shovel_gold.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:877621fec38c6a11972f267a5905fbc73cf226eaab62c05b8c27b847c77bf932 +size 1376 diff --git a/assets/voxygen/voxel/weapon/tool/shovel_green.vox b/assets/voxygen/voxel/weapon/tool/shovel_green.vox new file mode 100644 index 0000000000..45424b070f --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/shovel_green.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6be13988461679f51cab13c53b6a8837ee9725c86a69a75d8d2529629eebeaa0 +size 1300 diff --git a/assets/voxygen/voxel/weapon/tool/shovel_red.vox b/assets/voxygen/voxel/weapon/tool/shovel_red.vox new file mode 100644 index 0000000000..c45b6075c5 --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/shovel_red.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a60b1f1c1001a2ccad3945fa9ee0a533d2610e6015bfaac74f9a08cb9349a40 +size 1300 diff --git a/common/src/comp/body/humanoid.rs b/common/src/comp/body/humanoid.rs index 4c243bc599..5164933e7d 100644 --- a/common/src/comp/body/humanoid.rs +++ b/common/src/comp/body/humanoid.rs @@ -271,7 +271,7 @@ pub const DWARF_SKIN_COLORS: [Skin; 14] = [ Skin::Iron, Skin::Steel, ]; -pub const ELF_SKIN_COLORS: [Skin; 14] = [ +pub const ELF_SKIN_COLORS: [Skin; 13] = [ Skin::Skin1, Skin::Skin2, Skin::Skin3, @@ -285,7 +285,7 @@ pub const ELF_SKIN_COLORS: [Skin; 14] = [ Skin::Skin12, Skin::ElfOne, Skin::ElfTwo, - Skin::ElfThree, + //Skin::ElfThree, ]; pub const HUMAN_SKIN_COLORS: [Skin; 18] = [ Skin::Skin1, @@ -563,26 +563,26 @@ pub enum Skin { DanariFour = 11, ElfOne = 12, ElfTwo = 13, - ElfThree = 14, - OrcOne = 15, - OrcTwo = 16, - OrcThree = 17, - UndeadOne = 18, - UndeadTwo = 19, - UndeadThree = 20, - Skin7 = 21, - Skin8 = 22, - Skin9 = 23, - Skin10 = 24, - Skin11 = 25, - Skin12 = 26, - Skin13 = 27, - Skin14 = 28, - Skin15 = 29, - Skin16 = 30, - Skin17 = 31, - Skin18 = 32, - OrcFour = 33, + //ElfThree = 14, + OrcOne = 14, + OrcTwo = 15, + OrcThree = 16, + UndeadOne = 17, + UndeadTwo = 18, + UndeadThree = 19, + Skin7 = 20, + Skin8 = 21, + Skin9 = 22, + Skin10 = 23, + Skin11 = 24, + Skin12 = 25, + Skin13 = 26, + Skin14 = 27, + Skin15 = 28, + Skin16 = 29, + Skin17 = 30, + Skin18 = 31, + OrcFour = 32, } impl Skin { pub fn rgb(self) -> Rgb { @@ -613,7 +613,7 @@ impl Skin { Self::DanariFour => (40, 85, 105), Self::ElfOne => (178, 164, 186), Self::ElfTwo => (132, 139, 161), - Self::ElfThree => (148, 128, 202), + //Self::ElfThree => (230, 188, 198), Self::OrcOne => (61, 130, 42), Self::OrcTwo => (82, 117, 36), Self::OrcThree => (71, 94, 42), @@ -653,7 +653,7 @@ impl Skin { Self::DanariFour => (53, 96, 116), Self::ElfOne => (190, 176, 199), //178, 164, 186 Self::ElfTwo => (137, 144, 167), - Self::ElfThree => (156, 138, 209), + //Self::ElfThree => (242, 199, 209), Self::OrcOne => (83, 165, 56), Self::OrcTwo => (92, 132, 46), Self::OrcThree => (84, 110, 54), @@ -693,7 +693,7 @@ impl Skin { Self::DanariFour => (34, 80, 99), Self::ElfOne => (170, 155, 175), //170, 157, 179 Self::ElfTwo => (126, 132, 153), - Self::ElfThree => (137, 121, 194), + //Self::ElfThree => (217, 178, 187), Self::OrcOne => (55, 114, 36), Self::OrcTwo => (70, 104, 29), Self::OrcThree => (60, 83, 32), diff --git a/common/src/comp/inventory/item/armor.rs b/common/src/comp/inventory/item/armor.rs index 74885598be..76b6c4472d 100644 --- a/common/src/comp/inventory/item/armor.rs +++ b/common/src/comp/inventory/item/armor.rs @@ -15,8 +15,20 @@ pub enum Chest { ClothBlue0 = 12, ClothGreen0 = 13, Rugged0 = 14, + WorkerGreen0 = 15, + WorkerGreen1 = 16, + WorkerRed0 = 17, + WorkerRed1 = 18, + WorkerPurple0 = 19, + WorkerPurple1 = 20, + WorkerYellow0 = 21, + WorkerYellow1 = 22, + WorkerOrange0 = 23, + WorkerOrange1 = 24, + CultistPurple = 25, + CultistBlue = 26, } -pub const ALL_CHESTS: [Chest; 14] = [ +pub const ALL_CHESTS: [Chest; 26] = [ Chest::Blue, Chest::Brown, Chest::Dark, @@ -31,6 +43,18 @@ pub const ALL_CHESTS: [Chest; 14] = [ Chest::ClothBlue0, Chest::ClothGreen0, Chest::Rugged0, + Chest::WorkerGreen0, + Chest::WorkerGreen1, + Chest::WorkerRed0, + Chest::WorkerRed1, + Chest::WorkerPurple0, + Chest::WorkerPurple1, + Chest::WorkerYellow0, + Chest::WorkerYellow1, + Chest::WorkerOrange0, + Chest::WorkerOrange1, + Chest::CultistPurple, + Chest::CultistBlue, ]; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] @@ -47,8 +71,9 @@ pub enum Belt { ClothPurple0 = 8, ClothBlue0 = 9, ClothGreen0 = 10, + Cultist = 11, } -pub const ALL_BELTS: [Belt; 11] = [ +pub const ALL_BELTS: [Belt; 12] = [ Belt::None, Belt::Dark, Belt::TurqCloth, @@ -60,6 +85,7 @@ pub const ALL_BELTS: [Belt; 11] = [ Belt::ClothPurple0, Belt::ClothBlue0, Belt::ClothGreen0, + Belt::Cultist, ]; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] @@ -79,8 +105,11 @@ pub enum Pants { ClothBlue0 = 11, ClothGreen0 = 12, Rugged0 = 13, + WorkerBlue0 = 14, + CultistPurple = 15, + CultistBlue = 16, } -pub const ALL_PANTS: [Pants; 14] = [ +pub const ALL_PANTS: [Pants; 17] = [ Pants::None, Pants::Blue, Pants::Brown, @@ -95,6 +124,9 @@ pub const ALL_PANTS: [Pants; 14] = [ Pants::ClothBlue0, Pants::ClothGreen0, Pants::Rugged0, + Pants::WorkerBlue0, + Pants::CultistPurple, + Pants::CultistBlue, ]; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] @@ -107,8 +139,10 @@ pub enum Hand { ClothPurple0 = 5, ClothBlue0 = 6, ClothGreen0 = 7, + CultistPurple = 8, + CultistBlue = 9, } -pub const ALL_HANDS: [Hand; 7] = [ +pub const ALL_HANDS: [Hand; 9] = [ Hand::Cloth, Hand::Assassin, Hand::Plate0, @@ -116,6 +150,8 @@ pub const ALL_HANDS: [Hand; 7] = [ Hand::ClothPurple0, Hand::ClothBlue0, Hand::ClothGreen0, + Hand::CultistPurple, + Hand::CultistBlue, ]; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] @@ -130,8 +166,9 @@ pub enum Foot { ClothPurple0 = 7, ClothBlue0 = 8, ClothGreen0 = 9, + Cultist = 10, } -pub const ALL_FEET: [Foot; 9] = [ +pub const ALL_FEET: [Foot; 10] = [ Foot::Dark, Foot::Sandal0, Foot::Jester, @@ -141,6 +178,7 @@ pub const ALL_FEET: [Foot; 9] = [ Foot::ClothPurple0, Foot::ClothBlue0, Foot::ClothGreen0, + Foot::Cultist, ]; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] @@ -155,8 +193,10 @@ pub enum Shoulder { ClothPurple0 = 7, ClothBlue0 = 8, ClothGreen0 = 9, + CultistPurple = 10, + CultistBlue = 11, } -pub const ALL_SHOULDERS: [Shoulder; 9] = [ +pub const ALL_SHOULDERS: [Shoulder; 11] = [ Shoulder::Brown1, Shoulder::Chain, Shoulder::Assassin, @@ -166,6 +206,8 @@ pub const ALL_SHOULDERS: [Shoulder; 9] = [ Shoulder::ClothPurple0, Shoulder::ClothBlue0, Shoulder::ClothGreen0, + Shoulder::CultistPurple, + Shoulder::CultistBlue, ]; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] #[repr(u32)] diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index 3e818a0393..294c6e947a 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -136,12 +136,12 @@ impl Item { "common.items.cheese", "common.items.potion_minor", "common.items.collar", - "common.items.weapons.starter_sword", - "common.items.weapons.starter_axe", - "common.items.weapons.staff_nature", - "common.items.weapons.starter_hammer", - "common.items.weapons.starter_bow", - "common.items.weapons.starter_staff", + "common.items.weapons.sword.starter_sword", + "common.items.weapons.axe.starter_axe", + "common.items.weapons.staff.staff_nature", + "common.items.weapons.hammer.starter_hammer", + "common.items.weapons.bow.starter_bow", + "common.items.weapons.staff.starter_staff", "common.items.armor.belt.plate_0", "common.items.armor.belt.leather_0", "common.items.armor.chest.plate_green_0", @@ -155,8 +155,8 @@ impl Item { "common.items.armor.shoulder.leather_0", "common.items.armor.hand.leather_0", "common.items.armor.hand.plate_0", - "common.items.weapons.wood_sword", - "common.items.weapons.short_sword_0", + "common.items.weapons.sword.wood_sword", + "common.items.weapons.sword.short_sword_0", "common.items.armor.belt.cloth_blue_0", "common.items.armor.chest.cloth_blue_0", "common.items.armor.foot.cloth_blue_0", diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index 12fbd4b6f0..275b78f912 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -22,7 +22,11 @@ pub enum HammerKind { } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum BowKind { - BasicBow, + ShortBow0, + ShortBow1, + LongBow0, + LongBow1, + RareBow0, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum DaggerKind { @@ -37,6 +41,19 @@ pub enum StaffKind { pub enum ShieldKind { BasicShield, } +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] +pub enum FarmKind { + Broom, + Hoe0, + Hoe1, + Pitchfork, + Rake, + FishingRod0, + FishingRod1, + Pickaxe0, + Shovel0, + Shovel1, +} #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum DebugKind { @@ -54,6 +71,7 @@ pub enum ToolKind { Staff(StaffKind), Shield(ShieldKind), Debug(DebugKind), + Farming(FarmKind), /// This is an placeholder item, it is used by non-humanoid npcs to attack Empty, } @@ -114,6 +132,14 @@ impl Tool { range: 3.5, max_angle: 60.0, }], + Farming(_) => vec![BasicMelee { + energy_cost: 1, + buildup_duration: Duration::from_millis(700), + recover_duration: Duration::from_millis(150), + base_healthchange: -5, + range: 3.0, + max_angle: 60.0, + }], Bow(_) => vec![BasicRanged { energy_cost: 0, holdable: true, diff --git a/server/src/sys/terrain.rs b/server/src/sys/terrain.rs index dab026bf29..76458cb2ba 100644 --- a/server/src/sys/terrain.rs +++ b/server/src/sys/terrain.rs @@ -149,23 +149,33 @@ impl<'a> System<'a> for Sys { comp::Alignment::Npc => comp::Loadout { active_item, second_item: None, - shoulder: Some(assets::load_expect_cloned( - "common.items.armor.shoulder.leather_0", - )), + shoulder: None, chest: Some(assets::load_expect_cloned( - "common.items.armor.chest.leather_0", + match rand::thread_rng().gen_range(0, 10) { + 0 => "common.items.armor.chest.worker_green_0", + 1 => "common.items.armor.chest.worker_green_1", + 2 => "common.items.armor.chest.worker_red_0", + 3 => "common.items.armor.chest.worker_red_1", + 4 => "common.items.armor.chest.worker_purple_0", + 5 => "common.items.armor.chest.worker_purple_1", + 6 => "common.items.armor.chest.worker_yellow_0", + 7 => "common.items.armor.chest.worker_yellow_1", + 8 => "common.items.armor.chest.worker_orange_0", + _ => "common.items.armor.chest.worker_orange_1", + }, )), belt: Some(assets::load_expect_cloned( - "common.items.armor.belt.plate_0", - )), - hand: Some(assets::load_expect_cloned( - "common.items.armor.hand.plate_0", + "common.items.armor.belt.leather_0", )), + hand: None, pants: Some(assets::load_expect_cloned( - "common.items.armor.pants.plate_green_0", + "common.items.armor.pants.worker_blue_0", )), foot: Some(assets::load_expect_cloned( - "common.items.armor.foot.leather_0", + match rand::thread_rng().gen_range(0, 2) { + 0 => "common.items.armor.foot.leather_0", + _ => "common.items.armor.starter.sandals_0", + }, )), back: None, ring: None, @@ -178,27 +188,27 @@ impl<'a> System<'a> for Sys { active_item, second_item: None, shoulder: Some(assets::load_expect_cloned( - "common.items.armor.shoulder.leather_0", + "common.items.armor.shoulder.cultist_shoulder_purple", )), chest: Some(assets::load_expect_cloned( - "common.items.armor.chest.plate_green_0", + "common.items.armor.chest.cultist_chest_purple", )), belt: Some(assets::load_expect_cloned( - "common.items.armor.belt.plate_0", + "common.items.armor.belt.cultist_belt", )), hand: Some(assets::load_expect_cloned( - "common.items.armor.hand.plate_0", + "common.items.armor.hand.cultist_hands_purple", )), pants: Some(assets::load_expect_cloned( - "common.items.armor.pants.plate_green_0", + "common.items.armor.pants.cultist_legs_purple", )), foot: Some(assets::load_expect_cloned( - "common.items.armor.foot.plate_0", + "common.items.armor.foot.cultist_boots", )), back: None, ring: None, neck: None, - lantern: None, + lantern: Some(assets::load_expect_cloned("common.items.lantern.black_0")), head: None, tabard: None, }, @@ -233,7 +243,7 @@ impl<'a> System<'a> for Sys { body = comp::Body::Humanoid(body_new); stats = comp::Stats::new( format!( - "Fearless Giant {}", + "Gentle {} Giant", get_npc_name(&NPC_NAMES.humanoid, body_new.race) ), body, @@ -242,7 +252,7 @@ impl<'a> System<'a> for Sys { loadout = comp::Loadout { active_item: Some(comp::ItemConfig { item: assets::load_expect_cloned( - "common.items.weapons.zweihander_sword_0", + "common.items.weapons.sword.zweihander_sword_0", ), ability1: Some(CharacterAbility::BasicMelee { energy_cost: 0, diff --git a/voxygen/src/anim/character/dash.rs b/voxygen/src/anim/character/dash.rs index 4993b8f703..8d223b9b37 100644 --- a/voxygen/src/anim/character/dash.rs +++ b/voxygen/src/anim/character/dash.rs @@ -76,12 +76,6 @@ impl Animation for DashAnimation { }, _ => {}, } - next.head.offset = Vec3::new( - 0.0, - -2.0 + skeleton_attr.head.0, - skeleton_attr.head.1 + 12.0, - ); - next.head.ori = Quaternion::rotation_x(0.5); next.lantern.offset = Vec3::new( skeleton_attr.lantern.0, diff --git a/voxygen/src/anim/character/mod.rs b/voxygen/src/anim/character/mod.rs index 743fc40798..0265ffcb16 100644 --- a/voxygen/src/anim/character/mod.rs +++ b/voxygen/src/anim/character/mod.rs @@ -31,7 +31,6 @@ pub use self::{ use super::{Bone, Skeleton}; use crate::render::FigureBoneData; use common::comp; - #[derive(Clone, Default)] pub struct CharacterSkeleton { head: Bone, @@ -168,18 +167,18 @@ impl SkeletonAttr { pub fn calculate_scale(body: &comp::humanoid::Body) -> f32 { use comp::humanoid::{BodyType::*, Race::*}; match (body.race, body.body_type) { - (Orc, Male) => 0.95, - (Orc, Female) => 0.8, - (Human, Male) => 0.8, - (Human, Female) => 0.75, - (Elf, Male) => 0.85, - (Elf, Female) => 0.8, - (Dwarf, Male) => 0.7, - (Dwarf, Female) => 0.65, - (Undead, Male) => 0.8, - (Undead, Female) => 0.75, - (Danari, Male) => 0.58, - (Danari, Female) => 0.58, + (Orc, Male) => 0.95 * 1.2, + (Orc, Female) => 0.85 * 1.2, + (Human, Male) => 0.85 * 1.2, + (Human, Female) => 0.8 * 1.2, + (Elf, Male) => 0.85 * 1.2, + (Elf, Female) => 0.8 * 1.2, + (Dwarf, Male) => 0.7 * 1.2, + (Dwarf, Female) => 0.65 * 1.2, + (Undead, Male) => 0.8 * 1.2, + (Undead, Female) => 0.75 * 1.2, + (Danari, Male) => 0.58 * 1.2, + (Danari, Female) => 0.58 * 1.2, } } } @@ -192,27 +191,27 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { head_scale: match (body.race, body.body_type) { (Orc, Male) => 0.9, (Orc, Female) => 1.0, - (Human, Male) => 1.0, - (Human, Female) => 1.0, - (Elf, Male) => 0.95, - (Elf, Female) => 1.0, + (Human, Male) => 0.9, + (Human, Female) => 0.9, + (Elf, Male) => 0.9, + (Elf, Female) => 0.9, (Dwarf, Male) => 1.0, (Dwarf, Female) => 1.0, - (Undead, Male) => 1.0, - (Undead, Female) => 1.0, + (Undead, Male) => 0.9, + (Undead, Female) => 0.9, (Danari, Male) => 1.15, (Danari, Female) => 1.15, }, head: match (body.race, body.body_type) { (Orc, Male) => (0.0, 14.0), (Orc, Female) => (0.0, 14.0), - (Human, Male) => (0.0, 14.5), - (Human, Female) => (0.0, 14.0), - (Elf, Male) => (0.0, 14.5), - (Elf, Female) => (0.0, 14.5), + (Human, Male) => (0.3, 13.5), + (Human, Female) => (-0.6, 13.5), + (Elf, Male) => (0.0, 13.5), + (Elf, Female) => (0.0, 13.5), (Dwarf, Male) => (0.0, 14.5), (Dwarf, Female) => (0.0, 14.0), - (Undead, Male) => (0.5, 14.5), + (Undead, Male) => (0.5, 13.6), (Undead, Female) => (0.5, 14.5), (Danari, Male) => (0.5, 14.0), (Danari, Female) => (0.5, 14.0), diff --git a/voxygen/src/anim/character/run.rs b/voxygen/src/anim/character/run.rs index 0e2ad0ef0f..4a7dd9a4f5 100644 --- a/voxygen/src/anim/character/run.rs +++ b/voxygen/src/anim/character/run.rs @@ -23,7 +23,7 @@ impl Animation for RunAnimation { let walkintensity = if speed > 5.0 { 1.0 } else { 0.7 }; let walk = if speed > 5.0 { 1.0 } else { 0.5 }; - let lower = if speed > 5.0 { 0.0 } else { 2.0 }; + let lower = if speed > 5.0 { 0.0 } else { 1.0 }; let snapfoot = if speed > 5.0 { 1.1 } else { 2.0 }; let lab = 1.0; let long = (((5.0) @@ -101,7 +101,7 @@ impl Animation for RunAnimation { next.chest.offset = Vec3::new( 0.0, skeleton_attr.chest.0, - skeleton_attr.chest.1 + 1.0 + short * 1.1 - lower, + skeleton_attr.chest.1 + 2.0 + short * 1.1 - lower, ); next.chest.ori = Quaternion::rotation_z(short * 0.3 * walkintensity); next.chest.scale = Vec3::one(); diff --git a/voxygen/src/anim/character/wield.rs b/voxygen/src/anim/character/wield.rs index 4458f2df08..cd426e5b46 100644 --- a/voxygen/src/anim/character/wield.rs +++ b/voxygen/src/anim/character/wield.rs @@ -20,8 +20,23 @@ impl Animation for WieldAnimation { let lab = 1.0; let mut next = (*skeleton).clone(); + let head_look = Vec2::new( + ((global_time + anim_time) as f32 / 10.0) + .floor() + .mul(7331.0) + .sin() + * 0.2, + ((global_time + anim_time) as f32 / 10.0) + .floor() + .mul(1337.0) + .sin() + * 0.1, + ); + let slow_cos = (anim_time as f32 * 6.0 + PI).cos(); let ultra_slow = (anim_time as f32 * 1.0 + PI).sin(); + let slow = (anim_time as f32 * 3.0 + PI).sin(); + let ultra_slow_cos = (anim_time as f32 * 3.0 + PI).cos(); let short = (((5.0) / (1.5 + 3.5 * ((anim_time as f32 * lab as f32 * 16.0).sin()).powf(2.0 as f32))) @@ -30,6 +45,59 @@ impl Animation for WieldAnimation { let noisea = (anim_time as f32 * 11.0 + PI / 6.0).sin(); let noiseb = (anim_time as f32 * 19.0 + PI / 4.0).sin(); let wave = (anim_time as f32 * 16.0).sin(); + + if velocity > 0.5 { + next.torso.offset = Vec3::new(0.0, 0.0, 0.0) * skeleton_attr.scaler; + next.torso.ori = Quaternion::rotation_x(-0.2); + next.torso.scale = Vec3::one() / 11.0 * skeleton_attr.scaler; + + next.back.offset = Vec3::new(0.0, -2.8, 7.25); + next.back.ori = Quaternion::rotation_x( + (-0.25 + short * 0.3 + noisea * 0.4 + noiseb * 0.4).min(-0.1), + ); + next.back.scale = Vec3::one() * 1.02; + } else { + next.head.offset = Vec3::new( + 0.0, + -2.0 + skeleton_attr.head.0, + skeleton_attr.head.1 + ultra_slow * 0.1, + ); + next.head.ori = + Quaternion::rotation_z(head_look.x) * Quaternion::rotation_x(head_look.y.abs()); + next.head.scale = Vec3::one() * skeleton_attr.head_scale; + + next.chest.offset = Vec3::new( + 0.0 + slow_cos * 0.5, + skeleton_attr.chest.0, + skeleton_attr.chest.1 + ultra_slow * 0.5, + ); + next.torso.offset = Vec3::new(0.0, 0.0, 0.0) * skeleton_attr.scaler; + next.torso.scale = Vec3::one() / 11.0 * skeleton_attr.scaler; + + next.l_foot.offset = Vec3::new(-3.4, -2.5, 9.0); + next.l_foot.ori = Quaternion::rotation_x(ultra_slow_cos * 0.035 - 0.2); + next.l_foot.scale = Vec3::one(); + + next.r_foot.offset = Vec3::new(3.4, 3.5, 9.0); + next.r_foot.ori = Quaternion::rotation_x(ultra_slow * 0.035); + next.r_foot.scale = Vec3::one(); + + next.chest.ori = + Quaternion::rotation_y(ultra_slow_cos * 0.04) * Quaternion::rotation_z(0.15); + next.chest.scale = Vec3::one(); + + next.belt.offset = Vec3::new(0.0, skeleton_attr.belt.0, skeleton_attr.belt.1); + next.belt.ori = + Quaternion::rotation_y(ultra_slow_cos * 0.03) * Quaternion::rotation_z(0.22); + next.belt.scale = Vec3::one() * 1.02; + + next.back.offset = Vec3::new(0.0, skeleton_attr.back.0, skeleton_attr.back.1); + next.back.ori = Quaternion::rotation_x(-0.2); + next.back.scale = Vec3::one() * 1.02; + next.shorts.offset = Vec3::new(0.0, skeleton_attr.shorts.0, skeleton_attr.shorts.1); + next.shorts.ori = Quaternion::rotation_z(0.3); + next.shorts.scale = Vec3::one(); + } match active_tool_kind { //TODO: Inventory Some(ToolKind::Sword(_)) => { @@ -151,12 +219,12 @@ impl Animation for WieldAnimation { }, Some(ToolKind::Debug(_)) => { next.l_hand.offset = Vec3::new(-7.0, 4.0, 3.0); - next.l_hand.ori = Quaternion::rotation_x(1.27 + wave * 0.25) + next.l_hand.ori = Quaternion::rotation_x(1.27) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); next.l_hand.scale = Vec3::one() * 1.01; next.r_hand.offset = Vec3::new(7.0, 2.5, -1.25); - next.r_hand.ori = Quaternion::rotation_x(1.27 + wave * 0.25) + next.r_hand.ori = Quaternion::rotation_x(1.27) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(-0.3); next.r_hand.scale = Vec3::one() * 1.01; @@ -166,86 +234,38 @@ impl Animation for WieldAnimation { * Quaternion::rotation_z(wave * -0.25); next.main.scale = Vec3::one(); }, + Some(ToolKind::Farming(_)) => { + if velocity < 0.5 { + next.head.ori = Quaternion::rotation_z(head_look.x) + * Quaternion::rotation_x(-0.2 + head_look.y.abs()); + next.head.scale = Vec3::one() * skeleton_attr.head_scale; + } + next.l_hand.offset = Vec3::new(9.0, 1.0, 1.0); + next.l_hand.ori = Quaternion::rotation_x(1.57) * Quaternion::rotation_y(0.0); + next.l_hand.scale = Vec3::one() * 1.05; + next.r_hand.offset = Vec3::new(9.0, 1.0, 11.0); + next.r_hand.ori = Quaternion::rotation_x(1.57) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.r_hand.scale = Vec3::one() * 1.05; + next.main.offset = Vec3::new(7.5, 7.5, 13.2); + next.main.ori = Quaternion::rotation_x(0.0) + * Quaternion::rotation_y(3.14) + * Quaternion::rotation_z(0.0); + next.main.scale = Vec3::one(); + + next.control.offset = Vec3::new(-11.0 + slow * 2.0, 1.8, 4.0); + next.control.ori = Quaternion::rotation_x(ultra_slow * 0.1) + * Quaternion::rotation_y(0.6 + ultra_slow * 0.1) + * Quaternion::rotation_z(ultra_slow_cos * 0.1); + next.control.scale = Vec3::one(); + }, _ => {}, } - if velocity > 0.5 { - next.torso.offset = Vec3::new(0.0, 0.0, 0.0) * skeleton_attr.scaler; - next.torso.ori = Quaternion::rotation_x(-0.2); - next.torso.scale = Vec3::one() / 11.0 * skeleton_attr.scaler; + next.l_control.scale = Vec3::one(); - next.back.offset = Vec3::new(0.0, -2.8, 7.25); - next.back.ori = Quaternion::rotation_x( - (-0.25 + short * 0.3 + noisea * 0.4 + noiseb * 0.4).min(-0.1), - ); - next.back.scale = Vec3::one() * 1.02; - - next.l_control.offset = Vec3::new(0.0, 0.0, 0.0); - next.l_control.ori = Quaternion::rotation_x(0.0); - next.l_control.scale = Vec3::one(); - - next.r_control.offset = Vec3::new(0.0, 0.0, 0.0); - next.r_control.ori = Quaternion::rotation_x(0.0); - next.r_control.scale = Vec3::one(); - } else { - let head_look = Vec2::new( - ((global_time + anim_time) as f32 / 10.0) - .floor() - .mul(7331.0) - .sin() - * 0.2, - ((global_time + anim_time) as f32 / 10.0) - .floor() - .mul(1337.0) - .sin() - * 0.1, - ); - next.head.offset = Vec3::new( - 0.0, - -2.0 + skeleton_attr.head.0, - skeleton_attr.head.1 + ultra_slow * 0.1, - ); - next.head.ori = - Quaternion::rotation_z(head_look.x) * Quaternion::rotation_x(head_look.y.abs()); - next.head.scale = Vec3::one() * skeleton_attr.head_scale; - - next.chest.offset = Vec3::new( - 0.0 + slow_cos * 0.5, - skeleton_attr.chest.0, - skeleton_attr.chest.1 + ultra_slow * 0.5, - ); - next.chest.ori = - Quaternion::rotation_y(ultra_slow_cos * 0.04) * Quaternion::rotation_z(0.15); - next.chest.scale = Vec3::one(); - - next.belt.offset = Vec3::new(0.0, skeleton_attr.belt.0, skeleton_attr.belt.1); - next.belt.ori = - Quaternion::rotation_y(ultra_slow_cos * 0.03) * Quaternion::rotation_z(0.22); - next.belt.scale = Vec3::one() * 1.02; - - next.back.offset = Vec3::new(0.0, skeleton_attr.back.0, skeleton_attr.back.1); - next.back.ori = Quaternion::rotation_x(-0.2); - next.back.scale = Vec3::one() * 1.02; - - next.shorts.offset = Vec3::new(0.0, skeleton_attr.shorts.0, skeleton_attr.shorts.1); - next.shorts.ori = Quaternion::rotation_z(0.3); - next.shorts.scale = Vec3::one(); - - next.l_foot.offset = Vec3::new(-3.4, -2.5, 9.0); - next.l_foot.ori = Quaternion::rotation_x(ultra_slow_cos * 0.035 - 0.2); - next.l_foot.scale = Vec3::one(); - - next.r_foot.offset = Vec3::new(3.4, 3.5, 9.0); - next.r_foot.ori = Quaternion::rotation_x(ultra_slow * 0.035); - next.r_foot.scale = Vec3::one(); - - next.torso.offset = Vec3::new(0.0, 0.0, 0.0) * skeleton_attr.scaler; - next.torso.scale = Vec3::one() / 11.0 * skeleton_attr.scaler; - - next.l_control.scale = Vec3::one(); - - next.r_control.scale = Vec3::one(); - } + next.r_control.scale = Vec3::one(); next } diff --git a/voxygen/src/anim/mod.rs b/voxygen/src/anim/mod.rs index 60e67508c6..b5f3484e4b 100644 --- a/voxygen/src/anim/mod.rs +++ b/voxygen/src/anim/mod.rs @@ -60,9 +60,6 @@ pub trait Skeleton: Send + Sync + 'static { fn interpolate(&mut self, target: &Self, dt: f32); } -// rustc complains that `SkeletonAttr` fields are never read. -// Pls remove when they are. - pub trait Animation { type Skeleton: Skeleton; type Dependency; diff --git a/voxygen/src/audio/sfx/event_mapper/movement/tests.rs b/voxygen/src/audio/sfx/event_mapper/movement/tests.rs index f8b6b91187..16edeb4b30 100644 --- a/voxygen/src/audio/sfx/event_mapper/movement/tests.rs +++ b/voxygen/src/audio/sfx/event_mapper/movement/tests.rs @@ -331,7 +331,7 @@ fn maps_wield_while_equipping() { let mut loadout = Loadout::default(); loadout.active_item = Some(ItemConfig { - item: assets::load_expect_cloned("common.items.weapons.starter_axe"), + item: assets::load_expect_cloned("common.items.weapons.axe.starter_axe"), ability1: None, ability2: None, ability3: None, @@ -368,7 +368,7 @@ fn maps_unwield() { let mut loadout = Loadout::default(); loadout.active_item = Some(ItemConfig { - item: assets::load_expect_cloned("common.items.weapons.starter_bow"), + item: assets::load_expect_cloned("common.items.weapons.bow.starter_bow"), ability1: None, ability2: None, ability3: None, @@ -395,7 +395,7 @@ fn maps_unwield() { Some(&loadout), ); - assert_eq!(result, SfxEvent::Unwield(ToolKind::Bow(BowKind::BasicBow))); + assert_eq!(result, SfxEvent::Unwield(ToolKind::Bow(BowKind::ShortBow0))); } #[test] diff --git a/voxygen/src/menu/char_selection/ui.rs b/voxygen/src/menu/char_selection/ui.rs index 4ea9422a5e..ee155ac723 100644 --- a/voxygen/src/menu/char_selection/ui.rs +++ b/voxygen/src/menu/char_selection/ui.rs @@ -13,7 +13,7 @@ use crate::{ use client::Client; use common::{ assets, - assets::load_expect, + assets::{load, load_expect}, comp::{self, humanoid}, }; use conrod_core::{ @@ -23,14 +23,15 @@ use conrod_core::{ widget::{text_box::Event as TextBoxEvent, Button, Image, Rectangle, Scrollbar, Text, TextBox}, widget_ids, Borderable, Color, Colorable, Labelable, Positionable, Sizeable, UiCell, Widget, }; +use log::error; use std::sync::Arc; -const STARTER_HAMMER: &str = "common.items.weapons.starter_hammer"; -const STARTER_BOW: &str = "common.items.weapons.starter_bow"; -const STARTER_AXE: &str = "common.items.weapons.starter_axe"; -const STARTER_STAFF: &str = "common.items.weapons.starter_staff"; -const STARTER_SWORD: &str = "common.items.weapons.starter_sword"; -const STARTER_DAGGER: &str = "common.items.weapons.starter_dagger"; +const STARTER_HAMMER: &str = "common.items.weapons.hammer.starter_hammer"; +const STARTER_BOW: &str = "common.items.weapons.bow.starter_bow"; +const STARTER_AXE: &str = "common.items.weapons.axe.starter_axe"; +const STARTER_STAFF: &str = "common.items.weapons.staff.starter_staff"; +const STARTER_SWORD: &str = "common.items.weapons.sword.starter_sword"; +const STARTER_DAGGER: &str = "common.items.weapons.dagger.starter_dagger"; // UI Color-Theme const UI_MAIN: Color = Color::Rgba(0.61, 0.70, 0.70, 1.0); // Greenish Blue @@ -342,7 +343,14 @@ impl CharSelectionUi { .as_ref() .and_then(|d| d.tool.as_ref()) .map(|tool| comp::ItemConfig { - item: (*load_expect::(&tool)).clone(), + item: (*load::(&tool).unwrap_or_else(|err| { + error!( + "Could not load item {} maybe it no longer exists: {:?}", + &tool, err + ); + load_expect("common.items.weapons.sword.starter_sword") + })) + .clone(), ability1: None, ability2: None, ability3: None, diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index d5cc47a654..c3a223cf6d 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -112,6 +112,7 @@ struct ArmorVoxSpec { struct SidedArmorVoxSpec { left: ArmorVoxSpec, right: ArmorVoxSpec, + color: Option<[u8; 3]>, } #[derive(Serialize, Deserialize)] @@ -371,7 +372,7 @@ impl HumArmorShoulderSpec { &self.0.default }; - let shoulder_segment = color_segment( + let mut shoulder_segment = color_segment( if flipped { graceful_load_mat_segment_flipped(&spec.left.vox_spec.0) } else { @@ -393,6 +394,16 @@ impl HumArmorShoulderSpec { spec.right.vox_spec.1 }; + if let Some(color) = if flipped { + spec.left.color + } else { + spec.right.color + } { + let shoulder_color = Vec3::from(color); + shoulder_segment = + shoulder_segment.map_rgb(|rgb| recolor_grey(rgb, Rgb::from(shoulder_color))); + } + generate_mesh(&shoulder_segment, Vec3::from(offset)) } @@ -500,7 +511,7 @@ impl HumArmorHandSpec { &self.0.default }; - let hand_segment = color_segment( + let mut hand_segment = color_segment( if flipped { graceful_load_mat_segment_flipped(&spec.left.vox_spec.0) } else { @@ -517,6 +528,15 @@ impl HumArmorHandSpec { spec.right.vox_spec.1 }; + if let Some(color) = if flipped { + spec.left.color + } else { + spec.right.color + } { + let hand_color = Vec3::from(color); + hand_segment = hand_segment.map_rgb(|rgb| recolor_grey(rgb, Rgb::from(hand_color))); + } + generate_mesh(&hand_segment, Vec3::from(offset)) } @@ -567,13 +587,18 @@ impl HumArmorBeltSpec { &self.0.default }; - let belt_segment = color_segment( + 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), ); + if let Some(color) = spec.color { + let belt_color = Vec3::from(color); + belt_segment = belt_segment.map_rgb(|rgb| recolor_grey(rgb, Rgb::from(belt_color))); + } + generate_mesh(&belt_segment, Vec3::from(spec.vox_spec.1)) } } @@ -606,12 +631,16 @@ impl HumArmorBackSpec { &self.0.default }; - let back_segment = color_segment( + 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), ); + if let Some(color) = spec.color { + let back_color = Vec3::from(color); + back_segment = back_segment.map_rgb(|rgb| recolor_grey(rgb, Rgb::from(back_color))); + } generate_mesh(&back_segment, Vec3::from(spec.vox_spec.1)) } @@ -702,7 +731,7 @@ impl HumArmorFootSpec { &self.0.default }; - let foot_segment = color_segment( + let mut foot_segment = color_segment( if flipped { graceful_load_mat_segment_flipped(&spec.vox_spec.0) } else { @@ -713,6 +742,11 @@ impl HumArmorFootSpec { body.race.eye_color(body.eye_color), ); + if let Some(color) = spec.color { + let foot_color = Vec3::from(color); + foot_segment = foot_segment.map_rgb(|rgb| recolor_grey(rgb, Rgb::from(foot_color))); + } + generate_mesh(&foot_segment, Vec3::from(spec.vox_spec.1)) } @@ -755,7 +789,7 @@ impl HumMainWeaponSpec { let spec = match self.0.get(tool_kind) { Some(spec) => spec, None => { - error!("No hand specification exists for {:?}", tool_kind); + error!("No tool/weapon specification exists for {:?}", tool_kind); return load_mesh("not_found", Vec3::new(-1.5, -1.5, -7.0), generate_mesh); }, }; @@ -789,12 +823,17 @@ impl HumArmorLanternSpec { &self.0.default }; - let lantern_segment = color_segment( + 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), ); + if let Some(color) = spec.color { + let lantern_color = Vec3::from(color); + lantern_segment = + lantern_segment.map_rgb(|rgb| recolor_grey(rgb, Rgb::from(lantern_color))); + } generate_mesh(&lantern_segment, Vec3::from(spec.vox_spec.1)) } diff --git a/voxygen/src/scene/simple.rs b/voxygen/src/scene/simple.rs index d400d69c53..c4c8f4e235 100644 --- a/voxygen/src/scene/simple.rs +++ b/voxygen/src/scene/simple.rs @@ -89,7 +89,7 @@ impl Scene { let mut camera = Camera::new(resolution.x / resolution.y, CameraMode::ThirdPerson); camera.set_focus_pos(Vec3::unit_z() * 1.5); - camera.set_distance(3.0); // 4.2 + camera.set_distance(3.4); camera.set_orientation(Vec3::new(0.0, 0.0, 0.0)); Self { diff --git a/voxygen/src/scene/terrain.rs b/voxygen/src/scene/terrain.rs index 9370c0f7a8..8f15a120dc 100644 --- a/voxygen/src/scene/terrain.rs +++ b/voxygen/src/scene/terrain.rs @@ -1832,7 +1832,7 @@ impl Terrain { (BlockKind::Coconut, 0), make_models( "voxygen.voxel.sprite.fruit.coconut", - Vec3::new(-6.0, -6.0, 0.0), + Vec3::new(-6.0, -6.0, 2.0), Vec3::one(), ), ), diff --git a/world/src/site/dungeon/mod.rs b/world/src/site/dungeon/mod.rs index 9a19332ff4..651a819bb8 100644 --- a/world/src/site/dungeon/mod.rs +++ b/world/src/site/dungeon/mod.rs @@ -406,12 +406,12 @@ impl Floor { .with_body(comp::Body::Humanoid(comp::humanoid::Body::random())) .with_automatic_name() .with_main_tool(assets::load_expect_cloned(match rng.gen_range(0, 6) { - 0 => "common.items.weapons.starter_axe", - 1 => "common.items.weapons.starter_sword", - 2 => "common.items.weapons.short_sword_0", - 3 => "common.items.weapons.hammer_1", - 4 => "common.items.weapons.starter_staff", - _ => "common.items.weapons.starter_bow", + 0 => "common.items.weapons.axe.starter_axe", + 1 => "common.items.weapons.sword.starter_sword", + 2 => "common.items.weapons.sword.short_sword_0", + 3 => "common.items.weapons.hammer.hammer_1", + 4 => "common.items.weapons.staff.starter_staff", + _ => "common.items.weapons.bow.starter_bow", })); supplement.add_entity(entity); diff --git a/world/src/site/settlement/mod.rs b/world/src/site/settlement/mod.rs index cba520fa10..8bffeb2c19 100644 --- a/world/src/site/settlement/mod.rs +++ b/world/src/site/settlement/mod.rs @@ -813,13 +813,15 @@ impl Settlement { }) .do_if(rng.gen(), |entity| { entity.with_main_tool(assets::load_expect_cloned( - match rng.gen_range(0, 6) { - 0 => "common.items.weapons.starter_axe", - 1 => "common.items.weapons.starter_sword", - 2 => "common.items.weapons.short_sword_0", - 3 => "common.items.weapons.hammer_1", - 4 => "common.items.weapons.starter_staff", - _ => "common.items.weapons.starter_bow", + match rng.gen_range(0, 8) { + 0 => "common.items.weapons.tool.broom", + 1 => "common.items.weapons.tool.hoe", + 2 => "common.items.weapons.tool.pickaxe", + 3 => "common.items.weapons.tool.pitchfork", + 4 => "common.items.weapons.tool.rake", + 5 => "common.items.weapons.tool.shovel-0", + 6 => "common.items.weapons.tool.shovel-1", + _ => "common.items.weapons.bow.starter_bow", }, )) })