594 lines
20 KiB
JavaScript
594 lines
20 KiB
JavaScript
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": []
|
|
} |