New Effect Definitions (Cards Expansion Round 2) - UQcsse3200/2026-studio-3 GitHub Wiki
Status: Definitions confirmed by Team 5.
Maintainer: Team 6 coordinator (hezhenyu / Vincent).
Code baseline: main at 6f5574ab (2026-09-16). File:line references are against this commit.
This page is the single source of truth for SUNDER, PIERCE, ENERGY_GAIN, CLEANSE and FORTIFY, plus FEEBLE (an existing effect used by a Round 2 card). It supersedes the earlier "New effects request" PDF.
Live path (verified on main):
-
Team3CardPlayAdapter→BattleController.submitCardPlayRequest(...) -
BattleController.resolvePlayerCard()→CardPlayService.playCard(...)→EffectExecutorproduces resolved effects -
BattleController.dispatchCardEffects()(BattleController.java:650) routes:- enemy-targeted effects →
CardEffectHandler.applyEnemyEffects(...) - SELF effects →
CardEffectHandler.applyPlayerEffects(...)
- enemy-targeted effects →
Team1EnemyStateAdapter.applyEnemyEffects() and Team7PlayerStateAdapter.applyPlayerEffects() also contain effect implementations, but no production code calls them. Only CardEffectHandler changes game state in live combat. A test that only exercises an adapter does not prove the effect works in battle.
Effects on the same card resolve in effects array order.
CardValidator.isCompatibleWithTarget() (CardValidator.java:208) runs for base cards and upgrades (called at lines 54, 126, 192):
- SELF accepts: BLOCK, HEAL, STRENGTH, ENERGY_GAIN, CLEANSE, FORTIFY
-
SINGLE_ENEMY / ALL_ENEMIES accept: DAMAGE, PIERCE, SUNDER, and any effect where
usesDuration()is true
| Effect | Target | Live combat (CardEffectHandler) | Card(s) |
|---|---|---|---|
| SUNDER | Enemy | ❌ Dropped (empty default branch, CardEffectHandler.java:45). Fix in progress. | unseal_the_breach |
| PIERCE | Enemy | ❌ Dropped (same default branch). Fix in progress. | poison_blade |
| ENERGY_GAIN | SELF | ✅ Applied (CardEffectHandler.java:72) | astral_ward |
| CLEANSE | SELF | ✅ Applied (CardEffectHandler.java:78) | purify |
| FORTIFY | SELF | ✅ Applied (CardEffectHandler.java:79) | iron_oath |
| FEEBLE | Enemy | sentinels_rebuke |
-
2026-09-20 — Replaces the "New effects request" PDF. Updated validator behaviour (base cards are now validated), corrected
unseal_the_breachorder to SUNDER → DAMAGE, replaced branch commits withmainreferences, added FEEBLE, and documented the liveCardEffectHandlerpath and open issues.