scroll.server/crates
WiseDev ea9d9be4c4 cycle the summoner deck on play and draw, RNG-free
audit finding #3 (deck), after verifying the RNG stream is not involved:
addSpellsInRandomOrder shuffles the INITIAL order with a separate
Mersenne Twister, but the server is authoritative (ships the deck in the
snapshot; the client decodes it, never reshuffles), and the in-match
cycle is fully deterministic. so no RNG matching is needed.

play: the command's slot is the DECK index (LogicDoSpellCommand::execute
maps it to a hand slot via getSpellIndex, rejecting if it is not in
hand). play_from_hand finds the hand slot holding that index, moves the
card to the used pile and empties the slot - useSpellFromHand. spawn is
untouched; it already reads the card by the deck index.

draw: cycle_summoner_decks decrements spell_cooldown each tick and, when
it hits 0 with an empty hand slot, slides the front of the draw pile in
(refilling draw from used IN ORDER when it empties) and resets the timer
to NEXT_SPELL_COOLDOWN_MILLISECONDS (2000 / _BOOST / _OVERTIME).
field_240 (reshuffle) just counts down and stays 0 in normal play.

harness: playing hand slot 0 empties it and banks the card in used;
ticking past the cooldown refills the slot with a different card.
2026-08-24 14:26:17 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service cycle the summoner deck on play and draw, RNG-free 2026-08-24 14:26:17 +03:00
gateway answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
logic cycle the summoner deck on play and draw, RNG-free 2026-08-24 14:26:17 +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 grant achievement progress and roll exp into levels 2026-08-24 09:15:22 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan grant achievement progress and roll exp into levels 2026-08-24 09:15:22 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00