diff --git a/project/data.js b/project/data.js index 49e1aef4..2c698669 100644 --- a/project/data.js +++ b/project/data.js @@ -140,7 +140,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "items": { "constants": { "book": 1, - "setting": 1, + "setting": 1 }, "tools": {}, "equips": {} @@ -510,6 +510,11 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = { "type": "comment", "text": "初始剧情" + }, + { + "type": "setValue", + "name": "flag:itemDetail", + "value": "true" } ], "shops": [ diff --git a/project/floors/MT0.js b/project/floors/MT0.js index 97626f3e..0a9af0d6 100644 --- a/project/floors/MT0.js +++ b/project/floors/MT0.js @@ -9,17 +9,17 @@ main.floors.MT0= "cannotViewMap": false, "defaultGround": "ground", "images": [], - "ratio": 1, + "ratio": 2, "map": [ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 27, 34, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 28, 33, 0,341, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 29, 32, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 30, 31, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], diff --git a/project/items.js b/project/items.js index 0995b0a3..2a61392d 100644 --- a/project/items.js +++ b/project/items.js @@ -22,12 +22,12 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "cls": "items", "name": "红宝石", "text": "攻击+${core.values.redGem}", - "itemEffect": "core.status.hero.atk += core.values.redGem * core.status.thisMap.ratio", + "itemEffect": null, "itemEffectTip": ",攻击+${core.values.redGem * core.status.thisMap.ratio}", "useItemEffect": "core.status.hero.atk += core.values.redGem", "canUseItemEffect": "true", "itemEffectEvent": { - "sound": "item.mp3", + "sound": "gem.mp3", "value": { "atk:o": "core.values.redGem" } @@ -37,25 +37,37 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "cls": "items", "name": "蓝宝石", "text": ",防御+${core.values.blueGem}", - "itemEffect": "core.status.hero.def += core.values.blueGem * core.status.thisMap.ratio", + "itemEffect": null, "itemEffectTip": ",防御+${core.values.blueGem * core.status.thisMap.ratio}", "useItemEffect": "core.status.hero.def += core.values.blueGem", - "canUseItemEffect": "true" + "canUseItemEffect": "true", + "itemEffectEvent": { + "sound": "gem.mp3", + "value": { + "def:o": "core.values.blueGem" + } + } }, "greenGem": { "cls": "items", "name": "绿宝石", "text": ",护盾+${core.values.greenGem}", - "itemEffect": "core.status.hero.mdef += core.values.greenGem * core.status.thisMap.ratio", + "itemEffect": null, "itemEffectTip": ",护盾+${core.values.greenGem * core.status.thisMap.ratio}", "useItemEffect": "core.status.hero.mdef += core.values.greenGem", - "canUseItemEffect": "true" + "canUseItemEffect": "true", + "itemEffectEvent": { + "sound": "gem.mp3", + "value": { + "mdef:o": "core.values.greenGem" + } + } }, "yellowGem": { "cls": "items", "name": "黄宝石", "text": "可以进行加点", - "itemEffect": "core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;", + "itemEffect": null, "itemEffectTip": ",全属性提升", "useItemEvent": [ { @@ -97,43 +109,75 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = ] } ], - "canUseItemEffect": "true" + "canUseItemEffect": "true", + "itemEffectEvent": { + "sound": "gem.mp3", + "value": { + "mdef:o": "core.values.greenGem", + "def:o": "core.values.blueGem", + "atk:o": "core.values.redGem" + } + } }, "redPotion": { "cls": "items", "name": "红血瓶", "text": ",生命+${core.values.redPotion}", - "itemEffect": "core.status.hero.hp += core.values.redPotion * core.status.thisMap.ratio", + "itemEffect": null, "itemEffectTip": ",生命+${core.values.redPotion * core.status.thisMap.ratio}", "useItemEffect": "core.status.hero.hp += core.values.redPotion", - "canUseItemEffect": "true" + "canUseItemEffect": "true", + "itemEffectEvent": { + "sound": "recovery.mp3", + "value": { + "hp:o": "core.values.redPotion" + } + } }, "bluePotion": { "cls": "items", "name": "蓝血瓶", "text": ",生命+${core.values.bluePotion}", - "itemEffect": "core.status.hero.hp += core.values.bluePotion * core.status.thisMap.ratio", + "itemEffect": null, "itemEffectTip": ",生命+${core.values.bluePotion * core.status.thisMap.ratio}", "useItemEffect": "core.status.hero.hp += core.values.bluePotion", - "canUseItemEffect": "true" + "canUseItemEffect": "true", + "itemEffectEvent": { + "sound": "recovery.mp3", + "value": { + "hp:o": "core.values.bluePotion" + } + } }, "yellowPotion": { "cls": "items", "name": "黄血瓶", "text": ",生命+${core.values.yellowPotion}", - "itemEffect": "core.status.hero.hp += core.values.yellowPotion * core.status.thisMap.ratio", + "itemEffect": null, "itemEffectTip": ",生命+${core.values.yellowPotion * core.status.thisMap.ratio}", "useItemEffect": "core.status.hero.hp += core.values.yellowPotion", - "canUseItemEffect": "true" + "canUseItemEffect": "true", + "itemEffectEvent": { + "sound": "recovery.mp3", + "value": { + "hp:o": "core.values.yellowPotion" + } + } }, "greenPotion": { "cls": "items", "name": "绿血瓶", "text": ",生命+${core.values.greenPotion}", - "itemEffect": "core.status.hero.hp += core.values.greenPotion * core.status.thisMap.ratio", + "itemEffect": null, "itemEffectTip": ",生命+${core.values.greenPotion * core.status.thisMap.ratio}", "useItemEffect": "core.status.hero.hp += core.values.greenPotion", - "canUseItemEffect": "true" + "canUseItemEffect": "true", + "itemEffectEvent": { + "sound": "recovery.mp3", + "value": { + "hp:o": "core.values.greenPotion" + } + } }, "sword0": { "cls": "items", diff --git a/project/plugins.js b/project/plugins.js index bb28bac4..5e1308bc 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -1733,6 +1733,26 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = if (core.status.thisMap) core.getItemDetail(floorId); // 宝石血瓶详细信息 this.drawDamage(ctx); }; + + function getRatio() { + let ratio = core.status.thisMap.ratio; + if (!core.isset(ratio)) ratio = 1; + const currEvent = core.status.event; + if (!currEvent) return ratio; + switch (currEvent.id) { + case 'viewMaps': //调整浏览地图时的倍率 + if (currEvent.data) { + const viewMapFloorId = (currEvent.data.floorId); + ratio = core.status.maps[viewMapFloorId].ratio; + } + break; + case 'fly': //调整在楼传界面浏览地图时的倍率 + ratio = core.status.maps[core.floorIds[currEvent.data]].ratio; + break; + } + return ratio; + } + // 获取宝石信息 并绘制 this.getItemDetail = function (floorId) { if (!core.getFlag('itemDetail')) return; @@ -1764,9 +1784,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = if (core.bigmap.v2) { if ( x < core.bigmap.posX - core.bigmap.extend || - x > core.bigmap.posX + core._SIZE_ + core.bigmap.extend || + x > core.bigmap.posX + core.__SIZE__ + core.bigmap.extend || y < core.bigmap.posY - core.bigmap.extend || - y > core.bigmap.posY + core._SIZE_ + core.bigmap.extend + y > core.bigmap.posY + core.__SIZE__ + core.bigmap.extend ) { return; } @@ -1774,6 +1794,30 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = diff = {}; const id = block.event.id; const item = core.material.items[id]; + if (item.cls === 'items' && item.hasOwnProperty('itemEffectEvent') && item.itemEffectEvent.hasOwnProperty('value')) { + const values = item.itemEffectEvent.value; + for (let statusName in values) { + const getStatusValue = values[statusName]; + let ratio, needRatio, statusValue; + if (statusName.endsWith(':o')) { + needRatio = true; + statusName = statusName.slice(0, -2); + } + ratio = getRatio(); + if (core.status.hero.hasOwnProperty(statusName)) { + if (!diff.hasOwnProperty(statusName)) { + diff[statusName] = 0; + } + try { + statusValue = eval(getStatusValue); + } catch (error) { + console.log(error); + } + if (needRatio) statusValue *= ratio; + diff[statusName] += statusValue || 0; + } + } + } if (item.cls === 'equips') { // 装备也显示 const diff = item.equip.value ?? {}; @@ -1814,25 +1858,26 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = switch (name) { case 'atk': case 'atkper': - color = '#FF7A7A'; + color = ' #FF7A7A'; break; case 'def': case 'defper': - color = '#00E6F1'; + color = ' #00E6F1'; break; case 'mdef': case 'mdefper': - color = '#6EFF83'; + color = ' #6EFF83'; break; case 'hp': - color = '#A4FF00'; + color = ' #A4FF00'; break; case 'hpmax': case 'hpmaxper': - color = '#F9FF00'; + color = ' #F9FF00'; break; case 'mana': - color = '#c66'; + case 'manamax': + color = ' #CC6666'; break; } // 绘制 @@ -4294,5 +4339,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = // todolist 修复已知的插件bug // todolist 添加鸽窝样板的快速读取撤回 和 优化美工 // todolist 音效连续播放的优化(与自动清有关) + // todolist 新的临界计算 } } \ No newline at end of file