Skip to content

feat(system-builder): conditions count down by the round (4e2a2) - #218

Merged
over2take merged 1 commit into
feature/system-builderfrom
sb/4e2a2-condition-rounds
Oct 9, 2026
Merged

over2take merged 1 commit into
feature/system-builderfrom
sb/4e2a2-condition-rounds

Conversation

@over2take

Copy link
Copy Markdown
Owner

Each new round of a combat, the initiative tracker counts its tokens' conditions down: every one with rounds left loses one, and those reaching none come off (tokens/conditions.js tickRound, tickCombat). A new round is when the turn order wraps, when the sides wrap in side mode, or in Shadowrun when every pass is spent rather than at the end of each pass. The combat's tokens come from the tracker's ids: npc: for NPC tokens, player: for every token of that player's, each counted once. Every screen redraws the map when any changed.

A new socket request, requestTokenConditions, answers a token's conditions as the viewer may see them, under every system: the GM, the token's owner and a player given a friendly NPC get the rounds left and each condition's modifiers; anyone else gets which conditions, as the token list shows.

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

Each new round of a combat, the initiative tracker counts its tokens'
conditions down: every one with rounds left loses one, and those reaching none
come off (tokens/conditions.js tickRound, tickCombat). A new round is when the
turn order wraps, when the sides wrap in side mode, or in Shadowrun when every
pass is spent rather than at the end of each pass. The combat's tokens come from
the tracker's ids: npc:<id> for NPC tokens, player:<name> for every token of
that player's, each counted once. Every screen redraws the map when any changed.

A new socket request, requestTokenConditions, answers a token's conditions as
the viewer may see them, under every system: the GM, the token's owner and a
player given a friendly NPC get the rounds left and each condition's modifiers;
anyone else gets which conditions, as the token list shows.
@over2take
over2take merged commit 7a3e880 into feature/system-builder Oct 9, 2026
4 checks passed
@over2take
over2take deleted the sb/4e2a2-condition-rounds 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