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

401 lines
11 KiB
JavaScript

main.floors.MAL20=
{
"floorId": "MAL20",
"title": "魔法学院:20F",
"name": "主楼 20F",
"width": 13,
"height": 13,
"map": [
[148,148,148,148,148,148,148,148,148,148,148,148,148],
[148, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,148],
[148,148,148,148,148, 0, 0, 0,148,148,148,148,148],
[148,148,148,148,148,148, 85,148,148,148,148,148,148],
[148,411,401,148, 0, 0, 0, 0, 0,148, 31, 32,148],
[148, 21, 0,148, 0,206,206,206, 0,148, 0, 21,148],
[148,148, 82,148, 0,206,208,206, 0,148, 82,148,148],
[148,205, 0,148, 0,206,206,206, 0,148, 0,205,148],
[148, 0,205,148, 0, 0, 0, 0, 0,148,205, 0,148],
[148, 81,148,148,148,148, 83,148,148,148,148, 81,148],
[148, 0,215, 0,148, 0, 0, 0,148, 0,215, 0,148],
[148, 31, 0, 0,218, 0, 88, 0,218, 0, 0, 31,148],
[148,148,148,148,148,148,148,148,148,148,148,148,148]
],
"canFlyTo": true,
"canFlyFrom": true,
"canUseQuickShop": true,
"images": [],
"ratio": 2,
"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(\"vampire\", \"hp\", 6, 6)\n\tconst c = core.getEnemyValue(\"vampire\", \"atk\", 6, 6)\n\tconst d = core.getEnemyValue(\"vampire\", \"def\", 6, 6)\n\tconst sp = [...core.getEnemyValue(\"vampire\", \"special\", 6, 6)]\n\tsp.push(31)\n\tcore.setEnemyOnPoint(6, 6, void 0, \"special\", sp, \"=\")\n\tconst MAR = [\"MAR11\", \"MAR12\", \"MAR13\", \"MAR14\", \"MAR15\", \"MAR16\", \"MAR17\", \"MAR18\", \"MAR19\", \"MAR20\"]\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, 6, void 0, \"hp\", hp, \"=\")\n\tcore.setEnemyOnPoint(6, 6, void 0, \"atk\", atk, \"=\")\n\tcore.setEnemyOnPoint(6, 6, void 0, \"def\", def, \"=\")\n}\n}"
}
],
"eachArrive": [],
"parallelDo": "",
"events": {
"6,8": [
{
"type": "openDoor",
"loc": [
6,
9
]
},
{
"type": "closeDoor",
"id": "specialDoor",
"loc": [
6,
9
]
},
{
"type": "move",
"loc": [
5,
5
],
"time": 1000,
"async": true,
"steps": [
"rightdown:1"
]
},
{
"type": "move",
"loc": [
6,
5
],
"time": 1000,
"async": true,
"steps": [
"down:1"
]
},
{
"type": "move",
"loc": [
7,
5
],
"time": 1000,
"async": true,
"steps": [
"leftdown:1"
]
},
{
"type": "move",
"loc": [
5,
6
],
"time": 1000,
"async": true,
"steps": [
"right:1"
]
},
{
"type": "move",
"loc": [
7,
6
],
"time": 1000,
"async": true,
"steps": [
"left:1"
]
},
{
"type": "move",
"loc": [
5,
7
],
"time": 1000,
"async": true,
"steps": [
"rightup:1"
]
},
{
"type": "move",
"loc": [
6,
7
],
"time": 1000,
"async": true,
"steps": [
"up:1"
]
},
{
"type": "move",
"loc": [
7,
7
],
"time": 1000,
"steps": [
"leftup:1"
]
},
{
"type": "waitAsync"
},
{
"type": "setBlockOpacity",
"loc": [
[
6,
6
]
],
"opacity": 1,
"time": 1000
},
{
"type": "sleep",
"time": 200
},
{
"type": "waitAsync"
},
"\t[吸血鬼,vampire]很好 你打败了骷髅族 但别想象藐视骷髅人那样藐视我 我对于你就像是神一样 是不可战胜的 来吧",
{
"type": "playBgm",
"name": "battle.mp3"
},
{
"type": "hide",
"remove": true
}
],
"6,6": {
"trigger": null,
"enable": true,
"noPass": null,
"displayDamage": true,
"opacity": 0.2,
"filter": {
"blur": 0,
"hue": 0,
"grayscale": 0,
"invert": false,
"shadow": 0
},
"data": []
}
},
"changeFloor": {
"6,11": {
"floorId": ":before",
"stair": "upFloor"
},
"6,1": {
"floorId": ":next",
"stair": "downFloor"
}
},
"afterBattle": {
"6,6": [
"\t[吸血鬼,vampire]上帝啊 我做梦也没想到我会被别人打败 毫无疑问你是比我强 但你仅仅取得了一个暂时的胜利",
{
"type": "hide",
"loc": [
[
6,
8
]
],
"remove": true
},
{
"type": "hide",
"loc": [
[
5,
5
],
[
6,
5
],
[
7,
5
],
[
7,
6
],
[
7,
7
],
[
6,
7
],
[
5,
7
],
[
5,
6
]
],
"remove": true
},
{
"type": "show",
"loc": [
[
6,
8
]
]
},
{
"type": "setBlock",
"number": "21",
"loc": [
[
5,
4
],
[
6,
4
],
[
7,
4
]
]
},
{
"type": "setBlock",
"number": "401",
"loc": [
[
4,
5
],
[
4,
6
],
[
4,
7
]
]
},
{
"type": "setBlock",
"number": "411",
"loc": [
[
8,
5
],
[
8,
6
],
[
8,
7
]
]
},
{
"type": "setBlock",
"number": "32",
"loc": [
[
7,
8
],
[
5,
8
],
[
6,
8
]
]
},
{
"type": "openDoor",
"loc": [
6,
3
],
"async": true
},
{
"type": "openDoor",
"loc": [
6,
9
]
},
{
"type": "waitAsync"
}
]
},
"afterGetItem": {},
"afterOpenDoor": {},
"cannotMove": {},
"fgmap": [
],
"bgmap": [
],
"downFloor": [
6,
10
],
"upFloor": [
6,
2
],
"autoEvent": {},
"beforeBattle": {
"6,6": [
{
"type": "if",
"condition": "(!flag:吸血鬼)",
"true": [
{
"type": "tip",
"text": "需要击败图书馆的吸血鬼后才能挑战"
},
{
"type": "tip",
"text": "你已卡关,少侠请重头再来"
},
{
"type": "exit"
}
]
}
]
},
"cannotMoveIn": {},
"bg2map": [],
"fg2map": []
}