User prompt
Gün puntosu bold olsun ve 3 punto büyüt
User prompt
Pause ettiğimde oyuna yeniden başlamak için bi menü oluştur. Bu menüden ses de kapatılabilsin
User prompt
Gün ve nüfusun yerini değiştir
User prompt
Giriş notundaki fontu biraz küçült. Karar verirken sağa veya sola swipe yapman gerektiğini belirten bir dizayn ile güncelle
User prompt
Stat barı düzelt halen çok kötü görünüyor
User prompt
Oyuna slow post apokaliftik ruhu yansıtan loopta dönen bir müzik ekle
User prompt
Stat barlarını metnini ve puanlarını baştan dizayn et
User prompt
Senaryo fontunu 3 artır
User prompt
Senaryoların fontunu da 3 punto artır
User prompt
Ortadaki karar fontlarını 3 punto büyüt.
User prompt
Stat barının sayıları siyah olsun. Ve biraz sağa doğru çek şuanda yazılar ve sayılar iç içe
User prompt
Giriş metninin arkasına da seçenekleri olduğu gibi bir background ekle
User prompt
Statların arkasına da karar metinlerin olduğu gibi bir dizayn ekle. Şuan her yer güzel statlar hariç. Statlar ekranın kalan düzenine uysun
User prompt
İkonları kaldır. Karar dizaynı ile stat dizaynını matchle
User prompt
Her senaryoya senaroyu anlatan bir ikon ekle
User prompt
Her karara ilgili kararı anımsatan görsel ikonlar ekle
User prompt
Kaydırırkenki son eklediğin efekti iptal et. Nifus ve gün yazıları siyah ve kalın olsun.
User prompt
Kararları sağa sola kaydırırken efekt ekle arkadan hafif bi gölge gelsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Kararları biraz aşağı al. Statların renklerini güncelle cool olsun. Gün ve nüfus da daha cool olsun
User prompt
Seçeneklere istinaden statların nasıl etkileneceği yazmasın. Seçimi yaptıktan sonra direkt etkili olsun. Sol üstteki statları da aynı şekilde daha cool ve belirgin yap
User prompt
Senaryo ve opsiyon kartını birazcık yukarı al ve stilini güncelle daha havalı olsun
User prompt
Yazıların daha net belli olsun şuan kayboluyor
User prompt
yazıların fontunu oyunun ruhuna uyacak şekilde güncelle
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'split')' in or related to this line: 'var currentPopulation = parseInt(populationText.text.split(': ')[1]);' Line Number: 2350
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
var OptionCard = Container.expand(function () {
var self = Container.call(this);
var background = self.attachAsset('optionCard', {
anchorX: 0.5,
anchorY: 0.5
});
var optionText = new Text2('', {
size: 45,
fill: 0xFFFFFF,
wordWrap: true,
wordWrapWidth: 720
});
optionText.anchor.set(0.5, 0.5);
optionText.x = 0;
optionText.y = -50;
self.addChild(optionText);
var effectsText = new Text2('', {
size: 34,
fill: 0xAAAAAA,
wordWrap: true,
wordWrapWidth: 720
});
effectsText.anchor.set(0.5, 0.5);
effectsText.x = 0;
effectsText.y = 80;
self.addChild(effectsText);
self.setOption = function (option) {
optionText.setText(option.text);
var effectsStr = '';
for (var key in option.effects) {
var value = option.effects[key];
var symbol = value > 0 ? '+' : '';
effectsStr += key + ': ' + symbol + value + '\n';
}
effectsText.setText(effectsStr);
};
return self;
});
var ScenarioCard = Container.expand(function () {
var self = Container.call(this);
var background = self.attachAsset('scenarioCard', {
anchorX: 0.5,
anchorY: 0.5
});
var titleText = new Text2('', {
size: 60,
fill: 0xFFFFFF
});
titleText.anchor.set(0.5, 0);
titleText.x = 0;
titleText.y = -550;
self.addChild(titleText);
var descriptionText = new Text2('', {
size: 44,
fill: 0xCCCCCC,
wordWrap: true,
wordWrapWidth: 1600
});
descriptionText.anchor.set(0.5, 0);
descriptionText.x = 0;
descriptionText.y = -450;
self.addChild(descriptionText);
var leftOption = self.addChild(new OptionCard());
leftOption.x = -400;
leftOption.y = 200;
var rightOption = self.addChild(new OptionCard());
rightOption.x = 400;
rightOption.y = 200;
var swipeLeft = self.attachAsset('swipeIndicator', {
anchorX: 0.5,
anchorY: 0.5
});
swipeLeft.x = -400;
swipeLeft.y = 450;
swipeLeft.alpha = 0.5;
var swipeRight = self.attachAsset('swipeIndicator', {
anchorX: 0.5,
anchorY: 0.5
});
swipeRight.x = 400;
swipeRight.y = 450;
swipeRight.alpha = 0.5;
self.setScenario = function (scenario) {
titleText.setText(scenario.title);
descriptionText.setText(scenario.description);
leftOption.setOption(scenario.leftOption);
rightOption.setOption(scenario.rightOption);
};
self.getLeftOption = function () {
return leftOption;
};
self.getRightOption = function () {
return rightOption;
};
return self;
});
var StatBar = Container.expand(function (statName, color) {
var self = Container.call(this);
var background = self.attachAsset('statBar', {
anchorX: 0,
anchorY: 0
});
var fill = self.attachAsset('statFill', {
anchorX: 0,
anchorY: 0
});
fill.tint = color;
var label = new Text2(statName, {
size: 36,
fill: 0xFFFFFF
});
label.anchor.set(0, 0.5);
label.x = 310;
label.y = 20;
self.addChild(label);
var valueText = new Text2('100', {
size: 36,
fill: 0xFFFFFF
});
valueText.anchor.set(1, 0.5);
valueText.x = 550;
valueText.y = 20;
self.addChild(valueText);
self.setValue = function (value) {
fill.scaleX = Math.max(0, Math.min(1, value / 100));
valueText.setText(Math.round(value).toString());
if (value < 30) {
fill.tint = 0xff0000;
} else if (value < 60) {
fill.tint = 0xffff00;
} else {
fill.tint = color;
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x1a1a1a
});
/****
* Game Code
****/
var stats = {
morale: 100,
resources: 100,
security: 100,
health: 100,
hope: 100
};
var scenarios = [{
title: "Yiyecek Kıtlığı Krizi",
description: "Sığınağın yiyecek malzemeleri tehlikeli derecede azaldı. Bir avcı grubu sınırlı malzemelerle geri döndü, ancak herkes için yeterli değil.",
leftOption: {
text: "Yiyeceği 300 kişi arasında eşit olarak paylaştır",
effects: {
morale: -10,
resources: -5,
health: -15,
hope: 5
}
},
rightOption: {
text: "Temel işçiler için yiyeceği öncelendir",
effects: {
morale: -20,
resources: 10,
security: 5,
health: -5
}
}
}, {
title: "Tıbbi Malzeme İkilemi",
description: "Bir çocuk kritik durumda ve ilaç gerekiyor. Aynı ilaç, hafif rahatsızlıkları olan birkaç yetişkini tedavi etmek için kullanılabilir.",
leftOption: {
text: "Tüm mevcut ilaçla çocuğu kurtar",
effects: {
morale: 15,
health: -10,
hope: 10
}
},
rightOption: {
text: "Bunun yerine birçok yetişkini tedavi et",
effects: {
morale: -15,
health: 20,
hope: -10
}
}
}, {
title: "Güvenlik İhlali",
description: "Sığınak girişi yakınında bilinmeyen figürler görüldü. Güvenlik ekibiniz araştırma için izin istiyor, ancak bu açığa çıkma riskini taşıyor.",
leftOption: {
text: "Güvenlik ekibini araştırmaya gönder",
effects: {
security: 15,
resources: -10,
morale: -5
}
},
rightOption: {
text: "Gizli kal ve bekle",
effects: {
security: -10,
morale: -10,
hope: -5
}
}
}, {
title: "Enerji Tasarrufu",
description: "Sığınağın elektrik şebekesi arızalanıyor. Yaşam alanlarını ısıtmak ile su filtreleme sistemini sürdürmek arasında seçim yapmalısın.",
leftOption: {
text: "Konfor için ısıtmaya öncelik ver",
effects: {
morale: 10,
health: -15,
resources: -10
}
},
rightOption: {
text: "Su filtreleme sistemini sürdür",
effects: {
morale: -15,
health: 15,
resources: 5
}
}
}, {
title: "Kaynak Keşfi",
description: "İzciler terk edilmiş bir malzeme deposu buldular, ancak onu geri almak en iyi avcılarının hayatını riske atmayı gerektiriyor.",
leftOption: {
text: "Avcı ekibini gönder",
effects: {
resources: 25,
security: -10,
morale: -5
}
},
rightOption: {
text: "Güvenli oyna ve yerinde kal",
effects: {
resources: -5,
security: 5,
morale: 5
}
}
}, {
title: "Sığınak İsyanı",
description: "Sürekli kıt kaynak dağıtımından dolayı halk ayaklandı. Güvenlik güçlerin müdahale etmesini istiyorlar.",
condition: function condition() {
return decisions.foodRationing >= 2;
},
leftOption: {
text: "Güç kullanarak isyanı bastır",
effects: {
morale: -25,
security: 15,
hope: -20
}
},
rightOption: {
text: "İsyancılarla müzakere et",
effects: {
morale: 10,
security: -10,
resources: -15
}
}
}, {
title: "Doktor Krizi",
description: "Ana doktorunuz hasta oldu. Daha önce çocuğu kurtarmayı seçtiğiniz için ailesi size güveniyor.",
condition: function condition() {
return decisions.savedChild;
},
leftOption: {
text: "Tüm tıbbi kaynakları doktora kullan",
effects: {
morale: 20,
health: -20,
hope: 15
}
},
rightOption: {
text: "Doktoru iyileştirmek için sadece gerekli kaynakları kullan",
effects: {
morale: 5,
health: 10,
hope: -5
}
}
}, {
title: "Güvenlik Açığı Sonuçları",
description: "Daha önce dışarıdaki figürleri araştırdığınız için şimdi onlar sığınağınızı buluyor.",
condition: function condition() {
return decisions.investigated;
},
leftOption: {
text: "Saldırıya hazırlan ve savaş",
effects: {
morale: -15,
security: -20,
health: -25,
hope: -10
}
},
rightOption: {
text: "Barışçıl temas kurmaya çalış",
effects: {
morale: 15,
security: -5,
resources: 20,
hope: 25
}
}
}, {
title: "Enerji Yeniliği",
description: "Su filtreleme sistemine yaptığınız yatırım yeni bir enerji kaynağı keşfetmenizi sağladı.",
condition: function condition() {
return decisions.prioritizedWater >= 2;
},
leftOption: {
text: "Yeni teknolojiyi tüm sığınakta uygula",
effects: {
morale: 25,
resources: 30,
health: 20,
hope: 30
}
},
rightOption: {
text: "Teknolojiyi yavaşça ve güvenli şekilde test et",
effects: {
morale: 5,
resources: 15,
health: 10,
hope: 10
}
}
}, {
title: "Avcı Kayıpları",
description: "Sürekli riskli görevlere gönderdiğiniz avcılardan üçü geri dönmedi. Aileleri açıklama bekliyor.",
condition: function condition() {
return decisions.sentHunters >= 2;
},
leftOption: {
text: "Gerçeği söyle ve sorumluluğu üstlen",
effects: {
morale: -20,
security: -15,
hope: 5
}
},
rightOption: {
text: "Onları kahramanlar olarak an ve gerçeği gizle",
effects: {
morale: 10,
security: 5,
hope: -15
}
}
}, {
title: "Radyasyon Sızıntısı",
description: "Sığınağın doğu sektöründe radyasyon seviyesi yükseliyor. Bu bölgeyi kapatmak 50 kişiyi tahliye etmeyi gerektiriyor.",
leftOption: {
text: "Bölgeyi derhal kapatın ve insanları tahliye edin",
effects: {
health: 15,
morale: -10,
resources: -15
}
},
rightOption: {
text: "Radyasyon kalkanı inşa etmeyi deneyin",
effects: {
health: -20,
resources: -25,
security: 10
}
}
}, {
title: "Su Kirliği",
description: "Ana su kaynağında bakteriyel kontaminasyon tespit edildi. Su arıtma sistemi onarım gerektiriyor.",
leftOption: {
text: "Tüm kaynakları su arıtımına odaklayın",
effects: {
health: 20,
resources: -20,
morale: 5
}
},
rightOption: {
text: "Yedek su kaynaklarına geçin",
effects: {
health: -5,
resources: 15,
security: -10
}
}
}, {
title: "Yaşlı Nüfus Sorunu",
description: "Sığınaktaki yaşlı nüfus artan sağlık sorunları yaşıyor ve daha fazla kaynak gerektiriyor.",
leftOption: {
text: "Yaşlılara öncelikli bakım sağlayın",
effects: {
morale: 15,
health: -10,
resources: -15,
hope: 10
}
},
rightOption: {
text: "Kaynakları genç nüfusa odaklayın",
effects: {
morale: -25,
health: 10,
resources: 10,
hope: -15
}
}
}, {
title: "Eğitim Sistemi",
description: "Çocuklar için eğitim sistemini kurma zamanı geldi. Pratik beceriler mi yoksa akademik bilgi mi öncelikli olsun?",
leftOption: {
text: "Praktik hayatta kalma becerilerine odaklanın",
effects: {
security: 15,
resources: 10,
morale: -5,
hope: 5
}
},
rightOption: {
text: "Akademik ve sanatsal eğitime yatırım yapın",
effects: {
morale: 20,
hope: 15,
resources: -10,
security: -5
}
}
}, {
title: "Gıda Üretimi İnovasyonu",
description: "Bilim ekibiniz hidroponik tarım sistemi geliştirdi. Bu yeni sistemi test etmek riskli ama ödüllendirici olabilir.",
leftOption: {
text: "Yeni sistemi büyük çapta uygulayın",
effects: {
resources: 25,
health: 10,
security: -15
}
},
rightOption: {
text: "Küçük ölçekte test edin",
effects: {
resources: 10,
health: 5,
morale: 5
}
}
}, {
title: "Enerji Krizi",
description: "Ana güç jeneratörü arızalandı. Yedek sistemler sadece birkaç gün daha dayanabilir.",
leftOption: {
text: "Tüm teknisyenleri onarıma odaklayın",
effects: {
security: 20,
resources: -15,
morale: -10
}
},
rightOption: {
text: "Enerji tasarrufu moduna geçin",
effects: {
morale: -20,
health: -10,
resources: 5,
hope: -5
}
}
}, {
title: "Psikolojik Destek",
description: "Sığınaktaki insanlar depresyon ve anksiyete yaşıyor. Psikolojik destek programı başlatmalısınız.",
leftOption: {
text: "Profesyonel terapi seansları düzenleyin",
effects: {
morale: 25,
hope: 20,
resources: -10
}
},
rightOption: {
text: "Topluluk destekli aktiviteler organize edin",
effects: {
morale: 15,
hope: 10,
security: 5
}
}
}, {
title: "Dış Dünya İletişimi",
description: "Radyo sinyali aldınız. Başka hayatta kalanlar var ama konumunuzu açığa çıkarma riskiyle karşı karşıyasınız.",
leftOption: {
text: "İletişim kurun ve koordinasyon yapın",
effects: {
hope: 30,
morale: 20,
security: -20
}
},
rightOption: {
text: "Sessiz kalın ve pozisyonunuzu koruyun",
effects: {
security: 15,
hope: -10,
morale: -5
}
}
}, {
title: "Atık Yönetimi",
description: "Sığınaktaki atık miktarı tehlikeli seviyelere ulaştı. Atık imha sistemi çözüm gerektiriyor.",
leftOption: {
text: "Yeni arıtma sistemi kurun",
effects: {
health: 20,
resources: -25,
security: 10
}
},
rightOption: {
text: "Atıkları dış alanlara boşaltın",
effects: {
health: -15,
security: -20,
resources: 10
}
}
}, {
title: "Teknoloji Koruma",
description: "Değerli teknolojik ekipmanlarınız eskiyor. Yedek parça bulmak veya yeniden inşa etmek gerekiyor.",
leftOption: {
text: "Mevcut teknolojileri korumaya odaklanın",
effects: {
security: 10,
resources: -15,
health: 5
}
},
rightOption: {
text: "Yeni teknolojiler geliştirmeye yatırım yapın",
effects: {
hope: 20,
resources: -20,
morale: 10
}
}
}, {
title: "Sosyal Hiyerarşi",
description: "Sığınakta sosyal sınıflar oluşmaya başladı. Eşitlikçi mi yoksa meritkratik mi bir sistem kuracaksınız?",
leftOption: {
text: "Katı eşitlik ilkesi uygulayın",
effects: {
morale: 15,
security: -10,
resources: -5,
hope: 10
}
},
rightOption: {
text: "Liyakat temelli hiyerarşi kurun",
effects: {
morale: -15,
security: 15,
resources: 15,
hope: -5
}
}
}, {
title: "Genetik Çeşitlilik",
description: "Uzun vadeli hayatta kalma için genetik çeşitliliği korumak gerekiyor. Üreme politikası belirlemelisiniz.",
leftOption: {
text: "Genetik çeşitliliği maksimize edin",
effects: {
hope: 25,
morale: -10,
health: 15
}
},
rightOption: {
text: "Doğal seçime bırakın",
effects: {
morale: 10,
hope: -5,
health: -10
}
}
}, {
title: "Sanat ve Kültür",
description: "İnsanlar maneviyatlarını yükseltmek için sanatsal aktiviteler talep ediyor. Kaynakları buna ayırmaya değer mi?",
leftOption: {
text: "Sanat programlarını destekleyin",
effects: {
morale: 25,
hope: 20,
resources: -15
}
},
rightOption: {
text: "Kaynaklarınızı pratik ihtiyaçlara odaklayın",
effects: {
morale: -10,
hope: -10,
resources: 15,
security: 5
}
}
}, {
title: "Çocuk İşçiliği",
description: "İş gücü ihtiyacı artıyor. Çocukları hafif işlerde çalıştırmak mı yoksa eğitimlerine odaklanmak mı?",
leftOption: {
text: "Çocukları hafif işlerde görevlendirin",
effects: {
resources: 15,
morale: -20,
hope: -15,
security: 10
}
},
rightOption: {
text: "Çocukların eğitimine öncelik verin",
effects: {
hope: 25,
morale: 15,
resources: -10
}
}
}, {
title: "Hastalık Karantinası",
description: "Bulaşıcı bir hastalık yayılıyor. Hastaları izole etmek mi yoksa toplumsal dayanışmayı sürdürmek mi?",
leftOption: {
text: "Katı karantina uygulayın",
effects: {
health: 25,
morale: -20,
security: 10,
hope: -10
}
},
rightOption: {
text: "Toplumsal bakımı sürdürün",
effects: {
health: -25,
morale: 20,
hope: 15
}
}
}, {
title: "Silah Üretimi",
description: "Güvenlik için silah üretimi gerekli mi? Bu kaynakları başka alanlarda kullanabilirsiniz.",
leftOption: {
text: "Silah üretimini artırın",
effects: {
security: 25,
resources: -20,
morale: -10
}
},
rightOption: {
text: "Barışçıl çözümlere odaklanın",
effects: {
morale: 15,
hope: 20,
security: -15
}
}
}, {
title: "Dış Keşif",
description: "Yüzeydeki radyasyon seviyesinin azaldığı raporlanıyor. Keşif ekibi göndermek riskli ama umut verici.",
leftOption: {
text: "Keşif misyonu başlatın",
effects: {
hope: 30,
security: -15,
resources: -10
}
},
rightOption: {
text: "Daha güvenli koşullar için bekleyin",
effects: {
morale: -10,
hope: -5,
security: 10
}
}
}, {
title: "Ticaret Sistemi",
description: "Sığınak içinde takas sistemi gelişiyor. Bu sistemi desteklemek mi yoksa merkezi dağıtımı sürdürmek mi?",
leftOption: {
text: "Serbest ticaret sistemini destekleyin",
effects: {
morale: 20,
resources: 15,
security: -10
}
},
rightOption: {
text: "Merkezi dağıtım sistemini koruyun",
effects: {
morale: -10,
security: 15,
resources: -5,
hope: 5
}
}
}, {
title: "Yaşlı Bilgi",
description: "Yaşlılar eskiden dünyadan değerli bilgiler saklıyor. Bu bilgileri kaydetmek için zaman ayırmalı mısınız?",
leftOption: {
text: "Bilgi arşivleme projesini başlatın",
effects: {
hope: 25,
morale: 15,
resources: -10
}
},
rightOption: {
text: "Mevcut acil ihtiyaçlara odaklanın",
effects: {
resources: 10,
hope: -10,
morale: -5
}
}
}, {
title: "Enerji Paylaşımı",
description: "Komşu sığınak enerji konusunda yardım istiyor. Onlara yardım etmek kendi kaynaklarınızı riske atar.",
condition: function condition() {
return decisions.communicatedOutside;
},
leftOption: {
text: "Enerji paylaşın ve ittifak kurun",
effects: {
hope: 20,
resources: -15,
security: 10,
morale: 15
}
},
rightOption: {
text: "Kendi kaynaklarınızı koruyun",
effects: {
resources: 10,
security: 5,
hope: -15,
morale: -10
}
}
}, {
title: "Mutasyon Sorunu",
description: "Bazı sığınak sakinlerinde genetik mutasyonlar görülüyor. Bu durumu nasıl karşılayacaksınız?",
leftOption: {
text: "Mutasyonları tedavi etmeye çalışın",
effects: {
health: -15,
resources: -20,
morale: 15,
hope: 10
}
},
rightOption: {
text: "Mutasyonları doğal evrim olarak kabul edin",
effects: {
morale: -10,
health: 10,
hope: 20
}
}
}, {
title: "Liderlik Krizi",
description: "Bazı gruplar sizin liderliğinizi sorguluyor. Otoritenizi nasıl güçlendireceksiniz?",
leftOption: {
text: "Demokratik oylamalarla meşruiyeti artırın",
effects: {
morale: 25,
security: -15,
hope: 15
}
},
rightOption: {
text: "Güçlü liderlik ile kararlılık gösterin",
effects: {
security: 20,
morale: -15,
resources: 10
}
}
}, {
title: "Gizli Araştırma",
description: "Bilim ekibiniz etik olmayan deneyler yapmak istiyor. Bu araştırmalar hayatta kalmayı sağlayabilir.",
leftOption: {
text: "Araştırmalara izin verin",
effects: {
health: 20,
security: 15,
morale: -25,
hope: -15
}
},
rightOption: {
text: "Etik sınırları koruyun",
effects: {
morale: 20,
hope: 15,
health: -10,
security: -5
}
}
}, {
title: "Beslenme Çeşitliliği",
description: "Monoton beslenme halkın sağlığını etkiliyor. Gıda çeşitliliğini artırmak için kaynak ayırmalı mısınız?",
leftOption: {
text: "Gıda çeşitliliği programı başlatın",
effects: {
health: 20,
morale: 15,
resources: -20
}
},
rightOption: {
text: "Temel besinlerle yetinin",
effects: {
health: -10,
morale: -10,
resources: 15
}
}
}, {
title: "Bilgi Güvenliği",
description: "Kritik bilgilere erişimi sınırlamak mı yoksa şeffaflığı sürdürmek mi gerekiyor?",
leftOption: {
text: "Bilgiyi sınırlayın ve güvenliği artırın",
effects: {
security: 20,
morale: -15,
hope: -10
}
},
rightOption: {
text: "Şeffaflığı koruyun",
effects: {
morale: 20,
hope: 15,
security: -15
}
}
}, {
title: "Doğum Kontrolü",
description: "Nüfus artışı kaynakları zorluyor. Doğum kontrolü politikası uygulamalı mısınız?",
leftOption: {
text: "Doğum kontrolü uygulayın",
effects: {
resources: 15,
morale: -20,
hope: -10,
health: 5
}
},
rightOption: {
text: "Doğal nüfus artışına izin verin",
effects: {
hope: 20,
morale: 15,
resources: -20,
health: -10
}
}
}, {
title: "Teknoloji Bağımlılığı",
description: "İnsanlar teknolojiye aşırı bağımlı hale geldi. Bu bağımlılığı azaltmak için adım atmalı mısınız?",
leftOption: {
text: "Teknoloji kullanımını sınırlayın",
effects: {
health: 15,
morale: -15,
security: -10,
hope: 5
}
},
rightOption: {
text: "Teknolojik gelişimi destekleyin",
effects: {
morale: 15,
security: 15,
health: -10,
hope: 10
}
}
}, {
title: "Çevre Koruma",
description: "Sığınağın çevresel sistemi bozuluyor. Ekolojik dengeyi korumak için yatırım gerekiyor.",
leftOption: {
text: "Çevre koruma programı başlatın",
effects: {
health: 25,
hope: 20,
resources: -25
}
},
rightOption: {
text: "Acil ihtiyaçlara odaklanın",
effects: {
health: -15,
hope: -10,
resources: 15
}
}
}, {
title: "Spor ve Rekreasyon",
description: "Fiziksel aktivite eksikliği sağlık sorunlarına yol açıyor. Spor tesisleri kurmalı mısınız?",
leftOption: {
text: "Spor tesisleri inşa edin",
effects: {
health: 20,
morale: 20,
resources: -15
}
},
rightOption: {
text: "Alanı başka amaçlarla kullanın",
effects: {
health: -10,
morale: -10,
resources: 10,
security: 5
}
}
}, {
title: "Dil ve İletişim",
description: "Farklı etnik gruplar kendi dillerini konuşuyor. Ortak dil politikası gerekli mi?",
leftOption: {
text: "Ortak dil zorunluluğu getirin",
effects: {
security: 15,
morale: -20,
hope: -5
}
},
rightOption: {
text: "Çok dilli sistemi destekleyin",
effects: {
morale: 20,
hope: 15,
security: -10
}
}
}, {
title: "Karar Alma Süreci",
description: "Önemli kararları nasıl alacağınız sorgulanıyor. Danışma kurulu mu yoksa tek adam kararı mı?",
leftOption: {
text: "Danışma kurulu oluşturun",
effects: {
morale: 25,
hope: 15,
security: -15
}
},
rightOption: {
text: "Karar alma yetkisini koruyun",
effects: {
security: 20,
morale: -15,
resources: 10
}
}
}, {
title: "Bellek Kayıtları",
description: "Savaş öncesi yaşamdan kayıtlar bulundu. Bu anıları korumak mı yoksa geçmişi unutturmak mı?",
leftOption: {
text: "Geçmiş kayıtlarını koruyun",
effects: {
hope: 25,
morale: -10,
resources: -10
}
},
rightOption: {
text: "Geleceğe odaklanın",
effects: {
hope: -10,
morale: 15,
resources: 10
}
}
}, {
title: "İç Güvenlik",
description: "Sığınak içinde küçük suçlar artıyor. Güvenlik güçlerini artırmak mı yoksa sosyal programlar mı?",
leftOption: {
text: "Güvenlik güçlerini artırın",
effects: {
security: 25,
morale: -15,
hope: -10
}
},
rightOption: {
text: "Sosyal rehabilitasyon programları başlatın",
effects: {
morale: 20,
hope: 15,
security: -15
}
}
}, {
title: "Enerji Verimliliği",
description: "Yeni enerji tasarruf teknolojileri mevcut. Eski sistemleri değiştirmek maliyetli ama verimli.",
leftOption: {
text: "Yeni teknolojilere geçin",
effects: {
resources: -25,
health: 15,
security: 20,
hope: 10
}
},
rightOption: {
text: "Mevcut sistemleri optimize edin",
effects: {
resources: 5,
health: 5,
security: 5
}
}
}, {
title: "Sosyal Medya",
description: "İç iletişim ağı kuruldu ama dedikodular ve yanlış bilgiler yayılıyor. Bu sistemi düzenlemeli misiniz?",
leftOption: {
text: "İletişimi sıkı şekilde düzenleyin",
effects: {
security: 15,
morale: -20,
hope: -10
}
},
rightOption: {
text: "Serbest iletişime izin verin",
effects: {
morale: 20,
hope: 15,
security: -20
}
}
}, {
title: "Araştırma Bütçesi",
description: "Bilimsel araştırma için bütçe ayırmak gelecek için önemli ama mevcut ihtiyaçları zorluyor.",
leftOption: {
text: "Araştırma bütçesini artırın",
effects: {
hope: 25,
resources: -20,
health: 10
}
},
rightOption: {
text: "Mevcut ihtiyaçlara odaklanın",
effects: {
resources: 15,
hope: -15,
health: 5
}
}
}, {
title: "Gıda Güvenliği",
description: "Bazı gıda kaynaklarında bozulma tespit edildi. Bu gıdaları imha etmek mi yoksa risk alıp kullanmak mı?",
leftOption: {
text: "Şüpheli gıdaları imha edin",
effects: {
health: 20,
resources: -25,
morale: 10
}
},
rightOption: {
text: "Gıdaları dikkatlice işleyip kullanın",
effects: {
health: -20,
resources: 15,
morale: -10
}
}
}, {
title: "Yetenek Geliştirme",
description: "İnsanların yeteneklerini geliştirmek için eğitim programları mı yoksa pratik deneyim mi?",
leftOption: {
text: "Teorik eğitim programları",
effects: {
hope: 20,
morale: 15,
resources: -15,
security: -5
}
},
rightOption: {
text: "Uygulamalı öğrenme sistemi",
effects: {
security: 15,
resources: 10,
morale: -5
}
}
}, {
title: "Kültürel Etkinlikler",
description: "Festivaller ve kutlamalar moral için önemli ama kaynak tüketiyor. Bu etkinlikleri desteklemeli misiniz?",
leftOption: {
text: "Kültürel etkinlikleri destekleyin",
effects: {
morale: 30,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Kaynaklarınızı koruyun",
effects: {
morale: -15,
hope: -10,
resources: 15
}
}
}, {
title: "İnovasyon Teşviki",
description: "Yaratıcı çözümler için ödül sistemi mi yoksa zorunlu inovasyon programları mı daha etkili?",
leftOption: {
text: "Ödül tabanlı teşvik sistemi",
effects: {
morale: 20,
hope: 20,
resources: -15
}
},
rightOption: {
text: "Zorunlu inovasyon programları",
effects: {
security: 15,
resources: 10,
morale: -15
}
}
}, {
title: "Kaynak Dağıtımı",
description: "Kıt kaynakları yaşa, yeteneğe, ya da ihtiyaca göre mi dağıtacaksınız?",
leftOption: {
text: "İhtiyaç temelli dağıtım",
effects: {
morale: 20,
health: 15,
resources: -10
}
},
rightOption: {
text: "Yetenek temelli dağıtım",
effects: {
morale: -15,
security: 15,
resources: 15
}
}
}, {
title: "Psikolojik Savaş",
description: "Dış gruplardan psikolojik baskı geliyor. Bu tehditlere nasıl yanıt vereceksiniz?",
condition: function condition() {
return decisions.communicatedOutside;
},
leftOption: {
text: "Psikolojik savunma programı başlatın",
effects: {
morale: 15,
security: 20,
resources: -15
}
},
rightOption: {
text: "Tehditleri görmezden gelin",
effects: {
morale: -20,
security: -15,
resources: 5
}
}
}, {
title: "Teknolojik Bağımsızlık",
description: "Dışarıya bağımlılığı azaltmak için kendi teknolojinizi mi geliştirirsiniz?",
leftOption: {
text: "Teknolojik bağımsızlık için yatırım yapın",
effects: {
hope: 25,
security: 20,
resources: -30
}
},
rightOption: {
text: "Mevcut teknolojilerle yetinin",
effects: {
resources: 10,
hope: -10,
security: -5
}
}
}, {
title: "Çocuk Bakımı",
description: "Çocuk bakımını ailelere mi bırakacaksınız yoksa toplumsal sistem mi kuracaksınız?",
leftOption: {
text: "Toplumsal çocuk bakım sistemi",
effects: {
morale: 15,
health: 20,
resources: -20,
hope: 15
}
},
rightOption: {
text: "Aile tabanlı bakım sistemi",
effects: {
morale: 10,
resources: 10,
security: -5
}
}
}, {
title: "Enerji Depolama",
description: "Fazla enerji depolamak için yeni sistem kurulacak. Bu yatırım gelecek için kritik mi?",
leftOption: {
text: "Enerji depolama sistemine yatırım yapın",
effects: {
security: 25,
resources: -25,
hope: 20
}
},
rightOption: {
text: "Mevcut sistemlerle devam edin",
effects: {
resources: 10,
security: -10,
hope: -5
}
}
}, {
title: "Sosyal Adalet",
description: "Bazı gruplar ayrımcılık yaşadığını iddia ediyor. Bu durumu nasıl ele alacaksınız?",
leftOption: {
text: "Eşitlik programları başlatın",
effects: {
morale: 25,
hope: 20,
security: -15
}
},
rightOption: {
text: "Mevcut sistemi koruyun",
effects: {
security: 15,
morale: -20,
hope: -15
}
}
}, {
title: "Bilimsel Etik",
description: "Tartışmalı bilimsel deneyler öneriliyor. Bu araştırmalar ileriye dönük çözümler sağlayabilir.",
leftOption: {
text: "Etik komite kurarak deneyleri denetleyin",
effects: {
hope: 20,
morale: 15,
resources: -15
}
},
rightOption: {
text: "Tüm deneyleri yasaklayın",
effects: {
morale: 10,
hope: -20,
resources: 5
}
}
}, {
title: "İklim Kontrolü",
description: "Sığınağın iç iklimini kontrol etmek için gelişmiş sistem kurulacak. Maliyeti yüksek ama konfor sağlar.",
leftOption: {
text: "Gelişmiş iklim sistemi kurun",
effects: {
health: 25,
morale: 20,
resources: -30
}
},
rightOption: {
text: "Temel iklim kontrolüyle yetinin",
effects: {
health: -5,
morale: -10,
resources: 15
}
}
}, {
title: "Kaynak Geri Dönüşümü",
description: "Atık malzemeleri geri dönüştürmek için kapsamlı sistem gerekiyor. Bu yatırıma değer mi?",
leftOption: {
text: "Kapsamlı geri dönüşüm sistemi kurun",
effects: {
health: 20,
resources: 15,
security: 10,
hope: 15
}
},
rightOption: {
text: "Basit geri dönüşümle yetinin",
effects: {
health: 5,
resources: 5,
security: -5
}
}
}, {
title: "Uzun Vadeli Planlama",
description: "50 yıllık gelişim planı hazırlanacak. Bu planlama sürecine kimler dahil edilmeli?",
leftOption: {
text: "Tüm toplumu planlama sürecine dahil edin",
effects: {
morale: 25,
hope: 30,
security: -15,
resources: -10
}
},
rightOption: {
text: "Uzman ekiple planlama yapın",
effects: {
hope: 15,
security: 15,
morale: -10
}
}
}, {
title: "Kültürel Miras",
description: "Savaş öncesi kültürel eserleri korumak için özel alan mı ayrılacak yoksa pratik kullanım mı öncelenecek?",
leftOption: {
text: "Kültürel miras alanı oluşturun",
effects: {
hope: 25,
morale: 20,
resources: -15
}
},
rightOption: {
text: "Alanı pratik ihtiyaçlar için kullanın",
effects: {
resources: 15,
hope: -15,
morale: -10
}
}
}, {
title: "Zihinsel Sağlık",
description: "PTSD ve travma vakalarının artması nedeniyle özel tedavi programı gerekiyor.",
leftOption: {
text: "Kapsamlı zihinsel sağlık programı başlatın",
effects: {
morale: 25,
health: 20,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Temel destek hizmetleriyle yetinin",
effects: {
morale: 5,
health: 5,
resources: 5
}
}
}, {
title: "Teknoloji Paylaşımı",
description: "Diğer sığınaklarla teknoloji paylaşımı öneriliyor. Bu işbirliği riskli ama faydalı olabilir.",
condition: function condition() {
return decisions.communicatedOutside;
},
leftOption: {
text: "Teknoloji paylaşım anlaşması yapın",
effects: {
hope: 30,
security: -20,
resources: 20
}
},
rightOption: {
text: "Teknolojik avantajınızı koruyun",
effects: {
security: 15,
hope: -15,
resources: -5
}
}
}, {
title: "Gelecek Nesil Eğitimi",
description: "Çocukları dünya yeniden inşa edildiğinde liderlik için mi yoksa mevcut sistemde yaşam için mi eğiteceksiniz?",
leftOption: {
text: "Gelecek dünya için liderlik eğitimi",
effects: {
hope: 30,
morale: 15,
resources: -15
}
},
rightOption: {
text: "Mevcut yaşam koşulları için pratik eğitim",
effects: {
security: 15,
resources: 10,
hope: -10
}
}
}, {
title: "Beslenme Araştırması",
description: "Besin değeri yüksek yeni gıdalar geliştirmek için araştırma yapılacak. Riskleri var ama beslenmeyi iyileştirebilir.",
leftOption: {
text: "Beslenme araştırmasına yatırım yapın",
effects: {
health: 25,
hope: 20,
resources: -20
}
},
rightOption: {
text: "Mevcut beslenme sistemini koruyun",
effects: {
health: -5,
resources: 10,
security: 5
}
}
}, {
title: "İç Ticaret Düzenlemesi",
description: "Sığınak içi ticaret sisteminde düzenleme gerekiyor. Serbest piyasa mı yoksa devlet kontrolü mü?",
leftOption: {
text: "Serbest piyasa sistemini benimseyin",
effects: {
morale: 20,
resources: 20,
security: -15
}
},
rightOption: {
text: "Devlet kontrolünde ticaret sistemi",
effects: {
security: 20,
morale: -15,
resources: -5
}
}
}, {
title: "Su Teknolojisi",
description: "İleri su arıtma teknolojisi kurulacak. Maliyetli ama su kalitesini önemli ölçüde artırır.",
leftOption: {
text: "İleri su teknolojisine yatırım yapın",
effects: {
health: 30,
morale: 15,
resources: -25
}
},
rightOption: {
text: "Mevcut su sistemini iyileştirin",
effects: {
health: 10,
resources: -5
}
}
}, {
title: "Çalışma Saatleri",
description: "Verimlilik için çalışma saatlerini artırmak mı yoksa çalışan refahını öncelemek mi?",
leftOption: {
text: "Çalışan refahını önceleyın",
effects: {
morale: 25,
health: 15,
resources: -15
}
},
rightOption: {
text: "Verimlilik için çalışma saatlerini artırın",
effects: {
resources: 20,
morale: -20,
health: -10
}
}
}, {
title: "Güvenlik Taraması",
description: "Tüm sığınak sakinlerine güvenlik taraması yapılacak. Bu özel yaşamı ihlal eder ama güvenliği artırır.",
leftOption: {
text: "Kapsamlı güvenlik taraması yapın",
effects: {
security: 25,
morale: -25,
hope: -10
}
},
rightOption: {
text: "Özel yaşama saygı gösterin",
effects: {
morale: 20,
hope: 15,
security: -15
}
}
}, {
title: "Robotik Teknoloji",
description: "İş gücünü desteklemek için robotik teknoloji geliştirilecek. İnsanları işsiz bırakma riski var.",
leftOption: {
text: "Robotik teknoloji geliştirin",
effects: {
resources: 25,
security: 15,
morale: -20
}
},
rightOption: {
text: "İnsan iş gücünü koruyun",
effects: {
morale: 20,
resources: -10,
security: -5
}
}
}, {
title: "Çevresel İzleme",
description: "Dış çevredeki değişiklikleri izlemek için sensör ağı kurulacak. Erken uyarı sağlar ama maliyetli.",
leftOption: {
text: "Çevresel izleme sistemi kurun",
effects: {
security: 20,
hope: 15,
resources: -20
}
},
rightOption: {
text: "Mevcut izleme yöntemleriyle devam edin",
effects: {
resources: 10,
security: -10,
hope: -5
}
}
}, {
title: "Sanal Gerçeklik",
description: "Moral yükseltmek için sanal gerçeklik sistemi kurulacak. Kaçış sağlar ama gerçeklikten kopma riski var.",
leftOption: {
text: "Sanal gerçeklik sistemi kurun",
effects: {
morale: 30,
hope: 20,
resources: -25,
health: -10
}
},
rightOption: {
text: "Gerçek aktivitelere odaklanın",
effects: {
health: 15,
morale: -10,
resources: 10
}
}
}, {
title: "Yasal Sistem",
description: "Sığınak için yasal sistem kurulacak. Katı hukuk mu yoksa esnek adalet sistemi mi?",
leftOption: {
text: "Esnek adalet sistemi kurun",
effects: {
morale: 20,
hope: 15,
security: -10
}
},
rightOption: {
text: "Katı hukuk sistemi uygulayın",
effects: {
security: 25,
morale: -15,
hope: -5
}
}
}, {
title: "Veri Koruma",
description: "Kişisel verilerin korunması için güvenlik sistemi kurulacak. Mahremiyet önemli ama kaynak gerektirir.",
leftOption: {
text: "Kapsamlı veri koruma sistemi",
effects: {
morale: 20,
security: 15,
resources: -15
}
},
rightOption: {
text: "Temel veri güvenliğiyle yetinin",
effects: {
resources: 5,
morale: -10,
security: 5
}
}
}, {
title: "Beslenme Çeşitliliği",
description: "Farklı kültürlerden yemek tarifleri korumak için program başlatılacak. Kültürel zenginlik ama kaynak gerektirir.",
leftOption: {
text: "Kültürel beslenme programı başlatın",
effects: {
morale: 25,
hope: 20,
resources: -15
}
},
rightOption: {
text: "Standart beslenme sistemiyle devam edin",
effects: {
resources: 10,
morale: -10,
hope: -5
}
}
}, {
title: "İletişim Ağı",
description: "Gelişmiş iç iletişim ağı kurulacak. Koordinasyonu artırır ama güvenlik açığı yaratabilir.",
leftOption: {
text: "Gelişmiş iletişim ağı kurun",
effects: {
security: 15,
morale: 15,
resources: -15
}
},
rightOption: {
text: "Güvenlik odaklı basit iletişim",
effects: {
security: 20,
morale: -10,
resources: -5
}
}
}, {
title: "Yaratıcılık Eğitimi",
description: "Problem çözme için yaratıcılık eğitimi verilecek. İnovasyon sağlar ama pratik becerileri ihmal edebilir.",
leftOption: {
text: "Yaratıcılık eğitimi programı",
effects: {
hope: 25,
morale: 20,
resources: -15,
security: -5
}
},
rightOption: {
text: "Pratik beceri eğitimine odaklanın",
effects: {
security: 15,
resources: 10,
hope: -10
}
}
}, {
title: "Fiziksel Kondisyon",
description: "Sığınakta yaşam fiziksel kondisyonu düşürüyor. Spor zorunluluğu mu yoksa gönüllü aktiviteler mi?",
leftOption: {
text: "Gönüllü spor aktiviteleri destekleyin",
effects: {
health: 15,
morale: 20,
resources: -10
}
},
rightOption: {
text: "Zorunlu fiziksel kondisyon programı",
effects: {
health: 25,
morale: -15,
security: 10
}
}
}, {
title: "Çatışma Çözümü",
description: "Kişiler arası çatışmalar artıyor. Mediyasyon programı mı yoksa katı disiplin mi?",
leftOption: {
text: "Mediyasyon ve uzlaşma programı",
effects: {
morale: 25,
hope: 20,
security: -10
}
},
rightOption: {
text: "Katı disiplin ve ceza sistemi",
effects: {
security: 25,
morale: -20,
hope: -10
}
}
}, {
title: "Teknoloji Eğitimi",
description: "Gelecek nesil için teknoloji eğitimi mi yoksa geleneksel beceriler mi öncelikli?",
leftOption: {
text: "Gelişmiş teknoloji eğitimi",
effects: {
hope: 30,
security: 15,
resources: -20
}
},
rightOption: {
text: "Geleneksel beceri eğitimi",
effects: {
morale: 15,
resources: 10,
hope: -10
}
}
}, {
title: "Gıda Depolama",
description: "Uzun vadeli gıda depolama sistemi kurulacak. Güvenlik sağlar ama başlangıç maliyeti yüksek.",
leftOption: {
text: "Gelişmiş depolama sistemi kurun",
effects: {
security: 25,
health: 15,
resources: -25
}
},
rightOption: {
text: "Mevcut depolama yöntemlerini iyileştirin",
effects: {
security: 10,
resources: -5
}
}
}, {
title: "Müzik ve Sanat",
description: "Müzik ve sanat eğitimi için kaynak ayrılacak. Morale katkı sağlar ama pratik değeri tartışmalı.",
leftOption: {
text: "Müzik ve sanat programları başlatın",
effects: {
morale: 30,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Pratik becerilere odaklanın",
effects: {
resources: 15,
morale: -15,
hope: -10
}
}
}, {
title: "Hava Kalitesi",
description: "Hava kalitesini iyileştirmek için filtrasyon sistemi güncellenecek. Sağlığa faydalı ama enerji tüketir.",
leftOption: {
text: "Gelişmiş hava filtrasyon sistemi",
effects: {
health: 25,
morale: 15,
resources: -20
}
},
rightOption: {
text: "Mevcut sistemle yetinin",
effects: {
health: -5,
resources: 10
}
}
}, {
title: "Sosyal Aktiviteler",
description: "Toplumsal bağları güçlendirmek için sosyal aktivite programı başlatılacak. Kaynak gerektirir ama morali yükseltir.",
leftOption: {
text: "Kapsamlı sosyal aktivite programı",
effects: {
morale: 30,
hope: 20,
resources: -20
}
},
rightOption: {
text: "Sınırlı sosyal aktivitelerle yetinin",
effects: {
morale: 5,
resources: 5
}
}
}, {
title: "Bilgi Paylaşımı",
description: "Kritik bilgilerin toplumla paylaşım düzeyi belirlenecek. Şeffaflık güven yaratır ama paniklere yol açabilir.",
leftOption: {
text: "Tam şeffaflık politikası",
effects: {
morale: 20,
hope: 15,
security: -20
}
},
rightOption: {
text: "Sınırlı bilgi paylaşımı",
effects: {
security: 20,
morale: -15,
hope: -10
}
}
}, {
title: "Acil Durum Hazırlığı",
description: "Olası acil durumlar için hazırlık programı başlatılacak. Güvenlik sağlar ama kaynakları meşgul eder.",
leftOption: {
text: "Kapsamlı acil durum hazırlığı",
effects: {
security: 30,
hope: 15,
resources: -25
}
},
rightOption: {
text: "Temel hazırlık önlemleri",
effects: {
security: 10,
resources: -5
}
}
}, {
title: "Yaşlı Bakımı",
description: "Yaşlı nüfus için özel bakım sistemi kurulacak. İnsani ama kaynakları zorlar.",
leftOption: {
text: "Özel yaşlı bakım sistemi kurun",
effects: {
morale: 25,
health: 20,
hope: 20,
resources: -25
}
},
rightOption: {
text: "Aile bakımı sistemini destekleyin",
effects: {
morale: 10,
resources: -10
}
}
}, {
title: "Teknolojik İnovasyon",
description: "Yeni teknolojiler geliştirmek için inovasyon laboratuvarı kurulacak. Gelecek için önemli ama riskli.",
leftOption: {
text: "İnovasyon laboratuvarı kurun",
effects: {
hope: 30,
security: 15,
resources: -25
}
},
rightOption: {
text: "Mevcut teknolojileri iyileştirin",
effects: {
security: 10,
resources: 5,
hope: -5
}
}
}, {
title: "Eğlence Endüstrisi",
description: "Moral için eğlence ve gösteri programları düzenlenecek. Yaşam kalitesini artırır ama lüks sayılabilir.",
leftOption: {
text: "Eğlence programları organize edin",
effects: {
morale: 30,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Temel ihtiyaçlara odaklanın",
effects: {
resources: 15,
morale: -15,
hope: -10
}
}
}, {
title: "Çevre Dostu Teknoloji",
description: "Sürdürülebilir teknolojiler geliştirilecek. Çevreye faydalı ama geliştirme maliyeti yüksek.",
leftOption: {
text: "Çevre dostu teknoloji geliştirin",
effects: {
health: 25,
hope: 25,
resources: -25
}
},
rightOption: {
text: "Var olan teknolojilerle devam edin",
effects: {
health: -5,
hope: -10,
resources: 10
}
}
}, {
title: "Toplumsal Hafıza",
description: "Savaş öncesi toplumsal değerleri korumak için arşiv oluşturulacak. Kültürel değer taşır ama alan gerektirir.",
leftOption: {
text: "Toplumsal hafıza arşivi oluşturun",
effects: {
hope: 25,
morale: 20,
resources: -15
}
},
rightOption: {
text: "Geleceğe odaklı yaklaşım benimseyin",
effects: {
hope: -10,
resources: 10,
security: 5
}
}
}, {
title: "Sağlık İzleme",
description: "Kişisel sağlık izleme sistemi kurulacak. Erken teşhis sağlar ama mahremiyet endişeleri var.",
leftOption: {
text: "Kapsamlı sağlık izleme sistemi",
effects: {
health: 30,
security: 15,
morale: -15
}
},
rightOption: {
text: "Gönüllü sağlık kontrolları",
effects: {
health: 15,
morale: 15,
resources: -10
}
}
}, {
title: "İş Bölümü",
description: "Çalışma sisteminde uzmanlaşma mı yoksa çok yetenekli işçiler mi tercih edilecek?",
leftOption: {
text: "Uzmanlaşmaya dayalı iş bölümü",
effects: {
resources: 25,
security: 15,
morale: -10
}
},
rightOption: {
text: "Çok yetenekli işçi sistemi",
effects: {
morale: 20,
hope: 15,
resources: -10
}
}
}, {
title: "Kriz Yönetimi",
description: "Gelecekteki krizler için yönetim protokolü oluşturulacak. Hazırlık sağlar ama belirsizlik yaratabilir.",
leftOption: {
text: "Detaylı kriz yönetim protokolü",
effects: {
security: 25,
hope: -10,
resources: -15
}
},
rightOption: {
text: "Esnek yaklaşımla kriz yönetimi",
effects: {
morale: 15,
hope: 10,
security: -10
}
}
}, {
title: "Tarih Eğitimi",
description: "Savaş öncesi tarih eğitimi verilecek. Geçmişten öğrenmek faydalı ama travmatik olabilir.",
leftOption: {
text: "Kapsamlı tarih eğitimi programı",
effects: {
hope: 20,
morale: -10,
resources: -15
}
},
rightOption: {
text: "Seçici tarih eğitimi",
effects: {
morale: 10,
hope: 5,
resources: -5
}
}
}, {
title: "Beslenme Güvenliği",
description: "Gıda üretim süreçlerinde güvenlik standartları yükseltilecek. Sağlığa faydalı ama üretimi yavaşlatır.",
leftOption: {
text: "Yüksek güvenlik standartları",
effects: {
health: 25,
morale: 15,
resources: -20
}
},
rightOption: {
text: "Dengeli güvenlik yaklaşımı",
effects: {
health: 10,
resources: -5
}
}
}, {
title: "Sosyal Sorumluluk",
description: "Bireysel mi yoksa toplumsal sorumluluk mu öne çıkarılacak? Bu seçim değer sistemini şekillendirir.",
leftOption: {
text: "Toplumsal sorumluluk vurgusunu artırın",
effects: {
morale: 20,
security: 15,
hope: 15,
resources: -10
}
},
rightOption: {
text: "Bireysel sorumluluk sistemini destekleyin",
effects: {
morale: -10,
resources: 15,
security: -5
}
}
}, {
title: "Gelecek Vizyonu",
description: "Sığınağın uzun vadeli vizyonu belirlenecek. Dünyayı yeniden inşa etmek mi yoksa burada kalıcı yaşam mı?",
leftOption: {
text: "Dünya yeniden inşa vizyonu",
effects: {
hope: 35,
morale: 20,
resources: -20,
security: -10
}
},
rightOption: {
text: "Kalıcı yeraltı yaşamı vizyonu",
effects: {
security: 20,
resources: 15,
hope: -20,
morale: -15
}
}
}];
var currentScenarioIndex = 0;
var scenarioCard;
var statBars = {};
var isDragging = false;
var dragStartX = 0;
var cardStartX = 0;
var isProcessingChoice = false;
var decisions = storage.decisions || {};
var scenarioOrder = [];
var usedScenarios = [];
// Pause menu handler - called when pause menu is opened
LK.on('pause', function () {
// Add new game option to pause menu
LK.addPauseMenuOption('Yeni Oyun', function () {
// Reset all game state
stats = {
morale: 100,
resources: 100,
security: 100,
health: 100,
hope: 100
};
// Clear stored decisions
storage.decisions = {};
decisions = {};
// Reset counters
dayCounter = 1;
dayText.setText('Gün ' + dayCounter);
populationText.setText('Nüfus: 300');
// Reset scenario tracking
currentScenarioIndex = 0;
scenarioOrder = [];
usedScenarios = [];
isProcessingChoice = false;
isDragging = false;
// Update stats display
updateStats();
// Reset to introduction state
introText.alpha = 1;
scenarioCard.alpha = 0;
scenarioCard.y = 2732;
scenarioCard.x = 1024;
// Initialize new game
initializeScenarioOrder();
// Close pause menu
LK.closePauseMenu();
});
});
// First scenario will be loaded when introduction text is clicked;
var background = game.attachAsset('bunkerBackground', {
anchorX: 0,
anchorY: 0
});
// Create stat bars
var statNames = ['Moral', 'Kaynaklar', 'Güvenlik', 'Sağlık', 'Umut'];
var statColors = [0x00ff00, 0x0080ff, 0xff8000, 0xff0080, 0xffff00];
var statKeys = ['morale', 'resources', 'security', 'health', 'hope'];
for (var i = 0; i < statNames.length; i++) {
var statBar = new StatBar(statNames[i], statColors[i]);
statBar.x = 100;
statBar.y = 100 + i * 60;
statBars[statKeys[i]] = statBar;
game.addChild(statBar);
}
// Create scenario card
scenarioCard = new ScenarioCard();
scenarioCard.x = 1024;
scenarioCard.y = 1500;
game.addChild(scenarioCard);
// Introduction text
var introText = new Text2('Yıl 2087: Nükleer savaş sonrası dünyada yer altı sığınağında 300 kişilik topluluğun liderisiniz. Her kararınız toplumun geleceğini belirler. Moralinizi, kaynaklarınızı, güvenliğinizi, sağlığınızı ve umudunuzu dengede tutun.', {
size: 80,
fill: 0xFFFFFF,
wordWrap: true,
wordWrapWidth: 1800
});
introText.anchor.set(0.5, 0.5);
introText.x = 1024;
introText.y = 1366;
game.addChild(introText);
// Add click handler to introduction text
introText.down = function (x, y, obj) {
// Hide introduction text immediately
tween(introText, {
alpha: 0
}, {
duration: 500,
easing: tween.easeOut
});
// Show first scenario
scenarioCard.alpha = 1;
loadScenario();
};
// Population counter
var populationText = new Text2('Nüfus: 300', {
size: 48,
fill: 0xFFFFFF
});
populationText.anchor.set(0.5, 0);
populationText.x = 1024;
populationText.y = 50;
game.addChild(populationText);
// Day counter
var dayCounter = 1;
var dayText = new Text2('Gün ' + dayCounter, {
size: 48,
fill: 0xFFFFFF
});
dayText.anchor.set(1, 0);
dayText.x = 1900;
dayText.y = 50;
game.addChild(dayText);
function shuffleArray(array) {
var shuffled = array.slice();
for (var i = shuffled.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = shuffled[i];
shuffled[i] = shuffled[j];
shuffled[j] = temp;
}
return shuffled;
}
function initializeScenarioOrder() {
// Get available scenarios (base scenarios + conditional ones that meet requirements)
var availableScenarios = [];
for (var i = 0; i < scenarios.length; i++) {
if (!scenarios[i].condition || scenarios[i].condition()) {
availableScenarios.push(i);
}
}
// Randomize the order
scenarioOrder = shuffleArray(availableScenarios);
usedScenarios = [];
}
function updateStats() {
for (var key in statBars) {
statBars[key].setValue(stats[key]);
}
}
function loadScenario() {
// Check if we need to regenerate scenario order (add new conditional scenarios)
var availableScenarios = [];
for (var i = 0; i < scenarios.length; i++) {
if (!scenarios[i].condition || scenarios[i].condition()) {
availableScenarios.push(i);
}
}
// If no more scenarios in current order, regenerate
if (scenarioOrder.length === 0) {
scenarioOrder = shuffleArray(availableScenarios.filter(function (index) {
return usedScenarios.indexOf(index) === -1;
}));
// If all scenarios used, reset and reshuffle
if (scenarioOrder.length === 0) {
usedScenarios = [];
scenarioOrder = shuffleArray(availableScenarios);
}
}
currentScenarioIndex = scenarioOrder.shift();
usedScenarios.push(currentScenarioIndex);
var scenario = scenarios[currentScenarioIndex];
scenarioCard.setScenario(scenario);
// Reset card position
scenarioCard.x = 1024;
scenarioCard.alpha = 1;
// Introduction text hiding is now handled by click event
// Animate card appearance
tween(scenarioCard, {
y: 1500
}, {
duration: 500,
easing: tween.easeOut
});
}
function makeChoice(isLeft) {
if (isProcessingChoice) return;
isProcessingChoice = true;
var scenario = scenarios[currentScenarioIndex];
var choice = isLeft ? scenario.leftOption : scenario.rightOption;
// Track specific decisions for future scenarios
if (scenario.title.indexOf("Yiyecek") !== -1) {
decisions.foodRationing = (decisions.foodRationing || 0) + 1;
}
if (scenario.title.indexOf("Tıbbi") !== -1 && isLeft) {
decisions.savedChild = true;
}
if (scenario.title.indexOf("Güvenlik") !== -1 && isLeft) {
decisions.investigated = true;
}
if (scenario.title.indexOf("Enerji") !== -1 && !isLeft) {
decisions.prioritizedWater = (decisions.prioritizedWater || 0) + 1;
}
if (scenario.title.indexOf("Kaynak") !== -1 && isLeft) {
decisions.sentHunters = (decisions.sentHunters || 0) + 1;
}
// Save decisions to storage
storage.decisions = decisions;
// Apply effects
var hasPositiveEffect = false;
var hasNegativeEffect = false;
for (var key in choice.effects) {
var effect = choice.effects[key];
stats[key] += effect;
stats[key] = Math.max(0, Math.min(100, stats[key]));
if (effect > 0) hasPositiveEffect = true;
if (effect < 0) hasNegativeEffect = true;
}
// Play appropriate sound
if (hasPositiveEffect && !hasNegativeEffect) {
LK.getSound('positive').play();
} else if (hasNegativeEffect && !hasPositiveEffect) {
LK.getSound('negative').play();
} else {
LK.getSound('decision').play();
}
// Animate card exit
var targetX = isLeft ? -1000 : 3000;
tween(scenarioCard, {
x: targetX,
alpha: 0
}, {
duration: 300,
easing: tween.easeIn,
onFinish: function onFinish() {
currentScenarioIndex++;
dayCounter++;
dayText.setText('Gün ' + dayCounter);
// Check for game over conditions
for (var key in stats) {
if (stats[key] <= 0) {
LK.showGameOver();
return;
}
}
// Check for victory condition
var allStatsGood = true;
for (var key in stats) {
if (stats[key] < 80) {
allStatsGood = false;
break;
}
}
if (allStatsGood && dayCounter >= 30) {
LK.showYouWin();
return;
}
updateStats();
// Population decline based on health
var populationTextValue = populationText.text || 'Nüfus: 300';
var currentPopulation = parseInt(populationTextValue.split(': ')[1]);
if (stats.health < 50) {
var populationLoss = 0;
if (stats.health < 30) {
populationLoss = 10; // 10 people die per day when health below 30
} else {
populationLoss = Math.floor((50 - stats.health) / 10); // Population decreases when health below 50
}
var newPopulation = Math.max(0, currentPopulation - populationLoss);
populationText.setText('Nüfus: ' + newPopulation);
// Game over if population reaches 0
if (newPopulation <= 0) {
LK.showGameOver();
return;
}
}
loadScenario();
isProcessingChoice = false;
}
});
}
game.down = function (x, y, obj) {
if (isProcessingChoice) return;
isDragging = true;
dragStartX = x;
cardStartX = scenarioCard.x;
};
game.move = function (x, y, obj) {
if (isDragging && !isProcessingChoice) {
var deltaX = x - dragStartX;
scenarioCard.x = cardStartX + deltaX;
// Visual feedback
var swipeThreshold = 300;
if (Math.abs(deltaX) > swipeThreshold) {
if (deltaX > 0) {
scenarioCard.getLeftOption().alpha = 0.5;
scenarioCard.getRightOption().alpha = 1;
} else {
scenarioCard.getLeftOption().alpha = 1;
scenarioCard.getRightOption().alpha = 0.5;
}
} else {
scenarioCard.getLeftOption().alpha = 1;
scenarioCard.getRightOption().alpha = 1;
}
}
};
game.up = function (x, y, obj) {
if (isDragging && !isProcessingChoice) {
isDragging = false;
var deltaX = x - dragStartX;
var swipeThreshold = 300;
if (Math.abs(deltaX) > swipeThreshold) {
if (deltaX > 0) {
makeChoice(false); // Right choice
} else {
makeChoice(true); // Left choice
}
} else {
// Snap back to center
tween(scenarioCard, {
x: 1024
}, {
duration: 200,
easing: tween.easeOut
});
}
// Reset option opacity
scenarioCard.getLeftOption().alpha = 1;
scenarioCard.getRightOption().alpha = 1;
}
};
// Initialize game
initializeScenarioOrder();
updateStats();
// Show introduction text at start
introText.alpha = 1;
// Hide scenario card initially
scenarioCard.alpha = 0;
scenarioCard.y = 2732; // Position off-screen
// First scenario will be loaded when introduction text is clicked; /****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
var OptionCard = Container.expand(function () {
var self = Container.call(this);
var background = self.attachAsset('optionCard', {
anchorX: 0.5,
anchorY: 0.5
});
var optionText = new Text2('', {
size: 45,
fill: 0xFFFFFF,
wordWrap: true,
wordWrapWidth: 720
});
optionText.anchor.set(0.5, 0.5);
optionText.x = 0;
optionText.y = -50;
self.addChild(optionText);
var effectsText = new Text2('', {
size: 34,
fill: 0xAAAAAA,
wordWrap: true,
wordWrapWidth: 720
});
effectsText.anchor.set(0.5, 0.5);
effectsText.x = 0;
effectsText.y = 80;
self.addChild(effectsText);
self.setOption = function (option) {
optionText.setText(option.text);
var effectsStr = '';
for (var key in option.effects) {
var value = option.effects[key];
var symbol = value > 0 ? '+' : '';
effectsStr += key + ': ' + symbol + value + '\n';
}
effectsText.setText(effectsStr);
};
return self;
});
var ScenarioCard = Container.expand(function () {
var self = Container.call(this);
var background = self.attachAsset('scenarioCard', {
anchorX: 0.5,
anchorY: 0.5
});
var titleText = new Text2('', {
size: 60,
fill: 0xFFFFFF
});
titleText.anchor.set(0.5, 0);
titleText.x = 0;
titleText.y = -550;
self.addChild(titleText);
var descriptionText = new Text2('', {
size: 44,
fill: 0xCCCCCC,
wordWrap: true,
wordWrapWidth: 1600
});
descriptionText.anchor.set(0.5, 0);
descriptionText.x = 0;
descriptionText.y = -450;
self.addChild(descriptionText);
var leftOption = self.addChild(new OptionCard());
leftOption.x = -400;
leftOption.y = 200;
var rightOption = self.addChild(new OptionCard());
rightOption.x = 400;
rightOption.y = 200;
var swipeLeft = self.attachAsset('swipeIndicator', {
anchorX: 0.5,
anchorY: 0.5
});
swipeLeft.x = -400;
swipeLeft.y = 450;
swipeLeft.alpha = 0.5;
var swipeRight = self.attachAsset('swipeIndicator', {
anchorX: 0.5,
anchorY: 0.5
});
swipeRight.x = 400;
swipeRight.y = 450;
swipeRight.alpha = 0.5;
self.setScenario = function (scenario) {
titleText.setText(scenario.title);
descriptionText.setText(scenario.description);
leftOption.setOption(scenario.leftOption);
rightOption.setOption(scenario.rightOption);
};
self.getLeftOption = function () {
return leftOption;
};
self.getRightOption = function () {
return rightOption;
};
return self;
});
var StatBar = Container.expand(function (statName, color) {
var self = Container.call(this);
var background = self.attachAsset('statBar', {
anchorX: 0,
anchorY: 0
});
var fill = self.attachAsset('statFill', {
anchorX: 0,
anchorY: 0
});
fill.tint = color;
var label = new Text2(statName, {
size: 36,
fill: 0xFFFFFF
});
label.anchor.set(0, 0.5);
label.x = 310;
label.y = 20;
self.addChild(label);
var valueText = new Text2('100', {
size: 36,
fill: 0xFFFFFF
});
valueText.anchor.set(1, 0.5);
valueText.x = 550;
valueText.y = 20;
self.addChild(valueText);
self.setValue = function (value) {
fill.scaleX = Math.max(0, Math.min(1, value / 100));
valueText.setText(Math.round(value).toString());
if (value < 30) {
fill.tint = 0xff0000;
} else if (value < 60) {
fill.tint = 0xffff00;
} else {
fill.tint = color;
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x1a1a1a
});
/****
* Game Code
****/
var stats = {
morale: 100,
resources: 100,
security: 100,
health: 100,
hope: 100
};
var scenarios = [{
title: "Yiyecek Kıtlığı Krizi",
description: "Sığınağın yiyecek malzemeleri tehlikeli derecede azaldı. Bir avcı grubu sınırlı malzemelerle geri döndü, ancak herkes için yeterli değil.",
leftOption: {
text: "Yiyeceği 300 kişi arasında eşit olarak paylaştır",
effects: {
morale: -10,
resources: -5,
health: -15,
hope: 5
}
},
rightOption: {
text: "Temel işçiler için yiyeceği öncelendir",
effects: {
morale: -20,
resources: 10,
security: 5,
health: -5
}
}
}, {
title: "Tıbbi Malzeme İkilemi",
description: "Bir çocuk kritik durumda ve ilaç gerekiyor. Aynı ilaç, hafif rahatsızlıkları olan birkaç yetişkini tedavi etmek için kullanılabilir.",
leftOption: {
text: "Tüm mevcut ilaçla çocuğu kurtar",
effects: {
morale: 15,
health: -10,
hope: 10
}
},
rightOption: {
text: "Bunun yerine birçok yetişkini tedavi et",
effects: {
morale: -15,
health: 20,
hope: -10
}
}
}, {
title: "Güvenlik İhlali",
description: "Sığınak girişi yakınında bilinmeyen figürler görüldü. Güvenlik ekibiniz araştırma için izin istiyor, ancak bu açığa çıkma riskini taşıyor.",
leftOption: {
text: "Güvenlik ekibini araştırmaya gönder",
effects: {
security: 15,
resources: -10,
morale: -5
}
},
rightOption: {
text: "Gizli kal ve bekle",
effects: {
security: -10,
morale: -10,
hope: -5
}
}
}, {
title: "Enerji Tasarrufu",
description: "Sığınağın elektrik şebekesi arızalanıyor. Yaşam alanlarını ısıtmak ile su filtreleme sistemini sürdürmek arasında seçim yapmalısın.",
leftOption: {
text: "Konfor için ısıtmaya öncelik ver",
effects: {
morale: 10,
health: -15,
resources: -10
}
},
rightOption: {
text: "Su filtreleme sistemini sürdür",
effects: {
morale: -15,
health: 15,
resources: 5
}
}
}, {
title: "Kaynak Keşfi",
description: "İzciler terk edilmiş bir malzeme deposu buldular, ancak onu geri almak en iyi avcılarının hayatını riske atmayı gerektiriyor.",
leftOption: {
text: "Avcı ekibini gönder",
effects: {
resources: 25,
security: -10,
morale: -5
}
},
rightOption: {
text: "Güvenli oyna ve yerinde kal",
effects: {
resources: -5,
security: 5,
morale: 5
}
}
}, {
title: "Sığınak İsyanı",
description: "Sürekli kıt kaynak dağıtımından dolayı halk ayaklandı. Güvenlik güçlerin müdahale etmesini istiyorlar.",
condition: function condition() {
return decisions.foodRationing >= 2;
},
leftOption: {
text: "Güç kullanarak isyanı bastır",
effects: {
morale: -25,
security: 15,
hope: -20
}
},
rightOption: {
text: "İsyancılarla müzakere et",
effects: {
morale: 10,
security: -10,
resources: -15
}
}
}, {
title: "Doktor Krizi",
description: "Ana doktorunuz hasta oldu. Daha önce çocuğu kurtarmayı seçtiğiniz için ailesi size güveniyor.",
condition: function condition() {
return decisions.savedChild;
},
leftOption: {
text: "Tüm tıbbi kaynakları doktora kullan",
effects: {
morale: 20,
health: -20,
hope: 15
}
},
rightOption: {
text: "Doktoru iyileştirmek için sadece gerekli kaynakları kullan",
effects: {
morale: 5,
health: 10,
hope: -5
}
}
}, {
title: "Güvenlik Açığı Sonuçları",
description: "Daha önce dışarıdaki figürleri araştırdığınız için şimdi onlar sığınağınızı buluyor.",
condition: function condition() {
return decisions.investigated;
},
leftOption: {
text: "Saldırıya hazırlan ve savaş",
effects: {
morale: -15,
security: -20,
health: -25,
hope: -10
}
},
rightOption: {
text: "Barışçıl temas kurmaya çalış",
effects: {
morale: 15,
security: -5,
resources: 20,
hope: 25
}
}
}, {
title: "Enerji Yeniliği",
description: "Su filtreleme sistemine yaptığınız yatırım yeni bir enerji kaynağı keşfetmenizi sağladı.",
condition: function condition() {
return decisions.prioritizedWater >= 2;
},
leftOption: {
text: "Yeni teknolojiyi tüm sığınakta uygula",
effects: {
morale: 25,
resources: 30,
health: 20,
hope: 30
}
},
rightOption: {
text: "Teknolojiyi yavaşça ve güvenli şekilde test et",
effects: {
morale: 5,
resources: 15,
health: 10,
hope: 10
}
}
}, {
title: "Avcı Kayıpları",
description: "Sürekli riskli görevlere gönderdiğiniz avcılardan üçü geri dönmedi. Aileleri açıklama bekliyor.",
condition: function condition() {
return decisions.sentHunters >= 2;
},
leftOption: {
text: "Gerçeği söyle ve sorumluluğu üstlen",
effects: {
morale: -20,
security: -15,
hope: 5
}
},
rightOption: {
text: "Onları kahramanlar olarak an ve gerçeği gizle",
effects: {
morale: 10,
security: 5,
hope: -15
}
}
}, {
title: "Radyasyon Sızıntısı",
description: "Sığınağın doğu sektöründe radyasyon seviyesi yükseliyor. Bu bölgeyi kapatmak 50 kişiyi tahliye etmeyi gerektiriyor.",
leftOption: {
text: "Bölgeyi derhal kapatın ve insanları tahliye edin",
effects: {
health: 15,
morale: -10,
resources: -15
}
},
rightOption: {
text: "Radyasyon kalkanı inşa etmeyi deneyin",
effects: {
health: -20,
resources: -25,
security: 10
}
}
}, {
title: "Su Kirliği",
description: "Ana su kaynağında bakteriyel kontaminasyon tespit edildi. Su arıtma sistemi onarım gerektiriyor.",
leftOption: {
text: "Tüm kaynakları su arıtımına odaklayın",
effects: {
health: 20,
resources: -20,
morale: 5
}
},
rightOption: {
text: "Yedek su kaynaklarına geçin",
effects: {
health: -5,
resources: 15,
security: -10
}
}
}, {
title: "Yaşlı Nüfus Sorunu",
description: "Sığınaktaki yaşlı nüfus artan sağlık sorunları yaşıyor ve daha fazla kaynak gerektiriyor.",
leftOption: {
text: "Yaşlılara öncelikli bakım sağlayın",
effects: {
morale: 15,
health: -10,
resources: -15,
hope: 10
}
},
rightOption: {
text: "Kaynakları genç nüfusa odaklayın",
effects: {
morale: -25,
health: 10,
resources: 10,
hope: -15
}
}
}, {
title: "Eğitim Sistemi",
description: "Çocuklar için eğitim sistemini kurma zamanı geldi. Pratik beceriler mi yoksa akademik bilgi mi öncelikli olsun?",
leftOption: {
text: "Praktik hayatta kalma becerilerine odaklanın",
effects: {
security: 15,
resources: 10,
morale: -5,
hope: 5
}
},
rightOption: {
text: "Akademik ve sanatsal eğitime yatırım yapın",
effects: {
morale: 20,
hope: 15,
resources: -10,
security: -5
}
}
}, {
title: "Gıda Üretimi İnovasyonu",
description: "Bilim ekibiniz hidroponik tarım sistemi geliştirdi. Bu yeni sistemi test etmek riskli ama ödüllendirici olabilir.",
leftOption: {
text: "Yeni sistemi büyük çapta uygulayın",
effects: {
resources: 25,
health: 10,
security: -15
}
},
rightOption: {
text: "Küçük ölçekte test edin",
effects: {
resources: 10,
health: 5,
morale: 5
}
}
}, {
title: "Enerji Krizi",
description: "Ana güç jeneratörü arızalandı. Yedek sistemler sadece birkaç gün daha dayanabilir.",
leftOption: {
text: "Tüm teknisyenleri onarıma odaklayın",
effects: {
security: 20,
resources: -15,
morale: -10
}
},
rightOption: {
text: "Enerji tasarrufu moduna geçin",
effects: {
morale: -20,
health: -10,
resources: 5,
hope: -5
}
}
}, {
title: "Psikolojik Destek",
description: "Sığınaktaki insanlar depresyon ve anksiyete yaşıyor. Psikolojik destek programı başlatmalısınız.",
leftOption: {
text: "Profesyonel terapi seansları düzenleyin",
effects: {
morale: 25,
hope: 20,
resources: -10
}
},
rightOption: {
text: "Topluluk destekli aktiviteler organize edin",
effects: {
morale: 15,
hope: 10,
security: 5
}
}
}, {
title: "Dış Dünya İletişimi",
description: "Radyo sinyali aldınız. Başka hayatta kalanlar var ama konumunuzu açığa çıkarma riskiyle karşı karşıyasınız.",
leftOption: {
text: "İletişim kurun ve koordinasyon yapın",
effects: {
hope: 30,
morale: 20,
security: -20
}
},
rightOption: {
text: "Sessiz kalın ve pozisyonunuzu koruyun",
effects: {
security: 15,
hope: -10,
morale: -5
}
}
}, {
title: "Atık Yönetimi",
description: "Sığınaktaki atık miktarı tehlikeli seviyelere ulaştı. Atık imha sistemi çözüm gerektiriyor.",
leftOption: {
text: "Yeni arıtma sistemi kurun",
effects: {
health: 20,
resources: -25,
security: 10
}
},
rightOption: {
text: "Atıkları dış alanlara boşaltın",
effects: {
health: -15,
security: -20,
resources: 10
}
}
}, {
title: "Teknoloji Koruma",
description: "Değerli teknolojik ekipmanlarınız eskiyor. Yedek parça bulmak veya yeniden inşa etmek gerekiyor.",
leftOption: {
text: "Mevcut teknolojileri korumaya odaklanın",
effects: {
security: 10,
resources: -15,
health: 5
}
},
rightOption: {
text: "Yeni teknolojiler geliştirmeye yatırım yapın",
effects: {
hope: 20,
resources: -20,
morale: 10
}
}
}, {
title: "Sosyal Hiyerarşi",
description: "Sığınakta sosyal sınıflar oluşmaya başladı. Eşitlikçi mi yoksa meritkratik mi bir sistem kuracaksınız?",
leftOption: {
text: "Katı eşitlik ilkesi uygulayın",
effects: {
morale: 15,
security: -10,
resources: -5,
hope: 10
}
},
rightOption: {
text: "Liyakat temelli hiyerarşi kurun",
effects: {
morale: -15,
security: 15,
resources: 15,
hope: -5
}
}
}, {
title: "Genetik Çeşitlilik",
description: "Uzun vadeli hayatta kalma için genetik çeşitliliği korumak gerekiyor. Üreme politikası belirlemelisiniz.",
leftOption: {
text: "Genetik çeşitliliği maksimize edin",
effects: {
hope: 25,
morale: -10,
health: 15
}
},
rightOption: {
text: "Doğal seçime bırakın",
effects: {
morale: 10,
hope: -5,
health: -10
}
}
}, {
title: "Sanat ve Kültür",
description: "İnsanlar maneviyatlarını yükseltmek için sanatsal aktiviteler talep ediyor. Kaynakları buna ayırmaya değer mi?",
leftOption: {
text: "Sanat programlarını destekleyin",
effects: {
morale: 25,
hope: 20,
resources: -15
}
},
rightOption: {
text: "Kaynaklarınızı pratik ihtiyaçlara odaklayın",
effects: {
morale: -10,
hope: -10,
resources: 15,
security: 5
}
}
}, {
title: "Çocuk İşçiliği",
description: "İş gücü ihtiyacı artıyor. Çocukları hafif işlerde çalıştırmak mı yoksa eğitimlerine odaklanmak mı?",
leftOption: {
text: "Çocukları hafif işlerde görevlendirin",
effects: {
resources: 15,
morale: -20,
hope: -15,
security: 10
}
},
rightOption: {
text: "Çocukların eğitimine öncelik verin",
effects: {
hope: 25,
morale: 15,
resources: -10
}
}
}, {
title: "Hastalık Karantinası",
description: "Bulaşıcı bir hastalık yayılıyor. Hastaları izole etmek mi yoksa toplumsal dayanışmayı sürdürmek mi?",
leftOption: {
text: "Katı karantina uygulayın",
effects: {
health: 25,
morale: -20,
security: 10,
hope: -10
}
},
rightOption: {
text: "Toplumsal bakımı sürdürün",
effects: {
health: -25,
morale: 20,
hope: 15
}
}
}, {
title: "Silah Üretimi",
description: "Güvenlik için silah üretimi gerekli mi? Bu kaynakları başka alanlarda kullanabilirsiniz.",
leftOption: {
text: "Silah üretimini artırın",
effects: {
security: 25,
resources: -20,
morale: -10
}
},
rightOption: {
text: "Barışçıl çözümlere odaklanın",
effects: {
morale: 15,
hope: 20,
security: -15
}
}
}, {
title: "Dış Keşif",
description: "Yüzeydeki radyasyon seviyesinin azaldığı raporlanıyor. Keşif ekibi göndermek riskli ama umut verici.",
leftOption: {
text: "Keşif misyonu başlatın",
effects: {
hope: 30,
security: -15,
resources: -10
}
},
rightOption: {
text: "Daha güvenli koşullar için bekleyin",
effects: {
morale: -10,
hope: -5,
security: 10
}
}
}, {
title: "Ticaret Sistemi",
description: "Sığınak içinde takas sistemi gelişiyor. Bu sistemi desteklemek mi yoksa merkezi dağıtımı sürdürmek mi?",
leftOption: {
text: "Serbest ticaret sistemini destekleyin",
effects: {
morale: 20,
resources: 15,
security: -10
}
},
rightOption: {
text: "Merkezi dağıtım sistemini koruyun",
effects: {
morale: -10,
security: 15,
resources: -5,
hope: 5
}
}
}, {
title: "Yaşlı Bilgi",
description: "Yaşlılar eskiden dünyadan değerli bilgiler saklıyor. Bu bilgileri kaydetmek için zaman ayırmalı mısınız?",
leftOption: {
text: "Bilgi arşivleme projesini başlatın",
effects: {
hope: 25,
morale: 15,
resources: -10
}
},
rightOption: {
text: "Mevcut acil ihtiyaçlara odaklanın",
effects: {
resources: 10,
hope: -10,
morale: -5
}
}
}, {
title: "Enerji Paylaşımı",
description: "Komşu sığınak enerji konusunda yardım istiyor. Onlara yardım etmek kendi kaynaklarınızı riske atar.",
condition: function condition() {
return decisions.communicatedOutside;
},
leftOption: {
text: "Enerji paylaşın ve ittifak kurun",
effects: {
hope: 20,
resources: -15,
security: 10,
morale: 15
}
},
rightOption: {
text: "Kendi kaynaklarınızı koruyun",
effects: {
resources: 10,
security: 5,
hope: -15,
morale: -10
}
}
}, {
title: "Mutasyon Sorunu",
description: "Bazı sığınak sakinlerinde genetik mutasyonlar görülüyor. Bu durumu nasıl karşılayacaksınız?",
leftOption: {
text: "Mutasyonları tedavi etmeye çalışın",
effects: {
health: -15,
resources: -20,
morale: 15,
hope: 10
}
},
rightOption: {
text: "Mutasyonları doğal evrim olarak kabul edin",
effects: {
morale: -10,
health: 10,
hope: 20
}
}
}, {
title: "Liderlik Krizi",
description: "Bazı gruplar sizin liderliğinizi sorguluyor. Otoritenizi nasıl güçlendireceksiniz?",
leftOption: {
text: "Demokratik oylamalarla meşruiyeti artırın",
effects: {
morale: 25,
security: -15,
hope: 15
}
},
rightOption: {
text: "Güçlü liderlik ile kararlılık gösterin",
effects: {
security: 20,
morale: -15,
resources: 10
}
}
}, {
title: "Gizli Araştırma",
description: "Bilim ekibiniz etik olmayan deneyler yapmak istiyor. Bu araştırmalar hayatta kalmayı sağlayabilir.",
leftOption: {
text: "Araştırmalara izin verin",
effects: {
health: 20,
security: 15,
morale: -25,
hope: -15
}
},
rightOption: {
text: "Etik sınırları koruyun",
effects: {
morale: 20,
hope: 15,
health: -10,
security: -5
}
}
}, {
title: "Beslenme Çeşitliliği",
description: "Monoton beslenme halkın sağlığını etkiliyor. Gıda çeşitliliğini artırmak için kaynak ayırmalı mısınız?",
leftOption: {
text: "Gıda çeşitliliği programı başlatın",
effects: {
health: 20,
morale: 15,
resources: -20
}
},
rightOption: {
text: "Temel besinlerle yetinin",
effects: {
health: -10,
morale: -10,
resources: 15
}
}
}, {
title: "Bilgi Güvenliği",
description: "Kritik bilgilere erişimi sınırlamak mı yoksa şeffaflığı sürdürmek mi gerekiyor?",
leftOption: {
text: "Bilgiyi sınırlayın ve güvenliği artırın",
effects: {
security: 20,
morale: -15,
hope: -10
}
},
rightOption: {
text: "Şeffaflığı koruyun",
effects: {
morale: 20,
hope: 15,
security: -15
}
}
}, {
title: "Doğum Kontrolü",
description: "Nüfus artışı kaynakları zorluyor. Doğum kontrolü politikası uygulamalı mısınız?",
leftOption: {
text: "Doğum kontrolü uygulayın",
effects: {
resources: 15,
morale: -20,
hope: -10,
health: 5
}
},
rightOption: {
text: "Doğal nüfus artışına izin verin",
effects: {
hope: 20,
morale: 15,
resources: -20,
health: -10
}
}
}, {
title: "Teknoloji Bağımlılığı",
description: "İnsanlar teknolojiye aşırı bağımlı hale geldi. Bu bağımlılığı azaltmak için adım atmalı mısınız?",
leftOption: {
text: "Teknoloji kullanımını sınırlayın",
effects: {
health: 15,
morale: -15,
security: -10,
hope: 5
}
},
rightOption: {
text: "Teknolojik gelişimi destekleyin",
effects: {
morale: 15,
security: 15,
health: -10,
hope: 10
}
}
}, {
title: "Çevre Koruma",
description: "Sığınağın çevresel sistemi bozuluyor. Ekolojik dengeyi korumak için yatırım gerekiyor.",
leftOption: {
text: "Çevre koruma programı başlatın",
effects: {
health: 25,
hope: 20,
resources: -25
}
},
rightOption: {
text: "Acil ihtiyaçlara odaklanın",
effects: {
health: -15,
hope: -10,
resources: 15
}
}
}, {
title: "Spor ve Rekreasyon",
description: "Fiziksel aktivite eksikliği sağlık sorunlarına yol açıyor. Spor tesisleri kurmalı mısınız?",
leftOption: {
text: "Spor tesisleri inşa edin",
effects: {
health: 20,
morale: 20,
resources: -15
}
},
rightOption: {
text: "Alanı başka amaçlarla kullanın",
effects: {
health: -10,
morale: -10,
resources: 10,
security: 5
}
}
}, {
title: "Dil ve İletişim",
description: "Farklı etnik gruplar kendi dillerini konuşuyor. Ortak dil politikası gerekli mi?",
leftOption: {
text: "Ortak dil zorunluluğu getirin",
effects: {
security: 15,
morale: -20,
hope: -5
}
},
rightOption: {
text: "Çok dilli sistemi destekleyin",
effects: {
morale: 20,
hope: 15,
security: -10
}
}
}, {
title: "Karar Alma Süreci",
description: "Önemli kararları nasıl alacağınız sorgulanıyor. Danışma kurulu mu yoksa tek adam kararı mı?",
leftOption: {
text: "Danışma kurulu oluşturun",
effects: {
morale: 25,
hope: 15,
security: -15
}
},
rightOption: {
text: "Karar alma yetkisini koruyun",
effects: {
security: 20,
morale: -15,
resources: 10
}
}
}, {
title: "Bellek Kayıtları",
description: "Savaş öncesi yaşamdan kayıtlar bulundu. Bu anıları korumak mı yoksa geçmişi unutturmak mı?",
leftOption: {
text: "Geçmiş kayıtlarını koruyun",
effects: {
hope: 25,
morale: -10,
resources: -10
}
},
rightOption: {
text: "Geleceğe odaklanın",
effects: {
hope: -10,
morale: 15,
resources: 10
}
}
}, {
title: "İç Güvenlik",
description: "Sığınak içinde küçük suçlar artıyor. Güvenlik güçlerini artırmak mı yoksa sosyal programlar mı?",
leftOption: {
text: "Güvenlik güçlerini artırın",
effects: {
security: 25,
morale: -15,
hope: -10
}
},
rightOption: {
text: "Sosyal rehabilitasyon programları başlatın",
effects: {
morale: 20,
hope: 15,
security: -15
}
}
}, {
title: "Enerji Verimliliği",
description: "Yeni enerji tasarruf teknolojileri mevcut. Eski sistemleri değiştirmek maliyetli ama verimli.",
leftOption: {
text: "Yeni teknolojilere geçin",
effects: {
resources: -25,
health: 15,
security: 20,
hope: 10
}
},
rightOption: {
text: "Mevcut sistemleri optimize edin",
effects: {
resources: 5,
health: 5,
security: 5
}
}
}, {
title: "Sosyal Medya",
description: "İç iletişim ağı kuruldu ama dedikodular ve yanlış bilgiler yayılıyor. Bu sistemi düzenlemeli misiniz?",
leftOption: {
text: "İletişimi sıkı şekilde düzenleyin",
effects: {
security: 15,
morale: -20,
hope: -10
}
},
rightOption: {
text: "Serbest iletişime izin verin",
effects: {
morale: 20,
hope: 15,
security: -20
}
}
}, {
title: "Araştırma Bütçesi",
description: "Bilimsel araştırma için bütçe ayırmak gelecek için önemli ama mevcut ihtiyaçları zorluyor.",
leftOption: {
text: "Araştırma bütçesini artırın",
effects: {
hope: 25,
resources: -20,
health: 10
}
},
rightOption: {
text: "Mevcut ihtiyaçlara odaklanın",
effects: {
resources: 15,
hope: -15,
health: 5
}
}
}, {
title: "Gıda Güvenliği",
description: "Bazı gıda kaynaklarında bozulma tespit edildi. Bu gıdaları imha etmek mi yoksa risk alıp kullanmak mı?",
leftOption: {
text: "Şüpheli gıdaları imha edin",
effects: {
health: 20,
resources: -25,
morale: 10
}
},
rightOption: {
text: "Gıdaları dikkatlice işleyip kullanın",
effects: {
health: -20,
resources: 15,
morale: -10
}
}
}, {
title: "Yetenek Geliştirme",
description: "İnsanların yeteneklerini geliştirmek için eğitim programları mı yoksa pratik deneyim mi?",
leftOption: {
text: "Teorik eğitim programları",
effects: {
hope: 20,
morale: 15,
resources: -15,
security: -5
}
},
rightOption: {
text: "Uygulamalı öğrenme sistemi",
effects: {
security: 15,
resources: 10,
morale: -5
}
}
}, {
title: "Kültürel Etkinlikler",
description: "Festivaller ve kutlamalar moral için önemli ama kaynak tüketiyor. Bu etkinlikleri desteklemeli misiniz?",
leftOption: {
text: "Kültürel etkinlikleri destekleyin",
effects: {
morale: 30,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Kaynaklarınızı koruyun",
effects: {
morale: -15,
hope: -10,
resources: 15
}
}
}, {
title: "İnovasyon Teşviki",
description: "Yaratıcı çözümler için ödül sistemi mi yoksa zorunlu inovasyon programları mı daha etkili?",
leftOption: {
text: "Ödül tabanlı teşvik sistemi",
effects: {
morale: 20,
hope: 20,
resources: -15
}
},
rightOption: {
text: "Zorunlu inovasyon programları",
effects: {
security: 15,
resources: 10,
morale: -15
}
}
}, {
title: "Kaynak Dağıtımı",
description: "Kıt kaynakları yaşa, yeteneğe, ya da ihtiyaca göre mi dağıtacaksınız?",
leftOption: {
text: "İhtiyaç temelli dağıtım",
effects: {
morale: 20,
health: 15,
resources: -10
}
},
rightOption: {
text: "Yetenek temelli dağıtım",
effects: {
morale: -15,
security: 15,
resources: 15
}
}
}, {
title: "Psikolojik Savaş",
description: "Dış gruplardan psikolojik baskı geliyor. Bu tehditlere nasıl yanıt vereceksiniz?",
condition: function condition() {
return decisions.communicatedOutside;
},
leftOption: {
text: "Psikolojik savunma programı başlatın",
effects: {
morale: 15,
security: 20,
resources: -15
}
},
rightOption: {
text: "Tehditleri görmezden gelin",
effects: {
morale: -20,
security: -15,
resources: 5
}
}
}, {
title: "Teknolojik Bağımsızlık",
description: "Dışarıya bağımlılığı azaltmak için kendi teknolojinizi mi geliştirirsiniz?",
leftOption: {
text: "Teknolojik bağımsızlık için yatırım yapın",
effects: {
hope: 25,
security: 20,
resources: -30
}
},
rightOption: {
text: "Mevcut teknolojilerle yetinin",
effects: {
resources: 10,
hope: -10,
security: -5
}
}
}, {
title: "Çocuk Bakımı",
description: "Çocuk bakımını ailelere mi bırakacaksınız yoksa toplumsal sistem mi kuracaksınız?",
leftOption: {
text: "Toplumsal çocuk bakım sistemi",
effects: {
morale: 15,
health: 20,
resources: -20,
hope: 15
}
},
rightOption: {
text: "Aile tabanlı bakım sistemi",
effects: {
morale: 10,
resources: 10,
security: -5
}
}
}, {
title: "Enerji Depolama",
description: "Fazla enerji depolamak için yeni sistem kurulacak. Bu yatırım gelecek için kritik mi?",
leftOption: {
text: "Enerji depolama sistemine yatırım yapın",
effects: {
security: 25,
resources: -25,
hope: 20
}
},
rightOption: {
text: "Mevcut sistemlerle devam edin",
effects: {
resources: 10,
security: -10,
hope: -5
}
}
}, {
title: "Sosyal Adalet",
description: "Bazı gruplar ayrımcılık yaşadığını iddia ediyor. Bu durumu nasıl ele alacaksınız?",
leftOption: {
text: "Eşitlik programları başlatın",
effects: {
morale: 25,
hope: 20,
security: -15
}
},
rightOption: {
text: "Mevcut sistemi koruyun",
effects: {
security: 15,
morale: -20,
hope: -15
}
}
}, {
title: "Bilimsel Etik",
description: "Tartışmalı bilimsel deneyler öneriliyor. Bu araştırmalar ileriye dönük çözümler sağlayabilir.",
leftOption: {
text: "Etik komite kurarak deneyleri denetleyin",
effects: {
hope: 20,
morale: 15,
resources: -15
}
},
rightOption: {
text: "Tüm deneyleri yasaklayın",
effects: {
morale: 10,
hope: -20,
resources: 5
}
}
}, {
title: "İklim Kontrolü",
description: "Sığınağın iç iklimini kontrol etmek için gelişmiş sistem kurulacak. Maliyeti yüksek ama konfor sağlar.",
leftOption: {
text: "Gelişmiş iklim sistemi kurun",
effects: {
health: 25,
morale: 20,
resources: -30
}
},
rightOption: {
text: "Temel iklim kontrolüyle yetinin",
effects: {
health: -5,
morale: -10,
resources: 15
}
}
}, {
title: "Kaynak Geri Dönüşümü",
description: "Atık malzemeleri geri dönüştürmek için kapsamlı sistem gerekiyor. Bu yatırıma değer mi?",
leftOption: {
text: "Kapsamlı geri dönüşüm sistemi kurun",
effects: {
health: 20,
resources: 15,
security: 10,
hope: 15
}
},
rightOption: {
text: "Basit geri dönüşümle yetinin",
effects: {
health: 5,
resources: 5,
security: -5
}
}
}, {
title: "Uzun Vadeli Planlama",
description: "50 yıllık gelişim planı hazırlanacak. Bu planlama sürecine kimler dahil edilmeli?",
leftOption: {
text: "Tüm toplumu planlama sürecine dahil edin",
effects: {
morale: 25,
hope: 30,
security: -15,
resources: -10
}
},
rightOption: {
text: "Uzman ekiple planlama yapın",
effects: {
hope: 15,
security: 15,
morale: -10
}
}
}, {
title: "Kültürel Miras",
description: "Savaş öncesi kültürel eserleri korumak için özel alan mı ayrılacak yoksa pratik kullanım mı öncelenecek?",
leftOption: {
text: "Kültürel miras alanı oluşturun",
effects: {
hope: 25,
morale: 20,
resources: -15
}
},
rightOption: {
text: "Alanı pratik ihtiyaçlar için kullanın",
effects: {
resources: 15,
hope: -15,
morale: -10
}
}
}, {
title: "Zihinsel Sağlık",
description: "PTSD ve travma vakalarının artması nedeniyle özel tedavi programı gerekiyor.",
leftOption: {
text: "Kapsamlı zihinsel sağlık programı başlatın",
effects: {
morale: 25,
health: 20,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Temel destek hizmetleriyle yetinin",
effects: {
morale: 5,
health: 5,
resources: 5
}
}
}, {
title: "Teknoloji Paylaşımı",
description: "Diğer sığınaklarla teknoloji paylaşımı öneriliyor. Bu işbirliği riskli ama faydalı olabilir.",
condition: function condition() {
return decisions.communicatedOutside;
},
leftOption: {
text: "Teknoloji paylaşım anlaşması yapın",
effects: {
hope: 30,
security: -20,
resources: 20
}
},
rightOption: {
text: "Teknolojik avantajınızı koruyun",
effects: {
security: 15,
hope: -15,
resources: -5
}
}
}, {
title: "Gelecek Nesil Eğitimi",
description: "Çocukları dünya yeniden inşa edildiğinde liderlik için mi yoksa mevcut sistemde yaşam için mi eğiteceksiniz?",
leftOption: {
text: "Gelecek dünya için liderlik eğitimi",
effects: {
hope: 30,
morale: 15,
resources: -15
}
},
rightOption: {
text: "Mevcut yaşam koşulları için pratik eğitim",
effects: {
security: 15,
resources: 10,
hope: -10
}
}
}, {
title: "Beslenme Araştırması",
description: "Besin değeri yüksek yeni gıdalar geliştirmek için araştırma yapılacak. Riskleri var ama beslenmeyi iyileştirebilir.",
leftOption: {
text: "Beslenme araştırmasına yatırım yapın",
effects: {
health: 25,
hope: 20,
resources: -20
}
},
rightOption: {
text: "Mevcut beslenme sistemini koruyun",
effects: {
health: -5,
resources: 10,
security: 5
}
}
}, {
title: "İç Ticaret Düzenlemesi",
description: "Sığınak içi ticaret sisteminde düzenleme gerekiyor. Serbest piyasa mı yoksa devlet kontrolü mü?",
leftOption: {
text: "Serbest piyasa sistemini benimseyin",
effects: {
morale: 20,
resources: 20,
security: -15
}
},
rightOption: {
text: "Devlet kontrolünde ticaret sistemi",
effects: {
security: 20,
morale: -15,
resources: -5
}
}
}, {
title: "Su Teknolojisi",
description: "İleri su arıtma teknolojisi kurulacak. Maliyetli ama su kalitesini önemli ölçüde artırır.",
leftOption: {
text: "İleri su teknolojisine yatırım yapın",
effects: {
health: 30,
morale: 15,
resources: -25
}
},
rightOption: {
text: "Mevcut su sistemini iyileştirin",
effects: {
health: 10,
resources: -5
}
}
}, {
title: "Çalışma Saatleri",
description: "Verimlilik için çalışma saatlerini artırmak mı yoksa çalışan refahını öncelemek mi?",
leftOption: {
text: "Çalışan refahını önceleyın",
effects: {
morale: 25,
health: 15,
resources: -15
}
},
rightOption: {
text: "Verimlilik için çalışma saatlerini artırın",
effects: {
resources: 20,
morale: -20,
health: -10
}
}
}, {
title: "Güvenlik Taraması",
description: "Tüm sığınak sakinlerine güvenlik taraması yapılacak. Bu özel yaşamı ihlal eder ama güvenliği artırır.",
leftOption: {
text: "Kapsamlı güvenlik taraması yapın",
effects: {
security: 25,
morale: -25,
hope: -10
}
},
rightOption: {
text: "Özel yaşama saygı gösterin",
effects: {
morale: 20,
hope: 15,
security: -15
}
}
}, {
title: "Robotik Teknoloji",
description: "İş gücünü desteklemek için robotik teknoloji geliştirilecek. İnsanları işsiz bırakma riski var.",
leftOption: {
text: "Robotik teknoloji geliştirin",
effects: {
resources: 25,
security: 15,
morale: -20
}
},
rightOption: {
text: "İnsan iş gücünü koruyun",
effects: {
morale: 20,
resources: -10,
security: -5
}
}
}, {
title: "Çevresel İzleme",
description: "Dış çevredeki değişiklikleri izlemek için sensör ağı kurulacak. Erken uyarı sağlar ama maliyetli.",
leftOption: {
text: "Çevresel izleme sistemi kurun",
effects: {
security: 20,
hope: 15,
resources: -20
}
},
rightOption: {
text: "Mevcut izleme yöntemleriyle devam edin",
effects: {
resources: 10,
security: -10,
hope: -5
}
}
}, {
title: "Sanal Gerçeklik",
description: "Moral yükseltmek için sanal gerçeklik sistemi kurulacak. Kaçış sağlar ama gerçeklikten kopma riski var.",
leftOption: {
text: "Sanal gerçeklik sistemi kurun",
effects: {
morale: 30,
hope: 20,
resources: -25,
health: -10
}
},
rightOption: {
text: "Gerçek aktivitelere odaklanın",
effects: {
health: 15,
morale: -10,
resources: 10
}
}
}, {
title: "Yasal Sistem",
description: "Sığınak için yasal sistem kurulacak. Katı hukuk mu yoksa esnek adalet sistemi mi?",
leftOption: {
text: "Esnek adalet sistemi kurun",
effects: {
morale: 20,
hope: 15,
security: -10
}
},
rightOption: {
text: "Katı hukuk sistemi uygulayın",
effects: {
security: 25,
morale: -15,
hope: -5
}
}
}, {
title: "Veri Koruma",
description: "Kişisel verilerin korunması için güvenlik sistemi kurulacak. Mahremiyet önemli ama kaynak gerektirir.",
leftOption: {
text: "Kapsamlı veri koruma sistemi",
effects: {
morale: 20,
security: 15,
resources: -15
}
},
rightOption: {
text: "Temel veri güvenliğiyle yetinin",
effects: {
resources: 5,
morale: -10,
security: 5
}
}
}, {
title: "Beslenme Çeşitliliği",
description: "Farklı kültürlerden yemek tarifleri korumak için program başlatılacak. Kültürel zenginlik ama kaynak gerektirir.",
leftOption: {
text: "Kültürel beslenme programı başlatın",
effects: {
morale: 25,
hope: 20,
resources: -15
}
},
rightOption: {
text: "Standart beslenme sistemiyle devam edin",
effects: {
resources: 10,
morale: -10,
hope: -5
}
}
}, {
title: "İletişim Ağı",
description: "Gelişmiş iç iletişim ağı kurulacak. Koordinasyonu artırır ama güvenlik açığı yaratabilir.",
leftOption: {
text: "Gelişmiş iletişim ağı kurun",
effects: {
security: 15,
morale: 15,
resources: -15
}
},
rightOption: {
text: "Güvenlik odaklı basit iletişim",
effects: {
security: 20,
morale: -10,
resources: -5
}
}
}, {
title: "Yaratıcılık Eğitimi",
description: "Problem çözme için yaratıcılık eğitimi verilecek. İnovasyon sağlar ama pratik becerileri ihmal edebilir.",
leftOption: {
text: "Yaratıcılık eğitimi programı",
effects: {
hope: 25,
morale: 20,
resources: -15,
security: -5
}
},
rightOption: {
text: "Pratik beceri eğitimine odaklanın",
effects: {
security: 15,
resources: 10,
hope: -10
}
}
}, {
title: "Fiziksel Kondisyon",
description: "Sığınakta yaşam fiziksel kondisyonu düşürüyor. Spor zorunluluğu mu yoksa gönüllü aktiviteler mi?",
leftOption: {
text: "Gönüllü spor aktiviteleri destekleyin",
effects: {
health: 15,
morale: 20,
resources: -10
}
},
rightOption: {
text: "Zorunlu fiziksel kondisyon programı",
effects: {
health: 25,
morale: -15,
security: 10
}
}
}, {
title: "Çatışma Çözümü",
description: "Kişiler arası çatışmalar artıyor. Mediyasyon programı mı yoksa katı disiplin mi?",
leftOption: {
text: "Mediyasyon ve uzlaşma programı",
effects: {
morale: 25,
hope: 20,
security: -10
}
},
rightOption: {
text: "Katı disiplin ve ceza sistemi",
effects: {
security: 25,
morale: -20,
hope: -10
}
}
}, {
title: "Teknoloji Eğitimi",
description: "Gelecek nesil için teknoloji eğitimi mi yoksa geleneksel beceriler mi öncelikli?",
leftOption: {
text: "Gelişmiş teknoloji eğitimi",
effects: {
hope: 30,
security: 15,
resources: -20
}
},
rightOption: {
text: "Geleneksel beceri eğitimi",
effects: {
morale: 15,
resources: 10,
hope: -10
}
}
}, {
title: "Gıda Depolama",
description: "Uzun vadeli gıda depolama sistemi kurulacak. Güvenlik sağlar ama başlangıç maliyeti yüksek.",
leftOption: {
text: "Gelişmiş depolama sistemi kurun",
effects: {
security: 25,
health: 15,
resources: -25
}
},
rightOption: {
text: "Mevcut depolama yöntemlerini iyileştirin",
effects: {
security: 10,
resources: -5
}
}
}, {
title: "Müzik ve Sanat",
description: "Müzik ve sanat eğitimi için kaynak ayrılacak. Morale katkı sağlar ama pratik değeri tartışmalı.",
leftOption: {
text: "Müzik ve sanat programları başlatın",
effects: {
morale: 30,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Pratik becerilere odaklanın",
effects: {
resources: 15,
morale: -15,
hope: -10
}
}
}, {
title: "Hava Kalitesi",
description: "Hava kalitesini iyileştirmek için filtrasyon sistemi güncellenecek. Sağlığa faydalı ama enerji tüketir.",
leftOption: {
text: "Gelişmiş hava filtrasyon sistemi",
effects: {
health: 25,
morale: 15,
resources: -20
}
},
rightOption: {
text: "Mevcut sistemle yetinin",
effects: {
health: -5,
resources: 10
}
}
}, {
title: "Sosyal Aktiviteler",
description: "Toplumsal bağları güçlendirmek için sosyal aktivite programı başlatılacak. Kaynak gerektirir ama morali yükseltir.",
leftOption: {
text: "Kapsamlı sosyal aktivite programı",
effects: {
morale: 30,
hope: 20,
resources: -20
}
},
rightOption: {
text: "Sınırlı sosyal aktivitelerle yetinin",
effects: {
morale: 5,
resources: 5
}
}
}, {
title: "Bilgi Paylaşımı",
description: "Kritik bilgilerin toplumla paylaşım düzeyi belirlenecek. Şeffaflık güven yaratır ama paniklere yol açabilir.",
leftOption: {
text: "Tam şeffaflık politikası",
effects: {
morale: 20,
hope: 15,
security: -20
}
},
rightOption: {
text: "Sınırlı bilgi paylaşımı",
effects: {
security: 20,
morale: -15,
hope: -10
}
}
}, {
title: "Acil Durum Hazırlığı",
description: "Olası acil durumlar için hazırlık programı başlatılacak. Güvenlik sağlar ama kaynakları meşgul eder.",
leftOption: {
text: "Kapsamlı acil durum hazırlığı",
effects: {
security: 30,
hope: 15,
resources: -25
}
},
rightOption: {
text: "Temel hazırlık önlemleri",
effects: {
security: 10,
resources: -5
}
}
}, {
title: "Yaşlı Bakımı",
description: "Yaşlı nüfus için özel bakım sistemi kurulacak. İnsani ama kaynakları zorlar.",
leftOption: {
text: "Özel yaşlı bakım sistemi kurun",
effects: {
morale: 25,
health: 20,
hope: 20,
resources: -25
}
},
rightOption: {
text: "Aile bakımı sistemini destekleyin",
effects: {
morale: 10,
resources: -10
}
}
}, {
title: "Teknolojik İnovasyon",
description: "Yeni teknolojiler geliştirmek için inovasyon laboratuvarı kurulacak. Gelecek için önemli ama riskli.",
leftOption: {
text: "İnovasyon laboratuvarı kurun",
effects: {
hope: 30,
security: 15,
resources: -25
}
},
rightOption: {
text: "Mevcut teknolojileri iyileştirin",
effects: {
security: 10,
resources: 5,
hope: -5
}
}
}, {
title: "Eğlence Endüstrisi",
description: "Moral için eğlence ve gösteri programları düzenlenecek. Yaşam kalitesini artırır ama lüks sayılabilir.",
leftOption: {
text: "Eğlence programları organize edin",
effects: {
morale: 30,
hope: 25,
resources: -20
}
},
rightOption: {
text: "Temel ihtiyaçlara odaklanın",
effects: {
resources: 15,
morale: -15,
hope: -10
}
}
}, {
title: "Çevre Dostu Teknoloji",
description: "Sürdürülebilir teknolojiler geliştirilecek. Çevreye faydalı ama geliştirme maliyeti yüksek.",
leftOption: {
text: "Çevre dostu teknoloji geliştirin",
effects: {
health: 25,
hope: 25,
resources: -25
}
},
rightOption: {
text: "Var olan teknolojilerle devam edin",
effects: {
health: -5,
hope: -10,
resources: 10
}
}
}, {
title: "Toplumsal Hafıza",
description: "Savaş öncesi toplumsal değerleri korumak için arşiv oluşturulacak. Kültürel değer taşır ama alan gerektirir.",
leftOption: {
text: "Toplumsal hafıza arşivi oluşturun",
effects: {
hope: 25,
morale: 20,
resources: -15
}
},
rightOption: {
text: "Geleceğe odaklı yaklaşım benimseyin",
effects: {
hope: -10,
resources: 10,
security: 5
}
}
}, {
title: "Sağlık İzleme",
description: "Kişisel sağlık izleme sistemi kurulacak. Erken teşhis sağlar ama mahremiyet endişeleri var.",
leftOption: {
text: "Kapsamlı sağlık izleme sistemi",
effects: {
health: 30,
security: 15,
morale: -15
}
},
rightOption: {
text: "Gönüllü sağlık kontrolları",
effects: {
health: 15,
morale: 15,
resources: -10
}
}
}, {
title: "İş Bölümü",
description: "Çalışma sisteminde uzmanlaşma mı yoksa çok yetenekli işçiler mi tercih edilecek?",
leftOption: {
text: "Uzmanlaşmaya dayalı iş bölümü",
effects: {
resources: 25,
security: 15,
morale: -10
}
},
rightOption: {
text: "Çok yetenekli işçi sistemi",
effects: {
morale: 20,
hope: 15,
resources: -10
}
}
}, {
title: "Kriz Yönetimi",
description: "Gelecekteki krizler için yönetim protokolü oluşturulacak. Hazırlık sağlar ama belirsizlik yaratabilir.",
leftOption: {
text: "Detaylı kriz yönetim protokolü",
effects: {
security: 25,
hope: -10,
resources: -15
}
},
rightOption: {
text: "Esnek yaklaşımla kriz yönetimi",
effects: {
morale: 15,
hope: 10,
security: -10
}
}
}, {
title: "Tarih Eğitimi",
description: "Savaş öncesi tarih eğitimi verilecek. Geçmişten öğrenmek faydalı ama travmatik olabilir.",
leftOption: {
text: "Kapsamlı tarih eğitimi programı",
effects: {
hope: 20,
morale: -10,
resources: -15
}
},
rightOption: {
text: "Seçici tarih eğitimi",
effects: {
morale: 10,
hope: 5,
resources: -5
}
}
}, {
title: "Beslenme Güvenliği",
description: "Gıda üretim süreçlerinde güvenlik standartları yükseltilecek. Sağlığa faydalı ama üretimi yavaşlatır.",
leftOption: {
text: "Yüksek güvenlik standartları",
effects: {
health: 25,
morale: 15,
resources: -20
}
},
rightOption: {
text: "Dengeli güvenlik yaklaşımı",
effects: {
health: 10,
resources: -5
}
}
}, {
title: "Sosyal Sorumluluk",
description: "Bireysel mi yoksa toplumsal sorumluluk mu öne çıkarılacak? Bu seçim değer sistemini şekillendirir.",
leftOption: {
text: "Toplumsal sorumluluk vurgusunu artırın",
effects: {
morale: 20,
security: 15,
hope: 15,
resources: -10
}
},
rightOption: {
text: "Bireysel sorumluluk sistemini destekleyin",
effects: {
morale: -10,
resources: 15,
security: -5
}
}
}, {
title: "Gelecek Vizyonu",
description: "Sığınağın uzun vadeli vizyonu belirlenecek. Dünyayı yeniden inşa etmek mi yoksa burada kalıcı yaşam mı?",
leftOption: {
text: "Dünya yeniden inşa vizyonu",
effects: {
hope: 35,
morale: 20,
resources: -20,
security: -10
}
},
rightOption: {
text: "Kalıcı yeraltı yaşamı vizyonu",
effects: {
security: 20,
resources: 15,
hope: -20,
morale: -15
}
}
}];
var currentScenarioIndex = 0;
var scenarioCard;
var statBars = {};
var isDragging = false;
var dragStartX = 0;
var cardStartX = 0;
var isProcessingChoice = false;
var decisions = storage.decisions || {};
var scenarioOrder = [];
var usedScenarios = [];
// Pause menu handler - called when pause menu is opened
LK.on('pause', function () {
// Add new game option to pause menu
LK.addPauseMenuOption('Yeni Oyun', function () {
// Reset all game state
stats = {
morale: 100,
resources: 100,
security: 100,
health: 100,
hope: 100
};
// Clear stored decisions
storage.decisions = {};
decisions = {};
// Reset counters
dayCounter = 1;
dayText.setText('Gün ' + dayCounter);
populationText.setText('Nüfus: 300');
// Reset scenario tracking
currentScenarioIndex = 0;
scenarioOrder = [];
usedScenarios = [];
isProcessingChoice = false;
isDragging = false;
// Update stats display
updateStats();
// Reset to introduction state
introText.alpha = 1;
scenarioCard.alpha = 0;
scenarioCard.y = 2732;
scenarioCard.x = 1024;
// Initialize new game
initializeScenarioOrder();
// Close pause menu
LK.closePauseMenu();
});
});
// First scenario will be loaded when introduction text is clicked;
var background = game.attachAsset('bunkerBackground', {
anchorX: 0,
anchorY: 0
});
// Create stat bars
var statNames = ['Moral', 'Kaynaklar', 'Güvenlik', 'Sağlık', 'Umut'];
var statColors = [0x00ff00, 0x0080ff, 0xff8000, 0xff0080, 0xffff00];
var statKeys = ['morale', 'resources', 'security', 'health', 'hope'];
for (var i = 0; i < statNames.length; i++) {
var statBar = new StatBar(statNames[i], statColors[i]);
statBar.x = 100;
statBar.y = 100 + i * 60;
statBars[statKeys[i]] = statBar;
game.addChild(statBar);
}
// Create scenario card
scenarioCard = new ScenarioCard();
scenarioCard.x = 1024;
scenarioCard.y = 1500;
game.addChild(scenarioCard);
// Introduction text
var introText = new Text2('Yıl 2087: Nükleer savaş sonrası dünyada yer altı sığınağında 300 kişilik topluluğun liderisiniz. Her kararınız toplumun geleceğini belirler. Moralinizi, kaynaklarınızı, güvenliğinizi, sağlığınızı ve umudunuzu dengede tutun.', {
size: 80,
fill: 0xFFFFFF,
wordWrap: true,
wordWrapWidth: 1800
});
introText.anchor.set(0.5, 0.5);
introText.x = 1024;
introText.y = 1366;
game.addChild(introText);
// Add click handler to introduction text
introText.down = function (x, y, obj) {
// Hide introduction text immediately
tween(introText, {
alpha: 0
}, {
duration: 500,
easing: tween.easeOut
});
// Show first scenario
scenarioCard.alpha = 1;
loadScenario();
};
// Population counter
var populationText = new Text2('Nüfus: 300', {
size: 48,
fill: 0xFFFFFF
});
populationText.anchor.set(0.5, 0);
populationText.x = 1024;
populationText.y = 50;
game.addChild(populationText);
// Day counter
var dayCounter = 1;
var dayText = new Text2('Gün ' + dayCounter, {
size: 48,
fill: 0xFFFFFF
});
dayText.anchor.set(1, 0);
dayText.x = 1900;
dayText.y = 50;
game.addChild(dayText);
function shuffleArray(array) {
var shuffled = array.slice();
for (var i = shuffled.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = shuffled[i];
shuffled[i] = shuffled[j];
shuffled[j] = temp;
}
return shuffled;
}
function initializeScenarioOrder() {
// Get available scenarios (base scenarios + conditional ones that meet requirements)
var availableScenarios = [];
for (var i = 0; i < scenarios.length; i++) {
if (!scenarios[i].condition || scenarios[i].condition()) {
availableScenarios.push(i);
}
}
// Randomize the order
scenarioOrder = shuffleArray(availableScenarios);
usedScenarios = [];
}
function updateStats() {
for (var key in statBars) {
statBars[key].setValue(stats[key]);
}
}
function loadScenario() {
// Check if we need to regenerate scenario order (add new conditional scenarios)
var availableScenarios = [];
for (var i = 0; i < scenarios.length; i++) {
if (!scenarios[i].condition || scenarios[i].condition()) {
availableScenarios.push(i);
}
}
// If no more scenarios in current order, regenerate
if (scenarioOrder.length === 0) {
scenarioOrder = shuffleArray(availableScenarios.filter(function (index) {
return usedScenarios.indexOf(index) === -1;
}));
// If all scenarios used, reset and reshuffle
if (scenarioOrder.length === 0) {
usedScenarios = [];
scenarioOrder = shuffleArray(availableScenarios);
}
}
currentScenarioIndex = scenarioOrder.shift();
usedScenarios.push(currentScenarioIndex);
var scenario = scenarios[currentScenarioIndex];
scenarioCard.setScenario(scenario);
// Reset card position
scenarioCard.x = 1024;
scenarioCard.alpha = 1;
// Introduction text hiding is now handled by click event
// Animate card appearance
tween(scenarioCard, {
y: 1500
}, {
duration: 500,
easing: tween.easeOut
});
}
function makeChoice(isLeft) {
if (isProcessingChoice) return;
isProcessingChoice = true;
var scenario = scenarios[currentScenarioIndex];
var choice = isLeft ? scenario.leftOption : scenario.rightOption;
// Track specific decisions for future scenarios
if (scenario.title.indexOf("Yiyecek") !== -1) {
decisions.foodRationing = (decisions.foodRationing || 0) + 1;
}
if (scenario.title.indexOf("Tıbbi") !== -1 && isLeft) {
decisions.savedChild = true;
}
if (scenario.title.indexOf("Güvenlik") !== -1 && isLeft) {
decisions.investigated = true;
}
if (scenario.title.indexOf("Enerji") !== -1 && !isLeft) {
decisions.prioritizedWater = (decisions.prioritizedWater || 0) + 1;
}
if (scenario.title.indexOf("Kaynak") !== -1 && isLeft) {
decisions.sentHunters = (decisions.sentHunters || 0) + 1;
}
// Save decisions to storage
storage.decisions = decisions;
// Apply effects
var hasPositiveEffect = false;
var hasNegativeEffect = false;
for (var key in choice.effects) {
var effect = choice.effects[key];
stats[key] += effect;
stats[key] = Math.max(0, Math.min(100, stats[key]));
if (effect > 0) hasPositiveEffect = true;
if (effect < 0) hasNegativeEffect = true;
}
// Play appropriate sound
if (hasPositiveEffect && !hasNegativeEffect) {
LK.getSound('positive').play();
} else if (hasNegativeEffect && !hasPositiveEffect) {
LK.getSound('negative').play();
} else {
LK.getSound('decision').play();
}
// Animate card exit
var targetX = isLeft ? -1000 : 3000;
tween(scenarioCard, {
x: targetX,
alpha: 0
}, {
duration: 300,
easing: tween.easeIn,
onFinish: function onFinish() {
currentScenarioIndex++;
dayCounter++;
dayText.setText('Gün ' + dayCounter);
// Check for game over conditions
for (var key in stats) {
if (stats[key] <= 0) {
LK.showGameOver();
return;
}
}
// Check for victory condition
var allStatsGood = true;
for (var key in stats) {
if (stats[key] < 80) {
allStatsGood = false;
break;
}
}
if (allStatsGood && dayCounter >= 30) {
LK.showYouWin();
return;
}
updateStats();
// Population decline based on health
var populationTextValue = populationText.text || 'Nüfus: 300';
var currentPopulation = parseInt(populationTextValue.split(': ')[1]);
if (stats.health < 50) {
var populationLoss = 0;
if (stats.health < 30) {
populationLoss = 10; // 10 people die per day when health below 30
} else {
populationLoss = Math.floor((50 - stats.health) / 10); // Population decreases when health below 50
}
var newPopulation = Math.max(0, currentPopulation - populationLoss);
populationText.setText('Nüfus: ' + newPopulation);
// Game over if population reaches 0
if (newPopulation <= 0) {
LK.showGameOver();
return;
}
}
loadScenario();
isProcessingChoice = false;
}
});
}
game.down = function (x, y, obj) {
if (isProcessingChoice) return;
isDragging = true;
dragStartX = x;
cardStartX = scenarioCard.x;
};
game.move = function (x, y, obj) {
if (isDragging && !isProcessingChoice) {
var deltaX = x - dragStartX;
scenarioCard.x = cardStartX + deltaX;
// Visual feedback
var swipeThreshold = 300;
if (Math.abs(deltaX) > swipeThreshold) {
if (deltaX > 0) {
scenarioCard.getLeftOption().alpha = 0.5;
scenarioCard.getRightOption().alpha = 1;
} else {
scenarioCard.getLeftOption().alpha = 1;
scenarioCard.getRightOption().alpha = 0.5;
}
} else {
scenarioCard.getLeftOption().alpha = 1;
scenarioCard.getRightOption().alpha = 1;
}
}
};
game.up = function (x, y, obj) {
if (isDragging && !isProcessingChoice) {
isDragging = false;
var deltaX = x - dragStartX;
var swipeThreshold = 300;
if (Math.abs(deltaX) > swipeThreshold) {
if (deltaX > 0) {
makeChoice(false); // Right choice
} else {
makeChoice(true); // Left choice
}
} else {
// Snap back to center
tween(scenarioCard, {
x: 1024
}, {
duration: 200,
easing: tween.easeOut
});
}
// Reset option opacity
scenarioCard.getLeftOption().alpha = 1;
scenarioCard.getRightOption().alpha = 1;
}
};
// Initialize game
initializeScenarioOrder();
updateStats();
// Show introduction text at start
introText.alpha = 1;
// Hide scenario card initially
scenarioCard.alpha = 0;
scenarioCard.y = 2732; // Position off-screen
// First scenario will be loaded when introduction text is clicked;