From: cohrs Date: Tue, 30 Sep 2003 18:55:02 +0000 (+0000) Subject: potion-from-sink and the corpsenm field X-Git-Tag: MOVE2GIT~1736 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1e2d502ac62ea49d4f14750fde23a4ec89958195;p=nethack potion-from-sink and the corpsenm field Change the code involved to use a new #define for the field, like other overloaded uses of corpsenm. Also remove one check for this field from potion.c: there are no blessed potions from sinks. --- diff --git a/doc/fixes34.3 b/doc/fixes34.3 index 926f43286..f51254781 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -37,6 +37,7 @@ if the monster that a statue represents is not made of flesh then don't allow stone_to_flesh to animate it, make a meatball instead attempting to saddle a cockatrice while wearing gloves shouldn't stone you kicking a closed drawbridge and dieing should not say "kicking a wall" +cannot get blessed potions from sink, remove unreachable message Platform- and/or Interface-Specific Fixes diff --git a/include/obj.h b/include/obj.h index 265a6aafb..bc4e63675 100644 --- a/include/obj.h +++ b/include/obj.h @@ -96,7 +96,8 @@ struct obj { int corpsenm; /* type of corpse is mons[corpsenm] */ #define leashmon corpsenm /* gets m_id of attached pet */ -#define spestudied corpsenm /* how many times a spellbook has been studied */ +#define spestudied corpsenm /* # of times a spellbook has been studied */ +#define fromsink corpsenm /* a potion from a sink */ unsigned oeaten; /* nutrition left in food, if partly eaten */ long age; /* creation date */ diff --git a/src/do_name.c b/src/do_name.c index 7c7ed5c25..9d3cff73e 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -497,7 +497,7 @@ register struct obj *obj; otemp.quan = 1L; otemp.onamelth = 0; otemp.oxlth = 0; - if (objects[otemp.otyp].oc_class == POTION_CLASS && otemp.corpsenm) + if (objects[otemp.otyp].oc_class == POTION_CLASS && otemp.fromsink) /* kludge, meaning it's sink water */ Sprintf(qbuf,"Call a stream of %s fluid:", OBJ_DESCR(objects[otemp.otyp])); diff --git a/src/fountain.c b/src/fountain.c index 1785500b0..acbaac2d1 100644 --- a/src/fountain.c +++ b/src/fountain.c @@ -549,7 +549,7 @@ drinksink() hcolor(OBJ_DESCR(objects[otmp->otyp]))); otmp->dknown = !(Blind || Hallucination); otmp->quan++; /* Avoid panic upon useup() */ - otmp->corpsenm = 1; /* kludge for docall() */ + otmp->fromsink = 1; /* kludge for docall() */ (void) dopotion(otmp); obfree(otmp, (struct obj *)0); break; diff --git a/src/potion.c b/src/potion.c index da8f00d0c..020721117 100644 --- a/src/potion.c +++ b/src/potion.c @@ -666,12 +666,8 @@ peffects(otmp) pline("(But in fact it was mildly stale %s.)", fruitname(TRUE)); if (!Role_if(PM_HEALER)) { - if (otmp->corpsenm) - losehp(1, - "mildly contaminated tap water", KILLED_BY); - else - losehp(1, - "mildly contaminated potion", KILLED_BY_AN); + /* NB: blessed otmp->fromsink is not possible */ + losehp(1, "mildly contaminated potion", KILLED_BY_AN); } } else { if(Poison_resistance) @@ -690,7 +686,7 @@ peffects(otmp) TRUE); } if(!Poison_resistance) { - if (otmp->corpsenm) + if (otmp->fromsink) losehp(rnd(10)+5*!!(otmp->cursed), "contaminated tap water", KILLED_BY); else