summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2009-12-19 22:52:31 +0100
committerAdam Borowski <kilobyte@angband.pl>2009-12-20 17:29:36 +0100
commit75cf943abb6e77df046924a0f6946c21c5798862 (patch)
tree454b65cdf15890d60567790b51ab28eff27bb13b /crawl-ref/source
parent8e45c6edf11d3c293961ca9938467ed91c1a340c (diff)
downloadcrawl-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')
-rw-r--r--crawl-ref/source/mon-act.cc7
-rw-r--r--crawl-ref/source/mon-project.cc12
-rw-r--r--crawl-ref/source/mon-project.h2
3 files changed, 11 insertions, 10 deletions
diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc
index a3a46955ce..62df9c963b 100644
--- a/crawl-ref/source/mon-act.cc
+++ b/crawl-ref/source/mon-act.cc
@@ -3425,13 +3425,6 @@ 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
{
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);
diff --git a/crawl-ref/source/mon-project.h b/crawl-ref/source/mon-project.h
index 3f17a9c755..a57afbbd80 100644
--- a/crawl-ref/source/mon-project.h
+++ b/crawl-ref/source/mon-project.h
@@ -12,6 +12,6 @@
bool mons_is_projectile(monster_type mt);
bool cast_iood(actor *caster, int pow, bolt *beam);
-bool iood_act(monsters &mon);
+bool iood_act(monsters &mon, bool no_trail = false);
#endif