aboutsummaryrefslogtreecommitdiff
path: root/src/level4.moon
diff options
context:
space:
mode:
Diffstat (limited to 'src/level4.moon')
-rw-r--r--src/level4.moon52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/level4.moon b/src/level4.moon
new file mode 100644
index 0000000..7157874
--- /dev/null
+++ b/src/level4.moon
@@ -0,0 +1,52 @@
+layer = require "layers"
+game = require "game"
+state = require "global"
+graph = require "graph"
+import Layer from layer
+ui = require "ui"
+
+mod = ...
+
+mod.setup_level = () ->
+ state.current_level = 4
+ --ret = am.group!
+ state.move_out_done = false
+ state.clear_layers!
+ flayer = Layer("fuel","fuel pipe",50,"data/layer_fuel.png")
+ elayer = Layer("electric","electric wire",10,"data/layer_electric.png")
+ state.add_layer(flayer)
+ state.add_layer(elayer)
+ state.money = 110
+ state.ship("position").x = 800
+ state.ship\action(coroutine.create(game.ship_move_in_co))
+ state.ship("sprite").source = "data/level_4.png"
+ t1 = flayer\mark_square(11,8,"liquid fuel thruster")
+ t2 = flayer\mark_square(11,7,"liquid fuel thruster")
+ p1 = flayer\mark_square(7,8,"liquid fuel tank")
+ flayer\mark_square(10,8,"fuel pipe")
+
+ t3 = elayer\mark_square(9,5,"ion thruster")
+ t4 = elayer\mark_square(9,10,"ion thruster")
+ p2 = elayer\mark_square(7,7,"battery")
+ elayer\mark_square(7,6,"electric wire")
+ elayer\mark_square(7,8,"electric wire")
+ elayer\mark_square(7,9,"electric wire")
+ elayer\mark_square(8,10,"electric wire")
+ elayer\mark_square(7,5,"electric wire")
+ elayer\mark_square(8,5,"electric wire")
+
+ elayer.node.hidden = true
+ state.selected_layer = flayer
+ state.update = () ->
+ flat_tiles = flayer\flat_tiles!
+ flat_tiles2 = elayer\flat_tiles!
+ path1 = graph.path(t1,p1,flat_tiles,true,flayer.tiles_adjacent)
+ path2 = graph.path(t2,p1,flat_tiles,true,flayer.tiles_adjacent)
+ path3 = graph.path(t3,p2,flat_tiles2,true,flayer.tiles_adjacent)
+ path4 = graph.path(t4,p2,flat_tiles2,true,flayer.tiles_adjacent)
+ if path1 and path2 and path3 and path4
+ state.ship\action(coroutine.create(game.ship_move_out_co))
+
+ ui.reload_ui_layers!
+
+mod