WIP: initial set of adjustments to mod chance calculation
This commit is contained in:
parent
4fe279d9d7
commit
8761e26880
@ -14,9 +14,9 @@ namespace Common
|
|||||||
Console.BackgroundColor = backgroundColour;
|
Console.BackgroundColor = backgroundColour;
|
||||||
Console.ForegroundColor = ConsoleColor.Black;
|
Console.ForegroundColor = ConsoleColor.Black;
|
||||||
|
|
||||||
Console.WriteLine(message);
|
Console.Write(message);
|
||||||
|
|
||||||
ResetConsoleColours();
|
ResetConsoleColours();
|
||||||
|
Console.WriteLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void ResetConsoleColours()
|
private static void ResetConsoleColours()
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace PMCGenerator.Models
|
namespace Common.Models
|
||||||
{
|
{
|
||||||
public class ItemsLibRoot
|
public class ItemsLibRoot
|
||||||
{
|
{
|
||||||
@ -22,6 +22,7 @@ namespace PMCGenerator.Models
|
|||||||
public string ShortName { get; set; }
|
public string ShortName { get; set; }
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
public List<Chamber> Chambers { get; set; }
|
public List<Chamber> Chambers { get; set; }
|
||||||
|
public List<Slot> Slots { get; set; }
|
||||||
public string defAmmo { get; set; }
|
public string defAmmo { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,6 +37,12 @@ namespace PMCGenerator.Models
|
|||||||
public string _proto { get; set; }
|
public string _proto { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Slot
|
||||||
|
{
|
||||||
|
public string _name { get; set; }
|
||||||
|
public bool _required { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class ChamberProps
|
public class ChamberProps
|
||||||
{
|
{
|
||||||
public List<Filter> filters { get; set; }
|
public List<Filter> filters { get; set; }
|
281263
Generator/Assets/items.json
Normal file
281263
Generator/Assets/items.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -155,4 +155,10 @@
|
|||||||
<ProjectReference Include="..\Common\Common.csproj" />
|
<ProjectReference Include="..\Common\Common.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Update="Assets\items.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -10,101 +10,115 @@ namespace Generator.Helpers.Gear
|
|||||||
{
|
{
|
||||||
public static void CalculateModChances(Bot bot, List<Datum> baseBots)
|
public static void CalculateModChances(Bot bot, List<Datum> baseBots)
|
||||||
{
|
{
|
||||||
int totalBotsCount = baseBots.Count;
|
// TODO: Further split these counts by equipment slot? (ex. "FirstPrimaryWeapon", "Holster", etc.)
|
||||||
int muzzleCount = 0, barrelCount = 0, handguardCount = 0, stockCount = 0, magazineCount = 0,
|
|
||||||
mountCount = 0, flashlightCount = 0, tactical001Count = 0, tactical002Count = 0, tactical003Count = 0,
|
var validSlots = new List<string> { "FirstPrimaryWeapon", "SecondPrimaryWeapon", "Holster", "Headwear" };
|
||||||
mount000Count = 0, pistolGripCount = 0, tacticalCount = 0, scopeCount = 0, recieverCount = 0,
|
|
||||||
sightRearCount = 0, chargeCount = 0, mount001Count = 0, equipmentCount = 0, gasBlockCount = 0,
|
var modCounts = new Dictionary<string, int>();
|
||||||
launcherCount = 0, sightFrontCount = 0, stock000Count = 0, foregripCount = 0, tactical000Count = 0,
|
var slotCounts = new Dictionary<string, int>();
|
||||||
nvgCount = 0, pistolGripAkmsCount = 0, stockAkmsCount = 0, equipment000Count = 0, equipment001Count = 0,
|
|
||||||
equipment002Count = 0, bipodCount = 0, mount002Count = 0, mount004Count = 0, triggerCount = 0,
|
|
||||||
hammerCount = 0, catchCount = 0, stock001Count = 0, muzzle000Count = 0, mount003Count = 0;
|
|
||||||
|
|
||||||
foreach (var baseBot in baseBots)
|
foreach (var baseBot in baseBots)
|
||||||
{
|
{
|
||||||
muzzleCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_muzzle");
|
var validParents = new List<string>();
|
||||||
barrelCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_barrel");
|
|
||||||
handguardCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_handguard");
|
foreach (var inventoryItem in baseBot.Inventory.items)
|
||||||
stockCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock");
|
{
|
||||||
magazineCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_magazine");
|
if (validSlots.Contains(inventoryItem.slotId))
|
||||||
mountCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount");
|
{
|
||||||
flashlightCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_flashlight");
|
validParents.Add(inventoryItem._id);
|
||||||
tactical001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_001");
|
}
|
||||||
tactical002Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_002");
|
else if (validParents.Contains(inventoryItem.parentId))
|
||||||
tactical003Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_003");
|
{
|
||||||
mount000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_000");
|
validParents.Add(inventoryItem._id);
|
||||||
pistolGripCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_pistol_grip");
|
}
|
||||||
tacticalCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical");
|
else
|
||||||
scopeCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_scope");
|
{
|
||||||
recieverCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_reciever");
|
continue;
|
||||||
sightRearCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_sight_rear");
|
}
|
||||||
chargeCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_charge");
|
|
||||||
mount001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_001");
|
var template = ItemTemplateHelper.GetTemplateById(inventoryItem._tpl);
|
||||||
equipmentCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment");
|
var parentTemplate = ItemTemplateHelper.GetTemplateById(baseBot.Inventory.items.Single(i => i._id == inventoryItem.parentId)._tpl);
|
||||||
gasBlockCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_gas_block");
|
|
||||||
launcherCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_launcher");
|
if ((inventoryItem.slotId?.StartsWith("mod_") ?? false) && (parentTemplate?._props?.Slots?.FirstOrDefault(s => s._name == inventoryItem.slotId)?._required ?? false))
|
||||||
sightFrontCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_sight_front");
|
{
|
||||||
stock000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock_000");
|
if (modCounts.ContainsKey(inventoryItem.slotId))
|
||||||
foregripCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_foregrip");
|
{
|
||||||
tactical000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_000");
|
modCounts[inventoryItem.slotId]++;
|
||||||
nvgCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_nvg");
|
}
|
||||||
pistolGripAkmsCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_pistol_grip_akms");
|
else
|
||||||
stockAkmsCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock_akms");
|
{
|
||||||
equipment000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment_000");
|
modCounts.Add(inventoryItem.slotId, 1);
|
||||||
equipment001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment_001");
|
}
|
||||||
equipment002Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment_002");
|
}
|
||||||
bipodCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_bipod");
|
|
||||||
mount002Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_002");
|
if ((template?._props?.Slots?.Count ?? 0) < 1)
|
||||||
mount004Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_004");
|
{
|
||||||
triggerCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_trigger");
|
// Item has no slots, nothing to count here
|
||||||
hammerCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_hammer");
|
continue;
|
||||||
catchCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_catch");
|
}
|
||||||
stock001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock_001");
|
|
||||||
muzzle000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_muzzle_000");
|
foreach (var slot in template._props.Slots.Where(s => s._name.StartsWith("mod_")))
|
||||||
mount003Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_003");
|
{
|
||||||
|
if (slot._required)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (slotCounts.ContainsKey(slot._name))
|
||||||
|
{
|
||||||
|
slotCounts[slot._name]++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
slotCounts.Add(slot._name, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// muzzleCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_muzzle");
|
||||||
|
// barrelCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_barrel");
|
||||||
|
// handguardCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_handguard");
|
||||||
|
// stockCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock");
|
||||||
|
// magazineCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_magazine");
|
||||||
|
// mountCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount");
|
||||||
|
// flashlightCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_flashlight");
|
||||||
|
// tactical001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_001");
|
||||||
|
// tactical002Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_002");
|
||||||
|
// tactical003Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_003");
|
||||||
|
// mount000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_000");
|
||||||
|
// pistolGripCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_pistol_grip");
|
||||||
|
// tacticalCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical");
|
||||||
|
// scopeCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_scope");
|
||||||
|
// recieverCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_reciever");
|
||||||
|
// sightRearCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_sight_rear");
|
||||||
|
// chargeCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_charge");
|
||||||
|
// mount001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_001");
|
||||||
|
// equipmentCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment");
|
||||||
|
// gasBlockCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_gas_block");
|
||||||
|
// launcherCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_launcher");
|
||||||
|
// sightFrontCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_sight_front");
|
||||||
|
// stock000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock_000");
|
||||||
|
// foregripCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_foregrip");
|
||||||
|
// tactical000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_tactical_000");
|
||||||
|
// nvgCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_nvg");
|
||||||
|
// pistolGripAkmsCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_pistol_grip_akms");
|
||||||
|
// stockAkmsCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock_akms");
|
||||||
|
// equipment000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment_000");
|
||||||
|
// equipment001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment_001");
|
||||||
|
// equipment002Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_equipment_002");
|
||||||
|
// bipodCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_bipod");
|
||||||
|
// mount002Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_002");
|
||||||
|
// mount004Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_004");
|
||||||
|
// triggerCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_trigger");
|
||||||
|
// hammerCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_hammer");
|
||||||
|
// catchCount += baseBot.Inventory.items.Count(x => x.slotId == "mod_catch");
|
||||||
|
// stock001Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_stock_001");
|
||||||
|
// muzzle000Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_muzzle_000");
|
||||||
|
// mount003Count += baseBot.Inventory.items.Count(x => x.slotId == "mod_mount_003");
|
||||||
}
|
}
|
||||||
|
|
||||||
bot.chances.mods = new Mods(
|
bot.chances.mods = slotCounts.ToDictionary(
|
||||||
GetPercent(totalBotsCount, muzzleCount),
|
kvp => kvp.Key,
|
||||||
GetPercent(totalBotsCount, barrelCount),
|
kvp => GetPercent(kvp.Value, modCounts.GetValueOrDefault(kvp.Key)));
|
||||||
GetPercent(totalBotsCount, handguardCount),
|
|
||||||
GetPercent(totalBotsCount, stockCount),
|
|
||||||
GetPercent(totalBotsCount, magazineCount),
|
|
||||||
GetPercent(totalBotsCount, mountCount),
|
|
||||||
GetPercent(totalBotsCount, flashlightCount),
|
|
||||||
GetPercent(totalBotsCount, tactical001Count),
|
|
||||||
GetPercent(totalBotsCount, tactical002Count),
|
|
||||||
GetPercent(totalBotsCount, tactical003Count),
|
|
||||||
GetPercent(totalBotsCount, mount000Count),
|
|
||||||
GetPercent(totalBotsCount, pistolGripCount),
|
|
||||||
GetPercent(totalBotsCount, tacticalCount),
|
|
||||||
GetPercent(totalBotsCount, scopeCount),
|
|
||||||
GetPercent(totalBotsCount, recieverCount),
|
|
||||||
GetPercent(totalBotsCount, sightRearCount),
|
|
||||||
GetPercent(totalBotsCount, chargeCount),
|
|
||||||
GetPercent(totalBotsCount, mount001Count),
|
|
||||||
GetPercent(totalBotsCount, equipmentCount),
|
|
||||||
GetPercent(totalBotsCount, gasBlockCount),
|
|
||||||
GetPercent(totalBotsCount, launcherCount),
|
|
||||||
GetPercent(totalBotsCount, sightFrontCount),
|
|
||||||
GetPercent(totalBotsCount, stock000Count),
|
|
||||||
GetPercent(totalBotsCount, foregripCount),
|
|
||||||
GetPercent(totalBotsCount, tactical000Count),
|
|
||||||
GetPercent(totalBotsCount, nvgCount),
|
|
||||||
GetPercent(totalBotsCount, pistolGripAkmsCount),
|
|
||||||
GetPercent(totalBotsCount, stockAkmsCount),
|
|
||||||
GetPercent(totalBotsCount, equipment000Count),
|
|
||||||
GetPercent(totalBotsCount, equipment001Count),
|
|
||||||
GetPercent(totalBotsCount, equipment002Count),
|
|
||||||
GetPercent(totalBotsCount, bipodCount),
|
|
||||||
GetPercent(totalBotsCount, mount002Count),
|
|
||||||
GetPercent(totalBotsCount, mount004Count),
|
|
||||||
GetPercent(totalBotsCount, triggerCount),
|
|
||||||
GetPercent(totalBotsCount, hammerCount),
|
|
||||||
GetPercent(totalBotsCount, catchCount),
|
|
||||||
GetPercent(totalBotsCount, stock001Count),
|
|
||||||
GetPercent(totalBotsCount, muzzle000Count),
|
|
||||||
GetPercent(totalBotsCount, mount003Count));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void AddGenerationChances(Bot bot)
|
public static void AddGenerationChances(Bot bot)
|
||||||
@ -121,6 +135,7 @@ namespace Generator.Helpers.Gear
|
|||||||
|
|
||||||
public static void CalculateEquipmentChances(Bot bot, List<Datum> baseBots)
|
public static void CalculateEquipmentChances(Bot bot, List<Datum> baseBots)
|
||||||
{
|
{
|
||||||
|
// TODO: Convert to dynamic?
|
||||||
var totalBotsCount = baseBots.Count;
|
var totalBotsCount = baseBots.Count;
|
||||||
int headwearCount = 0, earCount = 0, faceCoverCount = 0, armorVestCount = 0, eyeWearCount = 0, armBandCount = 0,
|
int headwearCount = 0, earCount = 0, faceCoverCount = 0, armorVestCount = 0, eyeWearCount = 0, armBandCount = 0,
|
||||||
tacticalVestCount = 0, backpackCount = 0, firstPrimaryCount = 0, secondPrimaryCount = 0, holsterCount = 0,
|
tacticalVestCount = 0, backpackCount = 0, firstPrimaryCount = 0, secondPrimaryCount = 0, holsterCount = 0,
|
||||||
|
45
Generator/Helpers/ItemTemplateHelper.cs
Normal file
45
Generator/Helpers/ItemTemplateHelper.cs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using Common;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Item = Common.Models.Item;
|
||||||
|
|
||||||
|
namespace Generator.Helpers
|
||||||
|
{
|
||||||
|
public static class ItemTemplateHelper
|
||||||
|
{
|
||||||
|
private static Dictionary<string, Item> _itemCache;
|
||||||
|
|
||||||
|
public static Dictionary<string, Item> Items
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_itemCache == null)
|
||||||
|
{
|
||||||
|
var itemsFilePath = $"{Directory.GetCurrentDirectory()}\\Assets\\items.json";
|
||||||
|
if (!File.Exists(itemsFilePath))
|
||||||
|
{
|
||||||
|
throw new Exception($"Missing items.json under assets ({itemsFilePath})");
|
||||||
|
}
|
||||||
|
|
||||||
|
var itemsJson = File.ReadAllText(itemsFilePath);
|
||||||
|
_itemCache = JsonConvert.DeserializeObject<Dictionary<string, Item>>(itemsJson);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _itemCache;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Item GetTemplateById(string templateId)
|
||||||
|
{
|
||||||
|
if (Items.ContainsKey(templateId))
|
||||||
|
{
|
||||||
|
return Items[templateId];
|
||||||
|
}
|
||||||
|
|
||||||
|
LoggingHelpers.LogToConsole($"Could not locate item template with id {templateId}", ConsoleColor.Red);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -124,7 +124,7 @@ namespace Generator.Models.Output
|
|||||||
}
|
}
|
||||||
|
|
||||||
public EquipmentChances equipment { get; set; }
|
public EquipmentChances equipment { get; set; }
|
||||||
public Mods mods { get; set; }
|
public Dictionary<string, int> mods { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class EquipmentChances
|
public class EquipmentChances
|
||||||
@ -170,104 +170,104 @@ namespace Generator.Models.Output
|
|||||||
public int SecuredContainer { get; set; }
|
public int SecuredContainer { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Mods
|
// public class Mods
|
||||||
{
|
// {
|
||||||
public Mods(int muzzle, int barrel, int handguard, int stock,
|
// public Mods(int muzzle, int barrel, int handguard, int stock,
|
||||||
int magazine, int mount, int flashlight, int tactical_001,
|
// int magazine, int mount, int flashlight, int tactical_001,
|
||||||
int tactical_002, int tactical_003, int mount_000, int pistol_grip,
|
// int tactical_002, int tactical_003, int mount_000, int pistol_grip,
|
||||||
int tactical, int scope, int reciever, int sight_rear,
|
// int tactical, int scope, int reciever, int sight_rear,
|
||||||
int charge, int mount_001, int equipment, int gas_block,
|
// int charge, int mount_001, int equipment, int gas_block,
|
||||||
int launcher, int sight_front, int stock_000, int foregrip,
|
// int launcher, int sight_front, int stock_000, int foregrip,
|
||||||
int tactical_000, int nvg, int pistol_grip_akms, int stock_akms,
|
// int tactical_000, int nvg, int pistol_grip_akms, int stock_akms,
|
||||||
int equipment_000, int equipment_001, int equipment_002, int bipod,
|
// int equipment_000, int equipment_001, int equipment_002, int bipod,
|
||||||
int mount_002, int mount_004, int trigger, int hammer, int _catch,
|
// int mount_002, int mount_004, int trigger, int hammer, int _catch,
|
||||||
int stock_001, int muzzle_000, int mount_003)
|
// int stock_001, int muzzle_000, int mount_003)
|
||||||
{
|
// {
|
||||||
mod_muzzle = muzzle;
|
// mod_muzzle = muzzle;
|
||||||
mod_barrel = barrel;
|
// mod_barrel = barrel;
|
||||||
mod_handguard = handguard;
|
// mod_handguard = handguard;
|
||||||
mod_stock = stock;
|
// mod_stock = stock;
|
||||||
mod_magazine = magazine;
|
// mod_magazine = magazine;
|
||||||
mod_mount = mount;
|
// mod_mount = mount;
|
||||||
mod_flashlight = flashlight;
|
// mod_flashlight = flashlight;
|
||||||
mod_tactical_001 = tactical_001;
|
// mod_tactical_001 = tactical_001;
|
||||||
mod_tactical_002 = tactical_002;
|
// mod_tactical_002 = tactical_002;
|
||||||
mod_tactical_003 = tactical_003;
|
// mod_tactical_003 = tactical_003;
|
||||||
mod_mount_000 = mount_000;
|
// mod_mount_000 = mount_000;
|
||||||
mod_pistol_grip = pistol_grip;
|
// mod_pistol_grip = pistol_grip;
|
||||||
mod_tactical = tactical;
|
// mod_tactical = tactical;
|
||||||
mod_scope = scope;
|
// mod_scope = scope;
|
||||||
mod_reciever = reciever;
|
// mod_reciever = reciever;
|
||||||
mod_sight_rear = sight_rear;
|
// mod_sight_rear = sight_rear;
|
||||||
mod_charge = charge;
|
// mod_charge = charge;
|
||||||
mod_mount_001 = mount_001;
|
// mod_mount_001 = mount_001;
|
||||||
mod_equipment = equipment;
|
// mod_equipment = equipment;
|
||||||
mod_gas_block = gas_block;
|
// mod_gas_block = gas_block;
|
||||||
mod_launcher = launcher;
|
// mod_launcher = launcher;
|
||||||
mod_sight_front = sight_front;
|
// mod_sight_front = sight_front;
|
||||||
mod_stock_000 = stock_000;
|
// mod_stock_000 = stock_000;
|
||||||
mod_foregrip = foregrip;
|
// mod_foregrip = foregrip;
|
||||||
mod_tactical_000 = tactical_000;
|
// mod_tactical_000 = tactical_000;
|
||||||
mod_nvg = nvg;
|
// mod_nvg = nvg;
|
||||||
mod_pistol_grip_akms = pistol_grip_akms;
|
// mod_pistol_grip_akms = pistol_grip_akms;
|
||||||
mod_stock_akms = stock_akms;
|
// mod_stock_akms = stock_akms;
|
||||||
mod_equipment_000 = equipment_000;
|
// mod_equipment_000 = equipment_000;
|
||||||
mod_equipment_001 = equipment_001;
|
// mod_equipment_001 = equipment_001;
|
||||||
mod_equipment_002 = equipment_002;
|
// mod_equipment_002 = equipment_002;
|
||||||
mod_bipod = bipod;
|
// mod_bipod = bipod;
|
||||||
mod_mount_002 = mount_002;
|
// mod_mount_002 = mount_002;
|
||||||
mod_mount_004 = mount_004;
|
// mod_mount_004 = mount_004;
|
||||||
mod_trigger = trigger;
|
// mod_trigger = trigger;
|
||||||
mod_hammer = hammer;
|
// mod_hammer = hammer;
|
||||||
mod_catch = _catch;
|
// mod_catch = _catch;
|
||||||
mod_stock_001 = stock_001;
|
// mod_stock_001 = stock_001;
|
||||||
mod_muzzle_000 = muzzle_000;
|
// mod_muzzle_000 = muzzle_000;
|
||||||
mod_mount_003 = mount_003;
|
// mod_mount_003 = mount_003;
|
||||||
|
//
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public int mod_muzzle { get; set; }
|
// public int mod_muzzle { get; set; }
|
||||||
public int mod_mount { get; set; }
|
// public int mod_mount { get; set; }
|
||||||
public int mod_barrel { get; set; }
|
// public int mod_barrel { get; set; }
|
||||||
public int mod_handguard { get; set; }
|
// public int mod_handguard { get; set; }
|
||||||
public int mod_stock { get; set; }
|
// public int mod_stock { get; set; }
|
||||||
public int mod_flashlight { get; set; }
|
// public int mod_flashlight { get; set; }
|
||||||
public int mod_tactical_001 { get; set; }
|
// public int mod_tactical_001 { get; set; }
|
||||||
public int mod_tactical_002 { get; set; }
|
// public int mod_tactical_002 { get; set; }
|
||||||
public int mod_tactical_003 { get; set; }
|
// public int mod_tactical_003 { get; set; }
|
||||||
public int mod_mount_000 { get; set; }
|
// public int mod_mount_000 { get; set; }
|
||||||
public int mod_magazine { get; set; }
|
// public int mod_magazine { get; set; }
|
||||||
public int mod_pistol_grip { get; set; }
|
// public int mod_pistol_grip { get; set; }
|
||||||
public int mod_gas_block { get; set; }
|
// public int mod_gas_block { get; set; }
|
||||||
public int mod_reciever { get; set; }
|
// public int mod_reciever { get; set; }
|
||||||
public int mod_charge { get; set; }
|
// public int mod_charge { get; set; }
|
||||||
public int mod_sight_rear { get; set; }
|
// public int mod_sight_rear { get; set; }
|
||||||
public int mod_launcher { get; set; }
|
// public int mod_launcher { get; set; }
|
||||||
public int mod_equipment { get; set; }
|
// public int mod_equipment { get; set; }
|
||||||
public int mod_scope { get; set; }
|
// public int mod_scope { get; set; }
|
||||||
public int mod_mount_001 { get; set; }
|
// public int mod_mount_001 { get; set; }
|
||||||
public int mod_mount_002 { get; set; }
|
// public int mod_mount_002 { get; set; }
|
||||||
public int mod_mount_004 { get; set; }
|
// public int mod_mount_004 { get; set; }
|
||||||
public int mod_tactical { get; set; }
|
// public int mod_tactical { get; set; }
|
||||||
public int mod_stock_000 { get; set; }
|
// public int mod_stock_000 { get; set; }
|
||||||
public int mod_sight_front { get; set; }
|
// public int mod_sight_front { get; set; }
|
||||||
public int mod_pistol_grip_akms { get; set; }
|
// public int mod_pistol_grip_akms { get; set; }
|
||||||
public int mod_stock_akms { get; set; }
|
// public int mod_stock_akms { get; set; }
|
||||||
public int mod_foregrip { get; set; }
|
// public int mod_foregrip { get; set; }
|
||||||
public int mod_tactical_000 { get; set; }
|
// public int mod_tactical_000 { get; set; }
|
||||||
public int mod_nvg { get; set; }
|
// public int mod_nvg { get; set; }
|
||||||
public int mod_equipment_000 { get; set; }
|
// public int mod_equipment_000 { get; set; }
|
||||||
public int mod_equipment_001 { get; set; }
|
// public int mod_equipment_001 { get; set; }
|
||||||
public int mod_equipment_002 { get; set; }
|
// public int mod_equipment_002 { get; set; }
|
||||||
public int mod_bipod { get; set; }
|
// public int mod_bipod { get; set; }
|
||||||
public int mod_trigger { get; set; }
|
// public int mod_trigger { get; set; }
|
||||||
public int mod_hammer { get; set; }
|
// public int mod_hammer { get; set; }
|
||||||
public int mod_catch { get; set; }
|
// public int mod_catch { get; set; }
|
||||||
public int mod_stock_001 { get; set; }
|
// public int mod_stock_001 { get; set; }
|
||||||
public int mod_muzzle_000 { get; set; }
|
// public int mod_muzzle_000 { get; set; }
|
||||||
public int mod_mount_003 { get; set; }
|
// public int mod_mount_003 { get; set; }
|
||||||
}
|
// }
|
||||||
|
|
||||||
public class GenerationChances
|
public class GenerationChances
|
||||||
{
|
{
|
||||||
|
@ -5,6 +5,7 @@ using PMCGenerator.Models;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Common.Models;
|
||||||
|
|
||||||
namespace PMCGenerator
|
namespace PMCGenerator
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user