diff --git a/Libraries/SPTarkov.Server.Core/Controllers/HealthController.cs b/Libraries/SPTarkov.Server.Core/Controllers/HealthController.cs
index 10135df7..0a6309d5 100644
--- a/Libraries/SPTarkov.Server.Core/Controllers/HealthController.cs
+++ b/Libraries/SPTarkov.Server.Core/Controllers/HealthController.cs
@@ -177,15 +177,15 @@ public class HealthController(
var foodItemEffectDetails = foodItemDbDetails.Properties.EffectsHealth;
var foodIsSingleUse = foodItemDbDetails.Properties.MaxResource == 1;
- foreach (var (key, effectProps) in foodItemEffectDetails)
+ foreach (var (key, effectProperties) in foodItemEffectDetails)
{
switch (key)
{
case HealthFactor.Hydration:
- ApplyEdibleEffect(pmcData.Health.Hydration, effectProps, foodIsSingleUse, request);
+ ApplyEdibleEffect(pmcData.Health.Hydration, effectProperties, foodIsSingleUse, request);
break;
case HealthFactor.Energy:
- ApplyEdibleEffect(pmcData.Health.Energy, effectProps, foodIsSingleUse, request);
+ ApplyEdibleEffect(pmcData.Health.Energy, effectProperties, foodIsSingleUse, request);
break;
default:
@@ -206,7 +206,7 @@ public class HealthController(
/// Client request
protected void ApplyEdibleEffect(
CurrentMinMax bodyValue,
- EffectsHealthProps consumptionDetails,
+ EffectsHealthProperties consumptionDetails,
bool foodIsSingleUse,
OffraidEatRequestData request
)
diff --git a/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs b/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs
index 344446d9..59b0a5b9 100644
--- a/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs
+++ b/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs
@@ -56,7 +56,7 @@ public static class TemplateItemExtensions
string.Equals(slot.Name, modSlot, StringComparison.OrdinalIgnoreCase)
);
- return relatedItemDbModSlot?.Props?.Filters?.FirstOrDefault()?.Plate;
+ return relatedItemDbModSlot?.Properties?.Filters?.FirstOrDefault()?.Plate;
}
///
diff --git a/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs
index bf3b7d56..c01f93f8 100644
--- a/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs
+++ b/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs
@@ -1137,7 +1137,7 @@ public class BotEquipmentModGenerator(
}
// Filter modpool to only items that appear in parents allowed list
- preFilteredModPool = preFilteredModPool.Where(tpl => parentSlot.Props.Filters.First().Filter.Contains(tpl)).ToHashSet();
+ preFilteredModPool = preFilteredModPool.Where(tpl => parentSlot.Properties.Filters.First().Filter.Contains(tpl)).ToHashSet();
if (preFilteredModPool.Count == 0)
{
return new ChooseRandomCompatibleModResult
@@ -1326,7 +1326,7 @@ public class BotEquipmentModGenerator(
.ParentTemplate.Properties.Slots?.FirstOrDefault(slot =>
string.Equals(slot.Name.ToLowerInvariant(), request.ModSlot.ToLowerInvariant(), StringComparison.Ordinal)
)
- ?.Props.Filters?.First()
+ ?.Properties.Filters?.First()
.Filter;
// Mod isn't in existing pool, only add if it has no children and exists inside parent filter
@@ -1476,7 +1476,7 @@ public class BotEquipmentModGenerator(
public MongoId? GetRandomModTplFromItemDb(MongoId fallbackModTpl, Slot parentSlot, string modSlot, IEnumerable- items)
{
// Find compatible mods and make an array of them
- var allowedItems = parentSlot.Props.Filters.First().Filter;
+ var allowedItems = parentSlot.Properties.Filters.First().Filter;
// Find mod item that fits slot from sorted mod array
var exhaustableModPool = CreateExhaustableArray(allowedItems);
@@ -1573,7 +1573,7 @@ public class BotEquipmentModGenerator(
{
var desiredSlotObject = modTemplate.Properties?.Slots?.FirstOrDefault(slot => slot.Name.Contains(desiredSlotName));
- var supportedSubMods = desiredSlotObject?.Props?.Filters?.FirstOrDefault()?.Filter;
+ var supportedSubMods = desiredSlotObject?.Properties?.Filters?.FirstOrDefault()?.Filter;
if (supportedSubMods is null)
{
return;
@@ -1689,7 +1689,7 @@ public class BotEquipmentModGenerator(
modPool[cylinderMagTemplate.Id] = new Dictionary>();
foreach (var camora in camoraSlots)
{
- modPool[cylinderMagTemplate.Id][camora.Name] = camora.Props.Filters.First().Filter.ToHashSet();
+ modPool[cylinderMagTemplate.Id][camora.Name] = camora.Properties.Filters.First().Filter.ToHashSet();
}
itemModPool = modPool[cylinderMagTemplate.Id];
@@ -1818,7 +1818,7 @@ public class BotEquipmentModGenerator(
// Mods scope slot found must allow ALL whitelisted scope types OR be a mount
if (
scopeSlot?.All(slot =>
- slot.Props.Filters.FirstOrDefault()
+ slot.Properties.Filters.FirstOrDefault()
.Filter.All(tpl =>
itemHelper.IsOfBaseclasses(tpl, whitelistedSightTypes) || itemHelper.IsOfBaseclass(tpl, BaseClasses.MOUNT)
)
diff --git a/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs
index b0082b73..d70fedce 100644
--- a/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs
+++ b/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs
@@ -204,7 +204,7 @@ public class BotWeaponGenerator(
// Add cartridge(s) to gun chamber(s)
if (
(weaponItemTemplate.Properties?.Chambers).Any()
- && weaponItemTemplate.Properties.Chambers.FirstOrDefault().Props.Filters.FirstOrDefault().Filter.Contains(ammoTpl)
+ && weaponItemTemplate.Properties.Chambers.FirstOrDefault().Properties.Filters.FirstOrDefault().Filter.Contains(ammoTpl)
)
{
// Guns have variety of possible Chamber ids, patron_in_weapon/patron_in_weapon_000/patron_in_weapon_001
@@ -671,7 +671,7 @@ public class BotWeaponGenerator(
{
ArgumentNullException.ThrowIfNull(weaponTemplate);
- var cartridges = weaponTemplate.Properties?.Chambers?.FirstOrDefault()?.Props?.Filters?.First().Filter;
+ var cartridges = weaponTemplate.Properties?.Chambers?.FirstOrDefault()?.Properties?.Filters?.First().Filter;
if (cartridges is not null)
{
return cartridges;
@@ -699,7 +699,7 @@ public class BotWeaponGenerator(
}
var magazineTemplate = itemHelper.GetItem(
- magazineSlot.Props?.Filters.FirstOrDefault()?.Filter?.FirstOrDefault() ?? new MongoId(null)
+ magazineSlot.Properties?.Filters.FirstOrDefault()?.Filter?.FirstOrDefault() ?? new MongoId(null)
);
if (!magazineTemplate.Key)
{
@@ -708,10 +708,8 @@ public class BotWeaponGenerator(
// Try to get cartridges from slots array first, if none found, try Cartridges array
var cartridges =
- magazineTemplate.Value.Properties.Slots.FirstOrDefault()?.Props?.Filters.FirstOrDefault()?.Filter ?? magazineTemplate
- .Value.Properties.Cartridges.FirstOrDefault()
- ?.Props?.Filters.FirstOrDefault()
- ?.Filter;
+ magazineTemplate.Value.Properties.Slots.FirstOrDefault()?.Properties?.Filters.FirstOrDefault()?.Filter
+ ?? magazineTemplate.Value.Properties.Cartridges.FirstOrDefault()?.Properties?.Filters.FirstOrDefault()?.Filter;
return cartridges ?? [];
}
@@ -737,7 +735,7 @@ public class BotWeaponGenerator(
if (!string.IsNullOrEmpty(weaponTemplate.Properties.LinkedWeapon))
{
var ammoInChamber = itemHelper.GetItem(
- weaponTemplate.Properties.Chambers.First().Props.Filters.First().Filter.FirstOrDefault()
+ weaponTemplate.Properties.Chambers.First().Properties.Filters.First().Filter.FirstOrDefault()
);
return !ammoInChamber.Key ? null : ammoInChamber.Value.Properties.Caliber;
}
diff --git a/Libraries/SPTarkov.Server.Core/Generators/FenceBaseAssortGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/FenceBaseAssortGenerator.cs
index 40f5b4ca..bebfa273 100644
--- a/Libraries/SPTarkov.Server.Core/Generators/FenceBaseAssortGenerator.cs
+++ b/Libraries/SPTarkov.Server.Core/Generators/FenceBaseAssortGenerator.cs
@@ -209,7 +209,7 @@ public class FenceBaseAssortGenerator(
if (itemHelper.IsOfBaseclass(rootItemDb.Id, BaseClasses.AMMO_BOX))
{
// Get the cartridge tpl found inside ammo box
- var cartridgeTplInBox = rootItemDb.Properties.StackSlots.First().Props.Filters.First().Filter.FirstOrDefault();
+ var cartridgeTplInBox = rootItemDb.Properties.StackSlots.First().Properties.Filters.First().Filter.FirstOrDefault();
// Look up cartridge tpl in db
var ammoItemDb = itemHelper.GetItem(cartridgeTplInBox);
@@ -253,8 +253,8 @@ public class FenceBaseAssortGenerator(
{
foreach (var requiredSlot in requiredSlots)
{
- var modItemDbDetails = itemHelper.GetItem(requiredSlot.Props.Filters.First().Plate.Value).Value;
- var plateTpl = requiredSlot.Props.Filters.First().Plate; // `Plate` property appears to be the 'default' item for slot
+ var modItemDbDetails = itemHelper.GetItem(requiredSlot.Properties.Filters.First().Plate.Value).Value;
+ var plateTpl = requiredSlot.Properties.Filters.First().Plate; // `Plate` property appears to be the 'default' item for slot
if (plateTpl is null || plateTpl.Value.IsEmpty)
// Some bsg plate properties are empty, skip mod
{
@@ -287,7 +287,7 @@ public class FenceBaseAssortGenerator(
{
foreach (var plateSlot in plateSlots)
{
- var plateTpl = plateSlot.Props.Filters.First().Plate;
+ var plateTpl = plateSlot.Properties.Filters.First().Plate;
if (string.IsNullOrEmpty(plateTpl))
// Bsg data lacks a default plate, skip adding mod
{
@@ -299,7 +299,7 @@ public class FenceBaseAssortGenerator(
new Item
{
Id = new MongoId(),
- Template = plateSlot.Props.Filters.First().Plate.Value, // `Plate` property appears to be the 'default' item for slot
+ Template = plateSlot.Properties.Filters.First().Plate.Value, // `Plate` property appears to be the 'default' item for slot
ParentId = armor[0].Id,
SlotId = plateSlot.Name,
Upd = new Upd
diff --git a/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/ExternalInventoryMagGen.cs b/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/ExternalInventoryMagGen.cs
index 566ae17a..d3609888 100644
--- a/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/ExternalInventoryMagGen.cs
+++ b/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/ExternalInventoryMagGen.cs
@@ -177,7 +177,7 @@ public class ExternalInventoryMagGen(
// All possible mags that fit into the weapon excluding blacklisted
var magazinePool = magSlot
- .Props.Filters.First()
+ .Properties.Filters.First()
.Filter.Where(x => !magazineBlacklist.Contains(x))
.Select(x => itemHelper.GetItem(x).Value);
if (magazinePool is null)
diff --git a/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs
index 04727e88..8faf762f 100644
--- a/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs
+++ b/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs
@@ -38,7 +38,8 @@ public class BotWeaponGeneratorHelper(
if (MagazineIsCylinderRelated(parentItem.Name ?? string.Empty))
{
var firstSlotAmmoTpl =
- magTemplate.Properties?.Cartridges?.FirstOrDefault()?.Props?.Filters?.First().Filter?.FirstOrDefault() ?? new MongoId(null);
+ magTemplate.Properties?.Cartridges?.FirstOrDefault()?.Properties?.Filters?.First().Filter?.FirstOrDefault()
+ ?? new MongoId(null);
var ammoMaxStackSize = itemHelper.GetItem(firstSlotAmmoTpl).Value?.Properties?.StackMaxSize ?? 1;
chamberBulletCount =
ammoMaxStackSize == 1
diff --git a/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs
index 870b1e33..52e4488d 100644
--- a/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs
+++ b/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs
@@ -913,8 +913,8 @@ public class InventoryHelper(
var containerTemplate = itemHelper.GetItem(containerTpl).Value;
var firstContainerGrid = containerTemplate.Properties.Grids.FirstOrDefault();
- var containerRowCount = firstContainerGrid.Props.CellsH;
- var containerColumnCount = firstContainerGrid.Props.CellsV;
+ var containerRowCount = firstContainerGrid.Properties.CellsH;
+ var containerColumnCount = firstContainerGrid.Properties.CellsV;
return itemHelper.GetBlankContainerMap(containerColumnCount.Value, containerRowCount.Value);
}
@@ -959,8 +959,8 @@ public class InventoryHelper(
var firstStashItemGrid = stashItemDbItem?.Properties?.Grids?.FirstOrDefault();
// Get horizontal and vertical size
- var stashH = firstStashItemGrid.Props.CellsH != 0 ? firstStashItemGrid.Props.CellsH : 10;
- var stashV = firstStashItemGrid.Props.CellsV != 0 ? firstStashItemGrid.Props.CellsV : 66;
+ var stashH = firstStashItemGrid.Properties.CellsH != 0 ? firstStashItemGrid.Properties.CellsH : 10;
+ var stashV = firstStashItemGrid.Properties.CellsV != 0 ? firstStashItemGrid.Properties.CellsV : 66;
// Player has a bonus, apply to vertical size
var stashRowBonus = pmcData.Bonuses.FirstOrDefault(bonus => bonus.Type == BonusType.StashRows);
diff --git a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs
index ced82616..af534bbd 100644
--- a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs
+++ b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs
@@ -1306,7 +1306,7 @@ public class ItemHelper(
/// Valid caliber for cartridge
public MongoId? GetRandomCompatibleCaliberTemplateId(TemplateItem item)
{
- var cartridges = item.Properties?.Cartridges?.FirstOrDefault()?.Props?.Filters?.FirstOrDefault()?.Filter;
+ var cartridges = item.Properties?.Cartridges?.FirstOrDefault()?.Properties?.Filters?.FirstOrDefault()?.Filter;
if (cartridges is null)
{
logger.Warning($"Failed to find cartridge for item: {item.Id} {item.Name}");
@@ -1324,7 +1324,7 @@ public class ItemHelper(
public void AddCartridgesToAmmoBox(List
- ammoBox, TemplateItem ammoBoxDetails)
{
var ammoBoxMaxCartridgeCount = ammoBoxDetails.Properties?.StackSlots?.First().MaxCount;
- var cartridgeTpl = ammoBoxDetails.Properties?.StackSlots?.First().Props?.Filters?.First().Filter?.FirstOrDefault();
+ var cartridgeTpl = ammoBoxDetails.Properties?.StackSlots?.First().Properties?.Filters?.First().Filter?.FirstOrDefault();
var cartridgeDetails = GetItem(cartridgeTpl!.Value);
var cartridgeMaxStackSize = cartridgeDetails.Value?.Properties?.StackMaxSize;
@@ -1369,7 +1369,7 @@ public class ItemHelper(
public void AddSingleStackCartridgesToAmmoBox(List
- ammoBox, TemplateItem ammoBoxDetails)
{
var ammoBoxMaxCartridgeCount = ammoBoxDetails.Properties?.StackSlots?.First().MaxCount ?? 0;
- var cartridgeTpl = ammoBoxDetails.Properties?.StackSlots?.First().Props?.Filters?.First().Filter?.FirstOrDefault();
+ var cartridgeTpl = ammoBoxDetails.Properties?.StackSlots?.First().Properties?.Filters?.First().Filter?.FirstOrDefault();
ammoBox.Add(CreateCartridges(ammoBox[0].Id, cartridgeTpl!.Value, (int)ammoBoxMaxCartridgeCount, 0));
}
@@ -1409,7 +1409,7 @@ public class ItemHelper(
chosenCaliber,
staticAmmoDist,
defaultCartridgeTpl,
- weapon?.Properties?.Chambers?.FirstOrDefault()?.Props?.Filters?.FirstOrDefault()?.Filter ?? null
+ weapon?.Properties?.Chambers?.FirstOrDefault()?.Properties?.Filters?.FirstOrDefault()?.Filter ?? null
);
if (cartridgeTpl is null)
{
@@ -1459,10 +1459,10 @@ public class ItemHelper(
}
// Get max number of cartridges in magazine, choose random value between min/max
- var magProps = magTemplate.Properties;
+ var magProperties = magTemplate.Properties;
var magazineCartridgeMaxCount = IsOfBaseclass(magTemplate.Id, BaseClasses.SPRING_DRIVEN_CYLINDER)
- ? magProps?.Slots?.Count() // Edge case for rotating grenade launcher magazine
- : magProps?.Cartridges?.FirstOrDefault()?.MaxCount;
+ ? magProperties?.Slots?.Count() // Edge case for rotating grenade launcher magazine
+ : magProperties?.Cartridges?.FirstOrDefault()?.MaxCount;
if (magazineCartridgeMaxCount is null)
{
@@ -1519,7 +1519,7 @@ public class ItemHelper(
/// Tpl of cartridge
protected string? GetRandomValidCaliber(TemplateItem magTemplate)
{
- var ammoTpls = magTemplate.Properties?.Cartridges?.First().Props?.Filters?.First().Filter;
+ var ammoTpls = magTemplate.Properties?.Cartridges?.First().Properties?.Filters?.First().Filter;
var calibers = ammoTpls?.Where(x => GetItem(x).Key).Select(x => GetItem(x).Value?.Properties?.Caliber).ToList();
if (calibers is null)
@@ -1679,7 +1679,7 @@ public class ItemHelper(
}
}
- var itemPool = slot.Props?.Filters?.FirstOrDefault()?.Filter ?? [];
+ var itemPool = slot.Properties?.Filters?.FirstOrDefault()?.Filter ?? [];
if (itemPool.Count == 0)
{
if (logger.IsLogEnabled(LogLevel.Debug))
@@ -1869,8 +1869,8 @@ public class ItemHelper(
var containerTemplate = GetItem(containerTpl).Value;
// Get height/width
- var height = containerTemplate?.Properties?.Grids?.First().Props?.CellsV;
- var width = containerTemplate?.Properties?.Grids?.First().Props?.CellsH;
+ var height = containerTemplate?.Properties?.Grids?.First().Properties?.CellsV;
+ var width = containerTemplate?.Properties?.Grids?.First().Properties?.CellsH;
if (height is null || width is null)
{
diff --git a/Libraries/SPTarkov.Server.Core/Helpers/RepairHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/RepairHelper.cs
index 8ebb407f..bab40c9a 100644
--- a/Libraries/SPTarkov.Server.Core/Helpers/RepairHelper.cs
+++ b/Libraries/SPTarkov.Server.Core/Helpers/RepairHelper.cs
@@ -137,25 +137,25 @@ public class RepairHelper(
///
/// Repairing weapons reduces the total durability value slightly, get a randomised (to 2dp) amount
///
- /// Weapon properties
+ /// Weapon properties
/// Was a repair kit used
/// Max amount of durability item can have
/// Different traders produce different loss values
/// Amount to reduce max durability by
protected double GetRandomisedWeaponRepairDegradationValue(
- Props itemProps,
+ TemplateItemProperties itemProperties,
bool isRepairKit,
double weaponMax,
double traderQualityMultiplier
)
{
- var minRepairDeg = isRepairKit ? itemProps.MinRepairKitDegradation : itemProps.MinRepairDegradation;
- var maxRepairDeg = isRepairKit ? itemProps.MaxRepairKitDegradation : itemProps.MaxRepairDegradation;
+ var minRepairDeg = isRepairKit ? itemProperties.MinRepairKitDegradation : itemProperties.MinRepairDegradation;
+ var maxRepairDeg = isRepairKit ? itemProperties.MaxRepairKitDegradation : itemProperties.MaxRepairDegradation;
// WORKAROUND: Some items are always 0 when repairkit is true
if (maxRepairDeg == 0)
{
- maxRepairDeg = itemProps.MaxRepairDegradation;
+ maxRepairDeg = itemProperties.MaxRepairDegradation;
}
var duraLossPercent = randomUtil.GetDouble((double)minRepairDeg, (double)maxRepairDeg);
diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/LocationBase.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/LocationBase.cs
index 42d462ee..b86660b9 100644
--- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/LocationBase.cs
+++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/LocationBase.cs
@@ -790,10 +790,10 @@ public record ColliderParams
}
[JsonPropertyName("_props")]
- public ColliderProps? Props { get; set; }
+ public ColliderProperties? Properties { get; set; }
}
-public record ColliderProps
+public record ColliderProperties
{
[JsonPropertyName("Center")]
public XYZ? Center { get; set; }
diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/CustomizationItem.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/CustomizationItem.cs
index 8d784135..de0cb0d2 100644
--- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/CustomizationItem.cs
+++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/CustomizationItem.cs
@@ -18,13 +18,13 @@ public record CustomizationItem
public string Type { get; set; }
[JsonPropertyName("_props")]
- public CustomizationProps Properties { get; set; }
+ public CustomizationProperties Properties { get; set; }
[JsonPropertyName("_proto")]
public string Proto { get; set; }
}
-public class CustomizationProps
+public class CustomizationProperties
{
[JsonPropertyName("Prefab")]
public object? Prefab { get; set; } // Prefab object or string
diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs
index 5abbf539..8b00ccb5 100644
--- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs
+++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs
@@ -37,7 +37,7 @@ public record TemplateItem
}
[JsonPropertyName("_props")]
- public Props? Properties { get; set; }
+ public TemplateItemProperties? Properties { get; set; }
[JsonPropertyName("_proto")]
public string? Prototype
@@ -68,7 +68,7 @@ public record TemplateItem
}
}
-public record Props
+public record TemplateItemProperties
{
private string? _backgroundColor;
@@ -1108,12 +1108,12 @@ public record Props
[JsonPropertyName("effects_health")]
[JsonConverter(typeof(ArrayToObjectFactoryConverter))]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
- public Dictionary? EffectsHealth { get; set; }
+ public Dictionary? EffectsHealth { get; set; }
[JsonPropertyName("effects_damage")]
[JsonConverter(typeof(ArrayToObjectFactoryConverter))]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
- public Dictionary? EffectsDamage { get; set; }
+ public Dictionary? EffectsDamage { get; set; }
// Confirmed in client
[JsonPropertyName("MaximumNumberOfUsage")]
@@ -1666,13 +1666,13 @@ public record Grid
public string? Parent { get; set; }
[JsonPropertyName("_props")]
- public GridProps? Props { get; set; }
+ public GridProperties? Properties { get; set; }
[JsonPropertyName("_proto")]
public string? Proto { get; set; }
}
-public record GridProps
+public record GridProperties
{
[JsonPropertyName("filters")]
public IEnumerable? Filters { get; set; }
@@ -1728,7 +1728,7 @@ public record Slot
public string? Parent { get; set; }
[JsonPropertyName("_props")]
- public SlotProps? Props { get; set; }
+ public SlotProperties? Properties { get; set; }
[JsonPropertyName("_max_count")]
public double? MaxCount { get; set; }
@@ -1747,7 +1747,7 @@ public record Slot
}
}
-public record SlotProps
+public record SlotProperties
{
[JsonPropertyName("filters")]
public IEnumerable? Filters { get; set; }
@@ -1801,7 +1801,7 @@ public record StackSlot
public double? MaxCount { get; set; }
[JsonPropertyName("_props")]
- public StackSlotProps? Props { get; set; }
+ public StackSlotProperties? Properties { get; set; }
[JsonPropertyName("_proto")]
public string? Proto { get; set; }
@@ -1810,7 +1810,7 @@ public record StackSlot
public object? Upd { get; set; } // TODO: object here
}
-public record StackSlotProps
+public record StackSlotProperties
{
[JsonPropertyName("filters")]
public IEnumerable? Filters { get; set; }
@@ -1858,13 +1858,13 @@ public record RandomLootExcluded
public record EffectsHealth
{
[JsonPropertyName("Energy")]
- public EffectsHealthProps? Energy { get; set; }
+ public EffectsHealthProperties? Energy { get; set; }
[JsonPropertyName("Hydration")]
- public EffectsHealthProps? Hydration { get; set; }
+ public EffectsHealthProperties? Hydration { get; set; }
}
-public record EffectsHealthProps
+public record EffectsHealthProperties
{
[JsonPropertyName("value")]
public double? Value { get; set; }
@@ -1879,28 +1879,28 @@ public record EffectsHealthProps
public record EffectsDamage
{
[JsonPropertyName("Pain")]
- public EffectDamageProps? Pain { get; set; }
+ public EffectsDamageProperties? Pain { get; set; }
[JsonPropertyName("LightBleeding")]
- public EffectDamageProps? LightBleeding { get; set; }
+ public EffectsDamageProperties? LightBleeding { get; set; }
[JsonPropertyName("HeavyBleeding")]
- public EffectDamageProps? HeavyBleeding { get; set; }
+ public EffectsDamageProperties? HeavyBleeding { get; set; }
[JsonPropertyName("Contusion")]
- public EffectDamageProps? Contusion { get; set; }
+ public EffectsDamageProperties? Contusion { get; set; }
[JsonPropertyName("RadExposure")]
- public EffectDamageProps? RadExposure { get; set; }
+ public EffectsDamageProperties? RadExposure { get; set; }
[JsonPropertyName("Fracture")]
- public EffectDamageProps? Fracture { get; set; }
+ public EffectsDamageProperties? Fracture { get; set; }
[JsonPropertyName("DestroyedPart")]
- public EffectDamageProps? DestroyedPart { get; set; }
+ public EffectsDamageProperties? DestroyedPart { get; set; }
}
-public record EffectDamageProps
+public record EffectsDamageProperties
{
[JsonPropertyName("value")]
public double? Value { get; set; }
diff --git a/Libraries/SPTarkov.Server.Core/Models/Spt/Mod/NewItemDetails.cs b/Libraries/SPTarkov.Server.Core/Models/Spt/Mod/NewItemDetails.cs
index 69c924c8..1056d490 100644
--- a/Libraries/SPTarkov.Server.Core/Models/Spt/Mod/NewItemDetails.cs
+++ b/Libraries/SPTarkov.Server.Core/Models/Spt/Mod/NewItemDetails.cs
@@ -22,7 +22,7 @@ public record NewItemFromCloneDetails : NewItemDetailsBase
/// Item properties that should be applied over the top of the cloned base
///
[JsonPropertyName("overrideProperties")]
- public Props? OverrideProperties { get; set; }
+ public TemplateItemProperties? OverrideProperties { get; set; }
///
/// ParentId for the new item (item type)
diff --git a/Libraries/SPTarkov.Server.Core/Services/BotEquipmentModPoolService.cs b/Libraries/SPTarkov.Server.Core/Services/BotEquipmentModPoolService.cs
index fae40144..f2c6ba23 100644
--- a/Libraries/SPTarkov.Server.Core/Services/BotEquipmentModPoolService.cs
+++ b/Libraries/SPTarkov.Server.Core/Services/BotEquipmentModPoolService.cs
@@ -83,7 +83,7 @@ public class BotEquipmentModPoolService(
foreach (var slot in item.Properties.Slots)
{
// Get mods that fit into the current mod slot
- var itemsThatFit = slot.Props.Filters.FirstOrDefault().Filter;
+ var itemsThatFit = slot.Properties.Filters.FirstOrDefault().Filter;
// Get weapon/armor pool to add mod slots + mod tpls to
@@ -208,7 +208,7 @@ public class BotEquipmentModPoolService(
result.TryAdd(slot.Name, []);
// Add compatible tpls to dicts hashset
- foreach (var compatibleItemTpl in slot.Props.Filters.FirstOrDefault().Filter)
+ foreach (var compatibleItemTpl in slot.Properties.Filters.FirstOrDefault().Filter)
{
result[slot.Name].Add(compatibleItemTpl);
}
diff --git a/Libraries/SPTarkov.Server.Core/Services/BotInventoryContainerService.cs b/Libraries/SPTarkov.Server.Core/Services/BotInventoryContainerService.cs
index 67d6836c..243d5263 100644
--- a/Libraries/SPTarkov.Server.Core/Services/BotInventoryContainerService.cs
+++ b/Libraries/SPTarkov.Server.Core/Services/BotInventoryContainerService.cs
@@ -333,7 +333,7 @@ public class BotInventoryContainerService(ISptLogger logger,
{
// Assume all grids have same limitations
var firstSlotGrid = containerDetails.ContainerDbItem.Properties.Grids.FirstOrDefault();
- var propFilters = firstSlotGrid?.Props?.Filters;
+ var propFilters = firstSlotGrid?.Properties?.Filters;
if (propFilters is null || !propFilters.Any())
// No filters, item is fine to add
{
@@ -425,7 +425,7 @@ public class BotInventoryContainerService(ISptLogger logger,
ContainerGridDetails.Add(
new ContainerMapDetails
{
- GridMap = new int[grid.Props.CellsV.GetValueOrDefault(), grid.Props.CellsH.GetValueOrDefault()],
+ GridMap = new int[grid.Properties.CellsV.GetValueOrDefault(), grid.Properties.CellsH.GetValueOrDefault()],
GridFull = false,
}
);
diff --git a/Libraries/SPTarkov.Server.Core/Services/BotLootCacheService.cs b/Libraries/SPTarkov.Server.Core/Services/BotLootCacheService.cs
index 2e4f2b22..cf96674b 100644
--- a/Libraries/SPTarkov.Server.Core/Services/BotLootCacheService.cs
+++ b/Libraries/SPTarkov.Server.Core/Services/BotLootCacheService.cs
@@ -492,41 +492,41 @@ public class BotLootCacheService(
///
/// Ammo/grenades have this property
///
- ///
+ ///
///
- protected bool IsBulletOrGrenade(Props props)
+ protected bool IsBulletOrGrenade(TemplateItemProperties properties)
{
- return props.AmmoType is not null;
+ return properties.AmmoType is not null;
}
///
/// Internal and external magazine have this property
///
- ///
+ ///
///
- protected bool IsMagazine(Props props)
+ protected bool IsMagazine(TemplateItemProperties properties)
{
- return props.ReloadMagType is not null;
+ return properties.ReloadMagType is not null;
}
///
/// Medical use items (e.g. morphine/lip balm/grizzly)
///
- ///
+ ///
///
- protected bool IsMedicalItem(Props props)
+ protected bool IsMedicalItem(TemplateItemProperties properties)
{
- return props.MedUseTime is not null;
+ return properties.MedUseTime is not null;
}
///
/// Grenades have this property (e.g. smoke/frag/flash grenades)
///
- ///
+ ///
///
- protected bool IsGrenade(Props props)
+ protected bool IsGrenade(TemplateItemProperties properties)
{
- return props.ThrowType is not null;
+ return properties.ThrowType is not null;
}
protected bool IsFood(MongoId tpl)
diff --git a/Libraries/SPTarkov.Server.Core/Services/FenceService.cs b/Libraries/SPTarkov.Server.Core/Services/FenceService.cs
index d823c147..40ebef4e 100644
--- a/Libraries/SPTarkov.Server.Core/Services/FenceService.cs
+++ b/Libraries/SPTarkov.Server.Core/Services/FenceService.cs
@@ -1154,10 +1154,10 @@ public class FenceService(
{
foreach (var requiredSlot in softInsertSlots)
{
- var modItemDbDetails = itemHelper.GetItem(requiredSlot.Props.Filters.First().Plate.Value).Value;
+ var modItemDbDetails = itemHelper.GetItem(requiredSlot.Properties.Filters.First().Plate.Value).Value;
var durabilityValues = GetRandomisedArmorDurabilityValues(modItemDbDetails, traderConfig.Fence.ArmorMaxDurabilityPercentMinMax);
- var plateTpl = requiredSlot.Props.Filters.First().Plate ?? string.Empty; // "Plate" property appears to be the 'default' item for slot
+ var plateTpl = requiredSlot.Properties.Filters.First().Plate ?? string.Empty; // "Plate" property appears to be the 'default' item for slot
if (plateTpl.IsEmpty)
// Some bsg plate properties are empty, skip mod
{
@@ -1205,7 +1205,7 @@ public class FenceService(
{
foreach (var plateSlot in plateSlots)
{
- var plateTpl = plateSlot.Props.Filters.First().Plate;
+ var plateTpl = plateSlot.Properties.Filters.First().Plate;
if (plateTpl == null || plateTpl.Value.IsEmpty)
// Bsg data lacks a default plate, skip randomising for this mod
{
diff --git a/Libraries/SPTarkov.Server.Core/Services/Mod/CustomItemService.cs b/Libraries/SPTarkov.Server.Core/Services/Mod/CustomItemService.cs
index 05a36a03..a6ac5646 100644
--- a/Libraries/SPTarkov.Server.Core/Services/Mod/CustomItemService.cs
+++ b/Libraries/SPTarkov.Server.Core/Services/Mod/CustomItemService.cs
@@ -137,7 +137,7 @@ public class CustomItemService(
///
/// New properties to apply
/// Item to update
- protected void UpdateBaseItemPropertiesWithOverrides(Props? overrideProperties, TemplateItem itemClone)
+ protected void UpdateBaseItemPropertiesWithOverrides(TemplateItemProperties? overrideProperties, TemplateItem itemClone)
{
if (overrideProperties is null || itemClone?.Properties is null)
return;
@@ -285,7 +285,7 @@ public class CustomItemService(
var wall = itemHelper.GetItem(wallId);
if (wall.Key)
{
- wall.Value.Properties.Grids.First().Props.Filters.First().Filter.Add(newItemId);
+ wall.Value.Properties.Grids.First().Properties.Filters.First().Filter.Add(newItemId);
}
}
}
@@ -312,7 +312,7 @@ public class CustomItemService(
var weaponSlots = weapon.Value.Properties.Slots;
foreach (var slot in weaponSlots)
{
- baseWeaponModObject[slot.Name] = [.. slot.Props.Filters.First().Filter];
+ baseWeaponModObject[slot.Name] = [.. slot.Properties.Filters.First().Filter];
}
// Get PMCs
diff --git a/Libraries/SPTarkov.Server.Core/Services/RagfairLinkedItemService.cs b/Libraries/SPTarkov.Server.Core/Services/RagfairLinkedItemService.cs
index ffc60785..36a8dd2a 100644
--- a/Libraries/SPTarkov.Server.Core/Services/RagfairLinkedItemService.cs
+++ b/Libraries/SPTarkov.Server.Core/Services/RagfairLinkedItemService.cs
@@ -121,7 +121,7 @@ public class RagfairLinkedItemService(DatabaseService databaseService, ItemHelpe
}
// Get the first cylinder filter tpl
- var cylinderTpl = cylinderMod.Props?.Filters?.First().Filter?.FirstOrDefault() ?? new MongoId(null);
+ var cylinderTpl = cylinderMod.Properties?.Filters?.First().Filter?.FirstOrDefault() ?? new MongoId(null);
if (!cylinderTpl.IsValidMongoId())
{
@@ -153,12 +153,12 @@ public class RagfairLinkedItemService(DatabaseService databaseService, ItemHelpe
// Check each slot and merge contents together into result set
foreach (var slot in slots)
{
- if (slot.Props?.Filters is null)
+ if (slot.Properties?.Filters is null)
{
continue;
}
- foreach (var slotFilters in slot.Props.Filters)
+ foreach (var slotFilters in slot.Properties.Filters)
{
result.UnionWith(slotFilters.Filter);
}
@@ -179,12 +179,12 @@ public class RagfairLinkedItemService(DatabaseService databaseService, ItemHelpe
foreach (var chamber in chambers)
{
- if (chamber.Props?.Filters is null)
+ if (chamber.Properties?.Filters is null)
{
continue;
}
- foreach (var slotFilters in chamber.Props.Filters)
+ foreach (var slotFilters in chamber.Properties.Filters)
{
result.UnionWith(slotFilters.Filter);
}
@@ -205,12 +205,12 @@ public class RagfairLinkedItemService(DatabaseService databaseService, ItemHelpe
foreach (var cartridge in cartridges)
{
- if (cartridge.Props?.Filters is null)
+ if (cartridge.Properties?.Filters is null)
{
continue;
}
- foreach (var slotFilters in cartridge.Props.Filters)
+ foreach (var slotFilters in cartridge.Properties.Filters)
{
result.UnionWith(slotFilters.Filter);
}
diff --git a/Libraries/SPTarkov.Server.Core/Services/ServerLocalisationService.cs b/Libraries/SPTarkov.Server.Core/Services/ServerLocalisationService.cs
index 87fe7969..575a1014 100644
--- a/Libraries/SPTarkov.Server.Core/Services/ServerLocalisationService.cs
+++ b/Libraries/SPTarkov.Server.Core/Services/ServerLocalisationService.cs
@@ -175,9 +175,9 @@ public class ServerLocalisationService(
return rawLocalizedString;
}
- var typeProps = args.GetType().GetProperties();
+ var typeProperties = args.GetType().GetProperties();
- foreach (var propertyInfo in typeProps)
+ foreach (var propertyInfo in typeProperties)
{
var localizedName = $"{{{{{propertyInfo.GetJsonName()}}}}}";
if (rawLocalizedString.Contains(localizedName))
diff --git a/Tools/MongoIdTplGenerator/Generators/ItemTplMongoIdGenerator.cs b/Tools/MongoIdTplGenerator/Generators/ItemTplMongoIdGenerator.cs
index c639a561..058a1a90 100644
--- a/Tools/MongoIdTplGenerator/Generators/ItemTplMongoIdGenerator.cs
+++ b/Tools/MongoIdTplGenerator/Generators/ItemTplMongoIdGenerator.cs
@@ -376,14 +376,14 @@ public class ItemTplMongoIdGenerator(
private string GetAmmoBoxPrefix(TemplateItem item)
{
- var ammoTpl = item.Properties?.StackSlots?.First()?.Props?.Filters?.First()?.Filter?.FirstOrDefault();
+ var ammoTpl = item.Properties?.StackSlots?.First()?.Properties?.Filters?.First()?.Filter?.FirstOrDefault();
return GetAmmoPrefix(_items[ammoTpl.Value]);
}
private string GetMagazinePrefix(TemplateItem item)
{
- var ammoTpl = item.Properties?.Cartridges?.First()?.Props?.Filters?.First()?.Filter?.FirstOrDefault();
+ var ammoTpl = item.Properties?.Cartridges?.First()?.Properties?.Filters?.First()?.Filter?.FirstOrDefault();
return GetAmmoPrefix(_items[ammoTpl.Value]);
}
@@ -459,7 +459,7 @@ public class ItemTplMongoIdGenerator(
// Add grid size for lootable containers
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.LOOT_CONTAINER))
{
- return $"{item.Properties.Grids.First()?.Props.CellsH}X{item.Properties.Grids.First()?.Props.CellsV}";
+ return $"{item.Properties.Grids.First()?.Properties.CellsH}X{item.Properties.Grids.First()?.Properties.CellsV}";
}
// Add ammo caliber to conflicting weapons