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) { } else if (olet == BURNING_OIL) {
/* used to provide extra information to zap_over_floor() */ /* used to provide extra information to zap_over_floor() */
exploding_wand_typ = POT_OIL; exploding_wand_typ = POT_OIL;
} else if (olet == SCROLL_CLASS) {
/* ditto */
exploding_wand_typ = SCR_FIRE;
} }
/* muse_unslime: SCR_FIRE */ /* muse_unslime: SCR_FIRE */
if (expltype < 0) { if (expltype < 0) {

View File

@@ -1763,7 +1763,9 @@ seffect_fire(struct obj **sobjp)
burn_away_slime(); 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 static void

View File

@@ -4841,11 +4841,13 @@ zap_over_floor(
zapverb = "bolt"; /* wand zap */ zapverb = "bolt"; /* wand zap */
else if (abs(type) < ZT_BREATH(0)) else if (abs(type) < ZT_BREATH(0))
zapverb = "spell"; 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() /* breakobj() -> explode_oil() -> splatter_burning_oil()
-> explode(ZT_SPELL(ZT_FIRE), BURNING_OIL) -> explode(ZT_SPELL(ZT_FIRE), BURNING_OIL)
-> zap_over_floor(ZT_SPELL(ZT_FIRE), POT_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 */ exploding_wand_typ = 0; /* not actually an exploding wand */
} }