* There is code in obj.h, objnam.c, mon.c, read.c that assumes (2).
* (1) The dragon scale mails and the dragon scales are together.
* (2) That the order of the dragon scale mail and dragon scales
- * is the the same as order of dragons defined in monst.c.
+ * is the same as order of dragons defined in monst.c.
*/
#define DRGN_ARMR(name,mgc,power,cost,ac,color) \
ARMOR(name, None, 1, mgc, 1, power, 0, 5, 40, \
#undef SCROLL
/* spellbooks ... */
-/* expanding beyond 52 spells would require changes in spellcasting
- or imposition of a limit on number of spells hero can know because
- they are currently assigned successive letters, a-zA-Z, when learned */
+ /* Expanding beyond 52 spells would require changes in spellcasting
+ * or imposition of a limit on number of spells hero can know because
+ * they are currently assigned successive letters, a-zA-Z, when learned.
+ * [The existing spell sorting capability could conceivably be extended
+ * to enable moving spells from beyond Z to within it, bumping others
+ * out in the process, allowing more than 52 spells be known but keeping
+ * only 52 be castable at any given time.]
+ */
#define SPELL(name,desc,sub,prob,delay,level,mgc,dir,color) \
OBJECT(OBJ(name, desc), \
BITS(0, 0, 0, 0, mgc, 0, 0, 0, 0, 0, dir, sub, PAPER), \
0, SPBOOK_CLASS, prob, delay, 50, level * 100, \
0, 0, 0, level, 20, color)
+/* Spellbook description normally refers to book covers (primarily color).
+ Parchment and vellum would never be used for such, but rather than
+ eliminate those, finagle their definitions to refer to the pages
+ rather than the cover. They are made from animal skin (typically of
+ a goat or sheep) and books using them for pages generally need heavy
+ covers with straps or clamps to tightly close the book in order to
+ keep the pages flat. (However, a wooden cover might itself be covered
+ by a sheet of parchment, making this become less of an exception. Also,
+ changing the internal composition from paper to leather makes eating a
+ parchment or vellum spellbook break vegetarian conduct, as it should.) */
+#define PAPER LEATHER /* override enum for use in SPELL() expansion */
SPELL("\8c\8a\8c@\82è\82Ì\96\82\96@\8f\91", "\97r\94ç\8e\86\82Ì\96\82\96@\8f\91",
- P_MATTER_SPELL, 20, 6, 5, 1, RAY, HI_PAPER),
+ P_MATTER_SPELL, 20, 6, 5, 1, RAY, HI_LEATHER),
SPELL("\96î\82Ì\96\82\96@\8f\91", "\8eq\8b\8d\94ç\82Ì\96\82\96@\8f\91",
- P_ATTACK_SPELL, 45, 2, 2, 1, RAY, HI_PAPER),
+ P_ATTACK_SPELL, 45, 2, 2, 1, RAY, HI_LEATHER),
+#undef PAPER /* revert to normal material */
SPELL("\89Î\82Ì\8bÊ\82Ì\96\82\96@\8f\91", "\82Ú\82ë\82Ú\82ë\82Ì\96\82\96@\8f\91",
P_ATTACK_SPELL, 20, 4, 4, 1, RAY, HI_PAPER),
SPELL("\97â\8bC\82Ì\96\82\96@\8f\91", "\83y\81[\83W\82Ì\90Ü\82ç\82ê\82½\96\82\96@\8f\91",