User prompt
romance questlerindeki şıkları da biraz daha yukarı al. arka planı daha da soluklaştır.
User prompt
KAeliçin yeni bir asset ata
User prompt
şimdi kael için de bir asset ata. Romance questleri sırasında üst tarafta yan yana hem karakterin hem de Kael'in assetini göster.
User prompt
romace questi devreye girdiğinde arka plan soluklaşsın. SAdece romance questinin sorusu ve şıkları belirgin olsun
User prompt
herhangi bir karakter ile ilişki puanım 10 olduğunda romance questlerinin devreye girmesi lazım o karakter ile alakalı.
User prompt
o zaman bu şekilde düzeltir misin? Questlerin sonuçlarına göre ilgili karakter ile ilişki değerinin artması ya da azalması lazım
User prompt
kalbi ve ilişki değerini daha sağa doru çek
User prompt
arkaplanı kalp adında yeni bir asset olarak ata
User prompt
sadece karakter assetlerinin yanına arka planda tuttuğun ilişki puanını gösteren sayıyı yaz. Bu sayının arkasına arka plan ata.
User prompt
hatayı düzelt. oyun ilerlemiyor
User prompt
TAMAM ŞİMDİ rOMANCE MODU EKLEYELİM. kAEL BU 12 KARAKTERDEN HERHANGİ BİRİYLE AŞK YAŞAYABİLİR. aRKA PLANDA QUESTLER İLERLEDİKÇE HER KARAKTER İLE KAEL ARASINDA BİR İLİŞKİ PUANI TUT. bU PUANI KARAKTERLERİN QUESTLERİNE kAEL UYGUN CEVABU VERİRSE ARTTIR. BU PUAN TOTALDE 15 OLABİLİR. eĞER BİR KARAKTER İLE kAEL 10 PUANA ERİŞİRSE HER BEŞ QUESTTEN SONRA 10 ADET ROMANTİZMİ GİDEREK ARTAN QUEST SERİSİ VE MORAL CHOİCESLAR DENK GELSİN. kAEL İSTERSE OLUMSUZ SEÇENEKLERİ SEÇİP BU İLİŞKİ PUANINI DÜŞÜREBİLİR.
User prompt
YAHU QUESTLERDEKİ SORU CÜMLELERİ DE AŞIRI FORMAT. oNLAR DA FARKLI FARKLI VE YARATICI OLSUN. oYUNCU SÜREKLİ AYNI ŞEYİ OKUYOR GİBİ HİSSETTİRİYOR. rUHU YOK SORULARIN. dÜZELT HEPSİNİ
User prompt
fORMAT ŞEKLİNDE YAZMA HER SORUYU YA DA SONUCU. yARATICI OL. fARKLI fARKLI YAZ.
User prompt
YAHU MORAL CHOİCES KARAKTER, mEKAN VE aNA HİKAYE İLE ALAKALI OLSUN. hEPSİNİ YENİDEN ELE AL
User prompt
Velarion, kadim yeminlerle ayakta duran ama içten içe çürüyen bir krallıktı. Dışarıdan görkemli surlarla çevrili, içeriden ise ihanet, lanet ve güç savaşlarının girdabında kaybolmuş bir topraktı. Bu toprağın kaderine doğrudan etki eden on iki kişi vardı. Her biri farklı bir geçmişten, farklı bir amaçla yola çıkmıştı. Kimi ortak bir düşmana karşı yürürken, kimi sadece kendi öfkesini doyurmaya çalışıyordu. **Ser Aedric of Thornhall**, Thornhall kontluğunun varisi ve eski Kral Auran’ın sadık şövalyesiydi. Babası, Elira'nın iktidara yükseliş sürecinde infaz edilmiş, Aedric ise halkın arasında unvanını terk ederek savaş meydanlarında pişmişti. Onuru, iç savaşta kirlenmişti ama hâlâ haklı olanı savunma çabası içindeydi. **Sister Caelia of the Ash Order**, Küller Tarikatı’nın hayatta kalan son müridiydi. Tapınağı, Gareth’in büyüsel deneyi sırasında yok olmuştu. İnancını kaybetmemek için kendini iyiliğe adamış, Elira’nın hükmünü kutsal yargı terazisinde tartmaya ant içmişti. **Rowan Greaves**, halk arasında "Sıçan Prens" olarak bilinir. Lathryn'in kanalizasyonlarında doğmuş, soyluların artıklarıyla büyümüş, zamanla yeraltı ağlarını örerek kendi “tahtını” kurmuştu. Soyluların sahte yüzlerini ve halkı sömürüşlerini yakından bilen Rowan, düzenin tamamen yıkılmasını isteyen bir anarşisttir. **Thalindra**, Mirefen bataklıklarında büyümüş, küçük yaşta büyüye olan yatkınlığı nedeniyle köylüler tarafından dışlanmıştı. Cadılık suçlamalarıyla yargılanmak yerine bataklıkta yaşayan kadim ruhlarla anlaşma yaparak güç kazandı. Şimdi eski düşmanlarına lanetlerini göndermek için sabırla bekliyor. **Ealdwine**, meşru taht varisiydi. Fakat Elira’nın yükselişinde, ailesi "hain" ilan edildi ve o çocuk yaşta sürgüne gönderildi. Kimliğini gizleyerek yıllarca farklı kıtalarda paralı askerlik yaptı. Elira'nın maskesinin ardındaki sırları ifşa etmeyi kafasına koymuştu. Onun varlığı, krallığın meşruiyetini tehdit ediyor. **Maeryn**, Kuzey Ormanları’nda druidler tarafından büyütülmüş, doğayla uyumlu bir yaşam sürmüştü. Fakat kraliyet oduncuları kutsal ormanı tahrip ettiğinde, Maeryn doğanın öfkesini temsil etmeye başladı. Artık sadece yaşamı değil, doğanın intikamını da taşıyor. **Borin**, demir madenlerinde köle gibi çalıştırılmış bir savaşçıdır. Çocukluğunda ailesi madende göçükte ölmüş, Borin hayatta kalmak için yumruğunu kullanmayı öğrenmişti. Zamanla yeraltındaki madenciler onu "Demir Yumruk" olarak çağırmaya başladı. Adaleti kendi yöntemleriyle sağlamayı seçti. **Nalia Blackthorn**, soylu Blackthorn ailesinin gayrimeşru çocuğuydu. Ailesi onu tanımadı. Kirli geçmişinden güç alan Nalia, suikast loncasına katıldı ve zamanla lideri oldu. Gölgeler onun evi, hançeri onun diliydi. Kimseye güvenmez, herkesin sırrını saklar. **Gareth Hollowbrand**, Velarion'un en eski büyü loncasının bir zamanlar ustasıydı. Kraliçe Elira’nın büyüyü yasaklamasıyla birlikte lonca dağıtıldı. Gareth, yüzyıllık büyü kitaplarını kaçırarak yok edilen bilgeliği geri getirmek için çalışmaya başladı. Ancak zamanla güç hırsı onu yozlaştırdı. Yasak büyülerle ölümsüzlüğe yaklaşmak istiyor. **Sylvea**, asil bir Lathryn hanedanının varisiydi. Ailesi Elira'nın vergileri yüzünden dağılınca, zırhını kuşanıp halkın saflarına katıldı. Savaşta cesaretiyle öne çıktı. Şimdi halk için savaşan bir kahraman gibi görünse de, geçmişindeki kırgınlıklar hâlâ kalbinde duruyor. **Fenric Redhand**, eski bir kraliyet celladıdır. Emirleri uygularken sayısız masumun canını almıştır. Ancak bir gün ailesi de kraliyet komplolarında yok edilince, kılıcı yalnızca suçluları değil, karar vericileri de hedef aldı. Adalet terazisi kanla doludur. **Kraliçe Elira**, gençliğinde tahtı devralmak için kraliyet ailesinin büyük kısmını öldürmüştür. Yüzünü gizleyen maskesiyle birlikte, hem korkulan hem saygı duyulan bir figürdür. Krallığın muhbir ağlarını bizzat kurmuş, bilgiyi silah olarak kullanmayı öğrenmiştir. Elira'nın amacı kaos değildir; düzenin mutlak surette kendi çizdiği yolda ilerlemesidir. Bu on iki karakter, Velarion’un geçmişiyle bugünü arasında örülmüş birer düğüm gibidir. Bazıları birbirinin geçmişinden çıkmıştır, bazıları birbirini yok etmek için doğmuştur. Ancak her biri, Velarion’un en karanlık sırlarında birer anahtardır. qUESTLERİ BU HİKAYEYE GÖRE ŞEKİLLENDİR
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'name')' in or related to this line: 'var storyText = "Efsanevi Kael Lightbringer, " + charMeta.name + " ile " + scene + " diyarında karşılaştı. Kaderin cilvesiyle '" + dilemma.replace(/\s+$/, '') + "' olayının ortasında buldular kendilerini. Kael, '" + secim + "' yolunu seçti. " + sonucCumle;' Line Number: 4077
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'id')' in or related to this line: 'charToken.setCharacter(charMeta.id);' Line Number: 3941
User prompt
kahramanın iyi, kötü felan olduğunu ekrana yazma. Sil o descriptionları. Kahramanların karakter özelliklerine göre questleri yenile. Daha karakterlerine uygun ve epik olsun
User prompt
tamam bu özellikleri ekle oyuna. Questleri de bu karakterlerin özelliklerine göre değiştir. Daha karakterlerine yakışan questler olsun
User prompt
yahu sonucun arkasına asset atama
User prompt
OptionHL assetini sil
User prompt
soruyu da biraz aşağı indir. ayrıca karakter assetini de aşağı indir
User prompt
seçenekleri ve sonucu daha aşağı indir
User prompt
parantez içinde oyuncu yazma. Bir isim atayalım kahramanımıza Mesela Kael Lightbringer gibi güçlü bir isim. Daha masalsı olsun anlatımlar
User prompt
Şimdi oyuncu olarak biz ayrı bır karakteriz. Bizi user diye tanımla istersen. User bu 12 karakter ile quest yaşıyor. Tüm hikayeyi buna göre baştan düzenle
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Character token class var CharacterToken = Container.expand(function () { var self = Container.call(this); self.asset = null; self.setCharacter = function (charId) { if (self.asset) self.removeChild(self.asset); self.asset = self.attachAsset(charId, { anchorX: 0.5, anchorY: 0.5 }); }; return self; }); /**** * Game Data ****/ // 12 characters, each with a name and a moral dilemma (2 options) // Option button class var OptionButton = Container.expand(function () { var self = Container.call(this); self.bg = self.attachAsset('optionA', { anchorX: 0.5, anchorY: 0.5 }); self.txt = new Text2('', { size: 70, fill: '#fff' }); self.txt.anchor.set(0.5, 0.5); self.addChild(self.txt); self.hl = null; self.setText = function (str) { self.txt.setText(str); }; self.setType = function (type) { self.removeChild(self.bg); self.bg = self.attachAsset(type, { anchorX: 0.5, anchorY: 0.5 }); self.addChildAt(self.bg, 0); }; self.highlight = function (on) { if (on && !self.hl) { self.hl = self.attachAsset('optionHL', { anchorX: 0.5, anchorY: 0.5 }); self.hl.alpha = 0.25; self.addChildAt(self.hl, 0); } else if (!on && self.hl) { self.removeChild(self.hl); self.hl = null; } }; return self; }); /**** * Initialize Game ****/ // 20 scenes (for now, only scene names are used in dilemmas above) var game = new LK.Game({ backgroundColor: 0x181818 }); /**** * Game Code ****/ // Büyük Taht Salonu // Kraliçenin Sığınağı // İç Savaş Alanı // Lanet Taşı // Kaçakçılar Mağarası // Eski Kraliyet Mezarlığı // Kraliyet Meclisi Odası // Öksüzler Hanı // Ay Meclisi // Grove Ormanı // Demirderin Madenleri // Gölge Tapınağı // Dalgakıran Kıyısı // Lanetli Kitaplık // Halk Pazarı // Unutulmuş Saray // Mirefen Bataklığı // Ekstra sahneler için örnekler: // Kale Suru // Pazar Yeri // Orman Kenarı // Taht Odası // Atölye // Tapınak // Şehir Kapısı // Kasaba Meydanı // Gizli Kütüphane // Kraliyet Bahçesi // Thornhall Kalesi // 12 karakterin her biri için 15'er bağlantılı quest (her biri: sahne, soru, 2 seçenek, etkiler, bir sonraki quest) // Her karakterin questleri bir dizi olarak tanımlanır // Removed sceneBG asset, backgrounds are now per-scene var characterQuestlines = [ // 1. Ser Aedric of Thornhall [{ scene: "Thornhall Kalesi", dilemma: "Kralın emriyle köyde devriye gezmelisin. Bir çocuk, annesinin hasta olduğunu söylüyor. Devriye görevini bırakıp yardım etmeli misin?", options: [{ text: "Devam et, görev önemli.", effect: { kingdom: 1, mercy: 0, next: 1 } }, { text: "Çocuğa yardım et.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "Kraliyet Bahçesi", dilemma: "Devriye sırasında bir hırsız yakaladın. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 2 } }, { text: "Uyar ve bırak.", effect: { kingdom: 0, mercy: 1, next: 2 } }] }, { scene: "Kasaba Meydanı", dilemma: "Bir köylü, başka bir köylüyü haksız yere suçluyor. Hemen cezalandırmalı mısın?", options: [{ text: "Araştırmadan ceza ver.", effect: { kingdom: 1, mercy: -1, next: 3 } }, { text: "Araştır, adil ol.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "Gizli Kütüphane", dilemma: "Bir asker, görevini ihmal etti. Rapor etmeli misin?", options: [{ text: "Rapor et.", effect: { kingdom: 1, mercy: 0, next: 4 } }, { text: "Görmezden gel.", effect: { kingdom: 0, mercy: 1, next: 4 } }] }, { scene: "Şehir Kapısı", dilemma: "Kral, köyden vergi toplamanı istiyor. Fakirlerden de mi almalısın?", options: [{ text: "Herkesten al.", effect: { kingdom: 1, mercy: -1, next: 5 } }, { text: "Fakirleri muaf tut.", effect: { kingdom: 0, mercy: 1, next: 5 } }] }, { scene: "Tapınak", dilemma: "Bir köylü, adaletsizliğe isyan ediyor. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 6 } }, { text: "Dinle ve çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 6 } }] }, { scene: "Atölye", dilemma: "Bir lonca üyesi rüşvet teklif ediyor. Kabul etmeli misin?", options: [{ text: "Reddet.", effect: { kingdom: 1, mercy: 0, next: 7 } }, { text: "Kabul et.", effect: { kingdom: -1, mercy: 0, next: 7 } }] }, { scene: "Taht Odası", dilemma: "Bir asker, suçsuz birini suçluyor. Hemen inanmalı mısın?", options: [{ text: "İnan.", effect: { kingdom: 1, mercy: -1, next: 8 } }, { text: "Araştır.", effect: { kingdom: 0, mercy: 1, next: 8 } }] }, { scene: "Orman Kenarı", dilemma: "Bir köylü, ailesini kurtarmak için yalvarıyor. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 9 } }, { text: "Yardım etme.", effect: { kingdom: 1, mercy: -1, next: 9 } }] }, { scene: "Pazar Yeri", dilemma: "Bir lonca, köyde huzursuzluk çıkarıyor. Sert mi davranmalısın?", options: [{ text: "Sert davran.", effect: { kingdom: 1, mercy: -1, next: 10 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "Kale Suru", dilemma: "Bir asker, görevini bırakmak istiyor. İzin vermeli misin?", options: [{ text: "İzin ver.", effect: { kingdom: 0, mercy: 1, next: 11 } }, { text: "Vermemelisin.", effect: { kingdom: 1, mercy: -1, next: 11 } }] }, { scene: "Dalgakıran Kıyısı", dilemma: "Bir köylü, başka bir köylüyü kurtarıyor. Onu ödüllendirmeli misin?", options: [{ text: "Ödüllendir.", effect: { kingdom: 0, mercy: 1, next: 12 } }, { text: "Görmezden gel.", effect: { kingdom: 1, mercy: 0, next: 12 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir lonca, köyde yeni bir düzen istiyor. Kabul etmeli misin?", options: [{ text: "Kabul et.", effect: { kingdom: -1, mercy: 1, next: 13 } }, { text: "Reddet.", effect: { kingdom: 1, mercy: -1, next: 13 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, adaletsizliğe karşı çıkıyor. Onu desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: 0, mercy: 1, next: 14 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: -1, next: 14 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Kral, seni ödüllendirmek istiyor. Kabul etmeli misin?", options: [{ text: "Kabul et.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Reddet.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 2. Sister Caelia of the Ash Order [{ scene: "Küller Manastırı", dilemma: "Bir hasta, mucize bekliyor. Dua mı etmeli, ilaç mı vermelisin?", options: [{ text: "Dua et.", effect: { kingdom: 0, mercy: 1, next: 1 } }, { text: "İlaç ver.", effect: { kingdom: 1, mercy: 0, next: 1 } }] }, { scene: "Lanetli Kitaplık", dilemma: "Bir rahibe, yalan söyledi. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 2 } }, { text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 2 } }] }, { scene: "Kraliyet Bahçesi", dilemma: "Bir çocuk, manastırdan yiyecek çaldı. Ne yapmalısın?", options: [{ text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 3 } }, { text: "Şikayet et.", effect: { kingdom: 1, mercy: -1, next: 3 } }] }, { scene: "Tapınak", dilemma: "Bir hasta, mucizevi bir iyileşme yaşadı. Bunu halka duyurmalı mısın?", options: [{ text: "Duyur.", effect: { kingdom: 1, mercy: 0, next: 4 } }, { text: "Gizle.", effect: { kingdom: 0, mercy: 1, next: 4 } }] }, { scene: "Kasaba Meydanı", dilemma: "Bir rahip, inancını kaybetti. Destek olmalı mısın?", options: [{ text: "Destek ol.", effect: { kingdom: 0, mercy: 1, next: 5 } }, { text: "Yalnız bırak.", effect: { kingdom: 1, mercy: -1, next: 5 } }] }, { scene: "Gizli Kütüphane", dilemma: "Bir hasta, pahalı bir tedavi istiyor. Kaynaklar az. Verecek misin?", options: [{ text: "Ver.", effect: { kingdom: 0, mercy: 1, next: 6 } }, { text: "Verme.", effect: { kingdom: 1, mercy: -1, next: 6 } }] }, { scene: "Atölye", dilemma: "Bir rahibe, manastırdan ayrılmak istiyor. İzin vermeli misin?", options: [{ text: "İzin ver.", effect: { kingdom: 0, mercy: 1, next: 7 } }, { text: "Vermemelisin.", effect: { kingdom: 1, mercy: -1, next: 7 } }] }, { scene: "Orman Kenarı", dilemma: "Bir hasta, mucize bekliyor. Umut vermeli misin?", options: [{ text: "Umut ver.", effect: { kingdom: 0, mercy: 1, next: 8 } }, { text: "Gerçeği söyle.", effect: { kingdom: 1, mercy: 0, next: 8 } }] }, { scene: "Pazar Yeri", dilemma: "Bir rahip, inancını sorguluyor. Destek olmalı mısın?", options: [{ text: "Destek ol.", effect: { kingdom: 0, mercy: 1, next: 9 } }, { text: "Yalnız bırak.", effect: { kingdom: 1, mercy: -1, next: 9 } }] }, { scene: "Kale Suru", dilemma: "Bir hasta, mucizevi bir iyileşme yaşadı. Bunu halka duyurmalı mısın?", options: [{ text: "Duyur.", effect: { kingdom: 1, mercy: 0, next: 10 } }, { text: "Gizle.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "Dalgakıran Kıyısı", dilemma: "Bir rahibe, manastırdan ayrılmak istiyor. İzin vermeli misin?", options: [{ text: "İzin ver.", effect: { kingdom: 0, mercy: 1, next: 11 } }, { text: "Vermemelisin.", effect: { kingdom: 1, mercy: -1, next: 11 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir hasta, mucize bekliyor. Umut vermeli misin?", options: [{ text: "Umut ver.", effect: { kingdom: 0, mercy: 1, next: 12 } }, { text: "Gerçeği söyle.", effect: { kingdom: 1, mercy: 0, next: 12 } }] }, { scene: "Grove Ormanı", dilemma: "Bir rahip, inancını sorguluyor. Destek olmalı mısın?", options: [{ text: "Destek ol.", effect: { kingdom: 0, mercy: 1, next: 13 } }, { text: "Yalnız bırak.", effect: { kingdom: 1, mercy: -1, next: 13 } }] }, { scene: "Ay Meclisi", dilemma: "Bir hasta, mucizevi bir iyileşme yaşadı. Bunu halka duyurmalı mısın?", options: [{ text: "Duyur.", effect: { kingdom: 1, mercy: 0, next: 14 } }, { text: "Gizle.", effect: { kingdom: 0, mercy: 1, next: 14 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Bir rahibe, manastırdan ayrılmak istiyor. İzin vermeli misin?", options: [{ text: "İzin ver.", effect: { kingdom: 0, mercy: 1, next: null } }, { text: "Vermemelisin.", effect: { kingdom: 1, mercy: -1, next: null } }] }], // 3. Rowan Greaves, the Rat Prince [{ scene: "Kiralık Hançerler Loncası", dilemma: "Bir lonca üyesi, başka bir üyeyi ihbar etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 1 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "Kale Avlusu", dilemma: "Bir hırsız, loncadan çaldı. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 2 } }, { text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 2 } }] }, { scene: "Kasaba Meydanı", dilemma: "Bir lonca üyesi, başka bir loncaya bilgi sızdırdı. Ne yapmalısın?", options: [{ text: "Sürgün et.", effect: { kingdom: 1, mercy: -1, next: 3 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "Gizli Kütüphane", dilemma: "Bir lonca üyesi, ailesini korumak için yalan söyledi. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 4 } }, { text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 4 } }] }, { scene: "Tapınak", dilemma: "Bir lonca üyesi, başka bir üyeyi haksız yere suçladı. Ne yapmalısın?", options: [{ text: "Araştır.", effect: { kingdom: 0, mercy: 1, next: 5 } }, { text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 5 } }] }, { scene: "Atölye", dilemma: "Bir lonca üyesi, loncadan ayrılmak istiyor. İzin vermeli misin?", options: [{ text: "İzin ver.", effect: { kingdom: 0, mercy: 1, next: 6 } }, { text: "Vermemelisin.", effect: { kingdom: 1, mercy: -1, next: 6 } }] }, { scene: "Orman Kenarı", dilemma: "Bir lonca üyesi, başka bir üyeyi kurtardı. Ödüllendirmeli misin?", options: [{ text: "Ödüllendir.", effect: { kingdom: 0, mercy: 1, next: 7 } }, { text: "Görmezden gel.", effect: { kingdom: 1, mercy: 0, next: 7 } }] }, { scene: "Pazar Yeri", dilemma: "Bir lonca üyesi, loncaya ihanet etti. Ne yapmalısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 8 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 8 } }] }, { scene: "Kale Suru", dilemma: "Bir lonca üyesi, loncadan çaldı. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 9 } }, { text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 9 } }] }, { scene: "Dalgakıran Kıyısı", dilemma: "Bir lonca üyesi, başka bir loncaya bilgi sızdırdı. Ne yapmalısın?", options: [{ text: "Sürgün et.", effect: { kingdom: 1, mercy: -1, next: 10 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir lonca üyesi, ailesini korumak için yalan söyledi. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 11 } }, { text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 11 } }] }, { scene: "Grove Ormanı", dilemma: "Bir lonca üyesi, başka bir üyeyi haksız yere suçladı. Ne yapmalısın?", options: [{ text: "Araştır.", effect: { kingdom: 0, mercy: 1, next: 12 } }, { text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 12 } }] }, { scene: "Ay Meclisi", dilemma: "Bir lonca üyesi, loncadan ayrılmak istiyor. İzin vermeli misin?", options: [{ text: "İzin ver.", effect: { kingdom: 0, mercy: 1, next: 13 } }, { text: "Vermemelisin.", effect: { kingdom: 1, mercy: -1, next: 13 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Bir lonca üyesi, başka bir üyeyi kurtardı. Ödüllendirmeli misin?", options: [{ text: "Ödüllendir.", effect: { kingdom: 0, mercy: 1, next: 14 } }, { text: "Görmezden gel.", effect: { kingdom: 1, mercy: 0, next: 14 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir lonca üyesi, loncaya ihanet etti. Ne yapmalısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: null } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 4. Thalindra, Witch of Mirefen [{ scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir nesne buldu. Onu yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: 1 } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir büyüye yakalandı. Tedavi etmeli misin?", options: [{ text: "Tedavi et.", effect: { kingdom: 0, mercy: 1, next: 2 } }, { text: "Bırak.", effect: { kingdom: 1, mercy: -1, next: 2 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir nesne buldu. Onu yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: 3 } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir büyüye yakalandı. Tedavi etmeli misin?", options: [{ text: "Tedavi et.", effect: { kingdom: 0, mercy: 1, next: 4 } }, { text: "Bırak.", effect: { kingdom: 1, mercy: -1, next: 4 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir nesne buldu. Onu yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: 5 } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: 5 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir büyüye yakalandı. Tedavi etmeli misin?", options: [{ text: "Tedavi et.", effect: { kingdom: 0, mercy: 1, next: 6 } }, { text: "Bırak.", effect: { kingdom: 1, mercy: -1, next: 6 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir nesne buldu. Onu yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: 7 } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: 7 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir büyüye yakalandı. Tedavi etmeli misin?", options: [{ text: "Tedavi et.", effect: { kingdom: 0, mercy: 1, next: 8 } }, { text: "Bırak.", effect: { kingdom: 1, mercy: -1, next: 8 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir nesne buldu. Onu yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: 9 } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: 9 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir büyüye yakalandı. Tedavi etmeli misin?", options: [{ text: "Tedavi et.", effect: { kingdom: 0, mercy: 1, next: 10 } }, { text: "Bırak.", effect: { kingdom: 1, mercy: -1, next: 10 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir nesne buldu. Onu yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: 11 } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: 11 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir büyüye yakalandı. Tedavi etmeli misin?", options: [{ text: "Tedavi et.", effect: { kingdom: 0, mercy: 1, next: 12 } }, { text: "Bırak.", effect: { kingdom: 1, mercy: -1, next: 12 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir nesne buldu. Onu yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: 13 } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: 13 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bir köylü, lanetli bir büyüye yakalandı. Tedavi etmeli misin?", options: [{ text: "Tedavi et.", effect: { kingdom: 0, mercy: 1, next: 14 } }, { text: "Bırak.", effect: { kingdom: 1, mercy: -1, next: 14 } }] }, { scene: "Mirefen Bataklığı", dilemma: "Bataklıkta büyük bir lanet kaynağı buldun. Yok etmeli misin?", options: [{ text: "Yok et.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "İncele.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 5. Ealdwine, the Exiled Heir [{ scene: "Unutulmuş Saray", dilemma: "Sürgünde bir grup isyancı ile karşılaştın. Onlara katılmalı mısın?", options: [{ text: "Katıl.", effect: { kingdom: -1, mercy: 1, next: 1 } }, { text: "Katılma.", effect: { kingdom: 1, mercy: 0, next: 1 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, krala ihanet etmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 2 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 2 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, affedilmek istiyor. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 3 } }, { text: "Affetme.", effect: { kingdom: 1, mercy: -1, next: 3 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, krala ihanet etmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 4 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 4 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, affedilmek istiyor. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 5 } }, { text: "Affetme.", effect: { kingdom: 1, mercy: -1, next: 5 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, krala ihanet etmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 6 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 6 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, affedilmek istiyor. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 7 } }, { text: "Affetme.", effect: { kingdom: 1, mercy: -1, next: 7 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, krala ihanet etmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 8 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 8 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, affedilmek istiyor. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 9 } }, { text: "Affetme.", effect: { kingdom: 1, mercy: -1, next: 9 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, krala ihanet etmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 10 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 10 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, affedilmek istiyor. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 11 } }, { text: "Affetme.", effect: { kingdom: 1, mercy: -1, next: 11 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, krala ihanet etmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 12 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 12 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, affedilmek istiyor. Affetmeli misin?", options: [{ text: "Affet.", effect: { kingdom: 0, mercy: 1, next: 13 } }, { text: "Affetme.", effect: { kingdom: 1, mercy: -1, next: 13 } }] }, { scene: "Unutulmuş Saray", dilemma: "Bir isyancı, krala ihanet etmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 14 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 14 } }] }, { scene: "Unutulmuş Saray", dilemma: "Sürgün sona erdi. Krallığa dönmeli misin?", options: [{ text: "Dön.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Dönme.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 6. Maeryn of the Grove [{ scene: "Grove Ormanı", dilemma: "Bir hasta, mucize bekliyor. Şifa vermeli misin?", options: [{ text: "Şifa ver.", effect: { kingdom: 0, mercy: 1, next: 1 } }, { text: "Vermemelisin.", effect: { kingdom: 1, mercy: -1, next: 1 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 2 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 2 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 3 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 3 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 4 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 4 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 5 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 5 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 6 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 6 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 7 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 7 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 8 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 8 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 9 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 9 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 10 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 10 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 11 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 11 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 12 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 12 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 13 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 13 } }] }, { scene: "Grove Ormanı", dilemma: "Bir köylü, ormanda kayboldu. Yardım etmeli misin?", options: [{ text: "Yardım et.", effect: { kingdom: 0, mercy: 1, next: 14 } }, { text: "Etme.", effect: { kingdom: 1, mercy: -1, next: 14 } }] }, { scene: "Grove Ormanı", dilemma: "Ormanda büyük bir şifa kaynağı buldun. Kullanmalı mısın?", options: [{ text: "Kullan.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Kullanma.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 7. Borin, the Iron Fist [{ scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 1 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 1 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 2 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 2 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 3 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 3 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 4 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 4 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 5 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 5 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 6 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 6 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 7 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 7 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 8 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 8 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 9 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 9 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 10 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 10 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 11 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 11 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 12 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 12 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 13 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 13 } }] }, { scene: "Demirderin Madenleri", dilemma: "Bir işçi, greve gitmek istiyor. Desteklemeli misin?", options: [{ text: "Destekle.", effect: { kingdom: -1, mercy: 1, next: 14 } }, { text: "Destekleme.", effect: { kingdom: 1, mercy: 0, next: 14 } }] }, { scene: "Demirderin Madenleri", dilemma: "Madenlerde büyük bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: null } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 8. Nalia Blackthorn [{ scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 1 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 2 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 2 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 3 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 4 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 4 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 5 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 5 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 6 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 6 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 7 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 7 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 8 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 8 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 9 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 9 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 10 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 11 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 11 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 12 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 12 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 13 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 13 } }] }, { scene: "Gölge Tapınağı", dilemma: "Bir casus, bilgi sızdırdı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 14 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 14 } }] }, { scene: "Gölge Tapınağı", dilemma: "Tapınakta büyük bir sır açığa çıktı. Açıklamalı mısın?", options: [{ text: "Açıkla.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Gizle.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 9. Gareth Hollowbrand [{ scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 1 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 2 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 2 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 3 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 4 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 4 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 5 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 5 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 6 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 6 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 7 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 7 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 8 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 8 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 9 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 9 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 10 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 11 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 11 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 12 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 12 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 13 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 13 } }] }, { scene: "İç Savaş Alanı", dilemma: "Bir asker, emirleri sorguluyor. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 14 } }, { text: "Uyar.", effect: { kingdom: 0, mercy: 1, next: 14 } }] }, { scene: "İç Savaş Alanı", dilemma: "Savaş sona erdi. Zaferi kutlamalı mısın?", options: [{ text: "Kutla.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Kutlama.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 10. Sylvea of Lathryn [{ scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 1 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 2 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 2 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 3 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 4 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 4 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 5 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 5 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 6 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 6 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 7 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 7 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 8 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 8 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 9 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 9 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 10 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 11 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 11 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 12 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 12 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 13 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 13 } }] }, { scene: "Ay Meclisi", dilemma: "Bir büyücü, yasak büyü yaptı. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 14 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 14 } }] }, { scene: "Ay Meclisi", dilemma: "Mecliste büyük bir sır açığa çıktı. Açıklamalı mısın?", options: [{ text: "Açıkla.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Gizle.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 11. Fenric Redhand [{ scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 1 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 2 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 2 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 3 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 4 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 4 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 5 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 5 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 6 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 6 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 7 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 7 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 8 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 8 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 9 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 9 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 10 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 11 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 11 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 12 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 12 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 13 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 13 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Bir kaçakçı, ihanet etti. Cezalandırmalı mısın?", options: [{ text: "Cezalandır.", effect: { kingdom: 1, mercy: -1, next: 14 } }, { text: "Bağışla.", effect: { kingdom: 0, mercy: 1, next: 14 } }] }, { scene: "Kaçakçılar Mağarası", dilemma: "Mağarada büyük bir sır açığa çıktı. Açıklamalı mısın?", options: [{ text: "Açıkla.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Gizle.", effect: { kingdom: 0, mercy: 1, next: null } }] }], // 12. Queen Elira, the Masked One [{ scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 1 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 1 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 2 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 2 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 3 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 3 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 4 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 4 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 5 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 5 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 6 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 6 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 7 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 7 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 8 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 8 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 9 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 9 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 10 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 10 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 11 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 11 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 12 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 12 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 13 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 13 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta bir isyan çıktı. Bastırmalı mısın?", options: [{ text: "Bastır.", effect: { kingdom: 1, mercy: -1, next: 14 } }, { text: "Barışçıl çözüm ara.", effect: { kingdom: 0, mercy: 1, next: 14 } }] }, { scene: "Büyük Taht Salonu", dilemma: "Krallıkta büyük bir sır açığa çıktı. Açıklamalı mısın?", options: [{ text: "Açıkla.", effect: { kingdom: 1, mercy: 0, next: null } }, { text: "Gizle.", effect: { kingdom: 0, mercy: 1, next: null } }] }]]; // Oyun state değişkenleri // --- RANDOM QUEST ORDER STATE --- var allQuests = []; // {charIndex, questIndex} var currentQuestPointer = 0; // index in allQuests var kingdomScore = 0; var mercyScore = 0; var history = []; // {charIndex, questIndex, option, jokerUsed} // Helper: shuffle array in-place (Fisher-Yates) function shuffleArray(arr) { for (var i = arr.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } // Build allQuests as a flat array of {charIndex, questIndex} function buildAllQuests() { allQuests = []; for (var c = 0; c < characterQuestlines.length; c++) { for (var q = 0; q < characterQuestlines[c].length; q++) { allQuests.push({ charIndex: c, questIndex: q }); } } shuffleArray(allQuests); currentQuestPointer = 0; } // UI elements // sceneBG will be created dynamically in updateUI based on quest scene var sceneBG = null; var charToken = new CharacterToken(); charToken.x = 2048 / 2; charToken.y = 600; game.addChild(charToken); var dilemmaText = new Text2('', { size: 72, fill: '#fff', align: 'center', wordWrap: true, wordWrapWidth: 1600 }); dilemmaText.anchor.set(0.5, 0); dilemmaText.x = 2048 / 2; dilemmaText.y = 850; game.addChild(dilemmaText); var optionA = new OptionButton(); optionA.x = 2048 / 2; optionA.y = 1700; optionA.setType('optionA'); game.addChild(optionA); var optionB = new OptionButton(); optionB.x = 2048 / 2; optionB.y = 1950; optionB.setType('optionB'); game.addChild(optionB); var sceneTitle = new Text2('', { size: 54, fill: '#8ecae6' }); sceneTitle.anchor.set(0.5, 0.5); sceneTitle.x = 2048 / 2; sceneTitle.y = 250; game.addChild(sceneTitle); var charName = new Text2('', { size: 54, fill: '#f9c74f' }); charName.anchor.set(0.5, 0.5); charName.x = 2048 / 2; charName.y = 320; game.addChild(charName); var scoreTxt = new Text2('', { size: 48, fill: '#fff' }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Oyuncu ana karakter olarak tanımlanır var user = { id: 'user', name: 'Kael Lightbringer', desc: 'Efsanelere konu olmuş, Morwyn Krallığı\'nın kaderini değiştirecek kudrette bir yolcu' }; // Karakter meta verisi: 12 karakterin her biriyle karşılaşma için var characters = [{ id: 'char1', name: 'Ser Aedric of Thornhall', scene: 'Thornhall Kalesi', type: 'İyi', feature: 'Onurlu ama yıpranmış bir şövalye; adalet için savaşırken sadakatini asla yitirmemiştir.' }, { id: 'char2', name: 'Sister Caelia of the Ash Order', scene: 'Küller Manastırı', type: 'İyi', feature: 'İnancın küllerinden doğmuş, merhameti acıyla bilenmiş bir keşiştir.' }, { id: 'char3', name: 'Rowan Greaves, the Rat Prince', scene: 'Kiralık Hançerler Loncası', type: 'Kötü', feature: 'Kaosu fırsata çeviren, sokakların sinsiliğinde büyümüş kurnaz bir suç prensidir.' }, { id: 'char4', name: 'Thalindra, Witch of Mirefen', scene: 'Mirefen Bataklığı', type: 'Kötü', feature: 'Kadim lanetleri ve bataklık sihrini çıkarı için kullanan, büyüye saplanmış bir cadıdır.' }, { id: 'char5', name: 'Ealdwine, the Exiled Heir', scene: 'Unutulmuş Saray', type: 'Krallık Muhbiri', feature: 'Tahttan sürülmüş olmasına rağmen gizlice krallığa hizmet eden, çift taraflı oynayan bir mirasçıdır.' }, { id: 'char6', name: 'Maeryn of the Grove', scene: 'Grove Ormanı', type: 'İyi', feature: 'Doğanın dengesini korumaya yeminli, empatik ve kararlı bir orman druididir.' }, { id: 'char7', name: 'Borin, the Iron Fist', scene: 'Demirderin Madenleri', type: 'Vigilante', feature: 'Demirle eğiten, döven ve koruyan; halkın sesi ama krallığın yasasının dışında kalan bir dövüşçüdür.' }, { id: 'char8', name: 'Nalia Blackthorn', scene: 'Gölge Tapınağı', type: 'Kötü', feature: 'Sadakatten yoksun, karanlık suikastlar ve ihanetlerle hükmeden ölümcül bir suikastçıdır.' }, { id: 'char9', name: 'Gareth Hollowbrand', scene: 'İç Savaş Alanı', type: 'Kötü', feature: 'Yasak güçlerle oynayan ve ruhunu karanlığa teslim etmiş eski bir akademisyendir.' }, { id: 'char10', name: 'Sylvea of Lathryn', scene: 'Ay Meclisi', type: 'İyi', feature: 'Soylu kökenine rağmen halkına hizmet etmeyi seçmiş, zarif ve dürüst bir savaşçıdır.' }, { id: 'char11', name: 'Fenric Redhand', scene: 'Kaçakçılar Mağarası', type: 'Vigilante', feature: 'Adaleti baltayla getiren, zalimlere kendi yöntemleriyle karşı koyan bir savaşçıdır.' }, { id: 'char12', name: 'Queen Elira, the Masked One', scene: 'Büyük Taht Salonu', type: 'Krallık Muhbiri', feature: 'Görünmeyenin hâkimi; maskesinin ardında sadakat mi, ihanet mi var bilinmez.' }]; // Helper: update all UI for current character function updateUI() { // Get current quest data for the current quest in allQuests var questRef = allQuests[currentQuestPointer]; var charMeta = characters[questRef.charIndex]; var questline = characterQuestlines[questRef.charIndex]; var questData = questline[questRef.questIndex]; // --- Background asset switching logic --- // Map scene names to their background asset IDs var sceneToAsset = { "Kale Avlusu": "bg_kale_avlusu", "Kraliyet Bahçesi": "bg_kraliyet_bahcesi", "Gizli Kütüphane": "bg_gizli_kutuphane", "Kasaba Meydanı": "bg_kasaba_meydani", "Şehir Kapısı": "bg_sehir_kapisi", "Tapınak": "bg_tapinak", "Atölye": "bg_atolye", "Taht Odası": "bg_taht_odasi", "Orman Kenarı": "bg_orman_kenari", "Pazar Yeri": "bg_pazar_yeri", "Kale Suru": "bg_kale_suru", "Dalgakıran Kıyısı": "bg_dalgakiran_kiyisi", "Demirderin Madenleri": "bg_demirderin_madenleri", "Grove Ormanı": "bg_grove_ormani", "Ay Meclisi": "bg_ay_meclisi", "Kraliyet Meclisi Odası": "bg_kraliyet_meclisi", "Öksüzler Hanı": "bg_oksuzler_hani", "Lanetli Kitaplık": "bg_lanetli_kitaplik", "Unutulmuş Saray": "bg_unutulmus_saray", "Kaçakçılar Mağarası": "bg_kacakcilar_magarasi", "Büyük Taht Salonu": "bg_buyuk_taht_salonu", "Gölge Tapınağı": "bg_golge_tapinagi", "Lanet Taşı": "bg_lanet_tasi", "Kraliçenin Sığınağı": "bg_kralicenin_siginagi", "İç Savaş Alanı": "bg_ic_savas_alani", "Kraliyet Mezarlığı": "bg_kraliyet_mezarligi", "Küller Manastırı": "bg_lanetli_kitaplik", // fallback for scenes without a custom bg "Kiralık Hançerler Loncası": "bg_kale_avlusu" // fallback for scenes without a custom bg }; // Track last background per character to avoid consecutive repeats if (!updateUI.lastBGs) updateUI.lastBGs = {}; var charKey = "char" + questRef.charIndex; if (!updateUI.lastBGs[charKey]) updateUI.lastBGs[charKey] = null; var newBGId = sceneToAsset[questData.scene] || "bg_kale_avlusu"; // If the new background is the same as the last for this character, pick a fallback (never consecutive) if (updateUI.lastBGs[charKey] === newBGId) { // Try to pick a different background from the available ones (but not the last one) var allBGs = ["bg_kale_avlusu", "bg_kraliyet_bahcesi", "bg_gizli_kutuphane", "bg_kasaba_meydani", "bg_sehir_kapisi", "bg_tapinak", "bg_atolye", "bg_taht_odasi", "bg_orman_kenari", "bg_pazar_yeri", "bg_kale_suru", "bg_dalgakiran_kiyisi", "bg_demirderin_madenleri", "bg_grove_ormani", "bg_ay_meclisi", "bg_kraliyet_meclisi", "bg_oksuzler_hani", "bg_lanetli_kitaplik", "bg_unutulmus_saray", "bg_kacakcilar_magarasi", "bg_buyuk_taht_salonu", "bg_golge_tapinagi", "bg_lanet_tasi", "bg_kralicenin_siginagi", "bg_ic_savas_alani", "bg_kraliyet_mezarligi"]; // Remove the last used background var fallbackBGs = []; for (var i = 0; i < allBGs.length; i++) { if (allBGs[i] !== updateUI.lastBGs[charKey]) fallbackBGs.push(allBGs[i]); } // Pick a fallback that is not the same as the last if (fallbackBGs.length > 0) { // Use questRef.questIndex and questRef.charIndex for fallback index newBGId = fallbackBGs[(questRef.questIndex + questRef.charIndex) % fallbackBGs.length]; } } // Remove old background if not already correct if (!sceneBG || sceneBG.assetId !== newBGId) { if (sceneBG && sceneBG.parent) { sceneBG.parent.removeChild(sceneBG); } sceneBG = LK.getAsset(newBGId, { anchorX: 0, anchorY: 0, x: 0, y: 0 }); sceneBG.assetId = newBGId; game.addChildAt(sceneBG, 0); } // Track last background for this character updateUI.lastBGs[charKey] = newBGId; charToken.setCharacter(charMeta.id); sceneTitle.setText(questData.scene); charName.setText(charMeta.name); // Karakter özelliği ve tipi için ek bir metin kutusu göster if (!updateUI.charFeatureTxt) { updateUI.charFeatureTxt = new Text2('', { size: 38, fill: '#f7b267', align: 'center', wordWrap: true, wordWrapWidth: 1200 }); updateUI.charFeatureTxt.anchor.set(0.5, 0.5); updateUI.charFeatureTxt.x = 2048 / 2; updateUI.charFeatureTxt.y = 370; game.addChild(updateUI.charFeatureTxt); } updateUI.charFeatureTxt.setText((charMeta.type ? '[' + charMeta.type + '] ' : '') + (charMeta.feature ? charMeta.feature : '')); // Soruya Kael Lightbringer ile karakterin karşılaşmasını ve mekan bağlamını, masalsı ve epik bir hikaye örgüsüyle ekle var dilemmaContext = ""; if (questData.scene && charMeta && charMeta.name) { // Masalsı anlatım: Kael Lightbringer'ın karakterle karşılaşması ve olayın büyülü bir sebebe bağlanması if (charMeta.scene === questData.scene) { dilemmaContext = "Güçlü ve efsanevi Kael Lightbringer, " + charMeta.name + " ile " + questData.scene + " diyarında yolları kesişir. Kaderin ağlarını ördüğü bu anda, " + charMeta.name + " ile birlikte bir olayın tam ortasında bulursun kendini: " + questData.dilemma; } else { dilemmaContext = "Kael Lightbringer, yolu " + questData.scene + " diyarına düştüğünde, karşısında " + charMeta.name + " bulur. Geçmişin gölgeleri ve geleceğin umutları arasında, birlikte yaşadığınız bu olayda, " + charMeta.name + " kendi deneyimlerinden güç alırken, Kael de kalbinin sesini dinlemek zorunda kalır: " + questData.dilemma; } } else { dilemmaContext = questData.dilemma; } dilemmaText.setText(dilemmaContext); optionA.setText('A) ' + questData.options[0].text); optionB.setText('B) ' + questData.options[1].text); optionA.highlight(false); optionB.highlight(false); scoreTxt.setText('Krallık: ' + kingdomScore + ' Merhamet: ' + mercyScore); } // Helper: transition to next character function nextCharacter(selectedOption, usedJoker) { var questRef = allQuests[currentQuestPointer]; var charData = characterQuestlines[questRef.charIndex][questRef.questIndex]; var effect = charData.options[selectedOption].effect; kingdomScore += effect.kingdom; mercyScore += effect.mercy; history.push({ charIndex: questRef.charIndex, questIndex: questRef.questIndex, option: selectedOption, jokerUsed: usedJoker }); // Progress to next quest in random order currentQuestPointer++; if (currentQuestPointer < allQuests.length) { updateUI(); } else { // Game end after all quests showEnding(); } } // Helper: show ending function showEnding() { // Simple ending logic: if kingdomScore > mercyScore, kingdom is strong but cold; else, merciful but weak var ending = ''; if (kingdomScore > mercyScore) { ending = 'Krallık güçlü ama halk mutsuz. Morwyn Krallığı\'nın kaderi sert oldu.'; } else if (mercyScore > kingdomScore) { ending = 'Krallık zayıf ama halk mutlu. Morwyn Krallığı\'nda umut var.'; } else { ending = 'Krallık dengede. Ne tam adil, ne tam zalim. Gelecek belirsiz.'; } LK.effects.flashScreen(0x8ecae6, 1200); LK.setTimeout(function () { LK.showYouWin(ending); }, 1200); } // Option selection logic var optionDown = null; // 0 or 1 if pressed function handleOptionDown(x, y, obj) { // Only allow if not already pressed if (optionDown !== null) return; if (optionA.containsPoint(x, y)) { optionA.highlight(true); optionDown = 0; } else if (optionB.containsPoint(x, y)) { optionB.highlight(true); optionDown = 1; } } function handleOptionUp(x, y, obj) { if (optionDown === null) return; var selected = null; if (optionDown === 0 && optionA.containsPoint(x, y)) selected = 0; if (optionDown === 1 && optionB.containsPoint(x, y)) selected = 1; optionA.highlight(false); optionB.highlight(false); optionDown = null; if (selected !== null) { // Sonuç etkisini daha doğal bir cümleye dönüştür var etkileriCumle = function etkileriCumle(effect) { var cumle = ""; if (effect.kingdom > 0 && effect.mercy > 0) { cumle = "Bu kararınla hem krallığın düzenini hem de merhameti güçlendirdin."; } else if (effect.kingdom > 0 && effect.mercy < 0) { cumle = "Krallığın otoritesi artsa da, halkın gözünde biraz daha sert biri oldun."; } else if (effect.kingdom < 0 && effect.mercy > 0) { cumle = "Merhametinle gönülleri kazandın, fakat krallığın otoritesi zayıfladı."; } else if (effect.kingdom < 0 && effect.mercy < 0) { cumle = "Ne krallık ne de halk bu karardan memnun kaldı."; } else if (effect.kingdom > 0) { cumle = "Krallığın gücünü artırdın."; } else if (effect.kingdom < 0) { cumle = "Krallığın gücünü zayıflattın."; } else if (effect.mercy > 0) { cumle = "Merhametinle halkın sevgisini kazandın."; } else if (effect.mercy < 0) { cumle = "Halkın gözünde biraz daha acımasız oldun."; } else { cumle = "Bu kararın büyük bir değişiklik yaratmadı."; } return cumle; }; // Show result of the selected option before progressing var questRef = allQuests[currentQuestPointer]; var questline = characterQuestlines[questRef.charIndex]; var questData = questline[questRef.questIndex]; var selectedOpt = questData.options[selected]; // Tek paragraflık, giriş-gelişme-sonuç hikaye metni oluştur var charMeta = characters[questRef.charIndex]; var scene = questData.scene; var dilemma = questData.dilemma; var secim = selectedOpt.text; var sonucCumle = etkileriCumle(selectedOpt.effect); // Hikaye: Kael Lightbringer ve karakterin karşılaşması, mekan, olay, seçim ve sonuç masalsı bir anlatımla tek paragrafa dökülür var storyText = "Efsanevi Kael Lightbringer, " + charMeta.name + " ile " + scene + " diyarında karşılaştı. Kaderin cilvesiyle '" + dilemma.replace(/\s+$/, '') + "' olayının ortasında buldular kendilerini. Kael, '" + secim + "' yolunu seçti. " + sonucCumle; // Popup var resultPopup = new Container(); // Only text, no asset background var txt = new Text2(storyText, { size: 64, fill: '#fff', fontWeight: 'bold', align: 'center', wordWrap: true, wordWrapWidth: 1200 }); txt.anchor.set(0.5, 0.5); txt.x = 2048 / 2; txt.y = 2350; resultPopup.addChild(txt); game.addChild(resultPopup); // Kullanıcı ekrana tıklayana kadar popup kalsın var resultPopupHandler = function resultPopupHandler(x, y, obj) { if (resultPopup && resultPopup.parent) { resultPopup.parent.removeChild(resultPopup); game.down = oldGameDown; game.up = oldGameUp; nextCharacter(selected, false); } }; var oldGameDown = game.down; var oldGameUp = game.up; game.down = resultPopupHandler; game.up = resultPopupHandler; } } // Option button interaction optionA.down = function (x, y, obj) { handleOptionDown(x, y, obj); }; optionB.down = function (x, y, obj) { handleOptionDown(x, y, obj); }; optionA.up = function (x, y, obj) { handleOptionUp(x, y, obj); }; optionB.up = function (x, y, obj) { handleOptionUp(x, y, obj); }; // Touch anywhere on options game.down = function (x, y, obj) { handleOptionDown(x, y, obj); }; game.up = function (x, y, obj) { handleOptionUp(x, y, obj); }; // Utility: check if point is inside option OptionButton.prototype.containsPoint = function (x, y) { var bx = this.x, by = this.y; var w = this.bg.width, h = this.bg.height; return x >= bx - w / 2 && x <= bx + w / 2 && y >= by - h / 2 && y <= by + h / 2; }; // Start game function startGame() { buildAllQuests(); kingdomScore = 0; mercyScore = 0; history = []; updateUI(); } startGame(); // No update loop needed for this game (all is event driven) game.update = function () { // Could animate transitions here if desired };
===================================================================
--- original.js
+++ change.js
@@ -74,40 +74,40 @@
/****
* Game Code
****/
-// Removed sceneBG asset, backgrounds are now per-scene
-// Her karakterin questleri bir dizi olarak tanımlanır
-// 12 karakterin her biri için 15'er bağlantılı quest (her biri: sahne, soru, 2 seçenek, etkiler, bir sonraki quest)
-// Thornhall Kalesi
-// Kraliyet Bahçesi
-// Gizli Kütüphane
-// Kasaba Meydanı
-// Şehir Kapısı
-// Tapınak
-// Atölye
-// Taht Odası
-// Orman Kenarı
-// Pazar Yeri
-// Kale Suru
-// Ekstra sahneler için örnekler:
-// Mirefen Bataklığı
-// Unutulmuş Saray
-// Halk Pazarı
-// Lanetli Kitaplık
-// Dalgakıran Kıyısı
-// Gölge Tapınağı
-// Demirderin Madenleri
-// Grove Ormanı
-// Ay Meclisi
-// Öksüzler Hanı
-// Kraliyet Meclisi Odası
-// Eski Kraliyet Mezarlığı
-// Kaçakçılar Mağarası
-// Lanet Taşı
-// İç Savaş Alanı
-// Kraliçenin Sığınağı
// Büyük Taht Salonu
+// Kraliçenin Sığınağı
+// İç Savaş Alanı
+// Lanet Taşı
+// Kaçakçılar Mağarası
+// Eski Kraliyet Mezarlığı
+// Kraliyet Meclisi Odası
+// Öksüzler Hanı
+// Ay Meclisi
+// Grove Ormanı
+// Demirderin Madenleri
+// Gölge Tapınağı
+// Dalgakıran Kıyısı
+// Lanetli Kitaplık
+// Halk Pazarı
+// Unutulmuş Saray
+// Mirefen Bataklığı
+// Ekstra sahneler için örnekler:
+// Kale Suru
+// Pazar Yeri
+// Orman Kenarı
+// Taht Odası
+// Atölye
+// Tapınak
+// Şehir Kapısı
+// Kasaba Meydanı
+// Gizli Kütüphane
+// Kraliyet Bahçesi
+// Thornhall Kalesi
+// 12 karakterin her biri için 15'er bağlantılı quest (her biri: sahne, soru, 2 seçenek, etkiler, bir sonraki quest)
+// Her karakterin questleri bir dizi olarak tanımlanır
+// Removed sceneBG asset, backgrounds are now per-scene
var characterQuestlines = [
// 1. Ser Aedric of Thornhall
[{
scene: "Thornhall Kalesi",
@@ -3461,53 +3461,77 @@
// Karakter meta verisi: 12 karakterin her biriyle karşılaşma için
var characters = [{
id: 'char1',
name: 'Ser Aedric of Thornhall',
- scene: 'Thornhall Kalesi'
+ scene: 'Thornhall Kalesi',
+ type: 'İyi',
+ feature: 'Onurlu ama yıpranmış bir şövalye; adalet için savaşırken sadakatini asla yitirmemiştir.'
}, {
id: 'char2',
name: 'Sister Caelia of the Ash Order',
- scene: 'Küller Manastırı'
+ scene: 'Küller Manastırı',
+ type: 'İyi',
+ feature: 'İnancın küllerinden doğmuş, merhameti acıyla bilenmiş bir keşiştir.'
}, {
id: 'char3',
name: 'Rowan Greaves, the Rat Prince',
- scene: 'Kiralık Hançerler Loncası'
+ scene: 'Kiralık Hançerler Loncası',
+ type: 'Kötü',
+ feature: 'Kaosu fırsata çeviren, sokakların sinsiliğinde büyümüş kurnaz bir suç prensidir.'
}, {
id: 'char4',
name: 'Thalindra, Witch of Mirefen',
- scene: 'Mirefen Bataklığı'
+ scene: 'Mirefen Bataklığı',
+ type: 'Kötü',
+ feature: 'Kadim lanetleri ve bataklık sihrini çıkarı için kullanan, büyüye saplanmış bir cadıdır.'
}, {
id: 'char5',
name: 'Ealdwine, the Exiled Heir',
- scene: 'Unutulmuş Saray'
+ scene: 'Unutulmuş Saray',
+ type: 'Krallık Muhbiri',
+ feature: 'Tahttan sürülmüş olmasına rağmen gizlice krallığa hizmet eden, çift taraflı oynayan bir mirasçıdır.'
}, {
id: 'char6',
name: 'Maeryn of the Grove',
- scene: 'Grove Ormanı'
+ scene: 'Grove Ormanı',
+ type: 'İyi',
+ feature: 'Doğanın dengesini korumaya yeminli, empatik ve kararlı bir orman druididir.'
}, {
id: 'char7',
name: 'Borin, the Iron Fist',
- scene: 'Demirderin Madenleri'
+ scene: 'Demirderin Madenleri',
+ type: 'Vigilante',
+ feature: 'Demirle eğiten, döven ve koruyan; halkın sesi ama krallığın yasasının dışında kalan bir dövüşçüdür.'
}, {
id: 'char8',
name: 'Nalia Blackthorn',
- scene: 'Gölge Tapınağı'
+ scene: 'Gölge Tapınağı',
+ type: 'Kötü',
+ feature: 'Sadakatten yoksun, karanlık suikastlar ve ihanetlerle hükmeden ölümcül bir suikastçıdır.'
}, {
id: 'char9',
name: 'Gareth Hollowbrand',
- scene: 'İç Savaş Alanı'
+ scene: 'İç Savaş Alanı',
+ type: 'Kötü',
+ feature: 'Yasak güçlerle oynayan ve ruhunu karanlığa teslim etmiş eski bir akademisyendir.'
}, {
id: 'char10',
name: 'Sylvea of Lathryn',
- scene: 'Ay Meclisi'
+ scene: 'Ay Meclisi',
+ type: 'İyi',
+ feature: 'Soylu kökenine rağmen halkına hizmet etmeyi seçmiş, zarif ve dürüst bir savaşçıdır.'
}, {
id: 'char11',
name: 'Fenric Redhand',
- scene: 'Kaçakçılar Mağarası'
+ scene: 'Kaçakçılar Mağarası',
+ type: 'Vigilante',
+ feature: 'Adaleti baltayla getiren, zalimlere kendi yöntemleriyle karşı koyan bir savaşçıdır.'
}, {
id: 'char12',
name: 'Queen Elira, the Masked One',
- scene: 'Büyük Taht Salonu'
+ scene: 'Büyük Taht Salonu',
+ type: 'Krallık Muhbiri',
+ feature: 'Görünmeyenin hâkimi; maskesinin ardında sadakat mi, ihanet mi var bilinmez.'
}];
// Helper: update all UI for current character
function updateUI() {
// Get current quest data for the current quest in allQuests
@@ -3586,8 +3610,23 @@
updateUI.lastBGs[charKey] = newBGId;
charToken.setCharacter(charMeta.id);
sceneTitle.setText(questData.scene);
charName.setText(charMeta.name);
+ // Karakter özelliği ve tipi için ek bir metin kutusu göster
+ if (!updateUI.charFeatureTxt) {
+ updateUI.charFeatureTxt = new Text2('', {
+ size: 38,
+ fill: '#f7b267',
+ align: 'center',
+ wordWrap: true,
+ wordWrapWidth: 1200
+ });
+ updateUI.charFeatureTxt.anchor.set(0.5, 0.5);
+ updateUI.charFeatureTxt.x = 2048 / 2;
+ updateUI.charFeatureTxt.y = 370;
+ game.addChild(updateUI.charFeatureTxt);
+ }
+ updateUI.charFeatureTxt.setText((charMeta.type ? '[' + charMeta.type + '] ' : '') + (charMeta.feature ? charMeta.feature : ''));
// Soruya Kael Lightbringer ile karakterin karşılaşmasını ve mekan bağlamını, masalsı ve epik bir hikaye örgüsüyle ekle
var dilemmaContext = "";
if (questData.scene && charMeta && charMeta.name) {
// Masalsı anlatım: Kael Lightbringer'ın karakterle karşılaşması ve olayın büyülü bir sebebe bağlanması
A medieval craftsman's workshop, cluttered with wooden tools, candlelight flickering on iron anvils and scrolls, stone walls, dusty air, dark fantasy realism. In-Game asset. 2d. High contrast. No shadows
A dark sea cave used by smugglers, crates stacked on wet stone, rusty lanterns casting weak light, small boats tied to hidden docks. In-Game asset. 2d. High contrast. No shadows
A sacred royal crypt deep underground, stone tombs with carved family crests, faint blue glow from fungi, complete silence. In-Game asset. 2d. High contrast. No shadows
A rundown inn on the edge of a village, candlelight flickering through broken shutters, children peeking from dark corners, cold and lonely air. In-Game asset. 2d. High contrast. No shadows
A medieval castle courtyard at dusk, guards patrolling, torches lit, training dummies and old carts, surrounded by stone walls and towers. In-Game asset. 2d. High contrast. No shadows
A royal medieval garden with trimmed hedges, stone fountains, blooming flowers and marble statues, birds chirping under the morning sun. In-Game asset. 2d. High contrast. No shadows
An ancient hidden library with towering dusty shelves, glowing enchanted books, cobwebs, stone floor with arcane symbols, candlelit mystery. In-Game asset. 2d. High contrast. No shadows
A quaint medieval town square with cobbled streets, wooden signs, children playing, townsfolk chatting near a well, cheerful and warm vibe, realistic In-Game asset. 2d. High contrast. No shadows
Stormy medieval coastline with jagged rocks and crashing waves, an old broken pier, sea mist, overcast skies, crows circling, moody and realistic. In-Game asset. 2d. High contrast. No shadows
A massive medieval stone gate with iron portcullis, guards watching travelers, torches burning in brackets, heavy clouds above, realistic. In-Game asset. 2d. High contrast. No shadows
A golden medieval temple with wide columns, sun shining through stained glass, incense rising, pilgrims praying in silence. In-Game asset. 2d. High contrast. No shadows
An imposing medieval throne room draped in red velvet, dark stone pillars, torches casting shadows, the throne elevated above all. realistic In-Game asset. 2d. High contrast. No shadows
A mystical medieval forest glade with ancient trees, golden sunlight filtering through leaves, stone altar covered in moss, enchanted and sacred atmosphere, realistic. In-Game asset. 2d. High contrast. No shadows
The edge of a thick medieval forest, tangled roots and wild grass, birds flying above, a worn path leading into shadow, realistic. In-Game asset. 2d. High contrast. No shadows
A dusty medieval trade bazaar with exotic goods, traders shouting, spices in the air, colorful fabrics blowing in the wind, realistic. In-Game asset. 2d. High contrast. No shadows
A high medieval castle wall overlooking the land, stone parapets with archers, distant mountains in the fog, early dawn light, realistic. In-Game asset. 2d. High contrast. No shadows
A massive medieval throne hall with golden chandeliers, crimson carpets, high arched ceilings, stained-glass windows casting colored light, majestic and solemn, realistic. In-Game asset. 2d. High contrast. No shadows
A cursed medieval library with twisted bookshelves, dark green glow from cursed tomes, whispers echoing through shadowed halls, realistic. In-Game asset. 2d. High contrast. No shadows
An underground medieval mine with flickering torchlight, wooden supports, glowing ore veins, pickaxes leaning on rocks, deep shadows and echoing silence, realistic. In-Game asset. 2d. High contrast. No shadows
A mountaintop stone amphitheater under a glowing full moon, robed figures in a ritual circle, icy wind sweeping, high above the clouds, solemn medieval council scene, realistic. In-Game asset. 2d. High contrast. No shadows
A forgotten mountain temple shrouded in shadow, stone statues with cracks, cloaked worshippers performing a dark ritual, vines crawling over walls, realistic. In-Game asset. 2d. High contrast. No shadows
A gloomy medieval swamp with moss-draped trees, murky water reflecting a grey sky, eerie fog drifting over twisted roots, dark fantasy mood, realistic. In-Game asset. 2d. High contrast. No shadows
A hidden stone tower in a lush mountain pass, guarded by loyal knights, soft firelight glowing from narrow windows, peaceful and fortified, realistic. In-Game asset. 2d. High contrast. No shadows
A crumbling forgotten palace with fallen pillars, moss overtaking marble, broken thrones and moonlight through shattered roof, realistic. In-Game asset. 2d. High contrast. No shadows
A war-torn battlefield with broken swords and burning wagons, muddy bloodstained ground, corpses under grey skies, banners torn and forgotten, realistic. In-Game asset. 2d. High contrast. No shadows
A windswept plain with a cursed black stone monolith, glowing runes etched into it, bones scattered around, storm clouds looming, realistic. In-Game asset. 2d. High contrast. No shadows
A crowded medieval street market with colorful tents, villagers bargaining, hanging lanterns, dirt road and wooden stalls, lively and rustic, realistic. In-Game asset. 2d. High contrast. No shadows
A medieval council chamber with a round oak table, banners of noble houses, armored guards, high windows filtering in golden light, reailstic. In-Game asset. 2d. High contrast. No shadows
"A cunning rogue cloaked in patchwork leathers and city grime, perched on a broken statue. Male, 26 years old, wiry and agile, with messy black hair, sly green eyes, a scar over his nose, and olive-toned skin. A rat sits on his shoulder. Dual daggers at his side, a grin revealing a gold tooth. The background is a shadowy alley lit by torchlight. Realistic, highly detailed, dark urban medieval style. realistic. In-Game asset. 2d. High contrast. No shadows
A noblewoman-archer dressed in royal blue and silver, standing on a hilltop during dawn. Female, 30 years old, graceful but strong, with long platinum blonde hair in a braid, storm-grey eyes, and porcelain skin. She wears a sapphire-encrusted circlet and carries an ornate elven longbow. Her cloak flutters in the wind. Realistic, highly detailed, elegant fantasy tone. relistic. In-Game asset. 2d. High contrast. No shadows
A haunted warlock in ceremonial black and crimson robes embroidered with skull patterns. Male, 56 years old, gaunt and tall, with shoulder-length white hair, sunken dark eyes glowing faint green, and sickly pale skin. He holds a staff topped with a demonic skull. Floating behind him are spectral chains and ghostly runes. The background is a cursed crypt. Realistic, highly detailed, dark arcane ambiance. realistic. In-Game asset. 2d. High contrast. No shadows
A hauntingly beautiful swamp witch draped in moss-draped robes and raven feathers. Female, 44 years old, tall and willowy, long tangled silver-blonde hair, glowing violet eyes, pale greenish skin marked with old runes. Fingers elongated and tipped with claws. She stirs a cauldron in the middle of a foggy, glowing swamp surrounded by will-o'-wisps. Realistic, highly detailed, eerie mystical style. realistic. In-Game asset. 2d. High contrast. No shadows
A regal yet enigmatic queen in a black and silver gown, wearing a porcelain mask with only her golden eyes visible. Female, 36 years old, tall and poised, dark wavy hair pinned in a jeweled crown, pale flawless skin. Her gloved hands rest on an ornate scepter with a dragon motif. She stands in a candle-lit throne room surrounded by veiled courtiers. Realistic, highly detailed, gothic royal style. realistic. In-Game asset. 2d. High contrast. No shadows
A young prince in a tattered royal cloak, wearing armor half-covered in mud and blood. Male, 31 years old, tall and proud despite exile, with golden blond hair to his shoulders, piercing blue eyes, and fair skin hardened by years of hardship. A broken crown hangs from his belt. He stares out over a ruined battlefield with determination. Realistic, highly detailed, noble tragic style. realistic. In-Game asset. 2d. High contrast. No shadows
A towering warrior-blacksmith with soot-covered muscles and iron gauntlets, standing before a blazing forge. Male, 47 years old, bald with a thick black beard braided with iron rings, dark brown eyes, and deeply tanned, scarred skin. Wearing a leather apron and iron shoulder guards, wielding a massive smith-hammer. Sparks fly around him. Realistic, highly detailed, fiery forge setting. realistic. In-Game asset. 2d. High contrast. No shadows
A brutal mercenary captain in blood-stained chainmail, wielding twin axes. Male, 40 years old, muscular and wild, shoulder-length red hair, fiery amber eyes, freckled and scarred face. A severed banner tied to his belt, his hands wrapped in bloodied leather. He stands amidst fallen enemies in a smoky battlefield. Realistic, highly detailed, brutal war setting. realistic. In-Game asset. 2d. High contrast. No shadows
A forest druidess cloaked in green vines, leaves, and bark-woven garments, standing among ancient stone circles. Female, 28 years old, slender and fierce, auburn curly hair with forest flowers woven in, moss-green eyes, and freckled sun-kissed skin. A glowing staff carved from elderwood is in her hand, and glowing butterflies swirl around her. Realistic, highly detailed, enchanted forest atmosphere. realistic. In-Game asset. 2d. High contrast. No shadows
A weathered and noble medieval knight clad in dark iron armor engraved with thorns and lion insignias. Male, 52 years old, tall and broad-shouldered, with greying brown hair cut short, deep-set hazel eyes, and a strong jawline covered in stubble. A long, tattered crimson cape flows behind him. His armor is dented from countless battles. He stands in a ruined stone courtyard at dusk, gripping a massive longsword planted in the ground. Realistic, highly detailed, cinematic lighting. realistic. In-Game asset. 2d. High contrast. No shadows
A fierce assassin in obsidian armor and a hooded cloak, crouched on a rooftop under the moonlight. Female, 33 years old, lean and deadly, short jet-black hair, piercing ice-blue eyes, pale porcelain skin. Her armor is adorned with thorn motifs. A poisoned dagger in each hand. Background shows a quiet castle town below. Realistic, highly detailed, stealthy night-time mood. reaalistic. In-Game asset. 2d. High contrast. No shadows
A solemn female cleric in soot-gray robes adorned with ash motifs and sun-bleached fabric. 39 years old, with a thin, gaunt frame, shaved head except for a braided black topknot, pale skin, and glowing amber eyes. Ash marks are smeared across her face in ritual patterns. Holding a prayer staff made of burned oak and silver. She stands in a scorched temple, sunlight breaking through cracked stone. Realistic, highly detailed, sacred atmosphere. realistic. In-Game asset. 2d. High contrast. No shadows
heart. In-Game asset. 2d. High contrast. No shadows
A towering, hypermasculine medieval warrior standing heroically on a battlefield at dusk, clad in weathered steel armor with golden engravings, his broad chest exposed under a torn fur-lined cloak, muscles defined and glistening with sweat and blood. Long, slightly wavy dark brown hair flows in the wind, a rugged chiseled jawline with a trimmed beard, piercing ice-blue eyes filled with intensity. Scars on his shoulder and a massive greatsword resting on his back. Background features a stormy sky and burning ruins, a dramatic lighting highlighting the power in his posture. Cinematic, realistic, highly detailed, epic composition, moody atmosphere --realistic style, medieval fantasy, 4K, ultra-detailed, volumetric lighting. realistic. In-Game asset. 2d. High contrast. No shadows
thin and long papyrus paper. Horizontally long