scroll.server/crates/game-service/src
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
..
shop stop minting a new account on every login 2026-08-23 08:54:43 +03:00
store fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
battle.rs deal the summoner a starting hand 2026-08-23 11:39:49 +03:00
bot.rs match against a bot player instead of an npc 2026-08-23 11:28:17 +03:00
catalog.rs move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00
config.rs roll chest loot from the csv instead of a fixed config 2026-08-23 09:30:38 +03:00
home.rs match against a bot player instead of an npc 2026-08-23 11:28:17 +03:00
home_mode.rs stop the home logic once the battle starts 2026-08-23 11:19:26 +03:00
lib.rs match against a bot player instead of an npc 2026-08-23 11:28:17 +03:00
main.rs move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00
rewards.rs roll chest loot from the csv instead of a fixed config 2026-08-23 09:30:38 +03:00
service.rs match against a bot player instead of an npc 2026-08-23 11:28:17 +03:00
time.rs move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00