update special cards flow1.2
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
}
|
||||
let nick = (params.get('nick') || '').trim() || readStoredDisplayName() || 'ผู้เล่น';
|
||||
const previewMode = params.get('preview') === '1';
|
||||
const specialQuizForceDebug = params.get('sqForce') === '1';
|
||||
const forceDefaultCharacter = params.get('defaultChar') === '1';
|
||||
const editorEmbedReturn = params.get('editorEmbed') === '1';
|
||||
if (previewMode && editorEmbedReturn) {
|
||||
@@ -15540,6 +15541,9 @@
|
||||
return;
|
||||
}
|
||||
myId = socket.id;
|
||||
if (specialQuizForceDebug) {
|
||||
try { socket.emit('special-quiz-force', { on: true }); } catch (eF) { /* ignore */ }
|
||||
}
|
||||
let botSlots = parseInt(res.botSlotCount, 10);
|
||||
if ((!botSlots || botSlots < 1) && res.maxPlayers > 0 && res.maxPlayers < 6) {
|
||||
botSlots = 6 - res.maxPlayers;
|
||||
|
||||
@@ -3939,7 +3939,7 @@
|
||||
<script src="/app-base.js?v=2"></script>
|
||||
<script src="/Game/socket.io/socket.io.js"></script>
|
||||
<script src="js/version.js?v=0.0306"></script>
|
||||
<script src="js/play.js?v=0.0503"></script>
|
||||
<script src="js/play.js?v=0.0504"></script>
|
||||
<div class="version-tag">v —</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-1
@@ -521,8 +521,10 @@ function maybeSpawnSpecialQuizForRun(space) {
|
||||
const card = set && set.specialCard;
|
||||
const hasCard = !!(card && (card.cardId || card.imageUrl));
|
||||
if (!questions.length || !hasCard) { console.log('[special-quiz] skip:no-questions-or-card', mapId, 'L' + level + '_C' + caseId, 'q=' + questions.length, 'card=' + hasCard); return; }
|
||||
const forced = !!space.forceSpecialQuiz;
|
||||
const roll = Math.random();
|
||||
if (roll > SPECIAL_QUIZ_SPAWN_CHANCE) { console.log('[special-quiz] skip:roll', mapId, roll.toFixed(3), '>', SPECIAL_QUIZ_SPAWN_CHANCE.toFixed(3)); return; }
|
||||
if (!forced && roll > SPECIAL_QUIZ_SPAWN_CHANCE) { console.log('[special-quiz] skip:roll', mapId, roll.toFixed(3), '>', SPECIAL_QUIZ_SPAWN_CHANCE.toFixed(3)); return; }
|
||||
if (forced) console.log('[special-quiz] FORCE-spawn (debug)', mapId);
|
||||
const md = (space.mapId && maps.get(space.mapId)) || space.mapData;
|
||||
if (!md) { console.log('[special-quiz] skip:no-map', mapId); return; }
|
||||
const tile = pickSpecialQuizSpawnTile(md);
|
||||
@@ -5324,6 +5326,15 @@ io.on('connection', (socket) => {
|
||||
});
|
||||
|
||||
/** ผู้เล่นเดินชนไอคอนคำถามพิเศษ — ใครชนก่อนเป็นคนเปิดเซสชันให้ทั้งห้อง */
|
||||
/** debug: บังคับ spawn ไอคอนทุกรอบในเซสชันนี้ (เปิดด้วย ?sqForce=1) */
|
||||
socket.on('special-quiz-force', (data) => {
|
||||
const sid = socket.data.spaceId;
|
||||
const space = sid ? spaces.get(sid) : null;
|
||||
if (!space || !space.peers.has(socket.id)) return;
|
||||
space.forceSpecialQuiz = !!(data && data.on);
|
||||
console.log('[special-quiz] force flag =', space.forceSpecialQuiz, 'by', socket.id);
|
||||
});
|
||||
|
||||
socket.on('special-quiz-collide', (_data, cb) => {
|
||||
const reply = typeof cb === 'function' ? cb : () => {};
|
||||
const sid = socket.data.spaceId;
|
||||
|
||||
Reference in New Issue
Block a user