summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-01 11:11:33 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-01 11:11:33 +0000
commitf79f1dcbc304c5bc0736ad2bee5dcbb67bad05f2 (patch)
treedf1f7d1808e34919b8d121deeea83d8788a90a38 /crawl-ref/source/beam.h
parent1531585b32d3e58d21307860624881d3d998e38d (diff)
downloadcrawl-ref-f79f1dcbc304c5bc0736ad2bee5dcbb67bad05f2.tar.gz
crawl-ref-f79f1dcbc304c5bc0736ad2bee5dcbb67bad05f2.zip
Make tracer beams call stop_attack_prompt() for foes as well as for
friends, to check for attacking foes while in sanctuary. The way it's done means that if you or an enemy is in sanctuary and the beam also passes through an ally then it will prompt you twice, once for the first friend and once for the first foe, but that shouldn't be too much of a problem. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6287 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/beam.h')
-rw-r--r--crawl-ref/source/beam.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/crawl-ref/source/beam.h b/crawl-ref/source/beam.h
index 04aee533df..d6f3e6e164 100644
--- a/crawl-ref/source/beam.h
+++ b/crawl-ref/source/beam.h
@@ -148,6 +148,11 @@ struct bolt
mon_attitude_type attitude; // attitude of whoever fired tracer
int foe_ratio; // 100* foe ratio (see mons_should_fire())
bool chose_ray; // do we want a specific ray?
+ bool beam_stopped; // stop_attack_prompt() returned true
+ bool dont_stop_foe; // stop_attack_prompt() returned false for foe
+ bool dont_stop_fr; // stop_attack_prompt() returned false for
+ // friend
+
ray_def ray; // shoot on this specific ray
public:
@@ -183,11 +188,11 @@ void fire_beam(bolt &pbolt, item_def *item = NULL, bool drop_item = false);
* called from: ability - it_use3 - item_use - mstuff2 - religion -
* spells - spells4
* *********************************************************************** */
-void explosion( bolt &pbolt, bool hole_in_the_middle = false,
- bool explode_in_wall = false,
- bool stop_at_statues = true,
- bool stop_at_walls = true,
- bool show_more = true);
+int explosion( bolt &pbolt, bool hole_in_the_middle = false,
+ bool explode_in_wall = false,
+ bool stop_at_statues = true,
+ bool stop_at_walls = true,
+ bool show_more = true);
// last updated 22jan2001 {gdl}
/* ***********************************************************************