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 547ecd2..61f99d8 100644 (file)
--- a/dice.lisp
+++ b/dice.lisp
            (t (run tag key)))
          finally (return *dnd-alist*))))
 
            (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 e184cbe..9c68f4f 100644 (file)
--- a/dnd.sty
+++ b/dnd.sty
@@ -3,8 +3,9 @@
 \RequirePackage[T1]{fontenc}
 \RequirePackage[palatino, helvetica, courier, maths = palatino]{mdwfonts}
 \RequirePackage{amssymb}
 \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}
 \RequirePackage[colour]{mdwtab}
+\makeatletter
 
 %%% maths
 \let\epsilon\varepsilon
 
 %%% 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 d2c4e8c..b711ebf 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
   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}
 
 \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{+}
     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{+}
     Flail, two-handed & Flail, one-handed                \\ \hlx{+}
+    Halberd           & Pike, pole axe                   \\ \hlx{+}
     Javelin           & Spear                            \\ \hlx{+}
     Morning-star      & Flail, one-handed                \\ \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{+}
     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{+}
     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
 
 \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.
 
   (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}
 
 
 \end{enumerate}
 
 
index 42ab7d8..47b508d 100644 (file)
@@ -1,5 +1,7 @@
 \documentclass{tables}
 \documentclass{tables}
+\usepackage{mdwlist}
 
 
+\makeatletter
 \newenvironment{spelllist}[1]{%
   \vbox\bgroup%
   \hrule height\arraythickrulewidth%
 \newenvironment{spelllist}[1]{%
   \vbox\bgroup%
   \hrule height\arraythickrulewidth%
   \egroup%
 }
 
   \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}
 \begin{document}
 
 \sect{Spells}
   Remove fear* \\
   Resist cold \split
   \itshape Detect danger \\
   Remove fear* \\
   Resist cold \split
   \itshape Detect danger \\
-  \itshape Faerie fire \\
+  \itshape F\ae rie fire \\
   \itshape Locate \\
   \itshape Predict weather
 \level
   \itshape Locate \\
   \itshape Predict weather
 \level
   \itshape Dissolve \\
   \itshape Pass plant
 \level
   \itshape Dissolve \\
   \itshape Pass plant
 \level
-  Aerial servant \\
+  \AE rial servant \\
   Animate objects \\
   Barrier* \\
   Create normal animals \\
   Animate objects \\
   Barrier* \\
   Create normal animals \\
   Wish
 \end{spelllist}
 
   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: 
 \end{document}
 
 %%% Local Variables: 
index 21573c1..241b020 100644 (file)
 }
 \pagestyle{foots}
 
 }
 \pagestyle{foots}
 
-\count1 = 0
-\def\thepagemax{\pageref{pgn:\the\count1}}
+\newcount\sectcount
+\sectcount = 0
+\def\thepagemax{\pageref{pgn:\the\sectcount}}
 \def\sect#1{%
 \def\sect#1{%
-  \label{pgn:\the\count1}%
+  \label{pgn:\the\sectcount}%
   \newpage\section{#1}%
   \gdef\sectname{#1}%
   \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
 
 %%% tables
 \tabcolsep = 0.5em
@@ -50,6 +51,9 @@
   \hlx*{vh} \end{tabular}%
 }
 
   \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}
 %%% 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]}}
 \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}
 \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 da9e2f2..d5dde7b 100644 (file)
@@ -1,8 +1,24 @@
 \documentclass{tables}
 \documentclass{tables}
+\usepackage{mdwlist}
 
 \def\nil{\multicolumn{2}{c}{---}}
 \def\lnil{\multicolumn{2}{l}{---}}
 
 
 \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}
 \begin{document}
 
 \sect{Treasure}
   \tt{Gem variations} \\
   \th{d10} & \th{Size}    & \th{Quality}
            & \multicolumn{2}{c}{\th{Value}}          \\ \hlx{vhv}
   \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{+}
    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{+}
      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{+}
      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{+}
    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{+}
    26--27  & Draining      \\ \hlx{+}
    28--32  & Extinguishing \\ \hlx{+}
    33--38  & Finding       \\ \hlx{+}
    80--81  & Slicing       \\ \hlx{+}
    82--85  & Slowing       \\ \hlx{+}
    86--89  & Speeding      \\ \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
      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{+}
    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
                                     1 extraordinary \\ \hlx*{vh}
 \end{tabular}
 \line
 \end{tabular}
 \end{set}
 
 \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
 \end{document}
 %%% Local Variables: 
 %%% mode: latex