Skip to content

Combat disciplines: complete Melee Combat and Unarmed trees #16

Description

@zoeyrose

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

Preserve every Melee and Unarmed choice, including weapon-family differentiation and PvP/boss bounds. Implement against the shared Go shape, action, control, and effect contracts.

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

Parent and roadmap

Outcome

Complete approved Melee Combat sword, thrust/reach, impact, and fundamentals branches plus the separate Unarmed tree using the shared action framework.

Scope

  • Profile every current melee weapon and expose validated capability/effectiveness summaries in item examination and training UI.
  • Implement bounded sword sweep/tempo/defense, thrust/reach line/precision, impact stagger/armor-pressure, shared fundamentals, and Unarmed combination/evasion/control nodes.
  • Add control resistance/immunity windows, proc limits, PvP scalars, and deterministic cooldown/recovery behavior.
  • Tune sustained and burst rotations against representative encounters and Add target-dummy DPS testing with timed, per-player results #28 target-dummy sessions.

Superseded path / cleanup target

Remove stale weapon subtype/editor semantics and any technique-specific action/target implementation that bypasses the shared framework.

Acceptance criteria

  • Every melee weapon has a valid profile and meaningful branch eligibility.
  • Piercing weapons receive line/precision play rather than forced sweeping.
  • All implemented controls and multi-hit actions respect boss/PvP/proc bounds.
  • Approved Melee Combat and Unarmed trees are usable, persistent, documented, and tested.

Validation baseline

Before: only the initial axe/cleaver vertical slice exists.

After: all melee families and Unarmed have coherent differentiated progression on one XP/action model.

Run profile completeness, technique/action tests, item/UI fixtures, PvP/control cases, target-dummy baselines, content checks, and native builds.

This issue is a bounded child of #27. The parent remains open until every sibling child is complete.

Metadata

Metadata

Assignees

No one assigned

    Fields

    Priority

    None yet

    Start date

    None yet

    Target date

    None yet

    Effort

    None yet

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions