You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is implemented in the fresh MIT-licensed Go server under the replacement program. Its gameplay and content-design decisions remain authoritative. C, CPython, classic packet, file-path, and enum details in the preserved specification are historical evidence only; do not copy, translate, or structurally port GPL implementation code.
Replacement implementation contract
Use this as the first action-system vertical slice: explicit Go action context, bounded deterministic shape queries, compiled profiles/nodes, persistence, and generated Rust presentation contracts. Sweeping Cleave proves the general framework.
The server remains authoritative, consumes versioned compiled content, and exposes bounded generated Game Protocol 1 messages. Pure rules may use a specifically approved typed CEL environment. Starlark is not part of this issue unless the separate residual-scripting decision explicitly approves it.
Required verification
Preserve every observable rule, balance decision, disclosure boundary, and anti-exploit invariant from the specification below.
Add deterministic Go unit/property tests and wrapper-managed scenario coverage at the appropriate integration boundary.
Add bounded malformed-input and persistence-failure cases where this feature accepts content, network, or stored data.
Add Go/Rust protocol conformance fixtures for every new cross-process field; the client must not reconstruct authoritative rules from prose.
Demonstrate that implementation and tests contain no copied GPL source/test material and execute no runtime Python.
Preserved product/design specification and historical implementation notes
Deliver the reusable combat-action/shape/profile/tree foundation through one server-authoritative Sweeping Cleave vertical slice.
Scope
Add explicit combat action/source context for melee and delayed projectiles with snapshotted discipline, weapon/profile, technique, scalars, and proc policy.
Add validated combat-profile and technique/mastery registries with stable IDs, graph checks, bounded tuning fields, and persisted discipline-local selections.
Implement Sweeping Cleave plus 2–3 axe/cleaver Masteries and the minimal bounded protocol, client tree, quickslot, cooldown, rejection, and respec path.
Superseded path / cleanup target
Remove temporary mutation of chosen_skill/weapon state and any cleave-only damage loop. Do not infer sweep from ATNR_CLEAVE or retain a parallel action timer.
Acceptance criteria
Primary and secondary targets receive deterministic independent normal attack resolution without recursive techniques or duplicate multipart hits.
Profiles control eligibility; rapier, dagger, and spear negative controls cannot use Sweeping Cleave.
Selections, points, prerequisites, refunds, cooldowns, reconnect state, and malformed requests are server-authoritative and tested.
Delayed kills credit the skill/action source captured when the action began.
Validation baseline
Before: attack calls rely on ambient actor state and there is no reusable bounded multi-target or technique contract.
After: one action framework supports a complete player-visible technique slice and later combat/monster reuse.
Run server action/shape/profile/tree tests, client/protocol tests, PvP/friendship/multipart fixtures, sanitizer builds, and GCC/Clang/MinGW builds.
This issue is a bounded child of #27. The parent remains open until every sibling child is complete.
Important
This issue is implemented in the fresh MIT-licensed Go server under the replacement program. Its gameplay and content-design decisions remain authoritative. C, CPython, classic packet, file-path, and enum details in the preserved specification are historical evidence only; do not copy, translate, or structurally port GPL implementation code.
Replacement implementation contract
Use this as the first action-system vertical slice: explicit Go action context, bounded deterministic shape queries, compiled profiles/nodes, persistence, and generated Rust presentation contracts. Sweeping Cleave proves the general framework.
The server remains authoritative, consumes versioned compiled content, and exposes bounded generated Game Protocol 1 messages. Pure rules may use a specifically approved typed CEL environment. Starlark is not part of this issue unless the separate residual-scripting decision explicitly approves it.
Required verification
Preserved product/design specification and historical implementation notes
Parent and roadmap
Outcome
Deliver the reusable combat-action/shape/profile/tree foundation through one server-authoritative Sweeping Cleave vertical slice.
Scope
Superseded path / cleanup target
Remove temporary mutation of
chosen_skill/weapon state and any cleave-only damage loop. Do not infer sweep fromATNR_CLEAVEor retain a parallel action timer.Acceptance criteria
Validation baseline
Before: attack calls rely on ambient actor state and there is no reusable bounded multi-target or technique contract.
After: one action framework supports a complete player-visible technique slice and later combat/monster reuse.
Run server action/shape/profile/tree tests, client/protocol tests, PvP/friendship/multipart fixtures, sanitizer builds, and GCC/Clang/MinGW builds.
This issue is a bounded child of #27. The parent remains open until every sibling child is complete.