diff --git a/noita-proxy/src/lib.rs b/noita-proxy/src/lib.rs index 95d86ad7..f15e075a 100644 --- a/noita-proxy/src/lib.rs +++ b/noita-proxy/src/lib.rs @@ -1098,7 +1098,8 @@ impl eframe::App for App { if netman.friendly_fire.load(Ordering::Relaxed) { let last = self.app_saved_state.game_settings.friendly_fire_team; ui.add(Slider::new(&mut self.app_saved_state.game_settings.friendly_fire_team, -1..=16)); - if last != self.app_saved_state.game_settings.friendly_fire_team { + if last != self.app_saved_state.game_settings.friendly_fire_team + || netman.friendly_fire_team.load(Ordering::Relaxed) == -2 { netman.friendly_fire_team.store(self.app_saved_state.game_settings.friendly_fire_team, Ordering::Relaxed); } ui.label("what team number you are on, 0 means no team, -1 means friendly"); diff --git a/noita-proxy/src/net.rs b/noita-proxy/src/net.rs index 730eb63a..94a2a1fd 100644 --- a/noita-proxy/src/net.rs +++ b/noita-proxy/src/net.rs @@ -248,12 +248,10 @@ impl NetManager { cli = false } } - if self.friendly_fire.load(atomic::Ordering::Relaxed) { + if self.friendly_fire.load(atomic::Ordering::Relaxed) && timer.elapsed().as_secs() > 4 { let team = self.friendly_fire_team.load(atomic::Ordering::Relaxed); - if timer.elapsed().as_secs() > 4 { - state.try_ws_write_option("friendly_fire_team", (team + 1) as u32); - timer = Instant::now() - } + state.try_ws_write_option("friendly_fire_team", (team + 1) as u32); + timer = Instant::now() } if self.end_run.load(atomic::Ordering::Relaxed) { for id in self.peer.iter_peer_ids() {