summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapmark.h
diff options
context:
space:
mode:
authorDracoOmega <draco_omega@live.com>2013-04-06 18:12:54 -0230
committerDracoOmega <draco_omega@live.com>2013-05-26 18:58:12 -0230
commit86487b697a501cb5665c7fcfdd8e917d826518de (patch)
tree34f6ffb3da3c2b21524f88ea8de4792cadad5349 /crawl-ref/source/mapmark.h
parent45d14c8255a2284fdfd63e29012f402e07458077 (diff)
downloadcrawl-ref-86487b697a501cb5665c7fcfdd8e917d826518de.tar.gz
crawl-ref-86487b697a501cb5665c7fcfdd8e917d826518de.zip
Add map markers for temporary terrain changes
The supporting code to allow them to actually do things will be forthcoming.
Diffstat (limited to 'crawl-ref/source/mapmark.h')
-rw-r--r--crawl-ref/source/mapmark.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/crawl-ref/source/mapmark.h b/crawl-ref/source/mapmark.h
index 9c3dba2939..751fcb9a74 100644
--- a/crawl-ref/source/mapmark.h
+++ b/crawl-ref/source/mapmark.h
@@ -185,6 +185,31 @@ public:
dungeon_feature_type old_feature;
};
+// A marker for temporary terrain changes
+class map_terrain_change_marker : public map_marker
+{
+public:
+ map_terrain_change_marker (const coord_def& pos = coord_def(0, 0),
+ dungeon_feature_type oldfeat = DNGN_FLOOR,
+ dungeon_feature_type newfeat = DNGN_FLOOR,
+ int dur = 0, terrain_change_type type = TERRAIN_CHANGE_GENERIC,
+ int mnum = MONS_NO_MONSTER);
+
+ void write (writer &) const;
+ void read (reader &);
+ map_marker *clone() const;
+ string debug_describe() const;
+
+ static map_marker *read(reader &, map_marker_type);
+
+public:
+ int duration;
+ int mon_num;
+ dungeon_feature_type old_feature;
+ dungeon_feature_type new_feature;
+ terrain_change_type change_type;
+};
+
// A marker powered by Lua.
class map_lua_marker : public map_marker, public dgn_event_listener
{