} 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) {
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
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 */
}