Add support for insta-win levels
This is just for stability so the game doensn't break for poorly-designed levelsmaster
parent
a6d49a3cb4
commit
8d2ac359d4
|
@ -92,7 +92,12 @@ end
|
|||
function lzr_levels.build_level(level)
|
||||
local schem = minetest.place_schematic(lzr_globals.LEVEL_POS, minetest.get_modpath("lzr_levels").."/schematics/lzr_levels_level_"..level..".mts", "0", {}, true, "")
|
||||
if schem then
|
||||
-- Propagate lasers and check for insta-win
|
||||
lzr_laser.full_laser_update(lzr_globals.PLAYFIELD_START, lzr_globals.PLAYFIELD_END)
|
||||
local done = lzr_laser.check_level_won()
|
||||
if done then
|
||||
lzr_levels.level_complete()
|
||||
end
|
||||
else
|
||||
minetest.log("error", "[lzr_levels] lzr_levels.build_level failed to build level")
|
||||
end
|
||||
|
@ -150,7 +155,7 @@ end
|
|||
function lzr_levels.next_level()
|
||||
local player = get_singleplayer()
|
||||
current_level = current_level + 1
|
||||
if current_level > 10 then
|
||||
if current_level > LAST_LEVEL then
|
||||
lzr_messages.show_message(player, S("Final level completed!"), 5)
|
||||
else
|
||||
lzr_levels.start_level(current_level)
|
||||
|
|
Loading…
Reference in New Issue