Differences From
Artifact [73c6f814ce]:
8 8 local T,G = lib.marshal.t, lib.marshal.g
9 9 starlit.store = {} -- the serialization equivalent of .type
10 10
11 11 -------------
12 12 -- persona --
13 13 ------------- -----------------------------------------------
14 14 -- a Persona is a structure that defines the nature of --
15 --- an (N)PC and how it interacts with the Starsoul-managed --
15 +-- an (N)PC and how it interacts with the Starlit-managed --
16 16 -- portion of the game world -- things like name, species, --
17 17 -- stat values, physical characteristics, and so forth --
18 18
19 19 local statStructFields = {}
20 20 for k,v in pairs(starlit.world.stats) do
21 21 statStructFields[k] = v.srzType or (
22 22 (v.base == true or v.base > 0) and T.s16 or T.u16
................................................................................
47 47 starlit.store.suitMeta = lib.marshal.metaStore {
48 48 batteries = {key = 'starlit:suit_slots_bat', type = T.inventoryList};
49 49 chips = {key = 'starlit:suit_slots_chips', type = T.inventoryList};
50 50 elements = {key = 'starlit:suit_slots_elem', type = T.inventoryList};
51 51 guns = {key = 'starlit:suit_slots_gun', type = T.inventoryList};
52 52 ammo = {key = 'starlit:suit_slots_ammo', type = T.inventoryList};
53 53 }
54 +
55 +starlit.store.volume = G.struct {
56 + kind = T.str;
57 + id = T.str;
58 + mass = T.decimal;
59 +}