User prompt
oyunu full ingilizce yap ve teşşekğrler
User prompt
https://upit.com/create/assets/sound/686184b09666db472fa4477a bu sesi biz kayıp ettiğimizde koy
User prompt
https://upit.com/create/assets/sound/686184b09666db472fa4477a bu sesi birisi intihar ettiğinde koy
User prompt
oyunun belirli yerlerine yüksek sesler koy
User prompt
qalan verme zamanı artırıyor tam tersşne 50 azaltması lazım
User prompt
ala verme zamannı -50 olsun
User prompt
gözleri kaldır
User prompt
gözleri tam hizalla
User prompt
tüm karakterlerin göz rengini kırmızı yap
User prompt
oyuncu isimlerinin rengini sarı yap
User prompt
karakterler farklı olsun
User prompt
kemal yusuf zeynep mehmet elif bular farklı kişiler desenleride farklı olsun ve iki tane kemal var birisişnin adını ege yap
User prompt
not defterşne girince en alta birisi sahte yaz
User prompt
kitabın altına not defteri ekle not defterinde kimin ne hastası olduğu yazsın not defterini kitabın yanına ekle
User prompt
KEMALIN ORTADAN KAYBOLMA OLAYINI OYUNDAN KALDIR
User prompt
NOTU KALDSIR
User prompt
İMPOSTERİ BULSAK BİLE 20 GÜN HAYYTATTA KALMALIYIZ
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'length')' in or related to this line: 'var impostorIndex = Math.floor(Math.random() * charactersData.length);' Line Number: 258
User prompt
BİR DAHA DENEİ
User prompt
güzel ama bu oyunda bence aramızdA BİR İMPOSTER VAR YANİ BU KİŞİ AKIL HASTASI DEĞİL VE YENİ AMACIMIZ BENCE 20 GÜN HEREKSŞ HAYYATA TUTMAK VE KİMİN İMPOSTER OLUDUĞUNU BULMAK OLMALI DOĞRU BULURSAK 20 GĞN SONUNDA AÇIKLANACAK BULAMZSSAK BİZİ KIYMA MAKİNESİNDE YOK EDECEK ŞÜPHELENDİĞİMİZ KİŞİ YE 3 KERE TIKLARSAK ONUN OLDUĞUNU DÜŞÜNÜRÜZ DOĞRUYSA KAZANIR YANLIŞSA KAYBEDERİZ
User prompt
https://upit.com/create/assets/sound/68615edf1d555ed3ab827477 bu müzüği öğreticiye ekle taki sondaki müzik gelene kadar
User prompt
müziği kaldır
User prompt
https://upit.com/create/assets/sound/68615a6cd209724c89cd269a bu müziğik sondaki müziğe kadar çalsın ve mğzüğü azcık hafifilet
User prompt
sondaki yazıyı kırmızı yap
User prompt
ekrana öğreticinin son yazısı gelice ekran kırmızı olsun ama yazı okunsun ve ekran hafiften sallansın atlaya basınca bitsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var ActionButton = Container.expand(function (text, action) { var self = Container.call(this); var buttonBg = self.attachAsset('actionButton', { anchorX: 0.5, anchorY: 0.5 }); var buttonText = new Text2(text, { size: 36, fill: 0xFFFFFF }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); self.action = action; self.down = function (x, y, obj) { if (self.action) { self.action(); LK.getSound('click').play(); } }; return self; }); var ArrowButton = Container.expand(function (direction, onPress) { var self = Container.call(this); var arrow = self.attachAsset('actionButton', { anchorX: 0.5, anchorY: 0.5 }); var arrowText = new Text2(direction, { size: 36, fill: 0xFFFFFF }); arrowText.anchor.set(0.5, 0.5); self.addChild(arrowText); self.down = function () { if (onPress) { self.holdInterval = LK.setInterval(onPress, 50); // Further increase speed by calling onPress every 50ms } }; self.up = function () { if (self.holdInterval) { LK.clearInterval(self.holdInterval); self.holdInterval = null; } }; return self; }); var Character = Container.expand(function (name, disorder, initialSanity, triggers, calmers) { var self = Container.call(this); self.name = name; self.disorder = disorder; self.maxSanity = 100; self.sanity = initialSanity || 100; self.triggers = triggers || []; self.calmers = calmers || []; self.lastInteractionDay = 0; self.isDangerous = false; var cardBg = self.attachAsset('characterCard', { anchorX: 0.5, anchorY: 0.5 }); var nameText = new Text2(self.name, { size: 48, fill: 0xFFFFFF }); nameText.anchor.set(0.5, 0); nameText.x = 0; nameText.y = -120; self.addChild(nameText); // Disorder text removed - players must discover disorders through interaction var sanityBg = self.attachAsset('sanityBarBg', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 60 }); var sanityBar = self.attachAsset('sanityBar', { anchorX: 0, anchorY: 0.5, x: -100, y: 60 }); var sanityText = new Text2(self.sanity + "/100", { size: 42, fill: 0xFFFFFF }); sanityText.anchor.set(0.5, 0.5); sanityText.x = 0; sanityText.y = 85; self.addChild(sanityText); self.updateSanity = function (amount) { self.sanity = Math.max(0, Math.min(100, self.sanity + amount)); var sanityPercent = self.sanity / self.maxSanity; sanityBar.width = 200 * sanityPercent; if (sanityPercent > 0.6) { sanityBar.tint = 0x228b22; } else if (sanityPercent > 0.3) { sanityBar.tint = 0xffa500; } else { sanityBar.tint = 0xff0000; } sanityText.setText(self.sanity + "/100"); // Check if sanity has reached zero if (self.sanity === 0) { // Trigger self-destruction and game over showEnding("KÖTÜ", self.name + " akıl sağlığını tamamen kaybetti ve kendine zarar verdi. Durum kontrol edilemez hale geldi."); } // Check for aggressive state (below 30) if (self.sanity < 30 && !self.isDangerous) { self.isDangerous = true; self.isAggressive = true; LK.getSound('warning').play(); cardBg.tint = 0x8b0000; // Dark red for aggressive } else if (self.sanity >= 30 && self.isDangerous) { self.isDangerous = false; self.isAggressive = false; cardBg.tint = 0xffffff; } // Check for helpful state (above 90) if (self.sanity > 90) { self.isHelpful = true; cardBg.tint = 0x00ff00; // Green for helpful } else { self.isHelpful = false; } }; self.clickCount = 0; self.lastClickTime = 0; self.down = function (x, y, obj) { if (currentGameState === "playing" && timeLeft > 0) { var currentTime = LK.ticks; // Check for double click (within 30 ticks = 0.5 seconds) if (currentTime - self.lastClickTime < 30) { self.clickCount++; if (self.clickCount >= 2) { // Show tutorial hint for double click if tutorial is active if (tutorialActive) { dialogueBox.showDialogue("İyi! Çift tıklama özelliği aktif edildi.", 2000); } // Double click feature removed self.clickCount = 0; return; } } else { self.clickCount = 1; } self.lastClickTime = currentTime; selectedCharacter = self; // Show tutorial hint for first character interaction if (tutorialActive && tutorialStep >= 8) { dialogueBox.showDialogue("Mükemmel! Şimdi bir eylem seçin. Akıl sağlığı çubuğuna dikkat edin.", 3000); } showCharacterActions(); LK.getSound('click').play(); } }; return self; }); var DialogueBox = Container.expand(function () { var self = Container.call(this); var dialogueBg = self.attachAsset('dialogueBox', { anchorX: 0.5, anchorY: 0.5 }); var dialogueText = new Text2("", { size: 48, fill: 0x000000 }); dialogueText.anchor.set(0.5, 0.5); self.addChild(dialogueText); self.showDialogue = function (text, duration) { // Clear any existing skip buttons first var existingButtons = self.children.filter(function (child) { return child instanceof ActionButton; }); for (var i = 0; i < existingButtons.length; i++) { existingButtons[i].destroy(); } dialogueText.setText(text); self.visible = true; // Add skip button var skipButton = new ActionButton("Atla", function () { self.visible = false; skipButton.destroy(); }); skipButton.x = 0; skipButton.y = 200; self.addChild(skipButton); // Removed automatic timeout to keep dialogue on screen until skip button is pressed }; self.visible = false; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x2d1810 }); /**** * Game Code ****/ // Game State Variables var currentDay = 1; var timeLeft = 100; var maxTimePerDay = 100; var currentGameState = "playing"; // playing, gameOver, victory var selectedCharacter = null; var actionMenuVisible = false; var discoveredDisorders = {}; var knowledgeBookVisible = false; var diagnosisAttempts = {}; // Chaos Background Variables var chaosParticles = []; var chaosIntensity = 1.0; var backgroundFlickerTimer = 0; var chaosNoiseElements = []; // Disorder Information var disorderInfo = { "Paranoid Bozukluk": "Sürekli şüphe ve güvensizlik hissi. Başkalarının kendisine zarar vereceği inancı. Göz temasından kaçınma, yalnız kalmayı tercih etme.", "Şizofreni": "Gerçekle bağlantının kopması, sesler duyma, halüsinasyonlar. Yumuşak sesle konuşmayı sever, müzik rahatlatır.", "Bipolar Bozukluk": "Aşırı neşeli (mani) ve aşırı üzgün (depresif) dönemler arasında gidip gelme. Mod değişimleri ani olabilir.", "OKB": "Obsesif düşünceler ve kompulsif davranışlar. Temizlik, düzen ve simetri takıntısı. Rutinlerin bozulması paniğe sebep olur.", "Dissosiyatif Kimlik Bozukluğu": "Çoklu kişilik. Farklı zamanlarda farklı kişiliklere bürünme. Nazik, çocuksu veya karanlık kişilikler sergileyebilir." }; // Characters Data var charactersData = [{ name: "Kemal", disorder: "Bipolar Bozukluk", sanity: 85, triggers: ["criticism", "restrictions", "boredom", "artwork moved"], calmers: ["activities", "praise", "routine", "engagement"], personality: "bipolar", currentMood: "normal", // can be: manic, depressive, normal lastAction: "", sameActionCount: 0 }, { name: "Yusuf", disorder: "Paranoid Bozukluk", sanity: 80, triggers: ["sudden movements", "being watched", "loud noises", "eye contact"], calmers: ["honesty", "being left alone", "quiet environment", "trust building"], personality: "paranoid", currentMood: "suspicious", lastAction: "", sameActionCount: 0 }, { name: "Elif", disorder: "Şizofreni", sanity: 70, triggers: ["confrontation", "judgment", "disbelief"], calmers: ["listening", "music", "soft voice", "validation"], personality: "schizophrenic", currentMood: "hearing_voices", lastAction: "", sameActionCount: 0 }, { name: "Kemal", disorder: "Bipolar Bozukluk", sanity: 85, triggers: ["criticism", "restrictions", "boredom"], calmers: ["activities", "praise", "routine", "engagement"], personality: "bipolar", currentMood: "normal", // can be: manic, depressive, normal lastAction: "", sameActionCount: 0 }, { name: "Zeynep", disorder: "OKB", sanity: 90, triggers: ["disorder", "asymmetry", "dirty objects", "interrupted rituals"], calmers: ["organization", "cleaning together", "respecting routines", "symmetry"], personality: "ocd", currentMood: "anxious", lastAction: "", sameActionCount: 0 }, { name: "Mehmet", disorder: "Dissosiyatif Kimlik Bozukluğu", sanity: 75, triggers: ["trauma reminders", "stress", "dark personality emergence"], calmers: ["personality-appropriate response", "safe spaces", "gentle approach"], personality: "did", currentMood: "gentle", // can be: gentle, child, dark timeOfLastChange: 0, lastAction: "", sameActionCount: 0 }]; // Create Characters var characters = []; for (var i = 0; i < charactersData.length; i++) { var data = charactersData[i]; var character = new Character(data.name, data.disorder, data.sanity, data.triggers, data.calmers); character.personality = data.personality; character.currentMood = data.currentMood; character.timeOfLastChange = data.timeOfLastChange || 0; character.isAggressive = false; character.isHelpful = false; character.lastAction = data.lastAction || ""; character.sameActionCount = data.sameActionCount || 0; characters.push(character); game.addChild(character); } // Position Characters in Grid var startX = 400; var startY = 400; var spacingX = 400; var spacingY = 350; for (var i = 0; i < characters.length; i++) { var row = Math.floor(i / 3); var col = i % 3; characters[i].x = startX + col * spacingX; characters[i].y = startY + row * spacingY; } // Create Chaotic Background Elements - Horror Theme for (var i = 0; i < 30; i++) { var particle = game.attachAsset('chaosParticle', { anchorX: 0.5, anchorY: 0.5, x: Math.random() * 2048, y: Math.random() * 2732, alpha: 0.4 }); particle.speedX = (Math.random() - 0.5) * 4; particle.speedY = (Math.random() - 0.5) * 4; particle.rotationSpeed = (Math.random() - 0.5) * 0.1; // Horror color tints - dark reds, purples, grays particle.tint = [0x8b0000, 0x800080, 0x2f4f4f, 0x8b008b, 0x696969][Math.floor(Math.random() * 5)]; chaosParticles.push(particle); } for (var i = 0; i < 20; i++) { var circle = game.attachAsset('chaosCircle', { anchorX: 0.5, anchorY: 0.5, x: Math.random() * 2048, y: Math.random() * 2732, alpha: 0.3 }); circle.pulseSpeed = Math.random() * 0.05 + 0.02; circle.pulsePhase = Math.random() * Math.PI * 2; // Dark horror colors for circles circle.tint = [0x8b0000, 0x4b0082, 0x2f2f2f, 0x800000][Math.floor(Math.random() * 4)]; chaosParticles.push(circle); } for (var i = 0; i < 80; i++) { var noise = game.attachAsset('chaosNoise', { anchorX: 0.5, anchorY: 0.5, x: Math.random() * 2048, y: Math.random() * 2732, alpha: 0.15 }); noise.flickerSpeed = Math.random() * 0.3 + 0.1; // Dark, unsettling colors for noise noise.tint = [0x8b0000, 0x2f4f4f, 0x8b008b, 0x000000, 0x800080][Math.floor(Math.random() * 5)]; chaosNoiseElements.push(noise); } // Add creepy shadow elements for (var i = 0; i < 15; i++) { var shadow = game.attachAsset('chaosParticle', { anchorX: 0.5, anchorY: 0.5, x: Math.random() * 2048, y: Math.random() * 2732, alpha: 0.6, scaleX: 2 + Math.random() * 3, scaleY: 0.3 + Math.random() * 0.7 }); shadow.tint = 0x000000; // Pure black shadows shadow.speedX = (Math.random() - 0.5) * 1.5; shadow.speedY = (Math.random() - 0.5) * 1.5; shadow.fadeDirection = Math.random() > 0.5 ? 1 : -1; chaosParticles.push(shadow); } // UI Elements var dayPanel = game.attachAsset('dayPanel', { anchorX: 0.5, anchorY: 0, x: 1024, y: 50 }); var dayText = new Text2("Gün " + currentDay + "/20", { size: 54, fill: 0xFFFFFF }); dayText.anchor.set(0.5, 0.5); dayText.x = 1024; dayText.y = 110; game.addChild(dayText); var timeText = new Text2("Zaman: " + timeLeft, { size: 42, fill: 0xFFFFFF }); timeText.anchor.set(0.5, 0.5); timeText.x = 1024; timeText.y = 150; game.addChild(timeText); // Action Buttons var actionButtons = []; var actionButtonsContainer = new Container(); actionButtonsContainer.x = 1024; actionButtonsContainer.y = 1800; actionButtonsContainer.visible = false; game.addChild(actionButtonsContainer); // Dialogue System var dialogueBox = new DialogueBox(); dialogueBox.x = 1024; dialogueBox.y = 1366; // Center vertically on screen game.addChild(dialogueBox); // Action Definitions var actions = [{ text: "Empatik Konuşma", cost: 15, effect: function effect(character) { var response = getCharacterResponse(character, "empathetic_talk"); character.updateSanity(response.sanityChange); dialogueBox.showDialogue(response.dialogue, 3000); } }, { text: "Sanat Terapisi", cost: 25, effect: function effect(character) { var response = getCharacterResponse(character, "art_therapy"); character.updateSanity(response.sanityChange); dialogueBox.showDialogue(response.dialogue, 3000); } }, { text: "Birlikte Okuma", cost: 20, effect: function effect(character) { var response = getCharacterResponse(character, "read_together"); character.updateSanity(response.sanityChange); dialogueBox.showDialogue(response.dialogue, 3000); } }, { text: "Düzenleme/Temizlik", cost: 30, effect: function effect(character) { var response = getCharacterResponse(character, "organize"); character.updateSanity(response.sanityChange); dialogueBox.showDialogue(response.dialogue, 3000); } }, { text: "Alan Verme", cost: 10, effect: function effect(character) { var response = getCharacterResponse(character, "give_space"); character.updateSanity(response.sanityChange); dialogueBox.showDialogue(response.dialogue, 3000); } }]; function getCharacterResponse(character, actionType) { if (character.isAggressive) { // Aggressive characters now engage in verbal conflicts instead of physical fights var aggressiveDialogues = [character.name + ": 'Senin tavsiyelerinden bıktım! Hep aynı şeyleri söylüyorsun!'", character.name + ": 'Beni anlamıyorsun! Kimse anlamıyor zaten!'", character.name + ": 'Yeter artık! Bırak beni rahat, sürekli peşimde dolaşma!'", character.name + ": 'Sen de diğerleri gibisin, sadece beni kontrol etmeye çalışıyorsun!'", character.name + ": 'Bu yaptıklarının hiçbir anlamı yok! Boşuna uğraşıyorsun!'"]; return { sanityChange: -10, dialogue: aggressiveDialogues[Math.floor(Math.random() * aggressiveDialogues.length)] }; } if (character.isHelpful) { return { sanityChange: 5, dialogue: character.name + " harika ruh halinde ve çabanızı takdir ediyor. Hatta başkalarına da yardım ediyor!" }; } // Character-specific responses based on personality and mood if (character.personality === "paranoid") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Yusuf: 'Senin yanında biraz daha güvende hissediyorum… bu nadir bir şey.'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Yusuf: 'Belki herkes düşman değildir… senin gibi biri varsa.'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Yusuf: 'Bugün kimse beni izlemedi. Belki bu senin sayendedir.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Yusuf: 'Dün gece rahat uyudum. Sanırım sesler azaldı.'" }; } else if (Math.random() < 0.5) { return { sanityChange: 5, dialogue: "Yusuf: 'Söylediğin sözler… beni düşündürdü. Teşekkür ederim.'" }; } else if (Math.random() < 0.6) { return { sanityChange: 5, dialogue: "Yusuf: 'Sana bir sır vereceğim. Çünkü güvenmeye başladım.'" }; } else if (Math.random() < 0.7) { return { sanityChange: 5, dialogue: "Yusuf: 'İlk defa bu evde sessizlik huzur verdi.'" }; } else if (Math.random() < 0.8) { return { sanityChange: 5, dialogue: "Yusuf: 'Bugün beni yalnız bırakmadığın için… minnettarım.'" }; } else if (Math.random() < 0.9) { return { sanityChange: 5, dialogue: "Yusuf: 'Artık pencereden dışarı bakabiliyorum. Korkmuyorum.'" }; } else { return { sanityChange: 5, dialogue: "Yusuf: 'Belki… bu evden birlikte çıkabiliriz.'" }; } if (Math.random() < 0.1) { return { sanityChange: -5, dialogue: "Yusuf: 'Duvarın içinde bir şey var… titreşimi hissedebiliyor musun?'" }; } else if (Math.random() < 0.2) { return { sanityChange: -5, dialogue: "Yusuf: 'Kapının ardında biri vardı az önce. Gözlerini kırpmadın mı sen?'" }; } else if (Math.random() < 0.3) { return { sanityChange: -5, dialogue: "Yusuf: 'Kimseye güvenme. Özellikle gece saatlerinde.'" }; } else if (Math.random() < 0.4) { return { sanityChange: -5, dialogue: "Yusuf: 'Senin odana kim giriyor geceleri?'" }; } else if (Math.random() < 0.5) { return { sanityChange: -5, dialogue: "Yusuf: 'Sana güvenmeye başlıyorum… ama bu da bir tuzak olabilir.'" }; } else if (Math.random() < 0.6) { return { sanityChange: -5, dialogue: "Yusuf: 'Kameraları kapattım ama hala izleniyorum.'" }; } else if (Math.random() < 0.7) { return { sanityChange: -5, dialogue: "Yusuf: 'Sana bir şey soracağım… dürüst ol. Sen de bir deneksin, değil mi?'" }; } else if (Math.random() < 0.8) { return { sanityChange: -5, dialogue: "Yusuf: 'Her şeyin başı radyo dalgaları. Bunlar zihin kontrolü yapıyor.'" }; } else if (Math.random() < 0.9) { return { sanityChange: -5, dialogue: "Yusuf: 'Dün gece biri odama geldi. Gölgesi vardı ama ayak sesi yoktu.'" }; } else { return { sanityChange: -5, dialogue: "Yusuf: 'Gözlüğüm yok ama senin yüzündeki maske düşmedi henüz.'" }; } if (actionType === "empathetic_talk") { return Math.random() > 0.5 ? { sanityChange: 10, dialogue: "Yusuf: 'Dürüst görünüyorsun... belki sana biraz güvenebilirim.'" } : { sanityChange: -5, dialogue: "Yusuf: 'Sen de onlar gibisin, benden bilgi almaya çalışıyorsun!'" }; } else if (actionType === "give_space") { return { sanityChange: 8, dialogue: "Yusuf: 'Beni yalnız bıraktığın için teşekkürler. Düşünmem gerekiyor.'" }; } else { return { sanityChange: -3, dialogue: "Yusuf: 'Beni kontrol etmeye çalışmayı kes! Ne yaptığını biliyorum.'" }; } } else if (character.personality === "schizophrenic") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Elif: 'Sesler azaldı. Sanırım seninle konuşmak onlara iyi geliyor.'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Elif: 'Ben senin yanındayken daha az yalnızım.'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Elif: 'Senin sesin diğerlerinden farklı. Net ve sakin.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Elif: 'Bugün duvar sessizdi… güzel bir sessizlik.'" }; } else if (Math.random() < 0.5) { return { sanityChange: 5, dialogue: "Elif: 'Eğer bu gerçekse, sen de gerçeksin. Bu iyi bir şey.'" }; } else if (Math.random() < 0.6) { return { sanityChange: 5, dialogue: "Elif: 'Senin bana inanman beni sakinleştiriyor.'" }; } else if (Math.random() < 0.7) { return { sanityChange: 5, dialogue: "Elif: 'Resim yaptım. Renkleri seninle seçtim hayalimde.'" }; } else if (Math.random() < 0.8) { return { sanityChange: 5, dialogue: "Elif: 'Kendimi ilk kez ‘ben’ gibi hissediyorum.'" }; } else if (Math.random() < 0.9) { return { sanityChange: 5, dialogue: "Elif: 'Onlar artık sadece fısıldıyor. Belki yakında susarlar.'" }; } else { return { sanityChange: 5, dialogue: "Elif: 'Ben sana güveniyorum. Bu çok nadir olur.'" }; } if (Math.random() < 0.1) { return { sanityChange: -5, dialogue: "Elif: 'Beni çağırıyorlar. Duvardaki çatlak bile konuşuyor.'" }; } else if (Math.random() < 0.2) { return { sanityChange: -5, dialogue: "Elif: 'Kafamın içinde üç kişi var. Biri susmak bilmiyor.'" }; } else if (Math.random() < 0.3) { return { sanityChange: -5, dialogue: "Elif: 'Sana fısıldayan bir kadın sesi duyuyor musun? Çok güzel şarkı söylüyor…'" }; } else if (Math.random() < 0.4) { return { sanityChange: -5, dialogue: "Elif: 'Ben buraya ait değilim. Onlar da değil.'" }; } else if (Math.random() < 0.5) { return { sanityChange: -5, dialogue: "Elif: 'Eğer yeterince sessiz olursan duvarlar sana hikaye anlatır.'" }; } else if (Math.random() < 0.6) { return { sanityChange: -5, dialogue: "Elif: 'Gözlerini kapatınca ne görüyorsun? Ben oradayım.'" }; } else if (Math.random() < 0.7) { return { sanityChange: -5, dialogue: "Elif: 'Kırmızı çiçek bana gülümsedi. Ama kan kokuyordu.'" }; } else if (Math.random() < 0.8) { return { sanityChange: -5, dialogue: "Elif: 'Ben gerçek miyim? Ya sen?'" }; } else if (Math.random() < 0.9) { return { sanityChange: -5, dialogue: "Elif: 'Bugün kuşlar bana bir şey anlattı. Ama unuttum.'" }; } else { return { sanityChange: -5, dialogue: "Elif: 'Gözlerimi kapatınca bu ev çöküyor. Açınca yeniden kuruluyor.'" }; } if (actionType === "empathetic_talk") { return { sanityChange: 15, dialogue: "Elif: 'Seslere inandın mı? Beni dinlediğin için teşekkürler.'" }; } else if (actionType === "art_therapy") { return { sanityChange: 12, dialogue: "Elif: 'Müzik sesleri daha sessiz yapıyor. Bu çok yardımcı oluyor.'" }; } else { return { sanityChange: -8, dialogue: "Elif: 'Sesler daha yüksek oluyor! Yaptığın şeyi sevmiyorlar!'" }; } } else if (character.personality === "bipolar") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Kemal: 'Bugün duygularım dengede. Seninle konuşmak iyi geldi.'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Kemal: 'Gülmek uzun zamandır bu kadar kolay olmamıştı.'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Kemal: 'Seninle yaptığımız küçük şeyler beni hayatta tutuyor.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Kemal: 'Enerjim yükseliyor ama bu sefer korkutmuyor.'" }; } else if (Math.random() < 0.5) { return { sanityChange: 5, dialogue: "Kemal: 'Artık düşüşler bile beni ezmiyor. Sen varsan.'" }; } else if (Math.random() < 0.6) { return { sanityChange: 5, dialogue: "Kemal: 'Hayatın anlamı bazen sadece bir sohbet oluyor.'" }; } else if (Math.random() < 0.7) { return { sanityChange: 5, dialogue: "Kemal: 'Senin gözlerin, içimdeki fırtınaları dindiriyor.'" }; } else if (Math.random() < 0.8) { return { sanityChange: 5, dialogue: "Kemal: 'Birlikteyken zaman geçiyor, yalnız değilim.'" }; } else if (Math.random() < 0.9) { return { sanityChange: 5, dialogue: "Kemal: 'Kendimle barışmaya çalışıyorum… seninle başlayarak.'" }; } else { return { sanityChange: 5, dialogue: "Kemal: 'Umarım dışarı çıktığımızda da sen yanımda olursun.'" }; } if (Math.random() < 0.1) { return { sanityChange: -5, dialogue: "Kemal: 'Haydi! Dans edelim! Neden hâlâ ayaktasın?'" }; } else if (Math.random() < 0.2) { return { sanityChange: -5, dialogue: "Kemal: 'Hiçbir şeyin anlamı yok. Neden uğraşıyoruz ki?'" }; } else if (Math.random() < 0.3) { return { sanityChange: -5, dialogue: "Kemal: 'Yeni bir tablo yaptım! Tüm duvarları kaplasak mı?'" }; } else if (Math.random() < 0.4) { return { sanityChange: -5, dialogue: "Kemal: 'Bugün seni gerçekten seviyorum. Yarın değişebilir ama şu an önemli.'" }; } else if (Math.random() < 0.5) { return { sanityChange: -5, dialogue: "Kemal: 'Bu ev sıkıcı. Bu duvarları yıksak ne olur?'" }; } else if (Math.random() < 0.6) { return { sanityChange: -5, dialogue: "Kemal: 'Senden nefret ediyorum. Ama bunu ciddiye alma, birazdan geçer.'" }; } else if (Math.random() < 0.7) { return { sanityChange: -5, dialogue: "Kemal: 'Beni kimse anlamıyor. Sen bile. Özellikle sen.'" }; } else if (Math.random() < 0.8) { return { sanityChange: -5, dialogue: "Kemal: 'Çok yüksekteyim şu an. Düşmek istemiyorum.'" }; } else if (Math.random() < 0.9) { return { sanityChange: -5, dialogue: "Kemal: 'Eğer öleceksek en azından güzel bir akorla ölelim.'" }; } else { return { sanityChange: -5, dialogue: "Kemal: 'Beni unutma olur mu? Ben bazen kendimi unutuyorum çünkü.'" }; } if (character.currentMood === "manic") { if (actionType === "empathetic_talk") { return { sanityChange: -5, dialogue: "Kemal: 'Konuşmak sıkıcı! Hadi tüm duvarları boyayalım ve dans edelim!'" }; } else if (actionType === "art_therapy") { return { sanityChange: 10, dialogue: "Kemal: 'EVET! Bu mükemmel! Harika bir şey yaratalım!'" }; } else { return { sanityChange: -10, dialogue: "Kemal: 'Beni yavaşlatmaya çalışıyorsun! Her şey için enerjim var!'" }; } } else if (character.currentMood === "depressive") { if (actionType === "empathetic_talk") { return { sanityChange: 12, dialogue: "Kemal: 'Umursayan birinin olması iyi hissettiriyor... belki bugün o kadar karanlık olmaz.'" }; } else { return { sanityChange: 2, dialogue: "Kemal: 'Artık hiçbir şeyin anlamı yok... ama denediğin için teşekkürler.'" }; } } else { return { sanityChange: 6, dialogue: "Kemal: 'Çabanı takdir ediyorum. Bugün daha dengeli hissediyorum.'" }; } } else if (character.personality === "ocd") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Zeynep: 'Bugün her şey neredeyse mükemmeldi… ve bu yeterliydi.'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Zeynep: 'Senin bana yardım etmen, içimi rahatlattı.'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Zeynep: 'Odayı birlikte düzenlemek bana iyi geldi.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Zeynep: 'Düşüncelerim hâlâ hızlı ama artık korkutucu değiller.'" }; } else if (Math.random() < 0.5) { return { sanityChange: 5, dialogue: "Zeynep: 'Kontrol edemediğim şeyleri seninle daha kolay kabulleniyorum.'" }; } else if (Math.random() < 0.6) { return { sanityChange: 5, dialogue: "Zeynep: 'Ellerim hala titriyor ama artık yalnız hissetmiyorum.'" }; } else if (Math.random() < 0.7) { return { sanityChange: 5, dialogue: "Zeynep: 'Sen benim düzenim gibi… güvenilir.'" }; } else if (Math.random() < 0.8) { return { sanityChange: 5, dialogue: "Zeynep: 'Bir şeyleri paylaşmak her şeyi düzene sokuyor gibi.'" }; } else if (Math.random() < 0.9) { return { sanityChange: 5, dialogue: "Zeynep: 'Bugün kriz yaşamadım. Belki seninle alakalıdır.'" }; } else { return { sanityChange: 5, dialogue: "Zeynep: 'Artık mükemmel olmadan da değerli hissediyorum.'" }; } if (Math.random() < 0.1) { return { sanityChange: -5, dialogue: "Zeynep: 'Yastık kılıfını simetrik katladın mı? Gerçekten mi?'" }; } else if (Math.random() < 0.2) { return { sanityChange: -5, dialogue: "Zeynep: 'Bu sabah 11 kere ellerimi yıkadım. Hâlâ kirli hissediyorum.'" }; } else if (Math.random() < 0.3) { return { sanityChange: -5, dialogue: "Zeynep: 'Her şeyin yeri olmalı. Sen de yerini bilmiyorsun değil mi?'" }; } else if (Math.random() < 0.4) { return { sanityChange: -5, dialogue: "Zeynep: 'Eğer bu kalemi üç kere çevirmezsem… biri ölebilir.'" }; } else if (Math.random() < 0.5) { return { sanityChange: -5, dialogue: "Zeynep: 'Senin ayakkabının altını temizledin mi içeri girmeden önce?'" }; } else if (Math.random() < 0.6) { return { sanityChange: -5, dialogue: "Zeynep: 'Simetri tanrısal bir düzendir. Kaos ruhu bozar.'" }; } else if (Math.random() < 0.7) { return { sanityChange: -5, dialogue: "Zeynep: 'O resmi yamuk astın. Düzeltmeden çıkarsan başıma bir şey gelecek.'" }; } else if (Math.random() < 0.8) { return { sanityChange: -5, dialogue: "Zeynep: 'Bazen içimdeki ses, yedi adım atmadan yürümememi söylüyor.'" }; } else if (Math.random() < 0.9) { return { sanityChange: -5, dialogue: "Zeynep: 'Toz… her yerde toz var. Görmüyor musun?!'" }; } else { return { sanityChange: -5, dialogue: "Zeynep: 'Kontrol eder misin… beş defa mı kilitledin kapıyı? Emin misin?'" }; } if (actionType === "organize") { return { sanityChange: 20, dialogue: "Zeynep: 'Mükemmel! Artık her şey yerli yerinde. Çok daha iyi hissediyorum!'" }; } else if (actionType === "empathetic_talk") { return { sanityChange: 5, dialogue: "Zeynep: 'Düzen ihtiyacımı anladığın için teşekkürler.'" }; } else { return { sanityChange: -8, dialogue: "Zeynep: 'Hayır, hayır! Her şeyi dağınık yapıyorsun! Düzen yanlış!'" }; } } else if (character.personality === "did") { if (character.currentMood === "gentle") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Mehmet: 'Seninle konuşmak, zihnimdeki uğultuyu azaltıyor.'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Mehmet: 'İnsanlarla bağ kurabileceğimi unutmuştum. Sen hatırlattın.'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Mehmet: 'Seninle satranç oynamak istiyorum çünkü beni düşünen biri gibisin.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Mehmet: 'Senin gibi biri varsa… içimdeki savaşlar belki de bitebilir.'" }; } else { return { sanityChange: 5, dialogue: "Mehmet: 'Kibar olmak sadece bir maske değilmiş. Senin yanında gerçek oluyor.'" }; } } else if (character.currentMood === "child") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Bugün çok mutluyum! Seninle oyun oynamak harikaydı!'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Sen bana kek verdin! En sevdiğim şey!'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Ben kötü biri değilim, sen bana iyi olduğunu öğrettin.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Senin gibi biri abim olsun isterdim.'" }; } else { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Ben artık korkmuyorum… çünkü sen buradasın.'" }; } } else { // dark mood if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Mehmet (Karanlık): 'Seninle konuştukça karanlık da susuyor bazen.'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Mehmet (Karanlık): 'Senin sözlerin, içerideki diğer beni de etkiliyor… tuhaf.'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Mehmet (Karanlık): 'Yalnız kalmak isterdim… ama seninle farklı.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Mehmet (Karanlık): 'İçimde ilk kez ışık hissettim. Kısa ama gerçek.'" }; } else { return { sanityChange: 5, dialogue: "Mehmet (Karanlık): 'Korkmak istemiyorum artık. Belki… yardım edebilirsin.'" }; } } if (character.currentMood === "gentle") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Mehmet: 'Sanat, bu evin içinde en eksik şey. Bunu birlikte tamamlayabiliriz.'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Mehmet: 'Kitaplığındaki boşluklar canımı sıkıyor. Eserlere haksızlık gibi.'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Mehmet: 'Kendi zihnimi dinlemekten çok senin sesini duymak istiyorum.'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Mehmet: 'Bugün seninle satranç oynamak isterim. Zihinlerimiz rekabet etsin.'" }; } else { return { sanityChange: 5, dialogue: "Mehmet: 'Bir fincan çayla her karanlık hafifler.'" }; } } else if (character.currentMood === "child") { if (Math.random() < 0.1) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Ben saklandım, sen saydın mı? Saymadın bence!'" }; } else if (Math.random() < 0.2) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Oyuncak ayım kayboldu. Onu gördün mü?'" }; } else if (Math.random() < 0.3) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Sen bana masal anlatır mısın bu gece?'" }; } else if (Math.random() < 0.4) { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Yastık savaşı başlasın!'" }; } else { return { sanityChange: 5, dialogue: "Mehmet (Çocuk): 'Ben annemi özledim… sen onun yerini tutabilir misin?'" }; } } else { // dark mood if (Math.random() < 0.1) { return { sanityChange: -10, dialogue: "Mehmet (Karanlık): 'Onlar seni de terk etti. Ben de edeceğim.'" }; } else if (Math.random() < 0.2) { return { sanityChange: -10, dialogue: "Mehmet (Karanlık): 'Bu ev senden nefret ediyor. Duyabiliyorum.'" }; } else if (Math.random() < 0.3) { return { sanityChange: -10, dialogue: "Mehmet (Karanlık): 'Benim karanlığım senin içindekiyle konuştu. O anlaşmayı biliyoruz.'" }; } else if (Math.random() < 0.4) { return { sanityChange: -10, dialogue: "Mehmet (Karanlık): 'Senin kaçma şansın yok. Çünkü sen çoktan öldün.'" }; } else { return { sanityChange: -10, dialogue: "Mehmet (Karanlık): 'Bana dokunma. Yakarım seni.'" }; } } if (character.currentMood === "gentle") { return { sanityChange: 10, dialogue: "Mehmet: 'Günaydın dostum, nezaketin benim için çok anlamlı.'" }; } else if (character.currentMood === "child") { if (actionType === "empathetic_talk") { return { sanityChange: 15, dialogue: "Mehmet (Çocuk): 'Benimle oynayacak mısın? Korkuyorum ve yalnızım!'" }; } else { return { sanityChange: 8, dialogue: "Mehmet (Çocuk): 'Bu eğlenceli! Bana karşı çok naziksin!'" }; } } else { // dark mood if (actionType === "give_space") { return { sanityChange: 5, dialogue: "Mehmet (Karanlık): 'Akıllıca seçim. Şu anda yanımda olmak istemezsin.'" }; } else { return { sanityChange: -15, dialogue: "Mehmet (Karanlık): 'Acınası girişimlerin beni iğrendiriyor. Uzak dur.'" }; } } } return { sanityChange: 2, dialogue: character.name + " çabanızı takdir ediyor." }; } // Create Action Buttons for (var i = 0; i < actions.length; i++) { var action = actions[i]; var button = new ActionButton(action.text + " (-" + action.cost + ")", function (actionData) { return function () { if (selectedCharacter && timeLeft >= actionData.cost) { timeLeft -= actionData.cost; // Check for repetitive behavior if (selectedCharacter.lastAction === actionData.text) { selectedCharacter.sameActionCount++; if (selectedCharacter.sameActionCount >= 3) { selectedCharacter.updateSanity(-50); dialogueBox.showDialogue(selectedCharacter.name + ": 'Yeter artık! Hep aynı şeyi yapıyorsun, bıktım bu davranıştan!'", 3000); selectedCharacter.sameActionCount = 0; // Reset counter after penalty selectedCharacter.lastAction = ""; // Reset last action // Penalize all characters' sanity for (var j = 0; j < characters.length; j++) { characters[j].updateSanity(-30); } hideCharacterActions(); updateUI(); return; } } else { selectedCharacter.sameActionCount = 1; } selectedCharacter.lastAction = actionData.text; actionData.effect(selectedCharacter); selectedCharacter.lastInteractionDay = currentDay; hideCharacterActions(); updateUI(); } }; }(action)); button.y = i * 100; actionButtons.push(button); actionButtonsContainer.addChild(button); } // Add Close Button var closeButton = new ActionButton("Kapat", function () { hideCharacterActions(); }); closeButton.y = actions.length * 100; actionButtonsContainer.addChild(closeButton); // Next Day Button var nextDayButton = new ActionButton("Sonraki Gün", function () { if (currentDay < 20) { // Show tutorial hint for first day progression if (tutorialActive && currentDay === 1) { dialogueBox.showDialogue("İyi! Günler böyle ilerliyor. Her gün karakterlerle etkileşime geçmeyi unutmayın.", 3000); tutorialActive = false; // End tutorial after first day } nextDay(); } }); nextDayButton.x = 1024; nextDayButton.y = 2500; game.addChild(nextDayButton); // Make the next day button text much larger var nextDayButtonChildren = nextDayButton.children; for (var i = 0; i < nextDayButtonChildren.length; i++) { if (nextDayButtonChildren[i] instanceof Text2) { nextDayButtonChildren[i].size = 700; } } function showCharacterActions() { actionMenuVisible = true; actionButtonsContainer.visible = true; // Update button availability based on time for (var i = 0; i < actionButtons.length && i < actions.length; i++) { var button = actionButtons[i]; var actionCost = actions[i].cost; if (timeLeft >= actionCost) { button.alpha = 1.0; } else { button.alpha = 0.5; } } // Add special actions for Kemal's manic episode if (selectedCharacter.name === "Kemal" && selectedCharacter.currentMood === "manic") { var calmKemalButton = new ActionButton("Yatıştırıcı Konuşma", function () { var success = Math.random() > 0.5; if (success) { selectedCharacter.updateSanity(20); var calmDialogues = ["Kemal: 'Tamam, tamam... belki haklısın. Biraz sakinleşmeye çalışacağım.'", "Kemal: 'Senin sesinde bir şey var... beni rahatlatıyor. Teşekkür ederim.'", "Kemal: 'Bu kadar sinirli olmaya gerek yok değil mi? Özür dilerim.'", "Kemal: 'Derin nefes alacağım... sen de benimle al, olur mu?'"]; dialogueBox.showDialogue(calmDialogues[Math.floor(Math.random() * calmDialogues.length)], 3000); } else { selectedCharacter.updateSanity(-10); var resistDialogues = ["Kemal: 'Hayır! Beni durdurmaya çalışıyorsun! Özgür olmak istiyorum!'", "Kemal: 'Senin sakin sesine ihtiyacım yok! Enerjimi öldürmeye çalışıyorsun!'", "Kemal: 'Bırak beni! Bu hissi yaşamak istiyorum, engelleme beni!'", "Kemal: 'Anlamıyorsun! Bu enerji benim gerçek halim!'"]; dialogueBox.showDialogue(resistDialogues[Math.floor(Math.random() * resistDialogues.length)], 3000); } hideCharacterActions(); updateUI(); }); calmKemalButton.y = actionButtons.length * 100; actionButtons.push(calmKemalButton); actionButtonsContainer.addChild(calmKemalButton); var tackleKemalButton = new ActionButton("Sözle Engelleme", function () { var risk = Math.random() > 0.7; if (risk) { selectedCharacter.updateSanity(-30); var blockDialogues = ["Kemal: 'Dur! Neden beni engelliyorsun? Sadece konuşmak istiyorum!'", "Kemal: 'Pekala, pekala... belki biraz fazla heyecanlandım. Ama yine de haklıyım!'", "Kemal: 'Tamam duruyorum! Ama dinle beni, bu çok önemli!'"]; dialogueBox.showDialogue(blockDialogues[Math.floor(Math.random() * blockDialogues.length)], 3000); } else { selectedCharacter.updateSanity(-10); var resistBlockDialogues = ["Kemal: 'Hayır! Beni susturamayacaksın! Konuşacağım!'", "Kemal: 'Bu benim hakkım! Düşüncelerimi ifade etmeliyim!'", "Kemal: 'Engelleyemezsin beni! Herkese söyleyeceğim!'"]; dialogueBox.showDialogue(resistBlockDialogues[Math.floor(Math.random() * resistBlockDialogues.length)], 3000); } hideCharacterActions(); updateUI(); }); tackleKemalButton.y = (actionButtons.length + 1) * 100; actionButtons.push(tackleKemalButton); actionButtonsContainer.addChild(tackleKemalButton); var hideKemalButton = new ActionButton("Sessizce Dinle", function () { selectedCharacter.updateSanity(-10); var observeDialogues = ["Kemal: 'Kimse beni dinlemiyor... sadece izliyorlar. Bu çok üzücü.'", "Kemal: 'Konuşacak kimse yok... hepsi sessizce bakıyor bana.'", "Kemal: 'Belki haklıydılar... belki gerçekten çok gürültücüydüm.'"]; dialogueBox.showDialogue(observeDialogues[Math.floor(Math.random() * observeDialogues.length)], 3000); hideCharacterActions(); updateUI(); }); hideKemalButton.y = (actionButtons.length + 2) * 100; actionButtons.push(hideKemalButton); actionButtonsContainer.addChild(hideKemalButton); var talkWithElifButton = new ActionButton("Elif’le konuş ve onunla birlikte Kemal'e ulaş", function () { var success = Math.random() > 0.5; if (success) { selectedCharacter.updateSanity(20); dialogueBox.showDialogue("Elif: 'Kemal, senin sesini duyuyor. Birlikte yaklaşalım.'", 3000); } else { selectedCharacter.updateSanity(-10); dialogueBox.showDialogue("Kemal: 'Beni yavaşlatmaya çalışıyorsun! Her şey için enerjim var!'", 3000); } hideCharacterActions(); updateUI(); }); talkWithElifButton.y = (actionButtons.length + 3) * 100; actionButtons.push(talkWithElifButton); actionButtonsContainer.addChild(talkWithElifButton); } } function hideCharacterActions() { actionMenuVisible = false; actionButtonsContainer.visible = false; selectedCharacter = null; } function nextDay() { currentDay++; timeLeft = maxTimePerDay; // Clear any floating text elements from previous day var floatingTexts = game.children.filter(function (child) { return child instanceof Text2 && child !== dayText && child !== timeText && child !== bookText; }); for (var i = 0; i < floatingTexts.length; i++) { floatingTexts[i].destroy(); } // Hide dialogue box dialogueBox.visible = false; // Check for aggressive character attacks during night for (var i = 0; i < characters.length; i++) { var character = characters[i]; if (character.isAggressive && Math.random() < 0.3) { showEnding("KÖTÜ", character.name + " gece çok dengesizleşti ve saldırdı. Durum kontrol edilemez hale geldi."); return; } // Check for special nighttime event - Kemal disappearance if (currentDay === 8 && Math.random() < 0.8) { showNightTimeEvent(); return; // Exit early to handle the special sequence } } // Daily sanity decay for characters not interacted with for (var i = 0; i < characters.length; i++) { var character = characters[i]; if (character.lastInteractionDay < currentDay - 1) { character.updateSanity(-5); } // Mood changes for specific characters if (character.personality === "bipolar") { if (Math.random() < 0.4) { var moods = ["manic", "depressive", "normal"]; character.currentMood = moods[Math.floor(Math.random() * moods.length)]; } } else if (character.personality === "did") { // DID character changes personality based on time of day var hour = (maxTimePerDay - timeLeft) / maxTimePerDay * 24; if (hour < 8) { character.currentMood = "gentle"; } else if (hour < 16) { character.currentMood = "child"; } else if (hour < 20) { character.currentMood = "gentle"; } else { character.currentMood = "dark"; } } // Random daily events if (Math.random() < 0.3) { var randomChange = Math.floor(Math.random() * 10) - 5; character.updateSanity(randomChange); } // Hidden event: Discover a key or note behind Kemal's torn painting if (Math.random() < 0.2) { var hiddenNote = new Text2("Bu evde bir çıkış yok… ama bir tercih var.", { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); hiddenNote.anchor.set(0.5, 0.5); hiddenNote.x = 1024; hiddenNote.y = 1600; game.addChild(hiddenNote); dialogueBox.showDialogue("Kemal’in yırttığı tablo arkasında gizli bir anahtar veya günlük notu bulundu!", 5000); } } updateUI(); checkGameEnd(); if (currentDay > 7) { dialogueBox.showDialogue("Gün " + currentDay + " başlıyor. Herkes evde geçen bir gecenin ardından yorgun görünüyor.", 3000); } } function updateUI() { dayText.setText("Gün " + currentDay + "/20"); timeText.setText("Zaman: " + timeLeft); if (timeLeft <= 20) { timeText.tint = 0xff0000; } else if (timeLeft <= 50) { timeText.tint = 0xffa500; } else { timeText.tint = 0xffff00; } } function checkGameEnd() { var dangerousCount = 0; var totalSanity = 0; for (var i = 0; i < characters.length; i++) { if (characters[i].isDangerous) { dangerousCount++; } totalSanity += characters[i].sanity; } // Bad ending - too many dangerous characters if (dangerousCount >= 3) { showEnding("KÖTÜ", "Ev kaosa büründü. Çok fazla kişi krizde olduğu için hayatta kalmak imkansız hale geldi. Kendin dahil kimseyi kurtaramadın."); return; } // Check if reached day 20 if (currentDay > 20) { var avgSanity = totalSanity / characters.length; var discoveredCount = Object.keys(discoveredDisorders).length; if (discoveredCount < characters.length) { showEnding("KÖTÜ", "20 gün geçti ama herkesın hastalığını keşfedemediğin için onlara doğru yardımı veremeding. Sonuç olarak kimseyi tam olarak kurtaramadın."); } else if (avgSanity >= 80 && dangerousCount === 0) { showEnding("İYİ", "Tebrikler! Herkesın hastalığını keşfettin ve 20 gün boyunca herkesi stabil tutmayı başardın. Birlikte evden kaçma yolunu buldunuz ve herkesin ihtiyacı olan yardımı almasını sağladınız."); } else if (avgSanity >= 50) { showEnding("NÖTR", "Hastalıkları keşfettin ve 20 gün hayatta kaldın ama herkes iyi durumda çıkmadı. Kaçtın ama bu deneyim herkeste derin izler bıraktı."); } else { showEnding("KÖTÜ", "Hastalıkları keşfetsen de hayatta kalmanın bedeli çok ağır oldu. Bu 20 günün travması herkesi yıllarca takip edecek."); } return; } } function showEnding(type, message) { currentGameState = "gameOver"; // Clear all floating text elements and mission texts var floatingTexts = game.children.filter(function (child) { return child instanceof Text2 && child !== dayText && child !== timeText && child !== bookText; }); for (var i = 0; i < floatingTexts.length; i++) { floatingTexts[i].destroy(); } // Clear dialogue box dialogueBox.visible = false; var endingOverlay = game.attachAsset('endingOverlay', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, alpha: 0.8 }); var endingTitle = new Text2(type + " SON", { size: 96, fill: type === "İYİ" ? "#00ff00" : type === "NÖTR" ? "#ffff00" : "#ff0000" }); endingTitle.anchor.set(0.5, 0.5); endingTitle.x = 1024; endingTitle.y = 1000; game.addChild(endingTitle); var endingText = new Text2(message, { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); endingText.anchor.set(0.5, 0.5); endingText.x = 1024; endingText.y = 1400; game.addChild(endingText); var restartButton = new ActionButton("Tekrar Oyna", function () { LK.showGameOver(); }); restartButton.x = 1024; restartButton.y = 1800; game.addChild(restartButton); // Update high score based on ending var score = 0; if (type === "İYİ") { score = 100; } else if (type === "NÖTR") { score = 50; } else { score = 10; } LK.setScore(score); } // Game loop game.update = function () { if (currentGameState === "playing") { // Time naturally decreases if (LK.ticks % 60 === 0 && timeLeft > 0) { timeLeft--; updateUI(); if (timeLeft <= 0) { dialogueBox.showDialogue("Gün bitti. Dinlenme ve yarına hazırlanma zamanı.", 2000); } } // Check for game end conditions periodically if (LK.ticks % 180 === 0) { checkGameEnd(); } } // Update Chaotic Background Effects (flickering removed) // Keep the original background color constant game.setBackgroundColor(0x2d1810); // Calculate chaos intensity based on average sanity var totalSanity = 0; for (var i = 0; i < characters.length; i++) { totalSanity += characters[i].sanity; } chaosIntensity = 1.0 - totalSanity / (characters.length * 100); // Update chaos particles for (var i = 0; i < chaosParticles.length; i++) { var particle = chaosParticles[i]; if (particle.speedX !== undefined) { // Moving particles particle.x += particle.speedX * chaosIntensity; particle.y += particle.speedY * chaosIntensity; particle.rotation += particle.rotationSpeed; // Wrap around screen if (particle.x < -50) { particle.x = 2098; } if (particle.x > 2098) { particle.x = -50; } if (particle.y < -50) { particle.y = 2782; } if (particle.y > 2782) { particle.y = -50; } // Horror-themed color changes - darker, more unsettling colors if (Math.random() < 0.05 * chaosIntensity) { var horrorColors = [0x8b0000, 0x800080, 0x2f4f4f, 0x8b008b, 0x696969, 0x000000, 0x4b0082, 0x800000]; particle.tint = horrorColors[Math.floor(Math.random() * horrorColors.length)]; } // Shadow fade effect for shadow particles if (particle.fadeDirection !== undefined) { particle.alpha += particle.fadeDirection * 0.02 * chaosIntensity; if (particle.alpha <= 0.1 || particle.alpha >= 0.8) { particle.fadeDirection *= -1; } } } else if (particle.pulseSpeed !== undefined) { // Pulsing circles - more dramatic and unsettling particle.pulsePhase += particle.pulseSpeed; particle.scaleX = particle.scaleY = 1.0 + Math.sin(particle.pulsePhase) * 0.7 * chaosIntensity; particle.alpha = 0.2 + Math.sin(particle.pulsePhase) * 0.4 * chaosIntensity; // Occasional color shift for circles if (Math.random() < 0.03 * chaosIntensity) { var circleColors = [0x8b0000, 0x4b0082, 0x2f2f2f, 0x800000, 0x8b008b]; particle.tint = circleColors[Math.floor(Math.random() * circleColors.length)]; } } } // Update chaos noise for (var i = 0; i < chaosNoiseElements.length; i++) { var noise = chaosNoiseElements[i]; noise.alpha = Math.random() * 0.5 * chaosIntensity; if (Math.random() < 0.1 * chaosIntensity) { noise.x = Math.random() * 2048; noise.y = Math.random() * 2732; // Horror-themed noise colors - darker and more unsettling var noiseColors = [0x8b0000, 0x2f4f4f, 0x8b008b, 0x000000, 0x800080, 0x4b0082, 0x696969]; noise.tint = noiseColors[Math.floor(Math.random() * noiseColors.length)]; } // Add creepy scaling effect to noise noise.scaleX = 1.0 + Math.sin(LK.ticks * 0.02 + i) * 0.3 * chaosIntensity; noise.scaleY = 1.0 + Math.cos(LK.ticks * 0.03 + i) * 0.3 * chaosIntensity; } }; // Knowledge Book var knowledgeBook = game.attachAsset('knowledgeBook', { anchorX: 0.5, anchorY: 0.5, x: 1900, y: 200 }); var bookText = new Text2("Kitap", { size: 48, fill: 0xFFFFFF }); bookText.anchor.set(0.5, 0.5); bookText.x = 1900; bookText.y = 240; game.addChild(bookText); knowledgeBook.down = function (x, y, obj) { // Show tutorial hint for knowledge book if (tutorialActive) { dialogueBox.showDialogue("Harika! Bu kitap ruh sağlığı bozuklukları hakkında bilgi veriyor. Karakterleri anlamak için kullanın.", 3000); } showKnowledgeBook(); LK.getSound('click').play(); }; // Play background music LK.playMusic('bgMusic'); function showNightTimeEvent() { // Clear any existing floating text first var floatingTexts = game.children.filter(function (child) { return child instanceof Text2 && child !== dayText && child !== timeText && child !== bookText; }); for (var i = 0; i < floatingTexts.length; i++) { floatingTexts[i].destroy(); } // Hide dialogue box dialogueBox.visible = false; // Night sequence - create container for sleep dialogue with skip var sleepContainer = new Container(); sleepContainer.x = 1024; sleepContainer.y = 1366; // Center vertically on screen game.addChild(sleepContainer); var sleepText = new Text2("Oyuncu yatağa gider ve uyku zamanı gelir...", { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); sleepText.anchor.set(0.5, 0.5); sleepContainer.addChild(sleepText); var sleepSkipButton = new ActionButton("Atla", function () { sleepContainer.destroy(); showNightOverlay(); }); sleepSkipButton.y = 150; sleepContainer.addChild(sleepSkipButton); } function showNightOverlay() { var nightOverlay = game.attachAsset('endingOverlay', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, alpha: 0.9 }); var nightContainer = new Container(); nightContainer.x = 1024; nightContainer.y = 1366; game.addChild(nightContainer); var nightText = new Text2("Gece boyunca bir şeyler farklıydı. Sanki... biri eksikti.", { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); nightText.anchor.set(0.5, 0.5); nightText.x = 0; // Center in the container nightText.y = 0; // Center in the container nightContainer.addChild(nightText); var nightSkipButton = new ActionButton("Atla", function () { nightOverlay.destroy(); nightContainer.destroy(); showMorningScene(); }); nightSkipButton.y = 150; nightContainer.addChild(nightSkipButton); } function showMorningScene() { // Hide Kemal temporarily var kemal = characters.find(function (c) { return c.name === "Kemal"; }); if (kemal) { kemal.visible = false; } // Morning dialogue from other characters var morningDialogues = ["Elif: 'Kemal'le kahvaltı yapacaktım… ama odası boş.'", "Zeynep: 'Yatağı bile düzeltilmemiş. Bu hiç onun tarzı değil.'", "Yusuf: 'Bu bir numara olabilir. Saklanıyor. Dinliyor. Her zamanki gibi.'", "Mehmet (nazik): 'Onun sadece biraz zamana ihtiyacı vardır belki…'"]; var currentDialogue = 0; var currentMorningDialogueContainer = null; function showNextMorningDialogue() { // Clear any existing dialogue container first if (currentMorningDialogueContainer) { currentMorningDialogueContainer.destroy(); currentMorningDialogueContainer = null; } if (currentDialogue < morningDialogues.length) { // Create a container for the dialogue with skip button currentMorningDialogueContainer = new Container(); currentMorningDialogueContainer.x = 1024; currentMorningDialogueContainer.y = 1366; // Center vertically on screen game.addChild(currentMorningDialogueContainer); var dialogueText = new Text2(morningDialogues[currentDialogue], { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); dialogueText.anchor.set(0.5, 0.5); currentMorningDialogueContainer.addChild(dialogueText); var skipButton = new ActionButton("Atla", function () { currentMorningDialogueContainer.destroy(); currentMorningDialogueContainer = null; currentDialogue++; showNextMorningDialogue(); }); skipButton.y = 150; currentMorningDialogueContainer.addChild(skipButton); } else { showKemalRoomScene(); } } showNextMorningDialogue(); } function showKemalRoomScene() { // Show mission to find Kemal var missionText = new Text2("Görev: Kemal'i bul", { size: 48, fill: 0xFFFF00 }); missionText.anchor.set(0.5, 0.5); missionText.x = 1024; missionText.y = 300; game.addChild(missionText); // Create container for room discovery dialogue with skip var roomContainer = new Container(); roomContainer.x = 1024; roomContainer.y = 1366; // Center vertically on screen game.addChild(roomContainer); var roomText = new Text2("Yerde çizilmiş bir resim var. Bir göz. Altında şu yazıyor: 'Ben görünüyorum ama görünmezim.'", { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); roomText.anchor.set(0.5, 0.5); roomContainer.addChild(roomText); var roomSkipButton = new ActionButton("Atla", function () { roomContainer.destroy(); missionText.setText("Görev: Diğer karakterlerle konuş, ne olduğunu anlamaya çalış."); showMissionUpdateWithSkip(); }); roomSkipButton.y = 150; roomContainer.addChild(roomSkipButton); } function showMissionUpdateWithSkip() { var missionUpdateContainer = new Container(); missionUpdateContainer.x = 1024; missionUpdateContainer.y = 1366; // Center vertically on screen game.addChild(missionUpdateContainer); var missionUpdateText = new Text2("Diğer karakterlerle konuş ve Kemal'in nerede olduğunu öğrenmeye çalış.", { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); missionUpdateText.anchor.set(0.5, 0.5); missionUpdateContainer.addChild(missionUpdateText); var missionSkipButton = new ActionButton("Atla", function () { missionUpdateContainer.destroy(); showKemalReturn(); }); missionSkipButton.y = 150; missionUpdateContainer.addChild(missionSkipButton); } function showKemalReturn() { // Show Kemal's return var kemal = characters.find(function (c) { return c.name === "Kemal"; }); if (kemal) { kemal.visible = true; kemal.tint = 0x888888; // Make him look different } // Clear all mission-related text elements var missionElements = game.children.filter(function (child) { return child instanceof Text2 && child.text && (child.text.indexOf("Görev:") !== -1 || child.text.indexOf("Diğer karakterlerle") !== -1); }); for (var i = 0; i < missionElements.length; i++) { missionElements[i].destroy(); } // Kemal's return dialogue var returnDialogues = ["Kemal (durgun): 'Nerelerdeydim bilmiyorum. Ama döndüm. Siz neden beni aramadınız?'", "Elif: 'Kemal… gözlerin… farklı bakıyor.'", "Yusuf: 'Bu o değil. Aynı değil. Değişmiş.'", "Zeynep: 'Kıyafetleri neden ters giyilmiş?'"]; var currentReturnDialogue = 0; var currentReturnDialogueContainer = null; function showNextReturnDialogue() { // Clear any existing dialogue container first if (currentReturnDialogueContainer) { currentReturnDialogueContainer.destroy(); currentReturnDialogueContainer = null; } if (currentReturnDialogue < returnDialogues.length) { // Create a container for the dialogue with skip button currentReturnDialogueContainer = new Container(); currentReturnDialogueContainer.x = 1024; currentReturnDialogueContainer.y = 1366; // Center vertically on screen game.addChild(currentReturnDialogueContainer); var returnDialogueText = new Text2(returnDialogues[currentReturnDialogue], { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); returnDialogueText.anchor.set(0.5, 0.5); currentReturnDialogueContainer.addChild(returnDialogueText); var returnSkipButton = new ActionButton("Atla", function () { currentReturnDialogueContainer.destroy(); currentReturnDialogueContainer = null; currentReturnDialogue++; showNextReturnDialogue(); }); returnSkipButton.y = 150; currentReturnDialogueContainer.addChild(returnSkipButton); } else { showPlayerChoices(); } } showNextReturnDialogue(); } function showPlayerChoices() { // Create choice buttons var choiceContainer = new Container(); choiceContainer.x = 1024; choiceContainer.y = 2000; game.addChild(choiceContainer); var choiceA = new ActionButton("[A] 'Kemal, sana ne oldu?'", function () { dialogueBox.showDialogue("Kemal: 'Bilmiyorum... sanki uzun bir rüyaydı. Ama artık buradayım.'", 3000); destroyChoices(); proceedToNextDay(); }); choiceA.y = 0; choiceContainer.addChild(choiceA); var choiceB = new ActionButton("[B] 'Senin kim olduğunu bilmiyorum.'", function () { dialogueBox.showDialogue("Kemal: 'Ben... ben Kemal'im. Değil miyim? Neden böyle bakıyorsun?'", 3000); destroyChoices(); proceedToNextDay(); }); choiceB.y = 100; choiceContainer.addChild(choiceB); var choiceC = new ActionButton("[C] Sessiz kal", function () { dialogueBox.showDialogue("Kemal seni dikkatle izliyor... gözlerinde tanıdık olmayan bir ifade var.", 3000); destroyChoices(); proceedToNextDay(); }); choiceC.y = 200; choiceContainer.addChild(choiceC); function destroyChoices() { choiceContainer.destroy(); } function proceedToNextDay() { var kemal = characters.find(function (c) { return c.name === "Kemal"; }); if (kemal) { kemal.tint = 0xffffff; // Return to normal color kemal.updateSanity(-15); // Slight sanity loss from the experience } // Continue with normal day progression nextDay(); } } function showKnowledgeBook() { if (knowledgeBookVisible) { return; } knowledgeBookVisible = true; var bookOverlay = game.attachAsset('endingOverlay', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, alpha: 0.9 }); var bookTitle = new Text2("RUH SAĞLIĞI KİTABI", { size: 72, fill: 0xFFFFFF }); bookTitle.anchor.set(0.5, 0.5); bookTitle.x = 1024; bookTitle.y = 400; game.addChild(bookTitle); var yPos = 600; var disorders = Object.keys(disorderInfo); for (var i = 0; i < disorders.length; i++) { var disorder = disorders[i]; var info = disorderInfo[disorder]; var disorderTitle = new Text2(disorder, { size: 72, fill: 0xFFD700 }); disorderTitle.anchor.set(0.5, 0); disorderTitle.x = 1024; disorderTitle.y = yPos; game.addChild(disorderTitle); var disorderDesc = new Text2(info, { size: 56, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1600 }); disorderDesc.anchor.set(0.5, 0); disorderDesc.x = 1024; disorderDesc.y = yPos + 50; game.addChild(disorderDesc); yPos += 250; } var closeBookButton = new ActionButton("Kitabı Kapat", function () { knowledgeBookVisible = false; bookOverlay.destroy(); bookTitle.destroy(); // Destroy all disorder information elements var disorders = Object.keys(disorderInfo); for (var j = 0; j < disorders.length; j++) { var disorderElements = game.children.filter(function (child) { return child instanceof Text2 && child.text && (child.text.indexOf(disorders[j]) !== -1 || child.text === disorderInfo[disorders[j]]); }); for (var k = 0; k < disorderElements.length; k++) { disorderElements[k].destroy(); } } // Also destroy any remaining text elements that might be part of the book var allTextElements = game.children.filter(function (child) { return child instanceof Text2 && child.y >= 400 && child.y <= 2000; }); for (var m = 0; m < allTextElements.length; m++) { if (allTextElements[m] !== dayText && allTextElements[m] !== timeText && allTextElements[m] !== bookText) { allTextElements[m].destroy(); } } closeBookButton.destroy(); }); closeBookButton.x = 1024; closeBookButton.y = yPos + 100; game.addChild(closeBookButton); } // Tutorial System var tutorialActive = true; var tutorialStep = 0; var tutorialContainer = null; function startTutorial() { tutorialActive = true; tutorialStep = 0; showTutorialStep(); } function showTutorialStep() { // Clear previous tutorial container if (tutorialContainer) { tutorialContainer.destroy(); } tutorialContainer = new Container(); tutorialContainer.x = 1024; tutorialContainer.y = 1366; game.addChild(tutorialContainer); var tutorialMessages = ["HOŞGELDİNİZ! Bu evde 5 kişiyle birlikte 20 gün hayatta kalmalısınız.", "Her karakterin farklı ruh sağlığı sorunları var. Onları anlamalı ve yardım etmelisiniz.", "Karakterlere TIKLA ve etkileşime geç. Her eylem zaman harcar.", "Karakterlerin akıl sağlığını takip edin. Kırmızı = Tehlikeli, Yeşil = İyi durumda.", "Sağ üstteki KİTAP'a tıklayarak ruh sağlığı hakkında bilgi edinebilirsiniz.", "Her gün sonunda 'Sonraki Gün' butonuna basarak ilerleyin.", "DİKKAT: Aynı eylemi 3 kez üst üste yapmayın! Bu karakterleri sinirlendiririr.", "Karakterlere tek tıklama yaparak etkileşime geçebilirsiniz."]; if (tutorialStep < tutorialMessages.length) { var tutorialText = new Text2(tutorialMessages[tutorialStep], { size: 48, fill: 0xFFD700, wordWrap: true, wordWrapWidth: 1600 }); tutorialText.anchor.set(0.5, 0.5); tutorialContainer.addChild(tutorialText); var nextButton = new ActionButton("Devam", function () { tutorialStep++; if (tutorialStep >= tutorialMessages.length) { endTutorial(); } else { showTutorialStep(); } }); nextButton.y = 150; tutorialContainer.addChild(nextButton); var skipButton = new ActionButton("Öğreticiyi Atla", function () { endTutorial(); }); skipButton.y = 250; tutorialContainer.addChild(skipButton); } } function endTutorial() { tutorialActive = false; if (tutorialContainer) { tutorialContainer.destroy(); tutorialContainer = null; } // Create red screen overlay var redOverlay = game.attachAsset('endingOverlay', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, alpha: 0.7 }); redOverlay.tint = 0xFF0000; // Make it red // Show red warning message at end of tutorial var warningContainer = new Container(); warningContainer.x = 1024; warningContainer.y = 1366; game.addChild(warningContainer); var warningText = new Text2("Yapma onlar senin ruhunu istiyor kaçamayacaksın(:", { size: 60, fill: 0xFF0000, // Red text color wordWrap: true, wordWrapWidth: 1600 }); warningText.anchor.set(0.5, 0.5); warningContainer.addChild(warningText); // Start screen shaking effect var shakeInterval = LK.setInterval(function () { var shakeX = (Math.random() - 0.5) * 20; var shakeY = (Math.random() - 0.5) * 20; game.x = shakeX; game.y = shakeY; }, 50); // Start playing the warning sound on loop var warningSound = LK.getSound('tutorialWarning'); var warningSoundTimer = LK.setInterval(function () { warningSound.play(); }, 100); // Play every 100ms to create continuous effect var warningSkipButton = new ActionButton("Atla", function () { // Stop all effects when skip button is pressed LK.clearInterval(warningSoundTimer); LK.clearInterval(shakeInterval); // Reset game position game.x = 0; game.y = 0; // Remove red overlay and warning container redOverlay.destroy(); warningContainer.destroy(); // Switch from background music to ambient music LK.playMusic('ambient'); // Show initial game dialogue after warning dialogueBox.showDialogue("Gün 1: Garip bir evde 5 kişiyle birlikte uyanıyorsunuz. Herkes sorunlu görünüyor.\nOnlara 20 gün hayatta kalmaları için yardım etmelisiniz.", 4000); }); warningSkipButton.y = 150; warningContainer.addChild(warningSkipButton); } // Start tutorial immediately startTutorial(); ;
===================================================================
--- original.js
+++ change.js
@@ -1604,10 +1604,10 @@
}
showKnowledgeBook();
LK.getSound('click').play();
};
-// Play ambient music
-LK.playMusic('ambient');
+// Play background music
+LK.playMusic('bgMusic');
function showNightTimeEvent() {
// Clear any existing floating text first
var floatingTexts = game.children.filter(function (child) {
return child instanceof Text2 && child !== dayText && child !== timeText && child !== bookText;
@@ -2029,8 +2029,10 @@
game.y = 0;
// Remove red overlay and warning container
redOverlay.destroy();
warningContainer.destroy();
+ // Switch from background music to ambient music
+ LK.playMusic('ambient');
// Show initial game dialogue after warning
dialogueBox.showDialogue("Gün 1: Garip bir evde 5 kişiyle birlikte uyanıyorsunuz. Herkes sorunlu görünüyor.\nOnlara 20 gün hayatta kalmaları için yardım etmelisiniz.", 4000);
});
warningSkipButton.y = 150;
ev ama kuş bakışı. In-Game asset. 2d. High contrast. No shadows
elinde bıçak var . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
korkutucu bir gülümseme . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
tahta ama hafif kırık . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
korkunç bir göze sahip bir kitap . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
kanlı kağıt . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
korkunç gülüşler olan bir not defteri sşyah . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat