summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapmark.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-19 04:18:53 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-19 04:18:53 +0000
commit63318a4b57b03ffc4686e4a3b78d64b73f50b6b9 (patch)
treead233d952c0197fdf2ec3e1707cd1cc6d31a2bff /crawl-ref/source/mapmark.h
parent5b3a525f14d218f3a8efec572ea347c2f6c13c3d (diff)
downloadcrawl-ref-63318a4b57b03ffc4686e4a3b78d64b73f50b6b9.tar.gz
crawl-ref-63318a4b57b03ffc4686e4a3b78d64b73f50b6b9.zip
If wizard mode is on when going through a portal to a bazaar, Crawl will
ask the user for the name of a bazaar map to load (minus the "bazaar_" at the front of the name); escape or enter can be pressed to get a random map. Adds new wizard command 'P', to create portal-vault-portals to arbitrary destinations (though any desitnation but "bazaar" will currently cause an assertion when the portal is entered). Adds new map marker class map_wiz_props_marker, which can be used by wizard commands to create a map marker with abritrary properties. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2143 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/mapmark.h')
-rw-r--r--crawl-ref/source/mapmark.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/crawl-ref/source/mapmark.h b/crawl-ref/source/mapmark.h
index 81c1e1d060..f277295db7 100644
--- a/crawl-ref/source/mapmark.h
+++ b/crawl-ref/source/mapmark.h
@@ -5,6 +5,8 @@
#include "dgnevent.h"
#include "clua.h"
#include "luadgn.h"
+#include <map>
+#include <string>
//////////////////////////////////////////////////////////////////////////
// Map markers
@@ -112,4 +114,24 @@ private:
std::string call_str_fn(const char *fn) const;
};
+class map_wiz_props_marker : public map_marker
+{
+public:
+ map_wiz_props_marker(const coord_def &pos = coord_def(0, 0));
+ map_wiz_props_marker(const map_wiz_props_marker &other);
+ void write(tagHeader &) const;
+ void read(tagHeader &);
+ std::string debug_describe() const;
+ std::string feature_description() const;
+ std::string property(const std::string &pname) const;
+ std::string set_property(const std::string &key, const std::string &val);
+ map_marker *clone() const;
+ static map_marker *read(tagHeader &, map_marker_type);
+ static map_marker *parse(const std::string &s, const std::string &)
+ throw (std::string);
+
+public:
+ std::map<std::string, std::string> properties;
+};
+
#endif