Fixed broken stuff during rebase.

This commit is contained in:
Sam 2021-11-23 13:50:32 -05:00
parent 5c28e3cb25
commit 94c19735ca
12 changed files with 61 additions and 67 deletions

View File

@ -7,5 +7,5 @@ ItemDef(
descriptor: "",
),
quality: Epic,
tags: [BaseMaterial, Leather],
tags: [BaseMaterial],
)

View File

@ -6,5 +6,5 @@ ItemDef(
descriptor: "Raw Hide",
),
quality: Low,
tags: [BaseMaterial, Leather, MaterialKind(Hide), Material(Rawhide)],
tags: [BaseMaterial, MaterialKind(Hide), Material(Rawhide)],
)

View File

@ -6,5 +6,5 @@ ItemDef(
descriptor: "Leather",
),
quality: Common,
tags: [BaseMaterial, Leather, MaterialKind(Hide), Material(Leather)],
tags: [BaseMaterial, MaterialKind(Hide), Material(Leather)],
)

View File

@ -368,13 +368,13 @@
(Item("common.items.lantern.pumpkin"),1),
],
"merchant": [
("common.items.armor.merchant.back",1),
("common.items.armor.merchant.belt",1),
("common.items.armor.merchant.chest",1),
("common.items.armor.merchant.hand",1),
("common.items.armor.merchant.foot",1),
("common.items.armor.merchant.turban",1),
("common.items.armor.merchant.pants",1),
("common.items.armor.merchant.shoulder",1),
(Item("common.items.armor.merchant.back"),1),
(Item("common.items.armor.merchant.belt"),1),
(Item("common.items.armor.merchant.chest"),1),
(Item("common.items.armor.merchant.hand"),1),
(Item("common.items.armor.merchant.foot"),1),
(Item("common.items.armor.merchant.turban"),1),
(Item("common.items.armor.merchant.pants"),1),
(Item("common.items.armor.merchant.shoulder"),1),
],
})

View File

@ -712,13 +712,13 @@ impl Item {
ItemBase::Raw(Arc::<ItemDef>::load_cloned(asset)?)
};
// TODO: Get msm and ability_map less hackily
let msm = MaterialStatManifest::load().read();
let ability_map = AbilityMap::load().read();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
Ok(Item::new_from_item_base(
inner_item,
Vec::new(),
&ability_map,
&msm,
ability_map,
msm,
))
}
@ -994,11 +994,13 @@ impl Item {
#[cfg(test)]
pub fn create_test_item_from_kind(kind: ItemKind) -> Self {
let ability_map = &AbilityMap::load().read();
let msm = &MaterialStatManifest::load().read();
Self::new_from_item_base(
ItemBase::Raw(Arc::new(ItemDef::create_test_itemdef_from_kind(kind))),
Vec::new(),
&Default::default(),
&Default::default(),
ability_map,
msm,
)
}
}

View File

@ -287,8 +287,8 @@ pub fn random_weapon(
) -> Result<Item, ModularWeaponCreationError> {
if let Some(material_id) = material.asset_identifier() {
// Loads default ability map and material stat manifest for later use
let ability_map = AbilityMap::load().read();
let msm = MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let msm = &MaterialStatManifest::load().read();
let mut rng = thread_rng();
@ -310,8 +310,8 @@ pub fn random_weapon(
let comp = Item::new_from_item_base(
ItemBase::Raw(Arc::clone(def)),
vec![material],
&ability_map,
&msm,
ability_map,
msm,
);
(comp, hand_restriction.or(*hand))
};
@ -331,20 +331,15 @@ pub fn random_weapon(
.choose(&mut rng)
.ok_or(ModularWeaponCreationError::SecondaryComponentNotFound)?
.0;
Item::new_from_item_base(
ItemBase::Raw(Arc::clone(def)),
Vec::new(),
&ability_map,
&msm,
)
Item::new_from_item_base(ItemBase::Raw(Arc::clone(def)), Vec::new(), ability_map, msm)
};
// Create modular weapon
Ok(Item::new_from_item_base(
ItemBase::Modular(ModularBase::Tool),
vec![primary_component, secondary_component],
&ability_map,
&msm,
ability_map,
msm,
))
} else {
Err(ModularWeaponCreationError::MaterialNotFound)

View File

@ -13,8 +13,8 @@ lazy_static! {
/// Attempting to push into a full inventory should return the same item.
#[test]
fn push_full() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory {
next_sort_order: InventorySortOrder::Name,
slots: TEST_ITEMS
@ -33,8 +33,8 @@ fn push_full() {
/// Attempting to push a series into a full inventory should return them all.
#[test]
fn push_all_full() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory {
next_sort_order: InventorySortOrder::Name,
slots: TEST_ITEMS
@ -63,8 +63,8 @@ fn push_all_full() {
/// should work fine.
#[test]
fn push_unique_all_full() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory {
next_sort_order: InventorySortOrder::Name,
slots: TEST_ITEMS
@ -85,8 +85,8 @@ fn push_unique_all_full() {
/// should work fine.
#[test]
fn push_all_empty() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory {
next_sort_order: InventorySortOrder::Name,
slots: vec![None, None],
@ -104,8 +104,8 @@ fn push_all_empty() {
/// should work fine.
#[test]
fn push_all_unique_empty() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory {
next_sort_order: InventorySortOrder::Name,
slots: vec![None, None],
@ -121,8 +121,8 @@ fn push_all_unique_empty() {
#[test]
fn free_slots_minus_equipped_item_items_only_present_in_equipped_bag_slots() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory::new_empty();
let bag = get_test_bag(18);
@ -141,8 +141,8 @@ fn free_slots_minus_equipped_item_items_only_present_in_equipped_bag_slots() {
#[test]
fn free_slots_minus_equipped_item() {
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory::new_empty();
let bag = get_test_bag(18);
@ -221,8 +221,8 @@ fn can_swap_equipped_bag_into_only_empty_slot_provided_by_itself_should_return_t
#[test]
fn unequip_items_both_hands() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory::new_empty();
let sword = Item::new_from_asset_expect("common.items.weapons.sword.starter");
@ -258,8 +258,8 @@ fn unequip_items_both_hands() {
#[test]
fn equip_replace_already_equipped_item() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let boots = Item::new_from_asset_expect("common.items.testing.test_boots");
let starting_sandles = Some(Item::new_from_asset_expect(
@ -347,8 +347,8 @@ fn unequip_unequipping_bag_into_its_own_slot_with_no_other_free_slots_returns_on
#[test]
fn equip_one_bag_equipped_equip_second_bag() {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let mut inv = Inventory::new_empty();
let bag = get_test_bag(9);
@ -491,8 +491,8 @@ fn backpack_crash() {
}
fn fill_inv_slots(inv: &mut Inventory, items: u16) {
let msm = &MaterialStatManifest::default();
let ability_map = &AbilityMap::default();
let msm = &MaterialStatManifest::load().read();
let ability_map = &AbilityMap::load().read();
let boots = Item::new_from_asset_expect("common.items.testing.test_boots");
for _ in 0..items {
inv.push(boots.duplicate(ability_map, msm)).unwrap();

View File

@ -7,7 +7,7 @@ use crate::comp::{
},
Item,
};
use std::{default::Default, sync::Arc};
use std::sync::Arc;
pub(super) fn get_test_bag(slots: u16) -> Item {
let item_def = ItemDef::new_test(
@ -25,7 +25,7 @@ pub(super) fn get_test_bag(slots: u16) -> Item {
Item::new_from_item_base(
ItemBase::Raw(Arc::new(item_def)),
Vec::new(),
&AbilityMap::default(),
&MaterialStatManifest::default(),
&AbilityMap::load().read(),
&MaterialStatManifest::load().read(),
)
}

View File

@ -422,8 +422,8 @@ mod tests {
) -> (World, EcsEntity, EcsEntity) {
let mut mockworld = World::new();
mockworld.insert(UidAllocator::new());
mockworld.insert(MaterialStatManifest::default());
mockworld.insert(AbilityMap::default());
mockworld.insert(MaterialStatManifest::load().cloned());
mockworld.insert(AbilityMap::load().cloned());
mockworld.register::<Inventory>();
mockworld.register::<Uid>();

View File

@ -841,7 +841,7 @@ impl<'a> Widget for Diary<'a> {
let (ability_title, ability_desc) = if let Some(ability_id) = ability_id {
util::ability_description(ability_id)
} else {
("Drag an ability here to use it.", "")
(Cow::Borrowed("Drag an ability here to use it."), "")
};
let image_size = 80.0;
@ -863,7 +863,7 @@ impl<'a> Widget for Diary<'a> {
ability_slot
.with_tooltip(
self.tooltip_manager,
ability_title,
&ability_title,
ability_desc,
&diary_tooltip,
TEXT_COLOR,
@ -1083,7 +1083,7 @@ impl<'a> Widget for Diary<'a> {
// otherwise
20.0 * 2.0 + 100.0
};
Text::new(ability_title)
Text::new(&ability_title)
.top_left_with_margins_on(state.ids.abilities[id_index], 5.0, 110.0)
.font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(28))

View File

@ -30,7 +30,6 @@ use conrod_core::{
widget::{self, Button, Image, Rectangle, Text},
widget_ids, Color, Colorable, Positionable, Sizeable, UiCell, Widget, WidgetCommon,
};
use std::borrow::Cow;
use vek::*;
widget_ids! {
@ -613,10 +612,7 @@ impl<'a> Skillbar<'a> {
.get(i)
.and_then(|a| Ability::from(*a).ability_id(Some(inventory)))
})
.map(|a| {
let (title, desc) = util::ability_description(a);
(Cow::Borrowed(title), desc)
}),
.map(util::ability_description),
})
};

View File

@ -382,8 +382,8 @@ pub fn ability_image(imgs: &img_ids::Imgs, ability_id: &str) -> image::Id {
}
#[rustfmt::skip]
pub fn ability_description(ability_id: &str) -> (&str, &str) {
match ability_id {
pub fn ability_description(ability_id: &str) -> (Cow<str>, &str) {
let (name, desc) = match ability_id {
// Debug stick
"common.abilities.debug.possess" => (
"Possessing Arrow",
@ -423,5 +423,6 @@ pub fn ability_description(ability_id: &str) -> (&str, &str) {
"Ability has no title",
"Ability has no description."
),
}
};
(Cow::Borrowed(name), desc)
}