diff --git a/Core/Models/Spt/Config/AirdropConfig.cs b/Core/Models/Spt/Config/AirdropConfig.cs index f982c8de..51d95197 100644 --- a/Core/Models/Spt/Config/AirdropConfig.cs +++ b/Core/Models/Spt/Config/AirdropConfig.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Text.Json.Serialization; +using Core.Models.Common; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/BotConfig.cs b/Core/Models/Spt/Config/BotConfig.cs index 932fafd7..45a9e31d 100644 --- a/Core/Models/Spt/Config/BotConfig.cs +++ b/Core/Models/Spt/Config/BotConfig.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; using System.Text.Json.Serialization; +using Core.Models.Common; +using Core.Models.Eft.Common.Tables; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/GiftsConfig.cs b/Core/Models/Spt/Config/GiftsConfig.cs index 9c05afbd..5a0d300d 100644 --- a/Core/Models/Spt/Config/GiftsConfig.cs +++ b/Core/Models/Spt/Config/GiftsConfig.cs @@ -1,4 +1,6 @@ using System.Text.Json.Serialization; +using Core.Models.Eft.Common.Tables; +using Core.Models.Spt.Dialog; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/HideoutConfig.cs b/Core/Models/Spt/Config/HideoutConfig.cs index b7479156..29c1ab78 100644 --- a/Core/Models/Spt/Config/HideoutConfig.cs +++ b/Core/Models/Spt/Config/HideoutConfig.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Common; namespace Core.Models.Spt.Config; @@ -17,7 +18,7 @@ public class HideoutConfig : BaseConfig /// Default values used to hydrate `RunIntervalSeconds` with /// [JsonPropertyName("runIntervalValues")] - public IRunIntervalValues RunIntervalValues { get; set; } + public RunIntervalValues RunIntervalValues { get; set; } [JsonPropertyName("hoursForSkillCrafting")] public int HoursForSkillCrafting { get; set; } diff --git a/Core/Models/Spt/Config/InventoryConfig.cs b/Core/Models/Spt/Config/InventoryConfig.cs index 38f98e3e..58ae9cb4 100644 --- a/Core/Models/Spt/Config/InventoryConfig.cs +++ b/Core/Models/Spt/Config/InventoryConfig.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Common; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/LocationConfig.cs b/Core/Models/Spt/Config/LocationConfig.cs index 7f20643a..05effbec 100644 --- a/Core/Models/Spt/Config/LocationConfig.cs +++ b/Core/Models/Spt/Config/LocationConfig.cs @@ -1,4 +1,6 @@ using System.Text.Json.Serialization; +using Core.Models.Common; +using Core.Models.Eft.Common; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/LootConfig.cs b/Core/Models/Spt/Config/LootConfig.cs index 01aca581..5646fbe0 100644 --- a/Core/Models/Spt/Config/LootConfig.cs +++ b/Core/Models/Spt/Config/LootConfig.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Eft.Common; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/PlayerScavConfig.cs b/Core/Models/Spt/Config/PlayerScavConfig.cs index e1c141d7..bc52102e 100644 --- a/Core/Models/Spt/Config/PlayerScavConfig.cs +++ b/Core/Models/Spt/Config/PlayerScavConfig.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Eft.Common.Tables; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/PmcConfig.cs b/Core/Models/Spt/Config/PmcConfig.cs index 75467735..89149ee8 100644 --- a/Core/Models/Spt/Config/PmcConfig.cs +++ b/Core/Models/Spt/Config/PmcConfig.cs @@ -1,4 +1,7 @@ using System.Text.Json.Serialization; +using Core.Models.Common; +using Core.Models.Eft.Common; +using Core.Models.Enums; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/QuestConfig.cs b/Core/Models/Spt/Config/QuestConfig.cs index 8e81ec9f..62a17e9a 100644 --- a/Core/Models/Spt/Config/QuestConfig.cs +++ b/Core/Models/Spt/Config/QuestConfig.cs @@ -1,4 +1,6 @@ using System.Text.Json.Serialization; +using Core.Models.Common; +using Core.Models.Enums; namespace Core.Models.Spt.Config; @@ -141,28 +143,28 @@ public class RewardScaling { [JsonPropertyName("levels")] public List Levels { get; set; } - + [JsonPropertyName("experience")] public List Experience { get; set; } - + [JsonPropertyName("roubles")] public List Roubles { get; set; } - + [JsonPropertyName("gpCoins")] public List GpCoins { get; set; } - + [JsonPropertyName("items")] public List Items { get; set; } - + [JsonPropertyName("reputation")] public List Reputation { get; set; } - + [JsonPropertyName("rewardSpread")] public int RewardSpread { get; set; } - + [JsonPropertyName("skillRewardChance")] public List SkillRewardChance { get; set; } - + [JsonPropertyName("skillPointReward")] public List SkillPointReward { get; set; } } @@ -171,16 +173,16 @@ public class TraderWhitelist { [JsonPropertyName("traderId")] public string TraderId { get; set; } - + [JsonPropertyName("questTypes")] public List QuestTypes { get; set; } - + [JsonPropertyName("rewardBaseWhitelist")] public List RewardBaseWhitelist { get; set; } - + [JsonPropertyName("rewardCanBeWeapon")] public bool RewardCanBeWeapon { get; set; } - + [JsonPropertyName("weaponRewardChancePercent")] public double WeaponRewardChancePercent { get; set; } } @@ -189,13 +191,13 @@ public class RepeatableQuestTypesConfig { [JsonPropertyName("Exploration")] public Exploration Exploration { get; set; } - + [JsonPropertyName("Completion")] public Completion Completion { get; set; } - + [JsonPropertyName("Pickup")] public Pickup Pickup { get; set; } - + [JsonPropertyName("Elimination")] public List Elimination { get; set; } } @@ -344,17 +346,20 @@ public class BossInfo public bool IsPmc { get; set; } } -public class BodyPart : ProbabilityObject { +public class BodyPart : ProbabilityObject +{ [JsonPropertyName("data")] public string[] Data { get; set; } } -public class WeaponRequirement : ProbabilityObject { +public class WeaponRequirement : ProbabilityObject +{ [JsonPropertyName("data")] public string[] Data { get; set; } } -public class ProbabilityObject { +public class ProbabilityObject +{ [JsonPropertyName("key")] public string Key { get; set; } diff --git a/Core/Models/Spt/Config/RagfairConfig.cs b/Core/Models/Spt/Config/RagfairConfig.cs index f2ad68ea..a1ced8ff 100644 --- a/Core/Models/Spt/Config/RagfairConfig.cs +++ b/Core/Models/Spt/Config/RagfairConfig.cs @@ -1,4 +1,6 @@ -namespace Core.Models.Spt.Config; +using Core.Models.Common; + +namespace Core.Models.Spt.Config; using System.Text.Json.Serialization; @@ -70,70 +72,93 @@ public class Chance public class Dynamic { + [JsonPropertyName("purchasesAreFoundInRaid")] // Should a purchased dynamic offers items be flagged as found in raid public bool PurchasesAreFoundInRaid { get; set; } + [JsonPropertyName("useTraderPriceForOffersIfHigher")] /** Use the highest trader price for an offer if its greater than the price in templates/prices.json */ public bool UseTraderPriceForOffersIfHigher { get; set; } + [JsonPropertyName("barter")] /** Barter offer specific settings */ public BarterDetails Barter { get; set; } + [JsonPropertyName("pack")] public PackDetails Pack { get; set; } + [JsonPropertyName("offerAdjustment")] /** Dynamic offer price below handbook adjustment values */ public OfferAdjustment OfferAdjustment { get; set; } + [JsonPropertyName("expiredOfferThreshold")] /** How many offers should expire before an offer regeneration occurs */ public int ExpiredOfferThreshold { get; set; } + [JsonPropertyName("offerItemCount")] /** How many offers should be listed */ public MinMax OfferItemCount { get; set; } + [JsonPropertyName("priceRanges")] /** How much should the price of an offer vary by (percent 0.8 = 80%, 1.2 = 120%) */ public PriceRanges PriceRanges { get; set; } + [JsonPropertyName("showDefaultPresetsOnly")] /** Should default presets to listed only or should non-standard presets found in globals.json be listed too */ public bool ShowDefaultPresetsOnly { get; set; } + [JsonPropertyName("ignoreQualityPriceVarianceBlacklist")] /** Tpls that should not use the variable price system when their quality is < 100% (lower dura/uses = lower price) */ public List IgnoreQualityPriceVarianceBlacklist { get; set; } + [JsonPropertyName("endTimeSeconds")] public MinMax EndTimeSeconds { get; set; } + [JsonPropertyName("condition")] /** Settings to control the durability range of item items listed on flea */ public Condition Condition { get; set; } + [JsonPropertyName("stackablePercent")] /** Size stackable items should be listed for in percent of max stack size */ public MinMax StackablePercent { get; set; } + [JsonPropertyName("nonStackableCount")] /** Items that cannot be stacked can have multiples sold in one offer, what range of values can be listed */ public MinMax NonStackableCount { get; set; } + [JsonPropertyName("rating")] /** Range of rating offers for items being listed */ public MinMax Rating { get; set; } + [JsonPropertyName("armor")] /** Armor specific flea settings */ public ArmorSettings Armor { get; set; } + [JsonPropertyName("itemPriceMultiplier")] /** A multipler to apply to individual tpls price just prior to item quality adjustment */ public Dictionary ItemPriceMultiplier { get; set; } + [JsonPropertyName("currencies")] /** Percentages to sell offers in each currency */ public Dictionary Currencies { get; set; } + [JsonPropertyName("showAsSingleStack")] /** Item tpls that should be forced to sell as a single item */ public List ShowAsSingleStack { get; set; } + [JsonPropertyName("removeSeasonalItemsWhenNotInEvent")] /** Should christmas/halloween items be removed from flea when not within the seasonal bounds */ public bool RemoveSeasonalItemsWhenNotInEvent { get; set; } + [JsonPropertyName("blacklist")] /** Flea blacklist settings */ public RagfairBlacklist Blacklist { get; set; } + [JsonPropertyName("unreasonableModPrices")] /** Dict of price limits keyed by item type */ public Dictionary UnreasonableModPrices { get; set; } + [JsonPropertyName("itemPriceOverrideRouble")] /** Custom rouble prices for items to override values from prices.json */ public Dictionary ItemPriceOverrideRouble { get; set; } } @@ -293,7 +318,8 @@ public class RagfairBlacklist public List CustomItemCategoryList { get; set; } } -public class ArmorPlateBlacklistSettings { +public class ArmorPlateBlacklistSettings +{ /// /// Max level of plates an armor can have without being removed /// @@ -307,7 +333,8 @@ public class ArmorPlateBlacklistSettings { public List IgnoreSlots { get; set; } } -public class UnreasonableModPrices { +public class UnreasonableModPrices +{ /// /// Enable a system that adjusts very high ragfair prices to be below a max multiple of items the handbook values /// @@ -327,7 +354,8 @@ public class UnreasonableModPrices { public int NewPriceHandbookMultiplier { get; set; } } -public class ArmorSettings { +public class ArmorSettings +{ /// /// % chance / 100 that armor plates will be removed from an offer before listing /// @@ -341,7 +369,8 @@ public class ArmorSettings { public List PlateSlotIdToRemovePool { get; set; } } -public class TieredFlea { +public class TieredFlea +{ [JsonPropertyName("enabled")] public bool Enabled { get; set; } diff --git a/Core/Models/Spt/Config/RepairConfig.cs b/Core/Models/Spt/Config/RepairConfig.cs index 7ad711bb..a585e591 100644 --- a/Core/Models/Spt/Config/RepairConfig.cs +++ b/Core/Models/Spt/Config/RepairConfig.cs @@ -1,8 +1,10 @@ -namespace Core.Models.Spt.Config; +using Core.Models.Common; + +namespace Core.Models.Spt.Config; using System.Text.Json.Serialization; -public class RepairConfig : IBaseConfig +public class RepairConfig : BaseConfig { [JsonPropertyName("kind")] public string Kind { get; set; } = "spt-repair"; diff --git a/Core/Models/Spt/Config/ScavCaseConfig.cs b/Core/Models/Spt/Config/ScavCaseConfig.cs index 6bcf4a79..776f1589 100644 --- a/Core/Models/Spt/Config/ScavCaseConfig.cs +++ b/Core/Models/Spt/Config/ScavCaseConfig.cs @@ -1,4 +1,6 @@ -namespace Core.Models.Spt.Config; +using Core.Models.Common; + +namespace Core.Models.Spt.Config; using System.Text.Json.Serialization; diff --git a/Core/Models/Spt/Config/SeasonalEventConfig.cs b/Core/Models/Spt/Config/SeasonalEventConfig.cs index d04dc15d..b5754904 100644 --- a/Core/Models/Spt/Config/SeasonalEventConfig.cs +++ b/Core/Models/Spt/Config/SeasonalEventConfig.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Eft.Common; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/TraderConfig.cs b/Core/Models/Spt/Config/TraderConfig.cs index fa7277e1..cefaebab 100644 --- a/Core/Models/Spt/Config/TraderConfig.cs +++ b/Core/Models/Spt/Config/TraderConfig.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Common; namespace Core.Models.Spt.Config; diff --git a/Core/Models/Spt/Config/WeatherConfig.cs b/Core/Models/Spt/Config/WeatherConfig.cs index e5a6277f..fb70cf67 100644 --- a/Core/Models/Spt/Config/WeatherConfig.cs +++ b/Core/Models/Spt/Config/WeatherConfig.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Common; namespace Core.Models.Spt.Config;