summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-act.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-02-24 21:55:17 -0700
committerSteve Melenchuk <smelenchuk@gmail.com>2014-02-26 21:19:58 -0700
commit75deb85f6e81443628063de806a368df0c3b08a3 (patch)
treef273b4bd7fa2f970aa3803621bc477befcbf7cc9 /crawl-ref/source/mon-act.cc
parent677420826d3fc95192aa22869fe859f2093952cc (diff)
downloadcrawl-ref-75deb85f6e81443628063de806a368df0c3b08a3.tar.gz
crawl-ref-75deb85f6e81443628063de806a368df0c3b08a3.zip
Rod of frigid destruction -> Rod of clouds.
Sprays clouds over a cone-shaped area in front of the caster. At low power it gives rain, mist, or noxious fumes; mid-tier gives flames, freezing vapour, or poison gas; high-tier gives one of three new cloud types - acidic fog, negative energy, or storm clouds. The targeter is from an experimental implementation of a spell called "Scattershot", hence the name and some of the functionality it provides which goes unused here.
Diffstat (limited to 'crawl-ref/source/mon-act.cc')
-rw-r--r--crawl-ref/source/mon-act.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc
index 78d13b184e..140cd59e83 100644
--- a/crawl-ref/source/mon-act.cc
+++ b/crawl-ref/source/mon-act.cc
@@ -47,6 +47,7 @@
#include "religion.h"
#include "shopping.h" // for item values
#include "spl-book.h"
+#include "spl-clouds.h"
#include "spl-damage.h"
#include "spl-summoning.h"
#include "spl-util.h"
@@ -1266,6 +1267,7 @@ static bool _handle_rod(monster *mons, bolt &beem)
case SPELL_POISON_ARROW:
case SPELL_THROW_FLAME:
case SPELL_THROW_FROST:
+ case SPELL_CLOUD_CONE:
break;
case SPELL_FIREBALL:
@@ -1325,6 +1327,8 @@ static bool _handle_rod(monster *mons, bolt &beem)
}
else if (mzap == SPELL_THUNDERBOLT)
zap = _thunderbolt_tracer(mons, power, beem.target);
+ else if (mzap == SPELL_CLOUD_CONE)
+ zap = mons_should_cloud_cone(mons, power, beem.target);
else
{
fire_tracer(mons, beem);
@@ -1346,6 +1350,12 @@ static bool _handle_rod(monster *mons, bolt &beem)
cast_thunderbolt(mons, power, beem.target);
return _rod_fired_post(mons, rod, weapon, beem, rate, was_visible);
}
+ else if (mzap == SPELL_CLOUD_CONE)
+ {
+ _rod_fired_pre(mons);
+ cast_cloud_cone(mons, power, beem.target);
+ return _rod_fired_post(mons, rod, weapon, beem, rate, was_visible);
+ }
else if (zap)
{
_rod_fired_pre(mons);