Merge pull request #601 from sp-tarkov/repeatable-completion-quests

Repeatable completion quest level ranges
This commit is contained in:
Cj
2025-10-02 15:02:05 -04:00
committed by GitHub
parent 136c79b385
commit cf29c7bde3
5 changed files with 341 additions and 92 deletions
@@ -344,7 +344,7 @@ public record RepeatableQuestTypesConfig
/// Defines completion repeatable task generation parameters
/// </summary>
[JsonPropertyName("Completion")]
public required CompletionConfig CompletionConfig { get; set; }
public required List<CompletionConfig> CompletionConfig { get; set; }
/// <summary>
/// Defines pickup repeatable task generation parameters - TODO: Not implemented/No Data - NOTE: Does not work with dynamicLocale
@@ -416,34 +416,28 @@ public record SpecificExits
public record CompletionConfig : BaseQuestConfig
{
/// <summary>
/// Minimum item count that can be requested
/// Level range at which completion tasks should be generated from this config
/// </summary>
[JsonPropertyName("minRequestedAmount")]
public required int MinimumRequestedAmount { get; set; }
[JsonPropertyName("levelRange")]
public required MinMax<int> LevelRange { get; set; }
/// <summary>
/// Maximum item count that can be requested
/// The minimum and maximum amounts that can be requested for an item
/// </summary>
[JsonPropertyName("maxRequestedAmount")]
public required int MaximumRequestedAmount { get; set; }
[JsonPropertyName("requestedItemCount")]
public required MinMax<int> RequestedItemCount { get; set; }
/// <summary>
/// How many unique items should be requested - TODO: This needs to be a range
/// How many different unique items should be requested
/// </summary>
[JsonPropertyName("uniqueItemCount")]
public required int UniqueItemCount { get; set; }
public required MinMax<int> UniqueItemCount { get; set; }
/// <summary>
/// Minimum bullet count that can be requested - TODO: Not implemented
/// The minimum and maximum amounts that can be requested for bullets - TODO: Not implemented
/// </summary>
[JsonPropertyName("minRequestedBulletAmount")]
public required int MinimumRequestedBulletAmount { get; set; }
/// <summary>
/// Maximum bullet count that can be requested - TODO: Not implemented
/// </summary>
[JsonPropertyName("maxRequestedBulletAmount")]
public required int MaximumRequestedBulletAmount { get; set; }
[JsonPropertyName("requestedBulletCount")]
public required MinMax<int> RequestedBulletCount { get; set; }
/// <summary>
/// Should the item whitelist be used
@@ -467,7 +461,7 @@ public record CompletionConfig : BaseQuestConfig
/// Min/Max durability requirements for the item
/// </summary>
[JsonPropertyName("requiredItemMinDurabilityMinMax")]
public required MinMax<double> RequiredItemMinDurabilityMinMax { get; set; }
public required MinMax<int> RequiredItemMinDurabilityMinMax { get; set; }
/// <summary>
/// Blacklisted item types to not collect