From a309da2a99fda0ebd9ac6951575081f8b633582a Mon Sep 17 00:00:00 2001 From: gahusb Date: Sun, 14 Jun 2026 12:27:44 +0900 Subject: [PATCH] =?UTF-8?q?feat(lobby):=20=EB=A1=9C=EB=B9=84=20=EC=A0=84?= =?UTF-8?q?=EC=9A=A9=20=EB=A7=B5=20+=20NPC=204=EC=A2=85=20=EC=9B=94?= =?UTF-8?q?=EB=93=9C=20=EC=97=94=ED=8B=B0=ED=8B=B0=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=EA=B8=B0=20(P15)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit map01 클론→lobby.map(헤네시스 배경), 몬스터 제거, NPC 4종(공식 메이플 NPC 스프라이트)+머리위 마크 배치. 각 NPC에 TouchReceiveComponent+script.LobbyNpc, 루트에 script.LobbyMobility(PlayerLock 제거). SectorConfig map://lobby 등록. Co-Authored-By: Claude Opus 4.8 (1M context) --- Global/SectorConfig.config | 3 +- map/lobby.map | 6980 +++++++++++++++++++++++++++++++++++ tools/map/gen-lobby-map.mjs | 137 + 3 files changed, 7119 insertions(+), 1 deletion(-) create mode 100644 map/lobby.map create mode 100644 tools/map/gen-lobby-map.mjs diff --git a/Global/SectorConfig.config b/Global/SectorConfig.config index 44824ce..2044bb1 100644 --- a/Global/SectorConfig.config +++ b/Global/SectorConfig.config @@ -23,7 +23,8 @@ "map://map02", "map://map03", "map://map04", - "map://map05" + "map://map05", + "map://lobby" ] } ], diff --git a/map/lobby.map b/map/lobby.map new file mode 100644 index 0000000..7cd8c7b --- /dev/null +++ b/map/lobby.map @@ -0,0 +1,6980 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "map://lobby", + "ContentType": "x-mod/map", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Binary", + "Entities": [ + { + "id": "000dbba0-0000-4000-8000-0000000dbba0", + "path": "/maps/lobby", + "componentNames": "MOD.Core.MapComponent,MOD.Core.FootholdComponent,script.MapCamera,script.LobbyMobility", + "jsonString": { + "name": "lobby", + "path": "/maps/lobby", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 0, + "pathConstraints": "//", + "revision": 2, + "modelId": null, + "@components": [ + { + "@type": "MOD.Core.MapComponent", + "AirAccelerationXFactor": 1, + "AirDecelerationXFactor": 1, + "FallSpeedMaxXFactor": 1, + "FallSpeedMaxYFactor": 1, + "Gravity": 1, + "IsInstanceMap": false, + "TileMapMode": 0, + "WalkAccelerationFactor": 1, + "WalkDrag": 1, + "Enable": true + }, + { + "@type": "MOD.Core.FootholdComponent", + "FootholdsByLayer": { + "1": [ + { + "Length": 1.27999973, + "NextFootholdId": 2, + "PreviousFootholdId": 27, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 1, + "StartPoint": { + "x": -8.93, + "y": -0.04000002 + }, + "EndPoint": { + "x": -7.65000057, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 3, + "PreviousFootholdId": 1, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 2, + "StartPoint": { + "x": -7.64999962, + "y": -0.04000002 + }, + "EndPoint": { + "x": -6.75, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 4, + "PreviousFootholdId": 2, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 3, + "StartPoint": { + "x": -6.74999952, + "y": -0.04000002 + }, + "EndPoint": { + "x": -5.85, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 5, + "PreviousFootholdId": 3, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 4, + "StartPoint": { + "x": -5.84999943, + "y": -0.04000002 + }, + "EndPoint": { + "x": -4.95, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 6, + "PreviousFootholdId": 4, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 5, + "StartPoint": { + "x": -4.95, + "y": -0.04000002 + }, + "EndPoint": { + "x": -4.05, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.900000334, + "NextFootholdId": 7, + "PreviousFootholdId": 5, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 6, + "StartPoint": { + "x": -4.05, + "y": -0.04000002 + }, + "EndPoint": { + "x": -3.14999986, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.9000001, + "NextFootholdId": 8, + "PreviousFootholdId": 6, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 7, + "StartPoint": { + "x": -3.14999986, + "y": -0.04000002 + }, + "EndPoint": { + "x": -2.24999976, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.899999738, + "NextFootholdId": 9, + "PreviousFootholdId": 7, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 8, + "StartPoint": { + "x": -2.24999976, + "y": -0.04000002 + }, + "EndPoint": { + "x": -1.35, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.9000001, + "NextFootholdId": 10, + "PreviousFootholdId": 8, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 9, + "StartPoint": { + "x": -1.35, + "y": -0.04000002 + }, + "EndPoint": { + "x": -0.449999958, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.9, + "NextFootholdId": 11, + "PreviousFootholdId": 9, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 10, + "StartPoint": { + "x": -0.45, + "y": -0.04000002 + }, + "EndPoint": { + "x": 0.449999958, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.9, + "NextFootholdId": 12, + "PreviousFootholdId": 10, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 11, + "StartPoint": { + "x": 0.450000018, + "y": -0.04000002 + }, + "EndPoint": { + "x": 1.35, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.9000002, + "NextFootholdId": 13, + "PreviousFootholdId": 11, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 12, + "StartPoint": { + "x": 1.34999979, + "y": -0.04000002 + }, + "EndPoint": { + "x": 2.25, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.9000001, + "NextFootholdId": 14, + "PreviousFootholdId": 12, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 13, + "StartPoint": { + "x": 2.25, + "y": -0.04000002 + }, + "EndPoint": { + "x": 3.15, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.899999857, + "NextFootholdId": 15, + "PreviousFootholdId": 13, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 14, + "StartPoint": { + "x": 3.14999986, + "y": -0.04000002 + }, + "EndPoint": { + "x": 4.04999971, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 16, + "PreviousFootholdId": 14, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 15, + "StartPoint": { + "x": 4.05, + "y": -0.04000002 + }, + "EndPoint": { + "x": 4.95, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 17, + "PreviousFootholdId": 15, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 16, + "StartPoint": { + "x": 4.95000029, + "y": -0.04000002 + }, + "EndPoint": { + "x": 5.85, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 18, + "PreviousFootholdId": 16, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 17, + "StartPoint": { + "x": 5.85, + "y": -0.04000002 + }, + "EndPoint": { + "x": 6.74999952, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 1.27999973, + "NextFootholdId": 19, + "PreviousFootholdId": 17, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 18, + "StartPoint": { + "x": 6.75, + "y": -0.04000002 + }, + "EndPoint": { + "x": 8.03, + "y": -0.04000002 + }, + "Variance": { + "x": 1, + "y": 0 + } + }, + { + "Length": 0.859999955, + "NextFootholdId": 20, + "PreviousFootholdId": 18, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 19, + "StartPoint": { + "x": 8.03, + "y": -0.04000002 + }, + "EndPoint": { + "x": 8.03, + "y": -0.9 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.6, + "NextFootholdId": 21, + "PreviousFootholdId": 19, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 20, + "StartPoint": { + "x": 8.03, + "y": -0.9000001 + }, + "EndPoint": { + "x": 8.03, + "y": -1.50000012 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.6, + "NextFootholdId": 22, + "PreviousFootholdId": 20, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 21, + "StartPoint": { + "x": 8.03, + "y": -1.50000012 + }, + "EndPoint": { + "x": 8.03, + "y": -2.10000014 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 23, + "PreviousFootholdId": 21, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 22, + "StartPoint": { + "x": 8.03, + "y": -2.10000014 + }, + "EndPoint": { + "x": 8.03, + "y": -2.7 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 24, + "PreviousFootholdId": 22, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 23, + "StartPoint": { + "x": 8.03, + "y": -2.70000029 + }, + "EndPoint": { + "x": 8.03, + "y": -3.30000019 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 25, + "PreviousFootholdId": 23, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 24, + "StartPoint": { + "x": 8.03, + "y": -3.30000019 + }, + "EndPoint": { + "x": 8.03, + "y": -3.9 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.600000143, + "NextFootholdId": 26, + "PreviousFootholdId": 24, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 25, + "StartPoint": { + "x": 8.03, + "y": -3.90000033 + }, + "EndPoint": { + "x": 8.03, + "y": -4.50000048 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.6000004, + "NextFootholdId": 0, + "PreviousFootholdId": 25, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 26, + "StartPoint": { + "x": 8.03, + "y": -4.5 + }, + "EndPoint": { + "x": 8.03, + "y": -5.10000038 + }, + "Variance": { + "x": 0, + "y": -1 + } + }, + { + "Length": 0.859999955, + "NextFootholdId": 1, + "PreviousFootholdId": 28, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 27, + "StartPoint": { + "x": -8.93, + "y": -0.9 + }, + "EndPoint": { + "x": -8.93, + "y": -0.04000002 + }, + "Variance": { + "x": 0, + "y": 1 + } + }, + { + "Length": 0.6, + "NextFootholdId": 27, + "PreviousFootholdId": 29, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 28, + "StartPoint": { + "x": -8.93, + "y": -1.50000012 + }, + "EndPoint": { + "x": -8.93, + "y": -0.9000001 + }, + "Variance": { + "x": 0, + "y": 1 + } + }, + { + "Length": 0.6, + "NextFootholdId": 28, + "PreviousFootholdId": 30, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 29, + "StartPoint": { + "x": -8.93, + "y": -2.10000014 + }, + "EndPoint": { + "x": -8.93, + "y": -1.50000012 + }, + "Variance": { + "x": 0, + "y": 1 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 29, + "PreviousFootholdId": 31, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 30, + "StartPoint": { + "x": -8.93, + "y": -2.7 + }, + "EndPoint": { + "x": -8.93, + "y": -2.10000014 + }, + "Variance": { + "x": 0, + "y": 1 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 30, + "PreviousFootholdId": 32, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 31, + "StartPoint": { + "x": -8.93, + "y": -3.30000019 + }, + "EndPoint": { + "x": -8.93, + "y": -2.70000029 + }, + "Variance": { + "x": 0, + "y": 1 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 31, + "PreviousFootholdId": 33, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 32, + "StartPoint": { + "x": -8.93, + "y": -3.9 + }, + "EndPoint": { + "x": -8.93, + "y": -3.30000019 + }, + "Variance": { + "x": 0, + "y": 1 + } + }, + { + "Length": 0.600000143, + "NextFootholdId": 32, + "PreviousFootholdId": 34, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 33, + "StartPoint": { + "x": -8.93, + "y": -4.50000048 + }, + "EndPoint": { + "x": -8.93, + "y": -3.90000033 + }, + "Variance": { + "x": 0, + "y": 1 + } + }, + { + "Length": 0.6000004, + "NextFootholdId": 33, + "PreviousFootholdId": 0, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1, + "force": 0, + "drag": 1, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 34, + "StartPoint": { + "x": -8.93, + "y": -5.10000038 + }, + "EndPoint": { + "x": -8.93, + "y": -4.5 + }, + "Variance": { + "x": 0, + "y": 1 + } + } + ] + }, + "Enable": true + }, + { + "@type": "script.MapCamera", + "Enable": true + }, + { + "@type": "script.LobbyMobility", + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbba1-0000-4000-8000-0000000dbba1", + "path": "/maps/lobby/Background", + "componentNames": "MOD.Core.BackgroundComponent", + "jsonString": { + "name": "Background", + "path": "/maps/lobby/Background", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 0, + "pathConstraints": "///", + "revision": 1, + "modelId": null, + "@components": [ + { + "@type": "MOD.Core.BackgroundComponent", + "SolidColor": { + "r": 0.5019608, + "g": 0.5019608, + "b": 0.5019608, + "a": 0.7058824 + }, + "TemplateRUID": "65c4167ea7484196b890022354e5a4a4", + "Type": 1, + "WebUrl": "eab37efa7f0d400f94259a2df836eb8a", + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbba2-0000-4000-8000-0000000dbba2", + "path": "/maps/lobby/MapleMapLayer", + "componentNames": "MOD.Core.MapLayerComponent", + "jsonString": { + "name": "MapleMapLayer", + "path": "/maps/lobby/MapleMapLayer", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 1, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "maplemaplayer", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "maplemaplayer", + "@components": [ + { + "@type": "MOD.Core.MapLayerComponent", + "IsVisible": true, + "LayerSortOrder": 0, + "Locked": false, + "MapLayerName": "Layer1", + "Thumbnail": "", + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbba3-0000-4000-8000-0000000dbba3", + "path": "/maps/lobby/TileMap", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.TileMapComponent", + "jsonString": { + "name": "TileMap", + "path": "/maps/lobby/TileMap", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 2, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "tilemap", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "tilemap", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": -0.225, + "y": -0.15, + "z": 1000 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.TileMapComponent", + "Color": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "FootholdDrag": 1, + "FootholdForce": 0, + "FootholdWalkSpeedFactor": 1, + "IgnoreMapLayerCheck": false, + "IsOddGridPosition": false, + "OrderInLayer": 1, + "SortingLayer": "MapLayer0", + "TileMapVersion": 1, + "TileSetRUID": { + "DataId": "9dfea3808bbd49a5877d8624df21b1c7" + }, + "Tiles": [ + { + "type": 5, + "position": { + "x": -16, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -4 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -4 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -3 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -6 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -4 + }, + "tileIndex": 5 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -4 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 9, + "position": { + "x": -16, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": -14, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -12, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -10, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -8, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": -6, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -4, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -2, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": 0, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 9, + "position": { + "x": 2, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": 4, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": 6, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": 8, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -2 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": 10, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": 12, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -3 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -4 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -5 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -2 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -6 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -6 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -7 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -6 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -7 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -6 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -6 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -6 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": 14, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": 16, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 11, + "position": { + "x": 17, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -3 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -7 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -6 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -4 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -2 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -10 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -14 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -14 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -16 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -2, + "y": -17 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -4, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -16 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -6, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -16 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -8, + "y": -17 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -16 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -10, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -12, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -14, + "y": -17 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -16, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -11 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 7, + "position": { + "x": -18, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 8, + "position": { + "x": -19, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 11, + "position": { + "x": -19, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": -18, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -10 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -10 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -9 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -9 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -8 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -9 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -8 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -8 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -12 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -10 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -9 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -12 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -14 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -14 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -14 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 2, + "y": -17 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 7, + "position": { + "x": 0, + "y": -17 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 4, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 6, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 8, + "y": -17 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 16, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 8, + "position": { + "x": 17, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 14, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -16 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 12, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 7, + "position": { + "x": 10, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -14 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -14 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -12 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -8 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -10 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -11 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -12 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -12 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -11 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -10 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -14 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -12 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -10 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -9 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -8 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -12 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -8 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -10 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -10 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -9 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -8 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -12 + }, + "tileIndex": 5 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -12 + }, + "tileIndex": 5 + } + ], + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbba4-0000-4000-8000-0000000dbba4", + "path": "/maps/lobby/SpawnLocation", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.SpriteRendererComponent,MOD.Core.SpawnLocationComponent", + "jsonString": { + "name": "SpawnLocation", + "path": "/maps/lobby/SpawnLocation", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 3, + "pathConstraints": "///", + "revision": 1, + "modelId": null, + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "Position": { + "x": -5, + "y": 0, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "ZRotation": 0, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "DrawMode": 0, + "EndFrameIndex": 2147483647, + "FlipX": false, + "FlipY": false, + "IgnoreMapLayerCheck": false, + "OrderInLayer": 0, + "PlayRate": 1, + "RenderSetting": 0, + "SortingLayer": "Default", + "SpriteRUID": "8ef238e0d0ca4bb783aca526cff35d11", + "StartFrameIndex": 0, + "TiledSize": { + "x": 1, + "y": 1 + }, + "Color": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpawnLocationComponent", + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbba5-0000-4000-8000-0000000dbba5", + "path": "/maps/lobby/NpcRun", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent,MOD.Core.TouchReceiveComponent,script.LobbyNpc", + "jsonString": { + "name": "NpcRun", + "path": "/maps/lobby/NpcRun", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbba5-0000-4000-8000-0000000dbba5", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": -3, + "y": 0.03499998, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "122095fd155c4633867b0da4f375bc3c", + "hit": "122095fd155c4633867b0da4f375bc3c", + "die": "122095fd155c4633867b0da4f375bc3c" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "122095fd155c4633867b0da4f375bc3c", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.TouchReceiveComponent", + "Enable": true, + "AutoFitToSize": true + }, + { + "@type": "script.LobbyNpc", + "Enable": true, + "NpcId": "run", + "MarkName": "NpcRunMark" + } + ], + "@version": 1 + } + }, + { + "id": "000dbba6-0000-4000-8000-0000000dbba6", + "path": "/maps/lobby/NpcRunMark", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent", + "jsonString": { + "name": "NpcRunMark", + "path": "/maps/lobby/NpcRunMark", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbba6-0000-4000-8000-0000000dbba6", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": -3, + "y": 1.6349999800000001, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "bd4afdde295f40318fceb4166978ebaa", + "hit": "bd4afdde295f40318fceb4166978ebaa", + "die": "bd4afdde295f40318fceb4166978ebaa" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "bd4afdde295f40318fceb4166978ebaa", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbba7-0000-4000-8000-0000000dbba7", + "path": "/maps/lobby/NpcCodex", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent,MOD.Core.TouchReceiveComponent,script.LobbyNpc", + "jsonString": { + "name": "NpcCodex", + "path": "/maps/lobby/NpcCodex", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbba7-0000-4000-8000-0000000dbba7", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": -0.5, + "y": 0.03499998, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "4c264be6a64f4ac3970b2e6818d04e40", + "hit": "4c264be6a64f4ac3970b2e6818d04e40", + "die": "4c264be6a64f4ac3970b2e6818d04e40" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "4c264be6a64f4ac3970b2e6818d04e40", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.TouchReceiveComponent", + "Enable": true, + "AutoFitToSize": true + }, + { + "@type": "script.LobbyNpc", + "Enable": true, + "NpcId": "codex", + "MarkName": "NpcCodexMark" + } + ], + "@version": 1 + } + }, + { + "id": "000dbba8-0000-4000-8000-0000000dbba8", + "path": "/maps/lobby/NpcCodexMark", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent", + "jsonString": { + "name": "NpcCodexMark", + "path": "/maps/lobby/NpcCodexMark", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbba8-0000-4000-8000-0000000dbba8", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": -0.5, + "y": 1.6349999800000001, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "bd4afdde295f40318fceb4166978ebaa", + "hit": "bd4afdde295f40318fceb4166978ebaa", + "die": "bd4afdde295f40318fceb4166978ebaa" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "bd4afdde295f40318fceb4166978ebaa", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbba9-0000-4000-8000-0000000dbba9", + "path": "/maps/lobby/NpcShop", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent,MOD.Core.TouchReceiveComponent,script.LobbyNpc", + "jsonString": { + "name": "NpcShop", + "path": "/maps/lobby/NpcShop", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbba9-0000-4000-8000-0000000dbba9", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": 2, + "y": 0.03499998, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "69987ccdc486423f8bedd786bd6cb5d9", + "hit": "69987ccdc486423f8bedd786bd6cb5d9", + "die": "69987ccdc486423f8bedd786bd6cb5d9" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "69987ccdc486423f8bedd786bd6cb5d9", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.TouchReceiveComponent", + "Enable": true, + "AutoFitToSize": true + }, + { + "@type": "script.LobbyNpc", + "Enable": true, + "NpcId": "shop", + "MarkName": "NpcShopMark" + } + ], + "@version": 1 + } + }, + { + "id": "000dbbaa-0000-4000-8000-0000000dbbaa", + "path": "/maps/lobby/NpcShopMark", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent", + "jsonString": { + "name": "NpcShopMark", + "path": "/maps/lobby/NpcShopMark", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbbaa-0000-4000-8000-0000000dbbaa", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": 2, + "y": 1.6349999800000001, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "bd4afdde295f40318fceb4166978ebaa", + "hit": "bd4afdde295f40318fceb4166978ebaa", + "die": "bd4afdde295f40318fceb4166978ebaa" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "bd4afdde295f40318fceb4166978ebaa", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "000dbbab-0000-4000-8000-0000000dbbab", + "path": "/maps/lobby/NpcBoard", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent,MOD.Core.TouchReceiveComponent,script.LobbyNpc", + "jsonString": { + "name": "NpcBoard", + "path": "/maps/lobby/NpcBoard", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbbab-0000-4000-8000-0000000dbbab", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": 4.5, + "y": 0.03499998, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "8a99bd87d667482cb1f3b2193f8a19c1", + "hit": "8a99bd87d667482cb1f3b2193f8a19c1", + "die": "8a99bd87d667482cb1f3b2193f8a19c1" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "8a99bd87d667482cb1f3b2193f8a19c1", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.TouchReceiveComponent", + "Enable": true, + "AutoFitToSize": true + }, + { + "@type": "script.LobbyNpc", + "Enable": true, + "NpcId": "board", + "MarkName": "NpcBoardMark" + } + ], + "@version": 1 + } + }, + { + "id": "000dbbac-0000-4000-8000-0000000dbbac", + "path": "/maps/lobby/NpcBoardMark", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.StateComponent", + "jsonString": { + "name": "NpcBoardMark", + "path": "/maps/lobby/NpcBoardMark", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "000dbbac-0000-4000-8000-0000000dbbac", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": 4.5, + "y": 1.6349999800000001, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "bd4afdde295f40318fceb4166978ebaa", + "hit": "bd4afdde295f40318fceb4166978ebaa", + "die": "bd4afdde295f40318fceb4166978ebaa" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "bd4afdde295f40318fceb4166978ebaa", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + } + ], + "@version": 1 + } + } + ] + } +} \ No newline at end of file diff --git a/tools/map/gen-lobby-map.mjs b/tools/map/gen-lobby-map.mjs new file mode 100644 index 0000000..e5f361c --- /dev/null +++ b/tools/map/gen-lobby-map.mjs @@ -0,0 +1,137 @@ +import { readFileSync, writeFileSync } from 'node:fs'; + +// 로비 전용 맵 생성기 — map01 템플릿을 클론해 마을(타운) 배경의 로비 맵을 만든다. +// · 몬스터 엔티티 전부 제거(전투 없음) +// · NPC 4종(모험가/사서/상인/안내원) 월드 엔티티 배치 + 머리 위 마크(근접 시 표시) +// · 각 NPC: TouchReceiveComponent(클릭) + script.LobbyNpc(NpcId) +// · 맵 루트: script.PlayerLock 제거(이동 허용) + script.LobbyMobility 추가(이동·공격 해제) +// · SectorConfig에 map://lobby 등록 +// codeblock 로직(LobbyNpc/LobbyMobility)은 tools/player/gen-lobby-npc.mjs가 emit한다. +const TEMPLATE = 'map/map01.map'; +const OUT = 'map/lobby.map'; +const SECTOR = 'Global/SectorConfig.config'; + +const TOWN_BG = '65c4167ea7484196b890022354e5a4a4'; // Henesys (gen-maps.mjs BACKGROUNDS 풀) +const MARK_RUID = 'bd4afdde295f40318fceb4166978ebaa'; // 공식 maplestory balloon (근접 마크) + +// NPC 4종: x좌표는 정찰 기준 walkable 범위[-5,6.6], 근접 임계 1.2와 분리되게 배치 +const NPCS = [ + { name: 'NpcRun', id: 'run', x: -3.0, ruid: '122095fd155c4633867b0da4f375bc3c' }, // 모험가 + { name: 'NpcCodex', id: 'codex', x: -0.5, ruid: '4c264be6a64f4ac3970b2e6818d04e40' }, // 사서 + { name: 'NpcShop', id: 'shop', x: 2.0, ruid: '69987ccdc486423f8bedd786bd6cb5d9' }, // 상인 + { name: 'NpcBoard', id: 'board', x: 4.5, ruid: '8a99bd87d667482cb1f3b2193f8a19c1' }, // 안내원 +]; +const MARK_DY = 1.6; // NPC 머리 위 오프셋 + +// NPC/마크는 정적 스프라이트로 만든다 — 몬스터 AI·물리(중력/충돌)·히트 컴포넌트 전부 제거. +// (마크는 물리가 있으면 머리 위에서 떨어지고, NPC는 충돌이 있으면 플레이어 통행을 막음) +const STRIP = new Set([ + 'script.Monster', 'script.MonsterAttack', 'script.CombatMonster', + 'MOD.Core.RigidbodyComponent', 'MOD.Core.MovementComponent', 'MOD.Core.KinematicbodyComponent', + 'MOD.Core.SideviewbodyComponent', 'MOD.Core.HitComponent', + 'MOD.Core.DamageSkinSpawnerComponent', 'MOD.Core.DamageSkinSettingComponent', +]); + +const compOf = (e, type) => e.jsonString['@components'].find((c) => c['@type'] === type); +const isMonster = (e) => (e.componentNames || '').includes('script.Monster'); + +// 결정론 GUID — 기존 생성기(map: nn*1000+idx, enc: +500)와 충돌 없는 고유 오프셋 +function lobbyGuid(idx) { + const n = (900000 + idx) >>> 0; + return `${n.toString(16).padStart(8, '0')}-0000-4000-8000-${n.toString(16).padStart(12, '0')}`; +} + +// 몬스터 템플릿 엔티티를 클론해 스프라이트 엔티티(NPC/마크)로 변환 +function makeSpriteEntity(base, name, x, y, ruid, withInteract, npcId) { + const m = JSON.parse(JSON.stringify(base)); + m.jsonString.name = name; + m.path = `/maps/lobby/${name}`; + m.jsonString.path = m.path; + const tr = compOf(m, 'MOD.Core.TransformComponent'); + if (tr) { tr.Position.x = x; tr.Position.y = y; } + const sp = compOf(m, 'MOD.Core.SpriteRendererComponent'); + if (sp) sp.SpriteRUID = ruid; + const sa = compOf(m, 'MOD.Core.StateAnimationComponent'); + if (sa) sa.ActionSheet = { stand: ruid, hit: ruid, die: ruid }; // 항상 stand 스프라이트 고정 + // 몬스터 AI·물리·히트 컴포넌트 제거 → 정적 비충돌 스프라이트 + m.jsonString['@components'] = m.jsonString['@components'].filter((c) => !STRIP.has(c['@type'])); + let names = (m.componentNames || '').split(',').filter((s) => s && !STRIP.has(s)); + if (withInteract) { + m.jsonString['@components'].push({ '@type': 'MOD.Core.TouchReceiveComponent', Enable: true, AutoFitToSize: true }); + m.jsonString['@components'].push({ '@type': 'script.LobbyNpc', Enable: true, NpcId: npcId, MarkName: name + 'Mark' }); + names.push('MOD.Core.TouchReceiveComponent', 'script.LobbyNpc'); + } + m.componentNames = names.join(','); + return m; +} + +const template = JSON.parse(readFileSync(TEMPLATE, 'utf8')); +const monsterTemplates = template.ContentProto.Entities.filter(isMonster); +if (monsterTemplates.length === 0) throw new Error('[gen-lobby-map] 몬스터 템플릿(스프라이트 엔티티) 없음'); +const base = monsterTemplates.find((e) => (e.path || '').includes('Static')) || monsterTemplates[0]; +const baseY = (() => { + const tr = compOf(base, 'MOD.Core.TransformComponent'); + return tr ? tr.Position.y : 0; +})(); + +const map = JSON.parse(JSON.stringify(template)); // deep clone +map.EntryKey = 'map://lobby'; +let ents = map.ContentProto.Entities.filter((e) => !isMonster(e)); + +// 경로/이름 치환 + 배경 + 루트 컴포넌트 조정 +for (const e of ents) { + if (typeof e.path === 'string') e.path = e.path.replace('/maps/map01', '/maps/lobby'); + if (e.jsonString) { + if (typeof e.jsonString.path === 'string') e.jsonString.path = e.jsonString.path.replace('/maps/map01', '/maps/lobby'); + if (e.jsonString.name === 'map01') e.jsonString.name = 'lobby'; + } + if ((e.path || '').endsWith('/Background')) { + const bg = compOf(e, 'MOD.Core.BackgroundComponent'); + if (bg) bg.TemplateRUID = TOWN_BG; + } +} + +const root = ents.find((e) => e.path === '/maps/lobby'); +if (!root) throw new Error('[gen-lobby-map] 맵 루트 없음'); +// 로비엔 PlayerLock 제거(이동 허용) + LobbyMobility 추가(이동·공격 해제). MapCamera는 유지. +root.jsonString['@components'] = root.jsonString['@components'].filter( + (c) => !['script.PlayerLock', 'script.LobbyMobility'].includes(c['@type']), +); +root.jsonString['@components'].push({ '@type': 'script.LobbyMobility', Enable: true }); +{ + const names = (root.componentNames || '') + .split(',') + .filter((s) => s && !['script.PlayerLock', 'script.LobbyMobility'].includes(s)); + names.push('script.LobbyMobility'); + root.componentNames = names.join(','); +} + +// NPC + 마크 엔티티 생성 +for (const npc of NPCS) { + ents.push(makeSpriteEntity(base, npc.name, npc.x, baseY, npc.ruid, true, npc.id)); + ents.push(makeSpriteEntity(base, npc.name + 'Mark', npc.x, baseY + MARK_DY, MARK_RUID, false, '')); +} + +// GUID 전부 재발급 (map01과 충돌 방지 + 자기참조 origin 보정) +ents.forEach((e, idx) => { + const oldId = e.id; + const newId = lobbyGuid(idx); + e.id = newId; + const o = e.jsonString && e.jsonString.origin; + if (o) { + if (o.root_entity_id === oldId) o.root_entity_id = newId; + if (o.sub_entity_id === oldId) o.sub_entity_id = newId; + } +}); + +map.ContentProto.Entities = ents; +writeFileSync(OUT, JSON.stringify(map, null, 2), 'utf8'); + +// SectorConfig 등록 (멱등) +const sector = JSON.parse(readFileSync(SECTOR, 'utf8')); +const sec0 = sector.ContentProto.Json.Sectors[0]; +if (!sec0.entries.includes('map://lobby')) sec0.entries.push('map://lobby'); +writeFileSync(SECTOR, JSON.stringify(sector, null, 2), 'utf8'); + +const npcCount = ents.filter((e) => (e.componentNames || '').includes('script.LobbyNpc')).length; +console.log(`[gen-lobby-map] lobby.map 생성: NPC ${npcCount}종 + 마크, SectorConfig entries ${sec0.entries.length}`);