potion of poison

<Someone> wrote:
> It is a little odd that, if you are poison resistant,
> potions of sickness can kill you if and only if they
> are blessed.
This commit is contained in:
nethack.allison
2004-06-05 22:16:00 +00:00
parent abe3d28a37
commit 93cdf2b7f7
2 changed files with 13 additions and 2 deletions

View File

@@ -37,6 +37,8 @@ if you didn't see a rolling boulder fall into a pit, you only heard the sound
fire trap was triggered twice in the same turn when melting ice was involved
abandon the specialized djinn and ghost counters used for potion tuning and
use the mvitals[].born field instead
if you were Poison_resistant, only a *blessed* potion of sickness caused
loss of hitpoints
Platform- and/or Interface-Specific Fixes

View File

@@ -680,8 +680,13 @@ peffects(otmp)
if (Role_if(PM_HEALER))
pline("Fortunately, you have been immunized.");
else {
char contaminant[BUFSZ];
int typ = rn2(A_MAX);
Sprintf(contaminant, "%s%s",
(Poison_resistance) ? "mildly " : "",
(otmp->fromsink) ? "contaminated tap water" :
"contaminated potion");
if (!Fixed_abil) {
poisontell(typ, FALSE);
(void) adjattrib(typ,
@@ -691,10 +696,14 @@ peffects(otmp)
if(!Poison_resistance) {
if (otmp->fromsink)
losehp(rnd(10)+5*!!(otmp->cursed),
"contaminated tap water", KILLED_BY);
contaminant, KILLED_BY);
else
losehp(rnd(10)+5*!!(otmp->cursed),
"contaminated potion", KILLED_BY_AN);
contaminant, KILLED_BY_AN);
} else {
/* rnd loss is so that unblessed poorer than blessed */
losehp(1 + rn2(2), contaminant,
(otmp->fromsink) ? KILLED_BY : KILLED_BY_AN);
}
exercise(A_CON, FALSE);
}