mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-02-28 17:37:07 +08:00
feat: 新建最后一区
This commit is contained in:
parent
42f611b357
commit
ac3b0c0fc2
@ -6,6 +6,7 @@ public/project/items.js
|
|||||||
public/project/floors/*.js
|
public/project/floors/*.js
|
||||||
public/project/maps.js
|
public/project/maps.js
|
||||||
public/project/icons.js
|
public/project/icons.js
|
||||||
|
public/project/enemys.js
|
||||||
public/_server/**/*.js
|
public/_server/**/*.js
|
||||||
script/**/*.js
|
script/**/*.js
|
||||||
public/editor.html
|
public/editor.html
|
||||||
|
@ -303,6 +303,12 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
|||||||
"_docs": "同化范围",
|
"_docs": "同化范围",
|
||||||
"_data": "同化范围"
|
"_data": "同化范围"
|
||||||
},
|
},
|
||||||
|
"horn": {
|
||||||
|
"_leaf": true,
|
||||||
|
"_type": "textarea",
|
||||||
|
"_docs": "战争号角",
|
||||||
|
"_data": "战争号角"
|
||||||
|
},
|
||||||
"specialHalo": {
|
"specialHalo": {
|
||||||
"_leaf": true,
|
"_leaf": true,
|
||||||
"_type": "popCheckboxSet",
|
"_type": "popCheckboxSet",
|
||||||
|
@ -104,7 +104,11 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
|||||||
"MT90",
|
"MT90",
|
||||||
"MT91",
|
"MT91",
|
||||||
"MT92",
|
"MT92",
|
||||||
"MT93"
|
"MT93",
|
||||||
|
"MT94",
|
||||||
|
"MT95",
|
||||||
|
"MT96",
|
||||||
|
"MT97"
|
||||||
],
|
],
|
||||||
"floorPartitions": [
|
"floorPartitions": [
|
||||||
[
|
[
|
||||||
|
@ -155,7 +155,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
|||||||
"E603": {"name":"极昼蝠","hp":8000,"atk":1750,"def":1000,"money":1,"exp":65,"point":0,"special":[23],"day":100},
|
"E603": {"name":"极昼蝠","hp":8000,"atk":1750,"def":1000,"money":1,"exp":65,"point":0,"special":[23],"day":100},
|
||||||
"E605": {"name":"乾坤之卫","hp":30000,"atk":7500,"def":2000,"money":4,"exp":300,"point":0,"special":[30],"translation":[2,2]},
|
"E605": {"name":"乾坤之卫","hp":30000,"atk":7500,"def":2000,"money":4,"exp":300,"point":0,"special":[30],"translation":[2,2]},
|
||||||
"E606": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E606": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E607": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E607": {"name":"呐喊之魂","hp":40000,"atk":20000,"def":4000,"money":8,"exp":800,"point":0,"special":[29,30],"specialHalo":[27],"haloRange":3,"iceCore":null,"fireCore":10,"translation":[1,0]},
|
||||||
"E608": {"name":"寒冰护卫","hp":20000,"atk":2750,"def":2000,"money":3,"exp":225,"point":0,"special":[]},
|
"E608": {"name":"寒冰护卫","hp":20000,"atk":2750,"def":2000,"money":3,"exp":225,"point":0,"special":[]},
|
||||||
"E609": {"name":"具形雪人","hp":7500,"atk":2250,"def":1250,"money":2,"exp":90,"point":0,"special":[25],"melt":15},
|
"E609": {"name":"具形雪人","hp":7500,"atk":2250,"def":1250,"money":2,"exp":90,"point":0,"special":[25],"melt":15},
|
||||||
"E610": {"name":"高冷雪人","hp":10000,"atk":2500,"def":1500,"money":2,"exp":150,"point":0,"special":[25],"melt":25},
|
"E610": {"name":"高冷雪人","hp":10000,"atk":2500,"def":1500,"money":2,"exp":150,"point":0,"special":[25],"melt":25},
|
||||||
@ -179,12 +179,12 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
|||||||
"E666": {"name":"苍蓝之灵-视","hp":150000,"atk":8000,"def":2000,"money":10,"exp":2500,"point":0,"special":[29],"n":5,"specialHalo":[4],"haloRange":5},
|
"E666": {"name":"苍蓝之灵-视","hp":150000,"atk":8000,"def":2000,"money":10,"exp":2500,"point":0,"special":[29],"n":5,"specialHalo":[4],"haloRange":5},
|
||||||
"E667": {"name":"苍之蓝","hp":50000,"atk":6000,"def":2000,"money":5,"exp":500,"point":0,"special":[29],"together":25,"specialHalo":[8],"haloRange":3},
|
"E667": {"name":"苍之蓝","hp":50000,"atk":6000,"def":2000,"money":5,"exp":500,"point":0,"special":[29],"together":25,"specialHalo":[8],"haloRange":3},
|
||||||
"E668": {"name":"冰封护卫","hp":30000,"atk":7000,"def":2500,"money":5,"exp":550,"point":0,"special":[29],"specialHalo":[26],"iceCore":15,"haloRange":3},
|
"E668": {"name":"冰封护卫","hp":30000,"atk":7000,"def":2500,"money":5,"exp":550,"point":0,"special":[29],"specialHalo":[26],"iceCore":15,"haloRange":3},
|
||||||
"E669": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E669": {"name":"苍蓝禁卫","hp":75000,"atk":16000,"def":8000,"money":10,"exp":1000,"point":0,"special":[33],"horn":[5,1,1]},
|
||||||
"E670": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E670": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E671": {"name":"圣殿骑士","hp":60000,"atk":12000,"def":4000,"money":7,"exp":750,"point":0,"special":[1],"crit":300},
|
"E671": {"name":"圣殿骑士","hp":60000,"atk":12000,"def":4000,"money":7,"exp":750,"point":0,"special":[1],"crit":300},
|
||||||
"E672": {"name":"坚固骑士","hp":7500,"atk":10000,"def":0,"money":8,"exp":800,"point":0,"special":[29],"specialHalo":[3],"haloRange":2},
|
"E672": {"name":"坚固骑士","hp":7500,"atk":10000,"def":0,"money":8,"exp":800,"point":0,"special":[29],"specialHalo":[3],"haloRange":2},
|
||||||
"E673": {"name":"苍蓝之灵-域","hp":250000,"atk":12000,"def":3000,"money":10,"exp":2500,"point":0,"special":[]},
|
"E673": {"name":"苍蓝之灵-域","hp":250000,"atk":12000,"def":3000,"money":10,"exp":2500,"point":0,"special":[]},
|
||||||
"E674": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E674": {"name":"进攻亡灵","hp":80000,"atk":14000,"def":5000,"money":7,"exp":700,"point":0,"special":[29,30],"specialHalo":[12],"haloRange":3,"translation":[0,-1]},
|
||||||
"E675": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E675": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E676": {"name":"冲锋骷髅","hp":50000,"atk":8000,"def":4000,"money":6,"exp":500,"point":0,"special":[12]},
|
"E676": {"name":"冲锋骷髅","hp":50000,"atk":8000,"def":4000,"money":6,"exp":500,"point":0,"special":[12]},
|
||||||
"E677": {"name":"骷髅巫师","hp":150000,"atk":2000,"def":5000,"money":5,"exp":600,"point":0,"special":[13],"crit":null},
|
"E677": {"name":"骷髅巫师","hp":150000,"atk":2000,"def":5000,"money":5,"exp":600,"point":0,"special":[13],"crit":null},
|
||||||
@ -195,7 +195,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
|||||||
"E682": {"name":"苍蓝聚形","hp":25000,"atk":7000,"def":4000,"money":5,"exp":400,"point":0,"special":[8],"together":20},
|
"E682": {"name":"苍蓝聚形","hp":25000,"atk":7000,"def":4000,"money":5,"exp":400,"point":0,"special":[8],"together":20},
|
||||||
"E683": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E683": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E684": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E684": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E685": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E685": {"name":"守卫队长","hp":100000,"atk":14000,"def":4000,"money":10,"exp":1000,"point":0,"special":[28,29],"specialHalo":[32],"paleShield":20,"haloRange":3,"assimilateRange":2},
|
||||||
"E686": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E686": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E687": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E687": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E688": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E688": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
@ -203,5 +203,13 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
|||||||
"E690": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E690": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E691": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
"E691": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
"E692": {"name":"苍蓝之灵-圣","hp":150000,"atk":15000,"def":5000,"money":20,"exp":5000,"point":0,"special":[4,28],"paleShield":25},
|
"E692": {"name":"苍蓝之灵-圣","hp":150000,"atk":15000,"def":5000,"money":20,"exp":5000,"point":0,"special":[4,28],"paleShield":25},
|
||||||
"E693": {"name":"苍蓝之灵-战","hp":250000,"atk":25000,"def":6000,"money":20,"exp":5000,"point":0,"special":[32],"assimilateRange":6}
|
"E693": {"name":"苍蓝之灵-战","hp":250000,"atk":25000,"def":6000,"money":20,"exp":5000,"point":0,"special":[32],"assimilateRange":6},
|
||||||
|
"E698": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
|
"E699": {"name":"苍蓝朝拜者","hp":80000,"atk":12000,"def":6000,"money":9,"exp":900,"point":0,"special":[1,30],"crit":400,"translation":[0,1]},
|
||||||
|
"E700": {"name":"亡语之魂","hp":75000,"atk":10000,"def":9000,"money":8,"exp":800,"point":0,"special":[29,30],"haloRange":3,"specialHalo":[25],"melt":15,"translation":[-1,0]},
|
||||||
|
"E701": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
|
"E702": {"name":"防守之魂","hp":10000,"atk":12000,"def":4000,"money":0,"exp":0,"point":0,"special":[3,29,30],"specialHalo":[26],"iceCore":10,"translation":[1,0],"haloRange":3},
|
||||||
|
"E703": {"name":"新敌人","hp":40000,"atk":16000,"def":6000,"money":8,"exp":800,"point":0,"special":[29,30],"specialHalo":[27],"haloRange":3,"iceCore":null,"fireCore":10,"translation":[1,0],"displayIdInBook":null},
|
||||||
|
"E704": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||||
|
"E705": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}
|
||||||
}
|
}
|
@ -35,6 +35,13 @@ main.floors.MT72=
|
|||||||
7,
|
7,
|
||||||
14
|
14
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"7,7": {
|
||||||
|
"floorId": "MT94",
|
||||||
|
"loc": [
|
||||||
|
7,
|
||||||
|
7
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"beforeBattle": {},
|
"beforeBattle": {},
|
||||||
|
73
public/project/floors/MT94.js
Normal file
73
public/project/floors/MT94.js
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
main.floors.MT94=
|
||||||
|
{
|
||||||
|
"floorId": "MT94",
|
||||||
|
"title": "苍蓝之殿-中",
|
||||||
|
"name": "94",
|
||||||
|
"width": 15,
|
||||||
|
"height": 15,
|
||||||
|
"canFlyTo": true,
|
||||||
|
"canFlyFrom": true,
|
||||||
|
"canUseQuickShop": true,
|
||||||
|
"cannotViewMap": false,
|
||||||
|
"images": [],
|
||||||
|
"ratio": 8,
|
||||||
|
"defaultGround": "T650",
|
||||||
|
"bgm": "palaceNorth.mp3",
|
||||||
|
"firstArrive": [],
|
||||||
|
"eachArrive": [],
|
||||||
|
"parallelDo": "",
|
||||||
|
"events": {
|
||||||
|
"7,2": [
|
||||||
|
"这里是漏怪检测,会检测\r[gold]第二章所有\r[]区域是否有遗漏怪物",
|
||||||
|
{
|
||||||
|
"type": "function",
|
||||||
|
"function": "function(){\nconst enemy = Mota.Plugin.require('remainEnemy_g').getRemainEnemyString(core.floorIds.slice(40, 107));\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"changeFloor": {
|
||||||
|
"7,7": {
|
||||||
|
"floorId": "MT72",
|
||||||
|
"loc": [
|
||||||
|
7,
|
||||||
|
7
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"beforeBattle": {},
|
||||||
|
"afterBattle": {},
|
||||||
|
"afterGetItem": {},
|
||||||
|
"afterOpenDoor": {},
|
||||||
|
"autoEvent": {},
|
||||||
|
"cannotMove": {},
|
||||||
|
"cannotMoveIn": {},
|
||||||
|
"map": [
|
||||||
|
[648,648,648,648,648,648,648, 91,648,648,648,648,648,648,648],
|
||||||
|
[648, 0, 0, 0, 0,648,466,468,467,648, 0, 0, 0, 0,648],
|
||||||
|
[648, 0,648,648,648,648,648,516,648,648, 0, 0,648, 0,648],
|
||||||
|
[648, 0, 0, 0, 0, 0, 0, 0, 0,648,648,648,648, 0,648],
|
||||||
|
[648,648,648,648, 0,648, 0, 0, 0, 0, 0, 0,648, 0,648],
|
||||||
|
[648, 0, 0,648, 0,648,648, 0,648,648, 0, 0,648, 0,648],
|
||||||
|
[648, 0,648,648, 0,648,487, 0,487,648, 0,648,648, 0,648],
|
||||||
|
[ 92, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 94],
|
||||||
|
[648, 0,648,648,648,648,487, 0,487,648, 0,648,648,648,648],
|
||||||
|
[648, 0, 0, 0, 0,648,648, 0,648,648, 0, 0, 0, 0,648],
|
||||||
|
[648,648,648,648, 0,648, 0, 0, 0,648,648,648,648, 0,648],
|
||||||
|
[648, 0, 0, 0, 0,648, 0,648, 0, 0, 0, 0,648, 0,648],
|
||||||
|
[648, 0,648,648,648,648, 0,648,648,648, 0,648,648, 0,648],
|
||||||
|
[648, 0, 0, 0, 0, 0, 0, 0, 0,648, 0, 0, 0, 0,648],
|
||||||
|
[648,648,648,648,648,648,648, 93,648,648,648,648,648,648,648]
|
||||||
|
],
|
||||||
|
"bgmap": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"fgmap": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"bg2map": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"fg2map": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
45
public/project/floors/MT95.js
Normal file
45
public/project/floors/MT95.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
main.floors.MT95=
|
||||||
|
{
|
||||||
|
"floorId": "MT95",
|
||||||
|
"title": "苍蓝之殿-中",
|
||||||
|
"name": "95",
|
||||||
|
"width": 15,
|
||||||
|
"height": 15,
|
||||||
|
"canFlyTo": true,
|
||||||
|
"canFlyFrom": true,
|
||||||
|
"canUseQuickShop": true,
|
||||||
|
"cannotViewMap": false,
|
||||||
|
"images": [],
|
||||||
|
"ratio": 8,
|
||||||
|
"defaultGround": "T650",
|
||||||
|
"bgm": "palaceNorth.mp3",
|
||||||
|
"firstArrive": [],
|
||||||
|
"eachArrive": [],
|
||||||
|
"parallelDo": "",
|
||||||
|
"events": {},
|
||||||
|
"changeFloor": {},
|
||||||
|
"beforeBattle": {},
|
||||||
|
"afterBattle": {},
|
||||||
|
"afterGetItem": {},
|
||||||
|
"afterOpenDoor": {},
|
||||||
|
"autoEvent": {},
|
||||||
|
"cannotMove": {},
|
||||||
|
"cannotMoveIn": {},
|
||||||
|
"map": [
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
|
],
|
||||||
|
}
|
45
public/project/floors/MT96.js
Normal file
45
public/project/floors/MT96.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
main.floors.MT96=
|
||||||
|
{
|
||||||
|
"floorId": "MT96",
|
||||||
|
"title": "苍蓝之殿-中",
|
||||||
|
"name": "96",
|
||||||
|
"width": 15,
|
||||||
|
"height": 15,
|
||||||
|
"canFlyTo": true,
|
||||||
|
"canFlyFrom": true,
|
||||||
|
"canUseQuickShop": true,
|
||||||
|
"cannotViewMap": false,
|
||||||
|
"images": [],
|
||||||
|
"ratio": 8,
|
||||||
|
"defaultGround": "T650",
|
||||||
|
"bgm": "palaceNorth.mp3",
|
||||||
|
"firstArrive": [],
|
||||||
|
"eachArrive": [],
|
||||||
|
"parallelDo": "",
|
||||||
|
"events": {},
|
||||||
|
"changeFloor": {},
|
||||||
|
"beforeBattle": {},
|
||||||
|
"afterBattle": {},
|
||||||
|
"afterGetItem": {},
|
||||||
|
"afterOpenDoor": {},
|
||||||
|
"autoEvent": {},
|
||||||
|
"cannotMove": {},
|
||||||
|
"cannotMoveIn": {},
|
||||||
|
"map": [
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
|
],
|
||||||
|
}
|
45
public/project/floors/MT97.js
Normal file
45
public/project/floors/MT97.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
main.floors.MT97=
|
||||||
|
{
|
||||||
|
"floorId": "MT97",
|
||||||
|
"title": "苍蓝之殿-中",
|
||||||
|
"name": "97",
|
||||||
|
"width": 15,
|
||||||
|
"height": 15,
|
||||||
|
"canFlyTo": true,
|
||||||
|
"canFlyFrom": true,
|
||||||
|
"canUseQuickShop": true,
|
||||||
|
"cannotViewMap": false,
|
||||||
|
"images": [],
|
||||||
|
"ratio": 8,
|
||||||
|
"defaultGround": "T650",
|
||||||
|
"bgm": "palaceNorth.mp3",
|
||||||
|
"firstArrive": [],
|
||||||
|
"eachArrive": [],
|
||||||
|
"parallelDo": "",
|
||||||
|
"events": {},
|
||||||
|
"changeFloor": {},
|
||||||
|
"beforeBattle": {},
|
||||||
|
"afterBattle": {},
|
||||||
|
"afterGetItem": {},
|
||||||
|
"afterOpenDoor": {},
|
||||||
|
"autoEvent": {},
|
||||||
|
"cannotMove": {},
|
||||||
|
"cannotMoveIn": {},
|
||||||
|
"map": [
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
|
],
|
||||||
|
}
|
@ -451,7 +451,15 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
|||||||
"E690": 196,
|
"E690": 196,
|
||||||
"E691": 197,
|
"E691": 197,
|
||||||
"E692": 198,
|
"E692": 198,
|
||||||
"E693": 199
|
"E693": 199,
|
||||||
|
"E698": 200,
|
||||||
|
"E699": 201,
|
||||||
|
"E700": 202,
|
||||||
|
"E701": 203,
|
||||||
|
"E702": 204,
|
||||||
|
"E703": 205,
|
||||||
|
"E704": 206,
|
||||||
|
"E705": 207
|
||||||
},
|
},
|
||||||
"enemy48": {
|
"enemy48": {
|
||||||
"angel": 0,
|
"angel": 0,
|
||||||
|
@ -626,6 +626,14 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
|||||||
"695": {"cls":"items","id":"I695"},
|
"695": {"cls":"items","id":"I695"},
|
||||||
"696": {"cls":"items","id":"I696"},
|
"696": {"cls":"items","id":"I696"},
|
||||||
"697": {"cls":"items","id":"I697"},
|
"697": {"cls":"items","id":"I697"},
|
||||||
|
"698": {"cls":"enemys","id":"E698"},
|
||||||
|
"699": {"cls":"enemys","id":"E699"},
|
||||||
|
"700": {"cls":"enemys","id":"E700"},
|
||||||
|
"701": {"cls":"enemys","id":"E701"},
|
||||||
|
"702": {"cls":"enemys","id":"E702"},
|
||||||
|
"703": {"cls":"enemys","id":"E703"},
|
||||||
|
"704": {"cls":"enemys","id":"E704"},
|
||||||
|
"705": {"cls":"enemys","id":"E705"},
|
||||||
"20032": {"cls":"tileset","id":"X20032","cannotOut":["up","left"],"cannotIn":["up","left"]},
|
"20032": {"cls":"tileset","id":"X20032","cannotOut":["up","left"],"cannotIn":["up","left"]},
|
||||||
"20033": {"cls":"tileset","id":"X20033","cannotOut":["up"],"cannotIn":["up"]},
|
"20033": {"cls":"tileset","id":"X20033","cannotOut":["up"],"cannotIn":["up"]},
|
||||||
"20034": {"cls":"tileset","id":"X20034","cannotOut":["up","right"],"cannotIn":["up","right"]},
|
"20034": {"cls":"tileset","id":"X20034","cannotOut":["up","right"],"cannotIn":["up","right"]},
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 223 KiB After Width: | Height: | Size: 234 KiB |
@ -77,7 +77,7 @@ const hook = Mota.require('var', 'hook');
|
|||||||
hook.once('reset', () => {
|
hook.once('reset', () => {
|
||||||
Shadow.init();
|
Shadow.init();
|
||||||
addLightFromBlock(
|
addLightFromBlock(
|
||||||
core.floorIds.slice(61, 70).concat(core.floorIds.slice(72, 81)).concat(core.floorIds.slice(85, 103)),
|
core.floorIds.slice(61, 70).concat(core.floorIds.slice(72, 81)).concat(core.floorIds.slice(85, 107)),
|
||||||
103,
|
103,
|
||||||
{ decay: 50, r: 300, color: [0.9333, 0.6, 0.333, 0.3] },
|
{ decay: 50, r: 300, color: [0.9333, 0.6, 0.333, 0.3] },
|
||||||
{ background: [0, 0, 0, 0.2] },
|
{ background: [0, 0, 0, 0.2] },
|
||||||
@ -89,48 +89,12 @@ hook.once('reset', () => {
|
|||||||
{ decay: 20, r: 150, color: [0.9333, 0.6, 0.333, 0.3], noShelter: true },
|
{ decay: 20, r: 150, color: [0.9333, 0.6, 0.333, 0.3], noShelter: true },
|
||||||
{ background: [0, 0, 0, 0.3] }
|
{ background: [0, 0, 0, 0.3] }
|
||||||
);
|
);
|
||||||
// Shadow.mount();
|
|
||||||
|
|
||||||
// 勇士身上的光源
|
|
||||||
// Mota.rewrite(core.control, 'drawHero', 'add', () => {
|
|
||||||
// if (core.getFlag('__heroOpacity__') !== 0) {
|
|
||||||
// const shadow = Shadow.now();
|
|
||||||
// if (shadow) {
|
|
||||||
// shadow.followHero.forEach(v => {
|
|
||||||
// shadow.modifyLight(v, {
|
|
||||||
// x: core.status.heroCenter.px,
|
|
||||||
// y: core.status.heroCenter.py + 8
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
// if (shadow.followHero.size > 0) shadow.requestRefresh();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// 更新地形数据
|
|
||||||
// Mota.rewrite(core.maps, 'removeBlock', 'add', success => {
|
|
||||||
// if (success && !main.replayChecking) {
|
|
||||||
// Shadow.update(true);
|
|
||||||
// }
|
|
||||||
// return success;
|
|
||||||
// });
|
|
||||||
// Mota.rewrite(core.maps, 'setBlock', 'add', () => {
|
|
||||||
// if (!main.replayChecking) {
|
|
||||||
// Shadow.update(true);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
Mota.rewrite(core.control, 'loadData', 'add', () => {
|
Mota.rewrite(core.control, 'loadData', 'add', () => {
|
||||||
if (!main.replayChecking) {
|
if (!main.replayChecking) {
|
||||||
Shadow.update(true);
|
Shadow.update(true);
|
||||||
LayerShadowExtends.shadowList.forEach(v => v.update());
|
LayerShadowExtends.shadowList.forEach(v => v.update());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// Mota.require('var', 'hook').on('changingFloor', (floorId) => {
|
|
||||||
// if (!main.replayChecking) {
|
|
||||||
// Shadow.clearBuffer();
|
|
||||||
// Shadow.update();
|
|
||||||
// setCanvasFilterByFloorId(floorId);
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
});
|
});
|
||||||
hook.on('reset', () => {
|
hook.on('reset', () => {
|
||||||
Shadow.update(true);
|
Shadow.update(true);
|
||||||
@ -1015,7 +979,6 @@ export class Shadow {
|
|||||||
*/
|
*/
|
||||||
static clearBuffer() {
|
static clearBuffer() {
|
||||||
const gl = this.gl;
|
const gl = this.gl;
|
||||||
const canvas = this.canvas;
|
|
||||||
|
|
||||||
gl.bindBuffer(gl.ARRAY_BUFFER, this.buffer.depth.position);
|
gl.bindBuffer(gl.ARRAY_BUFFER, this.buffer.depth.position);
|
||||||
gl.bufferData(gl.ARRAY_BUFFER, 0, gl.STATIC_DRAW);
|
gl.bufferData(gl.ARRAY_BUFFER, 0, gl.STATIC_DRAW);
|
||||||
@ -1037,11 +1000,6 @@ export class Shadow {
|
|||||||
static update(nocache: boolean = false) {
|
static update(nocache: boolean = false) {
|
||||||
const floor = core.status.floorId;
|
const floor = core.status.floorId;
|
||||||
this.map[floor]?.requestRefresh(nocache);
|
this.map[floor]?.requestRefresh(nocache);
|
||||||
if (!this.map[floor]) {
|
|
||||||
this.canvas.style.display = 'none';
|
|
||||||
} else {
|
|
||||||
this.canvas.style.display = 'block';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static now() {
|
static now() {
|
||||||
@ -1349,7 +1307,9 @@ export class LayerShadowExtends implements ILayerRenderExtends {
|
|||||||
this.sprite.setHD(true);
|
this.sprite.setHD(true);
|
||||||
this.sprite.size(layer.width, layer.height);
|
this.sprite.size(layer.width, layer.height);
|
||||||
this.sprite.setRenderFn((canvas, transform) => {
|
this.sprite.setRenderFn((canvas, transform) => {
|
||||||
|
if (Shadow.map[core.status.floorId]) {
|
||||||
canvas.ctx.drawImage(Shadow.canvas, 0, 0, layer.width, layer.height);
|
canvas.ctx.drawImage(Shadow.canvas, 0, 0, layer.width, layer.height);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
layer.appendChild(this.sprite);
|
layer.appendChild(this.sprite);
|
||||||
|
@ -365,6 +365,18 @@ export class Damage extends Sprite<EDamageEvent> {
|
|||||||
};
|
};
|
||||||
block.add(dam4);
|
block.add(dam4);
|
||||||
}
|
}
|
||||||
|
if (enemy.col && real.special.has(33)) {
|
||||||
|
const dam5: DamageRenderable = {
|
||||||
|
align: 'right',
|
||||||
|
baseline: 'top',
|
||||||
|
text: enemy.col.list.size.toString(),
|
||||||
|
color: '#fff866',
|
||||||
|
x: x * this.cellSize + this.cellSize - 1,
|
||||||
|
y: y * this.cellSize + 2,
|
||||||
|
strokeWidth: 3
|
||||||
|
};
|
||||||
|
block.add(dam5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,7 +74,7 @@ export const haloSpecials: Set<number> = new Set([
|
|||||||
]);
|
]);
|
||||||
/** 不可被同化的属性 */
|
/** 不可被同化的属性 */
|
||||||
export const unassimilatable: Set<number> = new Set(haloSpecials);
|
export const unassimilatable: Set<number> = new Set(haloSpecials);
|
||||||
unassimilatable.add(8).add(30);
|
unassimilatable.add(8).add(30).add(33);
|
||||||
/** 特殊属性对应 */
|
/** 特殊属性对应 */
|
||||||
export const specialValue: Map<number, SelectKey<Enemy, number | undefined>[]> =
|
export const specialValue: Map<number, SelectKey<Enemy, number | undefined>[]> =
|
||||||
new Map();
|
new Map();
|
||||||
@ -95,7 +95,8 @@ specialValue
|
|||||||
.set(26, ['iceCore'])
|
.set(26, ['iceCore'])
|
||||||
.set(27, ['fireCore'])
|
.set(27, ['fireCore'])
|
||||||
.set(28, ['paleShield'])
|
.set(28, ['paleShield'])
|
||||||
.set(31, ['hpHalo']);
|
.set(31, ['hpHalo'])
|
||||||
|
.set(32, ['assimilateRange']);
|
||||||
|
|
||||||
interface EnemyCollectionEvent {
|
interface EnemyCollectionEvent {
|
||||||
extract: [];
|
extract: [];
|
||||||
@ -365,6 +366,14 @@ export class DamageEnemy<T extends EnemyIds = EnemyIds> {
|
|||||||
// 此时已经inject光环,因此直接计算真实属性
|
// 此时已经inject光环,因此直接计算真实属性
|
||||||
const info = this.info;
|
const info = this.info;
|
||||||
|
|
||||||
|
if (info.special.has(33)) {
|
||||||
|
const count = this.col?.list.size ?? 0;
|
||||||
|
const [hp, atk, def] = this.enemy.horn ?? [0, 0, 0];
|
||||||
|
info.hpBuff_ += hp * count;
|
||||||
|
info.atkBuff_ += atk * count;
|
||||||
|
info.defBuff_ += def * count;
|
||||||
|
}
|
||||||
|
|
||||||
info.atk = Math.floor(info.atk * (info.atkBuff_ / 100 + 1));
|
info.atk = Math.floor(info.atk * (info.atkBuff_ / 100 + 1));
|
||||||
info.def = Math.floor(info.def * (info.defBuff_ / 100 + 1));
|
info.def = Math.floor(info.def * (info.defBuff_ / 100 + 1));
|
||||||
info.hp = Math.floor(info.hp * (info.hpBuff_ / 100 + 1));
|
info.hp = Math.floor(info.hp * (info.hpBuff_ / 100 + 1));
|
||||||
|
@ -262,5 +262,19 @@ export const specials: SpecialDeclaration[] = [
|
|||||||
`怪物会获得自身周围方形${enemy.assimilateRange}格范围内怪物的特殊属性(光环类属性除外),` +
|
`怪物会获得自身周围方形${enemy.assimilateRange}格范围内怪物的特殊属性(光环类属性除外),` +
|
||||||
`特殊属性数值间为${enemy.specialMultiply ? '乘算' : '加算'}关系`,
|
`特殊属性数值间为${enemy.specialMultiply ? '乘算' : '加算'}关系`,
|
||||||
color: '#ffd366'
|
color: '#ffd366'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
code: 33,
|
||||||
|
name: '战争号角',
|
||||||
|
desc: enemy => {
|
||||||
|
const [hp, atk, def] = enemy.horn ?? [];
|
||||||
|
let str = '地图上每存在一个怪物(包括自身),自身';
|
||||||
|
if (hp) str += `生命值增加${hp}%,`;
|
||||||
|
if (atk) str += `攻击增加${atk}%,`;
|
||||||
|
if (def) str += `防御增加${def}%,`;
|
||||||
|
str += '线性叠加';
|
||||||
|
return str;
|
||||||
|
},
|
||||||
|
color: '#fff866'
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -13,9 +13,9 @@ function getCanvasFilterByFloorId(floorId: FloorIds = core.status.floorId) {
|
|||||||
|
|
||||||
Mota.require('var', 'loading').once('coreInit', () => {
|
Mota.require('var', 'loading').once('coreInit', () => {
|
||||||
filterMap.push(
|
filterMap.push(
|
||||||
[['MT50', 'MT60', 'MT61'], 'brightness(80%)contrast(120%)'], // 童心佬的滤镜(
|
[['MT50', 'MT60', 'MT61'], 'contrast(120%)'], // 童心佬的滤镜(
|
||||||
[
|
[
|
||||||
core.floorIds.slice(61, 70).concat(core.floorIds.slice(72)),
|
core.floorIds.slice(61, 70).concat(core.floorIds.slice(72, 107)),
|
||||||
'contrast(120%)'
|
'contrast(120%)'
|
||||||
] // 童心佬的滤镜(
|
] // 童心佬的滤镜(
|
||||||
);
|
);
|
||||||
|
8
src/source/cls.d.ts
vendored
8
src/source/cls.d.ts
vendored
@ -625,6 +625,14 @@ interface IdToCls {
|
|||||||
I695: 'items';
|
I695: 'items';
|
||||||
I696: 'items';
|
I696: 'items';
|
||||||
I697: 'items';
|
I697: 'items';
|
||||||
|
E698: 'enemys';
|
||||||
|
E699: 'enemys';
|
||||||
|
E700: 'enemys';
|
||||||
|
E701: 'enemys';
|
||||||
|
E702: 'enemys';
|
||||||
|
E703: 'enemys';
|
||||||
|
E704: 'enemys';
|
||||||
|
E705: 'enemys';
|
||||||
X20032: 'tileset';
|
X20032: 'tileset';
|
||||||
X20033: 'tileset';
|
X20033: 'tileset';
|
||||||
X20034: 'tileset';
|
X20034: 'tileset';
|
||||||
|
4
src/source/data.d.ts
vendored
4
src/source/data.d.ts
vendored
@ -103,6 +103,10 @@ type FloorIds =
|
|||||||
| 'MT91'
|
| 'MT91'
|
||||||
| 'MT92'
|
| 'MT92'
|
||||||
| 'MT93'
|
| 'MT93'
|
||||||
|
| 'MT94'
|
||||||
|
| 'MT95'
|
||||||
|
| 'MT96'
|
||||||
|
| 'MT97'
|
||||||
|
|
||||||
type ImageIds =
|
type ImageIds =
|
||||||
| 'IQ.png'
|
| 'IQ.png'
|
||||||
|
16
src/source/maps.d.ts
vendored
16
src/source/maps.d.ts
vendored
@ -625,6 +625,14 @@ interface IdToNumber {
|
|||||||
I695: 695;
|
I695: 695;
|
||||||
I696: 696;
|
I696: 696;
|
||||||
I697: 697;
|
I697: 697;
|
||||||
|
E698: 698;
|
||||||
|
E699: 699;
|
||||||
|
E700: 700;
|
||||||
|
E701: 701;
|
||||||
|
E702: 702;
|
||||||
|
E703: 703;
|
||||||
|
E704: 704;
|
||||||
|
E705: 705;
|
||||||
X20032: 20032;
|
X20032: 20032;
|
||||||
X20033: 20033;
|
X20033: 20033;
|
||||||
X20034: 20034;
|
X20034: 20034;
|
||||||
@ -1335,6 +1343,14 @@ interface NumberToId {
|
|||||||
695: 'I695';
|
695: 'I695';
|
||||||
696: 'I696';
|
696: 'I696';
|
||||||
697: 'I697';
|
697: 'I697';
|
||||||
|
698: 'E698';
|
||||||
|
699: 'E699';
|
||||||
|
700: 'E700';
|
||||||
|
701: 'E701';
|
||||||
|
702: 'E702';
|
||||||
|
703: 'E703';
|
||||||
|
704: 'E704';
|
||||||
|
705: 'E705';
|
||||||
20032: 'X20032';
|
20032: 'X20032';
|
||||||
20033: 'X20033';
|
20033: 'X20033';
|
||||||
20034: 'X20034';
|
20034: 'X20034';
|
||||||
|
2
src/types/enemy.d.ts
vendored
2
src/types/enemy.d.ts
vendored
@ -91,6 +91,8 @@ type Enemy<I extends EnemyIds = EnemyIds> = {
|
|||||||
|
|
||||||
specialHalo?: number[];
|
specialHalo?: number[];
|
||||||
translation?: [number, number];
|
translation?: [number, number];
|
||||||
|
/** 战争号角 */
|
||||||
|
horn?: [number, number, number];
|
||||||
|
|
||||||
/** 大怪物绑定贴图 */
|
/** 大怪物绑定贴图 */
|
||||||
bigImage?: ImageIds;
|
bigImage?: ImageIds;
|
||||||
|
Loading…
Reference in New Issue
Block a user