feat(combat): Phase L.1c add outbound combat actions
This commit is contained in:
parent
29afc94b94
commit
25b9616703
5 changed files with 176 additions and 5 deletions
|
|
@ -27,6 +27,40 @@ public sealed class CombatStateTests
|
|||
Assert.Equal(1f, state.GetHealthPercent(0xDEAD));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CombatMode_UsesRetailAceBitValues()
|
||||
{
|
||||
Assert.Equal(1, (int)CombatMode.NonCombat);
|
||||
Assert.Equal(2, (int)CombatMode.Melee);
|
||||
Assert.Equal(4, (int)CombatMode.Missile);
|
||||
Assert.Equal(8, (int)CombatMode.Magic);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SetCombatMode_TracksCurrentMode_AndFiresEvent()
|
||||
{
|
||||
var state = new CombatState();
|
||||
CombatMode? seen = null;
|
||||
state.CombatModeChanged += mode => seen = mode;
|
||||
|
||||
state.SetCombatMode(CombatMode.Missile);
|
||||
|
||||
Assert.Equal(CombatMode.Missile, state.CurrentMode);
|
||||
Assert.Equal(CombatMode.Missile, seen);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void OnCombatCommenceAttack_FiresAttackCommenced()
|
||||
{
|
||||
var state = new CombatState();
|
||||
bool seen = false;
|
||||
state.AttackCommenced += () => seen = true;
|
||||
|
||||
state.OnCombatCommenceAttack();
|
||||
|
||||
Assert.True(seen);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void OnVictimNotification_FiresDamageTaken()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue