Skip to content

feat: a custom system's health model takes damage and healing by its … - #113

Merged
over2take merged 1 commit into
feature/system-builderfrom
sb/2g2a-health-rules
Sep 30, 2026
Merged

over2take merged 1 commit into
feature/system-builderfrom
sb/2g2a-health-rules

Conversation

@over2take

Copy link
Copy Markdown
Owner

…own rules

systemBuilder/health.js works out DAMAGE and HEAL under each health model from the token and the sheet behind it: a second track that spills into the first when overflow is on; damage types whose lighter boxes turn heavier once the track is full; harm notes that move up a level when theirs is full and put the character out past the top; wounds with a per-wound penalty; hit locations noted on their line; and none, which refuses. The token keeps the "how hurt" the heart monitor reads under every model.

The HIT_POINTS route uses it only when the running system is a custom one whose health is not one pool, and runs the rule inside the sheet's write queue so an edit made at the same moment is kept. The built-in systems, and a custom one-pool system, go through the route as before.

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

…own rules

systemBuilder/health.js works out DAMAGE and HEAL under each health model from the token and
the sheet behind it: a second track that spills into the first when overflow is on; damage
types whose lighter boxes turn heavier once the track is full; harm notes that move up a
level when theirs is full and put the character out past the top; wounds with a per-wound
penalty; hit locations noted on their line; and none, which refuses. The token keeps the
"how hurt" the heart monitor reads under every model.

The HIT_POINTS route uses it only when the running system is a custom one whose health is not
one pool, and runs the rule inside the sheet's write queue so an edit made at the same moment
is kept. The built-in systems, and a custom one-pool system, go through the route as before.
@over2take
over2take merged commit 8d2f9c3 into feature/system-builder Sep 30, 2026
4 checks passed
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