starlit  Diff

Differences From Artifact [73c6f814ce]:

To Artifact [9cc49bcaa7]:


     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  +}