costly_alteration() tweaking (trunk only)
For cancellation I accidentally used terrain type WATER when I meant
object type POT_WATER, so being charged for cancelling holy or unholy water
wasn't working. When I first put in COST_UNHOLY the name made some sense
based on its usage, but after later adding COST_UNBLSS it didn't any more;
change it to COST_UNCURS.
A shopkeeper's complaint that you're uncursing or unblessing his wares
(only applies to water) now sets bknown flag since you know that the object
has become uncursed. I hadn't realized that confused remove curse only
affects uncursed objects; this greatly simplifies extra code I added there
for costly_alteration().
[No fixes entry needed.]
This commit is contained in:
@@ -855,7 +855,7 @@ register struct obj *obj;
|
||||
(obj->spe && (obj->oclass == ARMOR_CLASS ||
|
||||
obj->oclass == WEAPON_CLASS || is_weptool(obj))) ||
|
||||
otyp == POT_ACID || otyp == POT_SICKNESS ||
|
||||
(otyp == WATER && (obj->blessed || obj->cursed))) {
|
||||
(otyp == POT_WATER && (obj->blessed || obj->cursed))) {
|
||||
if (obj->spe != ((obj->oclass == WAND_CLASS) ? -1 : 0) &&
|
||||
otyp != WAN_CANCELLATION && /* can't cancel cancellation */
|
||||
otyp != MAGIC_LAMP && /* cancelling doesn't remove djini */
|
||||
@@ -876,8 +876,8 @@ register struct obj *obj;
|
||||
}
|
||||
break;
|
||||
case POTION_CLASS:
|
||||
costly_alteration(obj, (otyp == WATER && obj->cursed) ?
|
||||
COST_UNHOLY : COST_CANCEL);
|
||||
costly_alteration(obj, (otyp != POT_WATER) ? COST_CANCEL :
|
||||
obj->cursed ? COST_UNCURS : COST_UNBLSS);
|
||||
if (otyp == POT_SICKNESS || otyp == POT_SEE_INVISIBLE) {
|
||||
/* sickness is "biologically contaminated" fruit juice;
|
||||
cancel it and it just becomes fruit juice...
|
||||
|
||||
Reference in New Issue
Block a user