47FQFDICPYKTV3CK46P6EHPXTN4C3LHFR2AYLEINJ4CUPCZM53AQC
7GL5NEY3BNWG6KHT427VSMER4AAR7ZVJGBNRH6ON2MY2QFPDV4HQC
JJPNC53HQZ2TSAGJKRMHP2377OOOH2QY6IJ22ORIYOJ2IEXZETOAC
G4JSBLA7HZ2FJF22HYFSJFON4OI2JBQPZU4ZPDYNEBC3FVAI4CFQC
ZXBDOUETFSXTFY6J5LIMXBCNMDW6NTUTZ7HZZ6ND7BNUKISR74FAC
OPI6W7BO4V3R5WGEVN4USOHVPUV5PVWGKYBMCRU4VQOI7F7RCF5QC
5I4UCQOTFNIXNO3IEJBPOHAHI63WOS7ZCOGHWJ47IK6MDJ6CBW6AC
JGGVCPUZDY2ZU6EZ72YHJSQKBIOYZPLGWHAJIMSH5ZN3WBWDKJWQC
JPHC6PBQJCGZ3B4LKX7C3XZOYP6UTHWV5PU5EXZ27TTXYZY3AG4AC
NRK37A4NNGLF53STW5RJDHUEP6OKKJORJZL3HYVOKD7OW4QBO5XAC
NDDFOS5624OS3JXFPE46C2VBGU6XYA2XOOP7X5GF26HMDPYLOQXQC
EZYBNJFUNOS3LIU6ILXN7MFKLVW4SDXW6K5T4YFKFZ2R4UWSFUXAC
OLS2OW4YBKIEBURLW2LZDHHFGBGILOXQHHZBW7ED37MKISEGJKOAC
XAKVBFNCOTJQDRXBAP7ATSPIWYTEROYW3DCJYIGTYFVVLET2RU6QC
UZZYGXBFK5ZYVBMM6PO4EIHWHNGUUIVCFCL6HM5ODICHEFGCV4RQC
V5OW3Q4IOFG5YIRAWE7J3HDTEBOX2EW7AHVHKFH2XG7I2XXH6SMAC
HTIL7GWVKJ6WRRRQEEFGMQL6GWTFW2TP7FI34DLXI4DK4QS4HXSAC
function argStartMinigame()
{
$args = array('_private' => array());
$args = array_merge(
$args,
$this->getPublicGameInfos()
);
// Inform about private information (hands)
$players = self::loadPlayersBasicInfos();
foreach($players as $player_id => $player) {
$args['_private'][$player_id] = $this->getPrivateGameInfos($player_id);
}
return $args;
}
$notifText = array(
1 => clienttranslate('The first of three mini-games starts.'),
2 => clienttranslate('The second mini-game starts.'),
3 => clienttranslate('The third and final mini-game starts.'),
);
// Inform about new public status
"newMinigame",
$notifText[$minigame],
$this->getPublicGameInfos());
// Inform about private information (hands)
$players = self::loadPlayersBasicInfos();
foreach($players as $player_id => $player) {
self::notifyPlayer(
$player_id,
"newMinigamePrivate",
'',
$this->getPrivateGameInfos($player_id));
}
"message",
array(
1 => clienttranslate('The first of three mini-games starts.'),
2 => clienttranslate('The second mini-game starts.'),
3 => clienttranslate('The third and final mini-game starts.'),
)[$minigame],
array()
);
case 'startMinigame':
args = args.args;
// Re-enable player panels that may have been disabled in previous mini-game.
this.enableAllPlayerPanels();
// Reset active player marker
dojo.query(".sp_marker").removeClass('visible');
for (var player_id in args.players) {
var player = args.players[player_id];
dojo.toggleClass('sp_marker_' + player_id, 'visible', player.is_startplayer == 1);
}
// Counters
this.updateCounters(args.counters);
// Cards + tiles
this.placeEvidenceCards(args.evidence_display, [], []);
this.placeTiles(args.tiles);
// Tokens
this.placeTokens(args.tokens, null, 100);
// Player hand
this.placePlayerHand(args._private.hand);
break;
notif_newMinigame: function (notif) {
// Re-enable player panels that may have been disabled in previous mini-game.
this.enableAllPlayerPanels();
// Reset active player marker
dojo.query(".sp_marker").removeClass('visible');
for (var player_id in notif.args.players) {
var player = notif.args.players[player_id];
dojo.toggleClass('sp_marker_' + player_id, 'visible', player.is_startplayer == 1);
}
// Counters
this.updateCounters(notif.args.counters);
// Cards + tiles
this.placeEvidenceCards(notif.args.evidence_display, [], []);
this.placeTiles(notif.args.tiles);
// Tokens
this.placeTokens(notif.args.tokens, null, 100);
},
notif_newMinigamePrivate: function (notif) {
this.placePlayerHand(notif.args.hand);
},