Implement punches as well

This commit is contained in:
Sofia 2026-07-26 20:45:01 +03:00
parent 721e98f63c
commit c0e746a8e2
2 changed files with 12 additions and 0 deletions

View File

@ -1007,6 +1007,12 @@ impl Game {
look_up: f32, look_up: f32,
deal_damage: bool, deal_damage: bool,
) -> bool { ) -> bool {
if let Some(recorder) = &mut self.replay_recorder {
recorder
.bind_mut()
.record_event(ReplayEvent::Punch(player_id, to));
}
let self_id = self.self_id.clone().unwrap_or(0); let self_id = self.self_id.clone().unwrap_or(0);
if let Some(player) = self.find_player_mut(player_id) { if let Some(player) = self.find_player_mut(player_id) {
if player.id() != self_id { if player.id() != self_id {

View File

@ -114,6 +114,11 @@ impl INode for ReplayPlayback {
character.bind_mut().jump(); character.bind_mut().jump();
} }
} }
ReplayEvent::Punch(player_id, to) => {
if let Some(character) = self.player_characters.get_mut(player_id) {
character.bind_mut().try_punch(*to, false);
}
}
} }
} }
} }
@ -276,6 +281,7 @@ pub enum ReplayEvent {
Shoot(u16, Vector3), Shoot(u16, Vector3),
Respawn(u16, ReplayPlayerState), Respawn(u16, ReplayPlayerState),
Jump(u16), Jump(u16),
Punch(u16, Vector3),
} }
#[derive(Debug, Clone, Default)] #[derive(Debug, Clone, Default)]