diff --git a/projects/iso-rpg-engine/source/data/blades/CreatureData.hx b/projects/iso-rpg-engine/source/data/blades/CreatureData.hx index 37949088..de0e3dff 100644 --- a/projects/iso-rpg-engine/source/data/blades/CreatureData.hx +++ b/projects/iso-rpg-engine/source/data/blades/CreatureData.hx @@ -121,7 +121,11 @@ class CreatureData { public function clone():CreatureData { var cd = new CreatureData(); for (field in CreatureData.getInstanceFields()) { - cd.setField(field, this.field(field)); + try { + cd.setField(field, this.field(field)); + } catch (e) { + // can't set functions in c++ + } } return cd; } diff --git a/projects/iso-rpg-engine/source/data/blades/FloorData.hx b/projects/iso-rpg-engine/source/data/blades/FloorData.hx index 4164f02f..9b7f7131 100644 --- a/projects/iso-rpg-engine/source/data/blades/FloorData.hx +++ b/projects/iso-rpg-engine/source/data/blades/FloorData.hx @@ -34,7 +34,11 @@ class FloorData { public function clone():FloorData { var fd = new FloorData(); for (field in FloorData.getInstanceFields()) { - fd.setField(field, this.field(field)); + try { + fd.setField(field, this.field(field)); + } catch (e) { + // can't set functions in c++ + } } return fd; } diff --git a/projects/iso-rpg-engine/source/data/blades/ItemData.hx b/projects/iso-rpg-engine/source/data/blades/ItemData.hx index 78fef443..2576dd8b 100644 --- a/projects/iso-rpg-engine/source/data/blades/ItemData.hx +++ b/projects/iso-rpg-engine/source/data/blades/ItemData.hx @@ -37,7 +37,11 @@ class ItemData { public function clone():ItemData { var id = new ItemData(); for (field in ItemData.getInstanceFields()) { - id.setField(field, this.field(field)); + try { + id.setField(field, this.field(field)); + } catch (e) { + // can't set functions in c++ + } } return id; } diff --git a/projects/iso-rpg-engine/source/data/blades/ScenData.hx b/projects/iso-rpg-engine/source/data/blades/ScenData.hx index d3df1c66..a272c0e8 100644 --- a/projects/iso-rpg-engine/source/data/blades/ScenData.hx +++ b/projects/iso-rpg-engine/source/data/blades/ScenData.hx @@ -255,9 +255,10 @@ class ScenData { try { interp.execute(parser.parseString(line)); - } catch (e) { + } + catch (e) { trace('line `$line` failed because $e'); - } + } } } diff --git a/projects/iso-rpg-engine/source/data/blades/TerrainData.hx b/projects/iso-rpg-engine/source/data/blades/TerrainData.hx index 2e77dc39..cc64b531 100644 --- a/projects/iso-rpg-engine/source/data/blades/TerrainData.hx +++ b/projects/iso-rpg-engine/source/data/blades/TerrainData.hx @@ -66,7 +66,11 @@ class TerrainData { public function clone():TerrainData { var td = new TerrainData(); for (field in TerrainData.getInstanceFields()) { - td.setField(field, this.field(field)); + try { + td.setField(field, this.field(field)); + } catch (e) { + // can't set functions in c++ + } } return td; }