diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-07-07 11:42:23 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-07-07 11:42:23 -0300 |
commit | 52fb6fb7dc462a0045c54234b78652ce9297eee9 (patch) | |
tree | a1d357a5c5e888dac01b07ccf343e0c151250ffc | |
parent | 5f733ed3451e434688e2eeae7e0ad007a085544c (diff) | |
download | tools-52fb6fb7dc462a0045c54234b78652ce9297eee9.tar.gz tools-52fb6fb7dc462a0045c54234b78652ce9297eee9.tar.bz2 tools-52fb6fb7dc462a0045c54234b78652ce9297eee9.tar.xz tools-52fb6fb7dc462a0045c54234b78652ce9297eee9.zip |
New attribute to DynCollision: enabled
Now you can create dynamic collisions disabled by default
-rwxr-xr-x | hercules/tmx_converter.py | 8 |
1 files 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 |