Commit Graph

13 Commits

Author SHA1 Message Date
Brian Fertig 4b730f6127 feat: add Balam and Steve to opponents.json
- Introduce Balam (spriteIndex 16) and Steve (spriteIndex 17) as new opponents
- Include full speech configurations (intro, happy, upset, pick) for both characters
2026-05-25 22:10:05 -06:00
Brian Fertig 0f347e3502 Added two new opponents: Michael and Kona 2026-05-25 14:57:11 -06:00
Brian Fertig 0b2657b954 feat: add Jerry character with speech assets and fix seat order logic
- Add 12 new MP3 speech files for Jerry (intro, happy, upset, pick)
- Update opponents.json to include Jerry's speech configuration
- Fix HoldemLogic to exclude folded players from seat order calculation
2026-05-25 00:08:52 -06:00
Brian Fertig 24a48c13eb Added new opponents. Fixed styling issues. 2026-05-24 21:19:30 -06:00
Brian Fertig 19620c10d4 feat: add opponent pick speech and spectrum visualizer
- Add new `pick` audio clips for each opponent in `opponents.json` and corresponding MP3 files
- Implement a spectrum visualizer overlay for opponent portraits that activates during pick speech playback
- Integrate `SpeechQueue` to handle opponent pick audio with start/stop callbacks for the visualizer
- Add `setMenuMusicVolume` utility and adjust menu music volume during opponent selection
- Prevent speech/visualizer triggers during initial scene load and game start sequences
2026-05-23 10:25:29 -06:00
Brian Fertig 036298227f Added Catan and multiple sound effects 2026-05-23 08:55:15 -06:00
Brian Fertig f667f1ead3 feat: add speech audio files and configuration for Jeff and Fireball
- Add 22 new MP3 speech files for characters Jeff and Fireball
- Update public/data/opponents.json to include speech arrays for both characters
- Each character now has intro, happy, and upset speech categories with 2-5 variations
2026-05-22 22:53:12 -06:00
Brian Fertig 6856baa395 feat(phase10): add character voiceovers and enforce staging rules
- Add speech assets and configuration for Brad and Mario
- Update opponents.json with new speech arrays for intro, happy, and upset states
- Prevent discarding cards while cards are staged in Phase 10
- Add visual feedback (_shakeStagingButtons) when staging rules are violated
- Add _hasStagedCards helper to check staging group state
- Move staged cards back to hand if user attempts to discard during staging
2026-05-22 20:05:05 -06:00
Brian Fertig 3fcfbcc921 feat: add speech visualizer and emotion-driven audio cues
- Introduce a canvas-based audio visualizer overlay on opponent portraits that activates during speech playback
- Update `SpeechQueue` to support `onStart` and `onEnd` callbacks for hooking into audio events
- Modify `Portrait` to trigger the visualizer with emotion-specific colors (blue for intro, green for happy, red for upset)
- Add `speech` metadata to `opponents.json` for Ethel and Bernie, defining available intro/happy/upset audio clips
- Ensure proper cleanup of visualizer state and resources on portrait destruction
2026-05-22 19:10:36 -06:00
Brian Fertig f6a4a3fb5d feat: add speech queue system and update audio configuration
- Implement `SpeechQueue` to manage opponent dialogue clips
- Add `speech` configuration to opponent data (Cy-Bro, Victor, Croc) with intro, happy, and upset states
- Trigger random speech clips in `Portrait.js` based on emotion and a 60% probability
- Play intro speech clips when opponent portraits are created
- Update `MusicPlayer` volume to 0.15 and clean up formatting/whitespace
2026-05-22 16:35:46 -06:00
Brian Fertig 4b0551c3cd feat(hearts): enhance card sorting, drag interaction, and pass animations
- Sort player's hand by suit and value for consistent layout
- Implement drag-to-sort functionality for the local hand with visual feedback (slot indicators, card displacement, play zone highlighting)
- Refactor pass confirmation to include multi-phase animation: outgoing cards fly to target, incoming cards animate in from source, flip to reveal, and settle into sorted positions
- Add background to hearts broken indicator for better visibility
- Update card interaction handlers to support both click and drag events
2026-05-21 23:29:52 -06:00
Brian Fertig 366a6b095b feat: add background music system and improve card game interactions
- Introduce `MusicPlayer` class for in-game music with shuffle, skip, and mute controls
- Add `MenuMusic` utility for background music in menu scenes
- Load music tracks and metadata via `music.json`
- Implement drag-and-drop for SkipBo cards with visual feedback
- Add card flight animations for Phase 10 AI actions and player draws
- Update Phase 10 AI turn timing and reduce delays for smoother gameplay
2026-05-17 16:38:36 -06:00
Brian Fertig 84b5ada639 Added Data 2026-05-17 09:34:54 -06:00