From 52fb6fb7dc462a0045c54234b78652ce9297eee9 Mon Sep 17 00:00:00 2001
From: Jesusaves <cpntb1@ymail.com>
Date: Tue, 7 Jul 2020 11:42:23 -0300
Subject: New attribute to DynCollision: enabled Now you can create dynamic
 collisions disabled by default

---
 hercules/tmx_converter.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/hercules/tmx_converter.py b/hercules/tmx_converter.py
index 44a4101..3e8dc16 100755
--- a/hercules/tmx_converter.py
+++ b/hercules/tmx_converter.py
@@ -137,9 +137,11 @@ class Slide(Object):
 class DynCollision(Object):
     __slots__ = (
         'colid',
+        'enabled',
     )
     def __init__(self):
         self.colid = 1
+        self.enabled = True
 
 class DungeonSwitch(Object):
     __slots__ = (
@@ -475,13 +477,15 @@ class ContentHandler(xml.sax.ContentHandler):
                     self.warp_cnt = True
             elif isinstance(obj, DynCollision):
                 obj_name = "%s_%s_%s" % (self.base, obj.x, obj.y)
+                triggere = ifte(obj.enabled, "\nOnInit:", "")
+                triggerd = ifte(obj.enabled, "", "\nOnInit:")
                 self.confs.write(
                     SEPARATOR.join([
                         '\n',
                         '%s,%d,%d,0\t' % (self.base, obj.x, (obj.y)),
                         'script\t',
-                        '#%s\tNPC_HIDDEN,{\n\tend;\nOnDisable:\n\tdelcells "%s"; end;\n' % (obj_name, obj_name),
-                        'OnEnable:\nOnInit:\n\tsetcells "%s", %d, %d, %d, %d, %d, "%s";\n}\n' % (self.base, obj.x, obj.y, obj.x+obj.w, obj.y+obj.h, obj.colid, obj_name),
+                        '#%s\tNPC_HIDDEN,{\n\tend;\nOnDisable:%s\n\tdelcells "%s"; end;\n' % (obj_name, triggerd, obj_name),
+                        'OnEnable:%s\n\tsetcells "%s", %d, %d, %d, %d, %d, "%s";\n}\n' % (triggere, self.base, obj.x, obj.y, obj.x+obj.w, obj.y+obj.h, obj.colid, obj_name),
                     ])
                 )
                 self.save_cnt = True
-- 
cgit v1.2.3-70-g09d2