From 5b1f840e4023613084d706131c4895168a5fc1e4 Mon Sep 17 00:00:00 2001 From: Sofia Date: Sun, 26 Jul 2026 23:17:41 +0300 Subject: [PATCH] Fix beam spawning in replays --- rust/src/player/weapon.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rust/src/player/weapon.rs b/rust/src/player/weapon.rs index 70f8039..b5a6b18 100644 --- a/rust/src/player/weapon.rs +++ b/rust/src/player/weapon.rs @@ -11,6 +11,7 @@ use crate::{ game_settings::{GameSettingsManager, VolumeSettings}, net::util::{cast_ray, shotgun_ray}, player::{DamageSource, shootable::Shootable}, + replay::StandaloneReplayManager, }; pub trait Weapon { @@ -94,6 +95,8 @@ impl Weapon for Raygun { .map(|r| r.position) .unwrap_or(source.get_global_position() + dir * 100.); + godot_print!("from {} to {}", source.get_global_position(), beam_end); + if let Some(prefab) = &self.bullet_prefab { let mut bullet = prefab.instantiate_as::(); @@ -105,6 +108,11 @@ impl Weapon for Raygun { && let Some(map) = &mut game.bind_mut().current_map { map.add_child(&bullet); + } else if let Some(playback) = + &mut StandaloneReplayManager::singleton().bind_mut().playback + && let Some(map) = &mut playback.bind_mut().current_map + { + map.add_child(&bullet); } }); }