fix #208: keep combat bar hidden in peace mode
Treat combat-window visibility as gameplay-state owned so character layout restoration cannot replay a stale visible bit. Reset combat state to NonCombat at character-session entry, matching retail ClientCombatSystem::Begin. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
00fe993f6f
commit
8e9c538519
8 changed files with 109 additions and 14 deletions
|
|
@ -128,15 +128,17 @@ public sealed class CombatStateTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void Clear_ResetsHealthCache()
|
||||
public void Clear_ResetsCharacterSessionToPeaceMode()
|
||||
{
|
||||
var state = new CombatState();
|
||||
state.OnUpdateHealth(1, 0.5f);
|
||||
state.OnUpdateHealth(2, 0.8f);
|
||||
state.SetCombatMode(CombatMode.Melee);
|
||||
|
||||
state.Clear();
|
||||
|
||||
Assert.Equal(1f, state.GetHealthPercent(1)); // back to default
|
||||
Assert.Equal(0, state.TrackedTargetCount);
|
||||
Assert.Equal(CombatMode.NonCombat, state.CurrentMode);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue