Wire up decode puzzle chain and lock terminal on file removal
Connects the previously-disconnected /decode command to per-player messages: player 1 unlocks sudo for everyone, player 2 unlocks a scan command that reveals which files the AI virus has locked, player 3 learns those files should be removed. Also adds a retaliation mechanic: successfully removing a file locks the player's terminal. The AI virus locks it out in red immediately; the mainframe reveals a 12-character recovery code in green after 30 seconds, which can be submitted via /unlock to restore access early, otherwise the terminal auto-recovers after 45 seconds.
This commit is contained in:
@@ -12,6 +12,7 @@ use App\Game\Repository\GameRepository;
|
||||
use App\Game\Repository\PlayerRepository;
|
||||
use App\Game\Repository\SessionRepository;
|
||||
use App\Game\Service\GameDashboardService;
|
||||
use App\Game\Service\GameResponseService;
|
||||
use App\Tech\Entity\User;
|
||||
use App\Game\Service\PlayerService;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
@@ -115,7 +116,8 @@ final class GameController extends AbstractController
|
||||
Request $request,
|
||||
Security $security,
|
||||
PlayerRepository $playerRepository,
|
||||
GameDashboardService $dashboardService
|
||||
GameDashboardService $dashboardService,
|
||||
GameResponseService $gameResponseService
|
||||
): Response
|
||||
{
|
||||
$user = $security->getUser();
|
||||
@@ -157,11 +159,13 @@ final class GameController extends AbstractController
|
||||
|
||||
$screen = $player ? $player->getScreen() : 0;
|
||||
$session_id = $session->getId();
|
||||
$lock = $player ? $gameResponseService->getPublicLockState($player) : null;
|
||||
|
||||
return $this->render('game/index.html.twig', [
|
||||
'session' => $session,
|
||||
'screen' => $screen,
|
||||
'session_id' => $session_id,
|
||||
'lock' => $lock,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user