scroll.server/crates
WiseDev cb5b04f3ca keep the objects out of the state the client loads on
traced the whole path in the client rather than guessing at it again.

GameObjectManager::addGameObject is the only thing that builds a model,
and LogicGameObjectManager::decode calls it through the listener at
[mgr+0x28], only for objects whose "newly created" flag is still set -
and it clears that flag on the way out. setListener has exactly two
callers: the BattleScreen constructor and its destructor. GameMode
::updateLoading builds that screen only after isFullUpdateReceived, ie
after the first sector state has already been decoded.

so every object in the opening state is created against the do-nothing
base listener, loses its flag, and can never get a model afterwards -
later snapshots match it by global id and reuse it. that is the missing
archers, and it was never about the data or the ids.

the opening state now carries no objects and no leaders. the towers
arrive on the next snapshot, once the client has said it is up, and are
new by then.

renumbering, which the last commit did, is gone: SpellButton caches the
summoner at [this+0x1d0] when the hud is built, so replacing the objects
under it left a dangling pointer, which is the getOwnerAccountId crash.

also spend mana when a card is played - it was only ever regenerating.
2026-08-23 14:51:29 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service keep the objects out of the state the client loads on 2026-08-23 14:51:29 +03:00
gateway answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
logic answer the client when it asks for the sector state 2026-08-23 14:32:20 +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 answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan compare the server checksum against the client's 2026-08-23 13:44:51 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00