Changed forfeit button to always be visible instead of only when player can lose:
- Removed conditional check in LifeCounter (always passes onForfeit)
- Removed conditional rendering in PlayerMenu (button always shows)
- Button remains functional with safety check inside onClick handler
This makes it easier for players to forfeit at any time during the game.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added two new features for better game control:
1. Show Match Score Setting:
- Added showMatchScore boolean to Settings type (default: true)
- Added toggle in SettingsDialog to control score visibility
- Players.tsx now respects the setting when passing matchScore
- Users can hide score badges in 1v1 games if desired
2. Forfeit Button in Player Menu:
- Added Skull icon import to PlayerMenu
- Added onForfeit optional prop to PlayerMenu
- Added red skull button in player menu buttons section
- LifeCounter passes forfeit handler (toggleGameLost) to menu
- Only shows when player can lose (life ≤ 0 or poison/commander damage)
- Allows players to forfeit game from their individual menu
Both features improve user control over the match scoring system.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed score display approach to show score directly on each player's card:
- Removed separate ScoreDisplay overlay component
- Added matchScore prop to LifeCounter component
- Created MatchScoreBadge: circular badge in corner of each player card
- Score only displays for 2-player games when score > 0
- Badge positioned in safe corner (adapts to rotation)
- Styled as 12vmin circle with 6vmin text, black/70 background
Score is now part of each player's area rather than a separate overlay.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed ScoreDisplay positioning from top-4 right-4 to bottom-4 left-1/2 -translate-x-1/2 to avoid covering game elements:
- No longer overlaps life totals on small screens
- Doesn't interfere with buttons (cog, +/-, skull)
- Uses safe zone at bottom of screen
- Centered horizontally for better visual balance
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed the game over flow to automatically detect the winner when only one player remains alive:
- GameOver modal now displays "X won the game!" with winner's name/color
- Shows single "Start Next Game" button instead of winner selection
- Winner is automatically determined when only one player has not pressed their death button
- Simplified and more intuitive user experience
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This feature keeps track of scores between games in 1v1 matches:
- Shows GameOver modal when a player loses, allowing winner selection
- Tracks match scores persistently in localStorage
- Displays current score in the top-right corner during play
- Loser of previous game starts the next game
- Score resets when returning to start menu
Components added:
- GameOver: Modal for selecting the winner after a game ends
- ScoreDisplay: UI component showing current match scores
State management:
- Added gameScore to GlobalSettingsContext
- Modified resetCurrentGame to use configured starting player
- Game over detection in Play component for 1v1 games
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>