Impossible timer after dipping a lit potion of oil

Dipping a lit potion of oil into another potion could
turn the potion of oil into another potion; this resulted
in "burn_object: unexpected obj" impossible after the lit timer
ran out.

Just make an explosion if trying to dip a lit potion of oil.
This commit is contained in:
Pasi Kallinen
2024-12-28 19:38:55 +02:00
parent bb57c38e24
commit 6530951fd5

View File

@@ -2495,7 +2495,8 @@ potion_dip(struct obj *obj, struct obj *potion)
useup(potion); /* now gone */
/* Mixing potions is dangerous...
KMH, balance patch -- acid is particularly unstable */
if (obj->cursed || obj->otyp == POT_ACID || !rn2(10)) {
if (obj->cursed || obj->otyp == POT_ACID
|| (obj->otyp == POT_OIL && obj->lamplit) || !rn2(10)) {
/* it would be better to use up the whole stack in advance
of the message, but we can't because we need to keep it
around for potionbreathe() [and we can't set obj->in_use