Skip to content

Commit

Permalink
add elemental immunity test; ensure return immunity is correct
Browse files Browse the repository at this point in the history
  • Loading branch information
baughj committed Apr 25, 2024
1 parent d08e7bd commit 42318d8
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 4 deletions.
5 changes: 3 additions & 2 deletions src/Extensions/CreatureBehaviorSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@ public static void ProcessAll(IWorldDataManager manager)
Name = cbs1.Name,
StatAlloc = string.IsNullOrEmpty(cbs1.StatAlloc) ? cbs2.StatAlloc : cbs1.StatAlloc,
Behavior = new CreatureBehavior(),
Castables = new CreatureCastables()
Castables = new CreatureCastables(),
Import = cbs1.Import
};

newCbs.Behavior.CastingSets = new List<CreatureCastingSet>();
Expand Down Expand Up @@ -123,7 +124,7 @@ public static void ProcessAll(IWorldDataManager manager)
newCbs.Castables.SpellCategories += $" {cbs2.Castables.SpellCategories}";
}

cbs1.Immunities = cbs1.Immunities == null ? cbs2.Immunities : cbs1.Immunities.Union(cbs2.Immunities).ToList();
newCbs.Immunities = cbs1.Immunities == null ? cbs2.Immunities : cbs1.Immunities.Union(cbs2.Immunities).ToList();

return newCbs;
}
Expand Down
4 changes: 2 additions & 2 deletions src/Hybrasyl.Xml.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<TargetFrameworks>net7.0;net8.0</TargetFrameworks>
<AssemblyName>Hybrasyl.Xml</AssemblyName>
<RootNamespace>Hybrasyl.Xml</RootNamespace>
<PackageVersion>0.9.3.31</PackageVersion>
<Version>0.9.3.31</Version>
<PackageVersion>0.9.3.32</PackageVersion>
<Version>0.9.3.32</Version>
<BuildDocFx Condition="'$(Configuration)'=='Debug'">false</BuildDocFx>
<PackageReadmeFile>README.md</PackageReadmeFile>
<Authors>ERISCO LLC</Authors>
Expand Down
19 changes: 19 additions & 0 deletions tests/Immunities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,25 @@ public void StatusCategoryImmunity()
Assert.NotNull(statusImmune);
Assert.True(statusImmune.ImmuneToStatusCategory("Str", out _));
}

[Fact]
public void ElementalImmunity()
{
var elementalImmune = Fixture.SyncManager.Get<CreatureBehaviorSet>("ElementImmune");
Assert.NotNull(elementalImmune);
Assert.True(elementalImmune.ImmuneToElement("Fire", out _));
Assert.True(elementalImmune.ImmuneToElement(ElementType.Fire, out _));
}

[Fact]
public void ImmunityImports()
{
var importImmune = Fixture.SyncManager.Get<CreatureBehaviorSet>("ImmunityImport");
var importedImmune = Fixture.SyncManager.Get<CreatureBehaviorSet>(importImmune.Import);
Assert.NotNull(importImmune);
Assert.NotNull(importedImmune);
Assert.Equal(importImmune.Immunities.Count, importedImmune.Immunities.Count + importImmune.Immunities.Count);
}
}


0 comments on commit 42318d8

Please sign in to comment.