display critical on map

This commit is contained in:
oc 2018-04-17 23:34:47 +08:00
parent 85d45d0147
commit 3dba1a375a
4 changed files with 47 additions and 24 deletions

View File

@ -1389,15 +1389,21 @@ actions.prototype.clickSwitchs = function (x,y) {
core.ui.drawSwitchs(); core.ui.drawSwitchs();
break; break;
case 4: case 4:
core.flags.displayCritical=!core.flags.displayCritical;
core.updateFg();
core.setLocalStorage('critical', core.flags.displayCritical);
core.ui.drawSwitchs();
break;
case 5:
core.flags.displayExtraDamage=!core.flags.displayExtraDamage; core.flags.displayExtraDamage=!core.flags.displayExtraDamage;
core.updateFg(); core.updateFg();
core.setLocalStorage('extraDamage', core.flags.displayExtraDamage); core.setLocalStorage('extraDamage', core.flags.displayExtraDamage);
core.ui.drawSwitchs(); core.ui.drawSwitchs();
break; break;
case 5: case 6:
window.open(core.firstData.name+".zip", "_blank"); window.open(core.firstData.name+".zip", "_blank");
break; break;
case 6: case 7:
core.status.event.selection=0; core.status.event.selection=0;
core.ui.drawSettings(); core.ui.drawSettings();
break; break;

View File

@ -1252,7 +1252,7 @@ control.prototype.updateFg = function () {
if (!core.hasItem('book')) return; if (!core.hasItem('book')) return;
core.setFont('fg', "bold 11px Arial"); core.setFont('fg', "bold 11px Arial");
var hero_hp = core.status.hero.hp; var hero_hp = core.status.hero.hp;
if (core.flags.displayEnemyDamage) { if (core.flags.displayEnemyDamage || core.flags.displayCritical) {
core.canvas.fg.textAlign = 'left'; core.canvas.fg.textAlign = 'left';
for (var b = 0; b < mapBlocks.length; b++) { for (var b = 0; b < mapBlocks.length; b++) {
var x = mapBlocks[b].x, y = mapBlocks[b].y; var x = mapBlocks[b].x, y = mapBlocks[b].y;
@ -1271,6 +1271,7 @@ control.prototype.updateFg = function () {
var id = mapBlocks[b].event.id; var id = mapBlocks[b].event.id;
if (core.flags.displayEnemyDamage) {
var damage = core.enemys.getDamage(id); var damage = core.enemys.getDamage(id);
var color = '#000000'; var color = '#000000';
@ -1296,6 +1297,20 @@ control.prototype.updateFg = function () {
core.setFillStyle('fg', color); core.setFillStyle('fg', color);
core.canvas.fg.fillText(damage, 32 * x + 1, 32 * (y + 1) - 1); core.canvas.fg.fillText(damage, 32 * x + 1, 32 * (y + 1) - 1);
}
// 临界显伤
if (core.flags.displayCritical) {
var critical = core.formatBigNumber(core.enemys.getCritical(id));
if (critical == '???') critical = '?';
core.setFillStyle('fg', '#000000');
core.canvas.fg.fillText(critical, 32 * x + 2, 32 * (y + 1) - 2 - 10);
core.canvas.fg.fillText(critical, 32 * x, 32 * (y + 1) - 2 - 10);
core.canvas.fg.fillText(critical, 32 * x + 2, 32 * (y + 1) - 10);
core.canvas.fg.fillText(critical, 32 * x, 32 * (y + 1) - 10);
core.setFillStyle('fg', '#FFFFFF');
core.canvas.fg.fillText(critical, 32 * x + 1, 32 * (y + 1) - 1 - 10);
}
} }
} }

View File

@ -268,6 +268,7 @@ core.prototype.init = function (coreData, callback) {
// switchs // switchs
core.flags.battleAnimate = core.getLocalStorage('battleAnimate', core.flags.battleAnimate); core.flags.battleAnimate = core.getLocalStorage('battleAnimate', core.flags.battleAnimate);
core.flags.displayEnemyDamage = core.getLocalStorage('enemyDamage', core.flags.displayEnemyDamage); core.flags.displayEnemyDamage = core.getLocalStorage('enemyDamage', core.flags.displayEnemyDamage);
core.flags.displayCritical = core.getLocalStorage('critical', core.flags.displayCritical);
core.flags.displayExtraDamage = core.getLocalStorage('extraDamage', core.flags.displayExtraDamage); core.flags.displayExtraDamage = core.getLocalStorage('extraDamage', core.flags.displayExtraDamage);
core.material.ground = new Image(); core.material.ground = new Image();

View File

@ -734,6 +734,7 @@ ui.prototype.drawSwitchs = function() {
"背景音效:"+(core.musicStatus.soundStatus ? "[ON]" : "[OFF]"), "背景音效:"+(core.musicStatus.soundStatus ? "[ON]" : "[OFF]"),
"战斗动画: "+(core.flags.battleAnimate ? "[ON]" : "[OFF]"), "战斗动画: "+(core.flags.battleAnimate ? "[ON]" : "[OFF]"),
"怪物显伤: "+(core.flags.displayEnemyDamage ? "[ON]" : "[OFF]"), "怪物显伤: "+(core.flags.displayEnemyDamage ? "[ON]" : "[OFF]"),
"临界显伤: "+(core.flags.displayCritical ? "[ON]" : "[OFF]"),
"领域显伤: "+(core.flags.displayExtraDamage ? "[ON]" : "[OFF]"), "领域显伤: "+(core.flags.displayExtraDamage ? "[ON]" : "[OFF]"),
"下载离线版本", "下载离线版本",
"返回主菜单" "返回主菜单"