Skip to content

Coalition Grunt O.C.C.: second playable class foundation #57

Description

@StreamDemon

Final integration issue under umbrella #12.

Depends on #60, #61, and #62. Do not move this issue to next-up until all three are merged, synchronized locally, validated, and closed.

Goal

Establish the second complete playable O.C.C. and prove the Ley Line Walker vertical generalizes before power armor, augmentation, or psionics-heavy classes.

Approved integration design

Rules content

  • Transcribe the complete Coalition Grunt entry from rendered RUE pp. 231-233; separately render every referenced skill and equipment source.
  • Add page-stamped requirements, Human/Psi-Stalker eligibility, fixed and selectable skills, related and secondary rules, bonuses, starting loadout, pay, and cybernetics restrictions.
  • Express all mechanics through the generic species, skill/S.D.C., and loadout foundations. Do not add Coalition-specific parser logic or occId branches.
  • Keep pay, optional augmentation guidance, and other non-live mechanics as structured dossier/checklist information; do not invent wallet, cybernetics, or augmentation state.
  • Add only required source-verified catalog entries, observing complete-section transcription rules.

Builder and sheet

  • Human remains the only playable species and the locked builder identity. Psi-Stalker is deferred eligibility information and cannot be selected or persisted.
  • Automatically grant fixed skills; collect every required skill and loadout choice; skip spell selection for a non-caster instead of presenting an empty step.
  • Changing O.C.C. clears all O.C.C.-owned skill, spell, and loadout selections.
  • Review and sheet show species, O.C.C., resolved bonuses, accumulated S.D.C., skills, provisioned inventory, and page-stamped checklist/dossier information.
  • Starting armor is provisioned as owned but unworn.

Backend and failure behavior

  • Revalidate the entire build with the shared eligibility, skill, S.D.C., and loadout pipelines.
  • Reject unknown or unavailable species, deferred Psi-Stalker, illegal skills, client-authored bonuses, invalid equipment choices, client-authored starting inventory, and illegal S.D.C. before insertion.
  • Content contradictions fail at catalog load; builder errors remain actionable; backend validation is final authority.
  • Character creation and every server-owned roll remain atomic.

Acceptance

  • Exact printed-value tests cover every Grunt requirement, grant, bonus, restriction, and loadout choice.
  • A full integration test runs raw builder selections through derivation, backend creation, reload, and sheet resolution.
  • Negative tests cover unavailable species, illegal skills, missing prerequisites, tampered bonuses, invalid loadouts, and illegal S.D.C.
  • Ley Line Walker regressions prove both O.C.C.s use the same generic machinery.
  • Live browser acceptance forges a Grunt, verifies its complete resolved sheet, rolls vitals, equips armor, deals damage, navigates between Grunt and Ley Line Walker without stale route state, casts with the Ley Line Walker, reloads both dossiers, and confirms persisted state.

Dependency-label lifecycle

Keep needs:species, needs:sdc-bonuses, and needs:loadouts attached until their corresponding prerequisite is merged and verified on local main; remove each only when that dependency is genuinely implemented. After #57 merges and local main is synchronized and validated, #58 becomes the sole next-up issue while its missing-subsystem labels remain.

Sources

  • RUE pp. 231-233 for Coalition military context and the complete Coalition Grunt entry.
  • Every referenced skill/equipment page rendered under docs/rules/TRANSCRIPTION.md.
  • Never fill gaps from memory.

Explicit exclusions

SAMAS Pilot, Military Specialist, Technical Officer, Glitter Boy power armor, Juicer augmentation, playable Psi-Stalker/R.C.C. mechanics, Cyber-Knight/Mystic psionics, a wallet/vehicle/ammunition subsystem, and unrelated generic effects.

Delivery gates

Run affected rules/backend/web package checks and tests, root vp check and vp test, git diff --check, and the complete live-browser acceptance. Follow branch -> active automated review -> human merge; the agent does not merge.

Parent umbrella: #12.
Approved queue: #60 -> #61 -> #62 -> #57 -> #58 -> #59.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendConvex backendarea:frontendWeb app (builder + sheet)area:rulesRules engine (@riftforge/rules)needs:loadoutsRequires structured O.C.C. starting loadouts and authoritative inventory provisioning

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions