Skip to content

feat(system-builder): conditions as data (4e1a) - #215

Merged
over2take merged 1 commit into
feature/system-builderfrom
sb/4e1a-conditions-data
Oct 9, 2026
Merged

over2take merged 1 commit into
feature/system-builderfrom
sb/4e1a-conditions-data

Conversation

@over2take

Copy link
Copy Markdown
Owner

From the approved builder-conditions mockup. A definition's conditions section holds only changes: a standard condition turned off ({ on: false }) or edited, and the system's own conditions by id. Ten standard ones every system starts with: Blinded, Bleeding, Poisoned, Prone, Stunned, Grappled, Frightened, Unconscious, Restrained, Exhausted. Up to 60 in all.

Each has a name, a chip label, an icon (one of 24 drawn for CITY_NET, or an uploaded PNG/WebP/SVG under /uploads/condition_icons), a description, how it ends (when removed, or after 1 to 99 rounds) and up to 10 modifiers on a stat, a formula or all rolls. Modifiers are recorded; they reach rolls with Phase 6.

checkConditions reports every problem with where it is; conditionsOf gives the running game and the builder each condition whole, in order. The currency icon upload route becomes a shared helper, and POST /api/systems/condition-icons uses it, main admin only.

Summary

Test plan

  • Tested locally
  • Tests pass

Pre-merge checklist

Code quality:

  • Code follows project style
  • No breaking changes (or clearly documented)
  • No console errors or warnings

Version & Release:

  • Version bumped? If releasing to users, update:
    • frontend/package.json version
    • docker-compose.yml APP_VERSION
    • CHANGELOG.md with release notes
  • GitHub Actions will auto-tag Docker images with the new version

Before merging to main:

  • All tests passing
  • PR reviewed and approved
  • Branch is up to date with main
  • No merge conflicts

Related issues

From the approved builder-conditions mockup. A definition's `conditions` section
holds only changes: a standard condition turned off ({ on: false }) or edited,
and the system's own conditions by id. Ten standard ones every system starts
with: Blinded, Bleeding, Poisoned, Prone, Stunned, Grappled, Frightened,
Unconscious, Restrained, Exhausted. Up to 60 in all.

Each has a name, a chip label, an icon (one of 24 drawn for CITY_NET, or an
uploaded PNG/WebP/SVG under /uploads/condition_icons), a description, how it
ends (when removed, or after 1 to 99 rounds) and up to 10 modifiers on a stat,
a formula or all rolls. Modifiers are recorded; they reach rolls with Phase 6.

checkConditions reports every problem with where it is; conditionsOf gives the
running game and the builder each condition whole, in order. The currency icon
upload route becomes a shared helper, and POST /api/systems/condition-icons
uses it, main admin only.
@over2take
over2take merged commit d3634d0 into feature/system-builder Oct 9, 2026
4 checks passed
@over2take
over2take deleted the sb/4e1a-conditions-data branch October 13, 2026 13:39
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