diff options
author | Adam Borowski <kilobyte@angband.pl> | 2009-12-19 22:51:57 +0100 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2009-12-20 17:29:36 +0100 |
commit | 0cebeb433d68aea197f5ee1d2c38809b71c2e3dd (patch) | |
tree | 67cea0b5ab60075666e8ca110c9aa7035bfa0d79 /crawl-ref/source/mon-act.cc | |
parent | 7e4b512c4cf3b6269ddb3748760c8cf050b60b39 (diff) | |
download | crawl-ref-0cebeb433d68aea197f5ee1d2c38809b71c2e3dd.tar.gz crawl-ref-0cebeb433d68aea197f5ee1d2c38809b71c2e3dd.zip |
Iskenderun's Orb of Destruction
Diffstat (limited to 'crawl-ref/source/mon-act.cc')
-rw-r--r-- | crawl-ref/source/mon-act.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc index 16c025e217..a3a46955ce 100644 --- a/crawl-ref/source/mon-act.cc +++ b/crawl-ref/source/mon-act.cc @@ -33,6 +33,7 @@ #include "mon-cast.h" #include "mon-iter.h" #include "mon-place.h" +#include "mon-project.h" #include "mgen_data.h" #include "coord.h" #include "mon-stuff.h" @@ -1708,6 +1709,14 @@ static void _handle_monster_move(monsters *monster) } old_energy = monster->speed_increment; + if (mons_is_projectile(monster->type)) + { + if (iood_act(*monster)) + return; + monster->lose_energy(EUT_MOVE); + continue; + } + monster->shield_blocks = 0; cloud_type cl_type; @@ -3416,6 +3425,13 @@ static bool _monster_move(monsters *monster) 2 + random2(3), monster->kill_alignment(), KILL_MON_MISSILE ); } + + if (monster->type == MONS_ORB_OF_DESTRUCTION) + { + place_cloud( CLOUD_TLOC_ENERGY, monster->pos(), + 2 + random2(3), monster->kill_alignment(), + KILL_MON_MISSILE ); + } } else { |