package methods // Ported from donor_7k (T1-16 载具骇入). // NOTE: donor also declares SyncSpiritJobInfo4229938 here; ours already lives in // SpiritJobMethods4229938.cs (T0-13) and is omitted deliberately. // // Client 4229938: IClientToGame.AskChangeHackerName(string name) — the EonBug app's // "pick a handle" dialog (63975191). Single string argument ⇒ flat frame (Inline). // ⛑️ Without a handler for this the dialog never closes: the client re-asks every couple of // seconds because its "new user" state never clears (see GameRouter.HackerApp.cs). // // Client 4229938: IClientToGame.AskHack(uint hackType). // // Client 4229938 payload for SyncHackerBatteryCurrentAndTotalCount. // Field order matches RPCSerializeAuto.WriteHackerBatteryCurrentAndTotalCount. // // // Client 4229938 payload for SyncHackerJobInfo (64189208) — the EonBug BBS backbone. // Single class parameter (midToReader[64189208] = ReadComplex(Reader[282])): the frame is // [0xFF][fields] — the same non-Inline shape as HackerBatteryCurrentAndTotalCount4229938. // Field order matches RPCDeserializeAuto Auto.Reader[282]: // HackerName -> PostInfos (ReadDict, raw Int32 count) -> Rank -> DailyCounts (Reader[852]). // // Auto.Reader[982]: Id -> State (HackerPostState) -> HaveRead. // Auto.Reader[852]: Money -> Fan -> Tetris (daily hacker-job counters).