diff --git a/libs/enemys.js b/libs/enemys.js index c6350103..7f87fc4e 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -260,22 +260,17 @@ enemys.prototype.getCurrentEnemys = function (floorId) { var critical = this.nextCriticals(enemyId); if (critical.length>0) critical=critical[0]; - enemys.push({ - 'id': enemyId, - 'name': enemy.name, - 'hp': enemyInfo.hp, - 'atk': enemyInfo.atk, - 'def': enemyInfo.def, - 'money': enemyInfo.money||0, - 'experience': enemyInfo.experience||0, - 'point': enemyInfo.point||0, // 加点 - 'special': specialText, - 'damage': this.getDamage(enemyId,null,null,floorId), - 'critical': critical[0], - 'criticalDamage': critical[1], - 'defDamage': this.getDefDamage(enemyId,1,null,null,floorId) - }); - + var e = core.clone(enemy); + for (var x in enemyInfo) { + e[x] = enemyInfo[x]; + } + e.id = enemyId; + e.specialText = specialText; + e.damage = this.getDamage(enemyId, null, null, floorId); + e.critical = critical[0]; + e.criticalDamage = critical[1]; + e.defDamage = this.getDefDamage(enemyId,1,null,null,floorId); + enemys.push(e); used[enemyId] = true; } } diff --git a/libs/events.js b/libs/events.js index 220b6ba8..8aade557 100644 --- a/libs/events.js +++ b/libs/events.js @@ -810,7 +810,7 @@ events.prototype.doAction = function() { var value=core.calValue(data.value); // 属性 if (data.name.indexOf("status:")==0) { - value=parseFloat(value); + // value=parseFloat(value); core.setStatus(data.name.substring(7), value); } // 道具 diff --git a/libs/ui.js b/libs/ui.js index 80292eef..0bec6669 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1340,25 +1340,25 @@ ui.prototype.drawBook = function (index) { // 数据 core.canvas.ui.textAlign = "center"; - if (enemy.special=='') { + if (enemy.specialText=='') { core.fillText('ui', enemy.name, 115, 62 * i + 47, '#DDDDDD', 'bold 17px Verdana'); } else { core.fillText('ui', enemy.name, 115, 62 * i + 40, '#DDDDDD', 'bold 17px Verdana'); - core.fillText('ui', enemy.special, 115, 62 * i + 62, '#FF6A6A', 'bold 15px Verdana'); + core.fillText('ui', enemy.specialText, 115, 62 * i + 62, '#FF6A6A', 'bold 15px Verdana'); } core.canvas.ui.textAlign = "left"; core.fillText('ui', '生命', 165, 62 * i + 32, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.hp), 195, 62 * i + 32, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.hp||0), 195, 62 * i + 32, '#DDDDDD', 'bold 13px Verdana'); core.fillText('ui', '攻击', 255, 62 * i + 32, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.atk), 285, 62 * i + 32, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.atk||0), 285, 62 * i + 32, '#DDDDDD', 'bold 13px Verdana'); core.fillText('ui', '防御', 335, 62 * i + 32, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.def), 365, 62 * i + 32, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.def||0), 365, 62 * i + 32, '#DDDDDD', 'bold 13px Verdana'); var expOffset = 165, line_cnt=0; if (core.flags.enableMoney) { core.fillText('ui', '金币', 165, 62 * i + 50, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.money), 195, 62 * i + 50, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.money||0), 195, 62 * i + 50, '#DDDDDD', 'bold 13px Verdana'); expOffset = 255; line_cnt++; } @@ -1367,7 +1367,7 @@ ui.prototype.drawBook = function (index) { if (core.flags.enableAddPoint) { core.canvas.ui.textAlign = "left"; core.fillText('ui', '加点', expOffset, 62 * i + 50, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.point), expOffset + 30, 62 * i + 50, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.point||0), expOffset + 30, 62 * i + 50, '#DDDDDD', 'bold 13px Verdana'); expOffset = 255; line_cnt++; } @@ -1375,7 +1375,7 @@ ui.prototype.drawBook = function (index) { if (core.flags.enableExperience && line_cnt<2) { core.canvas.ui.textAlign = "left"; core.fillText('ui', '经验', expOffset, 62 * i + 50, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.experience), expOffset + 30, 62 * i + 50, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.experience||0), expOffset + 30, 62 * i + 50, '#DDDDDD', 'bold 13px Verdana'); line_cnt++; } @@ -1396,14 +1396,14 @@ ui.prototype.drawBook = function (index) { if (damage<=0) color = '#00FF00'; damage = core.formatBigNumber(damage); - if (core.enemys.hasSpecial(core.material.enemys[enemy.id], 19)) + if (core.enemys.hasSpecial(enemy, 19)) damage += "+"; - if (core.enemys.hasSpecial(core.material.enemys[enemy.id], 21)) + if (core.enemys.hasSpecial(enemy, 21)) damage += "-"; - if (core.enemys.hasSpecial(core.material.enemys[enemy.id], 11)) + if (core.enemys.hasSpecial(enemy, 11)) damage += "^"; } - if (core.material.enemys[enemy.id].notBomb) + if (enemy.notBomb) damage += "[b]"; core.fillText('ui', damage, damageOffset, 62 * i + 50, color, 'bold 13px Verdana'); @@ -1411,11 +1411,11 @@ ui.prototype.drawBook = function (index) { core.canvas.ui.textAlign = "left"; core.fillText('ui', '临界', 165, 62 * i + 68, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.critical), 195, 62 * i + 68, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.critical||0), 195, 62 * i + 68, '#DDDDDD', 'bold 13px Verdana'); core.fillText('ui', '减伤', 255, 62 * i + 68, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.criticalDamage), 285, 62 * i + 68, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.criticalDamage||0), 285, 62 * i + 68, '#DDDDDD', 'bold 13px Verdana'); core.fillText('ui', '1防', 335, 62 * i + 68, '#DDDDDD', '13px Verdana'); - core.fillText('ui', core.formatBigNumber(enemy.defDamage), 365, 62 * i + 68, '#DDDDDD', 'bold 13px Verdana'); + core.fillText('ui', core.formatBigNumber(enemy.defDamage||0), 365, 62 * i + 68, '#DDDDDD', 'bold 13px Verdana'); if (index == start+i) { core.strokeRect('ui', 10, 62 * i + 13, 416-10*2, 62, '#FFD700'); @@ -1436,8 +1436,7 @@ ui.prototype.drawBookDetail = function (index) { if (index<0) index=0; if (index>=enemys.length) index=enemys.length-1; - var enemyId=enemys[index].id; - var enemy = core.material.enemys[enemyId]; + var enemy = enemys[index], enemyId = enemy.id; var hints=core.enemys.getSpecialHint(enemy); if (hints.length==0)