1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 18:24:05 +02:00

more projectile tracking work

This commit is contained in:
Robin Appelman 2024-12-05 19:36:07 +01:00
commit e0ee7c87d2
3 changed files with 207 additions and 45 deletions

View file

@ -49,10 +49,29 @@ fn main() -> Result<(), MainError> {
.get(usize::from(collision.projectile.class))
.map(|class| class.name.as_str())
.unwrap_or("unknown weapon");
println!(
"{}: {} hit by {}",
collision.tick, player.name, weapon_class
);
let shooter = state
.players
.iter()
.find(|player| {
player
.weapons
.iter()
.any(|weapon| collision.projectile.launcher == *weapon)
})
.and_then(|player| player.info.as_ref());
if let Some(shooter) = shooter {
println!(
"{}: {} hit by {} from {}",
collision.tick, player.name, weapon_class, shooter.name
);
} else {
println!(
"{}: {} hit by {} from unknown player {}",
collision.tick, player.name, weapon_class, collision.projectile.launcher
);
}
}
}