feat(mosstank): add VTank-style automation PoC
This commit is contained in:
parent
f6fe0f2a4f
commit
4e6e9bc9d9
212 changed files with 49462 additions and 416 deletions
|
|
@ -0,0 +1,58 @@
|
|||
using AcDream.Plugin.Abstractions;
|
||||
|
||||
namespace AcDream.Plugins.MossTank.Tests;
|
||||
|
||||
public sealed class VtankDamageDatabaseTests
|
||||
{
|
||||
[Fact]
|
||||
public void ExactMonsterOverrideWinsOverSpecies()
|
||||
{
|
||||
PluginCombatTarget target = Target("Magma Golem", 1);
|
||||
|
||||
Assert.Equal(
|
||||
[
|
||||
MonsterDamageType.Cold,
|
||||
MonsterDamageType.Bludgeon,
|
||||
MonsterDamageType.Pierce,
|
||||
MonsterDamageType.Slash,
|
||||
],
|
||||
VtankDamageDatabase.Preferences(target));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreatureTypeUsesOfficialOrderedSpeciesPreference()
|
||||
{
|
||||
PluginCombatTarget target = Target("Some Olthoi", 1);
|
||||
|
||||
Assert.Equal(MonsterDamageType.Bludgeon,
|
||||
VtankDamageDatabase.Preferences(target)[0]);
|
||||
Assert.True(
|
||||
VtankDamageDatabase.PreferenceIndex(
|
||||
target,
|
||||
MonsterDamageType.Bludgeon)
|
||||
< VtankDamageDatabase.PreferenceIndex(
|
||||
target,
|
||||
MonsterDamageType.Fire));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void UnknownTargetUsesVtankFinalFallbackOrder()
|
||||
{
|
||||
PluginCombatTarget target = Target("New Server Creature", 0);
|
||||
|
||||
Assert.Equal(
|
||||
[
|
||||
MonsterDamageType.Pierce,
|
||||
MonsterDamageType.Bludgeon,
|
||||
MonsterDamageType.Slash,
|
||||
MonsterDamageType.Acid,
|
||||
MonsterDamageType.Electric,
|
||||
MonsterDamageType.Cold,
|
||||
MonsterDamageType.Fire,
|
||||
],
|
||||
VtankDamageDatabase.Preferences(target));
|
||||
}
|
||||
|
||||
private static PluginCombatTarget Target(string name, int species) =>
|
||||
new(10, name, 100, 5, 0, true, 1f) { SpeciesId = species };
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue