more clever goto from life
This commit is contained in:
parent
18b38f4736
commit
d5ed3f9748
|
@ -1244,21 +1244,22 @@ function game_life(self)
|
||||||
local av,v
|
local av,v
|
||||||
stead.in_life_call = true;
|
stead.in_life_call = true;
|
||||||
stead.lifes_off = list {}; -- lifes to off
|
stead.lifes_off = list {}; -- lifes to off
|
||||||
|
local m = PLAYER_MOVED
|
||||||
for i,o in opairs(self.lifes) do
|
for i,o in opairs(self.lifes) do
|
||||||
local vv
|
local vv
|
||||||
local pre
|
local pre
|
||||||
o = ref(o);
|
o = ref(o);
|
||||||
if not isDisabled(o) then
|
if not isDisabled(o) then
|
||||||
local m = PLAYER_MOVED
|
PLAYER_MOVED = false
|
||||||
vv,pre = call(o,'life');
|
vv,pre = call(o,'life');
|
||||||
if pre or (m ~= PLAYER_MOVED and pre ~= false) then
|
if pre or (PLAYER_MOVED and pre ~= false) then
|
||||||
av = stead.par(' ', av, vv);
|
av = stead.par(' ', av, vv);
|
||||||
else
|
else
|
||||||
v = stead.par(' ',v, vv);
|
v = stead.par(' ',v, vv);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if not PLAYER_MOVED then PLAYER_MOVED = m end
|
||||||
stead.in_life_call = false;
|
stead.in_life_call = false;
|
||||||
for i,o in ipairs(stead.lifes_off) do
|
for i,o in ipairs(stead.lifes_off) do
|
||||||
lifeoff(o);
|
lifeoff(o);
|
||||||
|
|
Reference in a new issue