mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-02-28 01:17:06 +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/maps.js
|
||||
public/project/icons.js
|
||||
public/project/enemys.js
|
||||
public/_server/**/*.js
|
||||
script/**/*.js
|
||||
public/editor.html
|
||||
|
@ -303,6 +303,12 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"_docs": "同化范围",
|
||||
"_data": "同化范围"
|
||||
},
|
||||
"horn": {
|
||||
"_leaf": true,
|
||||
"_type": "textarea",
|
||||
"_docs": "战争号角",
|
||||
"_data": "战争号角"
|
||||
},
|
||||
"specialHalo": {
|
||||
"_leaf": true,
|
||||
"_type": "popCheckboxSet",
|
||||
|
@ -104,7 +104,11 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"MT90",
|
||||
"MT91",
|
||||
"MT92",
|
||||
"MT93"
|
||||
"MT93",
|
||||
"MT94",
|
||||
"MT95",
|
||||
"MT96",
|
||||
"MT97"
|
||||
],
|
||||
"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},
|
||||
"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":[]},
|
||||
"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":[]},
|
||||
"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},
|
||||
@ -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},
|
||||
"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},
|
||||
"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":[]},
|
||||
"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},
|
||||
"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":[]},
|
||||
"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},
|
||||
@ -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},
|
||||
"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":[]},
|
||||
"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":[]},
|
||||
"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":[]},
|
||||
@ -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":[]},
|
||||
"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},
|
||||
"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,
|
||||
14
|
||||
]
|
||||
},
|
||||
"7,7": {
|
||||
"floorId": "MT94",
|
||||
"loc": [
|
||||
7,
|
||||
7
|
||||
]
|
||||
}
|
||||
},
|
||||
"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,
|
||||
"E691": 197,
|
||||
"E692": 198,
|
||||
"E693": 199
|
||||
"E693": 199,
|
||||
"E698": 200,
|
||||
"E699": 201,
|
||||
"E700": 202,
|
||||
"E701": 203,
|
||||
"E702": 204,
|
||||
"E703": 205,
|
||||
"E704": 206,
|
||||
"E705": 207
|
||||
},
|
||||
"enemy48": {
|
||||
"angel": 0,
|
||||
|
@ -626,6 +626,14 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"695": {"cls":"items","id":"I695"},
|
||||
"696": {"cls":"items","id":"I696"},
|
||||
"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"]},
|
||||
"20033": {"cls":"tileset","id":"X20033","cannotOut":["up"],"cannotIn":["up"]},
|
||||
"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', () => {
|
||||
Shadow.init();
|
||||
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,
|
||||
{ decay: 50, r: 300, color: [0.9333, 0.6, 0.333, 0.3] },
|
||||
{ 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 },
|
||||
{ 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', () => {
|
||||
if (!main.replayChecking) {
|
||||
Shadow.update(true);
|
||||
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', () => {
|
||||
Shadow.update(true);
|
||||
@ -1015,7 +979,6 @@ export class Shadow {
|
||||
*/
|
||||
static clearBuffer() {
|
||||
const gl = this.gl;
|
||||
const canvas = this.canvas;
|
||||
|
||||
gl.bindBuffer(gl.ARRAY_BUFFER, this.buffer.depth.position);
|
||||
gl.bufferData(gl.ARRAY_BUFFER, 0, gl.STATIC_DRAW);
|
||||
@ -1037,11 +1000,6 @@ export class Shadow {
|
||||
static update(nocache: boolean = false) {
|
||||
const floor = core.status.floorId;
|
||||
this.map[floor]?.requestRefresh(nocache);
|
||||
if (!this.map[floor]) {
|
||||
this.canvas.style.display = 'none';
|
||||
} else {
|
||||
this.canvas.style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
static now() {
|
||||
@ -1348,8 +1306,10 @@ export class LayerShadowExtends implements ILayerRenderExtends {
|
||||
this.sprite = new Sprite('static', false);
|
||||
this.sprite.setHD(true);
|
||||
this.sprite.size(layer.width, layer.height);
|
||||
this.sprite.setRenderFn((canvas, transform) => {
|
||||
canvas.ctx.drawImage(Shadow.canvas, 0, 0, layer.width, layer.height);
|
||||
this.sprite.setRenderFn((canvas, transform) => {
|
||||
if (Shadow.map[core.status.floorId]) {
|
||||
canvas.ctx.drawImage(Shadow.canvas, 0, 0, layer.width, layer.height);
|
||||
}
|
||||
});
|
||||
|
||||
layer.appendChild(this.sprite);
|
||||
|
@ -365,6 +365,18 @@ export class Damage extends Sprite<EDamageEvent> {
|
||||
};
|
||||
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);
|
||||
unassimilatable.add(8).add(30);
|
||||
unassimilatable.add(8).add(30).add(33);
|
||||
/** 特殊属性对应 */
|
||||
export const specialValue: Map<number, SelectKey<Enemy, number | undefined>[]> =
|
||||
new Map();
|
||||
@ -95,7 +95,8 @@ specialValue
|
||||
.set(26, ['iceCore'])
|
||||
.set(27, ['fireCore'])
|
||||
.set(28, ['paleShield'])
|
||||
.set(31, ['hpHalo']);
|
||||
.set(31, ['hpHalo'])
|
||||
.set(32, ['assimilateRange']);
|
||||
|
||||
interface EnemyCollectionEvent {
|
||||
extract: [];
|
||||
@ -365,6 +366,14 @@ export class DamageEnemy<T extends EnemyIds = EnemyIds> {
|
||||
// 此时已经inject光环,因此直接计算真实属性
|
||||
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.def = Math.floor(info.def * (info.defBuff_ / 100 + 1));
|
||||
info.hp = Math.floor(info.hp * (info.hpBuff_ / 100 + 1));
|
||||
|
@ -262,5 +262,19 @@ export const specials: SpecialDeclaration[] = [
|
||||
`怪物会获得自身周围方形${enemy.assimilateRange}格范围内怪物的特殊属性(光环类属性除外),` +
|
||||
`特殊属性数值间为${enemy.specialMultiply ? '乘算' : '加算'}关系`,
|
||||
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', () => {
|
||||
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%)'
|
||||
] // 童心佬的滤镜(
|
||||
);
|
||||
|
8
src/source/cls.d.ts
vendored
8
src/source/cls.d.ts
vendored
@ -625,6 +625,14 @@ interface IdToCls {
|
||||
I695: 'items';
|
||||
I696: 'items';
|
||||
I697: 'items';
|
||||
E698: 'enemys';
|
||||
E699: 'enemys';
|
||||
E700: 'enemys';
|
||||
E701: 'enemys';
|
||||
E702: 'enemys';
|
||||
E703: 'enemys';
|
||||
E704: 'enemys';
|
||||
E705: 'enemys';
|
||||
X20032: 'tileset';
|
||||
X20033: 'tileset';
|
||||
X20034: 'tileset';
|
||||
|
4
src/source/data.d.ts
vendored
4
src/source/data.d.ts
vendored
@ -103,6 +103,10 @@ type FloorIds =
|
||||
| 'MT91'
|
||||
| 'MT92'
|
||||
| 'MT93'
|
||||
| 'MT94'
|
||||
| 'MT95'
|
||||
| 'MT96'
|
||||
| 'MT97'
|
||||
|
||||
type ImageIds =
|
||||
| 'IQ.png'
|
||||
|
16
src/source/maps.d.ts
vendored
16
src/source/maps.d.ts
vendored
@ -625,6 +625,14 @@ interface IdToNumber {
|
||||
I695: 695;
|
||||
I696: 696;
|
||||
I697: 697;
|
||||
E698: 698;
|
||||
E699: 699;
|
||||
E700: 700;
|
||||
E701: 701;
|
||||
E702: 702;
|
||||
E703: 703;
|
||||
E704: 704;
|
||||
E705: 705;
|
||||
X20032: 20032;
|
||||
X20033: 20033;
|
||||
X20034: 20034;
|
||||
@ -1335,6 +1343,14 @@ interface NumberToId {
|
||||
695: 'I695';
|
||||
696: 'I696';
|
||||
697: 'I697';
|
||||
698: 'E698';
|
||||
699: 'E699';
|
||||
700: 'E700';
|
||||
701: 'E701';
|
||||
702: 'E702';
|
||||
703: 'E703';
|
||||
704: 'E704';
|
||||
705: 'E705';
|
||||
20032: 'X20032';
|
||||
20033: 'X20033';
|
||||
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[];
|
||||
translation?: [number, number];
|
||||
/** 战争号角 */
|
||||
horn?: [number, number, number];
|
||||
|
||||
/** 大怪物绑定贴图 */
|
||||
bigImage?: ImageIds;
|
||||
|
Loading…
Reference in New Issue
Block a user