diff --git a/stead/para.lua b/stead/para.lua index 6aa0e37..176e77d 100644 --- a/stead/para.lua +++ b/stead/para.lua @@ -1,7 +1,15 @@ +para_mod = obj { + nam = 'para', + ini = function(s) + s.time = stead.time() + end +} + stead.fmt = stead.hook(stead.fmt, function(f, ...) local r = f(unpack(arg)) - if type(r) == 'string' and stead.tick then - r = r:gsub('\n([^\n])', '<¶>%1'):gsub('<¶>', '\n'..txtnb(' ')); + if type(r) == 'string' and stead.time() > para_mod.time then + para_mod.time = stead.time() + r = r:gsub('\n([^\n])', '<¶>%1'):gsub('<¶>[ \t]*', '\n'..txtnb(' ')); r = r:gsub('^',txtnb(' ')) end return r; diff --git a/stead/stead.lua b/stead/stead.lua index 446e32e..23fe033 100644 --- a/stead/stead.lua +++ b/stead/stead.lua @@ -1762,7 +1762,6 @@ iface = { r,v = me():action(cmd, unpack(a)); st = true; end - stead.tick = st -- here r is action result, v - ret code value -- st -- game state changed if st and r == nil and v == true then -- we do nothing