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:
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user