From 6530951fd5d22eeb04b3332f4798f40f3e09ea69 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Sat, 28 Dec 2024 19:38:55 +0200 Subject: [PATCH] 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. --- src/potion.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/potion.c b/src/potion.c index 25989fff5..9d5a89fc8 100644 --- a/src/potion.c +++ b/src/potion.c @@ -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