feat:添加更多自动存档功能
This commit is contained in:
parent
8b6664c2f0
commit
656539c0b7
@ -659,6 +659,13 @@ control.prototype.moveAction = function (callback) {
|
|||||||
var noPass = core.noPass(core.nextX(), core.nextY()), canMove = core.canMoveHero();
|
var noPass = core.noPass(core.nextX(), core.nextY()), canMove = core.canMoveHero();
|
||||||
// 下一个点如果不能走
|
// 下一个点如果不能走
|
||||||
if (noPass || !canMove) return this._moveAction_noPass(canMove, callback);
|
if (noPass || !canMove) return this._moveAction_noPass(canMove, callback);
|
||||||
|
if (core.hasFlag("autoSaveAfterItem")) {
|
||||||
|
const nextbgNumber = core.maps.getBgNumber(core.nextX(), core.nextY(), core.status.floorId);
|
||||||
|
if (core.onSki(nextbgNumber)) {
|
||||||
|
core.control.autosave();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this._moveAction_moving(callback);
|
this._moveAction_moving(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1179,8 +1186,18 @@ control.prototype.checkBlock = function () {
|
|||||||
if (currChase && currChase.length > 0) {
|
if (currChase && currChase.length > 0) {
|
||||||
core.push(actions, { "type": "function", "async": true, "function": "function(){\ncore.checkBlock_adjacentChase(true);\n}" });
|
core.push(actions, { "type": "function", "async": true, "function": "function(){\ncore.checkBlock_adjacentChase(true);\n}" });
|
||||||
}
|
}
|
||||||
if (actions.length > 0) core.insertAction(actions, x, y, core.plugin.autoClear);
|
if (ambushAction.length > 0 && core.hasFlag("autoSaveAfterItem")) {
|
||||||
else core.plugin.autoClear(); // 阻击结算后执行自动清怪
|
core.push(actions, { "type": "autoSave" }); // 捕捉触发后自动存档
|
||||||
|
}
|
||||||
|
|
||||||
|
const autoClear = core.plugin.autoClear;
|
||||||
|
if (autoClear) { // 检查autoClear的存在性,防止接档出现bug
|
||||||
|
if (actions.length > 0) core.insertAction(actions, x, y, autoClear);
|
||||||
|
else autoClear(); // 阻击结算后执行自动清怪
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (actions.length > 0) core.insertAction(actions, x, y);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
control.prototype.checkBlock_adjacentChase = function (inAction) {
|
control.prototype.checkBlock_adjacentChase = function (inAction) {
|
||||||
@ -2060,7 +2077,7 @@ control.prototype._replayAction_no = function (action) {
|
|||||||
////// 自动存档 //////
|
////// 自动存档 //////
|
||||||
control.prototype.autosave = function (removeLast) {
|
control.prototype.autosave = function (removeLast) {
|
||||||
if (core.hasFlag('__forbidSave__')) return;
|
if (core.hasFlag('__forbidSave__')) return;
|
||||||
core.saves.actionCount ++;
|
core.saves.actionCount++;
|
||||||
var x = null;
|
var x = null;
|
||||||
if (removeLast) {
|
if (removeLast) {
|
||||||
x = core.status.route.pop();
|
x = core.status.route.pop();
|
||||||
|
|||||||
@ -418,7 +418,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
|||||||
"cls": "tools",
|
"cls": "tools",
|
||||||
"name": "破墙镐",
|
"name": "破墙镐",
|
||||||
"text": "可以破坏勇士面前的墙",
|
"text": "可以破坏勇士面前的墙",
|
||||||
"useItemEffect": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.disable) return false;\n\t\treturn block.event.canBreak;\n\t};\n\n\tvar success = false;\n\tvar pickaxeFourDirections = false; // 是否多方向破;如果是将其改成true\n\tif (pickaxeFourDirections) {\n\t\t// 多方向破\n\t\tfor (var direction in core.utils.scan) { // 多方向破默认四方向,如需改成八方向请将这两个scan改为scan2\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBreak(nx, ny)) {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t\tsuccess = true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅破当前\n\t\tif (canBreak(core.nextX(), core.nextY())) {\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t\tsuccess = true;\n\t\t}\n\t}\n\n\tif (success) {\n\t\tcore.playSound('破墙镐');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\t} else {\n\t\t// 无法使用\n\t\tcore.playSound('操作失败');\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name, itemId);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();",
|
"useItemEffect": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.disable) return false;\n\t\treturn block.event.canBreak;\n\t};\n\n\tvar success = false;\n\tvar pickaxeFourDirections = false; // 是否多方向破;如果是将其改成true\n\tif (pickaxeFourDirections) {\n\t\tlet hasAutoSaved = false;\n\t\t// 多方向破\n\t\tfor (var direction in core.utils.scan) { // 多方向破默认四方向,如需改成八方向请将这两个scan改为scan2\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBreak(nx, ny)) {\n\t\t\t\tif (core.hasFlag(\"autoSaveAfterItem\")) {\n\t\t\t\t\tif (!hasAutoSaved) core.control.autosave();\n\t\t\t\t\thasAutoSaved = true;\n\t\t\t\t}\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t\tsuccess = true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅破当前\n\t\tif (canBreak(core.nextX(), core.nextY())) {\n\t\t\tif (core.hasFlag(\"autoSaveAfterItem\")) {\n\t\t\t\tcore.control.autosave();\n\t\t\t}\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t\tsuccess = true;\n\t\t}\n\t}\n\n\tif (success) {\n\t\tcore.playSound('破墙镐');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\t} else {\n\t\t// 无法使用\n\t\tcore.playSound('操作失败');\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name, itemId);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();",
|
||||||
"canUseItemEffect": "true"
|
"canUseItemEffect": "true"
|
||||||
},
|
},
|
||||||
"icePickaxe": {
|
"icePickaxe": {
|
||||||
@ -432,14 +432,14 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
|||||||
"cls": "tools",
|
"cls": "tools",
|
||||||
"name": "炸弹",
|
"name": "炸弹",
|
||||||
"text": "可以炸掉勇士面前的怪物",
|
"text": "可以炸掉勇士面前的怪物",
|
||||||
"useItemEffect": "(function () {\n\tvar bombList = []; // 炸掉的怪物坐标列表\n\tvar todo = []; // 炸弹后事件\n\tvar money = 0,\n\t\texp = 0; // 炸弹获得的金币和经验\n\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.disable || block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.getEnemyValue(block.event.id, null, x, y);\n\t\treturn { enemy, notBomb: enemy.notBomb };\n\t};\n\n\tvar bomb = function (x, y) {\n\t\tconst { enemy, notBomb } = canBomb(x, y);\n\t\tif (!enemy) {\n\t\t\tcore.drawFailTip('该点不是敌人!');\n\t\t\treturn;\n\t\t}\n\t\tif (notBomb) {\n\t\t\tcore.drawFailTip('该点敌人不可炸!');\n\t\t\treturn;\n\t\t}\n\t\tbombList.push([x, y]);\n\t\tmoney += enemy.money || 0;\n\t\texp += enemy.exp || 0;\n\t\tcore.push(todo, core.floors[core.status.floorId].afterBattle[x + \",\" + y]);\n\t\tcore.push(todo, enemy.afterBattle);\n\t\tcore.removeBlock(x, y);\n\t}\n\n\t// 如果要多方向可炸,把这里的false改成true\n\tif (false) {\n\t\tvar scan = core.utils.scan; // 多方向炸时默认四方向,如果要改成八方向炸可以改成 core.utils.scan2\n\t\tfor (var direction in scan) {\n\t\t\tvar delta = scan[direction];\n\t\t\tbomb(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y);\n\t\t}\n\t} else {\n\t\t// 仅炸当前\n\t\tbomb(core.nextX(), core.nextY());\n\t}\n\n\tif (bombList.length == 0) {\n\t\tcore.playSound('操作失败');\n\t\tcore.drawTip('当前无法使用' + core.material.items[itemId].name, itemId);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n\n\tcore.playSound('炸弹');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\n\t// 取消这里的注释可以炸弹后获得金币和经验\n\t// core.status.hero.money += money;\n\t// core.status.hero.exp += exp;\n\n\t// 取消这里的注释可以炸弹引发战后事件\n\t// if (todo.length > 0) core.insertAction(todo);\n\n})();",
|
"useItemEffect": "(function () {\n\tconst bombList = []; // 炸掉的怪物坐标列表\n\tconst todo = []; // 炸弹后事件\n\tlet money = 0,\n\t\texp = 0; // 炸弹获得的金币和经验\n\n\tconst canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.disable || block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.getEnemyValue(block.event.id, null, x, y);\n\t\treturn { enemy, notBomb: enemy.notBomb };\n\t};\n\n\tlet hasAutoSaved = false;\n\n\tconst bomb = function (x, y) {\n\t\tconst { enemy, notBomb } = canBomb(x, y);\n\t\tif (!enemy) {\n\t\t\tcore.drawFailTip('该点不是敌人!');\n\t\t\treturn;\n\t\t}\n\t\tif (notBomb) {\n\t\t\tcore.drawFailTip('该点敌人不可炸!');\n\t\t\treturn;\n\t\t}\n\t\tif (core.hasFlag(\"autoSaveAfterItem\")) {\n\t\t\tif (!hasAutoSaved) core.control.autosave();\n\t\t\thasAutoSaved = true;\n\t\t}\n\t\tbombList.push([x, y]);\n\t\tmoney += enemy.money || 0;\n\t\texp += enemy.exp || 0;\n\t\tcore.push(todo, core.floors[core.status.floorId].afterBattle[x + \",\" + y]);\n\t\tcore.push(todo, enemy.afterBattle);\n\t\tcore.removeBlock(x, y);\n\t}\n\n\t// 如果要多方向可炸,把这里的false改成true\n\tif (false) {\n\t\tvar scan = core.utils.scan; // 多方向炸时默认四方向,如果要改成八方向炸可以改成 core.utils.scan2\n\t\tfor (var direction in scan) {\n\t\t\tvar delta = scan[direction];\n\t\t\tbomb(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y);\n\t\t}\n\t} else {\n\t\t// 仅炸当前\n\t\tbomb(core.nextX(), core.nextY());\n\t}\n\n\tif (bombList.length == 0) {\n\t\tcore.playSound('操作失败');\n\t\tcore.drawTip('当前无法使用' + core.material.items[itemId].name, itemId);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n\n\tcore.playSound('炸弹');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\n\t// 取消这里的注释可以炸弹后获得金币和经验\n\t// core.status.hero.money += money;\n\t// core.status.hero.exp += exp;\n\n\t// 取消这里的注释可以炸弹引发战后事件\n\t// if (todo.length > 0) core.insertAction(todo);\n\n})();",
|
||||||
"canUseItemEffect": "true"
|
"canUseItemEffect": "true"
|
||||||
},
|
},
|
||||||
"centerFly": {
|
"centerFly": {
|
||||||
"cls": "tools",
|
"cls": "tools",
|
||||||
"name": "中心对称飞行器",
|
"name": "中心对称飞行器",
|
||||||
"text": "可以飞向当前楼层中心对称的位置",
|
"text": "可以飞向当前楼层中心对称的位置",
|
||||||
"useItemEffect": "core.playSound('centerFly.mp3');\ncore.clearMap('hero');\ncore.setHeroLoc('x', core.bigmap.width - 1 - core.getHeroLoc('x'));\ncore.setHeroLoc('y', core.bigmap.height - 1 - core.getHeroLoc('y'));\ncore.drawHero();\ncore.drawTip(core.material.items[itemId].name + '使用成功');",
|
"useItemEffect": "if (core.hasFlag(\"autoSaveAfterItem\")) {\n\tcore.control.autosave();\n}\ncore.playSound('centerFly.mp3');\ncore.clearMap('hero');\ncore.setHeroLoc('x', core.bigmap.width - 1 - core.getHeroLoc('x'));\ncore.setHeroLoc('y', core.bigmap.height - 1 - core.getHeroLoc('y'));\ncore.drawHero();\ncore.drawTip(core.material.items[itemId].name + '使用成功');",
|
||||||
"canUseItemEffect": "(function () {\n\tvar toX = core.bigmap.width - 1 - core.getHeroLoc('x'),\n\t\ttoY = core.bigmap.height - 1 - core.getHeroLoc('y');\n\tvar id = core.getBlockId(toX, toY);\n\treturn id == null;\n})();"
|
"canUseItemEffect": "(function () {\n\tvar toX = core.bigmap.width - 1 - core.getHeroLoc('x'),\n\t\ttoY = core.bigmap.height - 1 - core.getHeroLoc('y');\n\tvar id = core.getBlockId(toX, toY);\n\treturn id == null;\n})();"
|
||||||
},
|
},
|
||||||
"upFly": {
|
"upFly": {
|
||||||
@ -500,7 +500,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
|||||||
"cls": "tools",
|
"cls": "tools",
|
||||||
"name": "跳跃靴",
|
"name": "跳跃靴",
|
||||||
"text": "能跳跃到前方两格处",
|
"text": "能跳跃到前方两格处",
|
||||||
"useItemEffect": "core.playSound(\"跳跃\");\ncore.insertAction({ \"type\": \"jumpHero\", \"loc\": [core.nextX(2), core.nextY(2)] });",
|
"useItemEffect": "if (core.hasFlag(\"autoSaveAfterItem\")) {\n\tcore.control.autosave();\n}\ncore.playSound(\"跳跃\");\ncore.insertAction({ \"type\": \"jumpHero\", \"loc\": [core.nextX(2), core.nextY(2)] });",
|
||||||
"canUseItemEffect": "(function () {\n\tvar nx = core.nextX(2),\n\t\tny = core.nextY(2);\n\treturn nx >= 0 && nx < core.bigmap.width && ny >= 0 && ny < core.bigmap.height && core.getBlockId(nx, ny) == null;\n})();"
|
"canUseItemEffect": "(function () {\n\tvar nx = core.nextX(2),\n\t\tny = core.nextY(2);\n\treturn nx >= 0 && nx < core.bigmap.width && ny >= 0 && ny < core.bigmap.height && core.getBlockId(nx, ny) == null;\n})();"
|
||||||
},
|
},
|
||||||
"wand": {
|
"wand": {
|
||||||
@ -527,7 +527,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
|||||||
"name": "新物品",
|
"name": "新物品",
|
||||||
"canUseItemEffect": null,
|
"canUseItemEffect": null,
|
||||||
"useItemEffect": null,
|
"useItemEffect": null,
|
||||||
"useItemEvent": null,
|
"useItemEvent": null
|
||||||
},
|
},
|
||||||
"orb": {
|
"orb": {
|
||||||
"cls": "items",
|
"cls": "items",
|
||||||
|
|||||||
@ -4521,8 +4521,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
const button = this.btnMap.get('1,1');
|
const button = this.btnMap.get('1,1');
|
||||||
if (button) this.focus(button, '1,1');
|
if (button) this.focus(button, '1,1');
|
||||||
return;
|
return;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
[x, y] = this.selectedPos.split(',').map((x) => parseInt(x));
|
[x, y] = this.selectedPos.split(',').map((x) => parseInt(x));
|
||||||
if (keyCode === KeyCodeEnum.Left) x--;
|
if (keyCode === KeyCodeEnum.Left) x--;
|
||||||
if (keyCode === KeyCodeEnum.Up) y--;
|
if (keyCode === KeyCodeEnum.Up) y--;
|
||||||
@ -4540,15 +4539,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
if (this.btnMap.has(newPos)) {
|
if (this.btnMap.has(newPos)) {
|
||||||
const button = this.btnMap.get(newPos);
|
const button = this.btnMap.get(newPos);
|
||||||
this.focus(button, newPos);
|
this.focus(button, newPos);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
newPos = '1,' + y;
|
newPos = '1,' + y;
|
||||||
changePos(newPos);
|
changePos(newPos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
switch (keyCode) {
|
switch (keyCode) {
|
||||||
case KeyCodeEnum.Enter: // Enter/Space
|
case KeyCodeEnum.Enter: // Enter/Space
|
||||||
case KeyCodeEnum.SpaceBar:
|
case KeyCodeEnum.SpaceBar:
|
||||||
@ -4594,8 +4591,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
super.drawContent();
|
super.drawContent();
|
||||||
if (this.text && this.text.length > 0) {
|
if (this.text && this.text.length > 0) {
|
||||||
core.ui.drawTextContent(ctx, this.text, {
|
core.ui.drawTextContent(ctx, this.text, {
|
||||||
left: 30, top: 78, bold: false, color: "white",
|
left: 30,
|
||||||
align: "left", fontSize: 14, maxWidth: 350
|
top: 78,
|
||||||
|
bold: false,
|
||||||
|
color: "white",
|
||||||
|
align: "left",
|
||||||
|
fontSize: 14,
|
||||||
|
maxWidth: 350
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4818,6 +4820,14 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
},
|
},
|
||||||
text: '一个楼层已无物品、敌人、NPC(不含已忽略图块),且无未到达楼层传送口时可被自动隐藏,仅在首次进入此状态时在楼传界面触发。',
|
text: '一个楼层已无物品、敌人、NPC(不含已忽略图块),且无未到达楼层传送口时可被自动隐藏,仅在首次进入此状态时在楼传界面触发。',
|
||||||
replay: true,
|
replay: true,
|
||||||
|
},
|
||||||
|
autoSaveAfterItem: {
|
||||||
|
getName: () => '破炸飞跳自动保存:' + (core.hasFlag('autoSaveAfterItem') ? '开' : '关'),
|
||||||
|
effect: () => {
|
||||||
|
invertFlag('autoSaveAfterItem');
|
||||||
|
},
|
||||||
|
text: '使用破、炸、飞、跳等特定道具前,以及即将走入滑冰、触发捕捉时自动存档。',
|
||||||
|
replay: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4854,6 +4864,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
['2,4', 'skipPeform', new SettingButton(220, 305, 150, 25)],
|
['2,4', 'skipPeform', new SettingButton(220, 305, 150, 25)],
|
||||||
['1,5', 'comment', new SettingButton(40, 330, 150, 25)],
|
['1,5', 'comment', new SettingButton(40, 330, 150, 25)],
|
||||||
['2,5', 'autoHideFloor', new SettingButton(220, 330, 150, 25)],
|
['2,5', 'autoHideFloor', new SettingButton(220, 330, 150, 25)],
|
||||||
|
['1,6', 'autoSaveAfterItem', new SettingButton(40, 355, 150, 25)],
|
||||||
]);
|
]);
|
||||||
return gamePlayMenu;
|
return gamePlayMenu;
|
||||||
}
|
}
|
||||||
@ -5000,8 +5011,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
},
|
},
|
||||||
setHotKey: {
|
setHotKey: {
|
||||||
getName: () => '',
|
getName: () => '',
|
||||||
effect: /** @this {GameView} */
|
effect: /** @this {GameView} */ function (num) {
|
||||||
function (num) {
|
|
||||||
core.utils.myprompt('输入物品名。名称(例如:破墙镐)或英文ID(例如:pickaxe)均可。', '', (value) => {
|
core.utils.myprompt('输入物品名。名称(例如:破墙镐)或英文ID(例如:pickaxe)均可。', '', (value) => {
|
||||||
const itemInfo = core.material.items;
|
const itemInfo = core.material.items;
|
||||||
const aimItem = Object.values(itemInfo).find((item) => item.name === value || item.id === value);
|
const aimItem = Object.values(itemInfo).find((item) => item.name === value || item.id === value);
|
||||||
@ -5024,8 +5034,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
},
|
},
|
||||||
text: '给选定的数字键绑定一个可快捷使用的物品。',
|
text: '给选定的数字键绑定一个可快捷使用的物品。',
|
||||||
replay: false,
|
replay: false,
|
||||||
draw: /** @this {SettingButton} */
|
draw: /** @this {SettingButton} */ function (ctx, num) {
|
||||||
function (ctx, num) {
|
|
||||||
const item = core.getLocalStorage('hotkey' + num, null);
|
const item = core.getLocalStorage('hotkey' + num, null);
|
||||||
let icon, itemName;
|
let icon, itemName;
|
||||||
if (item && core.material.items.hasOwnProperty(item)) {
|
if (item && core.material.items.hasOwnProperty(item)) {
|
||||||
@ -5056,8 +5065,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
},
|
},
|
||||||
clearHotKeys: {
|
clearHotKeys: {
|
||||||
getName: () => '',
|
getName: () => '',
|
||||||
effect: /** @this {GameView} */
|
effect: /** @this {GameView} */ function () {
|
||||||
function () {
|
|
||||||
for (let i = 1; i <= 9; i++) {
|
for (let i = 1; i <= 9; i++) {
|
||||||
core.setLocalStorage('hotkey' + i, null);
|
core.setLocalStorage('hotkey' + i, null);
|
||||||
}
|
}
|
||||||
@ -5066,8 +5074,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
},
|
},
|
||||||
text: '重置本页面所有快捷键到默认状态。',
|
text: '重置本页面所有快捷键到默认状态。',
|
||||||
replay: false,
|
replay: false,
|
||||||
draw: /** @this {SettingButton} */
|
draw: /** @this {SettingButton} */ function (ctx) {
|
||||||
function (ctx) {
|
|
||||||
core.fillRoundRect(ctx, this.x, this.y, this.w, this.h, 3, '#D3D3D3');
|
core.fillRoundRect(ctx, this.x, this.y, this.w, this.h, 3, '#D3D3D3');
|
||||||
core.strokeRoundRect(ctx, this.x, this.y, this.w, this.h, 3, '#888888');
|
core.strokeRoundRect(ctx, this.x, this.y, this.w, this.h, 3, '#888888');
|
||||||
core.fillText(ctx, '重置', this.x + 5, this.y + this.h / 2 + 5, '#333333', '16px Verdana');
|
core.fillText(ctx, '重置', this.x + 5, this.y + this.h / 2 + 5, '#333333', '16px Verdana');
|
||||||
@ -5188,8 +5195,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
core.fillText(ctx, '可选按钮', 40, 265, ' #FFE4B5', '16px Verdana');
|
core.fillText(ctx, '可选按钮', 40, 265, ' #FFE4B5', '16px Verdana');
|
||||||
if (this.text && this.text.length > 0) {
|
if (this.text && this.text.length > 0) {
|
||||||
core.ui.drawTextContent(ctx, this.text, {
|
core.ui.drawTextContent(ctx, this.text, {
|
||||||
left: 30, top: 78, bold: false, color: "white",
|
left: 30,
|
||||||
align: "left", fontSize: 14, maxWidth: 350
|
top: 78,
|
||||||
|
bold: false,
|
||||||
|
color: "white",
|
||||||
|
align: "left",
|
||||||
|
fontSize: 14,
|
||||||
|
maxWidth: 350
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
super.drawContent();
|
super.drawContent();
|
||||||
@ -5264,22 +5276,35 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
/** @this {ConsoleMenu} */
|
/** @this {ConsoleMenu} */
|
||||||
effect: function () {
|
effect: function () {
|
||||||
const dictionary = {
|
const dictionary = {
|
||||||
'体力': 'hp', '血量': 'hp', '生命': 'hp', '血': 'hp',
|
'体力': 'hp',
|
||||||
'体力上限': 'hpmax', '血量上限': 'hpmax', '生命上限': 'hpmax', '血限': 'hpmax',
|
'血量': 'hp',
|
||||||
'攻击': 'atk', '攻': 'atk',
|
'生命': 'hp',
|
||||||
'防御': 'def', '防': 'def',
|
'血': 'hp',
|
||||||
'魔防': 'mdef', '护盾': 'mdef', 'mf': 'mdef',
|
'体力上限': 'hpmax',
|
||||||
'金币': 'money', '金钱': 'money', '钱': 'money',
|
'血量上限': 'hpmax',
|
||||||
|
'生命上限': 'hpmax',
|
||||||
|
'血限': 'hpmax',
|
||||||
|
'攻击': 'atk',
|
||||||
|
'攻': 'atk',
|
||||||
|
'防御': 'def',
|
||||||
|
'防': 'def',
|
||||||
|
'魔防': 'mdef',
|
||||||
|
'护盾': 'mdef',
|
||||||
|
'mf': 'mdef',
|
||||||
|
'金币': 'money',
|
||||||
|
'金钱': 'money',
|
||||||
|
'钱': 'money',
|
||||||
'经验': 'exp',
|
'经验': 'exp',
|
||||||
'魔力': 'mana', '魔': 'mana', '蓝': 'mana',
|
'魔力': 'mana',
|
||||||
|
'魔': 'mana',
|
||||||
|
'蓝': 'mana',
|
||||||
};
|
};
|
||||||
core.utils.myprompt('输入要修改的属性名称', '', (value) => {
|
core.utils.myprompt('输入要修改的属性名称', '', (value) => {
|
||||||
const heroStatus = core.status.hero;
|
const heroStatus = core.status.hero;
|
||||||
if (dictionary.hasOwnProperty(value)) {
|
if (dictionary.hasOwnProperty(value)) {
|
||||||
value = dictionary[value];
|
value = dictionary[value];
|
||||||
}
|
}
|
||||||
if (heroStatus && heroStatus.hasOwnProperty(value) &&
|
if (heroStatus && heroStatus.hasOwnProperty(value) && ['hp', 'hpmax', 'atk', 'def', 'mdef', 'money', 'exp', 'mana', 'manamax'].includes(value)) {
|
||||||
['hp', 'hpmax', 'atk', 'def', 'mdef', 'money', 'exp', 'mana', 'manamax'].includes(value)) {
|
|
||||||
core.setFlag('debug_statusName', value);
|
core.setFlag('debug_statusName', value);
|
||||||
this.menu.drawContent();
|
this.menu.drawContent();
|
||||||
} else {
|
} else {
|
||||||
@ -5652,8 +5677,11 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
const quit = new TextButton(360, 10, 45, 25, '[退出]');
|
const quit = new TextButton(360, 10, 45, 25, '[退出]');
|
||||||
|
|
||||||
settingMenu.registerBtns([
|
settingMenu.registerBtns([
|
||||||
[0, gamePlayBtn], [1, gameViewBtn],
|
[0, gamePlayBtn],
|
||||||
[2, keyBtn], [3, toolBarBtn], [4, consoleBtn],
|
[1, gameViewBtn],
|
||||||
|
[2, keyBtn],
|
||||||
|
[3, toolBarBtn],
|
||||||
|
[4, consoleBtn],
|
||||||
['quit', quit, () => settingMenu.quit()]
|
['quit', quit, () => settingMenu.quit()]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -5667,8 +5695,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
}
|
}
|
||||||
// @todo 新版存档界面
|
// @todo 新版存档界面
|
||||||
},
|
},
|
||||||
"opusAdaptation":
|
"opusAdaptation": function () {
|
||||||
function () {
|
|
||||||
// 将__enable置为false将关闭插件
|
// 将__enable置为false将关闭插件
|
||||||
let __enable = true;
|
let __enable = true;
|
||||||
if (!__enable || main.mode === "editor") return;
|
if (!__enable || main.mode === "editor") return;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user