You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: enforce Excalibur must go to a team member; dedupe server game constants
- server: assign-excalibur now requires targetPlayerId in the leader's in-progress teamPlayerIds; propose-team clears excaliburHolder if the final team no longer includes them (official rule: holder must be a mission team member)
- GameView: excalibur assign UI now only lists selectedTeam members and sends teamPlayerIds with the emit
- server.ts: drop duplicated TEAM_DISTRIBUTION/MISSION_SIZES/ROLES/needsTwoFails/assignRoles, import from src/core/avalon.ts instead (client always sends both lancelot roles together, so core's simpler assignRoles behaves identically to the server's old duplicate)
- tests: update existing Excalibur tests for the new teamPlayerIds param; add coverage for the team-membership rule and for clearing the holder when the team changes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: src/i18n/locales/en.json
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -157,7 +157,8 @@
157
157
"selectMissionLabel": "Select the Mission",
158
158
"confirmTeam": "Confirm Team",
159
159
"excaliburAssign": "Give Excalibur",
160
-
"excaliburHint": "The leader must give Excalibur to another team member (or any player depending on your interpretation, but generally to a team member or another player).",
160
+
"excaliburSelectTeamFirst": "Select the mission team first — Excalibur can only go to a team member.",
161
+
"excaliburHint": "The leader must give Excalibur to another member of the mission team.",
161
162
"waitingFormation": "Waiting for team formation...",
Copy file name to clipboardExpand all lines: src/i18n/locales/pt.json
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -157,7 +157,8 @@
157
157
"selectMissionLabel": "Selecione a Missão",
158
158
"confirmTeam": "Confirmar Equipe",
159
159
"excaliburAssign": "Entregar Excalibur",
160
-
"excaliburHint": "O líder deve entregar a Excalibur a outro cavaleiro da equipe (ou qualquer jogador dependendo da sua interpretação, mas geralmente é para alguém da equipe ou apenas outro jogador).",
160
+
"excaliburSelectTeamFirst": "Selecione a equipe da missão primeiro — a Excalibur só pode ir para um membro dela.",
161
+
"excaliburHint": "O líder deve entregar a Excalibur a outro cavaleiro da equipe da missão.",
161
162
"waitingFormation": "Aguardando a formação da equipe...",
0 commit comments