Skip to content

Fix advocate permission handling and a few command issues - #4502

Merged
LtRipley36706 merged 5 commits into
ACEmulator:masterfrom
Y0oshi:fix/command-fixes
Sep 23, 2026
Merged

LtRipley36706 merged 5 commits into
ACEmulator:masterfrom
Y0oshi:fix/command-fixes

Conversation

@Y0oshi

@Y0oshi Y0oshi commented Sep 23, 2026

Copy link
Copy Markdown
Contributor
  • Characters on an account that was set to Advocate access keep IsAdvocate after the account is demoted, since IsAdvocate isn't ephemeral like the other staff flags and nothing clears it. Command access is checked against IsAdvocate, so the character keeps advocate commands. With OverrideCharacterPermissions enabled (default), it's now cleared on login when the account isn't Advocate and the character doesn't have AdvocateQuest. Bestowed advocates always have AdvocateQuest set, so they're unaffected; an IsAdvocate set manually via /setproperty without AdvocateQuest will be cleared.
  • /remove used < while /bestow uses <=, so an advocate could remove another advocate of the same level. The help text says lower level only.
  • acehelp <command> and acehelp commands were case-sensitive while running commands isn't.
  • When stdin is closed (systemd, docker run without -i, etc.) and ACE_NONINTERACTIVE_CONSOLE isn't set, Console.ReadLine() returns null forever and the command thread spins a core while flooding stdout with the prompt. It now logs and exits. Side effect: sending EOF (Ctrl+D) on an interactive console now closes the prompt until restart.
  • Small cleanups in /reportbug (discarded Trim() result, duplicate "item" check) and a leftover Console.WriteLine("OK") in house-select.

@LtRipley36706
LtRipley36706 merged commit e0f9ce8 into ACEmulator:master Sep 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants