diff --git a/traque-back/admin_socket.js b/traque-back/admin_socket.js index 212c111..3be25d6 100644 --- a/traque-back/admin_socket.js +++ b/traque-back/admin_socket.js @@ -46,6 +46,11 @@ export function initAdminSocketHandler() { socket.emit("game_state", game.state) //Other settings that need initialization socket.emit("zone_settings", game.zone.zoneSettings) + socket.emit("zone", game.zone.currentZone) + socket.emit("new_zone", { + begin: game.zone.currentStartZone, + end: game.zone.nextZone + }) } else { //Attempt unsuccessful diff --git a/traque-back/game.js b/traque-back/game.js index bcbb82f..7c381cf 100644 --- a/traque-back/game.js +++ b/traque-back/game.js @@ -1,3 +1,4 @@ +import { secureAdminBroadcast } from "./admin_socket.js"; import { penaltyController } from "./index.js"; import { isInCircle } from "./map_utils.js"; import { playersBroadcast, sendUpdatedTeamInformations } from "./team_socket.js"; @@ -38,6 +39,14 @@ export default class Game { this.zone.reset(); penaltyController.stop(); } + //Game reset + if(newState == GameState.SETUP) { + for(let team of this.teams) { + team.penalties = 0; + team.captured = false; + } + this.updateTeamChasing(); + } this.state = newState; return true; } @@ -111,6 +120,7 @@ export default class Game { this.getTeam(firstTeam).chased = previousTeam; this.getTeam(previousTeam).chasing = firstTeam; this.getTeam(previousTeam).enemyName = this.getTeam(firstTeam).name; + secureAdminBroadcast("teams", this.teams) return true; } diff --git a/traque-back/team_socket.js b/traque-back/team_socket.js index 8ac1056..8fcd726 100644 --- a/traque-back/team_socket.js +++ b/traque-back/team_socket.js @@ -75,6 +75,11 @@ export function initTeamSocket() { sendUpdatedTeamInformations(loginTeamId); socket.emit("login_response", true); socket.emit("game_state", game.state) + socket.emit("zone", game.zone.currentZone) + socket.emit("new_zone", { + begin: game.zone.currentStartZone, + end: game.zone.nextZone + }) }); socket.on("logout", () => {