40 lines
1.5 KiB
Go
40 lines
1.5 KiB
Go
package models
|
|
|
|
import (
|
|
"encoding/json"
|
|
"sync"
|
|
)
|
|
|
|
var _ = json.RawMessage{}
|
|
var _ = sync.Mutex{}
|
|
|
|
//
|
|
// Builds the large build-4229938 RPC payloads directly from human config + extracted client JSON.
|
|
// Nothing here reads generated .bin files: every packet is a normal RpcTypes object serialized by UxSerializer.
|
|
//
|
|
type RuntimePayloadFactory struct {
|
|
Config any `json:"config"`
|
|
//
|
|
// One representative rank per job class that gates a phone app — the whole point of the
|
|
// "multi" grant mode. A 2026-09-20 sweep of MobileMenuSGuiConfig (57 phone apps) found
|
|
// only 9 with a non-empty JobClassIdList; the ids below cover all of them:
|
|
// 4=VWT(11300002) · 301=Duty Terminal <i>and</i> Mimic Database(11300003) · 401=EonBug(11300004) ·
|
|
// 501=Cat Express(11300005) · 801=Chaos Tide(11300009) · 1201=Top Cleaning(11300014) ·
|
|
// 1901=茶农(11300019) · 2000=重霄食谱(11300020).
|
|
// Sorted on purpose so the serialized frame is deterministic. The last three ship as
|
|
// StartVersion V99.0.0 and may be filtered by the native config loader; registering them
|
|
// costs nothing either way.
|
|
//
|
|
AppGatedUrbanJobIds4229938 []uint32 `json:"appGatedUrbanJobIds4229938"`
|
|
}
|
|
|
|
const (
|
|
RuntimePayloadFactory_JoblessUrbanJob4229938 uint32 = 100
|
|
RuntimePayloadFactory_MaleAvatarSystemHeadId4229938 uint32 = 1
|
|
RuntimePayloadFactory_FemaleAvatarSystemHeadId4229938 uint32 = 2
|
|
RuntimePayloadFactory_PoliceJobClassId4229938 uint32 = 11_300_003
|
|
RuntimePayloadFactory_PoliceFakeFileStateUnlock byte = 8
|
|
RuntimePayloadFactory_InitialAmmoReserve4229938 uint32 = 9999
|
|
)
|
|
|