##############################################
# 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"
ORIENT:  encompass
KFEAT:   ABCDE = .
KFEAT:   HFI = '
COLOUR:  ABCDEFHI = lightblue
COLOUR:  ' = brown
FTILE:   G'[ = floor_swamp, t = floor_grass
FTILE:   ABCDEFHI$ = 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:  F = lua:tutorial1.msg("autoexplore")
MARKER:  H = lua:tutorial1.msg("exclusion")
MARKER:  I = 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.mesclr(true)
  crawl.tutorial_msg("tutorial1 start")
  tutorial_intro()
}}
MAP
xxxxxxxxxxxxxxxxxxxxxxttttttttttttttttttxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxtttttttttt'''tttttttttttttxxxxxxxxx
xxxxxxxxxxxxxxxxxttttttttttt'''''tttttttttttttttxxxxxx
xxxxxxxxxxxxxxxxxtttttttttt'''''''tttttttttttttttxxxxx
xxxxxxxxxxxxxxxxxxttttttttt'''[''''''ttttttttttttttxxx
xxxxxxxxxxxxxxxxxxttttttttt'''''''ttt'I''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.xxxxxxxtttttttHtttttttttttt
xxxxxxxxxxxxxxxxxxxxx.xxx.xxxxxxxtttttt''ttttttttttttt
xxxxxxxxxxxxxxxxxxxxxx.x.xxxxxtxtttttt'ttttttttttttttt
xxxxxxxxxxxxxxxxxxxxxxxCxxxxxxttttttt'tttttttttttttttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttt'tttttttttttttttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttt'ttttttttttttttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttt''ttttttt'ttttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttt'''ttt'''tttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttt'F''}''ttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttttttttt'''tttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttt'ttttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttxx
ENDMAP

##########################################################
# Level 2: Shift-move and secret doors
##########################################################
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:   ABCD = .
COLOUR:  ABCD = lightblue
FTILE:   ABCD = tutorial_pad
MARKER:  A = lua:tutorial1.msg("door")
MARKER:  B = lua:tutorial1.msg("secret_door_glass")
MARKER:  C = lua:tutorial1.msg("water")
MARKER:  D = lua:tutorial1.msg("secret_door_wall")
MARKER:  { = lua:tutorial1.msg("upstairs")
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.mesclr(true)
  crawl.tutorial_msg("tutorial1 newlevel");
}}
MAP
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvwwwvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvv.www.vvvvvvvvvvvvv
vv.....vvvv.n.vvv.wwwww.vvv...vvvvvv
vv.(..A+...B=.....wwwww..D=.{.vvvvvv
vv.....vvvv.n.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
