1-- NetHack 3.7	Wizard.des	$NHDT-Date: 1432512783 2015/05/25 00:13:03 $  $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
2--	Copyright (c) 1992 by David Cohrs
3-- NetHack may be freely redistributed.  See license for details.
4--
5des.level_init({ style = "solidfill", fg = " " });
6
7des.level_flags("mazelevel", "hardfloor", "outdoors")
8
9des.map([[
10.............        .......................................................
11..............       .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
12..............      ..............}.................................}.......
13..............      ..............}.-------------------------------.}.......
14...............     .........C....}.|.............................|.}.......
15...............    ..........C....}.|.---------------------------.|.}.......
16...............    .........CCC...}.|.|.........................|.|.}.......
17................   ....C....CCC...}.|.|.-----------------------.|.|.}.......
18.......C..C.....  .....C....CCC...}.|.|.|......+.......+......|.|.|.}.......
19.............C..CC.....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
20................   ....C....CCC...}.|.|.|......|.......|......|.|.|.}.......
21......C..C.....    ....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
22............C..     ...C....CCC...}.|.|.|......+.......+......|.|.|.}.......
23........C......    ....C....CCC...}.|.|.-----------------------.|.|.}.......
24....C......C...     ........CCC...}.|.|.........................|.|.}.......
25......C..C....      .........C....}.|.---------------------------.|.}.......
26..............      .........C....}.|.............................|.}.......
27.............       ..............}.-------------------------------.}.......
28.............        .............}.................................}.......
29.............        .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
30.............        .......................................................
31]]);
32
33des.replace_terrain({ region = { 0, 0,30,20}, fromterrain=".", toterrain="C", chance=15 })
34des.replace_terrain({ region = {68, 0,75,20}, fromterrain=".", toterrain="}", chance=25 })
35des.replace_terrain({ region = {34, 1,68,19}, fromterrain="}", toterrain=".", chance=2 })
36
37-- Dungeon Description
38des.region(selection.area(00,00,75,20), "lit")
39des.region({ region={37,04,65,16}, lit=0, type="ordinary", irregular=1,
40             contents = function()
41                des.door({ state="secret", wall="random" })
42                end
43})
44des.region({ region={39,06,63,14}, lit=0, type="ordinary", irregular=1,
45             contents = function()
46                des.door({ state="secret", wall="random" })
47             end
48})
49
50des.region({ region={41,08,46,12}, lit=1, type="ordinary", irregular=1,
51             contents = function()
52                local walls = { "north", "south", "west" }
53                local widx = math.random(1, #walls)
54                des.door({ state="secret", wall=walls[widx] })
55             end
56})
57
58des.region({ region={56,08,61,12}, lit=1, type="ordinary", irregular=1,
59             contents = function()
60                local walls = { "north", "south", "east" }
61                local widx = math.random(1, #walls)
62                des.door({ state="secret", wall=walls[widx] })
63             end
64})
65
66des.region(selection.area(48,08,54,08), "unlit")
67des.region(selection.area(48,12,54,12), "unlit")
68
69des.region({ region={48,10,54,10}, lit=0, type="ordinary", irregular=1,
70             contents = function()
71                des.door({ state="secret", wall="random" })
72             end
73})
74
75-- Doors
76des.door("locked",55,08)
77des.door("locked",55,12)
78des.door("locked",47,08)
79des.door("locked",47,12)
80-- Stairs
81des.terrain({03,17}, ".")
82des.stair("up", 03,17)
83des.stair("down", 48,10)
84-- Non diggable walls
85des.non_diggable(selection.area(00,00,75,20))
86-- Objects
87des.object()
88des.object()
89des.object()
90des.object()
91des.object()
92des.object()
93des.object()
94des.object()
95des.object()
96des.object()
97des.object()
98des.object()
99des.object()
100des.object()
101des.object()
102-- Random traps
103des.trap("spiked pit",24,02)
104des.trap("spiked pit",07,10)
105des.trap("spiked pit",23,05)
106des.trap("spiked pit",26,19)
107des.trap("spiked pit",72,02)
108des.trap("spiked pit",72,12)
109des.trap("falling rock",45,16)
110des.trap("falling rock",65,13)
111des.trap("falling rock",55,06)
112des.trap("falling rock",39,11)
113des.trap("falling rock",57,09)
114des.trap("magic")
115des.trap("statue")
116des.trap("statue")
117des.trap("polymorph")
118des.trap("anti magic",53,10)
119des.trap("sleep gas")
120des.trap("sleep gas")
121des.trap("dart")
122des.trap("dart")
123des.trap("dart")
124-- Random monsters.
125des.monster({ class = "B", peaceful = 0 })
126des.monster({ class = "B", peaceful = 0 })
127des.monster({ class = "B", peaceful = 0 })
128des.monster({ class = "B", peaceful = 0 })
129des.monster({ class = "B", peaceful = 0 })
130des.monster({ class = "B", peaceful = 0 })
131des.monster({ class = "B", peaceful = 0 })
132des.monster({ class = "B", peaceful = 0 })
133des.monster({ class = "B", peaceful = 0 })
134des.monster({ class = "B", peaceful = 0 })
135des.monster({ class = "B", peaceful = 0 })
136des.monster({ class = "B", peaceful = 0 })
137des.monster({ class = "i", peaceful = 0 })
138des.monster({ class = "i", peaceful = 0 })
139des.monster({ class = "i", peaceful = 0 })
140des.monster({ class = "i", peaceful = 0 })
141des.monster({ class = "i", peaceful = 0 })
142des.monster({ class = "i", peaceful = 0 })
143des.monster({ class = "i", peaceful = 0 })
144des.monster("vampire bat")
145des.monster("vampire bat")
146des.monster("vampire bat")
147des.monster("vampire bat")
148des.monster("vampire bat")
149des.monster("vampire bat")
150des.monster("vampire bat")
151des.monster({ class = "i", peaceful = 0 })
152