summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/util/levcomp.ypp
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/util/levcomp.ypp')
-rw-r--r--crawl-ref/source/util/levcomp.ypp12
1 files changed, 11 insertions, 1 deletions
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 {}
;