Deploying to gh-pages from @ 33c147421e 🚀

This commit is contained in:
unanmed 2023-01-04 17:13:13 +00:00
parent d6be843a80
commit ac208c8a5f
15 changed files with 174 additions and 102 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -18,7 +18,7 @@
<meta name="x5-fullscreen" content="true"> <meta name="x5-fullscreen" content="true">
<meta name="x5-page-mode" content="app"> <meta name="x5-page-mode" content="app">
<link id="mota-css" type='text/css' href='/HumanBreak/styles.css' rel='stylesheet'> <link id="mota-css" type='text/css' href='/HumanBreak/styles.css' rel='stylesheet'>
<script type="module" crossorigin src="/HumanBreak/assets/index.72c5a971.js"></script> <script type="module" crossorigin src="/HumanBreak/assets/index.83ced8af.js"></script>
<link rel="modulepreload" crossorigin href="/HumanBreak/assets/antdv.a0bb80c4.js"> <link rel="modulepreload" crossorigin href="/HumanBreak/assets/antdv.a0bb80c4.js">
<link rel="modulepreload" crossorigin href="/HumanBreak/assets/common.59ee6536.js"> <link rel="modulepreload" crossorigin href="/HumanBreak/assets/common.59ee6536.js">
<link rel="stylesheet" href="/HumanBreak/assets/index.9a87d8ee.css"> <link rel="stylesheet" href="/HumanBreak/assets/index.9a87d8ee.css">
@ -215,7 +215,7 @@
<script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script> <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
<script nomodule crossorigin id="vite-legacy-polyfill" src="/HumanBreak/assets/polyfills-legacy.852057b5.js"></script> <script nomodule crossorigin id="vite-legacy-polyfill" src="/HumanBreak/assets/polyfills-legacy.852057b5.js"></script>
<script nomodule crossorigin id="vite-legacy-entry" data-src="/HumanBreak/assets/index-legacy.6dcd3163.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script> <script nomodule crossorigin id="vite-legacy-entry" data-src="/HumanBreak/assets/index-legacy.b0ca823e.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
</body> </body>
</html> </html>

View File

@ -1502,7 +1502,6 @@ control.prototype.checkBlock = function () {
core.updateStatusBar(false, true); core.updateStatusBar(false, true);
} }
} }
this._checkBlock_ambush(core.status.checkBlock.ambush[loc]);
this._checkBlock_repulse(core.status.checkBlock.repulse[loc]); this._checkBlock_repulse(core.status.checkBlock.repulse[loc]);
}; };
@ -1533,42 +1532,6 @@ control.prototype._checkBlock_repulse = function (repulse) {
core.insertAction(actions); core.insertAction(actions);
}; };
////// 捕捉 //////
control.prototype._checkBlock_ambush = function (ambush) {
if (!ambush || ambush.length == 0) return;
// 捕捉效果
var actions = [];
ambush.forEach(function (t) {
actions.push({
type: 'move',
loc: [t[0], t[1]],
steps: [t[3]],
time: 250,
keep: false,
async: true
});
});
actions.push({ type: 'waitAsync' });
// 强制战斗
ambush.forEach(function (t) {
actions.push({
type: 'function',
function:
'function() { ' +
"core.battle('" +
t[2] +
"', " +
t[0] +
',' +
t[1] +
', true, core.doAction); ' +
'}',
async: true
});
});
core.insertAction(actions);
};
////// 更新全地图显伤 ////// ////// 更新全地图显伤 //////
control.prototype.updateDamage = function (floorId, ctx) { control.prototype.updateDamage = function (floorId, ctx) {
floorId = floorId || core.status.floorId; floorId = floorId || core.status.floorId;
@ -1701,9 +1664,9 @@ control.prototype._updateDamage_extraDamage = function (floorId, onMap) {
}); });
} else { } else {
// 检查捕捉 // 检查捕捉
if (core.status.checkBlock.ambush[x + ',' + y]) { if (core.status.checkBlock.mockery[x + ',' + y]) {
core.status.damage.extraData.push({ core.status.damage.extraData.push({
text: '!', text: '',
px: 32 * x + 16, px: 32 * x + 16,
py: 32 * (y + 1) - 14, py: 32 * (y + 1) - 14,
color: '#ffaa33', color: '#ffaa33',

View File

@ -1077,8 +1077,7 @@ maps.prototype._canMoveDirectly_checkNextPoint = function (blocksObj, x, y) {
// 是否存在阻激夹域伤害 // 是否存在阻激夹域伤害
if (core.status.checkBlock.damage[index]) return false; if (core.status.checkBlock.damage[index]) return false;
if (core.status.checkBlock.repulse[index]) return false; if (core.status.checkBlock.repulse[index]) return false;
// 是否存在捕捉 if (core.status.checkBlock.mockery[index]) return false;
if (core.status.checkBlock.ambush[index]) return false;
return true; return true;
}; };
@ -1175,8 +1174,7 @@ maps.prototype._automaticRoute_deepAdd = function (x, y, blocks) {
} }
// 绕过存在伤害的地方 // 绕过存在伤害的地方
deepAdd += (core.status.checkBlock.damage[x + ',' + y] || 0) * 100; deepAdd += (core.status.checkBlock.damage[x + ',' + y] || 0) * 100;
// 绕过捕捉 deepAdd += core.status.checkBlock.mockery[`${x},${y}`] ? 1000 : 0;
if (core.status.checkBlock.ambush[x + ',' + y]) deepAdd += 1000;
return deepAdd; return deepAdd;
}; };

View File

@ -1,10 +1,10 @@
var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
{ {
"greenSlime": {"name":"绿头怪","hp":100,"atk":11,"def":3,"money":0,"exp":1,"point":0,"special":[],"description":"一种极其低级的怪物,低级到普通人用手都可以打死。"}, "greenSlime": {"name":"绿头怪","hp":100,"atk":11,"def":3,"money":0,"exp":1,"point":0,"special":[],"description":"一种极其低级的怪物,低级到普通人用手都可以打死。"},
"redSlime": {"name":"红头怪","hp":120,"atk":16,"def":6,"money":0,"exp":2,"point":0,"special":[],"value":10}, "redSlime": {"name":"红头怪","hp":120,"atk":16,"def":6,"money":0,"exp":2,"point":0,"special":[],"value":10,"description":"即使是最弱的怪物,也有进化的时候,对吧?"},
"blackSlime": {"name":"青头怪","hp":170,"atk":20,"def":8,"money":0,"exp":3,"point":0,"special":[]}, "blackSlime": {"name":"青头怪","hp":170,"atk":20,"def":8,"money":0,"exp":3,"point":0,"special":[],"description":"看,这就是最弱的怪物进化出的最强的怪物之一了"},
"slimelord": {"name":"粘液王","hp":200,"atk":58,"def":24,"money":0,"exp":8,"point":0,"special":[]}, "slimelord": {"name":"粘液王","hp":200,"atk":58,"def":24,"money":0,"exp":8,"point":0,"special":[],"description":"看上去黏糊糊的,实际也确实黏糊糊的,据说是史莱姆族的长老级人物"},
"bat": {"name":"小蝙蝠","hp":60,"atk":15,"def":0,"money":0,"exp":2,"point":0,"special":[4]}, "bat": {"name":"小蝙蝠","hp":60,"atk":15,"def":0,"money":0,"exp":2,"point":0,"special":[4],"description":"经常出现在山洞中,再平常不过了。但是这次它却有了攻击性。"},
"bigBat": {"name":"大蝙蝠","hp":150,"atk":17,"def":5,"money":0,"exp":4,"point":0,"special":[4],"crit":0,"charge":0,"courage":0,"together":0,"hungry":0,"value":100,"n":1000}, "bigBat": {"name":"大蝙蝠","hp":150,"atk":17,"def":5,"money":0,"exp":4,"point":0,"special":[4],"crit":0,"charge":0,"courage":0,"together":0,"hungry":0,"value":100,"n":1000},
"redBat": {"name":"恐怖蝙蝠","hp":1200,"atk":260,"def":110,"money":1,"exp":32,"point":0,"special":[5]}, "redBat": {"name":"恐怖蝙蝠","hp":1200,"atk":260,"def":110,"money":1,"exp":32,"point":0,"special":[5]},
"vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
@ -32,7 +32,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
"demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"goldHornSlime": {"name":"尖角怪","hp":1500,"atk":366,"def":166,"money":1,"exp":35,"point":0,"special":[]}, "goldHornSlime": {"name":"尖角怪","hp":1500,"atk":366,"def":166,"money":1,"exp":35,"point":0,"special":[]},
"silverSlime": {"name":"银头怪","hp":250,"atk":50,"def":20,"money":0,"exp":11,"point":0,"special":[2]}, "silverSlime": {"name":"银头怪","hp":250,"atk":50,"def":20,"money":0,"exp":11,"point":0,"special":[2]},
"whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "whiteHornSlime": {"name":"恐怖尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"redSwordsman": {"name":"山间盗贼","hp":1000,"atk":175,"def":40,"money":1,"exp":24,"point":0,"special":[4],"n":8}, "redSwordsman": {"name":"山间盗贼","hp":1000,"atk":175,"def":40,"money":1,"exp":24,"point":0,"special":[4],"n":8},
"poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":[12]}, "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":[12]},
"octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
@ -68,7 +68,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
"bowman": {"name":"猎人","hp":500,"atk":100,"def":50,"money":0,"exp":16,"point":0,"special":[24],"value":75}, "bowman": {"name":"猎人","hp":500,"atk":100,"def":50,"money":0,"exp":16,"point":0,"special":[24],"value":75},
"liteBowman": {"name":"山间猎手","hp":1200,"atk":200,"def":60,"money":1,"exp":27,"point":0,"special":[24]}, "liteBowman": {"name":"山间猎手","hp":1200,"atk":200,"def":60,"money":1,"exp":27,"point":0,"special":[24]},
"crimsonZombie": {"name":"勇气之兽","hp":1800,"atk":2000,"def":-100,"money":1,"exp":35,"point":0,"special":[]}, "crimsonZombie": {"name":"勇气之兽","hp":1800,"atk":2000,"def":-100,"money":1,"exp":35,"point":0,"special":[]},
"watcherSlime": {"name":"邪眼怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "watcherSlime": {"name":"邪眼史莱姆","hp":5000,"atk":900,"def":600,"money":1,"exp":50,"point":0,"special":[17]},
"mutantSlimeman": {"name":"变异史莱姆人","hp":350,"atk":70,"def":27,"money":0,"exp":13,"point":0,"special":[]}, "mutantSlimeman": {"name":"变异史莱姆人","hp":350,"atk":70,"def":27,"money":0,"exp":13,"point":0,"special":[]},
"devilKnight": {"name":"恶灵骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "devilKnight": {"name":"恶灵骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"grayPriest": {"name":"智慧法王","hp":3000,"atk":600,"def":250,"money":1,"exp":40,"point":0,"special":[13]}, "grayPriest": {"name":"智慧法王","hp":3000,"atk":600,"def":250,"money":1,"exp":40,"point":0,"special":[13]},
@ -122,5 +122,9 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
"E549": {"name":"智慧之史","hp":1000,"atk":1000,"def":100,"money":1,"exp":35,"point":0,"special":[1],"crit":10000}, "E549": {"name":"智慧之史","hp":1000,"atk":1000,"def":100,"money":1,"exp":35,"point":0,"special":[1],"crit":10000},
"E550": {"name":"智慧之兔","hp":1500,"atk":600,"def":200,"money":1,"exp":35,"point":0,"special":[8],"together":20}, "E550": {"name":"智慧之兔","hp":1500,"atk":600,"def":200,"money":1,"exp":35,"point":0,"special":[8],"together":20},
"E556": {"name":"智慧之姆","hp":3000,"atk":800,"def":200,"money":1,"exp":45,"point":0,"special":[8],"together":20}, "E556": {"name":"智慧之姆","hp":3000,"atk":800,"def":200,"money":1,"exp":45,"point":0,"special":[8],"together":20},
"E557": {"name":"智慧之神","hp":10000,"atk":2000,"def":800,"money":10,"exp":500,"point":0,"special":[]} "E557": {"name":"智慧之神","hp":10000,"atk":2000,"def":800,"money":10,"exp":500,"point":0,"special":[]},
"E561": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"E562": {"name":"嘲讽剑客","hp":2000,"atk":1500,"def":600,"money":1,"exp":50,"point":0,"special":[19]},
"E563": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"E564": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}
} }

View File

@ -29,7 +29,10 @@ main.floors.MT22=
], ],
"3,9": [ "3,9": [
"第二章的加点已开启,可以在技能树的前置技能下方选择", "第二章的加点已开启,可以在技能树的前置技能下方选择",
"如果你玩过上个版本,直接跳到了本章,记得查看背包里面的各种道具,尤其是百科全书" "如果你玩过上个版本,直接跳到了本章,记得查看背包里面的各种道具,尤其是百科全书,同时注意左边是你来的方向,那里还有些怪物"
],
"7,9": [
"对于电摇嘲讽的怪物,当一个点可以被多个怪物嘲讽时,会优先选择最靠左上角的怪物。其次,在进入嘲讽区域之前会自动存档"
] ]
}, },
"changeFloor": { "changeFloor": {
@ -58,7 +61,7 @@ main.floors.MT22=
[142,142,482,482,492, 0, 0,484, 0,494,484,491,484,143,143], [142,142,482,482,492, 0, 0,484, 0,494,484,491,484,143,143],
[142,142,142,142,142, 0, 0, 0, 0,143,143,143,143,143,143], [142,142,142,142,142, 0, 0, 0, 0,143,143,143,143,143,143],
[ 92, 0, 0, 0,441, 0, 0,484, 0, 0, 0, 0, 0,143,143], [ 92, 0, 0, 0,441, 0, 0,484, 0, 0, 0, 0, 0,143,143],
[143,143, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0,143,143], [143,143, 0,129, 0, 0, 0,129, 0, 0, 0, 0, 0,143,143],
[143,143,492,143,492,143,492,143,492,143,492,143,492,143,143], [143,143,492,143,492,143,492,143,492,143,492,143,492,143,143],
[143,143,482,143,482,143,482,143,482,143,482,143,482,143,143], [143,143,482,143,482,143,482,143,482,143,482,143,482,143,143],
[143,143,482,143,482,143,482,143,482,143,482,143,482,143,143], [143,143,482,143,482,143,482,143,482,143,482,143,482,143,143],

View File

@ -36,8 +36,8 @@ main.floors.MT23=
"map": [ "map": [
[143,143,143,143,143,143,143,143,143,143,143,143, 91,143,143], [143,143,143,143,143,143,143,143,143,143,143,143, 91,143,143],
[143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143],
[143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94], [143, 0,275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94],
[143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], [143, 0,562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143],
[ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], [ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143],
[143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143],
[143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143],

Binary file not shown.

View File

@ -424,6 +424,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
if (core.getFlag('bladeOn') && core.getFlag('blade')) { if (core.getFlag('bladeOn') && core.getFlag('blade')) {
core.setFlag('blade', false); core.setFlag('blade', false);
} }
if (core.getFlag('shieldOn') && core.getFlag('shield')) {
core.setFlag('shield', false);
}
// 事件的处理 // 事件的处理
var todo = []; var todo = [];
@ -447,11 +450,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
); );
} }
core.push(todo, enemy.afterBattle); core.push(todo, enemy.afterBattle);
if (
core.status.hero.loc.direction == 'up' ||
core.status.hero.loc.direction == 'down'
)
core.insertAction([{ type: 'moveAction' }]);
// 在这里增加其他的自定义事件需求 // 在这里增加其他的自定义事件需求
/* /*
if (enemyId=='xxx') { if (enemyId=='xxx') {
@ -694,14 +693,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
'经过两只相同的怪物中间,勇士生命值变成一半', '经过两只相同的怪物中间,勇士生命值变成一半',
'#bb99ee' '#bb99ee'
], ],
[ [17, '先攻', '战斗时怪物首先攻击', '#b0b666'],
17,
'仇恨',
'战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得' +
(core.values.hatred || 0) +
'点仇恨值)',
'#b0b666'
],
[ [
18, 18,
'阻击', '阻击',
@ -714,7 +706,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
}, },
'#8888e6' '#8888e6'
], ],
[19, '自爆', '战斗后勇士的生命值变成1', '#ff6666'], [
19,
'电摇嘲讽',
'当勇士移动到怪物同行或同列时,勇士会直接冲向怪物,撞碎路上的所有地形和门,拾取路上的道具,与路上的怪物以及该怪物战斗',
'#ff6666'
],
[20, '无敌', '勇士无法打败怪物,除非拥有十字架', '#aaaaaa'], [20, '无敌', '勇士无法打败怪物,除非拥有十字架', '#aaaaaa'],
[ [
21, 21,
@ -990,6 +987,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
// 战斗伤害不能为负值 // 战斗伤害不能为负值
if (per_damage < 0) per_damage = 0; if (per_damage < 0) per_damage = 0;
// 先攻
if (core.hasSpecial(mon_special, 17)) damage += per_damage;
// 2连击 & 3连击 & N连击 // 2连击 & 3连击 & N连击
if (core.hasSpecial(mon_special, 4)) per_damage *= 2; if (core.hasSpecial(mon_special, 4)) per_damage *= 2;
if (core.hasSpecial(mon_special, 5)) per_damage *= 3; if (core.hasSpecial(mon_special, 5)) per_damage *= 3;
@ -1431,7 +1431,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
var damage = {}, // 每个点的伤害值 var damage = {}, // 每个点的伤害值
type = {}, // 每个点的伤害类型 type = {}, // 每个点的伤害类型
repulse = {}, // 每个点的阻击怪信息 repulse = {}, // 每个点的阻击怪信息
ambush = {}; // 每个点的捕捉信息 mockery = {}; // 电摇嘲讽
var betweenAttackLocs = {}; // 所有可能的夹击点 var betweenAttackLocs = {}; // 所有可能的夹击点
var needCache = false; var needCache = false;
var canGoDeadZone = core.flags.canGoDeadZone; var canGoDeadZone = core.flags.canGoDeadZone;
@ -1528,7 +1528,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
} }
} }
// 射击 // 射击
// 如果要防止激光伤害,可以直接简单的将 flag:no_laser 设为true
if (enemy && core.hasSpecial(enemy.special, 24)) { if (enemy && core.hasSpecial(enemy.special, 24)) {
var beyondVisual = false; var beyondVisual = false;
for (var nx = 0; nx < width; nx++) { for (var nx = 0; nx < width; nx++) {
@ -1618,6 +1617,22 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
} }
} }
// 电摇嘲讽
if (enemy && core.hasSpecial(enemy.special, 19)) {
for (let nx = 0; nx < width; nx++) {
if (!core.noPass(nx, y)) {
mockery[`${nx},${y}`] ??= [];
mockery[`${nx},${y}`].push([x, y]);
}
}
for (let ny = 0; ny < height; ny++) {
if (!core.noPass(x, ny)) {
mockery[`${x},${ny}`] ??= [];
mockery[`${x},${ny}`].push([x, y]);
}
}
}
// 夹击;在这里提前计算所有可能的夹击点,具体计算逻辑在下面 // 夹击;在这里提前计算所有可能的夹击点,具体计算逻辑在下面
// 如果要防止夹击伤害,可以简单的将 flag:no_betweenAttack 设为true // 如果要防止夹击伤害,可以简单的将 flag:no_betweenAttack 设为true
if ( if (
@ -1721,7 +1736,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
damage: damage, damage: damage,
type: type, type: type,
repulse: repulse, repulse: repulse,
ambush: ambush, mockery,
needCache: needCache, needCache: needCache,
cache: {}, // clear cache cache: {}, // clear cache
haveHunt: haveHunt haveHunt: haveHunt

View File

@ -327,7 +327,11 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"E549": 115, "E549": 115,
"E550": 116, "E550": 116,
"E556": 117, "E556": 117,
"E557": 118 "E557": 118,
"E561": 119,
"E562": 120,
"E563": 121,
"E564": 122
}, },
"enemy48": { "enemy48": {
"angel": 0, "angel": 0,

View File

@ -97,8 +97,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "红血瓶", "name": "红血瓶",
"text": ",生命+${core.values.redPotion}", "text": ",生命+${core.values.redPotion}",
"itemEffect": "core.status.hero.hp += 100 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 100 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${100 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${100 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.redPotion", "useItemEffect": "core.status.hero.hp += core.values.redPotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },
@ -106,8 +106,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "蓝血瓶", "name": "蓝血瓶",
"text": ",生命+${core.values.bluePotion}", "text": ",生命+${core.values.bluePotion}",
"itemEffect": "core.status.hero.hp += 200 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 200 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${200 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${200 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.bluePotion", "useItemEffect": "core.status.hero.hp += core.values.bluePotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },
@ -115,8 +115,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "黄血瓶", "name": "黄血瓶",
"text": ",生命+${core.values.yellowPotion}", "text": ",生命+${core.values.yellowPotion}",
"itemEffect": "core.status.hero.hp += 400 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 400 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${400 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${400 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.yellowPotion", "useItemEffect": "core.status.hero.hp += core.values.yellowPotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },
@ -124,8 +124,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "绿血瓶", "name": "绿血瓶",
"text": ",生命+${core.values.greenPotion}", "text": ",生命+${core.values.greenPotion}",
"itemEffect": "core.status.hero.hp += 800 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 800 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${800 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${800 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.greenPotion", "useItemEffect": "core.status.hero.hp += core.values.greenPotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },
@ -1180,8 +1180,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "大红血瓶", "name": "大红血瓶",
"text": ",生命+${core.values.redPotion}", "text": ",生命+${core.values.redPotion}",
"itemEffect": "core.status.hero.hp += 1000 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 1000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${1000 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${1000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.redPotion", "useItemEffect": "core.status.hero.hp += core.values.redPotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },
@ -1193,8 +1193,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "大蓝血瓶", "name": "大蓝血瓶",
"text": ",生命+${core.values.redPotion}", "text": ",生命+${core.values.redPotion}",
"itemEffect": "core.status.hero.hp += 2000 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 2000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${2000 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${2000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.redPotion", "useItemEffect": "core.status.hero.hp += core.values.redPotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },
@ -1210,8 +1210,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "大绿血瓶", "name": "大绿血瓶",
"text": ",生命+${core.values.redPotion}", "text": ",生命+${core.values.redPotion}",
"itemEffect": "core.status.hero.hp += 8000 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 8000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${8000 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${8000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.redPotion", "useItemEffect": "core.status.hero.hp += core.values.redPotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },
@ -1231,8 +1231,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "items", "cls": "items",
"name": "大黄血瓶", "name": "大黄血瓶",
"text": ",生命+${core.values.redPotion}", "text": ",生命+${core.values.redPotion}",
"itemEffect": "core.status.hero.hp += 4000 * core.status.thisMap.ratio", "itemEffect": "core.status.hero.hp += 4000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)",
"itemEffectTip": ",生命+${4000 * core.status.thisMap.ratio}", "itemEffectTip": ",生命+${4000 * core.status.thisMap.ratio * (1 + core.getSkillLevel(13) / 50)}",
"useItemEffect": "core.status.hero.hp += core.values.redPotion", "useItemEffect": "core.status.hero.hp += core.values.redPotion",
"canUseItemEffect": "true" "canUseItemEffect": "true"
}, },

View File

@ -485,6 +485,10 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"558": {"cls":"items","id":"I558"}, "558": {"cls":"items","id":"I558"},
"559": {"cls":"items","id":"I559"}, "559": {"cls":"items","id":"I559"},
"560": {"cls":"items","id":"I560"}, "560": {"cls":"items","id":"I560"},
"561": {"cls":"enemys","id":"E561"},
"562": {"cls":"enemys","id":"E562"},
"563": {"cls":"enemys","id":"E563"},
"564": {"cls":"enemys","id":"E564"},
"20037": {"cls":"tileset","id":"X20037","cannotOut":["up","left"],"cannotIn":["up","left"]}, "20037": {"cls":"tileset","id":"X20037","cannotOut":["up","left"],"cannotIn":["up","left"]},
"20038": {"cls":"tileset","id":"X20038","cannotOut":["up"],"cannotIn":["up"]}, "20038": {"cls":"tileset","id":"X20038","cannotOut":["up"],"cannotIn":["up"]},
"20039": {"cls":"tileset","id":"X20039","cannotOut":["up","right"],"cannotIn":["up","right"]}, "20039": {"cls":"tileset","id":"X20039","cannotOut":["up","right"],"cannotIn":["up","right"]},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 123 KiB

View File

@ -2227,7 +2227,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
damaged[loc + direction] = true; damaged[loc + direction] = true;
core.drawHeroAnimate('hand'); core.drawHeroAnimate('hand');
core.status.hero.hp -= 1000; core.status.hero.hp -= 1000;
core.addPop(x * 32 + 16, y * 32 + 16, 1000); core.addPop(x * 32 + 16, y * 32 + 16, -1000);
core.updateStatusBar(); core.updateStatusBar();
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
clearInterval(skill1); clearInterval(skill1);
@ -2245,7 +2245,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
damaged[loc + direction] = true; damaged[loc + direction] = true;
core.drawHeroAnimate('hand'); core.drawHeroAnimate('hand');
core.status.hero.hp -= 1000; core.status.hero.hp -= 1000;
core.addPop(x * 32 + 16, y * 32 + 16, 1000); core.addPop(x * 32 + 16, y * 32 + 16, -1000);
core.updateStatusBar(); core.updateStatusBar();
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
clearInterval(skill1); clearInterval(skill1);
@ -2376,7 +2376,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
if (x == locs[index][0] && y == locs[index][1]) { if (x == locs[index][0] && y == locs[index][1]) {
core.drawHeroAnimate('hand'); core.drawHeroAnimate('hand');
core.status.hero.hp -= 5000; core.status.hero.hp -= 5000;
core.addPop(x * 32 + 16, y * 32 + 16, 5000); core.addPop(x * 32 + 16, y * 32 + 16, -5000);
core.updateStatusBar(); core.updateStatusBar();
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
core.status.hero.hp = 0; core.status.hero.hp = 0;
@ -2552,7 +2552,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
hy = core.status.hero.loc.y; hy = core.status.hero.loc.y;
if (Math.abs(hx - x) <= 1 && Math.abs(hy - y) <= 1) { if (Math.abs(hx - x) <= 1 && Math.abs(hy - y) <= 1) {
core.status.hero.hp -= 3000 * power; core.status.hero.hp -= 3000 * power;
core.addPop(x * 32 + 16, y * 32 + 16, 3000 * power); core.addPop(x * 32 + 16, y * 32 + 16, -3000 * power);
core.updateStatusBar(); core.updateStatusBar();
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
core.status.hero.hp = 0; core.status.hero.hp = 0;
@ -2720,7 +2720,11 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
) { ) {
damaged[i] = true; damaged[i] = true;
core.status.hero.hp -= 3000; core.status.hero.hp -= 3000;
core.addPop(x * 32 + 16, y * 32 + 16, 3000); core.addPop(
x * 32 + 16,
y * 32 + 16,
-3000
);
core.updateStatusBar(); core.updateStatusBar();
core.playSound('electron.mp3'); core.playSound('electron.mp3');
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
@ -3291,7 +3295,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
hy = core.status.hero.loc.y; hy = core.status.hero.loc.y;
if (loc[0] == hx && loc[1] == hy) { if (loc[0] == hx && loc[1] == hy) {
core.status.hero.hp -= 3000; core.status.hero.hp -= 3000;
core.addPop(x * 32 + 16, y * 32 + 16, 3000); core.addPop(x * 32 + 16, y * 32 + 16, -3000);
core.updateStatusBar(); core.updateStatusBar();
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
core.status.hero.hp = 0; core.status.hero.hp = 0;
@ -3336,7 +3340,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
loc2[1]; loc2[1];
if (n1 * n2 <= 0) { if (n1 * n2 <= 0) {
core.status.hero.hp -= damage; core.status.hero.hp -= damage;
core.addPop(x * 32 + 16, y * 32 + 16, damage); core.addPop(x * 32 + 16, y * 32 + 16, -damage);
core.updateStatusBar(); core.updateStatusBar();
core.playSound('electron.mp3'); core.playSound('electron.mp3');
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
@ -3362,7 +3366,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
loc2[1]; loc2[1];
if (n1 * n2 <= 0) { if (n1 * n2 <= 0) {
core.status.hero.hp -= damage; core.status.hero.hp -= damage;
core.addPop(x * 32 + 16, y * 32 + 16, damage); core.addPop(x * 32 + 16, y * 32 + 16, -damage);
core.updateStatusBar(); core.updateStatusBar();
core.playSound('electron.mp3'); core.playSound('electron.mp3');
if (core.status.hero.hp < 0) { if (core.status.hero.hp < 0) {
@ -3380,7 +3384,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
popupDamage: function () { popupDamage: function () {
// 伤害弹出 // 伤害弹出
// 复写阻激夹域检测 // 复写阻激夹域检测
control.prototype.checkBlock = function () { control.prototype.checkBlock = function (forceMockery) {
var x = core.getHeroLoc('x'), var x = core.getHeroLoc('x'),
y = core.getHeroLoc('y'), y = core.getHeroLoc('y'),
loc = x + ',' + y; loc = x + ',' + y;
@ -3410,9 +3414,86 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
core.updateStatusBar(); core.updateStatusBar();
} }
} }
this._checkBlock_ambush(core.status.checkBlock.ambush[loc]);
this._checkBlock_repulse(core.status.checkBlock.repulse[loc]); this._checkBlock_repulse(core.status.checkBlock.repulse[loc]);
checkMockery(loc, forceMockery);
}; };
control.prototype.moveHero = function (direction, callback) {
// 如果正在移动直接return
if (core.status.heroMoving != 0) return;
if (core.isset(direction)) core.setHeroLoc('direction', direction);
const nx = core.nextX();
const ny = core.nextY();
if (core.status.checkBlock.mockery[`${nx},${ny}`]) {
core.autosave();
}
if (callback) return this.moveAction(callback);
this._moveHero_moving();
};
function checkMockery(loc, force) {
if (core.status.lockControl && !force) return;
const mockery = core.status.checkBlock.mockery[loc];
if (mockery) {
mockery.sort((a, b) =>
a[0] === b[0] ? a[1] - b[1] : a[0] - b[0]
);
const action = [];
const [tx, ty] = mockery[0];
let { x, y } = core.status.hero.loc;
const dir =
x > tx ? 'left' : x < tx ? 'right' : y > ty ? 'up' : 'down';
const { x: dx, y: dy } = core.utils.scan[dir];
action.push({ type: 'changePos', direction: dir });
const blocks = core.getMapBlocksObj();
while (1) {
x += dx;
y += dy;
const block = blocks[`${x},${y}`];
if (block) {
block.event.cls === '';
if (
[
'animates',
'autotile',
'tileset',
'npcs',
'npc48'
].includes(block.event.cls)
) {
action.push(
{
type: 'hide',
loc: [[x, y]],
remove: true,
time: 0
},
{
type: 'animate',
name: 'hand',
loc: [x, y],
async: true
}
);
}
if (block.event.cls.startsWith('enemy')) {
action.push({ type: 'moveAction' });
}
}
action.push({ type: 'moveAction' });
if (x === tx && y === ty) break;
}
action.push({
type: 'function',
function: `function() { core.checkBlock(true); }`
});
action.push({ type: 'stopAsync' });
core.insertAction(action);
}
}
}, },
hotReload: function () { hotReload: function () {
if (main.mode !== 'play' || main.replayChecking) return; if (main.mode !== 'play' || main.replayChecking) return;