From c82e15aebf3c9d88116be75082d938be8c4d635e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sven=20G=2E=20Bro=CC=88nstrup?= <broenstrup@spom.net>
Date: Wed, 22 Dec 2021 20:58:11 +0100
Subject: [PATCH] Fixed types of extended scripts properties

---
 lib/Properties.hs | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/Properties.hs b/lib/Properties.hs
index 6f53c48..1b6cab8 100644
--- a/lib/Properties.hs
+++ b/lib/Properties.hs
@@ -261,10 +261,14 @@ checkObjectProperty p@(Property name _) = do
       $ complain "property \"soundRadius\" can only be set on objects with \
                  \either property \"bell\" or \"door\" also set."
 
-  _ | name `elem` [ "default", "persist", "openLayer", "closeLayer" ] -> do
+  _ | name `elem` [ "default", "persist" ] -> do
         isBool p
         suggestPropertyName' "door"
     -- extended API for doors and bells
+    | name `elem` [ "openLayer", "closeLayer" ] -> do
+        isString p
+        suggestPropertyName' "door"
+        -- extended API for doors and bells
     | name `elem` ["door", "bell"] -> do
         isBool p
         unless (objectType obj == "variable") $
@@ -441,9 +445,10 @@ checkTileLayerProperty p@(Property name _value) = case name of
     "name" -> isUnsupported
     _ | name `elem` [ "doorVariable", "bindVariable", "bellVariable" ]
         -> do { isString p; requireProperty "zone" }
-      | name `elem` [ "autoOpen", "autoClose", "code"
-                    , "openTriggerMessage", "closeTriggerMessage"]
+      | name `elem` [ "code", "openTriggerMessage", "closeTriggerMessage"]
         -> do { isString p; requireProperty "doorVariable" }
+      | name `elem` [ "autoOpen", "autoClose"]
+        -> do { isBool p; requireProperty "doorVariable" }
       | name `elem` [ "bellButtonText", "bellPopup" ]
         -> do { isString p; requireProperty "bellVariable" }
       | name `elem` [ "enterValue", "leaveValue" ]
-- 
GitLab