Skip to content

fix(castle-siege): only show the gate and statue list to owner officers - #1352

Open
icheat2win wants to merge 2 commits into
MUnique:masterfrom
icheat2win:fix/castle-siege-npc-list-authorization
Open

icheat2win wants to merge 2 commits into
MUnique:masterfrom
icheat2win:fix/castle-siege-npc-list-authorization

Conversation

@icheat2win

Copy link
Copy Markdown
Contributor

Part of the Castle Siege epic (#735).

Problem

The gate list and Guardian Statue list requests (CastleSiegeNpcListHandlerBase) answered anyone, anywhere on the server, with the health, upgrade levels and positions of every castle defense. The handler also made the decision itself instead of delegating to a player action.

Change

  • The handler now requires the Senior's window, like the buy/repair/upgrade, tax and tribute handlers, and delegates to a new CastleSiegeNpcListAction.
  • CastleSiegeNpcListAction lists the structures only for the guild master and assistant master of the castle owner (CastleSiegeNpcAuthorization.IsOwnerOfficerAsync, the same check as buying/upgrading). Other players get an empty list.
  • Documented on the Castle Siege page.

No packet or view change: an unauthorized player gets the existing list packet with zero entries.

Tests

Two new tests in CastleSiegeNpcTests: owner master gets the list, owner member / other guild master / guildless player get an empty list; the request without the Senior's window isn't answered.

Ran the full MUnique.OpenMU.Tests suite with --no-build: 2444 passed, 2 skipped. Not verified with a game client.


Generated by Claude Code

The gate and Guardian Statue list requests answered anyone, anywhere,
with the health, upgrades and positions of the castle's defenses. They
now need the Senior's window, like the other defense management
requests, and the new CastleSiegeNpcListAction only lists the structures
for the guild master and assistant master of the castle owner.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011xNc764bgrPZRQYCRzPj1x
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-29T16:11:56.607115Z
We couldn’t complete this review. Comment @codex review to try again.
6f86eac PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@codacy-production

codacy-production Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · -3 duplication

Metric Results
Complexity 0
Duplication -3

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@sven-n sven-n left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please resolve conflicts

…npc-list-authorization

# Conflicts:
#	docs-website/docs/server-features/castle-siege.md

This branch has not been deployed

No deployments
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.

3 participants