diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-02 12:48:15 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-02 12:48:15 +0000 |
commit | 445895d95df53255dd570691f1ebb3eb538348d0 (patch) | |
tree | 2d840a26c0f7a44b50c3d88a48038a5c13a5c24c /crawl-ref/source/beam.cc | |
parent | e6584efd5c0dfe8d24d07ceca6db2d563d2b9cd9 (diff) | |
download | crawl-ref-445895d95df53255dd570691f1ebb3eb538348d0.tar.gz crawl-ref-445895d95df53255dd570691f1ebb3eb538348d0.zip |
Revert the change on ammo handling for Tiles, and replace it with a more
generic logic that uses item tiles for BEAM_MISSILE, else bolts
according to flavour.
Identify monster fired ammunition ego if the launcher ego is known, not
that it has much of an effect because plain ammo gets no special
description.
In the message list the fired item as it will look to the player (i.e.
"arrow of ice" for a plain arrow fired off a bow of frost), even though
the item actually dropped will still be a plain one. I hope this isn't
too confusing. (And if it is, it should be easy to revert. :p)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6331 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r-- | crawl-ref/source/beam.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index d8c7fafd58..5ace0228a4 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -214,6 +214,7 @@ static void _ench_animation( int flavour, const monsters *mon, bool force ) || flavour == BEAM_BANISH || flavour == BEAM_BLINK) ? EC_WARP : EC_ENCHANT; + zap_animation( element_colour( elem ), mon, force ); } @@ -1761,7 +1762,7 @@ void fire_beam(bolt &pbolt, item_def *item, bool drop_item) #ifdef USE_TILE int tile_beam = -1; - if (item && !pbolt.is_tracer) + if (item && !pbolt.is_tracer && pbolt.flavour == BEAM_MISSILE) { tile_beam = tileidx_item_throw(*item, pbolt.target_x - pbolt.source_x, @@ -4358,7 +4359,7 @@ static int _affect_monster(bolt &beam, monsters *mon, item_def *item) if (beam.fr_count == 1 && !beam.dont_stop_fr) beam.dont_stop_fr = true; else - beam.dont_stop_foe = true; + beam.dont_stop_foe = true; } } @@ -4520,7 +4521,7 @@ static int _affect_monster(bolt &beam, monsters *mon, item_def *item) if (beam.fr_count == 1 && !beam.dont_stop_fr) beam.dont_stop_fr = true; else - beam.dont_stop_foe = true; + beam.dont_stop_foe = true; } } |