Merge branch 'main' into phase/32-weather-warmth
Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # src/HSchool.Simulation/School.cs
This commit is contained in:
@@ -63,4 +63,20 @@ public class BehaviorDefTests
|
||||
|
||||
Assert.Contains("carry mass", error.Message, StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NegativeApparelWear_FailsTheCatalog()
|
||||
{
|
||||
var error = Assert.Throws<ContentLoadException>(() => _loader.Load(
|
||||
[CatalogLoader.CorePackId],
|
||||
[
|
||||
PackDocuments.Def(
|
||||
CatalogLoader.CorePackId,
|
||||
"behavior",
|
||||
"rules",
|
||||
"""{ "defName": "Behavior", "apparelWearPerHour": -0.1 }"""),
|
||||
]));
|
||||
|
||||
Assert.Contains("apparelWearPerHour", error.Message, StringComparison.Ordinal);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,6 +105,10 @@ public class VanillaCoreTests
|
||||
Assert.Equal(6f, catalog.BehaviorRules.LunchWeight);
|
||||
Assert.Equal(5f, catalog.BehaviorRules.CarryMassBase);
|
||||
Assert.Equal(0.4f, catalog.BehaviorRules.OptionalApparelChance);
|
||||
Assert.Equal(0.01f, catalog.BehaviorRules.ApparelWearPerHour);
|
||||
Assert.Equal(0.15f, catalog.BehaviorRules.ApparelReplaceBelow);
|
||||
Assert.Equal(4, catalog.BehaviorRules.ApparelConditionBands.Count);
|
||||
Assert.Equal("ApparelConditionIntact", catalog.BehaviorRules.ApparelConditionBands[0].Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -147,6 +151,12 @@ public class VanillaCoreTests
|
||||
keys.Add(BodyBuilds.Attribute);
|
||||
keys.AddRange(BodyBuilds.Values);
|
||||
keys.AddRange(ApparelLayers.All);
|
||||
if (catalog.BehaviorRules is { } rules)
|
||||
{
|
||||
keys.AddRange(rules.ApparelConditionBands.Select(band => band.Id));
|
||||
}
|
||||
|
||||
keys.Add("ApparelReplaced");
|
||||
|
||||
foreach (var value in catalog.BodyAttributes.Values.SelectMany(def => def.Options))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user