Copyright © Ray Wick Home File Name address@hidden 9 then now = 0 end floor_number = now wo[po(sender.x-1, sender.y)] = {Floors[floor_number]} Code_in[switch_number] = now end -- === Switch Number ===================================================================================== -- This extracts the switch number from the sender name to be used in the Code Entry function. function get_end_switch(fullname) return string.sub(fullname, 8, 8) end -- === Code Evaluate ===================================================================================== -- This evaluates if a Code submitted is valid or not and if valid opens the right door. VALID = "Yes" found = "no" function do_code(onoff, sender) if (onoff==true) then return end found = "no" for i = 0, 14 do if wo["IsDifficult"] then code_try = Code_in[0] .. Code_in[1] .. Code_in[2] .. Code_in[3] .. Code_in[4] .. Code_in[5] .. Code_in[6] .. Code_in[7] .. Code_in[8] .. Code_in[9] code_list = Codes[i] else code_try = Code_in[0] .. Code_in[1] .. Code_in[2] .. Code_in[3] .. Code_in[4] code_list = string.sub(Codes[i], 1, 5) end if code_try == code_list then no[Doors[i]]:open() found = "yes" ii = i + 1 if i == 0 then VALID = "Valid code to complete Step 0." else VALID = "Code valid to access Step " .. ii .. "." end break end end if found == "no" then wo[po(77, 201)] = {"it_document", text="textNV"} else wo[po(77, 201)] = {"it_document", text=VALID} end end -- === Close all ===================================================================================== -- This closes all the doors on Step 0. function Close_all(value, sender) no["door_A0"]:close() no["door_A1"]:close() no["door_A2"]:close() no["door_A3"]:close() no["door_A4"]:close() no["door_A5"]:close() no["door_A6"]:close() no["door_A7"]:close() no["door_A8"]:close() no["door_A9"]:close() no["door_AA"]:close() no["door_AB"]:close() no["door_AC"]:close() no["door_AD"]:close() no["door_AE"]:close() no["door_G1"]:close() no["door_G2"]:close() no["door_G3"]:close() no["door_G4"]:close() no["door_G5"]:close() no["door_G6"]:close() no["door_G7"]:close() no["door_G8"]:close() no["door_G9"]:close() no["door_GA"]:close() no["door_GB"]:close() no["door_GC"]:close() no["door_GD"]:close() no["door_GE"]:close() end -- === Close all 0 =================================================================================== -- This closes all the doors on Step 0. function Close_all_0(value, sender) no["door_A0"]:close() no["door_A1"]:close() no["door_A2"]:close() no["door_A3"]:close() no["door_A4"]:close() no["door_A5"]:close() no["door_A6"]:close() no["door_A7"]:close() no["door_A8"]:close() no["door_A9"]:close() no["door_AA"]:close() no["door_AB"]:close() no["door_AC"]:close() no["door_AD"]:close() no["door_AE"]:close() end -- #=# Step 1 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- None -- #=# Step 2 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- === Cave door process ============================================================================== -- This operates the Cave doors using the switches at the end of the Caves. function sw_2(value, sender) Close_all_2() if (sender.name == "switch_2n") then no["door_2d"]:open() no["door_2i"]:open() no["door_2h"]:open() if (Cave_1 == 1) then no["door_2f"]:open() end end if (sender.name == "switch_2o") then no["door_2d"]:open() no["door_2i"]:open() no["door_2h"]:open() if (Cave_1 == 2) then no["door_2g"]:open() end end if (sender.name == "switch_2p") then no["door_2c"]:open() no["door_2j"]:open() no["door_2k"]:open() if (Cave_2 == 1) then no["door_2h"]:open() end end if (sender.name == "switch_2q") then no["door_2c"]:open() no["door_2j"]:open() no["door_2k"]:open() if (Cave_2 == 2) then no["door_2i"]:open() end end if (sender.name == "switch_2r") then no["door_2b"]:open() no["door_2l"]:open() no["door_2m"]:open() if (Cave_3 == 1) then no["door_2j"]:open() end end if (sender.name == "switch_2s") then no["door_2b"]:open() no["door_2l"]:open() no["door_2m"]:open() if (Cave_3 == 2) then no["door_2k"]:open() end end if (sender.name == "switch_2t") then no["door_G2"]:open() no["door_2e"]:open() no["door_2f"]:open() no["door_2g"]:open() if (Cave_4 == 1) then no["door_2l"]:open() end end if (sender.name == "switch_2u") then no["door_G2"]:open() no["door_2e"]:open() no["door_2f"]:open() no["door_2g"]:open() if (Cave_4 == 2) then no["door_2m"]:open() end end end -- === Close all ===================================================================================== -- This closes all the doors on Step 2. function Close_all_2(value, sender) no["door_G2"]:close() no["door_2b"]:close() no["door_2c"]:close() no["door_2d"]:close() no["door_2e"]:close() no["door_2f"]:close() no["door_2g"]:close() no["door_2h"]:close() no["door_2i"]:close() no["door_2j"]:close() no["door_2k"]:close() no["door_2l"]:close() no["door_2m"]:close() end -- === Unset all ===================================================================================== -- This Unsets all the vortex trackers. function Unset_all(value, sender) set_1 = "no" set_2 = "no" set_3 = "no" set_4 = "no" set_5 = "no" set_6 = "no" set_7 = "no" set_8 = "no" set_9 = "no" set_A = "no" set_B = "no" set_C = "no" set_D = "no" set_E = "no" set_F = "no" end -- #=# Step 3 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- None -- #=# Step 4 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- === Trains ========================================================================================= -- There are two sets of trains. One set travles Norht on the West side of the corridor and the other -- set travles South on the East side of the corridor. In the difficult mode there are two trains on -- the East side ond one on the West. In the easy mode there is an extra train on each side. tes = "fl_slope_ts" tws = "fl_slope_tn" te1y = 10 te3y = 129 tw1y = 20 tw4y = 91 tw5y = 164 te1 = 10 te2 = 11 te3 = 12 tw1 = 8 tw2 = 7 tw3 = 9 tw4 = 8 tw5 = 8 te1d = te1y - te1 te2d = te2y - te2 te3d = te3y - te3 tw1d = tw1y + tw1 tw2d = tw2y + tw2 tw3d = tw3y + tw3 tw4d = tw4y + tw4 tw5d = tw5y + tw5 function trains() if (te1y >= 181) then te1y = 0 else te1y = te1y + 1 end if (te1d >= 181) then te1d = 0 else te1d = te1d + 1 end if (te2y >= 181) then te2y = 0 else te2y = te2y + 1 end if (te2d >= 181) then te2d = 0 else te2d = te2d + 1 end if (tw1y <= 0) then tw1y = 181 else tw1y = tw1y - 1 end if (tw1d <= 0) then tw1d = 181 else tw1d = tw1d - 1 end if (tw2y <= 0) then tw2y = 181 else tw2y = tw2y - 1 end if (tw2d <= 0) then tw2d = 181 else tw2d = tw2d - 1 end if (tw3y <= 0) then tw3y = 181 else tw3y = tw3y - 1 end if (tw3d <= 0) then tw3d = 181 else tw3d = tw3d - 1 end wo[po(7, te1y)] = {tes} wo[po(7, te1d)] = {"fl_abyss"} wo[po(7, te2y)] = {tes} wo[po(7, te2d)] = {"fl_abyss"} wo[po(3, tw1y)] = {tws} wo[po(3, tw1d)] = {"fl_abyss"} wo[po(3, tw2y)] = {tws} wo[po(3, tw2d)] = {"fl_abyss"} wo[po(3, tw3y)] = {tws} wo[po(3, tw3d)] = {"fl_abyss"} if wo["IsDifficult"] then else if (te3y >= 181) then te3y = 0 else te3y = te3y + 1 end if (te3d >= 181) then te3d = 0 else te3d = te3d + 1 end if (tw4y <= 0) then tw4y = 181 else tw4y = tw4y - 1 end if (tw4d <= 0) then tw4d = 181 else tw4d = tw4d - 1 end if (tw5y <= 0) then tw5y = 181 else tw5y = tw5y - 1 end if (tw5d <= 0) then tw5d = 181 else tw5d = tw5d - 1 end wo[po(7, te3y)] = {tes} wo[po(7, te3d)] = {"fl_abyss"} wo[po(3, tw4y)] = {tws} wo[po(3, tw4d)] = {"fl_abyss"} wo[po(3, tw5y)] = {tws} wo[po(3, tw5d)] = {"fl_abyss"} end end -- #=# Step 5 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- None -- #=# Step 6 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- None -- #=# Step 7 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- === Lasers ========================================================================================= -- The Lasers try to "Zap" the player while he is moving the mirrors. In the difficult mode there -- is an extra Laser and the Lasers alternate switching on and off. lasercnt = 0 laserpart = 5 function time5() --> lasers on and off periods lasercnt = lasercnt + 1 if lasercnt > laserpart then no["laser_1"]:off() no["laser_2"]:off() if wo["IsDifficult"] then no["laser_3"]:on() no["laser_4"]:on() no["laser_5"]:on() no["laser_6"]:on() else no["laser_3"]:off() no["laser_4"]:off() no["laser_5"]:off() end else no["laser_1"]:on() no["laser_2"]:on() if wo["IsDifficult"] then no["laser_3"]:off() no["laser_4"]:off() no["laser_5"]:off() no["laser_6"]:off() else no["laser_3"]:on() no["laser_4"]:on() no["laser_5"]:on() end end if lasercnt > 10 then lasercnt = 0 end end -- === The Door ========================================================================================= -- Operates the door to exit Step 7. function op_G7(onoff, sender) if (onoff==true) then no["door_G7"]:open() else no["door_G7"]:close() end end -- #=# Step 8 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- === Pipe Dispenser ================================================================================= -- This is the function that dispenses the pipes that are bought with coins. function slot_8(onoff, sender) if (onoff==true) then wo[po(77, 149)] = {"it_sensor_exit"} else if (sender.name == "slot_1$") then wo[po(77, 149)] = {"it_pipe_ew"} end if (sender.name == "slot_2$") then wo[po(77, 149)] = {"it_pipe_ns"} end if (sender.name == "slot_3$") then wo[po(77, 149)] = {"it_pipe_es"} end if (sender.name == "slot_4$") then wo[po(77, 149)] = {"it_pipe_ne"} end if (sender.name == "slot_5$") then wo[po(77, 149)] = {"it_pipe_nw"} end if (sender.name == "slot_6$") then wo[po(77, 149)] = {"it_pipe_sw"} end end end -- #=# Step 9 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# First9 = "yes" function Do_9_turn(onoff, sender) if (First9 == "yes") then First9 = "no" wo:add({"ot_wire", anchor1="arm_T9", anchor2="arm_t9"}) end end Turn9 = "no" WichWay = "S" function Do_turn_9(onoff, sender) if (onoff == true) then return end Clear_turn_9() if (sender.name == "turn_9^") then WichWay = "N" if (Turn9 == "cw") then wo[po(68,86)] = {"st_grate_framed"} end if (Turn9 == "cc") then wo[po(66,86)] = {"st_grate_framed"} end end if (sender.name == "turn_9>") then WichWay = "E" if (Turn9 == "cw") then wo[po(68,88)] = {"st_grate_framed"} end if (Turn9 == "cc") then wo[po(68,86)] = {"st_grate_framed"} end end if (sender.name == "turn_9v") then WichWay = "S" if (Turn9 == "cw") then wo[po(66,88)] = {"st_grate_framed"} end if (Turn9 == "cc") then wo[po(68,88)] = {"st_grate_framed"} end end if (sender.name == "turn_9<") then WichWay = "W" if (Turn9 == "cw") then wo[po(66,86)] = {"st_grate_framed"} end if (Turn9 == "cc") then wo[po(66,88)] = {"st_grate_framed"} end end end function Clear_turn_9(onoff, sender) wo[po(66,86)] = {"st_nil"} wo[po(66,88)] = {"st_nil"} wo[po(68,86)] = {"st_nil"} wo[po(68,88)] = {"st_nil"} end function Way_9(onoff, sender) Clear_turn_9() if (onoff == false) then Turn9 = "no" if (WichWay == "N") then wo[po(66,86)] = {"st_grate_framed"} wo[po(68,86)] = {"st_grate_framed"} end if (WichWay == "E") then wo[po(68,88)] = {"st_grate_framed"} wo[po(68,86)] = {"st_grate_framed"} end if (WichWay == "S") then wo[po(66,88)] = {"st_grate_framed"} wo[po(68,88)] = {"st_grate_framed"} end if (WichWay == "W") then wo[po(66,86)] = {"st_grate_framed"} wo[po(66,88)] = {"st_grate_framed"} end end if (onoff == true) then if (sender.name == "flop_cw") then Turn9 = "cw" if (WichWay == "N") then wo[po(68,86)] = {"st_grate_framed"} end if (WichWay == "E") then wo[po(68,88)] = {"st_grate_framed"} end if (WichWay == "S") then wo[po(66,88)] = {"st_grate_framed"} end if (WichWay == "W") then wo[po(66,86)] = {"st_grate_framed"} end end if (sender.name == "flop_cc") then Turn9 = "cc" if (WichWay == "N") then wo[po(66,86)] = {"st_grate_framed"} end if (WichWay == "E") then wo[po(68,86)] = {"st_grate_framed"} end if (WichWay == "S") then wo[po(68,88)] = {"st_grate_framed"} end if (WichWay == "W") then wo[po(66,88)] = {"st_grate_framed"} end end end end -- #=# Step A related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# FirstA = "yes" function Do_A_band(onoff, sender) if (FirstA == "yes") then wo:add({"ot_rubberband", anchor1="black_1", anchor2="boulder_A1", strength=BANDPULL}) wo[po(23,183)] = {"st_nil"} end end function Do_Switch_boulder_A1(onoff, sender) if (onoff == true) then no["boulder_A1"]:flip() end end -- #=# Step B related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- None -- #=# Step C related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# half_1 = "no" function Do_Half_1(value, sender) if half_1 == "no" then wo[po(69, 201)] = {"it_vortex", "vortex_H1", destination="step_1b", autoclose=false, state=OPEN} half_1 = "yes" end end -- #=# Step D related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- None -- #=# Step E related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- None -- #=# Step F related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- === Tunnel Integrity =============================================================================== -- This keeps a player from changing tunnels where they cross (they are at different depths) function oneway(onoff, sender) if (onoff == false) then return end if (sender.name == "top1" or sender.name == "top2" or sender.name == "top3" or sender.name == "top4" or sender.name == "top5" or sender.name == "top6" or sender.name == "top7") then wo[po(sender.x, sender.y + 1)] = {"st_invisible_hollow"} wo[po(sender.x, sender.y + 3)] = {"st_invisible_hollow"} wo[po(sender.x - 1, sender.y + 2)] = {"st_invisible"} wo[po(sender.x + 1, sender.y + 2)] = {"st_invisible"} end if (sender.name == "bottom1" or sender.name == "bottom2" or sender.name == "bottom3" or sender.name == "bottom4" or sender.name == "bottom5" or sender.name == "bottom6" or sender.name == "bottom7") then wo[po(sender.x, sender.y - 1)] = {"st_invisible_hollow"} wo[po(sender.x, sender.y - 3)] = {"st_invisible_hollow"} wo[po(sender.x - 1, sender.y - 2)] = {"st_invisible"} wo[po(sender.x + 1, sender.y - 2)] = {"st_invisible"} end if (sender.name == "left1" or sender.name == "left2" or sender.name == "left3" or sender.name == "left4" or sender.name == "left5" or sender.name == "left6" or sender.name == "left7") then wo[po(sender.x + 2, sender.y - 1)] = {"st_invisible"} wo[po(sender.x + 2, sender.y + 1)] = {"st_invisible"} wo[po(sender.x + 1, sender.y)] = {"st_invisible_hollow"} wo[po(sender.x + 3, sender.y)] = {"st_invisible_hollow"} end if (sender.name == "right1" or sender.name == "right2" or sender.name == "right3" or sender.name == "right4" or sender.name == "right5" or sender.name == "right6" or sender.name == "right7") then wo[po(sender.x - 2, sender.y - 1)] = {"st_invisible"} wo[po(sender.x - 2, sender.y + 1)] = {"st_invisible"} wo[po(sender.x - 3, sender.y)] = {"st_invisible_hollow"} wo[po(sender.x - 1, sender.y)] = {"st_invisible_hollow"} end end -- === Tunnel Traps =================================================================================== -- This keeps a player from going backwards in the difficult mode. function trap_it(onoff, sender) if (onoff == false) then return end if (sender.name == "trap_1") then wo[po(79, 190)] = {"st_invisible"} end if (sender.name == "trap_2") then wo[po(79, 186)] = {"st_invisible"} end if (sender.name == "trap_3") then wo[po(79, 190)] = {"st_invisible"} wo[po(79, 186)] = {"st_invisible"} wo[po(72, 183)] = {"st_invisible_hollow"} wo[po(77, 193)] = {"st_invisible_hollow"} end if (sender.name == "trap_4") then wo[po(68, 194)] = {"st_invisible"} wo[po(79, 190)] = {"st_invisible_hollow"} end if (sender.name == "trap_5") then wo[po(72, 183)] = {"st_invisible"} wo[po(79, 186)] = {"st_invisible_hollow"} end if (sender.name == "trap_6") then wo[po(72, 183)] = {"st_invisible_hollow"} end if (sender.name == "trap_7") then wo[po(69, 193)] = {"st_invisible"} wo[po(75, 193)] = {"st_invisible"} wo[po(68, 194)] = {"st_invisible_hollow"} wo[po(77, 193)] = {"st_invisible_hollow"} end if (sender.name == "trap_8") then wo[po(68, 194)] = {"st_invisible"} wo[po(77, 193)] = {"st_invisible"} wo[po(69, 193)] = {"st_invisible_hollow"} wo[po(75, 193)] = {"st_invisible_hollow"} end end -- #=# General related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- === No Action =================================================================================== -- This is a dummy function. function na(value, sender) end function Back_Home(value, sender) wo[po(41, 195)] = {"st_nil"} wo[po(40, 196)] = {"st_invisible"} sent_last = "no" end -- === Return to Step =================================================================================== -- These functions set a vortex at the Level start point to divert a player to the start of a Step -- upon getting killed if they have any life left. set_0 = "no" function Do_Step_0(value, sender) Close_all_0() if set_0 == "no" then wo[po(69, 201)] = {"it_vortex", "vortex_K0", destination="vortex_K0", autoclose=false, state=OPEN} wo:add(YIN, {"it_document", text="text8"}) Unset_all() set_0 = "yes" end end set_1 = "no" function Do_Step_1(value, sender) Close_all_0() if set_1 == "no" then wo[po(69, 201)] = {"fl_stone"} wo[po(69, 201)] = {"it_vortex", "vortex_K1", destination="step_1", autoclose=false, state=OPEN} Unset_all() set_1 = "yes" end end set_2 = "no" function Do_Step_2(value, sender) Close_all_0() if set_2 == "no" then wo[po(69, 201)] = {"fl_red"} wo[po(69, 201)] = {"it_vortex", "vortex_K2", destination="step_2", autoclose=false, state=OPEN} Unset_all() set_2 = "yes" end end set_3 = "no" function Do_Step_3(value, sender) Close_all_0() if set_3 == "no" then wo[po(69, 201)] = {"fl_sand"} wo[po(69, 201)] = {"it_vortex", "vortex_K3", destination="step_3", autoclose=false, state=OPEN} Unset_all() set_3 = "yes" end end set_4 = "no" function Do_Step_4(value, sender) Close_all_0() if set_4 == "no" then wo[po(69, 201)] = {"fl_sahara"} wo[po(69, 201)] = {"it_vortex", "vortex_K4", destination="step_4", autoclose=false, state=OPEN} Unset_all() set_4 = "yes" end end set_5 = "no" function Do_Step_5(value, sender) Close_all_0() if set_5 == "no" then wo[po(69, 201)] = {"fl_aquamarine"} wo[po(69, 201)] = {"it_vortex", "vortex_K5", destination="step_5", autoclose=false, state=OPEN} Unset_all() set_5 = "yes" end end set_6 = "no" function Do_Step_6(value, sender) Close_all_0() if set_6 == "no" then wo[po(69, 201)] = {"fl_blueslab"} wo[po(69, 201)] = {"it_vortex", "vortex_K6", destination="step_6", autoclose=false, state=OPEN} Unset_all() set_6 = "yes" end end set_7 = "no" function Do_Step_7(value, sender) Close_all_0() if set_7 == "no" then wo[po(69, 201)] = {"fl_redslab"} wo[po(69, 201)] = {"it_vortex", "vortex_K7", destination="step_7", autoclose=false, state=OPEN} Unset_all() set_7 = "yes" end end set_8 = "no" function Do_Step_8(value, sender) Close_all_0() if set_8 == "no" then wo[po(69, 201)] = {"fl_darkgray"} wo[po(69, 201)] = {"it_vortex", "vortex_K8", destination="step_8", autoclose=false, state=OPEN} Unset_all() set_8 = "yes" end end Is_bug = "no" set_9 = "no" function Do_Step_9(value, sender) Close_all_0() if set_9 == "no" then wo[po(69, 201)] = {"fl_bright"} wo[po(69, 201)] = {"it_vortex", "vortex_K9", destination="step_9", autoclose=false, state=OPEN} Unset_all() set_9 = "yes" end if Is_bug == "no" then wo[po(75.5, 84.5)] = {"ac_bug", "bug_9", controllers=CTRL_YIN, adhesion=2, owner=YIN} Is_bug = "yes" end end set_A = "no" function Do_Step_A(value, sender) Close_all_0() if set_A == "no" then wo[po(69, 201)] = {"fl_plank"} wo[po(69, 201)] = {"it_vortex", "vortex_KA", destination="step_A", autoclose=false, state=OPEN} Unset_all() set_A = "yes" end end set_B = "no" function Do_Step_B(value, sender) Close_all_0() if set_B == "no" then wo[po(69, 201)] = {"fl_rough"} wo[po(69, 201)] = {"it_vortex", "vortex_KB", destination="step_B", autoclose=false, state=OPEN} Unset_all() set_B = "yes" end end set_C = "no" function Do_Step_C(value, sender) Close_all_0() if set_C == "no" then wo[po(69, 201)] = {"fl_slope", slope=NORTH, strength=0} wo[po(69, 201)] = {"it_vortex", "vortex_KC", destination="step_C", autoclose=false, state=OPEN} Unset_all() set_C = "yes" end end set_D = "no" function Do_Step_D(value, sender) Close_all_0() if set_D == "no" then wo[po(69, 201)] = {"fl_mortar"} wo[po(69, 201)] = {"it_vortex", "vortex_KD", destination="step_D", autoclose=false, state=OPEN} Unset_all() set_D = "yes" end end set_E = "no" function Do_Step_E(value, sender) Close_all_0() if set_E == "no" then wo[po(69, 201)] = {"fl_gravel"} wo[po(69, 201)] = {"it_vortex", "vortex_KE", destination="step_E", autoclose=false, state=OPEN} Unset_all() set_E = "yes" end end sent_last = "no" set_F = "no" function Do_Step_F(value, sender) Close_all_0() if set_F == "no" then wo[po(69, 201)] = {"fl_brick"} wo[po(69, 201)] = {"it_vortex", "vortex_KF", destination="step_F", autoclose=false, state=OPEN} Unset_all() set_F = "yes" end if sent_last == "no" then count_no = 0 for i = 0, 14 do if Done_Steps[i] == "no" then count_no = count_no + 1 end end if count_no ~= 0 then wo[po(41, 195)] = {"st_window", faces="w"} wo[po(40, 196)] = {"st_window", faces="n"} DONETEXT = "There are still " .. count_no .. " Steps to complete before the Level can be finished." else DONETEXT = "Congratulations, all Steps have been completed and the Level can now be finished." end wo:add(YIN, {"it_document", text=DONETEXT}) wo:add(YIN, {"it_document", text=DONETEXT2}) sent_last = "yes" end end -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ### Tile Definitions ############################################################################## -- #=# Common related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# -- === Players ======================================================================================== ti[" *"] = {"#ac_marble_black", name="black_1"} ti["W*"] = {"#ac_marble_white"} ti["YY"] = {"it_yinyang"} -- === Floors & Slopes ================================================================================ ti[" "] = {"fl_sand"} ti[" ."] = {"fl_abyss"} ti["o0"] = {"fl_dark"} ti["o1"] = {"fl_stone"} ti["o2"] = {"fl_red"} ti["o3"] = {"fl_sand"} ti["o4"] = {"fl_sahara"} ti["o5"] = {"fl_aquamarine"} ti["o6"] = {"fl_blueslab"} ti["o7"] = {"fl_redslab"} ti["o8"] = {"fl_darkgray"} ti["o9"] = {"fl_bright"} ti["oA"] = {"fl_plank"} ti["oB"] = {"fl_rough"} ti["oC"] = {"fl_slope", slope=NORTH, strength=0} ti["oD"] = {"fl_mortar"} ti["oE"] = {"fl_gravel"} ti["oF"] = {"fl_brick"} ti["oS"] = {"fl_scales_gray"} ti["DU"] = {"fl_dunes"} ti["WV"] = {"fl_woven"} ti["tf"] = {"fl_thief"} ti[".."] = {"fl_abyss"} ti["~~"] = {"fl_water"} ti["^^"] = {"fl_swamp"} ti[" 6"] = {"fl_bridge", state=CLOSED} ti["#P"] = {"fl_scales_platinum"} ti["`1"] = {"fl_slope", slope=NORTH, strength=SSTRENGTH} ti["`2"] = {"fl_slope", slope=NORTHEAST, strength=SSTRENGTH} ti["`3"] = {"fl_slope", slope=EAST, strength=SSTRENGTH} ti["`4"] = {"fl_slope", slope=SOUTHEAST, strength=SSTRENGTH} ti["`5"] = {"fl_slope", slope=SOUTH, strength=SSTRENGTH} ti["`6"] = {"fl_slope", slope=SOUTHWEST, strength=SSTRENGTH} ti["`7"] = {"fl_slope", slope=WEST, strength=SSTRENGTH} ti["`8"] = {"fl_slope", slope=NORTHWEST, strength=SSTRENGTH} ti["`9"] = {"fl_slope", slope=NODIR, strength=SSTRENGTH} ti["0_"] = {"fl_dark"} ti["0-"] = {"fl_bast"} ti["1_"] = {"fl_stone"} ti["2_"] = {"fl_red"} ti["4_"] = {"fl_sahara"} ti["6_"] = {"fl_blueslab"} ti["7_"] = {"fl_redslab"} ti["8_"] = {"fl_darkgray"} ti["9_"] = {"fl_bright"} ti["A_"] = {"fl_plank"} ti["B_"] = {"fl_rough"} ti["D_"] = {"fl_mortar"} ti["E_"] = {"fl_gravel"} ti["F_"] = {"fl_brick"} ti["F-"] = {"fl_brick"} -- === Stones ========================================================================================= ti["OX"] = {"st_oxyd", flavor="b"} ti["oX"] = {"st_fake_oxydb"} ti["ds"] = {"st_door", name="door_ds", flavor="d", faces="ew"} ti["ts"] = {"st_thief"} ti["P#"] = {"st_brownpyramid"} ti["SI"] = {"st_stoneimpulse"} ti["PX"] = {"st_passage_black", flavor = "cross"} ti["WD"] = {"st_box_wood"} ti["C*"] = {"st_chameleon"} ti["wb"] = {"st_knight"} ti["WL"] = {"st_invisible"} ti["Ft"] = {"fl_fake_trigger"} ti["##"] = {"st_redmarble"} ti["GS"] = {"st_rawglass"} ti["GM"] = {"st_rawglass_movable"} ti["gt"] = {"st_grate_framed"} ti["tg"] = {"st_tigris"} ti["RT"] = {"st_rotator_cw"} ti["LT"] = {"st_rotator_ccw"} ti["OW"] = {"st_oneway_black", orientation=NORTH} ti["ow"] = {"st_oneway_black", orientation=SOUTH} -- === Windows ======================================================================================== ti[" E"] = {"st_window", secure=true, faces="e"} ti[" W"] = {"st_window", secure=true, faces="w"} ti[" N"] = {"st_window", secure=true, faces="n"} ti[" S"] = {"st_window", secure=true, faces="s"} ti["NW"] = {"st_window", secure=true, faces="nw"} ti["NE"] = {"st_window", secure=true, faces="ne"} ti["SW"] = {"st_window", secure=true, faces="sw"} ti["ES"] = {"st_window", secure=true, faces="es"} ti["NS"] = {"st_window", secure=true, faces="ns"} ti["WE"] = {"st_window", secure=true, faces="we"} ti["WZ"] = {"st_window", secure=true, faces="nes"} ti["EZ"] = {"st_window", secure=true, faces="nsw"} ti["SZ"] = {"st_window", secure=true, faces="new"} -- === Turnstiles ===================================================================================== ti["TRNAN"] = {"st_turnstilearm_n"} ti["TRNAS"] = {"st_turnstilearm_s"} ti["TRNAE"] = {"st_turnstilearm_e"} ti["TRNAW"] = {"st_turnstilearm_w"} -- === Items ========================================================================================== ti["SS"] = {"it_seed"} ti["cs"] = {"it_coin_s"} ti["*B"] = {"it_bottle", interval=15} ti["fd"] = {"it_floppy"} ti["^d"] = {"it_spring_drop"} -- === Other ========================================================================================== ti["N."] = ti[" ."] .. {"st_window", secure=true, faces="n"} DESTW1 = "step_1a" DESTX1 = "step_1b" ti["h1X"] = {"it_wormhole", "wormh_1r", destination=DESTX1} -- #=# More Difficult setings #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# if wo["IsDifficult"] then ti["cn4"] = {"it_coin_m"} int1 = 0.4 int5 = 0.5 ti["Vt"] = ti["F_"] .. {"it_vortex", "vortex_Vt", destination="vortex_VH", autoclose=false} ti["ox"] = {"st_oxyd", flavor="b"} ti["7b"] = {"st_purplemarble"} ti["Y1"] = {"st_death"} ti["1Y"] = {"st_death"} ti["^7"] = {"st_laser_w", name="laser_6"} ti["h."] = ti["N."] ti["Wh"] = ti["4_"] Cave_1 = math.random(1,2) Cave_2 = math.random(1,2) Cave_3 = math.random(1,2) Cave_4 = math.random(1,2) ti["22"] = ti["2_"] .. {"it_document", text="text_22"} ti["8c"] = ti["8_"] .. {"it_coin_s"} ti["8n"] = ti["8_"] ti["8m"] = ti["8_"] .. {"it_coin_s"} ti["M8"] = {"st_mail_e"} ti["m8"] = {"fl_thief"} ti["h1"] = {"fl_slope", slope=SOUTH, strength=SSTRENGTH} .. ti["h1X"] ti["0B"] = ti["0_"] ti["0C"] = ti["0_"] ti["0D"] = ti["0_"] ti["N0"] = ti["o0"] ti["N4"] = ti["o4"] ti["N9"] = ti["o9"] ti["a5"] = {"st_fourswitch", name="switch_5", action="callback", target="next_1", state=SOUTH} ti["a6"] = {"st_fourswitch", name="switch_6", action="callback", target="next_1", state=SOUTH} ti["a7"] = {"st_fourswitch", name="switch_7", action="callback", target="next_1", state=SOUTH} ti["a8"] = {"st_fourswitch", name="switch_8", action="callback", target="next_1", state=SOUTH} ti["a9"] = {"st_fourswitch", name="switch_9", action="callback", target="next_1", state=SOUTH} ti[":."] = {"fl_fake_abyss", adhesion=0, friction=0} ti["02"] = ti["0-"] ti["X1"] = ti["`9"] .. {"it_wormhole", "wormh_1b", destination=DESTX1} ti["1M"] = ti["`1"] .. ti["WE"] ti["P1"] = ti["`8"] .. ti[" W"] .. {"it_wormhole", "wormh_1b", destination=DESTX1} ti["5s"] = ti["^^"] .. {"it_springboard"} ti["5F"] = ti["^^"] .. {"it_strip_ew"} ti["5G"] = ti["^^"] .. {"it_strip_ns"} ti["5l"] = ti["~~"] .. {"it_strip_w"} ti["6j"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6j", destination={"vortex_6z","vortex_6o", "vortex_6q"}, autoclose=false, state=OPEN} ti["6h"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6h", destination={"vortex_6m"}, autoclose=false, state=OPEN} ti["6m"] = ti["6_"] .. {"it_vortex", "vortex_6m", destination={"vortex_6h"}, autoclose=false, state=OPEN} ti["6z"] = ti["6_"] .. {"it_vortex", "vortex_6z", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6G"] = ti["6_"] .. {"st_rawglass_movable"} ti["6Z"] = ti[" ."] ti["Z6"] = ti[" ."] ti["6Y"] = ti[" ."] SIXU = false ti["h9"] = ti["9_"] .. {"st_floppy", name="flop_cc", action="callback", target="Way_9"} ti["H9"] = ti["9_"] .. {"st_floppy", name="flop_cw", action="callback", target="Way_9"} ti["~9"] = ti["~~"] .. ti["gt"] ti["b9"] = ti["9_"] .. {"st_break_bug"} ti["Z9"] = ti["9_"] ti["z9"] = ti["9_"] .. ti["fd"] .. {"st_break_bug"} BANDPULL = 6 ti["YA"] = {"st_death"} ti["hA"] = ti["##"] ti["eA"] = ti["A_"] ti["B#"] = ti["##"] ti["c0"] = ti["0_"] .. {"it_document", text="code_0"} ti["d1"] = ti["o1"] .. {"st_door", name="door_d1", flavor="d", faces="ns"} ti["k1"] = ti["o1"] .. {"it_key", code="1"} ti["K1"] = {"st_key", code="1", target="door_d1"} ti["s1"] = ti["~~"] .. {"st_boulder_e"} ti["b1"] = ti["~~"] .. {"st_boulder_w"} ti["~1"] = {"fl_water"} ti["~T"] = {"st_rotator_cw"} ti["sd"] = ti["o1"] .. ti["^d"] ti["fD"] = ti["oD"] .. {"it_floppy", "floppy_fD"} ti["DD"] = ti["oD"] .. {"st_door", name="door_DD", flavor="d", faces="ew"} ti["FD"] = {"st_floppy", name="flop_FD", target="door_DD"} ti["8D"] = ti["oD"] .. {"st_rawglass_quad", name="Glass_8D"} DONETEXT2 = "textNDh" else ti["cn4"] = {"it_coin_l"} int1 = 0.50 int5 = 0.5 ti["Vt"] = ti["F_"] .. {"it_vortex", "vortex_Vt", destination="vortex_VT", autoclose=true} ti["ox"] = ti[" "] ti["7b"] = ti["7_"] ti["Y1"] = {"fl_slope", slope=SOUTH, strength=SSTRENGTH} ti["1Y"] = {"fl_slope", slope=NORTH, strength=SSTRENGTH} ti["^7"] = {"st_purplemarble"} ti["h."] = ti[" ."] ti["Wh"] = ti["4_"] .. {"st_window", secure=true, faces="w"} Cave_1 = 1 Cave_2 = 1 Cave_3 = 2 Cave_4 = 1 ti["22"] = ti["2_"] ti["8c"] = ti["8_"] ti["8n"] = ti["8_"] .. {"it_document", text="text_4n"} ti["8m"] = ti["8_"] .. {"it_document", text="text_4m"} ti["M8"] = {"fl_thief"} ti["m8"] = {"st_mail_w"} ti["h1"] = {"fl_slope", slope=SOUTH, strength=SSTRENGTH} ti["0B"] = ti["0_"] .. {"it_document", text="text1"} ti["0C"] = ti["0_"] .. {"it_document", text="text2"} ti["0D"] = ti["0_"] .. {"it_document", text="text3"} ti["N0"] = ti["o0"] .. {"it_document", text="text0"} ti["N4"] = ti["o4"] .. {"it_document", text="text4"} ti["N9"] = ti["o9"] .. {"it_document", text="text9"} ti["a5"] = ti["0_"] ti["a6"] = ti["0_"] ti["a7"] = ti["0_"] .. {"it_document", text="text5"} ti["a8"] = ti["0_"] ti["a9"] = ti["0_"] ti[":."] = {"fl_space"} ti["02"] = ti["0-"] .. {"it_document", text="text6"} ti["X1"] = ti["`1"] ti["1M"] = ti["`1"] .. ti[" E"] ti["P1"] = ti["`8"] .. ti[" W"] ti["5s"] = ti[" 6"] .. {"it_springboard"} ti["5F"] = ti[" 6"] .. {"it_strip_ew"} ti["5G"] = ti[" 6"] .. {"it_strip_ns"} ti["5l"] = ti["~~"] .. {"it_strip_ew"} ti["6h"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6h", destination={"vortex_6o", "vortex_6q"}, autoclose=false, state=OPEN} ti["6j"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6j", destination={"vortex_6m"}, autoclose=false, state=OPEN} ti["6m"] = ti["6_"] .. {"it_vortex", "vortex_6m", destination={"vortex_6j"}, autoclose=false, state=OPEN} ti["6z"] = ti["6_"] ti["6G"] = ti["6_"] ti["6Z"] = ti[" ."] .. ti[" E"] ti["Z6"] = ti[" ."] .. ti[" W"] ti["6Y"] = ti["6_"] SIXU = true ti["h9"] = ti["9_"] ti["H9"] = ti["9_"] ti["~9"] = ti["~~"] ti["b9"] = ti["9_"] .. {"st_passage_black", flavor = "cross"} ti["Z9"] = ti["9_"] .. ti["fd"] ti["z9"] = ti["9_"] BANDPULL = 4 ti["YA"] = ti["A_"] ti["hA"] = ti["A_"] ti["eA"] = ti["##"] ti["B#"] = ti["B_"] ti["c0"] = ti["0_"] .. {"it_document", text="code_0E"} ti["d1"] = ti["o1"] ti["k1"] = ti["o1"] ti["K1"] = ti["##"] ti["s1"] = ti["~~"] ti["b1"] = ti["~~"] ti["~1"] = ti["o1"] ti["~T"] = ti["~~"] ti["sd"] = ti["o1"] ti["fD"] = ti["oD"] ti["DD"] = ti["oD"] ti["FD"] = ti["##"] ti["8D"] = ti["oD"] DONETEXT2 = "textNDe" end -- === Setting the Train slope strength (drag along factor). ========================================== wo["SlopeStrength"] = SLOPFORCE -- #=# Step 0 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["Z0"] = {"st_timer", "timer_Z0", interval=int1, action="callback", target="trains"} ti["aS"] = {"st_monoflop", "try_code", interval=2, action="callback", target="do_code"} ti["Fin0"] = {"it_sensor", "Done_0", invisible=true, action="callback", target="Done_Step"} ti["A0"] = ti["o1"] .. ti["Fin0"] .. {"st_door", name="door_A0", flavor="d", faces="ew"} ti["|0"] = ti["0-"] .. {"it_sensor", "home_0", invisible=true, action="callback", target="Back_Home"} ti["a0"] = {"st_fourswitch", name="switch_0", action="callback", target="next_1", state=SOUTH} ti["a1"] = {"st_fourswitch", name="switch_1", action="callback", target="next_1", state=SOUTH} ti["a2"] = {"st_fourswitch", name="switch_2", action="callback", target="next_1", state=SOUTH} ti["a3"] = {"st_fourswitch", name="switch_3", action="callback", target="next_1", state=SOUTH} ti["a4"] = {"st_fourswitch", name="switch_4", action="callback", target="next_1", state=SOUTH} ti["A1"] = ti["o2"] .. {"st_door", name="door_A1", flavor="d", faces="ns"} ti["A2"] = ti["o3"] .. {"st_door", name="door_A2", flavor="d", faces="ns"} ti["A3"] = ti["o4"] .. {"st_door", name="door_A3", flavor="d", faces="ns"} ti["A4"] = ti["o5"] .. {"st_door", name="door_A4", flavor="d", faces="ns"} ti["A5"] = ti["o6"] .. {"st_door", name="door_A5", flavor="d", faces="ns"} ti["A6"] = ti["o7"] .. {"st_door", name="door_A6", flavor="d", faces="ns"} ti["A7"] = ti["o8"] .. {"st_door", name="door_A7", flavor="d", faces="ns"} ti["A8"] = ti["o9"] .. {"st_door", name="door_A8", flavor="d", faces="ns"} ti["A9"] = ti["oA"] .. {"st_door", name="door_A9", flavor="d", faces="ns"} ti["AA"] = ti["oB"] .. {"st_door", name="door_AA", flavor="d", faces="ns"} ti["AB"] = ti["oC"] .. {"st_door", name="door_AB", flavor="d", faces="ns"} ti["AC"] = ti["oD"] .. {"st_door", name="door_AC", flavor="d", faces="ns"} ti["AD"] = ti["oE"] .. {"st_door", name="door_AD", flavor="d", faces="ns"} ti["AE"] = ti["oF"] .. {"st_door", name="door_AE", flavor="d", faces="ns"} ti["EC"] = ti["0-"] .. {"it_document", text="textEC"} ti["*U"] = ti[" *"] .. ti["0_"] .. {"it_sensor_exit", "step_0", invisible=false, action="callback", target="Do_Step_0"} ti["*W"] = ti["W*"] .. ti["YY"] .. ti["WV"] ti["0A"] = ti["0_"] .. {"it_document", text="text_0A"} ti["V0"] = ti["o1"] .. {"it_vortex", "vortex_V0", destination="step_1", autoclose=false, state=OPEN} -- #=# Step 1 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["S1"] = ti["o1"] .. ti["ds"] .. {"it_sensor", "step_1", invisible=true, action="callback", target="Do_Step_1"} ti["L1"] = ti["o2"] .. {"it_vortex", "vortex_L1", destination="step_2", autoclose=false, state=OPEN} ti["Fin1"] = {"it_sensor", "Done_1", invisible=true, action="callback", target="Done_Step"} ti["G1"] = ti["o2"] .. ti["Fin1"] .. {"st_door", name="door_G1", flavor="d", faces="ew"} ti["V1"] = ti["o2"] .. {"it_vortex", "vortex_V1", destination="step_2", autoclose=false, state=OPEN} ti["|1"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|1", destination="home_0", strength=0} ti["Sd"] = ti["o1"] .. ti["^d"] ti["F1"] = {"st_floppy", target="door_G1"} ti["f1"] = ti["o1"] .. ti["fd"] ti["sB"] = ti["o1"] .. {"st_boulder_n"} ti["sb"] = ti["~~"] .. {"st_boulder_s"} -- #=# Step 2 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["S2"] = ti["o2"] .. ti["ds"] .. {"it_sensor", "step_2", invisible=true, action="callback", target="Do_Step_2"} ti["L2"] = ti["o3"] .. {"it_vortex", "vortex_L2", destination="step_3", autoclose=false, state=OPEN} ti["Fin2"] = {"it_sensor", "Done_2", invisible=true, action="callback", target="Done_Step"} ti["G2"] = ti["o3"] .. ti["Fin2"] .. {"st_door", name="door_G2", flavor="d", faces="ew"} ti["V2"] = ti["o3"] .. {"it_vortex", "vortex_V2", destination="step_3", autoclose=false, state=OPEN} ti["|2"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|2", destination="home_0", strength=0} ti["2b"] = ti["2_"] .. {"st_door", name="door_2b", flavor="d", faces="ew"} ti["2c"] = ti["2_"] .. {"st_door", name="door_2c", flavor="d", faces="ew"} ti["2d"] = ti["2_"] .. {"st_door", name="door_2d", flavor="d", faces="ew"} ti["2e"] = ti["2_"] .. {"st_door", name="door_2e", flavor="d", faces="ew"} ti["2f"] = ti["2_"] .. {"st_door", name="door_2f", flavor="d", faces="ew"} ti["2g"] = ti["2_"] .. {"st_door", name="door_2g", flavor="d", faces="ew"} ti["2h"] = ti["2_"] .. {"st_door", name="door_2h", flavor="d", faces="ew"} ti["2i"] = ti["2_"] .. {"st_door", name="door_2i", flavor="d", faces="ew"} ti["2j"] = ti["2_"] .. {"st_door", name="door_2j", flavor="d", faces="ew"} ti["2k"] = ti["2_"] .. {"st_door", name="door_2k", flavor="d", faces="ew"} ti["2l"] = ti["2_"] .. {"st_door", name="door_2l", flavor="d", faces="ew"} ti["2m"] = ti["2_"] .. {"st_door", name="door_2m", flavor="d", faces="ew"} ti["2n"] = {"st_switch", name="switch_2n", action="callback", target="sw_2", instant=true} ti["2o"] = {"st_switch", name="switch_2o", action="callback", target="sw_2", instant=true} ti["2p"] = {"st_switch", name="switch_2p", action="callback", target="sw_2", instant=true} ti["2q"] = {"st_switch", name="switch_2q", action="callback", target="sw_2", instant=true} ti["2r"] = {"st_switch", name="switch_2r", action="callback", target="sw_2", instant=true} ti["2s"] = {"st_switch", name="switch_2s", action="callback", target="sw_2", instant=true} ti["2t"] = {"st_switch", name="switch_2t", action="callback", target="sw_2", instant=true} ti["2u"] = {"st_switch", name="switch_2u", action="callback", target="sw_2", instant=true} ti["2W"] = ti["2_"] .. ti[" W"] ti["2S"] = ti["2_"] .. ti[" S"] ti["2E"] = ti["2_"] .. ti[" E"] ti["2N"] = ti["2_"] .. ti[" N"] ti["2="] = ti["2_"] .. ti["NS"] ti["2@"] = ti["2_"] .. ti["WE"] -- #=# Step 3 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["c3"] = {COYN3} ti["S3"] = ti["o3"] .. ti["ds"] .. {"it_sensor", "step_3", invisible=true, action="callback", target="Do_Step_3"} ti["L3"] = ti["o4"] .. {"it_vortex", "vortex_L3", destination="step_4", autoclose=false, state=OPEN} ti["Fin3"] = {"it_sensor", "Done_3", invisible=true, action="callback", target="Done_Step"} ti["G3"] = ti["o4"] .. ti["Fin3"] .. {"st_door", name="door_G3", flavor="d", faces="ew"} ti["V3"] = ti["o4"] .. {"it_vortex", "vortex_V3", destination="step_4", autoclose=false, state=OPEN} ti["k3"] = {"it_key", code="3"} ti["K3"] = {"st_key", code="3", target="door_G3"} ti["*C"] = ti[" "] .. ti["c3"] .. ti["C*"] ti["*1"] = ti[" "] .. ti["k3"] .. ti["C*"] ti["*j"] = ti[" "] .. ti["*B"] .. ti["C*"] ti["C3"] = {"st_coinslot", target="door_iD"} ti["iD"] = ti["DU"] .. {"st_door", name="door_iD", flavor="d", faces="ew"} ti["|3"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|3", destination="home_0", strength=0} -- #=# Step 4 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["S4"] = ti["o4"] .. ti["ds"] .. {"it_sensor", "step_4", invisible=true, action="callback", target="Do_Step_4"} ti["L4"] = ti["o5"] .. {"it_vortex", "vortex_L4", destination="step_5", autoclose=false, state=OPEN} ti["b4"] = ti["4_"] .. ti[" N"] ti["u4"] = ti["4_"] .. ti[" S"] ti["Fin4"] = {"it_sensor", "Done_4", invisible=true, action="callback", target="Done_Step"} ti["G4"] = ti["o5"] .. ti["Fin4"] .. {"st_door", name="door_G4", flavor="d", faces="ew"} ti["C4"] = {"st_coinslot", target="door_G4"} ti["k4"] = ti["4_"] .. {"it_key", code="4"} ti["K4"] = {"st_key", code="4", target="door_di"} ti["V4"] = ti["o5"] .. ti[" W"] .. {"it_vortex", "vortex_V4", destination="step_5", autoclose=false, state=OPEN} ti["v4"] = ti["oS"] .. {"it_vortex", "vortex_v4", destination="go_4", autoclose=false, state=OPEN} ti["x4"] = ti["4_"] .. ti[" N"] .. {"it_sensor", "go_4", invisible=true, action="callback", target="na"} ti["r4"] = ti["4_"] .. ti[" W"] .. ti["oS"] .. {"it_vortex", "vortex_r4", destination="back_4", autoclose=true, state=OPEN} ti["d4"] = ti["4_"] .. {"st_door", name="door_d4", flavor="d", faces="ew"} ti["p4"] = ti["oS"] .. {"it_sensor", "back_4", invisible=true, action="callback", target="na"} ti["F4"] = ti["oS"] .. {"st_floppy", target="door_d4"} ti["f4"] = ti["4_"] .. ti["fd"] ti["di"] = ti["4_"] .. {"st_door", name="door_di", flavor="d", faces="ew"} ti["S."] = ti[" ."] .. {"st_window", secure=true, faces="s"} ti["c4"] = ti["4_"] .. ti["cn4"] .. {"st_window", secure=true, faces="e"} ti["|4"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|4", destination="home_0", strength=0} ti["4W"] = ti["4_"] .. ti[" W"] ti["4S"] = ti["4_"] .. ti[" S"] ti["4E"] = ti["4_"] .. ti[" E"] ti["4N"] = ti["4_"] .. ti[" N"] ti["4="] = ti["4_"] .. ti["NS"] ti["4@"] = ti["4_"] .. ti["WE"] ti["4a"] = ti["4_"] .. ti["NE"] ti["4b"] = ti["4_"] .. ti["NW"] ti["4c"] = ti["4_"] .. ti["SW"] ti["4d"] = ti["4_"] .. ti["ES"] ti["4s"] = ti["4_"] .. ti["SZ"] ti["4e"] = ti["4_"] .. ti["EZ"] -- #=# Step 5 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["S5"] = ti["o5"] .. ti["ds"] .. {"it_sensor", "step_5", invisible=true, action="callback", target="Do_Step_5"} ti["L5"] = ti["o6"] .. {"it_vortex", "vortex_L5", destination="step_6", autoclose=false, state=OPEN} ti["Fin5"] = {"it_sensor", "Done_5", invisible=true, action="callback", target="Done_Step"} ti["G5"] = ti["o6"] .. ti["Fin5"] .. {"st_door", name="door_G5", flavor="d", faces="ew"} ti["V5"] = ti["o6"] .. {"it_vortex", "vortex_V5", destination="step_6", autoclose=false, state=OPEN} ti["k5"] = ti[" 6"] .. {"it_key", code="5"} ti["K5"] = {"st_key", code="5", target="door_G5"} ti["5b"] = ti["~~"] .. {"it_strip_new"} ti["5d"] = ti["~~"] .. {"it_strip_nes"} ti["5e"] = ti["~~"] .. {"it_strip_nsw"} ti["5f"] = ti["~~"] .. {"it_strip_ew"} ti["5g"] = ti["~~"] .. {"it_strip_ns"} ti["5h"] = ti["~~"] .. {"it_strip_nw"} ti["5i"] = ti["~~"] .. {"it_strip_ne"} ti["5j"] = ti["~~"] .. {"it_strip_sw"} ti["5k"] = ti["~~"] .. {"it_strip_es"} ti["5m"] = ti["~~"] .. {"it_strip_n"} ti["5n"] = ti["~~"] .. {"it_strip_esw"} ti["|5"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|5", destination="home_0", strength=0} -- #=# Step 6 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["6."] = ti[" ."] .. ti[" E"] ti["S6"] = ti["o6"] .. ti["ds"] .. {"it_sensor", "step_6", invisible=true, action="callback", target="Do_Step_6"} ti["L6"] = ti["o7"] .. {"it_vortex", "vortex_L6", destination="step_7", autoclose=false, state=OPEN} ti["Fin6"] = {"it_sensor", "Done_6", invisible=true, action="callback", target="Done_Step"} ti["G6"] = ti["o7"] .. ti["Fin6"] .. {"st_door", name="door_G6", flavor="d", faces="ew"} ti["V6"] = ti["o7"] .. {"it_vortex", "vortex_V6", destination="step_7", autoclose=false, state=OPEN} ti["k6"] = ti["6_"] .. {"it_key", code="6"} ti["K6"] = {"st_key", code="6", target="door_G6"} ti["6a"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6a", destination={"vortex_6e"}, autoclose=false, state=OPEN} ti["6b"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6b", destination={"vortex_6i"}, autoclose=false, state=OPEN} ti["6c"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6c", destination={"vortex_6n", "vortex_6p", "vortex_6v"}, autoclose=false, state=OPEN} ti["6d"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6d", destination={"vortex_6g"}, autoclose=false, state=OPEN} ti["6e"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6e", destination={"vortex_6a"}, autoclose=false, state=OPEN} ti["6f"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6f", destination={"vortex_6l", "vortex_6r", "vortex_6t"}, autoclose=false, state=OPEN} ti["6g"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6g", destination={"vortex_6d"}, autoclose=false, state=OPEN} ti["6i"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6i", destination={"vortex_6b"}, autoclose=false, state=OPEN} ti["6k"] = ti["6_"] .. ti[" W"] .. {"it_vortex", "vortex_6k", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6l"] = ti["6_"] .. {"it_vortex", "vortex_6l", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6n"] = ti["6_"] .. {"it_vortex", "vortex_6n", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6o"] = ti["6_"] .. {"it_vortex", "vortex_6o", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6p"] = ti["6_"] .. {"it_vortex", "vortex_6p", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6q"] = ti["6_"] .. ti["WZ"] .. {"it_vortex", "vortex_6q", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6r"] = ti["6_"] .. {"it_vortex", "vortex_6r", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6s"] = ti["6_"] .. {"it_vortex", "vortex_6s", destination={"vortex_6u"}, autoclose=false, state=OPEN} ti["6t"] = ti["6_"] .. {"it_vortex", "vortex_6t", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6u"] = ti["6_"] .. {"it_vortex", "vortex_6u", destination={"vortex_6w"}, autoclose=SIXU, state=OPEN} ti["6v"] = ti["6_"] .. {"it_vortex", "vortex_6v", destination={"vortex_6w"}, autoclose=false, state=OPEN} ti["6w"] = ti["6_"] .. {"it_vortex", "vortex_6w", destination={"vortex_6k"}, autoclose=false, state=OPEN} ti["6x"] = ti["6_"] .. ti[" E"] .. {"it_vortex", "vortex_6x", destination={"vortex_6y"}, autoclose=false, state=OPEN} ti["6y"] = ti["6_"] .. ti[" E"] .. {"it_vortex", "vortex_6y", destination={"vortex_6x"}, autoclose=false, state=OPEN} ti["|6"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|6", destination="home_0", strength=0} ti["6W"] = ti["6_"] .. ti[" W"] ti["6E"] = ti["6_"] .. ti[" E"] ti["6="] = ti["6_"] .. ti["NS"] ti["6@"] = ti["6_"] .. ti["WE"] ti["61"] = ti["6_"] .. ti["NE"] ti["62"] = ti["6_"] .. ti["NW"] ti["63"] = ti["6_"] .. ti["SW"] ti["64"] = ti["6_"] .. ti["ES"] ti["66"] = ti["6_"] .. ti["WZ"] ti["6%"] = ti["6_"] .. ti["GM"] -- #=# Step 7 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["S7"] = ti["o7"] .. ti["ds"] .. {"it_sensor", "step_7", invisible=true, action="callback", target="Do_Step_7"} ti["W7"] = ti["7_"] .. {"st_window", name="step_7", secure=true, faces="e"} ti["L7"] = ti["o8"] .. {"it_vortex", "vortex_L7", destination="step_8", autoclose=false, state=OPEN} ti["Fin7"] = {"it_sensor", "Done_7", invisible=true, action="callback", target="Done_Step"} ti["G7"] = ti["o8"] .. ti["Fin7"] .. {"st_door", name="door_G7", flavor="d", faces="ew"} ti["V7"] = ti["o8"] .. {"it_vortex", "vortex_V7", destination="step_8", autoclose=false, state=OPEN} ti["M7"] = {"st_laserflop", "open_7", interval=0.01, action="callback", target="op_G7"} ti["Z7"] = {"st_timer", "timer_Z7", interval=int5, action="callback", target="time5"} ti["^1"] = {"st_laser_e", name="laser_1"} ti["^2"] = {"st_laser_e", name="laser_2"} ti["^3"] = {"st_laser_n", name="laser_3"} ti["^4"] = {"st_laser_n", name="laser_4"} ti["^5"] = {"st_laser_s", name="laser_5"} ti["Mt"] = ti["7_"] .. {"st_mirror_triangle", transparent = false, movable = true} ti["|7"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|7", destination="home_0", strength=0} -- #=# Step 8 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["S8"] = ti["o8"] .. ti["ds"] .. {"it_sensor", "step_8", invisible=true, action="callback", target="Do_Step_8"} ti["L8"] = ti["o9"] .. {"it_vortex", "vortex_L8", destination="step_9", autoclose=false, state=OPEN} ti["Fin8"] = {"it_sensor", "Done_8", invisible=true, action="callback", target="Done_Step"} ti["G8"] = ti["o9"] .. ti["Fin8"] .. {"st_door", name="door_G8", flavor="d", faces="ew"} ti["V8"] = ti["o9"] .. {"it_vortex", "vortex_V8", destination="step_9", autoclose=false, state=OPEN} ti["8C"] = ti["8_"] .. {"it_coin_l"} ti["c8"] = ti["8_"] .. {"it_coin_s"} ti["C8"] = {"st_coinslot", target="door_G8"} ti["1$"] = {"st_coinslot", name="slot_1$", action="callback", target="slot_8"} ti["2$"] = {"st_coinslot", name="slot_2$", action="callback", target="slot_8"} ti["3$"] = {"st_coinslot", name="slot_3$", action="callback", target="slot_8"} ti["4$"] = {"st_coinslot", name="slot_4$", action="callback", target="slot_8"} ti["5$"] = {"st_coinslot", name="slot_5$", action="callback", target="slot_8"} ti["6$"] = {"st_coinslot", name="slot_6$", action="callback", target="slot_8"} ti["18"] = ti["Ft"] .. {"it_pipe_ew"} ti["28"] = ti["Ft"] .. {"it_pipe_ns"} ti["38"] = ti["Ft"] .. {"it_pipe_es"} ti["48"] = ti["Ft"] .. {"it_pipe_ne"} ti["58"] = ti["Ft"] .. {"it_pipe_nw"} ti["68"] = ti["Ft"] .. {"it_pipe_sw"} ti["|8"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|8", destination="home_0", strength=0} -- #=# Step 9 related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["S9"] = ti["o9"] .. ti["ds"] .. {"it_sensor", "step_9", invisible=true, action="callback", target="Do_Step_9"} ti["L9"] = ti["oA"] .. {"it_vortex", "vortex_L9", destination="step_A", autoclose=false, state=OPEN} ti["Fin9"] = {"it_sensor", "Done_9", invisible=true, action="callback", target="Done_Step"} ti["G9"] = ti["oA"] .. ti["Fin9"] .. {"st_door", name="door_G9", flavor="d", faces="ns"} ti["f9"] = ti["9_"] .. {"st_door", name="door_f9", flavor="d", faces="ew"} ti["F9"] = {"st_floppy", name="flop_f9", target="door_f9"} ti["V9"] = ti["oA"] .. {"it_vortex", "vortex_V9", destination="step_A", autoclose=false, state=OPEN} ti["t9"] = ti[" "] .. {"st_turnstile_red", "turn_t9"} ti["s9"] = ti["9_"] .. ti["TRNAS"] ti["9v"] = {"fl_scales_platinum", "turn_9v", action="callback", target="Do_turn_9"} .. ti["cs"] ti["w9"] = ti["9_"] .. ti["TRNAW"] ti["9<"] = {"fl_scales_platinum", "turn_9<", action="callback", target="Do_turn_9"} .. ti["TRNAW"] ti["e9"] = ti["9_"] .. ti["TRNAE"] ti["n9"] = ti["9_"] .. ti["TRNAN"] ti["9^"] = {"fl_scales_platinum", "turn_9^", action="callback", target="Do_turn_9"} .. ti["TRNAN"] ti["T9"] = ti["9_"] .. {"st_turnstile_red", "turn_T9"} ti["U9"] = ti["9_"] .. {"st_turnstile_red", "turn_U9"} ti["k9"] = ti["9_"] .. {"it_key", code="9"} ti["K9"] = {"st_key", code="9", target="door_G9"} ti["D9"] = ti["~~"] .. {"st_door", name="door_D9", flavor="d", faces="ns"} ti["E9"] = ti["~~"] .. {"st_door", name="door_E9", flavor="d", faces="ns"} ti["C9"] = ti["9_"] .. {"st_coinslot", target={"door_D9", "door_E9"}} ti["P9"] = ti["9_"] .. {"st_passage_black", flavor = "cross"} ti["9e"] = ti["9_"] .. {"st_turnstilearm_e", name="arm_t9"} ti["9E"] = {"st_turnstilearm_e", name="arm_T9"} ti["9>"] = ti["9E"] .. {"fl_scales_platinum", "turn_9>", action="callback", target="Do_turn_9"} ti["9T"] = {"fl_scales_platinum", "turn_9T", action="callback", target="Do_9_turn"} ti["9g"] = ti["~~"] .. ti["GS"] ti["|9"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|9", destination="home_0", strength=0} -- #=# Step A related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["SA"] = ti["oA"] .. ti["ds"] .. {"it_sensor", "step_A", invisible=true, action="callback", target="Do_Step_A"} ti["Rb"] = ti["A_"] .. {"it_trigger", "switch_Rb", invisible=true, action="callback", target="Do_Switch_boulder_A1"} ti["LA"] = ti["oB"] .. {"it_vortex", "vortex_LA", destination="step_B", autoclose=false, state=OPEN} ti["FinA"] = {"it_sensor", "Done_A", invisible=true, action="callback", target="Done_Step"} ti["GA"] = ti["oB"] .. ti["FinA"] .. {"st_door", name="door_GA", flavor="d", faces="ew"} ti["VA"] = ti["oB"] .. {"it_vortex", "vortex_VA", destination="step_B", autoclose=false, state=OPEN} ti["bA"] = ti["A_"] .. {"st_boulder_w", name="boulder_A1"} ti["sA"] = ti["A_"] .. {"it_sensor", "band_A", invisible=false, action="callback", target="Do_A_band"} ti["yA"] = {"st_death"} ti["Xa"] = ti["A_"] .. {"it_death"} ti["kA"] = ti["A_"] .. {"it_key", code="A"} ti["KA"] = {"st_key", code="A", target="door_GA"} ti["|A"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|A", destination="home_0", strength=0} ti["A#"] = ti["A_"] .. ti["##"] -- #=# Step B related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["SB"] = ti["oB"] .. ti["ds"] .. {"it_sensor", "step_B", invisible=true, action="callback", target="Do_Step_B"} ti["LB"] = ti["oC"] .. {"it_vortex", "vortex_LB", destination="step_C", autoclose=false, state=OPEN} ti["FinB"] = {"it_sensor", "Done_B", invisible=true, action="callback", target="Done_Step"} ti["GB"] = ti["oC"] .. ti["FinB"] .. {"st_door", name="door_GB", flavor="d", faces="ew"} ti["kB"] = ti["B_"] .. {"it_key", code="B"} ti["KB"] = {"st_key", code="B", target="door_GB"} ti["VB"] = ti["oC"] .. {"it_vortex", "vortex_VB", destination="step_C", autoclose=false, state=OPEN} ti["|B"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|B", destination="home_0", strength=0} ti["Be"] = ti["B_"] .. {"st_puzzle_blue", connections = "e"} ti["Bw"] = ti["B_"] .. {"st_puzzle_blue", connections = "w"} ti["Bn"] = ti["B_"] .. {"st_puzzle_blue", connections = "n"} ti["Bs"] = ti["B_"] .. {"st_puzzle_blue", connections = "s"} ti["B1"] = ti["B_"] .. {"st_puzzle_blue", connections = "ew"} ti["B2"] = ti["B_"] .. {"st_puzzle_blue", connections = "ns"} ti["B3"] = ti["B_"] .. {"st_puzzle_blue", connections = "nw"} ti["B4"] = ti["B_"] .. {"st_puzzle_blue", connections = "ne"} ti["B5"] = ti["B_"] .. {"st_puzzle_blue", connections = "sw"} ti["B6"] = ti["B_"] .. {"st_puzzle_blue", connections = "se"} -- #=# Step C related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["SC"] = ti["oC"] .. ti["ds"] .. {"it_sensor", "step_C", invisible=true, action="callback", target="Do_Step_C"} ti["1x"] = ti["`3"] .. {"it_sensor", "step_1b", invisible=true, action="callback", target="Do_Half_1"} ti["1X"] = ti["`3"] .. {"it_sensor", "step_1a", invisible=true, action="callback", target="na"} ti["LC"] = ti["oD"] .. {"it_vortex", "vortex_LC", destination="step_D", autoclose=false, state=OPEN} ti["FinC"] = {"it_sensor", "Done_C", invisible=true, action="callback", target="Done_Step"} ti["GC"] = ti["oD"] .. ti["FinC"] .. {"st_door", name="door_GC", flavor="d", faces="ew"} ti["VC"] = ti["oD"] .. {"it_vortex", "vortex_VC", destination="step_D", autoclose=false, state=OPEN} ti["|C"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|C", destination="home_0", strength=0} ti["1a"] = ti["`8"] .. ti["NE"] ti["1b"] = ti["`2"] .. ti["NW"] ti["1c"] = ti["`7"] .. ti["NE"] ti["1d"] = ti["`3"] .. ti["NW"] ti["1e"] = ti["`6"] .. ti["NW"] ti["1f"] = ti["`3"] .. ti["SW"] ti["1g"] = ti["`4"] .. ti["SW"] ti["1h"] = ti["`6"] .. ti["ES"] ti["1i"] = ti["`5"] .. ti[" E"] .. {"it_floppy", "floppy_1"} ti["kC"] = {"it_key", code="C"} ti["KC"] = {"st_key", code="C", target="door_GC"} ti["1j"] = ti["`3"] .. ti[" S"] .. ti["kC"] ti["1k"] = ti["`5"] .. ti["WE"] ti["1l"] = ti["`5"] .. ti[" E"] ti["1m"] = ti["`1"] .. ti["WE"] ti["1n"] = ti["`1"] .. ti[" W"] ti["1o"] = ti["`5"] .. ti[" W"] ti["1p"] = ti["`2"] .. ti[" S"] ti["1q"] = ti["`5"] .. ti[" E"] ti["dC"] = ti["`5"] .. {"st_door", name="door_dC", flavor="d", faces="ns"} ti["fC"] = {"st_floppy", name="flop_fC", target="door_dC"} ti["DC"] = ti["`1"] .. {"st_door", name="door_DC", flavor="d", faces="ns"} ti["FC"] = {"st_floppy", name="flop_FC", target="door_DC"} ti["e1"] = ti["1e"] .. {"it_wormhole", "wormh_1r", destination=DESTX1} ti["p1"] = ti["`8"] .. ti[" W"] ti["q1"] = ti["`7"] .. ti[" W"] ti["r1"] = ti["`7"] .. ti[" W"] .. {"it_wormhole", "wormh_1r", destination=DESTX1} ti["w1"] = ti["`9"] .. {"it_wormhole", "wormh_1", destination=DESTW1} ti["x1"] = ti["`9"] .. {"it_wormhole", "wormh_1b", destination=DESTX1} ti["y1"] = {"st_death"} -- #=# Step D related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["SD"] = ti["oD"] .. ti["ds"] .. {"it_sensor", "step_D", invisible=true, action="callback", target="Do_Step_D"} ti["LD"] = ti["oE"] .. {"it_vortex", "vortex_LD", destination="step_E", autoclose=false, state=OPEN} ti["FinD"] = {"it_sensor", "Done_D", invisible=true, action="callback", target="Done_Step"} ti["GD"] = ti["oE"] .. ti["FinD"] .. {"st_door", name="door_GD", flavor="d", faces="ew"} ti["VD"] = ti["oE"] .. {"it_vortex", "vortex_VD", destination="step_E", autoclose=false, state=OPEN} ti["|D"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|D", destination="home_0", strength=0} ti[">D"] = ti["oD"] .. {"st_lightpassenger_on", name="Skate_>D", friction=DSPEED} ti["1D"] = {"st_laser_e", name="laser_1D", state = ON} ti["2D"] = {"st_laser_s", name="laser_2D", state = ON} ti["3D"] = {"st_laser_w", name="laser_3D", state = ON} ti["4D"] = {"st_laser_n", name="laser_4D", state = ON} ti["5D"] = {"st_laser_e", name="laser_5D", state = ON} ti["6D"] = {"st_laser_w", name="laser_6D", state = ON} ti["7D"] = {"st_laser_s", name="laser_7D", state = ON} ti["9D"] = ti["oD"] .. {"st_rawglass_quad", name="Glass_9D"} ti["kD"] = ti["oD"] .. {"it_key", code="D"} ti["KD"] = {"st_key", code="D", target="door_GD"} -- #=# Step E related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["SE"] = ti["oE"] .. ti["ds"] .. {"it_sensor", "step_E", invisible=true, action="callback", target="Do_Step_E"} ti["LE"] = ti["oF"] .. {"it_vortex", "vortex_LE", destination="step_F", autoclose=false, state=OPEN} ti["FinE"] = {"it_sensor", "Done_E", invisible=true, action="callback", target="Done_Step"} ti["GE"] = ti["oF"] .. ti["FinE"] .. {"st_door", name="door_GE", flavor="d", faces="ew"} ti["VE"] = ti["oF"] .. {"it_vortex", "vortex_VE", destination="step_F", autoclose=false, state=OPEN} ti["ME"] = {"st_monoflop", "open_E", interval=1, action="open", target="door_GE"} ti["NL"] = {"st_dispenser_extralife", name="extra_life", stock=222} ti["CN"] = {"st_spitter", name="cannon", hit_strength=1} ti["|E"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|E", destination="home_0", strength=0} ti["EI"] = ti["E_"] .. ti["SI"] ti["EY"] = ti["E_"] .. ti["YY"] ti["E#"] = ti["E_"] .. ti["P#"] ti["ED"] = ti["E_"] .. ti["WD"] ti["EX"] = ti["E_"] .. ti["PX"] ti["sE"] = ti["E_"] .. ti["SS"] -- #=# Step F related #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# ti["SF"] = ti["oF"] .. {"it_sensor", "step_F", invisible=true, action="callback", target="Do_Step_F"} ti["wl"] = ti["F_"] .. ti["WL"] ti["|F"] = ti["o0"] .. ti["WE"] .. {"it_wormhole", "worm_|F", destination="home_0", strength=0} ti["VT"] = ti["F_"] .. ti["wl"] .. {"it_vortex", "vortex_VT", destination="vortex_Vt", autoclose=true} ti["VH"] = ti["F_"] .. {"it_vortex", "vortex_VH", destination="vortex_Vt", autoclose=false} -- === The "Only One Way" tile definitions. ========================================================== ti["OT"] = ti["F_"] .. {"it_sensor", "top1", invisible=true, action="callback", target="oneway"} ti["OB"] = ti["F_"] .. {"it_sensor", "bottom1", invisible=true, action="callback", target="oneway"} ti["OL"] = ti["F_"] .. {"it_sensor", "left1", invisible=true, action="callback", target="oneway"} ti["OR"] = ti["F_"] .. {"it_sensor", "right1", invisible=true, action="callback", target="oneway"} ti["PT"] = ti["F_"] .. {"it_sensor", "top2", invisible=true, action="callback", target="oneway"} ti["PB"] = ti["F_"] .. {"it_sensor", "bottom2", invisible=true, action="callback", target="oneway"} ti["PL"] = ti["F_"] .. {"it_sensor", "left2", invisible=true, action="callback", target="oneway"} ti["PR"] = ti["F_"] .. {"it_sensor", "right2", invisible=true, action="callback", target="oneway"} ti["QT"] = ti["F_"] .. {"it_sensor", "top3", invisible=true, action="callback", target="oneway"} ti["QB"] = ti["F_"] .. {"it_sensor", "bottom3", invisible=true, action="callback", target="oneway"} ti["QL"] = ti["F_"] .. {"it_sensor", "left3", invisible=true, action="callback", target="oneway"} ti["QR"] = ti["F_"] .. {"it_sensor", "right3", invisible=true, action="callback", target="oneway"} ti["4T"] = ti["F_"] .. {"it_sensor", "top4", invisible=true, action="callback", target="oneway"} ti["4B"] = ti["F_"] .. {"it_sensor", "bottom4", invisible=true, action="callback", target="oneway"} ti["4L"] = ti["F_"] .. {"it_sensor", "left4", invisible=true, action="callback", target="oneway"} ti["4R"] = ti["F_"] .. {"it_sensor", "right4", invisible=true, action="callback", target="oneway"} ti["5T"] = ti["F_"] .. {"it_sensor", "top5", invisible=true, action="callback", target="oneway"} ti["5B"] = ti["F_"] .. {"it_sensor", "bottom5", invisible=true, action="callback", target="oneway"} ti["5L"] = ti["F_"] .. {"it_sensor", "left5", invisible=true, action="callback", target="oneway"} ti["5R"] = ti["F_"] .. {"it_sensor", "right5", invisible=true, action="callback", target="oneway"} ti["6T"] = ti["F_"] .. {"it_sensor", "top6", invisible=true, action="callback", target="oneway"} ti["6B"] = ti["F_"] .. {"it_sensor", "bottom6", invisible=true, action="callback", target="oneway"} ti["6L"] = ti["F_"] .. {"it_sensor", "left6", invisible=true, action="callback", target="oneway"} ti["6R"] = ti["F_"] .. {"it_sensor", "right6", invisible=true, action="callback", target="oneway"} ti["7T"] = ti["F_"] .. {"it_sensor", "top7", invisible=true, action="callback", target="oneway"} ti["7B"] = ti["F_"] .. {"it_sensor", "bottom7", invisible=true, action="callback", target="oneway"} ti["7L"] = ti["F_"] .. {"it_sensor", "left7", invisible=true, action="callback", target="oneway"} ti["7R"] = ti["F_"] .. {"it_sensor", "right7", invisible=true, action="callback", target="oneway"} -- === The "Trap" tile definitions. ========================================================== ti["T1"] = ti["F_"] .. {"it_sensor", "trap_1", invisible=true, action="callback", target="trap_it"} ti["T2"] = ti["F_"] .. {"it_sensor", "trap_2", invisible=true, action="callback", target="trap_it"} ti["T3"] = ti["F_"] .. {"it_sensor", "trap_3", invisible=true, action="callback", target="trap_it"} ti["T4"] = ti["F_"] .. {"it_sensor", "trap_4", invisible=true, action="callback", target="trap_it"} ti["T5"] = ti["F_"] .. {"it_sensor", "trap_5", invisible=true, action="callback", target="trap_it"} ti["T6"] = ti["F_"] .. {"it_sensor", "trap_6", invisible=true, action="callback", target="trap_it"} ti["T7"] = ti["F_"] .. {"it_sensor", "trap_7", invisible=true, action="callback", target="trap_it"} ti["T8"] = ti["F_"] .. {"it_sensor", "trap_8", invisible=true, action="callback", target="trap_it"} -- ### Level Definition ############################################################################## -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- level = { "r4d4k4 .4_4W4E .4_4_4E*1 *jP11ax1`1`1`1`1`1`1x1X1`1`1`1`1`1`1X11bx1", "F4x44_ .4_4W4@ .4_4_4E p1`81a`1`1`1`1`1`1`1`1`1`1`1`1`1`11b`2`2", "4W4_4_ .4W4W4@ .4_4_4E p1`8`81a`1`1`1`1`11n1M`1`1`1`1`11b`2`2`2", "4W4_4_ .4W4W4@ .4_4_4E p1`8`8`81a`1`1`1`11n1m`1`1`1`11b`2`2`2`2", "4W4_4_ .4W4W4@ .4_4_4E p1`8`8`8`81a`1`1`11n1m`1`1`11b`2`2`2`2`2", "4W4_4_ .4W4W4@ .4_4_4E q1`8`8`8`8`81a`1`11n1m`1`11b`2`2`2`2`2`3", "4W4_4_ .4W4W4@ .4_4_4E q1`7`7`8`8`8`8`8`11n1m`1`2`2`2`2`2`2`3`3", "4W4_4_ .4W4W4@ .4_4_4E q1`7`71c`8`8`8`8`81n1m`2`2`2`2`21d`3`3`3", "4W4_4_ .4W4W4@ .4_4_4E q1`7`7`71c`8`8`8`81n1m`2`2`2`21d`3`3`3`3", "4W4_4_ .4W4W4@ .4_4_4E q1`7`7`7`71c`8`8`81n1m`2`2`21d`3`3`3`3`3", "4W4_4E .4W4W4@ .4W4_4E q1`7`7`7`7`71c`8`81n1m`2`21d`3`3`3`3`3Y1", "4W4_4E .4W4W4W .4W4_4E q1`7`7`7`7`7`71c`81n1m1p1d`3`3`3`3`3`3Y1", "4W4_4E .4W4_4W .4W4_4E r1`7`7`7`7`7`7`71cDC1mfC1x`3`3`3`3`3`3y1", "address@hidden@4E ################FC1kdC1o################", "address@hidden .4_4_4_ address@hidden ##VCGC`5`5`5`5`7KC1k1i1j1X`3`3`3`3`3y1##", "address@hidden .4_4_4_ address@hidden ######`5`5`5`5`7e11k1lw11f`3`3`3`3`31Y##", "address@hidden address@hidden address@hidden ##x1`7`7`7`7`71e`51k1l`4`41f`3`3`3`31Y##", "address@hidden address@hidden address@hidden ##`7`7`7`7`71e`6`51k1l`4`4`41f`3`3`3`3##", "address@hidden address@hidden address@hidden ##`7`7`7`71e`6`6`51k1l`4`4`4`41f`3`3`3|C", "address@hidden address@hidden address@hidden ##`7`7`71e`6`6`6`51k1l`5`4`4`4`41f`3`3SC", "address@hidden address@hidden address@hidden ##`7`71e`6`61h`5`51k1l`5`51g`4`4`4`4`3##", "address@hidden address@hidden address@hidden ##`7`6`6`61h`5`5`51k1l`5`5`51g`4`4`4`4##", "address@hidden address@hidden address@hidden ##`6`6`61h`5`5`5`51k1l`5`5`5`51g`4`4`4##", "address@hidden address@hidden address@hidden ##`6`61h`5`5`5`5`51k1l`5`5`5`5`51g`4`4##", "address@hidden address@hidden address@hidden ##x11hh1`5`5`5`5`51q`5`5`5`5`5`5w11gw1##", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden V4G44_:.4_4W4E:.4_4_4E4_4_4_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden C44N4_:.4_4W4@:.4_p44E4_v44_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_u4", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_|4", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_S4", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_b4", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4_4_4E4_4_4_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4@:.4W4_4E4_4_4_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden 4W4_4_:.4W4W4W:.4W4_4E4_4_4_4_4_4_4_4_4_", "address@hidden address@hidden address@hidden C3 4W4_4_:.4W4_4W:.4W4_4E4_4_4_4_4_4_4_4_4_", "address@hidden .4W4s4E address@hidden ################RT##################RT##", "address@hidden address@hidden address@hidden ##k1RT1_1_1_1_~1~~~~~~b1~~~~~~~~~~~~~T##", "address@hidden address@hidden address@hidden ##1_tg1_1_1_1_LT1_1_1_1_~11_1_1_1_1_~1F1", "address@hidden address@hidden address@hidden ##1_1_1_1_1_1_tg1_1_1_1_~11_1_1_1_1_Sd##", "address@hidden address@hidden address@hidden ##1_1_1_1_1_1_tg1_1_1_1_~11_1_1_1_1_1_##", "address@hidden address@hidden address@hidden ######~~owowowtgsd1_1_1_~11_1_1_1_1_sB|1", "address@hidden address@hidden address@hidden ##V1G1sb1_1_1_tgtgtgtgtgtg1_1_1_1_1_1_S1", "address@hidden address@hidden address@hidden ######~~1_1_1_~11_1_1_sdtgOWOWOWOWOW~~##", "address@hidden address@hidden address@hidden ##Sd1_1_1_1_1_~11_1_1_1_tg1_1_1_1_1_1_##", "address@hidden address@hidden address@hidden ##1_1_1_1_1_1_~11_1_1_1_tg1_1_1_1_1_1_##", "address@hidden address@hidden address@hidden ##d1tg1_1_1_1_~11_1_1_1_LT1_1_1_1_1_1_K1", "address@hidden .4c4S4d address@hidden ##f1tg~T~~~~~~~~~~~~s1~~~11_1_1_1_1_1_RT", "address@hidden .4W4_4_ address@hidden ######RT##############RT################", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden ##VBGBB_B_B_B_B_B_B#B_B_B_B_B_B_B_B_kB##", "address@hidden address@hidden address@hidden ######B_B_B_B_B_B_B#B_B_B_B_############", "address@hidden address@hidden address@hidden ##B_B_B_B_B_B_B_B_B#B_B_B_B_B_........##", "address@hidden address@hidden address@hidden ##B_B_B_B_B_B_....##############......##", "address@hidden address@hidden address@hidden ##B_B_B_B_B_B_........................##", "address@hidden address@hidden address@hidden ################......................##", "address@hidden address@hidden address@hidden ##B_B_B_B_B_B_##......................##", "address@hidden address@hidden address@hidden ##B_B1B_B_B4B_##............############", "address@hidden .4b4N4E .4W4E4E ##B_B1B_B_B4B_##......................##", "address@hidden address@hidden .4_4E4E ##B_B1B_B_B6B_##......................##", "address@hidden address@hidden .4e4=4E ##B_B1B_B_B_B_##......................##", "address@hidden address@hidden ##B_B1B_B_B3B_##......................##", "address@hidden .4W4_4_ .4_4E4E ##B_B1B_B_B5B_##......................##", "address@hidden .4W4_4_ .4_4E4E ##B_B1B_B_B5B_##......................##", "address@hidden address@hidden address@hidden ##B_B1B_B_B5B_##......................##", "address@hidden address@hidden address@hidden ##B_BnB_B_BeB_############B_B_....B_B_##", "address@hidden address@hidden address@hidden ##B_BnB_B_BwB_B2B_B_B_B_B_B_B_B_B_B_B_##", "address@hidden address@hidden address@hidden ##B_BsB_B_BeB_B_B_B_B_B_B_B_B_B_B_B_B_##", "address@hidden address@hidden address@hidden ##B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_##", "address@hidden address@hidden address@hidden ##B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_##", "address@hidden address@hidden address@hidden ##B_B2B2B2B2B2B2B2B2B_B_B_B_B_B_B_B_B_##", "address@hidden address@hidden address@hidden ##B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_##", "address@hidden address@hidden address@hidden ##B_B2B2B2B2B2B2B2B2B_B_B_B_B_B_B_B_B_|B", "address@hidden address@hidden address@hidden ##KBB_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_B_SB", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden ##k9##9_h9##9_#P9_##H99_9_~~9_9_9_9_9g##", "address@hidden address@hidden address@hidden ##D9##9_9_###Pt99T~~9_w99_~~9_9_9_U9e9C9", "address@hidden address@hidden address@hidden ##9_9_9_9_##9_#P9_##9_9_9_~~9_9_9_9_~~##", "address@hidden address@hidden address@hidden ######9_9_##########9_n99_~~9_9_9_9_9_##", "address@hidden address@hidden address@hidden ##V9G9##9_9_9_9_9_9_9_9_9_~~9_9_9_9_9_##", "address@hidden address@hidden address@hidden ####f99_9_9_9_Z99_9_9_w99_U99_9_9_U9e9S9", "address@hidden address@hidden address@hidden ######9_9_####P9####9_9_9_~~9_9_9_9_##|9", "address@hidden address@hidden address@hidden ##9_9_9_####9_9^9_##9_s99_~~##9_########", "address@hidden address@hidden address@hidden ##9_9_9_##9_9##9_9_9_~~##9_~~9_####", "address@hidden address@hidden address@hidden ##E9##9_##9_~99v~9##9_9e9_~~##~~U9~~P9F9", "address@hidden address@hidden address@hidden ##K9##z9##9_9_9_9_##9_9_9_~~##9_~~9_b9##", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden ## ##", "address@hidden address@hidden address@hidden ## ##", "address@hidden address@hidden address@hidden ## ##", "address@hidden address@hidden address@hidden ## c3 ##", "address@hidden address@hidden address@hidden ## ######## |3", "address@hidden address@hidden address@hidden iD K3##V3G3 S3", "address@hidden address@hidden address@hidden ## ######## ##", "address@hidden address@hidden address@hidden ## C3 ##", "address@hidden address@hidden address@hidden ## ##", "address@hidden address@hidden address@hidden ## ##", "address@hidden address@hidden address@hidden ## ##", "4W4c4d address@hidden address@hidden ########################################", "4W4_4_ address@hidden address@hidden ####################^5##################", "4W4_4_ address@hidden address@hidden ##7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_##", "address@hidden@4E address@hidden ##7_7_Mt7_7_7_7_7_7_7_7b7_7_7_7_7_7_7_##", "address@hidden address@hidden address@hidden ##7_7_7_7_7_7b7_7_7_7_7_7_7_7_7_7b7_7_##", "address@hidden address@hidden address@hidden ^17_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_##", "address@hidden address@hidden address@hidden ######7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_##", "address@hidden address@hidden address@hidden Z7V7G77_7_7_7_7_7_7_7_7_7_7_7_7_^77_W7M7", "address@hidden address@hidden address@hidden ######7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_##", "address@hidden address@hidden address@hidden ^27_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_##", "address@hidden address@hidden address@hidden ##7_7_7_7_7_7b7_7_7_7_7_7_7_7_7_7b7_7_##", "4c4c4d .4W4W4E address@hidden ##7_7_Mt7_7_7_7_7_7_7_7b7_7_7_7_7_7_7_|7", "4W4_4_ .4N4N4a address@hidden ##7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_S7", "4W4_4_ .4_4_4E address@hidden ##########^3##################^4########", "address@hidden address@hidden 626=6=6=6=6=6=6=6=6=6=6=6=6=6=6=6=6=6=61", "address@hidden address@hidden address@hidden address@hidden@", "address@hidden address@hidden address@hidden 6@ . . .6_6_6_6_6_6_646_6_6_6_6l6_6b6_6@", "address@hidden address@hidden address@hidden address@hidden@", "address@hidden address@hidden address@hidden address@hidden@", "address@hidden address@hidden address@hidden 6W6=66 . .6W6_6E . .6.6_6_6_6_6_6_6e6_|6", "address@hidden address@hidden address@hidden address@hidden .6W6w6E6Z6s6Y6q6_6%6G6z6_6f6_S6", "address@hidden address@hidden address@hidden 6W6=66 . .6W6_6E . .6.6_6_6_6_6_6_6g6_6@", "address@hidden address@hidden address@hidden address@hidden@", "address@hidden address@hidden address@hidden address@hidden@", "address@hidden address@hidden address@hidden 6@ . . .6_6_6_6_6_6_616_6_6_6_6o6_6j6_6@", "address@hidden .4_4_4E address@hidden address@hidden@", "address@hidden .4S4S4d address@hidden 636=6=6=6=6=6=6=6=6=6=6=6=6=6=6=6=6=6=64", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden ##V5G5 6~~~~~~5s5n5f5F5F~~~~5s5f5f5f 6K5", "address@hidden address@hidden address@hidden ######5i5j~~~~~~5g~~5g~~~~~~5k5f5f5f5h##", "address@hidden address@hidden address@hidden ##~~~~~~5i5j5k5f5h~~5g~~~~~~5G~~~~~~~~##", "address@hidden address@hidden address@hidden ##~~~~~~5k5h5g5s5f5f5e~~~~~~5G~~~~~~~~##", "address@hidden address@hidden address@hidden ##~~~~5k5h~~5g~~~~~~5d5f5F5F~~5s5f5f5j##", "address@hidden address@hidden address@hidden ##~~5k5h5k5f5h~~~~~~5s~~~~~~5s~~~~~~5g##", "address@hidden address@hidden address@hidden ##5k5h~~5g~~~~5k5f5s~~5F5F5f5e~~~~~~5g##", "address@hidden address@hidden address@hidden ##5i5f5f5h~~~~5g~~~~5G~~~~~~5g~~~~~~5g##", "address@hidden address@hidden address@hidden ##5k5f5f5f5f5f5h~~~~5G~~~~~~5g~~~~~~5g##", "address@hidden address@hidden .4c4d4E ##5g~~~~~~~~~~~~~~~~5g~~~~~~5m~~~~~~5g|5", "address@hidden .4W4_4_ .4_4E4E ##k55f5f5f5f5F5F~~5s5b5f5f5f5f5f5f5l 6S5", "address@hidden .4W4_4_ .4_4E4E ########################################", "4W4s4a address@hidden@4E ########################################", "address@hidden address@hidden address@hidden ##C8tftftstftftftftftstftftftfc8c81$18##", "address@hidden address@hidden address@hidden ##8_tftftftftftstftftftftftstfc8c82$28##", "address@hidden address@hidden address@hidden ##8_tftftftftstftstftftftstftfc8c83$38##", "address@hidden address@hidden address@hidden ##8_8_8_tftstftftftstftftstftfc8c8######", "address@hidden address@hidden address@hidden ######8_tstftftftftftstftstftfc88c8_8_|8", "address@hidden address@hidden address@hidden ##V8G88_tftstftftftftftftfM8m88m8nFt8CS8", "address@hidden address@hidden address@hidden ######8_tstftftftftftstftstftfc88c8_8_##", "address@hidden address@hidden address@hidden ##8_8_8_tftstftftftstftftstftfc8c8######", "address@hidden address@hidden address@hidden ##8_tftftftftstftstftftftstftfc8c84$48##", "address@hidden address@hidden address@hidden ##8_tftftftftftstftftftftftstfc8c85$58##", "address@hidden address@hidden address@hidden ##8_tftftstftftftftftstftftftfc8c86$68##", "address@hidden address@hidden address@hidden ########################################", "address@hidden address@hidden address@hidden ############7D##################2D######", "address@hidden address@hidden address@hidden ##kDDDD_D_D_9DD_D_D_D_D_D_D_D_D_D_D_D_FD", "address@hidden address@hidden address@hidden 1D8D8DD_D_D_D_>DD_D_D_D_D_D_D_D_D_D_D_##", "address@hidden address@hidden address@hidden ##D_D_D_D_D_9DD_D_D_D_D_D_D_D_D_D_D_D_##", "address@hidden address@hidden address@hidden ##D_9DD_9DD_D_D_D_D_D_D_D_D_D_D_D_D_D_6D", "address@hidden address@hidden address@hidden ######D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_##", "address@hidden address@hidden address@hidden ##VDGDD_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_SD", "address@hidden address@hidden address@hidden ######D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_|D", "address@hidden address@hidden address@hidden 5DD_9DD_9DD_D_D_D_D_D_D_D_D_D_D_D_D_D_##", "address@hidden address@hidden address@hidden ##D_D_D_D_D_9DD_D_D_D_D_D_D_D_D_D_D_D_##", "address@hidden address@hidden address@hidden ##D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_3D", "address@hidden address@hidden address@hidden ##fDD_D_D_D_9DD_D_D_D_D_D_D_D_D_D_D_D_KD", "address@hidden address@hidden address@hidden ######4D################################", "address@hidden .4W4s4E address@hidden ########################################", "address@hidden address@hidden address@hidden ##2_2_2W2S2S2S2S2S2S2S2l2S2S2S2S2E2_2_##", "address@hidden address@hidden address@hidden ##2_2_2W2W2S2S2S2S2S2j2=2S2S2E2_2t2_2_##", "address@hidden address@hidden address@hidden ##2_2_2W2W2W2S2S2S2h2=2S2E2_2r2_2_2_2_##", "address@hidden address@hidden address@hidden ##2_2_2W2W2W2W2S2f2=2E2_2p2_2_2_2_2_2_##", "address@hidden address@hidden address@hidden address@hidden|2", "address@hidden address@hidden address@hidden ##V2G22b2c2d2e2_2_2_2_2_2_2_2_2_222_2_S2", "address@hidden address@hidden address@hidden address@hidden", "address@hidden address@hidden address@hidden ##2_2_2W2W2W2W2N2g2=2E2_2q2_2_2_2_2_2_##", "address@hidden address@hidden address@hidden ##2_2_2W2W2W2N2N2N2i2=2N2E2_2s2_2_2_2_##", "4W4_4E address@hidden .4W4_4a ##2_2_2W2W2N2N2N2N2N2k2=2N2N2E2_2u2_2_##", "K44S4E .4_4_4_ .4_4_4E ##2_2_2W2N2N2N2N2N2N2N2m2N2N2N2N2E2_2_##", "f4di4E .4_4_4_ .4_4_4E*j *C########################################", "oXwlwlwbwlwlwlwlwlwlwlwlwlwlwlwlwbwlwloX################################################################################oxF_4TwlF_F_F_F_5TwlF_F_F_F_F_F_T5F_F_ox", "wbwbF-wbwbF-wbF-wbF-wbwbwbwbwbwbwbF-wbwb##RbA_A#bAXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaA_Rb##wlwlF_wlF_wlwlwlF_wlwlwlF_wlwlwlwlF_wlwl", "F-F-F-F-wbF-wbF-wbF-F-F-F-F-F-F-F-F-F-F-##A_A_A_A_A_A_A_A_A_yAA_A_A_A_A_A_A_A_yAA_A_A_A_A_A_A_A_A_yAA_A_A_A_A_A_A_A_A_##4LF_F_F_4Rwl5LF_F_F_5RwlF_F_F_F_wlF_F_F_", "F-wbwbwbwbF-wbwbwbwbwbwbwbwbwbF-wbF-wbF-##A_A_A_A_A_A_A_A_A_yAA_A_A_A_A_A_A_A_yAA_A_A_A_A_A_A_A_A_yAA_A_A_A_A_A_A_A_A_KAF_wlF_wlwlwlF_wlF_wlF_wlF_wlT6F_F_wlwlF_", "F-F-F-F-F-F-F-F-F-F-wbF-F-F-F-F-wbF-wbF-##yAYAA_A_A_A_A_A_A_YAA_A_A_A_A_A_A_A_##A_A_A_A_A_A_A_A_A_YAA_A_A_A_A_A_A_A_A_##F_wl4BF_F_F_F_wl5BF_F_wlF_wl7TwlF_F_wlF_", "wbwbwbwbwbF-wbwbwbF-wbwbwbwbwbwbwbF-wbF-######A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_##A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_##F_wlwlwlwlwlF_F_wlF_wlwlwlwlF_wlwlwlwlT1", "wbF-F-F-wbF-F-F-VToFoFF-F-F-F-F-wbF-wbF-##VAGAA_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_##A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_##F_wlF_F_F_F_wlwlVHoFoFF_7LF_F_F_7RT3F_F_", "F-F-wbF-F-wbwbwbwbF-wbF-wbwbwbF-wbF-wbF-########eAA_A_A_A_A_A_A_A_A_A_A_A_eAeA##eAeAA_A_A_A_A_A_A_A_A_eAeAeAeAA_A_A_A_##F_wlwlwlwl6TF_F_F_wlF_wlwlwlF_wlwlF_wlT2", "F-wbF-F-wbwbF-wbwbF-wbwbwbF-wbF-wbF-wbF-##kAA_hAeAA_A_A_A_A_A_A_A_A_A_A_A_eAhAhAhAeAA_A_A_A_A_A_A_A_A_##hAhA##A_A_A_A_|AF_F_F_F_wlF_wlwlwlF_F_F_F_wl7BwlF_wlwlF_", "F-wbwbF-F-F-F-F-F-F-F-F-F-F-F-F-wbF-wbF-##A_A_A_eAA_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_##A_A_##A_A_A_sASAwlwlwl6LF_F_F_6RwlF_wlF_wlF_F_F_F_F_wlF_", "F-F-F-wbF-wbwbwbwbF-wbwbwbwbwbF-wbF-wbF-##A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_A_##A_A_A_A_A_A_A_A_A_A_A_##A_A_A_A_A_A_A_##F_F_F_wlwlF_wlF_wlT8wlF_F_wlwlF_wlwlwlF_", "wbwbF-wbF-F-F-F-wbF-wbF-F-F-F-wbwbF-wbF-##A_A_A_A_A_A_A_A_A_YAA_A_A_A_A_A_A_A_##A_A_A_A_A_A_YAA_A_A_A_A_A_A_A_A_A_A_A_##F_wlF_wlwl6BwlT7wlF_wlwlwlwlwlF_wlF_T4F_", "oXF-F-wbwbwbwbF-wbF-F-F-F-F-F-F-F-F-wboX################################################################################oxwlF_F_F_F_wlF_F_F_F_F_F_F_F_F_F_F_wlox", "################################################################################OXF_F_wlF_F_F_F_F_F_F_F_F_F_F_F_wlPTF_OX########################################", "##sEE_E_##EIEIE_E_E#E_E_E_E_E_E#E_E_ME####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##wlwlF_wlwlF_wlF_wlF_wlwlwlwlwlwlwlF_wlwl##L1##L2##L3##L4##L5##L6##L7##0-N00-a0##", "##E_E_E_##EI##E_E_E#E_E_E_E_E#E_E_E_E_####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##F_F_F_F_wlQTwlF_wlF_F_F_F_F_F_PLF_F_F_PR##A1##A2##A3##A4##A5##A6##A7##0-o10-a1##", "##E_E_E_##EIE_E_E_E#E_E_EDE_E_E#E_E_E_####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##F_wlwlwlwlF_wlwlwlwlwlwlwlwlwlF_wlF_wlF_##o20_o30_o40_o50_o60_o70_o80_0-o202a2##", "##E_E_E_E_##E_E_E_E#E_E_E_E_E#E_E_E_E_####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##F_F_F_QLF_F_F_QRF_F_wlF_F_F_F_F_wlPBwlF_##0_0_0_0_0_0_0_0_0_0_0_0_0_0_0-o30-a3##", "|EE_E_E_E_E_EDEXE_E#E_E_E_E_E_E#E_########WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##wlwlwlwlwlF_wlwlwlF_|FwlwlwlwlwlwlF_wlF_######0_0_0_0_0_0_0_0_0_0C0_0_0-N40-a4##", "SEE_E_EYE_##EIE_E_E#E_E_E_E_E#E_E_GEVE##CNWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV*WWVWVNLwlF_F_F_wlQBF_F_VtoFSFF_F_F_F_F_wlF_wlF_##V0A0o10_0_0A0_0_*U0_0_0B0_c00-|0ECaSZ0", "##E_E_E_E_##EIE_E_E#E_E_E_E_E_E#E_########WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##F_F_wlF_F_wlwlwlwlOTwlF_wlwlwlF_wlF_wlF_######0_0_0_0_0_0_0_0_0_0D0_0_0-o50-a5##", "##E_E_E_E_##EIE_E_E#E_E_E_E_E#E_E_E_E_####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##F_wlF_F_wlwlF_wlwlF_wlwlwlF_wlF_wlF_wlF_##0_0_0_0_0_0_0_0_0_0_0_0_0_0_0-o60-a6##", "##E_E_E_##EIEIE_E_E#E_E_EDE_E_E#E_E_E_####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##F_wlwlF_F_F_F_OLF_F_F_ORF_F_F_F_wlF_wlF_##o90_oA0_oB0_oC0_oD0_oE0_oF0_0-o70-a7##", "##E_E_E_##EIEIE_E_E#E_E_E_E_E#E_E_E_E_####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##F_F_F_wlF_wlwlwlwlF_wlwlwlwlwlF_wlF_wlF_##A8##A9##AA##AB##AC##AD##AE##0-o80-a8##", "##E_E_E_##EIEIE_E_E#E_E_E_E_E_E#E_E_E_####WVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWV##wlwlF_wlF_F_F_F_wlOBwlF_F_F_F_wlwlF_wlF_##L8##L9##LA##LB##LC##LD##LE##0-N90-a9##", "################################################################################OXF_F_wlwlwlwlF_wlF_F_F_F_F_F_F_F_F_wlOX########################################"} -- ### Create World ################################################################################ wo(ti, " ", level) -- ### Player Follow Definitions #################################################################### wo["FollowGrid"] = true wo["FollowMethod"] = FOLLOW_FLIP wo["FollowThreshold"] = po(0.0, 0.0001) wo["FallenPuzzle"] = "=B_" -- ### Shuffle OXYDs ################################################################################ wo:shuffleOxyd() -- == Code Pairs == == == == == == == == == == == == == == == == == == == == == == == == == -- 03,19,28,30,45,54,63,73,83,92 -- 07,12,25,39,40,56,65,73,84,95 -- 02,14,29,36,41,58,63,77,86,97 -- 07,17,21,31,41,57,61,79,81,94 -- 01,19,28,30,49,52,68,75,88,98 -- 07,11,26,39,45,53,61,78,82,96 -- 01,13,26,30,44,53,62,75,88,99 -- 06,19,21,31,49,53,65,73,83,98 -- 03,16,20,34,48,55,65,70,89,95 -- 03,14,28,32,46,59,61,70,82,98 -- 09,11,26,31,44,59,63,70,81,91 -- 06,19,27,33,42,50,69,75,89,94 -- 08,19,23,31,46,50,64,77,81,92 -- 05,17,21,34,49,58,62,77,85,99 -- 04,16,27,31,44,57,69,73,80,97 -- 09,10,25,39,46,53,64,74,80,93 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ]]> 0 This level is made up of several 'Steps' that can be solved in almost any order. Each time you solve a 'Step' you will be given a 'code' to go to the next 'Step' directly. In the Difficult mode the switches may work differently each time the level is started. If you buy a pipe wait for it to materialize on the metal replicating floor at the right. Don't use more than one coin to buy a pipe, the vending machine will keep the change. To complete the Level you must solve all the 'Steps' during the same start of the Level. 4 Step codes have only 5 pairs of numbers in the easy mode. Code setting buttons at the right. The adjacent floor indicates what the setting is for that vertical position. ? You just created the "RETURN" Worm Hole. It takes you back to the Step of the color floor that surrounds it. Congratulations, this is the last Step! You get one preview so look quick. [good luck] Congratulations, this is the last Step! No preview for the hard mode. [good luck] All Steps can be accessed from here, Step 0, with the right codes. Check your inventory often for important messages. Code valid! NOT a valid code! Code enter button at the right. Wait for it to stop blinking to see the results. 9 This is the completion code for step 0 (03,19,28,30,45,54,63,73,83,92) This is the access code to step 1 (03,19,28,30,45,54,63,73,83,92) This is the access code to step 2 (07,12,25,39,40,56,65,73,84,95) This is the access code to step 3 (02,14,29,36,41,58,63,77,86,97) This is the access code to step 4 (07,17,21,31,41,57,61,79,81,94) This is the access code to step 5 (01,19,28,30,49,52,68,75,88,98) This is the access code to step 6 (07,11,26,39,45,53,61,78,82,96) This is the access code to step 7 (01,13,26,30,44,53,62,75,88,99) This is the access code to step 8 (06,19,21,31,49,53,65,73,83,98) This is the access code to step 9 (03,16,20,34,48,55,65,70,89,95) This is the access code to step 10 (03,14,28,32,46,59,61,70,82,98) This is the access code to step 11 (09,11,26,31,44,59,63,70,81,91) This is the access code to step 12 (06,19,27,33,42,50,69,75,89,94) This is the access code to step 13 (08,19,23,31,46,50,64,77,81,92) This is the access code to step 14 (05,17,21,34,49,58,62,77,85,99) This is the access code to step 15 (04,16,27,31,44,57,69,73,80,97) This is the access code to step 16 (09,10,25,39,46,53,64,74,80,93) This is the completion code for step 0 (03,19,28,30,45) This is the access code to step 1 (03,19,28,30,45) This is the access code to step 2 (07,12,25,39,40) This is the access code to step 3 (02,14,29,36,41) This is the access code to step 4 (07,17,21,31,41) This is the access code to step 5 (01,19,28,30,49) This is the access code to step 6 (07,11,26,39,45) This is the access code to step 7 (01,13,26,30,44) This is the access code to step 8 (06,19,21,31,49) This is the access code to step 9 (03,16,20,34,48) This is the access code to step 10 (03,14,28,32,46) This is the access code to step 11 (09,11,26,31,44) This is the access code to step 12 (06,19,27,33,42) This is the access code to step 13 (08,19,23,31,46) This is the access code to step 14 (05,17,21,34,49) This is the access code to step 15 (04,16,27,31,44) This is the access code to step 16 (09,10,25,39,46)