diff options
author | Adam Borowski <kilobyte@angband.pl> | 2009-12-19 22:52:31 +0100 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2009-12-20 17:29:36 +0100 |
commit | 75cf943abb6e77df046924a0f6946c21c5798862 (patch) | |
tree | 454b65cdf15890d60567790b51ab28eff27bb13b /crawl-ref/source/mon-project.cc | |
parent | 8e45c6edf11d3c293961ca9938467ed91c1a340c (diff) | |
download | crawl-ref-75cf943abb6e77df046924a0f6946c21c5798862.tar.gz crawl-ref-75cf943abb6e77df046924a0f6946c21c5798862.zip |
Tloc smoke trail. Doesn't look good IMO, I'd replace it with normal transparent smoke.
Diffstat (limited to 'crawl-ref/source/mon-project.cc')
-rw-r--r-- | crawl-ref/source/mon-project.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/crawl-ref/source/mon-project.cc b/crawl-ref/source/mon-project.cc index cb37776c61..4fd4583fe3 100644 --- a/crawl-ref/source/mon-project.cc +++ b/crawl-ref/source/mon-project.cc @@ -15,6 +15,7 @@ #include "externs.h" +#include "cloud.h" #include "coord.h" #include "env.h" #include "mgen_data.h" @@ -61,7 +62,7 @@ bool cast_iood(actor *caster, int pow, bolt *beam) mon.flags &= ~MF_JUST_SUMMONED; // Move away from the caster's square. - iood_act(mon); + iood_act(mon, true); mon.lose_energy(EUT_MOVE); return (true); } @@ -105,7 +106,7 @@ bool _iood_hit(monsters &mon, const coord_def &pos) } // returns true if the orb is gone -bool iood_act(monsters &mon) +bool iood_act(monsters &mon, bool no_trail) { ASSERT(mons_is_projectile(mon.type)); @@ -168,6 +169,13 @@ bool iood_act(monsters &mon) } } + if (!no_trail) + { + place_cloud(CLOUD_TLOC_ENERGY, mon.pos(), + 2 + random2(3), mon.kill_alignment(), + KILL_MON_MISSILE); + } + if (!mon.move_to_pos(pos)) { _iood_dissipate(mon); |