summaryrefslogtreecommitdiff
path: root/src/map/npc-parse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/npc-parse.cpp')
-rw-r--r--src/map/npc-parse.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/map/npc-parse.cpp b/src/map/npc-parse.cpp
index 0a0d682..9ee84d2 100644
--- a/src/map/npc-parse.cpp
+++ b/src/map/npc-parse.cpp
@@ -354,7 +354,7 @@ bool npc_load_mapflag(ast::npc::MapFlag& mapflag)
}
MapName savemap;
- int savex, savey;
+ int savex, savey, mask;
if (mf == MapFlag::NOSAVE)
{
@@ -392,6 +392,19 @@ bool npc_load_mapflag(ast::npc::MapFlag& mapflag)
return false;
}
}
+ else if (mf == MapFlag::MASK)
+ {
+ if (mapflag.vec_extra.data.size() == 1
+ && extract(mapflag.vec_extra.data[0].data, &mask))
+ {
+ m->mask = mask;
+ }
+ else
+ {
+ mapflag.vec_extra.span.error("Unable to extract map mask"_s);
+ return false;
+ }
+ }
else
{
if (mapflag.vec_extra.data.size())