intrinsics revamp (trunk only)
Simplify many of the intrinsics macros from
#define xxx_resistance (Hxxx || Exxx || resists_xxx(&youmonst))
down to
#define xxx_resistance (Hxxx || Exxx)
by setting or clearing an extra bit in Hxxx during polymorph so that the
resists_xxx() check becomes implicit.
Unfornately there were lots of places in the code that treat Hxxx
as a timeout number--primarily for Stunned, Confused, and Hallucination;
Stunned happens to be one of the revised macros--rather than as a bit
mask, so this patch needed a lot more changes than originally antipated.
This commit is contained in:
@@ -2187,7 +2187,7 @@ boolean ordinary;
|
||||
if (ordinary || !rn2(10)) { /* permanent */
|
||||
HInvis |= FROMOUTSIDE;
|
||||
} else { /* temporary */
|
||||
incr_itimeout(&HInvis, d(obj->spe, 250));
|
||||
incr_itimeout(&HInvis, d(obj->spe, 250));
|
||||
}
|
||||
if (msg) {
|
||||
learn_it = TRUE;
|
||||
@@ -2262,7 +2262,7 @@ boolean ordinary;
|
||||
if (is_undead(youmonst.data)) {
|
||||
You_feel("frightened and %sstunned.",
|
||||
Stunned ? "even more " : "");
|
||||
make_stunned(HStun + rnd(30), FALSE);
|
||||
make_stunned((HStun & TIMEOUT) + (long)rnd(30), FALSE);
|
||||
} else
|
||||
You("shudder in dread.");
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user