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
|
##############################################
# Tutorial map 4: Magic and Spellcasting #
##############################################
#
# TODO:
# * trigger when trying to walk into a cloud
# * trigger on "might hit yourself" prompt
# * potion of experience gives too much skills - find another way for Meph?
#
{{
crawl_require("dlua/tutorial.lua")
tutorial4 = {}
function tutorial4.msg(text)
return tutorial_msg("tutorial4 " .. text)
end
function tutorial4.exit()
crawl.tutorial_msg("tutorial4 exit", true)
end
function tutorial4.win()
crawl.mark_game_won()
return tutorial4.exit()
end
}}
NAME: tutorial_lesson4
TAGS: no_rotate no_monster_gen no_item_gen no_hmirror no_vmirror no_trap_gen no_pool_fixup tutorial
DESC: Lesson 4: Magic and Spellcasting
ORDER: 4
ORIENT: encompass
KFEAT: ABCDEFG = .
# TODO: pad g here was for spell hunger, what else could go here?
COLOUR: ABCDEFGdef = lightblue
FTILE: ABCDEFGdef = tutorial_pad
ITEM: randbook numspells:2 spells:magic_dart&mephitic_cloud title:Introductory_Spellcasting owner:player
ITEM: ring of magical power
ITEM: ring of wizardry
# TODO: g was rations for spell hunger, replace with something more modern
MONS: training dummy ; stone q:20
MONS: bat zombie, goblin zombie
MONS: rat, goblin
KMONS: 8 = training dummy hd:3 hp:7
MARKER: d = lua:tutorial4.msg("spellbook")
MARKER: G = lua:tutorial4.msg("spellcasting")
MARKER: B = lua:tutorial4.msg("spellquivering")
MARKER: e = lua:tutorial4.msg("ring_power")
MARKER: C = lua:tutorial4.msg("undead")
MARKER: f = lua:tutorial4.msg("spell_success")
MARKER: D = lua:tutorial4.msg("mephitic_cloud")
MARKER: E = lua:tutorial4.msg("meph_reminder")
MARKER: F = lua:tutorial4.msg("aiming_clouds")
MARKER: { = lua:one_way_stair { dst = "tutorial_lesson4", \
onclimb = "tutorial4.exit" }
epilogue{{
if crawl.game_started() then
crawl.tutorial_hint("HINT_NEW_LEVEL")
crawl.clear_messages(true)
crawl.tutorial_msg("tutorial4 start")
tutorial_intro()
end
}}
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx...xxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx.d.........{.xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx...xxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx.xxxxxxxxxxxx...x.2.xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx.xxxxxxxxxxx.....xxx..f.xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxBxxxxxxxxxxx.2..xxxxxxxx.....xxxxxxxxxx
xxxxxxxxxxxxx..wwwxxxxxxxx....xxxxxxxxxxxxx.3...xxxxx
xxxxxxxxxxxxx..ww1xxxxxxx.xxxxxxxxxxxxxxxx.......xxxx
xxxxxxxxxxxxx..wwwxxxxx..xxxxxxxxxxxxxxxxx.2...xxxxxx
xxxxxxxxxxxxx..wwwxxx.Cxxxxxxxxxxxxxxxxxxxxx..xxxxxxx
xxxxxxxxxxxxx......e.xxxxxxxxxxxxxxxxxxxxxxxxxDxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.8.xxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.8.xxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxExxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxx}xxxxxxx4...xxxFxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxx).....5....4...xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxx]xxxxxx..4...xxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
##########################################################
# Level 2: Forgetting spells, allies.
##########################################################
NAME: tutorial_lesson4_level2
TAGS: no_rotate no_monster_gen no_item_gen no_hmirror no_vmirror no_trap_gen no_pool_fixup tutorial_lesson4
PLACE: D:2
ORIENT: encompass
KFEAT: ABCDE = .
COLOUR: dABCDEe = lightblue
FTILE: dABCDEe = tutorial_pad
ITEM: scroll of amnesia pre_id q:3
ITEM: parchment of call imp
ITEM: kite shield
ITEM: ring mail
MONS: hobgoblin
MONS: rat
MONS: goblin
MONS: gnoll; nothing
MARKER: d = lua:tutorial4.msg("forget_spell")
MARKER: e = lua:tutorial4.msg("memorise2")
MARKER: B = lua:tutorial4.msg("displace_allies")
MARKER: C = lua:tutorial4.msg("order_allies")
MARKER: D = lua:tutorial4.msg("heavy_armour")
MARKER: E = lua:tutorial4.msg("resting_reminder")
MARKER: } = lua:tutorial4.msg("tutorial_end")
MARKER: ) = lua:tutorial4.msg("tutorial_end")
MARKER: ] = lua:tutorial4.msg("tutorial_end")
MARKER: } = lua:one_way_stair { dst = "tutorial_lesson4", \
desc = "exit from the tutorial", \
onclimb = "tutorial4.win" }
MARKER: ) = lua:one_way_stair { dst = "tutorial_lesson4", \
desc = "exit from the tutorial", \
onclimb = "tutorial4.win" }
MARKER: ] = lua:one_way_stair { dst = "tutorial_lesson4", \
desc = "exit from the tutorial", \
onclimb = "tutorial4.win" }
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxx......B.xxxx.T.xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxx......B...x.....xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxCCCxxxx...+..e......xxxxxxxxxxxxxxx
xxxxxxxxxxx+++xxxxx..x.....xxxx..xxxxxxxxxxxxx
xxxxxxxxxx.....xxxxxxxx.T.xxxxxxx.xxxxxxxxxxxx
xxxxxxxxxx.....xxxxxxxxx.xxxxxxxxxdxxxxxxxxxxx
xxxxxxxxxx.....xxxxxxxxxxxxxxxxxxx.xxxxxxxxxxx
xxxxxxxxxx.....xxxxxxxxxxxxxxxxxx...xxxxxxxxxx
xxxxxxxxxx.....xxxxxxxxxxxxxxxxxx{([xxxxxxxxxx
xxxxxxxxxx..1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxx.xxxx...xxxxxxxxxxxx.2..xxxxxxxxxx
xxxxxxxxxxxx.xxx..f..xxxxxxxxGx.....4]xxxxxxxx
xxxxxxxxxxxx.xxx.....xxxxxxxG.+...2....xxxxxxx
xxxxxxxxxxxx......D........E..+......3.)xxxxxx
xxxxxxxxxxxxxxxx.....xxxxxxxG.+...3....xxxxxxx
xxxxxxxxxxxxxxxx..g..xxxxxxxxGx.....2}xxxxxxxx
xxxxxxxxxxxxxxxxx...xxxxxxxxxxxx2...xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
|