From 46b7a12d30bcf4c2d2205623b6062f2ec73e2f52 Mon Sep 17 00:00:00 2001 From: NikolajDanger Date: Wed, 18 Mar 2026 21:00:28 +0100 Subject: [PATCH] :goat: --- backend/card.py | 1 + backend/game_manager.py | 11 ++++++++++- frontend/src/routes/play/+page.svelte | 8 ++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/backend/card.py b/backend/card.py index cf2f0e5..fa747ff 100644 --- a/backend/card.py +++ b/backend/card.py @@ -262,6 +262,7 @@ WIKIDATA_INSTANCE_TYPE_MAP = { "Q47913": CardType.organization, # intelligence agency "Q35535": CardType.organization, # police "Q4830453": CardType.organization, # business + "Q4671277": CardType.organization, # academic institution } import asyncio diff --git a/backend/game_manager.py b/backend/game_manager.py index d2b54fd..fc698de 100644 --- a/backend/game_manager.py +++ b/backend/game_manager.py @@ -456,9 +456,18 @@ async def run_ai_turn(game_id: str): for slot in range(BOARD_SIZE): slot_card = player.board[slot] if slot_card is not None and player.energy + slot_card.cost <= most_expensive_in_hand: + if ws: + try: + await ws.send_json({ + "type": "sacrifice_animation", + "instance_id": slot_card.instance_id, + }) + except Exception: + pass + await asyncio.sleep(0.65) action_sacrifice(state, slot) await send_state(state) - await asyncio.sleep(1) + await asyncio.sleep(0.35) play_order = list(range(BOARD_SIZE)) random.shuffle(play_order) diff --git a/frontend/src/routes/play/+page.svelte b/frontend/src/routes/play/+page.svelte index 7e7c7c5..61c767a 100644 --- a/frontend/src/routes/play/+page.svelte +++ b/frontend/src/routes/play/+page.svelte @@ -809,11 +809,15 @@ transition: transform 0.15s, filter 0.15s; } - .board-card-wrap:hover { + .my-board .board-card-wrap:hover { transform: scale(1.5); z-index: 25; } + .opponent-board .board-card-wrap:hover { + transform: scale(1.5) translateY(20px); + } + .board-card-wrap.destroying { animation: crumble 0.6s ease-in forwards; z-index: 20; @@ -1014,7 +1018,7 @@ } .hand-card:hover:not(:disabled) :global(.card) { - transform: scale(1.1) translate(-30px, calc(var(--peek-y) - 80px)) !important; + transform: scale(1.1) translate(-50px, calc(var(--peek-y) - 80px)) !important; transform-origin: top left !important; z-index: 50 !important; }