main.floors.MAL49= { "floorId": "MAL49", "title": "魔法学院:49F", "name": "主楼 49F", "width": 13, "height": 13, "map": [ [148,148,148,148,148,148,148,148,148,148,148,148,148], [148,148,148,148, 0, 0, 0, 0, 0,148,148,148,148], [148,148,148, 0, 0,246,246,246, 0, 0,148,148,148], [148,148, 0, 0, 0,246,245,246, 0, 0, 0,148,148], [148, 0, 0, 0, 0,246,246,246, 0, 0, 0, 0,148], [148, 0,148, 0, 0, 0, 0, 0, 0, 0,148, 0,148], [148, 0,148, 0, 0, 0, 0, 0, 0, 0,148, 0,148], [148, 0,148, 0,148,148, 85,148,148, 0,148, 0,148], [148, 0,148, 0,148,228, 0,228,148, 0,148, 0,148], [148, 0, 0, 0,148,148, 85,148,148, 0, 0, 0,148], [148,148,148,148,148,220, 0,220,148,148,148,148,148], [148, 88, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0,148], [148,148,148,148,148,148,148,148,148,148,148,148,148] ], "canFlyTo": true, "canFlyFrom": true, "canUseQuickShop": true, "images": [], "ratio": 5, "defaultGround": "magicground", "bgm": "maps4L.mp3", "firstArrive": [ { "type": "function", "function": "function(){\nfunction filter(block) {\n\treturn (block.event.cls.indexOf(\"enemy\") === 0)\n}\nif (flags.MapStatus?.Hard === \"疯狂\") {\n\tconst b = core.getEnemyValue(\"redKing\", \"hp\", 6, 3)\n\tconst c = core.getEnemyValue(\"redKing\", \"atk\", 6, 3)\n\tconst d = core.getEnemyValue(\"redKing\", \"def\", 6, 3)\n\tconst sp = [...core.getEnemyValue(\"redKing\", \"special\", 6, 3)]\n\tsp.push(31)\n\tcore.setEnemyOnPoint(6, 3, void 0, \"special\", sp, \"=\")\n\tconst MAR = [\"MAR41\", \"MAR42\", \"MAR43\", \"MAR44\", \"MAR45\", \"MAR46\", \"MAR47\", \"MAR48\", \"MAR49\"]\n\tconst enemys = core.maps.searchBlockWithFilter(filter, MAR)\n\tlet k = 0\n\tenemys.forEach(v => {\n\t\tconst c = core.getEnemyValue(void 0, \"special\", v.x, v.y, v.floorId)\n\t\tif (c.includes(32)) {\n\t\t\tk++\n\t\t\tcore.removeBlock(v.x, v.y, v.floorId)\n\t\t}\n\t})\n\tconst hp = Math.floor(b * (10 + k) / 10)\n\tconst atk = Math.floor(c * (10 + k) / 10)\n\tconst def = Math.floor(d * (10 + k) / 10)\n\tcore.setEnemyOnPoint(6, 3, void 0, \"hp\", hp, \"=\")\n\tcore.setEnemyOnPoint(6, 3, void 0, \"atk\", atk, \"=\")\n\tcore.setEnemyOnPoint(6, 3, void 0, \"def\", def, \"=\")\n}\n}" } ], "eachArrive": [], "parallelDo": "", "events": { "6,6": [ { "type": "if", "condition": "(core.getBlockId(6,7)=='specialDoor')", "true": [], "false": [ { "type": "closeDoor", "id": "specialDoor", "loc": [ 6, 7 ] } ] }, "\t[魔王,redKing]你终于来啦 我好想和你干一把 但是我的部下不同意", { "type": "playBgm", "name": "battle.mp3" }, { "type": "hide", "remove": true, "time": 0 } ] }, "changeFloor": { "1,11": { "floorId": ":before", "stair": "upFloor" } }, "afterBattle": { "5,10": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[5, 10],\n\t[7, 10],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "openDoor", "loc": [ 6, 9 ] }, { "type": "hide", "time": 0 } ] } ], "7,10": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[5, 10],\n\t[7, 10],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "openDoor", "loc": [ 6, 9 ] }, { "type": "hide", "time": 0 } ] } ], "7,8": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[5, 8],\n\t[7, 8],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "openDoor", "loc": [ 6, 7 ] }, { "type": "hide", "time": 0 } ] } ], "6,4": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[6, 2],\n\t[6, 4],\n\t[5, 3],\n\t[7, 3],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\nvar loc_arr = [\n\t[5, 2],\n\t[7, 2],\n\t[5, 4],\n\t[7, 4],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) != \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "atk", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "def", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "hp", "operator": "/=", "value": "10" }, { "type": "update" }, "\t[魔王,redKing]完蛋了 我被封印了 功力只剩一成" ] } ], "5,3": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[6, 2],\n\t[6, 4],\n\t[5, 3],\n\t[7, 3],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\nvar loc_arr = [\n\t[5, 2],\n\t[7, 2],\n\t[5, 4],\n\t[7, 4],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) != \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "atk", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "def", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "hp", "operator": "/=", "value": "10" }, { "type": "update" }, "\t[魔王,redKing]完蛋了 我被封印了 功力只剩一成" ] } ], "6,2": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[6, 2],\n\t[6, 4],\n\t[5, 3],\n\t[7, 3],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\nvar loc_arr = [\n\t[5, 2],\n\t[7, 2],\n\t[5, 4],\n\t[7, 4],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) != \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "atk", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "def", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "hp", "operator": "/=", "value": "10" }, { "type": "update" }, "\t[魔王,redKing]完蛋了 我被封印了 功力只剩一成" ] } ], "7,3": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[6, 2],\n\t[6, 4],\n\t[5, 3],\n\t[7, 3],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\nvar loc_arr = [\n\t[5, 2],\n\t[7, 2],\n\t[5, 4],\n\t[7, 4],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) != \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "atk", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "def", "operator": "/=", "value": "10" }, { "type": "setEnemyOnPoint", "loc": [ [ 6, 3 ] ], "name": "hp", "operator": "/=", "value": "10" }, { "type": "update" }, "\t[魔王,redKing]完蛋了 我被封印了 功力只剩一成" ] } ], "6,3": [ "\t[魔王,redKing]很好嘛 你通过了我的面试 你是个合格的玩家", { "type": "setBlock", "number": "23", "loc": [ [ 5, 1 ] ] }, { "type": "if", "condition": "(flags.MapStatus?.Hard===\"普通\")", "true": [ { "type": "setBlock", "number": "62", "loc": [ [ 7, 1 ] ] } ], "false": [ { "type": "setBlock", "number": "421", "loc": [ [ 7, 1 ] ] } ] }, { "type": "setBlock", "number": "404", "loc": [ [ 2, 4 ] ] }, { "type": "setBlock", "number": "404", "loc": [ [ 3, 4 ] ] }, { "type": "setBlock", "number": "404", "loc": [ [ 4, 4 ] ] }, { "type": "setBlock", "number": "414", "loc": [ [ 8, 4 ] ] }, { "type": "setBlock", "number": "414", "loc": [ [ 9, 4 ] ] }, { "type": "setBlock", "number": "414", "loc": [ [ 10, 4 ] ] }, { "type": "setBlock", "number": "32", "loc": [ [ 5, 5 ] ] }, { "type": "setBlock", "number": "32", "loc": [ [ 6, 5 ] ] }, { "type": "setBlock", "number": "32", "loc": [ [ 7, 5 ] ] }, { "type": "setBlock", "number": "0", "loc": [ [ 5, 2 ], [ 6, 2 ], [ 7, 2 ], [ 7, 3 ], [ 7, 4 ], [ 6, 4 ], [ 5, 4 ], [ 5, 3 ] ] }, { "type": "openDoor", "loc": [ 6, 7 ] } ], "5,8": [ { "type": "function", "function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[5, 8],\n\t[7, 8],\n]\nloc_arr.forEach(loc => {\n\tif (core.getBlockCls(loc[0], loc[1]) == \"enemys\") {\n\t\tbool = false;\n\t}\n});\ncore.setFlag(\"open_yes\", bool)\n}" }, { "type": "if", "condition": "flag:open_yes", "true": [ { "type": "openDoor", "loc": [ 6, 7 ] }, { "type": "hide", "time": 0 } ] } ] }, "afterGetItem": {}, "afterOpenDoor": {}, "cannotMove": {}, "bgmap": [ ], "fgmap": [ ], "downFloor": [ 2, 11 ], "autoEvent": { "6,3": { "0": null, "1": null } }, "beforeBattle": { "6,3": [ { "type": "if", "condition": "(!flag:假魔王)", "true": [ { "type": "tip", "text": "需要击败图书馆的假魔王后才能挑战" }, { "type": "tip", "text": "你已卡关,少侠请重头再来" }, { "type": "exit" } ] } ] }, "cannotMoveIn": {}, "bg2map": [], "fg2map": [] }