scroll.server/crates
WiseDev 3cba764841 deal the summoner a starting hand
the card bar was empty because the hand lives on the king tower, not on
the battle. LogicSummoner::decode gates a whole block behind one boolean
- setEncodeDeckDataEnabled on the client side - and we always wrote it
false, so the client kept the hand and the draw queue it was born with,
which is nothing.

the block holds four deck indices for the hand, then two int lists: the
draw queue getNextSpell walks and the used pile reshuffleDeck folds back
into it. we now hand out the first four slots and queue the rest, leave
the used pile empty and keep last used at -1, which is what
getLastUsedSpell reads as "none".

starting mana comes from the START_MANA global instead of zero, and the
field after last-used is named after clearSpellCooldowns, which is the
only thing that writes it.
2026-08-23 11:39:49 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service deal the summoner a starting hand 2026-08-23 11:39:49 +03:00
gateway matchmake against a bot instead of searching forever 2026-08-23 10:28:28 +03:00
logic deal the summoner a starting hand 2026-08-23 11:39:49 +03:00
logic-derive move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00
scroll-server supervised mode: run the services as child processes 2026-08-23 09:46:59 +03:00
service-rpc matchmake against a bot instead of searching forever 2026-08-23 10:28:28 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan build and send the battle sector state 2026-08-23 10:24:20 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00