怪物详细信息光环错误;钥匙不消耗

This commit is contained in:
ckcz123 2020-05-26 14:40:04 +08:00
parent f90814b5ff
commit 20f2671206
5 changed files with 22 additions and 16 deletions

View File

@ -507,25 +507,27 @@ doorKeyList
doorKeyKnown
: Key_List ':' Int BEND
: Key_List ':' Int '需要但不消耗' Bool BEND
/* doorKeyKnown
tooltip : 需要钥匙
default : ['yellowKey', 1]
default : ['yellowKey', 1, false]
helpUrl : https://h5mota.com/games/template/_docs/#/event
if (Bool_0) Key_List_0 += ':o';
return '"'+Key_List_0+'": '+Int_0+', ';
*/;
doorKeyUnknown
: IdString ':' Int BEND
: IdString ':' Int '需要但不消耗' Bool BEND
/* doorKeyUnknown
tooltip : 需要钥匙
default : ['orangeKey', 1]
default : ['orangeKey', 1, false]
helpUrl : https://h5mota.com/games/template/_docs/#/event
allItems : ['IdString_0']
if (Bool_0) IdString_0 += ':o';
return '"'+IdString_0+'": '+Int_0+', ';
*/;

View File

@ -81,9 +81,11 @@ ActionParser.prototype.parse = function (obj,type) {
var text_choices = null;
var knownListKeys = MotaActionBlocks['Key_List'].options.map(function (one) {return one[1];})
Object.keys(obj).sort().forEach(function (key) {
var noNeed = key.endsWith(':o');
if (noNeed) key = key.substring(0, key.length - 2);
var one = knownListKeys.indexOf(key) >= 0 ? 'doorKeyKnown' : 'doorKeyUnknown';
text_choices = MotaActionBlocks[one].xmlText([
one == 'doorKeyUnknown' ? MotaActionFunctions.replaceToName_token(key) : key, obj[key], text_choices
one == 'doorKeyUnknown' ? MotaActionFunctions.replaceToName_token(key) : key, obj[key], noNeed, text_choices
]);
})
return text_choices;

View File

@ -471,20 +471,22 @@ events.prototype._openDoor_check = function (id, x, y, needKey) {
var keyInfo = doorInfo.keys || {};
if (needKey) {
for (var keyName in keyInfo) {
var keyValue = keyInfo[keyName];
if (keyName.endsWith(':o')) keyName = keyName.substring(0, keyName.length - 2);
// --- 如果是一个不存在的道具,则直接认为无法开启
if (!core.material.items[keyName]) {
core.drawTip("无法开启此门");
return clearAndReturn();
}
var keyValue = keyInfo[keyName];
if (core.itemCount(keyName) < keyValue) {
core.drawTip("你没有" + ((core.material.items[keyName] || {}).name || "钥匙"), null, true);
core.drawTip("你" + ((core.material.items[keyName] || {}).name || "钥匙") + "不足!", null, true);
return false;
}
}
if (!core.status.event.id) core.autosave(true);
for (var keyName in keyInfo) {
core.removeItem(keyName, keyInfo[keyName]);
for (var keyName in keyInfo) {
if (!keyName.endsWith(':o')) core.removeItem(keyName, keyInfo[keyName]);
}
}
core.playSound(doorInfo.openSound);

View File

@ -2134,15 +2134,15 @@ ui.prototype._drawBookDetail_hatred = function (enemy, texts) {
}
ui.prototype._drawBookDetail_turnAndCriticals = function (enemy, floorId, texts) {
var damageInfo = core.getDamageInfo(enemy, null, null, null, floorId);
var damageInfo = core.getDamageInfo(enemy.id, null, null, null, floorId);
texts.push("\r[#FF6A6A]\\d战斗回合数\\d\r[]"+((damageInfo||{}).turn||0));
// 临界表
var criticals = core.enemys.nextCriticals(enemy, 8, null, null, floorId).map(function (v) {
var criticals = core.enemys.nextCriticals(enemy.id, 8, null, null, floorId).map(function (v) {
return core.formatBigNumber(v[0])+":"+core.formatBigNumber(v[1]);
});
while (criticals[0]=='0:0') criticals.shift();
texts.push("\r[#FF6A6A]\\d临界表\\d\r[]"+JSON.stringify(criticals));
var prevInfo = core.getDamageInfo(enemy, {atk: core.status.hero.atk-1}, null, null, floorId);
var prevInfo = core.getDamageInfo(enemy.id, {atk: core.status.hero.atk-1}, null, null, floorId);
if (prevInfo != null && damageInfo != null) {
if (damageInfo.damage != null) damageInfo = damageInfo.damage;
if (prevInfo.damage != null) prevInfo = prevInfo.damage;
@ -2548,8 +2548,8 @@ ui.prototype._drawEquipbox_drawStatusChanged = function (info, y, equip, equipTy
if (typeof core.status.hero[name] != 'number') continue;
var nowValue = core.getRealStatus(name);
// 查询新值
var newValue = (core.getStatus(name) + (compare.value[name] || 0))
* ((core.getBuff(name) * 100 + (compare.percentage[name] || 0)) / 100);
var newValue = Math.floor((core.getStatus(name) + (compare.value[name] || 0))
* (core.getBuff(name) * 100 + (compare.percentage[name] || 0)) / 100);
if (nowValue == newValue) continue;
var text = this._drawEquipbox_getStatusName(name);
this._drawEquipbox_drawStatusChanged_draw(text + " ", '#CCCCCC', obj);

View File

@ -70,9 +70,9 @@
(已完成!) \t[this], 勇士朝下flag:arg清理瞬移扣血
(OK) 同步存档合并;(OK) 失去焦点右键;(OK) 竖屏标题界面背景;(OK)商店录像bug
(OK) 右键反复弹出;(OK) 上下楼梯绑定楼传;(OK) 属性框出现0问题(OK) 上下楼点选点
(OK) 地图编辑框无效;(OK) jumpHero和帧动画冲突bookDetails重复计算buff(OK) 怪物属性多选
(OK) 地图编辑框无效;(OK) jumpHero和帧动画冲突(OK) bookDetails重复计算buff(OK) 怪物属性多选
(OK) 图片化文本翻转;(OK) 绘制矩形(边框)旋转;
特殊属性&光环检查;钥匙不消耗;录像接档问题
特殊属性&光环检查;(OK) 钥匙不消耗;录像接档问题
-------------