diff options
Diffstat (limited to 'server/src')
| -rw-r--r-- | server/src/entity/ctf_minigame.rs | 19 | ||||
| -rw-r--r-- | server/src/server.rs | 4 | ||||
| -rw-r--r-- | server/src/state.rs | 2 |
3 files changed, 11 insertions, 14 deletions
diff --git a/server/src/entity/ctf_minigame.rs b/server/src/entity/ctf_minigame.rs index f56e5648..c975821d 100644 --- a/server/src/entity/ctf_minigame.rs +++ b/server/src/entity/ctf_minigame.rs @@ -70,7 +70,7 @@ impl CtfMinigame { } fn setup(&mut self, c: &mut EntityContext) -> Result<(), TrError> { - let mut players = c.game.players.iter_mut().map(|p| p); + let mut players = c.game.players.iter_mut(); 'a: loop { for (_, data) in self.teams.iter_mut() { if let Some((&pid, player)) = players.next() { @@ -92,7 +92,7 @@ impl CtfMinigame { Ok(*self .teams .iter_mut() - .find(|(_, d)| d.players.get(&pid).is_some()) + .find(|(_, d)| d.players.contains(&pid)) .ok_or(TrError::Plain("Player is not in any team".to_string()))? .0) } @@ -130,7 +130,7 @@ impl CtfMinigame { let (_, team) = self .teams .iter() - .find(|(_, d)| d.players.get(&pid).is_some()) + .find(|(_, d)| d.players.contains(&pid)) .ok_or(TrError::Plain("Player is not in any team".to_string()))?; c.game .players @@ -169,17 +169,17 @@ impl CtfMinigame { for (item, _) in ti.clone() { write!(o, "{:<20}|", c.game.data.item_name(*item)).unwrap(); } - writeln!(o, "").unwrap(); + writeln!(o).unwrap(); write!(o, "|").unwrap(); for (_, (s, _)) in ti.clone() { write!(o, "{:<20}|", s).unwrap(); } - writeln!(o, "").unwrap(); + writeln!(o).unwrap(); write!(o, "|").unwrap(); for _ in ti.clone() { write!(o, "{:-<20}|", "").unwrap(); } - writeln!(o, "").unwrap(); + writeln!(o).unwrap(); let max = self .teams .iter() @@ -197,7 +197,7 @@ impl CtfMinigame { write!(o, "{:<20}|", "").unwrap(); } } - writeln!(o, "").unwrap(); + writeln!(o).unwrap(); } c.packet_out.push_back(PacketC::ServerMessage { error: false, @@ -213,7 +213,7 @@ impl Entity for CtfMinigame { self.setup(&mut c)?; } for (_, team) in self.teams.iter_mut() { - team.players.retain(|pid| c.game.players.get(pid).is_some()); + team.players.retain(|pid| c.game.players.contains_key(pid)); } self.time += c.dt; while self.time > 0. { @@ -249,8 +249,7 @@ impl Entity for CtfMinigame { .items .iter() .flatten() - .find(|i| i.kind != from_team_idx) - .is_some() + .any(|i| i.kind != from_team_idx) && c.game .tiles .get(&pos) diff --git a/server/src/server.rs b/server/src/server.rs index efa3fba3..b3cd2922 100644 --- a/server/src/server.rs +++ b/server/src/server.rs @@ -550,11 +550,9 @@ impl Server { .query(pos1, 2., |p2, _pos2| { if p1 != p2 && let [Some(a), Some(b)] = self.game.players.get_disjoint_mut([&p1, &p2]) - { - if a.movement.collide(&mut b.movement, dt) { + && a.movement.collide(&mut b.movement, dt) { a.movement_input_changed = true; } - } }) }); diff --git a/server/src/state.rs b/server/src/state.rs index 04458aea..aa46f47c 100644 --- a/server/src/state.rs +++ b/server/src/state.rs @@ -128,7 +128,7 @@ impl Server { supports_bincode: true, }, ); - init.insert(1, PacketC::ServerData(*self.data.clone())); + init.insert(1, PacketC::ServerData(Box::new(*self.data.clone()))); self.connections.insert( id, ConnectionData { |