summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/util
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2009-10-21 15:47:19 +1000
committerAdam Borowski <kilobyte@angband.pl>2009-10-21 13:56:37 +0200
commit2c835d08acebcbdf28db5dbe6c9afcff318e7919 (patch)
tree0064538c97eff64ba19e7f7e1a40d1c3f3bfa44a /crawl-ref/source/util
parent17151da3549aeb8b8d70b2e913c6114f40b82f33 (diff)
downloadcrawl-ref-2c835d08acebcbdf28db5dbe6c9afcff318e7919.tar.gz
crawl-ref-2c835d08acebcbdf28db5dbe6c9afcff318e7919.zip
KPROP: assign feature properties in Lua vaults: FPROP_BLOODY, etc.
Diffstat (limited to 'crawl-ref/source/util')
-rw-r--r--crawl-ref/source/util/levcomp.lpp1
-rw-r--r--crawl-ref/source/util/levcomp.ypp12
2 files changed, 12 insertions, 1 deletions
diff --git a/crawl-ref/source/util/levcomp.lpp b/crawl-ref/source/util/levcomp.lpp
index 9046a1ab95..dc2ea7ca6f 100644
--- a/crawl-ref/source/util/levcomp.lpp
+++ b/crawl-ref/source/util/levcomp.lpp
@@ -260,6 +260,7 @@ KFEAT: { CBEGIN(ARGUMENT); return KFEAT; }
KITEM: { CBEGIN(ARGUMENT); return KITEM; }
KMONS: { CBEGIN(ARGUMENT); return KMONS; }
KMASK: { CBEGIN(ARGUMENT); return KMASK; }
+KPROP: { CBEGIN(ARGUMENT); return KPROP; }
, return COMMA;
diff --git a/crawl-ref/source/util/levcomp.ypp b/crawl-ref/source/util/levcomp.ypp
index d5c21bad3e..500006b2fd 100644
--- a/crawl-ref/source/util/levcomp.ypp
+++ b/crawl-ref/source/util/levcomp.ypp
@@ -51,7 +51,7 @@ level_range set_range(const char *s, int start, int end)
/* Two harmless shift/reduce conflicts */
%expect 2
-%token <i> DEFAULT_DEPTH SHUFFLE SUBST TAGS KFEAT KITEM KMONS KMASK
+%token <i> DEFAULT_DEPTH SHUFFLE SUBST TAGS KFEAT KITEM KMONS KMASK KPROP
%token <i> NAME DEPTH ORIENT PLACE CHANCE WEIGHT MONS ITEM MARKER COLOUR
%token <i> PRELUDE MAIN VALIDATE VETO NSUBST WELCOME LFLAGS BFLAGS
%token <i> LFLOORCOL LROCKCOL LFLOORTILE LROCKTILE FTILE RTILE
@@ -174,6 +174,7 @@ metaline : place
| kitem
| kmons
| kmask
+ | kprop
| main_lua
| prelude_lua
| validate_lua
@@ -272,6 +273,15 @@ kmask : KMASK { }
quote_lua_string($2).c_str()));
}
+kprop : KPROP { }
+ | KPROP STRING
+ {
+ lc_map.main.add(
+ yylineno,
+ make_stringf("kprop(\"%s\")",
+ quote_lua_string($2).c_str()));
+ }
+
shuffle : SHUFFLE shuffle_specifiers {}
;