update
Some checks failed
Tests / headless (push) Has been cancelled
Tests / fenster-schnell (push) Has been cancelled
Tests / fenster-voll (push) Has been cancelled
Tests / balance (push) Has been cancelled

This commit is contained in:
team3
2026-10-08 14:28:52 +02:00
parent 5bc8569717
commit c245c7af87
21 changed files with 496 additions and 347 deletions

View File

@@ -27,8 +27,9 @@ static func snapshot(g: Game, viewer: int) -> Dictionary:
"ready": c.ready, "hidden": c.hidden, "aura": c.aura})
ps.append({"name": p.name, "title": p.title, "is_human": p.is_human, "life": p.life, "max_life": p.max_life,
"energy": p.energy, "max_energy": p.max_energy,
"order": p.order, "perks": p.perks, "looks": p.looks, "turns": p.turns,
"hand": p.hand.map(card_ref) if mine else p.hand.size(), "board": board})
"order": p.order, "perks": p.perks, "looks": p.looks, "turns": p.turns, "played": p.played,
"hand": p.hand.map(card_ref) if mine else p.hand.size(), "board": board,
"offer": p.offer.map(card_ref) if mine else [], "drew": p.drew})
var evs := []
for ev in g.events:
var e: Dictionary = ev.duplicate()
@@ -55,12 +56,17 @@ static func from_snapshot(d: Dictionary) -> Game:
for cid in pd.get("looks", {}):
p.looks[cid] = int(pd.looks[cid])
p.turns = int(pd.turns)
for e in pd.get("played", {}):
p.played[e] = int(pd.played[e])
if pd.hand is Array:
for ref in pd.hand:
p.hand.append(card_of(ref))
else:
for i in int(pd.hand):
p.hand.append(placeholder)
for ref in pd.get("offer", []):
p.offer.append(card_of(ref))
p.drew = bool(pd.get("drew", false))
for cd in pd.board:
var card := card_of(cd.card)
var c := Game.Creature.new(card, p, int(cd.uid))