From 5ffd83712403c7f9f01d7a119db5b1ff3ae0ff62 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sun, 29 Aug 2021 20:46:57 +0100 Subject: [PATCH] Add keys to boss special loot code TODO: figure out a better way to do this as right now somewhre between 1 and 50 keys will spawn on bosses --- Generator/Helpers/Gear/GearChanceHelpers.cs | 3 +- Generator/Helpers/Gear/SpecialLootHelper.cs | 58 +++++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/Generator/Helpers/Gear/GearChanceHelpers.cs b/Generator/Helpers/Gear/GearChanceHelpers.cs index 257f435..1883429 100644 --- a/Generator/Helpers/Gear/GearChanceHelpers.cs +++ b/Generator/Helpers/Gear/GearChanceHelpers.cs @@ -109,9 +109,8 @@ namespace Generator.Helpers.Gear public static void AddGenerationChances(Bot bot) { - bot.generation = new GenerationChances(bot.specialLoot.Count, bot.specialLoot.Count, 1, 2, 0, 3, 2, 4, 0, 5); //TODO get dynamically + bot.generation = new GenerationChances(bot.specialLoot.Count > 0 ? 1 : 0 , bot.specialLoot.Count, 1, 2, 0, 3, 2, 4, 0, 5); //TODO get dynamically } - public static void CalculateEquipmentChances(Bot bot, List baseBots) { var totalBotsCount = baseBots.Count; diff --git a/Generator/Helpers/Gear/SpecialLootHelper.cs b/Generator/Helpers/Gear/SpecialLootHelper.cs index d5a2b1d..8a4fea9 100644 --- a/Generator/Helpers/Gear/SpecialLootHelper.cs +++ b/Generator/Helpers/Gear/SpecialLootHelper.cs @@ -5,6 +5,59 @@ namespace Generator.Helpers.Gear { public static class SpecialLootHelper { + private static readonly List _genericBossKeys = new List() + { + "5c1d0d6d86f7744bb2683e1f", // "TerraGroup Labs keycard (Yellow)", + "5c1d0c5f86f7744bb2683cf0", // "TerraGroup Labs keycard (Blue)", + "5c1e495a86f7743109743dfb", // "TerraGroup Labs keycard (Violet)", + "5c1d0dc586f7744baf2e7b79", // "TerraGroup Labs keycard (Green)", + "5c1d0efb86f7744baf2e7b7b", // "TerraGroup Labs keycard (Red)", + "5c1d0f4986f7744bb01837fa", // "TerraGroup Labs keycard (Black)", + "5c94bbff86f7747ee735c08f", // "TerraGroup Labs access keycard", + "5e42c83786f7742a021fdf3c", // "Object #21WS keycard", + "5e42c81886f7742a01529f57", // "Object #11SR keycard", + "59136a4486f774447a1ed172", // "Dorm guard desk key", + "5780cf7f2459777de4559322", // "Dorm room 314 marked key", + "5d80c60f86f77440373c4ece", // "RB-BK marked key", + "5d80c62a86f7744036212b3f", // "RB-VO marked key", + "5ede7a8229445733cb4c18e2", // "RB-PKPM marked key", + "5da743f586f7744014504f72", // "USEC Customs stash key", + "5d8e15b686f774445103b190", // "HEP station storage room key", + "5a13f24186f77410e57c5626", // "Health Resort east wing room 222 key", + "5448ba0b4bdc2d02308b456c", // "Factory emergency exit key", + "5a1452ee86f7746f33111763", // "Health Resort west wing room 222 key", + "5a13f35286f77413ef1436b0", // "Health Resort east wing room 226 key", + "5a0eec9686f77402ac5c39f2", // "Health Resort east wing room 310 key", + "5a13ef7e86f7741290491063", // "Health Resort west wing room 301 key", + "5a0ee30786f774023b6ee08f", // "Health Resort west wing room 216 key", + "5a0ee76686f7743698200d5c", // "Health Resort east wing room 216 key", + "5913877a86f774432f15d444", // "Gas station storage room key", + "5780d0652459777df90dcb74", // "Gas station office key", + "5d80c88d86f77440556dbf07", // "RB-AM key", + "5ede7b0c6d23e5473e6e8c66", // "RB-RLSA key", + "5d8e0e0e86f774321140eb56", // "RB-KPRL key", + "5d80cb3886f77440556dbf09", // "RB-PSP1 key", + "5d95d6fa86f77424484aa5e9", // "RB-PSP2 key", + "5d80cb5686f77440545d1286", // "RB-PSV1 key", + "5d80c6fc86f774403a401e3c", // "RB-TB key", + "5d9f1fa686f774726974a992", // "RB-ST key", + "5d947d3886f774447b415893", // "RB-SMP key", + "5e42c71586f7747f245e1343", // "ULTRA medical storage key", + "5ad5d7d286f77450166e0a89", // "KIBA Arms International outlet outer door key", + "5addaffe86f77470b455f900", // "KIBA Arms International outlet inner grate door key", + "5ad5d64486f774079b080af8", // "NecrusPharm pharmacy key", + "591afe0186f77431bd616a11", // "ZB-014 key", + "5c1e2d1f86f77431e9280bee", // "TerraGroup Labs Weapons testing area key", + "5c1f79a086f7746ed066fb8f", // "TerraGroup Labs Arsenal storage room key", + "5c1e2a1e86f77431ea0ea84c", // "TerraGroup Labs Manager office room key", + "5a144bdb86f7741d374bbde0", // "Health Resort east wing room 205 key", + "5a0ee4b586f7743698200d22", // "Health Resort east wing room 206 key", + "5a145d4786f7744cbb6f4a12", // "Health Resort east wing room 306 key", + "5a145d7b86f7744cbb6f4a13", // "Health Resort east wing room 308 key", + "5a0eecf686f7740350630097", // "Health Resort east wing room 313 key", + "5a0eee1486f77402aa773226" // "Health Resort east wing room 328 key" + }; + public static IEnumerable GetSpecialLootForBotType(BotType botType) { var results = new List(); @@ -17,15 +70,20 @@ namespace Generator.Helpers.Gear case BotType.marksman: break; case BotType.bossbully: + results.AddRange(_genericBossKeys); break; case BotType.bossgluhar: + results.AddRange(_genericBossKeys); break; case BotType.bosskilla: + results.AddRange(_genericBossKeys); break; case BotType.bosskojaniy: + results.AddRange(_genericBossKeys); results.Add("5d08d21286f774736e7c94c3"); // Shturman's stash key break; case BotType.bosssanitar: + results.AddRange(_genericBossKeys); results.Add("5efde6b4f5448336730dbd61"); // Keycard with a blue marking break; case BotType.bossstormtrooper: