fix: supprimer le timer race timeout de 3 minutes
RACE_TIMEOUT = 180s eliminait tous les joueurs non qualifies apres 3min. Le round se termine maintenant uniquement quand suffisamment de joueurs se qualifient (ratio 60%). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@ const Chat = require("../chat/ChatManager");
|
|||||||
const LOBBY_TIMEOUT = 30;
|
const LOBBY_TIMEOUT = 30;
|
||||||
const COUNTDOWN_DURATION = 3;
|
const COUNTDOWN_DURATION = 3;
|
||||||
const ROUND_END_DURATION = 5;
|
const ROUND_END_DURATION = 5;
|
||||||
const RACE_TIMEOUT = 180;
|
|
||||||
const QUALIFY_RATIO = 0.6;
|
const QUALIFY_RATIO = 0.6;
|
||||||
|
|
||||||
class ArenaRoom extends Room {
|
class ArenaRoom extends Room {
|
||||||
@@ -161,7 +161,6 @@ class ArenaRoom extends Room {
|
|||||||
|
|
||||||
console.log(`[ArenaRoom] Round ${this.state.roundNumber} started (race)`);
|
console.log(`[ArenaRoom] Round ${this.state.roundNumber} started (race)`);
|
||||||
|
|
||||||
this._phaseTimer = setTimeout(() => this._endRaceTimeout(), RACE_TIMEOUT * 1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_endRound() {
|
_endRound() {
|
||||||
@@ -205,17 +204,6 @@ class ArenaRoom extends Room {
|
|||||||
console.log(`[ArenaRoom] Game over — winner: ${winner}`);
|
console.log(`[ArenaRoom] Game over — winner: ${winner}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ─── Race mode ──────────────────────────────────────────────────────
|
|
||||||
|
|
||||||
_endRaceTimeout() {
|
|
||||||
this.state.players.forEach((p, id) => {
|
|
||||||
if (!p.isQualified && !p.isEliminated) {
|
|
||||||
this._eliminatePlayer(id, "timeout");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this._endRound();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ─── Elimination helpers ─────────────────────────────────────────────
|
// ─── Elimination helpers ─────────────────────────────────────────────
|
||||||
|
|
||||||
_eliminatePlayer(sessionId, reason) {
|
_eliminatePlayer(sessionId, reason) {
|
||||||
|
|||||||
Reference in New Issue
Block a user