bumb Biped Cultist armour

This commit is contained in:
juliancoffee 2021-06-27 14:59:34 +03:00
parent 0151e5aeed
commit ef6a12edc2
3 changed files with 99 additions and 80 deletions

View File

@ -0,0 +1,17 @@
ItemDef(
name: "Giant Warlock Chest",
description: "Made of darkest silk.",
kind: Armor((
kind: Chest("GiantWarlock"),
stats: (
protection: Normal(250.0),
poise_resilience: Normal(1.0),
energy_max: 1000,
energy_reward: 1.0,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [],
)

View File

@ -0,0 +1,17 @@
ItemDef(
name: "Giant Warlord Chest",
description: "Made of darkest steel.",
kind: Armor((
kind: Chest("GiantWarlord"),
stats: (
protection: Normal(300.0),
poise_resilience: Normal(1.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [],
)

View File

@ -398,88 +398,73 @@ impl LoadoutBuilder {
#[must_use]
/// Set default equipement based on `body`
pub fn with_default_equipment(mut self, body: &Body) -> Self {
self = match body {
Body::BipedLarge(biped_large::Body {
species: biped_large::Species::Mindflayer,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_large.mindflayer",
))),
Body::BipedLarge(biped_large::Body {
species: biped_large::Species::Minotaur,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_large.minotaur",
))),
Body::BipedLarge(biped_large::Body {
species: biped_large::Species::Tidalwarrior,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_large.tidal_warrior",
))),
Body::BipedLarge(biped_large::Body {
species: biped_large::Species::Yeti,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_large.yeti",
))),
Body::BipedLarge(biped_large::Body {
species: biped_large::Species::Harvester,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_large.harvester",
))),
Body::BipedLarge(biped_large::Body {
species:
biped_large::Species::Ogre
| biped_large::Species::Cyclops
| biped_large::Species::Blueoni
| biped_large::Species::Redoni
| biped_large::Species::Cavetroll
| biped_large::Species::Wendigo,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.biped_large.generic",
))),
Body::Golem(golem::Body {
species: golem::Species::ClayGolem,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.golem.claygolem",
))),
Body::QuadrupedLow(quadruped_low::Body {
species:
quadruped_low::Species::Basilisk
| quadruped_low::Species::Asp
| quadruped_low::Species::Lavadrake
| quadruped_low::Species::Maneater
| quadruped_low::Species::Rocksnapper
| quadruped_low::Species::Sandshark,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.quadruped_low.generic",
))),
Body::QuadrupedLow(quadruped_low::Body {
species: quadruped_low::Species::Tortoise,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.quadruped_low.shell",
))),
Body::Theropod(theropod::Body {
species:
theropod::Species::Archaeos
| theropod::Species::Yale
| theropod::Species::Ntouka
| theropod::Species::Odonto,
..
}) => self.chest(Some(Item::new_from_asset_expect(
"common.items.npc_armor.theropod.rugged",
))),
_ => self,
pub fn with_default_equipment(self, body: &Body) -> Self {
let chest = match body {
Body::BipedLarge(body) => match body.species {
biped_large::Species::Mindflayer => {
Some("common.items.npc_armor.biped_large.mindflayer")
},
biped_large::Species::Minotaur => {
Some("common.items.npc_armor.biped_large.minotaur")
},
biped_large::Species::Tidalwarrior => {
Some("common.items.npc_armor.biped_large.tidal_warrior")
},
biped_large::Species::Yeti => Some("common.items.npc_armor.biped_large.yeti"),
biped_large::Species::Harvester => {
Some("common.items.npc_armor.biped_large.harvester")
},
biped_large::Species::Ogre
| biped_large::Species::Cyclops
| biped_large::Species::Blueoni
| biped_large::Species::Redoni
| biped_large::Species::Cavetroll
| biped_large::Species::Wendigo => {
Some("common.items.npc_armor.biped_large.generic")
},
biped_large::Species::Cultistwarlord => {
Some("common.items.npc_armor.biped_large.warlord")
},
biped_large::Species::Cultistwarlock => {
Some("common.items.npc_armor.biped_large.warlock")
},
_ => None,
},
Body::Golem(body) => match body.species {
golem::Species::ClayGolem => Some("common.items.npc_armor.golem.claygolem"),
_ => None,
},
Body::QuadrupedLow(body) => match body.species {
quadruped_low::Species::Basilisk
| quadruped_low::Species::Asp
| quadruped_low::Species::Lavadrake
| quadruped_low::Species::Maneater
| quadruped_low::Species::Rocksnapper
| quadruped_low::Species::Sandshark => {
Some("common.items.npc_armor.quadruped_low.generic")
},
quadruped_low::Species::Tortoise => {
Some("common.items.npc_armor.quadruped_low.shell")
},
_ => None,
},
Body::Theropod(body) => match body.species {
theropod::Species::Archaeos
| theropod::Species::Yale
| theropod::Species::Ntouka
| theropod::Species::Odonto => Some("common.items.npc_armor.theropod.rugged"),
_ => None,
},
_ => None,
};
self
// closures can't be used here, because it moves value
#[allow(clippy::option_if_let_else)]
if let Some(chest) = chest {
self.chest(Some(Item::new_from_asset_expect(chest)))
} else {
self
}
}
#[must_use]