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:
Erik 2026-07-12 22:30:55 +02:00
parent 00fe993f6f
commit 8e9c538519
8 changed files with 109 additions and 14 deletions

View file

@ -170,5 +170,14 @@ public sealed class CombatState
public void OnCombatCommenceAttack()
=> AttackCommenced?.Invoke();
public void Clear() => _healthByGuid.Clear();
/// <summary>
/// Reset character-session combat state. Retail
/// <c>ClientCombatSystem::Begin</c> (0x0056A460) initializes the mode to
/// peace/non-combat along with the transient attack state.
/// </summary>
public void Clear()
{
_healthByGuid.Clear();
SetCombatMode(CombatMode.NonCombat);
}
}