change hacky fix to use stringToNumberFactoryConverter

This commit is contained in:
CWX
2025-04-12 17:14:53 +01:00
parent 1c3f11220f
commit 2c39a8b6e3
2 changed files with 5 additions and 23 deletions
@@ -194,8 +194,6 @@ public class QuestHelper(
/// <returns>true if loyalty is high enough to fulfill quest requirement</returns>
public bool TraderLoyaltyLevelRequirementCheck(QuestCondition questProperties, PmcData profile)
{
var value = (JsonElement)questProperties.Value;
var requiredLoyaltyLevel = value.GetDouble();
if (!profile.TradersInfo.TryGetValue(
questProperties.Target.IsItem
? questProperties.Target.Item
@@ -210,7 +208,7 @@ public class QuestHelper(
return CompareAvailableForValues(
trader.LoyaltyLevel.Value,
requiredLoyaltyLevel,
questProperties.Value.Value,
questProperties.CompareMethod
);
}
@@ -439,28 +439,12 @@ public record QuestCondition
set;
} // TODO: string[] | string
private double? _value;
[JsonPropertyName("value")]
public object? Value
[JsonConverter(typeof(StringToNumberFactoryConverter))]
public double? Value
{
get => _value;
set
{
if (value is JsonElement element)
{
if (element.ValueKind == JsonValueKind.String)
{
_value = double.Parse(element.GetString());
return;
}
if (element.ValueKind == JsonValueKind.Number)
{
_value = element.GetDouble();
return;
}
}
}
get;
set;
}
[JsonPropertyName("type")]