Skip to content

Feature/server skill requirements - #990

Closed
diegoamatte wants to merge 13 commits into
MUnique:masterfrom
OviedoMarcelo:feature/server-skill-requirements
Closed

diegoamatte wants to merge 13 commits into
MUnique:masterfrom
OviedoMarcelo:feature/server-skill-requirements

Conversation

@diegoamatte

Copy link
Copy Markdown

No description provided.

OviedoMarcelo and others added 13 commits September 25, 2026 17:29
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Weekly quests are configured in the custom configuration of the new
WeeklyQuestsPlugIn (admin panel -> Plugins). Supported objectives: kill a
specific or any monster (optionally per map), gain levels / master levels,
do resets, finish a mini game and kill players. Rewards: items, zen,
experience and master experience.

- Progress is stored per character and weekly period in its own "weekly"
  schema (WeeklyQuestContext with own migrations), so the generated game
  data model stays untouched. A new week starts with fresh rows, no reset
  job is needed.
- Rewards are handed out completely or not at all. When the inventory is
  full they stay pending and are retried at the next login or /weekly.
- New plugin points ICharacterResetPlugIn and IMiniGameEndedPlugIn.
- New /weekly chat command which shows the progress.
Introduce weekly-quests support: adds C2 F5 02 WeeklyQuestEntry packet and XML definition, IWeeklyQuestListViewPlugIn interface, and RemoteView implementation WeeklyQuestListViewPlugIn to send quest lists/updates. Integrates into WeeklyQuestsPlugIn (overview creation, change notifications, SendList) and triggers on chat-command list request. Adds reward text helpers (WeeklyQuestReward/GetDisplayText, WeeklyQuestDefinition/GetRewardsText), localization resources, Mapster configuration tweaks, and unit tests for packet and view behaviour. Also includes docs for the packet and updates ServerToClient packet refs.
This patch adds a weekly quest system with period rotation, class/level gating, item pickup objectives, account-wide reward locking, and all-completed bonus tracking. It also introduces the item pickup plugin hook and persistence support for account-scoped quest progress. On the UI side, modal dialogs now stack correctly instead of cancelling the underlying one, and the related tests cover quest selection, progress rules, and modal behavior.
This change adds multi-step quest tracking across weekly, daily, and once-only periods, including prerequisite locking and per-period reset handling. It also introduces objective checklist packets for the client, NPC/map-based objective detection, and progress persistence for additional objective counts. The quest UI and overview logic were updated to show current steps, remaining resets, and category-specific details.
The merge left an extra </data> before </root>, so the resx wasn't valid XML and the build failed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ith tooltips and a quick help page

Labels stay in English. The info popup of each field now shows a Spanish explanation and its
impact above the original description. Help texts live in SpanishHelp.*.cs (new files).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…e current page empty

After a filter reduced the results (e.g. plugins on page 7), the table showed nothing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The client had its own copy of the skill requirements in its data files, which
drifted from the server's configuration: e.g. Summon Goblin needed 30 energy on
the client and 90 on the server, so the client cast it and the server silently
rejected it.

After a successful login, the server now sends the requirements and costs of
all skills (C2 F5 04) and what it takes to learn the skill of each item
(C2 F5 05), once per session and only to clients which support it.

Learning a skill with an item now also requires the requirements of the skill,
so that a skill can't be learned when it couldn't be used afterwards. The Orb of
Summoning takes the requirements of the skill of its item level.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@diegoamatte
diegoamatte deleted the feature/server-skill-requirements branch September 27, 2026 17:03
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