############################################## # Tutorial map 1: Movement and exploration # ############################################## # # Important principles: # - no monsters, no items # - because of the above, needs to look particularly interesting # # Still TODO: # * Maybe send the player back to the entrance? # {{ require("dlua/tutorial.lua") tutorial1 = {} function tutorial1.msg(text) return tutorial_msg("tutorial1 " .. text) end function tutorial1.exit() crawl.tutorial_msg("tutorial1 exit", true) end function tutorial1.win() crawl.mark_game_won() tutorial1.exit() end }} NAME: tutorial_lesson1 TAGS: no_rotate no_monster_gen no_item_gen no_hmirror no_vmirror no_trap_gen no_pool_fixup tutorial DESC: "Lesson 1: Movement and Exploration" ORDER: 1 ORIENT: encompass KFEAT: ABC = . KFEAT: DEF = ' COLOUR: ABCDEF = lightblue COLOUR: ' = brown FTILE: '[ = floor_swamp, t = floor_grass FTILE: ABCDEF = tutorial_pad MARKER: A = lua:tutorial1.msg("go_on") MARKER: B = lua:tutorial1.msg("diagonal") MARKER: C = lua:tutorial1.msg("shiftmove") MARKER: ) = lua:tutorial1.msg("downstairs") MARKER: } = lua:tutorial1.msg("levelmap") MARKER: D = lua:tutorial1.msg("autoexplore") MARKER: E = lua:tutorial1.msg("exclusion") MARKER: F = lua:tutorial1.msg("autoexplore_announce") MARKER: [ = lua:tutorial1.msg("tutorial_end") MARKER: { = lua:one_way_stair { dst = "tutorial_lesson1", \ onclimb = "tutorial1.exit" } MARKER: [ = lua:one_way_stair { desc = "exit from the tutorial", \ dst = "tutorial_lesson1", \ onclimb = "tutorial1.win" } MARKER: l = lua:fog_machine { cloud_type = "steam", pow_min = 10, \ pow_max = 10, delay = 10, start_clouds = 1, size_min = 2, \ size_max = 2, spread_rate = 0 } epilogue{{ crawl.clear_messages(true) crawl.tutorial_msg("tutorial1 start") tutorial_intro() }} MAP xxxxxxxxxxxxxxxxxxxxxxttttttttttttttttttxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxtttttttttt'''tttttttttttttxxxxxxxxx xxxxxxxxxxxxxxxxxttttttttttt'''''tttttttttttttttxxxxxx xxxxxxxxxxxxxxxxxtttttttttt'''''''tttttttttttttttxxxxx xxxxxxxxxxxxxxxxxxttttttttt'''[''''''ttttttttttttttxxx xxxxxxxxxxxxxxxxxxttttttttt'''''''ttt'F''ttttttttttttx xxxxxxxxxxxxxxxxxxtttttttttt'''''tttttttt'''tttttttttt xxxxxxxxxxxxxxxxxxxtttttttttt'''tttttttttttt''tttttttt xxxxxxxxxxxxxxxxxxxxxxtttttttttttttttttttttttt'ttttttt xxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttttttttt'tttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttttttt'tttttt xx.....xxxxxxxxxxxxxxxxxxxxxxttttttttttttttttt'ttttttt xx..{......A.xxxxxxxxxx.xxxxxxxxttttttttttttt'tttttttt xx.....xxxxx.xxxxxxxxx...xxxxxxxxtttttttttt''ttttttttt xxxxxxxxxxxx.xxxxxxxx..)..xxxxxxxxxttttt'''ttttttttttt xxxxxxxxxxx......xxxxx...xxxxxxxxxttttt'''''tttttttttt xxxxxxxxxxxxxxx..xxxxxx.x.xxxxxxxttttt''WWW''ttttttttt xxxxxxxxxxx......xxxxxxxxx.xxxxxxttttt''WlW''ttttttttt xxxxxxxxxxx..xxxxxxxxxxxxxx.xxxxxttttt''WWW''ttttttttt xxxxxxxxxxx.......Bxxxxxxxxx.xxxxtttttt'''''tttttttttt xxxxxxxxxxxxxxxxxxx.xxxxxxx.xxxxxttttttt'''ttttttttttt xxxxxxxxxxxxxxxxxxxx.xxxxx.xxxxxxxtttttttEtttttttttttt xxxxxxxxxxxxxxxxxxxxx.xxx.xxxxxxxtttttt''ttttttttttttt xxxxxxxxxxxxxxxxxxxxxx.x.xxxxxtxtttttt'ttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxCxxxxxxttttttt'tttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttt'tttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttt'ttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttt''ttttttt'ttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttt'''ttt'''tttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttt'D''}''ttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttttttttt'''tttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttt'ttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttxx ENDMAP ########################################################## # Level 2: Shift-move ########################################################## NAME: tutorial_lesson1_level2 TAGS: no_rotate no_monster_gen no_item_gen no_hmirror no_vmirror no_trap_gen no_pool_fixup tutorial_lesson1 PLACE: D:2 ORIENT: encompass KFEAT: ABC = . COLOUR: ABC = lightblue FTILE: ABC = tutorial_pad MARKER: A = lua:tutorial1.msg("door") MARKER: B = lua:tutorial1.msg("close_door") MARKER: C = lua:tutorial1.msg("water") MARKER: { = lua:tutorial1.msg("upstairs") epilogue{{ crawl.clear_messages(true) crawl.tutorial_msg("tutorial1 newlevel"); }} MAP vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvv.www.vvvvvvvvvvvvv vv.....vvvv.v.vvv.wwwww.vvv...vvvvvv vv.(..A+....+B....wwwww...+.{.vvvvvv vv.....vvvv.v.vvv.wwwww.vvv...vvvvvv vvvvvvvvvvvvvvvvv.wwwww.vvvvvvvvvvvv vvvvvvvvvvvvvvvvvCwwwww.vvvvvvvvvvvv vvvvvvvvvvvvvvvvv..www..vvvvvvvvvvvv vvvvvvvvvvvvvvvvvv.www.vvvvvvvvvvvvv vvvvvvvvvvvvvvvvvv.WWW.vvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv ENDMAP