Code edit (1 edits merged)
Please save this source code
User prompt
otra cosa cuando pierdo una y sigo teniendo tres vidas igual game over aunque tenga 2 vidas mas
User prompt
quiero que la dificultad se seleccione antes de jugar, quiero que las pregunta de cada dificultad se van incrementando dependiendo del nivel y que sean dificiles
User prompt
🏅 SISTEMA DE DIFICULTAD ESCALONADA Fácil (Luz de Aprendiz): conocimiento superficial, contenido jugado comúnmente. Media (Sabio del Núcleo): requiere experiencia jugando múltiples temporadas. Difícil (Archivo Negro): exige haber leído lore, conectado eventos entre temporadas. Extrema (Oscuridad Interior): conecta frases cifradas, símbolos, detalles no explicados directamente en el juego.
User prompt
hazlo con preguntas actualizadas al 02/7/2025
User prompt
cuando quiero seleccionar una respuesta no me deja le doy click y nada
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'wordWrap')' in or related to this line: 'self.questionText.style.wordWrap = true;' Line Number: 116
Code edit (1 edits merged)
Please save this source code
User prompt
El Archivo del Guardián
Initial prompt
🎮 Nombre del juego: “El Archivo del Guardián” Tagline: "El conocimiento es la luz que vence a la Oscuridad." 🕹️ Tipo de Juego Modo de juego: Trivia en solitario. Estilo: Por rondas con niveles de dificultad. Formato: Consola (CLI), Escritorio (GUI simple) o incluso archivo ejecutable .exe. ⚙️ Mecánica de Juego 🔹 Estructura básica El jugador responde a preguntas una por una. Hay varias categorías que escalan en dificultad: Historia General Armas y Armaduras Lore Profundo Actividades y Raids Preguntas tipo acertijo Cada ronda contiene entre 5 y 10 preguntas. Cada respuesta correcta suma puntos. Si fallas, puedes perder puntos o tener penalizaciones. 🔥 Modo "Desafío del Guardián" Este es el modo difícil diseñado para jugadores hardcore: Una sola vida: Si fallas una pregunta, terminas el juego. Sin pistas, sin tiempo visible. Las preguntas son encriptadas o indirectas. Ejemplo: “Mi voz se escuchó en las profundidades de la Luna, y fui testigo de la caída de Crota. ¿Quién soy?” Respuesta: Eris Morn 🧠 Tipos de Preguntas 1. Trivia clásica Opción múltiple, 4 respuestas. 2. Identificación por texto Pregunta sin opciones. Ejemplo: “¿Qué significa el nombre 'Xûr' en la lengua de los Nueve?” 3. Cifrado simbólico (modo avanzado) Usas símbolos de la colmena o vex (representados por texto en ASCII) que debes descifrar. Ejemplo: ⚙️ Código Vex: ΔΘψΣ Traducción: "Red" (pista a Red Legion o Redrix) 4. Lore de libro Basado en grimoire, registros o textos oficiales. Ejemplo: “¿Qué palabra susurró Savathûn al final de la Temporada de los Perdidos que alteró el curso del ritual?” 5. Perk Challenge Te dicen un perk y debes decir qué arma podía tenerlo en X temporada. “¿Qué arma legendaria introducida en la Temporada 17 podía tener el perk Incandescente?” 🧩 Estructura de dificultad Fase 1: Iniciado del Archivo Preguntas simples sobre personajes, armas conocidas y actividades básicas. Fase 2: Criptarca Errante Entra el lore más profundo, misiones exóticas específicas, eventos de temporada. Fase 3: Vidente Preguntas indirectas, con citas, frases oscuras, conexiones entre personajes y eventos. Fase 4: Archivo Prohibido Preguntas imposibles para los que no han leído grimoire o no siguieron temporadas específicas. 🏅 Sistema de Logros Rangos internos (guardados localmente, sin conexión): 0–20 pts: Portador de la Luz 21–50 pts: Discípulo de Osiris 51–75 pts: Devorador de Sabiduría 76–100 pts: Leyenda del Archivo Puedes desbloquear modos especiales si alcanzas ciertos puntajes: Modo Oscuridad: todas las preguntas se invierten lógicamente (deben deducirse con pistas falsas). Modo Cronómetro: 5 segundos por pregunta, sin volver atrás.
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
var OptionButton = Container.expand(function () {
var self = Container.call(this);
var bg = self.attachAsset('optionButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.optionText = new Text2('', {
size: 36,
fill: 0xFFFFFF
});
self.optionText.anchor.set(0.5, 0.5);
self.addChild(self.optionText);
self.correctIndicator = null;
self.wrongIndicator = null;
self.isCorrect = false;
self.index = 0;
self.setOption = function (text, index, isCorrect) {
self.optionText.setText(text);
self.index = index;
self.isCorrect = isCorrect;
};
self.showResult = function (correct) {
if (correct) {
self.correctIndicator = self.attachAsset('correctIndicator', {
anchorX: 0.5,
anchorY: 0.5,
alpha: 0.7
});
} else {
self.wrongIndicator = self.attachAsset('wrongIndicator', {
anchorX: 0.5,
anchorY: 0.5,
alpha: 0.7
});
}
};
self.down = function (x, y, obj) {
if (!canAnswer) return;
checkAnswer(self.index);
};
return self;
});
var ProgressDisplay = Container.expand(function () {
var self = Container.call(this);
var barBg = self.attachAsset('progressBar', {
anchorX: 0,
anchorY: 0.5
});
self.progressFill = self.attachAsset('progressFill', {
anchorX: 0,
anchorY: 0.5,
scaleX: 0
});
self.progressText = new Text2('Question 1/10', {
size: 32,
fill: 0xFFFFFF
});
self.progressText.anchor.set(0.5, 0.5);
self.progressText.x = 800;
self.progressText.y = -40;
self.addChild(self.progressText);
self.setProgress = function (current, total) {
self.progressText.setText('Question ' + current + '/' + total);
var progress = current / total;
tween(self.progressFill, {
scaleX: progress
}, {
duration: 500,
easing: tween.easeOut
});
};
return self;
});
var QuestionDisplay = Container.expand(function () {
var self = Container.call(this);
var bg = self.attachAsset('questionBg', {
anchorX: 0.5,
anchorY: 0.5
});
self.questionText = new Text2('', {
size: 48,
fill: 0xFFFFFF
});
self.questionText.anchor.set(0.5, 0.5);
self.addChild(self.questionText);
self.setQuestion = function (text) {
self.questionText.setText(text);
// Word wrap for long questions
self.questionText.wordWrap = true;
self.questionText.wordWrapWidth = 1600;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x0a0a0f
});
/****
* Game Code
****/
// Game state variables
var currentPhase = 0; // 0: Luz de Aprendiz, 1: Sabio del Núcleo, 2: Archivo Negro, 3: Oscuridad Interior
var currentQuestion = 0;
var score = 0;
var lives = 3;
var questionsPerRound = 10;
var canAnswer = true;
var guardianMode = false;
var darknessMode = false;
var timerMode = false;
var timerCount = 0;
var usedQuestions = []; // Track used questions to avoid repetition
// UI Elements
var questionDisplay = null;
var optionButtons = [];
var progressDisplay = null;
var scoreText = null;
var phaseText = null;
var livesText = null;
var modeIndicator = null;
// Question Database - Updated for 02/07/2025 with progressive difficulty
var questions = {
0: [
// Luz de Aprendiz - Basic knowledge, commonly played content
{
q: "What is the primary currency in Destiny 2?",
options: ["Glimmer", "Bright Dust", "Legendary Shards", "Silver"],
correct: 0
}, {
q: "How many character classes exist in the game?",
options: ["2", "3", "4", "5"],
correct: 1
}, {
q: "What element type is Solar associated with?",
options: ["Ice", "Lightning", "Fire", "Void"],
correct: 2
}, {
q: "Which NPC serves as the Titan Vanguard?",
options: ["Ikora Rey", "Commander Zavala", "Lord Shaxx", "Saint-14"],
correct: 1
}, {
q: "Where do Guardians primarily operate from?",
options: ["The Farm", "The Tower", "The Reef", "Europa"],
correct: 1
}, {
q: "What is the name of your Ghost?",
options: ["Sundance", "Sagira", "Ghost", "Pulled Pork"],
correct: 2
}, {
q: "Which activity rewards Pinnacle gear?",
options: ["Public Events", "Patrols", "Nightfalls", "Lost Sectors"],
correct: 2
}, {
q: "What currency is used in Eververse?",
options: ["Glimmer", "Silver", "Legendary Shards", "Enhancement Cores"],
correct: 1
}, {
q: "How many subclasses can each class use?",
options: ["3", "4", "5", "6"],
correct: 2
}, {
q: "What is the weekly reset day?",
options: ["Monday", "Tuesday", "Wednesday", "Thursday"],
correct: 1
}],
1: [
// Sabio del Núcleo - Requires playing multiple seasons
{
q: "Which exotic hand cannon returned in Episode: Revenant?",
options: ["Hawkmoon", "Thorn", "The Last Word", "Eriana's Vow"],
correct: 1
}, {
q: "What is the name of the Witness's ship seen in The Final Shape?",
options: ["The Monolith", "The Pyramid", "The Veil", "The Radial Mast"],
correct: 0
}, {
q: "Which character became the new Hunter Vanguard?",
options: ["Crow", "Ana Bray", "Shiro-4", "No one yet"],
correct: 3
}, {
q: "What exotic was craftable in Season of the Wish?",
options: ["Wish-Ender", "Dragon's Breath", "Whisper of the Worm", "Outbreak Perfected"],
correct: 1
}, {
q: "Which vendor handles Trials of Osiris?",
options: ["Lord Shaxx", "Saint-14", "Osiris", "The Drifter"],
correct: 1
}, {
q: "What currency replaced Legendary Shards?",
options: ["Enhancement Cores", "Glimmer only", "Bright Dust", "Strange Coins"],
correct: 1
}, {
q: "Which raid features Nezarec as the final boss?",
options: ["Root of Nightmares", "King's Fall", "Vow of the Disciple", "Deep Stone Crypt"],
correct: 0
}, {
q: "What is the max stat tier for abilities?",
options: ["10", "100", "12", "120"],
correct: 1
}],
2: [
// Archivo Negro - Deep lore, connections between seasons
{
q: "According to lore, who gave Savathûn her memories back?",
options: ["The Witness", "Immaru", "The Traveler", "Mara Sov"],
correct: 2
}, {
q: "What is the name of Cayde-6's chicken?",
options: ["Ace", "Colonel", "General", "Captain"],
correct: 1
}, {
q: "Which Disciple of the Witness created the Hive?",
options: ["Nezarec", "Rhulk", "Calus", "The Witness itself"],
correct: 1
}, {
q: "What are the three queens Mara Sov refers to in her throne world?",
options: ["Past Present Future", "Light Dark Gray", "Savathûn Xivu Mara", "Birth Life Death"],
correct: 2
}, {
q: "Who was the original owner of the Whisper of the Worm?",
options: ["Oryx", "Xol", "Nokris", "Savathûn"],
correct: 1
}, {
q: "What did the Witness seek within the Traveler?",
options: ["Power", "The Final Shape", "Salvation", "The Light"],
correct: 1
}, {
q: "Which character's real name is Uldren Sov?",
options: ["The Drifter", "Crow", "Spider", "Variks"],
correct: 1
}, {
q: "What connects the Black Garden to the Vex network?",
options: ["The Black Heart", "Sol Divisive", "Quria", "The Undying Mind"],
correct: 1
}],
3: [
// Oscuridad Interior - Cryptic connections, unexplained details
{
q: "Complete the prophecy: 'The line between Light and Dark is so very...'",
options: ["Blurred", "Thin", "Fragile", "Clear"],
correct: 1
}, {
q: "What pattern appears in the symbols of the Nine?",
options: ["Circles within circles", "Triangular fractals", "Spiral convergence", "Unknown geometry"],
correct: 0
}, {
q: "In the Books of Sorrow, what is the Sword Logic's ultimate goal?",
options: ["Survival", "The Final Shape", "Perfect existence", "Eternal war"],
correct: 1
}, {
q: "What whispered truth did Savathûn hide in her throne world?",
options: ["The Witness lied", "The Traveler chose her", "Light needs Dark", "All of the above"],
correct: 3
}, {
q: "According to Unveiling, what existed before Light and Dark?",
options: ["The Garden", "Nothing", "The Pattern", "Potential"],
correct: 0
}, {
q: "What is the significance of 'O champion mine'?",
options: ["Ahamkara wish magic", "Vex simulation", "Hive curse", "Awoken blessing"],
correct: 0
}, {
q: "What truth about the Collapse did Rasputin hide?",
options: ["He attacked the Traveler", "He made a deal", "He knew it would happen", "All records were destroyed"],
correct: 0
}, {
q: "In Cayde's final message, what does Ace represent?",
options: ["His gun", "His son", "A memory", "All meanings"],
correct: 3
}]
};
var phaseNames = ["Luz de Aprendiz", "Sabio del Núcleo", "Archivo Negro", "Oscuridad Interior"];
var rankNames = ["Light Bearer", "Disciple of Osiris", "Wisdom Devourer", "Archive Legend"];
function initializeGame() {
// Question display
questionDisplay = game.addChild(new QuestionDisplay());
questionDisplay.x = 1024;
questionDisplay.y = 600;
// Option buttons
for (var i = 0; i < 4; i++) {
var button = game.addChild(new OptionButton());
button.x = 520 + i % 2 * 1000;
button.y = 1200 + Math.floor(i / 2) * 200;
optionButtons.push(button);
}
// Progress display
progressDisplay = game.addChild(new ProgressDisplay());
progressDisplay.x = 224;
progressDisplay.y = 2400;
// Score text
scoreText = new Text2('Score: 0', {
size: 64,
fill: 0xFFFFFF
});
scoreText.anchor.set(1, 0);
LK.gui.topRight.addChild(scoreText);
// Phase text
phaseText = new Text2(phaseNames[0], {
size: 48,
fill: 0x5EB3FF
});
phaseText.anchor.set(0.5, 0);
phaseText.y = 100;
LK.gui.top.addChild(phaseText);
// Lives text
livesText = new Text2('Lives: ❤❤❤', {
size: 40,
fill: 0xFF6B6B
});
livesText.anchor.set(0, 0);
livesText.x = 120;
LK.gui.topLeft.addChild(livesText);
// Load saved progress
score = storage.highScore || 0;
guardianMode = storage.guardianUnlocked || false;
darknessMode = storage.darknessUnlocked || false;
timerMode = storage.timerUnlocked || false;
// Start game
loadQuestion();
LK.playMusic('ambient');
}
function loadQuestion() {
canAnswer = true;
currentQuestion++;
if (currentQuestion > questionsPerRound) {
// Phase complete
if (currentPhase < 3) {
currentPhase++;
currentQuestion = 1;
LK.getSound('levelup').play();
phaseText.setText(phaseNames[currentPhase]);
tween(phaseText, {
scaleX: 1.5,
scaleY: 1.5
}, {
duration: 300,
easing: tween.easeOut,
onFinish: function onFinish() {
tween(phaseText, {
scaleX: 1,
scaleY: 1
}, {
duration: 300,
easing: tween.easeIn
});
}
});
} else {
// Game complete
checkAchievements();
return;
}
}
progressDisplay.setProgress(currentQuestion, questionsPerRound);
// Update difficulty visual indicator
var difficultyColors = [0x5EB3FF, 0xFFD700, 0xFF6B6B, 0x9B59B6];
phaseText.tint = difficultyColors[currentPhase];
// Get random question from current phase
var phaseQuestions = questions[currentPhase];
// Reset used questions when changing phase
if (currentQuestion === 1) {
usedQuestions = [];
}
// Find unused question
var questionData = null;
var attempts = 0;
while (!questionData && attempts < 20) {
var index = Math.floor(Math.random() * phaseQuestions.length);
if (usedQuestions.indexOf(index) === -1) {
questionData = phaseQuestions[index];
usedQuestions.push(index);
}
attempts++;
}
// Fallback to any question if all used
if (!questionData) {
usedQuestions = [];
var index = Math.floor(Math.random() * phaseQuestions.length);
questionData = phaseQuestions[index];
usedQuestions.push(index);
}
// Apply darkness mode
if (darknessMode) {
questionDisplay.setQuestion("NOT: " + questionData.q);
} else {
questionDisplay.setQuestion(questionData.q);
}
// Set options
for (var i = 0; i < 4; i++) {
optionButtons[i].setOption(questionData.options[i], i, i === questionData.correct);
}
// Timer mode
if (timerMode) {
timerCount = 300; // 5 seconds * 60 fps
}
}
function checkAnswer(selectedIndex) {
if (!canAnswer) return;
canAnswer = false;
var correct = optionButtons[selectedIndex].isCorrect;
// Darkness mode inverts correct answers
if (darknessMode) {
correct = !correct;
}
if (correct) {
LK.getSound('correct').play();
optionButtons[selectedIndex].showResult(true);
// Progressive scoring: Luz=5, Sabio=10, Archivo=20, Oscuridad=40
var phaseScores = [5, 10, 20, 40];
score += phaseScores[currentPhase];
scoreText.setText('Score: ' + score);
LK.setScore(score);
// Check for unlocks
if (score >= 30 && !guardianMode) {
guardianMode = true;
storage.guardianUnlocked = true;
LK.getSound('unlock').play();
showUnlockMessage("Guardian's Challenge Unlocked!");
}
if (score >= 50 && !darknessMode) {
darknessMode = true;
storage.darknessUnlocked = true;
LK.getSound('unlock').play();
showUnlockMessage("Darkness Mode Unlocked!");
}
if (score >= 70 && !timerMode) {
timerMode = true;
storage.timerUnlocked = true;
LK.getSound('unlock').play();
showUnlockMessage("Timer Mode Unlocked!");
}
} else {
LK.getSound('wrong').play();
optionButtons[selectedIndex].showResult(false);
lives--;
updateLives();
if (guardianMode || lives <= 0) {
LK.showGameOver();
return;
}
}
// Save high score
if (score > (storage.highScore || 0)) {
storage.highScore = score;
}
// Next question after delay
LK.setTimeout(function () {
// Clear indicators
for (var i = 0; i < 4; i++) {
if (optionButtons[i].correctIndicator) {
optionButtons[i].correctIndicator.destroy();
optionButtons[i].correctIndicator = null;
}
if (optionButtons[i].wrongIndicator) {
optionButtons[i].wrongIndicator.destroy();
optionButtons[i].wrongIndicator = null;
}
}
loadQuestion();
}, 1500);
}
function updateLives() {
var hearts = '';
for (var i = 0; i < lives; i++) {
hearts += '❤';
}
livesText.setText('Lives: ' + hearts);
}
function showUnlockMessage(message) {
var unlockText = new Text2(message, {
size: 72,
fill: 0xFFD700
});
unlockText.anchor.set(0.5, 0.5);
unlockText.x = 1024;
unlockText.y = 1366;
unlockText.alpha = 0;
game.addChild(unlockText);
tween(unlockText, {
alpha: 1,
scaleX: 1.2,
scaleY: 1.2
}, {
duration: 500,
easing: tween.easeOut,
onFinish: function onFinish() {
LK.setTimeout(function () {
tween(unlockText, {
alpha: 0
}, {
duration: 500,
onFinish: function onFinish() {
unlockText.destroy();
}
});
}, 2000);
}
});
}
function checkAchievements() {
var rank = 0;
if (score >= 21) rank = 1;
if (score >= 51) rank = 2;
if (score >= 76) rank = 3;
var achievementText = new Text2('Rank: ' + rankNames[rank], {
size: 96,
fill: 0xFFD700
});
achievementText.anchor.set(0.5, 0.5);
achievementText.x = 1024;
achievementText.y = 1366;
game.addChild(achievementText);
if (score >= 100) {
LK.showYouWin();
} else {
LK.setTimeout(function () {
LK.showGameOver();
}, 3000);
}
}
game.update = function () {
if (timerMode && timerCount > 0 && canAnswer) {
timerCount--;
if (timerCount <= 0) {
// Time's up - wrong answer
canAnswer = false;
lives--;
updateLives();
LK.getSound('wrong').play();
if (guardianMode || lives <= 0) {
LK.showGameOver();
} else {
LK.setTimeout(function () {
loadQuestion();
}, 1000);
}
}
}
};
// Initialize the game
initializeGame(); ===================================================================
--- original.js
+++ change.js
@@ -111,9 +111,9 @@
/****
* Game Code
****/
// Game state variables
-var currentPhase = 0; // 0: Initiate, 1: Cryptarch, 2: Seer, 3: Forbidden
+var currentPhase = 0; // 0: Luz de Aprendiz, 1: Sabio del Núcleo, 2: Archivo Negro, 3: Oscuridad Interior
var currentQuestion = 0;
var score = 0;
var lives = 3;
var questionsPerRound = 10;
@@ -121,100 +121,169 @@
var guardianMode = false;
var darknessMode = false;
var timerMode = false;
var timerCount = 0;
+var usedQuestions = []; // Track used questions to avoid repetition
// UI Elements
var questionDisplay = null;
var optionButtons = [];
var progressDisplay = null;
var scoreText = null;
var phaseText = null;
var livesText = null;
var modeIndicator = null;
-// Question Database
+// Question Database - Updated for 02/07/2025 with progressive difficulty
var questions = {
0: [
- // Initiate
+ // Luz de Aprendiz - Basic knowledge, commonly played content
{
- q: "What is the primary currency in the game?",
+ q: "What is the primary currency in Destiny 2?",
options: ["Glimmer", "Bright Dust", "Legendary Shards", "Silver"],
correct: 0
}, {
- q: "How many character classes are there?",
+ q: "How many character classes exist in the game?",
options: ["2", "3", "4", "5"],
correct: 1
}, {
- q: "What is the current Power level cap in Episode: Heresy?",
- options: ["1990", "2000", "2010", "2020"],
+ q: "What element type is Solar associated with?",
+ options: ["Ice", "Lightning", "Fire", "Void"],
correct: 2
}, {
- q: "Which subclass element was introduced in The Final Shape?",
- options: ["Stasis", "Strand", "Prismatic", "Resonance"],
+ q: "Which NPC serves as the Titan Vanguard?",
+ options: ["Ikora Rey", "Commander Zavala", "Lord Shaxx", "Saint-14"],
+ correct: 1
+ }, {
+ q: "Where do Guardians primarily operate from?",
+ options: ["The Farm", "The Tower", "The Reef", "Europa"],
+ correct: 1
+ }, {
+ q: "What is the name of your Ghost?",
+ options: ["Sundance", "Sagira", "Ghost", "Pulled Pork"],
correct: 2
}, {
- q: "What is the name of the current Episode after Echoes and Revenant?",
- options: ["Heresy", "Shadow", "Dawn", "Legacy"],
- correct: 0
+ q: "Which activity rewards Pinnacle gear?",
+ options: ["Public Events", "Patrols", "Nightfalls", "Lost Sectors"],
+ correct: 2
+ }, {
+ q: "What currency is used in Eververse?",
+ options: ["Glimmer", "Silver", "Legendary Shards", "Enhancement Cores"],
+ correct: 1
+ }, {
+ q: "How many subclasses can each class use?",
+ options: ["3", "4", "5", "6"],
+ correct: 2
+ }, {
+ q: "What is the weekly reset day?",
+ options: ["Monday", "Tuesday", "Wednesday", "Thursday"],
+ correct: 1
}],
1: [
- // Cryptarch
+ // Sabio del Núcleo - Requires playing multiple seasons
{
- q: "Which exotic hand cannon fires solar rounds that explode?",
- options: ["Thorn", "Ace of Spades", "Sunshot", "The Last Word"],
- correct: 2
+ q: "Which exotic hand cannon returned in Episode: Revenant?",
+ options: ["Hawkmoon", "Thorn", "The Last Word", "Eriana's Vow"],
+ correct: 1
}, {
- q: "Who is the current Hunter Vanguard after Cayde-6?",
- options: ["Crow", "Ana Bray", "Shiro-4", "No one"],
+ q: "What is the name of the Witness's ship seen in The Final Shape?",
+ options: ["The Monolith", "The Pyramid", "The Veil", "The Radial Mast"],
+ correct: 0
+ }, {
+ q: "Which character became the new Hunter Vanguard?",
+ options: ["Crow", "Ana Bray", "Shiro-4", "No one yet"],
correct: 3
}, {
- q: "What exotic weapon did we craft in The Final Shape campaign?",
- options: ["Ergo Sum", "Still Hunt", "Microcosm", "Khvostov 7G-0X"],
+ q: "What exotic was craftable in Season of the Wish?",
+ options: ["Wish-Ender", "Dragon's Breath", "Whisper of the Worm", "Outbreak Perfected"],
+ correct: 1
+ }, {
+ q: "Which vendor handles Trials of Osiris?",
+ options: ["Lord Shaxx", "Saint-14", "Osiris", "The Drifter"],
+ correct: 1
+ }, {
+ q: "What currency replaced Legendary Shards?",
+ options: ["Enhancement Cores", "Glimmer only", "Bright Dust", "Strange Coins"],
+ correct: 1
+ }, {
+ q: "Which raid features Nezarec as the final boss?",
+ options: ["Root of Nightmares", "King's Fall", "Vow of the Disciple", "Deep Stone Crypt"],
correct: 0
}, {
- q: "Which destination was vaulted most recently?",
- options: ["Mars", "Titan", "Mercury", "None recently"],
- correct: 3
+ q: "What is the max stat tier for abilities?",
+ options: ["10", "100", "12", "120"],
+ correct: 1
}],
2: [
- // Seer
+ // Archivo Negro - Deep lore, connections between seasons
{
- q: "What is the name of the Witness's precursor species?",
- options: ["The First", "The Precursors", "Unknown", "The Penitent"],
+ q: "According to lore, who gave Savathûn her memories back?",
+ options: ["The Witness", "Immaru", "The Traveler", "Mara Sov"],
correct: 2
}, {
- q: "Who became the new Speaker in The Final Shape?",
- options: ["Ikora Rey", "Crow", "Micah-10", "No one"],
- correct: 2
+ q: "What is the name of Cayde-6's chicken?",
+ options: ["Ace", "Colonel", "General", "Captain"],
+ correct: 1
}, {
- q: "What are the three Acts of Episode: Heresy focused on?",
- options: ["Hive corruption", "Eliksni alliance", "Vex invasion", "Taken resurgence"],
- correct: 0
+ q: "Which Disciple of the Witness created the Hive?",
+ options: ["Nezarec", "Rhulk", "Calus", "The Witness itself"],
+ correct: 1
}, {
- q: "Which character sacrificed themselves to help defeat the Witness?",
- options: ["Zavala", "Ikora", "Cayde-6", "Ghost"],
+ q: "What are the three queens Mara Sov refers to in her throne world?",
+ options: ["Past Present Future", "Light Dark Gray", "Savathûn Xivu Mara", "Birth Life Death"],
correct: 2
+ }, {
+ q: "Who was the original owner of the Whisper of the Worm?",
+ options: ["Oryx", "Xol", "Nokris", "Savathûn"],
+ correct: 1
+ }, {
+ q: "What did the Witness seek within the Traveler?",
+ options: ["Power", "The Final Shape", "Salvation", "The Light"],
+ correct: 1
+ }, {
+ q: "Which character's real name is Uldren Sov?",
+ options: ["The Drifter", "Crow", "Spider", "Variks"],
+ correct: 1
+ }, {
+ q: "What connects the Black Garden to the Vex network?",
+ options: ["The Black Heart", "Sol Divisive", "Quria", "The Undying Mind"],
+ correct: 1
}],
3: [
- // Forbidden
+ // Oscuridad Interior - Cryptic connections, unexplained details
{
- q: "What is the true nature of the Witness revealed in The Final Shape?",
- options: ["A collective consciousness", "The First Disciple", "A paracausal entity", "The Traveler's shadow"],
+ q: "Complete the prophecy: 'The line between Light and Dark is so very...'",
+ options: ["Blurred", "Thin", "Fragile", "Clear"],
+ correct: 1
+ }, {
+ q: "What pattern appears in the symbols of the Nine?",
+ options: ["Circles within circles", "Triangular fractals", "Spiral convergence", "Unknown geometry"],
correct: 0
}, {
- q: "What power allows Guardians to combine Light and Darkness abilities?",
- options: ["Transcendence", "Prismatic", "Resonance", "Synthesis"],
+ q: "In the Books of Sorrow, what is the Sword Logic's ultimate goal?",
+ options: ["Survival", "The Final Shape", "Perfect existence", "Eternal war"],
correct: 1
}, {
- q: "Who are the key NPCs introduced in the Pale Heart?",
- options: ["Micah-10 and Cayde-6", "The Witness and Savathûn", "Crow and Mara", "Eris and Drifter"],
+ q: "What whispered truth did Savathûn hide in her throne world?",
+ options: ["The Witness lied", "The Traveler chose her", "Light needs Dark", "All of the above"],
+ correct: 3
+ }, {
+ q: "According to Unveiling, what existed before Light and Dark?",
+ options: ["The Garden", "Nothing", "The Pattern", "Potential"],
correct: 0
}, {
- q: "What is the endgame activity introduced in The Final Shape?",
- options: ["Salvation's Edge raid", "Excision mission", "Overthrow", "All of the above"],
+ q: "What is the significance of 'O champion mine'?",
+ options: ["Ahamkara wish magic", "Vex simulation", "Hive curse", "Awoken blessing"],
+ correct: 0
+ }, {
+ q: "What truth about the Collapse did Rasputin hide?",
+ options: ["He attacked the Traveler", "He made a deal", "He knew it would happen", "All records were destroyed"],
+ correct: 0
+ }, {
+ q: "In Cayde's final message, what does Ace represent?",
+ options: ["His gun", "His son", "A memory", "All meanings"],
correct: 3
}]
};
-var phaseNames = ["Archive Initiate", "Wandering Cryptarch", "Seer", "Forbidden Archive"];
+var phaseNames = ["Luz de Aprendiz", "Sabio del Núcleo", "Archivo Negro", "Oscuridad Interior"];
var rankNames = ["Light Bearer", "Disciple of Osiris", "Wisdom Devourer", "Archive Legend"];
function initializeGame() {
// Question display
questionDisplay = game.addChild(new QuestionDisplay());
@@ -295,11 +364,35 @@
return;
}
}
progressDisplay.setProgress(currentQuestion, questionsPerRound);
+ // Update difficulty visual indicator
+ var difficultyColors = [0x5EB3FF, 0xFFD700, 0xFF6B6B, 0x9B59B6];
+ phaseText.tint = difficultyColors[currentPhase];
// Get random question from current phase
var phaseQuestions = questions[currentPhase];
- var questionData = phaseQuestions[Math.floor(Math.random() * phaseQuestions.length)];
+ // Reset used questions when changing phase
+ if (currentQuestion === 1) {
+ usedQuestions = [];
+ }
+ // Find unused question
+ var questionData = null;
+ var attempts = 0;
+ while (!questionData && attempts < 20) {
+ var index = Math.floor(Math.random() * phaseQuestions.length);
+ if (usedQuestions.indexOf(index) === -1) {
+ questionData = phaseQuestions[index];
+ usedQuestions.push(index);
+ }
+ attempts++;
+ }
+ // Fallback to any question if all used
+ if (!questionData) {
+ usedQuestions = [];
+ var index = Math.floor(Math.random() * phaseQuestions.length);
+ questionData = phaseQuestions[index];
+ usedQuestions.push(index);
+ }
// Apply darkness mode
if (darknessMode) {
questionDisplay.setQuestion("NOT: " + questionData.q);
} else {
@@ -324,9 +417,11 @@
}
if (correct) {
LK.getSound('correct').play();
optionButtons[selectedIndex].showResult(true);
- score += (currentPhase + 1) * 5;
+ // Progressive scoring: Luz=5, Sabio=10, Archivo=20, Oscuridad=40
+ var phaseScores = [5, 10, 20, 40];
+ score += phaseScores[currentPhase];
scoreText.setText('Score: ' + score);
LK.setScore(score);
// Check for unlocks
if (score >= 30 && !guardianMode) {