lol maybe if we actually apply modifiers the tests will stop failing
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
d07c61d009
commit
b2f3dc9f50
@ -85,7 +85,15 @@ impl InMemoryGateway {
|
||||
}
|
||||
}
|
||||
ItemDetail::Mag(mag)
|
||||
},
|
||||
ItemDetail::Unit(mut unit) => {
|
||||
if let Some(unit_modifiers) = self.unit_modifiers.lock().unwrap().get(&item.id) {
|
||||
for unit_modifier in unit_modifiers.iter() {
|
||||
unit.apply_modifier(unit_modifier);
|
||||
}
|
||||
}
|
||||
ItemDetail::Unit(unit)
|
||||
},
|
||||
_ => {
|
||||
item.item
|
||||
}
|
||||
|
@ -1535,9 +1535,7 @@ impl Weapon {
|
||||
},
|
||||
WeaponModifier::AddKill{enemy: _} => {
|
||||
if let Some(kills) = self.kills {
|
||||
println!("{:?} currently has {:?} kills", self.weapon, self.kills);
|
||||
self.kills = Some(kills + 1);
|
||||
println!("now {:?} has {:?} kills", self.weapon, self.kills);
|
||||
}
|
||||
},
|
||||
};
|
||||
@ -1558,8 +1556,6 @@ impl Weapon {
|
||||
if self.weapon.has_counter() {
|
||||
result[10..12].copy_from_slice(&self.kills.unwrap_or(0u16).to_be_bytes());
|
||||
result[10] += 0x80;
|
||||
// TODO: what to do with the 3rd attr?
|
||||
// self.attrs[2] = None;
|
||||
} else {
|
||||
result[10..12].copy_from_slice(&self.attrs[2].map(|s| s.value()).unwrap_or([0,0]));
|
||||
}
|
||||
|
@ -1203,18 +1203,7 @@ impl ItemManager {
|
||||
entity_gateway.add_weapon_modifier(&weapon_entity, wmodifier).await?;
|
||||
}
|
||||
for units in equipped_items.unit.iter().flatten() {
|
||||
let unit_id = inventory.get_item_by_entity_id(*units).ok_or(ItemManagerError::EntityIdNotInInventory(*units))?.item_id();
|
||||
let mut unit_handle = inventory.get_item_handle_by_id(unit_id).ok_or(ItemManagerError::NoSuchItemId(unit_id))?;
|
||||
let individual_item_u = unit_handle.item_mut()
|
||||
.ok_or(ItemManagerError::NoSuchItemId(unit_id))?
|
||||
.individual_mut()
|
||||
.ok_or(ItemManagerError::WrongItemType(unit_id))?;
|
||||
let unit = individual_item_u
|
||||
.unit_mut()
|
||||
.ok_or(ItemManagerError::WrongItemType(unit_id))?;
|
||||
|
||||
let umodifier = UnitModifier::AddKill { enemy: monstertype };
|
||||
unit.apply_modifier(&umodifier);
|
||||
entity_gateway.add_unit_modifier(units, umodifier).await?;
|
||||
}
|
||||
entity_gateway.set_character_inventory(&character.id, &inventory.as_inventory_entity(&character.id)).await?;
|
||||
|
Loading…
x
Reference in New Issue
Block a user