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.
This commit is contained in:
PatR
2022-05-28 14:09:31 -07:00
parent 07a2ba6b54
commit ef9d874c22
3 changed files with 10 additions and 3 deletions

View File

@@ -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) {

View File

@@ -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

View File

@@ -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 */
}