From abde9eb3b9cbdccb74444afbda494991a9f7f69a Mon Sep 17 00:00:00 2001 From: nothere Date: Sat, 21 Jun 2003 09:52:25 +0000 Subject: [PATCH] =?utf8?q?=E3=83=A2=E3=83=B3=E3=82=B9=E3=82=BF=E3=83=BC?= =?utf8?q?=E3=81=AE=E8=80=90=E6=80=A7=E3=81=AE=E3=81=86=E3=81=A1,=20?= =?utf8?q?=E7=89=B9=E5=AE=9A=E3=83=95=E3=83=A9=E3=82=B0=E3=81=AB=E4=BE=9D?= =?utf8?q?=E5=AD=98=E3=81=99=E3=82=8B=E6=9A=97=E9=BB=99=E3=81=AE=E8=80=90?= =?utf8?q?=E6=80=A7=E3=81=AE=E5=A4=A7=E9=83=A8=E5=88=86=E3=82=92=E6=98=8E?= =?utf8?q?=E7=A4=BA=20=E7=9A=84=E3=81=AA=E3=83=95=E3=83=A9=E3=82=B0?= =?utf8?q?=E3=81=A8=E3=81=97=E3=81=A6=E5=88=86=E5=89=B2.=20=E3=81=93?= =?utf8?q?=E3=81=AE=E5=A4=89=E6=9B=B4=E3=81=A7,=20=E3=83=96=E3=83=AC?= =?utf8?q?=E3=82=B9=E3=81=A7=E3=81=97=E3=81=8B=E5=BE=97=E3=82=89=E3=82=8C?= =?utf8?q?=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F=E8=80=90=E6=80=A7=E3=82=92?= =?utf8?q?=E6=8C=81=20=E3=81=A4=E3=83=A2=E3=83=B3=E3=82=B9=E3=82=BF?= =?utf8?q?=E3=83=BC,=20=E3=83=96=E3=83=AC=E3=82=B9=E3=82=92=E5=90=90?= =?utf8?q?=E3=81=8F=E3=81=8C=E5=AF=BE=E5=BF=9C=E3=81=99=E3=82=8B=E8=80=90?= =?utf8?q?=E6=80=A7=E3=81=AE=E3=81=AA=E3=81=84=E3=83=A2=E3=83=B3=E3=82=B9?= =?utf8?q?=E3=82=BF=E3=83=BC,=20=E5=9C=B0=E7=8D=84=E5=85=8D=E7=96=AB?= =?utf8?q?=E3=81=AE=20=E3=81=AA=E3=81=84=E3=82=A2=E3=83=B3=E3=83=87?= =?utf8?q?=E3=83=83=E3=83=89=E7=AD=89=E3=82=92=E4=BD=9C=E3=82=8C=E3=82=8B?= =?utf8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=9F.=20?= =?utf8?q?=E4=B8=BB=E3=81=AA=E5=A4=89=E6=9B=B4=E7=82=B9=E3=81=AF=E4=BB=A5?= =?utf8?q?=E4=B8=8B=E3=81=AE=E9=80=9A=E3=82=8A.=20*=20=E8=80=90=E6=80=A7?= =?utf8?q?=E9=96=A2=E9=80=A3=E3=81=AE=E3=83=95=E3=83=A9=E3=82=B0=E3=81=AF,?= =?utf8?q?=20NO=5F*=E4=BB=A5=E5=A4=96=E3=82=92=E6=96=B0=E3=81=97=E3=81=84?= =?utf8?q?=E3=83=95=E3=83=A9=E3=82=B0=E3=82=BB=E3=83=83=E3=83=88RFR?= =?utf8?q?=E3=81=AB=E7=A7=BB=E8=BB=A2.=20*=20=E5=A2=97=E8=A8=AD=E3=81=95?= =?utf8?q?=E3=82=8C=E3=81=9F=E3=83=95=E3=83=A9=E3=82=B0=E3=81=AFRES=5FLITE?= =?utf8?q?,=20RES=5FDARK,=20RES=5FSHAR,=20RES=5FSOUN,=20RES=5FCHAO,=20=20?= =?utf8?q?=20RES=5FWALL,=20RES=5FINER,=20RES=5FTIME,=20RES=5FGRAV.=20?= =?utf8?q?=E3=81=93=E3=82=8C=E3=82=89=E3=81=AF=E5=90=84=E7=A8=AE=E3=83=96?= =?utf8?q?=E3=83=AC=E3=82=B9,=20ORC,=20=20=20HURT=5FLITE,=20UNDEAD?= =?utf8?q?=E3=81=8B=E3=82=89=E5=88=86=E9=9B=A2.=20r=5Finfo.txt=E5=86=85?= =?utf8?q?=E3=81=A7=E3=81=AF=E5=AF=BE=E5=BF=9C=E3=81=99=E3=82=8B=E8=80=90?= =?utf8?q?=E6=80=A7=E3=83=95=E3=83=A9=E3=82=B0=E3=82=92=E4=B8=8E=E3=81=88?= =?utf8?q?=20=20=20=E3=81=A6=E3=81=82=E3=82=8B.=20*=20=E3=80=8E=E3=82=B9?= =?utf8?q?=E3=83=88=E3=83=BC=E3=83=A0=E3=83=96=E3=83=AA=E3=83=B3=E3=82=AC?= =?utf8?q?=E3=83=BC=E3=80=8F=E3=81=AE=E3=82=AB=E3=82=AA=E3=82=B9=E8=80=90?= =?utf8?q?=E6=80=A7=E3=82=BD=E3=83=BC=E3=82=B9=E3=83=8F=E3=83=83=E3=82=AF?= =?utf8?q?=E3=81=AFRES=5FCHAO=E3=81=AB=E5=A4=89=E6=9B=B4.=20*=20=E6=B7=B7?= =?utf8?q?=E4=B9=B1=E8=80=90=E6=80=A7(RES=5FCONF=E7=9B=B8=E5=BD=93)?= =?utf8?q?=E3=81=A8=E6=B7=B7=E4=B9=B1=E3=81=97=E3=81=AA=E3=81=84=E8=83=BD?= =?utf8?q?=E5=8A=9B(NO=5FCONF)=E3=81=AF=E6=B7=B7=E4=B9=B1=E3=81=97?= =?utf8?q?=E3=81=AA=E3=81=84=E8=83=BD=E5=8A=9B=E3=81=AB=E7=B5=B1=20=20=20?= =?utf8?q?=E5=90=88=E3=81=97,=20=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8?= =?utf8?q?=E8=BB=BD=E6=B8=9B=E3=81=AF1/2=E3=81=A0=E3=81=A3=E3=81=9F?= =?utf8?q?=E3=81=AE=E3=82=923/(6+d6)=E3=81=A8=E3=81=97=E3=81=9F.=20*=20?= =?utf8?q?=E3=82=A2=E3=83=B3=E3=83=87=E3=83=83=E3=83=89=E3=81=AE=E5=9C=B0?= =?utf8?q?=E7=8D=84=E5=85=8D=E7=96=AB=E3=81=AFUNDEAD=E3=81=A8RES=5FNETH?= =?utf8?q?=E3=81=8C=E5=90=8C=E6=99=82=E3=81=AB=E3=81=82=E3=82=8B=E5=A0=B4?= =?utf8?q?=E5=90=88=E3=81=AB=E6=9C=89=E5=8A=B9.=20*=20=E3=82=BB=E3=83=BC?= =?utf8?q?=E3=83=96=E3=83=87=E3=83=BC=E3=82=BF=E3=83=90=E3=83=BC=E3=82=B8?= =?utf8?q?=E3=83=A7=E3=83=B3=E3=82=921.5.0.3=E3=81=AB.=20*=20=E3=82=BB?= =?utf8?q?=E3=83=BC=E3=83=96=E3=83=87=E3=83=BC=E3=82=BF=E5=A4=89=E6=8F=9B?= =?utf8?q?=E6=99=82=E3=81=AB,=20=E3=83=96=E3=83=AC=E3=82=B9=E3=81=AE?= =?utf8?q?=E8=A8=98=E6=86=B6=E3=81=8C=E3=81=82=E3=82=8B=E5=A0=B4=E5=90=88?= =?utf8?q?=E3=81=AF=E5=AF=BE=E5=BF=9C=E3=81=99=E3=82=8B=E8=80=90=E6=80=A7?= =?utf8?q?=E3=81=8C=E3=81=82=E3=82=8C=E3=81=B0=20=20=20=E8=A8=98=E6=86=B6?= =?utf8?q?=E3=81=95=E3=82=8C=E3=82=8B.=20=E6=80=9D=E3=81=84=E5=87=BA?= =?utf8?q?=E3=81=A7=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84?= =?utf8?q?=E3=81=9F=E8=80=90=E6=80=A7=E3=81=AE=E8=A1=A8=E7=A4=BA=E3=82=92?= =?utf8?q?=E7=B6=AD=E6=8C=81=E3=81=99=E3=82=8B.=20*=20restrict=5Fmonster?= =?utf8?q?=5Fto=5Fdungeon()=E3=82=92=E5=A4=A7=E5=B9=85=E3=81=AB=E6=95=B4?= =?utf8?q?=E7=90=86.=20*=20=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=A7=E3=83=95?= =?utf8?q?=E3=82=A9=E3=83=BC=E3=82=B9=E8=80=90=E6=80=A7=E3=81=8C=E8=BD=9F?= =?utf8?q?=E9=9F=B3=E8=80=90=E6=80=A7=E3=81=AE=E7=B6=B4=E3=82=8A=E3=81=AB?= =?utf8?q?=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F=E3=83=90=E3=82=B0?= =?utf8?q?=E4=BF=AE=E6=AD=A3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- lib/edit/r_info.txt | 621 +++++++++++++++++++++++++------------------------- src/bldg.c | 2 +- src/cmd1.c | 41 ++-- src/cmd2.c | 20 +- src/defines.h | 86 +++++-- src/init1.c | 95 ++++++-- src/load.c | 83 +++++++ src/mane.c | 2 +- src/melee1.c | 21 +- src/melee2.c | 21 +- src/monster1.c | 160 +++++-------- src/monster2.c | 224 +++++++----------- src/mspells1.c | 10 +- src/mspells2.c | 62 ++--- src/mspells3.c | 10 +- src/object2.c | 2 +- src/rooms.c | 2 +- src/save.c | 1 + src/spells1.c | 645 +++++++++++++++++++++++++++------------------------- src/spells2.c | 4 +- src/spells3.c | 2 +- src/types.h | 5 +- src/xtra2.c | 2 +- 23 files changed, 1129 insertions(+), 992 deletions(-) diff --git a/lib/edit/r_info.txt b/lib/edit/r_info.txt index b9e553686..2552229c1 100644 --- a/lib/edit/r_info.txt +++ b/lib/edit/r_info.txt @@ -655,7 +655,7 @@ W:1:1:0:4:5:58 B:CRAWL:POISON:1d5 F:RAND_50 | RAND_25 | CAN_SWIM | F:STUPID | WEIRD_MIND | MULTIPLY | -F:ANIMAL | IM_POIS | HURT_LITE | NO_FEAR +F:ANIMAL | IM_POIS | RES_DARK | HURT_LITE | NO_FEAR D:$It is a large slimy mass of worms. D:¤½¤ì¤Ï¥Ù¥È¥Ù¥È¤·¤¿¥¤¥â¥à¥·¤ÎÂç·²¤À¡£ @@ -667,7 +667,7 @@ I:110:3d6:2:6:10 W:1:1:0:3:0:0 B:GAZE:PARALYZE F:NEVER_MOVE | CAN_FLY | DROP_CORPSE -F:HURT_LITE | NO_FEAR | EAT_SLEEP +F:HURT_LITE | RES_DARK | NO_FEAR | EAT_SLEEP D:$A disembodied eye, floating a few feet above the ground. D:ÃÏÌ̤«¤é¿ô½½¥»¥ó¥Á¾å¤ËÉ⤫¤ó¤Ç¤¤¤ëÂΤò»ý¤¿¤Ê¤¤Ì̤ܶÀ¡£ @@ -898,7 +898,7 @@ W:2:1:0:12:6:66 B:TOUCH:DR_MANA:1d3 F:NEVER_MOVE | CAN_SWIM | F:STUPID | EMPTY_MIND | -F:IM_POIS | HURT_LITE | +F:IM_POIS | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP | NO_FEAR D:$Its a large pile of white flesh. D:¤½¤ì¤ÏÇò¤¤Æù¤Î¤è¤¦¤Êʪ¼Á¤Î²ô¤À¡£ @@ -1043,7 +1043,7 @@ W:2:1:0:5:8:78 B:CRAWL:ACID:1d6 F:RAND_50 | RAND_25 | F:STUPID | WEIRD_MIND | MULTIPLY | -F:ANIMAL | IM_ACID | CAN_SWIM | +F:ANIMAL | IM_ACID | RES_DARK | CAN_SWIM | F:HURT_LITE | NO_FEAR D:$It is a large slimy mass of worms. D:¤½¤ì¤Ï¥Ù¥È¥Ù¥È¤·¤¿¥¤¥â¥à¥·¤ÎÂç·²¤À¡£ @@ -1071,7 +1071,7 @@ W:2:1:0:9:30:127 B:BITE:HURT:1d5 F:FRIENDS | F:WEIRD_MIND | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:ANIMAL | HURT_LITE +F:ANIMAL | HURT_LITE | RES_DARK D:$It is a black spider that moves in fits and starts. D:¤½¤ì¤Ï¹õ¤¤ÃØéá¤ÇȯºîŪ¤ËÆÍÇ¡Æ°¤­½Ð¤¹¡£ @@ -1166,7 +1166,7 @@ F:RAND_50 | RAND_25 | CAN_FLY | F:DROP_60 | DROP_90 | F:INVISIBLE | COLD_BLOOD | PASS_WALL | TAKE_ITEM | F:EVIL | UNDEAD | -F:IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_15 | S:BLINK D:$It is a ghastly, ghostly form. @@ -1181,7 +1181,7 @@ W:3:1:0:13:20:73 B:TOUCH:POISON:1d7 F:NEVER_MOVE | CAN_SWIM | F:STUPID | EMPTY_MIND | -F:IM_POIS | HURT_LITE | +F:IM_POIS | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP | NO_FEAR S:1_IN_15 | S:DRAIN_MANA @@ -1350,7 +1350,7 @@ W:3:2:0:5:10:89 B:CRAWL:LOSE_DEX:1d5 F:RAND_50 | RAND_25 | CAN_SWIM | F:STUPID | WEIRD_MIND | MULTIPLY | EAT_LOSE_DEX | -F:ANIMAL | HURT_LITE | NO_FEAR +F:ANIMAL | HURT_LITE | RES_DARK | NO_FEAR D:$It is a large slimy mass of worms. D:¤½¤ì¤Ï¥Ù¥È¥Ù¥È¤·¤¿¥¤¥â¥à¥·¤ÎÂç·²¤À¡£ @@ -1365,7 +1365,7 @@ F:ATTR_CLEAR | CAN_SWIM | F:RAND_50 | RAND_25 | F:STUPID | WEIRD_MIND | INVISIBLE | MULTIPLY | F:ANIMAL | EAT_CONF | EAT_POISONOUS -F:IM_POIS | HURT_LITE | NO_FEAR +F:IM_POIS | RES_DARK | HURT_LITE | NO_FEAR D:$It is a disgusting mass of poisonous worms. D:¤½¤ì¤ÏÆǤò»ý¤Ã¤¿±ø¤é¤ï¤·¤¤¥¤¥â¥à¥·¤ÎÂç·²¤À¡£ @@ -1377,7 +1377,7 @@ I:110:3d6:2:6:10 W:3:1:0:7:0:0 B:GAZE:LOSE_STR:1d10 F:NEVER_MOVE | CAN_FLY | DROP_CORPSE | SELF_LITE_1 | -F:HURT_LITE | NO_FEAR | EAT_MANA | EAT_LOSE_STR +F:HURT_LITE | RES_DARK | NO_FEAR | EAT_MANA | EAT_LOSE_STR S:1_IN_11 | S:DRAIN_MANA D:$A disembodied eye, crackling with energy. @@ -1433,7 +1433,7 @@ W:4:1:0:14:30:101 B:TOUCH:COLD:2d5 F:NEVER_MOVE | COLD_BLOOD | F:STUPID | EMPTY_MIND | CAN_SWIM | -F:IM_COLD | HURT_LITE | +F:IM_COLD | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It's a large pile of pulsing blue flesh. D:¤½¤ì¤ÏÌ®ÂǤÄÀĤ¤Æù¤Î¤è¤¦¤Êʪ¼Á¤Î²ô¤À¡£ @@ -1475,8 +1475,8 @@ I:110:5d5:20:32:30 W:4:1:0:15:30:118 B:HIT:HURT:1d9 F:MALE | -F:FRIENDS | DROP_60 | RAND_50 | DROP_SKELETON | DROP_CORPSE -F:OPEN_DOOR | BASH_DOOR | WILD_WOOD | EAT_POISONOUS +F:FRIENDS | DROP_60 | RAND_50 | DROP_SKELETON | DROP_CORPSE | +F:OPEN_DOOR | BASH_DOOR | WILD_WOOD | EAT_POISONOUS | RES_DARK | F:EVIL | ORC | HURT_LITE | EAT_GIVE_DEX | EAT_LOSE_STR | EAT_LOSE_CHR D:$A pathetic breed of tiny snaga-like creatures. They are running D:$wild and screaming all the time! @@ -1505,7 +1505,7 @@ W:4:1:0:5:20:105 B:CRAWL:COLD:1d7 F:RAND_50 | RAND_25 | F:STUPID | WEIRD_MIND | COLD_BLOOD | MULTIPLY | -F:ANIMAL | IM_COLD | CAN_SWIM | +F:ANIMAL | IM_COLD | RES_DARK | CAN_SWIM | F:HURT_LITE | NO_FEAR D:$It is a large slimy mass of worms. D:¤½¤ì¤Ï¥Ù¥È¥Ù¥È¤·¤¿¥¤¥â¥à¥·¤ÎÂç·²¤À¡£ @@ -1532,7 +1532,7 @@ I:110:5d8:20:26:40 W:5:1:0:12:0:0 B:HIT:HURT:1d10 F:COLD_BLOOD | EMPTY_MIND | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a small animated kobold skeleton. D:¤½¤ì¤Ï¥¹¥â¡¼¥ë¡¦¥³¥Ü¥ë¥É¤Î³¼¹ü¤ËÀ¸Ì¿¤¬¿á¤­¹þ¤Þ¤ì¤¿¤â¤Î¤À¡£ @@ -1668,7 +1668,7 @@ B:TOUCH:EAT_FOOD:1d1 F:RAND_50 | RAND_25 | F:DROP_60 | DROP_90 | CAN_FLY | F:INVISIBLE | COLD_BLOOD | PASS_WALL | -F:EVIL | UNDEAD | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | RES_NETH | NO_CONF | NO_SLEEP D:$It is a very ugly green ghost with a voracious appetite. D:¤½¤ì¤Ï¿Ô¤­¤ë¤³¤È¤Î¤Ê¤¤²¢À¹¤Ê¿©Íߤò»ý¤Ã¤¿¡¢Îп§¤Î½¹¤¤¥´¡¼¥¹¥È¤À¡£ @@ -1681,7 +1681,7 @@ W:5:1:0:18:40:131 B:TOUCH:ACID:1d4 F:NEVER_MOVE | F:STUPID | EMPTY_MIND | CAN_SWIM | -F:IM_ACID | HURT_LITE | +F:IM_ACID | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a large pile of pulsing green flesh. D:¤½¤ì¤ÏÌ®ÂǤÄÎ理ÎÆù¤Î¤è¤¦¤Êʪ¼Á¤Î²ô¤À¡£ @@ -1721,7 +1721,7 @@ W:5:2:0:20:0:0 B:GAZE:UN_BONUS F:ATTR_MULTI | ATTR_ANY | RES_DISE | DROP_CORPSE F:NEVER_MOVE | CAN_FLY | EAT_MANA | -F:HURT_LITE | NO_FEAR +F:HURT_LITE | RES_DARK | NO_FEAR S:1_IN_9 | S:DRAIN_MANA D:$A disembodied eye, crackling with magic. @@ -1736,7 +1736,7 @@ W:5:1:0:6:80:876 B:CRAWL:FIRE:1d9 F:RAND_50 | RAND_25 | F:STUPID | EMPTY_MIND | MULTIPLY | BASH_DOOR | -F:ANIMAL | IM_FIRE | CAN_SWIM | +F:ANIMAL | IM_FIRE | RES_DARK | CAN_SWIM | F:HURT_LITE | NO_FEAR D:$It is a large slimy mass of worms. D:¤½¤ì¤Ï¥Ù¥È¥Ù¥È¤·¤¿¥¤¥â¥à¥·¤ÎÂç·²¤À¡£ @@ -1827,7 +1827,7 @@ B:TOUCH:EAT_GOLD F:MALE | F:FRIENDS | DROP_60 | F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | -F:HURT_LITE | RES_DISE | DROP_SKELETON | DROP_CORPSE +F:HURT_LITE | RES_DARK | RES_DISE | DROP_SKELETON | DROP_CORPSE D:$Night dwarfs collecting new riches for their master, Alberich. D:Ìë¤Î¥É¥ï¡¼¥Õ¤Ç¡¢Èà¤é¤Î¼ç¿Í¥¢¥ë¥Ù¥ê¥Ò¤Î¤¿¤á¤ËÉÙ¤ò½¸¤á¤Æ¤¤¤ë¡£ @@ -1839,7 +1839,7 @@ I:130:7d8:30:15:20 W:6:2:0:20:0:0 B:CRUSH:HURT:1d10 F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_POIS | CAN_FLY | +F:EVIL | UNDEAD | IM_POIS | CAN_FLY | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$Even today, nobody knows where it lurks... D:º£Æü¤Ç¤µ¤¨¡¢¤½¤ì¤¬¤É¤³¤ËÀø¤ó¤Ç¤¤¤ë¤Î¤«Ã¯¤âÃΤé¤Ê¤¤¡£ @@ -1933,9 +1933,9 @@ I:110:8d8:20:32:30 W:6:1:0:15:0:0 B:HIT:HURT:1d9 F:MALE | -F:FRIENDS | DROP_60 | WILD_ALL | DROP_SKELETON | DROP_CORPSE +F:FRIENDS | DROP_60 | WILD_ALL | DROP_SKELETON | DROP_CORPSE | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | HURT_LITE +F:EVIL | ORC | HURT_LITE | RES_DARK D:$He is one of the many weaker 'slave' orcs, often mistakenly known as a D:$goblin. D:Èà¤Ï¿¤¯¤Î¼å¤¤¡ÖÅÛÎì¡×¤Î¥ª¡¼¥¯¤Î°ì¿Í¤Ç¡¢¤·¤Ð¤·¤Ð´Ö°ã¤Ã¤Æ¥´¥Ö¥ê¥ó¤È¤¤¤¦Ì¾Á° @@ -1996,7 +1996,7 @@ F:MALE | F:FORCE_SLEEP | F:DROP_90 | F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | HURT_LITE +F:EVIL | HURT_LITE | RES_DARK S:1_IN_10 | S:CONF | DARKNESS | MISSILE D:$An elven figure with jet black skin and white hair, his eyes are large and @@ -2012,7 +2012,7 @@ W:7:1:0:14:0:0 B:HIT:HURT:1d3 B:HIT:HURT:1d3 F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is an animated kobold corpse. Flesh falls off in large chunks as it D:$shambles forward. @@ -2029,7 +2029,7 @@ B:CLAW:HURT:1d3 B:BITE:POISON F:RAND_25 F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | FRIENDS | -F:EVIL | UNDEAD | IM_POIS | +F:EVIL | UNDEAD | IM_POIS | RES_NETH | RES_DARK | F:NO_CONF | NO_SLEEP | HURT_LITE S:1_IN_10 S:CAUSE_1 | S_UNDEAD @@ -2047,7 +2047,7 @@ B:CLAW:POISON:1d4 B:CLAW:POISON:1d4 F:OPEN_DOOR | BASH_DOOR | FRIENDS | F:NO_CONF | NO_SLEEP | UNDEAD | EVIL | NO_FEAR | IM_POIS -F:IM_COLD | COLD_BLOOD | EMPTY_MIND +F:IM_COLD | RES_NETH | COLD_BLOOD | EMPTY_MIND D:$Corpses awakened from their sleep by dark sorceries. D:°Å¹õËâ½Ñ¤Ë¤è¤ê̲¤ê¤ò³Ð¤Þ¤µ¤ì¤¿»àÂΤÀ¡£ @@ -2059,9 +2059,9 @@ I:110:11d9:20:32:30 W:7:1:0:20:0:0 B:HIT:HURT:1d9 F:MALE | -F:FRIENDS | DROP_60 | DROP_SKELETON | DROP_CORPSE +F:FRIENDS | DROP_60 | DROP_SKELETON | DROP_CORPSE | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | HURT_LITE +F:EVIL | ORC | HURT_LITE | RES_DARK D:$He is often found in huge numbers in deep caves. D:Èà¤Ï¤·¤Ð¤·¤Ðƶ·¢¤Î¿¼ÁؤËÂ罸ÃĤǸ«¼õ¤±¤é¤ì¤ë¡£ @@ -2100,7 +2100,7 @@ I:110:5d8:2:6:10 W:7:3:0:15:0:0 B:GAZE:BLIND:2d7 F:NEVER_MOVE | CAN_FLY | DROP_CORPSE -F:HURT_LITE | NO_FEAR | EAT_BLIND +F:HURT_LITE | RES_DARK | NO_FEAR | EAT_BLIND S:1_IN_7 | S:DRAIN_MANA D:$A disembodied eye, bloodshot and nasty. @@ -2130,7 +2130,7 @@ W:7:1:0:26:150:212 B:TOUCH:LOSE_STR:1d6 F:NEVER_MOVE | F:STUPID | EMPTY_MIND | -F:HURT_LITE | CAN_SWIM | +F:HURT_LITE | RES_DARK | CAN_SWIM | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a large pulsating mound of red flesh. D:¤½¤ì¤ÏÌ®ÂǤÄÀÖ¤¤Æù¤Î¤è¤¦¤Êʪ¼Á¤Î²ô¤À¡£ @@ -2160,7 +2160,7 @@ B:TOUCH:DR_MANA:1d6 F:RAND_50 | DROP_60 | DROP_90 | CAN_FLY | F:INVISIBLE | COLD_BLOOD | TAKE_ITEM | PASS_WALL | F:EVIL | UNDEAD | -F:IM_COLD | NO_CONF | NO_SLEEP +F:IM_COLD | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_15 | S:TPORT | DRAIN_MANA D:$It is almost insubstantial. @@ -2206,7 +2206,7 @@ W:8:1:0:26:0:0 B:HIT:HURT:2d6 F:COLD_BLOOD | EMPTY_MIND | OPEN_DOOR | BASH_DOOR | F:EVIL | ORC | UNDEAD | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is an animated orc skeleton. D:¤½¤ì¤ÏÀ¸Ì¿¤ò¿á¤­¹þ¤Þ¤ì¤¿¥ª¡¼¥¯¤Î³¼¹ü¤À¡£ @@ -2301,7 +2301,7 @@ F:FORCE_MAXHP | F:ESCORT | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | CAN_SPEAK | DROP_SKELETON | DROP_CORPSE -F:EVIL | ORC +F:EVIL | ORC | RES_DARK D:$A captain of a regiment of weaker orcs, Lagduf keeps his troop in order D:$with displays of excessive violence. D:$"I've told you twice that Gorbag's swine got to the gate first, and none @@ -2438,7 +2438,7 @@ B:HIT:HURT:1d11 F:MALE | F:FRIENDS | DROP_60 | F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | ORC | HURT_LITE +F:EVIL | ORC | HURT_LITE | RES_DARK D:$He is a hardy well-weathered survivor. D:Èà¤Ïº¤Æñ¤Ê´Ä¶­¤ËÂѤ¨¤Æ¤­¤¿À¸¤­»Ä¤ê¤Î¥ª¡¼¥¯¤À¡£ @@ -2493,7 +2493,7 @@ W:8:3:0:6:0:0 B:CLAW:EAT_FOOD:1d2 B:CLAW:EAT_FOOD:1d2 B:BITE:EAT_FOOD:1d4 -F:MULTIPLY | IM_POIS | HURT_LITE | EVIL | DEMON | OPEN_DOOR | +F:MULTIPLY | IM_POIS | RES_DARK | HURT_LITE | EVIL | DEMON | OPEN_DOOR | F:TAKE_ITEM | CAN_SWIM D:$Don't splash water on them, and don't feed them after midnight! D:¿¿ÌëÃæ¤ò²á¤®¤¿¤é¿å¤ò³Ý¤±¤¿¤ê¡¢±Â¤ò¤ä¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡ª @@ -2624,7 +2624,7 @@ B:HIT:HURT:1d7 B:HIT:HURT:1d7 F:MALE | F:FORCE_SLEEP | DROP_90 | WILD_WOOD | WILD_SWAMP | WILD_MOUNTAIN | -F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE +F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE | RES_DARK | F:EVIL | ORC | HURT_LITE | EAT_GIVE_INT | EAT_LOSE_WIS | EAT_SLEEP | S:1_IN_8 | S:BLINK | CAUSE_1 | MISSILE @@ -2915,7 +2915,7 @@ F:MALE | F:FORCE_SLEEP | F:ONLY_ITEM | DROP_1D2 | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | EAT_MANA | EAT_LOSE_STR | EAT_LOSE_CON | -F:EVIL | IM_POIS | HURT_LITE +F:EVIL | IM_POIS | RES_DARK | HURT_LITE S:1_IN_5 | S:BLIND | CONF | MISSILE | DARKNESS | BA_POIS D:$A dark elven figure, dressed all in black, hurling spells at you. @@ -2968,7 +2968,7 @@ B:CRUSH:HURT:1d8 B:CLAW:DISEASE:1d3 F:OPEN_DOOR | BASH_DOOR | FRIENDS | HURT_LITE | F:NO_CONF | NO_SLEEP | UNDEAD | EVIL | NO_FEAR | IM_POIS -F:IM_COLD | COLD_BLOOD +F:IM_COLD | RES_NETH | RES_DARK | COLD_BLOOD S:1_IN_12 S:CAUSE_1 | SCARE D:$"...the hand of a corpse -- bloodless and skeletal, and with @@ -2998,7 +2998,7 @@ B:HIT:HURT:1d8 F:MALE | F:DROP_1D2 | F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | HURT_LITE | EAT_BERSERKER | +F:EVIL | HURT_LITE | RES_DARK | EAT_BERSERKER | S:1_IN_12 S:MISSILE D:$A dark elven figure in armour and ready with his sword. @@ -3015,7 +3015,7 @@ W:10:1:0:30:0:0 B:CLAW:HURT:1d6 B:CLAW:HURT:1d6 F:FRIENDS | WILD_WASTE | DROP_SKELETON -F:OPEN_DOOR | BASH_DOOR | HURT_LITE | EVIL | DROP_60 | DROP_90 +F:OPEN_DOOR | BASH_DOOR | HURT_LITE | RES_DARK | EVIL | DROP_60 | DROP_90 F:MALE D:$"Rough-skinned, large-eyed, large-eared, with a horrible, D:$distorted resemblance to the koala bear facially, though @@ -3074,7 +3074,7 @@ B:HIT:HURT:1d12 B:HIT:HURT:1d10 F:UNIQUE | MALE | CAN_SPEAK | FORCE_MAXHP | ESCORT | WILD_ALL | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | DROP_SKELETON | DROP_CORPSE | -F:OPEN_DOOR | BASH_DOOR | EVIL | ORC | IM_POIS | EAT_NEXUS +F:OPEN_DOOR | BASH_DOOR | EVIL | ORC | IM_POIS | RES_DARK | EAT_NEXUS D:$He is a cunning and devious orc. D:$"Grishnakh [was] a short crook-legged creature, very broad and with D:$long arms that hung almost to the ground." @@ -3177,7 +3177,7 @@ B:CLAW:HURT:1d4 B:CLAW:HURT:1d4 B:BITE:HURT:1d5 F:FORCE_MAXHP | FORCE_SLEEP | CAN_FLY | DROP_CORPSE | -F:DROP_60 | BASH_DOOR | DRAGON | EAT_BLIND | +F:DROP_60 | BASH_DOOR | DRAGON | EAT_BLIND | RES_LITE | RES_DARK S:1_IN_11 | S:CONF | SCARE | BR_LITE | BR_DARK D:$A small relative of the dragon that inhabits dark caves. @@ -3326,7 +3326,7 @@ W:10:2:0:33:0:0 B:TOUCH:DISEASE:1d6 B:TOUCH:LOSE_CON:1d6 F:UNDEAD | EMPTY_MIND | NO_CONF | NO_SLEEP | IM_POIS | IM_COLD | NO_FEAR | -F:HURT_LITE | COLD_BLOOD | EVIL | NEVER_MOVE | MULTIPLY +F:HURT_LITE | RES_NETH | RES_DARK | COLD_BLOOD | EVIL | NEVER_MOVE | MULTIPLY D:$A sickening mound of decaying flesh, bones, hands and so on. It seems to D:$be growing. D:Éå¤Ã¤¿Æù¡¢¹ü¡¢¼ê¤Ê¤É¤ÎÅǤ­µ¤¤ò¤â¤è¤ª¤¹²ô¤À¡£¤½¤ì¤ÏÂ礭¤¯¤Ê¤Ã¤Æ¤¤¤ë @@ -3445,7 +3445,7 @@ B:HIT:HURT:1d4 B:HIT:HURT:1d4 F:COLD_BLOOD | EMPTY_MIND | OPEN_DOOR | BASH_DOOR | F:EVIL | ORC | UNDEAD | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a shambling orcish corpse leaving behind a trail of flesh. D:¤½¤ì¤Ï¥ª¡¼¥¯¤Î»à³¼¤Ç¡¢¿·Á¯¤ÊÆù¤Îº¯ÀפòÄɤäƤè¤í¤á¤­Ê⤯¡£ @@ -3503,7 +3503,7 @@ W:12:3:0:60:200:245 B:TOUCH:EXP_10 F:NEVER_MOVE | F:STUPID | EMPTY_MIND | SELF_LITE_1 | -F:IM_POIS | HURT_LITE | CAN_SWIM | +F:IM_POIS | RES_DARK | HURT_LITE | CAN_SWIM | F:NO_CONF | NO_SLEEP | NO_FEAR S:1_IN_11 | S:DRAIN_MANA @@ -3524,7 +3524,7 @@ W:12:4:0:6:0:0 B:TOUCH:EXP_10 F:RAND_50 | RAND_25 | CAN_SWIM | F:STUPID | WEIRD_MIND | MULTIPLY | BASH_DOOR | -F:ANIMAL | HURT_LITE | NO_FEAR +F:ANIMAL | HURT_LITE | RES_DARK | NO_FEAR D:$It is a disgusting mass of dark worms, eating each other, the floor, D:$the air, you.... D:¤½¤ì¤Ï´÷¤Þ¤ï¤·¤¤°Å¹õ¤Î¥¤¥â¥à¥·¤ÎÂç·²¤Ç¤¢¤ê¡¢¤ª¸ß¤¤¤Ë¶¦¿©¤¤¤·¤¢¤¤¡¢¾²¤ä¶õµ¤ @@ -3539,7 +3539,7 @@ W:12:4:0:7:0:0 B:CRAWL:EXP_10 F:RAND_50 | RAND_25 | F:STUPID | WEIRD_MIND | MULTIPLY | BASH_DOOR | EVIL | CAN_SWIM | -F:ANIMAL | HURT_LITE | NO_FEAR | KILL_WALL | COLD_BLOOD | INVISIBLE +F:ANIMAL | HURT_LITE | RES_DARK | NO_FEAR | KILL_WALL | COLD_BLOOD | INVISIBLE D:$Even more disgusting dark worms, their essence that of unbeing. D:Èó¸ºß¤¬¤½¤ÎËܼÁ¤Ç¤¢¤ë¡¢¤¾¤Ã¤È¤¹¤ë°Å¹õ¤Î¥¤¥â¥à¥·¤À¡£ @@ -3558,7 +3558,7 @@ F:FORCE_MAXHP | WILD_ALL | F:ESCORT | DROP_SKELETON | DROP_CORPSE F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | EAT_POISONOUS F:OPEN_DOOR | BASH_DOOR | CAN_SPEAK | -F:EVIL | ORC | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS +F:EVIL | ORC | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_DARK D:$A leader of a band of raiding orcs, he picks on hobbits. D:¥ª¡¼¥¯¤Î½±·âÂâ¤ÎÂâĹ¤Ç¡¢¥Û¥Ó¥Ã¥È¤ò¤Ä¤±ÁÀ¤Ã¤Æ¤¤¤ë¡£ @@ -3746,7 +3746,7 @@ F:MALE | F:FORCE_SLEEP | F:ONLY_ITEM | DROP_1D2 | F:SMART | OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | HURT_LITE | EAT_MANA | +F:EVIL | HURT_LITE | RES_DARK | EAT_MANA | S:1_IN_5 | S:HEAL | BLIND | CONF | CAUSE_2 | DARKNESS | MISSILE D:$A dark elven figure, dressed all in black, chanting curses and waiting to @@ -3783,7 +3783,7 @@ W:12:1:0:38:0:0 B:HIT:HURT:1d8 F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | UNDEAD | IM_COLD | -F:IM_POIS | +F:IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is an animated human skeleton. D:À¸Ì¿¤ò¿á¤­¹þ¤Þ¤ì¤¿¿Í´Ö¤Î³¼¹ü¤À¡£ @@ -3797,7 +3797,7 @@ W:12:1:0:34:0:0 B:HIT:HURT:1d4 B:HIT:HURT:1d4 F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a shambling human corpse dropping chunks of flesh behind it. D:Æù¤òÍî¤È¤·¤Ê¤¬¤é¤è¤í¤á¤­Ê⤯¿Í´Ö¤Î»à³¼¤À¡£ @@ -3830,7 +3830,7 @@ B:TOUCH:DR_MANA:1d8 F:FORCE_SLEEP | RAND_25 | F:DROP_60 | DROP_90 | CAN_FLY | F:INVISIBLE | COLD_BLOOD | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_15 | S:TPORT | SCARE D:$A ghostly apparition that shrieks horribly. @@ -3861,7 +3861,7 @@ B:TOUCH:ACID:2d6 B:TOUCH:ACID:2d6 F:NEVER_MOVE | F:STUPID | EMPTY_MIND | COLD_BLOOD | -F:IM_ACID | IM_POIS | HURT_LITE | CAN_SWIM | +F:IM_ACID | IM_POIS | RES_DARK | HURT_LITE | CAN_SWIM | F:NO_CONF | NO_SLEEP | NO_FEAR D:$A jelly thing. D:¥¼¥ê¡¼¤Î¤è¤¦¤Ê¤â¤Î¤À¡£ @@ -4044,7 +4044,7 @@ B:HIT:HURT:3d4 F:MALE | WILD_ALL | DROP_SKELETON | DROP_CORPSE F:FRIENDS | DROP_60 | EAT_POISONOUS | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | HURT_LITE +F:EVIL | ORC | HURT_LITE | RES_DARK S:1_IN_15 S:SHOOT D:$He is a large orc with powerful arms and deep black skin. @@ -4155,7 +4155,7 @@ B:EXPLODE:HURT:20d2 F:MALE | F:WILD_ALL | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | HURT_LITE +F:EVIL | ORC | HURT_LITE | RES_DARK D:$He is one of the many weaker 'slave' orcs, often mistakenly known as a D:$goblin. He is equipped with an explosive charge. D:Èà¤Ï¿¤¯¤Î¼å¤¤¡ÖÅÛÎì¡×¤Î¥ª¡¼¥¯¤Î°ì¿Í¤Ç @@ -4193,7 +4193,7 @@ I:110:8d6:15:20:20 W:14:4:0:20:0:0 B:CRAWL:POISON:1d4 F:NEVER_MOVE | MULTIPLY | EVIL | CAN_SWIM | -F:IM_POIS | EMPTY_MIND | NO_FEAR | +F:IM_POIS | EMPTY_MIND | NO_FEAR | RES_LITE S:1_IN_7 S:SCARE | CONF | BR_LITE D:$A chaotic mass of pulsating flesh, mouths and eyes. @@ -4302,7 +4302,7 @@ F:FORCE_MAXHP | CAN_SPEAK | DROP_SKELETON | DROP_CORPSE F:ESCORT | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | IM_COLD | IM_POIS +F:EVIL | ORC | IM_COLD | IM_POIS | RES_DARK | D:$A strong orc guarding the pass of Cirith Ungol. He is mortally afraid of D:$spiders. D:¥­¥ê¥¹¡¦¥¦¥ó¥´¥ë¤ÎÄ̤êÆ»¤ò¼é¤ëÎϤζ¯¤¤¥ª¡¼¥¯¤À¡£Èà¤Ï¶ËÅÙ¤ËÃØéá¤ò¶²¤ì¤Æ¤¤¤ë¡£ @@ -4372,7 +4372,7 @@ B:HIT:HURT:3d4 F:MALE | WILD_ALL | F:FRIENDS | DROP_60 | F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | ORC +F:EVIL | ORC | RES_DARK D:$He is a hideous deformed cross-breed with man and orc, combining man's D:$strength and cunning with orcish evil. D:Èà¤Ï¿Í´Ö¤È¥ª¡¼¥¯¤Îº®·ì¤Ç¤Ò¤É¤¯½¹¤¤ÍÆËƤò¤·¤Æ¤¤¤ë¡£¿Í´Ö¤ÎÎ϶¯¤µ¤È¥ª¡¼¥¯¤Î¼Ù°­ @@ -4437,7 +4437,7 @@ B:CLAW:DISEASE:2d5 B:BUTT:HURT:3d5 F:FORCE_MAXHP | DROP_60 | F:OPEN_DOOR | BASH_DOOR | IM_COLD | -F:EVIL | DEMON | UNDEAD | IM_POIS | NONLIVING +F:EVIL | DEMON | UNDEAD | IM_POIS | RES_NETH | NONLIVING S:1_IN_8 S:SCARE | S_ANT | CAUSE_2 | SLOW D:$An unfortunate individual, who was killed by the incurable @@ -4501,7 +4501,7 @@ B:BITE:HURT:1d6 F:FORCE_SLEEP | DROP_CORPSE F:FRIENDS | SELF_LITE_1 | SELF_LITE_2 | F:BASH_DOOR | -F:ANIMAL +F:ANIMAL | RES_LITE S:1_IN_5 | S:BR_LITE D:$A brilliant canine form whose light hurts your eyes, even at this distance. @@ -4517,7 +4517,7 @@ B:BITE:HURT:1d6 F:FORCE_SLEEP | DROP_CORPSE F:FRIENDS | SELF_DARK_1 | SELF_DARK_2 | F:BASH_DOOR | HURT_LITE | -F:ANIMAL +F:ANIMAL | RES_DARK S:1_IN_5 | S:BR_DARK D:$A hole in the air in the shape of a huge hound. No light falls upon its @@ -4533,7 +4533,7 @@ W:15:3:0:50:0:0 B:BITE:POISON:1d3 B:BITE:LOSE_STR:1d4 F:UNDEAD | EVIL | IM_POIS | IM_COLD | WEIRD_MIND | NO_FEAR | CAN_FLY | -F:NO_CONF | NO_SLEEP | DROP_60 | BASH_DOOR | FRIENDS | COLD_BLOOD +F:RES_NETH | NO_CONF | NO_SLEEP | DROP_60 | BASH_DOOR | FRIENDS | COLD_BLOOD D:$A skullpack animated by necromantic spells. D:»àÎî½Ñ¤Î¼öʸ¤Ë¤è¤êÆ°¤¤¤Æ¤¤¤ëñññð¤À¡£ @@ -4598,7 +4598,7 @@ B:BITE:POISON:1d6 B:BITE:POISON:1d6 F:FRIENDS | WILD_WOOD | F:WEIRD_MIND | BASH_DOOR | HURT_LITE | -F:ANIMAL | EVIL | IM_POIS | DROP_SKELETON +F:ANIMAL | EVIL | IM_POIS | RES_DARK | DROP_SKELETON D:$A strong and powerful spider from Mirkwood forest. Cunning and evil, it D:$seeks to taste your juicy insides. D:°Ç¤Î¿¹¤ËÀ¸Â©¤¹¤ë¶¯ÎϤÊÃØéá¤À¡£¤º¤ë¸­¤¯¼Ù°­¤Ç¡¢ËÁ¸±¼Ô¤ÎÆùÂÎÆâÉô¤Î @@ -4728,7 +4728,7 @@ B:HIT:HURT:3d4 F:MALE | WILD_ALL | F:DROP_90 | F:OPEN_DOOR | BASH_DOOR | ESCORT | DROP_SKELETON | DROP_CORPSE -F:EVIL | ORC | CAN_SPEAK +F:EVIL | ORC | RES_DARK | CAN_SPEAK S:1_IN_15 S:SHOOT D:$An armoured orc with an air of authority. @@ -4934,7 +4934,7 @@ B:BITE:HURT:1d6 F:MALE | F:FRIENDS | DROP_60 | WILD_WOOD | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | REGENERATE | -F:EVIL | TROLL | HURT_LITE +F:EVIL | TROLL | HURT_LITE | RES_DARK D:$He is green skinned and ugly. D:Èà¤ÎÈ©¤ÏÎп§¤Ç½¹¤¤¡£ @@ -5195,7 +5195,7 @@ B:HIT:HURT:3d5 F:MALE | F:FORCE_MAXHP | FRIENDS | DROP_60 | F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE | EAT_POISONOUS | -F:EVIL | ORC | IM_POIS +F:EVIL | ORC | IM_POIS | RES_DARK S:1_IN_12 S:SHOOT D:$He is a cunning orc of power, as tall as a man, and stronger. It fears @@ -5218,7 +5218,7 @@ F:FORCE_MAXHP | F:ESCORT | DROP_SKELETON | DROP_CORPSE | EAT_POISONOUS F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | IM_POIS +F:EVIL | ORC | IM_POIS | RES_DARK D:$He is an Uruk of power and great cunning. D:Èà¤Ï¤«¤Ê¤ê°­¸­¤¯¤ÆÎϤΤ¢¤ë¥¦¥ë¥¯¤À¡£ @@ -5237,7 +5237,7 @@ F:FORCE_MAXHP | F:ESCORT | DROP_SKELETON | DROP_CORPSE | EAT_POISONOUS | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | IM_POIS +F:EVIL | ORC | IM_POIS | RES_DARK D:$A gruesomely ugly but cunning orc, his eyes regard you with hatred. His D:$powerful arms flex menacingly as he advances. D:¸«¤¿Ìܤ϶ËÅ٤˽¹°­¤Ç¡¢¤«¤Ê¤ê¤Î¤º¤ë¸­¤µ¤ò»ý¤Ä¥ª¡¼¥¯¤À¡£Èà¤ÏËÁ¸±¼Ô¤òÁþ¤à @@ -5401,7 +5401,7 @@ B:BITE:HURT:1d3 F:FORCE_SLEEP | F:RAND_50 | RAND_25 | WILD_MOUNTAIN | F:WEIRD_MIND | BASH_DOOR | -F:ANIMAL | IM_FIRE | CAN_FLY +F:ANIMAL | IM_FIRE | RES_SOUN | CAN_FLY S:1_IN_9 | S:BR_SOUN D:$Large beating wings support this dazzling insect. A loud buzzing noise @@ -5436,8 +5436,8 @@ B:KICK:HURT:3d3 B:KICK:HURT:9d1 B:BITE:HURT:6d2 F:DROP_60 | -F:NO_SLEEP | NO_CONF | UNDEAD | EVIL | IM_POIS | IM_COLD | -F:COLD_BLOOD | HURT_LITE | CAN_SWIM | ELDRITCH_HORROR +F:NO_SLEEP | NO_CONF | UNDEAD | EVIL | IM_POIS | IM_COLD | RES_DARK | +F:COLD_BLOOD | HURT_LITE | RES_NETH | CAN_SWIM | ELDRITCH_HORROR F:BASH_DOOR | OPEN_DOOR D:$A repulsive being which leaps on long hind legs like a kangaroo. D:$Its face is curiously human despite the absence of a nose, a @@ -5493,7 +5493,7 @@ F:FORCE_MAXHP | F:ESCORT | DROP_SKELETON | DROP_CORPSE | EAT_POISONOUS | F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | IM_POIS +F:EVIL | ORC | IM_POIS | RES_DARK D:$A large and powerful orc. He looks just like his daddy. He is tall and D:$fast, but fortunately blessed with orcish brains. D:Â礭¤¯¤ÆÎϤζ¯¤¤¥ª¡¼¥¯¤Ç¡¢¤½¤Î»Ñ¤ÏÉã¿Æ¤Ë¤½¤Ã¤¯¤ê¤À¡£Èà¤ÏÇؤ¬¹â¤¯¤ÆÆ°¤­¤âÁÇÁá @@ -5616,7 +5616,7 @@ B:CLAW:HURT:3d3 F:FORCE_SLEEP | F:FRIENDS | DROP_SKELETON | DROP_CORPSE F:BASH_DOOR | -F:ANIMAL +F:ANIMAL | RES_SHAR S:1_IN_10 | S:BR_SHAR D:$A beautiful crystalline shape does not disguise the danger this hound @@ -5817,7 +5817,7 @@ F:MALE | F:FORCE_SLEEP | F:ONLY_ITEM | DROP_2D2 | DROP_SKELETON | DROP_CORPSE | EAT_BLIND | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | HURT_LITE +F:EVIL | HURT_LITE | RES_DARK S:1_IN_5 | S:HASTE | BLIND | CONF | DARKNESS | BO_FIRE | BO_COLD | MISSILE D:$A dark elven figure in armour and radiating evil power. @@ -5852,7 +5852,7 @@ F:FORCE_MAXHP | DROP_SKELETON | DROP_CORPSE F:ESCORT | EAT_POISONOUS | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | IM_POIS +F:EVIL | ORC | IM_POIS | RES_DARK D:$Another of Morgoth's servants, this orc is strong and cunning. He is ugly D:$and scarred from many power struggles. D:¥â¥ë¥´¥¹¤Î¾¤»È¤¤¤Î°ì¿Í¤Ç¡¢ÎϤ¬¶¯¤¯¤Æ¤º¤ë¸­¤¤¥ª¡¼¥¯¤À¡£Èà¤Ï¤ä¤Ã¤«¤¤¤Ê @@ -5963,7 +5963,7 @@ F:FORCE_MAXHP | DROP_SKELETON | DROP_CORPSE F:ESCORT | EAT_POISONOUS | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | IM_FIRE | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | ORC | IM_FIRE | IM_COLD | IM_POIS | RES_DARK | NO_CONF | NO_SLEEP D:$A strong and cunning orc warrior, Lugdush sneers as he insults your mother. D:ÎϤ¬¶¯¤¯¤Æ¤º¤ë¸­¤¤¥ª¡¼¥¯¤ÎÀï»Î¤Ç¤¢¤ë¥ë¥°¥É¥¥¥·¥å¤Ï¡¢ËÁ¸±¼Ô¤ÎÊì¤òÉî¿«¤·¤Æ¤Ï D:Ó޾Ф¹¤ë¡£ @@ -6044,7 +6044,7 @@ B:BITE:EXP_20:1d8 F:DROP_90 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | ANIMAL | UNDEAD | CAN_FLY | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR | RIDING D:$A mummified, undead great avian creature, who now serves as D:$a steed for mighty undead creatures. @@ -6062,7 +6062,7 @@ B:HIT:HURT:2d4 F:DROP_90 | F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | ORC | UNDEAD | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is an orcish figure covered in wrappings. D:ÂÎÃæ¤òÊñÂÓ¤Çʤ¤ï¤ì¤¿¥ª¡¼¥¯·¿¤Î¥â¥ó¥¹¥¿¡¼¤À¡£ @@ -6245,7 +6245,7 @@ F:FORCE_MAXHP | DROP_SKELETON | DROP_CORPSE F:ESCORT | ESCORTS | EAT_POISONOUS F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | ORC | IM_POIS +F:EVIL | ORC | IM_POIS | RES_DARK D:$He is also known as the King of Khazad-dum. His ego is renowned to be D:$bigger than his head. D:Èà¤Ï¤Þ¤¿¥«¥¶¥É=¥É¥¥¥à¤ÎÂ粦¤È¤·¤Æ¤âÃΤé¤ì¤Æ¤¤¤ë¡£Èà¤Ï¤È¤Û¤¦¤â¤Ê¤¤ @@ -6281,7 +6281,7 @@ F:MALE | F:FORCE_SLEEP | EAT_MANA | EAT_GIVE_INT | EAT_LOSE_STR | EAT_LOSE_CON | F:ONLY_ITEM | DROP_1D2 | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | FRIENDS -F:EVIL | IM_POIS | HURT_LITE +F:EVIL | IM_POIS | RES_DARK | HURT_LITE S:1_IN_5 | S:CONF | MISSILE | DARKNESS | BO_MANA D:$A dark elven mage with spells of frightening destructive power. @@ -6345,7 +6345,7 @@ B:CLAW:COLD:2d3 B:CLAW:COLD:2d3 F:ONLY_ITEM | DROP_90 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a skeleton covered in frost. D:¤½¤ì¤ÏÎ䵤¤Ëʤ¤ï¤ì¤¿³¼¹ü¤À¡£ @@ -6381,7 +6381,7 @@ B:TOUCH:EXP_20 F:FORCE_SLEEP | RAND_25 | F:DROP_60 | DROP_90 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP S:1_IN_10 | S:SCARE | DRAIN_MANA @@ -6552,7 +6552,7 @@ B:HIT:HURT:2d4 B:HIT:HURT:2d4 F:ONLY_ITEM | DROP_90 | F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a human form encased in mouldy wrappings. D:¤½¤ì¤Ïóà¤Ó¤¿ÊñÂÓ¤ËÊñ¤Þ¤ì¤Æ¤¤¤ë¿Í´Ö·¿¤Î¥â¥ó¥¹¥¿¡¼¤À¡£ @@ -6566,7 +6566,7 @@ W:24:2:0:150:0:0 B:BITE:EXP_40:1d4 B:BITE:EXP_40:1d4 F:RAND_50 | COLD_BLOOD | REGENERATE | CAN_FLY | -F:EVIL | ANIMAL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | ANIMAL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$An undead bat that flies at your neck hungrily. D:¥¢¥ó¥Ç¥Ã¥É¤Î¥³¥¦¥â¥ê¤Ç¡¢ËÁ¸±¼Ô¤Î¼ó¶Ú¤ËµÛ¤¤ÉÕ¤³¤¦¤ÈÈô¤Ó¤«¤«¤Ã¤Æ¤¯¤ë¡£ @@ -6624,7 +6624,7 @@ B:TOUCH:DR_MANA:2d6 F:FEMALE | F:RAND_50 | DROP_1D2 | F:INVISIBLE | COLD_BLOOD | TAKE_ITEM | PASS_WALL | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_15 | S:TPORT | DRAIN_MANA D:$It is a ghostly woman's form that wails mournfully. @@ -6686,7 +6686,7 @@ B:GAZE:TERRIFY B:GAZE:PARALYZE B:GAZE:LOSE_STR F:EMPTY_MIND | COLD_BLOOD | BASH_DOOR | NONLIVING | NEVER_MOVE | -F:IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | EVIL | +F:IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_DARK | EVIL | F:HURT_ROCK | HURT_LITE | F:NO_CONF | NO_SLEEP | NO_FEAR | RES_TELE S:1_IN_6 | @@ -6745,7 +6745,7 @@ F:MALE | F:FORCE_SLEEP | F:ONLY_ITEM | DROP_1D2 | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | EAT_SLEEP | -F:EVIL | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:EVIL | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_6 | S:HEAL | CONF | DARKNESS | S:S_MONSTER | S_SPIDER | MISSILE @@ -6764,7 +6764,7 @@ B:BITE:HURT:3d4 F:MALE | F:FRIENDS | DROP_60 | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | REGENERATE | -F:EVIL | TROLL | HURT_LITE | HURT_ROCK +F:EVIL | TROLL | HURT_LITE | HURT_ROCK | RES_DARK D:$He is a giant troll with scabrous black skin. D:¥¶¥é¥¶¥é¤Î¹õ¤¤ÈéÉæ¤ò¤·¤¿µðÂç¤Ê¥È¥í¥ë¤À¡£ @@ -6798,7 +6798,7 @@ B:BITE:HURT:3d4 F:MALE | F:FORCE_SLEEP | FORCE_MAXHP | DROP_90 | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | REGENERATE | -F:EVIL | TROLL | HURT_LITE | NO_CONF | NO_SLEEP +F:EVIL | TROLL | HURT_LITE | RES_DARK | NO_CONF | NO_SLEEP S:1_IN_5 | S:BLINK | SCARE | CAUSE_1 | MISSILE | DARKNESS D:$A troll who is so bright he knows how to read. @@ -6898,7 +6898,7 @@ B:HIT:DISEASE:6d6 B:CLAW:LOSE_CON:2d6 B:CLAW:LOSE_CON:2d6 F:UNIQUE | MALE | CAN_SPEAK | UNDEAD | EVIL | ESCORTS | ESCORT -F:FORCE_MAXHP | COLD_BLOOD | IM_POIS | IM_COLD | NO_FEAR +F:FORCE_MAXHP | COLD_BLOOD | IM_POIS | IM_COLD | RES_NETH | NO_FEAR F:ONLY_ITEM | DROP_90 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | RES_TELE S:1_IN_5 | @@ -7020,8 +7020,8 @@ B:HIT:HURT:1d6 B:TOUCH:EXP_20 F:FORCE_SLEEP | F:DROP_1D2 | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | CAN_FLY | RES_NETH | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_8 | S:SCARE | CAUSE_2 | DARKNESS D:$It is a tangible but ghostly form made of white fog. @@ -7063,8 +7063,8 @@ W:26:1:0:95:1000:483 B:CLAW:DISEASE:1d4 B:CLAW:DISEASE:1d4 B:BITE:PARALYZE:1d5 -F:DROP_60 | OPEN_DOOR | BASH_DOOR | CAN_SWIM | -F:EVIL | UNDEAD | FRIENDS | IM_POIS | IM_COLD | NO_CONF | NO_SLEEP +F:DROP_60 | OPEN_DOOR | BASH_DOOR | CAN_SWIM | RES_NETH | +F:EVIL | UNDEAD | FRIENDS | IM_POIS | IM_COLD | NO_CONF | RES_DARK | NO_SLEEP F:COLD_BLOOD | HURT_LITE S:1_IN_9 S:SCARE | HOLD @@ -7255,7 +7255,7 @@ B:CLAW:HURT:3d3 F:FORCE_SLEEP | F:FRIENDS | F:BASH_DOOR | -F:ANIMAL | NO_CONF | NO_SLEEP | DROP_SKELETON | DROP_CORPSE +F:ANIMAL | RES_SOUN | NO_CONF | NO_SLEEP | DROP_SKELETON | DROP_CORPSE S:1_IN_5 | S:BR_SOUN D:$A blurry canine form which seems to be moving as fast as the eye can @@ -7338,8 +7338,8 @@ B:BITE:EXP_VAMP:1d8 B:TOUCH:DR_MANA:1d10 F:FORCE_SLEEP | F:COLD_BLOOD | DROP_60 | DROP_1D2 | -F:OPEN_DOOR | BASH_DOOR | REGENERATE | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:OPEN_DOOR | BASH_DOOR | REGENERATE | CAN_FLY | RES_NETH | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_9 | S:TELE_TO | HOLD | SCARE | CAUSE_2 | MIND_BLAST | FORGET | DARKNESS D:$It is a humanoid with an aura of power. You notice a sharp set of front @@ -7479,8 +7479,8 @@ B:WAIL:EXP_20 B:WAIL:EAT_GOLD B:WAIL:EAT_ITEM F:CHAR_MULTI | COLD_BLOOD | EVIL | NO_CONF | NO_SLEEP | NO_FEAR | NONLIVING | -F:UNDEAD | FORCE_MAXHP | IM_FIRE | IM_ELEC | IM_POIS | IM_ACID | EMPTY_MIND -F:NEVER_MOVE +F:UNDEAD | FORCE_MAXHP | IM_FIRE | IM_ELEC | IM_POIS | IM_ACID | EMPTY_MIND | +F:NEVER_MOVE | RES_NETH S:1_IN_15 S:S_DEMON | SHRIEK D:$Often found in graveyards. @@ -7518,7 +7518,7 @@ B:CHARGE:EAT_GOLD F:DROP_1D2 | DROP_90 | DROP_GOOD | DROP_GREAT | ONLY_ITEM | F:EVIL | MALE | CAN_SPEAK | SMART | RES_TELE | CAN_SWIM | DROP_CORPSE F:ANIMAL | IM_POIS | NO_CONF | NO_SLEEP | FORCE_MAXHP | UNIQUE | FORCE_SLEEP -F:EAT_INSANITY +F:EAT_INSANITY | RES_CHAO S:1_IN_3 S:SHRIEK | CONF | S_HYDRA | SLOW | BLIND | DRAIN_MANA S:BA_POIS | BR_CHAO | FORGET | DARKNESS | BR_NUKE @@ -7776,7 +7776,7 @@ B:BITE:COLD:3d6 F:MALE | F:FRIENDS | DROP_60 | WILD_WASTE | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | REGENERATE | -F:EVIL | TROLL | IM_COLD | HURT_LITE +F:EVIL | TROLL | IM_COLD | RES_DARK | HURT_LITE D:$He is a white troll with powerfully clawed hands. D:Èà¤Ï¶¯ÎϤÊÄÞ¤ÎÉÕ¤¤¤¿¼ê¤ò»ý¤Ã¤¿¡¢Çò¤¤¥È¥í¥ë¤À¡£ @@ -8010,7 +8010,7 @@ B:HIT:HURT:1d6 B:BITE:HURT:3d4 F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | TROLL | UNDEAD | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a troll skeleton animated by dark dweomers. D:¤½¤ì¤Ï°Å¹õ¤ÎËâ½Ñ»Õ¤Ë¤è¤Ã¤ÆÀ¸Ì¿¤ò¿á¤­¹þ¤Þ¤ì¤¿¥È¥í¥ë¤Î³¼¹ü¤À¡£ @@ -8027,7 +8027,7 @@ B:BITE:LOSE_CON:4d6 B:GAZE:TERRIFY F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | ANIMAL | UNDEAD | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR | RIDING D:$It is the skeleton of a tyrannosaurus, animated by dark dweomers. D:¼Ù°­¤ÊËâË¡¤Ë¤è¤êÆ°¤¤¤Æ¤¤¤ë¥Æ¥£¥é¥Î¥µ¥¦¥ë¥¹¤Î³¼¹ü¤À¡£ @@ -8096,7 +8096,7 @@ F:FORCE_SLEEP | RAND_25 | F:ONLY_ITEM | DROP_1D2 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | UNDEAD | CAN_FLY | -F:IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_8 | S:SCARE | CAUSE_3 | DARKNESS D:$It is a ghostly form with eyes that haunt you. @@ -8231,7 +8231,7 @@ B:TOUCH:DR_MANA:2d8 F:FORCE_SLEEP | RAND_25 | DROP_60 | DROP_1D2 | F:INVISIBLE | COLD_BLOOD | TAKE_ITEM | PASS_WALL | F:EVIL | UNDEAD | IM_COLD | CAN_FLY | -F:IM_POIS | NO_CONF | NO_SLEEP +F:IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_15 | S:BLIND | HOLD | DRAIN_MANA D:$You don't believe in them. @@ -8303,7 +8303,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | F:ESCORT | ESCORTS | DROP_CORPSE | EAT_BLIND | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_GOOD | F:SMART | BASH_DOOR | -F:ANIMAL | EVIL | HURT_LITE | NO_CONF | NO_SLEEP +F:ANIMAL | EVIL | HURT_LITE | NO_CONF | NO_SLEEP | RES_DARK S:1_IN_2 | S:HEAL | BLIND | SLOW | CONF | SCARE | CAUSE_3 | CAUSE_4 | S:TRAPS | BR_DARK @@ -8347,8 +8347,8 @@ B:CLAW:DISEASE:3d4 B:BITE:PARALYZE:3d5 F:DROP_60 | OPEN_DOOR | BASH_DOOR | CAN_SWIM | F:DROP_1D2 | FORCE_MAXHP | ESCORT | FORCE_SLEEP | -F:EVIL | UNDEAD | IM_POIS | IM_COLD | NO_CONF | NO_SLEEP | -F:COLD_BLOOD | HURT_LITE +F:EVIL | UNDEAD | IM_POIS | IM_COLD | NO_CONF | RES_DARK | NO_SLEEP | +F:COLD_BLOOD | HURT_LITE | RES_NETH S:1_IN_7 S:SCARE | HOLD | DARKNESS | S_UNDEAD | ANIM_DEAD D:$Flesh is falling off in chunks from this decaying abomination. @@ -8552,7 +8552,7 @@ F:FORCE_MAXHP | F:ESCORT | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | WILD_WOOD | REGENERATE | F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | TROLL | IM_COLD | IM_POIS | HURT_LITE | HURT_ROCK +F:EVIL | TROLL | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | HURT_ROCK D:$Big, brawny, powerful and with a taste for hobbit. He has friends called D:$Bill and Tom. D:µðÂç¤Ç¡¢¶Ú¹ü¤¿¤¯¤Þ¤·¤¯¤Æ¡¢¶¯ÎϤǡ¢¥Û¥Ó¥Ã¥È¤òÂ繥ʪ¤Ë¤·¤Æ¤¤¤ë¡£ @@ -8572,7 +8572,7 @@ F:FORCE_MAXHP | F:ESCORT | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | WILD_WOOD | REGENERATE | F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | TROLL | IM_COLD | IM_POIS | HURT_LITE | HURT_ROCK +F:EVIL | TROLL | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | HURT_ROCK D:$Big, brawny, powerful and with a taste for hobbit. He has friends called D:$Bert and Tom. D:µðÂç¤Ç¡¢¶Ú¹ü¤¿¤¯¤Þ¤·¤¯¤Æ¡¢¶¯ÎϤǡ¢¥Û¥Ó¥Ã¥È¤òÂ繥ʪ¤Ë¤·¤Æ¤¤¤ë¡£ @@ -8592,7 +8592,7 @@ F:FORCE_MAXHP | F:ESCORT | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | WILD_WOOD | REGENERATE | F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:EVIL | TROLL | IM_COLD | IM_POIS | HURT_LITE | HURT_ROCK +F:EVIL | TROLL | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | HURT_ROCK D:$Big, brawny, powerful and with a taste for hobbit. He has friends called D:$Bert and Bill. D:µðÂç¤Ç¡¢¶Ú¹ü¤¿¤¯¤Þ¤·¤¯¤Æ¡¢¶¯ÎϤǡ¢¥Û¥Ó¥Ã¥È¤òÂ繥ʪ¤Ë¤·¤Æ¤¤¤ë¡£ @@ -8611,7 +8611,7 @@ B:HIT:HURT:1d8 F:MALE | F:FRIENDS | DROP_60 | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | REGENERATE | -F:EVIL | TROLL | IM_POIS | HURT_LITE +F:EVIL | TROLL | IM_POIS | RES_DARK | HURT_LITE D:$He is a vicious monster, feared for his ferocity. D:Èà¤Ï¶²¤í¤·¤¤»ÄǦ¤µ¤ò»ý¤Ã¤¿¼Ù°­¤Ê¥â¥ó¥¹¥¿¡¼¤À¡£ @@ -8669,8 +8669,8 @@ B:HIT:HURT:1d8 B:HIT:HURT:1d8 B:TOUCH:EXP_40 F:FORCE_SLEEP | FRIENDS | DROP_60 | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | CAN_FLY | RES_NETH | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_8 | S:HOLD | SCARE | CAUSE_2 | DARKNESS D:$It is a ghostly nightmare of an entity. @@ -8689,7 +8689,7 @@ B:BITE:HURT:1d5 F:FORCE_MAXHP | F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | TROLL | UNDEAD | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is the animated form of a massive troll. D:¤½¤ì¤Ï¶þ¶¯¤Ê¥È¥í¥ë¤Î³¼¹ü¤ËÀ¸Ì¿¤ò¿á¤­¹þ¤ó¤À¤â¤Î¤À¡£ @@ -8705,7 +8705,7 @@ B:CLAW:HURT:1d8 B:BITE:HURT:2d6 F:ATTR_MULTI | ATTR_ANY | CAN_FLY | FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_2D2 | RES_DISE | OPEN_DOOR | BASH_DOOR | DROP_CORPSE | -F:EVIL | DRAGON | IM_FIRE | NO_CONF | NO_SLEEP | RIDING | +F:EVIL | DRAGON | IM_FIRE | RES_CHAO | NO_CONF | NO_SLEEP | RIDING | F:EAT_CONF | EAT_INSANITY S:1_IN_6 | S:SLOW | CONF | SCARE | BR_DISE | BR_CHAO @@ -8725,7 +8725,7 @@ B:CLAW:HURT:1d8 B:BITE:HURT:2d6 F:FORCE_SLEEP | FORCE_MAXHP | GOOD | ONLY_ITEM | DROP_2D2 | CAN_FLY | F:OPEN_DOOR | BASH_DOOR | DROP_CORPSE | DRAGON | IM_COLD | NO_CONF | NO_SLEEP | -F:RIDING | +F:RIDING | RES_SOUN | RES_SHAR S:1_IN_6 | S:SLOW | CONF | SCARE | BR_SOUN | BR_SHAR D:$This dragon is clever and cunning. It laughs at your puny efforts to @@ -8744,7 +8744,7 @@ B:CLAW:HURT:1d8 B:BITE:HURT:2d6 F:ATTR_MULTI | ATTR_ANY | F:FORCE_SLEEP | FORCE_MAXHP | -F:ONLY_ITEM | DROP_2D2 | RES_DISE | +F:ONLY_ITEM | DROP_2D2 | RES_SOUN | RES_SHAR | RES_DISE | RES_CHAO | F:OPEN_DOOR | BASH_DOOR | DROP_CORPSE F:DRAGON| CAN_FLY | EAT_CONF | EAT_INSANITY | F:IM_FIRE | IM_COLD | NO_CONF | NO_SLEEP | RIDING @@ -8769,7 +8769,7 @@ B:BITE:HURT:2d6 F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_2D2 | CAN_FLY | F:INVISIBLE | PASS_WALL | -F:EVIL | DRAGON | NO_CONF | NO_SLEEP | RIDING +F:EVIL | DRAGON | RES_LITE | RES_DARK | NO_CONF | NO_SLEEP | RIDING S:1_IN_6 | S:SLOW | CONF | SCARE | S:BR_LITE | BR_DARK @@ -8833,7 +8833,7 @@ B:CLAW:LOSE_INT:1d10 F:FORCE_SLEEP | RAND_25 | F:ONLY_ITEM | DROP_90 | DROP_2D2 | F:INVISIBLE | COLD_BLOOD | TAKE_ITEM | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | CAN_FLY | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | CAN_FLY | F:NO_CONF | NO_SLEEP | ATTR_MULTI | ATTR_ANY | S:1_IN_15 | S:BLIND | HOLD | DRAIN_MANA | FORGET @@ -8855,7 +8855,7 @@ B:TOUCH:DR_MANA:2d10 F:FORCE_SLEEP | RAND_25 | F:ONLY_ITEM | DROP_90 | DROP_2D2 | CAN_FLY | F:COLD_BLOOD | TAKE_ITEM | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP S:1_IN_15 | S:BLIND | HOLD | DRAIN_MANA | FORGET @@ -8878,7 +8878,7 @@ F:MALE | WILD_SHORE | WILD_SWAMP | REGENERATE | F:FORCE_MAXHP | DROP_SKELETON | DROP_CORPSE F:FRIENDS | DROP_60 | F:OPEN_DOOR | BASH_DOOR | CAN_SWIM | -F:EVIL | TROLL | IM_COLD | IM_POIS | HURT_LITE +F:EVIL | TROLL | IM_COLD | IM_POIS | RES_DARK | HURT_LITE D:$He is a troll that reeks of brine. D:Èà¤Ï³¤¿å¤Î¤è¤¦¤ÊÆ÷¤¤¤òȯ¤·¤Æ¤¤¤ë¥È¥í¥ë¤À¡£ @@ -8979,7 +8979,7 @@ B:GAZE:HURT:6d6 F:RAND_50 | F:EMPTY_MIND | INVISIBLE | COLD_BLOOD | F:OPEN_DOOR | BASH_DOOR | POWERFUL | CAN_FLY | -F:EVIL | IM_COLD | IM_POIS | UNDEAD | IM_ELEC +F:EVIL | IM_COLD | IM_POIS | UNDEAD | IM_ELEC | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR | NONLIVING D:$It is impossible to define its form but its violence is legendary. D:¤½¤Î»Ñ¤òÄêµÁ¤¹¤ë¤Î¤ÏÉÔ²Äǽ¤Ê¤³¤È¤À¤¬¡¢¤½¤Î»ÄǦ¤µ¤ÏÅÁÀâŪ¤Ç¤¹¤é¤¢¤ë¡£ @@ -9059,7 +9059,7 @@ B:TOUCH:LOSE_DEX:2d8 B:TOUCH:LOSE_DEX:2d8 F:FORCE_SLEEP | FORCE_MAXHP | DROP_1D2 | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP S:1_IN_4 | S:BLINK | TELE_TO | TELE_AWAY | BLIND | HOLD | SLOW | SCARE | @@ -9096,8 +9096,8 @@ B:BITE:EXP_VAMP:1d11 B:TOUCH:DR_MANA:2d8 F:FORCE_SLEEP | FORCE_MAXHP | F:DROP_4D2 | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | CAN_FLY | RES_NETH | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_6 | S:TELE_TO | HOLD | CONF | SCARE | CAUSE_3 | MIND_BLAST | FORGET | S:DARKNESS | BO_NETH @@ -9116,8 +9116,8 @@ B:HIT:HURT:1d6 B:HIT:HURT:1d6 B:BITE:EXP_VAMP:1d8 B:TOUCH:DR_MANA:2d9 -F:FORCE_SLEEP | FORCE_MAXHP | -F:DROP_4D2 | CAN_FLY | +F:FORCE_SLEEP | FORCE_MAXHP | +F:DROP_4D2 | CAN_FLY | RES_NETH | RES_DARK | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | INVISIBLE | PASS_WALL | F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_6 | @@ -9140,7 +9140,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | NO_FEAR | EVIL | UNDEAD | F:COLD_BLOOD | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | RES_TELE F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | +F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP S:1_IN_3 | S:HEAL | HASTE | BLIND | SCARE | S_UNDEAD | ANIM_DEAD @@ -9254,7 +9254,7 @@ B:CLAW:HURT:2d6 B:BITE:HURT:1d6 F:DROP_60 | ONLY_GOLD | EVIL | DEMON | FRIENDS | HURT_LITE | F:WILD_MOUNTAIN | WILD_WASTE | -F:IM_POIS | IM_FIRE | IM_COLD | IM_ELEC | HURT_ROCK | NONLIVING +F:IM_POIS | IM_FIRE | IM_COLD | IM_ELEC | RES_DARK | HURT_ROCK | NONLIVING S:1_IN_12 S:BR_ELEC | BR_FIRE D:$A weird demon creature with a stone-like skin. @@ -9266,7 +9266,7 @@ G:h:v I:120:4d5:8:13:8 W:35:4:0:85:500:700 F:MULTIPLY | INVISIBLE | RAND_25 | TAKE_ITEM | COLD_BLOOD | -F:HURT_LITE | EVIL | OPEN_DOOR | MALE | HAS_LITE_1 | +F:HURT_LITE | RES_DARK | EVIL | OPEN_DOOR | MALE | HAS_LITE_1 | B:TOUCH:EAT_GOLD B:TOUCH:EAT_ITEM S:1_IN_6 @@ -9344,7 +9344,7 @@ B:CLAW:LOSE_WIS:5d5 F:FORCE_SLEEP | RAND_25 | F:ONLY_ITEM | DROP_90 | DROP_2D2 | CAN_FLY | F:COLD_BLOOD | TAKE_ITEM | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP S:1_IN_15 | S:BLIND | DRAIN_MANA | SCARE | BO_COLD | FORGET @@ -9367,7 +9367,7 @@ B:HIT:LOSE_STR:3d4 F:FORCE_SLEEP | RAND_25 | F:ONLY_ITEM | DROP_60 | DROP_2D2 | F:TAKE_ITEM | INVISIBLE | COLD_BLOOD | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | CAN_FLY | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | CAN_FLY | F:NO_CONF | NO_SLEEP S:1_IN_15 | S:BLIND | HOLD | CONF | DRAIN_MANA | BO_NETH @@ -9494,7 +9494,7 @@ B:BITE:HURT:2d12 B:CLAW:HURT:3d3 F:FORCE_SLEEP | FRIENDS | DROP_SKELETON | DROP_CORPSE F:BASH_DOOR | -F:ANIMAL | NO_CONF | NO_SLEEP | +F:ANIMAL | RES_GRAV | NO_CONF | NO_SLEEP | S:1_IN_5 | S:BR_GRAV D:$Unfettered by the usual constraints of gravity, these unnatural creatures @@ -9538,7 +9538,7 @@ B:BITE:HURT:2d12 B:CLAW:HURT:3d3 F:FORCE_SLEEP | FRIENDS | DROP_SKELETON | DROP_CORPSE F:BASH_DOOR | -F:ANIMAL | NO_CONF | NO_SLEEP +F:ANIMAL | RES_INER | NO_CONF | NO_SLEEP S:1_IN_5 | S:BR_INER D:$Bizarrely, this hound seems to be hardly moving at all, yet it approaches @@ -9559,7 +9559,7 @@ B:CLAW:HURT:3d3 F:FORCE_SLEEP | F:FRIENDS | F:BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:ANIMAL | NO_CONF | NO_SLEEP +F:ANIMAL | RES_WALL | NO_CONF | NO_SLEEP S:1_IN_8 | S:BR_WALL D:$A deep brown shape is visible before you, its canine form strikes you with @@ -9583,7 +9583,7 @@ F:MALE | F:FORCE_MAXHP | AQUATIC | F:FRIENDS | DROP_60 | WILD_OCEAN | REGENERATE | F:OPEN_DOOR | BASH_DOOR | RES_WATE -F:EVIL | TROLL | IM_COLD | IM_POIS | HURT_LITE +F:EVIL | TROLL | IM_COLD | IM_POIS | RES_DARK | HURT_LITE D:$He is a troll that reeks of brine, close relative to water trolls. D:Èà¤Ï³¤¿å¤Î¤è¤¦¤ÊÆ÷¤¤¤òȯ¤·¤Æ¤¤¤ë¥È¥í¥ë¤Ç¡¢¿å¥È¥í¥ë¤Î¿ÆÀ̤À¡£ @@ -9756,7 +9756,7 @@ B:CLAW:LOSE_WIS:1d10 F:FORCE_SLEEP | F:ONLY_ITEM | DROP_1D2 | F:INVISIBLE | COLD_BLOOD | PASS_WALL | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_5 | S:FORGET | MIND_BLAST D:$An almost life-like creature which is nothing more than a phantom @@ -9775,8 +9775,8 @@ B:HIT:HURT:1d10 B:TOUCH:EXP_40 F:FORCE_SLEEP | FORCE_MAXHP | F:DROP_60 | DROP_90 | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | HURT_LITE | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | RES_NETH | +F:EVIL | UNDEAD | HURT_LITE | IM_COLD | IM_POIS | RES_DARK | NO_CONF | NO_SLEEP S:1_IN_7 | S:HOLD | SCARE | CAUSE_3 | DARKNESS D:$A tangible but ghostly form, made of grey fog. The air around it feels @@ -9793,8 +9793,8 @@ B:HIT:HURT:2d10 B:HIT:HURT:2d10 F:FORCE_SLEEP | FORCE_MAXHP | REGENERATE | F:DROP_60 | DROP_90 | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | HURT_LITE | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | RES_NETH | +F:EVIL | UNDEAD | HURT_LITE | IM_COLD | IM_POIS | RES_DARK | NO_CONF | NO_SLEEP S:1_IN_4| S:BO_FIRE D:$Back from the grave, to wreak vengeance upon the living. A gaunt, tall, @@ -9877,7 +9877,7 @@ B:BITE:HURT:2d8 F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | F:DROP_60 | DROP_90 | DROP_2D2 | DROP_CORPSE | RIDING F:OPEN_DOOR | BASH_DOOR | WILD_MOUNTAIN | -F:DRAGON +F:DRAGON | RES_SOUN S:1_IN_11 | S:SCARE | S:BR_SOUN @@ -9976,7 +9976,7 @@ B:HIT:LOSE_CON:3d4 F:MALE | F:DROP_1D2 | FRIENDS | INVISIBLE | DROP_SKELETON | DROP_CORPSE F:OPEN_DOOR | BASH_DOOR | HURT_LITE | -F:EVIL | NO_CONF | NO_SLEEP +F:EVIL | RES_DARK | NO_CONF | NO_SLEEP D:$A dark elven assassin, so stealthy that he is almost impossible to see. D:¥À¡¼¥¯¥¨¥ë¥Õ¤Î°Å»¦¼Ô¤Ç¡¢ÌܤǤϸ«¤¨¤Ê¤¤¤¯¤é¤¤µ¤ÇÛ¤ò¾Ã¤·¤Æ¤¤¤ë¡£ @@ -10207,7 +10207,7 @@ B:HIT:HURT:2d6 F:FORCE_MAXHP | F:DROP_60 | F:EMPTY_MIND | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | TROLL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | TROLL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR D:$It is a massive figure clothed in wrappings. You are wary of its massive D:$fists. @@ -10246,7 +10246,7 @@ B:TOUCH:LOSE_DEX:2d10 B:TOUCH:LOSE_DEX:2d10 F:FORCE_SLEEP | FORCE_MAXHP | DROP_1D2 | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP S:1_IN_3 | S:BLINK | TELE_TO | TELE_AWAY | TELE_LEVEL | @@ -10267,7 +10267,7 @@ B:CRUSH:HURT:10d5 F:FORCE_SLEEP | F:CAN_FLY | F:WEIRD_MIND | BASH_DOOR | ATTR_MULTI | ATTR_ANY | -F:NO_CONF | NO_SLEEP | EVIL +F:RES_CHAO | NO_CONF | NO_SLEEP | EVIL S:1_IN_9 S:BR_CONF | BR_CHAO D:$"It had the appearance of a butterfly, but but a butterfly with @@ -10287,7 +10287,7 @@ I:120:35d10:90:70:10 W:37:2:0:1000:0:0 B:TOUCH:TIME:3d4 B:TOUCH:TIME:3d4 -F:PASS_WALL | IM_POIS | IM_FIRE | IM_ELEC | NONLIVING | CAN_FLY | +F:PASS_WALL | IM_POIS | IM_FIRE | IM_ELEC | RES_TIME | NONLIVING | CAN_FLY | F:NO_CONF | NO_SLEEP | EVIL | EMPTY_MIND | KILL_ITEM | RAND_50 S:1_IN_7 S:SLOW | BR_TIME | @@ -10309,7 +10309,7 @@ B:CRUSH:PARALYZE:8d4 B:CRUSH:PARALYZE:8d4 B:CRUSH:PARALYZE:8d4 F:PASS_WALL | INVISIBLE | FORCE_MAXHP | RES_DISE | -F:IM_POIS | IM_COLD | IM_ACID | ELDRITCH_HORROR | +F:IM_POIS | IM_COLD | IM_ACID | RES_WALL | ELDRITCH_HORROR | F:NO_CONF | NO_SLEEP | EVIL | CAN_FLY | S:1_IN_7 S:BR_WALL | @@ -10516,7 +10516,7 @@ B:BITE:HURT:2d12 F:FORCE_SLEEP | FORCE_MAXHP | WILD_MOUNTAIN | F:DROP_1D2 | DROP_4D2 | CAN_FLY | DROP_CORPSE | RIDING F:BASH_DOOR | -F:DRAGON | NO_CONF | NO_SLEEP +F:DRAGON | RES_SOUN | NO_CONF | NO_SLEEP S:1_IN_9 | S:CONF | SCARE | S:BR_SOUN @@ -10535,7 +10535,7 @@ B:BITE:HURT:2d5 F:FORCE_SLEEP | FORCE_MAXHP | DROP_CORPSE | RIDING F:ONLY_ITEM | DROP_4D2 | REFLECTING | F:INVISIBLE | OPEN_DOOR | BASH_DOOR | CAN_FLY | -F:EVIL | DRAGON | IM_COLD | NO_CONF | NO_SLEEP +F:EVIL | DRAGON | IM_COLD | NO_CONF | RES_SHAR | NO_SLEEP S:1_IN_6 | S:SLOW | CONF | SCARE | BLIND | S:BR_SHAR @@ -10725,7 +10725,7 @@ B:ENGULF:HURT:5d5 F:FORCE_SLEEP | F:RAND_50 | RAND_25 | F:EMPTY_MIND | BASH_DOOR | POWERFUL | CAN_FLY | -F:NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING +F:RES_TIME | NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING S:1_IN_6 | S:BR_TIME D:$You haven't seen it yet. @@ -10741,7 +10741,7 @@ F:ATTR_MULTI | SELF_LITE_1 | SELF_LITE_2 | F:FORCE_SLEEP | NEVER_BLOW | F:RAND_50 | RAND_25 | CAN_FLY | F:EMPTY_MIND | BASH_DOOR | POWERFUL | RES_TELE | -F:NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING +F:RES_LITE | NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING S:1_IN_4 | S:BR_LITE | SHRIEK D:$A strange pillar of shining light that hurts your eyes. Its shape changes @@ -10820,8 +10820,8 @@ B:TOUCH:EXP_80 B:TOUCH:EXP_80 F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_90 | DROP_4D2 | CAN_FLY | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | RES_NETH | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_6 | S:HOLD | SCARE | CAUSE_3 | BO_NETH D:$Your life force is torn from your body as this powerful unearthly being @@ -10884,8 +10884,8 @@ B:TOUCH:EXP_40 B:TOUCH:EXP_40 F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | RES_NETH | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_7 | S:BLIND | HOLD | SCARE | CAUSE_3 | BO_NETH D:$A figure that seems made of void, its strangely human shape is cloaked in @@ -10983,7 +10983,7 @@ B:CLAW:LOSE_DEX:4d2 F:FORCE_SLEEP | FORCE_MAXHP | SMART | RES_TELE F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLINK | TELE_TO | BLIND | HOLD | CONF | SCARE | CAUSE_3 | CAUSE_4 | S:DRAIN_MANA | BRAIN_SMASH | ANIM_DEAD @@ -11005,7 +11005,7 @@ B:TOUCH:EXP_80 F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | F:ONLY_ITEM | DROP_90 | DROP_4D2 | F:INVISIBLE | COLD_BLOOD | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_6 | S:BLIND | SCARE | CAUSE_3 | MIND_BLAST | DARKNESS | BO_NETH @@ -11116,9 +11116,9 @@ B:BITE:HURT:2d12 B:BITE:HURT:2d12 F:UNIQUE | MALE | ATTR_MULTI | CAN_SPEAK | ATTR_ANY | F:FORCE_SLEEP | FORCE_MAXHP | DROP_CORPSE | SELF_LITE_2 | -F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | RES_NEXU | +F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | RES_NEXU | RES_SOUN | F:OPEN_DOOR | BASH_DOOR | POWERFUL | CAN_FLY | -F:EVIL | DRAGON | IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | +F:EVIL | DRAGON | IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | RES_SHAR | RES_GRAV | F:NO_CONF | NO_SLEEP | RIDING S:1_IN_4 | S:BR_ACID | BR_FIRE | BR_COLD | BR_ELEC | BR_SOUN | BR_CONF | @@ -11257,7 +11257,7 @@ B:HIT:CONFUSE:6d6 F:FORCE_MAXHP | F:ONLY_GOLD | DROP_2D2 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP | RIDING +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP | RIDING D:$A fearsome skeletal horse with glowing eyes, that watch you with little D:$more than a hatred of all that lives. Flying hooves don't touch the D:$ground... @@ -11275,9 +11275,9 @@ B:HIT:HURT:1d6 B:BITE:EXP_VAMP:4d6 B:TOUCH:DR_MANA:4d6 F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | -F:DROP_60 | DROP_4D2 | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | RES_TELE -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | +F:DROP_60 | DROP_4D2 | +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | RES_TELE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP S:1_IN_7 | S:BLIND | HOLD | SCARE | CAUSE_3 | CAUSE_4 | DRAIN_MANA | @@ -11313,7 +11313,7 @@ W:40:2:0:800:0:0 B:ENGULF:CONFUSE:8d4 B:ENGULF:CONFUSE:8d4 F:FORCE_SLEEP | -F:RAND_50 | RAND_25 | RES_NEXU | AURA_ELEC | IM_FIRE | IM_ELEC | +F:RAND_50 | RAND_25 | RES_CHAO | RES_NEXU | AURA_ELEC | IM_FIRE | IM_ELEC | F:EMPTY_MIND | BASH_DOOR | POWERFUL | F:CAN_FLY | ATTR_MULTI | ATTR_ANY | F:NO_CONF | NO_SLEEP | NO_FEAR | NONLIVING @@ -11364,7 +11364,7 @@ F:MALE | REGENERATE | UNIQUE | CAN_SPEAK | F:FORCE_SLEEP | FORCE_MAXHP | DROP_CORPSE F:ONLY_ITEM | DROP_90 | DROP_4D2 | DROP_GOOD | F:SMART | OPEN_DOOR | BASH_DOOR | -F:EVIL | HURT_LITE | NO_CONF | NO_SLEEP | NO_STUN +F:EVIL | HURT_LITE | RES_DARK | NO_CONF | NO_SLEEP | NO_STUN S:1_IN_2 | S:HEAL | TELE_TO | BLIND | CONF | CAUSE_3 | DARKNESS | FORGET | HOLD | S:S_MONSTER | S_MONSTERS | S_DEMON | TPORT | BA_NETH | MIND_BLAST | @@ -11442,7 +11442,7 @@ W:40:3:0:30:0:0 B:CRAWL:UN_BONUS:1d4 F:RAND_50 | RES_DISE | ATTR_MULTI | CAN_SWIM | F:STUPID | WEIRD_MIND | MULTIPLY | BASH_DOOR | -F:ANIMAL | HURT_LITE | NO_FEAR | SELF_LITE_1 +F:ANIMAL | HURT_LITE | RES_DARK | NO_FEAR | SELF_LITE_1 D:$It is a strange mass of squirming worms. Magical energy crackles D:$around its disgusting form. D:¤½¤ì¤Ï¤Î¤¿¤¯¤ë´ñ̯¤Ê¥¤¥â¥à¥·¤ÎÂç·²¤À¡£¤³¤Î´÷¤Þ¤ï¤·¤¤ @@ -11710,7 +11710,7 @@ B:BITE:HURT:5d14 F:FORCE_SLEEP | FORCE_MAXHP | DROP_CORPSE F:DROP_3D2 | DROP_4D2 | CAN_FLY | F:SMART | BASH_DOOR | POWERFUL | MOVE_BODY | -F:DRAGON | NO_CONF | NO_SLEEP | RIDING +F:DRAGON | RES_SOUN | NO_CONF | NO_SLEEP | RIDING S:1_IN_6 | S:BLIND | CONF | SCARE | S:BR_SOUN @@ -11729,7 +11729,7 @@ B:BITE:HURT:5d12 F:FORCE_SLEEP | FORCE_MAXHP | REFLECTING | DROP_CORPSE F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | CAN_FLY | F:INVISIBLE | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | -F:EVIL | DRAGON | IM_COLD | NO_CONF | NO_SLEEP | RIDING +F:EVIL | DRAGON | IM_COLD | NO_CONF | RES_SHAR | NO_SLEEP | RIDING S:1_IN_6 | S:SLOW | CONF | SCARE | S:BR_SHAR @@ -11909,7 +11909,7 @@ F:UNIQUE | MALE | CAN_SPEAK | SELF_LITE_1 | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | POWERFUL | F:OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | HURT_COLD | IM_POIS | IM_FIRE | RES_PLAS | +F:EVIL | UNDEAD | HURT_COLD | IM_POIS | IM_FIRE | RES_PLAS | RES_NETH | F:NO_CONF | NO_SLEEP S:1_IN_3 | S:CAUSE_3 | BO_FIRE | BA_FIRE | BR_FIRE | BO_PLAS @@ -11974,7 +11974,7 @@ F:UNIQUE | MALE | CAN_SPEAK | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | HURT_FIRE | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | HURT_FIRE | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP S:1_IN_3 | S:BLIND | SCARE | CAUSE_3 | BO_ACID | BO_NETH | BR_POIS | @@ -11998,7 +11998,7 @@ F:MALE | F:FORCE_SLEEP | FORCE_MAXHP | DROP_SKELETON | DROP_CORPSE F:ONLY_ITEM | DROP_90 | DROP_4D2 | F:SMART | OPEN_DOOR | BASH_DOOR | -F:EVIL | HURT_LITE | NO_CONF | NO_SLEEP +F:EVIL | HURT_LITE | RES_DARK | NO_CONF | NO_SLEEP S:1_IN_2 | S:HEAL | BLINK | TELE_TO | BLIND | CONF | CAUSE_3 | DARKNESS | S:BO_ACID | BA_FIRE | BA_COLD | ANIM_DEAD @@ -12021,7 +12021,7 @@ B:TOUCH:LOSE_DEX:2d12 F:FORCE_SLEEP | FORCE_MAXHP | SMART | RES_TELE F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLINK | TELE_TO | BLIND | HOLD | CONF | SCARE | CAUSE_3 | CAUSE_4 | S:DRAIN_MANA | BRAIN_SMASH | @@ -12164,7 +12164,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | ELDRITCH_HORROR | F:ONLY_ITEM | DROP_1D2 | F:OPEN_DOOR | BASH_DOOR | POWERFUL | CAN_FLY | F:EVIL | DEMON | HURT_LITE | IM_POIS | -F:IM_FIRE | NO_CONF | NO_SLEEP +F:IM_FIRE | RES_DARK | NO_CONF | NO_SLEEP S:1_IN_9 | S:BLIND | CONF | S_DEMON | BR_DARK D:$"And in the air there were great viperine creatures, @@ -12196,7 +12196,7 @@ B:GAZE:DR_MANA:4d6 F:FORCE_SLEEP | FORCE_MAXHP | RES_TELE | HAS_DARK_1 | F:COLD_BLOOD | BASH_DOOR | F:EVIL | UNDEAD | CAN_FLY | -F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | +F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP S:1_IN_2 | S:SLOW | CAUSE_4 | DRAIN_MANA | MIND_BLAST | BRAIN_SMASH | FORGET | @@ -12224,7 +12224,7 @@ B:CLAW:LOSE_WIS:1d10 F:FORCE_SLEEP | CAN_FLY | F:ONLY_ITEM | DROP_1D2 | POWERFUL | REGENERATE | HURT_LITE | SELF_DARK_1 | F:INVISIBLE | COLD_BLOOD | PASS_WALL | FRIENDS | RES_NETH | -F:EVIL | DEMON | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | DEMON | IM_COLD | IM_POIS | NO_CONF | RES_DARK | NO_SLEEP S:1_IN_8 | S:BO_NETH D:$A mighty spirit of darkness of vaguely humanoid form. Razor-edged claws @@ -12244,7 +12244,7 @@ B:BUTT:ELEC:3d6 F:FORCE_SLEEP | FORCE_MAXHP | REFLECTING | F:COLD_BLOOD | BASH_DOOR | CAN_FLY | F:EVIL | UNDEAD | SMART | -F:IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_TELE +F:IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_NETH | RES_TELE F:ONLY_ITEM | DROP_60 | DROP_GOOD | F:NO_CONF | NO_SLEEP S:1_IN_2 | @@ -12273,7 +12273,7 @@ F:FORCE_SLEEP | F:RAND_25 | FRIENDS | CAN_FLY | F:ONLY_ITEM | DROP_60 | F:TAKE_ITEM | INVISIBLE | COLD_BLOOD | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP S:1_IN_15 | S:BLIND | HOLD | CONF | DRAIN_MANA | BO_NETH @@ -12295,7 +12295,7 @@ B:BITE:HURT:5d12 B:BITE:HURT:5d12 B:BITE:HURT:5d12 F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | POWERFUL | FORCE_MAXHP | -F:OPEN_DOOR | BASH_DOOR | EVIL | IM_POIS | DROP_CORPSE +F:OPEN_DOOR | BASH_DOOR | EVIL | IM_POIS | RES_DARK | DROP_CORPSE F:ANIMAL | NO_CONF | NO_SLEEP | CAN_SWIM | RIDING S:1_IN_8 S:BR_POIS | BR_DARK | BR_NETH @@ -12360,7 +12360,7 @@ B:HIT:LOSE_STR:8d2 B:HIT:LOSE_CON:8d2 F:MALE | ATTR_MULTI | UNDEAD | EVIL | DROP_SKELETON | DROP_CORPSE F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | -F:IM_FIRE | IM_COLD | IM_ACID | IM_ELEC | IM_POIS | +F:IM_FIRE | IM_COLD | IM_ACID | IM_ELEC | IM_POIS | RES_NETH | F:ONLY_ITEM | DROP_90 | DROP_4D2 | F:SMART | OPEN_DOOR | BASH_DOOR | F:NO_STUN | NO_CONF | NO_SLEEP | @@ -12420,7 +12420,7 @@ F:UNIQUE | MALE | CAN_SPEAK | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | F:INVISIBLE | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_3 | MIND_BLAST | BRAIN_SMASH | @@ -12465,7 +12465,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | F:INVISIBLE | CAN_FLY | F:PASS_WALL | POWERFUL | MOVE_BODY | -F:DRAGON | NO_CONF | NO_SLEEP | RIDING +F:DRAGON | RES_LITE | RES_DARK | NO_CONF | NO_SLEEP | RIDING S:1_IN_5 | S:BLIND | CONF | S:BR_LITE | BR_DARK | BR_CONF @@ -12489,7 +12489,7 @@ B:BITE:LOSE_STR:1d6 F:FORCE_SLEEP | FORCE_MAXHP | ELDRITCH_HORROR | F:ONLY_ITEM | DROP_1D2 | NONLIVING | CAN_SWIM | F:OPEN_DOOR | BASH_DOOR | POWERFUL | HURT_LITE | -F:EVIL | DEMON | IM_FIRE | NO_CONF | NO_SLEEP | RES_TELE +F:EVIL | DEMON | IM_FIRE | RES_DARK | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_9 | S:BLIND | CAUSE_2 | S:S_DEMON | HEAL @@ -12588,7 +12588,7 @@ W:44:6:0:85:0:0 B:TOUCH:EXP_40:1d10 B:TOUCH:EAT_GOLD B:TOUCH:EAT_ITEM -F:MULTIPLY | INVISIBLE | RAND_25 | TAKE_ITEM | COLD_BLOOD | SMART | +F:MULTIPLY | INVISIBLE | RAND_25 | TAKE_ITEM | COLD_BLOOD | SMART | RES_DARK | F:HURT_LITE | EVIL | OPEN_DOOR | MALE | UNDEAD | RES_NETH | HAS_LITE_1 | S:1_IN_6 S:BLINK | TPORT | TELE_TO | CAUSE_3 | ANIM_DEAD @@ -12658,8 +12658,8 @@ B:ENGULF:LOSE_CON:4d10 B:ENGULF:LOSE_CON:4d10 F:FORCE_SLEEP | ELDRITCH_HORROR | PASS_WALL | FORCE_MAXHP | F:INVISIBLE | DROP_2D2 | DROP_4D2 | CAN_FLY | EVIL | -F:OPEN_DOOR | BASH_DOOR | MOVE_BODY | POWERFUL | NONLIVING | -F:SMART | IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS +F:OPEN_DOOR | BASH_DOOR | MOVE_BODY | POWERFUL | NONLIVING | RES_WALL | +F:SMART | IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS | RES_GRAV | S:1_IN_4 | S:BR_WALL | TELE_AWAY | BR_GRAV | S:S_KIN | MIND_BLAST | BLIND | BLINK @@ -12705,7 +12705,7 @@ W:44:3:0:20000:0:0 B:CLAW:HURT:50d1 B:TOUCH:TIME:1d50 B:TOUCH:TIME:1d50 -F:ESCORT | UNIQUE | IM_COLD | ELDRITCH_HORROR | RES_NETH | +F:ESCORT | UNIQUE | IM_COLD | RES_TIME | ELDRITCH_HORROR | RES_NETH | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | KILL_BODY | DROP_GREAT | F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | @@ -12745,7 +12745,8 @@ B:CRUSH:ACID:5d6 B:CRUSH:ACID:5d6 B:CRUSH:HURT:9d9 F:REGENERATE | KILL_ITEM | CAN_SPEAK | -F:BASH_DOOR | EVIL | DEMON | NO_CONF | NO_FEAR | NO_SLEEP | KILL_BODY | CAN_SWIM | +F:BASH_DOOR | EVIL | DEMON | NO_CONF | NO_FEAR | NO_SLEEP | KILL_BODY | +F:CAN_SWIM | RES_DARK | F:FORCE_MAXHP | FORCE_SLEEP | HURT_LITE | POWERFUL | ELDRITCH_HORROR | F:IM_ACID | IM_FIRE | RES_PLAS | IM_POIS | IM_COLD | IM_ELEC | RES_TELE D:$"The nightmare, plastic column of fetid, black iridescence oozed @@ -12786,7 +12787,7 @@ F:UNIQUE | MALE | CAN_SPEAK | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | IM_ELEC | IM_COLD | HURT_FIRE | +F:EVIL | UNDEAD | IM_ELEC | IM_COLD | RES_NETH | HURT_FIRE | F:IM_POIS | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_4 | BA_FIRE | BA_NETH | ANIM_DEAD @@ -12873,7 +12874,7 @@ B:HIT:LOSE_STR:3d4 F:FORCE_SLEEP | FORCE_MAXHP | RAND_25 | F:ONLY_ITEM | DROP_1D2 | DROP_4D2 | CAN_FLY | F:SMART | TAKE_ITEM | INVISIBLE | COLD_BLOOD | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | RES_NETH | NO_SLEEP S:1_IN_9 | S:TELE_LEVEL | BLIND | HOLD | CONF | CAUSE_4 | DRAIN_MANA | BO_NETH | S:S_UNDEAD @@ -12970,7 +12971,7 @@ B:HIT:LOSE_STR:4d6 F:FORCE_SLEEP | FORCE_MAXHP | SMART | F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | CAN_SWIM | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_TELE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_TELE | F:NO_CONF | NO_SLEEP | KILL_WALL | NO_FEAR S:1_IN_3 | S:TELE_TO | BLIND | HOLD | CONF | CAUSE_3 | DRAIN_MANA | @@ -13032,7 +13033,7 @@ B:HIT:EXP_80:8d6 B:HIT:EXP_80:8d6 F:MALE | F:FORCE_MAXHP | UNIQUE_7 | -F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | RES_TELE +F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | RES_TELE | RES_DARK | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | RES_NETH | SMART | F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_4 | @@ -13083,7 +13084,7 @@ B:WAIL:TERRIFY B:SLASH:EXP_80:80d1 B:SLASH:EXP_80:80d1 B:SLASH:EXP_VAMP:8d8 -F:CHAR_MULTI | EVIL | IM_POIS | IM_COLD | IM_FIRE | RES_NETH | +F:CHAR_MULTI | EVIL | IM_POIS | IM_COLD | IM_FIRE | RES_NETH | RES_CHAO | F:FORCE_SLEEP | UNIQUE | FORCE_MAXHP | CAN_FLY | F:COLD_BLOOD | BASH_DOOR | NONLIVING | F:NO_CONF | NO_SLEEP | NO_FEAR @@ -13139,7 +13140,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | RES_TELE F:COLD_BLOOD | CAN_FLY | F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | -F:EVIL | DRAGON | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | DRAGON | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | RIDING S:1_IN_6 | S:CONF | SCARE | @@ -13229,7 +13230,7 @@ B:BITE:EXP_40:2d13 B:BITE:LOSE_STR:5d8 B:GAZE:TERRIFY F:FORCE_SLEEP | FORCE_MAXHP | -F:EVIL | UNDEAD | ANIMAL | RES_NEXU | RES_TELE +F:EVIL | UNDEAD | ANIMAL | RES_NETH | RES_NEXU | RES_TELE F:NO_CONF | NO_FEAR | NO_SLEEP | F:IM_POIS | IM_ACID | IM_COLD | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | @@ -13257,7 +13258,7 @@ B:TOUCH:LOSE_ALL:1d166 F:FORCE_SLEEP | ELDRITCH_HORROR | NEVER_MOVE | REGENERATE | F:DROP_2D2 | DROP_4D2 | CAN_FLY | DROP_GOOD | ONLY_ITEM | F:POWERFUL | EVIL | CAN_SPEAK | UNIQUE | FORCE_MAXHP | -F:SMART | IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS +F:SMART | IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS | RES_CHAO S:1_IN_4 | S:BR_NUKE | S_DEMON | DARKNESS | S_UNDEAD | ANIM_DEAD S:BR_NEXU | BR_CHAO | TELE_TO @@ -13293,7 +13294,8 @@ B:BITE:CONFUSE:5d10 F:FORCE_SLEEP | ELDRITCH_HORROR | PASS_WALL | UNIQUE | FORCE_MAXHP | F:INVISIBLE | DROP_2D2 | DROP_4D2 | CAN_FLY | DROP_GOOD | ONLY_ITEM | F:OPEN_DOOR | BASH_DOOR | MOVE_BODY | POWERFUL | EVIL | -F:SMART | IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS +F:SMART | IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS | +F:RES_WALL | RES_GRAV | RES_INER S:1_IN_4 | S:BR_WALL | TELE_AWAY | BR_GRAV | TELE_LEVEL | S_DEMON | S_UNDEAD | S:BRAIN_SMASH | HASTE | BLIND | BLINK | BR_INER | CAUSE_3 | CAUSE_4 @@ -13543,7 +13545,7 @@ B:BITE:HURT:8d13 F:UNIQUE | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | -F:OPEN_DOOR | BASH_DOOR | MOVE_BODY | RES_NETH | +F:OPEN_DOOR | BASH_DOOR | MOVE_BODY | RES_NETH | RES_DARK | F:ANIMAL | EVIL | IM_FIRE | NO_CONF | NO_SLEEP S:1_IN_3 | S:BR_NETH | @@ -13630,7 +13632,7 @@ B:BITE:LOSE_CON F:EVIL | DEMON | FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_2D2 F:OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | SMART | NONLIVING | -F:NO_CONF | NO_SLEEP | HURT_LITE | IM_FIRE | IM_COLD +F:NO_CONF | NO_SLEEP | HURT_LITE | IM_FIRE | IM_COLD | RES_DARK S:1_IN_4 | S:BLIND | CONF | BRAIN_SMASH | SCARE | ANIM_DEAD S:BA_NETH | FORGET | S_UNDEAD | DRAIN_MANA | @@ -13653,8 +13655,8 @@ B:HIT:UN_BONUS:6d8 B:HIT:DR_MANA:5d10 F:FORCE_SLEEP | CAN_FLY | F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | -F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | RES_TELE -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | RES_TELE | RES_NETH | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_4 | S:BLIND | SCARE | CAUSE_4 | BRAIN_SMASH | S:BO_MANA | BO_NETH | BA_NETH | @@ -13722,7 +13724,7 @@ B:CLAW:HURT:3d3 F:FORCE_SLEEP | F:FRIENDS | F:OPEN_DOOR | BASH_DOOR | DROP_SKELETON | DROP_CORPSE -F:ANIMAL | NO_CONF | NO_SLEEP +F:ANIMAL | RES_TIME | NO_CONF | NO_SLEEP S:1_IN_8 | S:BR_TIME D:$You get a terrible sense of deja vu, or is it a premonition? All at once @@ -13843,7 +13845,7 @@ F:UNIQUE | MALE | CAN_SPEAK | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_1D2 | DROP_4D2 | DROP_GOOD | F:BASH_DOOR | DROP_CORPSE -F:EVIL | IM_FIRE | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | IM_FIRE | IM_POIS | RES_WALL | NO_CONF | NO_SLEEP S:1_IN_6 | S:SLOW | SHOOT | BO_MANA | BO_PLAS | BA_ELEC | S:BR_WALL @@ -13937,7 +13939,7 @@ F:UNIQUE | CAN_SPEAK | ESCORT | REGENERATE | F:FORCE_SLEEP | FORCE_MAXHP | ELDRITCH_HORROR | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:SMART | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL |IM_ACID | IM_FIRE | IM_COLD | IM_POIS | +F:EVIL |IM_ACID | IM_FIRE | IM_COLD | IM_POIS | RES_DARK | F:HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_4 | S:S_UNDEAD | S_DEMON | S_MONSTER | BLINK | BA_ACID | FORGET @@ -13978,7 +13980,7 @@ F:UNIQUE | MALE | CAN_SPEAK | ATTR_MULTI | ATTR_ANY | F:FORCE_SLEEP | FORCE_MAXHP | ELDRITCH_HORROR | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | IM_ACID | IM_FIRE | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_ACID | IM_FIRE | IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_2 | S:S_DEMON | S_UNDEAD | S_KIN | SCARE | CAUSE_3 | CAUSE_4 | ANIM_DEAD @@ -14062,7 +14064,7 @@ F:UNIQUE | MALE | CAN_SPEAK | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | IM_ACID | IM_FIRE | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_ACID | IM_FIRE | IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_2 | S:TELE_LEVEL | BLIND | HOLD | SCARE | CAUSE_3 | CAUSE_4 | BO_MANA | @@ -14086,7 +14088,7 @@ W:54:3:0:8000:0:0 B:BITE:TIME:2d12 B:BITE:TIME:2d12 B:CLAW:HURT:3d3 -F:FORCE_SLEEP | FRIENDS | RES_NETH | +F:FORCE_SLEEP | FRIENDS | RES_NETH | RES_TIME | F:INVISIBLE | PASS_WALL | EVIL | CAN_FLY | F:ANIMAL | NO_CONF | NO_SLEEP S:1_IN_5 | @@ -14129,7 +14131,7 @@ B:CRUSH:HURT:16d12 F:FORCE_SLEEP | FORCE_MAXHP | AQUATIC | WILD_OCEAN | F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | F:BASH_DOOR | POWERFUL | MOVE_BODY | SMART | RES_WATE | -F:EVIL | IM_ELEC | NO_CONF | NO_SLEEP | IM_POIS | IM_FIRE | RIDING +F:EVIL | IM_ELEC | NO_CONF | NO_SLEEP | IM_POIS | IM_FIRE | RES_DARK | RIDING S:1_IN_6 | S:BLIND | CONF | SCARE | CAUSE_4 | CAUSE_3 | S:BA_WATE | DARKNESS | BR_DARK | TELE_TO @@ -14175,7 +14177,7 @@ B:TOUCH:LOSE_DEX:4d12 F:FORCE_SLEEP | FORCE_MAXHP | SMART | RES_TELE F:ONLY_ITEM | DROP_2D2 | DROP_1D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLINK | TELE_TO | BLIND | HOLD | CONF | SCARE | CAUSE_3 | CAUSE_4 | S:DRAIN_MANA | BRAIN_SMASH | S_HI_UNDEAD | S_UNDEAD | FORGET | @@ -14198,7 +14200,7 @@ B:BITE:FIRE:12d6 B:HIT:FIRE:9d12 B:HIT:FIRE:9d12 F:UNIQUE | CAN_SPEAK | RES_PLAS | AURA_FIRE | SELF_LITE_1 | SELF_LITE_2 | -F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | +F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | RES_LITE | F:ONLY_ITEM | DROP_2D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | RIDING | GOOD | F:ANIMAL | IM_ACID | IM_FIRE | IM_ELEC | IM_POIS | NO_CONF | NO_SLEEP @@ -14223,8 +14225,8 @@ B:BITE:ACID:10d10 F:FORCE_SLEEP | SMART | KILL_WALL | CAN_SWIM | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_POIS | RES_TELE -F:HURT_LITE | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_POIS | RES_DARK | RES_TELE | +F:HURT_LITE | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_4 | S:BLIND | SCARE | BRAIN_SMASH | S:BO_MANA | BO_NETH | BA_NETH | @@ -14304,7 +14306,7 @@ B:CRUSH:SHATTER:55d2 B:TOUCH:LOSE_CON:1d2 B:TOUCH:LOSE_CON:1d2 F:IM_FIRE | RES_PLAS | IM_COLD | IM_POIS | ELDRITCH_HORROR | RES_TELE -F:KILL_WALL | ONLY_GOLD | DROP_4D2 | DROP_2D2 | CAN_SWIM | +F:KILL_WALL | ONLY_GOLD | DROP_4D2 | DROP_2D2 | CAN_SWIM | RES_DARK | F:EVIL | FORCE_MAXHP | SMART | UNIQUE S:1_IN_5 | S:SCARE | CONF | HOLD | S_DEMON | S_KIN | @@ -14331,7 +14333,7 @@ I:130:60d10:20:110:10 W:55:4:0:6000:20000:749 F:FORCE_SLEEP | FORCE_MAXHP | NEVER_MOVE | NEVER_BLOW | RES_TELE F:SMART | COLD_BLOOD | CAN_SWIM | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR S:1_IN_1 | S:TELE_AWAY | BLIND | CONF | SCARE | CAUSE_3 | FORGET | DARKNESS | DISPEL @@ -14352,7 +14354,7 @@ B:GAZE:DR_MANA:5d10 F:FORCE_SLEEP | FORCE_MAXHP | NEVER_MOVE | RES_TELE F:SMART | COLD_BLOOD | F:EVIL | UNDEAD | CAN_SWIM | -F:IM_FIRE | IM_COLD | IM_POIS | +F:IM_FIRE | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR S:1_IN_1 | S:BO_MANA | BO_NETH | BA_NETH | @@ -14374,7 +14376,7 @@ B:BITE:LOSE_WIS:4d4 F:FORCE_SLEEP | FORCE_MAXHP | NEVER_MOVE | RES_TELE F:SMART | COLD_BLOOD | F:EVIL | UNDEAD | CAN_SWIM | -F:IM_FIRE | IM_COLD | IM_POIS | +F:IM_FIRE | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR | SELF_LITE_1 | S:1_IN_1 | S:SLOW | CAUSE_4 | MIND_BLAST | BRAIN_SMASH | TRAPS | BO_PLAS | @@ -14395,7 +14397,7 @@ F:ATTR_MULTI | ATTR_ANY | F:FORCE_SLEEP | NEVER_BLOW | F:RAND_50 | RAND_25 | CAN_FLY | F:EMPTY_MIND | BASH_DOOR | POWERFUL | -F:NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING +F:RES_CHAO | NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING S:1_IN_6 | S:BR_CHAO D:$Void, nothingness, spinning destructively. @@ -14416,8 +14418,9 @@ F:FORCE_SLEEP | CAN_FLY | F:RAND_50 | RAND_25 | AURA_COLD | AURA_FIRE | AURA_ELEC | F:EMPTY_MIND | BASH_DOOR | POWERFUL | SELF_LITE_2 | F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | -F:NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING | -F:RES_NETH | RES_NEXU | RES_PLAS +F:RES_LITE | RES_DARK | RES_SOUN | RES_CHAO | RES_NETH | RES_DISE | +F:RES_WALL | RES_INER | RES_TIME | RES_GRAV | RES_PLAS | RES_NEXU | RES_SHAR | +F:NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING | S:1_IN_6 | S:BR_ACID | BR_FIRE | BR_COLD | BR_ELEC | BR_POIS | S:BR_LITE | BR_DARK | BR_SOUN | BR_CONF | BR_CHAO | @@ -14491,7 +14494,7 @@ B:HIT:CONFUSE:6d6 F:UNIQUE | FEMALE | F:FORCE_SLEEP | FORCE_MAXHP | SMART | CAN_SPEAK | CAN_FLY | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | RES_NETH | RES_DARK | F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_3 | CAUSE_4 | DRAIN_MANA | @@ -14548,8 +14551,8 @@ B:BITE:EXP_80:6d6 F:UNIQUE | ELDRITCH_HORROR | CAN_SWIM | EVIL | UNDEAD | F:FORCE_SLEEP | FORCE_MAXHP | SMART | CAN_SPEAK | AURA_ELEC | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | POWERFUL | NONLIVING | -F:IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | POWERFUL | NONLIVING | RES_NETH | +F:IM_COLD | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_4 | DRAIN_MANA | S:BRAIN_SMASH | BA_WATE | S_DEMON | HASTE | @@ -14624,7 +14627,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | CAN_SPEAK | SMART | CAN_SWIM | F:ONLY_ITEM | DROP_1D2 | DROP_4D2 | DROP_GOOD | F:REGENERATE | KILL_ITEM | DROP_2D2 | DROP_90 | DROP_60 | F:BASH_DOOR | EVIL | NO_CONF | NO_SLEEP | KILL_BODY | -F:HURT_LITE | POWERFUL | RES_NETH | NONLIVING | +F:HURT_LITE | POWERFUL | RES_NETH | NONLIVING | RES_DARK | F:IM_ACID | IM_FIRE | RES_PLAS | IM_POIS | IM_COLD | IM_ELEC | RES_TELE S:1_IN_5 | S:BRAIN_SMASH | MIND_BLAST | HASTE | TPORT | @@ -14882,7 +14885,7 @@ B:HIT:UN_BONUS:7d7 F:FORCE_SLEEP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | CAN_SWIM | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | RES_TELE -F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | +F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_NETH | RES_DARK | F:HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_4 | S:BLIND | SCARE | BRAIN_SMASH | @@ -14913,7 +14916,7 @@ F:FORCE_SLEEP | SMART | AURA_ELEC | REFLECTING | RES_TELE | F:ESCORT | CAN_FLY | POWERFUL | SELF_LITE_1 | SELF_LITE_2 | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | +F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_LITE | F:NO_CONF | NO_SLEEP | S:1_IN_2 | S:TELE_TO | BLIND | BO_MANA | S_ANGEL | S_KIN | INVULNER | DISPEL | PSY_SPEAR @@ -14940,7 +14943,7 @@ B:HIT:EXP_VAMP:10d10 F:UNIQUE | MALE | CAN_SPEAK | HAS_LITE_2 | HUMAN | F:FORCE_SLEEP | FORCE_MAXHP | SMART | DROP_CORPSE | F:ONLY_ITEM | DROP_1D2 | DROP_4D2 | DROP_GOOD | -F:OPEN_DOOR | BASH_DOOR | RES_NEXU | RES_NETH | EVIL | +F:OPEN_DOOR | BASH_DOOR | RES_NEXU | RES_NETH | RES_CHAO | EVIL | F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | NO_CONF | NO_SLEEP | S:1_IN_4 | S:BA_FIRE | BA_CHAO | CONF | TPORT | S_DEMON | BR_CHAO | BA_MANA | PSY_SPEAR @@ -15064,7 +15067,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | SELF_DARK_2 | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | F:INVISIBLE | COLD_BLOOD | TAKE_ITEM | PASS_WALL | F:EVIL | UNDEAD | CAN_FLY | -F:IM_COLD | IM_POIS | NO_CONF | NO_SLEEP | RES_TELE +F:IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_3 | S:HOLD | DRAIN_MANA | BLIND | S_UNDEAD | CONF | S:SCARE | TELE_TO | TPORT | BRAIN_SMASH | ANIM_DEAD @@ -15086,7 +15089,7 @@ B:CRUSH:HURT:15d15 B:CRUSH:HURT:15d15 F:FORCE_SLEEP | FORCE_MAXHP | AQUATIC | WILD_OCEAN | F:ONLY_ITEM | DROP_3D2 | DROP_GOOD | -F:BASH_DOOR | POWERFUL | MOVE_BODY | SMART | RES_WATE | +F:BASH_DOOR | POWERFUL | MOVE_BODY | SMART | RES_WATE | RES_DARK | F:EVIL | IM_ELEC | NO_CONF | NO_SLEEP | IM_POIS | IM_FIRE | RIDING S:1_IN_6 | S:BLIND | CONF | SCARE | CAUSE_4 | CAUSE_3 | TELE_TO | TELE_AWAY | @@ -15109,7 +15112,7 @@ B:TOUCH:LOSE_DEX:8d12 F:FORCE_SLEEP | FORCE_MAXHP | SMART | RES_TELE | CAN_FLY | F:ONLY_ITEM | DROP_4D2 | DROP_1D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLINK | TELE_TO | BLIND | HOLD | CONF | SCARE | CAUSE_3 | CAUSE_4 | S:DRAIN_MANA | BRAIN_SMASH | S_HI_UNDEAD | S_UNDEAD | FORGET | @@ -15163,7 +15166,7 @@ F:ATTR_MULTI | EVIL | F:FORCE_SLEEP | FORCE_MAXHP | RES_TELE F:ONLY_ITEM | DROP_60 | DROP_90 | F:BASH_DOOR | CAN_FLY | DROP_CORPSE | RIDING -F:ANIMAL +F:ANIMAL | RES_CHAO S:1_IN_5 | S:CAUSE_4 | S:BR_CHAO @@ -15185,7 +15188,7 @@ F:ATTR_MULTI | ATTR_ANY | DROP_SKELETON | DROP_CORPSE F:FORCE_SLEEP | F:FRIENDS | F:BASH_DOOR | -F:ANIMAL | NO_CONF | NO_SLEEP +F:ANIMAL | RES_CHAO | NO_CONF | NO_SLEEP S:1_IN_5 | S:BR_CHAO D:$A constantly changing canine form, this hound rushes towards you as if @@ -15212,7 +15215,7 @@ B:HIT:CONFUSE:8d8 F:UNIQUE | MALE | F:FORCE_SLEEP | FORCE_MAXHP | SMART | CAN_SPEAK | CAN_FLY | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | -F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | +F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | RES_NETH | RES_DARK | F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP | RES_TELE S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_3 | CAUSE_4 | DRAIN_MANA | @@ -15253,7 +15256,7 @@ B:BITE:FIRE:5d12 B:CRUSH:HURT:6d15 B:CRUSH:HURT:6d15 F:FORCE_SLEEP | FORCE_MAXHP | AQUATIC | WILD_OCEAN | -F:IM_FIRE | IM_ACID | IM_COLD | IM_POIS +F:IM_FIRE | IM_ACID | IM_COLD | IM_POIS | RES_DARK | F:DRAGON | NO_CONF | NO_SLEEP | NO_FEAR | DROP_CORPSE | RIDING S:1_IN_9 S:BR_FIRE | BR_ACID | BR_DARK | @@ -15272,7 +15275,7 @@ B:CLAW:HURT:5d12 B:CLAW:HURT:6d12 B:BITE:HURT:8d14 F:ATTR_MULTI | ATTR_ANY | -F:FORCE_SLEEP | FORCE_MAXHP | RES_DISE | DROP_CORPSE +F:FORCE_SLEEP | FORCE_MAXHP | RES_CHAO | RES_DISE | DROP_CORPSE F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_GOOD | F:BASH_DOOR | POWERFUL | MOVE_BODY | CAN_FLY | F:EVIL | DRAGON | NO_CONF | NO_SLEEP | RIDING @@ -15300,7 +15303,7 @@ B:BITE:HURT:8d14 F:FORCE_SLEEP | FORCE_MAXHP | GOOD | DROP_CORPSE F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_GOOD | F:BASH_DOOR | POWERFUL | MOVE_BODY | CAN_FLY | -F:DRAGON | NO_CONF | NO_SLEEP | RIDING +F:DRAGON | RES_SOUN | RES_SHAR | NO_CONF | NO_SLEEP | RIDING S:1_IN_3 | S:BLIND | CONF | SCARE | S:BR_SOUN | BR_SHAR | @@ -15324,8 +15327,8 @@ B:CLAW:HURT:6d12 B:BITE:HURT:8d14 F:ATTR_MULTI | ATTR_ANY | DROP_CORPSE F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | -F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | -F:BASH_DOOR | POWERFUL | MOVE_BODY | RES_DISE | +F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | RES_SOUN | RES_SHAR | +F:BASH_DOOR | POWERFUL | MOVE_BODY | RES_CHAO | RES_DISE | F:DRAGON | NO_CONF | NO_SLEEP | RIDING S:1_IN_3 | S:BLIND | CONF | SCARE | @@ -15376,7 +15379,7 @@ B:GAZE:PARALYZE:1d20 B:GAZE:TERRIFY:1d20 B:GAZE:BLIND:1d20 F:UNIQUE | MALE | CAN_SPEAK | ATTR_MULTI | -F:RES_DISE | RES_NEXU | CAN_FLY | +F:RES_DISE | RES_NEXU | RES_CHAO | RES_INER | CAN_FLY | F:FORCE_SLEEP | FORCE_MAXHP | EVIL | SMART | DROP_CORPSE F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:NO_SLEEP | NO_CONF | NO_STUN | IM_POIS | IM_COLD | IM_FIRE | IM_ACID @@ -15545,7 +15548,7 @@ F:UNIQUE | MALE | F:FORCE_SLEEP | FORCE_MAXHP | CAN_SPEAK | CAN_FLY | HAS_DARK_2 | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:INVISIBLE | COLD_BLOOD | PASS_WALL | -F:EVIL | UNDEAD | IM_COLD | AURA_COLD | +F:EVIL | UNDEAD | IM_COLD | RES_NETH | AURA_COLD | F:IM_POIS | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLIND | HOLD | CONF | @@ -15573,7 +15576,7 @@ B:CLAW:HURT:8d12 B:CLAW:HURT:8d12 B:BITE:ELEC:9d15 F:FORCE_SLEEP | FORCE_MAXHP | AURA_ELEC | AURA_COLD | DROP_CORPSE -F:IM_ELEC | GOOD | CAN_FLY | SELF_LITE_1 | SELF_LITE_2 | +F:IM_ELEC | RES_GRAV | RES_LITE | GOOD | CAN_FLY | SELF_LITE_1 | SELF_LITE_2 | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:BASH_DOOR | POWERFUL | MOVE_BODY | F:DRAGON | NO_CONF | NO_SLEEP | RES_TELE | RIDING @@ -15724,7 +15727,7 @@ B:HIT:LOSE_STR:4d6 F:FORCE_SLEEP | FORCE_MAXHP | SMART | CAN_SWIM | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | POWERFUL | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_TELE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_TELE | F:NO_CONF | NO_SLEEP | KILL_WALL | NO_FEAR | S:1_IN_3 | S:TELE_TO | BLIND | HOLD | CONF | CAUSE_3 | CAUSE_4 | DRAIN_MANA | @@ -15858,7 +15861,7 @@ F:ESCORT | POWERFUL | F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_GOOD | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | UNDEAD | IM_COLD | -F:IM_POIS | NO_CONF | NO_SLEEP +F:IM_POIS | RES_NETH | NO_CONF | NO_SLEEP S:1_IN_2 | S:BLINK | TELE_TO | BLIND | HOLD | CONF | SCARE | CAUSE_3 | CAUSE_4 | S:BRAIN_SMASH | TRAPS | BA_MANA | @@ -15989,7 +15992,7 @@ F:UNIQUE | FEMALE | F:FORCE_SLEEP | FORCE_MAXHP | DROP_CORPSE | SELF_DARK_1 | SELF_DARK_2 | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | F:SMART | BASH_DOOR | -F:ANIMAL | EVIL | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:ANIMAL | EVIL | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_3 | S:HEAL | BLIND | SLOW | CONF | SCARE | DARKNESS | BA_DARK | S:BR_POIS | BR_DARK | @@ -16022,7 +16025,7 @@ F:UNIQUE | CAN_SPEAK | ELDRITCH_HORROR | RES_TELE F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | F:SMART | BASH_DOOR | MOVE_BODY | NONLIVING | -F:ANIMAL | EVIL | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:ANIMAL | EVIL | IM_POIS | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_3 | S:SCARE | BLIND | CONF | HOLD | BR_POIS | S:DARKNESS | BA_DARK | BR_DARK | S_SPIDER | S_DEMON @@ -16087,10 +16090,12 @@ B:BITE:HURT:2d12 B:CLAW:HURT:3d3 F:ATTR_MULTI | ATTR_ANY | F:FORCE_SLEEP | CAN_FLY | -F:FRIENDS | RES_NETH | RES_PLAS | RES_NEXU | RES_DISE | +F:FRIENDS | F:BASH_DOOR | AURA_FIRE | AURA_ELEC | AURA_COLD | DROP_CORPSE | F:DROP_SKELETON | SELF_LITE_2 | F:ANIMAL | IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | +F:RES_LITE | RES_DARK | RES_SOUN | RES_CHAO | RES_NETH | RES_DISE | +F:RES_WALL | RES_INER | RES_TIME | RES_GRAV | RES_PLAS | RES_NEXU | RES_SHAR | F:NO_CONF | NO_SLEEP S:1_IN_5 | S:BR_ACID | BR_FIRE | BR_COLD | BR_ELEC | BR_POIS | @@ -16214,7 +16219,7 @@ F:KILL_WALL | KILL_ITEM | KILL_BODY | NO_FEAR | F:FORCE_SLEEP | FORCE_MAXHP | MULTIPLY | CAN_FLY | F:ATTR_MULTI | SHAPECHANGER | ATTR_ANY | F:DROP_60 | DROP_GOOD | POWERFUL | AURA_ELEC | AURA_FIRE | AURA_COLD | -F:BASH_DOOR | IM_ELEC | IM_FIRE | RES_WATE | RES_NEXU | IM_COLD | +F:BASH_DOOR | IM_ELEC | IM_FIRE | RES_WATE | RES_NEXU | RES_CHAO | IM_COLD | F:IM_POIS | IM_ACID | RES_PLAS | RES_DISE | COLD_BLOOD | NONLIVING | RAND_50 S:1_IN_5 | S:BR_CHAO @@ -16519,7 +16524,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | SMART | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | F:EVIL | UNDEAD | -F:IM_COLD | IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP +F:IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_2 | S:TELE_AWAY | BLIND | HOLD | SCARE | CAUSE_3 | BRAIN_SMASH | S:BO_MANA | BA_NETH | PSY_SPEAR | @@ -16550,7 +16555,7 @@ F:UNIQUE | CAN_SPEAK | RES_TELE | ELDRITCH_HORROR | CAN_FLY | F:FORCE_SLEEP | FORCE_MAXHP | SMART | SELF_DARK_1 | SELF_DARK_2 | F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | DEMON | IM_ACID | IM_ELEC | +F:EVIL | DEMON | IM_ACID | IM_ELEC | RES_DARK | F:IM_COLD | IM_POIS | NO_CONF | NO_SLEEP S:1_IN_3 | S:TELE_AWAY | BLIND | HOLD | SCARE | BRAIN_SMASH | @@ -16669,7 +16674,7 @@ F:UNIQUE | MALE | CAN_SPEAK | RES_TELE F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | DROP_GREAT | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | -F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_FIRE | IM_COLD | IM_POIS | RES_NETH | F:NO_CONF | NO_SLEEP | NO_FEAR | POWERFUL | S:1_IN_1 | S:TELE_TO | SLOW | SCARE | CAUSE_4 | BRAIN_SMASH | @@ -16745,7 +16750,7 @@ F:ONLY_ITEM | DROP_1D2 | CAN_SWIM | F:DROP_GOOD | DROP_GREAT | F:CAN_SPEAK | EVIL | UNIQUE | NEVER_MOVE | FORCE_MAXHP | FORCE_SLEEP | F:IM_ACID | IM_POIS | IM_COLD | IM_ELEC | RES_NETH | RES_WATE | RES_NEXU -F:NO_FEAR | NO_CONF | NO_SLEEP | DEMON | SMART | ELDRITCH_HORROR | +F:NO_FEAR | NO_CONF | NO_SLEEP | DEMON | SMART | ELDRITCH_HORROR | RES_CHAO | F:COLD_BLOOD | RES_DISE | NO_STUN S:1_IN_6 | S:S_MONSTERS | S_DEMON | S_HI_DRAGON | S_HI_UNDEAD | HEAL | @@ -17061,7 +17066,7 @@ F:ESCORT | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | DROP_GREAT | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | F:EVIL | UNDEAD | POWERFUL | -F:IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | NO_CONF | NO_SLEEP | +F:IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP | S:1_IN_3 | S:TPORT | BLIND | SCARE | CAUSE_4 | BRAIN_SMASH | S:BA_MANA | BO_MANA | BA_FIRE | DISPEL | PSY_SPEAR | @@ -17132,7 +17137,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | F:RAND_25 | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | KILL_BODY | -F:ANIMAL | EVIL | IM_POIS | IM_FIRE | IM_COLD +F:ANIMAL | EVIL | IM_POIS | IM_FIRE | IM_COLD | RES_DARK | S:1_IN_8 | S:BR_DARK | BR_POIS | BR_COLD D:$The immensely huge wolf who would swallow the sun to satisfy its @@ -17158,7 +17163,9 @@ F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | CAN_FLY | F:DRAGON | GOOD | DROP_CORPSE | SELF_LITE_2 | F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | NO_CONF | NO_SLEEP | -F:RES_NETH | RES_NEXU | RES_PLAS | RES_DISE | RES_TELE | RIDING | +F:RES_NETH | RES_LITE | RES_DARK | RES_SOUN | RES_CHAO | RES_DISE | +F:RES_NEXU | RES_TIME | RES_INER | RES_GRAV | RES_SHAR | RES_PLAS | +F:RES_WALL | RES_TELE | RIDING | S:1_IN_3 | S:S_HI_DRAGON | S_DRAGON | S_KIN | S:BR_NUKE | BR_ACID | BR_ELEC | BR_FIRE | @@ -17188,7 +17195,7 @@ F:UNIQUE | CAN_SPEAK | FEMALE | ELDRITCH_HORROR | AURA_ELEC | RES_TELE F:ATTR_MULTI | FORCE_SLEEP | FORCE_MAXHP | PASS_WALL | ATTR_ANY | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | DROP_90 | NONLIVING | CAN_FLY | F:SMART | OPEN_DOOR | BASH_DOOR | REGENERATE | DEMON | AURA_COLD -F:EVIL | IM_ACID | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | IM_ACID | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP | RES_CHAO S:1_IN_3 | S:BO_MANA | BRAIN_SMASH | BA_DARK | S_MONSTERS | S:CAUSE_4 | HEAL | BR_CHAO | BR_CONF | BR_POIS | BR_NUKE | @@ -17321,7 +17328,7 @@ F:UNIQUE | ELDRITCH_HORROR | RES_TELE | F:FORCE_SLEEP | FORCE_MAXHP | DEMON | AURA_FIRE | AURA_ELEC | F:ATTR_MULTI | ESCORTS | ESCORT | POWERFUL | ATTR_ANY | NONLIVING | F:KILL_ITEM | KILL_WALL | CAN_SWIM | AURA_COLD | -F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | DROP_90 | RES_DISE | +F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | DROP_90 | RES_CHAO | RES_DISE | F:STUPID | OPEN_DOOR | BASH_DOOR | REGENERATE | EMPTY_MIND | F:EVIL | IM_ACID | IM_POIS | IM_FIRE | NO_CONF | NO_SLEEP S:1_IN_5 | @@ -17466,7 +17473,7 @@ F:UNIQUE | CAN_SPEAK | DEMON | ELDRITCH_HORROR | NONLIVING | F:FORCE_SLEEP | FORCE_MAXHP | ESCORT | ESCORTS | SMART | RES_PLAS | RES_NEXU | F:OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | REGENERATE | RES_NETH | F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_1D2 | DROP_GOOD | -F:DROP_GREAT | RES_DISE | RES_TELE | CAN_SWIM | +F:DROP_GREAT | RES_DISE | RES_CHAO | RES_DARK | RES_TELE | CAN_SWIM | F:EVIL | IM_FIRE | IM_POIS | IM_ELEC | IM_ACID | NO_CONF | NO_SLEEP | S:1_IN_3 S:TPORT | SCARE | BLIND | MIND_BLAST | BRAIN_SMASH | DRAIN_MANA | @@ -17537,8 +17544,8 @@ B:BITE:TIME:11d11 F:UNIQUE | FORCE_SLEEP | FORCE_MAXHP | F:REFLECTING | AURA_COLD | AURA_ELEC | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_3D2 | -F:DROP_GOOD | DROP_GREAT | RES_NETH | -F:RES_WATE | RES_PLAS | RES_NEXU | RES_DISE | +F:DROP_GOOD | DROP_GREAT | RES_NETH | RES_SOUN | RES_LITE | RES_INER | +F:RES_WATE | RES_PLAS | RES_NEXU | RES_DISE | RES_TIME | RES_SHAR | F:SMART | KILL_BODY | POWERFUL | SELF_LITE_1 | F:REGENERATE | NONLIVING | CAN_FLY | F:GOOD | IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | @@ -17686,7 +17693,7 @@ F:UNIQUE | QUESTOR | CAN_SPEAK | ATTR_MULTI | ATTR_ANY | F:FORCE_SLEEP | FORCE_MAXHP | FORCE_DEPTH | SELF_LITE_1 | F:REFLECTING | AURA_FIRE | AURA_ELEC | AURA_COLD | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_3D2 | DROP_4D2 | -F:DROP_GOOD | DROP_GREAT | RES_NETH | +F:DROP_GOOD | DROP_GREAT | RES_CHAO | RES_NETH | F:SMART | KILL_WALL | KILL_BODY | POWERFUL | F:REGENERATE | NONLIVING | CAN_FLY | RIDING | F:EVIL | IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | @@ -17742,8 +17749,8 @@ B:TOUCH:EXP_80:10d10 F:UNIQUE | FORCE_SLEEP | NEVER_MOVE | ONLY_ITEM | DROP_90 | FORCE_MAXHP | F:DROP_GOOD | DROP_GREAT | REFLECTING | INVISIBLE | COLD_BLOOD | KILL_EXP | F:SMART | EMPTY_MIND | REGENERATE | POWERFUL | AURA_FIRE | -F:EVIL | DEMON | NONLIVING | IM_ACID | IM_ELEC | IM_FIRE | IM_COLD | IM_POIS | -F:RES_TELE | RES_NETH | RES_WATE | RES_PLAS | RES_NEXU | RES_DISE | +F:EVIL | DEMON | NONLIVING | IM_ACID | IM_ELEC | IM_FIRE | IM_COLD | IM_POIS | +F:RES_TELE | RES_NETH | RES_WATE | RES_PLAS | RES_NEXU | RES_DISE | RES_TIME | F:NO_FEAR | NO_CONF | NO_STUN | NO_SLEEP | S:1_IN_2 | S:BR_NETH | BR_TIME | BA_MANA | BO_MANA | HAND_DOOM | HEAL | @@ -17765,7 +17772,7 @@ B:BITE:LOSE_ALL:8d5 F:FRIENDS | F:COLD_BLOOD | EMPTY_MIND | REGENERATE | BASH_DOOR | KILL_BODY | KILL_ITEM | F:ANIMAL | HURT_LITE | IM_ACID | IM_ELEC | IM_FIRE | IM_COLD | IM_POIS | -F:RES_TELE | RES_NETH | RES_DISE | +F:RES_TELE | RES_NETH | RES_DISE | RES_DARK | F:NO_FEAR | NO_CONF | NO_STUN | NO_SLEEP | D:$Small brown spiders that lurk in the darkness deep underground. D:$ An individual would be nearly harmless, but their size allows many @@ -17914,7 +17921,7 @@ B:CRUSH:UN_BONUS:5d12 F:UNIQUE | F:ATTR_MULTI | F:FORCE_SLEEP | FORCE_MAXHP | DROP_CORPSE | ANIMAL | -F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_GOOD | +F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_GOOD | RES_CHAO | RES_DARK | F:OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | CAN_SWIM | RES_WATE | F:EVIL | IM_FIRE | IM_COLD | IM_POIS | IM_ELEC | NO_CONF | NO_SLEEP S:1_IN_2 | @@ -18002,7 +18009,7 @@ W:15:4:0:7:0:0 B:EXPLODE:FIRE:5d5 F:RAND_50 | RAND_25 | CAN_SWIM | F:STUPID | WEIRD_MIND | MULTIPLY | BASH_DOOR | -F:ANIMAL | HURT_LITE | NO_FEAR +F:ANIMAL | HURT_LITE | RES_DARK | NO_FEAR D:$A seething mass of thick, glowing worms. D:¸÷¤ë¥¤¥â¥à¥·¤ÎÌ©½¸¤·¤¿Ê¨¤­ÊÖ¤ë²ô¤À¡£ @@ -18015,7 +18022,7 @@ B:BITE:POISON:1d10 B:CLAW:HURT:1d4 F:DROP_60 | RAND_25 | MOVE_BODY | CAN_FLY | DROP_CORPSE | F:BASH_DOOR | MOVE_BODY | FRIENDS | -F:ANIMAL | IM_POIS +F:ANIMAL | IM_POIS | RES_DARK S:1_IN_8 | S:SCARE | BR_POIS | BR_DARK D:$Fed with horrid meats and grown to enormous size, this slavering creature @@ -18036,7 +18043,7 @@ F:UNIQUE | MALE | F:FORCE_SLEEP | FORCE_MAXHP | SMART | CAN_SPEAK | CAN_FLY | AURA_COLD | F:ONLY_ITEM | DROP_1D2 | DROP_GOOD | DROP_GREAT | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP | RES_TELE | REFLECTING | S:1_IN_4 | S:SCARE | S_KIN | WORLD | TELE_TO @@ -18140,7 +18147,7 @@ F:CAN_SPEAK | UNDEAD | UNIQUE2 | F:FORCE_SLEEP | FORCE_MAXHP | FORCE_DEPTH | F:REFLECTING | AURA_FIRE | AURA_ELEC | AURA_COLD | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_3D2 | DROP_4D2 | -F:DROP_GOOD | DROP_GREAT | RES_NETH | +F:DROP_GOOD | DROP_GREAT | RES_CHAO | RES_NETH | F:SMART | KILL_WALL | KILL_BODY | POWERFUL | F:REGENERATE | NONLIVING | CAN_FLY | F:EVIL | IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | @@ -18193,7 +18200,7 @@ F:MALE | F:FORCE_SLEEP | FORCE_MAXHP F:ONLY_ITEM | DROP_90 | DROP_4D2 | F:SMART | INVISIBLE | COLD_BLOOD | UNDEAD | -F:EVIL | HURT_LITE | NO_CONF | NO_SLEEP | +F:EVIL | HURT_LITE | RES_NETH | RES_DARK | NO_CONF | NO_SLEEP | S:1_IN_2 | S:HEAL | BLINK | BLIND | CONF | CAUSE_3 | DARKNESS | S:ANIM_DEAD | SHRIEK | TELE_AWAY | BA_DARK | DRAIN_MANA | @@ -18246,7 +18253,7 @@ W:70:6:0:2000:0:0 B:SHOOT:HURT:15d10 B:EXPLODE:HURT:15d5 F:CHAR_CLEAR | ATTR_CLEAR -F:NEVER_MOVE | IM_POIS | NONLIVING | IM_ACID | STUPID | FORCE_MAXHP +F:NEVER_MOVE | IM_POIS | NONLIVING | IM_ACID | RES_CHAO | STUPID | FORCE_MAXHP S:1_IN_3 S:ROCKET | SHOOT | BLINK | BR_POIS | BR_CHAO | BR_NEXU D:$It was left here to be used against intruders. @@ -18355,7 +18362,7 @@ B:SHOOT:HURT:7d6 B:SPIT:COLD:10d10 B:SPIT:COLD:10d10 B:GAZE:BLIND -F:EMPTY_MIND | BASH_DOOR +F:EMPTY_MIND | BASH_DOOR | RES_LITE | RES_TIME | F:IM_COLD | NO_CONF | NO_SLEEP | NO_FEAR | NONLIVING | FORCE_MAXHP S:1_IN_5 S:BR_LITE | BA_COLD | BR_COLD | BO_ICEE | BO_COLD | BR_TIME | SHOOT @@ -18389,7 +18396,7 @@ B:ENGULF:HURT:6d6 B:ENGULF:HURT:6d6 B:ENGULF:HURT:6d6 F:FORCE_SLEEP | RAND_50 | EMPTY_MIND | BASH_DOOR | CAN_FLY | -F:NO_FEAR | NO_CONF | NO_SLEEP | NO_STUN | POWERFUL | NONLIVING +F:RES_SHAR | NO_FEAR | NO_CONF | NO_SLEEP | NO_STUN | POWERFUL | NONLIVING S:1_IN_4 | S:BR_SHAR D:$A howling blast of razor-sharp mountain fragments, kept intact by perilous @@ -18421,7 +18428,7 @@ B:HIT:FIRE:1d6 B:BITE:FIRE:3d4 F:MALE | FRIENDS | DROP_60 | DROP_SKELETON | DROP_CORPSE | SELF_LITE_1 | F:OPEN_DOOR | BASH_DOOR | EVIL | TROLL | HURT_LITE | REGENERATE | -F:HURT_COLD | IM_FIRE | WILD_VOLCANO +F:HURT_COLD | IM_FIRE | RES_DARK | WILD_VOLCANO D:$Fire trolls are believed to have been created by an D:$evil wizard trying to make forest trolls immune to D:$fire. @@ -18629,12 +18636,13 @@ E:Undead devilfish G:l:v I:105:15d5:10:20:5 W:15:4:0:75:0:0 -F:NEVER_BLOW | ATTR_MULTI | AQUATIC | INVISIBLE | NO_CONF | UNDEAD | DROP_CORPSE | +F:NEVER_BLOW | ATTR_MULTI | AQUATIC | INVISIBLE | NO_CONF | UNDEAD | +F:DROP_CORPSE | RES_NETH | RES_TIME | F:EVIL S:1_IN_8 | S:BR_NETH | BR_DISE | BR_TIME | BR_NEXU | BR_POIS D:$A devilfish brought back from the dead. -D:»à¤«¤éÁɤ¨¤Ã¤¿¥Á¥ç¥¦¥Á¥ó¥¢¥ó¥³¥¦¤À¡£ +D:»à¤«¤éÁɤä¿¥Á¥ç¥¦¥Á¥ó¥¢¥ó¥³¥¦¤À¡£ # #(¥³¥á¥ó¥È) @@ -18734,7 +18742,8 @@ E:Devilfish G:l:v I:105:11d5:10:16:5 W:12:4:0:60:0:0 -F:NEVER_BLOW | ATTR_MULTI | AQUATIC | NO_CONF | DROP_CORPSE +F:NEVER_BLOW | ATTR_MULTI | AQUATIC | NO_CONF | DROP_CORPSE | +F:RES_CHAO | RES_DARK | RES_LITE | RES_SOUN | RES_TIME S:1_IN_9 | S:BR_CHAO | BR_DARK | BR_LITE | BR_SOUN | BR_DISE | BR_TIME D:$A disgusting fish, it has a large gaping mouth and a small lantern dangling @@ -18773,7 +18782,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | F:ESCORT | CAN_FLY | F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_GOOD | F:OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | -F:EVIL | DEMON | IM_FIRE | IM_POIS | +F:EVIL | DEMON | IM_FIRE | IM_POIS | RES_DARK | F:NO_CONF | NO_SLEEP S:1_IN_3 | S:BLIND | CONF | SCARE | @@ -18921,8 +18930,10 @@ F:AURA_FIRE | AURA_ELEC | OPEN_DOOR | BASH_DOOR | PASS_WALL | KILL_WALL | F:TAKE_ITEM | KILL_ITEM | ORC | TROLL | GIANT | DRAGON | DEMON | UNDEAD | F:EVIL | ANIMAL | GOOD | AURA_COLD | NONLIVING | HURT_LITE | HURT_ROCK | F:IM_ACID | IM_ELEC | IM_FIRE | IM_COLD | IM_POIS | HUMAN | -F:RES_TELE | RES_NETH | RES_WATE | RES_PLAS | RES_NEXU | RES_DISE | NO_FEAR | -F:NO_STUN | NO_CONF | NO_SLEEP | CAN_SWIM | CAN_FLY | UNIQUE2 | WILD_SHORE | +F:RES_LITE | RES_DARK | RES_NETH | RES_WATE | RES_PLAS | RES_SHAR | RES_SOUN | +F:RES_CHAO | RES_NEXU | RES_DISE | RES_WALL | RES_INER | RES_TIME | RES_GRAV | +F:RES_TELE | NO_FEAR | NO_STUN | NO_CONF | NO_SLEEP | +F:CAN_SWIM | CAN_FLY | UNIQUE2 | WILD_SHORE | F:WILD_OCEAN | WILD_WASTE | WILD_WOOD | WILD_VOLCANO | WILD_MOUNTAIN | F:WILD_GRASS | WILD_ALL | SELF_LITE_1 | SELF_LITE_2 | S:1_IN_3 | @@ -19142,7 +19153,7 @@ F:UNIQUE | MALE | CAN_SPEAK | F:FORCE_SLEEP | FORCE_MAXHP | SMART | F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_GOOD | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | F:HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_3 | CAUSE_4 | MIND_BLAST | @@ -19182,7 +19193,7 @@ B:CLAW:HURT:1d20 B:CLAW:HURT:1d20 F:DROP_3D2 | OPEN_DOOR | BASH_DOOR | EVIL | DRAGON | UNDEAD | F:RES_NETH | RES_PLAS | RES_NEXU | RES_DISE | NO_FEAR | NO_STUN | -F:IM_COLD | IM_POIS | +F:IM_COLD | IM_POIS | F:NO_CONF | NO_SLEEP | DROP_SKELETON | RIDING S:1_IN_10 S:BR_NETH @@ -19398,7 +19409,7 @@ B:SHOOT:HURT:3d6 B:HIT:HURT:1d5 B:HIT:HURT:1d5 F:FORCE_SLEEP | DROP_1D2 | SMART | DROP_CORPSE | DROP_SKELETON | -F:ORC | HURT_LITE | EVIL | +F:ORC | HURT_LITE | EVIL | RES_DARK S:1_IN_2 | S:SHOOT @@ -19525,7 +19536,7 @@ B:KICK:HURT:8d8 F:UNIQUE | MALE | CAN_SPEAK | REFLECTING | HAS_LITE_2 | HUMAN | F:OPEN_DOOR | BASH_DOOR | DROP_CORPSE | DROP_SKELETON | F:FORCE_SLEEP | FORCE_MAXHP | MOVE_BODY | TAKE_ITEM | -F:DROP_1D2 | DROP_90 | DROP_GOOD | ONLY_ITEM | CAN_SWIM | +F:DROP_1D2 | DROP_90 | DROP_GOOD | ONLY_ITEM | CAN_SWIM | RES_SHAR | F:REGENERATE | EAT_GIVE_STR | EAT_GIVE_CON | EAT_LOSE_INT | EAT_LOSE_CHR | S:1_IN_6 | S:BR_SHAR | TELE_TO @@ -19589,7 +19600,7 @@ B:CRUSH:HURT:20d2 F:UNIQUE | MALE | DROP_SKELETON | DROP_CORPSE | HUMAN | F:FORCE_SLEEP | FORCE_MAXHP | HAS_LITE_2 | F:DROP_2D2 | ONLY_GOLD | -F:OPEN_DOOR | BASH_DOOR | TAKE_ITEM | MOVE_BODY | +F:OPEN_DOOR | BASH_DOOR | TAKE_ITEM | MOVE_BODY | RES_SOUN S:1_IN_5 | S:BR_SOUN | D:¤ªÁ°¤Î¤â¤Î¤Ï²¶¤Î¤â¤Î¡£²¶¤Î¤â¤Î¤Ï²¶¤Î¤â¤Î¡£ @@ -19647,7 +19658,7 @@ B:BITE:EXP_80:10d12 F:UNIQUE | FORCE_SLEEP | FORCE_MAXHP | RES_TELE | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:SMART | OPEN_DOOR | BASH_DOOR | CAN_FLY | POWERFUL | -F:DRAGON | EVIL | IM_ACID | NO_CONF | NO_SLEEP | +F:DRAGON | EVIL | IM_ACID | RES_DARK | NO_CONF | NO_SLEEP | F:NO_FEAR | NO_STUN | RIDING | S:1_IN_3 | S:BRAIN_SMASH | BR_DARK | BR_NETH | BA_NETH @@ -19667,7 +19678,7 @@ B:BITE:HURT:10d12 F:UNIQUE | FRIENDLY | FORCE_SLEEP | FORCE_MAXHP | RES_TELE | F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | F:SMART | OPEN_DOOR | BASH_DOOR | CAN_FLY | POWERFUL | -F:DRAGON | GOOD | NO_CONF | NO_SLEEP | +F:DRAGON | GOOD | RES_SOUN | RES_LITE | NO_CONF | NO_SLEEP | F:NO_FEAR | NO_STUN | RIDING | SELF_LITE_2 | S:1_IN_3 | S:BRAIN_SMASH | BR_SOUN | BR_LITE | BR_MANA @@ -19869,7 +19880,7 @@ B:HIT:HURT:5d8 B:HIT:CONFUSE:6d8 F:FORCE_MAXHP | F:COLD_BLOOD | OPEN_DOOR | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP | S:1_IN_5 S:BLIND | HOLD | SCARE | CAUSE_4 | BO_NETH | S_UNDEAD D:¤³¤ÎÉԵȤʥâ¥ó¥¹¥¿¡¼¤Ï¼«Ê¬¤Î¼ó¤òÏƤËÊú¤¨¡¢»à¤ò¹ð¤²¤Ë¤ä¤Ã¤Æ¤¯¤ë¡£ @@ -19957,7 +19968,7 @@ F:GOOD | DROP_GOOD | MOVE_BODY | NONLIVING | AURA_FIRE | SELF_LITE_2 | F:FORCE_SLEEP | FORCE_MAXHP | ONLY_ITEM | DROP_1D2 | DROP_2D2 | F:OPEN_DOOR | SMART | POWERFUL | CAN_FLY | F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_TELE | -F:RES_DISE | RES_NEXU | RES_NETH | +F:RES_DISE | RES_NEXU | RES_NETH | RES_LITE | RES_SOUN | F:NO_STUN | NO_CONF | NO_SLEEP | RIDING S:1_IN_3 | S:SCARE | BRAIN_SMASH | DRAIN_MANA | @@ -20150,6 +20161,7 @@ F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_4D2 | DROP_GOOD | DROP_GREAT | F:OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | F:GOOD | DRAGON | RIDING | F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | NO_CONF | NO_SLEEP +F:RES_LITE | RES_DARK | RES_SOUN | RES_SHAR | S:1_IN_2 | S:BLIND | CONF | SCARE | S:BR_LITE | BR_DARK | BR_SOUN | BR_CONF | BR_SHAR | @@ -20202,7 +20214,7 @@ F:UNIQUE | MALE | CAN_SWIM | CAN_FLY | F:RAND_50 | RAND_25 | F:FORCE_MAXHP | CAN_SPEAK | F:ONLY_ITEM | DROP_90 | DROP_GOOD | -F:INVISIBLE | COLD_BLOOD | PASS_WALL | +F:INVISIBLE | COLD_BLOOD | PASS_WALL | RES_NETH F:UNDEAD | NO_SLEEP D:$He has only three hair. He is careless, but kind, and always a bit hungry. D:ÌÓ¤¬»°Ëܤ·¤«¤Ê¤¤¤ó¤À¤è¡£¤º¤Ã¤³¤±¤Ê¤ó¤ÀÍ¥¤·¤¤ÅÛ¤µ¡£ @@ -20312,7 +20324,7 @@ F:UNIQUE | MALE | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | F:SMART | COLD_BLOOD | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | IM_FIRE | IM_COLD | +F:EVIL | UNDEAD | IM_FIRE | IM_COLD | RES_NETH | RES_DARK | F:IM_POIS | HURT_LITE | NO_CONF | NO_SLEEP S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_3 | BA_FIRE | BA_NETH | @@ -20365,7 +20377,7 @@ B:HIT:HURT:2d5 B:TOUCH:LOSE_WIS F:NEVER_MOVE | F:INVISIBLE | COLD_BLOOD | PASS_WALL | CAN_FLY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | NO_CONF | NO_SLEEP D:$A lost soul of an adventurer still lingering in this world. D:¤³¤ÎÀ¤¤Ë̤Îý¤¬¤¢¤ëËÁ¸±¼Ô¤Îº²¤Î¤Ê¤ì¤Î²Ì¤Æ¤À¡£ @@ -20595,7 +20607,7 @@ F:UNIQUE | MALE | SMART | F:FORCE_SLEEP | FORCE_MAXHP | F:ONLY_GOLD | DROP_3D2 | DROP_4D2 | F:COLD_BLOOD | PASS_WALL | OPEN_DOOR | BASH_DOOR | MOVE_BODY | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | F:NO_STUN | NO_CONF | NO_SLEEP | RES_TELE | S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_3 | DARKNESS | @@ -20727,7 +20739,7 @@ F:UNIQUE | FEMALE | CAN_SPEAK | DROP_CORPSE F:FORCE_SLEEP | FORCE_MAXHP | CAN_SWIM | ELDRITCH_HORROR | HUMAN | F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_GOOD | F:SMART | OPEN_DOOR | BASH_DOOR | SELF_LITE_2 | -F:EVIL | IM_ACID | IM_FIRE | IM_POIS | NO_CONF | NO_SLEEP +F:EVIL | IM_ACID | IM_FIRE | IM_POIS | RES_CHAO | NO_CONF | NO_SLEEP S:1_IN_2 | S:HOLD | SCARE | CAUSE_3 | BR_CONF | BR_NETH | BR_CHAO | D:$Sukarno's third wife. Her face could sink a thousand @@ -21062,7 +21074,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | MOVE_BODY | F:ONLY_ITEM | DROP_4D2 | DROP_3D2 | DROP_GOOD | F:SMART | TAKE_ITEM | BASH_DOOR | HAS_LITE_2 | F:EVIL | GIANT | ESCORT | DROP_CORPSE | -F:IM_FIRE | IM_COLD | IM_ACID | IM_POIS | IM_ELEC +F:IM_FIRE | IM_COLD | IM_ACID | IM_POIS | IM_ELEC | RES_SHAR | RES_SOUN S:1_IN_4 | S:BR_FIRE | BR_COLD | BR_SHAR | BR_SOUN | S:S_MONSTERS | S_KIN | TELE_TO | HEAL @@ -21165,7 +21177,7 @@ B:HIT:HURT:2d10 B:HIT:HURT:2d10 F:FRIENDS | DROP_60 | DROP_CORPSE | F:OPEN_DOOR | BASH_DOOR | -F:EVIL | GIANT | ORC | +F:EVIL | GIANT | ORC | RES_DARK D:$An unholy hybrid of ogre and orc. D:¥ª¡¼¥¬¤È¥ª¡¼¥¯¤ÎÉÔ¾ô¤Êº®·ì¤À¡£ @@ -21181,7 +21193,7 @@ B:BITE:DR_MANA:6d8 F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | F:DROP_60 | DROP_4D2 | F:COLD_BLOOD | OPEN_DOOR | BASH_DOOR | REGENERATE | RES_TELE | -F:EVIL | UNDEAD | IM_COLD | IM_POIS | HURT_LITE | +F:EVIL | UNDEAD | IM_COLD | IM_POIS | RES_NETH | RES_DARK | HURT_LITE | F:NO_CONF | NO_SLEEP | S:1_IN_3 | S:BLIND | HOLD | SCARE | CAUSE_3 | CAUSE_4 | DRAIN_MANA | BA_NETH @@ -21205,7 +21217,7 @@ F:UNIQUE | MALE | CAN_SPEAK | UNDEAD | F:FORCE_MAXHP | DROP_CORPSE | WILD_TOWN | WILD_ONLY | #F:ONLY_ITEM | DROP_90 | DROP_GOOD | FRIENDLY | F:OPEN_DOOR | BASH_DOOR | -F:NO_CONF | NO_SLEEP +F:RES_NETH | NO_CONF | NO_SLEEP S:1_IN_4 | S:TELE_AWAY D:$He weighs 127 kg. He is the president of some remote country. @@ -21235,8 +21247,9 @@ B:SHOW:LOSE_WIS B:CHARGE:EAT_GOLD B:CHARGE:EAT_GOLD #F:DROP_1D2 | DROP_90 | DROP_GOOD | DROP_GREAT | ONLY_ITEM | -F:EVIL | MALE | CAN_SPEAK | SMART | RES_TELE | CAN_SWIM | DROP_CORPSE -F:ANIMAL | IM_POIS | NO_CONF | NO_SLEEP | FORCE_MAXHP | UNIQUE | FORCE_SLEEP +F:EVIL | MALE | CAN_SPEAK | SMART | RES_TELE | CAN_SWIM | DROP_CORPSE | +F:ANIMAL | IM_POIS | NO_CONF | NO_SLEEP | FORCE_MAXHP | UNIQUE | FORCE_SLEEP | +F:RES_CHAO S:1_IN_3 S:SHRIEK | CONF | S_HYDRA | SLOW | BLIND | DRAIN_MANA S:BA_POIS | BR_CHAO | FORGET | DARKNESS | BR_NUKE @@ -21293,8 +21306,8 @@ B:CLAW:HURT:5d12 B:CLAW:HURT:6d12 B:BITE:TIME:8d14 F:DROP_CORPSE | FORCE_SLEEP | FORCE_MAXHP | CAN_FLY | -F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_GOOD | -F:BASH_DOOR | POWERFUL | MOVE_BODY | RES_NEXU | +F:ONLY_ITEM | DROP_2D2 | DROP_4D2 | DROP_GOOD | RES_TIME | RES_GRAV | +F:BASH_DOOR | POWERFUL | MOVE_BODY | RES_NEXU | RES_INER | F:DRAGON | NO_CONF | NO_SLEEP | RIDING | PASS_WALL | S:1_IN_3 | S:TPORT | BLINK | TELE_AWAY | TELE_LEVEL | HASTE | @@ -21315,7 +21328,7 @@ B:TOUCH:CONFUSE B:CRUSH:HURT:6d6 B:CRAWL:POISON:4d4 F:FRIENDS | ANIMAL | CAN_SWIM | WEIRD_MIND -F:IM_POIS | NO_FEAR | RES_WATE +F:IM_POIS | RES_DARK | NO_FEAR | RES_WATE S:1_IN_4 | BR_DARK D:ÃÏ¢ÂçÊ¤Î²½¿È¤Ç¤¢¤ëÂýË¡»Õ¤Ë¤è¤Ã¤Æ¸Æ¤Ó´ó¤»¤é¤ì¤¿Âý¤ÎÂç·²¤À¡£ D:¡Ö¡Ä¤³¤Î»þ¡¢²ä¤«¤Ë¡¢¤´¤¦¤´¤¦¤È³¤ÊÕ¤¬Â礭¤Ê²»¤òΩ¤Æ¤Æ¡¢ @@ -21373,7 +21386,7 @@ B:TOUCH:EAT_ITEM F:UNIQUE | MALE | CAN_FLY | RAND_25 | RAND_50 F:FORCE_MAXHP | CAN_SPEAK | SMART | REGENERATE | F:NO_CONF | NO_STUN | RES_DISE | RES_NEXU -F:IM_ACID | IM_ELEC | IM_FIRE | IM_POIS | IM_COLD | RES_NETH +F:IM_ACID | IM_ELEC | IM_FIRE | IM_POIS | IM_COLD | RES_NETH | F:ONLY_ITEM | DROP_90 | DROP_GOOD | DROP_GREAT | F:TAKE_ITEM | DROP_CORPSE | F:INVISIBLE | PASS_WALL | diff --git a/src/bldg.c b/src/bldg.c index fbc6e6e9a..0488e0d4b 100644 --- a/src/bldg.c +++ b/src/bldg.c @@ -1752,7 +1752,7 @@ void battle_monsters(void) for (i=0;i<4;i++) { monster_race *r_ptr = &r_info[battle_mon[i]]; - int num_taisei = count_bits(r_ptr->flags3 & (RF3_IM_ACID | RF3_IM_ELEC | RF3_IM_FIRE | RF3_IM_COLD | RF3_IM_POIS)); + int num_taisei = count_bits(r_ptr->flagsr & (RFR_IM_ACID | RFR_IM_ELEC | RFR_IM_FIRE | RFR_IM_COLD | RFR_IM_POIS)); if (r_ptr->flags1 & RF1_FORCE_MAXHP) power[i] = r_ptr->hdice * r_ptr->hside * 2; diff --git a/src/cmd1.c b/src/cmd1.c index 0fd3787e3..140bdf335 100644 --- a/src/cmd1.c +++ b/src/cmd1.c @@ -463,11 +463,11 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo if (have_flag(flgs, TR_BRAND_ACID) || ((p_ptr->special_attack & (ATTACK_ACID)) && !thrown)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_ACID_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_ACID_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK); } } @@ -482,11 +482,11 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo if (have_flag(flgs, TR_BRAND_ELEC) || ((p_ptr->special_attack & (ATTACK_ELEC)) && !thrown) || (mode == HISSATSU_ELEC)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK); } } @@ -510,11 +510,11 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo if (have_flag(flgs, TR_BRAND_FIRE) || ((p_ptr->special_attack & (ATTACK_FIRE)) && !thrown) || (mode == HISSATSU_FIRE)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK); } } @@ -549,11 +549,11 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo if (have_flag(flgs, TR_BRAND_COLD) || ((p_ptr->special_attack & (ATTACK_COLD)) && !thrown) || (mode == HISSATSU_COLD)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_COLD_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_COLD_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK); } } /* Otherwise, take the damage */ @@ -587,11 +587,11 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo if (have_flag(flgs, TR_BRAND_POIS) || ((p_ptr->special_attack & (ATTACK_POIS)) && !thrown) || (mode == HISSATSU_POISON)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_POIS_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_POIS_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK); } } @@ -2020,7 +2020,7 @@ static void py_attack_aux(int y, int x, bool *fear, bool *mdeath, s16b hand, int /* Can't backstab creatures that we can't see, right? */ backstab = TRUE; } - else if ((p_ptr->special_defense & NINJA_S_STEALTH) && (randint0(tmp) > (r_ptr->level+20)) && m_ptr->ml && !(r_ptr->flags3 & RF3_RES_ALL)) + else if ((p_ptr->special_defense & NINJA_S_STEALTH) && (randint0(tmp) > (r_ptr->level+20)) && m_ptr->ml && !(r_ptr->flagsr & RFR_RES_ALL)) { fuiuchi = TRUE; } @@ -2121,7 +2121,7 @@ static void py_attack_aux(int y, int x, bool *fear, bool *mdeath, s16b hand, int } else success_hit = old_success_hit; } - else if ((p_ptr->pclass == CLASS_NINJA) && ((backstab || fuiuchi) && !(r_ptr->flags3 & RF3_RES_ALL))) success_hit = TRUE; + else if ((p_ptr->pclass == CLASS_NINJA) && ((backstab || fuiuchi) && !(r_ptr->flagsr & RFR_RES_ALL))) success_hit = TRUE; else success_hit = test_hit_norm(chance, r_ptr->ac, m_ptr->ml); /* Test for hit */ @@ -2461,7 +2461,7 @@ static void py_attack_aux(int y, int x, bool *fear, bool *mdeath, s16b hand, int k *= mult; /* Ouch! */ - if (((r_ptr->flags3 & RF3_RES_ALL) ? k/100 : k) > m_ptr->hp) + if (((r_ptr->flagsr & RFR_RES_ALL) ? k/100 : k) > m_ptr->hp) { #ifdef JP msg_format("%s¤ò¿¿¤ÃÆó¤Ä¤Ë¤·¤¿¡ª", m_name); @@ -2843,11 +2843,11 @@ msg_format(" { bool resists_tele = FALSE; - if (r_ptr->flags3 & RF3_RES_TELE) + if (r_ptr->flagsr & RFR_RES_TELE) { if (r_ptr->flags1 & RF1_UNIQUE) { - if (m_ptr->ml) r_ptr->r_flags3 |= RF3_RES_TELE; + if (m_ptr->ml) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP msg_format("%^s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£", m_name); #else @@ -2858,7 +2858,7 @@ msg_format(" } else if (r_ptr->level > randint1(100)) { - if (m_ptr->ml) r_ptr->r_flags3 |= RF3_RES_TELE; + if (m_ptr->ml) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP msg_format("%^s¤ÏÄñ¹³ÎϤò»ý¤Ã¤Æ¤¤¤ë¡ª", m_name); #else @@ -2886,9 +2886,8 @@ msg_format(" else if ((chaos_effect == 5) && cave_floor_bold(y, x) && (randint1(90) > r_ptr->level)) { - if (!(r_ptr->flags1 & RF1_UNIQUE) && - !(r_ptr->flags4 & RF4_BR_CHAO) && - !(r_ptr->flags1 & RF1_QUESTOR)) + if (!(r_ptr->flags1 & (RF1_UNIQUE | RF1_QUESTOR)) && + !(r_ptr->flagsr & RFR_EFF_RES_CHAO_MASK)) { if (polymorph_monster(y, x)) { @@ -2914,7 +2913,7 @@ msg_format(" else { #ifdef JP - msg_format("%^s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£", m_name); + msg_format("%^s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£", m_name); #else msg_format("%^s is unaffected.", m_name); #endif @@ -3903,7 +3902,7 @@ msg_format("%s disturb(0, 0); } - else if ((p_ptr->riding && !(r_info[m_list[p_ptr->riding].r_idx].flags7 & (RF7_CAN_FLY)) && !(r_info[m_list[p_ptr->riding].r_idx].flags3 & RF3_EFF_IM_FIRE_MASK)) && ((c_ptr->feat == FEAT_SHAL_LAVA) || (c_ptr->feat == FEAT_DEEP_LAVA))) + else if ((p_ptr->riding && !(r_info[m_list[p_ptr->riding].r_idx].flags7 & (RF7_CAN_FLY)) && !(r_info[m_list[p_ptr->riding].r_idx].flagsr & RFR_EFF_IM_FIRE_MASK)) && ((c_ptr->feat == FEAT_SHAL_LAVA) || (c_ptr->feat == FEAT_DEEP_LAVA))) { #ifdef JP msg_print("ÍÏ´ä¤Î¾å¤Ë¹Ô¤±¤Ê¤¤¡£"); diff --git a/src/cmd2.c b/src/cmd2.c index 75e488c57..b60623202 100644 --- a/src/cmd2.c +++ b/src/cmd2.c @@ -3471,11 +3471,11 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr) if (have_flag(flgs, TR_BRAND_ACID)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_ACID_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_ACID_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK); } } @@ -3490,11 +3490,11 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr) if (have_flag(flgs, TR_BRAND_ELEC)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK); } } @@ -3509,11 +3509,11 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr) if (have_flag(flgs, TR_BRAND_FIRE)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK); } } @@ -3536,11 +3536,11 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr) if (have_flag(flgs, TR_BRAND_COLD)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_COLD_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_COLD_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK); } } /* Otherwise, take the damage */ @@ -3562,11 +3562,11 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr) if (have_flag(flgs, TR_BRAND_POIS)) { /* Notice immunity */ - if (r_ptr->flags3 & RF3_EFF_IM_POIS_MASK) + if (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK) { if (m_ptr->ml) { - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_POIS_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK); } } diff --git a/src/defines.h b/src/defines.h index 837a9a123..c477219fc 100644 --- a/src/defines.h +++ b/src/defines.h @@ -49,7 +49,7 @@ #define H_VER_MAJOR 1 #define H_VER_MINOR 5 #define H_VER_PATCH 0 -#define H_VER_EXTRA 2 +#define H_VER_EXTRA 3 /* Added for ZAngband */ #define FAKE_VERSION 0 @@ -3382,21 +3382,21 @@ #define RF3_HURT_ROCK 0x00002000 /* Hurt by rock remover */ #define RF3_HURT_FIRE 0x00004000 /* Hurt badly by fire */ #define RF3_HURT_COLD 0x00008000 /* Hurt badly by cold */ -#define RF3_IM_ACID 0x00010000 /* Resist acid a lot */ -#define RF3_IM_ELEC 0x00020000 /* Resist elec a lot */ -#define RF3_IM_FIRE 0x00040000 /* Resist fire a lot */ -#define RF3_IM_COLD 0x00080000 /* Resist cold a lot */ -#define RF3_IM_POIS 0x00100000 /* Resist poison a lot */ -#define RF3_RES_TELE 0x00200000 /* Resist teleportation */ -#define RF3_RES_NETH 0x00400000 /* Resist nether a lot */ -#define RF3_RES_WATE 0x00800000 /* Resist water */ -#define RF3_RES_PLAS 0x01000000 /* Resist plasma */ -#define RF3_RES_NEXU 0x02000000 /* Resist nexus */ -#define RF3_RES_DISE 0x04000000 /* Resist disenchantment */ -#define RF3_RES_ALL 0x08000000 /* Resist all */ +#define RF3_XXX16 0x00010000 +#define RF3_XXX17 0x00020000 +#define RF3_XXX18 0x00040000 +#define RF3_XXX19 0x00080000 +#define RF3_XXX20 0x00100000 +#define RF3_XXX21 0x00200000 +#define RF3_XXX22 0x00400000 +#define RF3_XXX23 0x00800000 +#define RF3_XXX24 0x01000000 +#define RF3_XXX25 0x02000000 +#define RF3_XXX26 0x04000000 +#define RF3_XXX27 0x08000000 #define RF3_NO_FEAR 0x10000000 /* Cannot be scared */ #define RF3_NO_STUN 0x20000000 /* Cannot be stunned */ -#define RF3_NO_CONF 0x40000000 /* Cannot be confused */ +#define RF3_NO_CONF 0x40000000 /* Cannot be confused and resist confusion */ #define RF3_NO_SLEEP 0x80000000 /* Cannot be slept */ /* @@ -3550,7 +3550,6 @@ /* * Monster drop info */ - #define RF9_DROP_CORPSE 0x00000001 #define RF9_DROP_SKELETON 0x00000002 #define RF9_EAT_BLIND 0x00000004 @@ -3584,16 +3583,43 @@ #define RF9_EAT_LOSE_CHR 0x40000000 #define RF9_EAT_DRAIN_MANA 0x80000000 - /* - * Hack -- effective elemental and poison immunity mask - */ -#define RF3_EFF_IM_ACID_MASK (RF3_IM_ACID | RF3_RES_ALL) -#define RF3_EFF_IM_ELEC_MASK (RF3_IM_ELEC | RF3_RES_ALL) -#define RF3_EFF_IM_FIRE_MASK (RF3_IM_FIRE | RF3_RES_ALL) -#define RF3_EFF_IM_COLD_MASK (RF3_IM_COLD | RF3_RES_ALL) -#define RF3_EFF_IM_POIS_MASK (RF3_IM_POIS | RF3_RES_ALL) -#define RF3_EFF_RES_NEXU_MASK (RF3_RES_NEXU | RF3_RES_ALL) + * Monster bit flags of racial resistances + * Note: Resist confusion was merged to RFR_NO_CONF + */ +#define RFR_IM_ACID 0x00000001 /* Resist acid */ +#define RFR_IM_ELEC 0x00000002 /* Resist elec */ +#define RFR_IM_FIRE 0x00000004 /* Resist fire */ +#define RFR_IM_COLD 0x00000008 /* Resist cold */ +#define RFR_IM_POIS 0x00000010 /* Resist poison */ +#define RFR_RES_LITE 0x00000020 /* Resist lite */ +#define RFR_RES_DARK 0x00000040 /* Resist dark */ +#define RFR_RES_NETH 0x00000080 /* Resist nether */ +#define RFR_RES_WATE 0x00000100 /* Resist water */ +#define RFR_RES_PLAS 0x00000200 /* Resist plasma */ +#define RFR_RES_SHAR 0x00000400 /* Resist shards */ +#define RFR_RES_SOUN 0x00000800 /* Resist sound */ +#define RFR_RES_CHAO 0x00001000 /* Resist chaos */ +#define RFR_RES_NEXU 0x00002000 /* Resist nexus */ +#define RFR_RES_DISE 0x00004000 /* Resist disenchantment */ +#define RFR_RES_WALL 0x00008000 /* Resist force */ +#define RFR_RES_INER 0x00010000 /* Resist inertia */ +#define RFR_RES_TIME 0x00020000 /* Resist time */ +#define RFR_RES_GRAV 0x00040000 /* Resist gravity */ +#define RFR_RES_ALL 0x00080000 /* Resist all */ +#define RFR_RES_TELE 0x00100000 /* Resist teleportation */ +#define RFR_XXX21 0x00200000 +#define RFR_XXX22 0x00400000 +#define RFR_XXX23 0x00800000 +#define RFR_XXX24 0x01000000 +#define RFR_XXX25 0x02000000 +#define RFR_XXX26 0x04000000 +#define RFR_XXX27 0x08000000 +#define RFR_XXX28 0x10000000 +#define RFR_XXX29 0x20000000 +#define RFR_XXX30 0x40000000 +#define RFR_XXX31 0x80000000 + /* * Hack -- choose "intelligent" spells when desperate @@ -3766,6 +3792,18 @@ #define RF7_SELF_LD_MASK \ (RF7_SELF_LITE_1 | RF7_SELF_LITE_2 | RF7_SELF_DARK_1 | RF7_SELF_DARK_2) +/* + * Hack -- effective elemental and poison immunity mask + */ +#define RFR_EFF_IM_ACID_MASK (RFR_IM_ACID | RFR_RES_ALL) +#define RFR_EFF_IM_ELEC_MASK (RFR_IM_ELEC | RFR_RES_ALL) +#define RFR_EFF_IM_FIRE_MASK (RFR_IM_FIRE | RFR_RES_ALL) +#define RFR_EFF_IM_COLD_MASK (RFR_IM_COLD | RFR_RES_ALL) +#define RFR_EFF_IM_POIS_MASK (RFR_IM_POIS | RFR_RES_ALL) +#define RFR_EFF_RES_SHAR_MASK (RFR_RES_SHAR | RFR_RES_ALL) +#define RFR_EFF_RES_CHAO_MASK (RFR_RES_CHAO | RFR_RES_ALL) +#define RFR_EFF_RES_NEXU_MASK (RFR_RES_NEXU | RFR_RES_ALL) + #define MR1_SINKA 0x01 diff --git a/src/init1.c b/src/init1.c index eeee53895..cef87a91e 100644 --- a/src/init1.c +++ b/src/init1.c @@ -240,18 +240,18 @@ static cptr r_info_flags3[] = "HURT_ROCK", "HURT_FIRE", "HURT_COLD", - "IM_ACID", - "IM_ELEC", - "IM_FIRE", - "IM_COLD", - "IM_POIS", - "RES_TELE", - "RES_NETH", - "RES_WATE", - "RES_PLAS", - "RES_NEXU", - "RES_DISE", - "RES_ALL", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", "NO_FEAR", "NO_STUN", "NO_CONF", @@ -497,6 +497,46 @@ static cptr r_info_flags9[] = /* + * Monster race flags - Resistances + */ +static cptr r_info_flagsr[] = +{ + "IM_ACID", + "IM_ELEC", + "IM_FIRE", + "IM_COLD", + "IM_POIS", + "RES_LITE", + "RES_DARK", + "RES_NETH", + "RES_WATE", + "RES_PLAS", + "RES_SHAR", + "RES_SOUN", + "RES_CHAO", + "RES_NEXU", + "RES_DISE", + "RES_WALL", + "RES_INER", + "RES_TIME", + "RES_GRAV", + "RES_ALL", + "RES_TELE", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", + "XXX", +}; + + +/* * Object flags */ static cptr k_info_flags[] = @@ -2039,6 +2079,16 @@ static errr grab_one_basic_flag(monster_race *r_ptr, cptr what) } } + /* Scan flagsr (resistance) */ + for (i = 0; i < 32; i++) + { + if (streq(what, r_info_flagsr[i])) + { + r_ptr->flagsr |= (1L << i); + return (0); + } + } + /* Oops */ #ifdef JP msg_format("̤ÃΤΥâ¥ó¥¹¥¿¡¼¡¦¥Õ¥é¥° '%s'¡£", what); @@ -2483,6 +2533,16 @@ static errr grab_one_basic_monster_flag(dungeon_info_type *d_ptr, cptr what) } } + /* Scan flagsr (resistance) */ + for (i = 0; i < 32; i++) + { + if (streq(what, r_info_flagsr[i])) + { + d_ptr->mflagsr |= (1L << i); + return (0); + } + } + /* Oops */ #ifdef JP msg_format("̤ÃΤΥâ¥ó¥¹¥¿¡¼¡¦¥Õ¥é¥° '%s'¡£", what); @@ -4067,10 +4127,10 @@ void write_r_info_txt(void) int i, j, z, fc, bc; int dlen; - cptr flags[288]; + cptr flags[32 * 10]; - u32b f_ptr[9]; - cptr *n_ptr[9]; + u32b f_ptr[10]; + cptr *n_ptr[10]; monster_race *r_ptr; @@ -4136,6 +4196,7 @@ void write_r_info_txt(void) f_ptr[6] = r_ptr->flags7; n_ptr[6] = r_info_flags7; f_ptr[7] = r_ptr->flags8; n_ptr[7] = r_info_flags8; f_ptr[8] = r_ptr->flags9; n_ptr[8] = r_info_flags9; + f_ptr[9] = r_ptr->flagsr; n_ptr[9] = r_info_flagsr; /* Write New/Number/Name */ fprintf(fff, "N:%d:%s\n", z + 1, r_name + r_ptr->name); @@ -4165,14 +4226,14 @@ void write_r_info_txt(void) } /* Extract the flags */ - for (fc = 0, j = 0; j < 96; j++) + for (fc = 0, j = 0; j < 32 * 3; j++) { /* Check this flag */ if (f_ptr[j / 32] & (1L << (j % 32))) flags[fc++] = n_ptr[j / 32][j % 32]; } /* Extract the extra flags */ - for (j = 192; j < 288; j++) + for (j = 32 * 6; j < 32 * 10; j++) { /* Check this flag */ if (f_ptr[j / 32] & (1L << (j % 32))) flags[fc++] = n_ptr[j / 32][j % 32]; diff --git a/src/load.c b/src/load.c index 57b7216ae..412835774 100644 --- a/src/load.c +++ b/src/load.c @@ -836,7 +836,49 @@ static void rd_monster(monster_type *m_ptr) } +/* + * Old monster bit flags of racial resistances + */ +#define RF3_IM_ACID 0x00010000 /* Resist acid a lot */ +#define RF3_IM_ELEC 0x00020000 /* Resist elec a lot */ +#define RF3_IM_FIRE 0x00040000 /* Resist fire a lot */ +#define RF3_IM_COLD 0x00080000 /* Resist cold a lot */ +#define RF3_IM_POIS 0x00100000 /* Resist poison a lot */ +#define RF3_RES_TELE 0x00200000 /* Resist teleportation */ +#define RF3_RES_NETH 0x00400000 /* Resist nether a lot */ +#define RF3_RES_WATE 0x00800000 /* Resist water */ +#define RF3_RES_PLAS 0x01000000 /* Resist plasma */ +#define RF3_RES_NEXU 0x02000000 /* Resist nexus */ +#define RF3_RES_DISE 0x04000000 /* Resist disenchantment */ +#define RF3_RES_ALL 0x08000000 /* Resist all */ + +#define MOVE_RF3_TO_RFR(R_PTR,RF3,RFR) \ +{\ + if ((R_PTR)->r_flags3 & (RF3)) \ + { \ + (R_PTR)->r_flags3 &= ~(RF3); \ + (R_PTR)->r_flagsr |= (RFR); \ + } \ +} + +#define RF4_BR_TO_RFR(R_PTR,RF4_BR,RFR) \ +{\ + if ((R_PTR)->r_flags4 & (RF4_BR)) \ + { \ + (R_PTR)->r_flagsr |= (RFR); \ + } \ +} +#define RF4_BR_LITE 0x00004000 /* Breathe Lite */ +#define RF4_BR_DARK 0x00008000 /* Breathe Dark */ +#define RF4_BR_CONF 0x00010000 /* Breathe Confusion */ +#define RF4_BR_SOUN 0x00020000 /* Breathe Sound */ +#define RF4_BR_CHAO 0x00040000 /* Breathe Chaos */ +#define RF4_BR_TIME 0x00200000 /* Breathe Time */ +#define RF4_BR_INER 0x00400000 /* Breathe Inertia */ +#define RF4_BR_GRAV 0x00800000 /* Breathe Gravity */ +#define RF4_BR_SHAR 0x01000000 /* Breathe Shards */ +#define RF4_BR_WALL 0x04000000 /* Breathe Force */ /* * Read the monster lore */ @@ -881,6 +923,46 @@ static void rd_lore(int r_idx) rd_u32b(&r_ptr->r_flags4); rd_u32b(&r_ptr->r_flags5); rd_u32b(&r_ptr->r_flags6); + if (h_older_than(1, 5, 0, 3)) + { + r_ptr->r_flagsr = 0L; + + /* Move RF3 resistance flags to RFR */ + MOVE_RF3_TO_RFR(r_ptr, RF3_IM_ACID, RFR_IM_ACID); + MOVE_RF3_TO_RFR(r_ptr, RF3_IM_ELEC, RFR_IM_ELEC); + MOVE_RF3_TO_RFR(r_ptr, RF3_IM_FIRE, RFR_IM_FIRE); + MOVE_RF3_TO_RFR(r_ptr, RF3_IM_COLD, RFR_IM_COLD); + MOVE_RF3_TO_RFR(r_ptr, RF3_IM_POIS, RFR_IM_POIS); + MOVE_RF3_TO_RFR(r_ptr, RF3_RES_TELE, RFR_RES_TELE); + MOVE_RF3_TO_RFR(r_ptr, RF3_RES_NETH, RFR_RES_NETH); + MOVE_RF3_TO_RFR(r_ptr, RF3_RES_WATE, RFR_RES_WATE); + MOVE_RF3_TO_RFR(r_ptr, RF3_RES_PLAS, RFR_RES_PLAS); + MOVE_RF3_TO_RFR(r_ptr, RF3_RES_NEXU, RFR_RES_NEXU); + MOVE_RF3_TO_RFR(r_ptr, RF3_RES_DISE, RFR_RES_DISE); + MOVE_RF3_TO_RFR(r_ptr, RF3_RES_ALL, RFR_RES_ALL); + + /* Separate breathers resistance from RF4 to RFR */ + RF4_BR_TO_RFR(r_ptr, RF4_BR_LITE, RFR_RES_LITE); + RF4_BR_TO_RFR(r_ptr, RF4_BR_DARK, RFR_RES_DARK); + RF4_BR_TO_RFR(r_ptr, RF4_BR_SOUN, RFR_RES_SOUN); + RF4_BR_TO_RFR(r_ptr, RF4_BR_CHAO, RFR_RES_CHAO); + RF4_BR_TO_RFR(r_ptr, RF4_BR_TIME, RFR_RES_TIME); + RF4_BR_TO_RFR(r_ptr, RF4_BR_INER, RFR_RES_INER); + RF4_BR_TO_RFR(r_ptr, RF4_BR_GRAV, RFR_RES_GRAV); + RF4_BR_TO_RFR(r_ptr, RF4_BR_SHAR, RFR_RES_SHAR); + RF4_BR_TO_RFR(r_ptr, RF4_BR_WALL, RFR_RES_WALL); + + /* Resist confusion is merged to RF3_NO_CONF */ + if (r_ptr->r_flags4 & RF4_BR_CONF) r_ptr->r_flags3 |= RF3_NO_CONF; + + /* Misc resistance hack to RFR */ + if (r_idx == MON_STORMBRINGER) r_ptr->r_flagsr |= RFR_RES_CHAO; + if (r_ptr->r_flags3 & RF3_ORC) r_ptr->r_flagsr |= RFR_RES_DARK; + } + else + { + rd_u32b(&r_ptr->r_flagsr); + } /* Read the "Racial" monster limit per level */ rd_byte(&r_ptr->max_num); @@ -898,6 +980,7 @@ static void rd_lore(int r_idx) r_ptr->r_flags4 &= r_ptr->flags4; r_ptr->r_flags5 &= r_ptr->flags5; r_ptr->r_flags6 &= r_ptr->flags6; + r_ptr->r_flagsr &= r_ptr->flagsr; } diff --git a/src/mane.c b/src/mane.c index 44d91af78..4c6d78303 100644 --- a/src/mane.c +++ b/src/mane.c @@ -995,7 +995,7 @@ msg_format("%s msg_format("You gesture at %s's feet.", m_name); #endif - if ((r_ptr->flags3 & (RF3_EFF_RES_NEXU_MASK | RF3_RES_TELE)) || + if ((r_ptr->flagsr & (RFR_EFF_RES_NEXU_MASK | RFR_RES_TELE)) || (r_ptr->flags1 & RF1_QUESTOR) || (r_ptr->level + randint1(50) > plev + randint1(60))) { #ifdef JP diff --git a/src/melee1.c b/src/melee1.c index 2d6e7b2ca..238449ea5 100644 --- a/src/melee1.c +++ b/src/melee1.c @@ -1849,7 +1849,7 @@ msg_format("%s { if (p_ptr->sh_fire && alive && !p_ptr->is_dead) { - if (!(r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK)) + if (!(r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK)) { int dam = damroll(2, 6); @@ -1875,13 +1875,13 @@ msg_format("%s else { if (m_ptr->ml) - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK); } } if (p_ptr->sh_elec && alive && !p_ptr->is_dead) { - if (!(r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK)) + if (!(r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK)) { int dam = damroll(2, 6); @@ -1907,13 +1907,13 @@ msg_format("%s else { if (m_ptr->ml) - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK); } } if (p_ptr->sh_cold && alive && !p_ptr->is_dead) { - if (!(r_ptr->flags3 & RF3_EFF_IM_COLD_MASK)) + if (!(r_ptr->flagsr & RFR_EFF_IM_COLD_MASK)) { int dam = damroll(2, 6); @@ -1939,14 +1939,14 @@ msg_format("%s else { if (m_ptr->ml) - r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_COLD_MASK); + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK); } } /* by henkma */ if (p_ptr->dustrobe && alive && !p_ptr->is_dead) { - if (!(r_ptr->flags4 & RF4_BR_SHAR)) + if (!(r_ptr->flagsr & RFR_EFF_RES_SHAR_MASK)) { int dam = damroll(2, 6); @@ -1963,12 +1963,17 @@ msg_format("%s if (mon_take_hit(m_idx, dam, &fear, " had torn to pieces.")) #endif - { blinked = FALSE; alive = FALSE; } } + else + { + if (m_ptr->ml) + r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_RES_SHAR_MASK); + } + if (is_mirror_grid(&cave[py][px])) { teleport_player(10); } diff --git a/src/melee2.c b/src/melee2.c index dd16ceeb9..09973b19f 100644 --- a/src/melee2.c +++ b/src/melee2.c @@ -230,7 +230,7 @@ msg_format("%^s return; } - if (r_ptr->flags3 & RF3_RES_ALL) + if (r_ptr->flagsr & RFR_RES_ALL) { if(dam > 0) { @@ -2047,7 +2047,7 @@ msg_format("%s /* Aura fire */ if ((tr_ptr->flags2 & RF2_AURA_FIRE) && m_ptr->r_idx) { - if (!(r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK)) + if (!(r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK)) { if (see_either) { @@ -2067,14 +2067,14 @@ msg_format("%s } else { - if (see_m) r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK); + if (see_m) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK); } } /* Aura cold */ if ((tr_ptr->flags3 & RF3_AURA_COLD) && m_ptr->r_idx) { - if (!(r_ptr->flags3 & RF3_EFF_IM_COLD_MASK)) + if (!(r_ptr->flagsr & RFR_EFF_IM_COLD_MASK)) { if (see_either) { @@ -2094,14 +2094,14 @@ msg_format("%s } else { - if (see_m) r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_COLD_MASK); + if (see_m) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK); } } /* Aura elec */ if ((tr_ptr->flags2 & RF2_AURA_ELEC) && m_ptr->r_idx) { - if (!(r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK)) + if (!(r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK)) { if (see_either) { @@ -2121,7 +2121,7 @@ msg_format("%s } else { - if (see_m) r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK); + if (see_m) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK); } } } @@ -2472,9 +2472,9 @@ msg_print(" ((((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_UNIQUE_7)) && ((p_ptr->align > 9 && (r_ptr->flags3 & RF3_EVIL)) || (p_ptr->align < -9 && (r_ptr->flags3 & RF3_GOOD)))) - || (r_ptr->flags3 & RF3_RES_ALL))) + || (r_ptr->flagsr & RFR_RES_ALL))) { - gets_angry = TRUE; + gets_angry = TRUE; } if (p_ptr->inside_battle) gets_angry = FALSE; @@ -3582,6 +3582,7 @@ void process_monsters(void) u32b old_r_flags4 = 0L; u32b old_r_flags5 = 0L; u32b old_r_flags6 = 0L; + u32b old_r_flagsr = 0L; byte old_r_blows0 = 0; byte old_r_blows1 = 0; @@ -3611,6 +3612,7 @@ void process_monsters(void) old_r_flags4 = r_ptr->r_flags4; old_r_flags5 = r_ptr->r_flags5; old_r_flags6 = r_ptr->r_flags6; + old_r_flagsr = r_ptr->r_flagsr; /* Memorize blows */ old_r_blows0 = r_ptr->r_blows[0]; @@ -3759,6 +3761,7 @@ void process_monsters(void) (old_r_flags4 != r_ptr->r_flags4) || (old_r_flags5 != r_ptr->r_flags5) || (old_r_flags6 != r_ptr->r_flags6) || + (old_r_flagsr != r_ptr->r_flagsr) || (old_r_blows0 != r_ptr->r_blows[0]) || (old_r_blows1 != r_ptr->r_blows[1]) || (old_r_blows2 != r_ptr->r_blows[2]) || diff --git a/src/monster1.c b/src/monster1.c index 6bac8fd86..3d20dc019 100644 --- a/src/monster1.c +++ b/src/monster1.c @@ -158,6 +158,7 @@ static void roff_aux(int r_idx, int mode) u32b flags5; u32b flags6; u32b flags7; + u32b flagsr; byte drop_gold, drop_item; @@ -179,6 +180,7 @@ static void roff_aux(int r_idx, int mode) flags5 = (r_ptr->flags5 & r_ptr->r_flags5); flags6 = (r_ptr->flags6 & r_ptr->r_flags6); flags7 = (r_ptr->flags7 & r_ptr->flags7); + flagsr = (r_ptr->flagsr & r_ptr->r_flagsr); /* cheat_know or research_mon() */ if (cheat_know || (mode & 0x01)) @@ -207,6 +209,7 @@ static void roff_aux(int r_idx, int mode) flags4 = r_ptr->flags4; flags5 = r_ptr->flags5; flags6 = r_ptr->flags6; + flagsr = r_ptr->flagsr; } @@ -2013,180 +2016,135 @@ if (flags6 & (RF6_S_UNIQUE)) {vp[vn] = " /* Collect immunities */ vn = 0; #ifdef JP - if (flags3 & RF3_IM_ACID) {vp[vn] = "»À";color[vn++] = TERM_GREEN;} + if (flagsr & RFR_IM_ACID) {vp[vn] = "»À";color[vn++] = TERM_GREEN;} #else - if (flags3 & RF3_IM_ACID) {vp[vn] = "acid";color[vn++] = TERM_GREEN;} + if (flagsr & RFR_IM_ACID) {vp[vn] = "acid";color[vn++] = TERM_GREEN;} #endif #ifdef JP - if (flags3 & RF3_IM_ELEC) {vp[vn] = "°ðºÊ";color[vn++] = TERM_BLUE;} + if (flagsr & RFR_IM_ELEC) {vp[vn] = "°ðºÊ";color[vn++] = TERM_BLUE;} #else - if (flags3 & RF3_IM_ELEC) {vp[vn] = "lightning";color[vn++] = TERM_BLUE;} + if (flagsr & RFR_IM_ELEC) {vp[vn] = "lightning";color[vn++] = TERM_BLUE;} #endif #ifdef JP - if (flags3 & RF3_IM_FIRE) {vp[vn] = "±ê";color[vn++] = TERM_RED;} + if (flagsr & RFR_IM_FIRE) {vp[vn] = "±ê";color[vn++] = TERM_RED;} #else - if (flags3 & RF3_IM_FIRE) {vp[vn] = "fire";color[vn++] = TERM_RED;} + if (flagsr & RFR_IM_FIRE) {vp[vn] = "fire";color[vn++] = TERM_RED;} #endif #ifdef JP - if (flags3 & RF3_IM_COLD) {vp[vn] = "Î䵤";color[vn++] = TERM_L_WHITE;} + if (flagsr & RFR_IM_COLD) {vp[vn] = "Î䵤";color[vn++] = TERM_L_WHITE;} #else - if (flags3 & RF3_IM_COLD) {vp[vn] = "cold";color[vn++] = TERM_L_WHITE;} + if (flagsr & RFR_IM_COLD) {vp[vn] = "cold";color[vn++] = TERM_L_WHITE;} #endif #ifdef JP - if (flags3 & RF3_IM_POIS) {vp[vn] = "ÆÇ";color[vn++] = TERM_L_GREEN;} + if (flagsr & RFR_IM_POIS) {vp[vn] = "ÆÇ";color[vn++] = TERM_L_GREEN;} #else - if (flags3 & RF3_IM_POIS) {vp[vn] = "poison";color[vn++] = TERM_L_GREEN;} + if (flagsr & RFR_IM_POIS) {vp[vn] = "poison";color[vn++] = TERM_L_GREEN;} #endif - /* Describe immunities */ - if (vn) - { - /* Intro */ -#ifdef JP - hooked_roff(format("%^s¤Ï", wd_he[msex])); -#else - hooked_roff(format("%^s", wd_he[msex])); -#endif - - - /* Scan */ - for (n = 0; n < vn; n++) - { - /* Intro */ -#ifdef JP - if ( n != 0 ) hooked_roff("¤È"); -#else - if (n == 0) hooked_roff(" resists "); - else if (n < vn-1) hooked_roff(", "); - else hooked_roff(" and "); -#endif - - - /* Dump */ - hook_c_roff(color[n], vp[n]); - } - - /* End */ -#ifdef JP - hooked_roff("¤ÎÂÑÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¡£"); -#else - hooked_roff(". "); -#endif - - } - - /* Collect resistances */ - vn = 0; -#ifdef JP -if (flags4 & RF4_BR_LITE) {vp[vn] = "Á®¸÷";color[vn++] = TERM_YELLOW;} -#else - if (flags4 & RF4_BR_LITE) {vp[vn] = "light";color[vn++] = TERM_YELLOW;} -#endif - #ifdef JP -if ((flags4 & RF4_BR_DARK) || (flags3 & RF3_ORC)) {vp[vn] = "°Å¹õ";color[vn++] = TERM_L_DARK;} + if (flagsr & RFR_RES_LITE) {vp[vn] = "Á®¸÷";color[vn++] = TERM_YELLOW;} #else - if (flags4 & RF4_BR_DARK || (flags3 & RF3_ORC)) {vp[vn] = "dark";color[vn++] = TERM_L_DARK;} + if (flagsr & RFR_RES_LITE) {vp[vn] = "light";color[vn++] = TERM_YELLOW;} #endif #ifdef JP -if (flags3 & RF3_RES_NETH) {vp[vn] = "ÃϹö";color[vn++] = TERM_L_DARK;} + if (flagsr & RFR_RES_DARK) {vp[vn] = "°Å¹õ";color[vn++] = TERM_L_DARK;} #else - if (flags3 & RF3_RES_NETH) {vp[vn] = "nether";color[vn++] = TERM_L_DARK;} + if (flagsr & RFR_RES_DARK) {vp[vn] = "dark";color[vn++] = TERM_L_DARK;} #endif #ifdef JP -if (flags3 & RF3_RES_WATE) {vp[vn] = "¿å";color[vn++] = TERM_BLUE;} + if (flagsr & RFR_RES_NETH) {vp[vn] = "ÃϹö";color[vn++] = TERM_L_DARK;} #else -if (flags3 & RF3_RES_WATE) {vp[vn] = "water";color[vn++] = TERM_BLUE;} + if (flagsr & RFR_RES_NETH) {vp[vn] = "nether";color[vn++] = TERM_L_DARK;} #endif #ifdef JP -if (flags3 & RF3_RES_PLAS) {vp[vn] = "¥×¥é¥º¥Þ";color[vn++] = TERM_L_RED;} + if (flagsr & RFR_RES_WATE) {vp[vn] = "¿å";color[vn++] = TERM_BLUE;} #else - if (flags3 & RF3_RES_PLAS) {vp[vn] = "plasma";color[vn++] = TERM_L_RED;} + if (flagsr & RFR_RES_WATE) {vp[vn] = "water";color[vn++] = TERM_BLUE;} #endif #ifdef JP -if (flags4 & RF4_BR_SHAR) {vp[vn] = "ÇËÊÒ";color[vn++] = TERM_L_UMBER;} + if (flagsr & RFR_RES_PLAS) {vp[vn] = "¥×¥é¥º¥Þ";color[vn++] = TERM_L_RED;} #else - if (flags4 & RF4_BR_SHAR) {vp[vn] = "shards";color[vn++] = TERM_L_UMBER;} + if (flagsr & RFR_RES_PLAS) {vp[vn] = "plasma";color[vn++] = TERM_L_RED;} #endif #ifdef JP -if (flags4 & RF4_BR_SOUN) {vp[vn] = "¹ì²»";color[vn++] = TERM_ORANGE;} + if (flagsr & RFR_RES_SHAR) {vp[vn] = "ÇËÊÒ";color[vn++] = TERM_L_UMBER;} #else - if (flags4 & RF4_BR_SOUN) {vp[vn] = "sound";color[vn++] = TERM_ORANGE;} + if (flagsr & RFR_RES_SHAR) {vp[vn] = "shards";color[vn++] = TERM_L_UMBER;} #endif #ifdef JP -if (flags4 & RF4_BR_CONF) {vp[vn] = "º®Íð";color[vn++] = TERM_L_UMBER;} + if (flagsr & RFR_RES_SOUN) {vp[vn] = "¹ì²»";color[vn++] = TERM_ORANGE;} #else - if (flags4 & RF4_BR_CONF) {vp[vn] = "conf";color[vn++] = TERM_L_UMBER;} + if (flagsr & RFR_RES_SOUN) {vp[vn] = "sound";color[vn++] = TERM_ORANGE;} #endif #ifdef JP -if ((flags4 & RF4_BR_CHAO) || (r_idx == MON_STORMBRINGER)) {vp[vn] = "¥«¥ª¥¹";color[vn++] = TERM_VIOLET;} + if (flagsr & RFR_RES_CHAO) {vp[vn] = "¥«¥ª¥¹";color[vn++] = TERM_VIOLET;} #else -if ((flags4 & RF4_BR_CHAO) || (r_idx == MON_STORMBRINGER)) {vp[vn] = "chaos";color[vn++] = TERM_VIOLET;} + if (flagsr & RFR_RES_CHAO) {vp[vn] = "chaos";color[vn++] = TERM_VIOLET;} #endif #ifdef JP -if (flags3 & RF3_RES_NEXU) {vp[vn] = "°ø²Ìº®Íð";color[vn++] = TERM_VIOLET;} + if (flagsr & RFR_RES_NEXU) {vp[vn] = "°ø²Ìº®Íð";color[vn++] = TERM_VIOLET;} #else - if (flags3 & RF3_RES_NEXU) {vp[vn] = "nexus";color[vn++] = TERM_VIOLET;} + if (flagsr & RFR_RES_NEXU) {vp[vn] = "nexus";color[vn++] = TERM_VIOLET;} #endif #ifdef JP -if (flags3 & RF3_RES_DISE) {vp[vn] = "Îô²½";color[vn++] = TERM_VIOLET;} + if (flagsr & RFR_RES_DISE) {vp[vn] = "Îô²½";color[vn++] = TERM_VIOLET;} #else - if (flags3 & RF3_RES_DISE) {vp[vn] = "disenchantment";color[vn++] = TERM_VIOLET;} + if (flagsr & RFR_RES_DISE) {vp[vn] = "disenchantment";color[vn++] = TERM_VIOLET;} #endif #ifdef JP -if (flags4 & RF4_BR_WALL) {vp[vn] = "¥Õ¥©¡¼¥¹";color[vn++] = TERM_UMBER;} + if (flagsr & RFR_RES_WALL) {vp[vn] = "¥Õ¥©¡¼¥¹";color[vn++] = TERM_UMBER;} #else - if (flags4 & RF4_BR_WALL) {vp[vn] = "sound";color[vn++] = TERM_UMBER;} + if (flagsr & RFR_RES_WALL) {vp[vn] = "force";color[vn++] = TERM_UMBER;} #endif #ifdef JP -if (flags4 & RF4_BR_INER) {vp[vn] = "ÃÙÆß";color[vn++] = TERM_SLATE;} + if (flagsr & RFR_RES_INER) {vp[vn] = "ÃÙÆß";color[vn++] = TERM_SLATE;} #else - if (flags4 & RF4_BR_INER) {vp[vn] = "inertia";color[vn++] = TERM_SLATE;} + if (flagsr & RFR_RES_INER) {vp[vn] = "inertia";color[vn++] = TERM_SLATE;} #endif #ifdef JP -if (flags4 & RF4_BR_TIME) {vp[vn] = "»þ´ÖµÕž";color[vn++] = TERM_L_BLUE;} + if (flagsr & RFR_RES_TIME) {vp[vn] = "»þ´ÖµÕž";color[vn++] = TERM_L_BLUE;} #else - if (flags4 & RF4_BR_TIME) {vp[vn] = "time";color[vn++] = TERM_L_BLUE;} + if (flagsr & RFR_RES_TIME) {vp[vn] = "time";color[vn++] = TERM_L_BLUE;} #endif #ifdef JP -if (flags4 & RF4_BR_GRAV) {vp[vn] = "½ÅÎÏ";color[vn++] = TERM_SLATE;} + if (flagsr & RFR_RES_GRAV) {vp[vn] = "½ÅÎÏ";color[vn++] = TERM_SLATE;} #else - if (flags4 & RF4_BR_GRAV) {vp[vn] = "gravity";color[vn++] = TERM_SLATE;} + if (flagsr & RFR_RES_GRAV) {vp[vn] = "gravity";color[vn++] = TERM_SLATE;} #endif #ifdef JP -if (flags3 & RF3_RES_ALL) {vp[vn] = "¤¢¤é¤æ¤ë¹¶·â";color[vn++] = TERM_YELLOW;} + if (flagsr & RFR_RES_ALL) {vp[vn] = "¤¢¤é¤æ¤ë¹¶·â";color[vn++] = TERM_YELLOW;} #else - if (flags3 & RF3_RES_ALL) {vp[vn] = "all";color[vn++] = TERM_YELLOW;} + if (flagsr & RFR_RES_ALL) {vp[vn] = "all";color[vn++] = TERM_YELLOW;} #endif #ifdef JP -if ((flags3 & RF3_RES_TELE) && !(r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "¥Æ¥ì¥Ý¡¼¥È";color[vn++] = TERM_ORANGE;} + if ((flagsr & RFR_RES_TELE) && !(r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "¥Æ¥ì¥Ý¡¼¥È";color[vn++] = TERM_ORANGE;} #else - if ((flags3 & RF3_RES_TELE) && !(r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "teleportation";color[vn++] = TERM_ORANGE;} + if ((flagsr & RFR_RES_TELE) && !(r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "teleportation";color[vn++] = TERM_ORANGE;} #endif - /* Describe resistances */ + /* Describe immunities and resistances */ if (vn) { /* Intro */ @@ -2253,33 +2211,33 @@ if ((flags3 & RF3_RES_TELE) && !(r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = " /* Collect non-effects */ vn = 0; #ifdef JP -if (flags3 & RF3_NO_STUN) {vp[vn] = "Û¯Û°¤È¤·¤Ê¤¤";color[vn++] = TERM_ORANGE;} + if (flags3 & RF3_NO_STUN) {vp[vn] = "Û¯Û°¤È¤·¤Ê¤¤";color[vn++] = TERM_ORANGE;} #else - if (flags3 & RF3_NO_STUN) {vp[vn] = "stunned";color[vn++] = TERM_ORANGE;} + if (flags3 & RF3_NO_STUN) {vp[vn] = "stunned";color[vn++] = TERM_ORANGE;} #endif #ifdef JP -if (flags3 & RF3_NO_FEAR) {vp[vn] = "¶²Éݤò´¶¤¸¤Ê¤¤";color[vn++] = TERM_SLATE;} + if (flags3 & RF3_NO_FEAR) {vp[vn] = "¶²Éݤò´¶¤¸¤Ê¤¤";color[vn++] = TERM_SLATE;} #else - if (flags3 & RF3_NO_FEAR) {vp[vn] = "frightened";color[vn++] = TERM_SLATE;} + if (flags3 & RF3_NO_FEAR) {vp[vn] = "frightened";color[vn++] = TERM_SLATE;} #endif #ifdef JP -if (flags3 & RF3_NO_CONF) {vp[vn] = "º®Í𤷤ʤ¤";color[vn++] = TERM_L_UMBER;} + if (flags3 & RF3_NO_CONF) {vp[vn] = "º®Í𤷤ʤ¤";color[vn++] = TERM_L_UMBER;} #else - if (flags3 & RF3_NO_CONF) {vp[vn] = "confused";color[vn++] = TERM_L_UMBER;} + if (flags3 & RF3_NO_CONF) {vp[vn] = "confused";color[vn++] = TERM_L_UMBER;} #endif #ifdef JP -if (flags3 & RF3_NO_SLEEP) {vp[vn] = "̲¤é¤µ¤ì¤Ê¤¤";color[vn++] = TERM_BLUE;} + if (flags3 & RF3_NO_SLEEP) {vp[vn] = "̲¤é¤µ¤ì¤Ê¤¤";color[vn++] = TERM_BLUE;} #else - if (flags3 & RF3_NO_SLEEP) {vp[vn] = "slept";color[vn++] = TERM_BLUE;} + if (flags3 & RF3_NO_SLEEP) {vp[vn] = "slept";color[vn++] = TERM_BLUE;} #endif #ifdef JP -if ((flags3 & RF3_RES_TELE) && (r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "¥Æ¥ì¥Ý¡¼¥È¤µ¤ì¤Ê¤¤";color[vn++] = TERM_ORANGE;} + if ((flagsr & RFR_RES_TELE) && (r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "¥Æ¥ì¥Ý¡¼¥È¤µ¤ì¤Ê¤¤";color[vn++] = TERM_ORANGE;} #else - if ((flags3 & RF3_RES_TELE) && (r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "teleported";color[vn++] = TERM_ORANGE;} + if ((flagsr & RFR_RES_TELE) && (r_ptr->flags1 & RF1_UNIQUE)) {vp[vn] = "teleported";color[vn++] = TERM_ORANGE;} #endif /* Describe non-effects */ @@ -3386,7 +3344,7 @@ bool monster_lava(int r_idx) if (!monster_dungeon(r_idx)) return FALSE; - if (((r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK) || + if (((r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK) || (r_ptr->flags7 & RF7_CAN_FLY)) && !(r_ptr->flags3 & RF3_AURA_COLD)) return TRUE; @@ -3546,7 +3504,7 @@ bool monster_can_cross_terrain(byte feat, monster_race *r_ptr) else if ((feat == FEAT_SHAL_LAVA) || (feat == FEAT_DEEP_LAVA)) { - if ((r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK) || + if ((r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK) || (r_ptr->flags7 & RF7_CAN_FLY)) return TRUE; else @@ -3638,7 +3596,7 @@ bool monster_can_enter(int y, int x, monster_race *r_ptr) else if ((feat == FEAT_SHAL_LAVA) || (feat == FEAT_DEEP_LAVA)) { - if ((r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK) || + if ((r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK) || (r_ptr->flags7 & RF7_CAN_FLY)) return TRUE; else diff --git a/src/monster2.c b/src/monster2.c index 7e3d59a41..962225918 100644 --- a/src/monster2.c +++ b/src/monster2.c @@ -966,207 +966,154 @@ static bool restrict_monster_to_dungeon(int r_idx) return FALSE; } - if (d_ptr->special_div == 64) return TRUE; + if (d_ptr->special_div >= 64) return TRUE; if (summon_specific_type && !(d_ptr->flags1 & DF1_CHAMELEON)) return TRUE; - if(d_ptr->mode == DUNGEON_MODE_AND) + switch (d_ptr->mode) { + case DUNGEON_MODE_AND: if (d_ptr->mflags1) { - if((d_ptr->mflags1 & r_ptr->flags1) != d_ptr->mflags1) + if ((d_ptr->mflags1 & r_ptr->flags1) != d_ptr->mflags1) return FALSE; } if (d_ptr->mflags2) { - if((d_ptr->mflags2 & r_ptr->flags2) != d_ptr->mflags2) + if ((d_ptr->mflags2 & r_ptr->flags2) != d_ptr->mflags2) return FALSE; } if (d_ptr->mflags3) { - if((d_ptr->mflags3 & r_ptr->flags3) != d_ptr->mflags3) + if ((d_ptr->mflags3 & r_ptr->flags3) != d_ptr->mflags3) return FALSE; } if (d_ptr->mflags4) { - if((d_ptr->mflags4 & r_ptr->flags4) != d_ptr->mflags4) + if ((d_ptr->mflags4 & r_ptr->flags4) != d_ptr->mflags4) return FALSE; } if (d_ptr->mflags5) { - if((d_ptr->mflags5 & r_ptr->flags5) != d_ptr->mflags5) + if ((d_ptr->mflags5 & r_ptr->flags5) != d_ptr->mflags5) return FALSE; } if (d_ptr->mflags6) { - if((d_ptr->mflags6 & r_ptr->flags6) != d_ptr->mflags6) + if ((d_ptr->mflags6 & r_ptr->flags6) != d_ptr->mflags6) return FALSE; } if (d_ptr->mflags7) { - if((d_ptr->mflags7 & r_ptr->flags7) != d_ptr->mflags7) + if ((d_ptr->mflags7 & r_ptr->flags7) != d_ptr->mflags7) return FALSE; } if (d_ptr->mflags8) { - if((d_ptr->mflags8 & r_ptr->flags8) != d_ptr->mflags8) + if ((d_ptr->mflags8 & r_ptr->flags8) != d_ptr->mflags8) return FALSE; } if (d_ptr->mflags9) { - if((d_ptr->mflags9 & r_ptr->flags9) != d_ptr->mflags9) + if ((d_ptr->mflags9 & r_ptr->flags9) != d_ptr->mflags9) return FALSE; } - for(a = 0; a < 5; a++) - if(d_ptr->r_char[a] && (d_ptr->r_char[a] != r_ptr->d_char)) return FALSE; - } - else if(d_ptr->mode == DUNGEON_MODE_NAND) - { - byte ok[9 + 5], i = 0, j = 0; + if (d_ptr->mflagsr) + { + if ((d_ptr->mflagsr & r_ptr->flagsr) != d_ptr->mflagsr) + return FALSE; + } + for (a = 0; a < 5; a++) + if (d_ptr->r_char[a] && (d_ptr->r_char[a] != r_ptr->d_char)) return FALSE; + + return TRUE; + case DUNGEON_MODE_NAND: if (d_ptr->mflags1) { - i++; - if(d_ptr->mflags1 & r_ptr->flags1) - ok[0] = 1; + if ((d_ptr->mflags1 & r_ptr->flags1) != d_ptr->mflags1) + return TRUE; } if (d_ptr->mflags2) { - i++; - if(d_ptr->mflags2 & r_ptr->flags2) - ok[1] = 1; + if ((d_ptr->mflags2 & r_ptr->flags2) != d_ptr->mflags2) + return TRUE; } if (d_ptr->mflags3) { - i++; - if(d_ptr->mflags3 & r_ptr->flags3) - ok[2] = 1; + if ((d_ptr->mflags3 & r_ptr->flags3) != d_ptr->mflags3) + return TRUE; } if (d_ptr->mflags4) { - i++; - if(d_ptr->mflags4 & r_ptr->flags4) - ok[3] = 1; + if ((d_ptr->mflags4 & r_ptr->flags4) != d_ptr->mflags4) + return TRUE; } if (d_ptr->mflags5) { - i++; - if(d_ptr->mflags5 & r_ptr->flags5) - ok[4] = 1; + if ((d_ptr->mflags5 & r_ptr->flags5) != d_ptr->mflags5) + return TRUE; } if (d_ptr->mflags6) { - i++; - if(d_ptr->mflags6 & r_ptr->flags6) - ok[5] = 1; + if ((d_ptr->mflags6 & r_ptr->flags6) != d_ptr->mflags6) + return TRUE; } if (d_ptr->mflags7) { - i++; - if(d_ptr->mflags7 & r_ptr->flags7) - ok[6] = 1; + if ((d_ptr->mflags7 & r_ptr->flags7) != d_ptr->mflags7) + return TRUE; } if (d_ptr->mflags8) { - i++; - if(d_ptr->mflags8 & r_ptr->flags8) - ok[7] = 1; + if ((d_ptr->mflags8 & r_ptr->flags8) != d_ptr->mflags8) + return TRUE; } if (d_ptr->mflags9) { - i++; - if(d_ptr->mflags9 & r_ptr->flags9) - ok[8] = 1; + if ((d_ptr->mflags9 & r_ptr->flags9) != d_ptr->mflags9) + return TRUE; } - - for(a = 0; a < 5; a++) + if (d_ptr->mflagsr) { - if(d_ptr->r_char[a]) - { - i++; - if (d_ptr->r_char[a] != r_ptr->d_char) ok[9 + a] = 1; - } + if ((d_ptr->mflagsr & r_ptr->flagsr) != d_ptr->mflagsr) + return TRUE; } + for (a = 0; a < 5; a++) + if (d_ptr->r_char[a] && (d_ptr->r_char[a] != r_ptr->d_char)) return TRUE; - j = ok[0] + ok[1] + ok[2] + ok[3] + ok[4] + ok[5] + ok[6] + ok[7] + ok[8] + ok[9] + ok[10] + ok[11] + ok[12] + ok[13]; - - if(i == j) return FALSE; - } - else if(d_ptr->mode == DUNGEON_MODE_OR) - { - byte ok = FALSE, i; - s32b flag; - - for(i = 0; i < 32; i++) - { - flag = d_ptr->mflags1 & (1 << i); - if(r_ptr->flags1 & flag) ok = TRUE; - - flag = d_ptr->mflags2 & (1 << i); - if(r_ptr->flags2 & flag) ok = TRUE; - - flag = d_ptr->mflags3 & (1 << i); - if(r_ptr->flags3 & flag) ok = TRUE; - - flag = d_ptr->mflags4 & (1 << i); - if(r_ptr->flags4 & flag) ok = TRUE; - - flag = d_ptr->mflags5 & (1 << i); - if(r_ptr->flags5 & flag) ok = TRUE; - - flag = d_ptr->mflags6 & (1 << i); - if(r_ptr->flags6 & flag) ok = TRUE; - - flag = d_ptr->mflags7 & (1 << i); - if(r_ptr->flags7 & flag) ok = TRUE; - - flag = d_ptr->mflags8 & (1 << i); - if(r_ptr->flags8 & flag) ok = TRUE; - - flag = d_ptr->mflags9 & (1 << i); - if(r_ptr->flags9 & flag) ok = TRUE; - } - for(a = 0; a < 5; a++) - if(d_ptr->r_char[a] == r_ptr->d_char) ok = TRUE; - - return ok; - } - else if(d_ptr->mode == DUNGEON_MODE_NOR) - { - byte ok = TRUE, i; - s32b flag; - - for(i = 0; i < 32; i++) - { - flag = d_ptr->mflags1 & (1 << i); - if(r_ptr->flags1 & flag) ok = FALSE; - - flag = d_ptr->mflags2 & (1 << i); - if(r_ptr->flags2 & flag) ok = FALSE; - - flag = d_ptr->mflags3 & (1 << i); - if(r_ptr->flags3 & flag) ok = FALSE; - - flag = d_ptr->mflags4 & (1 << i); - if(r_ptr->flags4 & flag) ok = FALSE; - - flag = d_ptr->mflags5 & (1 << i); - if(r_ptr->flags5 & flag) ok = FALSE; + return FALSE; - flag = d_ptr->mflags6 & (1 << i); - if(r_ptr->flags6 & flag) ok = FALSE; + case DUNGEON_MODE_OR: + if (r_ptr->flags1 & d_ptr->mflags1) return TRUE; + if (r_ptr->flags2 & d_ptr->mflags2) return TRUE; + if (r_ptr->flags3 & d_ptr->mflags3) return TRUE; + if (r_ptr->flags4 & d_ptr->mflags4) return TRUE; + if (r_ptr->flags5 & d_ptr->mflags5) return TRUE; + if (r_ptr->flags6 & d_ptr->mflags6) return TRUE; + if (r_ptr->flags7 & d_ptr->mflags7) return TRUE; + if (r_ptr->flags8 & d_ptr->mflags8) return TRUE; + if (r_ptr->flags9 & d_ptr->mflags9) return TRUE; + if (r_ptr->flagsr & d_ptr->mflagsr) return TRUE; + for (a = 0; a < 5; a++) + if (d_ptr->r_char[a] == r_ptr->d_char) return TRUE; - flag = d_ptr->mflags7 & (1 << i); - if(r_ptr->flags7 & flag) ok = FALSE; + return FALSE; - flag = d_ptr->mflags8 & (1 << i); - if(r_ptr->flags8 & flag) ok = FALSE; + case DUNGEON_MODE_NOR: + if (r_ptr->flags1 & d_ptr->mflags1) return FALSE; + if (r_ptr->flags2 & d_ptr->mflags2) return FALSE; + if (r_ptr->flags3 & d_ptr->mflags3) return FALSE; + if (r_ptr->flags4 & d_ptr->mflags4) return FALSE; + if (r_ptr->flags5 & d_ptr->mflags5) return FALSE; + if (r_ptr->flags6 & d_ptr->mflags6) return FALSE; + if (r_ptr->flags7 & d_ptr->mflags7) return FALSE; + if (r_ptr->flags8 & d_ptr->mflags8) return FALSE; + if (r_ptr->flags9 & d_ptr->mflags9) return FALSE; + if (r_ptr->flagsr & d_ptr->mflagsr) return FALSE; + for (a = 0; a < 5; a++) + if (d_ptr->r_char[a] == r_ptr->d_char) return FALSE; - flag = d_ptr->mflags9 & (1 << i); - if(r_ptr->flags9 & flag) ok = FALSE; - } - for(a = 0; a < 5; a++) - if(d_ptr->r_char[a] == r_ptr->d_char) ok = FALSE; - return ok; + return TRUE; } return TRUE; @@ -1211,7 +1158,7 @@ errr get_mon_num_prep(monster_hook_type monster_hook, if (r_ptr->flags7 & RF7_GUARDIAN) continue; - + /* Depth Monsters never appear out of depth */ if ((r_ptr->flags1 & (RF1_FORCE_DEPTH)) && (r_ptr->level > dun_level)) @@ -1881,7 +1828,7 @@ int lore_do_probe(int r_idx) if (r_ptr->r_wake != MAX_UCHAR) n++; if (r_ptr->r_ignore != MAX_UCHAR) n++; r_ptr->r_wake = r_ptr->r_ignore = MAX_UCHAR; - + /* Observe "maximal" attacks */ for (i = 0; i < 4; i++) { @@ -1893,9 +1840,9 @@ int lore_do_probe(int r_idx) r_ptr->r_blows[i] = MAX_UCHAR; } } - + /* Maximal drops */ - tmp_byte = + tmp_byte = (((r_ptr->flags1 & RF1_DROP_4D2) ? 8 : 0) + ((r_ptr->flags1 & RF1_DROP_3D2) ? 6 : 0) + ((r_ptr->flags1 & RF1_DROP_2D2) ? 4 : 0) + @@ -1914,11 +1861,11 @@ int lore_do_probe(int r_idx) if (r_ptr->r_drop_gold != tmp_byte) n++; r_ptr->r_drop_gold = tmp_byte; } - + /* Observe many spells */ if (r_ptr->r_cast_spell != MAX_UCHAR) n++; r_ptr->r_cast_spell = MAX_UCHAR; - + /* Count unknown flags */ for (i = 0; i < 32; i++) { @@ -1934,6 +1881,8 @@ int lore_do_probe(int r_idx) (r_ptr->flags5 & (1L << i))) n++; if (!(r_ptr->r_flags6 & (1L << i)) && (r_ptr->flags6 & (1L << i))) n++; + if (!(r_ptr->r_flagsr & (1L << i)) && + (r_ptr->flagsr & (1L << i))) n++; /* r_flags7 is actually unused */ #if 0 @@ -1949,6 +1898,7 @@ int lore_do_probe(int r_idx) r_ptr->r_flags4 = r_ptr->flags4; r_ptr->r_flags5 = r_ptr->flags5; r_ptr->r_flags6 = r_ptr->flags6; + r_ptr->r_flagsr = r_ptr->flagsr; /* r_flags7 is actually unused */ /* r_ptr->r_flags7 = r_ptr->flags7; */ @@ -3050,7 +3000,7 @@ bool place_monster_one(int who, int y, int x, int r_idx, u32b mode) /* Cannot create */ return (FALSE); } - + if ((r_ptr->flags7 & (RF7_UNIQUE2)) && (r_ptr->cur_num >= 1)) { @@ -3062,7 +3012,7 @@ bool place_monster_one(int who, int y, int x, int r_idx, u32b mode) if (r_info[MON_BANOR].cur_num > 0) return FALSE; if (r_info[MON_LUPART].cur_num > 0) return FALSE; } - + /* Depth monsters may NOT be created out of depth, unless in Nightmare mode */ if ((r_ptr->flags1 & (RF1_FORCE_DEPTH)) && (dun_level < r_ptr->level) && (!ironman_nightmare || (r_ptr->flags1 & (RF1_QUESTOR)))) @@ -3072,10 +3022,10 @@ bool place_monster_one(int who, int y, int x, int r_idx, u32b mode) } } - if(quest_number(dun_level)) + if (quest_number(dun_level)) { int hoge = quest_number(dun_level); - if((quest[hoge].type == QUEST_TYPE_KILL_LEVEL) || (quest[hoge].type == QUEST_TYPE_RANDOM)) + if ((quest[hoge].type == QUEST_TYPE_KILL_LEVEL) || (quest[hoge].type == QUEST_TYPE_RANDOM)) { if(r_idx == quest[hoge].r_idx) { diff --git a/src/mspells1.c b/src/mspells1.c index 03ef020a9..43d5989f2 100644 --- a/src/mspells1.c +++ b/src/mspells1.c @@ -895,11 +895,11 @@ static bool dispel_check(int m_idx) if (p_ptr->tsuyoshi) return (TRUE); /* Elemental Brands */ - if ((p_ptr->special_attack & ATTACK_ACID) && !(r_ptr->flags3 & RF3_EFF_IM_ACID_MASK)) return (TRUE); - if ((p_ptr->special_attack & ATTACK_FIRE) && !(r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK)) return (TRUE); - if ((p_ptr->special_attack & ATTACK_ELEC) && !(r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK)) return (TRUE); - if ((p_ptr->special_attack & ATTACK_COLD) && !(r_ptr->flags3 & RF3_EFF_IM_COLD_MASK)) return (TRUE); - if ((p_ptr->special_attack & ATTACK_POIS) && !(r_ptr->flags3 & RF3_EFF_IM_POIS_MASK)) return (TRUE); + if ((p_ptr->special_attack & ATTACK_ACID) && !(r_ptr->flagsr & RFR_EFF_IM_ACID_MASK)) return (TRUE); + if ((p_ptr->special_attack & ATTACK_FIRE) && !(r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK)) return (TRUE); + if ((p_ptr->special_attack & ATTACK_ELEC) && !(r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK)) return (TRUE); + if ((p_ptr->special_attack & ATTACK_COLD) && !(r_ptr->flagsr & RFR_EFF_IM_COLD_MASK)) return (TRUE); + if ((p_ptr->special_attack & ATTACK_POIS) && !(r_ptr->flagsr & RFR_EFF_IM_POIS_MASK)) return (TRUE); /* Speed */ if (p_ptr->pspeed < 145) diff --git a/src/mspells2.c b/src/mspells2.c index 9282bf0d1..f641b5180 100644 --- a/src/mspells2.c +++ b/src/mspells2.c @@ -2105,21 +2105,15 @@ bool monst_spell_monst(int m_idx) /* Attempt a saving throw */ if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flags3 & RF3_NO_CONF) || - (tr_ptr->flags3 & RF3_RES_ALL) || + (tr_ptr->flagsr & RFR_RES_ALL) || (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10)) { /* No obvious effect */ if (see_both) { /* Memorize a flag */ - if (tr_ptr->flags3 & (RF3_RES_ALL)) - { - tr_ptr->r_flags3 |= (RF3_RES_ALL); - } - else if (tr_ptr->flags3 & (RF3_NO_CONF)) - { - tr_ptr->r_flags3 |= (RF3_NO_CONF); - } + if (tr_ptr->flagsr & RFR_RES_ALL) tr_ptr->r_flagsr |= (RFR_RES_ALL); + if (tr_ptr->flags3 & RF3_NO_CONF) tr_ptr->r_flags3 |= (RF3_NO_CONF); #ifdef JP msg_format("%^s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£", t_name); @@ -2170,21 +2164,15 @@ bool monst_spell_monst(int m_idx) /* Attempt a saving throw */ if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flags3 & RF3_NO_CONF) || - (tr_ptr->flags3 & RF3_RES_ALL) || + (tr_ptr->flagsr & RFR_RES_ALL) || (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10)) { /* No obvious effect */ if (see_both) { /* Memorize a flag */ - if (tr_ptr->flags3 & (RF3_RES_ALL)) - { - tr_ptr->r_flags3 |= (RF3_RES_ALL); - } - else if (tr_ptr->flags3 & (RF3_NO_CONF)) - { - tr_ptr->r_flags3 |= (RF3_NO_CONF); - } + if (tr_ptr->flagsr & RFR_RES_ALL) tr_ptr->r_flagsr |= (RFR_RES_ALL); + if (tr_ptr->flags3 & RF3_NO_CONF) tr_ptr->r_flags3 |= (RF3_NO_CONF); #ifdef JP msg_format("%^s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£", t_name); @@ -2242,12 +2230,12 @@ bool monst_spell_monst(int m_idx) dam = damroll(3, 8); if ((randint0(100 + rlev/2) < (tr_ptr->level + 35)) || - (tr_ptr->flags3 & RF3_RES_ALL)) + (tr_ptr->flagsr & RFR_RES_ALL)) { /* Memorize a flag */ - if (tr_ptr->flags3 & (RF3_RES_ALL)) + if (tr_ptr->flagsr & RFR_RES_ALL) { - tr_ptr->r_flags3 |= (RF3_RES_ALL); + tr_ptr->r_flagsr |= (RFR_RES_ALL); } #ifdef JP if (see_both) msg_format("%^s¤ÏÂÑÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¡ª", t_name); @@ -2286,12 +2274,12 @@ bool monst_spell_monst(int m_idx) dam = damroll(8, 8); if ((randint0(100 + rlev/2) < (tr_ptr->level + 35)) || - (tr_ptr->flags3 & RF3_RES_ALL)) + (tr_ptr->flagsr & RFR_RES_ALL)) { /* Memorize a flag */ - if (tr_ptr->flags3 & (RF3_RES_ALL)) + if (tr_ptr->flagsr & RFR_RES_ALL) { - tr_ptr->r_flags3 |= (RF3_RES_ALL); + tr_ptr->r_flagsr |= (RFR_RES_ALL); } #ifdef JP if (see_both) msg_format("%^s¤ÏÂÑÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¡ª", t_name); @@ -2330,12 +2318,12 @@ bool monst_spell_monst(int m_idx) dam = damroll(10, 15); if ((randint0(100 + rlev/2) < (tr_ptr->level + 35)) || - (tr_ptr->flags3 & RF3_RES_ALL)) + (tr_ptr->flagsr & RFR_RES_ALL)) { /* Memorize a flag */ - if (tr_ptr->flags3 & (RF3_RES_ALL)) + if (tr_ptr->flagsr & RFR_RES_ALL) { - tr_ptr->r_flags3 |= (RF3_RES_ALL); + tr_ptr->r_flagsr |= (RFR_RES_ALL); } #ifdef JP if (see_both) msg_format("%^s¤ÏÂÑÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¡ª", t_name); @@ -2374,12 +2362,12 @@ bool monst_spell_monst(int m_idx) dam = damroll(15, 15); if (((randint0(100 + rlev/2) < (tr_ptr->level + 35)) && (m_ptr->r_idx != MON_KENSHIROU)) || - (tr_ptr->flags3 & RF3_RES_ALL)) + (tr_ptr->flagsr & RFR_RES_ALL)) { /* Memorize a flag */ - if (tr_ptr->flags3 & (RF3_RES_ALL)) + if (tr_ptr->flagsr & RFR_RES_ALL) { - tr_ptr->r_flags3 |= (RF3_RES_ALL); + tr_ptr->r_flagsr |= (RFR_RES_ALL); } #ifdef JP if (see_both) msg_format("%^s¤ÏÂÑÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¡ª", t_name); @@ -3004,12 +2992,12 @@ bool monst_spell_monst(int m_idx) } } - if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flags3 & RF3_RES_ALL)) + if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flagsr & RFR_RES_ALL)) { /* Memorize a flag */ - if (tr_ptr->flags3 & (RF3_RES_ALL)) + if (tr_ptr->flagsr & RFR_RES_ALL) { - tr_ptr->r_flags3 |= (RF3_RES_ALL); + tr_ptr->r_flagsr |= (RFR_RES_ALL); } #ifdef JP if (see_both) msg_format("¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª", t_name); @@ -3299,13 +3287,13 @@ bool monst_spell_monst(int m_idx) { bool resists_tele = FALSE; - if (tr_ptr->flags3 & RF3_RES_TELE) + if (tr_ptr->flagsr & RFR_RES_TELE) { - if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flags3 & (RF3_RES_ALL))) + if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flagsr & RFR_RES_ALL)) { if (see_t) { - tr_ptr->r_flags3 |= RF3_RES_TELE; + tr_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP msg_format("%^s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£", t_name); #else @@ -3320,7 +3308,7 @@ bool monst_spell_monst(int m_idx) { if (see_t) { - tr_ptr->r_flags3 |= RF3_RES_TELE; + tr_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP msg_format("%^s¤ÏÂÑÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¡ª", t_name); #else diff --git a/src/mspells3.c b/src/mspells3.c index da52d90b6..0670cf02e 100644 --- a/src/mspells3.c +++ b/src/mspells3.c @@ -1400,11 +1400,11 @@ msg_print("̵ m_ptr = &m_list[cave[target_row][target_col].m_idx]; r_ptr = &r_info[m_ptr->r_idx]; monster_desc(m_name, m_ptr, 0); - if (r_ptr->flags3 & (RF3_RES_TELE)) + if (r_ptr->flagsr & RFR_RES_TELE) { - if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flags3 & (RF3_RES_ALL))) + if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL)) { - r_ptr->r_flags3 |= RF3_RES_TELE; + r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP msg_format("%s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª", m_name); #else @@ -1415,7 +1415,7 @@ msg_format("%s } else if (r_ptr->level > randint1(100)) { - r_ptr->r_flags3 |= RF3_RES_TELE; + r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP msg_format("%s¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª", m_name); #else @@ -1457,7 +1457,7 @@ msg_format("%s msg_format("You gesture at %s's feet.", m_name); #endif - if ((r_ptr->flags3 & (RF3_EFF_RES_NEXU_MASK | RF3_RES_TELE)) || + if ((r_ptr->flagsr & (RFR_EFF_RES_NEXU_MASK | RFR_RES_TELE)) || (r_ptr->flags1 & RF1_QUESTOR) || (r_ptr->level + randint1(50) > plev + randint1(60))) { #ifdef JP diff --git a/src/object2.c b/src/object2.c index 6c8284136..9e8e7f6ef 100644 --- a/src/object2.c +++ b/src/object2.c @@ -3829,7 +3829,7 @@ static bool item_monster_okay(int r_idx) /* No uniques */ if (r_ptr->flags1 & RF1_UNIQUE) return (FALSE); if (r_ptr->flags7 & RF7_KAGE) return (FALSE); - if (r_ptr->flags3 & RF3_RES_ALL) return (FALSE); + if (r_ptr->flagsr & RFR_RES_ALL) return (FALSE); if (r_ptr->flags7 & RF7_UNIQUE_7) return (FALSE); if (r_ptr->flags1 & RF1_FORCE_DEPTH) return (FALSE); if (r_ptr->flags7 & RF7_UNIQUE2) return (FALSE); diff --git a/src/rooms.c b/src/rooms.c index 6a1afc9ff..08ff9d59b 100644 --- a/src/rooms.c +++ b/src/rooms.c @@ -1158,7 +1158,7 @@ static void build_type4(int by0, int bx0) (monster_dungeon(I) && \ !(r_info[I].flags1 & RF1_UNIQUE) && \ !(r_info[I].flags7 & RF7_UNIQUE2) && \ - !(r_info[I].flags3 & RF3_RES_ALL) && \ + !(r_info[I].flagsr & RFR_RES_ALL) && \ !(r_info[I].flags7 & RF7_AQUATIC)) diff --git a/src/save.c b/src/save.c index 25ef96bf0..fb12f4956 100644 --- a/src/save.c +++ b/src/save.c @@ -280,6 +280,7 @@ static void wr_lore(int r_idx) wr_u32b(r_ptr->r_flags4); wr_u32b(r_ptr->r_flags5); wr_u32b(r_ptr->r_flags6); + wr_u32b(r_ptr->r_flagsr); /* Monster limit per level */ diff --git a/src/spells1.c b/src/spells1.c index c711130eb..3faa25c76 100644 --- a/src/spells1.c +++ b/src/spells1.c @@ -1756,7 +1756,7 @@ static bool project_m(int who, int r, int y, int x, int dam, int typ , int flg) bool get_angry = FALSE; /* Polymorph setting (true or false) */ - int do_poly = 0; + bool do_poly = FALSE; /* Teleport setting (max distance) */ int do_dist = 0; @@ -1862,7 +1862,8 @@ note_dies = " case GF_MISSILE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1870,7 +1871,7 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } break; @@ -1880,7 +1881,8 @@ note_dies = " case GF_ACID: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1888,10 +1890,10 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & (RF3_IM_ACID)) + if (r_ptr->flagsr & RFR_IM_ACID) { #ifdef JP note = "¤Ë¤Ï¤«¤Ê¤êÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1900,7 +1902,7 @@ note = " #endif dam /= 9; - if (seen) r_ptr->r_flags3 |= (RF3_IM_ACID); + if (seen) r_ptr->r_flagsr |= (RFR_IM_ACID); } break; } @@ -1909,7 +1911,8 @@ note = " case GF_ELEC: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1917,10 +1920,10 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & (RF3_IM_ELEC)) + if (r_ptr->flagsr & RFR_IM_ELEC) { #ifdef JP note = "¤Ë¤Ï¤«¤Ê¤êÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1929,7 +1932,7 @@ note = " #endif dam /= 9; - if (seen) r_ptr->r_flags3 |= (RF3_IM_ELEC); + if (seen) r_ptr->r_flagsr |= (RFR_IM_ELEC); } break; } @@ -1938,7 +1941,8 @@ note = " case GF_FIRE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1946,10 +1950,10 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & (RF3_IM_FIRE)) + if (r_ptr->flagsr & RFR_IM_FIRE) { #ifdef JP note = "¤Ë¤Ï¤«¤Ê¤êÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1958,7 +1962,7 @@ note = " #endif dam /= 9; - if (seen) r_ptr->r_flags3 |= (RF3_IM_FIRE); + if (seen) r_ptr->r_flagsr |= (RFR_IM_FIRE); } else if (r_ptr->flags3 & (RF3_HURT_FIRE)) { @@ -1978,7 +1982,8 @@ note = " case GF_COLD: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1986,10 +1991,10 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & (RF3_IM_COLD)) + if (r_ptr->flagsr & RFR_IM_COLD) { #ifdef JP note = "¤Ë¤Ï¤«¤Ê¤êÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -1998,7 +2003,7 @@ note = " #endif dam /= 9; - if (seen) r_ptr->r_flags3 |= (RF3_IM_COLD); + if (seen) r_ptr->r_flagsr |= (RFR_IM_COLD); } else if (r_ptr->flags3 & (RF3_HURT_COLD)) { @@ -2018,7 +2023,8 @@ note = " case GF_POIS: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2026,10 +2032,10 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & RF3_IM_POIS) + if (r_ptr->flagsr & RFR_IM_POIS) { #ifdef JP note = "¤Ë¤Ï¤«¤Ê¤êÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2038,7 +2044,7 @@ note = " #endif dam /= 9; - if (seen) r_ptr->r_flags3 |= (RF3_IM_POIS); + if (seen) r_ptr->r_flagsr |= (RFR_IM_POIS); } break; } @@ -2048,7 +2054,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2056,10 +2062,10 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & RF3_IM_POIS) + if (r_ptr->flagsr & RFR_IM_POIS) { #ifdef JP note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; @@ -2068,7 +2074,7 @@ note = " #endif dam *= 3; dam /= randint1(6) + 6; - if (seen) r_ptr->r_flags3 |= (RF3_IM_POIS); + if (seen) r_ptr->r_flagsr |= (RFR_IM_POIS); } else if (one_in_(3)) do_poly = TRUE; break; @@ -2078,7 +2084,8 @@ note = " case GF_HELL_FIRE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2086,7 +2093,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (r_ptr->flags3 & RF3_GOOD) @@ -2107,7 +2114,8 @@ note = " case GF_HOLY_FIRE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2115,7 +2123,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (r_ptr->flags3 & RF3_GOOD) @@ -2157,7 +2165,8 @@ note = " case GF_ARROW: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2165,7 +2174,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } break; @@ -2175,7 +2184,8 @@ note = " case GF_PLASMA: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2183,10 +2193,10 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & RF3_RES_PLAS) + if (r_ptr->flagsr & RFR_RES_PLAS) { #ifdef JP note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; @@ -2195,8 +2205,7 @@ note = " #endif dam *= 3; dam /= randint1(6) + 6; - if (seen) - r_ptr->r_flags3 |= (RF3_RES_PLAS); + if (seen) r_ptr->r_flagsr |= (RFR_RES_PLAS); } break; } @@ -2205,7 +2214,8 @@ note = " case GF_NETHER: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2213,37 +2223,39 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & RF3_UNDEAD) + if (r_ptr->flagsr & RFR_RES_NETH) { + if (r_ptr->flags3 & RF3_UNDEAD) + { #ifdef JP -note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡£"; #else - note = " is immune."; + note = " is immune."; #endif - dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_UNDEAD); - } - else if (r_ptr->flags3 & RF3_RES_NETH) - { + dam = 0; + if (seen) r_ptr->r_flags3 |= (RF3_UNDEAD); + } + else + { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else - note = " resists."; + note = " resists."; #endif - dam *= 3; dam /= randint1(6) + 6; - - if (seen) r_ptr->r_flags3 |= (RF3_RES_NETH); + dam *= 3; dam /= randint1(6) + 6; + } + if (seen) r_ptr->r_flagsr |= (RFR_RES_NETH); } else if (r_ptr->flags3 & RF3_EVIL) { dam /= 2; #ifdef JP -note = "¤Ï¤¤¤¯¤é¤«ÂÑÀ­¤ò¼¨¤·¤¿¡£"; + note = "¤Ï¤¤¤¯¤é¤«ÂÑÀ­¤ò¼¨¤·¤¿¡£"; #else note = " resists somewhat."; #endif @@ -2257,7 +2269,8 @@ note = " case GF_WATER: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2265,29 +2278,32 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (m_ptr->r_idx == MON_WATER_ELEM || m_ptr->r_idx == MON_UNMAKER) + if (r_ptr->flagsr & RFR_RES_WATE) { + if ((m_ptr->r_idx == MON_WATER_ELEM) || (m_ptr->r_idx == MON_UNMAKER)) + { #ifdef JP -note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡£"; #else - note = " is immune."; + note = " is immune."; #endif - dam = 0; - } - else if (r_ptr->flags3 & RF3_RES_WATE) - { + dam = 0; + } + else + { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else - note = " resists."; + note = " resists."; #endif - dam *= 3; dam /= randint1(6) + 6; - if (seen) r_ptr->r_flags3 |= (RF3_RES_WATE); + dam *= 3; dam /= randint1(6) + 6; + } + if (seen) r_ptr->r_flagsr |= (RFR_RES_WATE); } break; } @@ -2296,7 +2312,8 @@ note = " case GF_CHAOS: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2304,23 +2321,35 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - do_poly = TRUE; - do_conf = (5 + randint1(11) + r) / (r + 1); - if ((r_ptr->flags4 & RF4_BR_CHAO) || - (m_ptr->r_idx == MON_STORMBRINGER) || - ((r_ptr->flags3 & RF3_DEMON) && one_in_(3))) + if (r_ptr->flagsr & RFR_RES_CHAO) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; - do_poly = FALSE; + if (seen) r_ptr->r_flagsr |= (RFR_RES_CHAO); + } + else if ((r_ptr->flags3 & RF3_DEMON) && one_in_(3)) + { +#ifdef JP + note = "¤Ï¤¤¤¯¤é¤«ÂÑÀ­¤ò¼¨¤·¤¿¡£"; +#else + note = " resists somewhat."; +#endif + + dam *= 3; dam /= randint1(6) + 6; + if (seen) r_ptr->r_flags3 |= (RF3_DEMON); + } + else + { + do_poly = TRUE; + do_conf = (5 + randint1(11) + r) / (r + 1); } break; } @@ -2329,7 +2358,8 @@ note = " case GF_SHARDS: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2337,18 +2367,19 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags4 & RF4_BR_SHAR) + if (r_ptr->flagsr & RFR_RES_SHAR) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; + if (seen) r_ptr->r_flagsr |= (RFR_RES_SHAR); } break; } @@ -2358,7 +2389,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2366,18 +2397,19 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags4 & RF4_BR_SHAR) + if (r_ptr->flagsr & RFR_RES_SHAR) { #ifdef JP -note = "¤Ï¤¤¤¯¤é¤«ÂÑÀ­¤ò¼¨¤·¤¿¡£"; + note = "¤Ï¤¤¤¯¤é¤«ÂÑÀ­¤ò¼¨¤·¤¿¡£"; #else note = " resists somewhat."; #endif dam /= 2; + if (seen) r_ptr->r_flagsr |= (RFR_RES_SHAR); } break; } @@ -2387,7 +2419,8 @@ note = " case GF_SOUND: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2395,20 +2428,21 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - do_stun = (10 + randint1(15) + r) / (r + 1); - if (r_ptr->flags4 & RF4_BR_SOUN) + if (r_ptr->flagsr & RFR_RES_SOUN) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 2; dam /= randint1(6) + 6; + if (seen) r_ptr->r_flagsr |= (RFR_RES_SOUN); } + else do_stun = (10 + randint1(15) + r) / (r + 1); break; } @@ -2416,7 +2450,8 @@ note = " case GF_CONFUSION: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2424,30 +2459,21 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - do_conf = (10 + randint1(15) + r) / (r + 1); - if (r_ptr->flags4 & RF4_BR_CONF) + if (r_ptr->flags3 & RF3_NO_CONF) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif - dam *= 2; dam /= randint1(6) + 6; - } - else if (r_ptr->flags3 & RF3_NO_CONF) - { -#ifdef JP -note = "¤Ï¤¤¤¯¤é¤«ÂÑÀ­¤ò¼¨¤·¤¿¡£"; -#else - note = " resists somewhat."; -#endif - - dam /= 2; + dam *= 3; dam /= randint1(6) + 6; + if (seen) r_ptr->r_flags3 |= (RF3_NO_CONF); } + else do_conf = (10 + randint1(15) + r) / (r + 1); break; } @@ -2455,7 +2481,8 @@ note = " case GF_DISENCHANT: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2463,19 +2490,19 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & RF3_RES_DISE) + if (r_ptr->flagsr & RFR_RES_DISE) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; - if (seen) r_ptr->r_flags3 |= (RF3_RES_DISE); + if (seen) r_ptr->r_flagsr |= (RFR_RES_DISE); } break; } @@ -2484,7 +2511,8 @@ note = " case GF_NEXUS: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2492,19 +2520,19 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & RF3_RES_NEXU) + if (r_ptr->flagsr & RFR_RES_NEXU) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; - if (seen) r_ptr->r_flags3 |= (RF3_RES_NEXU); + if (seen) r_ptr->r_flagsr |= (RFR_RES_NEXU); } break; } @@ -2513,7 +2541,8 @@ note = " case GF_FORCE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2521,20 +2550,21 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - do_stun = (randint1(15) + r) / (r + 1); - if (r_ptr->flags4 & RF4_BR_WALL) + if (r_ptr->flagsr & RFR_RES_WALL) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; + if (seen) r_ptr->r_flagsr |= (RFR_RES_WALL); } + else do_stun = (randint1(15) + r) / (r + 1); break; } @@ -2542,7 +2572,8 @@ note = " case GF_INERTIA: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2550,18 +2581,19 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags4 & (RF4_BR_INER)) + if (r_ptr->flagsr & RFR_RES_INER) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; + if (seen) r_ptr->r_flagsr |= (RFR_RES_INER); } else { @@ -2577,7 +2609,7 @@ note = " if (!m_ptr->slow) { #ifdef JP -note = "¤ÎÆ°¤­¤¬ÃÙ¤¯¤Ê¤Ã¤¿¡£"; + note = "¤ÎÆ°¤­¤¬ÃÙ¤¯¤Ê¤Ã¤¿¡£"; #else note = " starts moving slower."; #endif @@ -2594,7 +2626,8 @@ note = " case GF_TIME: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2602,20 +2635,21 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags4 & (RF4_BR_TIME)) + if (r_ptr->flagsr & RFR_RES_TIME) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; + if (seen) r_ptr->r_flagsr |= (RFR_RES_TIME); } - else do_time = (dam+1)/2; + else do_time = (dam + 1) / 2; break; } @@ -2626,7 +2660,7 @@ note = " if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2634,14 +2668,14 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags3 & (RF3_RES_TELE)) + if (r_ptr->flagsr & RFR_RES_TELE) { if (r_ptr->flags1 & (RF1_UNIQUE)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£"; #else @@ -2652,7 +2686,7 @@ note = " } else if (r_ptr->level > randint1(100)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª"; #else @@ -2667,16 +2701,17 @@ note = " else do_dist = 0; if (p_ptr->riding && (c_ptr->m_idx == p_ptr->riding)) do_dist = 0; - if (r_ptr->flags4 & (RF4_BR_GRAV)) + if (r_ptr->flagsr & RFR_RES_GRAV) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif dam *= 3; dam /= randint1(6) + 6; do_dist = 0; + if (seen) r_ptr->r_flagsr |= (RFR_RES_GRAV); } else { @@ -2714,7 +2749,7 @@ note = " do_stun = 0; /* No obvious effect */ #ifdef JP -note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£"; + note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£"; #else note = " is unaffected!"; #endif @@ -2731,7 +2766,8 @@ note = " case GF_SUPER_RAY: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2739,7 +2775,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } break; @@ -2750,7 +2786,8 @@ note = " case GF_DISINTEGRATE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2758,7 +2795,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (r_ptr->flags3 & RF3_HURT_ROCK) @@ -2793,7 +2830,7 @@ note_dies = " break; } - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2801,28 +2838,27 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (r_ptr->flags2 & RF2_EMPTY_MIND) { dam = 0; #ifdef JP -note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; + note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; #else note = " is immune!"; #endif if (seen) r_ptr->r_flags2 |= (RF2_EMPTY_MIND); } - else if ((r_ptr->flags2 & RF2_STUPID) || - (r_ptr->flags2 & RF2_WEIRD_MIND) || - (r_ptr->flags3 & RF3_ANIMAL) || - (r_ptr->level > randint1(3 * dam))) + else if ((r_ptr->flags2 & (RF2_STUPID | RF2_WEIRD_MIND)) || + (r_ptr->flags3 & RF3_ANIMAL) || + (r_ptr->level > randint1(3 * dam))) { dam /= 3; #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif @@ -2832,15 +2868,13 @@ note = " * Powerful demons & undead can turn a mindcrafter's * attacks back on them */ - if (((r_ptr->flags3 & RF3_UNDEAD) || - (r_ptr->flags3 & RF3_DEMON)) && - (r_ptr->level > p_ptr->lev / 2) && - one_in_(2)) + if ((r_ptr->flags3 & (RF3_UNDEAD | RF3_DEMON)) && + (r_ptr->level > p_ptr->lev / 2) && + one_in_(2)) { note = NULL; #ifdef JP -msg_format("%^s¤ÎÂÄÍ¤¿Àº¿À¤Ï¹¶·â¤òÄ·¤ÍÊÖ¤·¤¿¡ª", - m_name); + msg_format("%^s¤ÎÂÄÍ¤¿Àº¿À¤Ï¹¶·â¤òÄ·¤ÍÊÖ¤·¤¿¡ª", m_name); #else msg_format("%^s%s corrupted mind backlashes your attack!", m_name, (seen ? "'s" : "s")); @@ -2850,7 +2884,7 @@ msg_format("%^s if (randint0(100 + r_ptr->level/2) < p_ptr->skill_sav) { #ifdef JP -msg_print("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª"); + msg_print("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª"); #else msg_print("You resist the effects!"); #endif @@ -2875,7 +2909,7 @@ msg_print(" { if (r_ptr->flags3 & RF3_NO_FEAR) #ifdef JP -note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£"; + note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£"; #else note = " is unaffected."; #endif @@ -2910,7 +2944,7 @@ note = " break; default: #ifdef JP -note = "¤Ï̲¤ê¹þ¤ó¤Ç¤·¤Þ¤Ã¤¿¡ª"; + note = "¤Ï̲¤ê¹þ¤ó¤Ç¤·¤Þ¤Ã¤¿¡ª"; #else note = " falls asleep!"; #endif @@ -2921,7 +2955,7 @@ note = " } #ifdef JP -note_dies = "¤ÎÀº¿À¤ÏÊø²õ¤·¡¢ÆùÂΤÏÈ´¤±³Ì¤È¤Ê¤Ã¤¿¡£"; + note_dies = "¤ÎÀº¿À¤ÏÊø²õ¤·¡¢ÆùÂΤÏÈ´¤±³Ì¤È¤Ê¤Ã¤¿¡£"; #else note_dies = " collapses, a mindless husk."; #endif @@ -2932,7 +2966,8 @@ note_dies = " case GF_PSI_DRAIN: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -2940,27 +2975,26 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (r_ptr->flags2 & RF2_EMPTY_MIND) { dam = 0; #ifdef JP -note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; + note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; #else note = " is immune!"; #endif } - else if ((r_ptr->flags2 & RF2_STUPID) || - (r_ptr->flags2 & RF2_WEIRD_MIND) || - (r_ptr->flags3 & RF3_ANIMAL) || - (r_ptr->level > randint1(3 * dam))) + else if ((r_ptr->flags2 & (RF2_STUPID | RF2_WEIRD_MIND)) || + (r_ptr->flags3 & RF3_ANIMAL) || + (r_ptr->level > randint1(3 * dam))) { dam /= 3; #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists."; #endif @@ -2970,15 +3004,13 @@ note = " * Powerful demons & undead can turn a mindcrafter's * attacks back on them */ - if (((r_ptr->flags3 & RF3_UNDEAD) || - (r_ptr->flags3 & RF3_DEMON)) && + if ((r_ptr->flags3 & (RF3_UNDEAD | RF3_DEMON)) && (r_ptr->level > p_ptr->lev / 2) && (one_in_(2))) { note = NULL; #ifdef JP -msg_format("%^s¤ÎÂÄÍ¤¿Àº¿À¤Ï¹¶·â¤òÄ·¤ÍÊÖ¤·¤¿¡ª", - m_name); + msg_format("%^s¤ÎÂÄÍ¤¿Àº¿À¤Ï¹¶·â¤òÄ·¤ÍÊÖ¤·¤¿¡ª", m_name); #else msg_format("%^s%s corrupted mind backlashes your attack!", m_name, (seen ? "'s" : "s")); @@ -2988,7 +3020,7 @@ msg_format("%^s if (randint0(100 + r_ptr->level/2) < p_ptr->skill_sav) { #ifdef JP -msg_print("¤¢¤Ê¤¿¤Ï¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª"); + msg_print("¤¢¤Ê¤¿¤Ï¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª"); #else msg_print("You resist the effects!"); #endif @@ -2999,7 +3031,7 @@ msg_print(" /* Injure + mana drain */ monster_desc(killer, m_ptr, MD_IGNORE_HALLU | MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE); #ifdef JP -msg_print("ĶǽÎϥѥ¤òµÛ¤¤¤È¤é¤ì¤¿¡ª"); + msg_print("ĶǽÎϥѥ¤òµÛ¤¤¤È¤é¤ì¤¿¡ª"); #else msg_print("Your psychic energy is drained!"); #endif @@ -3017,8 +3049,7 @@ msg_print("Ķǽ { int b = damroll(5, dam) / 4; #ifdef JP -msg_format("¤¢¤Ê¤¿¤Ï%s¤Î¶ìÄˤòĶǽÎϥѥ¤ËÊÑ´¹¤·¤¿¡ª", - m_name); + msg_format("¤¢¤Ê¤¿¤Ï%s¤Î¶ìÄˤòĶǽÎϥѥ¤ËÊÑ´¹¤·¤¿¡ª", m_name); #else msg_format("You convert %s%s pain into psychic energy!", m_name, (seen ? "'s" : "s")); @@ -3031,7 +3062,7 @@ msg_format(" } #ifdef JP -note_dies = "¤ÎÀº¿À¤ÏÊø²õ¤·¡¢ÆùÂΤÏÈ´¤±³Ì¤È¤Ê¤Ã¤¿¡£"; + note_dies = "¤ÎÀº¿À¤ÏÊø²õ¤·¡¢ÆùÂΤÏÈ´¤±³Ì¤È¤Ê¤Ã¤¿¡£"; #else note_dies = " collapses, a mindless husk."; #endif @@ -3042,7 +3073,8 @@ note_dies = " case GF_TELEKINESIS: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -3050,7 +3082,7 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (one_in_(4)) @@ -3078,7 +3110,8 @@ note_dies = " case GF_PSY_SPEAR: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -3086,7 +3119,7 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } break; @@ -3096,7 +3129,8 @@ note_dies = " case GF_METEOR: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -3104,7 +3138,7 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } break; @@ -3113,9 +3147,10 @@ note_dies = " case GF_DOMINATION: { if (!is_hostile(m_ptr)) break; + if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3123,12 +3158,11 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } /* Attempt a saving throw */ - if ((r_ptr->flags1 & RF1_UNIQUE) || - (r_ptr->flags1 & RF1_QUESTOR) || + if ((r_ptr->flags1 & (RF1_UNIQUE | RF1_QUESTOR)) || (r_ptr->flags3 & RF3_NO_CONF) || (r_ptr->level > randint1((dam - 10) < 1 ? 1 : (dam - 10)) + 10)) { @@ -3145,15 +3179,13 @@ note_dies = " * Powerful demons & undead can turn a mindcrafter's * attacks back on them */ - if (((r_ptr->flags3 & RF3_UNDEAD) || - (r_ptr->flags3 & RF3_DEMON)) && - (r_ptr->level > p_ptr->lev / 2) && - (one_in_(2))) + if ((r_ptr->flags3 & (RF3_UNDEAD | RF3_DEMON)) && + (r_ptr->level > p_ptr->lev / 2) && + (one_in_(2))) { note = NULL; #ifdef JP -msg_format("%^s¤ÎÂÄÍ¤¿Àº¿À¤Ï¹¶·â¤òÄ·¤ÍÊÖ¤·¤¿¡ª", - m_name); + msg_format("%^s¤ÎÂÄÍ¤¿Àº¿À¤Ï¹¶·â¤òÄ·¤ÍÊÖ¤·¤¿¡ª", m_name); #else msg_format("%^s%s corrupted mind backlashes your attack!", m_name, (seen ? "'s" : "s")); @@ -3163,7 +3195,7 @@ msg_format("%^s if (randint0(100 + r_ptr->level/2) < p_ptr->skill_sav) { #ifdef JP -msg_print("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª"); + msg_print("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª"); #else msg_print("You resist the effects!"); #endif @@ -3184,7 +3216,7 @@ msg_print(" { if (r_ptr->flags3 & RF3_NO_FEAR) #ifdef JP -note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£"; + note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£"; #else note = " is unaffected."; #endif @@ -3246,7 +3278,8 @@ note = " case GF_ICE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -3254,25 +3287,25 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } do_stun = (randint1(15) + 1) / (r + 1); - if (r_ptr->flags3 & RF3_IM_COLD) + if (r_ptr->flagsr & RFR_IM_COLD) { #ifdef JP -note = "¤Ë¤Ï¤«¤Ê¤êÂÑÀ­¤¬¤¢¤ë¡£"; + note = "¤Ë¤Ï¤«¤Ê¤êÂÑÀ­¤¬¤¢¤ë¡£"; #else note = " resists a lot."; #endif dam /= 9; - if (seen) r_ptr->r_flags3 |= (RF3_IM_COLD); + if (seen) r_ptr->r_flagsr |= (RFR_IM_COLD); } else if (r_ptr->flags3 & (RF3_HURT_COLD)) { #ifdef JP -note = "¤Ï¤Ò¤É¤¤Ä˼ê¤ò¤¦¤±¤¿¡£"; + note = "¤Ï¤Ò¤É¤¤Ä˼ê¤ò¤¦¤±¤¿¡£"; #else note = " is hit hard."; #endif @@ -3289,7 +3322,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -3297,7 +3330,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (!monster_living(r_ptr)) @@ -3331,7 +3364,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -3339,11 +3372,10 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if ((r_ptr->flags3 & RF3_UNDEAD) || - (r_ptr->flags3 & RF3_NONLIVING)) + if (r_ptr->flags3 & (RF3_UNDEAD | RF3_NONLIVING)) { if (r_ptr->flags3 & RF3_UNDEAD) { @@ -3382,7 +3414,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3390,7 +3422,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } /* Attempt to polymorph (see below) */ @@ -3592,7 +3624,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3600,7 +3632,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } /* Powerful monsters can resist */ @@ -3644,7 +3676,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3652,7 +3684,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } /* Attempt a saving throw */ @@ -3698,7 +3730,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3706,7 +3738,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } /* Attempt a saving throw */ @@ -3744,7 +3776,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3752,7 +3784,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } /* Attempt a saving throw */ @@ -3803,7 +3835,7 @@ note = " if (seen) obvious = TRUE; - if ((r_ptr->flags3 & (RF3_RES_ALL)) || p_ptr->inside_arena) + if ((r_ptr->flagsr & RFR_RES_ALL) || p_ptr->inside_arena) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3811,7 +3843,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -3890,7 +3922,7 @@ note = " dam -= p_ptr->virtues[vir-1]/20; } - if ((r_ptr->flags3 & (RF3_RES_ALL)) || p_ptr->inside_arena) + if ((r_ptr->flagsr & RFR_RES_ALL) || p_ptr->inside_arena) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3898,7 +3930,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -3965,7 +3997,7 @@ note = " dam -= p_ptr->virtues[vir-1]/20; } - if ((r_ptr->flags3 & (RF3_RES_ALL)) || p_ptr->inside_arena) + if ((r_ptr->flagsr & RFR_RES_ALL) || p_ptr->inside_arena) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -3973,7 +4005,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -4041,7 +4073,7 @@ note = " dam -= p_ptr->virtues[vir-1]/20; } - if ((r_ptr->flags3 & (RF3_RES_ALL)) || p_ptr->inside_arena) + if ((r_ptr->flagsr & RFR_RES_ALL) || p_ptr->inside_arena) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -4049,7 +4081,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -4137,7 +4169,7 @@ msg_format("%s #else msg_format("You stare into %s.", m_name); #endif - if ((r_ptr->flags3 & (RF3_RES_ALL)) || p_ptr->inside_arena) + if ((r_ptr->flagsr & RFR_RES_ALL) || p_ptr->inside_arena) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -4145,7 +4177,7 @@ msg_format("%s note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -4203,7 +4235,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -4211,7 +4243,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } /* Get confused later */ @@ -4250,7 +4282,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -4258,7 +4290,7 @@ note = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } do_stun = damroll((caster_lev / 10) + 3 , (dam)) + 1; @@ -4296,7 +4328,7 @@ note = " skipped = TRUE; break; } - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { dam = 0; break; @@ -4337,7 +4369,8 @@ note_dies = " case GF_LITE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -4345,10 +4378,10 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - if (r_ptr->flags4 & (RF4_BR_LITE)) + if (r_ptr->flagsr & RFR_RES_LITE) { #ifdef JP note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -4357,6 +4390,7 @@ note = " #endif dam *= 2; dam /= (randint1(6)+6); + if (seen) r_ptr->r_flagsr |= (RFR_RES_LITE); } else if (r_ptr->flags3 & (RF3_HURT_LITE)) { @@ -4380,7 +4414,7 @@ note_dies = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -4388,21 +4422,19 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } - /* Likes darkness... */ - if ((r_ptr->flags4 & (RF4_BR_DARK)) || - (r_ptr->flags3 & RF3_ORC) || - (r_ptr->flags3 & RF3_HURT_LITE)) + if (r_ptr->flagsr & RFR_RES_DARK) { #ifdef JP -note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª"; + note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª"; #else note = " resists."; #endif dam *= 2; dam /= (randint1(6)+6); + if (seen) r_ptr->r_flagsr |= (RFR_RES_DARK); } break; } @@ -4411,7 +4443,7 @@ note = " /* Stone to Mud */ case GF_KILL_WALL: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { dam = 0; break; @@ -4455,11 +4487,11 @@ note_dies = " { bool resists_tele = FALSE; - if (r_ptr->flags3 & (RF3_RES_TELE)) + if (r_ptr->flagsr & RFR_RES_TELE) { - if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flags3 & (RF3_RES_ALL))) + if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; #else @@ -4470,7 +4502,7 @@ note = " } else if (r_ptr->level > randint1(100)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª"; #else @@ -4510,11 +4542,11 @@ note = " { bool resists_tele = FALSE; - if (r_ptr->flags3 & (RF3_RES_TELE)) + if (r_ptr->flagsr & RFR_RES_TELE) { - if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flags3 & (RF3_RES_ALL))) + if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; #else @@ -4525,7 +4557,7 @@ note = " } else if (r_ptr->level > randint1(100)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª"; #else @@ -4561,11 +4593,11 @@ note = " case GF_AWAY_ALL: { bool resists_tele = FALSE; - if (r_ptr->flags3 & (RF3_RES_TELE)) + if (r_ptr->flagsr & RFR_RES_TELE) { - if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flags3 & (RF3_RES_ALL))) + if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; #else @@ -4576,7 +4608,7 @@ note = " } else if (r_ptr->level > randint1(100)) { - if (seen) r_ptr->r_flags3 |= RF3_RES_TELE; + if (seen) r_ptr->r_flagsr |= RFR_RES_TELE; #ifdef JP note = "¤Ë¤ÏÂÑÀ­¤¬¤¢¤ë¡ª"; #else @@ -4605,7 +4637,7 @@ note = " /* Turn undead (Use "dam" as "power") */ case GF_TURN_UNDEAD: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; break; @@ -4653,7 +4685,7 @@ note = " /* Turn evil (Use "dam" as "power") */ case GF_TURN_EVIL: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; break; @@ -4701,7 +4733,7 @@ note = " /* Turn monster (Use "dam" as "power") */ case GF_TURN_ALL: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; break; @@ -4737,7 +4769,7 @@ note = " /* Dispel undead */ case GF_DISP_UNDEAD: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; dam = 0; @@ -4780,7 +4812,7 @@ note_dies = " /* Dispel evil */ case GF_DISP_EVIL: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; dam = 0; @@ -4822,7 +4854,7 @@ note_dies = " /* Dispel good */ case GF_DISP_GOOD: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; dam = 0; @@ -4864,7 +4896,7 @@ note_dies = " /* Dispel living */ case GF_DISP_LIVING: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; dam = 0; @@ -4903,7 +4935,7 @@ note_dies = " /* Dispel demons */ case GF_DISP_DEMON: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; dam = 0; @@ -4945,7 +4977,7 @@ note_dies = " /* Dispel monster */ case GF_DISP_ALL: { - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { skipped = TRUE; dam = 0; @@ -4971,7 +5003,8 @@ note_dies = " case GF_DRAIN_MANA: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -4979,7 +5012,7 @@ note_dies = " note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5017,7 +5050,7 @@ msg_format("%s msg_format("You gaze intently at %s.", m_name); #endif - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5025,7 +5058,7 @@ msg_format("%s note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5072,7 +5105,7 @@ msg_format("%s msg_format("You gaze intently at %s.", m_name); #endif - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5080,7 +5113,7 @@ msg_format("%s note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5131,7 +5164,7 @@ msg_format("%s msg_format("You point at %s and curses.", m_name); #endif - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5139,7 +5172,7 @@ msg_format("%s note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5168,7 +5201,7 @@ msg_format("%s msg_format("You point at %s and curses horribly.", m_name); #endif - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5176,7 +5209,7 @@ msg_format("%s note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5205,7 +5238,7 @@ msg_format("%s msg_format("You point at %s, incanting terribly!", m_name); #endif - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5213,7 +5246,7 @@ msg_format("%s note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5242,7 +5275,7 @@ msg_format("%s msg_format("You point at %s, screaming th word, 'DIE!'.", m_name); #endif - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5250,7 +5283,7 @@ msg_format("%s note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5273,7 +5306,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5281,7 +5314,7 @@ note = " note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5457,7 +5490,7 @@ msg_format(" if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -5465,7 +5498,7 @@ msg_format(" note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } if (r_ptr->flags2 & RF2_EMPTY_MIND) @@ -5607,7 +5640,7 @@ note = " bool angry = FALSE; if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª"; @@ -5615,7 +5648,7 @@ note = " note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5716,7 +5749,8 @@ note_dies = " case GF_BLOOD_CURSE: { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5724,7 +5758,7 @@ note_dies = " note = " is immune."; #endif dam = 0; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } break; @@ -5801,7 +5835,7 @@ note = " { if (seen) obvious = TRUE; - if (r_ptr->flags3 & (RF3_RES_ALL)) + if (r_ptr->flagsr & RFR_RES_ALL) { #ifdef JP note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ­¤¬¤¢¤ë¡ª"; @@ -5809,7 +5843,7 @@ note = " note = " is immune."; #endif skipped = TRUE; - if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL); + if (seen) r_ptr->r_flagsr |= (RFR_RES_ALL); break; } @@ -5890,7 +5924,7 @@ note = " /* Monster polymorphs */ #ifdef JP -note = "¤¬ÊѿȤ·¤¿¡ª"; + note = "¤¬ÊѿȤ·¤¿¡ª"; #else note = " changes!"; #endif @@ -5925,7 +5959,7 @@ note = " /* Message */ #ifdef JP -note = "¤¬¾Ã¤¨µî¤Ã¤¿¡ª"; + note = "¤¬¾Ã¤¨µî¤Ã¤¿¡ª"; #else note = " disappears!"; #endif @@ -5943,20 +5977,19 @@ note = " c_ptr = &cave[y][x]; } - /* Sound and Impact breathers never stun */ + /* Sound and Impact resisters never stun */ else if (do_stun && - !(r_ptr->flags4 & (RF4_BR_SOUN)) && - !(r_ptr->flags4 & (RF4_BR_WALL)) && - !(r_ptr->flags3 & (RF3_NO_STUN))) + !(r_ptr->flagsr & (RFR_RES_SOUN | RFR_RES_WALL)) && + !(r_ptr->flags3 & RF3_NO_STUN)) { /* Obvious */ if (seen) obvious = TRUE; - /* Get confused */ + /* Get stunned */ if (m_ptr->stunned) { #ifdef JP -note = "¤Ï¤Ò¤É¤¯¤â¤¦¤í¤¦¤È¤·¤¿¡£"; + note = "¤Ï¤Ò¤É¤¯¤â¤¦¤í¤¦¤È¤·¤¿¡£"; #else note = " is more dazed."; #endif @@ -5966,7 +5999,7 @@ note = " else { #ifdef JP -note = "¤Ï¤â¤¦¤í¤¦¤È¤·¤¿¡£"; + note = "¤Ï¤â¤¦¤í¤¦¤È¤·¤¿¡£"; #else note = " is dazed."; #endif @@ -5981,11 +6014,10 @@ note = " get_angry = TRUE; } - /* Confusion and Chaos breathers (and sleepers) never confuse */ + /* Confusion and Chaos resisters (and sleepers) never confuse */ else if (do_conf && - !(r_ptr->flags3 & (RF3_NO_CONF)) && - !(r_ptr->flags4 & (RF4_BR_CONF)) && - !(r_ptr->flags4 & (RF4_BR_CHAO))) + !(r_ptr->flags3 & RF3_NO_CONF) && + !(r_ptr->flagsr & RFR_EFF_RES_CHAO_MASK)) { /* Obvious */ if (seen) obvious = TRUE; @@ -5994,7 +6026,7 @@ note = " if (m_ptr->confused) { #ifdef JP -note = "¤Ï¤µ¤é¤Ëº®Í𤷤¿¤è¤¦¤À¡£"; + note = "¤Ï¤µ¤é¤Ëº®Í𤷤¿¤è¤¦¤À¡£"; #else note = " looks more confused."; #endif @@ -6006,7 +6038,7 @@ note = " else { #ifdef JP -note = "¤Ïº®Í𤷤¿¤è¤¦¤À¡£"; + note = "¤Ïº®Í𤷤¿¤è¤¦¤À¡£"; #else note = " looks confused."; #endif @@ -6020,22 +6052,23 @@ note = " /* Get angry */ get_angry = TRUE; } + else if (do_time) { /* Obvious */ if (seen) obvious = TRUE; - if (do_time >= m_ptr->maxhp) do_time = m_ptr->maxhp-1; + if (do_time >= m_ptr->maxhp) do_time = m_ptr->maxhp - 1; if (do_time) { #ifdef JP -note = "¤Ï¼å¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡£"; + note = "¤Ï¼å¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡£"; #else note = " seems weakened."; #endif m_ptr->maxhp -= do_time; - if ((m_ptr->hp - dam) > m_ptr->maxhp) dam = m_ptr->hp-m_ptr->maxhp; + if ((m_ptr->hp - dam) > m_ptr->maxhp) dam = m_ptr->hp - m_ptr->maxhp; } get_angry = TRUE; } diff --git a/src/spells2.c b/src/spells2.c index ae955da67..13fa91db3 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -6750,7 +6750,7 @@ msg_print(" m_ptr = &m_list[c_ptr->m_idx]; r_ptr = &r_info[m_ptr->r_idx]; - if (r_ptr->flags3 & RF3_RES_TELE) + if (r_ptr->flagsr & RFR_RES_TELE) { #ifdef JP msg_print("¥Æ¥ì¥Ý¡¼¥È¤ò¼ÙË⤵¤ì¤¿¡ª"); @@ -6758,6 +6758,8 @@ msg_print(" msg_print("Your teleportation is blocked!"); #endif + if (m_ptr->ml) r_ptr->r_flagsr |= RFR_RES_TELE; + m_ptr->csleep = 0; /* Failure */ return FALSE; diff --git a/src/spells3.c b/src/spells3.c index 491541d02..6267120b5 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -384,7 +384,7 @@ msg_print(" * totally unkillable suckers... */ if ((r_ptr->flags6 & RF6_TPORT) && - !(r_ptr->flags3 & RF3_RES_TELE)) + !(r_ptr->flagsr & RFR_RES_TELE)) { if (!m_ptr->csleep) teleport_to_player(tmp_m_idx, r_ptr->level); } diff --git a/src/types.h b/src/types.h index f9cdad6cc..7ce7df963 100644 --- a/src/types.h +++ b/src/types.h @@ -298,6 +298,7 @@ struct monster_race u32b flags7; /* Flags 7 (movement related abilities) */ u32b flags8; /* Flags 8 (wilderness info) */ u32b flags9; /* Flags 9 (drops info) */ + u32b flagsr; /* Flags R (resistances info) */ monster_blow blow[4]; /* Up to four blows per round */ @@ -348,7 +349,8 @@ struct monster_race u32b r_flags4; /* Observed racial flags */ u32b r_flags5; /* Observed racial flags */ u32b r_flags6; /* Observed racial flags */ - u32b r_flags7; /* Observed racial flags */ + /* u32b r_flags7; */ /* Observed racial flags */ + u32b r_flagsr; /* Observed racial resistance flags */ }; @@ -1623,6 +1625,7 @@ struct dungeon_info_type { u32b mflags7; u32b mflags8; u32b mflags9; + u32b mflagsr; char r_char[5]; /* Monster race allowed */ int final_object; /* The object you'll find at the bottom */ diff --git a/src/xtra2.c b/src/xtra2.c index c8284538c..550bfc2ea 100644 --- a/src/xtra2.c +++ b/src/xtra2.c @@ -1505,7 +1505,7 @@ int mon_damage_mod(monster_type *m_ptr, int dam, bool is_psy_spear) { monster_race *r_ptr = &r_info[m_ptr->r_idx]; - if ((r_ptr->flags3 & RF3_RES_ALL) && dam > 0) + if ((r_ptr->flagsr & RFR_RES_ALL) && dam > 0) { dam /= 100; if((dam == 0) && one_in_(3)) dam = 1; -- 2.11.0