Fix EveryoneVerified setting being scoped to a specific player
checkIfAllPlayersVerified() read and wrote the EveryoneVerified setting scoped to whichever player happened to trigger the check (getSetting(..., $player) / setPlayer($player)), but it's meant to be a single session-wide flag. getFileContent() correctly reads it as session-global (no player, filters player IS NULL), so the two never matched: the "everyone verified" Mercure message still fired (that code path only checks its own player-scoped copy), but the special code injection into the Doyle/Vega/Lennox report files never ran since getFileContent() never found the setting. Store and read it consistently as session-global. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -635,7 +635,7 @@ class GameResponseService
|
|||||||
private function checkIfAllPlayersVerified(Player $player): void
|
private function checkIfAllPlayersVerified(Player $player): void
|
||||||
{
|
{
|
||||||
$session = $player->getSession();
|
$session = $player->getSession();
|
||||||
$everyoneVerifiedSetting = $this->sessionSettingRepository->getSetting($session, SessionSettingType::EVERYONE_VERIFIED, $player);
|
$everyoneVerifiedSetting = $this->sessionSettingRepository->getSetting($session, SessionSettingType::EVERYONE_VERIFIED);
|
||||||
|
|
||||||
if ($everyoneVerifiedSetting && $everyoneVerifiedSetting->getValue() === 'true') {
|
if ($everyoneVerifiedSetting && $everyoneVerifiedSetting->getValue() === 'true') {
|
||||||
return;
|
return;
|
||||||
@@ -663,7 +663,6 @@ class GameResponseService
|
|||||||
if (!$everyoneVerifiedSetting) {
|
if (!$everyoneVerifiedSetting) {
|
||||||
$everyoneVerifiedSetting = new SessionSetting();
|
$everyoneVerifiedSetting = new SessionSetting();
|
||||||
$everyoneVerifiedSetting->setSession($session);
|
$everyoneVerifiedSetting->setSession($session);
|
||||||
$everyoneVerifiedSetting->setPlayer($player);
|
|
||||||
$everyoneVerifiedSetting->setName(SessionSettingType::EVERYONE_VERIFIED);
|
$everyoneVerifiedSetting->setName(SessionSettingType::EVERYONE_VERIFIED);
|
||||||
}
|
}
|
||||||
$everyoneVerifiedSetting->setValue('true');
|
$everyoneVerifiedSetting->setValue('true');
|
||||||
|
|||||||
Reference in New Issue
Block a user