Skip to content

Parse table/Server/additionalEffectGroup.xml (2.4.34) - #92

Merged
Zintixx merged 1 commit into
masterfrom
parse-additional-effect-group
Oct 30, 2026
Merged

Zintixx merged 1 commit into
masterfrom
parse-additional-effect-group

Conversation

@Zintixx

@Zintixx Zintixx commented Oct 30, 2026 •

Copy link
Copy Markdown

Some elite NPCs (Shadow Expedition, Shadow Crack/Cataclysm, Dark Castle spirits) carry <additionalEffect group="G,N">: at spawn the server rolls N rows of group G in table/Server/additionalEffectGroup.xml and applies each row's effects (the "Demonic Rage" affixes). This parses that table and reads group as the two ints it is. The server side lands in PrivateMaple2 once this publishes.

  • Xml/Table/Server/AdditionalEffectGroup.cs (new) — group { groupId; value[] }, each value one buff as parallel effectId / effectLevel arrays (a row is sometimes a visible effect plus its hidden driver).
  • ServerTableParser.cs — ParseAdditionalEffectGroup(), yielding (groupId, group) like ParseGroupSpawn.
  • Xml/Npc/AdditionalEffect.cs — group was string[] split on :, so "101,2" came through as one string. Every authored value in GMS2 and KMS2 is comma-delimited (1,1, 1,2, 1,3, 101,2), so it is now [M2dArray] int[]. Nothing in this repo or the ingest read the old field.
  • Tests — the table's row counts and two rows pinned to the XML (including the one level-2 row), and NPC 49300001 reading [101, 2] under NA/Live while 21000001's empty group reads as an empty array.
  • Version — 2.4.34.

The full Maple2.File.Tests run has the same 34 failures with and without this change (stale counts such as TestNpcParser 7535 vs 8078 against current data); the two new tests pass.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

…ffect group as ints

An elite npc's <additionalEffect group="G,N"> names group G of
additionalEffectGroup.xml and how many of its rows to roll at spawn. The
group attribute was split on ':' into strings, so "101,2" arrived as one
string; every authored value is comma-delimited.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0379b7b3-284d-4a46-988e-38a0a13ba727
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Zintixx
Zintixx merged commit 4c1ed6e into master Oct 30, 2026
3 checks passed
@Zintixx
Zintixx deleted the parse-additional-effect-group branch October 30, 2026 16:21
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.

1 participant