diff --git a/assets/common/items/npc_armor/biped_large/harvester.ron b/assets/common/items/npc_armor/biped_large/harvester.ron new file mode 100644 index 0000000000..d2aa76d312 --- /dev/null +++ b/assets/common/items/npc_armor/biped_large/harvester.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Harvester Shirt", + description: "Made of sunflowers.", + kind: Armor(( + kind: Chest("Harvester"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + ), + )), + quality: Legendary, + tags: [], +) diff --git a/assets/common/items/npc_armor/biped_large/minotaur.ron b/assets/common/items/npc_armor/biped_large/minotaur.ron new file mode 100644 index 0000000000..f57629d868 --- /dev/null +++ b/assets/common/items/npc_armor/biped_large/minotaur.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Minotaur Armor", + description: "The best defense is a good offense.", + kind: Armor(( + kind: Chest("Minotaur"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + ), + )), + quality: Legendary, + tags: [], +) diff --git a/assets/common/items/npc_armor/biped_large/tidal_warrior.ron b/assets/common/items/npc_armor/biped_large/tidal_warrior.ron new file mode 100644 index 0000000000..72e42d6cad --- /dev/null +++ b/assets/common/items/npc_armor/biped_large/tidal_warrior.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Tidal Warrior Armor", + description: "Made of fish scales.", + kind: Armor(( + kind: Chest("Tidal Warrior"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + ), + )), + quality: Legendary, + tags: [], +) diff --git a/assets/common/items/npc_armor/biped_large/yeti.ron b/assets/common/items/npc_armor/biped_large/yeti.ron new file mode 100644 index 0000000000..65918a3686 --- /dev/null +++ b/assets/common/items/npc_armor/biped_large/yeti.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Yeti Hide", + description: "Strong as Yeti itself.", + kind: Armor(( + kind: Chest("Yeti"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + ), + )), + quality: Legendary, + tags: [], +) diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index 09b9425b8a..7abe386a67 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -980,24 +980,60 @@ impl LoadoutBuilder { } } else { match body { - Body::BipedLarge(b) => match b.species { - biped_large::Species::Mindflayer => LoadoutBuilder::new() - .active_mainhand(active_item) - .chest(Some(Item::new_from_asset_expect( - "common.items.npc_armor.biped_large.mindflayer", - ))) - .build(), - _ => LoadoutBuilder::new().active_mainhand(active_item).build(), - }, - Body::Golem(g) => match g.species { - golem::Species::ClayGolem => LoadoutBuilder::new() - .active_mainhand(active_item) - .chest(Some(Item::new_from_asset_expect( - "common.items.npc_armor.golem.claygolem", - ))) - .build(), - _ => LoadoutBuilder::new().active_mainhand(active_item).build(), - }, + Body::BipedLarge(biped_large::Body { + species: biped_large::Species::Mindflayer, + .. + }) => LoadoutBuilder::new() + .active_mainhand(active_item) + .chest(Some(Item::new_from_asset_expect( + "common.items.npc_armor.biped_large.mindflayer", + ))) + .build(), + Body::BipedLarge(biped_large::Body { + species: biped_large::Species::Minotaur, + .. + }) => LoadoutBuilder::new() + .active_mainhand(active_item) + .chest(Some(Item::new_from_asset_expect( + "common.items.npc_armor.biped_large.minotaur", + ))) + .build(), + Body::BipedLarge(biped_large::Body { + species: biped_large::Species::Tidalwarrior, + .. + }) => LoadoutBuilder::new() + .active_mainhand(active_item) + .chest(Some(Item::new_from_asset_expect( + "common.items.npc_armor.biped_large.tidal_warrior", + ))) + .build(), + Body::BipedLarge(biped_large::Body { + species: biped_large::Species::Yeti, + .. + }) => LoadoutBuilder::new() + .active_mainhand(active_item) + .chest(Some(Item::new_from_asset_expect( + "common.items.npc_armor.biped_large.yeti", + ))) + .build(), + Body::BipedLarge(biped_large::Body { + species: biped_large::Species::Harvester, + .. + }) => LoadoutBuilder::new() + .active_mainhand(active_item) + .chest(Some(Item::new_from_asset_expect( + "common.items.npc_armor.biped_large.harvester", + ))) + .build(), + Body::Golem(golem::Body { + species: golem::Species::ClayGolem, + .. + }) => LoadoutBuilder::new() + .active_mainhand(active_item) + .chest(Some(Item::new_from_asset_expect( + "common.items.npc_armor.golem.claygolem", + ))) + .build(), _ => LoadoutBuilder::new().active_mainhand(active_item).build(), } }; @@ -1131,9 +1167,9 @@ mod tests { "common.items.npc_weapons.biped_small.sahagin.wooden_spear", // Spear // Exotic "common.items.npc_weapons.unique.beast_claws", // Natural - "common.items.weapons.tool.rake", // Farming - "common.items.tool.pick", // Pick - "common.items.weapons.empty.empty", // Empty + "common.items.weapons.tool.rake", // Farming + "common.items.tool.pick", // Pick + "common.items.weapons.empty.empty", // Empty ]; for config in LoadoutConfig::iter() {