Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -304,6 +304,7 @@ async def handle_action(request: Request):
|
|
| 304 |
|
| 305 |
# Handle Duke responses.
|
| 306 |
elif game["challenge"]["challengeType"] == "duke":
|
|
|
|
| 307 |
if player == game["challenge"]["challenger"]:
|
| 308 |
# The player who initiated duke doesn't respond here.
|
| 309 |
return {"success": False, "message": "Initiator cannot respond to their own Duke action."}
|
|
@@ -315,7 +316,7 @@ async def handle_action(request: Request):
|
|
| 315 |
if len(game["challenge"]["responses"]) == total_opponents:
|
| 316 |
acting_player = next(p for p in game["players"] if p["name"] == game["challenge"]["challenger"])
|
| 317 |
acting_player["coins"] += 3
|
| 318 |
-
game["permissions"][
|
| 319 |
game["challenge"] = None
|
| 320 |
return {"success": True, "message": f"Duke action accepted. {acting_player['name']} gains 3 coins."}
|
| 321 |
else:
|
|
@@ -327,7 +328,7 @@ async def handle_action(request: Request):
|
|
| 327 |
game["challenge"]["challenger"] = player
|
| 328 |
game["challenge"]["target"] = acting_player["name"]
|
| 329 |
acting_player["coins"] += 3
|
| 330 |
-
game["permissions"][
|
| 331 |
return {"success": True, "message": f"Challenge failed. {player} must choose a card to lose.", "challenge": game["challenge"]}
|
| 332 |
else:
|
| 333 |
game["challenge"]["status"] = "choose"
|
|
|
|
| 304 |
|
| 305 |
# Handle Duke responses.
|
| 306 |
elif game["challenge"]["challengeType"] == "duke":
|
| 307 |
+
challenger_player = next(p for p in game["players"] if p["name"] == game["challenge"]["challenger"])
|
| 308 |
if player == game["challenge"]["challenger"]:
|
| 309 |
# The player who initiated duke doesn't respond here.
|
| 310 |
return {"success": False, "message": "Initiator cannot respond to their own Duke action."}
|
|
|
|
| 316 |
if len(game["challenge"]["responses"]) == total_opponents:
|
| 317 |
acting_player = next(p for p in game["players"] if p["name"] == game["challenge"]["challenger"])
|
| 318 |
acting_player["coins"] += 3
|
| 319 |
+
game["permissions"][challenger_player["name"]]["steal"] = False
|
| 320 |
game["challenge"] = None
|
| 321 |
return {"success": True, "message": f"Duke action accepted. {acting_player['name']} gains 3 coins."}
|
| 322 |
else:
|
|
|
|
| 328 |
game["challenge"]["challenger"] = player
|
| 329 |
game["challenge"]["target"] = acting_player["name"]
|
| 330 |
acting_player["coins"] += 3
|
| 331 |
+
game["permissions"][challenger_player["name"]]["steal"] = False
|
| 332 |
return {"success": True, "message": f"Challenge failed. {player} must choose a card to lose.", "challenge": game["challenge"]}
|
| 333 |
else:
|
| 334 |
game["challenge"]["status"] = "choose"
|