From 0f3b28ba5556641a8c1273156a0a601bd02f27b7 Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Sat, 18 Apr 2026 22:04:21 -0600 Subject: [PATCH] feat(engine): add 6 modifier attrs to ChessAttrMap --- packages/chess/src/schema.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/chess/src/schema.ts b/packages/chess/src/schema.ts index ff287bd..11f0769 100644 --- a/packages/chess/src/schema.ts +++ b/packages/chess/src/schema.ts @@ -49,10 +49,25 @@ export interface ChessAttrMap { // Custom rule attributes (from RULES.md presets) Hp: number; PoisonedSquare: boolean; + // Modifier profile attributes + HpBonus: number; + RangeBonus: number; + DirectionAdditions: readonly string[]; + CaptureFlags: number; + PromotionOverride: PieceType | "disabled"; + DamageResistance: number; } export type ChessAttrKey = keyof ChessAttrMap; +/** Capture behavior bitflags for the CaptureFlags modifier attribute. */ +export const CaptureFlag = { + CAN_CAPTURE_OWN: 1, + CANNOT_BE_CAPTURED: 2, + EN_PASSANT: 4, +} as const; +export type CaptureFlag = typeof CaptureFlag[keyof typeof CaptureFlag]; + /** A typed chess fact triple. */ export interface ChessFact { readonly id: EntityId;