chiark / gitweb /
hack
authorMark Wooding <mdw@distorted.org.uk>
Sat, 12 May 2007 22:28:06 +0000 (23:28 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 12 May 2007 22:28:06 +0000 (23:28 +0100)
dice.lisp
dnd.sty
monsters.tex [new file with mode: 0644]
rules.tex
spells.tex
tables.cls
treasure.tex

index 547ecd206bce69a8317a5c5899f26e588a698de2..61f99d88cc507118d1ccc2539148bb77ea0ebd42 100644 (file)
--- a/dice.lisp
+++ b/dice.lisp
@@ -150,3 +150,1128 @@ (defun apply-template (def tpl)
            (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 (&rest clauses)
+  `(funcall (choose ,@(loop for (n . clause) in clauses
+                          collect n
+                          collect `(lambda () ,@clause)))))
+
+(defconstant druid-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 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 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 ()
+  (choose 25 :cleric 5 :druid 70 :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-spells))
+                   level)))
+    (values (elt list (random (length list)))
+           caster
+           level)))
+
+(defun symbol-match-p (form sym)
+  (cond ((eq form t) t)
+       ((eq form nil) nil)
+       ((eq form sym) t)
+       ((atom form) nil)
+       (t (ecase (car form)
+            ((and) (every (lambda (f) (symbol-match-p f sym)) (cdr form)))
+            ((or) (some (lambda (f) (symbol-match-p f sym)) (cdr form)))
+            ((not) (not (symbol-match-p (cadr form) sym)))))))
+
+(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))))))
+
+(defun magic-item (form)
+  (labels ((potion (&key recursivep)
+            (pick (2 `(:potion agility))
+                  (1 `(:potion animal-control))
+                  (3 `(:potion antidote))
+                  (2 `(:potion blending))
+                  (2 `(:potion bug-repellent))
+                  (2 `(:potion clairaudience))
+                  (2 `(:potion clairvoyance))
+                  (2 `(:potion climbing))
+                  (2 `(:potion defence :bonus ,(choose 3 1
+                                                        2 2
+                                                        2 3
+                                                        2 4
+                                                        1 5)))
+                  ((if recursivep 0 4)
+                   `(:potion delusion
+                     :fakes ,@(cdr (potion :recursivep t))))
+                  (2 `(:potion diminution))
+                  (1 `(: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 `(:potion dreamspeech))
+                  (1 `(:potion elasicity))
+                  (2 `(:potion ,(choose-uniformly 'air-form
+                                                  'water-form
+                                                  'earth-form
+                                                  'fire-form)))
+                  (2 `(:potion esp))
+                  (1 `(:potion ethereality))
+                  (3 `(:potion fire-resistance))
+                  (3 `(:potion flying))
+                  (2 `(:potion fortitude))
+                  (1 `(:potion freedom))
+                  (3 `(:potion gaseous-form))
+                  (1 `(: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 `(:potion giant-strength))
+                  (2 `(:potion growth))
+                  (6 `(:potion healing))
+                  (3 `(:potion heroism))
+                  (1 `(:potion human-control))
+                  (3 `(:potion invisibility))
+                  (2 `(:potion invulnerability))
+                  (2 `(:potion levitation))
+                  (2 `(:potion longevity))
+                  (1 `(:potion luck))
+                  (1 `(:potion merging))
+                  (2 `(:potion plant-control))
+                  (3 `(:potion poison))
+                  (3 `(:potion polymorph-self))
+                  (2 `(:potion sight))
+                  (2 `(:potion speech))
+                  (4 `(:potion speed))
+                  (2 `(:potion strength))
+                  (3 `(:potion super-healing))
+                  (3 `(:potion swimming))
+                  (1 `(:potion treasure-finding))
+                  (1 `(:potion undead-control))
+                  (2 `(:potion water-breathing))))
+          (scroll ()
+            (pick (3 `(:scroll communication))
+                  (2 `(:scroll creation))
+                  (8 `(:scroll curse))
+                  (1 (multiple-value-bind
+                         (spell caster level)
+                         (random-spell)
+                       (declare (ignore level))
+                       `(:scroll delay :caster ,caster :spells (,spell))))
+                  (3 `(: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 `(:scroll illumination))
+                  (2 `(:scroll mages))
+                  (4 `(:map normal-treasure))
+                  (3 `(:map magical-treasure))
+                  (2 `(:map combined-treasure))
+                  (1 `(:map special-treasure))
+                  (3 `(:scroll mapping))
+                  (2 `(:scroll portals))
+                  (6 `(:scroll protection-from-elementals))
+                  (8 `(:scroll protection-from-lycanthropes))
+                  (4 `(:scroll protection-from-magic))
+                  (7 `(:scroll protection-from-undead))
+                  (2 `(:scroll questioning))
+                  (1 (multiple-value-bind
+                         (spell caster level)
+                         (random-spell)
+                       `(:scroll repetition
+                         :caster ,caster
+                         :level ,level
+                         :spells (,spell))))
+                  (2 `(:scroll seeing))
+                  (2 `(:scroll shelter))
+                  (3 `(:scroll spell-catching :max-level ,(choose 4 1
+                                                                  3 2
+                                                                  2 3
+                                                                  1 8)))
+                  (25 (let ((caster (spell-caster-type))
+                            (spells (choose 50 1  33 2  17 3)))
+                        `(:scroll spell
+                          :caster ,caster
+                          :spells ,(loop repeat spells
+                                         collect (random-spell caster)))))
+                  (2 `(:scroll trapping))
+                  (2 `(:scroll truth))))
+          (wand-charges () (d 10 3))
+          (staff-charges () (d 20 2))
+          (wandlike ()
+            (pick (5 `(:wand cold :charges ,(wand-charges)))
+                  (5 `(:wand enemy-detection :charges ,(wand-charges)))
+                  (4 `(:wand fear :charges ,(wand-charges)))
+                  (5 `(:wand fireballs :charges ,(wand-charges)))
+                  (4 `(:wand illusion :charges ,(wand-charges)))
+                  (5 `(:wand lightning-bolts :charges ,(wand-charges)))
+                  (5 `(:wand magic-detection :charges ,(wand-charges)))
+                  (5 `(:wand metal-detection :charges ,(wand-charges)))
+                  (4 `(:wand negation :charges ,(wand-charges)))
+                  (5 `(:wand paralysation :charges ,(wand-charges)))
+                  (5 `(:wand polymorphing :charges ,(wand-charges)))
+                  (4 `(:wand secret-door-detection
+                       :charges ,(wand-charges)))
+                  (4 `(:wand trap-detection :charges ,(wand-charges)))
+                  (1 `(:staff commanding :charges nil))
+                  (2 `(:staff dispelling :charges ,(staff-charges)))
+                  (3 `(:staff druids :charges ,(staff-charges)))
+                  (3 `(: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 `(:staff harming :charges ,(staff-charges)))
+                  (7 `(:staff healing :charges ,(staff-charges)))
+                  (1 `(:staff power :charges ,(staff-charges)))
+                  (3 `(:staff snake :charges ,(staff-charges)))
+                  (3 `(:staff striking :charges ,(staff-charges)))
+                  (2 `(:staff withering :charges ,(staff-charges)))
+                  (1 `(:staff wizardry :charges ,(staff-charges)))
+                  (2 `(:rod cancellation))
+                  (1 `(:rod dominion))
+                  (1 `(:rod health))
+                  (2 `(:rod inertia))
+                  (1 `(:rod parrying))
+                  (1 `(:rod victory))
+                  (3 `(:rod weaponry))
+                  (1 `(:rod wyrm :colour ,(choose 5 'gold
+                                                  3 'blue
+                                                  2 'black)))))
+          (ring ()
+            (pick (2 `(:ring animal-control))
+                  (6 `(:ring delusion))
+                  (1 `(:ring djinni-summoning))
+                  (4 `(:ring ear))
+                  (4 `(: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 `(:ring fire-resistance))
+                  (3 `(:ring holiness))
+                  (1 `(:ring human-control))
+                  (5 `(:ring invisibility))
+                  (3 `(:ring life-protection :charges ,(d 6)))
+                  (3 `(:ring memory))
+                  (2 `(:ring plant-control))
+                  (1 `(:ring protection :bonus 1 :radius 5))
+                  (10 `(:ring protection :bonus ,(choose 4 1
+                                                         3 2
+                                                         2 3
+                                                         1 4)))
+                  (4 `(:ring quickness))
+                  (1 `(:ring regeneration))
+                  (3 `(:ring remedies))
+                  (2 `(:ring safety :charges ,(d 4)))
+                  (3 `(:ring seeing))
+                  (3 `(:ring spell-eating))
+                  (2 (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 `(:ring spell-turning))
+                  (4 `(:ring survival :charges ,(+ 100 (d 100))))
+                  (2 `(:ring telekinesis))
+                  (4 `(:ring truth))
+                  (3 `(:ring truthfulness))
+                  (2 `(:ring truthlessness))
+                  (5 `(:ring water-walking))
+                  (5 `(:ring weakness))
+                  (2 `(:ring wishes :charges ,(choose 4 1
+                                                      3 2
+                                                      2 3
+                                                      1 4)))
+                  (2 `(:ring x-ray-vision))))
+          (misc-item ()
+            (pick (2 `(:amulet protection-from-crystal-balls-and-esp))
+                  (2 `(:bag devouring))
+                  (5 `(:bag holding))
+                  (3 `(:boat undersea))
+                  (2 `(:boots levitation))
+                  (3 `(:boots speed))
+                  (2 `(:boots travelling-and-leaping))
+                  (1 `(:bowl commanding-water-elementals))
+                  (1 `(:brazier commanding-fire-elementals))
+                  (2 `(:broom flying))
+                  (1 `(:censer controlling-air-elementals))
+                  (3 `(:chime time))
+                  (2 `(:crystal-ball normal))
+                  (1 `(:crystal-ball clairaudience))
+                  (1 `(:crystal-ball esp))
+                  (2 `(:cloak displacer))
+                  (1 `(:drums panic))
+                  (1 `(:bottle efreeti))
+                  (3 `(:egg ,(choose-uniformly 'rock-baboon
+                                               'giant-bat
+                                               'black-bear
+                                               'grizzly-bear
+                                               'boar
+                                               'mountain-lion
+                                               'panther
+                                               'giant-ferret
+                                               'gecko
+                                               'draco
+                                               'racer-snake
+                                               'wolf)))
+                  (2 `(:boots elven))
+                  (2 `(:cloak elven))
+                  (1 `(:carpet flying))
+                  (2 `(:gauntlets ogre-power))
+                  (2 `(:girdle giant-strength))
+                  (2 `(:helm ,(choose-uniformly 'lawful-alignment
+                                                'neutral-alignment
+                                                'chaotic-alignment)))
+                  (2 `(:helm reading))
+                  (1 `(:helm telepathy))
+                  (1 `(:helm teleportation))
+                  (1 `(:horn blasting))
+                  (2 `(:lamp hurricane))
+                  (3 `(:lamp long-burning))
+                  (2 `(:medallion esp-30-ft-range))
+                  (1 `(:medallion esp-90-ft-range))
+                  (1 `(:mirror life-trapping)) ;;; fixme include contents
+                  (3 `(:muzzle training))
+                  (2 `(:nail finger))
+                  (3 `(:nail pointing))
+                  (5 `(:ointment ,(choose-uniformly 'blessing
+                                                    'healing
+                                                    'poison
+                                                    'scarring
+                                                    'soothing
+                                                    'tanning)))
+                  (3 `(:pouch security))
+                  (3 `(:quill copying))
+                  (4 `(:rope climbing))
+                  (2 `(:scarab protection :charges ,(d 6 2)))
+                  (3 `(:slate identification))
+                  (1 `(:stone controlling-earth-elementals))
+                  (2 `(:talisman ,(choose-uniformly 'air-travel
+                                                    'earth-travel
+                                                    'fire-travel
+                                                    'water-travel
+                                                    'elemental-travel)))
+                  (3 `(:wheel floating))
+                  (1 `(:wheel fortune))
+                  (2 `(: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 ()
+            (choose 68 'human
+                    13 'dwarf
+                    10 'elf
+                     7 'halfling
+                     2 '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
+                                (zerop (random 8)))))
+              `(:bonus ,bonus
+                ,@(and power (cons :power power))
+                :size ,(armour-size)
+                ,@(and cursedp `(:cursed t)))))
+          (armour ()
+            (pick (10 `((:leather ,@(armour-piece 'd))))
+                  ( 7 `((:scale-mail ,@(armour-piece 'd))))
+                  (13 `((:chain-mail ,@(armour-piece 'c))))
+                  ( 9 `((:banded-mail ,@(armour-piece 'd))))
+                  (11 `((:plate-mail ,@(armour-piece 'b))))
+                  ( 5 `((:suit-armour ,@(armour-piece 'b))))
+                  (20 `((:shield ,@(armour-piece 'a))))
+                  ( 2 `((:scale-mail ,@(armour-piece 'd))
+                        (:shield ,@(armour-piece 'a))))
+                  ( 8 `((:chain-mail ,@(armour-piece 'c))
+                        (:shield ,@(armour-piece 'a))))
+                  ( 5 `((:banded-mail ,@(armour-piece 'd))
+                        (:shield ,@(armour-piece 'a))))
+                  (10 `((: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 (37 (values :arrow 'a))
+                      (22 (values :quarrel 'a))
+                      (11 (values :sling-stone 'a))
+                      (2 (values :blowgun 'd))
+                      (8 (values :long-bow 'd))
+                      (5 (values :short-bow 'd))
+                      (2 (values :heavy-crossbow 'd))
+                      (5 (values :light-crossbow 'd))
+                      (8 (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 (zerop (random 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 (65 (values :normal-sword 'c))
+                      (19 (values :short-sword 'c))
+                      (8 (values :two-handed-sword 'd))
+                      (8 (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 class)
+                (pick (7 (values :battle-axe nil 'd))
+                      (8 (values :hand-axe (choose 3 nil 1 t) 'b))
+                      (3 (values :blackjack nil 'c))
+                      (3 (values :bola (choose 2 nil 1 t) 'b))
+                      (5 (values :club nil 'c))
+                      (14 (values :dagger (choose 11 nil 3 t) 'b))
+                      (4 (values :one-handed-flail nil 'c))
+                      (2 (values :two-handed-flail nil 'd))
+                      (3 (values :halberd nil 'd))
+                      (8 (values :war-hammer nil 'c))
+                      (4 (values :javelin (choose 3 nil 1 t) 'b))
+                      (4 (values :lance nil 'd))
+                      (7 (values :mace nil 'c))
+                      (5 (values :morning-star nil 'c))
+                      (3 (values :net (choose 2 nil 1 t) 'b))
+                      (3 (values :pike nil 'd))
+                      (2 (values :pole-axe nil 'd))
+                      (12 (values :spear (choose 3 nil 1 t) 'b))
+                      (3 (values :whip nil 'c)))
+              (let* ((bonus (weapon-bonus class))
+                     (cursedp (zerop (random 10)))
+                     (modifier (sword-modifier bonus))
+                     (intel (and (percentp 40)
+                                 (weapon-intelligence))))
+                `(,type
+                  ,@(and returnsp `(:returning t))
+                  :bonus ,bonus
+                  ,@modifier
+                  ,@intel
+                  ,@(and cursedp `(:cursed t)))))))
+    (pick ((if (symbol-match-p form :potion) 25 0) (list (potion)))
+         ((if (symbol-match-p form :scroll) 12 0) (list (scroll)))
+         ((if (symbol-match-p form :wandlike) 9 0) (list (wandlike)))
+         ((if (symbol-match-p form :ring) 6 0) (list (ring)))
+         ((if (symbol-match-p form :misc) 10 0) (list (misc-item)))
+         ((if (symbol-match-p form :armour) 10 0) (armour))
+         ((if (symbol-match-p form :missile) 11 0) (list (missile)))
+         ((if (symbol-match-p form :sword) 9 0) (list (sword)))
+         ((if (symbol-match-p form :weapon) 8 0) (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)
+            (tagged-bag
+             :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)
+            (tagged-bag
+             :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 `(:size ,mod) mod-list))
+                           (setf value (* value mult))))
+                     `(:kind ,kind
+                       :value ,(max 1 (round value))
+                       ,@mod-list
+                       ,@(and (> i 1) `(:quantity ,i))))))))
+          (jewellery (n)
+            (tagged-bag
+             :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)
+            (tagged-bag :magic
+                        (loop with list = nil
+                              for (form n) on forms by #'cddr do
+                              (loop repeat n do
+                                    (dolist (item (magic-item 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 t 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 t 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 t 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 t 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 t 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 t 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 t 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 t 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 t 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 t 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 t 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 t 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 t 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 t 1)))))))
diff --git a/dnd.sty b/dnd.sty
index e184cbe670cc164c5d69bde62ae75a23bb5c035b..9c68f4f7b9d74945c85907c239efa1b29c060ec3 100644 (file)
--- a/dnd.sty
+++ b/dnd.sty
@@ -3,8 +3,9 @@
 \RequirePackage[T1]{fontenc}
 \RequirePackage[palatino, helvetica, courier, maths = palatino]{mdwfonts}
 \RequirePackage{amssymb}
-\usepackage[all, arc, dvips]{xy}
+\RequirePackage[all, arc, dvips]{xy}
 \RequirePackage[colour]{mdwtab}
+\makeatletter
 
 %%% maths
 \let\epsilon\varepsilon
diff --git a/monsters.tex b/monsters.tex
new file mode 100644 (file)
index 0000000..f97564d
--- /dev/null
@@ -0,0 +1,3197 @@
+%\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
+
+\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 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: 
index d2c4e8c3ab8ceded068f0fc6385be0debb190db1..b711ebffa40a1d789cc1e36db11e3c52e33b0212 100644 (file)
--- a/rules.tex
+++ b/rules.tex
@@ -204,7 +204,10 @@ modifications are made to the system.
   acquire mastery in the use of a dagger as an off-hand weapon
   \emph{separately} with (say) the sword and the morning-star.  A character
   Unskilled with an off-hand weapon strikes at a $-4$ penalty (and does half
-  damage, as usual).
+  damage, as usual).\footnote{%
+    This ruling provides a major advantage to demi-human characters, since
+    demi-humans are considered to be able to use all weapons at Basic
+    mastery.}
 
 \item One- and two-handed flails are different weapons, and a character must
   spend mastery slots on them separately.  However, they are \emph{related}
@@ -223,14 +226,17 @@ modifications are made to the system.
     Bow, short        & Bow, long                        \\ \hlx{+}
     Crossbow, heavy   & Crossbow, light                  \\ \hlx{+}
     Crossbow, light   & Crossbow, heavy                  \\ \hlx{+}
-    Flail, one-handed & Flail, two-handed, morning-star  \\ \hlx{+}
+    Flail, one-handed & Flail, two-handed,;morning-star  \\ \hlx{+}
     Flail, two-handed & Flail, one-handed                \\ \hlx{+}
+    Halberd           & Pike, pole axe                   \\ \hlx{+}
     Javelin           & Spear                            \\ \hlx{+}
     Morning-star      & Flail, one-handed                \\ \hlx{+}
+    Pike              & Halberd; spear                   \\ \hlx{+}
+    Pole axe          & Halberd                          \\ \hlx{+}
     Shield, horned    & Shield, knife; shield, sword     \\ \hlx{+}
     Shield, knife     & Shield, horned; shield, sword    \\ \hlx{+}
     Shield, sword     & Shield, horned; shield, knife    \\ \hlx{+}
-    Spear             & Javelin                          \\ \hlx{+}
+    Spear             & Javelin; pike                    \\ \hlx{+}
     Sword, normal     & Sword, short; sword, bastard     \\ \hlx{+}
     Sword, short      & Sword, normal                    \\ \hlx{+}
     Sword, bastard    & Sword, normal; sword, two-handed \\ \hlx{+}
@@ -241,10 +247,15 @@ modifications are made to the system.
 
 \item The \emph{deflect} ability makes high-level characters nearly
   untouchable, as many have noted.  The new definition allows an attack to be
-  deflected if $\dice{1d20} + \delta D + M$ is greater than the attacker's
+  deflected if $\dice{1d20} + \delta D + \delta G$ (where $\delta G$ is the
+  magical strength of the weapon used) is greater than the attacker's
   (adjusted) hit roll.  Deflection does not work against device-hurled
   missiles; it does work against thrown weapons.
 
+\item Each involved character or monster rolls $\dice{1d6} - \epsilon E$
+  every round to determine initiative.  Actions occur in ascending order of
+  initiative rolls.  Ties indicate simultaneous action.
+
 \end{enumerate}
 
 
index 42ab7d859b7ffcec82e37c21cf24ff863ed15269..47b508db64d29dc6d56605299673bcc9c43555e0 100644 (file)
@@ -1,5 +1,7 @@
 \documentclass{tables}
+\usepackage{mdwlist}
 
+\makeatletter
 \newenvironment{spelllist}[1]{%
   \vbox\bgroup%
   \hrule height\arraythickrulewidth%
   \egroup%
 }
 
+\newenvironment{spells}[1]{%
+  \raggedright%
+  \begin{multicols}{2}[\sect{#1}]%
+  \itemcount1%
+  \def\levelstart{%
+    \medskip%
+    \textbf{Level \the\itemcount}%
+    \par\nobreak%
+    \@nobreaktrue%
+    \begin{basedescript}{%
+      \let\makelabel\hbox%
+      \desclabelstyle{\nextlinelabel}%
+      \desclabelwidth{2em}%
+      \parsep\z@%
+      \itemsep\medskipamount%
+    }%
+    \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}
   Remove fear* \\
   Resist cold \split
   \itshape Detect danger \\
-  \itshape Faerie fire \\
+  \itshape F\ae rie fire \\
   \itshape Locate \\
   \itshape Predict weather
 \level
   \itshape Dissolve \\
   \itshape Pass plant
 \level
-  Aerial servant \\
+  \AE rial servant \\
   Animate objects \\
   Barrier* \\
   Create normal animals \\
   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'$}
+Unharmed by normal cold; $+2$ on saves against cold and damage biased by $-1$
+per die.
+
+\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}
+Unharmed by normal fire; $+2$ on saves against fire and damaged biased by
+$-1$ per die.
+
+\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).
+Stats: MV90, HD1(S), F1, XP10/13, AT bite (1d4, poison), 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; MV\flying60.
+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}$}
+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.  Flying (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, AC$^-2$, 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.
+
+\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, MV\flying360.  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 (MV\flying120) 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.
+
+\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.  Flying (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, AC$^-2$, 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: 
index 21573c1e7e48f5d4279171454b04f236621248a2..241b0209847cd14c9d6f2917d30528a53550dabf 100644 (file)
 }
 \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}}
+\AtEndDocument{\label{pgn:\the\sectcount}}
 
 %%% tables
 \tabcolsep = 0.5em
@@ -50,6 +51,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 +63,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}
index da9e2f20c85c196c093e474f2cc68a71ef4a899b..d5dde7b2e2c9037eddfda134be734add67454bf9 100644 (file)
@@ -1,8 +1,24 @@
 \documentclass{tables}
+\usepackage{mdwlist}
 
 \def\nil{\multicolumn{2}{c}{---}}
 \def\lnil{\multicolumn{2}{l}{---}}
 
+\makeatletter
+\def\subsect#1{\goodbreak\medskip\textbf{#1}\par\nobreak\@nobreaktrue}
+
+\renewenvironment{description}{%
+  \basedescript{%
+    \let\makelabel\textit%
+    \desclabelstyle{\pushlabel}%
+    \desclabelwidth{2em}%
+    \parsep\z@%
+    \itemsep\medskipamount%
+  }%
+}{%
+  \endbasedescript%
+}
+
 \begin{document}
 
 \sect{Treasure}
   \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{+}
      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{+}
    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{+}
    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}
 \quad
    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
 \end{tabular}
 \end{set}
 
+\sect{Magical items}
+
+\begin{multicols}{2}
+\raggedright
+
+\subsect{Potions}
+
+\begin{itemize*}
+\item \textbf{Level:} Treat as 6th level.
+\item \textbf{Duration:} Usually $\d{1d6} + 6$ turns.
+\item \textbf{Control:} User must concentrate to control victims: cannot
+  fight, half movement; victim allowed SvS, but attempt may be repeated each
+  round.  Range is $60'$.
+\end{itemize*}
+
+\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}
+
+\begin{itemize*}
+\item \textbf{Charges:} Usually 2d10.
+\item \textbf{Level:} Treat as 6th level.
+\end{itemize*}
+
+\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}
+
+\begin{itemize*}
+\item \textbf{Charges:} Usually 3d10.
+\item \textbf{Level:} Treat as 8th level.
+\end{itemize*}
+
+\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.
+
+  \begin{tabular}[C]{\shade cl} \hlx*{hv}
+     \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  & Elemental power \\ \hlx*{vh}
+  \end{tabular}
+
+\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} (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,
+  20\,hp, C3, XP6; AC5, T17, coil; 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.
+
+\end{description}
+
+\end{multicols}
+
 \end{document}
 %%% Local Variables: 
 %%% mode: latex