51_AstralParty/project/floors/MAL33.js
2025-09-11 22:30:07 +08:00

263 lines
7.8 KiB
JavaScript

main.floors.MAL33=
{
"floorId": "MAL33",
"title": "魔法学院:33F",
"name": "主楼 33F",
"width": 13,
"height": 13,
"map": [
[148,148,148,148,148,148,148,148,148,148,148,148,148],
[148, 87, 0, 81,214, 0,216, 81, 0, 0, 0, 88,148],
[148, 0, 0,148, 0, 31, 0,148, 81,148,148,148,148],
[148, 82,148,148,121, 0, 21,148, 0, 0, 0, 32,148],
[148, 0, 31,148,148, 81,148,148,148,148, 0,148,148],
[148,216, 0,148, 0, 0,214, 0,148,212, 0,212,148],
[148, 0, 0,148,224,148,148, 81,148, 0, 0, 0,148],
[148, 0,216, 81, 0, 0,212, 0,148,225, 0,225,148],
[148, 81,148,148,148,148,148,148,148,148, 0,148,148],
[148, 0, 0,214,148, 0,225, 0,148, 0, 0, 0,148],
[148,224,148, 0,148, 21,148,216,148, 0, 63, 0,148],
[148, 21,225, 0, 82, 0, 81, 0,148, 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": 4,
"defaultGround": "magicground",
"bgm": "maps4L.mp3",
"firstArrive": null,
"eachArrive": [],
"parallelDo": "",
"events": {
"10,5": [
{
"type": "closeDoor",
"id": "specialDoor",
"loc": [
10,
4
],
"async": true
},
{
"type": "closeDoor",
"id": "specialDoor",
"loc": [
10,
8
]
},
{
"type": "waitAsync"
},
{
"type": "hide",
"remove": true
}
],
"4,3": [
"\t[老登,man]欲速则不达。",
{
"type": "hide",
"remove": true,
"time": 200
}
]
},
"changeFloor": {
"11,1": {
"floorId": ":before",
"stair": "upFloor"
},
"1,1": {
"floorId": ":next",
"stair": "downFloor"
}
},
"afterBattle": {
"9,5": [
{
"type": "function",
"function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[9, 5],\n\t[11, 5],\n\t[9, 7],\n\t[11, 7],\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": [
10,
4
],
"async": true
},
{
"type": "openDoor",
"loc": [
10,
8
]
},
{
"type": "waitAsync"
},
{
"type": "hide",
"loc": [
[
10,
5
]
],
"remove": true
}
]
}
],
"9,7": [
{
"type": "function",
"function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[9, 5],\n\t[11, 5],\n\t[9, 7],\n\t[11, 7],\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": [
10,
4
],
"async": true
},
{
"type": "openDoor",
"loc": [
10,
8
]
},
{
"type": "waitAsync"
},
{
"type": "hide",
"loc": [
[
10,
5
]
],
"remove": true
}
]
}
],
"11,7": [
{
"type": "function",
"function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[9, 5],\n\t[11, 5],\n\t[9, 7],\n\t[11, 7],\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": [
10,
4
],
"async": true
},
{
"type": "openDoor",
"loc": [
10,
8
]
},
{
"type": "waitAsync"
},
{
"type": "hide",
"loc": [
[
10,
5
]
],
"remove": true
}
]
}
],
"11,5": [
{
"type": "function",
"function": "function(){\nvar bool = true;\nvar loc_arr = [\n\t[9, 5],\n\t[11, 5],\n\t[9, 7],\n\t[11, 7],\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": [
10,
4
],
"async": true
},
{
"type": "openDoor",
"loc": [
10,
8
]
},
{
"type": "waitAsync"
},
{
"type": "hide",
"loc": [
[
10,
5
]
],
"remove": true
}
]
}
]
},
"afterGetItem": {},
"afterOpenDoor": {},
"cannotMove": {},
"bgmap": [
],
"fgmap": [
],
"upFloor": [
2,
1
],
"downFloor": [
10,
1
],
"autoEvent": {},
"beforeBattle": {},
"cannotMoveIn": {},
"bg2map": [],
"fg2map": []
}