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::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
 | 
					                            item.item
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1535,9 +1535,7 @@ impl Weapon {
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            WeaponModifier::AddKill{enemy: _} => {
 | 
					            WeaponModifier::AddKill{enemy: _} => {
 | 
				
			||||||
                if let Some(kills) = self.kills {
 | 
					                if let Some(kills) = self.kills {
 | 
				
			||||||
                    println!("{:?} currently has {:?} kills", self.weapon, self.kills);
 | 
					 | 
				
			||||||
                    self.kills = Some(kills + 1);
 | 
					                    self.kills = Some(kills + 1);
 | 
				
			||||||
                    println!("now {:?} has {:?} kills", self.weapon, self.kills);
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -1558,8 +1556,6 @@ impl Weapon {
 | 
				
			|||||||
        if self.weapon.has_counter() {
 | 
					        if self.weapon.has_counter() {
 | 
				
			||||||
            result[10..12].copy_from_slice(&self.kills.unwrap_or(0u16).to_be_bytes());
 | 
					            result[10..12].copy_from_slice(&self.kills.unwrap_or(0u16).to_be_bytes());
 | 
				
			||||||
            result[10] += 0x80;
 | 
					            result[10] += 0x80;
 | 
				
			||||||
            // TODO: what to do with the 3rd attr?
 | 
					 | 
				
			||||||
            // self.attrs[2] = None;
 | 
					 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            result[10..12].copy_from_slice(&self.attrs[2].map(|s| s.value()).unwrap_or([0,0]));
 | 
					            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?;
 | 
					            entity_gateway.add_weapon_modifier(&weapon_entity, wmodifier).await?;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        for units in equipped_items.unit.iter().flatten() {
 | 
					        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 };
 | 
					                let umodifier = UnitModifier::AddKill { enemy: monstertype };
 | 
				
			||||||
                unit.apply_modifier(&umodifier);
 | 
					 | 
				
			||||||
                entity_gateway.add_unit_modifier(units, umodifier).await?;
 | 
					                entity_gateway.add_unit_modifier(units, umodifier).await?;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        entity_gateway.set_character_inventory(&character.id, &inventory.as_inventory_entity(&character.id)).await?;
 | 
					        entity_gateway.set_character_inventory(&character.id, &inventory.as_inventory_entity(&character.id)).await?;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user