U719: grayswandir and exploding black lights

<email deleted> wrote:
> When wielding greyswander and a black light explodes, the
> message is still "You are freaked by a blast of kaleidoscopic
> light!" giving no indication that you are immune to
> hallucination. Maybe something like "You see a blast of color,
> but seem unaffected" would be more appropriate?

return the changed status back to the caller from
make_hallucinated().
This commit is contained in:
nethack.allison
2003-10-29 13:03:23 +00:00
parent fec5392055
commit cdbe3b1d39
10 changed files with 19 additions and 15 deletions

View File

@@ -82,6 +82,7 @@ allow Conflict-resistant monsters to respond to conflict attacks rather than
sitting there and taking the attacks until they die
prefer herbivorous stone-to-flesh message when hero is a vegitarian
try even harder to avoid incorrect map display while changing levels
no "freaked" message by exploding black light, unless you really are
Platform- and/or Interface-Specific Fixes

View File

@@ -1560,7 +1560,7 @@ E void FDECL(make_blinded, (long,BOOLEAN_P));
E void FDECL(make_sick, (long, const char *, BOOLEAN_P,int));
E void FDECL(make_slimed, (long,const char*));
E void FDECL(make_vomiting, (long,BOOLEAN_P));
E void FDECL(make_hallucinated, (long,BOOLEAN_P,long));
E boolean FDECL(make_hallucinated, (long,BOOLEAN_P,long));
E int NDECL(dodrink);
E int FDECL(dopotion, (struct obj *));
E int FDECL(peffects, (struct obj *));

View File

@@ -1470,7 +1470,7 @@ struct obj *obj;
break;
case 4: (void) adjattrib(rn2(A_MAX), -1, FALSE);
break;
case 5: make_hallucinated(HHallucination + lcount, TRUE, 0L);
case 5: (void) make_hallucinated(HHallucination + lcount, TRUE, 0L);
break;
}
return;
@@ -1550,7 +1550,7 @@ struct obj *obj;
did_prop++;
break;
case prop2trbl(HALLUC):
make_hallucinated(0L, TRUE, 0L);
(void) make_hallucinated(0L, TRUE, 0L);
did_prop++;
break;
case prop2trbl(VOMITING):

View File

@@ -408,7 +408,7 @@ long wp_mask;
* that can print a message--need to guard against being printed
* when restoring a game
*/
make_hallucinated((long)!on, restoring ? FALSE : TRUE, wp_mask);
(void) make_hallucinated((long)!on, restoring ? FALSE : TRUE, wp_mask);
}
if (spfx & SPFX_ESP) {
if(on) ETelepat |= wp_mask;

View File

@@ -815,7 +815,7 @@ struct obj *obj;
}
break;
case 4 : pline("%s your mind!", Tobjnam(obj, "zap"));
make_hallucinated(HHallucination + rnd(100),FALSE,0L);
(void) make_hallucinated(HHallucination + rnd(100),FALSE,0L);
break;
case 5 : pline("%s!", Tobjnam(obj, "explode"));
useup(obj);

View File

@@ -1869,9 +1869,11 @@ common:
u.umonnum == PM_VIOLET_FUNGUS ||
dmgtype(youmonst.data, AD_STUN));
if (!not_affected) {
boolean chg;
if (!Hallucination)
You("are freaked by a blast of kaleidoscopic light!");
make_hallucinated(HHallucination + (long)tmp,FALSE,0L);
You("are caught in a blast of kaleidoscopic light!");
chg = make_hallucinated(HHallucination + (long)tmp,FALSE,0L);
You("%s.", chg ? "are freaked out" : "seem unaffected");
}
break;

View File

@@ -247,7 +247,7 @@ boolean talk;
}
}
void
boolean
make_hallucinated(xtime, talk, mask)
long xtime; /* nonzero if this is an attempt to turn on hallucination */
boolean talk;
@@ -305,6 +305,7 @@ long mask; /* nonzero if resistance status should change by mask */
context.botl = 1;
if (talk) pline(message, verb);
}
return changed;
}
STATIC_OVL void
@@ -450,7 +451,7 @@ peffects(otmp)
break;
case POT_HALLUCINATION:
if (Hallucination || Halluc_resistance) nothing++;
make_hallucinated(itimeout_incr(HHallucination,
(void) make_hallucinated(itimeout_incr(HHallucination,
rn1(200, 600 - 300 * bcsign(otmp))),
TRUE, 0L);
break;
@@ -700,7 +701,7 @@ peffects(otmp)
}
if(Hallucination) {
You("are shocked back to your senses!");
make_hallucinated(0L,FALSE,0L);
(void) make_hallucinated(0L,FALSE,0L);
}
break;
case POT_CONFUSION:
@@ -805,7 +806,7 @@ peffects(otmp)
healup(d(6 + 2 * bcsign(otmp), 8),
otmp->blessed ? 5 : !otmp->cursed ? 2 : 0,
!otmp->cursed, TRUE);
make_hallucinated(0L,TRUE,0L);
(void) make_hallucinated(0L,TRUE,0L);
exercise(A_CON, TRUE);
exercise(A_STR, TRUE);
break;
@@ -819,7 +820,7 @@ peffects(otmp)
u.ulevelmax -= 1;
pluslvl(FALSE);
}
make_hallucinated(0L,TRUE,0L);
(void) make_hallucinated(0L,TRUE,0L);
exercise(A_STR, TRUE);
exercise(A_CON, TRUE);
break;

View File

@@ -440,7 +440,7 @@ decurse:
break;
case TROUBLE_HALLUCINATION:
pline ("Looks like you are back in Kansas.");
make_hallucinated(0L,FALSE,0L);
(void) make_hallucinated(0L,FALSE,0L);
break;
#ifdef STEED
case TROUBLE_SADDLE:

View File

@@ -304,7 +304,7 @@ nh_timeout()
break;
case HALLUC:
HHallucination = 1;
make_hallucinated(0L, TRUE, 0L);
(void) make_hallucinated(0L, TRUE, 0L);
stop_occupation();
break;
case SLEEPING:

View File

@@ -3734,7 +3734,7 @@ boolean disarm;
stagger(youmonst.data, "stagger"));
}
make_stunned(HStun + rn1(7, 16),FALSE);
make_hallucinated(HHallucination + rn1(5, 16),FALSE,0L);
(void) make_hallucinated(HHallucination + rn1(5, 16),FALSE,0L);
break;
default: impossible("bad chest trap");
break;