Deploying to gh-pages from @ 023d913ea7 🚀

This commit is contained in:
unanmed 2023-02-28 09:51:46 +00:00
parent 19bf59a59b
commit 6d3b85f30c
29 changed files with 5684 additions and 9710 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3850,7 +3850,7 @@ isShopVisited_e
/* isShopVisited_e /* isShopVisited_e
default : ['shop1'] default : ['shop1']
allShops : ['IdString_0'] allShops : ['IdString_0']
var code = 'core.isShopVisited(\'' + IdString_0 + '\')'; var code = 'core.plugin.shop.isShopVisited(\'' + IdString_0 + '\')';
return [code, Blockly.JavaScript.ORDER_ATOMIC]; return [code, Blockly.JavaScript.ORDER_ATOMIC];
*/; */;

View File

@ -13,74 +13,8 @@ var plugins_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_range": "typeof(thiseval)=='string'", "_range": "typeof(thiseval)=='string'",
"_data": "自定义插件" "_data": "双击查看插件详情"
}, },
"shop": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string'",
"_data": "全局商店"
},
"drawLight": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "灯光效果"
},
"removeMap": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "砍层插件"
},
"fiveLayers": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "五图层(背景前景2)"
},
"itemShop": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "道具商店"
},
"enemyLevel": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "手册显示怪物境界"
},
"dynamicHp": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "动态血量变化"
},
"multiHeros": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "多角色"
},
"itemCategory": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "物品分类插件"
},
"heroFourFrames": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "勇士四帧行走动画"
},
"startCanvas": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "自绘标题界面居中"
}
} }
if (obj[key]) return obj[key]; if (obj[key]) return obj[key];
return { return {

File diff suppressed because one or more lines are too long

1
assets/index.696f1967.js Normal file

File diff suppressed because one or more lines are too long

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,10 +18,10 @@
<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.b2cce329.js"></script> <script type="module" crossorigin src="/HumanBreak/assets/index.696f1967.js"></script>
<link rel="modulepreload" crossorigin href="/HumanBreak/assets/antdv.40889ba9.js"> <link rel="modulepreload" crossorigin href="/HumanBreak/assets/antdv.40889ba9.js">
<link rel="modulepreload" crossorigin href="/HumanBreak/assets/common.2bb356dd.js"> <link rel="modulepreload" crossorigin href="/HumanBreak/assets/common.2bb356dd.js">
<link rel="stylesheet" href="/HumanBreak/assets/index.ca3ec9f3.css"> <link rel="stylesheet" href="/HumanBreak/assets/index.c506f722.css">
<script type="module">try{import.meta.url;import("_").catch(()=>1);}catch(e){}window.__vite_is_modern_browser=true;</script> <script type="module">try{import.meta.url;import("_").catch(()=>1);}catch(e){}window.__vite_is_modern_browser=true;</script>
<script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy build because dynamic import or import.meta.url is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script> <script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy build because dynamic import or import.meta.url is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script>
</head> </head>
@ -205,7 +205,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.27bbe950.js"></script> <script nomodule crossorigin id="vite-legacy-polyfill" src="/HumanBreak/assets/polyfills-legacy.27bbe950.js"></script>
<script nomodule crossorigin id="vite-legacy-entry" data-src="/HumanBreak/assets/index-legacy.a378b2f9.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.c9b504bd.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
</body> </body>
</html> </html>

View File

@ -1623,7 +1623,7 @@ actions.prototype._keyUpViewMaps = function (keycode) {
////// 快捷商店界面时的点击操作 ////// ////// 快捷商店界面时的点击操作 //////
actions.prototype._clickQuickShop = function (x, y) { actions.prototype._clickQuickShop = function (x, y) {
var shopIds = core.listShopIds(); var shopIds = core.plugin.shop.listShopIds();
if (this._out(x)) return; if (this._out(x)) return;
var topIndex = var topIndex =
this._HY_ - this._HY_ -
@ -1631,15 +1631,15 @@ actions.prototype._clickQuickShop = function (x, y) {
(core.status.event.ui.offset || 0); (core.status.event.ui.offset || 0);
if (y >= topIndex && y < topIndex + shopIds.length) { if (y >= topIndex && y < topIndex + shopIds.length) {
var shopId = shopIds[y - topIndex]; var shopId = shopIds[y - topIndex];
if (!core.canOpenShop(shopId)) { if (!core.plugin.shop.canOpenShop(shopId)) {
core.playSound('操作失败'); core.playSound('操作失败');
core.drawTip('当前项尚未开启'); core.drawTip('当前项尚未开启');
return; return;
} }
var message = core.canUseQuickShop(shopId); var message = core.plugin.shop.canUseQuickShop(shopId);
if (message == null) { if (message == null) {
// core.ui.closePanel(); // core.ui.closePanel();
core.openShop(shopIds[y - topIndex], false); core.plugin.shop.openShop(shopIds[y - topIndex], false);
} else { } else {
core.playSound('操作失败'); core.playSound('操作失败');
core.drawTip(message); core.drawTip(message);
@ -1660,7 +1660,7 @@ actions.prototype._keyUpQuickShop = function (keycode) {
return; return;
} }
this._selectChoices( this._selectChoices(
core.listShopIds().length + 1, core.plugin.shop.listShopIds().length + 1,
keycode, keycode,
this._clickQuickShop this._clickQuickShop
); );

View File

@ -1499,7 +1499,7 @@ control.prototype._checkBlock_disableQuickShop = function () {
// 禁用快捷商店 // 禁用快捷商店
if (core.flags.disableShopOnDamage) { if (core.flags.disableShopOnDamage) {
Object.keys(core.status.shops).forEach(function (shopId) { Object.keys(core.status.shops).forEach(function (shopId) {
core.setShopVisited(shopId, false); core.plugin.shop.setShopVisited(shopId, false);
}); });
} }
}; };
@ -1695,7 +1695,7 @@ control.prototype.drawDamage = function (ctx) {
control.prototype._drawDamage_draw = function (ctx, onMap) { control.prototype._drawDamage_draw = function (ctx, onMap) {
if (!core.hasItem('book')) return; if (!core.hasItem('book')) return;
core.drawHalo(ctx, onMap); core.plugin.halo.drawHalo(ctx, onMap);
core.setFont(ctx, "14px 'normal'"); core.setFont(ctx, "14px 'normal'");
core.setTextAlign(ctx, 'left'); core.setTextAlign(ctx, 'left');
@ -3058,7 +3058,7 @@ control.prototype.getRealStatus = function (name) {
////// 从status中获得实际属性增幅后的如果不存在则从勇士属性中获取 ////// ////// 从status中获得实际属性增幅后的如果不存在则从勇士属性中获取 //////
control.prototype.getRealStatusOrDefault = function (status, name) { control.prototype.getRealStatusOrDefault = function (status, name) {
return core.getHeroStatusOf(status, name); return core.plugin.hero.getHeroStatusOf(status, name);
}; };
////// 获得勇士原始属性(无装备和衰弱影响) ////// ////// 获得勇士原始属性(无装备和衰弱影响) //////

View File

@ -6,11 +6,6 @@
'use strict'; 'use strict';
// /**
// * @type {CoreMixin}
// */
// const core = (() => {
function core() { function core() {
this._WIDTH_ = 15; this._WIDTH_ = 15;
this._HEIGHT_ = 15; this._HEIGHT_ = 15;
@ -613,6 +608,24 @@ core.prototype._init_plugins = function () {
} }
} }
if (!main.pluginUseCompress) {
(async function () {
const pluginList = main.plugin;
for await (const one of pluginList) {
const script = document.createElement('script');
script.src = `project/plugin/${one}.js`;
document.body.appendChild(script);
await new Promise(res => {
script.addEventListener('load', res);
});
}
})();
} else {
const script = document.createElement('script');
script.src = `project/plugin.min.js`;
document.body.appendChild(script);
}
core._forwardFunc('plugin'); core._forwardFunc('plugin');
if (!main.replayChecking && main.mode === 'play') { if (!main.replayChecking && main.mode === 'play') {
main.forward(); main.forward();
@ -682,7 +695,4 @@ core.prototype.doFunc = function (func, _this) {
return func.apply(_this, Array.prototype.slice.call(arguments, 2)); return func.apply(_this, Array.prototype.slice.call(arguments, 2));
}; };
// return new Core();
// })();
var core = new core(); var core = new core();

View File

@ -2206,13 +2206,13 @@ events.prototype._action_unloadEquip = function (data, x, y, prefix) {
}; };
events.prototype._action_openShop = function (data, x, y, prefix) { events.prototype._action_openShop = function (data, x, y, prefix) {
core.setShopVisited(data.id, true); core.plugin.shop.setShopVisited(data.id, true);
if (data.open) core.openShop(data.id, true); if (data.open) core.plugin.shop.openShop(data.id, true);
core.doAction(); core.doAction();
}; };
events.prototype._action_disableShop = function (data, x, y, prefix) { events.prototype._action_disableShop = function (data, x, y, prefix) {
core.setShopVisited(data.id, false); core.plugin.shop.setShopVisited(data.id, false);
core.doAction(); core.doAction();
}; };
@ -3436,18 +3436,18 @@ events.prototype.openQuickShop = function (fromUserAction) {
if (Object.keys(core.status.shops).length == 1) { if (Object.keys(core.status.shops).length == 1) {
var shopId = Object.keys(core.status.shops)[0]; var shopId = Object.keys(core.status.shops)[0];
if (core.status.event.id != null) return; if (core.status.event.id != null) return;
if (!core.canOpenShop(shopId)) { if (!core.plugin.shop.canOpenShop(shopId)) {
core.playSound('操作失败'); core.playSound('操作失败');
core.drawTip('当前无法打开快捷商店!'); core.drawTip('当前无法打开快捷商店!');
return; return;
} }
var message = core.canUseQuickShop(shopId); var message = core.plugin.shop.canUseQuickShop(shopId);
if (message != null) { if (message != null) {
core.playSound('操作失败'); core.playSound('操作失败');
core.drawTip(message); core.drawTip(message);
return; return;
} }
core.openShop(shopId, false); core.plugin.shop.openShop(shopId, false);
return; return;
} }

View File

@ -3101,11 +3101,11 @@ ui.prototype._drawNotes = function () {
ui.prototype._drawQuickShop = function () { ui.prototype._drawQuickShop = function () {
core.status.event.id = 'selectShop'; core.status.event.id = 'selectShop';
var shopList = core.status.shops, var shopList = core.status.shops,
keys = core.listShopIds(); keys = core.plugin.shop.listShopIds();
var choices = keys.map(function (shopId) { var choices = keys.map(function (shopId) {
return { return {
text: shopList[shopId].textInList, text: shopList[shopId].textInList,
color: core.isShopVisited(shopId) ? null : '#999999' color: core.plugin.shop.isShopVisited(shopId) ? null : '#999999'
}; };
}); });
choices.push('返回游戏'); choices.push('返回游戏');

View File

@ -314,7 +314,25 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"font": "normal" "font": "normal"
}, },
"splitImages": [], "splitImages": [],
"plugin": [] "plugin": [
"utils",
"ui",
"shop",
"study",
"hero",
"fiveLayer",
"loopMap",
"removeMap",
"heroFourFrames",
"itemDetail",
"skills",
"towerBoss",
"popup",
"hotReload",
"replay",
"skillTree",
"halo"
]
}, },
"firstData": { "firstData": {
"title": "人类:开天辟地", "title": "人类:开天辟地",

View File

@ -35,7 +35,7 @@ main.floors.MT0=
"\r[red]注意!!!\r[]该塔新增了很多新的功能同时对样板的ui进行了大幅度的改动操作也有改变由于内容过多这里不再一一描述具体请在道具栏查看百科全书百科全书是在你面前的几个道具中的其中一个", "\r[red]注意!!!\r[]该塔新增了很多新的功能同时对样板的ui进行了大幅度的改动操作也有改变由于内容过多这里不再一一描述具体请在道具栏查看百科全书百科全书是在你面前的几个道具中的其中一个",
{ {
"type": "function", "type": "function",
"function": "function(){\ncore.showChapter('序章 起源');\n}" "function": "function(){\ncore.plugin.gameUi.showChapter('序章 起源');\n}"
} }
], ],
"parallelDo": "", "parallelDo": "",

View File

@ -136,7 +136,7 @@ main.floors.MT16=
}, },
{ {
"type": "function", "type": "function",
"function": "function(){\ncore.autoFixRouteBoss(true);\n}" "function": "function(){\ncore.plugin.towerBoss.autoFixRouteBoss(true);\n}"
} }
] ]
}, },
@ -413,7 +413,7 @@ main.floors.MT16=
"这里是漏怪检测,将会检测\r[gold]洞穴、山路、山脚、平原\r[white]地区的怪物是否清完", "这里是漏怪检测,将会检测\r[gold]洞穴、山路、山脚、平原\r[white]地区的怪物是否清完",
{ {
"type": "function", "type": "function",
"function": "function(){\nconst enemy = core.getRemainEnemyString(core.floorIds.slice(5, 17));\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}" "function": "function(){\nconst enemy = core.plugin.remainEnemy.getRemainEnemyString(core.floorIds.slice(5, 17));\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}"
}, },
{ {
"type": "loadBgm", "type": "loadBgm",

View File

@ -118,7 +118,7 @@ main.floors.MT21 = {
{ {
type: 'function', type: 'function',
function: function:
"function(){\ncore.showChapter('第二章 智慧');\ncore.removeMaps('tower1', 'tower7', true);\ndelete flags.tower1;\ndelete flags.wordsTimeOut;\ndelete flags.boom;\ndelete flags.booming;\n}" "function(){\ncore.plugin.gameUi.showChapter('第二章 智慧');\ncore.plugin.removeMap.removeMaps('tower1', 'tower7', true);\ndelete flags.tower1;\ndelete flags.wordsTimeOut;\ndelete flags.boom;\ndelete flags.booming;\n}"
}, },
{ {
type: 'setValue', type: 'setValue',

View File

@ -119,7 +119,7 @@ main.floors.MT31 = {
{ {
type: 'function', type: 'function',
function: function:
'function(){\nconst enemy = core.getRemainEnemyString(core.floorIds.slice(17, 22));\nif (enemy.length === 0) {\n\tcore.insertAction([\'当前无剩余怪物!\', { "type": "hide", "remove": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}' 'function(){\nconst enemy = core.plugin.remainEnemy.getRemainEnemyString(core.floorIds.slice(17, 22));\nif (enemy.length === 0) {\n\tcore.insertAction([\'当前无剩余怪物!\', { "type": "hide", "remove": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}'
} }
] ]
}, },

View File

@ -16,7 +16,7 @@ main.floors.MT32=
"firstArrive": [ "firstArrive": [
{ {
"type": "function", "type": "function",
"function": "function(){\ncore.removeMaps('MT17', 'MT21', true)\n}" "function": "function(){\ncore.plugin.removeMap.removeMaps('MT17', 'MT21', true)\n}"
} }
], ],
"eachArrive": [], "eachArrive": [],

View File

@ -76,7 +76,7 @@ main.floors.MT35=
"这里是漏怪检测,会检测\r[gold]智慧小径\r[]区域是否有遗漏怪物", "这里是漏怪检测,会检测\r[gold]智慧小径\r[]区域是否有遗漏怪物",
{ {
"type": "function", "type": "function",
"function": "function(){\nconst enemy = core.getRemainEnemyString(core.floorIds.slice(30, 40));\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}" "function": "function(){\nconst enemy = core.plugin.remainEnemy.getRemainEnemyString(core.floorIds.slice(30, 40));\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}"
} }
], ],
"7,0": [ "7,0": [
@ -101,7 +101,7 @@ main.floors.MT35=
}, },
{ {
"type": "function", "type": "function",
"function": "function(){\ncore.removeMaps('MT22', 'MT31', true);\n}" "function": "function(){\ncore.plugin.removeMap.removeMaps('MT22', 'MT31', true);\n}"
}, },
{ {
"type": "changeFloor", "type": "changeFloor",

View File

@ -120,7 +120,7 @@ main.floors.MT5=
"这里是漏怪检测,会检测\r[gold]山洞\r[]区域的怪物是否清空", "这里是漏怪检测,会检测\r[gold]山洞\r[]区域的怪物是否清空",
{ {
"type": "function", "type": "function",
"function": "function(){\nconst enemy = core.getRemainEnemyString(core.floorIds.slice(0, 5));\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}" "function": "function(){\nconst enemy = core.plugin.remainEnemy.getRemainEnemyString(core.floorIds.slice(0, 5));\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}"
} }
] ]
}, },

View File

@ -63,7 +63,7 @@ main.floors.MT6=
"\t[原始人]\b[down,hero]感觉好像可以学习一些简单的东西了。", "\t[原始人]\b[down,hero]感觉好像可以学习一些简单的东西了。",
{ {
"type": "function", "type": "function",
"function": "function(){\ncore.showChapter('第一章 勇气');\n}" "function": "function(){\ncore.plugin.gameUi.showChapter('第一章 勇气');\n}"
}, },
{ {
"type": "setValue", "type": "setValue",

View File

@ -21,7 +21,7 @@ main.floors.tower5=
"这里是漏怪检测,会检测\r[gold]智慧之塔\r[]区域是否有遗漏怪物", "这里是漏怪检测,会检测\r[gold]智慧之塔\r[]区域是否有遗漏怪物",
{ {
"type": "function", "type": "function",
"function": "function(){\nconst enemy = core.getRemainEnemyString([\"tower1\", \"tower2\", \"tower3\", \"tower4\", \"tower5\", \"tower6\"]);\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}" "function": "function(){\nconst enemy = core.plugin.remainEnemy.getRemainEnemyString([\"tower1\", \"tower2\", \"tower3\", \"tower4\", \"tower5\", \"tower6\"]);\nif (enemy.length === 0) {\n\tcore.insertAction(['当前无剩余怪物!', { \"type\": \"hide\", \"remove\": true }, ]);\n} else {\n\tcore.insertAction(enemy);\n}\n}"
} }
] ]
}, },

View File

@ -157,7 +157,7 @@ main.floors.tower7=
}, },
{ {
"type": "function", "type": "function",
"function": "function(){\ncore.initTowerBoss();\n}" "function": "function(){\ncore.plugin.towerBoss.initTowerBoss();\n}"
} }
], ],
"eachArrive": [], "eachArrive": [],

Binary file not shown.

View File

@ -120,6 +120,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
// 正在切换楼层过程中执行的操作;此函数的执行时间是“屏幕完全变黑“的那一刻 // 正在切换楼层过程中执行的操作;此函数的执行时间是“屏幕完全变黑“的那一刻
// floorId为要切换到的楼层IDheroLoc表示勇士切换到的位置 // floorId为要切换到的楼层IDheroLoc表示勇士切换到的位置
const { checkLoopMap } = core.plugin.loopMap;
flags.floorChanging = true; flags.floorChanging = true;
// ---------- 此时还没有进行切换当前floorId还是原来的 ---------- // // ---------- 此时还没有进行切换当前floorId还是原来的 ---------- //
@ -136,7 +138,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
} }
// 根据分区信息自动砍层与恢复 // 根据分区信息自动砍层与恢复
if (core.autoRemoveMaps) core.autoRemoveMaps(floorId); if (core.plugin.removeMap.autoRemoveMaps)
core.plugin.removeMap.autoRemoveMaps(floorId);
// 重置画布尺寸 // 重置画布尺寸
core.maps.resizeMap(floorId); core.maps.resizeMap(floorId);
@ -177,7 +180,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
if (weather) core.setWeather(weather[0], weather[1]); if (weather) core.setWeather(weather[0], weather[1]);
else core.setWeather(); else core.setWeather();
core.checkLoopMap(); checkLoopMap();
// ...可以新增一些其他内容,比如创建个画布在右上角显示什么内容等等 // ...可以新增一些其他内容,比如创建个画布在右上角显示什么内容等等
}, },
@ -365,8 +368,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
flags[`night_${floorId}`] += enemy.day; flags[`night_${floorId}`] += enemy.day;
} }
if (core.getSkillLevel(11) > 0) { if (core.plugin.skillTree.getSkillLevel(11) > 0) {
core.declineStudiedSkill(); core.plugin.study.declineStudiedSkill();
} }
// 如果是融化怪,需要特殊标记一下 // 如果是融化怪,需要特殊标记一下
@ -618,7 +621,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
core.formatBigNumber( core.formatBigNumber(
Math.max( Math.max(
(enemy.value || 0) - (enemy.value || 0) -
core.getHeroStatusOn('def') core.plugin.hero.getHeroStatusOn('def')
) )
) + ) +
'点伤害' '点伤害'
@ -740,7 +743,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
def: hero_def, def: hero_def,
mdef: hero_mdef, mdef: hero_mdef,
hp: hero_hp hp: hero_hp
} = core.getHeroStatusOf( } = core.plugin.hero.getHeroStatusOf(
hero, hero,
['atk', 'def', 'mdef', 'hp'], ['atk', 'def', 'mdef', 'hp'],
hero?.x, hero?.x,
@ -919,6 +922,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
// 后面三个参数主要是可以在光环等效果上可以适用 // 后面三个参数主要是可以在光环等效果上可以适用
floorId = floorId || core.status.floorId; floorId = floorId || core.status.floorId;
const { backDir } = core.plugin.utils;
// 勇士位置应该在这里进行计算,四个位置依次遍历,去重 // 勇士位置应该在这里进行计算,四个位置依次遍历,去重
let toMap = []; let toMap = [];
if ( if (
@ -947,12 +952,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
} }
if ( if (
core.noPass(nx, ny) || core.noPass(nx, ny) ||
!core.canMoveHero(nx, ny, core.backDir(dir), floorId) !core.canMoveHero(nx, ny, backDir(dir), floorId)
) { ) {
continue; continue;
} }
const toGet = ['atk', 'def']; const toGet = ['atk', 'def'];
const status = core.getHeroStatusOf( const status = core.plugin.hero.getHeroStatusOf(
hero, hero,
toGet, toGet,
nx, nx,
@ -982,13 +987,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
def: mon_def, def: mon_def,
special: mon_special special: mon_special
} = enemyInfo; } = enemyInfo;
let { atk: hero_atk, def: hero_def } = core.getHeroStatusOf( let { atk: hero_atk, def: hero_def } =
hero, core.plugin.hero.getHeroStatusOf(
['atk', 'def'], hero,
x, ['atk', 'def'],
y, x,
floorId y,
); floorId
);
let hero_hp = core.getRealStatusOrDefault(hero, 'hp'), let hero_hp = core.getRealStatusOrDefault(hero, 'hp'),
hero_IQ = core.getRealStatusOrDefault(hero, 'mdef'), hero_IQ = core.getRealStatusOrDefault(hero, 'mdef'),
@ -1277,7 +1283,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
!core.status.floorId.startsWith('tower') && !core.status.floorId.startsWith('tower') &&
flags.skill2 flags.skill2
) { ) {
core.jumpSkill(); core.plugin.skillEffects.jumpSkill();
core.status.route.push('key:50'); // 将按键记在录像中 core.status.route.push('key:50'); // 将按键记在录像中
} else { } else {
if (core.hasItem('pickaxe')) { if (core.hasItem('pickaxe')) {
@ -1332,7 +1338,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
version: core.firstData.version, version: core.firstData.version,
guid: core.getGuid(), guid: core.getGuid(),
time: new Date().getTime(), time: new Date().getTime(),
skills: core.saveSkillTree() skills: core.plugin.skillTree.saveSkillTree()
}; };
return data; return data;
@ -1381,7 +1387,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
core.setFlag('__fromLoad__', true); core.setFlag('__fromLoad__', true);
// TODO增加自己的一些读档处理 // TODO增加自己的一些读档处理
core.loadSkillTree(data.skills); core.plugin.skillTree.loadSkillTree(data.skills);
// 切换到对应的楼层 // 切换到对应的楼层
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () { core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {
@ -1452,7 +1458,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
// 已学习的技能 // 已学习的技能
if ( if (
core.getSkillLevel(11) > 0 && core.plugin.skillTree.getSkillLevel(11) > 0 &&
(core.status.hero.special?.num ?? []).length > 0 (core.status.hero.special?.num ?? []).length > 0
) { ) {
core.plugin.showStudiedSkill.value = true; core.plugin.showStudiedSkill.value = true;
@ -1733,6 +1739,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
// 2, 将楼层属性中的cannotMoveDirectly这个开关勾上即禁止在该层楼使用瞬移。 // 2, 将楼层属性中的cannotMoveDirectly这个开关勾上即禁止在该层楼使用瞬移。
// 3. 将flag:cannotMoveDirectly置为true即可使用flag控制在某段剧情范围内禁止瞬移。 // 3. 将flag:cannotMoveDirectly置为true即可使用flag控制在某段剧情范围内禁止瞬移。
const { checkLoopMap } = core.plugin.loopMap;
// 增加步数 // 增加步数
core.status.hero.steps++; core.status.hero.steps++;
// 更新跟随者状态,并绘制 // 更新跟随者状态,并绘制
@ -1779,7 +1787,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
); );
} }
core.checkLoopMap(); checkLoopMap();
// 追猎 // 追猎
if (core.status.checkBlock.haveHunt) { if (core.status.checkBlock.haveHunt) {

File diff suppressed because it is too large Load Diff

18
project/plugin.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff