summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapmark.h
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mapmark.h')
-rw-r--r--crawl-ref/source/mapmark.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/crawl-ref/source/mapmark.h b/crawl-ref/source/mapmark.h
index f8137d4308..cc7e2ee5ee 100644
--- a/crawl-ref/source/mapmark.h
+++ b/crawl-ref/source/mapmark.h
@@ -14,7 +14,7 @@ enum map_marker_type
{
MAT_FEATURE, // Stock marker.
MAT_LUA_MARKER,
- MAT_FEATURE_NAME,
+ MAT_CORRUPTION_NEXUS,
NUM_MAP_MARKER_TYPES,
MAT_ANY
};
@@ -69,6 +69,23 @@ public:
dungeon_feature_type feat;
};
+class map_corruption_marker : public map_marker
+{
+public:
+ map_corruption_marker(const coord_def &pos = coord_def(0, 0),
+ int dur = 0);
+
+ void write(tagHeader &) const;
+ void read(tagHeader &);
+
+ std::string debug_describe() const;
+
+ static map_marker *read(tagHeader &, map_marker_type);
+
+public:
+ int duration, radius;
+};
+
// A marker powered by Lua.
class map_lua_marker : public map_marker, public dgn_event_listener
{
@@ -104,8 +121,9 @@ void env_activate_markers();
void env_add_marker(map_marker *);
void env_remove_marker(map_marker *);
void env_remove_markers_at(const coord_def &c, map_marker_type);
-std::vector<map_marker*> env_get_all_markers();
+std::vector<map_marker*> env_get_all_markers(map_marker_type = MAT_ANY);
map_marker *env_find_marker(const coord_def &c, map_marker_type);
+map_marker *env_find_marker(map_marker_type type);
std::vector<map_marker*> env_get_markers(const coord_def &c);
void env_clear_markers();
std::string env_property_at(const coord_def &c, map_marker_type,