Skip to content

feat: FINALV1ALLYCOMMANDS - In-game /eden ally view, add, and remove commands - #21

Merged
burgerfan41 merged 4 commits into
EdenGuild:masterfrom
Good627:FINALV1ALLYCOMMANDS
Oct 13, 2026
Merged

burgerfan41 merged 4 commits into
EdenGuild:masterfrom
Good627:FINALV1ALLYCOMMANDS

Conversation

@Good627

@Good627 Good627 commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Overview

This PR implements in-game ally management commands (/eden ally view, /eden ally add <guild>, /eden ally remove <guild>) with real-time bridge-backed activity tracking, automated GUI diplomacy management, and tag scraping.


Features & Capabilities

1. /eden ally view

  • Queries the Eden bridge websocket for active allied guilds and their recent raid activity with Eden members.
  • Formats ally entries ranked by most recent activity timestamp:
    • Green (< 30m): High activity / active ally.
    • Yellow (30m - 45m): Moderate activity / approaching inactivity threshold.
    • Red (> 45m): Inactive ally.
  • For players holding Strategist, Owner, or Chief roles, inactive entries feature an interactive click-to-run prompt:
    • Hover tooltip: Click to remove <Guild>
    • Click action: Automatically stages /eden ally remove <guild>
  • Inactivity warning notifications in chat when an ally exceeds the activity threshold.

2. Automated Diplomacy Management (/eden ally add <guild> & /eden ally remove <guild>)

  • Role-gated to Strategist+ (/guild manage permissions).
  • Non-disruptive Container Automation:
    • Leverages BackgroundContainerSession to safely navigate /guild manage -> Diplomacy menus without closing open game state or desyncing container IDs.
    • Displays a modal AllyProgressScreen overlay informing the player of the active operation and preventing conflicting user input during automated slot clicks.
  • Add Flow:
    • Opens /guild manage, enters Diplomacy.
    • Inspects Slot 0 for ally list capacity limits (rejects early if all ally slots are full).
    • Clicks Add Ally, waits for the Wynncraft server prompt, and sends the guild name.
    • Listens for server confirmation or rejection chat messages (Guild does not exist, Already allied, etc.) with fail-safe timeouts.
  • Remove Flow:
    • Opens /guild manage, enters Diplomacy.
    • Toggles Removal Mode.
    • Matches the target guild's banner item across diplomacy slots and confirms removal.
    • Handles confirmation dialogs cleanly.

3. Ally Tag Cache & Scraper

  • Automatically extracts and caches guild tag mappings (TAG <-> Guild Name) observed during diplomacy screen navigation and chat messages.
  • Powers fast autocomplete and tag resolution for commands and discord formatters.

Verification & Testing

  • Unit tests added:
    • GuildAllyManagerTest: Validates permission checking, role gating, and state machine transitions.
    • DiscordChatFormatterTest: Validates chat formatting, color thresholds, and hover event generation.
  • Full ./gradlew test passes cleanly with zero regressions.

…commands

- Adds /eden ally view to inspect allied guilds ranked by raid activity with Eden members
- Color-codes inactivity thresholds (<30m green, 30-45m yellow, >45m red) with clickable hover removal prompt for Strategist+
- Adds /eden ally add <name> via background container automation navigating /guild manage -> Diplomacy -> Slot 0 capacity check -> chat prompt with server rejection detection
- Adds /eden ally remove <name> via background container automation navigating /guild manage -> Diplomacy -> Removal mode -> banner select -> confirmation
- Displays AllyProgressScreen modal overlay preventing conflicting player input during container automation
- Scrapes and caches ally guild tags from diplomacy menus and chat responses
- Full unit test suite covering ally formatting and automation parser logic
@Good627
Good627 force-pushed the FINALV1ALLYCOMMANDS branch from 015cbab to ccc5643 Compare October 11, 2026 22:33
@burgerfan41
burgerfan41 merged commit 68d60c5 into EdenGuild:master Oct 13, 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