Commit Graph

12 Commits

Author SHA1 Message Date
Brian Fertig 6c8b236e86 feat(bloodthirsty): add new commanders, cards, and update mission rosters
Adds two new legendary commanders: "Blood Sovereign" (bt_cmd_2) and "The Hemorrharch" (bt_cmd_3).
Introduces six new cards:
- Common: Bloodsucker (bt_bloodsucker_1)
- Epic: Hemorrhage (bt_hemorrhage_1)
- Rare: Crimson Stalker (bt_crimson_stalker_1)
- Legendary: Crimson Fury (bt_crimson_fury_1), Blood Martyr (bt_blood_martyr_1), Sanguine Bastion (bt_sanguine_bastion_1)

Updates `data/missions.json` to integrate new commanders and cards into opponent rosters for missions 006 through 013, replacing placeholder or previous units to reflect the expanded faction lineup. Includes corresponding card art assets.
2026-03-22 19:22:06 -06:00
Brian Fertig 480f1ce354 feat: add new Raider commanders, units, and Rupture/Weaken skill systems
- Added two new legendary Raider commanders: Warboss Kragath (Weaken + Strike) and Scar-Queen Vex (Enfeeble + Rupture).
- Introduced new Raider units across all rarities: Brute, Cutpurse, Berserker, Cutthroat, Marauder, Scavenger, Defiler, Warlord, Reaver, Warband Breaker, Carnage, Overlord, Ravager, Iron Destroyer, and Skulltaker.
- Implemented full Rupture mechanics:
  - Added `ruptureStacks` tracking and pre-battle damage phase that can kill units.
  - New `rupture` skill logic with single-target and `all` variants, including burrow immunity.
  - Visuals: rupture stack badge on cards, knife throw animations for application, and pulsing heart effect for tick damage.
  - Audio: new SFX for rupture cast and damage.
- Implemented Weaken mechanics:
  - Reduces target Armor and Attack (split 50/50) with clamping to non-negative values.
  - Added `weakenFires` event tracking and pre-battle animation with stat reduction visuals.
  - Audio: new SFX for weaken cast.
- Updated missions to feature new commanders and units, and increased gold rewards.
- Updated `attacks.png` and `attacks.psd` spritesheets with new effect frames (knife, heart).
- Updated `data/cards.json` and `data/missions.json` with new entries and rebalanced values.
2026-03-22 17:51:06 -06:00
Brian Fertig 739cf18603 bump mission rewards and add first-clear card logic
- Increased gold rewards for several Imperial missions to improve progression pacing.
- Reformatted `missions.json` for consistency (multi-line arrays).
- Set default starting gold to 300 in `SaveManager`.
- Implemented first-clear-only card rewards in `BattleScene`; subsequent wins grant gold but no duplicate cards.
- Added consolation gold (50% of mission reward) on defeat.
- Fixed `CollectionScene` input priority and improved terminal typing speed and line wrapping.
2026-03-22 14:54:40 -06:00
Brian Fertig 126182aa19 feat: add new Imperial cards and level filter to Collection Scene
- Added 5 new Imperial cards: Imperial Medic, Imperial Legionnaire, Signal Jammer, Valor Knight, and Imperial Warbanner with unique skills (heal, legion, jam, valor, strike).
- Updated CollectionScene to include a level filter (Lv 1–5) allowing users to preview card stats at different levels.
- Modified card rendering and terminal output to reflect the selected level dynamically.
- Adjusted grid padding to accommodate the new level filter buttons.
2026-03-22 12:15:59 -06:00
Brian Fertig 1c202adf1f Updated card order, collection view and card images. 2026-03-22 11:08:11 -06:00
Brian Fertig 9c3f7bd424 feat: add Imperial faction Chapter 5 campaign, cards, and missions
- Adds `campaign_imperial` (Level 5) with 8 missions (mission_030 to mission_037)
- Introduces 4 new Imperial Commander cards:
  - Iron Centurion (imp_cmd_2)
  - Grand Marshal Kyra (imp_cmd_3)
  - Imperator Dravus (imp_cmd_4)
- Adds 4 new Imperial Assault cards:
  - Imperial Dreadnought (imp_dreadnought_1)
  - Centurion Guard (imp_centurion_1)
  - Orbital Striker (imp_orbital_1)
  - Praetorian Elite (imp_praetorian_1)
- Configures mission progression, opponents, rewards, and lore entries
- Sets starter rewards for the campaign including Imperial Trooper, Gunner, and Guardian cards
2026-03-22 09:20:11 -06:00
Brian Fertig 71d291f814 feat: add Righteous faction assets and enhance Sanctify animations
- Add new audio and image assets for the Righteous faction:
  - FX: sanctify.mp3
  - Cards: Archangel, Commander (x3), Inquisitor, Judicator, Prophet, Purifier, Seraph, Templar
  - UI: right_01.png, right_02.png, right_03.png
- Update battle backgrounds to include the 'righteous' theme.
- Fix CombatEngine to pass actual enemy lanes to commander offensive buff collection, ensuring all-targeting skills function correctly.
- Refactor Sanctify animations in BattleScene:
  - Introduce `_doSanctifySpriteTo` to animate a projectile flying from source to target.
  - Animate sprite 35 flying in, shaking on impact, swapping to sprite 36, and fading out.
  - Apply the new animation logic to both single-target and multi-target Sanctify effects.
- Update attack spritesheet to support the new animation frames.
2026-03-21 16:37:39 -06:00
Brian Fertig 77bbef1e5b Campaign 4 2026-03-21 15:07:09 -06:00
Brian Fertig 87e6b8f28b refactor(combat): restructure pre-battle phases and implement Xeno mechanics
Reorganize the combat turn sequence to handle Venom, Carapace, and Molt effects within the `_preBattlePhase`. This ensures damage and stat changes occur before buffs and attacks, allowing for accurate pre-attack animations and logic.

Key changes:
- **CombatEngine.js**:
  - Extracted `_moltPhase` and `_tryCarapace` to handle armor gain and HP conversion separately from the main attack loop.
  - Moved Venom and Molt execution to `_preBattlePhase` to run before `_commanderSkillPhase` and `_attackPhase`.
  - Updated pre-attack logic to capture `carapaceGain` for animation purposes without emitting duplicate events.
  - Added `moltRestore` logic to regenerate a fresh shell for attackers before they strike.
- **SkillProcessor.js**:
  - Adjusted `venom` skill logic to update stacks only if the target is below the new value, preventing redundant updates.
- **BattleScene.js**:
  - Updated event filtering and animation pipelines to handle `venomTick`, `carapace`, and `molt` events during the pre-battle sequence.
  - Added visual effects (sprites 27-31) and tween animations for Venom application, Carapace hardening, and Molt shedding/restoration.
  - Implemented `_restoreMoltForDisplay` and `_reapplyMolt` to ensure the UI renders pre-combat states correctly before animating changes.
- **CardManager.js**:
  - Added `baseArmor` tracking to support Carapace cap calculations.
- **Data**:
  - Updated `missions.json` to refine Xeno enemy lineups for missions 014 through 020.
  - Updated Xeno card assets and UI images.
2026-03-20 21:52:34 -06:00
Brian Fertig 0f1db0884c Campaign 3 2026-03-17 14:22:15 -06:00
Brian Fertig d6682baa66 feat: Add Bloodthirsty faction campaign with new cards, skills, and animations
- Added 13 new Bloodthirsty cards (common to legendary) including Countess Vireska commander
- Implemented 4 new skills: siphon, drain, bloodpact, and bloodrage with full combat engine support
- Created Chapter 2 campaign (8 missions) with progressive difficulty and unique lore entries
- Added corresponding audio effects (bloodrage.mp3, drain.mp3, siphon.mp3) and card art assets
- Implemented visual animations for all new skills:
  - Drain: projectile to primary target + splash damage to neighbors + green heal return particles
  - Siphon: blood-red projectile with glow effect that heals attacker
  - Bloodpact: red flash for HP loss followed by ATK gain animation (handles self-destruction)
  - Bloodrage: red pulse and ATK boost display when below 50% HP
- Updated CombatEngine to handle preBattle death checks (bloodpact can kill cards immediately)
- Modified BattleScene to sequence new skill animations within the combat flow
2026-03-14 21:56:19 -06:00
Brian Fertig 5e0d17b2c4 feat(ui): add card art assets and dynamic image rendering
- Add PNG artwork assets for Imperial and Raider faction cards (commanders and units).
- Update `BootScene` to dynamically load card images based on `artKey` entries in `cards.json`.
- Refactor `CardObject` to render the loaded image over a faction-colored backing, falling back gracefully if the texture is missing.
- Replace the previous solid background rectangle with a transparent red overlay (`.bg`) for the attack flash animation, ensuring art remains visible during impacts.
2026-03-12 20:21:26 -06:00