3.7 KiB
3.7 KiB
Card Effect Fields
This file tracks the shared data fields used by data/cards.json.
The goal is to keep card behavior reusable instead of hardcoding one-off card names.
Damage
damage: base attack damagedamagePerOtherHandCard: bonus damage per other card in handdamagePerAttackPlayedThisTurn: bonus damage per attack played this turndamagePerDiscardedThisTurn: bonus damage per card discarded this turndamagePerSkillInHand: bonus damage per skill card in handdamagePerCardDrawnThisCombat: bonus damage per card drawn this combatdamagePerTurn: damage applied at turn startcardPlayedDamage: damage when the card is playedcardPlayedRandomDamage: random damage when the card is playeddrawDamage: damage dealt when a card is drawnshivDamageBonus: bonus damage for all ShivsfirstShivDamageBonus: bonus damage for the first Shiv each turnattackDamageVsWeakMultiplier: multiplier when the attack hits Weak targets
Block and utility
block: gain blockcardPlayedBlock: gain block whenever a card is playedblockGainMultiplier: multiplier for block gained this turnhits: multi-hit countaoe: hit all enemiespierce: ignore blockdraw: draw cards immediatelydrawUntilHandSize: draw until hand reaches a target sizedrawSkillBlock: gain block for each Skill drawndrawPoison: apply poison when a card is drawnheal: heal immediatelygainEnergy: gain energy immediatelystrength: gain Strengthdex: gain Dexteritythorns: gain ThornsselfVuln: apply Vulnerable to self
Status
weak: apply Weakvuln: apply Vulnerablepoison: apply PoisonpoisonHits: apply poison multiple timespoisonRandomTargets: spread poison applications across random alive enemies
poison deals damage at enemy turn start and then decreases by 1.
Shivs and discard
discard: discard a chosen number of cards from handdiscardAll: discard the whole handdrawPerDiscarded: draw one extra card per discarded cardaddShiv: create Shiv cardsaddShivPerDiscard: create one Shiv per discarded cardshivRetain: Shiv cards are retained at end of turnshivAoe: Shiv cards hit all enemies for the turnsly: trigger on discardretain: keep the card at end of turn
Powers and turn effects
powerEffect: "strengthPerTurn"powerEffect: "energyPerTurn"powerEffect: "blockPerTurn"powerEffect: "poisonPerTurn"powerEffect: "damagePerTurn"powerEffect: "retainOne"turnStartShiv: create Shivs at turn startturnStartDraw: draw cards at turn startturnStartDiscard: discard cards at turn start
Next turn planning
nextTurnBlock: gain block next turnnextTurnDraw: draw extra cards next turnnextTurnKeepBlock: keep block next turnnextTurnAttackMultiplier: attack multiplier next turnnextTurnCopies: copy a chosen card next turnnextTurnSelectHandCard: choose a card from the current hand for next turn copiesnextTurnSelectPrompt: prompt text for selection UInextSkillRepeatCount: repeat the next Skill's effectnextSkillCostZero: make the next Skill cost 0skillCostReductionThisTurn: reduce Skill costs this turn
Misc
innate: place the card in the opening handplayableWhenDrawPileEmpty: only playable when the draw pile is emptyexhaust: exhaust after useunplayable: cannot be playedcurse: curse cardtoken: token cardendTurnDamage: damage if the card remains in hand at end of turn
Rules
- Prefer shared fields over card-specific branches.
- Reuse the same field name for the same behavior.
- Add a new shared field before adding more special-case card logic.