Fix: stats and marks queries
This commit is contained in:
		| @@ -50,7 +50,6 @@ func HandleShowColor(w http.ResponseWriter, r *http.Request) { | ||||
| 		abortWithError(w, err.Error()) | ||||
| 		return | ||||
| 	} | ||||
| 	// color, exists := fi.Room.WCMap[word] | ||||
| 	color, exists := fi.Room.FindColor(word) | ||||
| 	if !exists { | ||||
| 		abortWithError(w, "word is not found") | ||||
|   | ||||
| @@ -76,6 +76,10 @@ func HandleJoinTeam(w http.ResponseWriter, r *http.Request) { | ||||
| 		abortWithError(w, err.Error()) | ||||
| 		return | ||||
| 	} | ||||
| 	if fi.Room == nil { | ||||
| 		http.Redirect(w, r, "/", 302) | ||||
| 		return | ||||
| 	} | ||||
| 	if fi.Room.IsRunning && role == "mime" { | ||||
| 		err = errors.New("cannot join as mime when game is running") | ||||
| 		abortWithError(w, err.Error()) | ||||
|   | ||||
| @@ -57,20 +57,20 @@ func updateStatsOnGameOver(ctx context.Context, room *models.Room) { | ||||
| 		if player.Role == models.UserRoleMime { | ||||
| 			stats.PlayedAsMime++ | ||||
| 			if stats.PlayedAsMime > 0 { | ||||
| 				gamesWonAsMime := stats.MimeWinrate * float64(stats.PlayedAsMime-1) | ||||
| 				gamesWonAsMime := stats.MimeWinrate * float32(stats.PlayedAsMime-1) | ||||
| 				if player.Team == room.TeamWon { | ||||
| 					gamesWonAsMime++ | ||||
| 				} | ||||
| 				stats.MimeWinrate = gamesWonAsMime / float64(stats.PlayedAsMime) | ||||
| 				stats.MimeWinrate = gamesWonAsMime / float32(stats.PlayedAsMime) | ||||
| 			} | ||||
| 		} else if player.Role == models.UserRoleGuesser { | ||||
| 			stats.PlayedAsGuesser++ | ||||
| 			if stats.PlayedAsGuesser > 0 { | ||||
| 				gamesWonAsGuesser := stats.GuesserWinrate * float64(stats.PlayedAsGuesser-1) | ||||
| 				gamesWonAsGuesser := stats.GuesserWinrate * float32(stats.PlayedAsGuesser-1) | ||||
| 				if player.Team == room.TeamWon { | ||||
| 					gamesWonAsGuesser++ | ||||
| 				} | ||||
| 				stats.GuesserWinrate = gamesWonAsGuesser / float64(stats.PlayedAsGuesser) | ||||
| 				stats.GuesserWinrate = gamesWonAsGuesser / float32(stats.PlayedAsGuesser) | ||||
| 			} | ||||
| 		} | ||||
| 		if err := repo.UpdatePlayerStats(ctx, stats); err != nil { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Grail Finder
					Grail Finder