diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-21 09:42:45 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-21 09:42:45 +0200 |
commit | 55da31ebea01103f9002800a309474ae5242d769 (patch) | |
tree | b4c4bc5a15656cbb76feb88c0465e454a21e3814 /server/src/game.rs | |
parent | 8f195b0ce8359ce20496435aa6f518e7d13d992f (diff) | |
download | hurrycurry-55da31ebea01103f9002800a309474ae5242d769.tar hurrycurry-55da31ebea01103f9002800a309474ae5242d769.tar.bz2 hurrycurry-55da31ebea01103f9002800a309474ae5242d769.tar.zst |
send star rating
Diffstat (limited to 'server/src/game.rs')
-rw-r--r-- | server/src/game.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/server/src/game.rs b/server/src/game.rs index 21bb5f33..89ea7dfc 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -301,6 +301,7 @@ impl Game { name: name.clone(), }, ); + self.score.players = self.score.players.max(self.players.len()); packet_out.push_back(PacketC::AddPlayer { id: player, name, @@ -586,6 +587,13 @@ impl Game { if let Some(end) = self.end { self.score.time_remaining = (end - Instant::now()).as_secs_f64(); if end < Instant::now() { + let relative_score = (self.score.points * 100) / self.data.score_baseline.max(1); + self.score.stars = match relative_score { + 100.. => 3, + 70.. => 2, + 40.. => 1, + _ => 0, + }; packet_out.push_back(PacketC::Menu(Menu::Score(self.score.clone()))); true } else { |