User prompt
Make it so he doesn’t immediately know where you are and he moves straight for four seconds if you’re at the edge of the map and move up when he’s behind you ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
it will take him four seconds to realize you’re not there, and he will move straight for four seconds until he hits the edge of the map which knocks him out. Add stars above his head to make you sure that he’s knockout ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
no, like what I meant was make it so if you’re at the very edge of the map and the monster is right behind you, you can move up and he will still move straight where you are thinking you are still there but he will hit his head on the edge of the map and get knocked out for two seconds
User prompt
Make it so if the monster is close to you and you’re on the edge of the map and he is right behind you, you can move down to kind of trick him and make him bonkers head, but he is knocked out for two seconds and then he sees you again
User prompt
Write code for that
User prompt
make it so if the monster collide with the Ed button in the normal game, then he runs around he is trying to find the player, but if the monster dies, then the game will glitch and a secret text appear saying monster is not found
User prompt
it won’t work
User prompt
make it so if you die in the secret map, then the countdown restarts
User prompt
Make it so they’re a little faster so if you stay still, you could die before it reaches 10 seconds
User prompt
make sure the monsters aren’t that fast in the room, but the normally fast one is still in the main map
User prompt
Make it so you still have the arrows in the room to walk around in
User prompt
if the player collide with it, bring the player to a room with text saying you found this very small button. This is not the win, but you will be sent to a room with five monsters that you’ll have to run away from this count down from 10 to 1 and counts from 10 to one
User prompt
Make it even even smaller
User prompt
Make it small smaller
User prompt
Make it smaller
User prompt
Make it so there’s a small grey button at the edge of the map, but still seeable
User prompt
there’s a 00000.1% chance that you won’t load into the game and it will bring you to a black box with text saying you found the room with the lowest percent chance of the player spotting into lucky you
User prompt
make it so it says that has a 10% chance of spawning
User prompt
no it doesn’t show you. You win thing. It brings you into a black room with text with green text saying you won you found the blue box that has a 10% chance of spawning.
User prompt
make it 10
User prompt
make it so it’s a 20% chance
User prompt
There was also a 40% chance of adding a black box to the game and if you touch it, it says you won you found the black box with a 40% chance
User prompt
Make a even smaller chance to load into the game but all of the UI and text is distorted
User prompt
make it so the text stays in one little place, but it’s moving a lot like shaking when the monster is big if you get the chance to have the big monster
User prompt
If that happens, then all of the text is glitchy
/**** * Classes ****/ var ArrowButton = Container.expand(function (direction) { var self = Container.call(this); var buttonGraphics = self.attachAsset('arrowButton', { anchorX: 0.5, anchorY: 0.5 }); self.direction = direction; self.down = function (x, y, obj) { self.isPressed = true; buttonGraphics.alpha = 0.7; }; self.up = function (x, y, obj) { self.isPressed = false; buttonGraphics.alpha = 1.0; }; return self; }); var Monster = Container.expand(function () { var self = Container.call(this); var monsterGraphics = self.attachAsset('monster', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 2; self.lastX = 0; self.lastY = 0; self.lastPlayerIntersecting = false; self.update = function () { // Simple AI: move towards player if (player) { var dx = player.x - self.x; var dy = player.y - self.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > 0) { // Normalize and apply speed self.x += dx / distance * self.speed; self.y += dy / distance * self.speed; } // Check if monster caught player var currentIntersecting = self.intersects(player); if (!self.lastPlayerIntersecting && currentIntersecting) { // Player caught! Play death sound extra loud var deathSound = LK.getSound('deathSound'); deathSound.volume = 10000000; // Set to 1,000,000,000% volume deathSound.play(); // Flash screen red LK.effects.flashScreen(0xff0000, 1000); // Reset game after short delay LK.setTimeout(function () { // Reset positions player.x = 1024; player.y = 1366; self.x = 200; self.y = 200; self.speed = 2; // Reset game timer gameStartTime = Date.now(); LK.setScore(0); }, 1500); } self.lastPlayerIntersecting = currentIntersecting; } }; return self; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0xffffff }); /**** * Game Code ****/ // 0.00001% chance to show secret black room with special text instead of loading the game if (Math.random() < 0.0000001) { // Remove all game elements from the screen (if any) for (var i = game.children.length - 1; i >= 0; i--) { game.removeChild(game.children[i]); } // Fill background with black game.setBackgroundColor(0x000000); // Show green text in the center var secretText = new Text2('You found the room with the lowest percent chance of the player spotting into\nLucky you!', { size: 100, fill: 0x00ff00 }); secretText.anchor.set(0.5, 0.5); secretText.x = 1024; secretText.y = 1366; game.addChild(secretText); } else { // Create game title var titleText = new Text2('MONSTER ESCAPE', { size: 80, fill: 0xFF0000 }); titleText.anchor.set(0.5, 0); titleText.x = 1024; titleText.y = 100; game.addChild(titleText); // Create instructions var instructionsText = new Text2('Survive as long as possible!\nMonster gets faster every minute', { size: 40, fill: 0x333333 }); instructionsText.anchor.set(0.5, 0); instructionsText.x = 1024; instructionsText.y = 200; game.addChild(instructionsText); // Create score display var scoreText = new Text2('Time Survived: 0ms', { size: 50, fill: 0x000000 }); scoreText.anchor.set(0.5, 0); scoreText.x = 1024; scoreText.y = 300; game.addChild(scoreText); ; } var player = game.addChild(new Player()); player.x = 1024; // Center horizontally player.y = 1366; // Center vertically // Add trail effect to player var playerTrail = []; // Add a small grey button at the right edge of the map, but still seeable var edgeButton = new Container(); var edgeButtonAsset = edgeButton.attachAsset('edgeButtonGrey', { anchorX: 0.5, anchorY: 0.5, width: 12, height: 12, color: 0x888888, shape: 'box' }); // Place the button at the right edge, vertically centered, but still visible edgeButton.x = 2048 - 60; // 60px from the right edge edgeButton.y = 1366; // center vertically game.addChild(edgeButton); var monster = game.addChild(new Monster()); monster.x = 200; monster.y = 200; // Small chance to make the monster really, really big at game start if (Math.random() < 0.03) { // 3% chance monster.scaleX = 8; monster.scaleY = 8; } // 10% chance to spawn a black box var hasBlackBox = false; var blackBox = null; if (Math.random() < 0.1) { hasBlackBox = true; blackBox = new Container(); var boxAsset = blackBox.attachAsset('blackBox', { anchorX: 0.5, anchorY: 0.5, width: 180, height: 180, color: 0x000000, shape: 'box' }); // Place black box at a random location not too close to player or monster var safe = false; var bx = 0, by = 0; while (!safe) { bx = 200 + Math.random() * (2048 - 400); by = 400 + Math.random() * (2732 - 800); var distToPlayer = Math.sqrt((bx - player.x) * (bx - player.x) + (by - player.y) * (by - player.y)); var distToMonster = Math.sqrt((bx - monster.x) * (bx - monster.x) + (by - monster.y) * (by - monster.y)); if (distToPlayer > 400 && distToMonster > 400) safe = true; } blackBox.x = bx; blackBox.y = by; game.addChild(blackBox); } var foundBlackBox = false; // Even smaller chance to start with all UI/text distorted var isDistortedUI = false; if (Math.random() < 0.004) { // 0.4% chance isDistortedUI = true; } // Arrow control buttons var upButton = game.addChild(new ArrowButton('up')); upButton.x = 1024; upButton.y = 2500; var downButton = game.addChild(new ArrowButton('down')); downButton.x = 1024; downButton.y = 2620; var leftButton = game.addChild(new ArrowButton('left')); leftButton.x = 904; leftButton.y = 2560; var rightButton = game.addChild(new ArrowButton('right')); rightButton.x = 1144; rightButton.y = 2560; var playerSpeed = 5; var gameStartTime = Date.now(); game.update = function () { // Handle player movement with arrow buttons if (upButton.isPressed) { player.y = Math.max(50, player.y - playerSpeed); } if (downButton.isPressed) { player.y = Math.min(2682, player.y + playerSpeed); } if (leftButton.isPressed) { player.x = Math.max(50, player.x - playerSpeed); } if (rightButton.isPressed) { player.x = Math.min(1998, player.x + playerSpeed); } // Check for black box win condition if (hasBlackBox && blackBox && !foundBlackBox) { if (player.lastFoundBlackBox === undefined) player.lastFoundBlackBox = false; var isIntersectingBlackBox = player.intersects(blackBox); if (!player.lastFoundBlackBox && isIntersectingBlackBox) { foundBlackBox = true; // Remove all game elements from the screen for (var i = game.children.length - 1; i >= 0; i--) { game.removeChild(game.children[i]); } // Fill background with black game.setBackgroundColor(0x000000); // Show green text in the center var winText = new Text2('You won!\nYou found the blue box!\n(It has a 10% chance of spawning)', { size: 120, fill: 0x00ff00 }); winText.anchor.set(0.5, 0.5); winText.x = 1024; winText.y = 1366; game.addChild(winText); } player.lastFoundBlackBox = isIntersectingBlackBox; // --- Monster collides with black box: "The monster won?" --- if (monster.lastBlackBoxIntersecting === undefined) monster.lastBlackBoxIntersecting = false; var monsterIntersectingBlackBox = monster.intersects(blackBox); if (!monster.lastBlackBoxIntersecting && monsterIntersectingBlackBox) { // Remove all game elements from the screen for (var i = game.children.length - 1; i >= 0; i--) { game.removeChild(game.children[i]); } // Fill background with black game.setBackgroundColor(0x000000); // Show centered text var monsterWinText = new Text2('The monster won?', { size: 120, fill: 0xffffff }); monsterWinText.anchor.set(0.5, 0.5); monsterWinText.x = 1024; monsterWinText.y = 1366; game.addChild(monsterWinText); } monster.lastBlackBoxIntersecting = monsterIntersectingBlackBox; } // --- Secret tiny edge button room logic --- if (player.lastFoundEdgeButton === undefined) player.lastFoundEdgeButton = false; var isIntersectingEdgeButton = player.intersects(edgeButton); if (!player.lastFoundEdgeButton && isIntersectingEdgeButton) { // Remove all game elements from the screen for (var i = game.children.length - 1; i >= 0; i--) { game.removeChild(game.children[i]); } // Fill background with black game.setBackgroundColor(0x000000); // Show special text var foundButtonText = new Text2('You found this very small button.\nThis is not the win.\nSurvive the monsters for 10 seconds!', { size: 80, fill: 0xffffff }); foundButtonText.anchor.set(0.5, 0.5); foundButtonText.x = 1024; foundButtonText.y = 500; game.addChild(foundButtonText); // Add player to the center player.x = 1024; player.y = 2000; game.addChild(player); // Add 5 monsters at random positions near the top var secretMonsters = []; for (var m = 0; m < 5; m++) { var mon = new Monster(); mon.x = 400 + Math.random() * 1200; mon.y = 400 + Math.random() * 400; // Make monsters in secret room fast enough to catch a still player (speed 2.7 to 3.2) mon.speed = 2.7 + Math.random() * 0.5; secretMonsters.push(mon); game.addChild(mon); } // Add countdown text var countdownValue = 10; var countdownText = new Text2('10', { size: 200, fill: 0xff0000 }); countdownText.anchor.set(0.5, 0.5); countdownText.x = 1024; countdownText.y = 1200; game.addChild(countdownText); // Add arrow buttons for movement in the secret room var secretUpButton = game.addChild(new ArrowButton('up')); secretUpButton.x = 1024; secretUpButton.y = 2500; var secretDownButton = game.addChild(new ArrowButton('down')); secretDownButton.x = 1024; secretDownButton.y = 2620; var secretLeftButton = game.addChild(new ArrowButton('left')); secretLeftButton.x = 904; secretLeftButton.y = 2560; var secretRightButton = game.addChild(new ArrowButton('right')); secretRightButton.x = 1144; secretRightButton.y = 2560; // Timer for countdown var countdownTimer = LK.setInterval(function () { countdownValue--; if (countdownValue > 0) { countdownText.setText(countdownValue + ''); } else { LK.clearInterval(countdownTimer); // Survived! Show success message for (var i = game.children.length - 1; i >= 0; i--) { game.removeChild(game.children[i]); } game.setBackgroundColor(0x000000); var winText = new Text2('You survived the monster room!\nYou are truly observant.', { size: 100, fill: 0x00ff00 }); winText.anchor.set(0.5, 0.5); winText.x = 1024; winText.y = 1366; game.addChild(winText); } }, 1000); // Override game.update for this room var secretRoomActive = true; game.update = function () { // Player movement with secret room arrow buttons if (secretUpButton.isPressed) { player.y = Math.max(50, player.y - playerSpeed); } if (secretDownButton.isPressed) { player.y = Math.min(2682, player.y + playerSpeed); } if (secretLeftButton.isPressed) { player.x = Math.max(50, player.x - playerSpeed); } if (secretRightButton.isPressed) { player.x = Math.min(1998, player.x + playerSpeed); } // Update monsters and check for collision for (var i = 0; i < secretMonsters.length; i++) { var mon = secretMonsters[i]; if (mon.update) mon.update(); var caught = mon.intersects(player); if (!mon.lastPlayerIntersecting && caught) { // Player caught! End the room and restart the secret room and countdown LK.clearInterval(countdownTimer); for (var j = game.children.length - 1; j >= 0; j--) { game.removeChild(game.children[j]); } game.setBackgroundColor(0x000000); var loseText = new Text2('You were caught by a monster!\nRestarting...', { size: 100, fill: 0xff0000 }); loseText.anchor.set(0.5, 0.5); loseText.x = 1024; loseText.y = 1366; game.addChild(loseText); // Restart secret room after a short delay LK.setTimeout(function () { // Remove lose text for (var k = game.children.length - 1; k >= 0; k--) { game.removeChild(game.children[k]); } game.setBackgroundColor(0x000000); // Show special text again var foundButtonText = new Text2('You found this very small button.\nThis is not the win.\nSurvive the monsters for 10 seconds!', { size: 80, fill: 0xffffff }); foundButtonText.anchor.set(0.5, 0.5); foundButtonText.x = 1024; foundButtonText.y = 500; game.addChild(foundButtonText); // Reset player position player.x = 1024; player.y = 2000; game.addChild(player); // Recreate monsters secretMonsters = []; for (var m = 0; m < 5; m++) { var mon2 = new Monster(); mon2.x = 400 + Math.random() * 1200; mon2.y = 400 + Math.random() * 400; mon2.speed = 2.7 + Math.random() * 0.5; secretMonsters.push(mon2); game.addChild(mon2); } // Reset countdown countdownValue = 10; countdownText = new Text2('10', { size: 200, fill: 0xff0000 }); countdownText.anchor.set(0.5, 0.5); countdownText.x = 1024; countdownText.y = 1200; game.addChild(countdownText); // Re-add arrow buttons secretUpButton = game.addChild(new ArrowButton('up')); secretUpButton.x = 1024; secretUpButton.y = 2500; secretDownButton = game.addChild(new ArrowButton('down')); secretDownButton.x = 1024; secretDownButton.y = 2620; secretLeftButton = game.addChild(new ArrowButton('left')); secretLeftButton.x = 904; secretLeftButton.y = 2560; secretRightButton = game.addChild(new ArrowButton('right')); secretRightButton.x = 1144; secretRightButton.y = 2560; // Restart countdown timer countdownTimer = LK.setInterval(function () { countdownValue--; if (countdownValue > 0) { countdownText.setText(countdownValue + ''); } else { LK.clearInterval(countdownTimer); // Survived! Show success message for (var i = game.children.length - 1; i >= 0; i--) { game.removeChild(game.children[i]); } game.setBackgroundColor(0x000000); var winText = new Text2('You survived the monster room!\nYou are truly observant.', { size: 100, fill: 0x00ff00 }); winText.anchor.set(0.5, 0.5); winText.x = 1024; winText.y = 1366; game.addChild(winText); } }, 1000); secretRoomActive = true; }, 1200); break; } mon.lastPlayerIntersecting = caught; } }; } player.lastFoundEdgeButton = isIntersectingEdgeButton; // --- Monster & Ed button collision logic and monster search mode --- if (monster.lastEdIntersecting === undefined) monster.lastEdIntersecting = false; if (monster.lastWasDead === undefined) monster.lastWasDead = false; if (monster.isSearchingForPlayer === undefined) monster.isSearchingForPlayer = false; if (monster.isGlitchState === undefined) monster.isGlitchState = false; var isMonsterIntersectingEd = monster.intersects(edgeButton); // If monster collides with Ed button, enter search mode if (!monster.lastEdIntersecting && isMonsterIntersectingEd && !monster.isSearchingForPlayer && !monster.isGlitchState) { monster.isSearchingForPlayer = true; monster.searchTicks = 0; monster.searchDuration = 600; // 10 seconds at 60fps monster.speed = 7; // Monster runs around quickly // Optional: flash monster to indicate search mode LK.effects.flashObject(monster, 0x00ffff, 800); } // If in search mode, monster runs randomly, not toward player if (monster.isSearchingForPlayer && !monster.isGlitchState) { monster.searchTicks++; // Move in a random direction, change every 30 ticks if (monster.searchDirX === undefined || monster.searchTicks % 30 === 0) { var angle = Math.random() * Math.PI * 2; monster.searchDirX = Math.cos(angle); monster.searchDirY = Math.sin(angle); } monster.x += monster.searchDirX * monster.speed; monster.y += monster.searchDirY * monster.speed; // Clamp to game area monster.x = Math.max(50, Math.min(1998, monster.x)); monster.y = Math.max(50, Math.min(2682, monster.y)); // After search duration, return to normal if (monster.searchTicks > monster.searchDuration) { monster.isSearchingForPlayer = false; monster.speed = 2 + Math.floor((Date.now() - gameStartTime) / 60000); } } // If monster dies (caught by player) while in search mode, show glitch/secret text if (monster.isSearchingForPlayer && !monster.isGlitchState) { var currentIntersecting = monster.intersects(player); if (!monster.lastPlayerIntersecting && currentIntersecting) { monster.isGlitchState = true; // Remove all game elements for (var i = game.children.length - 1; i >= 0; i--) { game.removeChild(game.children[i]); } game.setBackgroundColor(0x000000); var glitchText = new Text2('ERROR: monster is not found\n[404]', { size: 120, fill: 0xff00ff }); glitchText.anchor.set(0.5, 0.5); glitchText.x = 1024; glitchText.y = 1366; game.addChild(glitchText); // Optionally, add a glitch effect LK.effects.flashScreen(0xff00ff, 1200); // Prevent further updates return; } monster.lastPlayerIntersecting = currentIntersecting; } // Track last Ed intersection for next frame monster.lastEdIntersecting = isMonsterIntersectingEd; // --- End Monster & Ed button logic --- // Increase monster speed every minute var elapsedTime = Date.now() - gameStartTime; var minutesPassed = Math.floor(elapsedTime / 60000); // 60000ms = 1 minute var newSpeed = 2 + minutesPassed; // Base speed 2, +1 per minute if (monster.speed !== newSpeed && !monster.isSearchingForPlayer && !monster.isGlitchState) { monster.speed = newSpeed; // Visual feedback when monster gets faster LK.effects.flashObject(monster, 0xff0000, 500); titleText.setText('LEVEL ' + (minutesPassed + 1) + ' - FASTER MONSTER!'); LK.setTimeout(function () { titleText.setText('MONSTER ESCAPE'); }, 2000); // Adjust text scale if monster is huge to prevent glitchy text if (monster.scaleX > 4 || monster.scaleY > 4) { var scaleFix = 1 / Math.max(monster.scaleX, monster.scaleY); titleText.scaleX = scaleFix; titleText.scaleY = scaleFix; instructionsText.scaleX = scaleFix; instructionsText.scaleY = scaleFix; scoreText.scaleX = scaleFix; scoreText.scaleY = scaleFix; // Shake text in place var shakeAmount = 30 * scaleFix; var shakeX = Math.sin(LK.ticks * 0.6) * shakeAmount; var shakeY = Math.cos(LK.ticks * 0.7) * shakeAmount; titleText.x = 1024 + shakeX; instructionsText.x = 1024 + Math.sin(LK.ticks * 0.8 + 1) * shakeAmount; scoreText.x = 1024 + Math.cos(LK.ticks * 0.9 + 2) * shakeAmount; titleText.y = 100 + shakeY; instructionsText.y = 200 + Math.cos(LK.ticks * 0.5 + 3) * shakeAmount; scoreText.y = 300 + Math.sin(LK.ticks * 0.4 + 4) * shakeAmount; } else if (isDistortedUI) { // Heavy distortion for all UI/text // Randomize scale, rotation, and position every frame var distort = function distort(txt, baseX, baseY, baseSize) { txt.scaleX = 0.7 + Math.sin(LK.ticks * 0.13 + Math.random()) * 1.2; txt.scaleY = 0.7 + Math.cos(LK.ticks * 0.17 + Math.random()) * 1.2; txt.rotation = Math.sin(LK.ticks * 0.11 + Math.random()) * 1.5; txt.x = baseX + Math.sin(LK.ticks * 0.5 + Math.random() * 10) * 120; txt.y = baseY + Math.cos(LK.ticks * 0.6 + Math.random() * 10) * 80; if (txt.setText && typeof txt._originalText === "string") { // Randomly garble text if (Math.random() < 0.2) { var chars = txt._originalText.split(''); for (var i = 0; i < chars.length; i++) { if (Math.random() < 0.2 && chars[i] !== ' ' && chars[i] !== '\n') { chars[i] = String.fromCharCode(33 + Math.floor(Math.random() * 94)); } } txt.setText(chars.join('')); } else { txt.setText(txt._originalText); } } }; // Store original text if not already if (typeof titleText._originalText !== "string") titleText._originalText = "MONSTER ESCAPE"; if (typeof instructionsText._originalText !== "string") instructionsText._originalText = "Survive as long as possible!\nMonster gets faster every minute"; if (typeof scoreText._originalText !== "string") scoreText._originalText = scoreText.text; distort(titleText, 1024, 100, 80); distort(instructionsText, 1024, 200, 40); distort(scoreText, 1024, 300, 50); } else { titleText.scaleX = 1; titleText.scaleY = 1; instructionsText.scaleX = 1; instructionsText.scaleY = 1; scoreText.scaleX = 1; scoreText.scaleY = 1; titleText.x = 1024; instructionsText.x = 1024; scoreText.x = 1024; titleText.y = 100; instructionsText.y = 200; scoreText.y = 300; } } // Increase score based on survival time in milliseconds var millisecondsPerTick = 1000 / 60; LK.setScore(Math.floor(LK.getScore() + millisecondsPerTick)); // Update score display var seconds = Math.floor(LK.getScore() / 1000); var minutes = Math.floor(seconds / 60); var displaySeconds = seconds % 60; if (minutes > 0) { scoreText.setText('Time Survived: ' + minutes + 'm ' + displaySeconds + 's'); } else { scoreText.setText('Time Survived: ' + seconds + 's'); } // Add player trail effect if (LK.ticks % 3 === 0) { // Every 3 frames playerTrail.push({ x: player.x, y: player.y, alpha: 0.7 }); } // Remove old trail points and update existing ones for (var i = playerTrail.length - 1; i >= 0; i--) { playerTrail[i].alpha -= 0.05; if (playerTrail[i].alpha <= 0) { playerTrail.splice(i, 1); } } };
===================================================================
--- original.js
+++ change.js
@@ -247,8 +247,29 @@
winText.y = 1366;
game.addChild(winText);
}
player.lastFoundBlackBox = isIntersectingBlackBox;
+ // --- Monster collides with black box: "The monster won?" ---
+ if (monster.lastBlackBoxIntersecting === undefined) monster.lastBlackBoxIntersecting = false;
+ var monsterIntersectingBlackBox = monster.intersects(blackBox);
+ if (!monster.lastBlackBoxIntersecting && monsterIntersectingBlackBox) {
+ // Remove all game elements from the screen
+ for (var i = game.children.length - 1; i >= 0; i--) {
+ game.removeChild(game.children[i]);
+ }
+ // Fill background with black
+ game.setBackgroundColor(0x000000);
+ // Show centered text
+ var monsterWinText = new Text2('The monster won?', {
+ size: 120,
+ fill: 0xffffff
+ });
+ monsterWinText.anchor.set(0.5, 0.5);
+ monsterWinText.x = 1024;
+ monsterWinText.y = 1366;
+ game.addChild(monsterWinText);
+ }
+ monster.lastBlackBoxIntersecting = monsterIntersectingBlackBox;
}
// --- Secret tiny edge button room logic ---
if (player.lastFoundEdgeButton === undefined) player.lastFoundEdgeButton = false;
var isIntersectingEdgeButton = player.intersects(edgeButton);
Modern App Store icon, high definition, square with rounded corners, for a game titled "Monster Chase" and with the description "Control a character with your finger while an AI monster hunts you down. Survive as long as possible in this intense chase game with intuitive touch controls.". No text on icon!
Fullscreen modern App Store landscape banner, 16:9, high definition, for a game titled "Monster Chase" and with the description "Control a character with your finger while an AI monster hunts you down. Survive as long as possible in this intense chase game with intuitive touch controls.". No text on banner!