From 936f47e169720c344676adf8e84c06c5b56f195f Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 21 Feb 2023 17:00:24 +0800 Subject: [PATCH 01/44] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E8=B5=84?= =?UTF-8?q?=E6=BA=90=202023/2/21?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/stages.json | 2177 +++++++++++++----------------------------- 1 file changed, 688 insertions(+), 1489 deletions(-) diff --git a/resource/stages.json b/resource/stages.json index 0c14bc15c1..f7ee7b85ee 100644 --- a/resource/stages.json +++ b/resource/stages.json @@ -126,9 +126,6 @@ } }, "minClearTime": 63700, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-01", "stageType": "MAIN", "zoneId": "main_0" @@ -260,9 +257,6 @@ } }, "minClearTime": 73000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-02", "stageType": "MAIN", "zoneId": "main_0" @@ -394,9 +388,6 @@ } }, "minClearTime": 88600, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-03", "stageType": "MAIN", "zoneId": "main_0" @@ -528,9 +519,6 @@ } }, "minClearTime": 120600, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-04", "stageType": "MAIN", "zoneId": "main_0" @@ -662,9 +650,6 @@ } }, "minClearTime": 95000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-05", "stageType": "MAIN", "zoneId": "main_0" @@ -796,9 +781,6 @@ } }, "minClearTime": 101800, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-06", "stageType": "MAIN", "zoneId": "main_0" @@ -930,9 +912,6 @@ } }, "minClearTime": 92000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-07", "stageType": "MAIN", "zoneId": "main_0" @@ -1064,9 +1043,6 @@ } }, "minClearTime": 102000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-08", "stageType": "MAIN", "zoneId": "main_0" @@ -1198,9 +1174,6 @@ } }, "minClearTime": 102000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-09", "stageType": "MAIN", "zoneId": "main_0" @@ -1332,9 +1305,6 @@ } }, "minClearTime": 113600, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-10", "stageType": "MAIN", "zoneId": "main_0" @@ -1466,9 +1436,6 @@ } }, "minClearTime": 103000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_00-11", "stageType": "MAIN", "zoneId": "main_0" @@ -1592,9 +1559,6 @@ } }, "minClearTime": 137000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-01", "stageType": "MAIN", "zoneId": "main_1" @@ -1785,9 +1749,6 @@ } }, "minClearTime": 112000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-03", "stageType": "MAIN", "zoneId": "main_1" @@ -1911,9 +1872,6 @@ } }, "minClearTime": 135000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-04", "stageType": "MAIN", "zoneId": "main_1" @@ -2045,9 +2003,6 @@ } }, "minClearTime": 165000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-05", "stageType": "MAIN", "zoneId": "main_1" @@ -2179,9 +2134,6 @@ } }, "minClearTime": 174000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-06", "stageType": "MAIN", "zoneId": "main_1" @@ -2313,9 +2265,6 @@ } }, "minClearTime": 118000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-07", "stageType": "MAIN", "zoneId": "main_1" @@ -2447,9 +2396,6 @@ } }, "minClearTime": 130100, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-08", "stageType": "MAIN", "zoneId": "main_1" @@ -2581,9 +2527,6 @@ } }, "minClearTime": 120000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-09", "stageType": "MAIN", "zoneId": "main_1" @@ -2715,9 +2658,6 @@ } }, "minClearTime": 120000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-10", "stageType": "MAIN", "zoneId": "main_1" @@ -2908,9 +2848,6 @@ } }, "minClearTime": 144000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_01-12", "stageType": "MAIN", "zoneId": "main_1" @@ -3042,9 +2979,6 @@ } }, "minClearTime": 184000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-01", "stageType": "MAIN", "zoneId": "main_2" @@ -3176,9 +3110,6 @@ } }, "minClearTime": 166700, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-02", "stageType": "MAIN", "zoneId": "main_2" @@ -3310,9 +3241,6 @@ } }, "minClearTime": 218700, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-03", "stageType": "MAIN", "zoneId": "main_2" @@ -3444,9 +3372,6 @@ } }, "minClearTime": 149000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-04", "stageType": "MAIN", "zoneId": "main_2" @@ -3578,9 +3503,6 @@ } }, "minClearTime": 170500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-05", "stageType": "MAIN", "zoneId": "main_2" @@ -3712,9 +3634,6 @@ } }, "minClearTime": 174000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-06", "stageType": "MAIN", "zoneId": "main_2" @@ -3838,9 +3757,6 @@ } }, "minClearTime": 176000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-07", "stageType": "MAIN", "zoneId": "main_2" @@ -3972,9 +3888,6 @@ } }, "minClearTime": 187000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-08", "stageType": "MAIN", "zoneId": "main_2" @@ -4106,9 +4019,6 @@ } }, "minClearTime": 193000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-09", "stageType": "MAIN", "zoneId": "main_2" @@ -4240,9 +4150,6 @@ } }, "minClearTime": 171000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_02-10", "stageType": "MAIN", "zoneId": "main_2" @@ -4374,9 +4281,6 @@ } }, "minClearTime": 113000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-01", "stageType": "MAIN", "zoneId": "main_2" @@ -4500,9 +4404,6 @@ } }, "minClearTime": 132000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-02", "stageType": "MAIN", "zoneId": "main_2" @@ -4634,9 +4535,6 @@ } }, "minClearTime": 130000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-03", "stageType": "MAIN", "zoneId": "main_2" @@ -4760,9 +4658,6 @@ } }, "minClearTime": 144000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-04", "stageType": "MAIN", "zoneId": "main_2" @@ -4894,9 +4789,6 @@ } }, "minClearTime": 178000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-05", "stageType": "MAIN", "zoneId": "main_2" @@ -5028,9 +4920,6 @@ } }, "minClearTime": 142000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-06", "stageType": "MAIN", "zoneId": "main_2" @@ -5162,9 +5051,6 @@ } }, "minClearTime": 166000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-07", "stageType": "MAIN", "zoneId": "main_2" @@ -5296,9 +5182,6 @@ } }, "minClearTime": 110000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-08", "stageType": "MAIN", "zoneId": "main_2" @@ -5430,9 +5313,6 @@ } }, "minClearTime": 142000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-09", "stageType": "MAIN", "zoneId": "main_2" @@ -5564,9 +5444,6 @@ } }, "minClearTime": 172000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-10", "stageType": "MAIN", "zoneId": "main_2" @@ -5690,9 +5567,6 @@ } }, "minClearTime": 179000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-11", "stageType": "MAIN", "zoneId": "main_2" @@ -5816,9 +5690,6 @@ } }, "minClearTime": 135000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_02-12", "stageType": "MAIN", "zoneId": "main_2" @@ -5950,9 +5821,6 @@ } }, "minClearTime": 181000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-01", "stageType": "MAIN", "zoneId": "main_3" @@ -6076,9 +5944,6 @@ } }, "minClearTime": 173000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-02", "stageType": "MAIN", "zoneId": "main_3" @@ -6202,9 +6067,6 @@ } }, "minClearTime": 172700, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-03", "stageType": "MAIN", "zoneId": "main_3" @@ -6328,9 +6190,6 @@ } }, "minClearTime": 216400, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-04", "stageType": "MAIN", "zoneId": "main_3" @@ -6454,9 +6313,6 @@ } }, "minClearTime": 165000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-05", "stageType": "MAIN", "zoneId": "main_3" @@ -6580,9 +6436,6 @@ } }, "minClearTime": 138000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-06", "stageType": "MAIN", "zoneId": "main_3" @@ -6714,9 +6567,6 @@ } }, "minClearTime": 238700, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-07", "stageType": "MAIN", "zoneId": "main_3" @@ -6872,9 +6722,6 @@ } }, "minClearTime": 205000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_03-08", "stageType": "MAIN", "zoneId": "main_3" @@ -7006,9 +6853,6 @@ } }, "minClearTime": 130000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_03-1-1", "stageType": "SUB", "zoneId": "main_3" @@ -7132,9 +6976,6 @@ } }, "minClearTime": 125000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_03-1-2", "stageType": "SUB", "zoneId": "main_3" @@ -7266,9 +7107,6 @@ } }, "minClearTime": 208000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_03-2-1", "stageType": "SUB", "zoneId": "main_3" @@ -7392,9 +7230,6 @@ } }, "minClearTime": 136000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_03-2-2", "stageType": "SUB", "zoneId": "main_3" @@ -7518,9 +7353,6 @@ } }, "minClearTime": 147200, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_03-2-3", "stageType": "SUB", "zoneId": "main_3" @@ -7660,9 +7492,6 @@ } }, "minClearTime": 201000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-01", "stageType": "MAIN", "zoneId": "main_4" @@ -7834,9 +7663,6 @@ } }, "minClearTime": 140000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-02", "stageType": "MAIN", "zoneId": "main_4" @@ -7984,9 +7810,6 @@ } }, "minClearTime": 217500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-03", "stageType": "MAIN", "zoneId": "main_4" @@ -8142,9 +7965,6 @@ } }, "minClearTime": 174000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-04", "stageType": "MAIN", "zoneId": "main_4" @@ -8300,9 +8120,6 @@ } }, "minClearTime": 173000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-05", "stageType": "MAIN", "zoneId": "main_4" @@ -8458,9 +8275,6 @@ } }, "minClearTime": 198000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-06", "stageType": "MAIN", "zoneId": "main_4" @@ -8616,9 +8430,6 @@ } }, "minClearTime": 200000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-07", "stageType": "MAIN", "zoneId": "main_4" @@ -8782,9 +8593,6 @@ } }, "minClearTime": 166000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-08", "stageType": "MAIN", "zoneId": "main_4" @@ -8948,9 +8756,6 @@ } }, "minClearTime": 216500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-09", "stageType": "MAIN", "zoneId": "main_4" @@ -9098,9 +8903,6 @@ } }, "minClearTime": 240500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_04-10", "stageType": "MAIN", "zoneId": "main_4" @@ -9272,9 +9074,6 @@ } }, "minClearTime": 179000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-1-1", "stageType": "SUB", "zoneId": "main_4" @@ -9414,9 +9213,6 @@ } }, "minClearTime": 214000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-1-2", "stageType": "SUB", "zoneId": "main_4" @@ -9572,9 +9368,6 @@ } }, "minClearTime": 160000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-1-3", "stageType": "SUB", "zoneId": "main_4" @@ -9730,9 +9523,6 @@ } }, "minClearTime": 181000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-2-1", "stageType": "SUB", "zoneId": "main_4" @@ -9872,9 +9662,6 @@ } }, "minClearTime": 150000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-2-2", "stageType": "SUB", "zoneId": "main_4" @@ -10030,9 +9817,6 @@ } }, "minClearTime": 120000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-2-3", "stageType": "SUB", "zoneId": "main_4" @@ -10188,9 +9972,6 @@ } }, "minClearTime": 199000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-3-1", "stageType": "SUB", "zoneId": "main_4" @@ -10330,9 +10111,6 @@ } }, "minClearTime": 195000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-3-2", "stageType": "SUB", "zoneId": "main_4" @@ -10496,9 +10274,6 @@ } }, "minClearTime": 247000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-3-3", "stageType": "SUB", "zoneId": "main_4" @@ -10782,9 +10557,6 @@ } }, "minClearTime": 99000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_armor_1", "stageType": "DAILY", "zoneId": "weekly_8" @@ -10852,9 +10624,6 @@ } }, "minClearTime": 118000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_armor_2", "stageType": "DAILY", "zoneId": "weekly_8" @@ -10930,9 +10699,6 @@ } }, "minClearTime": 136000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_armor_3", "stageType": "DAILY", "zoneId": "weekly_8" @@ -11008,9 +10774,6 @@ } }, "minClearTime": 121000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_armor_4", "stageType": "DAILY", "zoneId": "weekly_8" @@ -11086,9 +10849,6 @@ } }, "minClearTime": 204000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_armor_5", "stageType": "DAILY", "zoneId": "weekly_8" @@ -11156,9 +10916,6 @@ } }, "minClearTime": 97000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_fly_1", "stageType": "DAILY", "zoneId": "weekly_6" @@ -11226,9 +10983,6 @@ } }, "minClearTime": 101000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_fly_2", "stageType": "DAILY", "zoneId": "weekly_6" @@ -11304,9 +11058,6 @@ } }, "minClearTime": 152000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_fly_3", "stageType": "DAILY", "zoneId": "weekly_6" @@ -11390,9 +11141,6 @@ } }, "minClearTime": 191000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_fly_4", "stageType": "DAILY", "zoneId": "weekly_6" @@ -11476,9 +11224,6 @@ } }, "minClearTime": 173000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_fly_5", "stageType": "DAILY", "zoneId": "weekly_6" @@ -11630,9 +11375,6 @@ } }, "minClearTime": 166000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-01", "stageType": "MAIN", "zoneId": "main_5" @@ -11792,9 +11534,6 @@ } }, "minClearTime": 187000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-02", "stageType": "MAIN", "zoneId": "main_5" @@ -11874,9 +11613,6 @@ } }, "minClearTime": 218000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-03", "stageType": "MAIN", "zoneId": "main_5" @@ -12028,9 +11764,6 @@ } }, "minClearTime": 176000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-04", "stageType": "MAIN", "zoneId": "main_5" @@ -12190,9 +11923,6 @@ } }, "minClearTime": 193000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-05", "stageType": "MAIN", "zoneId": "main_5" @@ -12360,9 +12090,6 @@ } }, "minClearTime": 314000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-06", "stageType": "MAIN", "zoneId": "main_5" @@ -12442,9 +12169,6 @@ } }, "minClearTime": 182800, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-07", "stageType": "MAIN", "zoneId": "main_5" @@ -12604,9 +12328,6 @@ } }, "minClearTime": 188000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-08", "stageType": "MAIN", "zoneId": "main_5" @@ -12758,9 +12479,6 @@ } }, "minClearTime": 194000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-09", "stageType": "MAIN", "zoneId": "main_5" @@ -12843,9 +12561,6 @@ } }, "minClearTime": 337000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_05-10", "stageType": "MAIN", "zoneId": "main_5" @@ -12925,9 +12640,6 @@ } }, "minClearTime": 193000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-1-1", "stageType": "SUB", "zoneId": "main_5" @@ -13087,9 +12799,6 @@ } }, "minClearTime": 176000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-1-2", "stageType": "SUB", "zoneId": "main_5" @@ -13161,9 +12870,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-2-1", "stageType": "SUB", "zoneId": "main_5" @@ -13243,9 +12949,6 @@ } }, "minClearTime": 184000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-2-2", "stageType": "SUB", "zoneId": "main_5" @@ -13317,9 +13020,6 @@ } }, "minClearTime": 208000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-3-1", "stageType": "SUB", "zoneId": "main_5" @@ -13487,9 +13187,6 @@ } }, "minClearTime": 196000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-3-2", "stageType": "SUB", "zoneId": "main_5" @@ -14569,9 +14266,6 @@ } }, "minClearTime": 183000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-01", "stageType": "MAIN", "zoneId": "main_6" @@ -14731,9 +14425,6 @@ } }, "minClearTime": 206000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-02", "stageType": "MAIN", "zoneId": "main_6" @@ -14885,9 +14576,6 @@ } }, "minClearTime": 172000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-03", "stageType": "MAIN", "zoneId": "main_6" @@ -15047,9 +14735,6 @@ } }, "minClearTime": 155000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-04", "stageType": "MAIN", "zoneId": "main_6" @@ -15129,9 +14814,6 @@ } }, "minClearTime": 241000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-05", "stageType": "MAIN", "zoneId": "main_6" @@ -15362,9 +15044,6 @@ } }, "minClearTime": 140000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-07", "stageType": "MAIN", "zoneId": "main_6" @@ -15444,9 +15123,6 @@ } }, "minClearTime": 158000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-08", "stageType": "MAIN", "zoneId": "main_6" @@ -15598,9 +15274,6 @@ } }, "minClearTime": 174200, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-09", "stageType": "MAIN", "zoneId": "main_6" @@ -15680,9 +15353,6 @@ } }, "minClearTime": 236000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-10", "stageType": "MAIN", "zoneId": "main_6" @@ -15858,9 +15528,6 @@ } }, "minClearTime": 171000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-11", "stageType": "MAIN", "zoneId": "main_6" @@ -16012,9 +15679,6 @@ } }, "minClearTime": 194000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-12", "stageType": "MAIN", "zoneId": "main_6" @@ -16174,9 +15838,6 @@ } }, "minClearTime": 184000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-13", "stageType": "MAIN", "zoneId": "main_6" @@ -16256,9 +15917,6 @@ } }, "minClearTime": 312000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_06-14", "stageType": "MAIN", "zoneId": "main_6" @@ -16445,9 +16103,6 @@ } }, "minClearTime": 122000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_03-3-1", "stageType": "SUB", "zoneId": "main_3" @@ -16595,9 +16250,6 @@ } }, "minClearTime": 129000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_04-4-1", "stageType": "SUB", "zoneId": "main_4" @@ -16757,9 +16409,6 @@ } }, "minClearTime": 148000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-4-1", "stageType": "SUB", "zoneId": "main_5" @@ -16919,9 +16568,6 @@ } }, "minClearTime": 148000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-4-2", "stageType": "SUB", "zoneId": "main_5" @@ -17073,9 +16719,6 @@ } }, "minClearTime": 172000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_06-1-1", "stageType": "SUB", "zoneId": "main_6" @@ -17147,9 +16790,6 @@ } }, "minClearTime": 203000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_06-1-2", "stageType": "SUB", "zoneId": "main_6" @@ -17229,9 +16869,6 @@ } }, "minClearTime": 195000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_06-2-1", "stageType": "SUB", "zoneId": "main_6" @@ -17375,9 +17012,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_06-2-2", "stageType": "SUB", "zoneId": "main_6" @@ -18231,9 +17865,6 @@ } }, "minClearTime": 125000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_melee_1", "stageType": "DAILY", "zoneId": "weekly_9" @@ -18293,9 +17924,6 @@ } }, "minClearTime": 144000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_melee_2", "stageType": "DAILY", "zoneId": "weekly_9" @@ -18355,9 +17983,6 @@ } }, "minClearTime": 141000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_melee_3", "stageType": "DAILY", "zoneId": "weekly_9" @@ -18417,9 +18042,6 @@ } }, "minClearTime": 172800, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_melee_4", "stageType": "DAILY", "zoneId": "weekly_9" @@ -18479,9 +18101,6 @@ } }, "minClearTime": 196000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_melee_5", "stageType": "DAILY", "zoneId": "weekly_9" @@ -18542,8 +18161,7 @@ }, "minClearTime": 83000, "recognitionOnly": [ - "4006", - "act14mini_token_fu" + "4006" ], "stageId": "wk_toxic_1", "stageType": "DAILY", @@ -18605,8 +18223,7 @@ }, "minClearTime": 139000, "recognitionOnly": [ - "4006", - "act14mini_token_fu" + "4006" ], "stageId": "wk_toxic_2", "stageType": "DAILY", @@ -18668,8 +18285,7 @@ }, "minClearTime": 160000, "recognitionOnly": [ - "4006", - "act14mini_token_fu" + "4006" ], "stageId": "wk_toxic_3", "stageType": "DAILY", @@ -18731,8 +18347,7 @@ }, "minClearTime": 123000, "recognitionOnly": [ - "4006", - "act14mini_token_fu" + "4006" ], "stageId": "wk_toxic_4", "stageType": "DAILY", @@ -18794,8 +18409,7 @@ }, "minClearTime": 208000, "recognitionOnly": [ - "4006", - "act14mini_token_fu" + "4006" ], "stageId": "wk_toxic_5", "stageType": "DAILY", @@ -19615,9 +19229,6 @@ } }, "minClearTime": 175000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-01", "stageType": "MAIN", "zoneId": "main_7" @@ -19689,9 +19300,6 @@ } }, "minClearTime": 233000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-02", "stageType": "MAIN", "zoneId": "main_7" @@ -19859,9 +19467,6 @@ } }, "minClearTime": 184000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-03", "stageType": "MAIN", "zoneId": "main_7" @@ -20021,9 +19626,6 @@ } }, "minClearTime": 213000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-04", "stageType": "MAIN", "zoneId": "main_7" @@ -20103,9 +19705,6 @@ } }, "minClearTime": 209000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-05", "stageType": "MAIN", "zoneId": "main_7" @@ -20281,9 +19880,6 @@ } }, "minClearTime": 182000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-06", "stageType": "MAIN", "zoneId": "main_7" @@ -20451,9 +20047,6 @@ } }, "minClearTime": 207000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-07", "stageType": "MAIN", "zoneId": "main_7" @@ -20605,9 +20198,6 @@ } }, "minClearTime": 170000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-08", "stageType": "MAIN", "zoneId": "main_7" @@ -20687,9 +20277,6 @@ } }, "minClearTime": 199000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-09", "stageType": "MAIN", "zoneId": "main_7" @@ -20769,9 +20356,6 @@ } }, "minClearTime": 226000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-10", "stageType": "MAIN", "zoneId": "main_7" @@ -20923,9 +20507,6 @@ } }, "minClearTime": 183000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-11", "stageType": "MAIN", "zoneId": "main_7" @@ -21077,9 +20658,6 @@ } }, "minClearTime": 196000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-12", "stageType": "MAIN", "zoneId": "main_7" @@ -21247,9 +20825,6 @@ } }, "minClearTime": 200000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-13", "stageType": "MAIN", "zoneId": "main_7" @@ -21329,9 +20904,6 @@ } }, "minClearTime": 195000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-14", "stageType": "MAIN", "zoneId": "main_7" @@ -21507,9 +21079,6 @@ } }, "minClearTime": 219000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-15", "stageType": "MAIN", "zoneId": "main_7" @@ -21589,9 +21158,6 @@ } }, "minClearTime": 227000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_07-16", "stageType": "MAIN", "zoneId": "main_7" @@ -21735,9 +21301,6 @@ } }, "minClearTime": 141000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_07-1-1", "stageType": "MAIN", "zoneId": "main_7" @@ -21809,9 +21372,6 @@ } }, "minClearTime": 188000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_07-1-2", "stageType": "MAIN", "zoneId": "main_7" @@ -22090,9 +21650,6 @@ } }, "minClearTime": 167800, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_a_1", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22168,9 +21725,6 @@ } }, "minClearTime": 214500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_a_2", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22246,9 +21800,6 @@ } }, "minClearTime": 151000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_b_1", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22324,9 +21875,6 @@ } }, "minClearTime": 213000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_b_2", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22402,9 +21950,6 @@ } }, "minClearTime": 145000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_c_1", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22480,9 +22025,6 @@ } }, "minClearTime": 179000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_c_2", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22558,9 +22100,6 @@ } }, "minClearTime": 173800, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_d_1", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22636,9 +22175,6 @@ } }, "minClearTime": 205000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "pro_d_2", "stageType": "DAILY", "zoneId": "weekly_1" @@ -22714,9 +22250,6 @@ } }, "minClearTime": 112000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_kc_1", "stageType": "DAILY", "zoneId": "weekly_7" @@ -22792,9 +22325,6 @@ } }, "minClearTime": 111000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_kc_2", "stageType": "DAILY", "zoneId": "weekly_7" @@ -22878,9 +22408,6 @@ } }, "minClearTime": 140000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_kc_3", "stageType": "DAILY", "zoneId": "weekly_7" @@ -22972,9 +22499,6 @@ } }, "minClearTime": 130000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_kc_4", "stageType": "DAILY", "zoneId": "weekly_7" @@ -23058,9 +22582,6 @@ } }, "minClearTime": 174500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_kc_5", "stageType": "DAILY", "zoneId": "weekly_7" @@ -25166,9 +24687,6 @@ } }, "minClearTime": 147000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_05-4-3", "stageType": "SUB", "zoneId": "main_5" @@ -25248,9 +24766,6 @@ } }, "minClearTime": 147000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_03-3-2", "stageType": "SUB", "zoneId": "main_3" @@ -25394,9 +24909,6 @@ } }, "minClearTime": 187000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-01", "stageType": "MAIN", "zoneId": "main_8" @@ -25572,9 +25084,6 @@ } }, "minClearTime": 171000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-02", "stageType": "MAIN", "zoneId": "main_8" @@ -25734,9 +25243,6 @@ } }, "minClearTime": 169000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-03", "stageType": "MAIN", "zoneId": "main_8" @@ -25808,9 +25314,6 @@ } }, "minClearTime": 163000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-04", "stageType": "MAIN", "zoneId": "main_8" @@ -25890,9 +25393,6 @@ } }, "minClearTime": 219000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-05", "stageType": "MAIN", "zoneId": "main_8" @@ -26044,9 +25544,6 @@ } }, "minClearTime": 193000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-06", "stageType": "MAIN", "zoneId": "main_8" @@ -26222,9 +25719,6 @@ } }, "minClearTime": 211000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-07", "stageType": "MAIN", "zoneId": "main_8" @@ -26304,9 +25798,6 @@ } }, "minClearTime": 280000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-08", "stageType": "MAIN", "zoneId": "main_8" @@ -26386,9 +25877,6 @@ } }, "minClearTime": 220000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-09", "stageType": "MAIN", "zoneId": "main_8" @@ -26540,9 +26028,6 @@ } }, "minClearTime": 207000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-10", "stageType": "MAIN", "zoneId": "main_8" @@ -26702,9 +26187,6 @@ } }, "minClearTime": 175000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-11", "stageType": "MAIN", "zoneId": "main_8" @@ -26784,9 +26266,6 @@ } }, "minClearTime": 157000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-12", "stageType": "MAIN", "zoneId": "main_8" @@ -26938,9 +26417,6 @@ } }, "minClearTime": 274000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-13", "stageType": "MAIN", "zoneId": "main_8" @@ -27092,9 +26568,6 @@ } }, "minClearTime": 257000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-14", "stageType": "MAIN", "zoneId": "main_8" @@ -27325,9 +26798,6 @@ } }, "minClearTime": 187000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-16", "stageType": "MAIN", "zoneId": "main_8" @@ -27495,9 +26965,6 @@ } }, "minClearTime": 295000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_08-17", "stageType": "MAIN", "zoneId": "main_8" @@ -39487,9 +38954,6 @@ } }, "minClearTime": null, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-01", "stageType": "MAIN", "zoneId": "main_9" @@ -39561,9 +39025,6 @@ } }, "minClearTime": 205000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-02", "stageType": "MAIN", "zoneId": "main_9" @@ -39723,9 +39184,6 @@ } }, "minClearTime": 219000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-03", "stageType": "MAIN", "zoneId": "main_9" @@ -39901,9 +39359,6 @@ } }, "minClearTime": 176000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-04", "stageType": "MAIN", "zoneId": "main_9" @@ -40063,9 +39518,6 @@ } }, "minClearTime": 231000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-05", "stageType": "MAIN", "zoneId": "main_9" @@ -40225,9 +39677,6 @@ } }, "minClearTime": 176000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-06", "stageType": "MAIN", "zoneId": "main_9" @@ -40387,9 +39836,6 @@ } }, "minClearTime": 204000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-07", "stageType": "MAIN", "zoneId": "main_9" @@ -40557,9 +40003,6 @@ } }, "minClearTime": 204000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-08", "stageType": "MAIN", "zoneId": "main_9" @@ -40711,9 +40154,6 @@ } }, "minClearTime": 183000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-09", "stageType": "MAIN", "zoneId": "main_9" @@ -40873,9 +40313,6 @@ } }, "minClearTime": 193000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-10", "stageType": "MAIN", "zoneId": "main_9" @@ -41035,9 +40472,6 @@ } }, "minClearTime": 184000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-11", "stageType": "MAIN", "zoneId": "main_9" @@ -41181,9 +40615,6 @@ } }, "minClearTime": 208000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-12", "stageType": "MAIN", "zoneId": "main_9" @@ -41343,9 +40774,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-13", "stageType": "MAIN", "zoneId": "main_9" @@ -41425,9 +40853,6 @@ } }, "minClearTime": 218000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-14", "stageType": "MAIN", "zoneId": "main_9" @@ -41587,9 +41012,6 @@ } }, "minClearTime": 182000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-15", "stageType": "MAIN", "zoneId": "main_9" @@ -41765,9 +41187,6 @@ } }, "minClearTime": 225000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-16", "stageType": "MAIN", "zoneId": "main_9" @@ -41927,9 +41346,6 @@ } }, "minClearTime": 276000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_09-17", "stageType": "MAIN", "zoneId": "main_9" @@ -42105,9 +41521,6 @@ } }, "minClearTime": 204000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "sub_09-1-1", "stageType": "SUB", "zoneId": "main_9" @@ -49372,9 +48785,6 @@ } }, "minClearTime": 170000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-01", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -49518,9 +48928,6 @@ } }, "minClearTime": 170000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-01", "stageType": "MAIN", "zoneId": "main_10" @@ -49696,9 +49103,6 @@ } }, "minClearTime": 158000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-02", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -49874,9 +49278,6 @@ } }, "minClearTime": 158000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-02", "stageType": "MAIN", "zoneId": "main_10" @@ -49956,9 +49357,6 @@ } }, "minClearTime": 189000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-03", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -50038,9 +49436,6 @@ } }, "minClearTime": 189000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-03", "stageType": "MAIN", "zoneId": "main_10" @@ -50208,9 +49603,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-04", "stageType": "MAIN", "zoneId": "main_10" @@ -50378,9 +49770,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-04", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -50524,9 +49913,6 @@ } }, "minClearTime": 182000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-05", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -50670,9 +50056,6 @@ } }, "minClearTime": 182000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-05", "stageType": "MAIN", "zoneId": "main_10" @@ -50824,9 +50207,6 @@ } }, "minClearTime": 205000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-06", "stageType": "MAIN", "zoneId": "main_10" @@ -50978,9 +50358,6 @@ } }, "minClearTime": 205000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-06", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -51140,9 +50517,6 @@ } }, "minClearTime": 158000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-07", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -51302,9 +50676,6 @@ } }, "minClearTime": 158000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-07", "stageType": "MAIN", "zoneId": "main_10" @@ -51464,9 +50835,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-08", "stageType": "MAIN", "zoneId": "main_10" @@ -51626,9 +50994,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-08", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -51780,9 +51145,6 @@ } }, "minClearTime": 188000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-09", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -51934,9 +51296,6 @@ } }, "minClearTime": 188000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-09", "stageType": "MAIN", "zoneId": "main_10" @@ -52112,9 +51471,6 @@ } }, "minClearTime": 212000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-10", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -52290,9 +51646,6 @@ } }, "minClearTime": 212000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-10", "stageType": "MAIN", "zoneId": "main_10" @@ -52460,9 +51813,6 @@ } }, "minClearTime": 191000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-11", "stageType": "MAIN", "zoneId": "main_10" @@ -52630,9 +51980,6 @@ } }, "minClearTime": 191000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-11", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -52800,9 +52147,6 @@ } }, "minClearTime": 157000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-12", "stageType": "MAIN", "zoneId": "main_10" @@ -52970,9 +52314,6 @@ } }, "minClearTime": 157000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-12", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -53140,9 +52481,6 @@ } }, "minClearTime": 177000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-13", "stageType": "MAIN", "zoneId": "main_10" @@ -53310,9 +52648,6 @@ } }, "minClearTime": 177000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-13", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -53392,9 +52727,6 @@ } }, "minClearTime": 199000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-14", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -53474,9 +52806,6 @@ } }, "minClearTime": 199000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-14", "stageType": "MAIN", "zoneId": "main_10" @@ -53620,9 +52949,6 @@ } }, "minClearTime": 283000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_10-15", "stageType": "MAIN", "zoneId": "main_10" @@ -53766,9 +53092,6 @@ } }, "minClearTime": 283000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_10-15", "stageType": "MAIN", "zoneId": "main_10_tough" @@ -54416,9 +53739,6 @@ } }, "minClearTime": 172000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_melee_6", "stageType": "DAILY", "zoneId": "weekly_9" @@ -54494,9 +53814,6 @@ } }, "minClearTime": 183000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "wk_kc_6", "stageType": "DAILY", "zoneId": "weekly_7" @@ -56884,13 +56201,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 170000, @@ -56914,13 +56237,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 226000, @@ -56944,13 +56273,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 154000, @@ -56974,13 +56309,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 178000, @@ -57004,13 +56345,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 183000, @@ -57034,13 +56381,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 187000, @@ -57064,13 +56417,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 226000, @@ -57094,13 +56453,19 @@ "openTime": 1658217600000 }, "JP": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "KR": { - "exist": false + "closeTime": 1677178800000, + "exist": true, + "openTime": 1676617200000 }, "US": { - "exist": false + "closeTime": 1677236400000, + "exist": true, + "openTime": 1676653200000 } }, "minClearTime": 293000, @@ -60284,9 +59649,6 @@ } }, "minClearTime": 106000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-01", "stageType": "MAIN", "zoneId": "main_11" @@ -60427,9 +59789,6 @@ } }, "minClearTime": 106000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-01", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -60506,9 +59865,6 @@ } }, "minClearTime": 190000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-02", "stageType": "MAIN", "zoneId": "main_11" @@ -60585,9 +59941,6 @@ } }, "minClearTime": 190000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-02", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -60760,9 +60113,6 @@ } }, "minClearTime": 134000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-03", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -60935,9 +60285,6 @@ } }, "minClearTime": 134000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-03", "stageType": "MAIN", "zoneId": "main_11" @@ -61102,9 +60449,6 @@ } }, "minClearTime": 177000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-04", "stageType": "MAIN", "zoneId": "main_11" @@ -61269,9 +60613,6 @@ } }, "minClearTime": 177000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-04", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -61348,9 +60689,6 @@ } }, "minClearTime": 207000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-05", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -61427,9 +60765,6 @@ } }, "minClearTime": 207000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-05", "stageType": "MAIN", "zoneId": "main_11" @@ -61570,9 +60905,6 @@ } }, "minClearTime": 201000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-06", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -61713,9 +61045,6 @@ } }, "minClearTime": 201000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-06", "stageType": "MAIN", "zoneId": "main_11" @@ -61888,9 +61217,6 @@ } }, "minClearTime": 150000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-07", "stageType": "MAIN", "zoneId": "main_11" @@ -62063,9 +61389,6 @@ } }, "minClearTime": 150000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-07", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -62222,9 +61545,6 @@ } }, "minClearTime": 160000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-08", "stageType": "MAIN", "zoneId": "main_11" @@ -62381,9 +61701,6 @@ } }, "minClearTime": 160000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-08", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -62548,9 +61865,6 @@ } }, "minClearTime": 183000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-09", "stageType": "MAIN", "zoneId": "main_11" @@ -62715,9 +62029,6 @@ } }, "minClearTime": 183000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-09", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -62882,9 +62193,6 @@ } }, "minClearTime": 211000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-10", "stageType": "MAIN", "zoneId": "main_11" @@ -63049,9 +62357,6 @@ } }, "minClearTime": 211000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-10", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -63200,9 +62505,6 @@ } }, "minClearTime": 196500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-11", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -63351,9 +62653,6 @@ } }, "minClearTime": 196500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-11", "stageType": "MAIN", "zoneId": "main_11" @@ -63526,9 +62825,6 @@ } }, "minClearTime": 165000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-12", "stageType": "MAIN", "zoneId": "main_11" @@ -63701,9 +62997,6 @@ } }, "minClearTime": 165000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-12", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -63852,9 +63145,6 @@ } }, "minClearTime": 203000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-13", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -64003,9 +63293,6 @@ } }, "minClearTime": 203000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-13", "stageType": "MAIN", "zoneId": "main_11" @@ -64170,9 +63457,6 @@ } }, "minClearTime": 186000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-14", "stageType": "MAIN", "zoneId": "main_11" @@ -64337,9 +63621,6 @@ } }, "minClearTime": 186000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-14", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -64392,9 +63673,6 @@ } }, "minClearTime": 167000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-15", "stageType": "MAIN", "zoneId": "main_11" @@ -64543,9 +63821,6 @@ } }, "minClearTime": 219500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-16", "stageType": "MAIN", "zoneId": "main_11" @@ -64694,9 +63969,6 @@ } }, "minClearTime": 219500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-16", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -64749,9 +64021,6 @@ } }, "minClearTime": 111500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-17", "stageType": "MAIN", "zoneId": "main_11" @@ -64924,9 +64193,6 @@ } }, "minClearTime": 188000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "tough_11-18", "stageType": "MAIN", "zoneId": "main_11_tough" @@ -65099,9 +64365,6 @@ } }, "minClearTime": 188000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "main_11-18", "stageType": "MAIN", "zoneId": "main_11" @@ -70546,85 +69809,6 @@ "ko": "DC-1", "zh": "DC-1" }, - "dropInfos": [ - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30011" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30061" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30031" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30021" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30041" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30051" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "FURNITURE", - "itemId": "furni" - }, - { - "bounds": { - "lower": 0, - "upper": 6 - }, - "dropType": "NORMAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "SPECIAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "EXTRA_DROP" - } - ], "existence": { "CN": { "closeTime": 1676923200000, @@ -70642,9 +69826,6 @@ } }, "minClearTime": 180000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "act14mini_01", "stageType": "ACTIVITY", "zoneId": "act14mini_zone1" @@ -70658,85 +69839,6 @@ "ko": "DC-2", "zh": "DC-2" }, - "dropInfos": [ - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30011" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30061" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30031" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30021" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30041" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30051" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "FURNITURE", - "itemId": "furni" - }, - { - "bounds": { - "lower": 0, - "upper": 6 - }, - "dropType": "NORMAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "SPECIAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "EXTRA_DROP" - } - ], "existence": { "CN": { "closeTime": 1676923200000, @@ -70754,9 +69856,6 @@ } }, "minClearTime": 139500, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "act14mini_02", "stageType": "ACTIVITY", "zoneId": "act14mini_zone1" @@ -70770,85 +69869,6 @@ "ko": "DC-3", "zh": "DC-3" }, - "dropInfos": [ - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30011" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30061" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30031" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30021" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30041" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "NORMAL_DROP", - "itemId": "30051" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "FURNITURE", - "itemId": "furni" - }, - { - "bounds": { - "lower": 0, - "upper": 6 - }, - "dropType": "NORMAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "SPECIAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "EXTRA_DROP" - } - ], "existence": { "CN": { "closeTime": 1676923200000, @@ -70866,9 +69886,6 @@ } }, "minClearTime": 205000, - "recognitionOnly": [ - "act14mini_token_fu" - ], "stageId": "act14mini_03", "stageType": "ACTIVITY", "zoneId": "act14mini_zone1" @@ -70882,6 +69899,156 @@ "ko": "DC-4", "zh": "DC-4" }, + "existence": { + "CN": { + "closeTime": 1676923200000, + "exist": true, + "openTime": 1676361600000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 214000, + "stageId": "act14mini_04", + "stageType": "ACTIVITY", + "zoneId": "act14mini_zone1" + }, + { + "apCost": 15, + "code": "DC-5", + "code_i18n": { + "en": "DC-5", + "ja": "DC-5", + "ko": "DC-5", + "zh": "DC-5" + }, + "existence": { + "CN": { + "closeTime": 1676923200000, + "exist": true, + "openTime": 1676361600000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 181000, + "stageId": "act14mini_05", + "stageType": "ACTIVITY", + "zoneId": "act14mini_zone1" + }, + { + "apCost": 15, + "code": "DC-6", + "code_i18n": { + "en": "DC-6", + "ja": "DC-6", + "ko": "DC-6", + "zh": "DC-6" + }, + "existence": { + "CN": { + "closeTime": 1676923200000, + "exist": true, + "openTime": 1676361600000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 219000, + "stageId": "act14mini_06", + "stageType": "ACTIVITY", + "zoneId": "act14mini_zone1" + }, + { + "apCost": 21, + "code": "DC-7", + "code_i18n": { + "en": "DC-7", + "ja": "DC-7", + "ko": "DC-7", + "zh": "DC-7" + }, + "existence": { + "CN": { + "closeTime": 1676923200000, + "exist": true, + "openTime": 1676361600000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 206000, + "stageId": "act14mini_07", + "stageType": "ACTIVITY", + "zoneId": "act14mini_zone1" + }, + { + "apCost": 21, + "code": "DC-8", + "code_i18n": { + "en": "DC-8", + "ja": "DC-8", + "ko": "DC-8", + "zh": "DC-8" + }, + "existence": { + "CN": { + "closeTime": 1676923200000, + "exist": true, + "openTime": 1676361600000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 265000, + "stageId": "act14mini_08", + "stageType": "ACTIVITY", + "zoneId": "act14mini_zone1" + }, + { + "apCost": 9, + "code": "GA-1", + "code_i18n": { + "en": "GA-1", + "ja": "GA-1", + "ko": "GA-1", + "zh": "GA-1" + }, "dropInfos": [ { "bounds": { @@ -70963,9 +70130,9 @@ ], "existence": { "CN": { - "closeTime": 1676923200000, + "closeTime": 1677787200000, "exist": true, - "openTime": 1676361600000 + "openTime": 1676966400000 }, "JP": { "exist": false @@ -70977,223 +70144,71 @@ "exist": false } }, - "minClearTime": 214000, + "minClearTime": 144000, "recognitionOnly": [ - "act14mini_token_fu" + "act16side_token_bolt_rep_1" ], - "stageId": "act14mini_04", + "stageId": "act16side_01_rep", "stageType": "ACTIVITY", - "zoneId": "act14mini_zone1" + "zoneId": "act16sre_zone1" }, { - "apCost": 15, - "code": "DC-5", + "apCost": 9, + "code": "GA-2", "code_i18n": { - "en": "DC-5", - "ja": "DC-5", - "ko": "DC-5", - "zh": "DC-5" + "en": "GA-2", + "ja": "GA-2", + "ko": "GA-2", + "zh": "GA-2" }, "dropInfos": [ - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "2001" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "2002" - }, { "bounds": { "lower": 0, "upper": 5 }, - "dropType": "EXTRA_DROP", - "itemId": "30021" - }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30022" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "EXTRA_DROP", - "itemId": "30041" - }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30042" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "EXTRA_DROP", - "itemId": "30051" - }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30052" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "FURNITURE", - "itemId": "furni" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "SPECIAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 2 - }, - "dropType": "EXTRA_DROP" - }, - { - "bounds": { - "lower": 1, - "upper": 3 - }, "dropType": "NORMAL_DROP", - "itemId": "30032" - }, - { - "bounds": { - "lower": 1, - "upper": 1 - }, - "dropType": "NORMAL_DROP" - } - ], - "existence": { - "CN": { - "closeTime": 1676923200000, - "exist": true, - "openTime": 1676361600000 - }, - "JP": { - "exist": false - }, - "KR": { - "exist": false - }, - "US": { - "exist": false - } - }, - "minClearTime": 181000, - "recognitionOnly": [ - "act14mini_token_fu" - ], - "stageId": "act14mini_05", - "stageType": "ACTIVITY", - "zoneId": "act14mini_zone1" - }, - { - "apCost": 15, - "code": "DC-6", - "code_i18n": { - "en": "DC-6", - "ja": "DC-6", - "ko": "DC-6", - "zh": "DC-6" - }, - "dropInfos": [ - { - "bounds": { - "lower": 1, - "upper": 3 - }, - "dropType": "NORMAL_DROP", - "itemId": "30012" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "3003" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "EXTRA_DROP", "itemId": "30011" }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30012" - }, { "bounds": { "lower": 0, "upper": 5 }, - "dropType": "EXTRA_DROP", + "dropType": "NORMAL_DROP", "itemId": "30061" }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30062" - }, { "bounds": { "lower": 0, "upper": 5 }, - "dropType": "EXTRA_DROP", + "dropType": "NORMAL_DROP", "itemId": "30031" }, { "bounds": { "lower": 0, - "upper": 3 + "upper": 5 }, - "dropType": "EXTRA_DROP", - "itemId": "30032" + "dropType": "NORMAL_DROP", + "itemId": "30021" + }, + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30041" + }, + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30051" }, { "bounds": { @@ -71205,7 +70220,351 @@ }, { "bounds": { - "lower": 1, + "lower": 0, + "upper": 6 + }, + "dropType": "NORMAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "SPECIAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "EXTRA_DROP" + } + ], + "existence": { + "CN": { + "closeTime": 1677787200000, + "exist": true, + "openTime": 1676966400000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 189000, + "recognitionOnly": [ + "act16side_token_bolt_rep_1" + ], + "stageId": "act16side_02_rep", + "stageType": "ACTIVITY", + "zoneId": "act16sre_zone1" + }, + { + "apCost": 9, + "code": "GA-3", + "code_i18n": { + "en": "GA-3", + "ja": "GA-3", + "ko": "GA-3", + "zh": "GA-3" + }, + "dropInfos": [ + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30011" + }, + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30061" + }, + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30031" + }, + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30021" + }, + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30041" + }, + { + "bounds": { + "lower": 0, + "upper": 5 + }, + "dropType": "NORMAL_DROP", + "itemId": "30051" + }, + { + "bounds": { + "lower": 0, + "upper": 1 + }, + "dropType": "FURNITURE", + "itemId": "furni" + }, + { + "bounds": { + "lower": 0, + "upper": 6 + }, + "dropType": "NORMAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "SPECIAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "EXTRA_DROP" + } + ], + "existence": { + "CN": { + "closeTime": 1677787200000, + "exist": true, + "openTime": 1676966400000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 121000, + "recognitionOnly": [ + "act16side_token_bolt_rep_1" + ], + "stageId": "act16side_03_rep", + "stageType": "ACTIVITY", + "zoneId": "act16sre_zone1" + }, + { + "apCost": 12, + "code": "GA-4", + "code_i18n": { + "en": "GA-4", + "ja": "GA-4", + "ko": "GA-4", + "zh": "GA-4" + }, + "dropInfos": [ + { + "bounds": { + "lower": 0, + "upper": 3 + }, + "dropType": "NORMAL_DROP", + "itemId": "30012" + }, + { + "bounds": { + "lower": 0, + "upper": 3 + }, + "dropType": "NORMAL_DROP", + "itemId": "30062" + }, + { + "bounds": { + "lower": 0, + "upper": 1 + }, + "dropType": "FURNITURE", + "itemId": "furni" + }, + { + "bounds": { + "lower": 0, + "upper": 2 + }, + "dropType": "NORMAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "SPECIAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "EXTRA_DROP" + } + ], + "existence": { + "CN": { + "closeTime": 1677787200000, + "exist": true, + "openTime": 1676966400000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 172000, + "recognitionOnly": [ + "act16side_token_bolt_rep_1" + ], + "stageId": "act16side_04_rep", + "stageType": "ACTIVITY", + "zoneId": "act16sre_zone1" + }, + { + "apCost": 12, + "code": "GA-5", + "code_i18n": { + "en": "GA-5", + "ja": "GA-5", + "ko": "GA-5", + "zh": "GA-5" + }, + "dropInfos": [ + { + "bounds": { + "lower": 0, + "upper": 3 + }, + "dropType": "NORMAL_DROP", + "itemId": "30022" + }, + { + "bounds": { + "lower": 0, + "upper": 3 + }, + "dropType": "NORMAL_DROP", + "itemId": "30042" + }, + { + "bounds": { + "lower": 0, + "upper": 1 + }, + "dropType": "FURNITURE", + "itemId": "furni" + }, + { + "bounds": { + "lower": 0, + "upper": 2 + }, + "dropType": "NORMAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "SPECIAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "EXTRA_DROP" + } + ], + "existence": { + "CN": { + "closeTime": 1677787200000, + "exist": true, + "openTime": 1676966400000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 197000, + "recognitionOnly": [ + "act16side_token_bolt_rep_1" + ], + "stageId": "act16side_05_rep", + "stageType": "ACTIVITY", + "zoneId": "act16sre_zone1" + }, + { + "apCost": 18, + "code": "GA-6", + "code_i18n": { + "en": "GA-6", + "ja": "GA-6", + "ko": "GA-6", + "zh": "GA-6" + }, + "dropInfos": [ + { + "bounds": { + "lower": 0, + "upper": 1 + }, + "dropType": "NORMAL_DROP", + "itemId": "30023" + }, + { + "bounds": { + "lower": 0, + "upper": 1 + }, + "dropType": "FURNITURE", + "itemId": "furni" + }, + { + "bounds": { + "lower": 0, "upper": 1 }, "dropType": "NORMAL_DROP" @@ -71220,16 +70579,16 @@ { "bounds": { "lower": 0, - "upper": 2 + "upper": 0 }, "dropType": "EXTRA_DROP" } ], "existence": { "CN": { - "closeTime": 1676923200000, + "closeTime": 1677787200000, "exist": true, - "openTime": 1676361600000 + "openTime": 1676966400000 }, "JP": { "exist": false @@ -71241,22 +70600,22 @@ "exist": false } }, - "minClearTime": 219000, + "minClearTime": 150000, "recognitionOnly": [ - "act14mini_token_fu" + "act16side_token_bolt_rep_1" ], - "stageId": "act14mini_06", + "stageId": "act16side_06_rep", "stageType": "ACTIVITY", - "zoneId": "act14mini_zone1" + "zoneId": "act16sre_zone1" }, { "apCost": 21, - "code": "DC-7", + "code": "GA-7", "code_i18n": { - "en": "DC-7", - "ja": "DC-7", - "ko": "DC-7", - "zh": "DC-7" + "en": "GA-7", + "ja": "GA-7", + "ko": "GA-7", + "zh": "GA-7" }, "dropInfos": [ { @@ -71265,70 +70624,6 @@ "upper": 1 }, "dropType": "NORMAL_DROP", - "itemId": "30033" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "3003" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "EXTRA_DROP", - "itemId": "30011" - }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30012" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "30013" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "EXTRA_DROP", - "itemId": "30061" - }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30062" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "30063" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", "itemId": "30073" }, { @@ -71336,7 +70631,71 @@ "lower": 0, "upper": 1 }, - "dropType": "EXTRA_DROP", + "dropType": "FURNITURE", + "itemId": "furni" + }, + { + "bounds": { + "lower": 0, + "upper": 1 + }, + "dropType": "NORMAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "SPECIAL_DROP" + }, + { + "bounds": { + "lower": 0, + "upper": 0 + }, + "dropType": "EXTRA_DROP" + } + ], + "existence": { + "CN": { + "closeTime": 1677787200000, + "exist": true, + "openTime": 1676966400000 + }, + "JP": { + "exist": false + }, + "KR": { + "exist": false + }, + "US": { + "exist": false + } + }, + "minClearTime": 175000, + "recognitionOnly": [ + "act16side_token_bolt_rep_1" + ], + "stageId": "act16side_07_rep", + "stageType": "ACTIVITY", + "zoneId": "act16sre_zone1" + }, + { + "apCost": 21, + "code": "GA-8", + "code_i18n": { + "en": "GA-8", + "ja": "GA-8", + "ko": "GA-8", + "zh": "GA-8" + }, + "dropInfos": [ + { + "bounds": { + "lower": 0, + "upper": 1 + }, + "dropType": "NORMAL_DROP", "itemId": "31013" }, { @@ -71364,16 +70723,16 @@ { "bounds": { "lower": 0, - "upper": 2 + "upper": 0 }, "dropType": "EXTRA_DROP" } ], "existence": { "CN": { - "closeTime": 1676923200000, + "closeTime": 1677787200000, "exist": true, - "openTime": 1676361600000 + "openTime": 1676966400000 }, "JP": { "exist": false @@ -71387,170 +70746,10 @@ }, "minClearTime": 206000, "recognitionOnly": [ - "act14mini_token_fu" + "act16side_token_bolt_rep_1" ], - "stageId": "act14mini_07", + "stageId": "act16side_08_rep", "stageType": "ACTIVITY", - "zoneId": "act14mini_zone1" - }, - { - "apCost": 21, - "code": "DC-8", - "code_i18n": { - "en": "DC-8", - "ja": "DC-8", - "ko": "DC-8", - "zh": "DC-8" - }, - "dropInfos": [ - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "NORMAL_DROP", - "itemId": "30093" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "EXTRA_DROP", - "itemId": "30031" - }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30032" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "30033" - }, - { - "bounds": { - "lower": 0, - "upper": 5 - }, - "dropType": "EXTRA_DROP", - "itemId": "30051" - }, - { - "bounds": { - "lower": 0, - "upper": 3 - }, - "dropType": "EXTRA_DROP", - "itemId": "30052" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "30053" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "30093" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "30103" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "31033" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "31043" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "EXTRA_DROP", - "itemId": "31053" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "FURNITURE", - "itemId": "furni" - }, - { - "bounds": { - "lower": 0, - "upper": 1 - }, - "dropType": "NORMAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 0 - }, - "dropType": "SPECIAL_DROP" - }, - { - "bounds": { - "lower": 0, - "upper": 2 - }, - "dropType": "EXTRA_DROP" - } - ], - "existence": { - "CN": { - "closeTime": 1676923200000, - "exist": true, - "openTime": 1676361600000 - }, - "JP": { - "exist": false - }, - "KR": { - "exist": false - }, - "US": { - "exist": false - } - }, - "minClearTime": 265000, - "recognitionOnly": [ - "act14mini_token_fu" - ], - "stageId": "act14mini_08", - "stageType": "ACTIVITY", - "zoneId": "act14mini_zone1" + "zoneId": "act16sre_zone1" } ] \ No newline at end of file From 8bd3884949c05f79015266a35c38b9054c413305 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Tue, 21 Feb 2023 17:03:23 +0800 Subject: [PATCH 02/44] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=90=BE?= =?UTF-8?q?=E5=AF=BC=E5=85=88=E8=B7=AF=E6=B4=BB=E5=8A=A8=E5=AF=BC=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 93 ++++++++++++++++++++++++++++ src/MaaWpfGui/Helper/StageManager.cs | 2 +- 2 files changed, 94 insertions(+), 1 deletion(-) diff --git a/resource/tasks.json b/resource/tasks.json index 7b39eab1c5..f17cf50eab 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -778,6 +778,99 @@ 120 ] }, + "GA-6": { + "algorithm": "JustReturn", + "action": "DoNothing", + "sub": [ + "GA-Open" + ], + "next": [ + "StageGA-6", + "GA-6@SwipeToStage" + ] + }, + "GA-7": { + "algorithm": "JustReturn", + "action": "DoNothing", + "sub": [ + "GA-Open" + ], + "next": [ + "StageGA-7", + "GA-7@SwipeToStage" + ] + }, + "GA-8": { + "algorithm": "JustReturn", + "action": "DoNothing", + "sub": [ + "GA-Open" + ], + "next": [ + "StageGA-8", + "GA-8@SwipeToStage" + ] + }, + "GA-Open": { + "action": "ClickSelf", + "algorithm": "OcrDetect", + "text": [ + "吾导先路", + "复刻" + ], + "roi": [ + 0, + 500, + 500, + 150 + ], + "postDelay": 2000, + "next": [ + "GAChapterToGA" + ] + }, + "GAChapterToGA": { + "action": "ClickSelf", + "algorithm": "OcrDetect", + "text": [ + "万国峰会" + ], + "roi": [ + 1007, + 431, + 227, + 140 + ], + "postDelay": 2000, + "next": [ + "GAChapterToGA", + "ChapterSwipeToTheRight" + ] + }, + "StageGA-6": { + "action": "ClickSelf", + "algorithm": "OcrDetect", + "text": [ + "GA-6" + ], + "cache": false + }, + "StageGA-7": { + "action": "ClickSelf", + "algorithm": "OcrDetect", + "text": [ + "GA-7" + ], + "cache": false + }, + "StageGA-8": { + "action": "ClickSelf", + "algorithm": "OcrDetect", + "text": [ + "GA-8" + ], + "cache": false + }, "WB-7": { "algorithm": "JustReturn", "action": "DoNothing", diff --git a/src/MaaWpfGui/Helper/StageManager.cs b/src/MaaWpfGui/Helper/StageManager.cs index c96ca4cd72..007458d8e2 100644 --- a/src/MaaWpfGui/Helper/StageManager.cs +++ b/src/MaaWpfGui/Helper/StageManager.cs @@ -117,7 +117,7 @@ namespace MaaWpfGui bool isDebugVersion = Marshal.PtrToStringAnsi(AsstGetVersion()) == "DEBUG VERSION"; bool curParsed = !isDebugVersion ? SemVersion.TryParse(Marshal.PtrToStringAnsi(AsstGetVersion()), SemVersionStyles.AllowLowerV, out var curVersionObj) : - SemVersion.TryParse("4.10.7", SemVersionStyles.AllowLowerV, out curVersionObj); + SemVersion.TryParse("4.11.7", SemVersionStyles.AllowLowerV, out curVersionObj); bool minimumRequiredPared = SemVersion.TryParse(stageObj?["MinimumRequired"]?.ToString() ?? string.Empty, SemVersionStyles.AllowLowerV, out var minimumRequiredObj); var stageInfo = new StageInfo(); From 6ef82d1f448bac51742f4bef7a7a30c96b631bc4 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 21 Feb 2023 19:12:39 +0800 Subject: [PATCH 03/44] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E6=95=B0=E6=8D=AE=202023/02/21?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 + ...tivities-act16side-level_act16side_01.json | 526 ++++++ ...tivities-act16side-level_act16side_02.json | 575 +++++++ ...tivities-act16side-level_act16side_03.json | 575 +++++++ ...tivities-act16side-level_act16side_04.json | 526 ++++++ ...tivities-act16side-level_act16side_05.json | 624 ++++++++ ...tivities-act16side-level_act16side_06.json | 654 ++++++++ ...ivities-act16side-level_act16side_07.json} | 1336 +++++----------- ...tivities-act16side-level_act16side_08.json | 654 ++++++++ ...vities-act16side-level_act16side_ex01.json | 654 ++++++++ ...vities-act16side-level_act16side_ex01.json | 654 ++++++++ ...vities-act16side-level_act16side_ex02.json | 575 +++++++ ...vities-act16side-level_act16side_ex02.json | 575 +++++++ ...vities-act16side-level_act16side_ex03.json | 710 +++++++++ ...vities-act16side-level_act16side_ex03.json | 710 +++++++++ ...ities-act16side-level_act16side_ex04.json} | 1412 ++++++----------- ...vities-act16side-level_act16side_ex04.json | 710 +++++++++ ...vities-act16side-level_act16side_ex05.json | 575 +++++++ ...vities-act16side-level_act16side_ex05.json | 575 +++++++ ...vities-act16side-level_act16side_ex06.json | 710 +++++++++ ...vities-act16side-level_act16side_ex06.json | 710 +++++++++ ...vities-act16side-level_act16side_ex07.json | 710 +++++++++ ...vities-act16side-level_act16side_ex07.json | 710 +++++++++ ...ities-act16side-level_act16side_ex08.json} | 976 +++++------- ...ities-act16side-level_act16side_ex08.json} | 1046 ++++-------- ...vities-act16side-level_act16side_tr01.json | 477 ++++++ ...xi_1-obt-memory-level_memory_phenxi_1.json | 542 +++++++ resource/item_index.json | 4 +- 28 files changed, 15312 insertions(+), 3199 deletions(-) create mode 100644 resource/Arknights-Tile-Pos/act16side_01-activities-act16side-level_act16side_01.json create mode 100644 resource/Arknights-Tile-Pos/act16side_02-activities-act16side-level_act16side_02.json create mode 100644 resource/Arknights-Tile-Pos/act16side_03-activities-act16side-level_act16side_03.json create mode 100644 resource/Arknights-Tile-Pos/act16side_04-activities-act16side-level_act16side_04.json create mode 100644 resource/Arknights-Tile-Pos/act16side_05-activities-act16side-level_act16side_05.json create mode 100644 resource/Arknights-Tile-Pos/act16side_06-activities-act16side-level_act16side_06.json rename resource/Arknights-Tile-Pos/{act2bossrush_02-activities-act2bossrush-level_bossrush2_02.json => act16side_07-activities-act16side-level_act16side_07.json} (57%) create mode 100644 resource/Arknights-Tile-Pos/act16side_08-activities-act16side-level_act16side_08.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex01#f#-activities-act16side-level_act16side_ex01.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex01-activities-act16side-level_act16side_ex01.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex02#f#-activities-act16side-level_act16side_ex02.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex02-activities-act16side-level_act16side_ex02.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex03#f#-activities-act16side-level_act16side_ex03.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex03-activities-act16side-level_act16side_ex03.json rename resource/Arknights-Tile-Pos/{act2bossrush_03-activities-act2bossrush-level_bossrush2_03.json => act16side_ex04#f#-activities-act16side-level_act16side_ex04.json} (57%) create mode 100644 resource/Arknights-Tile-Pos/act16side_ex04-activities-act16side-level_act16side_ex04.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex05#f#-activities-act16side-level_act16side_ex05.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex05-activities-act16side-level_act16side_ex05.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex06#f#-activities-act16side-level_act16side_ex06.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex06-activities-act16side-level_act16side_ex06.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex07#f#-activities-act16side-level_act16side_ex07.json create mode 100644 resource/Arknights-Tile-Pos/act16side_ex07-activities-act16side-level_act16side_ex07.json rename resource/Arknights-Tile-Pos/{act2bossrush_01-activities-act2bossrush-level_bossrush2_01.json => act16side_ex08#f#-activities-act16side-level_act16side_ex08.json} (76%) rename resource/Arknights-Tile-Pos/{act2bossrush_04-activities-act2bossrush-level_bossrush2_04.json => act16side_ex08-activities-act16side-level_act16side_ex08.json} (61%) create mode 100644 resource/Arknights-Tile-Pos/act16side_tr01-activities-act16side-level_act16side_tr01.json create mode 100644 resource/Arknights-Tile-Pos/mem_phenxi_1-obt-memory-level_memory_phenxi_1.json diff --git a/.gitignore b/.gitignore index 895085dcb6..13335857eb 100644 --- a/.gitignore +++ b/.gitignore @@ -442,3 +442,9 @@ enc_temp_folder/* # Nuke .nuke/temp/* + +# 引航者试炼地图,手动改的参数 +/resource/Arknights-Tile-Pos/act2bossrush_01-activities-act2bossrush-level_bossrush2_01.json +/resource/Arknights-Tile-Pos/act2bossrush_02-activities-act2bossrush-level_bossrush2_02.json +/resource/Arknights-Tile-Pos/act2bossrush_03-activities-act2bossrush-level_bossrush2_03.json +/resource/Arknights-Tile-Pos/act2bossrush_04-activities-act2bossrush-level_bossrush2_04.json diff --git a/resource/Arknights-Tile-Pos/act16side_01-activities-act16side-level_act16side_01.json b/resource/Arknights-Tile-Pos/act16side_01-activities-act16side-level_act16side_01.json new file mode 100644 index 0000000000..870c26526b --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_01-activities-act16side-level_act16side_01.json @@ -0,0 +1,526 @@ +{ + "code": "GA-1", + "height": 7, + "levelId": "activities/act16side/level_act16side_01", + "name": "灯下黑", + "stageId": "act16side_01", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 10 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_02-activities-act16side-level_act16side_02.json b/resource/Arknights-Tile-Pos/act16side_02-activities-act16side-level_act16side_02.json new file mode 100644 index 0000000000..c7eae2af3e --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_02-activities-act16side-level_act16side_02.json @@ -0,0 +1,575 @@ +{ + "code": "GA-2", + "height": 7, + "levelId": "activities/act16side/level_act16side_02", + "name": "散步时光", + "stageId": "act16side_02", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_03-activities-act16side-level_act16side_03.json b/resource/Arknights-Tile-Pos/act16side_03-activities-act16side-level_act16side_03.json new file mode 100644 index 0000000000..74ac5a5540 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_03-activities-act16side-level_act16side_03.json @@ -0,0 +1,575 @@ +{ + "code": "GA-3", + "height": 7, + "levelId": "activities/act16side/level_act16side_03", + "name": "混血儿", + "stageId": "act16side_03", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_04-activities-act16side-level_act16side_04.json b/resource/Arknights-Tile-Pos/act16side_04-activities-act16side-level_act16side_04.json new file mode 100644 index 0000000000..1c60638177 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_04-activities-act16side-level_act16side_04.json @@ -0,0 +1,526 @@ +{ + "code": "GA-4", + "height": 7, + "levelId": "activities/act16side/level_act16side_04", + "name": "安魂教堂", + "stageId": "act16side_04", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 10 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_05-activities-act16side-level_act16side_05.json b/resource/Arknights-Tile-Pos/act16side_05-activities-act16side-level_act16side_05.json new file mode 100644 index 0000000000..4fbc592789 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_05-activities-act16side-level_act16side_05.json @@ -0,0 +1,624 @@ +{ + "code": "GA-5", + "height": 7, + "levelId": "activities/act16side/level_act16side_05", + "name": "葬礼", + "stageId": "act16side_05", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_06-activities-act16side-level_act16side_06.json b/resource/Arknights-Tile-Pos/act16side_06-activities-act16side-level_act16side_06.json new file mode 100644 index 0000000000..7a38b87d95 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_06-activities-act16side-level_act16side_06.json @@ -0,0 +1,654 @@ +{ + "code": "GA-6", + "height": 8, + "levelId": "activities/act16side/level_act16side_06", + "name": "安魂曲", + "stageId": "act16side_06", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act2bossrush_02-activities-act2bossrush-level_bossrush2_02.json b/resource/Arknights-Tile-Pos/act16side_07-activities-act16side-level_act16side_07.json similarity index 57% rename from resource/Arknights-Tile-Pos/act2bossrush_02-activities-act2bossrush-level_bossrush2_02.json rename to resource/Arknights-Tile-Pos/act16side_07-activities-act16side-level_act16side_07.json index bb4a3dc35e..0d2f075002 100644 --- a/resource/Arknights-Tile-Pos/act2bossrush_02-activities-act2bossrush-level_bossrush2_02.json +++ b/resource/Arknights-Tile-Pos/act16side_07-activities-act16side-level_act16side_07.json @@ -1,9 +1,9 @@ { - "code": "TN-2", + "code": "GA-7", "height": 8, - "levelId": "activities/act2bossrush/level_bossrush2_02", - "name": "大块头和小不点", - "stageId": "act2bossrush_02", + "levelId": "activities/act16side/level_act16side_07", + "name": "光与影", + "stageId": "act16side_07", "tiles": [ [ { @@ -13,814 +13,6 @@ "isStart": false, "tileKey": "tile_forbidden" }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_flystart" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_telout" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_flystart" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_telout" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_flystart" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_flystart" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_telin" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_fence" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_telin" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_telin" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": true, - "tileKey": "tile_flystart" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_fence" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_fence" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": true, - "tileKey": "tile_flystart" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_telin" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, { "buildableType": 0, "heightType": 0, @@ -830,52 +22,52 @@ }, { "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_wall" + "tileKey": "tile_forbidden" }, { "buildableType": 0, - "heightType": 0, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_forbidden" }, { "buildableType": 0, - "heightType": 0, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" }, { "buildableType": 0, @@ -907,6 +99,85 @@ "isStart": false, "tileKey": "tile_forbidden" }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ { "buildableType": 0, "heightType": 1, @@ -936,32 +207,11 @@ "tileKey": "tile_road" }, { - "buildableType": 0, + "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_road" }, { "buildableType": 1, @@ -970,13 +220,6 @@ "isStart": false, "tileKey": "tile_road" }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": true, - "isStart": false, - "tileKey": "tile_end" - }, { "buildableType": 1, "heightType": 0, @@ -985,25 +228,11 @@ "tileKey": "tile_road" }, { - "buildableType": 0, + "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" + "tileKey": "tile_road" }, { "buildableType": 0, @@ -1013,39 +242,25 @@ "tileKey": "tile_forbidden" }, { - "buildableType": 2, + "buildableType": 0, "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_forbidden" }, { "buildableType": 1, "heightType": 0, "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, + "isStart": true, "tileKey": "tile_road" }, { "buildableType": 0, - "heightType": 0, - "isEnd": true, + "heightType": 1, + "isEnd": false, "isStart": false, - "tileKey": "tile_end" + "tileKey": "tile_forbidden" } ], [ @@ -1084,12 +299,212 @@ "isStart": false, "tileKey": "tile_forbidden" }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, { "buildableType": 0, "heightType": 1, "isEnd": false, "isStart": false, "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" }, { "buildableType": 0, @@ -1098,6 +513,15 @@ "isStart": false, "tileKey": "tile_telout" }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ { "buildableType": 0, "heightType": 1, @@ -1110,8 +534,80 @@ "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_telout" + "tileKey": "tile_floor" }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ { "buildableType": 0, "heightType": 1, @@ -1200,15 +696,15 @@ ], "view": [ [ - -4.5, - -6.1, - -9.76 + 0.0, + -5.6, + -8.9 ], [ - -3.6, - -6.6, - -10.66 + 0.79546878123568, + -6.1, + -9.764789001808651 ] ], - "width": 21 -} + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_08-activities-act16side-level_act16side_08.json b/resource/Arknights-Tile-Pos/act16side_08-activities-act16side-level_act16side_08.json new file mode 100644 index 0000000000..3657e2f01e --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_08-activities-act16side-level_act16side_08.json @@ -0,0 +1,654 @@ +{ + "code": "GA-8", + "height": 8, + "levelId": "activities/act16side/level_act16side_08", + "name": "影与灰", + "stageId": "act16side_08", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex01#f#-activities-act16side-level_act16side_ex01.json b/resource/Arknights-Tile-Pos/act16side_ex01#f#-activities-act16side-level_act16side_ex01.json new file mode 100644 index 0000000000..e3a88988ec --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex01#f#-activities-act16side-level_act16side_ex01.json @@ -0,0 +1,654 @@ +{ + "code": "GA-EX-1", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex01", + "name": "巧克力曲奇", + "stageId": "act16side_ex01#f#", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_hole" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex01-activities-act16side-level_act16side_ex01.json b/resource/Arknights-Tile-Pos/act16side_ex01-activities-act16side-level_act16side_ex01.json new file mode 100644 index 0000000000..d4636c882b --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex01-activities-act16side-level_act16side_ex01.json @@ -0,0 +1,654 @@ +{ + "code": "GA-EX-1", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex01", + "name": "巧克力曲奇", + "stageId": "act16side_ex01", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_hole" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex02#f#-activities-act16side-level_act16side_ex02.json b/resource/Arknights-Tile-Pos/act16side_ex02#f#-activities-act16side-level_act16side_ex02.json new file mode 100644 index 0000000000..184ff25ca0 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex02#f#-activities-act16side-level_act16side_ex02.json @@ -0,0 +1,575 @@ +{ + "code": "GA-EX-2", + "height": 7, + "levelId": "activities/act16side/level_act16side_ex02", + "name": "限量蒙布朗", + "stageId": "act16side_ex02#f#", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": true, + "tileKey": "tile_flystart" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.1, + -8.9 + ], + [ + 0.79546878123568, + -5.6, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex02-activities-act16side-level_act16side_ex02.json b/resource/Arknights-Tile-Pos/act16side_ex02-activities-act16side-level_act16side_ex02.json new file mode 100644 index 0000000000..fb8ffdc3fa --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex02-activities-act16side-level_act16side_ex02.json @@ -0,0 +1,575 @@ +{ + "code": "GA-EX-2", + "height": 7, + "levelId": "activities/act16side/level_act16side_ex02", + "name": "限量蒙布朗", + "stageId": "act16side_ex02", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": true, + "tileKey": "tile_flystart" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_fence" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.1, + -8.9 + ], + [ + 0.79546878123568, + -5.6, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex03#f#-activities-act16side-level_act16side_ex03.json b/resource/Arknights-Tile-Pos/act16side_ex03#f#-activities-act16side-level_act16side_ex03.json new file mode 100644 index 0000000000..fecd05ea16 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex03#f#-activities-act16side-level_act16side_ex03.json @@ -0,0 +1,710 @@ +{ + "code": "GA-EX-3", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex03", + "name": "香草圣代", + "stageId": "act16side_ex03#f#", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex03-activities-act16side-level_act16side_ex03.json b/resource/Arknights-Tile-Pos/act16side_ex03-activities-act16side-level_act16side_ex03.json new file mode 100644 index 0000000000..78785d9934 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex03-activities-act16side-level_act16side_ex03.json @@ -0,0 +1,710 @@ +{ + "code": "GA-EX-3", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex03", + "name": "香草圣代", + "stageId": "act16side_ex03", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act2bossrush_03-activities-act2bossrush-level_bossrush2_03.json b/resource/Arknights-Tile-Pos/act16side_ex04#f#-activities-act16side-level_act16side_ex04.json similarity index 57% rename from resource/Arknights-Tile-Pos/act2bossrush_03-activities-act2bossrush-level_bossrush2_03.json rename to resource/Arknights-Tile-Pos/act16side_ex04#f#-activities-act16side-level_act16side_ex04.json index 4db1345539..1fca2fbac9 100644 --- a/resource/Arknights-Tile-Pos/act2bossrush_03-activities-act2bossrush-level_bossrush2_03.json +++ b/resource/Arknights-Tile-Pos/act16side_ex04#f#-activities-act16side-level_act16side_ex04.json @@ -1,9 +1,9 @@ { - "code": "TN-3", + "code": "GA-EX-4", "height": 8, - "levelId": "activities/act2bossrush/level_bossrush2_03", - "name": "裂地重击", - "stageId": "act2bossrush_03", + "levelId": "activities/act16side/level_act16side_ex04", + "name": "焦糖布丁", + "stageId": "act16side_ex04#f#", "tiles": [ [ { @@ -41,90 +41,6 @@ "isStart": false, "tileKey": "tile_forbidden" }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, { "buildableType": 0, "heightType": 0, @@ -146,6 +62,27 @@ "isStart": false, "tileKey": "tile_forbidden" }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, { "buildableType": 0, "heightType": 1, @@ -157,24 +94,152 @@ [ { "buildableType": 0, - "heightType": 0, + "heightType": 1, "isEnd": false, - "isStart": true, - "tileKey": "tile_start" + "isStart": false, + "tileKey": "tile_forbidden" }, { - "buildableType": 0, + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" }, { "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, "heightType": 0, "isEnd": false, - "isStart": true, - "tileKey": "tile_floor" + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" }, { "buildableType": 1, @@ -196,27 +261,122 @@ "isEnd": false, "isStart": false, "tileKey": "tile_forbidden" - }, + } + ], + [ { "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_road" }, { "buildableType": 0, - "heightType": 0, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" }, { "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_hole" + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" }, { "buildableType": 0, @@ -232,6 +392,192 @@ "isStart": false, "tileKey": "tile_forbidden" }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, { "buildableType": 0, "heightType": 0, @@ -250,198 +596,7 @@ "buildableType": 0, "heightType": 0, "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": true, - "tileKey": "tile_flystart" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": true, - "tileKey": "tile_flystart" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_hole" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, "tileKey": "tile_floor" }, { @@ -453,665 +608,6 @@ } ], [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_hole" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": true, - "isStart": false, - "tileKey": "tile_end" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, { "buildableType": 0, "heightType": 1, @@ -1200,15 +696,15 @@ ], "view": [ [ - -4.5, - -6.1, - -9.76 + 0.0, + -5.6, + -8.9 ], [ - -3.56, - -6.57, - -10.56 + 0.79546878123568, + -6.1, + -9.764789001808651 ] ], - "width": 21 -} + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex04-activities-act16side-level_act16side_ex04.json b/resource/Arknights-Tile-Pos/act16side_ex04-activities-act16side-level_act16side_ex04.json new file mode 100644 index 0000000000..a9727b4509 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex04-activities-act16side-level_act16side_ex04.json @@ -0,0 +1,710 @@ +{ + "code": "GA-EX-4", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex04", + "name": "焦糖布丁", + "stageId": "act16side_ex04", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex05#f#-activities-act16side-level_act16side_ex05.json b/resource/Arknights-Tile-Pos/act16side_ex05#f#-activities-act16side-level_act16side_ex05.json new file mode 100644 index 0000000000..79121e2dd3 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex05#f#-activities-act16side-level_act16side_ex05.json @@ -0,0 +1,575 @@ +{ + "code": "GA-EX-5", + "height": 7, + "levelId": "activities/act16side/level_act16side_ex05", + "name": "年轮卷", + "stageId": "act16side_ex05#f#", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex05-activities-act16side-level_act16side_ex05.json b/resource/Arknights-Tile-Pos/act16side_ex05-activities-act16side-level_act16side_ex05.json new file mode 100644 index 0000000000..a572e9d472 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex05-activities-act16side-level_act16side_ex05.json @@ -0,0 +1,575 @@ +{ + "code": "GA-EX-5", + "height": 7, + "levelId": "activities/act16side/level_act16side_ex05", + "name": "年轮卷", + "stageId": "act16side_ex05", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 11 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex06#f#-activities-act16side-level_act16side_ex06.json b/resource/Arknights-Tile-Pos/act16side_ex06#f#-activities-act16side-level_act16side_ex06.json new file mode 100644 index 0000000000..db1ed9b039 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex06#f#-activities-act16side-level_act16side_ex06.json @@ -0,0 +1,710 @@ +{ + "code": "GA-EX-6", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex06", + "name": "奶油冰淇淋", + "stageId": "act16side_ex06#f#", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex06-activities-act16side-level_act16side_ex06.json b/resource/Arknights-Tile-Pos/act16side_ex06-activities-act16side-level_act16side_ex06.json new file mode 100644 index 0000000000..05c2a89d45 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex06-activities-act16side-level_act16side_ex06.json @@ -0,0 +1,710 @@ +{ + "code": "GA-EX-6", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex06", + "name": "奶油冰淇淋", + "stageId": "act16side_ex06", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex07#f#-activities-act16side-level_act16side_ex07.json b/resource/Arknights-Tile-Pos/act16side_ex07#f#-activities-act16side-level_act16side_ex07.json new file mode 100644 index 0000000000..5f838db68e --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex07#f#-activities-act16side-level_act16side_ex07.json @@ -0,0 +1,710 @@ +{ + "code": "GA-EX-7", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex07", + "name": "苹果派", + "stageId": "act16side_ex07#f#", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_ex07-activities-act16side-level_act16side_ex07.json b/resource/Arknights-Tile-Pos/act16side_ex07-activities-act16side-level_act16side_ex07.json new file mode 100644 index 0000000000..c4f3fef85a --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_ex07-activities-act16side-level_act16side_ex07.json @@ -0,0 +1,710 @@ +{ + "code": "GA-EX-7", + "height": 8, + "levelId": "activities/act16side/level_act16side_ex07", + "name": "苹果派", + "stageId": "act16side_ex07", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 12 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act2bossrush_01-activities-act2bossrush-level_bossrush2_01.json b/resource/Arknights-Tile-Pos/act16side_ex08#f#-activities-act16side-level_act16side_ex08.json similarity index 76% rename from resource/Arknights-Tile-Pos/act2bossrush_01-activities-act2bossrush-level_bossrush2_01.json rename to resource/Arknights-Tile-Pos/act16side_ex08#f#-activities-act16side-level_act16side_ex08.json index e51c5a43aa..b2ab7cd92b 100644 --- a/resource/Arknights-Tile-Pos/act2bossrush_01-activities-act2bossrush-level_bossrush2_01.json +++ b/resource/Arknights-Tile-Pos/act16side_ex08#f#-activities-act16side-level_act16side_ex08.json @@ -1,9 +1,9 @@ { - "code": "TN-1", + "code": "GA-EX-8", "height": 8, - "levelId": "activities/act2bossrush/level_bossrush2_01", - "name": "困顿囚徒", - "stageId": "act2bossrush_01", + "levelId": "activities/act16side/level_act16side_ex08", + "name": "千层蛋糕", + "stageId": "act16side_ex08#f#", "tiles": [ [ { @@ -64,31 +64,10 @@ }, { "buildableType": 0, - "heightType": 1, + "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" + "tileKey": "tile_telout" }, { "buildableType": 0, @@ -120,6 +99,334 @@ } ], [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telout" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, { "buildableType": 0, "heightType": 0, @@ -134,6 +441,13 @@ "isStart": false, "tileKey": "tile_floor" }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, { "buildableType": 0, "heightType": 0, @@ -142,95 +456,18 @@ "tileKey": "tile_floor" }, { - "buildableType": 1, + "buildableType": 0, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" + "tileKey": "tile_floor" }, { "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 3, "heightType": 0, "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" + "isStart": true, + "tileKey": "tile_start" } ], [ @@ -241,13 +478,6 @@ "isStart": false, "tileKey": "tile_forbidden" }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, { "buildableType": 0, "heightType": 1, @@ -263,18 +493,11 @@ "tileKey": "tile_wall" }, { - "buildableType": 2, - "heightType": 1, + "buildableType": 0, + "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" + "tileKey": "tile_telin" }, { "buildableType": 1, @@ -290,6 +513,57 @@ "isStart": false, "tileKey": "tile_road" }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ { "buildableType": 0, "heightType": 0, @@ -297,64 +571,6 @@ "isStart": false, "tileKey": "tile_end" }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - } - ], - [ - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, { "buildableType": 0, "heightType": 0, @@ -383,20 +599,6 @@ "isStart": false, "tileKey": "tile_road" }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, { "buildableType": 2, "heightType": 1, @@ -425,320 +627,6 @@ "isStart": false, "tileKey": "tile_road" }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - } - ], - [ - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, { "buildableType": 1, "heightType": 0, @@ -760,41 +648,6 @@ "isStart": false, "tileKey": "tile_end" }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, - { - "buildableType": 3, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_deepsea" - }, { "buildableType": 0, "heightType": 1, @@ -888,27 +741,6 @@ "isStart": false, "tileKey": "tile_forbidden" }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, { "buildableType": 0, "heightType": 1, @@ -920,15 +752,15 @@ ], "view": [ [ - -2.0, + 0.0, -5.6, -8.9 ], [ - -1.2, + 0.79546878123568, -6.1, - -9.8 + -9.764789001808651 ] ], - "width": 16 -} + "width": 13 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act2bossrush_04-activities-act2bossrush-level_bossrush2_04.json b/resource/Arknights-Tile-Pos/act16side_ex08-activities-act16side-level_act16side_ex08.json similarity index 61% rename from resource/Arknights-Tile-Pos/act2bossrush_04-activities-act2bossrush-level_bossrush2_04.json rename to resource/Arknights-Tile-Pos/act16side_ex08-activities-act16side-level_act16side_ex08.json index 07ad6767ce..3ebc707306 100644 --- a/resource/Arknights-Tile-Pos/act2bossrush_04-activities-act2bossrush-level_bossrush2_04.json +++ b/resource/Arknights-Tile-Pos/act16side_ex08-activities-act16side-level_act16side_ex08.json @@ -1,9 +1,9 @@ { - "code": "TN-4", + "code": "GA-EX-8", "height": 8, - "levelId": "activities/act2bossrush/level_bossrush2_04", - "name": "骄阳之影", - "stageId": "act2bossrush_04", + "levelId": "activities/act16side/level_act16side_ex08", + "name": "千层蛋糕", + "stageId": "act16side_ex08", "tiles": [ [ { @@ -41,6 +41,27 @@ "isStart": false, "tileKey": "tile_forbidden" }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, { "buildableType": 0, "heightType": 0, @@ -75,7 +96,9 @@ "isEnd": false, "isStart": false, "tileKey": "tile_forbidden" - }, + } + ], + [ { "buildableType": 0, "heightType": 1, @@ -90,47 +113,61 @@ "isStart": false, "tileKey": "tile_forbidden" }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, { "buildableType": 0, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_telin" + "tileKey": "tile_floor" }, { - "buildableType": 0, + "buildableType": 2, "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" + "tileKey": "tile_wall" }, { "buildableType": 0, @@ -162,54 +199,26 @@ "isStart": false, "tileKey": "tile_forbidden" }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, { "buildableType": 0, - "heightType": 0, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_forbidden" }, { - "buildableType": 0, - "heightType": 0, + "buildableType": 2, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_wall" }, { - "buildableType": 0, - "heightType": 0, + "buildableType": 2, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_wall" }, { "buildableType": 1, @@ -219,46 +228,11 @@ "tileKey": "tile_road" }, { - "buildableType": 0, - "heightType": 0, + "buildableType": 2, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" + "tileKey": "tile_wall" }, { "buildableType": 0, @@ -267,6 +241,20 @@ "isStart": false, "tileKey": "tile_forbidden" }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, { "buildableType": 1, "heightType": 0, @@ -282,18 +270,11 @@ "tileKey": "tile_floor" }, { - "buildableType": 1, + "buildableType": 0, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" + "tileKey": "tile_floor" }, { "buildableType": 0, @@ -304,211 +285,6 @@ } ], [ - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": true, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_fence_bound" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - } - ], - [ - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_start" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, { "buildableType": 0, "heightType": 0, @@ -519,9 +295,16 @@ { "buildableType": 0, "heightType": 0, - "isEnd": true, + "isEnd": false, "isStart": false, - "tileKey": "tile_end" + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" }, { "buildableType": 1, @@ -530,34 +313,6 @@ "isStart": false, "tileKey": "tile_road" }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, { "buildableType": 1, "heightType": 0, @@ -565,6 +320,27 @@ "isStart": false, "tileKey": "tile_road" }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_telin" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, { "buildableType": 0, "heightType": 0, @@ -572,20 +348,6 @@ "isStart": false, "tileKey": "tile_floor" }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, { "buildableType": 2, "heightType": 1, @@ -593,6 +355,20 @@ "isStart": false, "tileKey": "tile_wall" }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, { "buildableType": 0, "heightType": 1, @@ -602,6 +378,55 @@ } ], [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, { "buildableType": 0, "heightType": 0, @@ -625,38 +450,10 @@ }, { "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" + "tileKey": "tile_floor" }, { "buildableType": 0, @@ -668,235 +465,9 @@ { "buildableType": 0, "heightType": 0, - "isEnd": true, - "isStart": false, - "tileKey": "tile_end" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - } - ], - [ - { - "buildableType": 0, - "heightType": 1, "isEnd": false, "isStart": true, - "tileKey": "tile_flystart" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" + "tileKey": "tile_start" } ], [ @@ -907,20 +478,6 @@ "isStart": false, "tileKey": "tile_forbidden" }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, - { - "buildableType": 2, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_wall" - }, { "buildableType": 0, "heightType": 1, @@ -929,46 +486,11 @@ "tileKey": "tile_forbidden" }, { - "buildableType": 0, - "heightType": 0, + "buildableType": 2, + "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 1, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_road" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" - }, - { - "buildableType": 0, - "heightType": 0, - "isEnd": false, - "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_wall" }, { "buildableType": 0, @@ -985,11 +507,69 @@ "tileKey": "tile_road" }, { - "buildableType": 0, + "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" }, { "buildableType": 0, @@ -1006,25 +586,46 @@ "tileKey": "tile_road" }, { - "buildableType": 0, + "buildableType": 1, "heightType": 0, "isEnd": false, - "isStart": true, - "tileKey": "tile_start" + "isStart": false, + "tileKey": "tile_road" }, { - "buildableType": 0, + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, "heightType": 1, "isEnd": false, "isStart": false, - "tileKey": "tile_forbidden" + "tileKey": "tile_wall" }, { - "buildableType": 0, + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 1, "heightType": 0, "isEnd": false, "isStart": false, - "tileKey": "tile_floor" + "tileKey": "tile_road" }, { "buildableType": 1, @@ -1046,6 +647,13 @@ "isEnd": true, "isStart": false, "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" } ], [ @@ -1133,62 +741,6 @@ "isStart": false, "tileKey": "tile_forbidden" }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, - { - "buildableType": 0, - "heightType": 1, - "isEnd": false, - "isStart": false, - "tileKey": "tile_forbidden" - }, { "buildableType": 0, "heightType": 1, @@ -1200,15 +752,15 @@ ], "view": [ [ - -4.5, + 0.0, -5.6, -8.9 ], [ - -3.73, - -6.07, - -9.75 + 0.79546878123568, + -6.1, + -9.764789001808651 ] ], - "width": 21 -} + "width": 13 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/act16side_tr01-activities-act16side-level_act16side_tr01.json b/resource/Arknights-Tile-Pos/act16side_tr01-activities-act16side-level_act16side_tr01.json new file mode 100644 index 0000000000..7c94d3dcc9 --- /dev/null +++ b/resource/Arknights-Tile-Pos/act16side_tr01-activities-act16side-level_act16side_tr01.json @@ -0,0 +1,477 @@ +{ + "code": "GA-TR-1", + "height": 7, + "levelId": "activities/act16side/level_act16side_tr01", + "name": "甜品时间", + "stageId": "act16side_tr01", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.08, + -8.02 + ], + [ + 0.6426583848887812, + -5.58, + -8.898158179157907 + ] + ], + "width": 9 +} \ No newline at end of file diff --git a/resource/Arknights-Tile-Pos/mem_phenxi_1-obt-memory-level_memory_phenxi_1.json b/resource/Arknights-Tile-Pos/mem_phenxi_1-obt-memory-level_memory_phenxi_1.json new file mode 100644 index 0000000000..2ac192370f --- /dev/null +++ b/resource/Arknights-Tile-Pos/mem_phenxi_1-obt-memory-level_memory_phenxi_1.json @@ -0,0 +1,542 @@ +{ + "code": "mem_phenxi_1", + "height": 8, + "levelId": "obt/memory/level_memory_phenxi_1", + "name": "午后时光", + "stageId": "mem_phenxi_1", + "tiles": [ + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": true, + "tileKey": "tile_start" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_smog" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_smog" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 1, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_road" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": false, + "isStart": false, + "tileKey": "tile_floor" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 2, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_wall" + }, + { + "buildableType": 0, + "heightType": 0, + "isEnd": true, + "isStart": false, + "tileKey": "tile_end" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ], + [ + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + }, + { + "buildableType": 0, + "heightType": 1, + "isEnd": false, + "isStart": false, + "tileKey": "tile_forbidden" + } + ] + ], + "view": [ + [ + 0.0, + -5.6, + -8.9 + ], + [ + 0.79546878123568, + -6.1, + -9.764789001808651 + ] + ], + "width": 9 +} \ No newline at end of file diff --git a/resource/item_index.json b/resource/item_index.json index 90a312a2a3..e1f981942d 100644 --- a/resource/item_index.json +++ b/resource/item_index.json @@ -1595,9 +1595,9 @@ "classifyType": "CONSUME", "description": "面对训练数据不足的问题,工程部生产了全新的芯片印刻仪以供干员们自行打印。", "icon": "itempack_mod_11.png", - "name": "术士芯片组印刻仪", + "name": "术师芯片组印刻仪", "sortId": -10000, - "usage": "一次性自助芯片印刻器械,存储了大量训练记录与材料,根据术士干员们的需求,可以轻松印刻出芯片组合。" + "usage": "一次性自助芯片印刻器械,存储了大量训练记录与材料,根据术师干员们的需求,可以轻松印刻出芯片组合。" }, "itempack_mod_12": { "classifyType": "CONSUME", From 115f3b4c68ca931a11378ea6a5804bc6a99b946e Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 21 Feb 2023 21:15:10 +0800 Subject: [PATCH 04/44] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9F=BA?= =?UTF-8?q?=E5=BB=BA=E5=AE=BF=E8=88=8D=E9=80=89=E6=8B=A9=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index f17cf50eab..6609118ea9 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -5311,17 +5311,17 @@ }, "InfrastOperSelected": { "template": "empty.png", - "templThreshold": 5000, + "templThreshold": 800, "templThreshold_Doc": "这个任务中作为符合range的像素点数量阈值", "maskRange": [ 95, 105 ], "rectMove": [ - 0, - -230, - 74, - 283 + -18, + -220, + 10, + 160 ] }, "InfrastOperOnShift": { From e40a9e7f8301c48578a4aaa0b18f4129d0c2993d Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 21 Feb 2023 21:20:30 +0800 Subject: [PATCH 05/44] docs: update changelogs --- CHANGELOG.md | 42 ++++++++++++++---------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab36a7d4b6..65fb26284c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +## v4.11.0-beta.2 + +- 更新 `吾导先路` 活动关卡资源 @MistEO +- 优化 刷理智 主界面设置,更改为实时生效 @ABA2396 +- 修复 基建 宿舍复查识别错误 @MistEO +- 修复 macOS GUI 编队错误 @hguandl +- 修复 界面 托盘不显示的问题 @ABA2396 +- 迁移 文档 至官网 @ABA2396 + +### For overseas + +- Updated translation for YostarJP @wallsman + + ## v4.11.0-beta.1 - 重构 生息演算,支持黑市 npc 对话,支持刷粗制赤金 @WLLEGit @@ -13,31 +27,3 @@ - 修复 抄作业 神秘代码无法使用的问题 @zzyyyl - 修复 抄作业 干员名识别错误 @cenfusheng - 迁移 文档 至[官网](https://maa.plus/docs/),主仓库内不再更新 @ABA2396 - - -## v4.10.10 - -- 更新 `春分` 故事集 游戏数据 @MistEO - -## v4.10.9-rc.1 - -- 回滚 v4.10.8 版本 GUI 相关改动,后续修复后再次发布 @MistEO - -## v4.10.8-beta.1 - -- 新增 界面 保存最近连接端口号 @ABA2396 -- 新增 界面 公招识别 三星设置 7:40 @ABA2396 -- 重构 界面 调用方式 @ChingCdesu -- 优化 任务中途停止 等待时间 @ABA2396 -- 优化 保全派驻 上满核心后就不上工具人了 @MistEO -- 修复 保全派驻 第三层掉落卡住的问题 @MistEO -- 修复 检查更新 不应用代理设置的问题 @MistEO -- 修复 基建 会客室 不领取线索的问题 @Sed66666 -- 修复 界面 刷理智 相关下拉选项错误 @ABA2396 -- 修复 肉鸽 关卡超时撤退时的崩溃问题 @HerrCai0907 -- 修复 检测 ADB 时的崩溃问题 @ABA2396 -- 更新 文档 @ABA2396 - -For overseas - -- Added more template images for YostarJP @liuyifan-eric From 81e8e7318408863fed7ea351ee6c7d3e409c1a53 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 21 Feb 2023 21:23:40 +0800 Subject: [PATCH 06/44] docs: changelogs --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65fb26284c..39315b5d26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## v4.11.0-beta.2 -- 更新 `吾导先路` 活动关卡资源 @MistEO +- 更新 `吾导先路` 活动关卡资源、导航 @MistEO @ABA2396 - 优化 刷理智 主界面设置,更改为实时生效 @ABA2396 - 修复 基建 宿舍复查识别错误 @MistEO - 修复 macOS GUI 编队错误 @hguandl From d681bafeee3bc7c2f7fc9d74c2fc6b2729c80047 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Wed, 22 Feb 2023 11:00:43 +0800 Subject: [PATCH 07/44] =?UTF-8?q?feat:=20=E7=AE=80=E6=98=93=E7=9A=84?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=A1=A8=E8=BE=BE=E5=BC=8F=E8=BF=90=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Config/TaskData.cpp | 495 ++++++++++++++++++++++++++------ src/MaaCore/Config/TaskData.h | 7 +- 2 files changed, 413 insertions(+), 89 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index 27bfd6fa35..c3c15822a7 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -44,7 +44,7 @@ std::shared_ptr asst::TaskData::get(std::string_view name) return it->second; } - return expend_sharp_task(name, get_raw(name)).value_or(nullptr); + return expend_task(name, get_raw(name)).value_or(nullptr); } bool asst::TaskData::parse(const json::value& json) @@ -142,7 +142,7 @@ bool asst::TaskData::parse(const json::value& json) // 生成 # 型任务 for (const auto& [name, old_task] : m_raw_all_tasks_info) { - expend_sharp_task(name, old_task); + expend_task(name, old_task); } } @@ -197,97 +197,416 @@ bool asst::TaskData::parse(const json::value& json) return true; } -std::optional asst::TaskData::expend_sharp_task(std::string_view name, taskptr_t old_task) +std::optional asst::TaskData::perform_op(std::string_view task_name, + std::string_view subtask_name, char op, + tasklistptr_t x, tasklistptr_t y) +{ + auto ret = std::make_shared(); + + switch (op) { + case '+': + ranges::copy(*x, std::back_inserter(*ret)); + ranges::copy(*y, std::back_inserter(*ret)); + break; + case '^': + for (std::string_view sx : *x) { + bool flag = true; + for (std::string_view sy : *y) { + if (sx == sy) { + flag = false; + break; + } + } + if (flag) ret->emplace_back(sx); + } + break; + case '*': { + if (y->size() != 1) { + Log.error("There is more than one y:", *y, "while perform op", op, "in task:", subtask_name, + "of task:", task_name); + return std::nullopt; + } + int times = 0; + try { + times = std::stoi(y->front()); + } + catch (...) { + Log.error("y:", y->front(), "is not number while perform op", op, "in task:", subtask_name, + "of task:", task_name); + return std::nullopt; + } + for (int i = 0; i < times; ++i) { + ranges::copy(*x, std::back_inserter(*ret)); + } + break; + } + case '@': { + for (std::string_view s : *x) { + ranges::copy(append_prefix(*y, s), std::back_inserter(*ret)); + } + break; + } + case '#': { + if (x->size() != 1) { + // TODO: 这个限制可以去掉,例如 "(A+B)#next" 可以是 [ "A#next", "B#next" ] + Log.error("There is more than one x:", *x, "while perform op", op, "in task:", subtask_name, + "of task:", task_name); + return std::nullopt; + } + if (y->size() != 1) { + Log.error("There is more than one y:", *y, "while perform op", op, "in task:", subtask_name, + "of task:", task_name); + return std::nullopt; + } + std::string_view type = y->front(); + if (type == "self") { + ret->emplace_back(task_name); + break; + } + else if (type == "back") { + // "A#back" === "A", "B@A#back" === "B@A", "#back" === null + if (!x->front().empty()) { + ret->emplace_back(x->front()); + } + break; + } + + taskptr_t other_task_info_ptr = x->front().empty() ? default_task_info_ptr : get_raw(x->front()); + + // 都进 perform_op 了,task_change 必为 true +#define ASST_TASKDATA_PERFORM_OP_IF_BRANCH(t, m) \ + else if (type == #t) \ + { \ + bool task_changed = false; \ + std::unordered_set tasks_set {}; \ + if (!explain_tasks(*ret, other_task_info_ptr->t, task_name, task_changed, tasks_set, m)) { \ + Log.error("Explain task", x->front() + "->" #t, "failed while perform op", op, "in task:", subtask_name, \ + "of task:", task_name); \ + return std::nullopt; \ + } \ + } + if (other_task_info_ptr == nullptr) [[unlikely]] { + Log.error("Task", x->front(), "not found while perform op", op, "in task:", subtask_name, + "of task:", task_name); + return std::nullopt; + } + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(sub, true) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(on_error_next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(exceeded_next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(reduce_other_times, true) + else [[unlikely]] + { + Log.error("Unknown sharp type", type, "while perform op", op, "in task:", subtask_name, + "of task:", task_name); + return std::nullopt; + } +#undef ASST_TASKDATA_PERFORM_OP_IF_BRANCH + break; + } + default: + Log.error("Unknown op", op, "in task:", subtask_name, "of task:", task_name); + return std::nullopt; + } + return ret; +} + +// new_tasks 是目的任务列表 +// raw_tasks 是源任务表达式列表 +// task_name 是任务名 +// task_changed 记录 raw_tasks 在转换为 new_tasks 时是否发生变化 +// tasks_set 记录任务列表中已有的任务(内容元素与 new_tasks 基本一致) +// multi 表示是否允许重复 +bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_tasks, std::string_view task_name, + bool& task_changed, [[maybe_unused]] std::unordered_set& tasks_set, + [[maybe_unused]] bool multi) +{ + for (std::string_view subtask_name : raw_tasks) { + if (subtask_name.empty()) { + task_changed = true; + continue; + } + if (tasks_set.contains(subtask_name) && !multi) { + task_changed = true; + continue; + } + // 记号表中预分配一些保留字 + std::vector symbols_table = { + "__END__", // 0 + ",", // 1 + "(", // 2 + ")", // 3 + "{", // 4 + "}", // 5 + "@", // 6 + "#", // 7 + "*", // 8 + "+", // 9 + "^", // 10 + "sub", // 11 + "next", // 12 + "on_error_next", // 13 + "exceeded_next", // 14 + "reduce_other_times", // 15 + "self", // 16 + "back", // 17 + "none", // 18 + }; + [[maybe_unused]] constexpr size_t symbl_end = 0; + [[maybe_unused]] constexpr size_t symbl_lambda_task_sep = 1; + [[maybe_unused]] constexpr size_t symbl_lparen = 2; + [[maybe_unused]] constexpr size_t symbl_rparen = 3; + [[maybe_unused]] constexpr size_t symbl_lbrace = 4; + [[maybe_unused]] constexpr size_t symbl_rbrace = 5; + [[maybe_unused]] constexpr size_t symbl_at = 6; + [[maybe_unused]] constexpr size_t symbl_sharp = 7; + [[maybe_unused]] constexpr size_t symbl_mul = 8; + [[maybe_unused]] constexpr size_t symbl_add = 9; + [[maybe_unused]] constexpr size_t symbl_sub = 10; + [[maybe_unused]] constexpr size_t symbl_name_start = 11; + [[maybe_unused]] constexpr size_t symbl_name_sub = 11; + [[maybe_unused]] constexpr size_t symbl_name_next = 12; + [[maybe_unused]] constexpr size_t symbl_name_on_error_next = 13; + [[maybe_unused]] constexpr size_t symbl_name_exceeded_next = 14; + [[maybe_unused]] constexpr size_t symbl_name_reduce_other_times = 15; + [[maybe_unused]] constexpr size_t symbl_name_self = 16; + [[maybe_unused]] constexpr size_t symbl_name_back = 17; + [[maybe_unused]] constexpr size_t symbl_name_none = 18; + + auto is_symbl_name = [&](size_t x) { + return x >= symbl_name_start; + }; + auto is_symbl_subtask_type = [&](size_t x) { + return x == symbl_name_sub || x == symbl_name_next || x == symbl_name_on_error_next || + x == symbl_name_exceeded_next || x == symbl_name_reduce_other_times; + }; + auto is_symbl_sharp_type = [&](size_t x) { + return is_symbl_subtask_type(x) || x == symbl_name_self || x == symbl_name_back || x == symbl_name_none; + }; + + std::unordered_map symbols_id = {}; + for (size_t i = 0; i != symbols_table.size(); ++i) { + symbols_id.emplace(symbols_table[i], i); + } + + std::vector symbol_stream; + auto emplace_symbol_if_not_empty = [&](const auto l, const auto r) { + if (l < r) { + auto symbol = std::string(l, r); + if (!symbols_id.contains(symbol)) { + size_t id = symbols_table.size(); + symbols_id.emplace(symbol, id); + symbols_table.emplace_back(symbol); + symbol_stream.emplace_back(id); + } + else { + symbol_stream.emplace_back(symbols_id[symbol]); + } + } + }; + + // 记号流分析 + auto y_begin = subtask_name.begin(); + for (auto p = subtask_name.begin(); p != subtask_name.end(); ++p) { + switch (*p) { + case ' ': + case ',': + case '(': + case ')': + case '{': + case '}': + case '#': + case '*': + case '+': + case '^': + task_changed = true; + [[fallthrough]]; + case '@': + emplace_symbol_if_not_empty(y_begin, p); + y_begin = p + 1; + if (*p != ' ') { + symbol_stream.emplace_back(symbols_id[std::string(1, *p)]); + } + } + } + emplace_symbol_if_not_empty(y_begin, subtask_name.end()); + symbol_stream.emplace_back(symbl_end); // 结束符 + // Log.debug(symbol_stream | views::transform([&](size_t id) { return symbols_table[id]; })); + // Log.debug(symbol_stream); + + /* + $name = 至少一位的任务名 + $numbers = 至少一位的数字 + + $subtask_type = sub + | next + | on_error_next + | exceeded_next + | reduce_other_times + + $sharp_type = $subtask_type + | self + | back + | none // 推迟实现 3 + + $subtask = $subtask_type ( $tasks ) + + $lambda_task = { $subtask , ... } // 推迟实现 1 + | { $tasks } // 推迟实现 1;不写 subtask_type 默认为 sub + + $parens = # $sharp_type + | $name + | $name $lambda_task // 推迟实现 1 + | ( $tasks ) + + $top_tasks = $top_tasks @ $parens // 推迟实现 2 + | $top_tasks # $sharp_type + | $parens + + $mul_tasks = $top_tasks * $numbers + | $top_tasks + + $tasks = $mul_tasks + $tasks + | $mul_tasks ^ $tasks // 删除 $mul_tasks 中所有在 $tasks 中的任务 + | $mul_tasks + */ + // 记号流处理 + using decode_func_t = std::function()>; + decode_func_t decode_name, decode_tasks, decode_multasks, decode_vtasks, decode_parens; + std::vector::const_iterator cur = symbol_stream.cbegin(); + decode_name = [&]() -> std::optional { + if (*cur >= symbl_name_start) { + return std::make_shared(tasklist_t { symbols_table[*(cur++)] }); + } + return std::nullopt; + }; + decode_tasks = [&]() -> std::optional { + auto l = decode_multasks(); + if (!l) return std::nullopt; + while (*cur == symbl_add || *cur == symbl_sub) { + if (*cur == symbl_add) { + ++cur; + auto r = decode_multasks(); + if (!r) return std::nullopt; + l = perform_op(task_name, subtask_name, '+', *l, *r); + } + if (*cur == symbl_sub) { + ++cur; + auto r = decode_multasks(); + if (!r) return std::nullopt; + l = perform_op(task_name, subtask_name, '^', *l, *r); + } + if (!l) return std::nullopt; + } + return l; + }; + decode_multasks = [&]() -> std::optional { + auto l = decode_vtasks(); + if (!l) return std::nullopt; + while (*cur == symbl_mul) { + if (*cur == symbl_mul) { + ++cur; + auto r = decode_name(); + if (!r) return std::nullopt; + l = perform_op(task_name, subtask_name, '*', *l, *r); + } + if (!l) return std::nullopt; + } + return l; + }; + decode_vtasks = [&]() -> std::optional { + auto l = decode_parens(); + if (!l) return std::nullopt; + while (*cur == symbl_at || *cur == symbl_sharp) { + if (*cur == symbl_at) { + ++cur; + auto r = decode_parens(); + if (!r) return std::nullopt; + l = perform_op(task_name, subtask_name, '@', *l, *r); + } + if (*cur == symbl_sharp) { + ++cur; + auto r = decode_name(); + if (!r) return std::nullopt; + l = perform_op(task_name, subtask_name, '#', *l, *r); + } + if (!l) return std::nullopt; + } + return l; + }; + decode_parens = [&]() -> std::optional { + if (*cur == symbl_lparen) { + ++cur; + auto l = decode_tasks(); + if (!l) return std::nullopt; + if (*cur != symbl_rparen) { + Log.error("Invalid symbol", *cur, "at", cur - symbol_stream.cbegin(), "in", symbol_stream, "(should be ')')"); + return std::nullopt; + } + ++cur; + return l; + } + if (*cur == symbl_sharp) { + ++cur; + auto r = decode_name(); + if (!r) return std::nullopt; + return perform_op(task_name, subtask_name, '#', std::make_shared(tasklist_t { "" }), *r); + } + if (*cur >= symbl_name_start) { + return decode_name(); + } + Log.error("Invalid symbol", *cur, "at", cur - symbol_stream.cbegin(), "in", symbol_stream); + return std::nullopt; + }; + auto opt = decode_tasks(); + if (!opt || (*cur != symbl_end && cur != symbol_stream.cend())) { + return false; + } + + if (opt.value()->empty()) continue; + + for (const auto& task : **opt) { + if (task.empty()) { + task_changed = true; + continue; + } + if (!tasks_set.contains(task)) { + tasks_set.emplace(task_name_view(task)); + } + else if (!multi) { + task_changed = true; + continue; + } + new_tasks.emplace_back(task); + } + + tasks_set.emplace(task_name_view(subtask_name)); + } + + return true; +} + +std::optional asst::TaskData::expend_task(std::string_view name, taskptr_t old_task) { if (old_task == nullptr) [[unlikely]] { return std::nullopt; } - bool task_changed = false; - auto task_info = _generate_task_info(old_task); - auto expend_sharp_task_list = [&](tasklist_t& new_task_list, const tasklist_t& task_list, - std::string_view list_type) -> bool { - new_task_list.clear(); - std::function generate_tasks; - std::unordered_set tasks_set {}; - generate_tasks = [&](const tasklist_t& raw_tasks) { - for (std::string_view task : raw_tasks) { - if (task.empty()) { - Log.error("Task", name, "has a empty", list_type); - return false; - } - if (tasks_set.contains(task)) [[unlikely]] { - task_changed = true; - continue; - } - tasks_set.emplace(task_name_view(task)); - - size_t pos = task.rfind('#'); - if (pos == std::string_view::npos) [[likely]] { - new_task_list.emplace_back(task); - continue; - } -#ifdef ASST_DEBUG - if (pos == 0) [[unlikely]] { - Log.trace("Task", name, "has a virtual", list_type, ":", (std::string("`") += task) += '`'); - } -#endif // ASST_DEBUG - - task_changed = true; - std::string_view type = task.substr(pos + 1); - if (type == "self") { - new_task_list.emplace_back(name); - continue; - } - taskptr_t other_task_info_ptr = pos ? get_raw(task.substr(0, pos)) : default_task_info_ptr; -#define ASST_TASKDATA_GENERATE_TASKS(t) \ - else if (type == #t) \ - { \ - if (!generate_tasks(other_task_info_ptr->t)) { \ - return false; \ - } \ + auto task_info = _generate_task_info(old_task); // 复制一份 + bool task_changed = false; // 任务列表是否发生变化 + std::unordered_set tasks_set {}; +#define ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(type, m) \ + task_info->type.clear(); \ + tasks_set.clear(); \ + if (!explain_tasks(task_info->type, old_task->type, name, task_changed, tasks_set, m)) [[unlikely]] { \ + Log.error("Generate task_list", std::string(name) + "->" #type, "failed."); \ + return std::nullopt; \ } - if (other_task_info_ptr == nullptr) [[unlikely]] { - Log.error("Task", task, "not found"); - return false; - } - else if (type == "back") { - // "A#back" === "A", "B@A#back" === "B@A", "#back" === null - if (pos) { - new_task_list.emplace_back(task.substr(0, pos)); - } - } - ASST_TASKDATA_GENERATE_TASKS(next) - ASST_TASKDATA_GENERATE_TASKS(sub) - ASST_TASKDATA_GENERATE_TASKS(on_error_next) - ASST_TASKDATA_GENERATE_TASKS(exceeded_next) - ASST_TASKDATA_GENERATE_TASKS(reduce_other_times) - else [[unlikely]] - { - Log.error("Unknown type", type, "in", task); - return false; - } -#undef ASST_TASKDATA_GENERATE_TASKS - } - - return true; - }; - if (!generate_tasks(task_list)) [[unlikely]] { - Log.error("Generate task_list", (std::string(name) += "->") += list_type, "failed."); - return false; - } - return true; - }; - -#define ASST_TASKDATA_GENERATE_SHARP_TASK(type) \ - if (!expend_sharp_task_list(task_info->type, old_task->type, #type)) { \ - return std::nullopt; \ - } - ASST_TASKDATA_GENERATE_SHARP_TASK(next); - ASST_TASKDATA_GENERATE_SHARP_TASK(sub); - ASST_TASKDATA_GENERATE_SHARP_TASK(exceeded_next); - ASST_TASKDATA_GENERATE_SHARP_TASK(on_error_next); - ASST_TASKDATA_GENERATE_SHARP_TASK(reduce_other_times); -#undef ASST_TASKDATA_GENERATE_SHARP_TASK + ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(next, false); + ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(sub, true); + ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(exceeded_next, false); + ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(on_error_next, false); + ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(reduce_other_times, true); +#undef ASST_TASKDATA_EXPEND_TASK_IF_BRANCH // tasks 个数超过上限时不再 emplace,返回临时值 constexpr size_t MAX_TASKS_SIZE = 65535; diff --git a/src/MaaCore/Config/TaskData.h b/src/MaaCore/Config/TaskData.h index ebfc884f0d..f678465304 100644 --- a/src/MaaCore/Config/TaskData.h +++ b/src/MaaCore/Config/TaskData.h @@ -17,6 +17,7 @@ namespace asst { private: using tasklist_t = std::vector; + using tasklistptr_t = std::shared_ptr; using taskptr_t = std::shared_ptr; std::shared_ptr _default_match_task_info(); @@ -141,7 +142,11 @@ namespace asst { return m_all_tasks_info.insert_or_assign(task_name_view(task_name), task_info_ptr); } - std::optional expend_sharp_task(std::string_view name, taskptr_t old_task); + std::optional perform_op(std::string_view task_name, std::string_view subtask_name, char op, + tasklistptr_t x, tasklistptr_t y); + bool explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_tasks, std::string_view name, + bool& task_changed, std::unordered_set& tasks_set, bool multi); + std::optional expend_task(std::string_view name, taskptr_t old_task); #ifdef ASST_DEBUG bool syntax_check(const std::string& task_name, const json::value& task_json); #endif From 2478aef08305d3ca92b6fe375e100b4279243da9 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Tue, 21 Feb 2023 12:16:27 +0800 Subject: [PATCH 08/44] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E8=99=9A=E4=BB=BB=E5=8A=A1=20#none?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 例: ``` "A": { "next": [ "#none+B" ] } ``` 这个任务在增加前缀(如 `"D@A"`)时 next 不变。 --- src/MaaCore/Config/TaskData.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index c3c15822a7..d19842c5f9 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -263,7 +263,10 @@ std::optional asst::TaskData::perform_op(std::str ret->emplace_back(task_name); break; } - else if (type == "back") { + if (type == "none") { + break; + } + if (type == "back") { // "A#back" === "A", "B@A#back" === "B@A", "#back" === null if (!x->front().empty()) { ret->emplace_back(x->front()); @@ -447,19 +450,19 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ $sharp_type = $subtask_type | self | back - | none // 推迟实现 3 + | none $subtask = $subtask_type ( $tasks ) - $lambda_task = { $subtask , ... } // 推迟实现 1 - | { $tasks } // 推迟实现 1;不写 subtask_type 默认为 sub + $lambda_task = { $subtask , ... } // 推迟实现 + | { $tasks } // 推迟实现;不写 subtask_type 默认为 sub $parens = # $sharp_type | $name - | $name $lambda_task // 推迟实现 1 + | $name $lambda_task // 推迟实现 | ( $tasks ) - $top_tasks = $top_tasks @ $parens // 推迟实现 2 + $top_tasks = $top_tasks @ $parens | $top_tasks # $sharp_type | $parens From e6dbaa955c28a0ec502a05983c20d53c945864b9 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Wed, 22 Feb 2023 10:58:21 +0800 Subject: [PATCH 09/44] =?UTF-8?q?perf:=20=E7=BB=93=E6=9E=84=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Config/TaskData.cpp | 444 +++++++++++++++----------------- src/MaaCore/Config/TaskData.h | 4 +- 2 files changed, 206 insertions(+), 242 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index d19842c5f9..042115a08e 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -197,207 +197,200 @@ bool asst::TaskData::parse(const json::value& json) return true; } -std::optional asst::TaskData::perform_op(std::string_view task_name, - std::string_view subtask_name, char op, - tasklistptr_t x, tasklistptr_t y) -{ - auto ret = std::make_shared(); - - switch (op) { - case '+': - ranges::copy(*x, std::back_inserter(*ret)); - ranges::copy(*y, std::back_inserter(*ret)); - break; - case '^': - for (std::string_view sx : *x) { - bool flag = true; - for (std::string_view sy : *y) { - if (sx == sy) { - flag = false; - break; - } - } - if (flag) ret->emplace_back(sx); - } - break; - case '*': { - if (y->size() != 1) { - Log.error("There is more than one y:", *y, "while perform op", op, "in task:", subtask_name, - "of task:", task_name); - return std::nullopt; - } - int times = 0; - try { - times = std::stoi(y->front()); - } - catch (...) { - Log.error("y:", y->front(), "is not number while perform op", op, "in task:", subtask_name, - "of task:", task_name); - return std::nullopt; - } - for (int i = 0; i < times; ++i) { - ranges::copy(*x, std::back_inserter(*ret)); - } - break; - } - case '@': { - for (std::string_view s : *x) { - ranges::copy(append_prefix(*y, s), std::back_inserter(*ret)); - } - break; - } - case '#': { - if (x->size() != 1) { - // TODO: 这个限制可以去掉,例如 "(A+B)#next" 可以是 [ "A#next", "B#next" ] - Log.error("There is more than one x:", *x, "while perform op", op, "in task:", subtask_name, - "of task:", task_name); - return std::nullopt; - } - if (y->size() != 1) { - Log.error("There is more than one y:", *y, "while perform op", op, "in task:", subtask_name, - "of task:", task_name); - return std::nullopt; - } - std::string_view type = y->front(); - if (type == "self") { - ret->emplace_back(task_name); - break; - } - if (type == "none") { - break; - } - if (type == "back") { - // "A#back" === "A", "B@A#back" === "B@A", "#back" === null - if (!x->front().empty()) { - ret->emplace_back(x->front()); - } - break; - } - - taskptr_t other_task_info_ptr = x->front().empty() ? default_task_info_ptr : get_raw(x->front()); - - // 都进 perform_op 了,task_change 必为 true -#define ASST_TASKDATA_PERFORM_OP_IF_BRANCH(t, m) \ - else if (type == #t) \ - { \ - bool task_changed = false; \ - std::unordered_set tasks_set {}; \ - if (!explain_tasks(*ret, other_task_info_ptr->t, task_name, task_changed, tasks_set, m)) { \ - Log.error("Explain task", x->front() + "->" #t, "failed while perform op", op, "in task:", subtask_name, \ - "of task:", task_name); \ - return std::nullopt; \ - } \ - } - if (other_task_info_ptr == nullptr) [[unlikely]] { - Log.error("Task", x->front(), "not found while perform op", op, "in task:", subtask_name, - "of task:", task_name); - return std::nullopt; - } - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(next, false) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(sub, true) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(on_error_next, false) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(exceeded_next, false) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(reduce_other_times, true) - else [[unlikely]] - { - Log.error("Unknown sharp type", type, "while perform op", op, "in task:", subtask_name, - "of task:", task_name); - return std::nullopt; - } -#undef ASST_TASKDATA_PERFORM_OP_IF_BRANCH - break; - } - default: - Log.error("Unknown op", op, "in task:", subtask_name, "of task:", task_name); - return std::nullopt; - } - return ret; -} - // new_tasks 是目的任务列表 // raw_tasks 是源任务表达式列表 // task_name 是任务名 // task_changed 记录 raw_tasks 在转换为 new_tasks 时是否发生变化 -// tasks_set 记录任务列表中已有的任务(内容元素与 new_tasks 基本一致) // multi 表示是否允许重复 bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_tasks, std::string_view task_name, - bool& task_changed, [[maybe_unused]] std::unordered_set& tasks_set, - [[maybe_unused]] bool multi) + bool& task_changed, bool multi) { - for (std::string_view subtask_name : raw_tasks) { - if (subtask_name.empty()) { + std::unordered_set tasks_set; // 记录任务列表中已有的任务(内容元素与 new_tasks 基本一致) + + using symbl_t = size_t; + [[maybe_unused]] constexpr symbl_t symbl_end = 0; + [[maybe_unused]] constexpr symbl_t symbl_lambda_task_sep = 1; + [[maybe_unused]] constexpr symbl_t symbl_lparen = 2; + [[maybe_unused]] constexpr symbl_t symbl_rparen = 3; + [[maybe_unused]] constexpr symbl_t symbl_lbrace = 4; + [[maybe_unused]] constexpr symbl_t symbl_rbrace = 5; + [[maybe_unused]] constexpr symbl_t symbl_at = 6; + [[maybe_unused]] constexpr symbl_t symbl_sharp = 7; + [[maybe_unused]] constexpr symbl_t symbl_mul = 8; + [[maybe_unused]] constexpr symbl_t symbl_add = 9; + [[maybe_unused]] constexpr symbl_t symbl_sub = 10; + + [[maybe_unused]] constexpr symbl_t symbl_name_start = 11; + + [[maybe_unused]] constexpr symbl_t symbl_name_sub = 11; + [[maybe_unused]] constexpr symbl_t symbl_name_next = 12; + [[maybe_unused]] constexpr symbl_t symbl_name_on_error_next = 13; + [[maybe_unused]] constexpr symbl_t symbl_name_exceeded_next = 14; + [[maybe_unused]] constexpr symbl_t symbl_name_reduce_other_times = 15; + [[maybe_unused]] constexpr symbl_t symbl_name_self = 16; + [[maybe_unused]] constexpr symbl_t symbl_name_back = 17; + [[maybe_unused]] constexpr symbl_t symbl_name_none = 18; + + static const std::vector symbl_table = { + "__END__", // 0 + ",", // 1 + "(", // 2 + ")", // 3 + "{", // 4 + "}", // 5 + "@", // 6 + "#", // 7 + "*", // 8 + "+", // 9 + "^", // 10 + "sub", // 11 + "next", // 12 + "on_error_next", // 13 + "exceeded_next", // 14 + "reduce_other_times", // 15 + "self", // 16 + "back", // 17 + "none", // 18 + }; + + auto is_symbl_name = [&](symbl_t x) { return x >= symbl_name_start; }; + auto is_symbl_subtask_type = [&](symbl_t x) { + return x == symbl_name_sub || x == symbl_name_next || x == symbl_name_on_error_next || + x == symbl_name_exceeded_next || x == symbl_name_reduce_other_times; + }; + auto is_symbl_sharp_type = [&](symbl_t x) { + return is_symbl_subtask_type(x) || x == symbl_name_self || x == symbl_name_back || x == symbl_name_none; + }; + + auto perform_op = [&](std::string_view task_expr, symbl_t op, tasklistptr_t x, + tasklistptr_t y) -> std::optional { + auto ret = std::make_shared(); + + switch (op) { + case symbl_add: + ranges::copy(*x, std::back_inserter(*ret)); + ranges::copy(*y, std::back_inserter(*ret)); + break; + case symbl_sub: + for (std::string_view sx : *x) { + bool flag = true; + for (std::string_view sy : *y) { + if (sx == sy) { + flag = false; + break; + } + } + if (flag) ret->emplace_back(sx); + } + break; + case symbl_mul: { + if (y->size() != 1) { + Log.error("There is more than one y:", *y, "while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); + return std::nullopt; + } + int times = 0; + try { + times = std::stoi(y->front()); + } + catch (...) { + Log.error("y:", y->front(), "is not number while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); + return std::nullopt; + } + for (int i = 0; i < times; ++i) { + ranges::copy(*x, std::back_inserter(*ret)); + } + break; + } + case symbl_at: { + for (std::string_view s : *x) { + ranges::copy(append_prefix(*y, s), std::back_inserter(*ret)); + } + break; + } + case symbl_sharp: { + if (y->size() != 1) { + Log.error("There is more than one y:", *y, "while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); + return std::nullopt; + } + std::string_view type = y->front(); + if (!x || x->empty()) { + x = std::make_shared(tasklist_t { "" }); + } + for (const auto& task : *x) { + if (type == "self") { + ret->emplace_back(task_name); + continue; + } + if (type == "none") { + continue; + } + if (type == "back") { + // "A#back" === "A", "B@A#back" === "B@A", "#back" === null + if (!task.empty()) ret->emplace_back(task); + continue; + } + taskptr_t other_task_info_ptr = task.empty() ? default_task_info_ptr : get_raw(task); + +#define ASST_TASKDATA_PERFORM_OP_IF_BRANCH(t, m) \ + else if (type == #t) \ + { \ + bool task_changed = false; \ + if (!explain_tasks(*ret, other_task_info_ptr->t, task_name, task_changed, m)) { \ + Log.error("Failed to explain task", task + "->" #t, "while perform op", symbl_table[op], "in", task_expr, \ + "of task:", task_name); \ + return std::nullopt; \ + } \ + } + if (other_task_info_ptr == nullptr) [[unlikely]] { + Log.error("Task", task, "not found while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); + return std::nullopt; + } + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(sub, true) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(on_error_next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(exceeded_next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(reduce_other_times, true) + else [[unlikely]] + { + Log.error("Unknown symbol", type, "while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); + return std::nullopt; + } +#undef ASST_TASKDATA_PERFORM_OP_IF_BRANCH + } + + break; + } + default: + Log.error("Unknown op", symbl_table[op], "in", task_expr, "of task:", task_name); + return std::nullopt; + } + return ret; + }; + + for (std::string_view task_expr : raw_tasks) { + if (task_expr.empty() || (!multi && tasks_set.contains(task_expr))) { task_changed = true; continue; } - if (tasks_set.contains(subtask_name) && !multi) { - task_changed = true; - continue; - } - // 记号表中预分配一些保留字 - std::vector symbols_table = { - "__END__", // 0 - ",", // 1 - "(", // 2 - ")", // 3 - "{", // 4 - "}", // 5 - "@", // 6 - "#", // 7 - "*", // 8 - "+", // 9 - "^", // 10 - "sub", // 11 - "next", // 12 - "on_error_next", // 13 - "exceeded_next", // 14 - "reduce_other_times", // 15 - "self", // 16 - "back", // 17 - "none", // 18 - }; - [[maybe_unused]] constexpr size_t symbl_end = 0; - [[maybe_unused]] constexpr size_t symbl_lambda_task_sep = 1; - [[maybe_unused]] constexpr size_t symbl_lparen = 2; - [[maybe_unused]] constexpr size_t symbl_rparen = 3; - [[maybe_unused]] constexpr size_t symbl_lbrace = 4; - [[maybe_unused]] constexpr size_t symbl_rbrace = 5; - [[maybe_unused]] constexpr size_t symbl_at = 6; - [[maybe_unused]] constexpr size_t symbl_sharp = 7; - [[maybe_unused]] constexpr size_t symbl_mul = 8; - [[maybe_unused]] constexpr size_t symbl_add = 9; - [[maybe_unused]] constexpr size_t symbl_sub = 10; - [[maybe_unused]] constexpr size_t symbl_name_start = 11; - [[maybe_unused]] constexpr size_t symbl_name_sub = 11; - [[maybe_unused]] constexpr size_t symbl_name_next = 12; - [[maybe_unused]] constexpr size_t symbl_name_on_error_next = 13; - [[maybe_unused]] constexpr size_t symbl_name_exceeded_next = 14; - [[maybe_unused]] constexpr size_t symbl_name_reduce_other_times = 15; - [[maybe_unused]] constexpr size_t symbl_name_self = 16; - [[maybe_unused]] constexpr size_t symbl_name_back = 17; - [[maybe_unused]] constexpr size_t symbl_name_none = 18; - auto is_symbl_name = [&](size_t x) { - return x >= symbl_name_start; - }; - auto is_symbl_subtask_type = [&](size_t x) { - return x == symbl_name_sub || x == symbl_name_next || x == symbl_name_on_error_next || - x == symbl_name_exceeded_next || x == symbl_name_reduce_other_times; - }; - auto is_symbl_sharp_type = [&](size_t x) { - return is_symbl_subtask_type(x) || x == symbl_name_self || x == symbl_name_back || x == symbl_name_none; - }; + std::vector symbols_table = symbl_table; - std::unordered_map symbols_id = {}; - for (size_t i = 0; i != symbols_table.size(); ++i) { + std::unordered_map symbols_id = {}; + for (symbl_t i = 0; i != symbols_table.size(); ++i) { symbols_id.emplace(symbols_table[i], i); } - std::vector symbol_stream; + std::vector symbol_stream; auto emplace_symbol_if_not_empty = [&](const auto l, const auto r) { if (l < r) { auto symbol = std::string(l, r); if (!symbols_id.contains(symbol)) { - size_t id = symbols_table.size(); + symbl_t id = symbols_table.size(); symbols_id.emplace(symbol, id); symbols_table.emplace_back(symbol); symbol_stream.emplace_back(id); @@ -409,8 +402,8 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ }; // 记号流分析 - auto y_begin = subtask_name.begin(); - for (auto p = subtask_name.begin(); p != subtask_name.end(); ++p) { + auto y_begin = task_expr.begin(); + for (auto p = task_expr.begin(); p != task_expr.end(); ++p) { switch (*p) { case ' ': case ',': @@ -432,9 +425,9 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ } } } - emplace_symbol_if_not_empty(y_begin, subtask_name.end()); + emplace_symbol_if_not_empty(y_begin, task_expr.end()); symbol_stream.emplace_back(symbl_end); // 结束符 - // Log.debug(symbol_stream | views::transform([&](size_t id) { return symbols_table[id]; })); + // Log.debug(symbol_stream | views::transform([&](symbl_t id) { return symbols_table[id]; })); // Log.debug(symbol_stream); /* @@ -474,9 +467,9 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ | $mul_tasks */ // 记号流处理 + auto cur = symbol_stream.cbegin(); using decode_func_t = std::function()>; decode_func_t decode_name, decode_tasks, decode_multasks, decode_vtasks, decode_parens; - std::vector::const_iterator cur = symbol_stream.cbegin(); decode_name = [&]() -> std::optional { if (*cur >= symbl_name_start) { return std::make_shared(tasklist_t { symbols_table[*(cur++)] }); @@ -487,18 +480,10 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ auto l = decode_multasks(); if (!l) return std::nullopt; while (*cur == symbl_add || *cur == symbl_sub) { - if (*cur == symbl_add) { - ++cur; - auto r = decode_multasks(); - if (!r) return std::nullopt; - l = perform_op(task_name, subtask_name, '+', *l, *r); - } - if (*cur == symbl_sub) { - ++cur; - auto r = decode_multasks(); - if (!r) return std::nullopt; - l = perform_op(task_name, subtask_name, '^', *l, *r); - } + symbl_t op = *(cur++); + auto r = decode_multasks(); + if (!r) return std::nullopt; + l = perform_op(task_expr, op, *l, *r); if (!l) return std::nullopt; } return l; @@ -507,12 +492,10 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ auto l = decode_vtasks(); if (!l) return std::nullopt; while (*cur == symbl_mul) { - if (*cur == symbl_mul) { - ++cur; - auto r = decode_name(); - if (!r) return std::nullopt; - l = perform_op(task_name, subtask_name, '*', *l, *r); - } + symbl_t op = *(cur++); + auto r = decode_name(); + if (!r) return std::nullopt; + l = perform_op(task_expr, op, *l, *r); if (!l) return std::nullopt; } return l; @@ -521,18 +504,10 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ auto l = decode_parens(); if (!l) return std::nullopt; while (*cur == symbl_at || *cur == symbl_sharp) { - if (*cur == symbl_at) { - ++cur; - auto r = decode_parens(); - if (!r) return std::nullopt; - l = perform_op(task_name, subtask_name, '@', *l, *r); - } - if (*cur == symbl_sharp) { - ++cur; - auto r = decode_name(); - if (!r) return std::nullopt; - l = perform_op(task_name, subtask_name, '#', *l, *r); - } + symbl_t op = *(cur++); + auto r = decode_parens(); + if (!r) return std::nullopt; + l = perform_op(task_expr, op, *l, *r); if (!l) return std::nullopt; } return l; @@ -542,8 +517,9 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ ++cur; auto l = decode_tasks(); if (!l) return std::nullopt; - if (*cur != symbl_rparen) { - Log.error("Invalid symbol", *cur, "at", cur - symbol_stream.cbegin(), "in", symbol_stream, "(should be ')')"); + if (*cur != symbl_rparen) [[unlikely]] { + Log.error("Invalid symbol", *cur, "at", cur - symbol_stream.cbegin(), "in", symbol_stream, + "(should be ')')"); return std::nullopt; } ++cur; @@ -553,7 +529,7 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ ++cur; auto r = decode_name(); if (!r) return std::nullopt; - return perform_op(task_name, subtask_name, '#', std::make_shared(tasklist_t { "" }), *r); + return perform_op(task_expr, symbl_sharp, nullptr, *r); } if (*cur >= symbl_name_start) { return decode_name(); @@ -566,24 +542,16 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ return false; } - if (opt.value()->empty()) continue; - for (const auto& task : **opt) { - if (task.empty()) { - task_changed = true; - continue; - } - if (!tasks_set.contains(task)) { - tasks_set.emplace(task_name_view(task)); - } - else if (!multi) { + if (task.empty() || (!multi && tasks_set.contains(task))) { task_changed = true; continue; } new_tasks.emplace_back(task); + tasks_set.emplace(task_name_view(task)); } - tasks_set.emplace(task_name_view(subtask_name)); + tasks_set.emplace(task_name_view(task_expr)); } return true; @@ -595,14 +563,12 @@ std::optional asst::TaskData::expend_task(std::string return std::nullopt; } auto task_info = _generate_task_info(old_task); // 复制一份 - bool task_changed = false; // 任务列表是否发生变化 - std::unordered_set tasks_set {}; -#define ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(type, m) \ - task_info->type.clear(); \ - tasks_set.clear(); \ - if (!explain_tasks(task_info->type, old_task->type, name, task_changed, tasks_set, m)) [[unlikely]] { \ - Log.error("Generate task_list", std::string(name) + "->" #type, "failed."); \ - return std::nullopt; \ + bool task_changed = false; // 任务列表是否发生变化 +#define ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(type, m) \ + task_info->type.clear(); \ + if (!explain_tasks(task_info->type, old_task->type, name, task_changed, m)) [[unlikely]] { \ + Log.error("Generate task_list", std::string(name) + "->" #type, "failed."); \ + return std::nullopt; \ } ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(next, false); ASST_TASKDATA_EXPEND_TASK_IF_BRANCH(sub, true); diff --git a/src/MaaCore/Config/TaskData.h b/src/MaaCore/Config/TaskData.h index f678465304..424c5752ae 100644 --- a/src/MaaCore/Config/TaskData.h +++ b/src/MaaCore/Config/TaskData.h @@ -142,10 +142,8 @@ namespace asst { return m_all_tasks_info.insert_or_assign(task_name_view(task_name), task_info_ptr); } - std::optional perform_op(std::string_view task_name, std::string_view subtask_name, char op, - tasklistptr_t x, tasklistptr_t y); bool explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_tasks, std::string_view name, - bool& task_changed, std::unordered_set& tasks_set, bool multi); + bool& task_changed, bool multi); std::optional expend_task(std::string_view name, taskptr_t old_task); #ifdef ASST_DEBUG bool syntax_check(const std::string& task_name, const json::value& task_json); From 472a8b2b5fe955676740a62a5d09fb86afa6c8d3 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Wed, 22 Feb 2023 11:57:04 +0800 Subject: [PATCH 10/44] =?UTF-8?q?feat:=20=E5=AF=B9=20@=20=E8=BF=90?= =?UTF-8?q?=E7=AE=97=E7=9A=84=E9=80=BB=E8=BE=91=E7=A8=8D=E4=BD=9C=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整前: (...)@#none=#none, #none@(...)=#none 调整后: (...)@#none=(...), #none@(...)=(...) --- src/MaaCore/Config/TaskData.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index 042115a08e..642dc3e1a0 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -262,6 +262,7 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ return is_symbl_subtask_type(x) || x == symbl_name_self || x == symbl_name_back || x == symbl_name_none; }; + // perform_op 的结果不保证符合参数 multi 的要求 auto perform_op = [&](std::string_view task_expr, symbl_t op, tasklistptr_t x, tasklistptr_t y) -> std::optional { auto ret = std::make_shared(); @@ -304,8 +305,15 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ break; } case symbl_at: { - for (std::string_view s : *x) { - ranges::copy(append_prefix(*y, s), std::back_inserter(*ret)); + if (y->empty()) { // A@#none = A + ranges::copy(*x, std::back_inserter(*ret)); + } + else if (x->empty()) { // #none@A = A + ranges::copy(*y, std::back_inserter(*ret)); + } + else { // (A+B)@(C+D) = A@C + A@D + B@C + B@D + ranges::for_each( + *x, [&](std::string_view s) { ranges::copy(append_prefix(*y, s), std::back_inserter(*ret)); }); } break; } From cdd32b4dee0b2b0c68c34f669943774cb2b9641c Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Wed, 22 Feb 2023 12:01:14 +0800 Subject: [PATCH 11/44] =?UTF-8?q?feat:=20=E5=AF=B9=20#=20=E8=BF=90?= =?UTF-8?q?=E7=AE=97=E7=9A=84=E9=80=BB=E8=BE=91=E7=A8=8D=E4=BD=9C=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 允许 A#(next+sub), 表示 (A#next + A#sub) --- src/MaaCore/Config/TaskData.cpp | 72 ++++++++++++++++----------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index 642dc3e1a0..c91c5f570f 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -318,29 +318,28 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ break; } case symbl_sharp: { - if (y->size() != 1) { - Log.error("There is more than one y:", *y, "while perform op", symbl_table[op], "in", task_expr, - "of task:", task_name); + if (y->empty()) { + Log.error("There is no sharp_type while perform op", symbl_table[op], "in", task_expr, "of task:", task_name); return std::nullopt; } - std::string_view type = y->front(); - if (!x || x->empty()) { - x = std::make_shared(tasklist_t { "" }); - } - for (const auto& task : *x) { - if (type == "self") { - ret->emplace_back(task_name); - continue; + for (std::string_view type : *y) { + if (!x || x->empty()) { // unary + x = std::make_shared(tasklist_t { "" }); } - if (type == "none") { - continue; - } - if (type == "back") { - // "A#back" === "A", "B@A#back" === "B@A", "#back" === null - if (!task.empty()) ret->emplace_back(task); - continue; - } - taskptr_t other_task_info_ptr = task.empty() ? default_task_info_ptr : get_raw(task); + for (const auto& task : *x) { + if (type == "self") { + ret->emplace_back(task_name); + continue; + } + if (type == "none") { + continue; + } + if (type == "back") { + // "A#back" === "A", "B@A#back" === "B@A", "#back" === null + if (!task.empty()) ret->emplace_back(task); + continue; + } + taskptr_t other_task_info_ptr = task.empty() ? default_task_info_ptr : get_raw(task); #define ASST_TASKDATA_PERFORM_OP_IF_BRANCH(t, m) \ else if (type == #t) \ @@ -352,23 +351,24 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ return std::nullopt; \ } \ } - if (other_task_info_ptr == nullptr) [[unlikely]] { - Log.error("Task", task, "not found while perform op", symbl_table[op], "in", task_expr, - "of task:", task_name); - return std::nullopt; - } - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(next, false) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(sub, true) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(on_error_next, false) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(exceeded_next, false) - ASST_TASKDATA_PERFORM_OP_IF_BRANCH(reduce_other_times, true) - else [[unlikely]] - { - Log.error("Unknown symbol", type, "while perform op", symbl_table[op], "in", task_expr, - "of task:", task_name); - return std::nullopt; - } + if (other_task_info_ptr == nullptr) [[unlikely]] { + Log.error("Task", task, "not found while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); + return std::nullopt; + } + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(sub, true) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(on_error_next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(exceeded_next, false) + ASST_TASKDATA_PERFORM_OP_IF_BRANCH(reduce_other_times, true) + else [[unlikely]] + { + Log.error("Unknown symbol", type, "while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); + return std::nullopt; + } #undef ASST_TASKDATA_PERFORM_OP_IF_BRANCH + } } break; From 9cb07172b91c4a53e6907484e236b7d1ae96509e Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Wed, 22 Feb 2023 13:10:18 +0800 Subject: [PATCH 12/44] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E7=A9=BA=E7=99=BD=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Config/TaskData.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index c91c5f570f..f0841ec3e2 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -414,6 +414,12 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ for (auto p = task_expr.begin(); p != task_expr.end(); ++p) { switch (*p) { case ' ': + case '\t': + case '\r': + case '\n': + emplace_symbol_if_not_empty(y_begin, p); + y_begin = p + 1; + break; case ',': case '(': case ')': @@ -428,9 +434,10 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ case '@': emplace_symbol_if_not_empty(y_begin, p); y_begin = p + 1; - if (*p != ' ') { - symbol_stream.emplace_back(symbols_id[std::string(1, *p)]); - } + symbol_stream.emplace_back(symbols_id[std::string(1, *p)]); + break; + default: + break; } } emplace_symbol_if_not_empty(y_begin, task_expr.end()); From c06edb25de71302788d19de3cd8598c79169c952 Mon Sep 17 00:00:00 2001 From: Horror Proton <107091537+horror-proton@users.noreply.github.com> Date: Wed, 1 Feb 2023 19:56:44 +0800 Subject: [PATCH 13/44] =?UTF-8?q?feat:=20=E5=AE=9E=E9=AA=8C=E6=80=A7?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20OCR=20=E5=AD=97=E7=AC=A6=E7=AD=89=E4=BB=B7?= =?UTF-8?q?=E7=B1=BB=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Vision/OcrImageAnalyzer.cpp | 57 +++++++++++++++++++++++-- src/MaaCore/Vision/OcrImageAnalyzer.h | 5 ++- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.cpp b/src/MaaCore/Vision/OcrImageAnalyzer.cpp index dbb9f439d7..120261f822 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.cpp +++ b/src/MaaCore/Vision/OcrImageAnalyzer.cpp @@ -15,6 +15,11 @@ bool asst::OcrImageAnalyzer::analyze() std::vector preds_vec; + preds_vec.emplace_back([](TextRect& tr) -> bool { + tr.text = equivalent_class_preprocess(tr.text); + return true; + }); + if (!m_replace.empty()) { TextRectProc text_replace = [&](TextRect& tr) -> bool { for (const auto& [regex, new_str] : m_replace) { @@ -93,19 +98,25 @@ void asst::OcrImageAnalyzer::set_use_cache(bool is_use) noexcept void asst::OcrImageAnalyzer::set_required(std::vector required) noexcept { + ranges::for_each(required, [](std::string& str) { str = equivalent_class_preprocess(str); }); m_required = std::move(required); } -void asst::OcrImageAnalyzer::set_replace(std::unordered_map replace) noexcept +void asst::OcrImageAnalyzer::set_replace(const std::unordered_map& replace) noexcept { - m_replace = std::move(replace); + m_replace = {}; + for (auto&& [key, val] : replace) { + auto new_key = equivalent_class_preprocess(key); + auto new_val = equivalent_class_preprocess(val); + m_replace[new_key] = new_val; + } } void asst::OcrImageAnalyzer::set_task_info(OcrTaskInfo task_info) noexcept { - m_required = std::move(task_info.text); + set_required(std::move(task_info.text)); m_full_match = task_info.full_match; - m_replace = std::move(task_info.replace_map); + set_replace(task_info.replace_map); m_use_cache = task_info.cache; m_use_char_model = task_info.is_ascii; @@ -124,6 +135,44 @@ std::vector& asst::OcrImageAnalyzer::get_result() noexcept return m_ocr_result; } +std::string asst::OcrImageAnalyzer::equivalent_class_preprocess(const std::string& in) +{ + using equivalent_class = std::vector; + static const std::vector classes { + // hiragana + { "あ", "ぁ" }, + { "い", "ぃ" }, + { "う", "ぅ" }, + { "え", "ぇ" }, + { "お", "ぉ" }, + { "つ", "っ" }, + { "や", "ゃ" }, + { "ゆ", "ゅ" }, + { "よ", "ょ" }, + { "わ", "ゎ" }, + // katakana + { "ア", "ァ" }, + { "イ", "ィ" }, + { "ウ", "ゥ" }, + { "エ", "ェ" }, + { "オ", "ォ" }, + { "ツ", "ッ" }, + { "ヤ", "ャ" }, + { "ユ", "ュ" }, + { "ヨ", "ョ" }, + { "ワ", "ヮ" }, + }; // TODO: store this into a file + + auto result = in; + for (const auto& cls : classes) { + // replace the elements in group into the first one + ranges::for_each(cls.begin() + 1, cls.end(), + [&](const std::string& elem) { utils::string_replace_all_in_place(result, elem, cls.front()); }); + } + + return result; +} + void asst::OcrImageAnalyzer::set_task_info(std::shared_ptr task_ptr) { set_task_info(*std::dynamic_pointer_cast(task_ptr)); diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.h b/src/MaaCore/Vision/OcrImageAnalyzer.h index ad817a3093..139a3ac97a 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.h +++ b/src/MaaCore/Vision/OcrImageAnalyzer.h @@ -25,7 +25,7 @@ namespace asst virtual void sort_result_by_required(); // 按传入的需求数组排序,传入的在前面结果接在前面 void set_required(std::vector required) noexcept; - void set_replace(std::unordered_map replace) noexcept; + void set_replace(const std::unordered_map& replace) noexcept; virtual void set_task_info(std::shared_ptr task_ptr); virtual void set_task_info(const std::string& task_name); @@ -38,6 +38,9 @@ namespace asst virtual const std::vector& get_result() const noexcept; virtual std::vector& get_result() noexcept; + // normalize similar characters into the same one + static std::string equivalent_class_preprocess(const std::string& in); + protected: virtual void set_task_info(OcrTaskInfo task_info) noexcept; From 0ce25cac57bde25d6a2601176fdf0f3e88ca8848 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Tue, 21 Feb 2023 22:25:00 -0600 Subject: [PATCH 14/44] feat: OCR equivalence class --- resource/ocr_config.json | 76 +++++++++++++++++++ .../Config/Miscellaneous/OcrConfig.cpp | 28 +++++++ src/MaaCore/Config/Miscellaneous/OcrConfig.h | 32 ++++++++ src/MaaCore/Config/ResourceLoader.cpp | 2 + src/MaaCore/MaaCore.vcxproj | 2 + src/MaaCore/MaaCore.vcxproj.filters | 6 ++ src/MaaCore/Vision/OcrImageAnalyzer.cpp | 47 ++---------- src/MaaCore/Vision/OcrImageAnalyzer.h | 3 - 8 files changed, 151 insertions(+), 45 deletions(-) create mode 100644 resource/ocr_config.json create mode 100644 src/MaaCore/Config/Miscellaneous/OcrConfig.cpp create mode 100644 src/MaaCore/Config/Miscellaneous/OcrConfig.h diff --git a/resource/ocr_config.json b/resource/ocr_config.json new file mode 100644 index 0000000000..04bfe0c4fb --- /dev/null +++ b/resource/ocr_config.json @@ -0,0 +1,76 @@ +{ + "equivalence_classes": [ + [ + "あ", + "ぁ" + ], + [ + "い", + "ぃ" + ], + [ + "う", + "ぅ" + ], + [ + "え", + "ぇ" + ], + [ + "お", + "ぉ" + ], + [ + "つ", + "っ" + ], + [ + "や", + "ゃ" + ], + [ + "ゆ", + "ゅ" + ], + [ + "よ", + "ょ" + ], + [ + "ア", + "ァ" + ], + [ + "イ", + "ィ" + ], + [ + "ウ", + "ゥ" + ], + [ + "エ", + "ェ" + ], + [ + "オ", + "ォ" + ], + [ + "ツ", + "ッ" + ], + [ + "ヤ", + "ャ" + ], + [ + "ユ", + "ュ" + ], + [ + "ヨ", + "ョ" + ] + ] +} \ No newline at end of file diff --git a/src/MaaCore/Config/Miscellaneous/OcrConfig.cpp b/src/MaaCore/Config/Miscellaneous/OcrConfig.cpp new file mode 100644 index 0000000000..251c7a475d --- /dev/null +++ b/src/MaaCore/Config/Miscellaneous/OcrConfig.cpp @@ -0,0 +1,28 @@ +#include "OcrConfig.h" + +#include + +#include "Utils/Logger.hpp" + +std::string asst::OcrConfig::process_equivalence_class(const std::string& str) +{ + std::string result = str; + for (const auto& eq_class : m_eq_classes) { + ranges::for_each(eq_class.begin() + 1, eq_class.end(), [&](const std::string& elem) { + utils::string_replace_all_in_place(result, elem, eq_class.front()); + }); + } + return result; +} + +bool asst::OcrConfig::parse(const json::value& json) +{ + for (const json::value& eq_class : json.at("equivalence_classes").as_array()) { + equivalence_class eq_class_tmp; + for (const json::value& eq_element : eq_class.as_array()) { + eq_class_tmp.emplace_back(eq_element.as_string()); + } + m_eq_classes.emplace_back(std::move(eq_class_tmp)); + } + return true; +} diff --git a/src/MaaCore/Config/Miscellaneous/OcrConfig.h b/src/MaaCore/Config/Miscellaneous/OcrConfig.h new file mode 100644 index 0000000000..e4aed6f819 --- /dev/null +++ b/src/MaaCore/Config/Miscellaneous/OcrConfig.h @@ -0,0 +1,32 @@ +#pragma once + +#include "Config/AbstractConfig.h" + +#include "Utils/Ranges.hpp" +#include +#include +#include +#include +#include + +#include "Common/AsstTypes.h" + +namespace asst +{ + class OcrConfig final : public SingletonHolder, public AbstractConfig + { + public: + virtual ~OcrConfig() override = default; + + std::string process_equivalence_class(const std::string& str); + + protected: + virtual bool parse(const json::value& json) override; + + using equivalence_class = std::vector; + + std::vector m_eq_classes; + }; + inline static auto& OcrData = OcrConfig::get_instance(); + +} // namespace asst diff --git a/src/MaaCore/Config/ResourceLoader.cpp b/src/MaaCore/Config/ResourceLoader.cpp index fb265bb74b..7203c27f65 100644 --- a/src/MaaCore/Config/ResourceLoader.cpp +++ b/src/MaaCore/Config/ResourceLoader.cpp @@ -13,6 +13,7 @@ #include "Miscellaneous/RecruitConfig.h" #include "Miscellaneous/StageDropsConfig.h" #include "Miscellaneous/TilePack.h" +#include "Miscellaneous/OcrConfig.h" #include "Roguelike/RoguelikeCopilotConfig.h" #include "Roguelike/RoguelikeRecruitConfig.h" #include "Roguelike/RoguelikeShoppingConfig.h" @@ -64,6 +65,7 @@ bool asst::ResourceLoader::load(const std::filesystem::path& path) LoadResourceAndCheckRet(RoguelikeRecruitConfig, "roguelike"_p / "recruitment.json"_p); LoadResourceAndCheckRet(RoguelikeShoppingConfig, "roguelike"_p / "shopping.json"_p); LoadResourceAndCheckRet(BattleDataConfig, "battle_data.json"_p); + LoadResourceAndCheckRet(OcrConfig, "ocr_config.json"_p); /* load resource with json and template files*/ LoadResourceWithTemplAndCheckRet(TaskData, "tasks.json"_p, "template"_p); diff --git a/src/MaaCore/MaaCore.vcxproj b/src/MaaCore/MaaCore.vcxproj index 763116e97b..519770df00 100644 --- a/src/MaaCore/MaaCore.vcxproj +++ b/src/MaaCore/MaaCore.vcxproj @@ -29,6 +29,7 @@ + @@ -159,6 +160,7 @@ + diff --git a/src/MaaCore/MaaCore.vcxproj.filters b/src/MaaCore/MaaCore.vcxproj.filters index a6c1c8f235..5aea742d34 100644 --- a/src/MaaCore/MaaCore.vcxproj.filters +++ b/src/MaaCore/MaaCore.vcxproj.filters @@ -507,6 +507,9 @@ 源文件\Task\Reclamation + + 源文件\Config\Miscellaneous + @@ -836,5 +839,8 @@ 源文件\Task\Reclamation + + 源文件\Config\Miscellaneous + \ No newline at end of file diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.cpp b/src/MaaCore/Vision/OcrImageAnalyzer.cpp index 120261f822..d0c311d138 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.cpp +++ b/src/MaaCore/Vision/OcrImageAnalyzer.cpp @@ -4,6 +4,7 @@ #include #include "Config/Miscellaneous/OcrPack.h" +#include "Config/Miscellaneous/OcrConfig.h" #include "Config/TaskData.h" #include "Utils/Logger.hpp" @@ -16,7 +17,7 @@ bool asst::OcrImageAnalyzer::analyze() std::vector preds_vec; preds_vec.emplace_back([](TextRect& tr) -> bool { - tr.text = equivalent_class_preprocess(tr.text); + tr.text = OcrData.process_equivalence_class(tr.text); return true; }); @@ -98,7 +99,7 @@ void asst::OcrImageAnalyzer::set_use_cache(bool is_use) noexcept void asst::OcrImageAnalyzer::set_required(std::vector required) noexcept { - ranges::for_each(required, [](std::string& str) { str = equivalent_class_preprocess(str); }); + ranges::for_each(required, [](std::string& str) { str = OcrData.process_equivalence_class(str); }); m_required = std::move(required); } @@ -106,8 +107,8 @@ void asst::OcrImageAnalyzer::set_replace(const std::unordered_map& asst::OcrImageAnalyzer::get_result() noexcept return m_ocr_result; } -std::string asst::OcrImageAnalyzer::equivalent_class_preprocess(const std::string& in) -{ - using equivalent_class = std::vector; - static const std::vector classes { - // hiragana - { "あ", "ぁ" }, - { "い", "ぃ" }, - { "う", "ぅ" }, - { "え", "ぇ" }, - { "お", "ぉ" }, - { "つ", "っ" }, - { "や", "ゃ" }, - { "ゆ", "ゅ" }, - { "よ", "ょ" }, - { "わ", "ゎ" }, - // katakana - { "ア", "ァ" }, - { "イ", "ィ" }, - { "ウ", "ゥ" }, - { "エ", "ェ" }, - { "オ", "ォ" }, - { "ツ", "ッ" }, - { "ヤ", "ャ" }, - { "ユ", "ュ" }, - { "ヨ", "ョ" }, - { "ワ", "ヮ" }, - }; // TODO: store this into a file - - auto result = in; - for (const auto& cls : classes) { - // replace the elements in group into the first one - ranges::for_each(cls.begin() + 1, cls.end(), - [&](const std::string& elem) { utils::string_replace_all_in_place(result, elem, cls.front()); }); - } - - return result; -} - void asst::OcrImageAnalyzer::set_task_info(std::shared_ptr task_ptr) { set_task_info(*std::dynamic_pointer_cast(task_ptr)); diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.h b/src/MaaCore/Vision/OcrImageAnalyzer.h index 139a3ac97a..90e1f8037a 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.h +++ b/src/MaaCore/Vision/OcrImageAnalyzer.h @@ -38,9 +38,6 @@ namespace asst virtual const std::vector& get_result() const noexcept; virtual std::vector& get_result() noexcept; - // normalize similar characters into the same one - static std::string equivalent_class_preprocess(const std::string& in); - protected: virtual void set_task_info(OcrTaskInfo task_info) noexcept; From 19a3b576231f3a12ff80a265aefad90c1c8f3725 Mon Sep 17 00:00:00 2001 From: Horror Proton <107091537+horror-proton@users.noreply.github.com> Date: Sat, 18 Feb 2023 01:08:28 +0800 Subject: [PATCH 15/44] perf: read tile data concurrently --- src/MaaCore/Config/Miscellaneous/TilePack.cpp | 129 ++++++++++++++---- 1 file changed, 104 insertions(+), 25 deletions(-) diff --git a/src/MaaCore/Config/Miscellaneous/TilePack.cpp b/src/MaaCore/Config/Miscellaneous/TilePack.cpp index 33d42976ec..362f64380d 100644 --- a/src/MaaCore/Config/Miscellaneous/TilePack.cpp +++ b/src/MaaCore/Config/Miscellaneous/TilePack.cpp @@ -1,6 +1,20 @@ #include "TilePack.h" #include "Common/AsstConf.h" +#include "meojson/json.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + ASST_SUPPRESS_CV_WARNINGS_START #include ASST_SUPPRESS_CV_WARNINGS_END @@ -16,36 +30,101 @@ bool asst::TilePack::load(const std::filesystem::path& path) return false; } - std::vector tiles_array; - for (const auto& entry : std::filesystem::directory_iterator(path)) { - const auto& file_path = entry.path(); - if (file_path.extension() != ".json") { - continue; - } - auto json_opt = json::open(file_path); - if (!json_opt) { - Log.error("Failed to open json file:", file_path); - return false; - } - auto& json = json_opt.value(); - if (json.is_array()) { - // 兼容上游仓库的 levels.json - // 有些用户习惯于在游戏更新了但maa还没发版前,自己手动更新下 levels.json,可以提前用 - tiles_array.insert(tiles_array.end(), std::make_move_iterator(json.as_array().begin()), - std::make_move_iterator(json.as_array().end())); - } - else if (json.is_object()) { - tiles_array.emplace_back(std::move(*json_opt)); - } - else { - Log.error("Invalid json file:", file_path); - return false; + std::list tiles_array; + std::queue> file_strings; + + std::atomic_bool eoq = false; + std::mutex queue_mut; + std::condition_variable condvar; + + using result_type = std::optional>; + std::vector> workers; + + { + auto n_workers = std::max(1U, std::thread::hardware_concurrency()); + workers.reserve(n_workers); + for (auto thi = 0U; thi < n_workers; ++thi) { + workers.emplace_back(std::async(std::launch::async, [&]() -> result_type { + std::list result; + while (true) { + std::unique_lock lk { queue_mut }; + condvar.wait(lk, [&]() -> bool { return !file_strings.empty() || eoq.load(); }); + if (file_strings.empty()) return result; + + std::string buf {}; + buf.swap(file_strings.front().second); + auto path = file_strings.front().first; + file_strings.pop(); + lk.unlock(); + + auto json_opt = json::parse(buf); + if (!json_opt) { + Log.error("Unable to parse json file:", path); + eoq.store(true); + return std::nullopt; + } + + auto& json = json_opt.value(); + if (json.is_array()) { + // 兼容上游仓库的 levels.json + // 有些用户习惯于在游戏更新了但maa还没发版前,自己手动更新下 levels.json,可以提前用 + result.insert(tiles_array.end(), std::make_move_iterator(json.as_array().begin()), + std::make_move_iterator(json.as_array().end())); + } + else if (json.is_object()) { + result.emplace_back(std::move(json)); + } + else { + Log.error("Invalid json file:", path); + eoq.store(true); + return std::nullopt; + } + } + })); } } + for (const auto& entry : std::filesystem::directory_iterator(path)) { + + if (eoq.load()) break; // this means parsing went wrong + + const auto& file_path = entry.path(); + if (file_path.extension() != ".json") continue; + + const auto f_size = std::filesystem::file_size(file_path); + std::ifstream ifs(file_path, std::ios::in); + auto buf = std::string(f_size, '\0'); + ifs.read(buf.data(), static_cast(buf.size())); + { + std::unique_lock lk(queue_mut); + file_strings.push(std::make_pair(file_path, std::move(buf))); + } + condvar.notify_one(); + } + + eoq.store(true); + condvar.notify_all(); + + auto result = std::transform_reduce( + workers.begin(), workers.end(), std::optional { std::list {} }, + [](result_type lhs, result_type rhs) -> result_type { + if (!lhs || !rhs) return std::nullopt; + lhs->splice(lhs->end(), std::move(rhs).value()); + return lhs; + }, + [&](std::future& fut) -> result_type { + while (fut.wait_for(std::chrono::milliseconds(10)) == std::future_status::timeout) + condvar.notify_all(); // is this necessary? + return fut.get(); + }); + + if (!result) return false; + Log.info("got", result->size(), "maps"); + try { + // TODO: this move has no effect m_tile_calculator = - std::make_shared(WindowWidthDefault, WindowHeightDefault, std::move(tiles_array)); + std::make_shared(WindowWidthDefault, WindowHeightDefault, std::move(result).value()); } catch (const std::exception& e) { Log.error("Tile create failed", e.what()); From 93c62df489a717a07fa660e153428ee994243fbe Mon Sep 17 00:00:00 2001 From: LambdaLe Date: Wed, 22 Feb 2023 20:45:40 +0800 Subject: [PATCH 16/44] =?UTF-8?q?feat:=20Python=E6=B7=BB=E5=8A=A0Hyperv?= =?UTF-8?q?=E8=93=9D=E5=8F=A0=E7=9A=84=E7=AB=AF=E5=8F=A3=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=B8=8E=E6=A8=A1=E6=8B=9F=E5=99=A8=E5=90=AF=E5=8A=A8=E5=87=BD?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Python/asst/emulator.py | 33 +++++++++++++++++++++++++++++++++ src/Python/sample.py | 7 +++++++ 2 files changed, 40 insertions(+) create mode 100644 src/Python/asst/emulator.py diff --git a/src/Python/asst/emulator.py b/src/Python/asst/emulator.py new file mode 100644 index 0000000000..64df006e30 --- /dev/null +++ b/src/Python/asst/emulator.py @@ -0,0 +1,33 @@ +import time +import subprocess + +class Bluestacks: + @staticmethod + def get_hyperv_port(conf_path=r"C:\ProgramData\BlueStacks_nxt\bluestacks.conf", instance_name="Pie64") -> int: + """ 获取Hyper-v版蓝叠的adb port + + :param conf_path: bluestacks.conf 的路径+文件名 + :param instance_name: 多开的名称,在bluestacks.conf中以类似bst.instance..status.adb_port的形式出现,如Nougat64,Pie64,Pie64_1等 + :return: adb端口 + """ + with open(conf_path) as f: + configs = dict(list(map(lambda line: line.replace('\n', '').split('='), f.readlines()))) + return int(configs[f'bst.instance.{instance_name}.status.adb_port'].replace('"', "")) + + @staticmethod + def launch_emulator_win(emulator_path=r'C:\Program Files\BlueStacks_nxt\HD-Player.exe', post_delay=30, arg_instance=None): + """ 启动模拟器 + 如需管理员权限启动模拟器则以管理员权限执行Python脚本 + + :param emulator_path: 模拟器可执行文件路径+文件名 + :param post_delay: 启动后的等待时间(s) + :param arg_instance: 多开实例名,获取方式见get_hyperv_port注释。默认则置空。 + :return: 模拟器进程 + """ + args = [emulator_path] + if arg_instance: + args += ["--instance", arg_instance] + emulator_proc = subprocess.Popen(args) + time.sleep(post_delay) + return emulator_proc + \ No newline at end of file diff --git a/src/Python/sample.py b/src/Python/sample.py index 49a69aa1d1..3fb4257bb8 100644 --- a/src/Python/sample.py +++ b/src/Python/sample.py @@ -5,6 +5,7 @@ import time from asst.asst import Asst from asst.utils import Message, Version from asst.updater import Updater +from asst.emulator import Bluestacks @Asst.CallBackType @@ -37,6 +38,12 @@ if __name__ == "__main__": # 暂停下干员 # asst.set_instance_option(InstanceOptionType.deployment_with_pause, '1') + # 启动模拟器。例如启动蓝叠模拟器的多开Pie64_1,并等待30s + # Bluestacks.launch_emulator_win(r'C:\Program Files\BlueStacks_nxt\HD-Player.exe', 30, "Pie64_1") + + # 获取Hyper-v蓝叠的adb port + # port = Bluestacks.get_hyperv_port(r"C:\ProgramData\BlueStacks_nxt\bluestacks.conf", "Pie64_1") + # 请自行配置 adb 环境变量,或修改为 adb 可执行程序的路径 if asst.connect('adb.exe', '127.0.0.1:5555'): print('连接成功') From a0c5a5e06d1d763bb49e7dce4b90e812c1c4d01c Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Wed, 22 Feb 2023 23:01:14 +0800 Subject: [PATCH 17/44] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A04=E7=82=B9?= =?UTF-8?q?=E6=A3=80=E6=9F=A5web=E6=98=AF=E5=90=A6=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=85=B3=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/StageManager.cs | 6 ++---- src/MaaWpfGui/Main/TaskQueueViewModel.cs | 8 ++++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/MaaWpfGui/Helper/StageManager.cs b/src/MaaWpfGui/Helper/StageManager.cs index 007458d8e2..ea742d71e6 100644 --- a/src/MaaWpfGui/Helper/StageManager.cs +++ b/src/MaaWpfGui/Helper/StageManager.cs @@ -38,7 +38,6 @@ namespace MaaWpfGui // model references private readonly TaskQueueViewModel _taskQueueViewModel; - private readonly SettingsViewModel _settingsViewModel; // datas private Dictionary _stages; @@ -50,7 +49,6 @@ namespace MaaWpfGui public StageManager(IContainer container) { _taskQueueViewModel = container.Get(); - _settingsViewModel = container.Get(); UpdateStage(false); Execute.OnUIThread(async () => @@ -68,7 +66,7 @@ namespace MaaWpfGui }); } - private void UpdateStage(bool fromWeb) + public void UpdateStage(bool fromWeb) { var tempStage = new Dictionary { @@ -90,7 +88,7 @@ namespace MaaWpfGui "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture).AddHours(-Convert.ToInt32(keyValuePairs?["TimeZone"].ToString() ?? "0")); - var clientType = _settingsViewModel.ClientType; + var clientType = ViewStatusStorage.Get("Start.ClientType", string.Empty); // 官服和B服使用同样的资源 if (clientType == "Bilibili" || clientType == string.Empty) diff --git a/src/MaaWpfGui/Main/TaskQueueViewModel.cs b/src/MaaWpfGui/Main/TaskQueueViewModel.cs index 9d1af40fb5..ab8bc951a2 100644 --- a/src/MaaWpfGui/Main/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/Main/TaskQueueViewModel.cs @@ -157,8 +157,12 @@ namespace MaaWpfGui { if (NeedToUpdateDatePrompt()) { - UpdateDatePrompt(); - UpdateStageList(false); + Execute.OnUIThread(() => + { + _stageManager.UpdateStage(true); + UpdateDatePrompt(); + UpdateStageList(false); + }); } refreshCustomInfrastPlanIndexByPeriod(); From 4b465ebd358d0e7ad34cd5f35515aee4ae8ff095 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Sun, 19 Feb 2023 19:40:06 +0800 Subject: [PATCH 18/44] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4=E4=B8=80?= =?UTF-8?q?=E6=AE=B5=E5=86=97=E4=BD=99=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 6609118ea9..f43c85647d 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2585,15 +2585,6 @@ ] }, "StartUp@ClickCorner": { - "ClickCorner_Doc": "点击屏幕右边,不会点到掉落物品,且不会关掉关卡选择的一块区域", - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 1000, - 120, - 270, - 10 - ], "next": [ "StartUp@ReturnTo", "StartUp", @@ -2601,9 +2592,6 @@ "StartUp@FromStageSN", "StartUp@TodaysSupplies", "StartUp@OfflineConfirm" - ], - "onErrorNext": [ - "StartUp@RestartGameAndContinue" ] }, "FromStageSN": { From a754a7fe7739a7cc035d1866ef93214f283d8b69 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Sun, 19 Feb 2023 19:52:00 +0800 Subject: [PATCH 19/44] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E4=B8=80?= =?UTF-8?q?=E6=AE=B5=E5=8F=AF=E8=83=BD=E5=AF=BC=E8=87=B4=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ClickCorner 这个任务只会在 EndOfAction 等 掉落识别 的任务结束后调用。 这里若出现差错导致没有进入前面的任务而是再次进入 EndOfAction 任务(例如 ClickCorner 的点击失效导致停留在结算界面),可能会导致重复识别 --- resource/tasks.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index f43c85647d..58364f9ea2 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2985,8 +2985,7 @@ "StartButton2", "UseMedicine", "UseStone", - "NoStone", - "EndOfAction" + "NoStone" ], "onErrorNext": [ "RestartGameAndContinue" From a1237c1b34238489d5fa21a0cece6f1504e3a29a Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Sun, 19 Feb 2023 20:22:49 +0800 Subject: [PATCH 20/44] =?UTF-8?q?feat:=20=E9=87=8D=E5=91=BD=E5=90=8D=20Loa?= =?UTF-8?q?ding=E3=80=81=20Loading2=20=E7=9B=B8=E5=85=B3=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 Loading 任务重命名为 LoadingText,Loading2 任务重命名为 LoadingIcon 方便区分 --- resource/global/YoStarJP/resource/tasks.json | 2 +- resource/global/txwy/resource/tasks.json | 2 +- resource/tasks.json | 58 +++++++++--------- .../{Loading2.png => LoadingIcon.png} | Bin 4 files changed, 31 insertions(+), 31 deletions(-) rename resource/template/{Loading2.png => LoadingIcon.png} (100%) diff --git a/resource/global/YoStarJP/resource/tasks.json b/resource/global/YoStarJP/resource/tasks.json index 2433e12485..c689fe5592 100644 --- a/resource/global/YoStarJP/resource/tasks.json +++ b/resource/global/YoStarJP/resource/tasks.json @@ -1853,7 +1853,7 @@ "本日配給" ] }, - "Loading": { + "LoadingText": { "text": [ "ニューラル", "コネクタ", diff --git a/resource/global/txwy/resource/tasks.json b/resource/global/txwy/resource/tasks.json index 23c9799e74..78ec900772 100644 --- a/resource/global/txwy/resource/tasks.json +++ b/resource/global/txwy/resource/tasks.json @@ -862,7 +862,7 @@ "今日配給" ] }, - "Loading": { + "LoadingText": { "text": [ "正在提交", "反饋至神經" diff --git a/resource/tasks.json b/resource/tasks.json index 58364f9ea2..e41ec0910c 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2344,7 +2344,7 @@ "action": "DoNothing", "next": [ "StartUp@StartUpThemes#next", - "StartUpBegin@Loading2", + "StartUpBegin@LoadingIcon", "StartUp@ReturnTo", "StartUp@EndOfAction", "StartUp@FromStageSN" @@ -2371,7 +2371,7 @@ ], "next": [ "StartUpThemes#next", - "GameStart@Loading2" + "GameStart@LoadingIcon" ] }, "StartToWakeUp": { @@ -2384,7 +2384,7 @@ ], "next": [ "StartUpThemes#next", - "StartToWakeUp@Loading2" + "StartToWakeUp@LoadingIcon" ] }, "StartLoginBServer": { @@ -2397,7 +2397,7 @@ ], "next": [ "StartUpThemes#next", - "StartLoginBServer@Loading2" + "StartLoginBServer@LoadingIcon" ] }, "StartUpConnectingFlag": { @@ -2410,7 +2410,7 @@ ], "next": [ "StartUpThemes#next", - "StartUpConnectingFlag@Loading2" + "StartUpConnectingFlag@LoadingIcon" ] }, "StartUp": { @@ -2478,7 +2478,7 @@ "#back" ] }, - "Loading": { + "LoadingText": { "algorithm": "OcrDetect", "action": "DoNothing", "text": [ @@ -2492,12 +2492,12 @@ 120 ], "next": [ - "Loading", + "LoadingText", "#next", "#back" ] }, - "Loading2": { + "LoadingIcon": { "Doc": "开始唤醒最后阶段的黑色正三角加载画面", "roi": [ 480, @@ -2506,7 +2506,7 @@ 280 ], "next": [ - "Loading2", + "LoadingIcon", "#next", "#back" ] @@ -2526,7 +2526,7 @@ "#back", "ReturnTo", "ReturnToConfirm", - "ReturnTo@Loading2", + "ReturnTo@LoadingIcon", "CloseAnnos#next", "FromStageSN", "TodaysSupplies" @@ -2544,7 +2544,7 @@ "next": [ "ReturnTo", "#back", - "ReturnToConfirm@Loading2", + "ReturnToConfirm@LoadingIcon", "CloseAnnos#next", "FromStageSN", "TodaysSupplies", @@ -2876,8 +2876,8 @@ "PRTS2", "PRTS3", "EndOfAction", - "WaitAfterPRTS@Loading", - "WaitAfterPRTS@Loading2", + "WaitAfterPRTS@LoadingText", + "WaitAfterPRTS@LoadingIcon", "ClickCornerAfterPRTS_1" ] }, @@ -2900,8 +2900,8 @@ "UseMedicine", "UseStone", "NoStone", - "WaitAfterPRTS@Loading", - "WaitAfterPRTS@Loading2", + "WaitAfterPRTS@LoadingText", + "WaitAfterPRTS@LoadingIcon", "StartUpThemes#next" ] }, @@ -3251,7 +3251,7 @@ "postDelay": 5000, "next": [ "StartUpThemes#next", - "RestartGameAndContinue@Loading2", + "RestartGameAndContinue@LoadingIcon", "ReturnTo", "FromStageSN" ] @@ -3325,7 +3325,7 @@ 255 ], "next": [ - "RecruitBegin@Loading", + "RecruitBegin@LoadingText", "RecruitBegin" ] }, @@ -3340,7 +3340,7 @@ 420 ], "next": [ - "RecruitFinish@Loading", + "RecruitFinish@LoadingText", "RecruitFinish", "Recruit", "RecruitSkip", @@ -4026,7 +4026,7 @@ ], "next": [ "CreditShop-Bought", - "CreditShop-BuyIt@Loading", + "CreditShop-BuyIt@LoadingText", "CreditShop-NoMoney" ] }, @@ -4147,7 +4147,7 @@ "preDelay": 500, "postDelay": 500, "next": [ - "RecruitRefreshConfirm@Loading", + "RecruitRefreshConfirm@LoadingText", "SleepThenStop" ] }, @@ -4208,7 +4208,7 @@ 80 ], "next": [ - "RecruitConfirm@Loading", + "RecruitConfirm@LoadingText", "RecruitFlag" ] }, @@ -4427,7 +4427,7 @@ 165 ], "next": [ - "DroneConfirm@Loading", + "DroneConfirm@LoadingText", "DeliverableOrder", "DroneAssist-Trade-Stop", "DroneAssistMfg" @@ -4486,7 +4486,7 @@ ], "postDelay": 1000, "next": [ - "ReplenishToMaxConfirm@Loading", + "ReplenishToMaxConfirm@LoadingText", "Stop" ] }, @@ -5720,7 +5720,7 @@ 160 ], "next": [ - "ClueGiveTo1stConfirm@Loading", + "ClueGiveTo1stConfirm@LoadingText", "SelectClue", "CloseSendClue" ] @@ -5753,7 +5753,7 @@ 160 ], "next": [ - "ClueGiveTo2ndConfirm@Loading", + "ClueGiveTo2ndConfirm@LoadingText", "SelectClue", "CloseSendClue" ] @@ -5786,7 +5786,7 @@ 160 ], "next": [ - "ClueGiveTo3rdConfirm@Loading", + "ClueGiveTo3rdConfirm@LoadingText", "SelectClue", "CloseSendClue" ] @@ -5819,7 +5819,7 @@ 160 ], "next": [ - "ClueGiveTo4thConfirm@Loading", + "ClueGiveTo4thConfirm@LoadingText", "SelectClue", "CloseSendClue" ] @@ -8291,8 +8291,8 @@ "Roguelike@GamePassSkip1", "Roguelike@GamePassTheEndConfirm", "Roguelike@GamePass", - "Roguelike@StartAction@Loading", - "Roguelike@StartAction@Loading2" + "Roguelike@StartAction@LoadingText", + "Roguelike@StartAction@LoadingIcon" ] }, "Roguelike@StartExplore": { diff --git a/resource/template/Loading2.png b/resource/template/LoadingIcon.png similarity index 100% rename from resource/template/Loading2.png rename to resource/template/LoadingIcon.png From 6f1a92bb73349779abe3567f6aa36ab2eee3326e Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Wed, 22 Feb 2023 18:30:15 -0600 Subject: [PATCH 21/44] fix: move json to JP folder --- .../global/YoStarJP/resource/ocr_config.json | 76 +++++++++++++++++++ resource/ocr_config.json | 75 +----------------- 2 files changed, 77 insertions(+), 74 deletions(-) create mode 100644 resource/global/YoStarJP/resource/ocr_config.json diff --git a/resource/global/YoStarJP/resource/ocr_config.json b/resource/global/YoStarJP/resource/ocr_config.json new file mode 100644 index 0000000000..04bfe0c4fb --- /dev/null +++ b/resource/global/YoStarJP/resource/ocr_config.json @@ -0,0 +1,76 @@ +{ + "equivalence_classes": [ + [ + "あ", + "ぁ" + ], + [ + "い", + "ぃ" + ], + [ + "う", + "ぅ" + ], + [ + "え", + "ぇ" + ], + [ + "お", + "ぉ" + ], + [ + "つ", + "っ" + ], + [ + "や", + "ゃ" + ], + [ + "ゆ", + "ゅ" + ], + [ + "よ", + "ょ" + ], + [ + "ア", + "ァ" + ], + [ + "イ", + "ィ" + ], + [ + "ウ", + "ゥ" + ], + [ + "エ", + "ェ" + ], + [ + "オ", + "ォ" + ], + [ + "ツ", + "ッ" + ], + [ + "ヤ", + "ャ" + ], + [ + "ユ", + "ュ" + ], + [ + "ヨ", + "ョ" + ] + ] +} \ No newline at end of file diff --git a/resource/ocr_config.json b/resource/ocr_config.json index 04bfe0c4fb..adcdd47982 100644 --- a/resource/ocr_config.json +++ b/resource/ocr_config.json @@ -1,76 +1,3 @@ { - "equivalence_classes": [ - [ - "あ", - "ぁ" - ], - [ - "い", - "ぃ" - ], - [ - "う", - "ぅ" - ], - [ - "え", - "ぇ" - ], - [ - "お", - "ぉ" - ], - [ - "つ", - "っ" - ], - [ - "や", - "ゃ" - ], - [ - "ゆ", - "ゅ" - ], - [ - "よ", - "ょ" - ], - [ - "ア", - "ァ" - ], - [ - "イ", - "ィ" - ], - [ - "ウ", - "ゥ" - ], - [ - "エ", - "ェ" - ], - [ - "オ", - "ォ" - ], - [ - "ツ", - "ッ" - ], - [ - "ヤ", - "ャ" - ], - [ - "ユ", - "ュ" - ], - [ - "ヨ", - "ョ" - ] - ] + "equivalence_classes": [] } \ No newline at end of file From 5b3b470954d3669bfaeb3c2e9792ee0955e0c6ae Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 09:17:07 +0800 Subject: [PATCH 22/44] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=20ClickCorner?= =?UTF-8?q?=20=E7=9B=B8=E5=85=B3=E4=BB=BB=E5=8A=A1=EF=BC=8C=E5=B0=86?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E6=AC=A1=E6=95=B0=E4=BB=8E=E5=8E=9F=E6=9D=A5?= =?UTF-8?q?=E7=9A=84=202=20=E6=AC=A1=E6=8F=90=E9=AB=98=E5=88=B0=205=20?= =?UTF-8?q?=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 49 ++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index e41ec0910c..2ee32a2c45 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2729,6 +2729,7 @@ }, "StartButton1": { "algorithm": "OcrDetect", + "action": "ClickSelf", "text": [ "开始行动" ], @@ -2744,7 +2745,18 @@ "StageSNReturnFlag", "Stop" ], - "action": "ClickSelf", + "reduceOtherTimes": [ + "ClickCornerAfterPRTS", + "ClickCornerAfterPRTS", + "ClickCornerAfterPRTS", + "ClickCornerAfterPRTS", + "ClickCornerAfterPRTS", + "ClickCorner", + "ClickCorner", + "ClickCorner", + "ClickCorner", + "ClickCorner" + ], "next": [ "StartButton2", "UseMedicine", @@ -2878,20 +2890,21 @@ "EndOfAction", "WaitAfterPRTS@LoadingText", "WaitAfterPRTS@LoadingIcon", - "ClickCornerAfterPRTS_1" + "ClickCornerAfterPRTS" ] }, "ClickCornerAfterPRTS": { - "Doc": "base_task", - "ClickCorner_Doc": "点击屏幕右边,不会点到掉落物品,且不会关掉关卡选择的一块区域", "algorithm": "JustReturn", "action": "ClickRect", + "Doc": "点击屏幕右边,不会点到掉落物品,且不会关掉关卡选择的一块区域", + "Doc2": "在比较卡的时候点击屏幕,或是在升级时点击屏幕以进入到结算界面,最多 5 次,间隔 3s", "specificRect": [ 1000, 120, 270, 10 ], + "maxTimes": 5, "postDelay": 3000, "next": [ "EndOfAction", @@ -2902,19 +2915,10 @@ "NoStone", "WaitAfterPRTS@LoadingText", "WaitAfterPRTS@LoadingIcon", - "StartUpThemes#next" - ] - }, - "ClickCornerAfterPRTS_1": { - "baseTask": "ClickCornerAfterPRTS", - "next": [ - "ClickCornerAfterPRTS#next", - "ClickCornerAfterPRTS_2" - ] - }, - "ClickCornerAfterPRTS_2": { - "baseTask": "ClickCornerAfterPRTS", - "onErrorNext": [ + "StartUpThemes#next", + "#self" + ], + "exceededNext": [ "RestartGameAndContinue" ] }, @@ -2971,7 +2975,7 @@ "preDelay": 5000 }, "ClickCorner": { - "ClickCorner_Doc": "点击屏幕右边,不会点到掉落物品,且不会关掉关卡选择的一块区域", + "Doc": "点击屏幕右边,不会点到掉落物品,且不会关掉关卡选择的一块区域", "algorithm": "JustReturn", "action": "ClickRect", "specificRect": [ @@ -2980,14 +2984,17 @@ 270, 10 ], + "maxTimes": 5, "next": [ "StartButton1", "StartButton2", "UseMedicine", "UseStone", - "NoStone" + "NoStone", + "ClickCorner@LoadingIcon", + "#self" ], - "onErrorNext": [ + "exceededNext": [ "RestartGameAndContinue" ] }, @@ -3228,7 +3235,7 @@ "FightMissionFailedAndStop" ], "onErrorNext": [ - "ClickCornerAfterPRTS_1" + "ClickCornerAfterPRTS" ] }, "FightMissionFailedAndStop": { From 6ba171f529a9d42c9d433bb58af0c5c1ea1a2351 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 09:02:16 +0800 Subject: [PATCH 23/44] =?UTF-8?q?perf:=20=E4=BD=BF=E7=94=A8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=A1=A8=E8=BE=BE=E5=BC=8F=E7=9A=84=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20ClickCorner=20=E7=9B=B8=E5=85=B3=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 2ee32a2c45..dccc29b29f 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2746,16 +2746,7 @@ "Stop" ], "reduceOtherTimes": [ - "ClickCornerAfterPRTS", - "ClickCornerAfterPRTS", - "ClickCornerAfterPRTS", - "ClickCornerAfterPRTS", - "ClickCornerAfterPRTS", - "ClickCorner", - "ClickCorner", - "ClickCorner", - "ClickCorner", - "ClickCorner" + "(ClickCornerAfterPRTS+ClickCorner)*5" ], "next": [ "StartButton2", @@ -2888,8 +2879,8 @@ "PRTS2", "PRTS3", "EndOfAction", - "WaitAfterPRTS@LoadingText", - "WaitAfterPRTS@LoadingIcon", + "#self@LoadingText", + "#self@LoadingIcon", "ClickCornerAfterPRTS" ] }, @@ -2908,14 +2899,7 @@ "postDelay": 3000, "next": [ "EndOfAction", - "StartButton1", - "StartButton2", - "UseMedicine", - "UseStone", - "NoStone", - "WaitAfterPRTS@LoadingText", - "WaitAfterPRTS@LoadingIcon", - "StartUpThemes#next", + "((ClickCorner + WaitAfterPRTS + StartUpThemes)#next ^ ClickCornerAfterPRTS)", "#self" ], "exceededNext": [ @@ -2991,7 +2975,7 @@ "UseMedicine", "UseStone", "NoStone", - "ClickCorner@LoadingIcon", + "#self@LoadingIcon", "#self" ], "exceededNext": [ From 4e925a7b2543b9ce8da883ee0c637f572340e8d6 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 09:14:44 +0800 Subject: [PATCH 24/44] =?UTF-8?q?perf:=20=E7=AE=80=E5=8C=96=20PRTS=20?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index dccc29b29f..fb1d511a1f 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2651,9 +2651,7 @@ "Fight@UsePrts", "Fight@UsePrts-StageSN", "Fight@StartButton1", - "Fight@PRTS3", - "Fight@PRTS", - "Fight@PRTS2", + "Fight@PRTS#next", "Fight@EndOfAction" ] }, @@ -2670,9 +2668,7 @@ "Fight@CloseAnnos#next", "Fight@FromStageSN", "Fight@TodaysSupplies", - "Fight@PRTS3", - "Fight@PRTS", - "Fight@PRTS2", + "Fight@PRTS#next", "Fight@EndOfAction" ] }, @@ -2811,9 +2807,7 @@ 340 ], "next": [ - "PRTS", - "PRTS2", - "PRTS3", + "PRTS#next", "EndOfAction", "StartButton2", "PrtsErrorConfirm", @@ -2822,6 +2816,14 @@ ] }, "PRTS": { + "algorithm": "JustReturn", + "next": [ + "PRTS1", + "PRTS2", + "PRTS3" + ] + }, + "PRTS1": { "action": "DoNothing", "template": "BattleOfficiallyBegin.png", "roi": [ @@ -2836,9 +2838,7 @@ ], "postDelay": 5000, "next": [ - "PRTS", - "PRTS2", - "PRTS3", + "PRTS#next", "EndOfAction", "PrtsErrorConfirm", "OfflineConfirm", @@ -2846,7 +2846,7 @@ ] }, "PRTS2": { - "baseTask": "PRTS", + "baseTask": "PRTS1", "algorithm": "OcrDetect", "text": [ "接管" @@ -2859,7 +2859,7 @@ ] }, "PRTS3": { - "baseTask": "PRTS", + "baseTask": "PRTS1", "algorithm": "OcrDetect", "text": [ "角色" @@ -2875,9 +2875,7 @@ "algorithm": "JustReturn", "action": "DoNothing", "next": [ - "PRTS", - "PRTS2", - "PRTS3", + "PRTS#next", "EndOfAction", "#self@LoadingText", "#self@LoadingIcon", @@ -3166,9 +3164,7 @@ 160 ], "next": [ - "PRTS", - "PRTS2", - "PRTS3", + "PRTS#next", "PrtsErrorConfirm", "OfflineConfirm", "StartUpThemes#next", From 3f0636ac61daa2dbd7d8c8118d8ae2091e8f0bfa Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 09:56:33 +0800 Subject: [PATCH 25/44] style: format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 请各位开发者统一代码风格! ``` python tools\ClangFormatter\clang-formatter.py --clang-format=YOUR\PATH\TO\clang-format.exe --input=src\MaaCore python tools\ClangFormatter\clang-formatter.py --clang-format=YOUR\PATH\TO\clang-format.exe --input=src\resource ``` 参考 https://maa.plus/docs/2.2-%E5%BC%80%E5%8F%91%E7%9B%B8%E5%85%B3.html#%E5%9C%A8-visual-studio-%E4%B8%AD%E5%90%AF%E7%94%A8-clang-format --- resource/Arknights-Tile-Pos/.clang-format | 3 -- resource/copilot/SSS_多索雷斯在建地块.json | 15 +++--- resource/global/txwy/resource/tasks.json | 42 ++++++++--------- resource/tasks.json | 43 +++++++++-------- src/MaaCore/Assistant.cpp | 4 +- .../Miscellaneous/AvatarCacheManager.cpp | 6 +-- src/MaaCore/Config/TaskData.cpp | 3 +- src/MaaCore/Controller.cpp | 7 +-- .../Task/Fight/DrGrandetTaskPlugin.cpp | 4 +- .../Task/Infrast/InfrastAbstractTask.cpp | 23 ++++++---- .../Task/Infrast/InfrastAbstractTask.h | 3 +- src/MaaCore/Task/Infrast/InfrastDormTask.cpp | 6 +-- src/MaaCore/Task/Infrast/InfrastInfoTask.cpp | 2 +- .../Task/Infrast/InfrastReceptionTask.cpp | 6 +-- src/MaaCore/Task/Interface/AwardTask.cpp | 3 +- src/MaaCore/Task/Interface/DepotTask.cpp | 3 +- .../Task/Interface/ReclamationTask.cpp | 1 - src/MaaCore/Task/Interface/SingleStepTask.cpp | 6 +-- .../Task/Miscellaneous/BattleProcessTask.cpp | 2 +- .../Task/Miscellaneous/CreditShoppingTask.cpp | 6 +-- .../Miscellaneous/DepotRecognitionTask.cpp | 4 +- .../Reclamation/ReclamationBattlePlugin.cpp | 20 ++++---- .../Reclamation/ReclamationBattlePlugin.h | 6 +-- .../ReclamationConclusionReportPlugin.cpp | 14 +++--- .../ReclamationConclusionReportPlugin.h | 1 - .../Reclamation/ReclamationControlTask.cpp | 10 ++-- .../Task/Reclamation/ReclamationControlTask.h | 46 +++++++++---------- src/MaaCore/Task/ReportDataTask.cpp | 6 +-- src/MaaCore/Task/ReportDataTask.h | 3 +- .../RoguelikeCustomStartTaskPlugin.cpp | 4 +- .../RoguelikeCustomStartTaskPlugin.h | 8 ++-- .../RoguelikeFormationTaskPlugin.cpp | 4 +- .../Roguelike/RoguelikeRecruitTaskPlugin.cpp | 3 +- .../Roguelike/RoguelikeShoppingTaskPlugin.cpp | 4 +- .../RoguelikeSkillSelectionTaskPlugin.cpp | 4 +- .../SingleStepBattleProcessTask.cpp | 2 +- .../InfrastClueVacancyImageAnalyzer.cpp | 2 +- .../Infrast/InfrastFacilityImageAnalyzer.cpp | 2 +- .../Infrast/InfrastOperImageAnalyzer.cpp | 6 +-- .../Infrast/InfrastSmileyImageAnalyzer.cpp | 2 +- .../BattleSkillReadyImageAnalyzer.cpp | 2 +- .../Miscellaneous/CreditShopImageAnalyzer.cpp | 10 ++-- .../Miscellaneous/RecruitImageAnalyzer.cpp | 4 +- .../Miscellaneous/StageDropsImageAnalyzer.h | 5 +- .../RoguelikeFormationImageAnalyzer.cpp | 2 +- .../RoguelikeSkillSelectionImageAnalyzer.cpp | 6 +-- 46 files changed, 186 insertions(+), 182 deletions(-) delete mode 100644 resource/Arknights-Tile-Pos/.clang-format diff --git a/resource/Arknights-Tile-Pos/.clang-format b/resource/Arknights-Tile-Pos/.clang-format deleted file mode 100644 index 01d0321393..0000000000 --- a/resource/Arknights-Tile-Pos/.clang-format +++ /dev/null @@ -1,3 +0,0 @@ -Language: Json -ColumnLimit: 1000 -IndentWidth: 2 diff --git a/resource/copilot/SSS_多索雷斯在建地块.json b/resource/copilot/SSS_多索雷斯在建地块.json index 8c4d5d4b72..d4994789c8 100644 --- a/resource/copilot/SSS_多索雷斯在建地块.json +++ b/resource/copilot/SSS_多索雷斯在建地块.json @@ -14,11 +14,11 @@ "A", "A", "A", "A" ], "strategy": "优选策略", - "opers":[ + "opers": [ { "name": "棘刺", "skill": 3, - "skill_usage":1 + "skill_usage": 1 }, { "name": "泥岩", @@ -41,14 +41,14 @@ "skill_usage": 0 } ], - "tool_men":{ + "tool_men": { "先锋": 1, "近卫": 2, "辅助": 7, "重装": 2, "术士": 3 }, - "drops":[ + "drops": [ "近卫", "无需增调干员", "辅助", @@ -86,7 +86,7 @@ "梅尔", "罗小黑" ], - "stages":[ + "stages": [ { "stage_name": "蜂拥而上", "strategies": [ @@ -197,7 +197,7 @@ 5, 3 ], - "direction": "Left" + "direction": "Left" }, { "core": "泥岩", @@ -268,7 +268,8 @@ "近卫": 3 }, "location": [ - 6,1 + 6, + 1 ], "direction": "Left" }, diff --git a/resource/global/txwy/resource/tasks.json b/resource/global/txwy/resource/tasks.json index 23c9799e74..d1233caf70 100644 --- a/resource/global/txwy/resource/tasks.json +++ b/resource/global/txwy/resource/tasks.json @@ -17,22 +17,22 @@ "殘陽" ] }, - "LevelOfDifficulty": { + "LevelOfDifficulty": { "text": [ "環境", "PRTS" ] - }, + }, "EnterChapterDifficultyHard": { "text": [ "進入", - "作戰" + "作戰" ] }, "EnterChapterDifficultyNormal": { "text": [ "進入", - "作戰" + "作戰" ] }, "StageEpisodeToOF": { @@ -51,7 +51,7 @@ "algorithm": "OcrDetect", "text": [ "愚人號", - "活動", + "活動", "關卡已開放" ], "roi": [ @@ -61,21 +61,21 @@ 150 ] }, - "SN-Chapter2": { - "preDelay":2000, + "SN-Chapter2": { + "preDelay": 2000, "next": [ "SN-Chapter2", "ChapterSwipeToTheRight" ] }, "SN-Chapter3": { - "preDelay":2000, + "preDelay": 2000, "next": [ "SN-Chapter3", "ChapterSwipeToTheLeft" ] }, - "BattleStartPre": { + "BattleStartPre": { "text": [ "開始行動", "開始突襲", @@ -112,11 +112,11 @@ "杰西卡" ], [ - "潔絮西卡", + "潔絮西卡", "杰西卡" ], - [ - "絮西卡", + [ + "絮西卡", "杰西卡" ], [ @@ -823,15 +823,15 @@ "澄閃", "澄闪" ], - [ + [ "風丸", "风丸" ], - [ + [ "見行者", "见行者" ], - [ + [ "菲亞梅塔", "菲亚梅塔" ], @@ -839,19 +839,19 @@ "號角", "号角" ], - [ + [ "歸溟幽靈鯊", "归溟幽灵鲨" ], - [ + [ "掠風", "掠风" ], - [ + [ "流明", "流明" ], - [ + [ "艾麗妮", "艾丽妮" ] @@ -1062,12 +1062,12 @@ "採" ] }, - "CreditShop-NoMoney": { + "CreditShop-NoMoney": { "text": [ "信用不足", "無法購買" ] - }, + }, "InfrastReward": { "text": [ "可收穫", diff --git a/resource/tasks.json b/resource/tasks.json index 6609118ea9..17cb93c156 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -6556,24 +6556,15 @@ "template": "empty.png", "templThreshold": 0.75 }, - "BattleOperRoleCaster": { - }, - "BattleOperRoleMedic": { - }, - "BattleOperRolePioneer": { - }, - "BattleOperRoleSniper": { - }, - "BattleOperRoleSpecial": { - }, - "BattleOperRoleSupport": { - }, - "BattleOperRoleTank": { - }, - "BattleOperRoleWarrior": { - }, - "BattleOperRoleDrone": { - }, + "BattleOperRoleCaster": {}, + "BattleOperRoleMedic": {}, + "BattleOperRolePioneer": {}, + "BattleOperRoleSniper": {}, + "BattleOperRoleSpecial": {}, + "BattleOperRoleSupport": {}, + "BattleOperRoleTank": {}, + "BattleOperRoleWarrior": {}, + "BattleOperRoleDrone": {}, "BattleOperCostRange": { "algorithm": "Hash", "hash": [], @@ -9540,7 +9531,9 @@ }, "RoguelikeRefreshSupportBtnOcr": { "algorithm": "OcrDetect", - "text": [ "更新助战列表" ], + "text": [ + "更新助战列表" + ], "roi": [ 1097, 13, @@ -9556,7 +9549,9 @@ }, "RoguelikeChooseSupportBtnOcr": { "algorithm": "OcrDetect", - "text": [ "选择助战" ], + "text": [ + "选择助战" + ], "roi": [ 1011, 9, @@ -11049,12 +11044,16 @@ "CheckNextDay@Reclamation@NextDay": { "template": "Reclamation@NextDay.png", "postDelay": 0, - "next": [ "Stop" ] + "next": [ + "Stop" + ] }, "EnterNextDay@Reclamation@Begin": { "baseTask": "Reclamation@NextDay", "template": "Reclamation@NextDay.png", - "next": [ "Stop" ] + "next": [ + "Stop" + ] }, "WaitNextDayFlag@Reclamation@BetweenDayFlag": { "template": "Reclamation@BetweenDayFlag.png", diff --git a/src/MaaCore/Assistant.cpp b/src/MaaCore/Assistant.cpp index 7ebde35da1..efc494f37f 100644 --- a/src/MaaCore/Assistant.cpp +++ b/src/MaaCore/Assistant.cpp @@ -14,12 +14,12 @@ #include "Task/Interface/DepotTask.h" #include "Task/Interface/FightTask.h" #include "Task/Interface/InfrastTask.h" -#include "Task/Interface/SingleStepTask.h" #include "Task/Interface/MallTask.h" -#include "Task/Interface/RecruitTask.h" #include "Task/Interface/ReclamationTask.h" +#include "Task/Interface/RecruitTask.h" #include "Task/Interface/RoguelikeTask.h" #include "Task/Interface/SSSCopilotTask.h" +#include "Task/Interface/SingleStepTask.h" #include "Task/Interface/StartUpTask.h" #include "Utils/Logger.hpp" #ifdef ASST_DEBUG diff --git a/src/MaaCore/Config/Miscellaneous/AvatarCacheManager.cpp b/src/MaaCore/Config/Miscellaneous/AvatarCacheManager.cpp index 5b6a92d9fd..a38d26d7e2 100644 --- a/src/MaaCore/Config/Miscellaneous/AvatarCacheManager.cpp +++ b/src/MaaCore/Config/Miscellaneous/AvatarCacheManager.cpp @@ -1,9 +1,9 @@ #include "AvatarCacheManager.h" +#include "../TaskData.h" #include "BattleDataConfig.h" #include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" -#include "../TaskData.h" bool asst::AvatarCacheManager::load(const std::filesystem::path& path) { @@ -30,10 +30,10 @@ bool asst::AvatarCacheManager::load(const std::filesystem::path& path) Log.warn("unknown oper", name); continue; } - + Log.trace(filepath); cv::Mat avatar = asst::imread(filepath); - + if (avatar.empty()) { Log.warn("failed to read", filepath); continue; diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index f0841ec3e2..bcb47eaec2 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -319,7 +319,8 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ } case symbl_sharp: { if (y->empty()) { - Log.error("There is no sharp_type while perform op", symbl_table[op], "in", task_expr, "of task:", task_name); + Log.error("There is no sharp_type while perform op", symbl_table[op], "in", task_expr, + "of task:", task_name); return std::nullopt; } for (std::string_view type : *y) { diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller.cpp index a26326c62d..34079b0998 100644 --- a/src/MaaCore/Controller.cpp +++ b/src/MaaCore/Controller.cpp @@ -797,7 +797,7 @@ bool asst::Controller::swipe_without_scale(const Point& p1, const Point& p2, int const auto& opt = Config.get_options(); if (m_minitouch_enabled && m_minitouch_available) { Log.trace(m_use_maa_touch ? "maatouch" : "minitouch", "swipe", p1, p2, duration, extra_swipe, slope_in, - slope_out); + slope_out); Minitoucher toucher(std::bind(&Controller::input_to_minitouch, this, std::placeholders::_1), m_minitouch_props); toucher.down(x1, y1); @@ -1600,7 +1600,7 @@ std::optional asst::Controller::call_command_posix(const std::string& cmd, if (client_socket < 0) { Log.error("accept failed:", strerror(errno)); ::kill(m_child, SIGKILL); - ::waitpid(m_child, &exit_ret, 0); + ::waitpid(m_child, &exit_ret, 0); return std::nullopt; } @@ -1621,7 +1621,8 @@ std::optional asst::Controller::call_command_posix(const std::string& cmd, } } while (::waitpid(m_child, &exit_ret, WNOHANG) == 0 && !check_timeout()); } - ::waitpid(m_child, &exit_ret, 0); // if ::waitpid(m_child, &exit_ret, WNOHANG) == 0, repeat it will cause ECHILD, so not check the return value + ::waitpid(m_child, &exit_ret, 0); // if ::waitpid(m_child, &exit_ret, WNOHANG) == 0, repeat it will cause + // ECHILD, so not check the return value } else { // failed to create child process diff --git a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp index 56e6484bdb..39b0dedb94 100644 --- a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp +++ b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp @@ -1,9 +1,9 @@ #include "DrGrandetTaskPlugin.h" -#include "Controller.h" -#include "Vision/OcrImageAnalyzer.h" #include "Config/TaskData.h" +#include "Controller.h" #include "Utils/Logger.hpp" +#include "Vision/OcrImageAnalyzer.h" #include diff --git a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp index 224d62cac4..2be908161e 100644 --- a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp @@ -5,16 +5,16 @@ #include #include "Common/AsstMsg.h" +#include "Config/TaskData.h" #include "Controller.h" +#include "Task/ProcessTask.h" +#include "Utils/Logger.hpp" +#include "Utils/Ranges.hpp" #include "Vision/Infrast/InfrastFacilityImageAnalyzer.h" #include "Vision/Infrast/InfrastOperImageAnalyzer.h" #include "Vision/MatchImageAnalyzer.h" #include "Vision/OcrImageAnalyzer.h" #include "Vision/OcrWithPreprocessImageAnalyzer.h" -#include "Config/TaskData.h" -#include "Task/ProcessTask.h" -#include "Utils/Logger.hpp" -#include "Utils/Ranges.hpp" asst::InfrastAbstractTask::InfrastAbstractTask(const AsstCallback& callback, Assistant* inst, std::string_view task_chain) @@ -242,7 +242,8 @@ bool asst::InfrastAbstractTask::swipe_and_select_custom_opers(bool is_dorm_order /// @param origin_room_config 期望的配置 /// @param num_of_opers_expect 期望选中的人数,空置则按names.size()判断 /// @return 是否符合期望 -bool asst::InfrastAbstractTask::select_opers_review(infrast::CustomRoomConfig const& origin_room_config, size_t num_of_opers_expect) +bool asst::InfrastAbstractTask::select_opers_review(infrast::CustomRoomConfig const& origin_room_config, + size_t num_of_opers_expect) { LogTraceFunction; // save_img("debug/"); @@ -250,15 +251,18 @@ bool asst::InfrastAbstractTask::select_opers_review(infrast::CustomRoomConfig co const auto image = ctrler()->get_image(); InfrastOperImageAnalyzer oper_analyzer(image); - oper_analyzer.set_to_be_calced(InfrastOperImageAnalyzer::ToBeCalced::Selected | InfrastOperImageAnalyzer::ToBeCalced::Doing); + oper_analyzer.set_to_be_calced(InfrastOperImageAnalyzer::ToBeCalced::Selected | + InfrastOperImageAnalyzer::ToBeCalced::Doing); if (!oper_analyzer.analyze()) { Log.warn("No oper"); return false; } oper_analyzer.sort_by_loc(); const auto& oper_analyzer_res = oper_analyzer.get_result(); - size_t selected_count = ranges::count_if(oper_analyzer_res, [](const infrast::Oper& info) { return info.selected; }); - Log.info("selected_count,config.names.size,num_of_opers_expect = ", selected_count, ",", room_config.names.size(), ",", num_of_opers_expect); + size_t selected_count = + ranges::count_if(oper_analyzer_res, [](const infrast::Oper& info) { return info.selected; }); + Log.info("selected_count,config.names.size,num_of_opers_expect = ", selected_count, ",", room_config.names.size(), + ",", num_of_opers_expect); if (selected_count < num_of_opers_expect) { Log.warn("select opers review fail: 选中干员数与期望不符"); @@ -289,7 +293,8 @@ bool asst::InfrastAbstractTask::select_opers_review(infrast::CustomRoomConfig co if (auto iter = ranges::find(room_config.names, name); iter != room_config.names.end()) { Log.info(name, "在\"operators\"中,且已选中"); room_config.names.erase(iter); - } else { // 备选干员或自动选择,只要不选工作中的干员即可 + } + else { // 备选干员或自动选择,只要不选工作中的干员即可 if (oper.doing == infrast::Doing::Working) { Log.warn("选了工作中的干员:", name); Log.warn("select opers review fail: 非自定义配置,却选了工作中的干员"); diff --git a/src/MaaCore/Task/Infrast/InfrastAbstractTask.h b/src/MaaCore/Task/Infrast/InfrastAbstractTask.h index 43c9667904..e188b30b17 100644 --- a/src/MaaCore/Task/Infrast/InfrastAbstractTask.h +++ b/src/MaaCore/Task/Infrast/InfrastAbstractTask.h @@ -39,7 +39,8 @@ namespace asst infrast::CustomRoomConfig& current_room_config(); bool swipe_and_select_custom_opers(bool is_dorm_order = false); bool select_custom_opers(std::vector& partial_result); - bool select_opers_review(infrast::CustomRoomConfig const& origin_room_config, size_t num_of_opers_expect = 0); // 复核干员选择是否符合期望 + bool select_opers_review(infrast::CustomRoomConfig const& origin_room_config, + size_t num_of_opers_expect = 0); // 复核干员选择是否符合期望 void order_opers_selection(const std::vector& names); virtual void click_return_button() override; diff --git a/src/MaaCore/Task/Infrast/InfrastDormTask.cpp b/src/MaaCore/Task/Infrast/InfrastDormTask.cpp index 8aab98f4ea..dc7afbb16a 100644 --- a/src/MaaCore/Task/Infrast/InfrastDormTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastDormTask.cpp @@ -2,14 +2,14 @@ #include +#include "Config/TaskData.h" #include "Controller.h" +#include "Task/ProcessTask.h" +#include "Utils/Logger.hpp" #include "Vision/Infrast/InfrastOperImageAnalyzer.h" #include "Vision/MatchImageAnalyzer.h" #include "Vision/OcrImageAnalyzer.h" #include "Vision/OcrWithPreprocessImageAnalyzer.h" -#include "Config/TaskData.h" -#include "Task/ProcessTask.h" -#include "Utils/Logger.hpp" asst::InfrastDormTask& asst::InfrastDormTask::set_notstationed_enabled(bool dorm_notstationed_enabled) noexcept { diff --git a/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp b/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp index 7e57a67fa4..8033058c82 100644 --- a/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp @@ -1,9 +1,9 @@ #include "InfrastInfoTask.h" #include "Controller.h" -#include "Vision/Infrast/InfrastFacilityImageAnalyzer.h" #include "Status.h" #include "Utils/Logger.hpp" +#include "Vision/Infrast/InfrastFacilityImageAnalyzer.h" bool asst::InfrastInfoTask::_run() { diff --git a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp index b80261c8c9..dda7c5265f 100644 --- a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp @@ -2,13 +2,13 @@ #include "Utils/Ranges.hpp" +#include "Config/TaskData.h" #include "Controller.h" +#include "Task/ProcessTask.h" +#include "Utils/Logger.hpp" #include "Vision/Infrast/InfrastClueImageAnalyzer.h" #include "Vision/Infrast/InfrastClueVacancyImageAnalyzer.h" #include "Vision/MatchImageAnalyzer.h" -#include "Config/TaskData.h" -#include "Task/ProcessTask.h" -#include "Utils/Logger.hpp" bool asst::InfrastReceptionTask::_run() { diff --git a/src/MaaCore/Task/Interface/AwardTask.cpp b/src/MaaCore/Task/Interface/AwardTask.cpp index 99472678b3..02503f708f 100644 --- a/src/MaaCore/Task/Interface/AwardTask.cpp +++ b/src/MaaCore/Task/Interface/AwardTask.cpp @@ -4,8 +4,7 @@ #include "Task/ProcessTask.h" -asst::AwardTask::AwardTask(const AsstCallback& callback, Assistant* inst) - : InterfaceTask(callback, inst, TaskType) +asst::AwardTask::AwardTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType) { auto award_task_ptr = std::make_shared(m_callback, m_inst, TaskType); award_task_ptr->set_tasks({ "AwardBegin" }); diff --git a/src/MaaCore/Task/Interface/DepotTask.cpp b/src/MaaCore/Task/Interface/DepotTask.cpp index 22a8f6fb2d..d47dae3ae6 100644 --- a/src/MaaCore/Task/Interface/DepotTask.cpp +++ b/src/MaaCore/Task/Interface/DepotTask.cpp @@ -3,8 +3,7 @@ #include "Task/Miscellaneous/DepotRecognitionTask.h" #include "Task/ProcessTask.h" -asst::DepotTask::DepotTask(const AsstCallback& callback, Assistant* inst) - : InterfaceTask(callback, inst, TaskType) +asst::DepotTask::DepotTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType) { auto enter_task = std::make_shared(m_callback, m_inst, TaskType); enter_task->set_tasks({ "DepotBegin" }).set_ignore_error(true); diff --git a/src/MaaCore/Task/Interface/ReclamationTask.cpp b/src/MaaCore/Task/Interface/ReclamationTask.cpp index c7de688f38..45b914e0b4 100644 --- a/src/MaaCore/Task/Interface/ReclamationTask.cpp +++ b/src/MaaCore/Task/Interface/ReclamationTask.cpp @@ -9,7 +9,6 @@ #include "Task/Reclamation/ReclamationConclusionReportPlugin.h" #include "Task/Reclamation/ReclamationControlTask.h" - asst::ReclamationTask::ReclamationTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType), m_reclamation_task_ptr(std::make_shared(callback, inst, TaskType)) diff --git a/src/MaaCore/Task/Interface/SingleStepTask.cpp b/src/MaaCore/Task/Interface/SingleStepTask.cpp index cd5528f2ff..bc931ee3e7 100644 --- a/src/MaaCore/Task/Interface/SingleStepTask.cpp +++ b/src/MaaCore/Task/Interface/SingleStepTask.cpp @@ -12,7 +12,7 @@ asst::SingleStepTask::SingleStepTask(const AsstCallback& callback, Assistant* in bool asst::SingleStepTask::set_params(const json::value& params) { LogTraceFunction; - + std::string type = params.get("type", ""); std::string subtype = params.get("subtype", ""); auto details_opt = params.find("details"); @@ -39,7 +39,7 @@ bool asst::SingleStepTask::set_copilot_stage(const json::value& details) bool asst::SingleStepTask::append_copllot_start() { LogTraceFunction; - + auto start_2_tp = std::make_shared(m_callback, m_inst, TaskType); start_2_tp->set_tasks({ "BattleStartAll" }).set_ignore_error(false); m_subtasks.emplace_back(std::move(start_2_tp)); @@ -50,7 +50,7 @@ bool asst::SingleStepTask::append_copllot_start() bool asst::SingleStepTask::append_copilot_action(const json::value& details) { LogTraceFunction; - + auto task = std::make_shared(m_callback, m_inst, TaskType); try { diff --git a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp index df4f1ef22e..893e9837a0 100644 --- a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp @@ -247,7 +247,7 @@ bool asst::BattleProcessTask::wait_condition(const Action& action) if (image.empty()) { image = ctrler()->get_image(); check_in_battle(image); - } + } }; auto do_strategy_and_update_image = [&]() { do_strategic_action(image); diff --git a/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp b/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp index 3f99e1a911..d6b660d511 100644 --- a/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp @@ -3,13 +3,13 @@ #include #include +#include "Config/TaskData.h" #include "Controller.h" +#include "Task/ProcessTask.h" +#include "Utils/Logger.hpp" #include "Vision/MatchImageAnalyzer.h" #include "Vision/Miscellaneous/CreditShopImageAnalyzer.h" #include "Vision/OcrImageAnalyzer.h" -#include "Config/TaskData.h" -#include "Task/ProcessTask.h" -#include "Utils/Logger.hpp" void asst::CreditShoppingTask::set_black_list(std::vector black_list) { diff --git a/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp b/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp index 27292e2cdd..e9da44e8bb 100644 --- a/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp @@ -4,12 +4,12 @@ #include -#include "Controller.h" -#include "Vision/Miscellaneous/DepotImageAnalyzer.h" #include "Config/GeneralConfig.h" #include "Config/TaskData.h" +#include "Controller.h" #include "Task/ProcessTask.h" #include "Utils/Logger.hpp" +#include "Vision/Miscellaneous/DepotImageAnalyzer.h" bool asst::DepotRecognitionTask::_run() { diff --git a/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp b/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp index 9a1b73ed7d..490049f4bc 100644 --- a/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp +++ b/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp @@ -2,21 +2,20 @@ #include "Utils/NoWarningCV.h" +#include "Config/TaskData.h" #include "Controller.h" +#include "ReclamationControlTask.h" #include "Status.h" #include "Task/ProcessTask.h" #include "Utils/Logger.hpp" -#include "Vision/OcrImageAnalyzer.h" #include "Vision/MatchImageAnalyzer.h" #include "Vision/Miscellaneous/BattleSkillReadyImageAnalyzer.h" -#include "Config/TaskData.h" -#include "ReclamationControlTask.h" +#include "Vision/OcrImageAnalyzer.h" using namespace asst; - asst::ReclamationBattlePlugin::ReclamationBattlePlugin(const AsstCallback& callback, Assistant* inst, - std::string_view task_chain) + std::string_view task_chain) : AbstractTaskPlugin(callback, inst, task_chain), BattleHelper(inst) {} @@ -42,7 +41,7 @@ bool asst::ReclamationBattlePlugin::_run() return quit_action(); } else if (m_battle_mode == ReclamationBattleMode::BuyWater) { - sleep(1500); // 等待技能图标 + sleep(1500); // 等待技能图标 bool result = buy_water(); quit_action(); return result; @@ -121,7 +120,8 @@ bool asst::ReclamationBattlePlugin::communicate_with(const std::string& npcName) return false; } -bool asst::ReclamationBattlePlugin::communicate_with_aux(const std::string& npcName, std::function orderComp) +bool asst::ReclamationBattlePlugin::communicate_with_aux( + const std::string& npcName, std::function orderComp) { auto image = ctrler()->get_image(); BattleSkillReadyImageAnalyzer skillReadyAnalyzer(image); @@ -181,9 +181,9 @@ bool asst::ReclamationBattlePlugin::do_dialog_procedure(const std::vectorget_image(); @@ -196,7 +196,7 @@ bool asst::ReclamationBattlePlugin::do_dialog_procedure(const std::vector +#include "Config/TaskData.h" #include "Controller.h" #include "Status.h" #include "Task/ProcessTask.h" #include "Utils/Logger.hpp" -#include "Vision/OcrImageAnalyzer.h" #include "Vision/MatchImageAnalyzer.h" -#include "Config/TaskData.h" - +#include "Vision/OcrImageAnalyzer.h" bool asst::ReclamationConclusionReportPlugin::verify(AsstMsg msg, const json::value& details) const { @@ -42,10 +40,11 @@ bool asst::ReclamationConclusionReportPlugin::check_page_valid(const cv::Mat& im return pageAnalyzer.analyze(); } -void asst::ReclamationConclusionReportPlugin::analyze(const cv::Mat& image) { +void asst::ReclamationConclusionReportPlugin::analyze(const cv::Mat& image) +{ m_badges = analyze_badges(image); m_construction_points = analyze_construction_points(image); - + m_total_badges += (m_badges == -1 ? 0 : m_badges); m_total_cons_points += (m_construction_points == -1 ? 0 : m_construction_points); } @@ -89,7 +88,8 @@ int asst::ReclamationConclusionReportPlugin::analyze_construction_points(const c } } -void asst::ReclamationConclusionReportPlugin::info_callback() { +void asst::ReclamationConclusionReportPlugin::info_callback() +{ json::value info = basic_info_with_what("ReclamationReport"); json::value& details = info["details"]; details["badges"] = m_badges; diff --git a/src/MaaCore/Task/Reclamation/ReclamationConclusionReportPlugin.h b/src/MaaCore/Task/Reclamation/ReclamationConclusionReportPlugin.h index 2639a7a269..15548b5494 100644 --- a/src/MaaCore/Task/Reclamation/ReclamationConclusionReportPlugin.h +++ b/src/MaaCore/Task/Reclamation/ReclamationConclusionReportPlugin.h @@ -10,7 +10,6 @@ #include "Status.h" #include "Utils/NoWarningCVMat.h" - namespace asst { class ProcessTask; diff --git a/src/MaaCore/Task/Reclamation/ReclamationControlTask.cpp b/src/MaaCore/Task/Reclamation/ReclamationControlTask.cpp index 3bcadc26f4..0a0977a2e2 100644 --- a/src/MaaCore/Task/Reclamation/ReclamationControlTask.cpp +++ b/src/MaaCore/Task/Reclamation/ReclamationControlTask.cpp @@ -9,7 +9,7 @@ #include "ReclamationBattlePlugin.h" -#define RunCheckSuccess(func, ...) \ +#define RunCheckSuccess(func, ...) \ do { \ if (!func(__VA_ARGS__)) return false; \ } while (false); @@ -96,7 +96,7 @@ bool asst::ReclamationControlTask::run_smelt_gold_procedure() for (int i = 0; i < 2; ++i) swipe_right(); RunCheckSuccess(ProcessTask(*this, { "Reclamation@EnterSmeltGoldPage" }).run); - + if (check_manufacture_status() != 1) return false; while (!need_exit() && check_manufacture_status() == 1) { smelt_gold_callback(++m_total_gold); @@ -229,14 +229,16 @@ bool asst::ReclamationControlTask::swipe_left() return ProcessTask(*this, { "Reclamation@CmdCenterSwipeLeft" }).run(); } -void asst::ReclamationControlTask::procedure_start_callback(int times) { +void asst::ReclamationControlTask::procedure_start_callback(int times) +{ json::value info = basic_info_with_what("ReclamationProcedureStart"); json::value& details = info["details"]; details["times"] = times; callback(AsstMsg::SubTaskExtraInfo, info); } -void asst::ReclamationControlTask::smelt_gold_callback(int times) { +void asst::ReclamationControlTask::smelt_gold_callback(int times) +{ json::value info = basic_info_with_what("ReclamationSmeltGold"); json::value& details = info["details"]; details["times"] = times; diff --git a/src/MaaCore/Task/Reclamation/ReclamationControlTask.h b/src/MaaCore/Task/Reclamation/ReclamationControlTask.h index 09e1a417a3..bedef05b05 100644 --- a/src/MaaCore/Task/Reclamation/ReclamationControlTask.h +++ b/src/MaaCore/Task/Reclamation/ReclamationControlTask.h @@ -22,35 +22,35 @@ namespace asst bool run_giveup_upon_fight_procedure(); bool run_smelt_gold_procedure(); - bool navigate_to_reclamation_home(); // 导航至生息演算主界面 - bool give_up_last_algorithm_if(); // 如果有,放弃上次演算 - bool start_with_default_formation(); // 开始演算,至第一天 - bool skip_announce_report(); // 跳过每日公告 - bool start_action_enter(); // 区域交互确认 - bool battle_default_formation_start(); // 默认战斗编队并开始战斗 - bool level_complete_comfirm(); // 场景退出结算,至地图界面 - bool enter_next_day_if_useup(); // 如果决断点耗尽,进入下一天 - bool wait_between_day(); // 等待日期转换动画结束 - bool reset_scope(); // 重置地图大小 - bool enter_command_center(); // 进入侧边栏的命令中心 - bool do_manufacture(); // 点击制作按钮 + bool navigate_to_reclamation_home(); // 导航至生息演算主界面 + bool give_up_last_algorithm_if(); // 如果有,放弃上次演算 + bool start_with_default_formation(); // 开始演算,至第一天 + bool skip_announce_report(); // 跳过每日公告 + bool start_action_enter(); // 区域交互确认 + bool battle_default_formation_start(); // 默认战斗编队并开始战斗 + bool level_complete_comfirm(); // 场景退出结算,至地图界面 + bool enter_next_day_if_useup(); // 如果决断点耗尽,进入下一天 + bool wait_between_day(); // 等待日期转换动画结束 + bool reset_scope(); // 重置地图大小 + bool enter_command_center(); // 进入侧边栏的命令中心 + bool do_manufacture(); // 点击制作按钮 - bool check_next_day(); // 决断点消耗完进入下一天的标志 - bool check_emergency(); // 敌袭到达 - int check_manufacture_status(); // 制造界面是否材料充足,0不足,1充足,-1非建造页面 + bool check_next_day(); // 决断点消耗完进入下一天的标志 + bool check_emergency(); // 敌袭到达 + int check_manufacture_status(); // 制造界面是否材料充足,0不足,1充足,-1非建造页面 - bool click_center_base(); // 点击中心基地图标 - bool click_corner_black_market(); // 点击左上角黑市图标 - bool click_any_zone(); // 点击奇遇外任意区 - bool click_black_market(); // 点击黑市 - - bool swipe_right(); + bool click_center_base(); // 点击中心基地图标 + bool click_corner_black_market(); // 点击左上角黑市图标 + bool click_any_zone(); // 点击奇遇外任意区 + bool click_black_market(); // 点击黑市 + + bool swipe_right(); bool swipe_left(); - + void procedure_start_callback(int times); void smelt_gold_callback(int times); ReclamationTaskMode m_task_mode = ReclamationTaskMode::GiveupUponFight; - int m_total_gold = 0; // 制作赤金的次数 + int m_total_gold = 0; // 制作赤金的次数 }; } diff --git a/src/MaaCore/Task/ReportDataTask.cpp b/src/MaaCore/Task/ReportDataTask.cpp index b6167c8b4e..5c0efb6d5e 100644 --- a/src/MaaCore/Task/ReportDataTask.cpp +++ b/src/MaaCore/Task/ReportDataTask.cpp @@ -87,7 +87,7 @@ void asst::ReportDataTask::report_to_penguin() constexpr int DefaultBackoff = 10 * 1000; // 10s int backoff = DefaultBackoff; - + auto penguin_success_cond = [](const http::Response& response) -> bool { return response.success(); }; auto penguin_retry_cond = [&](const http::Response& response) -> bool { if (!response.status_code()) { @@ -126,7 +126,7 @@ void asst::ReportDataTask::report_to_penguin() } Log.info("Re-report to penguin-stats.cn", Penguin_CN); std::string new_cmd_format = utils::string_replace_all(cmd_format, Penguin_IO, Penguin_CN); - + backoff = DefaultBackoff; response = report(PenguinSubtaskName, new_cmd_format, penguin_success_cond, penguin_retry_cond); @@ -202,6 +202,6 @@ asst::http::Response asst::ReportDataTask::escape_and_request(const std::string& Log.info("request:\n" + cmd_line); std::string response = utils::call_command(cmd_line); Log.info("response:\n" + response); - + return response; } diff --git a/src/MaaCore/Task/ReportDataTask.h b/src/MaaCore/Task/ReportDataTask.h index bc57c9ebdd..27dedb3e79 100644 --- a/src/MaaCore/Task/ReportDataTask.h +++ b/src/MaaCore/Task/ReportDataTask.h @@ -41,7 +41,8 @@ namespace asst void report_to_penguin(); void report_to_yituliu(); http::Response escape_and_request(const std::string& format); - http::Response report(std::string_view subtask, const std::string& format, + http::Response report( + std::string_view subtask, const std::string& format, HttpResponsePred success_cond = [](const http::Response& response) -> bool { return response.success(); }, HttpResponsePred retry_cond = [](const http::Response& response) -> bool { return !response.status_code() || response.status_5xx(); diff --git a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp index 009da15caa..8602dd6c6d 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeCustomStartTaskPlugin.h" -#include "Controller.h" -#include "Vision/OcrImageAnalyzer.h" #include "Config/Miscellaneous/BattleDataConfig.h" #include "Config/TaskData.h" +#include "Controller.h" #include "Status.h" #include "Task/ProcessTask.h" #include "Utils/Logger.hpp" +#include "Vision/OcrImageAnalyzer.h" bool asst::RoguelikeCustomStartTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.h b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.h index 069dc59247..809e093166 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.h +++ b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.h @@ -6,10 +6,10 @@ namespace asst enum class RoguelikeCustomType { None, - Squad, // 分队类型, like 指挥分队, 矛头分队, etc - Roles, // 职业类型, like 先手必胜, 稳扎稳打, etc - CoreChar, // 首选干员, 干员名 - UseSupport, // 使用助战 + Squad, // 分队类型, like 指挥分队, 矛头分队, etc + Roles, // 职业类型, like 先手必胜, 稳扎稳打, etc + CoreChar, // 首选干员, 干员名 + UseSupport, // 使用助战 UseNonfriendSupport // 可以使用非好友助战 // CoCoreChar, // 次选干员, 干员名 }; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp index e326433889..43f16a37f3 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp @@ -2,12 +2,12 @@ #include "Utils/Ranges.hpp" -#include "Controller.h" -#include "Vision/Roguelike/RoguelikeFormationImageAnalyzer.h" #include "Config/TaskData.h" +#include "Controller.h" #include "Status.h" #include "Task/ProcessTask.h" #include "Utils/Logger.hpp" +#include "Vision/Roguelike/RoguelikeFormationImageAnalyzer.h" bool asst::RoguelikeFormationTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 34f3b87729..e3ceb817fc 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -435,8 +435,7 @@ bool asst::RoguelikeRecruitTaskPlugin::check_support_char(const std::string& nam if (satisfied_chars.size()) break; } - if (page != MaxPageCnt - 1) - ProcessTask(*this, { "RoguelikeSupportSwipeRight" }).run(); + if (page != MaxPageCnt - 1) ProcessTask(*this, { "RoguelikeSupportSwipeRight" }).run(); } if (satisfied_chars.size()) break; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp index d5e961f062..ded7c302f8 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeShoppingTaskPlugin.h" -#include "Controller.h" -#include "Vision/OcrWithFlagTemplImageAnalyzer.h" #include "Config/Miscellaneous/BattleDataConfig.h" #include "Config/Roguelike/RoguelikeShoppingConfig.h" +#include "Controller.h" #include "Status.h" #include "Task/ProcessTask.h" #include "Utils/Logger.hpp" +#include "Vision/OcrWithFlagTemplImageAnalyzer.h" bool asst::RoguelikeShoppingTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp index 92843d1392..d5994a8b74 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp @@ -1,10 +1,10 @@ #include "RoguelikeSkillSelectionTaskPlugin.h" -#include "Controller.h" -#include "Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.h" #include "Config/Roguelike/RoguelikeRecruitConfig.h" #include "Config/TaskData.h" +#include "Controller.h" #include "Status.h" +#include "Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.h" #include "Utils/Logger.hpp" diff --git a/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp b/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp index 3c5b521997..a7f0174244 100644 --- a/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp +++ b/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp @@ -7,7 +7,7 @@ bool asst::SingleStepBattleProcessTask::set_stage_name_cache(const std::string& stage_name) { LogTraceFunction; - + if (!Tile.contains(stage_name)) { Log.error("get stage info failed", stage_name); return false; diff --git a/src/MaaCore/Vision/Infrast/InfrastClueVacancyImageAnalyzer.cpp b/src/MaaCore/Vision/Infrast/InfrastClueVacancyImageAnalyzer.cpp index 0f007360f9..160160b3c5 100644 --- a/src/MaaCore/Vision/Infrast/InfrastClueVacancyImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Infrast/InfrastClueVacancyImageAnalyzer.cpp @@ -1,8 +1,8 @@ #include "InfrastClueVacancyImageAnalyzer.h" -#include "Vision/MatchImageAnalyzer.h" #include "Utils/Logger.hpp" #include "Utils/NoWarningCV.h" +#include "Vision/MatchImageAnalyzer.h" bool asst::InfrastClueVacancyImageAnalyzer::analyze() { diff --git a/src/MaaCore/Vision/Infrast/InfrastFacilityImageAnalyzer.cpp b/src/MaaCore/Vision/Infrast/InfrastFacilityImageAnalyzer.cpp index 60aa3993cf..a974dc30a2 100644 --- a/src/MaaCore/Vision/Infrast/InfrastFacilityImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Infrast/InfrastFacilityImageAnalyzer.cpp @@ -2,9 +2,9 @@ #include "Utils/NoWarningCV.h" -#include "Vision/MultiMatchImageAnalyzer.h" #include "Config/TaskData.h" #include "Utils/Logger.hpp" +#include "Vision/MultiMatchImageAnalyzer.h" bool asst::InfrastFacilityImageAnalyzer::analyze() { diff --git a/src/MaaCore/Vision/Infrast/InfrastOperImageAnalyzer.cpp b/src/MaaCore/Vision/Infrast/InfrastOperImageAnalyzer.cpp index 063ab54e61..8fc2fb736e 100644 --- a/src/MaaCore/Vision/Infrast/InfrastOperImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Infrast/InfrastOperImageAnalyzer.cpp @@ -3,12 +3,12 @@ #include "Utils/NoWarningCV.h" #include "Utils/Ranges.hpp" -#include "Vision/HashImageAnalyzer.h" -#include "Vision/MatchImageAnalyzer.h" -#include "InfrastSmileyImageAnalyzer.h" #include "Config/Miscellaneous/InfrastConfig.h" #include "Config/TaskData.h" +#include "InfrastSmileyImageAnalyzer.h" #include "Utils/Logger.hpp" +#include "Vision/HashImageAnalyzer.h" +#include "Vision/MatchImageAnalyzer.h" bool asst::InfrastOperImageAnalyzer::analyze() { diff --git a/src/MaaCore/Vision/Infrast/InfrastSmileyImageAnalyzer.cpp b/src/MaaCore/Vision/Infrast/InfrastSmileyImageAnalyzer.cpp index e2fbabb0a9..75f8acf0b2 100644 --- a/src/MaaCore/Vision/Infrast/InfrastSmileyImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Infrast/InfrastSmileyImageAnalyzer.cpp @@ -2,8 +2,8 @@ #include "Utils/NoWarningCV.h" -#include "Vision/MultiMatchImageAnalyzer.h" #include "Utils/StringMisc.hpp" +#include "Vision/MultiMatchImageAnalyzer.h" bool asst::InfrastSmileyImageAnalyzer::analyze() { diff --git a/src/MaaCore/Vision/Miscellaneous/BattleSkillReadyImageAnalyzer.cpp b/src/MaaCore/Vision/Miscellaneous/BattleSkillReadyImageAnalyzer.cpp index e067d77b04..510d947830 100644 --- a/src/MaaCore/Vision/Miscellaneous/BattleSkillReadyImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Miscellaneous/BattleSkillReadyImageAnalyzer.cpp @@ -60,7 +60,7 @@ bool asst::BattleSkillReadyImageAnalyzer::analyze() if (iter.score > value) { iter.rect = rect; iter.score = value; - } + } need_push = false; break; } diff --git a/src/MaaCore/Vision/Miscellaneous/CreditShopImageAnalyzer.cpp b/src/MaaCore/Vision/Miscellaneous/CreditShopImageAnalyzer.cpp index 13282acc61..291649fb1c 100644 --- a/src/MaaCore/Vision/Miscellaneous/CreditShopImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Miscellaneous/CreditShopImageAnalyzer.cpp @@ -5,15 +5,15 @@ #include "Utils/NoWarningCV.h" #include "Config/TaskData.h" +#include "Utils/Logger.hpp" #include "Vision/MatchImageAnalyzer.h" #include "Vision/MultiMatchImageAnalyzer.h" #include "Vision/OcrImageAnalyzer.h" -#include "Utils/Logger.hpp" void asst::CreditShopImageAnalyzer::set_black_list(std::vector black_list) { Log.info(__FUNCTION__, black_list); - + m_shopping_list = std::move(black_list); m_is_white_list = false; } @@ -21,7 +21,7 @@ void asst::CreditShopImageAnalyzer::set_black_list(std::vector blac void asst::CreditShopImageAnalyzer::set_white_list(std::vector black_list) { Log.info(__FUNCTION__, black_list); - + m_shopping_list = std::move(black_list); m_is_white_list = true; } @@ -67,7 +67,7 @@ bool asst::CreditShopImageAnalyzer::commodities_analyze() bool asst::CreditShopImageAnalyzer::whether_to_buy_analyze() { Log.info(__FUNCTION__, m_shopping_list, "mode", m_is_white_list); - + const auto product_name_task_ptr = Task.get("CreditShop-ProductName"); for (const Rect& commodity : m_commodities) { @@ -104,7 +104,7 @@ bool asst::CreditShopImageAnalyzer::whether_to_buy_analyze() ranges::sort(m_need_to_buy, std::less {}, [&](const auto& pair) { return ranges::find(m_shopping_list, pair.second); }); } - + return !m_need_to_buy.empty(); } diff --git a/src/MaaCore/Vision/Miscellaneous/RecruitImageAnalyzer.cpp b/src/MaaCore/Vision/Miscellaneous/RecruitImageAnalyzer.cpp index ad9e260d06..4ebbc7aa75 100644 --- a/src/MaaCore/Vision/Miscellaneous/RecruitImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Miscellaneous/RecruitImageAnalyzer.cpp @@ -1,10 +1,10 @@ #include "RecruitImageAnalyzer.h" +#include "Config/Miscellaneous/RecruitConfig.h" +#include "Config/TaskData.h" #include "Vision/MatchImageAnalyzer.h" #include "Vision/MultiMatchImageAnalyzer.h" #include "Vision/OcrImageAnalyzer.h" -#include "Config/Miscellaneous/RecruitConfig.h" -#include "Config/TaskData.h" bool asst::RecruitImageAnalyzer::analyze() { diff --git a/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.h b/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.h index 4c8640c467..962c17cc0c 100644 --- a/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.h +++ b/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.h @@ -1,6 +1,6 @@ #pragma once -#include "Vision/AbstractImageAnalyzer.h" #include "Config/Miscellaneous/StageDropsConfig.h" +#include "Vision/AbstractImageAnalyzer.h" #include @@ -31,7 +31,8 @@ namespace asst int match_quantity(const Rect& roi, const std::string& item, bool use_word_model = false); std::optional match_quantity_string(const Rect& roi, bool use_word_model = false); - std::optional match_quantity_string(const Rect& roi, const std::string& item, bool use_word_model = false); + std::optional match_quantity_string(const Rect& roi, const std::string& item, + bool use_word_model = false); StageDropType match_droptype(const Rect& roi); std::string match_item(const Rect& roi, StageDropType type, int index, int size); diff --git a/src/MaaCore/Vision/Roguelike/RoguelikeFormationImageAnalyzer.cpp b/src/MaaCore/Vision/Roguelike/RoguelikeFormationImageAnalyzer.cpp index 902a0d77ff..d3e16dfe69 100644 --- a/src/MaaCore/Vision/Roguelike/RoguelikeFormationImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Roguelike/RoguelikeFormationImageAnalyzer.cpp @@ -2,9 +2,9 @@ #include "Utils/NoWarningCV.h" -#include "Vision/MultiMatchImageAnalyzer.h" #include "Config/TaskData.h" #include "Utils/Logger.hpp" +#include "Vision/MultiMatchImageAnalyzer.h" bool asst::RoguelikeFormationImageAnalyzer::analyze() { diff --git a/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp b/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp index 5c8a7730af..d495ef75fb 100644 --- a/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp @@ -2,13 +2,13 @@ #include "Utils/NoWarningCV.h" -#include "Vision/MatchImageAnalyzer.h" -#include "Vision/MultiMatchImageAnalyzer.h" -#include "Vision/OcrWithPreprocessImageAnalyzer.h" #include "Config/Roguelike/RoguelikeRecruitConfig.h" #include "Config/TaskData.h" #include "Utils/Logger.hpp" #include "Utils/StringMisc.hpp" +#include "Vision/MatchImageAnalyzer.h" +#include "Vision/MultiMatchImageAnalyzer.h" +#include "Vision/OcrWithPreprocessImageAnalyzer.h" bool asst::RoguelikeSkillSelectionImageAnalyzer::analyze() { From 4012725c7261417af1ddc9389c57e7df4bf87664 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Thu, 23 Feb 2023 16:28:44 +0800 Subject: [PATCH 26/44] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Config/TaskData.cpp | 21 +++++++++++-- src/MaaWpfGui/Main/TaskQueueViewModel.cs | 39 +++++++++++++----------- 2 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index bcb47eaec2..ab8b787569 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -255,11 +255,26 @@ bool asst::TaskData::explain_tasks(tasklist_t& new_tasks, const tasklist_t& raw_ auto is_symbl_name = [&](symbl_t x) { return x >= symbl_name_start; }; auto is_symbl_subtask_type = [&](symbl_t x) { - return x == symbl_name_sub || x == symbl_name_next || x == symbl_name_on_error_next || - x == symbl_name_exceeded_next || x == symbl_name_reduce_other_times; + switch (x) { + case symbl_name_sub: + case symbl_name_next: + case symbl_name_on_error_next: + case symbl_name_exceeded_next: + case symbl_name_reduce_other_times: + return true; + default: + return false; + } }; auto is_symbl_sharp_type = [&](symbl_t x) { - return is_symbl_subtask_type(x) || x == symbl_name_self || x == symbl_name_back || x == symbl_name_none; + switch (x) { + case symbl_name_self: + case symbl_name_back: + case symbl_name_none: + return true; + default: + return is_symbl_subtask_type(x); + } }; // perform_op 的结果不保证符合参数 multi 的要求 diff --git a/src/MaaWpfGui/Main/TaskQueueViewModel.cs b/src/MaaWpfGui/Main/TaskQueueViewModel.cs index ab8bc951a2..a70dac98c1 100644 --- a/src/MaaWpfGui/Main/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/Main/TaskQueueViewModel.cs @@ -1961,6 +1961,26 @@ namespace MaaWpfGui /// public List AllDrops { get; set; } = new List(); + /// + /// 关卡不可掉落的材料 + /// + private static readonly HashSet excludedValues = new HashSet() + { + "3213", "3223", "3233", "3243", // 双芯片 + "3253", "3263", "3273", "3283", + "7001", "7002", "7003", "7004", // 许可/凭证 + "4004", "4005", + "3105", "3131", "3132", "3233", // 龙骨/加固建材 + "6001", // 演习券 + "3141", "4002", // 源石 + "32001", // 芯片助剂 + "30115", // 聚合剂 + "30125", // 双极纳米片 + "30135", // D32钢 + "30145", // 晶体电子单元 + "30155", // 烧结核凝晶 + }; + private void InitDrops() { var reader = Utils.GetItemList(); @@ -1975,26 +1995,11 @@ namespace MaaWpfGui } var dis = item.Value["name"].ToString(); -#pragma warning disable SA1009 // Closing parenthesis should be spaced correctly - if ( - val.Equals("3213") || val.Equals("3223") || val.Equals("3233") || val.Equals("3243") // 双芯片 - || val.Equals("3253") || val.Equals("3263") || val.Equals("3273") || val.Equals("3283") - || val.Equals("7001") || val.Equals("7002") || val.Equals("7003") || val.Equals("7004") // 许可/凭证 - || val.Equals("4004") || val.Equals("4005") - || val.Equals("3105") || val.Equals("3131") || val.Equals("3132") || val.Equals("3233") // 龙骨/加固建材 - || val.Equals("6001") // 演习券 - || val.Equals("3141") || val.Equals("4002") // 源石 - || val.Equals("32001") // 芯片助剂 - || val.Equals("30115") // 聚合剂 - || val.Equals("30125") // 双极纳米片 - || val.Equals("30135") // D32钢 - || val.Equals("30145") // 晶体电子单元 - || val.Equals("30155") // 烧结核凝晶 - ) + + if (excludedValues.Contains(val)) { continue; } -#pragma warning restore SA1009 AllDrops.Add(new CombData { Display = dis, Value = val }); } From 86d2a91d48ed21a0077952dc624e97ab9f9244bf Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Thu, 23 Feb 2023 17:04:39 +0800 Subject: [PATCH 27/44] =?UTF-8?q?fix:=20=E6=97=A5=E6=9C=8D=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E8=B5=84=E6=BA=90=E9=94=99=E8=AF=AF/Japanese=20client?= =?UTF-8?q?=20language=20file=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Res/Localizations/ja-jp.xaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 6f0961c39a..94cab10cdd 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -104,7 +104,7 @@ 繁荣证章 建造点数 锻造赤金 - + 選ばない CN-公式 Bilibili @@ -123,8 +123,6 @@ エミュレータが検出されない 管理者権限でこのアプリを開くか 手動で接続設定を行ってください 複数のシミュレータが検出されたため 不要なエミュレータを閉じるか 手動で接続設定を行ってください - すでに最新版です~ - 言語を切り替える 言語 言語設定が変更されました、今すぐMAAを再起動して言語設定を適用しますか? @@ -145,9 +143,8 @@ 安定版 ベータ版 内部テスト版 - Update version + Update version aria2を使う - 更新版 アップデートを確認する 新しいバージョンが見つかりました @@ -177,7 +174,7 @@ 新バージョンが見つかりましたが、アップデートパッケージがありません アップデートするには、手動でフルパッケージをダウンロードしてください。 - + タイマー スタートアップ From 9ed6b35c6d3202779b29480ef9c601f9d6337376 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Thu, 23 Feb 2023 17:09:14 +0800 Subject: [PATCH 28/44] =?UTF-8?q?fix:=20=E9=9F=A9=E6=9C=8D=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E6=96=87=E4=BB=B6typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Res/Localizations/ko-kr.xaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index d575b6bdb0..ce247492ec 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -277,7 +277,7 @@ 최근 작전--> 현재/최근 이벤트가 닫혀 있습니다 - 남은 개방일 수: + 남은 개방일 수: 1일 미만 1-7 CE-6 (용문폐) @@ -424,7 +424,7 @@ 이성 회복 아이템을 사용했습니다 순오리지늄을 사용했습니다 - PRTS 오류 + PRTS 오류 태그가 새로 고쳐졌습니다. 모집 확정 요구 오퍼레이터 충돌 From 04d9699fb452a64dd64a092b924744f67e113699 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 19:10:00 +0800 Subject: [PATCH 29/44] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E4=BF=AE=E6=94=B9=E4=BB=BB=E5=8A=A1=E5=90=8D=E5=BC=95?= =?UTF-8?q?=E8=B5=B7=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 1 + src/MaaCore/Task/Interface/FightTask.cpp | 4 ++-- src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index fb1d511a1f..4c7e71ab1c 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2817,6 +2817,7 @@ }, "PRTS": { "algorithm": "JustReturn", + "postDelay": 5000, "next": [ "PRTS1", "PRTS2", diff --git a/src/MaaCore/Task/Interface/FightTask.cpp b/src/MaaCore/Task/Interface/FightTask.cpp index aefcfa4f8f..d5bbc8b7b9 100644 --- a/src/MaaCore/Task/Interface/FightTask.cpp +++ b/src/MaaCore/Task/Interface/FightTask.cpp @@ -26,9 +26,9 @@ asst::FightTask::FightTask(const AsstCallback& callback, Assistant* inst) .set_times_limit("MedicineConfirm", 0) .set_times_limit("StoneConfirm", 0) .set_times_limit("StageSNReturnFlag", 0) - .set_times_limit("PRTS3", 0) - .set_times_limit("PRTS", 0) + .set_times_limit("PRTS1", 0) .set_times_limit("PRTS2", 0) + .set_times_limit("PRTS3", 0) .set_times_limit("EndOfAction", 0) .set_retry_times(5); diff --git a/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp b/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp index 9a1b73ed7d..e1c0aaf1aa 100644 --- a/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp +++ b/src/MaaCore/Task/Reclamation/ReclamationBattlePlugin.cpp @@ -84,7 +84,7 @@ bool asst::ReclamationBattlePlugin::quit_action() // 出现Loading转一会儿就结算了,没结算还有error_next OcrImageAnalyzer loadingAnalyzer(img); - loadingAnalyzer.set_task_info("Loading"); + loadingAnalyzer.set_task_info("LoadingText"); bool check3 = loadingAnalyzer.analyze(); Log.info(__FUNCTION__, "| click exit level check ", check1, check2, check3); From 56d860182b18ed9f4404e3a335e2e675fc81f126 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Thu, 23 Feb 2023 21:01:58 +0800 Subject: [PATCH 30/44] =?UTF-8?q?refactor:=20=E7=AE=80=E5=8C=96=E5=85=B3?= =?UTF-8?q?=E5=8D=A1=E5=AF=BC=E8=88=AA=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 409 ++++++++++++-------------------------------- 1 file changed, 109 insertions(+), 300 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 17cb93c156..acc362b06c 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -778,6 +778,13 @@ 120 ] }, + "SideStoryStage": { + "Doc": "base_task", + "algorithm": "OcrDetect", + "baseTask": "Stage", + "isAscii": true, + "text": [] + }, "GA-6": { "algorithm": "JustReturn", "action": "DoNothing", @@ -785,7 +792,7 @@ "GA-Open" ], "next": [ - "StageGA-6", + "GA-6@SideStoryStage", "GA-6@SwipeToStage" ] }, @@ -796,7 +803,7 @@ "GA-Open" ], "next": [ - "StageGA-7", + "GA-7@SideStoryStage", "GA-7@SwipeToStage" ] }, @@ -807,7 +814,7 @@ "GA-Open" ], "next": [ - "StageGA-8", + "GA-8@SideStoryStage", "GA-8@SwipeToStage" ] }, @@ -847,29 +854,23 @@ "ChapterSwipeToTheRight" ] }, - "StageGA-6": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "GA-6@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "GA-6" - ], - "cache": false + ] }, - "StageGA-7": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "GA-7@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "GA-7" - ], - "cache": false + ] }, - "StageGA-8": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "GA-8@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "GA-8" - ], - "cache": false + ] }, "WB-7": { "algorithm": "JustReturn", @@ -878,7 +879,7 @@ "WB-Open" ], "next": [ - "StageWB-7", + "WB-7@SideStoryStage", "WB-7@SwipeToStage" ] }, @@ -889,7 +890,7 @@ "WB-Open" ], "next": [ - "StageWB-8", + "WB-8@SideStoryStage", "WB-8@SwipeToStage" ] }, @@ -900,7 +901,7 @@ "WB-Open" ], "next": [ - "StageWB-9", + "WB-9@SideStoryStage", "WB-9@SwipeToStage" ] }, @@ -936,29 +937,23 @@ "ChapterSwipeToTheRight" ] }, - "StageWB-7": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "WB-7@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "WB-7" - ], - "cache": false + ] }, - "StageWB-8": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "WB-8@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "WB-8" - ], - "cache": false + ] }, - "StageWB-9": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "WB-9@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "WB-9" - ], - "cache": false + ] }, "IW-6": { "algorithm": "JustReturn", @@ -968,7 +963,7 @@ "IWChapterToIW" ], "next": [ - "StageIW-6", + "IW-6@SideStoryStage", "IW-6@SwipeToStage" ] }, @@ -980,7 +975,7 @@ "IWChapterToIW" ], "next": [ - "StageIW-7", + "IW-7@SideStoryStage", "IW-7@SwipeToStage" ] }, @@ -992,7 +987,7 @@ "IWChapterToIW" ], "next": [ - "StageIW-8", + "IW-8@SideStoryStage", "IW-8@SwipeToStage" ] }, @@ -1028,46 +1023,22 @@ "ChapterSwipeToTheRight" ] }, - "StageIW-6": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "IW-6@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IW-6" - ], - "cache": false, - "roi": [ - 0, - 283, - 1280, - 324 ] }, - "StageIW-7": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "IW-7@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IW-7" - ], - "cache": false, - "roi": [ - 0, - 283, - 1280, - 324 ] }, - "StageIW-8": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "IW-8@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IW-8" - ], - "cache": false, - "roi": [ - 0, - 283, - 1280, - 324 ] }, "FC-5": { @@ -1078,7 +1049,7 @@ "FCChapterToFC" ], "next": [ - "StageFC-5", + "FC-5@SideStoryStage", "FC-5@SwipeToStage" ] }, @@ -1090,7 +1061,7 @@ "FCChapterToFC" ], "next": [ - "StageFC-6", + "FC-6@SideStoryStage", "FC-6@SwipeToStage" ] }, @@ -1102,7 +1073,7 @@ "FCChapterToFC" ], "next": [ - "StageFC-7", + "FC-7@SideStoryStage", "FC-7@SwipeToStage" ] }, @@ -1138,46 +1109,22 @@ "ChapterSwipeToTheRight" ] }, - "StageFC-5": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "FC-5@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "FC-5" - ], - "cache": false, - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageFC-6": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "FC-6@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "FC-6" - ], - "cache": false, - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageFC-7": { - "action": "ClickSelf", - "algorithm": "OcrDetect", + "FC-7@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "FC-7" - ], - "cache": false, - "roi": [ - 0, - 145, - 1280, - 332 ] }, "IS-10": { @@ -1187,7 +1134,7 @@ "IS-Open" ], "next": [ - "StageIS-10", + "IS-10@SideStoryStage", "IS-10@SwipeToStageIS" ] }, @@ -1198,7 +1145,7 @@ "IS-Open" ], "next": [ - "StageIS-9", + "IS-9@SideStoryStage", "IS-9@SwipeToStageIS" ] }, @@ -1209,7 +1156,7 @@ "IS-Open" ], "next": [ - "StageIS-8", + "IS-8@SideStoryStage", "IS-8@SwipeToStageIS" ] }, @@ -1287,49 +1234,22 @@ "#next" ] }, - "StageIS-10": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, + "IS-10@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IS-10" - ], - "isAscii": true, - "roi": [ - 47, - 42, - 222, - 640 ] }, - "StageIS-9": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, + "IS-9@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IS-9" - ], - "isAscii": true, - "roi": [ - 47, - 42, - 222, - 640 ] }, - "StageIS-8": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, + "IS-8@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IS-8" - ], - "isAscii": true, - "roi": [ - 47, - 42, - 222, - 640 ] }, "NL-10": { @@ -1339,7 +1259,7 @@ "NL-Open" ], "next": [ - "StageNL-10", + "NL-10@SideStoryStage", "NL-10@SwipeToStage" ] }, @@ -1350,7 +1270,7 @@ "NL-Open" ], "next": [ - "StageNL-9", + "NL-9@SideStoryStage", "NL-9@SwipeToStage" ] }, @@ -1361,7 +1281,7 @@ "NL-Open" ], "next": [ - "StageNL-8", + "NL-8@SideStoryStage", "NL-8@SwipeToStage" ] }, @@ -1396,49 +1316,22 @@ "ChapterSwipeToTheRight" ] }, - "StageNL-10": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "NL-10@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "NL-10" - ], - "roi": [ - 0, - 63, - 1280, - 577 ] }, - "StageNL-9": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "NL-9@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "NL-9" - ], - "roi": [ - 0, - 63, - 1280, - 577 ] }, - "StageNL-8": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "NL-8@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "NL-8" - ], - "roi": [ - 0, - 63, - 1280, - 577 ] }, "GT-5": { @@ -1448,7 +1341,7 @@ "StageEpisode", "StageEpisodeToGT", "GTToGT-5", - "StageGT-5" + "GT-5@SideStoryStage" ] }, "StageEpisodeToGT": { @@ -1480,11 +1373,8 @@ 168 ] }, - "StageGT-5": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "GT-5@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "GT-5" ] @@ -1497,7 +1387,7 @@ "StageEpisodeToOF", "OFToOF-Chapter", "ChapterSwipeToTheLeft", - "StageOF-1" + "OF-1@SideStoryStage" ] }, "OF-F3": { @@ -1560,11 +1450,8 @@ "0F-F3" ] }, - "StageOF-1": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "OF-1@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "OF-1", "0F-1" @@ -1577,7 +1464,7 @@ "IC-Open" ], "next": [ - "StageIC-9", + "IC-9@SideStoryStage", "IC-9@SwipeToStage" ] }, @@ -1588,7 +1475,7 @@ "IC-Open" ], "next": [ - "StageIC-8", + "IC-8@SideStoryStage", "IC-8@SwipeToStage" ] }, @@ -1599,7 +1486,7 @@ "IC-Open" ], "next": [ - "StageIC-7", + "IC-7@SideStoryStage", "IC-7@SwipeToStage" ] }, @@ -1630,52 +1517,25 @@ "ChapterSwipeToTheRight" ] }, - "StageIC-9": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "IC-9@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IC-9", "1C-9" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageIC-8": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "IC-8@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IC-8", "1C-8" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageIC-7": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "IC-7@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "IC-7", "1C-7" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, "DV-8": { @@ -1685,7 +1545,7 @@ "DV-Open" ], "next": [ - "StageDV-8", + "DV-8@SideStoryStage", "DV-8@SwipeToStage" ] }, @@ -1696,7 +1556,7 @@ "DV-Open" ], "next": [ - "StageDV-7", + "DV-7@SideStoryStage", "DV-7@SwipeToStage" ] }, @@ -1707,7 +1567,7 @@ "DV-Open" ], "next": [ - "StageDV-6", + "DV-6@SideStoryStage", "DV-6@SwipeToStage" ] }, @@ -1748,49 +1608,22 @@ "ChapterSwipeToTheRight" ] }, - "StageDV-8": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "DV-8@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "DV-8" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageDV-7": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "DV-7@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "DV-7" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageDV-6": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "DV-6@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "DV-6" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, "LE-5": { @@ -1801,7 +1634,7 @@ "LEChapterToLE" ], "next": [ - "StageLE-5", + "LE-5@SideStoryStage", "LE-5@SwipeToStage" ] }, @@ -1813,7 +1646,7 @@ "LEChapterToLE" ], "next": [ - "StageLE-6", + "LE-6@SideStoryStage", "LE-6@SwipeToStage" ] }, @@ -1825,7 +1658,7 @@ "LEChapterToLE" ], "next": [ - "StageLE-7", + "LE-7@SideStoryStage", "LE-7@SwipeToStage" ] }, @@ -1855,49 +1688,22 @@ "ChapterSwipeToTheRight" ] }, - "StageLE-5": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "LE-5@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "LE-5" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageLE-6": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "LE-6@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "LE-6" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, - "StageLE-7": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "isAscii": true, + "LE-7@SideStoryStage": { + "baseTask": "SideStoryStage", "text": [ "LE-7" - ], - "roi": [ - 0, - 145, - 1280, - 332 ] }, "SN-8": { @@ -1906,7 +1712,7 @@ "sub": [ "SN-Open", "SN-Chapter2", - "StageSN-8" + "SN-8@SideStoryStage" ] }, "SN-9": { @@ -1915,7 +1721,7 @@ "sub": [ "SN-Open", "SN-Chapter3", - "StageSN-9" + "SN-9@SideStoryStage" ] }, "SN-10": { @@ -1924,7 +1730,7 @@ "sub": [ "SN-Open", "SN-Chapter3", - "StageSN-10" + "SN-10@SideStoryStage" ] }, "SN-Open": { @@ -1956,7 +1762,8 @@ "SwipeToTheLeft" ] }, - "StageSN-8": { + "SN-8@SideStoryStage": { + "algorithm": "MatchTemplate", "action": "ClickSelf", "template": "SN-8.png", "cache": false, @@ -1967,7 +1774,8 @@ 195 ] }, - "StageSN-9": { + "SN-9@SideStoryStage": { + "algorithm": "MatchTemplate", "action": "ClickSelf", "template": "SN-9.png", "cache": false, @@ -1978,7 +1786,8 @@ 198 ] }, - "StageSN-10": { + "SN-10@SideStoryStage": { + "algorithm": "MatchTemplate", "action": "ClickSelf", "template": "SN-10.png", "cache": false, From 3d15a5fddfe11b11f958250e2f8dbc2fe2f0aba4 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 21:24:44 +0800 Subject: [PATCH 31/44] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=82=89?= =?UTF-8?q?=E9=B8=BD=E6=8B=9B=E5=8B=9F=E6=9C=89=E6=97=B6=E6=BC=8F=E5=B9=B2?= =?UTF-8?q?=E5=91=98=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 可能引入一个新的问题:靠后的干员在之前能招募到,改完招募不到了。这个问题可以通过修改滑动上限解决,不过感觉影响不大,先不做改动 fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/3811 --- resource/tasks.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index acc362b06c..b520cfb109 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -9114,14 +9114,15 @@ }, "RoguelikeRecruitOperListSlowlySwipeToTheLeft": { "baseTask": "SlowlySwipeToTheLeft", + "Doc": "为了保证每次滑动至少多出一列 且 不能跳过一列,应保证滑动距离在400-500之间。", "specificRect": [ - 500, + 620, 340, 20, 20 ], "rectMove": [ - 1150, + 1100, 340, 20, 20 @@ -9130,13 +9131,13 @@ "RoguelikeRecruitOperListSlowlySwipeToTheRight": { "baseTask": "SlowlySwipeToTheRight", "specificRect": [ - 1150, + 1100, 340, 20, 20 ], "rectMove": [ - 500, + 620, 340, 20, 20 From 8576b524a366ee3a0e7e05eabea1e119dcb85de1 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 22:42:07 +0800 Subject: [PATCH 32/44] =?UTF-8?q?feat:=20=E5=8A=A0=E9=80=9F=E8=82=89?= =?UTF-8?q?=E9=B8=BD=E6=8B=9B=E5=8B=9F=E6=97=B6=E6=BB=91=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 9 +++--- .../Roguelike/RoguelikeRecruitTaskPlugin.cpp | 32 +++++++++++++++---- .../Roguelike/RoguelikeRecruitTaskPlugin.h | 2 +- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index b520cfb109..ccce1558fb 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -9104,6 +9104,7 @@ ] }, "RoguelikeRecruitOcrFlag": { + "maxTimes": 5, "roi": [ 525, 110, @@ -9116,13 +9117,13 @@ "baseTask": "SlowlySwipeToTheLeft", "Doc": "为了保证每次滑动至少多出一列 且 不能跳过一列,应保证滑动距离在400-500之间。", "specificRect": [ - 620, + 500, 340, 20, 20 ], "rectMove": [ - 1100, + 980, 340, 20, 20 @@ -9131,13 +9132,13 @@ "RoguelikeRecruitOperListSlowlySwipeToTheRight": { "baseTask": "SlowlySwipeToTheRight", "specificRect": [ - 1100, + 1150, 340, 20, 20 ], "rectMove": [ - 620, + 670, 340, 20, 20 diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index e3ceb817fc..4c01828666 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -124,9 +124,11 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() const auto& oper_list = analyzer.get_result(); bool stop_swipe = false; + int max_oper_x = 0; for (const auto& oper_info : oper_list) { oper_names.emplace(oper_info.name); + max_oper_x = std::max(max_oper_x, oper_info.rect.x); // 查询上次识别位置 const auto& rect_it = last_oper_rects.find(oper_info.name); if (rect_it == last_oper_rects.cend()) { @@ -251,7 +253,7 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() // 向右滑动 Log.trace(__FUNCTION__, "| Page", i, "oper count:", oper_count, "- continue swiping"); - slowly_swipe(false); + slowly_swipe(false, max_oper_x - 200); sleep(Task.get("RoguelikeCustom-HijackCoChar")->post_delay); } @@ -329,7 +331,7 @@ bool asst::RoguelikeRecruitTaskPlugin::check_char(const std::string& char_name, { LogTraceFunction; - constexpr int SwipeTimes = 5; + int SwipeTimes = Task.get("RoguelikeRecruitSwipeMaxTime")->max_times; std::unordered_set pre_oper_names; bool has_been_same = false; int i = 0; @@ -341,8 +343,10 @@ bool asst::RoguelikeRecruitTaskPlugin::check_char(const std::string& char_name, RoguelikeRecruitImageAnalyzer analyzer(image); // 只处理识别成功的情况,失败(无任何结果)时继续滑动 + int max_oper_x = 700; if (analyzer.analyze()) { const auto& chars = analyzer.get_result(); + max_oper_x = ranges::max(chars | views::transform([&](const auto& x) { return x.rect.x; })); auto it = ranges::find_if( chars, [&](const battle::roguelike::Recruitment& oper) -> bool { return oper.name == char_name; }); @@ -375,7 +379,7 @@ bool asst::RoguelikeRecruitTaskPlugin::check_char(const std::string& char_name, slowly_swipe(true); } else { - slowly_swipe(false); + slowly_swipe(false, max_oper_x - 200); } sleep(Task.get("RoguelikeCustom-HijackCoChar")->post_delay); } @@ -513,12 +517,28 @@ void asst::RoguelikeRecruitTaskPlugin::swipe_to_the_left_of_operlist(int loop_ti ProcessTask(*this, { "SleepAfterOperListQuickSwipe" }).run(); } -void asst::RoguelikeRecruitTaskPlugin::slowly_swipe(bool to_left) +void asst::RoguelikeRecruitTaskPlugin::slowly_swipe(bool to_left, int swipe_dist) { if (to_left) { - ProcessTask(*this, { "RoguelikeRecruitOperListSlowlySwipeToTheLeft" }).run(); + auto swipe_task = Task.get("RoguelikeRecruitOperListSlowlySwipeToTheLeft"); + const Rect& StartPoint = swipe_task->specific_rect; + ctrler()->swipe( + StartPoint, + { StartPoint.x + swipe_dist - StartPoint.width, StartPoint.y, StartPoint.width, StartPoint.height }, + swipe_task->special_params.empty() ? 0 : swipe_task->special_params.at(0), + (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), + (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), + (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); } else { - ProcessTask(*this, { "RoguelikeRecruitOperListSlowlySwipeToTheRight" }).run(); + auto swipe_task = Task.get("RoguelikeRecruitOperListSlowlySwipeToTheRight"); + const Rect& StartPoint = swipe_task->specific_rect; + ctrler()->swipe( + StartPoint, + { StartPoint.x - swipe_dist - StartPoint.width, StartPoint.y, StartPoint.width, StartPoint.height }, + swipe_task->special_params.empty() ? 0 : swipe_task->special_params.at(0), + (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), + (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), + (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); } } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.h b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.h index 83cd50b408..a60ff0ab5b 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.h +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.h @@ -26,7 +26,7 @@ namespace asst // 滑动到干员列表的最左侧 void swipe_to_the_left_of_operlist(int loop_times = 2); // 缓慢向干员列表的左侧/右侧滑动 - void slowly_swipe(bool to_left); + void slowly_swipe(bool to_left, int swipe_dist = 500); private: bool check_support_char(); From 3b2abc65b60fe6b7875f843458d126dd1e6507ca Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Thu, 23 Feb 2023 23:04:58 +0800 Subject: [PATCH 33/44] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 3 +-- src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index ccce1558fb..6d071c03de 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -9104,7 +9104,6 @@ ] }, "RoguelikeRecruitOcrFlag": { - "maxTimes": 5, "roi": [ 525, 110, @@ -9170,7 +9169,7 @@ "RoguelikeRecruitSwipeMaxTime": { "algorithm": "JustReturn", "maxTimes_Doc": "这个参数是肉鸽招募时,向右划动的最大次数", - "maxTimes": 4 + "maxTimes": 5 }, "RoguelikeSkillSelectionFlag": { "templThreshold": 0.9, diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 4c01828666..81e9fab8bc 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -529,6 +529,7 @@ void asst::RoguelikeRecruitTaskPlugin::slowly_swipe(bool to_left, int swipe_dist (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); + sleep(swipe_task->post_delay); } else { auto swipe_task = Task.get("RoguelikeRecruitOperListSlowlySwipeToTheRight"); @@ -540,5 +541,6 @@ void asst::RoguelikeRecruitTaskPlugin::slowly_swipe(bool to_left, int swipe_dist (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); + sleep(swipe_task->post_delay); } } From ee4740e6edaec62dbbf6a266e6c2ed72028fe37f Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Fri, 24 Feb 2023 08:33:55 +0800 Subject: [PATCH 34/44] =?UTF-8?q?fix:=20=E5=AF=B9=E4=BD=BF=E7=94=A8=20adb?= =?UTF-8?q?=20=E7=9A=84=E6=83=85=E5=86=B5=E7=89=B9=E6=AE=8A=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Controller.cpp | 5 +++ src/MaaCore/Controller.h | 1 + .../Roguelike/RoguelikeRecruitTaskPlugin.cpp | 40 ++++++++----------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller.cpp index 34079b0998..b6891e689b 100644 --- a/src/MaaCore/Controller.cpp +++ b/src/MaaCore/Controller.cpp @@ -896,6 +896,11 @@ bool asst::Controller::support_swipe_with_pause() const noexcept return m_minitouch_enabled && m_minitouch_available && m_swipe_with_pause_enabled && !m_adb.press_esc.empty(); } +bool asst::Controller::support_swipe_without_adb() const noexcept +{ + return m_minitouch_enabled && m_minitouch_available; +} + bool asst::Controller::connect(const std::string& adb_path, const std::string& address, const std::string& config) { LogTraceFunction; diff --git a/src/MaaCore/Controller.h b/src/MaaCore/Controller.h index af56cf6fa8..120ba81724 100644 --- a/src/MaaCore/Controller.h +++ b/src/MaaCore/Controller.h @@ -65,6 +65,7 @@ namespace asst bool press_esc(); bool support_swipe_with_pause() const noexcept; + bool support_swipe_without_adb() const noexcept; std::pair get_scale_size() const noexcept; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 81e9fab8bc..be1acf7f68 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -519,28 +519,22 @@ void asst::RoguelikeRecruitTaskPlugin::swipe_to_the_left_of_operlist(int loop_ti void asst::RoguelikeRecruitTaskPlugin::slowly_swipe(bool to_left, int swipe_dist) { - if (to_left) { - auto swipe_task = Task.get("RoguelikeRecruitOperListSlowlySwipeToTheLeft"); - const Rect& StartPoint = swipe_task->specific_rect; - ctrler()->swipe( - StartPoint, - { StartPoint.x + swipe_dist - StartPoint.width, StartPoint.y, StartPoint.width, StartPoint.height }, - swipe_task->special_params.empty() ? 0 : swipe_task->special_params.at(0), - (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), - (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), - (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); - sleep(swipe_task->post_delay); - } - else { - auto swipe_task = Task.get("RoguelikeRecruitOperListSlowlySwipeToTheRight"); - const Rect& StartPoint = swipe_task->specific_rect; - ctrler()->swipe( - StartPoint, - { StartPoint.x - swipe_dist - StartPoint.width, StartPoint.y, StartPoint.width, StartPoint.height }, - swipe_task->special_params.empty() ? 0 : swipe_task->special_params.at(0), - (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), - (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), - (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); - sleep(swipe_task->post_delay); + std::string swipe_task_name = + to_left ? "RoguelikeRecruitOperListSlowlySwipeToTheLeft" : "RoguelikeRecruitOperListSlowlySwipeToTheRight"; + if (!ctrler()->support_swipe_without_adb()) { // adb 容易滑飞,不方便精细控制,不使用 swipe_dist 参数 + ProcessTask(*this, { swipe_task_name }).run(); + return; } + + if (!to_left) swipe_dist = -swipe_dist; + auto swipe_task = Task.get(swipe_task_name); + const Rect& StartPoint = swipe_task->specific_rect; + ctrler()->swipe( + StartPoint, + { StartPoint.x + swipe_dist - StartPoint.width, StartPoint.y, StartPoint.width, StartPoint.height }, + swipe_task->special_params.empty() ? 0 : swipe_task->special_params.at(0), + (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), + (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), + (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); + sleep(swipe_task->post_delay); } From 85cf9d052f819e90ccc21035a3ebede29b0f087b Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Fri, 24 Feb 2023 20:04:45 +0800 Subject: [PATCH 35/44] =?UTF-8?q?chore:=20=E4=BC=98=E5=8C=96=E9=80=80?= =?UTF-8?q?=E5=87=BA=E6=A8=A1=E6=8B=9F=E5=99=A8=E6=93=8D=E4=BD=9C=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B6=85=E6=97=B6=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Main/TaskQueueViewModel.cs | 39 +++++++++++------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/src/MaaWpfGui/Main/TaskQueueViewModel.cs b/src/MaaWpfGui/Main/TaskQueueViewModel.cs index a70dac98c1..a3c9d284c9 100644 --- a/src/MaaWpfGui/Main/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/Main/TaskQueueViewModel.cs @@ -994,32 +994,25 @@ namespace MaaWpfGui { emulator = Process.GetProcessById(pid); emulator.CloseMainWindow(); + if (!emulator.WaitForExit(5000)) + { + emulator.Kill(); + emulator.WaitForExit(5000); + } + else + { + // 尽管已经成功 CloseMainWindow(),再次尝试 killEmulator() + // Refer to https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/1878 + KillEmulator(); + + // 已经成功 CloseMainWindow(),所以不管 killEmulator() 的结果如何,都返回 true + return true; + } } catch { break; } - - if (emulator.HasExited) - { - break; - } - - try - { - emulator.Kill(); - } - catch - { - break; - } - - // 尽管已经成功 CloseMainWindow(),再次尝试 killEmulator() - // Refer to https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/1878 - KillEmulator(); - - // 已经成功 CloseMainWindow(),所以不管 killEmulator() 的结果如何,都返回 true - return true; } while (false); @@ -1104,6 +1097,10 @@ namespace MaaWpfGui { return false; } + finally + { + checkCmd.Close(); + } return true; } From 5340114a73e8bb0430ee39fd2bda6247ec8282ec Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Fri, 24 Feb 2023 20:13:33 +0800 Subject: [PATCH 36/44] =?UTF-8?q?style:=20=E6=8D=A2=E4=B8=AA=E5=A5=BD?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E5=90=8D=EF=BC=9B=E4=BB=A3=E7=A0=81=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Controller.cpp | 2 +- src/MaaCore/Controller.h | 2 +- .../Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp | 15 +++++++-------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller.cpp index b6891e689b..cd9cbedb17 100644 --- a/src/MaaCore/Controller.cpp +++ b/src/MaaCore/Controller.cpp @@ -896,7 +896,7 @@ bool asst::Controller::support_swipe_with_pause() const noexcept return m_minitouch_enabled && m_minitouch_available && m_swipe_with_pause_enabled && !m_adb.press_esc.empty(); } -bool asst::Controller::support_swipe_without_adb() const noexcept +bool asst::Controller::support_precise_swipe() const noexcept { return m_minitouch_enabled && m_minitouch_available; } diff --git a/src/MaaCore/Controller.h b/src/MaaCore/Controller.h index 120ba81724..2bd6872851 100644 --- a/src/MaaCore/Controller.h +++ b/src/MaaCore/Controller.h @@ -65,7 +65,7 @@ namespace asst bool press_esc(); bool support_swipe_with_pause() const noexcept; - bool support_swipe_without_adb() const noexcept; + bool support_precise_swipe() const noexcept; std::pair get_scale_size() const noexcept; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index be1acf7f68..28e453e506 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -521,7 +521,7 @@ void asst::RoguelikeRecruitTaskPlugin::slowly_swipe(bool to_left, int swipe_dist { std::string swipe_task_name = to_left ? "RoguelikeRecruitOperListSlowlySwipeToTheLeft" : "RoguelikeRecruitOperListSlowlySwipeToTheRight"; - if (!ctrler()->support_swipe_without_adb()) { // adb 容易滑飞,不方便精细控制,不使用 swipe_dist 参数 + if (!ctrler()->support_precise_swipe()) { // 不能精准滑动时不使用 swipe_dist 参数 ProcessTask(*this, { swipe_task_name }).run(); return; } @@ -529,12 +529,11 @@ void asst::RoguelikeRecruitTaskPlugin::slowly_swipe(bool to_left, int swipe_dist if (!to_left) swipe_dist = -swipe_dist; auto swipe_task = Task.get(swipe_task_name); const Rect& StartPoint = swipe_task->specific_rect; - ctrler()->swipe( - StartPoint, - { StartPoint.x + swipe_dist - StartPoint.width, StartPoint.y, StartPoint.width, StartPoint.height }, - swipe_task->special_params.empty() ? 0 : swipe_task->special_params.at(0), - (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), - (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), - (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); + ctrler()->swipe(StartPoint, + { StartPoint.x + swipe_dist - StartPoint.width, StartPoint.y, StartPoint.width, StartPoint.height }, + swipe_task->special_params.empty() ? 0 : swipe_task->special_params.at(0), + (swipe_task->special_params.size() < 2) ? false : swipe_task->special_params.at(1), + (swipe_task->special_params.size() < 3) ? 1 : swipe_task->special_params.at(2), + (swipe_task->special_params.size() < 4) ? 1 : swipe_task->special_params.at(3)); sleep(swipe_task->post_delay); } From 9f3c611e4a5776cc45f60de879acee392916c785 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Fri, 24 Feb 2023 16:33:37 -0600 Subject: [PATCH 37/44] refactor: directly call get_instance instead of using static OcrData --- src/MaaCore/Config/Miscellaneous/OcrConfig.h | 1 - src/MaaCore/Vision/OcrImageAnalyzer.cpp | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/MaaCore/Config/Miscellaneous/OcrConfig.h b/src/MaaCore/Config/Miscellaneous/OcrConfig.h index e4aed6f819..93016716be 100644 --- a/src/MaaCore/Config/Miscellaneous/OcrConfig.h +++ b/src/MaaCore/Config/Miscellaneous/OcrConfig.h @@ -27,6 +27,5 @@ namespace asst std::vector m_eq_classes; }; - inline static auto& OcrData = OcrConfig::get_instance(); } // namespace asst diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.cpp b/src/MaaCore/Vision/OcrImageAnalyzer.cpp index d0c311d138..466347c8e6 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.cpp +++ b/src/MaaCore/Vision/OcrImageAnalyzer.cpp @@ -17,7 +17,7 @@ bool asst::OcrImageAnalyzer::analyze() std::vector preds_vec; preds_vec.emplace_back([](TextRect& tr) -> bool { - tr.text = OcrData.process_equivalence_class(tr.text); + tr.text = OcrConfig::get_instance().process_equivalence_class(tr.text); return true; }); @@ -99,7 +99,7 @@ void asst::OcrImageAnalyzer::set_use_cache(bool is_use) noexcept void asst::OcrImageAnalyzer::set_required(std::vector required) noexcept { - ranges::for_each(required, [](std::string& str) { str = OcrData.process_equivalence_class(str); }); + ranges::for_each(required, [](std::string& str) { str = OcrConfig::get_instance().process_equivalence_class(str); }); m_required = std::move(required); } @@ -107,8 +107,8 @@ void asst::OcrImageAnalyzer::set_replace(const std::unordered_map Date: Sat, 25 Feb 2023 01:50:30 -0600 Subject: [PATCH 38/44] feat: localization of VersionUpdateView --- src/MaaWpfGui/Res/Localizations/en-us.xaml | 6 ++++++ src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 6 ++++++ src/MaaWpfGui/Views/VersionUpdateView.xaml | 6 +++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index cc32a70553..511159cb30 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -513,4 +513,10 @@ I must not drink, drink so much next time... Hello World! + + + OK! + Version Updated + Version: + \ No newline at end of file diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 3f6e4a0fde..b5d73cfad0 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -520,4 +520,10 @@ 下次不能喝、喝这么多了...... Hello World! + + + 好的! + 版本已更新 + 已更新: + \ No newline at end of file diff --git a/src/MaaWpfGui/Views/VersionUpdateView.xaml b/src/MaaWpfGui/Views/VersionUpdateView.xaml index bbd5052e58..ac1532a6a0 100644 --- a/src/MaaWpfGui/Views/VersionUpdateView.xaml +++ b/src/MaaWpfGui/Views/VersionUpdateView.xaml @@ -8,7 +8,7 @@ xmlns:mdxam="clr-namespace:MdXaml;assembly=MdXaml" xmlns:s="https://github.com/canton7/Stylet" xmlns:vm="clr-namespace:MaaWpfGui" - Title="版本已更新" + Title="{DynamicResource VersionUpdated}" Width="600" Height="500" d:DataContext="{d:DesignInstance {x:Type vm:VersionUpdateViewModel}}" @@ -28,7 +28,7 @@ Margin="0,20" FontSize="24" Style="{StaticResource TextBlockDefaultBold}" - Text="已更新:" + Text="{DynamicResource VersionUpdatedTo}" TextWrapping="Wrap" /> + Content="{DynamicResource UpdateNotificationOK}" /> \ No newline at end of file From d9dee76080c086d8a539a41159e144a2b923ad61 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 25 Feb 2023 15:52:19 +0800 Subject: [PATCH 39/44] Update src/MaaCore/Vision/OcrImageAnalyzer.cpp --- src/MaaCore/Vision/OcrImageAnalyzer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.cpp b/src/MaaCore/Vision/OcrImageAnalyzer.cpp index 466347c8e6..4a79420b6b 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.cpp +++ b/src/MaaCore/Vision/OcrImageAnalyzer.cpp @@ -109,7 +109,7 @@ void asst::OcrImageAnalyzer::set_replace(const std::unordered_map Date: Sat, 25 Feb 2023 15:52:59 +0800 Subject: [PATCH 40/44] Update src/MaaCore/Vision/OcrImageAnalyzer.cpp --- src/MaaCore/Vision/OcrImageAnalyzer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.cpp b/src/MaaCore/Vision/OcrImageAnalyzer.cpp index 4a79420b6b..46d4da7c82 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.cpp +++ b/src/MaaCore/Vision/OcrImageAnalyzer.cpp @@ -109,7 +109,7 @@ void asst::OcrImageAnalyzer::set_replace(const std::unordered_map Date: Sat, 25 Feb 2023 17:31:32 +0800 Subject: [PATCH 41/44] =?UTF-8?q?docs:=20=E4=BF=AE=E5=A4=8D=20README=20?= =?UTF-8?q?=E7=91=95=E7=96=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e8ceaeee8e..36f12df265 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ MAA 的意思是 MAA Assistant Arknights - ~~公开招募数据:[明日方舟工具箱](https://www.bigfun.cn/tools/aktools/hr)~~ - 干员及基建数据:[PRTS明日方舟中文WIKI](http://prts.wiki/) - 关卡数据:[企鹅物流数据统计](https://penguin-stats.cn/) -- 游戏数据及資源:[明日方舟bot常用素材](https://github.com/yuanyan3060/Arknights-Bot-Resource) +- 游戏数据及资源:[明日方舟bot常用素材](https://github.com/yuanyan3060/Arknights-Bot-Resource) - 游戏数据:[《明日方舟》游戏数据](https://github.com/Kengxxiao/ArknightsGameData) ### 贡献/参与者 From 5f678d8e95a48d0878d13d6e1b5fdc60681fe1dd Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 25 Feb 2023 18:20:31 +0800 Subject: [PATCH 42/44] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E5=B8=B8?= =?UTF-8?q?=E8=A7=81=E9=97=AE=E9=A2=98=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/MaaUrls.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/MaaWpfGui/Helper/MaaUrls.cs b/src/MaaWpfGui/Helper/MaaUrls.cs index 8328505632..ff0bd1d153 100644 --- a/src/MaaWpfGui/Helper/MaaUrls.cs +++ b/src/MaaWpfGui/Helper/MaaUrls.cs @@ -38,11 +38,11 @@ namespace MaaWpfGui private static readonly Dictionary _helpUrl = new Dictionary { - { "zh-cn", "1.2-常见问题.md" }, - { "en-us", "en-us/1.2-FAQ.md" }, - { "ja-jp", "ja-jp/1.2-よくある質問.md" }, - { "ko-kr", "ko-kr/1.2-FAQ.md" }, - { "zh-tw", "zh-tw/1.2-常見問題.md" }, + { "zh-cn", "1.2-常见问题.html" }, + { "en-us", "en-us/1.2-FAQ.html" }, + { "ja-jp", "ja-jp/1.2-よくある質問.html" }, + { "ko-kr", "ko-kr/1.2-FAQ.html" }, + { "zh-tw", "zh-tw/1.2-常見問題.html" }, { "pallas", "KeepDrinking" }, }; From eec6611d7e876639725245ef4fbdb175ecca7fe0 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Sat, 25 Feb 2023 18:04:17 -0600 Subject: [PATCH 43/44] feat: support of auto using 48h- potion for JP server --- resource/global/YoStarJP/resource/tasks.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/resource/global/YoStarJP/resource/tasks.json b/resource/global/YoStarJP/resource/tasks.json index c689fe5592..33ea08c091 100644 --- a/resource/global/YoStarJP/resource/tasks.json +++ b/resource/global/YoStarJP/resource/tasks.json @@ -1876,6 +1876,23 @@ "残り配置可能数" ] }, + "ExpiringMedicineCheck": { + "text": [ + "分", + "時間", + "1日" + ], + "ocrReplace": [ + [ + ".+時間", + "時間" + ], + [ + ".+分", + "分" + ] + ] + }, "GoLastBattle": { "text": [ "前回の参加作戦" @@ -3631,4 +3648,4 @@ ] ] } -} +} \ No newline at end of file From 8160deb7902eee8536a3f71b092f4da4a90e0dff Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Sat, 25 Feb 2023 18:04:36 -0600 Subject: [PATCH 44/44] feat: support of auto using 48h- potion for EN server & reorder json --- resource/global/YoStarEN/resource/tasks.json | 151 +++++++++++-------- 1 file changed, 84 insertions(+), 67 deletions(-) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index e01a56c59a..0b971154d6 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -1,4 +1,19 @@ { + "ClickChapter1": { + "text": [ + "Hour of An Awakening" + ] + }, + "ClickChapter2": { + "text": [ + "Shatter of A Vision" + ] + }, + "ClickChapter3": { + "text": [ + "Shadow of A Dying Sun" + ] + }, "CharsNameOcrReplace": { "Doc": "该任务的 ocrReplace 被所有涉及干员名的English Name识别任务复用", "ocrReplace": [ @@ -1384,19 +1399,10 @@ ] ] }, - "ClickChapter1": { + "TodaysSupplies": { + "algorithm": "OcrDetect", "text": [ - "Hour of An Awakening" - ] - }, - "ClickChapter2": { - "text": [ - "Shatter of A Vision" - ] - }, - "ClickChapter3": { - "text": [ - "Shadow of A Dying Sun" + "Resource Today" ] }, "StartButton1": { @@ -1409,6 +1415,52 @@ "Takeover" ] }, + "ExpiringMedicineCheck": { + "text": [ + "min", + "hr", + "1 day" + ], + "ocrReplace": [ + [ + ".+hrs?", + "hr" + ], + [ + ".+mins?", + "min" + ] + ] + }, + "GoLastBattle": { + "text": [ + "To the most recent stage" + ] + }, + "StartRecruit": { + "text": [ + "Recruit Now" + ] + }, + "RecruitFlag": { + "text": [ + "Recruit" + ] + }, + "RecruitNow": { + "text": [ + "Expedite" + ] + }, + "Award": { + "template": "Task.png", + "roi": [ + 700, + 530, + 200, + 130 + ] + }, "NoFriends": { "text": [ "No friends" @@ -1565,49 +1617,6 @@ "Trust" ] }, - "InfrastStationedInfo": { - "text": [ - "Operator" - ] - }, - "InfrastEnterOperList": { - "fullMatch": true, - "text": [ - "Morale", - "Resting", - "Working", - "Assign" - ] - }, - "Award": { - "template": "Task.png", - "roi": [ - 700, - 530, - 200, - 130 - ] - }, - "GoLastBattle": { - "text": [ - "To the most recent stage" - ] - }, - "StartRecruit": { - "text": [ - "Recruit Now" - ] - }, - "RecruitFlag": { - "text": [ - "Recruit" - ] - }, - "RecruitNow": { - "text": [ - "Expedite" - ] - }, "ShamareThumbnail1": { "maskRange": [ 1, @@ -1626,14 +1635,19 @@ 255 ] }, - "Roguelike@StageTraderInvestSystem": { - "maskRange": [ - 1, - 255 + "InfrastStationedInfo": { + "text": [ + "Operator" ] }, - "Roguelike@StageTraderInvestConfirm": { - "templThreshold": 0.55 + "InfrastEnterOperList": { + "fullMatch": true, + "text": [ + "Morale", + "Resting", + "Working", + "Assign" + ] }, "BattleStageName": { "Doc": "该任务的 ocrReplace 被所有涉及Rouge-like的English识别任务复用", @@ -2027,6 +2041,15 @@ "StageDrops-DropType-Reward": { "templThreshold": 0.7 }, + "Roguelike@StageTraderInvestConfirm": { + "templThreshold": 0.55 + }, + "Roguelike@StageTraderInvestSystem": { + "maskRange": [ + 1, + 255 + ] + }, "Roguelike@StageTraderInvestSystemFull": { "text": [ "Storage full" @@ -3375,11 +3398,5 @@ "《欢欣鼓舞》" ] ] - }, - "TodaysSupplies": { - "algorithm": "OcrDetect", - "text": [ - "Resource Today" - ] } } \ No newline at end of file