From 75fa69bab63c47865dd6f95028ce35972d3509ba Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 13 Oct 2020 16:09:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6272=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/CodeMirror/defs.js | 6 +++- _server/MotaAction.g4 | 4 +-- _server/editor_file.js | 2 ++ _server/table/comment.js | 21 +++++++++----- _server/table/data.comment.js | 4 +-- libs/maps.js | 6 ++-- mota-js10月和273issue.txt | 17 +++++++----- project/floors/MT0.js | 1 + project/floors/sample0.js | 1 + project/floors/sample1.js | 1 + project/floors/sample2.js | 1 + project/floors/sample3.js | 1 + project/functions.js | 52 +++++++++++++++++------------------ project/items.js | 2 +- project/plugins.js | 1 + 15 files changed, 71 insertions(+), 49 deletions(-) diff --git a/_server/CodeMirror/defs.js b/_server/CodeMirror/defs.js index 63b8a414..a22f9c33 100644 --- a/_server/CodeMirror/defs.js +++ b/_server/CodeMirror/defs.js @@ -1677,7 +1677,11 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [ }, "canFlyTo": { "!type": "bool", - "!doc": "该楼是否可以楼传,包括飞来和飞走" + "!doc": "该楼是否可以楼传飞到" + }, + "canFlyFrom": { + "!type": "bool", + "!doc": "该楼是否可以楼传飞出" }, "canUseQuickShop": { "!type": "bool", diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index dc1815e7..c944a919 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -3409,8 +3409,8 @@ Event_List /*Event_List ['null','afterBattle','afterGetItem','afterOpenDoor']*/; Floor_Meta_List - : '楼层中文名'|'状态栏名称'|'能否使用楼传'|'能否打开快捷商店'|'是否不可浏览地图'|'是否不可瞬间移动'|'默认地面ID'|'宝石血瓶效果'|'上楼点坐标'|'下楼点坐标'|'楼传落点坐标'|'背景音乐'|'画面色调'|'天气和强度'|'是否地下层' - /*Floor_Meta_List ['title','name','canFlyTo', 'canUseQuickShop', 'cannotViewMap', 'cannotMoveDirectly', 'defaultGround', 'ratio', 'upFloor', 'downFloor', 'flyPoint', 'bgm', 'color', 'weather', 'underGround']*/; + : '楼层中文名'|'状态栏名称'|'能否楼传飞到'|'能否楼传飞出'|'能否打开快捷商店'|'是否不可浏览地图'|'是否不可瞬间移动'|'默认地面ID'|'宝石血瓶效果'|'上楼点坐标'|'下楼点坐标'|'楼传落点坐标'|'背景音乐'|'画面色调'|'天气和强度'|'是否地下层' + /*Floor_Meta_List ['title','name','canFlyTo', 'canFlyFrom', 'canUseQuickShop', 'cannotViewMap', 'cannotMoveDirectly', 'defaultGround', 'ratio', 'upFloor', 'downFloor', 'flyPoint', 'bgm', 'color', 'weather', 'underGround']*/; Global_Attribute_List : '全局字体'|'横屏左侧状态栏背景'|'竖屏上方状态栏背景'|'竖屏下方道具栏背景'|'边框颜色'|'状态栏文字色'|'选中框颜色'|'楼层转换样式'|'装备列表' diff --git a/_server/editor_file.js b/_server/editor_file.js index d414dd15..3084adbf 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -208,6 +208,7 @@ editor_file = function (editor, callback) { map: map, },saveStatus?{ canFlyTo: currData.canFlyTo, + canFlyFrom: currData.canFlyFrom, canUseQuickShop: currData.canUseQuickShop, cannotViewMap: currData.cannotViewMap, cannotMoveDirectly: currData.cannotMoveDirectly, @@ -256,6 +257,7 @@ editor_file = function (editor, callback) { map: map, },saveStatus?{ canFlyTo: currData.canFlyTo, + canFlyFrom: currData.canFlyFrom, canUseQuickShop: currData.canUseQuickShop, cannotViewMap: currData.cannotViewMap, cannotMoveDirectly: currData.cannotMoveDirectly, diff --git a/_server/table/comment.js b/_server/table/comment.js index 8d82b009..b60e7239 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -208,7 +208,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_range": "(thiseval==~~thiseval && thiseval>0)||thiseval==null", "_docs": "连击数", - "_data": "多连击的连击数" + "_data": "多连击的连击数,净化怪的净化倍率" }, "add": { "_leaf": true, @@ -220,15 +220,15 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", - "_docs": "退化扣除攻击", - "_data": "退化时勇士下降的攻击力点数;光环怪增加攻击的比例" + "_docs": "退化扣攻", + "_data": "退化时勇士下降的攻击力点数;光环怪增加攻击的比例;反击的比例" }, "defValue": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", - "_docs": "退化扣除防御", - "_data": "退化时勇士下降的防御力点数;光环怪增加防御的比例" + "_docs": "退化扣防", + "_data": "退化时勇士下降的防御力点数;光环怪增加防御的比例;破甲的比例" }, "damage": { "_leaf": true, @@ -402,8 +402,14 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "canFlyTo": { "_leaf": true, "_type": "checkbox", - "_docs": "可楼传", - "_data": "该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器)" + "_docs": "可楼传飞到", + "_data": "该楼能否被楼传器飞到" + }, + "canFlyFrom": { + "_leaf": true, + "_type": "checkbox", + "_docs": "可楼传飞出", + "_data": "该楼能否用楼传器飞出" }, "canUseQuickShop": { "_leaf": true, @@ -593,6 +599,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "width": 13, "height": 13, "canFlyTo": true, + "canFlyFrom": true, "canUseQuickShop": true, "cannotViewMap": false, "cannotMoveDirectly": false, diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index ebe127ea..a94d2d69 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -82,7 +82,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_range": "editor.mode.checkUnique(thiseval)", "_directory": "./project/bgms/", "_transform": (function (one) { - if (one.endsWith('.mp3') || one.endsWith('.ogg') || one.endsWith('.wav')) + if (one.endsWith('.mp3') || one.endsWith('.ogg') || one.endsWith('.wav') || one.endsWith('.m4a') || one.endsWith('.flac')) return one; return null; }).toString(), @@ -95,7 +95,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_range": "editor.mode.checkUnique(thiseval)", "_directory": "./project/sounds/", "_transform": (function (one) { - if (one.endsWith('.mp3') || one.endsWith('.ogg') || one.endsWith('.wav')) + if (one.endsWith('.mp3') || one.endsWith('.ogg') || one.endsWith('.wav') || one.endsWith('.m4a') || one.endsWith('.flac')) return one; return null; }).toString(), diff --git a/libs/maps.js b/libs/maps.js index 4822938d..3bd10f2f 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -360,7 +360,7 @@ maps.prototype.saveMap = function (floorId) { } // 砍层状态:直接返回 if ((flags.__removed__ || []).indexOf(floorId) >= 0) { - return { deleted: true, canFlyTo: false, cannotViewMap: true }; + return { deleted: true, canFlyTo: false, canFlyFrom: false, cannotViewMap: true }; } var map = maps[floorId]; @@ -593,8 +593,7 @@ maps.prototype._canMoveHero_checkPoint = function (x, y, direction, floorId, arr // 3. 检查是否能进将死的领域 if (floorId == core.status.floorId && !core.flags.canGoDeadZone && !core.status.lockControl && - core.status.hero.hp <= (core.status.checkBlock.damage[nx + "," + ny]||0) - && arrays.eventArray[ny][nx] == 0) + Math.max(core.status.hero.hp, 1) <= (core.status.checkBlock.damage[nx + "," + ny]||0) && arrays.eventArray[ny][nx] == 0) return false; return true; @@ -729,6 +728,7 @@ maps.prototype._canMoveDirectly_checkNextPoint = function (blocksObj, x, y) { } // 是否存在阻激夹域伤害 if (core.status.checkBlock.damage[index]) return false; + if (core.status.checkBlock.repulse[index]) return false; // 是否存在捕捉 if (core.status.checkBlock.ambush[index]) return false; diff --git a/mota-js10月和273issue.txt b/mota-js10月和273issue.txt index 09495033..ff791d02 100644 --- a/mota-js10月和273issue.txt +++ b/mota-js10月和273issue.txt @@ -10,20 +10,23 @@ (x)7.1 doorInfo的开关门时间分成了两个数,有些门开关速度作者可能需要不一致。 (√)7.2 无视地形移动/跳跃勇士挪到了地图处理类,因为经常和图块的移动跳跃一起用于演出且都没有碰撞效果。 (x)7.3 UI绘制的颜色改成了注释的浅紫色,各种子场合块的颜色改成了入口方块的深紫色,以和地图处理类的浅蓝色相区分。 -8. 修复了Math一元运算值块转换为json时的语法错误,追加了部分函数。 +(x)8. 修复了Math一元运算值块转换为json时的语法错误,追加了部分函数。 (x)8.1 drawTip事件追加了第几帧的参数。 (x)9. 玩家设置中追加了左撇子模式,开启后wsad起方向键的作用,ijkl起原wsad的SL作用,以方便键鼠并用。 (√)10. 移除了部分引用极少的函数,如仇恨怪详情、claerTip和 (x)10.1 tryUseItem改成了直接inline,从道具栏使用道具失败时不再closePanel,以方便玩家继续选择其他道具(破炸冰这三个先斩后奏的就没办法了)。 11. 快速追加npc48一键绑定朝向改为只绑定最后四个,以免影响前面可能的单朝向npc (√)12. 事件层为自动元件或tileset且没有碰触脚本时,该点前景层不再虚化(272改版里若某点只有前景没有事件会出bug,多语言版里已修复),以保证观感的统一。 -13. 阻激夹域捕捉的显伤排除了不可通行点,以保证观感。修复了零伤阻击点无法阻拦瞬移的bug,并交换了阻击怪后退和捕捉怪移动的次序。相关的canMoveHero中勇士生命改为至少视为1,从而修复了canGoDeadZone为false时空血不能行走的bug。阻激夹域血网的伤害tip文案进行了优化,现在会读取实际的图块名称和怪物特殊属性名称并区分激光的横纵。 -14. drawChoices选择灰项增加了音效,此音效还用在了其他类似的场合。希望样板多一些这样的小细节并提供rm那样的映射表来修改音效而不是只能替换文件,毕竟替换文件有格式限制。样板的很多系统行为缺少音效,如开关菜单等系统UI时、闪烁光标和黄框位置变化时。建议能提供的都提供出来(胖老鼠和新新那么多音效有了解包出的文件还难以还原,不丢人么。样板3层和h5胖老鼠对话靠的还是无数手动播放音效),录像高倍速播放如果听感不好的话可以忽略。 -15. 放宽了音频文件的格式限制,如追加了m4a、m4r、flac等,毕竟作者可能会选择其他的渠道传播。 +(x)13. 阻激夹域捕捉的显伤排除了不可通行点,以保证观感。 +(√)13.1 修复了零伤阻击点无法阻拦瞬移的bug,并交换了阻击怪后退和捕捉怪移动的次序。 +(√)13.2 相关的canMoveHero中勇士生命改为至少视为1,从而修复了canGoDeadZone为false时空血不能行走的bug。 +(x)13.3 阻激夹域血网的伤害tip文案进行了优化,现在会读取实际的图块名称和怪物特殊属性名称并区分激光的横纵。 +(x)14. drawChoices选择灰项增加了音效,此音效还用在了其他类似的场合。希望样板多一些这样的小细节并提供rm那样的映射表来修改音效而不是只能替换文件,毕竟替换文件有格式限制。样板的很多系统行为缺少音效,如开关菜单等系统UI时、闪烁光标和黄框位置变化时。建议能提供的都提供出来(胖老鼠和新新那么多音效有了解包出的文件还难以还原,不丢人么。样板3层和h5胖老鼠对话靠的还是无数手动播放音效),录像高倍速播放如果听感不好的话可以忽略。 +(√)15. 放宽了音频文件的格式限制,如追加了m4a、m4r、flac等,毕竟作者可能会选择其他的渠道传播。 (x)16. animate这个后缀名修改为了json,以方便文本编辑器等程序去识别,另外某些h5游戏网站在发布时会限制上传的文件格式,使用标准后缀也有利于作者。 -17. flyTo中修改了楼层属性flyPoint的生效方式,改成了作为stair参数生效而不是覆盖heroLoc,两个相关事件的stair下拉框也提供了flyPoint项。 -18. 楼层属性canFlyTo拆成了两项,即canFlyTo和canFlyFrom,以方便作者个性化。 -19. getSpecials由yzm优化了配色,优化了固伤属性的描述(可被负伤抵消)。 +(?)17. flyTo中修改了楼层属性flyPoint的生效方式,改成了作为stair参数生效而不是覆盖heroLoc,两个相关事件的stair下拉框也提供了flyPoint项。 +(√)18. 楼层属性canFlyTo拆成了两项,即canFlyTo和canFlyFrom,以方便作者个性化。 +(√)19. getSpecials由yzm优化了配色,优化了固伤属性的描述(可被负伤抵消)。 (x)20. 难度单词为空字符串时显示“竖屏数字键”,以提示竖屏玩家。另外希望修复读档等场合红一下的bug (√)21. getToolboxItems提供了一个修改排序方式的例子作为注释并说明了用法。 (x)22. project\icons.js中给勇士追加了midFoot表示第三帧并用于两种行走动画(暂不包括F7)的绘制(此功能建议要么merge要么作为系统开关让作者取舍,毕竟复写起来要改的函数还挺多而且需要厘清一些逻辑关系),其他图块移动时的帧切换频率改为了全局帧动画的三倍以优化观感。 diff --git a/project/floors/MT0.js b/project/floors/MT0.js index 74b56253..454a01b2 100644 --- a/project/floors/MT0.js +++ b/project/floors/MT0.js @@ -4,6 +4,7 @@ main.floors.MT0= "title": "主塔 0 层", "name": "0", "canFlyTo": true, + "canFlyFrom": true, "canUseQuickShop": true, "cannotViewMap": false, "defaultGround": "ground", diff --git a/project/floors/sample0.js b/project/floors/sample0.js index c932d853..d79d814a 100644 --- a/project/floors/sample0.js +++ b/project/floors/sample0.js @@ -4,6 +4,7 @@ main.floors.sample0= "title": "样板 0 层", "name": "0", "canFlyTo": true, + "canFlyFrom": true, "canUseQuickShop": true, "defaultGround": "ground", "images": [], diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 8f3eafaa..7abedced 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -4,6 +4,7 @@ main.floors.sample1= "title": "样板 1 层", "name": "1", "canFlyTo": true, + "canFlyFrom": true, "canUseQuickShop": true, "defaultGround": "grass", "images": [ diff --git a/project/floors/sample2.js b/project/floors/sample2.js index bd142331..dd3e3a3d 100644 --- a/project/floors/sample2.js +++ b/project/floors/sample2.js @@ -4,6 +4,7 @@ main.floors.sample2= "title": "样板 2 层", "name": "2", "canFlyTo": true, + "canFlyFrom": true, "canUseQuickShop": true, "cannotViewMap": false, "defaultGround": "ground", diff --git a/project/floors/sample3.js b/project/floors/sample3.js index 0b751bc4..a7ba71fe 100644 --- a/project/floors/sample3.js +++ b/project/floors/sample3.js @@ -4,6 +4,7 @@ main.floors.sample3= "title": "主塔 40 层", "name": "40", "canFlyTo": false, + "canFlyFrom": false, "canUseQuickShop": true, "defaultGround": "snowGround", "images": [], diff --git a/project/functions.js b/project/functions.js index 8f3662af..30798fa3 100644 --- a/project/functions.js +++ b/project/functions.js @@ -188,7 +188,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = var fromId = core.status.floorId; // 检查能否飞行 - if (!core.status.maps[fromId].canFlyTo || !core.status.maps[toId].canFlyTo || !core.hasVisitedFloor(toId)) { + if (!core.status.maps[fromId].canFlyFrom || !core.status.maps[toId].canFlyTo || !core.hasVisitedFloor(toId)) { core.drawTip("无法飞往" + core.status.maps[toId].title + "!"); return false; } @@ -469,33 +469,33 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 第五项为该特殊属性的标记;目前 1 代表是地图类技能(需要进行遍历全图) // 名字和描述可以直接写字符串,也可以写个function将怪物传进去 return [ - [1, "先攻", "怪物首先攻击"], - [2, "魔攻", "怪物无视勇士的防御", "#b6b0ff"], - [3, "坚固", "怪物防御不小于勇士攻击-1", "#b9822d"], - [4, "2连击", "怪物每回合攻击2次"], - [5, "3连击", "怪物每回合攻击3次"], - [6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }], + [1, "先攻", "怪物首先攻击", "#ffcc33"], + [2, "魔攻", "怪物无视勇士的防御", "#bbb0ff"], + [3, "坚固", "怪物防御不小于勇士攻击-1", "#c0b088"], + [4, "2连击", "怪物每回合攻击2次", "#ffee77"], + [5, "3连击", "怪物每回合攻击3次", "#ffee77"], + [6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }, "#ffee77"], [7, "破甲", function (enemy) { return "战斗前,怪物附加角色防御的" + Math.floor(100 * (enemy.defValue || core.values.breakArmor || 0)) + "%作为伤害"; }, "#b30000"], - [8, "反击", function (enemy) { return "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * (enemy.atkValue || core.values.counterAttack || 0)) + "%作为伤害,无视角色防御"; }, "#bd26ce"], - [9, "净化", function (enemy) { return "战斗前,怪物附加勇士护盾的" + (enemy.n || core.values.purify) + "倍作为伤害"; }, "#00d2d4"], - [10, "模仿", "怪物的攻防和勇士攻防相等", "#ff00d2"], + [8, "反击", function (enemy) { return "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * (enemy.atkValue || core.values.counterAttack || 0)) + "%作为伤害,无视角色防御"; }, "#ffaa44"], + [9, "净化", function (enemy) { return "战斗前,怪物附加勇士护盾的" + (enemy.n || core.values.purify) + "倍作为伤害"; }, "#80eed6"], + [10, "模仿", "怪物的攻防和勇士攻防相等", "#b0c0dd"], [11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }, "#ff00d2"], - [12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点", "#4aff60"], - [13, "衰弱", "战斗后,勇士陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%"), "#feccd0"], - [14, "诅咒", "战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验", "#747dff"], - [15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }], - [16, "夹击", "经过两只相同的怪物中间,勇士生命值变成一半", "#ff00d2"], - [17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)"], - [18, "阻击", function (enemy) { return "经过怪物的十字领域时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }], - [19, "自爆", "战斗后勇士的生命值变成1", "#ff0000"], - [20, "无敌", "勇士无法打败怪物,除非拥有十字架", "#fbff00"], - [21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }, "#ff0000"], - [22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,无视勇士护盾。"; }], - [23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现"], - [24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }], - [25, "光环", function (enemy) { return "同楼层所有怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%," + (enemy.add ? "可叠加" : "不可叠加"); }, "#fff900", 1], - [26, "支援", "当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。", "#fff900", 1], - [27, "捕捉", "当走到怪物周围十字时会强制进行战斗。"] + [12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点", "#99ee88"], + [13, "衰弱", "战斗后,勇士陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%"), "#f0bbcc"], + [14, "诅咒", "战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验", "#bbeef0"], + [15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }, "#c677dd"], + [16, "夹击", "经过两只相同的怪物中间,勇士生命值变成一半", "#bb99ee"], + [17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)", "#b0b666"], + [18, "阻击", function (enemy) { return "经过怪物的十字领域时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }, "#8888e6"], + [19, "自爆", "战斗后勇士的生命值变成1", "#ff6666"], + [20, "无敌", "勇士无法打败怪物,除非拥有十字架", "#aaaaaa"], + [21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }], + [22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,未开启负伤时无视勇士护盾。"; }, "#ff9977"], + [23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现", "#a0e0ff"], + [24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }, "#dda0dd"], + [25, "光环", function (enemy) { return "同楼层所有怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%," + (enemy.add ? "可叠加" : "不可叠加"); }, "#e6e099", 1], + [26, "支援", "当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。", "#77c0b6", 1], + [27, "捕捉", "当走到怪物周围十字时会强制进行战斗。", "#c0ddbb"] ]; }, "getEnemyInfo": function (enemy, hero, x, y, floorId) { diff --git a/project/items.js b/project/items.js index a232061c..d125902f 100644 --- a/project/items.js +++ b/project/items.js @@ -322,7 +322,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "hideInReplay": true, "hideInToolbox": true, "useItemEffect": "core.ui.drawFly(core.floorIds.indexOf(core.status.floorId));", - "canUseItemEffect": "(function () {\n\treturn core.status.maps[core.status.floorId].canFlyTo;\n})();" + "canUseItemEffect": "(function () {\n\treturn core.status.maps[core.status.floorId].canFlyFrom;\n})();" }, "coin": { "cls": "constants", diff --git a/project/plugins.js b/project/plugins.js index 7b2aecc2..3152f84c 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -263,6 +263,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = delete flags.__disabled__[floorId]; core.status.maps[floorId].deleted = true; core.status.maps[floorId].canFlyTo = false; + core.status.maps[floorId].canFlyFrom = false; core.status.maps[floorId].cannotViewMap = true; } }