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.
This commit is contained in:
cohrs
2003-09-30 18:55:02 +00:00
parent 2d8bc8875e
commit 1e2d502ac6
5 changed files with 8 additions and 10 deletions
+1
View File
@@ -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 allow stone_to_flesh to animate it, make a meatball instead
attempting to saddle a cockatrice while wearing gloves shouldn't stone you attempting to saddle a cockatrice while wearing gloves shouldn't stone you
kicking a closed drawbridge and dieing should not say "kicking a wall" 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 Platform- and/or Interface-Specific Fixes
+2 -1
View File
@@ -96,7 +96,8 @@ struct obj {
int corpsenm; /* type of corpse is mons[corpsenm] */ int corpsenm; /* type of corpse is mons[corpsenm] */
#define leashmon corpsenm /* gets m_id of attached pet */ #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 */ unsigned oeaten; /* nutrition left in food, if partly eaten */
long age; /* creation date */ long age; /* creation date */
+1 -1
View File
@@ -497,7 +497,7 @@ register struct obj *obj;
otemp.quan = 1L; otemp.quan = 1L;
otemp.onamelth = 0; otemp.onamelth = 0;
otemp.oxlth = 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 */ /* kludge, meaning it's sink water */
Sprintf(qbuf,"Call a stream of %s fluid:", Sprintf(qbuf,"Call a stream of %s fluid:",
OBJ_DESCR(objects[otemp.otyp])); OBJ_DESCR(objects[otemp.otyp]));
+1 -1
View File
@@ -549,7 +549,7 @@ drinksink()
hcolor(OBJ_DESCR(objects[otmp->otyp]))); hcolor(OBJ_DESCR(objects[otmp->otyp])));
otmp->dknown = !(Blind || Hallucination); otmp->dknown = !(Blind || Hallucination);
otmp->quan++; /* Avoid panic upon useup() */ otmp->quan++; /* Avoid panic upon useup() */
otmp->corpsenm = 1; /* kludge for docall() */ otmp->fromsink = 1; /* kludge for docall() */
(void) dopotion(otmp); (void) dopotion(otmp);
obfree(otmp, (struct obj *)0); obfree(otmp, (struct obj *)0);
break; break;
+3 -7
View File
@@ -666,12 +666,8 @@ peffects(otmp)
pline("(But in fact it was mildly stale %s.)", pline("(But in fact it was mildly stale %s.)",
fruitname(TRUE)); fruitname(TRUE));
if (!Role_if(PM_HEALER)) { if (!Role_if(PM_HEALER)) {
if (otmp->corpsenm) /* NB: blessed otmp->fromsink is not possible */
losehp(1, losehp(1, "mildly contaminated potion", KILLED_BY_AN);
"mildly contaminated tap water", KILLED_BY);
else
losehp(1,
"mildly contaminated potion", KILLED_BY_AN);
} }
} else { } else {
if(Poison_resistance) if(Poison_resistance)
@@ -690,7 +686,7 @@ peffects(otmp)
TRUE); TRUE);
} }
if(!Poison_resistance) { if(!Poison_resistance) {
if (otmp->corpsenm) if (otmp->fromsink)
losehp(rnd(10)+5*!!(otmp->cursed), losehp(rnd(10)+5*!!(otmp->cursed),
"contaminated tap water", KILLED_BY); "contaminated tap water", KILLED_BY);
else else