feat(mosstank): add VTank-style automation PoC

This commit is contained in:
Erik 2026-08-27 18:57:21 +02:00
parent f6fe0f2a4f
commit 4e6e9bc9d9
212 changed files with 49462 additions and 416 deletions

View file

@ -96,6 +96,24 @@ public sealed class RuntimeCombatModeStateTests
Assert.Equal(["intent", "equipment", "send:Melee"], operations.Trace);
}
[Fact]
public void ExplicitRequestSendsChosenPluginModeWithoutEquipmentGuessing()
{
var combat = new CombatState();
var operations = new Operations();
combat.CombatModeChanged += mode =>
operations.Trace.Add($"state:{mode}");
var state = new RuntimeCombatModeState(combat, operations);
RuntimeCombatModeRequestResult result = state.Request(CombatMode.Magic);
Assert.Equal(RuntimeCombatModeRequestStatus.Sent, result.Status);
Assert.Equal(CombatMode.Magic, result.Mode);
Assert.Equal(
["intent", "send:Magic", "state:Magic"],
operations.Trace);
}
private sealed class Operations : IRuntimeCombatModeOperations
{
public bool IsInWorld { get; init; } = true;