Files
maplecontest/docs/card-effect-fields.md
2026-06-22 16:08:05 +09:00

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 damage
  • damagePerOtherHandCard: bonus damage per other card in hand
  • damagePerAttackPlayedThisTurn: bonus damage per attack played this turn
  • damagePerDiscardedThisTurn: bonus damage per card discarded this turn
  • damagePerSkillInHand: bonus damage per skill card in hand
  • damagePerCardDrawnThisCombat: bonus damage per card drawn this combat
  • damagePerTurn: damage applied at turn start
  • cardPlayedDamage: damage when the card is played
  • cardPlayedRandomDamage: random damage when the card is played
  • drawDamage: damage dealt when a card is drawn
  • shivDamageBonus: bonus damage for all Shivs
  • firstShivDamageBonus: bonus damage for the first Shiv each turn
  • attackDamageVsWeakMultiplier: multiplier when the attack hits Weak targets

Block and utility

  • block: gain block
  • cardPlayedBlock: gain block whenever a card is played
  • blockGainMultiplier: multiplier for block gained this turn
  • hits: multi-hit count
  • aoe: hit all enemies
  • pierce: ignore block
  • draw: draw cards immediately
  • drawUntilHandSize: draw until hand reaches a target size
  • drawSkillBlock: gain block for each Skill drawn
  • drawPoison: apply poison when a card is drawn
  • heal: heal immediately
  • gainEnergy: gain energy immediately
  • strength: gain Strength
  • dex: gain Dexterity
  • thorns: gain Thorns
  • selfVuln: apply Vulnerable to self

Status

  • weak: apply Weak
  • vuln: apply Vulnerable
  • poison: apply Poison
  • poisonHits: apply poison multiple times
  • poisonRandomTargets: 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 hand
  • discardAll: discard the whole hand
  • drawPerDiscarded: draw one extra card per discarded card
  • addShiv: create Shiv cards
  • addShivPerDiscard: create one Shiv per discarded card
  • shivRetain: Shiv cards are retained at end of turn
  • shivAoe: Shiv cards hit all enemies for the turn
  • sly: trigger on discard
  • retain: 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 start
  • turnStartDraw: draw cards at turn start
  • turnStartDiscard: discard cards at turn start

Next turn planning

  • nextTurnBlock: gain block next turn
  • nextTurnDraw: draw extra cards next turn
  • nextTurnKeepBlock: keep block next turn
  • nextTurnAttackMultiplier: attack multiplier next turn
  • nextTurnCopies: copy a chosen card next turn
  • nextTurnSelectHandCard: choose a card from the current hand for next turn copies
  • nextTurnSelectPrompt: prompt text for selection UI
  • nextSkillRepeatCount: repeat the next Skill's effect
  • nextSkillCostZero: make the next Skill cost 0
  • skillCostReductionThisTurn: reduce Skill costs this turn

Misc

  • innate: place the card in the opening hand
  • playableWhenDrawPileEmpty: only playable when the draw pile is empty
  • exhaust: exhaust after use
  • unplayable: cannot be played
  • curse: curse card
  • token: token card
  • endTurnDamage: 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.