Skip to content

Castle Siege Data Model & Configuration#754

Draft
Copilot wants to merge 2 commits intomasterfrom
copilot/create-data-model-classes
Draft

Castle Siege Data Model & Configuration#754
Copilot wants to merge 2 commits intomasterfrom
copilot/create-data-model-classes

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 14, 2026

Establishes the persistent data foundation for Castle Siege: all enumerations, [Cloneable] configuration types, and [AggregateRoot] entity types needed by subsequent implementation phases.

Enumerations (DataModel/Configuration/)

  • CastleSiegeState — 10-value cycle state (Idle1=0 … EndCycle=9)
  • CastleSiegeJoinSide — None/Defense/Attack1-3
  • CastleSiegeUpgradeType — Defense/Regen/Life

Configuration classes (DataModel/Configuration/)

  • CastleSiegeConfiguration — root config with scalar settings (crown hold time, registration thresholds, tax prices, guild scores) plus references to map/item definitions and 10 [MemberOfAggregate] collections (schedule, NPC defs, upgrade levels per type, zone rectangles)
  • CastleSiegeStateScheduleEntry — day-of-week + hour/minute trigger per state
  • CastleSiegeNpcDefinition — monster template ref, spawn coords, facing direction, persistence flag, default side
  • CastleSiegeUpgradeDefinition — level, jewel/zen cost, resulting stat value
  • CastleSiegeZoneDefinition — X1/Y1–X2/Y2 rectangle (spawn areas, machine zones)

Entity classes (DataModel/Entities/)

  • CastleSiegeData ([AggregateRoot]) — single-row siege state: owner guild, tax rates, tribute money, hunt zone toggle; owns NpcStates collection
  • CastleSiegeNpcState — per-NPC upgrade levels and current HP, keyed by monster number + instance ID
  • CastleSiegeGuildRegistration ([AggregateRoot]) — per-cycle registration: guild ID, denormalized name, mark count, insertion order

Modifications

  • GameConfiguration — adds [MemberOfAggregate] CastleSiegeConfiguration?
  • NpcWindow enum — adds CastleSiegeGateNpc and CastleSiegeLeverNpc

Copilot AI linked an issue Apr 14, 2026 that may be closed by this pull request
6 tasks
…ameConfiguration integration

Agent-Logs-Url: https://github.com/MUnique/OpenMU/sessions/1c9dd8c1-f6c6-46c0-a10a-874c8872fbce

Co-authored-by: sven-n <5238610+sven-n@users.noreply.github.com>
Copilot AI changed the title [WIP] Add data model classes and configuration for Castle Siege Castle Siege Data Model & Configuration Apr 14, 2026
Copilot AI requested a review from sven-n April 14, 2026 19:22
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.

Castle Siege Data Model & Configuration

2 participants