User prompt
BEN KEMALLLE ALAKALI BİR SORU SORDUM CEVAP VERİNCE KARAKTERLER VE TĞM YAZILAR GİTTİ
User prompt
KEMALLE İLGİLİŞ SORU SORDUĞUMUZDA VE CEVAP VERDİĞİNDE CEVAP OKUNMUYOR YAZILAR BİRBİRİNE KARIŞIYOR
User prompt
KARAKTERE İKİ KERE TIKLAYINCA BAHSETTİĞİMİZ SORULAR ÇIKSIN KEMALLE ALAKALI
User prompt
OY7UN KARMAŞIK YAZILAR BİRBİRİNE GİRİYOR
User prompt
TAMAM ARA SAHNEDEN SONRA KONUŞMALAR BAŞLAYINCA SAADCE KONUŞMALAR OLSUN KONUŞMALARI EKRANIN ORTASINA AL
User prompt
GÜN 6 5 4 3 2 1 İ KALDIR
User prompt
OYUNDAAN GĞN YEDİ BAŞLIYORU KALDIUR
User prompt
ARA SAHNE KONUŞMASINDA GÜN 7 BAŞLIYOR YAZISIYLA ARASAHNE YAZISI ÇAKIŞIYOR VE OKUNMUYOR ARA SAHNE YAZISINI AKRNIN ORTASINA AL
User prompt
ARA SAHNE KONUŞMALARINDA İKİ KONUŞMA ÇAKIŞIYOR ARA SAHNE GİRİNCE EKRAANDAA SADECE O KONUŞMAA OLSUN
User prompt
OYUNA BUNUDA EKLE VE ARASAHNEDEKİ KONUŞMALARI BİZ ATLAYA BAASINCA GEÇELİM
User prompt
BU OLAYI EKLE ARASAHNE GİBİ VE Bİ ÖNCEKİ OLAYI KALDIR 📅 GÜN 8 – GECE Oyuncu yatağa gider, “Uykum geldi” tuşuna basar. Gece ekranı karardığında kısa bir metin görünür: 🖋️ [Ekran Yazısı] “Gece boyunca bir şeyler farklıydı. Sanki... biri eksikti.” 📍SABAH - Ortak Salon (Elif, Zeynep, Yusuf, Mehmet odada. Kemal yok.) 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...” 📌 Oyun ekranında bir görev belirir: “Kemal’i bul” 🔍 Oyuncu Kemal’in odasına girer: 🖋️ [Ekran Yazısı] “Yerde çizilmiş bir resim var. Bir göz. Altında şu yazıyor: 'Ben görünüyorum ama görünmezim.'” 📌 Görev güncellenir: “Diğer karakterlerle konuş, ne olduğunu anlamaya çalış.” 🔄 GÜN 9 – SÜRPRİZ DÖNÜŞ Oyuncu salona geldiğinde Kemal ayakta durur. Yüzü farklı çizilmiş, gözleri daha donuk. 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ş?” 📌 Oyuncuya seçim sunulur: [A] “Kemal, sana ne oldu?” [B] “Senin kim olduğunu bilmiyorum.” [C] Sessiz kal (Kemal seni dikkatle izler)
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'cost')' in or related to this line: 'var actionCost = actions[i].cost;' Line Number: 1167
User prompt
BAHSETİĞİMİZ KAVGA KONUŞMALARLA OLSUN
User prompt
Please fix the bug: '(intermediate value) is not a function' in or related to this line: 'return self;' Line Number: 47
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'cost')' in or related to this line: 'var actionCost = actions[i].cost;' Line Number: 1165
User prompt
📅 8. Gün – "Patlama Günü" Senaryosu İsyancı Karakter: Kemal (Bipolar) Durum: Manik atak geçiriyor, enerji patlaması yaşayıp kontrolünü kaybediyor. Tetikleyici: Zeynep’in onun yaptığı resmi duvardan indirmesi (düzen takıntısı). Olay: Kemal evin ortasında bağırarak isyan çıkarıyor. Eşyaları kırıyor, diğer karakterleri kışkırtıyor. Oyuncu duruma müdahale edebilir veya saklanabilir. 🎭 Olayın Başlangıcı – Ortak Salon Zeynep (kaygılı): “Bu resim o kadar eğri ki gözüm seğirmeye başladı, dayanamadım...” Kemal (yüksek sesle): “NE YAPTIN SEN?! O benim ruhumdu! R-U-H-U-M!!!” Kemal tablonun parçalarını yere atar, masayı devirir. Diğer karakterler odaya toplanır. ⚠️ İsyan Diyalogları 🔶 Kemal (delirmiş gibi bağırır): “Siz... siz hepiniz benim düşüncelerimi boğuyorsunuz!” “Bu ev bir hapishane değil, bir sahne! Ve ben başroldeyim!” “Artık kuralları ben koyuyorum. Herkes ya benimle olur, ya YOK olur!” “Sakin kalamam, duramam, susamam. Kan istiyorlar, vereceğim!” 🔷 Elif (korkmuş şekilde): “Sesler... çığlıklar yükseliyor... bu gerçek mi?!” “Ona dokunmayın! Gölgesi başka bir şey anlatıyor!” ⚪ Zeynep (titreyerek): “Her şey yerinden oynadı... temiz değil burası, simetri yok!” “Lütfen... birileri müdahale etsin!” ⚫ Yusuf (korkuyla geri çekilir): “Bizi yok etmeye geliyor... bunun bir plan olduğunu biliyordum!” “Kendinizi savunun! Bu bir tuzak olabilir!” ⚫ Mehmet (kişiliğe göre değişir): Nazik: “Kemal... lütfen kendine gel, bu sen değilsin.” Çocuk: “Korkuyorum! Beni saklayın!” Karanlık: “İşte gerçek yüzünüz. Ne güzel...” 🎮 OYUNCU TEPKİ SEÇENEKLERİ (Birden fazla yol): ✅ Yatıştırıcı Konuşma “Kemal! Lütfen bana bak. Bu senin eserin, sen güçlüsün. Lütfen dinle beni!” (Başarırsa +20 akıl puanı, olay durulur. Başarısızsa Kemal saldırganlaşır.) ✅ Yere Yat, Saldırıyı Engelle “Onu tutmaya çalışacağım, siz geri çekilin!” (Riskli: Fiziksel temasla zarar görebilir ama diğer karakterleri koruyabilir.) ✅ Saklan / Gözlemle Oyuncu saklanır, isyan kısa sürede sona erer ama herkesin akıl puanı –10 düşer. ✅ Elif’le konuş ve onunla birlikte Kemal'e ulaş “Elif, senin sesini duyuyor. Birlikte yaklaşalım.” (Özel etkileşim: Başarılı olursa Kemal çöküp ağlamaya başlar.) 💥 Olayın Sonucu (Değişkendir): Kemal yere çöküp ağlarsa: Tüm karakterler bir süre daha stabil olur. Kemal kontrol edilemezse: Odalardan biri tahrip olur, Zeynep kriz geçirir, Mehmet’in "karanlık" kişiliği ortaya çıkabilir. Oyuncu birini koruyamazsa, bir karakter yaralanır ve ertesi gün konuşamaz. 🗝️ Ekstra Detay (Gizli Olay): Olayın yaşandığı salonda, Kemal’in yırttığı tablo arkasında gizli bir anahtar veya günlük notu bulunabilir. Bu not, oyunun sonuna dair büyük bir ipucu içerir: "Bu evde bir çıkış yok... ama bir tercih var."
User prompt
eğer bir davranışı birden kez herekze 3 kere yaparsak birisi bizi kandırıyorsun desşn ve herkez in akılpuanı-30 yesşn
User prompt
not defterini kaaldır
User prompt
not defteri yazısını sağ alta al not defteri yine tğm ekrtanı kaplasın ayrıca anlaa artık ben not defterine girince isimler çıkıyorya isimler alta kayıyor her tıkladığımda kaymasın konumu sabit kalsın artık
User prompt
not defterini sağ alta al
User prompt
not defterini en sağa al
User prompt
not defterini kitabın altına al
User prompt
not defterinin içindeki her şeyi kaşdır
User prompt
Please fix the bug: 'Uncaught TypeError: tween.to is not a function' in or related to this line: 'tween.to(entryText, {' Line Number: 235 ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
not defterine basınca alta kayma hareketini 10000 kat yavaşlat
/**** * 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) { selectedCharacter = self; 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: 0xFFFFFF }); dialogueText.anchor.set(0.5, 0.5); self.addChild(dialogueText); self.showDialogue = function (text, duration) { 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; }); var Notebook = Container.expand(function () { var self = Container.call(this); var notebookBg = self.attachAsset('endingOverlay', { anchorX: 0.5, anchorY: 0.5, x: 2048 - 200, y: 1366, alpha: 0.9 }); var notebookTitle = new Text2("Not Defteri", { size: 72, fill: 0xFFFFFF }); notebookTitle.anchor.set(0.5, 0.5); notebookTitle.x = 1024; notebookTitle.y = 200; self.addChild(notebookTitle); var yPos = 400; var characterEntries = []; self.updateEntries = function () { // Clear previous entries for (var i = 0; i < characterEntries.length; i++) { characterEntries[i].destroy(); } characterEntries = []; // Add new entries // Shuffle the characters array to randomize the order of entries characters.sort(function () { return Math.random() - 0.5; }); for (var i = 0; i < characters.length; i++) { var character = characters[i]; var disorderNames = Object.keys(disorderInfo); var selectedDisorder = discoveredDisorders[character.name] || disorderNames[0]; var entryText = new Text2(character.name + ": " + selectedDisorder, { size: 48, fill: 0xFFFFFF }); entryText.anchor.set(0.5, 0); entryText.x = 1024; entryText.y = yPos; entryText.down = function (character, entryText, yPos) { return function () { var currentIndex = disorderNames.indexOf(discoveredDisorders[character.name] || disorderNames[0]); var nextIndex = (currentIndex + 1) % disorderNames.length; discoveredDisorders[character.name] = disorderNames[nextIndex]; self.updateEntries(); tween(entryText, { y: yPos }, { duration: 10000 }); // Slow down the movement by 10000 times }; }(character, entryText, yPos); self.addChild(entryText); characterEntries.push(entryText); yPos += 60; } }; 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 = {}; // 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: "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; } // 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: 0xFFFF00 }); 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 = 2200; 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) { return { sanityChange: -10, dialogue: character.name + " çok sinirli ve yardımınızı agresif bir şekilde reddediyor!" }; } 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 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) { nextDay(); } }); nextDayButton.x = 1024; nextDayButton.y = 2500; game.addChild(nextDayButton); function showCharacterActions() { actionMenuVisible = true; actionButtonsContainer.visible = true; // Update button availability based on time for (var i = 0; i < actionButtons.length; i++) { var button = actionButtons[i]; var actionCost = actions[i].cost; if (timeLeft >= actionCost) { button.alpha = 1.0; } else { button.alpha = 0.5; } } } function hideCharacterActions() { actionMenuVisible = false; actionButtonsContainer.visible = false; selectedCharacter = null; } function nextDay() { currentDay++; timeLeft = maxTimePerDay; // 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; } } // 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); } } updateUI(); checkGameEnd(); 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"; 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(); } } }; // 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) { showKnowledgeBook(); LK.getSound('click').play(); }; // Initialize Notebook var notebook = new Notebook(); game.addChild(notebook); // Add Notebook Button var notebookButton = new ActionButton("Not Defteri", function () { notebook.visible = !notebook.visible; if (notebook.visible) { notebook.updateEntries(); } }); notebookButton.x = 1024; notebookButton.y = 500; game.addChild(notebookButton); // Play ambient music LK.playMusic('ambient'); 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); } // Initial dialogue 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); ;
===================================================================
--- original.js
+++ change.js
@@ -175,9 +175,9 @@
var self = Container.call(this);
var notebookBg = self.attachAsset('endingOverlay', {
anchorX: 0.5,
anchorY: 0.5,
- x: 1024,
+ x: 2048 - 200,
y: 1366,
alpha: 0.9
});
var notebookTitle = new Text2("Not Defteri", {
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