Differences From
Artifact [0688acc2a6]:
18 18 end
19 19 end
20 20
21 21 local function C(h, s, l)
22 22 return lib.color {hue = h, sat = s or 1, lum = l or .7}
23 23 end
24 24 starlit.world.stats = {
25 - psi = {min = 0, max = 500, base = 0, desc = U('ψ', 1), color = C(320), name = 'numina', srzType = T.decimal};
25 + numina = {min = 0, max = 500, base = 0, desc = U('ψ', 1), color = C(320), name = 'numina', srzType = T.decimal};
26 26 -- numina is measured in ψ
27 27 warmth = {min = -1000, max = 1000, base = 0, desc = U('°C', 10, true), color = C(5), name = 'warmth'};
28 28 -- warmth in measured in d°C
29 - fatigue = {min = 0, max = 76 * 60, base = 0, desc = U('hr', 60, true), color = C(288,.3,.5), name = 'fatigue', harm=true, srzType = T.decimal};
29 + fatigue = {min = 0, max = 76 * 60, base = 0, desc = U('hr', 60, true), color = C(288,1,.8), name = 'fatigue', harm=true, srzType = T.decimal};
30 30 -- fatigue is measured in minutes one needs to sleep to cure it
31 - stamina = {min = 0, max = 10 * 20, base = true, desc = U('m', 100), color = C(88), name = 'stamina'};
31 + stamina = {min = 0, max = 10 * 20, base = true, desc = U('m', 10), color = C(88), name = 'stamina'};
32 32 -- stamina is measured in how many 10th-nodes (== cm) one can sprint
33 - nutrition = {min = 0, max = 8000, base = 0, desc = U('kCal', 1, true), color = C(43,.5,.4), name = 'nutrition', srzType = T.decimal};
33 + nutrition = {min = 0, max = 8000, base = 0, desc = U('kCal', 1, true), color = C(43,1,.8), name = 'nutrition', srzType = T.decimal};
34 34 -- hunger is measured in kcalories one must consume to cure it. at 0, you start dying
35 - hydration = {min = 0, max = 4, base = 0, desc = U('L', 1), color = C(217, .25,.4), name = 'hydration', srzType = T.decimal};
35 + hydration = {min = 0, max = 4, base = 0, desc = U('L', 1), color = C(217), name = 'hydration', srzType = T.decimal};
36 36 -- thirst is measured in L of H²O required to cure it
37 37 morale = {min = 0, max = 10 * 24 * 60, base = true, color = C(0,0,.8), name = 'morale', srzType = T.decimal;
38 38 desc = function(amt, excU) return lib.math.timespec(amt) end};
39 39 -- morale is measured in minutes. e.g. at base rate morale degrades by
40 40 -- 60 points every hour. morale can last up to 10 earthdays
41 41 irradiation = {min = 0, max = 10, base = 0, desc = U('Gy', 1), color = C(141,1,.5), name = 'irradiation', harm=true, srzType = T.decimal};
42 42 -- irrad is measured is milligreys
................................................................................
50 50 -- illness is increased by certain conditions, and decreases on its own as your
51 51 -- body heals when those conditions wear off. some drugs can lower accumulated illness
52 52 -- but illness-causing conditions require specific cures
53 53 -- illness also causes thirst and fatigue to increase proportionately
54 54 }
55 55
56 56 starlit.world.statOrder = {
57 - 'health', 'stamina', 'psi', 'warmth';
57 + 'health', 'stamina', 'numina', 'warmth';
58 58
59 59 'nutrition', 'hydration', 'irradiation';
60 60 'illness', 'morale', 'fatigue';
61 61 }
62 62
63 63 local impactStruct = G.struct {
64 64 base = G.array(8, G.struct {id = T.str, val = T.decimal});