Commit Graph

102 Commits

Author SHA1 Message Date
Brian Fertig db258bdcae Added Read Me 2026-04-12 08:47:21 -06:00
Brian Fertig 9d77149b41 feat(skirmish): unlock all levels for testing by removing level restriction logic 2026-04-04 13:20:06 -06:00
Brian Fertig 3e8c4ab7b8 feat(combat): add 'overwhelm' win condition with visual effects and result display
- Introduces `winType` field to track victory conditions (commander/depletion/overwhelm)
- Implements `_overwhelmCheck()` logic to detect when one side exhausts all resources while the other retains combat capability
- Adds `_animateOverwhelm()` sequence: banner, rally, strikes, HP drain, and commander defeat with shake/flash/particle effects
- Updates `BattleResultScene` to show "VICTORY BY OVERWHELM!" / "OVERWHELMED" titles and annotate report accordingly
2026-04-04 12:11:26 -06:00
Brian Fertig d1a5deb7ed feat(combat): add 'overwhelm' win condition with visual effects and result display
- Introduces `winType` field to track victory conditions (commander/depletion/overwhelm)
- Implements `_overwhelmCheck()` logic to detect when one side exhausts all resources while the other retains combat capability
- Adds `_animateOverwhelm()` sequence: banner, rally, strikes, HP drain, and commander defeat with shake/flash/particle effects
- Updates `BattleResultScene` to show "VICTORY BY OVERWHELM!" / "OVERWHELMED" titles and annotate report accordingly
2026-04-04 11:28:46 -06:00
Brian Fertig 05ea5a1515 balance: increase skill values and stats across multiple cards
- Adjusted skill effect values (strike, pierce, counter, heal, etc.) to be ~20-50% higher per rarity/level
- Updated unit attack/health stats for several cards (e.g., Hive Queen, Carapace units) to match new power curve
- Improved draft UX in alternating mode by auto-scrolling to current section and caching section positions for smoother tween-based navigation
2026-04-04 10:43:52 -06:00
Brian Fertig 8b963d270e feat: scale card stat values to match difficulty progression
- Doubled base strike/hack/fortify/protect/counter/heal values across enemy cards to increase challenge
- Applied exponential scaling (×2, ×3, ×4) for higher-tier enemies and boss variants
- Fixed Unicode em-dash in bloodlord flavor text
2026-04-04 09:50:02 -06:00
Brian Fertig 0a76d7352b feat: implement smite skill, rework enfeeble to hive_link/wound, update card skills and flavor texts
- Add 'smite' damage-over-time skill with single/all-target support and animation
- Rename 'enfeeble' to 'hive_link' on xeno cards; add persistent ATK gain on death
- Replace some enfeeble instances with new 'wound' skill (applied on_attack)
- Adjust cleanse trigger from preBattle to postBattle, reduce values
- Rebalance overcharge/fortify/heal/smite skill distributions across factions
- Update all card flavor texts for thematic consistency and personality
- Fix wound badge positioning and origin in CardObject display
- Speed up strike/smite animations (2000→500ms, 500→250ms, etc.)
- Add smiteFires to pre-battle event flow with restore/reapply logic
2026-04-04 09:26:01 -06:00
Brian Fertig d98070915f refactor: replace enfeeble with wound/skill rebalancing and add venom/burrow/hive_link support
- Replace enfeeble skill with wound (value adjusted per card) across multiple enemy cards in data/cards.json
- Add venom preBattle skill to several enemy cards (3/6/12 stacks)
- Add burrow all: true skill to multiple enemy cards (1–3 turns)
- Add cleanse and hive_link skills to hive-related enemies with postBattle trigger
- In CombatEngine.js: implement _applyCommanderBurrowBonus for deploying/spawned cards
- Implement commander hive_link all: boost surviving allies' ATK when any card dies
- In SkillProcessor.js: update all all-targeting skills (strike, pierce, mortar, jam, weaken) to skip targets with burrowTurns > 0
- Add venom skill support with stack handling and prevStacks tracking for display restoration
- In BattleScene.js: extend preBattle event handling to include venomFires; fix hive_link deadCardId resolution
2026-04-03 22:02:28 -06:00
Brian Fertig e6049b6985 feat: add 'cleanse' skill to elite enemies and adjust deck panel layout
- Add post-battle 'cleanse' skills (value 4/8/13) to three elite enemy cards
- Remove 'enfeeble' pre-battle skill from two elite enemies, increase their drain values
- Reorganize SkirmishDraftScene UI: expand vertical spacing for commander slots and remove rarity pick counters to reduce clutter and improve layout consistency
2026-04-03 20:21:25 -06:00
Brian Fertig d4d9b25c72 feat(draft): implement alternating rarity-phase draft system
- Replace budget-based drafting with structured rarity-phase progression (legendary→epic→rare→common)
- Add phase tracking (`currentPhaseRarity`, `playerRemainingPicks`, `aiRemainingPicks`)
- Update card pool generation to respect target counts per rarity
- Refactor UI to show per-rarity pick progress instead of budget bars
- Adjust AI draft logic to prioritize current phase rarity and fallback safely
- Rename "Difficulty" selector to "Deck Strength" with clearer labels (Beginner/Medium/Advanced/Legendary)
2026-04-03 16:38:11 -06:00
Brian Fertig fd78f75c83 feat(combat): Standardize wound stacking logic to respect skill value limits
- Apply consistent wound stacking calculation across all targets (including commander)
- Enforce skill.value as upper bound for wounds applied, accounting for existing wound stacks
- Prevent negative or zero wound applications by early-returning when toApply <= 0
2026-04-03 10:18:27 -06:00
Brian Fertig d5a30da9aa feat: track pre/post HP in wound/venom/smite events and improve stat refresh logic
- Add hpBefore/hpAfter fields to woundTick/venomTick/smiteTick events for accurate damage tracking
- Introduce CardObject.refreshStatsOnly() to update ATK/ARM/DLY/skills without touching HP or badges
- Refactor BattleScene._refreshCardAfterAttack() and related methods to use refreshStatsOnly()
  instead of full refresh, preserving HP animations and badge timing
- Update animateHPLoss calls to pass hpBefore/hpAfter for precise progress tracking
- Fix berserk animation to correctly rewind before animating ATK gain
- Remove redundant commander HP bar updates during attacks (handled by preAttack skills)
- Add _restoreSiegeFiresForDisplay/_reapplySiegeFires to temporarily undo siege damage for display

This change separates stat updates from HP management, ensuring animations and UI remain
consistent with the combat engine's state transitions.
2026-04-03 09:59:50 -06:00
Brian Fertig 1ca1b5bf80 feat(draft): implement alternating draft mode with dual-deck UI
- Add alternating draft where player and AI take turns picking commander then cards
- Implement shared card pool tracking with "taken" state overlays in card grid
- Introduce dual-deck panel showing both sides' budgets, commanders, and card lists
- Refactor AI draft logic into state machine with `_playerPick`, `_aiPickCommander`, and `_aiPickOneCard`
- Add status banner indicating whose turn it is, with pulsing animation on AI turns
- Adjust card skill values in `cards.json` (e.g., rally: 3→4, heal upgrades, strike boosts)
2026-04-02 21:04:25 -06:00
Brian Fertig 762dc77556 refactor: Add optional refresh control to _buildPanel in SkirmishDeckSelectScene
- Pass `refresh` flag (default `true`) to `_buildPanel` calls for both player and opponent panels
- Skip `_refreshPanelHighlights()` call within `_buildPanel` when `refresh=false`
- Call `_refreshPanelHighlights()` once after building both panels to avoid redundant updates
2026-04-01 20:34:19 -06:00
Brian Fertig a5598bfcd0 feat: add skirmish deck selection and drafting system
- Added `skirmish_decks.json` with 8 premade decks across difficulty levels (Easy to Legendary)
- Implemented `SkirmishDeckSelectScene` for choosing player/opponent decks (draft or premade)
- Implemented `SkirmishDraftScene` with interactive card drafting, budget system, and AI opponent deck generation
- Updated `BattleScene` to support skirmish mode with custom decks and gold rewards (200/400)
- Updated `BattleResultScene` to return players to SkirmishSetup for quick replay
- Integrated new scenes into game flow via config and BootScene data loading
2026-04-01 20:04:06 -06:00
Brian Fertig 7513cb2bf5 Updated Store Tutorial Gold Qualifier 2026-04-01 10:23:46 -06:00
Brian Fertig 307704b90d feat: implement Deck Builder and Collection tutorial phases
- Added DECK_BUILDER_INTRO (7) and COLLECTION_INTRO (8) stages to TutorialManager.STAGES
- Implemented 3-phase Deck Builder tutorial in DeckBuilderScene with dimming overlays, pulsing arrows, and step-by-step guidance for deck management
- Added full-screen tutorial flow in MainMenuScene for both Deck Builder intro (with interactive button override) and Collection intro (highlighting save/restore buttons)
- Integrated tutorial progression logic to advance users through remaining stages after Fusion Intro
2026-03-31 23:24:13 -06:00
Brian Fertig 0ea053dc44 feat: add tutorial stages for Store intro (5) and Fusion intro (6)
- Extended TutorialManager to support new stages 5–6 and added hasFusibleCards() helper
- Integrated Store tutorial in MainMenuScene (triggered when gold > 400, redirects to Store)
- Added full interactive tutorial overlay in StoreScene highlighting imperial pack purchase flow
- Implemented Fusion Scene’s two-phase tutorial: phase 1 highlights fusible stacks with pulsing borders/arrows; phase 2 exposes forge video, preview, and Fuse button with instructions
- Updated BattleResultScene to redirect to Main Menu if gold > 400 and store tutorial incomplete, allowing Store scene to show its own tutorial next
- Completed stage 6 when player clicks Fuse button in FusionScene
2026-03-31 23:01:32 -06:00
Brian Fertig 5b206fda33 feat: implement BattleResultScene with full post-battle flow
- Add new BattleResultScene to handle post-battle victory/defeat sequence
- Include animated terminal-style debrief with stats, rating, and card/commander unlocks
- Support dynamic commander videos (victory/defeated) with fallback placeholders
- Implement gold counter animation and card reveal system with rarity effects
- Add victory/defeat music assets and integrate into result flow

BattleScene changes:
- Track all battle events across turns for detailed post-battle stats
- Transition to BattleResultScene instead of showing inline results
- Preserve save logic (gold, cards, unlocks) in result scene transition

BootScene changes:
- Load victory/defeat music assets for result scene playback
2026-03-31 17:54:00 -06:00
Brian Fertig 22b4b51883 feat: fix delay activation for freshly deployed AI cards and optimize pre-battle strike handling
- Skip delay tick for AI cards just deployed in opponent-first turns to prevent unfair free activation
- Group consecutive "strike all" pre-battle fires to execute them in parallel, matching player card behavior
2026-03-31 13:37:04 -06:00
Brian Fertig e8c6ff6c96 feat: update mission 030-037 content and balance adjustments
- Add new mission briefing videos (mission_030 through mission_037)
- Balance card stats: reduce fortify values, increase strike damage and armor values across multiple cards
- Adjust heal values for support units
- Significantly reduce gold rewards for missions 030–036 (from ~2800–3400 to 800), with mission 037 reward set to 1600
- Extend video preload loop in CampaignScene.js to include new mission videos
2026-03-31 11:49:08 -06:00
Brian Fertig b60fc16bb4 feat(combat): support commander wound skill triggers in preBattle phase
- Update applyWound/applyVenom/applySmite to include commanders in target lists
- Add 'wound' skill support for commanders with 'on_attack' trigger during preBattle
- Implement wound stack capping for commanders (max = skill.value)
- Extend preBattle event structure with woundFires array
- Add animation and state restoration logic for preBattle wound applications

This enables commander cards to apply wound stacks before combat begins, with proper
stack limits and UI feedback.
2026-03-30 20:22:18 -06:00
Brian Fertig 5a5941024b Adjustments to stack skills 2026-03-30 19:49:37 -06:00
Brian Fertig 2cfba2a893 refactor: rename "rupture" to "wound" and "sanctify" to "cleanse"
- Renamed skill name from rupture → wound throughout data/skills.json and data/cards.json (120+ occurrences)
- Updated all related logic in CombatEngine.js and SkillProcessor.js:
  * Phase renamed _rupturePhase → _woundPhase, event types updated
  * Tracker renamed ruptureTracker → woundTracker
  * Card property ruptureStacks → woundStacks
- Renamed skill name from sanctify → cleanse, changed trigger to postBattle and removed all-target support (now always cleanses all allies)
- Updated visual assets: badge text, sound keys (sfx_rupture → sfx_wound, sfx_sanctify → sfx_cleanse), status messages
- Adjusted strike skill values in cards.json (5→8, 7→14, 10→20, 15→30)
2026-03-28 09:41:49 -06:00
Brian Fertig 2ea8857f91 Added videos to missions 2026-03-27 22:28:29 -06:00
Brian Fertig fe229d7462 feat: implement compound molt armor mechanics and update balance
- Add permanent +1 baseArmor bonus on each molt to enable compound armor growth across multiple molts
- Track molt activation with _moltZeroed flag to ensure armor restoration only occurs after a molt event
- Extend protect/fortify skills to also boost baseArmor when applied after a molt (to preserve interim boosts)
- Update card venom values for progressive difficulty curve
- Adjust mission rewards and replace bt_hemomancer_1 with bt_hemorrhage_1 in reward pool
- Add 23 new mission briefing videos (mission_001 through mission_023)

This refines the molt mechanic to support long-term armor progression while maintaining balance across campaigns.
2026-03-27 20:30:56 -06:00
Brian Fertig ab4225bd42 Add mission briefing videos for all 5 missions
- Add binary assets: `assets/video/mission_001.mp4` through `mission_005.mp4`
- Update `CampaignScene.preload()` to dynamically load all mission videos
- Modify briefing display logic to show the loaded video when available, hiding offline/file placeholders
2026-03-26 23:34:45 -06:00
Brian Fertig 3da9d5c527 feat: overhaul campaign UI with CRT terminal aesthetic and balance skills
- **UI Overhaul**: Replaced static backgrounds with animated video loops and scanline overlays in `CampaignScene` and `CampaignSelectScene`.
- **Terminal Interface**: Implemented a "Tactical Operations Terminal" in the campaign mission view featuring amber CRT styling, typing text effects, vignettes, and flicker animations.
- **Mission Briefing**: Added interactive mission selection that renders detailed briefings, lore, and reward manifests within the terminal interface.
- **Balance Changes**: Doubled the values for `siege`, `mortar`, `venom`, and `smite` skills in `data/cards.json` across all tiers.
- **Tutorial Updates**: Adjusted tutorial overlays and positioning to match the new layout and UI elements.
2026-03-26 21:31:51 -06:00
Brian Fertig 5a67484240 feat: implement comprehensive battle and campaign tutorial system
Adds a multi-stage tutorial system to guide new players through the core game mechanics:

- **Save System**: Bumps save version to 3 and adds `tutorialProgress` tracking with migration logic for existing saves.
- **MainMenuScene**: Introduces Stage 1 (Campaign Intro) overlay directing users to start the campaign.
- **CampaignSelectScene**: Adds Stage 2 overlay highlighting the "Raider Uprising" campaign selection.
- **CampaignScene**: Adds Stage 3 overlay explaining mission selection within a campaign.
- **BattleScene**: Implements Stages 4 & 5:
  - **Battle Intro**: Step-by-step walkthrough of Commander cards, explaining ATK, ARM, HP, DLY, and Skills.
  - **Battlefield Guide**: Visual explanation of the 4-lane system, card combat mechanics, unblocked attacks, and the "Next Turn" flow.

All tutorial overlays include interactive "Continue" or direct-action buttons, animated indicators, and depth management to prevent interaction with the underlying game state until the tutorial step is complete.
2026-03-25 22:06:04 -06:00
Brian Fertig 4eb4d7f278 Add IntroScene with video playback and skip functionality
- Introduce `IntroScene` to play `assets/video/intro.mp4` before the main menu
- Implement dynamic video scaling to fit screen dimensions
- Add skip prompt (Space/Click) that appears after first interaction
- Move main menu music initialization to `MainMenuScene` for proper lifecycle management
- Update scene flow: `BootScene` → `IntroScene` → `MainMenuScene`
- Include fallback handling for video errors and metadata loading
2026-03-25 20:47:18 -06:00
Brian Fertig 12adbe60bf feat: double health values for specific card variants
Updated the `health` attribute for multiple card entries in `data/cards.json` by multiplying the existing values by 2. This change affects various tiers and variants across the dataset, likely to rebalance durability or reflect a new scaling requirement.

Changes include:
- Adjusted health for cards previously at 57, 62, 68, 85, 88, 93, 102, 127, 132, 139, 140, 152, and other values.
- All modified entries now have doubled health while retaining original attack, armor, delay, and skill configurations.
2026-03-25 20:26:00 -06:00
Brian Fertig 662147cdfb bump mission gold rewards and hive_link values; unlock all faction commanders on first campaign clear; enhance Fusion Lab UI 2026-03-25 19:32:50 -06:00
Brian Fertig b336f60197 ```text
bump skill values and rename 'siege' to 'jam' in cards.json

Updated strike, weaken, and siege skill values across multiple cards to
reflect new balance adjustments. Renamed the 'siege' skill to 'jam' in
several entries while also increasing its associated values.

Changes include:
- Increased 'strike' values in preAttack triggers for various cards.
- Increased 'weaken' values in preBattle triggers.
- Renamed 'siege' to 'jam' and adjusted values in preBattle triggers.
- Updated base attack stats for affected cards.
```
2026-03-25 17:52:49 -06:00
Brian Fertig 0dfe54d547 refactor(cards): replace bloodrage/rupture with enfeeble/weaken skills
Updated the skill sets for multiple cards to replace the "bloodrage" and "rupture"
abilities with "enfeeble" and "weaken". The new skills are configured to trigger
"preBattle" and apply to "all" targets, adjusting their values accordingly.
2026-03-24 23:23:13 -06:00
Brian Fertig e731b87e9d Changes to combat and cards 2026-03-24 20:55:08 -06:00
Brian Fertig d17379ca57 feat(deckbuilder): add unsaved changes warning and rebalance vampire cards
- **DeckBuilderScene**:
  - Introduced `hasUnsavedChanges` state to track modifications.
  - Added visual indicators: an "Unsaved Changes" badge in the deck panel and dynamic styling for the Save button.
  - Implemented a confirmation modal when attempting to leave the scene with unsaved changes.
  - Fixed scroll position restoration after re-rendering the card grid.

- **Data (cards.json)**:
  - Rebalanced Vampire cards by swapping `drain` and `rupture` values (reduced drain, increased rupture).
  - Increased `rupture` values across higher-tier vampire cards (3, 6, 10, 15) to enhance their late-game scaling.
2026-03-24 19:30:35 -06:00
Brian Fertig 52808806a8 feat(combat): rename "valor" to "legion" and add parallel "all" weaken animation
- Updated `data/cards.json` to rename the `valor` skill to `legion`, change its trigger to `preBattle`, and adjust `strike` values across multiple card tiers.
- Reduced the `enfeeble` skill value from 3 to 1 in `data/cards.json`.
- Enhanced `weaken` skill tracking in `CombatEngine.js` and `SkillProcessor.js` by adding an `isAll` flag to distinguish area-of-effect weaken effects.
- Refactored `BattleScene.js` to group consecutive "all" weaken fires and animate them in parallel via a new `_animateWeakenFireAll` method, improving visual feedback and performance for multi-target weaken effects.
2026-03-24 18:46:16 -06:00
Brian Fertig b2c55d903a chore(battle): initialize result state flag in BattleScene
Adds `_resultShown` property to `BattleScene` constructor, initializing it to `false`. This flag tracks whether the battle result has been displayed and is reset when a new mission begins.
2026-03-24 18:05:53 -06:00
Brian Fertig 547196f709 feat(combat): Add pre-battle strike resolution for commanders
- Extend `CombatEngine._resolvePreBattleSkills` to capture `strike` and `strike-all` skills from commanders during the `preBattle` phase.
- Introduce `strikeFires` to track strike hits, including damage, targets, and commander status.
- Update `BattleScene._processPreBattleSequence` to handle and animate `strikeFires` alongside other pre-battle effects.
- Ensure death events are correctly processed for non-commander targets destroyed by pre-battle strikes.
2026-03-23 22:54:39 -06:00
Brian Fertig 313f14b956 Changes 2026-03-23 22:31:50 -06:00
Brian Fertig eabf10ca4a feat: add store audio effects and rebalance card stats
- Added new audio files for store interactions: `buy.mp3`, `card.mp3`, and `card-bonus.mp3`.
- Updated `BootScene` to preload the new sound effects.
- Implemented sound triggers in `StoreScene`:
  - Plays `sfx_store_buy` upon purchasing cards.
  - Plays `sfx_store_card` when revealing a card.
  - Plays `sfx_store_card_bonus` for rare, epic, and legendary cards.
- Rebalanced `data/cards.json` to adjust game mechanics:
  - Set `attack` to `0` for all legendary card levels.
  - Reduced `health` values across all card tiers.
  - Standardized `delay` values to `0` or `1` for most cards, removing high delay values.
2026-03-23 18:50:22 -06:00
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 8b6ccba887 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 12:51:43 -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 b2981cd389 chore: update combat engine formatting and battle scene animations
- Normalize whitespace and alignment in `src/combat/CombatEngine.js` (variable assignments and filter calls).
- Extend projectile tween duration in `src/scenes/BattleScene.js` from 350ms to 2000ms for smoother visual effect.
- Adjust sprite pulse animation scale range from 0.8–1.5 to 0.5–1.0 for a more subtle effect.
- Update binary assets: new `smite2.mp3`, modified `fortify.mp3` and `smite-cast.mp3`, updated `attacks.png` and `attacks.psd`, removed duplicate `attacks (1).png`.
2026-03-22 08:29:22 -06:00
Brian Fertig 1c99dc233d feat(combat): expand skill copying and fix drain animation signature
- Updated `SkillProcessor` to allow copying of `preBattle` and `on_attack` triggered skills in addition to `preAttack`, broadening the scope of the `hack` skill.
- Fixed the `_animateDrainFire` call in `BattleScene` to pass the `fire.source` (attacker) as the first argument, ensuring the animation has access to the correct source entity.
2026-03-21 20:29:38 -06:00