Implement passive relics and six-family defense towers
This commit is contained in:
@@ -73,6 +73,19 @@ namespace BumpCombat.Tests
|
||||
}
|
||||
}
|
||||
|
||||
[TestCase(EnemyDamageSource.Player, true)]
|
||||
[TestCase(EnemyDamageSource.PassiveRelicAttack, true)]
|
||||
[TestCase(EnemyDamageSource.PassiveRelicExplosion, true)]
|
||||
[TestCase(EnemyDamageSource.PassiveRelicTransferredIgnite, true)]
|
||||
[TestCase(EnemyDamageSource.Tower, false)]
|
||||
public void RewardKillCredit_ExcludesTowers(
|
||||
EnemyDamageSource source,
|
||||
bool expected)
|
||||
{
|
||||
Assert.That(PassiveRelicRules.IsPlayerRewardKill(source),
|
||||
Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
private static void SetField<T>(ActiveArtifactDefinition definition, string fieldName, T value)
|
||||
{
|
||||
typeof(ActiveArtifactDefinition)
|
||||
@@ -82,32 +95,19 @@ namespace BumpCombat.Tests
|
||||
[Test]
|
||||
public void AvailableRelics_ExcludesOwnedIdsAndPreservesCatalogOrder()
|
||||
{
|
||||
PassiveRelicId[] all = PassiveRelicRules.GetAvailableRelics(
|
||||
PassiveRelicId[] catalog = PassiveRelicRules.GetAvailableRelics(
|
||||
System.Array.Empty<PassiveRelicId>());
|
||||
PassiveRelicId[] expected = (PassiveRelicId[])
|
||||
System.Enum.GetValues(typeof(PassiveRelicId));
|
||||
Assert.That(catalog, Is.EqualTo(expected));
|
||||
Assert.That(catalog.Length, Is.EqualTo(20));
|
||||
|
||||
PassiveRelicId[] afterOne = PassiveRelicRules.GetAvailableRelics(
|
||||
new[] { PassiveRelicId.ResonanceCore });
|
||||
PassiveRelicId[] afterAll = PassiveRelicRules.GetAvailableRelics(
|
||||
new[]
|
||||
{
|
||||
PassiveRelicId.TwinHornTalisman,
|
||||
PassiveRelicId.ResonanceCore,
|
||||
PassiveRelicId.RuptureSeed,
|
||||
});
|
||||
|
||||
Assert.That(all, Is.EqualTo(new[]
|
||||
{
|
||||
PassiveRelicId.TwinHornTalisman,
|
||||
PassiveRelicId.ResonanceCore,
|
||||
PassiveRelicId.RuptureSeed,
|
||||
}));
|
||||
Assert.That(afterOne, Is.EqualTo(new[]
|
||||
{
|
||||
PassiveRelicId.TwinHornTalisman,
|
||||
PassiveRelicId.RuptureSeed,
|
||||
}));
|
||||
Assert.That(afterAll, Is.Empty);
|
||||
Assert.That(afterOne, Has.None.EqualTo(PassiveRelicId.ResonanceCore));
|
||||
Assert.That(afterOne.Length, Is.EqualTo(19));
|
||||
Assert.That(PassiveRelicRules.GetAvailableRelics(expected), Is.Empty);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RuptureDamageAndRadiusScaleFromEnemyHealthAndPlayerBody()
|
||||
{
|
||||
@@ -116,6 +116,7 @@ namespace BumpCombat.Tests
|
||||
}
|
||||
|
||||
[TestCase(EnemyDamageSource.Player, true)]
|
||||
[TestCase(EnemyDamageSource.PassiveRelicAttack, true)]
|
||||
[TestCase(EnemyDamageSource.Tower, false)]
|
||||
[TestCase(EnemyDamageSource.PassiveRelicExplosion, false)]
|
||||
[TestCase(EnemyDamageSource.None, false)]
|
||||
|
||||
Reference in New Issue
Block a user