summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/travel.h
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2009-10-24 12:25:46 +1000
committerRobert Vollmert <rvollmert@gmx.net>2009-10-24 14:37:58 +0200
commite4d195a439f1cbcd6a4302a3fd7d7454cfb04d42 (patch)
tree4f8e1c5dcfbe42561fa28d5918b2778b8345fb5e /crawl-ref/source/travel.h
parent394fb595f6d03fa9d266ed28726975e0b59bc798 (diff)
downloadcrawl-ref-e4d195a439f1cbcd6a4302a3fd7d7454cfb04d42.tar.gz
crawl-ref-e4d195a439f1cbcd6a4302a3fd7d7454cfb04d42.zip
Make FPROP_FORCE_EXCLUDE set an actual travel exclusion.
FPROP_FORCE_EXCLUDE now sets an actual travel exclusion rather than bypassing the travel exclusion system. Exclusions are single squares. Signed-off-by: Jude Brown <bookofjude@users.sourceforge.net> Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
Diffstat (limited to 'crawl-ref/source/travel.h')
-rw-r--r--crawl-ref/source/travel.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/crawl-ref/source/travel.h b/crawl-ref/source/travel.h
index 42232088f2..51b5cfdf4d 100644
--- a/crawl-ref/source/travel.h
+++ b/crawl-ref/source/travel.h
@@ -63,7 +63,7 @@ void travel_init_new_level();
void cycle_exclude_radius(const coord_def &p);
void del_exclude(const coord_def &p);
void set_exclude(const coord_def &p, int radius = LOS_RADIUS,
- bool autoexcl = false);
+ bool autoexcl = false, bool vaultexcl = false);
void maybe_remove_autoexclusion(const coord_def &p);
std::string get_exclusion_desc();
void clear_excludes();
@@ -352,20 +352,22 @@ void update_exclusion_los(std::vector<coord_def> changed);
struct travel_exclude
{
- coord_def pos; // exclusion centre
- int radius; // exclusion radius
- bool autoexclude; // Was set automatically.
- int mon; // Monster around which exclusion is centered.
- los_def los; // los from exclusion centre
- bool uptodate; // Is los up to date?
+ coord_def pos; // exclusion centre
+ int radius; // exclusion radius
+ bool autoexclude; // Was set automatically.
+ int mon; // Monster around which exclusion is centered.
+ los_def los; // los from exclusion centre
+ bool uptodate; // Is los up to date?
+ bool vaultexclude; // Is this exclusion set by a vault?
int radius_sq() const;
void set_los();
bool affects(const coord_def& p) const;
travel_exclude(const coord_def &p, int r = LOS_RADIUS,
- bool autoexcl = false, int mons = NON_MONSTER)
- : pos(p), radius(r), autoexclude(autoexcl), mon(mons)
+ bool autoexcl = false, int mons = NON_MONSTER,
+ bool vaultexcl = false)
+ : pos(p), radius(r), autoexclude(autoexcl), mon(mons), vaultexclude(vaultexcl)
{
set_los();
}