dragon scale mail is magical

This reclassifies dragon scale mail as magic and leaves dragon
scales as non-magic.  Changing the latter would make it be easier
to obtain magic armor via polymorph; just kill some dragons and toss
their scales on the pile.  Unfortunately the logic used suggests that
unicorn horns ought to be non-magic too, but I left them as magic.
(Making them become non-magic would actually be a good idea as far
as balancing polypiling goes, but it's awfully hard to justify when
they produce should a wide-ranging magical effect when applied.)
This commit is contained in:
nethack.rankin
2002-08-01 20:58:39 +00:00
parent 9dd17d08c3
commit 7191f3b8a5
2 changed files with 30 additions and 24 deletions

View File

@@ -177,6 +177,7 @@ martial arts kick that knocks a monster into a trap would result in warning
if you can't see or sense a monster when it dies, don't set dknown on corpse
effect of wearing or removing the Eyes of the Overworld took effect on the
next move, but should take effect immediately.
dragon scale mail is magic armor
Platform- and/or Interface-Specific Fixes

View File

@@ -1,4 +1,4 @@
/* SCCS Id: @(#)objects.c 3.4 2002/02/13 */
/* SCCS Id: @(#)objects.c 3.4 2002/07/31 */
/* Copyright (c) Mike Threepoint, 1989. */
/* NetHack may be freely redistributed. See license for details. */
@@ -321,40 +321,44 @@ HELM("helm of telepathy", "visored helmet",
/* suits of armor */
/*
* There is code in polyself.c that assumes (1) and (2).
* There is code in objnam.c, mon.c, read.c that assumes (2).
* 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 defined in monst.c.
*/
#define DRGN_ARMR(name,power,cost,ac,color) \
ARMOR(name,(char *)0,1,0,1,power,0,5,40,cost,ac,0,ARM_SUIT,DRAGON_HIDE,color)
DRGN_ARMR("gray dragon scale mail", ANTIMAGIC, 1200, 1, CLR_GRAY),
DRGN_ARMR("silver dragon scale mail", REFLECTING, 1200, 1, SILVER),
#define DRGN_ARMR(name,mgc,power,cost,ac,color) \
ARMOR(name,(char *)0,1,mgc,1,power,0,5,40,cost,ac,0,ARM_SUIT,DRAGON_HIDE,color)
/* 3.4.1: dragon scale mail reclassified as "magic" since magic is
needed to create them */
DRGN_ARMR("gray dragon scale mail", 1, ANTIMAGIC, 1200, 1, CLR_GRAY),
DRGN_ARMR("silver dragon scale mail", 1, REFLECTING, 1200, 1, SILVER),
#if 0 /* DEFERRED */
DRGN_ARMR("shimmering dragon scale mail", DISPLACED, 1200, 1, CLR_CYAN),
DRGN_ARMR("shimmering dragon scale mail", 1, DISPLACED, 1200, 1, CLR_CYAN),
#endif
DRGN_ARMR("red dragon scale mail", FIRE_RES, 900, 1, CLR_RED),
DRGN_ARMR("white dragon scale mail", COLD_RES, 900, 1, CLR_WHITE),
DRGN_ARMR("orange dragon scale mail", SLEEP_RES, 900, 1, CLR_ORANGE),
DRGN_ARMR("black dragon scale mail", DISINT_RES, 1200, 1, CLR_BLACK),
DRGN_ARMR("blue dragon scale mail", SHOCK_RES, 900, 1, CLR_BLUE),
DRGN_ARMR("green dragon scale mail", POISON_RES, 900, 1, CLR_GREEN),
DRGN_ARMR("yellow dragon scale mail", ACID_RES, 900, 1, CLR_YELLOW),
DRGN_ARMR("red dragon scale mail", 1, FIRE_RES, 900, 1, CLR_RED),
DRGN_ARMR("white dragon scale mail", 1, COLD_RES, 900, 1, CLR_WHITE),
DRGN_ARMR("orange dragon scale mail", 1, SLEEP_RES, 900, 1, CLR_ORANGE),
DRGN_ARMR("black dragon scale mail", 1, DISINT_RES, 1200, 1, CLR_BLACK),
DRGN_ARMR("blue dragon scale mail", 1, SHOCK_RES, 900, 1, CLR_BLUE),
DRGN_ARMR("green dragon scale mail", 1, POISON_RES, 900, 1, CLR_GREEN),
DRGN_ARMR("yellow dragon scale mail", 1, ACID_RES, 900, 1, CLR_YELLOW),
/* For now, only dragons leave these. */
DRGN_ARMR("gray dragon scales", ANTIMAGIC, 700, 7, CLR_GRAY),
DRGN_ARMR("silver dragon scales", REFLECTING, 700, 7, SILVER),
/* 3.4.1: dragon scales left classified as "non-magic"; they confer
magical properties but are produced "naturally" */
DRGN_ARMR("gray dragon scales", 0, ANTIMAGIC, 700, 7, CLR_GRAY),
DRGN_ARMR("silver dragon scales", 0, REFLECTING, 700, 7, SILVER),
#if 0 /* DEFERRED */
DRGN_ARMR("shimmering dragon scales", DISPLACED, 700, 7, CLR_CYAN),
DRGN_ARMR("shimmering dragon scales", 0, DISPLACED, 700, 7, CLR_CYAN),
#endif
DRGN_ARMR("red dragon scales", FIRE_RES, 500, 7, CLR_RED),
DRGN_ARMR("white dragon scales", COLD_RES, 500, 7, CLR_WHITE),
DRGN_ARMR("orange dragon scales", SLEEP_RES, 500, 7, CLR_ORANGE),
DRGN_ARMR("black dragon scales", DISINT_RES, 700, 7, CLR_BLACK),
DRGN_ARMR("blue dragon scales", SHOCK_RES, 500, 7, CLR_BLUE),
DRGN_ARMR("green dragon scales", POISON_RES, 500, 7, CLR_GREEN),
DRGN_ARMR("yellow dragon scales", ACID_RES, 500, 7, CLR_YELLOW),
DRGN_ARMR("red dragon scales", 0, FIRE_RES, 500, 7, CLR_RED),
DRGN_ARMR("white dragon scales", 0, COLD_RES, 500, 7, CLR_WHITE),
DRGN_ARMR("orange dragon scales", 0, SLEEP_RES, 500, 7, CLR_ORANGE),
DRGN_ARMR("black dragon scales", 0, DISINT_RES, 700, 7, CLR_BLACK),
DRGN_ARMR("blue dragon scales", 0, SHOCK_RES, 500, 7, CLR_BLUE),
DRGN_ARMR("green dragon scales", 0, POISON_RES, 500, 7, CLR_GREEN),
DRGN_ARMR("yellow dragon scales", 0, ACID_RES, 500, 7, CLR_YELLOW),
#undef DRGN_ARMR
ARMOR("plate mail", (char *)0,
@@ -647,6 +651,7 @@ WEPTOOL("pick-axe", (char *)0,
1, 0, 0, 20, 100, 50, 6, 3, WHACK, P_PICK_AXE, IRON, HI_METAL),
WEPTOOL("grappling hook", "iron hook",
0, 0, 0, 5, 30, 50, 2, 6, WHACK, P_FLAIL, IRON, HI_METAL),
/* 3.4.1: unicorn horn left classified as "magic" */
WEPTOOL("unicorn horn", (char *)0,
1, 1, 1, 0, 20, 100, 12, 12, PIERCE, P_UNICORN_HORN, BONE, CLR_WHITE),