Fix telegrenade throw direction

This commit is contained in:
Sofia 2026-07-27 23:06:25 +03:00
parent f7e287c22f
commit 6147640213

View File

@ -519,18 +519,23 @@ impl ICharacterBody3D for LocalPlayer {
}
if let Some(pos) = self.raycast_from_camera() {
let dir = if let Some(origin) = &self.camera_origin {
pos - origin.get_global_position()
} else {
Vector3::ZERO
};
if let Some(peer) = &mut NetworkManager::singleton().bind_mut().peer {
match peer {
PeerKind::Client(peer, addr) => {
if self.try_throw_telegrenade(pos) {
peer.send_reliable(addr, ThrowTelegrenade(0, pos.into()));
if self.try_throw_telegrenade(dir) {
peer.send_reliable(addr, ThrowTelegrenade(0, dir.into()));
}
}
PeerKind::Server(peer, _) => {
if self.try_throw_telegrenade(pos) {
if self.try_throw_telegrenade(dir) {
peer.broadcast_reliable(ThrowTelegrenade(
self.player_id.unwrap_or(0),
pos.into(),
dir.into(),
));
}
}