From 1d32bfb9b6cba640582421dbc152056bddf379e7 Mon Sep 17 00:00:00 2001 From: Corin Buchanan-Howland Date: Sat, 15 Jul 2017 12:47:25 -0400 Subject: [PATCH] Allow poisonous vapours to target spaces that might have monsters (Siegurt) You can now cast this spell on any space, but if there is no monster there it will fizzle, much as Airstrike does. --- crawl-ref/source/spl-clouds.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/crawl-ref/source/spl-clouds.cc b/crawl-ref/source/spl-clouds.cc index 4d343d112a7..8987a3fff70 100644 --- a/crawl-ref/source/spl-clouds.cc +++ b/crawl-ref/source/spl-clouds.cc @@ -127,15 +127,16 @@ spret_type cast_poisonous_vapours(int pow, const dist &beam, bool fail) } monster* mons = monster_at(beam.target); - if (!mons || mons->submerged() || !you.can_see(*mons)) + if (!mons || mons->submerged()) { - mpr("You can't see any monster there!"); - return SPRET_ABORT; + fail_check(); + canned_msg(MSG_SPELL_FIZZLES); + return SPRET_SUCCESS; // still losing a turn } - if (actor_cloud_immune(*mons, CLOUD_POISON)) + if (actor_cloud_immune(*mons, CLOUD_POISON) && mons->observable()) { - mprf("But poisonous clouds would do no harm to %s!", + mprf("But poisonous vapours would do no harm to %s!", mons->name(DESC_THE).c_str()); return SPRET_ABORT; }