1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
#########################################
# Tutorial map 2: Monsters and combat #
#########################################
{{
crawl_require("dlua/tutorial.lua")
tutorial2 = {}
function tutorial2.msg(text)
return tutorial_msg("tutorial2 " .. text)
end
function tutorial2.exit ()
crawl.tutorial_msg("tutorial2 exit", true)
end
function tutorial2.win()
crawl.mark_game_won()
return tutorial2.exit()
end
}}
NAME: tutorial_lesson2
TAGS: no_rotate no_monster_gen no_item_gen no_hmirror no_vmirror no_trap_gen no_pool_fixup tutorial
DESC: Lesson 2: Monsters and Combat
ORDER: 2
ORIENT: encompass
KFEAT: BFG = .
KFEAT: AE = +
KFEAT: n = iron_grate
COLOUR: deBFG = lightblue
RTILE: c = wall_vines
FTILE: dBFG = tutorial_pad
ITEM: quarterstaff mundane
SHUFFLE: 34
MONS: training dummy hp:10 ; whip mundane
MONS: rat
MONS: wyvern
MONS: jackal
MARKER: d = lua:tutorial2.msg("pickup_weapon")
MARKER: A = lua:tutorial2.msg("melee")
MARKER: B = lua:tutorial2.msg("resting")
# TODO: Pad C and pad D were for food related lessons. What could go there?
MARKER: E = lua:tutorial2.msg("wait")
MARKER: F = lua:tutorial2.msg("compare_monster_desc")
MARKER: G = lua:tutorial2.msg("resting_reminder")
MARKER: } = lua:tutorial2.msg("downstairs")
MARKER: { = lua:one_way_stair { dst = "tutorial_lesson2", \
onclimb = "tutorial2.exit" }
epilogue{{
if crawl.game_started() then
crawl.tutorial_hint("HINT_NEW_LEVEL")
crawl.clear_messages(true)
crawl.tutorial_msg("tutorial2 start")
tutorial_intro()
end
}}
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxx...xxxxxxxxxxxxx...xxx
xxxxxx.2...xxxxxxxxxxx.....xx
xxxxxx2.....E..2....+B.....xx
xxxxxx.....xxxxxxxxxxx.....xx
xxxxxxx2..xxxxxxxxxxxxx...xxx
xxxxxxxx.xxxxxxxxxxxxxxx1xxxx
xxxxxxxx.xxxxxxxxxxxxxxx.xxxx
xcccccccFcccccccxxxxxxxx.xxxx
xc3..n.....n..4cxxxxxxxxAxxxx
xc...n.....n...cxxxxxxxx.xxxx
xc...+.....+...cxxxxxxxxdxxxx
xc+nnnnnnnnnnn+cxxxxxccc.cccx
xc.............cxxxxxc.....cx
xc.............cxxxxxc..{..cx
xcccccccGcccccccxxxxxc.....cx
xxxxxc.....cxxxxxxxxxcccccccx
xxxxxc..}..cxxxxxxxxxxxxxxxxx
xxxxxc.....cxxxxxxxxxxxxxxxxx
xxxxxcccccccxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
##########################################################
# Level 2: Ranged combat
##########################################################
NAME: tutorial_lesson2_level2
TAGS: no_rotate no_monster_gen no_item_gen no_hmirror no_vmirror no_trap_gen no_pool_fixup tutorial_lesson2
PLACE: D:2
ORIENT: encompass
RTILE: x = wall_lair, c = wall_vines
COLOUR: .123f = brown
FTILE: .123f = floor_swamp, t = floor_grass
KFEAT: ,ABCDEF = .
COLOUR: deABCDEF = lightblue
FTILE: deABCDEF = tutorial_pad
MONS: training dummy hp:2 ; stone q:10
MONS: rat always_corpse
MONS: ribbon worm spells:none name:worm n_rpl
ITEM: boomerang mundane q:10
ITEM: shortbow mundane
MARKER: d = lua:tutorial2.msg("boomerangs")
MARKER: A = lua:tutorial2.msg("throwing")
MARKER: B = lua:tutorial2.msg("resting_reminder")
MARKER: e = lua:tutorial2.msg("wield_bow")
MARKER: C = lua:tutorial2.msg("travel_reminder")
MARKER: D = lua:tutorial2.msg("firing")
MARKER: E = lua:tutorial2.msg("explore")
# TODO Pad F was also a reminder to eat, anything else needed?
# This is just for atmosphere.
MARKER: F = lua:fog_machine { cloud_type = "thin mist", pow_min = 10, \
pow_max = 10, delay = 10, start_clouds = 1, size_min = 2, \
size_max = 3, spread_rate = -1 }
MARKER: } = lua:tutorial2.msg("tutorial_end")
MARKER: ) = lua:tutorial2.msg("tutorial_end")
MARKER: ] = lua:tutorial2.msg("tutorial_end")
MARKER: } = lua:one_way_stair { dst = "tutorial_lesson2", \
desc = "exit from the tutorial", \
onclimb = "tutorial2.win" }
MARKER: ) = lua:one_way_stair { dst = "tutorial_lesson2", \
desc = "exit from the tutorial", \
onclimb = "tutorial2.win" }
MARKER: ] = lua:one_way_stair { dst = "tutorial_lesson2", \
desc = "exit from the tutorial", \
onclimb = "tutorial2.win" }
epilogue{{
if crawl.game_started() then
crawl.clear_messages(true)
crawl.tutorial_msg("tutorial2 newlevel")
end
}}
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxx..xxxxx.xx..}xxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxx.......x.xx.xxx.).xxxxxxxxxxxxxxxxxxxxxx
xxxx.....2..x.x..xxxxxxx]xxxxxxxxxxxxxxxxxxxxx
xxx.2..x......x....xxxxx.xxxxxxxxxxxxxxxxxxxxx
xx.........xx.......xxx.xxxxxxxxxxxxxxxxxxxxxx
xxx.F.......x...2.xxxx...xxxxxxxxxxxxxxxxxxxxx
x.......tt........xxx....xxxxxxxxxxxxxxxxxxxxx
xx....ttt..........x....xxxxxxxxxxxxxxxxxxxxxx
xxx...tt.........xx.2.xxxxxxxxxxxxxxxxxxxxxxxx
x............F......xxxxxxxxxxxxxxxxxxxxxxxxxx
xx...x..........xxxxxxcccccccccxxxxxxxxxxxxxxx
x............xxxxxxxxxc,,,,,,,cccccxxxxxxxxxxx
xxx.....xxxxxxxxxxxxxxc,,{,d,,,,A,cxxxxxxxxxxx
xxxxxExxxxxxxxxxxxxxxxc,,,,,,,ccc,cxxxxxxxxxxx
xxxxxx..xxxxxxxxxxxxxxcccccccccxc,cxxxxxxxxxxx
xxxxxxxx..B...xxxxxxxxxxxxxxxxxxc,cxxxxxxxxxxx
xxxxxxxxxxxx....xxxxxxxxxxxxxxx.....xxxxxxxxxx
xxxxxxxxxxxll...wwwxxxxxxxxxxx..WWW..xxxxxxxxx
xxxxxxxxxxxlll.Ww1wwxxxxxxxxxx.WwwwW.xxxxxxxxx
xxxxxxxxxxxl3l..wwwxxxxxxxxxxx.Ww1wW.xxxxxxxxx
xxxxxxxxxxxlll.Wwxxxxxxxxxxxxx.WwwwW.xxxxxxxxx
xxxxxxxxxxxxlx.xxxxxxxxxxxxxxx..WWW..xxxxxxxxx
xxxxxxxxxxxxxxDxxxxxxxxxxxxxxxx.....xxxxxxxxxx
xxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxBxxxxxxxxxxxx
xxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxx
xxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxx
xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxCxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx..xxxxxxxxxxxxx.xxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx....e..xxx...xxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
|