houserules/docs/user/modifier-profiles.md

4.2 KiB
Raw Blame History

Modifier Profiles

Modifier Profiles let you attach rule modifiers to pieces — either globally by piece type ("all white knights get +2 HP") or specifically by board position ("the knight that starts on b1 has +1 range"). Profiles are saved to a personal library, shareable via URL, and can be swapped mid-game.


Opening the Editor

From any game view: click the rules drawer (⚙ icon) → Modifier Profiles.

From the lobby: click Custom… in the Profile Picker next to the Layout Picker.


Per-Type vs Per-Instance

Per-Type Per-Instance
Targets All pieces of a given type + color One specific piece at a named board square
Example "All white knights: HP +3" "The knight starting on b1: Range +1"
Requires layout? No Yes — square must exist in the chosen layout

The 6 Modifier Categories

HP Bonus

Add or subtract hit points from a piece's base HP. Values: integer from 10 to +10. Stacks additively from all sources.

Example: Knight (white) HP +3 — the knight now requires 3 more attacks to eliminate.


Range Bonus

Extend the sliding distance of rooks, bishops, and queens. Values: integer 07. Capped at maximum board range.

Example: Rook (white) Range +1 — the rook can see one extra square per ray when unblocked.


Direction Additions

Add new movement directions to a piece (1-square step moves only). Values: a set of directional flags: forward, backward, left, right, diagonal-fl, diagonal-fr, diagonal-bl, diagonal-br.

Example: Pawn (white) + backward — pawns can also retreat one square to an empty square.


Capture Flags

Toggle special capture behavior. Flags:

  • CAN_CAPTURE_OWN — piece may capture friendly pieces
  • CANNOT_BE_CAPTURED — piece is immune to direct capture (cannot be used on kings)
  • EN_PASSANT — future flag for custom en-passant rules

Example: Bishop + CANNOT_BE_CAPTURED — no enemy piece can legally capture it.


Promotion Override

Force a pawn to always promote to a specific piece, or disable promotion entirely. Values: queen, rook, bishop, knight, or disabled.

Example: Pawn + Promotion = bishop — any pawn reaching the back rank auto-promotes to bishop, no dialog shown.


Damage Resistance

Reduce all incoming damage by a percentage. Stacks multiplicatively across sources. Values: 0 (no resistance) to 1 (full immunity).

Example: Queen + 0.5 resistance — every attack deals half normal damage.


Hot-Swap

Profiles can be changed mid-game by the host (creator of the room). Click the rules drawer while in a game and select a new profile. Changes take effect after the current interaction.

Note: Two-player consent model is planned for T2. In T1, the host can change profiles unilaterally.


Library & Sharing

  • Save — click the Save button in the editor header. Up to 20 profiles stored locally.
  • Star — starred profiles are never evicted when the library is full.
  • Share 🔗 — copies a URL containing the full profile. Profiles larger than 8 KB cannot be URL-shared (save to library and share the room code instead).
  • Load — open the library drawer in the editor and click any entry.

In-Play Inspection

Hover any piece on the board to see a tooltip listing active modifiers.

Click a piece to pin a side panel with the full modifier breakdown, including the source of each modifier (per-type, per-instance, or from an active preset). The panel stays pinned across turns until you dismiss it (×) or click another piece.


Known Limitations (T1)

  • Only the host can swap profiles mid-game. Two-player consent coming in T2.
  • Maximum 20 profiles in the local library per browser.
  • Profiles larger than 8 KB cannot be URL-shared.
  • CANNOT_BE_CAPTURED cannot be applied to kings.
  • Deadlock detection (all legal moves blocked) not yet implemented.