anyhow the rest of the itemmanager
This commit is contained in:
parent
463d623f16
commit
4b78a110f0
@ -223,7 +223,7 @@ impl ItemManager {
|
||||
}
|
||||
|
||||
pub async fn character_picks_up_item<EG: EntityGateway>(&mut self, entity_gateway: &mut EG, character: &mut CharacterEntity, item_id: ClientItemId)
|
||||
-> Result<TriggerCreateItem, ItemManagerError> {
|
||||
-> Result<TriggerCreateItem, anyhow::Error> {
|
||||
let local_floor = self.character_floor.get_mut(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
let inventory = self.character_inventory.get_mut(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
let room_id = self.character_room.get(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
@ -251,7 +251,7 @@ impl ItemManager {
|
||||
}
|
||||
},
|
||||
None => {
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id));
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id).into());
|
||||
},
|
||||
}
|
||||
TriggerCreateItem::Yes
|
||||
@ -278,20 +278,20 @@ impl ItemManager {
|
||||
}
|
||||
},
|
||||
None => {
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id));
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id).into());
|
||||
}
|
||||
}
|
||||
},
|
||||
Some(FloorItem::Meseta(meseta_floor_item)) => {
|
||||
if character.meseta >= 999999 {
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id));
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id).into());
|
||||
}
|
||||
character.meseta = std::cmp::min(character.meseta + meseta_floor_item.meseta.0, 999999);
|
||||
entity_gateway.save_character(&character).await?;
|
||||
TriggerCreateItem::No
|
||||
},
|
||||
None => {
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id));
|
||||
return Err(ItemManagerError::CouldNotAddToInventory(item_id).into());
|
||||
}
|
||||
};
|
||||
|
||||
@ -391,7 +391,7 @@ impl ItemManager {
|
||||
//inventory_item: InventoryItem,
|
||||
item_id: ClientItemId,
|
||||
item_drop_location: (MapArea, f32, f32, f32))
|
||||
-> Result<(), ItemManagerError> {
|
||||
-> Result<(), anyhow::Error> {
|
||||
let inventory = self.character_inventory.get_mut(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
let room_id = self.character_room.get(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
let shared_floor = self.room_floor.get_mut(&room_id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
@ -436,11 +436,11 @@ impl ItemManager {
|
||||
character: &mut CharacterEntity,
|
||||
drop_location: ItemDropLocation,
|
||||
amount: u32)
|
||||
-> Result<FloorItem, ItemManagerError> {
|
||||
-> Result<FloorItem, anyhow::Error> {
|
||||
let room_id = self.character_room.get(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
let shared_floor = self.room_floor.get_mut(&room_id).ok_or(ItemManagerError::NoCharacter(character.id))?;
|
||||
if character.meseta < amount {
|
||||
return Err(ItemManagerError::CouldNotDropMeseta)
|
||||
return Err(ItemManagerError::CouldNotDropMeseta.into())
|
||||
}
|
||||
character.meseta -= amount;
|
||||
entity_gateway.save_character(&character).await?;
|
||||
|
Loading…
x
Reference in New Issue
Block a user