summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fprop.cc
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2010-01-17 15:29:52 +1000
committerJude Brown <bookofjude@users.sourceforge.net>2010-01-17 15:38:52 +1000
commitc4246fc216beca0282bf281274a3756a10086f87 (patch)
tree768ca84ef7c18324a23319797f2a0716cbf634a2 /crawl-ref/source/fprop.cc
parent34d58cf8983364cfc3dc71d14a552e33ff087b5f (diff)
downloadcrawl-ref-c4246fc216beca0282bf281274a3756a10086f87.tar.gz
crawl-ref-c4246fc216beca0282bf281274a3756a10086f87.zip
Code to alter/check feature properties in Lua.
This commit moves str_to_fprop from initfile.cc to fprop.cc. It also introduces two new dungeon Lua wrappers: fprop_changed(x, y, fprop), and fprop_at(x, y, fprop). fprop_at(x, y, fprop) will return testbits(coord_def(x, y), fprop). fprop_changed will either add the fprop to that location, or if it already exists there, it will remove it from that location. It will returrn a boolean value of true if it altered the location, and false if it did nothing.
Diffstat (limited to 'crawl-ref/source/fprop.cc')
-rw-r--r--crawl-ref/source/fprop.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/crawl-ref/source/fprop.cc b/crawl-ref/source/fprop.cc
index 50023409d0..5ab09c5279 100644
--- a/crawl-ref/source/fprop.cc
+++ b/crawl-ref/source/fprop.cc
@@ -23,3 +23,21 @@ bool is_bloodcovered(const coord_def& p)
{
return (testbits(env.pgrid(p), FPROP_BLOODY));
}
+
+int str_to_fprop ( const std::string &str)
+{
+ if (str == "bloody")
+ return (FPROP_BLOODY);
+ if (str == "no_cloud_gen")
+ return (FPROP_NO_CLOUD_GEN);
+ if (str == "no_rtele_into")
+ return (FPROP_NO_RTELE_INTO);
+ if (str == "no_ctele_into")
+ return (FPROP_NO_CTELE_INTO);
+ if (str == "no_tele_into")
+ return (FPROP_NO_TELE_INTO);
+
+ return (FPROP_NONE);
+}
+
+