diff --git a/Common.Models/BotType.cs b/Common.Models/BotType.cs index 62b18fd..dd2e8b7 100644 --- a/Common.Models/BotType.cs +++ b/Common.Models/BotType.cs @@ -38,9 +38,10 @@ bossboarsniper = 36, followerboarclose1 = 37, followerboarclose2 = 38, - bosskolontay = 39, - followerkolontayassault = 40, - followerkolontaysecurity = 41 + bosskolontay = 43, + followerkolontayassault = 44, + followerkolontaysecurity = 45, + shooterbtr = 46, } } diff --git a/Generator/BotLootGenerator.cs b/Generator/BotLootGenerator.cs index 38242c9..06483d0 100644 --- a/Generator/BotLootGenerator.cs +++ b/Generator/BotLootGenerator.cs @@ -121,7 +121,8 @@ namespace Generator foreach (var item in bot.Inventory.items) { - if (item.parentId == null) + // Filter out root items and equipment mod items + if (item.parentId == null || item.location == null) { continue; } diff --git a/Generator/Generator.csproj b/Generator/Generator.csproj index e4bee04..a7dd2e6 100644 --- a/Generator/Generator.csproj +++ b/Generator/Generator.csproj @@ -252,6 +252,9 @@ Always + + Always + Always diff --git a/Generator/Helpers/Gear/GearChanceHelpers.cs b/Generator/Helpers/Gear/GearChanceHelpers.cs index fcdc334..6a97180 100644 --- a/Generator/Helpers/Gear/GearChanceHelpers.cs +++ b/Generator/Helpers/Gear/GearChanceHelpers.cs @@ -14,7 +14,7 @@ namespace Generator.Helpers.Gear { // TODO: Further split these counts by equipment slot? (ex. "FirstPrimaryWeapon", "Holster", etc.) - var validSlots = new List { "FirstPrimaryWeapon", "SecondPrimaryWeapon", "Holster", "Headwear" }; + var validSlots = new List { "FirstPrimaryWeapon", "SecondPrimaryWeapon", "Holster", "Headwear", "ArmorVest" }; var modCounts = new Dictionary(); var slotCounts = new Dictionary(); @@ -41,15 +41,15 @@ namespace Generator.Helpers.Gear var template = ItemTemplateHelper.GetTemplateById(inventoryItem._tpl); var parentTemplate = ItemTemplateHelper.GetTemplateById(baseBot.Inventory.items.Single(i => i._id == inventoryItem.parentId)._tpl); - if ((inventoryItem.slotId?.StartsWith("mod_") ?? false) && !(parentTemplate?._props?.Slots?.FirstOrDefault(s => s._name == inventoryItem.slotId)?._required ?? false)) + if (!(parentTemplate?._props?.Slots?.FirstOrDefault(slot => slot._name == inventoryItem.slotId)?._required ?? false)) { - if (modCounts.ContainsKey(inventoryItem.slotId)) + if (modCounts.ContainsKey(inventoryItem.slotId.ToLower())) { - modCounts[inventoryItem.slotId]++; + modCounts[inventoryItem.slotId.ToLower()]++; } else { - modCounts.Add(inventoryItem.slotId, 1); + modCounts.Add(inventoryItem.slotId.ToLower(), 1); } } @@ -59,20 +59,30 @@ namespace Generator.Helpers.Gear continue; } - foreach (var slot in template._props.Slots.Where(s => s._name.StartsWith("mod_"))) + foreach (var slot in template._props.Slots) { + if (slot._name == "Back_plate") + { + var x = 1; + } + if (slot._required) { continue; } - if (slotCounts.ContainsKey(slot._name)) + if (slot._name.StartsWith("camora")) { - slotCounts[slot._name]++; + continue; + } + + if (slotCounts.ContainsKey(slot._name.ToLower())) + { + slotCounts[slot._name.ToLower()]++; } else { - slotCounts.Add(slot._name, 1); + slotCounts.Add(slot._name.ToLower(), 1); } } } diff --git a/Generator/Helpers/Gear/GearHelpers.cs b/Generator/Helpers/Gear/GearHelpers.cs index 61d5034..29fad71 100644 --- a/Generator/Helpers/Gear/GearHelpers.cs +++ b/Generator/Helpers/Gear/GearHelpers.cs @@ -13,7 +13,17 @@ namespace Generator.Helpers.Gear var itemsWithModsInRawBot = new List(); modItemsInRawBot = rawParsedBot.Inventory.items - .Where(x => x.slotId != null && (x.slotId.StartsWith("mod_") || x.slotId.StartsWith("patron_in_weapon"))).ToList(); + .Where(x => x.slotId != null + && (x.slotId.StartsWith("mod_") + || x.slotId.ToLower().StartsWith("patron_in_weapon") + || x.slotId.ToLower().StartsWith("helmet_") + || x.slotId.ToLower().StartsWith("front_") + || x.slotId.ToLower().StartsWith("back_") + || x.slotId.ToLower().StartsWith("collar") + || x.slotId.ToLower().StartsWith("groin") + || x.slotId.ToLower().StartsWith("left") + || x.slotId.ToLower().StartsWith("right") + || x.slotId.ToLower().StartsWith("soft_"))).ToList(); // Get items with Mods by iterating over mod items and getting the parent item itemsWithModsInRawBot.AddRange(modItemsInRawBot diff --git a/Generator/Program.cs b/Generator/Program.cs index 4a4b810..df69f92 100644 --- a/Generator/Program.cs +++ b/Generator/Program.cs @@ -48,7 +48,9 @@ internal static class Program "sectantwarrior", "gifter", "arenafighterevent", - "crazyassaultevent" + "crazyassaultevent", + + "shooterbtr" }; // Read raw bot dumps and turn into c# objects