From 30bcc6aaa3b3ade780977a5b4cb868627a422a71 Mon Sep 17 00:00:00 2001 From: Monty Marz Date: Sat, 22 May 2021 10:55:36 +0000 Subject: [PATCH] Ferocious armour for t5-dungeon minibosses --- CHANGELOG.md | 1 + assets/common/items/armor/ferocious/back.ron | 13 ++++++++ assets/common/items/armor/ferocious/belt.ron | 13 ++++++++ assets/common/items/armor/ferocious/chest.ron | 13 ++++++++ assets/common/items/armor/ferocious/foot.ron | 13 ++++++++ assets/common/items/armor/ferocious/hand.ron | 13 ++++++++ assets/common/items/armor/ferocious/pants.ron | 13 ++++++++ .../common/items/armor/ferocious/shoulder.ron | 13 ++++++++ assets/server/manifests/kits.ron | 10 ++++++ assets/voxygen/item_image_manifest.ron | 29 +++++++++++++++++ assets/voxygen/voxel/armor/ferocious/back.vox | 3 ++ assets/voxygen/voxel/armor/ferocious/belt.vox | 3 ++ .../voxygen/voxel/armor/ferocious/chest.vox | 3 ++ assets/voxygen/voxel/armor/ferocious/foot.vox | 3 ++ assets/voxygen/voxel/armor/ferocious/hand.vox | 3 ++ .../voxygen/voxel/armor/ferocious/pants.vox | 3 ++ .../voxel/armor/ferocious/shoulder.vox | 3 ++ .../voxel/humanoid_armor_back_manifest.ron | 4 +++ .../voxel/humanoid_armor_belt_manifest.ron | 4 +++ .../voxel/humanoid_armor_chest_manifest.ron | 4 +++ .../voxel/humanoid_armor_foot_manifest.ron | 4 +++ .../voxel/humanoid_armor_hand_manifest.ron | 10 ++++++ .../voxel/humanoid_armor_pants_manifest.ron | 4 +++ .../humanoid_armor_shoulder_manifest.ron | 10 ++++++ common/src/comp/inventory/loadout_builder.rs | 32 +++++++++++++++++++ world/src/site/dungeon/mod.rs | 10 +++--- 26 files changed, 228 insertions(+), 6 deletions(-) create mode 100644 assets/common/items/armor/ferocious/back.ron create mode 100644 assets/common/items/armor/ferocious/belt.ron create mode 100644 assets/common/items/armor/ferocious/chest.ron create mode 100644 assets/common/items/armor/ferocious/foot.ron create mode 100644 assets/common/items/armor/ferocious/hand.ron create mode 100644 assets/common/items/armor/ferocious/pants.ron create mode 100644 assets/common/items/armor/ferocious/shoulder.ron create mode 100644 assets/voxygen/voxel/armor/ferocious/back.vox create mode 100644 assets/voxygen/voxel/armor/ferocious/belt.vox create mode 100644 assets/voxygen/voxel/armor/ferocious/chest.vox create mode 100644 assets/voxygen/voxel/armor/ferocious/foot.vox create mode 100644 assets/voxygen/voxel/armor/ferocious/hand.vox create mode 100644 assets/voxygen/voxel/armor/ferocious/pants.vox create mode 100644 assets/voxygen/voxel/armor/ferocious/shoulder.vox diff --git a/CHANGELOG.md b/CHANGELOG.md index a637f65275..479a78475a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,6 +61,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added non-admin moderators with limit privileges and updated the security model to reflect this. - Chat tabs - NPC's now hear certain sounds +- Renamed Animal Trainers to Beastmasters and gave them their own set of armor to wear ### Changed diff --git a/assets/common/items/armor/ferocious/back.ron b/assets/common/items/armor/ferocious/back.ron new file mode 100644 index 0000000000..2fe58fc063 --- /dev/null +++ b/assets/common/items/armor/ferocious/back.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ferocious Mantle", + description: "The dark side of nature", + kind: Armor(( + kind: Back("Ferocious"), + stats: ( + protection: Normal(3.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Epic, + tags: [ClothItem], +) diff --git a/assets/common/items/armor/ferocious/belt.ron b/assets/common/items/armor/ferocious/belt.ron new file mode 100644 index 0000000000..4486641465 --- /dev/null +++ b/assets/common/items/armor/ferocious/belt.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ferocious Sash", + description: "The dark side of nature", + kind: Armor(( + kind: Belt("Ferocious"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Epic, + tags: [ClothItem], +) diff --git a/assets/common/items/armor/ferocious/chest.ron b/assets/common/items/armor/ferocious/chest.ron new file mode 100644 index 0000000000..b39b5cfa60 --- /dev/null +++ b/assets/common/items/armor/ferocious/chest.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ferocious Shirt", + description: "The dark side of nature", + kind: Armor(( + kind: Chest("Ferocious"), + stats: ( + protection: Normal(30.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Epic, + tags: [ClothItem], +) diff --git a/assets/common/items/armor/ferocious/foot.ron b/assets/common/items/armor/ferocious/foot.ron new file mode 100644 index 0000000000..2d9e2667aa --- /dev/null +++ b/assets/common/items/armor/ferocious/foot.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ferocious Waraji", + description: "The dark side of nature", + kind: Armor(( + kind: Foot("Ferocious"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Epic, + tags: [ClothItem], +) diff --git a/assets/common/items/armor/ferocious/hand.ron b/assets/common/items/armor/ferocious/hand.ron new file mode 100644 index 0000000000..b7bb7cc90e --- /dev/null +++ b/assets/common/items/armor/ferocious/hand.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ferocious Wraps", + description: "The dark side of nature", + kind: Armor(( + kind: Hand("Ferocious"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Epic, + tags: [ClothItem], +) diff --git a/assets/common/items/armor/ferocious/pants.ron b/assets/common/items/armor/ferocious/pants.ron new file mode 100644 index 0000000000..fc1d0be115 --- /dev/null +++ b/assets/common/items/armor/ferocious/pants.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ferocious Shorts", + description: "The dark side of nature", + kind: Armor(( + kind: Pants("Ferocious"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Epic, + tags: [ClothItem], +) diff --git a/assets/common/items/armor/ferocious/shoulder.ron b/assets/common/items/armor/ferocious/shoulder.ron new file mode 100644 index 0000000000..b73b090e95 --- /dev/null +++ b/assets/common/items/armor/ferocious/shoulder.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ferocious Guards", + description: "The dark side of nature", + kind: Armor(( + kind: Shoulder("Ferocious"), + stats: ( + protection: Normal(18.0), + poise_resilience: Normal(1.0), + ), + )), + quality: Epic, + tags: [ClothItem], +) diff --git a/assets/server/manifests/kits.ron b/assets/server/manifests/kits.ron index 80139d62ae..0db709f48b 100644 --- a/assets/server/manifests/kits.ron +++ b/assets/server/manifests/kits.ron @@ -34,6 +34,16 @@ ("common.items.weapons.axe.malachite_axe-0",1), ("common.items.weapons.sceptre.sceptre_velorite_0",1), ], + "ferocious": [ + ("common.items.armor.ferocious.chest",1), + ("common.items.armor.ferocious.pants",1), + ("common.items.armor.ferocious.hand",1), + ("common.items.armor.ferocious.foot",1), + ("common.items.armor.ferocious.shoulder",1), + ("common.items.armor.ferocious.belt",1), + ("common.items.armor.ferocious.back",1), + ("common.items.weapons.sword.bloodsteel-1",1), + ], "consumables": [ ("common.items.consumable.potion_minor", 100), ("common.items.consumable.potion_med", 100), diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index 1bdc21201c..561492b219 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -1375,6 +1375,35 @@ "voxel.armor.agile.shoulder", (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, ), + //Ferocious Armor + Armor(Chest("Ferocious")): VoxTrans( + "voxel.armor.ferocious.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Ferocious")): VoxTrans( + "voxel.armor.ferocious.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Ferocious")): VoxTrans( + "voxel.armor.ferocious.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.8, + ), + Armor(Foot("Ferocious")): VoxTrans( + "voxel.armor.ferocious.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Ferocious")): VoxTrans( + "voxel.armor.ferocious.hand", + (0.0, 0.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Ferocious")): VoxTrans( + "voxel.armor.ferocious.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Ferocious")): VoxTrans( + "voxel.armor.ferocious.back", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.0, + ), //Blue Leather Armor Armor(Chest("BlueLeather")): VoxTrans( "voxel.armor.leather_blue.chest", diff --git a/assets/voxygen/voxel/armor/ferocious/back.vox b/assets/voxygen/voxel/armor/ferocious/back.vox new file mode 100644 index 0000000000..09943e021f --- /dev/null +++ b/assets/voxygen/voxel/armor/ferocious/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f91d839ee3f745bc76559b92fdacad8ee5024ac75b710ed2e1f2458f18e1c9eb +size 1512 diff --git a/assets/voxygen/voxel/armor/ferocious/belt.vox b/assets/voxygen/voxel/armor/ferocious/belt.vox new file mode 100644 index 0000000000..3b6a6c49a8 --- /dev/null +++ b/assets/voxygen/voxel/armor/ferocious/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82b3f578a082bc20374dc61401ac8cd6669e71e2c65db1d1702e72b64f729667 +size 1512 diff --git a/assets/voxygen/voxel/armor/ferocious/chest.vox b/assets/voxygen/voxel/armor/ferocious/chest.vox new file mode 100644 index 0000000000..b5385a94e4 --- /dev/null +++ b/assets/voxygen/voxel/armor/ferocious/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc737821510b0028d6a2999a74df3d03a5f5d91cd6bf62ddc7d37750e7aefd50 +size 2712 diff --git a/assets/voxygen/voxel/armor/ferocious/foot.vox b/assets/voxygen/voxel/armor/ferocious/foot.vox new file mode 100644 index 0000000000..33c1387bbb --- /dev/null +++ b/assets/voxygen/voxel/armor/ferocious/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7757eab605b3f606885c5aa778414d894f7a28cda891eced5fcd7f907493230a +size 1376 diff --git a/assets/voxygen/voxel/armor/ferocious/hand.vox b/assets/voxygen/voxel/armor/ferocious/hand.vox new file mode 100644 index 0000000000..5cddbbc897 --- /dev/null +++ b/assets/voxygen/voxel/armor/ferocious/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6151deada7a7c3a8a38ae0ee2a5d9f7c69ed004c802bbbf07c1363bd199229b +size 1240 diff --git a/assets/voxygen/voxel/armor/ferocious/pants.vox b/assets/voxygen/voxel/armor/ferocious/pants.vox new file mode 100644 index 0000000000..7f0b6808ca --- /dev/null +++ b/assets/voxygen/voxel/armor/ferocious/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26f05abbc91d87b7e40b710e51b22ca255aaa869868d100c55a426125802ddac +size 1784 diff --git a/assets/voxygen/voxel/armor/ferocious/shoulder.vox b/assets/voxygen/voxel/armor/ferocious/shoulder.vox new file mode 100644 index 0000000000..2e9f557dcb --- /dev/null +++ b/assets/voxygen/voxel/armor/ferocious/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29770b82c7fee7986f69c6d36308f306fb7438165c87f7c43eab1b00403df026 +size 1280 diff --git a/assets/voxygen/voxel/humanoid_armor_back_manifest.ron b/assets/voxygen/voxel/humanoid_armor_back_manifest.ron index 81e30417f8..2b242dbaae 100644 --- a/assets/voxygen/voxel/humanoid_armor_back_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_back_manifest.ron @@ -24,6 +24,10 @@ vox_spec: ("armor.agile.back", (-5.0, -1.0, -11.0)), color: None ), + "Ferocious": ( + vox_spec: ("armor.ferocious.back", (-5.0, -1.5, -14.0)), + color: None + ), "Backpack": ( vox_spec: ("armor.misc.back.backpack", (-7.0, -5.0, -10.0)), color: None diff --git a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron index d9be59fe73..b16a29bee0 100644 --- a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron @@ -24,6 +24,10 @@ vox_spec: ("armor.assassin.belt", (-5.0, -3.5, 2.0)), color: None ), + "Ferocious": ( + vox_spec: ("armor.ferocious.belt", (-4.0, -3.5, -1.0)), + color: None + ), "Plate": ( vox_spec: ("armor.plate.belt", (-5.0, -3.5, 2.0)), color: None diff --git a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron index e06b45db3f..8b624b319f 100644 --- a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron @@ -28,6 +28,10 @@ vox_spec: ("armor.misc.chest.grayscale", (-7.0, -3.5, 2.0)), color: Some((29, 26, 33)) ), + "Ferocious": ( + vox_spec: ("armor.ferocious.chest", (-7.0, -3.5, 2.0)), + color: None + ), "Assassin": ( vox_spec: ("armor.assassin.chest", (-7.0, -3.5, 2.0)), color: None diff --git a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron index 43235c8e94..f41ee92a53 100644 --- a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron @@ -28,6 +28,10 @@ vox_spec: ("armor.cloth_purple.foot", (-2.5, -3.5, -2.0)), color: None ), + "Ferocious": ( + vox_spec: ("armor.ferocious.foot", (-2.5, -3.5, -2.0)), + color: None + ), "ClothBlue": ( vox_spec: ("armor.cloth_blue.foot", (-2.5, -3.5, -2.0)), color: None diff --git a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron index 1bf311f527..a95bd554a6 100644 --- a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron @@ -30,6 +30,16 @@ color: None ) ), + "Ferocious": ( + left: ( + vox_spec: ("armor.ferocious.hand", (-1.5, -1.5, -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.ferocious.hand", (-1.5, -1.5, -3.0)), + color: None + ) + ), "Plate": ( left: ( vox_spec: ("armor.plate.hand", (-1.5, -1.5, -2.5)), diff --git a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron index d3ce20aa93..fde3b5b2cb 100644 --- a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron @@ -31,6 +31,10 @@ "Kimono": ( vox_spec: ("armor.misc.pants.cloth_red_kimono", (-5.0, -3.5, 0.0)), color: None + ), + "Ferocious": ( + vox_spec: ("armor.ferocious.pants", (-5.0, -3.5, 1.0)), + color: None ), "Plate": ( vox_spec: ("armor.plate.pants", (-5.0, -3.5, 1.0)), diff --git a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron index 4a97ad7ea2..2c25cce062 100644 --- a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron @@ -41,6 +41,16 @@ color: None ) ), + "Ferocious": ( + left: ( + vox_spec: ("armor.ferocious.shoulder", (-6.0, -2.5, -1.0)), + color: None + ), + right: ( + vox_spec: ("armor.ferocious.shoulder", (-3.0, -2.5, -1.0)), + color: None + ) + ), "Plate": ( left: ( vox_spec: ("armor.plate.shoulder", (-3.6, -3.5, -0.0)), diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index 030851e417..d3b52d248a 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -52,6 +52,7 @@ pub enum LoadoutConfig { Bandit, CultistNovice, CultistAcolyte, + Beastmaster, Warlord, Warlock, } @@ -884,6 +885,37 @@ impl LoadoutBuilder { "common.items.glider.glider_blue", ))) .build(), + Beastmaster => LoadoutBuilder::new() + .active_mainhand(active_item) + .shoulder(Some(Item::new_from_asset_expect( + "common.items.armor.ferocious.shoulder", + ))) + .chest(Some(Item::new_from_asset_expect( + "common.items.armor.ferocious.chest", + ))) + .belt(Some(Item::new_from_asset_expect( + "common.items.armor.ferocious.belt", + ))) + .hands(Some(Item::new_from_asset_expect( + "common.items.armor.ferocious.hand", + ))) + .pants(Some(Item::new_from_asset_expect( + "common.items.armor.ferocious.pants", + ))) + .feet(Some(Item::new_from_asset_expect( + "common.items.armor.ferocious.foot", + ))) + .back(Some(Item::new_from_asset_expect( + "common.items.armor.ferocious.back", + ))) + .lantern(match rand::thread_rng().gen_range(0..3) { + 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), + _ => None, + }) + .glider(Some(Item::new_from_asset_expect( + "common.items.glider.glider_blue", + ))) + .build(), Warlord => LoadoutBuilder::new() .active_mainhand(active_item) .shoulder(Some(Item::new_from_asset_expect( diff --git a/world/src/site/dungeon/mod.rs b/world/src/site/dungeon/mod.rs index 42adb0ef0c..78bb38ca27 100644 --- a/world/src/site/dungeon/mod.rs +++ b/world/src/site/dungeon/mod.rs @@ -1313,16 +1313,14 @@ fn mini_boss_5(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3) -> Vec "common.items.weapons.axe.malachite_axe-0", - 1..=2 => "common.items.weapons.sword.cultist", - 3 => "common.items.weapons.hammer.cultist_purp_2h-0", - 4 => "common.items.weapons.staff.cultist_staff", + 1 => "common.items.weapons.sword.bloodsteel-1", _ => "common.items.weapons.bow.velorite", }, )),