diff --git a/client/public/assets/images/missions2/army.jpg b/client/public/assets/images/missions2/army.jpg deleted file mode 100644 index ea28db1..0000000 Binary files a/client/public/assets/images/missions2/army.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/bandera.jpg b/client/public/assets/images/missions2/bandera.jpg deleted file mode 100644 index 46abdd9..0000000 Binary files a/client/public/assets/images/missions2/bandera.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/bonds.jpg b/client/public/assets/images/missions2/bonds.jpg deleted file mode 100644 index 87aeff7..0000000 Binary files a/client/public/assets/images/missions2/bonds.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/martell.jpg b/client/public/assets/images/missions2/martell.jpg deleted file mode 100644 index 62dd9e5..0000000 Binary files a/client/public/assets/images/missions2/martell.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/mujer.jpg b/client/public/assets/images/missions2/mujer.jpg deleted file mode 100644 index 416053d..0000000 Binary files a/client/public/assets/images/missions2/mujer.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/mujer2.jpg b/client/public/assets/images/missions2/mujer2.jpg deleted file mode 100644 index 839abb4..0000000 Binary files a/client/public/assets/images/missions2/mujer2.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/soldados.jpg b/client/public/assets/images/missions2/soldados.jpg deleted file mode 100644 index 000b80d..0000000 Binary files a/client/public/assets/images/missions2/soldados.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/soldados2.jpg b/client/public/assets/images/missions2/soldados2.jpg deleted file mode 100644 index d4409cd..0000000 Binary files a/client/public/assets/images/missions2/soldados2.jpg and /dev/null differ diff --git a/client/public/assets/images/missions2/soldados3.jpg b/client/public/assets/images/missions2/soldados3.jpg deleted file mode 100644 index 387ccf8..0000000 Binary files a/client/public/assets/images/missions2/soldados3.jpg and /dev/null differ diff --git a/client/public/assets/images/tokens/lastshot.jpg b/client/public/assets/images/tokens/lastshot.jpg new file mode 100644 index 0000000..fe28e31 Binary files /dev/null and b/client/public/assets/images/tokens/lastshot.jpg differ diff --git a/client/public/assets/images/ui/logo copy.png b/client/public/assets/images/ui/logo copy.png new file mode 100644 index 0000000..fd18e00 Binary files /dev/null and b/client/public/assets/images/ui/logo copy.png differ diff --git a/client/public/assets/images/ui/logo.png b/client/public/assets/images/ui/logo.png index fd18e00..c04f13d 100644 Binary files a/client/public/assets/images/ui/logo.png and b/client/public/assets/images/ui/logo.png differ diff --git a/client/public/assets/images/ui/portada.png b/client/public/assets/images/ui/portada.png new file mode 100644 index 0000000..18badd9 Binary files /dev/null and b/client/public/assets/images/ui/portada.png differ diff --git a/client/src/components/GameBoard.tsx b/client/src/components/GameBoard.tsx index 6837b1b..e2dd6f1 100644 --- a/client/src/components/GameBoard.tsx +++ b/client/src/components/GameBoard.tsx @@ -680,6 +680,86 @@ export default function GameBoard({ gameState, currentPlayerId, actions }: GameB /> )} + {/* FASE: ASESINO (FRANCOTIRADOR) */} + {gameState.phase === GamePhase.ASSASSIN_PHASE && ( + + {/* Imagen de fondo solo para el Francotirador */} + {currentPlayer?.role === 'francotirador' && ( +
+ Last Shot + {/* Overlay oscuro para mejorar legibilidad */} +
+
+ )} + + {/* Fondo oscuro para los demás jugadores */} + {currentPlayer?.role !== 'francotirador' && ( +
+ )} + + +

+ ¡ÚLTIMA OPORTUNIDAD! +

+ {currentPlayer?.role === 'francotirador' ? ( +

+ Francotirador, elige a quién crees que es MARLENE +

+ ) : ( +

+ El Francotirador está decidiendo... +

+ )} +
+ + {currentPlayer?.role === 'francotirador' && ( + + {gameState.players + .filter(p => p.faction === Faction.ALIADOS) // Solo jugadores Aliados + .map(player => ( + actions.assassinKill(player.id)} + className="bg-black/60 hover:bg-red-600/70 border-4 border-white/30 hover:border-red-500 p-6 rounded-xl transition-all backdrop-blur-sm" + whileHover={{ scale: 1.1 }} + whileTap={{ scale: 0.95 }} + > +
+ {player.name} +
+

{player.name}

+
+ ))} +
+ )} + + )} + {/* FASE: VICTORIA NAZIS */} {gameState.phase === GamePhase.NAZIS_WIN && ( + {/* Imagen de fondo a pantalla completa */} +
+ {isNazisWin + {/* Overlay oscuro para mejorar legibilidad */} +
+
{/* Título de victoria */} -

+

{isNazisWin ? '¡VICTORIA NAZI!' : '¡VICTORIA ALIADA!'}

-

+

{isNazisWin ? 'Los Nazis han conquistado Francia' : 'La Resistencia ha triunfado'}

{/* Información del juego */}
-

Misiones Exitosas

+

Misiones Exitosas

{gameState.questResults.filter(r => r === true).length}

-

Misiones Fracasadas

+

Misiones Fracasadas

{gameState.questResults.filter(r => r === false).length}

@@ -76,39 +89,39 @@ export default function VictoryScreen({ gameState, isHost, onRestart, onFinalize {/* Botones para el host */} {isHost ? ( -

- Tiempo restante: {timeLeft}s +

+ ⏱️ Tiempo restante: {timeLeft}s

-
+
🔄 NUEVA PARTIDA ❌ TERMINAR
-

+

Si no decides, la partida terminará automáticamente

) : (