From ef9d874c226a3ae32dca323e37f7b3f9be3d0e1e Mon Sep 17 00:00:00 2001 From: PatR Date: Sat, 28 May 2022 14:09:31 -0700 Subject: [PATCH] more PR #771 - blast vs spell Add the patch from entrez to describe the tower of flame effect from a scroll of fire as "the blast" rather than "your spell" if it reveals a secret door. --- src/explode.c | 3 +++ src/read.c | 4 +++- src/zap.c | 6 ++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/explode.c b/src/explode.c index f9e2ac77c..de8bb3f90 100644 --- a/src/explode.c +++ b/src/explode.c @@ -85,6 +85,9 @@ explode( } else if (olet == BURNING_OIL) { /* used to provide extra information to zap_over_floor() */ exploding_wand_typ = POT_OIL; + } else if (olet == SCROLL_CLASS) { + /* ditto */ + exploding_wand_typ = SCR_FIRE; } /* muse_unslime: SCR_FIRE */ if (expltype < 0) { diff --git a/src/read.c b/src/read.c index b73c129cf..6d474103d 100644 --- a/src/read.c +++ b/src/read.c @@ -1763,7 +1763,9 @@ seffect_fire(struct obj **sobjp) burn_away_slime(); } } - explode(cc.x, cc.y, 11, dam, SCROLL_CLASS, EXPL_FIERY); +#define ZT_SPELL_O_FIRE 11 /* explained in splatter_burning_oil(explode.c) */ + explode(cc.x, cc.y, ZT_SPELL_O_FIRE, dam, SCROLL_CLASS, EXPL_FIERY); +#undef ZT_SPELL_O_FIRE } static void diff --git a/src/zap.c b/src/zap.c index a3ab9b820..6c139cf35 100644 --- a/src/zap.c +++ b/src/zap.c @@ -4841,11 +4841,13 @@ zap_over_floor( zapverb = "bolt"; /* wand zap */ else if (abs(type) < ZT_BREATH(0)) zapverb = "spell"; - } else if (exploding_wand_typ == POT_OIL) { + } else if (exploding_wand_typ == POT_OIL + || exploding_wand_typ == SCR_FIRE) { /* breakobj() -> explode_oil() -> splatter_burning_oil() -> explode(ZT_SPELL(ZT_FIRE), BURNING_OIL) -> zap_over_floor(ZT_SPELL(ZT_FIRE), POT_OIL) */ - yourzap = FALSE; /* and leave zapverb as "blast" */ + /* leave zapverb as "blast"; exploding_wand_typ was nonzero, so + 'yourzap' is FALSE and the result will be "the blast" */ exploding_wand_typ = 0; /* not actually an exploding wand */ } -- 2.50.1