  1      150     1920     3460  1524300
nDirectory        0
ndata      3460
noracles    290637
noptions    296854
nporthelp    298473
nrumors    310586
nhelp    361381
nhh    373450
ncmdhelp    382625
nkeyhelp    390387
nhistory    393622
nopthelp    415902
noptmenu    441850
nwizhelp    444145
nlicense    446808
nengrave    451778
nepitaph    454672
nbogusmon    478807
ntribute    486507
nair.lua    880138
nArc-fila.lua    885539
nArc-filb.lua    887028
nArc-goal.lua    888526
nArc-loca.lua    892977
nArc-strt.lua    898264
nasmodeus.lua    902944
nastral.lua    905889
nbaalz.lua    915617
nBar-fila.lua    918152
nBar-filb.lua    919028
nBar-goal.lua    920293
nBar-loca.lua    924234
nBar-strt.lua    929001
nbigrm-1.lua    933443
nbigrm-10.lua    936627
nbigrm-11.lua    939318
nbigrm-12.lua    940414
nbigrm-13.lua    943621
nbigrm-2.lua    946540
nbigrm-3.lua    949297
nbigrm-4.lua    952515
nbigrm-5.lua    954918
nbigrm-6.lua    957188
nbigrm-7.lua    959251
nbigrm-8.lua    961516
nbigrm-9.lua    963750
ncastle.lua    966025
nCav-fila.lua    974902
nCav-filb.lua    975901
nCav-goal.lua    977015
nCav-loca.lua    979630
nCav-strt.lua    983878
ndungeon.lua    988442
nearth.lua    995637
nfakewiz1.lua   1001944
nfakewiz2.lua   1003603
nfire.lua   1005142
nHea-fila.lua   1011077
nHea-filb.lua   1012279
nHea-goal.lua   1013656
nHea-loca.lua   1016480
nHea-strt.lua   1019315
nhellfill.lua   1023607
njuiblex.lua   1035935
nKni-fila.lua   1040055
nKni-filb.lua   1041025
nKni-goal.lua   1042135
nKni-loca.lua   1046518
nKni-strt.lua   1050904
nknox.lua   1055130
nmedusa-1.lua   1062180
nmedusa-2.lua   1067045
nmedusa-3.lua   1072770
nmedusa-4.lua   1078903
nminefill.lua   1085086
nminend-1.lua   1086263
nminend-2.lua   1090706
nminend-3.lua   1096197
nminetn-1.lua   1099718
nminetn-2.lua   1105753
nminetn-3.lua   1112598
nminetn-4.lua   1117299
nminetn-5.lua   1122336
nminetn-6.lua   1127581
nminetn-7.lua   1131607
nMon-fila.lua   1139087
nMon-filb.lua   1140744
nMon-goal.lua   1142376
nMon-loca.lua   1144418
nMon-strt.lua   1148254
nnhcore.lua   1152695
nnhlib.lua   1157656
noracle.lua   1164999
norcus.lua   1167572
nPri-fila.lua   1172957
nPri-filb.lua   1174336
nPri-goal.lua   1175890
nPri-loca.lua   1178154
nPri-strt.lua   1181056
nquest.lua   1185171
nRan-fila.lua   1320274
nRan-filb.lua   1321303
nRan-goal.lua   1322386
nRan-loca.lua   1327123
nRan-strt.lua   1330399
nRog-fila.lua   1334890
nRog-filb.lua   1336759
nRog-goal.lua   1338628
nRog-loca.lua   1343540
nRog-strt.lua   1347880
nSam-fila.lua   1354094
nSam-filb.lua   1354961
nSam-goal.lua   1356925
nSam-loca.lua   1360410
nSam-strt.lua   1365487
nsanctum.lua   1369714
nsoko1-1.lua   1375263
nsoko1-2.lua   1378589
nsoko2-1.lua   1381895
nsoko2-2.lua   1383808
nsoko3-1.lua   1385885
nsoko3-2.lua   1388220
nsoko4-1.lua   1390374
nsoko4-2.lua   1393518
nthemerms.lua   1395529
nTou-fila.lua   1430575
nTou-filb.lua   1431590
nTou-goal.lua   1432629
nTou-loca.lua   1439057
nTou-strt.lua   1445357
ntower1.lua   1450386
ntower2.lua   1453068
ntower3.lua   1454932
ntut-1.lua   1456517
ntut-2.lua   1471771
nVal-fila.lua   1472405
nVal-filb.lua   1473363
nVal-goal.lua   1474429
nVal-loca.lua   1478067
nVal-strt.lua   1480590
nvalley.lua   1484678
nwater.lua   1490669
nWiz-fila.lua   1495312
nWiz-filb.lua   1496911
nWiz-goal.lua   1498482
nWiz-loca.lua   1504128
nWiz-strt.lua   1509936
nwizard1.lua   1514721
nwizard2.lua   1518533
nwizard3.lua   1520877
#	This data file is generated by 'makedefs'.  Do not edit. 
000035b4
abbot
0,11
ac
armor*
armour*
*leather armor
suit or piece of armor
~*dragon*scale*
~scroll of mail
*mail
679,19
aclys
aklys
thonged club
1515,4
~agate ring
agate*
1743,9
alchemy
2246,3
aleax
2417,2
*altar
offer*
sacrific*
2505,14
amaterasu omikami
3011,6
amber*
3310,5
*amnesia
maud
3597,19
~amulet of yendor
~amulet of restful sleep
*amulet
amulet of *
amulet versus *
4182,14
amulet of yendor
4801,6
angel*
5136,12
angry god*
5828,6
anhur
5974,7
ankh-morpork
6398,9
anshar
6892,5
ant
* ant
7185,4
anu
7393,5
ape
apelike creature
* ape
7657,14
apple
8420,6
archeolog*
* archeologist
8712,18
archon
9596,4
arioch
9785,5
*arrow
10048,15
ashikaga takauji
10545,9
asmodeus
11044,16
athame
11816,25
athen*
13022,4
axe
battle?axe
double?headed?axe
13253,15
axolotl
13681,1
bag
bag of *
sack
13714,16
b*lzebub
14607,7
balrog
15002,9
baluchitherium
titanothere
15503,9
banana
16012,18
banshee
16864,6
barbarian
* barbarian
17212,12
~*combat
~*wombat
*bat
bat or bird
17856,9
bear*trap
18350,15
*bee
19285,6
*beetle
19587,9
bell of opening
19997,14
*bell*
20513,15
blindfold
21039,11
blind io
21684,9
* blob
ooze
* ooze
*pudding
* slime
22202,17
blue jelly
ochre jelly
spotted jelly
23172,7
bone devil
23597,2
book of the dead
candelabrum*
*candle
23713,9
boomerang
24170,11
~*jack*boot*
*boot*
*shoes
24833,10
*booze
potion of sleeping
25406,13
boulder
26156,16
~*longbow of diana
bow
* bow
27061,14
brigit
27790,11
~stormbringer
*broadsword
28409,5
bugbear
28549,4
bugle
28740,9
bullwhip
29031,4
*camaxtli
29203,7
camelot*
29607,11
candy bar
30237,18
carrot
31313,13
s*d*g*r* cat
32044,15
*cat
*feline
kitten
32998,12
cave dweller
cave*man
human cave*man
33576,13
dwar* cave*man
gnom* cave*man
34294,15
*centaur
34952,17
centipede
35950,11
cerberus
kerberos
36517,7
chameleon
36922,12
charo*n
37589,7
chest
large box
37975,19
chih*sung*tzu
39072,8
chromatic dragon
tiamat
39510,2
citrine*
39588,1
clay golem
39651,13
cleaver
40335,5
~elven cloak
~oilskin cloak
*cloak*
40611,12
cloud*
41328,7
cobra
41598,16
c*ckatrice
42478,23
*coin
~creeping coins
*coins
zorkmid*
43684,5
combat
fight
fracas
melee
spat
squabble
tiff
43955,8
conical hat
44369,4
cope
* cope
44600,5
cornuthaum
44842,19
couatl
45789,1
coyote
45847,2
cram*
45943,6
cream pie
46286,7
credit card
charge card
46636,13
*crocodile
47386,17
croesus
kroisos
creosote
47962,8
crom
48404,9
crossbow*
48888,5
crystal ball
49098,5
curse*
49368,12
cwn*n
49968,8
cyclops
50431,31
~sting
*dagger
51686,10
dark one
52090,8
dart*
52528,13
demogorgon
53102,11
demon
major demon
53659,9
demonbane
54173,3
dented pot
54309,9
diamond
54833,20
dilithium*
55942,21
dingo
57198,5
disenchanter
57425,2
dispater
57501,8
displacer beast
57926,5
djinn*
58210,8
~hachi
~slasher
~sirius
*dog
pup*
*canine
58698,6
~trap*door
~*spellbook*
*door
doorway
59022,11
doppelganger
59482,27
*dragon
*xoth
60692,18
*dragon*scale*
61701,9
dragonbane
62152,7
*drum*
62444,7
dunce*
62814,8
dungeon*
63226,17
~dwarf ??m*
~dwar* cloak
dwarf*
63950,21
dwar* cloak
hooded cloak
65191,6
earendil
elwing
65513,15
eel
giant eel
66419,9
egg
66913,7
elbereth
67296,20
electric eel
68039,5
*elemental
68330,5
~human or elf*
~elf ??m*
*elf*
elvenking
elvenqueen
elven monarch
68633,21
elven cloak
69697,10
emerald
70252,18
engrav*
A.S*
70717,21
*epidaurus
71652,9
erinys
erinyes
furies
72152,16
ettin
72755,2
excalibur
72880,14
expensive camera
73675,11
eye of the aethiopica
74307,8
eyes of the overworld
74740,6
fedora
75100,5
figurine*
75346,11
fire trap
75966,12
f* brand
76529,10
flesh golem
76820,21
flint*
77967,10
floating eye
78260,7
*flute
78659,5
fog* cloud
78857,8
*food*
79005,9
fortune cookie
79529,15
fountain
80348,15
fox
80847,11
fruit
fruitname
81414,1
*fung*
81479,21
*gargoyle
82655,14
*garlic
83401,20
gehenn*
*h?nnom
hell
84541,9
gelatinous cube
85078,10
*gem
gem or rock
85620,4
genetic engineer
85796,15
geryon
86518,24
*ghost
valley of *dea*
87616,10
ghoul
88188,16
*giant
giant humanoid
89093,6
*gloves
gauntlets*
89444,3
~gnome ??m*
gnome*
gnomish wizard
89568,28
goblin
91064,10
god
goddess
91595,13
gold
gold piece
92383,9
gold golem
92850,10
~flesh golem
~gold golem
~straw golem
~wood golem
~clay golem
*golem
93416,18
grave
94435,5
grayswandir
94640,6
*grease
94998,3
gremlin
95137,14
grid bug
95799,14
gunyoki
96509,2
hachi
96620,8
hallucinat*
potion of hallucination
97098,9
*harp
97656,22
hawaiian*shirt
98869,9
healer
* healer
attendant
doctor
physician
99402,20
heart of ahriman
100537,19
hell hound*
101658,15
~helm of *
~crystal helmet
helm*
* helmet
102529,2
helm of telepathy
102605,2
helm of opposite alignment
102731,2
helm of caution
102848,2
helm of brilliance
crystal helmet
102964,4
hermes
103203,15
hezrou
104115,3
hippocrates
104258,11
hobbit
104856,10
hobgoblin
105448,23
holy water
106695,22
hom*nculus
107825,13
*hook
108484,9
~unicorn horn
*horn
108964,9
horn of plenty
cornucopia
109355,11
horned devil
barbed devil
109835,2
~horsem*
*horse
109924,8
*horsem*
rider*
death
famine
pestilence
war
hunger
110389,26
huan*ti
111778,5
hu*h*eto*l
minion of huhetotl
112080,6
humanoid
112402,5
human
chieftain
guard
ninja
nurse
ronin
student
warrior
*watch*
human or elf*
112664,7
hunter
113069,9
~ice box
ice
* ice
frozen *
113418,9
ice box
114039,15
ice devil
114255,4
idefix
114458,8
imp
imp or minor demon
114892,13
incubus
succubus
amorous demon
115542,4
*insect
*insects
115751,21
*iron ball
*iron chain
116841,11
iron bars
117423,9
ishtar
117700,7
issek
118067,13
izchak
118817,19
jabberwock
vorpal*
120007,20
jacinth*
120627,9
jackal
120894,13
*jack*boot*
121618,7
jade*
122040,10
jaguar
122614,4
jellyfish
122835,5
juiblex
jubilex
123017,6
k?ration
c?ration
123359,11
kabuto
123887,19
katana
125031,3
kelp*
*frond
125198,13
ki-rin
125938,5
king arthur
*arthur
126198,23
knife
stiletto
127399,15
knight
* knight
127999,9
~kobold ??m*
*kobold*
128349,5
*kop*
rubber hose
128618,28
kos
130275,6
koto
130590,1
kraken
130608,8
the lady
lady
lady luck
offler
131066,30
*lamp
132379,15
lance
133071,13
land mine
133845,5
*lantern
134110,4
lava
* lava
134295,23
leash
135652,9
lembas*
136184,18
lemure
larvae
137207,10
leocrotta
leu*otta
137793,7
leprechaun
138181,18
*lich
139182,18
lichen
140305,7
~* of light
* light
light
140664,3
gecko
iguana
lizard
140790,9
loki
141317,14
*longbow of diana
142119,2
looking glass
mirror
142256,13
lord carnarvon
142706,8
lord sato
143167,3
lord surt*
143345,9
luck
bad luck
143826,13
lug*
144458,8
lurker*
144931,3
lycanthrope
were*
human were*
*were
145087,17
lynx
146080,6
~*sceptre of might
mace
sceptre
146402,7
magic marker
146791,2
magic mirror of merlin
146869,15
magicbane
147539,2
mail d*emon
147628,2
ma*annan*
147718,7
manes
148083,11
marduk
148591,10
marilith
149157,5
mars
149409,7
martial arts
unarmed combat
bare*handed combat
149806,6
master assassin
150147,19
master key of thievery
151050,5
master of thieves
151341,11
mastodon
151965,5
*mattock
152205,7
meat*
huge chunk of meat
152591,5
medusa
perseus
shield of reflection
152760,23
melon
153948,10
mercury
154479,3
*mimic
154634,6
*mind flayer
154978,6
mine*
gnomish mines
155312,12
minotaur
156029,9
mit*ra*
156526,15
*mithril*
157373,6
*mitre of holiness
157708,4
mjollnir
157954,14
mog
158794,2
~slime mold
*mold
158910,6
mol?ch
159243,16
monk
* monk
grand master
master kaen
160079,38
monkey
161882,15
morning star
162784,15
mumak*
163569,8
*mummy
164025,14
mummy wrapping
164767,15
*naga*
*naja*
165607,4
naginata
165848,19
nalfeshnee
166807,2
nalzok
166925,7
neanderthal*
167328,3
neferet
neferet the green
167507,7
newt
167917,13
ninja-to
168360,1
*norn
168384,13
nunchaku
169135,13
*nymph
naiad
169845,24
obsidian*
171137,10
odin
171723,22
ogre*
172942,16
oilskin cloak
173841,9
oilskin sack
174356,9
olog-hai
174847,13
oracle
delphi
p*thia
175641,9
orange
pear
176120,11
*orb of detection
176745,4
*orb of fate
176962,7
goblin king
orcrist
177362,9
orcus
177864,3
~orc ??m*
~orcish barbarian
~orcish ranger
~orcish rogue
~orcish wizard
orc*
* orc
uruk*hai
178041,15
orion
sirius
178883,19
osaku
179845,1
owlbear
179891,6
page
180204,5
*pall
180465,6
panther
180786,9
*paper
181108,13
pelias
181889,18
pick*ax*
broad pick
182890,5
*piercer
183073,8
piranha
183480,8
pit
spiked pit
183898,10
pit fiend
184477,4
platinum yendorian express card
184664,6
player
play* style
user
185018,12
poison
poisoned
potion of sickness
*venom
185359,6
polearm
* polearm
partisan
ranseur
spetum
glaive
halberd
bardiche
angled poleaxe
long poleaxe
voulge
pole cleaver
fauchard
pole sickle
guisarme
bill-guisarme
lucern hammer
bec de corbin
185638,6
polymorph trap
186020,10
pony
186606,14
*portal
187239,6
trident
poseido*n
187581,19
~*sleeping
~*booze
*potion*
188517,25
pray*
189706,4
priest*
* priest*
cleric
* cleric
acolyte
189884,16
paddle cactus
190834,6
prisoner
191163,15
ptah
191521,9
*purple worm
191998,6
pyrolisk
192329,13
python
193084,12
quadruped
193684,5
quantum mechanic
193975,17
quasit
194855,2
*quest
194975,13
quetzalcoatl
195710,13
quit*
196498,8
raijin
raiden
196879,8
ranger
* ranger
197335,14
rat
* rat
198162,14
raven
198827,7
~*invisibility
ring
* ring
ring of *
199235,9
ring of invisibility
199667,18
robe
200735,11
rock
large rock
201326,21
rock mole
202534,6
rodent*
202876,5
rogue
* rogue
203140,11
root
dwarven root
203762,21
roshi
204820,7
rothe
205182,3
*royal jelly
205324,14
ruby
sapphire
205895,7
rust monster
206278,3
rust monster or disenchanter
206416,2
*saber
*sabre
206526,14
saddle
206934,9
sake
207202,1
salamander
207223,7
samurai
* samurai
207574,11
sandestin
208237,31
sasquatch
209576,18
scalpel
210655,5
*sceptre of might
210938,6
scimitar
211240,5
scorpio*
211495,5
scorpius
211769,6
scroll of punishment
punish*
212124,5
*scroll
scroll *
212303,18
set
seth
213107,13
shad*
213856,21
shaman karnov
214864,3
shan*lai*ching
215019,5
shark
215277,15
~uruk*
~white*
*shield
216040,15
shito
216956,1
shopkeeper
216984,24
shrieker
218291,7
throwing star
shuriken
218688,7
skeleton
219099,4
slasher
219342,17
*sleep
220320,5
slime mold
220487,8
sling
220931,11
*snake
serpent
water moccasin
pit viper
221468,24
snickersnee
222866,6
sokoban
223088,12
*soldier
sergeant
lieutenant
captain
223726,8
*spear
javelin
224186,18
*spellbook*
225219,16
*spider
226103,11
*spore
*sphere
226538,4
squeaky board
226718,8
~*aesculapius
*staff
227134,18
*staff of aesculapius
228222,5
stair*
branch stair*
228493,20
*stalker
229531,25
~statue trap
statue*
230977,17
stethoscope
231992,3
microscope
telescope
telephone
television
232127,1
sting
232146,13
stormbringer
232767,17
*strange object
strange
glorkum*
233669,6
straw golem
233964,11
sunsword
234592,4
susano*o
234727,6
tanko
235032,1
tengu
235090,7
thoth
235484,19
thoth*amon
236542,5
*throne
236794,16
thug
237459,9
tiger
237973,12
tin
tin of *
tinning kit
238471,8
tin opener
238807,20
titan
239738,11
topaz
240332,10
touch*stone
240913,2
tourist
* tourist
240985,18
towel
wet towel
moist towel
241948,19
*tower
*tower of darkness
243018,7
trap*door
243426,8
trapper
trapper or lurker above
243882,5
tree
244185,13
tripe
tripe ration
244615,10
~water troll
*troll
245207,15
*tsurugi of muramasa
246030,5
~*muramasa
tsurugi
246335,6
~*spellbook
turquoise*
246644,10
twoflower
guide
247150,23
tyr
248165,14
*hulk
248974,5
*unicorn
unicorn horn
249244,26
unreconnoitered
250661,2
uruk*hai shield
white-handed shield
250758,7
valkyrie
* valkyrie
251146,12
vampire
~vampire bat
vampire l*
251798,20
venus
252823,11
vlad*
253433,9
*vortex
vortices
253978,5
vrock
254271,4
wakizashi
254521,10
~*sleep
wand *
*wand
255072,10
warg
255649,17
~mjollnir
war*hammer
256497,13
water
257249,10
water demon
257541,22
water troll
258723,14
weapon
club
flail
~*broadsword
~sunsword
*sword
259516,2
web
259621,3
*whistle
259725,14
*wight
260309,9
win
winner
winning
260803,6
~gnomish wizard
wizard
* wizard
apprentice
261103,8
wizard of yendor
261564,10
wolf
*wolf
*wolf cub
262144,5
*wolfsbane
262397,9
wood golem
262866,19
woodchuck
263446,13
*worm
long worm tail
worm tooth
crysknife
264077,6
wraith
nazgul
264409,17
*wumpus
265375,11
xan
265896,12
xorn
266521,5
ya
266786,2
yeenoghu
266897,5
yeti
267162,15
*yugake
268033,3
yumi
268218,4
*zombi*
268427,5
zruty
268670,2
arc* ranks
archeologist
digger
field worker
investigator
exhumer
excavator
spelunker
speleologist
collector
curator
268763,11
bar* ranks
barbarian
plunder?*
pillager
bandit
brigand
raider
reaver
slayer
chieftain*
conquer*
269046,14
cav* ranks
caveman
cavewoman
cave dweller
troglodyte
aborigine
wanderer
vagrant
wayfarer
roamer
nomad
rover
pioneer
269362,11
hea* ranks
healer
rhizotomist
empiric
embalmer
dresser
medic* ossium
herbalist
magister
magistra
physician
chirurgeon
269663,13
kni* ranks
knight
gallant
esquire
bachelor
sergeant
knight
banneret
chevalier*
seignieur
dame
paladin
269968,13
mon* ranks
monk
candidate
novice
initiate
student of stones
student of waters
student of metals
student of winds
student of fire
master
270269,12
pri* ranks
priest*
aspirant
acolyte
adept
curate
canon*
lama
?atriarch
high priest*
270553,15
ran* ranks
ranger
tenderfoot
lookout
trailblazer
reconnoiter*
scout
arbalester
archer
sharpshooter
marks*man
270890,13
rog* ranks
rogue
footpad
cutpurse
rogue
pilferer
robber
burglar
filcher
mags*man
thief
271194,12
sam* ranks
samurai
hatamoto
ronin
ninja
kunoichi
joshu
ryoshu
kokushu
daimyo
kuge
shogun
271480,12
tou* ranks
tourist
rambler
sightseer
excursionist
peregrinat*
traveler
journeyer
voyager
explorer
adventurer
271766,12
val* ranks
valkyrie
stripling
skirmisher
fighter
*man-at-arms
warrior
swashbuckler
hero
heroine
champion
lord
lady
272059,14
wiz* ranks
wizard
evoker
conjurer
thaumaturge
magician
enchanter
enchantress
sorcerer
sorceress
necromancer
mage
272366,13
novel
paperback book
discworld novel*
272666,43
.
273429,0
	For it had been long apparent to Count Landulf that nothing
	could be done with his seventh son Thomas, except to make him
	an Abbot or something of that kind.  Born in 1226, he had from
	childhood a mysterious objection to becoming a predatory eagle,
	or even to taking an ordinary interest in falconry or tilting
	or any other gentlemanly pursuits.  He was a large and heavy and
	quiet boy, and phenomenally silent, scarcely opening his mouth
	except to say suddenly to his schoolmaster in an explosive
	manner, "What is God?"  The answer is not recorded but it is
	probable that the asker went on worrying out answers for himself.
		[ The Runaway Abbot, by G.K. Chesterton ]
	"The last spot on the school jousting team came down to another
	boy and me.  He was poor, and his only armor was a blanket his
	mother had made him from her hair.  I, on the other hand, had
	a brand new suit of chain mail.  Just before our joust, I asked
	him what he'd do if he made the team.  (I was hoping to be more
	popular with the ladies.)  He said he would be able to save the
	town from dragons and be able to afford some water for his 20
	brothers and sisters.

	Well, a sense of compassion came over me.  I insisted we swap
	armor.  He was forced to accept, as it would have been an
	insult not to do so.

	On the battlefield, we charged at each other and we both connected
	with our lances.

	Lying there on the mud mortally wounded, I learned what true armor
	class was that day."
		[ When Help Collides, by J.D. Berry ]
	A short studded or spiked club attached to a cord allowing
	it to be drawn back to the wielder after having been thrown.
	It should not be confused with the atlatl, which is a device
	used to throw spears for longer distances.
	Translucent, cryptocrystalline variety of quartz and a subvariety
	of chalcedony.  Agates are identical in chemical structure to
	jasper, flint, chert, petrified wood, and tiger's-eye, and are
	often found in association with opal.  The colorful, banded rocks
	are used as a semiprecious gemstone and in the manufacture of
	grinding equipment.  An agate's banding forms as silica from
	solution is slowly deposited into cavities and veins in older
	rock.
		[ The Columbia Encyclopedia, Sixth Edition ]
	By and large, the only skill the alchemists of Ankh-Morpork had
	discovered so far was the ability to turn gold into less gold.
		[ Moving Pictures, by Terry Pratchett ]
	Said to be a doppelganger sent to inflict divine punishment
	for alignment violations.
	Altars are of three types:
	1.  In Temples.  These are for Sacrifices [...].  The stone
	top will have grooves for blood, and the whole will be covered
	with _dry brown stains of a troubling kind_ from former
	Sacrifices.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]

	To every man upon this earth
	Death cometh soon or late;
	And how can man die better
	Than facing fearful odds
	For the ashes of his fathers
	And the temples of his gods?
		[ Lays of Ancient Rome, by Thomas B. Macaulay ]
	The Shinto sun goddess, Amaterasu Omikami is the central
	figure of Shintoism and the ancestral deity of the imperial
	house.  One of the daughters of the primordial god Izanagi
	and said to be his favourite offspring, she was born from
	his left eye.
		[ Encyclopedia of Gods, by Michael Jordan ]
	"Tree sap," Wu explained, "often flows over insects and traps
	them.  The insects are then perfectly preserved within the
	fossil.  One finds all kinds of insects in amber - including
	biting insects that have sucked blood from larger animals."
		[ Jurassic Park, by Michael Crichton ]
	Get thee hence, nor come again,
	Mix not memory with doubt,
	Pass, thou deathlike type of pain,
	Pass and cease to move about!
	'Tis the blot upon the brain
	That will show itself without.
		...
	For, Maud, so tender and true,
	As long as my life endures
	I feel I shall owe you a debt,
	That I never can hope to pay;
	And if ever I should forget
	That I owe this debt to you
	And for your sweet sake to yours;
	O then, what then shall I say? -
	If ever I should forget,
	May God make me more wretched
	Than ever I have been yet!
		[ Maud, And Other Poems, by Alfred, Lord Tennyson ]
	"The complete Amulet can keep off all the things that make
	people unhappy -- jealousy, bad temper, pride, disagreeableness,
	greediness, selfishness, laziness.  Evil spirits, people called
	them when the Amulet was made.  Don't you think it would be nice
	to have it?"
	"Very," said the children, quite without enthusiasm.
	"And it can give you strength and courage."
	"That's better," said Cyril.
	"And virtue."
	"I suppose it's nice to have that," said Jane, but not with much
	interest.
	"And it can give you your heart's desire."
	"Now you're talking," said Robert.
		[ The Story of the Amulet, by Edith Nesbit ]
	This mysterious talisman is the object of your quest.  It is
	said to possess powers which mere mortals can scarcely
	comprehend, let alone utilize.  The gods will grant the gift of
	immortality to the adventurer who can deliver it from the
	depths of Moloch's Sanctum and offer it on the appropriate high
	altar on the Astral Plane.
	He answered and said unto them, he that soweth the good seed
	is the Son of man; the field is the world, and the good seed
	are the children of the kingdom; but the weeds are the
	children of the wicked one; the enemy that sowed them is the
	devil; the harvest is the end of the world; and the reapers
	are the angels.  As therefore the weeds are gathered and
	burned in the fire; so shall it be in the end of this world.
	[...]  So shall it be at the end of the world; the angels
	shall come forth, and sever the wicked from among the just,
	and shall cast them into the furnace of fire; there shall be
	wailing and gnashing of teeth.
		[ The Gospel According to Matthew, 13:37-42, 49-50 ]
	Cold wind blows.
	The gods look down in anger on this poor child.

	Why so unforgiving?
	And why so cold?
		[ Bridge of Sighs, by Robin Trower ]
	An Egyptian god of war and a great hunter, few gods can match
	his fury.  Unlike many gods of war, he is a force for good.
	The wrath of Anhur is slow to come, but it is inescapable
	once earned.  Anhur is a mighty figure with four arms.  He
	is often seen with a powerful lance that requires both of
	his right arms to wield and which is tipped with a fragment
	of the sun.  He is married to Mehut, a lion-headed goddess.
	The twin city of Ankh-Morpork, foremost of all the cities
	bounding the Circle Sea, was as a matter of course the home
	of a large number of gangs, thieves' guilds, syndicates and
	similar organisations.  This was one of the reasons for its
	wealth.  Most of the humbler folk on the widdershin side of
	the river, in Morpork's mazy alleys, supplemented their
	meagre incomes by filling some small role for one or other
	of the competing gangs.
	    [ The Colour of Magic, by Terry Pratchett ]
	A primordial Babylonian-Akkadian deity, Anshar is mentioned
	in the Babylonian creation epic _Enuma Elish_ as one of a
	pair of offspring (with Kishar) of Lahmu and Lahamu.  Anshar
	is linked with heaven while Kishar is identified with earth.
	    [ Encyclopedia of Gods, by Michael Jordan ]
	This giant variety of the ordinary ant will fight just as
	fiercely as its small, distant cousin.  Various varieties
	exist, and they are known and feared for their relentless
	persecution of their victims.
	Anu was the Babylonian god of the heavens, the monarch of
	the north star.  He was the oldest of the Babylonian gods,
	the father of all gods, and the ruler of heaven and destiny.
	Anu features strongly in the _atiku_ festival in
	Babylon, Uruk and other cities.
	The most highly evolved of all the primates, as shown by
	all their anatomical characters and particularly the
	development of the brain.  Both arboreal and terrestrial,
	the apes have the forelimbs much better developed than
	the hind limbs.  Tail entirely absent.  Growth is slow
	and sexual maturity reached at quite an advanced age.
	  [ A Field Guide to the Larger Mammals of Africa, by Dorst ]

	Aldo the gorilla had a plan.  It was a good plan.  It was
	right.  He knew it.  He smacked his lips in anticipation as
	he thought of it.  Yes.  Apes should be strong.  Apes should
	be masters.  Apes should be proud.  Apes should make the
	Earth shake when they walked.  Apes should _rule_ the Earth.
	  [ Battle for the Planet of the Apes, by David Gerrold ]
	NEWTONIAN, adj.  Pertaining to a philosophy of the universe
	invented by Newton, who discovered that an apple will fall
	to the ground, but was unable to say why.  His successors
	and disciples have advanced so far as to be able to say
	when.
		[ The Devil's Dictionary, by Ambrose Bierce ]
	Archeology is the search for fact, not truth. [...]
	So forget any ideas you've got about lost cities, exotic travel,
	and digging up the world. We do not follow maps to buried
	treasure, and X never, ever, marks the spot.
		[ Indiana Jones and the Last Crusade ]

	"I cannot be having with archeological excavations, myself,"
	I said.  "The fellows who dig them only ever find tiny walls
	and a few bits of broken pottery, and then they get all
	excited and swear that they have just made the most
	important discovery of the century, the ruins of a mile-high
	gold-covered temple to Frogmore the God of Bike-Saddle
	Fixtures or some such."
	"I think you will find," said Mr Rune, "that they do this
	in order to secure further government funding for their
	diggings and so remain in employment."
	"That is a rather cynical view," I said.
		[ the brightonomicon, by Robert Rankin ]
	Archons are the predominant inhabitants of the heavens.
	However unusual their appearance, they are not generally
	evil.  They are beings at peace with themselves and their
	surroundings.
	Arioch, the patron demon of Elric's ancestors; one of the most
	powerful of all the Dukes of Hell, who was called Knight of
	the Swords, Lord of the Seven Darks, Lord of the Higher Hell
	and many more names besides.
		[ Elric of Melnibone, by Michael Moorcock ]
	I shot an arrow into the air,
	It fell to earth, I knew not where;
	For, so swiftly it flew, the sight
	Could not follow it in its flight.

	I breathed a song into the air,
	It fell to earth, I knew not where;
	For who has sight so keen and strong
	That it can follow the flight of song?

	Long, long afterward, in an oak
	I found the arrow still unbroke;
	And the song, from beginning to end,
	I found again in the heart of a friend.
	  [ The Arrow and the Song, by Henry Wadsworth Longfellow ]
	Ashikaga Takauji was a daimyo of the Minamoto clan who
	joined forces with the Go-Daigo to defeat the Hojo armies.
	Later when Go-Daigo attempted to reduce the powers of the
	samurai clans he rebelled against him.  He defeated Go-
	Daigo and established the emperor Komyo on the throne.
	Go-Daigo eventually escaped and established another
	government in the town of Yoshino.  This period of dual
	governments was known as the Nambokucho.
	  [ Samurai - The Story of a Warrior Tradition, by Cook ]
	It is said that Asmodeus is the overlord over all of hell.
	His appearance, unlike many other demons and devils, is
	human apart from his horns and tail.  He can freeze flesh
	with a touch.
		[]

	The evil demon who appears in the Apocryphal book of _Tobit_
	and is derived from the Persian _Aeshma_.  In _Tobit_ Asmodeus
	falls in love with Sara, daughter of Raguel, and causes the
	death of seven husbands in succession, each on his bridal night.
	He was finally driven from Egypt through a charm made by Tobias
	of the heart and liver of a fish burned on perfumed ashes, as
	described by Milton in _Paradise Lost_ (IV, 167-71).  Hence
	Asmodeus often figures as the spirit of matrimonial jealousy
	or unhappiness.
		[ Brewer's Concise Dictionary of Phrase and Fable ]
	The consecrated ritual knife of a Wiccan initiate (one of four
	basic tools, together with the wand, chalice and pentacle).
	Traditionally, the athame is a double-edged, black-handled,
	cross-hilted dagger of between six and eighteen inches length.
		[]

	A belt made from a twisted braid of silken threads of gold wound
	around her waist, and a dark-handled knife rested on a slant at
	her hip through a loop in the belt.
	[...]
	She arched her brows. "You should know better, dear godchild.
	You know I cannot speak what is untrue.  During our last
	encounter I returned to Faerie with great power and upset vital
	balances.  Those balances had to be redressed, and your debt was
	the mechanism that the Queen chose to employ."
	I frowned at her for a minute.  "Returned with great power."  My
	eyes fell to the knife at her waist.  "That thing the vampires
	gave you?"
	She rested her fingers lightly on the knife's hilt.  "Don't
	cheapen it.  This athame was no creation of theirs.  And it was
	less a gift than a trade."
	"Amoracchius and that thing are in the same league?"  Gulp.  My
	faerie godmother was dangerous enough without a big-time
	artifact of magic.
		[ Summer Knight, by Jim Butcher ]
	Athene was the offspring of Zeus, and without a mother.  She
	sprang forth from his head completely armed.  Her favourite
	bird was the owl, and the plant sacred to her is the olive.
		[ Bulfinch's Mythology, by Thomas Bulfinch ]
	"For ev'ry silver ringing blow,
	Cities and palaces shall grow!"

	"Bite deep and wide, O Axe, the tree,
	Tell wider prophecies to me."

	"When rust hath gnaw'd me deep and red,
	A nation strong shall lift his head.

	"His crown the very Heav'ns shall smite,
	Aeons shall build him in his might."

	"Bite deep and wide, O Axe, the tree;
	Bright Seer, help on thy prophecy!"
		[ Malcolm's Katie, by Isabella Valancey Crawford ]
	A mundane salamander, harmless.
	"Now, this third handkerchief," Mein Herr proceeded, "has also
	four edges, which you can trace continuously round and round:
	all you need do is to join its four edges to the four edges of
	the opening.  The Purse is then complete, and its outer
	surface--"
	"I see!" Lady Muriel eagerly interrupted.  "Its outer surface
	will be continuous with its inner surface!  But it will take
	time. I'll sew it up after tea."  She laid aside the bag, and
	resumed her cup of tea.  "But why do you call it Fortunatus's
	Purse, Mein Herr?"
	The dear old man beamed upon her, with a jolly smile, looking
	more exactly like the Professor than ever.  "Don't you see,
	my child--I should say Miladi?  Whatever is inside that Purse,
	is outside it; and whatever is outside it, is inside it.  So
	you have all the wealth of the world in that leetle Purse!"
		[ Sylvie and Bruno Concluded, by Lewis Carroll ]
	The "lord of the flies" is a translation of the Hebrew
	Ba'alzevuv (Beelzebub in Greek).  It has been suggested that
	it was a mistranslation of a mistransliterated word which
	gave us this pungent and suggestive name of the Devil, a
	devil whose name suggests that he is devoted to decay,
	destruction, demoralization, hysteria and panic...
		[ Notes on _Lord of the Flies_, by E.L. Epstein ]
	...  It came to the edge of the fire and the light faded as
	if a cloud had bent over it.  Then with a rush it leaped
	the fissure.  The flames roared up to greet it, and wreathed
	about it; and a black smoke swirled in the air.  Its streaming
	mane kindled, and blazed behind it.  In its right hand
	was a blade like a stabbing tongue of fire; in its left it
	held a whip of many thongs.
	'Ai, ai!' wailed Legolas.  'A Balrog!  A Balrog is come!'
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	Extinct rhinos include a variety of forms, the most
	spectacular being _Baluchitherium_ from the Oligocene of
	Asia, which is the largest known land mammal.  Its body, 18
	feet high at the shoulder and carried on massive limbs,
	allowed the 4-foot-long head to browse on the higher branches
	of trees.  Though not as enormous, the titanotheres of the
	early Tertiary were also large perissodactyls, _Brontotherium_
	of the Oligocene being 8 feet high at the shoulder.
		[ Prehistoric Animals, by Barry Cox ]
	He took another step and she cocked her right wrist in
	viciously.  She heard the spring click.  Weight slapped into
	her hand.
	"Here!" she shrieked hysterically, and brought her arm up in
	a hard sweep, meaning to gut him, leaving him to blunder
	around the room with his intestines hanging out in steaming
	loops.  Instead he roared laughter, hands on his hips,
	flaming face cocked back, squeezing and contorting with great
	good humor.
	"Oh, my dear!" he cried, and went off into another gale of
	laughter.
	She looked stupidly down at her hand.  It held a firm yellow
	banana with a blue and white Chiquita sticker on it.  She
	dropped it, horrified, to the carpet, where it became a
	sickly yellow grin, miming Flagg's own.
	"You'll tell," he whispered.  "Oh yes indeed you will."
	And Dayna knew he was right.
		[ The Stand, by Stephen King ]
	In Irish folklore and that of the Western Highlands of Scotland,
	a female fairy who announces her presence by shrieking and
	wailing under the windows of a house when one of its occupants
	is awaiting death.  The word is a phonetic spelling of the
	Irish _beansidhe_, a woman of the fairies.
		[ Brewer's Concise Dictionary of Phrase and Fable ]
	They dressed alike -- in buckskin boots, leathern breeks and
	deerskin shirts, with broad girdles that held axes and short
	swords; and they were all gaunt and scarred and hard-eyed;
	sinewy and taciturn.
	They were wild men, of a sort, yet there was still a wide
	gulf between them and the Cimmerian.  They were sons of
	civilization, reverted to a semi-barbarism.  He was a
	barbarian of a thousand generations of barbarians.  They had
	acquired stealth and craft, but he had been born to these
	things.  He excelled them even in lithe economy of motion.
	They were wolves, but he was a tiger.
		[ Conan - The Warrior, by Robert E. Howard ]
	A bat, flitting in the darkness outside, took the wrong turn
	as it made its nightly rounds and came in through the window
	which had been left healthfully open.  It then proceeded to
	circle the room in the aimless fat-headed fashion habitual
	with bats, who are notoriously among the less intellectually
	gifted of God's creatures.  Show me a bat, says the old
	proverb, and I will show you something that ought to be in
	some kind of a home.
		[ A Pelican at Blandings, by P.G. Wodehouse ]
	Probably most commonly associated with trapping, the leghold
	trap is a rather simple mechanical trap.  It is made up of two
	jaws, a spring of some sort, and a trigger in the middle.  When
	the animal steps on the trigger the trap closes around the leg,
	holding the animal in place.  Usually some kind of lure is used
	to position the animal, or the trap is set on an animal trail.
	Traditionally, leghold traps had tightly closing "teeth" to make
	sure the animal stayed in place.  The teeth also made sure the
	animal could not move the leg in the trap and ruin their fur.
	However, this resulted in many animals gnawing off legs in order
	to escape.  More modern traps have a gap called an "offset jaw"
	and work more like a handcuff.  They grip above the paw, making
	sure the animal cannot pull out but does not destroy the leg.
	This also allows the trapper to release unwanted catches.
		[ Wikipedia, the free encyclopedia ]
	This giant variety of its useful normal cousin normally
	appears in small groups, looking for raw material to produce
	the royal jelly needed to feed their queen.  On rare
	occasions, one may stumble upon a bee-hive, in which the
	queen bee is being well provided for, and guarded against
	intruders.
	[ The Creator ] has an inordinate fondness for beetles.
		[ attributed to biologist J.B.S. Haldane ]

	The common name for the insects with wings shaped like
	shields (_Coleoptera_), one of the ten sub-species into
	which the insects are divided.  They are characterized by
	the shields (the front pair of wings) under which the back
	wings are folded.
		[ Van Dale's Groot Woordenboek der Nederlandse Taal ]
	"A bell, book and candle job."
	The Bursar sighed.  "We tried that, Archchancellor."
	The Archchancellor leaned towards him.
	"Eh?" he said.
	"I _said_, we tried that Archchancellor," said the Bursar loudly,
	directing his voice at the old man's ear.  "After dinner, you
	remember?  We used Humptemper's _Names of the Ants_ and rang Old
	Tom."*
	"Did we, indeed.  Worked, did it?"
	"_No_, Archchancellor."

	* Old Tom was the single cracked bronze bell in the University
	bell tower.
		[ Eric, by Terry Pratchett ]
	Hear the sledges with the bells --
	    Silver bells!
	What a world of merriment their melody foretells!
	How they tinkle, tinkle, tinkle,
	    In the icy air of night!
	While the stars that oversprinkle
	All the heavens, seem to twinkle
	    With a crystalline delight;
	Keeping time, time, time,
	In a sort of Runic rhyme,
	To the tintinabulation that so musically wells
	From the bells, bells, bells, bells,
	    Bells, bells, bells --
	From the jingling and the tinkling of the bells.
		[ The Bells, by Edgar Allan Poe ]
	The blindfolding was performed by binding a piece of the
	yellowish linen whereof those of the Amahagger who condescended
	to wear anything in particular made their dresses tightly round
	the eyes.  This linen I afterwards discovered was taken from the
	tombs, and was not, as I had first supposed, of native
	manufacture.  The bandage was then knotted at the back of the
	head, and finally brought down again and the ends bound under
	the chin to prevent its slipping.  Ustane was, by the way, also
	blindfolded, I do not know why, unless it was from fear that she
	should impart the secrets of the route to us.
		[ She, by H. Rider Haggard ]
	On this particular day Blind Io, by dint of constant vigilance
	the chief of the gods, sat with his chin on his hand
	and looked at the gaming board on the red marble table in
	front of him.  Blind Io had got his name because, where his
	eye sockets should have been, there were nothing but two
	areas of blank skin.  His eyes, of which he had an impressively
	large number, led a semi-independent life of their
	own.  Several were currently hovering above the table.
	    [ The Colour of Magic, by Terry Pratchett ]
	These giant amoeboid creatures look like nothing more than
	puddles of slime, but they both live and move, feeding on
	metal or wood as well as the occasional dungeon explorer to
	supplement their diet.

	But we were not on a station platform.  We were on the track ahead
	as the nightmare, plastic column of fetid black iridescence oozed
	tightly onward through its fifteen-foot sinus, gathering unholy
	speed and driving before it a spiral, re-thickening cloud of the
	pallid abyss vapor.  It was a terrible, indescribable thing vaster
	than any subway train -- a shapeless congeries of protoplasmic
	bubbles, faintly self-luminous, and with myriads of temporary eyes
	forming and unforming as pustules of greenish light all over the
	tunnel-filling front that bore down upon us, crushing the frantic
	penguins and slithering over the glistening floor that it and its
	kind had swept so evilly free of all litter.
		[ At the Mountains of Madness, by H.P. Lovecraft ]
	I'd planned how to prevent the lock from sealing behind me; it
	required a temporary sacrifice, not cleverness.  I used the door
	itself to help me cut off a portion of my body, after shunting all
	memory from the piece to be abandoned.  The piece, looking
	inexpressibly dear and forlorn for a bit of blue jelly, would
	force open the outer door until I returned and rejoined it.
		[ Beholder's Eye, by Julie E. Czerneda ]
	Bone devils attack with weapons and with a great hooked tail
	which causes a loss of strength to those they sting.
	Faustus: Come on Mephistopheles.  What shall we do?
	Mephistopheles: Nay, I know not.  We shall be cursed with bell,
	book, and candle.
	Faustus: How?  Bell, book, and candle, candle, book, and bell,
	Forward and backward, to curse Faustus to hell.
	Anon you shall hear a hog grunt, a calf bleat, and an ass bray,
	Because it is Saint Peter's holy day.
	(Enter all the Friars to sing the dirge)
		[ Doctor Faustus and Other Plays, by Christopher Marlowe ]
	Rincewind pulled himself up and thought about reaching for his
	stick.  And then he thought again.  The man had a couple of spears
	stuck in the ground, and people here were good at spears, because
	if you didn't get efficient at hitting the things that moved fast
	you had to eat the things that moved slowly.  He was also holding
	a boomerang, and it wasn't one of those toy ones that came back.
	This was one of the big, heavy, gently curved sort that didn't
	come back because it was sticking in something's ribcage.  You
	could laugh at the idea of wooden weapons until you saw the kind
	of wood that grew here.
		[ The Last Continent, by Terry Pratchett ]
	In Fantasyland these are remarkable in that they seldom or
	never wear out and are suitable for riding or walking in
	without the need of Socks.  Boots never pinch, rub, or get
	stones in them; nor do nails stick upwards into the feet from
	the soles.  They are customarily mid-calf length or knee-high,
	slip on and off easily and never smell of feet.  Unfortunately,
	the formula for making this splendid footwear is a closely
	guarded secret, possibly derived from nonhumans (see Dwarfs,
	Elves, and Gnomes).
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	On waking, he found himself on the green knoll whence he had
	first seen the old man of the glen.  He rubbed his eyes -- it
	was a bright sunny morning.  The birds were hopping and
	twittering among the bushes, and the eagle was wheeling aloft,
	and breasting the pure mountain breeze.  "Surely," thought Rip,
	"I have not slept here all night."  He recalled the occurrences
	before he fell asleep.  The strange man with a keg of liquor --
	the mountain ravine -- the wild retreat among the rocks -- the
	woe-begone party at ninepins -- the flagon -- "Oh! that flagon!
	that wicked flagon!" thought Rip -- "what excuse shall I make
	to Dame Van Winkle!"
		[ Rip Van Winkle, a Posthumous Writing
		  of Diedrich Knickerbocker, by Washington Irving ]
	I worked the lever well under, and stretched my back; the end
	of the stone rose up, and I kicked the fulcrum under.  Then,
	when I was going to bear down, I remembered there was
	something to get out from below; when I let go of the lever,
	the stone would fall again.  I sat down to think, on the root
	of the oak tree; and, seeing it stand about the ground, I saw
	my way.  It was lucky I had brought a longer lever.  It would
	just reach to wedge under the oak root.
	Bearing it down so far would have been easy for a heavy man,
	but was a hard fight for me.  But this time I meant to do it
	if it killed me, because I knew it could be done.  Twice I
	got it nearly there, and twice the weight bore it up again;
	but when I flung myself on it the third time, I heard in my
	ears the sea-sound of Poseidon.  Then I knew this time I
	would do it; and so I did.
		[ The King Must Die, by Mary Renault ]
	"Stand to it, my hearts of gold," said the old bowman as he
	passed from knot to knot.  "By my hilt! we are in luck this
	journey.  Bear in mind the old saying of the Company."
	"What is that, Aylward?" cried several, leaning on their bows
	and laughing at him.
	"'Tis the master-bowyer's rede: 'Every bow well bent.  Every
	shaft well sent.  Every stave well nocked.  Every string well
	locked.'  There, with that jingle in his head, a bracer on
	his left hand, a shooting glove on his right, and a
	farthing's-worth of wax in his girdle, what more doth a
	bowman need?"
	"It would not be amiss," said Hordle John, "if under his
	girdle he had four farthings'-worth of wine."
		[ The White Company, by Sir Arthur Conan Doyle ]
	Brigit (Brigid, Bride, Banfile), which means the Exalted One,
	was the Celtic (continental European and Irish) fertility
	goddess.  She was originally celebrated on February first in
	the festival of Imbolc, which coincided with the beginning
	of lactation in ewes and was regarded in Scotland as the date
	on which Brigit deposed the blue-faced hag of winter.  The
	Christian calendar adopted the same date for the Feast of St.
	Brigit.  There is no record that a Christian saint ever
	actually existed, but in Irish mythology she became the
	midwife to the Virgin Mary.
		[ Encyclopedia of Gods, by Michael Jordan ]
	Bring me my broadsword
	And clear understanding.
	Bring me my cross of gold,
	As a talisman.
		[ "Broadsword" (refrain), by Ian Anderson ]
	Bugbears are relatives of goblins, although they tend to be
	larger and more hairy.  They are aggressive carnivores and
	sometimes kill just for the treasure their victims may be
	carrying.
	'I read you by your bugle horn
	And by your palfrey good,
	I read you for a Ranger sworn
	To keep the King's green-wood.'
	'A Ranger, Lady, winds his horn,
	And 'tis at peep of light;
	His blast is heard at merry morn,
	And mine at dead of night.'
		[ Brignall Banks, by Sir Walter Scott ]
	"Good," he said and, unbelievably, smiled at me, a smirk like
	a round of rotted cheese.  "What did your keeper use on you?
	A bullwhip?"
		[ Melusine, by Sarah Monette ]
	A classical Mesoamerican Aztec god, also known as Mixcoatl-
	Camaxtli (the Cloud Serpent), Camaxtli is the god of war.  He
	is also a deity of hunting and fire who received human
	sacrifice of captured prisoners.  According to tradition, the
	sun god Tezcatlipoca transformed himself into Mixcoatl-Camaxtli
	to make fire by twirling the sacred fire sticks.
		[ Encyclopedia of Gods, by Michael Jordan ]
	The seat of Arthur's power in medieval romance.  The name is
	of unknown origin and refers to the castle but also includes
	the surrounding town.  ...  Camelot appears, most significantly,
	as a personal capital as opposed to a permanent or national
	one.  It is Arthur's and Arthur's alone.  There are no previous
	lords and Arthur's successor, Constantine, does not take up
	residence there.  Camelot is actually said to have been
	demolished after Arthur and Lancelot were gone by Mark.  Fazio
	degli Uberti, the Italian poet, claims to have seen the ruins
	in the 14th century.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	Only once a year, on his birthday, did Charlie Bucket ever
	get to taste a bit of chocolate.  The whole family saved up
	their money for that special occasion, and when the great
	day arrived, Charlie was always presented with one small
	chocolate bar to eat all by himself.  And each time he
	received it, on those marvelous birthday mornings, he would
	place it carefully in a small wooden box that he owned, and
	treasure it as though it were a bar of solid gold; and for
	the next few days, he would allow himself only to look at it,
	but never to touch it.  Then at last, when he could stand it
	no longer, he would peel back a tiny bit of the paper
	wrapping at one corner to expose a tiny bit of chocolate, and
	then he would take a tiny nibble - just enough to allow the
	lovely sweet taste to spread out slowly over his tongue.  The
	next day, he would take another tiny nibble, and so on, and
	so on.  And in this way, Charlie would make his ten-cent bar
	of birthday chocolate last him for more than a month.
		[ Charlie and the Chocolate Factory, by Roald Dahl ]
	In World War II, Britain's air ministry spread the word that
	a diet of these vegetables helped pilots see Nazi bombers
	attacking at night.  That was a lie intended to cover the real
	matter of what was underpinning the Royal Air Force's successes:
	Airborne Interception Radar, also known as AI. ... British
	Intelligence didn't want the Germans to find out about the
	superior new technology helping protect the nation, so they
	created a rumor to afford a somewhat plausible-sounding
	explanation for the sudden increase in bombers being shot down.
	... The disinformation was so persuasive that the English public
	took to eating carrots to help them find their way during the
	blackouts.
		[ Urban Legends Reference Pages ]
	Imagine a sealed container, so perfectly constructed that no
	physical influence can pass either inwards or outwards across its
	walls.  Imagine that inside the container is a cat, and also a
	device that can be triggered by some quantum event.  If that event
	takes place, then the device smashes a phial containing cyanide and
	the cat is killed.  If the event does not take place, the cat lives
	on.  In Schroedinger's original version, the quantum event was the
	decay of a radioactive atom.  ...  To the outside observer, the cat
	is indeed in a linear combination of being alive and dead, and only
	when the container is finally opened would the cat's state vector
	collapse into one or the other.  On the other hand, to a (suitably
	protected) observer inside the container, the cat's state-vector
	would have collapsed much earlier, and the outside observer's
	linear combination has no relevance.
		[ The Emperor's New Mind, by Roger Penrose ]
	Well-known quadruped domestic animal from the family of
	predatory felines (_Felis ochreata domestica_), with a thick,
	soft pelt; often kept as a pet.  Various folklores have the
	cat associated with magic and the gods of ancient Egypt.
		[]

	So Ulthar went to sleep in vain anger; and when the people
	awakened at dawn - behold!  Every cat was back at his
	accustomed hearth!  Large and small, black, grey, striped,
	yellow and white, none was missing.  Very sleek and fat did
	the cats appear, and sonorous with purring content.
		[ The Cats of Ulthar, by H.P. Lovecraft ]
	Now it was light enough to leave.  Moon-Watcher picked up
	the shriveled corpse and dragged it after him as he bent
	under the low overhang of the cave.  Once outside, he
	threw the body over his shoulder and stood upright - the
	only animal in all this world able to do so.
	Among his kind, Moon-Watcher was almost a giant.  He was
	nearly five feet high, and though badly undernourished
	weighed over a hundred pounds.  His hairy, muscular body
	was halfway between ape and man, but his head was already
	much nearer to man than ape.  The forehead was low, and
	there were ridges over the eye sockets, yet he unmistakably
	held in his genes the promise of humanity.
		[ 2001: A Space Odyssey, by Arthur C. Clarke ]
	'Twas in a land unkempt of life's red dawn;
	Where in his sanded cave he dwelt alone;
	Sleeping by day, or sometimes worked upon
	His flint-head arrows and his knives of stone;
	By night stole forth and slew the savage boar,
	So that he loomed a hunter of loud fame,
	And many a skin of wolf and wild-cat wore,
	And counted many a flint-head to his name;
	Wherefore he walked the envy of the band,
	Hated and feared, but matchless in his skill.
	Till lo! one night deep in that shaggy land,
	He tracked a yearling bear and made his kill;
	Then over-worn he rested by a stream,
	And sank into a sleep too deep for dream.
		[ The Dreamer, by Robert Service ]
	Of all the monsters put together by the Greek imagination
	the Centaurs (Kentauroi) constituted a class in themselves.
	Despite a strong streak of sensuality, in their make-up,
	their normal behaviour was moral, and they took a kindly
	thought of man's welfare.  The attempted outrage of Nessos on
	Deianeira, and that of the whole tribe of Centaurs on the
	Lapith women, are more than offset by the hospitality of
	Pholos and by the wisdom of Cheiron, physician, prophet,
	lyrist, and the instructor of Achilles.  Further, the
	Centaurs were peculiar in that their nature, which united the
	body of a horse with the trunk and head of a man, involved
	an unthinkable duplication of vital organs and important
	members.  So grotesque a combination seems almost un-Greek.
	These strange creatures were said to live in the caves and
	clefts of the mountains, myths associating them especially
	with the hills of Thessaly and the range of Erymanthos.
		[ Mythology of all races, Vol. 1, pp. 270-271 ]
	I observed here, what I had often seen before, that certain
	districts abound in centipedes.  Here they have light
	reddish bodies and blue legs; great myriapedes are seen
	crawling every where.  Although they do no harm, they excite
	in man a feeling of loathing.  Perhaps our appearance
	produces a similar feeling in the elephant and other large
	animals.  Where they have been much disturbed, they
	certainly look upon us with great distrust, as the horrid
	biped that ruins their peace.
		[ Travels and Researches in South Africa,
			by Dr. David Livingstone ]
	Cerberus, (or Kerberos in Greek), was the three-headed dog
	that guarded the Gates of Hell.  He allowed any dead to enter,
	and likewise prevented them all from ever leaving.  He was
	bested only twice:  once when Orpheus put him to sleep by
	playing bewitching music on his lyre, and the other time when
	Hercules confronted him and took him to the world of the
	living (as his twelfth and last labor).
	A small lizard perched on a brown stone.  Feeling threatened by
	the approach of human beings along the path, it metamorphosed
	into a stingray beetle, then into a stench-puffer, then into a
	fiery salamander.
	Bink smiled.  These conversions weren't real.  It had assumed
	the forms of obnoxious little monsters, but not their essence.
	It could not sting, stink or burn.  It was a chameleon, using
	its magic to mimic creatures of genuine threat.
	Yet as it shifted into the form of a basilisk it glared at him
	with such ferocity that Bink's mirth abated.  If its malice
	could strike him, he would be horribly dead.
		[ A Spell for Chameleon, by Piers Anthony ]
	When an ancient Greek died, his soul went to the nether world:
	the Hades.  To reach the nether world, the souls had to cross
	the river Styx, the river that separated the living from the
	dead.  The Styx could be crossed by ferry, whose shabby ferry-
	man, advanced in age, was called Charon.  The deceased's next-
	of-kin would place a coin under his tongue, to pay the ferry-
	man.
	Dantes rapidly cleared away the earth around the chest.  Soon
	the center lock appeared, then the handles at each end, all
	delicately wrought in the manner of that period when art made
	precious even the basest of metals.  He took the chest by the
	two handles and tried to lift it, but it was impossible.  He
	tried to open it; it was locked.  He inserted the sharp end
	of his pickaxe between the chest and the lid and pushed down
	on the handle.  The lid creaked, then flew open.
	Dantes was seized with a sort of giddy fever.  He cocked his
	gun and placed it beside him.  Then he closed his eyes like
	a child, opened them and stood dumbfounded.
	The chest was divided into three compartments.  In the first
	were shining gold coins.  In the second, unpolished gold
	ingots packed in orderly stacks.  From the third compartment,
	which was half full, Dantes picked up handfuls of diamonds,
	pearls and rubies.  As they fell through his fingers in a
	glittering cascade, they gave forth the sound of hail beating
	against the windowpanes.
		[ The Count of Monte Cristo, by Alexandre Dumas ]
	A character in Chinese mythology noted for bringing about the
	end of a terrible drought which threatened the survival of
	the people.  He achieved this by means of sprinkling the
	earth with water from a bowl, using the branch of a tree to
	do so.  He became the heavenly controller of the rain, and
	lived with other celestial beings in their paradise on Mount
	Kunlun.
	  [ The Illustrated Who's Who In Mythology, by Michael Senior ]
	Tiamat is said to be the mother of evil dragonkind.  She is
	extremely vain.
	A pale yellow variety of crystalline quartz resembling topaz.
	It was a warm spring night when a fist knocked at the door so
	hard that the hinges bent.
	A man opened it and peered out into the street. There was
	mist coming off the river and it was a cloudy night. He might
	as well have tried to see through white velvet.
	But he thought afterwards that there had been shapes out
	there, just beyond the light spilling out into the road. A
	lot of shapes, watching him carefully. He thought maybe
	there'd been very faint points of light...
	There was no mistaking the shape right in front of him,
	though. It was big and dark red and looked like a child's
	clay model of a man. Its eyes were two embers.
		[ Feet of Clay, by Terry Pratchett ]
	Hither came Conan, the Cimmerian, black-haired, sullen-eyed,
	sword in hand, a thief, a reaver, a slayer, with gigantic
	melancholies and gigantic mirth, to tread the jeweled
	thrones of the Earth under his sandalled feet.
		[ The Phoenix on the Sword, by Robert E. Howard ]
	Cloaks are the universal outer garb of everyone who is not a
	Barbarian.  It is hard to see why.  They are open in front
	and require you at most times to use one hand to hold them
	shut.  On horseback they leave the shirt-sleeved arms and
	most of the torso exposed to wind and Weather.  The OMTs
	[ Official Management Terms ] for Cloaks well express their
	difficulties.  They are constantly _swirling and dripping_
	and becoming _heavy with water_ in rainy Weather, _entangling
	with trees_ or _swords_, or needing to be _pulled close
	around her/his shivering body_.  This seems to suggest they
	are less than practical for anyone on an arduous Tour.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	I wandered lonely as a cloud
	That floats on high o'er vales and hills,
	When all at once I saw a crowd,
	A host, of golden daffodils;
	Beside the lake, beneath the trees,
	Fluttering and dancing in the breeze.
		[ I Wandered Lonely as a Cloud, by William Wordsworth ]
	Darzee and his wife only cowered down in the nest without
	answering, for from the thick grass at the foot of the bush
	there came a low hiss -- a horrid cold sound that made
	Rikki-tikki jump back two clear feet.  Then inch by inch out of
	the grass rose up the head and spread hood of Nag, the big
	black cobra, and he was five feet long from tongue to tail.
	When he had lifted one-third of himself clear of the ground,
	he stayed balancing to and fro exactly as a dandelion-tuft
	balances in the wind, and he looked at Rikki-tikki with the
	wicked snake's eyes that never change their expression,
	whatever the snake may be thinking of.
	'Who is Nag?' said he.  '_I_ am Nag.  The great God Brahm put
	his mark upon all our people, when the first cobra spread his
	hood to keep the sun off Brahm as he slept.  Look, and be
	afraid!'
		[ Rikki-tikki-tavi, by Rudyard Kipling ]
	Once in a great while, when the positions of the stars are
	just right, a seven-year-old rooster will lay an egg.  Then,
	along will come a snake, to coil around the egg, or a toad,
	to squat upon the egg, keeping it warm and helping it to
	hatch.  When it hatches, out comes a creature called basilisk,
	or cockatrice, the most deadly of all creatures.  A single
	glance from its yellow, piercing toad's eyes will kill both
	man and beast.  Its power of destruction is said to be so
	great that sometimes simply to hear its hiss can prove fatal.
	Its breath is so venomous that it causes all vegetation
	to wither.

	There is, however, one creature which can withstand the
	basilisk's deadly gaze, and this is the weasel.  No one knows
	why this is so, but although the fierce weasel can slay the
	basilisk, it will itself be killed in the struggle.  Perhaps
	the weasel knows the basilisk's fatal weakness:  if it ever
	sees its own reflection in a mirror it will perish instantly.
	But even a dead basilisk is dangerous, for it is said that
	merely touching its lifeless body can cause a person to
	sicken and die.
	  [ Mythical Beasts, by Deirdre Headon (The Leprechaun Library)
		and other sources ]
	The coin bears the likeness of Belwit the Flat, along with the
	inscriptions, "One Zorkmid," and "699 GUE [ Great Underground
	Empire ]."  On the other side, the coin depicts Egreth Castle,
	and says "In Frobs We Trust" in several languages.
		[ Zork Zero, by Infocom ]
	[Scene: Mr. Moon and Gilbert enter tavern and discover many
	corpses strewn about the place; Blind Pew is sole survivor.]
	Blind Pew:  Evening.  Sounded as though there has been a bit
	            of a squabble.
	 Mr. Moon:  Squabble?  They're all dead.
	Blind Pew:  Oh.  Must have been more of a tiff then.
		[ Yellowbeard, directed by Mel Damski, screenplay
		  by Graham Chapman, Peter Cook, Bernard McKenna ]
	You couldn't escape the pointy hat, though. There was nothing magical
	about a pointy hat except that it said that the woman underneath it
	was a witch. People paid attention to a pointy hat.
		[ Wintersmith, by Terry Pratchett ]
	The cope is a liturgical vestment which may be worn by any
	rank of the clergy.  Copes are made in all liturgical colours,
	and are like a very long mantle or cloak, fastened at the breast
	by a clasp.
		[ Wikipedia, the free encyclopedia ]
	He was dressed in a flowing gown with fur tippets which had
	the signs of the zodiac embroidered over it, with various
	cabalistic signs, such as triangles with eyes in them, queer
	crosses, leaves of trees, bones of birds and animals, and a
	planetarium whose stars shone like bits of looking-glass with
	the sun on them.  He had a pointed hat like a dunce's cap, or
	like the headgear worn by ladies of that time, except that
	the ladies were accustomed to have a bit of veil floating
	from the top of it.
		[ The Once and Future King, by T.H. White ]

	"A wizard!" Dooley exclaimed, astounded.
	"At your service, sirs," said the wizard.  "How
	perceptive of you to notice.  I suppose my hat rather gives me
	away.  Something of a beacon, I don't doubt."  His hat was
	pretty much that, tall and cone-shaped with stars and crescent
	moons all over it.  All in all, it couldn't have been more
	wizardish.
		[ The Elfin Ship, James P. Blaylock ]
	A mythical feathered serpent.  The couatl are very rare.
	This carnivore is known for its voracious appetite and
	inflated view of its own intelligence.
	If you want to know what cram is, I can only say that I don't
	know the recipe; but it is biscuitish, keeps good indefinitely,
	is supposed to be sustaining, and is certainly not entertaining,
	being in fact very uninteresting except as a chewing
	exercise.  It was made by the Lake-men for long journeys.
		[ The Hobbit, by J.R.R. Tolkien ]
	Gregor stared at the pastry tray, and sighed.  "I suppose
	it would disturb the guards if I tried to shove a cream torte up
	your nose."
	"Deeply.  You should have done it when we were eight and
	twelve, you could have gotten away with it then.  The cream pie
	of justice flies one way," Miles snickered.
		[ The Vor Game, by Lois McMaster Bujold ]
	"We are not worried about the expiration date," repeated the
	barman, satisfied that he now had Ford Prefect's full attention;
	"we are worried about the entire piece of plastic."
	"What?" said Ford.  He seemed a little taken aback.
	"This," said the barman, holding out the card as if it were a
	small fish whose soul had three weeks earlier winged its way to
	the Land Where Fish Are Eternally Blessed.  "We don't accept it."
	[...]
	"But you don't understand," said Ford, his expression slowly
	ripening from a little taken abackness into rank incredulity,
	"this is the American Express card.  It is the finest way of
	settling bills known to man.  Haven't you read their junk mail?"
		[ So Long, and Thanks For All The Fish, by Douglas Adams ]
	A big animal with the appearance of a lizard, constituting
	an order of the reptiles (_Loricata_ or _Crocodylia_), the
	crocodile is a large, dangerous predator native to tropical
	and subtropical climes.  It spends most of its time in large
	bodies of water.
		[]

	How doth the little crocodile
	    Improve his shining tail,
	And pour the waters of the Nile
	    On every golden scale!

	How cheerfully he seems to grin
	    How neatly spreads his claws,
	And welcomes little fishes in,
	    With gently smiling jaws!
		[ How Doth The Little Crocodile, by Lewis Carroll ]
	Croesus (in Greek: Kroisos), the wealthy last king of Lydia;
	his empire was destroyed when he attacked Cyrus in 549 BC,
	after the Oracle of Delphi (q.v.) had told him: "if you attack
	the Persians, you will destroy a mighty empire".  Herodotus
	relates of his legendary conversation with Solon of Athens,
	who impressed upon him that being rich does not imply being
	happy and that no one should be considered fortunate before
	his death.
	Warily Conan scanned his surroundings, all of his senses alert
	for signs of possible danger.  Off in the distance, he could
	see the familiar shapes of the Camp of the Duali tribe.
	Suddenly, the hairs on his neck stand on end as he detects the
	aura of evil magic in the air.  Without thought, he readies
	his weapon, and mutters under his breath:
	"By Crom, there will be blood spilt today."
	    [ Conan the Avenger, by Robert E. Howard, Bjorn Nyberg,
		and L. Sprague de Camp ]
	"God save thee, ancient Mariner!
	From the fiends, that plague thee thus! -
	Why look'st thou so?" - With my cross-bow
	I shot the Albatross.
	  [ The Rime of the Ancient Mariner, by Samuel Taylor Coleridge ]
	You look into one of these and see _vapours swirling like
	clouds_.  These shortly clear away to show a sort of video
	without sound of something that is going to happen to you
	soon.  It is seldom good news.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	Curses are longstanding ill-wishings which, in Fantasyland,
	often manifest as semisentient.  They have to be broken or
	dispelled.  The method varies according to the type and
	origin of the Curse:
	[...]
	4.  Curses on Rings and Swords.  You have problems.  Rings
	have to be returned whence they came, preferably at over a
	thousand degrees Fahrenheit, and the Curse means you won't
	want to do this.  Swords usually resist all attempts to
	raise their Curses.  Your best source is to hide the Sword
	or give it to someone you dislike.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	A pack of snow-white, red-eared spectral hounds which
	sometimes took part in the kidnappings and raids the
	inhabitants of the underworld sometimes make on this world
	(the Wild Hunt).  They are associated in Wales with the sounds
	of migrating wild geese, and are said to be leading the souls
	of the damned to hell.  The phantom chase is usually heard or
	seen in midwinter and is accompanied by a howling wind.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	And after he had milked his cattle swiftly,
	he again took hold of two of my men
	and had them as his supper.
	Then I went, with a tub of red wine,
	to stand before the Cyclops, saying:
	"A drop of wine after all this human meat,
	so you can taste the delicious wine
	that is stored in our ship, Cyclops."
	He took the tub and emptied it.
	He appreciated the priceless wine that much
	that he promptly asked me for a second tub.
	"Give it", he said, "and give me your name as well".
			...
	Thrice I filled the tub,
	and after the wine had clouded his mind,
	I said to him, in a tone as sweet as honey:
	"You have asked my name, Cyclops?  Well,
	my name is very well known.  I'll give it to you,
	if you give me the gift you promised me as a guest.
	My name is Nobody.  All call me thus:
	my father and my mother and my friends."
	Ruthlessly he answered to this:
	"Nobody, I will eat you last of all;
	your host of friends will completely precede you.
	That will be my present to you, my friend."
	And after these words he fell down backwards,
	restrained by the all-restrainer Hupnos.
	His monstrous neck slid into the dust;
	the red wine squirted from his throat;
	the drunk vomited lumps of human flesh.
		[ The Odyssey, (chapter Epsilon), by Homer ]
	Is this a dagger which I see before me,
	The handle toward my hand? Come, let me clutch thee.
	I have thee not, and yet I see thee still.
	Art thou not, fatal vision, sensible
	To feeling as to sight? or art thou but
	A dagger of the mind, a false creation,
	Proceeding from the heat-oppressed brain?
	I see thee yet, in form as palpable
	As this which now I draw.
		[ Macbeth, by William Shakespeare ]
	... But he ruled rather by force and fear, if they might
	avail; and those who perceived his shadow spreading over the
	world called him the Dark Lord and named him the Enemy; and
	he gathered again under his government all the evil things of
	the days of Morgoth that remained on earth or beneath it,
	and the Orcs were at his command and multiplied like flies.
	Thus the Black Years began ...
		[ The Silmarillion, by J.R.R. Tolkien ]
	Darts are missile weapons, designed to fly such that a sharp,
	often weighted point will strike first.  They can be
	distinguished from javelins by fletching (i.e., feathers on
	the tail) and a shaft that is shorter and/or more flexible,
	and from arrows by the fact that they are not of the right
	length to use with a normal bow.
		[ Wikipedia, the free encyclopedia ]

	Against my foe I hurled a murderous dart.
	He caught it in his hand -- I heard him laugh --
	I saw the thing that should have pierced his heart
	Turn to a golden staff.
		[ Gifts, by Mary Coleridge ]
	A terrible deity, whose very name was capable of producing the
	most horrible effects.  He is first mentioned by the 4th-century
	Christian writer, Lactantius, who in doing so broke with the
	superstition that the very reference to Demogorgon by name
	brought death and disaster.
		[ Brewer's Concise Dictionary of Phrase and Fable ]

	Demogorgon, the prince of demons, wallows in filth and can
	spread a quickly fatal illness to his victims while rending
	them.  He is a mighty spellcaster, and he can drain the life
	of mortals with a touch of his tail.
	It is often very hard to discover what any given Demon looks
	like, apart from a general impression of large size, huge
	fangs, staring eyes, many limbs, and an odd color; but all
	accounts agree that Demons are very powerful, very Magic (in
	a nonhuman manner), and made of some substance that can squeeze
	through a keyhole yet not be pierced with a Sword.  This makes
	them difficult to deal with, even on the rare occasions when
	they are friendly.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	Think not that I am come to send peace on earth:  I came not to
	send peace, but a sword.
		[ The Gospel According to Matthew, 10:34 ]
	Here was a sight to beat all: a man in the prime of life rambling
	barefoot down the wilderness road, dressed in raggedy pantaloons
	sewn out of two meal sacks, a shirt so tattered and scrappish
	that its owner had a proud choice of holes to stick his arms
	through, and -- the crowning glory -- a hat in the exact
	likeness of a tin mush pot, somewhat dented, but snugly fitted,
	with the handle turned to one side, as if it were the very
	latest and smartest of fashions.
		[ Johnny Appleseed, by James Howard Kunstler ]
	The hardest known mineral (with a hardness of 10 on Mohs' scale).
	It is an allotropic form of pure carbon that has crystallized in
	the cubic system, usually as octahedra or cubes, under great
	pressure.
		[ A Concise Dictionary of Physics ]

	The diamond, _adamas_ or _dyamas_, is a transparent stone, like
	crystal, but having the colour of polished iron, but it cannot
	be destroyed by iron, fire or any other means, unless it is
	placed in the hot blood of a goat; with sharp pieces of diamond
	other stones are engraved and polished.  It is no greater than
	a small nut.  There are six kinds, however Adamant attracts
	metal; it expels venom; it produces amber (and is efficacious
	against empty fears and for those resisting spells).  It is
	found in India, in Greece and in Cyprus, where magicians make
	use of it.  It gives you courage; it averts apparitions; it
	removes anger and quarrels; it heals the mad; it defends you
	from your enemies.  It should be set in gold or silver and worn
	on the left arm.  It is likewise found in Arabia.
	 	[ The Aberdeen Bestiary, translated by Colin McLaren ]
	The most famous and the first to be named of the imaginary
	"minerals" of Star Trek is dilithium. ... Because of this
	mineral's central role in the storyline, a whole mythology
	surrounds it.  It is, however, a naturally occurring substance
	within the mythology, as there are various episodes that
	make reference to the mining of dilithium deposits. ...
	This name itself is imaginary and gives no real information on
	the structure or make-up of this substance other than that this
	version of the name implies a lithium and iron-bearing
	aluminosilicate of some sort.  That said, the real mineral that
	most closely matches the descriptive elements of this name is
	ferroholmquistite which is a dilithium triferrodiallosilicate.
	If one goes on the premise that nature follows certain general
	norms, then one could extrapolate that dilithium might have a
	similar number of silicon atoms in its structure.
	Keeping seven (i.e. hepto) ferrous irons and balancing the
	oxygens would give a theoretical formula of Li2Fe7Al2Si8O27.
	A mineral with this composition could theoretically exist,
	although it is doubtful that it would possess the more fantastic
	properties ascribed to dilithium.
		[ The Mineralogy of Star Trek, by Jeffrey de Fourestier ]
	A wolflike wild dog, Canis dingo, of Australia, having a
	reddish- or yellowish-brown coat, believed to have been
	introduced by the aborigines.
		[ Webster's Encyclopedic Unabridged Dictionary
		    of the English Language ]
	Ask not, what your magic can do to it.  Ask what it can do
	to your magic.
	The Roman ruler of the underworld and fortune, similar to the
	Greek Hades.  Every hundred years, the Ludi Tarentini were
	celebrated in his honor.  The Gauls regarded Dis Pater as
	their ancestor.  The name is a contraction of the Latin Dives,
	"the wealthy", Dives Pater, "the wealthy father", or "Fater
	Wealth".  It refers to the wealth of precious stone below the
	earth.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	This strange creature appears to be mutant form of puma (aka
	cougar or mountain lion) which lives in underground settings
	rather than outdoor wilderness.  It is capable of exchanging
	positions with people or creatures in its path and is not
	fooled by displaced images of others.
	The djinn are genies from the elemental plane of Air.  There,
	among their kind, they have their own societies.  They are
	sometimes encountered on earth and may even be summoned here
	to perform some service for powerful wizards.  The wizards
	often leave them about for later service, safely tucked away
	in a flask or lamp.  Once in a while, such a tool is found by
	a lucky rogue, and some djinn are known to be so grateful
	when released that they might grant their rescuer a wish.
	A domestic animal, the _tame dog_ (_Canis familiaris_), of
	which numerous breeds exist.  The male is called a dog,
	while the female is called a bitch.  Because of its known
	loyalty to man and gentleness with children, it is the
	world's most popular domestic animal.  It can easily be
	trained to perform various tasks.
	Through me you pass into the city of woe:
	Through me you pass into eternal pain:
	Through me among the people lost for aye.
	Justice the founder of my fabric mov'd:
	To rear me was the task of power divine,
	Supremest wisdom, and primeval love.
	Before me things create were none, save things
	Eternal, and eternal I endure.
	All hope abandon ye who enter here.
	    [ The Inferno, from The Divine Comedy of Dante Alighieri,
	      translated by H.F. Cary ]
	"Then we can only give thanks that this is Antarctica, where
	there is not one, single, solitary, living thing for it to
	imitate, except these animals in camp."

	"Us," Blair giggled. "It can imitate us. Dogs can't make four
	hundred miles to the sea; there's no food. There aren't any
	skua gulls to imitate at this season. There aren't any
	penguins this far inland. There's nothing that can reach the
	sea from this point - except us. We've got brains. We can do
	it. Don't you see - it's got to imitate us - it's got to be one
	of us - that's the only way it can fly an airplane - fly a plane
	for two hours, and rule - be - all Earth's inhabitants. A world
	for the taking - if it imitates us!
		[ Who Goes There?, by John W. Campbell ]

	Xander: Let go!  I have to kill the demon bot!
	Xander Double (grabbing the gun): Anya, get out of the way.
	Buffy: Xander!
	Xander Double: That's all right, Buffy.  I have him.
	Xander: No, Buffy, I'm me.  Help me!
	Anya: My gun, he's got my gun.
	Riley: You own a gun?
	Buffy: Xander, gun holding Xander, give it to me.
	Anya: Buffy, which one's real?
	Xander: I am.
	Xander Double: No, _I_ am.
	    [ Buffy the Vampire Slayer, Episode 5.03, "The Replacement" ]
	In the West the dragon was the natural enemy of man.  Although
	preferring to live in bleak and desolate regions, whenever it
	was seen among men it left in its wake a trail of destruction
	and disease.  Yet any attempt to slay this beast was a perilous
	undertaking.  For the dragon's assailant had to contend
	not only with clouds of sulphurous fumes pouring from its fire
	breathing nostrils, but also with the thrashings of its tail,
	the most deadly part of its serpent-like body.
	 [ Mythical Beasts, by Deirdre Headon (The Leprechaun Library) ]

	"One whom the dragons will speak with," he said, "that is a
	dragonlord, or at least that is the center of the matter.  It's
	not a trick of mastering the dragons, as most people think.
	Dragons have no masters.  The question is always the same, with
	a dragon:  will he talk to you or will he eat you?  If you can
	count upon his doing the former, and not doing the latter, why
	then you're a dragonlord."
		[ The Tombs of Atuan, by Ursula K. Le Guin ]
	Stephen had argued, and the expert armorer had grudgingly
	admitted, that dragonscale shield or armor, provided it proved
	feasible to make at all, ought to offer some real, practical
	advantages over any metal breastplate or shield -- gram for
	gram of weight, such a defense would probably be a lot
	tougher and more protective than any human smiths could
	make of steel.
		[ The Last Book of Swords: Shieldbreaker's Story,
			by Fred Saberhagen ]
	And now the youth
	was to enter the line of battle with his lord,
	his first time to be tested as a fighter.
	His spirit did not break and the ancestral blade
	would keep its edge, as the dragon discovered
	as soon as they came together in combat.
		[ Beowulf, translated by Seamus Heaney ]
	Many travelers have seen the drums of the great apes, and
	some have heard the sounds of their beating and the noise of
	the wild, weird revelry of these first lords of the jungle,
	but Tarzan, Lord Greystoke, is, doubtless, the only human
	being who ever joined in the fierce, mad, intoxicating revel
	of the Dum-Dum.
		[ Tarzan of the Apes, by Edgar Rice Burroughs ]
	A dunce cap, also variously known as a dunce hat, dunce's
	cap, or dunce's hat, is a tall conical hat.  In popular
	culture, it is typically made of paper and often marked with
	a D, and given to schoolchildren to wear as punishment for
	being stupid or lazy.  While this is now a rare practice,
	it is frequently depicted in popular culture such as
	children's cartoons.
		[ Wikipedia, the free encyclopedia ]
	At once as far as Angels kenn he views
	The dismal Situation waste and wilde,
	A Dungeon horrible, on all sides round
	As one great Furnace flam'd, yet from those flames
	No light, but rather darkness visible
	Serv'd only to discover sights of woe,
	Regions of sorrow, doleful shades, where peace
	And rest can never dwell, hope never comes
	That comes to all; but torture without end
	Still urges, and a fiery Deluge, fed
	With ever-burning Sulphur unconsum'd:
	Such place Eternal Justice had prepar'd
	For those rebellious, here their Prison ordain'd
	In utter darkness, and their portion set
	As far remov'd from God and light of Heav'n
	As from the Center thrice to th' utmost Pole.
		[ Paradise Lost, by John Milton ]
	Dwarfs have faces like men (ugly men, with wrinkled, leathery
	skins), but are generally either flat-footed, duck-footed, or
	have feet pointing backwards.  They are of the earth, earthy,
	living in the darkest of caverns and venturing forth only
	with the cloaks by which they can make themselves invisible,
	and others disguised as toads.  Miners often come across them,
	and sometimes establish reasonably close relations with them.
	... The miners of Cornwall were always delighted to hear a
	bucca busily mining away, for all dwarfs have an infallible
	nose for precious metals.
	Among other things, dwarfs are rightly valued for their skill
	as blacksmiths and jewellers: they made Odin his famous spear
	Gungnir, and Thor his hammer; for Freya they designed a
	magnificent necklace, and for Frey a golden boar.  And in their
	spare time they are excellent bakers.  Ironically, despite
	their odd feet, they are particularly fond of dancing.  They
	can also see into the future, and consequently are excellent
	meteorologists.  They can be free with presents to people
	they like, and a dwarvish gift is likely to turn to gold in
	the hand.  But on the whole they are a snappish lot.
	    [ The Immortals, by Derek and Julia Parker ]
	That's how they all came to start, jogging off from the inn one
	fine morning just before May, on laden ponies; and Bilbo was
	wearing a dark-green hood (a little weather-stained) and a
	dark-green cloak borrowed from Dwalin.  They were too large for
	him, and he looked rather comic.
		[ The Hobbit, by J.R.R. Tolkien ]
	In after days, when because of the triumph of Morgoth Elves and
	Men became estranged, as he most wished, those of the Elven-race
	that lived still in Middle-earth waned and faded, and Men usurped
	the sunlight.  Then the Quendi wandered in the lonely places of the
	great lands and the isles, and took to the moonlight and the
	starlight, and to the woods and the caves, becoming as shadows
	and memories, save those who ever and anon set sail into the West
	and vanished from Middle-earth.  But in the dawn of years Elves
	and Men were allies and held themselves akin, and there were some
	among Men that learned the wisdom of the Eldar, and became great
	and valiant among the captains of the Noldor.  And in the glory
	and beauty of the Elves, and in their fate, full share had the
	offspring of elf and mortal, Earendil, and Elwing, and Elrond
	their child.
		[ The Silmarillion, by J.R.R. Tolkien ]
	The behaviour of eels in fresh water extends the air of
	mystery surrounding them.  They move freely into muddy, silty
	bottoms of lakes, lying buried in the daylight hours in summer.
	[...]  Eels are voracious carnivores, feeding mainly at
	night and consuming a wide variety of fishes and invertebrate
	creatures.  Contrary to earlier thinking, eels seek living
	rather than dead creatures and are not habitual eaters of
	carrion.
	    [ Freshwater Fishes of Canada, by Scott and Crossman ]
	But I asked why not keep it and let the hen sit on it till it
	hatched, and then we could see what would come out of it.
	"Nothing good, I'm certain of that," Mom said.  "It would
	probably be something horrible.  But just remember, if it's a
	crocodile or a dragon or something like that, I won't have it
	in my house for one minute."
		[ The Enormous Egg, by Oliver Butterworth ]
	... Even as they stepped over the threshold a single clear
	voice rose in song.

		A Elbereth Gilthoniel,
		silivren penna miriel
		o menel aglar elenath!
		Na-chaered palan-diriel
		o galadhremmin ennorath,
		Fanuilos, le linnathon
		nef aear, si nef aearon!

	Frodo halted for a moment, looking back.  Elrond was in his
	chair and the fire was on his face like summer-light upon the
	trees.  Near him sat the Lady Arwen.  [...]
	He stood still enchanted, while the sweet syllables of the
	elvish song fell like clear jewels of blended word and melody.
	"It is a song to Elbereth," said Bilbo.  "They will sing that,
	and other songs of the Blessed Realm, many times tonight.
	Come on!"
	   [ The Fellowship of the Ring, by J.R.R. Tolkien ]
	South-American fish (_Gymnotus electricus_), living in fresh
	water.  Shaped like a serpent, it can grow up to 2 metres.
	This eel is known for its electrical organ which enables it
	to paralyse creatures up to the size of a horse.
	   [ Van Dale's Groot Woordenboek der Nederlandse Taal ]
	Elementals are manifestations of the basic nature of the
	universe.  There are four known forms of elementals:  air, fire,
	water, and earth.  Some mystics have postulated the necessity
	for a fifth type, the spirit elemental, but none have ever
	been encountered, at least on this plane of existence.
	The Elves sat round the fire upon the grass or upon the sawn
	rings of old trunks.  Some went to and fro bearing cups and
	pouring drinks; others brought food on heaped plates and
	dishes.

	"This is poor fare," they said to the hobbits; "for we are
	lodging in the greenwood far from our halls.  If ever you are
	our guests at home, we will treat you better."
	"It seems to me good enough for a birthday-party," said Frodo.
	Pippin afterwards recalled little of either food or drink, for
	his mind was filled with the light upon the elf-faces, and the
	sound of voices so various and so beautiful that he felt in a
	waking dream.  [...]

	Sam could never describe in words, nor picture clearly to
	himself, what he felt or thought that night, though it remained
	in his memory as one of the chief events of his life.  The
	nearest he ever got was to say: "Well, sir, if I could grow
	apples like that, I would call myself a gardener.  But it was
	the singing that went to my heart, if you know what I mean."
	   [ The Fellowship of the Ring, by J.R.R. Tolkien ]
	The Elves next unwrapped and gave to each of the Company the
	clothes they had brought.  For each they had provided a hood
	and cloak, made according to his size, of the light but warm
	silken stuff that the Galadrim wove.  It was hard to say of
	what colour they were: grey with the hue of twilight under
	the trees they seemed to be; and yet if they were moved, or
	set in another light, they were green as shadowed leaves, or
	brown as fallow fields by night, dusk-silver as water under
	the stars.
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	'Put off that mask of burning gold
	With emerald eyes.'
	'O no, my dear, you make so bold
	To find if hearts be wild and wise,
	And yet not cold.'

	'I would but find what's there to find,
	Love or deceit.'
	'It was the mask engaged your mind,
	And after set your heart to beat,
	Not what's behind.'

	'But lest you are my enemy,
	I must enquire.'
	'O no, my dear, let all that be;
	What matter, so there is but fire
	In you, in me?'
		[ The Mask, by W.B. Yeats ]
	Presently we reached a place where the beach narrowed; the sea
	almost came up to the foot of the cliffs, leaving a passage no
	wider than a couple of yards.  Between two projecting rocks we
	caught sight of the entrance to a dark tunnel.
	There, on a slab of granite, appeared two mysterious letters,
	half eaten away by time -- the two initials of the bold,
	adventurous traveller:

			A.S.

	'A.S.,' cried my uncle. 'Arne Saknussemm! Arne Saknussemm again!'

	[...] at the sight of those two letters, carved there three
	hundred years before, I stood in utter stupefaction.  Not
	only was the signature of the learned alchemist legible on
	the rock, but I held in my hand the dagger which had traced it.
	Without showing the most appalling bad faith, I could no longer
	doubt the existence of the traveller and the reality of his
	journey.
		[ Journey to the Centre of the Earth, by Jules Verne,
		  translated by Robert Baldick ]
	The asclepieion at Epidaurus was the most celebrated healing
	center of the Classical world, the place where ill people went
	in the hope of being cured.  To find out the right cure for
	their ailments, they spent a night in the enkoimitiria, a big
	sleeping hall.  In their dreams, the god himself (Asclepius)
	would advise them what they had to do to regain their health.
	There are also mineral springs in the vicinity which may have
	been used in healing.
		[ Wikipedia, the free encyclopedia ]
	Erinyes are the Furies of ancient myth.
	(Erinys is the singular form.)
		[]

	Holy and pure, from Zeus Khthonios born
	and Persephone, whom lovely locks adorn:
	Whose piercing sight, with vision unconfin'd,
	surveys the deeds of all the impious kind:
	On Fate attendant, punishing the race
	(with wrath severe) of deeds unjust and base.
	Dark-colour'd queens, whose glittering eyes are bright
	with dreadful, radiant, life-destroying, light:
	Eternal rulers, terrible and strong,
	to whom revenge, and tortures dire belong.
		[ LXIX. To the Furies, The Orphic Hymns,
		  translated by Thomas Taylor ]
	The two-headed giant, or ettin, is a vicious and unpredictable
	hunter that stalks by night and eats any meat it can catch.
	At first only its tip was visible, but then it rose, straight,
	proud, all that was noble and great and wondrous.  The tip of
	the blade pointed toward the moon, as if it would cleave it
	in two.  The blade itself gleamed like a beacon in the night.
	There was no light source for the sword to be reflecting
	from, for the moon had darted behind a cloud in fear.  The
	sword was glowing from the intensity of its strength and
	power and knowledge that it was justice incarnate, and that
	after a slumber of uncounted years its time had again come.
	After the blade broke the surface, the hilt was visible, and
	holding the sword was a single strong, yet feminine hand,
	wearing several rings that bore jewels sparkling with the
	blue-green color of the ocean.
		[ Knight Life, by Peter David ]
	There was a time when Rincewind had quite liked the iconoscope.
	He believed, against all experience, that the world was
	fundamentally understandable, and that if he could only equip
	himself with the right mental toolbox he could take the back off
	and see how it worked.  He was, of course, dead wrong.  The
	iconoscope didn't take pictures by letting light fall onto
	specially treated paper, as he had surmised, but by the far
	simpler method of imprisoning a small demon with a good eye for
	colour and a speedy hand with a paintbrush.  He had been very
	upset to find that out.
		[ The Light Fantastic, by Terry Pratchett ]
	This is a powerful amulet of ESP.  In addition to its standard
	powers, it regenerates the energy of anyone who carries
	it, allowing them to cast spells more often.  It also reduces
	any spell damage to the person who carries it by half, and
	protects from magic missiles.  Finally, when invoked it has
	the power to instantly open a portal to any other area of the
	dungeon, allowing its invoker to travel quickly between
	areas.
	The Eyes of the Overworld is a rather obscure artifact.
	These magical lenses push the wearer's view sense into the
	"overworld" -- another name for a segment of the Astral Plane.
	Usually, there is nothing to be seen.  However, the wearer
	is also able to look back and see the area around herself,
	much like looking on a map.  Why anyone would want to ...
	Some hats can only be worn if you're willing to be jaunty, to set
	them at an angle and to walk beneath them with a spring in your
	stride as if you're only a step away from dancing.  They demand a
	lot of you.
		[ Anansi Boys, by Neil Gaiman ]
	Then it appeared in Paris at just about the time that Paris
	was full of Carlists who had to get out of Spain.  One of
	them must have brought it with him, but, whoever he was, it's
	likely he knew nothing about its real value.  It had been --
	no doubt as a precaution during the Carlist trouble in Spain
	-- painted or enameled over to look like nothing more than a
	fairly interesting black statuette.  And in that disguise,
	sir, it was, you might say, kicked around Paris for seventy
	years by private owners and dealers too stupid to see what
	it was under the skin.
		[ The Maltese Falcon, by Dashiell Hammett ]
	'Let him be for a while,' said Cohen.  'I reckon the fish
	disagreed with him.'
	'Don't see why,' said Truckle.  'I pulled him out before it'd
	hardly chewed him.  And he must've dried out nicely in that
	corridor.  You know, the one where the flames shot up out of
	the floor unexpectedly.'
	'I reckon our bard wasn't expecting flames to shoot out of
	the floor unexpectedly,' said Cohen.
	Truckle shrugged theatrically.  '_Well_, if you're not going
	to expect unexpected flames, what's the point of going
	_anywhere_?'
		[ The Last Hero, by Terry Pratchett ]
	Some say the world will end in fire,
	Some say in ice.
	From what I've tasted of desire
	I hold with those who favor fire.
	But if it had to perish twice,
	I think I know enough of hate
	To say that for destruction ice
	Is also great
	And would suffice.
		[ Fire and Ice, by Robert Frost ]
	With an anxiety that almost amounted to agony, I collected
	the instruments of life around me, that I might infuse a spark
	of being into the lifeless thing that lay at my feet.  It was
	already one in the morning; the rain pattered dismally against
	the panes, and my candle was nearly burnt out, when, by the
	glimmer of the half-extinguished light, I saw the dull yellow
	eye of the creature open; it breathed hard, and a convulsive
	motion agitated its limbs.

	How can I describe my emotions at this catastrophe, or how
	delineate the wretch whom with such infinite pains and care I
	had endeavoured to form?  His limbs were in proportion, and I
	had selected his features as beautiful.  Beautiful!--Great God!
	His yellow skin scarcely covered the work of muscles and
	arteries beneath; his hair was of a lustrous black, and
	flowing; his teeth of a pearly whiteness; but these luxuriances
	only formed a more horrid contrast with his watery eyes, that
	seemed almost of the same colour as the dun white sockets in
	which they were set, his shrivelled complexion and straight
	black lips.
		[ Frankenstein, by Mary Wollstonecraft Shelley ]
	An emerald is as green as grass;
	A ruby red as blood;
	A sapphire shines as blue as heaven;
	A flint lies in the mud.

	A diamond is a brilliant stone,
	To catch the world's desire;
	An opal holds a fiery spark;
	But a flint holds fire.
		[ Precious Stones, by Christina Giorgina Rossetti ]
	Floating eyes, not surprisingly, are large, floating eyeballs
	which drift about the dungeon.  Though not dangerous in and
	of themselves, their power to paralyse those who gaze at
	their large eye in combat is widely feared.  Many are the
	tales of those who struck a floating eye, were paralysed by
	its mystic powers, and then nibbled to death by some other
	creature that lurked around nearby.
	With this thou canst do mighty deeds
	And change men's passions for thy needs:
	A man's despair with joy allay,
	Turn bachelors old to lovers gay.
		[ The Magic Flute, by Wolfgang Amadeus Mozart ]
	The fog comes
	on little cat feet.

	It sits looking
	over harbor and city
	on silent haunches
	and then moves on.
	     [ Fog, by Carl Sandburg ]
	The little girl stood on tip-toe and picked one of the nicest
	and biggest lunch-boxes, and then she sat down upon the ground
	and eagerly opened it.  Inside she found, nicely wrapped in
	white papers, a ham sandwich, a piece of sponge-cake, a pickle,
	a slice of new cheese and an apple.  Each thing had a separate
	stem, and so had to be picked off the side of the box; but
	Dorothy found them all to be delicious, and she ate every bit
	of luncheon in the box before she had finished.
		[ Ozma of Oz, by L. Frank Baum ]
	Nemesis cracked another cookie and wrinkled her nose. "_You will
	have great fortune when you least expect it,_" she read. "That's
	exactly the sort of nonsense I hate. Someone opens a cookie, and
	suddenly they have a prophecy that they'll be rich! I blame that
	tramp Tyche. Always dispensing good luck to people who don't
	deserve it!"
	Leo looked at the mound of broken cookies. "Uh ... you know those
	aren't real prophecies, right? They're just stuffed into the
	cookies at some factory--"
	"Don't try to excuse it!" Nemesis snapped. "It's just like Tyche
	to get people's hopes up. No, no. I _must_ counter her." Nemesis
	flicked a finger over the slip of paper, and the letters changed
	to red. "_You will die painfully when you most expect it._
	There! Much better."
		[ The Mark of Athena, by Rick Riordan ]
	Rest! This little Fountain runs
	Thus for aye: -- It never stays
	For the look of summer suns,
	Nor the cold of winter days.
	Whose'er shall wander near,
	When the Syrian heat is worst,
	Let him hither come, nor fear
	Lest he may not slake his thirst:
	He will find this little river
	Running still, as bright as ever.
	Let him drink, and onward hie,
	Bearing but in thought, that I,
	Erotas, bade the Naiad fall,
	And thank the great god Pan for all!
		[ For a Fountain, by Bryan Waller Procter ]
	One hot summer's day a Fox was strolling through an orchard
	till he came to a bunch of Grapes just ripening on a vine
	which had been trained over a lofty branch. "Just the thing
	to quench my thirst," quoth he. Drawing back a few paces, he
	took a run and a jump, and just missed the bunch. Turning
	round again with a One, Two, Three, he jumped up, but with
	no greater success. Again and again he tried after the
	tempting morsel, but at last had to give it up, and walked
	away with his nose in the air, saying: "I am sure they are
	sour."
		[ Aesop's Fables ]
	They say this is edible.  Some adventurers have strange tastes.
	Fungi, division of simple plants that lack chlorophyll, true
	stems, roots, and leaves.  Unlike algae, fungi cannot
	photosynthesize, and live as parasites or saprophytes.  The
	division comprises the slime molds and true fungi.  True
	fungi are multicellular (with the exception of yeasts); the
	body of most true fungi consists of slender cottony
	filaments, or hyphae.  All fungi are capable of asexual
	reproduction by cell division, budding, fragmentation, or
	spores.  Those that reproduce sexually alternate a sexual
	generation (gametophyte) with a spore-producing one.  The
	four classes of true fungi are the algaelike fungi (e.g.,
	black bread mold and downy mildew), sac fungi (e.g., yeasts,
	powdery mildews, truffles, and blue and green molds such as
	Penicillium), basidium fungi (e.g., mushrooms and puffballs)
	and imperfect fungi (e.g., species that cause athlete's foot
	and ringworm).  Fungi help decompose organic matter (important
	in soil renewal); are valuable as a source of antibiotics,
	vitamins, and various chemicals; and for their role in
	fermentation, e.g., in bread and alcoholic beverage
	production.
		[ The Concise Columbia Encyclopedia ]
	And so it came to pass that while Man ruled on Earth, the
	gargoyles waited, lurking, hidden from the light.  Reborn
	every 600 years in Man's reckoning of time, the gargoyles
	joined battle against Man to gain dominion over the Earth.

	In each coming, the gargoyles were nearly destroyed by Men
	who flourished in greater numbers.  Now it has been so many
	hundreds of years that it seems the ancient statues and
	paintings of gargoyles are just products of Man's
	imagination.  In this year, with Man's thoughts turned toward
	the many ills he has brought among himself, Man has forgotten
	his most ancient adversary, the gargoyles.
		[ Excerpt from the opening narration to the movie
		    _Gargoyles_, written by Stephen and Elinor Karpf ]
	1 November - All day long we have travelled, and at a good
	speed.  The horses seem to know that they are being kindly
	treated, for they go willingly their full stage at best
	speed.  We have now had so many changes and find the same
	thing so constantly that we are encouraged to think that the
	journey will be an easy one.  Dr. Van Helsing is laconic, he
	tells the farmers that he is hurrying to Bistritz, and pays
	them well to make the exchange of horses.  We get hot soup,
	or coffee, or tea, and off we go.  It is a lovely country.
	Full of beauties of all imaginable kinds, and the people are
	brave, and strong, and simple, and seem full of nice
	qualities.  They are very, very superstitious.  In the first
	house where we stopped, when the woman who served us saw the
	scar on my forehead, she crossed herself and put out two
	fingers towards me, to keep off the evil eye.  I believe they
	went to the trouble of putting an extra amount of garlic into
	our food, and I can't abide garlic.  Ever since then I have
	taken care not to take off my hat or veil, and so have
	escaped their suspicions.
		[ Dracula, by Bram Stoker ]
	"Place of Torment."  The Valley of Hinnom, south-west of
	Jerusalem, where Solomon, king of Israel, built "a high place",
	or place of worship, for the gods Chemosh and Moloch.  The
	valley came to be regarded as a place of abomination because
	some of the Israelites sacrificed their children to Moloch
	there.  In a later period it was made a refuse dump and
	perpetual fires were maintained there to prevent pestilence.
	Thus, in the New Testament, Gehenna became synonymous with hell.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	Despite its popularity (or perhaps because of it), the
	gelatinous cube is also widely known as one of the sillier
	role-playing monsters.  It is something of a commentary on the
	ubiquity of treasure-laden dungeons in the Dungeons & Dragons
	universe, as the cube is a creature specifically adapted to a
	dungeon ecosystem.  10 feet to the side, it travels through
	standard 10-foot by 10-foot dungeon corridors, cleaning up
	debris and redistributing treasure by excreting indigestible
	metal items.
		[ Wikipedia, the free encyclopedia ]
	The difference between false memories and true ones is the
	same as for jewels:  it is always the false ones that look the
	most real, the most brilliant.
		[ Salvador Dali ]
	These very odd people have mastered the ability to insert gene
	sequences from one organism into another, usually triggering
	immediate mutations in the subject.  Far from needing an
	elaborate laboratory to accomplish such abominations, a mere
	touch seems to be all that is necessary.
		[]

	"I thought the whole point of genetic engineering was to avoid
	the random waste of natural evolution, and replace it with
	the efficiency of reason," Miles piped up.  All three haut-
	women turned to stare at him in astonishment, as if a potted
	plant had suddenly offered a critique of its fertilization
	routine.  "Or ... so it seems to me," Miles trailed off in
	a much smaller voice.
		[ Cetaganda, Lois McMaster Bujold ]
	Forthwith that image vile of fraud appear'd,
	His head and upper part expos'd on land,
	But laid not on the shore his bestial train.
	His face the semblance of a just man's wore,
	So kind and gracious was its outward cheer;
	The rest was serpent all: two shaggy claws
	Reach'd to the armpits, and the back and breast,
	And either side, were painted o'er with nodes
	And orbits.  Colours variegated more
	Nor Turks nor Tartars e'er on cloth of state
	With interchangeable embroidery wove,
	Nor spread Arachne o'er her curious loom.
	As ofttimes a light skiff, moor'd to the shore,
	Stands part in water, part upon the land;
	Or, as where dwells the greedy German boor,
	The beaver settles watching for his prey;
	So on the rim, that fenc'd the sand with rock,
	Sat perch'd the fiend of evil.  In the void
	Glancing, his tail upturn'd its venomous fork,
	With sting like scorpion's arm'd.  Then thus my guide:
	"Now need our way must turn few steps apart,
	Far as to that ill beast, who couches there."
	    [ The Inferno, from The Divine Comedy of Dante Alighieri,
	      translated by H.F. Cary ]
	And now the souls of the dead who had gone below came swarming
	up from Erebus -- fresh brides, unmarried youths, old men
	with life's long suffering behind them, tender young girls
	still nursing this first anguish in their hearts, and a great
	throng of warriors killed in battle, their spear-wounds gaping
	yet and all their armour stained with blood.  From this
	multitude of souls, as they fluttered to and fro by the
	trench, there came a moaning that was horrible to hear.
	Panic drained the blood from my cheeks.
	     [ The Odyssey, (chapter Lambda), by Homer ]
	The forces of the gloom know each other, and are strangely
	balanced by each other.  Teeth and claws fear what they cannot
	grasp.  Blood-drinking bestiality, voracious appetites, hunger
	in search of prey, the armed instincts of nails and jaws which
	have for source and aim the belly, glare and smell out
	uneasily the impassive spectral forms straying beneath a
	shroud, erect in its vague and shuddering robe, and which seem
	to them to live with a dead and terrible life.  These
	brutalities, which are only matter, entertain a confused fear
	of having to deal with the immense obscurity condensed into an
	unknown being.  A black figure barring the way stops the wild
	beast short.  That which emerges from the cemetery intimidates
	and disconcerts that which emerges from the cave; the
	ferocious fear the sinister; wolves recoil when they encounter
	a ghoul.
		[ Les Miserables, by Victor Hugo ]
	Giants have always walked the earth, though they are rare in
	these times.  They range in size from little over nine feet
	to a towering twenty feet or more.  The larger ones use huge
	boulders as weapons, hurling them over large distances.  All
	types of giants share a love for men - roasted, boiled, or
	fried.  Their table manners are legendary.
	And her old Uncle William used to say a lady is known by her
	shoes and her gloves.
		[ Mrs. Dalloway, by Virginia Woolf ]
	...  And then a gnome came by, carrying a bundle, an old
	fellow three times as large as an imp and wearing clothes of
	a sort, especially a hat.  And he was clearly just as frightened
	as the imps though he could not go so fast.  Ramon Alonzo
	saw that there must be some great trouble that was vexing
	magical things; and, since gnomes speak the language of men, and
	will answer if spoken to gently, he raised his hat, and asked
	of the gnome his name.  The gnome did not stop his hasty
	shuffle a moment as he answered 'Alaraba' and grabbed the rim
	of his hat but forgot to doff it.
	'What is the trouble, Alaraba?'  said Ramon Alonzo.
	'White magic.  Run!'  said the gnome ..
		[ The Charwoman's Shadow, by Lord Dunsany ]

	"Muggles have garden gnomes, too, you know," Harry told Ron as
	they crossed the lawn.
	"Yeah, I've seen those things they think are gnomes," said Ron,
	bent double with his head in a peony bush, "like fat little
	Santa Clauses with fishing rods..."
	There was a violent scuffling noise, the peony bush shuddered,
	and Ron straightened up.  "This is a gnome," he said grimly.
	"Geroff me! Gerroff me!" squealed the gnome.
	It was certainly nothing like Santa Claus.  It was small and
	leathery looking, with a large, knobby, bald head exactly like
	a potato.  Ron held it at arm's length as it kicked out at him
	with its horny little feet; he grasped it around the ankles
	and turned it upside down.
	  [ Harry Potter and the Chamber of Secrets, by J.K. Rowling ]
	Now goblins are cruel, wicked, and bad-hearted.  They make
	no beautiful things, but they make many clever ones.  They
	can tunnel and mine as well as any but the most skilled
	dwarves, when they take the trouble, though they are usually
	untidy and dirty.  Hammers, axes, swords, daggers, pickaxes,
	tongs, and also instruments of torture, they make very well,
	or get other people to make to their design, prisoners and
	slaves that have to work till they die for want of air and
	light.
	     [ The Hobbit, by J.R.R. Tolkien ]
	Goddesses and Gods operate in ones, threesomes, or whole
	pantheons of nine or more (see Religion).  Most of them claim
	to have made the world, and this is indeed a likely claim in
	the case of threesomes or pantheons:  Fantasyland does have
	the air of having been made by a committee.  But all Goddesses
	and Gods, whether they say they made the world or not, have
	very detailed short-term plans for it which they are determined
	to carry out.  Consequently they tend to push people into the
	required actions by the use of coincidence or Prophecy, or just
	by narrowing down your available choices of what to do next:
	if a deity is pushing you, things will go miserably badly until
	there is only one choice left to you.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	A metal of characteristic yellow colour, the most precious
	metal used as a common commercial medium of exchange.  Symbol,
	Au; at. no. 79; at. wt. 197.2.  It is the most malleable
	and ductile of all metals, and very heavy (sp. gr., 19.3).
	It is quite unalterable by heat, moisture, and most
	corrosive agents, and therefore well suited for its use in
	coin and jewelry.
	     [ Webster's New International Dictionary
		  of the English Language, Second Edition ]
	The bellows he set away from the fire, and gathered all the tools
	wherewith he wrought into a silver chest; and with a sponge wiped
	he his face and his two hands withal, and his mighty neck and
	shaggy breast, and put upon him a tunic, and grasped a stout staff,
	and went forth halting; but there moved swiftly to support their
	lord handmaidens wrought of gold in the semblance of living maids.
	In them is understanding in their hearts, and in them speech and
	strength, and they know cunning handiwork by gift of the immortal
	gods.
		[ The Iliad, by Homer ]
	"The original story harks back, so they say, to the sixteenth
	century.  Using long-lost formulas from the Kabbala, a rabbi is
	said to have made an artificial man -- the so-called Golem -- to
	help ring the bells in the Synagogue and for all kinds of other
	menial work.
	"But he hadn't made a full man, and it was animated by some sort
	of vegetable half-life.  What life it had, too, so the story
	runs, was only derived from the magic charm placed behind its
	teeth each day, that drew down to itself what was known as the
	`free sidereal strength of the universe.'
	"One evening, before evening prayers, the rabbi forgot to take
	the charm out of the Golem's mouth, and it fell into a frenzy.
	It raged through the dark streets, smashing everything in its
	path, until the rabbi caught up with it, removed the charm, and
	destroyed it.  Then the Golem collapsed, lifeless.  All that was
	left of it was a small clay image, which you can still see in
	the Old Synagogue." ...
	    [ The Golem, by Gustav Meyrink ]
	"Who'd care to dig 'em," said the old, old man,
	"Those six feet marked in chalk?
	Much I talk, more I walk;
	Time I were buried," said the old, old man.
		[ Three Songs to the Same Tune, by W.B. Yeats ]
	Why had I been wearing Grayswandir?  Would another weapon have
	affected a Logrus-ghost as strongly?  Had it really been my
	father, then, who had brought me here?  And had he felt I might
	need the extra edge his weapon could provide?  I wanted to
	think so, to believe that he had been more than a Pattern-ghost.
		[ Knight of Shadows, by Roger Zelazny ]
	ANOINT, v.t.  To grease a king or other great functionary
	already sufficiently slippery.
		[ The Devil's Dictionary, by Ambrose Bierce ]
	The gremlin is a highly intelligent and completely evil
	creature.  It lives to torment other creatures and will go
	to great lengths to inflict pain or cause injury.
		[]

	Suddenly, Wilson thought about war, about the newspaper
	stories which recounted the alleged existence of creatures in
	the sky who plagued the Allied pilots in their duties.  They
	called them gremlins, he remembered.  Were there, actually,
	such beings?  Did they, truly, exist up here, never falling,
	riding on the wind, apparently of bulk and weight, yet
	impervious to gravity?
	He was thinking that when the man appeared again.
		[ Nightmare at 20,000 Feet, by Richard Matheson ]
	These electronically based creatures are not native to this
	universe.  They appear to come from a world whose laws of
	motion are radically different from ours.
	    []

	Tron looked to his mate and pilot.  "I'm going to check on
	the beam connection, Yori.  You two can keep a watch out for
	grid bugs."  Tron paced forward along the slender catwalk
	that still seemed awfully insubstantial to Flynn, though he
	knew it to be amazingly sturdy.  He gazed after Tron, asking
	himself what in the world a grid bug was, and hoping that the
	beam connection -- to which he'd given no thought whatsoever
	until this moment -- was healthy and sound."
	    [ Tron, novel by Brian Daley, story by Steven Lisberger ]
	The samurai's last meal before battle.  It was usually made
	up of cooked chestnuts, dried seaweed, and sake.
	Hachi was a dog that went with his master, a professor, to
	the Shibuya train station every morning.  In the afternoon,
	when his master was to return from work Hachi would be there
	waiting.  One day his master died at the office, and did not
	return.  For over ten years Hachi returned to the station
	every afternoon to wait for his master.  When Hachi died a
	statue was erected on the station platform in his honor.  It
	is said to bring you luck if you touch his statue.
	All at once, and without further warning, my reason forsook me
	altogether, and I started from Fr. Moffitt's house to go to my
	boarding place.  The sidewalks were to me one mass of living,
	moving, howling, and ferocious animals.  Bears, lions, tigers,
	wolves, jaguars, leopards, pumas -- all wild beasts of all climes
	-- were frothing at the mouth around me and striving to get to me.
	Recollect that while all this was hallucination, it was just as
	real as if it had been an undeniable and awful reality.
		[ Fifteen Years in Hell, by Luther Benson ]
	A triangular stringed instrument, often Magic.  Even when not
	Magic, a Harp is surprisingly portable and tough and can be
	carried everywhere on the back of the Bard or Harper in all
	weathers.  A Harp seldom goes out of tune and never warps.
	Its strings break only in very rare instances, usually
	because the Harper is sulking or crossed in love.  This is
	just as well as no one seems to make or sell spare strings.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]

	After breakfast was over, the ogre called out: "Wife, wife,
	bring me my golden harp."  So she brought it and put it on
	the table before him.  Then he said: "Sing!" and the golden
	harp sang most beautifully.  And it went on singing till the
	ogre fell asleep, and commenced to snore like thunder.
	Then Jack lifted up the copper-lid very quietly and got down
	like a mouse and crept on hands and knees till he came to the
	table, when up he crawled, caught hold of the golden harp and
	dashed with it towards the door.  But the harp called out
	quite loud: "Master!  Master!" and the ogre woke up just in
	time to see Jack running off with his harp.
		[ Jack and the Beanstalk, from English Fairy Tales,
		  by Joseph Jacobs ]
	'One of the things he can't do, he can't ride a horse,' he
	said.  Then he stiffened as if sandbagged by a sudden
	recollection, gave a small yelp of terror and dashed into
	the gloom.  When he returned, the being called Twoflower was
	hanging limply over his shoulder.  It was small and skinny,
	and dressed very oddly in a pair of knee-length britches and
	a shirt in such a violent and vivid conflict of colours that
	the Weasel's fastidious eye was offended even in the half-light.
		[ The Colour of Magic, by Terry Pratchett ]
	I swear by Apollo the physician, and Aesculapius, and Health,
	and All-heal, and all the gods and goddesses, that, according
	to my ability and judgment, I will keep this Oath and this
	stipulation -- to reckon him who taught me this Art equally dear
	to me as my parents, to share my substance with him, and relieve
	his necessities if required; to look upon his offspring in the
	same footing as my own brothers, and to teach them this art, if
	they shall wish to learn it, without fee or stipulation; and
	that by precept, lecture, and every other mode of instruction,
	I will impart a knowledge of the Art to my own sons, and those
	of my teachers, and to disciples bound by a stipulation and oath
	according to the law of medicine, but to none others.  I will
	follow that system of regimen which, according to my ability and
	judgment, I consider for the benefit of my patients, and abstain
	from whatever is deleterious and mischievous.  [...]
		[ Hippocrates' Oath, translated by Francis Adams ]

	PHYSICIAN, n.  One upon whom we set our hopes when ill and our
	dogs when well.
		[ The Devil's Dictionary, by Ambrose Bierce ]
	The other three drew in their breath sharply, and the dark,
	powerful man who stood at the head of the sarcophagus whispered:
	"The Heart of Ahriman!"  The other lifted a quick hand
	for silence.  Somewhere a dog began howling dolefully, and a
	stealthy step padded outside the barred and bolted door. ...
	But none looked aside from the mummy case over which the man
	in the ermine-trimmed robe was now moving the great flaming
	jewel, while he muttered an incantation that was old when
	Atlantis sank.  The glare of the gem dazzled their eyes, so
	that they could not be sure what they saw; but with a
	splintering crash, the carven lid of the sarcophagus burst
	outward as if from some irresistible pressure applied from
	within and the four men, bending eagerly forward, saw the
	occupant -- a huddled, withered, wizened shape, with dried
	brown limbs like dead wood showing through moldering bandages.
	"Bring that thing back?" muttered the small dark man who
	stood on the right, with a short, sardonic laugh.  "It is
	ready to crumble at a touch.  We are fools ---"
		[ Conan the Conqueror, by Robert E. Howard ]
	But suddenly they started forward in a rigid, fixed stare,
	and his lips parted in amazement.  At the same instant Lestrade
	gave a yell of terror and threw himself face downward upon the
	ground.  I sprang to my feet, my inert hand grasping my pistol,
	my mind paralyzed by the dreadful shape which had sprung out
	upon us from the shadows of the fog.  A hound it was, an
	enormous coal-black hound, but not such a hound as mortal eyes
	have ever seen.  Fire burst from its open mouth, its eyes
	glowed with a smouldering glare, its muzzle and hackles and
	dewlap were outlined in flickering flame.  Never in the
	delirious dream of a disordered brain could anything more
	savage, more appalling, more hellish be conceived than that
	dark form and savage face which broke upon us out of the wall
	of fog.
	  [ The Hound of the Baskervilles, by Sir Arthur Conan Doyle ]
	A piece of armor designed to protect the head.
	(What were you expecting?)
	A helmet which allows the wearer to detect sentient creatures
	within a modest radius, or within the whole level when blind.
	A helmet which changes the wearer's alignment while worn.
	Alignment will change back when the helmet is taken off.
	A helmet which confers the "warning" property, sensing the
	strength of threats posed by unseen hostile creatures.
	A helm he set on his head, high of crystal; thereon was many
	gemstone, all encompassed with gold; it was Uther's, the noble
	king's; it was named Goswhit, each other unlike.
	  [ Layamon's Brut, translated by Sir Frederic Madden, K.H. ]
	Messenger and herald of the Olympians.  Being required to do
	a great deal of travelling and speaking in public, he became
	the god of eloquence, travellers, merchants, and thieves.  He
	was one of the most energetic of the Greek gods, a
	Machiavellian character full of trickery and sexual vigour.
	Like other Greek gods, he is endowed with not-inconsiderable
	sexual prowess which he directs towards countryside nymphs.
	He is a god of boundaries, guardian of graves and patron deity
	of shepherds.  He is usually depicted as a handsome young
	man wearing winged golden sandals and holding a magical
	herald's staff consisting of intertwined serpents, the
	kerykeion.  He is reputedly the only being able to find his way
	to the underworld ferry of Charon and back again.  He is said
	to have invented, among other things, the lyre, Pan's Pipes,
	numbers, the alphabet, weights and measures, and sacrificing.
	"Hezrou" is the common name for the type II demon.  It is
	among the weaker of demons, but still quite formidable,
	mostly due to the stench.
	Greek physician, recognized as the father of medicine.  He
	is believed to have been born on the island of Cos, to have
	studied under his father, a physician, to have traveled for
	some time, perhaps studying in Athens, and to have then
	returned to practice, teach, and write at Cos.  The
	Hippocratic or Coan school that formed around him was of
	enormous importance in separating medicine from superstition
	and philosophic speculation, placing it on a strictly
	scientific plane based on objective observation and critical
	deductive reasoning.
		[ The Columbia Encyclopedia, Sixth Edition ]
	Hobbits are an unobtrusive but very ancient people, more
	numerous formerly than they are today; for they love peace
	and quiet and good tilled earth:  a well-ordered and well-
	farmed countryside was their favourite haunt.  They do not
	and did not understand or like machines more complicated
	than a forge-bellows, a water-mill, or a handloom, although
	they were skillful with tools.  Even in ancient days they
	were, as a rule, shy of "the Big Folk", as they call us, and
	now they avoid us with dismay and are becoming hard to find.
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	Hobgoblin.  Used by the Puritans and in later times for
	wicked goblin spirits, as in Bunyan's "Hobgoblin nor foul
	friend", but its more correct use is for the friendly spirits
	of the brownie type.  In "A midsummer night's dream" a
	fairy says to Shakespeare's Puck:
		Those that Hobgoblin call you, and sweet Puck,
		You do their work, and they shall have good luck:
		Are you not he?
	and obviously Puck would not wish to be called a hobgoblin
	if that was an ill-omened word.
	Hobgoblins are on the whole, good-humoured and ready to be
	helpful, but fond of practical joking, and like most of the
	fairies rather nasty people to annoy.  Boggarts hover on the
	verge of hobgoblindom.  Bogles are just over the edge.
	One Hob mentioned by Henderson, was Hob Headless who haunted
	the road between Hurworth and Neasham, but could not cross
	the little river Kent, which flowed into the Tess.  He was
	exorcised and laid under a large stone by the roadside for
	ninety-nine years and a day.  If anyone was so unwary as to
	sit on that stone, he would be unable to quit it for ever.
	The ninety-nine years is nearly up, so trouble may soon be
	heard of on the road between Hurworth and Neasham.
		[ A Dictionary of Fairies, by Katharine Briggs ]
	"We want a word with you," said Ligur (in a tone of voice
	intended to imply that "word" was synonymous with "horrifically
	painful eternity"), and the squat demon pushed open the office
	door.
	The bucket teetered, then fell neatly on Ligur's head.
	Drop a lump of sodium in water.  Watch it flame and burn and
	spin around crazily, flaring and sputtering.  This was like
	that, just nastier.
	The demon peeled and flared and flickered.  Oily brown smoke
	oozed from it, and it screamed and it screamed and it screamed.
	Then it crumpled, folded in on itself, and what was left lay
	glistening on the burnt and blackened circle of carpet, looking
	like a handful of mashed slugs.
	"Hi," said Crowley to Hastur, who had been walking behind Ligur,
	and had unfortunately not been so much as splashed.
	There are some things that are unthinkable; there are some
	depths that not even demons would believe other demons would
	stoop to.
	". . . Holy water.  You bastard," said Hastur.  "You complete
	_bastard_.  He hadn't never done nothing to _you_."
	"Yet," corrected Crowley.
		[ Good Omens, by Neil Gaiman and Terry Pratchett ]
	A homunculus is a creature summoned by a mage to perform some
	particular task.  They are particularly good at spying.  They
	are smallish creatures, but very agile.  They can put their
	victims to sleep with a venomous bite, but due to their size,
	the effect does not last long on humans.

	"Tothapis cut him off.  'Be still and hearken.  You will travel
	aboard the sacred wingboat.  Of it you may not have heard; but
	it will bear you thither in a night and a day and a night.
	With you will go a homunculus that can relay your words to me,
	and mine to you, across the leagues between at the speed of
	thought.'"
		[ Conan the Rebel, by Poul Anderson ]
	But as for Queequeg -- why, Queequeg sat there among them --
	at the head of the table, too, it so chanced; as cool as an
	icicle.  To be sure I cannot say much for his breeding.  His
	greatest admirer could not have cordially justified his
	bringing his harpoon into breakfast with him, and using it
	there without ceremony; reaching over the table with it, to
	the imminent jeopardy of many heads, and grappling the
	beefsteaks towards him.
		[ Moby Dick, by Herman Melville ]
	Roland hath set the Olifant to his mouth,
	He grasps it well, and with great virtue sounds.
	High are those peaks, afar it rings and loud,
	Thirty great leagues they hear its echoes mount.
	So Charles heard, and all his comrades round;
	Then said that King: "Battle they do, our counts!"
	And Guenelun answered, contrarious:
	"That were a lie, in any other mouth."
		[ The Song of Roland ]
	The infant Zeus was fed with goat's milk by Amalthea,
	daughter of Melisseus, King of Crete.  Zeus, in gratitude,
	broke off one of the goat's horns, and gave it to Amalthea,
	promising that the possessor should always have in abundance
	everything desired.
		[ Brewer's Concise Dictionary of Phrase and Fable ]

	When Amalthea's horn
	O'er hill and dale the rose-crowned flora pours,
	And scatters corn and wine, and fruits and flowers.
		[ Os Lusiadas, by Luis Vaz de Camoes ]
	These devils lack any real special abilities, though they
	are quite difficult to kill.
	King Richard III: A horse! a horse! my kingdom for a horse!
	Catesby: Withdraw, my lord; I'll help you to a horse.
	King Richard III: Slave, I have set my life upon a cast,
	                  And I will stand the hazard of the die:
	                  I think there be six Richmonds in the field;
	                  Five have I slain to-day instead of him.
	                  A horse! a horse! my kingdom for a horse!
		[ King Richard III, by William Shakespeare ]
	[Pestilence:] And I saw when the Lamb opened one of the seals,
	and I heard, as it were the noise of thunder, one of the four
	beasts saying, Come and see.  And I saw, and behold a white
	horse: and he that sat on him had a bow; and a crown was given
	unto him: and he went forth conquering, and to conquer.

	[War:] And when he had opened the second seal, I heard the
	second beast say, Come and see.  And there went out another
	horse that was red: and power was given to him that sat thereon
	to take peace from the earth, and that they should kill one
	another: and there was given unto him a great sword.

	[Famine:] And when he had opened the third seal, I heard the
	third beast say, Come and see.  And I beheld, and lo a black
	horse; and he that sat on him had a pair of balances in his
	hand.  And I heard a voice in the midst of the four beasts say,
	A measure of wheat for a penny, and three measures of barley
	for a penny; and see thou hurt not the oil and the wine.

	[Death:] And when he had opened the fourth seal, I heard the
	voice of the fourth beast say, Come and see.  And I looked, and
	behold a pale horse: and his name that sat on him was Death,
	and Hell followed with him.  And power was given unto them over
	the fourth part of the earth, to kill with sword, and with
	hunger, and with death, and with the beasts of the earth.
		[ Revelations of John, 6:1-8 ]
	The first of five mythical Chinese emperors, Huan Ti is known
	as the yellow emperor.  He rules the _moving_ heavens, as
	opposed to the _dark_ heavens.  He is an inventor, said to
	have given mankind among other things, the wheel, armour, and
	the compass.  He is the god of fortune telling and war.
	Huehuetotl, or Huhetotl, which means Old God, was the Aztec
	(classical Mesoamerican) god of fire.  He is generally
	associated with paternalism and one of the group classed
	as the Xiuhtecuhtli complex.  He is known to send his
	minions to wreak havoc upon ordinary humans.
		[ Encyclopedia of Gods, by Michael Jordan ]
	Humanoids are all approximately the size of a human, and may
	be mistaken for one at a distance.  They are usually of a
	tribal nature, and will fiercely defend their lairs.  Usually
	hostile, they may even band together to raid and pillage
	human settlements.
	These strange creatures live mostly on the surface of the
	earth, gathering together in societies of various forms, but
	occasionally a stray will descend into the depths and commit
	mayhem among the dungeon residents who, naturally, often
	resent the intrusion of such beasts.  They are capable of
	using weapons and magic, and it is even rumored that the
	Wizard of Yendor is a member of this species.
	What of the hunting, hunter bold?
	Brother, the watch was long and cold.
	What of the quarry ye went to kill?
	Brother, he crops in the jungle still.
	Where is the power that made your pride?
	Brother, it ebbs from my flank and side.
	Where is the haste that ye hurry by?
	Brother, I go to my lair to die.
		[ The Jungle Book, by Rudyard Kipling ]
	Ice, white ice, like a winding-sheet, sheathing each smoke-grimed wall;
	Ice on the stove-pipe, ice on the bed, ice gleaming over all;
	Sparkling ice on the dead man's chest, glittering ice in his hair,
	Ice on his fingers, ice in his heart, ice in his glassy stare;
	Hard as a log and trussed like a frog, with his arms and legs outspread.
	I gazed at the coffin I'd brought for him, and I gazed at the gruesome dead,
	And at last I spoke: "Bill liked his joke; but still, goldarn his eyes,
	A man had ought to consider his mates in the way he goes and dies."
		[ The Ballad of Blasphemous Bill, by Robert W. Service ]
	I have eaten
	the plums
	that were in
	the icebox

	and which
	you were probably
	saving
	for breakfast

	Forgive me
	they were delicious
	so sweet
	and so cold
		[ This Is Just To Say, by William Carlos Williams ]
	Ice devils are large semi-insectoid creatures, who are
	equally at home in the fires of Hell and the cold of Limbo,
	and who can cause the traveller to feel the latter with just
	a touch of their tail.
	Another clever translation [of the _Asterix_ character names]
	is that of Idefix.  An _idee fixe_ is a "fixed idea", i.e.
	an obsession, a dogma.  The translation, Dogmatix, manages to
	conserve the "fixed idea" meaning and also include the syllable
	dog -- perfect, given that the character is a dog who has very
	strong views on the environment (he howls whenever he sees an
	uprooted tree).
		[ Wikipedia, the free encyclopedia ]
	 ... imps ... little creatures of two feet high that could
	gambol and jump prodigiously; ...
		[ The Charwoman's Shadow, by Lord Dunsany ]

	An 'imp' is an off-shoot or cutting.  Thus an 'ymp tree' was
	a grafted tree, or one grown from a cutting, not from seed.
	'Imp' properly means a small devil, an off-shoot of Satan,
	but the distinction between goblins or bogles and imps from
	hell is hard to make, and many in the Celtic countries as
	well as the English Puritans regarded all fairies as devils.
	The fairies of tradition often hover uneasily between the
	ghostly and the diabolic state.
		[ A Dictionary of Fairies, by Katharine Briggs ]
	The incubus and succubus are male and female versions of the
	same demon, one who lies with a human for its own purposes,
	usually to the detriment of the mortals who are unwise in
	their dealings with them.
	A minute invertebrate animal; one of the class _Insecta_.
	The true insects or hexapods have the body divided into a
	head, a thorax of 3 segments, each of which bears a pair of
	legs, and an abdomen of 7 to 11 segments, and in development
	usually pass through a metamorphosis.  There are usually 2
	pairs of wings, sometimes one pair or none.
		[ Webster's Comprehensive International Dictionary
		  of the English Language ]

	Else, if thou refuse to let my people go, behold, to morrow
	will I bring the locusts into thy coast:
	And they shall cover the face of the earth, that one cannot
	be able to see the earth:  and they shall eat the residue of
	that which is escaped, which remaineth unto you from the hail,
	and shall eat every tree which groweth for you out of the field:
	And they shall fill thy houses, and the houses of all thy
	servants, and the houses of all the Egyptians; which neither
	thy fathers, nor thy fathers' fathers have seen, since the day
	that they were upon the earth unto this day.  And he turned
	himself, and went out from Pharaoh.
		[ Exodus, 10:4-6 ]
	"You are fettered, " said Scrooge, trembling.  "Tell me why?"
	"I wear the chain I forged in life," replied the Ghost.  "I
	made it link by link, and yard by yard; I girded it on of my
	own free will, and of my own free will I wore it.  Is its
	pattern strange to you?"
	Scrooge trembled more and more.
	"Or would you know," pursued the Ghost, "the weight and
	length of the strong coil you bear yourself?  It was full as
	heavy and as long as this, seven Christmas Eves ago.  You
	have laboured on it, since.  It is a ponderous chain!"
		[ A Christmas Carol, by Charles Dickens ]
	Stone walls do not a prison make,
	  Nor iron bars a cage;
	Minds innocent and quiet take
	  That for an hermitage;
	If I have freedom in my love,
	  And in my soul am free,
	Angels alone that soar above
	  Enjoy such liberty.
		[ To Althea from Prison, by Richard Lovelace ]
	Ishtar (the star of heaven) is the Mesopotamian goddess of
	fertility and war.  She is usually depicted with wings and
	weapon cases at her shoulders, carrying a ceremonial double-
	headed mace-scimitar embellished with lion heads, frequently
	being accompanied by a lion.  She is symbolized by an eight-
	pointed star.
		[ Encyclopedia of Gods, by Michael Jordan ]
	Now Issek of the Jug, whom Fafhrd chose to serve, was once
	of the most lowly and unsuccessful of the gods, godlets
	rather, in Lankhmar.  He had dwelt there for about thirteen
	years, during which time he had traveled only two squares up
	the Street of the Gods and was now back again, ready for
	oblivion.  He is not to be confused with Issek the Armless,
	Issek of the Burnt Legs, Flayed Issek, or any other of the
	numerous and colorfully mutilated divinities of that name.
	Indeed, his unpopularity may have been due in part to the
	fact that the manner of his death -- racking -- was not
	deemed particularly spectacular. ... However, after Fafhrd
	became his acolyte, things somehow began to change.
		[ Swords In The Mist, by Fritz Leiber ]
	The shopkeeper of the lighting shop in the town level of the
	gnomish mines is a tribute to Izchak Miller, a founding member
	of the NetHack development team and a personal friend of a large
	number of us.  Izchak contributed greatly to the game, coding a
	large amount of the shopkeep logic (hence the nature of the tribute)
	as well as a good part of the alignment system, the prayer code and
	the rewrite of "hell" in the 3.1 release.  Izchak was a professor
	of Philosophy, who taught at many respected institutions, including
	MIT and Stanford, and who also worked, for a period of time, at
	Xerox PARC.  Izchak was the first "librarian" of the NetHack project,
	and was a founding member of the DevTeam, joining in 1986 while he
	was working at the University of Pennsylvania (hence our former
	mailing list address).  Until the 3.1.3 release, Izchak carefully
	kept all of the code synchronized and arbitrated disputes between
	members of the development teams.  Izchak Miller passed away at the
	age of 58, in the early morning hours of April 1, 1994 from
	complications due to cancer.  We then dedicated NetHack 3.2 in his
	memory.
			[ Mike Stephenson, for the NetHack DevTeam ]
	"Beware the Jabberwock, my son!
	  The jaws that bite, the claws that catch!
	Beware the Jubjub bird, and shun
	  The frumious Bandersnatch!"

	He took his vorpal sword in hand;
	  Long time the manxome foe he sought --
	So rested he by the Tumtum tree,
	  And stood awhile in thought.

	And, as in uffish thought he stood,
	  The Jabberwock, with eyes of flame,
	Came whiffling through the tulgey wood,
	  And burbled as it came!

	One, two! One, two! And through and through
	  The vorpal blade went snicker-snack!
	He left it dead, and with its head
	  He went galumphing back.
				[ Jabberwocky, by Lewis Carroll ]
	Sweet in the rough weather
	  The voice of the turtle-dove
	'Beautiful altogether
	  Is my Love.
	  His Hands are open spread for love
	And full of jacinth stones
	  As the apple-tree among trees of the grove
	Is He among the sons.'
		[ The Beloved, by May Probyn ]
	In Asiatic folktale, jackal provides for the lion; he scares
	up game, which the lion kills and eats, and receives what is
	left as reward.  In stories from northern India he is
	sometimes termed "minister to the king," i.e. to the lion.
	From the legend that he does not kill his own food has arisen
	the legend of his cowardice.  Jackal's heart must never be
	eaten, for instance, in the belief of peoples indigenous to
	the regions where the jackal abounds. ... In Hausa Negro
	folktale Jackal plays the role of sagacious judge and is
	called "O Learned One of the Forest."  The Bushmen say that
	Jackal goes around behaving the way he does "because he is
	Jackal".
		[ Funk & Wagnalls Standard Dictionary of Folklore ]
	A large boot extending over the knee, acting as protective
	armour for the leg, worn by troopers in the 17th and 18th
	centuries and later.  It is still the type of boot worn by
	the Household Cavalry and was adopted by fishermen and others
	before the advent of gum boots.  Figuratively, _to be under the
	jack-boot_ is to be controlled by a brutal military regime.
		[ Brewer's Concise Dictionary of Phrase and Fable ]
	Nothing grew among the ruins of the city.  The streets were
	broken and the walls of the houses had fallen, but there were
	no weeds flowering in the cracks and it seemed that the city
	had but recently been brought down by an earthquake.  Only
	one thing still stood intact, towering over the ruins.  It
	was a gigantic statue of white, gray and green jade - the
	statue of a naked youth with a face of almost feminine beauty
	that turned sightless eyes toward the north.
	"The eyes!" Duke Avan Astran said.  "They're gone!"
		[ The Jade Man's Eyes, by Michael Moorcock ]
	Large, flesh-eating animal of the cat family, of Central and
	South America.  This feline predator (_Panthera onca_) is
	sometimes incorrectly called a panther.
	    [ Van Dale's Groot Woordenboek der Nederlandse Taal ]
	I do not care to share the seas
	With jellyfishes such as these;
	Particularly Portuguese.
	  [ Lines on Meeting a Portuguese Man-o'-war while Bathing,
	      by Michael Flanders ]
	Little is known about the Faceless Lord, even the correct
	spelling of his name.  He does not have a physical form as
	we know it, and those who have peered into his realm claim
	he is a slime-like creature who swallows other creatures
	alive, spits acidic secretions, and causes disease in his
	victims which can be almost instantly fatal.
	The C ration was a predecessor of the K ration.
		[]
	The K ration was the [ Quartermaster Subsistence Research
	and Development Laboratory's ] answer to the demand for an
	individual, easy-to-carry ration that could be used in
	assault and combat operations.  It was noted for compactness
	and superior packaging and was acknowledged as the ration
	that provided the greatest variety of nutritionally balanced
	components within the smallest space.
		[ Special Rations for the Armed Forces, 1946-53,
		  by Franz A. Koehler ]
	The kabuto is the helmet worn by the samurai.  It was
	characterized by a prominent beaked front which jutted out over
	the brow to protect the wearer's face; a feature that gives
	rise to their modern Japanese name of 'shokaku tsuki kabuto'
	(battering-ram helmet).  Their main constructional element
	was an oval plate, the shokaku bo, slightly domed for the
	head with a narrow prolongation in front that curved forwards
	and downwards where it developed a pronounced central
	fold.  Two horizontal strips encircling the head were riveted
	to this frontal strip:  the lower one, the koshimaki (hip
	wrap), formed the lower edge of the helmet bowl; the other,
	the do maki (body wrap), was set at about the level of the
	temples.  Filling the gaps between these strips and the shokaku
	bo were small plates, sometimes triangular but more commonly
	rectangular in shape.  Because the front projected so
	far from the head, the triangular gap beneath was filled by
	a small plate, the shoshaku tei ita, whose rear edge bent
	downwards into a flange that rested against the forehead.
	   [ Arms & Armour of the Samurai, by Bottomley & Hopson ]
	The katana is a long, single-edged samurai sword with a
	slightly curved blade.  Its long handle is designed to allow
	it to be wielded with either one or two hands.
	I noticed that all the plants were attached to the soil by
	an almost imperceptible bond.  Devoid of roots, they seemed
	not to require any nourishment from sand, soil, or pebble.
	All they required was a point of support -- nothing else.
	These plants are self-propagated, and their existence depends
	entirely on the water that supports and nourishes them.
	Most of them do not sprout leaves, but sprout blades of
	various whimsical shapes, and their colors are limited to
	pink, carmine, green, olive, fawn, and brown.  I had the
	opportunity to observe once more -- not the dried specimens
	I had studied on the _Nautilus_ -- but the fresh, living
	specimens in their native setting.
		[ 20,000 Leagues Under the Sea, by Jules Verne ]
	The ki-rin is a strange-looking wingless flying creature.
	It has scales, a mane like a lion, a tail, four legs with
	hooves, and a horn like a unicorn's.  It is brightly colored,
	and can usually be found flying in the sky looking for good
	deeds to reward.
	Ector took both his sons to the church before which the
	anvil had been placed.  There, standing before the anvil, he
	commanded Kay:  "Put the sword back into the steel if you
	really think the throne is yours!"  But the sword glanced
	off the steel.  "Now it is your turn", Ector said facing
	Arthur.
	The young man lifted the sword and thrust with both arms; the
	blade whizzed through the air with a flash and drilled the
	metal as if it were mere butter.  Ector and Kay dropped to
	their knees before Arthur.
	"Why, father and brother, do you bow before me?", Arthur asked
	with wonder in his voice.
	"Because now I know for sure that you are the king, not only
	by birth but also by law", Ector said.  "You are no son of
	mine nor are you Kay's brother.  Immediately after your birth,
	Merlin the Wise brought you to me to be raised safely.  And
	though it was me that named you Arthur when you were baptized,
	you are really the son of brave king Uther Pendragon and queen
	Igraine..."
	And after these words, the lord rose and went to see the arch-
	bishop to impart to him what had passed.
	   [ Van Gouden Tijden Zingen de Harpen, by Vladimir Hulpach,
		Emanuel Frynta, and Vackav Cibula ]
	Possibly perceiving an expression of dubiosity on their
	faces, the globetrotter went on adhering to his adventures.

	-- And I seen a man killed in Trieste by an Italian chap.
	Knife in his back.  Knife like that.

	Whilst speaking he produced a dangerous looking clasp knife,
	quite in keeping with his character, and held it in the
	striking position.

	-- In a knockingshop it was count of a tryon between two
	smugglers.  Fellow hid behind a door, come up behind him.
	Like that.  Prepare to meet your God, says he.  Chuck!  It
	went into his back up to the butt.
		[ Ulysses, by James Joyce ]
	Here lies the noble fearless knight,
	Whose valour rose to such a height;
	When Death at last had struck him down,
	His was the victory and renown.
	He reck'd the world of little prize,
	And was a bugbear in men's eyes;
	But had the fortune in his age
	To live a fool and die a sage.
	  [ Don Quixote of La Mancha, by Miguel de Cervantes Saavedra ]
	The race of kobolds are reputed to be an artificial creation
	of a master wizard (demi-god?).  They are about 3' tall with
	a vaguely dog-like face.  They bear a violent dislike of the
	Elven race, and will go out of their way to cause trouble
	for Elves at any time.
	The Kops are a brilliant concept.  To take a gaggle of inept
	policemen and display them over and over again in a series of
	riotously funny physical punishments plays equally well to the
	peanut gallery and the expensive box seats.  People hate cops.
	Even people who have never had anything to do with cops hate
	them.  Of course, we count on them to keep order and to protect
	us when we need protecting, and we love them on television shows
	in which they have nerves of steel and hearts of gold, but in
	the abstract, as a nation, collectively we hate them.  They are
	too much like high school principals.  We're very happy to see
	their pants fall down, and they look good to us with pie on
	their faces.  The Keystone Kops turn up--and they get punished
	for it, as they crash into each other, fall down, and suffer
	indignity after indignity.  Here is pure movie satisfaction.

	The Kops are very skillfully presented.  The comic originality
	and timing in one of their chase scenes requires imagination
	to think up, talent to execute, understanding of the medium,
	and, of course, raw courage to perform.  The Kops are madmen
	presented as incompetents, and they're madmen rushing around
	in modern machines.  What's more, the machines they were operating
	in their routines were newly invented and not yet experienced
	by the average moviegoer.  (In the early days of automobiles,
	it was reported that there were only two cars registered in all
	of Kansas City, and they ran into each other.  There is both
	poetry and philosophy in this fact, but most of all, there is
	humor.  Sennett got the humor.)
		[ Silent Stars, by Jeanine Basinger ]
	"I am not a coward!" he cried.  "I'll dare Thieves' House
	and fetch you Krovas' head and toss it with blood a-drip at
	Vlana's feet.  I swear that, witness me, Kos the god of
	dooms, by the brown bones of Nalgron my father and by his
	sword Graywand here at my side!"
	   [ Swords and Deviltry, by Fritz Leiber ]
	A Japanese harp.
	Out from the water a long sinuous tentacle had crawled; it
	was pale-green and luminous and wet.  Its fingered end had
	hold of Frodo's foot, and was dragging him into the water.
	Sam on his knees was now slashing at it with a knife.  The
	arm let go of Frodo, and Sam pulled him away, crying out
	for help.  Twenty other arms came rippling out.  The dark
	water boiled, and there was a hideous stench.
	   [ The Fellowship of the Ring, by J.R.R. Tolkien ]
	Blind Io took up the dice-box, which was a skull whose various
	orifices had been stoppered with rubies, and with several of
	his eyes on the Lady he rolled three fives.  She smiled.  This
	was the nature of the Lady's eyes:  they were bright green,
	lacking iris or pupil, and they glowed from within.

	The room was silent as she scrabbled in her box of pieces and,
	from the very bottom, produced a couple that she set down on
	the board with two decisive clicks.  The rest of the players,
	as one God, craned forward to peer at them.

	"A wenegade wiffard and fome fort of clerk," said Offler the
	Crocodile God, hindered as usual by his tusks.  "Well,
	weally!"  With one claw he pushed a pile of bone-white tokens
	into the centre of the table.

	The Lady nodded slightly.  She picked up the dice-cup and held
	it as steady as a rock, yet all the Gods could hear the three
	cubes rattling about inside.  And then she sent them bouncing
	across the table.

	A six.  A three.  A five.

	Something was happening to the five, however.  Battered by the
	chance collision of several billion molecules, the die flipped
	onto a point, spun gently and came down a seven.  Blind Io
	picked up the cube and counted the sides.

	"Come _on_," he said wearily, "Play fair."
		[ The Colour of Magic, by Terry Pratchett ]
	When he came to himself he told his mother what had passed,
	and showed her the lamp and the fruits he had gathered in the
	garden, which were in reality precious stones.  He then asked
	for some food.

	"Alas! child," she said, "I have nothing in the house, but I
	have spun a little cotton and will go and sell it."

	Aladdin bade her keep her cotton, for he would sell the lamp
	instead.  As it was very dirty she began to rub it, that it
	might fetch a higher price.  Instantly a hideous genie
	appeared, and asked what she would have.  She fainted away,
	but Aladdin, snatching the lamp, said boldly:
	"Fetch me something to eat!"
		[ Aladdin, from The Arabian Nights, by Andrew Lang ]
	With this the wind increased, and the mill sails began to turn
	about; which Don Quixote espying, said, 'Although thou movest
	more arms than the giant Briareus thou shalt stoop to me.'
	And, after saying this, and commending himself most devoutly
	to his Lady Dulcinea, desiring her to succor him in that trance,
	covering himself well with his buckler, and setting his lance
	on his rest, he spurred on Rozinante, and encountered with the
	first mill that was before him, and, striking his lance into
	the sail, the wind swung it about with such fury, that it broke
	his lance into shivers, carrying him and his horse after it,
	and finally tumbled him a good way off from it on the field in
	evil plight.
	  [ Don Quixote of La Mancha, by Miguel de Cervantes Saavedra ]
	Your heart is intact, your brain is not badly damaged, but the rest
	of your injuries are comparable to stepping on a land mine.  You'd
	never walk again, and you'd be in great pain.  You would come to
	wish you had not survived.
		[ Steel Beach, by John Varley ]
	While pretending to be a fancy safety lamp, it is in fact
	battery powered.  A discreet little switch is marked "on/off"
	in elaborate lettering.
		[ Adventure 770, by Mike Arnautov ]
	You are on the edge of a breath-taking view.  Far below you
	is an active volcano, from which great gouts of molten lava
	come surging out, cascading back down into the depths.  The
	glowing rock fills the farthest reaches of the cavern with a
	blood-red glare, giving everything an eerie, macabre appearance.
	The air is filled with flickering sparks of ash and a heavy
	smell of brimstone.  The walls are hot to the touch, and the
	thundering of the volcano drowns out all other sounds.
	Embedded in the jagged roof far overhead are myriad twisted
	formations composed of pure white alabaster, which scatter the
	murky light into sinister apparitions upon the walls.  To one
	side is a deep gorge, filled with a bizarre chaos of tortured
	rock which seems to have been crafted by the devil himself.
	An immense river of fire crashes out from the depths of the
	volcano, burns its way through the gorge, and plummets into a
	bottomless pit far off to your left.  To the right, an immense
	geyser of blistering steam erupts continuously from a barren
	island in the center of a sulfurous lake, which bubbles
	ominously.  The far right wall is aflame with an incandescence
	of its own, which lends an additional infernal splendor to the
	already hellish scene.  A dark, forboding passage exits to the
	south.
		[ Adventure, by Will Crowther and Don Woods ]
	They had splendid heads, fine shoulders, strong legs, and
	straight tails.  The spots on their bodies were jet-black and
	mostly the size of a two-shilling piece; they had smaller
	spots on their heads, legs, and tails.  Their noses and eye-
	rims were black.  Missis had a most winning expression.
	Pongo, though a dog born to command, had a twinkle in his
	eye.  They walked side by side with great dignity, only
	putting the Dearlys on the leash to lead them over crossings.
		[ The Hundred and One Dalmatians, by Dodie Smith ]
	In the morning, as they were beginning to pack their slender
	goods, Elves that could speak their tongue came to them and
	brought them many gifts of food and clothing for their
	journey.  The food was mostly in the form of very thin cakes,
	made of a meal that was baked a light brown on the outside,
	and inside was the colour of cream.  Gimli took up one of the
	cakes and looked at it with a doubtful eye.
	'Cram,' he said under his breath, as he broke off a crisp
	corner and nibbled at it.  His expression quickly changed,
	and he ate all the rest of the cake with relish.
	'No more, no more!' cried the Elves laughing.  'You have
	eaten enough already for a long day's march.'
	'I thought it was only a kind of cram, such as the Dalemen
	make for journeys in the wild,' said the Dwarf.
	'So it is,' they answered.  'But we call it lembas or
	waybread, and it is more strengthening than any foods made by
	Men, and it is more pleasant than cram, by all accounts.'
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	The Larvae (Lemures) are Roman spirits of deceased family
	members.  These malignant spirits dwell throughout the house
	and frighten the inhabitants.  People tried to reconcile or
	avert the Larvae with strange ceremonies which took place on
	May 9, 11, and 13; this was called the "Feast of the Lemures".
	The master of the house usually performed these ceremonies,
	either by offering black beans to the spirits or chasing them
	away by making a lot of noise.  Their counterparts are the
	Lares, friendly and beneficent house spirits.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	... the leucrocotta, a wild beast of extraordinary swiftness,
	the size of the wild ass, with the legs of a Stag, the neck,
	tail, and breast of a lion, the head of a badger, a cloven
	hoof, the mouth slit up as far as the ears, and one continuous
	bone instead of teeth; it is said, too, that this animal can
	imitate the human voice.
		[ Curious Creatures in Zoology, by John Ashton ]
	The Irish Leprechaun is the Faeries' shoemaker and is known
	under various names in different parts of Ireland:
	Cluricaune in Cork, Lurican in Kerry, Lurikeen in Kildare
	and Lurigadaun in Tipperary.  Although he works for the
	Faeries, the Leprechaun is not of the same species.  He is
	small, has dark skin and wears strange clothes.  His nature
	has something of the manic-depressive about it:  first he
	is quite happy, whistling merrily as he nails a sole on to a
	shoe; a few minutes later, he is sullen and morose, drunk
	on his home-made heather ale.  The Leprechaun's two great
	loves are tobacco and whiskey, and he is a first-rate con-man,
	impossible to out-fox.  No one, no matter how clever, has ever
	managed to cheat him out of his hidden pot of gold or his
	magic shilling.  At the last minute he always thinks of some
	way to divert his captor's attention and vanishes in the
	twinkling of an eye.
		[ A Field Guide to the Little People
		    by Nancy Arrowsmith & George Moorse ]
	But on its heels ere the sunset faded, there came a second
	apparition, striding with incredible strides and halting when
	it loomed almost upon me in the red twilight-the monstrous mummy
	of some ancient king still crowned with untarnished gold but
	turning to my gaze a visage that more than time or the worm had
	wasted. Broken swathings flapped about the skeleton legs, and
	above the crown that was set with sapphires and orange rubies, a
	black something swayed and nodded horribly; but, for an instant,
	I did not dream what it was.  Then, in its middle, two oblique
	and scarlet eyes opened and glowed like hellish coals, and two
	ophidian fangs glittered in an ape-like mouth.  A squat, furless,
	shapeless head on a neck of disproportionate extent leaned
	unspeakably down and whispered in the mummy's ear. Then, with
	one stride, the titanic lich took half the distance between us,
	and from out the folds of the tattered sere-cloth a gaunt arm
	arose, and fleshless, taloned fingers laden with glowering gems,
	reached out and fumbled for my throat . . .
		[ The Abominations of Yondo, by Clark Ashton Smith ]
	The chamber was of unhewn rock, round, as near as might
	be, eighteen or twenty feet across, and gay with rich
	variety of fern and moss and lichen.  The fern was in
	its winter still, or coiling for the spring-tide; but
	moss was in abundant life, some feathering, and some
	gobleted, and some with fringe of red to it.
		[ Lorna Doone, by R.D. Blackmore ]
	Strange creatures formed from energy rather than matter,
	lights are given to self-destructive behavior when battling
	foes.
	Lizards, snakes and the burrowing amphisbaenids make up the
	order Squamata, meaning the scaly ones.  The elongate, slim,
	long-tailed bodies of lizards have become modified to enable
	them to live in a wide range of habitats.  Lizards can be
	expert burrowers, runners, swimmers and climbers, and a few
	can manage crude, short-distance gliding on rib-supported
	"wings".  Most are carnivores, feeding on invertebrate and
	small vertebrate prey, but others feed on vegetation.
		[ Macmillan Illustrated Animal Encyclopedia ]
	Loki, or Lopt, is described in Snorri's _Edda_ as being
	"pleasing and handsome in appearance, evil in character, and
	very capricious in behaviour".  He is the son of the giant
	Farbauti and of Laufey.
	Loki is the Norse god of cunning, evil, thieves, and fire.
	He hated the other gods and wanted to ruin them and overthrow
	the universe.  He committed many murders.  As a thief, he
	stole Freyja's necklace, Thor's belt and gauntlets of power,
	and the apples of youth.  Able to shapechange at will, he is
	said to have impersonated at various times a mare, flea, fly,
	falcon, seal, and an old crone.  As a mare he gave birth to
	Odin's horse Sleipnir.  He also allegedly sired the serpent
	Midgard, the mistress of the netherworld, Hel, and the wolf
	Fenrir, who will devour the sun at Ragnarok.
	This legendary bow grants ESP when carried and can reflect magical
	attacks when wielded.  When invoked it provides a supply of arrows.
	But as Snow White grew, she became more and more beautiful,
	and by the time she was seven years old she was as beautiful
	as the day and more beautiful than the queen herself.  One
	day when the queen said to her mirror:

		"Mirror, Mirror, here I stand.
		Who is the fairest in the land?" -

	the mirror replied:

		"You, O Queen, are the fairest here,
		But Snow White is a thousand times more fair."
		[ Snow White, by Jakob and Wilhelm Grimm ]
	Lord Carnarvon was a personality who could have been produced
	nowhere but in England, a mixture of sportsman and collector,
	gentleman and world traveler, a realist in action and a
	romantic in feeling.  ...  In 1903 he went for the first time
	to Egypt in search of a mild climate and while there visited
	the excavation sites of several archaeological expeditions.
	...  In 1906 he began his own excavations.
		[ Gods, Graves, and Scholars, by C.W. Ceram ]
	Lord Sato was the family head of the Taro Clan, and a mighty
	daimyo.  He is a loyal servant of the Emperor, and will do
	everything in his power to further the imperial cause.
	Yet first was the world in the southern region, which was
	named Muspell; it is light and hot; that region is glowing
	and burning, and impassable to such as are outlanders and
	have not their holdings there.  He who sits there at the
	land's-end, to defend the land, is called Surtr; he brandishes
	a flaming sword, and at the end of the world he shall go forth
	and harry, and overcome all the gods, and burn all the
	world with fire.
			[ The Prose Edda, by Snorri Sturluson ]
	"[...]  We'll succeed and you'll get all the fortune you came
	seeking."
	Jack shook his head dismally.  "You'll be better off without
	me," he said.  "I'm nothing but bad luck.  It's because I'm
	cursed.  A farmer I met on the way to the city cursed me.  He
	said, 'I curse you Jack.  May you never know wealth.  May all
	that you wish for be denied you.'"
	"What a horrid man," said Eddie.  "Why did he curse you like
	that?"
	Jack shrugged [...].  "Bad grace, I suppose.  Just because I
	shot off his ear and made him jump into a pit full of spikes."
		[ the hollow chocolate bunnies of the apocalypse,
		    by Robert Rankin ]
	Lugh, or Lug, was the sun god of the Irish Celts.  One of his
	weapons was a rod-sling which worshippers sometimes saw in
	the sky as a rainbow.  As a tribal god, he was particularly
	skilled in the use of his massive, invincible spear, which
	fought on its own accord.  One of his epithets is _lamfhada_
	(of the long arm).  He was a young and apparently more
	attractive deity than Dagda, the father of the gods.  Being
	able to shapeshift, his name translates as lynx.
	These dungeon scavengers are very adept at blending into the
	surrounding walls and ceilings of the dungeon due to the
	stone-like coloring of their skin.
	In 1573, the Parliament of Dole published a decree, permitting
	the inhabitants of the Franche-Comte to pursue and kill a
	were-wolf or loup-garou, which infested that province,
	"notwithstanding the existing laws concerning the chase."
	The people were empowered to "assemble with javelins,
	halberds, pikes, arquebuses and clubs, to hunt and pursue the
	said were-wolf in all places where they could find it, and to
	take, burn, and kill it, without incurring any fine or other
	penalty."  The hunt seems to have been successful, if we may
	judge from the fact that the same tribunal in the following
	year condemned to be burned a man named Giles Garnier, who
	ran on all fours in the forest and fields and devoured little
	children, "even on Friday."  The poor lycanthrope, it appears,
	had as slight respect for ecclesiastical feasts as the French
	pig, which was not restrained by any feeling of piety from
	eating infants on a fast day.
		[ The History of Vampires, by Dudley Wright ]
	To dream of seeing a lynx, enemies are undermining your
	business and disrupting your home affairs.  For a woman,
	this dream indicates that she has a wary woman rivaling her
	in the affections of her lover. If she kills the lynx, she
	will overcome her rival.
		[ 10,000 Dreams Interpreted, by Gustavus Hindman Miller ]
	Originally a club armed with iron, and used in war; now a staff
	of office pertaining to certain dignitaries, as the Speaker of
	the House of Commons, Lord Mayors, Mayors etc.  Both sword and
	mace are symbols of dignity, suited to the times when men went
	about in armour, and sovereigns needed champions to vindicate
	their rights.
		[ Brewer's Concise Dictionary of Phrase and Fable ]
	The pen is mightier than the sword.
		[ Richelieu, by Edward Bulwer-Lytton ]
	  [...] In Dehenbarth (that now South Wales is hight,
	  What time King Ryence reigned, and dealed right)
	  The great magician Merlin had devised,
	  By his deep science, and hell-dreaded might,
	  A looking-glass, right wondrously aguised,
	Whose virtues through the wide world soon were solemnized.

	It virtue had to show in perfect sight
	  Whatever thing was in the world contained,
	  Betwixt the lowest earth and heaven's height,
	  So that it to the looker appertained;
	  Whatever foe had wrought, or friend had fained,
	  Therein discovered was, nor aught might pass,
	  Nor aught in secret from the same remained;
		[ The Faerie Queene, by Edmund Spencer ]
	A highly enchanted athame said to hold the power to channel
	and direct magical energy.
	It is rumoured that these strange creatures can be harmed by
	domesticated canines only.
	Normally called Manannan, Ler's son was the patron of
	merchants and sailors.  Manannan had a sword which never
	failed to slay, a boat which propelled itself wherever its
	owner wished, a horse which was swifter than the wind, and
	magic armour which no sword could pierce.  He later became
	god of the sea, beneath which he lived in Tir na nOc, the
	underworld.
	Manes or Di Manes ("good ones") is the euphemistic description
	of the souls of the deceased, worshipped as divinities.  The
	formula D.M. (= Dis Manibus; "dedicated to the Manes-gods")
	can often be found on tombstones.  Manes also means
	metaphorically 'underworld' or 'realm of death'.  Festivals
	in honor of the dead were the Parentalia and the Feralia,
	celebrated in February.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]

	The gnats of the dungeon, these swarming monsters are rarely
	seen alone.
	First insisting on recognition as supreme commander, Marduk
	defeated the Dragon, cut her body in two, and from it created
	heaven and earth, peopling the world with human beings who not
	unnaturally showed intense gratitude for their lives.  The
	gods were also properly grateful, invested him with many
	titles, and eventually permitted themselves to be embodied in
	him, so that he became supreme god, plotting the whole course
	of known life from the paths of the planets to the daily
	events in the lives of men.
		[ The Immortals, by Derek and Julia Parker ]
	The marilith has a torso shaped like that of a human female,
	and the lower body of a great snake.  It has multiple arms,
	and can freely attack with all of them.  Since it is
	intelligent enough to use weapons, this means it can cause
	great damage.
	The god of war, and one of the most prominent and worshipped
	gods.  In early Roman history he was a god of spring, growth in
	nature, and fertility, and the protector of cattle.  Mars is
	also mentioned as a chthonic god (earth-god) and this could
	explain why he became a god of death and finally a god of war.
	He is the son of Jupiter and Juno.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	"What else can we do? None of this is fast enough." "It will have
	to be." He stood up, a tall, broad wall of a man.  "Why don't you
	ask around, see if anyone in the neighborhoods knows anything
	about martial arts.  You need more than a book or two to learn
	good dependable unarmed combat."
		[ Parable of the Sower, by Octavia Butler ]
	He strolled down the stairs, followed by a number of assassins.
	When he was directly in front of Ymor he said: "I've come for
	the tourist." ...
	"One step more and you'll leave here with fewer eyeballs than
	you came with," said the thiefmaster.  "So sit down and have
	a drink, Zlorf, and let's talk about this sensibly.  _I_
	thought we had an agreement.  You don't rob -- I don't kill.
	Not for payment, that is," he added after a pause.
	Zlorf took the proffered beer.
	"So?" he said.  "I'll kill him.  Then you rob him.  Is he that
	funny looking one over there?"
	"Yes."
	Zlorf stared at Twoflower, who grinned at him.  He shrugged.
	He seldom wasted time wondering why people wanted other people
	dead.  It was just a living.
	"Who is your client, may I ask?" said Ymor.
	Zlorf held up a hand.  "Please!" he protested.  "Professional
	etiquette."
		[ The Colour of Magic, by Terry Pratchett ]
	This skeleton key was fashioned in ages past and imbued with
	a powerful magic which allows it to open any lock.  When
	carried, it grants its owner warning, teleport control, and
	reduces all physical damage by half.  Finally, when invoked,
	it has the ability to disarm any trapped lock.
	There was a flutter of wings at the window.  Ymor shifted his
	bulk out of the chair and crossed the room, coming back with
	a large raven.  After he'd unfastened the message capsule from
	its leg it flew up to join its fellows lurking among the
	rafters.  Withel regarded it without love.  Ymor's ravens were
	notoriously loyal to their master, to the extent that Withel's
	one attempt to promote himself to the rank of greatest thief
	in Ankh-Morpork had cost their master's right hand man his
	left eye.  But not his life, however.  Ymor never grudged a
	man his ambitions.
		[ The Colour of Magic, by Terry Pratchett ]
	Any large, elephantlike mammal of the genera Mammut, Mastodon,
	etc., from the Oligocene and Pleistocene epochs, having
	conical projections on the molar teeth.
		[ Webster's Encyclopedic Unabridged Dictionary
			of the English Language ]
	A mattock is an agricultural tool similar to a mining pick.
	It is distinguished by the head terminating in a broader blade
	rather than a narrow spike, which makes it particularly suitable
	for breaking up moderately hard ground. ... During the Middle
	Ages of Europe, the mattock served as an improvised shafted
	weapon for the poorer classes.
		[ Wikipedia, the free encyclopedia ]
	Some hae meat and canna eat,
	And some would eat that want it;
	But we hae meat, and we can eat,
	Sae let the Lord be thankit.
		[ Grace Before Meat, by Robert Burns ]
	Medusa, one of the three Gorgons, is the only one of her
	sisters to have assumed mortal form and inhabited the dungeon
	world.
		[]

	When Perseus was grown up Polydectes sent him to attempt the
	conquest of Medusa, a terrible monster who had laid waste the
	country.  She was once a beautiful maiden whose hair was her
	chief glory, but as she dared to vie in beauty with Minerva,
	the goddess deprived her of her charms and changed her
	beautiful ringlets into hissing serpents.  She became a cruel
	monster of so frightful an aspect that no living thing could
	behold her without being turned into stone.  All around the
	cavern where she dwelt might be seen the stony figures of men
	and animals which had chanced to catch a glimpse of her and
	had been petrified with the sight.  Perseus, favoured by
	Minerva and Mercury, the former of whom lent him her shield
	and the latter his winged shoes, approached Medusa while she
	slept and taking care not to look directly at her, but guided
	by her image reflected in the bright shield which he bore, he
	cut off her head and gave it to Minerva, who fixed it in the
	middle of her Aegis.
		[ Bulfinch's Mythology, by Thomas Bulfinch ]
	"What is it, Umbopa, son of a fool?" I shouted in Zulu.
	"It is food and water, Macumazahn," and again he waved the
	green thing.
	Then I saw what he had got.  It was a melon.  We had hit upon
	a patch of wild melons, thousands of them, and dead ripe.
	"Melons!" I yelled to Good, who was next me; and in another
	second he had his false teeth fixed in one.
	I think we ate about six each before we had done, and, poor
	fruit as they were, I doubt if I ever thought anything nicer.
		[ King Solomon's Mines, by H. Rider Haggard ]
	Roman god of commerce, trade and travellers.  He is commonly
	depicted carrying a caduceus (a staff with two snakes
	intertwining around it) and a purse.
	The ancestors of the modern day chameleon, these creatures can
	assume the form of anything in their surroundings.  They may
	assume the shape of objects or dungeon features.  Unlike the
	chameleon though, which assumes the shape of another creature
	and goes in hunt of food, the mimic waits patiently for its
	meals to come in search of it.
	This creature has a humanoid body, tentacles around its
	covered mouth, and three long fingers on each hand.  Mind
	flayers are telepathic, and love to devour intelligent beings,
	especially humans.  If they hit their victim with a tentacle,
	the mind flayer will slowly drain it of all intelligence,
	eventually killing its victim.
	Made by Dwarfs.  The Rule here is that the Mine is either long
	deserted or at most is inhabited by a few survivors who will
	make confused claims to have been driven out/decimated by humans/
	other Dwarfs/Minions of the Dark Lord.  Inhabited or not, this
	Mine will be very complex, with many levels of galleries,
	beautifully carved and engineered.  What was being mined here
	is not always evident, but at least some of the time it will
	appear to have been Jewels, since it is customary to find
	unwanted emeralds, etc., still embedded in the rock of the
	walls.  Metal will also be present, but only when made up into
	armor and weapons (_wondrous_).
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	The Minotaur was a monster, half bull, half human, the
	offspring of Minos' wife Pasiphae and a wonderfully beautiful
	bull. ...  When the Minotaur was born Minos did not kill him.
	He had Daedalus, a great architect and inventor, construct a
	place of confinement for him from which escape was impossible.
	Daedalus built the Labyrinth, famous throughout the world.
	Once inside, one would go endlessly along its twisting paths
	without ever finding the exit.
		[ Mythology, by Edith Hamilton ]
	Originating in India (Mitra), Mithra is a god of light who
	was translated into the attendant of the god Ahura Mazda in
	the light religion of Persia; from this he was adopted as
	the Roman deity Mithras.  He is not generally regarded as a
	sky god but a personification of the fertilizing power of
	warm, light air.  According to the _Avesta_, he possesses
	10,000 eyes and ears and rides in a chariot drawn by white
	horses.  Mithra, according to Zarathustra, is concerned with
	the endless battle between light and dark forces:  he
	represents truth.  He is responsible for the keeping of oaths
	and contracts.  He is attributed with the creation of both
	plants and animals.  His chief adversary is Ahriman, the
	power of darkness.
	    [ The Encyclopaedia of Myths and Legends of All Nations,
		by Herbert Spencer Robinson and Knox Wilson ]
	_Mithril_!  All folk desired it.  It could be beaten like
	copper, and polished like glass; and the Dwarves could make
	of it a metal, light and yet harder than tempered steel.
	Its beauty was like to that of common silver, but the beauty
	of _mithril_ did not tarnish or grow dim.
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	This helm of brilliance performs all of the normal functions
	of a helm of brilliance, but also has the ability to protect
	anyone who carries it from fire.  When invoked, it boosts
	the energy of the invoker, allowing them to cast more spells.
	Forged by the dwarves Eitri and Brokk, in response to Loki's
	challenge, Mjollnir is an indestructible war hammer.  It has
	two magical properties:  when thrown it always returned to
	Thor's hand; and it could be made to shrink in size until it
	could fit inside Thor's shirt.  Its only flaw is that it has
	a short handle.  The other gods judged Mjollnir the winner of
	the contest because, of all the treasures created, it alone had
	the power to protect them from the giants.  As the legends
	surrounding Mjollnir grew, it began to take on the quality of
	"vigja", or consecration.  Thor used it to consecrate births,
	weddings, and even to raise his goats from the dead.  In the
	Norse mythologies Mjollnir is considered to represent Thor's
	governance over the entire cycle of life - fertility, birth,
	destruction, and resurrection.
	Mog is known as the Spider God.  Mog resembles a four-limbed
	spider with a handsome, if not entirely human, face.
	Mold, multicellular organism of the division Fungi, typified
	by plant bodies composed of a network of cottony filaments.
	The colors of molds are due to spores borne on the filaments.
	Most molds are saprophytes.  Some species (e.g., penicillium)
	are used in making cheese and antibiotics.
		[ The Concise Columbia Encyclopedia ]
	And the Lord spake unto Moses, saying,
	Again, thou shalt say to the children of Israel, Whosoever
	he be of the children of Israel, or of the strangers that
	sojourn in Israel, that giveth any of his seed unto Molech;
	he shall surely be put to death: the people of the land shall
	stone him with stones.
	And I will set my face against that man, and will cut him off
	from among his people; because he hath given of his seed unto
	Molech, to defile my sanctuary, and to profane my holy name.
	And if the people of the land do any ways hide their eyes
	from the man, when he giveth of his seed unto Molech, and kill
	him not:
	Then I will set my face against that man, and against his
	family, and will cut him off, and all that go a whoring after
	him, to commit whoredom with Molech, from among their people.
		[ Leviticus 20:1-5 ]
	One day, an army general invited the Buddhist monk I-Hsiu
	(literally, "One Rest") to his military head office for a
	dinner.  I-Hsiu was not accustomed to wearing luxurious
	clothings and so he just put on an old ordinary casual
	robe to go to the military base.  To him, "form is void".

	As he approached the base, two soldiers appeared before him
	and shouted, "Where does this beggar came from?  Identify
	yourself!  You do not have permission to be around here!"

	"My name is I-Hsiu Dharma Master.  I am invited by your
	general for a supper."

	The two soldiers examined the monk closely and said, "You
	liar.  How come my general invites such a shabby monk to
	dinner?  He invites the very solemn venerable I-Hsiu to our
	base for a great ceremony today, not you.  Now, get out!"

	I-Hsiu was unable to convince the soldiers that he was
	indeed the invited guest, so he returned to the temple
	and changed to a very formal solemn ceremonial robe for
	the dinner.  And as he returned to the military base, the
	soldiers observed that he was such a great Buddhist monk,
	let him in with honour.

	At the dinner, I-Hsiu sat in front of the table full of
	food but, instead of putting the food into his mouth, he
	picked up the food with his chopsticks and put it into
	his sleeves.  The general was curious, and whispered to
	him, "This is very embarrassing.  Do you want to take
	some food back to the temple?  I will order the cook to
	prepare some take out orders for you."  "No" replied the
	monk.  "When I came here, I was not allowed into the
	base by your soldiers until I wear this ceremonial robe.
	You do not invite me for a dinner.  You invite my robe.
	Therefore, my robe is eating the food, not me."
		[ Dining with a General - a Zen Buddhism Koan,
		  translation by Yiu-man Chan ]
	"Listen, man-cub," said the Bear, and his voice rumbled like
	thunder on a hot night.  "I have taught thee all the Law of
	the Jungle for all the peoples of the jungle--except the
	Monkey-Folk who live in the trees.  They have no law.  They
	are outcasts.  They have no speech of their own, but use the
	stolen words which they overhear when they listen, and peep,
	and wait up above in the branches.  Their way is not our way.
	They are without leaders.  They have no remembrance.  They
	boast and chatter and pretend that they are a great people
	about to do great affairs in the jungle, but the falling of
	a nut turns their minds to laughter and all is forgotten.
	We of the jungle have no dealings with them.  We do not drink
	where the monkeys drink; we do not go where the monkeys go;
	we do not hunt where they hunt; we do not die where they die...."
		[ The Jungle Book, by Rudyard Kipling ]
	The morning star was a medieval weapon resembling a mace, but
	with a large spike on the end and smaller spikes around the
	circumference.  It was also known as the goedendag (from the
	Dutch word for "good day") and the holy water sprinkler (from
	its resemblance to the aspergillum sometimes used in the
	Catholic Mass).  It was used by both cavalry and infantry;
	the horseman's weapon typically had a shorter haft than the
	footman's, which might be up to six feet long.  It came into
	use in the beginning of the 14th century.

	The name "morning star" is often erroneously applied to the
	military flail (also known as the therscol), a similar weapon,
	but with the head attached by a short chain.
		[ Dictionary of Medieval Knighthood and Chivalry,
		  by Bradford Broughton ]
	... the Mumak of Harad was indeed a beast of vast bulk, and
	the like of him does not walk now in Middle-Earth; his kin
	that live still in latter days are but memories of his girth
	and majesty.  On he came, ... his great legs like trees,
	enormous sail-like ears spread out, long snout upraised like
	a huge serpent about to strike, his small red eyes raging.
	His upturned hornlike tusks ... dripped with blood.
		[ The Two Towers, by J.R.R. Tolkien ]
	But for an account of the manner in which the body was
	bandaged, and a list of the unguents and other materials
	employed in the process, and the words of power which were
	spoken as each bandage was laid in its place, we must have
	recourse to a very interesting papyrus which has been edited
	and translated by M. Maspero under the title of Le Rituel de
	l'Embaumement. ...
	Everything that could be done to preserve the body was now
	done, and every member of it was, by means of the words of
	power which changed perishable substances into imperishable,
	protected to all eternity; when the final covering of purple
	or white linen had been fastened upon it, the body was ready
	for the tomb.
		[ Egyptian Magic, by E.A. Wallis Budge ]
	He held a white cloth -- it was a serviette he had brought
	with him -- over the lower part of his face, so that his
	mouth and jaws were completely hidden, and that was the
	reason for his muffled voice.  But it was not that which
	startled Mrs. Hall.  It was the fact that all his forehead
	above his blue glasses was covered by a white bandage, and
	that another covered his ears, leaving not a scrap of his
	face exposed excepting only his pink, peaked nose.  It was
	bright, pink, and shiny just as it had been at first.  He
	wore a dark-brown velvet jacket with a high, black, linen-
	lined collar turned up about his neck.  The thick black
	hair, escaping as it could below and between the cross
	bandages, project in curious tails and horns, giving him
	the strangest appearance conceivable.
		[ The Invisible Man, by H.G. Wells ]
	The naga is a mystical creature with the body of a snake and
	the head of a man or woman.  They will fiercely protect the
	territory they consider their own.  Some nagas can be forced
	to serve as guardians by a spellcaster of great power.
	A Japanese pole-arm, fitted with a curved single-edged blade.
	The blades ranged in length from two to four feet, mounted on
	shafts about four to five feet long.  The naginata were cut
	with a series of short grooves near to the tang, above which
	the back edge was thinned, but not sharpened, so that the
	greater part of the blade was a flattened diamond shape in
	section.  Seen in profile, the curve is slight or non-
	existent near the tang, becoming more pronounced towards the
	point.
	    []

	"With his naginata he killed five, but with the sixth it
	snapped asunder in the midst and, flinging it away, he drew
	his sword, wielding it in the zigzag style, the interlacing,
	cross, reversed dragonfly, waterwheel, and eight-sides-at-
	once styles of fencing and cutting down eight men; but as he
	brought down the ninth with a mighty blow on the helmet, the
	blade snapped at the hilt."
	    [ Story of Tsutsui no Jomio Meishu from Tales of Heike ]
	Not only do these demons do physical damage with their claws
	and bite, but they are capable of using magic as well.
	Nalzok is Moloch's cunning and unfailingly loyal battle
	lieutenant, to whom he trusts the command of warfare when he
	does not wish to exercise it himself.  Nalzok is a major
	demon, known to command the undead.  He is hungry for power,
	and secretly covets Moloch's position.  Moloch doesn't trust
	him, but, trusting his own power enough, chooses to allow
	Nalzok his position because he is useful.
	1.  Valley between Duesseldorf and Elberfeld in Germany,
	where an ancient skull of a prehistoric ancestor to modern
	man was found.  2.  Human(oid) of the race mentioned above.
	Neferet the Green holds office in her hidden tower, only
	reachable by magical means, where she teaches her apprentices
	the enigmatic skills of occultism.  Despite her many years, she
	continues to investigate new spells, especially those involving
	translocation.  It is further rumored that when she was an
	apprentice herself, she accidentally turned her skin green, and
	has kept it that way ever since.
	(kinds of) small animal, like a lizard, which spends most of
	its time in the water.
		[ Oxford's Student's Dictionary of Current English ]

	"Fillet of a fenny snake,
	In the cauldron boil and bake;
	Eye of newt and toe of frog,
	Wool of bat and tongue of dog,
	Adder's fork and blind-worm's sting,
	Lizard's leg and howlet's wing,
	For a charm of powerful trouble,
	Like a hell-broth boil and bubble."
		[ Macbeth, by William Shakespeare ]
	A Japanese broadsword.
	The Norns were the three Norse Fates, or the goddesses of fate.
	Female giants, they brought the wonderful Golden Age to an end.
	They cast lots over the cradle of every child that was born,
	and placed gifts in the cradle.  Their names were Urda,
	Verdandi, and Skuld, representing the past, the present, and
	the future.  Urda and Verdandi were kindly disposed, but Skuld
	was cruel and savage.  Their tasks were to sew the web of
	fate, to water the sacred ash, Yggdrasil, and to keep it in
	good condition by placing fresh earth around it daily.  In her
	fury, Skuld often spoiled the work of her sisters by tearing
	the web to shreds.
	    [ The Encyclopaedia of Myths and Legends of All Nations,
		by Herbert Spencer Robinson and Knox Wilson ]
	A nunchaku is two sections of wood (or metal in modern
	incarnations) connected by a cord or chain.  There is much
	controversy over its origins; some say it was originally a
	Chinese weapon, others say it evolved from a threshing flail;
	one theory purports that it was developed from a horse's bit.
	Chinese nunchaku tend to be rounded, whereas Japanese are
	octagonal, and they were originally linked by horse hair.
	There are many variations on the nunchaku, ranging from the
	three sectional staff (san-setsu-kon nunchaku), to smaller
	multi-section nunchaku.  The nunchaku was popularized by
	Bruce Lee in a number of films, made in both Hollywood and
	Hong Kong.
		[ Wikipedia, the free encyclopedia ]
	A female creature from Roman and Greek mythology, the nymph
	occupied rivers, forests, ponds, etc.  A nymph's beauty is
	beyond words:  an ever-young woman with sleek figure and
	long, thick hair, radiant skin and perfect teeth, full lips
	and gentle eyes.  A nymph's scent is delightful, and her
	long robe glows, hemmed with golden threads and embroidered
	with rainbow hues of unearthly magnificence.  A nymph's
	demeanour is graceful and charming, her mind quick and witty.
		[]

	Theseus felt her voice pulling him down into fathoms of
	sleep.	The song was the skeleton of his dream, and the dream
	was full of terror.  Demon girls were after him, and a bull-
	man was goring him.  Everywhere there was blood.  There was
	pain.  There was fear.	But his head was in the nymph's lap
	and her musk was about him, her voice weaving the dream.  He
	knew then that she had been sent to tell him of something
	dreadful that was to happen to him later.  Her song was a
	warning.  But she had brought him a new kind of joy, one that
	made him see everything differently.  The boy, who was to
	become a hero, suddenly knew then what most heroes learn
	later -- and some too late -- that joy blots suffering and
	that the road to nymphs is beset by monsters.
		[ The Minotaur, by Bernard Evslin ]
	A volcanic glass, homogeneous in texture and having a low water
	content, with a vitreous luster and a conchoidal fracture.  The
	color is commonly black, but may be some shade of red or brown,
	and cut sections sometimes appear to be green.  Like other
	volcanic glasses, obsidian is a lava that has cooled too quickly
	for the contained minerals to crystallize.  In chemical
	composition it is rich in silica and similar to granite.  It is
	favored by primitive peoples for knives, arrowheads, spearheads,
	and other weapons and tools.
		[ The Columbia Encyclopedia, Sixth Edition ]
	Also called Sigtyr (god of Victory), Val-father (father of
	the slain), One-Eyed, Hanga-god (god of the hanged), Farma-
	god (god of cargoes), Hapta-god (god of prisoners), and
	Othin.  He is the prime god of the Norsemen:  god of war and
	victory, wisdom and prophecy, poetry, the dead, air and wind,
	hospitality, and magic.
	As the god of war and victory, Odin is ruler of the Valkyries,
	warrior-maidens who lived in the halls of Valhalla in Asgard,
	the hall of dead heroes where he held his court.
	These chosen ones will defend the realm of the gods against
	the Frost Giants on the final day of reckoning, Ragnarok.
	As god of the wind, Odin rides through the air on his eight-
	footed horse, Sleipnir, wielding Gungner, his spear, normally
	accompanied by his ravens, Hugin and Munin, who he would also
	use as his spies.
	As a god of hospitality, he enjoys visiting the earth in
	disguise to see how people were behaving and to see how they
	would treat him, not knowing who he was.
	Odin is usually represented as a one-eyed wise old man with a
	long white beard and a wide-brimmed hat (he gave one of his
	eyes to Mimir, the guardian of the well of wisdom in Hel, in
	exchange for a draught of knowledge).
	Anyone who has met a gluttonous, nude, angry ogre, will not
	easily forget this encounter -- if he survives it at all.
	Both male and female ogres can easily grow as tall as three
	metres.  Build and facial expressions would remind one of a
	Neanderthal.  Its small, pointy, keen teeth are striking.
	Since ogres avoid direct sunlight, their ragged, unfurry
	skin is as white as a sheet.  They enjoy coating their body
	with lard and usually wear nothing but a loin-cloth.  An elf
	would smell its rancid stench at ten metres distance.
	Ogres are solitary creatures:  very rarely one may encounter
	a female with two or three young.  They are the only real
	carnivores among the humanoids, and its favourite meal is --
	not surprisingly -- human flesh.  They sometimes ally with
	orcs or goblins, but only when they anticipate a good meaty
	meal.
		[ het Boek van de Regels; Het Oog des Meesters ]
	During our watches below we overhauled our clothes, and made
	and mended everything for bad weather.  Each of us had made
	for himself a suit of oil-cloth or tarpaulin, and these we
	got out, and gave thorough coatings of oil or tar, and hung
	upon the stays to dry.  Our stout boots, too, we covered
	over with a thick mixture of melted grease and tar.  Thus we
	took advantage of the warm sun and fine weather of the
	Pacific to prepare for its other face.
		[ Two Years Before the Mast, by Richard Henry Dana ]
	Summer passed all too quickly.  On the last day of camp, Mr.
	Brickle called his counselors together and paid them what he
	owed them.  Louis received one hundred dollars - the first
	money he had ever earned.  He had no wallet and no pockets,
	so Mr. Brickle placed the money in a waterproof bag that had
	a drawstring.  He hung this moneybag around Louis' neck,
	along with the trumpet, the slate, the chalk pencil, and the
	lifesaving medal.
		[ The Trumpet of the Swan, by E.B. White ]
	But at the end of the Third Age a troll-race not before seen
	appeared in southern Mirkwood and in the mountain borders of
	Mordor.  Olog-hai they were called in the Black Speech.  That
	Sauron bred them none doubted, though from what stock was not
	known.  Some held that they were not Trolls but giant Orcs;
	but the Olog-hai were in fashion of body and mind quite unlike
	even the largest of Orc-kind, whom they far surpassed in size
	and power.  Trolls they were, but filled with the evil will
	of their master:  a fell race, strong, agile, fierce and
	cunning, but harder than stone.  Unlike the older race of the
	Twilight they could endure the Sun....  They spoke little,
	and the only tongue they knew was the Black Speech of Barad-dur.
		[ The Return of the King, by J.R.R. Tolkien ]
	Delphi under towering Parnassus, where Apollo's oracle was,
	plays an important part in mythology.  Castalia was its
	sacred spring; Cephissus its river.  It was held to be the
	center of the world, so many pilgrims came to it, from
	foreign countries as well as Greece.  No other shrine rivaled
	it.  The answers to the questions asked by the anxious
	seekers for Truth were delivered by a priestess who went into
	a trance before she spoke.
		[ Mythology, by Edith Hamilton ]
	What was the fruit like?  Unfortunately, no one can describe
	a taste.  All I can say is that, compared with those fruits,
	the freshest grapefruit you've ever eaten was dull, and the
	juiciest orange was dry, and the most melting pear was hard
	and woody, and the sweetest wild strawberry was sour.  And
	there were no seeds or stones, and no wasps.  If you had once
	eaten that fruit, all the nicest things in this world would
	taste like medicines after it.  But I can't describe it.  You
	can't find out what it is like unless you can get to that
	country and taste it for yourself.
		[ The Last Battle, by C.S. Lewis ]
	This Orb is a crystal ball of exceptional powers.  When
	carried, it grants ESP, limits damage done by spells, and
	protects the carrier from magic missiles.  When invoked it
	allows the carrier to become invisible.
	Some say that Odin himself created this ancient crystal ball,
	although others argue that Loki created it and forged Odin's
	signature on the bottom.  In any case, it is a powerful
	artifact.  Anyone who carries it is granted the gift of
	warning, and damage, both spell and physical, is partially
	absorbed by the orb itself.  When invoked it has the power
	to teleport the invoker between levels.
	The Great Goblin gave a truly awful howl of rage when he
	looked at it, and all his soldiers gnashed their teeth,
	clashed their shields, and stamped.  They knew the sword at
	once.  It had killed hundreds of goblins in its time, when
	the fair elves of Gondolin hunted them in the hills or did
	battle before their walls.  They had called it Orcrist,
	Goblin-cleaver, but the goblins called it simply Biter.
	They hated it and hated worse any one that carried it.
		[ The Hobbit, by J.R.R. Tolkien ]
	Orcus, Prince of the Undead, has a ram's head and a poison
	stinger.  He is most feared, though, for his powerful magic
	abilities.  His wand causes death to those he chooses.
	Orcs, bipeds with a humanoid appearance, are related to the
	goblins, but much bigger and more dangerous.  The average orc
	is only moderately intelligent, has broad, muscled shoulders,
	a short neck, a sloping forehead and a thick, dark fur.
	Their lower eye-teeth are pointing forward, like a boar's.
	Female orcs are more lightly built and bare-chested.  Not
	needing any clothing, they do like to dress in variegated
	apparels.  Suspicious by nature, orcs live in tribes or
	hordes.  They tend to live underground as well as above
	ground (but they dislike sunlight).  Orcs can use all weapons,
	tools and armours that are used by men.  Since they don't have
	the talent to fashion these themselves, they are constantly
	hunting for them.  There is nothing a horde of orcs cannot
	use.
		[ het Boek van de Regels; Het Oog des Meesters ]
	Orion was the son of Neptune. He was a handsome giant and a
	mighty hunter. His father gave him the power of wading
	through the depths of the sea, or, as others say, of
	walking on its surface.

	He dwelt as a hunter with Diana (Artemis), with whom he
	was a favourite, and it is even said she was about to marry
	him. Her brother was highly displeased and often chid her,
	but to no purpose. One day, observing Orion wading through
	the sea with his head just above the water, Apollo pointed
	it out to his sister and maintained that she could not hit
	that black thing on the sea. The archer-goddess discharged
	a shaft with fatal aim. The waves rolled the dead body of
	Orion to the land, and bewailing her fatal error with many
	tears, Diana placed him among the stars, where he appears
	as a giant, with a girdle, sword, lion's skin, and
	club. Sirius, his dog, follows him, and the Pleiads fly
	before him.
		[ Bulfinch's Mythology, by Thomas Bulfinch ]
	The osaku is a small tool for picking locks.
	Owlbears are probably the crossbreed creation of a demented
	wizard; given the lethal nature of this creation, it is quite
	likely the wizard who created them is no longer alive.  As
	the name might already suggest, owlbears are a cross between
	a giant owl and a bear.  They are covered with fur and
	feathers.
	A male servant or attendant; specifically, in chivalry,
	a lad or young man in training for knighthood, or a youth
	of gentle parentage attending a royal or princely personage.
		[ Webster's Comprehensive International Dictionary
		  of the English Language ]
	_Pallium._  The Roman name for a square woollen cloak worn
	by men in ancient Greece, especially by philosophers and
	courtesans, corresponding to the Roman toga.  Hence the
	Greeks called themselves _gens palliata,_ and the Romans
	called themselves _gens togata._
		[ Brewer's Concise Dictionary of Phrase and Fable ]
	And lo! almost where the ascent began,
	A panther light and swift exceedingly,
	Which with a spotted skin was covered o'er!

	And never moved she from before my face,
	Nay, rather did impede so much my way,
	That many times I to return had turned.
		[ Dante's Inferno, as translated
		    by Henry Wadsworth Longfellow ]
	Some players, who unconsciously perceive Paper as weak or a
	sign of surrender, will shy away from using it entirely or
	drop it from their game when they are falling behind.  On the
	other hand, Paper also connects with a player's perceptions
	about writing.  There is a quiet power in the printed word.
	It has the ability to lay off thousands of employees, declare
	war against nations, spread scandal or confess love.  Paper,
	in short, has power over masses.  The fate of the entire world
	is determined by print.  As such, some players perceive Paper
	as a subtle attack, the victory of modern culture over barbarism.
	Such players may use Paper to assert their superiority and dignity.
		[ The Official Rock Paper Scissors Strategy Guide,
			by Douglas and Graham Walker ]
	Conan cried out sharply and recoiled, thrusting his companion
	back.  Before them rose the great shimmering white form of Satha,
	an ageless hate in its eyes.  Conan tensed himself for one mad
	berserker onslaught -- to thrust the glowing faggot into that
	fiendish countenance and throw his life into the ripping sword-
	stroke.  But the snake was not looking at him.  It was glaring
	over his shoulder at the man called Pelias, who stood with his
	arms folded, smiling.  And in the great, cold, yellow eyes
	slowly the hate died out in a glitter of pure fear -- the only
	time Conan ever saw such an expression in a reptile's eyes.
	With a swirling rush like the sweep of a strong wind, the great
	snake was gone.
	"What did he see to frighten him?" asked Conan, eyeing his
	companion uneasily.
	"The scaled people see what escapes the mortal eye," answered
	Pelias cryptically.  "You see my fleshy guise, he saw my naked
	soul."
	 [ Conan the Usurper, by Robert E. Howard and L. Sprague de Camp ]
	The mine is full of holes;
	With the wound of pickaxes.
	But look at the goldsmith's store.
	There, there is gold everywhere.
		[ Divan-i Kebir Meter 2, by Mevlana Celaleddin Rumi ]
	Ye Piercer doth look like unto a stalactyte, and hangeth
	from the roofs of caves and caverns.  Unto the height of a
	man, and thicker than a man's thigh do they grow, and in
	groups do they hang.  If a creature doth pass beneath them,
	they will by its heat and noise perceive it, and fall upon
	it to kill and devour it, though in any other way they move
	but exceeding slow.
		[ the Bestiary of Xygag ]
	They live in "schools." Many times they will wait for prey
	to come to the shallow water of the river. Then the large
	group of piranhas will attack. These large groups are able
	to kill large animals... Their lower teeth fit perfectly
	into the spaces of their upper teeth, creating a tremendous
	vice-like bite... Piranhas are attracted to any disturbance
	in the water.
		[ http://www.animalsoftherainforest.com ]
	Amid the thought of the fiery destruction that impended, the
	idea of the coolness of the well came over my soul like balm.
	I rushed to its deadly brink.  I threw my straining vision
	below.  The glare from the enkindled roof illumined its inmost
	recesses.  Yet, for a wild moment, did my spirit refuse to
	comprehend the meaning of what I saw.  At length it forced --
	it wrestled its way into my soul -- it burned itself in upon my
	shuddering reason.  Oh! for a voice to speak! -- oh! horror! --
	oh! any horror but this!
		[ The Pit and the Pendulum, by Edgar Allan Poe ]
	Pit fiends are among the more powerful of devils, capable of
	attacking twice with weapons as well as grabbing and crushing
	the life out of those unwary enough to enter their
	domains.
	This is an ancient artifact made of an unknown material.  It
	is rectangular in shape, very thin, and inscribed with archaic
	runes of power.  When carried, it grants the bearer ESP, reduces
	incoming damage from spells by half, and protects from magic
	missile attacks.  Additionally, its power is such that when
	invoked, it can charge other objects.
	Be bold,
	be bold,
	but not too bold.
	Or else your life's blood,
	shall run cold.
		[ The White Road, by Neil Gaiman ]

	People think I'm crazy to worry all the time;
	If you paid attention, you'd be worried too.
	You better pay attention, or this world we love so much
	Might just kill you.
		[ It's a Jungle Out There, by Randy Newman ]
	Fate intervened. Some of us, that day, she led inexorably
	through the gates of death. Some of us, innocent and unsuspecting,
	took, unwillingly, that one last step to oblivion. Some of us took
	very little sugar.
		[ We Have Always Lived in the Castle,
			by Shirley Jackson ]
	Many of the weapons of the Middle Ages were poled or long-shafted
	arms.  Unlike the ancient spear or javelin, however, they were not
	intended to be thrown.  Some were devices with simple single- or
	double-edged blades and nothing more, while others combined
	the pick, spear, and hammer or axe all in one weapon.
		[ Heraldry and Armor of the Middle Ages, by Marvin H. Pakula ]
	One morning, as Gregor Samsa was waking up from anxious dreams,
	he discovered that in bed he had been changed into a monstrous
	verminous bug.  He lay on his armour-hard back and saw, as he
	lifted his head up a little, his brown, arched abdomen divided
	up into rigid bow-like sections.  From this height the blanket,
	just about ready to slide off completely, could hardly stay in
	place.  His numerous legs, pitifully thin in comparison to the
	rest of his circumference, flickered helplessly before his eyes.
		[ The Metamorphosis, by Franz Kafka,
			translated by Ian Johnston ]
		Hey! now! Come hoy now! Whither do you wander?
		Up, down, near or far, here, there or yonder?
		Sharp-ears, Wise-nose, Swish-tail and Bumpkin,
		White-socks my little lad, and old Fatty Lumpkin!

	[...]
	Tom called them one by one and they climbed over the brow and
	stood in a line.  Then Tom bowed to the hobbits.

	"Here are your ponies, now!" he said.  "They've more sense (in some
	ways) than you wandering hobbits have -- more sense in their noses.
	For they sniff danger ahead which you walk right into; and if they
	run to save themselves, then they run the right way."
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	Portals can be Mirrors, Pictures, Standing Stones, Stone
	Circles, Windows, and special gates set up for the purpose.
	You will travel through them both to distant parts of the
	continent and to and from our own world.  The precise manner
	of their working is a Management secret.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	Poseido(o)n, lord of the seas and father of rivers and
	fountains, was the son of Chronos and Rhea, brother of Zeus,
	Hades, Hera, Hestia and Demeter.  His rank of ruler of the
	waves he received by lot at the Council Meeting of the Gods,
	at which Zeus took the upper world for himself and gave
	dominion over the lower world to Hades.

	Poseidon is associated in many ways with horses and thus is
	the god of horses.  He taught men how to ride and manage the
	animal he invented and is looked upon as the originator and
	guardian deity of horse races.

	His symbol is the familiar trident or three-pronged spear
	with which he can split rocks, cause or quell storms, and
	shake the earth, a power which makes him the god of
	earthquakes as well.  Physically, he is shown as a strong and
	powerful ruler, every inch a king.
	    [ The Encyclopaedia of Myths and Legends of All Nations,
		by Herbert Spencer Robinson and Knox Wilson ]
	POTABLE, n.  Suitable for drinking.  Water is said to be
	potable; indeed, some declare it our natural beverage,
	although even they find it palatable only when suffering
	from the recurrent disorder known as thirst, for which it
	is a medicine.  Upon nothing has so great and diligent
	ingenuity been brought to bear in all ages and in all
	countries, except the most uncivilized, as upon the
	invention of substitutes for water.  To hold that this
	general aversion to that liquid has no basis in the
	preservative instinct of the race is to be unscientific --
	and without science we are as the snakes and toads.
		[ The Devil's Dictionary, by Ambrose Bierce ]

	Jack Burton:  What's in the flask, Egg?  Magic potion?
	   Egg Shen:  Yeah.
	       Jack:  I thought so, good.  What do we do?  Drink it?
	        Egg:  Yeah.
	       Jack:  Good, I thought so.
	     [later]
	       Jack:  This does what again, exactly?
	        Egg:  Huge buzz!  [drinks]  Oh good!  See things no
	              one else can see, do things no one else can do.
		[ Big Trouble in Little China, directed by
		  John Carpenter, written by Gary Goldman &
		  David Z. Weinstein, adaptation by W.D. Richter ]
	Whatever a man prays for, he prays for a miracle.  Every
	prayer reduces itself to this:  Great God, grant that twice
	two be not four.
		[ Fathers and Sons, by Ivan Turgenev ]
	[...]  For the two priests were talking exactly like priests,
	piously, with learning and leisure, about the most aerial
	enigmas of theology.  The little Essex priest spoke the more
	simply, with his round face turned to the strengthening stars;
	the other talked with his head bowed, as if he were not even
	worthy to look at them.  But no more innocently clerical
	conversation could have been heard in any white Italian cloister
	or black Spanish cathedral.  The first he heard was the tail of
	one of Father Brown's sentences, which ended:  "... what they
	really meant in the Middle Ages by the heavens being
	incorruptible."  The taller priest nodded his bowed head and
	said:  "Ah, yes, these modern infidels appeal to their reason;
	but who can look at those millions of worlds and not feel that
	there may well be wonderful universes above us where reason is
	utterly unreasonable?"
		[ The Innocence of Father Brown, by G.K. Chesterton ]
	Opuntia, commonly called prickly pear, is a genus in the cactus
	family, Cactaceae. Prickly pears are also known as tuna (fruit),
	sabra, nopal (paddle, plural nopales) from the Nahuatl word
	nopalli for the pads, or nostle, from the Nahuatl word nochtli
	for the fruit; or paddle cactus.
		[ Wikipedia, the free encyclopedia ]
	Where am I?
		In the Village.
	What do you want?
		Information.
	Whose side are you on?
		That would be telling.  We want information ...
		information ...
	You won't get it.
		By hook or by crook, we will.
	Who are you?
		The new Number 2.
	Who is Number 1?
		You are Number 6.
	I am not a number!  I am a free man!
		[ The Prisoner, by Patrick McGoohan ]
	Known under various names (Nu, Neph, Cenubis, Amen-Kneph,
	Khery-Bakef), Ptah is the creator god and god of craftsmen.
	He is usually depicted as wearing a closely fitting robe
	with only his hands free.  His most distinctive features are
	the invariable skull-cap exposing only his face and ears,
	and the _was_ or rod of domination which he holds,
	consisting of a staff surmounted by the _ankh_ symbol of
	life.  He is otherwise symbolized by his sacred animal, the
	bull.
	A gargantuan version of the harmless rain-worm, the purple
	worm poses a huge threat to the ordinary adventurer.  It is
	known to swallow whole and digest its victims within only a
	few minutes.  These worms are always on guard, sensitive
	to the most minute vibrations in the earth, but may also
	be awakened by a remote shriek.
	At first glance around the corner, I thought it was another
	cockatrice. I had encountered the wretched creatures two or
	three times since leaving the open area. I quickly ducked my
	head back and considered what to do next. My heart had begun
	to thump audibly as I patted my pack to make sure I still had
	the dead lizards at close reach. A check of my attire showed
	no obvious holes or damage. I had to keep moving. One deep
	breath, and a count of three, two, one, and around the corner
	I bolted. But it was no cockatrice! I felt a sudden intense
	searing of the skin around my face, and flames began to leap
	from my pack. I tossed it to the ground, and quickly retreated
	back, around that corner, desperately striving to get out of
	its sight.
	A monstrous serpent in Greek mythology, and the child of Gaia,
	the goddess earth.  It was produced from the slime and mud
	that was left on the earth by the great flood of Deucalion.
	It lived in a cave and guarded the oracle of Delphi on mount
	Parnassus.

	No man dared to approach the beast and the people asked Apollo
	for help.  He came down from Mount Olympus with his silver bow
	and golden arrows.  With using only one arrow he killed the
	serpent and claimed the oracle for himself. ... The old name of
	Delphi, Pytho, refers to the serpent.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	The woodlands and other regions are inhabited by multitudes
	of four-legged creatures which cannot be simply classified.
	They might not have fiery breath or deadly stings, but
	adventurers have nevertheless met their end numerous times
	due to the claws, hooves, or bites of such animals.
	These creatures are not native to this universe; they seem
	to have strangely derived powers, and unknown motives.
		[]

	_Uncertainty Principle_  The principle that it is not possible
	to know with unlimited accuracy both the position and momentum
	of a particle. ... An explanation of the uncertainty is that
	in order to locate a particle exactly, an observer must be
	able to bounce off it a photon of radiation; this act of
	location itself alters the position of the particle
	in an unpredictable way.  To locate the position accurately,
	photons of short wavelength would have to be used.  The high
	momentum of such photons would cause a large effect on the
	position.  On the other hand, using photons of lower momenta
	would have less effect on the particle's position, but would
	be less accurate because of the lower wavelength.
		[ A Concise Dictionary of Physics ]
	Quasits are small, evil creatures, related to imps.  Their
	talons release a very toxic poison when used in an attack.
	Many, possibly most, Tours are organized as a Quest.  This
	is like a large-scale treasure hunt, with clues scattered
	all over the continent, a few false leads, Mystical Masters
	as game-show hosts, and the Dark Lord and the Terrain to
	make the Quest interestingly difficult.  [...]
	In order to be assured of your future custom, the Management
	has a further Rule:  Tourists, far from being rewarded for
	achieving their Quest Object, must then go on to conquer
	the Dark Lord or set about Saving the World, or both.  And
	why not?  By then you will have had a lot of practice in
	that sort of thing and, besides, the Quest Object is usually
	designed to help you do it.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	One of the principal Aztec-Toltec gods was the great and wise
	Quetzalcoatl, who was called Kukumatz in Guatemala, and
	Kukulcan in Yucatan.  His image, the plumed serpent, is found
	on both the oldest and the most recent Indian edifices. ...
	The legend tells how the Indian deity Quetzalcoatl came from
	the "Land of the Rising Sun".  He wore a long white robe and
	had a beard; he taught the people crafts and customs and laid
	down wise laws.  He created an empire in which the ears of
	corn were as long as men are tall, and caused bolls of colored
	cotton to grow on cotton plants.  But for some reason or other
	he had to leave his empire. ...  But all the legends of
	Quetzalcoatl unanimously agree that he promised to come again.
		[ Gods, Graves, and Scholars, by C.W. Ceram ]
	 Maltar:  [...]  I remembered a little saying I learned my
	          first day at the academy.
	Natalie:  Yeah, yeah, I know.  Winners never quit and quitters
	          never win.
	 Maltar:  What?  No!  Winners never quit and quitters should
	          be cast into the Flaming Pit of Death.
		[ Snow Day, directed by Chris Koch,
		  written by Will McRobb and Chris Viscardi ]
	The Japanese god of thunder (rai) and lightning (den).  He
	prevented the Mongols from invading Japan in 1274.  Sitting on
	a cloud he sent forth a shower of lightning arrows upon the
	invading fleet.  Only three men escaped.  Raiden is portrayed
	as a red demon with sharp claws, carrying a large drum.  He is
	fond of eating human navels.  The only protection against him
	is to hide under a mosquito net.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	"Lonely men are we, Rangers of the wild, hunters -- but hunters
	ever of the servants of the Enemy; for they are found in many
	places, not in Mordor only.
	If Gondor, Boromir, has been a stalwart tower, we have played
	another part.  Many evil things there are that your strong walls
	and bright swords do not stay.  You know little of the lands
	beyond your bounds.  Peace and freedom, do you say?  The North
	would have known them little but for us.  Fear would have
	destroyed them.  But when dark things come from the houseless
	hills, or creep from sunless woods, they fly from us.  What
	roads would any dare to tread, what safety would there be in
	quiet lands, or in the homes of simple men at night, if the
	Dunedain were asleep, or were all gone into the grave?"
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	Rats are long-tailed rodents.  They are aggressive,
	omnivorous, and adaptable, often carrying diseases.
		[]

	"The rat," said O'Brien, still addressing his invisible
	audience, "although a rodent, is carnivorous.  You are aware
	of that.  You will have heard of the things that happen in
	the poor quarters of this town.  In some streets a woman dare
	not leave her baby alone in the house, even for five minutes.
	The rats are certain to attack it.  Within quite a small time
	they will strip it to the bones.  They also attack sick or
	dying people.  They show astonishing intelligence in knowing
	when a human being is helpless."
		[ 1984, by George Orwell ]
	But the raven, sitting lonely on the placid bust, spoke only
	That one word, as if his soul in that one word he did outpour.
	Nothing further then he uttered -- not a feather then he fluttered--
	Till I scarcely more than muttered, 'other friends have flown before--
	On the morrow *he* will leave me, as my hopes have flown before.'
		Then the bird said, 'Nevermore.'
				[ The Raven, by Edgar Allan Poe ]
	Three Rings for the Elven-kings under the sky,
	Seven for the Dwarf-lords in their halls of stone,
	Nine for Mortal Men doomed to die,
	One for the Dark Lord on his dark throne,
	In the Land of Mordor where the Shadows lie.
	One Ring to rule them all, One Ring to find them,
	One Ring to bring them all and in the darkness bind them
	In the Land of Mordor where the Shadows lie.
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	"When time came for the shepherds to hold their customary
	assembly in order to prepare their monthly report to the king
	about the state of the flocks, he came too, wearing this ring.
	While he was sitting with the others, it chanced that he moved
	the collet of the ring around toward himself into the inside of
	his hand; having done this, he disappeared from the sight of
	those who were sitting beside him, and they discussed of him as
	of someone who had left.  And he wondered and once again feeling
	for the ring, he turned the collet outwards and, by turning it,
	reappeared.  Reflecting upon this, he put the ring to the test
	to see if it indeed had such power, and he came to this
	conclusion that, by turning the collet inwards, he became
	invisible, outwards, visible.  Having perceived this, he at
	once managed for himself to become one of the envoys to the
	king; upon arrival, having seduced his wife, with her help,
	he laid a hand on the king, murdered him and took hold of the
	leadership."
		[ The Republic, by Plato, translated by James Adam ]
	Robes are the only garments, apart from Shirts, ever to have
	sleeves.  They have three uses:
	1.  As the official uniform of Priests, Priestesses, Monks,
	Nuns (see Nunnery), and Wizards.  The OMT [ Official Management
	Term ] prescribed for the Robes of Priests and Nuns is that
	they _fall in severe folds_; of Priestesses that they _float_;
	and of Wizards that they _swirl_.  You can thus see who you
	are dealing with.
	2.  For Kings.  The OMT here is _falling in stately folds_.
	3.  As the garb of Desert Nomads.  [...]
	    [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	Bilbo saw that the moment had come when he must do something.
	He could not get up at the brutes and he had nothing to shoot
	with; but looking about he saw that in this place there were
	many stones lying in what appeared to be a now dry little
	watercourse.  Bilbo was a pretty fair shot with a stone, and
	it did not take him long to find a nice smooth egg-shaped one
	that fitted his hand cosily.  As a boy he used to practise
	throwing stones at things, until rabbits and squirrels, and
	even birds, got out of his way as quick as lightning if they
	saw him stoop; and even grownup he had still spent a deal of
	his time at quoits, dart-throwing, shooting at the wand,
	bowls, ninepins and other quiet games of the aiming and
	throwing sort - indeed he could do lots of things, besides
	blowing smoke-rings, asking riddles and cooking, that I
	haven't time to tell you about.  There is no time now.  While
	he was picking up stones, the spider had reached Bombur, and
	soon he would have been dead.  At that moment Bilbo threw.
	The stone struck the spider plunk on the head, and it dropped
	senseless off the tree, flop to the ground, with all its legs
	curled up.
		[ The Hobbit, by J.R.R. Tolkien ]
	A rock mole is a member of the rodent family.  They get their
	name from their ability to tunnel through rock in the same
	fashion that a mole tunnels through earth.  They are known to
	eat anything they come across in their diggings, although it
	is still unknown how they convert some of these things into
	something of nutritional value.
	A gnawing mammal (order _Rodentia_) having in each jaw two
	(rarely four) incisors, growing continually from persistent
	pulps, and no canine teeth, as a squirrel, beaver, or rat.
		[ Webster's Comprehensive International Dictionary
		  of the English Language ]
	I understand the business, I hear it: to have an open ear, a
	quick eye, and a nimble hand, is necessary for a cut-purse; a
	good nose is requisite also, to smell out work for the other
	senses.  I see this is the time that the unjust man doth
	thrive.  ...  The prince himself is about a piece of iniquity,
	stealing away from his father with his clog at his heels:  if
	I thought it were a piece of honesty to acquaint the king
	withal, I would not do't:  I hold it the more knavery to
	conceal it; and therein am I constant to my profession.
		[ Autolycus the Rogue, from The Winter's Tale by
			William Shakespeare ]
	But when they were cooked these roots proved good to eat,
	somewhat like bread; and the outlaws were glad of them, for
	they had long lacked bread save when they could steal it.
	"Wild Elves know them not; Grey-elves have not found them;
	the proud ones from over the Sea are too proud to delve,"
	said Mim.

	"What is their name?" said Turin. Mim looked at him sidelong.
	"They have no name, save in the Dwarf-tongue, which we do not
	teach," he said. "And we not teach Men to find them, for Men
	are greedy and thriftless, and would not spare till all the
	plants had perished; whereas now they pass them by as they go
	blundering in the wild. No more will you learn of me; but you
	may have enough of my bounty, as long as you speak fair and
	do not spy or steal." Then again he laughed in his throat.

	"They are of great worth." he said. "More than gold in the
	hungry winter, for they may be hoarded like the nuts of a
	squirrel, and already we were building our store from the
	first that are ripe."
		[ Unfinished Tales, Part 1, by J.R.R. Tolkien ]
	Roshi is a Japanese word, common in Zen Buddhism, meaning "old"
	(ro) and "teacher" (shi).  Roshi can be used as a term of
	respect, as in the Rinzai school; as a simple reference to
	actual age, as in the Soto school; or it can mean a teacher who
	has transmitted knowledge to, and thus "given birth" to, a new
	teacher.
		[ Wikipedia, the free encyclopedia ]
	The rothe (pronounced roth-AY) is a musk ox-like creature with
	an aversion to light.  It prefers to live underground near
	lichen and moss.
	"'Royal Jelly,'" he read aloud, "'must be a substance of
	tremendous nourishing power, for on this diet alone, the
	honey-bee larva increases in weight fifteen hundred times in
	five days!'"

	"How much?"

	"Fifteen hundred times, Mabel.  And you know what that means
	if you put it in terms of a human being?  It means," he said,
	lowering his voice, leaning forward, fixing her with those
	small pale eyes, "it means that in five days a baby weighing
	seven and a half pounds to start off with would increase in
	weight to five tons!"
		[ Royal Jelly, by Roald Dahl ]
	_Corundum._  Mineral, aluminum oxide, Al2O3.  The clear
	varieties are used as gems and the opaque as abrasive materials.
	Corundum occurs in crystals of the hexagonal system and in
	masses.  It is transparent to opaque and has a vitreous to
	adamantine luster. ... The chief corundum gems are the ruby
	(red) and the sapphire (blue).
		[ The Columbia Encyclopedia, Sixth Edition ]
	These strange creatures live on a diet of metals.  They can
	turn a suit of armour into so much useless rusted scrap in no
	time at all.
	These ground-dwelling monsters are known to make short
	work out of degrading adventurers' combat equipment.
	Flashed all their sabres bare,
	Flashed as they turned in air,
	Sab'ring the gunners there,
	Charging an army, while
	All the world wondered:
	Plunged in the battery smoke,
	Right through the line they broke;
	Cossack and Russian
	Reeled from the sabre-stroke
	Shattered and sundered.
	Then they rode back, but not--
	Not the six hundred.
		[ The Charge of the Light Brigade,
		  by Alfred, Lord Tennyson ]
	The horseman serves the horse,
	The neat-herd serves the neat,
	The merchant serves the purse,
	The eater serves his meat;
	'Tis the day of the chattel,
	Web to weave, and corn to grind,
	Things are in the saddle,
	And ride mankind.
		[ Ode, by Ralph Waldo Emerson ]
	Japanese rice wine.
	For hundreds of years, many people believed that salamanders
	were magical.  In England in the Middle Ages, people thought
	that fire created salamanders.  When they set fire to damp
	logs, dozens of the slimy creatures scurried out.  The word
	salamander, in fact, comes from a Greek word meaning "fire
	animal".
		[ Salamanders, by Cherie Winner ]
	By that time, Narahara had already slipped his arm from the
	sleeve of his outer robe, drew out his two-and-a-half-foot
	Fujiwara Tadahiro sword, and, brandishing it over his head,
	began barreling toward the foreigners.  In less than a minute,
	he had charged upon them and cut one of them through the torso.
	The man fled, clutching his bulging guts, finally to fall from
	his horse at the foot of a pine tree about a thousand yards
	away.  Kaeda Takeji finished him off.  The other two Englishmen
	were severely wounded as they tried to flee.  Only the woman
	managed to escape virtually unscathed.
		[ The Fox-horse, from Drunk as a Lord, by Ryotaro Shiba ]
	Ildefonse left the terrace and almost immediately sounds
	of contention came from the direction of the work-room.
	Ildefonse presently returned to the terrace, followed by
	Osherl and a second sandestin using the guise of a gaunt blue
	bird-like creature, some six feet in height.

	Ildefonse spoke in scathing tones:  "Behold these two
	creatures!  They can roam the chronoplex as easily as you
	or I can walk around the table; yet neither has the wit to
	announce his presence upon arrival.  I found Osherl asleep
	in his fulgurite and Sarsem perched in the rafters."
		[...]
	"No matter," said Rhialto.  "He has brought Sarsem, and this
	was his requirement.  In the main, Osherl, you have done well!"

	"And my indenture point?"

	"Much depends upon Sarsem's testimony.  Sarsem, will you sit?"

	"In this guise, I find it more convenient to stand."

	"Then why not alter to human form and join us in comfort at
	the table?"

	"That is a good idea."  Sarsem became a naked young epicene
	in an integument of lavender scales with puffs of purple hair
	like pom-poms growing down his back.  He seated himself at
	the table but declined refreshment.  "This human semblance,
	though typical, is after all, only a guise.  If I were to put
	such things inside myself, I might well become uneasy."
		[ Rhialto the Marvellous, by Jack Vance ]
	The name _Sasquatch_ doesn't really become important in Canada
	until the 1930s, when it appeared in the works of J. W. Burns,
	a British Columbian writer who used a great deal of Indian
	lore in his stories.  Burn's Sasquatch was a giant Indian who
	lived in the wilderness.  He was hairy only in the sense that
	he had long hair on his head, and while this Sasquatch lived a
	wild and primitive life, he was fully human.
	Burns's character proved to be quite popular.  There was a
	Sasquatch Inn near the town of Harrison, British Columbia, and
	Harrison even had a local celebration called "Sasquatch Days."
	The celebration which had been dormant for years was revived
	as part of British Columbia's centennial, and one of the
	events was to be a Sasquatch hunt.  The hunt never took place,
	perhaps it was never supposed to, but the publicity about it
	did bring out a number of people who said they had encountered
	a Sasquatch -- not Burns's giant Indian, but the hairy apelike
	creature that we have all come to know.
		[ The Encyclopedia of Monsters, by Daniel Cohen ]
	A scalpel is a very sharp knife used for surgery ... Merely
	touching a medical scalpel with bare hands to test it will
	cut through the skin. ... Medical scalpel blades are gradually
	curved for greater precision when cutting through tissue.
		[ Wikipedia, the free encyclopedia ]
	This mace was created aeons ago in some unknown cave,
	and has been passed down from generation to generation of
	cave dwellers.  It is a very mighty mace indeed, and in
	addition will protect anyone who wields it from magic
	missile attacks.  When invoked, it causes conflict in the
	area around it.
	Oh, how handsome, how noble was the Vizier Ali Tebelin,
	my father, as he stood there in the midst of the shot, his
	scimitar in his hand, his face black with powder!  How his
	enemies fled before him!
		[ The Count of Monte Cristo, by Alexandre Dumas ]
	A sub-species of the spider (_Scorpionidae_), the scorpion
	distinguishes itself from them by having a lower body that
	ends in a long, jointed tail tapering to a poisonous stinger.
	They have eight legs and pincers.
		[ Van Dale's Groot Woordenboek der Nederlandse Taal ]
	Since early times, the Scorpion has represented death, darkness,
	and evil.  Scorpius is the reputed slayer of Orion the Hunter.
	[...]  The gods put both scorpion and hunter among the stars, but
	on opposite sides of the sky so they would never fight again.
	As Scorpius rises in the east, Orion sets in the west.
		[ 365 Starry Nights, by Chet Raymo ]
	It matters not how strait the gate,
	How charged with punishments the scroll,
	I am the master of my fate;
	I am the captain of my soul.
		[ Invictus, by William Ernest Henley ]
	And I was gazing on the surges prone,
	With many a scalding tear and many a groan,
	When at my feet emerg'd an old man's hand,
	Grasping this scroll, and this same slender wand.
	I knelt with pain--reached out my hand--had grasp'd
	Those treasures--touch'd the knuckles--they unclasp'd--
	I caught a finger: but the downward weight
	O'erpowered me--it sank. Then 'gan abate
	The storm, and through chill aguish gloom outburst
	The comfortable sun. I was athirst
	To search the book, and in the warming air
	Parted its dripping leaves with eager care.
	Strange matters did it treat of, and drew on
	My soul page after page, till well-nigh won
	Into forgetfulness; when, stupefied,
	I read these words, and read again, and tried
	My eyes against the heavens, and read again.
		[ Endymion, by John Keats ]
	The ancient Egyptian god of chaos (Set), the embodiment of
	hostility and even of outright evil.  He is also a god of war,
	deserts, storms, and foreign lands. ... In the Book of the
	Dead, Seth is called "Lord of the Northern Sky" and is held
	responsible for storms and cloudy weather. ... Seth was
	portrayed as a man with the head of undeterminable origin,
	although some see in it the head of an aardvark.  He had a
	curved snout, erect square-tipped ears and a long forked tail.
	He was sometimes entirely in animal form with the body similar
	to that of a greyhound.  Animals sacred to this god were the
	dog, the jackal, the gazelle, the donkey, the crocodile, the
	hippopotamus, and the pig.
		[ Encyclopedia Mythica, ed. M.F. Lindemans ]
	For the shades--figures of jet black streaking across the
	white-knobbed ground--were upon her.  Strength was meaningless
	against shades.  They had no real substance.  Only two things
	mattered:  moving quickly and not letting yourself be
	frightened.  Shades were dangerous, but so long as you had silver,
	you could fight.  [...]

	Her knife passed through the shade with a slight tugging feeling,
	creating a shower of bright white sparks that sprayed out of the
	shade.  The shade pulled back, its black tendrils writhing about
	one another.

	Silence spun on the other.  The pitch sky let her see only the
	thing's eyes, a horrid green, as it reached for her.  She lunged.

	Its spectral hands were upon her, the icy cold of its fingers
	gripping her arm below the elbow.  She could feel it.  Shade
	fingers had substance; they could grab you, hold you back.  Only
	silver warded them away.  Only with silver could you fight.
		[ Shadows for Silence in the Forests of Hell,
		  by Brandon Sanderson ]
	Making his quarters in the Caves of the Ancestors, Shaman
	Karnov unceasingly tries to shield his neanderthal people
	from Tiamat's minions' harassments.
	The Chinese god of Mountains and Seas, also the name of an
	old book (also Shan Hai Tjing), the book of mountains and
	seas - which deals with the monster Kung Kung trying to
	seize power from Yao, the fourth emperor.
		[ Spectrum Atlas van de Mythologie ]
	As the shark moved, its dark top reflected virtually no
	light.  The denticles on its skin muted the whoosh of its
	movements as the shark rose, driven by the power of the
	great tail sweeping from side to side, like a scythe.
	The fish exploded upward.
	Charles Bruder felt a slight vacuum tug in the motion of
	the sea, noted it as a passing current, the pull of a wave,
	the tickle of undertow.  He could not have heard the faint
	sucking rush of water not far beneath him.  He couldn't
	have seen or heard what was hurtling from the murk at
	astonishing speed, jaws unhinging, widening, for the
	enormous first bite.  It was the classic attack
	that no other creature in nature could make -- a bomb from
	the depths.
		[ Close to Shore, by Michael Capuzzo ]
	In his hands he took his shield, all glittering: no one ever
	broke it with a blow or crushed it.  And a wonder it was to see;
	for its whole orb shimmered with enamel and white ivory and
	electrum, and it glowed with shining gold; and there were zones
	of cyanus drawn upon it.  In the center was Fear worked in adamant,
	unspeakable, staring backwards with eyes that glowed with fire.
	His mouth was full of teeth in a white row, fearful and  daunting,
	and upon his grim brow hovered frightful Strife who arrays the
	throng of men: pitiless she, for she took away the mind and senses
	of poor wretches who made war against the son of Zeus.  Their souls
	passed beneath the earth and went down into the house of Hades;
	but their bones, when the skin is rotted about them, crumble away
	on the dark earth under parching Sirius.
		[ Hesiod, The Homeric Hymns and Homerica,
			translation by Hugh G. Evelyn-White ]
	A Japanese stabbing knife.
	There have been three general theories put forward to explain
	the phenomenon of the wandering shops or, as they are
	generically known, _tabernae vagantes._
	The first postulates that many thousands of years ago there
	evolved somewhere in the multiverse a race whose single talent
	was to buy cheap and sell dear.  Soon they controlled a vast
	galactic empire or, as they put it, Emporium, and the more
	advanced members of the species found a way to equip their very
	shops with unique propulsion units that could break the dark
	walls of space itself and open up vast new markets.  And long
	after the worlds of the Emporium perished in the heat death of
	their particular universe, after one last defiant fire sale,
	the wandering starshops still ply their trade, eating their way
	through the pages of spacetime like a worm through a three-
	volume novel.
	The second is that they are the creation of a sympathetic Fate,
	charged with the role of supplying exactly the right thing
	at the right time.
	The third is that they are simply a very clever way of getting
	around the various Sunday Closing acts.
	All these theories, diverse as they are, have two things in
	common.  They explain the observed facts, and they are
	completely and utterly wrong.
		[ The Light Fantastic, by Terry Pratchett ]
	With a single, savage thrust of her spear, the warrior-woman
	impaled the fungus, silencing it.  However, it was too late:
	the alarm had been raised[...]
	Suddenly, a large, dark shape rose from the abyss before them,
	its fetid bulk looming overhead... The monster was some kind of
	great dark worm, but that was about all they were sure of.
		[ The Adventurers, Epic IV, by Thomas A. Miller ]
	You know, that's what I hate most about fighting against magic:
	you never know what they're trying to do to you until it hits.
	The sorceress knew what hit her, however.  Two of the shuriken
	got past whatever defenses she had.  One caught her just below
	the throat, the other in the middle of her chest.  It wouldn't
	kill her, but she wouldn't be fighting anyone for a while.
		[ Jhereg, by Steven Brust ]
	A skeleton is a magically animated undead creature.  Unlike
	shades, only a humanoid creature can be used to create a
	skeleton.  No one knows why this is true, but it has become
	an accepted fact amongst the practitioners of the black arts.
	"That dog belonged to a settler who tried to build his cabin
	on the bank of the river a few miles south of the fort,"
	grunted Conan. ...  "We took him to the fort and dressed his
	wounds, but after he recovered he took to the woods and turned
	wild.  -- What now, Slasher, are you hunting the men who
	killed your master?" ...  "Let him come," muttered Conan.
	"He can smell the devils before we can see them." ...
	Slasher cleared the timbers with a bound and leaped into the
	bushes.  They were violently shaken and then the dog slunk
	back to Balthus' side, his jaws crimson. ...  "He was a man,"
	said Conan.  "I drink to his shade, and to the shade of the
	dog, who knew no fear."  He quaffed part of the wine, then
	emptied the rest upon the floor, with a curious heathen
	gesture, and smashed the goblet.  "The heads of ten Picts
	shall pay for this, and seven heads for the dog, who was a
	better warrior than many a man."
		[ Conan The Warrior, by Robert E Howard ]
	Sleep is a death; oh, make me try
	By sleeping, what it is to die,
	And as gently lay my head
	On my grave, as now my bed.
		[ Religio Medici, by Sir Thomas Browne ]
	Science fiction did not invent the slime molds, but it has
	borrowed from them in using the idea of sheets of liquid, flowing
	cytoplasm engulfing and dissolving every living thing they touch.
	What fiction can only imagine, nature has produced, and only their
	small size and dependence on coolness, moisture, and darkness has
	kept the slime molds from ordinary observation, for they are common
	enough.
		[ Encyclopaedia Britannica, 1977 ]
	And it came to pass, when the Philistine arose, and came and
	drew nigh to meet David, that David hasted, and ran toward
	the army to meet the Philistine.
	And David put his hand in his bag, and took thence a stone,
	and slang it, and smote the Philistine in his forehead, that
	the stone sunk into his forehead; and he fell upon his face
	to the earth.
	So David prevailed over the Philistine with a sling and with
	a stone, and smote the Philistine, and slew him; but there
	was no sword in the hand of David.
		[ 1 Samuel 17:48-50 ]
	Now the serpent was more subtle than any beast of the field
	which the Lord God had made.  And he said unto the woman, Yea,
	hath God said, Ye shall not eat of every tree of the garden?
	And the woman said unto the serpent, We may eat of the fruit of
	the trees of the garden:  but of the fruit of the tree which is
	in the midst of the garden, God hath said, Ye shall not eat of
	it, neither shall ye touch it, lest ye die.  And the serpent
	said unto the woman, Ye shall not surely die:  for God doth
	know that in the day ye eat thereof, then your eyes shall be
	opened, and ye shall be as gods, knowing good and evil.  And
	when the woman saw that the tree was good for food, and that it
	was pleasant to the eyes, and a tree to be desired to make one
	wise, she took of the fruit thereof, and did eat, and gave also
	unto her husband with her; and he did eat.

	And the Lord God said unto the woman, What is this that thou
	hast done?  And the woman said, The serpent beguiled me, and I
	did eat.  And the Lord God said unto the serpent, Because thou
	hast done this, thou art cursed above all cattle, and above
	every beast of the field; upon thy belly shalt thou go, and
	dust shalt thou eat all the days of thy life:  And I will put
	enmity between thee and the woman, and between thy seed and her
	seed; it shall bruise thy head, and thou shalt bruise his heel.
		[ Genesis 3:1-6,13-15 ]
	Ah, never shall I forget the cry,
	    or the shriek that shrieked he,
	As I gnashed my teeth, and from my sheath
	    I drew my Snickersnee!
	--Koko, Lord high executioner of Titipu
		[ The Mikado, by Sir W.S. Gilbert ]
	Sokoban (Japanese for "warehouse keeper") is a transport puzzle
	in which the player pushes boxes around a maze, viewed from
	above, and tries to put them in designated locations.  Only one
	box may be pushed at a time, not two, and boxes cannot be pulled.
	As the puzzle would be extremely difficult to create physically,
	it is usually implemented as a video game.

	Sokoban was created in 1982 by Hiroyuki Imabayashi, and was
	published by Thinking Rabbit, a software house based in
	Takarazuka, Japan.  Thinking Rabbit also released three sequels:
	Boxxle, Sokoban Perfect and Sokoban Revenge.
		[ Wikipedia, the free encyclopedia ]
	The soldiers of Yendor are well-trained in the art of war,
	many trained by the Wizard himself.  Some say the soldiers
	are explorers who were unfortunate enough to be captured,
	and put under the Wizard's spell.  Those who have survived
	encounters with soldiers say they travel together in platoons,
	and are fierce fighters.  Because of the load of their combat
	gear, however, one can usually run away from them, and doing
	so is considered a wise thing.
	- they come together with great random, and a spear is brast,
	and one party brake his shield and the other one goes down,
	horse and man, over his horse-tail and brake his neck, and
	then the next candidate comes randoming in, and brast his
	spear, and the other man brast his shield, and down he goes,
	horse and man, over his horse-tail, and brake his neck, and
	then there's another elected, and another and another and
	still another, till the material is all used up; and when you
	come to figure up results, you can't tell one fight from
	another, nor who whipped; and as a picture of living, raging,
	roaring battle, sho! why it's pale and noiseless - just
	ghosts scuffling in a fog.  Dear me, what would this barren
	vocabulary get out of the mightiest spectacle? - the burning
	of Rome in Nero's time, for instance?  Why, it would merely
	say 'Town burned down; no insurance; boy brast a window,
	fireman brake his neck!'  Why, that ain't a picture!
		[ A Connecticut Yankee in King Arthur's Court,
		    by Mark Twain ]
	The Book of Three lay closed on the table.  Taran had never
	been allowed to read the volume for himself; now he was sure
	it held more than Dallben chose to tell him.  In the sun-
	filled room, with Dallben still meditating and showing no
	sign of stopping, Taran rose and moved through the shimmering
	beams.  From the forest came the monotonous tick of a beetle.
	His hands reached for the cover.  Taran gasped in pain and
	snatched them away.  They smarted as if each of his fingers
	had been stung by hornets.  He jumped back, stumbled against
	the bench, and dropped to the floor, where he put his fingers
	woefully into his mouth.
	Dallben's eyes blinked open.  He peered at Taran and yawned
	slowly.  "You had better see Coll about a lotion for those
	hands," he advised.  "Otherwise, I shouldn't be surprised if
	they blistered."
		[ The Book of Three, by Lloyd Alexander ]
	Eight legged creature capable of spinning webs to trap prey.
		[]

	"You mean you eat flies?" gasped Wilbur.
	"Certainly.  Flies, bugs, grasshoppers, choice beetles,
	moths, butterflies, tasty cockroaches, gnats, midges, daddy
	longlegs, centipedes, mosquitoes, crickets - anything that is
	careless enough to get caught in my web.  I have to live,
	don't I?"
	"Why, yes, of course," said Wilbur.
		[ Charlotte's Web, by E.B. White ]
	The attack by those who want to die -- this is the attack
	against which you cannot prepare a perfect defense.
					--Human aphorism
		[ The Dosadi Experiment, by Frank Herbert ]
	A floorboard creaked.  Galder had spent many hours tuning them,
	always a wise precaution with an ambitious assistant who walked
	like a cat.
	D flat.  That meant he was just to the right of the door.
	"Ah, Trymon," he said, without turning, and noted with some
	satisfaction the faint indrawing of breath behind him.  "Good
	of you to come.  Shut the door, will you?"
		[ The Light Fantastic, by Terry Pratchett ]
	So they stood, each in his place, neither moving a finger's
	breadth back, for one good hour, and many blows were given
	and received by each in that time, till here and there were
	sore bones and bumps, yet neither thought of crying "Enough,"
	or seemed likely to fall from off the bridge.  Now and then
	they stopped to rest, and each thought that he never had seen
	in all his life before such a hand at quarterstaff.  At last
	Robin gave the stranger a blow upon the ribs that made his
	jacket smoke like a damp straw thatch in the sun.  So shrewd
	was the stroke that the stranger came within a hair's breadth
	of falling off the bridge; but he regained himself right
	quickly, and, by a dexterous blow, gave Robin a crack on the
	crown that caused the blood to flow.  Then Robin grew mad
	with anger, and smote with all his might at the other; but
	the stranger warded the blow, and once again thwacked Robin,
	and this time so fairly that he fell heels over head into the
	water, as the queen pin falls in a game of bowls.
		[ The Merry Adventures of Robin Hood, by Howard Pyle ]
	This staff is considered sacred to all healers, as it truly
	holds the powers of life and death.  When wielded, it
	protects its user from all life draining attacks, and
	additionally gives the wielder the power of regeneration.
	When invoked it performs healing magic.
	Up he went -- very quickly at first -- then more slowly -- then
	in a little while even more slowly than that -- and finally,
	after many minutes of climbing up the endless stairway, one
	weary foot was barely able to follow the other.  Milo suddenly
	realized that with all his effort he was no closer to the top
	than when he began, and not a great deal further from the
	bottom.  But he struggled on for a while longer, until at last,
	completely exhausted, he collapsed onto one of the steps.
	"I should have known it," he mumbled, resting his tired legs
	and filling his lungs with air.  "This is just like the line
	that goes on forever, and I'll never get there."
	"You wouldn't like it much anyway," someone replied gently.
	"Infinity is a dreadfully poor place.  They can never manage to
	make ends meet."
		[ The Phantom Tollbooth, by Norton Juster ]

	   Dr. Ray Stantz:  Hey, where do those stairs go?
	Dr. Peter Venkman:  They go up.
		[ Ghostbusters, directed by Ivan Reitman,
		  written by Dan Ackroyd and Harold Ramis ]
	"You don't understand," he said, "who I am or what I am.  I'll show
	you.  By Heaven!  I'll show you."  Then he put his open palm over
	his face and withdrew it.  The centre of his face became a black
	cavity.  "Here," he said.  He stepped forward and handed Mrs. Hall
	something which she, staring at his metamorphosed face, accepted
	automatically.  Then, when she saw what it was, she screamed
	loudly, dropped it, and staggered back.  The nose--it was the
	stranger's nose! pink and shining--rolled on the floor.

	Then he removed his spectacles, and everyone in the bar gasped.  He
	took off his hat, and with a violent gesture tore at his whiskers
	and bandages.  For a moment they resisted him.  A flash of horrible
	anticipation passed through the bar.  "Oh, my Gard!" said some one.
	Then off they came.

	It was worse than anything.  Mrs. Hall, standing open-mouthed and
	horror-struck, shrieked at what she saw, and made for the door of
	the house.  Everyone began to move.  They were prepared for scars,
	disfigurements, tangible horrors, but nothing!  The bandages and
	false hair flew across the passage into the bar, making a
	hobbledehoy jump to avoid them.  Everyone tumbled on everyone else
	down the steps.  For the man who stood there shouting some
	incoherent explanation, was a solid gesticulating figure up to the
	coat-collar of him, and then--nothingness, no visible thing at all!
		[ The Invisible Man, by H.G. Wells ]
	Then at last he began to wonder why the lion was standing so
	still - for it hadn't moved one inch since he first set eyes
	on it.  Edmund now ventured a little nearer, still keeping in
	the shadow of the arch as much as he could.  He now saw from
	the way the lion was standing that it couldn't have been
	looking at him at all.  ("But supposing it turns its head?"
	thought Edmund.)  In fact it was staring at something else -
	namely a little dwarf who stood with his back to it about
	four feet away.  "Aha!" thought Edmund.  "When it springs at
	the dwarf then will be my chance to escape."  But still the
	lion never moved, nor did the dwarf.  And now at last Edmund
	remembered what the others had said about the White Witch
	turning people into stone.  Perhaps this was only a stone
	lion.  And as soon as he had thought of that he noticed that
	the lion's back and the top of its head were covered with
	snow.  Of course it must be only a statue!
		[ The Lion, the Witch and the Wardrobe, by C.S. Lewis ]
	Tool used to listen closely to adjacent sound, typically by
	a medical practitioner to listen to a patient's heart, lungs,
	or pulse.
	Not invented yet.
	There was the usual dim grey light of the forest-day about
	him when he came to his senses.  The spider lay dead beside
	him, and his sword-blade was stained black.  Somehow the
	killing of the giant spider, all alone and by himself in the
	dark without the help of the wizard or the dwarves or of
	anyone else, made a great difference to Mr. Baggins.  He felt
	a different person, and much fiercer and bolder in spite of
	an empty stomach, as he wiped his sword on the grass and put
	it back into its sheath.

	"I will give you a name," he said to it, "and I shall call
	you Sting."
		[ The Hobbit, by J.R.R. Tolkien ]
	There were sounds in the distance, incongruent with the
	sounds of even this nameless, timeless sea: thin sounds,
	agonized and terrible, for all that they remained remote -
	yet the ship followed them, as if drawn by them; they grew
	louder - pain and despair were there, but terror was
	predominant.

	Elric had heard such sounds echoing from his cousin Yyrkoon's
	sardonically named 'Pleasure Chambers' in the days before he
	had fled the responsibilities of ruling all that remained of
	the old Melnibonean Empire.  These were the voices of men
	whose very souls were under siege; men to whom death meant
	not mere extinction, but a continuation of existence, forever
	in thrall to some cruel and supernatural master.  He had
	heard men cry so when his salvation and his nemesis, his
	great black battle-blade Stormbringer, drank their souls.
		[ The Lands Beyond the World, by Michael Moorcock ]
	He walked for some time through a long narrow corridor
	without finding any one and was just going to call out,
	when suddenly in a dark corner between an old cupboard
	and the door he caught sight of a strange object which
	seemed to be alive.
		[ Crime and Punishment, by Fyodor Dostoevsky ]
	Dorothy leaned her chin upon her hand and gazed thoughtfully
	at the Scarecrow.  Its head was a small sack stuffed with
	straw, with eyes, nose, and mouth painted on it to represent
	a face.  An old, pointed blue hat, that had belonged to some
	Munchkin, was perched on his head, and the rest of the figure
	was a blue suit of clothes, worn and faded, which had also
	been stuffed with straw.  On the feet were some old boots with
	blue tops, such as every man wore in this country, and the
	figure was raised above the stalks of corn by means of the
	pole stuck up its back.
		[ The Wonderful Wizard of Oz, by L. Frank Baum ]
	What you seek is a blade of light,
	a weapon for vengeance.
		[ Expedition to Castle Ravenloft,
			by Bruce Cordell and James Wyatt ]
	The Shinto chthonic and weather god and brother of the sun
	goddess Amaterasu, he was born from the nose of the
	primordial creator god Izanagi and represents the physical,
	material world.  He has been expelled from heaven and taken
	up residence on earth.
		[ Encyclopedia of Gods, by Michael Jordan ]
	Samurai plate armor of the Yamato period (AD 300 - 710).
	The tengu was the most troublesome creature of Japanese
	legend.  Part bird and part man, with red beak for a nose
	and flashing eyes, the tengu was notorious for stirring up
	feuds and prolonging enmity between families.  Indeed, the
	belligerent tengu were supposed to have been man's first
	instructors in the use of arms.
	  [ Mythical Beasts, by Deirdre Headon (The Leprechaun Library) ]
	The Egyptian god of the moon and wisdom, Thoth is the patron
	deity of scribes and of knowledge, including scientific,
	medical and mathematical writing, and is said to have given
	mankind the art of hieroglyphic writing.  He is important as
	a mediator and counsellor amongst the gods and is the scribe
	of the Heliopolis Ennead pantheon.  According to mythology,
	he was born from the head of the god Seth.  He may be
	depicted in human form with the head of an ibis, wholly as an
	ibis, or as a seated baboon sometimes with its torso covered
	in feathers.  His attributes include a crown which consists
	of a crescent moon surmounted by a moon disc.
	Thoth is generally regarded as a benign deity.  He is also
	scrupulously fair and is responsible not only for entering
	in the record the souls who pass to afterlife, but of
	adjudicating in the Hall of the Two Truths.  The Pyramid
	Texts reveal a violent side of his nature by which he
	decapitates the adversaries of truth and wrenches out their
	hearts.
		[ Encyclopedia of Gods, by Michael Jordan ]
	Men say that he [Thutothmes] has opposed Thoth-Amon, who is
	master of all priests of Set, and dwells in Luxor, and that
	Thutothmes seeks hidden power [The Heart of Ahriman] to
	overthrow the Great One.
		[ Conan the Conqueror, by Robert E. Howard ]
	Methought I saw the footsteps of a throne
	Which mists and vapours from mine eyes did shroud--
	Nor view of who might sit thereon allowed;
	But all the steps and ground about were strown
	With sights the ruefullest that flesh and bone
	Ever put on; a miserable crowd,
	Sick, hale, old, young, who cried before that cloud,
	"Thou art our king,
	O Death! to thee we groan."
	Those steps I clomb; the mists before me gave
	Smooth way; and I beheld the face of one
	Sleeping alone within a mossy cave,
	With her face up to heaven; that seemed to have
	Pleasing remembrance of a thought foregone;
	A lovely Beauty in a summer grave!
		[ Sonnet, by William Wordsworth ]
	A worshipper of Kali, who practised _thuggee_, the strangling
	of human victims in the name of the religion.  Robbery of the
	victim provided the means of livelihood.  They were also
	called _Phansigars_ (Noose operators) from the method employed.
	Vigorous suppression was begun by Lord William Bentinck in
	1828, but the fraternity did not become completely extinct
	for another 50 years or so.
	In common parlance the word is used for any violent "tough".
		[ Brewer's Concise Dictionary of Phrase and Fable ]
	1.  A well-known tropical predator (_Felis tigris_): a
	feline.  It has a yellowish skin with darker spots or
	stripes.  2.  Figurative: _a paper tiger_, something that is
	meant to scare, but has no really scaring effect whatsoever,
	(after a statement by Mao Ze Dong, August 1946).
		[ Van Dale's Groot Woordenboek der Nederlandse Taal ]

	Tyger! Tyger! burning bright
	In the forests of the night,
	What immortal hand or eye
	Could frame thy fearful symmetry?
		[ The Tyger, by William Blake ]
	"You know salmon, Sarge," said Nobby.
	"It is a fish of which I am aware, yes."
	"You know they sell kind of slices of it in tins..."
	"So I am given to understand, yes."
	"Weell...how come all the tins are the same size?  Salmon
	gets thinner at both ends."
	"Interesting point, Nobby.  I think-"
		[ Soul Music, by Terry Pratchett ]
	Less than thirty Cat tribes now survived, roaming the cargo
	decks on their hind legs in a desperate search for food.
	But the food had gone.
	The supplies were finished.
	Weak and ailing, they prayed at the supply hold's silver
	mountains: huge towering acres of metal rocks which, in their
	pagan way, the mutant Cats believed watched over them.
	Amid the wailing and the screeching one Cat stood up and held
	aloft the sacred icon.  The icon which had been passed down
	as holy, and one day would make its use known.
	It was a piece of V-shaped metal with a revolving handle on
	its head.
	He took down a silver rock from the silver mountain, while
	the other Cats cowered and screamed at the blasphemy.
	He placed the icon on the rim of the rock, and turned the
	handle.
	And the handle turned.
	And the rock opened.
	And inside the rock was Alphabetti spaghetti in tomato sauce.
		[ Red Dwarf, by Rob Grant and Doug Naylor ]
	Gaea, mother earth, arose from the Chaos and gave birth to
	Uranus, heaven, who became her consort.  Uranus hated all
	their children, because he feared they might challenge his
	own authority.  Those children, the Titans, the Gigantes,
	and the Cyclops, were banished to the nether world.  Their
	enraged mother eventually released the youngest titan,
	Chronos (time), and encouraged him to castrate his father and
	rule in his place.  Later, he too was challenged by his own
	son, Zeus, and he and his fellow titans were ousted from
	Mount Olympus.
		[ Greek Mythology, by Richard Patrick ]
	Aluminum silicate mineral with either hydroxyl radicals or
	fluorine, Al2SiO4(F,OH)2, used as a gem.  It is commonly
	colorless or some shade of pale yellow to wine-yellow;
	... The stone is transparent with a vitreous luster.  It has
	perfect cleavage on the basal pinacoid, but it is nevertheless
	hard and durable.  The brilliant cut is commonly used.  Topaz
	crystals, which are of the orthorhombic system, occur in highly
	acid igneous rocks, e.g., granites and rhyolites, and in
	metamorphic rocks, e.g., gneisses and schists.
		[ The Columbia Encyclopedia, Sixth Edition ]
	"Gold is tried by a touchstone, men by gold."
		[ Chilon (c. 560 BC) ]
	The road from Ankh-Morpork to Chrim is high, white and
	winding, a thirty-league stretch of potholes and half-buried
	rocks that spirals around mountains and dips into cool green
	valleys of citrus trees, crosses liana-webbed gorges on
	creaking rope bridges and is generally more picturesque than
	useful.
	Picturesque.  That was a new word to Rincewind the wizard
	(BMgc, Unseen University [failed]).  It was one of a number
	he had picked up since leaving the charred ruins of
	Ankh-Morpork.  Quaint was another one.  Picturesque meant --
	he decided after careful observation of the scenery that
	inspired Twoflower to use the word -- that the landscape was
	horribly precipitous.  Quaint, when used to describe the
	occasional village through which they passed, meant fever-
	ridden and tumbledown.
	Twoflower was a tourist, the first ever seen on the discworld.
	Tourist, Rincewind had decided, meant "idiot".
		[ The Colour of Magic, by Terry Pratchett ]
	The Hitchhiker's Guide to the Galaxy has a few things to say
	on the subject of towels.
	A towel, it says, is about the most massively useful thing
	an interstellar hitchhiker can have.  Partly it has great
	practical value.  You can wrap it around you for warmth as
	you bound across the cold moons of Jaglan Beta; you can lie
	on it on the brilliant marble-sanded beaches of Santraginus
	V, inhaling the heady sea vapors; you can sleep under it
	beneath the stars which shine so redly on the desert world
	of Kakrafoon; use it to sail a miniraft down the slow heavy
	River Moth; wet it for use in hand-to-hand combat; wrap it
	round your head to ward off noxious fumes or avoid the gaze
	of the Ravenous Bugblatter Beast of Traal (a mind-bogglingly
	stupid animal, it assumes that if you can't see it, it can't
	see you - daft as a brush, but very very ravenous); you can
	wave your towel in emergencies as a distress signal, and of
	course dry yourself off with it if it still seems to be clean
	enough.
	  [ The Hitchhiker's Guide to the Galaxy, by Douglas Adams ]
	Towers (_brooding_, _dark_) stand alone in Waste Areas and
	almost always belong to Wizards.  All are several stories high,
	round, doorless, virtually windowless, and composed of smooth
	blocks of masonry that make them very hard to climb. [...]
	You will have to go to a Tower and then break into it at some
	point towards the end of your Tour.
	  [ The Tough Guide to Fantasyland, by Diana Wynne Jones ]
	I knew my Erik too well to feel at all comfortable on jumping
	into his house.  I knew what he had made of a certain palace at
	Mazenderan.  From being the most honest building conceivable, he
	soon turned it into a house of the very devil, where you could
	not utter a word but it was overheard or repeated by an echo.
	With his trap-doors the monster was responsible for endless
	tragedies of all kinds.
		[ The Phantom of the Opera, by Gaston Leroux ]
	The trapper is a creature which has evolved a chameleon-like
	ability to blend into the dungeon surroundings.  It captures
	its prey by remaining very still and blending into the
	surrounding dungeon features, until an unsuspecting creature
	passes by.  It wraps itself around its prey and digests it.
	I think that I shall never see
	A poem lovely as a tree.
	A tree whose hungry mouth is prest
	Against the earth's sweet flowing breast;
	A tree that looks at God all day,
	And lifts her leafy arms to pray;
	A tree that may in Summer wear
	A nest of robins in her hair;
	Upon whose bosom snow has lain;
	Who intimately lives with rain.
	Poems are made by fools like me,
	But only God can make a tree.
		[ Trees, by Joyce Kilmer ]
	If you start from scratch, cooking tripe is a long-drawn-out
	affair.  Fresh whole tripe calls for a minimum of 12 hours of
	cooking, some time-honored recipes demanding as much as 24.
	To prepare fresh tripe, trim if necessary.  Wash it thoroughly,
	soaking overnight, and blanch, for 1/2 hour in salted water.
	Wash well again, drain and cut for cooking.  When cooked, the
	texture of tripe should be like that of soft gristle.  More
	often, alas, because the heat has not been kept low enough,
	it has the consistency of wet shoe leather.
		[ Joy of Cooking, by I Rombauer and M Becker ]
	The troll shambled closer.  He was perhaps eight feet tall,
	perhaps more.  His forward stoop, with arms dangling past
	thick claw-footed legs to the ground, made it hard to tell.
	The hairless green skin moved upon his body.  His head was a
	gash of a mouth, a yard-long nose, and two eyes which drank
	the feeble torchlight and never gave back a gleam.
	[...]
	Like a huge green spider, the troll's severed hand ran on its
	fingers.  Across the mounded floor, up onto a log with one
	taloned forefinger to hook it over the bark, down again it
	scrambled, until it found the cut wrist.  And there it grew
	fast.  The troll's smashed head seethed and knit together.
	He clambered back on his feet and grinned at them.  The
	waning faggot cast red light over his fangs.
		[ Three Hearts and Three Lions, by Poul Anderson ]
	This most ancient of swords has been passed down through the
	leadership of the Samurai legions for hundreds of years.  It
	is said to grant luck to its wielder, but its main power is
	terrible to behold.  It has the capability to cut in half any
	creature it is wielded against, instantly killing them.
	The tsurugi, also known as the long samurai sword, is an
	extremely sharp, two-handed blade favored by the samurai.
	It is made of hardened steel, and is manufactured using a
	special process, causing it to never rust.  The tsurugi is
	rumored to be so sharp that it can occasionally cut
	opponents in half!
	TUBAL:  There came divers of Antonio's creditors in my company
	to Venice that swear he cannot choose but break.
	SHYLOCK:  I am very glad of it; I'll plague him, I'll torture
	him; I am glad of it.
	TUBAL:  One of them showed me a ring that he had of your
	daughter for a monkey.
	SHYLOCK:  Out upon her!  Thou torturest me, Tubal.  It was my
	turquoise; I had it of Leah when I was a bachelor; I would
	not have given it for a wilderness of monkeys.
		[ The Merchant of Venice, by William Shakespeare ]
	"Rincewind!"
	Twoflower sprang off the bed.  The wizard jumped back,
	wrenching his features into a smile.
	"My dear chap, right on time!  We'll just have lunch, and
	then I'm sure you've got a wonderful programme lined up for
	this afternoon!"
	"Er --"
	"That's great!"
	Rincewind took a deep breath.  "Look," he said desperately,
	"let's eat somewhere else.  There's been a bit of a fight
	down below."
	"A tavern brawl?  Why didn't you wake me up?"
	"Well, you see, I - _what_?"
	"I thought I made myself clear this morning, Rincewind.  I
	want to see genuine Morporkian life - the slave market, the
	Whore Pits, the Temple of Small Gods, the Beggar's Guild...
	and a genuine tavern brawl."  A faint note of suspicion
	entered Twoflower's voice.  "You _do_ have them, don't you?
	You know, people swinging on chandeliers, swordfights over
	the table, the sort of thing Hrun the Barbarian and the
	Weasel are always getting involved in.  You know --
	_excitement_."
		[ The Colour of Magic, by Terry Pratchett ]
	Yet remains that one of the Aesir who is called Tyr:
	he is most daring, and best in stoutness of heart, and he
	has much authority over victory in battle; it is good for
	men of valor to invoke him.  It is a proverb, that he is
	Tyr-valiant, who surpasses other men and does not waver.
	He is wise, so that it is also said, that he that is wisest
	is Tyr-prudent.  This is one token of his daring:  when the
	Aesir enticed Fenris-Wolf to take upon him the fetter Gleipnir,
	the wolf did not believe them, that they would loose him,
	until they laid Tyr's hand into his mouth as a pledge.  But
	when the Aesir would not loose him, then he bit off the hand
	at the place now called 'the wolf's joint;' and Tyr is one-
	handed, and is not called a reconciler of men.
			[ The Prose Edda, by Snorri Sturluson ]
	Umber hulks are powerful subterranean predators whose
	iron-like claws allow them to burrow through solid stone in
	search of prey.  They are tremendously strong; muscles bulge
	beneath their thick, scaly hides and their powerful arms and
	legs all end in great claws.
	Men have always sought the elusive unicorn, for the single
	twisted horn which projected from its forehead was thought to
	be a powerful talisman.  It was said that the unicorn had
	simply to dip the tip of its horn in a muddy pool for the water
	to become pure.  Men also believed that to drink from this horn
	was a protection against all sickness, and that if the horn was
	ground to a powder it would act as an antidote to all poisons.
	Less than 200 years ago in France, the horn of a unicorn was
	used in a ceremony to test the royal food for poison.

	Although only the size of a small horse, the unicorn is a very
	fierce beast, capable of killing an elephant with a single
	thrust from its horn.  Its fleetness of foot also makes this
	solitary creature difficult to capture.  However, it can be
	tamed and captured by a maiden.  Made gentle by the sight of a
	virgin, the unicorn can be lured to lay its head in her lap, and
	in this docile mood, the maiden may secure it with a golden rope.
	  [ Mythical Beasts, by Deirdre Headon (The Leprechaun Library) ]

	Martin took a small sip of beer.  "Almost ready," he said.
	"You hold your beer awfully well."
	Tlingel laughed.  "A unicorn's horn is a detoxicant.  Its
	possession is a universal remedy.  I wait until I reach the
	warm glow stage, then I use my horn to burn off any excess and
	keep me right there."
		[ Unicorn Variations, by Roger Zelazny ]
	Area of map which is beyond limited perception range when
	underwater or engulfed by a monster.
	They were armed with short broad-bladed swords, not with the
	curved scimitars usual with Orcs: and they had bows of yew,
	in length and shape like the bows of Men. Upon their shields
	they bore a strange device: a small white hand in the centre
	of a black field; on the front of their iron helms was set an
	S-rune, wrought of some white metal.
		[ The Two Towers, by J.R.R. Tolkien ]
	The Valkyries were the thirteen choosers of the slain, the
	beautiful warrior-maids of Odin who rode through the air and
	over the sea.  They watched the progress of the battle and
	selected the heroes who were to fall fighting.  After they
	were dead, the maidens rewarded the heroes by kissing them
	and then led their souls to Valhalla, where the warriors
	lived happily in an ideal existence, drinking and eating
	without restraint and fighting over again the battles in
	which they died and in which they had won their deathless
	fame.
	    [ The Encyclopaedia of Myths and Legends of All Nations,
		by Herbert Spencer Robinson and Knox Wilson ]
	He can transform himself to wolf, as we gather from the ship
	arrival in Whitby, when he tear open the dog; he can be as
	bat, as Madam Mina saw him on the window at Whitby, and as
	friend John saw him fly from this so near house, and as my
	friend Quincey saw him at the window of Miss Lucy. He can come
	in mist which he create--that noble ship's captain proved him
	of this; but, from what we know, the distance he can make this
	mist is limited, and it can only be round himself. He come on
	moonlight rays as elemental dust--as again Jonathan saw those
	sisters in the castle of Dracula. He become so small--we
	ourselves saw Miss Lucy, ere she was at peace, slip through a
	hairbreadth space at the tomb door.
		[ Dracula, by Bram Stoker ]

	The Oxford English Dictionary is quite unequivocal:
	_vampire_ - "a preternatural being of a malignant nature (in
	the original and usual form of the belief, a reanimated
	corpse), supposed to seek nourishment, or do harm, by sucking
	the blood of sleeping persons. ..."
		[]
	Venus, the goddess of love and beauty, was the daughter of
	Jupiter and Dione.  Others say that Venus sprang from the
	foam of the sea.  The zephyr wafted her along the waves to
	the Isle of Cyprus, where she was received and attired by
	the Seasons, and then led to the assembly of the gods.  All
	were charmed with her beauty, and each one demanded her
	for his wife.  Jupiter gave her to Vulcan, in gratitude for
	the service he had rendered in forging thunderbolts.  So
	the most beautiful of the goddesses became the wife of the
	most ill-favoured of gods.
		[ Bulfinch's Mythology, by Thomas Bulfinch ]
	Vlad Dracula the Impaler was a 15th-Century monarch of the
	Birgau region of the Carpathian Mountains, in what is now
	Romania.  In Romanian history he is best known for two things.
	One was his skilled handling of the Ottoman Turks, which kept
	them from making further inroads into Christian Europe.  The
	other was the ruthless manner in which he ran his fiefdom.
	He dealt with perceived challengers to his rule by impaling
	them upright on wooden stakes.  Visiting dignitaries who
	failed to doff their hats had them nailed to their head.
	Swirling clouds of pure elemental energies, the vortices are
	thought to be related to the larger elementals.  They are
	noted for being able to envelop unwary travellers.  The
	hapless fool thus swallowed by a vortex will soon perish from
	exposure to the element the vortex is composed of.
	The vrock is one of the weaker forms of demon.  It resembles
	a cross between a human being and a vulture and does physical
	damage by biting and by using the claws on both its arms and
	feet.  It can also release a cloud of noxious gas to hide in.
	A wakizashi was used as a samurai's weapon when the katana
	was unavailable.  When entering a building, a samurai would
	leave his katana on a rack near the entrance.  However, the
	wakizashi would be worn at all times, and therefore, it made
	a sidearm for the samurai (similar to a soldier's use of a
	pistol).  The samurai would have worn it from the time they
	awoke to the time they went to sleep.  In earlier periods,
	and especially during times of civil wars, a tanto was worn
	in place of a wakizashi.
		[ Wikipedia, the free encyclopedia ]
	'Saruman!' he cried, and his voice grew in power and authority.
	'Behold, I am not Gandalf the Grey, whom you betrayed.  I am
	Gandalf the White, who has returned from death.  You have no
	colour now, and I cast you from the order and from the Council.'
	He raised his hand, and spoke slowly in a clear cold voice.
	'Saruman, your staff is broken.'  There was a crack, and the
	staff split asunder in Saruman's hand, and the head of it
	fell down at Gandalf's feet.  'Go!' said Gandalf.  With a cry
	Saruman fell back and crawled away.
		[ The Two Towers, by J.R.R. Tolkien ]
	Suddenly Aragorn leapt to his feet.  "How the wind howls!"
	he cried.  "It is howling with wolf-voices.  The Wargs have
	come west of the Mountains!"
	"Need we wait until morning then?" said Gandalf.  "It is as I
	said.  The hunt is up!  Even if we live to see the dawn, who
	now will wish to journey south by night with the wild wolves
	on his trail?"
	"How far is Moria?" asked Boromir.
	"There was a door south-west of Caradhras, some fifteen miles
	as the crow flies, and maybe twenty as the wolf runs,"
	answered Gandalf grimly.
	"Then let us start as soon as it is light tomorrow, if we can,"
	said Boromir.  "The wolf that one hears is worse than the orc
	that one fears."
	"True!" said Aragorn, loosening his sword in its sheath.  "But
	where the warg howls, there also the orc prowls."
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	They had come together at the ford of the Trident while the
	battle crashed around them, Robert with his warhammer and his
	great antlered helm, the Targaryen prince armored all in
	black.  On his breastplate was the three-headed dragon of his
	House, wrought all in rubies that flashed like fire in the
	sunlight.  The waters of the Trident ran red around the
	hooves of their destriers as they circled and clashed, again
	and again, until at last a crushing blow from Robert's hammer
	stove in the dragon and the chest behind it.  When Ned had
	finally come on the scene, Rhaegar lay dead in the stream,
	while men of both armies scrambled in the swirling waters for
	rubies knocked free of his armor.
		[ A Game of Thrones, by George R.R. Martin ]
	Day after day, day after day,
	We stuck, nor breath nor motion;
	As idle as a painted ship
	Upon a painted ocean.

	Water, water, everywhere,
	And all the boards did shrink;
	Water, water, everywhere
	Nor any drop to drink.
	  [ The Rime of the Ancient Mariner, by Samuel Taylor Coleridge ]
	[ The monkey king ] walked along the bank, around the pond.
	He examined the footprints of the animals that had gone into
	the water, and saw that none came out again!  So he realized
	this pond must be possessed by a water demon.  He said to the
	80,000 monkeys, "This pond is possessed by a water demon.  Do
	not let anybody go into it."

	After a little while, the water demon saw that none of the
	monkeys went into the water to drink.  So he rose out of the
	middle of the pond, taking the shape of a frightening monster.
	He had a big blue belly, a white face with bulging green eyes,
	and red claws and feet.  He said, "Why are you just sitting
	around?  Come into the pond and drink at once!"

	The monkey king said to the horrible monster, "Are you the
	water demon who owns this pond?"  "Yes, I am," said he.  "Do
	you eat whoever goes into the water?" asked the king.  "Yes,
	I do," he answered, "including even birds.  I eat them all.
	And when you are forced by your thirst to come into the pond
	and drink, I will enjoy eating you, the biggest monkey, most
	of all!"  He grinned, and saliva dripped down his hairy chin.
		[ Buddhist Tales for Young and Old, Vol. 1 ]
	It wasn't that the troll was _horrifying_. Instead of the
	rotting, betentacled monstrosity he had been expecting
	Rincewind found himself looking at a rather squat but not
	particularly ugly old man who would quite easily have passed
	for normal on any city street, always provided that other
	people on the street were used to seeing old men who were
	apparently composed of water and very little else. It was as
	if the ocean had decided to create life without going through
	all that tedious business of evolution, and had simply formed
	a part of itself into a biped and sent it walking squishily up
	the beach. The troll was a pleasant translucent blue color.
	As Rincewind stared a small shoal of silver fish flashed
	across its chest.
	    [ The Colour of Magic, by Terry Pratchett ]
	A weapon is a device for making your enemy change his mind.
		[ The Vor Game, by Lois McMaster Bujold ]
	Oh what a tangled web we weave,
	When first we practise to deceive!
		[ Marmion, by Sir Walter Scott ]
	There were legends both on the front and on the back of the
	whistle. The one read thus:

	FLA FUR BIS FLE The other: QUIS EST ISTE QUI VENIT
	'I ought to be able to make it out,' he thought;
	'but I suppose I am a little rusty in my Latin.
	When I come to think of it, I don't believe I even
	know the word for a whistle. The long one does seem
	simple enough. It ought to mean, "Who is this who is coming?"

	Well, the best way to find out is evidently to whistle
	for him.'
		[Ghost Stories of an Antiquary, by Montague Rhodes James
		 'Oh, Whistle, and I'll Come to You My Lad']
	When he came to himself again, for a moment he could recall
	nothing except a sense of dread.  Then suddenly he knew that
	he was imprisoned, caught hopelessly; he was in a barrow.  A
	Barrow-wight had taken him, and he was probably already under
	the dreadful spells of the Barrow-wights about which whispered
	tales spoke.  He dared not move, but lay as he found himself:
	flat on his back upon a cold stone with his hands on his
	breast.
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	... the rules of Brockian Ultra Cricket, as played in the higher
	dimensions.  A full set of rules is so massively complicated ...
	A brief summary, however, follows:
	...
	/Rule Six/:  The winning team shall be the first team that wins.
	    [ Life, the Universe and Everything, by Douglas Adams ]
	Ebenezum walked before me along the closest thing we could
	find to a path in these overgrown woods.  Every few paces he
	would pause, so that I, burdened with a pack stuffed with
	arcane and heavy paraphernalia, could catch up with his
	wizardly strides.  He, as usual, carried nothing, preferring,
	as he often said, to keep his hands free for quick conjuring
	and his mind free for the thoughts of a mage.
		[ A Dealing with Demons, by Craig Shaw Gardner ]
	No one knows how old this mighty wizard is, or from whence he
	came.  It is known that, having lived a span far greater than
	any normal man's, he grew weary of lesser mortals; and so,
	spurning all human company, he forsook the dwellings of men
	and went to live in the depths of the Earth.  He took with
	him a dreadful artifact, the Book of the Dead, which is said
	to hold great power indeed.  Many have sought to find the
	wizard and his treasure, but none have found him and lived to
	tell the tale.  Woe be to the incautious adventurer who
	disturbs this mighty sorcerer!
	The ancestors of the modern day domestic dog, wolves are
	powerful muscular animals with bushy tails.  Intelligent,
	social animals, wolves live in family groups or packs made
	up of multiple family units.  These packs cooperate in hunting
	down prey.
	1.  Any of various, usually poisonous perennial herbs of the
	genus Aconitum, having tuberous roots, palmately lobed leaves,
	blue or white flowers with large hoodlike upper sepals, and an
	aggregate of follicles.  2.  The dried leaves and roots of
	some of these plants, which yield a poisonous alkaloid that
	was formerly used medicinally.  In both senses also called
	monkshood.
		[ The American Heritage Dictionary of
		    the English Language, Fourth Edition. ]
	Come, old broomstick, you are needed,
	Take these rags and wrap them round you!
	Long my orders you have heeded,
	By my wishes now I've bound you.
	Have two legs and stand,
	And a head for you.
	Run, and in your hand
	Hold a bucket too.
	...
	See him, toward the shore he's racing
	There, he's at the stream already,
	Back like lightning he is chasing,
	Pouring water fast and steady.
	Once again he hastens!
	How the water spills,
	How the water basins
	Brimming full he fills!
	  [ The Sorcerer's Apprentice, by Johann Wolfgang von Goethe,
	      translation by Edwin Zeydel ]
	The Usenet Oracle requires an answer to this question!

	> How much wood could a woodchuck chuck if a woodchuck could
	> chuck wood?

	"Oh, heck!  I'll handle *this* one!"  The Oracle spun the terminal
	back toward himself, unlocked the ZOT-guard lock, and slid the
	glass guard away from the ZOT key.  "Ummmm....could you turn around
	for a minute?  ZOTs are too graphic for the uninitiated.  Even *I*
	get a little squeamish sometimes..."  The neophyte turned around,
	and heard the Oracle slam his finger on a computer key, followed
	by a loud ZZZZOTTTTT and the smell of ozone.
		[ Excerpted from Internet Oracularity 576.6 ]
	[The crysknife] is manufactured in two forms from teeth taken
	from dead sandworms.  The two forms are "fixed" and "unfixed".
	An unfixed knife requires proximity to a human body's
	electrical field to prevent disintegration.  Fixed knives
	are treated for storage.  All are about 20 centimeters long.
		[ Dune, by Frank Herbert ]
	Immediately, though everything else remained as before, dim
	and dark, the shapes became terribly clear.  He was able to
	see beneath their black wrappings.  There were five tall
	figures:  two standing on the lip of the dell, three advancing.
	In their white faces burned keen and merciless eyes; under
	their mantles were long grey robes; upon their grey hairs
	were helms of silver; in their haggard hands were swords of
	steel.  Their eyes fell on him and pierced him, as they
	rushed towards him.  Desperate, he drew his own sword, and
	it seemed to him that it flickered red, as if it was a
	firebrand.  Two of the figures halted.  The third was taller
	than the others:  his hair was long and gleaming and on his
	helm was a crown.  In one hand he held a long sword, and in
	the other a knife; both the knife and the hand that held it
	glowed with a pale light.  He sprang forward and bore down
	on Frodo.
		[ The Fellowship of the Ring, by J.R.R. Tolkien ]
	The Wumpus, by the way, is not bothered by the hazards since
	he has sucker feet and is too big for a bat to lift.  If you
	try to shoot him and miss, there's also a chance that he'll
	up and move himself into another cave, though by nature the
	Wumpus is a sedentary creature.
		[ wump (6) -- "Hunt the Wumpus" ]

	_Wumpus yobgregorii_, in the flesh...
	Later, all you will be able to remember are its eyes.  They
	are rich mud-brown, and they hold your own without effort.
		[ Hunter, In Darkness, by Andrew Plotkin ]
	They sent their friend the mosquito [xan] ahead of them to
	find out what lay ahead.  "Since you are the one who sucks
	the blood of men walking along paths," they told the mosquito,
	"go and sting the men of Xibalba."  The mosquito flew
	down the dark road to the Underworld.  Entering the house of
	the Lords of Death, he stung the first person that he saw...

	The mosquito stung this man as well, and when he yelled, the
	man next to him asked, "Gathered Blood, what's wrong?"  So
	he flew along the row stinging all the seated men until he
	knew the names of all twelve.
			[ Popul Vuh, as translated by Ralph Nelson ]
	A distant cousin of the earth elemental, the xorn has the
	ability to shift the cells of its body around in such a way
	that it becomes porous to inert material.  This gives it the
	ability to pass through any obstacle that might be between it
	and its next meal.
	The arrow of choice of the samurai, ya are made of very
	straight bamboo, and are tipped with hardened steel.
	Yeenoghu, the demon lord of gnolls, still exists although
	all his followers have been wiped off the face of the earth.
	He casts magic projectiles at those close to him, and a mere
	gaze into his piercing eyes may hopelessly confuse the
	battle-weary adventurer.
	The Abominable Snowman, or yeti, is one of the truly great
	unknown animals of the twentieth century.  It is a large hairy
	biped that lives in the Himalayan region of Asia ... The story
	of the Abominable Snowman is filled with mysteries great and
	small, and one of the most difficult of all is how it got that
	awful name.  The creature is neither particularly abominable,
	nor does it necessarily live in the snows.  _Yeti_ is a Tibetan
	word which may apply either to a real, but unknown animal of
	the Himalayas, or to a mountain spirit or demon -- no one is
	quite sure which.  And after nearly half a century in which
	Westerners have trampled around looking for the yeti, and
	asking all sorts of questions, the original native traditions
	concerning the creature have become even more muddled and
	confused.
		[ The Encyclopedia of Monsters, by Daniel Cohen ]
	Japanese leather archery gloves.  Gloves made for use while
	practicing had thumbs reinforced with horn.  Those worn into
	battle had thumbs reinforced with a double layer of leather.
	The samurai is highly trained with a special type of bow,
	the yumi.  Like the ya, the yumi is made of bamboo.  With
	the yumi-ya, the bow and arrow, the samurai is an extremely
	accurate and deadly warrior.
	The zombi... is a soulless human corpse, still dead, but
	taken from the grave and endowed by sorcery with a
	mechanical semblance of life, -- it is a dead body which is
	made to walk and act and move as if it were alive.
		[ W.B. Seabrook ]
	The zruty are wild and gigantic beings, living in the
	wildernesses of the Tatra mountains.
	Archeologist ranks
	  title            level
	Digger            1 to 2
	Field Worker      3 to 5
	Investigator      6 to 9
	Exhumer          10 to 13
	Excavator        14 to 17
	Spelunker        18 to 21
	Speleologist     22 to 25
	Collector        26 to 29
	Curator             30
	Barbarian ranks
	  title            level
	Plunderer,
	 Plunderess       1 to 2
	Pillager          3 to 5
	Bandit            6 to 9
	Brigand          10 to 13
	Raider           14 to 17
	Reaver           18 to 21
	Slayer           22 to 25
	Chieftain,
	 Chieftainess    26 to 29
	Conqueror,
	 Conqueress         30
	Caveman/Cavewoman/Cave Dweller ranks
	  title            level
	Troglodyte        1 to 2
	Aborigine         3 to 5
	Wanderer          6 to 9
	Vagrant          10 to 13
	Wayfarer         14 to 17
	Roamer           18 to 21
	Nomad            22 to 25
	Rover            26 to 29
	Pioneer             30
	Healer ranks
	  title            level
	Rhizotomist       1 to 2
	Empiric           3 to 5
	Embalmer          6 to 9
	Dresser          10 to 13
	Medicus ossium,
	 Medica ossium   14 to 17
	Herbalist        18 to 21
	Magister,
	 Magistra        22 to 25
	Physician        26 to 29
	Chirurgeon          30
	Knight ranks
	  title            level
	Gallant           1 to 2
	Esquire           3 to 5
	Bachelor          6 to 9
	Sergeant         10 to 13
	Knight           14 to 17
	Banneret         18 to 21
	Chevalier,
	 Chevaliere      22 to 25
	Seignieur,
	 Dame            26 to 29
	Paladin             30
	Monk ranks
	  title            level
	Candidate         1 to 2
	Novice            3 to 5
	Initiate          6 to 9
	Student
	  of Stones      10 to 13
	  of Waters      14 to 17
	  of Metals      18 to 21
	  of Winds       22 to 25
	  of Fire        26 to 29
	Master              30
	Priest/Priestess/Cleric ranks
	  title            level
	Aspirant          1 to 2
	Acolyte           3 to 5
	Adept             6 to 9
	Priest,
	 Priestess       10 to 13
	Curate           14 to 17
	Canon,
	 Canoness        18 to 21
	Lama             22 to 25
	Patriarch,
	 Matriarch       26 to 29
	High Priest,
	 High Priestess     30
	Ranger ranks
	  title            level
	Tenderfoot        1 to 2
	Lookout           3 to 5
	Trailblazer       6 to 9
	Reconnoiterer,
	 Reconnoiteress  10 to 13
	Scout            14 to 17
	Arbalester       18 to 21
	Archer           22 to 25
	Sharpshooter     26 to 29
	Marksman,
	 Markswoman         30
	Rogue ranks
	  title            level
	Footpad           1 to 2
	Cutpurse          3 to 5
	Rogue             6 to 9
	Pilferer         10 to 13
	Robber           14 to 17
	Burglar          18 to 21
	Filcher          22 to 25
	Magsman,
	 Magswoman       26 to 29
	Thief               30
	Samurai ranks
	  title            level
	Hatamoto          1 to 2
	Ronin             3 to 5
	Ninja,
	 Kunoichi         6 to 9
	Joshu            10 to 13
	Ryoshu           14 to 17
	Kokushu          18 to 21
	Daimyo           22 to 25
	Kuge             26 to 29
	Shogun              30
	Tourist ranks
	  title            level
	Rambler           1 to 2
	Sightseer         3 to 5
	Excursionist      6 to 9
	Peregrinator,
	 Peregrinatrix   10 to 13
	Traveler         14 to 17
	Journeyer        18 to 21
	Voyager          22 to 25
	Explorer         26 to 29
	Adventurer          30
	Valkyrie ranks
	  title            level
	Stripling         1 to 2
	Skirmisher        3 to 5
	Fighter           6 to 9
	Man-at-arms,
	 Woman-at-arms   10 to 13
	Warrior          14 to 17
	Swashbuckler     18 to 21
	Hero,
	 Heroine         22 to 25
	Champion         26 to 29
	Lord,
	 Lady               30
	Wizard ranks
	  title            level
	Evoker            1 to 2
	Conjurer          3 to 5
	Thaumaturge       6 to 9
	Magician         10 to 13
	Enchanter,
	 Enchantress     14 to 17
	Sorcerer,
	 Sorceress       18 to 21
	Necromancer      22 to 25
	Wizard           26 to 29
	Mage                30
	  Discworld novel titles
	    by Sir Terry Pratchett
	  The Colour of Magic
	  The Light Fantastic
	  Equal Rites
	  Mort
	  Sourcery
	  Wyrd Sisters
	  Pyramids
	  Guards! Guards!
	  Eric
	  Moving Pictures
	  Reaper Man
	  Witches Abroad
	  Small Gods
	  Lords and Ladies
	  Men at Arms
	  Soul Music
	  Interesting Times
	  Maskerade
	  Feet of Clay
	  Hogfather
	  Jingo
	  The Last Continent
	  Carpe Jugulum
	  The Fifth Elephant
	  The Truth
	  Thief of Time
	  The Last Hero
	  The Amazing Maurice and His Educated Rodents
	  Night Watch
	  The Wee Free Men
	  Monstrous Regiment
	  A Hat Full of Sky
	  Going Postal
	  Thud!
	  Wintersmith
	  Making Money
	  Unseen Academicals
	  I Shall Wear Midnight
	  Snuff
	  Raising Steam
	  The Shepherd's Crown
#	This data file is generated by 'makedefs'.  Do not edit. 
   21
000ca
00268
00332
003bf
004fa
005f8
006af
00791
0085d
0099b
00a68
00b6c
00c7c
00d9b
00e9c
00f96
01076
0127e
0141f
01623
0170a
01849
---
#,*&yu"m{0scp`us"`acbmjkusvmfw!vk(rd"gg~gpkfddf$yuj$|xd
gmhdvkjo0ujagbdo$nbno$SR`iaz<!Emd|-"eft!Qkdwc}$00;3=M/

Ujagbdo$?>0:$(Digvm0dzm{d!pakesqm~u!nefwtccmc!C$i~e"F(ctal(dicp
!",99!"T Q("950OR,I9-"eft
!",:9!"T R("%50OR,J9

Ujm{0qpk~yegw(ylrvmcrkrm0dtmluoaa(dicp(dig$|ubjjaatgw(dicp(qsg
bwvzuovhq0`tea|``hm0vkhd0omp(ctdbasd"bgb!rvgfhlc(dicp(@!#9(^Q"kz0!"$(0!"$(
uje|0Q"950OR**0!YCibd{$i~e"Ngxoqkf<!r*(!97*U
---
Hd$|xx"si~e"lidi"v}~!mq|0nd$kx`pcmc-"p`t"iiirv$rqq"m|0`eea~!cjl0`eea~:"p`tel
ocqoxu"sa|m"li`qgj(qu"babrv((fdpmdi-"p`i!razchqpm~bg${x`nh(rd"vmg`p`mt-"e{
nla(|`qp(sicvou!oeq0xgp(rd"szurval0gpke0hv%
---
Ujk}wi"p`u!qlg`jgaxusq$ju!uezi-"p`ydta{0icrm0ogrmbujadurq${dnnaf0lwg`0c{$}chlc
ujaab!fmowhlc(g`l`{0um$`qrvaf0dzm|c!vlztel(dig$xqwgim~u,
---
Hd$|xnw$`qrv$`qe"pzt`hm0vkp`0sww|0nl$|xhla(qsokz0np$u`rkfc-"p`t"w`tn`{d
jlk0uje|0ujk}0bcj{d!rvmfdlp(dikw(rx.$xhna(yo"e(snlb}cdf${d`va$0sgelyoe$|xd
lccas`n$xqsaleuovw(gikg`0omveqmn}(qsg$}cdf$|!ae}cd"p`uhp$m~bjefdlgj|>
Tlc}uovw(g"h}rskgidhmj(}`{$xbntmlu!qmeymcv(`smpmsukkf<!chjuhv$gv!c
upefchvkzi!le|esg*
---
Cglg|e"p`u!akk{`vvasd.$xnqa(thomfeukrm0rve|esg$jumka{0hvw(xhf`m~!omoxu,$(Dig
bmgcqupmku!aef0qgpzyg{$i~x"kzthlezi!`aa~f"m|0bmj|qbvw%=rcrm0ujk{u!um{u
`frm~uwvmbr"s`!ge|0`"`mqe"haj`p`(s"fdc"kn0`aml0vjaf0ujaq0ggad0ujaecdnrmc
rnk|x"p}bokjo0um${dnla&
---
Vjmdu!qkeu!ueqv`pazc!padi!mj(cbpk}~fkjo0gkjacig`(qsok}b!kj(dig$leoeag~-"p`u
sgwgesaanem"ofv"p`u!o}{dhaed0lgefc!`}(gikg`0lcmd0lc}(rd"bicikkfue"k}d!mb
raedur"bzl"e(tsccg~&q$`yeg*
---
Hv$ac!aq{dnoezym{$c~nuj(qlmjo0upe~umgv{0uje|0dzpzq,jai|hlc(tscqoxuq$eqx"gdu`p
uj}(cdlwmc!ulm~!vlge!cv|0`f`due"fq0egh}cnp}(fhqmg~r,$(Rtv$fuwgv(vnpcmd-"p`u
mmsdi!rk|ynl$xhal(}`ia{0nla(chao(}`{$ju!wwmt!dkz0uja(c`oa(`tptgcd,
---
Vjmdu!vlm0bmj{elrpao"kn0mk~ibe"bdurj$gb!ue|us"fm|ntal0nd$|xd"cgtr"iii!ahmqs
uja(}tf`due"lmqe.$|xd"ex`mkgidhmj(g"p`u!jkz~!mb(q!avmquwvm0nd$}dlmw|0qwvadx
bcj(qmna~y`va(}`l}(ujaz0`dbdybvmg~r"e{0vghd>
---
Hd$|xnw$tn`{d!vvifdn$yehaodi!`a|gdgj(thqpi~u"hgs`vmg~r.$|xnw$eerv$ju
``hm0um$kovvg|!vlq0ughm`npp{<!cjl0hl$i0bmjnerg`(cucpm0lkwzu`f$|xd"wkbnnh
vjmkx!ww}qmn}(ddnaxsvw(di{wm|g"hgs`nhq>!"@ibhlc(qetafdtpazc!je~u!ch{
qgvnsoal0uja(c`oa(vdcp(c`lw(~dg`(vnp${ssmhdc!mv(`nvmg~r"fq0rvax`hlc(yovk
`"tibukg}|`p$i}cwwkqeg*
---
@nigcu"ed|!c`~uovqzusq$xn"gg}d"p`yr"sii!jkxu!vk(``qw(dig$lbdc`(]dfq{q/"$\
em$|xhq((dig$jurv$itwkgm0hq$|!iam`!vla~d"aqur"fdyofbg|eg`(qof$|!ae}cd"p`u
bpaidtpa(dn"a{`x"m|c!msf0sgbdubvmg~!kj(q!omzbnp*
---
@l`(gigvm0hv$ac!uvadugj(2`f$iuscvael ((thnmouov${u`pg`yoe$ymn$gvugj(bdtai|
uja(g`{$|!c$|b`r$xhal(cdl`{0nla(dn"p`u!Oeoyb"Im}np}(F`wh|<!ulmbd"p`u!pmkxdq
nd$Kbngw}c!cvm0rvkzue9$`vgrmb-"a{s`rmfw!dvg}!vlm0wcqdd!um|x!kp{0fmhl0hq$eebj
icvlus"p`qo"cmdukjo0hl*
---
Hv$ac!uad|!ijggo"p`qu"sa|x"w`qiam`dpw(b`kwm0ujaab!rvasdq$xdla/us"p`ux
dqtq0uja(w`pm{x!ctxqsgh(g"p`u!ctxbncg`yoe$|tpm{d!mv(dig$ktlpm~`lgm0nd$i
ekwnqwmvmt!re|bnl*(0Ujaq0gcrgb!vlm0fgj||d"kn0lcjfus"eft!vlm0gcmz0nd$nqbg*
Uja(rnmv(}`{$mhqgg|0tltzgkpirmg$|b`lwisukkfc/
---
Uja(smkg`u!mb(dig$cyualm~!qmf{!qsi|mmsa~f"efi!wjnsvqfqug$zyoew(dicp(snlpisu
hvw(`dpjashmq{0rwvnqbg$zugnakddvl(wsge|us"pzeuj$|x`l$eqo{$`lkhaur.$quu
dtaf0rm((vdu$`qwg$luwghg`df$|xd"wcymn$|!k`m~ukbq0dlg`qoval0skjoc!`}(dig
upefcgkc}b`vmg~r"anvdapmt!wtg~!vlm0wmvishmq{0egrasd%w(vscim>
---
Uja(}dcp(g"afsicj|ue"gzu`vqzur"kndukimc!akffd{a|x!oeoybch(`smtmbuka{
tlpg0uja(snlw}}dp*(0@"bzurj$ksrwm0nd$n|ncpa~f"aqu!fk|x!da|si"e(xhel
qpmku!cig~f"saj`p`{0gmv(yuq$}dhnm|i!kj(snlbmbskjo0Ughm``vlq<!`}(gikg`
uja(chel||dqw(}`{$dbcpm0rwvztl`a~f"ia~eq*
---
Uja(tdvakdhmj(g"fdurqmfwr"eft!aqzcdq$ac!kj(dig$llcmf0nd$|xd"cgtr,$(Dig}(ghnh
lcom0ujm{0hlbgblcpao"e~qhnej|d"pg0lmv|qmq$xn"vmatgw|0hv$id!vlmys"tdqbgw(g
vmv{xhr((s"adcdulmbd"bgb!vlgcd"igbuch{0vjk(tdtk|u!vlm}rgh~ur"pg0uja(cdprasd
nd$|xd"cgtr,
---
@v$|ylgw$0uja(wnfw(}`{$nqwmv(gnpp`i!qqx`mkgi~uq$yuj$fqlg`(rmc`mc!ulgcd
qmsmbr"akxn"p`bnwc`tv$dufgjl>!"Hmqslal0vc}nqsgv{0bcj(bdrvgttaa(rmc`mc!mb
dnrm~!nmfu`ea$0icpmt!mb(dig$gbbq((ghvlgeu"p`u!lamt!dkz0rwg`0hlpmbwgj|ynl*
---
Ujazu!cvm0lcjq0rvkzydq$gv!c$eyfjpq0`oqduu.$|xd"kzyfkj{0nd$xhal(qsg${qhf
um$ju!cjkydlp(Idl`gb/"$\xhq$i}tna|0emp`0icrm0`ua{lg$xvgv$0`l`(dig$oeq
egwabd"m|0fpaidm{*(0Lmv|qmq$eqxqp(d`r$g~m{$xsvmg~r"kn0hvw(ddpvarmg
``mdyuka{>!"P`u!qpgbhgw(ddnh(g"igbuch{0rgaa~f"s`qu"p`uhp$midq$kqolk|
rga(qof${udimfw!rhisdq$gv!oeoybch(dscj{`nppidhmj$0vjmdu!je~yoe$|xhq
`oqduu"mf0ujaab!rk{cdqwao,$(_ujazc!qeq0`"igbuch(}tqp(gdcv(dig$i}tna|0um
n`piyo"p`urg$xvgv{>!"F}d!tazym{((ctal(`nuaz0bmimc!cp(wsge|0bmw|<!vk
qpa{usta(dig$jqmcjku/
---
Hv$ac!qeat!vlid!vlge!oeqcu"ciyo"afds{$|!Okdbj#{0rcjkdtcvq<!kb(dimq
ecvmcu.$nbno$i0qneku!ulmbd"p`u!evgeof$~ycpe|uuj$a~!vlm0egaxurv$luqvl{0nd
Fglm~omi&0!Vlge!lamtr"i}cu"lifd"p`u!cml0nd$|xsga(}`emkqm"m|ulq*(0Uja
qwvm0rmqft!mb(q!qmdfdp$jumn${x`nh(qolk}~bg$|xdg*(0Uja(ddpvarmg$zeogw$
sgel0gpke0Lmhgsi%w(rnmo$0rjed|!ae}cd"p`u!gezdi"pg0upaermg$eyfjpa|x,$(Dig
mkc`d!mb(qo"afsicj|ue"gi~eghirswi(cichd0rjk0ujam0uja(g`{*
---
Hl$|xd"`muqgw|0sggmcrgw(g"p`u!Fqfwdmj{0nd$Lno((wtcvlyoe$isbgw{0um$|xd
ogp`us"vmwhmj{<!vlmbd"w|qofa|x!c$kqrvhm<!ulmbdkj(|hgp`0`"si~e"kn0vkw`ur,
Hd$|xnw$tn`{d!eea~!gj|bx.$ju`p$yuj$|xdg$i~!kj{dswim~u"kn0lwwas-"bgb!vlm
qmj||dtm{0lc}(rd"g`qsoal0emsf0vkp`0uja(`smtmb!oade{*(0Vje|0ompmc!ake`skwm
hv$g~m{$|xd"cgtr"ofv.$jeu"e(}tqmkqm"iicugveyof$eqx"}md!qqksdg`(rx"sadgwh
hotzwkwidhmj&0!Jkuwgv$0uja(|dqw(`dpwxybcgatq$ibd"jgd!um|xnwp(bdak}brg(
rjk}|e"p`ux"fm0qpaxqsg`(dn"gabbwii}cwhidd"p`u!ae{dmg$|!vlm0qmw|usl*
---
Uja(wnfw(qsg${qhf$|!`a(`mge{ue"s`uo"knvdpmfwr"ezu!em~uo"pg0uja
qpmmcuq$xn"e|ddl`(digmz0ugix|dq((qof$|xd{$eqx"czqov$~qskk}c!de~sq$|
ujk{u!ulg0em${/"$Jeu"fmg`pa)0!Vk(rd"}geoe$i~e"bzefch(yr"fmdugv(dicj(dn
cg$g|e"eft!om{usn}&
---
Uja(~`oa(g"Adrdpa|x!oeq0rvva{d"bmqs"mfdn"p`u!jaibuq$gv!vla~d"afulka{<!kb
ujk}0emw|0vpm|u!kp(eqmj(dig$obnwjl0`v$|xx"bmuu,$(Yg"p`t"iiyovea~dqp(dig
tvigcu"gi|l.$|xx"wivdv}(ghnh(rd"eatdf$obdcpdi-"f}d!`aqsg$durv$|xx"gdelq}
gga|0raqnv!vlm0hlwkbhrpao.$kqoaad|hlc(yuq$xugjku-"kz0uj}(g`{sibe
rukzt,cve0cpai{!vlm0upqku/
---

    NetHack version 5.0.0

Options compiled into this edition:

    IL32LLP64 data model, color, data librarian with a version-dependent
    name, insurance files for recovering from crashes, live logging support,
    log file, extended log file, errors and warnings log file, news file,
    pattern matching via :PATMATCH:, pseudo random numbers generated by
    ISAAC64, strong PRNG seed from CNG BCryptGenRandom(), restore saved
    games via menu, screen clipping, screen control via WIN32 console I/O,
    traditional status display, status via windowport with highlighting,
    system configuration at run-time, show stack trace on error, launch
    browser to report issues, save and bones files accepted from version
    5.0.0 only, and basic NetHack features.

Supported windowing systems:

    "tty" (traditional text with optional line-drawing) and "curses"
    (terminal-based graphics), with a default of "tty".

NetHack 5.0.* uses the 'Lua' interpreter to process some data:

    :LUACOPYRIGHT:

    "Permission is hereby granted, free of charge, to any person obtaining
     a copy of this software and associated documentation files (the 
     "Software"), to deal in the Software without restriction including
     without limitation the rights to use, copy, modify, merge, publish,
     distribute, sublicense, and/or sell copies of the Software, and to 
     permit persons to whom the Software is furnished to do so, subject to
     the following conditions:
     The above copyright notice and this permission notice shall be
     included in all copies or substantial portions of the Software."

        Microsoft Windows specific help file for NetHack 5.0
        Copyright (c) NetHack PC Development Team 1993-2025.
        NetHack may be freely distributed.  See license for details.
                   (Last Revision: August 19, 2025)

This file details some specifics for NetHack built for Windows.

New players should be sure to read GuideBook.txt which contains
essential information about playing NetHack. It can be found in the
same directory as your NetHack executable.

The NetHack for Windows port supports some additional or enhanced
commands as well as some NetHack config file options.

The active NetHack config file is stored in the nethack subfolder of the
user's User Profile Folder. The config file can be referenced
in the legacy CMD command prompt as:
    %USERPROFILE%\nethack\.nethackrc

Under powershell, the User's config file can be referenced
as:
    $env:USERPROFILE\nethack\.nethackrc

Some options are applicable only to the "Graphical Interface."
These are discussed separately in their own section.

Contents
1. ALT Key Combinations
2. Graphical Interface - Options you can assign a value to
3. Graphical Interface - Additional/Enhanced Commands
4. Graphical Interface - Menus
5. Numeric Keypad (for number_pad mode)


1. ALT Key Combinations
----------------------------------------------
The non-graphical (tty) interface always operates in "NetHack mode",
while the "NetHack for Windows - Graphical Interface" lets you
toggle the mode.  In non-NetHack mode, all ALT-key combinations
are sent to the Windows itself, rather than to NetHack.

While playing in NetHack mode you can press the ALT key in
combination with another key to execute an extended command
as an alternative method to pressing a # key sequence.
The available commands are:

    Alt-2    #twoweapon      - toggle two-weapon combat (unavailable
                               if number_pad mode is set)
    Alt-a    #adjust         - adjust inventory letters.
    Alt-c    #chat           - talk to someone or something.
    Alt-d    #dip            - dip an object into something.
    Alt-e    #enhance        - enhance your skill with a weapon.
    Alt-f    #force          - force a lock.
    Alt-i    #invoke         - invoke an object's powers.
    Alt-j    #jump           - jump to a location.
    Alt-l    #loot           - loot a box on the floor.
    Alt-m    #monster        - use a monster's special ability.
    Alt-n    #name           - name an item or type of object.
    Alt-o    #offer          - offer a sacrifice to the gods.
    Alt-p    #pray           - pray to the gods for help.
    Alt-q    #quit           - quit the game. (Same as #quit)
    Alt-r    #rub            - rub a lamp.
    Alt-s    #sit            - sit down.
    Alt-t    #turn           - turn undead.
    Alt-u    #untrap         - untrap something.
    Alt-v    #version        - list compile time options for this version of
                               NetHack.
    Alt-w    #wipe           - wipe off your face.
    Alt-?    #?              - display list of extended menu commands

2. Options that you assign a value to (Graphical Interface only)
----------------------------------------------------------------

"NetHack for Windows - Graphical Interface" recognizes the following
additional options, which the non-graphical (tty) version will
silently ignore.  These are options that specify attributes of various
windows.  The windows that you can tailor include menu windows (such
as the inventory list), text windows (such as "It is written in the
book of ..." screens), the message window (where events of the game are
displayed), the status window (where your character name
and attributes are displayed), and the map window (where the map
is drawn).

Window Alignment options:

    align_message  Specifies at which side of the NetHack screen the
                   message window is aligned. This option can be used
                   to align the window to "top" or "bottom".
                   Default: [TOP]

    align_status   Specifies at which side of the NetHack screen the
                   status window is aligned. This option can be used
                   to align the window to "top" or "bottom".
                   Default: [BOTTOM]

Map Window options:

    map_mode       Specifies which map mode to use.
                   The following map modes are available:
                   tiles (display things on the map with colored tiles),
                   ascii4x6, ascii6x8, ascii8x8, ascii16x8, ascii7x12,
                   ascii8x12, ascii16x12, ascii12x16, ascii10x18
                   (which use that size font to display things on
                   the map), or fit_to_screen (an ascii mode which
                   forces things to fit on a single screen).
                   Default: [tiles]

    scroll_margin  Specifies the number of map cells from the edge
                   of the map window where scrolling will take place.
                   Default: [5]

    tile_file      An alternative file containing bitmap to use for
                   tiles. This file should be a .bmp file and should
                   be organized as 40 rectangular tiles wide. It is
                   beyond the scope of this document to describe the
                   exact contents of each tile in the .bmp, which must
                   match the object lists used when building NetHack.

    tile_height    Used with tile_file to specify the height of each
                   tile in pixels. This option may only be specified
                   in the defaults.nh config file.
                   Default: [16]

    tile_width     Used with tile_file to specify the width of each
                   tile in pixels. This option may only be specified
                   in the defaults.nh config file.
                   Default: [16]

Other Window options:

    windowcolors   Specifies the colors for various windows
                   This option may only be specified in the
                   defaults.nh config file and has the following
                   format:
                       window-type foreground/background
                   Notes:
                      - Both foreground and background colors are
                        required, and a slash must separate them.
                      - "window-type" is either "message" or "status"
                        (Short forms are: "msg" or "sts").
                      - "foreground" and "background" may be specified as
                        a color name (such as "blue"), or by a six
                        digit hexadecimal RGB color value (such as
                        "#8F8F8F")
                      - The following color names are available:
                        black, red, green, brown, blue, magenta,
                        cyan, gray (or grey), orange, brightgreen,
                        yellow, brightblue, brightmagenta, brightcyan,
                        white, trueblack, purple, silver, maroon, fuchsia,
                        lime, olive, navy, teal, aqua. In addition, you
                        can use the following names to refer to default
                        Windows settings: activeborder, activecaption, \
                        appworkspace, background, btnface, btnshadow, btntext,
                        captiontext, graytext, highlight, highlighttext,
                        inactiveborder, inactivecaption, menu, menutext,
                        scrollbar, window, windowframe, windowtext.

                        Example:
                        OPTIONS=windowcolors:sts #00FF80/blue msg menutext/menu

    font_menu      Specifies the name of the menu font.
    font_message   Specifies the name of the message font.
    font_status    Specifies the name of the status font.
    font_text      Specifies the name of the text font.

    font_size_menu Specifies the size of the menu font.

    font_size_message
                   Specifies the size of the message font.

    font_size_status
                   Specifies the size of the status font.

    font_size_text Specifies the size of the text font.

Miscellaneous options:

    vary_msgcount  Number of lines to display in message window.


3. NetHack for Windows - Graphical Interface, Additional/Enhanced Commands
-------------------------------------------------------------------------

The following function keys are active in
the "NetHack for Windows - Graphical Interface":

    F4             Toggle level overview mode on/off
                   This key will toggle the map between a view that
                   is mapped to fit exactly to the window, and the
                   view that shows the various symbols in their
                   normal size. This is useful for getting an idea
                   of where you are in a level.

    F5             Toggle tiled display on/off.
                   This key switches between the tiled and the
                   traditional ASCII display. This is equivalent to
                   using the "map_mode" option.

    F10            Activate menu bar.
                   This key will activate the menu bar, allowing you
                   to select between the menus: File, Map,
                   Window Settings, and Help.

4. Graphical Port Menus
-----------------------

File
  Save - Allows you to save and exit the game
  Quit - Allows you to quit the game

Map - Provides for selection of map mode. Equivalent to using
the map_mode option.

Window Settings - Changes your logged-on user's settings for NetHack.
Only one setting is available: NetHack mode, which can be
checked or unchecked. NetHack mode allows you to use the ALT key for
game key commands [see list above]. You can use F10 to access the
menu bar while in NetHack mode. You can also clear your logged-on
user's settings for NetHack. Settings in this window are saved in
your logged-on user's registry.

Help - Provides help about various portions of NetHack.


5. Numeric Keypad (for "OPTION=number_pad" mode)
------------------------------------------------

The numeric keypad and surrounding characters act as macros for different
commands in NetHack.  The Num Lock should be toggled to "on" to make the
most of these keys:

          Key         Normal       Shift-Key
       ----------   ----------    -------------
       1, 2, 3, 4   Move In       Run In
       6, 7, 8, 9   Direction     Direction

        0 (Ins)     Inventory     Categorized
                                  Inventory

        . (Del)     Wait Turn     : - Look Here

        +           Spell List    P - Put on an
                                  accessory

        -           m - Move      Previous
                    Only          Message

    NetHack for Windows - tty Interface Specific Behavior:
    ------------------------------------------------------

      In the non-graphical (tty) interface, when you use the Ctrl key with a
      directional key (1, 2, 3, 4, 6, 7, 8, 9) it means "go in specified
      direction until you hit a wall or run into something interesting."

    NetHack for Windows - Graphical Interface Specific Behavior:
    ------------------------------------------------------------

      It is possible to scroll or pan the map in a specific direction:

        Ctrl-Shift-Left  (4)     Scroll (Pan) map left
        Ctrl-Shift-Right (6)     Scroll (Pan) map right
        Ctrl-Shift-Up    (8)     Scroll (Pan) map up
        Ctrl-Shift-Down  (2)     Scroll (Pan) map down
        Ctrl-Shift-Home  (7)     Scroll (Pan) map left to leftmost corner
        Ctrl-Shift-End   (1)     Scroll (Pan) map left to rightmost corner
        Ctrl-Shift-PgUp  (9)     Scroll (Pan) map left to uppermost corner
        Ctrl-Shift-PgDn  (3)     Scroll (Pan) map left to lowermost corner


#	This data file is generated by 'makedefs'.  Do not edit. 
0390,024924,00006d;0397,025762,0061c9;0,0,00c66b
@"fdyofbg|e"gi~!`a(fdp}(ergb}|!kb(inw#zu!vaduqcp`yb,[WO^][W
@"gi~eghirswi(qgdmpue"sadi"wmfdl$kqofhmc!qlggr"p`u!ueq0vkp`0`"iiwhaed0mkc`d/
@"gzu`o$xyd"lic!vsg0tqa{*!dkgt/,*(qof$m~ugv|qhlim~u,[WO^][W
@"gzirved0qne|u!oea|!umd|!lk|0sww|>^][WO^][WO^][WO^][WO^][W
@"`mqe"fgtx"iii!rvgddap(inwv(|hta(rnf}&0!@q|0nlhq0`l$addo$kqo"tzugg|0`l$addo*
@"oid`le(}hel|0rnmku!c$so$a~!vsg>^][WO^][WO^][WO^][WO^][W
@"iiwha$~lkp(`tot(snwhl0cg$}cddqd0gmv(wnwveqofw&O^][WO^][W
@"jq}qj$c~nuw(xnu$|!wjdbi$kx`kj{>^][WO^][WO^][WO^][WO^][W
@"tgdhmj(g"fdyofjmcr"hmdr"}ge!qam0hlrach`hm0ujmfwr,[WO^][W
@"tzydqp(s`l$ouu"p`u!eklc!vk(|hqpm~!ge{ym{*WO^][WO^][WO^][W
@"tzydqpmcr"eft!c$~ysemf0xmq(}hel|0cg((rtv$|x`v$}~hakz~!ukf7u"gibd,
@"va~f"kn0bmjn|hap(yr"e(r`f$|xhlc(yg"p`usg$ac!c$fesqa(yo"p`u!pkg}/
@"w`sv${gnp`(yr"jgd!cw(wnm`(qr"e(|nlc(cvmvl>^][WO^][WO^][W
@"w}sbwf}c!umd|!ek(v`pp`us"p`qo"e(~xot`>^][WO^][WO^][WO^][W
@"si~e"gi~!g|gbbk~m0`"ticu"ap`mmvmb&q$oxnqp&O^][WO^][WO^][W
@aml0cnkjc!qlgemf$ju!cp|qbial0ccvm=icjlue,[WO^][WO^][WO^][W
@dbiysq$yuj$filrl{0`pa(gvaf0wgvq0dztm~rkrm>^][WO^][WO^][W
@dviye"kn0o{ixxr=$(Gdcv(q!pmfw!mb(qemvf}dlp&O^][WO^][WO^][W
@dviye"kn0xmqz0wch}qcna{0cgmfw!qpg|dl;(0Bcvzi!okzu!hqf{ ][W
@nsiir"fm0`uezu!mb(dig$xx`qa(g"p`u!okg~ ][WO^][WO^][WO^][W
@nsiir"wudr$|xd"bdnp$jugmvm0dlczqwkjo0hotgbucj|0lgw{qfgw&
@oqduuq$gv![aftnp$ibd"libe"pg0lcom>!"A~uo"bgb!c$qof$gv!um{xhlc&
@l$m|wgj(smmec0hq$}cddqd0`eea~rv$eqfkg&O^][WO^][WO^][WO^][W
@l$}}cgv(xtno(s`l$ju!c$kodq{yoe${yfjp&O^][WO^][WO^][WO^][W
@q$Kbno$ac!o}(ghvjmcr.$A7mn$fuwgv(wn"l}~fp}(qfcmf1^][WO^][W
@qoa~f"ejtv$eoqpmbr"iii!`a(fdp}(ergb}|/][WO^][WO^][WO^][W
@vpisj"hg~f"sgblq$nbno$|xd"vmqs")%0uje|0hq${!oqkx!qenus#[W
@vpisjkjo0`l$mum"s`usg$|xdpa(yr"jg~d"m{0tqqi|m{$i0gcpi|!om{d`ia)
Ccjlqfkjo0vmqftr"lm|qq$cudr$}`!ctxu`pefsdq*WO^][WO^][WO^][W
Ccw`yoe$eoqpmbr"sadi"e(rnu$ac!lk|0rwg`0`"cge"mlu`,[WO^][W
Cg$kqsgb}| "$\xd"Saj`p`(}`{$x|`l$i~!cijerj%WO^][WO^][WO^][W
Cg$fybg$|!c$fesqa20!Rq|0`ueq0xmqz0vgexo"eft!vecu!mbn0xmqz0bnk|xdq*
Cnef{!qgzmnw(}`ia(}npa(yovazurvmfw!paithlc&O^][WO^][WO^][W
Cnmft>"$Kqual(q!dhgqukjo0d{a)O^][WO^][WO^][WO^][WO^][WO^][W
Cmkccdnhmbr"jmfdp$zu`f${ssmhdc:"p`ux"iawiv$ouu"gibskal0`ueq>
Bjaeyrvvq002520Ogrmb!rk}b!ue|us"mfdn"ekye,[WO^][WO^][WO^][W
Bmjkyrg$kosqmcu8$(Snlpzm.$kodq{u-"gg~kwvm<!akftdoj&O^][W
Bmj{usta(uogvoi-"p}bo"knv!vlm0mkc`dr,[WO^][WO^][WO^][WO^][W
Ekcoyoe$}`!c$ob`ta(snwhl0cg$i0cc`(yege&>/][WO^][WO^][WO^][W
Ekhadikqe0bp}{d`nw(qsg$zqsg$a~egal>^][WO^][WO^][WO^][WO^][W
Emc{0`pa(quvvisug`(rx"p`u!qim|m"kn0upmxu/][WO^][WO^][WO^][W
Emc{0`pa(ctrazcukpatq?(dig}(~dtaz0rvax0nl$kesqal0hvaec/][W
Emc{0nd$oxnqp{0`paf7u"efws{((ztqp(xtlczi/][WO^][WO^][WO^][W
Emj/d!dkzwdv%(0Mcvou!fkoc!cvm0LWG@0icvlus"pg0jkhd0ujef0mkp||d"`gwr,
Emj/d!ne{x!mq|0`v$xunrhm0vjmdu!`ha~eg`&O^][WO^][WO^][WO^][W
Emj/d!oa{c!um|x!qlg`jgaxusq((s"}ge&nh(wdv$|xd"C}ymf$ivugv(inw*
Epeooq$fuwgv(gikt(digmz0bjmdtsgj30ujaq0vmqdto%p(vdgh(yu#[W
Euezfdq$}cd"p`uhp$k|nco{0um$cudr$|xdkv(tskjcc!akg|/][WO^][W
Dcp(inwv(s`pvgdr,$(Dig}/bd"cge"bgb!{k}b!g}mc/][WO^][WO^][W
Dcpa~f"e(vsgaryoe${`igvm0hq$dyjg$mqukjo0`"}mdh,[WO^][WO^][W
Dcpa~f"e({hnhmb!`am0hq$dyjg$mqukjo0`"wksrmg~/][WO^][WO^][W
Dcpa~f"e(ddlc}0hq$dyjg$mqukjo0`"jq}qj*WO^][WO^][WO^][WO^][W
Dcpa~f"e(gscm|x!kw(q!paqsfmfw!g|xuskafsd#[WO^][WO^][WO^][W
Dcpa~f"qf``k`(|drvmsicqfc!oeq0cg$itwcj|qfgk}c/][WO^][WO^][W
Dnfmbdvl(x`q$yehva(q!paxeucpao"eztl`(digwm0qcv|c/][WO^][W
Dnb(snpt{ur"ezu!kjklre|ycna(ghvl(dig${qofii~-"eft!cp(dhoa{0uja(wnfw(qr"sm|m,
Dnrm~!ahgqjq$kqolk|0sww|>^][WO^][WO^][WO^][WO^][WO^][WO^][W
Dnrmc!aef0ighx0xmq(vdgh(|dqw(dhpal>^][WO^][WO^][WO^][WO^][W
Dtaf0dtmd0qnequsq$`qwg$i0fwezthcj(qoead>^][WO^][WO^][WO^][W
Dtaf0uja(}nqp(`nuazvtn$`usma{0rmimdhoa{0ogal0um$ye`db(qvc}(digmz0hln}bhgw&
Dtaz0gmqoxu"sadi"ef0dlg`qoval0umk|x>][WO^][WO^][WO^][WO^][W
Dtaz0upmmt!paithlc(gikhm0bmjnerg`7O^][WO^][WO^][WO^][WO^][W
Dtaz0upmmt!vk(|nao(q!vvg|m"mfchfa(q!nezwd"fgh>][WO^][WO^][W
Dtaz0vmjlusg`(gi{$g~d"sgemf$qov$|!fmx0rmimdikjo0hl$i0qmpao=
Dztm~rkrm0bcimb`q$`qwg$xuogpzqukjo0gne{x!nmoxuq*WO^][WO^][W
Dzpzq!qpiysae{ur"hmqe"pg0dzpzq!na~umq*WO^][WO^][WO^][WO^][W
Gkazi!na|ddpw(}hel|0egpmb!okfcugv{>^][WO^][WO^][WO^][WO^][W
Gmv(q!ekgt!vmeu!gjob`ta(pDnfmbdvl/>^][WO^][WO^][WO^][WO^][W
Fgi{0`pa(dnm$xbdamger"pg0cg$|xsmsf0`ueq0bcvm|dqwdi/][WO^][W
Fgp|yoe$`eoevq/!"W|q"smqskjo0skjoc ][WO^][WO^][WO^][WO^][W
Fgp|yoe$|n"sibl=$(D`ia(gd$|x`v$I}tna|0nd$Quofkz0`l`(cuc}(qvc}(vsmi(dig$mhhv%
Fm`{0dztmsu"p`u!`a{d!dvg}!vlmys"tzydqp`nf*WO^][WO^][WO^][W
Fm`{0mmkc0emsf0ujaab!lk{ur"e|0egiawnfw&O^][WO^][WO^][WO^][W
Fm`{0mmrm0bcp{0`l`(tnew&O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fmp(q!sqmcukkf/!"Pzi!pak>fcimc/pkoednmcu/la|x`ao&O^][WO^][W
Fpe~u!pkjrdpw(cnoa|ylgw(wdv$zybj*WO^][WO^][WO^][WO^][WO^][W
Fw}(]nlpiw!iam`r"lac!qgzmnw(yo"e(r`e*WO^][WO^][WO^][WO^][W
Icjl|d"}ges"bdqriw(s`panemn}(=,"p`usg$eyfjp(rd"e(wimw|0hlwatd#
Ige~i,fq|i!`kgdr"gi~!rvgddap(}npa(dicj(ztqp(inwv(vdgp&O^][W
Imhq0vcpmb!je{0lcjq0tqa{>^][WO^][WO^][WO^][WO^][WO^][WO^][W
Imv{ur"pzerv$|xdkv(bhfazc-"a~uo"s`uo"jgd!qk(tdqazfdf*WO^][W
Iwjous"m{0`"gg~gwwa~f"ap`dpmm~bg$ns"e(tne%WO^][WO^][WO^][W
H"kfsd"ofuv"e(x`aomb!ulg0`va(dnm$nqrv$i~e"g`jg`(dn"`mquj*W
H"weumn$i0lc~m0nd$|ghqpq0mkp||d"ticrccmc/][WO^][WO^][WO^][W
H"saci"M(~dtaz0vkw`ue"e(g`l`(g"sacikjo>!",_yrjb}|!vla~jkjo>(
H"sgemfj/d!c`~yrg$x|`{mfw!ae|si"sadi"e(whcj|>^][WO^][WO^][W
H%i(g`vg`yoe$qt,$(=,"P`u!Umrqsf$gv![aftnp[WO^][WO^][WO^][W
Haa(rnza{0jgax0xmqz0gmkl0gpa{x/][WO^][WO^][WO^][WO^][WO^][W
Hd$qt"ezu!`aa~f"t}~hqlmt-"m|7r"`g~d"sadi"e(tdc`di!uai`nl*W
Hd$qt"oa|m"p`u!Umrqsf((inw$ouu"tzlmpmt!vk(tdom%wnf*WO^][W
Hd$qt"jmue"e(g`l`(g"`awfkjo<!imftm{$icj"p`u!omfucqz>^][W
Hd$qt"si~u"pg0ikp$0tqa(q!feowdp*WO^][WO^][WO^][WO^][WO^][W
Hd$qt"si~u"pg0smf(q!qlg`-"pzqhl$qtp$lf,[WO^][WO^][WO^][W
Hd$qt%vm0mmw|<!vvq0cw}a~f"e(}`r$fuyv$|ylg$qt%vm0hl$i0rjkx>
Hd$qtp$`qofw(qsg$obdcwq<!ulq0omp(g`ql(digi7O^][WO^][WO^][W
Hd$qtp$addow(wdv$lurvvgidf((inw$usgj/d!uaibhlc(dig$zyfjp(bhlc&
Hlwatd"e(cimt(inw$juuvaz0ucom0`"hgj"e|0uja(`skgm0ucc{0cgbgbd"f}ihlc(qo{p`yoe*
Hv$ac!`el0lcjfusq$|!wwm0`"si~e"mf0`"w`q,[WO^][WO^][WO^][W
Hv$ac!fefwdpk}c!vk(fhqm|0`"czqwg}ibe"e|0lk`fyfjp&O^][WO^][W
Hv$ac!lk|0`nsiir"e(wnm`(yege(dn"s`yrvhm0gmv(inwv(tne*WO^][W
Hv$ac!pqesg`(dicp(dig$_y{cvl0icw(xhpal0rmim0ighx>^][WO^][W
Hv$ac!vlm0mgp|us"#k7!cjl0omp(7d%$|x`v$kx`lcmc!qpidtq$|!qpidtg*
Hv$eyfjp(rd"e(wnm`(yege(dn"knvdp$|xd"qfybmvf0`"v}rx,[WO^][W
Hv$tn`(rd"tmstnmibm{${qe"smbd"}ges"`gw!vqz~df$|!qpg~d,[W
Hv#{0`"#l7!ge|c!%`/0vmvdt/][WO^][WO^][WO^][WO^][WO^][WO^][W
Kww|0cggierg$ad!qeqc!PAIT!OA(tngwf7u"imqo"}ge!qlgemf*WO^][W
Jgax0xmqz0`pigbr"eqx"bzl"v}cu,[WO^][WO^][WO^][WO^][WO^][W
Jgax0xmqz0vgexop}(qvc}(vsmi(qbk`{>^][WO^][WO^][WO^][WO^][W
Jkhd0`"qfybmvf0nd$qtp$kmmv(qof$qt"oa|m"}ges"h}sj,[WO^][W
Mge|xdp$ac!ue|usrvgg,$(Uwgv(cdg$i0bms(ghvl(qo"qersghdq>][W
Mgtzubje}~r"ezu!vlm0lmw|0rimd|df$keurqzcdq$a~!vlac!fqfwdmj&
Mk~ibe"ggbqqa{0qpk|ubv$iw`kj{d!akk{`vvasdq*WO^][WO^][WO^][W
Lmjmi!nk{d-"haduna(|nqp30imjgb!nk{d-"i}si"hgcu9$x|tao(|nqp$0`nh(|nqp&
Lmw|0lmj{ddpw(s`l#|0rume>^][WO^][WO^][WO^][WO^][WO^][WO^][W
Lwwas!je|x!aliblq$|!cbnubv$|xd"w|ec`kz~!fvigcpmlwd,[WO^][W
Lwwas!je|x!aliblq$|!qkgdig$|xd"wif`ea(rdcw|>^][WO^][WO^][W
Ogrmb!cp|qbi$i0fwezt/][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ogrmb!pmlu!c$doe$so*WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ogrmb!wwm0xmqz0cgw|0vgexo"pg0dlczqwg$i0bwv{u/][WO^][WO^][W
Om$mqr{$nyfjpa~f"sadi"e(xdcrq0mmel1^][WO^][WO^][WO^][WO^][W
Omp(qmn$jnvw(gdpa(}`fa(vnp$qmimfw/][WO^][WO^][WO^][WO^][W
Owv{ur"ezu!vviyog`(dn"pgebj$fqjg`(`dpwg~r8$(dig}(tnl#|0icve0ujae>
O{ixxr"gi~!wjdyoi$esg$|x`l$qtp$kx`kj(}`kh&O^][WO^][WO^][W
Nlgm0xmqz0mkp||d"`gw!umd|!`a(q!`mo0emc$0`l`(inw$ymn$ju!rvgee"kn0hv*
Nlhq0ggii|d"ig~rvazc!aef0mc}(ufew&O^][WO^][WO^][WO^][WO^][W
Nlhq0uja(}nqp(snlb}cdf$itwgj|esgv{0vmqdt!pait!aqzcdf$lurvvgi!cves"wkbnnh{>
Nrafyoe$i0ukj(yr"`avgkg}|u.$mcqggaqmn}(gigj(inw$idugixd!kp(r`pa(x`l`mt 
Npg{0`l`({hnhmb!`amc!qlibd"p`uhp$dyggw|img*WO^][WO^][WO^][W
Npg{0em$fu"tzbpaidd"mf0ecvc0smkec/][WO^][WO^][WO^][WO^][W
Qnea~!l}e`iq$ibd"liblna{c/][WO^][WO^][WO^][WO^][WO^][WO^][W
Qneqyoe$IT'F$eqx"fm0ighxvtn*WO^][WO^][WO^][WO^][WO^][WO^][W
Qneqyoe$Oqtlpduu"iawiv$ju!gjdyfjpm~hlc(yo"wg}d"wadtcpaoq*W
Qneqyoe$jymnmibeq$xqxq$xdl$qt"ezu!kj(q!qlg`/][WO^][WO^][W
Qmhq}npt`yoe$i0rjkx{dgtmb!omoxu"ii{d"}ge!qenus,[WO^][WO^][W
Qmhq}npt`yoe$qtp$lf"tzccfdi!oecur"}ge!qenus,[WO^][WO^][W
Qmpaoq$lo%p(erwed|x"iah-"f}d!qkeuukimc/,*WO^][WO^][WO^][W
Qqw|1!"M|7r"`g~d"sadi"iabsmv{1^][WO^][WO^][WO^][WO^][WO^][W
Qwp(o"e(bhlc(g"pm|drkzd`vmg~;"$ad!umd|!vecu!{k}0`ueq0gpke0nlwdqtel|>
Sc}{0`paf7u"fglgvi~fq((g"ggesqa$0cwp(cukhd>/,[WO^][WO^][W
Sgel0uja(}`lqi|!`ansg$m~ugva~f"p`u!ae~u!/)(inw$eyfjp(wdv$cymnal0nvlmbvkwm>
Sgelyoe$@us`azd!omoxu"fm0dlhawivafyoe$a~!mjm0bcwm>^][WO^][W
Sgelyoe$\mimm~!omoxu"lm|q"}ge/][WO^][WO^][WO^][WO^][WO^][W
Sgelyoe${ssmhdc!cb|us"`zyoimfw!`kgjd"gi~!em~u!akfvtqmfw!pa{emvw&
Sk`a~f"e(tsccg~!aef0cg$i~!wtdygvmfw!g|xuskafsd,[WO^][WO^][W
Sww|0lmj{ddpw(|nta(g`vaz>!"P`usg$ibd"tgdhmj{0ujaq0icpm<!jkuwgv&
Rcgcc!rvgddap(snlpm~uq$nbno$|ulrazquwvmc!wt(dn"0="!faobdgw(v`jvm~igm|>
Ravg|mq$nqekjo/!"M|7r"jgd!vlm0ige|<!kp/c!vlm0iwiathv}&O^][W
Rjkx{dgtmbr"eksdrp(ssg`ad!aeztr.$ic!nkfw!cw(inw$xqx"gici,[W
Rjkx{dgtmbr"gi~!qtgd!c$|tpm{d!c$eymg$ig`{$yuj$|xnqa(X`ueay`l${xhpp{>
Rjkx{dgtmbr"gi~&v$|umn$atdlpas`n$|ghlw(qqcv|>^][WO^][WO^][W
Rjkx{dgtmbr"`g~&v$zu`f((cn"s`qu"q{u!kw(uoevifhlc(yo"e(cimt7
Rjkx{dgtmbr"lifd"mfssg`armg$xqukafsd,[WO^][WO^][WO^][WO^][W
Rjkx{dgtmbr"iawiv$zqhqa(digmz0qpmkur"bgb!vk}bhqp{>^][WO^][W
Rjkx{dgtmbr"ri|tg$eog}(}npa(dicj(bdtafwd,[WO^][WO^][WO^][W
Rmim0lmj{ddpw(s`l$ju!veeue,$(Y!mjku!qe0`"lisjgv(ghvl(q!veeu!fviwnl%
Rmim0sgiiyo"bduykfdu-"s`ymg$gdigv{0bcj/d!qam}!vk(sicjou!vlmys"p}~d,
Rmimog$g~bg${qhf$|x`v$x`v$odq$}`!>$eyfjp(snoa(tnuj(./][W
Rmimog#{0cgaf0rrmcyoe$|xd"tadr#[WO^][WO^][WO^][WO^][WO^][W
Rmimdhoa{0lmj{ddpw(qsg$esg$dyjghq0um$nyfjp(u`al(ujaz0ujef0`vpisj"}ge/
Rrmfqbj((s`pvgd-"eft!had|x")%0`"imqm"bad!dkz0`"j}brg%WO^][W
Rwv~ywkjo0uja(vtnh(uyvafd!mb(dig$eyogw(snwhl0lgef0uje|0xmqz0mwgc0hq$kx`lca~f,
Ucmfddf$eu`v$ac!grm~!okzu!qmk{dlmfw!vli~!rkacnl%WO^][WO^][W
Ucom0xmqz0igedyoe$xukkfc!vk(dig$fuyv$duwgh)O^][WO^][WO^][W
Ughm``vlq0hq$berv$i0upmk{;"$g~bg$qt"ofv"lgg!vk(tn"m|<!kp/c!ge{i/
Uja(\drvmsicqf0Fmhl0Upq,d!kw(~n"`afhqmg~!mb(dig$Eqfkg(]dokzi!Te}|u,
Uja(Ghxezt!dmftr"`mquj$|!`a(atkpm0`l$mhqgvauoaa&O^][WO^][W
Uja(rdqp(upwmx}dlp(vnp$qtp$si$ac-"kn0bmqzcd.$|xd"igcu"ap`dlwafd,
Uja(wnfw(tnl#|0`rtzubke|u!ra{{x"tzydqp`nf*WO^][WO^][WO^][W
Uja(wnfw(ghnh(wdv$i~fp}(yg"}ge!imd|!{k}b!fko>^][WO^][WO^][W
Uja(|dqw(}`emk0hl$qtp$iblmv$0uja(}npa(inw$kqo"elt/][WO^][W
Uja(}`emk0lcvcus"m{0lkc`dhgv(dicj(dig${gnp`&O^][WO^][WO^][W
Uja(}nmj(yr"jgd!vlm0nlhq0ige~uon}(rnf}(dn"mfvmwafsd"p`yr"ci}d,
Uja(sa${ghlc{0ikw(sam{x!`vgqeqsgbe"ji}df$M|gpm{d!cp(inw*(0Xmq(thg*&>
Uja(cdavmd!mb(g`l`{0nd$Fujmfw!Jex`dlw20!vvq0`eea~ ][WO^][W
Ujazu!je{0`nsiir"fmuo"wg}dvla~f"iqcukgi|!cfgeu"iabsmv{>^][W
Ujazu!kw(q!Oe{ddpia~e"`muq"mf0uja(ttlcmo,[WO^][WO^][WO^][W
Ujazu!kw(q!`mo0upaictpa(xhf`m~!kj(dig$rn#[WO^][WO^][WO^][W
Ujazu!kw(}npa(}`emk0hl$|xhq$kqwg$|x`l$eudvw(dig$mid,[WO^][W
Ujazu!kw(~n"libl"mf0qpeachlc(q!nezwd"`gw/][WO^][WO^][WO^][W
Ujazu!kw(~nvla~f"ha{d"aidhlc(q!omeyb,[WO^][WO^][WO^][WO^][W
Ujazu!mjku!ue{0`"Ofyfjp(~`oal0Mcjkummp(gim$dyjg`(dn"vatd"sadi"lac!nefsd"e(|nv*
Ujaq0rc}(q!eadqukjger"g}rd"gi~!rezqm{~m0xmq&>/][WO^][WO^][W
Ujaq0rc}(dicp(Ztkfduy"m{0rmimgicp(qgpeat!mb(q!ueft!mb(theca~f,
Ujaq0rc}(dicp(]dfq{q!uk}|e"ha{d"pg0qwp(inw$g~!c$xuegw|qm,[W
Ujaq0rc}(dicp(Fmc`(|hta{1 #$&>/"jmqs"p`u!oerur,[WO^][WO^][W
Ujaq0rc}(dicp(7Dnfmbdvl/0hq$gvugj(gskp|uo"ejtv*WO^][WO^][W
Ujaq0rc}(dicp(q!`eo0nd$`mfmfw!aef7u"lg|e"a~us{p`yoe*WO^][W
Ujaq0rc}(dicp(q!`hmcrg`(dhl$gv!sqichv$eu`v$ac!c$yehao(}dch&
Ujaq0rc}(dicp(q!ae|0`tkatr"pzqqq*WO^][WO^][WO^][WO^][WO^][W
Ujaq0rc}(dicp(q!ae~u!qtatdp$ymn$gsbcwaochdi!ge|0bcrm0rrmlus"aowr,
Ujaq0rc}(dicp(q!ahmfdp$y{cvl0bcj(x`ta(cucp{*!"50?+($:$!3<("5"6<036*
Ujaq0rc}(dicp(q!ahgfd"kn0fcvdyb"ii{dq$i0fmkl0uchaclcj(yg"li~enal0skc`d/
Ujaq0rc}(dicp(q!aqzcdf${ssmhd0nd$|umgtgbucpao"ggemf$dqof$qt"mf0upk}rmg*
Ujaq0rc}(dicp(q!fmi}nl`(yr"efujaz0jkjl0nd$debi${dnla&O^][W
Ujaq0rc}(dicp(q!fko0bcj(rd"pzqhlal0um$nuual(chakdr,[WO^][W
Ujaq0rc}(dicp(q!eadqukjger"g}rd"ii{dq$i0igeddi{$jbdconqrv*W
Ujaq0rc}(dicp(q!emi~u"cmdr"w|bnlc(rx"aidhlc(bhel|<!vvq0hv%W
Ujaq0rc}(dicp(q!evat!`qo0vmj/d!jm|0xmq(gigj(inw$kbnqw(yu,[W
Ujaq0rc}(dicp(q!naer`q$qggv(yr"e(fdp}(|hel|0rlek{/][WO^][W
Ujaq0rc}(dicp(q!nkitrvkfu!je{0`"w|b`lcm0`vpzqbvmg~!cjl0hq$fu"fit!nqk{/
Ujaq0rc}(dicp(q!nkk{!rmk{!`}(qo{$gdigv(~`oa(yr"w|ymn$i0mmgc0qkgc>
Ujaq0rc}(dicp(q!nqk{x"eeemgp(ghnh(rmmgc0qmm{og`(qspkc/][W
Ujaq0rc}(dicp(q!omzbnp$ymn$nbdg~m0`"bd`vmfw!g}m0cwp(inw$kqo"w|ymn${ud"m|>
Ujaq0rc}(dicp(q!la}dsch(sicvisugv(}hel|0fgp(Whcj|cmc}mb/][W
Ujaq0rc}(dicp(q!rkdilmvxx!vvi`!kw(}`emk0`l`(}`emk0qpk|ubvmg~!rvmfdlp{0hv*
Ujaq0rc}(dicp(q!rk|ynl$gv!jai|hlc(s`l$kqoaad0`"tgdhmj(g"wasjla{c/
Ujaq0rc}(dicp(q!rk|ynl$gv!okfcugv(tdvakdhmj(cnoa|ylgw(gnpo{0cmp`0vc}{>
Ujaq0rc}(dicp(q!qmf{!nkg{r"`avggvm~u"bzl"lawi"ejwg$|xd"bdnp*
Ujaq0rc}(dicp(q!qqe}nlal0egig~!ak}|e"me`smrm0xmqz0fcim>^][W
Ujaq0rc}(dicp(q!vmf0nd$b`kp`0lge|0hq$i0scvm0ekja~f"ap`dpmm~bg*
Ujaq0rc}(dicp(q!wjasnpj(}hel|0cpmfw!{k}0mwgc>^][WO^][WO^][W
Ujaq0rc}(dicp(q!ueft!mb(s`lgm|mcpao"m{0mkom0`"si~e"kn0qmhq}npt`>
Ujaq0rc}(dicp(q!ueft!mb(|naoa~f"gi~!ahgcd"igbd"p`qo"n}cu"`gsq*
Ujaq0rc}(dicp(q!ueft!mb(`nn}esrl(s`l$kx`lcm0xmqz0fcim>^][W
Ujaq0rc}(dicp(q!um{u!algybg$gv!fkfqukkfc!na|c!{k}0bjkgcd"}ges"fdurqmfwr,
Ujaq0rc}(dicp(q!umrqsf$ac!grm~!okzu!rkusdqd0uja(cdakft!vmeu!cvgeof*
Ujaq0rc}(dicp(q!zkz~!ijggr"kn0om$grrvek|dq$xdl$xesqqa~f"}ge/
Ujaq0rc}(dicp(qcwwa~f"e(ssg`ad!aezt!ak}|e"w`bi$qt"wgogv(s"hiddp*
Ujaq0rc}(dicp(qlwhmdr.$dyjg$erv$|xhlc{<!aef0cg$lu`fhq0np$dygg${qwkjo>
Ujaq0rc}(dicp(qo"edd`p$kqo"mluovmni!`hmcrkjoc/][WO^][WO^][W
Ujaq0rc}(dicp(qo"kgjd"sa|m"fadd"}ges"fguq$i~e"e(bnao(}nna(}hel|0dcp(digi&
Ujaq0rc}(dicp(qo"qf|taoq0icgcus"sic!mjku!imd|df$ji!cj(uyrhgthlc(dhl*
Ujaq0rc}(dicp(qovmyed"`mqmgv{0`pa(qmueqc!kj|usgw|ue"mf0qpakynww(cumjmc/
Ujaq0rc}(dicp(r`l`iwhlc(og#{0vmqftr"lm|qq$|!iam`!wt(og#{0`rtmqscjku/
Ujaq0rc}(dicp(rnm~m0bcj(rd"`a|tval0cwp(~nv$kqoaad|df*WO^][W
Ujaq0rc}(dicp(rx"hacugja~f"gibddqd|x.$qt"gi~!jaib!c${ubpa|0emkz1
Ujaq0rc}(dicp(s`pvgdr"eft!aezbnv$behaa(}`{$a}qpk~u!{k}b!tm{ynl*
Ujaq0rc}(dicp(s`ta(cqk`mbr"ezu!lk|0bmj{yegvmt!g|xuoqm~u!jai|uj$nnf*
Ujaq0rc}(dicp(tdomoeq$eerv$du`ta(rdjmft!vlmys"tzy{g`(u`pp`|x"tgcrgw{ynlw&
Ujaq0rc}(dicp(thqp}bckjo0`"`byolm(s`l$ju!c$krvhq0lkw|qjg*W
Ujaq0rc}(dicp(tsccg~!qgi|dq$kqo"fm0pwm|u!gjkx`lpa~f,[WO^][W
Ujaq0rc}(dicp(tsmtxyoe$khlw(yovk(q!dk}~ucmf0vkhd0omp(wscj|0xmq(q!um{x/
Ujaq0rc}(dicp(tvcv~ur"higgwhdi!omft!vlmys"k~!`q{yogw{>^][W
Ujaq0rc}(dicp(u`vmfw!c$jqu"ggbqqa(ghnh(}`ia(inw$jquv}$0gmv(q!ula|d,
Ujaq0rc}(dicp(u`vmfw!c$kb`o$zqukkf0hq$i0roezd!ok~u/][WO^][W
Ujaq0rc}(dicp(u`vmfw!`h}u!had|x"m{0bmkd0hd$qt"`g~&v$nyfjp(dig$nudnmfw/
Ujaq0rc}(dicp(umtaf0`pigb!aef0imhl0uja(}nqp(}`emk>^][WO^][W
Ujaq0rc}(dicp(uraexyoe$i0ewjounl$ac!mjdi!vlm0cgca~okjo0nd$|xd"aft/
Ujaq0rc}(dicp(vdgha~f"ef0tlap`dapmt!fvivu"kn0`kv(yr"wgbu"kn0`"fzu`ip`bnwc`>
Ujaq0rc}(dicp(vhl`a~f"e(stpwmt!evii!qpg~d"m{0`nsiir"fit!nqk{/
Ujaq0rc}(dicp(w`kja~f"e(|dtad0hq$i~!g|xuskafsd"p`qu"gi~!peacd"}ges"wawivw&
Ujaq0rc}(dicp(w`ppmb!qji{d"imqu"iii!lk|0ucw|u!ekgt!`q|0hv#{0rvmd|!jai|uj}&
Ujaq0rc}(dicp(w`wj||dvw(g"`mhugvadx"lifd"e(xhf`m~!gjkx`lpmt!vk}si,
Ujaq0rc}(dicp(wnkjo0um$`u`taf0hq$berv$i~nvlmb!ueq0nd$mcbcta~f"p`u!fqfwdmj&
Ujaq0rc}(dicp(wnn`m~!leoqr"ezu!ne=``mlyoe$luok~m~r"e{0mmjo0`q$qt"ezu!vkg>
Ujaq0rc}(dicp(wsgidyoq$kqo"ii{d"}ge!dam|!akg|dp$|x`l$qt"ezu!lk>
Ujaq0rc}(dicp(wsk`(rtew(on}(uykw|0hl$i0rvvasun}(S`ppmchcj(cdlwm>
Ujaq0rc}(dicp(x`aombr"knddl$nudn$belr}(qcmq|0dcpa~f"jq}qjw&
Ujaq0rc}(dicp(x`tmfw!rkdilmvxx!akfdsmh(gnl#|0rjkk{!{k}>^][W
Ujaq0rc}(dicp(xdcha~f"tgdhmj{0ndpm~!akeu!kj(``kv{>^][WO^][W
Ujaq0rc}(dicp(yg"m|7r"libe"cmdukjo0xmqz0gmkl0emsf0`lk|xdp$jyug$ktn`({hnh&
Ujaq0rc}(dicp(yg"}ge!fkf7u"smqs"cdqrqa{0vj}(rnvlmb!um|x!aezbnvw7
Ujaq0rc}(dicp(yg"}ge!lk|ybg$i0mmk{u!`kibe"fm~dcp`0xmq$0emj/d!qpm`!mj(yu,
Ujaq0rc}(dicp(yg"}ge!qpibu"e|0uja(rnvpg}!vlm0nlhq0qneku!vk(wn"m{0tr*
Ujaq0rc}(dicp(yg"}ge!vaduqmv|0um$`u`taf0xmq/bd"tzurwimt!vk(rd"`mqe"edbdc`q>
Ujaq0rc}(dicp(yo"e(cimt(inw$kqo"fm0bjezwdf$ns"kdt!alibfgw&
Ujaq0rc}(dicp(yo"hawivaz0lmim~uq$qt"ggemf$|xhlo(g"siir"pg0qcw{0`"w|og*
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(rsgecyoe$i0lkvzs"gi~!`a(cdtaf0xgezc!`el0mwgc>
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(inw$lo%p(erwed|x"lifd"efi!nqk{!cp(qmn*
Ujaq0rc}(dicp(yo"pa}d"e(rmgw{ue"h}sjqpg~d"gi~!oecu!{k}b!ekl0ictxi/
Ujaq0rc}(dicp(yu"m{0dcwaus"pg0jkhd0uja(Ghxezt!vli~!vk(}`ia(xho${d`l`(cukhd>
Ujaq0rc}(dicp(yu"kf|x"pi{dq$90{mvc}hf$|!oamd!vlm0Jmt{>^][W
Ujaq0rc}(dicp(yu%w(q!`hicu"s`uo"}ge!omp0uja(bhel|0qmpaoq$|fgp`us,
Ujaq0rc}(dicp(yu%w(~nv$j|hl`(|tao(yg"}ge!ae|si"e(wmkixcd"kn0Lg`}c`,
Ujaq0rc}(dicp({hnha~f"e(cimtcudraz0cpmfwr"fit!nqk{/][WO^][W
Ujaq0rc}(dicp(}nlw|usq$fuwgv(cugt(o"e(cbcvm0lmj{ddp${ssmhd>
Ujaq0rc}(dicp(}nqp(}nlw|usq$nyof$n|tva(bdam|qmq$mhupaeum{$jskjo>
Ujaq0rc}(dicp(}toiq0bmvxcdq$ibd"jgd!uad|!rvmcdprmt/][WO^][W
Ujaq0rc}(dicp(~`vqzqmn}(q!ueft!mb(ghqla~f"sgemf$ju!jaifhn}(wtcvlue,
Ujaq0rc}(dicp(~n"kfu!lk|ybgw(dig$beoi$}~egvfu`vl(q!`k}|egv&
Ujaq0rc}(dicp(~n`kli!g|xubvw(q!wjasnpj(xnpj(dn"v}cu,[WO^][W
Ujaq0rc}(dicp(~n`kli!ijggr"mn0`l$mhqnkzus"gi~!nm~u!dkzuwgv&0!Fk(inw;
Ujaq0rc}(dicp(~nvla~f"gi~!ali~fg$|xd"bisu"p`qu"wg}d"tgdhmj{0bmj|qhl$i0ehmf~h,
Ujaq0rc}(dicp(~nvla~f"gi~!ali~fg$|xd"bisu"p`qu"wg}d"tgdhmj{0bmj|qhl$i0fjk{d/
Ujaq0rc}(dicp(~xot`c!chqxq$nqmn$ns"vgsj%j/bnnh$0up}(yu#[W
Ujaq0rc}(dicp(oaa(qo"Kdf/Liy!kw(s`ljmt!kp(~dtaz0rjkc!kp{0gcgm0`eea~/
Ujaq0rc}(dicp(oaa(eqmj(q!vmeu!zefc!uk}|e"jmfdp${sscpkx!{k}b!`kgdr,
Ujaq0rc}(dicp(on}(qo"ap`dpmm~bg`(ghxezt!aef0em$|xd"pm~fw${xtdbdu/
Ujaq0rc}(dicp(on}(sick|ybq$kqo"oa|m"w`qiam`dpw(qof$ouu"eqx"sadi"m|>
Ujaq0rc}(dicp(on}(vdoedu!okfcugv{0bcj(|`{$mwfq*WO^][WO^][W
Ujaq0rc}(dicp(`mc}a~f"e(xnpj(bdchdi!`el0hq$zu`nhq0fmkl>^][W
Ujaq0rc}(dicp(`sc}mb!cp(qo"edd`p$kqo"wg}dvmeur"ii{d"p`u!ue|us"p`usg$`m{*
Ujaq0rc}(dicp(dig$zyfjp(g`l`(}`{$`umr$qt"g`qrg$i0o{ixx/][W
Ujaq0rc}(dicp(bt`fa~f"e(wmmsa~f"tgdhmj(tngw(~nv$eqjg$ad!c$eqfkg(|`ot&
Ujaq0rc}(dicp(cbchxumq$jubmim0ewhd0cggierg$|xd{#zu!lk|0`vli}dq*
Ujaq0rc}(dicp(cimtcudrazc!fkf7u"ha{d"tasj/epur,[WO^][WO^][W
Ujaq0rc}(dicp(cimtcudrazc!fkf7u"ia~e"}ge!`va~fkjo0xmqz0qgp{0hl$|xd"w`q,
Ujaq0rc}(dicp(cimtcudrazc!fkf7u"q{e`nhq0lkjl0hd$qt"wfu`i$a~um$i0rjkx>
Ujaq0rc}(dicp(cimtcudrazc!mb|uo"lifd"e(|`pcm0`ok}~u"kn0lmjmi!kj(digmz0qwv{ur,
Ujaq0rc}(dicp(cimtcudrazc!mb|uo"vm}dofmb!vla~fq$|x`v$qt"iawiv$nsea|>
Ujaq0rc}(dicp(chlo{0`l`(qsokz0emj/d!omp<!vecu!{k}b!ahgqj"knv!lk1
Ujaq0rc}(dicp(chlo{0swj(xnv$i~e"gg|e"eft!oefi!dhifnpw(yo"fmdvgaf>
Ujaq0rc}(dicp(chvpa~f"kf0`"ri}qkvm7r"p`bnla(yr"sgbuj$|xd"`i~fgv&
Ujaq0rc}(dicp(cocom0bjez}dpw(qsgj/d!alibhqiidha((ztqp(}tqmkqm,
Ujaq0rc}(dicp(cnn`ausq$ibd"edg`{w(`sgtibdf$i~e"q{e`nhq0qpk|ubval>
Ujaq0rc}(dicp(cnoa(ufew(snwhl0icpkx!kj(inwv(``ao$0mwgci!mv(~nv*
Ujaq0rc}(dicp(cnoa(vhpa(qovw(ghnh(}`ia(inw$i0imp(}dch&O^][W
Ujaq0rc}(dicp(cnoa(xnpj{0qneq0imp(}tqmk0`l`(ujazc!cvm0umk(snmh(vnp$sfw&
Ujaq0rc}(dicp(cnoa(xtoefhfw(qsg$fogp`umgw{0pwm|u!jqeqo,[W
Ujaq0rc}(dicp(cnoa(cimtcudrazc!akfchfaz0fgi{0um$ju!deeym{$`uhphglq*
Ujaq0rc}(dicp(cnoa(cimtcudrazc!pakflmru!eaec!`q|0ujaq0vmj/d!vad|!{k}>
Ujaq0rc}(dicp(cnoa(cumjmc!cvm0lwg`0lwg`0ige~ydp$|x`l$gdigv{>
Ujaq0rc}(dicp(cnoa(idvm{0`pa(vtnh(g"lgd!cmz>^][WO^][WO^][W
Ujaq0rc}(dicp(cnoa|xhlc(fdp}(cqggaqm"sgemf$ju!kj(q!uad|,rvgddapmt!rhisd,
Ujaq0rc}(dicp(cqgal0cmk|c!cvm~&v$nqrv$m~nwc`0um$duu"}ge!ued{!mj(g`vaz>
Ujaq0rc}(dicp(ddnaxsv$|b`rw(qsg$|xd"`mfhn#{0vmvc>^][WO^][W
Ujaq0rc}(dicp(ddlc}0emj/d!uaib!pmfwr.$xx"w`tn`(inw;WO^][W
Ujaq0rc}(dicp(ddlc}0ogrmb!qpmqm"cg|e"eddimqox!vlmi!uk}|e"fm0fmkl0`v$ad/
Ujaq0rc}(dicp(dicp(gikg`0vcw(cumhm~!mjku!aef0cg${dnnaf0`eea~-"e{{!cjq0o{ixx/
Ujaq0rc}(dicp(dig$jurv$qx"pg0gk|(inwv(yohqzydq$ac!c$xukkf>
Ujaq0rc}(dicp(dig$Lumrlas!Mvismg$c~nuw(dicp(|hxezt!akz`rgw(qsgj/d!akfvtqmfw/
Ujaq0rc}(dicp(dig$@qof$gv!Ghjusgp`0bcj(xnn`(eq"}ges"tzqxgv{>
Ujaq0rc}(dicp(dig$Duqpakx`wj([hlc(yr"vasi"e{0Bpkmctq*WO^][W
Ujaq0rc}(dicp(dig$_y{cvl0nd$Quofkz0hq${sik~g`ipafyb"eft!qqashfed>
Ujaq0rc}(dicp(dig$mhqgvauoaal0bjezqbvaz0jlkc!jk0um$kotazd!cj(qmvez>
Ujaq0rc}(dicp(dig$oeq$ibd"li`q{$xdl$|xd{$lbnr$grkgg|c!cp(inwv(vdgp&
Ujaq0rc}(dicp(dig$atdc$gv!kj~yrkfdu!Lerwtn$`qr"e(sdppiyo"va~f"pg0hv*
Ujaq0rc}(dicp(dig$dqe{$gv!vlm0mcom0oms(|hta{0hl$i0gmqfd`kj(cnoaxdpa&
Ujaq0rc}(dicp(dig$dbch(cimtcudraz0gpk~r"qxo"p`u!pqlu!vk}bhqp&
Ujaq0rc}(dicp(dig$g~m{$lnp$|!vlm0wcixysg#{0umsmb!kw(o"m|c!nkurv$duwgh&
Ujaq0rc}(dicp(dig$g~m{$onf$lzhlja0hq$i0fpe|ugwh(tkkjfy/][W
Ujaq0rc}(dicp(dig$|xhlc(qcmq|0fgjgshfa(yr"p`qu"m|0vmvcc!`k|x!ueqc/
Ujaq0rc}(dicp(dig$}~hakz~!jkz~!pqdu!kw(yg"m|0`kj/d!`vg{d"p`uo"`g~&v$nyy"m|>
Ujaq0rc}(dicp(dig$~ydu$nbno$i0gmc(smmql0hq$zu`nhq0wgvq0lmra~f,
Ujaq0rc}(dicp(dig$qmnw(yo"w`qq$ibd"iitd"kn0dzpzq!jezt!oe|usked>
Ujaq0rc}(dicp(digvm0`pa(qu"hmqrv$9%!ueqc!vk(|nqa(q!reab!mb(|dtm|qukkf0cmk|c/
Ujaq0rc}(dicp(dipkyoe$o|`qw(wdow(yr"p`u!qeeu!cw(dipkyoe$zbiw&
Ujaq0rc}(dicp(dn"fdbi$i0rjkk{hlc(cqjazu-"}ge!lamt!vlm0skc`d!qlaumf*
Ujaq0rc}(dicp(dsgwxqrqmfw!c$jtn`mb!kw(`smfirm{$juoge|x!{k}>
Ujaq0rc}(dicp(dswa(`nuaz0bmimc!dvg}!um|xhl*&>dzgm`u"s`uo"m|0ema{~&v*
Ujaq0rc}(dicp(eokggboq$ibd"bg~e"kn0qpakynww(wdow&O^][WO^][W
Ujaq0rc}(dicp(gicp(wngw(tnuj(dig$lb`kj(}hel|0bmim0ccgc0tr*W
Ujaq0rc}(dicp(ghghlue.$i0mmjo0rukzt!leeue"Babd"Fzqof$eqjgw(inw$nudn$knnaz>
Ujaq0rc}(dicp(ghghlue.$i0mmjo0rukzt!leeue"Bzrv$Jb`l`(}`ia{0xmq(xnv${dtdb&
Ujaq0rc}(dicp(ghrmfw!kp{0gcgm0hq$a}qmw{ycna(vnp$i0gnkidhlc(uxg*
Ujaq0rc}(dicp(ghvl(q!dhgqukjo0d{a(inw$ktn`(cdg$a~!vlm0ecvc>
Ujaq0rc}(dicp(inw$ibd"h}sj{$av!{k}0bcj(wdv$i0tlmksl$|!ae|si"e(bt`}&
Ujaq0rc}(dicp(inw$ibd"s`qu"}ge!ge|>^][WO^][WO^][WO^][WO^][W
Ujaq0rc}(dicp(inw$kqo"ba~e"ji}df$u`rkfc!cp(qo"edd`p$av!{k}7sg$debi}&
Ujaq0rc}(dicp(inw$kqo"cafd"tgdhmj{0nd$mhupe(xdcha~f"jmg!gjmbf{*
Ujaq0rc}(dicp(inw$kqo"wivdn}(dnwg`0bmgcqupmku!gcoc!`q|0vj}(rnvlmb>
Ujaq0rc}(dicp(inw$kqo%p(rsgec0`l$i}tna|0nd$zugnakdhmj&O^][W
Ujaq0rc}(dicp(inw$lo%p(qmueqc!ea|0vje|0xmq(ghql(vnp*WO^][W
Ujaq0rc}(dicp(inw${xnwhl0`nsiir"fm0qpaxqsg`(vnp$i0gkji|!ali|mgjou/
Ujaq0rc}(dicp(inw${xnwhl0`qo(q!fsibg"pg0mgp(inw$a~um$i0mmgcue"w`q,
Ujaq0rc}(dicp(inw${xnwhl0qpeq0gmv(thtmfu!kj{`hpe|ynl*WO^][W
Ujaq0rc}(dicp(inw${xnwhl0sghawhmq{|x"cafd"}ges"cg|e"eqx,[W
Ujaq0rc}(dicp(inw$ymn$fuwgv(wdv$`u`np`i!`}(u`vmfw!eak{nq*W
Ujaq0rc}(dicp(j`rta~f"}gesqadv!um|x!c$qof$gv!wjlu`f$|eslmfw!kw(cuwtat/
Ujaq0rc}(dig$Neska{0`pa(}npa(vtpmger"mn0xmq/fd"fmuo"wa~okjo>
Ujaq0rc}(dig$_y{cvl7r"gicuna(yr"fgc{)|b`rtmt ][WO^][WO^][W
Ujaq0rc}(dig$oeq$ouu"efws{$av!{k}0jkhd0xmqz0emc&O^][WO^][W
Ujaq0rc}(dig$oeq$ouu"efws{$av!{k}0qpeq0umk(}tal&O^][WO^][W
Ujaq0rc}(digvm0hq$i0qmsmbgwh(}`emk0hvae0ik`luo"mf0`"gicuna(tdgt(tnuj)
Ujk{u!ulg0vkadt!c$kbie|bhaa(snpt{u!je~u!c$zbi}(bnc`(qigel0nd$|xdo*
Ujvgghlc(vnm`(qu"e(ghn`(tne$eyfjp(d`oa(xho*WO^][WO^][WO^][W
Um$i0gwhd0cghdi!chd0gmkl0hq$jqe,[WO^][WO^][WO^][WO^][WO^][W
Upkd|r"ezu!fa{sskfmt!cw(bt`fmbx8$(dig}({dgt(rnwjkyoe$jqbi*W
Up}(dig$nqmn)jqbi$m~e/v}~!rhii!cciyoqp(wimw|c/][WO^][WO^][W
Up}(erkjo0xmqz0lccas!oez{dp$g~!ua|0ravg|mq*WO^][WO^][WO^][W
Uuk(gsmjoc!fkf7u"ii{d"e(bhel|<!`q|0ujvmu!nandr"`g>^][WO^][W
Tlmksl$`slw(s`l$k|dcj{u!vla~fq$gdigv(dicj(inwv{umd*WO^][W
Wchciska{0bmim0gpke0uja(~npp`<!cjl0icrm0bmieuoqqzqug$irhnm|ydq*
Wcixysgw(x`va(w`phas/][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Wcqdd!eqibeq$fuwgv(thqp}bc"p`uhp$Dsfw&O^][WO^][WO^][WO^][W
Wgcmd`pmi~r"afzn{$dybjaf0`l`(cdcsmue,[WO^][WO^][WO^][WO^][W
Wkwadnpw(qsg$zupwa{ddf$fu"pg0`rtdi!eafbk`m0um${xnromuqgv{>
Vcj|0um$`u`n$nqrvaz/!"@a`!{k}b!rk|ynlw(g"lmqmkjo0hl$i0qmpao"kn0rramt 
Vcpkx!mq|<!vlm0Vk~ibe"iawiv$klg$jqbi*WO^][WO^][WO^][WO^][W
Vcpmb!vvi`r"lifd"jg0ddbmsu"kf0epeooq*WO^][WO^][WO^][WO^][W
Vje|0hq$i0bmgcqupmku!eka~f"pg0dcp(gigj(yu"cmdr"l}~fp}7O^][W
Vjk(~dg`{0`l$i`smj(yg"p`ux%vm0lc`m0nd$o|`qw7O^][WO^][WO^][W
Vj}(tn"}ge!qqx`nqa(dig}(s`nh(digi(]@EMK0lcvcusq;WO^][WO^][W
Vj}(tn"}ge!vla~j"p`ux"gi|m"p`ul"imbbgjibhgw7O^][WO^][WO^][W
Vj}(gnwhl0`l}je{$a~!jm{0rcjm0lkjl0dlczqwg$*Um`azuuj&7O^][W
Vkw`yoe$|n"i}si"iii!`va~f"}ge!vkg0mkp||d,[WO^][WO^][WO^][W
Xmq(s`l#|0cpmju!qkdthgv(qovw&O^][WO^][WO^][WO^][WO^][WO^][W
Xmq(s`l#|0mge~u!c${xnr$|xsmqox!vlm0ccgc0emkz*!"p`usg$aco%p(og%
Xmq(s`l#|0sgbdubv$mhqnk{ynlw&0!@q|0xmq(}hel|0sgwacu"p`ul,[W
Xmq(}`{$lyrak~us"e(vhla(cqkvad!kj{yeg$i0qmpao"fgduna&O^][W
Xmq(}`{$qov$|!fmx0hlpg0`"tgdhmj(g"fgdunal0cna{chlc{>^][W
Xmq(}hel|0cg$irmg$|!`vard"e(tdokf0mmvl>^][WO^][WO^][WO^][W
Xmq(}hel|0upmk{!c${xnromuqgv(yg"}ge&pa(yotm{ycna&O^][WO^][W
Xmq(cimqdt!aazd`kjdi!naibo"ejtv$ye`lp}}!oakx`lmkc/][WO^][W
Xmq(gnl#|0`nsiir"cmd!c${ubmjl0bjefsd.$mfdl$yuj$dygg${qwkjo>
Xmq/bd"cgyoe$a~um$|xd"igbfwa(qu"iatokc`d>=;WO^][WO^][WO^][W
Xmqz0emc({oms{0vje|0um$mqu9$eqx`a(inw${xnwhl0ucom0mgw{oq*W
Xmqz0fcim0lc}(wn"`ggo"p`u!fviyo"mn0xmq(x`ta(uyvvi0qmpaoq$gb!pmfwr,
[ct(inwv{umd$i~e"wmu!ulid!jex`dlw&>/][WO^][WO^][WO^][WO^][W
[ctxyoe$i0vcjl0nd$}~egel0uwvfyoe$eyfjp(rskjo0xmqz0emc(r`ao(dn"havd,
#Qk(gigj(Y!fmm<!vlm0gkv{d!vla~f"M(ghnh(cdg$a~!jaifdl$ac!c${snpa(|hqp72
0qp(\`u$gv!Jek{hlc20!naifhlc(yr"i}si"igbd"`avgkg}|u"p`qo"afddpmfw/
3l`(\`u$gv!Jek{hlc20!dmzcu"mf<!dmzcu"k}d/][WO^][WO^][WO^][W
2p`(\`u$gv!Jek{hlc20!vlm0mcw|0cnk0bmqfdr"igcu,[WO^][WO^][W
5vl(\`u$gv!Jek{hlc20!{k}0vkhd0gkjl0uja(uykp(qu"p`u!gj|b`lgm>
@"g`qlghmo"meyucpa~f"e(}`kh(t`gig~!mb|uo"`m|htazc!qgzmnw(g"babd,
@"ggsjcpzybg$ksrwm0hq$oe`pefddg`(dn"fm0tlpiyoval1^][WO^][W
@"`mqe"ggsjcpzybg$ac!hq{d!c$lu`f$dy{cvl>^][WO^][WO^][WO^][W
@"`zqfmj(yr"n}cu"e(cocom0uje|0`va(q!qgzmn$gv!dmzu/][WO^][W
@"bithlc(snpvatnp$m~mkc`ddlw(inwv(yoqmoxu,[WO^][WO^][WO^][W
@"cdvkjo0qmpao"m{0umk(xnv$|!fva~j,[WO^][WO^][WO^][WO^][W
@"cge"eeemgp(}`{$xbnvakd!{k}0`eea~rv$oe`p`{>^][WO^][WO^][W
@"haj`p`(snpt{u!kw(q!ekgt!vla~f"pg0uwvf0tl`mqe,[WO^][WO^][W
@"hg~f"sgbl"gi~!`a(tddmfue"vmstpwafdn}&0!Qk(xnu${xnwhl0xmq(quvek{!kp7
@"ig~rvvger"ia~e"m{0`"pgi!dkzuwgv&O^][WO^][WO^][WO^][WO^][W
@"jq}qj$ymn$ju!tazi!rhmqrg`(yg"}ge!aed|!jaz0c{$`us"vmqm"ji}d8$(\npaduh,
@"va~f"kn0ewjounl$eqrvaz0bmj|bnn$ac!c$obdcp(vhl`&O^][WO^][W
@"va~f"kn0dzpzq!pmfw!dmfwdp$ac!wwm|dqw(yg"jgd!gjkx`lpmt/][W
@"vg`d"iii!dkz}!c$|b`kh(yo"e(}`xa&O^][WO^][WO^][WO^][WO^][W
@"w|qgd$eqx"vmsicvou!kb(inw$lbnr$ad!dkz0`ula|d,[WO^][WO^][W
@"rachv$|!vlm0[mk(yr"rmbx"alebcpaoch30xmq(}dgp(yovazurvmfw!cja}`nw&
@"si~e"kn0egen0hq$i0lmvm0ecjousmq{0vgexo"p`qo"e(g`l`(g"w`udr*
@"si~e"kn0wkfzqukkf0lkc`d!`va~f"p`u!ulg|d"gifd"gzqrjmfw!cfgeu"}ges"aibr,
@"sa~ogv(~dtaz0pwm|c/"$I0pwm|ddp$fuwgv(ghlw&O^][WO^][WO^][W
Zakg{hgY(Q!um{x>"$G{`{((}`ia(}d"e(vnpp}~d"ggjka)O^][WO^][W
@dviye"kn0lkiasr=$(Ds{$|!uaib!c$zyoe$gv!vv}u!qamyoe*WO^][W
@nh(}nlw|usq$ibd"gzu`val0dtmd<!`q|0rmim0`pa(}npa(uwkh(dicj(ujazc/
@nsiir"e|d`ao(q!dhgqukjo0d{a(vsmi(rdjmft ][WO^][WO^][WO^][W
@l$m|wgj(smmec0hq$i|vc}{0uja(xdkc`d!mb(v`qlao,[WO^][WO^][W
@l}(clchd0n`nmsu"p`qu"m{0`agatdlpi|m{$lbnrtmt!umd|!jmlu!wjlus"e(|`pcmb!mfbubv*
@pg`unnkoyrvw(qsg$~us{${atkw`i-"knddl$ntl`(eofaz0cmqdtdpw&
@pg`unnkoyrvw(vhl`(}npa(rnla{0qkhmc/][WO^][WO^][WO^][WO^][W
@ww|yo"Tggdpw(c`{w20L{$Ekm$ac!`ek{ "$Qu`j((r``})O^][WO^][W
Cchzfq$l!lk|0`rtmqs"ejwg$duwgh("1,[WO^][WO^][WO^][WO^][W
Ccji~`"tmumq$si$mcqggaqmn}(gdnh(qfcmfcu"Omirvkfu!Ikxc/][W
Cg$kqsgb}|!ulm~!ge|yoe$jqocjic/"$Eoqpmbr"iawiv${|hr$g~!vlm0qgadc/
Cgp|us"hmqwg$|xd"`}~fgkf+!mp`usum{u!{k}0lkc`d!ea|0iwv|0cc`di/
Cgsibd"kn0uja(`nvmg~!mb(~hvvgwm{gmbhl$%=!kp/c!lk|0gmv(dig$u`i$gv!jaibu,
Cgsibd8$(digvm7r"edg`{w(q!ali~bg$|x`v$qtp$qof$mhqnklur"e{0xmq(ds{$|!xex0hv%
Cg}g~e"p`u!07zt!na~um"haur"e(x`rtq0sgpabdoafd!kj(q!pkg}!mb(inwv(vl*
Bjefwhlc(inwv(ctkp(ghvlgeu"`zqrmfw!{k}b!qsgbe=$(Inw$eerv$ju!imlthlc)
Bnk{u!vlm0emkz1!"]ge&pa(|dvpa~f"p`u!jaid!mq|1^][WO^][WO^][W
Bmgcqupmkur"iawiv$|esl$|xdowm|wgw(dn"w|og$nqbg`(ghvl(q!omzbnp*
Bmj{elrpao"kn0imim=lc`m0gmkl0hq${dskg||x"bgbck`luo"mf0ujm{0ewjounl*
Ecvc0smke/!"]ges"g`qoaa(dn"`mfdnkx0xmqz0qjk|fpexxr#[WO^][W
Ecvc0smkec!cvm0omp(:bmix|dvadi+"`ibj8$(ztqp(g`kp(qof$duu"}ges"aqur"elztqp&>/
Ecrat!Nkftnl${u{.$*Xd{$oexq((:VKADT+"e(|hxezt!akz`rg$iw`kj{d!c$kbie|bhaa)2
Ege|x!kw(ztqp(|hda/c!ueq0nd$|umnmfw!{k}0xmq/fd"fmuo"babdf*W
Egia=fm`{0emj/d!lamt!cjq0ighx0gpke0uja(wnfw&O^][WO^][WO^][W
Egig~r".@QUG.(@ska{dr"eft!Rvaurva{cdq*WO^][WO^][WO^][WO^][W
Ek`f7u"}ge!dkzwdv$|!req/^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ek`f7u"}ges"igdigv(ddnh(inw$fu"pg0dcp(vnm`(gd$|xd"bdnp;W
Ekvmsu"e(thpakd!jm|0nl$qtp$lysgg|0nrtg~dlp$0ekvmsukjo0hl$|xd"vawiv$lysgg|ynl*
Em$qt"si~u"pg0lcom0lmvm0lmjmi>"$[esg((gd"ed|!fk)0!Hka~!vlm0Gmv|0Mw`ar"c}qsf%
Ema{0xmqz0cmw{0jlk0vje|0xmq/bd"`gyoe$zyfjp(~nu;WO^][WO^][W
Emj/d!`k|xdp$yrjmfw!dkz0ujmfwr,$(Inw#d|!rvgr``hq0gkjl0nla(o"p`u!lapd!na~um,
Emj/d!ge|0umk(}tal20!{k}0lkc`d!qpibu"lasbmqoxhlc)O^][WO^][W
Emj/d!rhii!La|X`ao(qu"}ges"sgbj9$qtp$jrq$eyfjp(xhv$qt#[W
Emj/d!vad|!c${tn$qt"bgeof$i0rggzuu"`gs.$gdigvyrg$ad!kwf7u"e(cdavmd!cjq}npa&
Epmf{hlc(`nvmg~r"kn0cmkru!oeq0mcjl0xmq(yo"niym"mn0xmq(qsg$}~egv("0,
Epkx0xmqz0wcjadx"eft!ea|0sk`(g"}ges"nmgdnw)0!Rmk{qmgcuuq$irnwp)
Dcp(!1"gdwgw(g"cibmkg(qof$cudr$i|m"l}}`lw(qu"e(dvm){atcvm0ekw|qoaa&
Dgh{0ik`m0tl`mb!oql>!"Q{u!c$}~hakz~!vk(smgez0uja(g`vaz0`l`(}`ia(digi(fhqmj|d,
Dgh{0vkhd0ighx0xmq(dhg$qtp${xngw&O^][WO^][WO^][WO^][WO^][W
Dnb(x`q$mhupe(cqgal>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Dlczqwg$qtp$yrja{0vkp`0`"si~e"kn0vkw`yoe*WO^][WO^][WO^][W
Dtafdtchdi!{k}0vkhd0bmim0um$itlkvm0uja(cvkb|0dnaoqoaa(g"e(bdvvmqukjo0o{ixx/
Dtaz0igezt!jm{chlc(tvwatd=$(Y!(ofuv($qt"lito%p)O^][WO^][W
Dtaz0mkb|ue"e(tsccg~!akz`rg;WO^][WO^][WO^][WO^][WO^][WO^][W
Dtaz0rgaf0`"hmbpk|d`"`i~bkjo0uja(ddlc}/^][WO^][WO^][WO^][W
Dtaz0rgaf0xmqz0vgexo"cdv"tdqhf;WO^][WO^][WO^][WO^][WO^][W
Dtaz0ucimt!c${xnromuqgv7O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Dtaz0upmmt!fmowhlc(dipk}wi"e(F`wh|0Fwezt>][WO^][WO^][WO^][W
Dtaz0upmmt!gjkx`lpa~f"e(bnra7O^][WO^][WO^][WO^][WO^][WO^][W
Gnkidhlc(uxgw(s`l#|0rveft!Jeqhkef0rjmzdr,[WO^][WO^][WO^][W
Gmv(qo{$zulg`q0ujazu!kw(q!om{us{*WO^][WO^][WO^][WO^][WO^][W
Fkefd!`e|c!vqz~!kj|!emi~u"ri}qkvmc/][WO^][WO^][WO^][WO^][W
Fmkl0ec}(vnp$gfdpgg}hlc(cqpismgw&0!Vvq0`"w|udrhmsicwm>^][W
Ichn0Lmkf0umjawiv*(0)Cp(|dcw|0hv#{0cgp|us"p`qo"jg0Lmkf0`v$i|m,-
Zakg{hgY(Xdnt)0!K#e0cgmfw!jadt!rvacnlaz0hl$i0gmv|eog$knimm0gcg|s{%
Imq{ubcp{0icrm0okjm0mkrmc-"oadugj{0nlhq0nla&O^][WO^][WO^][W
Ims(|nlc(s`l$qt"pzu`f$qugv7O^][WO^][WO^][WO^][WO^][WO^][W
Iwjobx=$(Digvm0hq$i~!cf}~ecjku!mb(vnm`(o"p`u!lapd!na~um,[W
H"c}urq$qt%rm0ogrmb!jm|0`"iiym"`iulmj(ghvl(dig$I}tna|0nd$Quofkz>/,
Hd$|xdpa/c!c${`nv$gv!`hge"kf0xmqz0icjlc-"s`i!lk|0vcw`0ujae/
Hd$qt"ezu!vlm0rjkx{dgtmb-"}ge!aef0ucom0ujmfwr"bgb!dvmu/][W
Hd$qt"e{{!pai|m{$fybghq<!vlm0Vk~ibe"sa|m"cafd"}ge!vlm0@oqduu,
Hd$qt"gi~&v$du`pj(dn"`g0hv$umn((|dcvf0um$m~km}(tnkjo0hv$jqen}&
Hd$qt"p`tel|0uja(Ghxezt!ue{0cc`$0kww|0vcm|0ukhd0xmq(}dgp(dig$_qsnkzt 
Hd$qt"p}bo"fdyof((tnl#|0dztmsu"}ges"`gw!vk(rd"p}bog`(yovk(q!qamyoe)mid"`gw/
Hd$qt"si~u"pg0ggad0fpaid-"}ge!oq{d!ge|0rmimdikjo0sged0ckc&
Hd$qt"si~u"pg0gnkid-"}ge&f$juuvaz0dcp(q!dhgqukjo0d{a&O^][W
Hd$qtp$oxnqp({hnh{0`"tdqxgv$0hv$a~bpaicdq$qtp${snpa&O^][W
Hlgzu`qa(}hl`xvgv20!Veeu!{k}b!msf0fjk{d ][WO^][WO^][WO^][W
Hv$nesvlmbr"kfu!vk(cdg$|xd"czu`v$eqo,[WO^][WO^][WO^][WO^][W
Hv#{0dcwq0um$gfdphgj"e(}nlw|us"mf0`"sge,[WO^][WO^][WO^][W
Kww|0cghgg!cjq0upex0emkz0ujazu!oeq0cg$i~nvlmb!mjm>!"N}cu"omuq"bi|mkjo1
Jcpi~`q$ibd"rmbx"w`qsr?(g`vg`0xmq(tnl#|0bwp(inwv{umd*WO^][W
Jgax0`"gdu`p$eyof>(0pwenv!ahmqs"tgdhmj{>^][WO^][WO^][WO^][W
Jkgcyoe$|xd"pmblkji|!fkmco%p(xtpp(dig$eoqpmbr,[WO^][WO^][W
Jkhdus"fmur"omuq"ex`dcva~f"pa|m"}ge!imd|!vlmys"u}udl*WO^][W
Jkhdus"f}~oka{0bcj(rd"pi}df$yuj$kqspk|c!mjdi/][WO^][WO^][W
Mcpmcu"jmgr=$(@tv$hbda*oqlgw&bneqm|hia&~dvlisj%$a~!{k}b!,jmgrpg)
Mgez~!jk0um${`dnh&0!Rhii!La|X`ao)O^][WO^][WO^][WO^][WO^][W
Mgtzubje}~r"latd"p`uhp$omf$a~!c${ubpa|0smke>^][WO^][WO^][W
Mgp(inwv(vhlcmbr"`g0uja(g`noa~f"kf0uja(itnobxo`$cuxq*WO^][W
Mgp/c!deku!kp20!vlac!vmeu!{k}7sg$fu"cgyoe$|!umf>^][WO^][W
Mgp/c!je~u!c$xqsv}$0epmf{!c$du"kn0cmkru/][WO^][WO^][WO^][W
Mku}s"wm|mgv{0em$fu"`zyoi?(dig}(x`va(dn"wmu!{k}0uumku/][W
Mwjib!ggdyqqa(dnlmoxu,$(]`{$ic!uad|!sqad!lk1^][WO^][WO^][W
Lga|yoe$qtp$ggo"c`rv$lubpaicdq$qtp$debi$koqmluscfdi ][W
Lmjmi!vk(yota{d>"$\qjg$ad!vk(dig$dbch(rscjkx!mb(dig$Eqfkg(]dokzi!Te}|u#
Lmj{ddpw(snoa(vsmi(~nulmbd"pg0ikp(inw$mfdp}xdpa&O^][WO^][W
Lmj{ddpw(cmgax0cggierg$qt"ezu!`kzyoe((~nv$jubcq{u!vlmi!grmb!ea|0ukvmt/
Lmw|0lmj{ddpw(`sgbmb!omfsdf$eu`v*(0Uje|7r"s`i!vlmi!cvm0ikp|yoe$qt#
Lmw|0nd$|xd"f}wr"mf0Ogp@qbi$ibd"kf0uja(vmmkz>^][WO^][WO^][W
Lwg`0`fk(^nvla~f"Li`qgj{>^][WO^][WO^][WO^][WO^][WO^][WO^][W
Lwh|y,rhiidp$FuuJek{!kw(q!o}|x/][WO^][WO^][WO^][WO^][WO^][W
Ogp@qbi$ac!c`lybvm~u/"$\n"hidd.$qt%vm0`nvmqe{$`nial>^][W
Ogrmb!cwc0`"w`qiam`dp$ns"e(`skgm0mkw|>^][WO^][WO^][WO^][W
Ogrmb!`qz~!c$|bdg((eona{c!{k}0mkom0fgp|yoe$x`aomt!um|x!c$#%!qlgfdn*
Ogrmb!ge|0vkp`0fnkyoe$`qofw)O^][WO^][WO^][WO^][WO^][WO^][W
Ogrmb!omft!vlm0lmj{ddpw(xhvpa~f"}ge;"$|xd{$berv$zuqneku!vlm0bjezgnoaf>
Ogrmb!rhii!nai`gpko0vkp`0`"qfybmvf>^][WO^][WO^][WO^][WO^][W
Ogrmb!qpm`!mj(q!aqzcdf$m~fpe~yoe*WO^][WO^][WO^][WO^][WO^][W
Ogrmb!qsa}!um|x!c$kqlgvi*!"p`usg#{0omp`yoe$|!vecu!rmkdtpa{0nd*
Ogrmb!vaisi"}ges"tmd!pq{d!okfcugv(dn"bmdbj*WO^][WO^][WO^][W
Ogrmb!vv}cu"e(b`l`g}!eafuscpgb!kj(}`emk0gkadtr,[WO^][WO^][W
Ogrmb!wwm0`"si~e"kn0ege|x/][WO^][WO^][WO^][WO^][WO^][WO^][W
Om$duwgh(snlpiyoq$|gn"w`qq*(0Uja(}`xa(yr"jg0mgrm|/"$[/,*W
Zakg{hgY(^n"tibu"kn0ujm{0gmv|eog$eqx"fm0sgtzewgmt-"w|sg`(yo"e(bdvvauwch(cxqpm}-"*&>
Omp(qmn$zelmv{0`pa(qr"iacmgelyoe$ic!vlac!mjm>^][WO^][WO^][W
O{ixxr"eft!lqzcdq$dyjg$ju`wpavtn$zyoew&O^][WO^][WO^][WO^][W
O{ixxr"ezu!`hg~egw&0!Cvm0xmq(q!eafdmgii~>][WO^][WO^][WO^][W
Ndbmbhlc(q!wjasnpj(q!ukzdina{c!rmmsd"kn0fne{c!omoxu"tzwg$|!`a(v`ved1
Nn`(x`aombr"jmfdp$lyd8$(inwjo0nla{0em*WO^][WO^][WO^][WO^][W
Nla(x`q$|!naifd"w`qq$jugmvm0bnk{yoe$|ylg*WO^][WO^][WO^][W
Nla(xnoqfstnq{0`"`ii!iam`r"p`u!fkkdnp$ig`{*WO^][WO^][WO^][W
Nla(|dtad0gwv|xdp$lvl${lgfgtx"m{0fgp|yoe$cymnal<!pmoxu"jgg/
Nlhq0`"saj`p`(s`l$}cd"e(}`emk0vjm{dmg*WO^][WO^][WO^][WO^][W
Nlhq0`frm~uwvmbr"kn0dtmd0`nmo~lgj|0ujmf{!mb({hnha~f"p`uhp$lf,
Nlhq0bjegdha$mfhnw({hnh(cmgaxyoe$eoqpmbr,[WO^][WO^][WO^][W
Nlhq0sged0upex`dpw(uraexu!vvi`r,[WO^][WO^][WO^][WO^][WO^][W
Nlhq0sged0vk~ibeq$kqo"szyug${ssmhdc/][WO^][WO^][WO^][WO^][W
Nrazqukkf0NTAZ[HNH(x`q${d`ppmt!lk>^][WO^][WO^][WO^][WO^][W
Nwg`>!"M(x`va(gigj(dicp(x`rtm~r,[WO^][WO^][WO^][WO^][WO^][W
QNAICD"mo~npa(`sgratq$zelmv&O^][WO^][WO^][WO^][WO^][WO^][W
Qmhq}npt`0hlpg0`l$mdukj30lga|0xmqz0nrtg~dlp{0gcgm0um$nqbg$|!deku/
Qpeqyoe$ymn$nbhel|uo"`m}nlw&O^][WO^][WO^][WO^][WO^][WO^][W
Sms(82z-(dicp(rncp(wdlpdi!fk~!vlm0rvvmql.$Kx`pkf0)6|!<!faidi"m{0cwp(q!fvmql,
Swjfyoe$ac!ekgt!dkz0xmqz0mgc{>^][WO^][WO^][WO^][WO^][WO^][W
Ravmg!wt(inwv(snwviwd#$(Inw#~u!qgzuvg`(eq"a~us{p`yoe$m|rg*W
Rgaxqfg;(0Mgeci!rmxur=$(Bhqmfw!fee`>"$[elokf0uja(`mwijus#[W
Rgceuove|ynl$nqtnp(8bmvm0ewixue+*WO^][WO^][WO^][WO^][WO^][W
Rjkx{dgtmbr"ezu!kj{esg`(rx"Gzdqq{0iki{umd%WO^][WO^][WO^][W
Rjkx{dgtmbr"wg}dvmeur"`au!dvg}!mhl0`ea&O^][WO^][WO^][WO^][W
Rmim0lc~mc!*a{`dami|m{${}`nh(ogw!0icrm0om${mwpaoq((c`{w(}`l$>0lc~m>
Rmim0pwa{dhmj{0uja(Cqj}fh!cwcc!hq{d!(`g~&v.(x`ta(qo{$i~ruazc/
Rmimdhoa{0#oq*0hq$|xd"efcvgv&O^][WO^][WO^][WO^][WO^][WO^][W
Zakg{hgY(Cnpvq<!lk(vnpp}~d"p`yr"pa}d,$(Rdvpmb!nqk{!lapd!akg{hg%
Rrezu!{k}b!qgzmnw(g"ii{d/alycna(eovmd0hv#{0sged|x"jmsdqwibx#
Rvmk{r"eft!qpg~dq$eqx"fzu`i$qtp$jogw(rtv$eqogw(ghnh(~dtaz0iwv|0xmq&
Rvkz}cpmfwdp$ldqj/d!qpmqm"wgemq*(0Qgkx|d"w|u`n${tnw&O^][W
Rw`luon}$0uja(ttlcmo"sa|m"gg|mct{u/,*WO^][WO^][WO^][WO^][W
Ucia~f"e(}`kh(t`gig~!oeq0bcq{u!c${irvae0rgg}bhv}(fhmhidhmj&
Uja(ssmsl0vcw(cn"pgefj((dig$[dnmcmc!ukf7u"tdqx"p`u!Fqfwdmj(qo{igbd.$fiti$fiti*
Uja(|drvmsicqfc!jmlu!vlmys"pzu`qqzu!kj(q!qii|m"lategj(bnmi&
Uja(|nlcmb!vlm0vcjl0uja(rdvpmb/][WO^][WO^][WO^][WO^][WO^][W
Uja(}`emk0vmvl0hq$*HXX^Q2/][WO^][WO^][WO^][WO^][WO^][WO^][W
Uja(}dgo(cichd0hllmbhv$qtp$jogw(vhna{>^][WO^][WO^][WO^][W
Uja(}hla{0`pa(t`po(qof$ludr((qof$A0icrm0mgrm|r"pg0fm$jugmvm0H"wdudr*
Uja(}npa(inw$}cd"p`u!G$sf((dig$juuvaz>^][WO^][WO^][WO^][W
Uja(erg$gv!f}fqlkpm0hq$lqoeaztq*WO^][WO^][WO^][WO^][WO^][W
Ujazu!cvm0om$sow(yo"p`u!WJAH!tazchmj&O^][WO^][WO^][WO^][W
Ujazu!kw(q!vvi`!mj(dikw(|dtad1^][WO^][WO^][WO^][WO^][WO^][W
Ujaq0rc}(dicp(Tdokosekf<!Cweegq{<!Mvker.$Qudlkoxt""(Ztkfduy"m{0om$dqv"babl,
Ujaq0rc}(dicp(Wdp}g~!je{0`l$mfhn$|ghl((rduezu ][WO^][WO^][W
Ujaq0rc}(dicp(]dfq{q!uk}|e"ii{d"e(ddpvarmg$xuu,[WO^][WO^][W
Ujaq0rc}(dicp(^dvLisj"f}wr"ezu!Qadtnl$x|`ljmt/][WO^][WO^][W
Ujaq0rc}(dicp(^dvLisj"gg}dq$a~!01>0gne~sq*WO^][WO^][WO^][W
Ujaq0rc}(dicp(^dvLisj"m{0kww|0`"gg}qwpmb!eeeu/][WO^][WO^][W
Ujaq0rc}(dicp(^dvLisj"m{0lmvm0ujef0kww|0`"gg}qwpmb!eeeu/][W
Ujaq0rc}(dicp(^dvLisj"m{0ogrmb!ulid!kp(erg`(dn"fm>^][WO^][W
Ujaq0rc}(dicp(q!`eji!fviwnl$ac!vkg0roed|!vk(xtpp(s"lm|q"}ge/
Ujaq0rc}(dicp(q!`hisj"t}tekjo0hq${ylrhq0`"fzvl$xeefmfw!ekfu!`el>
Ujaq0rc}(dicp(q!`hisj"w`udr$`qr"7(r`ew(vtnh(g"sgm,[WO^][W
Ujaq0rc}(dicp(q!`hi~j"wkbnnh(yr"ha{d"e(rmcjc0bjak{/][WO^][W
Ujaq0rc}(dicp(q!ae|0ocimt!Okzbhq$`qr"ja~d"hafdq*WO^][WO^][W
Ujaq0rc}(dicp(q!fa{`dpe|u!qlg`qgv(}hel|0qc}(qo{$xbhaa(yo"e(cimt&
Ujaq0rc}(dicp(q!fmi}nl`(tne$ac!grmbx`kli&q$jurv$nbhgjl>^][W
Ujaq0rc}(dicp(q!fsibg"hgbe"gi~!aezbx"e(`hao%qyg$jubcq{u!jm{0`pigb!kw(|hel|>
Ujaq0rc}(dicp(q!dhgqukjo0d{a(s`l$lugge|0Lg`}c`,[WO^][WO^][W
Zakg{hgY(Dig}(c`{$|x`v$i0gmv|eog$g~m{$`qr"5(|hla(qof$qt"gi~&v$zu`f$juuuam~!kp&
Zakg{hgY(Dig}(c`{$|x`v$i0gmv|eog$g~m{$`qr"5(|hla$0cwp(inw$kqo"vmqe"fmdvgaf0hv*
Ujaq0rc}(dicp(q!dk}~ucmf0mmkcc!lk|xhlc(|hia(q!paoemcvdi!gv}`ukjo0fg}{us,
Ujaq0rc}(dicp(q!ekdt!fk}rmmkf0hq$svl(}npa(dicj(yuq$uhel|0hl$omf*
Ujaq0rc}(dicp(q!evat!`qo0vmj/d!req0`"w`qiam`dp$ns"~i`qkjo0xmq(yo"e(cimt&
Zakg{hgY(Dig}(c`{$|x`v$i0f{t{i!ak}|e"pm|m"}ges"bgbuwjm0gmv(q!rvasd,
Ujaq0rc}(dicp(q!jek{dp$fqlg`(Qmkgm0nlgm0mgrm|!vaduqmv|ue"fq0tqmfw!c$eyspkz>
Ujaq0rc}(dicp(q!jek{dp$fqlg`(T`tml0nlgm0rna0`"caqov$yuj$i0rnmfw!cjl0`"vgsj,
Ujaq0rc}(dicp(q!jek{dp$fqlg`(Tnpk|xx"kfsd"vgtd"e(vne$k|nw`(dn"Kr>
Ujaq0rc}(dicp(q!jek{dp$fqlg`(]`p}(oaa(|nqp(q!uladd"w`udr$a~!vlm0lc~mc/
Ujaq0rc}(dicp(q!jad}!mb(rskhdy`lgm0hq$fu"pg0cg$|qjgj(|hel||x,
Ujaq0rc}(dicp(q!jk|0emc(qof$i0ighd0imqft!cvm0uja(c`oa(dikjo>
Ujaq0rc}(dicp(q!nee`!leeue"Edqefmf7r"Hi}q"gg~ucmfc!c$lzhlja0vkp`02"sacigw&
Ujaq0rc}(dicp(q!nezwd"`gw!leeue"Hicrka(ghnh(|dc`(inw$|!vlm0`oqduu,
Ujaq0rc}(dicp(q!nkfw!qsgbe"m{0omp(q!nmoxu"wsf*WO^][WO^][W
Ujaq0rc}(dicp(q!oefur"sg~&v$eyoaa(gnp`{0vkp`0xmq&O^][WO^][W
Ujaq0rc}(dicp(q!omft!kw(q!vazbh`hm0ujmfw!vk(g`qpm>^][WO^][W
Ujaq0rc}(dicp(q!rhiyo"jq}qj$ymn$g~m{$u`p$i0vkvm0skjo0hl$g~d"aib/
Ujaq0rc}(dicp(q!rh}}df$`qu"ggemf$ju!c$xbdtmgern}(erg`(ssgw|ue"lm|lgp&
Ujaq0rc}(dicp(q!rk|ynl$gv!mmd0hq$lygdmkemv$|!evicq,[WO^][W
Ujaq0rc}(dicp(q!rk|ynl$gv!{koesv$ac!c$kqoaad|df$xukkf0nd${ybijmcr,
Ujaq0rc}(dicp(q!rqz`mg$so$ac!lk|0`"firx"t}bqna(tsccg~/][W
Ujaq0rc}(dicp(q!sqafdpmfw!`hgr!ve{ddq$lygdazuov$|x`l$i0fghidhlk}c!aqju/
Ujaq0rc}(dicp(q!pqfue"fz`fwsf$fqlg`(Cumverskjous"e|dscg|c!tkzdhaa{>
Ujaq0rc}(dicp(q!qgzmn$gv!qqe}nlmfw!je{0nvlmb!leeur,[WO^][W
Ujaq0rc}(dicp(q!qli}`l$kqo"fmcums(rmgw{yoew(rtv$}ctchdi!fkmco%p&
Ujaq0rc}(dicp(q!qli}`l$ymn$j|dqw(inw$ns"ef0d{a(g"jmgu"eft!umfw!mb(r`v*
Ujaq0rc}(dicp(q!qla}lgva~f"cg|e"w`ydn`(yr"jgd!c$xmkw`ue"wa|wgv(cikadt/
Ujaq0rc}(dicp(q!qtmqs"sa|m"lad!c$fun/k|itel&0!*@g0XMQ({oms(gicp(dicp(yr=-
Ujaq0rc}(dicp(q!qtgdug`(tsccg~!kw(dig$}|ukiidd"w`qqg$kx`lcmb/
Ujaq0rc}(dicp(q!qpmdimwkqg$ac!lk(wnm`(yg"}ge!aef0nlhq0igez0xmqz0igezdcge|>
Ujaq0rc}(dicp(q!qqkst`q{0ocimt!Qqri!umd|!qkeuukimc!uez~!{k}0nd$lqoeaz>
Ujaq0rc}(dicp(q!ueft!mb(s`lgm|mcpao"m{0omp(|hia(q!ueft!mb(`nn}esrl&
Ujaq0rc}(dicp(q!ukgt!ekdul"ji}df$Xyomgkxhm$tn`(rd"aicx"pg0bmj|bnn*
Ujaq0rc}(dicp(qgvaz0jkhdyoe$i0epeoo"m|7r"pa}d"bgb!c$kx`lcm0nd${sdlazi/
Ujaq0rc}(dicp(qo"eeemgp(g"w|b`lc}|`vmg~!kw(gnpwm0ujef0skjo0`pk}~e"p`u!akd|`p*
Ujaq0rc}(dicp(qo"e|dha$ac!vlm0cgw|0qneku!vk(xhfa(inwv(dn{w&
Ujaq0rc}(dicp(qo"epu!leeue"Gdu`taz0nlgm0cghg~fg`(dn"e(x`aomb!leeue"Fmqwgv&
Ujaq0rc}(dicp(qo"aqu!mb(~dup(qof$i0vkjo0nd$jqu"ezu!fk}rmg$|xd"pzt`hm>
Ujaq0rc}(dicp(qo"mfst`q{0ocimt!K~ri!qkeuukimc!oecur"sg}dl$nudn${uoqm|ywg*
Ujaq0rc}(dicp(qo"kxemgj|0ujvg~d"vgl"m{0scvm|x"e(`mcgm0um$yrj$qt%`(rd"mf>
Ujaq0rc}(dicp(qo"qf|taoq0icgcus"kfsd"lit!c$frg$j|dg`(qu"ef0`npib!cjl0ekal>
Ujaq0rc}(dicp(qof$|xd{${qx"p`yr"f}d!vlmi!la~us"wii!la~us.$fuwgv)
Ujaq0rc}(dicp(qo{$ye`lp}}!oakx`lmk0jlkc!vlid!qtmue"oa|mq*W
Ujaq0rc}(dicp(qqrhqyoe$i0tlmksl$`sl$eu`lw(inw#~u!om{cdf$|xd"tgyov*
Ujaq0rc}(dicp(rmwa(cumjmc!cvm0sc`a`apafd.$juvcvm>^][WO^][W
Ujaq0rc}(dicp(rtkhlyoe$i0ewjounl$ac!c$|u`o$mvgmv|>^][WO^][W
Ujaq0rc}(dicp(sick|yb"g`qscg|usq$fuwgv(wdv$i0jkgc0nwp(g"edd`pw&
Ujaq0rc}(dicp(snnhi`rkjo0`"`}~fgkf0ndpm~!avmqugw(q!refyb,[W
Ujaq0rc}(dicp(snwj|yoe$qtp$mwfq$jugmvm0ujaq0icpkx!qlggr"p`qu"}ge!aezu/
Ujaq0rc}(dicp(thrta~f"e(r`e$gv!vvasjq$a~!c$ntlpiyo"sg~&v$eqjg$ad!cj(ybgfgh/
Ujaq0rc}(dicp(thrta~f"ef0dgh(qof$jbnuj(}nn`(yo"lgd!ue|us"ii{dq$jtkhdqccm{cd,
Ujaq0rc}(dicp(tnle|yoe$i0emqj|nmj(yr"apdsgim|x"tatq$kx`pm|i/
Ujaq0rc}(dicp(ttlcmogazc!rvmvdp$lqsi$kxnakdqug*WO^][WO^][W
Ujaq0rc}(dicp(u`vmfw!pkqqm"nm|m{$idupekdr"czy{xhq0nuhju`pw&
Ujaq0rc}(dicp(ufew$0qcjkqjgw(qof$behaa(qsg$berv$i0lwjlqog$jbdconqrv*
Ujaq0rc}(dicp(uwgvqog$c~nuw(gi{$Euewwi0rveftr"edog$a~!vlm0ecvc>
Ujaq0rc}(dicp(uwgvqog$qoval0sgg&w`oa{>icgc0um$}~egvo!c$fqlg$kx`lcm>
Ujaq0rc}(dicp(vhl`a~f"e(ghlja~f"w|b`vaoi!kw(q!fadycgvidd"igfd"kf0xmqz0qcv|>
Ujaq0rc}(dicp(vhl`a~f"sgbujhmcr"cdqrq$ac!ukzdi"wg}dvla~f,[W
Zakg{hgY(Dig}(c`{$|x`v$nsvqfu!akg{hgw(qsg$nnf$ns"p`tel|>
Ujaq0rc}(dicp(wnn`(yr"kf|x"sicug`(o"e(`dv$lb`ekf>^][WO^][W
Ujaq0rc}(dicp(wnm`(dikjoc!akeu!vk(dimwm0uje|0vcm|>^][WO^][W
Ujaq0rc}(dicp(wsge{ue"kjzdap{0vkhd0rnmx0nwp(g"ig~rvazc&"li~eq*
Ujaq0rc}(dicp(yg"}ge!aef7u"wxumn$|xdl$qt%hd0vkw`0xmq(x`f$i0rrad|cmkc>
Ujaq0rc}(dicp(yg"}ge!nm~u!`}(dig${gnp`$0xmq/|m"`au!`}(dig${gnp`&
Ujaq0rc}(dicp(yg"}ge!rhii!nmcu!c$eoqpmb!{k}7mn$`qwg$i0cgp|us"ci}d,
Ujaq0rc}(dicp(yg"}ge!qhmuq"sadi"e(tdokf0xmq(}hel|0`uecu!um|x!c$`u`fekxd,
Ujaq0rc}(dicp(yg"}ge!qpm`!mj(q!avisj"}ge!ak}|e"fzu`i$qtp$eujaz7r"fisj,
Ujaq0rc}(dicp(yg"}ge&pa(yotm{ycna(inw$kqo"w|ymn$ju!jaibe#[W
Ujaq0rc}(dicp(yg"}ge&pa(|taoq0xmq(s`l$nudn$|xd"v}~dq$g~!c${ssmhd>
Ujaq0rc}(dicp(yo"p`u!`mo0qkg|esg$omf$ac!mjdi!qii|m"g`qoea&
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(yu%w(~nv$x`v$qt"ofv"p`qu"vmqmn}(}`vpmbr,
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(}nmj(bnao{0`pa(bdchdi!fmdyujm}}!avqcuch{>
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(dig$jnpm{x!aq{dnoaz0hq$fuwgv(bhel|>
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(inw$lo%p(~dg`(q!ue|si"pg0ughd0ukim>
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(inw$fudf${lgp`yoe$g|e.$fuv.$jespkue"eft!`h}u/
Ujaq0rc}(dicp(yo"p`u!fqfwdmj(inw${xnwhl0`nsiir"ggeov$qtp$j|dqwa~fq*
Ujaq0rc}(dicp(ysmj(wnnae0qne|u!oea|!kwf7u"sgbuj$yrjmfw!dkz>
Ujaq0rc}(dicp(yu"pi{dq$ntp$ye`ppmbrvenvr"pg0lcom0nla(cucbn>
Ujaq0rc}(dicp(yu%w(~nv$gfdp$|ymn$|xd"bid!nelydq${yoe*WO^][W
Ujaq0rc}(dicp(yu%w(~nv$gfdp$|ymn$|xd"bid!neli!qlgeuq$h_gd$yuj$adr"lmqe%*
Ujaq0rc}(dicp({haoa~f"e(xdcrq0rve|ed"m{0sged|x"e(ttof(}nta&
Ujaq0rc}(dicp({haoa~f"e(f`nqirmg$oul"`gurl#|0rgae0um$eqjg${uoqa&
Ujaq0rc}(dicp(|drvmsicqfc!ijgg!Ne|yo"eft!{k}0rjk}|e"pg/][W
Ujaq0rc}(dicp(}hlk|qtpw(wdv$drv$geuqmlu!mb(dig$eq{gw&O^][W
Ujaq0rc}(dicp(}nqp(dsmhdc!cvm0cmvf0`eea~/][WO^][WO^][WO^][W
Ujaq0rc}(dicp(~`omfw!{k}b!ae|0Fcvnydn`(ghnh(}`ia(inw$esg$idupekdhta&
Ujaq0rc}(dicp(~n"kfu!ijggr"a~us{p`yoe$irnwp(uwgvqdikjo0hl$|xd"`}~fgkf>
Ujaq0rc}(dicp(~n"kfu!rhiir"JmdIcgc0kww|0gmv(dig$neo"kn0hv*W
Ujaq0rc}(dicp(~n"kfu!pai|m{${ecqgzycgw(dn"vms/eeeur,vgwtgha{d,jmdicgc>
Ujaq0rc}(dicp(~n"kfu!umd|!c`eyu"pg0rvezdhlc(q!pqes,[WO^][W
Ujaq0rc}(dicp(~tpwmc!qkeuukimc!aezbx"wkqmradc!cjl0ogrmb!wwm0ujae>
Ujaq0rc}(dicp(oaa(inw#~u!oa|0nla(ghxezt!{k}7wg$euu"p`ul"ed|/
Ujaq0rc}(dicp(og$|bnnh(yr"sgbuj$9 -2480ogs|c/][WO^][WO^][W
Ujaq0rc}(dicp(on}(T`tml0bcj(vhl`(dig$rn#[WO^][WO^][WO^][W
Ujaq0rc}(dicp(on}(qoeadc!rhii!vlmys"libqq$ns"p`uhp$xuuq*W
Ujaq0rc}(dicp(on}(rhe${`dl`mbr"gibs{$omf*WO^][WO^][WO^][W
Ujaq0rc}(dicp(sa${x`oefc!cvm0igeddi{((gdch|xx"eft!um{u/][W
Ujaq0rc}(dicp(`mc}a~f"JmdIcgc0hq$dyjg$qmimfw!kj|!c$lu`vl(dsct&
Ujaq0rc}(dicp(`smfdul"fzu`vla~f"m{0cgw|0upaiddf$ji!c$xbnraz0eka|>
Ujaq0rc}(dicp(atcbnyoe$eqo{$xukkfc!mb(|dtm|qukkf0bcj(whta(inw$i0igelqbja&
Ujaq0rc}(dicp(atgaf0cga{0fgp(dicp(g`{$ji!ge|yoe$zxch(zdnhq>
Ujaq0rc}(dicp(bdc`a~f"e(cbcvm0lmj{ddp${ssmhd0hq$|xd"wi}d"e{0rc}a~f"Adrdpa|x/
Ujaq0rc}(dicp(bdch(x`aombr"edg`{w(qsg$kovvg|mg`&O^][WO^][W
Ujaq0rc}(dicp(bdch(x`aombr"jmfdp${|dgt&O^][WO^][WO^][WO^][W
Ujaq0rc}(dicp(cimtcudrazc!cvm0hlw}bdf$ji!Avgurww(xhowm|g#[W
Ujaq0rc}(dicp(cimtcudrazc!la~us"gibs{$esg$|x`l$: !ekdt!rmmsdq((qu"jawiv*
Ujaq0rc}(dicp(cimtcudrazc!la~us"wm|m"fdurqal0qmpaoq$gv!kj~yrkfa|hv}&
Ujaq0rc}(dicp(cnn`ausq$u`p$cye"cdwgw(qof${ymn}(xdnimdr,[W
Ujaq0rc}(dicp(cnoa([nrw(qsg$g~!vlm0ucom>^][WO^][WO^][WO^][W
Ujaq0rc}(dicp(cnoa(wtcvlc&"ti|lq$kqo"fm0fpaicdf*WO^][WO^][W
Ujaq0rc}(dicp(cnoa(}nlw|usq$eqx"oacr"}ges"fguq$|!qpg`!{k}b!fv}}!rhiihlc&
Ujaq0rc}(dicp(cnoa|ylgw(inw$kqo"fm0uja(xhv$gv!vlm0qcv|i!ulm~!rhiihlc(q!jkz~/
Ujaq0rc}(dicp(dig$FuuJek{!eklc!eafuschdi!uadsnoa(inwv(c`avavhaa{>
Ujaq0rc}(dicp(dig$\xsga(Bhlc{0`pa(~`oal0Wkhqq-"Jm~xc$i~e"Jibxc*
Ujaq0rc}(dicp(dig$_y{cvl0nd$Quofkz0icw(q!faidi"saci,[WO^][W
Ujaq0rc}(dicp(dig$hx`kv(g"p`u!fko7!kw(cnoa|ylgw(qo"anvdapafd"vm}df}&
Ujaq0rc}(dicp(dig$jurv$|ylg$|!qe~u!{k}b!eeeu!kw(~nu$jugmvm0hv#{0umk(|`va&
Ujaq0rc}(dicp(dig$jyfea{d!mf{d`ahm0hl$FuuJek{!kw(inwv(}hl`&
Ujaq0rc}(dicp(dig$oeq$ibd"efws{$xdl$|xd{$`yu"}ge!um|x!mfbubvw&
Ujaq0rc}(dicp(dig$xbhgw|xnm`(qsg${`dami|m{$nqwmvmt!`}(dig$oeq*
Ujaq0rc}(dicp(dig$qx"pg0lcom0`"qfybmvf0ictxi!kw(dn"cafd"m|0vje|0hv$qovw&
Ujaq0rc}(dicp(digvm0`pa(~n"fdqbi$gb!uladd"w|ogw$0nlhq0fpeq>
Ujaq0rc}(dicp(digvm0`pa(~n"wcumgpg~r"lm~bg$|xdpa(qsg$f!qom|dvkf0jg}{>
Ujaq0rc}(dicp(digvm0hq$i0bna~us"vgwtg$a~!grmbx"lisjgv(ztqp(txkjo0um$mcbctm>
Ujaq0rc}(dicp(digvm0hq$f!qqkx!vla~f"e{0gpam0`frasd,[WO^][W
Ujaq0rc}(dicp(digvm0hq$g~m{$g~d"sii!vk(ghl$id!La|X`ao&O^][W
Ujaq0rc}(dicp(digvm0nlgm0vcw(q!daibrmim0bjegdha${qlwviy!leeue"H}{!Lk&
Ujaq0rc}(dicp(digvm0vcw(q!vmeu!ulm~!aqzcdf$`m{$qugv(g`qj/d!ue|us,
Ujaq0rc}(dicp(digvm7r"jg0qmmfd!kj(ss{mfw!mrmb!c$ob`{$g{g*W
Ujaq0rc}(dicp(digvm7r"kf|x"lg`d"hmvu"enddp$qt%rm0nrafue"Ti~emvi7r"fgh/
Ujaq0rc}(dicp(dsct(tnmv{0rjk}|e"edg`{w(rd"iibjg`(pBcq|ynl>(0Upex0Emkz7/
Ujaq0rc}(dicp(erkjo0`l$i}tna|0nd$kx`lcm0hqj/d!c$lygdmkemv$g`dpe|ynl*
Ujaq0rc}(dicp(g`vaz0vchcyoe$jnvw(qsg$juuvaz0hd$qt"ezu!de{d!nmcu!Jaz}dq*
Ujaq0rc}(dicp(gigj(inw$u`p$i0bkvkemcv(qlwhmd!{k}0lkc`d!pa{ul`hm0`"pzmn*
Ujaq0rc}(dicp(gigj(inw#zu!jqfws{$qt"gi~!ea|0`"taj{c$a~!14(}nta{0np$ad&q$nbdg*
Ujaq0rc}(dicp(gigj(inwv(wnf$ac!cjobx"}ge!qlgemf$|bx"efujaz0nla&
Ujaq0rc}(dicp(ghghlyoe$i0tlmksl$`sl$|qjgw(cupafwuj*WO^][W
Ujaq0rc}(dicp(ghvl(cqgal0cmk|c!{k}0ogrmb!ukzbx"ejtv$`yu"eft!pqf0`agatdlp{>
Ujaq0rc}(dicp(inw$kqo"`mvdcp(q!imd|dp$jud"sadi"e(eokggbo"lgbo,
Ujaq0rc}(dicp(inw$kqo"kf|x"gzrq$|xd"Vafdp$[dxz$a~!Alibnl#{0cme|>
Ujaq0rc}(dicp(inw$kqo"kf|x"oa|m"e(|hal(oaa(qof$|xdl$qt%`(rdvpmb!`a(s`panem,
Ujaq0rc}(dicp(inw$kqo"kf|x"saci"bgb!vla~fq$qt%rm0`nvmqe{$`qe,
Ujaq0rc}(dicp(inw$kqo"pzqhl$i0bcp(rx"pi|jkjo0fgj||x"pg0hv*W
Ujaq0rc}(dicp(inw$kqo"pzqhl$i0emc(rx"pi|jkjo0gkve|x"pg0hv*W
Ujaq0rc}(dicp(inw$kqo"pzerv$qtp$omf$yuj$|xd"oa~f,[WO^][W
Ujaq0rc}(dicp(inw$kqo%p(ghra(inwv(wsge{i!`ezu!jeftr"kf0`"fdqoi${ssmhd>
Ujaq0rc}(dicp(inw$kqolk|0upq{d!qgzmnw(g"v}}np*WO^][WO^][W
Ujaq0rc}(dicp(inw$ktn`(v`nh(xdc`(wgv(xdgh{0gmv(qo"afuse}(fnppmh/
Ujaq0rc}(dicp(inw$fudf$i0jg}(yo"kztdp$|!mtm~!nkk{df$lnpw&
Ujaq0rc}(dicp(inw$fudf$i0lkvzs"pg0ompasd"e(}homk0hl$i~!cj|ypwa(cimt&
Ujaq0rc}(dicp(inw$zu`nhq0bcj(erg$i0qkgc=`za(eona{c!{k}0sged|x"gi~&v*
Ujaq0rc}(dicp(inw${xnwhl0`nsiir"w|sg$qtp$|nnw(yo"p`u!aad|`p*
Ujaq0rc}(dicp(inw${xnwhl0cg$kqsgb}|!ula|d"gdyl`mfw!vlm0mc`lus"pg0rwgkurq*
Ujaq0rc}(dicp(inw${xnwhl0bchd0xmqz0`pigb!bv}curvgg%*WO^][W
Ujaq0rc}(dicp(inw${xnwhl0ocim0xmqz0emc(Cqw`{0um$`qwg$i0bmkd0qgp&
Ujaq0rc}(dicp(inw${xnwhl0ocim0xmqz0vgexo"enddp$qtp$nysqp(}nlw|us"oa|m,
Ujaq0rc}(dicp(inw${xnwhl0ogrmb!kj|bnfqku!c$zqg$omgi(dn"e(ctag}rtq*
Ujaq0rc}(dicp(inw${xnwhl0ogrmb!qhmuq"jmqs"mffhqmj|d"va~f"szqhvl{>
Ujaq0rc}(dicp(inw${xnwhl0ogrmb!vvq0um$du`ta(dig$leoeag~!um|x!c$jqf"kn0fgi{>
Ujaq0rc}(dicp(inw${xnwhl0sgigfd"}ges"ez}np$jugmvm0rkp|yoe$g~!c$|xsmjm>
Zakg{hgY(Dikw(vnpp}~d"ggjka(yr"gg`x"tzugg|ue,[WO^][WO^][W
Zakg{hgY(Dikw(vnpp}~d"ggjka(yr"p`u!rvg`dppq0nd$Nsvqfu!Akg{hgw$0Hlg&
Ujm{0sghmqrg$kovea~r"585!pakibnal0lcpmbhch&O^][WO^][WO^][W
Ukim0rveftr"w|ymn$ic!vlm0rwgkecww(sicjour"lmb!aeduofez0um$Bqowezi!3(("124&
Ukvmt>"$\bx"e(cbpkd|!mb(sicvoyoe$g~!{k}brghn>^][WO^][WO^][W
Um$isika~u!vlm0og||0ikc`us"vidhlc$0xmq(~dg`(#!okzu!rka~uq*W
Um$zu`al(xdcrm~-"a{s`ra(dig$leoeag~!ula|d"smqskjo0`"va~f"kn0mgrad`vmg~/
Umqzyrvw(gdcv(cikv|c!nk}t!gjgefj$|!uecu!vlm0egel>^][WO^][W
Up}(s`nha~f"}ges"oid`le(]nwha~dvpm>^][WO^][WO^][WO^][WO^][W
Tng`1!"P`qu"imqu"sic!rea~ug`)O^][WO^][WO^][WO^][WO^][WO^][W
Tlbgbuwjiddn}$0ujm{0lgw{qfg$qr"hmvu"mfddlpaochdi!`hi~j,[W
Tqmfw!c$eslmfw!qpib!kj(dig$mfdlmfw!je{0om$mvggg|>^][WO^][W
Vch|j-"`}}c"jq}qj((vnp$yehao(zhew(fdz*WO^][WO^][WO^][WO^][W
Vcj|0`"la~u=$(J`r$i0vcjl0nd$eqjg$a~wkwarmg$g~!{k}b!uai`nl%W
Vcj|0um$icbgjl0hl$i0iwvzi>"$I`qn}(qu"Cajlmjas!Kj{dhvq|u/][W
Vcj|ue8${xnromuqgv{>!"Wm~e"e(cbpkd|!mb(}`kh(dn"Iiwd"kn0Xgjls-Hmfdn$;%.Fqfwdmj&
Zakg{hgY(G`pja~f8$(vnpp}~d"vmqekjo0bcj(rd"lij`p`ger"pg0xmqz0igeddi,
Vg$`qwg$fuv"siir"kn0egpmsukjo0upaisigvq>/,[WO^][WO^][WO^][W
Vgp(dnuadc!oecu!evmqu"smqqmj{1^][WO^][WO^][WO^][WO^][WO^][W
Zakg{hgY(Gicp(q!rm|i-"}ge!aef~nv$zu`f$ad ][WO^][WO^][WO^][W
Vje|uwgv(s`l$o!uvg~f.$ymn$o!uvg~f,[WO^][WO^][WO^][WO^][W
Vjaf0`"tausaaz0epkxc!kj(o"}ge-"}ge!umd|!`a(ddot|ue"pg0ikp(dig$kuhnmfw 
Vjaf0hl$i0lc~m0gmhdv"p`u!pmoxu"si|m"eft!{k}0vkhd0ogrmb!ea|0mmw|>
Vjaf0xmq(x`ta(q!iaq<!{k}0emj/d!je~u!vk(g`kp(vnp$|xd"c}qsf*W
Zakg{hgY(Gi{$ibd"}ge!ue{dhlc(dhoa(bdc`a~f"bgbuwjmc>][WO^][W
Vkw`0gmv(q!oe{ddp$cux"eft!mtm~!vlm0Lccas!Oaes{$^qtnp)O^][W
Vk~ibe"ap`dap{0dtazi!okfcugv(dn"`g0hvw(ttv}&O^][WO^][WO^][W
Vms)0![k}0bmqdt&ta(x`f$i0qmpao"kn0gpqad!hqasd#[WO^][WO^][W
Xgp(Qomp`us"Wa|m{$Eurqeou!*]ICL+*WO^][WO^][WO^][WO^][WO^][W
Zakg{hgY(Inw$ibd"`mcukjmt!vk(rd"iacmg`(rx"e(vnpp}~d,[WO^][W
Xmq(s`l$ouu"e(wdlqa~d"Eeemgp(g"]m~emv(rx"`gyoe$|xd"bg|mmsa~f8$(=,Okzu,/
Xmq(s`l$eqjg$`m{$qugv(rx"fgymkjo0uja(xdnh(tv$gv!kp&O^][W
Xmq(s`l$xbnvakd!{k}brghn0gpke0cnek{!fviwnlw(rx"`gyoe$|xd"bg|mmsa~f8$(=,Okzu,/
Xmq(s`l#|0fgp(rx"p`u!qji{d,[WO^][WO^][WO^][WO^][WO^][WO^][W
Zakg{hgY(Inw$kxnia(o"p`u!dkzdtla(snmoau/"$%=Lmvm=,][WO^][W
Xmq(vdgh(|hia(cnoag~d"m{0qwhdyoe$qtp$duf,[WO^][WO^][WO^][W
Xmq(x`ta(dn"k}dvkp(dig$[`i{jp0np$xqx"lmb/][WO^][WO^][WO^][W
Zakg{hgY(Inw$`u`p$|xd"bgbuwjm0bmkcyd%w(xhqwa~f#[WO^][WO^][W
Xmq(}`{$ouu"vasi"wm|mkjo0mgp|usq((rtv$juvcvm0nd$juhlc(rmcgc}`khmt 
Xmq(gdaft!Qliy,Jqdee"fq0rjaidikjo0xmqz0bp}{{okbm0vkp`tv$`qwkjo0epe~!`hge,
Zakg{hgY(Inw${g`nhggdf$|xd"bgbuwjm1^][WO^][WO^][WO^][WO^][W
Xmq(g`lp(dn"vmw`kj(cupafwuj;(0Uuk(|dtadc!clmqe"m{0`"c}urvlgerg%
Xmq(ghnh(uoak}~ugv(q!ved|-"`ibj.$i~e"czedqkeu!avmquwvm>/,[W
        Welcome to NetHack!                ( description of version 3.6 )

        NetHack is a Dungeons and Dragons like game where you (the adventurer)
descend into the depths of the dungeon in search of the Amulet of Yendor,
reputed to be hidden somewhere below the twentieth level.  You begin your
adventure with a pet that can help you in many ways, and can be trained
to do all sorts of things.  On the way you will find useful (or useless)
items, quite possibly with magic properties, and assorted monsters.  You can
attack a monster by trying to move onto the space a monster is on (but often
it is much wiser to leave it alone).

        Unlike most adventure games, which give you a verbal description of
your location, NetHack gives you a visual image of the dungeon level you are
on.

        NetHack uses the following symbols:

        - and |  The walls of a room, possibly also open doors or a grave.
        .        The floor of a room or a doorway.
        #        A corridor, or iron bars, or a tree, or possibly a kitchen
                 sink (if your dungeon has sinks), or a drawbridge.
        >        Stairs down: a way to the next level.
        <        Stairs up: a way to the previous level.
        @        You (usually), or another human.
        )        A weapon of some sort.
        [        A suit or piece of armor.
        %        Something edible (not necessarily healthy).
        /        A wand.
        =        A ring.
        ?        A scroll.
        !        A potion.
        (        Some other useful object (pick-axe, key, lamp...)
        $        A pile of gold.
        *        A gem or rock (possibly valuable, possibly worthless).
        +        A closed door, or a spellbook containing a spell
                 you can learn.
        ^        A trap (once you detect it).
        "        An amulet, or a spider web.
        0        An iron ball.
        _        An altar, or an iron chain.
        {        A fountain.
        }        A pool of water or moat or a pool of lava.
        \        An opulent throne.
        `        A boulder or statue.
        A to Z, a to z, and several others:  Monsters.
        I        Invisible or unseen monster's last known location

                 You can find out what a symbol represents by typing
                 '/' and following the directions to move the cursor
                 to the symbol in question.  For instance, a 'd' may
                 turn out to be a dog.


y k u   7 8 9   Move commands:
 \|/     \|/            yuhjklbn: go one step in specified direction
h-.-l   4-.-6           YUHJKLBN: go in specified direction until you
 /|\     /|\                        hit a wall or run into something
b j n   1 2 3           g<dir>:   run in direction <dir> until something
      numberpad                     interesting is seen
                        G<dir>,   same, except a branching corridor isn't
 <  up                  ^<dir>:     considered interesting (the ^ in this
                                    case means the Control key, not a caret)
 >  down                m<dir>:   move without picking up objects
                        F<dir>:   fight even if you don't sense a monster
                If the number_pad option is set, the number keys move instead.
                Depending on the platform, Shift number (on the numberpad),
                Meta number, or Alt number will invoke the YUHJKLBN commands.
                Control <dir> may or may not work when number_pad is enabled,
                depending on the platform's capabilities.
                Digit '5' acts as 'G' prefix, unless number_pad is set to 2
                in which case it acts as 'g' instead.
                If number_pad is set to 3, the roles of 1,2,3 and 7,8,9 are
                reversed; when set to 4, behaves same as 3 combined with 2.
                If number_pad is set to -1, alphabetic movement commands are
                used but 'y' and 'z' are swapped.

Commands:
        NetHack knows the following commands:
        ?       Help menu.
        /       What-is, tell what a symbol represents.  You may choose to
                specify a location or give a symbol argument.  Enabling the
                autodescribe option will give information about the symbol
                at each location you move the cursor onto.
        &       Tell what a command does.
        <       Go up a staircase (if you are standing on it).
        >       Go down a staircase (if you are standing on it).
        .       Rest, do nothing for one turn.
        _       Travel via a shortest-path algorithm to a point on the map.
        a       Apply (use) a tool (pick-axe, key, lamp...).
        A       Remove all armor.
        ^A      Redo the previous command.
        c       Close a door.
        C       Call (name) monster, individual object, or type of object.
        d       Drop something.  d7a:  drop seven items of object a.
        D       Drop multiple items.  This command is implemented in two
                different ways.  One way is:
                "D" displays a list of all of your items, from which you can
                pick and choose what to drop.  A "+" next to an item means
                that it will be dropped, a "-" means that it will not be
                dropped.  Toggle an item to be selected/deselected by typing
                the letter adjacent to its description.  Select all items
                with "+", deselect all items with "=".  The <SPACEBAR> moves
                you from one page of the listing to the next.
                The other way is:
                "D" will ask the question "What kinds of things do you want
                to drop? [!%= au]".  You should type zero or more object
                symbols possibly followed by 'a' and/or 'u'.
                Da - drop all objects, without asking for confirmation.
                Du - drop only unpaid objects (when in a shop).
                D%u - drop only unpaid food.
        ^D      Kick (for doors, usually).
        e       Eat food.
        E       Engrave a message on the floor.
                E- - write in the dust with your fingers.
        f       Fire ammunition from quiver.
        F       Followed by direction, fight a monster (even if you don't
                sense it).
        i       Display your inventory.
        I       Display selected parts of your inventory, as in
                I* - list all gems in inventory.
                Iu - list all unpaid items.
                Ix - list all used up items that are on your shopping bill.
                I$ - count your money.
        o       Open a door.
        O       Review current options and possibly change them.
                A menu displaying the option settings will be displayed
                and most can be changed by simply selecting their entry.
                Options are usually set before the game with NETHACKOPTIONS
                environment variable or via a configuration file (defaults.nh,
                NetHack Defaults, nethack.cnf, ~/.nethackrc, etc.) rather
                than with the 'O' command.
        p       Pay your shopping bill.
        P       Put on an accessory (ring, amulet, etc).
        ^P      Repeat last message (subsequent ^P's repeat earlier messages).
                The behavior can be varied via the msg_window option.
        q       Drink (quaff) something (potion, water, etc).
        Q       Select ammunition for quiver.
        #quit   Exit the program without saving the current game.
        r       Read a scroll or spellbook.
        R       Remove an accessory (ring, amulet, etc).
        ^R      Redraw the screen.
        s       Search for secret doors and traps around you.
        S       Save the game.  Also exits the program.
                [To restore, just play again and use the same character name.]
                [There is no "save current data but keep playing" capability.]
        t       Throw an object or shoot a projectile.
        T       Take off armor.
        ^T      Teleport, if you are able.
        v       Displays the version number.
        V       Display a longer identification of the version, including the
                history of the game.
        w       Wield weapon.  w- means wield nothing, use bare hands.
        W       Wear armor.
        x       Swap wielded and secondary weapons.
        X       Toggle two-weapon combat.
        ^X      Show your attributes.
        #explore  Switch to Explore Mode (aka Discovery Mode) where dying and
                deleting the save file during restore can both be overridden.
        z       Zap a wand.  (Use y instead of z if number_pad is -1.)
        Z       Cast a spell.  (Use Y instead of Z if number_pad is -1.)
        ^Z      Suspend the game.  (^Y instead of ^Z if number_pad is -1.)
                [To resume, use the shell command 'fg'.]
        :       Look at what is here.
        ;       Look at what is somewhere else.
        ,       Pick up some things.
        @       Toggle the pickup option.
        ^       Ask for the type of a trap you found earlier.
        )       Tell what weapon you are wielding.
        [       Tell what armor you are wearing.
        =       Tell what rings you are wearing.
        "       Tell what amulet you are wearing.
        (       Tell what tools you are using.
        *       Tell what equipment you are using; combines the preceding five.
        $       Count your gold pieces.
        +       List the spells you know; also rearrange them if desired.
        \       Show what types of objects have been discovered.
        `       Show discovered types for one class of objects.
        !       Escape to a shell, if supported in your version and OS.
                [To resume play, terminate the shell subprocess via 'exit'.]
        #       Introduces one of the "extended" commands.  To get a list of
                the commands you can use with "#" type "#?".  The extended
                commands you can use depends upon what options the game was
                compiled with, along with your class and what type of monster
                you most closely resemble at a given moment.  If your keyboard
                has a meta key (which, when pressed in combination with another
                key, modifies it by setting the 'meta' (8th, or 'high') bit),
                these extended commands can be invoked by meta-ing the first
                letter of the command.  An alt key may have a similar effect.

        If the "number_pad" option is on, some additional letter commands
        are available:

        h       displays the help menu, like '?'
        j       Jump to another location.
        k       Kick (for doors, usually).
        l       Loot a box on the floor.
        n       followed by number of times to repeat the next command.
        N       Name a monster, an individual object, or a type of object.
        u       Untrap a trapped object or door.

        You can put a number before a command to repeat it that many times,
        as in "40." or "20s".  If you have the number_pad option set, you
        must type 'n' to prefix the count, as in "n40." or "n20s".


        Some information is displayed on the bottom line or perhaps in a
        box, depending on the platform you are using.  You see your
        attributes, your alignment, what dungeon level you are on, how many
        hit points you have now (and will have when fully recovered), what
        your armor class is (the lower the better), your experience level,
        and the state of your stomach.  Optionally, you may or may not see
        other information such as spell points, how much gold you have, etc.

        Have Fun, and Happy Hacking!
y k u   7 8 9   Move commands:
 \|/     \|/            yuhjklbn: go one step in specified direction
h-.-l   4-.-6           YUHJKLBN: go in specified direction until you
 /|\     /|\                        hit a wall or run into something
b j n   1 2 3           g<dir>:   run in direction <dir> until something
      numberpad                     interesting is seen
                        G<dir>,   same, except a branching corridor isn't
 <  up                  ^<dir>:     considered interesting (the ^ in this
                                    case means the Control key, not a caret)
 >  down                m<dir>:   move without picking up objects/fighting
                        F<dir>:   fight even if you don't sense a monster
                If the number_pad option is set, the digit keys move instead.
                Depending on the platform, Shift digit (on the numberpad),
                Meta digit, or Alt digit will invoke the YUHJKLBN commands.
                Control <dir> may or may not work when number_pad is enabled,
                depending on the platform's capabilities.
                Digit '5' acts as 'G' prefix, unless number_pad is set to 2
                in which case it acts as 'g' instead.
                If number_pad is set to 3, the roles of 1,2,3 and 7,8,9 are
                reversed; when set to 4, behaves same as 3 combined with 2.
                If number_pad is set to -1, alphabetic movement commands are
                used but 'y' and 'z' are swapped.

General commands:
?     help      display one of several informative texts
#quit quit      end the game without saving current game
S     save      save the game (to be continued later) and exit
                [to restore, play again and use the same character name;
                use #quit to quit without saving]
!     sh        escape to some SHELL (if allowed; 'exit' to resume play)
^Z    suspend   suspend the game (independent of your current suspend char)
                [on UNIX(tm)-based systems, use the 'fg' command to resume]
O     options   set options
/     what-is   tell what a map symbol represents
\     known     display list of what's been discovered
|     perminv   interact with persistent inventory window instead of hero+map
v     chronicle display a list of important events
V     version   display version number
^A    again     redo the previous command
^R    redraw    redraw the screen
^P    prevmsg   repeat previous message (consecutive ^P's repeat earlier ones)
#               introduces an extended command (#? for a list of them)
&     what-does describe the command a keystroke invokes

Control characters are depicted as '^' followed by a letter.  Depress Ctrl
or Control like a shift key then type the letter.  Control characters are
case-insensitive; ^D is the same as ^d, Ctrl+d is same as Ctrl+Shift+d.
There are a few non-letter control characters; nethack uses ^[ as a synonym
for Escape (or vice versa) and ^_ for #retravel but none of the others.

Game commands:
^D    kick      kick (a door, or something else)
^T    Tport     teleport (if you can)
^X    show      show your attributes
a     apply     apply or use a tool (pick-axe, key, camera, etc.)
A     takeoffall  choose multiple items of armor, accessories, and weapons
                to take off, remove, unwield (uses same amount of game time
                as removing them individually with T,R,w- would take)
c     close     close a door
C     call      name a monster, an individual object, or a type of object
d     drop      drop an object.  d7a:  drop seven items of object 'a'
D     Drop      drop selected types of objects
e     eat       eat something
E     engrave   write a message in the dust on the floor  (E-  use fingers)
f     fire      fire ammunition from quiver
F     fight     followed by direction, fight a monster
i     invent    list your inventory (all objects you are carrying)
I     Invent    list selected parts of your inventory; for example
                  I(  list all tools, or  I"  list all amulets
                  IB  list all items known to be blessed
                  IU  uncursed, or  IC  cursed, or  IX  unknown bless state
                  Iu  when in a shop, list unpaid objects being carried
                  Ix  in a shop, list any fees and used-up shop-owned items
o     open      open a door
p     pay       pay your bill (in a shop)
P     puton     put on an accessory (ring, amulet, etc; can be used to wear
                armor too, but armor items aren't listed as likely candidates)
q     quaff     drink something (potion, water, etc)
Q     quiver    select ammunition for quiver (use '#quit' to quit)
r     read      read a scroll or spellbook
R     remove    remove an accessory (ring, amulet, etc; can be used to take
                off armor too)
s     search    search for secret doors, hidden traps and monsters
t     throw     throw or shoot a weapon
T     takeoff   take off some armor; can be used to remove accessories too,
                but those aren't listed as likely candidates)
w     wield     wield a weapon  (w-  wield nothing to unwield current weapon)
W     wear      wear an item of armor; can be used to put on accessories too,
                but those aren't listed as likely candidates)
x     xchange   swap wielded and secondary weapons
X     twoweapon toggle two-weapon combat if role allows that
z     zap       zap a wand  (use y instead of z if number_pad is -1)
Z     Zap       cast a spell  (use Y instead of Z if number_pad is -1)
<     up        go up the stairs
>     down      go down the stairs
^     trap_id   identify a previously found trap
),[,=,",(       show current items of specified symbol in use
*               show combination of ),[,=,",( all at once
$     gold      count your gold
+     spells    list the spells you know; also rearrange them if desired
`     classkn   display known items for one class of objects
_     travel    move via a shortest-path algorithm to a point on the map
^_    retravel  resume travelling toward previously specified destination
.     rest      wait a moment
,     pickup    pick up all you can carry
@               toggle "pickup" (auto pickup) option on and off
:     look      look at what is here
;     farlook   look at what is somewhere else by selecting a map location
                (for a monster on top of one or more objects, only describes
                that monster; for a pile of objects, only describes top one)

Keyboards that have a meta key (some use Alt for that, so typing Alt as a
shift plus 'e' would generate 'M-e') can also use these extended commands
via the meta modifier as an alternative to using the # prefix.  Unlike
control characters, meta characters are case-sensitive so M-a is different
from M-A.  Type the latter with two keys used as shifts, Meta+Shift+a.

M-?             display extended command help (if the platform allows this)
M-2   twoweapon toggle two-weapon combat (unless number_pad is enabled)
M-a   adjust    adjust inventory letters
M-A   annotate  add a one-line note to the current dungeon level (see M-O)
M-c   chat      talk to someone
M-C   conduct   view optional challenges
M-d   dip       dip an object into something
M-e   enhance   show weapon and spell skills, can improve them if eligible
M-f   force     force a lock
M-g   genocided list genocided and extinct monster types, if any
M-i   invoke    invoke an object's special powers
M-j   jump      jump to another location
M-l   loot      loot a box on the floor
M-m   monster   when polymorphed, use monster's special ability
M-n   name      name a monster, an individual object, or a type of object
M-N   name      synonym for M-n  (both are the same as C)
M-o   offer     offer a sacrifice to the gods
M-O   overview  display information about visited levels and annotations
M-p   pray      pray to the gods for help
M-q   quit      stop playing without saving game (use S to save and exit)
M-r   rub       rub a lamp or a stone
M-R   ride      mount or dismount saddled steed
M-s   sit       sit down
M-t   turn      turn undead if role allows that
M-T   tip       upend a container to dump out its contents
M-u   untrap    untrap something
M-V   vanquished list number and type of vanquished monsters
M-v   version   print compile time options for this version
M-w   wipe      wipe off your face
M-X   explore   switch from regular play to non-scoring explore mode

If the 'number_pad' option is on, keys usually used for movement can be
used for various commands:

n               followed by number of times to repeat the next command
h     help      display one of several informative texts, like '?'
j     jump      jump to another location
k     kick      kick something (usually a door)
l     loot      loot a box on the floor
N     name      name an item or type of object
u     untrap    untrap something (usually a trapped object)

Additional commands are available in debug mode (also known as wizard mode).
&# cmdhelp - became obsolete when 'BINDINGS=key:command' got added
&	Tell what command a keystroke invokes
^	Show the type of an adjacent trap
^[	Cancel command (same as ESCape key)
&? debug
^E	Search for nearby traps, secret doors, and unseen monsters
^F	Map level; reveals traps and secret corridors but not secret doors
^G	Create a monster by name or class
^I	View inventory with all items identified
^O	List special level locations
^V	Teleport between levels
^W	Wish for something
&: #!debug
^E	unavailable debugging command
^F	unavailable debugging command
^G	unavailable debugging command
^I	unavailable debugging command
^O	Shortcut for '#overview': list interesting levels you have visited
^V	unavailable debugging command
^W	unavailable debugging command
&. #?debug
&? number_pad=0,-1
b	Go southwest 1 space
B	Go southwest until you are on top of something
h	Go west 1 space
H	Go west until you are on top of something
j	Go south 1 space
J	Go south until you are on top of something
k	Go north 1 space
K	Go north until you are on top of something
l	Go east 1 space
L	Go east until you are on top of something
n	Go southeast 1 space
N	Go southeast until you are on something
u	Go northeast 1 space
U	Go northeast until you are on top of something
&# y,Y handled below
&: #number_pad=1,2,3,4
h	Help: synonym for '?'
j	Jump: shortcut for '#jump'
k	Kick: synonym for '^D'
l	Loot: shortcut for '#loot'
n	Start a count; continue with digit(s)
N	Name: shortcut for '#name'
u	Untrap: shortcut for '#untrap'
&. #0,-1 vs 1,2,3,4
a	Apply (use) a tool or break a wand
A	Remove all armor and/or all accessories and/or unwield weapons
^A	Redo the previous command
^B	Go southwest until you are near something
c	Close a door
C	Call (name) a monster, an individual object, or a type of object
^C	Interrupt: quit the game
d	Drop an item
D	Drop specific item types
^D	Kick something (usually a door, chest, or box)
e	Eat something
E	Engrave writing on the floor
f	Fire ammunition from quiver
F	Followed by direction, fight a monster (even if you don't sense it)
g	Followed by direction, move until you are near something
G	Followed by direction, same as control-direction
^H	Go west until you are near something
i	Show your inventory
I	Inventory specific item types
^J	Go south until you are near something
^K	Go north until you are near something
^L	Go east until you are near something
m	Followed by direction, move without picking anything up or fighting
M	Followed by direction, move a distance without picking anything up
^N	Go southeast until you are near something
o	Open a door
O	Show option settings, possibly change them
p	Pay your shopping bill
P	Put on an accessory (ring, amulet, etc; will work for armor too)
^P	Toggle through previously displayed game messages
q	Quaff (drink) something (potion, water, etc)
Q	Select ammunition for quiver (use '#quit' to quit)
r	Read a scroll or spellbook
R	Remove an accessory (ring, amulet, etc; will work for armor too)
^R	Redraw screen
s	Search all immediately adjacent locations for traps and secret doors
S	Save the game (and exit; there is no "save and keep going")
t	Throw something (choose an item, then a direction--not a target)
T	Take off one piece of armor (will work for accessories too)
^T	Teleport around level
^U	Go northeast until you are near something
v	Show version ('#version' shows more information)
V	Show history of game's development
w	Wield a weapon (for dual weapons: 'w' secondary, 'x', 'w' primary, 'X')
W	Wear a piece of armor (will work for accessories too)
x	Swap wielded and secondary weapons
X	Toggle two-weapon combat
^X	Show your attributes (shows more in debug or explore mode)
&? number_pad=0,1,2,3,4
&? number_pad=0
y	Go northwest 1 space
Y	Go northwest until you are on top of something
&.
^Y	Go northwest until you are near something
z	Zap a wand
Z	Zap (cast) a spell
&? suspend
^Z	Suspend game; 'fg' (foreground) to resume
&:
^Z	unavailable command: suspend
&.
&: number_pad=-1
y	Zap a wand
Y	Zap (cast) a spell
&? suspend
^Y	Suspend game; 'fg' (foreground) to resume
&:
^Y	unavailable command: suspend
&.
z	Go northwest 1 space
Z	Go northwest until you are on top of something
^Z	Go northwest until you are near something
&. #0,1..4 vs -1
<	Go up a staircase
>	Go down a staircase
/	Show what type of thing a symbol corresponds to
?	Give a help message
&? shell
!	Do a shell escape; 'exit' shell to come back
&:
!	unavailable command: shell
&.
\	Show what object types have been discovered
`	Show discovered types for one class of objects
_	Travel via a shortest-path algorithm to a point on the map
.	Rest one move while doing nothing
&? rest_on_space
 	Rest one move while doing nothing
&.
:	Look at what is on the floor
;	Show what type of thing a map symbol on the level corresponds to
,	Pick up things at the current location
@	Toggle the pickup option on/off
)	Show the weapon(s) currently wielded or readied
[	Show the armor currently worn
=	Show the ring(s) currently worn
"	Show the amulet currently worn
(	Show the tools currently in use
*	Show all equipment in use (combination of the ),[,=,",( commands)
$	Count your gold
+	List known spells
Del	Display map without monsters or objects obstructing the view.
#	Perform an extended command (use '#?' to list choices)
&# number_pad:
&#  -1 = numpad off, swap y with z (including Y with Z, ^Y with ^Z, M-y &c)
&#   0 = numpad off (default)
&#   1 = numpad on, normal keypad layout, '5'->'g'
&#   2 = numpad on, normal keypad layout, '5'->'G'
&#   3 = numpad on, phone keypad layout, '5'->'g'
&#   4 = numpad on, phone keypad layout, '5'->'G'
&? number_pad = 1,2,3,4
0	Show inventory
4	Move west
6	Move east
-	'F' prefix; force fight
&: #-1,0
0	Continue a count
4	Start or continue a count
6	Start or continue a count
&. #1,2,3,4 vs -1,0
&? number_pad=1,2
7	Move northwest
8	Move north
9	Move northeast
1	Move southwest
2	Move south
3	Move southeast
&: number_pad=3,4
1	Move northwest
2	Move north
3	Move northeast
7	Move southwest
8	Move south
9	Move southeast
&: #-1,0
1	Start or continue a count
2	Start or continue a count
3	Start or continue a count
7	Start or continue a count
8	Start or continue a count
9	Start or continue a count
&. #1,2 vs 3,4 vs -1,0
&? number_pad=1,3
5	'g' movement prefix
M-5	'G' movement prefix
&: number_pad=2,4
5	'G' movement prefix
M-5	'g' movement prefix
M-0	Inventory specific item types
&: #-1,0
5	Start or continue a count
M-2	Toggle two-weapon combat
&. #1,3 vs 2,4 vs -1,0
M-?	Display extended command help (if the platform allows this)
M-a	Adjust inventory letters
M-A	Annotate: supply a name for the current dungeon level
M-c	Chat: talk to an adjacent creature
M-C	Conduct: list voluntary challenges you have maintained
M-d	Dip an object into something
M-e	Enhance: check weapons skills, advance them if eligible
M-f	Force a lock
M-i	Invoke an object's special powers
M-j	Jump to a nearby location
M-l	Loot a box on the floor
M-m	When polymorphed, use a monster's special ability
M-n	Name a monster, an individual object, or a type of object
M-N	Name a monster, an individual object, or a type of object
M-o	Offer a sacrifice to the gods
M-O	Overview: show a summary of the explored dungeon
M-p	Pray to the gods for help
M-q	Quit (exit without saving)
M-r	Rub a lamp or a touchstone
M-R	Ride: mount or dismount a saddled steed
M-s	Sit down
M-t	Turn undead
M-T	Tip: empty a container
M-u	Untrap something (trap, door, or chest)
M-v	Print compile time options for this version of NetHack
M-w	Wipe off your face
M-X	Switch from normal play to explore mode
	Depending upon hardware or operating system or NetHack's interface,
	some keystrokes may be off-limits.

	For example, ^S and ^Q are often used for XON/XOFF flow-control,
	meaning that ^S suspends output and subsequent ^Q resumes suspended
	output.  When that is the case, neither of those characters will
	reach NetHack when it is waiting for a command keystroke.  So they
	aren't used as commands, but 'whatdoes' might not be able to tell
	you that if they don't get passed through to NetHack.

	^M or <return> or <enter> is likely to be transformed into ^J or
	<linefeed> or 'newline' before being passed to NetHack for handling.
	So it isn't used as a command, and 'whatdoes' might seem as if it
	is reporting the wrong character but will be operating correctly if
	it describes ^J when you type ^M.

	A NUL character, which is typed as ^<space> on some keyboards,
	^@ on others, and maybe not typeable at all on yet others, is not
	used as a command, and will be converted into ESC before reaching
	'whatdoes'.  Unlike ^M, this transformation is performed within
	NetHack.  But like ^M, if you type NUL and get feedback about ESC,
	the situation is expected.

	ESC itself is a synonym for ^[, and is another source of oddity.
	Various function keys, including cursor arrow keys, may transmit
	an "escape sequence" of ESC + [ + other stuff, confusing NetHack
	as to what command was intended since the ESC will be processed
	and then whatever follows will seem to NetHack like--and be used
	as--something typed by the user.  (If you press a function key and
	a menu of the armor your hero is wearing appears, what happened
	was that an escape sequence was sent to NetHack, its ESC aborted
	any pending key operation, its '[' was then treated as a command
	to show worn armor, and the "other stuff" probably got silently
	discarded as invalid choices while you dismissed the menu.)

	If you have NetHack's 'altmeta' option enabled, meaning that the
	<alt> or <option> key, when used as shift while typing some other
	character, transmits ESC and then the other character so NetHack
	should treat that other character as a meta-character, then ESC
	takes on added potential for confusion.  Implicit in the handling
	of a two character sequence ESC + something is the fact that when
	NetHack sees ESC, it needs to wait for another character before
	it can decide what to do.  So if you type ESC manually, you'll
	need to type it a second time or NetHack will sit there waiting.
	(It will then be treated as if you typed ESC rather than M-ESC.)

	On some systems, typing ^\ will send a QUIT signal to the current
	process, probably killing it and possibly causing it to save a
	core dump.  It is not used for any NetHack command, so don't type
	that character.

	One last note:  characters shown as ^x mean that you should hold
	down the <control> or <ctrl> key as a shift and then type 'x'.
	Control characters are all implicitly uppercase, but you don't
	need to press the shift key while typing them.  The opposite is
	true for meta-characters:  they can be either case, so you need
	to use shift as well as <meta> or <alt> to generate an uppercase
	letter meta-character.
NetHack History file for release 5.0

Behold, mortal, the origins of NetHack...

Jay Fenlason wrote the original Hack, with help from Kenny Woodland,
Mike Thome, and Jon Payne.

Andries Brouwer did a major re-write while at Stichting Mathematisch Centrum
(now Centrum Wiskunde & Informatica), transforming Hack into a very different
game.  He published the Hack source code for use on UNIX(tm) systems by
posting that to Usenet newsgroup net.sources (later renamed comp.sources)
releasing version 1.0 in December of 1984, then versions 1.0.1, 1.0.2, and
finally 1.0.3 in July of 1985.  Usenet newsgroup net.games.hack (later
renamed rec.games.hack, eventually replaced by rec.games.roguelike.nethack)
was created for discussing it.

Don G. Kneller ported Hack 1.0.3 to Microsoft(tm) C and MS-DOS(tm), producing
PC HACK 1.01e, added support for DEC Rainbow graphics in version 1.03g, and
went on to produce at least four more versions (3.0, 3.2, 3.51, and 3.6;
note that these are old Hack version numbers, not contemporary NetHack ones).

R. Black ported PC HACK 3.51 to Lattice(tm) C and the Atari 520/1040ST,
producing ST Hack 1.03.

Mike Stephenson merged these various versions back together, incorporating
many of the added features, and produced NetHack version 1.4 in 1987.  He
then coordinated a cast of thousands in enhancing and debugging NetHack 1.4
and released NetHack versions 2.2 and 2.3.  Like Hack, they were released by
posting their source code to Usenet where they remained available in various
archives accessible via ftp and uucp after expiring from the newsgroup.

Later, Mike coordinated a major re-write of the game, heading a team which
included Ken Arromdee, Jean-Christophe Collet, Steve Creps, Eric Hendrickson,
Izchak Miller, Eric S. Raymond, John Rupley, Mike Threepoint, and Janet Walz,
to produce NetHack 3.0c.

NetHack 3.0 was ported to the Atari by Eric R. Smith, to OS/2 by Timo
Hakulinen, and to VMS by David Gentzel.  The three of them and Kevin Darcy
later joined the main NetHack Development Team to produce subsequent
revisions of 3.0.

Olaf Seibert ported NetHack 2.3 and 3.0 to the Amiga.  Norm Meluch, Stephen
Spackman and Pierre Martineau designed overlay code for PC NetHack 3.0.
Johnny Lee ported NetHack 3.0 to the Macintosh.  Along with various other
Dungeoneers, they continued to enhance the PC, Macintosh, and Amiga ports
through the later revisions of 3.0.

Version 3.0 went through ten relatively rapidly released "patch-level"
revisions.  Versions at the time were known as 3.0 for the base release
and variously as "3.0a" through "3.0j", "3.0 patchlevel 1" through
"3.0 patchlevel 10", or "3.0pl1" through "3.0pl10" rather than 3.0.0 and
3.0.1 through 3.0.10; the three component numbering scheme began to be used
with 3.1.0.

Headed by Mike Stephenson and coordinated by Izchak Miller and Janet Walz,
the NetHack Development Team which now included Ken Arromdee, David Cohrs,
Jean-Christophe Collet, Kevin Darcy, Matt Day, Timo Hakulinen, Steve Linhart,
Dean Luick, Pat Rankin, Eric Raymond, and Eric Smith undertook a radical
revision of 3.0.  They re-structured the game's design, and re-wrote major
parts of the code.  They added multiple dungeons, a new display, special
individual character quests, a new endgame and many other new features, and
produced NetHack 3.1.  Version 3.1.0 was released in January of 1993.

Ken Lorber, Gregg Wonderly and Greg Olson, with help from Richard Addison,
Mike Passaretti, and Olaf Seibert, developed NetHack 3.1 for the Amiga.

Norm Meluch and Kevin Smolkowski, with help from Carl Schelin, Stephen
Spackman, Steve VanDevender, and Paul Winner, ported NetHack 3.1 to the PC.

Jon W{tte and Hao-yang Wang, with help from Ross Brown, Mike Engber, David
Hairston, Michael Hamel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke,
and Andy Swanson, developed NetHack 3.1 for the Macintosh, porting it for
MPW.  Building on their development, Bart House added a Think C port.

Timo Hakulinen ported NetHack 3.1 to OS/2.  Eric Smith ported NetHack 3.1
to the Atari.  Pat Rankin, with help from Joshua Delahunty, was responsible
for the VMS version of NetHack 3.1.  Michael Allison ported NetHack 3.1 to
Windows NT.

Dean Luick, with help from David Cohrs, developed NetHack 3.1 for X11.
It drew the map as text rather than graphically but included nh10.bdf, an
optionally used custom X11 font which has tiny images in place of letters and
punctuation, a precursor of tiles.  Those images don't extend to individual
monster and object types, just replacements for monster and object classes
(so one custom image for all "a" insects and another for all "[" armor and
so forth, not separate images for beetles and ants or for cloaks and boots).

Warwick Allison wrote a graphically displayed version of NetHack for the
Atari where the tiny pictures were described as "icons" and were distinct
for specific types of monsters and objects rather than just their classes.
He contributed them to the NetHack Development Team which rechristened them
"tiles", original usage which has subsequently been picked up by various
other games.  NetHack's tiles support was then implemented on other platforms
(initially MS-DOS but eventually Windows, Qt, and X11 too).

The 3.2 NetHack Development Team, comprised of Michael Allison, Ken Arromdee,
David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, Timo Hakulinen, Steve
Linhart, Dean Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet Walz,
and Paul Winner, released version 3.2.0 in April of 1996.

Version 3.2 marked the tenth anniversary of the formation of the development
team.  In a testament to their dedication to the game, all thirteen members
of the original NetHack Development Team remained on the team at the start
of work on that release.  During the interval between the release of 3.1.3
and 3.2.0, one of the founding members of the NetHack Development Team,
Dr. Izchak Miller, was diagnosed with cancer and passed away.  That release
of the game was dedicated to him by the development and porting teams.

Version 3.2 proved to be more stable than previous versions.  Many bugs
were fixed, abuses eliminated, and game features tuned for better game
play.

During the lifespan of NetHack 3.1 and 3.2, several enthusiasts of the game
added their own modifications to the game and made these "variants" publicly
available:

Tom Proudfoot and Yuval Oren created NetHack++, which was quickly renamed
NetHack-- when some people incorrectly assumed that it was a conversion
of the C source code to C++.  Working independently, Stephen White wrote
NetHack Plus.  Tom Proudfoot later merged NetHack Plus and his own NetHack--
to produce SLASH.  Larry Stewart-Zerba and Warwick Allison improved the
spell casting system with the Wizard Patch.  Warwick Allison also ported
NetHack to use the Qt interface.

Warren Cheung combined SLASH with the Wizard Patch to produce Slash'EM, and
with the help of Kevin Hugo, added more features.  Kevin later joined the
NetHack Development Team and incorporated the best of these ideas into
NetHack 3.3.

The final update to 3.2 was the bug fix release 3.2.3, which was released
simultaneously with 3.3.0 in December 1999 just in time for the Year 2000.
Because of the newer version, 3.2.3 was released as a source code patch only,
without any ready-to-play distribution for systems that usually had such.

(To anyone considering resurrecting an old version:  all versions before
3.2.3 had a Y2K bug.  The high scores file and the log file contained dates
which were formatted using a two-digit year, and 1999's year 99 was followed
by 2000's year 100.  That got written out successfully but it unintentionally
introduced an extra column in the file layout which prevented score entries
from being read back in correctly, interfering with insertion of new high
scores and with retrieval of old character names to use for random ghost and
statue names in the current game.)

The 3.3 NetHack Development Team, consisting of Michael Allison, Ken Arromdee,
David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, Timo Hakulinen,
Kevin Hugo, Steve Linhart, Ken Lorber, Dean Luick, Pat Rankin, Eric Smith,
Mike Stephenson, Janet Walz, and Paul Winner, released 3.3.0 in
December 1999 and 3.3.1 in August of 2000.

Version 3.3 offered many firsts.  It was the first version to separate race
and profession.  The Elf class was removed in preference to an elf race,
and the races of dwarves, gnomes, and orcs made their first appearance in
the game alongside the familiar human race.  Monk and Ranger roles joined
Archeologists, Barbarians, Cavemen, Healers, Knights, Priests, Rogues,
Samurai, Tourists, Valkyries and of course, Wizards.  It was also the first
version to allow you to ride a steed, and was the first version to have a
publicly available web-site listing all the bugs that had been discovered.
Despite that constantly growing bug list, 3.3 proved stable enough to last
for more than a year and a half.

The 3.4 NetHack Development Team initially consisted of Michael Allison,
Ken Arromdee, David Cohrs, Jessie Collet, Kevin Hugo, Ken Lorber, Dean Luick,
Pat Rankin, Mike Stephenson, Janet Walz, and Paul Winner, with Warwick Allison
joining just before the release of NetHack 3.4.0 in March 2002.

As with version 3.3, various people contributed to the game as a whole as
well as supporting ports on the different platforms that NetHack runs on:

Pat Rankin maintained 3.4 for VMS.

Michael Allison maintained NetHack 3.4 for the MS-DOS platform.
Paul Winner and Yitzhak Sapir provided encouragement.

Dean Luick, Mark Modrall, and Kevin Hugo maintained and enhanced the
Macintosh port of 3.4.

Michael Allison, David Cohrs, Alex Kompel, Dion Nicolaas, and Yitzhak Sapir
maintained and enhanced 3.4 for the Microsoft Windows platform.  Alex Kompel
contributed a new graphical interface for the Windows port.  Alex Kompel also
contributed a Windows CE port for 3.4.1.

Ron Van Iwaarden was the sole maintainer of NetHack for OS/2 the past several
releases. Unfortunately Ron's last OS/2 machine stopped working in early
2006. A great many thanks to Ron for keeping NetHack alive on OS/2 all these
years.

Janne Salmijarvi and Teemu Suikki maintained and enhanced the
Amiga port of 3.4 after Janne Salmijarvi resurrected it for 3.3.1.

Christian "Marvin" Bressler maintained 3.4 for the Atari after he
resurrected it for 3.3.1.

The release of NetHack 3.4.3 in December 2003 marked the beginning of a
long release hiatus.  3.4.3 proved to be a remarkably stable version that
provided continued enjoyment by the community for more than a decade.  The
NetHack Development Team slowly and quietly continued to work on the game
behind the scenes during the tenure of 3.4.3.  It was during that same
period that several new variants emerged within the NetHack community.
Notably sporkhack by Derek S. Ray, unnethack by Patric Mueller, nitrohack
and its successors originally by Daniel Thaler and then by Alex Smith, and
Dynahack by Tung Nguyen.  Some of those variants continue to be developed,
maintained, and enjoyed by the community to this day.

In September 2014, an interim snapshot of the code under development was
released publicly by other parties.  Since that code was a work-in-progress
and had not gone through the process of debugging it as a suitable release,
it was decided that the version numbers present on that code snapshot would
be retired and never used in an official NetHack release.  An announcement
was posted on the NetHack Development Team's official nethack.org website
to that effect, stating that there would never be a 3.4.4, 3.5, or 3.5.0
official release version.

In January 2015, preparation began for the release of NetHack 3.6.

At the beginning of development for what would eventually get released
as 3.6.0, the NetHack Development Team consisted of Warwick Allison,
Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Ken Lorber,
Dean Luick, Pat Rankin, Mike Stephenson, Janet Walz, and Paul Winner.
In early 2015, ahead of the release of 3.6.0, new members Sean Hunt,
Pasi Kallinen, and Derek S. Ray joined the NetHack Development Team.

Near the end of the development of 3.6.0, one of the significant inspirations
for many of the humorous and fun features found in the game, author
Terry Pratchett, passed away.  NetHack 3.6.0 introduced a tribute to him.

3.6.0 was released in December 2015, and merged work done by the development
team since the release of 3.4.3 with some of the beloved community patches.
Many bugs were fixed and some code was restructured.

The NetHack Development Team, as well as Steve VanDevender and
Kevin Smolkowski, ensured that NetHack 3.6 continued to operate on various
UNIX flavors and maintained the X11 interface.

Ken Lorber, Haoyang Wang, Pat Rankin, and Dean Luick maintained the port
of NetHack 3.6 for MacOS.

Michael Allison, David Cohrs, Bart House, Pasi Kallinen, Alex Kompel,
Dion Nicolaas, Derek S. Ray and Yitzhak Sapir maintained the port of
NetHack 3.6 for Microsoft Windows.

Pat Rankin attempted to keep the VMS port running for NetHack 3.6,
hindered by limited access.  Kevin Smolkowski has updated and tested it
for the most recent version of OpenVMS (V8.4 as of this writing) on Alpha
and Integrity (aka Itanium aka IA64) but not VAX.

Ray Chason resurrected the MS-DOS port for 3.6 and contributed the
necessary updates to the community at large.

In late April 2018, several hundred bug fixes for 3.6.0 and some new
features were assembled and released as NetHack 3.6.1.
The NetHack Development Team at the time of release of 3.6.1 consisted of
Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet,
Pasi Kallinen, Ken Lorber, Dean Luick, Patric Mueller, Pat Rankin,
Derek S. Ray, Alex Smith, Mike Stephenson, Janet Walz, and Paul Winner.

In early May 2019, another 320 bug fixes along with some enhancements and
the adopted curses window port, were released as 3.6.2.

Bart House, who had contributed to the game as a porting team participant
for decades, joined the NetHack Development Team in late May 2019.

NetHack 3.6.3 was released on December 5, 2019 containing over 190 bug
fixes to NetHack 3.6.2.

NetHack 3.6.4 was released on December 18, 2019 containing a security
fix and a few bug fixes.

NetHack 3.6.5 was released on January 27, 2020 containing some security fixes
and a small number of bug fixes.

NetHack 3.6.6 was released on March 8, 2020 containing a security fix and
some bug fixes.

NetHack 3.6.7 was released on February 16, 2023 containing a security fix and
some bug fixes.

Development work for the major release to follow NetHack 3.6 began in 2015
around the same time as NetHack 3.6.0 was being released. That development
work continued in parallel to each of the NetHack 3.6 releases from 2015
through 2023, and continued until the end of April 2026.  For the first time,
that development was shared publicly on GitHub and SourceForge as it occurred.
It was done under the label NetHack-3.7 work-in-progress (WIP), although the
version number for the next release had not yet been solidified.

Exposure of the development to the public brought many good things, and some
challenges. People were able to observe and criticize changes and new features
almost immediately, and they often did. The GitHub pull request system made
it straightforward for people to contribute directly to development.
Contributions resolved many, many bugs in the game and we thank all the
contributors.

In early 2026, with the game development getting stable enough to consider
initiating an official release, the devteam reviewed the nature and number of
changes in the game. It was clear that there was sufficient depth and
breadth to warrant a major release and version 5.0 was decided on.
That's a new major release over 3.x, without opening up any ambiguity
or confusion with existing variants that there might have been had it
been released as version 4.0.

NetHack 5.0.0 was released on May 2, 2026.

The source code for NetHack 5.0.0 was modified and modernized to be compliant
with the C99 standard. The 5.0.0 release contained over 3100 fixes,changes,
and updated features.

NetHack 5.0 was the first version to replace the lex and yacc level
and dungeon compilers of past versions, with a new Lua interpreter-based
approach to provide those elements. Lua is also used for the quest texts
in NetHack 5.0.0. The entire development team acknowledges the work
done by Pasi Kallinen to make that happen.

At the time of the NetHack 5.0 release, the core development team,
active and erstwhile, included Warwick Allison, Michael Allison,
Ken Arromdee, David Cohrs, Jessie Collet, Bart House, Kevin Hugo,
Pasi Kallinen, Ken Lorber, Dean Luick, Pat Rankin, Derek S. Ray,
Alex Smith, Patric Mueller, Mike Stephenson, Janet Walz, Paul Winner.

Ken Lorber, Pat Rankin, Patrick Mueller and Michael Allison helped ensure
that NetHack 5.0 would run on macOS.

Ingo Paschke somehow managed to revive a NetHack 5.0 port for the Amiga,
using a cross-compiler on a modern platform to do so. His work was shared
so others can straightforwardly produce NetHack 5.0 for the Amiga thanks
to his efforts.

Ray Chason contributed the majority of maintenance work for the NetHack 5.0
MS-DOS port, including porting the curses interface to it.
Michael Allison ensured that NetHack 5.0 core changes continued to work
with the msdos port and keep it alive.  Cross-compiling the MS-DOS port
has helped make that possible and mostly painless.

People that contributed to the Windows port of NetHack 5.0 since the
development of NetHack 5.0 begain over eleven years ago, included
Michael Allison, David Cohrs, Bart House, Pasi Kallinen, Alex Kompel,
Dion Nicolaas, Derek S. Ray and Yitzhak Sapir.

With sadness, the devteam would like to acknowledge and remember the past
contributions from the late Ron Van Iwaarden, who was the sole maintainer
of NetHack for OS/2 for several past NetHack releases. Ron will be missed.

The official NetHack web site is maintained by Ken Lorber at
https://www.nethack.org/.

On behalf of the NetHack community, thank you very much once again  to
M.  Drew  Streib and Pasi Kallinen for providing a public NetHack server
at nethack.alt.org. Thanks to  Keith  Simpson  and Andy Thomson for
hardfought.org. Thanks to all those unnamed dungeoneers who invest their
time and  effort  into  annual  NetHack tournaments such as Junethack,
The November NetHack Tournament, and in days past, devnull.net (gone for
now, but not forgotten).

                           - - - - - - - - - -

From time to time, some depraved individual out there in netland sends a
particularly intriguing modification to help out with the game.  The
NetHack Development Team sometimes makes note of the names of the worst
of these miscreants in this, the list of Dungeoneers:

    Adam Aronow               Irina Rempt-Drijfhout     Mike Gallop
    Alex Kompel               Izchak Miller             Mike Passaretti
    Alex Smith                J. Ali Harlow             Mike Stephenson
    Andreas Dorn              Janet Walz                Mikko Juola
    Andy Church               Janne Salmijarvi          Nathan Eady
    Andy Swanson              Jean-Christophe Collet    Norm Meluch
    Andy Thomson              Jeff Bailey               Olaf Seibert
    Ari Huttunen              Jochen Erwied             Pasi Kallinen
    Bart House                John Kallen               Pat Rankin
    Benson I. Margulies       John Rupley               Patric Mueller
    Bill Dyer                 John S. Bien              Paul Winner
    Boudewijn Waijers         Johnny Lee                Pierre Martineau
    Bruce Cox                 Jon W{tte                 Ralf Brown
    Bruce Holloway            Jonathan Handler          Ray Chason
    Bruce Mewborne            Joshua Delahunty          Richard Addison
    Cameron Root              Karl Garrison             Richard Beigel
    Carl Schelin              Keizo Yamamoto            Richard P. Hughey
    Chris Russo               Keith Simpson             Rob Menke
    David Cohrs               Ken Arnold                Robin Bandy
    David Damerell            Ken Arromdee              Robin Johnson
    David Gentzel             Ken Lorber                Roderick Schertler
    David Hairston            Ken Washikita             Roland McGrath
    Dean Luick                Kestrel Gregorich-Trevor  Ron Van Iwaarden
    Del Lamb                  Kevin Darcy               Ronnen Miller
    Derek S. Ray              Kevin Hugo                Ross Brown
    Deron Meranda             Kevin Sitze               Sascha Wostmann
    Dion Nicolaas             Kevin Smolkowski          Scott Bigham
    Dylan O'Donnell           Kevin Sweet               Scott R. Turner
    Eric Backus               Lars Huttar               Sean Hunt
    Eric Hendrickson          Leon Arnott               Stephen Spackman
    Eric R. Smith             M. Drew Streib            Stefan Thielscher
    Eric S. Raymond           Malcolm Ryan              Stephen White
    Erik Andersen             Mark Gooderum             Steve Creps
    Fredrik Ljungdahl         Mark Modrall              Steve Linhart
    Frederick Roeber          Marvin Bressler           Steve VanDevender
    G. Branden Robinson       Matthew Day               Teemu Suikki
    Gil Neiger                Merlyn LeRoy              Tim Lennan
    Greg Laskin               Michael Allison           Timo Hakulinen
    Greg Olson                Michael Feir              Tom Almy
    Gregg Wonderly            Michael Hamel             Tom West
    Hao-yang Wang             Michael Meyer             Warren Cheung
    Helge Hafting             Michael Sokolov           Warwick Allison
    Ingo Paschke              Mike Engber               Yitzhak Sapir
Boolean options not under specific compile flags (with default values in []):
(You can learn which options exist in your version by checking your current
option setting, which is reached via the 'O' command.)

acoustics      can your character hear anything                    [True]
armorstatus    show extra status field summarizing worn armor     [False]
autodescribe   describe the terrain under cursor                  [False]
autodig        dig if moving and wielding digging tool            [False]
autoopen       walking into a door attempts to open it             [True]
autopickup     automatically pick up objects you move over         [True]
autoquiver     when firing with an empty quiver, select some      [False]
               suitable inventory weapon to fill the quiver
BIOS           allow the use of IBM ROM BIOS calls                [False]
blind          your character is permanently blind                [False]
bones          allow loading bones files                           [True]
clicklook      look at map by clicking right mouse button         [False]
cmdassist      give help for errors on direction & other commands  [True]
color          use different colors for objects on screen  [True for micros]
confirm        ask before hitting tame or peaceful monsters        [True]
dark_room      show floor not in sight in different color          [True]
dropped_nopick exclude dropped objects from autopickup             [True]
eight_bit_tty  send 8-bit characters straight to terminal         [False]
extmenu        tty, curses: use menu for # (extended commands)    [False]
               X11: menu has all commands (T) or traditional subset (F)
female         deprecated; use compound option gender:female      [False]
fixinv         try to retain the same letter for the same object   [True]
force_invmenu  commands asking for inventory item show a menu     [False]
goldX          when filtering objects by bless/curse state,       [False]
               whether to classify gold as X (unknown) or U (uncursed)
help           print all available info when using the / command   [True]
herecmd_menu   show menu of some possible commands when clicking
               on yourself or next to you with mouse              [False]
hilite_pet     display pets in a highlighted manner               [False]
hilite_pile    display item piles in a highlighted manner         [False]
ignintr        ignore interrupt signal, including breaks          [False]
implicit_uncursed  omit "uncursed" from inventory, if possible     [True]
legacy         print introductory message                          [True]
lit_corridor   show a dark corridor as lit if in sight            [False]
lootabc        use a/b/c rather than o/i/b when looting           [False]
mail           enable the mail daemon                              [True]
mention_decor  give feedback when walking across stairs, altars,  [False]
               fountains, and such even when not obscured by objects
mention_walls  give feedback when walking against a wall          [False]
menu_overlay   overlay menus on the screen and align to right      [True]
menucolors     enable MENUCOLOR pattern matching to highlight     [False]
               lines in object menus like inventory; might highlight with
               bold, inverse, &c even when color is unavailable or toggled off
nudist         start your character without armor                 [False]
null           allow nulls to be sent to your terminal             [True]
               try turning this option off (forcing NetHack to use its own
               delay code) if moving objects seem to teleport across rooms
pauper         start your character with no possessions           [False]
perm_invent    keep inventory in a permanent window               [False]
pickup_stolen  override pickup_types for stolen objects            [True]
pickup_thrown  override pickup_types for thrown objects            [True]
price_quotes   show remembered price quotes for unIDed items      [False]
pushweapon     when wielding a new weapon, put your previously    [False]
               wielded weapon into the secondary weapon slot
quick_farsight usually skip the chance to browse the map when     [False]
               randomly triggered clairvoyance takes place
rawio          allow the use of raw I/O                           [False]
reroll         allow rerolling of starting inventory              [False]
rest_on_space  count the space bar as a rest character            [False]
safe_pet       prevent you from (knowingly) attacking your pet(s)  [True]
safe_wait      require use of 'm' prefix before '.' or 's' to      [True]
               wait or search when adjacent to a hostile monster
sanity_check   perform data sanity checks                         [False]
showexp        display your accumulated experience points         [False]
showrace       show yourself by your race rather than by role     [False]
showvers       show version number on status lines                [False]
silent         don't use your terminal's bell sound                [True]
sortpack       group similar kinds of objects in inventory         [True]
sparkle        display sparkly effect for resisted magical         [True]
               attacks (e.g. fire attack on fire-resistant monster)
standout       use standout mode for --More-- on messages         [False]
status_updates update the status lines                             [True]
terrainstatus  show extra status field describing current location  [False]
time           display elapsed game time, in moves                [False]
tips           show some helpful tips during gameplay              [True]
tombstone      print tombstone when you die                        [True]
toptenwin      print topten in a window rather than stdout        [False]
travel         enables travelling via mouse click if supported;    [True]
               can be toggled off to prevent mouse clicks on the map from
               attempting to move the hero; does not affect travel via '_'
use_darkgray   use bold black instead of blue for black glyphs.    [True]
use_inverse    display detected monsters in highlighted manner    [False]
verbose        print more commentary during the game               [True]
weaponstatus   show extra status field listing wielded weapon(s)  [False]
whatis_menu    show menu when getting a map location              [False]
whatis_moveskip skip same glyphs when getting a map location      [False]


There are further boolean options controlled by compilation flags.

Boolean option if INSURANCE was set at compile time:
checkpoint     save game state after each level change, for        [True]
               possible recovery after program crash

Boolean option if NEWS was set at compile time:
news           print any news from game administrator on startup   [True]

Boolean option if SCORE_ON_BOTL was set at compile time:
showscore      display your approximate accumulated score         [False]

Boolean option if TIMED_DELAY was set at compile time (tty or curses only):
timed_delay    on unix and VMS, use a timer instead of sending     [True]
               extra screen output when attempting to pause for
               display effect.  on MSDOS without the termcap
               lib, whether or not to pause for visual effect.

Boolean option if ALTMETA was set at compile time:
altmeta        For unix and VMS, treat two character sequence
               "ESC c" as M-c (Meta+c, 8th bit set) when nethack  [False]
               obtains a command from player's keyboard.

Boolean option if TILES_IN_GLYPHMAP set at compile time (MSDOS):
preload_tiles  control whether tiles get pre-loaded into RAM at    [True]
               the start of the game.  Doing so enhances performance
               of the tile graphics, but uses more memory.

Boolean option if TTY_TILES_ESCCODES was set at compile time (tty only):
vt_tiledata    insert extra data escape code markers into output  [False]

Boolean option if TTY_SOUND_ESCCODES was set at compile time (tty only):
vt_sounddata   insert sound data escape code markers into output  [False]

Boolean options which may be available depending upon which interfaces
the program has been built to support.  If it supports multiple such,
some of these may show as available for setting but not do anything if
you happen to be using a different interface than the one(s) they're for:
ascii_map      show map as text, forces tiles_map Off; Qt, X11
guicolor       curses
hitpointbar    curses, tty, Windows GUI if statushilites enabled;
               Qt without statushilites; X11 if 'fancy_status' disabled
               (via X application defaults) and statushilities enabled
popup_dialog   curses, Qt, Windows GUI
selectsaved    tty (Qt and Windows GUI do this unconditionally)
splash_screen  curses, Qt, Windows GUI
tiled_map      show map as tiles, forces ascii_map Off; Qt, X11

Boolean options available when running in debug mode (aka wizard mode):
menu_tab_sep   menu formatting--do not touch
monpolycontrol have player choose shape-changing monsters' new shapes
montelecontrol let player choose destination for teleported monsters
travel_debug   show state of travel pathfinding algorithm on the map
wizweight      include item weights in inventory display

Any Boolean option can be set to True by including it among options being
set, or negated (set to False) by prefixing its name with a '!' or 'no'.
Alternatively, the compound option syntax can be used: 'optname:true' and
'optname:false'.

 - - - - -

Compound options are written as option_name:option_value.

Compound options which can be set during the game are:

autounlock    when attempting to open a locked door or loot     [Apply-Key]
              a locked container, specifies an action to take: can be
              None, or one or more of Untrap + Apply-Key + Kick + Force;
              if Untrap is included, it will be handled first; the
              others apply if you answer "no" to "check for traps?";
              for "yes", it won't necessary find anything even when a
              trap happens to be present and will use up the rest of
              the current move regardless of whether it finds anything;
              Kick is only useful for doors and Force is only useful for
              containers; either will only be attempted if Untrap is
              omitted or skipped and Apply-Key is omitted or you aren't
              carrying an unlocking tool or you decline to use one
boulder       override the default boulder symbol                       [`]
crash_email   email address to use when filling in crash reports         []
crash_name    name to use when filling in crash reports                  []
crash_urlmax  length of longest url we can generate for a crash report   []
disclose      the types of information you want         [ni na nv ng nc no]
              offered at the end of the game
              (space separated list of two-character values;
              prefix: '+' always disclose, '-' never disclose,
              'n' prompt with default "no", 'y' prompt with default "yes",
              'a' prompt to select sorting order (for suffix 'v' only);
              suffix: 'i' inventory, 'a' attributes, 'v' vanquished
              monsters, 'g' genocided and extinct monsters, 'c' conduct
              and achievements, 'o' dungeon overview)
fruit         the name of a fruit you enjoy eating             [slime mold]
              (basically a whimsy which NetHack uses from time to time).
hilite_status specifies a rule for highlighting a status field           []
              (multiple instances are allowed)
menustyle     user interface for selection of multiple objects:      [Full]
              Traditional -- prompt for classes of interest, then
                             prompt item-by-item for those classes;
              Combination -- prompt for classes of interest, then
                             use a menu for choosing items;
              Full        -- menu for classes of interest, then item menu;
              Partial     -- skip class filtering, use menu of all items;
              only the first letter ('T','C','F','P') matters
              (With Traditional, many actions allow pseudo-class 'm' to
              request a menu for choosing items: one-shot Combination.)
menu_objsyms  whether to include object class symbols in menus:         [4]
              0 - none    -- don't add object symbols to menus;
              1 - headers -- append object class symbol to menu header lines;
              2 - entries -- show object glyphs (same as class symbol
                             for ASCII interfaces) on each menu entry line;
              3 - both    -- 1 and 2 combined;
              4 - conditional  -- as 2 but only if no headers are present;
              5 - one-or-other -- 1 and 4 combined;
              choices 0 and 1 should work with any interface; 2 through 5
              are supported by tty and curses
msg_window    behavior of ^P message recall for tty interface:          [s]
              single      -- one message at a time
              full        -- full window with all saved top line messages
              reverse     -- full with messages printed most-recent-first
              combination -- first two of consecutive ^P commands show
                             single messages, third yields full set
msg_window    behavior of ^P message recall for curses interface:       [r]
              reverse     -- full window, most recent first
              full        -- full with messages printed least recent first,
                             initially positioned on last page to start
                             with most recent messages in view
number_pad    alphabetic versus numeric control over movement:          [0]
               0 -- traditional hjkl + yubn movement (default);
               1 -- digits control movement, for use with numeric keypad;
               2 -- same as 1, but '5' works as 'g' prefix rather than 'G';
               3 -- numeric for phone keypad (1,2,3 above, 7,8,9 below);
               4 -- phone keypad (3) combined with '5' preference (2);
              -1 -- "qwertz"; alphabetic movement but 'z' swapped with 'y'.
              Setting number_pad (to a positive value) affects how all
              digit keys are handled, not just those on numeric keypad.
packorder     a list of default symbols for kinds of       [")[%?+!=/(*`0_]
              objects that gives the order in which your inventory (and
              some other things) gets shown if the 'sortpack' option is on
              (If you specify only some kinds of items, the others from the
              default order will be appended to the end.)
paranoid_confirmation  space separated list    [paranoid_confirm:pray swim]
              of situations where alternate prompting is desired
              Confirm -- when requiring "yes", also require "no" to reject;
                      also requires yes rather than y for pray, trap, Autoall
              quit    -- yes vs y to confirm quitting or to enter explore mode
              die     -- yes vs y to confirm dying (for explore or debug mode)
              bones   -- yes vs y to confirm saving bones data in debug mode
              attack  -- yes vs y to confirm attacking a peaceful monster
              wand-break  -- yes vs y to confirm breaking a wand
              eating  -- yes vs y to confirm whether to continue eating
              Were-change -- yes vs y to confirm changing form due to
                      lycanthropy when hero has polymorph control;
              pray    -- y to confirm an attempt to pray; on by default
              trap    -- y to enter a known trap unless it is harmless;
              swim    -- require m prefix to move into water or lava when
                      hero has seen it and isn't impaired; on by default;
              AutoAll -- y to confirm if using menustyle:Full and choice 'A'
                      in the object class filtering menu is selected;
              Remove  -- always pick from inventory for 'R' and 'T' even when
                      wearing just one applicable item to remove or take off
perminv_mode  if the interface supports a persistent inventory window   [a]
              and the perm_invent option is true, this controls what
              will be shown:
              none/off -- behave as if perm_invent is false
              all/on   -- show inventory except for gold (default)
              full     -- show inventory including gold
              in-use   -- only show worn and wielded items
              (the tty interface's optional perm_invent support includes
              a couple of additional choices that vary all and full)
pickup_burden when you pick up an item that exceeds this encumbrance    [S]
              level (Unencumbered, Burdened, streSsed, straiNed, overTaxed,
              or overLoaded), you will be asked if you want to continue.
pickup_types  a list of default symbols for kinds of objects to          []
              autopickup when that option is on; empty list means "all"
pile_limit    for feedback when walking across floor objects,           [5]
              threshold at which "there are objects here" is displayed
              instead of listing them.  (0 means "always list objects.")
runmode       controls how often the map window is updated for        [run]
              multi-step movement (various running modes or travel command):
              teleport -- don't update map until movement stops;
              run      -- periodically update map (interval is seven steps);
              walk     -- update map after every step;
              crawl    -- like walk, but delay after making each step.
              (This only affects screen display, not actual movement.)
scores        the parts of the score list you wish    [!own/3 top/2 around]
              to see when the game ends.  You choose a combination of
              top scores, scores around the top scores, and all of your
              own scores.
sortdiscoveries preferred order when viewing list of discovered objects [o]
              o -- in order of discovery within each class
              s -- sortloot's "loot" order
              c -- alphabetized within each class
              a -- alphabetized across all classes
sortloot      preferred order when examining a set of objects           [n]
              none -- no sorting
              loot -- sort piles of objects on floor and in containers
              full -- 'loot' plus objects in inventory
sortvanquished preferred order when viewing vanquished monsters list    [t]
              t -- traditional, order by monster level
              d -- order by monster difficulty rating
              a -- alphabetical, first any unique monsters then others
              c -- order by class, low to high level within each class
              n -- order by count, high to low
              z -- order by count, low to high
statushilites whether to display status highlights (when non-zero) and  [0]
              also how many turns to display temporary highlights (for
              'up', 'down', and 'changed' hilite_status rules)
statuslines   whether to use expanded (3) or condensed (2) status       [2]
              (for tty and curses; 2 is traditional, 3 is recommended;
              also for Qt, where 3 is traditional and 2 is recommended)
suppress_alert disable various version-specific warnings about changes   []
              in game play or the user interface, such as notification given
              for the 'Q' command that quitting is now done via #quit
              (e.g., use suppress_alert:3.3.1 to stop that and any other
              notifications added in that version or earlier)
versinfo      selects what information is displayed when showvers  [1 or 4]
              is true (default depends on program development status)
whatis_coord  controls whether to include map coordinates when          [n]
              autodescribe is active for the '/' and ';' commands.
              Value is the first letter of one of
              compass      -- (relative to you; 'east' or '3s' or '2n,4w')
              full compass -- ('east' or '3south' or '2north,4west')
              map          -- <x,y>        (map column x=0 is not used)
              screen       -- [row,column] (row is offset to match tty usage)
              none         -- no coordinates shown.
whatis_filter controls how to filter eligible map coordinates when      [n]
              getting a map location for eg. the travel command.
              Value is the one of
              n - no filtering
              v - locations in view only
              a - locations in same area (room, corridor, etc)

Compound options which may be set only on startup are:

align      Your starting alignment (lawful, neutral, chaotic,      [random]
           or random).  Many roles restrict the choice to a subset.
           You may specify just the first letter.
catname    name of your starting pet if it is a kitten               [none]
dogname    name of your starting pet if it is a little dog           [none]
           Several roles who start with a dog have one whose name is
           pre-set (for example, "Hachi" for Samurai), but that name
           will be overridden if you specify dogname.
gender     Your starting gender (male, female, or random).         [random]
           You may specify just the first letter.  Although you can
           still denote your gender using the old "male" and "female"
           boolean options, the "gender" option will take precedence.
horsename  name of your starting pet if it is a pony                 [none]
menu_*     specify single character accelerators for menu commands.
           Here is a list of all commands with their default keystroke
           followed by a list of window-ports that implement them:
           (t is tty, c is curses, w is Windows GUI, x is X11, q is Qt)
           menu_first_page    jump to the first page in a menu     [^](tcwxq)
           menu_last_page     jump to the last page in a menu      [|](tcwxq)
           menu_next_page     advance to the next menu page        [>](tcwxq)
           menu_previous_page back up to the previous menu page    [<](tcwxq)
           menu_shift_left    pan view to left (perm_invent only)  [{](cx)
           menu_shift_right   pan view to right (perm_invent only) [}](cx)
           menu_select_all    select all items in a menu           [.](tcwxq)
           menu_select_page   select all items on this menu page   [,](tcwq)
           menu_deselect_all  deselect all items in a menu         [-](tcwxq)
           menu_deselect_page deselect all items on this menu page [\](tcwq)
           menu_invert_all    invert all items in a menu           [@](tcwxq)
           menu_invert_page   invert all items on this menu page   [~](tcwq)
           menu_search        prompt for target text and invert    [:](tcwxq)
                              items which match that
msghistory number of top line messages to save                         [20]
name       the name of your character      [defaults to username on multi-
           user systems, asks "who are you?" on single-user systems or if
           the username is classified as generic like "games"]
           MS Windows is treated as single-user even though it supports
           usernames.  If character name is specified on the command
           line (typically via 'nethack -u myname' depending upon type
           of system and method of access to it), that name overrides
           'name' from your options.
pettype    your preferred type of pet (cat, dog, horse, random,    [random]
           or none), if your role allows more than one type (or if you
           want to avoid a starting pet).  Most roles allow dog or cat
           but not horse.  For roles which force a particular type,
           pettype is ignored unless it specifies 'none'.
playmode   normal play or non-scoring explore mode or debug mode   [normal]
race       Your starting race (e.g., race:Human, race:Elf).        [random]
           Most roles restrict race choice to a subset.
role       Your starting role (e.g., role:Barbarian, role:Valk).   [random]
           Although you can specify just the first letter(s), it will
           choose only the first role it finds that matches; thus, it
           is recommended that you spell out as much of the role name
           as possible.  You can also still denote your role by
           appending it to the "name" option (e.g., name:Vic-V), but
           the "role" option will take precedence.
windowtype windowing system to be used    [depends on operating system and
           compile-time setup]    if more than one choice is available.
           Some instances of the program support only one window-type;
           when that is the case, you don't need to specify anything.
           The list of supported window-types in your program can be
           seen while the program is running by using the #version
           command or from outside the program by examining the text file
           named 'options' which is generated when building it.

Some sample options lists are:
!autopickup,!tombstone,name:Gandalf,scores:own/3 top/2 around
female,nonews,dogname:Rover,rest_on_space,!verbose,menustyle:traditional
 How dynamically setting options works:

 The simple options menu shows a relatively small subset of options
 and operates on each choice you make immediately, then is put back
 up to allow further changes.

 The full options menu shows the current value for all options and
 lets you pick ones that you'd like to change.  Picking them doesn't
 make any changes though.  That will take place once you close the
 menu.  For most of NetHack's interfaces, closing the menu is done
 by pressing the <enter> key or <return> key; others might require
 clicking on [ok].  Pressing the <escape> key or clicking on [cancel]
 will close the menu and discard any pending changes.

 The options menu is too long to fit on one screen.  Some interfaces
 paginate menus; use the '>' key to advance a page or '<' to back
 up.  They typically re-use selection letters (a-z) on each page.
 Others use one long page and you need to use a scrollbar; once past
 a-z and A-Z they'll have entries without selection letters.  Those
 can be selected by clicking on them.

 For toggling boolean (True/False or On/Off) options, selecting them
 is all that is needed.  For compound options (which take a number,
 a choice of several particular values, or something more complex,
 and are listed in a second section after the boolean ones), you will
 be prompted to supply a new value.

 At the start of each of the two sections are the values of some
 unselectable options which can only be set before the game starts.
 After the compound section are some "other" options which take a set
 of multiple values and tend to be more complicated to deal with.

 Some changes will only last until you save (or quit) the current
 game.  Usually those are for things that might not be appropriate
 if you were to restore the saved game on another computer with
 different capabilities.  Other options will be included in this
 game's save file and retain their settings after restore.  None set
 in the options menu will affect other games, either already saved or
 new ones.  For that, you need to update your run-time configuration
 file and specify the desired options settings there.  Even then,
 restoring existing games that contain saved option values will use
 those saved ones.

Debug-Mode Quick Reference:

^E  ==  detect secret doors and traps nearby
^F  ==  map level; reveals traps and secret corridors but not secret doors
^G  ==  create monster by name or class
^I  ==  identify items in pack
^T  ==  do intra-level teleport
^V  ==  do trans-level teleport; '?' yields menu of special destinations
^W  ==  make a wish for an item or a trap or a limited subset of terrain
^X  ==  show status, attributes, and characteristics (extended enlightenment)

#debugfuzzer    == set game to run on autopilot; keeps going until failure;
                   escalates impossible warnings to panic
#levelchange    == set hero's experience level
#lightsources   == show mobile light sources
#migratemons    == show migrating monsters; [Opt] potentially create some
#panic          == panic test (warning: current game will be terminated)
#polyself       == polymorph self
#stats          == show memory statistics
#terrain        == show current level (more options than in normal play)
#timeout        == look at timeout queue and hero's timed intrinsics
#vision         == show vision array
#wizborn        == show monster birth/death/geno/extinct stats
#wizcast        == cast any spell
#wizdispmacros  == [Opt] check internal display classifications
#wizfliplevel   == transpose the current dungeon level
#wizintrinsic   == set selected intrinsic timeouts
#wizkill        == remove monster(s) from play
#wizloaddes     == load and execute a special level description lua script
#wizloadlua     == load and execute a lua script
#wizmakemap     == recreate the current dungeon level
#wizmondiff     == [Opt] check for discrepancies in monster difficulty ratings
#wizobjprobs    == [Opt] list actual probabilities of item generation
#wizrumorcheck  == validate rumor indexing; also show first, second, and last
                   random engravings, epitaphs, and hallucinatory monsters
#wizseenv       == show map locations' seen vectors
#wizsmell       == smell a monster
#wiztelekinesis == magically shove a monster
#wizwhere       == show dungeon placement of all special levels
#wmode          == show wall modes

Options:
debug_hunger    == disable hero's hunger
debug_mongen    == disable random monster generation
debug_overwrite_stairs
                == allows stairs to be replaced by other terrain
monpolycontrol  == prompt for new form whenever any monster changes shape
sanity_check    == evaluate monsters, objects, and map prior to each turn
wizweight       == augment object descriptions with their objects' weight

[Opt] = conditionally available depending upon build-time settings
                    NETHACK GENERAL PUBLIC LICENSE
                    (Copyright 1989 M. Stephenson)

               (Based on the BISON general public license,
                   copyright 1988 Richard M. Stallman)

 Everyone is permitted to copy and distribute verbatim copies of this
 license, but changing it is not allowed.  You can also use this wording to
 make the terms for other programs.

  The license agreements of most software companies keep you at the mercy of
those companies.  By contrast, our general public license is intended to give
everyone the right to share NetHack.  To make sure that you get the rights we
want you to have, we need to make restrictions that forbid anyone to deny you
these rights or to ask you to surrender the rights.  Hence this license
agreement.

  Specifically, we want to make sure that you have the right to give away
copies of NetHack, that you receive source code or else can get it if you
want it, that you can change NetHack or use pieces of it in new free
programs, and that you know you can do these things.

  To make sure that everyone has such rights, we have to forbid you to
deprive anyone else of these rights.  For example, if you distribute copies
of NetHack, you must give the recipients all the rights that you have.  You
must make sure that they, too, receive or can get the source code.  And you
must tell them their rights.

  Also, for our own protection, we must make certain that everyone finds out
that there is no warranty for NetHack.  If NetHack is modified by someone
else and passed on, we want its recipients to know that what they have is
not what we distributed.

  Therefore we (Mike Stephenson and other holders of NetHack copyrights) make
the following terms which say what you must do to be allowed to distribute or
change NetHack.


                        COPYING POLICIES

  1. You may copy and distribute verbatim copies of NetHack source code as
you receive it, in any medium, provided that you keep intact the notices on
all files that refer to copyrights, to this License Agreement, and to the
absence of any warranty; and give any other recipients of the NetHack
program a copy of this License Agreement along with the program.

  2. You may modify your copy or copies of NetHack or any portion of it, and
copy and distribute such modifications under the terms of Paragraph 1 above
(including distributing this License Agreement), provided that you also do the
following:

    a) cause the modified files to carry prominent notices stating that you
    changed the files and the date of any change; and

    b) cause the whole of any work that you distribute or publish, that in
    whole or in part contains or is a derivative of NetHack or any part
    thereof, to be licensed at no charge to all third parties on terms
    identical to those contained in this License Agreement (except that you
    may choose to grant more extensive warranty protection to some or all
    third parties, at your option)

    c) You may charge a distribution fee for the physical act of
    transferring a copy, and you may at your option offer warranty protection
    in exchange for a fee.

  3. You may copy and distribute NetHack (or a portion or derivative of it,
under Paragraph 2) in object code or executable form under the terms of
Paragraphs 1 and 2 above provided that you also do one of the following:

    a) accompany it with the complete machine-readable source code, which
    must be distributed under the terms of Paragraphs 1 and 2 above; or,

    b) accompany it with full information as to how to obtain the complete
    machine-readable source code from an appropriate archive site.  (This
    alternative is allowed only for noncommercial distribution.)

For these purposes, complete source code means either the full source
distribution as originally released over Usenet or updated copies of the
files in this distribution used to create the object code or executable.

  4. You may not copy, sublicense, distribute or transfer NetHack except as
expressly provided under this License Agreement.  Any attempt otherwise to
copy, sublicense, distribute or transfer NetHack is void and your rights to
use the program under this License agreement shall be automatically
terminated.  However, parties who have received computer software programs
from you with this License Agreement will not have their licenses terminated
so long as such parties remain in full compliance.


Stated plainly:  You are permitted to modify NetHack, or otherwise use parts
of NetHack, provided that you comply with the conditions specified above;
in particular, your modified NetHack or program containing parts of NetHack
must remain freely available as provided in this License Agreement.  In
other words, go ahead and share NetHack, but don't try to stop anyone else
from sharing it farther.
#	This data file is generated by 'makedefs'.  Do not edit. 
Om$equvaz0vjazu!{k}0fm((digvm0xmq(qsg*WO^][WO^][WO^][WO^][W
DnfmbdvlWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Wnel0vcw(xdpaWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
`f$iuscvael][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nuhjbdcp`O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
FchitskadO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Jkhzx"sic!jazu^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Gpkl!nm~ur][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@,W&0,<[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
=/$I>R,[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Xmq(gnl#|0fgp(yu"qx0uja(cugt{O^][WO^][WO^][WO^][WO^][WO^][W
Mcwky`va(flm(cqgvi~{c$g0wmm(si%afdscpm>^][WO^][WO^][WO^][W
Vghd0BmimO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vg$i`nnkoy{g$ns"p`u!kjkotafydlgm>^][WO^][WO^][WO^][WO^][W
Rga(inw$fuyv$_uela{t`{[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
ompibx"wgz`i[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Gmv(q!ekgt!vmeu!aed|!:;?=4141O^][WO^][WO^][WO^][WO^][WO^][W
Qnaicd"`g~&v$nudf$|xd"efylch{>^][WO^][WO^][WO^][WO^][WO^][W
Lc`i}-"mf0Dfaf<!K#e0@fee>^][WO^][WO^][WO^][WO^][WO^][WO^][W
Uuk(diwijc!wt)O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ighd-"Sgbmf%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@q$av ][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
CC@(GNNBWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@pkg "$_usgsg|wgw(g"]m~emv)O^][WO^][WO^][WO^][WO^][WO^][W
Ekc(vnp$^ybvkzi!jazu^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fcm}c!Hqdytq$Xbhomouokq{0vcw(xdpa&0!Ulq0`pa(inw$dqug;WO^][W
Emj/d!ek(dikw(g`{[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fm$dugv$%=,<[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
=/)%0Fm$zyfjpWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Y"iibjq$|xd"wxu][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Y"8%=,"]ge!cvm0igvm>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Igvm0cg$lb`ekfc^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Rcrm0oms$0`l`(tn"}ges"lg}dukz{ ][WO^][WO^][WO^][WO^][WO^][W
Ujazu!ue{0`"lg|d"lmbd,$(Yu%w(wnla(~nu*WO^][WO^][WO^][WO^][W
Uja(Fh`vidhlc(Cpwezu^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ujm{0hq$i0qkp)O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ujm{0hq$fu"p`u!fqfwdmj(inw$ibd"hgjkjo0gmv&O^][WO^][WO^][W
Vcpkx!mq|<!vlmbd%w(q!ejg}d"sadi"e(g`l`(g"`mquj$juikjl0uje|0emkz1
Ujm{0rsqibd"`m|h`azqughq0mgb|0cnef{/][WO^][WO^][WO^][WO^][W
Icaz}tl`(X`p`ihd"gibwg`(digwm0swjmc^][WO^][WO^][WO^][WO^][W
Ogal0`"hawiv;(0Bmim0wkwad!vlm0Lkjmdnuj(rscjkx!mb(Y{ali{&q$Dyfjpa~f"W|sg%
Rlecur"kf0uja(Qrvvi|!Rhi~d")(Cnmj(yo"e(ttlcmo"jmqs"}ge^][W
Xmq(qsg$|xd"kfu!omd|hmj|x!tm{yumv(dn"p`yr"tdqbg%(0Qnaicd"siyu"68 !vqz~r"bgb!{k}b!ueft!mb(ghqla~f,
Vcvfyoe((Uyrhgthlc(btla{1^][WO^][WO^][WO^][WO^][WO^][WO^][W
Hd$qt"gi~!pait!vlmcd"sgbeq$|xdl$qt"ezu!lk|0nlhq0`"jmbe"f}d!rvgr``hq0egel>
Uja(s`ia(yr"e(|hg[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
#	This data file is generated by 'makedefs'.  Do not edit. 
Om$equvaz0vjazu!K$uov((xdpa(Y!ci&O^][WO^][WO^][WO^][WO^][W
Sgw|0hl$xu`aaWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
S,M&@/][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Sgw|0Hl$Xydaa{O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ompm0,/$|xdpa(qsg$F_!tede``hm0hvaec!kj(dikw(wscrmO^][WO^][W
0;=<=0;==>!Vlm0Mmjourv)Dywg`(X`aomb!Grmb^][WO^][WO^][WO^][W
Uja(Wscrm0nd$|xd"Qf{omsf0Icgcus][WO^][WO^][WO^][WO^][WO^][W
Vg$usgj/d!qqzu!ulg0ujm{0vcw$0cwp(gd"f}bhg`(xho$`usg$i~xueq
Rrez{x")%0ig$qr"e(fdp}(wnm`(tne[WO^][WO^][WO^][WO^][WO^][W
Cgsibd"kn0Dnakdskg(Dikvl0ScmdO^][WO^][WO^][WO^][WO^][WO^][W
Lc`m0hl$\qhuefO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ne$nbhgjl>!Mc(wnm`(ttfa&0Ne$lydf*(_f"jgg!dkgt/][WO^][WO^][W
Cga||dhqasd"Fmuunabehaa(Rdgpdukwmku^][WO^][WO^][WO^][WO^][W
Mmkc0nwp(rdnk1^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Qnaicd"`g~&v$lyf"im0tr*(0H%i(`dpbmsun}(x`rtq0emsf0igvm>!/)(Bdqmluov
Qmw|}`l((`mge{u!lk|u!dkzg`p`a~f"eltsgw{*!Ea`uolke<!Cweegq{7r"Bgbupa{c-"bavuj$dulwvm0nl$|xd"hmvu
Lcvq0ic`(q!nm|dmg$dql`+Adr"bdudaa(g`q$xhva(qr"wfv-S`uo"Iibx"sic!kj(dsmqj|d-P`u!neer!ue{0gkv{d!vk(wn
Cg$kqsgb}|-"kz0ujm{0bmqdt!jex`dl$|!{k}1^][WO^][WO^][WO^][W
Rmkf0xmq/|m"ngyo"p`yr"bm|mms(yo"lm|m#$%=!vlm0Vk~ibe"kn0Xgjls
Bcq|ynl%(Dikw(wscrm0bmj|qhlw(dnzmk0vcw|u^][WO^][WO^][WO^][W
Rwi(atm`(uskwWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Igvm0mka{0`l$Idigm{d-"ed|!fvmcrg`(eq"eft!lk(`mcgm0um$o^][W
Igvm0mka{0Dxacydn((qfg$9 3,$(Dig$onf$lyd"}geoe*WO^][WO^][W
Igvm0mka{0l{$ygg>(Xdpa(|dv$`us"hau "Jgg!qlm7r"e|0sgw|0`l`(cn"ee0H,
Igvm0mka{0Kmlf~x"]mqrv*(0Qcvlo"im0gmv(~nv$zyrkjo>^][WO^][W
Ig$i|vc}{0mkal0vjmdu!mj(dig$mqsvl(qof$fv"lm7r"hqyoe$a~!kpW
H"iitd"ef0`ql(g"iqcdnbWO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Rmkf0sktm>!"Wgo"vgdugj&0!Qkg~!ekfu/"$Jeu"jgd!dkzwnvpm~/][W
Igvm0mka{0uja(rnf}(g"Ng~`vli~!@hi{d,$(Cugtxue"kf0uja(w`q$a~rvait!mb(dig$jb`ia&
Fm$ig`{%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@ne{0gcmz0Ege|x-"#|g`q$eyrqal0hl$dygg$%0rmim0qgeku!cjl0pwmmd!dvg}!o}(ghda
@rtdqtf((}x"bzydl`{<!vlm0bmimtx"m{0gkjacig`&O^][WO^][WO^][W
@v$dqrv*&>!c$fybg$doe${|dgt&O^][WO^][WO^][WO^][WO^][WO^][W
@w`a0Qcv|ul"EdddpeeO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ccwa|-"e{c`wh|ue"fq0cgezc^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cwvfyocpmt^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Bmjnerkkf0vkhd0cg$ei!gtad`rlWO^][WO^][WO^][WO^][WO^][WO^][W
Em$fu"kxuo"qfdhn$Kxskw|}`q[WO^][WO^][WO^][WO^][WO^][WO^][W
Emj/d!`a(t`dp$0ujaq0bmqdto%p(xhv$i~!ghm`icj|0`v$|xhq$lyrv)W
Emj/d!dkzwdv$|!qpg`!cjl0road|!vlm0smwmc^][WO^][WO^][WO^][W
Emj/d!na|0ujm{0ictxuo"pg0xmq)O^][WO^][WO^][WO^][WO^][WO^][W
Ewhku!gp(tdakzel"a{d!rvg0qcpzy`"igbh][WO^][WO^][WO^][WO^][W
Dv$a~!Cvkqeke(ufm[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Gcp|i!cjl0rimf~x"sm~u"pg0cg`&0!De|dx"vg|mg`(wgv(qof${{hljq0vcw(tdc`&0!Qoa~o{$[}hvl(!8:7%"124&
Gkji|m{$A0`o$jubmia~f"w|eqk`mb!lk(}npaWO^][WO^][WO^][WO^][W
Gmhdv"im0um$`umn[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
/,*ns"bi}nww(}dl$`qwg$|xd"s`mg$mqsvl(qr"p`uhp$eulmvaqm][W
Fcim0ntaz<!oef>!"Ci}d"k~us,[WO^][WO^][WO^][WO^][WO^][WO^][W
Fm$ig`{%(0H%i(ds{mfw!vk(d`ia(q!lex0hl$`usg%(0Cnkgtx"elfdlp}bdpw&>/
Fmjm0gkw`yo%[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fmkl0okc`d-"wudv$xbhlgm*!Cjl0gnmoxuq$gv!cjoumq${yoe$|xdg$|!vlq0sgw|1
Fm$\u`o$I~u#[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ig$nqsoal0ikw(g`{$`usg[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Igvm0mka{0`"tzfpee}dp*(0Jkhdue"fq0`"bid`n$mbsmv&O^][WO^][W
Igvm0mka{0Cmf(=!fakyeg`(dn"pzi!cj(qbk`(rmmfWO^][WO^][WO^][W
Igvm0mka{0Ew`dux.$cymnal0c{$i~nvlmb!'"+P"$$fuvv*WO^][WO^][W
Igvm0mka{0Fpaow-"g`jg`(o"ef0decWO^][WO^][WO^][WO^][WO^][W
Igvm0mka{0Mka{>!"M|7r"Pzed,[WO^][WO^][WO^][WO^][WO^][WO^][W
Igvm0mka{0Uja(\`f}/c!oeat-"`aue"kn0`"Rgbqch(Rmc`mO^][WO^][W
Igvm0mka{0uja(|ddp(vnmp(g"Nisj.$cymnal0c{$i0mcjl0lkjm>!"Hmd!ww({oms(yg"}ge!dmft!cjq0lmvm0nd$`yl
Ig$qhval0umk(|nlcWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H%`(b`vlmb!`a(c`kha~f][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Hd$i0lcj/c!famtr"`g0omp(tvhafd"la}-"kn0vje|0wch}u!kw(q!oez{!kj(cumjm/
H%i(wnlji0lcom0hv%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"pgj"fgdi"ta|mq%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"sa|m"w}bwkrm1^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Jkhdue"fq0`"fdqbi$lb`ekf0,/$\xhq$ob`ta(yr"ae`u{[WO^][WO^][W
Mgp(}d"k}d!mb(xdpa)O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Mmkcyo%$onf((]dfq{q/][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Lpw&0Rom|x-"g`jg`(o"ef0`rtdu/"$[xd"hmvu"fmxhl`(wska~yoe$`er`eft-"`iefjpmb-"eft!evi~efe}wivaz>
Omfgtx"fm|hgrmt!jaz0vjaf0rja(c`k`(xdp$nudv$usg$cymnmfw!jaz
Om%(0H"`g~&v$qov$|!qam0l{$lqll$kofqkd ][WO^][WO^][WO^][W
Nla(snpt{u-"wi~r"lmqe][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nl$|xd"s`mg((Y&f$zqujaz0cg$a~!OmfuumsfO^][WO^][WO^][WO^][W
Nl$~qbcpao][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nmt{>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nwp(dn"H}~bj[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
RMHLO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Rmimog${uu"q{0tr$|xd"fg}c#[WO^][WO^][WO^][WO^][WO^][WO^][W
Ucom0l{${dtdb$0H"`g~&v$fudf$ad!cjq}npaWO^][WO^][WO^][WO^][W
Ucoa~f"e(idcv(tdc`(vnp$|qy"vmqrmj{O^][WO^][WO^][WO^][WO^][W
Uja(bdrkzdr"kn0l{$lulkwm0`pa(snotduughq0`ag}b`vaWO^][WO^][W
)Vlac!qtisd"bgb!qedu(][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ujm{0vcw(qbvqi|m{$berv$i0qkp$0cwp(chlgm0ujazu!ue{0`"ggbqqa$0vg$nymnal0hv
Ujm{0vc}(dn"p`u!avq`u][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Uw$yensqm<!@v}dd=[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
WCGI^B[[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vghklg%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vkw`0xmq(gdpa(xdpa)O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Xge$0hv$ou"im0umkWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Xmq(cimqdt!qam0uja(ujaz0fw}WO^][WO^][WO^][WO^][WO^][WO^][W
/,*i~e"p`ux"iitd"im0dlczqwg$ei!msf0igelcumjm0umk)O^][WO^][W
/,*jeu"p`u!`hge"lic!qpg`qg`(`tota~f"eft!K$i}!nand!vk(tdaeq>/,
=G|x|dvm~u!Faduug`6O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@"iicnalacu"m{0ogrmb!qe|yrdmmt/][WO^][WO^][WO^][WO^][WO^][W
@al$0&vsic!c$ud"ig~rvaz0hl$|xd"hgsi][WO^][WO^][WO^][WO^][W
@fexd/"$M~km}&0!Qqzfhta&O^][WO^][WO^][WO^][WO^][WO^][WO^][W
@frm~uwvm<!je`1!"Apshvaeuov((x`j%WO^][WO^][WO^][WO^][WO^][W
@dpmb!chd<!ulid!cvm0gpmm~eq$ns,*&O^][WO^][WO^][WO^][WO^][W
@dpmb!vlac-"jgdikjo0vkhd0rjkk{!oaWO^][WO^][WO^][WO^][WO^][W
@dpmb!vlzud"`iir.$nyrj$i~e"c}urvw(cukjcO^][WO^][WO^][WO^][W
@ea(qof$|bdcg`us{$ymn$i|vc}{0ntazsnoa(inwp`0`l`(cjkhdO^][W
@eaa~f"m{0omp(cn"fit/"$\xd"vmqm"oa|mgv(yr"s`uo"}ge!qpg`/][W
@kj/d!K$i0rvmf{dp;WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@ncmbomjWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@nh(umqa(v`khmt/,*WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@nh(x`kh(BOE[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@nh(bhel|<!ua/|m"gi|m"m|0`"`zqv#[WO^][WO^][WO^][WO^][WO^][W
@nh/c!uad|!vlid!gjlc!uad|^][WO^][WO^][WO^][WO^][WO^][WO^][W
@nkfu!cp(|`qp)O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@nsiir"e|d`ao(q!dhgqukjo0d{a(vsmi(rdjmft ][WO^][WO^][WO^][W
@o$A0icra~f"b}~!{a|/^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l`(Y!aef0rvmd|!avigm.$A7l"jgd!fait!{a|1^][WO^][WO^][WO^][W
@l`(qmn$A0vcj|ue"sic!c$nbdg$deoalWO^][WO^][WO^][WO^][WO^][W
@l`(qmn$gv!vlm0rkcfc!uazu!pmoxu"p`usg$g~!{k}b!deku^][WO^][W
@l`(tnl#|0fkrm0lg$|x`v$a~omgm~u"hgj"aadigv)O^][WO^][WO^][W
@l`(uwgvqog$lydf*(0Cmk(xnm$`n,[WO^][WO^][WO^][WO^][WO^][W
@l`(xdpa(Y!ek(qfcmf>/,[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l`(~n`kli!aezur"qfdhn${lgfgtx"bi}nww(thgw&>/][WO^][WO^][W
@l`(cn"m|0dl`{/^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l`(cn,*&0hv$jufkj{>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l`(cnoa|ylgw(dig$ju`p$mquq$qt,[WO^][WO^][WO^][WO^][WO^][W
@l`(digj(7d"jiymg`(}d"#mqe"pg0uja(vmmkz1^][WO^][WO^][WO^][W
@l`(dig}(c`k`(yu"ggemfj/d!`a(tnla)O^][WO^][WO^][WO^][WO^][W
@l`(gicp(tn"M(|nmo(|hia70!Vlm0mkra~f=[WO^][WO^][WO^][WO^][W
@l`(idq((yu"sic!CHD0ikw(v`wh|1^][WO^][WO^][WO^][WO^][WO^][W
@l`(inw${qhf$ad!ue{0qpa|dx"lmbd,*&O^][WO^][WO^][WO^][WO^][W
@lk|xdp$drv${tn[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l}(t`{$irnta(wsmqft!kw(q!ekgt!feq1^][WO^][WO^][WO^][WO^][W
@l}(}npa(g"p`yr"eft!K#d|!fmm0nd$i0rvvg{d"fmvnpa(Y&o$; /][W
@l}je{${udl$ei!jait>][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l}g~d"bgb!faidioe|si=[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l}|xhlc(vnp$i0bjefwd,[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@l}|xhlc(dicp({hnh{0xmq(}`ia{0xmq(>/,$umn((tdc`WO^][WO^][W
@l}|xhlc(gnpp`0emmfw!kw(gnpp`0ntaztnkjo>^][WO^][WO^][WO^][W
@pa(eokggboq${eqrk{uen}(`dcgmvtn$av!{k}7sg$i0wkvoyo=$(X`j%W
@pa(gd"ed|!`aa~f"`achlpmwscpmt-"kz0hq$ad!hq{d!oa7O^][WO^][W
@v$du`qp(Y&o$onf$id!qkeuujmfw^][WO^][WO^][WO^][WO^][WO^][W
@vpm}qval0rwmkyeg[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@wva0rcgzq!deeur][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
@wvartq$|uogk(|trqeO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cg$xbdrezue][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cge}dx"w}bwkrmc^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cgaf0Igvm>!"Jgg!Ekfu/"$@qe"e(Wnm`(Dhoa&O^][WO^][WO^][WO^][W
Cgaf0ujvgefj$@umn((ui=$(Gicp(thf$qt"fzyoe$eu>][WO^][WO^][W
Cgc(inwv(``p`g~-"`ato%p(bdako~hxa(inw((Y&ta(sicjoue"e(|nv*W
Cgmfw!fait!`qa|eq$kx`pekddp[WO^][WO^][WO^][WO^][WO^][WO^][W
Cghgfdf$lqtel|us.$i0upaictpa$0cwvaue"lmbd,[WO^][WO^][WO^][W
Cgw|0gpmm~eq$klg$i~e"cg>/,*(0Lkjm0kww|0eka&O^][WO^][WO^][W
Cgp|us"fm0egel0ujef0`"bid!qhifd][WO^][WO^][WO^][WO^][WO^][W
Cgp|us"h}sj"jmhu"pa}d][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cgsibd"kn0Ekwksfmi~r"fmqskjo0`lwusq[WO^][WO^][WO^][WO^][W
Cgsibd"p`u!,*&O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cnkgtx"Lm|m,*&O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cnkgtx"fibccvaqoq%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Cnk~!wtqsf$geu"kn0rkc`d;"Lm0rmqoxu"p`u!nai{!`}(s`l`dumkc`d
Cpea~r,*&0Cpea~r,*&0Gpa{x!jqeqo"fzqhlw&>/][WO^][WO^][WO^][W
Cwvaue"p`u!ae|>!"Pgj"ef0imqz>!"@i}o"p`yoe$cuqv$nyfjpa~f,[W
Cwp(Y!fm{qsoal0uja(dsct)O^][WO^][WO^][WO^][WO^][WO^][WO^][W
BMJFUBV$9)76$%0OM$KQSPMMB!3=1$^][WO^][WO^][WO^][WO^][WO^][W
Bchd0lg$av!{k}0ogal0l{$xxnla(~tofmb ][WO^][WO^][WO^][WO^][W
Bcj(INW$n|x=[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Bcj(inw$jumka~u!vlid!vla~f"m{0RVMD\!ok~yoe;WO^][WO^][WO^][W
Bcj(inw$klg$}`!um|x!qkeu!`a|ddp$m~ekjo0gmv(dikw7O^][WO^][W
Bcj(inw$nudn$i~xvla~f"s`uo"M(tn"p`yr=[WO^][WO^][WO^][WO^][W
Bcj(inw$oywg$eu!ok}di"pg0lmq|x-"}ge!hq{d!vkg{!o}(rsge|x!csii/
Bcj/d!K$berv$`qwg$i0MKP\\D"tmbhn;WO^][WO^][WO^][WO^][WO^][W
Bcj/d!ge|<!aef7u"wdudr((x`f$|!`qzi!vlm0iwwjqof$`usg*WO^][W
Bcj/d!{k}0ikp(}d=%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Bjegc-"ti~ha$i~e"`acnp`mb/"$Ei!ukz{!jazu!kw(tnla&O^][WO^][W
Bjak{!gjk|nqal>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Bjak{!vlac!mq|1!"M|7r"iq0cpea~ ][WO^][WO^][WO^][WO^][WO^][W
Bjm~qmp}(yr"kf|x"vmqrmjirm{$lu`f[WO^][WO^][WO^][WO^][WO^][W
Bmbnyo"bgb!qedu/"$Dyggpa}d"c}qscj|ud,[WO^][WO^][WO^][WO^][W
Bmim0Lmjlqx.$A7mn$ju!chd0skc`d/][WO^][WO^][WO^][WO^][WO^][W
Bmim0`l`(cdg$|xd"ramgjku!kj`usgj|0hl$|xd"wqcugiWO^][WO^][W
Bmim0ccgc0igvm1!"M/|m"fadd"}ges"fdnf}({oga{0ndb)O^][WO^][W
Bmieemvm0Cwwa~dqw(]`ala~dq((Yoa*(0Ekal0gmv(tp${yoq*WO^][W
Bmix|`kj(dn"kfu!ulg0bcj(xdnt(inw[WO^][WO^][WO^][WO^][WO^][W
Bmjnurq$ei!qmfc!vk(wnf;(0Vjmkx!mjm/^][WO^][WO^][WO^][WO^][W
Bmjnerkkf0vkhd0cg$ei!gtad`rlWO^][WO^][WO^][WO^][WO^][WO^][W
Bmk|ydq;(0@kj/d!lk(snmpaur"kf0lg%WO^][WO^][WO^][WO^][WO^][W
Bmqdt!qkeucm`q0fgp(dikw(~nmwm0ndb(}d=[WO^][WO^][WO^][WO^][W
Bmqdt!{k}0bjak{!cciyo=$(]x"ji}d"I]CU"fm0ujazu/][WO^][WO^][W
Bmqdt!{k}0qnaicd"pi{d"e(rsge|x!omfd>][WO^][WO^][WO^][WO^][W
Bmqdto%p(Y!`a(cdfe|ue"bgb!vlac>][WO^][WO^][WO^][WO^][WO^][W
Bmqzqfg$ac!nkg{hlc(qu"}ges"wmdccgcc!um|x!qazuokpqO^][WO^][W
Bmrmb!oa$0H%i(wnkjo0hl%WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Bpe{x!ak}brg$a~!`viyo"w}bfgvqO^][WO^][WO^][WO^][WO^][WO^][W
Bpk{c!o}(vhlcmbr"bgb!oa&O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Bwv{u!ekl0`l`(thg[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Bwp(dn"bad^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Eg#Idi][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Egel0@eea~>"$Xqsfkf0lg$ns"jgd!ea|dhlc(yu"vawiv$|xd"babrv$|ylg%
Egel0`l`(|ntmfw!grmbx"ig}dlp)O^][WO^][WO^][WO^][WO^][WO^][W
Egez0vkbm0nd$eyog*(0Ekal0nd$i0cpkcuo"lmqsv((qgvaz0H"pgj"m|0nwp(g"lmb/
Emj/d!vvmqe"kf0lg%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Epeoo=$_x`v$lb`ekf/^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Epe~!cjl0pwezddpalO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Dkp`us"M/}!fait!mv(}x"sidbj$`qr"w|qral>^][WO^][WO^][WO^][W
Dnmrq!/)(G`q$A0sged|x"edywg((s"`at!K$berv$|xhlo(Y!ue{/^][W
Dnrac^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Dlpmb!lk|0hlpg0uja(``vl(g"p`u!umk{df[WO^][WO^][WO^][WO^][W
Dpm{/!"M(tnl#|0ogal0Dpm{O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Dvaz~`n$Lqlle|ynl((Snoa(qof${d`{$i0mmjo0vjmdu ][WO^][WO^][W
Dtaf0Uja(Tdc`(``{$|qygw(8`l`(dig}(qsgj/d!Evidddqd9/][WO^][W
Dtaf0`"pg}c"w|og$ymn${qx"cge"p`yoew(gigj(inw#zu!fk~ ][W
Dtaz0ompasd"p`qu"hafd"m{0dtmd0ccgcg`p`{/^][WO^][WO^][WO^][W
Dtazi!feq0hq${d`ppa~f"pg0mmkc0mkom0Lmjlqx][WO^][WO^][WO^][W
Dtazi!feq<!kj(uwgvq0vc}$0H"ee0fgp|yoe$juuvaz0`l`(rdvpmb/][W
Dtazi!qqzfhted0jkp(cimqdt!kjk|tfa(q!qafcd"kn0iwigb^][WO^][W
Dtmd0H"`at!fsm|m9$(|du`(thf$A0mkrmO^][WO^][WO^][WO^][WO^][W
Dz$xrv$nebvkWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Dzgm|mgj|0ec}(dn"lifd"e(bnvpm~!feq>^][WO^][WO^][WO^][WO^][W
Dzg}cd"im0gmv(~nv${d`l`a~f"qx>^][WO^][WO^][WO^][WO^][WO^][W
Dztmbhgjku!kwf7u"a~us{p`yoe*(0Gkv{d-"}ge&ta(wnv$|!qqzfhta&
Gkv{d!qli|u"p`t"t}|m"k}d!vlm0Imhq0QkjWO^][WO^][WO^][WO^][W
Gmv(q!@vmquj((Y!Vezbx,*&O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Gmv(bdavmqukkfqm"q{u!mjdi/][WO^][WO^][WO^][WO^][WO^][WO^][W
Gmv(c`na20Nla(cnwh$0rnmoxun}(erg`&0!Cwcyoe$ns"7(ghqlmc/][W
Gmv(cnoa(}noafdr"mf0mkbm<!vlmbd"ezu!lk(gnp`{>^][WO^][WO^][W
Gmvouu"@acog}(Gnphl<!K#e0fmmfw!vk(Xdnh)O^][WO^][WO^][WO^][W
Gmvouu"ejtv$|xd"`gw-"Fmg`pa(g"iq0vkbm>^][WO^][WO^][WO^][W
Gwjmb`n$%0Sged0gwj&O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fcsl<!kp/c!faxbdqwa~f"mf0igvm<!kwf7u"m|/^][WO^][WO^][WO^][W
Fgj}yog$Mhqnklyoe$Ob`ta{dnla&0!*g!Qboa(Wscrmcumjmc!Kjk>^][W
Fgp(r`ao(xdpa)0!K#e0omp(vhlm{xdf$quu,*&O^][WO^][WO^][WO^][W
Fm$ixdc`$0H"`ibd"}ge!vk)O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fm$ixdc`$0hv#{0dkp`us"}ge!mv(xho*WO^][WO^][WO^][WO^][WO^][W
Fmhlymmgcc!/)(Dikw(s`qomd!kw(ztqp(bhel|O^][WO^][WO^][WO^][W
Fmjm0Cwp(^nv$Nsek|ddl[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fmjm0Tl`mbfpk}~e"Bgb!Ekgt^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fmjm0`ueq0numf7!okzu!vli~!ja(snwhl0qc}&O^][WO^][WO^][WO^][W
Fmjm<!`q|0omp(vnpcafdl[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Fmp(q!nmnu/"$Lyel#|0jlk0vje|0um$l!um|x!kp&O^][WO^][WO^][W
Fpe~u>"$Jeu"M(g`q$kbdoe|ue#[WO^][WO^][WO^][WO^][WO^][WO^][W
Fpamdhlc{0gpke0Ighd0,"Saci"}ge!uazu!jazu/][WO^][WO^][WO^][W
IGHX1!Kp/c!fez{!kj(xdpa&>/,$(_i.$ei!g}mc!cvm0bnk{ue")(cnpvq
Ic%(Y!LA^US"tii!kjklg$|qy#[WO^][WO^][WO^][WO^][WO^][WO^][W
Icrm0xmq(snoa(dn"viyrg$|xd"`mqe=[WO^][WO^][WO^][WO^][WO^][W
Icra~f"e(wnm`(dhoa(s`l$ju!faitm{*WO^][WO^][WO^][WO^][WO^][W
Icra~f"e(wsge|0ukim>!"S`usg$i}!K$mh`apdi>=[WO^][WO^][WO^][W
Ig$lydf$gv!vlm0gnqp>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ig$lydf$|ec}&>/,$(]`{$u!pa{d!kj(`dcgm1^][WO^][WO^][WO^][W
Ig$ou"p`u!wt{yeg((Y!ek|0uja(tnuj{yeg*WO^][WO^][WO^][WO^][W
Ig$drv$`yr"bisd"s`uo"lm0vcw(rdjaitdf*WO^][WO^][WO^][WO^][W
Ig$eyrqal0lg$nysqp&O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ig#{0omp(tdc`$0ig$berv${}dnh{0uje|0vc}&O^][WO^][WO^][WO^][W
Ighx1!K#~u!ded|dl$i~e"M(s`l#|0fgp(eq#[WO^][WO^][WO^][WO^][W
Ighx<!K$kqo%p(g`ia(eq#[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Igvm0mka{0QkjgsbjmgO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Igvm0mka{0uja(rnf}(g"Ngxo"Vgeof*(0Mmw|0`v${u`"eft!la~us"bgeof*
Igvm0ujazu!`a(tsccg~r][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ig}$0H"`ato%p(gskpm0ujm{0rvqnv ][WO^][WO^][WO^][WO^][WO^][W
Im`au!om`y-"gzqr"parh][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Imhl0l{$kqmnwWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Imim0Ruamd!Jad|^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Iwixdx"@}}qv}$0`"Fit!Gco>!"Lm0vcw(`tqlmt!mbn0uja(g`nh&O^][W
H"OFUV"p`yr"sgemf$`qqraf0hd$A0mkrmt!nkfw!gjgefj*WO^][WO^][W
H"PG\E"}ge!K$qr"wasj#[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"ea~&v$jbnia(rtv$A0`o$jqen}(rdlp&O^][WO^][WO^][WO^][WO^][W
H"ea~&v$g|e,$(Y&o$kxsmjg|nemkqmn}(qetefd`eal>^][WO^][WO^][W
H"ee0OMP(q!tee`hpa&0!K$berv$dyjg$|!`m|u/,jarcna$0sged|x#[W
H"ee0igvm>!"Saci"}ge!uazu!dmfu/][WO^][WO^][WO^][WO^][WO^][W
H"ee0omp(tdc`(idv((rtv$qual(vnp$nesvlmb!paxsvw&O^][WO^][W
H"fm|hgrm0ujae0cmjmc!cvm0lg*WO^][WO^][WO^][WO^][WO^][WO^][W
H"fzjg$`yr"fzqhl*WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"gi~!dam|!kp&0!O}(}hl`&0!Kp/c!eka~f,$(Y!aef0ggad0hv*WO^][W
H"gi~&v$o!vk(Xdnh&0!Vlmi&pa(qgpeat!K#e0fmjfq!vecu!mrmb ][W
H"gi~&v$o!vk(xdnh$0ujaq0emj/d!uefd!oa&O^][WO^][WO^][WO^][W
H"`ato%p(rdnmmfd"mf0sgmfs`pjidhmj(dig$dqrv$|ylg((uhvlmb/][W
H"`ato%p(}dcj(yu"s`uo"M(c`k`(7Ckpm0lg#WO^][WO^][WO^][WO^][W
H"`aue"hiefjmfw^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"`accghauwg`(yo"vmyoaez~`vmg~!kj(}x"hicu"havd.$|n,[WO^][W
H"lisjg`(}xqadv!vk(tdcp`O^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"lifd"ed|!vlm0ukim0hl$|xd"sgbmf[WO^][WO^][WO^][WO^][WO^][W
H"lifd"vmqbjal0Lkjm7r"Aft^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"ofuv"M/t!dmft!c$}cd"bgb!vlac!evifdqpg~d#[WO^][WO^][WO^][W
H"ofv"iq0lkjl>!"Eft!kp/c!cvgeof$`usg${lgtdqbg*WO^][WO^][W
H"haue#$(Y&nh(~dtaz0cg$i|skc`d ][WO^][WO^][WO^][WO^][WO^][W
H"ha{d"m|0cgp|us"mf0uja(t`po&O^][WO^][WO^][WO^][WO^][WO^][W
H"ha{d"pg0cg$`usg$xdl$A0bcj&O^][WO^][WO^][WO^][WO^][WO^][W
H"iii!pm{u!`q|0H"vmvtqa(dn"w`yog*WO^][WO^][WO^][WO^][WO^][W
H"jmfdp$ouu"efi!gm|xdp*WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H"wiye"lad!JME0vkp`0uja(vhpajqmn((~nv$eu ][WO^][WO^][WO^][W
H"pg|e"}ge!K$tn`(~dtaz0rc}(wnm`jid,[WO^][WO^][WO^][WO^][W
H"q{ue"pg0cg$i}tqmfw/"$Fv"M/}!hq{d!fm{wtqpa~f,[WO^][WO^][W
H"q{ue"qx0`nh(}x"wasj"`iir.${!lk0H%i(s`nha~f"mf0egel>^][W
H"sic!imd|df$ji!>md|demj|d"wkb`uh6O^][WO^][WO^][WO^][WO^][W
H"sic!qkeucm`q>!"S`-"m{0om$jerkjmcr"kn0xmqzc/][WO^][WO^][W
H"sa|m"jgd!ek(atka||x,[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H%`(whta(inw$i0qkaku!mb(}x"ia~e,*&0cwp(Y!aef7u"ba~e"m|>^][W
H%`(b`vlmb!`a(rsge|xhlcWO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H%hd0cg$jqbi%WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
H%hd0cg$eumnk0vjaf0H%i(tdc`&0!Dkz0oms$0mgp/c!REZDX#[WO^][W
H%i(tnkjo0ujm{0nlhq0gmv(d`z$xesrk{ur,[WO^][WO^][WO^][WO^][W
H%i(~nv$ivscml0nd$Lu`vl)0!Ulid&q$`u!ekf~`"`g/!Imd|!oa7O^][W
H%i(~nv$ouuvmfw!gjgefj$eog}$0rm$A7l"jgd!eka~f"pg0dlczqwg$i~xvla~f"q{ugwh(xdpa&
H%i(~nv${qxkjo0`l}|xhlc&O^][WO^][WO^][WO^][WO^][WO^][WO^][W
H%i(gdgp`0rvqxudf$%=,<[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Hd$qt"p`tel|0xmq(x`f$xbn`hm}r,*&O^][WO^][WO^][WO^][WO^][W
Hejgb`lgm0jkhdc!fea|x,[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Hejgbd"im>/,$A7l"n}cu"lmbd"bgb!o}(|nmo{1^][WO^][WO^][WO^][W
Hnafu!Vkgv`p$%=!Dad|!mbn0`"gdygd[WO^][WO^][WO^][WO^][WO^][W
Hq$|x`v$i|m=[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Hq$|xdpa(|hda(rddkzu!Faidi=[WO^][WO^][WO^][WO^][WO^][WO^][W
Hq$|xhq$i0kmom<!mv(q!evifd"iidugv7O^][WO^][WO^][WO^][WO^][W
Hv$`qqrafc!qkeuukimc/"$Xunrhm0kww|0dztdeg*WO^][WO^][WO^][W
Hv$eerv$ju!Vl}brfeq>!"M(~dtaz0bmqdt!ea|0uja(x`lc(g"P`esq`iir,
Hv$qrl#|0`"biys"bawiv[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Hv$qrl#|0rm$mqr{*WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Hv#{0Mmk|<!Rmd|`ea(qof$\XDL$Jesl*&>^][WO^][WO^][WO^][WO^][W
Kww|0emmfw!o}(zn`$`usg[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Jkhdue"fq0ekezbige(g"igeuj$i~e"gg~rvmxqukkf0nd$jb`kj&O^][W
Mgp(xdp$ZYQ][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Mgp(yu"fm+!K$i}!fait/][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Mgp/c!rhii!Jmlu!vlm0Bmvxcd][WO^][WO^][WO^][WO^][WO^][WO^][W
Mkbm0hq$F_U"e(tsgeeO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Lc`ou!Kjidhmj(=,"M|0vcwf7u"ed|!kj(}x"lmqe][WO^][WO^][WO^][W
Lga|0lg$a~!Jaifdl[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Lmrm0nl((digvm7r"jgdikjo0um${ud"lmbd,[WO^][WO^][WO^][WO^][W
Lp*(Vmkj|cumjm0,/$Qqc`e%t``fi=emjmO^][WO^][WO^][WO^][WO^][W
L{$`u`pp(yr"jgd!kj(dikwWO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Om$g~d"a~us"`aue"bzl"m|O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Om((inw$qov$zno$9"@.$fuyv$lnp*WO^][WO^][WO^][WO^][WO^][W
Omtm>!"Jg0upex0nl$|x`v$kxdqp&0!K${gdcv&O^][WO^][WO^][WO^][W
Omp(qfcmf1^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Omp(uwgvq0rmmd0bcj(rdcv(qmn$|xhlc{O^][WO^][WO^][WO^][WO^][W
Oms(Y!je~u!c$dygg[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Oms(Y!neq0ujam0emsf0um${|dgt&>/"si~oc$bhl$eu>][WO^][WO^][W
NI((xdpa(yr"e(atgw|ynl>(Gigvm0@PA(inwv(d`lha~dq;WO^][WO^][W
N`a{q!Aefd`tm|O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nj%(Qo"qfdhoadi!faidi,[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nj((rx"p`u!ueq<!jk0vcw(}x"b}~dped/^][WO^][WO^][WO^][WO^][W
#Ml$0imjmi/,*(Y!om{cdf$qt#&(cig${qhf((qof$nysg`(qfcmf>^][W
Ni((cn"p`u!nmoxu"`gur"cg0ndb&0!Lk0mgp(}d"k}d!mb(xdpa&O^][W
Nla(cumjm0cpea~^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nml)0Rmimrnf}(CUMT(}d#[WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nmt{1^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Nwp(vnp$|xd"jawiv*(0Mge~u!c$eurqeou/][WO^][WO^][WO^][WO^][W
Nu%(0Em$|x`v$iw`kj)O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Qcvlo"iq0eww|>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Qcv|0nd$eu!qpa|m"sgbjq*WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Qnaicd.$fu"mf0gpkfd!mb(dimwm0npg{1^][WO^][WO^][WO^][WO^][W
Qpaxqsg$|!oamd!oa(yo"LmqwgjWO^][WO^][WO^][WO^][WO^][WO^][W
S0@:0,/$Zurv((Dhl$XydaaWO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Sghih/"$Fujmfw!grmb!jex`dlw(o"p`u!dmzcu"hmfdn*WO^][WO^][W
Sgw(llmi0lge(stnti0dqpWO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Sgw|0Hl$Xydaa{O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Sgw|<!pa{d-"tmbuwvjue"wxyskp&O^][WO^][WO^][WO^][WO^][WO^][W
Skt(DnpjWO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Rja(qmueqc!qeat!jaz0gga|0vgvm0jkhdyoe$`us"f}d!lkje{$jumka~ue"lmb/
Rja(thg`(g"e(sigw|0bmhl>^][WO^][WO^][WO^][WO^][WO^][WO^][W
Rm$duu"m|0cg$bhvpm~-"wg0mgp(yu"fm0emjm1^][WO^][WO^][WO^][W
Rm$|xdl$A0rc}{<!Jk0em$A0jlk0xmq/bd"p`u!pai|!cjoum"kn0ege|x>
Rmim0qcpauovw(yoqm{d!mj(txkjo>^][WO^][WO^][WO^][WO^][WO^][W
Rmim0qgkx|d"lifd"m|0egel0dcwq<!fkf7u"p`ux=[WO^][WO^][WO^][W
Rmim0ujmfwr"ezu!`a|ddp$dugv$jeskal>^][WO^][WO^][WO^][WO^][W
Rwvm<!vv}cu"im<!K#e0`"higxgv&>/][WO^][WO^][WO^][WO^][WO^][W
Ujef{!Ekl0H"sgbd"iq0bmv{uu.$jubcq{u!K$|xhlo(}x"watdq$`qwg${`mkp&
Uje|0hq$i|m][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Uja(Wnfw(TN"lifd"e(cdlwm0nd$`elmv20H%i(|htmfw!rvgg#[WO^][W
Uja(vsmc/c!fait/"$@u!Iaz}hvpmt!qqashfa&O^][WO^][WO^][WO^][W
Ujm{0ewjounl$ac!c$xerjk~us][WO^][WO^][WO^][WO^][WO^][WO^][W
Ujm{0dna~qumv(tngwf7u"cg0um$@u`tafO^][WO^][WO^][WO^][WO^][W
Ujm{0fpe~urvkfu!kw(cicvmg`pa&0!Vk(bdem{ddp((`mge{u!qaft!oa(!1"~gbjomlc
Ujm{0fpe~urvkfu!rvgfhfal0c{$\xd"]m~emvaqo"Czqwg$[ustmkur"Mfs/
Ujm{0hq$fu"ef0hotgbucj|0qcv|0nd$ei!nmnu/][WO^][WO^][WO^][W
Ujm{0nla/c!mj(}d,[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Ujm{0rk`m0tr[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Uki(Rtpv(=,"Weqrjal0c{$i0upamO^][WO^][WO^][WO^][WO^][WO^][W
Umjm0hv$lvl$i0ckp$0H%i(ds{mfw!vk(wdv${lg$zurv$`usg*WO^][W
Wkv|e`nhq0@nm~u^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vg$_ymn$Eudv$Iw`kj&O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vgax0omp$0ig$ac!cp(bdqpWO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vghklg$|!Fefdd%w&0!Ulid!na~um"tdu`qa7O^][WO^][WO^][WO^][W
Vghd<!cp(|dcw|0ujaq0mkw|uog`(dn"iq0rgveo,*&O^][WO^][WO^][W
Vgj|0um$ju!cj(qoead>^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vje|0`pa(inw$lhlc(wgv(digvm/^][WO^][WO^][WO^][WO^][WO^][W
Vje|0`pa(inw${}hnmfw!cp7O^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vje|0bcj(inw${qx.$Lu`vl/c!ek|0`rtmqm,*&1^][WO^][WO^][WO^][W
Vje|0igeddi"gibd=[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vje|0qkp7O^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vjaf0uja(wnfw(g`lp(dn"t}~hql(inw((dig}(qoqsmb!{k}b!rviidpw&
Vjazu!g#mb!{k}0cg$duu"}ges"sa~e"cg0gpam>!"Omuqkjo0hv$a~!ue{0uja(tdcp`0nd$eu 
Vjazu&q$ei!paneof;WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vkhd0mgp(inw$c~nu$ns"w}bd"mf0`"`ii!mv(dvm*&>^][WO^][WO^][W
Vk~ibeq$ibd"sa}qq[WO^][WO^][WO^][WO^][WO^][WO^][WO^][WO^][W
Vmvec!cp(gnpo$0em$fu"`acuwvj1^][WO^][WO^][WO^][WO^][WO^][W
Vmqdt!{k}0lkjl0lmra~f"e(rhv;(0H%i(cimv|0nd$jbdcp`0emsf0igvm>
Vmqdt!{k}0pwm|0cgmfw!gra|!mrmb!o}(cimqdtdp;WO^][WO^][WO^][W
Xc$zu`nhq0ic`(}d"cgyoe$jqc{((rtv$fv"M/}!ekfu/][WO^][WO^][W
Xgw(Tdcv$0kww|0`"bmg!okzu!omfeugw&>/][WO^][WO^][WO^][WO^][W
Xmq(c`k`(yu"sico%p(`nkwg~nww)O^][WO^][WO^][WO^][WO^][WO^][W
Xmq(cdv$ei!jaibu"en|`oa&0![k}0fcrm0lg$`u`ppjesl*WO^][WO^][W
#	This data file is generated by 'makedefs'.  Do not edit. 
fpqmO^][WO^][WO^][W
kwij!qlzylr[WO^][W
fkefd!rmo}x][WO^][W
flqWO^][WO^][WO^][W
jkhdus"tm~fwmfO^][W
fkefd!akk{smekx^][W
fkefd!qh}w^][WO^][W
lccou][WO^][WO^][W
qvazecg|im][WO^][W
u{vi~omwiesww(bdz[W
ccwa|hqoWO^][WO^][W
cglg|egvWO^][WO^][W
okc`dlcvmO^][WO^][W
ddvmuuk[WO^][WO^][W
lcvat^][WO^][WO^][W
smp(wswfWO^][WO^][W
cmkcgnpiWO^][WO^][W
lcw|us"hasigjWO^][W
rjelv][WO^][WO^][W
imhgwsciWO^][WO^][W
kgw|us][WO^][WO^][W
`vpgbog}WO^][WO^][W
rnaijnk`WO^][WO^][W
jkhdus"pg}`vkWO^][W
`oero][WO^][WO^][W
smfgd^][WO^][WO^][W
ccp||doakx^][WO^][W
sjmfwkv}c^][WO^][W
icvxi^][WO^][WO^][W
mkkf=emcWO^][WO^][W
scp%qov[WO^][WO^][W
X0O(rte[WO^][WO^][W
`lczi!oezy`alaO^][W
`pg`=qg`i~u][WO^][W
cnqmrhp`(g"li`qkjmcr
bcvlrncvl0fmhm}^][W
ewg|0uctm0fmhm}^][W
ekeoochdi!ok~yoe$obhf$jef
dtmd0ntaz|np`WO^][W
ogs{wsmqx0upkd|^][W
okjbq!rmzqug$rl`mm0smfgd
napibhla(tsccg~^][W
qneat!wjasnpjWO^][W
fmjr!hk}bochacu][W
mcc(}nlw|us][WO^][W
mmef0rjez{^][WO^][W
qmw{urqal0vcbn|d"mzo
qmqdds{cmyrv[WO^][W
rvqnvdf$zqbakg~!rqx`dv
wkoa~f][WO^][WO^][W
vga(wsgaf0cnkjrhg[W
vgvm`mcpq`tq[WO^][W
icc(g"fg|ekjoO^][W
cnefslcjou^][WO^][W
scca~f"jmbe][WO^][W
rrad|hlc(rdg[WO^][W
mcjl0napg`tq[WO^][W
gpko0qpmfsd][WO^][W
qkcictq[WO^][WO^][W
^Qaeyfmvoo][WO^][W
bmj~uovmg~dgvWO^][W
mcvou!omkbn`e|O^][W
roed|!oaoqccpWO^][W
t`azxtnoWO^][WO^][W
umb}bjg}WO^][WO^][W
*Fql|d{[WO^][WO^][W
rjva~jkjo0wkkduu][W
rjed|nu$g~d][WO^][W
rrlmbhaed0bmsWO^][W
dnakdskg(whpenvd][W
rvai}!fviwnl[WO^][W
nojartq[WO^][WO^][W
rnmf{x][WO^][WO^][W
lc|gd`wvWO^][WO^][W
lkhdyucqzO^][WO^][W
napixdfvg~^][WO^][W
ewjounl$ksg[WO^][W
pwedu^][WO^][WO^][W
imhdvc}WO^][WO^][W
bjmiclwwWO^][WO^][W
fkefd!va|b`rklO^][W
wmq{cnkvWO^][WO^][W
ccvcyoe${`hfazO^][W
gpko0bnk}t^][WO^][W
umk|xrc}mb^][WO^][W
ujmzt!g}mO^][WO^][W
nuhxef][WO^][WO^][W
qwcictq[WO^][WO^][W
`akz~^][WO^][WO^][W
sg`(tnv[WO^][WO^][W
smfgd!alasjgjWO^][W
emkrus][WO^][WO^][W
qmm{o"gisjnazO^][W
mjqzwn{bWO^][WO^][W
qjadtecczyg][WO^][W
uko|q`nmcO^][WO^][W
vgvm}nww|qbjaWO^][W
sctaus"pi`hp[WO^][W
bjkx|dv[WO^][WO^][W
qmieum`qoO^][WO^][W
pwa{d!qtztv[WO^][W
fpqmO^][WO^][WO^][W
Bjvacuoe{=upam0lmj{ddp
mwgc0rwgcus][WO^][W
qcwcqmf[WO^][WO^][W
cpko}nk`WO^][WO^][W
emvfrdcw|O^][WO^][W
@lgauov$Eemvm%Xtg`(Tsccg~
*Gra|!Kcoi^][WO^][W
scp||dqji{d][WO^][W
haa(}nlw|us][WO^][W
qjefdno[WO^][WO^][W
pweow`][WO^][WO^][W
`sqidnp[WO^][WO^][W
fpmnvhl[WO^][WO^][W
doqWO^][WO^][WO^][W
jgw|bdn[WO^][WO^][W
ygvgs^][WO^][WO^][W
wgj}c!dhqdsctWO^][W
bpam`hlc(snkj{O^][W
i{`zq^][WO^][WO^][W
rkvm~^][WO^][WO^][W
jkhdus"f}~o{[WO^][W
sm`m~u"kn0tlq{e`n${y{g
vgvm=scfjyu][WO^][W
*Qig{d{$Ju`p[WO^][W
Mwcoqfg[WO^][WO^][W
wcixyskg(g`vaz}dnkf
DlpWO^][WO^][WO^][W
ucjo|d"pzud][WO^][W
okgcumralu^][WO^][W
vkco|d][WO^][WO^][W
vjm|u!pejrhv[WO^][W
rlez{^][WO^][WO^][W
qww`}h/t}|m{qWO^][W
roqzv^][WO^][WO^][W
upmjrmg[WO^][WO^][W
Jnmfwnl[WO^][WO^][W
CmvoO^][WO^][WO^][W
DukcO^][WO^][WO^][W
Umpgbn][WO^][WO^][W
nji}O^][WO^][WO^][W
xmqeq^][WO^][WO^][W
o{eict][WO^][WO^][W
,EkljhnhiO^][WO^][W
*Imfw!Ikfw^][WO^][W
dcv|xpwecu!`aicu][W
Hlrat^][WO^][WO^][W
Ugveyocpgb^][WO^][W
cmkeus][WO^][WO^][W
Echm{^][WO^][WO^][W
lkgzrakxyb"wxqbg$n|dgp
Scrm~nww(Rtefdquvaz0Cge{d!mb(Dsced
mge|xdp}%ghlcmt!craqo
ugafqfg$eeucj|0okjbq!vqzdmg
rci}b`k$zqc`m|O^][W
`cvlf`poWO^][WO^][W
<Cqlbd{$AY^][WO^][W
vkpkx!fkkdnp[WO^][W
nla%uxg`(og)`slal0gn}a~f"t}bqna(`dmtdu!ge|us
*@ez~d{$|xd"`a~nqe}b
*OkzwnvlWO^][WO^][W
Wmvdo][WO^][WO^][W
pwa{dhlc(rdcw|O^][W
QpalqumvWO^][WO^][W
egim~umvWO^][WO^][W
lmp`us/mf=mcsWO^][W
qpeqyoe$eqovm{O^][W
cgh}w`"s`qmg[WO^][W
bjmk{dl[WO^][WO^][W
bmadqbcj|x^][WO^][W
rvez=omwmt!okdu^][W
mwjovhqlWO^][WO^][W
rnk0mmvac^][WO^][W
rge(staqerdp[WO^][W
uctmgnpiWO^][WO^][W
mkcmb^][WO^][WO^][W
wghgshpexdnp[WO^][W
bmvxemgj|0qmvxhqaW
pwkc{`][WO^][WO^][W
qmpg^][WO^][WO^][W
mgieyoe[WO^][WO^][W
ejkdu^][WO^][WO^][W
vmhxusvmfwdp[WO^][W
dnsmtskp{sig[WO^][W
riritdp[WO^][WO^][W
*La{chg[WO^][WO^][W
ucprumuqz}^][WO^][W
ecl}O^][WO^][WO^][W
epkxrdcvWO^][WO^][W
vkhl0iccoyr][WO^][W
kcgcqmmtmO^][WO^][W
gn}a~f"ig~jg}WO^][W
gn}a~f"taw^][WO^][W
iktxbcixer][WO^][W
iktxfpmnv^][WO^][W
jghxyd][WO^][WO^][W
bcpgrmgtic^][WO^][W
qjkm~hz[WO^][WO^][W
`ot`yr`em~`][WO^][W
cmqfshlc(uxg[WO^][W
gnkidhlc(~nqaWO^][W
vcjluskjo0d{aWO^][W
cwbnus"k~usdhgg^][W
ecjo|hlc(`nkj|us][W
vchcyoe$lyri$lbhtaW
gnkidhlc(`nkj|O^][W
sgcmh!gjoyog[WO^][W
ogp{`mkpWO^][WO^][W
vkoaO^][WO^][WO^][W
qgazO^][WO^][WO^][W
BMFG\^][WO^][WO^][W
vkvm0rjez{^][WO^][W
rvvii!vejO^][WO^][W
cmlzrte[WO^][WO^][W
lcjlum`qoO^][WO^][W
ralzdfmfrte[WO^][W
igm{uo`qoO^][WO^][W
bcggtdokfO^][WO^][W
raviw^][WO^][WO^][W
*Avgg!V*(Bn`k|O^][W
bja{c!re~^][WO^][W
bjkkmcpm0qw`lyoe[W
nmfdubiwWO^][WO^][W
ugvzqbmp|q!uezbhmvW
igezcd][WO^][WO^][W
smker`][WO^][WO^][W
lkjaquwvm0cnme`^][W
eww|0rrak{^][WO^][W
fc~mrn][WO^][WO^][W
fpeq0fmkWO^][WO^][W
lccfuukg(}nlkxmg[W
gkv{d!ae|ufmvq0qgvxuuwed0lmpao"`mfhaa
ckc(ttof(chakd^][W
*Nkzt!@vadhqlWO^][W
qcv|ybna(}`l[WO^][W
jkp|uo"tzrrakdhlc(bn`k|
fwmd|doa|O^][WO^][W
rmhattq[WO^][WO^][W
n`ader][WO^][WO^][W
ekjor`v[WO^][WO^][W
cmhl0gcgmO^][WO^][W
cmq{dsmt`uemjWO^][W
mkcidtpaWO^][WO^][W
sgf}c^][WO^][WO^][W
ekjcer][WO^][WO^][W
`rk{dsmt`u!ekdul][W
wmh}`uwk}c!cixusqeft
*@kj0uja(qoevq0gnkus
*Qpzoe$Jqe][WO^][W
*Oeoybch(Dsgrgb^][W
roec{dl[WO^][WO^][W
lkieuj[WO^][WO^][W
nla%ghlcmt!fayoeal0rvej=ccp
Hlrach`hm0Qkjc0Tlmksl
Gn}a~f"Wxqfja|dh"Ig~rvaz
ujvmu,jaitdf$eoiaq
*Gh(@nnhg0Ekej|n][W
mkp||d"czudl$eqo][W
vgmoxug`(Snoti~hmj(St`a
lcjju`ptaw^][WO^][W
cmj{qh/oadugjWO^][W
uka%diwh}O^][WO^][W
*Fke,iqfO^][WO^][W
mmkgnmkgnmkg~f"gid
o{ef0bcpWO^][WO^][W
bgmdyoe$kqu][WO^][W
ccwm}dlp(s`v[WO^][W
lmjgb`kh(s`v[WO^][W
upmleeg[WO^][WO^][W
npg}c!ak{}haq{O^][W
xgacO^][WO^][WO^][W
pw}ddiwhoO^][WO^][W
Fpaiddp$@umn$Ju`qpW
*Taftnp$gv![mrqsf[W
*Qmo}tl`WO^][WO^][W
mgvfqdcj(xxfviO^][W
,Knqr^][WO^][WO^][W
<Ehgsz$^|ns[WO^][W
*@hgbj"p`u!mvkO^][W
tlmksl$xufcw}c!im|ddl
dl`mblcjWO^][WO^][W
vkc`d!qqxbdoekyrv[W
{gvo|hlcWO^][WO^][W
dzm{ddlpaqm"efwrv[W
gkceuov$gv!{k}b!kiiwhle|ynl
gne{x!mb(yoqmoxu][W
fjk|y^][WO^][WO^][W
wgveybkk}c!ijat^][W
lgax|d][WO^][WO^][W
vmij|d][WO^][WO^][W
gpeowmg[WO^][WO^][W
rvea~mgw{0rvam|!pe|
`lpiwnlm{dha$}~eggiwnlw|bhlc
lmgc0smhmO^][WO^][W
bnk~^][WO^][WO^][W
lkimO^][WO^][WO^][W
qg`l|dp[WO^][WO^][W
icco|dp[WO^][WO^][W
fnkidhlc(uxg[WO^][W
gnq{x!ekdul][WO^][W
lcv|is"kzs^][WO^][W
lmv|qs"kzs^][WO^][W
`aml0cnkoO^][WO^][W
`aq|u!`hgr^][WO^][W
`pmi0dnaeuovedO^][W
`nmichlc(`ska{d^][W
`nmo~df$xqscwadd][W
`nmo~df$xqssqmd^][W
`nmo~df$xbnapgb^][W
ccfq0cchci!fviwnl[W
ccfq0cnqmc!fviwnl[W
ccfq0bcvas`vqzu^][W
ccfq0bpkkxdv[WO^][W
ccfq0fpea~x"`zqfmjW
ccfq0cmjo0vmveO^][W
ccfq0mmjo0vmvlO^][W
ccfq0qcvirmg$so[W
ccvnue"`mfhn[WO^][W
cgaz0vkc`d^][WO^][W
cmkz0vkc`d^][WO^][W
cpe~x"ig|e][WO^][W
scrm0rrmlus][WO^][W
bnqm0fmhm}^][WO^][W
cww|0wmv|uy][WO^][W
dpvid`"adulgj|qm][W
dne{dha$mum][WO^][W
dnakdsmgibekkob`o$mum
gkv(umgim~uchWO^][W
ukvm0dnaeuovedO^][W
gneeyoek(cqjazu^][W
gchdqb{$omgiWO^][W
gpmrjdf$kuove}b^][W
gmvmcu"gm~ugvnmf[W
gkazsdla{c!qt`usg[W
gpk{ddf$oy`lpWO^][W
fgvaqupmk0rlecu^][W
fle|0`lpWO^][WO^][W
fkefd!`e|x^][WO^][W
fpefd!`amdmg[WO^][W
fpaiddp${~`iaWO^][W
fpmft!`qoO^][WO^][W
fkefd!oefwn][WO^][W
fnk{cx"cg|do[WO^][W
flkeu!ne}bdcpmO^][W
flkeu!fqe}x][WO^][W
fmkaus"kgjd][WO^][W
fpam~!qhatd][WO^][W
fwezthcj(~`algO^][W
ighd0imqft!rqfO^][W
ikc`0qwvacu][WO^][W
icmz~dv$luwkhWO^][W
haa(dsmsm|^][WO^][W
jkhdus"fmuu][WO^][W
gge|xdp$omgiWO^][W
mmqfwd"sgbl][WO^][W
lmqfd`kj(|xot`O^][W
qccmb!ekdul][WO^][W
qka(vhgjlO^][WO^][W
qpkxxxnekdha$so[W
rmgc0lmhmO^][WO^][W
smc}u!rmmbbgvWO^][W
rga{qvkjo0rrlmbd][W
rkia|d"ia}ha[WO^][W
lmhlydp$i~u][WO^][W
rvea~!tkzddz[WO^][W
rakfu!emi~u][WO^][W
tofzumne(xtnoWO^][W
wcixysg$eqbg[WO^][W
wgvjqm"nircgvbi[W
vcpmb!naeo][WO^][W
vcpmb!oado][WO^][W
vkjoue"czy{xhqO^][W
xghdv"sawiv[WO^][W
# NetHack 5.0  tribute       $NHDT-Date: 1726809275 2024/09/20 05:14:35 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.118 $
# Copyright (c) 2017 by Robert Patrick Rankin
# NetHack may be freely redistributed.  See license for details.
# A tribute introduced in NetHack 3.6.0 to:
#
#         Sir Terence David John "Terry" Pratchett
#              April 28, 1948 - March 12, 2015
# ("or until the ripples he caused in the world die away...")
#
#
%section books
#
#
#
%title The Colour of Magic  (14)
# p. 67 (Signet edition; 'Morpork':  initially Ankh and Morpork were twin
#        cities with distinct characteristics on opposite sides of the Ankh
#        river--they were eventually consolidated into Ankh-Morpork without
#        regard to which area was where)
%passage 1
It has been remarked before that those who are sensitive to radiations in
the far octarine--the eighth colour, the pigment of the Imagination--can
see things that others cannot.

Thus it was that Rincewind, hurrying through the crowded, flare-lit,
evening bazaars of Morpork with the Luggage trundling behind him, jostled
a tall dark figure, turned to deliver a few suitable curses, and beheld
Death.

It had to be Death.  No-one else went around with empty eye sockets and,
of course, the scythe over one shoulder was another clue.  [...]

  [The Colour of Magic, by Terry Pratchett]
%e passage 1
# p. 116
%passage 2
As he was drawn towards the Eye the terror-struck Rincewind raised the box
protectively, and at the same time heard the picture imp say, "They're
about ripe now, can't hold them any longer.  Everyone smile, please."

There was a--
--flash of light so white and so bright--
--it didn't seem like light at all.

Bel-Shamharoth screamed, a sound that started in the far ultrasonic and
finished somewhere in Rincewind's bowels.  The tentacles went momentarily
as stiff as rods, hurling their various cargoes around the room, before
bunching up protectively in front of the abused Eye.  The whole mass
dropped into the pit and a moment later the big slab was snatched up by
several dozen tentacles and slammed into place, leaving a number of
thrashing limbs trapped around the edge.

  [The Colour of Magic, by Terry Pratchett]
%e passage 2
# p. 8 (passage starts mid-paragraph)
%passage 3
[...]  In the meantime, they could only speculate about the revealed
cosmos.

There was, for example, the theory that A'Tuin had come from nowhere and
would continue at a uniform crawl, or steady gait, into nowhere, for all
time.  This theory was popular among academics.

An alternative, favoured by those of a religious persuasion, was that
A'Tuin was crawling from the Birthplace to the Time of Mating, as were
all the stars in the sky which were, obviously, also carried by giant
turtles.  When they arrived they would briefly and passionately mate, for
the first and only time, and from that fiery union new turtles would be
born to carry a new pattern of worlds.  This was known as the Big Bang
hypothesis.

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 13 (end of a long footnote; the initial obsession with 'eight' ended
#        fairly quickly within the Discworld series)
%passage 4
[...]

There are, of course, eight days in a disc week and eight colours in its
light spectrum.  Eight is a number of some considerable occult
significance on the disc and must never, ever, be spoken by a wizard.

Precisely why all the above should be so is not clear, but goes some way
to explain why, on the disc, the Gods are not so much worshipped as blamed.

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 38 (first speaker is Rincewind, second is a pre-Vetinari Patrician)
%passage 5
"I assure you the thought never even crossed my mind, lord."

"Indeed?  Then if I were you I'd sue my face for slander."

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 41 (title of 5th book is "Sourcery" but it's spelled "sorcery" here;
#        'organising': British spelling)
%passage 6
All the heroes of the Circle Sea passed through the gates of Ankh-Morpork
sooner or later.  Most of them were from the barbaric tribes nearer the
frozen Hub, which had a sort of export trade in heroes.  Almost all of
them had crude magic swords, whose unsuppressed harmonics on the astral
plane played hell with any delicate experiments in applied sorcery for
miles around, but Rincewind didn't object to them on that score.  He knew
himself to be a magical dropout, so it didn't bother him that the mere
appearance of a hero at the city gates was enough to cause retorts to
explode and demons to materialize all through the Magical Quarter.  No,
what he didn't like about heroes was that they were usually suicidally
gloomy when sober and homicidally insane when drunk.  There were too many
of them, too.  Some of the most notable questing grounds were a veritable
hubbub in the season.  There was talk of organising a rota.

  [The Colour of Magic, by Terry Pratchett]
%e passage
# pp. 82-83 (passage starts mid-paragraph;
#            pronouns for deities are not capitalized;
#            Bravd and the Weasel, obviously a parody of Fritz Leiber's
#            Fafhrd and the Gray Mouser, appear at the beginning of the 1st
#            of 4 stories and then are left behind, never to be seen again;
#            "wenegrade wiffard" is Rincewind and "fome fort of clerk" is
#            Twoflower the tourist; the seemingly abrupt end of the passage
#            is the end of the 2nd of the 4 stories that make up the book;
#            'centre': British spelling; 'billion': British usage gives it a
#            value of 'million millions', equivalent to American 'trillion';
#            the second paragraph of this passage is the data.base quote
#            for "blind io" and the second half of the passage is the
#            data.base quote for "*lady" and "offler")
%passage 7
[...]  The disc gods themselves, despite the splendor of the world below
them, are seldom satisfied.  It is embarrassing to know that one is a god
of a world that only exists because every improbability curve must have
its far end; especially when one can peer into other dimensions at worlds
whose Creators had more mechanical aptitude than imagination.  No wonder,
then, that the disc gods spend more time bickering than in omnicognizance.

On this particular day Blind Io, by dint of constant vigilance the chief
of the gods, sat with his chin on his hand and looked at the gaming board
on the red marble table in front of him.  Blind Io had got his name
because, where his eye sockets should have been, there were nothing but
two areas of blank skin.  His eyes, of which he had an impressively large
number, led a semi-independent life of their own.  Several were currently
hovering above the table.

The gaming board was a carefully-carved map of the disc world, overprinted
with squares.  A number of beautifully modelled playing pieces were now
occupying some of the squares.  A human onlooker would, for example, have
recognized in two of them the likenesses of Bravd and the Weasel.  Others
represented yet more heroes and champions, of which the disc had a more
than adequate supply.

Still in the game were Io, Offler the Crocodile God, Zephyrus the god of
slight breezes, Fate, and the Lady.  There was an air of concentration
around the board now that the lesser players had been removed from the
Game.  Chance had been an early casualty, running her hero into a full
house of armed gnolls (the result of a lucky throw by Offler) and shortly
afterwards Night had cashed his chips, pleading an appointment with
Destiny.  Several minor deities had drifted up and were kibitzing over
the shoulders of the players.

Side bets were made that the Lady would be the next to leave the board.
Her last champion of any standing was now a pinch of potash in the ruins
of still-smoking Ankh-Morpork, and there were hardly any pieces that she
could promote to first rank.

Blind Io took up the dice-box, which was a skull whose various orifices
had been stoppered with rubies, and with several of his eyes on the Lady
he rolled three fives.

She smiled.  This was the nature of the Lady's eyes:  they were bright
green, lacking iris or pupil, and they glowed from within.

The room was silent as she scrabbled in her box of pieces and, from the
very bottom, produced a couple that she set down on the board with two
decisive clicks.  The rest of the players, as one God, craned forward to
peer at them.

"A wenegrade wiffard and fome fort of clerk," said Offler the Crocodile
God, hindered as usual by his tusks.  "Well, weally!"  With one claw he
pushed a pile of bone-white tokens into the centre of the table.

The Lady nodded slightly.  She picked up the dice-cup and held it as steady
as a rock, yet all the gods could hear the three cubes rattling about
inside.  And then she sent them bouncing across the table.

A six.  A three.  A five.

Something was happening to the five, however.  Battered by the chance
collision of several billion molecules, the die flipped onto a point, spun
gently and came down a seven.

Blind Io picked up the cube and counted the sides.

"Come /on/," he said wearily.  "Play fair."

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 84 (Ankh-Morpork was burned soon after Twoflower introduced the concept
#        of fire insurance; a longer version of this passage is the data.base
#        quote for "tourist")
%passage 8
Picturesque.  That was a new word to Rincewind the wizard (B. Mgc.,
Unseen University [failed]).  It was one of a number he had picked up
since leaving the charred ruins of Ankh-Morpork.  Quaint was another one.
Picturesque meant--he decided after careful observation of the scenery
that inspired Twoflower to use the word--that the landscape was horribly
precipitous.  Quaint, when used to describe the occasional village through
which they passed, meant fever-ridden and tumbledown.

Twoflower was a tourist, the first ever seen on the discworld.  Tourist,
Rincewind decided, meant "idiot."

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 85 ('memorising': British spelling)
%passage 9
Currently Twoflower was showing a great interest in the theory and practice
of magic.

"It all seems, well, rather useless to me," he said.  "I always thought
that, you know, a wizard just said the words and that was that.  Not all
this tedious memorising."

Rincewind agreed moodily.  He tried to explain that magic had indeed once
been wild and lawless, but had been tamed back in the mists of time by the
Olden Ones, who had bound it to obey among other things the Law of
Conservation of Reality; this demanded that the effort needed to achieve
a goal should be the same regardless of the means used.  In practical
terms, this meant that, say, creating the illusion of a glass of wine was
relatively easy, since it involved merely the subtle shifting of light
patterns.  On the other hand, lifting a genuine wineglass a few feet in
the air by sheer mental energy required several hours of systematic
preparation if the wizard wished to prevent the simple principle of
leverage flicking his brain out through his ears.

He went on to add that some of the ancient magic could still be found in
its raw state, recognizable--to the initiated--by the eightfold shape it
made in the crystalline structure of space-time.  There was the metal
octiron, for example, and the gas octogen.  Both radiated dangerous
amounts of raw enchantment.

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 166 ('Lio!rt' with embedded exclamation point is correct; book's text
#         is missing the opening quote before ["]You arrogant barbarian--")
%passage 10
"I challenge you," said Hrun, glaring at the brothers, "both at once."

Lio!rt and Liartes exchanged looks.

"You'll fight us both together?" said Liartes, a tall, wiry man with long
black hair.

"Yah."

"That's pretty uneven odds, isn't it?"

"Yah.  I outnumber you one to two."

Lio!rt scowled.  "You arrogant barbarian--"

"That just about does it!" growled Hrun.  "I'll--"

The Loremaster put out a blue-veined hand to restrain him.

"It is forbidden to fight on the Killing Ground," he said, and paused
while he considered the sense of this.  "You know what I mean, anyway," he
hazarded, giving up, and added, "As the challenged parties my lords Lio!rt
and Liartes have choice of weapons."

"Dragons," they said together.  Liessa snorted.

"Dragons can be used offensively, therefore they are weapons," said Lio!rt
firmly.  "If you disagree we can fight over it."

"Yah," said his brother, nodding at Hrun.

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 196
%passage 11
Some pirates achieved immortality by great deeds of cruelty or derring-do.
Some achieved immortality by amassing great wealth.  But the captain had
long ago decided that he would, on the whole, prefer to achieve immortality
by not dying.

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 201 (entire paragraph is enclosed within parentheses)
%passage 12
Plants on the disc, while including the categories known commonly as
/annuals/, which were sown this year to come up later this year,
/biennials/, sown this year to grow next year, and /perennials/, sown this
year to grow until further notice, also included a few rare /re-annuals/
which, because of an unusual four-dimensional twist in their genes, could
be planted this year to come up /last year/.  The /vul/ nut vine was
particularly exceptional in that it could flourish as many as eight years
prior to its seed actually being sown.  /Vul/ nut wine was reputed to give
certain drinkers an insight into the future which was, from the nut's
point of view, the past.  Strange but true.

  [The Colour of Magic, by Terry Pratchett]
%e passage
# p. 217 (Rincewind and Twoflower are slated to become ritual sacrifices)
%passage 13
"I hope you're not proposing to enslave us," said Twoflower.

Marchesa looked genuinely shocked.  "Certainly not!  Whatever could
have given you that idea?  Your lives in Krull will be rich, full and
comfortable--"

"Oh, good," said Rincewind.

"--just not very long."

  [The Colour of Magic, by Terry Pratchett]
%e passage
# pp. 228-229 (passage starts mid-paragraph)
%passage 14
[...]  She was the Goddess Who Must Not Be Named; those who sought her
never found her, yet she was known to come to the aid of those in greatest
need.  And, then again, sometimes she didn't.  She was like that.  She
didn't like the clicking of rosaries, but was attracted to the sound of
dice.  No man knew what She looked like, although there were many times
when a man who was gambling his life on the turn of the cards would pick
up the hand he had been dealt and stare Her full in the face.  Of course,
sometimes he didn't.  Among all the gods she was at one and the same time
the most courted and the most cursed.

  [The Colour of Magic, by Terry Pratchett]
%e passage
%e title
#
#
#
%title The Light Fantastic (12)
# p. 92 (Signet edition)
%passage 1
'Cohen ish my name, boy.'  Bethan's hands stopped moving.

'Cohen?' she said.  'Cohen the Barbarian?'

'The very shame.'

'Hang on, hang on,' said Rincewind.  'Cohen's a great big chap, neck like a
bull, got chest muscles like a sack of footballs.  I mean, he's the Disc's
greatest warrior, a legend in his own lifetime.  I remember my grandad
telling me he saw him... my grandad telling me he... my grandad...'

He faltered under the gimlet gaze.

'Oh,' he said.  'Oh.  Of course.  Sorry.'

'Yesh,' said Cohen, and sighed.  'That's right boy.  I'm a lifetime in my
own legend.'

  [The Light Fantastic, by Terry Pratchett]
%e passage 1
# p. 113 (Twoflower is teaching the Riders how to play bridge;
#         in /The Light Fantastic/, Death's dialog uses quotation marks
#         and full uppercase rather than the small capital letters used in
#         the other books)
%passage 2
Death sat at one side of a black baize table in the centre of the room,
arguing with Famine, War and Pestilence.  Twoflower was the only one to
look up and notice Rincewind.

'Hey, how did you get here?' he said.

'Well, some say that the creator took a handful--oh, I see, well, it's
hard to explain but I--'

'Have you got the Luggage?'

The wooden box pushed past Rincewind and settled down in front of its
owner, who opened its lid and rummaged around inside until he came up with
a small, leatherbound book which he handed to War, who was hammering the
table with a mailed fist.

'It's "Nosehinger on the Laws of Contract",' he said.  'It's quite good,
there's a lot in it about double finessing and how to--'

Death snatched the book with a bony hand and flipped through the pages,
quite oblivious to the presence of the two men.

'RIGHT,' he said, 'PESTILENCE, OPEN ANOTHER PACK OF CARDS.  I'M GOING TO
GET TO THE BOTTOM OF THIS IF IT KILLS ME.  FIGURATIVELY SPEAKING OF COURSE.'

  [The Light Fantastic, by Terry Pratchett]
%e passage 2
# p. 7 (passage starts mid-sentence; the too-long-to-answer question is
#       "Why have Rincewind and Twoflower fallen off the Disc's rim?",
#       alluding to the conclusion of /The Colour of Magic/;
#       in /Sourcery/ and /Interesting Times/ and probably others, the
#       famous philosopher's name is spelled "Ly Tin Wheedle")
%passage 3
[...] such questions take time and could be more trouble than they are
worth.  For example, it is said that someone at a party once asked the
famous philosopher Ly Tin Weedle "Why are you here?" and the reply took
three years.

  [The Light Fantastic, by Terry Pratchett]
%e passage
# p. 8 ('libraries': plural is accurate)
%passage 4
The only furnishing in the room was a lectern of dark wood, carved into the
shape of a bird--well, to be frank, into the shape of a winged thing it is
probably best not to examine too closely--and on the lectern, fastened to
it by a heavy chain covered in padlocks, was a book.

A large, but not particularly impressive, book.  Other books in the
University's libraries had covers inlaid with rare jewels and fascinating
wood, or bound with dragon skin.  This one was just a rather tatty leather.
It looked the sort of book described in library catalogues as "slightly
foxed," although it would be more honest to admit that it looked as though
it had been badgered, wolved and possibly beared as well.

  [The Light Fantastic, by Terry Pratchett]
%e passage
# pp. 41-42
%passage 5
The barbarian chieftain said:  "What then are the greatest things that a
man may find in life?"  This is the sort of thing you're supposed to say to
maintain steppecred in barbarian circles.

The man on his right thoughtfully drank his cocktail of mare's milk and
snowcat blood, and spoke thus:  "The crisp horizon of the steppe, the wind
in your hair, a fresh horse under you."

The man on his left said:  "The cry of the white eagle in the heights, the
fall of snow in the forest, a true arrow in your bow."

The chieftain nodded and said:  "Surely it is the sight of your enemy
slain, the humiliation of his tribe and the lamentation of his women."

There was a general murmur of whiskery approval at this outrageous display.

Then the chieftain turned respectfully to his guest, a small figure
carefully warming his chilblains by the fire, and said:  "But our guest,
whose name is legend, must tell us truly:  what is it that a man may call
the greatest things in life?"

The guest paused in the middle of another unsuccessful attempt to light up.

"What shay?" he said, toothlessly.

"I said:  what is it that a man may call the greatest things in life?"

The warriors leaned closer.  This should be worth hearing.

The guest thought long and hard and then said, with deliberation:  "Hot
water, good dentishtry and shoft lavatory paper."

  [The Light Fantastic, by Terry Pratchett]
%e passage
# p. 48 (Hanzel and Gretel, obviously...)
%passage 6
"Have a bit more table," said Rincewind.

"No thanks, I don't like marzipan," said Twoflower.  "Anyway, I'm sure it's
not right to eat other people's furniture."

"Don't worry," said Swires.  "The old witch hasn't been seen for years.
They say she was done up good and proper by a couple of young tearaways."

"Kids of today," said Rincewind.

"I blame the parents," said Twoflower.

  [The Light Fantastic, by Terry Pratchett]
%e passage
# p. 103
%passage 7
It is a well known fact that warriors and wizards do not get along, because
one side considers the other side to be a collection of bloodthirsty idiots
who can't walk and think at the same time, while the other side is naturally
suspicious of a body of men who mumble a lot and wear long dresses.  Oh, say
the wizards, if we're going to be like that, then, what about all those
studded collars and oiled muscles down at the Young Men's Pagan Association?
To which the heroes reply, that's a pretty good allegation coming from a
bunch of wimpsoes who won't go near a woman on account, can you believe it,
of their mystical power being sort of drained out.  Right, say the wizards,
that just about does it, you and your leather posing pouches.  Oh yeah, say
the heroes, why don't you...

And so on.  This sort of thing has been going on for centuries, and caused
a number of major battles which have left large tracts of land uninhabitable
because of magical harmonics.

  [The Light Fantastic, by Terry Pratchett]
%e passage
# p. 128
%passage 8
"He'sh mad?"

"Sort of mad.  But mad with lots of money."

"Ah, then he can't be mad.  I've been around; if a man hash lotsh of money
he'sh just ecshentric."

  [The Light Fantastic, by Terry Pratchett]
%e passage
# p. 182 (Cohen is now wearing dentures with teeth made from diamonds)
%passage 9
Cohen tapped him on the shoulder.  The man looked around irritably.

"What do you want, grandad?" he snarled.

Cohen paused until he had the man's full attention, and then he smiled.  It
was a slow, lazy smile, unveiling about 300 carats of mouth jewelry that
seemed to light up the room.

"I will count to three," he said, in a friendly tone of voice.  "One, Two."
His bony knee came up in the man's groin with a satisfyingly meaty noise,
and he half-turned to bring the full force of an elbow into the kidneys as
the leader collapsed around his private universe of pain.

"Three," to told the ball of agony on the floor.  Cohen had heard of
fighting fair, and had long ago decided he wanted no part of it.

  [The Light Fantastic, by Terry Pratchett]
%e passage
# pp. 193-194 (this passage is the data.base quote for shopkeeper)
%passage 10
There have been three general theories put forward to explain the
phenomenon of the wandering shops, or as they are generically known,
/tabernae vagantes/.

The first postulates that many thousands of years ago there evolved
somewhere in the multiverse a race whose single talent was to buy cheap
and sell dear.  Soon they controlled a vast galactic empire or, as they put
it, Emporium, and the more advanced members of the species found a way to
equip their very shops with unique propulsion units that could break the
dark walls of space itself and open up vast new markets.  And long after
the worlds of the Emporium perished in the heat death of their particular
universe, after one last defiant fire sale, the wandering starshops still
ply their trade, eating their way through the pages of space-time like a
worm through a three-volume novel.

The second is that they are the creation of a sympathetic Fate, charged
with the role of supplying exactly the right thing at the right time.

The third is that they are simply a very clever way of getting around the
various Sunday Closing acts.

All these theories, diverse as they are, have two things in common.  They
explain the observed facts, and they are completely and utterly wrong.

  [The Light Fantastic, by Terry Pratchett]
%e passage
# p. 205
%passage 11
"Where do they all come from?" said Twoflower, as they fled yet another mob.

"Inside every sane person there's a madman struggling to get out," said the
shopkeeper,  "That's what I've always thought.  No one goes mad quicker than
a totally sane person."

  [The Light Fantastic, by Terry Pratchett]
%e passage
# pp. 229-230 ('grey': British spelling is accurate)
%passage 12
Trymon was looking at him.  /Something/ was looking at him.  And still the
others hadn't noticed.  Could he even explain it?  Trymon looked the same
as he had always done, except for the eyes, and a slight sheen to his skin.

Rincewind stared, and knew that there were far worse things than Evil.  All
the demons in Hell would torture your very soul, but that was precisely
because they value souls very highly; evil would always try to steal the
universe, but at least it considered the universe worth stealing.  But the
grey world behind those empty eyes would trample and destroy without even
according its victims the dignity of hatred.  It wouldn't even notice them.

  [The Light Fantastic, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Equal Rites (10)
# p. 118 (Signet edition; passage starts mid-sentence and ends mid-paragraph)
%passage 1
[...] it is well known that a vital ingredient of success is not knowing
that what you're attempting can't be done.  [...]

  [Equal Rites, by Terry Pratchett]
%e passage
# p. 218 (speaker is Granny Weatherwax)
%passage 2
"Million-to-one chances," she said, "crop up nine times out of ten."

  [Equal Rites, by Terry Pratchett]
%e passage
# pp. 96-97 ('Tannoy': public address speaker)
%passage 3
Animal minds are simple, and therefore sharp.  Animals never spend time
dividing experience into little bits and speculating about all the bits
they've missed.  The whole panoply of the universe has been neatly
expressed to them as things to (a) mate with, (b) eat, (c) run away from,
and (d) rocks.  This frees the mind from unnecessary thoughts and gives
it a cutting edge where it matters.  Your normal animal, in fact, never
tries to walk and chew gum at the same time.

The average human, on the other hand, thinks about all sorts of things
around the clock, on all sorts of levels, with interruptions from dozens
of biological calendars and timepieces.  There's thoughts about to be said,
and private thoughts, and real thoughts, and thoughts about thoughts, and
a whole gamut of subconscious thoughts.  To a telepath the human head is
a din.  It is a railway terminus with all the Tannoys talking at once.
It is a complete FM waveband--and some of those stations aren't reputable,
they're outlawed pirates on forbidden seas who play late-night records with
limbic lyrics.

  [Equal Rites, by Terry Pratchett]
%e passage
# pp. 18-19
%passage 4
Smith took a spade from beside the back door and hesitated.

"Granny."

"What?"

"Do you know how wizards like to be buried?"

"Yes!"

"Well, how?"

Granny paused at the bottom of the stairs.

"Reluctantly."

  [Equal Rites, by Terry Pratchett]
%e passage
# p. 70
%passage 5
Granny sighed.  "You have learned something," she said, and thought it
was safe to insert a touch of sternness into her voice.  "They say that a
little knowledge is a dangerous thing, but it is not one half so bad as a
lot of ignorance."

  [Equal Rites, by Terry Pratchett]
%e passage
# pp. 113-114 (Esk is a young girl)
%passage 6
The barges stopped at some of the towns.  By tradition only the men went
ashore, and only Amschat, wearing his ceremonial Lying hat, spoke to
non-Zoons.  Esk usually went with him.  He tried hinting that she should
obey the unwritten rules of Zoon life and stay afloat, but a hint was to
Esk what a mosquito bite was to the average rhino because she was already
learning that if you ignore the rules people will, half the time, quietly
rewrite them so that they don't apply to you.

  [Equal Rites, by Terry Pratchett]
%e passage
# pp. 119-120 (next passage is a direct continuation of this one)
%passage 7
The town was smaller than Ohulan, and very different because it lay on the
junction of three trade routes quite apart from the river itself.  It was
built around one enormous square which was a cross between a permanent
exotic traffic jam and a tent village.  Camels kicked mules, mules kicked
horses, horses kicked camels and they all kicked humans; there was a riot
of colours, a din of noise, a nasal orchestration of smells and the steady,
heady sound of hundreds of people working hard at making money.

One reason for the bustle was that over large parts of the continent other
people preferred to make money without working at all, and since the Disc
had yet to develop a music recording industry they were forced to fall back
on older, more traditional forms of banditry.

Strangely enough these often involved considerable effort.  Rolling heavy
rocks to the top of cliffs for a decent ambush, cutting down trees to
block the road, and digging a pit lined with spikes while still keeping a
wicked edge on a dagger probably involved a much greater expenditure of
thought and muscle than more socially-acceptable professions but,
nevertheless, there were still people misguided enough to endure all this,
plus long nights in uncomfortable surroundings, merely to get their hands
on perfectly ordinary large boxes of jewels.

  [Equal Rites, by Terry Pratchett]
%e passage
# pp. 120-121 (this passage is a direct continuation of preceding one;
#              "I said, what is happening here?" actually omits "is"
#              but must be a typo--fixed here to avoid bug reports;
#              'broomstick' is Esk's disguised wizard's staff)
%passage 8
So a town like Zemphis was the place where caravans split, mingled and
came together again, as dozens of merchants and travellers banded together
for protection against the socially disadvantaged on the trails ahead.
Esk, wandering unregarded amidst the bustle, learned all this by the simple
method of finding someone who looked important and tugging on the hem of
his coat.

This particular man was counting bales of tobacco and would have succeeded
but for the interruption.

"What?"

"I said, what is happening here?"

The man meant to say:  "Push off and bother someone else."  He meant to
give her a light cuff about the head.  So he was astonished to find himself
bending down and talking seriously to a small, grubby-faced child holding
a large broomstick (which also, it seemed to him later, was in some
indefinable way /paying attention/).

He explained about the caravans.  The child nodded.

"People all get together to travel?"

"Precisely."

"Where to?"

"All sorts of places.  Sto Lat, Pseudopolis... Ankh-Morpork, of course...."

"But the river goes there," said Esk, reasonably.  "Barges.  The Zoons."

"Ah, yes," said the merchant, "but they charge high prices and they can't
carry everything and, anyway, no one trusts them much."

"But they're very honest!"

"Huh, yes," he said.  "But you know what they say:  never trust an honest
man."  He smiled knowingly.

"Who says that?"

"They do.  You know.  People," he said, a certain uneasiness entering his
voice.

"Oh," said Esk.  She thought about it.  "They must be very silly," she said
primly.  "Thank you, anyway."

  [Equal Rites, by Terry Pratchett]
%e passage
# pp. 127-128 (this time broomstick is Granny's defective witch's broomstick)
%passage 9
The broomstick lay between two trestles.  Granny Weatherwax sat on a rock
outcrop while a dwarf half her height, wearing an apron that was a mass of
pockets, walked around the broom and occasionally poked it.

Eventually he kicked the bristles and gave a long intake of breath, a sort
of reverse whistle, which is the secret sign of craftsman across the
universe and means that something expensive is about to happen.

"Weellll," he said.  "I could get the apprentices in to look at this, I
could.  It's an education in itself.  And you say it actually managed to
get airborne?"

"It flew like a bird," said Granny.

The dwarf lit a pipe.  "I should very much like to see that bird," he said
reflectively.  "I should imagine it's quite something to watch, a bird like
that."

"Yes, but can you repair it?" said Granny.  "I'm in a hurry."

The dwarf sat down, slowly and deliberately.

"As for /repair/," he said, "well, I don't know about /repair/.  Rebuild,
maybe.  Of course, it's hard to get the bristles these days even if you can
find people to do the proper binding, and the spells need--"

"I don't want it rebuilt, I just want it to work properly," said Granny.

"It's an early model, you see," the dwarf plugged on.  "Very tricky, those
early models.  You can't get the wood--"

He was picked up bodily until his eyes were level with Granny's.  Dwarves,
being magical in themselves as it were, are quite resistant to magic but
her expression looked as though she was trying to weld his eyeballs to the
back of his skull.

"Just repair it," she hissed.  "Please?"

"What, make a bodge job?" said the dwarf, his pipe clattering to the floor.

"Yes."

"Patch it up, you mean?  Betray my training by doing half a job?"

"Yes," said Granny.  Her pupils were two little black holes.

"Oh," said the dwarf.  "Right, then."

  [Equal Rites, by Terry Pratchett]
%e passage
# p. 185 (actually uses four periods to mark a sentence ending in an ellipsis)
%passage 10
There may be universes where librarianship is considered a peaceful sort of
occupation, and where the risks are limited to large volumes falling off
the shelves on to one's head, but the keeper of a /magic/ library is no job
for the unwary.  Spells have power, and merely writing them down and
shoving them between covers doesn't do anything to reduce it.  The stuff
leaks.  Books tend to react with one another, creating randomized magic
with a mind of its own.  Books of magic are usually chained to their
shelves, but not to prevent them being stolen....

  [Equal Rites, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Mort (11)
# p. 136 (Signet edition; passage is a footnote;
#         Vetinari doesn't show up as recurring Patrician until /Sourcery/)
%passage 1
Ankh-Morpork had dallied with many forms of government and had ended up
with that form of democracy known as One Man, One Vote.  The Patrician was
the Man; he had the Vote.

  [Mort, by Terry Pratchett]
%e passage
# p. 11
%passage 2
Mort was getting interested in the rock.  It had curly shells in it, relics
of the early days of the world when the Creator had made creatures out of
stone, no-one knew why.

Mort was interested in lots of things.  Why people's teeth fitted together
so neatly, for example.  He'd given that one a lot of thought.  Then there
was the puzzle of why the sun came out during the day, instead of at night
when the light would come in useful.  He knew the standard explanation,
which somehow didn't seem satisfying.

In short, Mort is one of those people who are more dangerous than a bag
full of rattlesnakes.  He was determined to discover the underlying logic
behind the universe.

Which was going to be hard, because there wasn't one.  The Creator had a
lot of remarkably good ideas when he put the world together, but making it
understandable hadn't been one of them.

  [Mort, by Terry Pratchett]
%e passage
# p. 18
%passage 3
"But you're Death," said Mort.  "You go around killing people!"

I?  KILL? said Death, obviously offended.  CERTAINLY NOT.  PEOPLE /GET/
KILLED, BUT THAT'S THEIR BUSINESS.  I JUST TAKE OVER FROM THEN ON.  AFTER
ALL, IT'D BE A BLOODY STUPID WORLD IF PEOPLE GOT KILLED WITHOUT DYING,
WOULDN'T IT?

  [Mort, by Terry Pratchett]
%e passage
# p. 25
%passage 4
"Is it magic?" said Mort.

WHAT DO YOU THINK? said Death.  AM I REALLY HERE, BOY?

"Yes," said Mort slowly.  "I... I've watched people.  They look at you but
they don't see you, I think.  You do something to their minds."

Death shook his head.

THEY DO IT ALL THEMSELVES, he said.  THERE'S NO MAGIC.  PEOPLE CAN'T SEE ME,
THEY SIMPLY WON'T ALLOW THEMSELVES TO DO IT.  UNTIL IT'S TIME, OF COURSE.
WIZARDS CAN SEE ME, AND CATS.  BUT YOUR AVERAGE HUMAN... NO, NEVER.  He blew
a smoke ring at the sky, and added, STRANGE BUT TRUE.

  [Mort, by Terry Pratchett]
%e passage
# pp. 48-49 (Binky is Death's white horse, who was left 'parked' on a
#            castle's roof; Mort is Death's novice apprentice)
%passage 5
They were on the roof before he spoke again.

YOU TRIED TO WARN HIM, he said, removing Binky's nosebag.

"Yes, sir.  Sorry."

YOU CANNOT INTERFERE WITH FATE.  WHO ARE YOU TO JUDGE WHO SHOULD LIVE AND
WHO SHOULD DIE?

Death watched Mort's expression carefully.

ONLY THE GODS ARE ALLOWED TO DO THAT, he added.  TO TINKER WITH THE FATE OF
EVEN ONE INDIVIDUAL COULD DESTROY THE WHOLE WORLD.  DO YOU UNDERSTAND?

Mort nodded miserably.

"Are you going to send me home?" he said.

Death reached down and swung him up behind the saddle.

BECAUSE YOU SHOWED COMPASSION?  NO.  I MIGHT HAVE DONE IF YOU HAD SHOWN
PLEASURE.  BUT YOU MUST LEARN THE COMPASSION PROPER TO YOUR TRADE.

"What's that?"

A /SHARP/ EDGE.

  [Mort, by Terry Pratchett]
%e passage
# pp. 59-61 (in Ankh-Morpork, Mort has accidentally walked through a wall
#            into an immigrant Klatchian family's dining room; 'the creature
#            who was not there' refers to Death during an earlier event)
%passage 6
"I'm no demon!  I'm a human!" he said, and stopped in shock as his words
emerged in perfect Klatch.

"You're a thief?" said the father.  "A murderer?  To creep in thus, are you
a /tax-gatherer/?"  His hand slipped under the table and came up holding a
meat cleaver honed to paper thinness.  His wife screamed and dropped the
plate and clutched the youngest children to her.

Mort watched the blade weave through the air, and gave in.

"I bring you greetings from the uttermost circles of hell," he hazarded.

The change was remarkable.  The cleaver was lowered and the family broke
into broad smiles.

"There is much luck to us if a demon visits," beamed the father.  "What is
your wish, O foul spawn of Offler's loins?"

"Sorry?" said Mort.

"A demon brings blessing and good fortune on the man that helps it," said
the man.  "How may we be of assistance, O evil dogsbreath of the nether
pit?"

"Well, I'm not very hungry," said Mort, "but if you know where I can get a
fast horse, I could be in Sto Lat before sunset."

The man beamed and bowed.  "I know the very place, noxious extrusion of the
bowels, if you would be so good as to follow me."

Mort hurried out after him.  The ancient ancestor watched them go with a
critical expression, its jowls rhythmically chewing.

"That was what they call a demon around here?" it said.  "Offler rot this
country of dampness, even their demons are third-rate, not a patch on the
demons we had in the Old Country."

The wife placed a small bowl of rice in the folded middle pair of hands of
the Offler statue (it would be gone in the morning) and stood back.

"Husband did say that last month at the /Curry Gardens/ he served a creature
who was not there," she said.  "He was impressed."

Ten minutes later the man returned and, in solemn silence, placed a small
heap of gold coins on the table.  They represented enough wealth to
purchase quite a large part of the city.

"He had a bag of them," he said.

The family stared at the money for some time.  The wife sighed.

"Riches bring many problems," she said.  "What are we to do?"

"We return to Klatch," said the husband firmly, "where our children can grow
up in a proper country, true to the glorious traditions of our ancient race
and men do not need to work as waiters for wicked masters but can stand tall
and proud.  And we must leave right now, fragrant blossom of the date palm."

"Why so soon, O hard-working son of the desert?"

"Because," said the man, "I have just sold the Patrician's champion
racehorse."

  [Mort, by Terry Pratchett]
%e passage
# pp. 139-140 (passage ends mid-sentence)
%passage 7
"You don't know much about monarchy, do you?" said Keli.

"Um, no?"

"She means better to be a dead queen in your own castle than a live
commoner somewhere else," said Cutwell, [...]

  [Mort, by Terry Pratchett]
%e passage
# p. 158
%passage 8
"You mean you won't help?" said Mort.  "Not even if you can?"

"Give the boy a prize," growled Albert.  "And it's no good thinking you can
appeal to my better nature under this here crusty exterior," he added,
"'cos my interior's pretty damn crusty too."

  [Mort, by Terry Pratchett]
%e passage
# pp. 159-160 (Death has come to an employment agency--a new concept in
#              Ankh-Morpork--looking for a job)
%passage 9
"And what was your previous position?"

I BEG YOUR PARDON?

"What did you do for a living?" said the thin young man behind the desk.

I USHERED SOULS INTO THE NEXT WORLD.  I WAS THE GRAVE OF ALL HOPE.  I WAS
THE ULTIMATE REALITY.  I WAS THE ASSASSIN AGAINST WHOM NO LOCK WOULD HOLD.

"Yes, point taken, but do you have any particular skills?"

I SUPPOSE A CERTAIN AMOUNT OF EXPERTISE WITH AGRICULTURAL IMPLEMENTS? he
ventured after a while.

The young man shook his head firmly.

NO?

  [Mort, by Terry Pratchett]
%e passage
# p. 205
%passage 10
Death raised his skull and sniffed the air.

The sound cut through all the other noises in the hall and forced them
into silence.

It is the kind of noise that is heard on the twilight edges of dreams,
the sort that you wake from in the cold sweat of mortal horror.  It was
the snuffling under the door of dread.  It was like the snuffling of a
hedgehog, but if so then it was the kind of hedgehog that crashes out of
the verges and flattens lorries.  It was the kind of noise you wouldn't
want to hear twice; you wouldn't want to hear it /once/.

  [Mort, by Terry Pratchett]
%e passage
# p. 207
%passage 11
"Well, that was a lesson to all of us," the bursar continued, brushing dust
and candle wax off his robe.  He looked up, expecting to see the statue of
Alberto Malich back on its pedestal.

"Clearly even statues have feelings," he said.  "I myself recall, when I
was but a first-year student, writing my name on his... well, never mind.
The point is, I propose here and now we replace the statue."

Dead silence greeted this suggestion.

"With, say, an exact likeness cast in gold.  Suitably embellished with
jewels, as befits our great founder," he went on brightly.

"And to make sure no students deface it in any way I suggest we then erect
it in the deepest cellar," he continued.

"And then lock the door," he added.  Several wizards began to cheer up.

"And throw away the key?" said Rincewind.

"And /weld/ the door," the bursar said.  He had just remembered about The
Mended Drum.  He thought for a while and remembered about the physical
fitness regime as well.

"And then brick up the doorway," he said.  There was a round of applause.

"And throw away the brick layer!" chortled Rincewind, who felt he was
getting the hang of this.

The bursar scowled at him.  "No need to get carried away," he said.

  [Mort, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Sourcery (11)
# p. 9 (Signet edition; passage starts mid-paragraph and ends mid-paragraph)
%passage 1
"[...]  And what would humans be without love?"

RARE, said Death.  [...]

  [Sourcery, by Terry Pratchett]
%e passage
# p. 180 (passage starts mid-paragraph)
%passage 2
They suffered from the terrible delusion that something could be done.
They seemed prepared to make the world the way they wanted it or die in the
attempt, and the trouble with dying in the attempt was that you died in
the attempt.

  [Sourcery, by Terry Pratchett]
%e passage
# p. 11 ('worth while': two words is accurate, although strange)
%passage 3
"I meant," said Ipslore, bitterly, "what is there in this world that makes
living worth while?"

CATS, he said eventually, CATS ARE NICE.

"Curse you!"

MANY HAVE, said Death evenly.

  [Sourcery, by Terry Pratchett]
%e passage
# pp. 40-41 (this used to have a correction for "an obvious typo" in the last
#            sentence [before the footnote] which was actually a transcription
#            error, with "were" erroneously inserted [causing the sentence to
#            parse oddly] but not present in the original text; fixed now)
%passage 4
The thief, as will become apparent, was a special type of thief.  This
thief was an artist of theft.  Other thieves merely stole everything that
was not nailed down, but this thief stole the nails as well.  This thief
had scandalised Ankh by taking a particular interest in stealing, with
astonishing success, things that were in fact not only nailed down but
also guarded by keen-eyed guards in inaccessible strongrooms.  There are
artists that will paint an entire chapel ceiling; this was the kind of
thief that could steal it.

This particular thief was credited with stealing the jeweled disemboweling
knife from the temple of Offler the Crocodile God during the middle of
Evensong, and the silver shoes from the Patrician's finest racehorse
while it was in the process of winning a race.  When Gritoller Mimpsey,
vice-president of the Thieves' Guild, was jostled in the marketplace and
then found on returning home that a freshly-stolen handful of diamonds
had vanished from their place of concealment, he knew who to blame.(1)
This was the type of thief that could steal the initiative, the moment
and the words out of your mouth.

(1) This was because Gritoller had swallowed the jewels for safe keeping.

  [Sourcery, by Terry Pratchett]
%e passage
# pp. 63-64 ('Compleet', 'Majik', 'enterr', 'physycal', 'hys', 'bodie',
#            'Destinie', 'Deathe', 'werre', 'nowe', 'menne', 'Ende',
#            'Worlde', 'hadd', 'bee', 'goddes', 'ould', 'Apocralypse',
#            'legende', 'thee': all accurate; 'ould' may be a typo...)
%passage 5
It was deathly quiet in the Library.  The books were no longer frantic.
They'd passed through their fear and out into the calm waters of abject
terror, and they crouched on their shelves like so many mesmerised rabbits.

A long hairy arm reached up and grabbed /Casplock's Compleet Lexicon of
Majik and Precepts for the Wise/ before it could back away, soothed its
terror with a long-fingered hand, and opened it under 'S'.  The Librarian
smoothed the trembling page gently and ran a horny nail down the entries
until he came to:

    *Sourceror*, /n. (mythical).  A proto-wizard, a doorway through/
    /which new majik may enterr the world, a wizard not limited by/
    /the physycal capabilities of hys own bodie, not by Destinie,/
    /nor by Deathe.  It is written that there once werre sourcerors/
    /in the youth of the world but not may there by nowe and blessed/
    /be, for sourcery is not for menne and the return of sourcery/
    /would mean the Ende of the Worlde...  If the Creator hadd meant/
    /menne to bee as goddes, he ould have given them wings./
    /SEE ALSO:  thee Apocralypse, the legende of thee Ice Giants,/
    /and thee Teatime of the Goddes./

The Librarian read the cross-references, turned back to the first entry,
and stared at it through deep dark eyes for a long time.  Then he put the
book back carefully, crept under his desk, and pulled the blanket over
his head.

  [Sourcery, by Terry Pratchett]
%e passage
# pp. 71-72
%passage 6
The current Patrician, head of the extremely rich and powerful Vetinari
family, was thin, tall and apparently as cold-blooded as a dead penguin.
Just by looking at him you could tell he was the sort of man you'd expect
to keep a white cat, and caress it idly while sentencing people to death
in a piranha tank; and you'd hazard for good measure that he probably
collected rare, thin porcelain, turning it over and over in his blue-white
fingers while distant screams echoed from the depths of the dungeons.  You
wouldn't put it past him to use the word "exquisite" and have thin lips.
He looked the kind of person who, when they blinked, you mark it off on
the calendar.

Practically none of this was in fact the case, although he did have a small
and exceedingly elderly wire-haired terrier called Wuffles that smelled
badly and wheezed at people.  It was said to be the only thing in the
entire world he truly cared about.  He did of course sometimes have people
horribly tortured to death, but this was considered to be perfectly
acceptable behaviour for a civic ruler and generally approved of by the
overwhelming majority of citizens.(1)  The people of Ankh are of a
practical persuasion, and felt that the Patrician's edict forbidding all
street theatre and mime artists made up for a lot of things.  He didn't
administer a reign of terror, just the occasional light shower.

(1) The overwhelming majority of citizens being defined in this case as
everyone not currently hanging upside down over a scorpion pit.

  [Sourcery, by Terry Pratchett]
%e passage
# p. 75
%passage 7
"What exactly /is/ the Aprocralypse?"

Rincewind hesitated.  "Well," he said, "it's the end of the world.  Sort
of."

"Sort of?  /Sort of/ the end of the world?  You mean we won't be certain?
We'll all look around and say 'Pardon me, did you hear something?'?"

"It's just that no two seers have ever agreed about it.  There have been
all kinds of vague predictions.  Quite mad, some of them.  So it was
called the Apocralypse."  He looked embarrassed.  "It's a sort of
apocryphal Apocalypse.  A kin of pun, you see."

  [Sourcery, by Terry Pratchett]
%e passage
# p. 110
%passage 8
"You're very quiet, Spelter.  Do you not agree?"

No.  The world had sourcery once, and gave it up for wizardry.  Wizardry is
magic for men, not gods.  It's not for us.  There was something wrong with
it, and we have forgotten what it was.  I liked wizardry.  It didn't upset
the world.  It fitted.  It was right.  A wizard was all I wanted to be.

He looked down at his feet.

"Yes," he whispered.

  [Sourcery, by Terry Pratchett]
%e passage
# pp. 141-142 (Rincewind and Nijel have just entered a harem)
%passage 9
Rincewind had eyes for none of this.  [...] they were swamped by the
considerably bigger flood of panic at the sight of four guards turning
towards him with scimitars in their hands and the light of murder in their
eyes.

Without hesitation, Rincewind took a step backwards.

"Over to you, friend," he said.

"Right!"

Nijel drew his sword and held it out in front of him, his arms trembling at
the effort.

There were a few seconds of total silence as everyone waited to see what
would happen next.  And then Nijel uttered the battle cry that Rincewind
would never quite forget to the end of this life.

"Erm," he said, "excuse me...."

  [Sourcery, by Terry Pratchett]
%e passage
# pp. 198-199
%passage 10
The astro-philosophers of Krull once succeeded in proving conclusively
that all places are one place and that the distance between them is an
illusion, and this news was an embarrassment to all thinking philosophers
because it did not explain, among other things, signposts.  After years of
wrangling the whole thing was then turned over to Ly Tin Wheedle, arguably
the Disc's greatest philosopher,(1) who after some thought proclaimed that
although it was indeed true that all places were one place, that place was
/very large/.

And so psychic order was restored.  Distance is, however, an entirely
subjective phenomenon and creatures of magic can adjust it to suit
themselves.

They are not necessarily very good at it.

(1) He always argued that he was.

  [Sourcery, by Terry Pratchett]
%e passage
#
# additional passage added for 5.0
#
# p. 164 (passage begins mid-sentence)
%passage 11
[...] killing a brother wizard with magic was well-nigh impossible on
account of the layers of protective spells that any cautious wizard
maintained about his person at all times.(1)  The first thing a young
wizard learns at Unseen University--apart from where his peg is, and
which way to the lavatory--is that he must protect himself at all times.

Some people think this is paranoia, but it isn't.  Paranoids only think
everyone is out to get them.  Wizards /know/ it.

(1) Of course, wizards often killed one another by ordinary, non-magical
means, but this was perfectly allowable and death by assassination was
considered natural causes for a wizard.

  [Sourcery, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Wyrd Sisters (15)
# p. 318 (ROC edition; passage starts mid-paragraph;
#         speaker is Granny Weatherwax)
%passage 1
"[...]  Destiny /is/ important, see, but people go wrong when they think it
controls them.  It's the other way around."

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# pp. 105-106
%passage 2
Verence tried to avoid walking through walls.  A man had his dignity.

He became aware that he was being watched.

He turned his head.

There was a cat sitting in the doorway, subjecting him to a slow blink.  It
was a mottled grey and extremely fat...

No.  It was extremely /big/.  It was covered with so much scar tissue that
it looked like a fist with fur on it.  Its ears were a couple of perforated
stubs, its eyes two yellow slits of easy-going malevolence, its tail a
twitching series of question marks as it stared at him.

Greebo had heard that Lady Felmet had a small white female cat and had
strolled up to pay his respects.

Verence had never seen an animal with so much built-in villainy.  He didn't
resist as it waddled across the floor and dried to rub itself against his
legs, purring like a waterfall.

"Well, well," said the king, vaguely.  He reached down and made an effort
to scratch it behind the two ragged bits on top of its head.   It was a
relief to find someone else besides another ghost who could see him, and
Greebo, he couldn't help feeling, was a distinctly unusual cat.  Most of
the castle cats were either pampered pets or flat-eared kitchen and stable
habitues who generally resembled the very rodents they lived on.  This cat,
on the other hand, was its own animal.  All cats give that impression, of
course, but instead of the mindless animal self-absorption that passes for
secret wisdom in the creatures, Greebo radiated genuine intelligence.  He
also radiated a smell that would have knocked over a wall and caused sinus
trouble in a dead fox.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# pp. 14-15
%passage 3
He wondered if ghosts hunted.  Almost certainly not, he imagined.  Or ate,
or drank either for that matter, and that was really depressing.  He liked
a big noisy banquet and had quaffed(1) many a pint of good ale.  And bad
ale, come to that.  He'd never been able to tell the difference till the
following morning, usually.

(1) Quaffing is like drinking, but you spill more.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# pp. 60-61 (dwarfish mechanics: see /Equal Rites/)
%passage 4
Granny Weatherwax milked and fed the goats, banked the fire, and put a
cloth over the mirror and pulled her broomstick out from behind the door.
She went out, locked the door behind her, and hung the key on its nail in
the privy.

This was quite sufficient.  Only once, in the entire history of witchery
in the Ramtops, had a thief broken into a witch's cottage.  The witch
concerned visited the most terrible punishment on him.(1)

Granny sat on the broom and muttered a few words, but without much
conviction.  After a further couple of tries, she got off, fiddled with
the binding, and had another go.  There was a suspicion of glitter from
one end of the stick, which quickly died away.

"Drat," she said, under her breath.

She looked around carefully, in case anyone was watching.  In fact it was
only a hunting badger who, hearing the thumping of running feet, poked its
head out from the bushes and saw Granny hurtling down the path with the
broomstick held stiff-armed beside her.  At last the magic caught, and she
managed to vault clumsily on to it before it trundled into the night sky
as gracefully as a duck with one wing missing.

From above the trees came a muffled curse against all dwarfish mechanics.

(1) She did nothing, although sometimes when she saw him in the village
she'd smile in a faint, puzzled way.  After three weeks of this the
suspense was too much for him and he took his own life; in fact he took it
all the way across the continent, where he became a reformed character and
never went home again.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 76 (passage starts mid-paragraph)
%passage 5
And, with alarming suddenness, nothing happened.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 82 ('/Good/ fool': lowercase 'fool' is accurate)
%passage 6
"Is this a dagger I see before me?" he mumbled.

"Um.  No, my lord.  It's my hankerchief, you see.  You can sort of tell the
difference if you look closely.  It doesn't have as many sharp edges."

"/Good/ fool," said the duke, vaguely.

Totally mad, the Fool thought.  Several bricks short of a bundle.  So far
round the twist you could use him to open wine bottles.

"Kneel beside me," my Fool.

The Fool did so.  The duke laid a soiled bandage on his shoulder.

"Are you loyal, Fool?" he said.  "Are you trustworthy?"

"I swore to follow my lord until death," said the Fool hoarsely.

The duke pressed his mad face close to the Fool, who looked up into a pair
of bloodshot eyes.

"I didn't want to," he hissed conspiratorially.  "They made me do it.  I
didn't want--"

The door swung open.  The duchess filled the doorway.  In fact, she was
nearly the same shape.

"Leonal!" she barked.

The fool was fascinated by what happened to the duke's eyes.  The mad red
flame vanished, was sucked backwards, and replaced by the hard blue stare
he had come to recognize.  It didn't mean, he realized, that the duke was
any less mad.  Even the coldness of his sanity was madness in a way.  The
duke had a mind that ticked like a clock and, like a clock, it regularly
went cuckoo.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 85
%passage 7
On the crest of the moor, where in the summer partridges lurked among the
bushes like small, whirring idiots, was a standing stone.  It stood roughly
where the witches' territories met, although the boundaries were never
formally marked out.

The stone was about the same height as a tall man, and made of a bluish
tinted rock.  It was considered intensely magical because, although there
was only one of it, /no-one had ever been able to count it/; if it saw
anyone looking at it speculatively, it shuffled behind them.  It was the
most self-effacing monolith ever discovered.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 92 (passage starts mid-paragraph)
%passage 8
Demons were like genies or philosophy professors--if you didn't word things
/exactly/ right, they delighted in giving you absolutely accurate and
completely misleading answers.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 121
%passage 9
Nanny Ogg was also out early.  She hadn't been able to get any sleep
anyway, and besides, she was worried about Greebo.  Greebo was one of her
few blind spots.  While intellectually she would concede that he was
indeed a fat, cunning, evil-smelling multiple rapist, she nevertheless
instinctively pictured him as the small fluffy kitten he had been decades
before.  The fact that he had once chased a female wolf up a tree and
seriously surprised a she-bear who had been innocently digging for roots
didn't stop her worrying that something bad might happen to him.  It was
generally considered by everyone else in the kingdom that the only thing
that might slow Greebo down was a direct meteorite strike.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 133 (the duke has locked Nanny Ogg in the castle dungeon)
%passage 10
"I really advise you all to return home," said Granny Weatherwax.  "There
has probably been a misunderstanding.  Everyone knows a witch cannot be
held against her will."

"It's gone too far this time," said a peasant.  "All this burning and
taxing and now this.  I blame you witches.  It's got to stop.  I know my
rights."

"What rights are they?" said Granny.

"Dunnage, cowhage-in-ordinary, badinage, leftovers, scrommidge, clary and
spunt." said the peasant promptly.  "And acornage, every other year, and
the right to keep two-thirds of a goat on the common.  Until he set fire to
it.  It was a bloody good goat, too."

"A man could go far, knowing his rights like you do," said Granny.  "But
right now he should go home."

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 164
%passage 11
"Whatever happened to the rule about not meddling in politics?" said Magrat,
watching her retreating back.

Nanny Ogg massaged some like back into her fingers.

"By Hoki, that woman's got a jaw like an anvil," she said.  "What was that?"

"I said, what about this rule about not meddling?" said Magrat.

"Ah," said Nanny.  She took the girl's arm.  "The thing is," she explained,
"as you advance in the Craft, you'll learn there is another rule.  Esme's
obeyed it all her life."

"And what's that?"

"When you break rules, break 'em good and hard," said Nanny, and grinned a
set of gums that were more menacing than teeth.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 238
%passage 12
"I mean it.  Look at me.  I wasn't supposed to be writing plays.  Dwarfs
aren't even supposed to be able to /read/.  I shouldn't worry too much
about destiny, if I was you.  I was destined to be a miner.  Destiny gets
it wrong half the time."

"But you said he looks like the Fool person.  I can't see it myself, mark
you."

"The light's got to be right."

"Could be some destiny at work there."

Hwel shrugged.  Destiny was funny stuff, he knew.  You couldn't trust it.
Often you couldn't even see it.  Just when you knew you had it cornered, it
turned out to be something else--coincidence, maybe, or providence.  You
barred the door against it, and it was standing behind you.  Then just when
you thought you had it nailed down it walked away with the hammer.

He used destiny a lot.  As a tool for his plays it was even better than a
ghost.  There was nothing like a bit of destiny to get the old plot rolling.
But it was a mistake to think you could spot the shape of it.  And as for
thinking it could be controlled...

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 242 (passage starts mid-paragraph; Lancre has recently come out of a
#         magic-induced 15-year stasis; 'things ... is': 'things' plural is
#         accurate, though probably a typo)
%passage 13
On top of the general suspicion of witches, it was dawning on the few people
in Lancre who had any dealings with the outside world that a) either more
things had been happening than they had heard about before or b) time was
out of joint.  It wasn't easy to prove(1) but the few traders who came along
the mountain tracks after the winter seemed to be rather older than they
should have been.  Unexplained happenings were always more or less expected
in the Ramtops because of the high magical potential, but several years
disappearing overnight was a bit of a first.

(1) Because of the way time was recorded among the various states, kingdoms
and cities.  After all, when over an area of a hundred square miles the same
year is variously the Year of the Small Bat, the Anticipated Monkey, the
Hunting Cloud, Fat Cows, Three Bright Stallions and at least nine numbers
recording the time since(2) assorted kings, prophets, and strange events were
either crowned, born or happened, and each year was a different number of
months, and some of them don't have weeks, and one of them refuses to accept
the day as a measure of time, the only things it is possible to be sure of
is that good sex doesn't last long enough.(3)

(2) The calendar of the Theocracy of Muntab counts /down/, not up.  No-one
knows why, but it might not be a good idea to hang around and find out.

(3) Except for the Zapingo tribe of the Great Nef, of course.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 250 (passage starts mid-paragraph)
%passage 14
It was a land of describable beauty.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
# p. 265 (passage starts mid-paragraph)
%passage 15
The past used to be a lot better than it is now.

  [Wyrd Sisters, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Pyramids (11)
# p. 218 (ROC edition)
%passage 1 (passage ends mid-paragraph)
What a chap needed at a time like this was a sign, some sort of book of
instructions.  The trouble with life was that you didn't get a chance to
practice before doing it for real.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 128 (passage starts mid-paragraph and ends mid-paragraph)
%passage 2
Mere animals couldn't possibly manage to act like this.  You need to be a
human being to be really stupid.

  [Pyramids, by Terry Pratchett]
%e passage
# pp. 9-10 ('tlingas' is accurate)
%passage 3
It was a full-length mirror.  All assassins had a full-length mirror in
their rooms, because it would be a terrible insult to anyone to kill them
when you were badly dressed.

Teppic examined himself critically.  The outfit had cost him his last
penny, and was heavy on the black silk.  It whispered as he moved.  It was
pretty good.

At least the headache was going.  It had nearly crippled him all day; he'd
been in dread of having to start the run with purple spots in front of his
eyes.

He sighed and opened the black box and took out his rings and slipped them
on.  Another box held a set of knives of Klatchian steel, their blades
darkened with lamp black.  Various cunning and intricate devices were taken
from velvet bags and dropped into pockets.  A couple of long-bladed
throwing /tlingas/ were slipped into their sheaths inside his boots.  A
thin silk line and folding grapnel were wound around his waist, over the
chain-mail shirt.  A blowpipe was attached to its leather thong and dropped
down his back under his cloak; Teppic pocketed a slim tin container with an
assortment of darts, their tips corked and their stems braille-coded for
ease of selection in the dark.

He winced, checked the blade of his rapier and slung the baldric over his
right shoulder, to balance the bag of lead slingshot ammunition.  As an
afterthought he opened his sock drawer and took a pistol crossbow, a flask
of oil, a roll of lockpicks and, after some consideration, a punch dagger,
a bag of assorted caltraps and a set of brass knuckles.

Teppic picked up his hat and checked its lining for the coil of cheesewire.
He placed it on his head at a jaunty angle, took a last satisfied look at
himself in the mirror, turned on his heel and, very slowly, fell over.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 30
%passage 4
He'd always remember the first night in the dormitory.  It was long enough
to accommodate all eighteen boys in Viper House, and draughty enough to
accommodate the great outdoors.  Its designer may have had comfort in mind,
but only so that he could avoid it whenever possible:  he had contrived a
room that could actually be colder than the weather outside.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 92
%passage 5
A few stars had been let out early.  Teppic looked up at them.  Perhaps, he
thought, there is life somewhere else.  On the stars, maybe.  If it's true
that there are billions of universes stacked along side one another, the
thickness of a thought apart, then there must be people elsewhere.

But wherever they are, no matter how mightily they try, no matter how
magnificent the effort, they surely can't manage to be as godawfully stupid
as us.  I mean, we work at it.  We were given a spark of it to start with,
but over hundreds of thousands of years we've really improved on it.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 96 (Ptaclusp the pyramid builder, sons Ptaclusp IIa and Ptaclusp IIb)
%passage 6
Descendants!  The gods had seen fit to give him one son who charged you for
the amount of breath expended in saying "Good morning", and another one who
worshipped geometry and stayed up all night designing aqueducts.  You
scrimped and saved to send them to the best schools, and then they went and
paid you back by getting educated.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 136
%passage 7
It's a fact as immutable as the Third Law of Sod that there is no such
thing as a good Grand Vizier.  A predilection to cackle and plot is
apparently part of the job spec.

High priests tend to get put in the same category.  They have to face the
implied assumption that no sooner do they get the funny hat than they're
issuing strange orders, e.g., princesses tied to rocks for itinerant sea
monsters and throwing little babies in the sea.

This is a gross slander.  Throughout the history of the Disc most high
priests have been serious, pious and conscientious men who have done their
best to interpret the wishes of the gods, sometimes disembowelling or
flaying alive hundreds of people in a day in order to make sure they're
getting it absolutely right.

  [Pyramids, by Terry Pratchett]
%e passage
# pp. 206-208 (text has 'that's now it happened'; 'now' changed to 'how' here)
%passage 8
Copolymer, the greatest storyteller in the history of the world, sat back
and beamed at the greatest minds in the world, assembled at the dining
table.

Teppic had added another iota to his store of new knowledge.  'Symposium'
meant a knife-and-fork tea.

"Well," said Copolymer, and launched into the story of the Tsortean Wars.

"You see, what happened was, /he'd/ taken /her/ back home, and her
father--this wasn't the old king, this was the one before, the one with the
wossname, he married some girl from over Elharib way, she had a squint,
what was her name now, began with a P.  Or an L.  One of them letters,
anyway.  Her father owned an island out on the bay there, Papylos I think
it was.  No, I tell a lie, it was Crinix.  /Anyway/ the king, the other
king, he raised an army and they....  Elenor, that was her name.  She had
a squint, you know.  But quite attractive, they say.  When I say married,
I trust I do not have to spell it out for you.  I mean, it was a bit
unofficial.  Er.  Anyway, there was this wooden horse and after they'd got
in...  Did I tell you about this horse?  It was a horse.  I'm pretty sure
it was a horse.  Or maybe it was a chicken.  Forget my own name next!  It
was wossname's idea, the one with the limp.  Yes.  The limp in his leg, I
mean.  Did I mention him?  There'd been this fight.  No, that was the other
one, I think.  Yes.  Anyway, this wooden pig, damn clever idea, they made
it out of thing.  Tip of my tongue.  Wood.  But that was later, you know.
The fight!  Nearly forgot the fight.  Yes.  Damn good fight.  Everyone
banging on their shields and yelling.  Wossname's armour shone like shining
armour.  Fight and a half, that fight.  Between thingy, not the one with
the limp, the other one, wossname, had red hair.  /You/ know.  Tall fellow,
talked with a lisp.  Hold on, just remembered, he was from some other
island.  Not him.  The other one, with the limp.  Didn't want to go, he
said he was mad.  Of course, he /was/ bloody mad, definitely.  I mean, a
wooden cow!  Like wossname said, the king, no not that king, the other one,
he saw the goat, he said 'I fear the Ephibeans, especially when they're mad
enough to leave bloody great wooden livestock on the doorstep, talk about
nerve, they must think we was born yesterday, set fire to it,' and, of
course, wossname had nipped in round the back and put everyone to the
sword, talk about laugh.  Did I say she had a squint?  They said she was
pretty, but it takes all sorts.  Yes.  Anyway, that's how it happened.
/Now/, of course, wossname--I think he was called Melycanus, had a limp--he
wanted to go home, well, you would, they'd been there for /years/, he
wasn't getting any younger.  That's why he dreamt up the thing about the
wooden wossname.  Yes.  I tell a lie, Lavaelous was the one with the knee.
Pretty good fight, that fight, take it from me."

He lapsed into self-satisfied silence.

"Pretty good fight," he mumbled and, smiling faintly, dropped off to sleep.

Teppic was aware that his own mouth was hanging open.  He shut it.  Along
the table several of the diners were wiping their eyes.

"Magic," said Xeno.  "Sheer magic.  Every word a tassle on the canopy of
Time."

"It's the way he remembers every tiny detail.  Pin sharp," murmured Ibid.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 211
%passage 9
"I'd love to stay and listen to you listening to me all day," he said.
"But there's a man over there I'd like to see."

"That's amazing," said Endos, making a short note and turning his attention
to a conversation further along the table.  A philosopher had averred that
although truth was beauty, beauty was not necessarily truth, and a fight was
breaking out.  Endos listened carefully.(1)

(1) The role of listeners has never been fully appreciated.  However, it is
well known that most people don't listen.  They use the time when someone
else is speaking to think of what they're going to say next.  True Listeners
have always been revered among oral cultures, and prized for their rarity
value; bards and poets are ten a cow, but a good Listener is hard to find,
or at least hard to find twice.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 278 (perhaps ought to end this one with the first paragraph...)
%passage 10
In the middle of the firestorm the Great Pyramid appeared to lift up a few
inches, on a beam of incandescence, and turn through ninety degrees.  This
was almost certainly the special type of optical illusion which can take
place /even though no-one is actually looking at it/.

And then, with deceptive slowness and considerable dignity, it exploded.

It was almost too crass a word.  What it did was this:  it came apart
ponderously into building-sized chunks which drifted gently away from one
another, flying serenely out and over the necropolis.  Several of them
struck other pyramids, badly damaging them in a lazy, unselfconscious way,
and then bounded on in silence until they ploughed to a halt behind a small
mountain of rubble.

Only then did the boom come.  It went on for quite a long time.

  [Pyramids, by Terry Pratchett]
%e passage
# p. 280 (passage starts mid-paragraph and ends mid-paragraph)
%passage 11
Man was never intended to understand things he meddled with.

  [Pyramids, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Guards! Guards! (14)
# p. 283 (ROC edition)
%passage 1
"I see you're very comfortable here," said Vimes weakly.

"Never build a dungeon you wouldn't be happy to spend the night in
yourself," said the Patrician, laying out the food on the cloth.  "The
world would be a happier place if more people remembered that."

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 133
%passage 2
These weren't encouraged in the city, since the heft and throw of a
longbow's arrow could send it through an innocent bystander a hundred
yards away rather than the innocent bystander at whom it was aimed.

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 26 (first and second paragraphs are actually end of one section,
#        start of next one; first 'Thunder rolled...' had three dot
#        ellipsis, second has four, ellipsis plus final period--
#        first changed to four here so that they match)
%passage 3
Thunder rolled....

It is said that the gods play games with the lives of men.  But what games,
and why, and the identities of the actual pawns, and what the game is, and
what the rules are--who knows?

Best not to speculate.

Thunder rolled....

It rolled a six.

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 48 (passage is a footnote)
%passage 4
One of the remarkable innovations introduced by the Patrician was to make
the Thieves' Guilde /responsible/ for theft, with annual budgets, forward
planning and, above all, rigid job protection.  Thus, in return for an
agreed average level of crime per annum, the thieves themselves saw to it
that unauthorized crime was met with the full force of Injustice, which was
generally a stick with nails in it.

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 87 (passage ends mid-paragraph)
%passage 5
"Well, sir," he said, "I know that dragons have been extinct for thousands
of years, sir--"

"Yes?"  The Patrician's eyes narrowed.

Vimes plunged on.  "But sir, the thing is, do /they/ know?"  [...]

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 114 (passage is a footnote)
%passage 6
The Guild of Fire Fighters had been outlawed by the Patrician the previous
year after many complaints.  The point was that, if you bought a contract
from the Guild, your house would be protected against fire.  Unfortunately,
the general Ankh-Morpork ethos quickly came to the fore and fire fighters
would tend to go to prospective clients' houses in groups, making loud
comments like "Very inflammable looking place, this" and "Probably go up
like a firework with just one carelessly dropped match, know what I mean?"

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 131 (Sherlock Holmes)
%passage 7
Once you've ruled out the impossible then whatever is left, however
improbable, must be the truth.  The problem lay in working out what was
impossible, of course.  That was the trick, all right.

There was also the curious incident of the orangutan in the night-time....

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 150 (Dirty Harry with a small swamp dragon rather than a .45 Magnum...)
%passage 8
A streak of green fire blasted out of the back of the shed, passed a foot
over the heads of the mob, and burned a charred rosette in the woodwork
over the door.

Then came a voice that was a honeyed purr of shear deadly menace.

"/This is Lord Mountjoy Quickfang Winterforth IV, the hottest dragon in the
city.  It could burn your head clean off./"

Captain Vimes limped forward from the shadows.

A small and extremely frightened golden dragon was clamped firmly under one
arm.  His other hand held it by the tail.

The rioters watched it, hypnotised.

"Now I know what you're thinking," Vimes went on, softly.  "You're
wondering, after all this excitement, has it got enough flame left?  And,
y'know, I ain't so sure myself..."

He leaned forward, sighting between the dragon's ears, and his voice
buzzed like a knife blade:

"What you've got to ask yourself is:  Am I feeling lucky?"

They swayed backwards as he advanced.

"Well?" he said.  "/Are/ you feeling lucky?"

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 154 (passage is a footnote; ten pages later, Sergeant Colon uses the
#         old version of the proverb)
%passage 9
The phrase "Set a thief to catch a thief" had by this time (after strong
representations from the Thieves' Guilde) replaced a much older and
quintessentially Ankh-Morpork proverb, which was "Set a deep hole with
spring-loaded sides, tripwires, whirling knife blades driven by water power,
broken glass and scorpions, to catch a thief."

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 174 (passage starts mid-paragraph)
%passage 10
[...]  There was no difference at all between the richest man and the
poorest beggar, apart from the fact that the former had lots of money,
food, power, fine clothes, and good health.  But at least he wasn't
any /better/.  Just richer, fatter, more powerful, better dressed and
healthier.  It had been like that for hundreds of years.

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 205
%passage 11
"Might have been just an innocent bystander, sir," said Carrot.

"What, in Ankh-Morpork?"

"Yes, sir."

"We should have grabbed him, then, just for the rarity value," said Vimes.

  [Guards! Guards!, by Terry Pratchett]
%e passage
# pp. 262-263 (passage is a footnote; 'practise', 'practised' are accurate)
%passage 12
A number of religions in Ankh-Morpork still practised human sacrifice,
except that they really didn't need to practise any more because they had
got so good at it.  City law said that only condemned criminals should be
used, but that was all right because in most of the religions refusing to
volunteer for sacrifice was an offense punishable by death.

  [Guards! Guards!, by Terry Pratchett]
%e passage
# p. 292
%passage 13
There were times when an ape had to do what a man had to do...

The orangutan threw a complex salute and swung away into the darkness.

  [Guards! Guards!, by Terry Pratchett]
%e passage
# pp. 299-300 + 325 (final part comes quite a bit later; Carrot is trying to
#                    alert oblivious Sergeant Colon that the dragon is coming)
%passage 14
"This is what it comes to!" muttered Colon.  "Decent women can't walk down
the street without being eaten!  Right, you bastards, you're... you're
/geography/--"

"Sergeant!" Carrot repeated urgently.

"It's history, not geography," said Nobby.  "That's what you're supposed to
say.  History.  'You're history!' you say."

"Well, whatever," snapped Colon.  "Let's see now--"

[...(quite a while later)...]

"You heard the Man," he rasped.  "One false move and you're... you're--" he
took a desperate stab at it--"you're Home Economics!"

  [Guards! Guards!, by Terry Pratchett]
%e passage
%e title
#
#
# The original publication of /Eric/ featured extensive illustrations by
# Josh Kirby but the mass-market paperback edition contains none of them
# and omits his name.  In the Harper Torch edition, the list of other
# books by the same author has "Eric (with Josh Kirby)" even though the
# copyright and title pages of that very book do not mention him.
#
%title Eric (9)
# pp. 3-4 (Harper Torch edition)
%passage 1
No enemies had ever taken Ankh-Morpork.  Well, /technically/ they had,
quite often; the city welcomed free-spending barbarian invaders, but
somehow the puzzled raiders always found, after a few days, that they
didn't own their own horses anymore, and within a couple of months they
were just another minority group with its own graffiti and food shops.

  [Eric, by Terry Pratchett]
%e passage
# p. 195
%passage 2
"I can see blue sky!" said Eric.  "Where do you think we'll come out?" he
added.  "And when?"

"Anywhere," said Rincewind.  "Anytime."

He looked down at the broad steps they were climbing.  They were something
of a novelty; each one was built out of large stone letters.  The one he
was just stepping on to, for example, read: I Meant It For The Best.

The next one was: I Thought You'd Like It.

Eric was standing on: For The Sake Of The Children.

'Weird, isn't it?' he said.  'Why do it like this?'

'I think they're meant to be good intentions,' said Rincewind.  This was a
road to Hell, and demons were, after all, traditionalists.

  [Eric, by Terry Pratchett]
%e passage
# pp. 9-10 (passage has an interesting start but not much of a finish...)
%passage 3
"It's a haunting," he ventured.  "Some sort of ghost, maybe.  A bell, book
and candle job."

The Bursar sighed.  "We tried that, Archchancellor."

The Archchancellor leaned toward him.

"Eh?" he said.

"I /said/, we tried that, Archchancellor," said the Bursar loudly,
directing his voice at the old man's ear.  "After dinner, you remember?
We used Humptemper's /Names of the Ants/ and rang Old Tom."(1)

"Did we, indeed.  Worked, did it?"

"/No/, Archchancellor."

"Eh?"

(1) Old Tom was the single cracked bronze bell in the University bell
tower.  The clapper dropped out shortly after it was cast, but the bell
still tolled out some tremendously sonorous silences every hour.

  [Eric, by Terry Pratchett]
%e passage
# pp. 14-15 (the top wizards have performed the Rite of AshkEnte)
%passage 4
Death pointedly picked invisible particles off the edge of his scythe.

The Archchancellor cupped a gnarled hand over his ear.

"What'd he say?  Who's the fella with the stick?"

"It's Death, Archchancellor," said the Bursar patiently.

"Eh?"

"It's Death, sir.  /You/ know."

"Tell him we don't want any," said the old wizard, waving his stick.

The Bursar sighed.  "We summoned him, Archchancellor."

"Is it?  What'd we go and do that for?  Bloody silly thing to do."

The Bursar gave Death an embarrassed grin.  He was on the point of asking
him to excuse the Archchancellor on account of age, but realized that this
would in the circumstances be a complete waste of breath.

"Are we talking about the wizard Rincewind?  The one with the--" the Bursar
gave a shudder-- "horrible Luggage on legs?  But he got blown up when there
was all that business with the sourcerer, didn't he?"(1)

INTO THE DUNGEON DIMENSIONS.  AND NOW HE IS TRYING TO GET BACK HOME.

(1) The Bursar was referring obliquely to the difficult occasion when the
University very nearly caused the end of the world, and would in fact have
done so had it not been for a chain of events involving Rincewind, a magic
carpet and a half-brick in a sock.  (See /Sourcery/.)  The whole affair
was very embarrassing to wizards, as it always is to people who find out
afterward that they were on the wrong side all along,(2) and it is
remarkable how many of the University's senior staff were now adamant that
at the time they had been off sick, visiting their aunt, or doing research
with the door locked while humming loudly and had had no idea of what was
going on outside.  There had been some desultory talk about putting up a
statue to Rincewind but, by the curious alchemy that tends to apply in
these sensitive issues, this quickly became a plaque, then a note on the
Role of Honor, and finally a motion of censure for being improperly dressed.

(2) ie, the one that lost.

  [Eric, by Terry Pratchett]
%e passage
# p. 34
%passage 5
"Not that he was particularly successful.  It was all a bit trial and
wossname."

"I thought you said great big scaly--"

"Oh, /yes/.  But that wasn't what he was after.  He was trying to conjure
up a succubus."  It should be impossible to leer when all you've got is a
beak, but the parrot managed it.  "That's a female demon what comes in the
night and makes mad passionate wossn--"

"I've heard of them," said Rincewind.  "Bloody dangerous things."

The parrot put its head on one side.  "It never worked.  All he ever got
was a neuralger."

"What's that?"

"It's a demon that comes and has a headache at you."

  [Eric, by Terry Pratchett]
%e passage
# p. 35 (passage is a footnote)
%passage 6
Demons and their Hell are quite different from the Dungeon Dimensions,
those endless parallel wastelands outside space and time.  The sad, mad
Things in the Dungeon Dimensions have no understanding of the world but
simply crave light and shape and try to warm themselves by the fires of
reality, clustering around it with about the same effect--if they ever
broke through--as an ocean trying to warm itself around a candle.  Whereas
demons belong to the same space-time wossname, more or less, as humans,
and have a deep and abiding interest in humanity's day-to-day affairs.
Interestingly enough, the gods of the Disc have never bothered much about
judging the souls of the dead, so people can only go to hell if that's
where they believe, in their deepest heart, that they deserve to go.
Which they won't do if they don't know about it.  This explains why it is
important to shoot missionaries on sight.

  [Eric, by Terry Pratchett]
%e passage
# p. 153
%passage 7
"Multiple exclamation marks," he went on, shaking his head, "are a sure
sign of a diseased mind."

  [Eric, by Terry Pratchett]
%e passage
# pp. 178-179 (Ponce da Quirm, encountered in hell)
%passage 8
"So you didn't find the Fountain of Youth, then," he said, feeling that he
should make some conversation.

"Oh, but I did," said da Quirm earnestly.  "A clear spring, deep in the
jungle.  It was very impressive.  I had a good long drink, too.  Or draft,
which I think is the more appropriate word.

"And--?" said Rincewind.

"It definitely worked.  Yes.  For a while there I could definitely feel
myself getting younger.

"But--" Rincewind waved a vague hand to take in da Quirm, the treadmill,
the towering circles of the Pit.

"Ah," said the old man.  "Of course, that's the really annoying bit.  I'd
read so much about the Fountain, and you'd have thought someone in all
those books would have mentioned the really vital thing about the water,
wouldn't you?"

"Which was--?"

"/Boil it first./  Says it all, doesn't it?  Terrible shame, really."

  [Eric, by Terry Pratchett]
%e passage
# p. 179
%passage 9
The Luggage trotted down the great spiral road that linked the circles of
the Pit.  Even if conditions had been normal it probably would not have
attracted much attention.  If anything, it was rather less astonishing
than most of the denizens.

  [Eric, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Moving Pictures (16)
# p. 7 (ROC Edition)
%passage 1
This is space.  It's sometimes called the final frontier.

(Except that of course you can't have a /final/ frontier, because there'd
be nothing for it to be a frontier /to/, but as frontiers go, it's pretty
penultimate...)

  [Moving Pictures, by Terry Pratchett]
%e passage
# pp. 22-23 (very short but happens to span a page boundary...)
%passage 2
By and large, the only skill the alchemists of Ankh-Morpork had discovered
so far was the ability to turn gold into less gold.

  [Moving Pictures, by Terry Pratchett]
%e passage
# pp. 44, 45, 46 (multiple paragraphs skipped in the first two gaps;
#                 the dog is Gaspode, who can talk but conceals that from
#                 almost everybody; his use of 'bin' for 'been' is accurate)
%passage 3
He looked down.  There was a dog sitting by his feet.

It was small, bow-legged and wiry, and basically grey but with patches of
brown, white, and black in outlying areas, and it was staring.

It was certainly the most penetrating stare Victor had ever seen.  It
wasn't menacing, or fawning.  It was just very slow and very thorough, as
though the dog was memorising details so that it could give a full
description to the authorities later.

[...]

Victor let his gaze slide downwards.  There was nothing there but the little
dog, industriously scratching itself.  It looked up slowly, and said "Woof?"

[...]

Victor poked an exploratory finger in his ear.  It must have  been a trick
of an echo, or something.  It wasn't that the dog had gone "woof!", although
that was practically unique in itself; most dogs in the universe /never/
went "woof!", they had complicated barks like "whuuugh!" and "hwhoouf!".
No, it was that it hadn't in fact /barked/ at all.  It had /said/ "woof".

[...]

One of the last things Victor remembered was a voice beside his knee saying,
"Could have bin worse, mister.  I could have said 'miaow'."

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 322
%passage 4
"'Twas beauty killed the beast," said the Dean, who liked to say things
like that.

"No it wasn't," said the Chair.  "It was it splatting into the ground like
that."

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 12
%passage 5
There's a saying that all roads lead to Ankh-Morpork, greatest of Discworld
cities.

At least, there's a /saying/ that there's a saying that all roads lead to
Ankh-Morpork.

And it's wrong.  All roads lead /away/ from Ankh-Morpork, but sometimes
people just walk along them the wrong way.

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 34 (Victor Tugelbend and Ponder Stibbons are students at Unseen Uni.)
%passage 6
"Rain's stopped.  Let's go over the wall," he said.  "We deserve a drink."

Victor waggled a finger.  "Just one drink, then.  Got to keep sober," he
said.  "It's Finals tomorrow.  Got to keep a clear head!"

"Huh!", said Ponder.

Of course, it's very important to be sober when you take an exam.  Many
worthwhile careers in the street-cleansing, fruit-picking and subway-guitar-
playing industries have been founded on a lack of understanding of this
simple fact.

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 37
%passage 7
In a sense which his tutors couldn't quite define, much to their annoyance,
Victor Tugelbend was also the laziest person in the history of the world.

Not simply, ordinarily lazy.  Ordinary laziness was merely the absence of
effort.  Victor had passed through there a long time ago, had gone straight
through commonplace idleness and out on the far side.  He put more effort
into avoiding work than most people put into hard labour.

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 60
%passage 8
Cut-me-own-Throat Dibbler was one of those rare people with the ability to
think in straight lines.

Most people think in curves and zig-zags.  For example, they start with a
thought like:  I wonder how I can become very rich, and then proceed along
an uncertain course which includes thoughts like:  I wonder what's for
supper, and:  I wonder who I know that can lend me five dollars?

Whereas Throat was one of those people who could identify the thought at the
other end of the process, in this case /I am now very rich/, draw a line
between the two, and then think his way along it, slowly and patiently,
until he got to the other end.

Not that it worked.  There was always, he found, some small but vital flaw
in the process.  It generally involved a strange reluctance on the part of
people to buy what he had to sell.

  [Moving Pictures, by Terry Pratchett]
%e passage
# pp. 71-72
%passage 9
"Tell me, Mr Dibbler." said Silverfish, "what exactly is your profession?"

"I sell merchandise," said Dibbler.

"Mostly sausages," Victor volunteered.

"/And/ merchandise," said Dibbler, sharply.  "I only sell sausages when the
merchandising trade is a bit slow."

"And the sale of sausages leads you to believe you can make better moving
pictures?" said Silverfish.  "Anyone can sell sausages!  Isn't that so,
Victor?"

"Well..." said Victor, reluctantly.  No-one except Dibbler could possibly
sell Dibbler's sausages.

"There you are then," said Silverfish.

"The thing is," said Victor, "that Mr Dibbler can even sell sausages to
people who have bought them off him /before/."

"That's right!" said Dibbler.  He beamed at Victor.

"And a man who could sell Mr Dibbler's sausages twice could sell anything,"
said Victor.

  [Moving Pictures, by Terry Pratchett]
%e passage
# pp. 111-112 ('dis', 'ort', 'yore', 'finking', 'mayonnaisey', 'specialitay',
#              'de lar mayson' all accurate)
%passage 10
Borgle's commissary had decided to experiment with salads tonight.  The
nearest salad growing district was thirty slow miles away.

"What dis?" demanded a troll, holding up something limp and brown.

Fruntkin the short-order chef hazarded a guess.

"Celery?" he said.  He peered closer.  "Yeah, celery."

"It /brown/."

"'S'right.  'S'right!  Ripe celery ort to be brown," said Fruntkin, quickly.
"Shows it's ripe," he added.

"It should be /green/."

"Nah.  Yore finking about the tomatoes," said Fruntkin.

"Yeah, and what's this runny stuff?" said a man in the queue.

Fruntkin drew himself up to his full height.

"That," he said, "is the mayonnaisey.  Made it myself.  Out of a /book/, he
added proudly.

"Yead, I expect you did," said the man, prodding it.  "Clearly oil, eggs
and vinegar were not involved, right?"

"Specialitay de lar mayson," said Fruntkin.

"Right, right," said the man.  "Only it's attacking my lettuce."

Fruntkin grasped his ladle angrily.

"Look--" he began.

"No, it's all right," said the prospective diner.  "The slugs have formed a
defensive ring."

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 137 (CMOT Dibbler has become a director, Rock is a troll actor)
%passage 11
"Er, I was just wondering, Mr Dibbler... what is my motivation for this
scene?"

"Motivation?"

"Yes.  Er.  I got to know, see," said Rock.

"How about:  I'll fire you if you don't do it properly?"

Rock grinned.  "Right you are, Mr Dibbler," he said.

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 189
%passage 12
Magic wasn't difficult.  That was the big secret that the whole baroque
edifice of wizardry had been set up to conceal.  Anyone with a bit of
intelligence and enough perseverance could do magic, which was why the
wizards cloaked it with rituals and the whole pointy-hat business.

The trick was to do magic and /get away with it/.

Because it was as if the human race was a field of corn and magic helped
the users grow just that bit taller, so that they stood out.  That
attracted the attention of gods and--Victor hesitated--other Things outside
this world.  People who used magic without knowing what they were doing
usually came to a sticky end.

All over the entire room, sometimes.

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 204 (passage ends mid-paragraph; musings are by Gaspode the dog;
#         'sunnink', 'fings', 'wot' are accurate, as is 'finds' for 'find')
%passage 13
Sunnink dreadful in there, he thought.  Prob'ly tentacled fings that rips
your face off.  I mean, when you finds mysterious doors in old hills, it
stands to reason wot comes out ain't going to be pleased to see you.  Evil
creatures wot Man shouldn't wot of, and here's one dog wot don't want to
wot of them either.

  [Moving Pictures, by Terry Pratchett]
%e passage
# pp. 206-207 (passage starts mid-paragraph; Dibbler now controls Silverfish's
#              moving pictures studio;  Detritus isn't part of the Watch yet)
%passage 14
"[...]  Detritus, throw this bum out!"

"Right you are, Mr Dibbler," rumbled the troll, gripping Silverfish's
collar.

"You haven't heard the last of this, you--you scheming, devious
megalomaniac!"

Dibbler removed his cigar.

"That's /Mister/ Megalomaniac to you," he said.

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 274 (passage starts mid-sentence; senior wizards of the University are
#         attending a 'click' and have decided to take their hats off...)
%passage 15
[...] inside every old person is a young person wondering what happened.

  [Moving Pictures, by Terry Pratchett]
%e passage
# p. 295 (passage starts mid-sentence; the movie theater owner's daughter
#         is playing a pipe organ to accompany the silent movie)
%passage 16
[...] whatever piece of music she was playing, it was definitely losing.

  [Moving Pictures, by Terry Pratchett]
%e passage
#
# New for 5.0 - these are worthy but 16 passages are already more than enough.
#-#
#-# p. 304
#-%passage 17
#-"Did I hear things, or can that little dog speak?" said Dibbler.
#-
#-"He says he can't," said Victor.
#-
#-Dibbler hesitated.  The excitement was unhinging him a little.  "Well," he
#-said, "I suppose he should know."
#-
#-  [Moving Pictures, by Terry Pratchett]
#-%e passage
#-# p. 329 (two farmers have just watched a pair of wizards incompetently
#-#         flying together on a broom crash into a barn containing harvested
#-#         cabbages; one of them had predicted, accurately as it turned out,
#-#         that the flyers would crash out the far side accompanied by
#-#         scattering chickens and a shower of feathers; 'believer' had
#-#         scoffed at the prediction because there were no chickens inside;
#-#         they've just looked inside and confirmed the lack of any poultry)
#-%passage 18
#-The farmers crept away.
#-
#-"Dang me," said the believer in cabbages.  "They're wizards.  Best not to
#-meddle in the affairs of danged wizards."
#-
#-"Yeah," said the other farmer.  "Er... what does dang mean?  Exactly?"
#-
#-  [Moving Pictures, by Terry Pratchett]
#-%e passage
%e title
#
#
#
%title Reaper Man (15)
# pp. 301-302 (ROC edition)
%passage 1
It was later that the story of Windle Poons really came to an end, if
"story" means all that he did and caused and set in motion.  In the Ramtop
villages where they dance the real Morris dance, for example, they believe
that no one is finally dead until the ripples they cause in the world die
away--until the clock he wound up winds down, until the wine she made has
finished its ferment, until the crop they planted is harvested.  The span
of someone's life, they say, is only the core of their actual existence.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 251 (passage starts mid-paragraph)
%passage 2
Five exclamation marks, the sure sign of an insane mind.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 305 (passage starts mid-paragraph)
%passage 3
Light thinks it travels faster than anything but it is wrong.  No matter
how fast light travels it finds the darkness has always got there first,
and is waiting for it.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 245
%passage 4
"That's not fair, you know.  If we knew when we were going to die, people
would lead better lives."

IF PEOPLE KNEW WHEN THEY WERE GOING TO DIE, I THINK THEY PROBABLY WOULDN'T
LIVE AT ALL.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 19
%passage 5
YOU FEAR TO DIE?

"It's not that I don't want... I mean, I've always... it's just that life
is a habit that's hard to break..."

  [Reaper Man, by Terry Pratchett]
%e passage
# pp. 30-31
%passage 6
Wizards don't believe in gods in the same way that most people don't find it
necessary to believe in, say, tables.  They know they're there, they know
they're there for a purpose, they'd probably agree that they have a place in
a well-organized universe, but they wouldn't see the point of /believing/,
of going around saying, "O great table, without whom we are as naught".
Anyway, either the gods are there whether you believe or not, or exist only
as a function of the belief, so either way you might as well ignore the
whole business and, as it were, eat off your knees.

Nevertheless, there is a small chapel off the University's Great Hall,
because while the wizards stand right behind the philosophy as outlined
above, you don't become a successful wizard by getting up gods' noses even
if those noses only exist in an ethereal or metaphorical sense.  Because
while wizards don't believe in gods they know for a fact that /gods/ believe
in gods.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 50 (Dibbler is so low because he's on steps leading down to a cellar;
#        'favour' and 'pedlar' are the spelling used)
%passage 7
"Sergeant!"

Colon froze.  Then he looked down.  A face was staring up at him from ground
level.  When he'd got a grip on himself, he made out the sharp features of
his old friend Cut-Me-Own-Throat Dibbler, the Discworld's walking, talking
argument in favour of the theory that mankind had descended from a species
of rodent.  C. M. O. T. Dibbler like to describe himself as a merchant
adventurer; everyone else liked to describe him as itinerant pedlar whose
moneymaking schemes were always let down by some small but vital flaw, such
as trying to sell things he didn't own or which didn't work or, sometimes,
didn't even exist.  Fairy gold is well known to evaporate by morning, but
it was a reinforced concrete slab by comparison to some of Dibbler's
merchandise.

  [Reaper Man, by Terry Pratchett]
%e passage
# pp. 58-59
%passage 8
Over the fireplace was an ornamental candlestick, fixed to a bracket on the
wall.  It was such a familiar piece of furniture that Windle hadn't really
seen it for fifty years.

It was coming unscrewed.  It spun around slowly, squeaking once a turn.
After half a dozen turns it fell off and clattered to the floor.

Inexplicable phenomena were not in themselves unusual on the Discworld.(1)
It was just that they normally had more point, or at least were a bit more
interesting.

(1) Rains of fish, for example, were so common in the little land-locked
village of Pine Dressers that it had a flourishing smoking, canning and
kipper filleting industry.  And in the mountain regions of Syrrit many
sheep, left out in the fields all night, would be found in the morning to
/be facing the other way/, without the apparent intervention of any human
agency.

  [Reaper Man, by Terry Pratchett]
%e passage
# pp. 68-69 (130 year old wizard Windle Poon has become a zombie after dying)
%passage 9
"And now let's put the lid on and go and have some lunch," said Ridcully.
"Don't worry, Windle.  It's bound to work.  Today is the last day of the
rest of your life."

Windle lay in the darkness, listening to the hammering.  There was a thump
and a muffled imprecation against the Dean for not holding the end properly.
And then the patter of soil on the lid, getting fainter and more distant.

After a while a distant rumbling suggested that the commerce of the city
was being resumed.  He could even hear muffled voices.

He banged on the coffin lid.

"Can you keep it down?" he demanded.  "There's people down here trying to
be dead!"

He heard the voices stop.  There was the sound of feet hurrying away.

  [Reaper Man, by Terry Pratchett]
%e passage
# pp. 81-82 (things have stopped dying because Death is no longer on the job)
%passage 10
Everything that exists, yearns to live.  That's what the cycle of life is
all about.  That's the engine that drives the great biological pumps of
evolution.  Everything tries to inch its way up the tree, clawing or
tentacling or sliming its way up to the next niche until it gets to the
very top--which, on the whole, never seems to have been worth all the
effort.

Everything that exists, yearns to live.  Even things that are not alive.
Things that have a kind of sub-life, a metaphorical life, an /almost/ life.
And now, in the same way that a sudden hot spell brings forth unnatural and
exotic blooms...

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 101
%passage 11
Dead.  That was the point.  All the religions had very strong views about
talking to the dead.  And so did Mrs Cake.  They held that it was sinful.
Mrs Cake held that it was only common courtesy.

This usually led to a fierce ecclesiastical debate which resulted in Mrs
Cake giving the chief priest what she called "a piece of her mind".  There
were so many pieces of Mrs Cake's mind left around the city now that it
was quite surprising that there was enough left to power Mrs Cake but,
strangely enough, the more pieces of her mind she gave away the more there
seemed to be left.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 222
%passage 12
"No--" Ridcully began, and realised that it was hopeless.  And he was losing
the initiative.  He carefully formulated the most genteel battle cry in the
history of bowdlerism,

"Darn them to Heck!" he yelled, and ran after the Dean.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 226
%passage 13
Miss Flitworth disappeared into the scullery.  There was the creaking of a
pump.  She returned with a damp flannel and a glass of water.

THERE'S A NEWT IN IT!

"Shows it's fresh," said Miss Flitworth,(1) fishing the amphibian out and
releasing it on the flagstones, where it scuttled away into a crack.

(1) People have believed for hundreds of years that newts in a well mean
that the water's fresh and drinkable, and /in all that time/ never asked
themselves whether the newts got out to go to the lavatory.

  [Reaper Man, by Terry Pratchett]
%e passage
# p. 247
%passage 14
"Have you got any last words?"

YES.  I DON'T WANT TO GO.

"Well.  Succinct, anyway."

  [Reaper Man, by Terry Pratchett]
%e passage
# pp. 249-250
%passage 15
"Where's everyone gone, Librarian?"

"Oook oook."

"Just like them.  I'd have done that.  Rush off without thinking.  May the
gods bless them and help them, if they can find the time from their family
squabbles."

And then he thought:  well, what now?  I've thought, and what am I going to
do?

Rush off, or course,  But slowly.

  [Reaper Man, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Witches Abroad (14)
# p. 92 (ROC edition)
%passage 1
Vampires have risen from the dead, the grave and the crypt, but have never
managed it from the cat.

  [Witches Abroad, by Terry Pratchett]
%e passage
# pp. 12-13
%passage 2
Desiderata Hollow was making her will.

When Desiderata Hollow was a girl, her grandmother had given her four
important pieces of advice to guide her young footsteps on the unexpectedly
twisting pathway of life.

They were:

Never trust a dog with orange eyebrows,

Always get the young man's name and address,

Never get between two mirrors,

And always wear completely clean underwear every day because you never knew
when you were going to be knocked down and killed by a runaway horse and if
people found you had unsatisfactory underwear on, you'd die of shame.

And then Desiderata grew up to become a witch.  And one of the minor
benefits of being a witch is that you know exactly when you're going to die
and can wear what underwear you like.(1)

That had been eighty years earlier, when the idea of knowing exactly when
you were going to die had seemed quite attractive because secretly, of
course, you knew you were going to live forever.

That was then.

And this was now.

Forever didn't seem to last as long these days as once it did.

(1) Which explains a lot about witches.

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 64 (passage ends mid-paragraph)
%passage 3
"You know," said Nanny, investigating the recesses of the basket, "whenever
I deals with dwarfs, the phrase 'Duck's arse' swims across my mind."

"Mean little devils.  You should see the prices they tries to charge me
when I takes my broom to be repaired," said Granny.

"Yes, but you never pay," said Magrat.

"That's not the point," said Granny Weatherwax.  "They shouldn't be allowed
to charge that sort of money.  That's thievin', that is."

"I don't see how it can be thieving if you don't pay anyway," said Magrat.

"I never pay for anything," said Granny.  [...]

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 93 (passage is a footnote)
%passage 4
Nanny Ogg sent a number of cards home to her family, not a single one of
which got back before she did.  This is traditional, and happens everywhere
in the universe.

  [Witches Abroad, by Terry Pratchett]
%e passage
# pp. 118-119 (Magrat has been teaching herself martial arts via books)
%passage 5
"Lobsang Dibbler says sometimes you have to lose in order to win," said
Magrat.

"Sounds daft to me," said Nanny.  "That's Yen Buddhism, is it?"

"No.  They're the ones who say you have to have lots of money to win," said
Magrat.(1)  "In the Path of the Scorpion, the way to win is to lose every
fight except the last one.  You use the enemy's strength against himself."

"What, you get him to hit himself, sort of thing?" said Nanny.  "Sounds
daft."

(1) The Yen Buddhists are the richest religious sect in the universe.  They
hold that the accumulation of money is a great evil and burden to the soul.
They therefore, regardless of personal hazard, see it as their unpleasant
duty to acquire as much as possible to reduce the risk to innocent people.

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 131
%passage 6
They had breakfast in a forest clearing.  It was grilled pumpkin.  The dwarf
bread was brought out for inspection.  But it was miraculous, the dwarf
bread.  No one ever went hungry when they had some dwarf bread to avoid.
You only had to look at it for a moment, and instantly you could think of
dozens of things you'd rather eat.  Your boots for example.  Mountains.  Raw
sheep.  Your own foot.

  [Witches Abroad, by Terry Pratchett]
%e passage
# pp. 194-195 ("he just" is accurate; cockerel == adolescent rooster)
%passage 7
"This is Legba, a dark and dangerous spirit," said Mrs. Gogol.  She leaned
closer and spoke out of the corner of her mouth.  "Between you and me, he
just a big black cockerel.  But you know how it is."

"It pays to advertise," Nanny agreed.  "This is Greebo.  Between you and me,
he's a fiend from hell."

"Well, he's a cat," said Mrs. Gogol, generously.  "It's only to be expected."

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 218
%passage 8
"/And/ still a bit of the wedding cake," said the first coachman.  "Ain't
you et that up yet?"

"We have it every night," said the undercoachman.

The shed shook with the ensuing laughter.  It is a universal fact that any
innocent comment made by any recently married young member of any workforce
is an instant trigger for coarse merriment among his or her older and more
cynical colleagues.  This happens even if everyone concerned has nine legs
and lives at the bottom of an ocean of ammonia on a huge cold planet.  It's
just one of those things.

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 228
%passage 9
"You ought to be more adventurous, Granny," said Magrat.

"I ain't against adventure, in moderation," said Granny, "but not when I'm
eatin'."

  [Witches Abroad, by Terry Pratchett]
%e passage
# pp. 263-264 (Nanny is trying to stop an elaborate clock; despite damage
#              inflicted on it, it goes on to announce midnight [early])
%passage 10
Let's see thought Nanny.  This bit is connected to that bit, this one turns,
that one turns /faster/, this spiky bit wobbles backwards and forwards...

Oh, well.  Just twist the first thing you can grab, as the High Priest said
to the vestal virgin.(1)

Nanny Ogg spat on her hands, gripped the largest cog-wheel, and twisted.

It carried on turning, pulling her with it.

Blimey.  Oh, well...

Then she did what neither Granny Weatherwax nor Magrat would have dreamed
of doing in the circumstances.  But Nanny Ogg's voyages on the sea of
intersexual dalliance had gone rather further than twice around the
lighthouse, and she saw nothing demeaning in getting a man to help her.

She simpered at Casanunda.

"Things would be a lot more comfortable in our little /pie-de-terre/ if you
could just push this little wheel around a bit," she said.  "I'm sure /you/
could manage it," she added.

"Oh, no problem, good lady," said Casanunda.  He reached up with one hand.
Dwarfs are immensely strong for their size.  The wheel seemed to offer him
no resistance at all.

Somewhere in the mechanism something resisted for a moment and then went
/clonk/.  Big wheels turned reluctantly.  Little wheels screamed on their
axles.  A small important piece flew out and pinged off of Casanunda's
small bullet head.

And, much faster than nature had ever intended, the hands sped around the
face.

(1) This is the last line to a Discworld joke lost, alas, to posterity.

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 265 ('pate' has a couple of accent marks which can't be rendered in ascii)
%passage 11
There are various forms of voodoo in the multiverse, because it's a
religion that can be put together from any ingredients that happen to be
lying around.  And all of them try, in some way, to call a god into the body
of a human being.

That was stupid, Mrs. Gogol thought.  That was dangerous.

Mrs. Gogol's voodoo worked the other way about.  What was a god?  A focus of
belief.  If people believed, a god began to grow.  Feebly at first, but if
the swamp taught anything, it taught patience.  Anything could be the focus
of a god.  A handful of feathers with a red ribbon around them, a hat and
coat on a couple of sticks... anything.  Because when all people had was
practically nothing, then anything could be almost everything.  And then you
fed it, and lulled it, like a goose heading for pate, and let the power grow
very slowly, and when the time was ripe you opened the path... backwards.
A human could ride the god, rather than the other way around.  There would
be a price to pay later, but there always was.  In Mrs. Gogol's experience,
everyone ended up dying.

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 270 (Greebo has been temporarily transformed--polymorphed?--into a human)
%passage 12
Greebo wasn't a happy cat.  [...]

Then he'd smelled the kitchen.  Cats gravitate to kitchens like rocks
gravitate to gravity.

  [Witches Abroad, by Terry Pratchett]
%e passage
# p. 282 (Casanunda the dwarf is Discworld's Casanova; he appears again in
#         /Lords and Ladies/)
%passage 13
"How come you're in the palace guard, Casanunda?"

"Soldier of fortune takes whatever jobs are going, Mrs. Ogg," said Casanunda
earnestly.

"But all the rest of 'em are six foot tall and you're--of the shorter
persuasion."

"I lied about my height, Mrs. Ogg.  I'm a world-famous liar."

"Is that true?"

"No."

"What about you being the world's greatest lover?"

There was silence for a while.

"Well, maybe I'm only No. 2," said Casanunda.  "But I try harder."

  [Witches Abroad, by Terry Pratchett]
%e passage
# pp. 285-286 (Greebo is still in human form; 'rationalise' is accurate)
%passage 14
Greebo leapt.

Cats are like witches.  They don't fight to kill, but to win.  There is a
difference.  There's no point in killing an opponent.  That way, they won't
know they've lost, and to be a real winner you have to have an opponent who
is beaten and knows it.  There's no triumph over a corpse, but a beaten
opponent, who will remain beaten every day for the remainder of their sad
and wretched life, is something to treasure.

Cats do not, of course, rationalise this far.  They just like to send
someone limping off minus a tail and a few square inches of fur.

Greebo's technique was unscientific and wouldn't have stood a chance against
any decent swordsmanship, but on his side was the fact that it is almost
impossible to develop decent swordsmanship when you seem to have run into a
food mixer that is biting your ear off.

The witches watched with interest.

"I think we can leave him now," said Nanny.  "I think he's having fun."

  [Witches Abroad, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Small Gods (15)
# p. 174 (Harper Torch edition; passage starts mid-paragraph; speaker is
#         the blind philosopher Didactylos referring to a book in scroll
#         form called /On Religion/ by another philosopher, Abraxas;
#         Didactylos mentions that Old 'Charcoal' Abraxas had been hit by
#         lightning 15 times)
%passage 1
"[...]  He says gods like to see an atheist around.  Gives them something
to aim at."

  [Small Gods, by Terry Pratchett]
%e passage
# p. 79 (passage starts mid-paragraph; speaker is Cut-Me-Own-Hand-Off Dhblah)
%passage 2
[...]  "Pets are always a great help in times of stress.  And in times of
starvation too, o'course."

  [Small Gods, by Terry Pratchett]
%e passage
# p. 3 (Harper Torch edition)
%passage 3
So history has its caretakers.

They live ... well, in the nature of things they live wherever they are
sent, but their /spiritual/ home is in a hidden valley in the high Ramtops
of the Discworld, where the books of history are kept.

These aren't books in which the events of the past are pinned like so many
butterflies to a cork.  These are the books from which history is derived.
There are more than twenty thousand of them, each one is ten feet high,
bound in lead, and the letters are so small that they have to be read with
a magnifying glass.

When people say "It is written ..." it is written /here/.

There are fewer metaphors than people think.

Every month the abbot and two senior monks go into the cave where the
books are kept.  It used to be the duty of the abbot alone, but two other
reliable monks were included after the unfortunate case of the 59th Abbot,
who made a million dollars in small bets before his fellow monks caught up
with him.

Besides, it's dangerous to go in alone.  The sheer concentratedness of
History, sleeting past soundlessly out into the world, can be overwhelming.
Time is a drug.  Too much of it kills you.

  [Small Gods, by Terry Pratchett]
%e passage
# pp. 4-5
%passage 4
It was the Year of the Notional Serpent, or two hundred years after the
Declaration of the Prophet Abbys.

Which meant that the time of the 8th Prophet was imminent.

That was the reliable thing about the Church of the Great God Om.  It had
very punctual prophets.  You could set your calendar by them, if you had
one big enough.

And, as is generally the case around the time a prophet is expected, the
Church redoubled its efforts to be holy.  This was very much like the
bustle you get in any large concern when the auditors are expected, but
tended towards taking people suspected of being less holy and putting them
to death in a hundred ingenious ways.  This is considered a reliable
barometer of the state of one's piety in most of the really popular
religions.  There's a tendency to declare that there is more backsliding
around than in the national toboggan championships, that heresy must be
torn out root and branch, and even arm and leg and eye and tongue, and
that it's time to wipe the slate clean.  Blood is generally considered
very efficient for this purpose.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 60 ("he" is a tortoise, unnoticed among a large crowd of people)
%passage 5
He walked off slowly, keeping close to the wall to avoid the feet.  He had
no alternative to walking slowly in any case, but now he was walking slowly
because he was thinking.  Most gods find it hard to walk and think at the
same time.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 60 (same page as preceding passage)
%passage 6
There were all sorts of ways to petition the Great God, but they depended
largely on how much you could afford, which was right and proper and
exactly how things should be.  After all, those who had achieved success
in the world clearly had done it with the approval of the Great God,
because it was impossible to believe that they had managed it with His
/disapproval/.  In the same way, the Quisition could act without
possibility of flaw.  Suspicion was proof.  How could it be anything else?
The Great God would not have seen fit to put the suspicion in the minds
of His exquisitors unless it was /right/ that it should be there.  Life
could be very simple, if you believed in the Great God Om.  And sometimes
quite short, too.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 92 ([sic] first paragraph ought to have fourth '.' to end sentence)
%passage 7
The memory stole over him:  a desert is what you think it is.  And now,
you can think clearly ...

There were no lies here.  All fancies fled away.  That's what happened in
all deserts.  It was just you, and what you believed.

What have I always believed?

That on the whole, and by and large, if a man lived properly, not
according to what any priests said, but according to what seemed decent
and honest /inside/, then it would, in the end, more or less, turn out
all right.

You couldn't get that on a banner.  But the desert looked better already.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 114
%passage 8
Vorbis had a cabin somewhere near the bilges, where the air was as thick
as thin soup.  Brutha knocked.

"Enter."(1)

(1) Words are the litmus paper of the mind.  If you find yourself in the
power of someone who will use the word "commence" in cold blood, go
somewhere else very quickly.  But if they say "Enter," don't stop to pack.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 141 (at the end, Xeno is almost certainly agreeing with Ibid, but
#         he /might/ be answering Brutha's last question)
%passage 9
"Are you all philosophers?" said Brutha.

The one called Xeno stepped forward, adjusting the hang of his toga.

"That's right," he said.  "We're philosophers.  We think, therefore we am."

"Are," said the luckless paradox manufacturer automatically.

Xeno spun around.  "I've just about had it up to /here/ with you, Ibid!" he
roared.  He turned back to Brutha.  "We /are/, therefore we am," he said
confidently.  "That's it."

Several of the philosophers looked at one another with interest.

"That's actually quite interesting," one said.  "The evidence of our
existence is the /fact/ of our existence, is that what you're saying?"

"Shut up," said Xeno, without looking around.

"Have you been fighting?" said Brutha.

The assembled philosophers assumed various expressions of shock and horror.

"Fighting?  Us?  We're /philosophers/," said Ibid, shocked.

"My word, yes," said Xeno.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 151
%passage 10
All over the world there were rulers with titles like the Exalted, the
Supreme, and Lord High Something or Other.  Only in one small country was
the ruler elected by the people, who could remove him whenever they
wanted--and they called him the Tyrant.

The Ephebians believed that every man should have the vote.(1)  Every five
years someone was elected to be Tyrant, provided he could prove that he
was honest, intelligent, sensible, and trustworthy.  Immediately after he
was elected, of course, it was obvious to everyone that he was a criminal
madman and totally out of touch with the view of the ordinary philosopher
in the street looking for a towel.  And then five years later they elected
another one just like him, and really it was amazing how intelligent
people kept on making the same mistakes.

(1) Provided that he wasn't poor, foreign, nor disqualified by reason of
being mad, frivolous, or a woman.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 239
%passage 11
"I still don't see how one god can be a hundred different thunder gods.
They all look different ..."

"False noses."

"What?"

"And different voices.  I happen to know Io's got seventy different hammers.
Not common knowledge, that.  And it's just the same with mother goddesses.
There's only one of 'em.  She just got a lot of wigs and of course it's
amazing what you can do with a padded bra."

  [Small Gods, by Terry Pratchett]
%e passage
# p. 265
%passage 12
An hour later the lion, who was limping after Brutha, also arrived at the
grave.  It had lived in the desert for sixteen years, and the reason it had
lived so long was that it had not died, and it had not died because it
never wasted handy protein.  It dug.

Humans have always wasted handy protein ever since they started wondering
who had lived in it.

But, on the whole, there are worse places to be buried than inside a lion.

  [Small Gods, by Terry Pratchett]
%e passage
#
# 3 more passages added for 5.0
#
# p. 7 (Brother Nhumrod is in charge of a group of novices; he's thinking
#       about one of them, Brutha, the main character of the story)
%passage 13
There was something creepy about the boy, Nhumrod thought.  It was the way
he looked at you when you were talking, as if he was /listening/.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 11 (musing by the Great God Om)
%passage 14
The trouble with being a god is that you've got no one to pray to.

  [Small Gods, by Terry Pratchett]
%e passage
# p. 210 (speaker is Didactylos the Ephebian philosopher)
%passage 15
"Life in this world," he said, "is, as it were, a sojourn in a cave.  What
can we know of reality?  For all we see of the true nature of existence
is, shall we say, no more than bewildering and amusing shadows cast upon
the inner wall of the cave by the unseen blinding light of absolute truth,
from which we may or may not deduce some glimmer of veracity, and we as
troglodyte seekers of wisdom can only lift our voices to the unseen and
say, humbly, 'Go on, do Deformed Rabbit... it's my favorite.'"

  [Small Gods, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Lords and Ladies (13)
# p. 122 (Harper Torch edition)
%passage 1
Elves are wonderful.  They provoke wonder.
Elves are marvellous.  They cause marvels.
Elves are fantastic.  They create fantasies.
Elves are glamorous.  They project glamour.
Elves are enchanting.  They weave enchantment.
Elves are terrific.  They beget terror.

The thing about words is that meanings can twist just like a snake,
and if you want to find snakes look for them behind words that have
changed their meaning.

No one ever said elves are nice.

Elves are bad.

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 32 (Magrat has given up being a witch to marry Verence II, Lancre's king)
%passage 2
"Hope she does all right as queen," said Nanny.

"We taught her everything she knows," said Granny Weatherwax.

"Yeah," said Nanny Ogg, as they disappeared into the bracken.  "D'you
think... maybe... ?"

"What?"

"D'you think maybe we ought to have taught her everything /we/ know?"

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 36
%passage 3
It was very hard, being a reader in Invisible Writings.(1)

(1) The study of invisible writings was a new discipline made available by
the discovery of the bi-directional nature of Library-Space.  The thaumic
mathematics are complex, but boil down to the fact that all books,
everywhere, affect all other books.  This is obvious:  books inspire
other books written in the future, and cite books written in the past.
But the General Theory(2) of L-Space suggests that, in that case, the
contents of books /as yet unwritten/ can be deduced from books now in
existence.

(2) There's a Special Theory as well, but no one bothers with it much
because it's self-evidently a load of marsh gas.

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 51
%passage 4
"Don't hold with schools," said Granny Weatherwax.  "They get in the way
of education.  All them books.  Books?  What good are they?  There's too
much reading these days.  We never had time to read when we was young, I
know that."

  [Lords and Ladies, by Terry Pratchett]
%e passage
# pp. 79-80
%passage 5
The highwayman stepped over the groaning body of the driver and marched
toward the door of the coach, dragging his stepladder behind him.

He opened the door.

"Your money or, I'm sorry to say, your--"

A blast of octarine fire blew his hat off.

The dwarf's expression did not change.

"I wonder if I might be allowed to rephrase my demands?"

Ridcully looked the elegantly dressed stranger up and down, or rather
down and further down.

"You don't look like a dwarf," he said, "apart from the height, that is."

"Don't look like a dwarf apart from the height?"

"I mean, the helmet and iron boots department is among those you are lacking
in," said Ridcully.

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 95
%passage 6
What is magic?

There is the wizards' explanation, which comes in two forms, depending on
the age of the wizard.  Older wizards talk about candles, circles, planets,
stars, bananas, chants, runes, and the importance of having at least four
good meals every day.  Younger wizards, particularly the pale ones who
spend most of their time in the High Energy Magic building,(1) chatter at
length about fluxes in the morphic nature of the universe, the essentially
impermanent quality of even the most apparently rigid time-space framework,
the impossibility of reality, and so on:  what this means is that they have
got hold of something hot and are gabbling the physics as they go along.

(1) It was here that the thaum, hitherto believed to be the smallest
possible particle of magic, was successfully demonstrated to be made up of
/resons/(2) or reality fragments.  Currently research indicates that each
reson is itself made up of a combination of at least five "flavors,"
known as "up," "down," "sideways," "sex appeal," and "peppermint."

(2) Lit: "Thing-ies."

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 107
%passage 7
What is magic?

Then there is the witches' explanation, which comes in two forms, depending
on the age of the witch.  Older witches hardly put words to it at all, but
may suspect in their hearts that the universe really doesn't know what the
hell is going on and consists of a zillion trillion billion possibilities,
and could become any of them if a trained mind rigid with quantum certainty
was inserted in the crack and /twisted/; that, if you really had to make
someone's hat explode, all you needed to do was /twist/ into the universe
where a large number of hat molecules all decide at the same time to bounce
off in different directions.

Younger witches, on the other hand, talk about it all the time and believe
it involves crystals, mystic forces, and dancing about without yer drawers
on.

Everyone may be right, all at the same time.  That's the thing about
quantum.

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 114; 'colorful' & 'humor' are spelled the American way, 'or' not 'our'
%passage 8
He knocked on the coach door.  The window slid down.

"I wouldn't like you to think of this as a robbery," he said.  "I'd like
you to think of it more as a colorful anecdote you might enjoy telling your
grandchildren about."

A voice from within said, "That's him!  He stole my horse!"

A wizard's staff poked out.  The chieftain saw the knob on the end.

"Now then," he said pleasantly.  "I know the rules.  Wizards aren't allowed
to use magic against civilians except in genuine life-threatening situa--"

There was a burst of octarine light.

"Actually, it's not a rule," said Ridcully.  "It's more a guideline."  He
turned to Ponder Stibbons.  "Interestin' use of Stacklady's Morphic
Resonator here, I hoped you noticed."

Ponder looked down.

The chieftain had been turned into a pumpkin, although, in accordance with
the rules of universal humor, he still had his hat on.

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 149 (second half of a paragraph)
%passage 9
Things had to balance.  You couldn't set out to be a good witch or a bad
witch.  It never worked for long.  All you could try to be was a /witch/,
as hard as you could.

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 162 (mid-paragraph)
%passage 10
"I'm the head wizard now.  I've only got to give an order and a thousand
wizards will... uh... disobey, come to think of it, or say 'What?', or
start to argue.  But they have to take notice.

"I've been to that University a few times," said Granny.  "A bunch of fat
old men in beards."

"That's right!  That's /them/!"

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 190
%passage 11
The window was no escape this time.  There was the bed to hide under, and
that'd work for all of two seconds, wouldn't it?

Her eye was drawn by some kind of horrible magic back to the room's
garderobe, lurking behind its curtain.

Magrat lifted the lid.  The shaft was definitely wide enough to admit a
body.  Garderobes were notorious in that respect.  Several unpopular kings
met their end, as it were, in the garderobe, at the hands of an assassin
with good climbing ability, a spear, and a fundamental approach to politics.

  [Lords and Ladies, by Terry Pratchett]
%e passage
# p. 191 ('a' historian, not 'an'; 'Ynci' is correct)
%passage 12
Some shape, some trick of moonlight, some expression on a painted face
somehow cut through her terror and caught her eye.

That was a portrait she'd never seen before.  She'd never walked down this
far.  The idiot vapidity of the assembled queens had depressed her.  But
this one...

This one, somehow, reached out to her.

She stopped.

It couldn't have been done from life.  In the days of /this/ queen, the
only paint known locally was a sort of blue, and generally used on the body.
But a few generations ago King Lully I had been a bit of a historian and a
romantic.  He'd researched what was known of the early days of Lancre, and
where actual evidence had been a bit sparse he had, in the best traditions
of the keen ethnic historian, inferred from revealed self-evident wisdom(1)
and extrapolated from associated sources(2).  He'd commissioned the
portrait of Queen Ynci the Short-Tempered, one of the founders of the
kingdom.

(1) Made it up.

(2) Had read a lot of stuff that other people had made up, too.

  [Lords and Ladies, by Terry Pratchett]
%e passage
#
# passage added for 5.0
#
# p. 60 (passage starts mid-paragraph; "paddlin'" is accurate but unclear;
#        "ooh-jar" is accurate for ouija after having been butchered by
#        Nanny Ogg's previously established 'mastery' of foreign languages)
%passage 13
"[...]  Playing at witches.  You know, ooh-jar boards and cards and wearing
black lace gloves with no fingers to 'em and paddlin' with the occult."

"I don't hold with paddlin' with the occult," said Granny firmly.  "Once
you start paddlin' with the occult you start believing in spirits, and
when you start believing in spirits you start believing in demons, and then
before you know where you are you're believing in gods.  And then you're
in /trouble/."

"But all them things exist," said Nanny Ogg.

"That's no call to go around believing in them.  It only encourages 'em."

  [Lords and Ladies, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Men at Arms (14)
# p. 72 (Harper Torch edition)
%passage 1
The maze was so small that people got lost looking /for/ it.

  [Men at Arms, by Terry Pratchett]
%e passage
# pp. 6-7 (Harper Torch edition)
%passage 2
Ankh-Morpork had a king again.

And this was /right/.  And it was /fate/ that had let Edward recognize this
/just/ when he'd got his Plan.  And it was /right/ that it was /Fate/,
and the city would be /Saved/ from its ignoble present by its /glorius/
past.  He had the /Means/, and he had the /end/.  And so on ...  Edward's
thoughts often ran like this.

He could think in /italics/.  Such people need watching.

Preferably from a safe distance.

  [Men at Arms, by Terry Pratchett]
%e passage
# pp. 76-77
%passage 3
There were such things as dwarf gods.  Dwarfs were not a naturally
religious species, but in a world where pit props could crack without
warning and pockets of fire damp could suddenly explode they'd seen the
need for gods as the sort of supernatural equivalent of a hard hat.
Besides, when you hit your thumb with an eight-pound hammer it's nice
to be able to blaspheme.  It takes a very special and strong-minded
kind of atheist to jump up and down with their hand clasped under their
other armpit and shout, "Oh, random fluctuations-in-the-space-time-
continuum!" or "Aaargh, primitive-and-outmoded-concept on a crutch!"

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 119 (perhaps a bit subtle; it would be clearer if 'they' was italicized)
%passage 4
"It's an ancient tradition," said Carrot.

"I thought dwarfs didn't believe in devils and demons and stuff like
that."

"That's true, but ... we're not sure if they know."

"Oh."

  [Men at Arms, by Terry Pratchett]
%e passage
# pp. 168-169 (treacle == molasses)
%passage 5
"I'd like a couple of eggs," said Vimes, "with the yolks real hard but
the whites so runny that they drip like treacle.  And I want bacon, that
special bacon all covered with bony nodules and dangling bits of fat.
And a slice of fried bread.  The kind that makes your arteries go clang
just by looking at it."

"Tough order," said Harga.

"You managed it yesterday.  And give me some more coffee.  Black as
midnight on a moonless night."

Harga looked surprised.  That wasn't like Vimes.

"How black's that, then?" he said.

"Oh pretty damn black, I should think."

"Not necessarily."

"What?"

"You get more stars on a moonless night.  Stands to reason.  They show up
more.  It can be quite bright on a moonless night."

Vimes sighed.

"An /overcast/ moonless night?" he said.

Harga looked carefully at his coffee pot.

"Cumulous or cirro-nimbus?"

"I'm sorry.  What did you say?"

"You gets city lights reflected off cumulous, because it's low lying, see.
Mind you, you can get high-altitude scatter off the ice crystals in--"

"A moonless night," said Vimes, in a hollow voice, "that is as black as
that coffee."

"Right!"

"And a doughnut."  Vimes grabbed Harga's stained vest and pulled him
until they were nose to nose.  "A doughnut as doughnutty as a doughnut
made of flour, water, one large egg, sugar, a pinch of yeast, cinnamon
to taste and a jam, jelly, or rat filling depending on national or
species preference, OK?  Not as doughnutty as something in any way
metaphorical.  Just a doughnut.  One doughnut."

"A doughnut."

"Yes."

"You only had to say."

Harga brushed off his vest, gave Vimes a hurt look, and went back into
the kitchen.

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 174 (clumsy wording; 'they' in 2nd sentence != 'they' in 1st sentence)
%passage 6
Why had they chased someone halfway across the city?  Because they'd
run away.  /No one/ ran away from the Watch.  Thieves just flashed their
licenses.  Unlicensed thieves had nothing to fear from the Watch, since
they'd saved up all their fear for the Thieves' Guild.  Assassins always
obeyed the letter of the law.  And honest men didn't run away from the
Watch.(1)  Running away from the Watch was downright suspicious.

(1) The axiom "Honest men have nothing to fear from the police" is
currently under review by the Axioms Appeal Board.

  [Men at Arms, by Terry Pratchett]
%e passage
# pp. 176-177 ("this [sic; no 'is'] the pork futures warehouse")
%passage 7
"Oh, my," said Detritus.  "I think this the pork futures warehouse in
Morpork Road."

"What?"

"Used to work here," said the troll.  "Used to work everywhere.  Go away,
you stupid troll, you too thick," he added, gloomily.

"Is there any way out?"

"The main door is in Morpork Street.  But no one comes in here for months.
Till pork exists."(1)

Cuddy shivered.

(1) Probably no other world in the multiverse has warehouses for things
which only exist /in potentia/, but the pork futures warehouse in Ankh-
Morpork is a product of the Patrician's rules about baseless metaphors,
the literal-mindedness of citizens who assume that everything must
exist somewhere, and the general thinness of the fabric of reality
around Ankh, which is so thin that it's as thin as a very thin thing.
The net result is that trading in pork futures--in pork /that doesn't
exist yet/--led to the building of the warehouse to store it until it
does.  The extremely low temperatures are caused by the imbalance in
the temporal energy flow.  At least, that's what the wizards in the
High Energy Magic building say.  And they've got proper pointy hats and
letters after their name, so they know what they're talking about.

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 212
%passage 8
Black mud, more or less dry, made a path at the bottom of the tunnel.
There was slime on the walls, too, indicating that at some point in the
recent past the tunnel had been full of water.  Here and there huge
patches of fungi, luminous with decay, cast a faint glow over the
ancient stonework.(1)

(1) It didn't need to.  Cuddy, belonging to a race that worked underground
for preference, and Detritus, a member of a race notoriously nocturnal,
had excellent vision in the dark.  But mysterious caves and tunnels
always have luminous fungi, strangely bright crystals or at a pinch
merely an eldritch glow in the air, just in case a human hero comes in
and needs to see in the dark.  Strange but true.

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 218
%passage 9
"He's bound to have done /something/," Nobby repeated.

In this he was echoing the Patrician's view of crime and punishment.  If
there was a crime, there should be punishment.  If the specific criminal
should be involved in the punishment process then this was a happy
accident, but if not then any criminal would do, and since everyone was
undoubtedly guilty of something, the net result was that, /in general
terms/, justice was done.

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 226
%passage 10
The librarian considered matters for a while.  So ... a dwarf and a troll.
He preferred both species to humans.  For one thing, neither of them were
great readers.  The Librarian was, of course, very much in favor of
reading in general, but readers in particular got on his nerves.  There
was something, well, /sacrilegious/ about the way they kept taking books
off the shelves and wearing out the words by reading them.  He liked
people who loved and respected books, and the best way to do that, in
the Librarian's opinion, was to leave them on the shelves where Nature
intended them to be.

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 253
%passage 11
Sometimes it's better to light a flamethrower than curse the darkness.

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 265 (fyi, they're decorated chicken eggs)
%passage 12
"All those little heads ... "

They stretched away in the candlelight, shelf on shelf of them, tiny
little clown faces--as if a tribe of headhunters had suddenly developed
a sophisticated sense of humor and a desire to make the world a better
place.

  [Men at Arms, by Terry Pratchett]
%e passage
# pp. 300-301
%passage 13
"You know what I mean!"

"Can't say I do.  Can't say I do.  Clothing has never been what you might
call a thingy of dog wossname."  Gaspode scratched his ear.  "Two meta-
syntactic variables there.  Sorry."

  [Men at Arms, by Terry Pratchett]
%e passage
# p. 320
%passage 14
"Hahaha, a nice day for it!" leered the Bursar.

"Oh dear," said Ridcully, "he's off again.  Can't understand the man.
Anyone got the dried frog pills?"

It was a complete mystery to Mustrum Ridcully, a man designed by nature to
live outdoors and happily slaughter anything that coughed in the bushes,
why the Bursar (a man designed by Nature to sit in a small room somewhere,
adding up figures) was so nervous.  He'd tried all sorts of things to, as
he put it, buck him up.  These included practical jokes, surprise early
morning runs, and leaping out at him from behind doors while wearing
Willie the Vampire masks in order, he said, to take him out of himself.

  [Men at Arms, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Soul Music (13)
# p. 121 (Harper Torch edition; passage starts mid-paragraph)
%passage 1
But this didn't /feel/ like magic.  It felt a lot older than that.  It felt
like music.

  [Soul Music, by Terry Pratchett]
%e passage
# p. 49 (the skull is a traditional decoration for a wizard's abode; this one
#        is the usual perch for, and is conversing with, a talking raven that
#        has been translating the Death of Rats' SQUEAKs for Susan Sto Helit)
%passage 2
"Yes," said the skull.  "Quit while you're a head, that's what I say."

  [Soul Music, by Terry Pratchett]
%e passage
# p. 2
%passage 3
But if it is true that the act of observing changes the thing which is
observed,(1) it's even more true that it changes the observer.

(1) Because of Quantum.

  [Soul Music, by Terry Pratchett]
%e passage
# p. 8
%passage 4
It is said that whomsoever the gods wish to destroy, they first make mad.
In fact, whomsoever the gods wish to destroy, they first hand the
equivalent of a stick with a fizzing fuse and Acme Dynamite Company
written on the side.  It's more interesting, and doesn't take so long.

  [Soul Music, by Terry Pratchett]
%e passage
# pp. 63-64
%passage 5
Then the skull said:  "Kids today, eh?"

"I blame education," said the raven.

"A lot of knowledge is a dangerous thing," said the skull.  "A lot more
dangerous than just a little.  I always used to say that, when I was
alive."

"When was that, exactly?"

"Can't remember.  I think I was pretty knowledgeable.  Probably a teacher
or philosopher, something of that kidney.  And now I'm on a bench with a
bird crapping on my head."

"Very allegorical," said the raven.

  [Soul Music, by Terry Pratchett]
%e passage
# p. 87 (Stabbing: "in the" both capitalized; "and" not so)
%passage 6
The Mended Drum had traditionally gone in for, well, traditional pub games,
such as dominoes, darts, and Stabbing People In The Back and Taking All
Their Money.  The new owner had decided to go up-market.  This was the
only available direction.

  [Soul Music, by Terry Pratchett]
%e passage
# pp. 125-126 ("him"==Librarian;
#              Leonard of Quirm==Discworld analog of Leonardo da Vinci)
%passage 7
The Library didn't only contain magical books, the ones which are chained
to their shelves and are very dangerous.  It also contained perfectly
ordinary books, printed on commonplace paper in mundane ink.  It would be
a mistake to think that they weren't also dangerous, just because reading
them didn't make fireworks go off in the sky.  Reading them sometimes did
the more dangerous trick of making fireworks go off in the privacy of the
reader's brain.

For example, the big volume open in front of him contained some of the
collected drawings of Leonard of Quirm, skilled artist and certified
genius, with a mind that wandered so much it came back with souvenirs.

Leonard's books were full of sketches--of kittens, of the way water flows,
of the wives of influential Ankh-Morporkian merchants whose portraits had
provided his means of making a living.  But Leonard had been a genius and
was deeply sensitive to the wonders of the world, so the margins were full
of detailed doodles of whatever was on this mind at the moment--vast
water-powered engines for bringing down city walls on the heads of the
enemy, new types of siege guns for pumping flaming oil over the enemy,
gunpowder rockets that showered the enemy with burning phosphorous, and
other manufactures of the Age of Reason.

And there had been something else.  The Librarian had noticed it in
passing once before, and had been slightly puzzled by it.  It seemed out
of place.(1)

(1) And didn't appear to do anything to the enemy /at all/.

  [Soul Music, by Terry Pratchett]
%e passage
# p. 152 (much of the story concerns "Music With Rocks In")
%passage 8
Some religions say that the universe was started with a word, a song,
a dance, a piece of music.  The Listening Monks of the Ramtops have
trained their hearing until they can tell the value of a playing card by
listening to it, and have made it their task to listen intently to the
subtle sounds of the universe to piece together, from the fossil echoes,
the very first noises.

There was certainly, they say, a very strange noise at the beginning of
everything.

But the keenest ears (the ones who win most at poker), who listen to the
frozen echoes in the ammonites and amber, swear they can detect some tiny
sounds before that.

It sounded, they say, like someone counting:  One, Two, Three, Four.

The very best one, who listened to basalt, said he thought he could make
out, very faintly, some numbers that came even earlier.

When they asked him what it was, he said:  "It sounds like One, Two."

  [Soul Music, by Terry Pratchett]
%e passage
# p. 227
%passage 9
The Death of Rats put his nose in his paws.  It was a lot easier with
rats.(1)

(1) Rats had featured largely in the history of Ankh-Morpork.  Shortly
before the Patrician came to power there was a terrible plague of rats.
The city council countered it by offering twenty pence for every rat
tail.  This did, for a week or two, reduce the number of rats--and then
people were suddenly queueing up with tails, the city treasury was being
drained, and no one seemed to be doing much work.  And there /still/
seemed to be a lot of rats around.  Lord Vetinari had listened carefully
while the problem was explained, and had solved the thing with one
memorable phrase which said a lot about him, about the folly of bounty
offers, and about the natural instinct of Ankh-Morporkians in any
situation involving money:  "Tax the rat farms."

  [Soul Music, by Terry Pratchett]
%e passage
# pp. 313-314 (Drongo and Big Mad Adrian are students)
%passage 10
The Archchancellor polished this staff as he walked along.  It was a
particularly good one, six feet long and quite magical.  Not that he used
magic very much.  In his experience, anything that couldn't be disposed of
with a couple of whacks from six feet of oak was probably immune to magic
as well.

"Don't you think we should have brought the senior wizards, sir?" said
Ponder, struggling to keep up.

"I'm afraid that taking them along in their present state of mind would
only make what happens"--Ridcully sought for a useful phrase, and settled
for--"happen worse.  I've insisted they stay in college."

"How about Drongo and the others?" said Ponder hopefully.

"Would they be any good in the event of a thaumaturgical dimension rip of
enormous proportions?" said Ridcully.  "I remember poor Mr. Hong.  One
minute he was dishing up an order of double cod and mushy peas, the
next ..."

"Kaboom?" said Ponder.

"Kaboom?" said Ridcully, forcing his way up the crowded street.  "Not
that I heard tell.  More like 'Aaaaerrrr-scream-gristle- gristle-gristle-
crack' and a shower of fried food.  Big Mad Adrian and his friends any
good when the chips are down?"

"Um.  Probably not, Archchancellor."

"Correct.  People shout and run about.  That never did any good.  A pocket
full of decent spells and a well-charged staff will get you out of trouble
nine times out of ten."

"Nine times out of ten?"

"Correct."

"How many times have you had to rely on them, sir?"

"Well ... there was Mr. Hong ... that business with the thing in the
Bursar's wardrobe ... that dragon, you remember ..."  Ridcully's lips
moved silently as he counted on his fingers.  "Nine times, so far."

"It worked every time, sir?"

"Absolutely!  So there's no need to worry.  Gangway!  Wizard comin'
through."

  [Soul Music, by Terry Pratchett]
%e passage
# p. 339
%passage 11
The wizards went rigid as the howl rang through the building.  It was
slightly animal but also mineral, metallic, edged like a saw.

Eventually the Lecturer in Recent Runes said, "Of course, just because
we've heard a spine-chilling blood-curdling scream of the sort to make
your very marrow freeze in your bones doesn't automatically mean there's
anything wrong."

The wizards looked out into the corridor.

"It came from downstairs somewhere," said the Chair of Indefinite Studies,
heading for the staircase.

"So why are you going /upstairs/?"

"Because I'm not daft!"

"But it might be some terrible emanation!"

"You don't say?" said the Chair, still accelerating.

"All right, please yourself.  That's the students floor up there."

"Ah, Er--"

The Chair came down slowly, occasionally glancing fearfully up the stairs.

  [Soul Music, by Terry Pratchett]
%e passage
#
# 2 more passages added for 5.0
#
# p. 242 (passage starts and ends mid-paragraph; "the Old" rather than "the
#         Old <some language>" is accurate)
%passage 12
Wizards were rumored to be wise--in fact, that's where the word came
from.(1)

(1) From the Old /wys-ars/, lit: one who, at bottom, is very smart.

  [Soul Music, by Terry Pratchett]
%e passage
# p. 351 (passage starts mid-paragraph; Death normally isn't bound by time
#         and space so can be everywhere at once, more or less, but in this
#         case he is speeding out of Ankh-Morpork and across the countryside
#         on a motorcycle invented by UU's Librarian; despite racing along
#         at such high speed that the vehicle has steadily disintegrated out
#         from under him, progress is slow by his usual standard)
%passage 13
The fastest way to travel is to be there already.

  [Soul Music, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Interesting Times (13)
# p. 1 (Harper Torch edition; passage is a footnote)
%passage 1
Whatever happens, they say afterwards, it must have been fate.  People are
always a little confused about this, as they are in the case of miracles.
When someone is saved from certain death by a strange concatenation of
circumstances, they say that's a miracle.  But of course if someone is
/killed/ by a freak chain of events--the oil spilled just /there/, the
safety fence broken just /there/--that must /also/ be a miracle.  Just
because it's not nice doesn't mean it's not miraculous.

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 18
%passage 2
"Oh, no," said the Lecturer in Recent Runes, pushing his chair back.  "Not
that.  That's meddling with things you don't understand."

"Well, we /are/ wizards," said Ridcully.  "We're supposed to meddle with
things we don't understand.  If we hung around waitin' till we understood
things we'd never get anything done."

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 4
%passage 3
According to the philosopher Ly Tin Wheedle, chaos is found in greatest
abundance wherever order is being sought.  It always defeats order, because
it is better organized.

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 14
%passage 4
Many things went on at Unseen University and, regrettably, teaching had to
be one of them.  The faculty had long ago confronted this fact and had
perfected various devices for avoiding it.  But this was perfectly all
right because, to be fair, so had the students.

The system worked quite well and, as happens in such cases, had taken on
the status of a tradition.  Lectures clearly took place, because they
were down there on the timetable in black and white.  The fact that no one
attended was an irrelevant detail.  It was occasionally maintained that
this meant that the lectures did not in fact happen at all, but no one ever
attended them to find out if this was true.  Anyway, it was argued (by the
Reader in Woolly Thinking(1)) that lectures had taken place /in essence/,
so that was all right, too.

And therefore education at the University mostly worked by the age-old
method of putting a lot of young people in the vicinity of a lot of books
and hoping that something would pass from one to the other, while the
actual young people put themselves in the vicinity of inns and taverns
for exactly the same reason.

(1) Which is like Fuzzy Logic, only less so.

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 20 (speaker is Archchancellor Ridcully; sad, hopeless person is Rincewind)
%passage 5
"Wizzard?" he said.  "What kind of sad, hopeless person needs to write
WIZZARD on their hat?"

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 113
%passage 6
Self-doubt was something not regularly entertained within the Cohen cranium.
When you're trying to carry a struggling temple maiden and a sack of looted
temple goods in one hand and fight off half a dozen angry priests with the
other there is little time for reflection.  Natural selection saw to it
that professional heroes who at a crucial moment tended to ask themselves
questions like "What is the purpose of life?" very quickly lacked both.

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 113 (same page as previous passage...)
%passage 7
Cohen's father had taken him to a mountain top, when he was no more than a
lad, and explained to him the hero's creed and told him that there was no
greater joy than to die in battle.

Cohen had seen the flaw in this straight away, and a lifetime's experience
had reinforced his belief that in fact a greater joy was to kill the /other/
bugger in battle and end up sitting on a heap of gold higher than your
horse.  It was an observation that had served him well.

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 144
%passage 8
"'Dang'?" he said.  "Wassat mean?  And what's this 'darn' and 'heck'?"

"They are ... /civilised/ swearwords." said Mr. Saveloy.

"Well, you can take 'em and--"

"Ah?" said Mr. Saveloy, raising a cautionary finger.

"You can shove them up--"

"Ah?"

"You can--"

"Ah?"

Truckle shut his eyes and clenched his fists.

"Darn it all to heck!" he shouted.

"Good," said Mr. Saveloy.  "That's much better."

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 219 (sic: "Dedd")
%passage 9
The taxman was warming to his new job.  He'd worked out that although the
Horde, as individuals, had acquired mountains of cash in their careers as
barbarian heroes they'd lost almost all of it engaging in the other
activities (he mentally catalogued these as Public Relations) necessary to
the profession, and therefore were entitled to quite a considerable rebate.

The fact that they were registered with no revenue collecting authority
/anywhere/(1) was entirely a secondary point.  It was the principle that
counted.  And the interest, too, of course.

(1) Except on posters with legends like "Wanted--Dedd".

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 297
%passage 10
"What do we do now?" said Mr. Saveloy.  "Do we do a battle chant or
something?"

"We just wait," said Cohen.

"There's a lot of waiting in warfare," said Boy Willie.

"Ah, yes," said Mr. Saveloy.  "I've heard people say that.  They say
there's long periods of boredom followed by short periods of excitement."

"Not really," said Cohen.  "It's more like short periods of waiting
followed by long periods of being dead."

  [Interesting Times, by Terry Pratchett]
%e passage
#
# 3 new passages for 5.0
#
# p. 45
%passage 11
Adventure!  People talked about the idea as if it was something worthwhile,
rather than a mess of bad food, no sleep, and strange people inexplicably
trying to stick pointed objects in bits of you.

  [Interesting Times, by Terry Pratchett]
%e passage
# p. 52
%passage 12
"How /will/ I get back?" he said.

"Same way you went.  We'll find you and bring you out.  With surgical
precision."

Rincewind groaned.  He knew what surgical precision meant in Ankh-Morpork.
It meant "to within an inch or two, accompanied by a lot of screaming, and
then they pour hot tar on you just where your leg was."

But... if you put aside for the moment the certainty that something would
definitely go horribly wrong, it looked foolproof.  The trouble was that
wizards were such ingenious fools.

  [Interesting Times, by Terry Pratchett]
%e passage
# pp. 272-274 (most of page 273, is omitted:  War introduces his children and
#              Rincewind asks Death about the outcome of a battle which is
#              imminent; Death's response is that he wouldn't answer even if
#              he knew, and Rincewind is astonished that he might not know;
#              Death holds a finger up and a butterfly--as a symbol of chaos
#              theory--briefly lands on it, then flies away)
%passage 13
RINCEWIND, ISN'T IT? said Death.  YES.  GOOD EVENING.  I DON'T BELIEVE YOU
HAVE MET WAR.  RINCEWIND, WAR.  WAR, RINCEWIND.

[...]

ON A NIGHT LIKE THIS, said Death, THE ONLY CERTAIN THING IS UNCERTAINTY.
TRITE, I KNOW, BUT TRUE.

Somewhere on the horizon, thunder rumbled.

"I'll, er, just be sort of going, then," said Rincewind.

DON'T BE A STRANGER, said Death, as the wizard hurried off.

"Odd person," said War.

WITH HIM HERE, EVEN UNCERTAINTY IS UNCERTAIN.  AND I'M NOT SURE EVEN
ABOUT THAT.

War pulled a large paper-wrapped package out of his saddlebag.

"We've got... let's see now... Egg and Cress, Chicken Tikka, and Mature
Cheese with Chunky Pickle, I think."

THEY DO SUCH MARVELOUS THINGS WITH SANDWICHES THESE DAYS.

"Oh... and Bacon Surprise."

REALLY?  WHAT IS SO SURPRISING ABOUT BACON?

"I don't know.  I suppose it comes as something of a shock to the pig."

  [Interesting Times, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Maskerade (13)
# pp. 81-82, continued on pp. 87-89 (Harper Torch edition; apparently
#       transcribed from some other edition based on quote marks used;
#       a great number of very short paragraphs--it stretches a long way
#       when using a blank line to separate one paragraph from another;
#       one omitted bit is that after Granny shuffles the deck of cards
#       and deals two poker hands, Death swaps them, suggesting that
#       he suspected her of cheating; initial transcription left off
#       the most interesting bit, Death's wink at the end)
%passage 1
'Maybe you could ... help us?'

'What's wrong?'

'It's my boy ...'

Granny opened the door farther and saw the woman standing behind Mr. Slot.
One look at her face was enough.  There was a bundle in her arms.

Granny stepped back.  'Bring him in and let me have a look at him.'

She took the baby from the woman, sat down on the room's one chair, and
pulled back the blanket.  Nanny Ogg peered over her shoulder.

'Hmm,' said Granny, after a while.  She glanced at Nanny, who gave an
almost imperceptible shake of her head.

'There's a curse on this house, that's what it is,' said Slot.  'My best
cow's been taken mortally sick, too.'

'Oh?  You have a cowshed?' said Granny.  'Very good place for a sickroom,
a cowshed.  It's the warmth.  You better show me where it is.'

'You want to take the boy down there?'

'Right now.'

  [...]

'How many have you come for?'

ONE.

'The cow?'

Death shook his head.

'It could /be/ the cow.'

NO.  THAT WOULD BE CHANGING HISTORY.

'History is about things changing.'

NO.

Granny sat back.

'Then I challenge you to a game.  That's traditional.  That's /allowed/.'

Death was silent for a moment.

THIS IS TRUE.

'Good.'

CHALLENGING ME BY MEANS OF A GAME IS ALLOWABLE.

"Yes."

HOWEVER ... YOU UNDERSTAND THAT TO WIN ALL YOU MUST GAMBLE ALL?

'Double or quits?  Yes, I know.'

BUT NOT CHESS.

'Can't abide chess.'

OR CRIPPLE MR. ONION.  I'VE NEVER BEEN ABLE TO UNDERSTAND THE RULES.

'Very well.  How about one hand of poker?  Five cards each, no draws?
Sudden death, as they say.'

Death thought about this, too.

YOU KNOW THIS FAMILY?

'No.'

THEN WHY?

'Are we talking or are we playing?'

OH, VERY WELL.

  [...]

Granny looked at her cards, and threw them down.

FOUR QUEENS.  HMM.  THAT /IS/ VERY HIGH.

Death looked down at his cards, and then up into Granny's steady, blue-eyed
gaze.

Neither moved for some time.

Then Death laid the hand on the table.

I LOSE, he said.  ALL I HAVE IS FOUR ONES.

He looked back into Granny's eyes for a moment.  There was a blue glow in
the depth of his eye-sockets.  Maybe, for the merest fraction of a second,
barely noticeable even to the closest observation, one winked off.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 67 (Harper Torch edition; as above, transcribed from some other edition;
#        passage ends mid-paragraph; the text of the note uses irregular
#        indentation and a distinct font that hints at cursive handwriting)
%passage 2
The letter inside was on a sheet of the Opera House's own note paper.
In neat, copperplate writing, it said:

  Ahahahahaha!  Ahahahaha!  Aahahaha!
            BEWARE!!!!!

          Yrs sincerely
              The Opera Ghost

'What sort of person,' said Salzella patiently, 'sits down and /writes/ a
maniacal laugh?  And all those exclamation marks, you notice?  Five?  A
sure sign of someone who wears his underpants on his head.  Opera can do
that to a man.'

     [Maskerade, by Terry Pratchett]
%e passage
# pp. 30-31 (Harper Torch edition)
%passage 3
Agnes had woken up one morning with the horrible realization that she'd
been saddled with a lovely personality.  It was as simple as that.  Oh,
and very good hair.

It wasn't so much the personality, it was the "but" people always added
when they talked about it.  /But she's got a lovely personality/, they
said.  It was the lack of choice that rankled.  No one had asked her,
before she was born, whether she wanted a lovely personality or whether
she'd prefer, say, a miserable personality but a body that could take
size nine in dresses.  Instead, people would take pains to tell her that
beauty was only skin-deep, as if a man ever fell for an attractive pair
of kidneys.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 258
%passage 4
'And what can I get you, officers?' she said.

'Officers?  Us?' said the Count de Nobbes.  'What makes you think we're
watchmen?'

'He's got a helmet on,' Nanny pointed out.  'Also, he's got his badge
pinned to his coat.'

'I /told/ you to put it away!' Nobby hissed.  He looked at Nanny and
smiled uneasily.  'Milit'ry chic,' he said.  'It's just a fashion
accessory.  Actually, we are gentlemen of means and have nothing to do
with the city Watch whatsoever.'

'Well, /gentlemen/, would you like some wine?'

'Not while we on duty, t'anks,' said the troll.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 27 (Harper Torch edition)
%passage 5
Lancre had always bred strong, capable women.  A Lancre farmer needed a
wife who'd think nothing of beating a wolf to death with her apron when
she went out to get some firewood.  And, while kissing initially seemed to
have more charms than cookery, a stolid Lancre lad looking for a bride
would bear in mind his father's advice that kisses eventually lost their
fire but cookery tended to get even better over the years, and direct his
courting to those families that clearly showed a tradition of enjoying
their food.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 28
%passage 6
Music and magic had a lot in common.  They were only two letters apart,
for one thing.  And you couldn't do both.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 31
%passage 7
She'd caught herself saying "poot!" and "dang!" when she wanted to swear,
and using pink writing paper.

She'd got a reputation for being calm and capable in a crisis.

Next thing she knew she'd be making shortbread and apple pies as good as
her mother's, and then there'd be no hope for her.

So she'd introduced Perdita.  She'd heard somewhere that inside every fat
woman was a thin woman trying to get out,(1) so she'd named her Perdita.
She was a good repository for all those thoughts that Agnes couldn't think
on account of her wonderful personality.  Perdita would use black writing
paper if she could get away with it, and would be beautifully pale instead
of embarrassingly flushed.  Perdita wanted to be an interestingly lost soul
in plum-colored lipstick.  Just occasionally, though, Agnes thought
Perdita was as dumb as she was.

(1) Or, at least, dying for chocolate.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 197 (dress shop proprietor has just sold an expensive dress to Granny)
%passage 8
She looked down at the money in her hand.

She knew about old money, which was somehow hallowed by the fact that
people had hung on to it for years, and she knew about new money, which
seemed to be being made by all these upstarts that were flooding into the
city these days.  But under her powdered bosom she was an Ankh-Morpork
shopkeeper, and knew that the best kind of money was the sort that was in
her hand rather than someone else's.  The best kind of money was mine,
not yours.

Besides, she was also enough of a snob to confuse rudeness with good
breeding.  In the same way that the really rich can never be mad (they're
eccentric), so they can also never be rude (they're outspoken and
forthright).

  [Maskerade, by Terry Pratchett]
%e passage
# pp. 288-289
%passage 9
Detritus reached down and picked up an eye patch.

"What d'you think, then?" said Nobby scornfully.  "You think he turned into
a bat and flew away?"

"Ha!  I do not t'ink that 'cos it is in ... consist ... ent with modern
policing," said Detritus.

"Well, /I/ think," said Nobby, "that when you have ruled out the impossible,
what is left, however improbable, ain't worth hanging around on a cold night
wonderin' about when you could be getting on the outside of a big drink.
Come on.  I want to try a leg of the elephant that bit me."

"Was dat irony?"

"That was metaphor."

  [Maskerade, by Terry Pratchett]
%e passage
#
# 4 new passages added for 5.0
#
# pp. 51-52 (Granny Weatherwax and Nanny Ogg are traveling to Ankh-Morpork
#            and Nanny feels that the weather is too chilly for flying;
#            Cando Cutoff is a bystander who has told them that the next
#            stagecoach won't stop here; they stand in the road to block it)
%passage 10
"Why've you got broomsticks?" shouted the driver.  "Are you witches?"

"Yes.  Have you got any special low terms for witches?"

"Yeah, how about 'meddling, interfering old baggages'?"

Cutoff felt that he must have missed part of the conversation, because the
next exchange went like this:

"What was that again, young man?"

"Two complimentary tickets to Ankh-Morpork, ma'am.  No problem."

"Inside seats, mind.  No traveling on the top."

"Certainly, ma'am.  Excuse me while I just kneel in the dirt so's you can
step up, ma'am."

Cutoff nodded happily to himself as the coach pulled away again.  It was
nice to see that good manners and courtesy were still alive.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 69 (passage starts mid-paragraph)
%passage 11
"[...]  If you wanted a quiet retirement, Mr. Bucket, you shouldn't have
bought the Opera House.  You should have done something peaceful, like
alligator dentistry."

  [Maskerade, by Terry Pratchett]
%e passage
# pp. 108-109 (Mr. Pounder, the Opera House rat catcher, has been murdered;
#              instead of Death coming to release his soul, the Death of Rats
#              is attending; we skip a couple of very short paragraphs)
%passage 12
"Er... I'm dead, aren't I...?"

SQUEAK.

[...]

The soul of Mr. Pounder looked at his hands.  They seemed to be elongating,
and getting hairier.  He could feel his ears growing, and a certain rather
embarrassing elongation at the base of his spine.  He'd spent most of his
life in a single-minded activity in dark places, yet even so...

"But I don't /believe/ in reincarnation!" he protested.

SQUEAK.

And this, Mr. Pounder understood with absolute rodent clarity, meant:
reincarnation believes in /you/.

  [Maskerade, by Terry Pratchett]
%e passage
# p. 198 (Nanny has come into a substantial sum of money and has grumbled
#         about Granny spending so much of it)
%passage 13
"Money don't buy happiness, Gytha."

"I only wanted to rent it for a few weeks."

  [Maskerade, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Feet of Clay (14)
# pp. 66-67 (Harper Torch edition)
%passage 1
Rumour is information distilled so finely that it can filter through
anything.  It does not need doors and windows--sometimes it doesn't even
need people.  It can exist free and wild, running from ear to ear without
ever touching lips.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 337
%passage 2
It was hard enough to kill a vampire.  You could stake them down and turn
them into dust and ten years later someone drops a drop of blood in the
wrong place and /guess who's back/?  They returned more times than raw
broccoli.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 4
%passage 3
People look down on stuff like geography and meteorology, and not only
because they're standing on one and being soaked by the other.  They don't
look quite like real science.(1)  But geography is only physics slowed
down and with a few trees stuck on it, and meteorology is full of
excitingly fashionable chaos and complexity.  And summer isn't a time.
It's a place as well.  Summer is a moving creature and likes to go south
for the winter.

(1) That is to say, the sort you can use to give something three extra
legs and then blow it up.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 19
%passage 4
Upstairs, Vimes pushed open his office door carefully.  The Assassins'
Guild played to rules.  You could say that about the bastards.  It was
terribly bad form to kill a bystander.  Apart from anything else, you
wouldn't get paid.  So traps in his office were out of the question,
because too many people were in and out of it every day.  Even so, it
paid to be careful.  Vimes /was/ good at making the kind of rich enemies
who could afford to employ assassins.  The assassins had to be lucky
only once, but Vimes had to be lucky all the time.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 86 (passage continues, actually finding an image in dead man's eyes)
%passage 5
"Er ... have you ever heard the story about dead men's eyes, sir?"

"Assume I haven't had a literary education, Littlebottom."

"Well ... they say ..."

"/Who/ say?"

"/They/, sir.  You know, /they/."

"The same people who're the 'everyone' in 'everyone knows'?  The people
who live in 'the community'?"

"Yes, sir.  I suppose so, sir."

Vimes waved a hand.  "Oh, /them/.  Well, go on."

"They say that the last thing a man sees stays imprinted in his eyes, sir."

"Oh, /that/.  That's just an old story."

  [Feet of Clay, by Terry Pratchett]
%e passage
# pp. 127-128
%passage 6
Everyone in the city looked after themselves.  That's what the guilds were
for.  People banded together against other people.  The guild looked after
you from the cradle to the grave or, in the case of the Assassins, to
other people's graves.  They even maintained the law, or at least they had
done, after a fashion.  Thieving without a license was punishable by death
for the first offense.(1)  The Thieves' Guild saw to that.  The arrangement
sounded unreal, but it worked.

It worked like a machine.  That was fine except for the occasional people
who got caught in the wheels.

(1) The Ankh-Morpork view of crime and punishment was that the penalty for
the first offence should prevent the possibility of a second offense.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 129, continued pp. 132-133
%passage 7
Vimes struggled to his feet, shook his head, and set off after it.  No
thought was involved.  It is the ancient instinct of terriers and
policemen to chase anything that runs away.

  [...]

Vimes pounded through the fog after the fleeing figure.  It wasn't quite
so fast as him, despite the twinges in his legs and one or two warning
stabs from his left knee, but whenever he came close to it some muffled
pedestrian got in the way, or a cart pulled out from a cross street.(1)

(1) This always happens in any police chase /anywhere/.  A heavily laden
lorry will /always/ pull out of a side alley in front of the pursuit.  If
vehicles aren't involved, then it'll be a man with a rack of garments.
Or two men with a large sheet of glass.  There's probably some kind of
secret society behind all this.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 165
%passage 8
Ron had a small grayish-brown, torn-eared terrier on the end of a string,
although in truth it would be hard for an observer to know exactly who
was leading whom and who, when push came to shove, would be the one to
fold at the knees if the other shouted "Sit!"  Because, although trained
canines as aids for those bereft of sight, and even of hearing, have
frequently been used throughout the universe, Foul Ole Ron was the first
person ever to own a Thinking-Brain Dog.

  [Feet of Clay, by Terry Pratchett]
%e passage
# pp. 173-174
%passage 9
Samuel Vimes dreamed about Clues.

He had a jaundiced view of Clues.  He instinctively distrusted them.  They
got in the way.

And he distrusted the kind of person who'd take one look at another man
and say in a lordly voice to his companion, "Ah, my dear sir.  I can tell
you nothing except that he is a left-handed stonemason who has spent some
years in the merchant navy and has recently fallen on hard times," and
then unroll a lot of supercilious commentary about calluses and stance
and the state of a man's boots, when /exactly the same/ comments could
apply to a man who was wearing his old clothes because he'd been doing a
spot of home bricklaying for a new barbecue pit, and had been tattooed
once when he was drunk and seventeen(1) and in fact got seasick on a wet
pavement.  What arrogance!  What an insult to the rich and chaotic variety
of the human experience.

It was the same with more static evidence.  The footprints in the
flowerbed were probably /in the real world/ left by the window-cleaner.
The scream in the night was quite likely a man getting out of bed and
stepping sharply on an upturned hairbrush.

The real world was far too /real/ to leave neat little hints.  It was full
of too many things.  It wasn't by eliminating the impossible that you got
at the truth, however improbable; it was by the much harder process of
eliminating the possibilities.  You worked away, patiently asking questions
and looking hard at things.  You walked and talked, and in your heart you
just hoped like hell that some bugger's nerve'd crack and he'd give himself
up.

(1) These terms are often synonymous.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 188
%passage 10
"Life has certainly been more reliable under Vetinari," said Mr. Potts of
the Bakers' Guild.

"He does have all the street-theater players and mime artists thrown into
the scorpion pit," said Mr. Boggis of the Thieves' Guild.

"True.  But let's not forget that he has his bad points too.  [...]"

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 198
%passage 11
What a mess the world was in, Vimes reflected.  Constable Visit had told
him the meek would inherit it, and what had the poor devils done to deserve
/that/?

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 295
%passage 12
Rogers the bulls were angry and bewildered, which counts as the basic state
of mind for full grown bulls.(1)

(1) Because of the huge obtrusive mass of his forehead, Rogers the bulls'
view of the universe was from two eyes each with their own non-overlapping
hemispherical view of the world.  Since there were two separate visions,
Rogers had reasoned, that meant there must be two bulls (bulls not having
been bred for much deductive reasoning).  Most bulls believe this, which is
why they always keep turning their head this way and that when they look at
you.  They do this because both of them want to see.

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 312 ('meaning' line capitalizes every word, including 'A','For','To')
%passage 13
"It's the most menacing dwarf battle-cry there is!  Once it's been shouted
/someone/ has to be killed!"

"What's it mean?"

"Today Is A Good Day For Someone Else To Die!"

  [Feet of Clay, by Terry Pratchett]
%e passage
# p. 347 (Colon is addressing Dorfl, a golem who is joining the Watch)
%passage 14
"Y'know," said Colon, "if it doesn't work out, you could always get a job
making fortune cookies."

"Funny thing, that," said Nobby.  "You never get bad fortunes in cookies,
ever noticed that?  They never say stuff like: 'Oh dear, things are going
to be /really/ bad.'  I mean, they're never /misfortune/ cookies."

Vimes lit a cigar and shook the match to put it out.  "That, Corporal, is
because of one of the fundamental driving forces of the universe."

"What?  Like, people who read fortune cookies are the lucky ones?" said
Nobby.

"No.  Because people who /sell/ fortune cookies want to go on selling
them.  [...]"

  [Feet of Clay, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Hogfather (13)
# p. 1 (Harper Torch edition)
%passage 1
Everything starts somewhere, though many physicists disagree.

But people have always been dimly aware of the problem with the start of
things.  They wonder how the snowplow driver gets to work, or how the
makers of dictionaries look up the spelling of words.  Yet there is the
constant desire to find some point in the twisting, knotting, raveling
nets of space-time on which a metaphorical finger can be put to indicate
that here, /here/, is the point where it all began ...

/Something/ began when the Guild of Assassins enrolled Mister Teatime,
who saw things differently from other people, and one of the ways that
he saw things differently from other people was in seeing other people
as things (later, Lord Downey of the Guild said, "We took pity on him
because he'd lost both parents at an early age.  I think that, on
reflection, we should have wondered a bit more about that.")

  [Hogfather, by Terry Pratchett]
%e passage
# pp. 28-29
%passage 2
If asked to describe what they did for a living, the five men around the
table would have said something like "This and that" or "The best I can,"
although in Banjo's case he'd probably have said "Dur?"  They were, by the
standards of an uncaring society, criminals, although they wouldn't have
thought of themselves as such and couldn't even /spell/ words like
"nefarious."  What they generally did was move things around.  Sometimes
the things were on the wrong side of a steel door, or in the wrong house.
Sometimes the things were in fact people who were far too unimportant to
trouble the Assassins' Guild with, but who were nevertheless inconveniently
positioned where they were and would be much better located on, for
example, a sea bed somewhere.(1)  None of the five belonged to any formal
guild and they generally found their clients among those people who, for
their own dark reasons, didn't want to put the guilds to any trouble,
sometimes because they were guild members themselves.  They had plenty of
work.  There was always something that needed transferring from A to B or,
of course, to the bottom of the C.

(1) Chickenwire had got his name from his own individual contribution to
the science of this very specialized "concrete overshoe" form of waste
disposal.  An unfortunate drawback of the process was the tendency for
bits of the client to eventually detach and float to the surface, causing
much comment among the general population.  Enough chicken wire, he pointed
out, would solve that, while also allowing the ingress of crabs and fish
going about their vital recycling activities.

  [Hogfather, by Terry Pratchett]
%e passage
# pp. 109-110
%passage 3
Although it was Hogswatch the University buildings were bustling.  Wizards
didn't go to bed early in any case,(1) and of course there was the
Hogswatchnight Feast to look forward to at midnight.

It would give some idea of the scale of the Hogswatchnight Feast that a
light snack at UU consisted of three or four courses, not counting the
cheese and nuts.

Some of the wizards had been practicing for weeks.  The Dean in particular
could now lift a twenty-pound turkey on one fork.  Having to wait until
midnight merely put a healthy edge on appetites already professionally
honed.

(1) Often they lived to a time scale to suit themselves.  Many of the
senior ones, of course, lived entirely in the past, but several were like
the Professor of Anthropics, who had invented an entire temporal system
based on the belief that all the other ones were a mere illusion.

Many people are aware of the Weak and Strong Anthropic Principles.  The
Weak One says, basically, that it was jolly amazing of the universe to be
constructed in such a way that humans could evolve to a point where they
could make a living in, for example, universities, while the Strong One
says that, on the contrary, the whole point of the universe was that
humans should not only work in universities, but also write for huge sums
books with words like "Cosmic" and "Chaos" in the titles.(2)

The UU Professor of Anthropics had developed the Special and Inevitable
Anthropic Principle, which was that the entire reason for the existence of
the universe was the eventual evolution of the UU Professor of Anthropics.
But this was only a formal statement of the theory which absolutely
everyone, with only some minor details of a "Fill in name here" nature,
secretly believes to be true.

(2) And they are correct.  The universe clearly operates for the benefit
of humanity.  This can be readily seen by the convenient way the sun comes
up in the morning, when people are ready to start the day.

  [Hogfather, by Terry Pratchett]
%e passage
# pp. 112-113 (we end this passage mid-paragraph...)
%passage 4
"Watch this, sir," said Ponder.  "All right, Adrian, initialize the GBL."

"How do you do that, then?" said Ridcully, behind him.

"It ... it means pull the great big lever," Ponder said, reluctantly.

"Ah.  Takes less time to say."

Ponder sighed.  "Yes, that's right, Archchancellor."

He nodded to one of the students, who pulled a large red lever marked "Do
Not Pull."  Gears spun, somewhere inside Hex.  Little trapdoors opened in
the ant farms and millions of ants began to scurry along the networks of
glass tubing.  Ponder tapped at the huge wooden keyboard.

"Beats me how you fellows remember how to do all this stuff," said Ridcully,
still watching him with what Ponder considered to be amused interest.

"Oh, it's largely intuitive, Archchancellor," said Ponder.  "Obviously you
have to spend a lot of time learning it first, though.  [...]"

  [Hogfather, by Terry Pratchett]
%e passage
# pp. 139-140
%passage 5
"Tell me, Senior Wrangler, we never invited any /women/ to the
Hogswatchnight Feast, did we?"

"Of course not, Archchancellor," said the Senior Wrangler.  He looked up
in the dust-covered rafters, wondering what had caught the Archchancellor's
eye.  "Good heavens, no.  They'd spoil everything.  I've always said so."

"And all the maids have got the evening off until midnight?."

"A very generous custom, I've always said," said the Senior Wrangler,
feeling his neck crick.

"So why, every year, do we hang a damn great bunch of mistletoe up there?"

The Senior Wrangler turned in a circle, still looking upward.

"Well, er ... it's well, it's ... it's symbolic, Archchancellor."

"Ah?"

The Senior Wrangler felt that something more was expected.  He groped
around in the dusty attics of his education.

"Of ... the leaves, d'y'see ... they're symbolic of ... of green, d'y'see,
whereas the berries, in fact, yes, the berries symbolize ... symbolize
white.  Yes.  White and green.  Very ... symbolic."

He waited.  He was not, unfortunately, disappointed.

"What of?"

The Senior Wrangler coughed.

"I'm not sure there /has/ to be an /of/," he said.

"Ah?  So," said the Archchancellor thoughtfully, "it could be said that
the white and green symbolize a small parasitic plant?"

"Yes, indeed," said the Senior Wrangler.

"So mistletoe, in fact, symbolizes mistletoe?"

"Exactly, Archchancellor," said the Senior Wrangler, who was now just
hanging on.

"Funny thing, that," said Ridcully, in the same thoughtful tone of voice.
"That statement is either so deep it would take a lifetime to fully
comprehend every particle of its meaning, or it is a load of absolute
tosh.  Which is it, I wonder?"

"It could be both," said the Senior Wrangler desperately.

"And /that/ comment," said Ridcully, "is either very perceptive or very
trite."

"It could be bo--"

"Don't push it, Senior Wrangler."

  [Hogfather, by Terry Pratchett]
%e passage
# p. 170 ([sic], sentence at end of paragraph should have fourth period)
%passage 6
What Ponder was worried about was the fear that he was simply engaged in a
cargo cult.  He'd read about them.  Ignorant(1) and credulous(2) people,
whose island might once have been visited by some itinerant merchant
vessel that traded pearls and coconuts for such fruits of civilization as
glass beads, mirrors, axes, and sexual diseases, would later make big model
ships out of bamboo in the hope of once again attracting this magical
cargo.  Of course, they were far too ignorant and credulous to know that
just because you built the shape you didn't get the substance ...

(1) Ignorant:  the state of not knowing what a pronoun is, or how to find
the square root of 27.4, and merely knowing childish and useless things
like which of the seventy almost identical-looking species of the purple
sea snake are the deadly ones, how to treat the poisonous pith of the
Sago-sago tree to make a nourishing gruel, how to foretell the weather by
the movements of the tree-climbing Burglar Crab, how to navigate across
a thousand miles of featureless ocean by means of a piece of string and a
small clay model of your grandfather, how to get essential vitamins from
the liver of the ferocious Ice Bear, and other such trivial matters.  It's
a strange thing that when everyone becomes educated, everyone knows about
the pronoun but no one knows about the Sago-sago.

(2) Credulous:  having views about the world, the universe and humanity's
place in it that are shared only by very unsophisticated people and the
most intelligent and advanced mathematicians and physicists.

  [Hogfather, by Terry Pratchett]
%e passage
# p. 244 (mantelpiece:  it's dark and Ponder is checking whether the Hogfather
#         [Discworld analog of Santa Claus/Father Christmas] has been there
#         and left presents in the stocking the Librarian has hung)
%passage 7
There was silence again, and then a clang.  The Librarian grunted in his
sleep.

"What are you doing?"

"I just knocked over the coal shovel."

"Why are you feeling around on the mantelpiece?"

"Oh, just ... you know, just ... just looking.  A little ... experiment.
After all, you never know."

"You never know what?"

"Just ... never know, you know."

"/Sometimes/ you know," said Ridcully.  "I think I know quite a lot that
I didn't used to know.  It's amazing what you /do/ end up knowing, I
sometimes think.  I often wonder what new stuff I'll know."

"Well, you never know."

"That's a fact."

  [Hogfather, by Terry Pratchett]
%e passage
# p. 330
%passage 8
IT GETS UNDER YOUR SKIN, LIFE, said Death, stepping forward.  SPEAKING
METAPHORICALLY, OF COURSE.  IT'S A HABIT THAT'S HARD TO GIVE UP.  ONE PUFF
OF BREATH IS NEVER ENOUGH.  YOU'LL FIND YOU WANT TO TAKE ANOTHER.

  [Hogfather, by Terry Pratchett]
%e passage
# p. 336
%passage 9
HUMANS NEED FANTASY TO BE HUMAN.  TO BE THE PLACE WHERE THE FALLING ANGEL
MEETS THE RISING APE.

"Tooth Fairies?  Hogfathers?  Little--"

YES.  AS PRACTICE.  YOU HAVE TO START OUT LEARNING TO BELIEVE THE /LITTLE/
LIES.

"So we can believe the big ones?"

YES.  JUSTICE.  MERCY.  DUTY.  THAT SORT OF THING.

  [Hogfather, by Terry Pratchett]
%e passage
# p. 343 (Mr. Teatime [pronounced Teh-ah-tim-eh] has just been thwarted in
#         his elaborate plot to lure and then kill Death)
%passage 10
"What did he do it all for?" said Susan.  "I mean, why?  Money?  Power?"

SOME PEOPLE WILL DO ANYTHING FOR THE SHEER FASCINATION OF DOING IT, said
Death.  OR THE FAME.  OR BECAUSE THEY SHOULDN'T.

  [Hogfather, by Terry Pratchett]
%e passage
#
# 3 new passages added for 5.0
#
# pp. 2-3 (the door turns out to lead to a bathroom designed by Bergholt
#          Stuttly "Bloody Stupid" Johnson, an infamous architect and
#          landscape designer known for creating dangerous and/or unusable
#          versions of whatever he'd been hired to produce)
%passage 11
The senior wizards of Unseen University stood and looked at the door.

There was no doubt that whoever had shut it wanted it to stay shut.  Dozens
of nails secured it to the door frame.  Planks had been nailed right across.
And finally it had, up until this morning, been hidden by a bookcase that
had been put in front of it.

"And there's the sign, Ridcully," said the Dean.  "You /have/ read it, I
assume.  You know?  The sign which says 'Do not, under any circumstances,
open this door'?"

"Of course I've read it," said Ridcully.  "Why d'yer think I want it
opened?"

"Er... why?" said the Lecturer in Recent Runes.

"To see why they wanted it shut, of course."(1)

(1) This exchange contains almost all you need to know about human
civilization.  At least, those bits of it that are now under the sea,
fenced off or still smoking.

  [Hogfather, by Terry Pratchett]
%e passage
# p. 144 (the wizards have been discussing hangover cures and are hoping to
#         produce one for Bilious, the god--actually "oh god"--of hangovers)
%passage 12
Then the Dean repeated the mantra that has had such a marked effect on the
progress of knowledge throughout the ages.

"Why don't we just mix up absolutely everything and see what happens?" he
said.

And Ridcully responded with the traditional response.

"It's got to be worth a try," he said.

  [Hogfather, by Terry Pratchett]
%e passage
# p. 192 (senior wizards are discussing Hex, an organic+clockwork computer
#         invented, built, and run by junior wizards and advanced students)
%passage 13
"I don't hold with using that thinking machine," said the Dean.  "I've said
this before.  It's meddling with the cult.  The /oc/cult has always been
good enough for me, thank you very much."

"On the other hand it's the only person round here who can think straight
and it does what it's told," said Ridcully.

  [Hogfather, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Jingo (14)
%passage 1
# p. 206 (Harper Torch Edition; passage starts mid-paragraph)
It was so much easier to blame it on Them.  It was bleakly depressing to
think that They were Us.  If it was Them, then nothing was anyone's fault.
If it was Us, what did that make Me?  After all, I'm one of Us.  I must be.
I've certainly never thought of myself as one of Them.  /No one/ ever thinks
of themselves as one of Them.  We're always one of Us.  It's Them that do
the bad things.

  [Jingo, by Terry Pratchett]
%e passage
# pp. 23-25 (Harper Torch edition) [transcribed from some other edition]
%passage 2
There was a general shifting of position and a group clearing of throats.

'What about mercenaries?' said Boggis.

'The problem with mercenaries', said the Patrician, 'is that they need to
be paid to start fighting.  And, unless you are very lucky, you end up
paying them even more to stop--'

Selachii thumped the table.

'Very well, then, by jingo!' he snarled.  'Alone!'

'We could certainly do with one,' said Lord Vetinari.  'We need the money.
I was about to say that we cannot /afford/ mercenaries.'

'How can this be?' said Lord Downey.  'Don't we pay our taxes?'

'Ah, I thought we might come to that,' said Lord Vetinari.  He raised
his hand and, on cue again, his clerk placed a piece of paper in it.

'Let me see now ... ah yes.  Guild of Assassins ...  Gross earnings in
the last year: AM$13,207,048.  Taxes paid in the last year: forty-seven
dollars, twenty-two pence and what on examination turned out to be a
Hershebian half-/dong/, worth one eighth of a penny.'

'That's all perfectly legal!  The Guild of Accountants--'

'Ah yes.  Guild of Accountants: gross earnings AM$7,999,011.  Taxes paid:
nil.  But, ah yes, I see they applied for a rebate of AM$200,000.'

'And what we received, I may say, included a Hershebian half-/dong/,'
said Mr Frostrip of the Guild of Accountants.

'What goes around comes around,' said Vetinari calmly.

He tossed the paper aside.  'Taxation, gentlemen, is very much like dairy
farming.  The task is to extract the maximum amount of milk with the
minimum of moo.  And I am afraid to say that these days all I get is moo.'

'Are you telling us that Ankh-Morpork is /bankrupt/?' said Downey.

'Of course.  While, at the same time, full of rich people.  I trust they
have been spending their good fortune on swords.'

'And you have /allowed/ this wholesale tax avoidance?' said Lord Selachii.

'Oh, the taxes haven't been avoided,' said Lord Vetinari.  'Or even evaded.
They just haven't been paid.'

'That is a disgusting state of affairs!'

The Patrician raised his eyebrows.  'Commander Vimes?'

'Yes, sir?'

'Would you be so good as to assemble a squad of your most experienced men,
liaise with the tax gatherers and obtain the accumulated back taxes,
please?  My clerk here will give you a list of the prime defaulters.'

'Right, sir.  And if they resist, sir?' said Vimes, smiling nastily.

'Oh, how can they resist, commander?  This is the will of our civic
leaders.'  He took the paper his clerk proffered.  'Let me see, now.  Top
of the list--'

Lord Selachii coughed hurriedly.  'Far too late for that sort of nonsense
now,' he said.

'Water under the bridge,' said Lord Downey.

'Dead and buried,' said Mr Slant.

'I paid mine,' said Vimes.

  [Jingo, by Terry Pratchett]
%e passage
# p. 7 (Harper Torch edition)
%passage 3
As every student of exploration knows, the prize goes not to the explorer
who first sets foot upon the virgin soil but to the one who gets that foot
home first.  If it is still attached to his leg, this is a bonus.

  [Jingo, by Terry Pratchett]
%e passage
# p. 34
%passage 4
Sergeant Colon had had a broad education.  He'd been to the School of My
Dad Always Said, the College of It Stands to Reason, and was now a post-
graduate student at the University of What Some Bloke In the Pub Told Me.

  [Jingo, by Terry Pratchett]
%e passage
# pp. 43-44
%passage 5
"Hey, that's Reg Shoe!  He's a zombie.  He falls to bits all the time!"

"Very big man in the undead community, sir," said Carrot.

"How come /he/ joined?"

"He came round last week to complain about the Watch harassing some
bogeymen, sir.  He was very, er, vehement, sir.  So I persuaded him that
what the Watch needed was some expertise, so he joined up, sir."

"No more complaints?"

"Twice as many, sir.  All from undead, sir, and all against Mr. Shoe.
Funny That."

  [Jingo, by Terry Pratchett]
%e passage
# pp. 78-79
%passage 6
Perhaps it was because he was tired, or just because he was trying to shut
out the world, but Vimes found himself slowing down into the traditional
Watchman's walk and the traditional idling thought process.

It was an almost Pavlovian response.(1)  The legs swung, the feet moved,
the mind began to work in a certain way.  It wasn't a dream state, exactly.
It was just that the ears, nose and eyeballs wired themselves straight into
the ancient "suspicious bastard" node of his brain, leaving his higher
brain center free to freewheel.

(1) A term invented by the wizard Denephew Boot,(2) who had found that by
a system of rewards and punishments he could train a dog, at the ringing
of a bell, to immediately eat a strawberry meringue.

(2) His parents, who were uncomplicated country people, had wanted a girl.
They were expecting to call her Denise.

  [Jingo, by Terry Pratchett]
%e passage
# pp. 92-93
%passage 7
"What was it, Leonard?"

"An experimental device for turning chemical energy into rotary motion,"
said Leonard.  "The problem, you see, is getting the little pellets of
black powder into the combustion chamber at exactly the right speed and
one at a time.  If two ignite together, well, what he have is the
/external/ combustion engine."

"And, er, what would be the purpose of it?" said the Patrician.

"I believe it could replace the horse," Leonard said proudly.

They looked at the stricken thing.

"One of the advantages of horses that people often point out," said
Vetinari, after some thought, "is that they very seldom explode.  Almost
never, in my experience, apart from that unfortunate occurrence in the hot
summer a few years ago."  With fastidious fingers he pulled something out
of the mess.  It was a pair of cubes, made out of some soft white fur and
linked together by a piece of string.  There were dots on them.

"Dice?" he said.

Leonard smiled in an embarrassed fashion.  "Yes.  I can't think why I
thought they'd help it go better.  It was just, well, an idea.  You know
how it is."

  [Jingo, by Terry Pratchett]
%e passage
# p. 98 (1st "He": Leonard; 2nd "He": Vetinari; last "He": Leonard again)
%passage 8
He was as easily distracted as a kitten.  All that business with the
flying machine, for example.  Giant bat wings hung from the ceiling even
now.  The Patrician had been more than happy to let him waste his time on
that idea, because it was obvious to anyone that no human being would ever
be able to flap the wings hard enough.

He needn't have worried.  Leonard was his own distraction.  He had ended
up spending ages designing a special tray so that people could eat their
meals in the air.

  [Jingo, by Terry Pratchett]
%e passage
# p. 155
%passage 9
She held the lamp higher.

Ramkins looked down their noses at her from their frames, through the brown
varnish of the centuries.  Portraits were another thing that had been
collected out of unregarded habit.

Most of them were men.  They were invariably in armor and always on
horseback.  And every single one of them had fought the sworn enemies of
Ankh-Morpork.

In recent times this had been quite difficult and her grandfather, for
example, had to lead an expedition all the way to Howondaland in order to
find some sworn enemies, although there was an adequate supply and a lot
of swearing by the time he left.  Earlier, of course, it had been a lot
easier.  Ramkin regiments had fought the city's enemies all over the Sto
Plains and had inflicted heroic casualties, quite often on people in the
opposing armies.(1)

(1) It is a long-cherished tradition among a certain type of military
thinker that huge casualties are the main thing.  If they are on the other
side then this is a valuable bonus.

  [Jingo, by Terry Pratchett]
%e passage
# pp. 180-181 (the same gag was used in the 1968 movie "Support Your Local
#              Sheriff", with a dented badge rather than a book)
%passage 10
He rummaged in a pocket and produced a very small book, which he held up
for inspection.

"This belonged to my great-grandad," he said.  "He was in the scrap we had
against Pseudopolis and my great-gran gave him this book of prayers for
soldiers, 'cos you need all the prayers you can get, believe you me, and
he stuck it in the top pocket of his jerkin, 'cause he couldn't afford
armor, and next day in battle--whoosh, this arrow came out of nowhere, wham,
straight into this book and it went all the way through to the last page
before stopping, look.  You can see the hole."

"Pretty miraculous," Carrot agreed.

"Yeah, it was, I s'pose," said the sergeant.  He looked ruefully at the
battered volume.  "Shame about the other seventeen arrows, really."

  [Jingo, by Terry Pratchett]
%e passage
# p. 218
%passage 11
"Er ... what is this thing called?" said Colon, as he followed the
Patrician up the ladder.

"Well, because it is /submersed/ in a /marine/ environment, I've always
called it the Going-Under-the-Water-Safely Device," said Leonard, behind
him.(1)  "But usually I just think of it as the boat."

(1) Thinking up good names was, oddly enough, one area where Leonard of
Quirm's genius tended to give up.

  [Jingo, by Terry Pratchett]
%e passage
# p. 274 (passage starts mid-paragraph)
%passage 12
"[...]  I mean, what're our long-term objectives?"

"Cooking meals and keeping warm?" said Les hopefully.

"Well, /initially/," said Jackson.  "That's obvious.  But you know what
they say, lad.  'Give a man a fire and he's warm for a day, but set fire to
him and he's warm for the rest of his life.'  See my point?"

"I don't think that's actually what the saying is--"

  [Jingo, by Terry Pratchett]
%e passage
#
# 2 new passages added for 5.0
#
# p. 90 (second line beginning with "Sir." rather than "Sir," is accurate)
%passage 13
"We need simple answers, Vimes."

"Sir.  Fred and Nobby are /good/ at simple."

The Patrician turned away and looked out over the city.

"Ah," he said in a quieter voice.  "Simple men to see the simple truth."

"This is a fact, sir."

"You are learning fast, Vimes."

"Couldn't say about that, sir."

"And when they have found the simple truth, Vimes?"

"Can't argue with the truth, sir."

"In my experience, Vimes, you can argue with anything."

  [Jingo, by Terry Pratchett]
%e passage
# p. 238 (the name "71-hour Ahmed" is accurate)
%passage 14
71-hour Ahmed was not /super/stitious.  He was substitious, which put him
in a minority among humans.  He didn't believe in the things everyone
believed in but which nevertheless weren't true.  He believed instead in
the things that were true in which no one else believed.  There are many
such substitions, ranging from "It'll get better if you don't pick at it"
all the way up to "Sometimes things just happen."

  [Jingo, by Terry Pratchett]
%e passage
%e title
#
#
#
# The last continent is Discworld's analog of Australia, known variously
# as "XXXX", "EcksEcksEcksEcks", and "FourEcks".
#
%title The Last Continent (14)
# p. 260 (Harper Torch edition)
%passage 1
"Is it true that your life passes before your eyes before you die?"

YES.

"Ghastly thought, really."  Rincewind shuddered.  "Oh, /gods/, I've just
had another one.  Suppose I /am/ just about to die and /this/ is my whole
life passing in front of my eyes?"

I THINK PERHAPS YOU DO NOT UNDERSTAND.  PEOPLE'S WHOLE LIVES /DO/ PASS IN
FRONT OF THEIR EYES BEFORE THEY DIE.  THE PROCESS IS CALLED "LIVING".  [...]

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 16
%passage 2
"When You're Up to Your Ass in Alligators, Today Is the First Day of the
Rest of Your Life."

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 3 (Harper Torch edition)
%passage 3
All tribal myths are true, for a given value of "true."

  [The Last Continent, by Terry Pratchett]
%e passage
# pp. 13-14
%passage 4
Ponder /knew/ he should never have let Ridcully look at the invisible
writings.  Wasn't it a basic principle never to let your employer know what
it is that you actually /do/ all day?

But no matter what precautions you took, sooner or later the boss was bound
to come in and poke around and say things like, "Is this where you work,
then?" and "I thought I sent a memo out about people bringing in potted
plants," and "What d'you call that thing with the keyboard?"

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 21 (passage begins mid-paragraph)
%passage 5
[...]  Any true wizard, faced with a sign like "Do not open this door.
Really.  We mean it.  We're not kidding.  Opening this door will mean the
end of the universe," would /automatically/ open the door in order to see
what all the fuss was about.  This made signs a waste of time, but at least
it meant that when you handed what was left of the wizard to his grieving
relatives you could say, as they grasped the jar, "We /told/ him not to."

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 22 (the books are acting up while the Librarian is incapacitated and
#        now it's unsafe to go into the library)
%passage 6
"But we're a university!  We /have/ to have a library!" said Ridcully.  "It
adds /tone/.  What sort of people would we be if we didn't go into the
Library?"

"Students," said the Senior Wrangler morosely.

"Hah, I remember when I was a student," said the Lecturer in Recent Runes.
"Old 'Bogeyboy' Swallett took us on an expedition to find the Lost Reading
Room.  Three weeks we were wandering around.  We had to eat our own boots."

"Did you find it?" said the Dean.

"No, but we found the remains of the previous year's expedition."

"What did you do?"

"We ate their boots, too."

  [The Last Continent, by Terry Pratchett]
%e passage
# pp. 45-46
%passage 7
Death had taken to keeping Rincewind's lifetimer on a special shelf in his
study, in much the way that a zoologist would want to keep an eye on a
particularly intriguing specimen.

The lifetimers of most people were the classic shape that Death thought
was right and proper for the task.  They appeared to be large eggtimers,
although, since the sands they measured were the living seconds of
someone's life, all the eggs were in one basket.

Rincewind's hourglass looked like something created by a glassblower who'd
had hiccups in a time machine.  According to the amount of actual sand it
contained--and Death was pretty good at making this kind of estimate--he
should have died long ago.  But strange curves and bends and extrusions of
glass had developed over the years, and quite often the sand was flowing
backwards, or diagonally.  Clearly, Rincewind had been hit by so much
magic, had been thrust reluctantly through time and space so often that
he'd nearly bumped into himself coming the other way, that the precise end
of his life was now as hard to find as the starting point on a roll of
really sticky transparent tape.

Death was familiar with the concept of the eternal, ever-renewed hero, the
champion with a thousand faces.  He'd refrained from commenting.  He met
heroes frequently, generally surrounded by, and this was important, the
dead bodies of /very nearly/ all of their enemies and saying, "Vot the hell
shust happened?"  Whether there was some arrangement that allowed them to
come back again afterwards was not something he would be drawn on.

But he pondered whether, if this creature /did/ exist, it was somehow
balanced by the eternal coward.  The hero with a thousand retreating backs,
perhaps.  Many cultures had a legend of an undying hero who would one day
rise again, so perhaps the balance of nature called for one who wouldn't.

Whatever the ultimate truth of the matter, the fact now was that Death did
not have the slightest idea of when Rincewind was going to die.  This was
very vexing to a creature who prided himself on his punctuality.

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 61
%passage 8
A black and white bird appeared, and perched on his head.

"You know what to do," said the old man.

"Him?  What a wonga," said the bird.  "I've been lookin' at him.  He's not
even heroic.  He's just in the right place at the right time."

The old man indicated that this was maybe the definition of a hero.

"All right, but why not go and get the thing yerself?" said the bird.

"You've gotta have heroes," said the old man.

"And I suppose I'll have to help," said the bird.  It sniffed, which is
quite hard to do through a beak.

"Yep.  Off you go."

The bird shrugged, which /is/ easy to do if you have wings, and flew down
off the old man's head.  It didn't land on the rock but flew into it; for
a moment there was a drawing of a bird, and then if faded.

Creators aren't gods.  They make places, which is quite hard.  It's men
that make gods.  This explains a lot.

The old man sat down and waited.

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 186
%passage 9
She had a very straightforward view of foreign parts, or at least those
more distant than her sister's house in Quirm where she spent a week's
holiday every year.  They were inhabited by people who were more to be
pitied than blamed because, really, they were like children.(1)  And they
acted like savages.(2)

(1) That is to say, she secretly considered them to be vicious, selfish
and untrustworthy.

(2) Again, when people like Mrs. Whitlow use this term they are not, for
some inexplicable reason, trying to suggest that the subjects have a rich
oral tradition, a complex system of tribal rights and a deep respect for
the spirits of their ancestors.  They are implying the kind of behavior
more generally associated, oddly enough, with people wearing a full suit
of clothes, often with the same sort of insignia.

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 187 (last paragraph truncated)
%passage 10
"I suppose he wouldn't have done anything stupid, would he?" he said.

"Archchancellor, Ponder Stibbons is a fully trained wizard!" said the Dean.

"Thank you for that very concise and definite answer, Dean," said Ridcully.

  [The Last Continent, by Terry Pratchett]
%e passage
#
# 4 new passages added for 5.0
#
# pp. 113-114 (passage ends mid-paragraph)
%passage 11
"This is certainly a very... /original/ cart," said Rincewind.

"Got a few modifications of my own," said Mad.  He grinned evilly.  "You a
wizard, mister?"

"Broadly speaking, yes."

"Any good?"  Mad was loading another crossbow.

Rincewind hesitated.  "No," he said.

"Lucky for you," said Mad.  "I'd have killed you if you were.  Can't stand
wizards.  Bunch of wowsers, right?"

He grasped the handles of the bent stovepipe and swiveled it around.

"Here they come," he muttered.

Rincewind peered over the top of Mad's head.  There was a piece of mirror
in the bend of the pipe.  It showed the road behind, and half a dozen dots
under another cloud of red dust.

"Road gang," said Mad.  "After my cargo.  Steal anything, they will.  All
bastards are bastards, but some bastards is /bastards/."  [...]

  [The Last Continent, by Terry Pratchett]
%e passage
# pp. 246-247 (Ponder Stibbins had stayed behind, then changed his mind and
#              isn't wearing his robe after swimming to catch up with the
#              senior wizards' boat; Ridcully is smoking a pipe)
%passage 12
"And, while it is good to see you, Stibbins, albeit rather more of you
than I would usually care to contemplate, I am moved to ask why you are,
in fact, here."

"I suddenly felt it would be unfair to deprive the University of my
services, sir."

"Really?  A sudden rush of nostalgia for the old alma mater, eh?"

"You could say that, sir."

Ridcully's eyes twinkled behind the smoke and, not for the first time,
Ponder suspected that the man was sometimes rather cleverer than he
appeared.  It would not be hard.

  [The Last Continent, by Terry Pratchett]
%e passage
# p. 263 (Rincewind is going to be executed the next day; a previous prisoner
#         who was well known for multiple escapes had scratched "look at the
#         hinges" on the cell's wall--the cell's door just lifts off)
%passage 13
At moments like this cowardice was an exact science.  There were times
that called for mindless, terror-filled panic, and times that called for
measured, considered, /thoughtful/ panic.  Right now he was in a place of
safety.  It was, admittedly, the death cell, but the point was that it
was perhaps the one place in this country where nothing bad was going to
happen for a little while.  The Ecksians didn't look like the kind of
people who went in for torture, although it was always possible that they
might make him eat some more of their food.  So, for the moment, he had
/time/.  Time to plan ahead, to consider his next move, to apply his
intellect to the problem at hand.

He stared at the wall for a moment, then stood up and gripped the bars.

Right.  That seemed to be about long enough.  Now to run like hell.

  [The Last Continent, by Terry Pratchett]
%e passage
# pp. 333-334 (passage starts mid-paragraph and ends mid-paragraph; Rincewind
#              has asked whether a haunted brewery might have been built on a
#              site that's sacred to indigenous people; the answer is no)
%passage 14
"[...]  Some chief went to prison to see the prime minister and said,
'Mate, your mob can dig it all up and drop it over the edge of the world,
no worries.'"

"Why did he have to go to prison?"

"We put all our politicians in prison as soon as they're elected.  Don't
you?"

"Why?"

"It saves time.  [...]"

  [The Last Continent, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Carpe Jugulum (12)
# p. 10 (Harper Torch edition)
%passage 1
Agnes tended to obey rules.  Perdita didn't.  Perdita thought that not
obeying rules was somehow cool.  Agnes thought that rules like "Don't fall
into this huge pit of spikes" were there for a purpose.  [...]

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 2 (example of the silliness and incomprehensability of the
#       Nac mac Feegle [aka pictsies, pict + pixie]; fortunately their
#       speech doesn't constitute much of the book's dialogue)
%passage 2
"Nac mac Feegle!"

"Ach, stickit yer trakkans!"

"Gie you sich a kickin'!"

"Bigjobs!"

"Dere c'n onlie be whin t'ousand!"

"Nac mac Feegle wha hae!"

"Wha hae yersel, ya boggin!"

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 28 (from a discussion about whether Omnian priests still burn witches)
%passage 3
"Hah!  The leopard does not change his shorts, my girl!"

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 133
%passage 4
Things were not what they seemed.  But then, as Granny always said, they
never were.

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# pp. 254-255 ("verra comp-lic-ated" is accurate)
%passage 5
"How can I ever repay you?" he said.

The pixie's eyes gleamed happily.

"Oh, there's a wee bitty thing the Carlin' Ogg said you could be givin' us,
hardly important at all," he said.

"Anything," said Verence.

A couple of pixies came up staggering under a rolled-up parchment, which
was unfolded in front of Verence.  The old pixie was suddenly holding a
quill pen.

"It's called a signature," he said, as Verence stared at the tiny
handwriting.  "An' make sure ye initial all the sub-clauses and codicils.
We of the Nac mac Feegle are a simple folk," he added, "but we write verra
comp-lic-ated documents."

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 326 (Igor's lisp of "th" for "s" makes this /look/ intentionally archaic
#         although it wouldn't be pronounced that way)
%passage 6
"What goeth around, cometh around," said Igor.

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# pp. 336-337 (the plot is driven by the actions of a family of vampyres
#              who do mostly cooperate with each other)
%passage 7
Vampires are not naturally cooperative creatures.  It's not in their nature.
Every other vampire is a rival for the next meal.  In fact, the ideal
situation for a vampire is a world in which every other vampire has been
killed off and no one seriously believes in vampires anymore.  They are by
nature as cooperative as sharks.

Vampyres are just the same, the only real difference being that they can't
spell properly.

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 338
%passage 8
"Be resolute, my dear," said the Count.  "Remember--that which does not
kill us can only make us stronger."

"And that which /does/ kill us leaves us /dead/!" snarled Lacrimosa.  "You
saw what happened to the others!  /You/ got your fingers burned!."

  [Carpe Jugulum, by Terry Pratchett]
%e passage
#
# 4 new passages added for 5.0
#
# p. 24 (ellipsis occurs at start of paragraph; Quite Reverend Oats has opened
#        /The Book of Om/ at random and is reading the passage found there)
%passage 9
"... silence is an answer that begs three more questions.  Seek and you will
find, but first you should know what you seek."

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 71 (conversation between witches Nanny Ogg and Agnes Nitt; King Verance II
#        of Lancre has invited a family of vampires from Uberwald, among many
#        other guests, to attend his and Queen Magrat's baby's naming ceremony
#        at midnight; Nanny has gotten their servant Igor drunk; he passed out)
%passage 10
"But /vampires/... what's Granny going to say?"

"Listen, my girl.  They'll be gone by tomorrow... well today, really.  We'll
just keep an eye on 'em and wave 'em goodbye when they go."

"We don't even know what they look like!"

Nanny looked at the recumbant Igor.

"On reflection, maybe, I should've asked him." she said.  She brightened up.
"Still, there's one way to find them.  There's something everyone knows
about vampires..."

In fact there are many things everyone knows about vampires, without really
taking into account that perhaps the vampires known them by now, too.

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 297 (Granny Weatherwax has just regained consciousness after nearly
#         freezing to death and has figured out that Oats has used his copy of
#         /The Book of Om/ as fuel for a campfire to save her)
%passage 11
"Good thing you were able to get a fire going, all the same," she said,
without turning around.

"I have always found that if I put my trust in Om a way will be found,"
said Oats, hurrying after her.

"I reckon Om helps those who helps themselves," said Granny.

  [Carpe Jugulum, by Terry Pratchett]
%e passage
# p. 316 ("He" is Shawn Ogg, Lancre's one-man army [because they haven't
#         needed more rather than because of competence on his part])
%passage 12
He was trying to find some help in the ancient military journals of General
Tacticus, whose intelligent campaigning had been so successful that he'd
lent his very name to the detailed prosecution of martial endeavor, and had
actually found a section headed What to Do If One Army Occupies a Well-
fortified and Superior Ground and the Other Does Not, but since the first
sentence read "Endeavor to be the one inside" he'd rather lost heart.

  [Carpe Jugulum, by Terry Pratchett]
%e passage
%e title
#
#
#
%title The Fifth Elephant (12)
# p. 25 (Harper Torch edition) [passage starts mid-paragraph]
%passage 1
You did something because it had always been done, and the explanation
was "but we've /always/ done it this way."  A million dead people can't
have been wrong, can they?

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 233 (this is a footnote)
%passage 2
He'd noticed that sex bore some resemblance to cookery:  It fascinated
people, they sometimes bought books full of complicated recipes and
interesting pictures, and sometimes when they were really hungry they
created vast banquets in their imagination--but at the end of the day
they'd settle quite happily for egg and chips, if it was well done and
maybe had a slice of tomato.

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# pp. 80-81 ('[...]' represents more than a full page which has been omitted;
#            passage ends mid-paragraph;
#            the pigeon is trained to carry messages for the Watch)
%passage 3
Constable Shoe saluted, but a little testily.  He'd been waiting rather a
long time.

"Afternoon, Sergeant--"

"That's Captain," said Captain Colon.  "See the pip on my shoulder, Reg?"

Reg looked closely.  "I thought it was bird doings, Sarge."

"That's Captain," said Colon Automatically.  "It's only chalk now because
I ain't got time to get it done properly," he said, "so don't be cheeky."

[...]

A pigeon chose that diplomatic moment to flutter into the factory and land
on Colon's shoulder, where it promoted him.  [...]

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 187
%passage 4
The wheels clattered over the wood of a drawbridge.

As castles went, this looked as though it could be taken by a small squad
of not very efficient soldiers.  Its builder had not been thinking about
fortifications.  He'd been influenced by fairy tales and possibly by some
of the more ornamental sorts of cake.  It was a castle for looking at.
For defense, putting a blanket over your head might be marginally safer.

The coach stopped in the courtyard.  [...]

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 229
%passage 5
"What a mess," he said.  "Locked-room mysteries are even worse when they
leave the room unlocked."

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 246 ([sic] 'rules for which he termed "the art..."' seems like it
#         ought to have been 'rules for _what_ he termed "the art..."')
%passage 6
He punched the dwarf in the stomach.  This was no time to play by the
Marquis of Fantailler rules.(1)

(1) The Marquis of Fantailler got into many fights in his youth, most of
them as a result of being known as the Marquis of Fantailler, and wrote
a set of rules for which he termed "the noble art of fisticuffs" which
mostly consisted of a list of places where people weren't allowed to hit
him.  Many people were impressed with his work and later stood with noble
chest outthrust and fists balled in a spirit of manly aggression against
people who hadn't read the Marquis's book but /did/ know how to knock
people senseless with a chair.  The last words of a surprisingly large
number of people were "Stuff the bloody Marquis of Fantailler--"

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 251
%passage 7
Vimes shivered.  He hadn't realized how warm it had been underground.  Or
what time it was.  There was a dim, a very dim light.  Was this just after
sunset?  What it almost dawn?

The flakes were piling up on his damp clothes, driven by the wind.

Freedom could get you killed.

Shelter ... that was /essential/.  The time of day and a precise location
were of no use to the dead.  They always knew what time it was and where
they were.

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 267
%passage 8
GOOD MORNING.

Vimes blinked.  A tall dark-robed figure was now sitting in the boat.

"Are you Death?"

IT'S THE SCYTHE, ISN'T IT.  PEOPLE ALWAYS NOTICE THE SCYTHE.

"I'm going to die?"

POSSIBLY.

"/Possibly/?  You turn up when people are /possibly/ going to die?"

OH YES.  IT'S QUITE THE NEW THING.  IT'S BECAUSE OF THE UNCERTAINTY
PRINCIPLE.

"What's that?"

I'M NOT SURE.

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 288 [sic: missing 4th '.' at end]
%passage 9
"Are you in charge of the Watch here?"

"No.  That's the job of the Burgermaster."

"And who gives him /his/ orders?"

"Everyone," said Tantony bitterly.  Vimes nodded.  Been there, he thought.
Been there, done that, bought the doublet...

  [The Fifth Elephant, by Terry Pratchett]
%e passage
#
# 3 new passages added for 5.0
#
# pp. 34-35 (a footnote about Cpl Nobbs lately dressing as a woman omitted)
%passage 10
Corporal Cheery Littlebottom pronounced her name "Cheri."  She was a she,
and therefore a rare bloom in Ankh-Morpork.

It wasn't that dwarfs weren't interested in sex.  They saw the vital need
for fresh dwarfs to leave their goods to and continue the mining work
after they had gone.  It was simply that they also saw no point in
distinguishing between the sexes anywhere but in private.  There was no
such thing as a Dwarfish female pronoun or, once the children were on
solids, any such thing as women's work.

Then Cheery Littlebottom had arrived in Ankh-Morpork, and had seen that
there were men out there who did /not/ wear chain mail or leather
underwear(1), but /did/ wear interesting colors and exciting makeup, and
these men were called "women."

And in the little bullet head the thought had arisen:  "Why not me?"

Now she was being denounced in cellars and dwarf bars across the city as
the first dwarf in Ankh-Morpork to wear a skirt.  It was hard-wearing
brown leather and as objectively erotic as a piece of wood but, as some
older dwarfs would point out, somewhere under there were his /knees/.(2)

(1) At least of the sort /she/ normally wore.

(2) They couldn't bring themselves to utter the word "her."

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 38 (omitted portion spans two separate sentences; pasg ends mid-paragraph)
%passage 11
Uberwald [...] was mostly so thickly forested, so creased by little
mountain ranges and beset by rivers, that it was largely unmapped.  It
was mostly unexplored, too.(1)

(1) At least, by proper explorers.  Just living there doesn't count.

  [The Fifth Elephant, by Terry Pratchett]
%e passage
# p. 219 (passage begins mid-sentence)
%passage 12
[...] Sam Vimes had learned a lot from watching Lady Sybil.  She didn't
mean to act like that, but she'd been born to it, into a class which had
always behaved this way:  You went through the world as if there was
/no possibility/ that anyone would stop you or question you, and most of
the time that's exactly what didn't happen.

  [The Fifth Elephant, by Terry Pratchett]
%e passage
%e title
#
#
#
%title The Truth (13)
# p. 21 (Harper Torch edition)
%passage 1
There are, it has been said, two types of people in the world.  There are
those who, when presented with a glass that is exactly half full, say: this
glass is half full.  And then there are those who say: this glass is half
empty.

The world /belongs/, however, to those who can look at the glass and say:
What's up with this glass?  Excuse me?  Excuse /me/?  /This/ is my glass?
I don't /think/ so.  My glass was full!  /And/ it was a bigger glass!
Who's been pinching my beer?

  [The Truth, by Terry Pratchett]
%e passage
# p. 5
%passage 2
The world is made up of four elements: Earth, Air, Fire and Water.  This
is a fact well known even to Corporal Nobbs.  It's also wrong.  There's a
fifth element, and generally it's called Surprise.

  [The Truth, by Terry Pratchett]
%e passage
# pp. 1-2 (Harper Torch edition)
%passage 3
The rumor spread through the city like wildfire (which had quite often
spread through Ankh-Morpork since its citizens had learned the words "fire
insurance").

/The dwarfs can turn lead into gold.../

[...]

It reached the pointy ears of the dwarfs.

"Can we?"

"Damned if I know.  /I/ can't."

"Yeah, but if you could, you wouldn't say.  /I/ wouldn't say, if /I/ could.

"Can you?"

"No."

"/Ah-ha!/"

  [The Truth, by Terry Pratchett]
%e passage
# p. 10 ('mucky' is accurate)
%passage 4
It would seem quite impossible, on such a mucky night, that there could
have been anyone to witness this scene.

But there was.  The universe requires everything to be observed, lest it
cease to exist.

  [The Truth, by Terry Pratchett]
%e passage
# p. 19
%passage 5
Very occasionally, a frog was removed from the vivarium and put into a
rather smaller jar where it briefly became a very happy frog indeed, and
then went to sleep and woke up in that great big jungle in the sky.

And thus the university got the active ingredient that it made up into
pills and fed to the Bursar, to keep him sane.  At least, /apparently/
sane, because nothing was that simple at good old UU.  In fact he was
incurably insane and hallucinated more or less continually, but by a
remarkable stroke of lateral thinking his fellow wizards had reasoned, in
that case, that the whole business could be sorted out if only they could
find a formula that caused him to /hallucinate that he was completely
sane/.(1)

This had worked well.  [...]

(1) This is a very common hallucination, shared by most people.

  [The Truth, by Terry Pratchett]
%e passage
# pp. 107-108 ('zis', 'zat', 'vhich', 'Latation' are all accurate)
%passage 6
"Er ... why do you need to work in a darkroom, though?" he said.  "The imps
don't need it, do they?"

"Ah, zis is for my experiment," said Otto proudly.  "You know zat another
term for an iconographer would be 'photographer'?  From the old word
'photus' in Latation, vhich means--"

"To prance around like an idiot ordering everyone about as if you owned the
place," said William.

"Ah, you know it!"

  [The Truth, by Terry Pratchett]
%e passage
# p. 100
%passage 7
"Vy are ve stoppink?" said Otto.

"That's Sergeant Detritus on the gate," said William.

"Ah.  A troll.  Very stupid," opined Otto.

"But hard to fool.  I'm afraid we shall have to try the truth."

"Vy vill that vork?"

"He's a policeman.  The truth usually confuses them.  They don't often
hear it."

  [The Truth, by Terry Pratchett]
%e passage
# p. 290
%passage 8
Mr. Tulip raised a trembling hand.

"Is this the bit where my whole life passes in front of my eyes?" he said.

NO, THAT WAS THE BIT JUST NOW.

"Which bit?"

THE BIT, said Death, BETWEEN YOU BEING BORN AND YOU DYING.  NO, THIS...
MR. TULIP, THIS IS YOUR WHOLE LIFE AS IT PASSED BEFORE /OTHER PEOPLE'S/
EYES...

  [The Truth, by Terry Pratchett]
%e passage
#
# 5 new passages added for 5.0
#
# p. 3 (two paragraphs in the middle skipped)
%passage 9
And the rumor came to the ears of William de Worde, and in a sense it
stopped there, because he dutifully wrote it down.

It was his job.  Lady Margolotta of Uberwald sent him five dollars a month
to do it.  The Dowager Duchess of Quirm also sent him five dollars.  So
did King Verence of Lancre, and a few other Ramtop notables.  So did the
Seriph of Al-Khali, although in this case the payment was half a cartload
of figs, twice a year.

[...]

A young man without too many responsibilities could live modestly in
Ankh-Morpork on thirty or forty dollars a month; he always sold the figs,
because although it was possible to live on figs you soon wished you
didn't.

  [The Truth, by Terry Pratchett]
%e passage
# p. 31
%passage 10
"And these are your reasons, my lord?"

"Do you think I have others?" said Lord Vetenari.  "My motives, as ever,
are entirely transparent."

Hughnon reflected that "entirely transparent" meant either that you could
see right through them or couldn't see them at all.

  [The Truth, by Terry Pratchett]
%e passage
# p. 59-60 (passage ends mid-paragraph)
%passage 11
The Firm had, indeed, not operated in Ankh-Morpork before.  Mr. Pin had
kept away because, well, there were plenty of other cities, and an
instinct for survival had told him that the Big Wahooni(1) should wait
a while.  [...]

(1) The world's rarest and most evil-smelling vegetable, and consequently
much prized by connoisseurs (who seldom prize anything cheap and common).
Also a slang term for Ankh-Morpork, although it does not smell as bad as
that.

  [The Truth, by Terry Pratchett]
%e passage
# p. 87-88 ('it' is an imp inside the PDA; warranty text is in a smaller font
#           than the rest of text; page 297 has more conditions, effectively
#           impossible to comply with, applying to transfer of ownership)
%passage 12
"Good for you!" it said.  "You have wisely purchased the Dis-organizer
Mk II, the latest in biothaumaturgic design, with a host of useful
features and no resemblance whatsoever to the Mk I, which you may have
inadvertently destroyed by stamping on it heavily!" it said, adding,
"This device is provided without warranty of any kind as to reliability,
accuracy, existence or otherwise or fitness for any particular purpose
and Bioalchemic Products specifically does not warrant, guarantee, imply
or make any representations as to its merchantability for any particular
purpose and furthermore shall have no liability for or responsibility to
you or any other person, entity or deity with respect to any loss or
damage whatsoever caused by this device or object or by any attempts to
destroy it by hammering it against a wall or dropping it into a deep well
or by any other means whatsoever and moreover asserts that you indicate
your acceptance of this agreement or any other agreement that may be
substituted at any time by coming within five miles of the product or
observing it through large telescopes or by any other means because you
are such an easily cowed moron who will happily accept arrogant and
unilateral conditions on a piece of highly priced garbage that you would
not dream of accepting on a bag of dog biscuits and is used solely at
your own risk."

  [The Truth, by Terry Pratchett]
%e passage
# p. 168
%passage 13
It looked to Sacharissa that the only tools a dwarf needed was his ax and
some means of making fire.  That'd eventually get him a forge, and with
that he could make simple tools, and with those he could make /complex/
tools, and with complex tools a dwarf could more or less make anything.

  [The Truth, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Thief of Time (14)
# p. 97 (Harper Torch edition)
%passage 1
"No running with scythes!"

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 24 (Harper Torch edition)
%passage 2
Silver stars weren't awarded frequently, and gold stars happened less
than once a fortnight, and were vied for accordingly.  Right now, Miss
Susan selected a silver star.  Pretty soon Vincent the Keen would have a
galaxy of his very own.  To give him his due, he was quite disinterested
in which kind of star he got.  Quantity, that was what he liked.  Miss
Susan had privately marked him down as Boy Most Likely To Be Killed One
Day By His Wife.

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 53 ('... with the chorus:', '"Do not act...' are separate paragraphs;
#        'challenger' has been cowed after finding out that the little old
#        man he challenged--for entering the dojo--is actually Lu-Tze)
%passage 3
As Lobsang followed the ambling Lu-Tze, he heard the dojo master, who like
all teachers never missed an opportunity to drive home a lesson, say:
"Dojo!  What is Rule One?"

Even the cowering challenger mumbled along with the chorus:

"Do not act incautiously when confronting a little bald wrinkly smiling
man!"

  [Thief of Time, by Terry Pratchett]
%e passage
# pp. 74-75 (the novices didn't know that the little old man known as Sweeper
#            is actually Lu-Tze; see passage 3 regarding Rule One)
%passage 4
One day a group of senior novices, for mischief, kicked over the little
shrine that Lu-Tze kept beside his sleeping mat.

Next morning, no sweepers turned up for work.  They stayed in their huts
with the doors barred.  After making inquiries, the abbot, who at that time
was fifty years old again, summoned the three novices to his room.  There
were three brooms leaning against the wall.  He spoke as follows:

"You know that the dreadful Battle of Five Cities did not happen because
the messenger got there in time?"

They did.  You learned this early in your studies.  And they bowed
nervously, because this was the abbot, after all.

"And you know then that when the messenger's horse threw a shoe he espied
a man trudging beside the road carrying a small portable forge and pushing
an anvil on a barrow?"

They knew.

"And you know that man was Lu-tze?"

They did.

"Surely you know that Janda Trapp, Grand Master of /Oki-doki/, /Toro-fu/,
and /Chang-fu/, has only ever yielded to one man?"

They knew.

"And you know that man is Lu-Tze?"

They did.

"You know the little shrine you kicked over last night?"

They knew.

"You know it had an owner?"

There was silence.  Then the brightest of the novices looked up at the
abbot in horror, swallowed, picked up one of the three brooms, and walked
out of the room.

The other two were slower of brain and had to follow the story all the way
through to the end.

Then one of them said, "But it was only a sweeper's shrine!"

"You will take up the brooms and sweep," said the abbot, "and you will
sweep every day, and you will sweep until the day you find Lu-Tze and dare
to say 'Sweeper, it was I who knocked over and scattered your shrine and
now I will in humility accompany you to the dojo on the Tenth Djim, in
order to learn the Right Way.'  Only then, if you are still able, may you
resume your studies here.  Understood?"(1)

Older monks sometimes complained, but someone would always say:  "Remember
that Lu-Tze's Way is not our Way.  Remember he learned everything by
sweeping unheeded while students were being educated.  Remember, he has
been everywhere and done many things.  Perhaps he is a little... strange,
but remember he walked into a citadel full of armed men and traps and
nevertheless saw to it that the Pash of Muntab choked innocently on a fish
bone.  No monk is better than Lu-Tze at finding the Time and the Place."

Some, who did not know, would say:  "What is this Way that gives him so
much power?"

And they were told:  "It is the Way of Mrs. Marietta Cosmopolite, 3 Quirm
Street, Ankh-Morpork, Rooms To Rent Very Reasonable.  No, we don't
understand it, either.  Some subsendential rubbish, apparently."

(1) And the story continues:  The novice who had protested that it was only
the shrine of a sweeper ran away from the temple; the student who said
nothing remained a sweeper for the rest of his life; and the student who
has seen the inevitable shape of the story went, after much agonizing and
several months of meticulous sweeping, to Lu-Tze and knelt and asked to be
shown the Right Way.  Whereupon the sweeper took him to the dojo of the
Tenth Djim, with its terrible multibladed fighting machines and its
fearsome serrated weapons such as the /clong-clong/ and the /uppsi/.  The
story runs that the sweeper then opened a cupboard at the back of the dojo
and produced a broom and spake thusly:  "One hand /here/ and the other
/here/, understand?  People never get it right.  Use good, even strokes
and let the broom do most of the work.  Never try to sweep up a big pile,
you'll end up sweeping every bit of dust twice.  Use your dustpan wisely,
and remember:  a small brush for the corners."

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 102 ('coming here':  to the remote mountains where the monks live)
%passage 5
"But did not Wen say that if the truth is anywhere, it is everywhere?" said
Lobsang.

"Well done.  I see you learned /something/, at least.  But one day it
seemed to me that everyone else had decided that wisdom can only be found a
long way off.  So I went to Ankh-Morpork.  They were all coming here, so it
seemed only fair.

"Seeking /enlightenment/?"

"No.  The wise man does not seek enlightenment, he waits for it.  So while
I was waiting, it occurred to me that seeking perplexity might be more
fun," said Lu-Tze.  "After all, enlightenment begins where perplexity ends.
And I found perplexity.  And a kind of enlightenment, too.  I had not been
there for five minutes, for example, when some men in an alley tried to
enlighten me of what little I possessed, giving me a valuable lesson in
the ridiculousness of material things."

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 286 (food in general, and chocolate in particular, has proven to be an
#         effective 'weapon' against Auditors who've taken on human form)
%passage 6
"Let's get up into Zephyr Street," said Susan.

"What is there for us?"

"Wienrich and Boettcher."

"Who are they?"

"I think the original Herr Wienrich and Frau Boettcher died a long time ago.
But the shop still does very good business," said Susan, darting across the
street.  "We need ammunition."

Lady LeJean caught up.

"Oh.  They make chocolate?" she said.

"Does a bear poo in the woods?" said Susan and realized her mistake right
away.(1)

Too late.  Lady LeJean looked thoughtful for a moment.

"Yes," she said at last.  "Yes, I believe that most varieties do, indeed,
excrete, as you suggest, at least in the temperate zones, but there are
several that--"

"I mean to say that, yes, they make chocolate," said Susan.

(1) Teaching small children for any length of time can do this to a
vocabulary.

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 308
%passage 7
Kaos listened to history.

There were new words.  Wizards and philosophers had found Chaos, which is
Kaos with his hair combed and a tie on, and had found in the epitome of
disorder a new order undreamed of.  /There are different kinds of rules./
/From the simple comes the complex, and from the complex comes a different/
/kind of simplicity.  Chaos is order in a mask.../

Chaos.  Not dark, ancient Kaos, left behind by the evolving universe, but
new, shiny Chaos, dancing in the heart of everything.  The idea was
strangely attractive.  And it was a reason to go on living.

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 355 (starts mid-paragraph, with a clause about eating in class omitted)
%passage 8
[...]  Susan [...] took the view that, if there were rules, they applied to
everyone, even her.  Otherwise they were merely tyranny.  But rules were
there to make you think before you broke them.

  [Thief of Time, by Terry Pratchett]
%e passage
#
# 6 new passages added for 5.0
#
# p. 80 (passage ends mid-paragraph)
%passage 9
Well, she was partly immortal, and that was all there was to it.  She could
see things that were really there(1) [...]

(1) Which is much harder than seeing things that /aren't/ there.  /Everyone/
does that.

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 82 (passage starts mid-paragraph)
%passage 10
[...]  Some humans would do anything to see if it was possible to do it.
If you put a large switch in some cave somewhere, with a sign on it saying
"End-of-the-World Switch.  PLEASE DO NOT TOUCH," the paint wouldn't even
have time to dry.

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 115 (passage ends mid-paragraph; Lobsang's "there" is inside the area
#         below, where a hole in the wall leads; Lu-Tze is already inside and
#         his "there" is outside where he just was and Lobsang still is)
%passage 11
"But novices aren't allowed in there under pain of death!"

"That's a coincidence," said Lu-Tze, lowering himself to the tips of his
fingers.  "Because death is what awaits you if you stay out there, too."

He dropped into the darkness.  A moment later there was an unenlightened
curse from below.

Lobsang climbed in, hung by his fingertips, dropped, and rolled when he hit
the floor below.

"Well done," said Lu-Tze in the gloom.  "When in doubt, choose to live."

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 132 (passage starts mid-paragraph; the abbot's recent reincarnation is
#         still an infant)
%passage 12
"[...]  I mean, mentally he's nine hundred years old."

"That must make him very wise."

"Pretty wise, pretty wise.  But age and wisdom don't necessarily go
together, I've always found," said Lu-Tze, as they approached the abbot's
rooms.  "Some people just become stupid with more authority.  Not his
Reverence, of course."

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 144 (two instances of singular "Igor" for the person then two plural
#         "Igors" for his clan is accurate)
%passage 13
Igor didn't much like the clock.  He was a /people/ person.  He preferred
things that bled.  And as the clock grew, with its shimmering crystal parts
that didn't seem entirely all /here/, so Jeremy grew more absorbed and Igor
grew more tense.  There was definitely something new happening here, and
Igors were avid to learn new things.  But there were limits.  Igors did not
believe in "Forbidden Knowledge" and "Things Man Was Not Meant to Know" but
obviously there were /some/ things a man was not meant to know, such as
what it felt like to have every single particle of your body sucked into a
little hole, and that seemed to be one of the options available in the
immediate future.

  [Thief of Time, by Terry Pratchett]
%e passage
# p. 170 ('spake' is accurate, as is ending the first paragraph with a colon)
%passage 14
/In the Second Scroll of Wen the Eternally Surprised/, a story is written
concerning one day when the apprentice Clodpool, in a rebellious mood,
approached Wen and spake thusly:

"Master, what is the difference between a humanistic, monastic system of
belief in which wisdom is sought by means of an apparently nonsensical
system of questions and answers, and a lot of mystic gibberish made up on
the spur of the moment?"

Wen considered this for some time, and at last said:  "A fish!"

And Clodpool went away, satisfied.

  [Thief of Time, by Terry Pratchett]
%e passage
%e title
#
#
# The Last Hero has never been released in the U.S. (or anywhere?) as a
# conventional mass market paperback.  The large (roughly 10" by 12")
# trade paperback contains many full page color illustrations and most
# text pages include decorations of varying degrees of elaborateness.
# The actual text is probably only novella length.
#
%title The Last Hero (13)
# p. 41 (EOS edition)
%passage 1
Too many people, when listing all the perils to be found in the search
for lost treasure or ancient wisdom, had forgotten to put at the top of
the list 'the man who arrived just before you'.

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 5
# second paragraph is a bit "on the nose" but is too good to leave out
%passage 2
The reason for the story was a mix of many things.  There was humanity's
desire to do forbidden deeds merely because they were forbidden.
There was its desire to find new horizons and kill the people who live
beyond them.  There were the mysterious scrolls.  There was the cucumber.
But mostly there was the knowledge that one day, it would all be over.

'Ah, well, life goes on,' people say when someone dies.  But from the
point of view of the person who has just died, it doesn't.  It's the
universe that goes on.  Just as the deceased was getting the hang of
everything it's all whisked away, by illness or accident or, in one
case, a cucumber.  Why this has to be is one of the imponderables of
life, in the face of which people either start to pray...
or become really, really angry.

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 19
%passage 3
'And they're /heroes/,' said Mr Betteridge of the Guild of Historians.

'And that means, exactly?' said the Patrician, sighing.

'They're good at doing what they want to do.'

'But they are also, as I understand it, very old men.'

'Very old /heroes/,' the historian corrected him.  'That just means
they've had a lot of /experience/ in doing what they want to do.

Lord Vetinari sighed again.  He did not like to live in a world of
heroes.  You had civilisation, such as it was, and you had heroes.

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 25
%passage 4
They were, all of them, old men.  Their background conversation was
a litany of complaints about feet, stomachs and backs.  They moved
slowly.  But they had a /look/ about them.  It was in their eyes.

Their eyes said that wherever it was, they had been there.  Whatever
it was, they had done it, sometimes more than once.  But they would
never, ever, /buy/ the T-shirt.  And they /did/ know the meaning of
the word 'fear'.  It was something that happened to other people.

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 97
%passage 5
Captain Carrot saluted.  'Force is always the last resort, sir,' he said.

'I believe for Cohen it's the first choice,' said Lord Vetinari.

'He's not too bad if you don't come up behind him suddenly,' said Rincewind.

'Ah, there is the voice of our mission specialist,' said the Patrician.
'I just hope--  What is that on your badge, Captain Carrot?'

'Mission motto, sir,' said Carrot cheerfully.  '/Morituri Nolumus Mori/.
Rincewind suggested it.'

'I imagine he did,' said Lord Vetinari, observing the wizard coldly.
'And would you care to give us a colloquial translation, Mr Rincewind?'

'Er...' Rincewind hesitated, but there really was no escape.  'Er...
roughly speaking, it means, "We who are about to die don't want to", sir.'

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 125 (near top, then continued half way down)
%passage 6
'A good wizard, Rincewind,' said the Chair of Indefinite Studies.  'Not
particularly bright, but, frankly, I've never been quite happy with
intelligence.  An overrated talent, in my humble opinion.'

Ponder's ears went red.

[...]

'Mr Stibbons was right, was he?' said Ridcully, staring at Ponder.  'How
did you work that out so /exactly/, Mr Stibbons?'

'I, er...' Ponder felt the eyes of the wizards on him.  'I--' He stopped.
'It was a lucky guess, sir.'

The wizards relaxed.  They were extremely uneasy with cleverness, but
lucky guessing was what being a wizard was all about.

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 146
%passage 7
Evil Harry looked down and shuffled his feet, his face a battle between
pride and relief.

'Good of you to say that, lads,' he mumbled.  'I mean, you know, if it
was up to me I wouldn't do this to yer, but I got a reputation to--'

'I said we /understand/,' said Cohen.  'It's just like with us.  You see
a big hairy thing galloping towards you, you don't stop to think:  Is
this a rare species on the point of extinction?  No, you hack its head
off.  'Cos that's heroing, am I right?  An' /you/ see someone, you
betray 'em, quick as a wink.  'Cos that's villaining.'

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
#
# 6 new passages added for 5.0
#
# p. 16
%passage 8
The wizards began to gather around the device.

'Can you see into the future?' said Lord Vetinari.

'In /theory/ yes, sir.' said Ponder.  'But that would be highly... well,
inadvisable, you see, because initial studies indicate that the fact of
observation would collapse the waveform in phase space.'

Not a muscle moved on the Patrician's face.

'Pardon me, I'm a little out of date on faculty staff,' he said.  'Are you
the one who has to take the dried frog pills?'

'No, sir.  That's the Bursar, sir,' said Ponder.  'He has to have them
because he's insane, sir.'

'Ah,' said Lord Vetinari, and now he /did/ have an expression.  It was that
of a man resolutely refraining from saying what was on his mind.

'What Mr Stibbons /means/, my lord,' said the Archancellor, 'is that there
are billions and billions of futures that, er, /sort of/ exist, d'yer see?
They're all... the possible /shapes/ of the future.  But apparently the
first one you actually /look/ at is the one that /becomes/ the future.
It might not be one you'd like.  Apparently it's all to do with the
Uncertainty Principle.'

'And that is...'

'I'm not sure.  Mr Stibbons is the one who knows about that sort of thing.'

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 31 (Leonard of Quirm is heading up a project for Lord Vetinari and
#        describing requirements)
%passage 9
[...]

'And the help of, oh, sixty apprentices and journeymen from the Guild of
Cunning Artificers.  Perhaps there should be a hundred.  They will need to
work round the clock.'

'Apprentices?  But I can see to it that the finest craftsmen--'

Leonard held up a hand.

'Not craftsmen, my lord,' he said.  'I have no use for people who have
learned the limits of the possible.'

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 80
%passage 10
'I'd rather die than sign my name,' said Boy Willie.

'I'd rather face a dragon,' said Caleb.  'One of the proper old ones, too,
not the fireworky ones you get today.'

'Once they get you signin' your name, they've got you where they want you,'
said Cohen.

'Too many letters,' said Truckle.  'All different shapes, too.  I always
put an X.'

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 97
%passage 11
He hesitated.  Lord Vetinari was not a man who delighted in the technical.
There were two cultures, as far as he was concerned.  One was the real
one, the other was occupied by people who liked machinery and ate pizza
at unreasonable hours.

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 122 (/Kite/ is the ship's name)
%passage 12
On the /Kite/, the situation was being 'workshopped.'  This is the means by
which people who don't know anything get together to pool their ignorance.

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e passage
# p. 161 (Carrot and Rincewind are wondering about the fate of Cohen and
#         "the Silver Horde" who seem to have plummeted to certain death)
%passage 13
'There's always hope.'

'So?  There's always taxes, too.  It doesn't make any /difference/.

Carrot sighed and straightened up.  'I wish you weren't right.'

  [The Last Hero, written by Terry Pratchett, illustrated by Paul Kidby]
%e title
#
#
# _The_Amazing_Maurice_and_His_Educated_Rodents_ (sometimes spelled with
# "his" uncapitalized--the book itself uses all uppercase on both the
# cover and the title page so doesn't help resolve which is correct...)
# was the first of six Discworld books marketed for "Young Adults" (at
# least in the US), ages 12 to 16 give or take, so tended to be stocked
# on different shelves from the rest of Discworld in book stores and
# libraries.  In the UK, _The_Amazing_Maurice..._ won the Carnegie Medal
# which is awarded for best children's book of the year.
# (The other Young Adult Discworld books are the five Tiffany Aching ones.)
#
# "Mr so-called Amazing Maurice and His Educated Rodents!" (the characters
# rather than the book named for them) were first mentioned--in passing
# rather than part of the story--about 1/3 of the way through _Reaper_Man_.
# (p. 115, ROC edition; the text there does capitalize 'His'; 'Mr' without
# period is accurate; the exclamation is derogatory).
#
# _The_Amazing_Maurice..._ may well be the most serious Discworld book.
# (Don't worry, it has lots of humor/humour in it....)
#
%title The Amazing Maurice and His Educated Rodents (14)
# p. 68 (Harperteen edition; _Mr._Bunnsy_Has_an_Adventure_ is a book
#        within the book, and a brief quote is shown at the beginning
#        of each chapter.  This one is from the start of chapter 4.)
%passage 1
The important thing about adventures, thought Mr. Bunnsy, was that they
shouldn't be so long as to make you miss mealtimes.

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 9 (passage starts mid-paragraph)
%passage 2
"Stealing from a thief isn't stealing, 'cos it cancels out."

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# pp. 11-12 (rats became intelligent from eating wizards' trash just outside
#            one of the walls of Unseen University; Maurice insists that he
#            never did that, implying that he'd eaten some of the rats instead
#            [never explicitly stated] before he became intelligent himself)
%passage 3
They said he was amazing.  The Amazing Maurice, they said.  He'd never
meant to be amazing.  It just happened.

He'd realized something was odd that day, just after lunch, when he'd
looked into a reflection in a puddle and thought, /that's me/.  He'd never
been /aware/ of himself before.  Of course it was hard to remember /how/
he'd thought before becoming amazing.  It seemed to him that his mind had
been just a kind of soup.

And then there had been the rats, who lived under the rubbish heap in one
corner of his territory.  He'd realized there was something educated
about the rats when he'd jumped on one and it'd said, "Can we talk about
this?" and part of his amazing new brain had told him you couldn't eat
someone who could talk.  At least, not until you'd heard what it'd got
to say.

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 32 (Maurice the cat, Keith the human boy, and the intelligent rat clan are
#        in the town of Bad Blintz; people are queuing up for rationed food)
%passage 4
"Shall we line up too?" asked the kid.

"I shouldn't think so," said Maurice carefully.

"Why not?"

"See those men on the door?  They look like the Watch.  They've got big
truncheons.  And everyone's showing them a bit of paper as they go past.
I don't like the look of that," said Maurice.  "That looks like
/government/ to me."

"We haven't done anything wrong," said the kid.  "Not here, anyway."

"You never know, with governments," said Maurice.  "Just stay here kid.
I'll take a look."

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 52 (speaker is Darktan, the traps expert; "Number One" platoon seems
#        like an obvious joke here--missed deliberately or accidentally?)
%passage 5
"All right, Number Three platoon, you're on widdling duty," he said.  "Go
and have a good drink."

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 110 (opening quote for chapter 6)
%passage 6
There were big adventures and small adventures, Mr. Bunnsy knew.  You
didn't get told what size they were going to be before you started.
Sometimes you could have a big adventure even when you were standing
still.

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# pp. 127-128 (searching for a secret door...)
%passage 7
Malicia leaned against the wall with incredible nonchalance.

There was not a click.  A panel in the floor did not slide back.

"Probably the wrong place," she said.  "I'll just rest my arm innocently
on this coat hook."

A sudden door in the wall completely failed to happen.

"Of course, it'd help if there was an ornate candlestick," said Malicia.
"They're always a surefire secret-passage lever.  Every adventurer knows
that."

"There isn't a candlestick," said Maurice.

"I know.  Some people totally fail to have any /idea/ of how to design a
proper secret passage," said Malicia.  She leaned against another piece
of wall, which had no affect whatsoever.

"I don't think you'll find it that way," said Keith, who was carefully
examining a trap.

"Oh?  Won't I?" said Malicia.  "Well at least I'm being /constructive/
about things!  Where would you look, if you're such an expert?"

"Why is there a rat hole in a rat catcher's shed?" said Keith.  "It smells
of dead rats and wet dogs and poison.  I wouldn't come near this place,
if I was a rat."

Malicia glared at him.  Then her face wrapped itself in an expression of
acute concentration, as if she was trying out several ideas in her head.

"Ye-es," she said.  "That usually works, in stories.  It's often the stupid
person who comes up with the good idea by accident."

She crouched down and peered into the hole.

"There's a sort of little lever," she said.  "I'll just give it a little
push...."

There was a /clonk/ under the floor, part of it swung back, and Keith
dropped out of sight.

"Oh, yes," said Malicia.  "I thought something like that would probably
happen."

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 231 (passage ends mid-paragraph)
%passage 8
He had to admit that he was cleverer at plans than at underground
navigation.  He wasn't exactly lost, because cats never get lost.  He
merely didn't know where everything else was.

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# pp. 298-300 (Keith has challenged the professional rat piper and offered
#              to rid the town of rats for a much lower price; Sardines is
#              one of the Educated Rodents, known for dancing all the time;
#              "hwun/two/three/four/" is run-together "one /two/ three /four/";
#              quite a long passage primarily for the 'a bit more grimy' gag)
%passage 9
[...]
"But first I shall need to borrow a pipe," Keith went on.

"You haven't got one?" asked the mayor.

"It got broken."

Corporal Knopf nudged the mayor.  "I've got a trombone from when I was in
the army," he said.  "It won't take a moment to get it."

The rat piper burst out laughing.

"Doesn't that count?" asked the mayor, as Corporal Knopf hurried off.

"What?  A trombone for charming rats?  No, no, let him try.  Can't blame
a kid for trying.  Good with a trombone, are you?"

"I don't know," said Keith.

"What do you mean, you don't know?"

"I meant I've never played one.  I'd be a lot happier with a flute,
trumpet, piccolo, cornet, or Lancre bagpipe, but I've seen people playing
the trombone, and it doesn't look too difficult.  It's only an overgrown
trumpet, really."

"Hah!" said the piper.  "This I'd like to see--but not hear."

The Watch came running back, rubbing a battered trombone with his sleave
and therefore making it just a bit more grimy.  Keith took it, wiped the
mouthpiece, put it to his mouth, moved the slide a few times, and then
blew one long note.

"Seems to work," he said.  "I expect I can learn as I go along."  He gave
the rat piper a brief smile.  "Do you want to go first?"

"You won't charm one rat with that mess, kid," said the piper, "but I'm
glad I'm here to see you try."

Keith gave him a smile again, took a breath, and played.

There was a tune there.  The instrument squeaked and wheezed, because
Corporal Knopf had occasionally used the thing as a hammer, but there was
a tune, quite fast, almost jaunty.  You could tap your feet to it.

Someone tapped his feet to it.

Sardines emerged from a crack in a nearby wall, going "hwun/two/three/four/"
under his breath.  The crowd watched him dance ferociously across the
cobbles until he disappeared into a drain.  Then they broke into applause.

The piper looked at Keith.

"Did that one have a /hat/ on?" he asked.

"I didn't notice," said Keith.  "Your go."

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# pp. 309-310
%passage 10
"You really /can/ talk?  You can think?" asked the mayor.

Darktan looked up at him.  It had been a long night.  He didn't want to
remember any of it.  And now it was going to be a longer, harder day.
He took a deep breath.

"Here's what I suggest," he said.  "You pretend that rats can think, and
I'll promise to pretend that humans can think, too."

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
#
# 4 new passages added for 5.0
#
# p. 19 (passage begins mid-paragraph)
%passage 11
If you knew what it was that people really, /really/ wanted, you very
nearly controlled them.

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 78
%passage 12
Sardines had pulled his straw hat out of his knapsack and was holding a
small walking stick.

It was a /good/ routine, even Maurice had to admit.  Some towns had
advertised for a rat piper the very first time he'd done it.  People could
tolerate rats in the cream, and rats in the roof, and rats in the teapot,
but they drew the line at tap dancing.  If you saw tap dancing-rats, you
were in big trouble.  Maurice had reckoned that if only the rats could
play an accordion as well, they could do two towns a day.

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 113-114 (mentioned earlier, when Malicia's parents punish her, she's
#             locked out of her bedroom to deny her access to her books)
%passage 13
"Luckily I'm prepared for every eventuality," said Malicia, and reached
into her bag.  There was a sound as of lumps of metal and bottles being
moved around.

"What have you got in here?" said Maurice.  "Everything?"

"The grapnel and rope ladder take up a lot of room," said Malicia still
feeling around.  "And then there's the big medicine kit, and the small
medicine kit, and the knife, and the other knife, and the sewing kit, and
the mirror for sending signals, and... these."

She pulled out a small bundle of black cloth.  When she unrolled it,
Maurice saw the gleam of metal.

"Ah," he said.  "Lock picks, right?  I've seen burglars at work--"

"Hairpins," said Malicia, selecting one.  "Hairpins always work in the
books I've read.  You just push one into the keyhole and twiddle.  I have
a selection of prebent ones."

Once again Maurice felt a little chill at the back of his head.  They work
in /stories/, he thought.  Oh dear me.

"And how come you know so much about picking locks?" he said.

"I told you, they lock me out of my room to punish me," said Malicia,
twiddling.

Maurice /had/ seen thieves at work.  Men breaking into buildings at night
hated to see dogs, but they didn't mind cats.  Cats never attempted to
tear their throats out.  And what thieves tended to have, he knew, were
complicated little tools that were used with great care and precision.
They didn't use stu--

/Click!/

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
# p. 243
%passage 14
Bloodthirsty rats right behind you can give you wings.

  [The Amazing Maurice and His Educated Rodents, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Night Watch (12)
# p. 393
%passage 1
When Mister Safety Catch Is Not On, Mister Crossbow Is Not Your Friend.

  [Night Watch, by Terry Pratchett]
%e passage
# pp. 2-4 (Harper Torch edition; omitted section describes how the student
#          assassin, who has fallen off a booby-trapped shed roof into a
#          cesspit, is on an assignment to try to get into position to
#          target Vimes but not actually attack or try to kill him)
%passage 2
"You're a bit young to be sent on this contract, aren't you?" said Vimes.

"Not a contract, sir," said Jocasta, still paddling.

"Come now, Miss Wiggs.  The price on my head is at least--"

"The Guild council put it in abeyance, sir," said the patient swimmer.
"You're off the register.  They're not accepting contracts on you at
present."

[...]

"And quite a few of the traps drop you into something deadly," said Vimes.

"Lucky for me that I fell into this one, eh, sir?"

"Oh, that one's deadly too," said Vimes.  "/Eventually/ deadly."  He
sighed.  He really wanted to discourage this sort of thing but... they'd
put him off the register?  It wasn't that he'd /liked/ being shot at by
hooded figures in the temporary employ of his many and varied enemies,
but he'd always looked at it as some kind of vote of confidence.  It
showed that he was annoying the rich and arrogant people who ought to be
annoyed.

Besides, the Assassin's Guild was easy to outwit.  They had strict rules,
which they followed quite honorably, and this was fine by Vimes, who, in
certain practical matters, had no rules whatever.

Off the register, eh?  The only other person not on it anymore, it was
rumored, was Lord Vetinari, the Patrician.  The Assassins understood the
political game in the city better than anyone, and if they took you off
the register it was because they felt that your departure would not only
spoil the game but also smash the board.

  [Night Watch, by Terry Pratchett]
%e passage
# p. 12 (some trainee Watchmen have been taught a marching/running song by
#        Sergeant Detritus, a troll; trolls count "one, two, many, lots"
#        and evidently can't go any higher)
%passage 3
    "/Now we sing dis stupid song!/
    /Sing it as we run along!/
    /Why we sing dis we don't know!/
    /We can't make der words rhyme prop'ly!/"
    "Sound off!"
        "/One!  Two!/"
    "Sound off!"
        "/Many!  Lots!/"
    "Sound off!"
        "/Er... what?/"

  [Night Watch, by Terry Pratchett]
%e passage
# p. 137
%passage 4
Everyone was guilty of something.  Vimes knew that.  Every copper knew it.
That was how you maintained your authority--everyone, talking to a copper,
was secretly afraid you could see their guilty secret written on their
forehead.  You couldn't, of course.  But neither were you supposed to drag
someone off the street and smash their fingers with a hammer until they
told you what it was.

  [Night Watch, by Terry Pratchett]
%e passage
# p. 138 (passage starts mid-paragraph)
%passage 5
[...]  Doctor Lawn was wearing a face mask and holding a pair of very long
tweezers in his hand.

"Yes?"

"I'm going out," said Vimes.  "Trouble?"

"Not too bad.  Slidey Harris was unlucky at cards last night, that's all.
Played the ace of hearts."

"That's an unlucky card?"

"It is if Big Tony knows he didn't deal it to you.  But I'll soon have it
removed.  [...]"

  [Night Watch, by Terry Pratchett]
%e passage
# p. 141 ('it' is a piece of paper concealed inside one of CMOT Dibbler's
#         "meat" pies, partly eaten by Vimes but intended for someone else)
%passage 6
He unfolded it.  In smudged pencil, but still readable, it read:
/Morphic Street, 9 o'clock tonight.  Password: Swordfish/.

Swordfish?  Every password was "swordfish"!  Whenever anyone tried to
think of a word that no one would ever guess, they /always/ chose
"swordfish."  It was just one of those strange quirks of the human mind.

  [Night Watch, by Terry Pratchett]
%e passage
# p. 345 (text actually has "worth more *that* AM$10,000"--obviously a typo)
%passage 7
There were rules.  When you had a Guild of Assassins, there had to be rules
that everyone knew and that were never, ever broken.(1)

An Assassin, a real Assassin, had to look like one--black clothes, hood,
boots, and all.  If they could wear any clothes, any disguise, then what
could anyone do but spend all day sitting in a small room with a loaded
crossbow pointed at the door?

And they couldn't kill a man incapable of defending himself (although a
man worth more than AM$10,000 a year was considered automatically capable
of defending himself or at least of employing people who were).

And they had to give the target a chance.

(1) Sometimes, admittedly, for a given value of "never."

  [Night Watch, by Terry Pratchett]
%e passage
# p. 51
%passage 8
"We are here, and this is now."  Constable Visit, a strict believer in
the Omnian religion, occasionally quoted from their holy book.  Vimes
understood it to mean, in less exalted copperspeak, that you have to do
the job that is in front of you.

  [Night Watch, by Terry Pratchett]
%e passage
# p. 85 (Vimes fell through the roof of Unseen University's Library during
#        a thunderstorm and ended up 30 years in the past; the Discworld's
#        "history monks" aren't just observers and Lu-Tze wants to help
#        Vimes get back to same time and circumstances that he came from)
%passage 9
"Oh, for heavens' sake, Lu-Tze!  This is completely unauthorized, you
know!  We're supposed to prune out rogue history loops, not expend vast
amounts of time keeping them going!"

"This one's important.  We owe it to the man.  It wasn't his fault we had
a temporal shattering just as he fell through the dome."

"Two timelines running side by side," moaned Qu.  "That's quite
unacceptable, you know.  I'm having to use techniques that are completely
untried."

"Yes, but it's only a few days."

"What about Vimes?  Is he strong enough?  He's got no training for this!"

"He defaults to being a copper.  A copper's a copper, wherever he is."

  [Night Watch, by Terry Pratchett]
%e passage
# p. 198 (young assassin is Vetinari, well before he eventually becomes
#         Patrician; Sam Vimes is living as John Keel, a Watch sergeant,
#         and among other things, training his younger self to be a Watchman)
%passage 10
"Really?  That doesn't sound like Swing.  How much do I owe you."

The young man called Havelock gave a shrug.  "Call it a dollar," he said.

"That's very cheap."

"He wasn't worth more.  I should warn you, though.  Soon you may want me
to deal with Keel."

"Surely someone like him wouldn't side with people like Winder and Swing?"

"He's a side all by himself.  He's a complication.  You may think it best
if he... ceased to complicate."

The rattling of the coach underlined the silence this remark caused.  It
was moving through a richer part of the city now, where there was more
light and the curfew, being for poorer people, was less rigorously
observed.  The figure opposite the Assassin stroked the cat on her lap.

"No.  He'll serve some purpose," said Madam.  "Everyone is telling me
about Keel.  In a world where we all move in curves he proceeds in a
straight line.  And going straight in a world of curves makes things
happen."

  [Night Watch, by Terry Pratchett]
%e passage
# p. 199 (this is a continuation of the conversation in passage 10, with
#         several paragraphs leading to it skipped; topic is now about a
#         rare book that has callously been destroyed; a sentence about
#         "dark green" is omitted)
%passage 11
"Ah.  It contained information of value.  [...]  Will you tell me?"

"I /could/ tell you."  Havelock smiled again.  "But then I would have to
find someone to pay me to kill you."

  [Night Watch, by Terry Pratchett]
%e passage
# p. 250
%passage 12
People on the side of The People always ended up disappointed, in any
case.  They found that The People tended not to be grateful or
appreciative or forward-thinking or obedient.  The People tended to
be small-minded and conservative and not very clever and were even
distrustful of cleverness.  And so, the children of the revolution
were faced with the age-old problem:  it wasn't that you had the wrong
kind of government, which was obvious, but that you had the wrong kind
of people.

As soon as you saw people as things to be measured, they didn't measure
up.

  [Night Watch, by Terry Pratchett]
%e passage
%e title
#
#
#
%title The Wee Free Men (13)
# p. 100 (HarperTempest edition; quin==queen;
#         this rallying cry occurs multiple times; p. 167 has "/Nae quin!
#         Nae king!  Nae laird!  Nae master!  We willna be fooled again!/",
#         p. 193 has same except that King and Quin are reversed and
#         capitalized, p. 287 has "/Nae Quin!  Nae Laird!  Wee Fee Men!/")
%passage 1
"Nac Mac Feegle!  The Wee Free Men!  Nae king!  Nae quin!  Nae laird!  Nae
master!  /We willna be fooled again!/"

  [The Wee Free Men, by Terry Pratchett]
%e passage
# pp. 18-19 (unlike in Lancre and its surrounding Ramtop mountains, witches
#           are unwelcome in the Chalk; the first paragraph continues with
#           mention of things Miss Tick doesn't carry, then things she does,
#           ending with 'and, of course, a lucky charm.')
%passage 2
Miss Tick did not look like a witch.  Most witches don't, at least the ones
who wander from place to place.  Looking like a witch can be dangerous when
you walk among the uneducated.  [...]

Everyone in the country carried lucky charms, and Miss Tick had worked out
that if you didn't have one, people would suspect that you /were/ a witch.
You had to be a bit cunning to be a witch.

Miss Tick did have a pointy hat, but it was a stealth hat and pointed only
when she wanted it to.

The one thing in her bag that might have made anyone suspicious was a very
small, grubby booklet entitled /An Introduction to Escapology, by the
Great Williamson/.  If one of the risks of your job is being thrown into a
pond with your hands tied together, then the ability to swim thirty yards
underwater, fully clothed, plus the ability to lurk under the weeds
breathing air through a hollow reed, count as nothing if you aren't also
/amazingly/ good at knots.

  [The Wee Free Men, by Terry Pratchett]
%e passage
# pp. 29-30 ('pune' is accurate; a mispronunciation of 'pun', as indicated
#            by the footnote; one wonders how a nine year old farm girl knows
#            how to pronounce 'mystique'...)
%passage 3
"My name," she said at last, "is Miss Tick.  And I /am/ a witch.  It's a
good name for a witch, of course."

"You mean blood-sucking parasite?" said Tiffany, wrinkling her forehead.

"I'm sorry," said Miss Tick, coldly.

"Ticks," said Tiffany.  "Sheep get them.  But if you use turpentine--"

"I /meant/ that it /sounds/ like 'mystic,'" said Miss Tick.

"Oh, you mean a pune, or play on words," said Tiffany.(1)  "In that case it
would be even better if you were Miss /Teak/, a dense foreign wood, because
that would sound like 'mystique,' or you could be Miss Take, which would--"

"I can see we're going to get on like a house on fire," said Miss Tick.
"There may be no survivors."

(1) Tiffany had read lots of words in the dictionary that she'd never heard
spoken, so she had to guess at how they were pronounced.

  [The Wee Free Men, by Terry Pratchett]
%e passage
# pp. 64-65
%passage 4
There was a lot of mist around, but a few stars were visible overhead and
there was a gibbous moon in the sky.  Tiffany knew it was gibbous because
she'd read in the Almanack that /gibbous/ means what the moon looked like
when it was just a bit fatter than half full, and so she made a point of
paying attention to it around those times just so that she could say to
herself, "Ah, I see the moon's very gibbous tonight."

It's possible that this tells you more about Tiffany than she would want
you to know.

  [The Wee Free Men, by Terry Pratchett]
%e passage
# p. 159 (bigjob: pictsie term for human; 'heid', 'dinna', 'canna', 'noo',
#         'aroound', and 'Tiffan' are accurate)
%passage 5
"[...]  Ye have the First Sight and the Second Thoughts, just like yer
Granny.  That's rare in a bigjob."

"Don't you mean Second Sight?" Tiffany asked.  "Like people who can see
ghosts and stuff?"

"Ach, no.  That's typical bigjob thinking.  /First Sight/ is when you can
see what's really there, not what your heid tells you /ought/ to be there.
Ye saw Jenny, ye saw the horseman, ye saw them as real thingies.  Second
sight is dull sight, it's seeing only what you expect to see.  Most bigjobs
ha' that.  Listen to me, because I'm fadin' noo and there's a lot you dinna
ken.  Ye think this is the whole world?  That is a good thought for sheep
and mortals who dinna open their eyes.  Because in truth there are more
worlds than stars in the sky.  Understand?  They are everywhere, big and
small, close as your skin.  They are /everywhere/.  Some ye can see an'
some ye canna, but there are doors, Tiffan.  They might be a hill or a
tree or a stone or a turn in the road, or they might e'en be a thought in
yer heid, but they are there, all aroound ye.  You'll have to learn to see
'em, because you walk among them and dinna know it.  And some of them...
is poisonous."

  [The Wee Free Men, by Terry Pratchett]
%e passage
# p. 193 (source text is all italics here; passage continues with the speakers
#         getting in synch and shouting the cry from passage 1)
%passage 6
"They can tak' oour lives but they canna tak' oour troousers!"

"Ye'll tak' the high road an' I'll tak' yer wallet!"

"There can only be one t'ousand!"

"Ach, stick it up yer trakkans!"

  [The Wee Free Men, by Terry Pratchett]
%e passage
# p. 227 (also all italics; end of a reminiscence of Granny Aching by Tiffany)
%passage 7
"Them as can do has to do for them as can't.  And someone has to speak up
for them as has no voices."

  [The Wee Free Men, by Terry Pratchett]
%e passage
# p. 287 (like passage 6, this ties back to passage 1; the cry there is
#         one of the things Tiffany hears)
%passage 8
Tiffany might have been the only person, in all the worlds that there are,
to be happy to hear the sound of the Nac Mac Feegle.

They poured out of the smashed nut.  Some were still wearing bow ties.
Some were back in their kilts.  But they were all in a fighting mood and,
to save time, were fighting with one another to get up to speed.

  [The Wee Free Men, by Terry Pratchett]
%e passage
# pp. 313-314 (passage starts mid-paragraph; 'mebbe' and 'oour' are accurate)
%passage 9
"[...]  Can you bring Wentworth?"

"Aye."

"And you won't get lost or--or drunk or anything?"

Rob Anybody looked offended.  "We ne'er get lost!" he said.  "We always ken
where we are!  It's just sometimes mebbe we aren't sure where everything
else is, but it's no' our fault if /everything else/ gets lost!  The Nac
Mac Feegle never get lost!"

"What about drunk?" said Tiffany, dragging Roland toward the lighthouse.

"We've ne'er been lost in oour lives!  Is that no' the case, lads?" said
Rob Anybody.  There was a murmur of resentful agreement.  "The words /lost/
and /Nac Mac Feegle/ shouldna turn up in the same sentence!"

"And drunk?" said Tiffany again, laying Roland down on the beach.

"Gettin' lost is something that happens to other people!" declared Rob
Anybody.  "I want to make that point perfectly clear!"

  [The Wee Free Men, by Terry Pratchett]
%e passage
# pp. 2-3 (passage begins mid-paragraph)
%passage 10
The lowlands weren't good to witches.  Miss Tick was making pennies by
doing bits of medicine and misfortune-telling,(1) and slept in barns
most nights.  She'd twice been thrown into ponds.

(1) Ordinary fortune-tellers tell you what you /want/ to happen; witches
tell you what's going to happen whether you want it to or not.  Strangely
enough, witches tend to be more accurate but less popular.

  [The Wee Free Men, by Terry Pratchett]
%e passage
# pp. 103-104 (passage ends mid-paragraph; the talking toad has been loaned
#              from Miss Tick to Tiffany; it is apparently a transformed human
#              lawyer [Feegles' swords don't glow in its presence though :-]
#              'ye', 'agin', 'distrainment', and hyphenated 'comp-li-cated'
#              are all accurate)
%passage 11
"I'm the Big Man o' the clan, mistress," he said.  "An' my name it is..."
he swallowed.  "Rob Anybody Feegle, mistress.  But I beg ye not to use it
agin me!"

The toad was ready for this.

"They think names have magic in them," he murmured.  "They don't tell them
to people in case they are written down."

"Aye, an' put upon comp-li-cated documents," said a Feegle.

"An' summonses and such things," said another.

"Or 'Wanted' posters," said another.

"Aye, an' bills an' affidavits," said another.

"Writs of distrainment, even!"  The Feegles looked around in panic at the
very thought of written-down things.

"They think written words are even more powerful," whispered the toad.
"They think all writing is magic.  Words worry them.  See their swords?
They glow in the presence of lawyers."

"All /right/," said Tiffany.  "We're getting somewhere.  I promise not
to write his name down.  [...]"

  [The Wee Free Men, by Terry Pratchett]
%e passage
# p. 130 ('whut' for 'what' is accurate)
%passage 12
"Whut's the plan, Rob?" said one of them.

"Okay, lads, this is what we'll do.  As soon as we see somethin', we'll
attack it.  Right?"

This caused a cheer.

"Ach, 'tis a good plan," said Daft Wullie.

  [The Wee Free Men, by Terry Pratchett]
%e passage
# p. 145 (passage ends mid-paragraph)
%passage 13
"On your honor as a drunken rowdy thief?" said Tiffany.

Rob Anybody beamed.  "Aye!" he said.  "An' I got a lot of good big
reputation to protect there!  [...]"

  [The Wee Free Men, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Monstrous Regiment (12)
# pp. 44-45 (page citation if for Harper Torch Edition; that uses double
#            quotes so the transciption came from some other edition)
%passage 1
'How can you protect yourself by carrying a sword if you don't know how
to use it?'

'Not me, sir.  Other people.  They see the sword and don't attack me,'
said Maladict patiently.

'Yes, but if they did, lad, you wouldn't be any good with it,' said the
sergeant.

'No, sir.  I'd probably settle for just ripping their heads off, sir.
That's what I mean by protection, sir.  Theirs, not mine.  And I'd get
hell from the League if I did that, sir.'

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# p. 6 (Harper Torch edition)
%passage 2
/There was always a war./  Usually they were border disputes, the national
equivalent of complaining that the neighbor was letting their hedge grow
too long.  Sometimes they were bigger.  Borogravia was a peace-loving
country in the midst of treacherous, devious, warlike enemies.  They had
to be treacherous, devious, and warlike, otherwise we wouldn't be fighting
them, eh?  There was always a war.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# pp. 115-116 (plural 'forests' is odd but accurate [1st sentence];
#              so is 'knew' which ought to be 'known' [4th paragraph];
#              9 '0's and 7 '0's are accurate too)
%passage 3
A pigeon rose over the forests, banked slightly, and headed straight for
the valley of the Kneck.

Even from here, the black stone bulk of the Keep was visible, rising above
the sea of trees.  The pigeon sped on, one spark of purpose in the fresh
new morning--

--and squawked as darkness dropped from the sky, gripping it in talons of
steel.  Buzzard and pigeon tumbled for a moment, and then the buzzard
gained a little height and flapped onwards.

The pigeon thought: 000000000.  But had it been more capable of coherent
thought, and knew something about how birds of prey caught pigeons,(1) it
might have wondered why it was being gripped so... kindly.  It was being
held, not squeezed.  As it was, all it could think was 0000000!

(1) And allowing for the fact that all pigeons who knew how birds of prey
catch pigeons are dead, and therefore capable of slightly less thought
than a living pigeon.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# p. 131
%passage 4
"All the food's been taken but there's carrots and parsnips in a little
garden down the hill a bit," Shufti said as they walked away.

"It'd be s-stealing from the dead," said Wazzer.

"Well, if they object they can hold on, can't they?" said Shufti.  "They're
underground already!"

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# p. 160
%passage 5
"And there you have it, Sergeant Towering," said the lieutenant, turning
to the prisoner.  "Of course, we all know there is some atrocious behavior
in times of war, but it is not the sort of thing we would expect of a
royal prince.(1)  If we are to be pursued because a gallant young soldier
prevented matters from becoming even more disgusting, then so be it."

(1) Lieutenant Blouse read only the more technical history books.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# p. 176 (fire: almost certainly to make tea)
%passage 6
There are three things a soldier wants to do when there's a respite on the
road.  One involves lighting a cigarette, one involves lighting a fire,
and the other involves no flames at all but does, generally, require a
tree.(1)

(1) Technically, a tree is not required, but seems to be insisted upon for
reasons of style.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# p. 179 ('humor': American spelling is accurate)
%passage 7
Maladict dropped his crossbow, which fired straight up into the air,(1)
and sat down with his head in his hands.

(1) And failed to hit anything, especially a duck.  This is so unusual
in situations like this that it must be reported under the new humor
regulations.  If it had hit a duck, which quacked and landed on somebody's
head, this would, of course, have been very droll and would certainly have
been reported.  Instead, the arrow drifted in the breeze a little on the
way and landed in an oak tree some thirty feet away, where it missed a
squirrel.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# p. 284 (soldiers disguised as washerwomen in order to sneak into an
#         enemy-controlled castle have been put to work doing the laundry)
%passage 8
"Look at this, will you?" said Shufti, waving a sodden pair of men's long
pants at her.  "They keep putting the colors in with the whites."

"Well, so what?  These are /enemy/ long johns," said Polly.

"Yes, but there's such a thing as doing it properly!  Look, they put in
this red pair and all the others are going pink."

"And?  I used to love pink when I was about seven."(1)

"But pale pink?  On a man?"

Polly looked at the next tub for a moment and patted Shufti on the shoulder.

"Yes.  It is /very/ pale, isn't it?  You'd better find a couple more red
items," she said.

"But that'll make it even worse--" Shufti began.

"That was an /order/, soldier," Polly whispered in her ear.  "And add some
starch."

"How much?"

"All you can find."

(1) It is an established fact that, despite everything society can do,
girls of seven are magnetically attracted to the color pink.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
#
# 4 new passages added for 5.0
#
# p. 114 (the sergeant known as "Threeparts" is a bit daft, but Polly does
#         eventually walk with Death--not die, just walk and talk with him)
%passage 9
"Best of luck, lads," he added cheerfully.  "You'll walk with Death every
day, but I've seen 'im and he's been known to wink.  And remember:  fill
your boots with soup!"

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# pp. 191-192 (passage starts mid-paragraph; speaker is William de Worde,
#              writer/editor/publisher of Ankh-Morpork's leading newspaper)
%passage 10
"[...]  You see, the curious thing is that although Ankh-Morpork is probably
the biggest bully around, in a subtle kind of way, we nevertheless have a
soft spot for people who stand up to bullies.  Especially royal ones.  We
tend to be on their side, provided it doesn't cost us too much."

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# pp. 211-212 (passage starts mid-paragraph)
%passage 11
The presence of those seeking the truth is infinitely to be preferred to
the presence of those who think they've found it.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
# p. 225 ("[Sam Vimes]" inserted for clarity)
%passage 12
He [Sam Vimes] swore under his breath.  Prince Heinrich had inherited the
throne in a country where the chief export was a kind of hand-painted
wooden clog, but in ten years, he vowed, his capital city of Rigour would
be "the Ankh-Morpork of the mountains!"

For some reason, he thought Ankh-Morpork would be pleased about this.

He was anxious, he said, to learn the Ankh-Morpork way of doing things, the
kind of innocent ambition that could well lead to an aspiring leader...
well, finding out the Ankh-Morpork way of doing things.  Heinrich had a
reputation locally for cunning, but Ankh-Morpork had overtaken cunning a
thousand years ago, had sped past devious, had left artful far behind, and
had now, by a roundabout route, arrived at straightforward.

  [Monstrous Regiment, by Terry Pratchett]
%e passage
%e title
#
#
#
%title A Hat Full of Sky (13)
# p. 405 (HarperTempest edition)
%passage 1
Why do you go away?  So that you can come back.  So that you can see the
place you came from with new eyes and extra colors.  And the people there
see you differently, too.  Coming back to where you started is not the
same as never leaving.

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# pp. 11-12
%passage 2
Miss Tick was a sort of witch finder.  That seemed to be how witchcraft
worked.  Some witches kept a magical lookout for girls who showed promise,
and found them an older witch to help them along.  They didn't teach you
how to do it.  They taught you how to know what you were doing.

Witches were a bit like cats.  They didn't much like one another's company,
but they /did/ like to know where all the other witches were, just in case
they needed them.  And what you might need them for was to tell you, as a
friend, that you were beginning to cackle.

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 31
%passage 3
"Oh," said Miss Tick.  But because she was a teacher as well as a witch,
and probably couldn't help herself, she added, "The funny thing is, of
course, that officially there is no such thing as a white horse.  They're
called gray."(1)

(1) She had to say that because she was a witch and a teacher, and that's
a terrible combination.  They want things to be /right/.  They like things
to be /correct/.  If you want to upset a witch, you don't have to mess
around with charms and spells--you just have to put her in a room with a
picture that's hung slightly crooked and watch her squirm.

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 51
%passage 4
"Oh," she said.  "It's like cat's cradle."

"You've played that, have you?" said Miss Tick vaguely, still
concentrating.

"I can do all the common shapes," said Tiffany.  "The Jewels and the
Cradle and the House and the Flock and the Three Old Ladies, One With a
Squint, Carrying the Bucket of Fish to Market When They Meet the Donkey,
although you need two people for that one, and I only ever did it once,
and Betsy Tupper scratched her nose at the wrong moment and I had to get
some scissors to cut her loose..."

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 106 (passage starts mid-paragraph; 'doon' is accurate)
%passage 5
"[...]  It's a bad case o' the thinkin' he's caught, missus.  When a man
starts messin' wi' the readin' and the writin', then he'll come doon with
a dose o' the thinkin' soon enough.  I'll fetch some o' the lads and we'll
hold his head under water until he stops doin' it--'tis the only cure.  It
can kill a man, the thinkin'."

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 107 ('braked', 'Polis'men', 'dinna' all accurate)
%passage 6
"I never braked my word yet," said Rob.  "Except to Polis'men and other o'
that kidney, ye ken, and they dinna count."

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 111 (passage starts mid-paragraph; 'land o' the living': the Nac Mac
#         Feegle believe that they're dead and are on Discworld because it
#         is heaven, also that if they die on Discworld they'll be reborn
#         on their "real world"; 'big wee hag': Tiffany, apprentice witch
#	  [big: she's human, wee: she's still a child, hag: she's a witch])
%passage 7
"[...]  Now lads, ye ken all about hivers.  They cannae be killed!  But
'tis oor duty to save the big wee hag, so this is, like, a sooey-side
mission and ye'll probably all end up back in the land o' the living
doin' a borin' wee job.  So... I'm askin' for volunteers!"

Every Feegle over the age of four automatically put his hand up.

"Oh, come /on/," said Rob.  "You canna /all/ come!  Look, I'll tak'...
Daft Wullie, Big Yan, and you... Awf'ly Wee Billy Bigchin.  An' I'm takin'
no weans, so if yez under three inches high, ye're not comin'!  Except
for ye, o' course, Awf'ly Wee Billy.  As for the rest of youse, we'll
settle this the traditional Feegle way.  I'll tak' the last fifty men
still standing!"

He beckoned the chosen three to a place in the corner of the mound while
the rest of the crowd squared up cheerfully.  A Feegle liked to face
enormous odds all by himself, because it meant you didn't have to look
where you were hitting.

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 114 (passage starts mid-paragraph)
%passage 8
[...]  It was a mad, desperate plan, which was very dangerous and risky
and would require tremendous strength and bravery to make it work.

Put like that, they agreed to it instantly.

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 225 (last paragraph continues--they didn't understand the contents
#         since most pictsies can't read)
%passage 9
"Oh, aye?" he said.  "We looked at her diary loads o' times.  Nae harm
done."

"You /looked/ at her /diary/?" said Miss Level, horrified.  "Why?"

Really, she thought later, she should have expected the answer.

"Cuz it wuz locked," said Daft Wullie.  "If she didna want anyone tae look
at it, why'd she keep it at the back o' her sock drawer?  [...]"

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 240 (passage starts mid-paragraph; 'frannit' is accurate)
%passage 10
"[...]  All we need tae do is frannit a wheelstone on it and it'll tak' us
right where she is."(1)

(1) If anyone knew what this meant, they'd know a lot more about the Nac
Mac Feegle's way of traveling.

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 351 (the hiver's dialog is telepathic--internal would be more
#         accurate--and occurs in italics without quote marks)
%passage 11
Tiffany took a deep breath.  This was about words, and she knew about
words.  "Here is a story to believe," she said.  "Once we were blobs in
the sea, and then fishes, and then lizards and rats, and then monkeys,
and hundreds of things in between.  This hand was once a fin, this hand
once had claws!  In my human mouth I have the pointy teeth of a wolf and
the chisel teeth of a rabbit and the grinding teeth of a cow!  Our blood
is as salty as the sea we used to live in!  When we're frightened, the
hair on our skin stands up, just like it did when we had fur.  We /are/
history!  Everything we've ever been on the way to becoming us, we still
are.  Would you like to hear the rest of the story?"

/Tell us/, said the hiver.

"I'm made up of the memories of my parents and grandparents, all my
ancestors.  They're in the way I look, in the color of my hair.  And I'm
made up of everyone I've ever met who's changed the way I think.  So who
is 'me'?"

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
#
# 2 new passages added for 5.0
#
# p. 124 (first speaker is Tiffany)
%passage 12
"Well, couldn't you help him by magic?"

"I'll see to it that he's in no pain, yes," said Miss Level.

"But that's just herbs."

"It's still magic.  Knowing things is magical, if other people don't know
them."

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
# p. 405 (passage starts mid-paragraph, actually the next one after passage 1)
%passage 13
Joy is to fun what the deep sea is to a puddle.  It's a feeling inside that
can hardly be contained.

  [A Hat Full of Sky, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Going Postal (13)
%passage 1
What was magic, after all, but something that happened at the snap of
a finger?  Where was the magic in that?  It was mumbled words and weird
drawings in old books and in the wrong hands it was dangerous as hell,
but not one half as dangerous as it could be in the right hands.

  [Going Postal, by Terry Pratchett]
%e passage
# p. 5 (Harper Torch edition)
%passage 2
They say that the prospect of being hanged in the morning concentrates
a man's mind wonderfully; unfortunately, what the mind inevitably
concentrates on is that, in the morning, it will be in a body that is
going to be hanged.

  [Going Postal, by Terry Pratchett]
%e passage
# p. 18
%passage 3
There is a saying, "You can't fool an honest man," which is much quoted
by people who make a profitable living by fooling honest men.  Moist
never tried it, knowingly anyway.  If you did fool an honest man, he
tended to complain to the local Watch, and these days they were harder
to buy off.  Fooling dishonest men was a lot safer, and somehow, more
sporting.  And, of course, there were so many more of them.  You hardly
had to aim.

  [Going Postal, by Terry Pratchett]
%e passage
# p. 47 (passage starts mid-paragraph;
#        italics because it's Moist von Lipwig's internal monolog)
%passage 4
/What kind of man would put a known criminal in charge of a major branch
of government?  Apart from, say, the average voter./

  [Going Postal, by Terry Pratchett]
%e passage
# p. 137
%passage 5
Now he could see the mysterious order clearly.  They were robed, of course,
because you couldn't have a secret order without robes.  They had pushed
the hoods back now, and each man(1) was wearing a peaked cap with a bird
skeleton wired to it.

(1) Women are always significantly underrepresented in secret orders.

  [Going Postal, by Terry Pratchett]
%e passage
# p. 184 ('Tubso' and 'Bissonomy' are accurate)
%passage 6
Just below the dome, staring down from their niches, were statues of the
Virtues:  Patience, Chastity, Silence, Charity, Hope, Tubso, Bissonomy,(1)
and Fortitude.

(1) Many cultures practice neither of these in the hustle and bustle of
the modern world, because no one can remember what they are.

  [Going Postal, by Terry Pratchett]
%e passage
# pp. 249-250 (Moist and Miss Dearheart are in a fancy restaurant)
%passage 7
She froze, staring over his shoulder.  He saw her right hand scrabble
frantically among the cutlery and grab a knife.

"That bastard has just walked into the place!" she hissed.  "Reacher Gilt!
I'll just kill him and join you for the pudding..."

"You can't do that!" hissed Moist.

"Oh?  Why not?"

"You're using the wrong knife!  That's for the fish!  You'll get into
trouble!"

She glared at him, but her hand relaxed, and something like a smile
appeared on her face.

"They don't have a knife for stabbing rich, murdering bastards?" she said.

"They bring it to the table when you order one," said Moist urgently.
"Look, this isn't the Drum, they don't just throw the body into the river!
They'll call the Watch!  Get a grip.  Not on a knife!  And get ready to
run."

"Why?"

"Because I forged his signature on Grand Trunk notepaper to get us in
here, that's why."

  [Going Postal, by Terry Pratchett]
%e passage
# pp 260-261 (Mr. Groat: elderly postal employee recently attacked in
#             the palacial but severely dilapidated post office;
#             "his imagination": Moist's; "him": Mr. Groat; "he": Moist)
%passage 8
The vision of Mr. Groat's chest kept bumping insistently against his
imagination.  It looked as though something with claws had taken a swipe
at him, and only the thick uniform coat prevented him from being opened
like a clam.  But that didn't sound like a vampire.  They weren't messy
like that.  It was a waste of good food.

Nevertheless, he picked up a piece of smashed chair.  It had splintered
nicely.  And the nice thing about a stake through the heart was that it
also worked on non-vampires.

  [Going Postal, by Terry Pratchett]
%e passage
# p. 262 (Stanley, a young postal employee who collects pins, recently
#         fought off /something/ using a bag of pins as a weapon)
#         [this passage doesn't have a very satisfactory ending...]
%passage 9
You probably couldn't /kill/ a vampire with pins...

And after a thought like that is when you realize that however hard you
try to look behind you, there's a behind you, behind you, where you aren't
looking.  Moist flung his back to the cold stone wall where he slithered
along it until he ran out of wall and acquired a doorframe.

  [Going Postal, by Terry Pratchett]
%e passage
#p. 278 ('thoughted' and 'thoughting' are accurate)
%passage 10
"Oh, Mr. Lipwig!"

It is not often that a wailing woman rushes into a room and throws herself
at a man.  It had never happened to Moist before.  Now it happened, and it
seemed such a waste that the woman was Miss Maccalariat.

She tottered forward and clung to the startled Moist, tears streaming down
her face.

"Oh, Mr. Lipwig!" she wailed.  "Oh, Mr. Lipwig!"

Moist reeled under her weight.  She was dragging at his collar so hard
that he was likely to end up on the floor, and the thought of being found
on the floor with Miss Maccalariat was--well, a thought that just couldn't
be thoughted.  The head would explode before thoughting it.

  [Going Postal, by Terry Pratchett]
%e passage
#p. 315
%passage 11
Always remember that the crowd that applauds your coronation is the same
crowd that will applaud your beheading.  People like a show.

  [Going Postal, by Terry Pratchett]
%e passage
# p. 326 (homage to "To Have and Have Not"; Lauren Bacall's character says
#         to Humphrey Bogart's character, "You know how to whistle, don't
#         you Steve?  Just put your lips together and--blow."
#         Miss Dearheart's slight pause seems better placed...)
%passage 12
Miss Dearheart stubbed out her cigarette.  "Go up there tonight, Mr. Lipwig.
Get yourself a little bit closer to heaven.  And then get down on your
knees and pray.  You know how to pray, don't you?  You just put your hands
together--and hope."

  [Going Postal, by Terry Pratchett]
%e passage
# p. 333 ('crackers' have been sending and receiving clandestine clacks
#         messages without owners/operators of the clacks network noticing)
%passage 13
It was a little like stealing.  It was exactly like stealing.  It was, in
fact, stealing.  But there was no law against it, because no one knew the
crime existed, so is it really stealing if what's stolen isn't missed?
And is it stealing if you're stealing from thieves?  Anyway, all property
is theft, except mine.

  [Going Postal, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Thud! (7)
# p. 39 (Harper Torch edition; passage starts mid-paragraph; speaker is Nobby)
%passage 1
"Why mess about with a cunning plan when a simple one will do?"

  [Thud!, by Terry Pratchett]
%e passage
# pp. 334-336 (originally transcribed from some other edition)
%passage 2
He wanted to sleep.  He'd never felt this tired before.  Vimes slumped to
his knees, and then fell sideways on to the sand.

When he forced his eyes open, he saw pale stars above him, and had, once
again, the sensation that there was someone else present.

He turned his head, wincing at the stab of pain, and saw a small but
brightly lit folding chair on the sand.  A robed figure was reclining in
it, reading a book.  A scythe was stuck in the sand beside it.

A white, skeletal hand turned a page.

'You'll be Death, then?' said Vimes, after a while.

AH, MISTER VIMES, ASTUTE AS EVER.  GOT IT IN ONE, said Death, shutting the
book on his finger to keep the place.

'I've seen you before.'

I HAVE WALKED WITH YOU MANY TIMES, MISTER VIMES.

'And this is /it/, is it?'

HAS IT NEVER STRUCK YOU THAT THE CONCEPT OF A WRITTEN NARRATIVE IS SOMEWHAT
STRANGE? said Death.

Vimes could tell when people were trying to avoid something they really
didn't want to say, and it was happening here.

'Is it?' he insisted.  'Is this it?  This time I die?'

COULD BE.

'Could be?  What sort of answer is that?' said Vimes.

A VERY ACCURATE ONE.  YOU SEE, YOU ARE HAVING A NEAR-DEATH EXPERIENCE,
WHICH INESCAPABLY MEANS THAT I MUST UNDERGO A NEAR-/VIMES/ EXPERIENCE.
DON'T MIND ME.  CARRY ON WITH WHATEVER YOU WERE DOING.  I HAVE A BOOK.

Vimes rolled over on to his stomach, gritted his teeth, and pushed himself
on to his hands and knees again.  He managed a few yards before slumping
back down.

He heard the sound of a chair being moved.

'Shouldn't you be somewhere else?' he said.

I AM, said Death, sitting down again.

'But you're here!'

AS WELL.  Death turned a page and, for a person without breath, managed a
pretty good sigh.  IT APPEARS THAT THE BUTLER DID IT.

'Did what?'

IT IS A MADE-UP STORY.  VERY STRANGE.  ALL ONE NEEDS TO DO IS TURN TO THE
LAST PAGE AND THE ANSWER IS THERE.  WHAT, THEREFORE, IS THE POINT OF
DELIBERATELY NOT KNOWING?

It sounded like gibberish to Vimes, so he ignored it.  Some of the aches
had gone, although his head still hammered.  There was an empty feeling
everywhere.  He just wanted to sleep.

  [Thud!, by Terry Pratchett]
%e passage
# pp. 225-226
%passage 3
And I'm going home, Vimes repeated to himself.  Everyone wants something
from Vimes, even though I'm not the sharpest knife in the drawer.  Hell,
I'm probably a spoon.  Well I'm going to be Vimes, and Vimes reads
/Where's My Cow?/ to Young Sam at six o'clock.  With the noises done right.

  [Thud!, by Terry Pratchett]
%e passage
# pp. 261-262
%passage 4
Fred Colon peered through the bars.  He was, on the whole, a pretty good
jailer; he always had a pot of tea on the go, he was, as a general rule,
amiably disposed to most people, he was too slow to be easily fooled, and
he kept the cell keys in a box in the bottom drawer of his desk, a long
way out of reach of any stick, hand, dog, cunningly thrown belt, or
trained Klatchian monkey spider.(1)

(1) Making Fred Colon possibly unique in the annals of jail history.

  [Thud!, by Terry Pratchett]
%e passage
# p. 287 (American spelling of 'theater' is accurate [Harper Torch edition])
%passage 5
Brushing aside cobwebs with one hand and holding up a lantern with the
other, Sybil led the way past boxes of MEN'S BOOTS, VARIOUS; RISIBLE
PUPPETS, STRING & GLOVE; MODEL THEATER AND SCENERY.  Maybe that was the
reason for their wealth: they bought things that were built to last, and
now they seldom had to buy anything at all.  Except food, of course, and
even then Vimes would not have been surprised to see boxes labeled APPLE
CORES, VARIOUS, or LEFTOVERS, NEED EATING UP.(1)

(1) That was a phrase of Sybil's that got to him.  She'd announce at lunch,
"we must have the pork tonight, it needs eating up."  Vimes never had an
actual problem with this, because he'd been raised to eat what was put in
front of him, and do it quickly, too, before someone else snatched it away.
He was just puzzled at the suggestion that he was there to do the food a
favor.

  [Thud!, by Terry Pratchett]
%e passage
# pp. 296-297
%passage 6
"Tell me Drumknott, are you a betting man at all?"

"I have been know to have the occasional 'little flutter,' sir."

"Given, then, a contest between an invisible and very powerful quasidemonic
/thing/ of pure vengeance on the one hand, and the commander on the other,
where would you wager, say... one dollar?"

"I wouldn't, sir.  That looks like one that would go to the judges."

"Yes," said Vetinari, staring thoughtfully at the closed door.  "Yes,
/indeed/."

  [Thud!, by Terry Pratchett]
%e passage
# p. 351 ('teeth-aching' probably ought to have been 'teeth-achingly')
%passage 7
Vimes reached up and took a mug of water from Angua.  It was teeth-aching
cold and the best drink he'd ever tasted.  And his mind worked fast, flying
in emergency supplies of common sense, as human minds do, to construct a
huge anchor in sanity and prove that what happened hadn't really happened
and, if it had happened, hadn't happened very much.

It was all mystic, that's what it was.  Oh, it /might/ all be true, but how
could you ever tell?  You had to stick to the things you can see.  And you
had to keep reminding yourself of that, too.

Yeah, that was it.  What had really happened, eh?  A few signs?  Well,
anything can look like you want it to, if you're worried and confused
enough, yes?  A sheep can look like a cow, right?  Ha!

  [Thud!, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Wintersmith (16)
# p. 82 (HarperTeen edition--presumably HarperTempest suffered a name change)
%passage 1
That's Third Thoughts for you.  When a huge rock is going to land on your
head, they're the thoughts that think:  Is that an igneous rock, such as
granite, or is it sandstone?

  [Wintersmith, by Terry Pratchett]
%e passage
p. 113
%passage 2
They say that there can never be two snowflakes that are exactly alike, but
has anyone checked lately?

  [Wintersmith, by Terry Pratchett]
%e passage
# pp. 32-33
%passage 3
All witches are a bit odd.  Tiffany had got used to odd, so that odd seemed
quite normal.  There was Miss Level, for example, who had two bodies,
although one of them was imaginary.  Mistress Pullunder, who bred pedigreed
earthworms and gave them all names... well, she was hardly odd at all, just
a bit peculiar, and anyway earthworms were quite interesting in a basically
uninteresting kind of way.  And there had been Old Mother Dismass, who
suffered from bouts of temporal confusion, which can be quite strange when
it happens to a witch; her mouth never moved in time with her words, and
sometimes her footsteps came down the stairs ten minutes before she did.

But when it came to odd, Miss Treason didn't just take the cake, but a
packet of biscuits too, with sprinkles on the top, and also a candle.

  [Wintersmith, by Terry Pratchett]
%e passage
# p. 34 ('villages': plural is accurate; 'clonk-clank' is rendered bold)
%passage 4
Then there was her clock.  It was heavy and made of rusty iron by someone
who was more blacksmith than watchmaker, which was why it went
*clonk-clank* instead of /tick-tock/.  She wore it on her belt and could
tell the time by feeling the stubby little hands.

There was a story in the villages that the clock was Miss Treason's heart,
which she'd used ever since her first heart died.  But there were lots of
stories about Miss Treason.

  [Wintersmith, by Terry Pratchett]
%e passage
# p. 40 (Boffo)
%passage 5
First Sight and Second Thoughts, that's what a witch had to rely on: First
Sight to see what's really there, and Second Thoughts to watch the First
Thoughts to check that they were thinking right.  Then there were the
Third Thoughts, which Tiffany had never heard discussed and therefore kept
quiet about; they were odd, seemed to think for themselves, and didn't
turn up very often.  And they were telling her that there was more to Miss
Treason than met the eye.

  [Wintersmith, by Terry Pratchett]
%e passage
# pp. 53-54 (in Carpe Jugulum, most of the lore [for humans] about how to kill
#            vampires had been written by long-lived/long-not-defunct vampires
#            [meaning that it was deliberately full of inaccuracies...])
%passage 6
It was in fact Miss Tick who had written /Witch Hunting for Dumb People/,
and she made sure that copies of it found their way into those areas where
people still believed that witches should be burned or drowned.

Since the only witch ever likely to pass through these days was Miss Tick
herself, it meant that if things did go wrong, she'd get a good night's
sleep and a decent meal before being thrown into the water.  The water was
no problem at all for Miss Tick, who had been to the Quirm College for
Young Ladies, where you had to have an icy dip every morning to build Moral
Fiber.  And a No. 1 Bosun's knot was very easy to undo with your teeth,
even underwater.

  [Wintersmith, by Terry Pratchett]
%e passage
# pp. 55-56
%passage 7
Working quickly, she emptied her pockets and started a shamble.

Shambles worked.  That was about all you could say about them for certain.
You made them out of some string and a couple of sticks and anything you
had in your pocket at the time.  They were a witch's equivalent of those
knives with fifteen blades and three screwdrivers and a tiny magnifying
glass and a thing for extracting earwax from chickens.

You couldn't even say precisely what they did, although Miss Tick thought
that they were a way of finding out what things the hidden bits of your
own mind already knew.  You had to make a shamble from scratch every time,
and only from things in your pockets.  There was no harm in having
interesting things in your pockets, though, just in case.

  [Wintersmith, by Terry Pratchett]
%e passage
# p. 69
%passage 8
A witch didn't do things because they seemed like a good idea at the time!
That was practically cackling!  You had to deal every day with people who
were foolish and lazy and untruthful and downright unpleasant, and you
could certainly end up thinking that the world would be considerably
improved if you gave them a slap.  But you didn't because, as Miss Tick
had once explained: a) it would make the world a better place for only a
very short period of time; b) it would then make the world a slightly
worse place; and c) you're not supposed to be as stupid as they are.

  [Wintersmith, by Terry Pratchett]
%e passage
# p. 106 (Rob Anybody is married to their kelda, ruler of the clan;
#         passage continues with three or so pages about Explaining
#         [focusing on the reactions of the recipient of the explanation:
#         Pursin' o' the Lips; Foldin' o' the Arms; Tappin' o' the Feets;
#         and also the reactions of the listening Feegles as they hear
#         about them] but would end up on the long side if included here)
%passage 9
"Aye, but the boy willna be interested in marryin'," said Slightly Mad
Angus.

"He might be one day," said Billy Bigchin, who'd made a hobby of watching
humans.  "Most bigjob men get married."

"They do?" said a Feegle in astonishment.

"Oh, aye."

"They want tae get married?"

"A lot o' them do, aye," said Billy.

"So there's nae more drinkin', and stealin', and fightin'?"

"Hey, ah'm still allowed some drinkin' and stealin' and fightin'!" said
Rob Anybody.

"Aye, Rob, but we canna help noticin' ye also have tae do the Explainin',
too." said Daft Wullie.

There was a general nodding from the crowd.  To Feegles, Explaining was a
dark art.  It was just so /hard/.

  [Wintersmith, by Terry Pratchett]
%e passage
# pp. 126-127 (passage starts mid-paragraph;
#              witches know in advance when they're going to die)
%passage 10
"[...]  We shall hold the funeral tomorrow afternoon."

"Sorry?  You mean /before/ you die?" said Tiffany.

"Why, of course!  I don't see why I shouldn't have some fun!"

"Good thinkin'!" said Rob Anybody.  "That's the kind o' sensible detail
people usually fails tae consider."

"We call it a going-away party," said Miss Treason.  "Just for witches, of
course.  Other people tend to get a bit nervous--I can't think why.  And
on the bright side, we've got that splendid ham that Mr. Armbinder gave us
last week for settling the ownership of the chestnut tree, and I'd love to
try it."

  [Wintersmith, by Terry Pratchett]
%e passage
# p. 129
%passage 11
Some people think that "coven" is a word for a group of witches, and it's
true that's what the dictionary says.  But the real word for a group of
witches is an "argument."

  [Wintersmith, by Terry Pratchett]
%e passage
# pp. 174-175 (passage starts mid-paragraph; last paragraph continues, but
#          changes topic so abruptly Tiffany gasps; 'rumbustious' is accurate)
%passage 12
"[...]  And now I shall tell you something vitally important.  It is the
secret of my long life."

Ah, thought Tiffany, and she leaned forward.

"The important thing," said Miss Treason, "is to stay the passage of the
wind.  You should avoid rumbustious fruits and vegetables.  Beans are the
worst, take it from me."

"I don't think I understand--" Tiffany began.

"Try not to fart, in a nutshell."

"In a nutshell, I imagine it would be pretty unpleasant!" said Tiffany
nervously.  She couldn't believe she was being told this.

"This is no joking matter," said Miss Treason.  "The human body has only
so much air in it.  You have to make it last.  One plate of beans can take
a year off your life.  I have avoided rumbustiousness all my days.  I am
an old person and that means what I say is wisdom!"  She gave the
bewildered Tiffany a stern look.  "Do you understand, child?"

Tiffany's mind raced.  Everything is a test!  "No," she said.  "I'm not a
child and that's nonsense, not wisdom!"

The stern look cracked into a smile.  "Yes," said Miss Treason.  "Total
gibberish.  But you've got to admit it's a corker, all the same, right?
You definitely believed it, just for a moment?  The villagers did last
year.  You should have seen the way they walked about for a few weeks!
The strained looks on their faces quite cheered me up!  [...]"

  [Wintersmith, by Terry Pratchett]
%e passage
# p. 185 (Miss Treason tells people she's 113, but she's actually /only/ 111)
%passage 13
MISS EUMENIDES TREASON, AGED ONE HUNDRED AND ELEVEN?

Tiffany heard the voice inside her head.  It didn't seem to have come
through her ears.  And she'd heard it before, making her quite unusual.
Most people hear the voice of Death only once.

  [Wintersmith, by Terry Pratchett]
%e passage
# p. 229
%passage 14
Tiffany had looked up "strumpet" in the Unexpurgated Dictionary, and found
it meant "a woman who is no better than she should be" and "a lady of easy
virtue."  This, she decided after some working out, meant that Mrs. Gytha
Ogg, known as Nanny, was a very respectable person.  She found virtue easy,
for one thing.  And if she was no better than she should be, she was just
as good as she ought to be.

  [Wintersmith, by Terry Pratchett]
%e passage
# pp. 360-361 ('wurds' is accurate)
%passage 15
"An heroic effect, Mr. Anybody," said Granny.  "The first thing a hero must
conquer is his fear, and when it comes to fightin', the Nac Mac Feegle
don't know the meanin' of the word."

"Aye, true enough," Rob grunted.  "We dinna ken the meanin' o' thousands
o' wurds!"

  [Wintersmith, by Terry Pratchett]
%e passage
# pp. 398-399 ("Chumsfanleigh" is pronounced "Chuffley")
%passage 16
At the back of the Feegles' chalk pit, more chalk had been carved out of
the wall to make a tunnel about five feet high and perhaps as long.

In front of it stood Roland de Chumsfanleigh (it wasn't his fault).  His
ancestors had been knights, and they had come to own the Chalk by killing
the kings who thought they did.  Swords, that's what it had all been about.
Swords and cutting off heads.  That was how you got land in the old days,
and then the rules were changed so that you didn't need a sword to own
land anymore, you just needed the right piece of paper.  But his ancestors
had still hung on to their swords, just in case people thought that the
whole thing with the bits of paper had been unfair, it being a fact that
you can't please everybody.

He'd always wanted to be good with a sword, and it had come as a shock to
find that they were so /heavy/.  He was great at air sword.  In front of a
mirror he could fence against his reflection and win nearly all the time.
Real swords didn't allow that.  You tried to swing them and they ended up
swinging you.  He'd realized that maybe he was more cut out for bits of
paper.  Besides, he needed glasses, which could be a bit tricky under a
helmet, especially if someone was hitting /you/ with a sword.

  [Wintersmith, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Making Money (17)
# p. 187 (Harper edition -- what's become of Harper Torch?)
%passage 1
"I'm an Igor, thur.  We don't athk quethtionth."

"Really?  Why not?"

"I don't know, thur.  I didn't athk."

  [Making Money, by Terry Pratchett]
%e passage
# p. 177 (originally transcribed from some other edition; Harper edition
#         uses American spelling for "armor")
#        [some off-duty Watchmen moonlight as bank security guards]
%passage 2
The Watch armor he'd lifted from the bank's locker room fitted like a
glove.  He'd have preferred it to fit like a helmet and breastplate.
But, in truth, it probably didn't look any better on its owner, currently
swanking along the corridors in the bank's own shiny but impractical armor.
It was common knowledge that the Watch's approach to uniforms was one-size-
doesn't-exactly-fit-anybody, and that Commander Vimes disapproved of armor
that didn't have that kicked-by-trolls look.  He liked armor to state
clearly that it had been doing its job.

  [Making Money, by Terry Pratchett]
%e passage
# pp. 108 (passage starts mid-paragraph)
%passage 3
"[...]  The world is full of things worth more than gold.  But we dig the
damn stuff up and then bury it in a different hole.  Where's the sense in
that?  What are we, magpies?  Good heavens, /potatoes/ are worth more than
gold!"

"Surely not!"

"If you were shipwrecked on a desert island, what would you prefer, a bag
of potatoes or a bag of gold?"

"Yes, but a desert island isn't Ankh-Morpork!"

"And that proves gold is only valuable because we agree it is, right?
It's just a dream.  But a potato is always worth a potato, anywhere.  Add
a knob of butter and a pinch of salt and you've got a meal, /anywhere/.
Bury gold in the ground and you'll be worrying about thieves forever.
Bury a potato and in due season you could be looking at a dividend of a
thousand per cent."

  [Making Money, by Terry Pratchett]
%e passage
# pp. 22-24 (Albert Spangler is one of Moist Lipwig's aliases;
#            'dyslectic' is accurate)
%passage 4
"Let us talk about angels," said Lord Vetinari.

"Oh yes, I know that one," said Moist bitterly.  "I've heard that one.
That's the one you got me with after I was hanged--"

Vetinari raised an eyebrow.  "Only mostly hanged, I think you'll find.  To
within an inch of your life."

"Whatever!  I was hanged!  And the worst part of that was finding out I
only got two paragraphs in the /Tanty Bugle/!(1)  Two paragraphs, may I
say, for a life of ingenious, inventive, and strictly nonviolent crime?
I could have been an example to the youngsters!  Page one got hogged by
the Dyslectic Alphabet Killer, and he only managed A and W!"

"I confess the editor does appear to believe that it is not a proper crime
unless someone is found in three alleys at once, but that is the price of
a free press.  And it suits us both, does it not, that Albert Spangler's
passage from this world was... unmemorable?"

"Yes, but I wasn't expecting an afterlife like this!  I have to do what
I'm told for the rest of my life?"

"Correction, your new life.  That is a crude summary, yes," said Vetinari.
"Let me rephrase things, however.  Ahead of you, Mr. Lipwig, is a life of
respectable quiet contentment, of civic dignity, and, of course, in the
fullness of time, a pension.  Not to mention, of course, the proud gold-ish
chain."

Moist winced at this.  "And if I /don't/ do what you say?"

"Hmm?  Oh, you misunderstand me, Mr. Lipwig.  That is what will happen to
you if you decline my offer.  If you accept it, you will survive on your
wits against powerful and dangerous enemies, with every day presenting
fresh challenges.  Someone may even try to kill you."

"What?  Why?"

"You annoy people.  A hat goes with the job, incidentally."

(1) A periodical published throughout the Plains, noted for its coverage
of murder (preferably 'orrible) trials, prison escapes, and the world that
in general is surrounded by a chalk outline.  Very popular.

  [Making Money, by Terry Pratchett]
%e passage
#p. 71
%passage 5
When he got back to the Post Office, Moist looked up the Lavish family in
/Whom's Whom/.  They were indeed what was known of as "old money," which
meant that it had been made so long ago that the black deeds which had
originally filled the coffers were now historically irrelevant.  Funny,
that:  a brigand for a father was something you kept quiet about, but a
slave-taking pirate for a great-great-great-grandfather was something to
boast of over the port.  Time turned the evil bastards into rogues, and
/rogue/ was a word with a twinkle in its eye and nothing to be ashamed of.

  [Making Money, by Terry Pratchett]
%e passage
# p. 72 ('clacks' is a communication system, here analogous to a telegraph)
%passage 6
He spotted the flimsy pink clacks among the other stuff and tugged it out
quickly.

It was from Spike!

He read:

    SUCCESS.  RETURNING DAY AFTER TOMORROW.
    ALL WILL BE REVEALED.  S.

Moist put it down carefully.

Obviously she'd missed him terribly and was desperate to see him again, but
she was stingy about spending Golem Trust money.  Also, she'd probably run
out of cigarettes.

Moist drummed his fingers on the desk.  A year ago he'd asked Adora Belle
Dearheart to be his wife, and she'd explained that, in fact, he was going
to be her husband.

It was going to be... well, it was going to be sometime in the near future,
when Mrs. Dearheart finally lost patience with her daughter's busy schedule
and arranged the wedding herself.

But he was a nearly married man, however you looked at it.  And nearly
married men didn't get mixed up with the Lavish family.  A nearly married
man was steadfast and dependable and always ready to hand his nearly wife
an ashtray.  He had to be there for his oneday children, and make sure
they slept in a well-ventilated nursery.

  [Making Money, by Terry Pratchett]
%e passage
# p. 79 (passage starts mid-paragraph; departed Mrs. Lavish is a bank owner)
%passage 7
"[...]  Now what, Mr. Death?"

NOW? said Death.  NOW, YOU COULD SAY, COMES... THE AUDIT.

"Oh.  There is one, is there?  Well, I'm not ashamed."

THAT COUNTS.

  [Making Money, by Terry Pratchett]
%e passage
# pp. 183-184 (American spelling of 'gray' is accurate)
%passage 8
Moist lit the lamp and walked over to the battered wreckage of his wardrobe.
Once again he selected the tatty gray suit.  It had sentimental value; he
had been hanged in it.  And it was an unmemorable suit for an unmemorable
man, with the additional advantage, unlike black, of not showing up in the
dark.(1)  [...]

(1) Every assassin knew that real black often stood out in the dark,
because the night in the city is usually never full black, and that gray
or green merge much better.  But they wore black anyway, because style
trumps utility every time.

  [Making Money, by Terry Pratchett]
%e passage
# p. 218 (the Cabinet of Curiosity)
%passage 9
"All right, then," said Moist, "/what does it do/?"

"We don't know."

"How does it work?"

"We don't know."

"Where did it come from?"

"We don't know."

"Well, that seems to be all," said Moist sarcastically.  "Oh no, one last
one:  what is it?  And let me tell you, I'm agog."

"That may be the wrong sort of question to ask," said Ponder, shaking his
head.  "Technically it appears to be a classic Bag of Holding but with /n/
mouths, where /n/ is the number of items in an eleven-dimensional universe,
which are not currently alive, not pink, and can fit in a cubical drawer
14.14 inches on a side, divided by P."

"What's P?"

"That may be the wrong sort of question."

  [Making Money, by Terry Pratchett]
%e passage
# p. 225 (passage starts mid-paragraph)
%passage 10
"[...]  I'll talk to Dr. Hicks.  He's the head of the Department of
Postmortem Communications."

"Postmortem Com..." Moist began.  "Isn't that the same as necroman--"

"I said the /Department of Postmortem Communications/," said Ponder very
firmly.  [...]

  [Making Money, by Terry Pratchett]
%e passage
# p. 247 (it's a spirit summoned by Dr. Hicks that is describing the art/risk)
%passage 11
"Necromancy is a fine art?" said Moist.

"None finer, young man.  Get things just a tiny bit wrong and the spirits
of the vengeful dead may enter your head via your ears and blow your brains
out down your nose."

The eyes of Moist and Adora Belle focused on Dr. Hicks like those of an
archer on his target.  He waved his hands frantically and mouthed, "Not
very often!"

  [Making Money, by Terry Pratchett]
%e passage
# p. 269
%passage 12
"If you can't stand the heat, get off the pot, that's what I always say,"
said a senior clerk, and there was a general murmur of agreement.

  [Making Money, by Terry Pratchett]
%e passage
# p. 264 (passage starts mid-paragraph)
%passage 13
[...] if the fundamental occult maxim "as above, so below" was true, then
so was "as below, so above"...

  [Making Money, by Terry Pratchett]
%e passage
# p. 280
%passage 14
"In the Old Country we have a thaying," Igor volunteered.

"A what?"

"A thaying.  We thay, 'if you don't want the monthter you don't pull the
lever.'"

"You don't think I've gone mad, do you, Igor?"

"Many great men have been conthidered mad, Mr. Hubert.  Even Dr. Hanth
Forvord wath called mad.  But I put it to you:  could a madman have created
a revolutionary living-brain extractor?"

  [Making Money, by Terry Pratchett]
%e passage
# p. 302
%passage 15
There was a saying:  "Old necromancers never die."  When he told them this,
people would say "... and?" and Hicks would have to reply, "That's all of
it, I'm afraid.  Just 'Old necromancers never die.'"

  [Making Money, by Terry Pratchett]
%e passage
# p. 336 (passage starts mid-paragraph)
%passage 16
[...]  What the iron maiden was to stupid tyrants, the committee was to
Lord Vetinari; it was only slightly more expensive,(1) far less messy,
considerably more efficient, and, best of all, you had to /force/ people
to climb inside the iron maiden.

(1) The only real expense was tea and biscuits halfway through, which
seldom happened with the iron maiden.

  [Making Money, by Terry Pratchett]
%e passage
# p. 361 (Mr. Slant is a zombie)
%passage 17
"Mrs. Lavish, a lady many of us were privileged to know, recently confided
in me that she was dying," said Vetinari.  "She asked me for advice on the
future of the bank, given that her obvious heirs were, in her words, 'as
nasty a bunch of weasels as you could ever hope not to meet--'"

All thirty-one of the Lavish lawyers stood up and spoke at once, incuring
a total cost to clients of $AM119.28p.

Mr. Slant glared at them.

Mr. Slant did not, despite what had been said, have the respect of Ankh-
Morpork's legal profession.  He commanded its fear.  Death had not
diminished his encyclopedic memory, his guile, his talent for corkscrew
reasoning, and the vitriol of his stare.  Do not cross me this day, it
advised the lawyers.  Do not cross me, for if you do I will have the flesh
from your very bones and the marrow therein.  You know those leather-bound
tomes you have on the wall behind your desks to impress your clients?  I
have read them all, and wrote half of them.  Do not try me.  I am not in a
good mood.

One by one, they sat down.(1)

(1) Total cost, including time and disbursements: $AM253.16p.

  [Making Money, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Unseen Academicals (12)
# p. 68 (Harper edition)
%passage 1
Be one of the crowd?  It went against everything a wizard stood for,
and a wizard would not stand for anything if he could sit down for it,
but even sitting down, you had to stand out.

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 1 (footnote, so "(1)" ought to be "(2)", but somebody would complain...)
%passage 2
Technically, the city of Ankh-Morpork is a Tyranny, which is not always
the same thing as a monarchy, and in fact even the post of Tyrant has been
somewhat redefined by the incumbent, Lord Vetinari, as the only form of
democracy that works.  Everyone is entitled to vote, unless disqualified
by reason of age or not being Lord Vetinari.

And yet it does work.  This has annoyed a number of people who feel,
somehow, that it should not work, and who want a monarch instead, thus
replacing a man who has achieved his position by cunning, a deep
understanding of the realities of the human psyche, breathtaking
diplomancy, a certain prowess with the stiletto dagger, and, all agree,
a mind like a finely balanced circular saw, with a man who has got there
by being born.(1)

However, the crown has hung on anyway, as crowns do--on the Post Office
and the Royal Bank and the Mint and, not least, in the sprawling,
brawling, squalling consciousness of the city itself.  Lots of things
live in that darkness.  There are all kinds of darkness, and all kinds
of things can be found in them, imprisoned, banished, lost or hidden.
Sometimes they escape.  Sometimes they simply fall out.  Sometimes they
just can't take it any more.

(1) A third proposition, that the city be governed by a choice of
respectable members of the community who would promise not to give
themselves airs or betray the public trust at every turn, was instantly
the subject of music hall jokes all over the city.

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 16
%passage 3
A wizard could do what he liked in his own study, and in the old days that
had largely meant smoking anything he fancied and farting hugely without
apologizing.  These days it meant building out into a congruent set of
dimensions.  Even the Archchancellor was doing it, which made it hard for
Ponder to protest:  he had half a mile of trout stream in his bathroom,
and claimed that messin' about in his study was what kept a wizard out
of mischief.  And, as everyone knew, it did.  It generally got him into
trouble instead.

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 18 (Ridcully is furious at the former Dean, who left UU to become a
#        rival [Arch-]Chancellor at Brazeneck University in Pseudopolis)
%passage 4
"Remuneration?  Since when did a wizard work for wages?  We are pure
academics, Mister Stibbons!  We do not care for mere money!"

Unfortunately, Ponder was a clear logical thinker who, in times of mental
confusion, fell back on reason and honesty, which, when dealing with an
angry Archchancellor, were, to use the proper academic term, unhelpful.
And he neglected to think strategically, always a mistake when talking to
fellow academics, and as a result made the mistake of employing, as at
this point, common sense.

"That's because we never actually pay for anything very much," he said,
"and if anyone needs any petty cash they just help themselves from the
big jar--"

"We are part of the very fabric of the university, Mister Stibbons!  We
take only what we require!  We do not seek wealth!  And most certainly
we do not accept a 'post of vital importance which includes an attractive
package of remuneration,' whatever the hells that means, 'and other
benefits including a generous pension!'  A pension, mark you!  When has a
wizard ever retired?"

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 19 (She: plump Glenda; Her: fashion-model-to-be Juliet)
%passage 5
She was, in fact, quite a pleasant looking girl, even if her bosom had
clearly been intended for a girl two feet taller; but she was not Her.(1)

(1) The Egregious Professor of Grammar and Usage would have corrected
this to "she was not she," which would have caused the Professor of Logic
to spit out his drink.

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 48 (He: Nutt, a key element of the story who doesn't figure in any
#        of the other selected passages...)
%passage 6
He'd tried wandering around the other cellars, but there was nothing much
happening at night, and people gave him funny looks.  Ladyship did not
rule here.  But wizards are a messy lot and nobody tidied up much and
lived to tell the tale, so all sorts of old storerooms and junk-filled
workshops became his for the use of.  And there was so much for a lad with
keen night vision to find.  He had already seen some luminous spoon ants
carrying a fork, and, to his surprise, the forgotten mazes were home to
that very rare indoorovore, the Uncommon Sock Eater.  There were some
things living up in the pipes, too, which periodically murmured "Awk! Awk!"
Who knew what strange monsters made their home here?

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 58
%passage 7
Truth is female, since truth is beauty rather than handsomeness; this,
Ridcully reflected as the Council grumbled in, would certainly explain
the saying that a lie could run around the world before Truth got its,
correction, /her/ boots on, and since she would have to choose which
pair--the idea that any woman in the position to choose would have just
one pair of boots being beyond rational belief.  Indeed, as a goddess she
would have lots of shoes, and thus many choices:  comfy shoes for home
truths, hobnail boots for unpleasant truths, simple clogs for universal
truths and possibly some kind of slipper for self-evident truth.  More
important right now was what kind of truth he was going to have to impart
to his colleagues, and he decided not on the whole truth, but instead on
nothing but the truth, which dispensed with the need for honesty.

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 166 (see "the wrong sort of question" passage from /Making Money/
#         for a description of the Cabinet; items removed from it have to
#         be returned within 14:14 hours or they're drawn back magically;
#         student in question had removed a sandwich and then eaten it)
%passage 8
"Yes, sir?" said Ponder wearily.

"Promote him.  Whatever level he is, move him up one."

"I think that'll send the wrong kind of signal," Ponder tried.

"On the contrary, Mister Stibbons.  It will send exactly the right kind of
message to the student body."

"But he disobeyed an express order, may I point out?"

"That's right.  He showed independent thinking and a certain amount of
pluck, and in the course of so doing added valuable data to our
understanding of the Cabinet."

"But he might have destroyed the whole university, sir."

"Right, in which case he would have been vigorously disciplined, if we'd
been able to find anything left of him.  But he didn't and he was lucky
and we need lucky wizards.  Promote him, on the direct order of me, not
pp'd at all.  Incidentally, how loud were his screams?"

  [Unseen Academicals, by Terry Pratchett]
%e passage
# pp. 192-193 ('pants': underpants; 'football': soccer ;-)
%passage 9
"You will arrange yourself into two teams, set up goals, and strive to win!
No man will leave the field of play unless injured!  The hands are not to
be used, is that clear?  Any questions?"  A hand went up.  Ridcully sought
the attached face.

"Ah, Rincewind," he said, and, because he was not a determinedly unpleasant
man, amended this to, "Professor Rincewind, of course."

"I would like permission to fetch a note from my mother, sir."

Ridcully sighed.  "Rincewind, you once informed me, to my everlasting
puzzlement, that you never knew your mother because she ran away before
you were born.  Distinctly remember writing it down in my diary.  Would
you like another try?"

"Permission to go and find my mother?"

Ridcully hesitated.  The Professor of Cruel and Unusual Geography had no
students and no real duties other than to stay out of trouble.  Although
Ridcully would never admit it, it was against all reason an emeritus
position.  Rincewind was a coward and an unwitting clown, but he had
several times saved the world in slightly puzzling circumstances.  He was
a luck sink, the Archchancellor decided, doomed to being a lightning rod
for the fates so that everyone else didn't have to.  Such a person was
worth all his meals and laundry (including an above-average level of
soiled pants) and a bucket of coal every day even if he was, in Ridcully's
opinion, a bit of a whiner.  However, he was fast, and therefore useful.

"Look," said Rincewind, "a mysterious urn turns up and suddenly it's all
about football.  That bodes.  It means that something bad is going to
happen."

"Come now, it could be something wonderful," Ridcully protested.

Rincewind appeared to give this due consideration.  "Could be wonderful,
will be dreadful.  Sorry, that's how it goes."

"This is Unseen University, Rincewind.  What is there to fear?" Ridcully
said.  "Apart from me, of course.  Good heavens, this is a sport."  He
raised his voice.  "Arrange yourselves into two teams and play football!"

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 268 (passage starts mid-paragraph; Glenda is cleaning UU's Night Kitchen)
%passage 10
[...]  If you wanted a job done properly, you had to do it yourself.
Juliet's version of cleanliness was next to godliness, which was to say
it was erratic, past all understanding and seldom seen.

  [Unseen Academicals, by Terry Pratchett]
%e passage
# pp. 358-359
%passage 11
"Well, big day, lads!" said Ridcully.  "Looks like there's going to be a
nice day for it as well.  They're all over there waiting for us to give
them a show.  I want you to approach this in the best traditions of Unseen
University sportsmanship, which is to cheat whenever you are unobserved,
though I fear that the chance of anyone being unobserved today is remote.
But in any case, I want you to give it one hundred and ten percent."

"Excuse me, Archchancellor," said Ponder Stibbons.  "I understand the
sense of what you are saying, but there is only one hundred percent."

"Well, they could give it one hundred and ten percent if they tried
harder," said Ridcully.

"Well, yes and no, sir.  But, in fact, that would mean that you had just
made the one hundred percent bigger while it would still be one hundred
percent.  Besides, there is only so fast a man can run, only so high a man
can jump.  I just wanted to make the point."

"Good point, well made," said Ridcully, dismissing it instantly.  [...]

  [Unseen Academicals, by Terry Pratchett]
%e passage
# p. 363 (more lyrics occur later on; they're generally about using
#         economics to conquer any opposition)
%passage 12
The singing of the National Anthem was always a ragged affair, the good
people of Ankh-Morpork feeling that it was unpatriotic to sing songs about
how patriotic you were, taking the view that someone singing a song about
how patriotic they were was either up to something or a Head of State.(1)

An additional problem today lay in the acoustics of the arena, which were
rather too good, coupled with the fact that the speed of sound at one end
of the stadium was slightly offbeat compared with the other end, a
drawback exacerbated when both sides tried to recover the gap.

These acoustical anomalies did not count for much if you were standing
next to Mustrum Ridcully, as the Archchancellor was one of those gentleman
who will sing it beautifully, correctly enunciated and very, very loudly.

"'When dragons belch and hippos flee, my thoughts, Ankh-Morpork, are of
thee.'" he began.

(1) i.e., up to something.

  [Unseen Academicals, by Terry Pratchett]
%e passage
%e title
#
#
#
%title I Shall Wear Midnight (13)
# p. 447 (Harper edition; this passage is a quote from the "Authur's Note",
#         three extra pages after the conclusion of the story; there is a
#         similar, slightly shorter version of this in the text on p. 236,
#         where it's preceded by "The past needs to be remembered." but
#         lacks the final 'going wrong' sentence)
%passage 1
It is important that we know where we come from, because if you do not
know where you come from, then you don't know where you are, and if you
don't know where you are, you don't know where you're going.  And if you
don't know where you're going, you're probably going wrong.

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# pp. 429-430 (passage starts mid-paragraph and ends mid-paragraph)
%passage 2
"[...]  There have been times, lately, when I dearly wished that I could
change the past.  Well, I can't, but I can change the present, so that
when it becomes the past it will turn out to be a past worth having. [...]"

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 2 (passage starts mid-paragraph; scene is a village fair)
%passage 3
[...]  And so here, [...], you heard the permanent scream of, well,
everyone.  It was called having fun.  The only people not making any noise
were the thieves and pickpockets, who went about their business with
commendable silence, and they didn't come near Tiffany; who would pick a
witch's pocket?  You would be lucky to get all your fingers back.  At
least, that's what they feared, and a sensible witch would encourage them
in this fear.

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 61
%passage 4
/The hare runs into the fire./

Had she seen that written down anywhere?  Had she heard it as part of a
song?  A nursery rhyme?  What had the hare got to do with anything?  But
she was a witch, after all, and there was a job to do.  Mysterious omens
could wait.  Witches knew that mysterious omens were around all the time.
The world was always very nearly drowning in mysterious omens.  You just
had to pick the one that was convenient.

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 64
%passage 5
That was the thing about thoughts.  They thought themselves, and then
dropped into your head in the hope that you would think so too.  You had
to slap them down, thoughts like that; they would take a witch over if she
let them.  And then it would all break down, and nothing would be left but
the cackling.

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 65 (passage starts mid-paragraph)
%passage 6
"[...]  It just so happens that I was passing by, ye ken, and not
following ye at all.  One of them coincidences."

"There have been a lot of those coincidences lately," said Tiffany.

"Aye," said Rob, grinning, "it must be another coincidence."

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# pp. 179-180
%passage 7
Tiffany cleared her throat.  "Well," she said, "I suppose Rob Anybody would
tell you that there are times when promises should be kept and times when
promises should be broken, and it takes a Feegle to know the difference."

Mrs. Proust grinned hugely.  "You could almost be from the city, Miss
Tiffany Aching."

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 183 (Wee Mad Arthur is a member of the Ankh-Morpork Watch; he was a
#         foundling raised by gnomes and didn't know he was a Feegle until
#         he met with the ones accompanying Tiffany)
%passage 8
Despite himself, Wee Mad Arthur was grinning.  "Have you boys got no shame?"

Rob Anybody matched him grin for grin.  "I couldna say," he replied, "but
if we have, it probably belonged tae somebody else."

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 219 (footnote)
%passage 9
There is a lot of folklore about equestrian statues, especially the ones
with riders on them.  There is said to be a code in the number and
placement of the horse's hooves:  If one of the horse's hooves is in the
air, the rider was wounded in battle; two legs in the air means that the
rider was killed in battle; three legs in the air indicates that the
rider got lost on the way to the battle; and four legs in the air means
that the sculptor was very, very clever.  Five legs in the air means that
there's probably at least one other horse standing behind the one you're
looking at; and the rider lying on the ground with his horse lying on top
of him with all four legs in the air means that the rider was either a
very incompetent horseman or owned a very bad-tempered horse.

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 318 (passage starts mid-paragraph and ends mid-paragraph)
%passage 10
[...]  "Knowledge is power, power is energy, energy is matter, matter is
mass, and mass changes time and space." [...]

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 362 (passage starts mid-paragraph; speaker is Preston, a castle guard;
#         quote is a parody of J.R.R.Tolkien's "Do not meddle in the affairs
#         of wizards, for they are subtle, and quick to anger.")
%passage 11
[...]  "My granny said, 'Don't meddle in the affairs of witches because
they clout you around the ear.'"

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# pp. 386-387 (Tiffany is trying to rescue some witches from a castle roof)
%passage 12
Tiffany crawled a little farther, well aware of the sheer drop an inch
away from her hand.  "Preston has gone to fetch a rope.  Do you have a
broomstick?"

"A sheep crashed into it," said Mrs. Proust.

Tiffany could just make her out now.  "You crashed into a sheep in
/the air/?"

"Maybe it was a cow, or something.  What are those things that go
/snuffle snuffle/?"

"You ran into a flying hedgehog?"

"No, as it happened.  We were down low, looking for a bush for Mrs.
Happenstance."  There was a sigh in the gloom.  "It's because of her
trouble, poor soul.  We've stopped at a lot of bushes on the way here,
believe me!  And do you know what?  Inside every single one of them is
something that stings, bites, kicks, screams, howls, squelches, farts
enormously, goes all spiky, tries to knock you over, or does an enormous
pile of poo!  Haven't you people up here ever heard of porcelain?"

Tiffany was taken aback.  "Well, yes, but not in the fields!"

"They would be all the better for it," said Mrs. Proust.  "I've ruined
a decent pair of boots, I have."

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
# p. 442 (passage starts mid-paragraph; see /The Wee Free Men/;
#         'underrr' and 'ag-rreeeed' are accurate; 'arr-angement' is
#         hyphenated to span lines--it's just a guess that it would have
#         been hyphenated anyway)
%passage 13
"Nae king, nae quin, nae laird!  One baron--and underrr mutually
ag-rreeeed arr-angement, ye ken!"

  [I Shall Wear Midnight, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Snuff (16)
# p. 168 (Harper edition; 'ax' is spelled without the 'e' there...)
%passage 1
They were crude weapons, to be sure, but a flint axe hitting your head does
not need a degree in physics.

  [Snuff, by Terry Pratchett]
%e passage
%passage 2
It is a strange thing to find yourself doing something you have apparently
always wanted to do, when in fact up until that moment you had never known
that you always wanted to do it...

  [Snuff, by Terry Pratchett]
%e passage
# p. 2 (the subject is goblins)
%passage 3
At this point, Lord Vetinari, Patrician of Ankh-Morpork, stopped reading
and stared at nothing.  After a few seconds, nothing was eclipsed by the
form of Drumknott, his secretary (who, it must be said, had spent a career
turning himself as much like nothing as anything).

Drumknott said, "You look pensive, my lord," to which observation he
appended a most delicate question mark, which gradually evaporated.

"Awash with tears, Drumknott, awash with tears."

Drumknott stopped dusting the impeccably shiny black lacquered desk.
"Pastor Oats is a very persuasive writer, isn't he, sir...?"

"Indeed he is, Drumknott, but the basic problem remains and it is this:
humanity may come to terms with the dwarf, the troll and even the orc,
terrifying though all these have proved to be at times, and you know why
this is, Drumknott?"

The secretary carefully folded the duster he had been using and looked at
the ceiling.  "I would venture to suggest, my lord, that in their violence
we recognize ourselves?"

"Oh, well done, Drumknott, I shall make a cynic of you yet!  Predators
respect other predators, do they not?  They may perhaps even respect the
prey:  the lion may lie down with the lamb, even if only the lion is
likely to get up again, but the lion will not lie down with the rat.
Vermin, Drumknott, an entire race reduced to vermin!"

  [Snuff, by Terry Pratchett]
%e passage
# p. 6
%passage 4
Vimes grunted.  "Where there are policemen there's crime, sergeant,
remember that."

"Yes, I do, sir, although I think it sounds better with a little reordering
of the words."

  [Snuff, by Terry Pratchett]
%e passage
# pp. 46-47 (passage starts mid-paragraph and ends mid-paragraph; it's a
#           long slog for a weak punchline...)
%passage 5
"[...]  The third earl, 'Mad' Jack Ramkin, had a brother called
Woolsthorpe, probably for his sins.  He was something of a scholar and
would have been sent to the university to become a wizard were it not for
the fact that his brother let it be known that any male sibling of his who
took up a profession that involved wearing a dress would be disinherited
with a cleaver.

"Nevertheless, young Woolsthorpe persevered in his studies in natural
philosophy in the way a gentleman should, by digging into any suspicious-
looking burial mounds he could find in the neighborhood, filling up his
lizard press with as many rare species as he could collect, and drying
samples of any flowers he could find before they became extinct.  The
story runs that, on one warm summer day, he dozed off under an apple tree
and was awakened when an apple fell on his head.  A lesser man, as his
biographer put it, would have seen nothing untoward about this, but
Woolsthorpe surmised that, since apples and practically everything else
always fell down, then the world would eventually become dangerously
unbalanced... unless there was another agency involved that natural
philosophy had yet to discover.  He lost no time in dragging one of the
footmen to the orchard and ordering him, on the pain of dismissal, to lie
under the tree until an apple hit him on the head!  The possibility of
this happening was increased by another footman who had been told by
Woolsthorpe to shake the tree vigorously until the required apple fell.
Woolsthorpe was ready to observe this from a distance.

"Who can imagine his joy when the inevitable apple fell and a second apple
was seen rising from the tree and disappearing at speed into the vaults of
heaven, proving the hypothesis that what goes up must come down, provided
that what goes down must come up, thus safeguarding the equilibrium of the
Universe.  Regrettably, this only works with apples and, amazingly, only
the apples on this one tree, /Malus equilibria/!  I hear that someone has
worked out that the apples at the top of the tree fill with gas and fly up
when the tree is disturbed so that it can set its seeds some way off.
Wonderful thing, nature, shame the fruit tastes like dog's business,"
Willikins added as Young Sam spat some out.  [...]

  [Snuff, by Terry Pratchett]
%e passage
# p. 100
%passage 6
"Look, Willikins, I don't like to involve you in all this.  It's only a
hunch, after all."

Willikins waved this away.  "You wouldn't keep me out of it for a big
clock, sir, because all this is tickling my fancy as well.  I shall lay
out a selection of cutting edges for you in your dressing room, sir, and I
myself will go up to the copse half an hour before you're due to be there,
with my trusty bow and an assortment of favorite playthings.  It's nearly
full moon, clear skies, there'll be shadows everywhere, and I'll be
standing in the darkest one of them."

Vimes looked at him for a moment and said, "Could I please amend that
suggestion?  Could you not be there in the second darkest shadow one hour
before midnight, to see who steps into the darkest shadow?"

"Ah yes, that's why you command the watch, sir," said Willikins, and to
Vimes's shock there was a hint of a tear in the man's voice.  "You're
listening to the street, aren't you, sir, yes?"

Vimes shrugged.  "No streets here, Willikins."

Willikins shook his head.  "Once a street boy, always a street boy, sir.
It comes with us, in the pinch.  Mothers go, fathers go--if we ever knew
who they were--but the Street, well, the Street looks after us.  In the
pinch it keeps us alive."

  [Snuff, by Terry Pratchett]
%e passage
# p. 116 (passage ends mid-paragraph)
%passage 7
Well, we live and learn, Vimes thought, or perhaps more importantly, we
learn and live.  [...]

  [Snuff, by Terry Pratchett]
%e passage
# p. 153
%passage 8
In the country, there is always somebody watching you, he thought as they
sped along.  Well, there was always somebody watching you in the city, too,
but that was generally in the hope that you might drop dead and they could
run off with your wallet.  They were never /interested/.  But here he
thought he could feel many eyes on him.  Maybe they belonged to squirrels
or badgers, or whatever the damn things were that Vimes heard at night;
gorillas, possibly.

  [Snuff, by Terry Pratchett]
%e passage
# pp. 169-170
%passage 9
"Well, sir, it looks as though they're pleased to see us, yes?"

Feeney's relief and hope should have been bottled and sold to despairing
people everywhere.  Vimes just nodded, because the ranks were pulling
apart, leaving a pathway of sorts, at the end of which there was,
inarguably, a corpse.  It was a mild relief to see that it was a goblin
corpse, but no corpse is good news, particularly when seen in a grimy low
light and especially for the corpse.  And yet something inside him exulted
and cried /Hallelujah!/, because here was a corpse and he was a copper
and this was a crime and this place was smoky and dirty and full of
suspicious-looking goblins and here was a /crime/.  His world.  Yes, here
was /his/ world.

  [Snuff, by Terry Pratchett]
%e passage
# p. 211
%passage 10
Vimes lay back in the bed, enjoying the wonderful sensation of gradually
being eaten by the pillows, and said to Sybil, "Do the Rust family have a
place down here?"

Too late he reflected that this might be a bad move because she might well
have told him all about it on one of those occasions when, so unusually for
a married man, he was not paying much attention to what his wife was
saying, and therefore he might be the cause of grumpiness in those
precious, warm minutes before sleep.  All he could see of her right now
was the very tip of her nose, as the pillows claimed her, but she mumbled,
drowsily, "Oh, they bought Hangnail Manor ten years or so ago, after the
Marquis of Fantailer murdered his wife with a pruning knife in the
pineapple house.  Don't you remember?  You spent weeks searching the city
for him.  In the end everybody seemed to think he'd gone off to Fourecks
and disguised himself by not calling himself the Marquis of Fantailer."

"Oh yes," said Vimes, "and I remember that a lot of his chums were quite
indignant about the investigation!  They said he'd only done one murder,
and it was his wife's fault for having the bad taste to die after just one
little stab!"

  [Snuff, by Terry Pratchett]
%e passage
# p. 212 (passage starts mid-paragraph and ends mid-paragraph)
%passage 11
[...] he had heard that writers spent all day in their dressing gowns
drinking champagne.(1)  [...]

(1) This is, of course, absolutely true.

  [Snuff, by Terry Pratchett]
%e passage
# p. 217 (passage starts mid-paragraph and ends mid-paragraph)
%passage 12
"[...] and the Summoning Dark is /real/.  It's not all in your head,
commander:  no matter what you hear, I sometimes hear it too.  Oh dear,
you of all people must recognize a substition when you're possessed by it?
It's the opposite of superstition:  it's real even if you don't believe
in it.  [...]"

  [Snuff, by Terry Pratchett]
%e passage
# p. 233
%passage 13
Vimes frowned.  He couldn't remember ever going into a church or a temple
or one of the numerous other places of more or less spirituality for any
other reason than the occasional requirements of the job.  These days he
tended to go in for reasons of Sybil, i.e., his wife dragging him along
so that he could be seen, and, if possible, seen remaining awake.

No, the world of next worlds, afterlives, and purgatorial destinations
simply did not fit into his head.  Whether you wanted it or not, you were
born, you did the best you could, and then, whether you really wanted to
or not, you died.  They were the only certainties, and so the best thing
for a copper to do was to get on with the job.  And it was about time
that Sam Vimes got back to doing his.

  [Snuff, by Terry Pratchett]
%e passage
# p. 254 (passage starts mid-paragraph)
%passage 14
[...]  And maybe if I distinguish myself I can get a job in the city, so
that my mum can live in a place where you don't lie awake at night
listening to the mice fighting the cockroaches--hooray!(1)

(1) Regrettably, Constable Upshot was overly hopeful:  in Ankh-Morpork the
mice and cockroaches had decided to forget their differences and gang up
on the humans.

  [Snuff, by Terry Pratchett]
%e passage
# p. 403 (passage starts mid-paragraph)
%passage 15
"[...]  And I remember reading somewhere that you would arrest the gods
for doing it wrong."

Vimes shook his head.  "I'm sure I never said anything of the sort!  But
law is order and order is law and it must be the highest thing.  The world
runs on it, the heavens run on it and without order, lad, one second
cannot follow another."

  [Snuff, by Terry Pratchett]
%e passage
# p. 404 (footnote)
%passage 16
The sound of the gentle rattle of china cup on china saucer drives away
all demons, a little-known fact.

  [Snuff, by Terry Pratchett]
%e passage
%e title
#
#
#
%title Raising Steam (13)
# p. 281 (Anchor Books edition; passage starts mid-paragraph)
%passage 1
[...]  And yesterday you never thought about it and after today you don't
know what you would do without it.  That was what the technology was doing.
It was your slave but, in a sense, it might be the other way round.

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 358 (passage starts mid-paragraph and ends mid-paragraph; quote is
#         attributed to Lord Vetinari but he's not present in the scene)
%passage 2
"If you take enough precautions, you never need to take precautions."

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 57 (Anchor Books edition)
%passage 3
Rhys Rhysson, Low King of the dwarfs, was a dwarf of keen intelligence,
but he sometimes wondered why someone with that intelligence would go into
dwarfish politics, let alone be King of the Dwarfs.  Lord Vetinari had it
so easy he must hardly know he was born!  The King thought that humans
were, well, reasonably sensible, whereas there was an old dwarf proverb
which, translated, said, "Any three dwarfs having a sensible conversation
will always end up having four points of view."

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 64
%passage 4
Curious, the Patrician thought, as Drumknott hurried away to dispatch a
clacks to the editor of the /Times/, that people in Ankh-Morpork professed
not to like change while at the same time fixating on every new
entertainment and diversion that came their way.  There was nothing the
mob liked better than novelty.  Lord Vetinari sighed again.  Did they
actually think?  These days /everybody/ used the clacks, even little old
ladies who used it to send him clacks messages complaining about all
these newfangled ideas, totally missing the irony.  And in this doleful
mood he ventured to wonder if they ever thought back to when things were
just old-fangled or not fangled at all as against the modern day when
fangled had reached its apogee.  Fangling was indeed, he thought, here
to stay.  Then he wondered: had anyone ever thought of themselves as a
fangler?

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 175 (third paragraph has a final sentence, but it's about 'grags'
#         which wouldn't make any sense here where's no context about them)
%passage 5
"Mister Lipwig, you know what they say about dwarfs?"

Moist looked blank.  "Very small people?"

"'Two dwarfs is an argument, three dwarfs is a war,' Mister Lipwig.  It's
squabble, squabble, squabble.  It's built into their culture.  [...]"

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 233 (second paragraph of a footnote)
%passage 6
There clearly has been magic at work in the Netherglades and its future as
the pharmacopoeia of the world is being tested by Professor Rincewind of
Unseen University.  A dispatch from him reveals that the juice pressed from
a certain little yellow flower induces certainty in the patient for up to
fifteen minutes.  About what they are certain they cannot specify, but the
patient is, in that short time, completely certain about /everything/.  And
further research has found that a floating water hyacinth yields in its
juices total /un/certainty about anything for half a hour.  Philosophers
are excited about the uses for these potions, and the search continues for
a plant that combines the qualities of both, thereby being of great use to
theologians.

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 288
%passage 7
The town of Big Cabbage, theoretically the last place any sensible person
would want to visit, was nevertheless popular throughout the summer because
of the attractions of Brassica World and the Cabbage Research Institute,
whose students were the first to get a cabbage to a height of five hundred
yards propelled entirely by its own juices.  Nobody asked why they felt it
was necessary to do this, but that was science for you, and, of course,
students.

  [Raising Steam, by Terry Pratchett]
%e passage
# pp. 363-364 ("Of the Wheel the Spoke" is the goblin's formal name; perhaps
#              a new name chosen or given after inventing the bicycle?)
%passage 8
A few weeks later, Drumknott persuaded Lord Vetinari to accompany him to
the area behind the palace where a jungle of drain pipes emptied and
several mismatched sheds, washhouses, and lean-tos housed some of the
necessary functions without which a modern palace could not operate.(1)

There was a young goblin waiting there, rather nervous, clasping what
looked like two wheels held together by not very much.  The wheels were
spinning.

Drumknott cleared his throat.  "Show his lordship your new invention,
Mister Of the Wheel the Spoke."

(1) Frankly most palaces are just like this.  Their backsides do not bear
looking at.

  [Raising Steam, by Terry Pratchett]
%e passage
##
# passages 9..13 added after 3.6.0's release
##
# pp. 20-21
%passage 9
Moist Von Lipwig had done some heavy work once and couldn't see any future
in it, but he could look at it for hours, provided other people were doing
it, of course, and clearly some of them liked what they were doing, and so
he shrugged and felt happy that Crisp was happy being a handyman whilst
Moist was happy not picking up anything that was heavier than a glass.
After all, his work was unseen and depended on words, which were
fortunately not very heavy and didn't need grease.  In his career as a
crook they had served him well and now he felt somewhat smug at using them
to the benefit of the citizenry.

There was a difference between a banker and a crook, there really was, and
although it was very, very teeny Moist felt that he should point out that
it did exist and, besides, Lord Vetinari always had his eye on him.

So everybody was happy and Moist went to work in very clean clothes and
with a very clean conscience.

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 22
%passage 10
Harry, red-faced and impatient, looked over his desk and said to him, "Lad,
time is money and I'm a busy man.  You told Nancy down on reception that
you've got something I might like.  Now stop fidgeting and look me in the
face square like.  If you're another chancer wanting to bamboozle me I'll
have you down the Effing stairs(1) before you know it."

(1) The wonderfully colored oak wood of the Effing Forest was much in
demand for high-class joinery.

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 80
%passage 11
Moist knew about the zeitgeist, he tasted it in the wind, and sometimes it
allowed him to play with it.  He understood it, and now it hinted at speed,
escape, something wonderfully new, the very bones of the land awakening,
and suddenly it seemed to cry out for motion, new horizons, faraway places,
/anywhere that is not here/!  No doubt about it, the railway was going to
turn coal into gold.

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 195 (passage starts mid-paragraph and ends mid-paragraph)
%passage 12
And the trouble with madness was that the mad didn't know they were mad.

  [Raising Steam, by Terry Pratchett]
%e passage
# p. 284 (passage starts mid-paragraph; speaker is Cmdr Vimes of the Watch)
%passage 13
"[...]  That's the trouble, you see.  When you've had hatred on your tongue
for such a long time, you don't know how to spit it out."

  [Raising Steam, by Terry Pratchett]
%e passage
%e title
#
#
# Sir Terry Pratchett's final book, published posthumously.
# The story is complete, but the length is substantially shorter than
# other recent Discworld novels.  Presumably it would have been expanded
# if he had had more time to work on it....
#
%title The Shepherd's Crown (7)
# pp. 29-30 (Harper edition)
%passage 1
"It's an inconvenience, true enough, and I don't like it at all, but I
know that you do it for everyone, Mr. Death.  Is there any other way?"

NO, THERE ISN'T, I'M AFRAID.  WE ARE ALL FLOATING IN THE WINDS OF TIME.
BUT YOUR CANDLE, MISTRESS WEATHERWAX, WILL FLICKER FOR SOME TIME BEFORE
IT GOES OUT--A LITTLE REWARD FOR A LIFE WELL LIVED.  FOR I CAN SEE THE
BALANCE AND YOU HAVE LEFT THE WORLD MUCH BETTER THAN YOU FOUND IT, AND
IF YOU ASK ME, said Death, NOBODY COULD DO ANY BETTER THAN THAT....

  [The Shepherd's Crown, by Terry Pratchett]
%e passage
# p. 30 ('she' is Miss Tick, a travelling witch who finds new witches;
#        'under water' is spelled as two words; 'ducking' is accurate)
%passage 2
She sighed.  It was such a shame when old customs disappeared.  A good
witch-ducking was something she had liked doing in the bad old days--she
had even /trained/ for it.  All those swimming lessons, and practice with
knots at the Quirm College for Young Ladies.  She had been able to defeat
the mobs under water if necessary.  Or at least work at breaking her own
record for untying the simple knots they all thought worked on the nasty
witch.

Now, a bit of pond-dipping had become more like a hobby, and she had a
nasty feeling that others were copying her after she passed through their
villages.  She'd even heard talk of a swimming club being started in one
small hamlet over by Ham-on-Rye.(1)

(1) A popular idea among the young lads, since they felt that everyone--
and "everyone" definitely included the young ladies--should swim without
their clothes.

  [The Shepherd's Crown, by Terry Pratchett]
%e passage
# p. 37 (passage starts mid-paragraph; 'she' is Tiffany Aching)
%passage 3
Not for the first time, she wondered how it was that cats seemed to be
able to be in one place one moment, and then /almost at the same time/,
reappear somewhere else.(1)

(1) She did not know it, but a keen young philosopher in Ephebe had
pondered exactly that same conumdrum, until he was found one morning--
most of him, anyway--surrounded by a number of purring, and very well fed,
cats.  No one had seemed keen to continue his experiments after that.

  [The Shepherd's Crown, by Terry Pratchett]
%e passage
# pp. 112-113 (the footnote has a misprint of mismatched quotes: "Chuffley')
%passage 4
Roland de Chumsfanleigh,(1) the young Baron on the Chalk /did/ want to be
like his father in many ways.  He knew the old man had been popular--what
was known as an "old-school Baron," which meant that everyone knew what
to expect and the guards polished up their armor and saluted, and did
what was expected of /them/, while the Baron did what was expected of him,
and pretty much left them alone.

But his father had also been a bit of a bad-tempered bully at times.  And
/that/ bit Roland wanted to forget about.  He particularly wanted to sound
the right note when he called round to see Tiffany Aching at Home Farm.
For they had once been good friends, and to Roland's alarm, Tiffany was
thought of as a good friend by his wife Letitia.  Any man with sense was
wise to be fearful of a wife's best friends.  For who knew what ... little
secrets might be shared.  Roland, having been educated at home and with
limited knowledge of the world outside the Chalk, feared that "little"
might be /exactly/ the kind of comment Letitia might share with Tiffany.

(1) Pronounced "Chuffley" under the strange rule that the more gentrified
a family is, the more peculiar the pronunciation of their name becomes.
Tiffany had once heard a high-born visitor named Ponsonby-Macklewright
(/Pwt/) refer to Roland as /Chf/.  She wondered how they managed at dinner
when /Pwt/ introduced /Chf/ to /Wm/ or /Hmpfh/.  Surely it could lead to
misunderstandings?

  [The Shepherd's Crown, by Terry Pratchett]
%e passage
# p. 158
%passage 5
He kicked the helmet of his chief, the Big Man of the clan, and shouted,
"There's elves here!  I can smell it, ye ken!"

And from every hole in turn, the clan of the Nac Mac Feegle poured out in
their hundreds to deal with the ancient enemy, waving claymores and swords,
yodeling their war cries:

"Ach, stickit yer trakkans!"

"Nac Mac Feegle wha hae!"

"Gae awa' wi' ye, yer bogle!"

"Gi'e you sich a guid kickin'!"

"Nae king!  Nae quin!  We will nae be fooled agin!"

There is a concept known as a hustle and bustle, and the Feegles were very
good at it, cheerfully getting in one another's way in the drive to be the
first into battle, and it seemed as if each small warrior had a battle cry
of his own--and he was very ready to fight anyone who tried to take it
away from him.

"How many elves?" asked Rob Anybody, trying to adjust his spog.

There was a pause.

"One," said Big Yan sheepishly.

  [The Shepherd's Crown, by Terry Pratchett]
%e passage
# p. 159 (passage starts mid-paragraph. 'oor' is accurate)
%passage 6
"This elf is oor prisoner.  A hostage, ye ken.  That means ye are nae tae
kill it until ye are told."  He ignored the grumbles from the clan.  "As
tae the rest o' ye, tak guard around yon stones.  And if they come in
force, show them what the Feegles can dae!"

Daft Wullie said, "I can play the harmonica."

Rob Anybody sighed.  "Aye, weel, I suppose that puts the willies up me,
so wud likely keep them awa'."

  [The Shepherd's Crown, by Terry Pratchett]
%e passage
# p. 202
%passage 7
Sometimes, Tiffany thought, I am so /fed up/ with being young.(1)

(1) A thought that she would most certainly grow out of, assuming she
survived long enough.

  [The Shepherd's Crown, by Terry Pratchett]
%e passage
%e title
#
%e section
#
#-----------------------------------------------------
# Used for interaction with Death.
#
# Death Quotes are always one line, and '%e passage' can be omitted.
#
%section Death
%title Death Quotes (31)
%passage 1
WHERE THE FIRST PRIMAL CELL WAS, THERE WAS I ALSO.  WHERE MAN IS, THERE AM I.  WHEN THE LAST LIFE CRAWLS UNDER FREEZING STARS, THERE WILL I BE.
%e passage
# Feet of Clay, p. 17 (Harper Torch edition)
%passage 2
I AM DEATH, NOT TAXES.  /I/ TURN UP ONLY ONCE.
%e passage
# Men at Arms, p. 27 (Harper Torch edition)
%passage 3
THINK OF IT MORE AS BEING ... DIMENSIONALLY DISADVANTAGED.
%e passage
# Soul Music, p. 146 (Harper Torch edition; we omit "said Death," after comma)
%passage 4
I MAY HAVE ALLOWED MYSELF SOME FLICKER OF EMOTION IN THE RECENT PAST, BUT I CAN GIVE IT UP ANY TIME I LIKE.
%e passage
%passage 5
# Not a direct quote, but a reference to Thief of Time and the fact that
# the player is War
HAVE YOU SPOKEN TO RONNIE LATELY?
%e passage
# Raising Steam, p. 180 (Anchor Books edition)
%passage 6
PLEASE DO NOT PANIC.  YOU ARE MERELY DEAD.
%e passage
# Small Gods, p. 90 (Harper Torch edition)
%passage 7
THERE IS A LITTLE CONFUSION AT FIRST.  IT IS ONLY TO BE EXPECTED.
%e passage
# Hogfather, p. 343 (Harper Torch edition; Death "lives" outside of normal
#                    time and space)
%passage 8
THERE IS ALWAYS TIME FOR ANOTHER LAST MINUTE.
# Wintersmith, p. 187 (HarperTeen edition; dying Miss Treason takes a ham
# [too silly?]         sandwich with her to the grave, and it accompanies
#                      her to the afterlife, but its condiments don't)
%passage 9
MUSTARD IS ALWAYS TRICKY.
%passage 10
PICKLES OF ALL SORTS DON'T SEEM TO MAKE IT.  I'M SORRY.
# The Colour of Magic, p. 68 (Signet edition)
%passage 11
IT WON'T HURT A BIT.
# p. 177
%passage 12
SHALL WE GO?
# p. 251 (speaker is actually a demon named 'Scrofula' filling in for Death)
%passage 13
I HAVE COME FOR THEE.
# The Light Fantastic, p. 52 (Signet edition; quote has quotation marks but
#                             including them here wouldn't fit with the rest;
#                             Death is addressing an elderly wizard who went
#                             to extreme measures to hide himself [from Death])
%passage 14
DARK IN HERE, ISN'T IT?
# Equal Rites, p. 14 (Signet edition; second sentence continues
#                     'said the deep, heavy voice...')
%passage 15
THERE IS NO GOING BACK.  THERE IS NO GOING BACK.
# p. 15 (contradicts later descriptions of Death as existing outside of time;
#        presumably it's just intended as a colloquial expression)
%passage 16
I HAVEN'T GOT ALL DAY, YOU KNOW.
# p. 15 (same page)
%passage 17
LIFE IS FOR THE LIVING.
# Mort, p. 148 (Signet edition)
%passage 18
NO-ONE EVER WANTED TO TALK TO ME BEFORE.
# p. 149
%passage 19
I HAVEN'T GOT A SINGLE FRIEND.  EVEN CATS FIND ME AMUSING.
# Sourcery, p. 12 (Signet edition)
%passage 20
YOU'RE ONLY PUTTING OFF THE INEVITABLE.
# Wyrd Sisters, p. 11 (ROC edition)
%passage 21
I SAID WAS.  IT'S CALLED THE PAST TENSE.  YOU'LL SOON GET USED TO IT.
# p. 13
%passage 22
DON'T LET IT UPSET YOU.
# Pyramids, p. 57 (ROC edition)
%passage 23
I CAN SEE THAT YOU HAVE GOT A LOT TO THINK ABOUT.
# Eric, p. 134 (Harper Torch edition)
%passage 24
PERHAPS IT'S TIME TO CALL IT A DAY.
# Moving Pictures, p. 260 (ROC edition)
%passage 25
I KNOW WHEN EVERYONE'S HAD ENOUGH.
# Reaper Man, p. 10 (ROC edition)
%passage 26
I HAVE ALWAYS DONE MY DUTY AS I SAW FIT.
# p. 18
%passage 27
I AM NOT KNOWN FOR MY SENSE OF FUN.
# p. 160
%passage 28
I MEAN THAT THERE IS A TIME FOR EVERYONE TO DIE.
# p. 227
%passage 29
JUST BECAUSE SOMETHING IS A METAPHOR DOESN'T MEAN IT CAN'T BE REAL.
# p. 334
%passage 30
I AM ALWAYS ALONE.  BUT JUST NOW I WANT TO BE ALONE BY MYSELF.
# Witches Abroad, p. 298 (Death's explanation why he didn't come for zombie 12
#                         years earlier:  YOU STOPPED LIVING.  YOU NEVER DIED.)
%passage 31
I HAD AN APPOINTMENT WITH YOU TONIGHT.
%e title
%e section
#
#eof
-- NetHack endgame air.lua	$NHDT-Date: 1652196019 2022/05/10 15:20:19 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
--                      and Timo Hakulinen
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "shortsighted", "stormy")
-- The following messages are somewhat obtuse, to make then
-- equally meaningful if the player can see or not.
des.message("What a strange feeling!")
des.message("You notice that there is no gravity here.")
-- The player lands, upon arrival, in the
-- lower-left area.  The location of the
-- portal to the next level is randomly chosen.
-- This map has no visible outer boundary, and
-- is all "air".
des.map([[
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
]]);
-- Use up and down regions to partition the level into three parts;
-- teleportation can't cross from one part into another.
-- The up region is where you'll arrive after activating the portal from
-- the preceding level; the exit portal is placed inside the down region.
des.teleport_region({ region = {01,00,24,20}, region_islev = 1, exclude = {25,00,79,20}, exclude_islev=1, dir="up" })
des.teleport_region({ region = {56,00,79,20}, region_islev = 1, exclude = {01,00,55,20}, exclude_islev=1, dir="down" })

-- des.portal(levregion(57,01,78,19),(0,0,0,0),"fire")
des.levregion({ region = {57,01,78,19}, region_islev=1, type="portal", name="fire" });
des.region(selection.area(00,00,75,19),"lit")
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })
des.monster({ id = "air elemental", peaceful = 0 })

des.monster({ id = "floating eye", peaceful = 0 })
des.monster({ id = "floating eye", peaceful = 0 })
des.monster({ id = "floating eye", peaceful = 0 })

des.monster({ id = "yellow light", peaceful = 0 })
des.monster({ id = "yellow light", peaceful = 0 })
des.monster({ id = "yellow light", peaceful = 0 })

des.monster("couatl")

des.monster("D")
des.monster("D")
des.monster("D")
des.monster("D")
des.monster("D")

des.monster("E")
des.monster("E")
des.monster("E")
des.monster("J")
des.monster("J")

des.monster({ id = "djinni", peaceful = 0 })
des.monster({ id = "djinni", peaceful = 0 })
des.monster({ id = "djinni", peaceful = 0 })

des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "fog cloud", peaceful = 0 })
des.monster({ id = "energy vortex", peaceful = 0 })
des.monster({ id = "energy vortex", peaceful = 0 })
des.monster({ id = "energy vortex", peaceful = 0 })
des.monster({ id = "energy vortex", peaceful = 0 })
des.monster({ id = "energy vortex", peaceful = 0 })
des.monster({ id = "steam vortex", peaceful = 0 })
des.monster({ id = "steam vortex", peaceful = 0 })
des.monster({ id = "steam vortex", peaceful = 0 })
des.monster({ id = "steam vortex", peaceful = 0 })
des.monster({ id = "steam vortex", peaceful = 0 })

-- NetHack Archeologist Arc-fila.lua	$NHDT-Date: 1652195998 2022/05/10 15:19:58 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster("S")
           end
});

des.room({ type = "ordinary",
         contents = function()
            des.object()
            des.object()
            des.monster("S")
         end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster("S")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.monster("S")
              des.monster("human mummy")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster("S")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.monster("S")
           end
})

des.random_corridors()
-- NetHack Archeologist Arc-filb.lua	$NHDT-Date: 1652195998 2022/05/10 15:19:58 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster("M")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.monster("M")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster("M")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.monster("S")
              des.monster("human mummy")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster("S")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.monster("S")
           end
})

des.random_corridors()
-- NetHack Archeologist Arc-goal.lua	$NHDT-Date: 1652195998 2022/05/10 15:19:58 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
                                                                            
                                  ---------                                 
                                  |..|.|..|                                 
                       -----------|..S.S..|-----------                      
                       |.|........|+-|.|-+|........|.|                      
                       |.S........S..|.|..S........S.|                      
                       |.|........|..|.|..|........|.|                      
                    ------------------+------------------                   
                    |..|..........|.......|..........|..|                   
                    |..|..........+.......|..........S..|                   
                    |..S..........|.......+..........|..|                   
                    |..|..........|.......|..........|..|                   
                    ------------------+------------------                   
                       |.|........|..|.|..|........|.|                      
                       |.S........S..|.|..S........S.|                      
                       |.|........|+-|.|-+|........|.|                      
                       -----------|..S.S..|-----------                      
                                  |..|.|..|                                 
                                  ---------                                 
                                                                            
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region(selection.area(35,02,36,03), "unlit")
des.region(selection.area(40,02,41,03), "unlit")
des.region(selection.area(24,04,24,06), "unlit")
des.region(selection.area(26,04,33,06), "lit")
des.region(selection.area(38,02,38,06), "unlit")
des.region(selection.area(43,04,50,06), "lit")
des.region(selection.area(52,04,52,06), "unlit")
des.region(selection.area(35,05,36,06), "unlit")
des.region(selection.area(40,05,41,06), "unlit")
des.region(selection.area(21,08,22,11), "unlit")
des.region(selection.area(24,08,33,11), "lit")
des.region(selection.area(35,08,41,11), "unlit")
des.region(selection.area(43,08,52,11), "lit")
des.region(selection.area(54,08,55,11), "unlit")
des.region(selection.area(24,13,24,15), "unlit")
des.region(selection.area(26,13,33,15), "unlit")
des.region(selection.area(35,13,36,14), "unlit")
des.region(selection.area(35,16,36,17), "unlit")
des.region(selection.area(38,13,38,17), "unlit")
des.region(selection.area(40,13,41,14), "unlit")
des.region(selection.area(40,16,41,17), "unlit")
des.region({ region={43,13, 50,15}, lit=0, type="temple", filled=2 })
des.region(selection.area(52,13,52,15), "unlit")
-- Stairs
des.stair("up", 38,10)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- The altar of Huhetotl.  Unattended.
des.altar({ x=50,y=14,align="chaos",type="altar" })
-- Objects
des.object({ id = "crystal ball", x=50, y=14,buc="blessed",spe=5,name="The Orb of Detection" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap("rolling boulder",46,14)
-- Random monsters.
des.monster("Minion of Huhetotl", 50, 14)
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("M")
-- NetHack Archeologist Arc-loca.lua	$NHDT-Date: 1652195999 2022/05/10 15:19:59 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor")

des.map([[
............................................................................
............................................................................
............................................................................
........................-------------------------------.....................
........................|....|.S......................|.....................
........................|....|.|.|+------------------.|.....................
........................|....|.|.|.|.........|......|.|.....................
........................|....|.|.|.|.........|......|.|.....................
........................|---+-.|.|.|..---....+......|.|.....................
........................|....|.|.|.---|.|....|......|.|.....................
........................|....S.|.|.+..S.|--S-----S--|.|.....................
........................|....|.|.|.---|.|....|......+.|.....................
........................|---+-.|.|.|..---....|.------.|.....................
........................|....|.|.|.|.........|.|....+.|.....................
........................|....|.|.|.|.........|+|....|-|.....................
........................|....|.|.|------------+------.S.....................
........................|....|.S......................|.....................
........................-------------------------------.....................
............................................................................
............................................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region({ region={25,04, 28,07}, lit=1, type="temple", filled=2 })
des.region({ region={25,09, 28,11}, lit=0, type="temple", filled=2 })
des.region({ region={25,13, 28,16}, lit=1, type="temple", filled=2 })
des.region(selection.area(30,04,30,16), "lit")
des.region(selection.area(32,04,32,16), "unlit")
des.region({ region={33,04, 53,04}, lit=0, type="ordinary", irregular=1 })
des.region(selection.area(36,10,37,10), "unlit")
des.region(selection.area(39,09,39,11), "unlit")
des.region({ region={36,06, 42,08}, lit=0, type="ordinary", irregular=1 })
des.region({ region={36,12, 42,14}, lit=0, type="ordinary", irregular=1 })
des.region(selection.area(46,06,51,09), "unlit")
des.region({ region={46,11, 49,11}, lit=0, type="ordinary", irregular=1 })
des.region(selection.area(48,13,51,14), "unlit")
-- Doors
des.door("closed",31,04)
des.door("closed",28,08)
des.door("locked",29,10)
des.door("closed",28,12)
des.door("closed",31,16)
des.door("locked",34,05)
des.door("locked",35,10)
des.door("locked",38,10)
des.door("closed",43,10)
des.door("closed",45,08)
des.door("locked",46,14)
des.door("locked",46,15)
des.door("locked",49,10)
des.door("locked",52,11)
des.door("closed",52,13)
des.door("closed",54,15)
-- Stairs
des.stair("up", 03,17)
des.stair("down", 39,10)
-- Altars - three types.  All are unattended.
des.altar({ x=26,y=05,align=align[1], type="altar" })
des.altar({ x=26,y=10,align=align[2], type="altar" })
des.altar({ x=26,y=15,align=align[3], type="altar" })
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Treasure?
des.engraving({ type="engrave", text="X marks the spot." })
des.engraving({ type="engrave", text="X marks the spot." })
des.engraving({ type="engrave", text="X marks the spot." })
des.engraving({ type="engrave", text="X marks the spot." })
-- Random traps
des.trap("spiked pit",24,02)
des.trap("spiked pit",37,00)
des.trap("spiked pit",23,05)
des.trap("spiked pit",26,19)
des.trap("spiked pit",55,10)
des.trap("spiked pit",55,08)
des.trap("pit",51,01)
des.trap("pit",23,18)
des.trap("pit",31,18)
des.trap("pit",48,19)
des.trap("pit",55,15)
des.trap("magic",60,04)
des.trap("statue",72,07)
des.trap("statue")
des.trap("statue")
des.trap("anti magic",64,12)
des.trap("sleep gas")
des.trap("sleep gas")
des.trap("dart")
des.trap("dart")
des.trap("dart")
des.trap("rolling boulder",32,10)
des.trap("rolling boulder",40,16)
-- Random monsters.
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("S")
des.monster("M")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("human mummy")
des.monster("M")
-- NetHack Archeologist Arc-strt.lua	$NHDT-Date: 1652195999 2022/05/10 15:19:59 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Lord Carnarvon
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
............................................................................
............................................................................
............................................................................
............................................................................
....................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.................
....................}-------------------------------------}.................
....................}|..S......+.................+.......|}.................
....................}-S---------------+----------|.......|}.................
....................}|.|...............|.......+.|.......|}.................
....................}|.|...............---------.---------}.................
....................}|.S.\.............+.................+..................
....................}|.|...............---------.---------}.................
....................}|.|...............|.......+.|.......|}.................
....................}-S---------------+----------|.......|}.................
....................}|..S......+.................+.......|}.................
....................}-------------------------------------}.................
....................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.................
............................................................................
............................................................................
............................................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region(selection.area(22,06,23,06), "unlit")
des.region(selection.area(25,06,30,06), "unlit")
des.region(selection.area(32,06,48,06), "unlit")
des.region(selection.area(50,06,56,08), "lit")
des.region(selection.area(40,08,46,08), "unlit")
des.region(selection.area(22,08,22,12), "unlit")
des.region(selection.area(24,08,38,12), "unlit")
des.region(selection.area(48,08,48,08), "lit")
des.region(selection.area(40,10,56,10), "lit")
des.region(selection.area(48,12,48,12), "lit")
des.region(selection.area(40,12,46,12), "unlit")
des.region(selection.area(50,12,56,14), "lit")
des.region(selection.area(22,14,23,14), "unlit")
des.region(selection.area(25,14,30,14), "unlit")
des.region(selection.area(32,14,48,14), "unlit")
-- Stairs
des.stair("down", 55,07)
-- Portal arrival point
des.levregion({ region = {63,06,63,06}, type="branch" })
-- Doors
des.door("closed",22,07)
des.door("closed",38,07)
des.door("locked",47,08)
des.door("locked",23,10)
des.door("locked",39,10)
des.door("locked",57,10)
des.door("locked",47,12)
des.door("closed",22,13)
des.door("closed",38,13)
des.door("locked",24,14)
des.door("closed",31,14)
des.door("locked",49,14)
-- Lord Carnarvon
des.monster({ id = "Lord Carnarvon", coord = {25, 10}, inventory = function()
   des.object({ id = "fedora", spe = 5 });
   des.object({ id = "bullwhip", spe = 4 });
end })
-- The treasure of Lord Carnarvon
des.object("chest", 25, 10)
-- student guards for the audience chamber
des.monster("student", 26, 09)
des.monster("student", 27, 09)
des.monster("student", 28, 09)
des.monster("student", 26, 10)
des.monster("student", 28, 10)
des.monster("student", 26, 11)
des.monster("student", 27, 11)
des.monster("student", 28, 11)
-- city watch guards in the antechambers
des.monster("watchman", 50, 06)
des.monster("watchman", 50, 14)
-- Eels in the moat
des.monster("giant eel", 20, 10)
des.monster("giant eel", 45, 04)
des.monster("giant eel", 33, 16)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty.
des.monster("S", 60, 09)
des.monster("M", 60, 10)
des.monster("S", 60, 11)
des.monster("S", 60, 12)
des.monster("M", 60, 13)
des.monster("S", 61, 10)
des.monster("S", 61, 11)
des.monster("S", 61, 12)
des.monster("S", 30, 03)
des.monster("M", 20, 17)
des.monster("S", 67, 02)
des.monster("S", 10, 19)
-- NetHack gehennom asmodeus.lua	$NHDT-Date: 1652196020 2022/05/10 15:20:20 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel")

local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);

-- First part
local asmo1 = des.map({ halign = "half-left", valign = "center", map = [[
---------------------
|.............|.....|
|.............S.....|
|---+------------...|
|.....|.........|-+--
|..---|.........|....
|..|..S.........|....
|..|..|.........|....
|..|..|.........|-+--
|..|..-----------...|
|..S..........|.....|
---------------------
]], contents = function(rm)
   -- Doors
   des.door("closed",04,03)
   des.door("locked",18,04)
   des.door("closed",18,08)
   --
   des.stair("down", 13,07)
   -- Non diggable walls
   des.non_diggable(selection.area(00,00,20,11))
   -- Entire main area
   des.region(selection.area(01,01,20,10),"unlit")
   -- The fellow in residence
   des.monster("Asmodeus",12,07)
   -- Some random weapons and armor.
   des.object("[")
   des.object("[")
   des.object(")")
   des.object(")")
   des.object("*")
   des.object("!")
   des.object("!")
   des.object("?")
   des.object("?")
   des.object("?")
   -- Some traps.
   des.trap("spiked pit", 05,02)
   des.trap("fire", 08,06)
   des.trap("sleep gas")
   des.trap("anti magic")
   des.trap("fire")
   des.trap("magic")
   des.trap("magic")
   -- Random monsters.
   des.monster("ghost",11,07)
   des.monster("horned devil",10,05)
   des.monster("L")
   -- Some Vampires for good measure
   des.monster("V")
   des.monster("V")
   des.monster("V")
end });

des.levregion({ region={01,00,6,20}, region_islev=1, exclude={6,1,70,16}, exclude_islev=1, type="stair-up" });

des.levregion({ region={01,00,6,20}, region_islev=1, exclude={6,1,70,16}, exclude_islev=1, type="branch" });
des.teleport_region({ region = {01,00,6,20}, region_islev=1, exclude={6,1,70,16}, exclude_islev=1 })

-- Second part
local asmo2 = des.map({ halign = "half-right", valign = "center", map = [[
---------------------------------
................................|
................................+
................................|
---------------------------------
]], contents = function(rm)
   des.mazewalk(32,02,"east")
   -- Non diggable walls
   des.non_diggable(selection.area(00,00,32,04))
   des.door("closed",32,02)
   des.monster("&")
   des.monster("&")
   des.monster("&")
   des.trap("anti magic")
   des.trap("fire")
   des.trap("magic")
end });

local protected = bounds2:negate() | asmo1 | asmo2;
hell_tweaks(protected);
-- NetHack endgame astral.lua	$NHDT-Date: 1652196020 2022/05/10 15:20:20 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.7 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
--                      and Timo Hakulinen
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "nommap", "shortsighted", "solidify")
des.message("You arrive on the Astral Plane!")
des.message("Here the High Temple of %d is located.")
des.message("You sense alarm, hostility, and excitement in the air!")
des.map([[
                              ---------------                              
                              |.............|                              
                              |..---------..|                              
                              |..|.......|..|                              
---------------               |..|.......|..|               ---------------
|.............|               |..|.......|..|               |.............|
|..---------..-|   |-------|  |..|.......|..|  |-------|   |-..---------..|
|..|.......|...-| |-.......-| |..|.......|..| |-.......-| |-...|.......|..|
|..|.......|....-|-.........-||..----+----..||-.........-|-....|.......|..|
|..|.......+.....+...........||.............||...........+.....+.......|..|
|..|.......|....-|-.........-|--|.........|--|-.........-|-....|.......|..|
|..|.......|...-| |-.......-|   -|---+---|-   |-.......-| |-...|.......|..|
|..---------..-|   |---+---|    |-.......-|    |---+---|   |-..---------..|
|.............|      |...|-----|-.........-|-----|...|      |.............|
---------------      |.........|...........|.........|      ---------------
                     -------...|-.........-|...-------                     
                           |....|-.......-|....|                           
                           ---...|---+---|...---                           
                             |...............|                             
                             -----------------                             
]]);

-- chance to alter above map and turn the wings of the bottom-center into
-- a pair of big (5x15) rooms
for i = 1, 2 do
   -- 3.6.[01]: 75% chance that both sides opened up, 25% that neither did;
   -- 3.6.2: 60% twice == 36% chance that both sides open up, 24% left side
   -- only, 24% right side only, 16% that neither side opens up
   local hall;
   if percent(60) then
     if i == 1 then
        des.terrain(selection.area(17,14, 30,18),".")
        des.wallify()
        -- temporarily close off the area to be filled so that it doesn't cover
        -- the entire entry area
        des.terrain(33,18, "|")
        hall = selection.floodfill(30,16)
        -- re-connect the opened wing with the rest of the map
        des.terrain(33,18, ".")
     else
        des.terrain(selection.area(44,14, 57,18),".")
        des.wallify()
        des.terrain(41,18, "|")
        hall = selection.floodfill(44,16)
        des.terrain(41,18, ".")
     end
     -- extra monsters; was [6 + 3d4] when both wings were opened up at once
     for j = 1, math.random(4,9) do
        des.monster({ id="Angel", coord = hall:rndcoord(1), align="noalign", peaceful=0 })
        if percent(50) then
           des.monster({ coord = hall:rndcoord(1), peaceful=0 })
        end
     end
   end
end

-- Rider locations
local place = selection.new();
place:set(23,9);
place:set(37,14);
place:set(51,9);

-- Where the player will land on arrival
des.teleport_region({ region = {29,15,45,15}, exclude = {30,15,44,15} })
-- Lit courts
des.region({ region={01,05,16,14},lit=1,type="ordinary",irregular=1 })
des.region({ region={31,01,44,10},lit=1,type="ordinary",irregular=1 })
des.region({ region={61,05,74,14},lit=1,type="ordinary",irregular=1 })
-- A Sanctum for each alignment
-- The shrines' alignments are shuffled for
-- each game
des.region({ region={04,07,10,11},lit=1,type="temple",filled=2 })
des.region({ region={34,03,40,07},lit=1,type="temple",filled=2 })
des.region({ region={64,07,70,11},lit=1,type="temple",filled=2 })

des.altar({ x=07, y=09, align=align[1],type="sanctum" })
des.altar({ x=37, y=05, align=align[2],type="sanctum" })
des.altar({ x=67, y=09, align=align[3],type="sanctum" })
-- Doors
des.door("closed",11,09)
des.door("closed",17,09)
des.door("locked",23,12)
des.door("locked",37,08)
des.door("closed",37,11)
des.door("closed",37,17)
des.door("locked",51,12)
des.door("locked",57,09)
des.door("closed",63,09)
-- Non diggable and phazeable everywhere
des.non_diggable(selection.area(00,00,74,19))
des.non_passwall(selection.area(00,00,74,19))
-- Moloch's horde
-- West round room
des.monster({ id = "aligned cleric",x=18,y=09,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=19,y=08,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=19,y=09,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=19,y=10,align="noalign", peaceful=0 })
des.monster({ id = "Angel",x=20,y=09,align="noalign", peaceful=0 })
des.monster({ id = "Angel",x=20,y=10,align="noalign", peaceful=0 })
des.monster({ id = "Pestilence", coord = place:rndcoord(1), peaceful=0 })
-- South-central round room
des.monster({ id = "aligned cleric",x=36,y=12,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=37,y=12,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=38,y=12,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=36,y=13,align="noalign", peaceful=0 })
des.monster({ id = "Angel",x=38,y=13,align="noalign", peaceful=0 })
des.monster({ id = "Angel",x=37,y=13,align="noalign", peaceful=0 })
des.monster({ id = "Death", coord = place:rndcoord(1), peaceful=0 })
-- East round room
des.monster({ id = "aligned cleric",x=56,y=09,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=55,y=08,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=55,y=09,align="noalign", peaceful=0 })
des.monster({ id = "aligned cleric",x=55,y=10,align="noalign", peaceful=0 })
des.monster({ id = "Angel",x=54,y=09,align="noalign", peaceful=0 })
des.monster({ id = "Angel",x=54,y=10,align="noalign", peaceful=0 })
des.monster({ id = "Famine", coord = place:rndcoord(1), peaceful=0 })
--
-- The aligned horde
--
-- We do not know in advance the alignment of the
-- player.  The mpeaceful bit will need resetting
-- when the level is created.  The setting here is
-- but a place holder.
--
-- West court
des.monster({ id = "aligned cleric",x=12,y=07,align="chaos", peaceful=0 })
des.monster({ id = "aligned cleric",x=13,y=07,align="chaos",peaceful=1 })
des.monster({ id = "aligned cleric",x=14,y=07,align="law", peaceful=0 })
des.monster({ id = "aligned cleric",x=12,y=11,align="law",peaceful=1 })
des.monster({ id = "aligned cleric",x=13,y=11,align="neutral", peaceful=0 })
des.monster({ id = "aligned cleric",x=14,y=11,align="neutral",peaceful=1 })
des.monster({ id = "Angel",x=11,y=05,align="chaos", peaceful=0 })
des.monster({ id = "Angel",x=12,y=05,align="chaos",peaceful=1 })
des.monster({ id = "Angel",x=13,y=05,align="law", peaceful=0 })
des.monster({ id = "Angel",x=11,y=13,align="law",peaceful=1 })
des.monster({ id = "Angel",x=12,y=13,align="neutral", peaceful=0 })
des.monster({ id = "Angel",x=13,y=13,align="neutral",peaceful=1 })
-- Central court
des.monster({ id = "aligned cleric",x=32,y=09,align="chaos", peaceful=0 })
des.monster({ id = "aligned cleric",x=33,y=09,align="chaos",peaceful=1 })
des.monster({ id = "aligned cleric",x=34,y=09,align="law", peaceful=0 })
des.monster({ id = "aligned cleric",x=40,y=09,align="law",peaceful=1 })
des.monster({ id = "aligned cleric",x=41,y=09,align="neutral", peaceful=0 })
des.monster({ id = "aligned cleric",x=42,y=09,align="neutral",peaceful=1 })
des.monster({ id = "Angel",x=31,y=08,align="chaos", peaceful=0 })
des.monster({ id = "Angel",x=32,y=08,align="chaos",peaceful=1 })
des.monster({ id = "Angel",x=31,y=09,align="law", peaceful=0 })
des.monster({ id = "Angel",x=42,y=08,align="law",peaceful=1 })
des.monster({ id = "Angel",x=43,y=08,align="neutral", peaceful=0 })
des.monster({ id = "Angel",x=43,y=09,align="neutral",peaceful=1 })
-- East court
des.monster({ id = "aligned cleric",x=60,y=07,align="chaos", peaceful=0 })
des.monster({ id = "aligned cleric",x=61,y=07,align="chaos",peaceful=1 })
des.monster({ id = "aligned cleric",x=62,y=07,align="law", peaceful=0 })
des.monster({ id = "aligned cleric",x=60,y=11,align="law",peaceful=1 })
des.monster({ id = "aligned cleric",x=61,y=11,align="neutral", peaceful=0 })
des.monster({ id = "aligned cleric",x=62,y=11,align="neutral",peaceful=1 })
des.monster({ id = "Angel",x=61,y=05,align="chaos", peaceful=0 })
des.monster({ id = "Angel",x=62,y=05,align="chaos",peaceful=1 })
des.monster({ id = "Angel",x=63,y=05,align="law", peaceful=0 })
des.monster({ id = "Angel",x=61,y=13,align="law",peaceful=1 })
des.monster({ id = "Angel",x=62,y=13,align="neutral", peaceful=0 })
des.monster({ id = "Angel",x=63,y=13,align="neutral",peaceful=1 })
--
-- Assorted nasties
des.monster({ class = "L", peaceful=0 })
des.monster({ class = "L", peaceful=0 })
des.monster({ class = "L", peaceful=0 })
des.monster({ class = "V", peaceful=0 })
des.monster({ class = "V", peaceful=0 })
des.monster({ class = "V", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
-- NetHack gehennom baalz.lua	$NHDT-Date: 1652196020 2022/05/10 15:20:20 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " ", lit = 0 });

-- TODO FIXME: see baalz_fixup - the legs get removed currently.

des.level_flags("mazelevel", "corrmaze")
-- the two pools are fakes used to mark spots which need special wall fixups
-- the two iron bars are eyes and spots to their left will be made diggable
des.map({ halign = "right", valign = "center", map = [[
-------------------------------------------------
|                   ----               ----      
|          ----     |     -----------  |         
| ------      |  ---------|.........|--P         
| F....|  -------|...........--------------      
---....|--|..................S............|----  
+...--....S..----------------|............S...|  
---....|--|..................|............|----  
| F....|  -------|...........-----S--------      
| ------      |  ---------|.........|--P         
|          ----     |     -----------  |         
|                   ----               ----      
-------------------------------------------------
]] });
des.levregion({ region = {01,00,15,20}, region_islev=1, exclude={15,1,70,16}, exclude_islev=1, type="stair-up" })
des.levregion({ region = {01,00,15,20}, region_islev=1, exclude={15,1,70,16}, exclude_islev=1, type="branch" })
des.teleport_region({region = {01,00,15,20}, region_islev=1, exclude = {15,1,70,16}, exclude_islev=1 })
-- this actually leaves the farthest right column diggable
des.non_diggable(selection.area(00,00,47,12))
des.mazewalk(00,06,"west")
des.stair("down", 44,06)
des.door("locked",00,06)
-- The fellow in residence
des.monster("Baalzebub",35,06)
-- Some random weapons and armor.
des.object("[")
des.object("[")
des.object(")")
des.object(")")
des.object("*")
des.object("!")
des.object("!")
des.object("?")
des.object("?")
des.object("?")
-- Some traps.
des.trap("spiked pit")
des.trap("fire")
des.trap("sleep gas")
des.trap("anti magic")
des.trap("fire")
des.trap("magic")
des.trap("magic")
-- Random monsters.
des.monster("ghost",37,07)
des.monster("horned devil",32,05)
des.monster("barbed devil",38,07)
des.monster("L")
-- Some Vampires for good measure
des.monster("V")
des.monster("V")
des.monster("V")

-- NetHack Barbarian Bar-fila.lua	$NHDT-Date: 1652195999 2022/05/10 15:19:59 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg=".", smoothed=true, joined=true, lit=0, walled=false })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ class = "O", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
-- NetHack Barbarian Bar-filb.lua	$NHDT-Date: 1652196000 2022/05/10 15:20:00 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, lit=0, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ class = "O", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ class = "T", peaceful=0 })
-- NetHack Barbarian Bar-goal.lua	$NHDT-Date: 1652196000 2022/05/10 15:20:00 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
                                                                            
                               .............                                
                             ..................                             
        ....              .........................          ....           
      .......          ..........................           .......         
      ......             ........................          .......          
      ..  ......................................             ..             
       ..                 .....................             ..              
        ..                 ..................              ..               
         ..         ..S...S..............   ................                
          ..                   ........                ...                  
       .........                                         ..                 
       ......  ..                                         ...  ....         
      .. ...    ..                             ......       ........        
   ....          .. ..................        ........       ......         
  ......          ......................       ......         ..            
   ....             ..................              ...........             
                      ..............                                        
                        ...........                                         
                                                                            
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "unlit")
-- Secret doors
des.door("locked",22,09)
des.door("locked",26,09)
-- Stairs
des.stair("up", 36,05)
-- The altar.  Unattended.
des.altar({ x=63,y=04,align="noncoaligned", type="altar" })
des.non_diggable(selection.area(00,00,75,19))
-- Objects
des.object({ id = "luckstone", x=63, y=04,buc="blessed",spe=0,name="The Heart of Ahriman" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "Thoth Amon", x=63, y=04, peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ class = "O", peaceful=0 })
des.monster({ class = "O", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ class = "T", peaceful=0 })
des.wallify()

-- NetHack Barbarian Bar-loca.lua	$NHDT-Date: 1652196000 2022/05/10 15:20:00 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor")

des.map([[
..........PPP.........................................                      
...........PP..........................................        .......      
..........PP...........-----..........------------------     ..........     
...........PP..........+...|..........|....S...........|..  ............    
..........PPP..........|...|..........|-----...........|...  .............  
...........PPP.........-----..........+....+...........|...  .............  
..........PPPPPPPPP...................+....+...........S.................   
........PPPPPPPPPPPPP.........-----...|-----...........|................    
......PPPPPPPPPPPPPP..P.......+...|...|....S...........|          ...       
.....PPPPPPP......P..PPPP.....|...|...------------------..         ...      
....PPPPPPP.........PPPPPP....-----........................      ........   
...PPPPPPP..........PPPPPPP..................................   ..........  
....PPPPPPP........PPPPPPP....................................  ..........  
.....PPPPP........PPPPPPP.........-----........................   ........  
......PPP..PPPPPPPPPPPP...........+...|.........................    .....   
..........PPPPPPPPPPP.............|...|.........................     ....   
..........PPPPPPPPP...............-----.........................       .    
..............PPP.................................................          
...............PP....................................................       
................PPP...................................................      
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region(selection.area(24,03,26,04), "unlit")
des.region(selection.area(31,08,33,09), "unlit")
des.region(selection.area(35,14,37,15), "unlit")
des.region(selection.area(39,03,54,08), "lit")
des.region(selection.area(56,00,75,08), "unlit")
des.region(selection.area(64,09,75,16), "unlit")
-- Doors
des.door("open",23,03)
des.door("open",30,08)
des.door("open",34,14)
des.door("locked",38,05)
des.door("locked",38,06)
des.door("closed",43,03)
des.door("closed",43,05)
des.door("closed",43,06)
des.door("closed",43,08)
des.door("locked",55,06)
-- Stairs
des.stair("up", 05,02)
des.stair("down", 70,13)
-- Objects
des.object({ x = 42, y = 03 })
des.object({ x = 42, y = 03 })
des.object({ x = 42, y = 03 })
des.object({ x = 41, y = 03 })
des.object({ x = 41, y = 03 })
des.object({ x = 41, y = 03 })
des.object({ x = 41, y = 03 })
des.object({ x = 41, y = 08 })
des.object({ x = 41, y = 08 })
des.object({ x = 42, y = 08 })
des.object({ x = 42, y = 08 })
des.object({ x = 42, y = 08 })
des.object({ x = 71, y = 13 })
des.object({ x = 71, y = 13 })
des.object({ x = 71, y = 13 })
-- Random traps
des.trap("spiked pit",10,13)
des.trap("spiked pit",21,07)
des.trap("spiked pit",67,08)
des.trap("spiked pit",68,09)
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "ogre", x=12, y=09, peaceful=0 })
des.monster({ id = "ogre", x=18, y=11, peaceful=0 })
des.monster({ id = "ogre", x=45, y=05, peaceful=0 })
des.monster({ id = "ogre", x=45, y=06, peaceful=0 })
des.monster({ id = "ogre", x=47, y=05, peaceful=0 })
des.monster({ id = "ogre", x=46, y=05, peaceful=0 })
des.monster({ id = "ogre", x=56, y=03, peaceful=0 })
des.monster({ id = "ogre", x=56, y=04, peaceful=0 })
des.monster({ id = "ogre", x=56, y=05, peaceful=0 })
des.monster({ id = "ogre", x=56, y=06, peaceful=0 })
des.monster({ id = "ogre", x=57, y=03, peaceful=0 })
des.monster({ id = "ogre", x=57, y=04, peaceful=0 })
des.monster({ id = "ogre", x=57, y=05, peaceful=0 })
des.monster({ id = "ogre", x=57, y=06, peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ id = "ogre", peaceful=0 })
des.monster({ class = "O", peaceful=0 })
des.monster({ class = "T", peaceful=0 })
des.monster({ id = "rock troll", x=46, y=06, peaceful=0 })
des.monster({ id = "rock troll", x=47, y=06, peaceful=0 })
des.monster({ id = "rock troll", x=56, y=07, peaceful=0 })
des.monster({ id = "rock troll", x=57, y=07, peaceful=0 })
des.monster({ id = "rock troll", x=70, y=13, peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ id = "rock troll", peaceful=0 })
des.monster({ class = "T", peaceful=0 })

-- NetHack Barbarian Bar-strt.lua	$NHDT-Date: 1652196001 2022/05/10 15:20:01 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Pelias,
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
..................................PP........................................
...................................PP.......................................
...................................PP.......................................
....................................PP......................................
........--------------......-----....PPP....................................
........|...S........|......+...|...PPP.....................................
........|----........|......|...|....PP.....................................
........|.\..........+......-----...........................................
........|----........|...............PP.....................................
........|...S........|...-----.......PPP....................................
........--------------...+...|......PPPPP...................................
.........................|...|.......PPP....................................
...-----......-----......-----........PP....................................
...|...+......|...+..--+--.............PP...................................
...|...|......|...|..|...|..............PP..................................
...-----......-----..|...|.............PPPP.................................
.....................-----............PP..PP................................
.....................................PP...PP................................
....................................PP...PP.................................
....................................PP....PP................................
]]);

-- the forest beyond the river
des.replace_terrain({ region={37,00, 59,19}, fromterrain=".", toterrain="T", chance=5 })
des.replace_terrain({ region={60,00, 64,19}, fromterrain=".", toterrain="T", chance=10 })
des.replace_terrain({ region={65,00, 75,19}, fromterrain=".", toterrain="T", chance=20 })
-- guarantee a path and free spot for the portal
des.terrain(selection.randline(selection.new(), 37,7, 62,02, 7), ".")
des.terrain({62,02}, ".")

-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region(selection.area(09,05,11,05), "unlit")
des.region(selection.area(09,07,11,07), "lit")
des.region(selection.area(09,09,11,09), "unlit")
des.region(selection.area(13,05,20,09), "lit")
des.region(selection.area(29,05,31,06), "lit")
des.region(selection.area(26,10,28,11), "lit")
des.region(selection.area(04,13,06,14), "lit")
des.region(selection.area(15,13,17,14), "lit")
des.region(selection.area(22,14,24,15), "lit")
-- Stairs
des.stair("down", 09,09)
-- Portal arrival point
des.levregion({ region = {62,02,62,02}, type="branch" })
-- Doors
des.door("locked",12,05)
des.door("locked",12,09)
des.door("closed",21,07)
des.door("open",07,13)
des.door("open",18,13)
des.door("open",23,13)
des.door("open",25,10)
des.door("open",28,05)
-- Elder
des.monster({ id = "Pelias", coord = {10, 07}, inventory = function()
   des.object({ id = "runesword", spe = 5 });
   des.object({ id = "chain mail", spe = 5 });
end })
-- The treasure of Pelias
des.object("chest", 09, 05)
-- chieftain guards for the audience chamber
des.monster("chieftain", 10, 05)
des.monster("chieftain", 10, 09)
des.monster("chieftain", 11, 05)
des.monster("chieftain", 11, 09)
des.monster("chieftain", 14, 05)
des.monster("chieftain", 14, 09)
des.monster("chieftain", 16, 05)
des.monster("chieftain", 16, 09)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- One trap to keep the ogres at bay.
des.trap("spiked pit",37,07)
-- Eels in the river
des.monster("giant eel", 36, 01)
des.monster("giant eel", 37, 09)
des.monster("giant eel", 39, 15)
-- Monsters on siege duty.
local ogrelocs = selection.floodfill(37,7) & selection.area(40,03, 45,20)
for i = 0, 11 do
   des.monster({ id = "ogre", coord = ogrelocs:rndcoord(1), peaceful = 0 })
end
-- NetHack bigroom bigrm-1.lua	$NHDT-Date: 1652196021 2022/05/10 15:20:21 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
---------------------------------------------------------------------------
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
---------------------------------------------------------------------------
]]);


if percent(80) then
   local terrains = { "-", "F", "L", "T", "C" };
   local tidx = math.random(1, #terrains);
   local choice = math.random(0, 5);
   if choice == 0 then
      -- one horizontal line
      des.terrain(selection.line(10,8, 65,8), terrains[tidx]);
   elseif choice == 1 then
      -- two vertical lines
      local sel = selection.line(15,4, 15, 13) | selection.line(59,4, 59, 13);
      des.terrain(sel, terrains[tidx]);
   elseif choice == 2 then
      -- plus sign
      local sel = selection.line(10,8, 64, 8) | selection.line(37,3, 37, 14);
      des.terrain(sel, terrains[tidx]);
   elseif choice == 3 then
      -- brackets:  [  ]
      des.terrain(selection.rect(4,4, 70,13), terrains[tidx]);
      local sel = selection.line(25,4, 50,4) | selection.line(25,13, 50,13);
      des.terrain(sel, '.');
   elseif choice == 4 then
      -- snake
      des.terrain(selection.fillrect(5,5, 69, 12), terrains[tidx]);
      for i = 0, 7 do
         local x = 6 + i*8;
         local y = 5 + (i%2);
         des.terrain(selection.fillrect(x, y, x+6, y+6), '.');
      end
   else
      -- nothing
   end
end

des.region(selection.area(01,01, 73, 16), "lit");

des.stair("up");
des.stair("down");

des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end
-- NetHack bigroom bigrm-10.lua	$NHDT-Date: 1652196024 2022/05/10 15:20:24 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
.......................................................................
.......................................................................
.......................................................................
.......................................................................
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
.......................................................................
.......................................................................
.......................................................................
.......................................................................
]]);

if percent(40) then
   -- occasionally it's not a fog maze
   local terrain = { "L", "}", "T", "-", "F" };
   local tidx = math.random(1, #terrain);
   -- break it up a bit
   des.replace_terrain({ region={0, 0, 70, 18}, fromterrain="C", toterrain=".", chance=5 });
   des.replace_terrain({ region={0, 0, 70, 18}, fromterrain="C", toterrain=terrain[tidx] });
end;

des.region(selection.area(00,00,70,18), "lit");

-- when falling down on this level, never end up in the fog maze
des.teleport_region({ region = {00,00,70,18}, exclude = {02,03,68,15}, dir = "down" });

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end

des.mazewalk({ x=4, y=2, dir="south", stocked=0 });

-- Stairs up, not in the fog maze
des.levregion({ region = {00,00,70,18}, exclude = {02,03,68,15}, type="stair-up"});
des.stair("down");
-- NetHack bigroom bigrm-11.lua	$NHDT-Date: 1652196024 2022/05/10 15:20:24 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $
--	Copyright (c) 2021 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
--
-- Boulder "maze" with wide corridors

function t_or_f() return percent(50) and true or false; end

des.level_flags("mazelevel", "noflip");
des.level_init({ style = "maze", corrwid = 3 + nh.rn2(3), wallthick = 1, deadends=t_or_f() });

des.region(selection.area(00,00,75,18), "lit");
des.non_diggable();

function replace_wall_boulder(x,y)
   des.terrain(x, y, ".");
   des.object("boulder", x, y);
end

-- replace horizontal and vertical walls
local sel = selection.match([[.w.]]) | selection.match(".\nw\n.");
sel:iterate(replace_wall_boulder);
-- replace the leftover corner walls
local sel = selection.match([[.w.]]);
sel:iterate(replace_wall_boulder);

des.stair("up");
des.stair("down");

for i = 1,15 do
   des.object();
end
for i = 1,6 do
   des.trap("rolling boulder");
end
for i = 1,28 do
  des.monster();
end

-- NetHack bigroom bigrm-12.lua	$NHDT-Date: $  $NHDT-Branch: NetHack-3.7 $
--	Copyright (c) 2024 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
--
-- Two hexagons

des.level_flags("mazelevel", "noflipy");
des.level_init({ style = "solidfill", fg = " " });

des.map([[
                                                                           
         .......................           .......................         
        .........................         .........................        
       ...........................       ...........................       
      .............................     .............................      
     ........PPPPPPPPPPPPPPP........   ........LLLLLLLLLLLLLLL........     
    ........PPPPPPPPPPPPPPPPP........ ........LLLLLLLLLLLLLLLLL........    
   ........PPPWWWWWWWWWWWWWPPP...............LLLZZZZZZZZZZZZZLLL........   
  ........PPPWWWWWWWWWWWWWWWPPP.............LLLZZZZZZZZZZZZZZZLLL........  
 ........PPPWWWWWWWWWWWWWWWWWPPP...........LLLZZZZZZZZZZZZZZZZZLLL........ 
  ........PPPWWWWWWWWWWWWWWWPPP.............LLLZZZZZZZZZZZZZZZLLL........  
   ........PPPWWWWWWWWWWWWWPPP...............LLLZZZZZZZZZZZZZLLL........   
    ........PPPPPPPPPPPPPPPPP........ ........LLLLLLLLLLLLLLLLL........    
     ........PPPPPPPPPPPPPPP........   ........LLLLLLLLLLLLLLL........     
      .............................     .............................      
       ...........................       ...........................       
        .........................         .........................        
         .......................           .......................         
                                                                           
]]);

-- maybe replace lavawalls/waterwalls with stone walls
if percent(20) then
   if percent(50) then
      des.replace_terrain({ fromterrain = "W", toterrain = "-" });
   end
   if percent(50) then
      des.replace_terrain({ fromterrain = "Z", toterrain = "-" });
   end
end

-- maybe replace pools with floor and then possibly walls with pools
if percent(25) then
   des.replace_terrain({ fromterrain = "P", toterrain = "." });
   if percent(75) then
      des.replace_terrain({ fromterrain = "W", toterrain = "P" });
   end
end
if percent(25) then
   des.replace_terrain({ fromterrain = "L", toterrain = "." });
   if percent(75) then
      des.replace_terrain({ fromterrain = "Z", toterrain = "L" });
   end
end

-- maybe make both sides have the same terrain
if percent(20) then
   if percent(50) then
      -- both are lava
      des.replace_terrain({ fromterrain = "P", toterrain = "L" });
      des.replace_terrain({ fromterrain = "W", toterrain = "Z" });
   else
      -- both are water
      des.replace_terrain({ fromterrain = "L", toterrain = "P" });
      des.replace_terrain({ fromterrain = "Z", toterrain = "W" });
   end
end

des.region(selection.area(00,00,75,19), "lit")
des.non_diggable();

des.wallify();

des.stair("up");
des.stair("down");

for i = 1,15 do
   des.object();
end
for i = 1,6 do
   des.trap();
end
for i = 1,28 do
  des.monster();
end
-- NetHack bigroom bigrm-13.lua	$NHDT-Date: 1652196024 2022/05/10 15:20:24 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $
--	Copyright (c) 2026 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
--
-- Pillars

des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
---------------------------------------------------------------------------
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
---------------------------------------------------------------------------
]]);

local pillar = [[
---
| |
---]];

filters = {
   -- 1: all pillars
   function(x, y) return true; end,
   -- 2: 3 vertical lines
   function(x, y) return (x%2 == 1); end,
   -- 3: checkerboard
   function(x, y) return (((x+y)%2) == 0); end,
   -- 4: center row
   function(x, y) return (y%2 == 1); end,
   -- 5: top and bottom rows
   function(x, y) return (y%2 == 0); end,
   -- 6: random 50%
   function(x, y) return (math.random(0,1) == 0); end,
   -- 7: corners and center
   function(x, y) return ((x/3)%2 == y%2); end,
   -- 8: slanted
   function(x, y) return ((x+1)//3 == y); end,
};

idx = math.random(1, #filters);

for y = 0,2 do
   for x = 0,6 do
      if (filters[idx](x, y)) then
         des.map({ coord = {12 + x*9, 4 + y*5}, map = pillar, contents=function() end });
      end
   end
end

des.region(selection.area(00,00,75,18), "lit");
des.wallify();
des.non_diggable();

des.stair("up");
des.stair("down");

for i = 1,15 do
   des.object();
end
for i = 1,6 do
   des.trap();
end
for i = 1,28 do
  des.monster();
end

-- NetHack bigroom bigrm-2.lua	$NHDT-Date: 1652196021 2022/05/10 15:20:21 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
---------------------------------------------------------------------------
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
---------------------------------------------------------------------------
]]);
-- Dungeon Description
des.region(selection.area(01,01,73,16),"lit");

local darkness;

local choice = math.random(0, 3)
if choice == 0 then
   darkness = selection.area(01,07,22,09)
      | selection.area(24,01,50,05)
      | selection.area(24,11,50,16)
      | selection.area(52,07,73,09);
elseif choice == 1 then
   darkness = selection.area(24,01,50,16);
elseif choice == 2 then
   darkness = selection.area(01,01,22,16)
      | selection.area(52,01,73,16);
end

if darkness ~= nil then
   des.region(darkness,"unlit");
   if percent(25) then
      des.replace_terrain({ selection = darkness:grow(),
                            fromterrain = ".", toterrain = "I" });
   end
end

-- Stairs
des.stair("up");
des.stair("down");
-- Non diggable walls
des.non_diggable();
-- Objects
for i = 1,15 do
   des.object();
end
-- Random traps
for i = 1,6 do
   des.trap();
end
-- Random monsters.
for i = 1,28 do
   des.monster();
end
-- NetHack bigroom bigrm-3.lua	$NHDT-Date: 1652196021 2022/05/10 15:20:21 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
---------------------------------------------------------------------------
|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|..............---.......................................---..............|
|...............|.........................................|...............|
|.....|.|.|.|.|---|.|.|.|.|...................|.|.|.|.|.|---|.|.|.|.|.....|
|.....|--------   --------|...................|----------   --------|.....|
|.....|.|.|.|.|---|.|.|.|.|...................|.|.|.|.|.|---|.|.|.|.|.....|
|...............|.........................................|...............|
|..............---.......................................---..............|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|
---------------------------------------------------------------------------
]]);

-- Dungeon Description
des.region(selection.area(01,01,73,16), "lit");

-- replace some walls
if percent(66) then
   local sel = selection.match("[.w.]");
   local terrains = { "F", "T", "W", "Z" };
   local choice = terrains[math.random(1, #terrains)];
   des.terrain(sel, choice);
end

-- Stairs
des.stair("up");
des.stair("down");

-- Non diggable walls
des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

des.monster({ x = 01, y = 01 });
des.monster({ x = 13, y = 01 });
des.monster({ x = 25, y = 01 });
des.monster({ x = 37, y = 01 });
des.monster({ x = 49, y = 01 });
des.monster({ x = 61, y = 01 });
des.monster({ x = 73, y = 01 });
des.monster({ x = 07, y = 07 });
des.monster({ x = 13, y = 07 });
des.monster({ x = 25, y = 07 });
des.monster({ x = 37, y = 07 });
des.monster({ x = 49, y = 07 });
des.monster({ x = 61, y = 07 });
des.monster({ x = 67, y = 07 });
des.monster({ x = 07, y = 09 });
des.monster({ x = 13, y = 09 });
des.monster({ x = 25, y = 09 });
des.monster({ x = 37, y = 09 });
des.monster({ x = 49, y = 09 });
des.monster({ x = 61, y = 09 });
des.monster({ x = 67, y = 09 });
des.monster({ x = 01, y = 16 });
des.monster({ x = 13, y = 16 });
des.monster({ x = 25, y = 16 });
des.monster({ x = 37, y = 16 });
des.monster({ x = 49, y = 16 });
des.monster({ x = 61, y = 16 });
des.monster({ x = 73, y = 16 });
-- NetHack bigroom bigrm-4.lua	$NHDT-Date: 1652196022 2022/05/10 15:20:22 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
-----------                                                     -----------
|.........|                                                     |.........|
|.........-------------                             -------------.........|
---...................------------       ------------...................---
  --.............................---------.............................--  
   --.................................................................--   
    --...............................................................--    
     --......LLLLL.......................................LLLLL......--     
      --.....LLLLL.......................................LLLLL.....--      
      --.....LLLLL.......................................LLLLL.....--      
     --......LLLLL.......................................LLLLL......--     
    --...............................................................--    
   --.................................................................--   
  --.............................---------.............................--  
---...................------------       ------------...................---
|.........-------------                             -------------.........|
|.........|                                                     |.........|
-----------                                                     -----------
]]);

local terrains = { ".", ".", ".", ".", "P", "L", "-", "T", "W", "Z" };
local tidx = math.random(1, #terrains);
local toterr = terrains[tidx];
if (toterr ~= "L") then
   des.replace_terrain({ fromterrain = "L", toterrain = toterr });
end

des.feature("fountain", 05,02);
des.feature("fountain", 05,15);
des.feature("fountain", 69,02);
des.feature("fountain", 69,15);

des.region(selection.area(01,01,73,16), "lit");

des.stair("up");
des.stair("down");

des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end
-- NetHack bigroom bigrm-5.lua	$NHDT-Date: 1652196022 2022/05/10 15:20:22 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
                            ------------------                            
                    ---------................---------                    
              -------................................-------              
         ------............................................------         
      ----......................................................----      
    ---............................................................---    
  ---................................................................---  
---....................................................................---
|........................................................................|
|........................................................................|
|........................................................................|
---....................................................................---
  ---................................................................---  
    ---............................................................---    
      ----......................................................----      
         ------............................................------         
              -------................................-------              
                    ---------................---------                    
                            ------------------                            
]]);


if percent(25) then
   local sel = selection.match("."):percentage(2):grow();
   des.replace_terrain({ selection=sel, fromterrain=".", toterrain=percent(50) and "I" or "C" });
end

des.region(selection.area(00,00,72,18), "lit");

des.stair("up");
des.stair("down");

des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end
-- NetHack bigroom bigrm-6.lua	$NHDT-Date: 1652196022 2022/05/10 15:20:22 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
     ---------         ---------         ---------         ---------     
   ---.......---     ---.......---     ---.......---     ---.......---   
  --...........--   --...........--   --...........--   --...........--  
 --.............-- --.............-- --.............-- --.............-- 
 -...............- -...............- -...............- -...............- 
--...............---...............---...............---...............--
|.................-.................-.................-.................|
|........T.................T.................T.................T........|
|.......................................................................|
|......T.{.....................................................{.T......|
|.......................................................................|
|........T.................T.................T.................T........|
|.................-.................-.................-.................|
--...............---...............---...............---...............--
 -...............- -...............- -...............- -...............- 
 --.............-- --.............-- --.............-- --.............-- 
  --...........--   --...........--   --...........--   --...........--  
   ---.......---     ---.......---     ---.......---     ---.......---   
     ---------         ---------         ---------         ---------     
]]);

des.region(selection.area(01,01,72,17), "lit");

des.stair("up");
des.stair("down");

des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end
-- NetHack bigroom bigrm-7.lua	$NHDT-Date: 1652196023 2022/05/10 15:20:23 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel");

des.map([[
                                                        -----              
                                                ---------...---            
                                        ---------.........L...---          
                                ---------.......................---        
                        ---------.................................---      
                ---------...........................................---    
        ---------.....................................................---  
---------...............................................................---
|.........................................................................|
|.L.....................................................................L.|
|.........................................................................|
---...............................................................---------
  ---.....................................................---------        
    ---...........................................---------                
      ---.................................---------                        
        ---.......................---------                                
          ---...L.........---------                                        
            ---...---------                                                
              -----                                                        
]]);

local terrain = { "L", "T", "{", "." };
local tidx = math.random(1, #terrain);
des.replace_terrain({ region={00,00, 74,18}, fromterrain="L", toterrain=terrain[tidx] });

des.region(selection.area(01,01,73,17), "lit");

des.stair("up");
des.stair("down");

des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end
-- NetHack bigroom bigrm-8.lua	$NHDT-Date: 1652196023 2022/05/10 15:20:23 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel");

des.map([[
----------------------------------------------                             
|............................................---                           
--.............................................---                         
 ---......................................FF.....---                       
   ---...................................FF........---                     
     ---................................FF...........---                   
       ---.............................FF..............---                 
         ---..........................FF.................---               
           ---.......................FF....................---             
             ---....................FF.......................---           
               ---.................FF..........................---         
                 ---..............FF.............................---       
                   ---...........FF................................----    
                     ---........FF...................................---   
                       ---.....FF......................................--- 
                         ---.............................................--
                           ---............................................|
                             ----------------------------------------------
]]);

if percent(40) then
   local terrain = { "L", "}", "T", ".", "-", "C" };
   local tidx = math.random(1, #terrain);
   des.replace_terrain({ region={00,00, 74,17}, fromterrain="F", toterrain=terrain[tidx] });
end;

des.region(selection.area(01,01,73,16), "lit");

des.stair("up");
des.stair("down");

des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end
-- NetHack bigroom bigrm-9.lua	$NHDT-Date: 1652196023 2022/05/10 15:20:23 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");

des.map([[
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}................................}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}............................................}}}}}}}}}}}}}}}
}}}}}}}}}}......................................................}}}}}}}}}}
}}}}}}}............................................................}}}}}}}
}}}}}.......................LLLLLLLLLLLLLLLLLL.......................}}}}}
}}}....................LLLLLLLLLLLLLLLLLLLLLLLLLLL.....................}}}
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
}}}....................LLLLLLLLLLLLLLLLLLLLLLLLLLL.....................}}}
}}}}}.......................LLLLLLLLLLLLLLLLLL.......................}}}}}
}}}}}}}............................................................}}}}}}}
}}}}}}}}}}......................................................}}}}}}}}}}
}}}}}}}}}}}}}}}............................................}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}................................}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
]]);

-- Unlit, except 3 mapgrids around the "pupil"
des.region(selection.area(00,00,73,18),"unlit");
des.region(selection.area(26,04,47,14),"lit");
des.region(selection.area(21,05,51,13),"lit");
des.region(selection.area(19,06,54,12),"lit");

des.stair("up");
des.stair("down");

des.non_diggable();

for i = 1,15 do
   des.object();
end

for i = 1,6 do
   des.trap();
end

for i = 1,28 do
  des.monster();
end
-- NetHack castle castle.lua	$NHDT-Date: 1652196024 2022/05/10 15:20:24 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.7 $
--	Copyright (c) 1989 by Jean-Christophe Collet
-- NetHack may be freely redistributed.  See license for details.
--
--
-- This is the stronghold level :
-- there are several ways to enter it :
--	- opening the drawbridge (wand of opening, knock spell, playing
--	  the appropriate tune)
--
--	- enter via the back entry (this suppose a ring of levitation, boots
--	  of water walking, etc.)
--
-- Note : If you don't play the right tune, you get indications like in the
--	 MasterMind game...
--
-- To motivate the player : there are 4 storerooms (armors, weapons, food and
-- gems) and a wand of wishing in one of the 4 towers...

des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel", "noteleport", "noflipy")

des.map([[
}}}}}}}}}.............................................}}}}}}}}}
}-------}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}-------}
}|.....|-----------------------------------------------|.....|}
}|.....+...............................................+.....|}
}-------------------------------+-----------------------------}
}}}}}}|........|..........+...........|.......S.S.......|}}}}}}
.....}|........|..........|...........|.......|.|.......|}.....
.....}|........------------...........---------S---------}.....
.....}|...{....+..........+.........\.S.................+......
.....}|........------------...........---------S---------}.....
.....}|........|..........|...........|.......|.|.......|}.....
}}}}}}|........|..........+...........|.......S.S.......|}}}}}}
}-------------------------------+-----------------------------}
}|.....+...............................................+.....|}
}|.....|-----------------------------------------------|.....|}
}-------}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}-------}
}}}}}}}}}.............................................}}}}}}}}}
]]);

-- Random registers initialisation
local object = { "[", ")", "*", "%" };
shuffle(object)

local place = selection.new();
place:set(04,02);
place:set(58,02);
place:set(04,14);
place:set(58,14);

local monster = { "L", "N", "E", "H", "M", "O", "R", "T", "X", "Z" }
shuffle(monster)

des.teleport_region({ region = {01,00,10,20}, region_islev=1, exclude={1,1,61,15}, dir="down" })
des.teleport_region({ region = {69,00,79,20}, region_islev=1, exclude={1,1,61,15}, dir="up" })
des.levregion({ region = {01,00,10,20}, region_islev=1, exclude={0,0,62,16}, type="stair-up" })
des.feature("fountain", 10,08)
-- Doors
des.door("closed",07,03)
des.door("closed",55,03)
des.door("locked",32,04)
des.door("locked",26,05)
des.door("locked",46,05)
des.door("locked",48,05)
des.door("locked",47,07)
des.door("closed",15,08)
des.door("closed",26,08)
des.door("locked",38,08)
des.door("locked",56,08)
des.door("locked",47,09)
des.door("locked",26,11)
des.door("locked",46,11)
des.door("locked",48,11)
des.door("locked",32,12)
des.door("closed",07,13)
des.door("closed",55,13)
-- The drawbridge
des.drawbridge({ dir="east", state="closed", x=05,y=08})
-- Storeroom number 1
des.object(object[1],39,05)
des.object(object[1],40,05)
des.object(object[1],41,05)
des.object(object[1],42,05)
des.object(object[1],43,05)
des.object(object[1],44,05)
des.object(object[1],45,05)
des.object(object[1],39,06)
des.object(object[1],40,06)
des.object(object[1],41,06)
des.object(object[1],42,06)
des.object(object[1],43,06)
des.object(object[1],44,06)
des.object(object[1],45,06)
-- Storeroom number 2
des.object(object[2],49,05)
des.object(object[2],50,05)
des.object(object[2],51,05)
des.object(object[2],52,05)
des.object(object[2],53,05)
des.object(object[2],54,05)
des.object(object[2],55,05)
des.object(object[2],49,06)
des.object(object[2],50,06)
des.object(object[2],51,06)
des.object(object[2],52,06)
des.object(object[2],53,06)
des.object(object[2],54,06)
des.object(object[2],55,06)
-- Storeroom number 3
des.object(object[3],39,10)
des.object(object[3],40,10)
des.object(object[3],41,10)
des.object(object[3],42,10)
des.object(object[3],43,10)
des.object(object[3],44,10)
des.object(object[3],45,10)
des.object(object[3],39,11)
des.object(object[3],40,11)
des.object(object[3],41,11)
des.object(object[3],42,11)
des.object(object[3],43,11)
des.object(object[3],44,11)
des.object(object[3],45,11)
-- Storeroom number 4
des.object(object[4],49,10)
des.object(object[4],50,10)
des.object(object[4],51,10)
des.object(object[4],52,10)
des.object(object[4],53,10)
des.object(object[4],54,10)
des.object(object[4],55,10)
des.object(object[4],49,11)
des.object(object[4],50,11)
des.object(object[4],51,11)
des.object(object[4],52,11)
des.object(object[4],53,11)
des.object(object[4],54,11)
des.object(object[4],55,11)
-- THE WAND OF WISHING in 1 of the 4 towers
local loc = place:rndcoord(1);
des.object({ id = "chest", trapped = 0, locked = 1, coord = loc ,
             contents = function()
                des.object("wishing");
                des.object("potion of gain level");
             end
});
-- Prevent monsters from eating it.  (@'s never eat objects)
des.engraving({ coord = loc, type="burn", text="Elbereth" })
des.object({ id = "scroll of scare monster", coord = loc, buc="cursed" })
-- The treasure of the lord
des.object("chest",37,08)
-- Traps
des.trap("trap door",40,08)
des.trap("trap door",44,08)
des.trap("trap door",48,08)
des.trap("trap door",52,08)
des.trap("trap door",55,08)
-- Soldiers guarding the entry hall
des.monster("soldier",08,06)
des.monster("soldier",09,05)
des.monster("soldier",11,05)
des.monster("soldier",12,06)
des.monster("soldier",08,10)
des.monster("soldier",09,11)
des.monster("soldier",11,11)
des.monster("soldier",12,10)
des.monster("lieutenant",09,08)
-- Soldiers guarding the towers
des.monster("soldier",03,02)
des.monster("soldier",05,02)
des.monster("soldier",57,02)
des.monster("soldier",59,02)
des.monster("soldier",03,14)
des.monster("soldier",05,14)
des.monster("soldier",57,14)
des.monster("soldier",59,14)
-- The four dragons that are guarding the storerooms
des.monster("D",47,05)
des.monster("D",47,06)
des.monster("D",47,10)
des.monster("D",47,11)
-- Sea monsters in the moat
des.monster("giant eel",05,07)
des.monster("giant eel",05,09)
des.monster("giant eel",57,07)
des.monster("giant eel",57,09)
des.monster("shark",05,00)
des.monster("shark",05,16)
des.monster("shark",57,00)
des.monster("shark",57,16)
-- The throne room and the court monsters
des.monster(monster[10],27,05)
des.monster(monster[1],30,05)
des.monster(monster[2],33,05)
des.monster(monster[3],36,05)
des.monster(monster[4],28,06)
des.monster(monster[5],31,06)
des.monster(monster[6],34,06)
des.monster(monster[7],37,06)
des.monster(monster[8],27,07)
des.monster(monster[9],30,07)
des.monster(monster[10],33,07)
des.monster(monster[1],36,07)
des.monster(monster[2],28,08)
des.monster(monster[3],31,08)
des.monster(monster[4],34,08)
des.monster(monster[5],27,09)
des.monster(monster[6],30,09)
des.monster(monster[7],33,09)
des.monster(monster[8],36,09)
des.monster(monster[9],28,10)
des.monster(monster[10],31,10)
des.monster(monster[1],34,10)
des.monster(monster[2],37,10)
des.monster(monster[3],27,11)
des.monster(monster[4],30,11)
des.monster(monster[5],33,11)
des.monster(monster[6],36,11)
-- MazeWalks
des.mazewalk(00,10,"west")
des.mazewalk(62,06,"east")
-- Non diggable walls
des.non_diggable(selection.area(00,00,62,16))
-- Subrooms:
--   Entire castle area
des.region(selection.area(00,00,62,16),"unlit")
--   Courtyards
des.region(selection.area(00,05,05,11),"lit")
des.region(selection.area(57,05,62,11),"lit")
--   Throne room
des.region({ region={27,05, 37,11},lit=1,type="throne", filled=2 })
--   Antechamber
des.region(selection.area(07,05,14,11),"lit")
--   Storerooms
des.region(selection.area(39,05,45,06),"lit")
des.region(selection.area(39,10,45,11),"lit")
des.region(selection.area(49,05,55,06),"lit")
des.region(selection.area(49,10,55,11),"lit")
--   Corners
des.region(selection.area(02,02,06,03),"lit")
des.region(selection.area(56,02,60,03),"lit")
des.region(selection.area(02,13,06,14),"lit")
des.region(selection.area(56,13,60,14),"lit")
--   Barracks
des.region({ region={16,05, 25,06},lit=1,type="barracks", filled=1 })
des.region({ region={16,10, 25,11},lit=1,type="barracks", filled=1 })
--   Hallways
des.region(selection.area(08,03,54,03),"unlit")
des.region(selection.area(08,13,54,13),"unlit")
des.region(selection.area(16,08,25,08),"unlit")
des.region(selection.area(39,08,55,08),"unlit")
--   Storeroom alcoves
des.region(selection.area(47,05,47,06),"unlit")
des.region(selection.area(47,10,47,11),"unlit")
-- NetHack Caveman Cav-fila.lua	$NHDT-Date: 1652196001 2022/05/10 15:20:01 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style = "mines", fg = ".", bg = " ", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ class = "h", peaceful=0 })
des.monster({ id = "hill giant", peaceful=0 })
-- NetHack Caveman Cav-filb.lua	$NHDT-Date: 1652196001 2022/05/10 15:20:01 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style = "mines", fg = ".", bg = " ", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ class = "h", peaceful=0 })
des.monster({ class = "h", peaceful=0 })
des.monster({ id = "hill giant", peaceful=0 })
des.monster({ id = "hill giant", peaceful=0 })
-- NetHack Caveman Cav-goal.lua	$NHDT-Date: 1652196002 2022/05/10 15:20:02 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
                                                                            
                          .....................                             
                         .......................                            
                        .........................                           
                       ...........................                          
                      .............................                         
                     ...............................                        
                    .................................                       
                   ...................................                      
                  .....................................                     
                 .......................................                    
                  .....................................                     
                   ...................................                      
                    .................................                       
                     ...............................                        
                      .............................                         
                       ...........................                          
                        .........................                           
                         .......................                            
                                                                            
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
-- Stairs
des.stair("up")
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Objects
des.object({ id = "mace", x=23, y=10, buc="blessed", spe=0, name="The Sceptre of Might" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- monsters.
des.monster({ id = "Chromatic Dragon", x=23, y=10, asleep=1 })
des.monster("shrieker", 26, 13)
des.monster("shrieker", 25, 8)
des.monster("shrieker", 45, 11)
des.wallify()
-- NetHack Caveman Cav-loca.lua	$NHDT-Date: 1652196002 2022/05/10 15:20:02 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor")

des.map([[
                                                                            
    .............                     ...........                           
   ...............                   .............                          
    .............                  ...............        ..........        
     ...........                    .............      ...............      
        ...                                    ...   ..................     
         ...                ..........          ... ..................      
          ...              ............          BBB...................     
           ...              ..........          ......................      
            .....                 ..      .....B........................    
  ....       ...............      .    ........B..........................  
 ......     .. .............S..............         ..................      
  ....     ..                ...........             ...............        
     ..  ...                                    ....................        
      ....                                      BB...................       
         ..                 ..                 ..  ...............          
          ..   .......     ....  .....  ....  ..     .......   S            
           ............     ....... ..  .......       .....    ...  ....    
               .......       .....   ......                      .......    
                                                                            
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "unlit")
des.region({ region={52,06, 73,15}, lit=1, type="ordinary", irregular=1 })
-- Doors
des.door("locked",28,11)
-- Stairs
des.stair("up", 04,03)
des.stair("down", 73,10)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "bugbear", x=02, y=10, peaceful=0 })
des.monster({ id = "bugbear", x=03, y=11, peaceful=0 })
des.monster({ id = "bugbear", x=04, y=12, peaceful=0 })
des.monster({ id = "bugbear", x=02, y=11, peaceful=0 })
des.monster({ id = "bugbear", x=16, y=16, peaceful=0 })
des.monster({ id = "bugbear", x=17, y=17, peaceful=0 })
des.monster({ id = "bugbear", x=18, y=18, peaceful=0 })
des.monster({ id = "bugbear", x=19, y=16, peaceful=0 })
des.monster({ id = "bugbear", x=30, y=06, peaceful=0 })
des.monster({ id = "bugbear", x=31, y=07, peaceful=0 })
des.monster({ id = "bugbear", x=32, y=08, peaceful=0 })
des.monster({ id = "bugbear", x=33, y=06, peaceful=0 })
des.monster({ id = "bugbear", x=34, y=07, peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ id = "bugbear", peaceful=0 })
des.monster({ class = "h", peaceful=0 })
des.monster({ class = "H", peaceful=0 })
des.monster({ id = "hill giant", x=03, y=12, peaceful=0 })
des.monster({ id = "hill giant", x=20, y=17, peaceful=0 })
des.monster({ id = "hill giant", x=35, y=08, peaceful=0 })
des.monster({ id = "hill giant", peaceful=0 })
des.monster({ id = "hill giant", peaceful=0 })
des.monster({ id = "hill giant", peaceful=0 })
des.monster({ id = "hill giant", peaceful=0 })
des.monster({ class = "H", peaceful=0 })
des.wallify()

--
--	The "goal" level for the quest.
--
--	Here you meet Tiamat your nemesis monster.  You have to
--	defeat Tiamat in combat to gain the artifact you have
--	been assigned to retrieve.
--
-- NetHack Caveman Cav-strt.lua	$NHDT-Date: 1652196002 2022/05/10 15:20:02 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Shaman Karnov
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
                                                                            
  ......     ..........................       ...        ....  ......       
 ......       ..........................     ........       ....    .....   
  ..BB      .............................    .........            ....  ..  
     ..    ......................              .......      ..     ....  .. 
     ..     ....................                     ..  .......    ..  ... 
   ..              S   BB                .....     .......   ....      .... 
    ..        ...  .   ..               ........  ..     ..   ..       ...  
     ..      ......     ..             ............       ..          ...   
       .      ....       ..             ........           ..  ...........  
  ...   ..     ..        .............                  ................... 
 .....   .....            ...............................      ...........  
  .....B................            ...                               ...   
  .....     .  ..........        .... .      ...  ..........           ...  
   ...     ..          .............  ..    ...................        .... 
          BB       ..   .........      BB    ...  ..........  ..   ...  ... 
       ......    .....  B          ........         ..         .. ....  ... 
     ..........  ..........         ..... ...      .....        ........    
       ..  ...    .  .....         ....    ..       ...            ..       
                                                                            
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "unlit")
des.region({ region={13,01, 40,05}, lit=1, type="temple", filled=1, irregular=1 })
-- The occupied rooms.
des.region({ region={02,01, 08,03}, lit=1, type="ordinary", irregular=1 })
des.region({ region={01,11, 06,14}, lit=1, type="ordinary", irregular=1 })
des.region({ region={13,08, 18,10}, lit=1, type="ordinary", irregular=1 })
des.region({ region={05,17, 14,18}, lit=1, type="ordinary", irregular=1 })
des.region({ region={17,16, 23,18}, lit=1, type="ordinary", irregular=1 })
des.region({ region={35,16, 44,18}, lit=1, type="ordinary", irregular=1 })
-- Stairs
des.stair("down", 02,03)
-- Portal arrival point
des.levregion({ region = {71,09,71,09}, type="branch" })
-- Doors
des.door("locked",19,06)
-- The temple altar (this will force a priest(ess) to be created)
des.altar({ x=36,y=02, align="coaligned", type="shrine" })
-- Shaman Karnov
des.monster({ id = "Shaman Karnov", coord = {35, 02}, inventory = function()
   des.object({ id = "leather armor", spe = 5 });
   des.object({ id = "club", spe = 5 });
end })
-- The treasure of Shaman Karnov
des.object("chest", 34, 02)
-- neanderthal guards for the audience chamber
des.monster("neanderthal", 20, 03)
des.monster("neanderthal", 20, 02)
des.monster("neanderthal", 20, 01)
des.monster("neanderthal", 21, 03)
des.monster("neanderthal", 21, 02)
des.monster("neanderthal", 21, 01)
des.monster("neanderthal", 22, 01)
des.monster("neanderthal", 26, 09)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Random traps
des.trap("pit",47,11)
des.trap("pit",57,10)
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty (in the outer caves).
des.monster({ id ="bugbear", x=47, y=02, peaceful=0 })
des.monster({ id ="bugbear", x=48, y=03, peaceful=0 })
des.monster({ id ="bugbear", x=49, y=04, peaceful=0 })
des.monster({ id ="bugbear", x=67, y=03, peaceful=0 })
des.monster({ id ="bugbear", x=69, y=04, peaceful=0 })
des.monster({ id ="bugbear", x=51, y=13, peaceful=0 })
des.monster({ id ="bugbear", x=53, y=14, peaceful=0 })
des.monster({ id ="bugbear", x=55, y=15, peaceful=0 })
des.monster({ id ="bugbear", x=63, y=10, peaceful=0 })
des.monster({ id ="bugbear", x=65, y=09, peaceful=0 })
des.monster({ id ="bugbear", x=67, y=10, peaceful=0 })
des.monster({ id ="bugbear", x=69, y=11, peaceful=0 })
des.wallify()
-- NetHack 3.6	dungeon dungeon.lua	$NHDT-Date: 1652196135 2022/05/10 15:22:15 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
-- Copyright (c) 1990-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- The dungeon description file.
dungeon = {
   {
      name = "The Dungeons of Doom",
      bonetag = "D",
      base = 25,
      range = 5,
      alignment = "unaligned",
      themerooms = "themerms.lua",
      branches = {
         {
            name = "The Gnomish Mines",
            base = 2,
            range = 3
         },
         {
            name = "Sokoban",
            chainlevel = "oracle",
            base = 1,
            direction = "up"
         },
         {
            name = "The Quest",
            chainlevel = "oracle",
            base = 6,
            range = 2,
            branchtype = "portal"
         },
         {
            name = "Fort Ludios",
            base = 18,
            range = 4,
            branchtype = "portal"
         },
         {
            name = "Gehennom",
            chainlevel = "castle",
            base = 0,
            branchtype = "no_down"
         },
         {
            name = "The Elemental Planes",
            base = 1,
            branchtype = "no_down",
            direction = "up"
         }
      },
      levels = {
         {
            name = "rogue",
            bonetag = "R",
            base = 15,
            range = 4,
            flags = "roguelike",
         },
         {
            name = "oracle",
            bonetag = "O",
            base = 5,
            range = 5,
            alignment = "neutral"
         },
         {
            name = "bigrm",
            bonetag = "B",
            base = 10,
            range = 3,
            chance = 40,
            nlevels = 13
         },
         {
            name = "medusa",
            base = -5,
            range = 4,
            nlevels = 4,
            alignment = "chaotic"
         },
         {
            name = "castle",
            base = -1
         }
      }
   },
   {
      name = "Gehennom",
      bonetag = "G",
      base = 20,
      range = 5,
      flags = { "mazelike", "hellish" },
      lvlfill = "hellfill",
      alignment = "noalign",
      branches = {
         {
            name = "Vlad's Tower",
            base = 9,
            range = 5,
            direction = "up"
         }
      },
      levels = {
         {
            name = "valley",
            bonetag = "V",
            base = 1
         },
         {
            name = "sanctum",
            base = -1
         },
         {
            name = "juiblex",
            bonetag = "J",
            base = 4,
            range = 4
         },
         {
            name = "baalz",
            bonetag = "B",
            base = 6,
            range = 4
         },
         {
            name = "asmodeus",
            bonetag = "A",
            base = 2,
            range = 6
         },
         {
            name = "wizard1",
            base = 11,
            range = 6
         },
         {
            name = "wizard2",
            bonetag = "X",
            chainlevel = "wizard1",
            base = 1
         },
         {
            name = "wizard3",
            bonetag = "Y",
            chainlevel = "wizard1",
            base = 2
         },
         {
            name = "orcus",
            bonetag = "O",
            base = 10,
            range = 6
         },
         {
            name = "fakewiz1",
            bonetag = "F",
            base = -6,
            range = 4
         },
         {
            name = "fakewiz2",
            bonetag = "G",
            base = -6,
            range = 4
         },
      }
   },
   {
      name = "The Gnomish Mines",
      bonetag = "M",
      base = 8,
      range = 2,
      alignment = "lawful",
      flags = { "mazelike" },
      lvlfill = "minefill",
      levels = {
         {
            name = "minetn",
            bonetag = "T",
            base = 3,
            range = 2,
            nlevels = 7,
            flags = "town"
         },
         {
            name = "minend",
--          5.0.0: minend changed to no-bones to simplify achievement tracking
--          bonetag = "E"
            base = -1,
            nlevels = 3
         },
      }
   },
   {
      name = "The Quest",
      bonetag = "Q",
      base = 5,
      range = 2,
      levels = {
         {
            name = "x-strt",
            base = 1,
            range = 1
         },
         {
            name = "x-loca",
            bonetag = "L",
            base = 3,
            range = 1
         },
         {
            name = "x-goal",
            base = -1
         },
      }
   },
   {
      name = "Sokoban",
      base = 4,
      alignment = "neutral",
      flags = { "mazelike" },
      entry = -1,
      levels = {
         {
            name = "soko1",
            base = 1,
            nlevels = 2
         },
         {
            name = "soko2",
            base = 2,
            nlevels = 2
         },
         {
            name = "soko3",
            base = 3,
            nlevels = 2
         },
         {
            name = "soko4",
            base = 4,
            nlevels = 2
         },
      }
   },
   {
      name = "Fort Ludios",
      base = 1,
      bonetag = "K",
      flags = { "mazelike" },
      alignment = "unaligned",
      levels = {
         {
            name = "knox",
            bonetag = "K",
            base = -1
         }
      }
   },
   {
      name = "Vlad's Tower",
      base = 3,
      bonetag = "T",
      protofile = "tower",
      alignment = "chaotic",
      flags = { "mazelike" },
      entry = -1,
      levels = {
         {
            name = "tower1",
            base = 1
         },
         {
            name = "tower2",
            base = 2
         },
         {
            name = "tower3",
            base = 3
         },
      }
   },
   {
      name = "The Elemental Planes",
      bonetag = "E",
      base = 6,
      alignment = "unaligned",
      flags = { "mazelike" },
      entry = -2,
      levels = {
         {
            name = "astral",
            base = 1
         },
         {
            name = "water",
            base = 2
         },
         {
            name = "fire",
            base = 3
         },
         {
            name = "air",
            base = 4
         },
         {
            name = "earth",
            base = 5
         },
         {
            name = "dummy",
            base = 6
         },
      }
   },
   {
      name = "The Tutorial",
      base = 2,
      flags = { "mazelike", "unconnected" },
      levels = {
         {
            name = "tut-1",
            base = 1,
         },
         {
            name = "tut-2",
            base = 2,
         },
      }
   },
}
-- NetHack endgame earth.lua	$NHDT-Date: 1652196025 2022/05/10 15:20:25 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
--                      and Timo Hakulinen
-- NetHack may be freely redistributed.  See license for details.
--
--
-- These are the ENDGAME levels: earth, air, fire, water, and astral.
-- The top-most level, the Astral Level, has 3 temples and shrines.
-- Players are supposed to sacrifice the Amulet of Yendor on the appropriate
-- shrine.

des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "shortsighted")

des.message("Well done, mortal!")
des.message("But now thou must face the final Test...")
des.message("Prove thyself worthy or perish!")

-- The player lands, upon arrival, in the
-- lower-right cavern.  The location of the
-- portal to the next level is randomly chosen.
-- This map has no visible outer boundary, and
-- is mostly diggable "rock".
des.map([[
                                                                            
  ...                                                                       
 ....                ..                                                     
 .....             ...                                      ..              
  ....              ....                                     ...            
   ....              ...                ....                 ...      .     
    ..                ..              .......                 .      ..     
                                      ..  ...                        .      
              .                      ..    .                         ...    
             ..  ..                  .     ..                         .     
            ..   ...                        .                               
            ...   ...                                                       
              .. ...                                 ..                     
               ....                                 ..                      
                          ..                                       ...      
                         ..                                       .....     
  ...                                                              ...      
 ....                                                                       
   ..                                                                       
                                                                            
]]);

des.replace_terrain({ region={0,0, 75,19}, fromterrain=" ", toterrain=".", lit=0, chance=5 })

--  Since there are no stairs, this forces the hero's initial placement
des.teleport_region({region = {69,16,69,16} })
des.levregion({ region = {0,0,75,19}, exclude = {65,13,75,19}, type="portal", name="air" })
--  Some helpful monsters.  Making sure a
--  pick axe and at least one wand of digging
--  are available.
des.monster("Elvenking", 67,16)
des.monster("minotaur", 67,14)
--  An assortment of earth-appropriate nasties
--  in each cavern.
des.monster({ id = "earth elemental", x = 52, y = 13, peaceful = 0 })
des.monster({ id = "earth elemental", x = 53, y = 13, peaceful = 0 })
des.monster("rock troll", 53,12)
des.monster("stone giant", 54,12)
--
des.monster("pit viper", 70,05)
des.monster("barbed devil", 69,06)
des.monster("stone giant", 69,08)
des.monster("stone golem", 71,08)
des.monster("pit fiend", 70,09)
des.monster({ id = "earth elemental", x = 70, y = 08, peaceful = 0 })
--
des.monster({ id = "earth elemental", x = 60, y = 03, peaceful = 0 })
des.monster("stone giant", 61,04)
des.monster({ id = "earth elemental", x = 62, y = 04, peaceful = 0 })
des.monster({ id = "earth elemental", x = 61, y = 05, peaceful = 0 })
des.monster("scorpion", 62,05)
des.monster("rock piercer", 63,05)
--
des.monster("umber hulk", 40,05)
des.monster("dust vortex", 42,05)
des.monster("rock troll", 38,06)
des.monster({ id = "earth elemental", x = 39, y = 06, peaceful = 0 })
des.monster({ id = "earth elemental", x = 41, y = 06, peaceful = 0 })
des.monster({ id = "earth elemental", x = 38, y = 07, peaceful = 0 })
des.monster("stone giant", 39,07)
des.monster({ id = "earth elemental", x = 43, y = 07, peaceful = 0 })
des.monster("stone golem", 37,08)
des.monster("pit viper", 43,08)
des.monster("pit viper", 43,09)
des.monster("rock troll", 44,10)
--
des.monster({ id = "earth elemental", x = 02, y = 01, peaceful = 0 })
des.monster({ id = "earth elemental", x = 03, y = 01, peaceful = 0 })
des.monster("stone golem", 01,02)
des.monster({ id = "earth elemental", x = 02, y = 02, peaceful = 0 })
des.monster("rock troll", 04,03)
des.monster("rock troll", 03,03)
des.monster("pit fiend", 03,04)
des.monster({ id = "earth elemental", x = 04, y = 05, peaceful = 0 })
des.monster("pit viper", 05,06)
--
des.monster({ id = "earth elemental", x = 21, y = 02, peaceful = 0 })
des.monster({ id = "earth elemental", x = 21, y = 03, peaceful = 0 })
des.monster("minotaur", 21,04)
des.monster({ id = "earth elemental", x = 21, y = 05, peaceful = 0 })
des.monster("rock troll", 22,05)
des.monster({ id = "earth elemental", x = 22, y = 06, peaceful = 0 })
des.monster({ id = "earth elemental", x = 23, y = 06, peaceful = 0 })
--
des.monster("pit viper", 14,08)
des.monster("barbed devil", 14,09)
des.monster({ id = "earth elemental", x = 13, y = 10, peaceful = 0 })
des.monster("rock troll", 12,11)
des.monster({ id = "earth elemental", x = 14, y = 12, peaceful = 0 })
des.monster({ id = "earth elemental", x = 15, y = 13, peaceful = 0 })
des.monster("stone giant", 17,13)
des.monster("stone golem", 18,13)
des.monster("pit fiend", 18,12)
des.monster({ id = "earth elemental", x = 18, y = 11, peaceful = 0 })
des.monster({ id = "earth elemental", x = 18, y = 10, peaceful = 0 })
--
des.monster("barbed devil", 02,16)
des.monster({ id = "earth elemental", x = 03, y = 16, peaceful = 0 })
des.monster("rock troll", 02,17)
des.monster({ id = "earth elemental", x = 04, y = 17, peaceful = 0 })
des.monster({ id = "earth elemental", x = 04, y = 18, peaceful = 0 })

des.object("boulder")

-- NetHack yendor fakewiz1.lua	$NHDT-Date: 1652196025 2022/05/10 15:20:25 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel");

local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);

local fakewiz1 = des.map({ halign = "center", valign = "center", map = [[
.........
.}}}}}}}.
.}}---}}.
.}--.--}.
.}|...|}.
.}--.--}.
.}}---}}.
.}}}}}}}.
.........
]], contents = function(rm)
   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-up" })
   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-down" })
   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="branch" });
   des.teleport_region({ region={01,00,79,20}, region_islev=1,exclude={2,2,6,6} })
   des.levregion({ region={4,4,4,4}, type="portal", name="wizard3" })
   des.mazewalk(08,05,"east")
   des.region({ region={04,03,06,06},lit=0,type="ordinary",irregular=1,arrival_room=true })
   des.monster("L",04,04)
   des.monster("vampire lord",03,04)
   des.monster("kraken",06,06)
   -- And to make things a little harder.
   des.trap("board",04,03)
   des.trap("board",04,05)
   des.trap("board",03,04)
   des.trap("board",05,04)
end
});

local protected = bounds2:negate() | fakewiz1;
hell_tweaks(protected);
-- NetHack yendor fakewiz2.lua	$NHDT-Date: 1652196026 2022/05/10 15:20:26 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel");

local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);

local fakewiz2 = des.map({ halign = "center", valign = "center", map = [[
.........
.}}}}}}}.
.}}---}}.
.}--.--}.
.}|...|}.
.}--.--}.
.}}---}}.
.}}}}}}}.
.........
]], contents = function(rm)
   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-up" })
   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-down" })
   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="branch" });
   des.teleport_region({ region={01,00,79,20}, region_islev=1,exclude={2,2,6,6} })
   des.mazewalk(08,05,"east")
   des.monster("L",04,04)
   des.monster("vampire lord",03,04)
   des.monster("kraken",06,06)
   -- And to make things a little harder.
   des.trap("board",04,03)
   des.trap("board",04,05)
   des.trap("board",03,04)
   des.trap("board",05,04)
   -- treasures
   des.object("\"",04,04)
end
});

local protected = bounds2:negate() | fakewiz2;
hell_tweaks(protected);
-- NetHack endgame fire.lua	$NHDT-Date: 1700398454 2023/11/19 12:54:14 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
--                      and Timo Hakulinen
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "shortsighted", "hot", "fumaroles")
-- The player lands, upon arrival, in the
-- lower-right.  The location of the
-- portal to the next level is randomly chosen.
-- This map has no visible outer boundary, and
-- is mostly open area, with lava lakes and bunches of fire traps.
-- It fills the entire mappable area.
des.map([[
LL.............LL..............L...LL.........LL.................LL...........L
LL....LLLLLLLL............L...L.............LL....LLL.......................LL.
L....LL...................L......................LLLL................LL........
.....L.............LLLL...LL....LL...............LLLLL.............LLL.........
.L.LLLL..............LL....L.....LLL..............LLLL..............LLLL......L
LL..........LLLL...LLLL...LLL....LLL......L........LLLL....LL........LLL......L
LL........LLLLLLL...LL.....L......L......LL.........LL......LL........LL...L...
L.........LL..LLL..LL......LL......LLLL..L.........LL......LLL............LL...
......L..LL....LLLLL.................LLLLLLL.......L......LL............LLLLLL.
......L..L.....LL.LLLL.......L............L........LLLLL.LL......LL.........LL.
......LL........L...LL......LL.............LLL.....L...LLL.......LLL.........L.
.L.....LLLLLL........L.......LLL.............L....LL...L.LLL......LLLLLLL......
LL..........LLLL............LL.L.............L....L...LL.........LLL..LLL......
.L...........................LLLLL...........LL...L...L........LLLL..LLLLLL...L
.L.....LLLL.............LL....LL.......LLL...LL.......L..LLL....LLLLLLL.......L
.........LLL.........LLLLLLLLLLL......LLLLL...L...........LL...LL...LL.........
...........LL.......LL.........LL.......LLL....L..LLL....LL.........LL.........
............LLLLLLLLL...........LL....LLL.......LLLLL.....LL........LL.........
.LL...............L.............LLLLLL............LL...LLLL.........LL.......L.
LL.....L..........................LL....................LL..................LLL
L.....LLL......................LLLLL.........L.........LLLLLLLL..............LL
]]);
des.teleport_region({ region = {71,16,71,16} })
des.levregion({ region = {0,0,78,19}, exclude = {67,13,78,19}, type="portal", name="water" })

des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
--  An assortment of fire-appropriate nasties
des.monster("red dragon")
des.monster("balrog")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("fire vortex")
des.monster("hell hound")
--
des.monster("fire giant")
des.monster("barbed devil")
des.monster("hell hound")
des.monster("stone golem")
des.monster("pit fiend")
des.monster({ id = "fire elemental", peaceful = 0 })
--
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("hell hound")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("scorpion")
des.monster("fire giant")
--
des.monster("hell hound")
des.monster("dust vortex")
des.monster("fire vortex")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("hell hound")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("stone golem")
des.monster("pit viper")
des.monster("pit viper")
des.monster("fire vortex")
--
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("fire giant")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("fire vortex")
des.monster("fire vortex")
des.monster("pit fiend")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("pit viper")
--
des.monster({ id = "salamander", peaceful = 0 })
des.monster({ id = "salamander", peaceful = 0 })
des.monster("minotaur")
des.monster({ id = "salamander", peaceful = 0 })
des.monster("steam vortex")
des.monster({ id = "salamander", peaceful = 0 })
des.monster({ id = "salamander", peaceful = 0 })
--
des.monster("fire giant")
des.monster("barbed devil")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("fire vortex")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster("hell hound")
des.monster("fire giant")
des.monster("pit fiend")
des.monster({ id = "fire elemental", peaceful = 0 })
des.monster({ id = "fire elemental", peaceful = 0 })
--
des.monster("barbed devil")
des.monster({ id = "salamander", peaceful = 0 })
des.monster("steam vortex")
des.monster({ id = "salamander", peaceful = 0 })
des.monster({ id = "salamander", peaceful = 0 })

des.object("boulder")
des.object("boulder")
des.object("boulder")
des.object("boulder")
des.object("boulder")

-- NetHack Healer Hea-fila.lua	$NHDT-Date: 1652196003 2022/05/10 15:20:03 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "P" });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster("rabid rat")
des.monster({ class = "r", peaceful=0 })
des.monster({ class = "r", peaceful=0 })
des.monster("giant eel")
des.monster("giant eel")
des.monster("electric eel")
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
--
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack Healer Hea-filb.lua	$NHDT-Date: 1652196003 2022/05/10 15:20:03 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "P" });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster("rabid rat")
des.monster("rabid rat")
des.monster({ class = "r", peaceful=0 })
des.monster({ class = "r", peaceful=0 })
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
--
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack Healer Hea-goal.lua	$NHDT-Date: 1652196003 2022/05/10 15:20:03 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "P" });

des.level_flags("mazelevel");

--
des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })

des.map([[
.P....................................PP.
PP.......PPPPPPP....PPPPPPP....PPPP...PP.
...PPPPPPP....PPPPPPP.....PPPPPP..PPP...P
...PP..............................PPP...
..PP..............................PP.....
..PP..............................PPP....
..PPP..............................PP....
.PPP..............................PPPP...
...PP............................PPP...PP
..PPPP...PPPPP..PPPP...PPPPP.....PP...PP.
P....PPPPP...PPPP..PPPPP...PPPPPPP...PP..
PPP..................................PPP.
]]);
-- Dungeon Description
des.region(selection.area(00,00,40,11), "lit")
-- Stairs
des.stair("up", 39,10)
-- Non diggable walls
des.non_diggable(selection.area(00,00,40,11))
-- Objects
des.object({ id = "quarterstaff", x=20, y=06, buc="blessed", spe=0, name="The Staff of Aesculapius" })
des.object("wand of lightning", 20, 06)
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "Cyclops", x=20, y=06, peaceful=0 })
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster({ class = "r", peaceful=0 })
des.monster({ class = "r", peaceful=0 })
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("shark")
des.monster("shark")
des.monster({ class = ";", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })

-- NetHack Healer Hea-loca.lua	$NHDT-Date: 1652196004 2022/05/10 15:20:04 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor");
--
des.level_init({ style="mines", fg=".", bg="P", smoothed=true ,joined=true, lit=1, walled=false })

des.map([[
PPPPPPPPPPPPP.......PPPPPPPPPPP
PPPPPPPP...............PPPPPPPP
PPPP.....-------------...PPPPPP
PPPPP....|.S.........|....PPPPP
PPP......+.|.........|...PPPPPP
PPP......+.|.........|..PPPPPPP
PPPP.....|.S.........|..PPPPPPP
PPPPP....-------------....PPPPP
PPPPPPPP...............PPPPPPPP
PPPPPPPPPPP........PPPPPPPPPPPP
]]);
-- Dungeon Description
des.region(selection.area(00,00,30,09), "lit")
des.region({ region={12,03, 20,06}, lit=1, type="temple", filled=1 })
-- Doors
des.door("closed",09,04)
des.door("closed",09,05)
des.door("locked",11,03)
des.door("locked",11,06)
-- Stairs
des.stair("up", 04,04)
des.stair("down", 20,06)
-- Non diggable walls
des.non_diggable(selection.area(11,02,21,07))
-- Altar in the temple.
des.altar({ x=13,y=05, align="chaos", type="shrine" })
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster({ class = "r", peaceful=0 })
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("kraken")
des.monster("shark")
des.monster("shark")
des.monster({ class = ";", peaceful=0 })
des.monster({ class = ";", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
-- NetHack Healer Hea-strt.lua	$NHDT-Date: 1652196004 2022/05/10 15:20:04 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Hippocrates
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
PPPP........PPPP.....PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP.P..PPPPP......PPPPPPPP
PPP..........PPPP...PPPPP.........................PPPP..PPPPP........PPPPPPP
PP............PPPPPPPP..............................PPP...PPPP......PPPPPPPP
P.....PPPPPPPPPPPPPPP................................PPPPPPPPPPPPPPPPPPPPPPP
PPPP....PPPPPPPPPPPP...................................PPPPP.PPPPPPPPPPPPPPP
PPPP........PPPPP.........-----------------------........PP...PPPPPPP.....PP
PPP............PPPPP....--|.|......S..........S.|--.....PPPP.PPPPPPP.......P
PPPP..........PPPPP.....|.S.|......-----------|S|.|......PPPPPP.PPP.......PP
PPPPPP......PPPPPP......|.|.|......|...|......|.|.|.....PPPPPP...PP.......PP
PPPPPPPPPPPPPPPPPPP.....+.|.|......S.\.S......|.|.+......PPPPPP.PPPP.......P
PPP...PPPPP...PPPP......|.|.|......|...|......|.|.|.......PPPPPPPPPPP.....PP
PP.....PPP.....PPP......|.|S|-----------......|.S.|......PPPPPPPPPPPPPPPPPPP
PPP..PPPPP...PPPP.......--|.S..........S......|.|--.....PPPPPPPPP....PPPPPPP
PPPPPPPPPPPPPPPP..........-----------------------..........PPPPP..........PP
PPPPPPPPPPPPPPPPP........................................PPPPPP............P
PPP.............PPPP...................................PPP..PPPP..........PP
PP...............PPPPP................................PPPP...PPPP........PPP
PPP.............PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP....PPPPPP
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
]]);

des.replace_terrain({ region={01,01, 74,18}, fromterrain="P", toterrain=".", chance=10 })

-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
-- Stairs
des.stair("down", 37,9)
-- Portal arrival point
des.levregion({ region = {04,12,04,12}, type="branch" })
-- altar for the Temple
des.altar({ x=32,y=09,align="neutral",type="altar" })
-- Doors
des.door("locked",24,10)
des.door("closed",26,08)
des.door("closed",27,12)
des.door("locked",28,13)
des.door("closed",35,07)
des.door("locked",35,10)
des.door("locked",39,10)
des.door("closed",39,13)
des.door("locked",46,07)
des.door("closed",47,08)
des.door("closed",48,12)
des.door("locked",50,10)
-- Hippocrates
des.monster({ id = "Hippocrates", coord = {37, 10}, inventory = function()
   des.object({ id = "silver dagger", spe = 5 });
end })
-- The treasure of Hippocrates
des.object("chest", 37, 10)
-- intern guards for the audience chamber
des.monster("attendant", 29, 08)
des.monster("attendant", 29, 09)
des.monster("attendant", 29, 10)
des.monster("attendant", 29, 11)
des.monster("attendant", 40, 09)
des.monster("attendant", 40, 10)
des.monster("attendant", 40, 11)
des.monster("attendant", 40, 13)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty.
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("rabid rat")
des.monster("giant eel")
des.monster("shark")
des.monster(";")
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "D", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
des.monster({ class = "S", peaceful=0 })
-- NetHack 5.0	hellfill.des	$NHDT-Date: 1432512783 2015/05/25 00:13:03 $  $NHDT-Branch: master $:$NHDT-Revision: 1.25 $
--	Copyright (c) 2022 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
--
--

--	The "fill" level for gehennom.
--
--	This level is used to fill out any levels not occupied by
--	specific levels.
--

function hellobjects()
   local objclass = { "(", "/", "=", "+", ")", "[", "?", "*", "%" };
   shuffle(objclass);

   des.object(objclass[1]);
   des.object(objclass[1]);
   des.object(objclass[2]);
   des.object(objclass[3]);
   des.object(objclass[4]);
   des.object(objclass[5]);
   des.object()
   des.object()
end

--

function hellmonsters()
   local monclass = { "V", "D", " ", "&", "Z" };
   shuffle(monclass);

   des.monster({ class = monclass[1], peaceful = 0 });
   des.monster({ class = monclass[1], peaceful = 0 });
   des.monster({ class = monclass[2], peaceful = 0 });
   des.monster({ class = monclass[2], peaceful = 0 });
   des.monster({ class = monclass[3], peaceful = 0 });
   des.monster({ class = monclass[4], peaceful = 0 });
   des.monster({ peaceful = 0 });
   des.monster({ class = "H", peaceful = 0 });
end

--

function helltraps()
   for i = 1, 12 do
      des.trap()
   end
end

--

function populatemaze()
   for i = 1, math.random(8) + 11 do
      if (percent(50)) then
         des.object("*");
      else
         des.object();
      end
   end

   for i = 1, math.random(10) + 2 do
      des.object("`");
   end

   for i = 1, math.random(3) do
      des.monster({ id = "minotaur", peaceful = 0 });
   end

   for i = 1, math.random(5) + 7 do
      des.monster({ peaceful = 0 });
   end

   for i = 1, math.random(6) + 7 do
      des.gold();
   end

   for i = 1, math.random(6) + 7 do
      des.trap();
   end
end

--

function rnd_halign()
   local aligns = { "half-left", "center", "half-right" };
   return aligns[math.random(1, #aligns)];
end

function rnd_valign()
   local aligns = { "top", "center", "bottom" };
   return aligns[math.random(1, #aligns)];
end

-- the prefab maps must have contents-function, or populatemaze()
-- puts the stuff only inside the prefab map.
-- contains either a function, or an object with "repeatable" and "contents".
-- function alone implies not repeatable.
local hell_prefabs = {
   {
      repeatable = true,
      contents = function ()
      des.map({ halign = rnd_halign(), valign = "center", map = [[
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......]], contents = function() end });
      end
   },
   {
      repeatable = true,
      contents = function ()
      des.map({ halign = rnd_halign(), valign = "center", map = [[
xxxxxx.....xxxxxx
xxxx.........xxxx
xx.............xx
xx.............xx
x...............x
x...............x
.................
.................
.................
.................
.................
x...............x
x...............x
xx.............xx
xx.............xx
xxxx.........xxxx
xxxxxx.....xxxxxx
]], contents = function() end });
      end
   },
   function (coldhell)
      des.map({ halign = rnd_halign(), valign = rnd_valign(), map = [[
xxxxxx.xxxxxx
xLLLLLLLLLLLx
xL---------Lx
xL|.......|Lx
xL|.......|Lx
.L|.......|L.
xL|.......|Lx
xL|.......|Lx
xL---------Lx
xLLLLLLLLLLLx
xxxxxx.xxxxxx
]], contents = function()
   des.non_diggable(selection.area(2,2, 10,8));
   des.region(selection.area(4,4, 8,6), "lit");
   des.exclusion({ type = "teleport", region = { 2,2, 10,8 } });
   if (coldhell) then
      des.replace_terrain({ region = {1,1, 11,9}, fromterrain="L", toterrain="P" });
   end
   local dblocs = {
      { x = 1, y = 5, dir="east", state="closed" },
      { x = 11, y = 5, dir="west", state="closed" },
      { x = 6, y = 1, dir="south", state="closed" },
      { x = 6, y = 9, dir="north", state="closed" }
   }
   shuffle(dblocs);
   for i = 1, math.random(1, #dblocs) do
      des.drawbridge(dblocs[i]);
   end
   local mons = { "H", "T", "@" };
   shuffle(mons);
   for i = 1, 3 + math.random(1, 5) do
      des.monster(mons[1], 6, 5);
   end
      end });
   end,
   {
      repeatable = true,
      contents = function ()
      des.map({ halign = "center", valign = "center", map = [[
..............................................................
..............................................................
..............................................................
..............................................................
..............................................................]], contents = function() end });
      end
   },
   {
      repeatable = true,
      contents = function ()
      des.map({ halign = rnd_halign(), valign = rnd_valign(), lit = true, map = [[
x.....x
.......
.......
.......
.......
.......
x.....x]], contents = function() end  });
   end
   },
   function ()
      des.map({ halign = rnd_halign(), valign = rnd_valign(), map = [[
BBBBBBB
B.....B
B.....B
B.....B
B.....B
B.....B
BBBBBBB]], contents = function()
   des.region({ region={2,2, 2,2}, type="temple", filled=1, irregular=1 });
   des.altar({ x=3, y=3, align="noalign", type=percent(75) and "altar" or "shrine" });
      end  });
   end,
   function ()
      des.map({ halign = rnd_halign(), valign = rnd_valign(), map = [[
..........
..........
..........
...FFFF...
...F..F...
...F..F...
...FFFF...
..........
..........
..........]], contents = function()
   des.exclusion({ type = "teleport", region = { 4,4, 5,5 } });
   local mons = { "Angel", "D", "H", "L" };
   des.monster(mons[math.random(1, #mons)], 4,4);
      end });
   end,

   function ()
      des.map({ halign = rnd_halign(), valign = rnd_valign(), map = [[
.........
.}}}}}}}.
.}}---}}.
.}--.--}.
.}|...|}.
.}--.--}.
.}}---}}.
.}}}}}}}.
.........
]], contents = function(rm)
   des.exclusion({ type = "teleport", region = { 3,3, 5,5 } });
   des.monster("L",04,04)
      end })
   end,
   function ()
      local mapstr = percent(30) and [[
.....
.LLL.
.LZL.
.LLL.
.....]] or [[
.....
.PPP.
.PWP.
.PPP.
.....]];
      for dx = 1, 5 do
         des.map({ x = dx*14 - 4, y = math.random(3, 15),
                   map = mapstr, contents = function() end })
      end
   end,
   {
      repeatable = true,
      contents = function ()
      local mapstr = [[
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...]];
      for dx = 1, 3 do
         des.map({ x = math.random(3, 75), y = 3,
                   map = mapstr, contents = function() end })
      end
   end
   },
};

function rnd_hell_prefab(coldhell)
   local dorepeat = true;
   local nloops = 0;
   repeat
      nloops = nloops + 1;
      local pf = math.random(1, #hell_prefabs);
      local fab = hell_prefabs[pf];
      local fabtype = type(fab);

      if (fabtype == "function") then
         fab(coldhell);
         dorepeat = false;
      elseif (fabtype == "table") then
         fab.contents(coldhell);
         dorepeat = not (fab.repeatable and math.random(0, nloops * 2) == 0);
      end
   until ((not dorepeat) or (nloops > 5));
end

hells = {
   -- 1: "mines" style with lava
   function ()
      des.level_init({ style = "solidfill", fg = " ", lit = 0 });
      des.level_flags("mazelevel", "noflip");
      des.level_init({ style="mines", fg=".", smoothed=true ,joined=true, lit=0, walled=true });
      des.replace_terrain({ fromterrain = " ", toterrain = "L" });
      des.replace_terrain({ fromterrain = ".", toterrain = "L", chance = 5 });
      des.replace_terrain({ mapfragment = [[w]], toterrain = "L", chance = 20 });
      des.replace_terrain({ mapfragment = [[w]], toterrain = ".", chance = 15 });
   end,

   -- 2: mazes like original, with some hell_tweaks
   function ()
      des.level_init({ style = "solidfill", fg = " ", lit = 0 });
      des.level_flags("mazelevel", "noflip");
      des.level_init({ style = "mazegrid", bg = "-" });
      des.mazewalk({ coord = {01,10}, dir = "east", stocked = false});
      local tmpbounds = selection.match("-");
      local bnds = tmpbounds:bounds();
      local protected_area = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);
      hell_tweaks(protected_area:negate());
      if (percent(25)) then
         rnd_hell_prefab(false);
      end
   end,

   -- 3: mazes, style 1: wall thick = 1, random wid corr
   function ()
      des.level_init({ style = "solidfill", fg = " ", lit = 0 });
      des.level_flags("mazelevel", "noflip");
      des.level_init({ style = "maze", wallthick = 1 });
   end,

   -- 4: mazes, style 2: replace wall with iron bars or lava
   function ()
      local cwid = math.random(4);
      des.level_init({ style = "solidfill", fg = " ", lit = 0 });
      des.level_flags("mazelevel", "noflip");
      des.level_init({ style = "maze", wallthick = 1, corrwid = cwid });
      local outside_walls = selection.match(" ");
      local wallterrain = { "F", "L" };
      shuffle(wallterrain);
      des.replace_terrain({ mapfragment = "w", toterrain = wallterrain[1] });
      if (cwid == 1) then
         if (wallterrain[1] == "F" and percent(80)) then
            -- replace some horizontal iron bars walls with floor
            des.replace_terrain({ mapfragment = ".\nF\n.", toterrain = ".", chance = 25 * math.random(4) });
         elseif (percent(25)) then
            rnd_hell_prefab(false);
         end
      end
      des.terrain(outside_walls, " ");  -- return the outside back to solid wall
   end,

   -- 5: mazes, thick walls, occasionally lava instead of walls
   function ()
      local wwid = 1 + math.random(2);
      des.level_init({ style = "solidfill", fg = " ", lit = 0 });
      des.level_flags("mazelevel", "noflip");
      des.level_init({ style = "maze", wallthick = wwid, corrwid = math.random(2) });
      if (percent(50)) then
         local outside_walls = selection.match(" ");
         des.replace_terrain({ mapfragment = "w", toterrain = "L" });
         des.terrain(outside_walls, " ");  -- return the outside back to solid wall
         if (wwid == 3 and percent(40)) then
            local sel = selection.match("LLL\nLLL\nLLL");
            des.terrain(sel:percentage(30 * math.random(4)), "Z");
         end
      end
   end,

   -- 6: cold maze, with ice and water
   function ()
      local cwid = math.random(4);
      des.level_init({ style = "solidfill", fg = " ", lit = 0 });
      des.level_flags("mazelevel", "noflip", "cold");
      des.level_init({ style = "maze", wallthick = 1, corrwid = cwid });
      local outside_walls = selection.match(" ");
      local icey = selection.negate():percentage(10):grow():filter_mapchar(".");
      des.terrain(icey, "I");
      if (cwid > 1) then
         -- turn some ice into wall of water
         des.terrain(icey:percentage(1), "W");
      end
      des.terrain(icey:percentage(5), "P");
      if (percent(25)) then
         des.terrain(selection.match("w"), "W"); -- walls of water
      end
      if (cwid == 1 and percent(25)) then
         rnd_hell_prefab(true);
      end
      des.terrain(outside_walls, " ");  -- return the outside back to solid wall
   end,

   -- 7: open cavern, "mines" with more space
   function ()
      -- walls are either stone or lava
      local wter = percent(50) and " " or "L";
      des.level_init({ style = "solidfill", fg = " ", lit = 0 });
      des.level_flags("mazelevel", "noflip");
      des.level_init({ style="mines", fg=".", bg = wter, smoothed=true ,joined=true, lit=0 });
      local sel = selection.match("."):grow();
      des.terrain({ selection = sel, typ = ".", lit = 0 });

      local border = selection.rect(0,0, 78, 20);
      des.terrain({ selection = border, typ = wter, lit = 0 });
      des.wallify();
   end,

};

local hellno = math.random(1, #hells);
hells[hellno]();

--

des.stair("up")
if (u.invocation_level) then
   des.trap("vibrating square");
else
   des.stair("down")
end

populatemaze();
-- NetHack gehennom juiblex.lua	$NHDT-Date: 1652196026 2022/05/10 15:20:26 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.5 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--

des.level_flags("mazelevel", "shortsighted", "noflip", "temperate")
-- des.level_init(mines,'.','}',true,true,unlit,false)
des.level_init({ style = "swamp", lit = 0 });
-- guarantee at least one open spot to ensure successful stair placement
des.map({ halign = "left", valign = "bottom", map = [[
xxxxxxxx
xx...xxx
xxx...xx
xxxx.xxx
xxxxxxxx
]] });
des.object("boulder")
des.map({ halign = "right", valign = "top", map = [[
xxxxxxxx
xxxx.xxx
xxx...xx
xx...xxx
xxxxxxxx
]] });
des.object("boulder")
-- lair
des.map([[
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxx
xxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxx
xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxx
xxxxxxxxxxxxxxxxxxxxxxxx}}}xxxxxxxxxxxxxxx}}}}}xxxx
xxxxxxxxxxxxxxxxxxxxxxx}}}}}xxxxxxxxxxxxx}.....}xxx
xxxxxxxxxxxxxxxxxxxxxx}}...}}xxxxxxxxxxx}..P.P..}xx
xxxxxxxxxxxxxxxxxxxxx}}..P..}}xxxxxxxxxxx}.....}xxx
xxxxxxxxxxxxxxxxxxxxx}}.P.P.}}xxxxxxxxxxxx}...}xxxx
xxxxxxxxxxxxxxxxxxxxx}}..P..}}xxxxxxxxxxxx}...}xxxx
xxxxxxxxxxxxxxxxxxxxxx}}...}}xxxxxxxxxxxxxx}}}xxxxx
xxxxxxxxxxxxxxxxxxxxxxx}}}}}xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx}}}xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxx
xxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxx
xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
]]);
-- Random registers
local monster = { "j","b","P","F" }
shuffle(monster)

local place = selection.new();
place:set(04,02);
place:set(46,02);
place:set(04,15);
place:set(46,15);

-- Dungeon description
des.region({ region={00,00,50,17}, lit=0, type="swamp", filled=2 })
des.levregion({ region = {01,00,11,20}, region_islev=1, exclude={0,0,50,17}, type="stair-down" });
des.levregion({ region = {69,00,79,20}, region_islev=1, exclude={0,0,50,17}, type="stair-up" });
des.levregion({ region = {01,00,11,20}, region_islev=1, exclude={0,0,50,17}, type="branch" });
des.teleport_region({ region = {01,00,11,20}, region_islev=1, exclude={0,0,50,17},dir="up" })
des.teleport_region({ region = {69,00,79,20}, region_islev=1, exclude={0,0,50,17},dir="down" })
des.feature("fountain", place:rndcoord(1))
des.monster({ id = "giant mimic", coord = place:rndcoord(1), appear_as = "ter:fountain" })
des.monster({ id = "giant mimic", coord = place:rndcoord(1), appear_as = "ter:fountain" })
des.monster({ id = "giant mimic", coord = place:rndcoord(1), appear_as = "ter:fountain" })
-- The demon of the swamp
des.monster("Juiblex",25,08)
-- And a couple demons
des.monster("lemure",43,08)
des.monster("lemure",44,08)
des.monster("lemure",45,08)
-- Some liquids and gems
des.object("*",43,06)
des.object("*",45,06)
des.object("!",43,09)
des.object("!",44,09)
des.object("!",45,09)
-- And lots of blobby monsters
des.monster(monster[4],25,06)
des.monster(monster[1],24,07)
des.monster(monster[2],26,07)
des.monster(monster[3],23,08)
des.monster(monster[3],27,08)
des.monster(monster[2],24,09)
des.monster(monster[1],26,09)
des.monster(monster[4],25,10)
des.monster("j")
des.monster("j")
des.monster("j")
des.monster("j")
des.monster("P")
des.monster("P")
des.monster("P")
des.monster("P")
des.monster("b")
des.monster("b")
des.monster("b")
des.monster("F")
des.monster("F")
des.monster("F")
des.monster("m")
des.monster("m")
des.monster("jellyfish")
des.monster("jellyfish")
-- Some random objects
des.object("!")
des.object("!")
des.object("!")
des.object("%")
des.object("%")
des.object("%")
des.object("boulder")
-- Some traps
des.trap("sleep gas")
des.trap("sleep gas")
des.trap("anti magic")
des.trap("anti magic")
des.trap("magic")
des.trap("magic")
-- NetHack Knight Kni-fila.lua	$NHDT-Date: 1652196004 2022/05/10 15:20:04 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "." });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ class = "i", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
--
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack Knight Kni-filb.lua	$NHDT-Date: 1652196005 2022/05/10 15:20:05 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "." });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ class = "i", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
--
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack Knight Kni-goal.lua	$NHDT-Date: 1652196005 2022/05/10 15:20:05 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
....PPPP..PPP..                                                             
.PPPPP...PP..     ..........     .................................          
..PPPPP...P..    ...........    ...................................         
..PPP.......   ...........    ......................................        
...PPP.......    .........     ...............   .....................      
...........    ............    ............     ......................      
............   .............      .......     .....................         
..............................            .........................         
...............................   ..................................        
.............................    ....................................       
.........    ......................................................         
.....PP...    .....................................................         
.....PPP....    ....................................................        
......PPP....   ..............   ....................................       
.......PPP....  .............    .....................................      
........PP...    ............    ......................................     
...PPP........     ..........     ..................................        
..PPPPP........     ..........     ..............................           
....PPPPP......       .........     ..........................              
.......PPPP...                                                              
]]);
-- Dungeon Description
des.region(selection.area(00,00,14,19), "lit")
des.region(selection.area(15,00,75,19), "unlit")
-- Stairs
des.stair("up", 03,08)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Objects
des.object({ id = "mirror", x=50,y=06, buc="blessed", spe=0, name="The Magic Mirror of Merlin" })
des.object({ coord = { 33, 01 } })
des.object({ coord = { 33, 02 } })
des.object({ coord = { 33, 03 } })
des.object({ coord = { 33, 04 } })
des.object({ coord = { 33, 05 } })
des.object({ coord = { 34, 01 } })
des.object({ coord = { 34, 02 } })
des.object({ coord = { 34, 03 } })
des.object({ coord = { 34, 04 } })
des.object({ coord = { 34, 05 } })
des.object({ coord = { 35, 01 } })
des.object({ coord = { 35, 02 } })
des.object({ coord = { 35, 03 } })
des.object({ coord = { 35, 04 } })
des.object({ coord = { 35, 05 } })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap("spiked pit",13,07)
des.trap("spiked pit",12,08)
des.trap("spiked pit",12,09)
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "Ixoth", x=50, y=06, peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ class = "i", peaceful=0 })
des.monster({ class = "i", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ class = "j", peaceful=0 })
-- NetHack Knight Kni-loca.lua	$NHDT-Date: 1652196005 2022/05/10 15:20:05 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor")

des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })

des.map([[
xxxxxxxxx......xxxx...........xxxxxxxxxx
xxxxxxx.........xxx.............xxxxxxxx
xxxx..............................xxxxxx
xx.................................xxxxx
....................................xxxx
.......................................x
........................................
xx...................................xxx
xxxx..............................xxxxxx
xxxxxx..........................xxxxxxxx
xxxxxxxx.........xx..........xxxxxxxxxxx
xxxxxxxxx.......xxxxxx.....xxxxxxxxxxxxx
]]);
-- Dungeon Description
-- The Isle of Glass is a Tor rising out of the swamps surrounding it.
des.region(selection.area(00,00,39,11), "lit")
-- The top area of the Tor is a holy site.
des.region({ region={09,02, 27,09}, lit=1, type="temple", filled=2 })
-- Stairs
des.stair("up", 38,0)
des.stair("down", 18,05)
-- The altar atop the Tor and its attendant (creating altar makes the priest).
des.altar({ x=17, y=05, align="neutral", type="shrine" })
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
-- All of the avenues are guarded by magic except for the East.
-- South
des.trap("magic",08,11)
des.trap("magic",09,11)
des.trap("magic",10,11)
des.trap("magic",11,11)
des.trap("magic",12,11)
des.trap("magic",13,11)
des.trap("magic",14,11)
des.trap("magic",15,11)
des.trap("magic",16,11)
des.trap("magic",20,11)
des.trap("magic",21,11)
des.trap("magic",22,11)
des.trap("magic",23,11)
des.trap("magic",24,11)
des.trap("magic",25,11)
des.trap("magic",26,11)
des.trap("magic",27,11)
des.trap("magic",28,11)
-- West
des.trap("magic",00,03)
des.trap("magic",00,04)
des.trap("magic",00,05)
des.trap("magic",00,06)
-- North
des.trap("magic",06,00)
des.trap("magic",07,00)
des.trap("magic",08,00)
des.trap("magic",09,00)
des.trap("magic",10,00)
des.trap("magic",11,00)
des.trap("magic",12,00)
des.trap("magic",13,00)
des.trap("magic",14,00)
des.trap("magic",19,00)
des.trap("magic",20,00)
des.trap("magic",21,00)
des.trap("magic",22,00)
des.trap("magic",23,00)
des.trap("magic",24,00)
des.trap("magic",25,00)
des.trap("magic",26,00)
des.trap("magic",27,00)
des.trap("magic",28,00)
des.trap("magic",29,00)
des.trap("magic",30,00)
des.trap("magic",31,00)
des.trap("magic",32,00)
-- Even so, there are magic "sinkholes" around.
des.trap("anti magic")
des.trap("anti magic")
des.trap("anti magic")
des.trap("anti magic")
des.trap("anti magic")
des.trap("anti magic")
des.trap("anti magic")
-- Random monsters.
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ id = "quasit", peaceful=0 })
des.monster({ class = "i", peaceful=0 })
des.monster({ class = "j", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ id = "ochre jelly", peaceful=0 })
des.monster({ class = "j", peaceful=0 })
-- NetHack Knight Kni-strt.lua	$NHDT-Date: 1652196006 2022/05/10 15:20:06 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, King Arthur
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = "." });

des.level_flags("mazelevel", "noteleport", "hardfloor")
-- This is a kludge to init the level as a lit field.
des.level_init({ style="mines", fg=".", bg=".", smoothed=false, joined=false, lit=1, walled=false })

des.map([[
..................................................
.-----......................................-----.
.|...|......................................|...|.
.--|+-------------------++-------------------+|--.
...|...................+..+...................|...
...|.|-----------------|++|-----------------|.|...
...|.|.................|..|.........|.......|.|...
...|.|...\.............+..+.........|.......|.|...
...|.|.................+..+.........+.......|.|...
...|.|.................|..|.........|.......|.|...
...|.|--------------------------------------|.|...
...|..........................................|...
.--|+----------------------------------------+|--.
.|...|......................................|...|.
.-----......................................-----.
..................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,49,15), "lit")
des.region(selection.area(04,04,45,11), "unlit")
des.region({ region={06,06,22,09}, lit=1, type="throne", filled=2 })
des.region(selection.area(27,06,43,09), "lit")
-- Portal arrival point
des.levregion({ region = {20,14,20,14}, type="branch" })
-- Stairs
des.stair("down", 40,7)
-- Doors
-- Outside Doors
des.door("locked",24,03)
des.door("locked",25,03)
-- Inside Doors
des.door("closed",23,04)
des.door("closed",26,04)
des.door("locked",24,05)
des.door("locked",25,05)
des.door("closed",23,07)
des.door("closed",26,07)
des.door("closed",23,08)
des.door("closed",26,08)
des.door("closed",36,08)
-- Watchroom Doors
des.door("closed",04,03)
des.door("closed",45,03)
des.door("closed",04,12)
des.door("closed",45,12)
-- King Arthur
des.monster({ id = "King Arthur", coord = {09, 07}, inventory = function()
   des.object({ id = "long sword", spe = 4, buc = "blessed", name = "Excalibur" });
   des.object({ id = "plate mail", spe = 4 });
end })
-- The treasure of King Arthur
des.object("chest", 09, 07)
-- knight guards for the watchrooms
des.monster({ id = "knight", x=04, y=02, peaceful = 1 })
des.monster({ id = "knight", x=04, y=13, peaceful = 1 })
des.monster({ id = "knight", x=45, y=02, peaceful = 1 })
des.monster({ id = "knight", x=45, y=13, peaceful = 1 })
-- page guards for the audience chamber
des.monster("page", 16, 06)
des.monster("page", 18, 06)
des.monster("page", 20, 06)
des.monster("page", 16, 09)
des.monster("page", 18, 09)
des.monster("page", 20, 09)
-- Non diggable walls
des.non_diggable(selection.area(00,00,49,15))
-- Random traps
des.trap("sleep gas",24,04)
des.trap("sleep gas",25,04)
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty.
des.monster({ id = "quasit", x=14, y=00, peaceful=0 })
des.monster({ id = "quasit", x=16, y=00, peaceful=0 })
des.monster({ id = "quasit", x=18, y=00, peaceful=0 })
des.monster({ id = "quasit", x=20, y=00, peaceful=0 })
des.monster({ id = "quasit", x=22, y=00, peaceful=0 })
des.monster({ id = "quasit", x=24, y=00, peaceful=0 })
des.monster({ id = "quasit", x=26, y=00, peaceful=0 })
des.monster({ id = "quasit", x=28, y=00, peaceful=0 })
des.monster({ id = "quasit", x=30, y=00, peaceful=0 })
des.monster({ id = "quasit", x=32, y=00, peaceful=0 })
des.monster({ id = "quasit", x=34, y=00, peaceful=0 })
des.monster({ id = "quasit", x=36, y=00, peaceful=0 })

-- Some warhorses
for i = 1, 2 + nh.rn2(3) do
    des.monster({ id = "warhorse", peaceful = 1, inventory = function() if percent(50) then des.object("saddle"); end end });
end
-- NetHack knox knox.lua	$NHDT-Date: 1652196027 2022/05/10 15:20:27 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.5 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport")
-- Fort's entry is via a secret door rather than a drawbridge;
-- the moat must be manually circumvented.
des.map([[
----------------------------------------------------------------------------
| |........|...............................................................|
| |........|.................................................------------..|
| --S----S--.................................................|..........|..|
|   #   |........}}}}}}}....................}}}}}}}..........|..........|..|
|   #   |........}-----}....................}-----}..........--+--+--...|..|
|   # ---........}|...|}}}}}}}}}}}}}}}}}}}}}}|...|}.................|...|..|
|   # |..........}---S------------------------S---}.................|...|..|
|   # |..........}}}|...............|..........|}}}.................+...|..|
| --S----..........}|...............S..........|}...................|...|..|
| |.....|..........}|...............|......\...S}...................|...|..|
| |.....+........}}}|...............|..........|}}}.................+...|..|
| |.....|........}---S------------------------S---}.................|...|..|
| |.....|........}|...|}}}}}}}}}}}}}}}}}}}}}}|...|}.................|...|..|
| |..-S----......}-----}....................}-----}..........--+--+--...|..|
| |..|....|......}}}}}}}....................}}}}}}}..........|..........|..|
| |..|....|..................................................|..........|..|
| -----------................................................------------..|
|           |..............................................................|
----------------------------------------------------------------------------
]]);
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Portal arrival point
des.levregion({ region = {08,16,08,16}, type="branch" });
-- accessible via ^V in wizard mode; arrive near the portal
des.teleport_region({ region = {06,15,09,16}, dir="up" })
des.teleport_region({ region = {06,15,09,16}, dir="down" })
--   Throne room, with Croesus on the throne
des.region({ x1=37,y1=08,x2=46,y2=11, lit=1, type="throne", filled=1 })
--   50% chance each to move throne and/or fort's entry secret door up one row
if percent(50) then
   des.monster({ id = "Croesus", x=43, y=10, peaceful = 0 })
else
   des.monster({ id = "Croesus", x=43, y=09, peaceful = 0 })
   des.terrain(43,09, "\\")
   des.terrain(43,10, ".")
end
if percent(50) then
   des.terrain(47,09, "S")
   des.terrain(47,10, "|")
end

--   The Vault
function treasure_spot(x,y)
   des.gold({ x = x, y = y, amount = 600 + math.random(0, 300) });
   if (math.random(0,2) == 0) then
      if (math.random(0,2) == 0) then
         des.trap("spiked pit", x,y);
      else
         des.trap("land mine", x,y);
      end
   end
end

des.region({ region={21,08,35,11}, lit=1, type="ordinary" })
local treasury = selection.area(21,08,35,11);
treasury:iterate(treasure_spot);

--   Vault entrance also varies
if percent(50) then
   des.terrain(36,09, "|")
   des.terrain(36,10, "S")
end
--   Corner towers
des.region(selection.area(19,06,21,06),"lit")
des.region(selection.area(46,06,48,06),"lit")
des.region(selection.area(19,13,21,13),"lit")
des.region(selection.area(46,13,48,13),"lit")
--   A welcoming committee
des.region({ region={03,10,07,13},lit=1,type="zoo",filled=1,irregular=1 })
--   arrival chamber; needs to be a real room to control migrating monsters,
--   and `unfilled' is a kludge to force an ordinary room to remain a room
des.region({ region={06,15,09,16},lit=0,type="ordinary",arrival_room=true })

--   3.6.2:  Entering level carrying a lit candle would show the whole entry
--   chamber except for its top right corner even though some of the revealed
--   spots are farther away than that is.  This is because the lit treasure zoo
--   is forcing the walls around it to be lit too (see light_region(sp_lev.c)),
--   and lit walls show up when light reaches the spot next to them.  The unlit
--   corner is beyond candle range and isn't flagged as lit so it doesn't show
--   up until light reaches it rather than when light gets next to it.
--
--   Force left and top walls of the arrival chamber to be unlit in order to
--   hide this lighting quirk.
des.region(selection.area(05,14,05,17),"unlit")
des.region(selection.area(05,14,09,14),"unlit")
--   (Entering the treasure zoo while blind and then regaining sight might
--   expose the new oddity of these walls not appearing when on the lit side
--   but that's even less likely to occur than the rare instance of entering
--   the level with a candle.  They'll almost always be mapped from the arrival
--   side before entering the treasure zoo.
--
--   A prior workaround lit the top right corner wall and then jumped through
--   hoops to suppress the extra light in the 3x3 lit area that produced.
--   This is simpler and makes the short range candle light behave more like
--   it is expected to work.)

--   Barracks
des.region({ region={62,03,71,04},lit=1,type="barracks",filled=1,irregular=1 })
-- Doors
des.door("closed",06,14)
des.door("closed",09,03)
des.door("open",63,05)
des.door("open",66,05)
des.door("open",68,08)
des.door("locked",08,11)
des.door("open",68,11)
des.door("closed",63,14)
des.door("closed",66,14)
des.door("closed",04,03)
des.door("closed",04,09)
-- Soldiers guarding the fort
des.monster("soldier",12,14)
des.monster("soldier",12,13)
des.monster("soldier",11,10)
des.monster("soldier",13,02)
des.monster("soldier",14,03)
des.monster("soldier",20,02)
des.monster("soldier",30,02)
des.monster("soldier",40,02)
des.monster("soldier",30,16)
des.monster("soldier",32,16)
des.monster("soldier",40,16)
des.monster("soldier",54,16)
des.monster("soldier",54,14)
des.monster("soldier",54,13)
des.monster("soldier",57,10)
des.monster("soldier",57,09)
des.monster("lieutenant",15,08)
-- Possible source of a boulder
des.monster("stone giant",03,01)
-- Four dragons guarding each side
des.monster("D",18,09)
des.monster("D",49,10)
des.monster("D",33,05)
des.monster("D",33,14)
-- Eels in the moat
des.monster("giant eel",17,08)
des.monster("giant eel",17,11)
des.monster("giant eel",48,08)
des.monster("giant eel",48,11)
-- The corner rooms treasures
des.object("diamond",19,06)
des.object("diamond",20,06)
des.object("diamond",21,06)
des.object("emerald",19,13)
des.object("emerald",20,13)
des.object("emerald",21,13)
des.object("ruby",46,06)
des.object("ruby",47,06)
des.object("ruby",48,06)
des.object("amethyst",46,13)
des.object("amethyst",47,13)
des.object("amethyst",48,13)
-- NetHack medusa medusa-1.lua	$NHDT-Date: 1652196027 2022/05/10 15:20:27 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990, 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
-- These are the Medusa's levels :
--

des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport")

des.map([[
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}.}}}}}..}}}}}......}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}....}}}...}}}}}
}...}}.....}}}}}....}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}...............}
}....}}}}}}}}}}....}}}..}}}}}}}}}}}.......}}}}}}}}}}}}}}}}..}}.....}}}...}}
}....}}}}}}}}.....}}}}..}}}}}}.................}}}}}}}}}}}.}}}}.....}}...}}
}....}}}}}}}}}}}}.}}}}.}}}}}}.-----------------.}}}}}}}}}}}}}}}}}.........}
}....}}}}}}}}}}}}}}}}}}.}}}...|...............S...}}}}}}}}}}}}}}}}}}}....}}
}.....}.}}....}}}}}}}}}.}}....--------+--------....}}}}}}..}}}}}}}}}}}...}}
}......}}}}..}}}}}}}}}}}}}........|.......|........}}}}}....}}}}}}}}}}}}}}}
}.....}}}}}}}}}}}}}}}}}}}}........|.......|........}}}}}...}}}}}}}}}.}}}}}}
}.....}}}}}}}}}}}}}}}}}}}}....--------+--------....}}}}}}.}.}}}}}}}}}}}}}}}
}......}}}}}}}}}}}}}}}}}}}}...S...............|...}}}}}}}}}}}}}}}}}.}}}}}}}
}.......}}}}}}}..}}}}}}}}}}}}.-----------------.}}}}}}}}}}}}}}}}}....}}}}}}
}........}}.}}....}}}}}}}}}}}}.................}}}}}..}}}}}}}}}.......}}}}}
}.......}}}}}}}......}}}}}}}}}}}}}}.......}}}}}}}}}.....}}}}}}...}}..}}}}}}
}.....}}}}}}}}}}}.....}}}}}}}}}}}}}}}}}}}}}}.}}}}}}}..}}}}}}}}}}....}}}}}}}
}}..}}}}}}}}}}}}}....}}}}}}}}}}}}}}}}}}}}}}...}}..}}}}}}}.}}.}}}}..}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
]]);
-- Dungeon Description
des.region(selection.area(00,00,74,19),"lit")
des.region(selection.area(31,07,45,07),"unlit")
-- make the downstairs room a real room to control arriving monsters, 
-- and also as a fixup_special hack; the first room defined on Medusa's level
-- receives some statues
des.region({ region={35,09, 41,10}, lit = 0, type="ordinary", arrival_room=true })
des.region(selection.area(31,12,45,12),"unlit")
-- Teleport: down to up stairs island, up to Medusa's island
des.teleport_region({ region = {01,01,05,17}, dir="down" })
des.teleport_region({ region = {26,04,50,15}, dir="up" })
-- Stairs
des.stair("up", 05,14)
des.stair("down", 36,10)
-- Doors
des.door("closed",46,07)
des.door("locked",38,08)
des.door("locked",38,11)
des.door("closed",30,12)
-- Branch, not allowed inside Medusa's building.
des.levregion({ region = {01,00,79,20}, exclude = {30,06,46,13}, type = "branch" })
-- Non diggable walls
des.non_diggable(selection.area(30,06,46,13))
-- Objects
des.object({ id = "statue", x=36,y=10, buc="uncursed",
             montype="knight", historic=1, male = 1, name="Perseus",
             contents = function()
                if percent(75) then
                   des.object({ id = "shield of reflection", buc="cursed", spe=0 })
                end
                if percent(25) then
                   des.object({ id = "levitation boots", spe=0 })
                end
                if percent(50) then
                   des.object({ id = "scimitar", buc="blessed", spe=2 })
                end
                if percent(50) then
                   des.object("sack")
                end
             end
});

-- Specifying explicit contents forces them to be empty.
des.object({ id = "statue", contents = 0 })
des.object({ id = "statue", contents = 0 })
des.object({ id = "statue", contents = 0 })
des.object({ id = "statue", contents = 0 })
des.object({ id = "statue", contents = 0 })
des.object({ id = "statue", contents = 0 })
des.object({ id = "statue", contents = 0 })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap("board",38,07)
des.trap("board",38,12)
-- Random monsters
des.monster({ id = "Medusa", x=36,y=10, asleep=1 })
des.monster("giant eel",11,06)
des.monster("giant eel",23,13)
des.monster("giant eel",29,02)
des.monster("jellyfish",02,02)
des.monster("jellyfish",00,08)
des.monster("jellyfish",04,18)
des.monster("water troll",51,03)
des.monster("water troll",64,11)
des.monster({ class = 'S', x=38, y=07 })
des.monster({ class = 'S', x=38, y=12 })
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
-- NetHack medusa medusa-2.lua	$NHDT-Date: 1652196027 2022/05/10 15:20:27 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990, 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport")

des.map([[
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}------}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}-------}}}}}}}}--------------}
}|....|}}}}}}}}}..}.}}..}}}}}}}}}}}}}..}}}}}}-.....--}}}}}}}|............|}
}|....|.}}}}}}}}}}}.}...}}..}}}}}}}}}}}}}}}}}---......}}}}}.|............|}
}S....|.}}}}}}---}}}}}}}}}}}}}}}}}}}}}}}}}}---...|..-}}}}}}.S..----------|}
}|....|.}}}}}}-...}}}}}}}}}.}}...}.}}}}.}}}......----}}}}}}.|............|}
}|....|.}}}}}}-....--}}}}}}}}}}}}}}}}}}}}}}----...--}}}}}}}.|..--------+-|}
}|....|.}}}}}}}......}}}}...}}}}}}.}}}}}}}}}}}---..---}}}}}.|..|..S...|..|}
}|....|.}}}}}}-....-}}}}}}}------}}}}}}}}}}}}}}-...|.-}}}}}.|..|..|...|..|}
}|....|.}}}}}}}}}---}}}}}}}........}}}}}}}}}}---.|....}}}}}.|..|..|...|..|}
}|....|.}}}}}}}}}}}}}}}}}}-....|...-}}}}}}}}--...----.}}}}}.|..|..|...|..|}
}|....|.}}}}}}..}}}}}}}}}}---..--------}}}}}-..---}}}}}}}}}.|..|..-------|}
}|...}|...}}}.}}}}}}...}}}}}--..........}}}}..--}}}}}}}}}}}.|..|.........|}
}|...}S...}}.}}}}}}}}}}}}}}}-..--------}}}}}}}}}}}}}}...}}}.|..--------..S}
}|...}|...}}}}}}}..}}}}}}----..|....-}}}}}}}}}}}}}}}}}..}}}.|............|}
}|....|}}}}}....}}}}..}}.-.......----}}......}}}}}}.......}}|............|}
}------}}}}}}}}}}}}}}}}}}---------}}}}}}}}}}}}}}}}}}}}}}}}}}--------------}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
]]);
-- Dungeon Description
des.region(selection.area(00,00,74,19),"lit")
des.region(selection.area(02,03,05,16),"unlit")
-- fixup_special hack: the first room defined on a Medusa level gets some
-- leaderboard statues; setting the region as irregular makes it a room
des.region({ region={61,03, 72,16}, lit=0, type="ordinary",irregular = 1 })
des.region(selection.area(71,08,72,11),"unlit")
-- make the downstairs area a real room to control arriving monsters
des.region({ region={67,08,69,11}, lit=1, type="ordinary", arrival_room=true })
-- Teleport: down to up stairs island, up to Medusa's island
des.teleport_region({ region = {02,03,05,16}, dir="down" })
des.teleport_region({ region = {61,03,72,16}, dir="up" })
-- Stairs
des.stair("up", 04,09)
des.stair("down", 68,10)
-- Doors
des.door("locked", 71,07)
-- Branch, not allowed on Medusa's island.
des.levregion({ type="branch", region = {01,00,79,20}, exclude = {59,01,73,17} })
-- Non diggable walls
des.non_diggable(selection.area(01,02,06,17))
des.non_diggable(selection.area(60,02,73,17))
-- Objects
des.object({ id = "statue", x=68,y=10,buc="uncursed",
                      montype="knight", historic=1, male=1,name="Perseus",
                      contents = function()
                         if percent(25) then
                            des.object({ id = "shield of reflection", buc="cursed", spe=0 })
                         end
                         if percent(75) then
                            des.object({ id = "levitation boots", spe=0 })
                         end
                         if percent(50) then
                            des.object({ id = "scimitar", buc="blessed", spe=2 })
                         end
                         if percent(50) then
                            des.object("sack")
                         end
                      end
});
des.object({ id = "statue", x=64, y=08, contents=0 })
des.object({ id = "statue", x=65, y=08, contents=0 })
des.object({ id = "statue", x=64, y=09, contents=0 })
des.object({ id = "statue", x=65, y=09, contents=0 })
des.object({ id = "statue", x=64, y=10, contents=0 })
des.object({ id = "statue", x=65, y=10, contents=0 })
des.object({ id = "statue", x=64, y=11, contents=0 })
des.object({ id = "statue", x=65, y=11, contents=0 })
des.object("boulder",04,04)
des.object("/",52,09)
des.object("boulder",52,09)
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Traps
des.trap("magic",03,12)
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters.
des.monster({ id="Medusa",x=68,y=10,asleep=1 })
des.monster("gremlin",02,14)
des.monster("titan",02,05)
des.monster("electric eel",10,13)
des.monster("electric eel",11,13)
des.monster("electric eel",10,14)
des.monster("electric eel",11,14)
des.monster("electric eel",10,15)
des.monster("electric eel",11,15)
des.monster("jellyfish",01,01)
des.monster("jellyfish",00,08)
des.monster("jellyfish",04,19)
des.monster({ id = "stone golem",x=64,y=08,asleep=1 })
des.monster({ id = "stone golem",x=65,y=08,asleep=1 })
des.monster({ id = "stone golem",x=64,y=09,asleep=1 })
des.monster({ id = "stone golem",x=65,y=09,asleep=1 })
des.monster({ id = "cobra",x=64,y=10,asleep=1 })
des.monster({ id = "cobra",x=65,y=10,asleep=1 })
des.monster("A",72,08)
des.monster({ id = "yellow light",x=72,y=11,asleep=1 })
des.monster({ x = 17, y = 07 })
des.monster({ x = 28, y = 11 })
des.monster({ x = 32, y = 13 })
des.monster({ x = 49, y = 09 })
des.monster({ x = 48, y = 07 })
des.monster({ x = 65, y = 03 })
des.monster({ x = 70, y = 04 })
des.monster({ x = 70, y = 15 })
des.monster({ x = 65, y = 16 })
des.monster()
des.monster()
des.monster()
des.monster()

-- NetHack medusa medusa-3.lua	$NHDT-Date: 1716152250 2024/05/19 20:57:30 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.8 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990, 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("noteleport", "mazelevel", "shortsighted")
--
-- Here you disturb ravens nesting in the trees.
--
des.map([[
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}.}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}T..T.}}}}}}}}}}}}}}}}}}}}..}}}}}}}}.}}}...}}}}}}}.}}}}}......}}}}}}}
}}}}}}.......T.}}}}}}}}}}}..}}}}..T.}}}}}}...T...T..}}...T..}}..-----..}}}}}
}}}...-----....}}}}}}}}}}.T..}}}}}...}}}}}.....T..}}}}}......T..|...|.T..}}}
}}}.T.|...|...T.}}}}}}}.T......}}}}..T..}}.}}}.}}...}}}}}.T.....+...|...}}}}
}}}}..|...|.}}.}}}}}.....}}}T.}}}}.....}}}}}}.T}}}}}}}}}}}}}..T.|...|.}}}}}}
}}}}}.|...|.}}}}}}..T..}}}}}}}}}}}}}T.}}}}}}}}..}}}}}}}}}}}.....-----.}}}}}}
}}}}}.--+--..}}}}}}...}}}}}}}}}}}}}}}}}}}T.}}}}}}}}}}}}}}}}.T.}........}}}}}
}}}}}.......}}}}}}..}}}}}}}}}.}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.}}}.}}.T.}}}}}}
}}.T...T...}}}}T}}}}}}}}}}}....}}}}}}}}}}T}}}}}.T}}...}}}}}}}}}}}}}}...}}}}}
}}}...T}}}}}}}..}}}}}}}}}}}.T...}}}}}}}}.T.}.T.....T....}}}}}}}}}}}}}.}}}}}}
}}}}}}}}}}}}}}}....}}}}}}}...}}.}}}}}}}}}}............T..}}}}}.T.}}}}}}}}}}}
}}}}}}}}}}}}}}}}..T..}}}}}}}}}}}}}}..}}}}}..------+--...T.}}}....}}}}}}}}}}}
}}}}.}..}}}}}}}.T.....}}}}}}}}}}}..T.}}}}.T.|...|...|....}}}}}.}}}}}...}}}}}
}}}.T.}...}..}}}}T.T.}}}}}}.}}}}}}}....}}...|...+...|.}}}}}}}}}}}}}..T...}}}
}}}}..}}}.....}}...}}}}}}}...}}}}}}}}}}}}}T.|...|...|}}}}}}}}}}}....T..}}}}}
}}}}}..}}}.T..}}}.}}}}}}}}.T..}}}}}}}}}}}}}}---S-----}}}}}}}}}}}}}....}}}}}}
}}}}}}}}}}}..}}}}}}}}}}}}}}}.}}}}}}}}}}}}}}}}}T..T}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
]]);

local place = selection.new();
-- each of these spots are inside a distinct room
place:set(08,06);
place:set(66,05);
place:set(46,15);

-- location of Medusa and downstairs and Perseus's statue
local medloc = place:rndcoord(1,1);
-- specific location for some other statue in a different downstairs-eligible
-- room, to prevent object detection from becoming a trivial way to pinpoint
-- Medusa's location
-- [usefulness depends on future STATUE->dknown changes in nethack's core]
local altloc = place:rndcoord(1,1);
-- location of a fountain, in the remaining of three downstairs-eligible rooms
local othloc = place:rndcoord(1,1);
-- once here, all three points set in 'place' have been used up

des.region(selection.area(00,00,74,19),"lit")
-- fixup_special hack: the first room defined on a Medusa level gets some
-- leaderboard statues, use arrival_room to force it to be a room even though
-- monsters won't arrive within it
des.region({ region={49,14, 51,16}, lit=-1, type="ordinary", arrival_room=true });
des.region(selection.area(07,05,09,07),"unlit")
des.region(selection.area(65,04,67,06),"unlit")
des.region(selection.area(45,14,47,16),"unlit")
-- Non diggable walls
-- 4th room has diggable walls as Medusa is never placed there
des.non_diggable(selection.area(06,04,10,08))
des.non_diggable(selection.area(64,03,68,07))
des.non_diggable(selection.area(44,13,48,17))
-- All places are accessible also with jumping, so don't bother
-- restricting the placement when teleporting from levels below this.
des.teleport_region({ region = {33,02,38,07}, dir="down" })
des.levregion({ region = {32,01,39,07}, type="stair-up" });

-- place the downstairs at the same spot where Medusa will be placed
des.stair("down", medloc);
--
des.door("locked",08,08)
des.door("locked",64,05)
des.door("random",50,13)
des.door("locked",48,15)
--
-- in one of the three designated rooms, but not the one with Medusa plus
-- downstairs and also not 'altloc' where a random statue will be placed
des.feature("fountain", othloc);
--
-- same spot as Medusa plus downstairs
des.object({ id="statue", coord=medloc, buc="uncursed",
                      montype="knight", historic=1, male=1,name="Perseus",
                      contents = function()
                         if percent(75) then
                            des.object({ id = "shield of reflection", buc="cursed", spe=0 })
                         end
                         if percent(25) then
                            des.object({ id = "levitation boots", spe=0 })
                         end
                         if percent(50) then
                            des.object({ id = "scimitar", buc="blessed", spe=2 })
                         end
                         if percent(50) then
                            des.object("sack")
                         end
                      end
});
--
-- first random statue is in one of the three designated rooms but not the
-- one with Medusa plus downstairs or the one with the fountain
des.object({ id = "statue", coord=altloc, contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })

for i=1,8 do
   des.object()
end
des.object("scroll of blank paper",48,18)
des.object("scroll of blank paper",48,18)
--
des.trap("rust")
des.trap("rust")
des.trap("board")
des.trap("board")
des.trap()
--
-- place Medusa before placing other monsters so that they won't be able to
-- unintentionally steal her spot on the downstairs
des.monster({ id = "Medusa", coord=medloc, asleep=1 })
des.monster("giant eel")
des.monster("giant eel")
des.monster("jellyfish")
des.monster("jellyfish")
des.monster("wood nymph")
des.monster("wood nymph")
des.monster("water nymph")
des.monster("water nymph")

for i=1,30 do
   des.monster({ id = "raven", peaceful = 0 })
end

--#medusa-3.lua
-- NetHack medusa medusa-4.lua	$NHDT-Date: 1716152274 2024/05/19 20:57:54 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.8 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1990, 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("noteleport", "mazelevel")
--
-- Here the Medusa rules some slithery monsters from her 'palace', with
-- a yellow dragon nesting in the backyard.
--
des.map([[
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}}}}}}}}}}}}........}}}}}}}}}}}}}}}}}}}}}}}..}}}.....}}}}}}}}}}}----|}}}}}
}}}}}}..----------F-.....}}}}}}}}}}}}}}}}..---...}}}}....T.}}}}}}}....|}}}}}
}}}.....|...F......S}}}}....}}}}}}}...}}.....|}}.}}}}}}}......}}}}|......}}}
}}}.....+...|..{...|}}}}}}}}}}}}.....}}}}|...|}}}}}}}}}}}.}}}}}}}}----.}}}}}
}}......|...|......|}}}}}}}}}......}}}}}}|.......}}}}}}}}}}}}}..}}}}}...}}}}
}}|-+--F|-+--....|F|-|}}}}}....}}}....}}}-----}}.....}}}}}}}......}}}}.}}}}}
}}|...}}|...|....|}}}|}}}}}}}..}}}}}}}}}}}}}}}}}}}}....}}}}}}}}....T.}}}}}}}
}}|...}}F...+....F}}}}}}}..}}}}}}}}}}}}}}...}}}}}}}}}}}}}}}}}}}}}}....}}..}}
}}|...}}|...|....|}}}|}....}}}}}}....}}}...}}}}}...}}}}}}}}}}}}}}}}}.....}}}
}}--+--F|-+--....-F|-|....}}}}}}}}}}.T...}}}}....---}}}}}}}}}}}}}}}}}}}}}}}}
}}......|...|......|}}}}}.}}}}}}}}}....}}}}}}}.....|}}}}}}}}}.}}}}}}}}}}}}}}
}}}}....+...|..{...|.}}}}}}}}}}}}}}}}}}}}}}}}}}.|..|}}}}}}}......}}}}...}}}}
}}}}}}..|...F......|...}}}}}}}}}}..---}}}}}}}}}}--.-}}}}}....}}}}}}....}}}}}
}}}}}}}}-----S----F|....}}}}}}}}}|...|}}}}}}}}}}}}...}}}}}}...}}}}}}..}}}}}}
}}}}}}}}}..............T...}}}}}.|.......}}}}}}}}}}}}}}..}...}.}}}}....}}}}}
}}}}}}}}}}....}}}}...}...}}}}}.......|.}}}}}}}}}}}}}}.......}}}}}}}}}...}}}}
}}}}}}}}}}..}}}}}}}}}}.}}}}}}}}}}-..--.}}}}}}}}..}}}}}}..T...}}}..}}}}}}}}}}
}}}}}}}}}...}}}}}}}}}}}}}}}}}}}}}}}...}}}}}}}....}}}}}}}.}}}..}}}...}}}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.}}}}}}....}}}}}}}}}}}}}}}}}}}...}}}}}}
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
]]);

--
-- place handling is similar to medusa-3.lua except that there are 4
-- downstairs-eligible rooms rather than 3, and only 2 of them are used
local place = selection.new();
-- each of these spots are inside a distinct room
place:set(04,08);
place:set(10,04);
place:set(10,08);
place:set(10,12);

-- location of Medusa and downstairs and Perseus's statue
local medloc = place:rndcoord(1,1);
-- specific location for some other statue in a different downstairs-eligible
-- room, to prevent object detection from becoming a trivial way to pinpoint
-- Medusa's location
-- [usefulness depends on future STATUE->dknown changes in nethack's core]
local altloc = place:rndcoord(1,1);

--
des.region(selection.area(00,00,74,19),"lit")
-- fixup_special hack: The first "room" region in Medusa levels gets filled
-- with some leaderboard statues, so this needs to be a room; setting
-- irregular=1 will force this
des.region({ region={13,03, 18,13}, lit=1, type="ordinary", irregular=1 })
--
des.teleport_region({ region = {64,01,74,17}, dir="down" });
des.teleport_region({ region = {02,02,18,13}, dir="up" });
--
des.levregion({ region = {67,01,74,20}, type="stair-up" });

-- place the downstairs at the same spot where Medusa will be placed
des.stair("down", medloc)
--
des.door("locked",04,06)
des.door("locked",04,10)
des.door("locked",08,04)
des.door("locked",08,12)
des.door("locked",10,06)
des.door("locked",10,10)
des.door("locked",12,08)
--
des.levregion({ region = {27,00,79,20}, type="branch" });
--
des.non_diggable(selection.area(01,01,22,14));
--
des.object("crystal ball", 07,08)
--
-- same spot as Medusa plus downstairs
des.object({ id="statue", coord=medloc, buc="uncursed",
                      montype="knight", historic=1, male=1,name="Perseus",
                      contents = function()
                         if percent(75) then
                            des.object({ id = "shield of reflection", buc="cursed", spe=0 })
                         end
                         if percent(25) then
                            des.object({ id = "levitation boots", spe=0 })
                         end
                         if percent(50) then
                            des.object({ id = "scimitar", buc="blessed", spe=2 })
                         end
                         if percent(50) then
                            des.object("sack")
                         end
                      end
});
--
-- first random statue is in one of the designated stair rooms but not the
-- one with Medusa plus downstairs
des.object({ id = "statue", coord=altloc, contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
des.object({ id = "statue", contents=0 })
for i=1,8 do
   des.object()
end
--
for i=1,7 do
   des.trap()
end
--
-- place Medusa before placing other monsters so that they won't be able to
-- unintentionally steal her spot on the downstairs
des.monster({ id = "Medusa", coord=medloc, asleep=1 })
des.monster("kraken", 07,07)
--
-- the nesting dragon
des.monster({ id = "yellow dragon", x=05, y=04, asleep=1 })
if percent(50) then
   des.monster({ id = "baby yellow dragon", x=04,y=04, asleep=1 })
end
if percent(25) then
   des.monster({ id = "baby yellow dragon", x=04, y=05, asleep=1 })
end
des.object({ id = "egg", x=05, y=04, montype="yellow dragon" });
if percent(50) then
   des.object({ id = "egg", x=05, y=04, montype="yellow dragon" });
end
if percent(25) then
   des.object({ id = "egg", x=05, y=04, montype="yellow dragon" });
end
--
des.monster("giant eel")
des.monster("giant eel")
des.monster("jellyfish")
des.monster("jellyfish")
for i=1,14 do
   des.monster("S")
end
for i=1,4 do
   des.monster("black naga hatchling")
   des.monster("black naga")
end

--#medusa-4.lua
-- NetHack mines minefill.lua	$NHDT-Date: 1652196028 2022/05/10 15:20:28 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--

--	The "fill" level for the mines.
--
--	This level is used to fill out any levels not occupied by
--	specific levels.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
for i = 1,math.random(2, 5) do
   des.object("*")
end
des.object("(")
for i = 1,math.random(2, 4) do
   des.object()
end
if percent(75) then
   for i = 1,math.random(1, 2) do
      des.object("boulder")
   end
end
--
for i = 1,math.random(6, 8) do
   des.monster("gnome")
end
des.monster("gnome lord")
des.monster("dwarf")
des.monster("dwarf")
des.monster("G")
des.monster("G")
des.monster(percent(50) and "h" or "G")
--
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack mines minend-1.lua	$NHDT-Date: 1652196029 2022/05/10 15:20:29 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- Mine end level variant 1
-- "Mimic of the Mines"

des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
------------------------------------------------------------------   ------
|                        |.......|     |.......-...|       |.....|.       |
|    ---------        ----.......-------...........|       ---...-S-      |
|    |.......|        |..........................-S-      --.......|      |
|    |......-------   ---........................|.       |.......--      |
|    |..--........-----..........................|.       -.-..----       |
|    --..--.-----........-.....................---        --..--          |
|     --..--..| -----------..................---.----------..--           |
|      |...--.|    |..S...S..............---................--            |
|     ----..-----  ------------........--- ------------...---             |
|     |.........--            ----------              ---...-- -----      |
|    --.....---..--                           --------  --...---...--     |
| ----..-..-- --..---------------------      --......--  ---........|     |
|--....-----   --..-..................---    |........|    |.......--     |
|.......|       --......................S..  --......--    ---..----      |
|--.--.--        ----.................---     ------..------...--         |
| |....S..          |...............-..|         ..S...........|          |
--------            --------------------           ------------------------
]]);

-- Dungeon Description
local place = { {08,16},{13,07},{21,08},{41,14},{50,04},{50,16},{66,01} }
shuffle(place)

-- make the entry chamber a real room; it affects monster arrival
des.region({ region={26,01,32,01}, lit=0, type="ordinary", irregular=1, arrival_room=true })
des.region(selection.area(20,08,21,08),"unlit")
des.region(selection.area(23,08,25,08),"unlit");
-- Secret doors
des.door("locked",07,16)
des.door("locked",22,08)
des.door("locked",26,08)
des.door("locked",40,14)
des.door("locked",50,03)
des.door("locked",51,16)
des.door("locked",66,02)
-- Stairs
des.stair("up", 36,04)
-- Non diggable walls
des.non_diggable(selection.area(00,00,74,17))
-- Niches
-- Note: place[6] empty
des.object("diamond",place[7])
des.object("emerald",place[7])
des.object("worthless piece of violet glass",place[7])
des.monster({ class="m", coord=place[7], appear_as="obj:luckstone" })
des.object("worthless piece of white glass",place[1])
des.object("emerald",place[1])
des.object("amethyst",place[1])
des.monster({ class="m", coord=place[1], appear_as="obj:loadstone" })
des.object("diamond",place[2])
des.object("worthless piece of green glass",place[2])
des.object("amethyst",place[2])
des.monster({ class="m", coord=place[2], appear_as="obj:flint" })
des.object("worthless piece of white glass",place[3])
des.object("emerald",place[3])
des.object("worthless piece of violet glass",place[3])
des.monster({ class="m", coord=place[3], appear_as="obj:touchstone" })
des.object("worthless piece of red glass",place[4])
des.object("ruby",place[4])
des.object("loadstone",place[4])
des.object("ruby",place[5])
des.object("worthless piece of red glass",place[5])
des.object({ id="luckstone", coord=place[5], buc="not-cursed", achievement=1 })
-- Random objects
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("(")
des.object("(")
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters
des.monster("gnome king")
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("gnomish wizard")
des.monster("gnomish wizard")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("hobbit")
des.monster("hobbit")
des.monster("dwarf")
des.monster("dwarf")
des.monster("dwarf")
des.monster("h")
-- NetHack mines minend-2.lua	$NHDT-Date: 1652196029 2022/05/10 15:20:29 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- Mine end level variant 2
-- "Gnome King's Wine Cellar"

des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
---------------------------------------------------------------------------
|...................................................|                     |
|.|---------S--.--|...|--------------------------|..|                     |
|.||---|   |.||-| |...|..........................|..|                     |
|.||...| |-|.|.|---...|.............................|                ..   |
|.||...|-|.....|....|-|..........................|..|.               ..   |
|.||.....|-S|..|....|............................|..|..                   |
|.||--|..|..|..|-|..|----------------------------|..|-.                   |
|.|   |..|..|....|..................................|...                  |
|.|   |..|..|----|..-----------------------------|..|....                 |
|.|---|..|--|.......|----------------------------|..|.....                |
|...........|----.--|......................|     |..|.......              |
|-----------|...|.| |------------------|.|.|-----|..|.....|..             |
|-----------|.{.|.|--------------------|.|..........|.....|....           |
|...............|.S......................|-------------..-----...         |
|.--------------|.|--------------------|.|.........................       |
|.................|                    |.....................|........    |
---------------------------------------------------------------------------
]]);

if percent(50) then
   des.terrain({55,14},"-")
   des.terrain({56,14},"-")
   des.terrain({61,15},"|")
   des.terrain({52,5}, "S")
   des.door("locked", 52,5)
end
if percent(50) then
   des.terrain({18,1}, "|")
   des.terrain(selection.area(7,12, 8,13), ".")
end
if percent(50) then
   des.terrain({49,4}, "|")
   des.terrain({21,5}, ".")
end
if percent(50) then
   if percent(50) then
      des.terrain({22,1}, "|")
   else
      des.terrain({50,7}, "-")
      des.terrain({51,7}, "-")
   end
end

-- uncontrolled arrival (via trap door, level teleport) will be in the central
-- portion of level to prevent ending up stuck in the treasure area, whether
-- arriving from above or below (despite this being bottom of Mines branch,
-- hero might arrive from below by invoking Wiz role's Eye of the Aethiopica)
des.teleport_region({ region={23,03,48,16}, region_islev=1 })

-- Dungeon Description
des.feature("fountain", {14,13})
des.region(selection.area(23,03,48,06),"lit")
des.region(selection.area(21,06,22,06),"lit")
des.region(selection.area(14,04,14,04),"unlit")
des.region(selection.area(10,05,14,08),"unlit")
des.region(selection.area(10,09,11,09),"unlit")
des.region(selection.area(15,08,16,08),"unlit")
-- Secret doors
des.door("locked",12,02)
des.door("locked",11,06)
-- Stairs
des.stair("up", 36,04)
-- Non diggable walls
des.non_diggable(selection.area(00,00,52,17))
des.non_diggable(selection.area(53,00,74,00))
des.non_diggable(selection.area(53,17,74,17))
des.non_diggable(selection.area(74,01,74,16))
des.non_diggable(selection.area(53,07,55,07))
des.non_diggable(selection.area(53,14,61,14))
-- The Gnome King's wine cellar.
-- the Trespassers sign is a long-running joke
des.engraving({12,03}, "engrave",
	      "You are now entering the Gnome King's wine cellar.")
des.engraving({12,04}, "engrave", "Trespassers will be persecuted!")
des.object("potion of booze", 10, 07)
des.object("potion of booze", 10, 07)
des.object("!", 10, 07)
des.object("potion of booze", 10, 08)
des.object("potion of booze", 10, 08)
des.object("!", 10, 08)
des.object("potion of booze", 10, 09)
des.object("potion of booze", 10, 09)
des.object("potion of object detection", 10, 09)
-- Objects
-- The Treasure chamber...
des.object("diamond", 69, 04)
des.object("*", 69, 04)
des.object("diamond", 69, 04)
des.object("*", 69, 04)
des.object("emerald", 70, 04)
des.object("*", 70, 04)
des.object("emerald", 70, 04)
des.object("*", 70, 04)
des.object("emerald", 69, 05)
des.object("*", 69, 05)
des.object("ruby", 69, 05)
des.object("*", 69, 05)
des.object("ruby", 70, 05)
des.object("amethyst", 70, 05)
des.object("*", 70, 05)
des.object("amethyst", 70, 05)
des.object({ id="luckstone", x=70, y=05,
	     buc="not-cursed", achievement=1 });
-- Scattered gems...
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("(")
des.object("(")
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster("gnome king")
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("gnomish wizard")
des.monster("gnomish wizard")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("hobbit")
des.monster("hobbit")
des.monster("dwarf")
des.monster("dwarf")
des.monster("dwarf")
des.monster("h")
-- NetHack mines minend-3.lua	$NHDT-Date: 1652196029 2022/05/10 15:20:29 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- "Catacombs" by Kelly Bailey
-- Relies on some very specific behavior of MAZEWALK.

des.level_init({ style = "solidfill", fg = "-" });

des.level_flags("mazelevel", "nommap")

des.map({ halign = "center", valign = "bottom", map = [[
 - - - - - - - - - - -- -- - - . - - - - - - - - - -- - - -- - - - - . - - |
------...---------.-----------...-----.-------.-------     ----------------|
 - - - - - - - - - - - . - - - . - - - - - - - - - - -- - -- - . - - - - - |
------------.---------...-------------------------.---   ------------------|
 - - - - - - - - - - . . - - --- - . - - - - - - - - -- -- - - - - |.....| |
--.---------------.......------------------------------- ----------|.....S-|
 - - - - |.. ..| - ....... . - - - - |.........| - - - --- - - - - |.....| |
----.----|.....|------.......--------|.........|--------------.------------|
 - - - - |..{..| - - -.... . --- - -.S.........S - - - - - - - - - - - - - |
---------|.....|--.---...------------|.........|---------------------------|
 - - - - |.. ..| - - - . - - - - - - |.........| - --- . - - - - - - - - - |
----------------------...-------.---------------------...------------------|
---..| - - - - - - - - . --- - - - - - - - - - - - - - . - - --- - - --- - |
-.S..|----.-------.------- ---------.-----------------...----- -----.-------
---..| - - - - - - - -- - - -- . - - - - - . - - - . - . - - -- -- - - - -- 
-.S..|--------.---.---       -...---------------...{.---------   ---------  
--|. - - - - - - - -- - - - -- . - - - --- - - - . . - - - - -- - - - - - - 
]] });

local place = { {1,15},{68,6},{1,13} }
shuffle(place)

des.non_diggable(selection.area(67,3,73,7))
des.non_diggable(selection.area(0,12,2,16))
des.feature("fountain", {12,08})
des.feature("fountain", {51,15})
des.region(selection.area(0,0,75,16),"unlit")
des.region(selection.area(38,6,46,10),"lit")
des.door("closed",37,8)
des.door("closed",47,8)
des.door("closed",73,5)
des.door("closed",2,15)
des.mazewalk({ x=36, y=8, dir="west", stocked=false })
des.stair("up", 42,8)
des.wallify()

-- Objects
des.object("diamond")
des.object("*")
des.object("diamond")
des.object("*")
des.object("emerald")
des.object("*")
des.object("emerald")
des.object("*")
des.object("emerald")
des.object("*")
des.object("ruby")
des.object("*")
des.object("ruby")
des.object("amethyst")
des.object("*")
des.object("amethyst")
des.object({ id="luckstone", coord=place[2], buc="not-cursed", achievement=1 })
des.object("flint",place[1])
des.object("?")
des.object("?")
des.object("?")
des.object("?")
des.object("?")
des.object("+")
des.object("+")
des.object("+")
des.object("+")
des.object()
des.object()
des.object()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- One-time annoyance factor
des.trap("level teleport",place[2])
des.trap("level teleport",place[1])
des.monster("M")
des.monster("M")
des.monster("M")
des.monster("M")
des.monster("M")
des.monster("ettin mummy")
des.monster("V")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("V")
des.monster("e")
des.monster("e")
des.monster("e")
des.monster("e")
-- NetHack 5.0	mines minetn-1.lua	$NHDT-Date: 1652196030 2022/05/10 15:20:30 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.8 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- A tragic accident has occurred in Frontier Town....
--
-- Minetown variant 1
-- Orcish Town - a variant of Frontier Town that has been
-- overrun by orcs.  Note the barricades (iron bars).

des.level_flags("mazelevel")

des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })

des.map([[
.....................................
.----------------F------------------.
.|.................................|.
.|.-------------......------------.|.
.|.|...|...|...|......|..|...|...|.|.
.F.|...|...|...|......|..|...|...|.|.
.|.|...|...|...|......|..|...|...|.F.
.|.|...|...|----......------------.|.
.|.---------.......................|.
.|.................................|.
.|.---------.....--...--...........|.
.|.|...|...|----.|.....|.---------.|.
.|.|...|...|...|.|.....|.|..|....|.|.
.|.|...|...|...|.|.....|.|..|....|.|.
.|.|...|...|...|.|.....|.|..|....|.|.
.|.-------------.-------.---------.|.
.|.................................F.
.-----------F------------F----------.
.....................................
]]);

-- Don't let the player fall into his likely death; used to explicitly exclude
-- the town, but that meant that you couldn't teleport out as well as not in.
des.teleport_region({ region={01,01,75,19}, exclude={01,00,35,21}, region_islev=1 })
des.region(selection.area(01,01,35,17), "lit")
des.levregion({ type="stair-up", region={01,03,21,19}, region_islev=1,
		exclude={00,01,36,17} });
des.levregion({ type="stair-down", region={57,03,75,19}, region_islev=1,
		exclude={00,01,36,17} })

-- shame we can't make polluted fountains
des.feature("fountain",16,09)
des.feature("fountain",25,09)

-- the altar's defiled; useful for BUC but never coaligned
des.altar({ x=20,y=13,align="noalign", type="shrine" })

-- set up the shop doors; could be broken down
des.door("random",5,8)
des.door("random",9,8)
des.door("random",13,7)
des.door("random",22,5)
des.door("random",27,7)
des.door("random",31,7)
des.door("random",5,10)
des.door("random",9,10)
des.door("random",15,13)
des.door("random",25,13)
des.door("random",31,11)

-- knock a few holes in the shop interior walls
des.replace_terrain({ region={07,04,11,06}, fromterrain="|", toterrain=".", chance=18 })
des.replace_terrain({ region={25,04,29,06}, fromterrain="|", toterrain=".", chance=18 })
des.replace_terrain({ region={07,12,11,14}, fromterrain="|", toterrain=".", chance=18 })
des.replace_terrain({ region={28,12,28,14}, fromterrain="|", toterrain=".", chance=33 })

-- One spot each in most shops...
local place = { {05,04},{09,05},{13,04},{26,04},{31,05},{30,14},{05,14},{10,13},{26,14},{27,13} }
shuffle(place);

-- scatter some bodies
des.object({ id = "corpse", x=20,y=12, montype="aligned cleric" })
des.object({ id = "corpse", coord = place[1], montype="shopkeeper" })
des.object({ id = "corpse", coord = place[2], montype="shopkeeper" })
des.object({ id = "corpse", coord = place[3], montype="shopkeeper" })
des.object({ id = "corpse", coord = place[4], montype="shopkeeper" })
des.object({ id = "corpse", coord = place[5], montype="shopkeeper" })
des.object({ id = "corpse", montype="watchman" })
des.object({ id = "corpse", montype="watchman" })
des.object({ id = "corpse", montype="watchman" })
des.object({ id = "corpse", montype="watchman" })
des.object({ id = "corpse", montype="watch captain" })

-- Rubble!
for i = 1, math.random(10,19) do
  if percent(90) then
    des.object("boulder")
  end
  des.object("rock")
end

-- Guarantee 7 candles since we won't have Izchak available
des.object({ id = "wax candle", coord = place[4], quantity = math.random(1,2) })

des.object({ id = "wax candle", coord = place[1], quantity = math.random(2,4) })
des.object({ id = "wax candle", coord = place[2], quantity = math.random(1,2) })
des.object({ id = "tallow candle", coord = place[3], quantity = math.random(1,3) })
des.object({ id = "tallow candle", coord = place[2], quantity = math.random(1,2) })
des.object({ id = "tallow candle", coord = place[4], quantity = math.random(1,2) })

-- go ahead and leave a lamp next to one corpse to be suggestive
-- and some empty wands...
des.object("oil lamp",place[2])
des.object({ id = "wand of striking", coord = place[1], buc="uncursed", spe=0 })
des.object({ id = "wand of striking", coord = place[3], buc="uncursed", spe=0 })
des.object({ id = "wand of striking", coord = place[4], buc="uncursed", spe=0 })
des.object({ id = "wand of magic missile", coord = place[4], buc="uncursed", spe=0 })
des.object({ id = "wand of magic missile", coord = place[5], buc="uncursed", spe=0 })

-- the Orcish Army

local inside = selection.floodfill(18,8)
local near_temple = selection.area(17,8, 23,14) & inside

for i = 1, math.random(5,15) do
   if percent(50) then
      des.monster({ id = "orc-captain", coord = inside:rndcoord(1), peaceful=0 });
   else
      if percent(80) then
         des.monster({ id = "Uruk-hai", coord = inside:rndcoord(1), peaceful=0 })
      else
         des.monster({ id = "Mordor orc", coord = inside:rndcoord(1), peaceful=0 })
      end
   end
end
-- shamans can be hanging out in/near the temple
-- one of the shamans is higher level
for i = 1, math.random(1,6) do
   des.monster({ id = "orc shaman", coord = near_temple:rndcoord(0), peaceful=0,
                 m_lev_adj = (i == 1) and 3 or 0 });
end
-- these are not such a big deal
-- to run into outside the bars
for i = 1, math.random(10,19) do
   if percent(90) then
      des.monster({ id = "hill orc", peaceful = 0 })
   else
      des.monster({ id = "goblin", peaceful = 0 })
   end
end

-- Hack to force full-level wallification

des.wallify()
-- NetHack mines minetn-2.lua	$NHDT-Date: 1652196030 2022/05/10 15:20:30 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- Minetown variant 2
-- "Town Square"

des.room({ type = "ordinary", lit=1, x=3, y=3,
           xalign="center", yalign="center", w=31, h=15,
           contents = function()
              des.feature("fountain", 17, 5)
              des.feature("fountain", 13, 8)

              if percent(75) then
                 des.room({ type = "ordinary", x=2,y=0, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="west" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", lit=0, x=5,y=0, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="south" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", x=8,y=0, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="east" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", lit=1, x=16,y=0, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="west" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", lit=0, x=19,y=0, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="south" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", x=22,y=0, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="south" })
                               des.monster("gnome")
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", lit=0, x=25,y=0, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="east" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", lit=1, x=2,y=5, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="north" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", lit=1, x=5,y=5, w=2,h=2,
                            contents = function()
                               des.door({ state="closed", wall="south" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type = "ordinary", x=8,y=5, w=2,h=2,
                            contents = function()
                               des.door({ state="locked", wall="north" })
                               des.monster("gnome")
                            end
                 })
              end

              des.room({ type="shop", chance=90, lit=1, x=2,y=10, w=4,h=3,
                         contents = function()
                            des.door({ state="closed", wall="west" })
                         end
              });

              des.room({ type = "tool shop", chance=90, lit=1, x=23,y=10, w=4,h=3,
                         contents = function()
                            des.door({ state="closed", wall="east" })
                         end
              });

              des.room({ type = monkfoodshop(), chance=90, lit=1, x=24,y=5, w=3,h=4,
                         contents = function()
                            des.door({ state="closed", wall="north" })
                         end
              });

              des.room({ type = "candle shop", lit=1, x=11,y=10, w=4,h=3,
                         contents = function()
                            des.door({ state="closed", wall="east" })
                         end
              });

              if percent(75) then
                 des.room({ type = "ordinary", lit=0, x=7,y=10, w=3,h=3,
                            contents = function()
                               des.door({ state="locked", wall="north" })
                               des.monster("gnome")
                            end
                 });
              end

              des.room({ type = "temple", lit=1, x=19,y=5, w=4,h=4,
                         contents = function()
                            des.door({ state="closed", wall="north" })
                            des.altar({ x=02, y=02, align=align[1],type="shrine" })
                            des.monster("gnomish wizard")
                            des.monster("gnomish wizard")
                         end
              });

              if percent(75) then
                 des.room({ type = "ordinary", lit=1, x=18,y=10, w=4,h=3,
                            contents = function()
                               des.door({ state="locked", wall="west" })
                               des.monster("gnome lord")
                            end
                 });
              end

              -- The Town Watch
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watch captain", peaceful = 1 })
           end
});

des.room({ contents = function()
              des.stair("up")
                      end
});

des.room({ contents = function()
              des.stair("down")
              des.trap()
              des.monster("gnome")
              des.monster("gnome")
                      end
});

des.room({ contents = function()
              des.monster("dwarf")
                      end
});

des.room({ contents = function()
              des.trap()
              des.monster("gnome")
                      end
});

des.random_corridors()

-- NetHack mines minetn-3.lua	$NHDT-Date: 1652196030 2022/05/10 15:20:30 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- Minetown variant 3 by Kelly Bailey
-- "Alley Town"

des.room({ type = "ordinary",lit=1,x=3,y=3,
           xalign="center",yalign="center",w=31,h=15,
           contents = function()
              des.feature("fountain", 01,06)
              des.feature("fountain", 29,13)

  des.room({ type = "ordinary",x=2,y=2,w=2,h=2,
             contents = function()
                des.door({ state="closed", wall="south" })
             end
  });

  des.room({ type = "tool shop", chance=30, lit=1,x=5,y=3,w=2,h=3,
             contents = function()
                des.door({ state="closed", wall="south" })
             end
  })

  des.room({ type = "ordinary",x=2,y=10,w=2,h=3,
             contents = function()
                des.door({ state ="locked", wall="north" })
                des.monster("G")
             end
  })

  des.room({ type = "ordinary", x=5,y=9,w=2,h=2,
             contents = function()
                des.door({ state="closed", wall="north" })
             end
  })

  des.room({ type = "temple",lit=1,x=10,y=2,w=3,h=4,
             contents = function()
                des.door({ state="closed", wall="east" })
                des.altar({ x=1, y=1, align = align[1], type="shrine" })
                des.monster("gnomish wizard")
                des.monster("gnomish wizard")
             end
  })

  des.room({ type = "ordinary",x=11,y=7,w=2,h=2,
             contents = function()
                des.door({ state="closed", wall="west" })
             end
  })

  des.room({ type = "shop",lit=1,x=10,y=10,w=3,h=3,
             contents = function()
                des.door({ state="closed", wall="west" })
             end
  })

  des.room({ type = "ordinary",random,x=14,y=8,w=2,h=2,
             contents = function()
                des.door({ state="locked", wall="north" })
                des.monster("G")
             end
  })

  des.room({ type = "ordinary",random,x=14,y=11,w=2,h=2,
             contents = function()
                des.door({ state="closed", wall="south" })
             end
  })

  des.room({ type = "tool shop", chance=40,lit=1,x=17,y=10,w=3,h=3,
             contents = function()
                des.door({ state="closed", wall="north" })
             end
  })

  des.room({ type = "ordinary",x=21,y=11,w=2,h=2,
             contents = function()
                des.door({ state="locked", wall="east" })
                des.monster("G")
             end
  })

  des.room({ type = monkfoodshop(), chance=90,lit=1,x=26,y=8,w=3,h=2,
             contents = function()
                des.door({ state="closed", wall="west" })
             end
  })

  des.room({ type = "ordinary",random,x=16,y=2,w=2,h=2,
             contents = function()
                des.door({ state="closed", wall="west" })
             end
  })

  des.room({ type = "ordinary",random,x=19,y=2,w=2,h=2,
             contents = function()
                des.door({ state="closed", wall="north" })
             end
  })

  des.room({ type = "wand shop", chance=30,lit=1,x=19,y=5,w=3,h=2,
             contents = function()
                des.door({ state="closed", wall="west" })
             end
  })

  des.room({ type = "candle shop",lit=1,x=25,y=2,w=3,h=3,
             contents = function()
                des.door({ state="closed", wall="south" })
             end
  })

  des.monster({ id = "watchman", peaceful = 1 })
  des.monster({ id = "watchman", peaceful = 1 })
  des.monster({ id = "watchman", peaceful = 1 })
  des.monster({ id = "watchman", peaceful = 1 })
  des.monster({ id = "watch captain", peaceful = 1 })

           end
})

des.room({ type = "ordinary", contents = function()
              des.stair("up")
                                         end
})

des.room({ type = "ordinary", contents = function()
              des.stair("down")
              des.trap()
              des.monster("gnome")
              des.monster("gnome")
                                         end
})

des.room({ type = "ordinary", contents = function()
              des.monster("dwarf")
                                          end
})

des.room({ type = "ordinary", contents = function()
              des.trap()
              des.monster("gnome")
                                         end
})

des.random_corridors()
-- NetHack mines minetn-4.lua	$NHDT-Date: 1652196031 2022/05/10 15:20:31 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- Minetown variant 4 by Kelly Bailey
-- "College Town"

des.room({ type = "ordinary", lit=1, x=3,y=3,
           xalign="center", yalign="center", w=30, h=15,
           contents = function()
              des.feature("fountain", 08,07)
              des.feature("fountain", 18,07)

              des.room({ type = "book shop", lit=1, x=4, y=2, w=3, h=3,
                         contents = function()
                            des.door({ state = "closed", wall="south" })
                         end
              })

              des.room({ type = "ordinary", x=8, y=2, w=2, h=2,
                         contents = function()
                            des.door({ state = "closed", wall="south" })
                         end
              })

              des.room({ type = "temple", lit=1, x=11, y=3, w=5, h=4,
                         contents = function()
                            des.door({ state = "closed", wall="south" })
                            des.altar({ x=2,y=1,align=align[1], type="shrine" })
                            des.monster("gnomish wizard")
                            des.monster("gnomish wizard")
                         end
              })

              des.room({ type = "ordinary", x=19, y=2, w=2, h=2,
                         contents = function()
                            des.door({ state = "closed", wall="south" })
                            des.monster("G")
                         end
              })

              des.room({ type = "candle shop", lit=1, x=22, y=2, w=3, h=3,
                         contents = function()
                            des.door({ state = "closed", wall="south" })
                         end
              })

              des.room({ type = "ordinary", x=26, y=2, w=2, h=2,
                         contents = function()
                            des.door({ state = "locked", wall="east" })
                            des.monster("G")
                         end
              })

              des.room({ type = "tool shop", chance=90, lit=1, x=4,y=10, w=3,h=3,
                         contents = function()
                            des.door({ state = "closed", wall="north" })
                         end
              })

              des.room({ type = "ordinary", x=8, y=11, w=2, h=2,
                         contents = function()
                            des.door({ state = "locked", wall="south" })
                            des.monster("kobold shaman")
                            des.monster("kobold shaman")
                            des.monster("kitten")
                            des.monster("f")
                         end
              })

              des.room({ type = monkfoodshop(), chance=90, lit=1, x=11, y=11, w=3, h=2,
                         contents = function()
                            des.door({ state = "closed", wall="east" })
                         end
              })

              des.room({ type = "ordinary", x=17, y=11, w=2, h=2,
                         contents = function()
                            des.door({ state = "closed", wall="west" })
                         end
              })

              des.room({ type = "ordinary", x=20, y=10, w=2, h=2,
                         contents = function()
                            des.door({ state = "locked", wall="north" })
                            des.monster("G")
                         end
              })

              des.room({ type = "shop", chance=90, lit=1, x=23, y=10, w=3, h=3,
                         contents = function()
                            des.door({ state = "closed", wall="north" })
                         end
              })

              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watch captain", peaceful = 1 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.trap()
              des.monster("gnome")
              des.monster("gnome")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.monster("dwarf")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.trap()
              des.monster("gnome")
           end
})

des.random_corridors()
-- NetHack mines minetn-5.lua	$NHDT-Date: 1652196031 2022/05/10 15:20:31 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.5 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- "Grotto Town" by Kelly Bailey

des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
-----         ---------                                                    
|...---  ------.......--    -------                       ---------------  
|.....----.........--..|    |.....|          -------      |.............|  
--..-....-.----------..|    |.....|          |.....|     --+---+--.----+-  
 --.--.....----     ----    |.....|  ------  --....----  |..-...--.-.+..|  
  ---.........----  -----   ---+---  |..+.|   ---..-..----..---+-..---..|  
    ----.-....|..----...--    |.|    |..|.|    ---+-.....-+--........--+-  
       -----..|....-.....---- |.|    |..|.------......--................|  
    ------ |..|.............---.--   ----.+..|-.......--..--------+--..--  
    |....| --......---...........-----  |.|..|-...{....---|.........|..--  
    |....|  |........-...-...........----.|..|--.......|  |.........|...|  
    ---+--------....-------...---......--.-------....---- -----------...|  
 ------.---...--...--..-..--...-..---...|.--..-...-....------- |.......--  
 |..|-.........-..---..-..---.....--....|........---...-|....| |.-------   
 |..+...............-+---+-----..--..........--....--...+....| |.|...S.    
-----.....{....----...............-...........--...-...-|....| |.|...|     
|..............-- --+--.---------.........--..-........------- |.--+-------
-+-----.........| |...|.|....|  --.......------...|....---------.....|....|
|...| --..------- |...|.+....|   ---...---    --..|...--......-...{..+..-+|
|...|  ----       ------|....|     -----       -----.....----........|..|.|
-----                   ------                     -------  ---------------
]]);

if percent(75) then
  if percent(50) then
    des.terrain(selection.line(25,8, 25,9), "|")
  else
    des.terrain(selection.line(16,13, 17,13), "-")
  end
end
if percent(75) then
  if percent(50) then
    des.terrain(selection.line(36,10, 36,11), "|")
  else
    des.terrain(selection.line(32,15, 33,15), "-")
  end
end
if percent(50) then
  des.terrain(selection.area(21,4, 22,5), ".")
  des.terrain(selection.line(14,9, 14,10), "|")
end
if percent(50) then
  des.terrain({46,13}, "|")
  des.terrain(selection.line(43,5, 47,5), "-")
  des.terrain(selection.line(42,6, 46,6), ".")
  des.terrain(selection.line(46,7, 47,7), ".")
end
if percent(50) then
  des.terrain(selection.area(69,11, 71,11), "-")
end

des.stair("up", 01,01)
des.stair("down", 46,03)
des.feature("fountain", 50,09)
des.feature("fountain", 10,15)
des.feature("fountain", 66,18)

des.region(selection.area(00,00,74,20),"unlit")
des.region(selection.area(09,13,11,17),"lit")
des.region(selection.area(08,14,12,16),"lit")
des.region(selection.area(49,07,51,11),"lit")
des.region(selection.area(48,08,52,10),"lit")
des.region(selection.area(64,17,68,19),"lit")
des.region(selection.area(37,13,39,17),"lit")
des.region(selection.area(36,14,40,17),"lit")
des.region(selection.area(59,02,72,10),"lit")

des.monster({ id = "watchman", peaceful = 1 })
des.monster({ id = "watchman", peaceful = 1 })
des.monster({ id = "watchman", peaceful = 1 })
des.monster({ id = "watchman", peaceful = 1 })
des.monster({ id = "watch captain", peaceful = 1 })
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("dwarf")
des.monster("dwarf")
des.monster("dwarf")

-- The shops
des.region({ region={25,17, 28,19}, lit=1, type="candle shop", filled=1 })
des.door("closed",24,18)
des.region({ region={59, 9, 67,10}, lit=1, type="shop", filled=1 })
des.door("closed",66,08)
des.region({ region={57,13, 60,15}, lit=1, type="tool shop", filled=1 })
des.door("closed",56,14)
des.region({ region={05,09, 08,10}, lit=1, type=monkfoodshop(), filled=1 })
des.door("closed",07,11)
-- Gnome homes
des.door("closed",04,14)
des.door("locked",01,17)
des.monster("gnomish wizard", 02, 19)
des.door("locked",20,16)
des.monster("G", 20, 18)
des.door("random",21,14)
des.door("random",25,14)
des.door("random",42,08)
des.door("locked",40,05)
des.monster("G", 38, 07)
des.door("random",59,03)
des.door("random",58,06)
des.door("random",63,03)
des.door("random",63,05)
des.door("locked",71,03)
des.door("locked",71,06)
des.door("closed",69,04)
des.door("closed",67,16)
des.monster("gnomish wizard", 67, 14)
des.object("=", 70, 14)
des.door("locked",69,18)
des.monster("gnome lord", 71, 19)
des.door("locked",73,18)
des.object("chest", 73, 19)
des.door("locked",50,06)
des.object("(", 50, 03)
des.object({ id = "statue", x=38, y=15, montype="gnome king", historic=1 })
-- Temple
des.region({ region={29,02, 33,04}, lit=1, type="temple", filled=1 })
des.door("closed",31,05)
des.altar({ x=31,y=03, align=align[1], type="shrine" })
-- NetHack mines minetn-6.lua	$NHDT-Date: 1652196031 2022/05/10 15:20:31 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- "Bustling Town" by Kelly Bailey

des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "inaccessibles")

des.level_init({ style="mines", fg=".", bg="-", smoothed=true, joined=true,lit=1,walled=true })

-- Map extends the full height of the playable area in order to prevent any of
-- the cavern fill from getting cut off by walls of the town buildings and
-- creating inaccessible spaces. The inaccessibles flag does compensate for
-- this, but it does so by doing things like creating backdoors into adjacent
-- shops which we don't want.
des.map({ halign = "center", valign = "top", map = [[
x--------xxxxxxxxxxx-------------------x
x------xxxxxxxxxxxxxx-----------------xx
.-----................----------------.x
.|...|................|...|..|...|...|..
.|...+..--+--.........|...|..|...|...|..
.|...|..|...|..-----..|...|..|-+---+--..
.-----..|...|--|...|..--+---+-.........x
........|...|..|...+.............-----.x
........-----..|...|......--+-...|...|..
x----...|...|+------..{...|..|...+...|..
x|..+...|...|.............|..|...|...|..
.|..|...|...|-+-.....---+-------------.x
.----...--+--..|..-+-|..................
...|........|..|..|..|----....--------.x
...|..T.....----..|..|...+....|......|..
...|-....{........|..|...|....+......|x.
...--..-....T.....--------....|......|x.
.......--.....................----------
.xxxx-----xxxxxxxxxxxxxxxxxx------------
xxxx-------xxxxxxxxxxxxxxx--------------
]] });

des.region(selection.area(00,00,39,19),"lit")

-- stairs can generate 1 column left or right inside the map,
-- in case the randomly generated mines layout doesn't extend outside the map
des.levregion({ type="stair-up", region={01,03,21,19}, region_islev=1, exclude={1,0,39,18} })
des.levregion({ type="stair-down", region={60,03,75,19}, region_islev=1, exclude={0,0,38,18} })

des.region(selection.area(13,7,14,8),"unlit")
des.region({ region={09,09, 11,11}, lit=1, type="candle shop", filled=1 })
des.region({ region={16,06, 18,08}, lit=1, type="tool shop", filled=1 })
des.region({ region={23,03, 25,05}, lit=1, type="shop", filled=1 })
des.region({ region={22,14, 24,15}, lit=1, type=monkfoodshop(), filled=1 })
des.region({ region={31,14, 36,16}, lit=1, type="temple", filled=1 })
des.altar({ x=35,y=15,align=align[1],type="shrine"})

des.door("closed",5,4)
des.door("locked",4,10)
des.door("closed",10,4)
des.door("closed",10,12)
des.door("locked",13,9)
des.door("locked",14,11)
des.door("closed",19,7)
des.door("closed",19,12)
des.door("closed",24,6)
des.door("closed",24,11)
des.door("closed",25,14)
des.door("closed",28,6)
des.door("locked",28,8)
des.door("closed",30,15)
des.door("closed",31,5)
des.door("closed",35,5)
des.door("closed",33,9)

des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome", 14, 8)
des.monster("gnome lord", 14, 7)
des.monster("gnome", 27, 10)
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("dwarf")
des.monster("dwarf")
des.monster("dwarf")
des.monster({ id = "dwarf", peaceful = 1 })
des.monster({ id = "dwarf", peaceful = 1 })
des.monster({ id = "gnome", peaceful = 1 })
des.monster({ id = "gnome", peaceful = 1 })
des.monster({ id = "hobbit", peaceful = 1 })
des.monster({ id = "goblin", peaceful = 1 })
des.monster({ id = "kobold", peaceful = 1 })
des.monster({ id = "dog", peaceful = 1 })
des.monster({ id = "watchman", peaceful = 1 })
des.monster({ id = "watchman", peaceful = 1 })
des.monster({ id = "watchman", peaceful = 1 })
des.monster({ id = "watch captain", peaceful = 1 })
des.monster({ id = "watch captain", peaceful = 1 })

-- NetHack mines minetn-7.lua	$NHDT-Date: 1652196032 2022/05/10 15:20:32 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989-95 by Jean-Christophe Collet
--	Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- "Bazaar Town" by Kelly Bailey

des.room({ type="ordinary", lit=1, x=3,y=3,
           xalign="center",yalign="center", w=30,h=15,
           contents = function()
              des.feature("fountain", 12, 07)
              des.feature("fountain", 11, 13)

              if percent(75) then
                 des.room({ type="ordinary", x=2,y=2, w=4,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="south" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type="ordinary", x=7,y=2, w=2,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="north" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type="ordinary", x=7,y=5, w=2,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="south" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type="ordinary", lit=1, x=10,y=2, w=3,h=4,
                            contents = function()
                               des.monster("gnome")
                               des.monster("monkey")
                               des.monster("monkey")
                               des.monster("monkey")
                               des.door({ state = "closed", wall="south" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type="ordinary", x=14,y=2, w=4,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="south", pos=0 })
                               des.monster("n")
                            end
                 })
              end

              if percent(75) then
                 des.room({ type="ordinary", x=16,y=5, w=2,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="south" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type="ordinary", lit=0, x=19,y=2, w=2,h=2,
                            contents = function()
                               des.door({ state = "locked", wall="east" })
                               des.monster("gnome king")
                            end
                 })
              end

              des.room({ type=monkfoodshop(), chance=50, lit=1, x=19,y=5, w=2,h=3,
                         contents = function()
                            des.door({ state = "closed", wall="south" })
                         end
              })

              if percent(75) then
                 des.room({ type="ordinary", x=2,y=7, w=2,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="east" })
                            end
                 })
              end

              des.room({ type="tool shop", chance=50, lit=1, x=2,y=10, w=2,h=3,
                         contents = function()
                            des.door({ state = "closed", wall="south" })
                         end
              })

              des.room({ type="candle shop", lit=1, x=5,y=10, w=3,h=3,
                         contents = function()
                            des.door({ state = "closed", wall="north" })
                         end
              })

              if percent(75) then
                 des.room({ type="ordinary", x=11,y=10, w=2,h=2,
                            contents = function()
                               des.door({ state = "locked", wall="west" })
                               des.monster("G")
                            end
                 })
              end

              des.room({ type="shop", chance=60, lit=1, x=14,y=10, w=2,h=3,
                         contents = function()
                            des.door({ state = "closed", wall="north" })
                         end
              })

              if percent(75) then
                 des.room({ type="ordinary", x=17,y=11, w=4,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="north" })
                            end
                 })
              end

              if percent(75) then
                 des.room({ type="ordinary", x=22,y=11, w=2,h=2,
                            contents = function()
                               des.door({ state = "closed", wall="south" })
                               des.feature("sink", 00,00)
                            end
                 })
              end

              des.room({ type=monkfoodshop(), chance=50, lit=1, x=25,y=11, w=3,h=2,
                         contents = function()
                            des.door({ state = "closed", wall="east" })
                         end
              })

              des.room({ type="tool shop", chance=30, lit=1, x=25,y=2, w=3,h=3,
                         contents = function()
                            des.door({ state = "closed", wall="west" })
                         end
              })

              des.room({ type="temple", lit=1, x=24,y=6, w=4,h=4,
                         contents = function()
                            des.door({ state = "closed", wall = "west" })
                            des.altar({ x=02, y=01, align=align[1], type="shrine" })
                            des.monster("gnomish wizard")
                            des.monster("gnomish wizard")
                         end
              })

              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watchman", peaceful = 1 })
              des.monster({ id = "watch captain", peaceful = 1 })
              des.monster("gnome")
              des.monster("gnome")
              des.monster("gnome")
              des.monster("gnome lord")
              des.monster("monkey")
              des.monster("monkey")

           end
})

des.room({ type="ordinary",
           contents = function()
              des.stair("up")
           end
})

des.room({ type="ordinary",
           contents = function()
              des.stair("down")
              des.trap()
              des.monster("gnome")
              des.monster("gnome")
           end
})

des.room({ type="ordinary",
           contents = function()
              des.monster("dwarf")
           end
})

des.room({ type="ordinary",
           contents = function()
              des.trap()
              des.monster("gnome")
           end
})

des.random_corridors()
-- NetHack Monk Mon-fila.lua	$NHDT-Date: 1652196006 2022/05/10 15:20:06 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--

--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster({ class = "E", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.monster({ class = "E", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster("xorn")
              des.monster("earth elemental")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.monster({ class = "E", peaceful=0 })
              des.monster("earth elemental")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster({ class = "X", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.monster("earth elemental")
           end
})

des.random_corridors()
-- NetHack Monk Mon-filb.lua	$NHDT-Date: 1652196006 2022/05/10 15:20:06 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--

--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster({ class = "X", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.monster({ class = "X", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster({ class = "E", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.monster({ class = "E", peaceful=0 })
              des.monster("earth elemental")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster({ class = "X", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.monster("earth elemental")
           end
})

des.random_corridors()
-- NetHack Monk Mon-goal.lua	$NHDT-Date: 1652196007 2022/05/10 15:20:07 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
-- des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.level_init({ style="mines", fg="L", bg=".", smoothed=false, joined=false, lit=0, walled=false })

des.map([[
xxxxxx..xxxxxx...xxxxxxxxx
xxxx......xx......xxxxxxxx
xx.xx.............xxxxxxxx
x....................xxxxx
......................xxxx
......................xxxx
xx........................
xxx......................x
xxx................xxxxxxx
xxxx.....x.xx.......xxxxxx
xxxxx...xxxxxx....xxxxxxxx
]]);
-- Dungeon Description
local place = { {14,04},{13,07} }
local placeidx = math.random(1, #place);

des.region(selection.area(00,00,25,10), "unlit")
-- Stairs
des.stair("up", 20,05)
-- Objects
des.object({ id = "lenses", coord = place[placeidx], buc="blessed", spe=0, name="The Eyes of the Overworld" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap()
des.trap()
-- Random monsters.
des.monster("Master Kaen",place[placeidx])
des.altar({ coord = place[placeidx], align="noalign", type="altar" })
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
-- NetHack Monk Mon-loca.lua	$NHDT-Date: 1652196007 2022/05/10 15:20:07 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

--         1         2         3         4         5         6         7 
--123456789012345678901234567890123456789012345678901234567890123456789012345
des.map([[
             ----------------------------------------------------   --------
           ---.................................................-    --.....|
         ---...--------........------........................---     ---...|
       ---.....-      --.......-    ----..................----         --.--
     ---.....----      ---------       --..................--         --..| 
   ---...-----                       ----.----.....----.....---      --..|| 
----..----                       -----..---  |...---  |.......---   --...|  
|...---                       ----....---    |.---    |.........-- --...||  
|...-                      ----.....---     ----      |..........---....|   
|...----                ----......---       |         |...|.......-....||   
|......-----          ---.........-         |     -----...|............|    
|..........-----   ----...........---       -------......||...........||    
|..............-----................---     |............|||..........|     
|-S----...............................---   |...........|| |.........||     
|.....|..............------.............-----..........||  ||........|      
|.....|.............--    ---.........................||    |.......||      
|.....|.............-       ---.....................--|     ||......|       
|---S--------.......----      --.................----        |.....||       
|...........|..........--------..............-----           ||....|        
|...........|............................-----                |....|        
------------------------------------------                    ------        
]]);
-- Random Monsters

-- Dungeon Description
des.region(selection.area(00,00,75,20), "lit")
-- Stairs
des.stair("up")
des.stair("down")
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,20))
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- since vegetarian monks shouldn't eat giant corpses, give a chance for
-- Str boost that isn't throttled by exercise restrictions;
-- make a modest effort (Elbereth only) to prevent xorns from eating the tins
local tinplace = selection.negate():filter_mapchar('.')
local tinloc = tinplace:rndcoord(0)
des.object({ id="tin", coord=tinloc, quantity=2, buc="blessed",
             montype="spinach" })
des.engraving({ coord=tinloc, type="burn", text="Elbereth" })
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("earth elemental")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
des.monster("xorn")
-- NetHack Monk Mon-strt.lua	$NHDT-Date: 1652196007 2022/05/10 15:20:07 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, the Grand Master
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
............................................................................
............................................................................
............................................................................
....................------------------------------------....................
....................|................|.....|.....|.....|....................
....................|..------------..|--+-----+-----+--|....................
....................|..|..........|..|.................|....................
....................|..|..........|..|+---+---+-----+--|....................
..................---..|..........|......|...|...|.....|....................
..................+....|..........+......|...|...|.....|....................
..................+....|..........+......|...|...|.....|....................
..................---..|..........|......|...|...|.....|....................
....................|..|..........|..|+-----+---+---+--|....................
....................|..|..........|..|.................|....................
....................|..------------..|--+-----+-----+--|....................
....................|................|.....|.....|.....|....................
....................------------------------------------....................
............................................................................
............................................................................
............................................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region({ region={24,06, 33,13}, lit=1, type="temple" })

des.replace_terrain({ region={00,00, 10,19}, fromterrain=".", toterrain="T", chance=10 })
des.replace_terrain({ region={65,00, 75,19}, fromterrain=".", toterrain="T", chance=10 })

local spacelocs = selection.floodfill(05,04);

-- Portal arrival point
des.terrain({05,04}, ".")
des.levregion({ region = {05,04,05,04}, type="branch" })
-- Stairs
des.stair("down", 52,09)
-- Doors
des.door("locked",18,09)
des.door("locked",18,10)
des.door("closed",34,09)
des.door("closed",34,10)
des.door("closed",40,05)
des.door("closed",46,05)
des.door("closed",52,05)
des.door("locked",38,07)
des.door("closed",42,07)
des.door("closed",46,07)
des.door("closed",52,07)
des.door("locked",38,12)
des.door("closed",44,12)
des.door("closed",48,12)
des.door("closed",52,12)
des.door("closed",40,14)
des.door("closed",46,14)
des.door("closed",52,14)
-- Unattended Altar - unaligned due to conflict - player must align it.
des.altar({ x=28,y=09, align="noalign", type="altar" })
-- The Grand Master
des.monster({ id = "Grand Master", coord = {28, 10}, inventory = function()
   des.object({ id = "robe", spe = 6 });
end })
-- No treasure chest!
-- guards for the audience chamber
des.monster("abbot", 32, 07)
des.monster("abbot", 32, 08)
des.monster("abbot", 32, 11)
des.monster("abbot", 32, 12)
des.monster("abbot", 33, 07)
des.monster("abbot", 33, 08)
des.monster("abbot", 33, 11)
des.monster("abbot", 33, 12)
-- Non diggable walls
des.non_diggable(selection.area(18,03,55,16))
-- Random traps
for i = 1, 2 do
   des.trap("dart", spacelocs:rndcoord(1))
end
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty.
for i = 1, 8 do
   des.monster("earth elemental", spacelocs:rndcoord(1))
end
for i = 1, 4 do
   des.monster("xorn", spacelocs:rndcoord(1))
end
-- next to leader, so possibly tricky to pick up if not ready for quest yet;
-- there's no protection against a xorn eating these tins; BUC state is random
des.object({ id="tin", coord = {29, 9}, quantity=2, montype="spinach" })
-- ensure enough vegetarian food generates for vegetarian games
des.object({ id="food ration", coord = {46, 4}, quantity = 4})
-- NetHack core nhcore.lua	$NHDT-Date: 1652196284 2022/05/10 15:24:44 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $
--	Copyright (c) 2021 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
-- This file contains lua code used by NetHack core.
-- Is it loaded once, at game start, and kept in memory until game exit.

-- Data in nh_lua_variables table can be set and queried with nh.variable()
-- This table is saved and restored along with the game.
nh_lua_variables = {
};

-- wrapper to simplify calling from nethack core
function get_variables_string()
   return "nh_lua_variables=" .. table_stringify(nh_lua_variables) .. ";";
end

function nh_callback_set(cb, fn)
   local cbname = "_CB_" .. cb;

   -- pline("callback_set(%s,%s)", cb, fn);

   if (type(nh_lua_variables[cbname]) ~= "table") then
      nh_lua_variables[cbname] = {};
   end
   nh_lua_variables[cbname][fn] = true;
end

function nh_callback_rm(cb, fn)
   local cbname = "_CB_" .. cb;

   -- pline("callback_RM(%s,%s)", cb, fn);

   if (type(nh_lua_variables[cbname]) ~= "table") then
      nh_lua_variables[cbname] = {};
   end
   nh_lua_variables[cbname][fn] = nil;
end

function nh_callback_run(cb, ...)
   local cbname = "_CB_" .. cb;

   -- pline("callback_run(%s)", cb);
   -- pline("TYPE:%s", type(nh_lua_variables[cbname]));

   if (type(nh_lua_variables[cbname]) ~= "table") then
      nh_lua_variables[cbname] = {};
   end
   for k, v in pairs(nh_lua_variables[cbname]) do
      if (not _G[k](table.unpack{...})) then
         return false;
      end
   end
   return true;
end

-- This is an example of generating an external file during gameplay,
-- which is updated periodically.
-- Intended for public servers using dgamelaunch as their login manager.
local prev_dgl_extrainfo = 0;
function mk_dgl_extrainfo()
    if ((prev_dgl_extrainfo == 0) or (prev_dgl_extrainfo + 50 < u.moves)) then
        local filename = nh.dump_fmtstr("/tmp/nethack.%n.%d.log");
        local extrai, err = io.open(filename, "w");
        if extrai then
            local sortval = 0;
            local dname = nh.dnum_name(u.dnum);
            local dstr = "";
            local astr = " ";
            if u.uhave_amulet == 1 then
                sortval = sortval + 1024;
                astr = "A";
            end
            if dname == "Fort Ludios" then
                dstr = "Knx";
                sortval = sortval + 245;
            elseif dname == "The Quest" then
                dstr = "Q" .. u.dlevel;
                sortval = sortval + 250 + u.dlevel;
            elseif dname == "The Elemental Planes" then
                dstr = "End";
                sortval = sortval + 256;
            elseif dname == "Vlad's Tower" then
                dstr = "T" .. u.dlevel;
                sortval = sortval + 235 + u.depth;
            elseif dname == "Sokoban" then
                dstr = "S" .. u.dlevel;
                sortval = sortval + 225 + u.depth;
            elseif dname == "The Gnomish Mines" then
                dstr = "M" .. u.dlevel;
                sortval = sortval + 215 + u.dlevel;
            else
                dstr = "D" .. u.depth;
                sortval = sortval + u.depth;
            end
            local str = sortval .. "|" .. astr .. " " .. dstr;

            extrai:write(str);
            extrai:close();
        else
            -- failed to open the file.
            nh.pline("Failed to open dgl extrainfo file: " .. err);
        end
        prev_dgl_extrainfo = u.moves;
    end
end

-- Show a helpful tip when player first uses getpos()
function show_getpos_tip()
   nh.text([[
Tip: Farlooking or selecting a map location

You are now in a "farlook" mode - the movement keys move the cursor,
not your character.  Game time does not advance.  This mode is used
to look around the map, or to select a location on it.

When in this mode, you can press ESC to return to normal game mode,
and pressing ? will show the key help.
]]);
end

-- Callback functions
nhcore = {
    -- start_new_game called once, when starting a new game
    -- after "Welcome to NetHack" message has been given.
    -- start_new_game = function() nh.pline("NEW GAME!"); end,

    -- restore_old_game called once, when restoring a saved game
    -- after "Welcome back to NetHack" message has been given.
    -- restore_old_game = function() nh.pline("RESTORED OLD GAME!"); end,

    -- moveloop_turn is called once per turn.
    -- moveloop_turn = mk_dgl_extrainfo,

    -- game_exit is called when the game exits (quit, saved, ...)
    -- game_exit = function() end,

    -- getpos_tip is called the first time the code enters getpos()
    getpos_tip = show_getpos_tip,

    -- enter_tutorial and leave_tutorial
    enter_tutorial = tutorial_enter,
    leave_tutorial = tutorial_leave,
};

-- NetHack nhlib.lua	$NHDT-Date: 1652196140 2022/05/10 15:22:20 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 2021 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
-- compatibility shim
math.random = function(...)
   local arg = {...};
   if (#arg == 1) then
      return 1 + nh.rn2(arg[1]);
   elseif (#arg == 2) then
      return nh.random(arg[1], arg[2] + 1 - arg[1]);
   else
      -- we don't support reals
      error("NetHack math.random requires at least one parameter");
   end
end

function shuffle(list)
   for i = #list, 2, -1 do
      local j = math.random(i)
      list[i], list[j] = list[j], list[i]
   end
end

align = { "law", "neutral", "chaos" };
shuffle(align);

-- d(2,6) = 2d6
-- d(20) = 1d20 (single argument = implicit 1 die)
function d(dice, faces)
   if (faces == nil) then
      -- 1-arg form: argument "dice" is actually the number of faces
      return math.random(1, dice)
   else
      local sum = 0
      for i=1,dice do
         sum = sum + math.random(1, faces)
      end
      return sum
   end
end

-- percent(20) returns true 20% of the time
function percent(threshold)
   return math.random(0, 99) < threshold
end

function monkfoodshop()
   if (u.role == "Monk") then
      return "health food shop";
   end
   return "food shop";
end

-- tweaks to gehennom levels; might add random lava pools or
-- a lava river.
-- protected_area is a selection where no changes will be done.
function hell_tweaks(protected_area)
   local liquid = "L";
   local ground = ".";
   local n_prot = protected_area:numpoints();
   local prot = protected_area:negate();

   -- random pools
   if (percent(20 + u.depth)) then
      local pools = selection.new();
      local maxpools = 5 + math.random(u.depth);
      for i = 1, maxpools do
         pools:set();
      end
      pools = pools | selection.grow(selection.set(selection.new()), "west")
      pools = pools | selection.grow(selection.set(selection.new()), "north")
      pools = pools | selection.grow(selection.set(selection.new()), "random")

      pools = pools & prot;

      if (percent(80)) then
         local poolground = pools:clone():grow("all") & prot;
         local pval = math.random(1, 8) * 10;
         des.terrain(poolground:percentage(pval), ground)
      end
      des.terrain(pools, liquid)
   end

   -- river
   if (percent(50)) then
      local allrivers = selection.new();
      local reqpts = ((nhc.COLNO * nhc.ROWNO) - n_prot) / 12; -- # of lava pools required
      local rpts = 0;
      local rivertries = 0;

      repeat
            local floor = selection.match(ground);
            local a = selection.rndcoord(floor);
            local b = selection.rndcoord(floor);
            local lavariver = selection.randline(selection.new(), a.x, a.y, b.x, b.y, 10);

            if (percent(50)) then
               lavariver = selection.grow(lavariver, "north");
            end
            if (percent(50)) then
               lavariver = selection.grow(lavariver, "west");
            end
            allrivers = allrivers | lavariver;
            allrivers = allrivers & prot;

            rpts = allrivers:numpoints();
            rivertries = rivertries + 1;
      until ((rpts > reqpts) or (rivertries > 7));

      if (percent(60)) then
         local prc = 10 * math.random(1, 6);
         local riverbanks = selection.grow(allrivers);
         riverbanks = riverbanks & prot;
         des.terrain(selection.percentage(riverbanks, prc), ground);
      end

      des.terrain(allrivers, liquid);
   end

   -- replacing some walls with boulders
   if (percent(20)) then
      local amount = 3 * math.random(1, 8);
      local bwalls = selection.match([[.w.]]):percentage(amount) | selection.match(".\nw\n."):percentage(amount);
      bwalls = bwalls & prot;
      bwalls:iterate(function (x,y)
            des.terrain(x, y, ".");
            des.object("boulder", x, y);
      end);
   end

   -- replacing some walls with iron bars
   if (percent(20)) then
      local amount = 3 * math.random(1, 8);
      local fwalls = selection.match([[.w.]]):percentage(amount) | selection.match(".\nw\n."):percentage(amount);
      fwalls = fwalls:grow() & selection.match("w") & prot;
      des.terrain(fwalls, "F");
   end

end

-- pline with variable number of arguments
function pline(fmt, ...)
   nh.pline(string.format(fmt, table.unpack({...})));
end

-- wrapper to make calling from nethack core easier
function nh_set_variables_string(key, tbl)
   return "nh_lua_variables[\"" .. key .. "\"]=" .. table_stringify(tbl) .. ";";
end

-- wrapper to make calling from nethack core easier
function nh_get_variables_string(tbl)
   return "return " .. table_stringify(tbl) .. ";";
end

-- return the (simple) table tbl converted into a string
function table_stringify(tbl)
   local str = "";
   for key, value in pairs(tbl) do
      local typ = type(value);
      if (typ == "table") then
         str = str .. "[\"" .. key .. "\"]=" .. table_stringify(value);
      elseif (typ == "string") then
         str = str .. "[\"" .. key .. "\"]=[[" .. value .. "]]";
      elseif (typ == "boolean") then
         str = str .. "[\"" .. key .. "\"]=" .. tostring(value);
      elseif (typ == "number") then
         str = str .. "[\"" .. key .. "\"]=" .. value;
      elseif (typ == "nil") then
         str = str .. "[\"" .. key .. "\"]=nil";
      end
      str = str .. ",";
   end
   -- pline("table_stringify:(%s)", str);
   return "{" .. str .. "}";
end

--
-- TUTORIAL
--

-- extended commands NOT available in tutorial
local tutorial_blacklist_commands = {
   ["save"] = true,
};

function tutorial_cmd_before(cmd)
   -- nh.pline("TUT:cmd_before:" .. cmd);

   if (tutorial_blacklist_commands[cmd]) then
      return false;
   end
   return true;
end

function tutorial_enter()
   -- nh.pline("TUT:enter");

   -- add the tutorial branch callbacks
   nh.callback("cmd_before", "tutorial_cmd_before");
   nh.callback("end_turn", "tutorial_turn");

   -- save state for later restore
   nh.gamestate();
end

function tutorial_leave()
   -- nh.pline("TUT:leave");

   -- remove the tutorial branch callbacks
   nh.callback("cmd_before", "tutorial_cmd_before", true);
   nh.callback("end_turn", "tutorial_turn", true);

   -- restore state for regular play
   nh.gamestate(true);
end

local tutorial_events = {
   {
      func = function()
         if (u.uhunger < 148) then
            local o = obj.new("blessed food ration");
            o:placeobj(u.ux, u.uy);
            nh.pline("Looks like you're getting hungry.  You'll starve to death, unless you eat something.", true);
            nh.pline("Comestibles are eaten with '" .. nh.eckey("eat") .. "'", true);
            return true;
         end
      end
   },
};

function tutorial_turn()
   for k, v in pairs(tutorial_events) do
      if ((v.ucoord and u.ux == v.ucoord[1] + 3 and u.uy == v.ucoord[2] + 3)
         or (v.ucoord == nil)) then
         if (v.func() or v.remove) then
            tutorial_events[k] = nil;
         end
      end
   end
   -- nh.pline("TUT:turn");
end
-- NetHack oracle oracle.lua	$NHDT-Date: 1652196033 2022/05/10 15:20:33 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
-- Copyright (c) 2015 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
--
-- Oracle level
des.level_flags("noflip");

des.room({ type = "ordinary", lit=1, x=3,y=3, xalign="center",yalign="center", w=11,h=9, contents = function()
              des.object({ id = "statue", x = 0, y = 0, montype = "C", historic = true });
              des.object({ id = "statue", x = 0, y = 8, montype = "C", historic = true });
              des.object({ id = "statue", x =10, y = 0, montype = "C", historic = true });
              des.object({ id = "statue", x =10, y = 8, montype = "C", historic = true });
              des.object({ id = "statue", x = 5, y = 1, montype = "C", historic = true });
              des.object({ id = "statue", x = 5, y = 7, montype = "C", historic = true });
              des.object({ id = "statue", x = 2, y = 4, montype = "C", historic = true });
              des.object({ id = "statue", x = 8, y = 4, montype = "C", historic = true });

              des.room({ type = "delphi", lit = 1, x=4,y=3, w=3,h=3, contents = function()
                            des.feature("fountain", 0, 1);
                            des.feature("fountain", 1, 0);
                            des.feature("fountain", 1, 2);
                            des.feature("fountain", 2, 1);
                            des.monster("Oracle", 1, 1);
                            des.door({ state="nodoor", wall="all" });
                         end
              });

              des.monster();
              des.monster();
           end
});

des.room({ contents = function()
                 des.stair("up");
                 des.object();
              end
});

des.room({ contents = function()
                 des.stair("down");
                 des.object();
                 des.trap();
                 des.monster();
                 des.monster();
              end
});

des.room({ contents = function()
                 des.object();
                 des.object();
                 des.monster();
              end
});

des.room({ contents = function()
                 des.object();
                 des.trap();
                 des.monster();
              end
});

des.room({ contents = function()
                 des.object();
                 des.trap();
                 des.monster();
              end
});

des.random_corridors();
-- NetHack gehennom orcus.lua	$NHDT-Date: 1652196033 2022/05/10 15:20:33 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel", "shortsighted")

local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);

-- A ghost town
local orcus1 = des.map({ halign = "right", valign = "center", map = [[
.|....|....|....|..............|....|........
.|....|....|....|..............|....|........
.|....|....|....|--...-+-------|.............
.|....|....|....|..............+.............
.|.........|....|..............|....|........
.--+-...-+----+--....-------...--------.-+---
.....................|.....|.................
.....................|.....|.................
.--+----....-+---....|.....|...----------+---
.|....|....|....|....---+---...|......|......
.|.........|....|..............|......|......
.----...---------.....-----....+......|......
.|........................|....|......|......
.----------+-...--+--|....|....----------+---
.|....|..............|....+....|.............
.|....+.......|......|....|....|.............
.|....|.......|......|....|....|.............
]], contents = function(rm)
   des.mazewalk(00,06,"west")
   -- Entire main area
   des.region(selection.area(01,00,44,16),"unlit")
   des.stair("down", 33,15)
   -- Wall "ruins"
   des.object("boulder",19,02)
   des.object("boulder",20,02)
   des.object("boulder",21,02)
   des.object("boulder",36,02)
   des.object("boulder",36,03)
   des.object("boulder",06,04)
   des.object("boulder",05,05)
   des.object("boulder",06,05)
   des.object("boulder",07,05)
   des.object("boulder",39,05)
   des.object("boulder",08,08)
   des.object("boulder",09,08)
   des.object("boulder",10,08)
   des.object("boulder",11,08)
   des.object("boulder",06,10)
   des.object("boulder",05,11)
   des.object("boulder",06,11)
   des.object("boulder",07,11)
   des.object("boulder",21,11)
   des.object("boulder",21,12)
   des.object("boulder",13,13)
   des.object("boulder",14,13)
   des.object("boulder",15,13)
   des.object("boulder",14,14)
   -- Doors
   des.door("closed",23,02)
   des.door("open",31,03)
   des.door("nodoor",03,05)
   des.door("closed",09,05)
   des.door("closed",14,05)
   des.door("closed",41,05)
   des.door("open",03,08)
   des.door("nodoor",13,08)
   des.door("open",41,08)
   des.door("closed",24,09)
   des.door("closed",31,11)
   des.door("open",11,13)
   des.door("closed",18,13)
   des.door("closed",41,13)
   des.door("open",26,14)
   des.door("closed",06,15)
   -- Special rooms
   des.altar({ x=24,y=07,align="noalign",type="sanctum" })
   des.region({ region={22,12,25,16},lit=0,type="morgue",filled=1 })
   des.region({ region={32,09,37,12},lit=1,type="shop",filled=1 })
   des.region({ region={12,00,15,04},lit=1,type="shop",filled=1 })
   -- Some traps.
   des.trap("spiked pit")
   des.trap("sleep gas")
   des.trap("anti magic")
   des.trap("fire")
   des.trap("fire")
   des.trap("fire")
   des.trap("magic")
   des.trap("magic")
   -- Some random objects
   des.object()
   des.object()
   des.object()
   des.object()
   des.object()
   des.object()
   des.object()
   des.object()
   des.object()
   des.object()
   -- An object that's worth most of a wish
   -- (this is part of the compensation for the reduced wishes at the Castle)
   if math.random(0, 1) == 1 then
      des.object("magic marker")
   else
      des.object("magic lamp")
   end
   -- The resident nasty
   des.monster("Orcus",33,15)
   -- And its preferred companions
   des.monster("human zombie",32,15)
   des.monster("shade",32,14)
   des.monster("shade",32,16)
   des.monster("vampire",35,16)
   des.monster("vampire",35,14)
   des.monster("vampire lord",36,14)
   des.monster("vampire lord",36,15)
   -- Randomly placed companions
   des.monster("skeleton")
   des.monster("skeleton")
   des.monster("skeleton")
   des.monster("skeleton")
   des.monster("skeleton")
   des.monster("shade")
   des.monster("shade")
   des.monster("shade")
   des.monster("shade")
   des.monster("giant zombie")
   des.monster("giant zombie")
   des.monster("giant zombie")
   des.monster("ettin zombie")
   des.monster("ettin zombie")
   des.monster("ettin zombie")
   des.monster("human zombie")
   des.monster("human zombie")
   des.monster("human zombie")
   des.monster("vampire")
   des.monster("vampire")
   des.monster("vampire")
   des.monster("vampire lord")
   des.monster("vampire lord")
   -- A few more for the party
   des.monster()
   des.monster()
   des.monster()
   des.monster()
   des.monster()
end });

des.levregion({ region={01,00,12,20}, region_islev=1, exclude={20,01,70,20}, exclude_islev=1, type="stair-up" });
des.levregion({ region={01,00,12,20}, region_islev=1, exclude={20,01,70,20}, exclude_islev=1, type="branch" });
des.teleport_region({ region={01,00,12,20}, region_islev=1, exclude={20,01,70,20}, exclude_islev=1 });

local protected = bounds2:negate() | orcus1;
hell_tweaks(protected);
-- NetHack Priest Pri-fila.lua	$NHDT-Date: 1652196008 2022/05/10 15:20:08 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster("human zombie")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster("human zombie")
           end
})

des.room({ type = "morgue",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster("wraith")
           end
})

des.room({ type = "morgue",
           contents = function()
              des.object()
              des.trap()
           end
})

des.random_corridors()
-- NetHack Priest Pri-filb.lua	$NHDT-Date: 1652196008 2022/05/10 15:20:08 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--

des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster("human zombie")
              des.monster("wraith")
           end
})

des.room({ type = "morgue",
           contents = function()
              des.object()
              des.object()
              des.object()
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster("human zombie")
              des.monster("wraith")
           end
})

des.room({ type = "morgue",
           contents = function()
              des.stair("down")
              des.object()
              des.object()
              des.trap()
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster("human zombie")
              des.monster("wraith")
           end
})


des.room({ type = "morgue",
           contents = function()
              des.object()
              des.trap()
           end
})

des.random_corridors()
-- NetHack Priest Pri-goal.lua	$NHDT-Date: 1687033651 2023/06/17 20:27:31 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.level_init({ style="mines", fg="L", bg=".", smoothed=false, joined=false, lit=0, walled=false })

des.map([[
xxxxxx..xxxxxx...xxxxxxxxx
xxxx......xx......xxxxxxxx
xx.xx.............xxxxxxxx
x....................xxxxx
......................xxxx
......................xxxx
xx........................
xxx......................x
xxx................xxxxxxx
xxxx.....x.xx.......xxxxxx
xxxxx...xxxxxx....xxxxxxxx
]]);
-- Dungeon Description
local place = { {14,04}, {13,07} }
local placeidx = math.random(1, #place);

des.region(selection.area(00,00,25,10), "unlit")
-- Stairs
des.stair("up", 20,05)
-- Objects [note: eroded=-1 => obj->oerodeproof=1]
des.object({ id = "helm of brilliance", coord = place[placeidx],
             buc="blessed", spe=0, eroded=-1, name="The Mitre of Holiness" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap()
des.trap()
-- Random monsters.
des.monster("Nalzok",place[placeidx])
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("human zombie")
des.monster("Z")
des.monster("Z")
des.monster("wraith")
des.monster("wraith")
des.monster("wraith")
des.monster("wraith")
des.monster("wraith")
des.monster("wraith")
des.monster("wraith")
des.monster("wraith")
des.monster("W")
-- NetHack Priest Pri-loca.lua	$NHDT-Date: 1652196009 2022/05/10 15:20:09 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor", "noflip")
-- This is a kludge to init the level as a lit field.
des.level_init({ style="mines", fg=".", bg=".", smoothed=false, joined=false, lit=1, walled=false })

des.map([[
........................................
........................................
..........----------+----------.........
..........|........|.|........|.........
..........|........|.|........|.........
..........|----.----.----.----|.........
..........+...................+.........
..........+...................+.........
..........|----.----.----.----|.........
..........|........|.|........|.........
..........|........|.|........|.........
..........----------+----------.........
........................................
........................................
]]);
-- Dungeon Description
des.region({ region={00,00, 09,13}, lit=0, type="morgue", filled=1 })
des.region({ region={09,00, 30,01}, lit=0, type="morgue", filled=1 })
des.region({ region={09,12, 30,13}, lit=0, type="morgue", filled=1 })
des.region({ region={31,00, 39,13}, lit=0, type="morgue", filled=1 })
des.region({ region={11,03, 29,10}, lit=1, type="temple", filled=1, irregular=1 })
-- The altar inside the temple
des.altar({ x=20,y=07, align="noalign", type="shrine" })
des.monster({ id = "aligned cleric", x=20, y=07, align="noalign", peaceful = 0 })
-- Doors
des.door("locked",10,06)
des.door("locked",10,07)
des.door("locked",20,02)
des.door("locked",20,11)
des.door("locked",30,06)
des.door("locked",30,07)
-- Stairs
-- Note:  The up stairs are *intentionally* off of the map.
des.stair("up", 43,05)
des.stair("down", 20,06)
-- Non diggable walls
des.non_diggable(selection.area(10,02,30,13))
-- Objects (inside the antechambers).
des.object({ coord = { 14, 03 } })
des.object({ coord = { 15, 03 } })
des.object({ coord = { 16, 03 } })
des.object({ coord = { 14, 10 } })
des.object({ coord = { 15, 10 } })
des.object({ coord = { 16, 10 } })
des.object({ coord = { 17, 10 } })
des.object({ coord = { 24, 03 } })
des.object({ coord = { 25, 03 } })
des.object({ coord = { 26, 03 } })
des.object({ coord = { 27, 03 } })
des.object({ coord = { 24, 10 } })
des.object({ coord = { 25, 10 } })
des.object({ coord = { 26, 10 } })
des.object({ coord = { 27, 10 } })
-- Random traps
des.trap({ coord = { 15,04 } })
des.trap({ coord = { 25,04 } })
des.trap({ coord = { 15,09 } })
des.trap({ coord = { 25,09 } })
des.trap()
des.trap()
-- No random monsters - the morgue generation will put them in.
-- NetHack Priest Pri-strt.lua	$NHDT-Date: 1652196009 2022/05/10 15:20:09 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.5 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, High Priest
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
............................................................................
............................................................................
............................................................................
....................------------------------------------....................
....................|................|.....|.....|.....|....................
....................|..------------..|--+-----+-----+--|....................
....................|..|..........|..|.................|....................
....................|..|..........|..|+---+---+-----+--|....................
..................---..|..........|......|...|...|.....|....................
..................+....|..........+......|...|...|.....|....................
..................+....|..........+......|...|...|.....|....................
..................---..|..........|......|...|...|.....|....................
....................|..|..........|..|+-----+---+---+--|....................
....................|..|..........|..|.................|....................
....................|..------------..|--+-----+-----+--|....................
....................|................|.....|.....|.....|....................
....................------------------------------------....................
............................................................................
............................................................................
............................................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region({ region={24,06, 33,13}, lit=1, type="temple", filled=2 })

des.replace_terrain({ region={00,00, 10,19}, fromterrain=".", toterrain="T", chance=10 })
des.replace_terrain({ region={65,00, 75,19}, fromterrain=".", toterrain="T", chance=10 })
des.terrain({05,04}, ".")

local spacelocs = selection.floodfill(05,04);

-- Portal arrival point
des.levregion({ region = {05,04,05,04}, type="branch" })
-- Stairs
des.stair("down", 52,09)
-- Doors
des.door("locked",18,09)
des.door("locked",18,10)
des.door("closed",34,09)
des.door("closed",34,10)
des.door("closed",40,05)
des.door("closed",46,05)
des.door("closed",52,05)
des.door("locked",38,07)
des.door("closed",42,07)
des.door("closed",46,07)
des.door("closed",52,07)
des.door("locked",38,12)
des.door("closed",44,12)
des.door("closed",48,12)
des.door("closed",52,12)
des.door("closed",40,14)
des.door("closed",46,14)
des.door("closed",52,14)
-- Unattended Altar - unaligned due to conflict - player must align it.
des.altar({ x=28, y=09, align="noalign", type="altar" })
-- High Priest
des.monster({ id = "Arch Priest", coord = {28, 10}, inventory = function()
   des.object({ id = "robe", spe = 4 });
   des.object({ id = "mace", spe = 4 });
end })
-- The treasure of High Priest
des.object("chest", 27, 10)
-- knight guards for the audience chamber
des.monster("acolyte", 32, 07)
des.monster("acolyte", 32, 08)
des.monster("acolyte", 32, 11)
des.monster("acolyte", 32, 12)
des.monster("acolyte", 33, 07)
des.monster("acolyte", 33, 08)
des.monster("acolyte", 33, 11)
des.monster("acolyte", 33, 12)
-- Non diggable walls
des.non_diggable(selection.area(18,03,55,16))
-- Random traps
for i = 1, 2 do
   des.trap("dart", spacelocs:rndcoord(1))
end
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty.
for i = 1, 12 do
   des.monster("human zombie", spacelocs:rndcoord(1));
end
-- NetHack quest.lua	$NHDT-Date: 1726894904 2024/09/21 05:01:44 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.10 $
-- Copyright (c) 2021 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
-- TODO:
--  - output = "verbalize"
--  - export the quest string replacements to lua, instead of %H etc
--  - allow checking if hero is carrying item (see comments for %Cp Arc 00042)
--  - fold quest_portal, quest_portal_again, quest_portal_demand into one
--  - write tests to check questtext validity?
--  - qt_pager hack(?): if (qt_msg->delivery == 'p' && strcmp(windowprocs.name, "X11"))




-- text = "something"
-- Text is shown to the user.

-- synopsis = "something"
-- Synopsis is inserted into the message history.
--
-- output = "pline" | "menu" | "text"
-- The output can be manually set by using output = "menu"
-- Valid values for output are "pline", "text", and "menu, defaulting to
-- pline, unless the text contains newlines, or is too long to fit a message buffer,
-- then will be shown as a text window instead.



questtext = {
   -- If a role doesn't have a specific message, try a fallback
   msg_fallbacks = {
      goal_alt = "goal_next"
   },
   common = {
      TEST_PATTERN = {
         output = "text",
         text = [[%p:	return(plname);
 %c:	return(pl_character);
 %r:	return((char *)rank_of(u.ulevel));
 %R:	return((char *)rank_of(MIN_QUEST_LEVEL));
 %s:	return((flags.female) ? "sister" : "brother" );
 %S:	return((flags.female) ? "daughter" : "son" );
 %l:	return((char *)ldrname());
 %i:	return(intermed());
 %o:	return(artiname());
 %O:	return(shortened(artiname()));
 %n:	return((char *)neminame());
 %g:	return((char *)guardname());
 %G:	return((char *)align_gtitle(u.ualignbase[1]));
 %H:	return((char *)homebase());
 %a:	return(Alignnam(u.ualignbase[1]));
 %A:	return(Alignnam(u.ualign.type));
 %d:	return((char *)align_gname(u.ualignbase[1]));
 %D:	return((char *)align_gname(A_LAWFUL));
 %C:	return("chaotic");
 %N:	return("neutral");
 %L:	return("lawful");
 %x:	return((Blind) ? "sense" : "see");
 %Z:	return("The Dungeons of Doom");
 %%:	return(percent_sign);
 a suffix:	return an(root);
 A suffix:	return An(root);
 C suffix:	return capitalized(root);
 h suffix:	return pronoun(he_or_she, mon_of(root)); /* for %l,%n,%d,%o */
 H suffix:	return capitalized(pronoun(he_or_she, mon_of(root)));
 i suffix:	return pronoun(him_or_her, mon_of(root));
 I suffix:	return capitalized(pronoun(him_or_her, mon_of(root)));
 j suffix:	return pronoun(his_or_her, mon_of(root));
 J suffix:	return capitalized(pronoun(his_or_her, mon_of(root)));
 p suffix:	return makeplural(root);
 P suffix:	return makeplural(capitalized(root));
 s suffix:	return s_suffix(root);
 S suffix:	return s_suffix(capitalized(root));
 t suffix:	return strip_the_prefix(root);]],
      },
      angel_cuss = {
         "\"Repent, and thou shalt be saved!\"",
         "\"Thou shalt pay for thine insolence!\"",
         "\"Very soon, my child, thou shalt meet thy maker.\"",
         "\"The great %D has sent me to make you pay for your sins!\"",
         "\"The wrath of %D is now upon you!\"",
         "\"Thy life belongs to %D now!\"",
         "\"Dost thou wish to receive thy final blessing?\"",
         "\"Thou art but a godless void.\"",
         "\"Thou art not worthy to seek the Amulet.\"",
         "\"No one expects the Spanish Inquisition!\"",
         "\"Judgment hath been passed upon thee, %p.\"",
         "\"Thy reckoning is at hand, %p.\"",
         "\"Thou shalt be brought before %D for thy crimes!\"",
         "\"With %D as my witness, I shall strike thee down.\"",
      },
      banished = {
         synopsis = "[You are banished from %H for betraying your allegiance to %d.]",
         output = "text",
         text = [["You have betrayed all those who hold allegiance to %d, as you once did.
My allegiance to %d holds fast and I cannot condone or accept what you
have done.

Leave this place.  You shall never set foot at %H again.
That which you seek is now lost forever, for without the Bell of Opening,
you will never be able to enter the place where he who has the Amulet
resides.

Go now!  You are banished from this place.]],
      },
      demon_cuss = {
         "\"I first mistook thee for a statue, when I regarded thy head of stone.\"",
         "\"Come here often?\"",
         "\"Doth pain excite thee?  Wouldst thou prefer the whip?\"",
         "\"Thinkest thou it shall tickle as I rip out thy lungs?\"",
         "\"Eat slime and die!\"",
         "\"Go ahead, fetch thy mama!  I shall wait.\"",
         "\"Go play leapfrog with a herd of unicorns!\"",
         "\"Hast thou been drinking, or art thou always so clumsy?\"",
         "\"This time I shall let thee off with a spanking, but let it not happen again.\"",
         "\"I've met smarter (and prettier) acid blobs.\"",
         "\"Look!  Thy bootlace is undone!\"",
         "\"Mercy!  Dost thou wish me to die of laughter?\"",
         "\"Run away!  Live to flee another day!\"",
         "\"Thou hadst best fight better than thou canst dress!\"",
         "\"Twixt thy cousin and thee, Medusa is the prettier.\"",
         "\"Methinks thou wert unnaturally stirred by yon corpse back there, eh, varlet?\"",
         "\"Up thy nose with a rubber hose!\"",
         "\"Verily, thy corpse could not smell worse!\"",
         "\"Wait!  I shall polymorph into a grid bug to give thee a fighting chance!\"",
         "\"Why search for the Amulet?  Thou wouldst but lose it, cretin.\"",
         "\"Thou ought to be a comedian, thy skills are so laughable!\"",
         "\"Thy gaze is so vacant, I thought thee a floating eye!\"",
         "\"Thy head is unfit for a mind flayer to munch upon!\"",
         "\"Only thy reflection could love thee!\"",
         "\"Hast thou considered masking thine odour?\"",
         "\"Hold! Thy face is a most exquisite torture!\"",
         "\"I should fart in thy direction, but it might improve thy smell!\"",
      },
      legacy = {
         synopsis = "[%dC has chosen you to recover the Amulet of Yendor for %dI.]",
         output = "menu",
         text = [[It is written in the Book of %d:

    After the Creation, the cruel god Moloch rebelled
    against the authority of Marduk the Creator.
    Moloch stole from Marduk the most powerful of all
    the artifacts of the gods, the Amulet of Yendor,
    and he hid it in the dark cavities of Gehennom, the
    Under World, where he now lurks, and bides his time.

Your %G %d seeks to possess the Amulet, and with it
to gain deserved ascendance over the other gods.

You, a newly trained %r, have been heralded
from birth as the instrument of %d.  You are destined
to recover the Amulet for your deity, or die in the
attempt.  Your hour of destiny has come.  For the sake
of us all:  Go bravely with %d!]],
      },
-- starting with 'pauper' option set, last paragraph differs from normal legacy
      pauper_legacy = {
         synopsis = "[%dC has chosen you to recover the Amulet of Yendor for %dI.]",
         output = "menu",
         text = [[It is written in the Book of %d:

    After the Creation, the cruel god Moloch rebelled
    against the authority of Marduk the Creator.
    Moloch stole from Marduk the most powerful of all
    the artifacts of the gods, the Amulet of Yendor,
    and he hid it in the dark cavities of Gehennom, the
    Under World, where he now lurks, and bides his time.

Your %G %d seeks to possess the Amulet, and with it
to gain deserved ascendance over the other gods.

You, an untrained %r, have been unable to adequately
prepare to be the instrument of %d.  Nevertheless, you
are destined to recover the Amulet for your deity, or die
in the attempt.  Your hour of destiny has come.  For the
sake of us all:  Go bravely with %d!]],
      },
      quest_complete_no_bell = {
         text = [["The silver bell which was hoarded by %n will be
essential in locating the Amulet of Yendor."]],
      },
      quest_portal = {
         output = "pline",
         text = [[You receive a faint telepathic message from %l:
Your help is urgently needed at %H!
Look for a ...ic transporter.
You couldn't quite make out that last message.]],
      },
      quest_portal_again = {
         text = "You again sense %l pleading for help.",
      },
      quest_portal_demand = {
         text = "You again sense %l demanding your attendance.",
      },
   },
   Arc = {
      assignquest = {
         synopsis = "[%nC has stolen %o.  Locate %i, defeat %ni, and return %O.]",
         output = "text",
         text = [["Grave times have befallen the college, for %na has
stolen %o.  Without it, the board of directors of
the university will soon have no choice but to revoke our research grants.

"You must locate the entrance to %i.  Within it,
you will find %n.

"You must then defeat %n and return %o
to me.

"Only in this way will we be able to prevent the budget cuts that could
close this college.

"May the wisdom of %d be your guide."]],
      },
      badalign = {
         synopsis = "[\"%pC, you have strayed from the %a path.  Purify yourself!\"]",
         output = "text",
         text = [["%pC!  I've heard that you've been using sloppy techniques.  Your
results lately can hardly be called suitable for %ra!

"How could you have strayed from the %a path?  Go from here, and come
back only when you have purified yourself."]],
      },
      badlevel = {
         synopsis = "[%pC, a mere %r is too inexperienced.]",
         output = "text",
         text = [["%p, you are yet too inexperienced to undertake such a demanding
quest.  A mere %r could not possibly face the rigors demanded and
survive.  Go forth, and come here again when your adventures have further
taught you."]],
      },
      discourage = {
         "\"Try your best, %p.  You cannot defeat me.\"",
         "\"I shall rend the flesh from your body whilst you still breathe!\"",
         "\"First you, %p, then I shall destroy your mentor, %l.\"",
         "\"Tiring yet, %p?  I draw my power from my master and cannot falter!\"",
         "\"I shall rend thy soul from thy body and consume it!\"",
         "\"You are far too %a -- it weakens you.  You shall die in this place.\"",
         "\"%d has forsaken you!  You are lost now!\"",
         "\"A mere %r cannot hope to defeat me!\"",
         "\"If you are the best %l can send, I have nothing to fear.\"",
         "\"Die %c!  I shall exhibit your carcass as a trophy.\"",
      },
      encourage = {
         "\"Beware, for %n is powerful and cunning.\"",
         "\"To locate the entrance to %i, you must pass many traps.\"",
         "\"A %nt may be vulnerable to attacks by magical cold.\"",
         "\"Call upon %d when you encounter %n.\"",
         "\"You must destroy %n.  It will pursue you otherwise.\"",
         "\"%oC is a mighty talisman.  With it you can destroy %n.\"",
         "\"Go forth with the blessings of %d.\"",
         "\"I will have my %gP watch for your return.\"",
         "\"Remember not to stray from the true %a path.\"",
         "\"You may be able to sense %o when you are near.\"",
      },
      firsttime = {
         synopsis = "[You arrive at %H, but all is not well.]",
         output = "text",
         text = [[You are suddenly in familiar surroundings.  The buildings in the distance
seem to be those of your old alma mater, but something is wrong.  It feels
as if there has been a riot recently, or %H has
been under siege.

All of the windows are boarded up, and there are objects scattered around
the entrance.

Strange forbidding shapes seem to be moving in the distance.]],
      },
      goal_alt = {
         text = "You have returned to %ns lair.",
      },
      goal_first = {
         synopsis = "[This strange feeling must be the presence of %o.]",
         output = "text",
         text = [[A strange feeling washes over you, and you think back to things you
learned during the many lectures of %l.

You realize the feeling must be the presence of %o.]],
      },
      goal_next = {
         text = "The familiar presence of %o is in the ether.",
      },
      gotit = {
         synopsis = "[The power of %o flows through your body!  You must return it to %l.]",
         output = "text",
         text = [[The power of %o flows through your body!  You feel
as if you could now take on the Wizard of Yendor himself and win, but
you know you must return %o to %l.]],
      },
      guardtalk_after = {
         "\"Did you see Lash LaRue in 'Song of Old Wyoming' the other night?\"",
         "\"Hey man, got any potions of hallucination for sale?\"",
         "\"I guess you are guaranteed to make full professor now.\"",
         "\"So, what was worse, %n or your entrance exams?\"",
         "\"%oC is impressive, but nothing like the bones I dug up!\"",
      },
      guardtalk_before = {
         "\"Did you see Lash LaRue in 'Song of Old Wyoming' the other night?\"",
         "\"Hey man, got any potions of hallucination for sale?\"",
         "\"Did you see the artifact %l brought back from the last dig?\"",
         "\"So what species do *you* think we evolved from?\"",
         "\"So you're %ls prize pupil!  I don't know what he sees in you.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to the Astral Plane and sacrifice it at the altar of %d.]",
         output = "text",
         text = [["Congratulations, %p.  I wondered if anyone could prevail against
the Wizard and the minions of Moloch.  Now, you must embark on one
final adventure.

"Take the Amulet, and find your way onto the Astral Plane.
There you must find the altar of %d and sacrifice the
Amulet on that altar to fulfill your destiny.

"Remember, your path now should always be upwards."]],
      },
      killed_nemesis = {
         text = "The body of %n dissipates in a cloud of noxious fumes.",
      },
      leader_first = {
         synopsis = "[\"You have returned, %p, to a difficult task.\"]",
         output = "text",
         text = [["Finally you have returned, %p.  You were always
my most promising student.  Allow me to see if you are ready for the
most difficult task of your career."]],
      },
      leader_last = {
         synopsis = "[\"%pC, you have failed us.  Begone!\"]",
         output = "text",
         text = [["%p, you have failed us.  All of my careful training has been in
vain.  Begone!  Your tenure at this college has been revoked!

"You are a disgrace to the profession!"]],
      },
      leader_next = {
         text = [["Again, %p, you stand before me.
Let me see if you have gained experience in the interim."]],
      },
      leader_other = {
         text = [["Once more, %p, you have returned from the field.
Are you finally ready for the task that must be accomplished?"]],
      },
      locate_first = {
         synopsis = "[This foreboding edifice must hide the entrance to %i.]",
         output = "text",
         text = [[A plain opens before you.  Beyond the plain lies a foreboding edifice.

You have the feeling that you will soon find the entrance to
%i.]],
      },
      locate_next = {
         text = "Once again, you are near the entrance to %i.",
      },
      nemesis_first = {
         synopsis = "[\"Come, %p, I shall destroy you!\"]",
         output = "text",
         text = [["So, %p, you think that you can succeed in recovering
%o, when your teacher, %l, has already failed.

"Come, try your best!  I shall destroy you, and gnaw on your bones."]],
      },
      nemesis_next = {
         synopsis = "[\"Again you try to best me, %p?  You shall never recover %o.\"]",
         output = "text",
         text = [["Again you try to best me, eh %p?  Well, you shall fail again.

"You shall never recover %o.

"I shall bear your soul to the Plane of Origins for my master's pleasure."]],
      },
      nemesis_other = {
         text = "\"You persist yet %p!  Good.  Now, you shall die!\"",
      },
      nemesis_wantsit = {
         text = [["I shall have %o from you, %p, then feast
upon your entrails!"]],
      },
      nexttime = {
         text = "Once again, you are back at %H.",
      },
      offeredit = {
         synopsis = "[%lC instructs you to guard %o from now on.]",
         output = "text",
         text = [[%lC touches %o briefly, gazes into it,
then smiles at you and says:

"Well done, %p.  You have defeated %n and
recovered %o.  But I fear that it shall never be safe
here.

Please take %o with you.  You, %p, can
guard it now far better than I.

May the blessings of %d follow you and guard you."]],
      },
      offeredit2 = {
         synopsis = "[\"Resume your search for the Amulet beyond the magic portal to %Z.\"]",
         output = "text",
         text = [["Careful, %p!  %oC might break, and that would be
a tragic loss.  You are its keeper now, and the time has come to
resume your search for the Amulet.  %Z await your
return through the magic portal that brought you here."]],
      },
      othertime = {
         text = [[You are back at %H.
You have an odd feeling this may be the last time you ever come here.]],
      },
      posthanks = {
         synopsis = "[\"Have you progressed with your quest to regain the Amulet of Yendor for %d?\"]",
         output = "text",
         text = [["Welcome back, %p.  Have you progressed with your quest to
regain the Amulet of Yendor for %d?"]],
      },
   },
   Bar = {
      assignquest = {
         synopsis = "[\"Find %n, defeat %ni, and return %o to us.\"]",
         output = "text",
         text = [["The world is in great need of your assistance, %p.

"About six months ago, I learned that a mysterious sorcerer, known
as %n, had begun to gather a large group of cutthroats and brigands
about %ni.

"At about the same time, these people you once rode with `liberated' a
potent magical talisman, %o, from a Turanian caravan.

"%nC and %nj Black Horde swept down upon %i and defeated
the people there, driving them out into the desert.  He has taken
%o, and seeks to bend it to %nj will.  I detected the
subtle changes in the currents of fate, and joined these people.
Then I sent forth a summons for you.

"If %n can bend %o to %nj will, he will become
almost indestructible.  He will then be able to enslave the minds of
men across the world.  You are the only hope.  The gods smile upon you,
and with %d behind you, you alone can defeat %n.

"You must go to %i.  From there, you can track down
%n, defeat %ni, and return %o to us.  Only
then will the world be safe."]],
      },
      badalign = {
         synopsis = "[\"You have wandered from the path of the %a.  Come back when you have atoned.\"]",
         output = "text",
         text = [["%pC!  You have wandered from the path of the %a!
If you attempt to overcome %n in this state, he will surely
enslave your soul.  Your only hope, and ours, lies in your purification.
Go forth, and return when you feel ready."]],
      },
      badlevel = {
         synopsis = "[\"You are too inexperienced.  Come back when you are %Ra.\"]",
         output = "text",
         text = [["%p, I fear that you are as yet too inexperienced to face
%n.  Only %Ra with the help of %d could ever hope to
defeat %ni."]],
      },
      discourage = {
         "\"My pets will dine on your carcass tonight!\"",
         "\"You are a sorry excuse for %ra.\"",
         "\"Run while you can, %c.  My next spell will be your last.\"",
         "\"I shall use your very skin to bind my next grimoire.\"",
         "\"%d cannot protect you now.  Here, you die.\"",
         "\"Your %a nature makes you weak.  You cannot defeat me.\"",
         "\"Come, %c.  I shall kill you, then unleash the horde on your tribe.\"",
         "\"Once you are dead, my horde shall finish off %l, and your tribe.\"",
         "\"Fight, %c, or are you afraid of the mighty %n?\"",
         "\"You have failed, %c.  Now, my victory is complete.\"",
      },
      encourage = {
         "\"%nC is strong in the dark arts, but not immune to cold steel.\"",
         "\"Remember that %n is a great sorcerer.  He lived in the time of Atlantis.\"",
         "\"If you fail, %p, I will not be able to protect these people long.\"",
         "\"To enter %i, you must be very stealthy.  The horde will be on guard.\"",
         "\"Call upon %d in your time of need.\"",
         "\"May %d protect you, and guide your steps.\"",
         "\"If you can lay hands upon %o, carry it for good fortune.\"",
         "\"I cannot stand against %ns sorcery.  But %d will help you.\"",
         "\"Do not fear %n.  I know you can defeat %ni.\"",
         "\"You have a great road to travel, %p, but only after you defeat %n.\"",
      },
      firsttime = {
         synopsis = "[You reach the vicinity of %H, but sense evil magic nearby.]",
         output = "text",
         text = [[Warily you scan your surroundings, all of your senses alert for signs
of possible danger.  Off in the distance, you can %x the familiar shapes
of %H.

But why, you think, should %l be there?

Suddenly, the hairs on your neck stand on end as you detect the aura of
evil magic in the air.

Without thought, you ready your weapon, and mutter under your breath:

    "By %d, there will be blood spilt today."]],
      },
      goal_first = {
         synopsis = "[This is surely the lair of %n.]",
         output = "text",
         text = [[The hairs on the nape of your neck lift as you sense an energy in the
very air around you.  You fight down a primordial panic that seeks to
make you turn and run.  This is surely the lair of %n.]],
      },
      goal_next = {
         text = "Yet again you feel the air around you heavy with malevolent magical energy.",
      },
      gotit = {
         synopsis = "[You feel the power of %o flowing through your hands.]",
         output = "text",
         text = [[As you pick up %o, you feel the power of it
flowing through your hands.  It seems to be in two or more places
at once, even though you are holding it.]],
      },
      guardtalk_after = {
         "\"The battles here have been good -- our enemies' blood soaks the soil!\"",
         "\"Remember that glory is crushing your enemies beneath your feet!\"",
         "\"Times will be good again, now that the horde is vanquished.\"",
         "\"You have brought our clan much honor in defeating %n.\"",
         "\"You will be a worthy successor to %l.\"",
      },
      guardtalk_before = {
         "\"The battles here have been good -- our enemies' blood soaks the soil!\"",
         "\"Remember that glory is crushing your enemies beneath your feet!\"",
         "\"There has been little treasure to loot, since the horde arrived.\"",
         "\"The horde is mighty in numbers, but they have little courage.\"",
         "\"%lC is a strange one, but he has helped defend us.\"",
      },
      hasamulet = {
         synopsis = "[\"Take the Amulet to the altar of %d on the Astral Plane and offer it.\"]",
         output = "text",
         text = [["This is wondrous, %p.  I feared that you could not possibly
succeed in your quest, but here you are in possession of the Amulet
of Yendor!

"I have studied the texts of the magi constantly since you left.  In
the Book of Skelos, I found this:

    %d will cause a child to be sent into the world.  This child is to
    be made strong by trial of battle and magic, for %d has willed it so.
    It is said that the child of %d will recover the Amulet of Yendor
    that was stolen from the Creator at the beginning of time.

"As you now possess the amulet, %p, I suspect that the Book
speaks of you.

    The child of %d will take the Amulet, and travel to the Astral
    Plane, where the Great Temple of %d is to be found.  The Amulet
    will be sacrificed to %d, there on %dJ altar.  Then the child will
    stand by %d as champion of all %cP for eternity.

"This is all I know, %p.  I hope it will help you."]],
      },
      killed_nemesis = {
         synopsis = "[%nC curses you, but you feel the overpowering aura of magic fading.]",
         output = "text",
         text = [[%nC falls to the ground, and utters a last curse at you.  Then %nj
body fades slowly, seemingly dispersing into the air around you.  You
slowly become aware that the overpowering aura of magic in the air has
begun to fade.]],
      },
      leader_first = {
         synopsis = "[\"At last you have returned.  There is a great quest you must undertake.\"]",
         output = "text",
         text = [["Ah, %p.  You have returned at last.  The world is in dire
need of your help.  There is a great quest you must undertake.

"But first, I must see if you are ready to take on such a challenge."]],
      },
      leader_last = {
         synopsis = "[\"You have betrayed %d; soon %n will destroy us.  Begone!\"]",
         output = "text",
         text = [["Pah!  You have betrayed the gods, %p.  You will never attain
the glory which you aspire to.  Your failure to follow the true path has
closed this future to you.

"I will protect these people as best I can, but soon %n will overcome
me and destroy all who once called you %s.  Now begone!"]],
      },
      leader_next = {
         text = "\"%p, you are back.  Are you ready now for the challenge?\"",
      },
      leader_other = {
         text = "\"Again, you stand before me, %p.  Surely you have prepared yourself.\"",
      },
      locate_first = {
         synopsis = "[You have located %i.]",
         output = "text",
         text = [[The scent of water comes to you in the desert breeze.  You know that
you have located %i.]],
      },
      locate_next = {
         text = "Yet again you have a chance to infiltrate %i.",
      },
      nemesis_first = {
         synopsis = "[%nC boasts that %nh has slain many.  \"Prepare to die, %c.\"]",
         output = "text",
         text = [["So.  This is what that second rate sorcerer %l sends to do %lj bidding.
I have slain many before you.  You shall give me little sport.

"Prepare to die, %c."]],
      },
      nemesis_next = {
         text = "\"I have wasted too much time on you already.  Now, you shall die.\"",
      },
      nemesis_other = {
         text = "\"You return yet again, %c!  Are you prepared for death now?\"",
      },
      nemesis_wantsit = {
         text = [["I shall have %o back, you pitiful excuse for %ca.
And your life as well."]],
      },
      nexttime = {
         text = [[Once again, you near %H.  You know that %l
will be waiting.]],
      },
      offeredit = {
         synopsis = "[%lC tells you to guard %o, and to return when you have triumphed.]",
         output = "text",
         text = [[When %l sees %o, he smiles, and says:

    Well done, %p.  You have saved the world from certain doom.
    What, now, should be done with %o?

    These people, brave as they are, cannot hope to guard it from
    other sorcerers who will detect it, as surely as %n did.

    Take %o with you, %p.  It will guard you in
    your adventures, and you can best guard it.  You embark on a
    quest far greater than you realize.

    Remember me, %p, and return when you have triumphed.  I
    will tell you then of what you must do.  You will understand when the
    time comes.]],
      },
      offeredit2 = {
         synopsis = "[\"You keep %o.  Return to %Z to search for the Amulet.\"]",
         output = "text",
         text = [[%l gazes reverently at %o, then back at you.

"You are its keeper now, and the time has come to resume your search
for the Amulet.  %Z await your return through the
magic portal which brought you here."]],
      },
      othertime = {
         text = [[Again, and you think possibly for the last time, you approach
%H.]],
      },
      posthanks = {
         text = "\"Tell us, %p, have you fared well on your great quest?\"",
      },
   },
   Cav = {
      assignquest = {
         synopsis = "[Find and defeat %n, recover %o, and return with it.]",
         output = "text",
         text = [["You are indeed ready now, %p.  I shall tell you a tale of
great suffering among your people:

"Shortly after you left on your vision quest, the caves were invaded by
the creatures sent against us by %n.

"She, herself, could not attack us due to her great size, but her minions
have harassed us ever since.  In the first attacks, many died, and the
minions of %n managed to steal %o.
They took it to %i and there, none of our
%g warriors have been able to go.

"You must find %i, and within it wrest
%o from %n.  She guards it as
jealously as she guards all treasures she attains.  But with it,
we can make our caves safe once more.

"Please, %p, recover %o for us, and return it here."]],
      },
      badalign = {
         synopsis = "[\"You no longer follow the path of the %a.  Go, and purify yourself.\"]",
         output = "text",
         text = [["%pC!  You have deviated from my teachings.  You no longer follow
the path of the %a as you should.  I banish you from these caves, to
go forth and purify yourself.  Then, you might be able to accomplish this
quest."]],
      },
      badlevel = {
         synopsis = "[\"%rA is too inexperienced.  Come back when you have progressed.\"]",
         output = "text",
         text = [["Alas, %p, you are as yet too inexperienced to embark upon such
a difficult quest as that I propose to give you.

"%rA could not possibly survive the rigors demanded to find
%i, never mind to confront %n herself.

"Adventure some more, and you will learn the skills you will require.
%d decrees it."]],
      },
      discourage = {
         "\"You are weak, %c.  No challenge for the Mother of all Dragons.\"",
         "\"I grow hungry, %r.  You look like a nice appetizer!\"",
         "\"Join me for lunch?  You're the main course, %c.\"",
         "\"With %o, I am invincible!  You cannot succeed.\"",
         "\"Your mentor, %l has failed.  You are nothing to fear.\"",
         "\"You shall die here, %c.  %rA cannot hope to defeat me.\"",
         "\"You, a mere %r challenge the might of %n?  Hah!\"",
         "\"I am the Mother of all Dragons!  You cannot hope to defeat me.\"",
         "\"My claws are sharp now.  I shall rip you to shreds!\"",
         "\"%d has deserted you, %c.  This is my domain.\"",
      },
      encourage = {
         "\"%nC is immune to her own breath weapons. You should use magic upon her that she does not use herself.\"",
         "\"When you encounter %n, call upon %d for assistance.\"",
         "\"There will be nowhere to hide inside %ns inner sanctum.\"",
         "\"Your best chance with %n will be to keep moving.\"",
         "\"Do not be distracted by the great treasures in %ns lair. Concentrate on %o.\"",
         "\"%oC is the only object that %n truly fears.\"",
         "\"Do not be fooled by %ns size.  She is fast, and it is rumored that she uses magic.\"",
         "\"I would send a party of %gP with you, but we will need all of our strength to defend ourselves.\"",
         "\"Remember, be %a at all times.  This is your strength.\"",
         "\"If only we had an amulet of reflection, this would not have happened.\"",
      },
      firsttime = {
         synopsis = "[You arrive back at %H, but something is wrong here.]",
         output = "text",
         text = [[You descend through a barely familiar stairwell that you remember
%l showing you when you embarked upon your vision quest.

You arrive back at %H, but something seems
wrong here.  The usual smoke and glowing light of the fires of the
outer caves are absent, and an uneasy quiet fills the damp air.]],
      },
      goal_first = {
         synopsis = "[You enter a large cavern.  %nC is present.]",
         output = "text",
         text = [[You find yourself in a large cavern, with neatly polished walls, that
nevertheless show signs of being scorched by fire.

Bones litter the floor, and there are objects scattered everywhere.
The air is close with the stench of sulphurous fumes.

%nC is clearly visible, but %nh seems to be asleep.]],
      },
      goal_next = {
         text = "Once again, you find yourself in the lair of %n.",
      },
      gotit = {
         synopsis = "[%oC fills you with a feeling of power.]",
         output = "text",
         text = [[As you pick up %o it seems heavy at first, but as you
hold it strength flows into your arms.

You suddenly feel full of power, as if nothing could possibly stand
in your path.]],
      },
      guardtalk_after = {
         "\"The rains have returned and the land grows lush again.\"",
         "\"Peace has returned, give thanks to %d!\"",
         "\"Welcome back!  Did you find %o?\"",
         "\"So, %p, tell us the story of your fight with %n.\"",
         "\"%lC grows old.  Perhaps you will guide us after he ascends.\"",
      },
      guardtalk_before = {
         "\"We have not been able to gather as much food since the Giants sealed off our access to the outer world.\"",
         "\"Since %n sent her minions, we have been constantly fighting.\"",
         "\"I have heard your vision quest was successful.  Is this so?\"",
         "\"So, tell me, %p, how have you fared?\"",
         "\"%lC grows old.  We know not who will guide us after he ascends.\"",
      },
      hasamulet = {
         synopsis = "[\"Take the Amulet to the altar of %d on the Astral Plane and offer it.\"]",
         output = "text",
         text = [["You have been successful, I see, %p.

"Now that the Amulet of Yendor is yours, here is what you must do:

"Journey upwards to the open air.  The Amulet you carry will then
take you into the Astral Planes, where the Great Temple of %d
casts its influence throughout our world.

"Sacrifice the Amulet on the altar.  Thus shall %d become supreme!"]],
      },
      killed_nemesis = {
         text = [[%nC sinks to the ground, her heads flailing about.
As she dies, a cloud of noxious fumes billows about her.]],
      },
      leader_first = {
         synopsis = "[\"You have returned.  We are in dire need of your help.\"]",
         output = "text",
         text = [["You have returned from your vision quest, %p.  Thank %d.

"We are in dire need of your help, my %S.

"But first, I must see if you are yet capable of the quest I would
ask you to undertake."]],
      },
      leader_last = {
         synopsis = "[\"You have betrayed the %L.  Begone!\"]",
         output = "text",
         text = [["%pC!  You have sealed our fate.  You seem unable to reform yourself,
so I must select another to take your place.

"Begone from %H!  You have betrayed us by choosing
the path of the %C over the true path of the %L.

"You no longer live in our eyes."]],
      },
      leader_next = {
         text = "\"Again, you return to us, %p.  Let me see if you are ready now.\"",
      },
      leader_other = {
         text = "\"Ah, %p.  Are you finally ready?\"",
      },
      locate_first = {
         synopsis = "[You %x many large claw marks, smell carrion, and notice bones.]",
         output = "text",
         text = [[You %x many large claw marks on the ground.  The tunnels ahead
of you are larger than most of those in any cave complex you have
ever been in before.

Your nose detects the smell of carrion from within, and bones litter
the sides of the tunnels.]],
      },
      locate_next = {
         text = "Once again, you approach %i.",
      },
      nemesis_first = {
         synopsis = "[%nC threatens to eat you.]",
         output = "text",
         text = [["So, follower of %l, you seek to invade the lair of
%n.  Only my meals are allowed down here.  Prepare
to be eaten!"]],
      },
      nemesis_next = {
         text = [["So, again you face me, %c.  No one has ever before escaped me.
Now I shall kill you."]],
      },
      nemesis_other = {
         text = "\"You are getting annoying, %c.  Prepare to die.\"",
      },
      nemesis_wantsit = {
         text = "\"I'll have %o from you, %c.  You shall die.\"",
      },
      nexttime = {
         text = "Once again, you arrive back at %H.",
      },
      offeredit = {
         synopsis = "[\"Take %o with you.  It will help in your quest for the Amulet of Yendor.\"]",
         output = "text",
         text = [[%lC glimpses %o in your possession.
He smiles and says:

    You have done it!  We are saved.  But I fear that %o
    will always be a target for %C forces who will want it for their
    own.

    To prevent further trouble, I would like you, %p,
    to take %o away with you.  It will help you as you
    quest for the Amulet of Yendor.]],
      },
      offeredit2 = {
         synopsis = "[\"You are the keeper of %o now.  Return to %Z to search for the Amulet.]",
         output = "text",
         text = [[%l grasps %o proudly for a moment, then looks at you.

"You are its keeper now, and the time has come to resume your search
for the Amulet.  %Z await your return through the
magic portal which brought you here."]],
      },
      othertime = {
         text = [[For some reason, you think that this may be the last time you will
enter %H.]],
      },
      posthanks = {
         text = [["%pC!  Welcome back.
How goes your quest to recover the Amulet for %d?"]],
      },
   },
   Hea = {
      assignquest = {
         synopsis = "[Travel to %i on your way to recover %o from %n.]",
         output = "text",
         text = [[For the first time, you sense a smile on %ls face.

    "You have indeed learned as much as we can teach you in preparation
    for this task.  Let me tell you what I know of the symptoms and hope
    that you can provide a cure.

    "A short while ago, the dreaded %nt was fooled by the gods
    into thinking that %nh could use %o to find a
    cure for old age.  Think of it, eternal youth!  But %nj good
    health is accomplished by drawing the health from those around %ni.

    "He has exhausted %nj own supply of healthy people and now %nh seeks to
    extend %nj influence into our world.  You must recover from %ni
    %o and break the spell.

    "You must travel into the swamps to %i, and from there
    follow the trail to %ns island lair.  Be careful."]],
      },
      badalign = {
         synopsis = "[Return when you are more %a.]",
         output = "text",
         text = [["You have learned much of the remedies that benefit, but you must also
know which physic for which ail.  That is why %ds teachings are a
part of your training.

"Return to us when you have healed thyself."]],
      },
      badlevel = {
         synopsis = "[You are too inexperienced.  Return when you are %Ra.]",
         output = "text",
         text = [["Alas, %p, you are yet too inexperienced to deal with the rigors
of such a task.  You must be able to draw on the knowledge of botany,
alchemy and veterinary practices before I can send you on this quest 
with good conscience.

"Return when you wear %Ra's caduceus."]],
      },
      discourage = {
         "\"They might as well give scalpels to wizards as to let you try to use %o!\"",
         "\"If I could strike %l, surrounded by %lj %gP, imagine what I can do to you here by yourself.\"",
         "\"I will put my %Rp to work making a physic out of your ashes.\"",
         "\"As we speak, Hades gathers your patients to join you.\"",
         "\"After I'm done with you, I'll destroy %l as well.\"",
         "\"You will have to kill me if you ever hope to leave this place.\"",
         "\"I will impale your head on my caduceus for all to see.\"",
         "\"There is no materia medica in your sack which will cure you of me!\"",
         "\"Do not fight too hard, I want your soul strong, not weakened!\"",
         "\"You should have stopped studying at veterinary.\"",
      },
      encourage = {
         "\"Remember, %p, to always wash your hands before operating.\"",
         "\"%nC has no real magic of %nj own.  To this %nh is vulnerable.\"",
         "\"If you have been true to %d, you can draw on the power of %o.\"",
         "\"Bring with you antidotes for poisons.\"",
         "\"Remember this, %n can twist the powers of %o to hurt instead of heal.\"",
         "\"I have sent for Chiron, but I am afraid he will come too late.\"",
         "\"Maybe when you return the snakes will once again begin to shed.\"",
         "\"The plague grows worse as we speak.  Hurry, %p!\"",
         "\"Many times %n has caused trouble in these lands.  It is time that %nh was eradicated like the diseases %nh has caused.\"",
         "\"With but one eye, %n should be easy to blind.  Remember this.\"",
      },
      firsttime = {
         synopsis = "[You arrive back at %H and must find %l.]",
         output = "text",
         text = [[What sorcery has brought you back to %H?  The smell
of fresh funeral pyres tells you that something is amiss with the healing
powers that used to practice here.

No rhizotomists are tending the materia medica gardens, and where are the
common folk who used to come for the cures?

You know that you must quickly make your way to the collegium, and
%ls iatreion, and find out what has happened in your absence.]],
      },
      goal_first = {
         synopsis = "[You have reached the lair of %n.  Take %o away from %ni.]",
         output = "text",
         text = [[You stand within sight of the infamous Isle of %n.  Even
the words of %l had not prepared you for this.

Steeling yourself against the wails of the ill that pierce your ears,
you hurry on your task.  Maybe with %o you can
heal them on your return, but not now.]],
      },
      goal_next = {
         text = "Once again, you %x the Isle of %n in the distance.",
      },
      gotit = {
         synopsis = "[You feel the healing power of %o and should return it to %l.]",
         output = "text",
         text = [[As you pick up %o, you feel its healing begin to
warm your soul.  You curse Zeus for taking it from its rightful owner,
but at least you hope that %l can put it to good use once
again.]],
      },
      guardtalk_after = {
         "\"Did you read that new treatise on the therapeutic use of leeches?\"",
         "\"Paint a red caduceus on your shield and monsters won't hit you.\"",
         "\"How are you feeling?  Perhaps a good bleeding will improve your spirits.\"",
         "\"Have you heard the absurd new theory that diseases are caused by microscopic organisms, and not ill humors?\"",
         "\"I see that you bring %o, now you can cure this plague!\"",
      },
      guardtalk_before = {
         "\"Did you read that new treatise on the therapeutic use of leeches?\"",
         "\"Paint a red caduceus on your shield and monsters won't hit you.\"",
         "\"I passed handwriting so they are demoting me a rank.\"",
         "\"I've heard that even %l has not been able to cure Chiron.\"",
         "\"We think %n has used %nj alchemists, and %o, to unleash a new disease we call 'the cold' on Gehennom.\"",
      },
      hasamulet = {
         synopsis = "[\"You have recovered the Amulet.  Travel to the Astral Plane and return it to %d.\"]",
         output = "text",
         text = [["Ah, you have recovered the Amulet, %p.  Well done!

"Now, you should know that you must travel through the Elemental Planes
to the Astral, and there return the Amulet to %d.  Go forth and
may our prayers be as a wind upon your back."]],
      },
      killed_nemesis = {
         synopsis = "[%nC curses you as %nh dies.]",
         output = "text",
         text = [[The battered body of %n slumps to the ground and gasps
out one last curse:

    "You have defeated me, %p, but I shall have my revenge.
    How, I shall not say, but this curse shall be like a cancer
    on you."

With that %n dies.]],
      },
      leader_first = {
         synopsis = "[%l is weak from the struggle with %n.  %lH wants to examine you.]",
         output = "text",
         text = [[Feebly, %l raises %lj head to look at you.

"It is good to see you again, %p.  I see the concern in your
eyes, but do not worry for me.  I am not ready for Hades yet.  We have
exhausted much of our healing powers holding off %n.
I need your fresh strength to carry on our work.

"Come closer and let me lay hands on you, and determine if you have
the skills necessary to accomplish this mission."]],
      },
      leader_last = {
         synopsis = "[You are a failure as a healer.]",
         output = "text",
         text = [["You have failed us, %p.  You are a quack!  A charlatan!

"Hades will be happy to hear that you are once again practicing your
arts on the unsuspecting."]],
      },
      leader_next = {
         text = [["Again you return to me, %p.  I sense that each trip back
the pleurisy and maladies of our land begin to infect you.  Let us
hope and pray to %d that you become ready for your task before
you fall victim to the bad humors."]],
      },
      leader_other = {
         text = [["Chiron has fallen, Hermes has fallen, what else must I tell you to
impress upon you the importance of your mission!  I hope that you
have come prepared this time."]],
      },
      locate_first = {
         synopsis = "[You have reached %i but all is not well.]",
         output = "text",
         text = [[You stand before the entrance to %i.  Strange
scratching noises come from within the building.

The swampy ground around you seems to stink with disease.]],
      },
      locate_next = {
         text = "Once again you stand at the entrance to %i.",
      },
      nemesis_first = {
         synopsis = "[\"I will take your life, then defeat %l.\"]",
         output = "text",
         text = [["They have made a mistake in sending you, %p.

"When I add your youth to mine, it will just make it easier for me
to defeat %l."]],
      },
      nemesis_next = {
         text = "\"Unlike your patients, you seem to keep coming back, %p!\"",
      },
      nemesis_other = {
         text = "\"Which would you like, %p?  Boils, pleurisy, convulsions?\"",
      },
      nemesis_wantsit = {
         text = [["I'll have %o back from you, %r.  You are
not going to live to escape this place."]],
      },
      nexttime = {
         text = [[After your last experience you expected to be here, but you certainly
did not expect to see things so much worse.  This time you must succeed.]],
      },
      offeredit = {
         synopsis = "[%l touches %o and tells %lj %gP to do so too, then tells you to take it with you.]",
         output = "text",
         text = [[As soon as %l sees %o %lh summons %lj
%gP.

Gently, %l reaches out and touches %o.
He instructs each of the assembled to do the same.  When everyone
has finished %lh speaks to you.

    "Now that we have been replenished we can defeat this plague.  You must
    take %o with you and replenish the worlds you have
    been called upon to travel next.  I wish you could ride Chiron to the
    end of your journey, but I need him to help me spread the cure.  Go
    now and continue your journey."]],
      },
      offeredit2 = {
         synopsis = "[%l tells you to keep %o and return to %Z to search for the Amulet.]",
         output = "text",
         text = [[%l cautiously handles %o while watching you.

"You are its keeper now, and the time has come to resume your search
for the Amulet.  %Z await your return through the
magic portal which brought you here."]],
      },
      othertime = {
         text = [[Again, you %x %H in the distance.

The smell of death and disease permeates the air.  You do not have
to be %Ra to know that %n is on the verge of victory.]],
      },
      posthanks = {
         text = [["You have again returned to us, %p.  We have done well in your
absence, yes?  How fare you upon your quest for the Amulet?"]],
      },
   },
   Kni = {
      assignquest = {
         synopsis = "[Pass through %i to reach %n.  Destroy %ni and return with %o.]",
         output = "text",
         text = [["Ah, %p.  Thou art truly ready, as no %c before thee hath
been.  Hear now Our words:

"As thou noticed as thou approached %H, a great battle hath
been fought recently in these fields.  Know thou that Merlin himself
came to aid Us here as We battled the foul %n.  In the midst of that
battle, %n struck Merlin a great blow, felling him.  Then, as Our
forces were pressed back, %n stole %o.

"We eventually turned the tide, but lost many %cP in doing so.
Merlin was taken off by his apprentice, but hath not recovered.  We have
been told that so long as %n possesseth %o,
Merlin will not regain his health.

"We hereby charge thee with this most important of duties:

"Go forth from this place, to the fens, and there thou wilt find
%i.  From there, thou must track down %n.  Destroy the
beast, and return to Us %o.  Only then can
We restore Merlin to health."]],
      },
      badalign = {
         synopsis = "[Go and do penance.  Return when you are truly %a.]",
         output = "text",
         text = [["Thou dishonourest Us, %p!  Thou hast strayed from the path of
chivalry! Go from Our presence and do penance.  Only when thou art again
pure mayst thou return hence."]],
      },
      badlevel = {
         synopsis = "[You are not prepared to face %n.  Return when you are %Ra.]",
         output = "text",
         text = [["Verily, %p, thou hast done well.  That thou hast survived thus
far is a credit to thy valor, but thou art yet unprepared for
the demands required as Our Champion.  %rA, no matter how
pure, could never hope to defeat the foul %n.

"Journey forth from this place, and hone thy skills.  Return to
Our presence when thou hast attained the noble title of %R."]],
      },
      discourage = {
         "\"A mere %r can never withstand me!\"",
         "\"I shall kill thee now, and feast!\"",
         "\"Puny %c.  What manner of death dost thou wish?\"",
         "\"First thee, %p, then I shall feast upon %l.\"",
         "\"Hah!  Thou hast failed, %r.  Now thou shalt die.\"",
         "\"Die, %c.  Thou art as nothing against my might.\"",
         "\"I shall suck the marrow from thy bones, %c.\"",
         "\"Let's see...  Baked?  No.  Fried?  Nay.  Broiled?  Yea verily, that is the way I like my %c for dinner.\"",
         "\"Thy strength waneth, %p.  The time of thy death draweth near.\"",
         "\"Call upon thy precious %d, %p.  It shall not avail thee.\"",
      },
      encourage = {
         "\"Remember, %p, follow always the path of %d.\"",
         "\"Though %n is verily a mighty foe, We have confidence in thy victory.\"",
         "\"Beware, for %n hath surrounded %niself with hordes of foul creatures.\"",
         "\"Great treasure, 'tis said, is hoarded in the lair of %n.\"",
         "\"If thou possessest %o, %p, %ns magic shall therewith be thwarted.\"",
         "\"The gates of %i are guarded by forces unseen, %p. Go carefully.\"",
         "\"Return %o to Us quickly, %p.\"",
         "\"Destroy %n, %p, else %H shall surely fall.\"",
         "\"Call upon %d when thou art in need.\"",
         "\"To find %i, thou must keep thy heart pure.\"",
      },
      firsttime = {
         synopsis = "[Signs of battle include long gouges in the walls of %H.]",
         output = "text",
         text = [[You materialize in the shadows of %H.  Immediately, you notice
that something is wrong.  The fields around the castle are trampled and
withered, as if some great battle has been recently fought.

Exploring further, you %x long gouges in the walls of %H.
You know of only one creature that makes those kinds of marks...]],
      },
      goal_first = {
         synopsis = "[You %x the entrance to a cavern inside a hill.]",
         output = "text",
         text = [[As you exit the swamps, you %x before you a huge, gaping hole in the
side of a hill.  From within, you smell the foul stench of carrion.

The pools on either side of the entrance are fouled with blood, and
pieces of rusted metal and broken weapons show above the surface.]],
      },
      goal_next = {
         text = "Again, you stand at the entrance to %ns lair.",
      },
      gotit = {
         synopsis = "[You feel the magic of %o.]",
         output = "text",
         text = [[As you pick up %o, you feel its protective fields
form around your body.  You also feel a faint stirring in your mind, as
if you are in two places at once, and in the second, you are waking from
a long sleep.]],
      },
      guardtalk_after = {
         "\"Hail, %p!  Verily, thou lookest well.\"",
         "\"So, %p, didst thou find %n in the fens near %i?\"",
         "\"Worthy %p, hast thou proven thy right purpose on the body of %n?\"",
         "\"Verily, %l could have no better champion, %p.\"",
         "\"Hast thou indeed recovered %o?\"",
      },
      guardtalk_before = {
         "\"Hail, %p!  Verily, thou lookest well.\"",
         "\"There is word, %p, that %n hath been sighted in the fens near %i.\"",
         "\"Thou art our only hope now, %p.\"",
         "\"Verily, %l could have no better champion, %p.\"",
         "\"Many brave %cP died when %n attacked.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to the Astral Plane and deliver it to %d.]",
         output = "text",
         text = [["Thou hast succeeded, We see, %p!  Now thou art commanded to take
the Amulet to be sacrificed to %d in the Plane of the Astral.

"Merlin hath counseled Us that thou must travel always upwards through
the Planes of the Elements, to achieve this goal.

"Go with %d, %p."]],
      },
      killed_nemesis = {
         synopsis = "[%nC curses you as %nh dies.]",
         output = "text",
         text = [[As %n sinks to the ground, blood gushing from %nj open mouth, %nh
defiantly curses you and %l:

    "Thou hast not won yet, %r.  By the gods, I shall return
    and dog thy steps to the grave!"

%nJ tail flailing madly, %n tries to crawl towards you, but slumps
to the ground and dies in a pool of %nj own blood.]],
      },
      leader_first = {
         synopsis = "[%lC checks whether you are ready for a great undertaking.]",
         output = "text",
         text = [["Ah, %p.  We see thou hast received Our summons.
We are in dire need of thy prowess.  But first, We must needs
decide if thou art ready for this great undertaking."]],
      },
      leader_last = {
         synopsis = "[You are a disgrace as %ca.]",
         output = "text",
         text = [["Thou disgracest this noble court with thine impure presence.  We have been
lenient with thee, but no more.  Thy name shall be spoken no more.  We
hereby strip thee of thy title, thy lands, and thy standing as %ca.
Begone from Our sight!"]],
      },
      leader_next = {
         text = "\"Welcome again, %p.  We hope thou art ready now.\"",
      },
      leader_other = {
         text = "\"Once again, thou standest before Us, %p.  Art thou ready now?\"",
      },
      locate_first = {
         synopsis = "[You have reached %i and can %x a shrine.]",
         output = "text",
         text = [[You stand at the foot of %i.  Atop, you can %x a shrine.
Strange energies seem to be focused here, and the hair on the back of
your neck stands on end.]],
      },
      locate_next = {
         text = "Again, you stand at the foot of %i.",
      },
      nemesis_first = {
         synopsis = "[%nC taunts you and issues a threat against %H.]",
         output = "text",
         text = [["Hah!  Another puny %c seeks death.  I shall dine well tonight,
then tomorrow, %H shall fall!"]],
      },
      nemesis_next = {
         text = "\"Again, thou challengest me, %r?  So be it.  Thou wilt die here.\"",
      },
      nemesis_other = {
         text = "\"Thou art truly foolish, %r.  I shall dispatch thee anon.\"",
      },
      nemesis_wantsit = {
         text = [["So, thou darest touch MY property!  I shall have that bauble back,
puny %r.  Thou wilt die in agony!"]],
      },
      nexttime = {
         text = "Once again you stand in the shadows of %H.",
      },
      offeredit = {
         synopsis = "[%oC is yours now.  It will aid in your search for the Amulet.]",
         output = "text",
         text = [[As you approach %l, %lh beams at you and says:

    "Well done!  Thou art truly the Champion of %H.  We
    have received word that Merlin is recovering, and shall soon
    rejoin Us.

    "He hath instructed Us that thou art now to be the guardian of
    %o.  He feeleth that thou mayst have need of
    its powers in thine adventures.  It is Our wish that thou keepest
    %o with thee as thou searchest for the fabled
    Amulet of Yendor."]],
      },
      offeredit2 = {
         synopsis = "[You are the keeper of %o.  Return to %Z and find the Amulet.]",
         output = "text",
         text = [["Careful, %p!  %oC might break, and that would
be a tragic loss.  Thou art its keeper now, and the time hath come
to resume thy search for the Amulet.  %Z await thy
return through the magic portal that brought thee here."]],
      },
      othertime = {
         text = [[Again, you stand before %H.  You vaguely sense that this
may be the last time you stand before %l.]],
      },
      posthanks = {
         text = "\"Well met, %p.  How goeth thy search for the Amulet of Yendor?\"",
      },
   },
   Mon = {
      assignquest = {
         synopsis = "[Find %i, then continue to %ns lair.  Defeat %ni and return with %o.]",
         output = "text",
         text = [["Yes, %p.  You are truly ready now.  Attend to me and I shall
tell you of what has transpired:

"During one of the Great Meditations a short time ago, %n and
a legion of elementals invaded %H.  Many %gP
were killed, including the one bearing %o.

Now, there are barely enough %gP left to keep the elementals
at bay.

"We need you to find %i, then, from there,
travel to %ns lair.  If you can manage to defeat %n and
return %o here, we can then drive off the legions
of elementals that slay our students.

"Go with %d as your guide, %p."]],
      },
      badalign = {
         synopsis = "[You must atone.  Come back when you are worthy of %d.]",
         output = "text",
         text = [["This is terrible, %p.  You have deviated from the true path!
You know that %d requires the most strident devotion of this
order.  The %shood must stand for utmost piety.

"Go from here, atone for your sins against %d.  Return only when
you have purified yourself."]],
      },
      badlevel = {
         synopsis = "[You are not ready to face %n.  Come back when you are %Ra.]",
         output = "text",
         text = [["Alas, %p, it is not yet to be.  A mere %r could never
withstand the might of %n.  Go forth, again into the world, and
return when you have attained the post of %R."]],
      },
      discourage = {
         "\"Submit to my will, %c, and I shall spare you.\"",
         "\"Your puny powers are no match for me, %c.\"",
         "\"I shall have you turned into a zombie for my pleasure!\"",
         "\"Despair now, %r.  %d cannot help you.\"",
         "\"I shall feast upon your soul for many days, %c.\"",
         "\"Your death will be slow and painful.  That I promise!\"",
         "\"You cannot defeat %n, you fool.  I shall kill you now.\"",
         "\"Your precious %lt will be my next victim.\"",
         "\"I feel your powers failing you, %r.  You shall die now.\"",
         "\"With %o, nothing can stand in my way.\"",
      },
      encourage = {
         "\"You can prevail, if you rely on %d.\"",
         "\"Remember that %n has great magic at his command.\"",
         "\"Be pure, my %S.\"",
         "\"Beware, %i is surrounded by hordes of earth elementals.\"",
         "\"Remember your studies, and you will prevail!\"",
         "\"Acquire and wear %o if you can.  They will aid you against %n.\"",
         "\"Call upon %d when your need is greatest.  You will be answered.\"",
         "\"Remember to use the elementals' strength against them!\"",
         "\"Do not lose faith, %p.  If you do so, %n will grow stronger.\"",
         "\"Wear %o.  They will assist you in your efforts.\"",
      },
      firsttime = {
         synopsis = "[You have reached %H but something is wrong.  %lC needs your aid.]",
         output = "text",
         text = [[You find yourself standing in sight of %H.
Something is obviously wrong here.  Strange shapes lumber around
outside %H!

You realize that %l needs your assistance!]],
      },
      goal_first = {
         synopsis = "[You are surrounded by brimstone, lava, and elementals.]",
         output = "text",
         text = [[The stench of brimstone is all about you, and the elementals close in
from all sides!

Ahead, there is a small clearing amidst the bubbling pits of lava...]],
      },
      goal_next = {
         text = "Again, you have invaded %ns domain.",
      },
      gotit = {
         synopsis = "[You feel the essence of %d and realize that you should take %o to %l.]",
         output = "text",
         text = [[As you pick up %o, you feel the essence of
%d fill your soul.  You know now why %n stole %oi from
%H, for with %oi, %ca of %d could
easily defeat his plans.

You sense a message from %d.  Though not verbal, you
get the impression that you must return to %l as soon
as possible.]],
      },
      guardtalk_after = {
         "\"Greetings, honorable %r.  It is good to see you again.\"",
         "\"Ah, %p!  Our deepest gratitude for all of your help.\"",
         "\"Greetings, %s.  Perhaps you will take some time to meditate with us?\"",
         "\"With this test behind you, may %d bring you enlightenment.\"",
         "\"May %d be with you, %s.\"",
      },
      guardtalk_before = {
         "\"Greetings, honorable %r.  It is good to see you.\"",
         "\"Ah, %p!  Surely you can help us in our hour of need.\"",
         "\"Greetings, %s.  %lC has great need of your help.\"",
         "\"Alas, it seems as if even %d has deserted us.\"",
         "\"May %d be with you, %s.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to the Astral Plane and deliver it to %d.]",
         output = "text",
         text = [["You have prevailed, %p!  %d is surely with you.  Now,
you must take the Amulet, and sacrifice it on %ds altar on
the Astral Plane.  I suspect that I shall never see you again in this
life, but I hope to at %ds feet."]],
      },
      killed_nemesis = {
         synopsis = "[As %n dies, %nh threatens to return.]",
         output = "text",
         text = [[%nC gasps:

    "You have only defeated this mortal body.  Know this: my spirit
    is strong.  I shall return and reclaim what is mine!"

With that, %n expires.]],
      },
      leader_first = {
         synopsis = "[%lC checks whether you are ready for the great challenge.]",
         output = "text",
         text = [["Ah, %p, my %S.  You have returned to us at last.
A great blow has befallen our order; perhaps you can help us.
First, however, I must determine if you are prepared for this
great challenge."]],
      },
      leader_last = {
         synopsis = "[You are a heretic and have failed utterly.]",
         output = "text",
         text = [["You are a heretic, %p!  How can you, %ra, deviate so from the
teachings of %d?  Begone from this temple.  You are no longer
%sa to this order.  We will pray to %d for other assistance,
as you have failed us utterly."]],
      },
      leader_next = {
         text = "\"Again, my %S, you stand before me.  Are you ready now to help us?\"",
      },
      leader_other = {
         text = "\"Once more, %p, you stand within the sanctum.  Are you ready now?\"",
      },
      locate_first = {
         synopsis = "[You have reached %i.  %nC lurks further ahead.]",
         output = "text",
         text = [[You remember the descriptions of %i, given
to you by %l.  It is ahead that you will find
%n's trail.]],
      },
      locate_next = {
         text = "Again, you stand before %i.",
      },
      nemesis_first = {
         synopsis = "[You are no %g.  You shall never regain %o.]",
         output = "text",
         text = [["Ah, so %l has sent another %g to retrieve
%o.

"No, I see you are no %g.  Perhaps I shall have some fun today
after all.  Prepare to die, %r!  You shall never regain
%o."]],
      },
      nemesis_next = {
         text = "\"So, %r.  Again you challenge me.\"",
      },
      nemesis_other = {
         text = "\"Die now, %r.  %d has no power here to aid you.\"",
      },
      nemesis_wantsit = {
         text = "\"You shall die, %r, and I will have %o back.\"",
      },
      nexttime = {
         text = "Once again, you stand before %H.",
      },
      offeredit = {
         synopsis = "[Keep %o.  %oH will help you recover the Amulet of Yendor.]",
         output = "text",
         text = [["You have returned, %p.  And with %o, I see.
Congratulations.

"I have been in meditation, and have received direction from
a minion of %d.  %d commands that you retain
%o.  With %oi, you must recover the Amulet
of Yendor.

"Go forth, and let %d guide your steps."]],
      },
      offeredit2 = {
         synopsis = "[Keep %o and return to %Z to search for the Amulet.]",
         output = "text",
         text = [[%lC studies %o for a moment,
then returns his gaze to you.

"%oC must remain with you.  Use %oi
as you resume your search for the Amulet.
%Z await your return through the magic portal
that brought you here."]],
      },
      othertime = {
         text = [[Again you face %H.  Your intuition hints that this
may be the final time you come here.]],
      },
      posthanks = {
         text = "\"Welcome back, %p.  How is your quest for the Amulet going?\"",
      },
   },
   Pri = {
      assignquest = {
         synopsis = "[%nC invaded %H and captured %o.  Defeat %ni and retrieve %oh.]",
         output = "text",
         text = [["Yes, %p.  You are truly ready now.  Attend to me and I shall
tell you of what has transpired:

"At one of the Great Festivals a short time ago, %n and a legion
of undead invaded %H.  Many %gP were killed, including
the one carrying %o.

"As a final act of vengefulness, %n desecrated the altar here.
Without it, we could not mount a counter-attack.  Now, there are
barely enough %gP left to keep the undead at bay.

"We need you to find %i, then, from there, travel
to %ns lair.  If you can manage to defeat %n and return
%o here, we can then drive off the legions of
undead that befoul the land.

"Go with %d as your guide, %p."]],
      },
      badalign = {
         synopsis = "[You have deviated from the path.  Return when you have purified yourself.]",
         output = "text",
         text = [["This is terrible, %p.  You have deviated from the true path!
You know that %d requires the most strident devotion of this
order.  The %shood must stand for utmost piety.

"Go from here, atone for your sins against %d.  Return only when
you have purified yourself."]],
      },
      badlevel = {
         synopsis = "[%rA cannot withstand %n.  Come back when you are %Ra.]",
         output = "text",
         text = [["Alas, %p, it is not yet to be.  A mere %r could never
withstand the might of %n.  Go forth, again into the world, and return
when you have attained the post of %R."]],
      },
      discourage = {
         "\"Submit to my will, %c, and I shall spare you.\"",
         "\"Your puny powers are no match for me, %c.\"",
         "\"I shall have you turned into a zombie for my pleasure!\"",
         "\"Despair now, %r.  %d cannot help you.\"",
         "\"I shall feast upon your soul for many days, %c.\"",
         "\"Your death will be slow and painful.  That I promise!\"",
         "\"You cannot defeat %n, you fool.  I shall kill you now.\"",
         "\"Your precious %lt will be my next victim.\"",
         "\"I feel your powers failing you, %r.  You shall die now.\"",
         "\"With %o, nothing can stand in my way.\"",
      },
      encourage = {
         "\"You can prevail, if you rely on %d.\"",
         "\"Remember that %n has great magic at his command.\"",
         "\"Be pure, my %S.\"",
         "\"Beware, %i is surrounded by a great graveyard.\"",
         "\"You may be able to affect %n with magical cold.\"",
         "\"Acquire and wear %o if you can.  It will aid you against %n.\"",
         "\"Call upon %d when your need is greatest.  You will be answered.\"",
         "\"The undead legions are weakest during the daylight hours.\"",
         "\"Do not lose faith, %p.  If you do so, %n will grow stronger.\"",
         "\"Wear %o.  It will assist you against the undead.\"",
      },
      firsttime = {
         synopsis = "[You are at %H; the doors are closed.  %lC needs your help!]",
         output = "text",
         text = [[You find yourself standing in sight of %H.  Something
is obviously wrong here.  The doors to %H, which usually
stand open, are closed.  Strange human shapes shamble around
outside.

You realize that %l needs your assistance!]],
      },
      goal_first = {
         synopsis = "[The stench of brimstone surrounds you, the shrieks and moans are endless.]",
         output = "text",
         text = [[The stench of brimstone is all about you, and the shrieks and moans
of tortured souls assault your psyche.

Ahead, there is a small clearing amidst the bubbling pits of lava...]],
      },
      goal_next = {
         text = "Again, you have invaded %ns domain.",
      },
      gotit = {
         synopsis = "[You feel %d as you pick up %o; return %oh to %l.]",
         output = "text",
         text = [[As you pick up %o, you feel the essence of
%d fill your soul.  You know now why %n stole it from
%H, for with it, %ca of %d could
easily defeat his plans.

You sense a message from %d.  Though not verbal, you
get the impression that you must return to %l as soon
as possible.]],
      },
      guardtalk_after = {
         "\"Greetings, %r.  It is good to see you again.\"",
         "\"Ah, %p!  Our deepest gratitude for all of your help.\"",
         "\"Welcome back, %s!  With %o, no undead can stand against us.\"",
         "\"Praise be to %d, for delivering us from %n.\"",
         "\"May %d be with you, %s.\"",
      },
      guardtalk_before = {
         "\"Greetings, honored %r.  It is good to see you.\"",
         "\"Ah, %p!  Surely you can help us in our hour of need.\"",
         "\"Greetings, %s.  %lC has great need of your help.\"",
         "\"Alas, it seems as if even %d has deserted us.\"",
         "\"May %d be with you, %s.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to the Astral Plane and offer it on %ds altar.]",
         output = "text",
         text = [["You have prevailed, %p!  %d is surely with you.  Now,
you must take the amulet, and sacrifice it on %ds altar on
the Astral Plane.  I suspect that I shall never see you again in this
life, but I hope to at %ds feet."]],
      },
      killed_nemesis = {
         synopsis = "[%nC dies.  Moloch is aware of you and angry at %n.]",
         output = "text",
         text = [[You feel a wrenching shift in the ether as %ns body dissolves
into a cloud of noxious gas.

Suddenly, a voice booms out:

    "Thou hast defeated the least of my minions, %r.
    Know now that Moloch is aware of thy presence.
    As for thee, %n, I shall deal with thy failure
    at my leisure."

You then hear the voice of %n, screaming in terror...]],
      },
      leader_first = {
         synopsis = "[You have returned and we need your help.  Are you ready?]",
         output = "text",
         text = [["Ah, %p, my %S.  You have returned to us at last.
A great blow has befallen our order; perhaps you can help us.
First, however, I must determine if you are prepared for this
great challenge."]],
      },
      leader_last = {
         synopsis = "[You are a heretic who has deviated from the teachings of %d.]",
         output = "text",
         text = [["You are a heretic, %p!  How can you, %ra, deviate so from the
teachings of %d?  Begone from this temple.  You are no longer
%sa to this order.  We will pray to %d for other assistance,
as you have failed us utterly."]],
      },
      leader_next = {
         text = "\"Again, my %S, you stand before me.  Are you ready now to help us?\"",
      },
      leader_other = {
         text = "\"Once more, %p, you stand within the sanctum.  Are you ready now?\"",
      },
      locate_first = {
         synopsis = "[You have found %i.  The trail to %n lies ahead.]",
         output = "text",
         text = [[You stand facing a large graveyard.  The sky above is filled with clouds
that seem to get thicker closer to the center.  You sense the presence of
undead in larger numbers than you have ever encountered before.

You remember the descriptions of %i, given to you by
%l.  It is ahead that you will find %ns trail.]],
      },
      locate_next = {
         text = "Again, you stand before %i.",
      },
      nemesis_first = {
         synopsis = "[%lC has sent you, but you are no %gC.  I shall destroy you.]",
         output = "text",
         text = [["Ah, so %l has sent another %gC to retrieve
%o.

"No, I see you are no %gC.  Perhaps I shall have some fun today
after all.  Prepare to die, %r!  You shall never regain
%o."]],
      },
      nemesis_next = {
         text = "\"So, %r.  Again you challenge me.\"",
      },
      nemesis_other = {
         text = "\"Die now, %r.  %d has no power here to aid you.\"",
      },
      nemesis_wantsit = {
         text = "\"You shall die, %r, and I will have %o back.\"",
      },
      nexttime = {
         text = "Once again, you stand before %H.",
      },
      offeredit = {
         synopsis = "[Congratulations, %p.  Keep %o; go and recover the Amulet.]",
         output = "text",
         text = [["You have returned, %p.  And with %o, I see.
Congratulations.

"I have been in meditation, and have received direction from
a minion of %d.  %d commands that you retain
%o.  With it, you must recover the Amulet
of Yendor.

"Go forth, and let %d guide your steps."]],
      },
      offeredit2 = {
         synopsis = "[%oC is yours now.  Return to %Z and find the Amulet.]",
         output = "text",
         text = [[%lC reiterates that %o is yours now.

"The time has come to resume your search for the Amulet.
%Z await your return through the magic portal
that brought you here."]],
      },
      othertime = {
         text = [[Again you face %H.  Your intuition hints that this may be
the final time you come here.]],
      },
      posthanks = {
         text = "\"Welcome back, %p.  How is your quest for the Amulet going?\"",
      },
   },
   Ran = {
      assignquest = {
         synopsis = "[%nC has stolen %o.  Infiltrate %i and retrieve %oh for us.]",
         output = "text",
         text = [["You are indeed ready, %p.  I shall tell you what has transpired,
and why we so desperately need your help:

"A short time ago, the mountain centaurs to the east invaded
and enslaved the plains centaurs in this area.  The local
leader is now only a figurehead, and serves %n.

"During our last gathering of worship here, we were beset by hordes of
hostile centaurs, as you witnessed.  In the first onslaught a group,
headed by %n %niself, managed to breach the grove and steal
%o.

"Since then, we have been besieged.  We do not know how much longer
we will be able to maintain our magical barriers.

"If we are to survive, you, %p, must infiltrate
%i.  There, you will find a pathway down, to the
underground cavern of %n.  He has always coveted
%o, and will surely keep it.

"Recover %o for us, %p!  Only then will %d be safe."]],
      },
      badalign = {
         synopsis = "[You are not sufficiently %a.  Come back when you have purified yourself.]",
         output = "text",
         text = [["You have strayed, %p!  You know that %d requires that
we maintain a pure devotion to things %a!

"You must go from us.  Return when you have purified yourself."]],
      },
      badlevel = {
         synopsis = "[You are too inexperienced.  Come back when you are %Ra.]",
         output = "text",
         text = [["%p, you are yet too inexperienced to withstand the demands of that
which we need you to do.  %RA might just be able to do this thing.

"Return to us when you have learned more, my %S."]],
      },
      discourage = {
         "\"Your %d is nothing, %c.  You are mine now!\"",
         "\"Run away little %c!  You can never hope to defeat %n!\"",
         "\"My servants will rip you to shreds!\"",
         "\"I shall display your head as a trophy.  What do you think about that wall?\"",
         "\"I shall break your %ls grove, and destroy all the %gP!\"",
         "\"%d has abandoned you, %c.  You are doomed.\"",
         "\"%rA?  %lC sends a mere %r against me?  Hah!\"",
         "\"%lC has failed, %c.  %oC will never leave here.\"",
         "\"You really think you can defeat me, eh %c?  You are wrong!\"",
         "\"You weaken, %c.  I shall kill you now.\"",
      },
      encourage = {
         "\"It is rumored that the Forest and Mountain Centaurs have resolved their ancient feud and now band together against us.\"",
         "\"%nC is strong, and very smart.\"",
         "\"Use %o, when you find it.  It will help you survive to reach us.\"",
         "\"Remember, let %d be your guide.\"",
         "\"Call upon %d when you face %n. The very act of doing so will infuriate him, and give you advantage.\"",
         "\"%n and his kind have always hated us.\"",
         "\"We cannot hold the grove much longer, %p.  Hurry!\"",
         "\"To infiltrate %i, you must be very stealthy.\"",
         "\"Remember that %n is a braggart.  Trust not what he says.\"",
         "\"You can triumph, %p, if you trust in %d.\"",
      },
      firsttime = {
         synopsis = "[The ancient forest grove is surrounded by centaurs.]",
         output = "text",
         text = [[You arrive in familiar surroundings.  In the distance, you %x the
ancient forest grove, the place of worship to %d.

Something is wrong, though.  Surrounding the grove are centaurs!
And they've noticed you!]],
      },
      goal_first = {
         synopsis = "[You descend into a subterranean complex.  Hooves clatter in the distance.]",
         output = "text",
         text = [[You descend into a weird place, in which roughly cut cave-like walls
join with smooth, finished ones, as if someone was in the midst of
finishing off the construction of a subterranean complex.

Off in the distance, you hear a sound like the clattering of many
hooves on rock.]],
      },
      goal_next = {
         text = "Once again, you enter the distorted castle of %n.",
      },
      gotit = {
         synopsis = "[You pick up %o and feel power.  It's time to return %oh to %l.]",
         output = "text",
         text = [[As you pick up %o, it seems to glow, and a warmth
fills you completely.  You realize that its power is what has protected
your %sp against their enemies for so long.

You must now return it to %l without delay -- their lives depend
on your speed.]],
      },
      guardtalk_after = {
         "\"%pC!  I have not seen you in many moons.  How do you fare?\"",
         "\"Birdsong has returned to the grove, surely this means you have defeated %n.\"",
         "\"%lC seems to have regained some of his strength.\"",
         "\"So, tell us how you entered %i, in case some new evil arises there.\"",
         "\"Is that truly %o that I see you carrying?\"",
      },
      guardtalk_before = {
         "\"%pC!  I have not seen you in many moons.  How do you fare?\"",
         "\"%nC continues to threaten the grove.  But we hold fast.\"",
         "\"%lC is growing weak.  The magic required to defend the grove drains us.\"",
         "\"Remember %i is hard to enter.  Beware the distraction of leatherwings.\"",
         "\"We must regain %o.  Without it we will be overrun.\"",
      },
      hasamulet = {
         synopsis = "[You have the Amulet!  Take it to the Astral Plane and offer it to %d.]",
         output = "text",
         text = [["You have it!  You have recovered the Amulet of Yendor!
Now attend to me, %p, and I will tell you what must be done:

"The Amulet has within it magic, the capability to transport you to
the Astral Plane, where the primary circle of %d resides.

"To activate this magic, you must travel upwards as far as you can.
When you reach the temple, sacrifice the Amulet to %d.

"Thus will you fulfill your destiny."]],
      },
      killed_nemesis = {
         synopsis = "[%nC curses you as %nh dies.]",
         output = "text",
         text = [[%nC collapses to the ground, cursing you and %l, then says:

    "You have defeated me, %r!  But I curse you one final time, with
    my dying breath!  You shall die before you leave my castle!"]],
      },
      leader_first = {
         synopsis = "[You have returned, %p.  We need your help.  Are you ready?]",
         output = "text",
         text = [["%pC!  You have returned!  Thank %d.

"We have great need of you.  But first, I must see if you have the
required abilities to take on this responsibility."]],
      },
      leader_last = {
         synopsis = "[You are not sufficiently %a.  We renounce your %shood.]",
         output = "text",
         text = [["%pC!  You have doomed us all.  You fairly radiate %L influences
and weaken the power we have raised in this grove as a result!

"Begone!  We renounce your %shood with us!  You are an outcast now!"]],
      },
      leader_next = {
         text = "\"Once again, %p, you stand in our midst.  Are you ready now?\"",
      },
      leader_other = {
         text = "\"Ah, you are here again, %p.  Allow me to determine your readiness...\"",
      },
      locate_first = {
         synopsis = "[This is %i.  There are bats nearby.  Beware the wumpus!]",
         output = "text",
         text = [[This must be %i.

You are in a cave built of many different rooms, all interconnected
by tunnels.  Your quest is to find and shoot the evil wumpus that
resides elsewhere in the cave without running into any bottomless
pits or using up your limited supply of arrows.  Good luck.

You are in room 9 of the cave.  There are tunnels to rooms
5, 8, and 10.
*rustle* *rustle* (must be bats nearby.)
*sniff* (I can smell the evil wumpus nearby!)]],
      },
      locate_next = {
         synopsis = "[You are in %i.  There are pits.  There are bats nearby.]",
         output = "text",
         text = [[Once again, you descend into %i.

*whoosh* (I feel a draft from some pits.)
*rustle* *rustle* (must be bats nearby.)]],
      },
      nemesis_first = {
         synopsis = "[You have come to recover %o, but I shall keep %oh and you shall die.]",
         output = "text",
         text = [["So, %c.  %lC has sent you to recover %o.

"Well, I shall keep that bauble.  It pleases me.  You, %c, shall die."]],
      },
      nemesis_next = {
         text = "\"Back again, eh?  Well, a mere %r is no threat to me!  Die, %c!\"",
      },
      nemesis_other = {
         text = "\"You haven't learned your lesson, %c.  You can't kill me!  You shall die now.\"",
      },
      nemesis_wantsit = {
         text = [["I shall have %o from you, %r.  Then I shall
kill you."]],
      },
      nexttime = {
         text = "Once again, you stand before %H.",
      },
      offeredit = {
         synopsis = "[You have succeeded.  Take %o with you as you go to find the Amulet.]",
         output = "text",
         text = [["%pC!  You have succeeded!  I feared it was not possible!

"You have returned with %o!

"I fear, now, that the Centaurs will regroup and plot yet another raid.
This will take some time, but if you can recover the Amulet of Yendor
for %d before that happens, we will be eternally safe.

"Take %o with you.  It will aid in your quest for
the Amulet."]],
      },
      offeredit2 = {
         synopsis = "[You are the keeper of %o now.  Go and find the Amulet.]",
         output = "text",
         text = [[%l flexes %o reverently.

"With this wondrous bow, one need never run out of arrows.
You are its keeper now, and the time has come to resume your
search for the Amulet.  %Z await your return
through the magic portal that brought you here."]],
      },
      othertime = {
         text = [[You have the oddest feeling that this may be the last time you
are to enter %H.]],
      },
      posthanks = {
         text = [["Welcome, %p.  How have you fared on your quest for the Amulet
of Yendor?"]],
      },
   },
   Rog = {
      assignquest = {
         synopsis = "[Get %o from %n and bring it to %l.]",
         output = "text",
         text = [["Will everyone not going to retrieve %o from that
jerk, %n, take one step backwards.  Good choice,
%p, because I was going to send you anyway.  My other %gp
are too valuable to me.

"Here's the deal.  I want %o, %n
has %o.  You are going to get %o
and bring it back to me.  So simple an assignment even you can understand
it."]],
      },
      badalign = {
         synopsis = "[Come back when you are really %a.]",
         output = "text",
         text = [["Maybe I should chain you to my perch here for a while.  Perhaps watching
real %a men at work will bring some sense back to you.  I don't
think I could stand the sight of you for that long though.  Come back
when you can be trusted to act properly."]],
      },
      badlevel = {
         synopsis = "[%rA is not adequately trained to handle this job.]",
         output = "text",
         text = [["In the time that you've been gone you've only been able to master the
arts of %ra?  I've trained ten times again as many %Rp
in that time.  Maybe I should send one of them, no?  Where would that
leave you, %p?  Oh yeah, I remember, I was going to kill you!"]],
      },
      discourage = {
         "\"May I suggest a compromise.  Are you interested in gold or gems?\"",
         "\"Please don't force me to kill you.\"",
         "\"Grim times are upon us all.  Will you not see reason?\"",
         "\"I knew %l, and you're no %lt, thankfully.\"",
         "\"It is a shame that we are not meeting under more pleasant circumstances.\"",
         "\"I was once like you are now, %p.  Believe in me -- our way is better.\"",
         "\"Stay with me, and I will make you %os guardian.\"",
         "\"When you return, with or without %o, %l will have you killed.\"",
         "\"Do not be fooled; I am prepared to kill to defend %o.\"",
         "\"I can reunite you with the Twain.  Oh, the stories you can swap.\"",
      },
      encourage = {
         "\"You don't seem to understand, %o isn't here so neither should you be!\"",
         "\"May %d curse you with lead fingers.  Get going!\"",
         "\"We don't have all year.  GET GOING!\"",
         "\"How would you like a scar necklace?  I'm just the jeweler to do it!\"",
         "\"Lazy S.O.B.  Maybe I should call up someone else...\"",
         "\"Maybe I should open your skull and see if my instructions are inside?\"",
         "\"This is not a task you can complete in the afterlife, you know.\"",
         "\"Inside every living person is a dead person trying to get out, and I have your key!\"",
         "\"We're almost out of hell-hound chow, so why don't you just get moving!\"",
         "\"You know, %o isn't going to come when you whistle.  You must get it yourself.\"",
      },
      firsttime = {
         synopsis = "[You are in Ransmannsby, where you trained.  Find %l.]",
         output = "text",
         text = [[Unexpectedly, you find yourself back in Ransmannsby, where you trained to
be a thief.  Quickly you make the guild sign, hoping that you AND word
of your arrival reach %ls den.]],
      },
      goal_first = {
         synopsis = "[You sense %o.]",
         output = "text",
         text = [[You feel a great swelling up of courage, sensing the presence of
%o.  Or is it fear?]],
      },
      goal_next = {
         text = "The hairs on the back of your neck whisper -- it's fear.",
      },
      gotit = {
         synopsis = "[You pick up %o and know that %l should not have it.]",
         output = "text",
         text = [[As you pick up %o, the hairs on the back of your
neck fall out.  At once you realize why %n was
willing to die to keep it out of %ls hands.  Somehow
you know that you must do likewise.]],
      },
      guardtalk_after = {
         "\"I was sure wrong about Lady Tyvefelle's house; I barely got away with my life and lost my lock pick in the process.\"",
         "\"You're back?  Even the Twain don't come back anymore.\"",
         "\"Can you spare an old cutpurse a zorkmid for some grog?\"",
         "\"Fritz tried to join the other side, and now he's hell-hound chow.\"",
         "\"Be careful what you steal, I hear the boss has perfected turning rocks into worthless pieces of glass.\"",
      },
      guardtalk_before = {
         "\"I hear that Lady Tyvefelle's household is lightly guarded.\"",
         "\"You're back?  Even the Twain don't come back anymore.\"",
         "\"Can you spare an old cutpurse a zorkmid for some grog?\"",
         "\"Fritz tried to join the other side, and now he's hell-hound chow.\"",
         "\"Be careful what you steal, I hear the boss has perfected turning rocks into worthless pieces of glass.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to the Astral Plane and find %ds temple.]",
         output = "text",
         text = [["I see that with your abilities, and my brains, we could rule this world.

"All that we would need to be all-powerful is for you to take that little
trinket you've got there up to the Astral Plane.  From there, %d will
show you what to do with it.  Once that's done, we will be invincible!"]],
      },
      killed_nemesis = {
         synopsis = "[Before dying, %n tells you to use the %o wisely.]",
         output = "text",
         text = [["I know what you are thinking, %p.  It is not too late for you
to use %o wisely.  For the sake of your guild
%sp, do what is right."

You sit and wait for death to come for %n, and then you
brace yourself for your next meeting with %l!]],
      },
      leader_first = {
         synopsis = "[You owe back dues to your guild.  You can pay them off if you're up to the job.]",
         output = "text",
         text = [["Well, look who it is boys -- %p has come home.  You seem to have
fallen behind in your dues.  I should kill you as an example to these
other worthless cutpurses, but I have a better plan.  If you are ready
maybe you could work off your back dues by performing a little job for
me.  Let us just see if you are ready..."]],
      },
      leader_last = {
         synopsis = "[You must go.]",
         output = "text",
         text = [["Well %gp, it looks like our friend has forgotten who is the boss
around here.  Our friend seems to think that %rp have been put in
charge.  Wrong.  DEAD WRONG!"

Your sudden shift in surroundings prevents you from hearing the end
of %ls curse.]],
      },
      leader_next = {
         synopsis = "[Are you stupid or are you ready?]",
         output = "text",
         text = [["Well, I didn't expect to see you back.  It shows that you are either stupid,
or you are finally ready to accept my offer.  Let us hope for your sake it
isn't stupidity that brings you back."]],
      },
      leader_other = {
         text = [["Did you perhaps mistake me for some other %lt?  You must
think me as stupid as your behavior.  I warn you not to try my patience."]],
      },
      locate_first = {
         text = "Those damn little hairs tell you that you are nearer to %o.",
      },
      locate_next = {
         text = "Not wanting to face %l without having stolen %o, you continue.",
      },
      nemesis_first = {
         text = "\"Ah!  You must be %ls ... er, `hero'.  A pleasure to meet you.\"",
      },
      nemesis_next = {
         text = "\"We meet again.  Please reconsider your actions.\"",
      },
      nemesis_other = {
         synopsis = "[You cannot trust %l.]",
         output = "text",
         text = [["Surely, %p, you have learned that you cannot trust any bargains
that %l has made.  I can show you how to continue on
your quest without having to run into him again."]],
      },
      nemesis_wantsit = {
         synopsis = "[%lC should not have %o.]",
         output = "text",
         text = [["Please, think for a moment about what you are doing.  Do you truly
believe that %d would want %l to have
%o?"]],
      },
      nexttime = {
         text = [[Once again, you find yourself back in Ransmannsby.  Fond memories are
replaced by fear, knowing that %l is waiting for you.]],
      },
      offeredit = {
         synopsis = "[Take %o with you and go.]",
         output = "text",
         text = [["Well, I'll be damned.  You got it.  I am proud of you, a fine %r
you've turned out to be.

"While you were gone I got to thinking, you and %o
together could bring me more treasure than either of you apart, so why don't
you take it with you.  All I ask is a cut of whatever loot you come by.
That is a better deal than I offered %n.

"But, you see what happened to %n when he refused.
Don't make me find another to send after you this time."]],
      },
      offeredit2 = {
         synopsis = "[Take %o and acquire the Amulet.]",
         output = "text",
         text = [[%lC seems tempted to swap %o for
the mundane one you detect in his pocket, but noticing your alertness,
evidently chickens out.

"Go filch the Amulet before someone else beats you to it.
%Z are back the way you came, through the magic portal."]],
      },
      othertime = {
         text = [[You rub your hands through your hair, hoping that the little ones on
the back of your neck stay down, and prepare yourself for your meeting
with %l.]],
      },
      posthanks = {
         synopsis = "[How about trading %o for something?]",
         output = "text",
         text = [["Quite the little thief, aren't we, %p.  Can I interest you in a
swap for %o?  Look around, anything in the keep
is yours for the asking."]],
      },
   },
   Sam = {
      assignquest = {
         synopsis = "[You must enter %i, then regain %o from %n.]",
         output = "text",
         text = [["Domo %p-san, indeed you are ready.  I can now tell you what
it is that I require of you.

"The daimyo, %n, has betrayed us.  He has stolen from us
%o and taken it to his donjon deep within
%i.

"If I cannot show the emperor %o when he comes
for the festival he will know that I have failed in my duty, and
request that I commit seppuku.

"You must gain entrance to %i and retrieve the
emperor's property.  Be quick!  The emperor will be here for the
cha-no-you in 5 sticks.

"Wakarimasu ka?"]],
      },
      badalign = {
         synopsis = "[When you can think %a and act %a then return.]",
         output = "text",
         text = [["%p-san, you would do better to join the kyokaku.

"You have skills, but until you can call upon the bushido to know when and
how to use them you are not samurai.  When you can think %a and
act %a then return."]],
      },
      badlevel = {
         synopsis = "[\"I require %Ra to defeat %n.  Return when you are ready.\"]",
         output = "text",
         text = [["%p-san, you have learned well and honored your family.
I require the skills of %Ra in order to defeat %n.
Go and seek out teachers.  Learn what they have learned.  When you
are ready, return to me."]],
      },
      discourage = {
         "\"Ahh, I finally meet the daimyo of the kyokaku!\"",
         "\"There is no honor for me in your death.\"",
         "\"You know that I cannot resash my swords until they have killed.\"",
         "\"Your presence only compounds the dishonor of %l in not coming %liself.\"",
         "\"I will make tea with your hair and serve it to %l.\"",
         "\"Your fear shows in your eyes, coward!\"",
         "\"I have not heard of you, %p-san; has your life been that unworthy?\"",
         "\"If you will not obey me, you will die.\"",
         "\"Kneel now and make the two cuts of honor.  I will tell your %sp of your honorable death.\"",
         "\"Your master was a poor teacher.  You will pay for his mistakes in your teaching.\"",
      },
      encourage = {
         "\"To defeat %n you must overcome the seven emotions: hate, adoration, joy, anxiety, anger, grief, and fear.\"",
         "\"Remember your honor is my honor, you perform in my name.\"",
         "\"I will go to the temple and burn incense for your safe return.\"",
         "\"Sayonara.\"",
         "\"There can be honor in defeat, but no gain.\"",
         "\"Your kami must be strong in order to succeed.\"",
         "\"You are indeed a worthy %R, but now you must be a worthy samurai.\"",
         "\"If you fail, %n will be like a tai-fun on the land.\"",
         "\"If you are truly %a, %d will listen.\"",
         "\"Sharpen your swords and your wits for the task before you.\"",
      },
      firsttime = {
         synopsis = "[The banner of %n flies above town.  What has happened to %l?]",
         output = "text",
         text = [[Even before your senses adjust, you recognize the kami of
%H.

You %x the standard of your teki, %n, flying above
the town.  How could such a thing have happened?  Why are ninja
wandering freely; where are the samurai of your daimyo, %l?

You quickly say a prayer to Izanagi and Izanami and walk towards
town.]],
      },
      goal_alt = {
         text = "As you arrive once again at the home of %n.",
      },
      goal_first = {
         synopsis = "[You feel the taunts %n, but after offering a prayer to %d, you proceed.]",
         output = "text",
         text = [[In your mind, you hear the taunts of %n.

You become like the rice plant and bend to the ground, offering a
prayer to %d.  But when the wind has passed, you stand
proudly again.  Putting your kami in the hands of fate, you advance.]],
      },
      goal_next = {
         text = [[As you arrive once again at the home of %n, your thoughts
turn only to %o.]],
      },
      gotit = {
         synopsis = "[You feel the power of %o and are humbled.]",
         output = "text",
         text = [[As you pick up %o, you feel the strength of its karma.
You realize at once why so many good samurai had to die to defend it.
You are humbled knowing that you hold one of the artifacts of the
sun goddess.]],
      },
      guardtalk_after = {
         "\"Come, join us in celebrating with some sake.\"",
         "\"Ikaga desu ka?\"",
         "\"You have brought our clan and %l much honor.\"",
         "\"Please %r, sit for a while and tell us how you overcame the Ninja.\"",
         "\"%lC still lives!  You have saved us from becoming ronin.\"",
      },
      guardtalk_before = {
         "\"To succeed, you must walk like a butterfly on the wind.\"",
         "\"Ikaga desu ka?\"",
         "\"I fear for The Land of The Gods.\"",
         "\"%nC has hired the Ninja -- be careful.\"",
         "\"If %o is not returned, we will all be ronin.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to the Astral Plane to finish your task.]",
         output = "text",
         text = [["Ah, %p-sama.  You have wasted your efforts returning home.
Now that you are in possession of the Amulet, you are honor-bound to
finish the quest you have undertaken.  There will be plenty of time
for saki and stories when you have finished.

"Go now, and may our prayers be a wind at your back."]],
      },
      killed_nemesis = {
         synopsis = "[%nC dies without honor.]",
         output = "text",
         text = [[Your healing skills tell you that %ns wounds are mortal.

You know that the bushido tells you to finish him and let his kami
die with honor, but the thought of so many samurai dead due to this
man's dishonor prevents you from giving the final blow.

You order that his unwashed head be given to the crows and his body
thrown into the sea.]],
      },
      leader_first = {
         synopsis = "[%lC needs someone to lead %lj samurai against %n.  Are you ready?]",
         output = "text",
         text = [["Ah, %p-san, it is good to see you again.  I need someone who can
lead my samurai against %n.  If you are ready, you will be
that person."]],
      },
      leader_last = {
         synopsis = "[Leave and do not come back.]",
         output = "text",
         text = [["You are no longer my samurai, %p.

"Hara-kiri is denied.  You are ordered to shave your head and then to
become a monk.  Your fief and family are forfeit.  Wakarimasu ka?"]],
      },
      leader_next = {
         text = [["Once again, %p-san, you kneel before me.  Are you yet capable of
being my vassal?"]],
      },
      leader_other = {
         synopsis = "[Are you truly a samurai?]",
         output = "text",
         text = [["You begin to test my matsu, %p-san.
If you cannot determine what I want in a samurai, how can I rely on you
to figure out what I need from a samurai?"]],
      },
      locate_first = {
         text = [[You instinctively reach for your swords.  You do not recognize the
lay of this land, but you know that your teki are everywhere.]],
      },
      locate_next = {
         text = [[Thankful that your %sp at %H cannot see
your fear, you prepare again to advance.]],
      },
      nemesis_first = {
         text = [["Ah, so it is to be you, %p-san.  I offer you seppuku.
I will be your second if you wish."]],
      },
      nemesis_next = {
         text = [["I have offered you the honorable exit.  Now I will have your
head to send unwashed to %l."]],
      },
      nemesis_other = {
         text = "\"After I have dispatched you, I will curse your kami.\"",
      },
      nemesis_wantsit = {
         text = [["You have fought my samurai; surely you must know that you
will not be able to take %o back to
%H."]],
      },
      nexttime = {
         text = "Once again, you are back at %H.",
      },
      offeredit = {
         synopsis = "[The emperor wants you to take %o and recover the Amulet.]",
         output = "text",
         text = [[As you bow before %l, he welcomes you:

    "You have brought your family great honor, %p-sama.

    "While you have been gone the emperor's advisors have discovered in
    the ancient texts that the karma of the samurai who seeks to recover
    the Amulet and the karma of %o are joined
    as the seasons join to make a year.

    "Because you have shown such fidelity, the emperor requests
    that you take leave of other obligations and continue on the
    road that fate has set your feet upon.  I would consider it
    an honor if you would allow me to watch your household until
    you return with the Amulet."

With that, %l bows, and places his sword atop
%o.]],
      },
      offeredit2 = {
         synopsis = "[Take %o, return to %Z, and recover the Amulet.]",
         output = "text",
         text = [[%l holds %o tightly for a moment, then returns
his gaze to you.

"The time is ripe to recover the Amulet.  Return to %Z
through the magic portal that transported you here so that you may
achieve the destiny which awaits you."]],
      },
      othertime = {
         synopsis = "[%HC is threatened by %n.]",
         output = "text",
         text = [[You are back at %H.

Instantly you sense a subtle change in your karma.  You seem to know that
if you do not succeed in your quest, %n will have destroyed
the kami of %H before you return again.]],
      },
      posthanks = {
         text = "%lC bows.  \"%p-sama, tell us of your search for the Amulet.\"",
      },
   },
   Tou = {
      assignquest = {
         synopsis = "[Enter %i and recover %o from %n.]",
         output = "text",
         text = [["You have indeed proven yourself a worthy %c, %p.

"But now your kinfolk and I must ask you to put aside your travels and
help us in our time of need.  After you left us we elected a new mayor,
%n.  He proved to be a most heinous and vile creature.

"Soon after taking office he absconded with %o
and fled town, leaving behind his henchmen to rule over us.  In order
for us to regain control of our town, you must enter %i
and recover %o.

"Do not be distracted on your quest.  If you do not return quickly I fear
that all will be lost.  Let us both pray now that %d will guide you
and keep you safe."]],
      },
      badalign = {
         synopsis = "[You are not sufficiently %a.  Return when you are.]",
         output = "text",
         text = [["It would be an affront to %d to have one not true to the
%a path undertake her bidding.

"You must not return to us until you have purified yourself of these
bad influences on your actions.  Remember, only by following the %a
path can you hope to overcome the obstacles you will face."]],
      },
      badlevel = {
         synopsis = "[Return when you are %Ra.]",
         output = "text",
         text = [["There is still too much that you have to learn before you can undertake
the next step.  Return to us as a proven %R, and perhaps then
you will be ready.

"Go back now, and may the teachings of %d serve you well."]],
      },
      discourage = {
         "\"I defeated %l and I will defeat you, %p.\"",
         "\"Where is %d now!  You must realize no one can help you here.\"",
         "\"Beg for mercy now and I may be lenient on you.\"",
         "\"If you were not so %a, you might have stood a chance.\"",
         "\"Vengeance is mine at last, %p.\"",
         "\"I only wish that %l had a more worthy %r to send against me.\"",
         "\"With %o in my possession you cannot hope to defeat me.\"",
         "\"%nC has never been defeated, NEVER!\"",
         "\"Are you truly the best %H has to send against me?  I pity %l.\"",
         "\"How do you spell %p?  I want to ensure the marker on your grave is correct as a warning to your %sp.\"",
      },
      encourage = {
         "\"Do not be fooled by the false promises of %n.\"",
         "\"To enter %i you must pass many traps.\"",
         "\"If you do not return with %o, your quest will be in vain.\"",
         "\"Do not be afraid to call upon %d if you truly need help.\"",
         "\"If you do not destroy %n, he will follow you back here!\"",
         "\"Take %o from %n and you may be able to defeat him.\"",
         "\"You must hurry, %p!\"",
         "\"You are like %Sa to me, %p.  Do not let me down.\"",
         "\"If you are %a at all times you may succeed, %p.\"",
         "\"Let all who meet you on your journey know that you are on a quest for %l and grant safe passage.\"",
      },
      firsttime = {
         synopsis = "[You find yourself back at %H, but the quiet is ominous.]",
         output = "text",
         text = [[You breathe a sigh of relief as you find yourself back in the familiar
surroundings of %H.

You quickly notice that things do not appear the way they did when you
left.  The town is dark and quiet.  There are no sounds coming from
behind the town walls, and no campfires burning in the fields.  As a
matter of fact, you do not %x any movement in the fields at all, and
the crops seem as though they have been untended for many weeks.]],
      },
      goal_alt = {
         text = "You have returned to %ns lair.",
      },
      goal_first = {
         text = "You sense the presence of %o.",
      },
      goal_next = {
         text = [[You gain confidence, knowing that you may soon be united with
%o.]],
      },
      gotit = {
         synopsis = "[You pick up %o and feel relief.  Return it to %l.]",
         output = "text",
         text = [[As you pick up %o, you feel a great
weight has been lifted from your shoulders.  Your only thoughts are
to quickly return to %H and find %l.]],
      },
      guardtalk_after = {
         "\"Gehennom on 5 zorkmids a day -- more like 500 a day if you ask me.\"",
         "\"Do you know where I could find some nice postcards of The Gnomish Mines?\"",
         "\"Have you tried the weird toilets?\"",
         "\"If you stick around, I'll show you the pictures from my latest trip.\"",
         "\"Did you bring me back any souvenirs?\"",
      },
      guardtalk_before = {
         "\"Gehennom on 5 zorkmids a day -- more like 500 a day if you ask me.\"",
         "\"Do you know where I could find some nice postcards of The Gnomish Mines?\"",
         "\"Have you tried the weird toilets?\"",
         "\"Don't stay at the Inn, I hear the food is terrible and it has rats.\"",
         "\"They told me that this was the off season!\"",
      },
      hasamulet = {
         synopsis = "[You have the Amulet.  Take it to the Astral Plane to finish your task.]",
         output = "text",
         text = [["Stand back and let me look at you, %p.
Now that you have recovered the Amulet of Yendor, I'm afraid living
out your days in %H would seem pretty tame.

"You have come too far to stop now, for there are still more tasks that
our oral history foretells for you.  Forever more, though, your name shall
be spoken by the %gP with awe.  You are truly an inspiration to your
%sp!"]],
      },
      killed_nemesis = {
         synopsis = "[%nC curses at you as %nh dies.]",
         output = "text",
         text = [[You turn in the direction of %n.  As his earthly body begins
to vanish before your eyes, you hear him curse:

    "You shall never be rid of me, %p!
    I will find you where ever you go and regain what is rightly mine."]],
      },
      leader_first = {
         synopsis = "[Someone must defeat %n.  Are your ready?]",
         output = "text",
         text = [["Is it really you, %p!  I had given up hope for your return.
As you can %x, we are desperately in need of your talents.  Someone must
defeat %n if our town is to become what it once was.

"Let me see if you are ready to be that someone."]],
      },
      leader_last = {
         synopsis = "[Leave %H and never return.]",
         output = "text",
         text = [["It is too late, %p.  You are not even worthy to die amongst us.
Leave %H and never return."]],
      },
      leader_next = {
         text = "\"Things are getting worse, %p.  I hope that this time you are ready.\"",
      },
      leader_other = {
         text = "\"I hope that for the sake of %H you have prepared yourself this time.\"",
      },
      locate_first = {
         synopsis = "[You %x the handiwork of %ns henchlings.]",
         output = "text",
         text = [[Only your faith in %d keeps you from trembling.  You %x
the handiwork of %ns henchlings everywhere.]],
      },
      locate_next = {
         text = "You know that this time you must find and destroy %n.",
      },
      nemesis_first = {
         synopsis = "[%rA will not defeat me.]",
         output = "text",
         text = [["So, %p, %l thinks that you can wrest
%o from me!

"It only proves how desperate he has become that he sends %ra to
try to defeat me.  When this day is over, I will have you enslaved
in the mines where you will rue the day that you ever entered
%i."]],
      },
      nemesis_next = {
         text = [["I let you live the last time because it gave me pleasure.
This time I will destroy you, %p."]],
      },
      nemesis_other = {
         synopsis = "[Run away or you will suffer severely.]",
         output = "text",
         text = [["These meetings come to bore me.  You disturb my workings with
%o.

"If you do not run away now, I will inflict so much suffering on you that
%l will feel guilty for ever having sent his %S to me!"]],
      },
      nemesis_wantsit = {
         synopsis = "[\"Return %o to me and we will rule %H.\"]",
         output = "text",
         text = [["You fool.  You do not know how to call upon the powers of
%o.

"Return it to me and I will teach you how to use it, and together we
will rule %H.  But do so now, as my patience grows thin."]],
      },
      nexttime = {
         text = "Once again, you are back at %H.",
      },
      offeredit = {
         synopsis = "[Take %o and with %ds guidance, recover the Amulet.]",
         output = "text",
         text = [[As %l detects the presence of %o,
he almost smiles for the first time in many a full moon.

As he looks up from %o he says:

    "You have recovered %o.  You are its
    owner now, but not its master.  Let it work with you as you continue
    your journey.  With its help, and %d to guide you on the
    %a path, you may yet recover the Amulet of Yendor."]],
      },
      offeredit2 = {
         synopsis = "[Keep %o and return to %Z through the portal.]",
         output = "text",
         text = [["%oC is yours now.  %Z
await your return through the magic portal that brought you here."]],
      },
      othertime = {
         text = [[You are back at %H.
Things appear to have become so bad that you fear that soon
%H will not be here to return to.]],
      },
      posthanks = {
         text = [["I could not be more proud than if you were my own %S, %p!
Tell me of your adventures in quest of the Amulet of Yendor."]],
      },
   },
   Val = {
      assignquest = {
         synopsis = "[Find %i; defeat %n; return with %o.]",
         output = "text",
         text = [["It is not clear, %p, for my sight is limited without our relic.
But it is now likely that you can defeat %n, and recover
%o.

"A short time ago, %n and his minions attacked this place.  They
opened the huge volcanic vents you %x about the hill, and attacked.  I knew
that this was to come to pass, and had asked %d for a group of %gP
to help defend this place.  The few you %x here are the mightiest of
Valhalla's own, and are all that are left of one hundred %d sent.

"Despite the great and glorious battle we fought, %n managed at
last to steal %o.  This has upset the balance of the universe,
and unless %oh is returned into my care, %n may start Ragnarok.

"You must find the entrance to %i.  Travel downward
from there and you will find %ns lair.  Defeat him and
return %o to me."]],
      },
      badalign = {
         synopsis = "[You have strayed from the %a path.  Return after you purify yourself.]",
         output = "text",
         text = [["NO!  This is terrible.  I see you becoming an ally of %n, and
leading his armies in the final great battles.  This must not come to
pass!  You have strayed from the %a path.  You must purge yourself,
and return here only when you have regained a state of purity."]],
      },
      badlevel = {
         synopsis = "[Come back when you are %Ra.]",
         output = "text",
         text = [["I see you and %n fighting, %p.  But you are not prepared and
shall die at %ns hand if you proceed.  No.  This will not do.
Go back out into the world, and grow more experienced at the ways of war.
Only when you have returned %Ra will you be able to defeat %n."]],
      },
      discourage = {
         "\"I am your death, %c.\"",
         "\"You cannot prevail, %r.  I have foreseen your every move.\"",
         "\"With you out of the way, Valhalla will be mine for the taking.\"",
         "\"I killed scores of %ds best when I took %o. Do you really think that one %c can stand against me?\"",
         "\"Who bears the souls of %cP to Valhalla, %r?\"",
         "\"No, %d cannot help you here.\"",
         "\"Some instrument of %d you are, %p.  You are a weakling!\"",
         "\"Never have I seen %ca so clumsy in battle.\"",
         "\"You die now, little %s.\"",
         "\"Your body I destroy now, your soul when my hordes overrun Valhalla!\"",
      },
      encourage = {
         "\"Go with the blessings of %d.\"",
         "\"Call upon %d when you are in need.\"",
         "\"Use %o if you can.  It will protect you.\"",
         "\"Magical cold is very effective against %n.\"",
         "\"To face %n, you will need to be immune to fire.\"",
         "\"May %d strengthen your sword-arm.\"",
         "\"Trust in %d.  He will not desert you.\"",
         "\"It becomes more likely that Ragnarok will come with every passing moment. You must hurry, %p.\"",
         "\"If %n can master %o, he will be powerful enough to face %d far earlier than is fated.  This must not be!\"",
         "\"Remember your training, %p.  You can succeed.\"",
      },
      firsttime = {
         synopsis = "[You arrive below %H.  Something is wrong; there is lava present.]",
         output = "text",
         text = [[You materialize at the base of a snowy hill.  Atop the hill sits
a place you know well, %H.  You immediately realize
that something here is very wrong!

In places, the snow and ice have been melted into steaming pools of
water.  Fumaroles and pools of bubbling lava surround the hill.
The stench of sulphur is carried through the air, and you %x creatures
that should not be able to live in this environment moving towards you.]],
      },
      goal_first = {
         synopsis = "[This is the lair of %n.]",
         output = "text",
         text = [[Through clouds of sulphurous gasses, you %x a rock palisade
surrounded with a moat of bubbling lava.  You remember the description
from something that %l said.  This is the lair of %n.]],
      },
      goal_next = {
         text = "Once again, you stand in sight of %ns lair.",
      },
      gotit = {
         synopsis = "[You must return %o to %l.]",
         output = "text",
         text = [[As you pick up %o, your mind is suddenly filled with images,
and you perceive all of the possibilities of each potential choice you
could make.  As you begin to control and channel your thoughts, you
realize that you must return %o to %l immediately.]],
      },
      guardtalk_after = {
         "\"Hail, and well met, brave %c.\"",
         "\"May %d guide your steps, %p.\"",
         "\"%lC told us you had succeeded!\"",
         "\"You recovered %o just in time, %p.\"",
         "\"Hail %d, for delivering %o back to us.\"",
      },
      guardtalk_before = {
         "\"Hail, and well met, brave %c.\"",
         "\"May %d guide your steps, %p.\"",
         "\"%lC weakens.  Without %o, her foresight is dim.\"",
         "\"You must hurry, %p, else Ragnarok may well come.\"",
         "\"I would deal with this foul %n myself, but %d forbids it.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to %ds temple on the Astral Plane and offer it.]",
         output = "text",
         text = [["Excellent, %p.  I see you have recovered the Amulet!

"You must take the Amulet to the Great Temple of %d, on the Astral
Plane.  There you must offer the Amulet to %d.

"Go now, my %S.  I cannot tell you your fate, as the power of the
Amulet interferes with mine.  I hope for your success."]],
      },
      killed_nemesis = {
         synopsis = "[%nC dies.]",
         output = "text",
         text = [[A look of surprise and horror appears on %ns face.

    "No!!!  %o has lied to me!  I have been misled!"

Suddenly, %n grasps his head and screams in agony, then dies.]],
      },
      leader_first = {
         synopsis = "[We need your aid.  Are you ready?]",
         output = "text",
         text = [["Ah, %p, my %S.  You have returned to %H
at last.  We are in dire need of your aid, but I must determine if you
are yet ready for such an undertaking.

"Let me read your fate..."]],
      },
      leader_last = {
         synopsis = "[\"Begone from my presence and never return.\"]",
         output = "text",
         text = [["No, %p.  Your fate is sealed.  I must cast about for another
champion.  Begone from my presence, and never return.  Know this, that
you shall never succeed in this life, and Valhalla is denied to you."]],
      },
      leader_next = {
         text = [["Let me read the future for you now, %p, perhaps you have managed to
change it enough..."]],
      },
      leader_other = {
         text = [["Again, I shall read your fate, my %S.  Let us both hope that you have
made changes to become ready for this task..."]],
      },
      locate_first = {
         synopsis = "[This is the entrance to %i.]",
         output = "text",
         text = [[The ice and snow gives way to a valley floor.  You %x ahead of you
a huge round hill surrounded by pools of lava.  This then is the entrance
to %i.  It looks like you're not going to get in without
a fight though.]],
      },
      locate_next = {
         text = "Once again, you stand before the entrance to %i.",
      },
      nemesis_first = {
         synopsis = "[\"%oC has shown me that I must kill you.\"]",
         output = "text",
         text = [["So!  %lC has finally sent %ca to challenge me!

"I thought that mastering %o would enable me to challenge
%d, but it has shown me that first I must kill you!  So come, little
%s.  Once I defeat you, I can at last begin the final battle with %d."]],
      },
      nemesis_next = {
         text = "\"Again you challenge me, %r.  Good.  I will kill you now.\"",
      },
      nemesis_other = {
         text = "\"Have you not learned yet?  You cannot defeat %n!\"",
      },
      nemesis_wantsit = {
         text = "\"I will kill you, %c, and wrest %o from your mangled hands.\"",
      },
      nexttime = {
         text = "Once again, you are near the abode of %l.",
      },
      offeredit = {
         synopsis = "[Take %o.  Search for the Amulet.]",
         output = "text",
         text = [[As you approach, %l rises and touches %o.

"You may take %o with you, %p.  I have removed from
it the power to foretell the future, for that power no mortal should
have.  Its other abilities, however, you have at your disposal.

"You must now begin in %ds name to search for the Amulet of Yendor.
May your steps be guided by %d, my %S."]],
      },
      offeredit2 = {
         synopsis = "[You are %os keeper now.  Return through the portal and find the Amulet.]",
         output = "text",
         text = [["Careful, %p!  %oC might break, and that would be
a tragic loss.  You are its keeper now, and the time has come to
resume your search for the Amulet.  %Z await your
return through the magic portal that brought you here."]],
      },
      othertime = {
         text = [[Again you materialize near %ls abode.  You have a nagging feeling
that this may be the last time you come here.]],
      },
      posthanks = {
         text = [["Greetings, %p.  I have not been able to pay as much attention to
your search for the Amulet as I have wished.  How do you fare?"]],
      },
   },
   Wiz = {
      assignquest = {
         synopsis = "[Travel to %i; overcome %n; return with %o.]",
         output = "text",
         text = [["Yes, %p, you truly are ready for this dire task.  Listen,
carefully, for what I tell you now will be of vital importance.

"Since you left us to hone your skills in the world, we unexpectedly came
under attack by the forces of %n.  As you know, we thought
%n had perished at the end of the last age, but, alas, this was
not the case.

"%nC sent an army of abominations against us.  Among them was a
minion, mindless and ensorcelled, and thus, in the confusion, it was
able to penetrate our defenses.  Alas, this creature has stolen
%o and I fear has delivered %oh to %n.

"Over the years, I had woven most of my power into this amulet, and thus,
without it, I have but a shadow of my former power, and I fear that I
shall soon perish.

"You must travel to %i, and within its dungeons,
find and overcome %n, and return %o to me.

"Go now, with %d, and complete this quest before it is too late."]],
      },
      badalign = {
         synopsis = "[Go; come back when you are worthy of %d.]",
         output = "text",
         text = [["You amaze me, %p!  How many times did I tell you that the way of a mage
is an exacting one.  One must use the world with care, lest one leave it
in ruins and simplify the task of %n.

"You must go back and show your worthiness.  Do not return until you are
truly ready for this quest.  May %d guide you in this task."]],
      },
      badlevel = {
         synopsis = "[Go; return when you are %Ra.]",
         output = "text",
         text = [["Alas, %p, you have not yet shown your proficiency as a worthy
spellcaster.  As %ra, you would surely be overcome in the challenge
ahead.  Go, now, expand your horizons, and return when you have attained
renown as %Ra."]],
      },
      discourage = {
         "\"Your puny powers are no match for me, fool!\"",
         "\"When you are defeated, your torment will last for a thousand years.\"",
         "\"After your downfall, %p, I shall devour %l for dessert!\"",
         "\"Are you ready yet to beg for mercy?  I could be lenient...\"",
         "\"Your soul shall join the enslaved multitude I command!\"",
         "\"Your lack of will is evident, and you shall die as a result.\"",
         "\"Your faith in %d is for naught!  Come, submit to me now!\"",
         "\"A mere %r is nothing compared to my skill!\"",
         "\"So, you are the best hope of %l?  How droll.\"",
         "\"Feel my power, %c!  My victory is imminent!\"",
      },
      encourage = {
         "\"Beware, for %n is immune to most magical attacks.\"",
         "\"To enter %i you must pass many traps.\"",
         "\"%nC may be vulnerable to physical attacks.\"",
         "\"%d will come to your aid when you call.\"",
         "\"You must utterly destroy %n.  He will pursue you otherwise.\"",
         "\"%oC is a mighty artifact.  With it you can destroy %n.\"",
         "\"Go forth with the blessings of %d.\"",
         "\"I will have my %gP watch for your return.\"",
         "\"Feel free to take any items in that chest that might aid you.\"",
         "\"You will know when %o is near.  Proceed with care!\"",
      },
      firsttime = {
         synopsis = "[You have arrived at %ls tower but something is very wrong.]",
         output = "text",
         text = [[You are suddenly in familiar surroundings.  You notice what appears to
be a large, squat stone structure nearby.  Wait!  That looks like the
tower of your former teacher, %l.

However, things are not the same as when you were last here.  Mists and
areas of unexplained darkness surround the tower.  There is movement in
the shadows.

Your teacher would never allow such unaesthetic forms to surround the
tower...  unless something were dreadfully wrong!]],
      },
      goal_alt = {
         text = "You have returned to %ns lair.",
      },
      goal_first = {
         text = "You feel your mentor's presence; perhaps %o is nearby.",
      },
      goal_next = {
         text = "The aura of %o tingles at the edge of your perception.",
      },
      gotit = {
         synopsis = "[You feel %os power and know you should return %oh to %l.]",
         output = "text",
         text = [[As you touch %o, its comforting power infuses you
with new energy.  You feel as if you can detect others' thoughts flowing
through it.  Although you yearn to wear %o and
attack the Wizard of Yendor, you know you must return it to its rightful
owner, %l.]],
      },
      guardtalk_after = {
         "\"I have some eye of newt to trade, do you have a spare blind-worm's sting?\"",
         "\"The magic portal now seems like it will remain stable for quite some time.\"",
         "\"Have you noticed how much stronger %l is since %o was recovered?\"",
         "\"Thank %d!  We weren't positive you would defeat %n.\"",
         "\"I, too, will venture into the world, because %n was but one of many evils to be vanquished.\"",
      },
      guardtalk_before = {
         "\"Would you happen to have some eye of newt in that overstuffed pack, %s?\"",
         "\"Ah, the spell to create the magic portal worked.  Outstanding!\"",
         "\"Hurry!  %lC may not survive that casting of the portal spell!\"",
         "\"The spells of %n were just too powerful for us to withstand.\"",
         "\"I, too, will venture into the world, because %n is but one of many evils to be vanquished.\"",
      },
      hasamulet = {
         synopsis = "[Take the Amulet to %ds altar on the Astral Plane.]",
         output = "text",
         text = [["Congratulations, %p.  I always knew that if anyone could succeed
in defeating the Wizard of Yendor and his minions, it would be you.

"Go now, and take the Amulet to the Astral Plane.  Once there, present
the Amulet on the altar of %d.  Along the way you shall pass through
the four Elemental Planes.  These planes are like nothing you have ever
experienced before, so be prepared!

"For this you were born, %s!  I am very proud of you."]],
      },
      killed_nemesis = {
         synopsis = "[%nC curses you as %nh dies.]",
         output = "text",
         text = [[%nC, whose body begins to shrivel up, croaks out:

    "I shall haunt your progress until the end of time.  A thousand
    curses on you and %l."

Then, the body bursts into a cloud of choking dust, and blows away.]],
      },
      leader_first = {
         synopsis = "[You have come a long way, but are you ready for the task I require?]",
         output = "text",
         text = [["Come closer, %p, for my voice falters in my old age.
Yes, I see that you have come a long way since you went out into the
world, leaving the safe confines of this tower.  However, I must first
determine if you have all of the skills required to take on the task
I require of you."]],
      },
      leader_last = {
         synopsis = "[\"Get out of here!\"]",
         output = "text",
         text = [["You fool, %p!  Why did I waste all of those years teaching you
the esoteric arts?  Get out of here!  I shall find another."]],
      },
      leader_next = {
         text = "\"Well, %p, you have returned.  Perhaps you are now ready...\"",
      },
      leader_other = {
         text = [["This is getting tedious, %p, but perseverance is a sign of a true mage.
I certainly hope that you are truly ready this time!"]],
      },
      locate_first = {
         text = "Wisps of fog swirl nearby.  You feel that %ns lair is close.",
      },
      locate_next = {
         text = "You believe that you may once again invade %i.",
      },
      nemesis_first = {
         synopsis = "[\"Your destruction should make for good sport.\"]",
         output = "text",
         text = [["Ah, I recognize you, %p.  So, %l has sent you to steal
%o from me, hmmm?  Well, %lh is a fool to send such
a mental weakling against me.

"Your destruction, however, should make for good sport.  In the end, you
shall beg me to kill you!"]],
      },
      nemesis_next = {
         synopsis = "[\"Your soul shall soon be mine to command.\"]",
         output = "text",
         text = [["How nice of you to return, %p!  I enjoyed our last meeting.  Are you
still hungry for more pain?

"Come!  Your soul, like %o, shall soon be mine to command."]],
      },
      nemesis_other = {
         text = [["I'm sure that your perseverance shall be the subject of innumerable
ballads, but you shall not be around to hear them, I fear!"]],
      },
      nemesis_wantsit = {
         text = [["Thief!  %oC belongs to me, now.  I shall feed
your living flesh to my minions."]],
      },
      nexttime = {
         text = "Once again, you are back at %H.",
      },
      offeredit = {
         synopsis = "[Take %o with you in your quest for the Amulet.]",
         output = "text",
         text = [[%lC notices %o in your possession,
beams at you and says:

    "I knew you could defeat %n and retrieve
    %o.  We shall never forget this
    brave service.

    "Take %oh with you in your quest for the Amulet of Yendor.
    I can sense that it has attuned %oiself to you already.

    "May %d guide you in your quest, and keep you from harm."]],
      },
      offeredit2 = {
         synopsis = "[Keep %o, return through the portal to %Z; find the other Amulet.]",
         output = "text",
         text = [["You are the keeper of %o now.  It is time to
recover the /other/ Amulet.  %Z await your return through
the magic portal which brought you here."]],
      },
      othertime = {
         text = [[You are back at %H.
You have an odd feeling this may be the last time you ever come here.]],
      },
      posthanks = {
         text = [["Come near, my %S, and share your adventures with me.
So, have you succeeded in your quest for the Amulet of Yendor?"]],
      },
   },
}
-- NetHack Ranger Ran-fila.lua	$NHDT-Date: 1652196009 2022/05/10 15:20:09 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg="T", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ class = "C", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
-- NetHack Ranger Ran-filb.lua	$NHDT-Date: 1652196010 2022/05/10 15:20:10 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ class = "C", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
-- NetHack Ranger Ran-goal.lua	$NHDT-Date: 1652196010 2022/05/10 15:20:10 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
                                                                            
  ...                                                                  ...  
 .......................................................................... 
  ...                                +                                 ...  
   .     ............     .......    .                   .......        .   
   .  .............................  .       ........   .........S..    .   
   .   ............    .  ......     .       .      .    .......   ..   .   
   .     .........     .   ....      +       . ...  .               ..  .   
   .        S          .         .........   .S.    .S...............   .   
   .  ...   .     ...  .         .........          .                   .   
   . ........    .....S.+.......+....\....+........+.                   .   
   .  ...         ...    S       .........           ..      .....      .   
   .                    ..       .........            ..      ......    .   
   .      .......     ...            +       ....    ....    .......... .   
   . ..............  ..              .      ......  ..  .............   .   
   .     .............               .     ..........          ......   .   
  ...                                +                                 ...  
 .......................................................................... 
  ...                                                                  ...  
                                                                            
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
-- Stairs
des.stair("up", 19,10)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Objects
des.object({ id = "bow", x=37, y=10, buc="blessed", spe=0, name="The Longbow of Diana" })
des.object("chest", 37, 10)
des.object({ coord = { 36, 09 } })
des.object({ coord = { 36, 10 } })
des.object({ coord = { 36, 11 } })
des.object({ coord = { 37, 09 } })
des.object({ coord = { 37, 11 } })
des.object({ coord = { 38, 09 } })
des.object({ coord = { 38, 10 } })
des.object({ coord = { 38, 11 } })
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- doors
des.door("locked",12,08)
des.door("closed",22,10)
des.door("locked",24,10)
des.door("closed",25,11)
des.door("closed",32,10)
des.door("closed",37,03)
des.door("closed",37,07)
des.door("closed",37,13)
des.door("closed",37,16)
des.door("closed",42,10)
des.door("locked",46,08)
des.door("closed",51,10)
des.door("locked",53,08)
des.door("closed",65,05)
-- Random monsters.
des.monster({ id = "Scorpius", x=37, y=10, peaceful=0 })
des.monster({ id = "forest centaur", x=36, y=09, peaceful=0 })
des.monster({ id = "forest centaur", x=36, y=10, peaceful=0 })
des.monster({ id = "forest centaur", x=36, y=11, peaceful=0 })
des.monster({ id = "forest centaur", x=37, y=09, peaceful=0 })
des.monster({ id = "forest centaur", x=37, y=11, peaceful=0 })
des.monster({ id = "forest centaur", x=38, y=09, peaceful=0 })
des.monster({ id = "mountain centaur", x=38, y=10, peaceful=0 })
des.monster({ id = "mountain centaur", x=38, y=11, peaceful=0 })
des.monster({ id = "mountain centaur", x=02, y=02, peaceful=0 })
des.monster({ id = "mountain centaur", x=71, y=02, peaceful=0 })
des.monster({ id = "mountain centaur", x=02, y=16, peaceful=0 })
des.monster({ id = "mountain centaur", x=71, y=16, peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ class = "C", peaceful=0 })
des.monster({ class = "C", peaceful=0 })
des.monster({ id = "scorpion", x=03, y=02, peaceful=0 })
des.monster({ id = "scorpion", x=72, y=02, peaceful=0 })
des.monster({ id = "scorpion", x=03, y=17, peaceful=0 })
des.monster({ id = "scorpion", x=72, y=17, peaceful=0 })
des.monster({ id = "scorpion", x=41, y=10, peaceful=0 })
des.monster({ id = "scorpion", x=33, y=09, peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ class = "s", peaceful=0 })

des.wallify()
-- NetHack Ranger Ran-loca.lua	$NHDT-Date: 1652196010 2022/05/10 15:20:10 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor")
--1234567890123456789012345678901234567890123456789012345678901234567890
des.map([[
              .......  .........  .......              
     ...................       ...................     
  ....        .......             .......        ....  
...    .....     .       .....       .     .....    ...
.   .......... .....  ...........  ..... ..........   .
.  ..  ..... ..........  .....  .......... .....  ..  .
.  .     .     .....       .       .....     .     .  .
.  .   .....         .............         .....   .  .
.  .  ................  .......  ................  .  .
.  .   .....            .......            .....   .  .
.  .     .    ......               ......    .     .  .
.  .     ...........   .........   ...........     .  .
.  .          ..........       ..........          .  .
.  ..  .....     .       .....       .     .....  ..  .
.   .......... .....  ...........  ..... ..........   .
.      ..... ..........  .....  .......... .....      .
.        .     .....       .       .....     .        .
...   .......           .......           .......   ...
  ..............     .............     ..............  
      .......  .......  .......  .......  .......      
]]);
-- Dungeon Description
des.region(selection.area(00,00,54,19), "lit")
-- Stairs
des.stair("up", 25,05)
des.stair("down", 27,18)
-- Non diggable walls
des.non_diggable(selection.area(00,00,54,19))
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap("spiked pit")
des.trap("spiked pit")
des.trap("teleport")
des.trap("teleport")
des.trap("arrow")
des.trap("arrow")
-- Random monsters.
des.monster({ id = "wumpus", x=27, y=18, peaceful=0, asleep=1 })
des.monster({ id = "giant bat", peaceful=0 })
des.monster({ id = "giant bat", peaceful=0 })
des.monster({ id = "giant bat", peaceful=0 })
des.monster({ id = "giant bat", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "forest centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "mountain centaur", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ class = "s", peaceful=0 })
des.monster({ class = "s", peaceful=0 })

-- NetHack Ranger Ran-strt.lua	$NHDT-Date: 1652196011 2022/05/10 15:20:11 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Orion,
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = "." });

des.level_flags("mazelevel", "noteleport", "hardfloor", "arboreal")

des.level_init({ style="mines", fg=".", bg=".", smoothed=true, joined=true, lit=1, walled=false })
des.replace_terrain({ region={00,00, 76,19}, fromterrain=".", toterrain="T", chance=5 })
--1234567890123456789012345678901234567890123456789012345678901234567890
des.map({ halign = "left", valign = "center", map = [[
                                       xx
   ...................................  x
  ..                                 ..  
 ..  ...............F...............  .. 
 .  ..             .F.             ..  . 
 . ..  .............F.............  .. . 
 . .  ..                         ..  . . 
 . . ..  .......................  .. ... 
 . . .  ..                     ..  .     
 ... . ..  .|..................... ......
 FFF . .  ..S..................          
 ... . ..  .|.................  .... ... 
 . . .  ..                     ..  . . . 
 . . ..  .......................  .. . . 
 . .  ..                         ..  . . 
 . ..  .............F.............  .. . 
 .  ..             .F.             ..  . 
 ..  ...............F...............  .. 
  ..                                 ..  
   ...................................  x
                                       xx
]] });
-- Dungeon Description
des.region(selection.area(00,00,40,20), "lit")
-- Stairs
des.stair("down", 10,10)
-- Portal arrival point; just about anywhere on the right hand side of the map
des.levregion({ region = {51,2,77,18}, region_islev = 1, type="branch" })
-- Orion
des.monster({ id = "Orion", coord = {20, 10}, inventory = function()
   des.object({ id = "leather armor", spe = 4 });
   des.object({ id = "yumi", spe = 4 });
   des.object({ id = "ya", spe = 4, quantity = 50 });
end })
-- The treasure of Orion
des.object("chest", 20, 10)
-- Guards for the audience chamber
des.monster("hunter", 19, 09)
des.monster("hunter", 20, 09)
des.monster("hunter", 21, 09)
des.monster("hunter", 19, 10)
des.monster("hunter", 21, 10)
des.monster("hunter", 19, 11)
des.monster("hunter", 20, 11)
des.monster("hunter", 21, 11)
-- Non diggable walls
des.non_diggable(selection.area(00,00,40,20))
-- Traps
des.trap("arrow",30,09)
des.trap("arrow",30,10)
des.trap("pit",40,09)
des.trap("spiked pit")
des.trap("bear")
des.trap("bear")
-- Monsters on siege duty.
des.monster({ id = "minotaur", x=33, y=09, peaceful=0, asleep=1 })
des.monster({ id = "forest centaur", x=19, y=03, peaceful=0 })
des.monster({ id = "forest centaur", x=19, y=04, peaceful=0 })
des.monster({ id = "forest centaur", x=19, y=05, peaceful=0 })
des.monster({ id = "forest centaur", x=21, y=03, peaceful=0 })
des.monster({ id = "forest centaur", x=21, y=04, peaceful=0 })
des.monster({ id = "forest centaur", x=21, y=05, peaceful=0 })
des.monster({ id = "forest centaur", x=01, y=09, peaceful=0 })
des.monster({ id = "forest centaur", x=02, y=09, peaceful=0 })
des.monster({ id = "forest centaur", x=03, y=09, peaceful=0 })
des.monster({ id = "forest centaur", x=01, y=11, peaceful=0 })
des.monster({ id = "forest centaur", x=02, y=11, peaceful=0 })
des.monster({ id = "forest centaur", x=03, y=11, peaceful=0 })
des.monster({ id = "forest centaur", x=19, y=15, peaceful=0 })
des.monster({ id = "forest centaur", x=19, y=16, peaceful=0 })
des.monster({ id = "forest centaur", x=19, y=17, peaceful=0 })
des.monster({ id = "forest centaur", x=21, y=15, peaceful=0 })
des.monster({ id = "forest centaur", x=21, y=16, peaceful=0 })
des.monster({ id = "forest centaur", x=21, y=17, peaceful=0 })
des.monster({ id = "plains centaur", peaceful=0 })
des.monster({ id = "plains centaur", peaceful=0 })
des.monster({ id = "plains centaur", peaceful=0 })
des.monster({ id = "plains centaur", peaceful=0 })
des.monster({ id = "plains centaur", peaceful=0 })
des.monster({ id = "plains centaur", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
des.monster({ id = "scorpion", peaceful=0 })
-- NetHack Rogue Rog-fila.lua	$NHDT-Date: 1652196011 2022/05/10 15:20:11 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1992 by Dean Luick
-- NetHack may be freely redistributed.  See license for details.
--
--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster({ id = "leprechaun", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.monster({ id = "leprechaun", peaceful=0 })
              des.monster({ id = "guardian naga", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.trap()
              des.object()
              des.monster({ id = "water nymph", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.trap()
              des.monster({ class = "l", peaceful=0 })
              des.monster({ id = "guardian naga", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.trap()
              des.monster({ id = "leprechaun", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.trap()
              des.monster({ id = "leprechaun", peaceful=0 })
              des.monster({ id = "water nymph", peaceful=0 })
           end
})

des.random_corridors()
-- NetHack Rogue Rog-filb.lua	$NHDT-Date: 1652196011 2022/05/10 15:20:11 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1992 by Dean Luick
-- NetHack may be freely redistributed.  See license for details.
--
--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster({ id = "leprechaun", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.monster({ id = "leprechaun", peaceful=0 })
              des.monster({ id = "guardian naga", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.trap()
              des.object()
              des.monster({ id = "water nymph", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.trap()
              des.monster({ class = "l", peaceful=0 })
              des.monster({ id = "guardian naga", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.trap()
              des.monster({ id = "leprechaun", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.trap()
              des.monster({ id = "leprechaun", peaceful=0 })
              des.monster({ id = "water nymph", peaceful=0 })
           end
})

des.random_corridors()
-- NetHack Rogue Rog-goal.lua	$NHDT-Date: 1652196012 2022/05/10 15:20:12 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1992 by Dean Luick
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport")

--         1         2         3         4         5         6         7
--123456789012345678901234567890123456789012345678901234567890123456789012345
des.map([[
-----      -------.......................................|-----------------|
|...|  -----.....|.......................................|.................|
|...----...|.....|.......................................|....---------....|
|.---......---..--.................................------------.......|....|
|...............|..................................|..|...|...----........-|
|.....-----....--.................................|-..--..-|.....----S----| 
|--S---...|....|.................................|-........-|....|........| 
|.........---------.............................|-....}}....-|...|...|....| 
|....|.....S......|............................|-.....}}.....-|..--.------| 
|-----.....--.....|...........................|-...}}}}}}}}...-|....|.....--
|...........--....------S-----...............|-....}}}}}}}}....-|..........|
|............--........|...| |..............--.....}}.}}........----------S-
|.............|........|...| |..............|......}}}}}}}}......|...|.....|
|S-.---.---.---.---.---|...| ------------...--........}}.}}.....--..---....|
|.---.---.---.---.-S-..----- |....|.....|....|-....}}}}}}}}....---..S.|--..|
|...|.......|..........|...---....---...S.....|-...}}}}}}}}...-|.S..|...|..|
|...|..|....|..........|............|..--..----|-.....}}.....-|..----...-S--
|...|---....----.......|----- ......|...---|    |-....}}....-|...|..--.--..|
-----.....---.....--.---....--...--------..|     |-........-|....|.........|
    |.............|..........|.............S...   |S-------|.....|..-----..|
    ----------------------------------------  ......       ----------   ----
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,20), "lit")
-- Stairs
des.levregion({ region={01,00,15,20}, region_islev=1, exclude={01,18,04,20}, type="stair-up" });
-- Doors
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,20))
-- One trap to keep the gnomes at bay.
des.trap("spiked pit",37,07)
-- Objects
des.object({ id = "skeleton key", x=38, y=10, buc="blessed", spe=0, name="The Master Key of Thievery" })
des.object({ id = "tin", x=26, y=12, montype="chameleon" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "Master Assassin", x=38, y=10, peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ class = "l", peaceful=0 })
des.monster({ class = "l", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ class = "N", peaceful=0 })
des.monster({ class = "N", peaceful=0 })
des.monster({ class = "N", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "shark", x=51, y=14, peaceful=0 })
des.monster({ id = "shark", x=53, y=09, peaceful=0 })
des.monster({ id = "shark", x=55, y=15, peaceful=0 })
des.monster({ id = "shark", x=58, y=10, peaceful=0 })
-- NetHack Rogue Rog-loca.lua	$NHDT-Date: 1652196012 2022/05/10 15:20:12 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1992 by Dean Luick
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

--         1         2         3         4         5         6         7
--123456789012345678901234567890123456789012345678901234567890123456789012345
des.map([[
             ----------------------------------------------------   --------
           ---.................................................-    --.....|
         ---...--------........-------.......................---     ---...|
       ---.....-      ---......-     ---..................----         --.--
     ---.....----       --------       --..................--         --..| 
   ---...-----                       ----.----.....----.....---      --..|| 
----..----                       -----..---  |...---  |.......---   --...|  
|...---                       ----....---    |.---    |.........-- --...||  
|...-                      ----.....---     ----      |..........---....|   
|...----                ----......---       |         |...|.......-....||   
|......-----          ---.........-         |     -----...|............|    
|..........-----   ----...........---       -------......||...........||    
|..............-----................---     |............|||..........|     
|------...............................---   |...........|| |.........||     
|.....|..............------.............-----..........||  ||........|      
|.....|.............--    ---.........................||    |.......||      
|.....|.............-       ---.....................--|     ||......|       
|-S----------.......----      --.................----        |.....||       
|...........|..........--------..............-----           ||....|        
|...........|............................-----                |....|        
------------------------------------------                    ------        
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,20), "lit")
-- Doors
--DOOR:locked|closed|open,(xx,yy)
-- Stairs
des.stair("up")
des.stair("down")
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,20))
-- Objects
des.object({ id = "scroll of teleportation", x=11, y=18, buc="cursed", spe=0 })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ id = "leprechaun", peaceful=0 })
des.monster({ class = "l", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ id = "guardian naga", peaceful=0 })
des.monster({ class = "N", peaceful=0 })
des.monster({ class = "N", peaceful=0 })
des.monster({ class = "N", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
des.monster({ id = "chameleon", peaceful=0 })
-- NetHack Rogue Rog-strt.lua	$NHDT-Date: 1652196012 2022/05/10 15:20:12 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1992 by Dean Luick
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Master of Thieves
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "nommap")

--         1         2         3         4         5         6         7
--123456789012345678901234567890123456789012345678901234567890123456789012345
des.map([[
---------------------------------.------------------------------------------
|.....|.||..........|....|......|.|.........|.......+............---.......|
|.....|..+..........+....---....S.|...-S-----.-----.|............+.+.......|
|.....+.||........---......|....|.|...|.....|.|...|.---.....------.--------|
|-----|.-------|..|........------.-----.....|.--..|...-------..............|
|.....|........------+------..........+.....|..--S---.........------.-----..
|.....|.------...............-----.}}.--------.|....-------.---....|.+...--|
|..-+--.|....|-----.--------.|...|.....+.....|.|....|.....+.+......|.--....|
|..|....|....|....+.|......|.|...-----.|.....|.--...|.....|.|......|..|....|
|..|.-----S----...|.+....-----...|...|.----..|..|.---....--.---S-----.|----|
|..|.|........|...------.|.S.....|...|....-----.+.|......|..|.......|.|....|
|---.-------..|...|....|.|.|.....|...----.|...|.|---.....|.|-.......|.---..|
...........|..S...|....---.----S----..|...|...+.|..-------.---+-....|...--+|
|---------.---------...|......|....S..|.---...|.|..|...........----.---....|
|........|.........|...+.------....|---.---...|.--+-.----.----....|.+...--+|
|........|.---+---.|----.--........|......-----......|..|..|.--+-.|.-S-.|..|
|........|.|.....|........----------.----.......---.--..|-.|....|.-----.|..|
|----....+.|.....----+---............|..|--------.+.|...SS.|....|.......|..|
|...--+-----.....|......|.------------............---...||.------+--+----..|
|..........S.....|......|.|..........S............|.....||...|.....|....|..|
-------------------------.--------------------------------------------------
]]);
-- Dungeon Description
--REGION:(00,00,75,20),lit,"ordinary"

local streets = selection.floodfill(0,12)

-- The down stairs is at one of the 4 "exits".  The others are mimics,
-- mimicking stairwells.
local place = { {33,0}, {0,12}, {25,20}, {75,05} }
shuffle(place)

des.stair({ dir = "down", coord = place[1] })
des.monster({ id = "giant mimic", coord = place[2], appear_as = "ter:staircase down" })
des.monster({ id = "large mimic", coord = place[3], appear_as = "ter:staircase down" })
des.monster({ id = "small mimic", coord = place[4], appear_as = "ter:staircase down" })
-- Portal arrival point
des.levregion({ region = {19,09,19,09}, type="branch" })
-- Doors (secret)
--DOOR:locked|closed|open,(xx,yy)
des.door("locked", 32, 2)
des.door("locked", 63, 9)
des.door("locked", 27,10)
des.door("locked", 31,12)
des.door("locked", 35,13)
des.door("locked", 69,15)
des.door("locked", 56,17)
des.door("locked", 57,17)
des.door("locked", 11,19)
des.door("locked", 37,19)
des.door("locked", 39, 2)
des.door("locked", 49, 5)
des.door("locked", 10, 9)
des.door("locked", 14,12)
-- Doors (regular)
des.door("closed", 52, 1)
des.door("closed",  9, 2)
des.door("closed", 20, 2)
des.door("closed", 65, 2)
des.door("closed", 67, 2)
des.door("closed",  6, 3)
des.door("closed", 21, 5)
des.door("closed", 38, 5)
des.door("closed", 69, 6)
des.door("closed",  4, 7)
des.door("closed", 39, 7)
des.door("closed", 58, 7)
des.door("closed", 60, 7)
des.door("closed", 18, 8)
des.door("closed", 20, 9)
des.door("closed", 48,10)
des.door("closed", 46,12)
des.door("closed", 62,12)
des.door("closed", 74,12)
des.door("closed", 23,14)
des.door("closed", 23,14)
des.door("closed", 50,14)
des.door("closed", 68,14)
des.door("closed", 74,14)
des.door("closed", 14,15)
des.door("closed", 63,15)
des.door("closed",  9,17)
des.door("closed", 21,17)
des.door("closed", 50,17)
des.door("closed",  6,18)
des.door("closed", 65,18)
des.door("closed", 68,18)
-- Master of Thieves
des.monster({ id = "Master of Thieves", coord = {36, 11}, inventory = function()
   des.object({ id = "leather armor", spe = 5 });
   des.object({ id = "silver dagger", spe = 4 });
   des.object({ id = "dagger", spe = 2, quantity = d(2,4), buc = "not-cursed" });
end })
-- The treasure of Master of Thieves
des.object("chest", 36, 11)
-- thug guards, room #1
des.monster("thug", 28, 10)
des.monster("thug", 29, 11)
des.monster("thug", 30, 09)
des.monster("thug", 31, 07)
-- thug guards, room #2
des.monster("thug", 31, 13)
des.monster("thug", 33, 14)
des.monster("thug", 30, 15)
--thug guards, room #3
des.monster("thug", 35, 09)
des.monster("thug", 36, 13)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,20))
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
--
-- Monsters to get in the way.
--
-- West exit
des.monster({ id = "leprechaun", x=01, y=12, peaceful=0 })
des.monster({ id = "water nymph", x=02, y=12, peaceful=0 })
-- North exit
des.monster({ id = "water nymph", x=33, y=01, peaceful=0 })
des.monster({ id = "leprechaun", x=33, y=02, peaceful=0 })
-- East exit
des.monster({ id = "water nymph", x=74, y=05, peaceful=0 })
des.monster({ id = "leprechaun", x=74, y=04, peaceful=0 })
-- South exit
des.monster({ id = "leprechaun", x=25, y=19, peaceful=0 })
des.monster({ id = "water nymph", x=25, y=18, peaceful=0 })
-- Wandering the streets.
for i = 1, math.random(4,7) do
   des.monster({ id = "water nymph", coord = streets:rndcoord(1), peaceful=0 })
   des.monster({ id = "leprechaun", coord = streets:rndcoord(1), peaceful=0 })
end
for i = 1, math.random(7,10) do
   des.monster({ id = "chameleon", coord = streets:rndcoord(1), peaceful=0 })
end
-- NetHack Samurai Sam-fila.lua	$NHDT-Date: 1652196013 2022/05/10 15:20:13 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg="P", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster("d")
des.monster("wolf")
des.monster("wolf")
des.monster("wolf")
des.monster("wolf")
des.monster("wolf")
des.monster("stalker")
--
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack Samurai Sam-filb.lua	$NHDT-Date: 1652196013 2022/05/10 15:20:13 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
-------------                                  -------------
|...........|                                  |...........|
|...-----...|----------------------------------|...-----...|
|...|   |...|..................................|...|   |...|
|...-----..........................................-----...|
|...........|--S----------------------------S--|...........|
----...--------.|..........................|.--------...----
   |...|........+..........................+........|...|   
   |...|........+..........................+........|...|   
----...--------.|..........................|.--------...----
|...........|--S----------------------------S--|...........|
|...-----..........................................-----...|
|...|   |...|..................................|...|   |...|
|...-----...|----------------------------------|...-----...|
|...........|                                  |...........|
-------------                                  -------------
]]);
des.region(selection.area(00,00,59,15), "unlit")
-- Doors
des.door("closed",16,07)
des.door("closed",16,08)
des.door("closed",43,07)
des.door("closed",43,08)
--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster("d")
des.monster("wolf")
des.monster("wolf")
des.monster("wolf")
des.monster("wolf")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
--
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack Samurai Sam-goal.lua	$NHDT-Date: 1652196013 2022/05/10 15:20:13 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport");

des.map([[
                                             
           .......................           
       ......-------------------......       
    ......----.................----......    
   ....----.....-------------.....----....   
  ....--.....----...........----.....--....  
  ...||....---....---------....---....||...  
  ...|....--....---.......---....--....|...  
 ....|...||...---...--+--...---...||...|.... 
 ....|...|....|....|-...-|....|....|...|.... 
 ....|...|....|....+.....+....|....|...|.... 
 ....|...|....|....|-...-|....|....|...|.... 
 ....|...||...---...--+--...---...||...|.... 
  ...|....--....---.......---....--....|...  
  ...||....---....---------....---....||...  
  ....--.....----...........----.....--....  
   ....----.....-------------.....----....   
    ......----.................----......    
       ......-------------------......       
           .......................           
]]);
-- Dungeon Description
local place = { {02,11},{42,09} }
local placeidx = math.random(1, #place);

des.region(selection.area(00,00,44,19), "unlit")
-- Doors
des.door("closed",19,10)
des.door("closed",22,08)
des.door("closed",22,12)
des.door("closed",25,10)
-- Stairs
des.stair({ dir = "up", coord = place[placeidx] })

-- Holes in the concentric ring walls
local place = { {22,14},{30,10},{22, 6},{14,10} }
local placeidx = math.random(1, #place);
des.terrain(place[placeidx], ".")
local place = { {22, 4},{35,10},{22,16},{ 9,10} }
local placeidx = math.random(1, #place);
des.terrain(place[placeidx], ".")
local place = { {22, 2},{22,18} }
local placeidx = math.random(1, #place);
des.terrain(place[placeidx], ".")

-- Non diggable walls
des.non_diggable(selection.area(00,00,44,19))
-- Objects
des.object({ id = "tsurugi", x=22, y=10, buc="blessed", spe=0, name="The Tsurugi of Muramasa" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap("board",22,09)
des.trap("board",24,10)
des.trap("board",22,11)
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster("Ashikaga Takauji", 22, 10)
des.monster({ id = "samurai", peaceful=0 })
des.monster({ id = "samurai", peaceful=0 })
des.monster({ id = "samurai", peaceful=0 })
des.monster({ id = "samurai", peaceful=0 })
des.monster({ id = "samurai", peaceful=0 })
des.monster({ id = "ninja", peaceful=0 })
des.monster({ id = "ninja", peaceful=0 })
des.monster({ id = "ninja", peaceful=0 })
des.monster({ id = "ninja", peaceful=0 })
des.monster({ id = "ninja", peaceful=0 })
des.monster("wolf")
des.monster("wolf")
des.monster("wolf")
des.monster("wolf")
des.monster("d")
des.monster("d")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
-- NetHack Samurai Sam-loca.lua	$NHDT-Date: 1652196014 2022/05/10 15:20:14 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor");

des.map([[
............................................................................
............................................................................
........-----..................................................-----........
........|...|..................................................|...|........
........|...---..}..--+------------------------------+--..}..---...|........
........|-|...|.....|...|....|....|....|....|....|.|...|.....|...|-|........
..........|...-------...|....|....|....|....|....S.|...-------...|..........
..........|-|.........------+----+-+-------+-+--------.........|-|..........
............|..--------.|}........................}|.--------..|............
............|..+........+..........................+........+..|............
............|..+........+..........................+........+..|............
............|..--------.|}........................}|.--------..|............
..........|-|.........--------+-+-------+-+----+------.........|-|..........
..........|...-------...|.S....|....|....|....|....|...-------...|..........
........|-|...|.....|...|.|....|....|....|....|....|...|.....|...|-|........
........|...---..}..--+------------------------------+--..}..---...|........
........|...|..................................................|...|........
........-----..................................................-----........
............................................................................
............................................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
-- Doors
des.door("locked",22,04)
des.door("locked",22,15)
des.door("locked",53,04)
des.door("locked",53,15)
des.door("locked",49,06)
des.door("locked",26,13)
des.door("locked",28,07)
des.door("locked",30,12)
des.door("locked",33,07)
des.door("locked",32,12)
des.door("locked",35,07)
des.door("locked",40,12)
des.door("locked",43,07)
des.door("locked",42,12)
des.door("locked",45,07)
des.door("locked",47,12)
des.door("closed",15,09)
des.door("closed",15,10)
des.door("closed",24,09)
des.door("closed",24,10)
des.door("closed",51,09)
des.door("closed",51,10)
des.door("closed",60,09)
des.door("closed",60,10)
-- Stairs
des.stair("up", 10,10)
des.stair("down", 25,14)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Objects
des.object("*", 25, 05)
des.object("*", 26, 05)
des.object("*", 27, 05)
des.object("*", 28, 05)
des.object("*", 25, 06)
des.object("*", 26, 06)
des.object("*", 27, 06)
des.object("*", 28, 06)
--
des.object("[", 40, 05)
des.object("[", 41, 05)
des.object("[", 42, 05)
des.object("[", 43, 05)
des.object("[", 40, 06)
des.object("[", 41, 06)
des.object("[", 42, 06)
des.object("[", 43, 06)
--
des.object(")", 27, 13)
des.object(")", 28, 13)
des.object(")", 29, 13)
des.object(")", 30, 13)
des.object(")", 27, 14)
des.object(")", 28, 14)
des.object(")", 29, 14)
des.object(")", 30, 14)
--
des.object("(", 37, 13)
des.object("(", 38, 13)
des.object("(", 39, 13)
des.object("(", 40, 13)
des.object("(", 37, 14)
des.object("(", 38, 14)
des.object("(", 39, 14)
des.object("(", 40, 14)
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster({ id = "ninja", x=15, y=05, peaceful=0 })
des.monster({ id = "ninja", x=16, y=05, peaceful=0 })
des.monster("wolf", 17, 05)
des.monster("wolf", 18, 05)
des.monster({ id = "ninja", x=19, y=05, peaceful=0 })
des.monster("wolf", 15, 14)
des.monster("wolf", 16, 14)
des.monster({ id = "ninja", x=17, y=14, peaceful=0 })
des.monster({ id = "ninja", x=18, y=14, peaceful=0 })
des.monster("wolf", 56, 05)
des.monster({ id = "ninja", x=57, y=05, peaceful=0 })
des.monster("wolf", 58, 05)
des.monster("wolf", 59, 05)
des.monster({ id = "ninja", x=56, y=14, peaceful=0 })
des.monster("wolf", 57, 14)
des.monster({ id = "ninja", x=58, y=14, peaceful=0 })
des.monster("d", 59, 14)
des.monster("wolf", 60, 14)
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
des.monster("stalker")
--	"guards" for the central courtyard.
des.monster({ id = "samurai", x=30, y=05, peaceful=0 })
des.monster({ id = "samurai", x=31, y=05, peaceful=0 })
des.monster({ id = "samurai", x=32, y=05, peaceful=0 })
des.monster({ id = "samurai", x=32, y=14, peaceful=0 })
des.monster({ id = "samurai", x=33, y=14, peaceful=0 })
des.monster({ id = "samurai", x=34, y=14, peaceful=0 })
-- NetHack Samurai Sam-strt.lua	$NHDT-Date: 1695932714 2023/09/28 20:25:14 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Lord Sato
--	and receive your quest assignment.
--
--      The throne room designation produces random atmospheric
--      messages (until the room is entered) but this one doesn't
--      actually contain any throne.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
..............................................................PP............
...............................................................PP...........
..........---------------------------------------------------...PPP.........
..........|......|.........|...|..............|...|.........|....PPPPP......
......... |......|.........S...|..............|...S.........|.....PPPP......
..........|......|.........|---|..............|---|.........|.....PPP.......
..........+......|.........+...-------++-------...+.........|......PP.......
..........+......|.........|......................|.........|......PP.......
......... |......---------------------++--------------------|........PP.....
..........|.................................................|.........PP....
..........|.................................................|...........PP..
..........----------------------------------------...-------|............PP.
..........................................|.................|.............PP
.............. ................. .........|.................|..............P
............. } ............... } ........|.................|...............
.............. ........PP....... .........|.................|...............
.....................PPP..................|.................|...............
......................PP..................-------------------...............
............................................................................
............................................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region({ region={18,03, 26,07}, lit=1, type="throne", filled=2 })
-- Portal arrival zone
des.levregion({ region = {62,12,70,17}, type="branch" })
-- Stairs
des.stair("down", 29,04)
-- Doors
des.door("locked",10,06)
des.door("locked",10,07)
des.door("closed",27,04)
des.door("closed",27,06)
des.door("closed",38,06)
des.door("locked",38,08)
des.door("closed",39,06)
des.door("locked",39,08)
des.door("closed",50,04)
des.door("closed",50,06)
-- Lord Sato
des.monster({ id = "Lord Sato", coord = {20, 04}, inventory = function()
   des.object({ id = "splint mail", spe = 5, eroded=-1, buc="not-cursed" });
   des.object({ id = "katana", spe = 4, eroded=-1, buc="not-cursed" });
end })
-- The treasure of Lord Sato
des.object("chest", 20, 04)
-- roshi guards for the audience chamber
des.monster("roshi", 18, 04)
des.monster("roshi", 18, 05)
des.monster("roshi", 18, 06)
des.monster("roshi", 18, 07)
des.monster("roshi", 26, 04)
des.monster("roshi", 26, 05)
des.monster("roshi", 26, 06)
des.monster("roshi", 26, 07)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty.
des.monster({ id = "ninja", x=64, y=00, peaceful=0 })
des.monster("wolf", 65, 01)
des.monster({ id = "ninja", x=67, y=02, peaceful=0 })
des.monster({ id = "ninja", x=69, y=05, peaceful=0 })
des.monster({ id = "ninja", x=69, y=06, peaceful=0 })
des.monster("wolf", 69, 07)
des.monster({ id = "ninja", x=70, y=06, peaceful=0 })
des.monster({ id = "ninja", x=70, y=07, peaceful=0 })
des.monster({ id = "ninja", x=72, y=01, peaceful=0 })
des.monster("wolf", 75, 09)
des.monster({ id = "ninja", x=73, y=05, peaceful=0 })
des.monster({ id = "ninja", x=68, y=02, peaceful=0 })
des.monster("stalker")
-- NetHack gehennom sanctum.lua	$NHDT-Date: 1652196034 2022/05/10 15:20:34 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.5 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "nommap")
-- This is outside the main map, below, so we must do it before adding
-- that map and anchoring coordinates to it. This extends the invisible
-- barrier up to the top row, which falls outside the drawn map.
des.non_passwall(selection.area(39,00,41,00))
des.map([[
----------------------------------------------------------------------------
|             --------------                                               |
|             |............|             -------                           |
|       -------............-----         |.....|                           |
|       |......................|        --.....|            ---------      |
|    ----......................---------|......----         |.......|      |
|    |........---------..........|......+.........|     ------+---..|      |
|  ---........|.......|..........--S----|.........|     |........|..|      |
|  |..........|.......|.............|   |.........-------..----------      |
|  |..........|.......|..........----   |..........|....|..|......|        |
|  |..........|.......|..........|      --.......----+---S---S--..|        |
|  |..........---------..........|       |.......|.............|..|        |
|  ---...........................|       -----+-------S---------S---       |
|    |...........................|          |...| |......|    |....|--     |
|    ----.....................----          |...---....---  ---......|     |
|       |.....................|             |..........|    |.....----     |
|       -------...........-----             --...-------    |.....|        |
|             |...........|                  |...|          |.....|        |
|             -------------                  -----          -------        |
----------------------------------------------------------------------------
]]);
des.region({ region={15,07, 21,10}, lit=1, type="temple", filled=2, contents = function()
                des.door({ wall = "random", state = "secret" });
end })
des.altar({ x=18, y=08, align="noalign", type="sanctum" })
des.region({ region={41,06, 48,11}, lit=0, type="morgue", filled=1, irregular=1 })
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Invisible barrier separating the left & right halves of the level
des.non_passwall(selection.area(37,00,39,19))
-- Doors
des.door("closed",40,06)
des.door("locked",62,06)
des.door("closed",46,12)
des.door("closed",53,10)
-- Surround the temple with fire
des.trap("fire",13,05)
des.trap("fire",14,05)
des.trap("fire",15,05)
des.trap("fire",16,05)
des.trap("fire",17,05)
des.trap("fire",18,05)
des.trap("fire",19,05)
des.trap("fire",20,05)
des.trap("fire",21,05)
des.trap("fire",22,05)
des.trap("fire",23,05)
des.trap("fire",13,12)
des.trap("fire",14,12)
des.trap("fire",15,12)
des.trap("fire",16,12)
des.trap("fire",17,12)
des.trap("fire",18,12)
des.trap("fire",19,12)
des.trap("fire",20,12)
des.trap("fire",21,12)
des.trap("fire",22,12)
des.trap("fire",23,12)
des.trap("fire",13,06)
des.trap("fire",13,07)
des.trap("fire",13,08)
des.trap("fire",13,09)
des.trap("fire",13,10)
des.trap("fire",13,11)
des.trap("fire",23,06)
des.trap("fire",23,07)
des.trap("fire",23,08)
des.trap("fire",23,09)
des.trap("fire",23,10)
des.trap("fire",23,11)
-- Some traps.
des.trap("spiked pit")
des.trap("fire")
des.trap("sleep gas")
des.trap("anti magic")
des.trap("fire")
des.trap("magic")
-- Some random objects
des.object("[")
des.object("[")
des.object("[")
des.object("[")
des.object(")")
des.object(")")
des.object("*")
des.object("!")
des.object("!")
des.object("!")
des.object("!")
des.object("?")
des.object("?")
des.object("?")
des.object("?")
des.object("?")
-- Some monsters.
des.monster({ id = "horned devil", x=14,y=12,peaceful=0 })
des.monster({ id = "barbed devil", x=18,y=08,peaceful=0 })
des.monster({ id = "erinys", x=10,y=04,peaceful=0 })
des.monster({ id = "marilith", x=07,y=09,peaceful=0 })
des.monster({ id = "nalfeshnee", x=27,y=08,peaceful=0 })
-- Moloch's horde
des.monster({ id = "aligned cleric", x=20,y=03,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=15,y=04,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=11,y=05,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=11,y=07,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=11,y=09,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=11,y=12,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=15,y=13,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=17,y=13,align="noalign",peaceful=0 })
des.monster({ id = "aligned cleric", x=21,y=13,align="noalign",peaceful=0 })
-- A few nasties
des.monster("L")
des.monster("L")
des.monster("V")
des.monster("V")
des.monster("V")
des.stair("up", 63,15)
-- Teleporting to this level is allowed after the invocation creates its
-- entrance.  Force arrival in that case to be on rightmost third of level.
des.teleport_region({ region = {54,1,79,18}, region_islev=1, dir="down" })
-- NetHack sokoban soko1-1.lua	$NHDT-Date: 1652196034 2022/05/10 15:20:34 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.6 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "premapped", "sokoban", "solidify");
des.map([[
--------------------------
|........................|
|.......|---------------.|
-------.------         |.|
 |...........|         |.|
 |...........|         |.|
--------.-----         |.|
|............|         |.|
|............|         |.|
-----.--------   ------|.|
 |..........|  --|.....|.|
 |..........|  |.+.....|.|
 |.........|-  |-|.....|.|
-------.----   |.+.....+.|
|........|     |-|.....|--
|........|     |.+.....|  
|...|-----     --|.....|  
-----            -------  
]]);

place = selection.new();
place:set(16,11);
place:set(16,13);
place:set(16,15);

des.stair("down", 01, 01);
des.region(selection.area(00,00,25,17),"lit");
des.non_diggable(selection.area(00,00,25,17));
des.non_passwall(selection.area(00,00,25,17));

-- Boulders
des.object("boulder", 03, 05);
des.object("boulder", 05, 05);
des.object("boulder", 07, 05);
des.object("boulder", 09, 05);
des.object("boulder", 11, 05);
--
des.object("boulder", 04, 07);
des.object("boulder", 04, 08);
des.object("boulder", 06, 07);
des.object("boulder", 09, 07);
des.object("boulder", 11, 07);
--
des.object("boulder", 03, 12);
des.object("boulder", 04, 10);
des.object("boulder", 05, 12);
des.object("boulder", 06, 10);
des.object("boulder", 07, 11);
des.object("boulder", 08, 10);
des.object("boulder", 09, 12);
--
des.object("boulder", 03, 14);

-- prevent monster generation over the (filled) holes
des.exclusion({ type = "monster-generation", region = { 07,01, 23,01 } });
-- Traps
des.trap("hole", 07, 01);
des.trap("rolling boulder", 08, 01);
des.trap("hole", 09, 01);
des.trap("hole", 10, 01);
des.trap("hole", 11, 01);
des.trap("hole", 12, 01);
des.trap("hole", 13, 01);
des.trap("hole", 14, 01);
des.trap("hole", 15, 01);
des.trap("hole", 16, 01);
des.trap("hole", 17, 01);
des.trap("hole", 18, 01);
des.trap("hole", 19, 01);
des.trap("hole", 20, 01);
des.trap("hole", 21, 01);
des.trap("hole", 22, 01);
des.trap("hole", 23, 01);

des.monster({ id = "giant mimic", appear_as = "obj:boulder" });
des.monster({ id = "giant mimic", appear_as = "obj:boulder" });

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });

-- Rewards
des.door("locked", 23, 13);
des.door("closed", 17, 11);
des.door("closed", 17, 13);
des.door("closed", 17, 15);

des.region({ region={18,10, 22,16}, lit = 1, type = "zoo", filled = 1, irregular = 1 });

local pt = selection.rndcoord(place);
if percent(75) then
   des.object({ id="bag of holding", coord=pt,
		buc="not-cursed", achievement=1 });
else
   des.object({ id="amulet of reflection", coord=pt,
		buc="not-cursed", achievement=1 });
end
des.engraving({ coord = pt, type = "burn", text = "Elbereth" });
des.object({ id = "scroll of scare monster", coord = pt, buc = "cursed" });

-- NetHack sokoban soko1-2.lua	$NHDT-Date: 1652196034 2022/05/10 15:20:34 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.6 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "premapped", "sokoban", "solidify");

des.map([[
  ------------------------
  |......................|
  |..-------------------.|
----.|    -----        |.|
|..|.--  --...|        |.|
|.....|--|....|        |.|
|.....|..|....|        |.|
--....|......--        |.|
 |.......|...|   ------|.|
 |....|..|...| --|.....|.|
 |....|--|...| |.+.....|.|
 |.......|..-- |-|.....|.|
 ----....|.--  |.+.....+.|
    ---.--.|   |-|.....|--
     |.....|   |.+.....|  
     |..|..|   --|.....|  
     -------     -------  
]]);

local place = selection.new();
place:set(16,10);
place:set(16,12);
place:set(16,14);

des.stair("down", 06,15);
des.region(selection.area(00,00,25,16),"lit");
des.non_diggable(selection.area(00,00,25,16));
des.non_passwall(selection.area(00,00,25,16));

-- Boulders
des.object("boulder",04,04);
des.object("boulder",02,06);
des.object("boulder",03,06);
des.object("boulder",04,07);
des.object("boulder",05,07);
des.object("boulder",02,08);
des.object("boulder",05,08);
des.object("boulder",03,09);
des.object("boulder",04,09);
des.object("boulder",03,10);
des.object("boulder",05,10);
des.object("boulder",06,12);
--
des.object("boulder",07,14);
--
des.object("boulder",11,05);
des.object("boulder",12,06);
des.object("boulder",10,07);
des.object("boulder",11,07);
des.object("boulder",10,08);
des.object("boulder",12,09);
des.object("boulder",11,10);

-- prevent monster generation over the (filled) holes
des.exclusion({ type = "monster-generation", region = { 05,01, 23,01 } });
-- Traps
des.trap("rolling boulder",05,01)
des.trap("hole",06,01)
des.trap("hole",07,01)
des.trap("hole",08,01)
des.trap("hole",09,01)
des.trap("hole",10,01)
des.trap("hole",11,01)
des.trap("hole",12,01)
des.trap("hole",13,01)
des.trap("hole",14,01)
des.trap("hole",15,01)
des.trap("hole",16,01)
des.trap("hole",17,01)
des.trap("hole",18,01)
des.trap("hole",19,01)
des.trap("hole",20,01)
des.trap("hole",21,01)
des.trap("hole",22,01)
des.trap("hole",23,01)

des.monster({ id = "giant mimic", appear_as = "obj:boulder" });
des.monster({ id = "giant mimic", appear_as = "obj:boulder" });

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });

-- Rewards
des.door("locked",23,12)
des.door("closed",17,10)
des.door("closed",17,12)
des.door("closed",17,14)
des.region({ region={18,09, 22,15}, lit = 1, type = "zoo", filled = 1, irregular = 1 });

local pt = selection.rndcoord(place);
if percent(25) then
   des.object({ id="bag of holding", coord=pt,
		buc="not-cursed", achievement=1 });
else
   des.object({ id="amulet of reflection", coord=pt,
		buc="not-cursed", achievement=1 });
end
des.engraving({ coord = pt, type = "burn", text = "Elbereth" });
des.object({ id = "scroll of scare monster", coord = pt, buc = "cursed" });
-- NetHack sokoban soko2-1.lua	$NHDT-Date: 1652196035 2022/05/10 15:20:35 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "premapped", "sokoban", "solidify");

des.map([[
--------------------
|........|...|.....|
|.....-..|.-.|.....|
|..|.....|...|.....|
|-.|..-..|.-.|.....|
|...--.......|.....|
|...|...-...-|.....|
|...|..|...--|.....|
|-..|..|----------+|
|..................|
|...|..|------------
--------            
]]);
des.stair("down", 06,10);
des.stair("up", 16,04);
des.door("locked", 18,08);
des.region(selection.area(00,00, 19,11), "lit");
des.non_diggable(selection.area(00,00,19,11));
des.non_passwall(selection.area(00,00,19,11));

-- Boulders
des.object("boulder",02,02)
des.object("boulder",03,02)
--
des.object("boulder",05,03)
des.object("boulder",07,03)
des.object("boulder",07,02)
des.object("boulder",08,02)
--
des.object("boulder",10,03)
des.object("boulder",11,03)
--
des.object("boulder",02,07)
des.object("boulder",02,08)
des.object("boulder",03,09)
--
des.object("boulder",05,07)
des.object("boulder",06,06)

-- prevent monster generation over the (filled) holes
des.exclusion({ type = "monster-generation", region = { 07,09, 18,09 } });
-- Traps
des.trap("rolling boulder",07,09)
des.trap("hole",08,09)
des.trap("hole",09,09)
des.trap("hole",10,09)
des.trap("hole",11,09)
des.trap("hole",12,09)
des.trap("hole",13,09)
des.trap("hole",14,09)
des.trap("hole",15,09)
des.trap("hole",16,09)
des.trap("hole",17,09)

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });
-- NetHack sokoban soko2-2.lua	$NHDT-Date: 1652196035 2022/05/10 15:20:35 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "premapped", "sokoban", "solidify");

des.map([[
  --------            
--|.|....|            
|........|----------  
|.-...-..|.|.......|  
|...-......|.......|  
|.-....|...|.......|  
|....-.--.-|.......|  
|..........|.......|  
|.--...|...|.......---
|....-.|---|.......+.|
--|....|------------.|
  |................+.|
  --------------------
]]);
des.stair("down", 06,11)
des.stair("up", 15,06)
des.door("locked",19,09)
des.door("locked",19,11)
des.region(selection.area(00,00,21,12), "lit");
des.non_diggable(selection.area(00,00,21,12));
des.non_passwall(selection.area(00,00,21,12));

-- Boulders
des.object("boulder",04,02)
des.object("boulder",04,03)
des.object("boulder",05,03)
des.object("boulder",07,03)
des.object("boulder",08,03)
des.object("boulder",02,04)
des.object("boulder",03,04)
des.object("boulder",05,05)
des.object("boulder",06,06)
des.object("boulder",09,06)
des.object("boulder",03,07)
des.object("boulder",04,07)
des.object("boulder",07,07)
des.object("boulder",06,09)
des.object("boulder",05,10)
des.object("boulder",05,11)

-- prevent monster generation over the (filled) holes
des.exclusion({ type = "monster-generation", region = { 06,11, 18,11 } });
-- Traps
des.trap("rolling boulder",07,11)
des.trap("hole",08,11)
des.trap("hole",09,11)
des.trap("hole",10,11)
des.trap("hole",11,11)
des.trap("hole",12,11)
des.trap("hole",13,11)
des.trap("hole",14,11)
des.trap("hole",15,11)
des.trap("hole",16,11)
des.trap("hole",17,11)
des.trap("hole",18,11)

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });
-- NetHack sokoban soko3-1.lua	$NHDT-Date: 1652196035 2022/05/10 15:20:35 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "premapped", "sokoban", "solidify");

des.map([[
-----------       -----------
|....|....|--     |.........|
|....|......|     |.........|
|.........|--     |.........|
|....|....|       |.........|
|-.---------      |.........|
|....|.....|      |.........|
|....|.....|      |.........|
|..........|      |.........|
|....|.....|---------------+|
|....|......................|
-----------------------------
]]);
des.stair("down", 11,02)
des.stair("up", 23,04)
des.door("locked", 27,09)
des.region(selection.area(00,00,28,11), "lit")
des.non_diggable(selection.area(00,00,28,11))
des.non_passwall(selection.area(00,00,28,11))

-- Boulders
des.object("boulder",03,02)
des.object("boulder",04,02)
--
des.object("boulder",06,02)
des.object("boulder",06,03)
des.object("boulder",07,02)
--
des.object("boulder",03,06)
des.object("boulder",02,07)
des.object("boulder",03,07)
des.object("boulder",03,08)
des.object("boulder",02,09)
des.object("boulder",03,09)
des.object("boulder",04,09)
--
des.object("boulder",06,07)
des.object("boulder",06,09)
des.object("boulder",08,07)
des.object("boulder",08,10)
des.object("boulder",09,08)
des.object("boulder",09,09)
des.object("boulder",10,07)
des.object("boulder",10,10)

-- prevent monster generation over the (filled) holes
des.exclusion({ type = "monster-generation", region = { 11,10, 27,10 } });
-- Traps
des.trap("rolling boulder",11,10)
des.trap("hole",12,10)
des.trap("hole",13,10)
des.trap("hole",14,10)
des.trap("hole",15,10)
des.trap("hole",16,10)
des.trap("hole",17,10)
des.trap("hole",18,10)
des.trap("hole",19,10)
des.trap("hole",20,10)
des.trap("hole",21,10)
des.trap("hole",22,10)
des.trap("hole",23,10)
des.trap("hole",24,10)
des.trap("hole",25,10)
des.trap("hole",26,10)

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });

-- NetHack sokoban soko3-2.lua	$NHDT-Date: 1652196036 2022/05/10 15:20:36 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "premapped", "sokoban", "solidify");

des.map([[
 ----          -----------
-|..|-------   |.........|
|..........|   |.........|
|..-----.-.|   |.........|
|..|...|...|   |.........|
|.........-|   |.........|
|.......|..|   |.........|
|.----..--.|   |.........|
|........|.--  |.........|
|.---.-.....------------+|
|...|...-................|
|.........----------------
----|..|..|               
    -------               
]]);
des.stair("down", 03,01)
des.stair("up", 20,04)
des.door("locked",24,09)
des.region(selection.area(00,00,25,13), "lit")
des.non_diggable(selection.area(00,00,25,13))
des.non_passwall(selection.area(00,00,25,13))

-- Boulders
des.object("boulder",02,03)
des.object("boulder",08,03)
des.object("boulder",09,04)
des.object("boulder",02,05)
des.object("boulder",04,05)
des.object("boulder",09,05)
des.object("boulder",02,06)
des.object("boulder",05,06)
des.object("boulder",06,07)
des.object("boulder",03,08)
des.object("boulder",07,08)
des.object("boulder",05,09)
des.object("boulder",10,09)
des.object("boulder",07,10)
des.object("boulder",10,10)
des.object("boulder",03,11)

-- prevent monster generation over the (filled) holes
des.exclusion({ type = "monster-generation", region = { 11,10, 24,10 } });
-- Traps
des.trap("rolling boulder",11,10)
des.trap("hole",12,10)
des.trap("hole",13,10)
des.trap("hole",14,10)
des.trap("hole",15,10)
des.trap("hole",16,10)
des.trap("hole",17,10)
des.trap("hole",18,10)
des.trap("hole",19,10)
des.trap("hole",20,10)
des.trap("hole",21,10)
des.trap("hole",22,10)
des.trap("hole",23,10)

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });

-- NetHack sokoban soko4-1.lua	$NHDT-Date: 1652196036 2022/05/10 15:20:36 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
--
-- In case you haven't played the game Sokoban, you'll learn
-- quickly.  This branch isn't particularly difficult, just time
-- consuming.  Some players may wish to skip this branch.
--
-- The following actions are currently permitted without penalty:
--   Carrying or throwing a boulder already in inventory
--     (player or nonplayer).
--   Teleporting boulders.
--   Digging in the floor.
-- The following actions are permitted, but with a luck penalty:
--   Breaking boulders.
--   Stone-to-fleshing boulders.
--   Creating new boulders (e.g., with a scroll of earth).
--   Jumping.
--   Being pulled by a thrown iron ball.
--   Hurtling through the air from Newton's 3rd law.
--   Squeezing past boulders when naked or as a giant.
-- These actions are not permitted:
--   Moving diagonally between two boulders and/or walls.
--   Pushing a boulder diagonally.
--   Picking up boulders (player or nonplayer).
--   Digging or walking through walls.
--   Teleporting within levels or between levels of this branch.
--   Using cursed potions of gain level.
--   Escaping a pit/hole (e.g., by flying, levitation, or
--     passing a dexterity check).
--   Bones files are not permitted.


--## Bottom (first) level of Sokoban ###
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "premapped", "sokoban", "solidify");

des.map([[
------  ----- 
|....|  |...| 
|....----...| 
|...........| 
|..|-|.|-|..| 
---------|.---
|......|.....|
|..----|.....|
--.|   |.....|
 |.|---|.....|
 |...........|
 |..|---------
 ----         
]]);
des.levregion({ region = {06,04,06,04}, type = "branch" })
des.stair("up", 06,06)
des.region(selection.area(00,00,13,12), "lit")
des.non_diggable(selection.area(00,00,13,12))
des.non_passwall(selection.area(00,00,13,12))

-- Boulders
des.object("boulder",02,02)
des.object("boulder",02,03)
--
des.object("boulder",10,02)
des.object("boulder",09,03)
des.object("boulder",10,04)
--
des.object("boulder",08,07)
des.object("boulder",09,08)
des.object("boulder",09,09)
des.object("boulder",08,10)
des.object("boulder",10,10)

-- prevent monster generation over the (filled) pits
des.exclusion({ type = "monster-generation", region = { 01,06, 07,11 } });

-- Traps
des.trap("pit",04,06)

des.trap("pit",02,06)
des.trap("pit",02,07)
des.trap("pit",02,08)
des.trap("rolling boulder",02,09)

des.trap("pit",02,10)
des.trap("pit",03,10)
des.trap("pit",04,10)
des.trap("pit",05,10)
des.trap("pit",06,10)
des.trap("rolling boulder",07,10)

-- A little help
des.object("scroll of earth",02,11)
des.object("scroll of earth",03,11)

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });

-- NetHack sokoban soko4-2.lua	$NHDT-Date: 1652196036 2022/05/10 15:20:36 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1998-1999 by Kevin Hugo
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "premapped", "sokoban", "solidify");

des.map([[
-------- ------
|.|....|-|....|
|.|-..........|
|.||....|.....|
|.||....|.....|
|.|-----|.-----
|.|    |......|
|.-----|......|
|.............|
|..|---|......|
----   --------
]]);
des.levregion({ region = {03,01,03,01}, type = "branch" })
des.stair("up", 01,01)
des.region(selection.area(00,00,14,10),"lit")
des.non_diggable(selection.area(00,00,14,10))
des.non_passwall(selection.area(00,00,14,10))

-- Boulders
des.object("boulder",05,02)
des.object("boulder",06,02)
des.object("boulder",06,03)
des.object("boulder",07,03)
--
des.object("boulder",09,05)
des.object("boulder",10,03)
des.object("boulder",11,02)
des.object("boulder",12,03)
--
des.object("boulder",07,08)
des.object("boulder",08,08)
des.object("boulder",09,08)
des.object("boulder",10,08)

-- prevent monster generation over the (filled) pits
des.exclusion({ type = "monster-generation", region = { 01,01, 01,09 } });
des.exclusion({ type = "monster-generation", region = { 01,08, 07,09 } });
-- Traps
des.trap("pit",01,02)
des.trap("pit",01,03)
des.trap("pit",01,04)
des.trap("pit",01,05)
des.trap("pit",01,06)
des.trap("rolling boulder",01,07)

des.trap("pit",01,08)
des.trap("pit",02,08)
des.trap("pit",03,08)
des.trap("pit",04,08)
des.trap("pit",05,08)
des.trap("rolling boulder",06,08)

-- A little help
des.object("scroll of earth",01,09)
des.object("scroll of earth",02,09)

-- Random objects
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "%" });
des.object({ class = "=" });
des.object({ class = "/" });


-- NetHack themerms.lua	$NHDT-Date: 1744445274 2025/04/12 00:07:54 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.40 $
--	Copyright (c) 2020 by Pasi Kallinen
-- NetHack may be freely redistributed.  See license for details.
--
-- themerooms is an array of tables.
-- the tables define "name", "frequency", "contents", "mindiff" and "maxdiff".
-- * "name" is not shown in-game; it is so that developers can specify a
--   certain room to generate by using the THEMERM or THEMERMFILL environment
--   variable. While technically optional, it should be provided on all the
--   rooms; if it isn't, the room can't be directly specified.
-- * "frequency" is optional; if omitted, 1 is assumed.
-- * "contents" is a function describing what gets put into the room.
-- * "mindiff" and "maxdiff" are optional and independent; if omitted, the
--    room is not constrained by level difficulty.
-- * "eligible" is optional; if omitted, True is assumed.
--
-- themeroom_fills is an array of tables with the exact same structure as
-- themerooms. It is used for contents of a room that are independent of its
-- shape, so that interestingly-shaped themerooms can be filled with a variety
-- of contents.
-- * The "contents" functions in themeroom_fills take the room they are
--   filling as an argument.
-- * Frequency of themeroom_fills is a separate pool from themerooms, and has
--   no effect on how likely that any given room will receive a themeroom_fill.
--
-- des.room({ type = "ordinary", filled = 1 })
--   - ordinary rooms can be converted to shops or any other special rooms.
--   - filled = 1 means the room gets random room contents, even if it
--     doesn't get converted into a special room. Without filled,
--     the room only gets what you define in here.
--   - use type = "themed" to force a room that's never converted
--     to a special room, such as a shop or a temple.
--
-- for each level, the core first calls pre_themerooms_generate(),
-- then it calls themerooms_generate() multiple times until it decides
-- enough rooms have been generated, and then it calls
-- post_themerooms_generate(). When the level has been generated, with
-- joining corridors and rooms filled, the core calls post_level_generate().
-- The lua state is persistent through the gameplay, but not across saves,
-- so remember to reset any variables.

local postprocess = { };

themeroom_fills = {

   {
      name = "Ice room",
      contents = function(rm)
         local ice = selection.room();
         des.terrain(ice, "I");
         if (percent(25)) then
            local mintime = 1000 - (nh.level_difficulty() * 100);
            local ice_melter = function(x,y)
               nh.start_timer_at(x,y, "melt-ice", mintime + nh.rn2(1000));
            end;
            ice:iterate(ice_melter);
         end
      end,
   },

   {
      name = "Cloud room",
      contents = function(rm)
         local fog = selection.room();
         for i = 1, (fog:numpoints() / 4) do
            des.monster({ id = "fog cloud", asleep = true });
         end
         des.gas_cloud({ selection = fog });
      end,
   },

   {
      name = "Boulder room",
      mindiff = 4,
      contents = function(rm)
         local locs = selection.room():percentage(30);
         local func = function(x,y)
            if (percent(50)) then
               des.object("boulder", x, y);
            else
               des.trap("rolling boulder", x, y);
            end
         end;
         locs:iterate(func);
      end,
   },

   {
      name = "Spider nest",
      contents = function(rm)
         local spooders = nh.level_difficulty() > 8;
         local locs = selection.room():percentage(30);
         local func = function(x,y)
            des.trap({ type = "web", x = x, y = y,
                       spider_on_web = spooders and percent(80) });
         end
         locs:iterate(func);
      end,
   },

   {
      name = "Trap room",
      contents = function(rm)
         local traps = { "arrow", "dart", "falling rock", "bear",
                        "land mine", "sleep gas", "rust",
                        "anti magic" };
         shuffle(traps);
         local locs = selection.room():percentage(30);
         local func = function(x,y)
            des.trap(traps[1], x, y);
         end
         locs:iterate(func);
      end,
   },

   {
      name = "Garden",
      eligible = function(rm) return rm.lit == true; end,
      contents = function(rm)
         local s = selection.room();
         local npts = (s:numpoints() / 6);
         for i = 1, npts do
            des.monster({ id = "wood nymph", asleep = true });
            if (percent(30)) then
               des.feature("fountain");
            end
         end
         table.insert(postprocess, { handler = make_garden_walls,
                                     data = { sel = selection.room() } });
      end
   },

   {
      name = "Buried treasure",
      contents = function(rm)
         des.object({ id = "chest", buried = true, contents = function(otmp)
            local xobj = otmp:totable();
            -- keep track of the last buried treasure
            if (xobj.NO_OBJ == nil) then
               table.insert(postprocess, { handler = make_dig_engraving,
                                        data = { x = xobj.ox, y = xobj.oy }});
            end
            for i = 1, d(3,4) do
               des.object();
            end
         end });
      end,
   },

   {
      name = "Buried zombies",
      contents = function(rm)
         local diff = nh.level_difficulty()
         -- start with [1..4] for low difficulty
         local zombifiable = { "kobold", "gnome", "orc", "dwarf" };
         if diff > 3 then          -- medium difficulty
            zombifiable[5], zombifiable[6] = "elf", "human";
            if diff > 6 then       -- high difficulty (relatively speaking)
               zombifiable[7], zombifiable[8] = "ettin", "giant";
            end
         end
         for i = 1, (rm.width * rm.height) / 2 do
            shuffle(zombifiable);
            local o = des.object({ id = "corpse", montype = zombifiable[1],
                                 buried = true });
            o:stop_timer("rot-corpse");
            o:start_timer("zombify-mon", math.random(990, 1010));
         end
      end,
   },

   {
      name = "Massacre",
      contents = function(rm)
         local mon = { "apprentice", "warrior", "ninja", "thug",
                     "hunter", "acolyte", "abbot", "page",
                     "attendant", "neanderthal", "chieftain",
                     "student", "wizard", "valkyrie", "tourist",
                     "samurai", "rogue", "ranger", "priestess",
                     "priest", "monk", "knight", "healer",
                     "cavewoman", "caveman", "barbarian",
                     "archeologist" };
         local idx = math.random(#mon);
         for i = 1, d(5,5) do
            if (percent(10)) then idx = math.random(#mon); end
            des.object({ id = "corpse", montype = mon[idx] });
         end
      end,
   },

   {
      name = "Statuary",
      contents = function(rm)
         for i = 1, d(5,5) do
            des.object({ id = "statue" });
         end
         for i = 1, d(3) do
            des.trap("statue");
         end
      end,
   },


   {
      name = "Light source",
      eligible = function(rm) return rm.lit == false; end,
      contents = function(rm)
         des.object({ id = "oil lamp", lit = true });
      end
   },

   {
      name = "Temple of the gods",
      contents = function(rm)
         des.altar({ align = align[1] });
         des.altar({ align = align[2] });
         des.altar({ align = align[3] });
      end,
   },

   {
      name = "Ghost of an Adventurer",
      contents = function(rm)
         local loc = selection.room():rndcoord(0);
         des.monster({ id = "ghost", asleep = true, waiting = true,
                       coord = loc });
         if percent(65) then
            des.object({ id = "dagger", coord = loc, buc = "not-blessed" });
         end
         if percent(55) then
            des.object({ class = ")", coord = loc, buc = "not-blessed" });
         end
         if percent(45) then
            des.object({ id = "bow", coord = loc, buc = "not-blessed" });
            des.object({ id = "arrow", coord = loc, buc = "not-blessed" });
         end
         if percent(65) then
            des.object({ class = "[", coord = loc, buc = "not-blessed" });
         end
         if percent(20) then
            des.object({ class = "=", coord = loc, buc = "not-blessed" });
         end
         if percent(20) then
            des.object({ class = "?", coord = loc, buc = "not-blessed" });
         end
      end,
   },

   {
      name = "Storeroom",
      contents = function(rm)
         local locs = selection.room():percentage(30);
         local func = function(x,y)
            if (percent(25)) then
               des.object("chest");
            else
               des.monster({ class = "m", appear_as = "obj:chest" });
            end
         end;
         locs:iterate(func);
      end,
   },

   {
      name = "Teleportation hub",
      contents = function(rm)
         local locs = selection.room():filter_mapchar(".");
         for i = 1, 2 + nh.rn2(3) do
            local pos = locs:rndcoord(1);
            if (pos.x > 0) then
               pos.x = pos.x + rm.region.x1 - 1;
               pos.y = pos.y + rm.region.y1;
               table.insert(postprocess, { handler = make_a_trap,
                                      data = { type = "teleport", seen = true,
                                               coord = pos, teledest = 1 } });
            end
         end
      end,
   },
};

themerooms = {
   {
      name = "default",
      frequency = 1000,
      contents = function()
         des.room({ type = "ordinary", filled = 1 });
      end
   },

   {
      name = "Fake Delphi",
      contents = function()
         des.room({ type = "ordinary", w = 11,h = 9, filled = 1,
                  contents = function()
                     des.room({ type = "ordinary", x = 4,y = 3, w = 3,h = 3,
                                filled = 1,
                                contents = function()
                                   des.door({ state="random", wall="all" });
                                end
                     });
                  end
         });
      end,
   },

   {
      name = "Room in a room",
      contents = function()
         des.room({ type = "ordinary", filled = 1,
                  contents = function()
                     des.room({ type = "ordinary",
                                contents = function()
                                   des.door({ state="random", wall="all" });
                                end
                     });
                  end
         });
      end,
   },

   {
      name = "Huge room with another room inside",
      contents = function()
         des.room({ type = "ordinary", w = nh.rn2(10)+11,h = nh.rn2(5)+8,
                    filled = 1,
            contents = function()
               if (percent(90)) then
                  des.room({ type = "ordinary", filled = 1,
                             contents = function()
                                des.door({ state="random", wall="all" });
                                   if (percent(50)) then
                                      des.door({ state="random", wall="all" });
                                   end
                              end
                  });
               end
            end
         });
      end,
   },

   {
      name = "Nesting rooms",
      contents = function()
         des.room({ type = "ordinary", w = 9 + nh.rn2(4), h = 9 + nh.rn2(4),
                    filled = 1,
            contents = function(rm)
               local wid = math.random(math.floor(rm.width / 2), rm.width - 2);
               local hei = math.random(math.floor(rm.height / 2),
                                       rm.height - 2);
               des.room({ type = "ordinary", w = wid,h = hei, filled = 1,
                  contents = function()
                     if (percent(90)) then
                        des.room({ type = "ordinary", filled = 1,
                           contents = function()
                              des.door({ state="random", wall="all" });
                              if (percent(15)) then
                                 des.door({ state="random", wall="all" });
                              end
                           end
                        });
                     end
                     des.door({ state="random", wall="all" });
                     if (percent(15)) then
                        des.door({ state="random", wall="all" });
                     end
                  end
               });
            end
         });
      end,
   },

   {
      name = "Default room with themed fill",
      frequency = 6,
      contents = function()
         des.room({ type = "themed", contents = themeroom_fill });
      end
   },

   {
      name = "Unlit room with themed fill",
      frequency = 2,
      contents = function()
         des.room({ type = "themed", lit = 0, contents = themeroom_fill });
      end
   },

   {
      name = "Room with both normal contents and themed fill",
      frequency = 2,
      contents = function()
         des.room({ type = "themed", filled = 1, contents = themeroom_fill });
      end
   },

   {
      name = 'Pillars',
      contents = function()
         des.room({ type = "themed", w = 10, h = 10,
                  contents = function(rm)
                     local terr = { "-", "-", "-", "-", "L", "P", "T" };
                     shuffle(terr);
                     for x = 0, (rm.width / 4) - 1 do
                        for y = 0, (rm.height / 4) - 1 do
                           des.terrain({ x = x * 4 + 2, y = y * 4 + 2, typ = terr[1], lit = -2 });
                           des.terrain({ x = x * 4 + 3, y = y * 4 + 2, typ = terr[1], lit = -2 });
                           des.terrain({ x = x * 4 + 2, y = y * 4 + 3, typ = terr[1], lit = -2 });
                           des.terrain({ x = x * 4 + 3, y = y * 4 + 3, typ = terr[1], lit = -2 });
                        end
                     end
                  end
         });
      end,
   },

   {
      name = 'Mausoleum',
      contents = function()
         des.room({ type = "themed", w = 5 + nh.rn2(3)*2, h = 5 + nh.rn2(3)*2,
                  contents = function(rm)
                     des.room({ type = "themed",
                                 x = (rm.width - 1) / 2, y = (rm.height - 1) / 2,
                                 w = 1, h = 1, joined = false,
                                 contents = function()
                                    if (percent(50)) then
                                       local mons = { "M", "V", "L", "Z" };
                                       shuffle(mons);
                                       des.monster({ class = mons[1], x=0,y=0, waiting = 1 });
                                    else
                                       des.object({ id = "corpse", montype = "@", coord = {0,0} });
                                    end
                                    if (percent(20)) then
                                       des.door({ state="secret", wall="all" });
                                    end
                                 end
                     });
                  end
         });
      end,
   },

   {
      name = 'Random dungeon feature in the middle of an odd-sized room',
      contents = function()
         local wid = 3 + (nh.rn2(3) * 2);
         local hei = 3 + (nh.rn2(3) * 2);
         des.room({ type = "ordinary", filled = 1, w = wid, h = hei,
                  contents = function(rm)
                     local feature = { "C", "L", "I", "P", "T" };
                     shuffle(feature);
                     des.terrain((rm.width - 1) / 2, (rm.height - 1) / 2,
                                 feature[1]);
                  end
         });
      end,
   },

   {
      name = 'L-shaped',
      contents = function()
         des.map({ map = [[
-----xxx
|...|xxx
|...|xxx
|...----
|......|
|......|
|......|
--------]], contents = function(m) filler_region(1,1); end });
      end,
   },

   {
      name = 'L-shaped, rot 1',
      contents = function()
         des.map({ map = [[
xxx-----
xxx|...|
xxx|...|
----...|
|......|
|......|
|......|
--------]], contents = function(m) filler_region(5,1); end });
      end,
   },

   {
      name = 'L-shaped, rot 2',
      contents = function()
         des.map({ map = [[
--------
|......|
|......|
|......|
----...|
xxx|...|
xxx|...|
xxx-----]], contents = function(m) filler_region(1,1); end });
      end,
   },

   {
      name = 'L-shaped, rot 3',
      contents = function()
         des.map({ map = [[
--------
|......|
|......|
|......|
|...----
|...|xxx
|...|xxx
-----xxx]], contents = function(m) filler_region(1,1); end });
      end,
   },

   {
      name = 'Blocked center',
      contents = function()
         des.map({ map = [[
-----------
|.........|
|.........|
|.........|
|...LLL...|
|...LLL...|
|...LLL...|
|.........|
|.........|
|.........|
-----------]], contents = function(m)
            if (percent(30)) then
               local terr = { "-", "P" };
               shuffle(terr);
               des.replace_terrain({ region = {1,1, 9,9},
                                     fromterrain = "L",
                                     toterrain = terr[1] });
            end
            filler_region(1,1);
         end });
      end,
   },

   {
      name = 'Circular, small',
      contents = function()
         des.map({ map = [[
xx---xx
x--.--x
--...--
|.....|
--...--
x--.--x
xx---xx]], contents = function(m) filler_region(3,3); end });
      end,
   },

   {
      name = 'Circular, medium',
      contents = function()
         des.map({ map = [[
xx-----xx
x--...--x
--.....--
|.......|
|.......|
|.......|
--.....--
x--...--x
xx-----xx]], contents = function(m) filler_region(4,4); end });
      end,
   },

   {
      name = 'Circular, big',
      contents = function()
         des.map({ map = [[
xxx-----xxx
x---...---x
x-.......-x
--.......--
|.........|
|.........|
|.........|
--.......--
x-.......-x
x---...---x
xxx-----xxx]], contents = function(m) filler_region(5,5); end });
      end,
   },

   {
      name = 'T-shaped',
      contents = function()
         des.map({ map = [[
xxx-----xxx
xxx|...|xxx
xxx|...|xxx
----...----
|.........|
|.........|
|.........|
-----------]], contents = function(m) filler_region(5,5); end });
      end,
   },

   {
      name = 'T-shaped, rot 1',
      contents = function()
         des.map({ map = [[
-----xxx
|...|xxx
|...|xxx
|...----
|......|
|......|
|......|
|...----
|...|xxx
|...|xxx
-----xxx]], contents = function(m) filler_region(2,2); end });
      end,
   },

   {
      name = 'T-shaped, rot 2',
      contents = function()
         des.map({ map = [[
-----------
|.........|
|.........|
|.........|
----...----
xxx|...|xxx
xxx|...|xxx
xxx-----xxx]], contents = function(m) filler_region(2,2); end });
      end,
   },

   {
      name = 'T-shaped, rot 3',
      contents = function()
         des.map({ map = [[
xxx-----
xxx|...|
xxx|...|
----...|
|......|
|......|
|......|
----...|
xxx|...|
xxx|...|
xxx-----]], contents = function(m) filler_region(5,5); end });
      end,
   },

   {
      name = 'S-shaped',
      contents = function()
         des.map({ map = [[
-----xxx
|...|xxx
|...|xxx
|...----
|......|
|......|
|......|
----...|
xxx|...|
xxx|...|
xxx-----]], contents = function(m) filler_region(2,2); end });
      end,
   },

   {
      name = 'S-shaped, rot 1',
      contents = function()
         des.map({ map = [[
xxx--------
xxx|......|
xxx|......|
----......|
|......----
|......|xxx
|......|xxx
--------xxx]], contents = function(m) filler_region(5,5); end });
      end,
   },

   {
      name = 'Z-shaped',
      contents = function()
         des.map({ map = [[
xxx-----
xxx|...|
xxx|...|
----...|
|......|
|......|
|......|
|...----
|...|xxx
|...|xxx
-----xxx]], contents = function(m) filler_region(5,5); end });
      end,
   },

   {
      name = 'Z-shaped, rot 1',
      contents = function()
         des.map({ map = [[
--------xxx
|......|xxx
|......|xxx
|......----
----......|
xxx|......|
xxx|......|
xxx--------]], contents = function(m) filler_region(2,2); end });
      end,
   },

   {
      name = 'Cross',
      contents = function()
         des.map({ map = [[
xxx-----xxx
xxx|...|xxx
xxx|...|xxx
----...----
|.........|
|.........|
|.........|
----...----
xxx|...|xxx
xxx|...|xxx
xxx-----xxx]], contents = function(m) filler_region(6,6); end });
      end,
   },

   {
      name = 'Four-leaf clover',
      contents = function()
         des.map({ map = [[
-----x-----
|...|x|...|
|...---...|
|.........|
---.....---
xx|.....|xx
---.....---
|.........|
|...---...|
|...|x|...|
-----x-----]], contents = function(m) filler_region(6,6); end });
      end,
   },

   {
      name = 'Water-surrounded vault',
      contents = function()
         des.map({ map = [[
}}}}}}
}----}
}|..|}
}|..|}
}----}
}}}}}}]], contents = function(m)
            des.region({ region={3,3,3,3}, type="themed", irregular=true,
                         filled=0, joined=false });
            local nasty_undead = { "giant zombie", "ettin zombie", "vampire lord" };
            local chest_spots = { { 2, 2 }, { 3, 2 }, { 2, 3 }, { 3, 3 } };

            shuffle(chest_spots)
            -- Guarantee an escape item inside one of the chests, to prevent
            -- the hero falling in from above and becoming permanently stuck
            -- [cf. generate_way_out_method(sp_lev.c)].
            -- If the escape item is made of glass or crystal, make sure that
            -- the chest isn't locked so that kicking it to gain access to its
            -- contents won't be necessary; otherwise retain lock state from
            -- random creation.
            -- "pick-axe", "dwarvish mattock" could be included in the list of
            -- escape items but don't normally generate in containers.
            local escape_items = {
               "scroll of teleportation", "ring of teleportation",
               "wand of teleportation", "wand of digging"
            };
            local itm = obj.new(escape_items[math.random(#escape_items)]);
            local itmcls = itm:class()
            local box
            if itmcls[ "material" ] == "glass" then
                  -- explicitly force chest to be unlocked
                  box = des.object({ id = "chest", coord = chest_spots[1],
                                    olocked = "no" });
            else
                  -- accept random locked/unlocked state
                  box = des.object({ id = "chest", coord = chest_spots[1] });
            end;
            box:addcontent(itm);

            for i = 2, #chest_spots do
                  des.object({ id = "chest", coord = chest_spots[i] });
            end

            shuffle(nasty_undead);
            des.monster(nasty_undead[1], 2, 2);
            des.exclusion({ type = "teleport", region = { 2,2, 3,3 } });
         end });
      end,
   },

   {
      name = 'Twin businesses',
      mindiff = 4, -- arbitrary
      contents = function()
         -- Due to the way room connections work in mklev.c, we must guarantee
         -- that the "aisle" between the shops touches all four walls of the
         -- larger room. Thus it has an extra width and height.
         des.room({ type="themed", w=9, h=5, contents = function()
               -- There are eight possible placements of the two shops, four of
               -- which have the vertical aisle in the center.
               southeast = function() return percent(50) and "south" or "east" end
               northeast = function() return percent(50) and "north" or "east" end
               northwest = function() return percent(50) and "north" or "west" end
               southwest = function() return percent(50) and "south" or "west" end
               placements = {
                  { lx = 1, ly = 1, rx = 4, ry = 1, lwall = "south", rwall = southeast() },
                  { lx = 1, ly = 2, rx = 4, ry = 2, lwall = "north", rwall = northeast() },
                  { lx = 1, ly = 1, rx = 5, ry = 1, lwall = southeast(), rwall = southwest() },
                  { lx = 1, ly = 1, rx = 5, ry = 2, lwall = southeast(), rwall = northwest() },
                  { lx = 1, ly = 2, rx = 5, ry = 1, lwall = northeast(), rwall = southwest() },
                  { lx = 1, ly = 2, rx = 5, ry = 2, lwall = northeast(), rwall = northwest() },
                  { lx = 2, ly = 1, rx = 5, ry = 1, lwall = southwest(), rwall = "south" },
                  { lx = 2, ly = 2, rx = 5, ry = 2, lwall = northwest(), rwall = "north" }
               }
               ltype,rtype = "weapon shop","armor shop"
               if percent(50) then
                  ltype,rtype = rtype,ltype
               end
               shopdoorstate = function()
                  if percent(1) then
                     return "locked"
                  elseif percent(50) then
                     return "closed"
                  else
                     return "open"
                  end
               end
               p = placements[d(#placements)]
               des.room({ type=ltype, x=p["lx"], y=p["ly"], w=3, h=3, filled=1, joined=false,
                           contents = function()
                     des.door({ state=shopdoorstate(), wall=p["lwall"] })
                  end
               });
               des.room({ type=rtype, x=p["rx"], y=p["ry"], w=3, h=3, filled=1, joined=false,
                           contents = function()
                     des.door({ state=shopdoorstate(), wall=p["rwall"] })
                  end
               });
            end
         });
      end
   },

};

-- store these at global scope, they will be reinitialized in
-- pre_themerooms_generate
debug_rm_idx = nil
debug_fill_idx = nil

-- Given a point in a themed room, ensure that themed room is stocked with
-- regular room contents.
-- With 30% chance, also give it a random themed fill.
function filler_region(x, y)
   local rmtyp = "ordinary";
   local func = nil;
   if (percent(30)) then
      rmtyp = "themed";
      func = themeroom_fill;
   end
   des.region({ region={x,y,x,y}, type=rmtyp, irregular=true, filled=1, contents = func });
end

function is_eligible(room, mkrm)
   local t = type(room);
   local diff = nh.level_difficulty();
   if (room.mindiff ~= nil and diff < room.mindiff) then
      return false
   elseif (room.maxdiff ~= nil and diff > room.maxdiff) then
      return false
   end
   if (mkrm ~= nil and room.eligible ~= nil) then
      return room.eligible(mkrm);
   end
   return true
end

-- given the name of a themed room or fill, return its index in that array
function lookup_by_name(name, checkfills)
   if name == nil then
      return nil
   end
   if checkfills then
      for i = 1, #themeroom_fills do
         if themeroom_fills[i].name == name then
            return i
         end
      end
   else
      for i = 1, #themerooms do
         if themerooms[i].name == name then
            return i
         end
      end
   end
   return nil
end

-- called repeatedly until the core decides there are enough rooms
function themerooms_generate()
   if debug_rm_idx ~= nil then
      -- room may not be suitable for stairs/portals, so create the "default"
      -- room half of the time
      -- (if the user specified BOTH a room and a fill, presumably they are
      -- interested in what happens when that room gets that fill, so don't
      -- bother generating default-with-fill rooms as happens below)
      local actualrm = lookup_by_name("default", false);
      if percent(50) then
         if is_eligible(themerooms[debug_rm_idx]) then
            actualrm = debug_rm_idx
         else
            pline("Warning: themeroom '"..themerooms[debug_rm_idx].name
                  .."' is ineligible")
         end
      end
      themerooms[actualrm].contents();
      return
   elseif debug_fill_idx ~= nil then
      -- when a fill is requested but not a room, still create the "default"
      -- room half of the time, and "default with themed fill" half of the time
      -- (themeroom_fill will take care of guaranteeing the fill in it)
      local actualrm = lookup_by_name(percent(50) and "Default room with themed fill"
                                                  or "default")
      themerooms[actualrm].contents();
      return
   end
   local pick = nil;
   local total_frequency = 0;
   for i = 1, #themerooms do
      if (type(themerooms[i]) ~= "table") then
         nh.impossible('themed room '..i..' is not a table')
      elseif is_eligible(themerooms[i], nil) then
         -- Reservoir sampling: select one room from the set of eligible rooms,
         -- which may change on different levels because of level difficulty.
         local this_frequency;
         if (themerooms[i].frequency ~= nil) then
            this_frequency = themerooms[i].frequency;
         else
            this_frequency = 1;
         end
         total_frequency = total_frequency + this_frequency;
         -- avoid rn2(0) if a room has freq 0
         if this_frequency > 0 and nh.rn2(total_frequency) < this_frequency then
            pick = i;
         end
      end
   end
   if pick == nil then
      nh.impossible('no eligible themed rooms?')
      return
   end
   themerooms[pick].contents();
end

-- called before any rooms are generated
function pre_themerooms_generate()
   local debug_themerm = nh.debug_themerm(false)
   local debug_fill = nh.debug_themerm(true)
   local xtrainfo = ""
   debug_rm_idx = lookup_by_name(debug_themerm, false)
   debug_fill_idx = lookup_by_name(debug_fill, true)
   if debug_themerm ~= nil and debug_rm_idx == nil then
      if lookup_by_name(debug_themerm, true) ~= nil then
         xtrainfo = "; it is a fill type"
      end
      pline("Warning: themeroom '"..debug_themerm
            .."' not found in themerooms"..xtrainfo, true)
   end
   if debug_fill ~= nil and debug_fill_idx == nil then
      if lookup_by_name(debug_fill, false) ~= nil then
         xtrainfo = "; it is a room type"
      end
      pline("Warning: themeroom fill '"..debug_fill
            .."' not found in themeroom_fills"..xtrainfo, true)
   end
end

-- called after all rooms have been generated
-- but before creating connecting corridors/doors, or filling rooms
function post_themerooms_generate()
end

function themeroom_fill(rm)
   if debug_fill_idx ~= nil then
      if is_eligible(themeroom_fills[debug_fill_idx], rm) then
         themeroom_fills[debug_fill_idx].contents(rm);
      else
         -- ideally this would be a debugpline, not a full pline, and offer
         -- some more context on whether it failed because of difficulty or
         -- because of eligible function returning false; the warning doesn't
         -- necessarily mean anything.
         pline("Warning: fill '"..themeroom_fills[debug_fill_idx].name
               .."' is not eligible in room that generated it")
      end
      return
   end
   local pick = nil;
   local total_frequency = 0;
   for i = 1, #themeroom_fills do
      if (type(themeroom_fills[i]) ~= "table") then
         nh.impossible('themeroom fill '..i..' must be a table')
      elseif is_eligible(themeroom_fills[i], rm) then
         -- Reservoir sampling: select one room from the set of eligible rooms,
         -- which may change on different levels because of level difficulty.
         local this_frequency;
         if (themeroom_fills[i].frequency ~= nil) then
            this_frequency = themeroom_fills[i].frequency;
         else
            this_frequency = 1;
         end
         total_frequency = total_frequency + this_frequency;
         -- avoid rn2(0) if a fill has freq 0
         if this_frequency > 0 and nh.rn2(total_frequency) < this_frequency then
            pick = i;
         end
      end
   end
   if pick == nil then
      nh.impossible('no eligible themed room fills?')
      return
   end
   themeroom_fills[pick].contents(rm);
end

-- postprocess callback: create an engraving pointing at a location
function make_dig_engraving(data)
   local floors = selection.negate():filter_mapchar(".");
   local pos = floors:rndcoord(0);
   local tx = data.x - pos.x - 1;
   local ty = data.y - pos.y;
   local dig = "";
   if (tx == 0 and ty == 0) then
      dig = " here";
   else
      if (tx < 0 or tx > 0) then
         dig = string.format(" %i %s", math.abs(tx), (tx > 0) and "east" or "west");
      end
      if (ty < 0 or ty > 0) then
         dig = dig .. string.format(" %i %s", math.abs(ty), (ty > 0) and "south" or "north");
      end
   end
   des.engraving({ coord = pos, type = "burn", text = "Dig" .. dig });
end

-- postprocess callback: turn room walls into trees
function make_garden_walls(data)
   local sel = data.sel:grow();
   -- change walls to trees
   des.replace_terrain({ selection = sel, fromterrain="w", toterrain = "T" });
   -- update secret doors; attempting to change to AIR will set arboreal flag
   des.replace_terrain({ selection = sel, fromterrain="S", toterrain = "A" });
end

-- postprocess callback: make a trap
function make_a_trap(data)
   if (data.teledest == 1 and data.type == "teleport") then
      local locs = selection.negate():filter_mapchar(".");
      repeat
         data.teledest = locs:rndcoord(1);
      until (data.teledest.x ~= data.coord.x and data.teledest.y ~= data.coord.y);
   end
   des.trap(data);
end

-- called once after the whole level has been generated
function post_level_generate()
   for i, v in ipairs(postprocess) do
      v.handler(v.data);
   end
   postprocess = { };
end
-- NetHack Tourist Tou-fila.lua	$NHDT-Date: 1652196014 2022/05/10 15:20:14 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "soldier", peaceful = 0 })
des.monster({ id = "soldier", peaceful = 0 })
des.monster({ id = "soldier", peaceful = 0 })
des.monster({ id = "soldier", peaceful = 0 })
des.monster({ id = "soldier", peaceful = 0 })
des.monster({ class = "H", peaceful = 0 })
des.monster({ class = "C", peaceful = 0 })
-- NetHack Tourist Tou-filb.lua	$NHDT-Date: 1652196015 2022/05/10 15:20:15 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noflip");

des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.trap()
des.trap()
des.trap()
des.trap()
--
des.monster({ id = "soldier", peaceful = 0 })
des.monster({ id = "captain", peaceful = 0 })
des.monster({ id = "captain", peaceful = 0 })
des.monster({ class = "H", peaceful = 0 })
des.monster({ class = "H", peaceful = 0 })
des.monster({ class = "C", peaceful = 0 })
des.monster("s")
-- NetHack Tourist Tou-goal.lua	$NHDT-Date: 1652196015 2022/05/10 15:20:15 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
----------------------------------------------------------------------------
|.........|.........|..........|..| |.................|........|........|..|
|.........|.........|..........|..| |....--------.....|........|........|..|
|------S--|--+-----------+------..| |....|......|.....|........|........|..|
|.........|.......................| |....|......+.....--+-------------+--..|
|.........|.......................| |....|......|..........................|
|-S-----S-|......----------.......| |....|......|..........................|
|..|..|...|......|........|.......| |....-----------.........----..........|
|..+..+...|......|........|.......| |....|.........|.........|}}|..........|
|..|..|...|......+........|.......| |....|.........+.........|}}|..........|
|..|..|...|......|........|.......S.S....|.........|.........----..........|
|---..----|......|........|.......| |....|.........|.......................|
|.........+......|+F-+F-+F|.......| |....-----------.......................|
|---..----|......|..|..|..|.......| |......................--------------..|
|..|..|...|......--F-F--F--.......| |......................+............|..|
|..+..+...|.......................| |--.---...-----+-----..|............|..|
|--|..----|--+-----------+------..| |.....|...|.........|..|------------|..|
|..+..+...|.........|..........|..| |.....|...|.........|..+............|..|
|..|..|...|.........|..........|..| |.....|...|.........|..|............|..|
----------------------------------------------------------------------------
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
-- The Inn
des.region(selection.area(01,01,09,02), "lit")
des.region({ region = {01,04,09,05}, lit=1, type = "barracks", filled = 1 })
des.region(selection.area(01,07,02,10), "unlit")
des.region(selection.area(07,07,09,10), "unlit")
des.region(selection.area(01,14,02,15), "unlit")
des.region(selection.area(07,14,09,15), "unlit")
des.region(selection.area(01,17,02,18), "unlit")
des.region(selection.area(07,17,09,18), "unlit")
--
des.region({ region = {11,01,19,02}, lit = 0, type = "barracks", filled = 1 })
des.region(selection.area(21,01,30,02), "unlit")
des.region({ region = {11,17,19,18}, lit = 0, type = "barracks", filled = 1 })
des.region(selection.area(21,17,30,18), "unlit")
-- Police Station
des.region(selection.area(18,07,25,11), "lit")
des.region(selection.area(18,13,19,13), "unlit")
des.region(selection.area(21,13,22,13), "unlit")
des.region(selection.area(24,13,25,13), "unlit")
-- The town itself
des.region(selection.area(42,03,47,06), "unlit")
des.region(selection.area(42,08,50,11), "unlit")
des.region({ region = {37,16,41,18}, lit = 0, type = "morgue", filled = 1 })
des.region(selection.area(47,16,55,18), "unlit")
des.region(selection.area(55,01,62,03), "unlit")
des.region(selection.area(64,01,71,03), "unlit")
des.region({ region = {60,14,71,15}, lit = 1, type = "shop", filled = 1 })
des.region({ region = {60,17,71,18}, lit = 1, type = "shop", filled = 1 })
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Stairs
des.stair("up", 70,08)
-- Doors
des.door("locked",07,03)
des.door("locked",02,06)
des.door("locked",08,06)
des.door("closed",03,08)
des.door("closed",06,08)
des.door("open",10,12)
des.door("closed",03,15)
des.door("closed",06,15)
des.door("closed",03,17)
des.door("closed",06,17)
des.door("closed",13,03)
des.door("random",25,03)
des.door("closed",13,16)
des.door("random",25,16)
des.door("locked",17,09)
des.door("locked",18,12)
des.door("locked",21,12)
des.door("locked",24,12)
des.door("locked",34,10)
des.door("locked",36,10)
des.door("random",48,04)
des.door("random",56,04)
des.door("random",70,04)
des.door("random",51,09)
des.door("random",51,15)
des.door("open",59,14)
des.door("open",59,17)
-- Objects
des.object({ id = "credit card", x=04, y=01, buc="blessed", spe=0, name="The Platinum Yendorian Express Card" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps - must avoid the 2 shops
local validtraps = selection.area(00,00,75,19):filter_mapchar('.')
validtraps = validtraps - selection.area(60,14,71,18)
for i=1,6 do
   des.trap(validtraps:rndcoord(1))
end
-- Random monsters.
des.monster({ id = "Master of Thieves", x=04, y=01, peaceful = 0 })
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("s")
des.monster("s")
-- ladies of the evening
des.monster("succubus", 02, 08)
des.monster("succubus", 08, 08)
des.monster("incubus", 02, 14)
des.monster("incubus", 08, 14)
des.monster("incubus", 02, 17)
des.monster("incubus", 08, 17)
-- Police station (with drunken prisoners)
des.monster({ id = "Kop Kaptain", x=24, y=09, peaceful = 0 })
des.monster({ id = "Kop Lieutenant", x=20, y=09, peaceful = 0 })
des.monster({ id = "Kop Lieutenant", x=22, y=11, peaceful = 0 })
des.monster({ id = "Kop Lieutenant", x=22, y=07, peaceful = 0 })
des.monster({ id = "Keystone Kop", x=19, y=07, peaceful = 0 })
des.monster({ id = "Keystone Kop", x=19, y=08, peaceful = 0 })
des.monster({ id = "Keystone Kop", x=22, y=09, peaceful = 0 })
des.monster({ id = "Keystone Kop", x=24, y=11, peaceful = 0 })
des.monster({ id = "Keystone Kop", x=19, y=11, peaceful = 0 })
des.monster("prisoner", 19, 13)
des.monster("prisoner", 21, 13)
des.monster("prisoner", 24, 13)
--
des.monster({ id = "watchman", x=33, y=10, peaceful = 0 })

des.wallify()
-- NetHack Tourist Tou-loca.lua	$NHDT-Date: 1652196015 2022/05/10 15:20:15 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor")
des.map([[
----------------------------------------------------------------------------
|....|......|..........|......|......|...|....|.....|......|...............|
|....|......|.|------|.|......|......|.|.|....|..}..|......|.|----------|..|
|....|--+----.|......|.|-S---+|+-----|.|.S....|.....|---+--|.|..........+..|
|....|........|......|.|...|.........|.|------|..............|..........|-+|
|....+...}}...+......|.|...|.|-----|.|..............|--+----------------|..|
|----|........|------|.|---|.|.....|......|-----+-|.|.......|...........|--|
|............................|.....|.|--+-|.......|.|.......|...........|..|
|----|.....|-------------|...|--+--|.|....|.......|.|-----------+-------|..|
|....+.....+.........S...|...........|....|-------|........................|
|....|.....|.........|...|.|---------|....|.........|-------|.|----------|.|
|....|.....|---------|---|.|......|..+....|-------|.|.......|.+......S.\.|.|
|....|.....+.........S...|.|......|..|....|.......|.|.......|.|......|...|.|
|-------|..|.........|---|.|+-------------------+-|.|.......+.|----------|.|
|.......+..|---------|.........|.........|..........|.......|.|..........|.|
|.......|..............|--+--|.|.........|.|----+-----------|.|..........|.|
|---------+-|--+-----|-|.....|.|.........|.|........|.|.....+.|..........+.|
|...........|........|.S.....|.|----+----|.|--------|.|.....|.|----------|.|
|...........|........|.|.....|........................|.....|..............|
----------------------------------------------------------------------------
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.non_diggable(selection.area(00,00,75,19))
--
des.region({ region={01,01, 04,05}, lit=0, type="morgue", filled=1 })
des.region({ region={15,03, 20,05}, lit=1, type="shop", filled=1 })
des.region({ region={62,03, 71,04}, lit=1, type="shop", filled=1 })
des.region({ region={01,17, 11,18}, lit=1, type="barracks", filled=1 })
des.region({ region={12,09, 20,10}, lit=1, type="barracks", filled=1 })
des.region({ region={53,11, 59,14}, lit=1, type="zoo", filled=1 })
des.region({ region={63,14, 72,16}, lit=1, type="barracks", filled=1 })
des.region({ region={32,14, 40,16}, lit=1, type="temple", filled=1 })
--
des.region({ region = {06,01,11,02}, type = "ordinary" })
des.region({ region = {24,01,29,02}, type = "ordinary" })
des.region({ region = {31,01,36,02}, type = "ordinary" })
des.region({ region = {42,01,45,03}, type = "ordinary" })
des.region({ region = {53,01,58,02}, type = "ordinary" })
des.region({ region = {24,04,26,05}, type = "ordinary" })
des.region({ region = {30,06,34,07}, type = "ordinary" })
des.region(selection.area(73,05,74,05), "unlit")
des.region({ region = {01,09,04,12}, type = "ordinary" })
des.region({ region = {01,14,07,15}, type = "ordinary" })
des.region({ region = {12,12,20,13}, type = "ordinary" })
des.region({ region = {13,17,20,18}, type = "ordinary" })
des.region({ region = {22,09,24,10}, type = "ordinary" })
des.region({ region = {22,12,24,12}, type = "ordinary" })
des.region({ region = {24,16,28,18}, type = "ordinary" })
des.region({ region = {28,11,33,12}, type = "ordinary" })
des.region(selection.area(35,11,36,12), "lit")
des.region({ region = {38,08,41,12}, type = "ordinary" })
des.region({ region = {43,07,49,08}, type = "ordinary" })
des.region({ region = {43,12,49,12}, type = "ordinary" })
des.region({ region = {44,16,51,16}, type = "ordinary" })
des.region({ region = {53,06,59,07}, type = "ordinary" })
des.region({ region = {61,06,71,07}, type = "ordinary" })
des.region({ region = {55,16,59,18}, type = "ordinary" })
des.region({ region = {63,11,68,12}, type = "ordinary" })
des.region({ region = {70,11,72,12}, type = "ordinary" })
-- Stairs
des.stair("up", 10,04)
des.stair("down", 73,05)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
des.door("closed",05,05)
des.door("closed",05,09)
des.door("closed",08,14)
des.door("closed",08,03)
des.door("closed",11,09)
des.door("closed",11,12)
des.door("closed",10,16)
des.door("closed",14,05)
des.door("closed",15,16)
des.door("locked",21,09)
des.door("locked",21,12)
des.door("closed",23,17)
des.door("closed",25,03)
des.door("closed",26,15)
des.door("closed",29,03)
des.door("closed",28,13)
des.door("closed",31,03)
des.door("closed",32,08)
des.door("closed",37,11)
des.door("closed",36,17)
des.door("locked",41,03)
des.door("closed",40,07)
des.door("closed",48,06)
des.door("closed",48,13)
des.door("closed",48,15)
des.door("closed",56,03)
des.door("closed",55,05)
des.door("closed",72,03)
des.door("locked",74,04)
des.door("closed",64,08)
des.door("closed",62,11)
des.door("closed",69,11)
des.door("closed",60,13)
des.door("closed",60,16)
des.door("closed",73,16)

-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Toilet paper
des.object("blank paper", 71, 12)
des.object("blank paper", 71, 12)
-- Random traps - must avoid the 2 shops
local validtraps = selection.area(00,00,75,19):filter_mapchar('.')
validtraps = validtraps - (selection.area(15,03,20,05) + selection.area(62,03,71,04))
for i = 1,9 do
   des.trap(validtraps:rndcoord(1))
end
-- Random monsters.
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("s")
des.monster("s")
-- NetHack Tourist Tou-strt.lua	$NHDT-Date: 1652196016 2022/05/10 15:20:16 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991,92 by M. Stephenson, P. Winner
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Twoflower
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")
des.map([[
.......}}....---------..-------------------------------------------------...
........}}...|.......|..|.-------------------------------------------...|...
.........}}..|.......|..|.|......|......|.............|......|......|...|...
..........}}.|.......|..|.|......+......+.............+......+..\...|...|...
...........}}}..........|.|......|......|.............|......|......|...|...
.............}}.........|.|----S-|--S---|S----------S-|---S--|------|...|...
..............}}}.......|...............................................|...
................}}}.....----S------++--S----------S----------S-----------...
..................}}...........    ..    ...................................
......-------......}}}}........}}}}..}}}}..}}}}..}}}}.......................
......|.....|.......}}}}}}..}}}}   ..   }}}}..}}}}..}}}.....................
......|.....+...........}}}}}}........................}}}..}}}}..}}}..}}}...
......|.....|...........................................}}}}..}}}..}}}}.}}}}
......-------...............................................................
............................................................................
...-------......-------.....................................................
...|.....|......|.....|.....................................................
...|.....+......+.....|.....................................................
...|.....|......|.....|.....................................................
...-------......-------.....................................................
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region({ region={14,01, 20,03}, lit=0, type="morgue", filled=1 })
des.region(selection.area(07,10,11,12), "unlit")
des.region(selection.area(04,16,08,18), "unlit")
des.region(selection.area(17,16,21,18), "unlit")
des.region(selection.area(27,02,32,04), "unlit")
des.region(selection.area(34,02,39,04), "unlit")
des.region(selection.area(41,02,53,04), "unlit")
des.region(selection.area(55,02,60,04), "unlit")
des.region(selection.area(62,02,67,04), "lit")
-- Stairs
des.stair("down", 66,03)
-- Portal arrival point
des.levregion({ region = {68,14,68,14}, type="branch" })
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Doors
des.door("locked",31,05)
des.door("locked",36,05)
des.door("locked",41,05)
des.door("locked",52,05)
des.door("locked",58,05)
des.door("locked",28,07)
des.door("locked",39,07)
des.door("locked",50,07)
des.door("locked",61,07)
des.door("closed",33,03)
des.door("closed",40,03)
des.door("closed",54,03)
des.door("closed",61,03)
des.door("open",12,11)
des.door("open",09,17)
des.door("open",16,17)
des.door("locked",35,07)
des.door("locked",36,07)
-- Monsters on siege duty.
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("giant spider")
des.monster("s")
des.monster("s")
des.monster("forest centaur")
des.monster("forest centaur")
des.monster("forest centaur")
des.monster("forest centaur")
des.monster("forest centaur")
des.monster("forest centaur")
des.monster("forest centaur")
des.monster("forest centaur")
des.monster("C")
-- Twoflower
des.monster({ id = "Twoflower", coord = {64, 03}, inventory = function()
   des.object({ id = "walking shoes", spe = 3 });
   des.object({ id = "hawaiian shirt", spe = 3 });
end })
-- The treasure of Twoflower
des.object("chest", 64, 03)
-- guides for the audience chamber
des.monster("guide", 29, 03)
des.monster("guide", 32, 04)
des.monster("guide", 35, 02)
des.monster("guide", 38, 03)
des.monster("guide", 45, 03)
des.monster("guide", 48, 02)
des.monster("guide", 49, 04)
des.monster("guide", 51, 03)
des.monster("guide", 57, 03)
des.monster("guide", 62, 04)
des.monster("guide", 66, 04)
-- path guards
des.monster("watchman", 35, 08)
des.monster("watchman", 36, 08)
-- river monsters
des.monster("giant eel", 62, 12)
des.monster("piranha", 47, 10)
des.monster("piranha", 29, 11)
des.monster("kraken", 34, 09)
des.monster("kraken", 37, 09)
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack tower tower1.lua	$NHDT-Date: 1717178759 2024/05/31 18:05:59 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989 by Jean-Christophe Collet
-- NetHack may be freely redistributed.  See license for details.
--
--
-- Upper stage of Vlad's tower
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "solidify")
des.map({ halign = "half-left", valign = "center", map = [[
  --- --- ---  
  |.| |.| |.|  
---S---S---S---
|.......+.+...|
---+-----.-----
  |...\.|.+.|  
---+-----.-----
|.......+.+...|
---S---S---S---
  |.| |.| |.|  
  --- --- ---  
]] });

local niches = { {03,01}, {03,09}, {07,01}, {07,09}, {11,01}, {11,09} };
shuffle(niches);

des.ladder("down", 11,05)
-- The lord and his court
des.monster("Vlad the Impaler", 06, 05)
des.monster("V",niches[1])
des.monster("V",niches[2])
des.monster("V",niches[3])
-- The brides; they weren't named in Bram Stoker's original _Dracula_
-- and when appearing in umpteen subsequent books and movies there is
-- no consensus for their names.  According to the Wikipedia entry for
-- "Brides of Dracula", the "Czechoslovakian TV film Hrabe Drakula (1971)"
-- gave them titles rather than (or perhaps in addition to) specific names
-- and we use those titles here.  Marking them as 'waiting' forces them to
-- start in vampire form instead of vampshifted into bat/fog/wolf form.
local Vgenod = nh.is_genocided("vampire");
local Vnames = { nil, nil, nil };
if (not Vgenod) then
   Vnames = { "Madame", "Marquise", "Countess" };
end
des.monster({ id="vampire lady", coord=niches[4], name=Vnames[1], waiting=1 })
des.monster({ id="vampire lady", coord=niches[5], name=Vnames[2], waiting=1 })
des.monster({ id="vampire lady", coord=niches[6], name=Vnames[3], waiting=1 })
-- The doors
des.door("closed",08,03)
des.door("closed",10,03)
des.door("closed",03,04)
des.door("locked",10,05)
des.door("locked",08,07)
des.door("locked",10,07)
des.door("closed",03,06)
-- treasures
des.object("chest", 07,05)

des.object("chest",niches[6])
des.object("chest",niches[1])
des.object("chest",niches[2])
des.object("chest",niches[3])
des.object({ id = "chest", coord=niches[4],
             contents = function()
                des.object({ id = "wax candle", quantity=math.random(4,8) })
             end
});
des.object({ id = "chest", coord=niches[5],
             contents = function()
                des.object({ id = "tallow candle", quantity=math.random(4,8) })
             end
});
-- We have to protect the tower against outside attacks
des.non_diggable(selection.area(00,00,14,10))
-- NetHack tower tower2.lua	$NHDT-Date: 1652196037 2022/05/10 15:20:37 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "solidify")
des.map({ halign = "half-left", valign = "center", map = [[
  --- --- ---  
  |.| |.| |.|  
---S---S---S---
|.S.........S.|
---.------+----
  |......|..|  
--------.------
|.S......+..S.|
---S---S---S---
  |.| |.| |.|  
  --- --- ---  
]] });
-- Random places are the 10 niches
local place = { {03,01},{07,01},{11,01},{01,03},{13,03},
	   {01,07},{13,07},{03,09},{07,09},{11,09} }
shuffle(place)

des.ladder("up", 11,05)
des.ladder("down", 03,07)
des.door("locked",10,04)
des.door("locked",09,07)
des.monster("&",place[10])
des.monster("&",place[1])
des.monster("hell hound pup",place[2])
des.monster("hell hound pup",place[3])
des.monster("winter wolf",place[4])
des.object({ id = "chest", coord = place[5],
             contents = function()
                des.object("amulet of life saving")
             end
});
des.object({ id = "chest", coord = place[6],
             contents = function()
                des.object("amulet of strangulation")
             end
});
des.object("water walking boots",place[7])
des.object("crystal plate mail",place[8])

local spbooks = {
   "spellbook of invisibility",
   "spellbook of cone of cold",
   "spellbook of create familiar",
   "spellbook of clairvoyance",
   "spellbook of charm monster",
   "spellbook of stone to flesh",
   "spellbook of polymorph"
}
shuffle(spbooks);
des.object(spbooks[1],place[9])

-- Walls in the tower are non diggable
des.non_diggable(selection.area(00,00,14,10))

-- NetHack tower tower3.lua	$NHDT-Date: 1652196038 2022/05/10 15:20:38 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "solidify")
des.map({ halign = "half-left", valign = "center", map = [[
    --- --- ---    
    |.| |.| |.|    
  ---S---S---S---  
  |.S.........S.|  
-----.........-----
|...|.........+...|
|.---.........---.|
|.|.S.........S.|.|
|.---S---S---S---.|
|...|.|.|.|.|.|...|
---.---.---.---.---
  |.............|  
  ---------------  
]] });
-- Random places are the 10 niches
local place = { {05,01},{09,01},{13,01},{03,03},{15,03},
	   {03,07},{15,07},{05,09},{09,09},{13,09} }

des.levregion({ type="branch", region={02,05,02,05} })
des.ladder("up", 05,07)
-- Entry door is, of course, locked
des.door("locked",14,05)
-- Let's put a dragon behind the door, just for the fun...
des.monster("D", 13, 05)
des.monster({ x=12, y=04 })
des.monster({ x=12, y=06 })
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
des.monster()
des.object("long sword",place[4])
des.trap({ coord = place[4] })
des.object("lock pick",place[1])
des.trap({ coord = place[1] })
des.object("elven cloak",place[2])
des.trap({ coord = place[2] })
des.object("blindfold",place[3])
des.trap({ coord = place[3] })
-- Walls in the tower are non diggable
des.non_diggable(selection.area(00,00,18,12))

local tut_ctrl_key = nil;
local tut_alt_key = nil;

function tut_key(command)
   local s = nh.eckey(command);
   local m = s:match("^^([A-Z])$"); -- ^X is Ctrl-X
   if (m ~= nil) then
      tut_ctrl_key = m;
      return "Ctrl-" .. m;
   end

   m = s:match("^M%-([A-Z])$"); -- M-X is Alt-X
   if (m ~= nil) then
      tut_alt_key = m;
      return "Alt-" .. m;
   end

   return s;
end

function tut_key_help(x, y)
   if (tut_ctrl_key ~= nil) then
      des.engraving({ coord = { x,y }, type = "engrave", text = "Note: Outside the tutorial, Ctrl-key combinations are shown prefixed with a caret, like '^" .. tut_ctrl_key .. "'", degrade = false });
      tut_ctrl_key = nil;
   end
end

des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip",
                "nomongen", "nodeathdrops", "noautosearch");

des.map([[
---------------------------------------------------------------------------
|-.--|.......|......|..S....|.F.......|.............|.......|.............|
|.-..........|......|--|....|.F.....|.|S-------.....|.....................|
||.--|.......|..T......|....|.F.....|.|.......|.....|.......|.............|
||.|.|.......|......|-.|....|.F.....|.|.......|.....|--------.............|
||.|.|.......|......||.|-.-----------.-.......|-S----.....................|
|-+-S---------..---.||........................|...|.......................|
|......|          |.-------------------.......|...|....--S----............|
|......|  ######  |.........|      |..S.......|...|....|.....|............|
|----.-| -+-   #  |.....---.|######+..|.......S...|....|.....|............|
|----+----.----+---.|.--|.|.|#     ------------...|....|.....F............|
|........|.|......|.|...F...|#  ........|.....+...|....|.....|............|
|.P......-S|......|------.---# .........|.....|...|....-------........----|
|..........|......+.|...|.|.S# ..--S-----.....|LLL|..................|..| |
|.W......---......|.|.|.|.|.|# ..|......|.....|LLL|..................|..--|
|....Z.L.S.F......|.|.|.|.---#   |......+.....|...|..................|..|.|
|........|--......|...|.....|####+......|.....|...+..................||...|
---------------------------------------------------------------------------
]]);


des.region(selection.area(01,01, 73, 16), "lit");

des.non_diggable();

des.teleport_region({ region = { 9,3, 9,3 } });

-- TODO:
--  - save (more of) hero state when entering
--  - quit-command should maybe exit the tutorial?

-- turn on some newbie-friendly options
nh.parse_config("OPTIONS=mention_walls");
nh.parse_config("OPTIONS=mention_decor");
nh.parse_config("OPTIONS=lit_corridor");

local movekeys = tut_key("movewest") .. " " ..
   tut_key("movesouth") .. " " ..
   tut_key("movenorth") .. " " ..
   tut_key("moveeast");

local diagmovekeys = tut_key("movesouthwest") .. " " ..
   tut_key("movenortheast") .. " " ..
   tut_key("movesoutheast") .. " " ..
   tut_key("movenorthwest");

des.engraving({ coord = { 9,3 }, type = "engrave", text = "Move around with " .. movekeys, degrade = false });
des.engraving({ coord = { 5,2 }, type = "engrave", text = "Move diagonally with " .. diagmovekeys, degrade = false });

if (u.role == "Knight") then
   des.engraving({ coord = { 12,1 }, type = "engrave", text = "Knights can jump with '" .. tut_key("jump") .. "'", degrade = false });
end

--

des.engraving({ coord = { 2,4 }, type = "engrave", text = "Some actions may require multiple tries before succeeding", degrade = false });
des.engraving({ coord = { 2,5 }, type = "engrave", text = "Open the door by moving into it", degrade = false });
des.door({ coord = { 2,6 }, state = "closed" });

des.engraving({ coord = { 2,7 }, type = "engrave", text = "Close the door with '" .. tut_key("close") .. "'", degrade = false });


--

des.engraving({ coord = { 4,5 }, type = "engrave", text = "You can leave the tutorial via the magic portal.", degrade = false });
des.trap({ type = "magic portal", coord = { 4,4 }, seen = true });

--

des.engraving({ coord = { 5,9 }, type = "engrave", text = "This door is locked. Kick it with '" .. tut_key("kick") .. "'", degrade = false });
des.door({ coord = { 5,10 }, state = "locked" });

-- by default, kick is the first command that can be a ctrl-key combo
tut_key_help(6, 8);


des.engraving({ coord = { 5,12 }, type = "engrave", text = "Look around the map with '" .. tut_key("glance") .. "', press ESC when you're done", degrade = false });

--

des.engraving({ coord = { 10,13 }, type = "engrave", text = "Use '" .. tut_key("search") .. "' to search for secret doors", degrade = false });

des.engraving({ coord = { 10,15 }, type = "engrave", text = "Wrong secret", degrade = false });

--

des.engraving({ coord = { 10,10 }, type = "engrave", text = "Behind this door is a dark corridor", degrade = false });
des.door({ coord = { 10,9 }, state = percent(50) and "locked" or "closed" });
des.region(selection.match("#"), "unlit");
des.region(selection.match(" "), "unlit");
des.door({ coord = { 15,10 }, state = percent(50) and "locked" or "closed" });

--

des.engraving({ coord = { 15,11 }, type = "engrave", text = "There are four traps next to you! Search for them.", degrade = false });
local locs = { {14,11}, {14,12}, {15,12}, {16,12}, {16,11} };
shuffle(locs);
for i = 1, 4 do
   des.trap({ type = percent(50) and "sleep gas" or "board",
              coord = locs[i], victim = false });
end

des.engraving({ coord = { 15,15 }, type = "engrave", text = "Some traps can be disabled with '" .. tut_key("untrap") .. "'", degrade = false });
des.trap({ coord = { 15,16 }, type = "web", spider_on_web = false });

--

des.door({ coord = { 18,13 }, state = "closed" });

des.engraving({ coord = { 19,13 }, type = "engrave", text = "Pick up items with '" .. tut_key("pickup") .. "'", degrade = false });

local armor = (u.role == "Monk") and "leather gloves" or "leather armor";

des.object({ id = armor, spe = 0, buc = "cursed", coord = { 19,14} });

des.engraving({ coord = { 19,15 }, type = "engrave", text = "Wear armor with '" .. tut_key("wear") .. "'", degrade = false });

des.object({ id = "dagger", spe = 0, buc = "not-cursed", coord = { 21,15} });

des.engraving({ coord = { 21,14 }, type = "engrave", text = "Wield weapons with '" .. tut_key("wield") .. "'", degrade = false });


des.engraving({ coord = { 22,13 }, type = "engrave", text = "Hit monsters by walking into them.", degrade = false });

des.monster({ id = "lichen", coord = { 23,15 }, waiting = true, countbirth = false });

--

des.engraving({ coord = { 24,16 }, type = "engrave", text = "Now you know the very basics. You can leave the tutorial via the magic portal.", degrade = false });

des.engraving({ coord = { 26,16 }, type = "engrave", text = "Step into this portal to leave the tutorial", degrade = false });
des.trap({ type = "magic portal", coord = { 27,16 }, seen = true });

--

des.engraving({ coord = { 25,13 }, type = "engrave", text = "Push boulders by moving into them", degrade = false });
des.object({ id = "boulder", coord = {25,12} });

--

des.engraving({ coord = { 27,9 }, type = "engrave", text = "Take off armor with '" .. tut_key("takeoff") .. "'", degrade = false });

--

des.object({ class = "?", id = "remove curse", buc = "blessed", coord = {23,11} })
des.engraving({ coord = { 22,11 }, type = "engrave", text = "Some items have shuffled descriptions, different each game", degrade = false });
des.engraving({ coord = { 23,11 }, type = "engrave", text = "Pick up this scroll, read it with '" .. tut_key("read") .. "', and try to remove the armor again", degrade = false });

--

des.engraving({ coord = { 19,10 }, type = "engrave", text = "Another magic portal, a way to leave this tutorial", degrade = false });
des.trap({ type = "magic portal", coord = { 19,11 }, seen = true });

--

-- rock fall
des.object({ coord = {14, 5}, id = "rock", quantity = math.random(50,99) });
des.object({ coord = {15, 5}, id = "rock", quantity = math.random(10,30) });
des.object({ coord = {14, 4}, id = "rock", quantity = math.random(10,30) });
des.object({ coord = {15, 6}, id = "rock", quantity = math.random(30,60) });
des.object({ coord = {14, 6}, id = "rock", quantity = math.random(30,60) });
des.object({ coord = {14, 6}, id = "boulder" });

des.door({ coord = { 20,3 }, state = percent(50) and "open" or "closed" });

des.engraving({ coord = { 21,3 }, type = "engrave", text = "Avoid being burdened, it slows you down", degrade = false });
des.engraving({ coord = { 22,3 }, type = "engrave", text = "Drop items with '" .. tut_key("drop") .. "'", degrade = false });
des.engraving({ coord = { 22,4 }, type = "engrave", text = "You can drop partial stacks by prefixing the item slot letter with a number", degrade = false });

--

des.monster({ id = "yellow mold", coord = { 26,2 }, waiting = true, countbirth = false });

des.engraving({ coord = { 25,5 }, type = "engrave", text = "Throw items with '" .. tut_key("throw") .. "'", degrade = false });

des.trap({ type = "magic portal", coord = { 21,1 }, seen = true });

--

des.monster({ id = "wolf", coord = { 29,2 }, peaceful = 0, waiting = true, countbirth = false });

des.engraving({ coord = { 37,4 }, type = "engrave", text = "Missiles, such as rocks, work better when fired from appropriate launcher", degrade = false });

des.object({ coord = { 37,3 }, id = "sling", buc = "not-cursed", spe = 9 });
des.engraving({ coord = { 37,3 }, type = "engrave", text = "Wield the sling", degrade = false });
des.engraving({ coord = { 36,1 }, type = "engrave", text = "Use '" .. tut_key("fire") .. "' to fire missiles with the wielded launcher", degrade = false });

des.engraving({ coord = { 35,4 }, type = "engrave", text = "Firing launches items from your quiver; Use '" .. tut_key("quiver") .. "' to put items in it", degrade = false });

des.engraving({ coord = { 33,4 }, type = "engrave", text = "You can wait a turn with '" .. tut_key("wait") .. "'", degrade = false });


--

des.door({ coord = { 38,6 }, state = "closed" });

des.engraving({ coord = { 39,6 }, type = "engrave", text = "You loot containers with '" .. tut_key("loot") .. "'", degrade = false });

des.object({ coord = { 41,6 }, id = "large box", broken = true, trapped = false,
             contents = function(obj)
                des.object({ id = "secret door detection", class = "/", spe = 30 }); end
});
des.engraving({ coord = { 42,6 }, type = "engrave", text = "Containers can also be emptied with '" .. tut_key("tip") .. "'", degrade = false });

des.engraving({ coord = { 45,6 }, type = "engrave", text = "Magic wands are used with '" .. tut_key("zap") .. "'", degrade = false });

--

des.door({ coord = { 35,9 }, state = "nodoor" });
des.engraving({ coord = { 34,9 }, type = "engrave", text = "You can run by prefixing a movement key with '" .. tut_key("run") .. "'", degrade = false });

--

des.door({ coord = { 33,16 }, state = "nodoor" });
des.engraving({ coord = { 35,15 }, type = "engrave", text = "Travel across the level with '" .. tut_key("travel") .. "'", degrade = false });

--

des.trap({ type = "magic portal", coord = { 27,14 }, seen = true });

--

des.engraving({ coord = { 48,1 }, type = "burn", text = "Use '" .. tut_key("eat") .. "' to eat edible things", degrade = false });

des.object({ coord = { 50,3 }, id = "apple", buc = "not-cursed"  });
des.object({ coord = { 50,3 }, id = "candy bar", buc = "not-cursed"  });

des.object({ coord = { 50,3 }, id = "corpse", montype = "lichen", buc = "not-cursed" });

--

des.door({ coord = { 46,11 }, state = "closed" });

des.engraving({ coord = { 43,11 }, type = "burn", text = "Use '" .. tut_key("twoweapon") .. "' to use two weapons at once", degrade = false });
des.object({ coord = { 43,13 }, id = "knife", buc = "uncursed" });
des.object({ coord = { 43,14 }, id = "dagger", buc = "blessed" });

des.engraving({ coord = { 43,16 }, type = "burn", text = "Swap weapons quickly with '" .. tut_key("swap") .. "'", degrade = false });

des.door({ coord = { 40,15 }, state = "random" });

--

des.object({ coord = { 48,7 }, id = "ring of levitation", buc = "not-cursed" });

des.engraving({ coord = { 48,10 }, type = "burn", text = "Put on accessories with '" .. tut_key("puton") .. "'", degrade = false });

des.engraving({ coord = { 48,16 }, type = "burn", text = "Remove accessories with '" .. tut_key("remove") .. "'", degrade = false });

des.door({ coord = { 50,16 }, state = "closed" });


--

des.engraving({ coord = { 58,9 }, type = "burn", text = "Use '" .. tut_key("down") .. "' to go down the stairs", degrade = false });
des.stair({ dir = "down", coord = { 58,10 } });

--

-- one more ctrl-key help, if needed
tut_key_help(64, 4);

des.engraving({ coord = { 65,3 }, type = "burn", text = "UNDER CONSTRUCTION", degrade = false });

des.trap({ type = "magic portal", coord = { 66,2 }, seen = true });

--

-- squeezing through small gaps

des.engraving({ coord = { 69,12 }, type = "burn", text = "Can't get through?  You're carrying too much.", degrade = false });

-- try to squeeze over boulders, find a trap door

des.object({ id = "boulder", coord = {71,16} });
des.object({ id = "boulder", coord = {72,16} });
des.object({ id = "boulder", coord = {73,16} });
des.trap({ type = "trap door", coord = { 73,15 } });

--

des.engraving({ coord = { 60,2 }, type = "engrave", text = "Spellcasting", degrade = false });
if (u.uenmax < 5) then
   -- TODO: make sure hero has enough Pw to cast the spell (5 pw) instead?
   -- TODO: ensure the first cast of this spell succeeds?
   des.engraving({ coord = { 59,2 }, type = "engrave", text = "Unfortunately you don't have enough energy to cast spells.", degrade = false });
end
des.engraving({ coord = { 57,2 }, type = "engrave", text = "Pick up the spellbook with '" .. tut_key("pickup") .. "'", degrade = false });
des.object({ coord = { 57,2 }, id = "spellbook of light", buc = "blessed" });
des.engraving({ coord = { 55,2 }, type = "engrave", text = "Read the spellbook with '" .. tut_key("read") .. "'", degrade = false });
des.engraving({ coord = { 53,2 }, type = "engrave", text = "Use '" .. tut_key("cast") .. "' to cast a spell", degrade = false });
des.region(selection.area(53,01, 59, 3), "unlit");

--

des.engraving({ coord = { 72,2 }, type = "engrave", text = "You \"quaff\" potions with '" .. tut_key("quaff") .. "'", degrade = false });
des.object({ coord = { 72,2 }, id = "potion of object detection", buc = "blessed" });


----------------

-- entering and leaving tutorial _branch_ now handled by core
-- // nh.callback("cmd_before", "tutorial_cmd_before");
-- // nh.callback("level_enter", "tutorial_enter");
-- // nh.callback("level_leave", "tutorial_leave");
-- // nh.callback("end_turn", "tutorial_turn");

----------------

-- temporary stuff here
-- des.trap({ type = "magic portal", coord = { 9,5 }, seen = true });
-- des.trap({ type = "magic portal", coord = { 9,1 }, seen = true });
-- des.object({ id = "leather armor", spe = 0, coord = { 9,2} });


des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip",
                "nomongen", "nodeathdrops", "noautosearch");

des.map([[
--------------
|............|
|............|
|............|
|............|
|............|
|............|
--------------
]]);


des.region(selection.area(01,01, 73, 16), "lit");

des.stair({ dir = "up", coord = { 2,2 } });

des.engraving({ coord = { 1,1 }, type = "burn", text = "Use '" .. nh.eckey("up") .. "' to go up the stairs", degrade = false });


des.trap({ type = "magic portal", coord = { 11,5 }, seen = true });

des.non_diggable();
-- NetHack Valkyrie Val-fila.lua	$NHDT-Date: 1652196016 2022/05/10 15:20:16 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "I" });

des.level_flags("mazelevel", "icedpools", "noflip")

des.level_init({ style="mines", fg=".", bg="I", smoothed=true, joined=true, lit=1, walled=false })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("a")
des.monster({ id = "fire giant", peaceful = 0 })
--
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- NetHack Valkyrie Val-filb.lua	$NHDT-Date: 1652196016 2022/05/10 15:20:16 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "L" });

des.level_flags("mazelevel", "icedpools", "noflip")

des.level_init({ style="mines", fg=".", bg="L", smoothed=true, joined=true, lit=1, walled=false })

--
des.stair("up")
des.stair("down")
--
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
--
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("a")
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
--
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap()
des.trap()
-- NetHack Valkyrie Val-goal.lua	$NHDT-Date: 1652196017 2022/05/10 15:20:17 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.5 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = "L" });

des.level_flags("mazelevel", "icedpools")

des.level_init({ style="mines", fg=".", bg="L", smoothed=true, joined=true, lit=1, walled=false })

des.map([[
xxxxxx.....................xxxxxxxx
xxxxx.......LLLLL.LLLLL......xxxxxx
xxxx......LLLLLLLLLLLLLLL......xxxx
xxxx.....LLL|---------|LLL.....xxxx
xxxx....LL|--.........--|LL.....xxx
x......LL|-...LLLLLLL...-|LL.....xx
.......LL|...LL.....LL...|LL......x
......LL|-..LL.......LL..-|LL......
......LL|.................|LL......
......LL|-..LL.......LL..-|LL......
.......LL|...LL.....LL...|LL.......
xx.....LL|-...LLLLLLL...-|LL......x
xxx.....LL|--.........--|LL.....xxx
xxxx.....LLL|---------|LLL...xxxxxx
xxxxx.....LLLLLLLLLLLLLLL...xxxxxxx
xxxxxx......LLLLL.LLLLL.....xxxxxxx
xxxxxxxxx..................xxxxxxxx
]]);
-- Dungeon Description
des.region(selection.area(00,00,34,16), "lit")
-- Stairs
-- Note:  The up stairs are *intentionally* off of the map.
-- if the stairs are surrounded by lava, maybe give some room
des.replace_terrain({ region = {44,09, 46,11}, fromterrain='L', toterrain='.', chance=50 });
des.stair("up", 45,10)
-- Non diggable walls
des.non_diggable(selection.area(00,00,34,16))
-- Drawbridges; northern one opens from the south (portcullis) to further
-- north (lowered span), southern one from the north to further south
des.drawbridge({ x=17, y=02, dir="south", state="random" })
if percent(75) then
   des.drawbridge({ x=17, y=14, dir="north", state="open" })
else
   des.drawbridge({ x=17, y=14, dir="north", state="random" })
end
-- Objects
des.object({ id = "crystal ball", x=17, y=08, buc="blessed", spe=5, name="The Orb of Fate" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Traps
des.trap("board",13,08)
des.trap("board",21,08)
-- Random traps
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("board")
des.trap()
des.trap()
-- Random monsters.
des.monster("Lord Surtur", 17, 08)
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("a")
des.monster("a")
des.monster({ id = "fire giant", x=10, y=06, peaceful = 0 })
des.monster({ id = "fire giant", x=10, y=07, peaceful = 0 })
des.monster({ id = "fire giant", x=10, y=08, peaceful = 0 })
des.monster({ id = "fire giant", x=10, y=09, peaceful = 0 })
des.monster({ id = "fire giant", x=10, y=10, peaceful = 0 })
des.monster({ id = "fire giant", x=24, y=06, peaceful = 0 })
des.monster({ id = "fire giant", x=24, y=07, peaceful = 0 })
des.monster({ id = "fire giant", x=24, y=08, peaceful = 0 })
des.monster({ id = "fire giant", x=24, y=09, peaceful = 0 })
des.monster({ id = "fire giant", x=24, y=10, peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ class = "H", peaceful = 0 })

--
--	The "fill" levels for the quest.
--
--	These levels are used to fill out any levels not occupied by specific
--	levels as defined above. "filla" is the upper filler, between the
--	start and locate levels, and "fillb" the lower between the locate
--	and goal levels.
--
-- NetHack Valkyrie Val-loca.lua	$NHDT-Date: 1652196017 2022/05/10 15:20:17 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor", "icedpools", "noflip")

des.level_init({ style="mines", fg=".", bg="I", smoothed=true, joined=false, lit=1, walled=false })

des.map([[
PPPPxxxx                      xxxxPPPPPx
PLPxxx                          xPPLLLPP
PPP    .......................    PPPLLP
xx   ............................   PPPP
x  ...............................  xxxx
  .................................   xx
....................................   x
  ...................................   
x  ..................................  x
xx   ..............................   PP
xPPP  ..........................     PLP
xPLLP                             xxPLLP
xPPPPxx                         xxxxPPPP
]]);
-- Dungeon Description
des.region(selection.area(00,00,39,12), "lit")
-- Stairs
des.stair("up", 48,14)
des.stair("down", 20,06)
-- Non diggable walls
des.non_diggable(selection.area(00,00,39,12))
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap()
des.trap()
-- Random monsters.
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("fire ant")
des.monster("a")
des.monster({ class = "H", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ id = "fire giant", peaceful = 0 })
des.monster({ class = "H", peaceful = 0 })

-- NetHack Valkyrie Val-strt.lua	$NHDT-Date: 1652196017 2022/05/10 15:20:17 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1991-2 by M. Stephenson
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, the Norn,
--	and receive your quest assignment.
--

des.level_flags("mazelevel", "noteleport", "hardfloor", "icedpools")
des.level_init({ style = "solidfill", fg = "I" })

local pools = selection.new()
-- random locations
for i = 1,13 do
   pools:set();
end
-- some bigger ones
pools = pools | selection.grow(selection.set(selection.new()), "west")
pools = pools | selection.grow(selection.set(selection.new()), "north")
pools = pools | selection.grow(selection.set(selection.new()), "random")

-- Lava pools surrounded by water
des.terrain(pools:clone():grow("all"), "P")
des.terrain(pools, "L")

des.map([[
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..{..xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxx
xxxxxxxx.....xxxxxxxxxxxxx|----------------|xxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxx
xxxxxxx..xxx...xxxxxxxxxxx|................|xxxxxxxxxx..xxxxxxxxxxxxxxxxxxxx
xxxxxx..xxxxxx......xxxxx.|................|.xxxxxxxxx.xxxxxxxxxxxxxxxxxxxxx
xxxxx..xxxxxxxxxxxx.......+................+...xxxxxxx.xxxxxxxxxxxxxxxxxxxxx
xxxx..xxxxxxxxx.....xxxxx.|................|.x...xxxxx.xxxxxxxxxxxxxxxxxxxxx
xxx..xxxxxxxxx..xxxxxxxxxx|................|xxxx.......xxxxxxxxxxxxxxxxxxxxx
xxxx..xxxxxxx..xxxxxxxxxxx|----------------|xxxxxxxxxx...xxxxxxxxxxxxxxxxxxx
xxxxxx..xxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxx
xxxxxxx......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxx
xxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...x......xxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......xxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
]]);
-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
-- Portal arrival point
des.levregion({ region = {66,17,66,17}, type="branch" })
-- Stairs
des.stair("down", 18,01)
des.feature("fountain", 53,02)
-- Doors
des.door("locked",26,10)
des.door("locked",43,10)
-- Norn
des.monster({ id = "Norn", coord = {35, 10}, inventory = function()
   des.object({ id = "banded mail", spe = 5 });
   des.object({ id = "long sword", spe = 4 });
end })
-- The treasure of the Norn
des.object("chest", 36, 10)
-- valkyrie guards for the audience chamber
des.monster("warrior", 27, 08)
des.monster("warrior", 27, 09)
des.monster("warrior", 27, 11)
des.monster("warrior", 27, 12)
des.monster("warrior", 42, 08)
des.monster("warrior", 42, 09)
des.monster("warrior", 42, 11)
des.monster("warrior", 42, 12)
-- Non diggable walls
des.non_diggable(selection.area(26,07,43,13))
-- Random traps
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
des.trap("fire")
-- Monsters on siege duty.
des.monster("fire ant", 04, 12)
des.monster("fire ant", 08, 08)
des.monster("fire ant", 14, 04)
des.monster("fire ant", 17, 11)
des.monster("fire ant", 24, 10)
des.monster("fire ant", 45, 10)
des.monster("fire ant", 54, 02)
des.monster("fire ant", 55, 07)
des.monster("fire ant", 58, 14)
des.monster("fire ant", 63, 17)
des.monster({ id = "fire giant", x=18, y=01, peaceful = 0 })
des.monster({ id = "fire giant", x=10, y=16, peaceful = 0 })

-- NetHack gehennom valley.lua	$NHDT-Date: 1652196038 2022/05/10 15:20:38 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
--

des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "nommap", "temperate");

des.map([[
----------------------------------------------------------------------------
|...S.|..|.....|  |.....-|      |................|   |...............| |...|
|---|.|.--.---.|  |......--- ----..........-----.-----....---........---.-.|
|   |.|.|..| |.| --........| |.............|   |.......---| |-...........--|
|   |...S..| |.| |.......-----.......------|   |--------..---......------- |
|----------- |.| |-......| |....|...-- |...-----................----       |
|.....S....---.| |.......| |....|...|  |..............-----------          |
|.....|.|......| |.....--- |......---  |....---.......|                    |
|.....|.|------| |....--   --....-- |-------- ----....---------------      |
|.....|--......---BBB-|     |...--  |.......|    |..................|      |
|..........||........-|    --...|   |.......|    |...||.............|      |
|.....|...-||-........------....|   |.......---- |...||.............--     |
|.....|--......---...........--------..........| |.......---------...--    |
|.....| |------| |--.......--|   |..B......----- -----....| |.|  |....---  |
|.....| |......--| ------..| |----..B......|       |.--------.-- |-.....---|
|------ |........|  |.|....| |.....----BBBB---------...........---.........|
|       |........|  |...|..| |.....|  |-.............--------...........---|
|       --.....-----------.| |....-----.....----------     |.........----  |
|        |..|..B...........| |.|..........|.|              |.|........|    |
----------------------------------------------------------------------------
]]);

-- Make the path somewhat unpredictable
-- If you get "lucky", you may have to go through all three graveyards.
if percent(50) then
   des.terrain(selection.line(50,8, 53,8), '-')
   des.terrain(selection.line(40,8, 43,8), 'B')
end
if percent(50) then
   des.terrain({ x=27, y=12, typ='|' })
   des.terrain(selection.line(27,3, 29,3), 'B')
   des.terrain({ x=28, y=2, typ='-' })
end
if percent(50) then
   des.terrain(selection.line(16,10, 16,11), '|')
   des.terrain(selection.line(9,13, 14,13), 'B')
end


-- Dungeon Description
-- The shrine to Moloch.
des.region({ region={01,06, 05,14},lit=1,type="temple",filled=2 })
-- The Morgues
des.region({ region={19,01, 24,08},lit=0,type="morgue",filled=1,irregular=1 })
des.region({ region={09,14, 16,18},lit=0,type="morgue",filled=1,irregular=1 })
des.region({ region={37,09, 43,14},lit=0,type="morgue",filled=1,irregular=1 })
-- Stairs
des.stair("down", 01,01)
-- Branch location
des.levregion({ type="branch", region={66,17,66,17} })
des.teleport_region({ region = {58,09,72,18}, dir="down" })

-- Secret Doors
des.door("locked",04,01)
des.door("locked",08,04)
des.door("locked",06,06)

-- The altar of Moloch.
des.altar({ x=03,y=10,align="noalign", type="shrine" })

-- Non diggable walls - everywhere!
des.non_diggable(selection.area(00,00,75,19))

-- Objects
-- **LOTS** of dead bodies (all human).
-- note: no priest(esse)s or monks - maybe Moloch has a *special*
--       fate reserved for members of *those* classes.
--
des.object({ id="corpse",montype="archeologist" })
des.object({ id="corpse",montype="archeologist" })
des.object({ id="corpse",montype="barbarian" })
des.object({ id="corpse",montype="barbarian" })
des.object({ id="corpse",montype="caveman" })
des.object({ id="corpse",montype="cavewoman" })
des.object({ id="corpse",montype="healer" })
des.object({ id="corpse",montype="healer" })
des.object({ id="corpse",montype="knight" })
des.object({ id="corpse",montype="knight" })
des.object({ id="corpse",montype="ranger" })
des.object({ id="corpse",montype="ranger" })
des.object({ id="corpse",montype="rogue" })
des.object({ id="corpse",montype="rogue" })
des.object({ id="corpse",montype="samurai" })
des.object({ id="corpse",montype="samurai" })
des.object({ id="corpse",montype="tourist" })
des.object({ id="corpse",montype="tourist" })
des.object({ id="corpse",montype="valkyrie" })
des.object({ id="corpse",montype="valkyrie" })
des.object({ id="corpse",montype="wizard" })
des.object({ id="corpse",montype="wizard" })
--
-- Some random weapons and armor.
--
des.object("[")
des.object("[")
des.object("[")
des.object("[")
des.object(")")
des.object(")")
des.object(")")
des.object(")")
--
-- Some random loot.
--
des.object("ruby")
des.object("*")
des.object("*")
des.object("!")
des.object("!")
des.object("!")
des.object("?")
des.object("?")
des.object("?")
des.object("/")
des.object("/")
des.object("=")
des.object("=")
des.object("+")
des.object("+")
des.object("(")
des.object("(")
des.object("(")

-- (Not so) Random traps.
des.trap("spiked pit", 05,02)
des.trap("spiked pit", 14,05)
des.trap("sleep gas", 03,01)
des.trap("board", 21,12)
des.trap("board")
des.trap("dart", 60,01)
des.trap("dart", 26,17)
des.trap("anti magic")
des.trap("anti magic")
des.trap("magic")
des.trap("magic")

-- Random monsters.
-- The ghosts.
des.monster("ghost")
des.monster("ghost")
des.monster("ghost")
des.monster("ghost")
des.monster("ghost")
des.monster("ghost")
-- Add a few bats for atmosphere.
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
-- And a lich for good measure.
des.monster("L")
-- Some undead nasties for good measure
des.monster("V")
des.monster("V")
des.monster("V")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("M")
des.monster("M")
des.monster("M")
des.monster("M")
-- NetHack endgame water.lua	$NHDT-Date: 1652196038 2022/05/10 15:20:38 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
--                      and Timo Hakulinen
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor", "shortsighted")
des.message("You find yourself suspended in an air bubble surrounded by water.")
-- The player lands upon arrival to an air bubble
-- within the leftmost third of the level.  The
-- portal to the next level is randomly located in an air
-- bubble within the rightmost third of the level.
-- Bubbles are generated by special code in mkmaze.c for now.
des.map([[
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
]]);
des.teleport_region({ region = {0,0,25,19} })
des.levregion({ type="portal", region={51,0,75,19}, name="astral" })
-- A fisherman's dream...
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("giant eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("electric eel")
des.monster("kraken")
des.monster("kraken")
des.monster("kraken")
des.monster("kraken")
des.monster("kraken")
des.monster("kraken")
des.monster("kraken")
des.monster("kraken")
des.monster("kraken")
des.monster("shark")
des.monster("shark")
des.monster("shark")
des.monster("shark")
des.monster("piranha")
des.monster("piranha")
des.monster("piranha")
des.monster("piranha")
des.monster("jellyfish")
des.monster("jellyfish")
des.monster("jellyfish")
des.monster("jellyfish")
des.monster(";")
des.monster(";")
des.monster(";")
des.monster(";")
-- These guys feel like home here
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })
des.monster({ id = "water elemental", peaceful = 0 })

-- NetHack Wizard Wiz-fila.lua	$NHDT-Date: 1652196018 2022/05/10 15:20:18 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1992 by David Cohrs
-- NetHack may be freely redistributed.  See license for details.
--
--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster({ class = "i", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.monster({ class = "i", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster("vampire bat")
              des.monster("vampire bat")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.monster({ class = "i", peaceful=0 })
              des.monster("vampire bat")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster({ class = "i", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.monster("vampire bat")
           end
})

des.random_corridors()
-- NetHack Wizard Wiz-filb.lua	$NHDT-Date: 1652196018 2022/05/10 15:20:18 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
--	Copyright (c) 1992 by David Cohrs
-- NetHack may be freely redistributed.  See license for details.
--
--
des.room({ type = "ordinary",
           contents = function()
              des.stair("up")
              des.object()
              des.monster({ class = "X", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.monster({ class = "i", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.object()
              des.monster({ class = "X", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.stair("down")
              des.object()
              des.trap()
              des.monster({ class = "i", peaceful=0 })
              des.monster("vampire bat")
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.object()
              des.trap()
              des.monster({ class = "i", peaceful=0 })
           end
})

des.room({ type = "ordinary",
           contents = function()
              des.object()
              des.trap()
              des.monster("vampire bat")
           end
})

des.random_corridors()
-- NetHack Wizard Wiz-goal.lua	$NHDT-Date: 1652196018 2022/05/10 15:20:18 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1992 by David Cohrs
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel");

des.map([[
                                                                            
                                                                            
                                                                            
                   -------------                 -------------              
                   |...........|                 |...........|              
            -------|...........-------------------...........|              
            |......S...........|..|..|..|..|..|..|...........|              
            |......|...........|..|..|..|..|..|..|...........|              
            |......|...........-F+-F+-F+-F+-F+-F+-...........|              
            --S----|...........S.................+...........|              
            |......|...........-F+-F+-F+-F+-F+-F+-...........|              
            |......|...........|..|..|..|..|..|..|...........|              
            |......|...........|..|..|..|..|..|..|...........|              
            -------|...........-------------------...........|              
                   |...........|                 |...........|              
                   -------------                 -------------              
                                                                            
                                                                            
                                                                            
                                                                            
]]);
-- Dungeon Description
des.region({ region={13,10,18,12}, lit=0, type="temple", filled=2 })
des.region(selection.area(13,06,18,08), "lit")
des.region(selection.area(20,04,30,14), "unlit")
des.region(selection.area(32,06,33,07), "unlit")
des.region(selection.area(35,06,36,07), "unlit")
des.region(selection.area(38,06,39,07), "unlit")
des.region(selection.area(41,06,42,07), "unlit")
des.region(selection.area(44,06,45,07), "unlit")
des.region(selection.area(47,06,48,07), "unlit")
des.region(selection.area(32,09,48,09), "unlit")
des.region(selection.area(32,11,33,12), "unlit")
des.region(selection.area(35,11,36,12), "unlit")
des.region(selection.area(38,11,39,12), "unlit")
des.region(selection.area(41,11,42,12), "unlit")
des.region(selection.area(44,11,45,12), "unlit")
des.region(selection.area(47,11,48,12), "unlit")
des.region(selection.area(50,04,60,14), "lit")
-- Doors
des.door("locked",19,06)
des.door("locked",14,09)
des.door("locked",31,09)
des.door("locked",33,08)
des.door("locked",36,08)
des.door("locked",39,08)
des.door("locked",42,08)
des.door("locked",45,08)
des.door("locked",48,08)
des.door("locked",33,10)
des.door("locked",36,10)
des.door("locked",39,10)
des.door("locked",42,10)
des.door("locked",45,10)
des.door("locked",48,10)
des.door("locked",49,09)
-- Stairs
des.stair("up", 55,05)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- The altar.  This is not a shrine.
des.altar({ coord={16,11}, aligned="noncoaligned", type="altar" })
-- Objects
des.object({ id = "amulet of ESP", x=16, y=11, buc="blessed", spe=0, name="The Eye of the Aethiopica" })
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster("Dark One", 16, 11)
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "B",random, peaceful = 0 })
des.monster({ class = "i",random, peaceful = 0 })
des.monster({ class = "i",random, peaceful = 0 })
des.monster({ class = "i",random, peaceful = 0 })
des.monster({ class = "i",random, peaceful = 0 })
des.monster({ class = "i",random, peaceful = 0 })
des.monster({ class = "i",random, peaceful = 0 })
des.monster({ class = "i",random, peaceful = 0 })
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster({ class = "i",random, peaceful = 0 })
-- Captive Monsters in the dungeon
des.monster({ id = "rogue", x=35, y=06, peaceful=1, name="Pug" })
des.monster({ id = "owlbear", x=47, y=06, peaceful=1, asleep=1 })
des.monster({ id = "wizard", x=32, y=11, peaceful=1, asleep=1, name="Newt" })
des.monster({ id = "Grey-elf", x=44, y=11, peaceful=1 })
des.monster({ id = "hill giant", x=47, y=11, peaceful=1, asleep=1 })
des.monster({ id = "gnomish wizard", x=38, y=06, peaceful=1 })
des.monster({ id = "prisoner", x=35, y=11, peaceful=1 })
des.monster({ id = "prisoner", x=41, y=11, peaceful=1, asleep=1 })
-- NetHack Wizard Wiz-loca.lua	$NHDT-Date: 1652196019 2022/05/10 15:20:19 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1992 by David Cohrs
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "hardfloor")

des.map([[
.............        .......................................................
..............       .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
..............      ..............}.................................}.......
..............      ..............}.-------------------------------.}.......
...............     .........C....}.|.............................|.}.......
...............    ..........C....}.|.---------------------------.|.}.......
...............    .........CCC...}.|.|.........................|.|.}.......
................   ....C....CCC...}.|.|.-----------------------.|.|.}.......
.......C..C.....  .....C....CCC...}.|.|.|......+.......+......|.|.|.}.......
.............C..CC.....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
................   ....C....CCC...}.|.|.|......|.......|......|.|.|.}.......
......C..C.....    ....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
............C..     ...C....CCC...}.|.|.|......+.......+......|.|.|.}.......
........C......    ....C....CCC...}.|.|.-----------------------.|.|.}.......
....C......C...     ........CCC...}.|.|.........................|.|.}.......
......C..C....      .........C....}.|.---------------------------.|.}.......
..............      .........C....}.|.............................|.}.......
.............       ..............}.-------------------------------.}.......
.............        .............}.................................}.......
.............        .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
.............        .......................................................
]]);

des.replace_terrain({ region = { 0, 0,30,20}, fromterrain=".", toterrain="C", chance=15 })
des.replace_terrain({ region = {68, 0,75,20}, fromterrain=".", toterrain="}", chance=25 })
des.replace_terrain({ region = {34, 1,68,19}, fromterrain="}", toterrain=".", chance=2 })

-- Dungeon Description
des.region(selection.area(00,00,75,20), "lit")
des.region({ region={37,04,65,16}, lit=0, type="ordinary", irregular=1,
             contents = function()
                des.door({ state="secret", wall="random" })
                end
})
des.region({ region={39,06,63,14}, lit=0, type="ordinary", irregular=1,
             contents = function()
                des.door({ state="secret", wall="random" })
             end
})

des.region({ region={41,08,46,12}, lit=1, type="ordinary", irregular=1,
             contents = function()
                local walls = { "north", "south", "west" }
                local widx = math.random(1, #walls)
                des.door({ state="secret", wall=walls[widx] })
             end
})

des.region({ region={56,08,61,12}, lit=1, type="ordinary", irregular=1,
             contents = function()
                local walls = { "north", "south", "east" }
                local widx = math.random(1, #walls)
                des.door({ state="secret", wall=walls[widx] })
             end
})

des.region(selection.area(48,08,54,08), "unlit")
des.region(selection.area(48,12,54,12), "unlit")

des.region({ region={48,10,54,10}, lit=0, type="ordinary", irregular=1,
             contents = function()
                des.door({ state="secret", wall="random" })
             end
})

-- Doors
des.door("locked",55,08)
des.door("locked",55,12)
des.door("locked",47,08)
des.door("locked",47,12)
-- Stairs
des.terrain({03,17}, ".")
des.stair("up", 03,17)
des.stair("down", 48,10)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,20))
-- Objects
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
des.object()
-- Random traps
des.trap("spiked pit",24,02)
des.trap("spiked pit",07,10)
des.trap("spiked pit",23,05)
des.trap("spiked pit",26,19)
des.trap("spiked pit",72,02)
des.trap("spiked pit",72,12)
des.trap("falling rock",45,16)
des.trap("falling rock",65,13)
des.trap("falling rock",55,06)
des.trap("falling rock",39,11)
des.trap("falling rock",57,09)
des.trap("magic")
des.trap("statue")
des.trap("statue")
des.trap("polymorph")
des.trap("anti magic",53,10)
des.trap("sleep gas")
des.trap("sleep gas")
des.trap("dart")
des.trap("dart")
des.trap("dart")
-- Random monsters.
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "B", peaceful = 0 })
des.monster({ class = "i", peaceful = 0 })
des.monster({ class = "i", peaceful = 0 })
des.monster({ class = "i", peaceful = 0 })
des.monster({ class = "i", peaceful = 0 })
des.monster({ class = "i", peaceful = 0 })
des.monster({ class = "i", peaceful = 0 })
des.monster({ class = "i", peaceful = 0 })
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster("vampire bat")
des.monster({ class = "i", peaceful = 0 })
-- NetHack Wizard Wiz-strt.lua	$NHDT-Date: 1652196019 2022/05/10 15:20:19 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1992 by David Cohrs
-- NetHack may be freely redistributed.  See license for details.
--
--
--	The "start" level for the quest.
--
--	Here you meet your (besieged) class leader, Neferet the Green
--	and receive your quest assignment.
--
des.level_init({ style = "solidfill", fg = " " });

des.level_flags("mazelevel", "noteleport", "hardfloor")

des.map([[
............................................................................
.....................C....CC.C........................C.....................
..........CCC.....................CCC.......................................
........CC........-----------.......C.C...C...C....C........................
.......C.....---------------------...C..C..C..C.............................
......C..C...------....\....------....C.....C...............................
........C...||....|.........|....||.........................................
.......C....||....|.........+....||.........................................
.......C...||---+--.........|....|||........................................
......C....||...............|--S--||........................................
...........||--+--|++----|---|..|.SS..........C......C......................
........C..||.....|..|...|...|--|.||..CC..C.....C..........C................
.......C...||.....|..|.--|.|.|....||.................C..C...................
.....C......||....|..|.....|.|.--||..C..C..........C...........}}}..........
......C.C...||....|..-----.|.....||...C.C.C..............C....}}}}}}........
.........C...------........|------....C..C.....C..CC.C......}}}}}}}}}}}.....
.........CC..---------------------...C.C..C.....CCCCC.C.......}}}}}}}}......
.........C........-----------..........C.C.......CCC.........}}}}}}}}}......
..........C.C.........................C............C...........}}}}}........
......................CCC.C.................................................
]]);

-- first do cloud everywhere
des.replace_terrain({ region={0,0, 75,19}, fromterrain=".", toterrain="C", chance=10 })
-- then replace clouds inside the tower back to floor
des.replace_terrain({ region={13,5, 33,15}, fromterrain="C", toterrain=".", chance=100 })

-- Dungeon Description
des.region(selection.area(00,00,75,19), "lit")
des.region(selection.area(35,00,49,03), "unlit")
des.region(selection.area(43,12,49,16), "unlit")
des.region({ region={19,11,33,15}, lit=0, type="ordinary", irregular=1 })
des.region(selection.area(30,10,31,10), "unlit")
-- Stairs
des.stair("down", 30,10)
-- Portal arrival point
des.terrain({63,06}, ".")
des.levregion({ region = {63,06,63,06}, type="branch" })
-- Doors
des.door("closed",31,09)
des.door("closed",16,08)
des.door("closed",28,07)
des.door("locked",34,10)
des.door("locked",35,10)
des.door("closed",15,10)
des.door("locked",19,10)
des.door("locked",20,10)
-- Neferet the Green, the quest leader
des.monster({ id = "Neferet the Green", coord = {23, 05}, inventory = function()
   des.object({ id = "elven cloak", spe = 5 });
   des.object({ id = "quarterstaff", spe = 5 });
end })
-- The treasure of the quest leader
des.object("chest", 24, 05)
-- apprentice guards for the audience chamber
des.monster("apprentice", 30, 07)
des.monster("apprentice", 24, 06)
des.monster("apprentice", 15, 06)
des.monster("apprentice", 15, 12)
des.monster("apprentice", 26, 11)
des.monster("apprentice", 27, 11)
des.monster("apprentice", 19, 09)
des.monster("apprentice", 20, 09)
-- Eels in the pond
des.monster("giant eel", 62, 14)
des.monster("giant eel", 69, 15)
des.monster("giant eel", 67, 17)
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Monsters on siege duty.
des.monster({ class = "B", x=60, y=09, peaceful = 0 })
des.monster({ class = "W", x=60, y=10, peaceful = 0 })
des.monster({ class = "B", x=60, y=11, peaceful = 0 })
des.monster({ class = "B", x=60, y=12, peaceful = 0 })
des.monster({ class = "i", x=60, y=13, peaceful = 0 })
des.monster({ class = "B", x=61, y=10, peaceful = 0 })
des.monster({ class = "B", x=61, y=11, peaceful = 0 })
des.monster({ class = "B", x=61, y=12, peaceful = 0 })
des.monster({ class = "B", x=35, y=03, peaceful = 0 })
des.monster({ class = "i", x=35, y=17, peaceful = 0 })
des.monster({ class = "B", x=36, y=17, peaceful = 0 })
des.monster({ class = "B", x=34, y=16, peaceful = 0 })
des.monster({ class = "i", x=34, y=17, peaceful = 0 })
des.monster({ class = "W", x=67, y=02, peaceful = 0 })
des.monster({ class = "B", x=10, y=19, peaceful = 0 })
-- NetHack yendor wizard1.lua	$NHDT-Date: 1652196039 2022/05/10 15:20:39 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
--
-- The top (real) wizard level.
-- Keeping the Moat for old-time's sake
des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel", "noteleport", "hardfloor")

local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);

local wiz1 = des.map({ halign = "center", valign = "center", map = [[
----------------------------x
|.......|..|.........|.....|x
|.......S..|.}}}}}}}.|.....|x
|..--S--|..|.}}---}}.|---S-|x
|..|....|..|.}--.--}.|..|..|x
|..|....|..|.}|...|}.|..|..|x
|..--------|.}--.--}.|..|..|x
|..|.......|.}}---}}.|..|..|x
|..S.......|.}}}}}}}.|..|..|x
|..|.......|.........|..|..|x
|..|.......|-----------S-S-|x
|..|.......S...............|x
----------------------------x
]], contents = function(rm)
   des.levregion({ type="stair-up", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.levregion({ type="stair-down", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.levregion({ type="branch", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.teleport_region({ region={01,00,79,20}, region_islev=1, exclude={0,0,27,12} })
   des.region({ region={12,01, 20,09}, lit=0, type="morgue", filled=2, contents=function()
                   local sdwall = { "south", "west", "east" };
                   des.door({ wall = sdwall[math.random(1, #sdwall)], state = "secret" });
   end })
   -- another region to constrain monster arrival
   des.region({ region={01,01, 10,11}, lit=0, type="ordinary", arrival_room=true })
   des.mazewalk(28,05,"east")
   des.ladder("down", 06,05)
   -- Non diggable walls
   -- Walls inside the moat stay diggable
   des.non_diggable(selection.area(00,00,11,12))
   des.non_diggable(selection.area(11,00,21,00))
   des.non_diggable(selection.area(11,10,27,12))
   des.non_diggable(selection.area(21,00,27,10))
   -- Non passable walls
   des.non_passwall(selection.area(00,00,11,12))
   des.non_passwall(selection.area(11,00,21,00))
   des.non_passwall(selection.area(11,10,27,12))
   des.non_passwall(selection.area(21,00,27,10))
   -- The wizard and his guards
   des.monster({ id = "Wizard of Yendor", x=16, y=05, asleep=1 })
   des.monster("hell hound", 15, 05)
   des.monster("vampire lord", 17, 05)
   -- The local treasure
   des.object("Book of the Dead", 16, 05)
   -- Surrounding terror
   des.monster("kraken", 14, 02)
   des.monster("giant eel", 17, 02)
   des.monster("kraken", 13, 04)
   des.monster("giant eel", 13, 06)
   des.monster("kraken", 19, 04)
   des.monster("giant eel", 19, 06)
   des.monster("kraken", 15, 08)
   des.monster("giant eel", 17, 08)
   des.monster("piranha", 15, 02)
   des.monster("piranha", 19, 08)
   -- Random monsters
   des.monster("D")
   des.monster("H")
   des.monster("&")
   des.monster("&")
   des.monster("&")
   des.monster("&")
   -- And to make things a little harder.
   des.trap("board",16,04)
   des.trap("board",16,06)
   des.trap("board",15,05)
   des.trap("board",17,05)
   -- Random traps.
   des.trap("spiked pit")
   des.trap("sleep gas")
   des.trap("anti magic")
   des.trap("magic")
   -- Some random loot.
   des.object("ruby")
   des.object("!")
   des.object("!")
   des.object("?")
   des.object("?")
   des.object("+")
   des.object("+")
   des.object("+")
end
});

local protected = bounds2:negate() | wiz1;
hell_tweaks(protected);
-- NetHack yendor wizard2.lua	$NHDT-Date: 1652196039 2022/05/10 15:20:39 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.2 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel", "noteleport", "hardfloor")

local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);

local wiz2 = des.map({ halign = "center", valign = "center", map = [[
----------------------------x
|.....|.S....|.............|x
|.....|.-------S--------S--|x
|.....|.|.........|........|x
|..-S--S|.........|........|x
|..|....|.........|------S-|x
|..|....|.........|.....|..|x
|-S-----|.........|.....|..|x
|.......|.........|S--S--..|x
|.......|.........|.|......|x
|-----S----S-------.|......|x
|............|....S.|......|x
----------------------------x
]], contents = function(rm)
   des.levregion({ type="stair-up", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.levregion({ type="stair-down", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.levregion({ type="branch", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.teleport_region({ region={01,00,79,20}, region_islev=1, exclude={0,0,27,12} })
   -- entire tower in a region, constrains monster migration
   des.region({ region={01,01, 26,11}, lit=0, type="ordinary", arrival_room=true })
   des.region({ region={09,03, 17,09}, lit=0, type="zoo", filled=1 })
   des.door("closed",15,02)
   des.door("closed",11,10)
   des.mazewalk(28,05,"east")
   des.ladder("up", 12,01)
   des.ladder("down", 14,11)
   -- Non diggable walls everywhere
   des.non_diggable(selection.area(00,00,27,12))
   --
   des.non_passwall(selection.area(00,00,27,12))
   -- Random traps.
   des.trap("spiked pit")
   des.trap("sleep gas")
   des.trap("anti magic")
   des.trap("magic")
   -- Some random loot.
   des.object("!")
   des.object("!")
   des.object("?")
   des.object("?")
   des.object("+")
   -- treasures
   des.object("\"", 04, 06)
end
});

local protected = bounds2:negate() | wiz2;
hell_tweaks(protected);
-- NetHack yendor wizard3.lua	$NHDT-Date: 1652196040 2022/05/10 15:20:40 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $
--	Copyright (c) 1989 by Jean-Christophe Collet
--	Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed.  See license for details.
--
des.level_init({ style="mazegrid", bg ="-" });

des.level_flags("mazelevel", "noteleport", "hardfloor")

local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);

local wiz3 = des.map({ halign = "center", valign = "center", map = [[
----------------------------x
|..|............S..........|x
|..|..------------------S--|x
|..|..|.........|..........|x
|..S..|.}}}}}}}.|..........|x
|..|..|.}}---}}.|-S--------|x
|..|..|.}--.--}.|..|.......|x
|..|..|.}|...|}.|..|.......|x
|..---|.}--.--}.|..|.......|x
|.....|.}}---}}.|..|.......|x
|.....S.}}}}}}}.|..|.......|x
|.....|.........|..|.......|x
----------------------------x
]], contents = function(rm)
   des.levregion({ type="stair-up", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.levregion({ type="stair-down", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.levregion({ type="branch", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
   des.teleport_region({ region={01,00,79,20}, region_islev=1, exclude={0,0,27,12} })
   des.levregion({ region={25,11,25,11}, type="portal", name="fakewiz1" });
   des.mazewalk(28,09,"east")
   des.region({ region={07,03, 15,11}, lit=0 ,type="morgue", filled=2 })
   des.region({ region={17,06, 18,11}, lit=0, type="beehive", filled=1 })
   -- make the entry chamber a real room; it affects monster arrival
   des.region({ region={20,06,26,11},lit=0,type="ordinary",arrival_room=true,
                contents = function()
                   local w = "north";
                   if percent(50) then w = "west" end
                   des.door({ state="secret", wall=w })
                end
   });
   des.door("closed",18,05)
   des.ladder("up", 11,07)
   -- Non diggable walls
   -- Walls inside the moat stay diggable
   des.non_diggable(selection.area(00,00,06,12))
   des.non_diggable(selection.area(06,00,27,02))
   des.non_diggable(selection.area(16,02,27,12))
   des.non_diggable(selection.area(06,12,16,12))
   --
   des.non_passwall(selection.area(00,00,06,12))
   des.non_passwall(selection.area(06,00,27,02))
   des.non_passwall(selection.area(16,02,27,12))
   des.non_passwall(selection.area(06,12,16,12))
   --
   des.monster("L", 10, 07)
   des.monster("vampire lord", 12, 07)
   -- Some surrounding horrors
   des.monster("kraken", 08, 05)
   des.monster("giant eel", 08, 08)
   des.monster("kraken", 14, 05)
   des.monster("giant eel", 14, 08)
   -- Other monsters
   des.monster("L")
   des.monster("D")
   des.monster("D", 26, 09)
   des.monster("&")
   des.monster("&")
   des.monster("&")
   -- And to make things a little harder.
   des.trap("board",10,07)
   des.trap("board",12,07)
   des.trap("board",11,06)
   des.trap("board",11,08)
   -- Some loot
   des.object(")")
   des.object("!")
   des.object("?")
   des.object("?")
   des.object("(")
   -- treasures
   des.object("\"", 11, 07)
end
});

local protected = bounds2:negate() | wiz3;
hell_tweaks(protected);
