disp, go fixes
This commit is contained in:
parent
46962390ff
commit
1056fc1ef1
|
@ -49,7 +49,8 @@ go = function (self, where, back, forceenter)
|
|||
self.where = deref(where);
|
||||
end
|
||||
|
||||
if not jump and (not back or forceenter) then
|
||||
if not jump and (not back or forceenter or
|
||||
not isDialog(ref(was)) or isDialog(ref(where))) then
|
||||
v, r = call(ref(where), 'enter', ref(was));
|
||||
if r == false then
|
||||
self.where = was;
|
||||
|
@ -149,7 +150,9 @@ iface.fmt = function(self, cmd, st, moved, r, av, objs, pv) -- st -- changed sta
|
|||
if st then
|
||||
av = txtem(av);
|
||||
pv = txtem(pv);
|
||||
r = txtem(r)
|
||||
if not PLAYER_MOVED then
|
||||
r = txtem(r)
|
||||
end
|
||||
if isForcedsc(here()) or NEED_SCENE then
|
||||
l = here():scene();
|
||||
end
|
||||
|
|
|
@ -164,6 +164,44 @@ function list_concat(self, other, pos)
|
|||
end
|
||||
end
|
||||
|
||||
function list_str(self)
|
||||
local i, v, vv, o;
|
||||
for i,o in opairs(self) do
|
||||
o = ref(o);
|
||||
if isObject(o) and not isDisabled(o) then
|
||||
vv = call(o, 'disp');
|
||||
if type(vv) ~= 'string' then
|
||||
vv = call(o, 'nam');
|
||||
end
|
||||
vv = xref(vv, o);
|
||||
v = stead.par(',', v, vv);
|
||||
end
|
||||
end
|
||||
return v;
|
||||
end
|
||||
|
||||
function obj_str(self)
|
||||
local i, v, vv, o;
|
||||
if not isObject(self) then
|
||||
return
|
||||
end
|
||||
if isDisabled(self) then
|
||||
return
|
||||
end
|
||||
for i,o in opairs(self.obj) do
|
||||
o = ref(o);
|
||||
if isObject(o) and not isDisabled(o) then
|
||||
vv = call(o, 'disp');
|
||||
if type(vv) ~= 'string' then
|
||||
vv = call(o, 'nam');
|
||||
end
|
||||
vv = xref(vv, o);
|
||||
v = stead.par(',', v, vv, obj_str(o));
|
||||
end
|
||||
end
|
||||
return v;
|
||||
end
|
||||
|
||||
function path(w, wh) -- search in way, disabled too
|
||||
if not wh then
|
||||
wh = here();
|
||||
|
|
Loading…
Reference in a new issue