From ac6c07c4feeaea33c25b4696bbcb6b27e594624c Mon Sep 17 00:00:00 2001
From: Mark Wooding <mdw@distorted.org.uk>
Date: Sat, 12 May 2007 23:21:15 +0100
Subject: [PATCH] Updates

---
 .gitignore   |    9 +
 combat.tex   |   16 +
 dice.lisp    | 1347 ++++++++++++++++++++++++
 equip.tex    |   29 +
 monsters.tex | 3211 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 spells.tex   | 1114 +++++++++++++++++++-
 tables.cls   |   26 +-
 treasure.tex | 1099 +++++++++++++++++++-
 weapons.tex  |    4 +-
 9 files changed, 6799 insertions(+), 56 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 monsters.tex

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cc1dc12
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+*.aux
+*.dvi
+*.log
+*.x86f
+*~
+\#*
+.#*
+*.[0-9]
+*.ps
diff --git a/combat.tex b/combat.tex
index 8f34298..0afce9a 100644
--- a/combat.tex
+++ b/combat.tex
@@ -86,6 +86,22 @@
 \end{tabular}
 \end{set}
 
+\begin{set}
+
+\begin{order*}{Naval combat}
+\item Magic and giant monsters: usually 1 hull point for each 5 hit
+  points, rounding down. \\
+\item Each 10\% of damage or 10\% loss of rowers reduces speed by 10\%. \\
+\item Dead in water at 75\% damage; sinks at 100\%. \\
+\item Grappling: at $50'$ or less; successful 2 in 6 or by mutual
+  agreement. \\
+\item Boarding: $-2$ on hit rolls and AC during boarding round. \\
+\item Repairs: five crewmen required; 1\,hp per turn up to half damage, fails
+  after 5d6 days. \\
+\end{order*}
+
+\end{set}
+
 \end{document}
 
 %%% Local Variables: 
diff --git a/dice.lisp b/dice.lisp
index 547ecd2..3f17c62 100644
--- a/dice.lisp
+++ b/dice.lisp
@@ -150,3 +150,1350 @@
 	    (t (run tag key)))
 	  finally (return *dnd-alist*))))
 
+(defun percentp (pc) (< (random 100) pc))
+
+(defun bag (&rest things)
+  (loop for i in things
+	when i collect i))
+
+(defun tagged-bag (tag &rest things)
+  (let ((bag (apply #'bag things)))
+    (and bag (cons tag bag))))
+
+(defun choose (&rest things)
+  (let ((n 0)
+	(it nil))
+    (do ((things things (cddr things)))
+	((null things) it)
+      (let ((k (car things)))
+	(incf n k)
+	(when (and (plusp n) (< (random n) k))
+	  (setf it (cadr things)))))))
+
+(defun choose-uniformly (&rest things)
+  (let ((n 0) (it nil))
+    (do ((things things (cdr things)))
+	((null things) it)
+	(incf n)
+	(when (< (random n) 1)
+	  (setf it (car things))))))
+
+(defmacro pick (&body clauses)
+  `(funcall (choose ,@(loop for (n . clause) in clauses
+			   collect n
+			   collect `(lambda () ,@clause)))))
+
+(defconstant cleric-spells
+  #((cure-light-wounds detect-evil detect-magic light protection-from-evil
+     purify-food-and-water remove-fear resist-cold)
+    (bless find-traps hold-person resist-fire silence-15-ft-radius
+     slow-poison snake-charm speak-with-animal)
+    (continual-light cure-blindness cure-disease growth-of-animals
+     locate-object remove-curse speak-with-the-dead striking)
+    (animate-dead create-water cure-serious-wounds dispel-magic
+     neutralize-poison protection-from-evil-10-ft-radius speak-with-plants
+     sticks-to-snakes)
+    (commune create-food cure-critical-wounds dispel-evil insect-plague quest
+     raise-dead truesight)
+    (aerial-servant animate-objects barrier create-normal-animals cureall
+     find-the-path speak-with-monsters word-of-recall)
+    (earthquake holy-word raise-dead-fully restore survival travel wish
+     wizardry)))
+
+(defconstant druid-only-spells
+  #((detect-danger faerie-fire locate predict-weather)
+    (heat-metal obscure produce-fire warp-wood)
+    (call-lightning hold-animal protection-from-poison water-breathing)
+    (control-temperature-10-ft-radius plant-door protection-from-lightning
+     summon-animals)
+    (anti-plant-shell control-winds dissolve pass-plant)
+    (anti-animal-shell summon-weather transport-through-plants turn-wood)
+    (creeping-doom metal-to-wood summon-elemental weather-control)))
+
+(defconstant druid-spells
+  (make-array 7 :initial-contents (loop for cs across cleric-spells
+					for ds across druid-only-spells
+					collect (append cs ds))))
+
+(defconstant magic-user-spells
+  #((analyse charm-person detect-magic floating-disc hold-portal light
+     magic-missile protection-from-evil read-languages read-magic shield
+     sleep ventriloquism)
+    (continual-light detect-evil detect-invisible entangle esp invisibility
+     knock levitate locate-object mirror-image phantasmal-force web
+     wizard-lock)
+    (clairvoyance create-air dispel-magic fire-ball fly haste hold-person
+     infravision invisibility-10-ft-radius lightning-bolt
+     protection-from-evil-10-ft-radius protection-from-normal-missiles
+     water-breathing)
+    (charm-monster clothform confusion dimension-door growth-of-plants
+     hallucinatory-terrain ice-storm/wall massmorph polymorph-others
+     polymorph-self remove-curse wall-of-fire wizard-eye)
+    (animate-dead cloudkill conjure-elemental contact-outer-plane dissolve
+     feeblemind hold-monster magic-jar pass-wall telekinesis teleport
+     wall-of-stone woodform)
+    (anti-magic-shell death-spell disintegrate geas invisible-stalker
+     lower-water move-earth projected-image reincarnation stone-to-flesh
+     stoneform wall-of-iron weather-control)
+    (charm-plant create-normal-monsters delayed-blast-fire-ball ironform lore
+     magic-door mass-invisibility power-word-stun reverse-gravity statue
+     summon-object sword teleport-any-object)
+    (clone create-magical-monsters dance explosive-cloud force-field
+     mass-charm mind-barrier permanence polymorph-any-object power-word-blind
+     steelform symbol travel)
+    (contingency create-any-monster gate heal immunity maze meteor-swarm
+     power-word-kill prismatic-wall shapechange survival timestop wish)))
+
+(defun spell-caster-type (&optional (form :any))
+  (pick-matching (form)
+    (5 (:user (:cleric :druid :paladin)) :cleric)
+    (1 (:user :druid) :druid)
+    (14 (:user (:magic-user :elf :thief)) :magic-user)))
+
+(defun random-spell (&optional (caster (spell-caster-type))
+		               (level (ecase caster
+					((:magic-user) (choose 28 1
+							       21 2
+							       15 3
+							       11 4
+							        9 5
+								7 6
+								5 7
+								3 8
+								1 9))
+					((:cleric :druid) (choose 34 1
+								  24 2
+								  18 3
+								  12 4
+								   7 5
+								   4 6
+								   1 7)))))
+  (let ((list (aref (ecase caster
+		      ((:magic-user) magic-user-spells)
+		      ((:cleric) cleric-spells)
+		      ((:druid) druid-only-spells))
+		    level)))
+    (values (elt list (random (length list)))
+	    caster
+	    level)))
+
+(let ((magic (list :magic)))
+  (defun assertion-match-p (form assertions)
+    (cond ((eq form :any) t)
+	  ((eq form :none) nil)
+	  ((atom form) (if (atom assertions)
+			   (eql form assertions)
+			   (member form assertions)))
+	  (t (case (car form)
+	       ((and) (every (lambda (f)
+			       (assertion-match-p f assertions))
+			     (cdr form)))
+	       ((or) (some (lambda (f)
+			     (assertion-match-p f assertions))
+			   (cdr form)))
+	       ((not) (not (assertion-match-p (cadr form) assertions)))
+	       (t (let ((sub (getf assertions (car form) magic)))
+		    (if (eq sub magic)
+			t
+			(assertion-match-p (cadr form) sub)))))))))
+
+(defun choose-distinct-items (n seq)
+  (let* ((copy (subseq (coerce seq 'vector) 0))
+	 (len (length copy))
+	 (list nil))
+    (dotimes (i n (sort list #'string<))
+      (let ((j (random len)))
+	(push (aref copy j) list)
+	(decf len)
+	(setf (aref copy j) (aref copy len))))))
+
+(defmacro pick-matching ((form &key) &body clauses)
+  (let ((formtemp (gensym "FORM")))
+    `(let ((,formtemp ,form))
+       (pick ,@(loop for (prob assertion . code) in clauses
+		     collect `((if (assertion-match-p ,formtemp ',assertion)
+				   ,prob
+				   0)
+			       ,@code))))))
+
+(defun magic-item (form)
+  (labels ((cursedp (&optional (prob 10))
+	     (cond ((assertion-match-p form '(:cursed :unspecified))
+		    (zerop (random prob)))
+		   ((assertion-match-p form '(:cursed nil))
+		    nil)
+		   (t t)))
+	   (potion (&key recursivep)
+	     (pick-matching (form)
+	       (2 (:cursed nil) `(:potion agility))
+	       (1 (:cursed nil) `(:potion animal-control))
+	       (3 (:cursed nil) `(:potion antidote))
+	       (2 (:cursed nil) `(:potion blending))
+	       (2 (:cursed nil) `(:potion bug-repellent))
+	       (2 (:cursed nil) `(:potion clairaudience))
+	       (2 (:cursed nil) `(:potion clairvoyance))
+	       (2 (:cursed nil) `(:potion climbing))
+	       (2 (:cursed nil) `(:potion defence :bonus ,(choose 3 1
+								  2 2
+								  2 3
+								  2 4
+								  1 5)))
+	       ((if recursivep 0 4) (:cursed t)
+		(setf form :any)
+		`(:potion delusion
+		  :fakes ,@(cdr (potion :recursivep t))))
+	       (2 (:cursed nil) `(:potion diminution))
+	       (1 (:cursed nil) `(:potion ,(choose 35 'white-dragon-control
+						   15 'crystal-dragon-control
+						   35 'black-dragon-control
+						   15 'onyx-dragon-control
+						   28 'green-dragon-control
+						   12 'jade-dragon-control
+						   21 'blue-dragon-control
+						   9 'sapphire-dragon-control
+						   14 'red-dragon-control
+						   6 'ruby-dragon-control
+						   7 'gold-dragon-control
+						   3 'amber-dragon-control)))
+	       (2 (:cursed nil) `(:potion dreamspeech))
+	       (1 (:cursed nil) `(:potion elasicity))
+	       (2 (:cursed nil) `(:potion ,(choose-uniformly 'air-form
+							     'water-form
+							     'earth-form
+							     'fire-form)))
+	       (2 (:cursed nil) `(:potion esp))
+	       (1 (:cursed nil) `(:potion ethereality))
+	       (3 (:cursed nil) `(:potion fire-resistance))
+	       (3 (:cursed nil) `(:potion flying))
+	       (2 (:cursed nil) `(:potion fortitude))
+	       (1 (:cursed nil) `(:potion freedom))
+	       (3 (:cursed nil) `(:potion gaseous-form))
+	       (1 (:cursed nil) `(:potion ,(choose 5 'hill-giant-control
+						   5 'stone-giant-control
+						   4 'frost-giant-control
+						   2 'fire-giant-control
+						   1 'mountain-giant-control
+						   1 'sea-giant-control
+						   1 'cloud-giant-control
+						   1 'storm-giant-control)))
+	       (3 (:cursed nil) `(:potion giant-strength))
+	       (2 (:cursed nil) `(:potion growth))
+	       (6 (:cursed nil) `(:potion healing))
+	       (3 (:cursed nil) `(:potion heroism))
+	       (1 (:cursed nil) `(:potion human-control))
+	       (3 (:cursed nil) `(:potion invisibility))
+	       (2 (:cursed nil) `(:potion invulnerability))
+	       (2 (:cursed nil) `(:potion levitation))
+	       (2 (:cursed nil) `(:potion longevity))
+	       (1 (:cursed nil) `(:potion luck))
+	       (1 (:cursed nil) `(:potion merging))
+	       (2 (:cursed nil) `(:potion plant-control))
+	       (3 (:cursed t) `(:potion poison))
+	       (3 (:cursed nil) `(:potion polymorph-self))
+	       (2 (:cursed nil) `(:potion sight))
+	       (2 (:cursed nil) `(:potion speech))
+	       (4 (:cursed nil) `(:potion speed))
+	       (2 (:cursed nil) `(:potion strength))
+	       (3 (:cursed nil) `(:potion super-healing))
+	       (3 (:cursed nil) `(:potion swimming))
+	       (1 (:cursed nil) `(:potion treasure-finding))
+	       (1 (:cursed nil) `(:potion undead-control))
+	       (2 (:cursed nil) `(:potion water-breathing))))
+	   (scroll ()
+	     (pick-matching (form)
+	       (3 (:cursed nil) `(:scroll communication))
+	       (2 (:cursed nil) `(:scroll creation))
+	       (8 (:cursed t) `(:scroll curse))
+	       (1 (:user (:cleric :druid :magic-user :elf :thief :paladin)
+		   :cursed nil)
+		  (multiple-value-bind
+		      (spell caster level)
+		      (random-spell (spell-caster-type form))
+		    (declare (ignore level))
+		    `(:scroll delay :caster ,caster :spells (,spell))))
+	       (3 (:cursed nil)
+		  `(:scroll equipment
+		    :items ,(choose-distinct-items 6
+						   '(grappling-hook
+						     hammer
+						     iron-spikes
+						     lantern
+						     mirror
+						     wooden-pole
+						     rope
+						     saddle
+						     backpack
+						     saddle-bags
+						     stakes-and-mallet
+						     wolfsbane))))
+	       (2 (:cursed nil) `(:scroll illumination))
+	       (2 (:cursed nil :user (:magic-user :cleric :druid :elf))
+		  `(:scroll mages))
+	       (4 (:cursed nil) `(:map normal-treasure))
+	       (3 (:cursed nil) `(:map magical-treasure))
+	       (2 (:cursed nil) `(:map combined-treasure))
+	       (1 (:cursed nil) `(:map special-treasure))
+	       (3 (:cursed nil) `(:scroll mapping))
+	       (2 (:cursed nil) `(:scroll portals))
+	       (6 (:cursed nil) `(:scroll protection-from-elementals))
+	       (8 (:cursed nil) `(:scroll protection-from-lycanthropes))
+	       (4 (:cursed nil) `(:scroll protection-from-magic))
+	       (7 (:cursed nil) `(:scroll protection-from-undead))
+	       (2 (:cursed nil) `(:scroll questioning))
+	       (1 (:cursed nil
+		   :user (:cleric :druid :magic-user :elf :thief :paladin))
+		  (multiple-value-bind
+		      (spell caster level)
+		      (random-spell (spell-caster-type form))
+		    `(:scroll repetition
+		      :caster ,caster
+		      :level ,level
+		      :spells (,spell))))
+	       (2 (:cursed nil) `(:scroll seeing))
+	       (2 (:cursed nil) `(:scroll shelter))
+	       (3 (:cursed nil)
+		  `(:scroll spell-catching :max-level ,(choose 4 1
+							       3 2
+							       2 3
+							       1 8)))
+	       (25 (:cursed nil
+		    :user (:cleric :druid :magic-user :elf :thief :paladin))
+		   (let ((caster (spell-caster-type form))
+			 (spells (choose 50 1  33 2  17 3)))
+		     `(:scroll spell
+		       :caster ,caster
+		       :spells ,(loop repeat spells
+				      collect (random-spell caster)))))
+	       (2 (:cursed nil) `(:scroll trapping))
+	       (2 (:cursed nil) `(:scroll truth))))
+	   (wand-charges () (d 10 3))
+	   (staff-charges () (d 20 2))
+	   (wandlike ()
+	     (pick-matching (form)
+	       (5 (:user (:magic-user :elf))
+		  `(:wand cold :charges ,(wand-charges)))
+	       (5 (:user (:magic-user :elf))
+		  `(:wand enemy-detection :charges ,(wand-charges)))
+	       (4 (:user (:magic-user :elf))
+		  `(:wand fear :charges ,(wand-charges)))
+	       (5 (:user (:magic-user :elf))
+		  `(:wand fireballs :charges ,(wand-charges)))
+	       (4 (:user (:magic-user :elf))
+		  `(:wand illusion :charges ,(wand-charges)))
+	       (5 (:user (:magic-user :elf))
+		  `(:wand lightning-bolts :charges ,(wand-charges)))
+	       (5 (:user (:magic-user :elf))
+		  `(:wand magic-detection :charges ,(wand-charges)))
+	       (5 (:user (:magic-user :elf))
+		  `(:wand metal-detection :charges ,(wand-charges)))
+	       (4 (:user (:magic-user :elf))
+		  `(:wand negation :charges ,(wand-charges)))
+	       (5 (:user (:magic-user :elf))
+		  `(:wand paralysation :charges ,(wand-charges)))
+	       (5 (:user (:magic-user :elf))
+		  `(:wand polymorphing :charges ,(wand-charges)))
+	       (4 (:user (:magic-user :elf))
+		  `(:wand secret-door-detection :charges ,(wand-charges)))
+	       (4 (:user (:magic-user :elf))
+		  `(:wand trap-detection :charges ,(wand-charges)))
+	       (1 (:user (:magic-user :elf :cleric :druid :palatin))
+		  `(:staff commanding :charges nil))
+	       (2 nil
+		  `(:staff dispelling :charges ,(staff-charges)))
+	       (3 (:user :druid)
+		  `(:staff druids :charges ,(staff-charges)))
+	       (3 (:user (:magic-user :elf))
+		  `(:staff ,(choose 19 'air
+				    19 'earth
+				    19 'fire
+				    19 'water
+				    6 'air-and-water
+				    6 'earth-and-fire
+				    2 'elemental-power)
+		    :charges ,(staff-charges)))
+	       (2 (:user (:cleric :druid :paladin))
+		  `(:staff harming :charges ,(staff-charges)))
+	       (7 (:user (:cleric :druid :paladin))
+		  `(:staff healing :charges ,(staff-charges)))
+	       (1 (:user (:cleric :druid :magic-user :elf :paladin))
+		  `(:staff power :charges ,(staff-charges)))
+	       (3 (:user (:cleric :druid :paladin))
+		  `(:staff snake :charges ,(staff-charges)))
+	       (3 (:user (:cleric :druid :magic-user :elf :paladin))
+		  `(:staff striking :charges ,(staff-charges)))
+	       (2 (:user (:cleric :druid :paladin))
+		  `(:staff withering :charges ,(staff-charges)))
+	       (1 (:user (:magic-user :elf))
+		  `(:staff wizardry :charges ,(staff-charges)))
+	       (2 nil `(:rod cancellation))
+	       (1 nil `(:rod dominion))
+	       (1 (:user (:cleric :druid :paladin)) `(:rod health))
+	       (2 (:user (:dwarf :halfling :elf :fighter
+			  :paladin :thief :mystic))
+		  `(:rod inertia))
+	       (1 nil `(:rod parrying))
+	       (1 nil `(:rod victory))
+	       (3 (:user (:dwarf :halfling :elf :fighter
+			  :paladin :thief :mystic))
+		  `(:rod weaponry))
+	       (1 nil
+		  `(:rod wyrm :colour ,(choose 5 'gold
+					       3 'blue
+					       2 'black)))))
+	   (ring (&optional (recursivep nil))
+	     (pick-matching (form)
+	       (2 (:cursed nil) `(:ring animal-control))
+	       ((if recursivep 0 6)
+		(:cursed t)
+		(setf form :any)
+		`(:ring delusion :fakes ,@(cdr (ring t))))
+	       (1 (:cursed nil) `(:ring djinni-summoning))
+	       (4 (:cursed nil) `(:ring ear))
+	       (4 (:cursed nil) `(:ring ,(choose 19 'air-adaptation
+						 19 'earth-adaptation
+						 19 'fire-adaptation
+						 19 'water-adaptation
+						 6 'air-and-water-adaptation
+						 6 'earth-and-fire-adaptation
+						 2 'elemental-adaptation)))
+	       (6 (:cursed nil) `(:ring fire-resistance))
+	       (3 (:cursed nil :user (:cleric :druid :paladin))
+		  `(:ring holiness))
+	       (1 (:cursed nil) `(:ring human-control))
+	       (5 (:cursed nil) `(:ring invisibility))
+	       (3 (:cursed nil) `(:ring life-protection :charges ,(d 6)))
+	       (3 (:cursed nil
+		   :user (:cleric :druid :magic-user :elf :paladin))
+		  `(:ring memory))
+	       (2 (:cursed nil) `(:ring plant-control))
+	       (1 (:cursed nil) `(:ring protection :bonus 1 :radius 5))
+	       (10 (:cursed nil) `(:ring protection :bonus ,(choose 4 1
+								    3 2
+								    2 3
+								    1 4)))
+	       (4 (:cursed nil) `(:ring quickness))
+	       (1 (:cursed nil) `(:ring regeneration))
+	       (3 (:cursed nil) `(:ring remedies))
+	       (2 (:cursed nil) `(:ring safety :charges ,(d 4)))
+	       (3 (:cursed nil) `(:ring seeing))
+	       (3 (:cursed t) `(:ring spell-eating))
+	       (2 (:cursed nil)
+		  (let* ((caster (spell-caster-type))
+			 (spells (loop repeat (d 6)
+				       collect (random-spell caster))))
+		    `(:ring spell-storing
+		      :caster ,caster
+		      :spells ,(remove-duplicates (sort spells
+							#'string<)))))
+	       (2 (:cursed nil) `(:ring spell-turning))
+	       (4 (:cursed nil) `(:ring survival :charges ,(+ 100 (d 100))))
+	       (2 (:cursed nil) `(:ring telekinesis))
+	       (4 (:cursed nil) `(:ring truth))
+	       (3 (:cursed t) `(:ring truthfulness))
+	       (2 (:cursed t) `(:ring truthlessness))
+	       (5 (:cursed nil) `(:ring water-walking))
+	       (5 (:cursed t) `(:ring weakness))
+	       (2 (:cursed nil) `(:ring wishes :charges ,(choose 4 1
+								 3 2
+								 2 3
+								 1 4)))
+	       (2 (:cursed nil) `(:ring x-ray-vision))))
+	   (misc-item ()
+	     (pick-matching (form)
+	       (2 (:cursed nil)
+		  `(:amulet protection-from-crystal-balls-and-esp))
+	       (2 (:cursed t) `(:bag devouring))
+	       (5 (:cursed nil) `(:bag holding))
+	       (3 (:cursed nil) `(:boat undersea))
+	       (2 (:cursed nil) `(:boots levitation))
+	       (3 (:cursed nil) `(:boots speed))
+	       (2 (:cursed nil) `(:boots travelling-and-leaping))
+	       (1 (:cursed nil) `(:bowl commanding-water-elementals))
+	       (1 (:cursed nil) `(:brazier commanding-fire-elementals))
+	       (2 (:cursed nil) `(:broom flying))
+	       (1 (:cursed nil) `(:censer controlling-air-elementals))
+	       (3 (:cursed nil) `(:chime time))
+	       (2 (:cursed nil :user (:magic-user :elf))
+		  `(:crystal-ball normal))
+	       (1 (:cursed nil :user (:magic-user :elf))
+		  `(:crystal-ball clairaudience))
+	       (1 (:cursed nil :user (:magic-user :elf))
+		  `(:crystal-ball esp))
+	       (2 (:cursed nil) `(:cloak displacer))
+	       (1 (:cursed nil) `(:drums panic))
+	       (1 (:cursed nil) `(:bottle efreeti))
+	       (3 (:cursed nil) `(:egg ,(choose-uniformly 'rock-baboon
+							  'giant-bat
+							  'black-bear
+							  'grizzly-bear
+							  'boar
+							  'mountain-lion
+							  'panther
+							  'giant-ferret
+							  'gecko
+							  'draco
+							  'racer-snake
+							  'wolf)))
+	       (2 (:cursed nil) `(:boots elven))
+	       (2 (:cursed nil) `(:cloak elven))
+	       (1 (:cursed nil) `(:carpet flying))
+	       (2 (:cursed nil) `(:gauntlets ogre-power))
+	       (2 (:cursed nil) `(:girdle giant-strength))
+	       (2 (:cursed t)
+		  `(:helm ,(choose-uniformly 'lawful-alignment
+					     'neutral-alignment
+					     'chaotic-alignment)))
+	       (2 (:cursed nil) `(:helm reading))
+	       (1 (:cursed nil) `(:helm telepathy))
+	       (1 (:cursed nil) `(:helm teleportation))
+	       (1 (:cursed nil) `(:horn blasting))
+	       (2 (:cursed t) `(:lamp hurricane))
+	       (3 (:cursed nil) `(:lamp long-burning))
+	       (2 (:cursed nil) `(:medallion esp-30-ft-range))
+	       (1 (:cursed nil) `(:medallion esp-90-ft-range))
+	       (1 (:cursed nil) `(:mirror life-trapping))
+					; fixme include contents
+	       (3 (:cursed nil) `(:muzzle training))
+	       (2 (:cursed nil) `(:nail finger))
+	       (3 (:cursed nil) `(:nail pointing))
+	       (5 nil `(:ointment ,(pick-matching (form)
+				     (1 (:cursed nil) 'blessing)
+				     (1 (:cursed nil) 'healing)
+				     (1 (:cursed t) 'poison)
+				     (1 (:cursed t) 'scarring)
+				     (1 (:cursed nil) 'soothing)
+				     (1 (:cursed t) 'tanning))))
+	       (3 (:cursed nil) `(:pouch security))
+	       (3 (:cursed nil :user (:cleric :druid :magic-user :elf))
+		  `(:quill copying))
+	       (4 (:cursed nil) `(:rope climbing))
+	       (2 (:cursed nil) `(:scarab protection :charges ,(d 6 2)))
+	       (3 (:cursed nil :user (:cleric :druid :magic-user :elf))
+		  `(:slate identification))
+	       (1 (:cursed nil) `(:stone controlling-earth-elementals))
+	       (2 (:cursed nil)
+		  `(:talisman ,(choose-uniformly 'air-travel
+						 'earth-travel
+						 'fire-travel
+						 'water-travel
+						 'elemental-travel)))
+	       (3 (:cursed nil) `(:wheel floating))
+	       (1 (:cursed nil) `(:wheel fortune))
+	       (2 (:cursed nil) `(:wheel square))))
+	   (weapon-bonus (class)
+	     (loop for bonus from 1
+		   for roll = (random 100) then (- roll item)
+		   for item in (ecase class
+				 ((a) '(40 27 17 10 6))
+				 ((b) '(50 24 14 8 4))
+				 ((c) '(60 21 11 6 2))
+				 ((d) '(70 18 8 3 1)))
+		   when (< roll item) return bonus))
+	   (armour-size ()
+	     (pick-matching (form)
+	       (68 (:user (:cleric :fighter :paladin :druid :thief)) 'human)
+	       (13 (:user :dwarf) 'dwarf)
+	       (10 (:user :elf) 'elf)
+	       (7 (:user :halfling) 'halfling)
+	       (2 (:user nil) 'giant)))
+	   (armour-piece (class)
+	     (let* ((bonus (weapon-bonus class))
+		    (power (and (percentp (* 5 (1+ bonus)))
+				(pick (7 `(absorption))
+				      (10 `(charm))
+				      (15 `(cure-wounds))
+				      (10 `(electricity))
+				      (5 `(energy-drain))
+				      (3 `(ethereality))
+				      (10 `(fly))
+				      (6 `(gaseous-form))
+				      (9 `(haste))
+				      (10 `(invisibility))
+				      (8 `(reflection))
+				      (7 `(remove-curse :charges ,(d 3))))))
+		    (cursedp (if (and power (eq (car power) 'remove-curse))
+				 nil
+				 (cursedp 8))))
+	       `(:bonus ,bonus
+		 ,@(and power (cons :power power))
+		 :size ,(armour-size)
+		 ,@(and cursedp `(:cursed t)))))
+	   (armour ()
+	     (pick-matching (form)
+	       (10 (:user (:cleric :fighter :paladin :druid :thief
+			   :dwarf :elf :halfling))
+		   `((:armour leather ,@(armour-piece 'd))))
+	       ( 7 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour scale-mail ,@(armour-piece 'd))))
+	       (13 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour chain-mail ,@(armour-piece 'c))))
+	       ( 9 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour banded-mail ,@(armour-piece 'd))))
+	       (11 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour plate-mail ,@(armour-piece 'b))))
+	       ( 5 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour suit ,@(armour-piece 'b))))
+	       (20 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:shield ,@(armour-piece 'a))))
+	       ( 2 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour scale-mail ,@(armour-piece 'd))
+		     (:shield ,@(armour-piece 'a))))
+	       ( 8 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour chain-mail ,@(armour-piece 'c))
+		     (:shield ,@(armour-piece 'a))))
+	       ( 5 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour banded-mail ,@(armour-piece 'd))
+		     (:shield ,@(armour-piece 'a))))
+	       (10 (:user (:cleric :fighter :paladin :dwarf :elf :halfling))
+		   `((:armour plate-mail ,@(armour-piece 'b))
+		     (:shield ,@(armour-piece 'a))))))
+	   (opponent ()
+	     (choose 6 'bugs
+		     3 'constructs
+		     6 'dragonkind
+		     9 'enchanted-monsters
+		     12 'giantkind
+		     12 'lycanthropes
+		     4 'planar-monsters
+		     6 'regenerating-monsters
+		     9 'reptiles-and-dinosaurs
+		     3 'spell-immune-monsters
+		     6 'spellcasters
+		     12 'undead
+		     6 'water-breathing-monsters
+		     6 'weapon-using-monsters))
+	   (weapon-talent (&key missilep)
+	     (pick (5 `(breathing))
+		   (7 `(charming))
+		   (4 `(deceiving))
+		   ((if missilep 0 7) `(defending))
+		   (2 `(deflecting))
+		   (2 `(draining :charges ,(+ 4 (d 4))))
+		   (5 `(extinguishing))
+		   (6 `(finding))
+		   (5 `(flaming))
+		   (3 `(flying))
+		   (8 `(healing))
+		   (5 `(hiding))
+		   (6 `(holding))
+		   (8 `(lightning))
+		   (6 `(silencing))
+		   (2 `(slicing))
+		   (4 `(slowing))
+		   (4 `(speeding))
+		   (5 `(translating))
+		   (5 `(watching))
+		   (1 `(wishing :charges ,(d 3)))))
+	   (weapon-modifier (bonus &rest keys &key &allow-other-keys)
+	     (and (percentp (aref #(40 30 20 15 10) (1- bonus)))
+		  (pick (33 `(:extra (,(+ bonus 1) :against ,(opponent))))
+			(24 `(:extra (,(+ bonus 2) :against ,(opponent))))
+			(16 `(:extra (,(+ bonus 3) :against ,(opponent))))
+			(9 `(:extra (,(+ bonus 4) :against ,(opponent))))
+			(3 `(:extra (,(+ bonus 5) :against ,(opponent))))
+			(15 `(:talent ,@(apply #'weapon-talent keys))))))
+	   (sword-modifier (bonus &rest keys &key &allow-other-keys)
+	     (and (percentp (aref #(40 30 25 20 15) (1- bonus)))
+		  (pick (29 `(:extra (,(+ bonus 1) :against ,(opponent))))
+			(21 `(:extra (,(+ bonus 2) :against ,(opponent))))
+			(14 `(:extra (,(+ bonus 3) :against ,(opponent))))
+			(8 `(:extra (,(+ bonus 4) :against ,(opponent))))
+			(3 `(:extra (,(+ bonus 5) :against ,(opponent))))
+			(25 `(:talent ,@(apply #'weapon-talent keys))))))
+	   (missile ()
+	     (multiple-value-bind
+		 (item class)
+		 (pick-matching (form)
+		   (37 (:user (:thief :fighter :paladin :mystic
+			      :dwarf :elf :halfling))
+		       (values :arrow 'a))
+		   (22 (:user (:thief :fighter :paladin :mystic
+				      :dwarf :elf :halfling))
+		       (values :quarrel 'a))
+		   (11 (:user (:cleric :druid :thief :fighter :paladin
+			       :mystic :dwarf :elf :halfling))
+		       (values :sling-stone 'a))
+		   (2 (:user (:thief :fighter :paladin :mystic
+			      :dwarf :elf :halfling))
+		      (values :blowgun 'd))
+		   (8 (:user (:thief :fighter :paladin :mystic
+			      :dwarf :elf :halfling))
+		      (values :long-bow 'd))
+		   (5 (:user (:thief :fighter :paladin :mystic
+			      :dwarf :elf :halfling))
+		      (values :short-bow 'd))
+		   (2 (:user (:thief :fighter :paladin :mystic
+			      :dwarf :elf :halfling))
+		      (values :heavy-crossbow 'd))
+		   (5 (:user (:thief :fighter :paladin :mystic
+			      :dwarf :elf :halfling))
+		      (values :light-crossbow 'd))
+		   (8 (:user (:cleric :druid :thief :fighter :paladin
+			      :mystic :dwarf :elf :halfling))
+		      (values :sling 'd)))
+	       (ecase class
+		 ((a) (let* ((bonus (weapon-bonus 'a))
+			     (cursedp (zerop (random 10)))
+			     (talent (and (percentp (* 5 (- 7 bonus)))
+					  (choose 4 'biting
+						  5 'blinking
+						  5 'charming
+						  7 'climbing
+						  10 'curing
+						  3 'disarming
+						  4 'dispelling
+						  7 'flying
+						  7 'lightning
+						  5 'penetrating
+						  4 'refilling
+						  6 'screaming
+						  5 'seeking
+						  4 'sinking
+						  2 'slaying
+						  7 'speaking
+						  4 'stunning
+						  2 'teleporting
+						  5 'transporting
+						  4 'wounding)))
+			     (number (ecase bonus
+				       ((1) (d 10 2))
+				       ((2) (d 8 2))
+				       ((3) (d 6 2))
+				       ((4) (d 4 2))
+				       ((5) (+ (d 4) 1)))))
+			`(,item :bonus ,bonus
+			  ,@(and talent `(:talent ,talent))
+			  :number ,number
+			  ,@(and cursedp `(:cursed t)))))
+		 ((d) (let* ((bonus (weapon-bonus 'd))
+			     (cursedp (cursedp 10))
+			     (modifier (weapon-modifier bonus :missilep t))
+			     (range (ecase (+ bonus (d 4))
+				      ((2 3 4) nil)
+				      ((5 6 7) 1.5)
+				      ((8 9) 2))))
+			`(,item :bonus ,bonus ,@modifier
+			  ,@(and range `(:range ,range))
+			  ,@(and cursedp `(:cursed t))))))))
+	   (weapon-intelligence ()
+	     (multiple-value-bind
+		 (int langs prim read-magic-p extra)
+		 (pick (79 (values nil 0 0 nil 0))
+		       (6 (values 7 0 1 nil 0))
+		       (5 (values 8 0 2 nil 0))
+		       (4 (values 9 0 3 nil 0))
+		       (3 (values 10 (d 3) 3 nil 0))
+		       (2 (values 11 (d 6) 3 t 0))
+		       (1 (values 12 (d 4 2) 3 t 1)))
+	       (and int
+		    (let ((powers nil)
+			  (healing nil)
+			  (damage nil)
+			  (checklist nil))
+		      (macrolet ((power-check (&rest forms)
+				   `(pick ,@(loop for (tag n . form) in forms
+						  if tag
+						  collect
+						  `((if (member ',tag
+								checklist)
+							0
+							,n)
+						    (push ',tag checklist)
+						    ,@(or form
+							  `((push ',tag
+							     powers))))
+						  else
+						  collect `(,n ,@form)))))
+			(labels ((primary-power ()
+				   (power-check
+				    (detect-evil 10)
+				    (detect-gems 5)
+				    (detect-magic 10)
+				    (detect-metal 10)
+				    (detect-shifting-walls-and-rooms 15)
+				    (detect-sloping-passages 15)
+				    (find-secret-doors 10)
+				    (find-traps 10)
+				    (see-invisible 10)
+				    (:one-extra 4
+				      (extraordinary-power))
+				    (:two-primary 1
+				      (primary-power)
+				      (primary-power))))
+				 (extraordinary-power ()
+				   (power-check
+				    (clairaudience 10)
+				    (clairvoyance 10)
+				    (esp 10)
+				    (nil 5
+				      (setf damage (if damage
+						       (1+ damage)
+						       5)))
+				    (flying 5)
+				    (nil 5
+				      (setf healing (+ (or healing 0) 6)))
+				    (illusion 9)
+				    (levitation 5)
+				    (telekinesis 10)
+				    (telepathy 10)
+				    (teleportation 9)
+				    (x-ray-vision 9)
+				    (:two-three-extra 2
+				      (extraordinary-power)
+				      (extraordinary-power))
+				    (:two-three-extra 1
+				      (extraordinary-power)
+				      (extraordinary-power)
+				      (extraordinary-power)))))
+			  (dotimes (i prim) (primary-power))
+			  (dotimes (i extra) (extraordinary-power))))
+		      (when damage
+			(push `(extra-damage ,damage) powers))
+		      (when healing
+			(push `(healing ,healing) powers))
+		      `(:intelligence ,int
+			:ego ,(d 12)
+			:languages ,langs
+			,@(and read-magic-p `(:read-magic t))
+			:powers ,powers)))))
+	   (sword ()
+	     (multiple-value-bind
+		 (type class)
+		 (pick-matching (form)
+		   (65 nil (values :normal-sword 'c))
+		   (19 nil (values :short-sword 'c))
+		   (8 (:user (:fighter :paladin :dwarf :mystic :elf))
+		      (values :two-handed-sword 'd))
+		   (8 (:user (:fighter :paladin :dwarf
+			      :mystic :elf :halfling))
+		      (values :bastard-sword 'd)))
+	       (let* ((bonus (weapon-bonus class))
+		      (cursedp (zerop (random 10)))
+		      (modifier (sword-modifier bonus))
+		      (intel (weapon-intelligence)))
+		 `(,type :bonus ,bonus
+		   ,@modifier
+		   ,@intel
+		   ,@(and cursedp `(:cursed t))))))
+	   (weapon ()
+	     (multiple-value-bind
+		 (type returnsp intelpc class)
+		 (pick-matching (form)
+		   (7 (:user (:fighter :paladin :mystic :dwarf :elf))
+		      (values :battle-axe nil 30 'd))
+		   (8 (:user (:fighter :paladin :mystic :dwarf :thief
+			      :elf :halfling))
+		      (values :hand-axe (choose 3 nil 1 t) nil 'b))
+		   (3 (:user (:fighter :paladin :mystic :dwarf :cleric
+			      :elf :halfling))
+		      (values :blackjack nil nil 'c))
+		   (3 (:user (:fighter :paladin :mystic :dwarf :cleric
+			      :thief :elf :halfling))
+		      (values :bola (choose 2 nil 1 t) nil 'b))
+		   (5 (:user (:fighter :paladin :mystic :dwarf
+			      :thief :cleric :druid :elf :halfling))
+		      (values :club nil nil 'c))
+		   (14 (:user (:fighter :paladin :mystic :dwarf :magic-user
+			       :thief :elf :halfling))
+		       (values :dagger (choose 11 nil 3 t) 50 'b))
+		   (4 (:user (:fighter :paladin :mystic :dwarf :cleric
+			      :elf :halfling :thief))
+		      (values :one-handed-flail nil nil 'c))
+		   (2 (:user (:fighter :paladin :mystic :dwarf :cleric :elf))
+		      (values :two-handed-flail nil nil 'd))
+		   (3 (:user (:fighter :paladin :mystic :dwarf :elf))
+		      (values :halberd nil 20 'd))
+		   (8 (:user (:fighter :paladin :mystic :dwarf :cleric
+			      :druid :elf :halfling :thief))
+		      (values :war-hammer nil 30 'c))
+		   (4 (:user (:fighter :paladin :mystic :dwarf :thief
+			      :elf :halfling))
+		      (values :javelin (choose 3 nil 1 t) nil 'b))
+		   (4 (:user (:fighter :paladin :mystic :dwarf :elf))
+		      (values :lance nil nil 'd))
+		   (7 (:user (:fighter :paladin :mystic :dwarf :cleric :thief
+			      :elf :halfling :druid))
+		      (values :mace nil 35 'c))
+		   (5 (:user (:fighter :paladin :mystic :dwarf :cleric :thief
+			      :elf :halfling))
+		      (values :morning-star nil nil 'c))
+		   (3 (:user (:fighter :paladin :mystic :dwarf :cleric :thief
+			      :druid :elf :halfling))
+		      (values :net (choose 2 nil 1 t) nil 'b))
+		   (3 (:user (:fighter :paladin :mystic :dwarf :elf))
+		      (values :pike nil 20 'd))
+		   (2 (:user (:fighter :paladin :mystic :dwarf :elf))
+		      (values :pole-axe nil 20 'd))
+		   (12 (:user (:fighter :paladin :mystic :dwarf :thief
+			       :elf :halfling))
+		       (values :spear (choose 3 nil 1 t) nil 'b))
+		   (4 (:user (:fighter :paladin :mystic :dwarf :thief :cleric
+			      :druid :elf :halfling :magic-user))
+		      (values :staff nil 20 'd))
+		   (3 (:user (:fighter :paladin :mystic :dwarf :thief :cleric
+			      :druid :elf :halfling))
+		      (values :whip nil nil 'c)))
+	       (let* ((bonus (weapon-bonus class))
+		      (cursedp (cursedp 10))
+		      (modifier (sword-modifier bonus))
+		      (intel (and intelpc
+				  (percentp intelpc)
+				  (weapon-intelligence))))
+		 `(,type
+		   ,@(and returnsp `(:returning t))
+		   :bonus ,bonus
+		   ,@modifier
+		   ,@intel
+		   ,@(and cursedp `(:cursed t)))))))
+    (pick-matching (form)
+      (25 (:type :potion) (list (potion)))
+      (12 (:type :scroll) (list (scroll)))
+      (9 (:type :wandlike :cursed nil) (list (wandlike)))
+      (6 (:type :ring) (list (ring)))
+      (10 (:type :misc) (list (misc-item)))
+      (10 (:type :armour
+	   :user (:cleric :druid :fighter :paladin
+		  :thief :dwarf :elf :halfling))
+	  (armour))
+      (11 (:type :missile) (list (missile)))
+      (9 (:type :sword
+	  :user (:fighter :paladin :mystic :thief :dwarf :elf :halfling))
+	 (list (sword)))
+      (8 (:type :weapon) (list (weapon))))))
+
+(defun treasure-type (type-code)
+  (labels ((common-fur-type ()
+	     (choose-uniformly 'beaver
+			       'fox
+			       'marten
+			       'seal))
+	   (rare-fur-type ()
+	     (choose-uniformly 'ermine
+			       'mink
+			       'sable))
+	   (special (n)
+	     (cons
+	      :special
+	      (loop repeat n
+		    collect
+		    (pick (10 `(:kind book
+				:value ,(* 10 (d 100))
+				:encumbrance ,(d 100)))
+			  (2 `(:kind pelt
+			       :animal ,(common-fur-type)
+			       :value ,(d 4)
+			       :encumbrance ,(* 10 (d 6))))
+			  (5 `(:kind cape
+			       :animal ,(common-fur-type)
+			       :value ,(* 100 (d 6))
+			       :encumbrance ,(* 10 (+ 4 (d 8)))))
+			  (3 `(:kind coat
+			       :animal ,(common-fur-type)
+			       :value ,(* 100 (d 4 3))
+			       :encumbrance ,(* 10 (+ 8 (d 6 2)))))
+			  (2 `(:kind pelt
+			       :animal ,(rare-fur-type)
+			       :value ,(d 6 2)
+			       :encumbrance ,(* 10 (d 6))))
+			  (5 `(:kind cape
+			       :animal ,(rare-fur-type)
+			       :value ,(* 100 (d 6 4))
+			       :encumbrance ,(* 10 (+ 4 (d 8)))))
+			  (3 `(:kind coat
+			       :animal ,(rare-fur-type)
+			       :value ,(* 1000 (d 4))
+			       :encumbrance ,(* 10 (+ 8 (d 6 2)))))
+			  (5 `(:kind incense
+			       :value ,(d 6 5)
+			       :encumbrance 1
+			       :quantity ,(d 4 2)))
+			  (5 `(:kind perfume
+			       :value ,(* 10 (+ 5 (d 10)))
+			       :encumbrance 1
+			       :quantity ,(d 3 2)))
+			  (5 (let ((w (d 6)) (h (d 2)))
+			       `(:kind ,(choose-uniformly 'rug
+							  'tapestry)
+				 :value ,(* w h (d 10 2))
+				 :encumbrance ,(* 100 w h (d 6))
+				 :size (* ,w ,h))))
+			  (10 (let ((w (d 8)) (h (d 2)))
+				`(:kind silk
+				  :value ,(* w h (d 8))
+				  :encumbrance ,(* 10 w h (d 6))
+				  :size (* ,w ,h))))
+			  (10 `(:kind animal-skin
+				:value ,(d 10)
+				:encumbrance ,(* 10 (d 4 5))))
+			  (10 `(:kind monster-skin
+				:value ,(* 100 (d 10))
+				:encumbrance ,(* 50 (d 100))))
+			  (5 (let ((enc (d 100)))
+			       `(:kind spice
+				 :value ,(* enc (d 4 4))
+				 :encumbrance ,enc)))
+			  (5 `(:kind statuette
+			       :value ,(* 100 (d 10))
+			       :encumbrance ,(d 100)))
+			  (5 `(:wine
+			       :value ,(d 6)
+			       :encumbrance ,(* 10 (+ 3 (d 6)))
+			       :bottles ,(d 12)))))))
+	   (gem-type (&key (min-value 0) recursivep)
+	     (pick ((if (<= min-value 10) 3 0)
+		    (values 10 (choose-uniformly 'agate
+						 'quartz
+						 'turquoise)))
+		   ((if (<= min-value 50) 7 0)
+		    (values 50 (choose-uniformly 'crystal
+						 'jasper
+						 'onyx)))
+		   ((if (<= min-value 100) 15 0)
+		    (values 100 (choose-uniformly 'amber
+						  'amethyst
+						  'coral
+						  'garnet
+						  'jade)))
+		   ((if (<= min-value 500) 21 0)
+		    (values 500 (choose-uniformly 'aquamarine
+						  'pearl
+						  'topaz)))
+		   ((if (<= min-value 1000) 25 0)
+		    (values 1000 (choose-uniformly 'carbuncle
+						   'opal)))
+		   ((if (<= min-value 5000) 19 0)
+		    (values 5000 (choose-uniformly 'emerald
+						   'ruby
+						   'sapphire)))
+		   ((if (<= min-value 10000) 7 0)
+		    (values 10000 'diamond 'jacinth))
+		   ((if (<= min-value 1000) 1 0)
+		    (values (* 1000 (d 100))
+			    'tristal))
+		   ((if (and (not recursivep)
+			     (<= min-value 2000)) 2 0)
+		    (multiple-value-bind
+			(value kind)
+			(gem-type :min-value (max 1000
+						  (ceiling min-value 2))
+				  :recursivep t)
+		      (values (* 2 value)
+			      (intern (format nil "STAR-~A"
+					      (string kind))))))))
+	   (gems (n)
+	     (cons
+	      :gems
+	      (loop while (plusp n)
+		    for i = (min n (d 5))
+		    do (decf n i)
+		    collect
+		    (let ((mods (choose 4 :size 4 :qual 2 :both))
+			  (mod-list nil))
+		      (multiple-value-bind
+			  (value kind)
+			  (gem-type)
+			(when (or (eq mods :size)
+				  (eq mods :both))
+			  (multiple-value-bind
+			      (mod mult)
+			      (pick (1 (values 'very-small 1/8))
+				    (2 (values 'small 1/4))
+				    (2 (values 'fairly-small 1/2))
+				    (2 (values 'fairly-large 2))
+				    (2 (values 'large 4))
+				    (1 (values 'very-small 8)))
+			    (setf mod-list
+				  (append `(:size ,mod) mod-list))
+			    (setf value (* value mult))))
+			(when (or (eq mods :qual)
+				  (eq mods :both))
+			  (multiple-value-bind
+			      (mod mult)
+			      (pick (1 (values 'very-poor 1/8))
+				    (2 (values 'poor 1/4))
+				    (2 (values 'fairly-poor 1/2))
+				    (2 (values 'fairly-good 2))
+				    (2 (values 'good 4))
+				    (1 (values 'very-good 8)))
+			    (setf mod-list
+				  (append `(:quality ,mod) mod-list))
+			    (setf value (* value mult))))
+		      `(:kind ,kind
+			:value ,(max 1 (round value))
+			,@mod-list
+			,@(and (> i 1) `(:quantity ,i))))))))
+	   (jewellery (n)
+	     (cons
+	      :jewellery
+	      (loop while (plusp n)
+		    for i = (min n (d 5))
+		    do (decf n i)
+		    collect
+		    (multiple-value-bind
+			(value enc class)
+			(pick ( 1 (values   100 10 'a))
+			      ( 2 (values   500 10 'a))
+			      ( 3 (values  1000 10 'a))
+			      ( 4 (values  1500 10 'a))
+			      ( 5 (values  2000 10 'a))
+			      ( 8 (values  2500 10 'a))
+			      (10 (values  3000 25 'a))
+			      (11 (values  4000 25 'b))
+			      (13 (values  5000 25 'b))
+			      (11 (values  7500 25 'b))
+			      ( 9 (values 10000 25 'b))
+			      ( 7 (values 15000 25 'c))
+			      ( 5 (values 20000 50 'c))
+			      ( 4 (values 25000 50 'c))
+			      ( 3 (values 30000 50 'c))
+			      ( 2 (values 40000 50 'c))
+			      ( 1 (values 50000 50 'c)))
+		      (let ((kind (ecase class
+				    ((a) (choose-uniformly 'anklet
+							   'beads
+							   'bracelet
+							   'brooch
+							   'buckle
+							   'cameo
+							   'chain
+							   'clasp
+							   'locket
+							   'pin))
+				    ((b) (choose-uniformly 'armband
+							   'belt
+							   'collar
+							   'earring
+							   'four-leaf-clover
+							   'heart
+							   'leaf
+							   'necklace
+							   'pendant
+							   'rabbit-foot))
+				    ((c) (choose-uniformly 'amulet
+							   'crown
+							   'diadem
+							   'medallion
+							   'orb
+							   'ring
+							   'scarab
+							   'sceptre
+							   'talisman
+							   'tiara)))))
+			`(:kind ,kind
+			  :value ,value
+			  :encumbrance ,enc
+			  ,@(and (> i 1) `(:quantity ,i))))))))
+	   (magic (&rest forms)
+	     (cons :magic
+		   (loop with list = nil
+			 for (form n) on forms by #'cddr do
+			 (loop repeat n do
+			       (dolist (item (magic-item (list :type form)))
+				 (push item list)))
+			 finally (return list)))))
+    (ecase type-code
+
+      ;; treasure in lair
+      ((a) (bag (tagged-bag :coins
+			    (and (percentp 25) `(:cp ,(* 1000 (d 6))))
+			    (and (percentp 30) `(:sp ,(* 1000 (d 6))))
+			    (and (percentp 20) `(:ep ,(* 1000 (d 4))))
+			    (and (percentp 35) `(:gp ,(* 1000 (d 6 2))))
+			    (and (percentp 25) `(:pp ,(* 1000 (d 2)))))
+		(and (percentp 50) (gems (d 6 6)))
+		(and (percentp 50) (jewellery (d 6 6)))
+		(and (percentp 10) (special (d 2)))
+		(and (percentp 30) (magic :any 3))))
+      ((b) (bag (tagged-bag :coins
+			    (and (percentp 50) `(:cp ,(* 1000 (d 8))))
+			    (and (percentp 25) `(:sp ,(* 1000 (d 6))))
+			    (and (percentp 25) `(:ep ,(* 1000 (d 4))))
+			    (and (percentp 35) `(:gp ,(* 1000 (d 3)))))
+		(and (percentp 25) (gems (d 6)))
+		(and (percentp 25) (jewellery (d 6)))
+		(and (percentp 10)
+		     (magic '(or :armour :missile :sword :weapon) 1))))
+      ((c) (bag (tagged-bag :coins
+			    (and (percentp 20) `(:cp ,(* 1000 (d 12))))
+			    (and (percentp 30) `(:sp ,(* 1000 (d 4))))
+			    (and (percentp 10) `(:ep ,(* 1000 (d 4)))))
+		(and (percentp 50) (gems (d 6 6)))
+		(and (percentp 50) (jewellery (d 6 6)))
+		(and (percentp 5) (special (d 2)))
+		(and (percentp 10) (magic :any 2))))
+      ((d) (bag (tagged-bag :coins
+			    (and (percentp 10) `(:cp ,(* 1000 (d 8))))
+			    (and (percentp 15) `(:sp ,(* 1000 (d 12))))
+			    (and (percentp 60) `(:gp ,(* 1000 (d 6)))))
+		(and (percentp 30) (gems (d 8)))
+		(and (percentp 30) (jewellery (d 8)))
+		(and (percentp 10) (special (d 2)))
+		(and (percentp 10) (magic :any 1 :potion 1))))
+      ((e) (bag (tagged-bag :coins
+			    (and (percentp 5) `(:cp ,(* 1000 (d 10))))
+			    (and (percentp 30) `(:sp ,(* 1000 (d 12))))
+			    (and (percentp 25) `(:ep ,(* 1000 (d 4))))
+			    (and (percentp 25) `(:gp ,(* 1000 (d 8)))))
+		(and (percentp 10) (gems (d 10)))
+		(and (percentp 10) (jewellery (d 10)))
+		(and (percentp 15) (special (d 2)))
+		(and (percentp 25) (magic :any 3 :scroll 1))))
+      ((f) (bag (tagged-bag :coins
+			    (and (percentp 30) `(:sp ,(* 1000 (d 10 2))))
+			    (and (percentp 20) `(:ep ,(* 1000 (d 8))))
+			    (and (percentp 45) `(:gp ,(* 1000 (d 12))))
+			    (and (percentp 30) `(:pp ,(* 1000 (d 3)))))
+		(and (percentp 20) (gems (d 12 2)))
+		(and (percentp 10) (jewellery (d 12)))
+		(and (percentp 20) (special (d 3)))
+		(and (percentp 30) (magic :potion 1 :scroll 1
+					  '(not :armour :missile
+					    :sword :weapon) 3))))
+      ((g) (bag (tagged-bag :coins
+			    (and (percentp 50) `(:gp ,(* 10000 (d 4))))
+			    (and (percentp 50) `(:pp ,(* 1000 (d 6)))))
+		(and (percentp 25) (gems (d 6 3)))
+		(and (percentp 25) (jewellery (d 10)))
+		(and (percentp 30) (special (d 3)))
+		(and (percentp 35) (magic :any 4 :scroll 1))))
+      ((h) (bag (tagged-bag :coins
+			    (and (percentp 25) `(:cp ,(* 1000 (d 8 3))))
+			    (and (percentp 50) `(:sp ,(* 1000 (d 100))))
+			    (and (percentp 50) `(:ep ,(* 10000 (d 4))))
+			    (and (percentp 50) `(:gp ,(* 10000 (d 6))))
+			    (and (percentp 25) `(:pp ,(* 1000 (d 4 5)))))
+		(and (percentp 50) (gems (d 100)))
+		(and (percentp 50) (jewellery (* 10 (d 4))))
+		(and (percentp 10) (special (d 2)))
+		(and (percentp 15) (magic :any 4 :potion 1 :scroll 1))))
+      ((i) (bag (tagged-bag :coins
+			    (and (percentp 30) `(:pp ,(* 1000 (d 8)))))
+		(and (percentp 50) (gems (d 6 2)))
+		(and (percentp 50) (jewellery (d 6 2)))
+		(and (percentp 5) (special (d 2)))
+		(and (percentp 15) (magic :any 1))))
+      ((j) (bag (tagged-bag :coins
+			    (and (percentp 25) `(:cp ,(* 1000 (d 4))))
+			    (and (percentp 10) `(:sp ,(* 1000 (d 3)))))))
+      ((k) (bag (tagged-bag :coins
+			    (and (percentp 30) `(:sp ,(* 1000 (d 6))))
+			    (and (percentp 10) `(:ep ,(* 1000 (d 2)))))))
+      ((l) (bag (and (percentp 50) (gems (d 4)))))
+      ((m) (bag (and (percentp 55) (gems (d 4)))
+		(and (percentp 45) (jewellery (d 6 2)))))
+      ((n) (bag (and (percentp 10) (special (d 2)))
+		(and (percentp 40) (magic :potion (d 4 2)))))
+      ((o) (bag (and (percentp 10) (special (d 3)))
+		(and (percentp 50) (magic :scroll (d 4)))))
+
+      ;; treasure carried
+      ((p) (bag (tagged-bag :coins `(:cp ,(d 8 3)))))
+      ((q) (bag (tagged-bag :coins `(:sp ,(d 6 3)))))
+      ((r) (bag (tagged-bag :coins `(:ep ,(d 6 2)))))
+      ((s) (bag (tagged-bag :coins `(:gp ,(d 4 2)))
+		(and (percentp 5) (gems 1))))
+      ((t) (bag (tagged-bag :coins `(:pp ,(d 6 1)))
+		(and (percentp 5) (gems 1))))
+      ((u) (bag (tagged-bag :coins
+			    (and (percentp 10) `(:cp ,(d 100)))
+			    (and (percentp 10) `(:sp ,(d 100)))
+			    (and (percentp 5) `(:gp ,(d 100))))
+		(and (percentp 5) (gems (d 2)))
+		(and (percentp 5) (gems (d 4)))
+		(and (percentp 2) (special 1))
+		(and (percentp 2) (magic :any 1))))
+      ((v) (bag (tagged-bag :coins
+			    (and (percentp 10) `(:sp ,(d 100)))
+			    (and (percentp 5) `(:ep ,(d 100)))
+			    (and (percentp 5) `(:gp ,(d 100)))
+			    (and (percentp 5) `(:pp ,(d 100))))
+		(and (percentp 10) (gems (d 2)))
+		(and (percentp 10) (gems (d 4)))
+		(and (percentp 5) (special 1))
+		(and (percentp 5) (magic :any 1))))
+
+      ;; unguarded treasures
+      ((unguarded-1)
+       (bag (tagged-bag :coins
+			`(:sp ,(* 100 (d 6)))
+			(and (percentp 50) `(:gp ,(* 10 (d 6)))))
+	    (and (percentp 5) (gems (d 6)))
+	    (and (percentp 2) (jewellery (d 6)))
+	    (and (percentp 2) (magic :any 1))))
+      ((unguarded-2 unguarded-3)
+       (bag (tagged-bag :coins
+			`(:sp ,(* 100 (d 12)))
+			(and (percentp 50) `(:gp ,(* 100 (d 6)))))
+	    (and (percentp 10) (gems (d 6)))
+	    (and (percentp 5) (jewellery (d 6)))
+	    (and (percentp 8) (magic :any 1))))
+      ((unguarded-4 unguarded-5)
+       (bag (tagged-bag :coins
+			`(:sp ,(* 1000 (d 6)))
+			`(:gp ,(* 200 (d 6))))
+	    (and (percentp 20) (gems (d 8)))
+	    (and (percentp 10) (jewellery (d 8)))
+	    (and (percentp 10) (magic :any 1))))
+      ((unguarded-6 unguarded-7)
+       (bag (tagged-bag :coins
+			`(:sp ,(* 2000 (d 6)))
+			`(:gp ,(* 500 (d 6))))
+	    (and (percentp 30) (gems (d 10)))
+	    (and (percentp 15) (jewellery (d 10)))
+	    (and (percentp 15) (magic :any 1))))
+      ((unguarded-8 unguarded-9)
+       (bag (tagged-bag :coins
+			`(:sp ,(* 5000 (d 6)))
+			`(:gp ,(* 1000 (d 6))))
+	    (and (percentp 40) (gems (d 12)))
+	    (and (percentp 20) (jewellery (d 12)))
+	    (and (percentp 20) (magic :any 1)))))))
+
+(defconstant combine-treasures
+  '((:coins (t . +))
+    (t . append)))
+
+(defun combine2 (spec a b)
+  (labels ((comb (tag x y)
+	     (dolist (pair spec)
+	       (let ((label (car pair)))
+		 (when (or (eq label t)
+			   (eq label tag))
+		   (return-from comb
+		     (let ((method (cdr pair)))
+		       (etypecase method
+			 (list (combine2 method x y))
+			 ((member +) (list (+ (car x) (car y))))
+			 ((or symbol function)
+			  (funcall method x y))))))))
+	     (error "No combiner found for ~S." tag)))
+    (let ((list nil))
+      (dolist (pair a)
+	(let* ((tag (car pair))
+	       (match (assoc tag b)))
+	  (push (if (null match)
+		    pair
+		    (cons tag
+			  (comb tag (cdr pair) (cdr match))))
+		list)))
+      (dolist (pair b)
+	(let* ((tag (car pair))
+	       (match (assoc tag a)))
+	  (unless match
+	    (push pair list))))
+      (nreverse list))))
+
+(defun combine (spec &rest lists)
+  (reduce (lambda (x y) (combine2 spec x y)) lists))
+
+(defun treasure (types)
+  (apply #'combine
+	 combine-treasures
+	 (loop for type in types
+	       collect (treasure-type type))))
+
+(defun select-spells (table spells)
+  (loop for n in spells
+	for list across table
+	collect (sort (loop repeat n collect (apply #'choose-uniformly list))
+		      #'string<)))
diff --git a/equip.tex b/equip.tex
index 59bb202..653bd7c 100644
--- a/equip.tex
+++ b/equip.tex
@@ -106,6 +106,35 @@
 \end{tabular}
 \end{set}
 
+\begin{set}
+\begin{tabular}{\shade lccMrcccMlccr} \hlx*{hv}
+  \tt{Siege equipment} \\
+  \th{Weapon} & \th{Cost (gp)} & \th{Enc (cn)} & \th{AC} &
+  \th{HP} & \th{Crew} & \th{Range} & \th{Damage} & \th{Rate} &
+  \th{Ammo (gp/wk)} \\ \hlx{vhv}
+  Ballista & \075 & \06\,000\s t & 4 &
+    \09 & \04 & \0\05--100/200/300 & \d{1d10} + 6 & 1/2 &
+    2\,000 \\ \hlx{+}
+  Catapult, light & 150 & 12\,000\s t & 4 &
+    18 & \06 & 150--200/250/300 & \d{1d8} + 8 &
+    1/5 & 4\,000 \\ \hlx{+}
+  Catapult, heavy & 250 & 18\,000\s t & 0 &
+    27 & \08 & 175--250/325/400 & \d{1d10} + 10 &
+    1/6 & 6\,000 \\ \hlx{+}
+  Trebuchet & 400 & 24\,000\s t & 0 &
+    36 & 12 & 100--250/400/500 & \d{1d12} + 13 &
+    1/6 & 8\,000 \\ \hlx{+}
+  Bore & 150 & \03\,000 & -4 &
+    50 & 10 & --- & \d{1d6} + 14 &
+    1/2 & --- \\ \hlx{+}
+  Ram, battering & 100 & \03\,000 & -4 &
+    50 & 10 & --- & \d{1d6} + 8 &
+    1/2 & --- \\ \hlx*{vh+v}
+  \multicolumn{7}{l}{\small\itshape \s t\quad
+    Towing encumbrance is 1/12 of that listed.}
+\end{tabular}
+\end{set}
+
 \end{document}
 
 %%% Local Variables: 
diff --git a/monsters.tex b/monsters.tex
new file mode 100644
index 0000000..773c30c
--- /dev/null
+++ b/monsters.tex
@@ -0,0 +1,3211 @@
+%\PassOptionsToClass{landscape}{twocolumn}
+\documentclass{tables}
+\usepackage{multicol}
+\def\description{\basedescript{\let\makelabel\textit\desclabelwidth{4.5em}}}
+
+\newcount\style
+\style=2
+\makeatletter
+
+\newcolumntype{R}[1]{>{\raggedright}p{#1}}
+\newcolumntype2[1][]{%
+  ##{%
+    \setbox\z@\hbox\bgroup%
+      \def\nl{\unskip\strut\egroup\hbox\bgroup\strut\ignorespaces}%
+      $\vcenter\bgroup\hbox\bgroup\strut%
+  }{%
+      \strut\egroup\egroup$%
+    \egroup%
+    #1{\unhbox\z@}%
+    \hfil%
+  }%
+}
+
+\newcount\m@count
+\newcount\m@gaps
+\def\m@before{\hrule\kern\tw@\p@}
+\def\m@after{\kern\tw@\p@}
+\def\m@head#1{\m@before\hbox{\strut\bfseries#1}\m@after}
+\def\m@col{\m@cr\m@hgap\m@vline\m@hgap}%
+\def\m@colbefore#1{\m@before\tab@bpar{#1}\strut\raggedright\ignorespaces\let\\\m@col}
+\def\m@colafter{\unskip\strut\tab@epar\m@after}
+\let\m@span\relax
+\def\m@vline{\multispan{6}\m@span\leaders\vrule\vfil\cr}
+\def\m@hgap{\omit\global\m@count\z@\m@hgap@\m@hgap@do\cr}
+\def\m@hgap@do{\hrule\@width\thr@@\p@}
+\def\m@hgap@{\m@hgap@do\global\advance\m@count\@ne&\omit\ifnum\m@count<\m@gaps\relax\expandafter\m@hgap@\fi}
+\def\m@cr{&\omit\hrule\vfil&\omit\vfil\cr}
+\def\m@start#1{%
+  \m@titletrue%
+  \dimen@\hsize%
+  \advance\dimen@-41\p@%
+  \dimen\tw@6.4\p@%
+  \count@#1\relax%
+  \advance\dimen@-\count@\dimen\tw@%
+  \divide\dimen@\count@\relax%
+  \m@gaps\ifm@title6\else5\fi%
+  \hbox\bgroup\valign\bgroup&\m@colbefore{\dimen@}##\m@colafter\cr%
+    \m@vline\m@hgap%
+    \ifm@title\omit\m@before\vfil\m@after&\fi%
+    \omit\m@head{Movement}&%
+    \omit\m@head{Hit dice}&%
+    \omit\m@head{Combat}&%
+    \omit\m@head{Ecology}&%
+    \omit\m@head{Behaviour}\m@col%
+}
+\def\m@end{\m@cr\m@hgap\m@vline\crcr\egroup\egroup}
+\def\m@span{\ifm@title\expandafter\m@span@\fi}
+\def\m@span@{\span\omit}
+\newif\ifm@title
+
+\usepackage{mdwlist}
+
+\def\h{\centering\itshape}
+
+\ifcase\style
+
+%%0
+\def\monster#1#2{%
+  \noindent%
+  \begin{tabular}[t]{@{}>{\bfseries}l@{}}#1\end{tabular}%
+  %%\penalty10000\hfill\hbox{}\penalty100\hbox{}\penalty10000\hfill%
+  \\*%
+  \small%
+  \begin{tabular}[t]{|R{2.5pc}|R{2.6pc}|R{4pc}|R{3.2pc}|R{2.4pc}|}\hlx{hv}%
+    \multicolumn{1}{|c|}{\th{Move}}&%
+    \multicolumn{1}{c|}{\th{Hit dice}}&%
+    \multicolumn{1}{c|}{\th{Combat}}&%
+    \multicolumn{1}{c|}{\th{Ecology}}&%
+    \multicolumn{1}{c|}{\th{Behave}}\\\hlx{vhv}%
+    #2\\\hlx{vh}%
+  \end{tabular}\par%
+  \def\\{\unskip\quad}%
+}
+\def\endmonster{\medskip}
+
+\or
+
+%%1
+\def\monster#1#2{%
+  \hbox{\bfseries#1}%
+  \penalty\@M\smallskip%
+  \def\\{\m@cr\m@hgap\m@vline\m@hgap}%
+  \small%
+  \valign\bgroup&\m@colbefore{1in}##\m@colafter\cr%
+    \m@vline\m@hgap%
+    \omit\m@head{Movement}&%
+    \omit\m@head{Hit dice}&%
+    \omit\m@head{Combat}&%
+    \omit\m@head{Ecology}&%
+    \omit\m@head{Behaviour}\\%
+    #2%
+    \m@cr\m@hgap\m@vline\noalign{\quad}%
+    \multispan{7}%
+    \tab@bpar{1in}%
+    \def\\{\par\smallskip}%
+    \noindent\raggedright%
+    \ignorespaces%
+}
+\def\endmonster{\unskip\tab@epar\crcr\egroup\medskip}
+
+\or
+
+%%2
+\newcommand\monster[3][1\m@titlefalse]{%
+  \par\hbox{\bfseries#2}%
+  \penalty\@M\prevdepth-\@m\p@\smallskip%
+  \small\raggedright%
+  \m@start{#1}#3\m@end%
+  \penalty\@M\prevdepth-\@m\p@\smallskip\global\@nobreaktrue%
+  \def\\{\unskip\quad}%
+  \list{}{\parskip\z@\parsep\z@\itemsep2\p@\leftmargin1em\rightmargin\leftmargin}%
+  \item%
+}
+\def\monsterbreak#1{\m@end\smallskip\m@start{#1}}
+\def\endmonster{\endlist\par\penalty-10\vskip2explus1fil}
+
+\fi
+
+\def\swimming{\unskip\penalty100/\ignorespaces}
+\def\flying{\unskip\penalty100/$\!\!\!$/\ignorespaces}
+
+\begin{document}
+
+\twocolumn[\sect{Monsters}\bigskip]
+%%\begin{multicols}{2}
+
+%%% stats
+%%% MV (moves, load, barding)
+%%% HD (hd, sz, SA, XP)
+%%% AT (AC, THAC0, at/dmg)
+%%% EC (kind, env, freq, numbers)
+%%% BH (intel, morale, align, treasure)
+
+%%% codes:
+%%% movement -- // flying
+%%% hit dice -- Large/Medium/Small, Save
+%%% combat: Thac0
+%%% ecology --
+%%% (Prehistoric) Animal/Monster/Planar/Enchanted/Construct/Undead/Dragon/Giant/Lowlife,
+%%%   Common/Rare/VeryRare/Unique
+%%%   caVern, Arctic, Barren, Desert, Lost world, Mountain, oCean, Open, Fresh water,
+%%%     Ruins, Settled, sWamp, (Light/Dense) Woods, Elemental
+%%%	{Air,Earth,Fire,Water}
+%%% behaviour -- Intelligence, MoraLe, Lawful/Neutral/Chaotic/Any
+
+
+\begin{monster}{Act\ae on (Elk Centaur)}{
+    150 (3\,000\,cn) &
+    11**(L), C11, XP2700 &
+    AC3, T10;
+    spear ($2 \times (\d{1d6} + 6)$), antler (2d8)
+    \emph{or} breath (special) &
+    M, R(W); 0~(1) &
+    I12, N, ML10; B}
+  Perfect camouflage in woods: surprise 5 in 6. \\
+  Once per day: breath weapon (10$'$ cube) polymorphs into woodland animal;
+  SvDB limits to 24\,hrs, otherwise permanent.  \\
+  Once per day: summon 1d6 creatures (arrive in 1d4 turns):
+  \begin{tabular}[C]{\shade cl|cl} \hlx*{hv}
+    \th{1d6} & \th{Creature}     & \th{1d6} & \th{Creature}      \\ \hlx{vhv}
+       1     & Boar              &    4     & Gryphon            \\ \hlx{+}
+       2     & Bear              &    5     & Lizard (chameleon) \\ \hlx{+}
+       3     & Centaur           &    6     & Treant             \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Adaptor}{
+    120 &
+    8*(M), F8, XP1200 &
+    AC9${} - 2/4$, T8;
+    sword ($2 \times (\d{2d8} + 8)$) &
+    M, VR(any); 1d6~(1d12) &
+    I13, A, ML10; V}
+Natural polymorphs.  \\
+Adapt to attacks -- resist magical attack forms once exposed (for 1--10
+turns; with colour change).
+\end{monster}
+
+\begin{monster}{Aerial Servant* (Haoou)}{
+    240 \flying 720 (5\,000\,cn) &
+    16**(M), F16, XP4050 &
+    AC0, T9; 4d8 &
+    P/E, R(EA); 1~(1d4) &
+    I12, C, ML9; nil}
+  Surprise 7 in 8. \\
+  Victim has $L$\% chance of breaking free from grip.
+\end{monster}
+
+\begin{monster}{Animal, herd}{
+    240 &
+    1--4(M--L) F1, XP10, 20, 35, 75 &
+    AC7, T19--16;
+    butt (1d4), bite (1d4), \emph{or} kick (1d8) &
+    A, C(O,LW); 0~(3d10) &
+    I2, N, ML5; nil}
+  1 in 4 is male (HD $\d{1d6} + 2$). \\
+  Herds of 16 or more may panic (4 in 10), running towards disturbance and
+  trampling for 1d20\,hp.
+\end{monster}
+
+\begin{monster}{Ant, giant}{
+    180 &
+    4*(M), F2, XP125 &
+    AC3, T16; bite (2d6) &
+    L, R($\lnot$A); 2d4~(4d6) &
+    I1, N, ML12; U}
+  30\% chance that next contains $\d{1d10} \times 1000$\,gp in nuggets.
+\end{monster}
+
+\begin{monster}{Ape, snow}{
+    90 &
+    $3 + 1$(M), F3, XP50 &
+    AC6, T17;
+    club (1d6), hug (2d6) &
+    A, R(M); 0~(2d10) &
+    I4, C, ML7; K}
+  Camouflaged in snow (surprise 4 in 6). \\
+  ML11 if cornered.
+\end{monster}
+
+\begin{monster}{Ape, white}{
+    120 &
+    4(M), F2, XP75 &
+    AC6, T16;
+    claw ($2 \times \d{1d4}$) \emph{or} rock (1d6) &
+    A, R(H,M,R,V); 1d6 (2d4) &
+    I2, N, ML7; nil}
+\end{monster}
+
+\begin{monster}{Archon}{
+    120 \flying 360 &
+    $20^{7}$*(L), C20, XP13175 &
+    AC$^-6$, T5 \newline
+    \textbf{Male:} weapon ($\delta S = +3$) \newline
+    \textbf{Female:} gore ($2 \times \d{3d10}$) &
+    P, A(P); 1d2~(1d2) &
+    I16, L, ML11; nil}
+  Female may breath $10'\times10'$ cone of fire (4d6 damage) from either
+  head. \\
+  Immune to fire, poison and 1th--4th level spells. \\
+  Once per day: \emph{bolt of purity} (range as \emph{lightning bolt}; makes
+  victims lawful and peaceful for 2d6 turns, NST); \emph{sword of flame} (4d8
+  damage per hit, lasts 3~turns).
+\end{monster}
+
+\begin{monster}{Athach}{
+    180 &
+    14*(L), F14, XP2500 &
+    AC0, T8;
+    bludgeons ($3 \times \d{2d12}$), bite (2d10, poison) &
+    G, R(H,M,W), 1d3~(1d6) &
+    I8, C, ML7; I}
+  18$'$ tall, three arms. \\
+  Poison: SvPn ($-4$) or helpless for 1d6 turns.
+\end{monster}
+
+\begin{monster}{Baboon, rock}{
+    120 &
+    2(M), F2, XP20 &
+    AC6, T18;
+    club (1d6), bite (1d3) &
+    A, C(H,M,O); 2d6~(3d6) &
+    I2, N, ML8; U}
+\end{monster}
+
+\begin{monster}{Bandit}{
+    90 &
+    1(M), T1, XP10 &
+    AC6, T19; weapon &
+    H, C(any); 2d4~(3d10) &
+    I11, C/N, ML8; (U), A}
+\end{monster}
+
+\begin{monster}{Basilisk}{
+    60 &
+    $6 + 1$**(L), F6, XP950 &
+    AC6, T14;
+    bite (1d20, petrification) &
+    M, R(W, EE); 1d6~(1d6) &
+    I2, N, ML9; F}
+  Gaze causes petrification.
+\end{monster}
+
+\begin{monster}[2]{Bat}{
+    \h Normal &
+    9 \flying 120 &
+    $\tfrac{1}{4}$(S; 1\,hp), NM, XP5 &
+    AC6, T19; \emph{confusion} &
+    A, C(R,V); 1d\% (1d\%) &
+    I2, N, ML6; nil \\
+    \h Giant &
+    30 \flying 180 &
+    2(M), F1, XP20 &
+    AC6, T18; bite (1d4) &
+    GA, C(R,V); 1d10 (1d10) &
+    I2, N, ML6; nil}
+  Ten normal bats can \emph{confuse} a character: $-2$ to hit and save; can't
+  concentrate. \\
+  1 in 20 giant bat encounters are vampires (2*HD, XP25): when bitten, SvPs
+  or be unconscious for 1d10 rounds.  If drained, SvS or become undead.
+\end{monster}
+
+\begin{monster}[4]{Bear}{
+    \h Black &
+    120 &
+    4(L), F2, XP75 &
+    AC6, T16; claw ($2 \times \d{1d3}$), bite (1d6) &
+    A, C(H,M,W); 1d4~(1d4) &
+    I2, N, ML7; U \\
+    \h Grizzly &
+    120 &
+    5(L), F4, XP175 &
+    AC8, T15; claw ($2 \times \d{1d8}$), bite (1d10) &
+    A, C(H,M,W); 1~(1d4) &
+    I2, N, ML10; U \\
+    \h Polar &
+    120 &
+    6(L), F3, XP275 &
+    AC6, T14; claw ($2 \times \d{1d6}$), bite (1d10) &
+    A, R(A); 1~(1d2) &
+    I2, N, ML8; U \\
+    \h Grizzly &
+    120 &
+    7(L), F4, XP450 &
+    AC5, T13; claw ($2 \times \d{2d4}$), bite (2d6) &
+    PA, VR(L); 1~(1d4) &
+    I2, N, ML9; U}
+\end{monster}
+
+\begin{monster}{Bee, giant}{
+    \flying 150 &
+    $\tfrac{1}{2}$*(S), F1, XP6 &
+    AC7, T19; sting (1d3, poison) &
+    L, R(H,P,M,W); 1d6~(5d6) &
+    I0, N, ML9; honey}
+  Bee dies after stinging; stinger causes 1\,hp per round until removed. \\
+  At least 10 bees with queen.  Four will have 1*HD (XP13); queen has 2*HD
+  (XP35) and can sting repeatedly. \\
+  Honey is magical: entire hive's contents (2\,pt) heals 1d4\,hp.
+\end{monster}
+
+\begin{monster}[3]{Beetle, giant}{
+    \h Fire &
+    \flying 120 &
+    $1 + 2$(S), F1, XP15 &
+    AC4, T18; bite (2d4) &
+    L, C(C,P,R,W); 1d8~(2d6) &
+    I0, N, ML7; nil \\
+    \h Oil &
+    \flying 120 &
+    2*(M), F1, XP25 &
+    AC4, T18; bite (1d6) \emph{or} squirt &
+    L, C(C,P,R,W); 1d8~(2d6) &
+    I0, N, ML8; nil \\
+    \h Tiger &
+    \flying 150 &
+    $3 + 1$(M), F2, XP50 &
+    AC3, T16; bite (2d6) &
+    L, C(C,P,R,W); 1d6~(2d4) &
+    I0, N, ML9; U}
+  Fire beetle glands (two above eyes, one on abdomen) illuminate 10$'$
+  radius; glow for 1d6 days after removal. \\
+  Oil beetle can squirt fluid up to 5$'$; causes blisters, $-2$ to hit.
+  Lasts for a day; removed by \emph{cure light wounds}.
+\end{monster}
+
+\begin{monster}{Beholder}{
+    \flying 30 &
+    11$^5$*(M, hp 50/20/$12 \times 10$), M11, XP5100 &
+    AC0/2/7, T10; bite (2d8), eyes &
+    M, R(R,V); 1~(0) &
+    I16, C, ML12; L, N, O}
+  AC and hp are body/main-eye/small-eye. \\
+  Main eye: anti-magic ray, 60$'$ range. \\ \vadjust{\penalty-10}
+  Four eyes can point horizontally; all above; none below.  Eyes regenerate
+  1\,hp per day, regrow in 2d4 days. \\
+  1 in 20 chance: found with 1d6 young
+    (1HD, $\tfrac{1}{10}$ range, hp 5/2/1, XP25).
+  \goodbreak
+  \begin{tabular}[C]{\shade r>{\itshape}lr} \hlx*{hv}
+    \tt{Small eyes} \\
+    \th{Eye} & \th{\upshape Effect}            & \th{Range (ft)} \\ \hlx{vhv}
+        1    & charm person                    & 120 \\ \hlx{+}
+        2    & charm monster                   & 120 \\ \hlx{+}
+        3    & sleep                           & 240 \\ \hlx{+}
+        4    & telekinesis \textup{(5\,000\,cn)} & 120 \\ \hlx{+}
+        5    & flesh to stone                  & 120 \\ \hlx{+}
+        6    & disintegrate                    &  60 \\ \hlx{+}
+        7    & cause fear                      & 120 \\ \hlx{+}
+        8    & slow                            & 240 \\ \hlx{+}
+        9    & cause serious wounds            &  60 \\ \hlx{+}
+       10    & death spell                     & 240 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Beholder, undead**}{
+    \flying 60 &
+    20$^7$*(M, hp 90/30/$20 \times 10$), M20, XP14975 &
+    AC$^-$4/$^-$2/3, T5; bite (2d10, 2ED:V), eyes &
+    UC, VR(R,V); 1~(0) &
+    I16, C, ML12; $\textrm{L, N, O} \times 2$}
+  AC and hp are body/main-eye/small-eye. \\
+  Recognised by cleric if $L \ge 25$. \\
+  Immune to \textit{charm}, \textit{hold} and \textit{sleep}, illusions,
+  death rays and poison. \\
+  Body regenerates 3\,hp per round.  At 0\,hp, assumes gaseous form, rest
+  1\,hr in darkness to begin regeneration. \\
+  Gaseous form at will; only harmed by magic affecting air. \\
+  Main eye: reflection ray, 60$'$ range; reflects Turning -- cleric must SvS
+  or flee for 2d6 rounds. \\
+  Four eyes can point horizontally; all above; none below.  Eyes regenerate
+  in $\d{1d4} + 1$ hours.
+  \begin{tabular}[C]{\shade r>{\itshape}lr} \hlx*{hv}
+    \tt{Small eyes} \\
+    \th{Eye} & \th{\upshape Effect}            & \th{Range (ft)} \\ \hlx{vhv}
+        1    & animate dead                    &  60 \\ \hlx{+}
+        2    & charm \upshape as vampire, $+2$ & 120 \\ \hlx{+}
+        3    & continual darkness              & 120 \\ \hlx{+}
+        4    & death spell                     & 120 \\ \hlx{+}
+        5    & \upshape energy drain (1ED:Wt)  & 120 \\ \hlx{+}
+        6    & \upshape energy drain (2ED:S)   & 120 \\ \hlx{+}
+        7    & \upshape paralysis, as ghoul    & 240 \\ \hlx{+}
+        8    & animate object                  &  60 \\ \hlx{+}
+        9    & dispel magic \textup{($L = 26$)}& 120 \\ \hlx{+}
+       10    & telekinesis \textup{(4\,000\,cn)} & 120 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Berserker}{
+    120 &
+    $1 + 1$*, F1, XP19 &
+    AC7, T19; weapon &
+    H, R(A); 1d6~(3d10) &
+    I9, N, ML12; (P) B}
+  $+2$ to hit humanoids.
+\end{monster}
+
+\begin{monster}{Black pudding*}{
+    60 &
+    10*(L), F5, XP1750 &
+    AC6, T10; touch (3d8) &
+    M, C(R,V); 1~(0) &
+    I0, N, ML12; maybe gems}
+  Dissolve wood, or corrode metal, in 1 turn. \\
+  Only damaged by fire; weapons split it into smaller puddings (2HD,
+  D\,1d8).
+\end{monster}
+
+\begin{monster}{Blackball}{
+    30 &
+    ---, XP7500 &
+    AC9; touch (disintegration) &
+    PM, VR(A); 1~(1) &
+    I0, ---, ML12; nil}
+\end{monster}
+
+\begin{monster}{Blast spore}{
+    30 &
+    1*(M, 1\,hp), F1, XP13 &
+    AC9; spores &
+    L, R(R,V); 1d3~(1) &
+    I0, N, ML9; nil}
+  In dim light, 10\% chance of recognising; within 10$'$, 25\% chance. \\
+  Spores fill 20$'$ cube: SvPn or spores grow into 1d6 blast spores, causing
+  death in 24 hours; \emph{cure disease} cures. \\
+  Damage causes explosion: 6d6\,hp to all within 20$'$ (SvW for half damage).
+\end{monster}
+
+\begin{monster}{Blink dog}{
+    120 &
+    4*(S), F4, XP125 &
+    AC5, T16; bite (1d6) &
+    M, C(D,O,W); 1d6~($\d{1d6} + 3$) &
+    I9, L, ML6; C}
+  `Blink' -- teleport up to 40$'$.
+\end{monster}
+
+\begin{monster}[2]{Boar}{
+    \h Normal &
+    90 (\,1500\,cn) &
+    3*(M), F2, XP50 &
+    AC7, T17; tusk (2d4) &
+    A, C(W); 1d6~(1d6) &
+    I2, N, ML9; nil \\
+    \h Great &
+    90 (3\,000\,cn, $\times 3$) &
+    10*(L), F5, XP1750 &
+    AC3, T10; tusk (2d8) &
+    GA, C(L,W); 1d6~(1d6) &
+    I2, N, ML9; nil}
+  Charge 20\,yd for double damage.
+\end{monster}
+
+\begin{monster}{Bugbear}{
+    90 &
+    $3 + 1$(L), F3, XP50 &
+    AC5, T16; weapon ($\delta S = +1$) &
+    H, C(H,M,W); 2d8~(5d4) &
+    I7, C, ML9; (P, Q) B}
+  Surprise 3 in 6.
+\end{monster}
+
+\begin{monster}{C\ae cilia}{
+    60 &
+    6*(L), F3, XP500 &
+    AC6, T14; bite (1d8) &
+    L, R($\lnot$A); 1d3~(1d3) &
+    I0, N, ML9; B}
+  Swallows on 19 or 20: 1d8 damage per round.
+\end{monster}
+
+\begin{monster}{Camel}{
+    150 (3000\,cn) &
+    2(L), F1, XP20 &
+    AC7, T18; bite (1), hoof (1d4) &
+    A, Dromedary: C(D), Bactrian: C(B); 0~(2d4) &
+    I2, N, ML7; nil}
+  Travel for 2 weeks without water.
+\end{monster}
+
+\begin{monster}{Carrion crawler}{
+    120 &
+    $3 + 1$*(L), F2, XP75 &
+    AC7, T17; tentacle ($8 \times \textrm{paralysis}$) \emph{or} bite (1) &
+    L, C(R,V); 1d4~(0) &
+    I0, N, ML9; B}
+\end{monster}
+
+\begin{monster}[3]{Cat, great}{
+    \h Mountain lion &
+    150 &
+    $3 + 2$(M), F2, XP50 &
+    AC6, T16; claw ($2 \times \d{1d3}$), bite (1d6) &
+    A, C(M,HW,D); 1d4~(1d4) &
+    I2, N, ML8; U \\
+    \h Panther (leopard) &
+    210 &
+    4(M), F2, XP75 &
+    AC4, T16; claw ($2 \times \d{1d4}$), bite (1d8) &
+    A, C(O,W); 1d2~(1d6) &
+    I2, N, ML8; U \\
+    \h Lion &
+    150 &
+    5(L), F3, XP175 &
+    AC6, T15; claw ($2 \times (\d{1d4} + 1)$), bite (1d10) &
+    A, C(warm); 1d4~(1d8) &
+    I2, N, ML9; U
+    \monsterbreak2
+    \h Tiger &
+    150 \swimming 90 &
+    6(L), F3, XP275 &
+    AC6, T14; claw ($2 \times \d{1d6}$), bite (2d6) &
+    A, C(A,W); 1~(1d3) &
+    I2, N, ML9; U \\
+    \h Smilodon (sabre-tooth) &
+    150 &
+    8(L), F4, XP650 &
+    AC6, T12; claw ($2 \times \d{1d8}$), bite (2d8) &
+    PA, C(L); 1d4~(1d4) &
+    I2, N, ML10; V}
+  Tigers surprise 4 in 6 in woodlands.
+\end{monster}
+
+\begin{monster}{Centaur}{
+    180 &
+    4(L), F4, XP75 &
+    AC5, T16; 2~hoof (1d6), weapon &
+    M, C(H,O,W); 0~(2d10) &
+    I10, N, ML8; A}
+  Young are 2HD, D\,1d2.
+\end{monster}
+
+\begin{monster}{Centipede, giant}{
+    60 &
+    $\tfrac{1}{2}$*(S), NM; XP6 &
+    AC9, T19; bite (poison) &
+    L, C(R,V,W); 2d4~(1d8) &
+    I0, N, ML7; nil}
+  Poison (SvPn) causes illness for 10 days -- half speed movement and can't
+  do much else.
+\end{monster}
+
+\begin{monster}{Chim\ae ra}{
+    120 \flying 180 (4\,500\,cn, $\times 3$) &
+    9**(L), F9, XP2300 &
+    AC4, T11; claw ($2 \times \d{1d3}$), butt (2d4), bite (1d10),
+      bite (3d4) or breath (3d6) &
+    M, VR(H,M,R,V); 1d2~(1d4) &
+    I6, C, ML9; F}
+  Breath (fire) is cone $50' \times 10'$; three times per day.
+\end{monster}
+
+\begin{monster}[2]{Cockatrice}{
+    \h Prime plane &
+    90 \flying 180 &
+    5**(S), F5, XP425 &
+    AC6, T15; beak (1d6, petrification) &
+    M, VR(any); 1d4~(2d4) &
+    I2, N, ML7; D \\
+    \h Plane of Earth &
+    240 &
+    $1 + 1$*(S), F1, XP19 &
+    AC6, T18; beak (1, petrification) &
+    PM, VR(EE); 1d20~(2d20) &
+    I2, N, ML7; special}
+\end{monster}
+
+\begin{monster}[3]{Crocodile}{
+    \h Normal &
+    90 \swimming 90 &
+    2(M), F1, XP20 &
+    AC5, T18; bite (1d8) &
+    A, C(R); 0~(1d8) &
+    I2, N, ML7; nil \\
+    \h Large &
+    90 \swimming 90 &
+    6(L), F3, XP275 &
+    AC3, T14; bite (2d8) &
+    A, C(R); 0~(1d4) &
+    I2, N, ML7; nil \\
+    \h Giant &
+    90 \swimming 90 &
+    15(L), F8, XP1350 &
+    AC1, T8; bite (3d8) &
+    A, R(P); 0~(1d3) &
+    I2, N, ML7; nil}
+\end{monster}
+
+\begin{monster}{Crab, giant}{
+    60 &
+    3(L), F2, XP35 &
+    AC2, T17; pincer ($2 \times \d{2d6}$) &
+    L, R(C,R); 1d2~(1d6) &
+    I0, N, ML7; nil}
+  Can be found up to 6HD (D\,3d6).
+\end{monster}
+
+\begin{monster}{Cyclops}{
+    90 &
+    13*(L), F13, XP2300 &
+    AC5, T11; club (3d10) &
+    GH, R(H,M); 1~(1d4) &
+    I9, C, ML9; E, 5000\,gp}
+  Throws rocks (ranges 60/130/200, D\,3d6). \\
+  1 in 20: \emph{curse} once a week.
+\end{monster}
+
+\begin{monster}[2]{Devilfish}{
+    \h Normal &
+    \swimming 120 &
+    1--4(L), see table &
+    AC6, see table; tail (1), bite (1) &
+    M, R(C); 20~($\d{1d6} \times 20$) &
+    I9, C, ML8; $\textrm{A} \times 2$, F per 20 \\
+    \h Vampire\textdagger &
+    \swimming 120 &
+    5/6(L), see table &
+    AC6, see table; tail (1d4, 2ED:V), bite (1d6, 2ED:V) &
+    M, R(C); 20~($\d{1d6} \times 20$) &
+    I9, C, ML8; $\textrm{A} \times 2$, F per 20}
+  Vampire devilfish regenerate 3\,hp per round, \emph{charm}, and can be
+  Turned as vampires. \\
+  \begin{tabular}[C]{\shade ccccr} \hlx*{hv}
+    \th{HD} & \th{In group} & \th{Cleric $L$} & \th{THAC0} & \th{XP}
+    \\ \hlx{vhv}
+    1       &       15      &        \01       &     19     &   10 \\ \hlx{+}
+    $1+3$*  &      \00      &        \02       &     18     &   19 \\ \hlx{+}
+    2*      &      \01      &        \03       &     18     &   25 \\ \hlx{+}
+    $2+3$*  &      \00      &        \04       &     17     &   35 \\ \hlx{+}
+    3*      &      \01      &        \05       &     17     &   50 \\ \hlx{+}
+    $3+3$*  &      \00      &        \06       &     16     &  100 \\ \hlx{+}
+    4**     &      \01      &        \07       &     16     &  175 \\ \hlx{+}
+    $4+3$** &      \00      &        \08       &     15     &  275 \\ \hlx{+}
+    5$^4$*  &      \01      &        \09       &     15     &  675 \\ \hlx{+}
+    $5+3^5$*&      \00      &         10       &     14     & 1100 \\ \hlx{+}
+    6$^5$*  &      \01      &       10--16     &     14     & 1400
+    \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}[3]{Dinosaur, aquatic}{
+    \h Small &
+    0--30 \swimming 120--180 &
+    2--8(S--L), F1--4 &
+    AC7, T18--12; bite (1--2d4) &
+    P, R(L); 1d2--2d8 &
+    I1--3, N, ML3--6; nil \\
+    \h Large &
+    0--60 \swimming 150--240 &
+    9--24*(L), F5--12 &
+    AC7--5, T11--3; bite (2d4--4d8) &
+    P, R(L); 1d2--1d4 &
+    I1--3, N, ML6--11; nil \emph{or} U, V \\
+    \h Armoured &
+    10--60 \swimming 90--150 &
+    6--9(L), F3--5 &
+    AC4--2, T14--11; bite (1d4--2d8) &
+    P, R(L); 1d2--1d6 &
+    I1--3, N, ML7--9; nil}
+  20HD and larger can swallow on hit roll of 20; may contain treasure.
+\end{monster}
+
+\begin{monster}[3]{Dinosaur, land carnivore}{
+    \h Small &
+    120--180 &
+    1--5(S--L), F1--3 &
+    AC5--4, T19--15; claw ($2 \times \textrm{0--1}$), bite (1d3--2d4) &
+    P, R(L); 2d4--2d6 &
+    I1--3, N, ML6--8; nil \\
+    \h Large &
+    120--210 &
+    6--20*(L), F3--10 &
+    AC6--4, T13--5; claw ($2 \times \textrm{1d3--2d6}$), bite (2d4--5d8) &
+    P, R(L); 1d2--2d4 &
+    I1--3, N, ML9--11; nil \emph{or} U, V \\
+    \h Flying &
+    \flying 150--210 &
+    1--7(S--L), F1--4 &
+    AC7--6, T19--13; bite (1d3--2d6) &
+    P, R(L); 1d4--3d6 &
+    I1--3, N, ML6--8; nil}
+  10HD and larger can hold on with bites causing automatic damage. \\
+  20HD can swallow on hit roll of 20; may contain treasure.
+\end{monster}
+
+\begin{monster}[4]{Dinosaur, land herbivore}{
+    \h Small &
+    90--180 &
+    1--5(S--L), F1--3 &
+    AC7, T19--15; tail/bite (1--2d4) &
+    P, R(L); 2d6--3d10 &
+    I1--3, N, ML4--6; nil \\
+    \h Medium &
+    60--120 &
+    6--12(L), F3--6 &
+    AC6--5, T13--9; tail (1d4--2d6) \emph{or} trample (2d8--3d6) &
+    P, R(L); 1d6--2d8 &
+    I1--3, N, ML5--7; nil \\
+    \h Armoured &
+    60--120 &
+    6--12(L), F3--6 &
+    AC3--$^-$3, T13--9; horn, bite, tail (1d4--2d6)
+      \emph{or} trample (2d8--3d6) &
+    P, R(L); 1d6--2d8 &
+    I1--3, N, ML5--7; nil \\
+    \h Large &
+    30--90 &
+    13--40(L), F7--20 &
+    AC6--5, T9--$^-$3; tail (2d8--4d6) \emph{or} trample (2d6--10d10) &
+    P, R(L); 1d4--2d8 &
+    I1--3, N, ML6--8; nil}
+  May behave randomly (attack with tail, flee, trample). \\
+  Trampling: must SvDR or take damage (maybe twice for large creatures).
+\end{monster}
+
+\begin{monster}{Displacer beast}{
+    150 &
+    6*(L), F6 ($+2$), XP500 &
+    AC2, T14; tentacle ($2 \times \d{2d4}$),
+      bite (T12, D\,1d6, if $hp \le 6$) &
+    M, R(H,J,W); 1d4~(1d4) &
+    I3, N, ML8; D}
+  Appears $3'$ from actual position: attackers $-2$ to hit (figured in AC).
+\end{monster}
+
+\begin{monster}[2]{Djinni, lesser*}{
+    \h Prime plane &
+    90 \flying 240 (3\,500\,cn); whirlwind \flying 120 &
+    $7 + 1$*(L), F14, XP1025 &
+    AC5, T13; fist (2d8) \emph{or} whirlwind (2d6) &
+    PM, R(D, any); 1~(1) &
+    I14, C, ML12; nil \\
+    \h Plane of Air &
+    240 &
+    $7 + 1$*(L), F14, XP1025 &
+    AC3, T13; strike (2d8) &
+    PM, R(EA); 1d4~(1d\%) &
+    I14, C, ML9; special}
+  On home plane: immune to 1st-level spells and all water-based attacks;
+  detects invisible 120$'$ range. \\
+  Each three times per day: \emph{create food and drink} (as C7);
+  \emph{create metallic objects} (up to 1000\,cn; dur.\ gold 1 day, iron 1
+  round); \emph{create soft goods and wooden objects} (up to 1000\,cn);
+  become \emph{invisible}; assume \emph{gaseous form}; form \emph{whirlwind};
+  create \emph{illusion} (visible and audible, until touched or dispelled, no
+  concentration required). \\
+  Change to whirlwind takes 5 rounds; whirlwind is $70' \times
+  (10'\textrm{--}20')$ cone: damages all in path; creatures with up to 2HD
+  must SvDR or be swept aside. \\
+  Can carry 12\,000\,cn for 3 turns (walking) or 1 turn (flying) but must
+  rest 1 turn afterwards.
+\end{monster}
+
+\begin{monster}{Djinni, greater (Pasha)**}{
+    120 (20\,000\,cn) \flying 360 (10\,000\,cn); whirlwind \flying 240 &
+    15***(L), M30, XP4800 &
+    AC$^-$2, T8; fist ($2 \times \d{3d10}$) \emph{or} whirlwind (3d12) &
+    PM, VR(D, any); 1~(1) &
+    I14, C, ML11; nil}
+  Regenerate 3\,hp per round. \\
+  As lesser Djinni powers, at will. \\
+  Enter/leave Ethereal plane (1 round conc.). \\
+  Each once per day: grant \emph{wish}; \emph{cloudkill}; \emph{water to
+    gas}; \emph{weather control}. \\
+  Change to whirlwind takes 1 round; whirlwind is $120' \times
+  (10'\textrm{--}40')$ cone: damages all in path; creatures with up to 5HD
+  must SvDR or be swept aside.
+\end{monster}
+
+\begin{monster}{Dolphin}{
+    \swimming 180 &
+    3*(L), D6, XP50 &
+    AC5, T17; head~butt (2d4) &
+    A, C(C), 0~(1d20) &
+    I15, L, ML10; nil}
+  Hold breath for 15 minutes. \\
+  Telepathy with other dolphins within 50 miles. \\
+  Underwater: \emph{detect magic}, range 360$'$.
+\end{monster}
+
+\begin{monster}{Doppelg\"anger}{
+    90 &
+    4*(M), F8, XP125 &
+    AC5, T16; bite (1d12) &
+    M, R(any); 1d6~(1d6) &
+    I9, C, ML8; E}
+  Immune to \emph{sleep} and \emph{charm}. \\
+  Learns victim's knowledge (not spells) telepathically.
+\end{monster}
+
+\begin{monster}[3]{Dragon}{
+    \h Small &
+    90 \flying 240 ($L \times 1000$\,cn, $\times 3$) &
+    $L$**(L), F$L$ &
+    $\textrm{claw} \times 2$, bite ($\textrm{kick} \times 2$, tail) \emph{or}
+    crush (1 human); \newline
+    Swoop: claw, pick up on 20 &
+    D, R; 1d4~(1d4) &
+    I9, H \\
+    \h Large &
+    120 \flying 300 ($L \times 1000$\,cn, $\times 5$) &
+    $L$***(L), F$2L$ &
+    $\textrm{claw} \times 2$, bite ($\textrm{kick} \times 2$, tail) \emph{or}
+    Swoop: $\textrm{claw} \times 2$, pick up on 18--20 &
+    D, R; 1d3~(1d3) &
+    I12, $\textrm{H} \times 2$, I \\
+    \h Huge &
+    90 \flying 240 ($L \times 1000$\,cn, $\times 10$) &
+    $L$****(L), F36 &
+    $\textrm{claw} \times 2$, bite ($\textrm{kick} \times 2$, $\textrm{wing}
+      \times 2$, tail) \emph{or}
+    Swoop: $\textrm{claw} \times 2$, bite, pick up on 18--20 &
+    D, R; 1d2~(1d2) &
+    I15, $\textrm{H} \times 3$, $\textrm{I} \times 2$}
+
+  \begin{tabular}[C]{\shade 2[\smash]c22} \hlx*{hv}
+    \th{Colour} & \th{Size} & \th{Breath} & \c{\th{Volume}} \\ \hlx{vhv}
+           & S &           & Cone: $80' \times (2'$--$30')$     \\
+           & L & Cold, \emph{crystalize}
+                           & Cone: $80' \times (2'$--$40')$     \\
+    White \nl Crystal \nl\nl
+           & H &           & Cone: $80' \times (2'$--$40')$     \\ \hlx{+}
+           & S &           & Line: $60' \times 5'$              \\
+           & L & Acid, \emph{darkness}
+                           & Line: $90' \times 5'$              \\
+    Black \nl Onyx \nl\nl
+           & H &           & Line: $120' \times 5'$             \\ \hlx{+}
+           & S &           & Cloud: $50' \times 40' \times 30'$ \\
+           & L & Gas, \emph{disease}
+                           & Cloud: $50' \times 40' \times 30'$ \\
+    Green \nl Jade \nl\nl
+           & H &           & Cloud: $50' \times 50' \times 30'$ \\ \hlx{+}
+           & S &           & Line: $100' \times 5'$             \\
+           & L & Lightning, \emph{vapourize}
+                           & Line: $150' \times 5'$             \\
+    Blue \nl Sapphire \nl\nl
+           & H &           & Line: $200' \times 5'$             \\ \hlx{+}
+           & S &           & Cone: $90' \times (2'$--$30')$     \\
+           & L & Fire, \emph{melt}
+                           & Cone: $135' \times (2'$--$30')$    \\
+    Red \nl Ruby \nl\nl
+           & H &           & Cone: $180' \times (2'$--$30')$    \\ \hlx{+}
+           & S &           & Cone: $90' \times (2'$--$30')$ \nl
+                             Cloud: $50' \times 40' \times 30'$ \\
+    Gold \nl Amber
+           & L & Fire, \emph{melt} \nl gas, \emph{disease}
+                           & Cone: $135' \times (2'$--$30')$ \nl
+                             Cloud: $50' \times 40' \times 30'$ \\
+           & H &           & Cone: $180' \times (2'$--$30')$ \nl
+                             Cloud: $50' \times 50' \times 30'$ \\
+           \hlx*{vh}
+  \end{tabular}
+
+  \goodbreak
+
+  \begin{description}
+  \item[Crystalize] All items turn to crystal; weapons shatter (5 in 6)
+    when used -- cause minimum damage and destroyed; \emph{stone to flesh}
+    reverses.
+  \item[Darkness] Radius $15'$, duration $L$ rounds; dragon can see
+    through; dispelled by \emph{light} or \emph{dispel magic}.
+  \item[Disease] Nonmetal items rot away in 1d6 turns; victim unaffected
+    by \emph{cure wounds} or \emph{heal}, loses 1\,hp per turn; cured
+    by \emph{cure disease}.
+  \item[Vapourize] Gaseous form for $L$ turns -- invisible and silent,
+    move $60$; reversed by \emph{dispel magic}.
+  \item[Melt] Paper destroyed immediately, leather in 1 round, other
+    nonmetal in 2 rounds, nonmagical metal in 3 rounds, magical items in $4
+    + \delta G$ rounds; magical items giving immunity to fire melt in
+    double time; immersion in water prevents.
+  \end{description}
+
+  \begin{tabular}[C]{\shade 2[\smash]cMrMlccMlMlrr} \hlx*{hv}
+    \multicolumn{6}{c}{} & \multicolumn{2}{c}{\th{Damage}} \\
+    \th{Colour} & \th{Size} & \c{\th{AC}} & \c{\th{HD}} & \th{T} &
+    \th{Save} & \c{\th{Claw}} & \c{\th{Bite}} \\ \hlx{vhv}
+           & S &  3 &   6 & 14 &\0F6 & \d{1d4}      & \d{2d8}      \\
+           & L &  1 &   9 & 11 & F18 & \d{1d6} + 1  & \d{2d8} + 4  \\
+    White \nl Crystal \nl\nl
+           & H & -1 &  12 &\09 & F36 & \d{1d8} + 2  & \d{2d8} + 8  \\ \hlx{+}
+           & S &  2 &   7 & 13 &\0F7 & \d{1d4} + 1  & \d{2d10}     \\
+           & L &  0 &10+3 & 10 & F21 & \d{1d6} + 2  & \d{2d10} + 4 \\
+    Black \nl Onyx \nl\nl
+           & H & -2 &  14 &\08 & F36 & \d{1d8} + 3  & \d{2d10} + 8 \\ \hlx{+}
+           & S &  1 &   8 & 12 &\0F8 & \d{1d6}      & \d{3d8}      \\
+           & L & -1 &  12 &\09 & F24 & \d{1d8} + 1  & \d{3d8} + 4  \\
+    Green \nl Jade \nl\nl
+           & H & -3 &  16 &\07 & F36 & \d{1d10} + 2 & \d{3d8} + 8  \\ \hlx{+}
+           & S &  0 &   9 & 11 &\0F9 & \d{1d6} + 1  & \d{3d10}     \\
+           & L & -2 &13+3 &\08 & F27 & \d{1d8} + 2  & \d{3d10} + 4 \\
+    Blue \nl Sapphire \nl\nl
+           & H & -4 &  18 &\06 & F36 & \d{1d10} + 3 & \d{3d10} + 8 \\ \hlx{+}
+           & S & -1 &  10 & 10 & F10 & \d{1d8}      & \d{4d8}      \\
+           & L & -3 &  15 &\08 & F30 & \d{1d10} + 1 & \d{4d8} + 4  \\
+    Red \nl Ruby \nl\nl
+           & H & -5 &  20 &\05 & F36 & \d{1d12} + 2 & \d{4d8} + 8  \\ \hlx{+}
+           & S & -2 &  11 & 10 & F11 & \d{2d4}      & \d{6d6}      \\
+           & L & -4 &16+3 &\07 & F33 & \d{3d4}      & \d{6d6} + 4  \\
+    Gold \nl Amber \nl\nl
+           & H & -6 &  22 &\04 & F36 & \d{4d4}      & \d{6d6} + 8  \\
+           \hlx*{vh}
+  \end{tabular}
+
+  \begin{tabular}[C]{\shade lclcl} \hlx*{hv}
+    \th{Colour} & \th{AL} & \th{Gemstone} & \th{AL} & \th{Habitat}
+    \\ \hlx{vhv}
+    White       &     N   & Crystal       &    L    & Cold         \\ \hlx{+}
+    Black       &     C   & Onyx          &    N    & Swamp, marsh \\ \hlx{+}
+    Green       &     C   & Jade          &    N    & Jungle, woods\\ \hlx{+}
+    Blue        &     N   & Sapphire      &    L    & Desert, open \\ \hlx{+}
+    Red         &     C   & Ruby          &    L    & Hills, mountains
+                                                         \\ \hlx{+}
+    Gold        &     L   & Amber         &    C    & Any       \\ \hlx*{vh}
+  \end{tabular}
+
+  \begin{description}
+  \item[Kick] SvPs or be knocked over; damage is penalty to save.
+  \item[Tail] As for kick, but also disarmed.
+  \item[Wing] Range is $3L'$; SvPs or be stunned; damage is penalty to save.
+  \item[Crush] SvDR or take damage; option to stay (and take damage) holding
+    edged weapon: $+4$ to hit, double damage.
+  \item[Hover] Use all six attacks; must land after hovering.
+  \item[Swoop] Surprise 3 in 6; may pick up one victim per attack; caught
+    victim may attack at $-2$, minimum damage; automatic damage each round;
+    bite at $-2$ to hit to transfer from claw to mouth.
+  \end{description}
+
+  \begin{tabular}[C]{\shade 2[\smash]ccccccrr} \hlx*{hv}
+    \multicolumn{2}{c}{} &
+    \multicolumn{5}{c}{\th{Spells by level}} &
+    \multicolumn{2}{c}{\th{Experience}} \\
+    \th{Colour} & \c{\th{Size}} &
+    \th{1} & \th{2} & \th{3} & \th{4} & \th{5} &
+    \c{\th{Normal}} & \c{\th{Spells}}
+    \\ \hlx{vhv}
+           & S & 1 &---&---&---&--- &     725 &     950 \\
+           & L & 4 & 2 &---&---&--- &  3\,000 &  3\,700 \\
+    White \nl Crystal \nl\nl
+           & H & 5 & 3 & 1 &---&--- &  4\,750 &  5\,625 \\ \hlx{+}
+           & S & 4 &---&---&---&--- &  1\,250 &  1\,650 \\
+           & L & 5 & 3 &---&---&--- &  3\,500 &  4\,300 \\
+    Black \nl Onyx \nl\nl
+           & H & 5 & 4 & 3 &---&--- &  5\,500 &  6\,500 \\ \hlx{+}
+           & S & 3 & 3 &---&---&--- &  1\,750 &  2\,300 \\
+           & L & 4 & 4 & 3 &---&--- &  3\,875 &  4\,750 \\
+    Green \nl Jade \nl\nl
+           & H & 5 & 5 & 4 & 3 &--- &  6\,250 &  7\,350 \\ \hlx{+}
+           & S & 4 & 4 &---&---&--- &  2\,300 &  3\,000 \\
+           & L & 5 & 5 & 3 &---&--- &  4\,500 &  5\,500 \\
+    Blue \nl Sapphire \nl\nl
+           & H & 5 & 5 & 5 & 4 &--- &  7\,525 &  8\,875 \\ \hlx{+}
+           & S & 3 & 3 & 3 &---&--- &  2\,500 &  3\,250 \\
+           & L & 5 & 4 & 3 & 2 &--- &  4\,800 &  5\,850 \\
+    Red \nl Ruby \nl\nl
+           & H & 5 & 5 & 4 & 3 & 2  &  9\,575 & 11\,375 \\ \hlx{+}
+           & S & 4 & 4 & 4 &---&--- &  2\,700 &  3\,500 \\
+           & L & 5 & 5 & 4 & 3 &--- &  5\,450 &  6\,600 \\
+    Gold \nl Amber \nl\nl
+           & H & 5 & 5 & 5 & 4 & 3  & 11\,750 & 14\,000 \\
+           \hlx*{vh}
+  \end{tabular}
+
+\end{monster}
+
+\begin{monster}{Dragon turtle*}{
+    30 \swimming 90 &
+    30*(L), F15, XP9000 &
+    AC$^-$2, T0; claw ($2 \times \d{1d8}$), bite ($\d{1d6} \times 10$) &
+    D, R(C); 0~(1) &
+    I5, C, ML10; H}
+  Steam breath weapon, $50' \times 40' \times 40'$.
+\end{monster}
+
+\begin{monster}[4]{Drake}{
+    \h Mandrake &
+    120 \flying 30 &
+    3***(M), M6, XP80 &
+    AC0, T17; claw ($2 \times \d{1d2}$), bite (1d6) &
+    D, R(any); 1d4~(1d4) &
+    I10, C, ML8; ($\textrm{V} \times 2$) E \\
+    \h Wooddrake &
+    120 \flying 30 &
+    4***(M), M8, XP225 &
+    AC0, T16; claw ($2 \times \d{1d2}$), bite (1d8) &
+    D, R(any); 1d4~(1d4) &
+    I10, C, ML8; ($\textrm{V} \times 2$) E \\
+    \h Colddrake &
+    120 \flying 30 &
+    5***(M), M10, XP550 &
+    AC0, T15; claw ($2 \times \d{1d2}$), bite (2d4) &
+    D, R(any); 1d4~(1d4) &
+    I10, C, ML8; ($\textrm{V} \times 2$) E \\
+    \h Elemental* &
+    120 \flying 30 &
+    6$^4$*(M), M12, XP1175 &
+    AC0, T14; claw ($2 \times \d{1d3}$), bite ($\d{1d8} + 2$) &
+    PM, VR(any); 1d4~(1d4) &
+    I0, C, ML8; special}
+  Abilities of T5 or better. \\
+  Cannot pass \emph{protection from evil} effect. \\
+  Mandrake change to human form. \\
+  Wooddrake change to elf or human form. \\
+  Colddrake change to dwarf or gnome form. \\
+  Elemental drakes change to giant form (stone, cloud, fire, storm; 1--4$'$
+  shorter than usual); cannot throw rocks; 2d6 damage per hit.
+\end{monster}
+
+\begin{monster}{Drolem***}{
+    120 \flying 240 (20\,000\,cn) &
+    20$^5$*(L), F10, XP11375 &
+    AC$^-$3, T5; claw ($2 \times \d{2d6}$), bite ($\d{1d20} + 10$) &
+    EC, VR(any); 1~(1) &
+    I3, N, ML12; nil}
+  Immune to \emph{charm}, \emph{hold}, \emph{sleep}, mind-affecting spells,
+  fire, cold and gases, and 1st--4th level spells. \\
+  See invisible, range 60$'$.
+\end{monster}
+
+\begin{monster}{Dryad}{
+    120 &
+    2*(M), E4, XP25 &
+    AC5, T18; weapon &
+    H, R(W); 0~(1d6) &
+    I14, N, ML6; D}
+  Can \emph{charm} at will, $-2$ to save. \\
+  Dies if home tree killed, or if further than 240$'$ from it more than 1
+  turn.
+\end{monster}
+
+\begin{monster}{Dwarf}{
+    60 &
+    1, D1, XP10 &
+    AC4, T19; weapon &
+    H, C(H,M); 1d6~(5d8) &
+    I10, L/N, ML8/10; (Q, S) G}
+  Infravision $60'$. \\
+  For each 20 dwarves, 3--8 level leader -- raises morale to 10.
+\end{monster}
+
+\begin{monster}[2]{Efreeti, lesser*}{
+    \h Prime plane &
+    90 \flying 240 (5\,000\,cn) &
+    10*(L), F15, XP1750 &
+    AC5, T10; fist (2d8, 3d8 as pillar) &
+    PM, R(D, any); 1~(1) &
+    I14, C, ML12; nil \\
+    \h Plane of Fire &
+    240 &
+    10*(L), F15, XP1750 &
+    AC1, T10; strike (2d8) &
+    PM, R(EF); 1d4~(1d\%) &
+    I14, C, ML8; special}
+  \goodbreak
+  On home plane: immune to 1st-level spells and all earth-based attacks;
+  detects invisible 120$'$ range. \\
+  Each three times per day: \emph{create food and drink} (as C7);
+  \emph{create metallic objects} (up to 1000\,cn; dur.\ gold 1 day, iron 1
+  round); \emph{create soft goods and wooden objects} (up to 1000\,cn);
+  become \emph{invisible}; cast \emph{wall of fire}; form \emph{pillar of
+  flame}; create \emph{illusion} (visible and audible, until touched or
+  dispelled, no concentration required). \\
+  The \emph{pillar of flame} ignites items within 5$'$; lasts for
+  3~rounds. \\
+  Serves for 101~days (summoned by \emph{create magical monsters}, bound by
+  \emph{wish}).
+\end{monster}
+
+\begin{monster}{Efreeti, greater (Amir)**}{
+    120 (20\,000\,cn) \flying 360 (10\,000\,cn) &
+    20***(L), M36, XP7775 &
+    AC$^-$2, T5; fist ($2 \times \d{3d10}$, $2 \times (\d{3d10} + \d{2d8})$
+    as pillar) &
+    PM, VR(D, any); 1~(1) &
+    I14, C, ML11; nil}
+  Regenerate 2\,hp per round. \\
+  As lesser Efreeti powers, at will. \\
+  Enter/leave Ethereal plane (1 round conc.). \\
+  Each once per day: grant \emph{wish}; \emph{fireball}; \emph{explosive
+    cloud} (all as M20). \\
+  The \emph{pillar of flame} ignites items within 15$'$; lasts
+  indefinitely.
+\end{monster}
+
+\begin{monster}[4]{Elemental*}{
+    \h Staff &
+    By element &
+    8(L), F8, XP650 &
+    AC2, T12; (1d8) &
+    PM, C(any); 1~(1) &
+    I9, N, ML10; nil \\
+    \h Device &
+    By element &
+    12(L), F12, XP1250 &
+    AC0, T9; (2d8) &
+    PM, C(any); 1~(1) &
+    I9, N, ML10; nil \\
+    \h Spell &
+    By element &
+    16(L), F16, XP1850 &
+    AC$^-$2, T7; (3d8) &
+    PM, C(any); 1~(1) &
+    I9, N, ML10; nil \\
+    \h Home plane &
+    360 &
+    $L$*(L), F$L$ &
+    See table below &
+    PM, C(E); 1d6~(1d\%) &
+    I9, N, ML9; varies}
+  \begin{description}
+  \item[Prime plane] Cannot pass \emph{protection from evil} effect.  \\
+    Double damage from dominant element (SvS for normal); minimal damage from
+    dominated element.
+  \item[Home plane] Immune to 1st--5th level spells, \emph{charm},
+    \emph{hold} and other mental attacks, \emph{illusions} and any
+    instant-death effect. \\
+    If hit, victim must SvDR or be crushed (each carried item $95 - 5\delta
+    G$\% chance of being destroyed).
+  \end{description}
+
+  \begin{tabular}[C]{\shade cMrMrr@{d}lr | cMrMrr@{d}lr} \hlx*{hv}
+    \th{HD} & \th{AC} & \th{T} & \multicolumn{2}{c}{\th{D}} & \th{XP} &
+    \th{HD} & \th{AC} & \th{T} & \multicolumn{2}{c}{\th{D}} & \th{XP}
+    \\ \hlx{vhv}
+    \01 &   5 & 19 &  1&2  &     10 & 17 &  -3 &  7 &  3&10 & 2\,000 \\ \hlx{+}
+    \02 &   5 & 18 &  1&2  &     20 & 18 &  -3 &  6 &  3&10 & 2\,125 \\ \hlx{+}
+    \03 &   4 & 17 &  1&4  &     30 & 19 &  -4 &  6 &  4&8  & 2\,250 \\ \hlx{+}
+    \04 &   4 & 16 &  1&4  &     75 & 20 &  -4 &  5 &  4&8  & 2\,375 \\ \hlx{+}
+    \05 &   3 & 15 &  1&6  &    175 & 21 &  -5 &  5 &  5&8  & 2\,500 \\ \hlx{+}
+    \06 &   3 & 14 &  1&6  &    275 & 22 &  -5 &  4 &  5&8  & 2\,750 \\ \hlx{+}
+    \07 &   2 & 13 &  1&8  &    450 & 23 &  -6 &  4 &  6&8  & 3\,000 \\ \hlx{+}
+    \08 &   2 & 12 &  1&8  &    650 & 24 &  -6 &  3 &  6&8  & 3\,250 \\ \hlx{+}
+    \09 &   1 & 11 &  2&6  &    900 & 25 &  -7 &  3 &  7&8  & 3\,500 \\ \hlx{+}
+     10 &   1 & 10 &  2&6  & 1\,000 & 26 &  -7 &  2 &  7&8  & 3\,750 \\ \hlx{+}
+     11 &   0 & 10 &  2&8  & 1\,100 & 27 &  -8 &  2 &  8&8  & 4\,000 \\ \hlx{+}
+     12 &   0 &  9 &  2&8  & 1\,250 & 28 &  -8 &  1 &  8&8  & 4\,250 \\ \hlx{+}
+     13 &  -1 &  9 &  2&10 & 1\,350 & 29 &  -9 &  1 &  9&8  & 4\,500 \\ \hlx{+}
+     14 &  -1 &  8 &  2&10 & 1\,500 & 30 &  -9 &  0 &  9&8  & 4\,750 \\ \hlx{+}
+     15 &  -2 &  8 &  3&8  & 1\,650 & 31 & -10 &  0 & 10&8  & 5\,000 \\ \hlx{+}
+     16 &  -2 &  7 &  3&8  & 1\,850 & 32 & -10 & -1 & 10&8  & 5\,250 \\ \hlx*{vh}
+  \end{tabular}
+
+  \begin{tabular}[C]{\shade lll>{\raggedright}p{5pc}} \hlx*{hv}
+    \th{Element} & \th{Movement} & \th{Size}
+    & \th{Extra damage (1d8)} \\ \hlx{vhv}
+    Air
+    & \flying 360 ($L \times 500$\,cn)
+    & $2L' \times L/2'\phi$
+    & Flying opponents \\ \hlx{+}
+    Earth
+    & 60 ($L \times 500$\,cn)
+    & $L' \times L'\phi$
+    & Opponents ground \\ \hlx{+}
+    Fire
+    & 120 ($L \times 500$\,cn)
+    & $L' \times L'\phi$
+    & Opponents with cold-based attacks \\ \hlx{+}
+    Water
+    & 60 \swimming 180 ($L \times 500$\,cn)
+    & $L/2' \times 2L'\phi$
+    & Opponents in water \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Elemental ruler****}{
+    120 &
+    $L$***(L), F36, XP$28500 + 1000(L - 41)$ &
+    T$^-$3; see table below &
+    PM, VR(E); 1d6~(1d6) &
+    I15, L/N, ML11; varies}
+  \begin{tabular}[C]{\shade cMrMl} \hlx*{hv}
+    \th{HD} & \th{AC} & \th{Damage}        \\ \hlx{vhv}
+    41--48  & -11     & 2 \times \d{8d12}  \\ \hlx{+}
+    49--56  & -12     & 2 \times \d{9d12}  \\ \hlx{+}
+    41--64  & -13     & 2 \times \d{10d12} \\ \hlx{+}
+    41--72  & -14     & 2 \times \d{11d12} \\ \hlx{+}
+    41--80  & -15     & 2 \times \d{12d12} \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}[2]{Elephant}{
+    \h Normal &
+    120 (9\,000\,cn, $\times 3$) &
+    9*(L), F5, XP1600 &
+    AC5, T11; tusk ($2 \times \d{2d4}$) \emph{or} trample (4d8) &
+    A, R(O,W); 0~(1d20) &
+    I2, N, ML8; $\d{1d6} \times 100$\,gp per tusk \\
+    \h Mastodon &
+    120 (7\,500\,cn, $\times 3$) &
+    15(L), F8, XP1650 &
+    AC3, T7; tusk ($2 \times \d{2d6}$) \emph{or} trample (4d8) &
+    A, VR(L); 0~(2d8) &
+    I2, N, ML8; $\d{2d4} \times 100$\,gp per tusk}
+  Initial charge causes double tusk damage.
+\end{monster}
+
+\begin{monster}{Elf}{
+    120 &
+    1d6*(M), E1, XP6 &
+    AC5, T19; weapon &
+    H, R(C,W); 1d4~(2d24) &
+    I13, L/N, ML8/10; (S, T) E}
+  Immune to ghoul paralysis. \\
+  Infravision $60'$. \\
+  One first-level magic-user spell each. \\
+  For each 15 elves, one is a leader of level $\d{1d6} + 1$; he raises morale
+  to 10.
+\end{monster}
+
+\begin{monster}{F\ae rie}{
+    120 \flying 240 &
+    $1 + 1$*(S), E1, XP19 &
+    AC5, T18; weapon &
+    H, R(any); 1d6~($\d{5d8} + 20$) &
+    I13, any, ML9; nil}
+  Always invisible; see invisible easily. \\
+  At will: \emph{gaseous form}; \emph{create fog} ($10'$ cube),
+  \emph{condense fog} (causes drizzle), \emph{summon breeze} (blows out
+  candles, open flames flicker, flying movement increases to 360).
+\end{monster}
+
+\begin{monster}{Ferret, giant}{
+    150 &
+    $1 + 1$(S), F1, XP15 &
+    AC5, T18; bite (1d8) &
+    GA, C(V,W); 1d8~(1d12) &
+    I2, N, ML8; nil}
+\end{monster}
+
+\begin{monster}[3]{Fish, giant}{
+    \h Bass &
+    \swimming 120 &
+    2(L), F1, XP20 &
+    AC7, T18; bite (1d6) &
+    GA, C(C,R); 0~(2d4) &
+    I1, N, ML8; nil \\
+    \h Rockfish &
+    \swimming 180 &
+    $5 + 5$*(L), F3, XP400 &
+    AC7, T18; spine ($4 \times ($1d4, poison$)$) &
+    GA, C(C,R); 0~(2d4) &
+    I1, N, ML8; nil \\
+    \h Sturgeon &
+    \swimming 180 &
+    $10 + 2$*(L), F5, XP1900 &
+    AC7, T10; bite (2d10) &
+    GA, C(C,R); 0~(2d4) &
+    I1, N, ML8; nil}
+  Sturgeon swallows on hit of 18--20: 2d6\,hp damage per round, SvDR or
+  paralyzed.
+\end{monster}
+
+\begin{monster}[4]{Gargantua}{
+    \h Carrion crawler &
+    240 &
+    25*(L), F13; XP6500 &
+    AC3, T3; tentacle ($8 \times (\d{1d4} + 1$, paralysis$)$) &
+    GL, VR(R,V); 1~(1) &
+    I0, N, ML11; $\textrm{B} \times 4$ \\
+    \h Gargoyle* &
+    180 \flying 300 (16\,000\,cn) &
+    32**(L), F32; XP10000 &
+    AC1, T$^-$1; claw ($2 \times \d{4d3}$), bite (4d6), horn (4d4) &
+    GC, VR(R,V); 1~(1) &
+    I5, C, ML11; $\textrm{C} \times 4$ \\
+    \h Troll &
+    240 &
+    51**(L), F36; XP29000 &
+    AC4, T$^-$3; claw ($2 \times \d{4d6}$), bite (4d10) &
+    GM, VR(V,any); 1~(1) &
+    I6, C, ML11; $\textrm{D} \times 4$ \\
+    \h Any &
+    $\times 2$ ($\textrm{load} \times 8$) &
+    $8L$, F$8L$ or F$4L$ &
+    AC; $4 \times \textrm{dmg}$ &
+    VR; 1~(1) &
+    ML11; $4 \times \textrm{treasure}$}
+  Regeneration is four times normal rate.
+\end{monster}
+
+\begin{monster}{Gargoyle*}{
+    90 \flying 150 (2\,000\,cn) &
+    4**(L), F8; XP175 &
+    AC5, T15; claw ($2 \times \d{1d3}$), bite (1d6), horn (1d4) &
+    C, VR(R,V); 1d6~(1d4) &
+    I5, C, ML11; C}
+\end{monster}
+
+\begin{monster}{Gelatinous cube}{
+    60 &
+    4*(L), F2; XP125 &
+    AC8, T16; (2d4, paralysis) &
+    M, C(R,V); 1~(1d4) &
+    I0, N, ML12; (V)}
+  Immune to cold and lightning. \\
+  Paralysis lasts for 2d4 turns.
+\end{monster}
+
+\begin{monster}{Ghoul}{
+    90 &
+    2*(M), F2, XP25 &
+    AC6, T18; claw ($2 \times \d{1d3}$), bite (1d3) -- any hit paralyzes &
+    U, C(R,V); 1d6~(2d8) &
+    I3, C, ML9; B}
+  Paralysis lasts for 2d4 turns.
+\end{monster}
+
+\begin{monster}[4]{Giant}{
+    \h Hill &
+    120 &
+    8(L), F8, XP650 &
+    AC4, T12; weapon (2d8) &
+    GH, C(H,M); 1d4~(1d4) &
+    I7, C, ML8; E, 5000\,gp \\
+    \h Stone &
+    120 &
+    9(L), F9, XP900 &
+    AC4, T11; weapon (3d6) &
+    GH, C(V); 1d2~(1d6) &
+    I10, N, ML9; E, 5000\,gp \\
+    \h Frost &
+    120 &
+    $10 + 1$*(L), F10, XP1900 &
+    AC4, T10; weapon (4d6) &
+    GH, C(A); 1d2~(1d4) &
+    I14, C, ML9; E, 5000\,gp \\
+    \h Fire &
+    120 &
+    $11 + 2$*(L), F8, XP2125 &
+    AC4, T9; weapon (5d6) &
+    GH, C(M); 1d2~(1d3) &
+    I13, C, ML9; E, 5000\,gp
+    \monsterbreak{4}
+    \h Cloud &
+    120 &
+    13*(L), F13, XP2300 &
+    AC4, T9; weapon (6d6) &
+    GH, C(M,cloud); 1d2~(1d3) &
+    I16, N, ML10; E, 5000\,gp \\
+    \h Storm &
+    150 &
+    15**(L), F15, XP3750 &
+    AC2, T8; weapon (8d6) &
+    GH, C(C,M); 1~(1d3) &
+    I18, L, ML10; E, 5000\,gp \\
+    \h Mountain &
+    150 &
+    12*--20*(L), F$L$ &
+    AC0, T9--5; weapon (5d10) &
+    GH, C(M); 1d4~(1d20) &
+    I11, N, ML9; E, 5000\,gp \\
+    \h Sea &
+    120 &
+    9*--15*(L), F$L$ &
+    AC0, T11--8; weapon (4d10) &
+    GH, C(C); 1d2~(1d20) &
+    I12, N, ML10; E, 5000\,gp}
+
+  \begin{description}
+  \item[Stone] 50\% chance of 1d4 cave bears as guards.
+  \item[Frost] 3d6 polar bears (20\%) or 6d6 wolves (80\%) as guards.
+  \item[Fire] Immune to fire attacks. \\
+    1d3 hydr\ae\ (20\%) or 3d6 hellhounds (80\%) as guards.
+  \item[Cloud] Surprised only 1 in 6. \\
+    1d6 small rocs or 6d6 dire wolves as guards.
+  \item[Storm] Immune to lightning. \\
+    Create thunderstorms in 1 turn, then throw one lightning
+    bolt every 5 rounds; damage is remaining hp, SvS for half. \\
+    2d4 gryphons or 3d6 giant crabs as guards.
+  \item[Sea] Breathe water; hold breath for 1 turn on land. \\
+    Create current (underwater cone $50' \times 30'$; surface wave $120'
+    \times 60'$): those within area shoved $60'$ away, SvDR or stunned for
+    1d6 rounds; 2d6 hull points of damage to ships.
+  \end{description}
+
+  \begin{tabular}[C]{\shade lMccc} \hlx*{hv}
+    \th{Type}    & \th{Height} & \th{Rock range} & \th{Damage}   \\ \hlx{vhv}
+    Hill         &    12'      &    30/60/100    &    3d6        \\ \hlx{+}
+    Stone        &    14'      &   100/200/300   &    3d6        \\ \hlx{+}
+    Frost        &    18'      &    60/130/200   &    3d6        \\ \hlx{+}
+    Fire         &    16'      &    60/130/200   &    3d6        \\ \hlx{+}
+    Cloud        &    20'      &    60/130/200   &    3d6        \\ \hlx{+}
+    Storm        &    22'      &   150/300/450   &    3d6        \\ \hlx{+}
+    Mountain     &    L'       &   100/200/400   &    4d6        \\ \hlx{+}
+    Sea          &    L + 6'   &        ---      &    ---        \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Gnoll}{
+    90 &
+    2(L), F2, XP20 &
+    AC5, T18; weapon ($\delta S = +1$) &
+    H, C(H,M); 1d6~(3d6) &
+    I7, C, ML8; (P) D}
+  For each 20, one leader (3HD, 16\,hp).
+\end{monster}
+
+\begin{monster}{Gnome}{
+    60 &
+    1(S), D1, XP20 &
+    AC5, T19; weapon &
+    H, C(V,O); 1d8~(5d8) &
+    I11, L/N, ML8/10; (P) C}
+  Infravision $90'$ range. \\
+  For each 20, one leader (2HD, 11\,hp, T18, XP20). \\
+  Chieftain: 4HD, 18\,hp, T16, XP75, $\delta S = +1$, 1d6 bodyguards (3HD,
+  $\d{1d4} + 9$\,hp, T17, XP30).
+\end{monster}
+
+\begin{monster}{Goblin}{
+    90 &
+    $1 - 1$(S), NM, XP5 &
+    AC6, T19; weapon &
+    H, C(H,M,V,W); 2d8~(6d10) &
+    I9, C, ML7/9; (R) C}
+  Infravision $90'$ range. \\
+  In daylight, $-1$ to hit. \\
+  20\% chance: 1 in 4 rides a dire wolf. \\
+  King: 3HD, 11\,hp, T17, XP30, $\delta S = +1$, 2d6 bodyguards (2HD,
+  2d6\,hp, T18, XP20); no penalty in daylight.
+\end{monster}
+
+\begin{monster}[3]{Golem*}{
+    \h Wood &
+    120 (1\,000\,cn) &
+    $2 + 2$(S), F1, XP35 &
+    AC7, T17; fist (1d8) &
+    C, R(any); 1~(1) &
+    I4, N, ML12; nil \\
+    \h Bone &
+    120 (3\,000\,cn) &
+    6*(M), F4, XP500 &
+    AC2, T14; weapon (4 attacks) &
+    C, R(any); 1~(1) &
+    I4, N, ML12; nil \\
+    \h Obsidian &
+    120 (3\,000\,cn) &
+    6*(L), F3, XP500 &
+    AC3, T17; weapon \emph{or} fist (2d4) &
+    C, R(any); 1~(1) &
+    I4, N, ML12; nil
+    \monsterbreak{3}
+    \h Mud &
+    90 (4\,000\,cn) &
+    8*(M), F1, XP35 &
+    AC9, T12; hug (2d6) &
+    C, R(any); 1~(1) &
+    I4, N, ML12; nil \\
+    \h Amber &
+    120 (5\,000\,cn) &
+    10*(L), F5, XP1750 &
+    AC6, T10; claw ($2 \times \d{2d6}$), bite (2d10) &
+    C, R(any); 1~(1) &
+    I4, N, ML12; nil \\
+    \h Bronze &
+    240 (10\,000\,cn) &
+    20**(L), F10, XP5975 &
+    AC0, T5; fist (4d10) &
+    C, R(any); 1~(1) &
+    I4, N, ML12; nil}
+  \begin{description}
+  \item[Wood] Immune to cold, and all missiles. \\
+    $-1$ on initiative. \\
+    $-2$ on save, $+1$ damage per die, against fire.
+  \item[Bone] Immune to fire, cold and electricity.
+  \item[Mud] Holds on when it hits, causing automatic damage in
+    subsequent rounds.
+  \item[Amber] Resemble giant cat.  Excellent tracking; detect
+    invisible within $60'$.
+  \item[Bronze] $16'$ tall. \\
+    Only 3d10 damage against fire-resistant opponents. \\
+    When hit with edged weapon, opponent SvDR or takes 2d6 damage from
+    spurting molten bronze.
+  \end{description}
+\end{monster}
+
+\begin{monster}[2]{Gorgon}{
+    \h Prime plane &
+    120 &
+    8*(L), F8, XP1200 &
+    AC2, T12; horn (2d6) \emph{or} breath (petrification) &
+    M, VR(H,O); 1d2~(1d4) &
+    I1, C, ML8; E \\
+    \h Plane of Earth &
+    120 &
+    4*(L), F4, XP125 &
+    AC2, T16; horn (1d4) \emph{or} breath (petrification) &
+    PM, VR(EE); 1d8~(3d12) &
+    I1, N, ML5; nil}
+  Immune to petrification. \\
+  Breath is cloud $60' \times 10' \times 10'$.
+\end{monster}
+
+\begin{monster}{Grab grass}{
+    --- &
+    1 per $5'$ square (M), NM, XP10 &
+    AC9, T19; grab &
+    L, C(H,J,O); --- &
+    I0, N, ML12; nil}
+  Chance to break free is $\max(S - 11, 1)$ in 12.
+\end{monster}
+
+\begin{monster}{Grey ooze}{
+    10 &
+    3*(L), F2, XP50 &
+    AC8, T17; acid (2d8) &
+    L, C(R,V); 1d4~(1d4) &
+    I0, N, ML12; nil}
+  Immune to cold and fire. \\
+  Acid dissolves normal weapons and armour in 1 round, magical items in 1
+  turn. \\
+  Continuous damage after first hit.
+\end{monster}
+
+\begin{monster}{Green slime}{
+    3 &
+    2**(L), F1, XP30 &
+    Always hit, T18; slime &
+    L, C(R,V); 1~(0) &
+    I0, N, ML7; (P, S) B}
+  Only harmed by fire and cold. \\
+  Dissolves leather and cloth immediately, wood and metal in 6 rounds. \\
+  Turns flesh to green slime; must be burnt off, or removed with \emph{cure
+    disease}.  If not removed, victim transforms completely after $\d{1d4} +
+  6$ rounds.  Burning does half damage to the slime and half to the victim.
+\end{monster}
+
+\begin{monster}{Gremlin}{
+    120 &
+    1**(S), E1, XP16 &
+    AC7; chaotic aura $20'$ radius &
+    M, R(any); 1d6~(1d6) &
+    I9, C, ML12; nil}
+  Missed attack must roll for attacking self; caster of spells must SvS or
+  spell affects caster.
+\end{monster}
+
+\begin{monster}{Gryphon}{
+    120 \flying 360 (3\,500\,cn, $\times 5$) &
+    7(L), F4, XP450 &
+    AC5, T13; claw ($2 \times \d{1d4}$), bite (2d8) &
+    M, R(M); 1~(2d8) &
+    I2, N, ML8; E}
+  Within $120'$ of a horse, make ML check or attack it.
+\end{monster}
+
+\begin{monster}[2]{Hag}{
+    \h Black &
+    150 \swimming 50 &
+    11$^5$*--20$^6$*(M), C$L$ &
+    AC4, T10--5; claw ($2 \times (\d{2d4}$, poison$)$) &
+    M, VR(W); 1~(1) &
+    I12, C, ML10; C \\
+    \h Sea\textdagger &
+    120 \swimming 150 &
+    8***(M), F8, XP2300 &
+    AC4, T12; dagger (1d6) \emph{or} touch (1ED:Wt, disease) &
+    M, VR(W); 1~(1) &
+    I12, C, ML10; C}
+  Control undead as if $\textrm{HD} = 2L$. \\
+  Black hags cast spells as C$L$. \\
+  Sea hag: if seen or within $10'$, SvS at $-6$ or flee for $\d{1d20} + 5$
+  rounds.
+\end{monster}
+
+\begin{monster}{Halfling}{
+    90 &
+    $1 - 1$(S), H1, XP5 &
+    AC7, T19; weapon &
+    H, C(H,O); 3d6~(5d8) &
+    I11, L, ML8/10; (P, S) B}
+  $+1$ to hit with missiles. \\
+  $+2$ AC bonus against size-L opponents. \\
+  90\% hiding in woods. \\
+  For each 10, leader (2HD). \\
+  Shire: sherriff (2--7HD), 5d4 guards (2HD).
+\end{monster}
+
+\begin{monster}{Harpy}{
+    60 \flying 150 &
+    3*(M), F6, XP50 &
+    AC7, T17; claw ($2 \times \d{1d4}$) \emph{or} weapon &
+    M, R(H,M); 1d6~(2d4) &
+    I7, C, ML7; C}
+  Singing: hearers SvS or are \emph{charmed}.
+\end{monster}
+
+\begin{monster}[3]{Haunt**}{
+    \h Banshee &
+    \flying 60 &
+    13$^4$*(M), ---, XP5150 &
+    AC$^-3$, T9; touch (age $\d{1d4} \times 10$ years) &
+    U, VR(R); 1~(1) &
+    I12, C, ML9; E, N, O \\
+    \h Ghost &
+    \flying 90 &
+    14$^4$*(M), ---, XP5500 &
+    AC$^-2$, T8; touch (age $\d{1d4} \times 10$ years) &
+    U, VR(R); 1~(1) &
+    I14, any, ML10; E, N, O \\
+    \h Poltergeist &
+    \flying 60 &
+    12$^4$*(M), ---, XP4750 &
+    AC$^-3$, T9; missiles ($2 \times {}$1--3d6, age 10 years) &
+    U, VR(R); 1d4~(0) &
+    I13, C, ML11; E, N, O}
+  Immune to all spells except those affecting evil. \\
+  Avoid sunlight and magical light. \\
+  Ectoplasmic net: completed after 3 rounds, $10'$ radius around haunt; those
+  within must SvS or be pulled into the Ethereal plane, where they are
+  helpless. \\
+  Gaze: range $60'$, usable with other attacks, SvS or be paralyzed for 2d4
+  rounds. \\
+  Turning: haunt SvS to avoid destruction (only Turned instead).
+    %% change from official rules, which are nonsensical
+  \begin{description}
+  \item[Banshee] Wail: range $60'$; SvDR or die if in range, otherwise check
+    morale at $-4$.
+  \item[Ghost] Once per turn: \emph{magic jar} (range $30'$).
+  \item[Poltergeist] Invisible.
+  \end{description}
+\end{monster}
+
+\begin{monster}{Headsman (and thug)}{
+    120 &
+    1**--12$^6$(M), T$L$, XP see table &
+    AC4 or better, T as thief; weapon &
+    H, R(settled); 1d6~(2d12) &
+    I12, N, ML7+; (U, V), F}
+  90\% undetectable in disguise at $L \ge 6$.
+  \emph{Thugs:} As thief of same level. \\
+  Preparations for surprise allows surprise 3 in 6 and assassination
+  $(10 + L - \max(L', 9))$ in 20.
+  \begin{tabular}[C]{\shade ccr|ccr|ccr} \hlx*{hv}
+    \th{HD} & \th{*} & \th{XP} &
+    \th{HD} & \th{*} & \th{XP} &
+    \th{HD} & \th{*} & \th{XP} \\ \hlx{vhv}
+    \01 & 2 &     16   & \05 & 2 &    425 & \09 & 4 & 3\,700 \\ \hlx{+}
+    \02 & 2 &     30   & \06 & 3 &    950 &  10 & 5 & 4\,750 \\ \hlx{+}
+    \03 & 2 &     65   & \07 & 3 & 1\,650 &  11 & 5 & 5\,100 \\ \hlx{+}
+    \04 & 2 &    175   & \08 & 4 & 2\,850 &  12 & 6 & 6\,500 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Helion*}{
+    90 \flying 240 &
+    9*(L), F9, XP1600 &
+    AC1, T11; grasp (2d8 per round) &
+    PM, VR(EF), 1d4~(2d20) &
+    I14, L, ML9; special}
+  Immune to poison, 1st--2nd level spells and attacks based on earth. \\
+  At will: \emph{detect invisible}. \\
+  Each 3 times per day: \emph{detect magic}, \emph{dispel magic}, \emph{wall
+    of fire}, \emph{earth to fire}. \\
+  Complete control over fire.
+\end{monster}
+
+\begin{monster}{Hellhound}{
+    120 ($L \times 250$\,cn, $\times 2$ if $L \ge 6$) &
+    3**--7**(M), F$L$, XP65/175/425/725/1250 &
+    AC4, T17--13; bite (1d6) or breath ($L$d6) &
+    M, R(M,V); 2d4~(2d4) &
+    I12, C, ML9; C}
+  Immune to normal fire. \\
+  Detect invisible (75\% chance, $60'$ range). \\
+  Breath: SvDB for half damage.
+\end{monster}
+
+\begin{monster}{Hippogriff}{
+    180 \flying 360 (3\,000\,cn) &
+    $3 + 1$(L), F2, XP50 &
+    AC5, T16; claw ($2 \times \d{1d6}$), bite (1d10) &
+    M, R(M); 0~(2d8) &
+    I3, N, ML8; nil}
+  Morale check when sighting pegasi, or attack.
+\end{monster}
+
+\begin{monster}{Hobgoblin}{
+    90 &
+    $1 + 1$(M), F1, XP15 &
+    AC6, T18; weapon &
+    H, C(H,M,W); 1d6~(4d6) &
+    I10, C, ML8/10; (Q) D}
+  Infravision $60'$ range. \\
+  King: 5HD, T15, 22\,hp, $\delta S = +2$, XP175, 1d4 bodyguards (4HD, T16,
+  3d6\,hp, XP75).
+\end{monster}
+
+\begin{monster}{Horde}{
+    150 &
+    3*--21*(S--L), fails saves, XP see table &
+    AC3; bite, see table &
+    PM, VR(EE); 2d4~($\d{1d\%} \times 10$) &
+    I13, L, ML12; special}
+  \emph{ESP} and \emph{telekinesis} (up to 2\,000\,cn) at will.
+  \begin{tabular}[C]{\shade cclr|cclr} \hlx*{hv}
+    \th{HD} & \th{T} & \th{Dmg} & \th{XP} &
+    \th{HD} & \th{T} & \th{Dmg} & \th{XP}
+    \\ \hlx{vhv}
+    \03* & 17 & 1d6  &     50 & 13* &\09 & 3d6  & 2\,300 \\ \hlx{+}
+    \04* & 16 & 1d6  &    125 & 14* &\08 & 3d6  & 2\,500 \\ \hlx{+}
+    \05* & 15 & 1d8  &    300 & 15* &\08 & 3d6  & 2\,700 \\ \hlx{+}
+    \06* & 14 & 1d8  &    500 & 16* &\07 & 3d6  & 2\,950 \\ \hlx{+}
+    \07* & 13 & 1d10 &    850 & 17* &\07 & 4d6  & 3\,150 \\ \hlx{+}
+    \08* & 12 & 1d10 & 1\,200 & 18* &\06 & 4d6  & 3\,475 \\ \hlx{+}
+    \09* & 11 & 2d6  & 1\,600 & 19* &\06 & 4d6  & 3\,800 \\ \hlx{+}
+     10* & 10 & 2d6  & 1\,750 & 20* &\05 & 4d6  & 4\,175 \\ \hlx{+}
+     11* & 10 & 2d8  & 1\,900 & 21* &\05 & 1d6  & 4\,500 \\ \hlx{+}
+     12* &\09 & 2d8  & 2\,125 &     &\0  &      &        \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}[4]{Horse}{
+    \h Riding &
+    240 (3\,000\,cn) &
+    2(L), F1, XP20 &
+    AC7, T18; hoof ($2 \times \d{1d4}$) &
+    A, C(O); 0~($\d{1d10} \times 10$) &
+    I2, N, ML7; nil \\
+    \h War &
+    120 (4\,000\,cn) &
+    3(L), F2, XP35 &
+    AC7, T17; hoof ($2 \times \d{1d6}$) &
+    A; 0 &
+    I2, N, ML9; nil \\
+    \h Draught &
+    90 (4\,500\,cn) &
+    2(L), F1, XP20 &
+    AC7, T17; bite (1d3) &
+    A; 0 &
+    I2, N, ML6; nil \\
+    \h Pony &
+    210 (2\,000\,cn) &
+    2(L), F1, XP20 &
+    AC7, T18; hoof ($2 \times \d{1d4}$) &
+    A, C(O); 0~($\d{1d10} \times 5$) &
+    I2, N, ML7; nil}
+\end{monster}
+
+\begin{monster}{Hsiao (Guardian owl)}{
+    90 \flying 210 ($L \times 250$\,cn) &
+    4**--15$^4$*(L), C$L$, XP see table &
+    AC5, T see table; claw ($2 \times \d{1d6}$), beak (1d4) &
+    M, R(W); 1d4~(1d20) &
+    I10, L, ML9; O}
+  Act as clerics, C$L$.
+  \begin{tabular}[C]{\shade cccr|cccr|cccr} \hlx*{hv}
+    \th{HD} & \th{*} & \th{T} & \th{XP} &
+    \th{HD} & \th{*} & \th{T} & \th{XP} &
+    \th{HD} & \th{*} & \th{T} & \th{XP} \\ \hlx{vhv}
+     \04 & 2 &  16 &    175 &
+     \08 & 3 &  12 & 2\,300 &
+      12 & 4 & \09 & 4\,750 \\ \hlx{+}
+     \05 & 2 &  15 &    425 &
+     \09 & 3 &  11 & 3\,000 &
+      13 & 4 & \09 & 5\,150 \\ \hlx{+}
+     \06 & 3 &  14 &    950 &
+      10 & 4 &  10 & 4\,000 &
+      14 & 4 & \08 & 5\,500 \\ \hlx{+}
+     \07 & 3 &  13 & 1\,650 &
+      11 & 4 &  10 & 4\,300 &
+      15 & 4 & \08 & 5\,870 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Hydra}{
+    120 (\swimming 90 \flying 180) &
+    5--12(L; 1 per head, 8\,hp each), F$L$, XP see table &
+    AC5, T see table; bite ($L \times \d{1d10}$) &
+    M, R(swamp,C,M); 1~(1) &
+    I2, N, ML11; B}
+  May regenerate 3\,hp per round except fire damage. \\
+  If flying, swoop with up to three heads.
+  \begin{tabular}[C]{\shade ccrr|ccrr} \hlx*{hv}
+    \multicolumn{2}{c}{} &
+    \multicolumn{2}{c|}{\th{XP}} &
+    \multicolumn{2}{c}{} &
+    \multicolumn{2}{c}{\th{XP}} \\
+    \th{HD} & \th{T} & \th{Normal} & \th{Regen} &
+    \th{HD} & \th{T} & \th{Normal} & \th{Regen} \\ \hlx{vhv}
+      \05 &  15 &    175 &    300 & \09 &  11 &    900 & 1\,600 \\ \hlx{+}
+      \06 &  14 &    275 &    500 &  10 &  10 & 1\,000 & 1\,750 \\ \hlx{+}
+      \07 &  13 &    450 &    850 &  11 &  10 & 1\,100 & 1\,900 \\ \hlx{+}
+      \08 &  12 &    650 & 1\,200 &  12 & \09 & 1\,250 & 2\,125 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Hydrax*}{
+    60 \swimming 180 &
+    5**--12**(L), F$2L$; XP see table &
+    AC2, T see table; claw ($2 \times \d{1d10}$) &
+    PM, VR(EW); 1~(1) &
+    I9, L, ML9; special}
+  Immune to 1st, 2nd level spells and fire. \\
+  At will: \emph{detect invisible}. \\
+  Three times per day (as M9): \emph{detect magic}, \emph{web}, \emph{dispel
+    magic}, \emph{ice storm/wall}, \emph{water to ice}.
+  \begin{tabular}[C]{\shade ccr|ccr} \hlx*{hv}
+    \th{HD} & \th{T} & \th{XP} &
+    \th{HD} & \th{T} & \th{XP} \\ \hlx{vhv}
+      \05 &  15 &    425 & \09 &  11 & 2\,300 \\ \hlx{+}
+      \06 &  14 &    725 &  10 &  10 & 2\,500 \\ \hlx{+}
+      \07 &  13 & 1\,250 &  11 &  10 & 2\,700 \\ \hlx{+}
+      \08 &  12 & 1\,750 &  12 & \09 & 3\,000 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Insect swarm}{
+    30 \flying 60 &
+    2*--4*(S), NM, XP25/50/125 &
+    AC7; area effect -- if armoured (or $\textrm{AC} \le 5$), 2\,hp per
+    round, otherwise 4\,hp per round &
+    L, R($\lnot$A); 1~(1d3) swarms &
+    I0, N, ML11; nil}
+  Swatting with weapon or torch does damage; only take 1\,hp if swatting. \\
+  Pursues attackers; can escape by vanishing from sight or diving under
+  water.
+\end{monster}
+
+\begin{monster}{Invisible stalker (Sshai)}{
+    120 (360 on home plane) &
+    8*(M), F8, XP1200 &
+    AC7(3), T12; blow (4d4) &
+    PM, R(EA); 1~(1) &
+    I11, N, ML12; nil}
+  Naturally invisible; surprises 5 in 6. \\
+  Excellent tracker.
+\end{monster}
+
+\begin{monster}{Kobold}{
+    90 &
+    $\tfrac{1}{2}$(S), NM, XP5 &
+    AC7, T19; weapon ($\delta S = -1$) &
+    H, C(H,M,W); 4d4~($\d{1d6} \times 10$) &
+    I9, C, ML6/8; (P) J}
+  Infravision $90'$ range. \\
+  Chieftain: 2HD, 9\,hp, T18, XP20, $\delta S = 0$, 1d6 bodyguards ($1 +
+  1$HD, 6\,hp, T18, XP15, $\delta S = 0$).
+\end{monster}
+
+\begin{monster}{Kryst*}{
+    240 &
+    9*(M), E9, XP1600 &
+    AC2, T11; spike ($3 \times 1d12$) &
+    PM, VR(EE); 1d6~($\d{1d\%} \times 10$) &
+    I10, L, ML9; special}
+  Immune to poison, 1st and 2nd level spells, attacks based on air. \\
+  At will: \emph{detect invisible}. \\
+  Three times per day (as M9): \emph{detect magic}, \emph{haste},
+  \emph{dispel magic}, \emph{air to earth}. \\
+  Communicate with telepathy ($120'$r) or written messages.
+\end{monster}
+
+\begin{monster}{Lava ooze}{
+    90 &
+    9(L), F9, XP900 &
+    AC5, T11; pseudopods ($3 \times (\d{4d6} + \d{3d6}$ for 1d4 rounds$)$) &
+    L, VR(volcanic); 1d3~(2d4) &
+    I0, C, ML12; nil}
+  Sense vibrations within $60'$. \\
+  Attacks at $15'$ range.
+\end{monster}
+
+\begin{monster}{Leech, giant}{
+    90 &
+    6(L), F3, XP275 &
+    AC7, T14; bite (1d6, automatic damage) &
+    L, C(swamp); 0~(1d4) &
+    I0, N, ML10; nil}
+\end{monster}
+
+\begin{monster}{Lich*}{
+  90 &
+  As cleric 21$^4$*--36$^4$* or magic-user 21$^5$*--36$^5$* &
+  AC0, as class and level; touch (1d10, paralysis for 1d\% days) &
+  U, VR(R); 1~(1) &
+  I18+, C, ML10; H (special)}
+\end{monster}
+
+\begin{monster}[4]{Lizard, giant}{
+    \h Gecko &
+    120 (1\,500\,cn, $\times 3$) &
+    $3 + 1$(M), F2, XP50 &
+    AC5, T16; bite (1d8) &
+    GA, C(D,V,W); 1d6~(1d10) &
+    I2, N, ML7; U \\
+    \h Draco &
+    120 \flying 150 (2\,000\,cn, $\times 3$) &
+    $4 + 2$(M), F3, XP125 &
+    AC5, T15; bite (1d10) &
+    GA, C(D,V,W); 1d4~(1d8) &
+    I2, N, ML7; U \\
+    \h Horned chameleon &
+    120 (2\,500\,cn, $\times 3$) &
+    5*(L), F3, XP300 &
+    AC5, T15; bite (2d4), horn (1d6) &
+    GA, C(D,V,W); 1d3~(1d6) &
+    I2, N, ML7; U \\
+    \h Tuatara &
+    90 (3\,000\,cn, $\times 3$) &
+    6(M), F2, XP275 &
+    AC5, T14; claw ($2 \times \d{1d4}$), bite (2d6) &
+    GA, C(D,V,W); 1d2~(1d4) &
+    I2, N, ML6; V}
+  Draco can glide, not truly fly. \\
+  Horned chameleon's sticky tongue has $5'$ range; if it hits, victim is
+  bitten.  Chameleon may use tail to knock attackers down (if hit, cannot
+  attack). \\
+  Tuatara has $90'$ infravision.
+\end{monster}
+
+\begin{monster}{Lizard man}{
+    60 \swimming 120 &
+    $2 + 1$(M), F2, XP25 &
+    AC5, T17; weapon ($\delta S = +1$) &
+    H, C(R,swamp); 2d4~(6d6) &
+    I6, N, ML12; D}
+\end{monster}
+
+\begin{monster}{Locust, giant}{
+    60 \flying 180 &
+    2**(S), F2, XP30 &
+    AC4, T18; bite (1d2) \emph{or} bump (1d4) \emph{or} spit (hits as if AC9,
+      SvPn or helpless for 1 turn due to smell) &
+    L, C(V); 2d10~(0) &
+    I0, N, ML5; nil}
+  Usually jump away ($60'$) from danger but may (3 in 6) be confused and jump
+  towards party.  \\
+  When frightened, locust shrieks: 2 in 10 chance per round of attracting
+  wandering monster.
+\end{monster}
+
+\begin{monster}[3]{Lycanthrope\textdagger}{
+    \h Wererat &
+    120 &
+    3*(M), F3, XP50 &
+    AC7/9, T17; bite (1d4) \emph{or} weapon &
+    M, C(any); 1d8~(2d8) &
+    I10, C, ML8; C \\
+    \h Werewolf &
+    180 &
+    4*(M), F4, XP125 &
+    AC5/9, T16; bite (2d4) &
+    M, C(any); 1d6~(2d6) &
+    I10, C, ML8; C \\
+    \h Wereboar &
+    150 &
+    $4 + 1$*(M), F4, XP200 &
+    AC4/9, T15; tusk (2d6) &
+    M, C(any); 1d4~(2d4) &
+    I10, N, ML9; C
+    \monsterbreak{3}
+    \h Weretiger &
+    150 \swimming 90&
+    5*(L), F5, XP300 &
+    AC3/9, T15; claw ($2 \times \d{1d6}$), bite (2d6) &
+    M, C(any); 1d4~(1d4) &
+    I10, N, ML9; C \\
+    \h Werebear &
+    120 &
+    6*(L), F6, XP500 &
+    AC2/9, T14; claw ($2 \times \d{2d4}$), bite (2d8) &
+    M, C(any); 1d4~(1d4) &
+    I10, N, ML10; C \\
+    \h Werebat &
+    60 \flying 180 &
+    $3 + 3$*(M), F3, XP75 &
+    AC4/9, T16; bite (1d4) &
+    M, R(any); 2d6~(1d8) &
+    I10, C, ML7; C
+    \monsterbreak{4}
+    \h Werefox &
+    180 \swimming 90 &
+    $3 + 2$*(M), F3, XP75 &
+    AC6/9, T16; bite (1d6) \emph{or} weapon &
+    M, R(any); 1d6~(2d6) &
+    I11, N, ML8; C \\
+    \h Wereshark &
+    \swimming 180 &
+    4*(M), F4, XP125 &
+    AC4/9, T16; bite (2d6) &
+    M, R(any); 0~(2d6) &
+    I9, N, ML7; C \\
+    \h Wereseal &
+    60 \swimming 180 &
+    $5 + 2$*(M), F5, XP400 &
+    AC5/9, T14; bite (2d6) &
+    M, R(any); 0~(2d10) &
+    I10, C, ML9; C \\
+    \h Devil swine &
+    180 &
+    9*(M), F9, XP1600 &
+    AC3/9, T11; gore (2d6) \emph{or} weapon &
+    M, R(any); 1d3~(1d4) &
+    I11, C, ML10; C}
+  Sensed by some animals (including horses). \\
+  Summon 1d2 animals of weretype; arrive in 1d4 rounds. \\
+  If hit by wolfsbane, SvPn or flee in fear. \\
+  \emph{Lycanthropy:} If more than half hp lost fighting a lycanthrope,
+  become a lycanthrope of the same kind in 2d12 days, showing signs in half
+  the time.  Curable by C11.
+  \begin{description}
+  \item[Wererat] Set ambushes: surprise 4 in 6.
+  \item[Werewolf] Group of 5 or more has leader (5HD, 30\,hp, T15, XP300,
+    $\d{2d4} + 2$ damage, ML12).
+  \item[Wereboar] May be berserk in battle: $+2$ to hit and damage.
+  \item[Weretiger] Surprise 4 in 6; summon any kind of great cat.
+  \item[Werebear] If both paws hit, hug for 2d8 damage.
+  \item[Werebat] Summon 1d4 other werebats; 1 in 6 per bite of disease.
+  \item[Werefox] 3 times per day: \emph{charm} for 1 day. \\
+    May often be magic-user. \\
+    Moves easily through dense undergrowth.
+  \item[Devil swine] Must keep one shape in daylight. \\
+    3 times per day: \emph{charm person} $+2$; $\d{1d4} - 1$ humans under
+    control.
+  \end{description}
+\end{monster}
+
+\begin{monster}{Malfera*}{
+    60 &
+    9**(L), F13, XP2300 &
+    AC3, T11; pincers ($2 \times \d{1d10}$), bite (1d6, poison $-3$) &
+    PM, VR(any); 1~(1d2) &
+    I10, C, ML11; E}
+  If both pincers hit, victim dragged to chest where tentacles do 2d6 acid
+  damage per round. \\
+  Always \emph{detect invisible} and \emph{knock}.
+\end{monster}
+
+\begin{monster}{Manscorpion}{
+    240 &
+    8**(L) or more, F$L$, XP see below &
+    AC1, T see below; pole arm (3d6), tail (1d10, poison) &
+    M, R(D,M,V); 1d8~(2d10) &
+    I8, C, ML10; (V) J, K, $\textrm{M} \times 2$}
+  If SvPn successful, paralysis for $\d{1d8} - 1$ rounds. \\
+  1 in 20 are clerics.
+  \begin{tabular}[C]{\shade cccr|cccr} \hlx*{hv}
+    \th{HD} & \th{*} & \th{T} & \th{XP} &
+    \th{HD} & \th{*} & \th{T} & \th{XP} \\ \hlx{vhv}
+    \08 & 2 &  12 & 1\,750 &  11 & 4 &  10 & 4\,300 \\ \hlx{+}
+    \08 & 3 &  12 & 2\,300 &  12 & 5 & \09 & 5\,625 \\ \hlx{+}
+    \09 & 3 &  11 & 3\,000 &  13 & 5 & \09 & 6\,500 \\ \hlx{+}
+     10 & 4 &  10 & 3\,700 &     &   &     &        \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}[2]{Manta ray}{
+    \h Normal &
+    120 &
+    4*(L), F2, XP125 &
+    AC6, T16; tail (1d8, paralysis) &
+    A, C(C); 0~(1d3) &
+    I2, N, ML7; nil \\
+    \h Giant &
+    180 &
+    10*(L), F5, XP1750 &
+    AC6, T10; buffet (3d4), tail (2d10, paralysis) &
+    GA, R(C); 0~(1) &
+    I2, N, ML7; nil}
+  SvPn to avoid paralysis.
+\end{monster}
+
+\begin{monster}{Manticore}{
+    120 \flying 180 (3\,000\,cn, $\times 2$) &
+    $6 + 1$*(L), F6, XP650 &
+    AC4, T13; claw ($2 \times \d{1d4}$), bite (2d4) \emph{or}
+      spike ($6 \times \d{1d6}$, 50/100/180, 24 total) &
+    M, R(M); 1d2~(1d4) &
+    I3, C, ML9; D}
+  Regrows two spikes per day.
+\end{monster}
+
+\begin{monster}{Medusa}{
+    90 &
+    4**(M), $\textrm{F4} + 2$, XP175 &
+    AC8, T16; snakebite (1d6, poison) &
+    M, R(R,V); 1d3~(1d4) &
+    I9, C, ML8; (V) F}
+  Gaze petrifies (SvTtS); mirror is safe. \\
+  If attempting not to look, $-4$ to hit, and medusa has $+2$ to it.
+\end{monster}
+
+\begin{monster}{Mek}{
+    90 &
+    11**--16**(L), F36, XP see table &
+    AC$^-$4, T see below; limb ($2 \times (\d{1d6} \times 10)$),
+      breath ($10'$ radius, SvDB or paralysed) &
+    C, VR(any); 1~(1) &
+    I?, L/C, nil}
+  Cold-based attacks slow to half-speed.  Immune to all other spells, except
+  \emph{disintegrate}.
+  \begin{tabular}[C]{\shade ccr|ccr|ccr} \hlx*{hv}
+    \th{HD} & \th{T} & \th{XP} &
+    \th{HD} & \th{T} & \th{XP} &
+    \th{HD} & \th{T} & \th{XP} \\ \hlx{vhv}
+    11 & 10 & 2\,700 & 13 & \09 & 3\,250 & 15 & \08 & 3\,750 \\ \hlx{+}
+    12 &\09 & 3\,000 & 14 & \08 & 3\,500 & 16 & \07 & 4\,050 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}{Merman}{
+    \swimming 120 &
+    1(M), F1, XP10 &
+    AC6, T19; weapon &
+    H, C(C); 1d20~($\d{1d3} \times 100$) &
+    I12, N, ML8; A}
+  For each 10, leader (2HD, F2, T18, XP20); for each 50, leader (4HD, F4,
+  T16, XP75).
+\end{monster}
+
+\begin{monster}{Metamorph}{
+    120 &
+    $3 + 1$**(M), M11, XP100 &
+    AC5, T16; weapon &
+    H, R(O,M,W); 1d6~(1d20) &
+    I14, any, ML8/10; variable}
+  Shapeshift into each kind of form once per day: worm, leech, spider,
+  centipede, insect, crustacean, mammal, bird, reptile, amphibian, fish; gain
+  all special attacks. \\
+  For each 10, leader ($5 + 2$HD, F5, T14, XP575).
+\end{monster}
+
+\begin{monster}{Minotaur}{
+    120 &
+    6(L), F6, XP275 &
+    AC6, T14; gore (1d6), bite (1d6) \emph{or} weapon ($\delta S = +2$) &
+    M, C(R,V); 1d6~(1d8) &
+    I5, C, ML12; C}
+\end{monster}
+
+\begin{monster}{Mujina}{
+    120 &
+    8*(M), F8, XP1200 &
+    AC4, T12; weapon ($2 \times$, $\delta S = +4$) &
+    M, VR(any); 1d4~(1d4) &
+    I10, C, ML9; E}
+  Can wield two-handed weapons one-handed. \\
+  Proficient in use of one weapon in each hand. \\
+  Blank face: flee in fear for 1d3 rounds; SvW allowed if $L' > 5$.
+\end{monster}
+
+\begin{monster}{Mule}{
+    120 (3\,000\,cn) &
+    2(L), NM, XP20 &
+    AC7, T18, kick (1d4) \emph{or} bite (1d3) &
+    A, C(any); 1d2~(2d12) &
+    I2, N, ML8; nil}
+\end{monster}
+
+\begin{monster}{Mummy*}{
+    60 &
+    $5 + 1$**(M), F5, XP575 &
+    AC3, T14; touch (1d12, disease) &
+    U, R(R); 1d4~(1d12) &
+    I6, C, ML12; D}
+  Half damage from spells, fire, magical weapons; immune to everything
+  else. \\
+  On sight: SvPs or paralysed with fear until mummy leaves. \\
+  Disease (no save): prevents magical healing, slows normal healing to
+  $\tfrac{1}{10}$, until magically cured.
+\end{monster}
+
+\begin{monster}[2]{Neanderthal (caveman)}{
+    \h Normal &
+    120 &
+    2(M), F2, XP20 &
+    AC8, T18; weapon ($\delta S = +1$) &
+    H, R(L,H,M); 1d10~($\d{1d4} \times 10$) &
+    I7, L, ML7; C \\
+    \h Leader &
+    120 &
+    6(M), F6, XP20 &
+    AC8, T14; weapon ($\delta S = +3$) &
+    H, R(L,H,M); 0--1~(2) &
+    I8, L, ML9; C}
+\end{monster}
+
+\begin{monster}{Nekrozon (catoblepas)}{
+    60 &
+    7**(L), F4, XP1250 &
+    AC7, T13; tail (1d6, 3 in 6 SvPs or knocked over and stunned), gaze (1 in
+    4, $60'$ range death ray) &
+    M, VR(S); 0~(1d3) &
+    I2, N, ML8; C}
+\end{monster}
+
+\begin{monster}[3]{Nightshade***}{
+    \h Nightcrawler &
+    120 &
+    25$^5$*--30$^5$*(L), F$L$, XP see table &
+    AC$^-$4, T see table; bite (2d10, poison $+2$),
+      stinger (2d4, poison, 1 in 8 instant death) &
+    U, VR(any); 1~(1) &
+    I19, C, ML12; any \\
+    \h Nightwalker &
+    150 \flying 60 &
+    21$^5$*--26$^5$*(L), F$L$, XP see table &
+    AC$^-$6, T see table; swing ($2 \times (\d{3d10}$, poison $+2)$) &
+    U, VR(any); 1~(1) &
+    I19, C, ML12; any \\
+    \h Nightwing &
+    30 \flying 240 &
+    17$^5$*--20$^5$*(L), F$L$, XP see table &
+    AC$^-$8, T see table; bite ($\d{1d6} + 6$, poison $+2$) &
+    U, VR(any); 1~(1) &
+    I19, C, ML12; any}
+  Immune to: spells of levels 1--5, illusions, wands, \emph{charm},
+  \emph{hold}, cold, turn-to-stone and any nonmagical effect; $\tfrac{1}{2}$
+  damage from dragon breath. \\
+  At will, as M21/C21: \emph{charm person}, \emph{invisibility},
+  \emph{haste}, \emph{confusion}, \emph{cloudkill}, \emph{darkness},
+  \emph{hold person}, \emph{cause disease}, \emph{dispel magic}, \emph{finger
+    of death}, become Ethereal. \\
+  Always, \emph{detect magic}, \emph{read languages}, \emph{read magic}. \\
+  Chills air within $120'$; cannot surprise if encountered before, spoils
+  consumable items (food, water, holy water, magic potions). \\
+  May SvS against Turning, and again against `D' result. \\
+  $-4$ to hit in daylight. \\
+  Summon other undead (once every four hours, 1d6: 1--3 shade, 4--5 chaotic
+  ghost, 6 hand druj).
+  \begin{description}
+  \item[Nightcrawler] Swallows on 19 or 20; 1ED per round without
+    \emph{protection from evil}. \\
+    Shrink opponent within $60'$ (SvS to avoid) to $1'$ tall; nightcrawler
+    then $+4$ to attack.
+  \item[Nightwalker] Each hit $5 - \delta G$ in 10 crushing shield or
+    armour. \\
+    Gaze ($60'$ range): SvS or cursed $-4$ on hit rolls and saving throws;
+    removable by \emph{dispel evil} or \emph{remove curse} by C25.
+  \item[Nightwing] Swoop surprises 9 in 10.  \\
+    Hit causes \emph{polymorph other} into giant bat (SvS avoids) and
+    \emph{charm}. \\
+    Attack weapons or other items, $+4$ to hit, drains a `plus' from item
+    until \emph{dispel evil} or \emph{remove curse} by C25.
+  \end{description}
+\end{monster}
+
+\begin{monster}{Nixie}{
+    120 &
+    1*(S), E1, XP13 &
+    AC7, T19; dagger or small trident (1d4) &
+    H, R(river); 0~(2d20) &
+    I13, N, ML6; B}
+  Ten together can \emph{charm}: SvS or enslaved for a year. \\
+  Bestows \emph{water breathing} daily on slave. \\
+  Summon giant bass for aid.
+\end{monster}
+
+\begin{monster}{Nuckalavee}{
+    120 \swimming 360 (3\,000\,cn) &
+    11***(L), F11, XP3500 &
+    AC4, T10; claw ($2 \times (\d{3d8}$, SvDR or die$)$) &
+    M, R(lake, C, R); 0~(1) &
+    I9, C, ML10; nil}
+  Presence kills insects and other small creatures with 2\,hp or less within
+  $120'$. \\
+  Breath: cold, cone $60' \times 10'$, as white dragon breath, every three
+  rounds.
+\end{monster}
+
+\begin{monster}{Ochre jelly}{
+    30 &
+    5*(L), F3, XP300 &
+    AC8, T15; touch (2d6) &
+    L, C(R,V); 1~(0) &
+    I0, N, ML12; nil}
+  Harmed only by fire or cold. \\
+  Destroy wood, leather, cloth in 1 round; cannot dissolve metal or stone. \\
+  Attack with weapons or lightning split into $\d{1d4} + 1$ small jellies
+  (2HD, T18, D\,1d6, XP25).
+\end{monster}
+
+\begin{monster}{Ogre}{
+    90 &
+    $4 + 1$(L), F4, XP125 &
+    AC5, T16; weapon ($\delta S = +2$) &
+    H, C(V,wilderness); 1d6~(2d6) &
+    I6, C, ML10; ($\textrm{S} \times 10$) $\textrm{S} \times 100$, C}
+\end{monster}
+
+\begin{monster}{Orc}{
+    120 &
+    1(M), F1, XP10 &
+    AC6, T19; weapon &
+    H, C(wilderness); 2d4 ($\d{1d6} \times 10$) &
+    I7, C, ML6/8; (P) D}
+  In daylight $-1$ to hit. \\
+  Leader of band has 8\,hp and $\delta S = +1$. \\
+  Chieftain is 4HD, 15\,hp, T16, $\delta S = +2$. \\
+  For each 20 orcs in lair, 1 in 6 chance of ogre, 1 in 10 chance of troll.
+\end{monster}
+
+\begin{monster}{Owl bear}{
+    120 &
+    5(L), F3, Xp175 &
+    AC5, T15; claw ($2 \times \d{1d8}$), bite (1d8) &
+    M, C(V,W); 1d4~(1d4) &
+    I2, N, ML9; C}
+  If both paws hit, hug for 2d8 damage.
+\end{monster}
+
+\begin{monster}{Pegasus}{
+    240 \flying 480 (3\,000\,cn) &
+    $2 + 2$(L), F2, XP25 &
+    AC6, T17; hoof ($2 \times \d{1d6}$) &
+    M, R(M,O); 0~(1d12) &
+    I4, L, ML8; nil}
+\end{monster}
+
+\begin{monster}[3]{Phantom*}{
+    \h Apparition &
+    180 &
+    10***(M), M10, XP3250 &
+    AC0, T10; claw ($2 \times (\d{1d6} + 2)$) &
+    U, R(R); 1~(1) &
+    I11, C, ML10; (L) N, O \\
+    \h Shade &
+    120 &
+    11***(M), T11, XP3500 &
+    AC0, T10; dagger (2d4) &
+    U, R(R); 1~(0) &
+    I10, C, ML9; (L, N, V) \\
+    \h Vision &
+    0 (individuals move at 120)&
+    12***(M), C12, XP3875 &
+    AC0, T9; sword (2--$8 \times \d{1d8}$) &
+    U, R(R); 1~(1) &
+    I9, C, ML12; L, N, O}
+  Initially Ethereal; can be Turned but not otherwise harmed. \\
+  Fear on sight (within $120'$): flee, $L' > 3$ may SvS. \\
+  Resistant to Turn (but not `D'): SvS to reflect Turning back to cleric (SvS
+  or paralysed for 2d6 rounds).
+  \begin{description}
+  \item[Apparition] Initial mist, cylinder $10' \times 40'\phi$: those within
+    must SvS each round or be entranced; lasts for 12 rounds.  \\
+    Entranced victims are $+4$ to hit. \\
+    Characters killed by apparition become one in one week; to avoid,
+    \emph{dispel evil} and then \emph{raise dead}.
+  \item[Shade] Surprise 9 in 10, moving through wall or door. \\
+    Choose initial target, threaten with dagger: SvDR or die.
+  \item[Vision] Fixed area (at most $500$\,sq\,ft); 2d4 humans. \\
+    Initial cry/howl for 1d3 rounds: those within $90'$ SvS each round or
+    despair (weep for $\d{1d10} + 10$ rounds). \\
+    If Turned, disappears for 1d6 hours.
+  \end{description}
+\end{monster}
+
+\begin{monster}[2]{Phoenix***}{
+    \h Normal &
+    90 \flying 360 &
+    9$^5$*(M), F10, XP4400 &
+    AC2, T11; claw ($2 \times \d{1d6}$), bite (2d6) \newline
+    Fire damage $10'$r, 3d6; explosion $\d{1d10} \times 5$ &
+    PM, VR(EF); 0~(1d2) &
+    I6, N, ML9; V \\
+    \h Greater &
+    150 \flying 450 &
+    18$^5$*(L), F20, XP8875 &
+    AC$^-$2, T6; claw ($2 \times \d{2d6}$), bite (4d6) \newline
+    Fire damage $20'$r, 6d6; explosion $\d{1d10} \times 10$ &
+    PM, VR(EF); 0~(1d2) &
+    I6, N, ML9; $\textrm{V} \times 2$}
+  Immune to all fire, \emph{charm}, \emph{hold}. \\
+  All opponents within range take fire damage every round, regardless of
+  protection. \\
+  When killed, $20'$r explosion causing damage (SvDR for half damage);
+  phoenix rises from ashes in one round. \\
+  Phoenix feathers can be used to make \emph{potion of phoenix fire
+    resistance} -- complete immunity to normal and magical fire, as for
+  standard potion against phoenix fire.  Requires 3 normal feathers
+  (10\,000\,gp each) or one greater feather (25\,000\,gp); one feather
+  recoverable per phoenix.
+\end{monster}
+
+\begin{monster}{Pixie}{
+    90 \flying 180 &
+    1***(S), E1, XP19 &
+    AC3, T19; dagger (1d4) &
+    H, R(W); 2d4~($\d{1d4} \times 10$) &
+    I14, N, ML7; R, S}
+  Naturally invisible: cannot be attacked in first round; $-4$ to hit
+  thereafter. \\
+  Must rest one turn after flying for three.
+\end{monster}
+
+\begin{monster}[2]{Plasm*}{
+    \h Normal &
+    120 &
+    6*(M), F6, XP500 &
+    AC0, T14; claw ($2 \times \d{2d6}$) &
+    PM, R(ethereal); 0~(1d10) &
+    I8, C, ML9; special \\
+    \h Giant &
+    120 &
+    12*(L), F12, XP2125 &
+    AC$^-$4, T9; claw ($2 \times \d{3d6}$) &
+    PM, R(ethereal); 0~(1d4) &
+    I8, C, ML11; special}
+  Immune to poison, normal weapons; magical weapons cause only $\delta G$
+  damage. \\
+  Loses 1HD per round except in Ethereal plane. \\
+  Feeds on its element, regenerates 1\,hp per round when feeding. \\
+  Magical attack based on element causes HD gain. \\
+  Spend 10\,hp on elemental `acid' cloud, $30'\phi$ sphere, 20\,hp damage
+  (SvDB for 10\,hp), lasts 1d6 rounds.
+\end{monster}
+
+\begin{monster}{Plesiosaurus}{
+    \swimming 150 &
+    16(L), F8, XP1850 &
+    AC7, T7; bite (4d6) &
+    A, R(C); 0~(1d3) &
+    I2, N, ML9; nil}
+\end{monster}
+
+\begin{monster}[3]{Pterosaur}{
+    \h Small (pterodactyl) &
+    30 \flying 180 &
+    1(S), F1, XP10 &
+    AC7, T19; beak (1d3) &
+    A, VR(L); 2d4~(2d4) &
+    I2, N, ML7; nil \\
+    \h Medium (pteranodon) &
+    30 \flying 240 (2\,000\,cn, $\times 1$) &
+    5(M), F3, XP175 &
+    AC6, T15; beak (1d12) &
+    A, VR(L); 0~(1d4) &
+    I2, N, ML8; nil \\
+    \h Large &
+    30 \flying 180 (4\,000\,cn, $\times 1$) &
+    10(L), F5, XP1000 &
+    AC5, T10; beak (3d6) &
+    A, VR(L); 0~(1d2) &
+    I2, N, ML9; nil}
+  Large pterosaurs can swoop for double damage.
+\end{monster}
+
+\begin{monster}{Purple worm}{
+    60 &
+    15*(L), F8, XP2700 &
+    AC6, T8; bite (2d8), sting (1d8, poison) &
+    L, VR(R,swamp,DW,V); 1d2~(1d4) &
+    I0, N, ML10; D}
+  Swallow on hit roll of 20, or 4 greater than needed; swallowed victim takes
+  3d6 damage per round.
+\end{monster}
+
+\begin{monster}[2]{Rat}{
+    \h Normal &
+    60 \swimming 30 &
+    1\,hp(S), NM, XP2 &
+    AC9, T19; bite (1d6 per pack, disease) &
+    A, C(any); $\d{1d10} \times 2$~($\d{1d10} \times 5$) &
+    I2, N, ML5; L \\
+    \h Giant &
+    120 \swimming 60 &
+    $\tfrac{1}{2}$(S), NM, XP5 &
+    AC7, T19; bite (1d6, disease) &
+    GA, C(R,V); 3d6~(3d10) &
+    I2, N, ML8; L}
+  Disease 1 in 20 (XP6); (1 in 4) die in 1d6 days or (3 in 4) sick in bed for
+  1 month (SvPn to avoid). \\
+  Normal rats attack in `packs' of 5--10 rats each.
+\end{monster}
+
+\begin{monster}{Revener}{
+    180 &
+    10*(M), F10, XP1750 &
+    AC$^-$4, T10; touch (loss of sense) &
+    M, R(R); 1d3~(0) &
+    I10, C, ML11; nil}
+  If SvS successful, sense loss is for 2d6 rounds; otherwise permanent until
+  \emph{restored}. \\
+  \emph{Taste} -- cannot identify tastes. \\
+  \emph{Smell} -- unaffected by odours; $-1$ on surprise rolls. \\
+  \emph{Hearing} -- cannot hear or speak clearly (spells fail 1 in 6). \\
+  \emph{Touch} -- $-4$ on dexterity; elves lose secret-door detection. \\
+  \emph{Sight} -- blinded; $-4$ on hit rolls. \\
+  \emph{Sixth} -- cannot use \emph{ESP} etc.
+\end{monster}
+
+\begin{monster}{Rhagodessa}{
+    150 &
+    $4 + 2$(L), F2, XP125 &
+    AC5, T15; leg (suckers), bite (2d8) &
+    L, R(H,M,R,V); 1d4~(1d6) &
+    I0, N, ML9; U}
+  Victim hit by leg is stuck, and bitten next round.
+\end{monster}
+
+\begin{monster}{Robber fly}{
+    90 \flying 180 &
+    2(S), F1, XP20 &
+    AC6, T18; bite (1d8) &
+    L, R(O,R,W); 1d6~(2d6) &
+    I0, N, ML8; U}
+\end{monster}
+
+\begin{monster}[3]{Roc}{
+    \h Small &
+    60 \flying 480 (6\,000\,cn, $\times 3$) &
+    6(L), F3, XP275 &
+    AC4, T14; claw ($2 \times (\d{1d4} + 1)$), bite (2d6) &
+    M, R(M); 0~(1d12) &
+    I2,  L, ML8; I \\
+    \h Large &
+    60 \flying 480 (12\,000\,cn, $\times 5$) &
+    12(L), F6, XP1250 &
+    AC2, T9; claw ($2 \times \d{1d8}$), bite (2d10) &
+    M, R(M); 0~(1d8) &
+    I2,  L, ML9; I \\
+    \h Giant &
+    60 \flying 480 (36\,000\,cn, $\times 10$) &
+    36(L), F18, XP6250 &
+    AC0, T$^-$3; claw ($2 \times \d{3d6}$), bite (8d6) &
+    M, R(M); 0~(1) &
+    I2,  L, ML10; I}
+  Swoop attack. \\
+  Nest may contain 1d6 eggs or young.  ML12 in lair.
+\end{monster}
+
+\begin{monster}{Rust monster}{
+    120 &
+    5*(L), F3, XP300 &
+    AC2, T15; touch (rust) &
+    M, R(R,V); 1d4~(1d4) &
+    I2, N, ML7; nil}
+  Magical items resist $\delta G$ in 10; lose one `plus' on failure.
+\end{monster}
+
+\begin{monster}[2]{Salamander*}{
+    \h Flame &
+    120 &
+    8*(L), F8, XP1200 &
+    AC2, T12; claw ($2 \times \d{1d4}$), bite (1d8) &
+    PM, VR(EF); $\d{1d4} + 1$~(2d4) &
+    I1, N, ML8; F \\
+    \h Frost &
+    120 &
+    12*(L), F12, XP2125 &
+    AC3, T9; claw ($4 \times \d{1d6}$), bite (2d6) &
+    PM, VR(EA); 1d3~(1d3) &
+    I1, C, ML9; E}
+  Creatures within $20'$ take 1d8 fire/cold damage per round.
+\end{monster}
+
+\begin{monster}{Sasquatch}{
+    150 &
+    5*(L), F5, XP300 &
+    AC6, T15; claw ($2 \times \d{2d4}$) \emph{or} boulder (2d8, 20/35/50) &
+    H, R(M,W); 0~(1d10) &
+    I6, N, ML6 (11 in lair); nil}
+\end{monster}
+
+\begin{monster}{Scorpion, giant}{
+    150 &
+    4*(L), F2, XP125 &
+    AC2, T16; claw ($2 \times \d{1d10}$), sting (1d4, poison) &
+    L, R(D,R); 1d6~(1d6) &
+    I0, N, ML11; V}
+  If either claw hits, stinger has $+2$ to hit.
+\end{monster}
+
+\begin{monster}{Shadow*}{
+    90 &
+    $2 + 2$*(M), F2, XP35 &
+    AC7, T17; touch (1d4, drain 1 strength for 8 turns) &
+    M, R(R,W); 1d8~(1d12) &
+    I4, C, ML12; F}
+  \goodbreak
+  Immune to \emph{sleep} and \emph{charm}. \\
+  Surprise 5 in 6. \\
+  Characters drained of strength become shadows immediately.
+\end{monster}
+
+\begin{monster}[3]{Shark}{
+    \h Bull &
+    \swimming 180 &
+    2*(M), F1, XP25 &
+    AC4, T18; bite (2d4) &
+    A, C(C); 0~(3d6) &
+    I2, N, ML7; nil \\
+    \h Mako &
+    \swimming 180 &
+    4(M), F2, XP75 &
+    AC4, T16; bite (2d6) &
+    A, C(C); 0~(2d6) &
+    I2, N, ML7; nil \\
+    \h Great white &
+    \swimming 180 &
+    8(L), F4, XP25 &
+    AC4, T18; bite (2d10) &
+    A, R(C); 0~(1d4) &
+    I2, N, ML7; nil}
+  Blood within $300'$ causes frenzy (no morale checks). \\
+  Bull sharks ram prey (SvPs or stunned for 3 rounds).
+\end{monster}
+
+\begin{monster}{Shrew, giant}{
+    180 &
+    1*(S), F1, XP13 &
+    AC4, T19; bite ($2 \times \d{1d6}$) &
+    GA, R(O,R,W); 1d8~(1d4) &
+    I2, N, ML10; nil}
+  Uses echolocation; `blinded' by \emph{silence} spells -- AC8, $-4$ on hit
+  rolls. \\
+  Fast: initiative on first attack, $+1$ in future rounds. \\
+  Ferocious attack: $L' \le 3$ must SvDR or flee.
+\end{monster}
+
+\begin{monster}{Shrieker}{
+    9 &
+    3(M), F2, XP35 &
+    AC7; none &
+    L, C(R,V); 1d8~(0) &
+    I0, N, ML12; nil}
+  Detects light within $60'$, movement within $30'$: shrieks for 1d3 rounds,
+  attracting wandering monsters 3 in 6 per round (arriving in 2d6 rounds).
+\end{monster}
+
+\begin{monster}{Skeleton}{
+    60 &
+    1(M), F1, XP10 &
+    AC7, T19; weapon &
+    U, C(R); 3d4~(3d10) &
+    I1, C, ML12; nil}
+\end{monster}
+
+\begin{monster}[2]{Slug/snail, giant}{
+    \h Slug &
+    60 (burrowing 30) &
+    9**--20**(L), F$\lceil L/2 \rceil$, XP see table &
+    AC8, T see below; bite (1d12) \emph{or} spit (acid, as dragon breath,
+    range $5L$) &
+    L, R(R,V); 1~(1) &
+    I2, N, ML8; nil \\
+    \h Snail &
+    60 &
+    9**--20**(L), F$\lceil L/2 \rceil$, XP see table &
+    AC$^-$2, T see below; bite (1d12) \emph{or} spit (acid, as dragon breath,
+    range $5L$) &
+    L, R(W); 1~(1) &
+    I1, N, ML8; nil}
+  First acid spit misses. \\
+  Slug can squeeze through $5' \times 5'$ gaps. \\
+  No $\delta S$ on damage rolls; blunt weapons do only $\delta G$ damage. \\
+  Snail shell can be used to make shields resistant to acid ($+4$ on saving
+  throws).
+  \begin{tabular}[C]{\shade ccc|ccc|ccc} \hlx*{hv}
+    \th{HD} & \th{T} & \th{XP} &
+    \th{HD} & \th{T} & \th{XP} &
+    \th{HD} & \th{T} & \th{XP} \\ \hlx{vhv}
+    \09 &  11 & 2\,300 &  13 & \09 & 3\,250 &  17 & \07 & 4\,300 \\ \hlx{+}
+     10 &  10 & 2\,500 &  14 & \08 & 3\,500 &  18 & \06 & 4\,825 \\ \hlx{+}
+     11 &  10 & 2\,700 &  15 & \08 & 3\,750 &  19 & \06 & 5\,350 \\ \hlx{+}
+     12 & \09 & 3\,000 &  16 & \07 & 4\,050 &  20 & \05 & 5\,975 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}[3]{Snake}{
+    \h Spitting cobra &
+    90 &
+    1*(S), F1, XP13 &
+    AC7, T19; bite (1d3, poison) \emph{or}
+      spit (SvPn or blinded, range $6'$) &
+    A, C($\lnot$A); 1d6~(1d6) &
+    I2, N, ML7; nil \\
+    \h Giant racer &
+    120 &
+    2(M), F1, XP20 &
+    AC5, T18; bite (1d6) &
+    A, C($\lnot$A); 1d6~(1d8) &
+    I2, N, ML7; nil \\
+    \h Pit viper &
+    90 &
+    2*(M), F1, XP25 &
+    AC6, T18; bite (1d4, poison) &
+    A, C($\lnot$A); 1d8~(1d8) &
+    I2, N, ML7; nil
+    \monsterbreak{3}
+    \h Sea snake &
+    90 \swimming 90 &
+    3*(M), F2, XP60 &
+    AC6, T17; bite (1, poison) &
+    A, C(C); 0~(1d8) &
+    I2, N, ML7; nil \\
+    \h Giant rattlesnake &
+    120 &
+    4*(M), F2, XP125 &
+    AC5, T16; bite (1d4, poison) &
+    A, C($\lnot$A); 1d4~(1d4) &
+    I2, N, ML8; U \\
+    \h Rock python &
+    90 &
+    5*(L), F3, 300 &
+    AC6, T15; bite (1d4, squeeze for 2d4 per round) &
+    A, C($\lnot$A); 1d3~(1d3) &
+    I2, N, ML7; U}
+  \begin{description}
+  \item[Pit viper] Infravision $60'$. \\ Always wins initiative.
+  \item[Sea snake] Slow-acting poison -- $\d{1d4} + 2$ turns to act. \\
+    Aggressive: attacks humans.
+  \item[Giant rattlesnake] Poison acts in 1d6 turns.
+  \end{description}
+\end{monster}
+
+\begin{monster}{Spectral hound\textdagger}{
+    150 &
+    5**(M), F5, XP425 &
+    AC$^-2$, T15; bite (2d6, SvS or fade) &
+    PM, VR(any); 1d6~(1d6) &
+    I3, C, ML12; nil}
+  Fading takes 24 hours: unable to hold normal items, hear or talk to unfaded
+  people; \emph{dimension door} to restore.
+\end{monster}
+
+\begin{monster}{Spectre*}{
+    150 \flying 300 &
+    6**(M), F6, XP725 &
+    AC2, T14; touch (1d8, 2ED:S) &
+    U, R(R); 1d4~(1d8) &
+    I8, C, ML11; E}
+\end{monster}
+
+\begin{monster}{Sphinx}{
+    180 \flying 360 (6\,000\,cn, $\times 3$) &
+    12$^5$*(L), F24, XP5625 &
+    AC0, T9, claw ($2 \times \d{3d6}$), bite (2d8) &
+    M, R(D,any); 1d2~(1d4) &
+    I13, any, ML10; E}
+  Immune to 1st--3rd level spells. \\
+  Males are M12; females are C12; saves versus their spells at $-4$ \\
+  Twice per day: \emph{roar} -- those within $120'$ SvS ($-4$ penalty) or
+  flee for 1d6 turns; those within $60'$ must also SvPs or be stunned for 1d6
+  rounds; those within $10'$ also deafened for 1d10 turns, 6d6 damage.
+\end{monster}
+
+\begin{monster}[3]{Spider, giant}{
+    \h Crab spider &
+    120 &
+    2*(M), F1, XP25 &
+    AC7, T18; bite (1d8, poison $-2$) &
+    L, R(R,V); 1d4~(1d4) &
+    I0, N, ML7; U \\
+    \h Black widow &
+    60 (120 in web) &
+    3*(M), F2, XP50 &
+    AC6, T17; bite (2d6, poison) &
+    L, R(R,W); 1d3~(1d3) &
+    I0, N, ML8; U \\
+    \h Tarantella &
+    120 &
+    4*(L), F2, XP125 &
+    AC5, T16; bite (1d8, poison) &
+    L, R(R,W); 1d3~(1d3) &
+    I0, N, ML8; U}
+  \begin{description}
+  \item[Crab spider] Chameleon-like blending: surprise 4 in 6.  \\
+    Poison acts in 1d4 turns.
+  \item[Black widow] Web as for magic-user spell; may be burned. \\
+    Poison acts in 1 turn.
+  \item[Tarantella] Poison causes `dancing': onlookers must SvS or dance too;
+    dancing causes $-4$/$+4$ on hit rolls (by/against); exhausted and
+    helpless after 5 turns; \emph{dispel magic} stops dancing.
+  \end{description}
+\end{monster}
+
+\begin{monster}{Spider, planar}{
+    180 &
+    5**--10**(M), F$L$, XP see table &
+    AC6, T see table; bite (2d6, poison $+4$) &
+    PM, VR(any); 2d6~(3d6) &
+    I12, any, ML9; magical or unusual items}
+  Shifts from ethereal, attacks, shifts out (3 in 4) before opponents can
+  strike, unless \emph{hasted}.
+  \begin{tabular}[C]{\shade ccc|ccc|ccc} \hlx*{hv}
+    \th{HD} & \th{T} & \th{XP} &
+    \th{HD} & \th{T} & \th{XP} &
+    \th{HD} & \th{T} & \th{XP} \\ \hlx{vhv}
+    \05 &  15 &    425 & \07 &  13 & 1\,250 & \09 &  11 & 2\,300 \\ \hlx{+}
+    \06 &  14 &    725 & \08 &  12 & 1\,750 &  10 &  10 & 2\,500 \\ \hlx*{vh}
+  \end{tabular}
+\end{monster}
+
+\begin{monster}[3]{Spirit**}{
+    \h Eye druj &
+    90 &
+    14$^4$*(M), F14, XP5500 &
+    AC$^-4$, T8;
+      touch (poison), gaze (paralysis for 1d4 turns, $30'$ range) &
+    U, VR(any); 1~(1) &
+    I14, C, ML11; I, O, V \\
+    \h Hand druj &
+    90 &
+    14$^4$*(M), F14, XP5500 &
+    AC$^-4$, T8;
+      grab (1d4, poison,
+        automatic damage of $\d{1d4} + \max(\textrm{AC}, 0)$ each round) &
+    U, VR(any); 1~(1) &
+    I14, C, ML11; I, O, V \\
+    \h Eye druj &
+    90 &
+    14$^4$*(M), F14, XP5500 &
+    AC$^-4$, T8;
+      bite (2d4, poison; SvS or be hit automatically on first attack) &
+    U, VR(any); 1~(1) &
+    I14, C, ML11; I, O, V
+    \monsterbreak{2}
+    \h Odic &
+    0 &
+    16$^4$*(M), F16, XP6250 &
+    AC$^-4$, T7;
+      vine (1d12, poison, 10--30$'$ range) &
+    U, VR(any); 0~(1) &
+    I12, C, ML12; I, O, V \\
+    \h Revenant &
+    120 &
+    18$^4$*(M), F18, XP5500 &
+    AC$^-3$, T7;
+      claw ($2 \times (\d{2d4}$,~poison$)$), bite ($\d{1d4} + 2$, poison) &
+    U, VR(any); 1~(1) &
+    I13, C, ML10; I, O, V}
+  Immune to 1st--3rd level spells. \\
+  Invisible and powerless during daylight (move up to 24 miles). \\
+  Presence spoils consumable items within $30'$; insects and plants
+  paralysed, dying if spirit remains for an hour. \\
+  Always \emph{detect invisible}. \\
+  At will, as C16: \emph{darkness}, \emph{silence 50$'$r}, \emph{cause
+    disease}, \emph{animate dead}, \emph{finger of death}.
+  \begin{description}
+    \item[Druj] Once per night: split into 4 forms (only one can use spell
+      effects). \\
+      Turning initially causes forms to reunite for $\d{1d4} + 1$ rounds.
+    \item[Odic] Radiates purple glow over $20'$ radius (visible from
+      300\,yds): those within glow must SvS or 1ED:W. \\
+      Animates up to 6 leaves (\flying 30, T16, D \emph{charm} (SvS applies);
+      charmed victim has $-4$ on save against ED. \\
+      Possess plant-like monsters.
+    \item[Revenant] Surprises 3 in 6. \\
+      Leaps $60'$ once per turn. \\
+      When leaping on surprised victim, all attacks hit. \\
+      Once per night: summon 1d4 spectres (arrive in $\d{1d6} + 2$
+      rounds). \\
+      May SvS against `D' result of Turning; Turned only for 1d4 turns.
+  \end{description}
+\end{monster}
+
+\begin{monster}{Sporacle}{
+    \flying 180 &
+    7***(M), special, XP1650 &
+    AC0 (tentacles AC4), T13;
+      tentacle ($12 \times (1$, paralysis$)$), bite (2d10) &
+    M, VR(V); 1d4~(2d4) &
+    I2, C, ML10; }
+  Immune to blunt weapons, non-damaging spells and magic items, sound-based
+  effects, poison, paralysis, \emph{charm}. \\
+  Damage-causing spells destroy one tentacle per die (no effect if no
+  tentacles remaining). \\
+  Regenerates 3\,hp per round in fresh water; loose tentacle grows into new
+  sporacle in 1 hour. \\
+  Paralysis is delayed 1 round, lasts 1 turn. \\
+  Body spins, falls apart and sends remaining tentacles in various directions
+  at death.
+\end{monster}
+
+\begin{monster}{Sprite}{
+    60 \flying 180 &
+    $\tfrac{1}{2}$*(S), E1, XP6 &
+    AC5; \emph{curse} &
+    H, C(W); 3d6~(5d8) &
+    I14, N, ML7; S}
+  Five sprites can inflict a \emph{curse} (a magical practical joke). \\
+  Never use deadly force.
+\end{monster}
+
+\begin{monster}[3]{Statue, living}{
+    \h Crystal &
+    90 (1\,500\,cn) &
+    3(M), F3, XP35 &
+    AC4, T17; fist ($2 \times \d{1d6}$) &
+    C, C(R,any); 1d6~(1d6) &
+    I7, L, ML11; nil \\
+    \h Iron &
+    30 (2\,000\,cn) &
+    4*(M), F4, XP125 &
+    AC2, T16; fist ($2 \times \d{1d8}$) &
+    C, C(R,any); 1d4~(1d4) &
+    I7, N, ML11; nil \\
+    \h Rock &
+    60 (2\,500\,cn) &
+    5*(M), F5, XP300 &
+    AC4, T15; magma ($2 \times \d{2d6}$) &
+    C, C(R,any); 1d3~(1d3) &
+    I7, C, ML11; nil}
+  Immune to \emph{sleep}. \\
+  When hitting iron statues with nonmagical metal weapons, SvS or weapon
+  becomes stuck and absorbed eventually.
+\end{monster}
+
+\begin{monster}{Stirge}{
+    30 \flying 180 &
+    1*(S), F2, XP13 &
+    AC7, T19; bite (1d3, attaches and does automatic damage after hit) &
+    M, C(R,V,W); 1d10~(3d12) &
+    I1, N, ML9; L}
+  Initial attack $+2$ to hit.
+\end{monster}
+
+\begin{monster}[3]{Termite, water}{
+    \h Swamp &
+    \swimming 90 &
+    $1 + 1$(S), F1, XP15 &
+    AC4, T18; bite (1d3) \emph{or} spray &
+    L, C(swamp); 0~(1d4) &
+    I0, N, ML10; nil \\
+    \h Freshwater &
+    \swimming 120 &
+    $2 + 1$(S), F2, XP25 &
+    AC6, T17; bite (1d4) \emph{or} spray &
+    L, C(lake); 0~(1d3) &
+    I0, N, ML8; nil \\
+    \h Saltwater &
+    \swimming 180 &
+    4(S), F3, XP75 &
+    AC5, T16; bite (1d6) \emph{or} spray &
+    L, C(lake); 0~($\d{1d6} + 1$) &
+    I0, N, ML11; nil}
+  Spray: above water, SvPn or paralysed for 1 turn; below water, merely
+  opaque. \\
+  Cling to ship hulls, doing hull points as for bite, detectable 3 in 6.
+\end{monster}
+
+\begin{monster}{Thoul}{
+    120 &
+    3**(M), F3, XP65 &
+    AC6, T17; claw ($2 \times \d{1d3}$) \emph{or} weapon ($\delta S = +1$) &
+    M, VR(V,barren); 1d6~(1d10) &
+    I6, C, ML19; C}
+  Regenerates 1\,hp per round.
+\end{monster}
+
+\begin{monster}[2]{Toad}{
+    \h Giant &
+    90 &
+    $2 + 2$(M), F1, XP25 &
+    AC7, T17; bite ($\d{1d4} + 1$) &
+    GA, C(V,W); 1d4~(1d6) &
+    I2, N, ML6; nil \\
+    \h Rock (`cave') &
+    60 &
+    $3 + 1$*(M), F3, XP75 &
+    AC2, T16; bite (1d6) &
+    GA, C(D,M,V); 1d4~(1d4) &
+    I2, N, ML7; V}
+  \begin{description}
+  \item[Giant] Change skin colour to blend in: surprises 3 in 6. \\
+    Tongue range $15'$ -- drags dwarves or smaller to be bitten. \\
+    Swallows small prey on 20 (1d6 damage per round).
+  \item[Rock] Gazing into eyes paralyses for 2d4 rounds. \\
+    Eyes glow $5'$ even 1d3 hours after death (but no special effect).
+  \end{description}
+\end{monster}
+
+\begin{monster}{Treant}{
+    60 &
+    8*(L), F8, XP1200 &
+    AC2, T12; branch ($2 \times \d{2d6}$) &
+    M, R(W); 0~(1d8) &
+    I11, L, ML9; C}
+  Surprise 3 in 6. \\
+  Blunt weapons do only $1 + \delta G$ damage. \\
+  Animate two trees within $60'$ to move at 30 and fight as treants; which
+  trees are animated may change each round.
+\end{monster}
+
+\begin{monster}{Triceratops}{
+    90 &
+    20*(L), F10, XP4175 &
+    AC4, T5; small horn (1d8), large horn ($2 \times \d{2d8}$) &
+    PA, VR(L); 0~(1d6) &
+    I2, N, ML9; nil}
+  Charges 20\,yds for double damage.
+\end{monster}
+
+\begin{monster}{Troglodyte}{
+    120 &
+    2*(L), F2, XP25 &
+    AC5, T18; claw ($2 \times \d{1d4}$), bite (1d4) &
+    H, R(R,V); 1d8~(5d8) &
+    I10, C, ML9; A}
+  Change colour to blend into surroundings: surprises 4 in 6. \\
+  Secrete smelly oil: SvPn or nauseated ($-2$ to hit).
+\end{monster}
+
+\begin{monster}{Troll}{
+    120 &
+    $6 + 3$*(L), F6, XP650 &
+    AC4, T13; claw ($2 \times \d{1d6}$), bite (1d10) &
+    GH, R(V,wilderness); 1d8~(1d8) &
+    I6, C, ML10; D}
+  Regenerates 3\,hp per round (except fire and acid). \\
+  Morale is 8 if attacked with fire or acid.
+\end{monster}
+
+\begin{monster}{Tyrannosaurus Rex}{
+    120 &
+    20(L), F10, XP2375 &
+    AC3, T5; bite (6d6) &
+    PA, VR(L); 0~(1d2) &
+    I2, N, ML11; $\textrm{V} \times 3$}
+  Swallows on hit roll of 19--20 (2d4 damage per round).
+\end{monster}
+
+\begin{monster}{Undine*}{
+    90 \swimming 240 (480 for 10 rounds, once per turn) &
+    8***(L), F16, XP2300 &
+    AC4, T12; fist (2d8, then coils for 1d10 automatic damage per round) &
+    PM, VR(EW); 1~(1) &
+    I10, C, ML9; nil}
+  Immune to poison, 1st--2nd level spells, fire. \\
+  Always \emph{detect invisible}. \\
+  Each three times per day (as M9): \emph{detect magic}, \emph{web},
+  \emph{dispel magic}, \emph{ice storm/wall}, \emph{fire to ice}. \\
+  Invisible and regenerates 1\,hp per round in water; out of water, loses
+  1\,hp per round.
+\end{monster}
+
+\begin{monster}{Unicorn}{
+    240 (2\,000\,cn, $\times 1$) &
+    4*(L), F8, XP125 &
+    AC2, T16; hoof ($2 \times \d{1d8}$), horn (1d8) &
+    M, R(W); 1d2~(1d8) &
+    I4, L, ML7 (9 with rider); nil}
+\end{monster}
+
+\begin{monster}{Vampire*}{
+    120 \flying 180 &
+    7**--9**(M), F$L$, XP1250/1750/2300 &
+    AC2, T13--11; touch (1d10, 2ED:V) &
+    U, R(R); 1d4~(1d6) &
+    I11, C, ML11; F}
+  At will, transform into human, dire wolf, giant bat or gaseous cloud (AC,
+  HD, ML, save unchanged by form). \\
+  Regenerates 3\,hp per round; at 0\,hp, becomes gaseous and flees to
+  coffin \\
+  Gaze \emph{charms} $+2$. \\
+  Summon (within $300'$): $\d{1d10} \times 10$ rats, 5d4 giant rats,
+  $\d{1d10} \times 10$ bats, 3d6 giant bats, 3d6 wolves or 2d4 dire
+  wolves. \\
+  Cannot come within $10'$ of strongly-presented holy symbol; must SvPn to
+  come within $10'$ of garlic; cannot cross running water. \\
+  Lose 2d6\,hp if not resting in coffin during the day. \\
+  In direct sunlight, SvDR or disintegrate.
+\end{monster}
+
+\begin{monster}{Weasel, giant}{
+    150 &
+    $4 + 4$(L), F3, XP125 &
+    AC7, T15; bite (2d4, holds on for automatic damage) &
+    GA, C(R,V,W); 1d4~(1d6) &
+    I2, N, ML8; V}
+  Infravision $30'$ range.
+\end{monster}
+
+\begin{monster}{Wight\textdagger}{
+    90 &
+    3*(M), F3, XP50 &
+    AC5, T17, touch (1ED:Wt) &
+    U, C(R); 1d6~(1d8) &
+    I5, C, ML12; B}
+\end{monster}
+
+\begin{monster}[3]{Whale}{
+    \h Killer &
+    \swimming 240 &
+    6(L), F3, XP275 &
+    AC6, T14; bite (2d10) &
+    A, C(C); 0~(1d6) &
+    I2, N, ML10; nil \\
+    \h Great &
+    \swimming 180 &
+    36*(L), F18, XP12000 &
+    AC6, T$^-$3; bite (3d20) &
+    GA, VR(C); 0~(1d3) &
+    I2, N, ML10; nil \\
+    \h Narwhal &
+    \swimming 180 &
+    12(L), F12, XP1250 &
+    AC7, T9; horn (2d6) &
+    M, R(C); 0~(1d4) &
+    I4, L, ML8; horns worth $\d{1d6} \times 1000$\,gp}
+  \begin{description}
+  \item[Killer] Swallows halfings on 20 (1d6 damage per round).
+  \item[Great] Swallows if hit roll 4 better than needed or 20 (3d6 per
+    round). \\
+    Rams ships for 6d6 hull damage.
+  \end{description}
+\end{monster}
+
+\begin{monster}[2]{Wolf}{
+    \h Normal &
+    180 (500\,cn, $\times \tfrac{1}{2}$) &
+    $2 + 2$(M), F1, XP25 &
+    AC7, T17; bite (1d6) &
+    A, C(W); 2d6~(3d6) &
+    I2, N, ML8; nil \\
+    \h Dire &
+    150 (1,000\,cn, $\times \tfrac{1}{2}$) &
+    $4 + 1$(M), F2, XP125 &
+    AC6, T16; bite (2d4) &
+    GA, C(W); 1d4~(2d4) &
+    I4, N, ML8; nil}
+  Normal wolves have ML6 if 3 or fewer, or reduced to half original numbers.
+\end{monster}
+
+\begin{monster}{Wraith\textdagger\textdagger}{
+    120 &
+    4**(M), F4, XP175 &
+    AC3, T16, touch (1d6, 1ED:Wh) &
+    U, C(R,barren); 1d4~(1d6) &
+    I7, C, ML11; E}
+  Silvered weapons do half damage.
+\end{monster}
+
+\begin{monster}{Wyvern}{
+    90 \flying 240 (3\,500\,cn, $\times 3$) &
+    7*(L), F4, XP850 &
+    AC3, T13; bite (2d8), sting (1d6, poison) &
+    D, R(M,W); 1d2~(1d6) &
+    I3, C, ML9; E}
+\end{monster}
+
+\begin{monster}{Yellow mould}{
+    0 &
+    2*(L), F2, XP25 &
+    always hit; spores (1d6, choking) &
+    L, C(R,V); 1d8~(1d4) &
+    I0, N, ML12; nil}
+  A $10' \times 10'$ area counts as a creature. \\
+  Only damaged by fire; torch does 1d4\,hp per round. \\
+  Eats through wood and leather; cannot harm metal or stone. \\
+  If touched, may (3 in 6) release $10' \times 10' \times 10'$ cloud of
+  sporesl SvPn or choke to death within 6 rounds.
+\end{monster}
+
+\begin{monster}{Zombie}{
+    90 &
+    2(M), F1, XP20 &
+    AC8, T18; claw (1d8) \emph{or} weapon &
+    U, C(R); 2d4~(4d6) &
+    I1, C, ML12; nil}
+  Always lose initiative.
+\end{monster}
+
+%%\end{multicols}
+\end{document}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: t
+%%% End: 
diff --git a/spells.tex b/spells.tex
index 42ab7d8..2cbfeae 100644
--- a/spells.tex
+++ b/spells.tex
@@ -1,5 +1,7 @@
 \documentclass{tables}
+\usepackage{mdwlist}
 
+\makeatletter
 \newenvironment{spelllist}[1]{%
   \vbox\bgroup%
   \hrule height\arraythickrulewidth%
@@ -38,6 +40,38 @@
   \egroup%
 }
 
+\newenvironment{spells}[1]{%
+  \raggedright%
+  \begin{multicols}{2}[\sect{#1}]%
+  \small%
+  \itemcount1%
+  \def\levelstart{%
+    \medskip%
+    \textbf{Level \the\itemcount}%
+    \par\nobreak%
+    \@nobreaktrue%
+    \begin{basedescript}{%
+      \let\makelabel\hbox%
+      \desclabelstyle{\nextlinelabel}%
+      \desclabelwidth{2em}%
+      \parsep\smallskipamount%
+      \itemsep\smallskipamount%
+    }%
+    \ignorespaces%
+  }%
+  \def\level{%
+    \end{basedescript}%
+    \advance\itemcount1%
+    \levelstart%
+  }%
+  \levelstart%
+}{%
+  \end{basedescript}%
+  \end{multicols}%
+}
+
+\def\spell#1#2{\item[\emph{#1} {[#2]}]}
+
 \begin{document}
 
 \sect{Spells}
@@ -152,7 +186,7 @@
   Remove fear* \\
   Resist cold \split
   \itshape Detect danger \\
-  \itshape Faerie fire \\
+  \itshape F\ae rie fire \\
   \itshape Locate \\
   \itshape Predict weather
 \level
@@ -209,7 +243,7 @@
   \itshape Dissolve \\
   \itshape Pass plant
 \level
-  Aerial servant \\
+  \AE rial servant \\
   Animate objects \\
   Barrier* \\
   Create normal animals \\
@@ -365,6 +399,1082 @@
   Wish
 \end{spelllist}
 
+\begin{spells}{Cleric spells}
+
+\spell{Cure light wounds*}{T, P, 1 creature}
+Heals $\d{1d6} + 1$\,hp, or cures paralysis.  Reverse \emph{cause light
+  wounds}: causes damage.
+
+\spell{Detect evil}{0, 6T, $120'$}
+Evilly enchanted objects and ill-intentioned creatures seem to `glow'.
+
+\spell{Detect magic}{0, 2T, $60'$}
+Magical objects, creatures and places seem to `glow'.
+
+\spell{Light*}{$120'$, 12T, 1 object}
+Casts light for $30'$; effect moves with target unless SvS.  Blinds if cast
+at eyes.  Reverse \emph{darkness}: creates darkness penetrable by
+infravision; cancels \emph{light} and \emph{vice versa}.
+
+\spell{Protection from evil}{0, 12T}
+Personal barrier: attacks penalised by $-1$; $+1$ on saves; enchanted
+creatures cannot enter unless attacked.
+
+\spell{Purify food and water}{$10'$, P}
+Makes spoiled or poisoned food/water safe.  Purifies one week's rations, six
+waterskins or food for a dozen people.  Settles dirt in mud leaving clear
+water.
+
+\spell{Remove fear*}{T, 2T, 1 creature}
+Allows SvS against \emph{fear} attacks, with $+\min(L, 6)$ bonus.  Reverse
+\emph{cause fear} ($120'$, 2T, 1 creature): SvS or flee.
+
+\spell{Resist cold}{0, 6T, $30'$}
+Withstand normal cold; $+2$ on saves against cold and damage biased by $-1$.
+
+\level
+
+\spell{Bless*}{$60'$, 6T, $20'$}
+Morale, hit and damage bonus of $+1$; does not affect creates in mel\'ee.
+Reverse \emph{blight}: applies penalties; SvS to avoid.
+
+\spell{Find traps}{0, 2T, $30'$}
+Traps (not natural dangers) seem to `glow'.
+
+\spell{Hold person*}{$180'$, 9T, up to 4 humanoids}
+SvS or paralysed.  Penalty $-2$ on save if cast on single individual.
+Cancelled by \emph{dispel magic} or reverse.  Reverse \emph{free person}.
+
+\spell{Resist fire}{$30'$, 2T, 1 creature}
+Withstand normal fire; $+2$ on saves against fire and damaged biased by $-1$.
+
+\spell{Silence 15$'$ radius}{$180'$, 12T, $30'\phi$}
+Area cannot cause sound (sound may still enter from outside); effect moves
+with target unless SvS.
+
+\spell{Slow poison}{T, $6L$T, 1 creature}
+Slows effects of poison; poison takes 1\,hp per turn, though never reaching
+zero; works even on `dead' characters.
+
+\spell{Snake charm}{$60'$, $\d{1d4} + 1$R/T, $L$HD of snakes}
+Charms snakes (no save): they rise up and sway.  Duration is R if
+snakes are attacking caster; otherwise T.
+
+\spell{Speak with animals}{0, 6T, $30'$}
+Nominate kind of animal; allows conversation, $+2$ on reaction rolls.
+
+\level
+
+\spell{Continual light*}{$120'$, P, 1 object}
+Casts light for $60'$; effect moves with target unless SvS.  Blinds if cast
+at eyes; applies penalties for daylight.  Reverse \emph{continual darkness}:
+creates darkness impenetrable by infravision, lanterns, torches or
+\emph{light}; cancels \emph{continual light} and \emph{vice versa}.
+
+\spell{Cure blindness}{T, P, 1 creature}
+Cures blindness, even from \emph{continual light}, but not a \emph{curse}.
+
+\spell{Cure disease*}($30'$, P, 1 creature)
+Cures one creature; $L \ge 11$ can cure lycanthropy.  Reverse \emph{cause
+disease} (SvS to avoid): $-2$ on hit rolls, wounds cannot be magically cured,
+natural healing takes double time, fatal in 2d12 days unless magically cured.
+
+\spell{Growth of animal}{$120'$, 12T, 1 animal}
+Doubles size of animal (or giant animal), doubling damage and loading (but
+not AC, hp or behaviour).
+
+\spell{Locate object}{0, 6T, $120'$}
+Sense direction of one known object (but not distance).  Will not locate
+creatures.
+
+\spell{Remove curse*}{T, P, 1 creature or item}
+Removes a curse from character or item.  Reverse \emph{curse}: bestows curse;
+SvS allowed.
+
+\spell{Speak with the dead}{0, $L$R, $10'$}
+Caster may ask three questions of a deceased spirit.  Time limits apply based
+on caster level: $L \le 7$ up to 4 days; $L \le 14$ up to 4 months; $L \le
+20$ up to 4 years; $L > 20$ no limit.  Spirit can only give answers known
+prior to death; may respond in riddles.
+
+\spell{Striking}{$30'$, 1T, 1 weapon}
+Cast on weapon: causes 1d6 extra damage per hit; weapon can be used to hit
+creatures normally only damaged by magical weapons.
+
+\level
+
+\spell{Animate dead}{$60'$, P, $L$HD of undead}
+Animates normal corpses (as zombies) or skeletons.  Destroyed by \emph{dispel
+magic}.  Skeletons have same HD as original creature, zombies have one more
+HD.
+
+\spell{Create water}{$10'$, 6T, water for $12(L - 7)$ men and mounts}
+Water springs from ground or wall.  Water for 12 people is about 50 gallons.
+
+\spell{Cure serious wounds*}{T, P, 1 creature}
+Heals $\d{2d6} + 2$\,hp.  Reverse \emph{cause serious wounds}: causes damage.
+
+\spell{Dispel magic}{$120'$, P, $20'$ cube}
+Destroys spells in area; fails $L' - L$ in 20.  FIXME touch dispel
+
+\spell{Neutralize poison*}{T, P, 1 creature/container/object}
+Makes poison harmless; revives victim killed by poison in previous 10
+rounds.  Reverse \emph{create poison}: creature must SvPn or die; liquids are
+poisoned.
+
+\spell{Protection from evil, 10$'$ radius}{0, 12T, $20'\phi$}
+Attacks penalised by $-1$; $+1$ on saves; enchanted creatures cannot enter
+unless attacked.
+
+\spell{Speak with plants}{0, 3T, $30'$}
+Plants will grant simple favours (e.g., allowing passage).  Allows
+communication with treants.
+
+\spell{Sticks to snakes}{$120'$, 6T, 2d8 sticks}
+Turns sticks into snakes (3 in 6 chance per snake of being poisonous).
+MV90; HD1(S), 20\,hp, F1, XP10/13; AC6, T19; bite (1d4, poison); A; I2, N,
+ML12.
+
+\level
+
+\spell{Commune}{0, 3T, 3 questions}
+Caster may ask three yes/no questions of the greater powers.  Usable at most
+once per week; once per year grant of 6 questions.
+
+\spell{Create food}{$10'$, P, food for $12(L - 7)$ men and mounts}
+Creates normal food; spoils after 24 hours.
+
+\spell{Cure critical wounds*}{T, P, 1 creature}
+Heals $\d{3d6} + 3$\,hp.  Reverse \emph{cause critical wounds}: causes
+damage.
+
+\spell{Dispel evil}{$30'$, 1T, 1 or more creatures or items}
+Destroys undead and enchanted monsters in range (unless SvS; $-2$ if single
+creature); extraplanar creatures are banished.  If SvS, must flee the area
+for as long as the caster concentrates without moving.  May also remove
+\emph{curse} from an item, or a \emph{charm} effect.
+
+\spell{Insect plague}{$480'$, 1D, swarm $60'\phi$}
+Swarm obscures vision; drives off creatures with 3HD or less; MV60.  Caster
+must concentrate without moving to control swarm, otherwise the insects
+scatter.  Only works outdoors.
+
+\spell{Quest*}{$30'$, until completed, 1 creature}
+Compels creature to perform quest; \emph{curse} applies until performed.
+Reverse \emph{remove quest}: removes compulsion; fails $L' - L$ in 20.
+
+\spell{Raise dead*}{$120'$, P, 1 (demi)human dead up to $4(L - 7)$
+  days}
+Recipient returns to life with 1\,hp; cannot fight, carry loads, move better
+than half speed or use special abilities until rested for two weeks.  Against
+undead with 9HD or less, target must SvS (penalty $-2$) or be destroyed
+(vampires forced to coffin; with more than 9HD, inflicts 3d10 damage, SvS for
+half).  Reverse \emph{finger of death} ($60'$, I, 1 creature): SvDR or die;
+against undead with more than 9HD, cures 3d10\,hp damage.
+
+\spell{Truesight}{0, $1\textrm{T} + L\textrm{R}$, $120'$}
+Caster can see all hidden, invisible and Ethereal objects in range, in their
+true forms, undisguised; experience and power (level/HD) and basic character
+traits (alignment-ish) detected.
+
+\level
+
+\spell{\AE rial servant}{$60'$, $L$D}
+Servant fetches one item or creature.  If it fails, it goes mad and attacks
+its summoner.
+
+\spell{Animate objects}{$60'$, 6T up to 4\,000\,cn of objects}
+Objects have same attack chance as caster.
+
+\spell{Barrier*}{$60'$, 12T, $30' \times 30'\phi$}
+Barrier of whirling hammers, causes 7d10 damage to anyone passing.  Reverse
+\emph{remove barrier}: removes \emph{barrier}, \emph{wall of ice}, \emph{wall
+of fire}, \emph{clothform}, \emph{woodform} or \emph{wall of stone}.
+Cannot affect \emph{wall of iron}, \emph{stoneform}, \emph{ironform} or
+\emph{steelform}.
+
+\spell{Create normal animals}{$30'$, 10T}
+Create one large, three medium or six small animals.  They obey the caster's
+instructions.  They may travel up to $240'$ from the caster.
+
+\spell{Cureall}{T, P, 1 creature}
+Cures damage (all but 1d6\,hp), curse, poison, disease, blindness or
+\emph{feeblemind}.  Eliminates need for resting after \emph{raise dead}.
+
+\spell{Find the path}{0, $6 + L$T}
+Caster gains knowledge of how to reach a specific place (directions, secret
+doors, passwords, etc.).  After duration, only general direction remains.
+Spell broken if caster attempts to preserve the knowledge.
+
+\spell{Speak with monsters*}{0, $L$R}
+Allows communication with living and undead creatures in range (even
+unintelligent creatures); one question per round.  Reverse \emph{babble}
+($60'$, $L$T, 1 creature): SvS ($-2$ penalty) or be unable to communicate
+(spell-casting is unaffected).
+
+\spell{Word of recall}{0, I}
+Transports caster and equipment carried to meditation room.  Caster
+automatically gains initiative.
+
+\level
+
+\spell{Earthquake}{$120'$, 1T, $5(L - 5)'$ square of earth}
+Small dwellings destroyed, larger constructions cracked open; hills,
+cliffsides, etc., form rockslides; cracks in the earth swallow up 1 creature
+in 6 (SvDR to avoid).
+
+\spell{Holy word}{0, I, $40'$}
+SvS allowed for non-hostile creatures, and those with 13HD or more.  Blocked
+only by lead or \emph{anti-magic shell}.
+\begin{tabular}[C]{\shade cl} \hlx*{hv}
+  \th{HD} & \th{Effect} \\ \hlx{vhv}
+  0--5    & Killed \\ \hlx{+}
+  6--8    & Stunned for 2d10 turns \\ \hlx{+}
+  \09--12 & Deafened for 1d6 turns \\ \hlx{+}
+  13+     & Stunned for 1d10 rounds \\ \hlx{vh}
+\end{tabular}
+
+\spell{Raise dead fully*}{$60'$, P, 1 creature}
+For (demi)humans dead up to $4(L - 16)$, immediate restoration of all hit
+points and abilities (curses and diseases not removed).  For other creatures,
+as \emph{raise dead}.  Destroys undead with 12HD or less (SvS at $-4$ for
+7--12HD only); 6d10 damage to undead with more than 12HD (SvS for half);
+Reverse \emph{obliterate}: affects living creatures as normal spell affects
+undead; as for \emph{cureall} against undead.
+
+\spell{Restore*}{T, P, 1 creature}
+Restores 1 level to victim of energy drain; caster loses a level until rested
+for 2d10 days.  Reverse \emph{life drain}: inflicts 1ED:Wt.
+
+\spell{Survival}{T, $6 L$T, 1 creature}
+Protects target from all non-magical environmental damage.
+
+\spell{Travel}{0, $L$T}
+Allows free travel.  MV\flying360; move between planes by one round's
+concentration (at most 1 per turn), bringing along $\lfloor L/5 \rfloor$
+others touched; assume gaseous form by one round's concentration (with all
+equipment; MV\flying720, cannot pass \emph{protection from evil} or
+\emph{anti-magic shell}).
+
+\spell{Wish}{special}
+See notes in rules.
+
+\spell{Wizardry}{0, 1T}
+Caster can use a magical item specific to magic-users, including 1st or 2nd
+level spells on scrolls.
+
+\end{spells}
+
+\begin{spells}{Druid spells}
+
+\spell{Detect danger}{$5L'$, 6T outdoors or 3T}
+Reveals dangerous nature (immediately dangerous, potentially dangerous or
+benign) of places ($1'$ square), creatures, objects (chest, weapon, etc.),
+requiring one round of concentration each; detects poisons.
+
+\spell{F\ae rie fire}{$60'$, $L$R, $\lceil L/5 \rceil'$ man-sized objects}
+Outlines objects with pale greenish fire, if caster can detect them.
+Outlined creatures are $+2$ to hit.
+
+\spell{Locate}{0, 6T, 1 animal or plant within $120'$}
+Finds direction of one known animal or plant, or exact type.
+
+\spell{Predict weather}{0, 12 hours, $L$ miles diameter}
+Gains knowledge of future weather over the spell's duration.
+
+\level
+
+\spell{Heat metal}{$30'$, 7R, 1 metal object, $5L$\,cn}
+Object heats and cools.  Wood in contact with metal burns away.  Creature
+holding object takes damage per round in the pattern 1, 2, 4, 8, 4, 2, 1
+(fire resistance negates all damage).  Can be stopped by \emph{dispel magic}
+but not immersion.
+
+\spell{Obscure}{0, $L$T, $L' \times 10L'\phi$}
+Creates opaque misty cloud; caster and those able to \emph{detect invisible}
+can dimly see through it.
+
+\spell{Produce fire}{0, $2L$T}
+Creates small fire in the caster's hand; caster can extinguish and re-ignite
+it by one round's concentration.  Flame may be dropped or thrown $30'$ but
+disappears after 1 round.
+
+\spell{Warp wood}{$240'$, P, $L$ arrows (or equivalent)}
+Warps wooden weapons.  Spear, javelin or wand is two arrows; club, bow or
+staff is four.  Enchanted items may ($\delta G$ in 10) be unaffected; SvS if
+held in hand.
+
+\level
+
+\spell{Call lightning}{$360'$, $L$T}
+Must be a storm within range.  Calls one lightning bolt per turn, hitting
+$20'\phi$ area, doing 8d6 damage.
+
+\spell{Hold animal}{$180'$, $L$T, $L$HD of normal or giant animals}
+Each target must SvS or be paralysed.  Affects summoned, conjured or
+controlled animals.
+
+\spell{Protection from poison}{T, $L$T, 1 creature}
+Target and items carried are immune to all poison; $+4$ on saves versus
+poisonous breath weapons.
+
+\spell{Water breathing}{$30'$, 1 day, 1 air-breathing creature}
+Recipient can breathe under water.
+
+\level
+
+\spell{Control temperature 10$'$ radius}{0, $L$T, air within $10'$}
+Caster may adjust temperature in area affected by up to 25$^\circ$C; one
+round concentration required for a change.
+
+\spell{Plant door}{0, $L$T}
+Plants cannot prevent passage of the caster (only): trees bend etc.  Caster
+can hide inside large tree.
+
+\spell{Protection from lightning}{T, $L$T, 1 creature}
+Target is protected from $L$ dice of electrical damage.
+
+\spell{Summon animals}{$360'$, 3T, $L$HD of animals}
+Summons any normal animals (not arthropods etc.\@) in range.  Very small
+creatures are $\tfrac{1}{10}$HD.  Animals flee if harmed; morale check if
+caster is being harmed.
+
+\level
+
+\spell{Anti-plant shell}{0, $L$R}
+Personal barrier which plants cannot enter.  Can be used to open a passage
+for others.  Druid cannot strike plants.
+
+\spell{Control winds}{$10L'$, $L$T}
+Requires 1 turn concentration for complete change.  Highest-level caster in
+range wins.  May be used against air creatures (e.g., elementals): SvS or
+under caster's control (concentration required); may be used to kill;
+creature will be hostile when effect ends.
+
+\spell{Dissolve}{$240'$, 3d6 days, 3000\,sq\,ft of earth, $10'$ deep}
+Changes earth to mud.  Entire volume must be within range.  Creatures in mud
+slowed to 10\%, and may become stuck.
+
+\spell{Pass plant}{0, I}
+Teleportation between trees of same type.  Distance depends on tree type:
+600\,yd for oak; 360\,yd for ash, elm, linden, or yew; 240\,yd for evergreen
+trees, 300\,yd for others.
+
+\level
+
+\spell{Anti-animal shell}{0, $L$T}
+Personal barrier which animals (including insects, giant animals etc.) cannot
+enter.  Druid cannot strike animals.
+
+\spell{Summon weather}{$\max(L - 10, 5)$ miles, $6L$T}
+Brings weather within range to caster's location.
+
+\spell{Transport through plants}
+  {$\infty$, I, caster and two willing creatures}
+Enter living plant, leave another living plant elsewhere (on same plane),
+either a specific known plant or one in a general area.
+
+\spell{Turn wood}{$30'$, $L$T, wave $120' \times 60'$}
+Pushes wood away; wave starts within $30'$ of caster, moves at $10'$ per
+round, ends at $360'$ (or earlier if caster wishes).
+
+\level
+
+\spell{Creeping doom}{$120'$, $L$R, 1000 insects}
+Fills $20'$--$60'$ square, MV60 (must remain within range).  Inflicts 1\,hp
+per 10 insects per round.  Fire can damage horde slightly; \emph{fire ball}
+kills 100 insects.  Effect can pass \emph{protection from evil}.
+
+\spell{Metal to wood}{$120'$, P, $50L$\,cn of metal}
+Magical items have only 1 in 10 chance of being affected.  Armour falls off;
+weapons become clubs.
+
+\spell{Summon elemental}{$240'$, 6T, 1 16HD elemental}
+Elemental obeys commands; does not require concentration; elemental will not
+be hostile at end of effect.  Caster can send elemental back by command;
+others must use \emph{dispel magic} or \emph{dispel evil}.
+
+\spell{Weather control}{0, C, weather within $240'$}
+Caster can create a weather condition; must be outdoors.  Possible effects:
+\begin{description}
+\item[Rain] Missile hit rolls have $-2$ penalty; after 3 turns, ground
+  muddy, movement halved.
+\item[Snow] Visibility $20'$; half movement; water may
+  freeze.
+\item[Fog] Visibility $20'$; half movement; those within may
+  become lost.
+\item[Clear] Cancels adverse weather.
+\item[Intense heat] Half movement; water dries up.
+\item[High winds] Missile fire impossible; half movement; sailing ships
+  move 50\% faster; sandstorm in desert ($20'$ visibility).
+\item[Tornado] Inland, whirlwind as 12HD air elemental; at sea, storm or
+  gale.
+\end{description}
+
+\end{spells}
+
+\begin{spells}{Magic-user spells}
+
+\spell{Analyse}{0, 1R, 1 item}
+Learn enchantment on item $3 + L$ in 20 to determine one characteristic.
+Information is vague on `pluses' and charges.
+
+\spell{Charm person}{$120'$, varies, 1 humanoid}
+Victim must SvS or be \emph{charmed} -- believe caster is his `best friend'.
+Victim may save again as indicated below.
+\begin{tabular}[C]{\shade cl|cl} \hlx*{hv}
+  \th{Int} & \th{Save every} & \th{Int} & \th{Save every} \\ \hlx{vhv}
+     0     & 120 days        &  13--15   &   3 days  \\ \hlx{+}
+     1     &  90 days        &  16--17   &  24 hours \\ \hlx{+}
+     2     &  60 days        &    18     &   8 hours \\ \hlx{+}
+     3     &  45 days        &    19     &   3 hours \\ \hlx{+}
+   4--5    &  30 days        &    20     &   1 hour  \\ \hlx{+}
+   6--8    &  15 days        &  21\rlap+ &   1 turn  \\ \hlx{+}
+ \09--12   &   7 days        &                       \\ \hlx*{vh}
+\end{tabular}
+
+\spell{Detect magic}{0, 2T, $60'$}
+All magical things and effects within effect `glow'.
+
+\spell{Floating disc}{$6'$, 6T, 5000\,cn}
+Disc floats at height of caster's waist, remaining within $6'$.
+
+\spell{Hold portal}{$10'$, 2d6T, 1 portal}
+Holds portal against creatures with $L' < L + 3$.
+
+\spell{Light*}{$120'$, 12T, 1 object}
+Casts light for $30'$; effect moves with target unless SvS.  Blinds if cast
+at eyes.  Reverse \emph{darkness}: creates darkness penetrable by
+infravision; cancels \emph{light} and \emph{vice versa}.
+
+\spell{Magic missile}{$150'$, 1R, $2 \lceil L/5 \rceil - 1$ missiles}
+Each missile does $\d{1d6} + 1$ damage; missiles never miss; may have
+different targets.
+
+\spell{Protection from evil}{0, 6T}
+Personal barrier: attacks penalised by $-1$; $+1$ on saves; enchanted
+creatures cannot enter unless attacked.
+
+\spell{Read languages}{0, 2T}
+Caster can read (not speak) nonmagical languages, codes, etc.
+
+\spell{Read magic}{0, 1T}
+Caster can read (not speak) magical writings, allowing later use of scrolls,
+or copying spells into book.
+
+\spell{Shield}{0, 2T}
+Personal barrier: caster has AC2 against missiles, AC4 against mel\'ee
+attacks, and may SvS against \emph{magic missile}.
+
+\spell{Sleep}{$240'$, 4d4T, 2d8HD of living creatures in $40'$ square}
+Only affects creatures with $4 + 1$HD or less.  Sleeping creatures can be
+easily killed with an edged weapon.
+
+\spell{Ventriloquism}{$60'$, 2T, 1 item or location}
+Caster's voice appears to come from somewhere else.
+
+\level
+
+\spell{Continual light*}{$120'$, P, 1 object}
+Casts light for $60'$; effect moves with target unless SvS.  Blinds if cast
+at eyes; applies penalties for daylight.  Reverse \emph{continual darkness}:
+creates darkness impenetrable by infravision, lanterns, torches or
+\emph{light}; cancels \emph{continual light} and \emph{vice versa}.
+
+\spell{Detect evil}{0, 6T, $60'$}
+Evilly enchanted objects and ill-intentioned creatures seem to `glow'.
+
+\spell{Detect invisible}{0, 6T, $10L'$}
+Caster can see invisible creatures and objects within effect.
+
+\spell{Entangle}{$30'$, $L$R, $50' + 5L'$ of rope or similar}
+Caster can command ropes, e.g., `coil', `coil and knot', `loop', `loop and
+knot'.  Rope must be within $1'$ of anything it's meant to tie up.  Victim
+may SvS to avoid effect.
+
+\spell{ESP*}{$60'$, 12T}
+Caster can `hear' thoughts in some direction after concentrating for 6
+rounds.  If more than one creature in range and direction, the result is a
+confused jumble.  \emph{ESP} is blocked by $2'$ of rock, or any lead.
+Reverse \emph{mindmask} (T, 12T, 1 creature): target is immune to
+mind-reading.
+
+\spell{Invisibility}{$240'$, P, 1 creature or object}
+Creature becomes invisible with all items carried; items become visible when
+dropped; creature becomes visible if it attacks or casts a spell.  Objects
+made invisible reappear when touched.
+
+\spell{Knock}{$60'$, until closed, 1 portal}
+Opens a door or other locked or obstructed opening, even if magically locked.
+
+\spell{Levitate}{0, $6 + L$T}
+Caster may move up and down (only) at $20'$ per round, carrying up to
+2000\,cn.
+
+\spell{Locate object}{0, 6T, $60' + 10L'$}
+Sense direction of one known object (but not distance).  Will not locate
+creatures.
+
+\spell{Mirror image}{$3'$, 6T 1d4 additional copies}
+Creates copies of the caster, remaining within range, duplicating his
+actions.  Attacks always hit images, not caster, causing images to vanish.
+
+\spell{Phantasmal force}{$240'$, C, $20'$ cube}
+Caster creates illusion in affected volume.  Monsters are AC9 and disappear
+when hit.  Victim may SvS to disbelieve the illusion.  Never causes damage;
+effects wear off in 1d4 turns.
+
+\spell{Web}{$10'$, 48T, $10'$ cube}
+Fills volume with sticky strands.  Giant can break through in 2 rounds;
+\emph{gauntlets of ogre power} can be used to escape in 4 rounds; normal
+human takes $\d{2d4} + \delta S$ turns.  Flames destroy the web in 2 rounds;
+those caught take 1d6 damage.
+
+\spell{Wizard lock}{$10'$, P, 1 portal}
+Holds portal against creatures with $L' < L + 3$.
+
+\level
+
+\spell{Clairvoyance}{$60'$, 12T}
+The caster sees through another's eyes; may pick a different target each
+turn.
+
+\spell{Create air}{$10'$, $6L$T, $20'$ cube of air}
+Cast on area to move effect with area; cast on person to allow breathing (and
+flight) in hostile environments (e.g., under water, in poison gas).  Cannot
+negate effects of breath weapon.
+
+\spell{Dispel magic}{$120'$, P, $20'$ cube}
+Destroys spells in area; fails $L' - L$ in 20.  FIXME touch dispel
+
+\spell{Fire ball}{$240'$, I, $40'\phi$}
+Causes $L$d6 damage to all in effect (max 20d6, SvS for half damage).
+
+\spell{Fly}{T, $\d{1d6} + L$T, 1 creature}
+Allows flight, MV360.  Hovering does not require concentration.
+
+\spell{Haste*}{$240'$, 3T, up to 24 creatures in $60'\phi$}
+Targets may move at twice normal speed, two attacks per round, etc.  Reverse
+\emph{slow}: half movement, one attack every two rounds, SvS to avoid.
+
+\spell{Hold person*}{$120'$, $L$T, up to 4 humanoids}
+SvS or paralysed.  Penalty $-2$ on save if cast on single individual.
+Cancelled by \emph{dispel magic} or reverse.  Reverse \emph{free person}.
+
+\spell{Infravision}{T, 1 day, 1 creature}
+Bestows $60'$ infravision.
+
+\spell{Invisibility 10$'$ radius}{$120'$, P, $20'\phi$}
+Recipient and all others within $10'$ become invisible, with all equipment
+carried.  Those moving more than $10'$ from recipient become visible (not
+regained by re-entering area).  Items become visible when dropped; creatures
+become visible when attacking or casting a spell.
+
+\spell{Lightning bolt}{$180'$, I, $60' \times 5'$}
+Causes $L$d6 damage to all in effect (max 20d6, SvS for half damage).  Bolt
+bounces off solid surfaces towards caster.
+
+\spell{Protection from evil, 10$'$ radius}{0, 12T, $20'\phi$}
+Attacks penalised by $-1$; $+1$ on saves; enchanted creatures cannot enter
+unless attacked.
+
+\spell{Protection from normal missiles}{$30$', 12T, 1 creature}
+Target is immune from small nonmagical missiles (e.g., arrows, but not
+catapult stones or magical arrows).
+
+\spell{Water breathing}{$30'$, 1 day, 1 air-breathing creature}
+Recipient can breathe under water.
+
+\level
+
+\spell{Charm monster}{$120'$, as \emph{charm person}, one or more creatures}
+Affects 3d6 creatures with 3HD or less each, or one larger creature.  SvS or
+\emph{charmed} as for \emph{charm person} (q.v.).
+
+\spell{Clothform}{T, P, single $30' \times 30'$ piece of cloth}
+Creates nonmagical cloth; can join onto previously \emph{clothformed} items
+at unfinished ends.
+
+\spell{Confusion}{$120'$, 12R, 3d6 creatures in $60'\phi$}
+Victims with $2 + 1$HD or less have no saving throw; those with more must SvS
+each round in effect.  Confused creatures act randomly (2d6): 2--5 attack
+caster's party, 6--8 do nothing, 9--12 attack own party.
+
+\spell{Dimension door}{$10'$, 1R, 1 creature}
+Transports target safely up to $360'$ away; destination chosen by caster
+(either known location, or by direction and distance.  No effect if
+destination is occupied by solid object.  SvS to avoid.
+
+\spell{Growth of plants*}{$120'$, P, 3000\,sq\,ft}
+Area becomes overgrown with vines, creepers etc.\@ as appropriate; impassable
+except by giants.  Reverse \emph{shrink plants}: plants shrink and become
+passable; negates normal spell.  Cannot affect plant-like monsters.
+
+\spell{Hallucinatory terrain}{$240'$, P}
+Creates illusory terrain feature (pit, stairs, hill, swamp, etc.); lasts
+until touched or dispelled.
+
+\spell{Ice storm/wall of ice}{$120'$, 1R or 12T, $20'$ cube or 1200\,sq\,ft}
+An \emph{ice storm} inflicts $L$d6 damage on each creature in effect (max
+20d6, SvS for half damage).  A \emph{wall of ice} is vertical, opaque, must
+rest on ground or similar; cannot be broken by creatures of less than 4HD;
+breaking through causes 1d6 damage.  Fire-type creatures save at $-4$ against
+\emph{ice storms}, and take 2d6 damage breaking \emph{ice walls}.
+
+\spell{Massmorph}{$240'$, until cancelled, up to 100 man-size creatures}
+Makes creatures appear to be trees (or other appropriate plants).  Large
+creatures count as two or three men.  Creatures can move within the area
+without breaking the illusion; creatures leaving the effect return to normal.
+
+\spell{Polymorph other}{$60'$, P, 1 creature}
+Changes creature into another creature with no more than twice the original's
+hit dice.  Hit points preserved; special abilities and behaviour of new form
+are gained.  SvS to avoid; lasts until dispelled or target dies.
+
+\spell{Polymorph self}{0, $6 + L$T}
+Caster changes into another creature with no more than $L$HD.  Hit points,
+armour class, hit rolls, saving throws all preserved; no special abilities or
+immunities are gained.
+
+\spell{Remove curse*}{T, P, 1 creature or item}
+Removes a curse from character or item.  Reverse \emph{curse}: bestows curse;
+SvS allowed.
+
+\spell{Wall of fire}{$60'$, C, 1200\,sq\,ft of fire}
+Vertical, opaque, must rest on ground or similar; cannot be broken by
+creatures of less than 4HD; breaking through causes 1d6 damage.  Undead and
+cold-type creatures take 2d6 damage breaking through.
+
+\spell{Wizard eye}{$240'$, 6T}
+Creates invisible eye (MV120) with infravision ($60'$ range); caster must
+concentrate to see through the eye.
+
+\level
+
+\spell{Animate dead}{$60'$, P, $L$HD of undead}
+Animates normal corpses (as zombies) or skeletons.  Destroyed by \emph{dispel
+magic}.  Skeletons have same HD as original creature, zombies have one more
+HD.
+
+\spell{Cloudkill}{$1'$, 6T, cloud $20' \times 30'\phi$ or smaller}
+Cloud moves at 60, sinking close to the ground; moves with the wind, or under
+caster's control.  Evaporates if it hits trees or other dense vegetation.
+Those within the cloud lose 1\,hp per round; those with less than 5HD must
+SvPn or die.
+
+\spell{Conjure elemental}{$240'$, C, one 16HD elemental}
+Summons elemental.  Caster must concentrate (half movement, no spell casting
+or fighting) to maintain control.  Caster may return elemental to its home
+plane.  Elemental will attack summoner if control lapses.
+
+\spell{Contact outer plane}{0, special, 3--12 questions}
+Number of questions $n$ is equal to distance to outer plane.  May be used at
+most once a month.  Possibility of insanity is $n - 2 - \max(L - 20, 0)$ in
+20; chance of Immortal knowing each answer is $n + 7$ in 20; chance of lying
+is $13 - n$ in 20.
+
+\spell{Dissolve}{$120'$, 3d6 days, 3000\,sq\,ft of earth, $10'$ deep}
+Changes earth to mud.  Entire volume must be within range.  Creatures in mud
+slowed to 10\%, and may become stuck.  Reverse \emph{harden} ($120'$, P,
+3000\,sq\,ft): changes mud to rock; SvS to avoid being trapped.
+
+\spell{Feeblemind}{$240'$, P, 1 magic-user}
+Lowers intelligence to 2; SvS at $-4$ to avoid.  Removable by \emph{dispel
+magic}, \emph{cureall} or \emph{heal}.
+
+\spell{Hold monster*}{$120'$, $L + 6$T, 1d4 creatures}
+SvS or paralysed.  Penalty $-2$ on save if cast on single individual.
+Cancelled by \emph{dispel magic} or reverse.  Reverse \emph{free monster}.
+
+\spell{Magic jar}{$30'$, P, one object}
+Transfers life-force to inanimate object (the \emph{magic jar}).  Thence, the
+caster may attempt to possess creatures (each once per turn) within $120'$ of
+the \emph{jar}; SvS to avoid.  The possessed body cannot perform special
+abilities.  A \emph{dispel evil} forces the life-force back to the
+\emph{jar}.  If the body is destroyed, the caster returns to the \emph{jar}.
+If the \emph{jar} is destroyed, the life-force within it is lost.
+
+\spell{Passwall}{$30'$, 3T, $10' \times 5'\phi$ hole}
+Makes a hole in a stone wall or floor.  Creatures in the hole when the
+duration ends must SvTtS or be trapped.
+
+\spell{Telekinesis}{$120'$, 6R, $200L$\,cn}
+Caster can move objects by concentrating.  Unwilling victims may SvS to
+avoid; SvS at $-2$ to hold on to items in hand; SvS at $-5$ to grab items
+carried.
+
+\spell{Teleport}{$10'$, I, 1 creature with equipment}
+Distance teleported is unimportant.  SvS to avoid.  Falling damage is 1d6 per
+$10'$; teleporting into solid rock is fatal.
+\begin{tabular}[C]{\shade cccl} \hlx*{hv}
+  \multicolumn{3}{c}{\th{Knowledge}} \\
+  \th{Casual} & \th{General} & \th{Exact} & \th{Result} \\ \hlx{vhv}
+     01--50  & 01--80  &  01--95    & Success     \\ \hlx{+}
+     51--75  & 81--90  &  96--99 & $\d{1d10} \times 10'$ too high \\ \hlx{+}
+     76--00  & 91--00  &    00   & $\d{1d10} \times 10'$ too low \\ \hlx*{vh}
+\end{tabular}
+
+\spell{Wall of stone}{$60'$, until broken, $500$\,sq\,ft of stone}
+Creates a $2'$ thick vertical wall; must be vertical and supported.  When
+toppled, cases 10d10 damage to anyone underneath.
+
+\spell{Woodform}{T, P, single 1000\,cu\,ft piece of wood}
+Creates nonmagical wood; can join onto previously \emph{woodformed} items at
+unfinished ends.  Casting time up to 12 turns; may be used to modify
+\emph{woodformed} objects.  Final casting to `lock' item down.
+
+\level
+
+\spell{Anti-magic shell}{0, 12T}
+Personal barrier blocks all magic spell effects.  Caster may cancel the shell
+at will; \emph{dispel magic} cannot.
+
+\spell{Death spell}{$240'$, I, 4d8HD of creatures in $60'$ cube}
+Plants and insects automatically slain; undead and those with 8HD or more not
+affected.  Lowest HD affected first: SvDR or die.
+
+\spell{Disintegrate}{$60'$, I, 1 creature or object}
+Victim may SvDR.  Can destroy a $10'$ section of wall.  Does not affect
+magical items.
+
+\spell{Geas*}{$30'$, until completed, 1 creature}
+Compels victim to perform or avoid an action.  Must not be directly fatal.
+SvS to avoid effect.  Penalties applied if \emph{geas} not followed; cannot
+be removed by \emph{dispel magic} or \emph{remove curse}.  Reverse
+\emph{remove geas}: removes unwanted \emph{geas} ($L' - L$ in 20 chance of
+failure).
+
+\spell{Invisible stalker}{0, until accomplished}
+Summons an invisible stalker to perform a service.
+
+\spell{Lower water}{$240'$, 10T, up to 10\,000\,sq\,ft of water}
+Lowers water to half its normal depth.  At end, water surges in, sweeping
+ship's deck clear of items and creatures who fail SvS; causes $\d{1d12} + 20$
+hull points damage.
+
+\spell{Move earth}{$240'$, 6T}
+Moves soil (not rock) within range, $60'$ per turn.
+
+\spell{Projected image}{$240'$, 6T, 1 image}
+Creates an image of the caster; spells appear to come from the image;
+concentration not required.  Spells and missiles do not affect the image;
+image disappears if touched or struck hand-to-hand.
+
+\spell{Reincarnation}{$10'$, P}
+Creates a new body; part of the old body is needed.
+\begin{tabular}[C]{\shade cl} \hlx*{hv}
+  \th{1d8} & \th{Body}     \\ \hlx{vhv}
+    1--3   & Human         \\ \hlx{+}
+      4    & Dwarf         \\ \hlx{+}
+      5    & Elf           \\ \hlx{+}
+      6    & Halfling      \\ \hlx{+}
+      7    & Original race \\ \hlx{+}
+      8    & Monster (see table below) \\ \hlx*{vh}
+\end{tabular}
+\begin{tabular}[C]{\shade clll} \hlx*{hv}
+  \th{1d6} & \th{Lawful} & \th{Neutral} & \th{Chaotic} \\ \hlx{vhv}
+      1    & Blink dog   & Ape, white   & Bugbear      \\ \hlx{+}
+      2    & Gnome       & Bear (any)   & Gnoll        \\ \hlx{+}
+      3    & Neanderthal & Centaur      & Kobold       \\ \hlx{+}
+      4    & Owl, giant  & Gryphon      & Manticore    \\ \hlx{+}
+      5    & Pegasus     & Lizard man   & Orc          \\ \hlx{+}
+      6    & Treant      & Pixie        & Troglodyte   \\ \hlx*{vh}
+\end{tabular}
+
+\spell{Stone to flesh*}{$120'$, P, 1 statue up to $10'$ cube}
+Turns a status into flesh; restores petrified characters.  Reverse
+\emph{flesh to stone} ($120'$, P, 1 creature): SvTtS or turned to stone.
+
+\spell{Stoneform}{T, P, single 1000\,cu\,ft piece of stone}
+Creates nonmagical stone; can join onto previously \emph{stoneformed} items
+at unfinished ends.  Casting time up to 12 turns; may be used to modify
+\emph{stoneformed} objects.  Final casting to `lock' item down.  Can be used
+to create transparent and translucent stones.
+
+\spell{Wall of iron}{$120'$, P, 500\,sq,ft}
+Creates a $2'$ thick vertical wall; must be vertical and supported.  When
+toppled, cases 10d10 damage to anyone underneath.  Wall has hp equal to the
+caster.
+
+\spell{Weather control}{0, C, weather within $240'$}
+Caster can create a weather condition; must be outdoors.  Possible effects:
+\begin{description}
+\item[Rain] Missile hit rolls have $-2$ penalty; after 3 turns, ground
+  muddy, movement halved.
+\item[Snow] Visibility $20'$; half movement; water may
+  freeze.
+\item[Fog] Visibility $20'$; half movement; those within may
+  become lost.
+\item[Clear] Cancels adverse weather.
+\item[Intense heat] Half movement; water dries up.
+\item[High winds] Missile fire impossible; half movement; sailing ships
+  move 50\% faster; sandstorm in desert ($20'$ visibility).
+\item[Tornado] Inland, whirlwind as 12HD air elemental; at sea, storm or
+  gale.
+\end{description}
+
+\level
+
+\spell{Charm plant}{$120'$, 6 months, 1 or more plants}
+Charms one tree, six medium bushes, 12 small shrubs or 24 small plants (no
+saving throw; plant-like monsters may SvS).  Charmed plants obey the caster,
+tangling enemies within range etc.
+
+\spell{Create normal monsters}{$30'$, 1T, $L$HD of monsters}
+Creates monsters with no special abilities.
+
+\spell{Delayed blast fire ball}{$240'$, 0--60R}
+Makes a red gem which explodes in $20'$ radius for $L$d6 damage (max 20d6,
+SvS for half damage) after chosen amount of time.
+
+\spell{Ironform}{T, P, single 500\,cu\,ft piece of iron}
+Creates nonmagical iron; can join onto previously \emph{ironformed} items
+at unfinished ends.  Casting time up to 12 turns; may be used to modify
+\emph{ironformed} objects.  Final casting to `lock' item down.
+
+\spell{Lore}{0, P, 1 item, place or person}
+Caster gains knowledge of an item, place or person.  Item held in hand takes
+1d4 turns to study: reveals name, command word, approximate charges; one
+function per spell.  Items not in hand, or places and people, take 1d\% days
+or more.
+
+\spell{Magic door*}{$10'$, 7 uses, 1 passage}
+Creates magical, invisible doorway through up to $10'$ of solid material.
+Reverse \emph{magic lock}: can be cast on a portal or doorway; cannot be
+opened with \emph{knock}.
+
+\spell{Mass invisibility*}{$240'$, P, creatures and objects in $60'$ square}
+Creatures in effect become invisible, with all equipment: items become
+visible when dropped; creatures become visible when attacking or casting
+spells.  Reverse \emph{appear} ($240'$, 1T, $20'$ cube): invisible creatures
+and objects in effect become visible.
+
+\spell{Power word stun}{$120'$, I, 1 creature}
+Victim with at most 35\,hp stunned for 2d6 turns; with at most 70\,hp
+stunned for 1d6 turns; otherwise no effect.
+
+\spell{Reverse gravity}{$90'$, 2\,s, $30'$ cube}
+Reverses gravity in effect volume: 1d6 damage per $10'$ fallen, up or down.
+
+\spell{Statue}{0, $2L$T}
+Turns to stone, with all equipment, or returns to normal, once per round.
+Concentration is possible while turned to stone. Caster is AC$^-$4, cannot be
+damaged by cold, fire, poison, normal weapons, and does not need to breathe.
+Caster can escape attacks by winning initiative (at $+2$).
+
+\spell{Summon object}{$\infty$, I, 1 500\,cn object from home}
+Summons an object from the caster's home.  Object must be prepared (special
+powder, costs 1000\,gp per item).  If the item is possessed by someone else
+at the time, the caster will know who and where that person is.  Caster does
+not need to be on the same plane of existence.
+
+\spell{Sword}{$30'$, $L$R}
+Sword does 1d10 damage against any opponent in range.  Caster must
+concentrate for sword to attack.
+
+\spell{Teleport any object}{T, I, 1 500\,cn object}
+Teleports an object, with normal chances of error.  Unwilling creature or
+holder of item may SvS (at $-2$) to avoid effect.
+
+\level
+
+\spell{Clone}{$10'$, P, 1 piece of a living creature}
+Grows a clone of a creature.  For (demi)humans, requires 10\,cn of flesh and
+5000\,gp per HD; takes 1 week per HD to grow. If original is now dead, clone
+has features, stats and memories from when the flesh was taken.  If original
+lives on same plane, both know of the other's existence and feel its
+emotions; if one is damaged, the other is damaged too (SvS for half damage);
+clone is obsessed with slaying the original, and must do so in $L$ days or
+become insane, causing loss of 1 point of $I$ and $W$ to original, who may (1
+in 20 per day) become insane too, and both die after a week.  For other
+creatures (\emph{simulacra}), requires 1\% of flesh and 500\,gp per hit
+point; takes 1 week per HD; simulacrum obeys creator, can receive mental
+commands if within $10'$, has caster's alignment, cannot pass
+\emph{protection from evil}, can be destroyed by \emph{dispel magic}; it has
+50\% of original's hp, does 50\% damage and has 10 in 20 chance of each
+special ability; if original is dead, gains 5\% (1 in 20) per week.
+
+\spell{Create magical monsters}{$60'$, 2T, $L$HD}
+Creates monsters with two special abilities or less.  Can create
+\emph{construct} with two special abilities, which is permanent: materials
+cost 5000\,gp per asterisk.
+
+\spell{Dance}{T, $\lceil L/4\rceil - 2$R, 1 creature}
+Causes creature to dance ($-4$ on saving throws, $+4$ on AC, cannot attack or
+cast spells).
+
+\spell{Explosive cloud}{$'1$, 6T, cloud $20' \times 30'\phi$ or smaller}
+Those within cloud must SvS each round or be paralysed (for 1 round); also
+take $\lfloor L/2\rfloor$\,hp explosive damage each round, regardless of any
+immunities.
+
+\spell{Force field}{$120'$, 6T}
+Field shape is sphere, hemisphere, plane, cylinder, or (partial) rectangular
+box, radius max $20'$, flat surfaces max 5000\,sq\,ft area; edges are
+blunt and harmless; leaves gaps where solid objects or creatures are.  Field
+cannot be moved or penetrated by spells, missiles, creatures, breath weapons
+etc.  Can only be removed by \emph{wish} or \emph{disintegrate}.
+
+\spell{Mass charm*}
+  {$120'$, as \emph{charm person}, 30HD of creatures in $20'$ cube}
+Charms up to 30HD or levels of creatures; each may save at $-2$.  If caster
+attacks a charmed creature, its charm is broken; others seeing attack may
+save again.  Reverse \emph{remove charm} ($120'$, 1T, $20'$ cube): removes
+and prevents all charm effects in volume.
+
+\spell{Mind barrier*}{$10'$, $6L$T, 1 creature}
+Prevents \emph{ESP}, \emph{clairvoyance}, \emph{clairaudience}, \emph{crystal
+ball} gazing, \emph{contact outer plane} etc.\@ from gathering information
+about the target; bonus of $+8$ against illusions, \emph{charm},
+\emph{feeblemind} (SvS to avoid).  Reverse \emph{open mind} (T, $6L$T, 1
+creature): applies $-8$ penalties to illusions etc.
+
+\spell{Permanence}{$10'$, P, 1 magical effect}
+Makes a spell effect permanent; weapons can receive five permanent effects,
+creatures two, and other items one at most.  If a weapon has permanent
+effects, further \emph{permanence} spells may fail 1 in 4, destroying the
+weapon.  A \emph{permanence} may be removed by \emph{dispel magic}.
+
+\spell{Polymorph any object}{$240'$, complicated, one item up to $10'$ cube}
+Kingdoms are $\textit{animal} \leftrightarrow \textit{vegetable}
+\leftrightarrow \textit{mineral}$.  Effect duration is $L$ turns for a
+two-kingdom change, $6L$ for a one-kingdom change, or permanent if no change
+of kingdom is involved.  Victim may make SvS at $-4$; creatures of 41HD or
+more are unaffected.
+
+\spell{Power word blind}{$120'$, 1d4 days or 2d4 hours, 1 creature}
+Blinds creatures with 40\,hp or less for 1d4 days, with 80\,hp or less for
+2d4 hours ($\d{2d4} \times 6$ turns); no effect on creatures with more than
+80\,hp.  Blind creatures are $-4$ to hit, on saves, and AC; cannot be removed
+by \emph{cure blindness}, \emph{cureall} or \emph{heal} unless $L' \ge L$.
+
+\spell{Steelform}{T, P, single 500\,cu\,ft piece of steel}
+Creates nonmagical weapon-quality steel; can join onto previously
+\emph{steelformed} items at unfinished ends.  Casting time up to 12 turns;
+may be used to modify \emph{steelformed} objects.  Final casting to `lock'
+item down.
+
+\spell{Symbol}{T, P}
+Place symbol on object or in mid-air.  When creature passes over or through
+the symbol, or touches or reads it, effect occurs (SvS only for magic-users,
+elves etc., if touched or read but not passed).
+\begin{description}
+\item[Death] Slays creature with 75\,hp or less.
+\item[Discord] Attacks allies, or is otherwise \emph{confused} until
+  dispelled or cured (e.g., by \emph{cureall}).
+\item[Fear] Flees for 30 rounds at running speed.
+\item[Insanity] Becomes insane -- cannot attack, cast spells, use special
+  abilities until dispelled or cured (e.g., by \emph{cureall}).
+\item[Sleep] Falls asleep for $\d{1d10} + 10$ hours or until dispelled.
+\item[Stunning] Stuns creature with 150\,hp or less for 2d6 rounds.
+\end{description}
+
+\spell{Travel}{0, $L$T}
+Allows free travel.  MV\flying360); move between planes by one round's
+concentration (at most 1 per turn), bringing along $\lfloor L/5 \rfloor$
+others touched; assume gaseous form by one round's concentration (with all
+equipment; MV\flying720, cannot pass \emph{protection from evil} or
+\emph{anti-magic shell}).
+
+\level
+
+\spell{Contingency}{T, until used, 1 creature or item}
+Specify situation and (non-damaging) spell of 4th level or most; spell occurs
+when situation occurs.
+
+\spell{Create any monster}{$90'$, 3T, $L$HD}
+Creates monsters with any special abilities.  Can create \emph{construct},
+which is permanent: materials cost 5000\,gp per asterisk, or double if four
+or more asterisks.
+
+\spell{Gate*}{$30'$, 1T or $\d{1d10 \times 10}$T, 1 portal}
+Opens portal to another plane and a resident of the plane.  \emph{Gate} to
+outer plane lasts 1 turn; other \emph{gates} last 10--100 turns; 1 in 10
+chance per turn that other creature wanders through the \emph{gate}.
+Resident will usually respond in 1d6 rounds but may (1 in 20) send some other
+being.  Reverse \emph{close gate}: closes existing \emph{gate} (even a
+permanent one).
+
+\spell{Heal}{T, P, 1 creature}
+Cures damage (all but 1d6\,hp), curse, poison, disease, blindness or
+\emph{feeblemind}.  Eliminates need for resting after \emph{raise dead}.
+
+\spell{Immunity}{T, $L$T, 1 creature}
+Target is immune to 1st--3rd level spells; 4th and 5th level spells have half
+effect.  Also immune to missiles (normal and magical) and normal and silver
+weapons (but not natural weaponry).  Target can voluntarily drop the
+\emph{immunity} for a round.
+
+\spell{Maze}{$60'$, by intelligence, 1 creature}
+Traps creature in indestructible maze (no save).
+\begin{tabular}[C]{\shade cl} \hlx*{hv}
+  \th{Int} & \th{Time} \\ \hlx{vhv}
+     1--8       & 1d6 turns \\ \hlx{+}
+   \09--12      & 2d20 rounds \\ \hlx{+}
+    13--17      & 2d4 rounds \\ \hlx{+}
+      18\rlap+  & 1d4 rounds \\ \hlx*{vh}
+\end{tabular}
+
+\spell{Meteor swarm}{$240'$, I, 4 or 8 meteor-fireballs}
+Each meteor must be aimed at a different target.  Each strikes for 8d6 (or
+4d6 if 8 meteors) damage (no save), and explodes with $20'$ radius for 8d6
+(or 4d6) damage (SvS for half damage).
+
+\spell{Power word kill}{$120'$, I, 1 or more creatures}
+Kills single victim with 60\,hp or less, or stun (1d4 turns) if 100\,hp or
+less; kills up to 5 victims with 20\,hp each.  Magic-user (or elf etc.\@
+only) may SvS at $-4$.
+
+\spell{Prismatic wall}
+  {$60'$, 6T, sphere ($10'$ radius) or plane (500\,sq\,ft)}
+Creates $2'$ thick wall.  Caster may pass unharmed with any items.  Others
+are affected by wall.  Wall is solid and indestructible on adjacent planes of
+existence.  An \emph{anti-magic shell} cannot pass.  Violet side is closest
+to caster.
+\begin{tabular}[C]{\shade l>{\raggedright}p{7pc}l} \hlx*{hv}
+  \th{Colour}  & \th{Effect}                & \th{Negated by} \\ \hlx{vhv}
+  Red          & Blocks magical missiles;
+                 12\,hp damage              & Magical cold \\ \hlx{+}
+  Orange       & Blocks nonmagical missiles;
+                 24\,hp damage              & Magical lightning \\ \hlx{+}
+  Yellow       & Blocks breath weapons;
+                 48\,hp damage              & \emph{Magic missile} \\ \hlx{+}
+  Green        & Blocks detection;
+                 SvPn or die                & \emph{Passwall} \\ \hlx{+}
+  Blue         & Blocks poison, gas, gaze;
+                 SvTtS or petrified         & \emph{Disintegrate} \\ \hlx{+}
+  Indigo       & Blocks all matter;
+                 SvS or \emph{gated} to
+                 random outer plane, 3 in 6
+                 lost forever               & \emph{Dispel magic} \\ \hlx{+}
+  Violet       & Blocks magic of all types;
+                 SvW or unconscious and
+                 insane (cured by
+                 \emph{cureall} or
+                 \emph{heal})               & \emph{Continual light}
+  \\ \hlx*{vh}
+\end{tabular}
+
+\spell{Shapechange}{0, $L$T}
+Caster becomes other creature, except in mind, hp and saves; special
+abilities are gained.  Cast memorized spells in humanoid form only.
+Inanimate forms $L'$ tall and $L \times 100$\,cn weight are possible.  Change
+shape at will each round by concentration.
+
+\spell{Survival}{T, $6 L$T, 1 creature}
+Protects target from all non-magical environmental damage.
+
+\spell{Timestop}{0, $\d{1d4} + 1$R}
+Stops time for everyone else for duration.  Items held by others are
+immovable; items carried (or loose) can be moved.  Non-instantaneous spells
+start after the duration ends.  Cannot pass through \emph{anti-magic shell}
+or \emph{protection from evil} effect.
+
+\spell{Wish}{special}
+See notes in rules.
+
+\end{spells}
+
 \end{document}
 
 %%% Local Variables: 
diff --git a/tables.cls b/tables.cls
index 21573c1..d0bebf7 100644
--- a/tables.cls
+++ b/tables.cls
@@ -16,16 +16,24 @@
 }
 \pagestyle{foots}
 
-\count1 = 0
-\def\thepagemax{\pageref{pgn:\the\count1}}
+\newcount\sectcount
+\sectcount = 0
+\def\thepagemax{\pageref{pgn:\the\sectcount}}
 \def\sect#1{%
-  \label{pgn:\the\count1}%
+  \label{pgn:\the\sectcount}%
   \newpage\section{#1}%
   \gdef\sectname{#1}%
-  \global\advance\count1by1%
-  \global\count0=1%
+  \global\advance\sectcount\@ne%
+  \global\count0\@ne%
 }
-\AtEndDocument{\label{pgn:\the\count1}}
+
+\def\subsect#1{%
+  \goodbreak\medskip%
+  {\normalsize\bfseries\sffamily#1}\par%
+  \nobreak\@nobreaktrue%
+}
+
+\AtEndDocument{\label{pgn:\the\sectcount}}
 
 %%% tables
 \tabcolsep = 0.5em
@@ -50,6 +58,9 @@
   \hlx*{vh} \end{tabular}%
 }
 
+\def\swimming{\unskip\penalty100/\ignorespaces}
+\def\flying{\unskip\penalty100/$\!\!\!$/\ignorespaces}
+
 %%% table sets
 \def\col{\vbox\bgroup\halign\bgroup\hfil\ignorespaces##\unskip\hfil\cr}
 \def\endcol{\crcr\egroup\egroup}
@@ -59,7 +70,8 @@
 \def\colgap{\cr\noalign{\medskip}}
 \def\line{\endrow\medskip\row}
 \def\set{\@ifnextchar[\set@{\set@[c]}}
-\newskip\topglue@ \newskip\botglue@
+\newskip\topglue@
+\newskip\botglue@
 \def\set@[#1]{\topglue@0ptplus1fil\botglue@0ptplus1fil\ifx
   b#1\botglue@\z@\else\ifx t#1\topglue@\z@\fi\fi\vspace\bigskipamount\vbox\bgroup\row}
 \def\endset{\endrow\egroup}
diff --git a/treasure.tex b/treasure.tex
index da9e2f2..9da7ae8 100644
--- a/treasure.tex
+++ b/treasure.tex
@@ -1,8 +1,21 @@
 \documentclass{tables}
+\usepackage{mdwlist}
 
 \def\nil{\multicolumn{2}{c}{---}}
 \def\lnil{\multicolumn{2}{l}{---}}
 
+\renewenvironment{description}{%
+  \basedescript{%
+    \let\makelabel\textit%
+    \desclabelstyle{\pushlabel}%
+    \desclabelwidth{2em}%
+    \parsep\z@%
+    \itemsep\smallskipamount%
+  }%
+}{%
+  \endbasedescript%
+}
+
 \begin{document}
 
 \sect{Treasure}
@@ -185,7 +198,7 @@
   \tt{Gem variations} \\
   \th{d10} & \th{Size}    & \th{Quality}
            & \multicolumn{2}{c}{\th{Value}}          \\ \hlx{vhv}
-     1     & Very small   & Very poor     &  12&.5\% \\ \hlx{+}
+   \01     & Very small   & Very poor     &  12&.5\% \\ \hlx{+}
    2--3    & Small        & Poor          &  25&\%   \\ \hlx{+}
    4--5    & Fairly small & Fairly poor   &  50&\%   \\ \hlx{+}
    6--7    & Fairly large & Fairly good   & 200&\%   \\ \hlx{+}
@@ -357,6 +370,19 @@
   97--98   & Wishes               \\ \hlx{+}
   99--00   & X-ray vision         \\ \hlx*{vh}
 \end{tabular}
+\line
+\begin{tabular}{\shade cl} \hlx*{hv}
+  \tt{Elements (for staff/ring)} \\
+  \th{d\%} & \th{Element}    \\ \hlx{vhv}
+   01--21  & Air             \\ \hlx{+}
+   22--42  & Earth           \\ \hlx{+}
+   43--63  & Fire            \\ \hlx{+}
+   64--84  & Water           \\ \hlx{+}
+   85--91  & Air and Water   \\ \hlx{+}
+   92--98  & Earth and Fire  \\ \hlx{+}
+   99--00  & All elements    \\ \hlx*{vh}
+\end{tabular}
+
 \end{set}
 
 \begin{set}
@@ -505,7 +531,7 @@
      54    & Horn of Blasting                                \\ \hlx{+}
    55--56  & Lamp, Hurricane                                 \\ \hlx{+}
    57--59  & Lamp of Long Burning                            \\ \hlx{+}
-   60--71  & Medallion of ESP, 30$'$r                        \\ \hlx{+}
+   60--61  & Medallion of ESP, 30$'$r                        \\ \hlx{+}
      62    & Medallion of ESP, 90$'$r                        \\ \hlx{+}
      63    & Mirror of Life Trapping                         \\ \hlx{+}
    64--66  & Muzzle of Training                              \\ \hlx{+}
@@ -695,47 +721,28 @@
 \end{tabular}
 \colgap
 \begin{tabular}{\shade cl} \hlx*{hv}
-  \tt{Opponents} \\
-  \th{d\%} & \th{Type}                \\ \hlx{vhv}
-   00--06  & Bugs                     \\ \hlx{+}
-   05--09  & Constructs               \\ \hlx{+}
-   10--15  & Dragonkind               \\ \hlx{+}
-   16--24  & Enchanted monsters       \\ \hlx{+}
-   25--36  & Giantkind                \\ \hlx{+}
-   37--48  & Lycanthropes             \\ \hlx{+}
-   49--52  & Planar monsters          \\ \hlx{+}
-   53--58  & Regenerating monsters    \\ \hlx{+}
-   59--67  & Reptiles, dinosaurs      \\ \hlx{+}
-   68--70  & Spell-immune monsters    \\ \hlx{+}
-   71--76  & Spellcasters             \\ \hlx{+}
-   77--88  & Undead                   \\ \hlx{+}
-   89--94  & Water-breathing monsters \\ \hlx{+}
-   95--00  & Weapon-using monsters    \\ \hlx*{vh}
-\end{tabular}
-\colgap
-\begin{tabular}{\shade cl} \hlx*{hv}
   \tt{Missile talents} \\
-  \th{d\%} & \th{Talent}  \\ \hlx{vhv}
-    01--04 & Biting       \\ \hlx{+}
-    05--09 & Blinking     \\ \hlx{+}
-    10--14 & Charming     \\ \hlx{+}
-    15--21 & Climbing     \\ \hlx{+}
-    22--31 & Curing       \\ \hlx{+}
-    32--34 & Disarming    \\ \hlx{+}
-    35--38 & Dispelling   \\ \hlx{+}
-    39--45 & Flying       \\ \hlx{+}
-    46--52 & Lightning    \\ \hlx{+}
-    53--57 & Penetrating  \\ \hlx{+}
-    58--61 & Refilling    \\ \hlx{+}
-    62--67 & Screaming    \\ \hlx{+}
-    68--72 & Seeking      \\ \hlx{+}
-    73--76 & Sinking      \\ \hlx{+}
-    77--78 & Slaying      \\ \hlx{+}
-    79--85 & Speaking     \\ \hlx{+}
-    86--89 & Stunning     \\ \hlx{+}
-    90--91 & Teleporting  \\ \hlx{+}
-    92--96 & Transporting \\ \hlx{+}
-    97--00 & Wounding     \\ \hlx*{vh}
+  \th{d\%} & \th{Talent}              \\ \hlx{vhv}
+    01--04 & Biting                   \\ \hlx{+}
+    05--09 & Blinking                 \\ \hlx{+}
+    10--14 & Charming                 \\ \hlx{+}
+    15--21 & Climbing                 \\ \hlx{+}
+    22--31 & Curing                   \\ \hlx{+}
+    32--34 & Disarming                \\ \hlx{+}
+    35--38 & Dispelling               \\ \hlx{+}
+    39--45 & Flying                   \\ \hlx{+}
+    46--52 & Lightning                \\ \hlx{+}
+    53--57 & Penetrating              \\ \hlx{+}
+    58--61 & Refilling                \\ \hlx{+}
+    62--67 & Screaming                \\ \hlx{+}
+    68--72 & Seeking                  \\ \hlx{+}
+    73--76 & Sinking                  \\ \hlx{+}
+    77--78 & Slaying \emph{opp.}      \\ \hlx{+}
+    79--85 & Speaking                 \\ \hlx{+}
+    86--89 & Stunning                 \\ \hlx{+}
+    90--91 & Teleporting              \\ \hlx{+}
+    92--96 & Transporting             \\ \hlx{+}
+    97--00 & Wounding                 \\ \hlx*{vh}
 \end{tabular}
 \quad
 \begin{tabular}{\shade cl} \hlx*{hv}
@@ -745,6 +752,7 @@
    06--12  & Charming      \\ \hlx{+}
    13--16  & Deceiving     \\ \hlx{+}
    17--23  & Defending     \\ \hlx{+}
+   24--25  & Deflecting    \\ \hlx{+}
    26--27  & Draining      \\ \hlx{+}
    28--32  & Extinguishing \\ \hlx{+}
    33--38  & Finding       \\ \hlx{+}
@@ -758,9 +766,29 @@
    80--81  & Slicing       \\ \hlx{+}
    82--85  & Slowing       \\ \hlx{+}
    86--89  & Speeding      \\ \hlx{+}
-   90--99  & Watching      \\ \hlx{+}
+   90--94  & Translating   \\ \hlx{+}
+   95--99  & Watching      \\ \hlx{+}
      00    & Wishing       \\ \hlx*{vh}
 \end{tabular}
+\colgap
+\begin{tabular}{\shade cl} \hlx*{hv}
+  \tt{Opponents} \\
+  \th{d\%} & \th{Type}                \\ \hlx{vhv}
+   00--06  & Bugs                     \\ \hlx{+}
+   05--09  & Constructs               \\ \hlx{+}
+   10--15  & Dragonkind               \\ \hlx{+}
+   16--24  & Enchanted monsters       \\ \hlx{+}
+   25--36  & Giantkind                \\ \hlx{+}
+   37--48  & Lycanthropes             \\ \hlx{+}
+   49--52  & Planar monsters          \\ \hlx{+}
+   53--58  & Regenerating monsters    \\ \hlx{+}
+   59--67  & Reptiles, dinosaurs      \\ \hlx{+}
+   68--70  & Spell-immune monsters    \\ \hlx{+}
+   71--76  & Spellcasters             \\ \hlx{+}
+   77--88  & Undead                   \\ \hlx{+}
+   89--94  & Water-breathing monsters \\ \hlx{+}
+   95--00  & Weapon-using monsters    \\ \hlx*{vh}
+\end{tabular}
 \quad
 \end{set}
 
@@ -775,7 +803,7 @@
    91--94  &  \09 & Empathy & --- & 3 primary               \\ \hlx{+}
    95--97  &   10 & Speech  & 1d3 & 3 primary               \\ \hlx{+}
    98--99  &   11 & Speech  & 1d6 & 3 primary, \emph{read magic} \\ \hlx{+}
-   95--97  &   12 & Speech  & 2d4 & 3 primary, \emph{read magic},
+     00    &   12 & Speech  & 2d4 & 3 primary, \emph{read magic},
                                     1 extraordinary \\ \hlx*{vh}
 \end{tabular}
 \line
@@ -801,7 +829,7 @@
    01--10  & Clairaudience                                  \\ \hlx{+}
    11--20  & Clairvoyance                                   \\ \hlx{+}
    21--30  & ESP                                            \\ \hlx{+}
-   31--35  & Extra damage ($\times\,5$ or more)\s d
+   31--35  & Extra damage ($\times\,4$ or more)\s d
                                                             \\ \hlx{+}
    36--40  & Flying                                         \\ \hlx{+}
    41--45  & Healing (6\,hp)\s d                            \\ \hlx{+}
@@ -817,6 +845,987 @@
 \end{tabular}
 \end{set}
 
+\begin{multicols}{2}[\sect{Magical items}]
+%%\twocolumn[\sect{Magical items}\medskip]
+
+\raggedright
+
+\subsect{Potions}
+
+Treat as 6th level magic.  Duration usually $\d{1d6} + 6$ turns.
+
+\textbf{Control potions:} User must concentrate to control victims: cannot
+fight, half movement; victim allowed SvS, but attempt may be repeated each
+round.  Range is $60'$.
+
+\begin{description}
+
+\item[Agility] Dexterity becomes 18.
+
+\item[Animal control] Control up to 3d6HD normal or giant animals; they will
+  flee in fear when control ends.
+
+\item[Antidote] Immunity to some poisons, $+2$ on SvPn.
+  \begin{tabular}[C]{\shade cl} \hlx*{hv}
+    \th{1d10} & \th{Strength}    \\ \hlx{vhv}
+      1--4    & 3HD or less      \\ \hlx{+}
+      5--7    & 7HD or less      \\ \hlx{+}
+      8--9    & 15HD or less     \\ \hlx{+}
+       10     & All              \\ \hlx*{vh}
+  \end{tabular}
+
+\item[Blending] Change colouring (including items carried) to match
+  surroundings; 1 in 10 chance of detection without \emph{detect invisible}
+  or \emph{truesight}.
+
+\item[Bug repellent] Cannot be touched by normal bug; giant bugs ignore
+  unless they SvS.  Bonus $+4$ on saves against bug attacks.
+
+\item[Clairaudience] Hear through ears of creature within $60'$.
+
+\item[Clairvoyance] See through eyes of creature within $60'$.
+
+\item[Climbing] Climb sheer surfaces like a spider (1 in 20 chance of falling
+  per $100'$.
+
+\item[Defence] AC bonus.
+  \begin{tabular}[C]{\shade cMc} \hlx*{hv}
+    \th{1d10} & \th{Strength}    \\ \hlx{vhv}
+      1--3    & +1               \\ \hlx{+}
+      4--5    & +2               \\ \hlx{+}
+      6--7    & +3               \\ \hlx{+}
+      8--9    & +4               \\ \hlx{+}
+       10     & +5               \\ \hlx*{vh}
+  \end{tabular}
+
+\item[Delusion] Believe has effect of some other potion.
+
+\item[Diminution] Shrink to $6''$ height.  Possible to attack $1'$ creatures
+  normally; 1 in 10 chance of detection when standing still.  Cancels
+  \emph{potion of growth}.
+
+\item[Dragon control] Control up to three small dragons; large dragons cannot
+  be controlled.  Dragons hostile when controls end.  Controls gemstone kind
+  3 in 10.
+  \begin{tabular}[C]{\shade cl} \hlx*{hv}
+    \th{1d20} & \th{Dragon kind} \\ \hlx{vhv}
+        1--5  & White or Crystal \\ \hlx{+}
+      \06--10 & Black or Onyx    \\ \hlx{+}
+       11--14 & Green or Jade    \\ \hlx{+}
+       15--17 & Blue or Sapphire \\ \hlx{+}
+       18--19 & Red or Ruby      \\ \hlx{+}
+         20   & Gold or Amber    \\ \hlx*{vh}
+  \end{tabular}
+
+\item[Dreamspeech] Speak to one sleeping or paralysed creature and hear
+  answers via ESP.  Lasts 1 turn only.
+
+\item[Elasticity] Stretch (including items carried) to $30'$ long or $1''$
+  thick.  Half damage from blunt weapons.  Lasts 1 turn only.
+
+\item[Elemental form] Change to elemental form (equal chance of each element)
+  and back again as required; change takes 1 round.  No special immunities
+  gained; hp and AC preserved; special attacks gained.  Lasts 1 turn only.
+
+\item[ESP] `Hear' thoughts in some direction after concentrating for 6
+  rounds.  If more than one creature in range and direction, the result is a
+  confused jumble.  \emph{ESP} is blocked by $2'$ of rock, or any lead.
+
+\item[Ethereality] Become ethereal once during duration, remaining ethereal
+  for up to 24 hours.
+
+\item[Fire resistance] Unharmed by normal fire; $+2$ on saves against fire
+  attacks and damage biased by $-1$ per die.
+
+\item[Flying] Allows flight, MV\flying360.  Hovering does not require
+  concentration.
+
+\item[Fortitude] Constitution becomes 18.
+
+\item[Freedom] Immune to paralysis (and \emph{hold} etc.).
+
+\item[Gaseous form] Become gaseous cloud (without equipment!); AC$^-2$,
+  immune to nonmagical attacks; MV\flying120.
+
+\item[Giant control] Control up to four giants.
+  \begin{tabular}[C]{\shade cl} \hlx*{hv}
+    \th{1d20} & \th{Giant kind}  \\ \hlx{vhv}
+        1--5  & Hill             \\ \hlx{+}
+      \06--10 & Stone            \\ \hlx{+}
+       11--14 & Frost            \\ \hlx{+}
+       15--16 & Fire             \\ \hlx{+}
+         17   & Mountain         \\ \hlx{+}
+         18   & Sea              \\ \hlx{+}
+         19   & Cloud            \\ \hlx{+}
+         20   & Storm            \\ \hlx*{vh}
+  \end{tabular}
+
+\item[Giant strength] Strength of frost giant: double normal damage; throw
+  boulders (3d6 damage, range 60/130/200); no effect if strength-adjusting
+  magical item worn.
+
+\item[Growth] Twice normal size: double normal damage; hp preserved.  Cancels
+  \emph{potion of diminution}.
+
+\item[Healing] Heals $\d{1d6} + 1$\,hp, or cures paralysis.
+
+\item[Heroism] No effect on elf, cleric, magic-user, thief or 11+HD;
+  otherwise NM becomes F4; 1--3HD gains 3HD; 4--7HD gains 2HD; 8--10HD gains
+  1HD.
+
+\item[Human control] Control up to 6HD (NM is $\tfrac{1}{2}$), similar to
+  \emph{charm person}.
+
+\item[Invisibility] Become invisible with all items carried; items become
+  visible when dropped; user becomes visible if attacking or casting spell.
+  Contains 6 doses working for 1d2 turns each.
+
+\item[Invulnerability] Bonus $+2$ to AC and saving throws.  Only usable once
+  a week.
+
+\item[Levitation] Move up and down (only) at $20'$ per round, carrying up to
+  2000\,cn.
+
+\item[Longevity] Become 10 years younger permanently (no younger than
+  mid-adolescence, no adverse effect on abilities).
+
+\item[Luck] Choose result of one die roll.  Lasts 1 hour at most.
+
+\item[Merging] Merge with up to seven other willing creatures (with all
+  equipment).  Merged creatures can speak but not cast spells; damage is
+  caused only to user.
+
+\item[Plant control] Control plants (and plantlike monsters) in $30'$ square
+  within $60'$; plants can entangle but not damage.
+
+\item[Poison] SvPn or die; treat as 7HD for \emph{antidote}.
+
+\item[Polymorph self] Change shape up to once per round into creature with no
+  more than $L$HD.  Hit points, armour class, hit rolls saving throws all
+  preserved; no special abilities or immunities are gained.
+
+\item[Sight] Detect \emph{invisible} within $60'$.
+
+\item[Speech] Understand and respond to any languages heard within $60'$.
+
+\item[Speed] Move at twice normal speed, two attacks per round, etc.
+
+\item[Strength] Strength becomes 18.
+
+\item[Super-healing] Heals $\d{3d6} + 3$\,hp.
+
+\item[Swimming] MV\swimming180 (even encumbered); cannot sink unless carrying
+  more than 3000\,cn.  Water breathing \emph{not} granted.  Lasts 8 hours.
+
+\item[Treasure finding] Detect direction and distance of largest treasure
+  within $360'$ by concentration.
+
+\item[Undead control] Control up to 18HD of undead.
+
+\item[Water breathing] Breathe under water.  Lasts 4 hours.
+
+\end{description}
+
+\subsect{Scrolls}
+
+\begin{description}
+
+\item[Communication] Two scrolls; message (up to 100 words) written on one
+  appears on other; erasure (1 in 20) destroys magic.
+
+\item[Creation] Creates drawn object (up to $5' \times 10' \times 1'$ and
+  5000\,cn).  Object vanishes after 24 hours, or on command.  One item per
+  day.
+
+\item[Cursed] Removable by \emph{remove curse}.
+
+\item[Delay] Spell scroll: casts spell with 0--12 round delay chosen by
+  reader.  Spell effect controlled by reader if scroll carried; otherwise
+  effect centres on scroll (affecting nearest creature if applicable).
+  Scroll unharmed by spell.
+
+\item[Equipment] Lists six normal items; when read, items appear within
+  $10'$.  Items vanish after 24 hours, or on command; name disappears while
+  item exists.  Three items per day.
+
+\item[Illumination] Bears drawing of flame.  Scroll illuminates $60'$ when
+  ignited; not consumed by fire.  Cannot be extinguished except by water or
+  command.
+
+\item[Mages] Initially blank; identifies chosen magical effect within $30'$,
+  giving spell name and caster level.
+
+\item[Treasure maps] May be inaccurate or incomplete; may require \emph{read
+    languages} for decoding.
+
+\item[Mapping] Initially blank; on command, draws map of area within $100'$
+  of scroll, up to $10\,000\,sq\,ft$ area.  1 in 6 chance of detecting each
+  secret door; will not draw beyond.  Once per day.
+
+\item[Portals] Placed against stone wall or floor; makes $10' \times 5'\phi$
+  hole for 3 turns or until commanded; scroll reappears when hole vanishes.
+  Twice per day.
+
+\item[Protection] Usable by any character who can read the language.
+  $20'\phi$ circle (moves with reader) prevents kind of creature from
+  entering unless attacked in mel\'ee.
+  \begin{description*}
+  \item[Elementals] Duration 2 turns; no elemental may enter.
+  \item[Lycanthropes] Duration 6 turns; affects 1d10 werebats, wererats or
+    werefoxes; 1d8 wereboars or werewolves; 1d6 wereseals or weresharks; 1d4
+    werebears or weretigers; or 1d2 devil swine.
+  \item[Magic] Duration 1d4 turns; no magic effect can enter or leave; only
+    broken by \emph{wish}.
+  \item[Undead] Duration 6 turns; affects 2d12 skeletons, zombies or ghouls;
+    2d6 wights, wraiths or mummies; 1d6 spectres or larger.
+  \end{description*}
+
+\item[Questioning] Ask questions of nonliving, nonmagical objects; answers
+  appear on scroll as if objects had senses.
+
+\item[Repetition] Spell scroll: repeats spell effect 1 turn later centred on
+  scroll (affecting nearest creature if applicable).  May write spell of same
+  level on blanked scroll for repetition effect again.
+
+\item[Seeing] Initially blank; on command, draws (up to four kinds of)
+  creatures within $100'$ in chosen area.  Once per day.
+
+\item[Shelter] Bears drawing of room with beds, table, chairs, food and
+  drink, swords and shields.  When hung on wall, room may be entered and
+  items used.  If taken down: replenishes food and water; traps those within
+  (no escape except \emph{wish}), air remains for 24 hours.  Once per day;
+  scroll falls off after 12 hours.
+
+\item[Spell catching] Initially blank; if held up `catches' spell cast at
+  user (SvS at $+4$): spell transferred to scroll.  Once per day.
+  \begin{tabular}[C]{\shade cc} \hlx*{hv}
+    \th{1d10} & \th{Max level} \\ \hlx{vhv}
+      1--4    & 2              \\ \hlx{+}
+      5--7    & 4              \\ \hlx{+}
+      8--9    & 6              \\ \hlx{+}
+       10     & 8              \\ \hlx*{vh}
+  \end{tabular}
+
+\item[Trapping] Creates one trap, depending on placement: pit on floor,
+  falling-blocks on ceiling, dart or gas on wall.
+
+\item[Truth] Initially blank; ask question of living creature within $30'$,
+  scroll shows true answer (within target's knowledge).  Once per day.
+
+\end{description}
+
+\subsect{Wands}
+
+Usually 2d10 charges.  Treat as 6th level magic.
+
+\begin{description}
+
+\item[Cold] Cone of cold, $60' \times 30'$, 6d6 damage (SvW for half).
+
+\item[Enemy detection] Enemies within $60'$ appear to glow, even if
+  invisible.
+
+\item[Fear] Cone of fear, $60' \times 30'$, SvW or flee (triple MV) for 30
+  rounds.
+
+\item[Fire balls] Fire ball within $240'$; $40'\phi$, 6d6 damage (SvW for
+  half).
+
+\item[Lightning bolts] Lightning bolt within $180'$, $60' \times 5'$, 6d6
+  damage (SvW for half).
+
+\item[Magic detection] Magical items within $20'$ appear to glow.
+
+\item[Metal detection] Points towards named kind of metal within $20'$ if
+  1000\,cn or more present.
+
+\item[Negation] Cancels effect of wand or staff (for one round).
+
+\item[Paralysation] Cone $60' \times 30'$, SvW or paralysed for 6 turns.
+
+\item[Polymorphing] Performs \emph{polymorph self} or \emph{polymorph other}
+  as directed; SvW to avoid.
+
+\item[Secret door detection] Finds secret doors within $20'$ one at a time;
+  one charge per door found.
+
+\item[Trap detection] Finds traps within $20'$ one at a time, one charge per
+  trap found.
+
+\end{description}
+
+\subsect{Staves}
+
+Usually 3d10 charges.  Treat as 8th level magic.
+
+\begin{description}
+
+\item[Commanding] As for \emph{rings of animal, human and plant control}
+  (q.v.).
+
+\item[Dispelling] Touch is \emph{dispel magic} from M15.  Destroys potion or
+  scroll; permanent items nonmagical for 1d4 rounds.
+
+\item[Druids] Extra spell of each level.  Usable as $+3$ weapon.
+
+\item[Element] On prime plane: $+4$ to save against attack forms based on
+  element; immunity from type of elementals; summon 8HD elemental (once per
+  day, uses charge); spell effects (as M10, uses charge): \emph{lightning
+    bolt} and \emph{cloudkill} (air), \emph{web} and \emph{wall of stone}
+  (earth), \emph{fire ball} and \emph{wall of fire} (fire), \emph{ice storm}
+  and \emph{ice wall} (water).
+
+  On elemental plane: immunity to plane, $60'$ visibility (\emph{not}
+  breathing!), extended to $10'$ radius with \emph{ring of elemental
+  adaptation} or \emph{talisman of elemental travel}.  On opposing plane:
+  explodes with $60'$ radius doing $20 + n\d{d8}$ electrical damage with $n$
+  charges remaining; SvS at $-4$ for half damage, except for wielder.
+
+  Negates effects of opposing element (one charge for staff effect, two for
+  spell); can return opposing elementals to home planes if touched (same
+  costs).
+
+  Usable as $+2$ weapon.
+
+\item[Harming] Does $\d{1d6} + 1$ extra damage (uses charge).  Also
+  \emph{cause blindness} (2), \emph{cause disease} (2), \emph{cause serious
+  wounds} (3), \emph{create poison} (4).
+
+\item[Healing] Heals $\d{1d6} + 1$ damage per use; once per day per person
+  but no limit on persons; no charges used.  Also \emph{cure blindness} (1),
+  \emph{cure disease} (1), \emph{cure serious wounds} (2), \emph{neutralize
+  poison} (2).
+
+\item[Power] As \emph{staff of striking}; also \emph{fire ball},
+  \emph{lightning bolt}, \emph{ice storm}, \emph{continual light}, or
+  \emph{telekinesis} (inanimate objects up to 2400\,cn, 6 rounds), one charge
+  each.
+
+\item[Snake staff] Usable as $+1$ weapon.  Turns into snake on command; SvS
+  or coils round man-size target for 1d4 turns or commanded.  MV60; HD3(M),
+  20\,hp, C3, XP6; AC5, T17, coil; A; ML12.  Spend charges to improve hit
+  roll, or transfer \emph{cure} (no range limit).
+
+\item[Striking] Causes 2d6 damage per hit (uses charge).
+
+\item[Withering] Ages victim 10 years.
+
+\item[Wizardry] As \emph{staff of power}.  Usable as $+1$ weapon.  Spell
+  effects: \emph{invisibility}, \emph{passwall}, \emph{web}, \emph{conjure
+  elemental}.  Also whirlwind (as djinni, $70' \times 10'$--$20'$ cone, 2d6
+  damage in path, 2HD or less SvDR or swept aside), paralysation ($60' \times
+  30'$ cone, SvS or paralysed for 6 turns.  Break staff: 8\,hp damage to all
+  within $30'$ (including user; SvS for half).
+
+\end{description}
+
+\subsect{Rods}
+
+\begin{description}
+
+\item[Cancellation] Drains magical item touched; works once only.  SvW for
+  intelligent swords and $+5$ items in hand.
+
+\item[Dominion] Carry on tour through dominion, bonus to Confidence Level:
+  $+10$ if seen by 1\%--50\%, $+20$ for 51\%--75\%, $+30$ for 76\%--90\%,
+  $+40$ for 91\%--99\% or $+50$ for 100\%.
+
+\item[Health] Can \emph{cure blindness}, \emph{cure disease}, \emph{cure
+  serious wounds}, \emph{neutralize poison}; no charges; each creature once
+  per day.
+
+\item[Inertia] Spear $+3$.  Stops or releases on command; stores momentum
+  while stopped.
+
+\item[Parrying] Rod $+5$ (does $\d{1d8} + 5$ damage, no $\delta S$); may
+  \emph{parry} attacks ($+5$ to AC in mel\'ee).
+
+\item[Victory] Combat Results roll biased by $+25$; combat results difference
+  capped at 100.
+
+\item[Weaponry] Rod $+5$; may split into two $+2$ rods which may each split
+  into two $+1$ rods.  Cannot divide by accident; easily reassembled.  All
+  rods do $\d{1d8} + \delta G$ damage (no $\delta S$).
+
+\item[Wyrm] Rod $+5$ (does $\d{1d8} + 5$ damage, no $\delta S$).  On command,
+  once per day, changes into small dragon (d10: 1--5 10 gold, 6--8 blue,
+  9--10 black) with 30\,hp, harmed only by magic; may be magically healed.
+
+\end{description}
+
+\subsect{Rings}
+
+Maximum one ring per hand.
+
+\begin{description}
+
+\item[Animal control] Command 1d6 normal or one giant animal; no save;
+  requires concentration; animals may flee or attack afterwards.  Usable once
+  per turn.
+
+\item[Delusion] Believed to be some other kind of ring.
+
+\item[Djinni summoning] Summon djinni to serve for one day.  Usable once per
+  week.
+
+\item[Ear] Worn as earring.  Placed against surface; user hears sounds within
+  $60'$ of surface.  Usable three times per day.
+
+\item[Elemental adaptation] Permits vision and breathing on elemental plane.
+
+\item[Fire resistance] Withstand normal fire; $+2$ to save against fire and
+  damage biased by $-1$ per die.
+
+\item[Holiness] Worn during meditation for spells; gain 1 spell each of
+  levels 1--3.  Cleric gains $+1$ on Turning rolls.
+
+\item[Human control] Control up to 6HD (NM is $\tfrac{1}{2}$), similar to
+  \emph{charm person}.  Lasts until cancelled, ring removed, or charm removed
+  by \emph{dispel magic} or \emph{remove charm}.
+
+\item[Invisibility] Wearer becomes invisible (with items carried) while ring
+  worn; becomes visible if attacking or casting spells.  Usable once per
+  turn; no duration limit.
+
+\item[Life protection] Negates 1d6 energy drain attacks.  At zero, becomes
+  \emph{ring of protection $+1$}; at $-1$, disintegrates.
+
+\item[Memory] Recall one spell cast within 1 turn.  Usable once per day.
+
+\item[Plant control] Control plants (and plantlike monsters) in $30'$ square
+  within $60'$; plants can entangle but not damage.  Requires concentration.
+
+\item[Protection] Bonus to AC and saving throws.  A \emph{ring of protection
+    $+1$, 5$'$ radius} applies to all within area.
+
+\item[Quickness] Move and attack at double speed for one turn.  Usable once
+  per day.
+
+\item[Regeneration] Regenerates 1\,hp per turn; fingers regrow in 24 hours,
+  limbs in 1 week.  Cannot regenerate fire or acid damage.  Will revive dead
+  characters.
+
+\item[Remedies] Once per day, \emph{cure blindness}, \emph{cure disease},
+  \emph{remove curse} or \emph{neutralize poison}, as C25.
+
+\item[Safety] Can retrospectively make saving throws; works 1d4 times and
+  disintegrates.
+
+\item[Seeing] Can see all hidden, invisible and Ethereal objects within
+  $120'$, in their true forms, undisguised; experience and power (level/HD)
+  and basic character traits (alignment-ish) detected.  Duration 3 turns;
+  usable once per day.
+
+\item[Spell eating] As \emph{ring of spell turning}, but `eats' user's memory
+  of spells after first one cast.  A \emph{remove curse} from C25 allows
+  removal of ring; from C36 turns it into a \emph{ring of spell turning}.
+
+\item[Spell storing] Contains 1d6 spells; wearer knows spells and effects.
+  Spells replaced by casting at ring.  About 20\% of rings contain cleric
+  spells.
+
+\item[Spell turning] Reflects 2d6 spells back to caster per day.
+
+\item[Survival] Contains $\d{1d\%} + 100$ charges; one charge for survival
+  without food or water for 24 hours, or without air for 1 hour; turns black
+  when 5 charges left.
+
+\item[Telekinesis] Move inanimate objects of up to 2000\,cn by concentration,
+  for distance of $50'$.
+
+\item[Truth] Detects lies, three times per day.  Ring informs wearer of power
+  telepathically.
+
+\item[Truthfulness] Ring informs wearer it is \emph{ring of truth}; when
+  activated, wearer cannot lie (or evade).  A \emph{remove curse} by C26
+  allows removal.
+
+\item[Truthlessness] Ring informs wearer it is \emph{ring of truth}; when
+  activated, wearer cannot tell the truth.  A \emph{remove curse} by C26
+  allows removal.
+
+\item[Water walking] Allows walking on any body of water without sinking.
+
+\item[Weakness] Strength becomes 3 within 1d6 rounds; \emph{remove curse}
+  allows removal.
+
+\item[Wishes] Grants 1--4 wishes (1d10: 1--4 1, 5--7 2, 8--9 3, 10 4).
+
+\item[X-ray vision] See $30'$ through stone walls (or $60'$ through wood,
+  cloth or water) by concentrating, detecting traps and secret doors; blocked
+  by gold or lead; inspect $10' \times 10'$ area per turn.  Usable once per
+  hour.
+
+\end{description}
+
+\subsect{Miscellaneous items}
+
+\begin{description}
+
+\item[Amulet of protection from crystal balls and ESP] Wearer cannot be spied
+  upon by a crystal ball or any form of \emph{ESP}.
+
+\item[Bag of devouring] Looks like small sack.  Items in the bag are lost
+  forever after $\d{1d6} + 6$ turns.
+
+\item[Bag of holding] Looks like small sack.  Holds up to 10\,000\,cn of $10'
+  \times 5' \times 3'$ items; weighs only 600\,cn when full.
+
+\item[Boat, undersea] Looks like riverboat; AC4, 40 hull points.  Obeys
+  commands to start, stop, turn, submerge, level off, and surface; bestows
+  \emph{water breathing} on passengers and crew.
+
+\item[Boots of levitation] Move up and down (only) at $20'$ per round,
+  carrying up to 2000\,cn.  No duration limit.
+
+\item[Boots of speed] Move at 240 for 12 hours (must rest for 1 day
+  afterwards).
+
+\item[Boots of travelling and leaping] Need no rest during normal movement;
+  may jump $10'$ and $30'$ across.
+
+\item[Bowl of commanding water elementals] $3'\phi$; summons a 12HD water
+  elemental (takes 1 turn), allowing control (requires concentration;
+  elemental is hostile afterwards).  Usable once per day.
+
+\item[Brazier of commanding fire elementals] Summons a 12HD fire elemental
+  (takes 1 turn), allowing control (requires concentration; elemental is
+  hostile afterwards).  Usable once per day.
+
+\item[Broom of flying] On command, carries owner at MV\flying240 (can carry
+  2000\,cn at MV\flying180).
+
+\item[Censer of controlling air elementals] Summons a 12HD air elemental
+  (takes 1 turn), allowing control (requires concentration; elemental is
+  hostile afterwards).  Usable once per day.
+
+\item[Chime of time] $3''$ silvery metal stick.  On command keeps track of
+  time, chiming every hour (audible by all within $60'$; a \emph{silence
+  15$'$ radius} spell dampens it to $30'$, but is dispelled).  On command,
+  shows time as gold colour extending from one end to other.
+
+\item[Crystal ball] See any place or object thought about; image clarity
+  depends on familiarity with target.  Image lasts 1 turn; usable three times
+  per day.
+
+\item[Crystal ball with clairaudience] As \emph{crystal ball}, but can hear
+  sound through ears of creature in area viewed.
+
+\item[Crystal ball with ESP] As \emph{crystal ball}, but can listen to
+  thoughts of creature in area viewed.
+
+\item[Displacer cloak] Wearer appears to be $5'$ from actual position; $+2$
+  on saves against spells, wands, turn-to-stone; $-2$ to hit in mel\'ee;
+  most missile attacks fail automatically.
+
+\item[Drums of panic] Hearers $10'$--$240'$ away must SvS or flee for 3
+  turns.
+
+\item[Efreeti bottle] Heavy jug $3'$ high.  When unsealed and unstoppered,
+  efreeti emerges to serve once per day for 101 days.
+
+\item[Egg of wonder] Thrown up to $60'$ range; creature emerges and grows to
+  full size, obeys thrower's commands; disappears after one hour.
+  \begin{tabular}[C]{\shade cl|cl} \hlx*{hv}
+    \th{1d12} & \th{Animal} & \th{1d12} & \th{Animal} \\ \hlx{vhv}
+       \01    & Baboon, rock        & \07 & Cat, leopard  \\ \hlx{+}
+       \02    & Bat, giant          & \08 & Ferret, giant \\ \hlx{+}
+       \03    & Bear, black         & \09 & Lizard, gecko \\ \hlx{+}
+       \04    & Bear, grizzly       &  10 & Lizard, draco \\ \hlx{+}
+       \05    & Boar                &  11 & Snake, racer  \\ \hlx{+}
+       \06    & Cat, mountain lion  &  12 & Wolf, normal  \\ \hlx*{vh}
+  \end{tabular}
+
+\item[Elven cloak] Wearer almost invisible (detectable 1 in 6); becomes
+  visible when attacking or casting spell, cannot become invisible for 1
+  turn.
+
+\item[Elven boots] Move almost completely silently (detectable 1 in 10).
+
+\item[Flying carpet] Carry one passenger at MV\flying300, two at MV\flying
+  240 or three at MV\flying180.
+
+\item[Gauntlets of ogre power] Strength of 18.
+
+\item[Girdle of giant strength] THAC0 12, double damage with weapon.
+
+\item[Helm of alignment changing] Changes wearer's alignment; \emph{remove
+    curse} allows removal but wearer will resist.
+
+\item[Helm of reading] Wearer can read any writings (strange languages,
+  magical writing, codes, etc.).  May (1 in 10) be destroyed when wearer hit;
+  destroyed if wearer killed.
+
+\item[Helm of telepathy] Send messages by thought to creature within $90'$,
+  may read thoughts (requires concentration, SvS allowed to avoid thought
+  reading).
+
+\item[Helm of teleportation] Allows \emph{teleport} as spell.  After first
+  use, or any use to teleport another creature, stops working until user
+  casts \emph{teleport} on it.
+
+\item[Horn of blasting] Cone of sound $100' \times 20'$; 2d6 damage to those
+  in area, SvS or deafened for 1 turn.  Usable once per turn.
+
+\item[Lamp, hurricane] As \emph{lamp of long burning}.  Shutters closed when
+  found; when opened the first time each day, emits gusts of wind and rain,
+  drenching all within $30'$.  All must SvS (holder automatically fails) or
+  be knocked over with carried items scattered within $60'$.
+
+\item[Lamp of long burning] Burns and illuminates without using oil.  Becomes
+  nonmagical if flame doused with water.
+
+\item[Metallion of ESP] Read thoughts of one creature within range by
+  concentrating for 1 round (SvS to avoid); 1 in 6 chance broadcasts thoughts
+  to all in range.
+
+\item[Mirror of life trapping] If looking into mirror, SvS or be sucked into
+  it with all items.  Stores up to 20 man-size or smaller creatures, who do
+  not need food or air.  Can communicate with those trapped inside.  Breaking
+  mirror or \emph{wish} (one each) releases those trapped.
+
+\item[Muzzle of training] Adjusts to fit any monster with bite attack.
+  Victim can breathe but not bite or talk.  Locks in place (as if
+  \emph{wizard lock} by M15) and unlocks by command.
+
+\item[Nail, finger] Looks like $1''$--$4''$ carpentry nail.  Disappears if
+  commanded as \emph{nail of pointing}; thereafter, if user attempts to hide
+  from enemy (e.g., by using \emph{invisibility}), may appear (always first
+  time, 1 in 4 chance thereafter) as glowing finger pointing at user for 1d6
+  rounds.  A \emph{remove curse} removes the nail forever.
+
+\item[Nail of pointing] Looks like $1''$--$4''$ carpentry nail.  If
+  commanded, turns into bony finger and points to named nonmagical item.
+  Cannot detect living or undead creatures; no range limit.  Usable once per
+  day.
+
+\item[Ointment] Salve in small box.
+  \begin{enumerate*}
+  \item \emph{Blessing:} Bonus $+2$ on AC and saves for 1 turn.
+  \item \emph{Healing:} Cures $\d{2d6} + 2$\,hp damage.
+  \item \emph{Poison:} Seems like \emph{blessing}; SvPn at $-2$ or die.
+  \item \emph{Scarring:} Seems like \emph{healing}; causes $\d{2d6} + 2$\,hp
+    burn damage curable by \emph{ointment of soothing}, \emph{cureall},
+    \emph{heal} or \emph{wish}.
+  \item \emph{Soothing:} Cures all burn damage.
+  \item \emph{Tanning:} Skin turns bright colour; wears off in 1d4 months.
+  \end{enumerate*}
+
+\item[Pouch of security] Size of large sack.  Attempts to steal cause it to
+  scream `I am being stolen!' for 1 hour or until held by owner and commanded
+  to stop.
+
+\item[Quill of copying] Copies spell on scroll: burn original scroll, mix
+  ashes with rare ink (1000\,gp cost), place on blank scroll with inkwell and
+  command to write; quill writes two copies of the spell.  Only copies one
+  spell (one of lowest level on original scroll).  Blots 1 in 4, ruining
+  scroll unless fixed with \emph{wish}.
+
+\item[Rope of climbing] Thin rope $50'$ long: climbs in any direction on
+  command, fastens to any protruding surface and supports 10\,000\,cn.
+
+\item[Scarab of protection] Absorbs curses, or \emph{finger of death}; usable
+  2d6 times.
+
+\item[Slate of identification] Identifies magical items placed on it, with a
+  (new, if possible) command word; cannot detect \emph{cursed} items or
+  numbers of charges.  Ten charges usable per day; uses: potion~(2),
+  missile~(3), wand~(4), staff~(5), permanent weapon~(6), armour or
+  shield~(7), miscellaneous item~(10 or more).
+
+\item[Stone of controlling earth elementals] $3''\phi$; summons a 12HD earth
+  elemental (takes 1 turn), allowing control (requires concentration;
+  elemental is hostile afterwards).  Usable once per day.
+
+\item[Talisman of elemental travel] Cast \emph{conjure elemental} while
+  touching elemental symbol on talisman to enter elemental plane; talisman
+  allows clear vision ($120'$--$1200'$ range) and breathing.  Talisman may be
+  of any element or greater talisman with all four symbols (equal chances for
+  all five).  Greater talisman can (on command) be used to control
+  elementals, usable ten times per trip.
+
+\item[Wheel of floating] Allows wagon to be towed across river or stream.
+  First wheel allows 10\,000\,cn to be carried; each extra wheel allows extra
+  5000\,cn, up to maximum of four.
+
+\item[Wheel of fortune] Wheel, $10'\phi$, mounted on wall and easily rotated,
+  contains black (with white skull) and white (with red heart) wedges.  When
+  spun, rotates for 3 rounds.  Cannot be affected by magic; a \emph{wish}
+  will make the wheel disappear.  Requires 26HD to move, weighs 20\,000\,cn.
+  Usable by each person once per day; cannot be used by \emph{charmed}
+  creatures.
+  \begin{tabular}[C]{\shade c>{\raggedright}p{5pc}|c>{\raggedright}p{5pc}}
+    \hlx*{hv}
+    \th{1d12} & \th{Effect} &
+    \th{1d12} & \th{Effect} \\ \hlx{vhv}
+    \01 & 1000\,gp appear &
+    \07 & ability score drops by 1 \\ \hlx{+}
+    \02 & 10 garnets (100\,gp each) appear &
+    \08 & PR drops by 1 \\ \hlx{+}
+    \03 & 1 brooch (1000\,gp) appears &
+    \09 & $C$ drops by 1 \\ \hlx{+}
+    \04 & 1 misc magic item appears &
+     10 & least valuable magic item disintegrates \\ \hlx{+}
+    \05 & ability score rises by 1 &
+     11 & nonmagical items disintegrate \\ \hlx{+}
+    \06 & PR or $C$ rises by 1 &
+     12 & die \\ \hlx*{vh}
+  \end{tabular}
+
+\item[Wheel, square] Useless on roads or flat terrain.  Allows movement on
+  mountains and deserts (MV20 with one, MV30 with two, MV40 with three and
+  MV60 with four).
+
+\end{description}
+
+\subsect{Armour and shields}
+
+Cursed 1 in 8: revealed in earnest combat; \emph{remove curse} allows
+removal, C36 removes curse entirely.
+
+Special powers usable once per day.
+
+\begin{description}
+
+\item[Absorption] Energy drains lose one `plus' instead of affecting wearer;
+  armour disintegrates at zero; no daily limit.
+
+\item[Charm] When hit, opponent must SvS or be \emph{charmed} ($+4$ bonus if
+  using weapon).  Only one \emph{charm} per day.
+
+\item[Cure wounds] Cures half wearer's damage.
+
+\item[Electricity] When charged by command, inflicts 6d6 damage (SvS for
+  half, $+4$ bonus if using weapon) against next attacker to hit.  Only one
+  blast per day.
+
+\item[Energy drain] When charged by command, inflicts 1ED:Wt (SvS to avoid,
+  $+4$ bonus if using weapon) against next attacker to hit.  Only one drain
+  per day.
+
+\item[Ethereality] Become ethereal or return to prime by command, once each
+  once per day.
+
+\item[Fly] On command allows flight (MV\flying360, for 12 turns).  Usable
+  once per day.
+
+\item[Gaseous form] Assume gaseous form (with items carried) for up to 6
+  turns.  Usable once per day.
+
+\item[Haste] Double movement and attacks for 1 turn.  Usable once per day.
+
+\item[Invisibility] Become invisible on command with all items carried, until
+  attacking or casting spell.  Usable three times per day.
+
+\item[Reflection] Reflects \emph{light} or \emph{continual light} at caster
+  (who may SvS to avoid), three times per day.  Meet gaze attacks as if using
+  mirror, but without $-2$ to hit.
+
+\item[Remove curse] Cannot be \emph{cursed}; removes curses as if C36.
+  Usable three times in total.
+
+\end{description}
+
+\subsect{Missiles}
+
+\begin{description}
+
+\item[Biting] On hit, becomes poisonous snake: SvPn or die.
+
+\item[Blinking] Blinks in and out of existence to pass allies.
+
+\item[Charming] Target must SvS or be \emph{charmed}.
+
+\item[Climbing] If shot at object, fastens securely and creates $50'$ rope
+  supporting any number of climbers.  Disappears with rope after 1 turn.
+
+\item[Curing] Obviously blunt and inscribed with holy symbol: cures $\d{2d6}
+  + 2\delta G$ damage.
+
+\item[Disarming] SvS or drop weapon.
+
+\item[Dispelling] Creates \emph{dispel magic} (by M15) on target.
+
+\item[Flying] Ranges increased by factor of 5.
+
+\item[Lighting] Creates \emph{light} ($30'$ radius, 12 turns) on demand or
+  on hit (SvS or blinded) and disintegrates.
+
+\item[Penetrating] Not slowed by underbrush, webs, or other cover; no hit
+  modification for cover.
+
+\item[Refilling] If left in container with normal missiles, creates 1d20 more
+  normal missiles each day.
+
+\item[Screaming] Emits screams as it flies; all within $30'$ of path must
+  check morale or retreat for 1d8 rounds.
+
+\item[Seeking] Automatically hits target object (misses creatures).  Can be
+  used for disarming.
+
+\item[Sinking] Causes $\d{1d10} + 10$ hull points damage to ships.
+
+\item[Slaying] Designated \emph{opponent}s must SvDR or die.
+
+\item[Speaking] Misses creatures: may be shot at target or named place within
+  10 miles; repeats 20 word spoken message.
+
+\item[Stunning] Target must SvS or be stunned for 1d6 rounds.
+
+\item[Teleporting] Target must SvS (with $+2$ bonus) or be \emph{teleported}
+  1d\% miles in random direction; will land safely.
+
+\item[Transporting] Target must SvS or be sent $360'$ to place of user's
+  choosing.
+
+\item[Wounding] Causes 1\,hp damage per round until magically cured; cannot
+  affect constructs or undead.
+
+\end{description}
+
+\subsect{Sword primary powers}
+
+Usually usable once per round as often as desired.
+
+\begin{description}
+
+\item[Detect evil/good] Detects good or ill intentions within $20'$.
+
+\item[Detect gems] Points to gems within $60'$, detecting amounts.
+
+\item[Detect magic] Detects magical items and effects within $20'$.  Usable
+  three times per day.
+
+\item[Detect metal] Points to metal of requested type within $60'$, but
+  cannot detect amount.
+
+\item[Detect shifting walls] Within $10'$.
+
+\item[Detect slopes] Within $10'$.
+
+\item[Find secret doors] Within $10'$.  Usable three times per day.
+
+\item[Find traps] Within $10'$.  Usable three times per day.
+
+\item[See invisible] Find invisible and hidden creatures and objects (not
+  secret doors) within $20'$.
+
+\end{description}
+
+\subsect{Sword extraordinary powers}
+
+Usually usable once per round, up to three times per day.
+
+\begin{description}
+
+\item[Clairaudience] Hear sound through ears of creature within $60'$.
+
+\item[Clairvoyance] See through eyes of creature within $60'$.
+
+\item[ESP] Listen to thoughts of creature within $60'$.
+
+\item[Extra damage] Damage multiplied by 4 (or 5, 6, \dots\ for duplicates).
+  Duration 1d10 rounds.
+
+\item[Flying] Allows flight MV\flying360 for 3 turns.
+
+\item[Healing] Heals 6\,hp (or 12, 18, \dots\ for duplicates) per day, at
+  1\,hp per round.
+
+\item[Illusion] Creates illusion in $20'$ cube within $240'$ while user
+  concentrates.  Monsters are AC9 and disappear when hit.  Victim may SvS to
+  disbelieve the illusion.  Never causes damage; effects wear off in 1d4
+  turns.
+
+\item[Levitation] Move up and down (only) at $20'$ per round, carrying up to
+  2000\,cn, for 3 turns.
+
+\item[Telekinesis] Move inanimate objects of up to 2000\,cn by concentration,
+  for distance of $50'$.
+
+\item[Telepathy] Send messages by thought to creature within $90'$, may read
+  thoughts (requires concentration, SvS allowed to avoid thought reading).
+
+\item[Teleportation] As spell.  Usable once per day.
+
+\item[X-ray vision] See $30'$ through stone walls (or $60'$ through wood,
+  cloth or water) by concentrating, detecting traps and secret doors; blocked
+  by gold or lead; inspect $10' \times 10'$ area per use.
+
+\end{description}
+
+\subsect{Weapon talents}
+
+Usually usable once per day.  Missile weapon talents usually apply to
+missiles fired.
+
+\begin{description}
+
+\item[Breathing] Allows \emph{water breathing} (for 1 day) or \emph{create
+    air} (for one hour).
+
+\item[Charming] Can \emph{charm} one humanoid within $120'$.
+
+\item[Deceiving] Change appearance of user (facial features, equipment, but
+  not size) while carried (unsheathed); cannot disguise itself.
+
+\item[Defending] Bonus can be applied to AC instead of hit/damage.
+
+\item[Deflecting] Optionally used to deflect energy drain, losing one `plus';
+  disintegrates at $-1$.  Applies to missile weapon itself.
+
+\item[Draining] Can drain $\d{1d4} + 4$ levels, as 1ED:Wh.  Missile weapons
+  lose one `plus' per drain.
+
+\item[Extinguishing] Cool to touch.  Double $\delta G$ against fire-using
+  creatures.  Douses normal fire.
+
+\item[Finding] Sense direction of one known object within $120'$ (but not
+  distance).  Will not locate creatures.
+
+\item[Flaming] Harmless to weapon and user.  Bonus $+2$ to hit and damage
+  hippogriff, pegasis, roc and troll, $+3$ to hit and damage treant and
+  undead.  Usable as required.
+
+\item[Flying] Must first be used normally in each battle; on command attacks
+  by itself for three rounds (or on command).  Missile weapons create
+  ammunition as needed.
+
+\item[Healing] Cures $\d{2d6} + 2$\,hp of the user only.
+
+\item[Hiding] Can render the user invisible (with all items, becomes visible
+  when attacking or casting spells).  Additionally, weapon only can become
+  invisible three times per day.
+
+\item[Holding] Up to four humanoids within $180'$ SvS or paralysed for 9
+  turns.  Penalty $-2$ on save if cast on single individual.  Cancelled by
+  \emph{dispel magic} or \emph{free person}.
+
+\item[Lighting] Create \emph{light} at $120'$ range.
+
+\item[Silencing] Cause \emph{silence} in $15'$ radius, at $180'$ range, for
+  12 turns.
+
+\item[Slicing] (Only edged weapons.)  If $\textrm{hit roll} + \delta G \ge
+  19$, opponent must SvDR or be killed.  Doesn't work against constructs or
+  undead.
+
+\item[Slowing] Opponent hit moves and attacks at half speed for 1 turn (no
+  save).
+
+\item[Speeding] Doubles user's movement and attack rate for 1 turn.
+
+\item[Translating] User can understand any languages heard for 6 turns.
+
+\item[Watching] On command, weapon will watch for monster type and vibrate
+  slightly if any come within $60'$.
+
+\item[Wishing] Grants 1d3 wishes.
+
+\end{description}
+
+\end{multicols}
+
 \end{document}
 %%% Local Variables: 
 %%% mode: latex
diff --git a/weapons.tex b/weapons.tex
index 28d5d3b..949032d 100644
--- a/weapons.tex
+++ b/weapons.tex
@@ -60,7 +60,7 @@
 
   \hlx{v+/v}
   \weap{Blackjack}
-  {1H(s) [H], C \\ 5\,gp \\ 5\,cn}
+  {1H(s) [H] (C) \\ 5\,gp \\ 5\,cn}
   & BS & ---      & $\dice{1d2}$     & --- & knockout \\*
   & SK & ---      & $\dice{1d3} + 1$ & --- & knockout ($+1$) \\*
   & EX & ---      & $\dice{1d4} + 1$ & --- & knockout ($+2$) \\*
@@ -417,7 +417,7 @@
        deflect 3, disarm ($+4$) \\
 
   \hlx{v+/v}
-  \weap{Sword. short}
+  \weap{Sword, short}
   {1H(s) [H] \\ 7\,gp \\ 30\,cn}
   & BS & ---      & $\dice{1d6}$ & --- & --- \\*
   & SK & ---      & $\dice{1d6} + 2$ & H: $-1/1$ & deflect 1, disarm \\*
-- 
2.11.0

