From 6b92ae192bc20e318109b995c12a766f62408d37 Mon Sep 17 00:00:00 2001 From: voderl Date: Fri, 20 Mar 2020 17:44:57 +0800 Subject: [PATCH 01/70] git pull --- API列表.txt | 2185 +++++++++++++ README.md | 104 + _docs/V2.0.md | 2 +- _docs/api.md | 216 +- _docs/element.md | 7 +- _docs/event.md | 660 +++- _docs/img/autoEvent.png | Bin 0 -> 54794 bytes _docs/img/events/1.jpg | Bin 0 -> 21486 bytes _docs/img/events/10.jpg | Bin 0 -> 34521 bytes _docs/img/events/11.jpg | Bin 0 -> 16584 bytes _docs/img/events/12.jpg | Bin 0 -> 14875 bytes _docs/img/events/13.jpg | Bin 0 -> 45000 bytes _docs/img/events/14.jpg | Bin 0 -> 40411 bytes _docs/img/events/15.jpg | Bin 0 -> 49924 bytes _docs/img/events/15.png | Bin 0 -> 78971 bytes _docs/img/events/16.jpg | Bin 0 -> 13989 bytes _docs/img/events/17.jpg | Bin 0 -> 13587 bytes _docs/img/events/18.jpg | Bin 0 -> 13256 bytes _docs/img/events/19.jpg | Bin 0 -> 39904 bytes _docs/img/events/2.jpg | Bin 0 -> 48809 bytes _docs/img/events/20.jpg | Bin 0 -> 51730 bytes _docs/img/events/21.jpg | Bin 0 -> 19922 bytes _docs/img/events/22.jpg | Bin 0 -> 36997 bytes _docs/img/events/23.jpg | Bin 0 -> 15710 bytes _docs/img/events/24.jpg | Bin 0 -> 16546 bytes _docs/img/events/25.jpg | Bin 0 -> 29341 bytes _docs/img/events/26.jpg | Bin 0 -> 21680 bytes _docs/img/events/27.jpg | Bin 0 -> 26316 bytes _docs/img/events/28.jpg | Bin 0 -> 27975 bytes _docs/img/events/29.jpg | Bin 0 -> 23897 bytes _docs/img/events/3.jpg | Bin 0 -> 42186 bytes _docs/img/events/30.jpg | Bin 0 -> 23774 bytes _docs/img/events/31.jpg | Bin 0 -> 15359 bytes _docs/img/events/32.jpg | Bin 0 -> 29469 bytes _docs/img/events/33.jpg | Bin 0 -> 21400 bytes _docs/img/events/34.jpg | Bin 0 -> 14675 bytes _docs/img/events/35.jpg | Bin 0 -> 19990 bytes _docs/img/events/36.jpg | Bin 0 -> 18058 bytes _docs/img/events/37.jpg | Bin 0 -> 32708 bytes _docs/img/events/38.jpg | Bin 0 -> 43984 bytes _docs/img/events/39.jpg | Bin 0 -> 41911 bytes _docs/img/events/4.jpg | Bin 0 -> 22032 bytes _docs/img/events/40.jpg | Bin 0 -> 27105 bytes _docs/img/events/41.jpg | Bin 0 -> 15811 bytes _docs/img/events/42.jpg | Bin 0 -> 27982 bytes _docs/img/events/43.jpg | Bin 0 -> 14983 bytes _docs/img/events/44.jpg | Bin 0 -> 19650 bytes _docs/img/events/45.jpg | Bin 0 -> 20178 bytes _docs/img/events/46.jpg | Bin 0 -> 24896 bytes _docs/img/events/47.jpg | Bin 0 -> 76437 bytes _docs/img/events/48.jpg | Bin 0 -> 51611 bytes _docs/img/events/49.jpg | Bin 0 -> 34292 bytes _docs/img/events/5.jpg | Bin 0 -> 30127 bytes _docs/img/events/50.jpg | Bin 0 -> 28588 bytes _docs/img/events/51.jpg | Bin 0 -> 45991 bytes _docs/img/events/52.jpg | Bin 0 -> 46905 bytes _docs/img/events/52.png | Bin 0 -> 106169 bytes _docs/img/events/53.jpg | Bin 0 -> 31300 bytes _docs/img/events/54.jpg | Bin 0 -> 31407 bytes _docs/img/events/55.jpg | Bin 0 -> 36606 bytes _docs/img/events/56.jpg | Bin 0 -> 19057 bytes _docs/img/events/57.jpg | Bin 0 -> 29179 bytes _docs/img/events/58.jpg | Bin 0 -> 30515 bytes _docs/img/events/59.jpg | Bin 0 -> 21342 bytes _docs/img/events/6.jpg | Bin 0 -> 17409 bytes _docs/img/events/60.jpg | Bin 0 -> 27043 bytes _docs/img/events/7.jpg | Bin 0 -> 29898 bytes _docs/img/events/7.png | Bin 0 -> 191674 bytes _docs/img/events/8.jpg | Bin 0 -> 18909 bytes _docs/img/events/9.jpg | Bin 0 -> 19852 bytes _docs/index.md | 2 +- _docs/personalization.md | 7 +- _docs/script.md | 34 +- _docs/start.md | 4 +- _server/MotaAction.g4 | 1604 +++++++-- _server/README.md | 335 +- _server/colorPicker/LICENSE.md | 21 - _server/config.json | 1 + _server/css/editor.css | 122 +- _server/css/editor_mobile.css | 103 +- _server/css/editor_mode.css | 19 +- _server/css/editor_mode_mobile.css | 13 +- _server/editor.js | 409 ++- _server/editor_blockly.js | 564 +++- _server/editor_config.js | 34 + _server/editor_datapanel.js | 809 +++++ _server/editor_file.js | 1061 +----- _server/editor_file_unsorted.js | 904 +++++ _server/editor_game.js | 153 +- ...{editor_unsorted_3.js => editor_legacy.js} | 28 +- _server/editor_listen.js | 164 + _server/editor_mappanel.js | 898 +++++ _server/editor_materialpanel.js | 158 + _server/editor_mode.js | 106 +- _server/editor_multi.js | 19 + _server/editor_table.js | 64 +- _server/editor_ui.js | 570 ++++ _server/editor_unsorted_1.js | 839 ----- _server/editor_unsorted_2.js | 581 ---- _server/editor_util.js | 11 + _server/fs.js | 8 +- _server/img_md/view1.png | Bin 0 -> 684690 bytes _server/img_md/view2.png | Bin 0 -> 410693 bytes _server/img_md/view3.png | Bin 0 -> 202356 bytes _server/refactoring.md | 48 +- _server/table/comment.js | 91 +- _server/table/data.comment.js | 35 +- _server/table/functions.comment.js | 18 +- _server/table/plugins.comment.js | 12 + _server/thirdparty/LICENSE.md | 60 + _server/thirdparty/awesomplete.css | 104 + _server/thirdparty/awesomplete.min.js | 3 + _server/thirdparty/caret-position.js | 155 + .../color.all.min.js | 0 .../{colorPicker => thirdparty}/jsColor.js | 86 +- _server/vendor/polyfill.min.js | 1 - _server/vendor/vue.min.js | 6 - editor-mobile.html | 108 +- editor.html | 129 +- extensions/dynamicMapEditor.js | 512 +++ index.html | 31 +- libs/actions.js | 275 +- libs/control.js | 385 ++- libs/core.js | 63 +- libs/enemys.js | 30 +- libs/events.js | 852 ++++- libs/extensions.js | 50 + libs/items.js | 74 +- libs/loader.js | 263 +- libs/maps.js | 413 ++- libs/thirdparty/LICENSE.md | 261 +- libs/thirdparty/zip.js | 2895 +++++++++++++++++ libs/thirdparty/zip.min.js | 1 + libs/ui.js | 709 +++- libs/utils.js | 170 +- logo.png | Bin 0 -> 10376 bytes main.js | 145 +- project/animates/hand.animate | 2 +- project/animates/zone.animate | 2 +- project/data.js | 51 +- project/events.js | 4 +- project/floors/sample1.js | 45 +- project/functions.js | 304 +- project/icons.js | 4 +- project/images/bg.jpg | Bin 39354 -> 27900 bytes project/images/npc48.png | Bin 9560 -> 5556 bytes project/items.js | 29 +- project/maps.js | 9 +- project/plugins.js | 475 +++ server.py | 153 + styles.css | 137 +- 常用工具/ICSharpCode.SharpZipLib.dll | Bin 0 -> 188416 bytes 常用工具/JS代码压缩工具.exe | Bin 8704 -> 13824 bytes 常用工具/RM动画导出器.exe | Bin 38400 -> 42496 bytes 常用工具/便捷PS工具.exe | Bin 26624 -> 27648 bytes 常用工具/动画编辑器.exe | Bin 0 -> 56320 bytes 常用工具/额外素材合并工具.exe | Bin 0 -> 18944 bytes 更新说明.txt | 116 +- 158 files changed, 17888 insertions(+), 4247 deletions(-) create mode 100644 API列表.txt create mode 100644 _docs/img/autoEvent.png create mode 100644 _docs/img/events/1.jpg create mode 100644 _docs/img/events/10.jpg create mode 100644 _docs/img/events/11.jpg create mode 100644 _docs/img/events/12.jpg create mode 100644 _docs/img/events/13.jpg create mode 100644 _docs/img/events/14.jpg create mode 100644 _docs/img/events/15.jpg create mode 100644 _docs/img/events/15.png create mode 100644 _docs/img/events/16.jpg create mode 100644 _docs/img/events/17.jpg create mode 100644 _docs/img/events/18.jpg create mode 100644 _docs/img/events/19.jpg create mode 100644 _docs/img/events/2.jpg create mode 100644 _docs/img/events/20.jpg create mode 100644 _docs/img/events/21.jpg create mode 100644 _docs/img/events/22.jpg create mode 100644 _docs/img/events/23.jpg create mode 100644 _docs/img/events/24.jpg create mode 100644 _docs/img/events/25.jpg create mode 100644 _docs/img/events/26.jpg create mode 100644 _docs/img/events/27.jpg create mode 100644 _docs/img/events/28.jpg create mode 100644 _docs/img/events/29.jpg create mode 100644 _docs/img/events/3.jpg create mode 100644 _docs/img/events/30.jpg create mode 100644 _docs/img/events/31.jpg create mode 100644 _docs/img/events/32.jpg create mode 100644 _docs/img/events/33.jpg create mode 100644 _docs/img/events/34.jpg create mode 100644 _docs/img/events/35.jpg create mode 100644 _docs/img/events/36.jpg create mode 100644 _docs/img/events/37.jpg create mode 100644 _docs/img/events/38.jpg create mode 100644 _docs/img/events/39.jpg create mode 100644 _docs/img/events/4.jpg create mode 100644 _docs/img/events/40.jpg create mode 100644 _docs/img/events/41.jpg create mode 100644 _docs/img/events/42.jpg create mode 100644 _docs/img/events/43.jpg create mode 100644 _docs/img/events/44.jpg create mode 100644 _docs/img/events/45.jpg create mode 100644 _docs/img/events/46.jpg create mode 100644 _docs/img/events/47.jpg create mode 100644 _docs/img/events/48.jpg create mode 100644 _docs/img/events/49.jpg create mode 100644 _docs/img/events/5.jpg create mode 100644 _docs/img/events/50.jpg create mode 100644 _docs/img/events/51.jpg create mode 100644 _docs/img/events/52.jpg create mode 100644 _docs/img/events/52.png create mode 100644 _docs/img/events/53.jpg create mode 100644 _docs/img/events/54.jpg create mode 100644 _docs/img/events/55.jpg create mode 100644 _docs/img/events/56.jpg create mode 100644 _docs/img/events/57.jpg create mode 100644 _docs/img/events/58.jpg create mode 100644 _docs/img/events/59.jpg create mode 100644 _docs/img/events/6.jpg create mode 100644 _docs/img/events/60.jpg create mode 100644 _docs/img/events/7.jpg create mode 100644 _docs/img/events/7.png create mode 100644 _docs/img/events/8.jpg create mode 100644 _docs/img/events/9.jpg delete mode 100644 _server/colorPicker/LICENSE.md create mode 100644 _server/config.json create mode 100644 _server/editor_config.js create mode 100644 _server/editor_datapanel.js create mode 100644 _server/editor_file_unsorted.js rename _server/{editor_unsorted_3.js => editor_legacy.js} (90%) create mode 100644 _server/editor_listen.js create mode 100644 _server/editor_mappanel.js create mode 100644 _server/editor_materialpanel.js create mode 100644 _server/editor_ui.js delete mode 100644 _server/editor_unsorted_1.js delete mode 100644 _server/editor_unsorted_2.js create mode 100644 _server/img_md/view1.png create mode 100644 _server/img_md/view2.png create mode 100644 _server/img_md/view3.png create mode 100644 _server/thirdparty/LICENSE.md create mode 100644 _server/thirdparty/awesomplete.css create mode 100644 _server/thirdparty/awesomplete.min.js create mode 100644 _server/thirdparty/caret-position.js rename _server/{colorPicker => thirdparty}/color.all.min.js (100%) rename _server/{colorPicker => thirdparty}/jsColor.js (84%) delete mode 100644 _server/vendor/polyfill.min.js delete mode 100644 _server/vendor/vue.min.js create mode 100644 extensions/dynamicMapEditor.js create mode 100644 libs/extensions.js create mode 100644 libs/thirdparty/zip.js create mode 100644 libs/thirdparty/zip.min.js create mode 100644 logo.png create mode 100644 server.py create mode 100644 常用工具/ICSharpCode.SharpZipLib.dll create mode 100644 常用工具/动画编辑器.exe create mode 100644 常用工具/额外素材合并工具.exe diff --git a/API列表.txt b/API列表.txt new file mode 100644 index 00000000..2f846828 --- /dev/null +++ b/API列表.txt @@ -0,0 +1,2185 @@ +# 附录:API列表 + +?> 目前版本**v2.6.5**,上次更新时间:* {docsify-updated} * + +这里将列出所有被转发到core的API,没有被转发的函数此处不会列出,请自行在代码中查看。 + +本附录量较大,如有什么需求请自行Ctrl+F进行搜索。 + +如有任何疑问,请联系小艾寻求帮助。 + +## core.js + +core.js中只有很少的几个函数,主要是游戏开始前的初始化等。 + +但是,core中定义了很多游戏运行时的状态,这些状态很多都会被使用到。 + +``` text +core.__SIZE__, core.__PIXELS__ +游戏窗口大小;对于13x13的游戏而言这两个值分别是13和416,15x15来说分别是15和480。 + + +core.material +游戏中的所有资源列表,具体分为如下内容: +core.material.animates (动画) +core.material.bgms (背景音乐) +core.material.enemys (怪物信息,来自于 project/enemys.js) +core.material.icons (图标信息,来自于 project/icons.js) +core.material.images (图片素材,存放了各项素材图片如items.png等) + core.material.images.autotile (所有的自动元件图片) + core.material.images.tilesets (所有的额外素材图片) + core.material.images.images (用户引入的其他图片) +core.material.items (道具信息) +core.material.sounds (音效) + + +core.animateFrame +主要是记录和requestAnimationFrame相关的一些数据,常用的如下: +core.animateFrame.totalTime (游戏总的运行时时间) +core.animateFrame.weather (当前的天气信息) +core.animateFrame.asyncId (当前的异步处理事件的内容) + + +core.musicStatus +主要是记录和音效相关的内容,常用的如下: +core.musicStatus.bgmStatus (音乐开启状态) +core.musicStatus.soundStatus (音效开启状态) +core.musicStatus.playingBgm (当前正在播放的BGM) +core.musicStatus.lastBgm (最近一次尝试播放的BGM) +core.musicStatus.volume (当前的音量) +core.musicStatus.cachedBgms (背景音乐的缓存内容) +core.musicStatus.cacheBgmCount (背景音乐的缓存数量,默认值是4) + + +core.platform +游戏平台相关信息,常见的几个如下: +core.platform.isPC (是否是电脑端) +core.platform.isAndroid (是否是安卓端) +core.platform.isIOS (是否是iOS端) +core.platform.useLocalForage (是否开启了新版存档) + + +core.domStyle +游戏的界面信息,包含如下几个: +core.domStyle.scale (当前的放缩比) +core.domStyle.isVertical (当前是否是竖屏状态) +core.domStyle.showStatusBar (当前是否显示状态栏) +core.domStyle.toolbarBtn (当前是否显示工具栏) + + +core.bigmap +当前的地图的尺寸信息,主要包含如下几个 +core.bigmap.width (当前地图的宽度) +core.bigmap.height (当前地图的高度) +core.bigmap.offsetX (当前地图针对窗口左上角的偏移像素x) +core.bigmap.offsetX (当前地图针对窗口左上角的偏移像素y) +core.bigmap.tempCanvas (一个临时画布,可以用来临时绘制很多东西) + + +core.saves +和存档相关的信息,包含如下几个: +core.saves.saveIndex (上次保存或读取的存档编号) +core.saves.ids (当前存在存档的编号列表) +core.saves.autosave (自动存档的信息) +core.saves.favorite (收藏的存档) +core.saves.favoriteNames (自定义存档的名称) + + +core.status +游戏的状态相关,是整个游戏中最重要的东西,其核心是如下几条: +请注意,每次重新开始、存档或读档时,core.status都会重新初始化。 +core.status.played (当前是否在游戏中) +core.status.gameOver (当前是否已经游戏结束,即win或lose) +core.status.hero (勇士信息;此项和全塔属性中的hero大体是对应的) + core.status.hero.name 勇士名 + core.status.hero.lv 当前等级 + core.status.hero.hpmax 当前生命上限 + core.status.hero.hp 当前生命值 + core.status.hero.manamax 当前魔力上限 + core.status.hero.mana 当前魔力值 + core.status.hero.atk 当前攻击力 + core.status.hero.def 当前防御力 + core.status.hero.mdef 当前魔防值 + core.status.hero.money 当前金币值 + core.status.hero.experience 当前经验值 + core.status.hero.loc 当前的位置信息 + core.status.hero.equipment 当前装上的装备 + core.status.hero.items 当前拥有的道具信息 + core.status.hero.flags 当前的各项flag信息 + core.status.hero.step 当前的步数值 + core.status.hero.statistics 当前的统计信息 +core.status.floorId (当前所在的楼层) +core.status.maps (所有的地图信息) +core.status.thisMap (当前的地图信息,等价于core.status.maps[core.status.floorId]) +core.status.bgmaps (所有背景层的信息) +core.status.fgmaps (所有的前景层的信息) +core.status.checkBlock (地图上的阻激夹域信息,也作为光环的缓存) +core.status.lockControl (当前是否是控制锁定状态) +core.status.automaticRoute (当前的自动寻路信息) +core.status.route (当前记录的录像) +core.status.replay (录像回放时要用到的信息) +core.status.shops (所有全局商店信息) +core.status.textAttribute (当前的文字属性,如颜色、背景等信息,和setText事件对应) +core.status.globalAttribute (当前的全局属性,如边框色、装备栏等) +core.status.curtainColor (当前色调层的颜色) +core.status.globalAnimateObjs (当前的全局帧动画效果) +core.status.floorAnimateObjs (当前的楼层贴图帧动画效果) +core.status.boxAnimateObjs (当前的盒子帧动画效果,例如怪物手册中的怪物) +core.status.autotileAnimateObjs (当前楼层的自动元件动画效果) +core.status.globalAnimateStatus (当前的帧动画的状态) +core.status.animateObjs (当前的播放动画信息) + + +core.floorIds +一个数组,表示所有的楼层ID,和全塔属性中的floorIds一致。 + + +core.floors +从楼层文件中读取全部的地图数据。 +和core.status.maps不同的是,后者在每次重新开始和读档时都会重置,也允许被修改(会存入存档)。 +而core.floors全程唯一,不允许被修改。 + + +core.statusBar +状态栏信息,例如状态栏图片,图标,以及各个内容的DOM定义等。 +core.statusBar.images (所有的系统图标,和icons.png对应) +core.statusBar.icons (状态栏中绘制的图标内容) + + +core.values +所有的全局数值信息,和全塔属性中的values一致。 +此项允许被直接修改,会存入存档。 + + +core.flags +所有的全塔开关,和全塔属性中的flags一致。 +此项不允许被直接修改,如有需要请使用“设置系统开关”事件,或者调用core.setGlobalFlag这个API。 + + +core.plugin +定义的插件函数。 + + +core.doFunc(func, _this) +执行一个函数,func为函数体或者插件中的函数名,_this为使用的this。 +如果func为一个字符串,则视为插件中的函数名,同时_this将被设置成core.plugin。 +此函数剩余参数将作为参数被传入func。 +``` + +## actions.js + +actions.js主要是处理一些和用户交互相关的内容。 + +```text +core.registerAction(action, name, func, priority) +注册一个用户交互行为。 +action:要注册的交互类型,如 ondown, onclick, keyDown 等等。 +name:你的自定义名称,可被注销使用;同名重复注册将后者覆盖前者。 +func:执行函数;可以是一个具体的函数体,或者是一个插件中的函数名。 +priority:优先级;优先级高的被注册项将会被执行。此项可不填,默认为0。 +返回:如果func返回true,则不会再继续执行其他的交互函数;否则会继续执行其他的交互函数。 + + +core.unregisterAction(action, name) +注销一个用户交互行为。 + + +core.doRegisteredAction(action) +执行一个用户交互行为。 +此函数将在该交互行为所注册的所有函数中,按照优先级从高到底依次执行。 +此函数剩余的参数将会作为参数传入该执行函数中。 +当某个执行函数返回true时将终止这一过程。 + + +core.onkeyDown(e) +当按下某个键时的操作,e为KeyboardEvent。 +请勿直接覆盖或调用此函数,如有需要请注册一个"onkeyDown"的交互函数。 + + +core.onkeyUp(e) +当放开某个键时的操作,e为KeyboardEvent。 +请勿直接覆盖或调用此函数,如有需要请注册一个"onkeyUp"的交互函数。 + + +core.pressKey(keyCode) +当按住某个键不动时的操作,目前只对方向键有效。 +如果需要添加对于其他键的长按,请复写_sys_onkeyDown和_sys_onkeyUp。 +请勿直接覆盖或调用此函数,如有需要请注册一个"pressKey"的交互函数。 + + +core.keyDown(keyCode) +当按下某个键时的操作,参数为该键的keyCode值。 +请勿直接覆盖或调用此函数,如有需要请注册一个"keyDown"的交互函数。 + + +core.keyUp(keyCode, altKey, fromReplay) +当按下某个键时的操作,参数为该键的keyCode值。 +altKey标志了Alt键是否同时被按下,fromReplay表示是否是从录像回放中调用的。 +请勿直接覆盖或调用此函数,如有需要请注册一个"keyUp"的交互函数。 + + +core.ondown(loc) +当点击屏幕时的操作。loc为点击的信息。 +请勿直接覆盖或调用此函数,如有需要请注册一个"ondown"的交互函数。 +注册的ondown交互函数需要接受x, y, px, py四个参数,代表点击的位置和像素坐标。 + + +core.onmove(loc) +当在屏幕上滑动时的操作。loc为当前的坐标信息。 +请勿直接覆盖或调用此函数,如有需要请注册一个"onmove"的交互函数。 +注册的onmove交互函数需要接受x, y, px, py四个参数,代表当前的的位置和像素坐标。 + + +core.onup(loc) +当从屏幕上离开时的操作。loc为当前的坐标信息。 +请勿直接覆盖或调用此函数,如有需要请注册一个"onup"的交互函数。 +注册的onup交互函数需要接受x, y, px, py四个参数,代表当前的的位置和像素坐标。 + + +core.onclick(x, y) +当点击屏幕上的某点位置时执行的操作,请注意这里的x和y是位置坐标。 +一般而言,一个完整的ondown到onup将触发一个onclick事件。 +请勿直接覆盖或调用此函数,如有需要请注册一个"onclick"的交互函数。 + + +core.onmousewheel(direct) +当滚动鼠标滑轮时执行的操作。direct为滑轮方向,上为1,下为-1。 +请勿直接覆盖或调用此函数,如有需要请注册一个"onmousewheel"的交互函数。 + + +core.keyDownCtrl() +当长按Ctrl键不动时执行的操作。 +请勿直接覆盖或调用此函数,如有需要请注册一个"keyDownCtrl"的交互函数。 + + +core.longClick() +当长按住屏幕时执行的操作。 +请勿直接覆盖或调用此函数,如有需要请注册一个"longClick"的交互函数。 +注册的交互函数如果某一项返回true,则之后仍然会继续触发该长按, +如果全部返回false则将停止本次长按行为,直到手指离开屏幕并重新进行长按为止。 +``` + +## control.js + +control.js将负责整个游戏的核心控制系统,分为如下几个部分: +- requestAnimationFrame相关 +- 标题界面,开始和重新开始游戏 +- 自动寻路和人物行走相关 +- 画布、位置、阻激夹域、显伤等相关 +- 录像的回放相关 +- 存读档,自动存档,同步存档等相关 +- 人物属性和状态、位置、变量等相关 +- 天气、色调、音乐和音效的播放 +- 状态栏和工具栏相关 +- 界面resize相关 + +```text +// ------ requestAnimationFrame 相关 ------ // + +core.registerAnimationFrame(name, needPlaying, func) +注册一个animationFrame。它将在每次浏览器的帧刷新时(约16.6ms)被执行。 +name:你的自定义名称,可被注销使用;同名重复注册将后者覆盖前者。 +needPlaying:如果此项为true,则仅在游戏开始后才会被执行(标题界面不执行) +func:执行函数;可以是一个具体的函数体,或者是一个插件中的函数名。 +func可以接受一个timestamp作为参数,表示从整个页面加载完毕到当前时刻所经过的毫秒数。 +如果func执行报错,将在控制台打出一条信息,并自动进行注销。 + + +core.unregisterAnimationFrame(name) +注销一个animationFrame,参数是你的上面的自定义名称。 + +// ------ 开始界面相关 ------ // + +core.showStartAnimate(noAnimate, callback) +重置所有内容并显示游戏标题界面。 +noAnimate如果为true则不会有淡入动画,callback为执行完毕的回调。 + + +core.hideStartAnimate(callback) +淡出隐藏游戏标题界面,callback为执行完毕的回调。 + + +core.isPlaying() +当前是否正在游戏中。 + + +core.clearStatus() +清除所有的游戏状态和数据,包括状态栏的显示。 + +// ------ 自动寻路、人物行走 ------ // + +core.stopAutomaticRoute() +停止自动寻路的操作 + + +core.saveAndStopAutomaticRoute() +保存剩下的寻路路线并停止自动寻路操作。主要用于打怪开门后继续寻路使用。 + + +core.continueAutomaticRoute() +继续剩下的自动寻路操作。主要用于打怪开门后继续寻路使用。 + + +core.clearContinueAutomaticRoute() +清空剩下的自动寻路操作。 + + +core.setAutomaticRoute(destX, destY, stepPostfix) +尝试开始进行一个自动寻路。stepPostfix是鼠标拖动的路径。 +此函数将检测是否在寻路中(在则停止或双击瞬移),检测是否点击自己(转身或轻按), +检测是否能单击瞬移,最后找寻自动寻路路线并开始寻路。 + + +core.setAutoHeroMove(steps) +设置勇士的自动行走路线,并立刻开始行走。 + + +core.setHeroMoveInterval(callback) +设置勇士行走动画。callback是每一步行走完毕后的回调。 + + +core.moveOneStep(x, y) +每走完一步后执行的操作,被转发到了脚本编辑中,执行脚本编辑moveOneStep中的内容。 + + +core.moveAction(callback) +尝试执行单步行走。callback是执行完毕的回调。 +如果勇士面对的方向是noPass的,将直接触发事件并执行回调。 + + +core.moveHero(direction, callback) +令勇士朝一个方向行走。如果设置了callback,则只会行走一步,并执行回调。 +否则,将一直朝该方向行走,直到core.status.heroStop为true为止。 +direction可为"up","down","right","left",分别对应上,下,右,左。 + + +core.isMoving() +当前是否正在处于行走状态 + + +core.waitHeroToStop(callback) +停止勇士的行走,等待行动结束后,再异步执行回调。 + + +core.turnHero(direction) +转向。如果设置了direction则会转到该方向,否则会右转。该函数会自动计入录像。 +direction可为"up","down","right","left",分别对应上,下,右,左。 + + +core.moveDirectly(destX, destY) +尝试瞬间移动到某点,被转发到了脚本编辑中,执行脚本编辑中的内容。 +此函数返回非负值代表成功进行瞬移,返回值是省略的步数;如果返回-1则代表没有成功瞬移。 + + +core.tryMoveDirectly(destX, destY) +尝试单击瞬移到某点。 +如果该点可被直接瞬间移动到,则直接瞬移到该点;否则尝试瞬移到相邻的上下左右点并行走一步。 + + +core.drawHero(status, offset) +绘制勇士。 +status可选,为'stop','leftFoot'和'rightFoot'之一,不填或null默认是'stop'。 +offset可选,表示具体当前格子的偏移量。不填默认为0。 +此函数将重新计算地图的偏移量,调整窗口位置,绘制勇士和跟随者信息。 + +// ------ 画布、位置、阻激夹域、显伤 ------ // + +core.setGameCanvasTranslate(canvas, x, y) +设置某个画布的偏移量 + + +core.addGameCanvasTranslate(x, y) +加减所有系统画布(ui和data除外)的偏移量。主要是被“画面震动”所使用。 + + +core.updateViewport() +根据大地图的偏移量来更新窗口的视野范围。 + + +core.nextX(n) / core.nextY(n) +获得勇士面对的第n个位置的横纵坐标。n可不填,默认为1。 + + +core.nearHero(x, y, n) +判定某个点是否和勇士的距离不大于n。n可不填,默认为1。 + + +core.gatherFollowers() +聚集所有的跟随者到勇士的位置。 + + +core.updateFollowers() +更新跟随者们的坐标。 + + +core.updateCheckBlock(floorId) +更新阻激夹域的信息,被转发到了脚本编辑中。 + + +core.checkBlock() +检查勇士坐标点的阻激夹域信息。 + + +core.updateDamage(floorId, ctx) +更新全地图的显伤。floorId可选,默认为当前楼层。 +ctx可选,为画布;如果不为空,则将会绘制到该画布上而不是damage层上。 + +// ------ 录像相关 ------ // + +core.chooseReplayFile() +弹出选择文件窗口,让用户选择录像文件。 + + +core.startReplay(list) +开始播放一段录像。list为录像的操作数组。 + + +core.triggerReplay() +播放或暂停录像,实际上是pauseReplay或resumeReplay之一。 + + +core.pauseReplay() / core.resumeReplay() +暂停和继续录像播放。 + + +core.speedUpReplay() / core.speedDownReplay() +加速和减速录像播放。 + + +core.setReplaySpeed(speed) +直接设置录像回放速度。 + + +core.stopReplay(force) +停止录像回放。如果force为true则强制停止。 + + +core.rewindReplay() +回退一个录像节点。 + + +core.saveReplay() / core.bookReplay() / core.viewMapReplay() +回放录像时的存档、查看怪物手册、浏览地图操作。 + + +core.isReplaying() +当前是否正在录像播放中。 + + +core.registerReplayAction(name, func) +注册一个自定义的录像行为。 +name:自定义名称,可用户注销使用。 +func:具体执行录像的函数,是一个函数体或者插件中的函数名。 +func需要接受action参数,代表录像回放时的当前操作行为。 +如果func返回true,则代表成功处理了此次操作,返回false代表没有进行处理。 +自己添加的录像项只能由数字、大小写、下划线线、冒号等符号组成,否则无法正常压缩和解压缩。 +对于自定义内容(比如中文文本或数组)请使用JSON.stringify再core.encodeBase64处理。 +请注意回放录像时的二次记录问题(即回放时录像会重新记录路线)。 + + +core.unregisterReplayAction(name) +注销一个录像行为。此函数一般不应当被使用。 + +// ------ 存读档相关 ------ // + +core.autosave(remoreLast) +进行一个自动存档,实际上是加入到缓存之中。 +removeLast如果为true则会从路线中删除最后一项再存(打怪开门前的状态)。 +在事件处理中不允许调用本函数,如有需要请呼出存档页面。 + + +core.checkAutosave() +将缓存的自动存档写入存储中。平均每五秒钟,或在窗口失去焦点时被执行。 + + +core.doSL(id, type) +实际执行一个存读档事件。id为存档编号,自动存档为'autoSave'。 +type只能为'save', 'load', 'replayLoad'之一,代表存档、读档和从存档回放录像。 + + +core.syncSave(type) / core.syncLoad() +向服务器同步存档,从服务器加载存档。type如果为'all'则会向服务器同步所有存档。 + + +core.saveData() +获得要存档的内容,实际转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.loadData(data, callback) +实际执行一次读档行为,data为读取到的数据,callback为执行完毕的回调。 +实际转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.getSave(index, callback) +获得某个存档位的存档。index为存档编号,0代表自动存档。 + + +core.getSaves(ids, callback) +获得若干个存档位的存档。ids为一个存档编号数组,0代表自动存档。 + + +core.getAllSaves(callback) +获得全部的存档内容。目前仅被同步全部存档和下载全部存档所调用。 + + +core.getSaveIndexes(callback) +刷新全部的存档信息,将哪些档位有存档的记录到core.saves.ids中。 + + +core.hasSave(index) +判定某个存档位是否存在存档。index为存档编号,0代表自动存档。 + + +core.removeSave(index) +删除某个存档。index为存档编号,0代表自动存档。 + + +// ------ 属性、状态、位置、变量等 ------ // + +core.setStatus(name, value) +设置勇士当前的某个属性,name可为"atk","def","hp"等。 +如core.setStatus("atk", 100)则为设置勇士攻击为100。 + + +core.addStatus(name, value) +加减勇士当前的某个属性,name可为"atk","def","hp"等。 +如core.addStatus("atk", 100)则为增加勇士攻击100点。 +等价于 core.setStatus(name, core.getStatus(name) + value)。 + + +core.getStatus(name) +获得勇士的某个原始属性值,该值不受百分比增幅影响。 +譬如你有一件道具加10%的攻击,你可以使用该函数获得你的攻击被增幅前的数值 + + +core.getStatusOrDefault(status, name) +尝试从status中获得某个原始属性值,该值不受百分比增幅影响;如果status为null或不存在对应属性值则从勇士属性中获取。 +此项在伤害计算函数中使用较多,例如传递新的攻击和防御来计算临界和1防减伤。 + + +core.getRealStatus(name) +获得勇士的某个计算属性值。该属性值是在加成buff之后得到的。 +该函数等价于 core.getStatus(name) * core.getBuff(name) + + +core.getRealStatusOrDefault(status, name) +尝试从status中获得某个原始属性值再进行增幅,如果不存在则获取勇士本身的计算属性值。 + + +core.setBuff(name, value) +设置勇士的某个属性的增幅值。value为1代表无增幅。 + + +core.addBuff(name, value) +增减勇士的某个属性的增幅值。等价于 core.setBuff(name, core.getBuff(name) + value) + + +core.getBuff(name) +获得勇士的某个属性的增幅值。默认值是1。 + + +core.setHeroLoc(name, value, noGather) +设置勇士位置属性。name只能为'x'(勇士x坐标), 'y'(勇士y坐标)和'direction'(勇士朝向)之一。 +如果noGather为true,则不会聚集所有的跟随者。 +譬如core.setHeroLoc("x", 1, true)则为设置勇士x坐标为1,不聚集所有跟随者。 + + +core.getHeroLoc(name) +获得勇士的某个位置属性。如果name为null则直接返回core.status.hero.loc。 +譬如core.getHeroLoc("x")则返回勇士当前x坐标 + + +core.getLvName(lv) +获得某个等级对应的名称,其在全塔属性的levelUp中定义。如果不存在则返回原始数值。 + + +core.setFlag(name, value) +设置某个自定义变量或flag。如果value为null则会调用core.removeFlag进行删除。 +这里的变量与事件中使用的变量等价 +譬如core.setFlag("xxx",1)则为设置变量xxx为1。 + + +core.addFlag(name, value) +加减某个自定义的变量或flag。等价于 core.setFlag(name, core.getFlag(name, 0) + value) +这里的变量与事件中使用的变量等价 +譬如core.addFlag("xxx",1)则为增加变量xxx1 + + +core.getFlag(name, defaultValue) +获得某个自定义的变量或flag。如果该flag不存在(从未赋值过),则返回defaultValue的值。 +这里的变量与事件中使用的变量等价 +譬如core.getFlag("xxx",1)则为获得变量xxx的值,如变量xxx不存在则返回1 + + +core.hasFlag(name) +判定是否拥有某个自定义变量或flag。等价于 !!core.getFlag(name, 0) +这里的变量与事件中使用的变量等价 +譬如core.hasFlag("xxx",1)则为判断变量xxx是否存在 + +core.removeFlag(name) +删除一个自定义变量或flag。 + + +core.lockControl() / core.unlockControl() +锁定和解锁控制。常常应用于事件处理。 + + +core.debug() +开启调试模式。此模式下可以按住Ctrl进行穿墙。 + +// ------ 天气,色调,音乐和音效 ------ // + +core.setWeather(type, level) +设置当前的天气。type只能为'rain', 'snow'或'fog',level为1-10之间代表强度信息。 + + +core.setCurtain(color, time, callback) +更改画面色调。color为更改到的色调,是个三元或四元组;time为渐变时间,0代表立刻切换。 +譬如core.setCurtain([255,255,255,1], 0)即为无回调无等待更改画面色调为白色 + + + +core.screenFlash(color, time, times, callback) +画面闪烁。color为色调,三元或四元组;time为单次闪烁时间,times为总闪烁次数。 + + +core.playBgm(bgm, startTime) +播放一个bgm。startTime可以控制开始时间,不填默认为0。 +如果bgm不存在、不被支持,或当前不允许播放背景音乐,则会跳过。 + + +core.pauseBgm() / core.resumeBgm() +暂停和恢复当前bgm的播放。 + + +core.triggerBgm() +更改当前bgm的播放状态。 + + +core.playSound(sound) / core.stopSound() +播放一个音效,停止全部音效。 +如果sound不存在、不被支持,或当前不允许播放音效,则会忽略。 + + +core.checkBgm() +检查bgm的状态。 +有的时候,刚打开页面时,浏览器是不允许自动播放标题界面bgm的,一定要经过一次用户操作行为。 +这时候我们可以给开始按钮增加core.checkBgm(),如果之前没有成功播放则重新播放。 + +// ------ 状态栏和工具栏相关 ------ // + +core.clearStatusBar() +清空状态栏的数据。 + + +core.updateStatusBar(doNotCheckAutoEvents) +更新状态栏,被转发到了脚本编辑中。此函数还会根据是否在回放来设置工具栏的图标。 +如果doNotCheckAutoEvents为true则此时不检查自动事件。 + +core.showStatusBar() / core.hideStatusBar(showToolbox) +显示和隐藏状态栏。 +如果showToolbox为true,则在竖屏模式下不隐藏工具栏,方便手机存读档操作。 + + +core.updateHeroIcon() +更新状态栏上的勇士图标。 + + +core.updateGlobalAttribute() +更新全局属性,例如状态栏的背景图等。 + + +core.setToolbarButton(useButtom) +设置工具栏是否是拓展键盘。 + +// ------ resize 相关 ------ // + +core.registerResize(name, func) +注册一个resize函数。 +name为自定义名称,可供注销使用。 +func可以是一个函数,或插件中的函数名,可以接受一个obj作为参数。 +具体详见resize函数。 + + +core.unregisterResize(name) +注销一个resize函数。 + + +core.resize() +屏幕分辨率改变后的重新自适应。 +此函数将根据当前的屏幕分辨率信息,生成一个obj,并传入各个注册好的resize函数中执行。 +``` + +## enemys.js + +enemys.js中定义了一系列和怪物相关的API函数。 + +```text +core.hasSpecial(special, test) +判断是否含有某个特殊属性。test为要检查的特殊属性编号。 +special为要测试的内容,允许接收如下类型参数: + - 一个数字:将直接和test进行判等。 + - 一个数组:将检查test是否在该数组之中存在。 + - 一个怪物信息:将检查test是否在该怪物的特殊属性中存在 + - 一个字符串:视为怪物ID,将检查该怪物的特殊属性 + + +core.getSpecials() +获得所有特殊属性的列表。实际上被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.getSpecialText(enemy) +获得某个怪物的全部特殊属性名称。enemy可以是怪物信息或怪物ID。 +将返回一个数组,每一项是该怪物所拥有的一个特殊属性的名称。 + + +core.getSpecialHint(enemy, special) +获得怪物的某个特殊属性的描述。enemy可以是怪物信息或怪物ID,special为该特殊属性编号。 + + +core.canBattle(enemy, x, y, floorId) +判定当前能否战胜某个怪物。 +enemy可以是怪物信息或怪物ID,x,y,floorId为当前坐标和楼层。(下同) +能战胜返回true,不能战胜返回false。 + + +core.getDamage(enemy, x, y, floorId) +获得某个怪物的全部伤害值。 +如果没有破防或无法战斗则返回null,否则返回具体的伤害值。 + + +core.getExtraDamage(enemy, x, y, floorId) +获得某个怪物的额外伤害值(不可被魔防减伤)。 +目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。 + + +core.getDamageString(enemy, x, y, floorId) +获得某个怪物伤害字符串和颜色信息,以便于在地图上绘制显伤。 + + +core.nextCriticals(enemy, number, x, y, floorId) +获得接下来的N个临界值和临界减伤。enemy可以是怪物信息或怪物ID,x,y,floorId为当前坐标和楼层。 +number为要计算的临界值数量,不填默认为1。 +如果全塔属性中的useLoop开关被开启,则将使用循环法或二分法计算临界,否则使用回合法计算临界。 +返回一个二维数组 [[x1,y1],[x2,y2],...] 表示接下来的每个临界值和减伤值。 + + +core.getDefDamage(enemy, k, x, y, floorId) +获得某个怪物的k防减伤值。k可不填默认为1,x,y,floorId为当前xy坐标和楼层。 + + +core.getEnemyInfo(enemy, hero, x, y, floorId) +获得某个怪物的实际计算时的属性。该函数实际被转发到了脚本编辑中。 +hero可为null或一个对象,具体将使用core.getRealStatusOrDefault(hero, "atk")来获得攻击力数值。 +该函数应当返回一个对象,记录了怪物的实际计算时的属性。 + + +core.getDamageInfo(enemy, hero, x, y, floorId) +获得某个怪物的战斗信息。该函数实际被转发到了脚本编辑中。 +hero可为null或一个对象,具体将使用core.getRealStatusOrDefault(hero, "atk")来获得攻击力数值。 +如果该函数返回null,则代表不可战斗(如没有破防,或无敌等)。 +否则,该函数应该返回一个对象,记录了战斗伤害信息,如战斗回合数等。 +从V2.5.5开始,该函数也允许直接返回一个数字,代表战斗伤害值,此时回合数将视为0。 + + +core.getCurrentEnemys(floorId) +获得某个楼层不重复的怪物信息,floorId不填默认为当前楼层。该函数会被怪物手册所调用。 +该函数将返回一个列表,每一项都是一个不同的怪物,按照伤害值从小到大排序。 +另外值得注意的是,如果设置了某个怪物的displayIdInBook,则会返回对应的怪物。 + + +core.hasEnemyLeft(enemyId, floorId) +检查某个楼层是否还有剩余的(指定)怪物。 +floorId为楼层ID,可忽略表示当前楼层。也可以填数组如["MT0","MT1"]同时检测多个楼层。 +enemyId如果不填或null则检查是否剩余任何怪物,否则只检查是否剩余指定的某类怪物。 +``` + +## events.js + +events.js将处理所有和事件相关的操作,主要分为五个部分: +- 游戏的开始和结束 +- 系统事件的处理 +- 自定义事件的处理 +- 点击状态栏图标所进行的操作 +- 一些具体事件的执行内容 + + +```text +// ------ 游戏的开始和结束 ------ // + +core.resetGame(hero, hard, floorId, maps, values) +重置整个游戏。该函数实际被转发到了脚本编辑中。 + + +core.startGame(hard, seed, route, callback) +开始新游戏。 +hard为难度字符串,会被设置为core.status.hard。 +seed为开始时要设置的的种子,route为要开始播放的录像,callback为回调函数。 +该函数将重置整个游戏,调用setInitData,执行startText事件,上传游戏人数统计信息等。 + + +core.setInitData() +根据难度分歧来初始化难度,包括设置flag:hard,设置初始属性等。 +该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.win(reason, norank) +游戏胜利,reason为结局名,norank如果为真则该结局不计入榜单。 +该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.lose(reason) +游戏失败,reason为结局名。该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.gameOver(ending, fromReplay, norank) +游戏结束。ending为获胜结局名,null代表失败;fromReplay标识是否是录像触发的。 +此函数将询问是否上传成绩(如果ending不是null),是否下载录像等,并重新开始。 + + +core.restart() +重新开始游戏。本质上就是播放标题界面的BGM并调用showStartAnimate。 + + +core.confirmRestart() +确认用户是否需要重新开始。 + +// ------ 系统事件处理 ------ // + +core.registerSystemEvent(type, func) +注册一个系统事件,即通过图块的默认触发器所触发的事件。 +type为一个要注册的事件类型,func为要执行的函数体或插件中的函数名。 +func需要接受(data, callback)作为参数,分别是触发点的图块信息,和执行完毕时的回调。 +如果注册一个已经存在的系统事件,比如openDoor,则会覆盖系统的默认函数。 + + +core.unregisterSystemEvent(type) +注销一个系统事件。type是上面你注册的事件类型。 + + +core.doSystemEvent(type, data, callback) +执行一个系统事件。type为事件类型,data为该事件点的图块信息,callback为执行完毕的回调。 + + +core.battle(id, x, y, force, callback) +和怪物进行战斗。 +id为怪物的ID,x和y为怪物坐标,force如果为真将强制战斗,callback为执行完毕的回调。 +如果填写了怪物坐标,则会删除对应点的图块并执行该点战后事件。 +如果是在事件流的执行过程中调用此函数,则不会进行自动存档,且会强制战斗。 + + +core.beforeBattle(enemyId, x, y) +战前事件。实际被转发到了脚本编辑中,执行脚本编辑中的内容,可以用于加上一些战前特效。 +此函数在“检测能否战斗和自动存档”【之后】执行。 +如果需要更早的战前事件,请在插件中覆重写 core.events.doSystemEvent 函数。 +此函数返回true则将继续本次战斗,返回false将不再战斗。 + + +core.afterBattle(enemyId, x, y, callback) +战后事件,将执行扣血、加金币经验、特殊属性处理、战后事件处理等操作。 +实际被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.openDoor(x, y, needKey, callback) +尝试开一个门。x和y为门的坐标,needKey表示是否需要钥匙,callback为执行完毕的回调。 +如果不是一个有效的门,需要钥匙且未持有等,均会忽略此事件并直接执行callback。 + + +core.afterOpenDoor(doorId, x, y, callback) +开完一个门后执行的事件,实际被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.getItem(id, num, x, y, callback) +获得若干个道具。itemId为道具ID,itemNum为获得的道具个数,不填默认为1。 +x和y为道具点的坐标,如果设置则会擦除地图上的该点,也可不填。 +譬如core.getItem("yellowKey",2)会直接获得两把黄钥匙。 + + +core.afterGetItem(id, x, y, callback) +获得一个道具后执行的事件,实际被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.getNextItem(noRoute) +轻按,即获得面对的道具。如果noRoute为真则这个轻按行为不会计入录像。 + + +core.changeFloor(floorId, stair, heroLoc, time, callback, fromLoad) +楼层切换。floorId为目标楼层ID,stair为是什么楼梯,heroLoc为目标点坐标。 +time为切换时间,callback为切换完毕的回调,fromLoad标志是否是从读档造成的切换。 +floorId也可以填":before"和":next"表示前一层和后一层。 +heroLoc为{"x": 0, "y": 0, "direction": "up"}的形式。不存在则从勇士位置取。 +如果stair不为null,则会在该楼层中找对应的图块作为目标点的坐标并覆盖heroLoc。 +一般设置的是"upFloor"和"downFloor",但也可以用任何其他的图块ID。 + + +core.changingFloor(floorId, heroLoc, fromLoad) +正在执行楼层切换中执行的操作,实际被转发到了脚本编辑中。 + + +core.hasVisitedFloor(floorId) +是否曾经到达过某一层。 + + +core.visitFloor(floorId) +标记曾经到达了某一层。 + + +core.passNet(data) +执行一个路障处理。这里只有毒衰咒网的处理,血网被移动到了updateCheckBlock中。 + + +core.pushBox(data) +执行一个推箱子事件。 + + +core.afterPushBox() +推箱子之后触发的事件,实际被转发到了脚本编辑中,执行脚本编辑中的内容。 + + +core.changeLight(id, x, y) +踩灯后的事件。 + +// ------ 自定义事件的处理 ------ // + +core.registerEvent(type, func) +注册一个自定义事件。type为事件名,func为执行事件的函数体或插件中的函数名。 +func可以接受(data, x, y, prefix)参数,其中data为事件内容,x和y为该点坐标,prefix为该点前缀。 +同名注册的事件将进行覆盖。 +请记得在自定义处理事件完毕后调用core.doAction()再继续执行下一个事件! + + +core.unregisterEvent(type) +注销一个自定义事件。 + + +core.doEvent(data, x, y, prefix) +执行一个自定义事件。data为事件内容,将根据data.type去注册的事件列表中查找对应的执行函数。 +x和y为该点坐标,prefix为该点前缀。执行事件时也会把(data, x, y, prefix)传入执行函数。 + + +core.setEvents(list, x, y, callback) +设置自定义事件的执行列表,坐标和回调函数。 + + +core.startEvents(list, x, y, callback) +开始执行一系列的自定义事件。list为事件列表,x和y为事件坐标,callback为执行完毕的回调。 +此函数将调用core.setEvents,然后停止勇士,再执行core.doAction()。 + + +core.doAction(keepUI) +执行下一个自定义事件。 +此函数将检测事件列表是否全部执行完毕,如果是则执行回调函数。 +否则,将从事件列表中弹出下一个事件,并调用core.doEvent进行执行。 +如果keepUI为true,则不会清掉UI层和selector,适合于自己用脚本的绘制。 + + +core.insertAction(action, x, y, callback, addToLast) +向当前的事件列表中插入一个或多个事件并执行。 +如果当前并不是在事件执行流中,则会调用core.startEvents()开始执行事件,否则仅仅执行插入操作。 +action为要插入的事件,可以是一个单独的事件,或者是一个事件列表。 +x,y,callback如果设置了且不为null,则会覆盖当前的坐标和回调函数。 +addToLast如果为真,则会插入到事件执行列表的尾部,否则是插入到执行列表的头部。 + + +core.getCommonEvent(name) +根据名称获得某个公共事件内容。 + + +core.recoverEvents(data) +恢复事件现场。一般用于呼出怪物手册、呼出存读档页面等时,恢复事件执行流。 + + +core.checkAutoEvents() +检测自动事件并执行。 + + +core.precompile(events) +尝试预编译一段事件。 + + +// ------ 点击状态栏图标时执行的一些操作 ------ // + +core.openBook(fromUserAction) +尝试打开怪物手册。fromUserAction标志是否是从用户的行为触发,如按键或点击状态栏。(下同) +不建议复写此函数,否则【呼出怪物手册】事件会出问题。 + + +core.useFly(fromUserAction) +尝试使用楼传器。可以安全的复写此函数,参见文档-个性化-覆盖楼传事件。 + + +core.flyTo(toId, callback) +尝试飞行到某个楼层,被转发到了脚本编辑中。 +如果此函数返回true代表成功进行了飞行,false代表不能进行飞行。 + + +core.openEquipbox(fromUserAction) / core.openToolbox(fromUserAction) +尝试打开道具栏和装备栏。可以安全复写这两个函数。 + + +core.openQuickShop(fromUserAction) / core.openKeyBoard(fromUserAction) +尝试打开快捷商店和虚拟键盘。可以安全复写这两个函数。 + + +core.save(fromUserAction) / core.load(fromUserAction) +尝试打开存读档页面。 +不建议复写这两个函数,否则【呼出存读档页面】事件会出问题。 + + +core.openSettings(fromUserAction) +尝试打开系统菜单。不建议复写此函数。 + + +// ------ 一些具体事件的执行内容 ------ // + +core.hasAsync() +当前是否存在未执行完毕的异步事件。请注意正在播放的动画也算异步事件。 + + +core.follow(name) / core.unfollow(name) +跟随勇士/取消跟随。name为行走图名称。 +在取消跟随时如果指定了name,则会从跟随列表中选取一个该行走图取消,否则取消所有跟随。 +跟随和取消跟随都会调用core.gatherFollowers()来聚集所有的跟随者。 + + +core.setValue(name, value, prefix) / core.addValue(name, value, prefix) +设置/增减某个数值。name可以是status:xxx,item:xxx或flag:xxx。 +value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。 + + +core.doEffect(effect, need, times) +执行一个effect操作。该函数目前仅被全局商店的status:xxx+=yyy所调用。 + + +core.setEnemy(id, name, value, prefix) +设置一个怪物属性。id为怪物的ID,name为要设置的项,比如hp,atk,def等等。 +value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。 + + +core.setFloorInfo(name, values, floorId, prefix) +设置某层楼的楼层属性,其中name为该楼层属性对应的条目,values为要设置的值,floorId为楼层id,prefix一般直接忽略。 +譬如core.setFloorInfo("name","4", "MT1")则为设置MT1显示在状态栏中的层数为4 + + +core.setGlobalAttribute(name, value) +设置一个全局属性,如边框颜色等。 + + +core.setGlobalFlag(name, value) +设置一个全局开关,如enableXXX等。 +如果需要设置一个全局数值如红宝石数值,可以直接简单的修改core.values,因此没有单独列出函数。 + + +core.closeDoor(x, y, id, callback) +执行一个关门事件。如果不是一个合法的门,或者该点不为空地,则会忽略本事件。 + + +core.showImage(code, image, sloc, loc, opacityVal, time, callback) +显示一张图片。code为图片编号,image为图片内容或图片名。 +sloc为[x,y,w,h]形式,表示在原始图片上裁剪的区域,也可直接设为null表示整张图片。 +loc为[x,y,w,h]形式,表示在界面上绘制的位置和大小,w和h可忽略表示使用绘制大小。 +opacityVal为绘制的不透明度,time为淡入时间。 +此函数将创建一个画布,其z-index是100+code,即图片编号为1则是101,编号50则是150。 +请注意,curtain层的z-index是125,UI层的z-index是140;因此可以通过图片编号来调整覆盖关系。 + + +core.hideImage(code, time, callback) +隐藏一张图片。code为图片编号,time为淡出时间。 + + +core.moveImage(code, to, opacityVal, time, callback) +移动一张图片。code为图片编号,to为[x,y]表示目标位置,opacityVal目标不透明度,time为移动时间。 + + +core.showGif(name, x, y) +绘制一张gif图片或取消所有绘制内容。如果name不设置则视为取消。x和y为左上角像素坐标。 + + +core.setVolume(value, time, callback) +设置音量。value为目标音量大小,在0到1之间。time为音量渐变的时间。 + + +core.vibrate(time, callback) +画面震动。time为震动时间。 +请注意,画面震动时间必须是500的倍数,系统也会自动把time调整为上整的500倍数值。 + + +core.eventMoveHero(steps, time, callback) +使用事件移动勇士。time为每步的移动时间。 +steps为移动数组,可以接受'up','down','left','right','forward'和'backward'项。 +使用事件移动勇士将不会触发任何地图上的事件。 + + +core.jumpHero(ex, ey, time, callback) +跳跃勇士。ex和ey为目标点的坐标,可以为null表示原地跳跃。time为总跳跃时间。 + + +core.openShop(shopId, needVisited) +打开一个全局商店。needVisited表示是否需要该商店原本就是启用状态。 +如果该商店对应的实际上是一个全局事件,则会直接插入并执行。 + + +core.disableQuickShop(shopId) +禁用一个全局商店,即把一个商店从启用变成禁用状态。 + + +core.canUseQuickShop(shopId) +当前能否使用某个全局商店,实际被转发到了脚本编辑中。 +如果此函数返回null则表示可以使用,返回一个字符串表示不可以,该字符串表示不可以的原因。 + + +core.setHeroIcon(name, noDraw) +设置勇士的行走图。 +name为行走图名称,noDraw如果为真则不会调用core.drawHero()函数进行刷新。 + + +core.checkLvUp() +检查升级事件。该函数将判定当前是否升级(或连续升级),然后执行升级事件。 + + +core.tryUseItem(itemId) +尝试使用一个道具。 +对于怪物手册和楼传器,将分别调用core.openBook()和core.useFly()函数。 +对于中心对称飞行器,则会调用core.drawCenterFly()函数。 +对于其他的道具,将检查是否拥有,能否使用,并且进行使用。 + + +core.afterUseBomb() +使用炸弹或圣锤后的事件。实际被转发到了脚本编辑中。 +``` + +## icons.js + +icons.js主要是负责素材相关信息,比如某个素材在对应的图片上的位置。 + +```text +core.getClsFromId(id) +根据某个素材的ID获得该素材的cls + + +core.getTilesetOffset(id) +根据某个素材来获得对应的tileset和坐标信息。 +如果该素材不是tileset,则返回null。 +``` + +## items.js + +items.js主要负责一切和道具相关的内容。 + +```text +core.getItemEffect(itemId, itemNum) +即捡即用类的道具获得时的效果。实际对应道具图块属性中的itemEffect框。 + + +core.getItemEffectTip(itemId) +即捡即用类的道具获得时的额外提示,比如“,攻击+100”。 +实际对应道具图块属性中的itemEffectTip框。 + + +core.useItem(itemId, noRoute, callback) +尝试使用一个道具。实际对应道具图块属性中的useItemEffect框。 +此函数也会调用一遍core.canUseItem(),如果无法使用将直接返回。 +noRoute如果为真,则这次使用道具的过程不会被计入录像。 +使用道具完毕后,对于消耗道具将自动扣除,永久道具不会扣除。 + + +core.canUseItem(itemId) +当前能否使用某个道具。 +有些系统道具如破炸和上下楼器等,会在计算出目标点的坐标后存入core.status.event.ui。 +使用道具时将直接从core.status.event.ui调用,不会重新计算。 + + +core.itemCount(itemId) +获得某个道具的个数。 + + +core.hasItem(itemId) +当前是否拥有某个道具。等价于 core.itemCount(itemId) > 0 +请注意,装备上的装备不视为拥有该道具,即core.hasEquip()和core.hasItem()是完全不同的。 + + +core.hasEquip(itemId) +当前是否装备上某个装备。 +请注意,装备上的装备不视为拥有该道具,即core.hasEquip()和core.hasItem()是完全不同的。 + + +core.getEquip(equipType) +获得某个装备位的当前装备。equipType为装备类型,从0开始。 +如果该装备位没有装备则返回null,否则返回当前装备的ID。 + + +core.setItem(itemId, itemNum) +设置某个道具的个数。 + + +core.addItem(itemId, itemNum) +增减某个道具的个数,itemNum可不填默认为1。 + + +core.getEquipTypeByName(name) +根据装备位名称来找到一个空的装备孔,适用于多重装备,装备位名称可在全塔属性中设置。 +如果没有一个装备孔是该装备名称,则返回-1。 +譬如:core.getEquipTypeByName("武器")默认返回全塔属性中武器对应的装备孔号0。 + + +core.getEquipTypeById(equipId) +获得某个装备的装备类型。 +如果其type写的是装备名(多重装备),则调用core.getEquipTypeByName()函数。 + + +core.canEquip(equipId, hint) +当前能否穿上某个装备。如果hint为真,则不可装备时会气泡提示原因。 + + +core.loadEquip(equipId, callback) +穿上某个装备,equipId为装备id。 + + +core.unloadEquip(equipType, callback) +脱下某个装备孔的装备。 +譬如core.unloadEquip(0)则为脱下0号装备孔中的装备,默认0号装备孔对应“武器”,1号装备孔对应“盾牌” + + +core.compareEquipment(compareEquipId, beComparedEquipId) +比较两个套装的差异。 +此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。 +如果存在差异的,将作为一个对象返回其差异内容。 + + +core.quickSaveEquip(index) +保存当前套装。index为保存的套装编号。 + + +core.quickLoadEquip() +读取当前套装。index为读取的套装编号。 + + +core.getEquippedStatus(name) +获得装备直接增加的属性数据。 +``` + +## loader.js + +loader.js主要负责资源加载相关的内容。 + +```text +core.loadImage(imgName, callback) +从 project/images/ 中加载一张图片。imgName为图片名。 +callback为执行完毕的回调函数,接收(imgName, image)即图片名和图片内容作为参数。 +如果图片不存在或加载失败则会在控制台打出一条错误日志,不会执行回调。 + + +core.loadImages(names, toSave, callback) +从 project/images/ 中加载若干张图片。 +names为一个图片名的列表,toSave为加载并存到的对象。 +callback为全部加载完毕执行的回调。 + + +core.loadOneMusic(name) +从 project/sounds/ 或第三方中加载一个音乐,并存入core.material.bgms中。name为音乐名。 + + +core.loadOneSound(name) +从 project/sounds/ 中加载一个音效,并存入core.material.sounds中。name为音效名。 + + +core.loadBgm(name) +预加载一个bgm并加入缓存列表core.musicStatus.cachedBgms。 +此函数将会检查bgm的缓存,预加载和静音播放。 +如果缓存列表溢出(core.musicStatus.cacheBgmCount)则通过LRU算法选择一个bgm并调用core.freeBgm()。 + + +core.freeBgm(name) +释放一个bgm的内存并移出缓存列表。如果该bgm正在播放则也会立刻停止。 +``` + +## map.js + +maps.js负责一切和地图相关的处理内容,包括如下几个方面: +- 地图的初始化,保存和读取,地图数组的生成 +- 是否可移动或瞬间移动的判定 +- 地图的绘制 +- 获得某个点的图块信息 +- 启用和禁用图块,改变图块 +- 移动/跳跃图块,淡入淡出图块 +- 全局动画控制,动画的绘制 + +```text +// ------ 地图的初始化,保存和读取,地图数组的生成 ------ // + +core.loadFloor(floorId, map) +从楼层或者存档中生成core.status.maps的内容。 +map为存档信息,如果某项在map中不存在则会从core.floors中读取。 + + +core.getNumberById(id) +给定一个图块ID,找到图块对应的图块编号。 + + +core.initBlock(x, y, id, addInfo, eventFloor) +给定一个数字,初始化一个图块信息。 +x和y为坐标,id为数字或者可以:t或:f结尾表示初始是启用还是禁用状态。 +addInfo如果为true则会填充上图块的默认信息,比如给怪物添加battle触发器。 +eventFloor如果设置为某个楼层信息,则会填充上该点的自定义或楼层切换事件。 + + +core.compressMap(mapArr, floorId) +压缩地图。mapArr为要压缩的二维数组,floorId为对应的楼层。 +此函数将把mapArr和对应的楼层中的数组进行比较,并只取差异值进行存储。 +通过这种压缩地图的方式,不仅节省了存档空间,还支持了任意修改地图的接档。 + + +core.decompressMap(mapArr, floorId) +解压缩地图。mapArr为压缩后的地图,floorId为对应的楼层。 +此函数返回解压后的二维数组。 + + +core.saveMap(floorId) +将某层楼的数据生成存档所保存的内容。在core.saveData()中被调用。 + + +core.loadMap(data, floorId) +从data中读取楼层数据,并调用core.loadFloor()进行初始化。 + + +core.removeMaps(fromId, toId) +删除某个区域的地图。调用此函数后,这些楼层将不可飞,不可被浏览地图,也不计入存档。 +fromId和toId为要删除的起终点楼层ID;toId也可以不填代表只删除某一层。 +此函数适用于高层塔的砍层,例如每100层一个区域且互相独立,不可再返回的情况。 + + +core.resizeMap(floorId) +根据某层楼的地图大小来调整大地图的画布大小。floorId可为null表示当前层。 + + +core.getMapArray(floorId, showDisable) +生成某层楼的二维数组。floorId可不填代表当前楼层。 +showDisable若为真,则对于禁用的点会加上:f表示,否则视为0。 + + +core.getMapBlocksObj(floorId, showDisable) +以x,y的形式返回每个点的图块信息。floorId可不填表示当前楼层。 +此函数将返回 {"0,0": {...}, "0,1": {...}} 这样的结构,其中内部为对应点的block信息。 + + +core.getBgMapArray(floorId, noCache) +获得某层楼的背景层的二维数组。floorId可不填表示当前楼层。 +如果noCache为真则重新从剧本中读取而不使用缓存数据。 + + +core.getFgMapArray(floorId, noCache) +获得某层楼的前景层的二维数组。floorId可不填表示当前楼层。 +如果noCache为真则重新从剧本中读取而不使用缓存数据。 + + +core.getBgNumber(x, y, floorId, noCache) +获得某层楼的背景层中某个点的数字。floorId可不填表示当前楼层。 +如果noCache为真则重新从剧本中读取而不使用缓存数据。 +本函数实际等价于 core.getBgMapArray(floorId, noCache)[y][x] + + +core.getBgNumber(x, y, floorId, noCache) +获得某层楼的前景层中某个点的数字。参数和方法同上。 + +// ------ 是否可移动或瞬间移动的判定 ------ // + +core.generateMovableArray(floorId, x, y, direction) +生成全图或某个点的可通行方向数组。floorId为楼层Id,可不填默认为当前点。 +这里的可通行方向数组,指的是["up","down","left","right"]中的一个或多个组成的数组。 + - 如果不设置x和y,则会返回一个三维数组,其中每个点都是一个该点可通行方向的数组。 + - 如果设置了x和y但没有设置direction,则只会返回该点的可通行方向数组, + - 如果设置了x和y以及direction,则会判定direction是否在该点可通行方向数组中,并返回true或false。 +可以使用core.inArray()来判定某个方向是否在可通行方向数组中。 + + +core.canMoveHero(x, y, direction, floorId) +某个点是否可朝某个方向移动。x和y可选,不填或为null则默认为勇士当前点。 +direction可选,不填或为null则默认勇士当前朝向。floorId不填则默认为当前楼层。 +此函数将直接调用 core.generateMovableArray() 进行判定。 + + +core.canMoveDirectly(destX, destY) +当前能否瞬间移动到某个点。 +如果可以瞬移则返回非负数,其值为该次瞬移所少走的步数;如果不能瞬移则返回-1。 + + +core.automaticRoute(destX, destY) +找寻到目标点的一条自动寻路路径。 + +// ------ 绘制地图相关 ------ // + +core.drawBlock(block, animate) +重新绘制一个图块,block为图块信息。 +如果animate不为null则代表是通过全局动画的绘制,其值为当前的帧数。 + + +core.generateGroundPattern(floorId) +生成某个楼层的地板信息。floorId不填默认为当前楼层。 +该函数可被怪物手册、对话框帧动画等地方使用。 + + +core.drawMap(floorId, callback) +绘制某层楼的地图。floorId为目标楼层ID,可不填表示当前楼层。 +此函数会将core.status.floorId设置为floorId,并设置core.status.thisMap。 +将依次调用core.drawBg(), core.drawEvents()和core.drawFg()函数,最后绘制勇士和更新地图显伤。 + + +core.drawBg(floorId, ctx) +绘制背景层。floorId为目标楼层ID,可不填表示当前楼层。 +如果ctx不为null,则背景层将绘制在该画布上而不是bg层上(drawThumbnail使用)。 +可以通过复写该函数,调整_drawFloorImages和_drawBgFgMap的顺序来调整背景图块和贴图的遮挡顺序。 + + +core.drawEvents(floorId, blocks, ctx) +绘制事件层。floorId为目标楼层ID,可不填表示当前楼层。 +block表示要绘制的图块列表,可不填使用当前楼层的图块列表。 +如果ctx不为null,则背景层将绘制在该画布上而不是event层上(drawThumbnail使用)。 + + +core.drawFg(floorId, ctx) +绘制前景层。floorId为目标楼层ID,可不填表示当前楼层。 +如果ctx不为null,则背景层将绘制在该画布上而不是fg层上(drawThumbnail使用)。 +可以通过复写该函数,调整_drawFloorImages和_drawBgFgMap的顺序来调整前景图块和贴图的遮挡顺序。 + + +core.drawThumbnail(floorId, blocks, options, toDraw) +绘制一个楼层的缩略图。floorId为目标楼层ID,可不填表示当前楼层。 +block表示要绘制的图块列表,可不填使用当前楼层的图块列表。 +options为绘制选项(可为null),包括: + heroLoc: 勇士位置;heroIcon:勇士图标(默认当前勇士);damage:是否绘制显伤; + flags:当前的flags(在存读档时使用) +toDraw为要绘制到的信息(可为null,或为一个画布名),包括: + ctx:要绘制到的画布(名);x,y:起点横纵坐标(默认0);size:绘制大小(默认416/480); + all:是否绘制全图(默认false);centerX,centerY:截取中心(默认为地图正中心) + +// ------ 获得某个点的图块信息 ------ // + +core.noPass(x, y, floorId) +判定某个点是否有noPass(不可通行)的图块。 + + +core.npcExists(x, y, floorId) +判定某个点是否有NPC的存在。 + + +core.terrainExists(x, y, id, floorId) +判定某个点是否有(id对应的)地形存在。 +如果id为null,则只要存在terrains即为真,否则还会判定对应点的ID。 + + +core.stairExists(x, y, floorId) +判定某个点是否存在楼梯。 + + +core.nearStair() +判定当前勇士是否在楼梯上或旁边(距离不超过1)。 + + +core.enemyExists(x, y, id, floorId) +判定某个点是否有(id对应的)怪物存在。 +如果id为null,则只要存在怪物即为真,否则还会判定对应点的怪物ID。 +请注意,如果需要判定某个楼层是否存在怪物请使用core.hasEnemyLeft()函数。 + + +core.getBlock(x, y, floorId, showDisable) +获得某个点的当前图块信息。x和y为坐标;floorId为楼层ID,可忽略或null表示当前楼层。 +showDisable如果为true,则对于禁用的点和事件也会进行返回。 +如果该点不存在图块,则返回null。 +否则,返回值如下: {"index": xxx, "block": xxx} +其中index为该点在该楼层blocks数组中的索引,block为该图块实际内容。 + + +core.getBlockId(x, y, floorId, showDisable) +获得某个点的图块ID。如果该点不存在图块则返回null。 + + +core.getBlockCls(x, y, floorId, showDisable) +获得某个点的图块类型。如果该点不存在图块则返回null。 + + +core.getBlockInfo(block) +根据某个的图块信息获得其详细的素材信息。 +如果参数block为字符串,则视为图块ID;如果参数为数字,则视为图块的数字。 +此函数将返回一个非常详尽的素材信息,目前包括如下几项: +number:素材数字;id:素材id;cls:素材类型;image:素材所在的素材图片;animate:素材的帧数。 +posX, posY:素材在该素材图片上的位置;height:素材的高度;faceIds:NPC朝向记录。 + + +core.searchBlock(id, floorId, showDisable) +搜索一个图块出现过的所有位置。id为图块ID,也可以传入图块的数字。 +id支持通配符搜索,比如"*Door"可以搜索所有的门,"unknownEvent*"可以所有所有的unknownEvent。 +floorId为要搜索的楼层,可以是一个楼层ID,或者一个楼层数组。如果floorId不填则只搜索当前楼层。 +showDisable如果为真,则对于禁用的图块也会返回。 +此函数将返回一个数组,每一项为一个搜索到的结果: +{"floorId": ..., "index": ..., "block": {...}, "x": ..., "y": ...} +即包含该图块所在的楼层ID,在该楼层的blocks数组的索引,图块内容,和横纵坐标。 + + +// ------ 启用和禁用图块,改变图块 ------ // + +core.showBlock(x, y, floorId) +将某个点从禁用变成启用状态。floorId可不填或null表示当前楼层。 + + +core.hideBlock(x, y, floorId) +将某个点从启用变成禁用状态,但不会对其进行删除。floorId可不填或null表示当前楼层。 +此函数不会实际将该块从地图中进行删除,而是将该点设置为禁用,以供以后可能的启用事件。 + + +core.removeBlock(x, y, floorId) +将从启用变成禁用状态,并尽可能将其从地图上删除。 +和hideBlock相比,如果该点不存在自定义事件(比如门或普通的怪物),则将直接从地图中删除。 +如果存在自定义事件,则简单的禁用它,以供以后可能的启用事件。 + + +core.removeBlockById(index, floorId) +每个楼层的图块存成一个数组,index即为该数组中的索引,每个索引对应该地图中的一个图块 +根据索引从地图的block数组中尽可能删除一个图块。floorId可不填或null表示当前楼层。 + + +core.removeBlockByIds(floorId, ids) +ids为由索引组成的数组,如[0,1]等 +根据索引数组从地图的block数组中尽可能删除一系列图块。floorId可不填或null表示当前楼层。 + + +core.canRemoveBlock(block, floorId) +block为图块信息,可由core.getBlock获取 +判定当前能否完全删除某个图块。floorId可不填或null表示当前楼层。 +如果该点存在自定义事件,或者是重生怪,则不可进行删除。 + + +core.showBgFgMap(name, loc, floorId, callback) +显示某层楼中某个背景/前景层的图块。name只能为'bg'或'fg'表示背景或前景层。 +loc为该点坐标,floorId可不填默认为当前楼层。callback为执行完毕的回调。 + + +core.hideBgFgMap(name, loc, floorId, callback) +隐藏某层楼中某个背景/前景层的图块。name只能为'bg'或'fg'表示背景或前景层。 +loc为该点坐标,floorId可不填默认为当前楼层。callback为执行完毕的回调。 + + +core.showFloorImage(loc, floorId, callback) +显示某层楼中的某个楼层贴图。loc为该贴图的左上角坐标。floorId可省略表示当前楼层。 + + +core.hideFloorImage(loc, floorId, callback) +隐藏某层楼中的某个楼层贴图。loc为该贴图的左上角坐标。floorId可省略表示当前楼层。 + + +core.setBlock(number, x, y, floorId) +改变某个楼层的某个图块。 +number为要改变到的数字,也可以传入图块id(将调用core.getNumberById()来获得数字)。 +x,y和floorId为目标点坐标和楼层,可忽略为当前点和当前楼层。 + + +core.replaceBlock(fromNumber, toNumber, floorId) +将某个或某些楼层中的所有某个图块替换成另一个图块 +fromNumber和toNumber为要被替换和替换到的数字。 +floorId可为某个楼层ID,或者一个楼层数组;如果不填只视为当前楼层。 +值得注意的是,使用此函数转了的点上的自定义事件可能无法被执行。 +如有需要,再对那些存在事件的点执行core.setBlock()即可 + + +core.setBgFgBlock(name, number, x, y, floorId) +设置前景/背景层的某个图块。name只能为'bg'或'fg'表示前景或背景层。 +number为要设置到的图块数字,x,y和floorId为目标点坐标和楼层,可忽略为当前点和当前楼层。 + + +core.resetMap(floorId) +重置某层或若干层的地图和楼层属性。 +floorId可为某个楼层ID,或者一个楼层数组如["MT1","MT2"](同时重置若干层);如果不填则只重置当前楼层。 + +// ------ 移动/跳跃图块,淡入淡出图块 ------ // + +core.moveBlock(x, y, steps, time, keep, callback) +移动一个图块,x和y为图块的坐标。 +steps为移动的数组,每一项只能是"up","down","left","right"之一。 +time为每一步的移动时间,不填默认为500ms。 +如果keep为真,则在移动完毕后将自动调用一个setBlock事件,改变目标点的图块(即不消失), +否则会按照time时间来淡出消失。callback会执行完毕后的回调。 + + +core.jumpBlock(sx, sy, ex, ey, time, keep, callback) +跳跃一个图块,sx和sy为图块的坐标,ex和ey为目标坐标。time为整个跳跃过程中的全程用时,不填默认500。 +如果keep为真,则在移动完毕后将自动调用一个setBlock事件,改变目标点的图块(即不消失), +否则会按照time时间来淡出消失。callback会执行完毕后的回调。 + + +core.animateBlock(loc, type, time, callback) +淡入/淡出一个或多个图块。 +loc为一个图块坐标,或者一个二维数组表示一系列图块坐标(将同时显示和隐藏)。 +type只能为'show'或'hide'表示是淡入但是淡出。time为动画时间,callback为执行完毕的回调。 + +// ------ 全局动画控制,动画的绘制 ------ // + +core.addGlobalAnimate(block) +添加一个全局帧动画。 + + +core.removeGlobalAnimate(x, y, name) +删除一个或全部的全局帧动画。name可为'bg',null或'fg'表示某个图层。 +x和y如果为null,则会删除全部的全局帧动画,否则只会删除该点的该层的帧动画。 + + +core.drawBoxAnimate() +绘制UI层的box动画,如怪物手册和对话框中的帧动画等。 + + +core.drawAnimate(name, x, y, callback) +绘制一个动画。name为动画名,x和y为绘制的基准坐标,callback为绘制完毕的回调函数。 +此函数将播放动画音效,并异步开始绘制该动画。 +此函数会返回一个动画id,可以通过core.stopAnimate()立刻停止该动画的播放。 + + +core.stopAnimate(id, doCallback) +立刻停止某个动画的播放。id为上面core.drawAnimate的返回值。 +如果doCallback为真,则会执行该动画所对应的回调函数。 +``` + +## ui.js + +ui.js负责一切UI界面的绘制。主要包括三个部分: +- 设置某个画布的属性的相关API +- 具体的某个UI界面的绘制 +- 动态创建画布相关的API + +```text +// ------ 设置某个画布的属性的相关API ------// +这系列函数的name一般都是画布名,可以是系统画布或动态创建的画布。 +但也同时也允许直接传画布的context本身,将返回自身。 + + +core.getContextByName(name) +根据画布名找到一个画布的context;支持系统画布和自定义画布。 +如果不存在画布此函数返回null。 +该参数也可以直接传画布的context自身,则返回自己。 + + +core.clearMap(name) +清空某个画布图层。 +该函数的name也可以是'all',若为'all'则为清空所有系统画布。 + + +core.fillText(name, text, x, y, style, font, maxWidth) +在某个画布上绘制一段文字。 +text为要绘制的文本,x,y为要绘制的坐标,style可选为绘制的样式,font可选为绘制的字体。(下同) +style可直接使用"red","white"等或用"rgba(255,255,255,1)"或用"#FFFFFF"等方式来获得字体对应的颜色 +font的格式为"20px Verdana"前者为字体大小,后者为字体 +如果maxWidth不为null,则视为文字最大宽度,如果超过此宽度则会自动放缩文字直到自适应为止。 +请注意textAlign和textBaseline将决定绘制的左右对齐和上下对齐方式。 +具体可详见core.setTextAlign()和core.setTextBaseline()函数。 +譬如:core.fillText("ui", "这是要描绘的文字", 10, 10, "red", "20px Verdana", 100) +即是在ui图层上,以10,10为起始点,描绘20像素大小,Verdana字体的红色字,长度不超过100像素 + + +core.fillBoldText(name, text, x, y, style, font) +在某个画布上绘制一个描黑边的文字。 + + +core.fillRect(name, x, y, width, height, style) +绘制一个矩形。width, height为矩形宽高,style可选为绘制样式。如果设置将调用core.setFillStyle()。(下同) + + +core.strokeRect(name, x, y, width, height, style, lineWidth) +绘制一个矩形的边框。style可选为绘制样式,如果设置将调用core.setStrokeStyle()。 +lineWidth如果设置将调用core.setLineWidth()。(下同) + + +core.drawLine(name, x1, y1, x2, y2, style, lineWidth) +绘制一条线,x1y1为起始点像素,x2y2为终止点像素。 + + +core.drawArrow(name, x1, y1, x2, y2, style, lineWidth) +绘制一个箭头,x1y1为起始点像素,x2y2为终止点像素。 + + +core.setFont(name, font) / core.setLineWidth(name, lineWidth) +设置一个画布的字体/线宽。 + + +core.setAlpha(name, font) / core.setOpacity(name, font) +设置一个画布的绘制不透明度和画布本身的不透明度。 +两者区别如下: + - setAlpha是设置"接下来绘制的内容的不透明度",不会对已经绘制的内容产生影响。 + > 比如setAlpha('ui', 0.5)则会在接下来的绘制中使用0.5的不透明度。 + - setOpacity是设置"画布本身的不透明度",已经绘制的内容也会产生影响。 + > 比如我已经在UI层绘制了一段文字,再setOpacity则也会让已经绘制的文字变得透明。 +尽量不要对系统画布使用setOpacity(因为会对已经绘制的内容产生影响),自定义创建的画布则不受此限制。 + + +core.setFillStyle(name, style) / core.setStrokeStyle(name, style) +设置一个画布的填充样式/描边样式。 + + +core.setTextAlign(name, align) +设置一个画布的文字横向对齐模式,这里的align只能为'left', 'right'和'center',分别对应左对齐,右对齐,居中。 +默认为'left'。 + + +core.setTextBaseline(name, baseline) +设置一个画布的纵向对齐模式。有关textBaseline的说明可参见如下资料: +http://www.runoob.com/tags/canvas-textbaseline.html +默认值是'alphabetic'。 +请注意,系统画布在绘制前都是没有设置过textBaseline的,都是按照alphabetic进行坐标绘制。 +因此,如果你修改了系统画布的textBaseline来绘图,记得再绘制完毕后修改回来。 + + +core.calWidth(name, text, font) +计算一段文字在某个画布上的绘制宽度,此函数其实是ctx.measureText()的包装。 +font可选,如果存在则会先设置该画布上的字体。 +此函数不会对文字进行换行,如需换行版本请使用core.splitLines()函数。 + + +core.splitLines(name, text, maxWidth, font) +计算一段文字在某画布上换行分割的结果。 +text为文字内容,maxWidth为最大宽度,可为null表示不自动换行。 +font可选,如果存在则会先设置该画布上的字体。 +此函数将返回一个换行完毕的文本列表。 + + +core.drawImage(name, image, x, y, w, h, x1, y1, w1, h1) +在一张画布上绘制一张图片,此函数其实是ctx.drawImage()的包装。 +可以查看下面的文档以了解各项参数的信息: +http://www.w3school.com.cn/html5/canvas_drawimage.asp +这里的image允许传一个图片,画布。也允许传递图片名,将从你导入的图片中获取图片内容。 + + +core.drawIcon(name, id, x, y, w, h) +在一张画布上绘制一个图标。 +id为注册过的图标ID,也可以使用状态栏的图标ID,例如lv, hp, up, save, settings等。 +x和y为绘制的左上角坐标;w和h可选为绘制的宽高,如果不填或null则使用该图标的默认宽高。 + + +// ------ 具体的某个UI界面的绘制 ------ // +core.closePanel() +结束一切事件和UI绘制,关闭UI窗口,返回游戏。 +此函数将以此调用core.clearUI(),core.unlockControl(),并清空core.status.event里面的内容。 + + +core.clearUI() +重置UI窗口。此函数将清掉所有的UI帧动画和光标,清空UI画布,并将alpha设为1。 + + +core.drawTip(text, id, clear) +在左上角以气泡的形式绘制一段提示。 +text为文字内容,仅支持${}的表达式计算,不支持换行和变色。 +id可选,为同时绘制的图标ID,如果不为null则会同时绘制该图标(仅对32x32的素材有效)。 +也可以使用状态栏的图标ID,例如lv, hp, up, save, settings等。 +如果clear为true,则会清空当前所有正在显示的提示。 + + +core.clearTip() +清空当前所有正在显示的提示。 + + +core.drawText(content, callback) +绘制一段文字。contents为一个字符串或一个字符串数组,callback为全部绘制完毕的回调。 +支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。 +如果当前在事件处理中或录像回放中,则会自动转成core.insertAction处理。 +不建议使用该函数,如有绘制文字的需求请尽量使用core.insertAction()插入剧情文本事件。 + + +core.drawWindowSelector(background, x, y, w, h) +绘制一个WindowSkin的闪烁光标。background可为winskin的图片名或图片本身。 +x,y,w,h为绘制的左上角位置和宽高,都是像素为单位。 + + +core.drawWindowSkin(background, ctx, x, y, w, h, direction, px, py) +绘制一个WindowSkin。background可为winskin的图片名或图片本身。 +ctx为画布名或画布本身,x,y,w,h为左上角位置和宽高,都是像素为单位。 +direction, px, py可选,如果设置则会绘制一个对话框箭头。 + + +core.drawBackground(left, top, right, bottom, posInfo) +绘制一个背景图。此函数将使用你在【剧情文本设置】中设置的背景,即用纯色或WindowSkin来绘制。 +left, top, right, bottom为你要绘制的左上角和右下角的坐标。 +posInfo如果不为null则是一个含position, px和py的对象,表示一个对话框箭头的绘制。 + + +core.drawTextContent(ctx, content, config) +根据配置在某个画布上绘制一段文字。此函数会被core.drawTextBox()所调用。 +ctx为画布名或画布本身,如果不设置则会忽略该函数。 +content为要绘制的文字内容,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等) + ,但不支持支持\t和\b的语法。 +config为绘制的配置项,目前可以包括如下几项: + - left, top:在该画布上绘制的左上角像素位置,不设置默认为(0,0)。 + > 该函数绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。 + - maxWidth:单行最大宽度,超过此宽度将自动换行,不设置不会自动换行。 + - color:默认颜色,为#XXXXXX形式。如果不设置则使用剧情文本设置中的正文颜色。 + - bold:是否粗体。如果不设置默认为false。 + - align:文字对齐方式,仅在maxWidth设置时有效,默认为'left'。 + - fontSize:字体大小,如果不设置则使用剧情文本设置中的正文字体大小。 + - lineHeight:绘制的行距值,如果不设置则使用fontSize*1.3(即1.3倍行距)。 + - time:打字机效果。若不为0,则会逐个字进行绘制,并设置core.status.event.interval定时器。 + - interval:字符间的间距。值表示绘制每个字符之间间隔的距离,默认为0。 + + +core.drawTextBox(content, showAll) +绘制一个对话框。content为一个字符串或一个字符串数组。 +支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。 +该函数将使用用户在剧情文本设置中的配置项进行绘制。 +实际执行时,会计算文本框宽度并绘制背景,绘制标题和头像,再调用core.drawTextContent()绘制正文内容。 +showAll可选,如果为true则不会使用打字机效果而全部显示,主要用于打字机效果的点击显示全部。 + + +core.drawScrollText(content, time, lineHeight, callback) +绘制一个滚动字幕。content为绘制内容,time为总时间(默认为5000),lineHeight为行距比例(默认为1.4)。 +滚动字幕将绘制在UI上,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),但不支持\t和\b效果。 +可以通过剧情文本设置中的align控制是否居中绘制,offset控制其距离左边的偏移量。 + + +core.textImage(content, lineHeight) +将文本图片化。content为绘制内容,lineHeight为行距比例(默认为1.4)。 +可以通过剧情文本设置中的align控制是否居中绘制。 +此函数将返回一个临时画布的canvas,供转绘到其他画布上使用。 + + +core.drawChoices(content, choices) +绘制一个选项框。 +content可选,为选项上方的提示文字,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t。 +choices必选,为要绘制的选项内容,是一个列表。其中的每一项: + - 可以是一个字符串,表示选项文字,将使用剧情文本设置中的正文颜色来绘制,仅支持${}表达式计算。 + - 或者是一个包含text, color和icon的对象。 + > text必选,为要绘制的文字内容,仅支持${}的表达式计算, + > color为要绘制的选项颜色,可以是#XXXXXX的格式或RGBA数组。不设置则使用正文颜色。 + > icon为要绘制的图标ID,支持使用素材的ID,或者系统图标。 + + +core.drawConfirmBox(text, yesCallback, noCallback) +绘制一个确认框。text为确认文字,支持\n换行(但不支持自动换行)和${}表达式计算。 +yesCallback和noCallback分别为确定和取消的回调函数。 +可以在调用此函数前设置core.status.event.selection来控制默认的选中项(0确定1取消)。 +此函数和core.myconfirm的区别主要在于: + - 此函数会清掉UI层原有的绘制信息,core.myconfirm不会清除。 + - 此函数可以用键盘进行操作,core.myconfirm必须用鼠标点击。 +另外请注意:本函数和事件流的执行不兼容,选择也不会进录像。 +如果需要在事件流中调用请使用提供选择项。 + + +core.drawWaiting(text) +绘制一个等待界面,一般用于同步存档之类的操作。 +调用此函数后,需要再调用core.closePanel()才会恢复游戏。 + + +core.drawPagination(page, totalPage, y) +绘制一个分页。y如果不设置则绘制在最后一行。 + + +core.drawBook(index) / core.drawBookDetail(index) +绘制怪物手册,绘制怪物的详细信息。 + + +core.drawFly(page) / core.drawCenterFly() / core.drawShop(shopId) +绘制楼传页面,中心对称飞行器,绘制商店 + + +core.drawToolbox(index) / core.drawEquipbox(index) / core.drawKeyBoard() +绘制道具栏,绘制装备栏,绘制虚拟键盘。 + + +core.drawMaps(index, x, y) / core.drawSLPanel(index, refresh) +绘制浏览地图,绘制存读档界面。 + + +core.drawStatusBar() +自定义绘制状态栏,仅在状态栏canvas化开启时有效,实际被转发到了脚本编辑中。 + + +core.drawStatistics() +绘制数据统计。将从脚本编辑中获得要统计的数据列表,再遍历所有地图进行统计。 + + +core.drawAbout() / core.drawPaint() / core.drawHelp() +绘制关于界面,绘图模式,帮助界面。 + +// ------ 动态创建画布相关的API ------ // + + +core.ui.createCanvas(name, x, y, width, height, z) +动态创建一个自定义画布。name为要创建的画布名,如果已存在则会直接取用当前存在的。 +x,y为创建的画布相对窗口左上角的像素坐标,width,height为创建的长宽。 +z值为创建的纵向高度(关系到画布之间的覆盖),z值高的将覆盖z值低的;系统画布的z值可在个性化中查看。 +返回创建的画布的context,也可以通过core.dymCanvas[name]或core.getContextByName获得。 + + +core.ui.relocateCanvas(name, x, y) +重新定位一个自定义画布。x和y为画布的左上角坐标,name为画布名。 + + +core.ui.resizeCanvas(name, width, height, styleOnly) +重新设置一个自定义画布的大小。width和height为新设置的宽高。 +styleOnly控制是否只修改画布的显示大小(而不修改画布的内部大小)。 +如果styleOnly为true,则只修改其显示大小(即canvas.style.width); +否则,则会同时修改画布的显示大小和内部大小并清空画布内容。 + + +core.ui.deleteCanvas(name) +删除一个自定义画布。 + + +core.ui.deleteAllCanvas() +删除所有的自定义画布。 +``` + +## utils.js + +utils.js是一个工具函数库,里面有各个样板中使用到的工具函数。 + +```text +core.replayText(text, need, times) +将一段文字中的${}(表达式)进行替换。need和time一般可以直接忽略。 + + +core.replaceValue(value) +对一个表达式中的特殊规则进行替换,如status:xxx等。 +请注意,此项不会对独立开关如switch:A进行替换。 + + +core.calValue(value, prefix, need, time) +计算一个表达式的值,支持status:xxx等的计算。 +prefix为前缀(switch:xxx的独立开关使用),need和time一般可以直接忽略。 + + +core.unshift(a, b) / core.push(a, b) +将b插入到列表a之前或之后。b可以是一个元素或者一个数组。 + + +core.decompress(value) +解压缩一个字符串并进行JSON解析。value可能会被LZString或LZW算法进行压缩。 +返回解压后的JSON格式内容,如果无法解压则返回null。 + + +core.setLocalStorage(key, value) +将一个键值对存入localStorage中,会立刻返回结果。 +此函数会自动给key加上它的name作为前缀,以便于不同塔之间的区分。 +value为要存储的内容,存储前会被JSON转成字符串形式,并LZW算法进行压缩。 +如果value为null,则实际会调用core.removeLocalStorage()函数清除该key。 +localStorage为浏览器的默认存储,和存档无关,只有5M的空间大小。 +此函数立刻返回true或false,如果为false则代表存储失败,一般指的是空间满了。 + + +core.getLocalStorage(key, defaultValue) +从localStorage中获得一个键的值,会立刻返回结果。 +此函数会自动给key加上它的name作为前缀,以便于不同塔之间的区分。 +如果对应的键值不存在或为null,则会返回defaultValue。 +返回的结果会被调用core.decompress进行解压缩和JSON解析。 + + +core.removeLocalStorage(key) +从localStorage中删除一个键的值,会立刻返回。 +此函数会自动给key加上它的name作为前缀,以便于不同塔之间的区分。 + + +core.setLocalForage(key, value, successCallback, errorCallback) +将一个键值对存入localForage中,异步返回结果。 +如果用户没有开启【新版存档】开关,则仍然会使用core.setLocalStorage()。 +localForage为一个开源库,项目地址 https://github.com/localForage/localForage +一般存入的是indexedDB,这是一个浏览器的自带数据库,没有空间限制。 +successCallback和errorCallback均可选,表示该次存储成功或失败的回调, +此函数为异步的,只能通过回调函数来获得存储的成功或失败信息。 + + +core.getLocalForage(key, defaultValue, successCallback, errorCallback) +从localForage中获得一个键的值,异步返回结果。 +如果对应的键值不存在,则会使用defaultValue。 +如果获得成功,则会将core.decompress后的结果传入successCallback回调函数执行。 +errorCallback可选,如果失败,则会将错误信息传入errorCallback()。 +此函数是异步的,只能通过回调函数来获得读取的结果或错误信息。 + + +core.setGlobal(key, value) +设置一个全局存储,适用于global:xxx。 +录像播放时将忽略此函数,否则直接调用core.setLocalStorage。 + + +core.getGlobal(key, value) +获得一个全局存储,适用于global:xxx,支持录像。 +正常游戏时将使用core.getLocalStorage获得具体的数据,并将结果存放到录像中。 +录像播放时会直接从录像中获得对应的数据。 + + +core.clone(data, filter, recursion) +深拷贝一个对象。有关浅拷贝,深拷贝,基本类型和引用类型等相关知识可参见: +https://zhuanlan.zhihu.com/p/26282765 +filter为过滤函数,如果设置且不为null则需传递一个可接受(name, value)的函数, +并返回true或false,表示该项是否应该被深拷贝。 +recursion表示该filter是否应递归向下传递,如果为true则递归函数也将传该filter。 +例如: +core.clone(core.status.hero, function(name, value) { + return name == 'items' || typeof value == 'number'; +}, false); +这个例子将会深拷贝勇士的属性和道具。 + + +core.splitImage(image, width, height) +等比例切分一张图片。width和height为每张子图片的宽高。 +请确保原始图片的宽度和高度都是是width和height的倍数。 +此函数将返回一个一维数组,每一项都是一张切分好的图片,横向再纵向排列。 +例如4x3的图片按1x1切分得到一个长度为12的数组,按如下方式进行排列: +0 1 2 3 +4 5 6 7 +8 9 10 11 +可以将很多需要的图片拼在一张大图上,然后在插件的_afterLoadResources中切分。 +切分好的图片再存入core.material.images.images中,这样可以少很多IO请求。 + + +core.formatDate(date) / core.formatDate2(date) / core.formatTime(time) +格式化日期和时间。 + + +core.setTwoDigits(x) +将x变成两位数。其实就是 parseInt(x) < 10 ? "0" + x : x + + +core.formatBigNumber(x, onMap) +大数据格式化。x为要格式化的内容,如果不合法会返回???。 +onMap标记是否在地图上调用,如果为真则尝试格式化成六位,否则五位。 + + +core.arrayToRGB(color) / core.arrayToRGBA(color) +将一个颜色数组,例如[255,0,0,1]转成#FF0000或rgba(255,0,0,1)的形式。 + + +core.encodeRoute(route) +录像压缩和解压缩。route为要压缩的路线数组。 +此函数将尽可能对录像进行压缩。对于无法识别的项目(比如自己添加的),将不压缩而原样放入。 +例如,["up","up","left","move:3:5","test:2333","getNext","item:bomb","down"] +将被压缩成"U2LM3:5(test:2333)GIbomb:D"。 +自己添加的录像项只能由数字、大小写、下划线线、冒号等符号组成,否则无法正常压缩和解压缩。 +对于自定义内容(比如中文文本或数组)请使用JSON.stringify再core.encodeBase64处理。 +压缩的结果将再次进行LZString.compressToBase64()的压缩以进一步节省空间。 + + +core.decodeRoute(route) +解压缩一个录像,返回解压完毕的路线数组。 + + +core.isset(v) +判定v是不是null, undefined或NaN。 +请尽量避免使用此函数,而是直接判定 v == null (请注意 null==undefined !) + + +core.subarray(a, b) +判定数组b是不是数组a的一个前缀子数组。 +如果是,则返回a中除去b后的剩余数组,否则返回null。 + + +core.inArray(array, element) +判定array是不是一个数组,以及element是否在该数组中。 + + +core.clamp(x, a, b) +将x限定在[a,b]区间内。 + + +core.getCookie(name) +获得一个cookie值,如果不存在该cookie则返回null。 + + +core.setStatusBarInnerHTML(name, value, css) +设置一个状态栏的innerHTML。此函数会自动设置状态栏的文字放缩和斜体等效果。 +name为状态栏的名称,如atk, def等。需要是core.statusBar中的一个合法项。 +value为要设置到的数值,如果是数字则会先core.formatBigNumber()进行格式化。 +css可选,为增添的额外css内容,比如可以设定颜色等。 + + +core.strlen(str) +计算某个字符串的实际长度。每个字符的长度,ASCII码视为1,中文等视为2。 + + +core.reverseDirection(direction) +翻转方向,即"up"转成"down", "left"转成"right"等。 + + +core.matchWildcard(pattern, string) +进行通配符的匹配判定,目前仅支持*(可匹配0或任意个字符)。比如"a*b*c"可以匹配"aa012bc"。 + + +core.encodeBase64(str) / core.decodeBase64(str) +将字符串进行base64加密或解密。 +可用于解压缩录像数据 + + +core.convertBase(str, fromBase, toBase) +任意进制转换。此函数可能执行的非常慢,慎用。 + + +core.rand(num) +使用伪种子生成伪随机数。该随机函数能被录像支持。 +num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一个0到1之间的浮点数。 +此函数为伪随机算法,SL大法无效。(即多次SL后调用的该函数返回的值都是相同的。) + + +core.rand2(num) +使用系统的随机数算法得到的随机数。该随机函数能被录像支持。 +num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一个0到2147483647之间的整数。 +此函数使用了系统的Math.random()函数,支持SL大法。 +但是,此函数会将生成的随机数值存入录像,因此如果调用次数太多则会导致录像文件过大。 +对于需要大量生成随机数,但又想使用真随机支持SL大法的(例如随机生成地图等),可以采用如下方式: + var x = core.rand2(100); for (var i = 0; i < x; i++) core.rand() +即先生成一个真随机数,根据该数来推进伪随机的种子,这样就可以放心调用core.rand()啦。 + + +core.readFile(success, error, accept) +读取一个本地文件内容。success和error分别为读取成功或失败的回调函数。 +accept如果设置则控制能选择的文件类型。 +iOS平台暂不支持读取文件操作。 + + +core.readFileContent(content) +读取到的文件内容。此函数会被APP等调用,来传递文件的具体内容。 + + +core.download(filename, content) +生成一个文件并下载。filename为文件名,content为具体的文件内容。 +iOS平台暂不支持下载文件操作。 + + +core.copy(data) +将一段内容拷贝到剪切板。 + + +core.myconfirm(hint, yesCallback, noCallback) +弹窗绘制一段提示信息并让用户确认。hint为提示信息。 +yesCallback和noCallback分别为确定和取消的回调函数。 +此函数和core.drawConfirmBox的区别主要在于: + - drawConfirmBox会清掉UI层原有的绘制信息,此函数不会清除。 + - drawConfirmBox可以用键盘进行操作,此函数必须用鼠标点击。 +另外请注意:本函数的选择也不会进录像,一般用于全局的提示。 +如果需要在事件流中调用请使用显示确认框或显示选择项。 + + +core.myprompt(hint, value, callback) +弹窗让用户输入一段内容。hint为提示信息,value为框内的默认填写内容。 +callback为用户点击确认或取消后的回调。 +如果用户点击了确认,则会把框内的内容(可能是空串)传递给callback,否则把null传递给callback。 + + +core.showWithAnimate(obj, speed, callback) / core.hideWithAnimate(obj, speed, callback) +动画淡入或淡出一个对象。 + + +core.consoleOpened() +检测当前的控制台是否处于开启状态。仅在全塔属性中的检查控制台开关开启时有效。 +此函数有可能会存在误伤行为,即没开过控制台仍认为开启过。 + + +core.hashCode(obj) +计算一个对象的哈希值。 + + +core.same(a, b) +判定a和b是否相同,包括类型相同和值相同。 +如果a和b都是数组,则会递归依次比较数组中的值;如果都是对象亦然。 + + +core.utils.http(type, url, formData, success, error, mimeType, responseType) +发送一个异步HTTP请求。 +type为'GET'或者'POST';url为目标地址;formData如果是POST请求则为表单数据。 +success为成功后的回调,error为失败后的回调。 +mimeType和responseType如果设置将会覆盖默认值。 + + +lzw_encode(s) / lzw_decode(s) +LZW压缩算法,来自https://gist.github.com/revolunet/843889 +``` diff --git a/README.md b/README.md index da2183a4..17ab6be6 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ``` bash ├── /_server/ # 为可视化地图编辑器提供一些支持的目录 ├── /docs/ # 文档目录 +├── /extensions/ # 拓展工具目录,发布到网站后不会加载 ├── /libs/ # 系统库目录 │ ├─ /thirdparty/ # 游戏所用到的第三方库文件 │ ├─ actions.js # 处理用户交互的文件 @@ -25,6 +26,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! │ ├─ data.js # 记录了一些初始化信息 │ ├─ enemys.js # 记录了怪物的信息,包括特殊属性、伤害计算公式、临界值计算等。 │ ├─ events.js # 处理事件的文件,所有自定义事件都会在此文件中进行处理 +│ ├─ extensions.js # 加载拓展工具的文件 │ ├─ icons.js # 图标信息,会被转发到project下 │ ├─ items.js # 道具信息,会被转发到project下 │ ├─ loader.js # 动态加载JS代码、图片、音效等 @@ -55,6 +57,108 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ## 更新说明 +### 2019.12.31 HTML5魔塔样板V2.6.6 + +* [x] 编辑器增加【最近使用的图块】的区域 +* [x] 编辑器拉伸到铺满全屏幕,还可以Ctrl+滚轮放缩 +* [x] 编辑器支持连续Ctrl+Z的撤销,Ctrl+Y的重做 +* [x] 新增tileset右键绑定宽高,以替代贴图模式 +* [x] 多重自动存档,可以连续A键读档 +* [x] 高层塔分区域支持 +* [x] 自绘状态栏点击事件 +* [x] 绘制的锁定模式 +* [x] 等待用户操作增设分歧选项 +* [x] 增设压缩模式,会对图片等进行zip压缩 +* [x] 追加素材现在可以同时进行自动注册 +* [x] 可以复制和粘贴怪物或道具的属性 +* [x] 折叠素材时设置每一列个数 +* [x] 标题界面和显示选择项时光标跟随鼠标 +* [x] 修复所有已知的bug,大量细节优化 + +### 2019.12.1 HTML5魔塔样板V2.6.5 + +* [x] 事件:设置怪物属性;穿脱装备 +* [x] 新值块:enemy:xxx:atk可获得怪物数据 +* [x] 新值块:blockId:x,y获得某点图块ID +* [x] 部分事件预编译,加快执行速度 +* [x] 在系统设置中可以设置bgm的播放音量 +* [x] 通关事件可以不退出游戏 +* [x] 失败时允许直接读取自动存档 +* [x] NPC48自动注册可以自动绑定faceIds +* [x] 编辑器Alt+1-9存图块,1-9读取图块 +* [x] 编辑器现在可以跨楼层复制粘贴图块了 +* [x] 可以对flags.进行自动补全 +* [x] 部分Bug修复,大量细节优化 + +### 2019.10.29 HTML5魔塔样板V2.6.4 + +* [x] 自动事件,多事件页 +* [x] 增加开场logo动画 +* [x] 拓展:游戏时动态修改地图和怪物数据 +* [x] 插件:道具商店,支持买入和卖出道具 +* [x] 编辑器可以搜索变量出现位置 +* [x] 变量的中文替换 +* [x] 可以给图块绑定自定义脚本,碰触时触发 +* [x] 编辑器右键可以绑定机关门和出生点 +* [x] 支持多个drawTip同时出现 +* [x] 闪烁光标同时支持多个同时存在 +* [x] 插件:镜头平滑移动,默认禁用 +* [x] 素材的快速追加 +* [x] 批量导出动画 +* [x] 部分Bug修复,大量细节优化 + +### 2019.7.24 V2.6.3 + +* [x] 标题界面大幅美化,增加闪烁光标,支持键盘开始游戏 +* [x] 事件编辑器支持自动补全,能对flag和API列表等进行补全 +* [x] 剧情文本中\\c修改字体大小,\\d和\\e切换粗体和斜体 +* [x] 事件:设置视角&移动视角 +* [x] 可以指定显示选择项的出现条件并动态生成 +* [x] 楼层传送器的平面传送模式(哪里离开飞回到哪里) +* [x] UI绘制事件增添绘制圆和绘制圆边框 +* [x] 所有的UI绘制事件均可以双击预览 +* [x] 播放BGM事件可以一直持续播放直到下次调用 +* [x] \f立绘支持alpha值 +* [x] 支持在脚本编辑中直接flags.xxx调用自定义变量 +* [x] 首次获得道具将给予提示 +* [x] 等待用户操作支持滚轮,视为PgUp和PgDn +* [x] 脚本编辑器语法错误将禁止保存 +* [x] 录像播放时B键查看数据统计 +* [x] 所有已知bug的修复,大量细节优化 + +### 2019.6.7 V2.6.2 + +* [x] 可以拖动地图上的图块和事件,复制剪切和跨楼层粘贴 +* [x] 新增事件的地图选点功能,可以在地图上选择落点 +* [x] 现在素材区可以进行折叠与自动换列了 +* [x] 新增UI绘制系列事件,并且可以进行预览 +* [x] 显示文本事件的标题解析 +* [x] 新增常用工具:额外素材合并工具 +* [x] 进一步提升24倍速的播放速度 +* [x] 楼层转换增加对称点 +* [x] 增加编辑器快捷键说明,H键查看 +* [x] 文档-事件增加事件编辑器截图 +* [x] 大量细节优化,所有已知的Bug修复 + +### 2019.5.2 V2.6.1 + +* [x] 区域优化的录像播放功能,R键使用 +* [x] 强制战斗可以指定怪物坐标,将自动隐藏并执行该点战后事件 +* [x] flag:xxx也支持中文,例如 flag:2楼机关门 +* [x] 增加文件名映射,可以用中文映射到某个图片或bgm文件并使用 +* [x] 勇士宽度可以超过32(例如48x48的勇士行走图) +* [x] 现在允许修改floorId和图块ID了(在表格下方) +* [x] 增加事件:自动存档,返回标题界面;部分事件优化 +* [x] 商店长按空格可以连续加点 +* [x] 增设global:xxx使用全局存储,可被录像支持 +* [x] 支持\b[hero]和\b[null,x,y]来自动调整上下方向 +* [x] 支持\t[yellowKey]等只显示图标而没有标题 +* [x] 编辑器中前景层对于有事件的点半透明显示 +* [x] 存档改成1000页,长按上下页可快速翻页 +* [x] 录像播放初始默认暂停,N键可以单步执行 +* [x] 增设本地API文档,部分API和事件的优化 +* [x] 所有已知的bug修复,大量细节优化 + ### 2019.4.13 V2.6 * [x] 拆分整个项目,大幅重构代码,新增大量API diff --git a/_docs/V2.0.md b/_docs/V2.0.md index f10852d8..00d1084e 100644 --- a/_docs/V2.0.md +++ b/_docs/V2.0.md @@ -1,6 +1,6 @@ # V2.0版本介绍 -?> 目前版本**v2.5.5**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6*,上次更新时间:* {docsify-updated} * 目前样板已经更新到V2.0版本以上,本章将对V2.0的一些内容进行介绍。 diff --git a/_docs/api.md b/_docs/api.md index 3efce8eb..4965d648 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -1,6 +1,6 @@ # 附录:API列表 -?> 目前版本**v2.6**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6**,上次更新时间:* {docsify-updated} * 这里将列出所有被转发到core的API,没有被转发的函数此处不会列出,请自行在代码中查看。 @@ -57,7 +57,6 @@ core.platform.isPC (是否是电脑端) core.platform.isAndroid (是否是安卓端) core.platform.isIOS (是否是iOS端) core.platform.useLocalForage (是否开启了新版存档) -core.platform.extendKeyBoard (是否开启了拓展键盘) core.domStyle @@ -339,7 +338,7 @@ core.setHeroMoveInterval(callback) core.moveOneStep(x, y) -每走完一步后执行的操作,被转发到了脚本编辑中。 +每走完一步后执行的操作,被转发到了脚本编辑中,执行脚本编辑moveOneStep中的内容。 core.moveAction(callback) @@ -350,6 +349,7 @@ core.moveAction(callback) core.moveHero(direction, callback) 令勇士朝一个方向行走。如果设置了callback,则只会行走一步,并执行回调。 否则,将一直朝该方向行走,直到core.status.heroStop为true为止。 +direction可为"up","down","right","left",分别对应上,下,右,左。 core.isMoving() @@ -362,10 +362,11 @@ core.waitHeroToStop(callback) core.turnHero(direction) 转向。如果设置了direction则会转到该方向,否则会右转。该函数会自动计入录像。 +direction可为"up","down","right","left",分别对应上,下,右,左。 core.moveDirectly(destX, destY) -尝试瞬间移动到某点,被转发到了脚本编辑中。 +尝试瞬间移动到某点,被转发到了脚本编辑中,执行脚本编辑中的内容。 此函数返回非负值代表成功进行瞬移,返回值是省略的步数;如果返回-1则代表没有成功瞬移。 @@ -500,12 +501,12 @@ core.syncSave(type) / core.syncLoad() core.saveData() -获得要存档的内容,实际转发到了脚本编辑中。 +获得要存档的内容,实际转发到了脚本编辑中,执行脚本编辑中的内容。 core.loadData(data, callback) 实际执行一次读档行为,data为读取到的数据,callback为执行完毕的回调。 -实际转发到了脚本编辑中。 +实际转发到了脚本编辑中,执行脚本编辑中的内容。 core.getSave(index, callback) @@ -535,19 +536,23 @@ core.removeSave(index) // ------ 属性、状态、位置、变量等 ------ // core.setStatus(name, value) -设置勇士当前的某个属性。 +设置勇士当前的某个属性,name可为"atk","def","hp"等。 +如core.setStatus("atk", 100)则为设置勇士攻击为100。 core.addStatus(name, value) -加减勇士当前的某个属性。等价于 core.setStatus(name, core.getStatus(name) + value) +加减勇士当前的某个属性,name可为"atk","def","hp"等。 +如core.addStatus("atk", 100)则为增加勇士攻击100点。 +等价于 core.setStatus(name, core.getStatus(name) + value)。 core.getStatus(name) -获得勇士的某个原始属性值。 +获得勇士的某个原始属性值,该值不受百分比增幅影响。 +譬如你有一件道具加10%的攻击,你可以使用该函数获得你的攻击被增幅前的数值 core.getStatusOrDefault(status, name) -尝试从status中获得某个原始属性值;如果status为null或不存在对应属性值则从勇士属性中获取。 +尝试从status中获得某个原始属性值,该值不受百分比增幅影响;如果status为null或不存在对应属性值则从勇士属性中获取。 此项在伤害计算函数中使用较多,例如传递新的攻击和防御来计算临界和1防减伤。 @@ -573,12 +578,14 @@ core.getBuff(name) core.setHeroLoc(name, value, noGather) -设置勇士位置属性。name只能为'x', 'y'和'direction'之一。 +设置勇士位置属性。name只能为'x'(勇士x坐标), 'y'(勇士y坐标)和'direction'(勇士朝向)之一。 如果noGather为true,则不会聚集所有的跟随者。 +譬如core.setHeroLoc("x", 1, true)则为设置勇士x坐标为1,不聚集所有跟随者。 core.getHeroLoc(name) 获得勇士的某个位置属性。如果name为null则直接返回core.status.hero.loc。 +譬如core.getHeroLoc("x")则返回勇士当前x坐标 core.getLvName(lv) @@ -587,19 +594,26 @@ core.getLvName(lv) core.setFlag(name, value) 设置某个自定义变量或flag。如果value为null则会调用core.removeFlag进行删除。 +这里的变量与事件中使用的变量等价 +譬如core.setFlag("xxx",1)则为设置变量xxx为1。 core.addFlag(name, value) 加减某个自定义的变量或flag。等价于 core.setFlag(name, core.getFlag(name, 0) + value) +这里的变量与事件中使用的变量等价 +譬如core.addFlag("xxx",1)则为增加变量xxx1 core.getFlag(name, defaultValue) -获得某个自定义的变量或flag。如果该flag不存在(从未赋值过),则返回defaultValue值。 +获得某个自定义的变量或flag。如果该flag不存在(从未赋值过),则返回defaultValue的值。 +这里的变量与事件中使用的变量等价 +譬如core.getFlag("xxx",1)则为获得变量xxx的值,如变量xxx不存在则返回1 core.hasFlag(name) 判定是否拥有某个自定义变量或flag。等价于 !!core.getFlag(name, 0) - +这里的变量与事件中使用的变量等价 +譬如core.hasFlag("xxx",1)则为判断变量xxx是否存在 core.removeFlag(name) 删除一个自定义变量或flag。 @@ -620,6 +634,8 @@ core.setWeather(type, level) core.setCurtain(color, time, callback) 更改画面色调。color为更改到的色调,是个三元或四元组;time为渐变时间,0代表立刻切换。 +譬如core.setCurtain([255,255,255,1], 0)即为无回调无等待更改画面色调为白色 + core.screenFlash(color, time, times, callback) @@ -655,9 +671,9 @@ core.clearStatusBar() 清空状态栏的数据。 -core.updateStatusBar() +core.updateStatusBar(doNotCheckAutoEvents) 更新状态栏,被转发到了脚本编辑中。此函数还会根据是否在回放来设置工具栏的图标。 - +如果doNotCheckAutoEvents为true则此时不检查自动事件。 core.showStatusBar() / core.hideStatusBar(showToolbox) 显示和隐藏状态栏。 @@ -708,7 +724,7 @@ special为要测试的内容,允许接收如下类型参数: core.getSpecials() -获得所有特殊属性的列表。实际上被转发到了脚本编辑中。 +获得所有特殊属性的列表。实际上被转发到了脚本编辑中,执行脚本编辑中的内容。 core.getSpecialText(enemy) @@ -748,7 +764,7 @@ number为要计算的临界值数量,不填默认为1。 core.getDefDamage(enemy, k, x, y, floorId) -获得某个怪物的k防减伤值。k可不填默认为1。 +获得某个怪物的k防减伤值。k可不填默认为1,x,y,floorId为当前xy坐标和楼层。 core.getEnemyInfo(enemy, hero, x, y, floorId) @@ -765,10 +781,6 @@ hero可为null或一个对象,具体将使用core.getRealStatusOrDefault(hero, 从V2.5.5开始,该函数也允许直接返回一个数字,代表战斗伤害值,此时回合数将视为0。 -core.updateEnemys() -更新怪物数据。该函数实际被转发到了脚本编辑中。详见文档-事件-更新怪物数据。 - - core.getCurrentEnemys(floorId) 获得某个楼层不重复的怪物信息,floorId不填默认为当前楼层。该函数会被怪物手册所调用。 该函数将返回一个列表,每一项都是一个不同的怪物,按照伤害值从小到大排序。 @@ -776,7 +788,8 @@ core.getCurrentEnemys(floorId) core.hasEnemyLeft(enemyId, floorId) -检查某个楼层是否还有剩余的(指定)怪物。floorId为楼层ID,可忽略表示当前楼层。 +检查某个楼层是否还有剩余的(指定)怪物。 +floorId为楼层ID,可忽略表示当前楼层。也可以填数组如["MT0","MT1"]同时检测多个楼层。 enemyId如果不填或null则检查是否剩余任何怪物,否则只检查是否剩余指定的某类怪物。 ``` @@ -806,16 +819,16 @@ seed为开始时要设置的的种子,route为要开始播放的录像,callb core.setInitData() 根据难度分歧来初始化难度,包括设置flag:hard,设置初始属性等。 -该函数实际被转发到了脚本编辑中。 +该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 core.win(reason, norank) 游戏胜利,reason为结局名,norank如果为真则该结局不计入榜单。 -该函数实际被转发到了脚本编辑中。 +该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 core.lose(reason) -游戏失败,reason为结局名。该函数实际被转发到了脚本编辑中。 +游戏失败,reason为结局名。该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 core.gameOver(ending, fromReplay, norank) @@ -855,7 +868,7 @@ id为怪物的ID,x和y为怪物坐标,force如果为真将强制战斗,cal core.beforeBattle(enemyId, x, y) -战前事件。实际被转发到了脚本编辑中,可以在这里加上一些战前特效。 +战前事件。实际被转发到了脚本编辑中,执行脚本编辑中的内容,可以用于加上一些战前特效。 此函数在“检测能否战斗和自动存档”【之后】执行。 如果需要更早的战前事件,请在插件中覆重写 core.events.doSystemEvent 函数。 此函数返回true则将继续本次战斗,返回false将不再战斗。 @@ -863,7 +876,7 @@ core.beforeBattle(enemyId, x, y) core.afterBattle(enemyId, x, y, callback) 战后事件,将执行扣血、加金币经验、特殊属性处理、战后事件处理等操作。 -实际被转发到了脚本编辑中。 +实际被转发到了脚本编辑中,执行脚本编辑中的内容。 core.openDoor(x, y, needKey, callback) @@ -872,16 +885,17 @@ core.openDoor(x, y, needKey, callback) core.afterOpenDoor(doorId, x, y, callback) -开完一个门后执行的事件,实际被转发到了脚本编辑中。 +开完一个门后执行的事件,实际被转发到了脚本编辑中,执行脚本编辑中的内容。 core.getItem(id, num, x, y, callback) 获得若干个道具。itemId为道具ID,itemNum为获得的道具个数,不填默认为1。 -x和y为道具点的坐标,如果设置则会擦除地图上的该点。 +x和y为道具点的坐标,如果设置则会擦除地图上的该点,也可不填。 +譬如core.getItem("yellowKey",2)会直接获得两把黄钥匙。 core.afterGetItem(id, x, y, callback) -获得一个道具后执行的事件,实际被转发到了脚本编辑中。 +获得一个道具后执行的事件,实际被转发到了脚本编辑中,执行脚本编辑中的内容。 core.getNextItem(noRoute) @@ -918,7 +932,7 @@ core.pushBox(data) core.afterPushBox() -推箱子之后触发的事件,实际被转发到了脚本编辑中。 +推箱子之后触发的事件,实际被转发到了脚本编辑中,执行脚本编辑中的内容。 core.changeLight(id, x, y) @@ -951,10 +965,11 @@ core.startEvents(list, x, y, callback) 此函数将调用core.setEvents,然后停止勇士,再执行core.doAction()。 -core.doAction() +core.doAction(keepUI) 执行下一个自定义事件。 此函数将检测事件列表是否全部执行完毕,如果是则执行回调函数。 否则,将从事件列表中弹出下一个事件,并调用core.doEvent进行执行。 +如果keepUI为true,则不会清掉UI层和selector,适合于自己用脚本的绘制。 core.insertAction(action, x, y, callback, addToLast) @@ -972,6 +987,15 @@ core.getCommonEvent(name) core.recoverEvents(data) 恢复事件现场。一般用于呼出怪物手册、呼出存读档页面等时,恢复事件执行流。 + +core.checkAutoEvents() +检测自动事件并执行。 + + +core.precompile(events) +尝试预编译一段事件。 + + // ------ 点击状态栏图标时执行的一些操作 ------ // core.openBook(fromUserAction) @@ -1019,15 +1043,21 @@ core.follow(name) / core.unfollow(name) core.setValue(name, value, prefix) / core.addValue(name, value, prefix) 设置/增减某个数值。name可以是status:xxx,item:xxx或flag:xxx。 -value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用。 +value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。 core.doEffect(effect, need, times) 执行一个effect操作。该函数目前仅被全局商店的status:xxx+=yyy所调用。 +core.setEnemy(id, name, value, prefix) +设置一个怪物属性。id为怪物的ID,name为要设置的项,比如hp,atk,def等等。 +value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。 + + core.setFloorInfo(name, values, floorId, prefix) -设置某层楼的楼层属性。 +设置某层楼的楼层属性,其中name为该楼层属性对应的条目,values为要设置的值,floorId为楼层id,prefix一般直接忽略。 +譬如core.setFloorInfo("name","4", "MT1")则为设置MT1显示在状态栏中的层数为4 core.setGlobalAttribute(name, value) @@ -1186,8 +1216,9 @@ core.addItem(itemId, itemNum) core.getEquipTypeByName(name) -根据装备位名称来找到一个空的装备孔,适用于多重装备。 +根据装备位名称来找到一个空的装备孔,适用于多重装备,装备位名称可在全塔属性中设置。 如果没有一个装备孔是该装备名称,则返回-1。 +譬如:core.getEquipTypeByName("武器")默认返回全塔属性中武器对应的装备孔号0。 core.getEquipTypeById(equipId) @@ -1200,11 +1231,12 @@ core.canEquip(equipId, hint) core.loadEquip(equipId, callback) -穿上某个装备。 +穿上某个装备,equipId为装备id。 core.unloadEquip(equipType, callback) 脱下某个装备孔的装备。 +譬如core.unloadEquip(0)则为脱下0号装备孔中的装备,默认0号装备孔对应“武器”,1号装备孔对应“盾牌” core.compareEquipment(compareEquipId, beComparedEquipId) @@ -1219,6 +1251,10 @@ core.quickSaveEquip(index) core.quickLoadEquip() 读取当前套装。index为读取的套装编号。 + + +core.getEquippedStatus(name) +获得装备直接增加的属性数据。 ``` ## loader.js @@ -1276,7 +1312,7 @@ map为存档信息,如果某项在map中不存在则会从core.floors中读取 core.getNumberById(id) -给定一个图块ID,找到对应的数字。 +给定一个图块ID,找到图块对应的图块编号。 core.initBlock(x, y, id, addInfo, eventFloor) @@ -1305,6 +1341,12 @@ core.loadMap(data, floorId) 从data中读取楼层数据,并调用core.loadFloor()进行初始化。 +core.removeMaps(fromId, toId) +删除某个区域的地图。调用此函数后,这些楼层将不可飞,不可被浏览地图,也不计入存档。 +fromId和toId为要删除的起终点楼层ID;toId也可以不填代表只删除某一层。 +此函数适用于高层塔的砍层,例如每100层一个区域且互相独立,不可再返回的情况。 + + core.resizeMap(floorId) 根据某层楼的地图大小来调整大地图的画布大小。floorId可为null表示当前层。 @@ -1412,7 +1454,7 @@ toDraw为要绘制到的信息(可为null,或为一个画布名),包括 // ------ 获得某个点的图块信息 ------ // core.noPass(x, y, floorId) -判定某个点是否有noPass的图块。 +判定某个点是否有noPass(不可通行)的图块。 core.npcExists(x, y, floorId) @@ -1420,7 +1462,7 @@ core.npcExists(x, y, floorId) core.terrainExists(x, y, id, floorId) -判定某个点是否有(指定的)地形存在。 +判定某个点是否有(id对应的)地形存在。 如果id为null,则只要存在terrains即为真,否则还会判定对应点的ID。 @@ -1433,7 +1475,7 @@ core.nearStair() core.enemyExists(x, y, id, floorId) -判定某个点是否有(指定的)怪物存在。 +判定某个点是否有(id对应的)怪物存在。 如果id为null,则只要存在怪物即为真,否则还会判定对应点的怪物ID。 请注意,如果需要判定某个楼层是否存在怪物请使用core.hasEnemyLeft()函数。 @@ -1490,14 +1532,17 @@ core.removeBlock(x, y, floorId) core.removeBlockById(index, floorId) +每个楼层的图块存成一个数组,index即为该数组中的索引,每个索引对应该地图中的一个图块 根据索引从地图的block数组中尽可能删除一个图块。floorId可不填或null表示当前楼层。 core.removeBlockByIds(floorId, ids) +ids为由索引组成的数组,如[0,1]等 根据索引数组从地图的block数组中尽可能删除一系列图块。floorId可不填或null表示当前楼层。 core.canRemoveBlock(block, floorId) +block为图块信息,可由core.getBlock获取 判定当前能否完全删除某个图块。floorId可不填或null表示当前楼层。 如果该点存在自定义事件,或者是重生怪,则不可进行删除。 @@ -1541,7 +1586,7 @@ number为要设置到的图块数字,x,y和floorId为目标点坐标和楼层 core.resetMap(floorId) 重置某层或若干层的地图和楼层属性。 -floorId可为某个楼层ID,或者一个楼层数组(同时重置若干层);如果不填则只重置当前楼层。 +floorId可为某个楼层ID,或者一个楼层数组如["MT1","MT2"](同时重置若干层);如果不填则只重置当前楼层。 // ------ 移动/跳跃图块,淡入淡出图块 ------ // @@ -1585,6 +1630,12 @@ core.drawAnimate(name, x, y, callback) 此函数会返回一个动画id,可以通过core.stopAnimate()立刻停止该动画的播放。 +core.drawHeroAnimate(name, callback) +绘制一个跟随勇士行动的动画。name为动画名,callback为绘制完毕的回调函数。 +此函数将播放动画音效,并异步开始绘制该动画。 +此函数会返回一个动画id,可以通过core.stopAnimate()立刻停止该动画的播放。 + + core.stopAnimate(id, doCallback) 立刻停止某个动画的播放。id为上面core.drawAnimate的返回值。 如果doCallback为真,则会执行该动画所对应的回调函数。 @@ -1614,11 +1665,16 @@ core.clearMap(name) 该函数的name也可以是'all',若为'all'则为清空所有系统画布。 -core.fillText(name, text, x, y, style, font) +core.fillText(name, text, x, y, style, font, maxWidth) 在某个画布上绘制一段文字。 text为要绘制的文本,x,y为要绘制的坐标,style可选为绘制的样式,font可选为绘制的字体。(下同) +style可直接使用"red","white"等或用"rgba(255,255,255,1)"或用"#FFFFFF"等方式来获得字体对应的颜色 +font的格式为"20px Verdana"前者为字体大小,后者为字体 +如果maxWidth不为null,则视为文字最大宽度,如果超过此宽度则会自动放缩文字直到自适应为止。 请注意textAlign和textBaseline将决定绘制的左右对齐和上下对齐方式。 具体可详见core.setTextAlign()和core.setTextBaseline()函数。 +譬如:core.fillText("ui", "这是要描绘的文字", 10, 10, "red", "20px Verdana", 100) +即是在ui图层上,以10,10为起始点,描绘20像素大小,Verdana字体的红色字,长度不超过100像素 core.fillBoldText(name, text, x, y, style, font) @@ -1626,7 +1682,7 @@ core.fillBoldText(name, text, x, y, style, font) core.fillRect(name, x, y, width, height, style) -绘制一个矩形。style可选为绘制样式。如果设置将调用core.setFillStyle()。(下同) +绘制一个矩形。width, height为矩形宽高,style可选为绘制样式。如果设置将调用core.setFillStyle()。(下同) core.strokeRect(name, x, y, width, height, style, lineWidth) @@ -1635,11 +1691,11 @@ lineWidth如果设置将调用core.setLineWidth()。(下同) core.drawLine(name, x1, y1, x2, y2, style, lineWidth) -绘制一条线。 +绘制一条线,x1y1为起始点像素,x2y2为终止点像素。 core.drawArrow(name, x1, y1, x2, y2, style, lineWidth) -绘制一个箭头。 +绘制一个箭头,x1y1为起始点像素,x2y2为终止点像素。 core.setFont(name, font) / core.setLineWidth(name, lineWidth) @@ -1661,7 +1717,7 @@ core.setFillStyle(name, style) / core.setStrokeStyle(name, style) core.setTextAlign(name, align) -设置一个画布的文字横向对齐模式,这里的align只能为'left', 'right'和'center'。 +设置一个画布的文字横向对齐模式,这里的align只能为'left', 'right'和'center',分别对应左对齐,右对齐,居中。 默认为'left'。 @@ -1692,6 +1748,13 @@ core.drawImage(name, image, x, y, w, h, x1, y1, w1, h1) http://www.w3school.com.cn/html5/canvas_drawimage.asp 这里的image允许传一个图片,画布。也允许传递图片名,将从你导入的图片中获取图片内容。 + +core.drawIcon(name, id, x, y, w, h) +在一张画布上绘制一个图标。 +id为注册过的图标ID,也可以使用状态栏的图标ID,例如lv, hp, up, save, settings等。 +x和y为绘制的左上角坐标;w和h可选为绘制的宽高,如果不填或null则使用该图标的默认宽高。 + + // ------ 具体的某个UI界面的绘制 ------ // core.closePanel() 结束一切事件和UI绘制,关闭UI窗口,返回游戏。 @@ -1702,16 +1765,21 @@ core.clearUI() 重置UI窗口。此函数将清掉所有的UI帧动画和光标,清空UI画布,并将alpha设为1。 -core.drawTip(text, id) +core.drawTip(text, id, clear) 在左上角以气泡的形式绘制一段提示。 text为文字内容,仅支持${}的表达式计算,不支持换行和变色。 id可选,为同时绘制的图标ID,如果不为null则会同时绘制该图标(仅对32x32的素材有效)。 也可以使用状态栏的图标ID,例如lv, hp, up, save, settings等。 +如果clear为true,则会清空当前所有正在显示的提示。 + + +core.clearTip() +清空当前所有正在显示的提示。 core.drawText(content, callback) 绘制一段文字。contents为一个字符串或一个字符串数组,callback为全部绘制完毕的回调。 -支持所有的文字效果(如\n,${},\r,\\i等),也支持\t和\b的语法。 +支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。 如果当前在事件处理中或录像回放中,则会自动转成core.insertAction处理。 不建议使用该函数,如有绘制文字的需求请尽量使用core.insertAction()插入剧情文本事件。 @@ -1736,7 +1804,8 @@ posInfo如果不为null则是一个含position, px和py的对象,表示一个 core.drawTextContent(ctx, content, config) 根据配置在某个画布上绘制一段文字。此函数会被core.drawTextBox()所调用。 ctx为画布名或画布本身,如果不设置则会忽略该函数。 -content为要绘制的文字内容,支持所有的文字效果(如\n,${},\r,\\i等),但不支持支持\t和\b的语法。 +content为要绘制的文字内容,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等) + ,但不支持支持\t和\b的语法。 config为绘制的配置项,目前可以包括如下几项: - left, top:在该画布上绘制的左上角像素位置,不设置默认为(0,0)。 > 该函数绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。 @@ -1745,13 +1814,14 @@ config为绘制的配置项,目前可以包括如下几项: - bold:是否粗体。如果不设置默认为false。 - align:文字对齐方式,仅在maxWidth设置时有效,默认为'left'。 - fontSize:字体大小,如果不设置则使用剧情文本设置中的正文字体大小。 - - lineHeight:绘制的行距值,如果不设置则使用fontSize*1.3(即1.3被行距)。 + - lineHeight:绘制的行距值,如果不设置则使用fontSize*1.3(即1.3倍行距)。 - time:打字机效果。若不为0,则会逐个字进行绘制,并设置core.status.event.interval定时器。 + - interval:字符间的间距。值表示绘制每个字符之间间隔的距离,默认为0。 core.drawTextBox(content, showAll) 绘制一个对话框。content为一个字符串或一个字符串数组。 -支持所有的文字效果(如\n,${},\r,\\i等),也支持\t和\b的语法。 +支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。 该函数将使用用户在剧情文本设置中的配置项进行绘制。 实际执行时,会计算文本框宽度并绘制背景,绘制标题和头像,再调用core.drawTextContent()绘制正文内容。 showAll可选,如果为true则不会使用打字机效果而全部显示,主要用于打字机效果的点击显示全部。 @@ -1759,7 +1829,7 @@ showAll可选,如果为true则不会使用打字机效果而全部显示,主 core.drawScrollText(content, time, lineHeight, callback) 绘制一个滚动字幕。content为绘制内容,time为总时间(默认为5000),lineHeight为行距比例(默认为1.4)。 -滚动字幕将绘制在UI上,支持所有的文字效果(如\n,${},\r,\\i等),但不支持\t和\b效果。 +滚动字幕将绘制在UI上,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),但不支持\t和\b效果。 可以通过剧情文本设置中的align控制是否居中绘制,offset控制其距离左边的偏移量。 @@ -1771,7 +1841,7 @@ core.textImage(content, lineHeight) core.drawChoices(content, choices) 绘制一个选项框。 -content可选,为选项上方的提示文字,支持所有的文字效果(如\n,${},\r,\\i等),也支持\t效果。 +content可选,为选项上方的提示文字,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t。 choices必选,为要绘制的选项内容,是一个列表。其中的每一项: - 可以是一个字符串,表示选项文字,将使用剧情文本设置中的正文颜色来绘制,仅支持${}表达式计算。 - 或者是一个包含text, color和icon的对象。 @@ -1838,11 +1908,14 @@ z值为创建的纵向高度(关系到画布之间的覆盖),z值高的将 core.ui.relocateCanvas(name, x, y) -重新定位一个自定义画布。x和y为画布的左上角坐标。 +重新定位一个自定义画布。x和y为画布的左上角坐标,name为画布名。 -core.ui.resizeCanvas(name, width, height) -重新设置一个自定义画布的大小。width和height为新设置的宽高。此操作会清空画布。 +core.ui.resizeCanvas(name, width, height, styleOnly) +重新设置一个自定义画布的大小。width和height为新设置的宽高。 +styleOnly控制是否只修改画布的显示大小(而不修改画布的内部大小)。 +如果styleOnly为true,则只修改其显示大小(即canvas.style.width); +否则,则会同时修改画布的显示大小和内部大小并清空画布内容。 core.ui.deleteCanvas(name) @@ -1862,6 +1935,11 @@ core.replayText(text, need, times) 将一段文字中的${}(表达式)进行替换。need和time一般可以直接忽略。 +core.replaceValue(value) +对一个表达式中的特殊规则进行替换,如status:xxx等。 +请注意,此项不会对独立开关如switch:A进行替换。 + + core.calValue(value, prefix, need, time) 计算一个表达式的值,支持status:xxx等的计算。 prefix为前缀(switch:xxx的独立开关使用),need和time一般可以直接忽略。 @@ -1914,6 +1992,17 @@ errorCallback可选,如果失败,则会将错误信息传入errorCallback() 此函数是异步的,只能通过回调函数来获得读取的结果或错误信息。 +core.setGlobal(key, value) +设置一个全局存储,适用于global:xxx。 +录像播放时将忽略此函数,否则直接调用core.setLocalStorage。 + + +core.getGlobal(key, value) +获得一个全局存储,适用于global:xxx,支持录像。 +正常游戏时将使用core.getLocalStorage获得具体的数据,并将结果存放到录像中。 +录像播放时会直接从录像中获得对应的数据。 + + core.clone(data, filter, recursion) 深拷贝一个对象。有关浅拷贝,深拷贝,基本类型和引用类型等相关知识可参见: https://zhuanlan.zhihu.com/p/26282765 @@ -2013,6 +2102,7 @@ core.matchWildcard(pattern, string) core.encodeBase64(str) / core.decodeBase64(str) 将字符串进行base64加密或解密。 +可用于解压缩录像数据 core.convertBase(str, fromBase, toBase) @@ -2035,8 +2125,9 @@ num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一 即先生成一个真随机数,根据该数来推进伪随机的种子,这样就可以放心调用core.rand()啦。 -core.readFile(success, error) +core.readFile(success, error, accept) 读取一个本地文件内容。success和error分别为读取成功或失败的回调函数。 +accept如果设置则控制能选择的文件类型。 iOS平台暂不支持读取文件操作。 @@ -2087,7 +2178,16 @@ core.same(a, b) 如果a和b都是数组,则会递归依次比较数组中的值;如果都是对象亦然。 -core.utils.http(type, url, formData, success, error, mimeType, responseType) +core.unzip(blobOrUrl, success, error, convertToText) +解压一个zip文件。 +blobOrUrl为传入的二进制zip文件Blob格式,或zip文件的地址。 +success为成功后的回调,接收 文件名-文件内容 形式的对象,即 +{"filename1": ..., "filename2": ...} +error为失败的回调,接收参数message为错误信息。 +convertToText如果为true则会将每个文件内容转成纯文本而不是二进制格式。 + + +core.http(type, url, formData, success, error, mimeType, responseType) 发送一个异步HTTP请求。 type为'GET'或者'POST';url为目标地址;formData如果是POST请求则为表单数据。 success为成功后的回调,error为失败后的回调。 diff --git a/_docs/element.md b/_docs/element.md index 4fed9b92..2b386a88 100644 --- a/_docs/element.md +++ b/_docs/element.md @@ -1,6 +1,6 @@ # 元件说明 -?> 目前版本**v2.6**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6**,上次更新时间:* {docsify-updated} * 在本章中,将对样板里的各个元件进行说明。各个元件主要包括道具、门、怪物、楼梯等等。 @@ -282,10 +282,13 @@ floorId指定的是目标楼层的唯一标识符(ID)。 - 使用`${}`来计算一个表达式的值,如`${status:atk+status:def}`。 - 使用`\f[...]`来同时插入一张立绘图,如`\f[1.png,100,200]`。 - 使用`\\i[...]`来在对话框中绘制一个图标,如`\\i[fly]`。 +- 使用`\\c[...]`来修改字体大小,如`\\b[16]`。 +- 使用`\\d`来加粗或者取消粗体。 +- 使用`\\e`来加斜体或取消斜体。 从V2.5.2开始,也允许绘制一张头像图在对话框中,只要通过`\t[1.png]`或`\t[标题,1.png]`的写法。 -**使用`\\i[...]`绘制图标请注意:在事件块中,允许只写一个反斜杠`\i`,系统会自动转义成`\\i`;但是在脚本中必须两个反斜杠都写上!** +**使用`\\i,\\c,\\d,\\e`时请注意:在事件块中,允许只写一个反斜杠`\`,系统会自动转义成`\\`;但是在脚本中必须两个反斜杠都写上!** 详细信息请参见[剧情文本控制](event#text:显示一段文字(剧情))中的说明。 diff --git a/_docs/event.md b/_docs/event.md index bb586464..cce0cbe6 100644 --- a/_docs/event.md +++ b/_docs/event.md @@ -1,6 +1,6 @@ # 事件 -?> 目前版本**v2.6**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6**,上次更新时间:* {docsify-updated} * 本章内将对样板所支持的事件进行介绍。 @@ -24,7 +24,7 @@ 它能通过拖动、复制粘贴等方式帮助你快速生成事件列表,而不用手动打大量字符。 -下述所说的都是在事件编辑器右边所展示的,该事件的代码化写法。 +下述所说的都是在事件编辑器右边所展示的,该事件的代码化写法;部分增加了可视化事件编辑器的截图示意(感谢秋橙的制作)。 强烈建议要对每个事件的写法进行了解,因为在脚本编辑,`insertAction`等地方需要插入自定义事件时,还是很有必要的。 @@ -154,6 +154,8 @@ ] ``` +![](img/events/1.jpg) + 该项可以简写成直接的字符串的形式,即下面这种方式也是可以的: ``` js @@ -188,6 +190,10 @@ 从V2.5.2以后,新增了绘制大头像的功能。绘制大头像图的基本写法是`\t[1.png]`或者`\t[标题,1.png]`。 +从V2.6开始,所有图块都允许只写ID,对于非怪物则仅当图块属性中设置了name才有标题(否则不显示标题)。 + +另外注意的是,名字可以用null从而只显示动画而不显示标题。 + ``` js [ "一段普通文字", @@ -198,10 +204,15 @@ "\t[小妖精,fairy]这是一段小妖精说的话,使用仙子(fairy)的图标", "\t[你赢了]直接显示标题为【你赢了】", "\t[1.png]绘制1.png这个头像图", - "\t[标题,1.png]同时绘制标题和1.png这个头像图" + "\t[标题,1.png]同时绘制标题和1.png这个头像图", + "\t[sword1]获得铁剑,没有标题", + "\t[man]没有标题的npc动画", + "\t[null,greenSlime]只绘制怪物动画而不显示标题" ] ``` +![](img/events/2.jpg) + !> 大头像的头像图需要在全塔属性中注册,且必须是png格式,不可以用jpg或者其他格式,请自行转换。 除此以外,我们还能实现“对话框效果”,只要有`\b[...]`就可以。 @@ -227,9 +238,7 @@ ] ``` -从V2.6开始,`\b`提供了更多功能,包括: - -- `\b[hero]` +![](img/events/3.jpg) !> `\t[...]`必须在`\b[...]`前面!不然两者都无法正常显示。 @@ -243,10 +252,14 @@ ] ``` +![](img/events/4.jpg) + 从V2.5.3以后,也可以使用`\f[...]`来同时绘制一张图片。 其基本写法是`\f[img,x,y]`,或者`\f[img,x,y,w,h]`,或者`\f[img,sx,sy,sw,sh,x,y,w,h]`。 +从V2.6.3开始,也可以在最后加上alpha值,即`\f[img,sx,sy,sw,sh,x,y,w,h,alpha]`。 + 需要注意的是,这个图片是绘制在UI层上的,下一个事件执行时即会擦除;同时如果使用了\t的图标动画效果,重叠的地方也会被图标动画给覆盖掉。 ``` js @@ -254,10 +267,13 @@ "\t[勇士]\b[up,hero]\f[1.png,100,100]以(100,100)为左上角绘制1.png图片", "\t[hero]\f[1.png,100,100]\f[2.png,300,300]同时绘制了两张图片", "\f[1.png,100,100,300,300]也可以填写宽高,这样会把图片强制进行放缩到指定的宽高值", - "\f[1.png,64,64,128,128,100,100,128,128]裁剪1.png上以(64,64)开始的128x128图片,并绘制到画布的(100,100)处" + "\f[1.png,64,64,128,128,100,100,128,128]裁剪1.png上以(64,64)开始的128x128图片,并绘制到画布的(100,100)处", + "\f[1.png,64,64,128,128,100,100,128,128,0.5]同上,不透明度0.5", ] ``` +![](img/events/5.jpg) + 从V2.5.5以后,也可以使用`\\i[...]`来在对话框中绘制一个图标。 这里可以使用一个合法ID(32x48图块除外),或使用一个系统图标(`core.statusBar.icons`中的内容)。 @@ -269,10 +285,24 @@ ] ``` +![](img/events/6.jpg) + **可以在控制台中输入`core.statusBar.icons`以查看所有的系统图标定义。** !> 注意,在事件块中,允许只写一个反斜杠`\i`,系统会自动转义成`\\i`;但是在脚本中必须两个反斜杠都写上! +从V2.6.3开始,也可以使用`\\c[...]`来切换当前字体,`\\d`来加粗或取消粗体,`\\e`来加斜体或取消斜体。 + +``` js +[ + "这是原始字体,\\c[20]使用20号字体,\\c[10]使用10号字体", + "\\c如果不加中括号则切换回原始字体。", + "\\d这是粗体\\d取消粗体,\\e加斜体\\e取消斜体" +] +``` + +!> 注意,在事件块中,允许只写一个反斜杠`\c`,系统会自动转义成`\\c`;但是在脚本中必须两个反斜杠都写上!`\d`和`\e`同理。 + 另外值得一提的是,我们是可以在文字中计算一个表达式的值的。只需要将表达式用 `${ }`整个括起来就可以。 ``` js @@ -283,18 +313,32 @@ 我们可以使用 `status:xxx` 代表勇士的一个属性值;`item:xxx` 代表某个道具的个数;`flag:xxx` 代表某个自定义的变量或flag值。 +从V2.6开始,也可以使用`global:xxx`代表全局存储(和存档无关的存储)。 + +从V2.6.5开始,也可以使用`enemy:id:atk`来获得某个怪物的属性,`blockId:x,y`来获得某个点的图块ID,`equip:x`来获得某个装备孔的装备ID。 + ``` js [ "你当前的攻击力是${status:atk}, 防御是${status:def},坐标是(${status:x},${status:y})", "你的攻防和的十倍是${10*(status:atk+status:def)}", "你的红黄蓝钥匙总数为${item:yellowKey+item:blueKey+item:redKey}", "你访问某个老人的次数为${flag:man_times}", + "当前的存档编号是${global:saveIndex}", + "绿色史莱姆的攻击力是${enemy:greenSlime:atk}", + "(2,3)点的图块ID是${blockId:2,3},图块类型是${blockCls:2,3}", + "装备孔0的当前装备ID是${equip:0}", ] ``` +![](img/events/7.png) + - `status:xxx` 获取勇士属性时只能使用如下几个:hp(生命值),atk(攻击力),def(防御力),mdef(魔防值),money(金币),experience(经验),x(勇士的横坐标),y(勇士的纵坐标),direction(勇士的方向)。 - `item:xxx` 中的xxx为道具ID。所有道具的ID定义在items.js中,请自行查看。例如,`item:centerFly` 代表中心对称飞行器的个数。 -- `flag:xxx` 中的xxx为一个自定义的变量/Flag;如果没有对其进行赋值则默认值为false。 +- `flag:xxx` 中的xxx为一个自定义的变量/Flag(支持中文);如果没有对其进行赋值则默认值为0。 +- `global:xxx` 中的xxx为一个全局存储的名称(支持中文);如果没有对其进行赋值则默认值为0。 +- `enemy:xxx:yyy` 中的xxx为怪物ID;yyy为要获得的项,比如hp, atk, def等等 +- `blockId:x,y` 和 `blockCls:x,y` 中的x,y为坐标值 +- `equip:x` 中的x为装备孔编号,从0开始。 ### autoText:自动剧情文本 @@ -306,6 +350,8 @@ ] ``` +![](img/events/8.jpg) + text为文本正文内容,和上面的写法完全一致。 time为可选项,代表该自动文本的时间。可以不指定,不指定默认为3000毫秒。 @@ -326,6 +372,8 @@ time为可选项,代表该自动文本的时间。可以不指定,不指定 ] ``` +![](img/events/9.jpg) + text为正文文本内容。可以使用`${ }`来计算表达式的值,且使用`\n`手动换行。系统不会对滚动剧情文本进行自动换行。 time为可选项,代表总的滚动时间。默认为5000毫秒。 @@ -351,6 +399,8 @@ async可选,如果为true则会异步执行(即不等待当前事件执行 ] ``` +![](img/events/10.jpg) + title为可选项,如果设置则为一个RGB三元组或RGBA四元组,表示标题(名字)颜色。 默认值:`[255,215,0,1]` text为可选项,如果设置则为一个RGB三元组或RGBA四元组,表示正文颜色。 默认值:`[255,255,255,1]` @@ -371,6 +421,8 @@ textfont为可选项,表示正文字体大小(px为单位)。默认值:` time为可选项,表示文字添加的速度。若此项设置为0将直接全部显示,若大于0则会设置为相邻字符依次显示的时间间隔。 默认值:`0` +interval为可选项,表示文字之间的间距。单位为像素值。默认值:`0` + ### tip:显示一段提示文字 `{"type": "tip"}`可以在左上角显示一段提示文字。 @@ -381,6 +433,8 @@ time为可选项,表示文字添加的速度。若此项设置为0将直接全 ] ``` +![](img/events/11.jpg) + text必填,为显示的内容,支持`${}`的表达式计算。 icon是可选的,如果设置则会绘制图标,其可以是一个有效的ID,或者`core.statusBar.icons`中的系统图标。 @@ -395,6 +449,8 @@ icon是可选的,如果设置则会绘制图标,其可以是一个有效的I ] ``` +![](img/events/12.jpg) + 这个事件将在运行时被游戏跳过。 ### setValue:设置勇士的某个属性、道具个数,或某个变量/Flag的值 @@ -413,7 +469,7 @@ icon是可选的,如果设置则会绘制图标,其可以是一个有效的I name为你要修改的属性/道具/Flag,每次只能修改一个值。写法和上面完全相同,`status:xxx` 表示勇士一个属性,`item:xxx` 表示某个道具个数,`flag:xxx` 表示某个变量或flag值。参见上面的介绍。 -value是一个表达式,将通过这个表达式计算出的结果赋值给name。该表达式同样可以使用`status:xxx`, `item:xxx`, `flag:xxx`的写法表示勇士当前属性,道具个数和某个变量/Flag值。 +value是一个表达式,将通过这个表达式计算出的结果赋值给name。该表达式同样可以使用`status:xxx`, `item:xxx`, `flag:xxx`, `global:xxx`的写法表示勇士当前属性,道具个数,某个变量/Flag值和某个全局存储值。 ``` js [ @@ -424,10 +480,16 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam {"type": "setValue", "name": "item:bomb", "value": "item:bomb+10" } // 炸弹个数+10 {"type": "setValue", "name": "flag:man_times", "value": "0" } // 将变量man_times设为0 {"type": "setValue", "name": "flag:man_times", "value": "flag:man_times+2*status:atk" } // 将变量man_times的值加上勇士的攻击数值的两倍 + {"type": "setValue", "name": "global:123", "value": "4"} // 设置全局存储233为4(任何存档都可以读取它) ] ``` -另外注意一点的是,如果hp被设置成了0或以下,将触发lose事件,直接死亡。 +![](img/events/13.jpg) + +从V2.6.5开始,当设置了`"norefresh": true`后可以不刷新状态栏、地图显伤和自动事件,从而加速事件执行。 + + +在刷新的情况下,如果hp被设置成了0或以下,将触发lose事件,直接死亡。 ### addValue:增减勇士的某个属性、道具个数,或某个变量/Flag的值 @@ -446,6 +508,30 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam ] ``` +![](img/events/14.jpg) + +从V2.6.5开始,当设置了`"norefresh": true`后可以不刷新状态栏、地图显伤和自动事件,从而加速事件执行。 + +### setEnemy:设置怪物属性 + +使用`{"type":"setEnemy"}`可以设置某个怪物的某个属性 + +``` js +[ + {"type": "setEnemy", "id": "greenSlime", "name": "hp", "value": "1000"}, // 设置绿色史莱姆生命1000 + {"type": "setEnemy", "id": "redSlime", "name": "special", "value": "[1,2]"}, // 设置红色史莱姆先攻魔攻 + {"type": "setEnemy", "id": "redSlime", "name": "name", "value": "'小史莱姆'"}, // 设置怪物名称 +] +``` + +![](img/events/15.png) + +id为必填项,代表要修改的怪物ID。 + +name为必填项,代表要修改的项,例如`hp`, `atk`, `def`, `money`, `experience`, `point`, `special`, `name`。 + +value为必填项,代表要修改到的内容。对于修改名称的,必须加单引号。 + ### setFloor:设置楼层属性 使用`{"type":"setFloor"}`可以设置某层楼的楼层属性。 @@ -462,6 +548,8 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam ] ``` +![](img/events/15.jpg) + name为必填项,代表要修改的楼层属性,和楼层属性中的一一对应。 floorId为可选项,代表要修改的楼层ID;可以省略代表当前楼层。 @@ -480,6 +568,8 @@ value为必填项,代表要修改到的数值。其应该和楼层属性中的 ] ``` +![](img/events/16.jpg) + name必填项,代表要修改的全局属性。 value为必填项,代表要修改到的结果。此项无需再手动加单引号。 @@ -494,6 +584,8 @@ value为必填项,代表要修改到的结果。此项无需再手动加单引 ] ``` +![](img/events/17.jpg) + name必填项,代表要修改的全局数值,其和全塔属性中的values一一对应。 value为必填项,代表要修改到的结果。该项必须是个数值。 @@ -508,6 +600,8 @@ value为必填项,代表要修改到的结果。该项必须是个数值。 ] ``` +![](img/events/18.jpg) + name必填项,代表要修改的系统开关,其是全塔属性中的flags中的一部分。 value为必填项,只能为true或false,代表要修改到的结果。 @@ -528,6 +622,8 @@ value为必填项,只能为true或false,代表要修改到的结果。 ] ``` +![](img/events/19.jpg) + show事件需要用loc指定目标点的坐标,可以简单的写[x,y]代表一个点,也可以写个二维数组[[x1,y1],[x2,y2],...]来同时显示多个点。 从V2.2开始,loc也可以用变量来代替,例如 `"loc": ["flag:x", "flag:y"]`。下同。 @@ -566,28 +662,30 @@ NPC对话事件结束后如果需要NPC消失也需要调用 `{"type": "hide"}` ] ``` +![](img/events/20.jpg) + ### trigger:立即触发另一个地点的事件 `{"type":"trigger"}` 会立刻触发当层另一个地点的自定义事件。 -上面我们说到,show事件会让一个禁用事件启用且可被交互;但是如果我想立刻让它执行应该怎么办呢?使用trigger就行。 - 其基本写法如下: ``` js [ {"type": "trigger", "loc": [3,6]}, // 立即触发loc位置的事件,当前剩下的事件全部不再执行 - "执行trigger后,这段文字将不会再被显示" + {"type": "trigger", "loc": [3,6], "keep": true}, // 触发loc位置的事件,不结束当前事件 ] ``` +![](img/events/21.jpg) + 其后面带有loc选项,代表另一个地点的坐标。 -执行trigger事件后,当前事件将立刻被结束,剩下所有内容被忽略;然后重新启动另一个地点的action事件。 +keep可选,如果此项为true则不会结束当前的事件列表,否则会中断当前的事件流。 -例如上面这个例子,下面的文字将不会再被显示,而是直接跳转到`"3,6"`对应的事件列表从头执行。 +从V2.5.4开始允许执行另一个点的系统事件,如打怪开门拾取道具等等,对应点的战后等事件也会被插入执行。 -!> 从V2.5.4开始,允许执行另一个点的“系统事件”,如打怪、开门、拾取道具等等。对应点的战后事件等也会被执行。 +值得注意的是,此事件会**改变当前点坐标**为目标点。 ### insert:插入公共事件或另一个地点的事件并执行 @@ -606,6 +704,8 @@ NPC对话事件结束后如果需要NPC消失也需要调用 `{"type": "hide"}` ] ``` +![](img/events/22.jpg) + `insert`的写法有两种,可以写`name`,或者`loc`。 - 如果写了`"name": "xxx"`,则会去公共事件列表中找寻对应的事件,并执行。 @@ -615,11 +715,12 @@ NPC对话事件结束后如果需要NPC消失也需要调用 `{"type": "hide"}` - floorId可选,代表另一个地点所在的楼层;如果不写则默认为当前层。 - 从V2.6开始,还可以传可选的which,可以为`afterBattle`/`afterGetItem`/`afterOpenDoor`,代表插入该点的战后/获得道具后/开门后事件。 -和`type:trigger`不同的是,**`type:trigger`是立刻将当前事件结束(剩下所有内容都忽略),然后重新启动另一个地点的action事件。** +和`type:trigger`不同点如下: +- `type:trigger`只能指定当前楼层且会改变当前点坐标,`type:insert`可以跨楼层且不会改变当前点坐标。 +- `type:trigger`如果不设置`keep:true`则还会结束当前事件,`type:insert`而是将另一个点的事件插入到当前事件列表中执行。 +- `type:trigger`可以触发系统事件,`type:insert`只能触发该点的自定义事件或战后事件等。 -但是`type:insert`不会结束当前事件,而是直接将另一个地点的事件列表“插入”到当前事件列表中执行。 - -**这个过程中,当前事件不会被结束,当前的楼层和事件坐标不会发生改变。** 插入的事件执行完毕后,会继续执行接下来的内容。 +插入的事件执行完毕后,会继续执行接下来的内容。 从V2.6开始,插入事件允许传参。如果需要传参,则需要增加一个`args`数组。 @@ -642,6 +743,8 @@ revisit和trigger完全相同,只不过是立刻触发的还是本地点的事 ] ``` +![](img/events/23.jpg) + revisit其实是trigger的简写,只不过是loc固定为当前点。 revisit常常使用在一些商人之类的地方,当用户购买物品后不是离开,而是立刻重新访问重新进入购买页面。 @@ -661,6 +764,8 @@ revisit常常使用在一些商人之类的地方,当用户购买物品后不 ] ``` +![](img/events/24.jpg) + ### setBlock:设置某个图块 我们可以采用 `{"type": "setBlock"}` 来改变某个地图块。 @@ -674,6 +779,8 @@ revisit常常使用在一些商人之类的地方,当用户购买物品后不 ] ``` +![](img/events/25.jpg) + floorId为可选的,表示要更改的目标楼层。如果忽略此项,则默认为当前楼层。 loc为可选的,表示要更改地图块的坐标。如果忽略此项,则默认为当前事件点。 @@ -704,6 +811,8 @@ number为**要更改到的数字**,有关“数字”的定义详见参见[素 ] ``` +![](img/events/26.jpg) + loc为要隐藏的贴图的左上角坐标,可以简单的写[x,y]代表一个点,也可以写个二维数组[[x1,y1],[x2,y2],...]来同时显示多个点。 如果同时存在若干个贴图都是是该坐标为左上角,则这些贴图全部会被隐藏。 @@ -736,6 +845,8 @@ floorId为目标点的楼层,如果是当前楼层可以忽略不写。 ] ``` +![](img/events/27.jpg) + name为必选的,且只能是`bg`和`fg`之一,分别代表背景图层和前景图层。 loc为要隐藏的贴图的左上角坐标,可以简单的写[x,y]代表一个点,也可以写个二维数组[[x1,y1],[x2,y2],...]来同时显示多个点。 @@ -766,6 +877,8 @@ floorId为目标点的楼层,如果是当前楼层可以忽略不写。 ] ``` +![](img/events/28.jpg) + name为必选的,且只能是`bg`和`fg`之一,分别代表背景层和前景层。 floorId为可选的,表示要更改的目标楼层。如果忽略此项,则默认为当前楼层。 @@ -786,6 +899,8 @@ loc为可选的,表示要更改地图块的坐标。如果忽略此项,则 ] ``` +![](img/events/29.jpg) + name是可选的,代表目标行走图的文件名。 !> **目标行走图必须在全塔属性的this.images中被定义过,且宽度必须是128像素(高度不限)。** @@ -808,11 +923,13 @@ name是可选的,代表目标行走图的文件名。 使用`{"type": "showStatusBar"}`会重新显示状态栏。 -### updateEnemys:更新怪物数据 +### hideHero:隐藏勇士 -使用 `{"type": "updateEnemys"}` 可以动态修改怪物数据。 +使用`{"type": "hideHero"}`可以隐藏勇士。 -详见[怪物数据的动态修改](#怪物数据的动态修改)。 +### showHero:显示勇士 + +使用`{"type": "showHero"}`会重新显示勇士。 ### sleep:等待多少毫秒 @@ -828,6 +945,8 @@ name是可选的,代表目标行走图的文件名。 ] ``` +![](img/events/30.jpg) + 默认的等待事件可以被Ctrl跳过,下面两种情况下不可呗跳过: - 加上`"noSkip": true`后 - 当前存在尚未执行完毕的异步事件。 @@ -836,28 +955,22 @@ name是可选的,代表目标行走图的文件名。 调用battle可强制与某怪物进行战斗(而无需去触碰到它)。 -其基本写法是: `{"type": "battle", "id": xxx}`,其中xxx为怪物ID。 - ``` js [ - "\t[blackKing]你终于还是来了。", - "\t[hero]放开我们的公主!", - "\t[blackKing]如果我不愿意呢?", - "\t[hero]无需多说,拔剑吧!", - {"type": "battle", "id": "blackKing"}, // 强制战斗 - // 如果战斗失败直接死亡,不会继续触发接下来的剧情。 - {"type": "hide", "loc": [10,2]}, // 战斗后需要手动使怪物消失;战斗后不会引发afterBattle事件。 - {"type": "openDoor", "loc": [8,7]}, // 开门口的机关门 - "\t[blackKing]没想到你已经变得这么强大了... 算你厉害。\n公主就交给你了,请好好对她。", - {"type": "hide"} // 隐藏本事件 + {"type": "battle", "id": "blackKing"}, // 强制战斗黑衣魔王 + {"type": "battle", "loc": [2,3]}, // 强制战斗(2,3)点的怪物 ], ``` -上面就是样板层中右上角的强制战斗例子。 +![](img/events/31.jpg) -如果强制战斗失败,则会立刻生命归0并死亡,调用lose函数,接下来的事件不会再被执行。 +从V2.6开始,有两种写法: +- 写id,则视为和空降怪物进行强制战斗,不会执行一些战后事件,也不会隐藏任何点。 +- 写loc(可选,不填默认当前点),则视为和某点怪物进行强制战斗,会隐藏该点并且插入该点战后事件执行。 -强制战斗没有指定loc的选项,因此战斗后需要调用hide使怪物消失(如果有必要)。 +强制战斗不会自动存档,如果战斗失败则立刻死亡。 + +值得注意的是,如果是和某个点的怪物强制战斗,并且该点存在战后事件,执行时会**修改当前点坐标**为目标点。 ### openDoor:开门 @@ -867,10 +980,12 @@ name是可选的,代表目标行走图的文件名。 [ {"type": "openDoor", "loc": [3,6], "floorId": "MT1"}, // 打开MT1层的[3,6]位置的门 {"type": "openDoor", "loc": [3,6]}, // 如果是本层则可省略floorId - {"type": "openDoor", "loc": [3,6], "needKey": true} // 打开此门需要钥匙 + {"type": "openDoor", "loc": [3,6], "needKey": true, "async": true} // 打开此门需要钥匙,异步执行 ] ``` +![](img/events/32.jpg) + loc指定门的坐标,floorId指定门所在的楼层ID。如果是当前层则可以忽略floorId选项。 如果loc所在的点是一个墙壁,则作为暗墙来开启。 @@ -879,8 +994,12 @@ loc指定门的坐标,floorId指定门所在的楼层ID。如果是当前层 needKey是可选的,如果设置为true则需要钥匙才能打开此门。如果没有钥匙则跳过此事件。 +async可选,如果为true则会异步执行(即不等待当前事件执行完毕,立刻执行下一个事件)。 + !> needKey仅对当前楼层开门有效!跨楼层的门仍然不需要钥匙即可打开,如有需求请自行判定。 +值得注意的是,如果该点存在开门事件,执行时会**修改当前点坐标**为目标点。 + ### closeDoor:关门 从V2.6开始提供了关门事件`{"type": "closeDoor"}`,拥有关门动画和对应的音效。 @@ -892,6 +1011,8 @@ needKey是可选的,如果设置为true则需要钥匙才能打开此门。如 ] ``` +![](img/events/33.jpg) + id为你要关门的ID,需要是一个合法的门,系统默认只支持如下几种: ``` @@ -903,6 +1024,8 @@ yellowWall, blueWall, whiteWall loc可选,为要关的位置,不填默认为当前点。 +async可选,如果为true则会异步执行(即不等待当前事件执行完毕,立刻执行下一个事件)。 + 关门事件需要保证该点是空地,否则将无视此事件。 ### changeFloor:楼层切换 @@ -918,6 +1041,8 @@ changeFloor的事件写法大致如下。 ] ``` +![](img/events/34.jpg) + 可以看到,与上面的楼梯、传送门的写法十分类似。 但是相比那个而言,不支持stair楼梯位置(只能写坐标),没有穿透选项。 @@ -942,24 +1067,54 @@ time为可选的,指定的话将作为楼层切换动画的时间。 ] ``` +![](img/events/35.jpg) + ### useItem:使用道具 调用`{"type": "useItem"}`可以使用一个道具。 ``` js [ - {"type": "changePos", "id": "pickaxe"}, // 尝试使用破 - {"type": "changePos", "id": "bomb"}, // 尝试使用炸 - {"type": "changePos", "id": "centerFly"} // 尝试使用飞 + {"type": "useItem", "id": "pickaxe"}, // 尝试使用破 + {"type": "useItem", "id": "bomb"}, // 尝试使用炸 + {"type": "useItem", "id": "centerFly"} // 尝试使用飞 ] ``` +![](img/events/36.jpg) + 使用道具事件会消耗对应的道具。 如果当前不可使用该道具(如没有,或者达不到使用条件),则会进行提示并跳过本事件。 不可使用“怪物手册”(请使用【呼出怪物手册】事件)或楼层传送器(如果[覆盖楼传事件](personalization#覆盖楼传事件)则可忽视本项)。 +### loadEquip:装上装备 + +使用`{"type": "loadEquip"}`可以装上一个装备。 + +``` js +[ + {"type": "loadEquip", "id": "sword1"}, // 尝试装上铁剑 +] +``` + +id必填,为需要装备的ID。 + +使用装备时仍会检查条件(比如装备是否存在,能否装备等等)。 + +### unloadEquip:卸下装备 + +使用`{"type": "unloadEquip"}`卸下某个装备孔的装备。 + +``` js +[ + {"type": "unloadEquip", "pos": 0}, // 卸下装备孔0的装备 +] +``` + +pos必填,为要卸下的装备孔编号,从0开始。 + ### openShop:打开一个全局商店 使用openShop可以打开一个全局商店。有关全局商店的说明可参见[全局商店](#全局商店)。 @@ -990,7 +1145,7 @@ name所指定的图片必须存在,在全塔属性中的images中被定义过 ``` js [ {"type": "unfollow", "name": "npc.png"}, // 将 npc.png 这个行走图取消跟随 - {"type": "follow"}, // 取消所有跟随 + {"type": "unfollow"}, // 取消所有跟随 ] ``` @@ -1023,6 +1178,8 @@ async可选,如果为true则会异步执行(即不等待当前事件执行 ] ``` +![](img/events/37.jpg) + name为动画名,**请确保动画在全塔属性中的animates中被定义过。** loc为动画的位置,可以是`[x,y]`表示在(x,y)点显示,也可以是字符串`"hero"`表示在勇士点显示。 @@ -1046,6 +1203,8 @@ loc可忽略,如果忽略则显示为事件当前点。 ] ``` +![](img/events/38.jpg) + code为图片编号,如果两张图片重叠,编号较大会覆盖编号较小的。该值需要在1~50之间。 image为图片名。**请确保图片在全塔属性中的images中被定义过。** @@ -1132,6 +1291,8 @@ loc为动图左上角坐标,以像素为单位进行计算。 ] ``` +![](img/events/39.jpg) + code为图片编号。该值需要在1~50之间。 to为终点图片左上角坐标,以像素为单位进行计算,不填写则视为当前图片位置。 @@ -1154,6 +1315,8 @@ async可选,如果为true则会异步执行(即不等待当前事件执行 ] ``` +![](img/events/40.jpg) + color为需要更改画面色调的颜色。它是一个数组,分别指定目标颜色的R,G,B,A值。 - 常见RGB颜色: 纯黑[0,0,0],纯白[255,255,255],纯红[255,0,0],等等。 - 第四元为Alpha值,即不透明度,为一个0到1之间的数。可以不指定,则默认为Alpha=1 @@ -1221,6 +1384,8 @@ level为天气的强度等级,在1-10之间。1级为最弱,10级为最强 ] ``` +![](img/events/41.jpg) + time选项必须指定,为每移动一步所需要用到的时间。 loc为需要移动的事件位置。可以省略,如果省略则移动本事件。 @@ -1251,6 +1416,8 @@ keep为一个可选项,代表该事件移动完毕后是否消失。如果该 } ``` +![](img/events/42.jpg) + 即,在移动的到达点指定一个事件,然后move事件中指定"keep":true,然后就可以触发目标点的事件了。 async可选,如果为true则会异步执行(即不等待当前事件执行完毕,立刻执行下一个事件)。 @@ -1329,6 +1496,8 @@ async可选,如果为true则会异步执行(即不等待当前事件执行 目前支持mp3/ogg/wav等多种格式的音乐播放。 +从V2.6.3开始,还提供了keep项。如果此项为真,则会记录该bgm,并且持续到下次调用本事件位置(楼层切换不改变bgm,读档也有效)。 + 有关BGM播放的详细说明参见[背景音乐](element#背景音乐) ### pauseBgm:暂停背景音乐 @@ -1375,6 +1544,8 @@ async可选,如果为true则会异步执行(即不等待当前事件执行 使用方法: `{"type": "setVolume", "value": 90, "time": 500, "async": true}` +![](img/events/43.jpg) + value为音量大小,在0到100之间,默认为100。设置后,BGM将使用该音量进行播放。SE的音量大小不会发生改变。 可以设置time为音量渐变时间。 @@ -1434,6 +1605,8 @@ async可选,如果为true则会异步执行(即不等待当前事件执行 ] ``` +![](img/events/44.jpg) + text为提示文字,可以在这里给输入提示文字。这里同样可以使用${ }来计算表达式的值。 当执行input事件时,将显示一个弹窗,并提示用户输入一个内容。 @@ -1453,6 +1626,8 @@ text为提示文字,可以在这里给输入提示文字。这里同样可以 ] ``` +![](img/events/45.jpg) + text为提示文字,可以在这里给输入提示文字。这里同样可以使用${ }来计算表达式的值。 当执行input2事件时,将显示一个弹窗,并提示用户输入一个内容。 @@ -1504,6 +1679,8 @@ text为提示文字,可以在这里给输入提示文字。这里同样可以 ] ``` +![](img/events/46.jpg) + 需要额外注意的几点: - 给定的表达式(condition)一般需要返回true或false。 @@ -1569,6 +1746,8 @@ nobreak是可选的,如果设置,则在当前条件满足并插入事件后 ] ``` +![](img/events/47.jpg) + 需要额外注意的几点: - 各个条件分支的判断是顺序执行的,因此若多个分支的条件都满足,将只执行最靠前的分支。 @@ -1597,6 +1776,7 @@ nobreak是可选的,如果设置,则在当前条件满足并插入事件后 ] ``` +![](img/events/48.jpg) ### choices:给用户提供选项 @@ -1702,12 +1882,16 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。 ] ``` +![](img/events/49.jpg) + ### dowhile:后置条件循环 `type:dowhile`可以制作一个后置条件循环。 其写法与参数和`type:while`完全一致,不过与其不同的是,会先执行一次事件列表,再对条件进行判定,就和C/C++中的 `do {...} while (...);` 语法一样。 +![](img/events/50.jpg) + ### break:跳出循环 使用 `{"type": "break"}` 可以跳出当前循环。 @@ -1737,6 +1921,8 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。 ] ``` +![](img/events/51.jpg) + !> 如果continue事件不在任何循环中被执行,则和exit等价,即会立刻结束当前事件! ### wait:等待用户操作 @@ -1776,6 +1962,33 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。 ] ``` +![](img/events/52.jpg) + +从V2.6.6开始,也允许直接在`type:wait`中增加`data`项判定按键或点击坐标。 + +```js +[ + {"type": "wait", "data": [ + {"case": "keyboard", "keycode": 13, "action": [ + {"type": "comment", "text": "当按下回车(keycode=13)时执行此事件"}, + ]}, + {"case": "mouse", "px": [0,32], "py": [0,32], "action": [ + {"type": "comment", "text": "当点击地图左上角时执行此事件"}, + ]}, + ]}, +] +``` + +![](img/events/52.png) + +`data`是一个数组,每一项中,case只能为`keyboard`和`mouse`二选一,分别对应键盘和鼠标(即`type=0`和`type=1`)。 + +如果是键盘,则可以指定`keycode`为键盘的按键内容;否则指定`px`和`py`为点击的像素区间。 + +action为如果满足该条件时应该执行的事件列表。 + + + ### waitAsync:等待所有异步事件执行完毕 上面有很多很多的异步事件(也就是执行时不等待执行完毕)。 @@ -1789,6 +2002,290 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。 该事件会进行等待,直到所有可能的异步事件(异步动画除外)执行完毕。 +### previewUI:UI绘制并预览 + +此项可在地图编辑器中预览UI界面的绘制效果。 + +在编辑器中将会把此项包含的所有UI绘制事件进行绘制从而可以进行预览。 + +值得注意的是,在游戏中,UI绘制事件都是绘制在uievent层上的。 + +### clearMap:清除画布 + +UI绘制事件。 + +`{"type": "clearMap"}`可以清除`uievent`画布的内容。 + +```js +[ + {"type": "clearMap", "x": 0, "y": 0, "width": "flag:width", "height": 416}, // 清除画布的一部分 + {"type": "clearMap"}, // 清空并删除画布 +] +``` + +x, y, width, height均可选,表示要清除的坐标和长宽。也可以使用`flag:xxx`。 + +如果存在某一项不填则会清空全部画布并删除。 + +### setAttribute:设置画布属性 + +UI绘制事件。 + +此项可以设置`uievent`画布的各项属性。 + +```js +[ + {"type": "setAttribute", "font": "17px Verdana", "fillStyle": [255,0,0,1]}, +] +``` + +可以选择性的设置如下几项内容: +- `font`:字体,必须是`[italic] [bold] 14px Verdana`这种形式 +- `fillStyle`:填充样式,必须是三元组RGB或四元组RGBA +- `strokeStyle`:边框样式,必须是三元组RGB或者四元组RGBA +- `lineWidth`:线宽度,必须是正整数 +- `alpha`:不透明度,必须是0到1之间的浮点数 +- `align`:对齐方式,只能是`left`, `center`, `right`,分别代表左对齐,居中和右对齐 +- `baseline`:基准线,只能是`top`, `middle`, `alphabetic`, `bottom`,分别代表顶部,居中,标准值和底部。 +- `z`:画布的z值,必须是正整数。初始创建时画布的z值是135。请注意,闪烁光标所在画布的z值永远比该画布大1。 + +### fillText:绘制文本 + +UI绘制事件。 + +此项可以绘制一行文本。 + +```js +[ + {"type": "fillText", "text":"要绘制的文本", "x": 10, "y": 20, "maxWidth": 50} +] +``` + +text必填,为要绘制的文本,支持`${}`的写法,不支持一切转义字符或换行符。 + +x和y必填,为要绘制的左上角坐标。请使用`setAttribute`来设置绘制的对齐方式和基准线。 + +style可选,如果设置需要是三元组RGB或四元组RBGA,代表绘制样式。 + +font可选,如果设置则是要绘制的字体。 + +maxWidth可选,如果设置且不为0,则代表要绘制的最大宽度;超过此宽度会自动放缩。 + +### fillBoldText:绘制描边文本 + +UI绘制事件。 + +此项可以绘制一行描边文本。 + +```js +[ + {"type": "fillText", "text":"要绘制的描边文本", "x": 10, "y": 20, "style": [255,0,0,1]} +] +``` + +text必填,为要绘制的文本,支持`${}`的写法,不支持一切转义字符或换行符。 + +x和y必填,为要绘制的左上角坐标。请使用`setAttribute`来设置绘制的对齐方式和基准线。 + +style可选,如果设置需要是三元组RGB或四元组RBGA,代表绘制样式。 + +font可选,如果设置则是要绘制的字体。 + +### drawTextContent:绘制多行文本 + +UI绘制事件。 + +此项可以绘制多行文本。 + +```js +[ + {"type": "drawTextContent", "text":"要绘制的多行文本", "left": 10, "top": 20, "maxWidth": 100} +] +``` + +text必填,为要绘制的文本,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),但不支持支持\t和\b的语法。 + +left和top必填,为要绘制的起始像素坐标。实际绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。 + +maxWidth可选,为单行最大宽度,超过此宽度将自动换行,不设置不会自动换行。 + +color可选,表示绘制时的颜色,为三元组RGB或四元组RGBA。如果不设置则使用剧情文本设置中的正文颜色。 + +bold可选,是否粗体。如果不设置默认为false。 + +align可选,文字对齐方式,仅在maxWidth设置时有效,默认为'left'。 + +fontSize可选,为字体大小,如果不设置则使用剧情文本设置中的正文字体大小。 + +lineHeight可选,绘制的行距值,如果不设置则使用fontSize*1.3(即1.3倍行距)。 + +此项不支持字体样式的设置,使用的是全塔属性中的全局字体;如有需要请使用“设置全局属性”事件来设置字体样式。 + +### fillRect:绘制矩形 + +UI绘制事件。此项可以绘制一个矩形。 + +```js +[ + {"type": "fillRect", "x": 100, "y": 100, "width": 120, "height": 120, "style": [255,0,0,1]} +] +``` + +x, y, width, height必填,为要绘制的起点坐标和宽高;也可以用`flag:xxx`。 + +color可选,表示绘制时的颜色,为三元组RGB或四元组RGBA。 + +### strokeRect:绘制矩形边框 + +UI绘制事件。此项可以绘制一个矩形边框。 + +```js +[ + {"type": "strokeRect", "x": 100, "y": 100, "width": 120, "height": 120, "style": [255,0,0,1], "lineWidth": 4} +] +``` + +x, y, width, height必填,为要绘制的起点坐标和宽高;也可以用`flag:xxx`。 + +style可选,表示绘制时的颜色,为三元组RGB或四元组RGBA。 + +lineWidth可选,表示边框的线宽。 + +### drawLine:绘制线段 + +UI绘制事件。此事件可以绘制一个函数。 + +```js +[ + {"type": "drawLine", "x1": 0, "y1": 0, "x2": "flag:x", "y2": 200, "style": [255,0,0,1]} +] +``` + +x1, y1, x2, x2必填,为要绘制的起点和终点坐标;也可以用`flag:xxx`的写法。 + +style可选,表示绘制时的颜色,为三元组RGB或四元组RGBA。 + +lineWidth可选,表示边框的线宽。 + +### drawArrow:绘制箭头 + +UI绘制事件。此事件可以绘制一个箭头。 + +参数和写法与`drawLine`完全一致,只不过是会多画一个箭头标记。 + +### fillPolygon:绘制多边形 + +UI绘制事件。此事件可以绘制一个多边形。 + +```js +[ + {"type": "fillPolygon", "nodes": [[0,0],[0,100],[100,0]], "style": [255,0,0,1]} +] +``` + +nodes必填,为一个二维数组,其中每一项都是多边形一个顶点坐标。(与显示/隐藏事件写法相同) + +style可选,表示绘制时的颜色,为三元组RGB或四元组RGBA。 + +### strokePolygon:绘制多边形边框 + +UI绘制事件。此事件可以绘制一个多边形边框。 + +参数列表和`fillPolygon`基本相同,不过多了一个`lineWidth`表示的绘制线宽。 + +### fillCircle:绘制圆 + +UI绘制事件。此项可以绘制一个圆。 + +```js +[ + {"type": "fillCircle", "x": 100, "y": 100, "r": 10, "style": [255,0,0,1]} +] +``` + +x, y, r必填,为要绘制的圆心和半径;也可以用`flag:xxx`。 + +color可选,表示绘制时的颜色,为三元组RGB或四元组RGBA。 + +### strokeCircle:绘制圆边框 + +UI绘制事件。此项可以绘制一个圆边框。 + +参数列表和`fillCircle`基本相同,不过多了一个`lineWidth`表示的绘制线宽。 + +### drawImage:绘制图片 + +UI绘制事件。此事件可以绘制一个图片。 + +```js +[ + {"type": "drawImage", "image": "bg.jpg", "x": 0, "y": 0}, // 在(0,0)绘制bg.jpg + {"type": "drawImage", "image": "bg.jpg", "x": 0, "y": 0, "w": 100, "h": 100}, // 在(0,0)绘制bg.jpg,且放缩到100x100 + // 裁剪并放缩图片 + {"type": "drawImage", "image": "bg.jpg", "x": 0, "y": 0, "w": 100, "h": 100, "x1": 0, "y1": 0, "w1": 100, "h1": 100} +] +``` + +image必填,为图片名。图片必须在全塔属性中被注册过。 + +此函数有三种写法: + +- 只写x和y:表示要绘制到的位置。 +- 写x, y, w, h:表示要绘制到的位置,且将图片放缩到指定宽高。 +- 写x, y, w, h, x1, y1, w1, h1:从原始图片上裁剪[x,y,w,h]的图片,并绘制画布上的[x1,y1,w1,h1] + +可以查看下面的文档以了解各项参数的信息: +http://www.w3school.com.cn/html5/canvas_drawimage.asp + +### drawIcon:绘制图标 + +UI绘制事件。此事件可以绘制一个图标。 + +```js +[ + {"type": "drawIcon", "id": "yellowKey", "x": 100, "y": 100}, // 在(100,100)绘制黄钥匙 +] +``` + +id必填,为要绘制的图标ID。可以是一个注册过的图标ID,也可以使用状态栏的图标ID,例如lv, hp, up, save, settings等。 + +x, y必填,为要绘制的左上角坐标。width和height可选,如果设置则会将图标放缩成对应的宽高。 + +### drawBackground:绘制背景图 + +UI绘制事件。此事件可以绘制一个背景图。 + +```js +[ + {"type": "drawBackground", "background": "winskin.png", "x": 0, "y": 0, "width": 100, "height": 100}, +] +``` + +background必填,为要绘制的背景图内容。其可以是一个三元组RGB或四元组RGBA(纯色绘制),或一个WindowSkin的图片名。 + +x, y, width, height必填,分别为要绘制的起点坐标和长宽。 + +可以使用“设置画布属性”来设置不透明度和纯色绘制时的边框颜色。 + +### drawSelector:绘制闪烁光标 + +UI绘制事件。此事件可以绘制闪烁光标。 + +```js +[ + {"type": "drawSelector", "image": "winskin.png", "x": 0, "y": 0, "width": 100, "height": 100, "clear": true}, + {"type": "drawSelector"} // 清除闪烁光标 +] +``` + +image为要绘制的WindowSkin图片名;如果不填则视为“清除闪烁光标”。 + +x, y, width, height分别为要绘制的起点坐标和长宽。clear可选,如果为true则在绘制前清空已有光标。 + +请注意,同时只会有一个闪烁光标存在,如果创建多个则后者会替换前者。 + +闪烁光标将会一直存在即使事件流结束;请使用本事件并不填`image`来清除闪烁光标。 + ### function: 自定义JS脚本 上述给出了这么多事件,但有时候往往不能满足需求,这时候就需要执行自定义脚本了。 @@ -1825,11 +2322,31 @@ core.insertAction([ !> 从V2.5.3开始,提供了一个"不自动执行下一个事件"的选项(`"async": true`)。如果设置了此项,那么在该部分代码执行完毕后,不会立刻执行下一个事件。你需要在脚本中手动调用`core.events.doAction()`来执行下一个事件。可以通过此项来实现一些异步的代码,即在异步函数的回调中再执行下一个事件。使用此选项请谨慎,最好向开发者寻求咨询。 +## 自动事件 + +从V2.6.4开始,提供了自动事件。每个点都可以绑定若干个自动事件,其类似于RM的事件页。 + +自动事件可以设置一个触发条件,当满足此条件时将自动执行。 + +![](img/autoEvent.png) + +自动事件可以设置如下几项内容: + +- 条件:当满足此条件时将自动执行 +- 优先级:当多个自动事件的条件同时满足时,将按照优先级从大到小执行;相同优先级的按照楼层和坐标排序。 +- 仅在本层检测:是否仅在本层检测该条件。 +- 事件流中延迟执行:如果此项为true,则若满足条件时正在事件流的处理中,则将该自动事件延迟到事件流结束时执行。 +- 允许多次执行:如果此项为true,则该自动事件允许被多次触发;否则只会被触发一次。值得注意的是,即使允许多次触发,也不允许在正在执行本自动事件时再触发。(即在执行本自动事件时将暂时禁用自身,直到执行完毕为止) + +自动事件的检测时机为刷新状态栏,即每次刷新状态栏时都会进行检测。 + +可以给自动事件加上【转变图块】,从而达到类似RM的多事件页并转变图块的效果 + ## 独立开关 从V2.5.3开始,针对每个事件都提供了独立开关。 -独立开关的写法是`switch:A`, `switch:A`直到`switch:Z`,共计26个;不过样板中的值块默认只提供前6个。 +独立开关的写法是`switch:A`, `switch:A`直到`switch:Z`,共计26个。 独立开关算是特殊的flag,它在事件中使用时会和事件的楼层及坐标进行绑定;换句话说每个事件对应的`switch:A`都是不同的。 @@ -1840,6 +2357,8 @@ core.insertAction([ 通过独立开关的方式,我们无需对某些NPC的对话都设立单独的互不重复flag,只需要关注该事件自身的逻辑即可。 +![](img/events/53.jpg) + ## 同一个点的多事件处理 我们可以发现,就目前而且,每个点的事件是和该点进行绑定,并以该点坐标作为唯一索引来查询。 @@ -1884,6 +2403,8 @@ core.insertAction([ } ``` +![](img/events/54.jpg) + ### 获得圣水后变成墙 这个例子要求获得圣水时不前进(也就是不能走到圣水地方),然后把圣水位置变成墙。 @@ -1911,6 +2432,8 @@ core.insertAction([ } ``` +![](img/events/55.jpg) + 总之,记住如下两点: - 可以使用setBlock来更改一个图块。 @@ -2092,11 +2615,13 @@ if (core.flags.enableAddPoint && point > 0) { ] ``` +![](img/events/56.jpg) + `id`, `textInList`, `mustEnable`和上述完全相同。 `commonEvent`为公共事件名,即选择此项时要执行的公共事件。 -`args`为向该公共事件传递的参数,参见[type:insert](#insert:插入公共事件或另一个地点的事件并执行)的说明。 +`args`可选,为向该公共事件传递的参数,参见[type:insert](#insert:插入公共事件或另一个地点的事件并执行)的说明。 ## 系统引发的自定义事件 @@ -2134,6 +2659,8 @@ if (core.flags.enableAddPoint && point > 0) { }, ``` +![](img/events/60.jpg) + !> 多个机关门请分别设置开门变量如door1, door2等等。请勿存在两个机关门用相同的变量! 除此以外,每层楼还提供了`firstArrive`和`eachArrive`事件,分别为首次到达该楼层和每次到达该楼层时执行的事件。 @@ -2197,43 +2724,6 @@ if (core.flags.enableAddPoint && point > 0) { } ``` -## 怪物数据的动态修改 - -有时候我们可能还需要在游戏过程中动态修改怪物数据,例如50层魔塔的封印魔王,或者根据难度分歧来调整最终Boss的属性数据。 - -而在我们的存档中,是不会对怪物数据进行存储的,只会存各个变量和Flag,因此我们需要在读档后根据变量或Flag来调整怪物数据。 - -我们可以在脚本编辑中的`updateEnemys`进行处理。 - -``` js -"updateEnemys" : function () { - // 更新怪物数据,可以在这里对怪物属性和数据进行动态更新,详见文档——事件——怪物数据的动态修改 - // 比如下面这个例子,如果flag:xxx为真,则将绿头怪的攻击设为100,红头怪的金币设为20 - // 推荐写变化后的具体数值,以免多次变化导致冲突 - /* - // 如果flag:xxx为真;你也可以写其他判断语句比如core.hasItem(...)等等 - if (core.hasFlag('xxx')) { - core.material.enemys.greenSlime.atk = 100; - core.material.enemys.redSlime.money = 20; - } - */ - // 别忘了在事件中调用“更新怪物数据”事件! -} -``` - -当我们获得一个道具(或者触发某个事件等)后,需要在事件中调用“更新怪物数据”事件。 - -``` js -// 调用`updateEnemys`(更新怪物数据)事件就可以触发了 -[ - "将flag:xxx置为真,就可以让怪物数据发生改变!", - {"type": "setValue", "name": "flag:xxx", "value": "true"}, // 将flag:xxx置为真 - {"type": "updateEnemys"} // 更新怪物数据;此时绿头怪攻击就会变成100了 -] -``` - -事实上,除了动态修改怪物属性外,也可以在这里动态修改道具的类型、使用效果等等。都是一样的。 - ## 战前剧情 有时候光战后事件`afterBattle`是不够的,我们可能还需要战前剧情,例如Boss战之前和Boss进行一段对话。 @@ -2253,6 +2743,8 @@ if (core.flags.enableAddPoint && point > 0) { } ``` +![](img/events/57.jpg) + 另外,从V2.6开始,脚本编辑中提供了战前事件`beforeBattle`,这里不再详细展开,如有需求可自行前往研究。 ## 经验升级(进阶/境界塔) @@ -2282,6 +2774,8 @@ if (core.flags.enableAddPoint && point > 0) { ] ``` +![](img/events/58.jpg) + `levelUp`是一个数组,里面分别定义了每个等级的信息。里面每一项有三个参数`need`, `title`, `effect` - `need` 该等级所需要的经验值,可以是个表达式。请确保数组中的need依次递增。 - `title` 该等级的名称,比如“佣兵下级”等。该项可以忽略,以使用系统默认的等级。该项将显示在状态栏中。 @@ -2335,6 +2829,8 @@ if (core.flags.enableAddPoint && point > 0) { ] ``` +![](img/events/59.jpg) + ========================================================================================== [继续阅读下一章:个性化](personalization) diff --git a/_docs/img/autoEvent.png b/_docs/img/autoEvent.png new file mode 100644 index 0000000000000000000000000000000000000000..06dd923e4c38a90d03b06fb6e3cd257a5aa7d586 GIT binary patch literal 54794 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/1.jpg b/_docs/img/events/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6cc44ab50fffcc91c07ec5f048983e90966e9fd6 GIT binary patch literal 21486 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/10.jpg b/_docs/img/events/10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e7166a6c6b943cb36743be02649aab2cba23613 GIT binary patch literal 34521 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 t_jAUcAf9nUf#2tvTA++eXF%~e(wqh5|R4y>04 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/11.jpg b/_docs/img/events/11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6f3aa1b94b2954afdc71ac2c8264507dcfff237 GIT binary patch literal 16584 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

3abzXs%3( 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

Up7U|3q|)ep~>-a>hjVR$`-jJ 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 JAd~<9O#p0*opt~K literal 0 HcmV?d00001 diff --git a/_docs/img/events/15.jpg b/_docs/img/events/15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..14aa4cd2970f817e7c65b8757c0bc4c12fea35a7 GIT binary patch literal 49924 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

A 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/16.jpg b/_docs/img/events/16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e77816fb0b3cf424c7b61f425d08d7ecba1966c GIT binary patch literal 13989 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⁡H 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/17.jpg b/_docs/img/events/17.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8e94528108b2c294469253a7a631d4ef730d7c4 GIT binary patch literal 13587 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 COpc%c literal 0 HcmV?d00001 diff --git a/_docs/img/events/19.jpg b/_docs/img/events/19.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e250b7bde7d89d99a9c15ec19511b50fb48645d5 GIT binary patch literal 39904 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 Gz5fH9(%vlq literal 0 HcmV?d00001 diff --git a/_docs/img/events/2.jpg b/_docs/img/events/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e2461d346fe2a2b92116604b8755d1f2abfe244d GIT binary patch literal 48809 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/20.jpg b/_docs/img/events/20.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c616d9eef700fcf3209b561e75beeb2fe858b22 GIT binary patch literal 51730 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/21.jpg b/_docs/img/events/21.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6cccb422acc37de33e5a585a4cb5ce6724aa2f20 GIT binary patch literal 19922 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/23.jpg b/_docs/img/events/23.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5cad5714b76f14b349a9cf1aea27d10f60e33fd2 GIT binary patch literal 15710 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�I+n1h}_KH9q!tDI%euzHv4Ao8;1t(uO-6G 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


^gKW zobhVOSnWgy2PLZf9x=0+2wRJ;_!sNCzV~-mdvP4=P;HE(q-*xXyPtO*@8?$LicyF> z*MBzK^L=V4);;~Rv%Tkk{bmP6D`u;X7Fo~y15DM01E}k7zDzmsM~y?Uol?agfZ2c4 z{C5>v%I=Svzp4KJM4A2$P5k4UANDy*IRF3v literal 0 HcmV?d00001 diff --git a/_docs/img/events/24.jpg b/_docs/img/events/24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2852e509192a4974b61c067733c95f1f0baf1f69 GIT binary patch literal 16546 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 YJ+MOL|MP+__3%I7hySgzh}|##587q?s{jB1 literal 0 HcmV?d00001 diff --git a/_docs/img/events/25.jpg b/_docs/img/events/25.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d5492386ca06b3ded55c387eb76978c580578a12 GIT binary patch literal 29341 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⁣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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/27.jpg b/_docs/img/events/27.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c5b3a2543a6866f20ecccf6421aded69b178170 GIT binary patch literal 26316 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 aewc4vuFiIZ`I&8W#d*KMAF2Lx{C@yzC_9k= literal 0 HcmV?d00001 diff --git a/_docs/img/events/28.jpg b/_docs/img/events/28.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f6c6a194de8042bac43e90b5c7200b9fcb5a645 GIT binary patch literal 27975 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/29.jpg b/_docs/img/events/29.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a04439c151a941f0b6f0fd5e778b1690f75d1816 GIT binary patch literal 23897 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/3.jpg b/_docs/img/events/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5aff14bc555bc3bd83deb214499c60a2cfb3ff9 GIT binary patch literal 42186 zcmeFYcT|&I(>EG=2dUB}K!nhgDqT7xNDH9{1OX*L=v73jC>=uR9SJ=&=^)appoHG5 zARvkqQ9(T1xA*g`^*--+&UfDL{ClqavDdZs-m_prB-;rK7%for#t8Iui>EI~V8%I|m;p z3k#1358q7zun?H-hUjfk!P_7~u;5=r2*}9DD9I@qDJdBR*;&{H|HseoE&x3_0X<&tIDdky5%FD0TJ(0Zr_4fjRnuy>^Fd}-uT|iR^^8NzJi01A` z(^jfj7Wom0g<4aszAZl!HKpEY{szv35B)R410{GYT>w+t=}%L$0~*D3i8RzPeA9!| zY5_Kn?qE6e=dnE;T6yy(ysNFf2f|z<*9+91Mi!=KK6qPOL`nAf?WgY$nI;D-tYw* z;!DF7BhmV|DVT94rt=7kD93GLSm~?y%B-HqfYoi)N$2~=e@3THSV?GyO8xVe_@{H%nrWCD zFgd`{yuhF=uV~jET*$YH^)coT`0vy2C9l!^Gvehx6U;RKf0Bs_|643c_kTq!Z7%_r zQ)JW=Ntd+ZAIT2M;Y{nkTqyho;8%VFoK}ydYiGOrD@{{FjWn6Z31b8cC{gu%=;%*H4E%N+_TpzdKRGz0z&N9OwO43H#%3|Ku3NRmYM9LJA%T86=EF~ z6m_B|MfkPoLyeta4UtG?L!CW^a_?rt9hz6jt<7{GOfIYKgY1B~uJ8i8XCF>S4TGVs z3QI~}391m(bPZG9^kx*58A9Z86SGL~jlb65&dmj*f~@p`4WcNVppB1U9Ep8<=d=2K zRMTcWPS6`f3FZ;z@(6O_M}G?2h!L*zT=lJQn)h^~q!5Ba0C^D$&Jn51yE8MBF{mjp zE&n>iu$yc~cnn~qsUPjsa?d53ov-@NB~Na=7JliPQ~4`V$@Rv!sq{08yXBCDLL;ef z1e$*@FWUeXt&xXo5!TI;HFcN}XfgpH0P2)^6((b;Ik5^I!_Z6G-vHCXx6f}fhPArl zu*peG;#o0}Pu)E+Czc*k>69!SMqM^C0`1bKykw6{bVf4McoBP-!?@6R9@Np zs=@>xGHsnqGGh>~F5qP5N5K?r+8-0G?DdZb`;qt<8(gnm2|a7;sP6Yx)j`~W!F@_) z*_3)RH-}gz^q%}R^m6Yon|aK|l96UwlyxdO+&C}ub4kDvNrUnIzvli1v~>o&_B$c_ zHT8~Lr8>rrchoCxB=;%f5K0Mdj8C7|Q@XOZ$H-D{Ptp2kvKt8un7EWr%&OZlANOe+ zB5^Z0YNk3+44PmN5hR=oFuG?^x3q#3lO{O@s`KpbBW^B!=$>5nTzX`tR#;b_sXR;i z<~QJZ$WN=)1CC3rCicNMhhKgJbc24q3>li~y-#-i0(oW6!Wkq?Mk-83npc`+y3&T> z|LH5)mhkMZ#r+29fXlbm6I_V5Im)Tc(Ih<7p}qnI`o9c}Yb%ugYyj`xJKtya;d7E~ zpj)EN*P0fGNA#b(EMuGx%lmmE{osTC5WC2(qj#~2i+Z^Hinmclv0&UI56q6M&zNz5 z&ApOr)WAIQ8$$lRr+BVqj=onhnm*!7_3`%w{;wi!4`udokz@=hrG=F8gaZolDT}(e z95aSRN`BL|VPEms1=IWFvu|1X;{~|iW=&9f88wEE#yY+RGKjM^;l}ppdy}mpDB=?~ zEe1Wyv8-jk_3t7$9Cf+K(Lga+j}JO z*yVF31p@XIYHzAqf&%DW>wCdH`ng~okOhyA0#YhfZk``!tG{uz>1bMMTY7=hdY zwTP@-DJ4HvcW_!hQT4uYzlb=L45oQi;S`K;)LVGb`aHf(wRIt)kLWwGBu3&5DpTICBj#$(B94 zH@@8T@@DLfn5@p0)}`sP^!X$BZPlL@LqofD%&P;ja`8C7oqL~Q-2sI-&7NAdM&zK1 z|0K+3>tK!|VBFiEV>oF7LeS8pGM!UwFJMR}@C7G7fGHX!5d_ex$#8dDB(m8|K5eJa zOOLQC<^ka)n8+}Gi{55IWDHi!$e8C?V7e7b5O%$8h_%x4Rw+{w`&UX>JLh2m`BvH5 zxv<=tjQP_Y5eP~cYS&R$Uc1f2SVy72XnM)Jq44PaQT9V9w{IU4NO09l9G<}5F79-1 zmT55ty^loJ=h%UTMutzp@|6Rua~G#nCA#d$64jC9>sx|C!IA=g}V$ zB4CfXm+Wz{?;+8^1yR8lBm70sT!!oX#FgsN^E^Ds$>H8D<>CSDDa<0R-nl%$W)6tg z-3J4-AqsCQm4sb)hlgwZgDE4r4s)hH)bwysCaA|8z2G*E#Y;ej0DhFl(v>kHpY&6M z80?fAfui6+gWIKS#PmjwY&bG|4^dy_fNpg_H}G`4jVgfJeTo48ddcmpX2Ps{^Yxh) zciFGL+xVPRdw_sIThoAO$kug^h}$<(x_1)^5q>Max{lSh2De5bazk=lFR_A~!#0e4 ziCyOxhvmKg&^wP$ILszUxPeCa85{D6C{1J2GnuA~hUBEGl$_~@XYP$U zEmp>q?+82;h0`{YderjFp$VAWC<2ae+^Kh?zL=Hv8~Fksv*b8i`NoHwVP%GoLVBKH+DMd`4n>!>J6m zSZ|t8yPRWx>8v|?RkCpG&-u=#H72O(?*Lf^ zP<5+1u%!nrM=$k*oB2C70{4A?iSefl6YqGw2|-!X`>A{Og5UI*lW`7OjEsoy@i^~y zitk~o1{yR2o7Y!Q+E$7po;i$o;5X7MRKnS ze%AIZo2>TYTQ2H#qwsA$+ws25n9#~vZRCE)Frrb3(R{s7(yeB&1iAE`9iY+**`GU` z>1SzHdAJ8_nt2uqD^MkCFxBoB6xtYl$XEtCEE3O++HR2RFmQe#nQ+s}O^_&(XDh|R zx*ldX?goum$i6ZHbG7iWxvdCmDWFKbN{8-K7kuth#iFv$-ZxNc8c9@0Q;Nk}W1l|9 zaf#ODoM6$y4B*`QU2BKNQ#9>&0AtExOm&`2T&dy4fg3Y6-QsS(4rB(Wv8g4GZ~7ij z@p`xg7foBCD<-jl2$W-wQbaQV0Dcd0!Ebc^NYLB7qw7Nni&!mG@!Lb4!foh4yuyy4 zvXMdxzCyB4i7rM1+@IPuxr-Wysi-db0O&qgFLn0&evC#47?HAvzZ^ua-5H0QLiLM0 z?kp4{#47Up#Fn{SLHc*c1tGhgo>s^nqfaz3x?=+go9_gHC3rZNyGtmy&kd5}sX zgL@Ipva-PoA}|^-J&Hm@1jqo6=4E4A#%8P&)!-M4n#dVU&3WmUT|~pvy6BeyQ@;Us zPDv>5&`7Xxvw_F`og4_0_lEbapIAohO8gqe$z_|geyd-w5LT~*p&2NQ?O6dNzX9x! zzQgPnn@~pz6fHPFMT_#bXSkO);#B!%yjh-yv7%MPF6`Iv%l;PSlv_(#lL2nT?nMi} zu7z%LXlP279q%&zHhdw&l~6u1RMU~uO}g@wAUU9s4DWcJq8)1(eDi**wCnoN7^F3A zRn0VXF{Y=@fj`+`_F>E?!SO*gNu~qWs9*J${muAaa$JE>DN^Q?=qJu_WTRqkAg;umW3pTML@OIg&s9aR zkmPLqGfD^Mym!UCTJs{$&Cg6s8=La!x~h602#_bCtu4_}MHfY- zh7i>j1uYArUq=s(r-I~4mpm&U=g%>{`y;s1S2sGW?%Bg0L6LX{7j8Oy8f++!pcqo;A-_C=_U*^vyg4NlV+w$kwn*S*A z-$01s8A-p;_1LfP!e%(x$0-SGWlq0X=QeiV(?$2{OpUISD>nS#6L7D2qrYS_yXkgy z4X2*`4<)!WYCRMky2D05E($c~`XHxNl3SZ0Q_XJOqv5f^Zri!dK>315fUTUa%-&Ie zyQFLE;*SZx{F~0Y9#ZRrE1ku{p@GmxbW?~-K0mSZQRn8oA&fH6%^nU zt8yRBPGY^Mex^y#E*pFzRu)w~$$Yvsu`zW6l73jyz)k;*Yi_)AAL;qHAzodUwM<{< zo-e{Qn%+DvTDAV6y5*=Qgu_*fae+>6-&fI1#`BFK)0@Bb@$3(l7vRcwblOS1!;nAn%*QbD%EVs9{aJZwCsDsv`y?w;YCTbjI{#%4_{5& zhg?4)bpMxv|FIHNp11SYb&?&U$_Ryu~a-;igV=Z9D0~g<- zsFyN?$EU_|ZcI|i`z19T-`^An|69VP8_@L6dQLQ!)jgBcE$6}+KGpgeW8sPsm;(Al zT*7Ni3i^{WkGiwod)+(+Dnv#l6qbJp)G@-}=~fx$tD?Q;lKq5dszC#~6`+R3UiT0Wn~!O@G_pC7`L(lS!ckAuagQ&1((vFgQATYl zD*4AW9k437b0L~++W0#RA>4kiGrP(x&6klG>BYYX$+ZD#}J6UefOg1^+(kC zyYa*k;gzV>j*GogF)t2dl%VMLgj^$bO4A&cB_{+8HF#uT-tX`BG3}GTLTr>E8joI& zEBitJUY{W)mrbBtuHRtsyxZ|ViS5h%gd!sKqcRVZO35NgUUAW;;Y~4^V(e!8JNFu9 z&qTShnO1b^-~&iJU-wsTS=X{Hfg((h0U}1)I;4XpM6l*D$J68Emq#&Yh0R~?%2y31 zdTZjJynDGl7-^{$^*&>NAjy{#Y~|-u2}&))K1O}KN`n_gnFX1R2G|F?w@z> z|7-f)f9O^0km@;(T29_%DyOCJq8~f-ster+ z=5TLVu<|yC;Kh?vf0#-O*iilmEAV)BzWd!k(eeYXREmDiZ%nB|;2Y$pSjfR|z)ww^ z{m#go-EyU_t6*Qt|2X>bRPFWC)YNlz!wS@&=*BafJOv*4^&5DDr``A8nv_$%Zzuym z^*yvSO#(C+y?yuz11a}B7lbCTt1|h0dI9fh1S&3)MA5gxK1N^sKn%Wgk~78dqzd!@ zJXB!@ndx|oJ&>%s13>MG<2vD&t+Q*atn@#e0P)h|NsR6KX0Y5`d#GYJdv`7+Tk|aj6wE5jdb-r-m9=FwV0ZJP>#J4YtuJGdL%yKTYKnuXSKl_S%q3FL*s58qtA!4hMXrEPT#_U5qZdp!7#GNRQyuqqMC?Ul3 zNt%v7t&fox8nbYnj0H8rMl4^gBH1}U)r|CWGs$Gk3}%5PRgeU%La_SU%=Ohmqs&&x z;ns$a3_2e~aUk$U32aq~-X&S8O8hEMcRm|0_M_pF*M)7$E6*X!u6fzQ&8j*zir2Bf zNRUKR2&OZ)$vpdf%PJY=m>n_9n#J`2v&FPKn7UUn{x`}}$iJnBN%OxZuxFU}Y%NO_ z62@UuOXP{n!SYe!TXB99FYH zW~4XN8D_qOcg}q%r_z>U`bOVunaqAh(XKcUNL|MKlEMl}<>8*{DxN%VqV%`W|4gr_ zR9Ky2bkjxk7uO#lw7zo|ETrto&Q0T5aMmqGhOt>jyyA9HF5~0~c<>*vUh0oHU7HXj z`(ru{6|%b0p?h30CzXk`3UY?m`mv2o1^6kf0tQLB%*Q3~eo%aI1J!E%U4oxX18!vk zauZ!^^!CBxaqQv=FZZ2y=kGre3(58VIyfFC_4xm?3@}~M1Xi-#w|WRa~qx0 z2WaKW4aaenPC0rESWiMia@?~b>A-`ug1eoFALuEd8}myrj&m|d|g zIuoO=|BXiAynwbxau(;6+Kb+PcU{}z6}uM{p2h*OA}*EPenjH%$PtyWSM%TK8JnzK zH_d#!HIUu#h_`KGu^U?kd|C^GJ>39n);vdl*nToh{VoB&h-&KD5vkgpPQg?iwCo}2 zp1nJ+ek%K8V%_^x^LL?fsVz#yn>TLwyue!&9ljlry#dU2>ngidhz| z=jk^G(@`00*X%U|WcD?xn&5DlVX%VXhDPvo)fYAQoaI4O)BrKBhs= zjsFtu-*0?+fF9-SvpRK~pMC@y!Cfp4@%n@>y<4PSl}E^i)rys!niW)^)swKsT&GwsxQ z7-nD{b^CFa=Kq2bz~;wc{f@L7vBKzPZoB^Inl%A7RLK3k8B#yYPfmzfA zyo3}05Pv(Ht(NfQU7B=Mx6C1?GbF9Z`^TmcIq>Hu<=r^zJ)awARYDIW2Zo7sFNg1H zzWa5RuF$Dmet38O!)KbjRd9PmM=7VjrOHuL7gwt5*YV+9?KSBWkJCbSBYhnfA)z+e z@gW`V>v7*OS#^Zu#6HrKYy%-}pRe+BRabeG|M$5Jf*+Ls+|$dOYw-1NoSc~-2Yd?M zj|_n*os)!!n_}XUBuInya6Na6^L~ZD$*44b92mX*NK32Aw?E)bO^Eal9+_-cXG&np zCv=_*uy>Tefivm0giO~yVsju?=84~YpyL_KHI^m-(d=o$>7&*qHZLNBV)BEVf?FSL zo@#raNcPNUlTwJ$viSg= z0m|%qwIxWl+g>eWWab&jD(Pho{hX$~X%63YRQJlT-2*t&U7#)~m{9+=kV67%jD;CU zAM`emKPPT#h4U8;$6QFRgc6P0GeOzvuJME0Pm~`4^}V{((%_7hdvPa2B?*T+qV#W+ zfcnbl+V^(ycqQBFmcz8CSs5RKh?S;(d;^Zk$WU%*s(_q>HgZ-; zP<7ydK*5x!vdVnv%1O)G0o$>H^?zk59Kce01)-d}HEp9~d>QL7m?6Q>@;zE)CDkNI zJQi4V@QOJ30}sHD?Kj}qIg2>Z?^NQv+=W6t#yc(CG;+;7-`(b&wOc%^bgkqpZ^zUd zQeP4}X9}>HoixfN3K)gwG>);k!?Tf$Xk8Ic0fK~Y@qflyu(8S=R4&`8S8$!Izt!C!ttdl< zm}yh7|B)-58Dc6|_7rwP>|}Z!(I!WKDgY%sYMP;is($%qMvD8Sz{aomB@(M4Kf*EN zIcFTv@?|A=5kb|$6q)|ME9l<)+f3nT55N5s#HZS&Hgnd5%~+c69{M;dth_w+&vPLm z&tUY^ESLo=GI@0IkaVt7H|V=4ErPfdPX=c=AW9m^>*fpgVPU^S>w3~Uea$B>gt`vnt?0dh1o@{5h(!u}i)sZL8mbY*T>acHIZ( zp~>XLV13w#1-Mx;>I)UjOcdA~NAvS!v8fKe862ABm`WIgwEKqdJ!0y$9}!}e<=>+H zx!1{wq8|0`S>ja)Yovww^Cu^N_}Pw3J$lg_DD)sM%^*fZS4p%;@6}tZ7hSpnZZ@JJy;ptK?t)MZ*hQky8wT6>t zBDn5K3RwUwkH@NdSUs`6X}W-)K@}Rx%I*OuO}_~mUbCQHjArDFg3Y8vR2tY-IZeh@ zNV|2JiMLCd2|tk?Wk>~|-mYH?4dmyk^pL#dw0C}hVlld{A@Lr>)eBm$S>M;0;vH`F zaG#jjSrj)dXw3Kk3>)EtMss~XGh-SEI82!-oeM;$lndE(S`2$qBrgRF7D(Gyd{yvd|#Z zYQw_y*b24|VYo(%F3F<;oS{q>J8l8;HVHH#tYCp^n!8N{R-D29mTbnJInQp4Q1md> zViO;F##r>{mt4Qpn3cJiW6x1cA||z|`+kq<*_oj2blM}jBGK}}Y!u89$lm(+_lQmkNAFx_s_ydB9Jg&$G3s9Tt9Zr*LMf>mI)N+ zCX)DsxZ1Xk;2VLhNOhXzR_?k+ueM+gc4CNl7D(d$7S{O2p${E@uBN5_qFMBQuAh@! z_lM697NHKE%~H4b)I4B05g)#h5QHtb;Ksg>Ey_A8YVj|IgS_5%+gnax8^guJ>6)8y zz9-;Aa*3h1(UFHzRx$P(46A{ejt#b{G=fJaDO-8P#z8r<9&*Hs)pUg)KonN`cS>Px zMCB@Y-O&>MT@){(1Hq=_Q4Ur!xAFO~wJUF^I`nDoY`WUTw8=HPL8>axT(pRnz?{#c z7W3)OYOT>kX_xRs1_CLn-nt-0l?-~ghlXR6NJ1%em|{pF8L`!Z zcayZ&4qZrLTQO}0$)jI}dPmk5$e&GCQ#UVdT5dwUG-$l=nGEm;Rq~D3C`KB;`Ec0! z!vuB~=Q_b+h((nrM2As4M@5F8}KmIBXY=?6|s9u`c|$R>ehhqwt8ZfqXtOG zh=)2k;drmQnVTbgx*ET=sMp%+zGNvTvq(-rVRScph$B=+>Ez>NXP4J>ToLb5rn}-= z6{xH}B9rTfxe8Ol)UhNxB6UH4JYh(r4`$;cW{*1R#M6p52{(=}95jvgUBlIFc0Z9S z)tE7-Nv&0tCE;TaWBulC<2Jr9!O*wpKUK?-G@?t6UQp-ZNyu2_ZWEIFPGn&^H*qkU zanR;P19UPg}6!dtwG0V1BrGhH;h79o1p`)!*Qdsm6@5ujTSFYBV6KPp$%ydFE4`}n>< zMM|rY+VKV0Rc2~A^VX1O@;ZgF9<7IwuMLaI)+fp+S}zitXUYW5of`F)h02@w1!px2 z<1*w<544t6M&T5@r2MP;^O97NLf*Awq-8j$z91zopI@Z%h95HLEXU==&b@dE1~&2s zd^sQY{dJ!~yM_#j_OA+e+FA=|@4vAuhGY`xi330Oi)vXxw|DsMq*mx3tOt+2D)M?dVHLFpxS<88}rc{|2nx?{Ti{Aujp23*m`kZuu6|1e(RDK$rMG0d96Yn#Em3m6VI_ zMS`hxYk+$3f~Gong=dd7hRHDw*bm3!Uh8rSalX>h9~oZ)Q-|i8lWUHPLrHbI-?>fq zS>eyen(+8iPD7}rdIWL)eT3QID38a(P4Nb&2k@lGgGjJB_uertB9n)LR>y}n>y*=& zz$FL6mu9K%I1W|g0yuyEHf0eHiQ3B!T*vWaA-Y+$+E0ZV@LxQ9n^$hCx?qMt9a|(k zIcAT(M+J?6>!qGiGo%ek?=2#8l@h$T-_Or63x0v|n~Tv%VX=qx$+=*o;VOK2dgCWz zQTcu0sR>`oZZ;jBwbL5;^rbH?Q)PN1S-%0GXJs`I)BUb4Hfi9TB)elNBDkUHBZ#;| zu|OCWKm8t9f+)rb>(&$Ea{=)d6raDD%?jM}Y?RqN!Ys5Er(Sb@AUZiMqiFMx<)?2U z;%%wHQ|4{F$&M4<+xkl3-RrfN={`g*9M^WEA=3kAG&)s{W6tmpPv#F<$_h& zq~47D22fryn%=)I@DrvCGTPYs4S;I*RSe^Eau;lIAIt~R#V?JmIZ}WPg`&6#f-~kQy+&P-!{Xa?+W8f2kM^Ln_(2qa`ah84Fnuio~skx0-P?L1^>eRK{xsqBD7x+-R<`^;XeQ7JMHdG^oP*G8`4fNvtohRkyxUZ$NSc@Gc zy*Gt64fAZ*$2qhQtetL3_g?TFj&VyO#80)?vtBHLD-+*s6F0y8;HV$=!QV{#pqZ39 zsWIMYpcKYMTpaSdRQcxmB7e|T?pnVo%Exs8~?N%0eCIlC`ky{*d6 z!l6L7Hx5lLd*fJ9Lo_roP_|rLjGHvF2-L<$4*e0W>)8-mWpCKEpRj=Xm!T*k@^^K< zr&?St4)I7nN$T>DWJ~Lf5jNLloq9QycdTKxl@S+JG~k%_Ttj9cNqJopzbvza!OcRm zjRuO#J|W%ZR%PG3m}!OQSZCY11*8SC3PQ+g8(h{mAbqw?;R>-@t(FIqZeUoJ50*k! z2$pEMZKdvbGSoI0w74<#JiD6ivNVxXJ0fFgT${Y&;hKw_uWi~Wwx`uG>QTfNR!ff(y)Rj06Iq% zwDk+JC?R7pFB6{TQP@;kcel}G4s5z3JS5K8GeI}t^VV$t{SW0Jp@d-wD^J~&nQ)wT zfrdtUexR$U{HfH!Y*^C{ky|67$N+ZyA%CEI%kiq2x-Lv*K-Gu{VBeYP5=f-g5^kjj zEXhF96av9ei!OifF>|`he{fK`ZjE41=o#4 z%3GlE)+!c26+wqbv$`fnw9wbeB{?V~R?!xm3&h@0SZ&E=&>uGM7ndO3L{K_Ff~tV!ox09SBB zqdU*Z>7~^!MQ~IO6wX9AFF@=@*VOqYBpsM4bxzZQk79aOucJHxHIl>jr10zdco7&P zb<92c_V7%hkHa6s$K+q?_-0o4462##>p)Mj0?ov@`Sx-Ntiwx zu!_2UE%}qvfnkZv3B0Lj>p5&4YGs8gD|EaMC*f*-hq@j8ptWn8dEMOyT$BLWOI&Pmo$)pq4>JdrBuSig-dZuqE?Pw zdY+$(t2}Jf#fAX_$e}Z;&b2nMm06{Y-4(fbkoc#m{kGZBn!JIVr*7xLG>;*XlspVt zo=Y@7Pl=msj34#Pz&y*TaS-L+80Wnpf~EkU`;bSQOn(~YSgmH=C$hSU^%wyov4)1Y z$4x6~(f2AomVvW2(xO^pJ*2iV4r}}eIeD)Yz!l}6NYDN&`$ByJ{GeX$2f3o9Mmnf2 z&%Gfw?5!pHy0<$}^fRC(B^9mn^b%uSUM^la4w5Q_Qe;V^o93sQX>`7DM z7};D1EeX*4G+aVB&dN3O4n^%^%JT}86E#+MsKxf$qJTNuV2uI3kVXkgDL^!Jzsk^ zl>3v{Eg_!UcYb7Z99SZu{4Aia{L{H2h@k!Z-%v5nHx~Ah$P||g6q51Qjuum-;q$zo z>6mGPw3!Qk0~`}XN2xCQ%Pk!QsdLtBO?|}mi;raIt_ukkwf{#s^Zz!;S29_S)Gx?M zl6Xv6ahSL(@W!@gTWG@O*8b|)Q=RLTz1R4A9bF@eq*T-^*^`Q&2@=G`4>R|ldwW)k zuQoT#ZZErnDO82jUJ!Flzt5@?+621Rj|>@$@~OD)Kmce71^w;z#-Oz2zPD3U&)IZ_ zAYEN^{$}s?Rofe=iX3D|hvJSC%H5uc3Xp+e?UH55aUqttui53sb=lA~9Ek&1BNrm@ zfO)Y|?D47SMf!*}41EnN%u_}iy7tA0f5hsbX#tHX?AWCkCk-yaLidb3RoV}CK02-R zUhL*O8h=_+dEv>(^$k;ySW$ciZ{>tdII2b=w&_Dn;wYCX-y50PTJ;3{bhPZO0WBTm zf6l7AWX2JYsmA;y&7*SAtZ<#iZ*R{+m~l_}eeefaOBklOTopP@M5OducxuaL zZJ`<+S(5qu#Htc%y=YH$2C0(B|o5^j*gUIkj|99?A(`C#EnkNE%ig~HE-TE0dy1IDD1sG zHaIqUIx!cVwGM6)J~&WUF+^YA>+g#S=PJRF{))^LUn_qGcgy` zD?drnbKz-RM#pQ`f6TM(t*@X-dffw$wh=&=wsShuWwM zO)1p3A@!Ou^PA;0LoxfY2}Q+i<-)+;P(Mne#rgeG5&7nY9JA|~%Ag8_ zPb2|OQ{Zlh+q8z4&vU*s${q`$DZ|Lf@ZbREvt0^{1oeH=yBAfQ$a3~Qp{}6bBZSH8 zYZ;#8W(qlt$1L%Dtld2J-zW72lePk{-(2=3$>dXmc=j;(Dc#oc+l8N1OXTT5myZY= zcXcR8thZhHdV_lnQFY0%DitTu6N zq4xz!w?~?c7E3V6V=slCkXHNJ!u>Tb^%b2d zeSC2@ya7>c5Zi5cURB&Eaj&7Jp%Z39WQs}2$$J|@*>X5lKRs~DJS>b5JTjc}zu{B1 z2UCR+Mh{;V04U^7FqT-tc|q6K%JC157!0=?HcLG2tYY>3f(sf+(s;!b0}{#JkLo}T z;RFLKllds0wv*K|`p$H_`GEQzZg|PoU@Hz4DPLS*2N?pBktugfoyRs;;x^8?g|Z#` zpv1lvYc1=wMtOE>hH3-eQ=6{FzAHFkyKOUfO2<>?w(tcXoOU^1!>nAouEr40oclta z5AsJENN}n8YEr=xSXOVzva)@Y5I3;e;P7^DJNKAM&jpBfVV()nW-7Im9axK0jU#4o zsGy#BTq(ax+dDFHd1q{vVGL)a2xk$3J|@JGg&v@5^kRhoeaS zyt?fk$Qpv>JPYJZaQ-1TJv!yH^M<+C(%HC;q&MO>K(q2&RLXE#8OkQDG8U!WSIdrw z!q#m|*n-uU%E%S1!9ER}&}tNo{x`uD&Q3872 zbcQ7#6vK*@`!eNMBb!S5wzLV{?#-wI?_rlA!*XPv7v%@|9j7)Sp;A?=ikOdqMa9Lt zhSdzkbKARMav3Aj}hg1s-r!+XoikVc{!LTeFjcmj zId}d%6+57`+O^uxvxK5+yI|^p`kQXAgMHC`-NFdkTYfuS&!s0ka^^%uKC0mv6!VYp ziJyKh?L;?Sf0~q=NQAVME;X3u2)4oKw=N2ZLX(zzN7$iOS0}ah4_JY4YLj)|LYgr} zb_A+EDQ!_A2gX3AT3o|=UdjDh!Hq;wV{h5<+m=lKvdn&X4g#3~lF#~J`)FA1C{4Uk zn_jBjFKs$)(J5hy&2WadjZS(Aq|T@2U90q~;b7;JyZ#}z=SfxTxTSQUm|PQ6VZLA- z^&_korc$wV#cC+WaBpVaNrafBoPU&k^Oft4W|5*`GX!StrTBbm3ZFKhUjz`N z=1Np;v~Xo85}Mgcy8uPOHr}sg{IEduntWNRX7#@BSwj+I zj%zCQ>7L6%v1R8oYh2UzO^GEj!ScsbUauV(^!4?)9zO{`yu)D<5@Ugc&_QCA)$f&N zrdhiJ>+ej#8UY4NPG3uIWd?nJvIiPJc5l7ShMwv)G&It6nW*HFP$ey@F-TIQ)a)J# zhbtT>G9AyO&R!Pw9h^onk@HD2#@G(t!QNGBXxVrm6=i%=!7ZJ%LvYWK=NepsM8~~< zCZEBospTfg{$Y`?Qtq4Yk*W5s_R=fsV(&aGr$w{FdtQKejidFoz0?lnO)X=dgrVxE zne&8S*h!2yXj~O4QTL-dnn$}WU@BcBQHxts`*G3Ee^sZnzN6M85s^ngXa$4q& zKTCg;ij{f<-xOIwV{ci$*;oQXzwp#N&27Z5do+zjWjHd-MKKoCc0;cfpV2RWD!+0# zKw2rhG}AMnyV7TJiXY?C88ni}Fv?{;VM>zkBXlhFmM^Ja8~Dzl?j|8t0(>eNzQ?RIHemZKF~g&d5Qw1cfVSTvELCi%$p-1Vq^pl}u_VS~`O7u6hoPZ+ zdMv#8Jnl~tJ%S>|L`I(~RLkAaeUb*xaqtVrK74hv1-8n2UM?wm(K5y)`_kETUtXu{ zpo`2q?$N9z(baY&huK$roHrygLSvJZEHNrIY6k=@OBs1wOw6g}C=nM6B`BsU#pHo) zldUZGTn+P_W9#Qa(ay`%{vN{T;^uP^iH{t;>n)cQjr+hqp=(lUcc}CYk{7pTo2pF* z4#s+Py(4r$mPudLrivi^<@}6jNZDAc18T&Ks(nsO|y;mIJ!S07{+ZGYI* z2o?vQxMb4B;oci7TYb%oIj;tO;Qx#cO{u-HA%T{M8LDd z6Vh6fRP9&hWd_W^rvf4G5x&#%IJt2GSORGfiOp+e)w}U`wI$DuF5=DK)F-}YxclQ- z2oP@dYYTy1M9CQ9X={Ybr5|68+*Q%}4cKPBcxE4kP6IY}i8UB$1{?mzXQ2OgwT;(k z#tzi^l5m}0P2*_-3%?5Qm^`Kb#eepR`J&%4ITzXE%lS!Re;_#Uwb@qK0Zr42TwFPY z`4CTD?xytmKx!qqrBp~T^>FPjrhg4Fw)Dvn4hTxN7BqbDGn50E6T`wEduMlzT{cP3^hE5+Rmod8N z`||!h>c0V~YZPRdZSp;@QgVplQ8d8!bmJAAt9nlIAM9b-jU5|=6C{oTg(JF>#`iuj0K@ zlPif|=p%BCcO=;8UKxj*gK! zn4HqcXxt?3n>|jVerYvDdEGrHs;|tE7+0Xisn!kV;Y{-5W0RKZRMix1przuuaV)%Z zUrKWOd0$Pg^lK)`r@@v4Y6wd3m))#d-7p%%A|QpG4f{rpowKWqn#w$JG0l-nmef)< zj1=IMetE3KBqT`+Vq6(elH%9Gp( zX=pi{gk^y*+5ovAq z=BGb9O%oOj)7Kg5x{6jySm_>?c~W(g-&3o3t0PDpm;2ml5obQ(mEaN{(`N*9q#m3p zpsZ!8TJt?9(0uEtL;pr1)k%1&ifDPJD(%3lcLb??UBR5Q7FI;R;48=w^cudKwl2gw z!78(PZPgg9wxC7+-m`Ym)t)yQo9RYwjTq`jWZQk z;fZP517JneC^^FLNx;kVy5sLY`maZ?TV%!d=wR`nqdT!-69NjI%$&Lb;dM#*0AW5yvQO_&rm)PRB*pM6z~^$4mg z=BVk(1kN)#088Uw=VT0|6aYavGC;_=cSW+$A0mq51HeC{pYl~M=QGT#wH4j6v0>Wl z6Sfc*K&%Web7ji-ulO;$uTFBcBr5Icw**jM+rWZ>aw6o!_Bds<|Gf^?l7D6v9|YJW zSjZ|Xw#;r|fg#bzZ?nGvhbBP@R*bN^nA%CMx3t}EUTSA~AH+S;LiimNJ2M_L?xj{y z;Ov)xDv`qRy8NfdE+roslnKTHJAK%XUm8sXcn05-`{D28rWg}dMUw=w>V7Rmoa1*X zvz3%8_Ib1Jc2kR+sK@m8Xp)|3rX2dZPdx6OP!V8+K91qni*PTPig{_#e zAU1(C09j`_r=)8h!;X6!xS=79!Vc4BK2DFSk_SkqpzaJQzx8oeg8tl;tthl;R<&}| z2$d@<2fvu`n;cfWs@ICp`E@LkFt>zksA>Vjn55DKP~=BsGRKxy209Pa)f1D|6Sv;f zluj);-SoMD;}Q(N?H zPA0Gd3NVK1@Cz>6JZzSG2ln|E*)$=At-1$LcF0PTE4Ws(N?|>`5HWxhdirQI0=)%e z^5NVf_Wp`{DxAPBI=ytYalB^~EZNB1dV`K2Jgm`WX#cP{&65_HFKom+`!V2yNa4JN z!CilunSV^91D4)whaC{Om(1K|6`L!>KZVbwmU=xYrj}hkyK5RD%#Lc@0)t-&5BQ$% zZO3qjzQr5BUfh;K(gEqQm4!n=(+PCBu0}-;vP7r`_o&-BhE;Ikw)s0x_LdDc-F=hyD%7>{- zPAgJ+ht3IAS#vo^AIBnPVU4Uk#OYIIEh*UoOq`J*sxkM+fq(eq^524ahg{eXoRw%#e#_4F_~1!0$w#zhy}-ehfB zc*pFPEn-|CwuT(lY3ps>hyzhrNu}Ld1(b#r%@Bp`eQFp4q!M(IRXtQl?VS)W{{D_+ z#IaR`@p?YR9>1LRpjd>Ie3 zp00OElvrB{LmCD}TV`aQ8upM%rF^vfoMkeo@)JMw>-Z=f4o@byNfb(3B78X=9H-=e zsIc*J!k7HLyam@wuBh}p*6hi7zbVdpN_f1_@D4fzW&8ST3?#Y)U zbvAptH-Gt9s0l)3iMV=AN8>y8+4U!X7%d%jiS+m<#Tf5q>&A%*5MqeqLjxTQdpwL7 zHhrvupj9bcn=Eq^5s~z%C_)NmCPk!sBEFnbvp0^1_4WDbMp=$qyFIz-vq<~NjE*q( zzj_q9dKMeB_>Dv&@Duw1SK32FvULdC2@}zd)@!i#xi2NgQgqtfPj@TYWB-omc9uaV zg&h_3C50RmnVe@nW-~18c~NV=yk;X{$G(K@6>QIcl;a`DuuyIG8$kT>7>Sj_9ww9X zB;^M9Dw$Tg$e-XYnZ~}Kvz^&4jJ@jm z5gGVXMC5B!f${ubbQ#JHC0|va|DqV&4zmAgxw&}Jz>Cjihh$1` zkBniR)eug+tYc{MGU~-o&WiD*oSQZ5p-`ioC)EtMXPVOBPezrGW2Ni2xWC>Ck*abqZe93w&}5seu9pmEs2^H5#G=?TTX?w5XjN_cE#yQh? zy(WHS3V>!zLQS5B0=NK&<-Y%t!^lJ&kl}%TANK}D$<#!7S|TS*bZG`}E-41OwgX-m zr}1Kb1CF~`2?Xn%t+9D>7d=7~V>v;q%ww4sM=fj|*}AE&z!Lgisk`k=*Z^3EiP)Zh zq^!88RF>wSl2_Ibe|YGja{oO2Fojz+nZKzA2BRP@jY!#7 zc8PT_5bdXMbV8=L!X^wn?~ECv6wWYL7N<4Ae19n%f@vkXDYnL*e#R02ovQWUIUy?r zkcRjya;jR2(DXV0e{NDg`!M$8XVIs59lV9$XBclG_}2?_(%&<#FTh@`nNdVGt(XSH z*%YSy2Do*FoC}`^Jl>SQ;Bs_v%KK1Z8j114XGG{>^A!FZY;Mph)0hbCXXrrGW+Uxp z)hU)z2NG1idWN|Hc3HOg`tRxR-fa=#ky(qWe4i7}1xt>A;}jUP%)gf+MI)r5VvR89 z)Xi6?ujWqwt;lMH|>S;Ig z5gy8Ze{;gr+j1PQ-h)F)fOQ1I{7!;)TmLOcdbthYJX@w%F0p0izKpO^G)DT{g!X5Y zDN2FqM-RFl+H?`b zrMI4k7QBk)aDZ-Q#jyC%_B9c|Fx?ad`?v`_PsgR?o-?MVHvZRm+RFTiGxEo%kRmNT z*(~6Z304MXCgut@h&q#TLK|Z5gKm9v70RKUh^6$}lID9Ed0jZwZvd+nNbYH_K}2^&tz0_M-bGLBfz~l z-N;_L^RMWjXPgHZe~J#@(F@uU{c#7G>Fg^r)pF1m-11qnG%QkZNPz32y#L?+WF!uN zOU-4TG78`S6t(bV5Fv0%v`vYVUp7;g1t6AOI;Kd!MKmfr@Ygm9|JZMYvGVuxN15x}s5=u}!+k0>X<;>}Q`K3Djvw1+> z@)jEuCnW(<@A}33f6PZ=&tB84$J$+=rVegJ9hX5nZCIEl!H@-4F0Rq^xb>*1qQT2G z`2?eod;Y|Lmx2p0>v%797JyawSC})yM~OT!=^67plFX*ht4d|Gz@9I{9xa~eGKJt| z3T29IP{jSgB(F^Q%k)-VE7Ms-1G5x`j-f)#RMXFAkv#vl5ohcQ%{?1L;mJ_oJk4c+ z5WLt*1c3+g(43Vhzp*v*M-0WOcn!XRE$D8N8SOKdCg*U+0_aT7lKzaFhJRWts5~Q7 z`9(?9kDEBw$-=l$n?vbJATPurCC^aNBy~qy1wGSQfAB9$C@aedg&l(9_>K_iy`^Q> zMk3!=kib$fzV0T2zGC+~sp8tYe7C3p5ums4g{W7BxgZn*BBiDH$bS8+A>QG<%$HgCRv8MY3(sGN zYdpvt9RX_(2?K4fEm26PPKGq7`h z!ON%r3|z&*ir)88TdP$h?X`2+6SaVDp07c|>W#boo}Y-2h4s&d75aCha{0Z&^_9Gn zwnxABg*ZKek3FXQF!OgQpx)o*{S`A>4rEsRS2{^LB>H&m@}xCMb6m|p*9iz7Qfa3r(KZ?79C;bPSCT$A-n6XN4}h@T zPWC`riK@LR=~BK8Z)%^$=V5C5IOJ^X?R)*~r(lPRcK%@d=;$rrZc1!HTsB~))_V&W!iCPTy-bS+KH1kv*-#5V*;-E<=&jhWU_VgEdDyr#4Yma;3=OsMaFH)xJkAfJXWx+d@61 zip#)ndEP*bWyX+u#<^K7sJn2`@f|N7!~>GQyM)tUoNj|_${X-4J}K6sSzHKbk+zIC zDVIm!oOvyJwEGpp$W_|(ykEXZmmf-#l>FRnU`LfWhWadh3C1yZ>Ks(uKY9P@sq1HU zp9`#1lnIw0*tnrW$m3Oh$=kNH-rBLi8{=lm;_s#(rb+BOfGi`PFXs;J)P8RQauZO+ zK8$m#t>>HFOUzecI7v^fvKUa;oL{$l-eGohF_JCC%X^d2g;JxsgrJ>}VnXZI2K7bG zI@ZcRY|-n@@d?imElIzR(!?i_lyoT^#Gikl+-uBcCGi$hjpEMq)lkUR4K8eES{c7H zyRlxZ=g54+n5@Z{t<7WJeaNxe>xCffTEcg7Ikp=P+a`#sr5@at=m) ze~W0*1vZMz7$b=EKsx8uyPAjA{Hv`r123;~0&eXlu0iXxdtS_Aku!!Sd}KAB3SL&W z^)SF_(&Vnpp~+Z3I-wh@R_k;2-<%yu4PGW_=#Jn}P}73NAIRO(M=Qgb?~>|Q0eApI zGhzSY)or8550Sc1?w6c)2GGa=ElMxf^ZuWKI7s%f?`t`!To#G zmAM+GcO#8+BBE-zNx5j7xX3>X7DffeHpSscSJ1;7o$14-^KhP3ivg76;;Sy@MiZk1 zs$FZ{&CjjfR#SpH{K|#3RjEw|x7YnhvIZxr#(i4W4p_y*-VG*+aiB&{EHaY4p~z?Pr2qZrwMs(?N}VvfzP(dy@1G%HOga8)v_N z^DZXI4ZSgqiV}DLi!EFUF)q^K^23oUex31*R~<%7Pr0Uqr0_P|Jf?ck(uC@vgfh`e z`=WxpE{wNlsJxmrd6W^JB4c$WbK=sWEa+rf3CQ>G@K50Cb`b?jE7kOcM4Ijw2Qp<^ zkCvyWn%mwWf7pv=yU;rTE4uuFxr&v%s@QjlEt9FQjzQ@>_BXcorqYHC3s2@uJ7L3w zIuqJB$ysD`d4;e4U?%86sXzWS2k7G>#-r3%n^%X`>(k& zSn*4dF106QT!0*6(iS9yeC!L>)I7Y~rxc!E%-6#wV;K{L5J-RSXywNBr^+|MUK#C%HLZ-R4 zKe$TKftqV?CzIOR!m(At$OTA=L`|#lxaSG7ecwwcKYn?<(eRK)b|DHqVfY#}4NhG2 z?Q^IDiCmJkrk8HJc}IN$!J|jixT$q^{m5+A-5Q6L?g@){=nHtItP%@VfQ@CZ7PA@i zd;&6&i7PoHZkm!CDmKIDZ8M{!!-E-YaGYNf!~EGJ(~`^p!K^PprMe&ng%#fmoZEHc zPTojn3F}~mO~O-ah{F!!x|*QfMvtGELpvPOg|-0MAIwRzPX;65;4m3#?lwp zvhMUk{bfLR^6CNZ)tDJ<2mVGQ8mKeLwLWZ9l4B=CydwuzW$WJQup0Mz)A*e9l0lJW zFQ}3S=vLNMUjjjva5yV(HNEsevmW*$FS2ywrZCQIU6>1sTiW)PB*k^X#quB$!CzAZ zEnnAU2wF_)49PWmV^1ER{CwoQWyo zVrzJ8QSWJd>wI8&BwmMG7k1Vaab~zPV)bERbly=-S+Oh~u;aW& zrPm9a7KQS^_JWj-wht4UdhbrY7T|nR+K-#qbBS+yS01cxhbe=A8hAoBN;wHSZa#^2 z?5p?47O@nz&IWJ51@&ANC$$P z@cI2>^XGXa=!I_qG0;zreWJSLerU!Iu0j#w+^@q8Zc2+TXg!I-HH-v8XU5{!wdI@y za_xygfR&K5#oLErtF#RHS`JkiR!F^;5)RE=UVsSL4`?kp&TiS`ThUQ=e$7S-NX(rMfU;Cy`gg1Kex$|m^bX?9oqH`kFJShA@=f8(GWmYWx?EwluA@HlZ-|v_1~36qZ+Dmx_o}75)cN=fE<2w? z#K6?dnS7GzG;Bd-s!mGEpt=k3+gY~8J*wkTTK&2Z)MJrcDwRriO6AiMN#X{OQWNI6 z`nqSLdoQTB!r{q=9%_D+2c&Za(jt4q_sZf?9HP#;tWd;(%PeN6}`Kq0ZlH4=ObY1dgF@kfNA>SUA`l8sYR7T+4h zIyyIxyjCbS*N?bqE2eOK!xSQAT=0we8MR@*5@8DMg`8T8QURN=U9W86ni6VNdnz2W zL&PPCn}LwGDc_vot@ucZC}zU8aw!cMzMU4}u_u~_$9_{cc=26@Q5n+VrIFaeY04xk z>>;S={_15J%RF_I*qtOY<4bbiC3Em5iJ%yRFQjO4W}?19v{pI7`e6%@#TPNrdX0h0 z6FQ>pUC9s`K`cUSA9C?Q6WLc3ofRoFZ9Bx+PWfQ;krh8kSQs2@l<*~?shaVdsopH3 z!qkmC2KH?6YpBzl4k7j1Q=lP*rlEck{l|PSlW5*JMt)vrb`|Y|heti*AYsvSGkdf{h9ePD1_4@507{5ih=8U_nmlz|I~G$!IZE zFfKXmnYU2H24_5b9;rewsdKgIWo5LOaPp*+J9J!=+$>pp|ETn!yH(~<-3f1+?$v#$ z>3r0}Z|^L17|5cD{}q$~P}Y8OsN@!&LRFxwc|3PcmDGxxT-)a7+SZ z^wh8so(SIgpew9yNh6qp*@b*lYG6Db-)m}0@40^Sgz0Jo@f*;S1X5*CJy8gyYb&wj zx4LBLvDb-{|C~H$lUzK^0aj(z2IF)Vwd9uC!Og(y+}zIzMK)hBFs+Y@)?>mZx`A4I z3?@JH9=z`CI$K+*w|ffX4k>=gIq~CV*>Jxs#UNnIxu!dKKE>VbATUZ$Kji*b9GeOy zn6hEz3}3&6_#oeL+-)7TN+&Cdt}71)eYY~Xf49gR>sb2WZ;R9=Wj^PKy& zqf;@@{P|)XpFUtFRaSnn`4}pq1g-A77v5TI(shdw;i}Rf6~> z&CC?EEuBuViD|AdAS8+I7X^d!^h^<-UCK1#D_ zLBXu-U?ipoh1hAjAN^h{tnV=g7Po2Xz99(k!J7=jrd~wGx>ka-r{#owCOLIMEuk+P zzTSI{`C*-;M{{puf5&an=3H}!DpxHeP)m?R%~8v4hN*wkHMph3{KZv58=tvtq57P7 zYFNJXwUkhNX2XDJb+Pud?wfB`Jm-=5t%;SQByxgav?gZbds(^?(bo0(&V+jHZ0Z-;n(Xd1vHNbjCkC-vRLn)VYX4?b#`9R zUT8z=4`Htqei@J-pj#^35vZ30g71YX1|qW3O=p?ndha~!ly^zt-IN&7)6q?_1?qy& zbBLbT&Q-FIuD|!y5j%Y+yeT(1jv4~j()kA7ShuOtd!Kl7@v(-_P%2A~CR_(M3I7BF z-lIMjd|LeG7^ib98(o&bVwDNf2Nvdo8AFpPIG#|9E}p}z2w(SIgT*LM&qB~l&XbE- z_6Fbj;MN}&1-L{*k+aT@o=_dIDXHQAJO+EKmN-b;f(Huv3pkuG&nJE~O%M+#_!e_H z_3+=|B3ZVhzqcdkN)b~}MAx~7$u7+z=~GauOlyv>TZE$4Cn)7Bqbb~}cs3HEG-tV7 zdi_7%97~)Rzcq-oBXF?=C_ghlx-c8uc{59SyaT`%g-=4mo;@$pU2=NL_teKxNv4c< zjM7I9l0LMNB*hRoZVn`#HOHIwHD-o(_AV(;Q=A8KOD|@$* zeV@^%Zn+$I#u>bGfa-eRqLaewGJHjxV{1I{?UAITRa#4iWD`Ww#lh)AMZQV9)cO|J z59DdlJ24gHGM>1$2M=F8l_wcBCx;F<>|PZqgNoV}N8BVo4;dw4Dy8`o;M}jPYvZ2) zy@{9Dkf({i{s5R|+)%i{1J-2RdYQfBIC8Mkr&gQdnv_OwA49$y7rhfAhgk)Dwn1QGuEOhwm3r#YtJkJ01wt_uPaCRf8ix`h z3wn8hUE?_B^CY!e8K7R@rW3t)$LHuZ!7a^<_VFM0e(c~xs79?hUt9us#6=LQVNg1K zAEfiryA){tX(vM(QyZQhl&?tX;m38h(@8+W@T7oO$TCKIo9Nw^%|D7O_Hx~cV^EB7 zv)>IN(Krp1wp~a52?<*9z4hclGHM;7P-*wjI5C`GCS7M~h~Q3?Rq*=TL=~UYo|4_E zst?vbR`a%uFtG6v9Sh`HWC(PfN8o6QNxy~tx4SL1B@^47;$Cgn>Er}}# z4OC7kN>eLiw*;)WPkH#)d)pHiSvOwfDdACaS))+k4KY>jO)NlJ_Iu zmS_W20lA7lZN6CSlyuSW{3Sz&bgQU{k&cjApf%CY-AV3`j;JGHC7i-xZXo@MvG>J_ zubW88xM{W7?Ve|MDm1H|`YYGjjz*`XPgj_e{`RZw{f>d)al+vXqv2I(*b_nCPM_-?Rm9NuB%j_?k{ z{kI3rFuhM)E98BtW%=W;D3AX5#D>(T2n^GqSk7o=0hF`_5fSvaB2fn)X5ZwAMP~ExTHBX>V?oX zRD`|LYsw(3EqXOUs)Y(t+06>fW4-S0I566Qrz2|pZJ^%6w=4rQMv^na<8oRMK*~|? zjg2iFtxM|uJAKCT(f0u&=J7U^P-D_6b2d|Qit|Z*qjkaoW?&z)9IBCfN)GibH{fsM zGUqqHS$0Mt`>m=@AKhTZ)JU+)S&$c^g^UaG)4^{?Q#qodP%vR`XAbMkTVT0?pS_v4e-IM?p1lqWpk>Lt+iigXOP#3X zx+noM@MQb}y5v)b-eaQS^ussIgZCy-A9dd|r*?W>z9*PumOj7!8=yw?PpDM-Tl>Wy zt11@|@C=vOMmZ}Z$4vLAh8;tlMPB>T(%W-xi#O+bxAlQL;^{d4GIxxidRlT7#n5~) zsHE&m*xi4W{fG7y@!EetZJuD;arB@!%T_TZ zQFz)EnESjK%G1jF4!JEkMXOQO!1Xx5g8jSdW~kQkAAQmP(HHl>zYJczzNJkSfdbNL zRp5}~S}Y>+mO$S61Dn;-GPq-CV;dPNO&-IzCntAdRA97DV)kz}{n1hNB=3h96=E$> zN!?T?Onw}ymeQzn>r}ZXXa1Yd0Ml!aSe*CsjdaHh9hF-A#Zu#CU!IdiSt(k32ac?7 z>1)w_frau(hv88$?@P9{#Z#!SV7fjm$n1{_rGPa2iMwniX$HuY5&~3tDt1F_V&*Xd|n&s z(Wsb9E?;k{`G|RXl9$W&r8nhr9R_o5j%}vH7_W9xeDaErEhSYs3Gb8Ow~bQ{hRV zUL8b#ShmqC9ZKz<&?B-c!;ix1#*x4oRB=C=GX>*EdA9IL=r6#|GdT!kol7rx>qY1G z_2^euD&}_1Pf!>aKS2npsI7@rS@G25Py`(VkuV=GmTD}3n;HDcV+1*GiZ&467FJdF z?J@Nb>5cJp2o+HHp6@-A8k<`6N|eXO-|I};-R_t7;F*kS^AfiE33>*-un8=MNs3fU6f1!qrh&r^Yi(X^g26~r{r z>dsjsqjepwWz$n(QaRz_)1594gYx=YR}K4MT^$k~QjDB+9Ab0FI#+`LuBc}}=88jm z-vnj`;AHCX*nB5Ln9=jj!1KLNdzI(69f5F|O)?95n{v30adE!}qW^N;88O6Q9ONfkf5|t%RMQ{PXVLU>7K9F^QwF2yJP!EVZmH0ns|3~2a@<6 z4^u2>%9oH?e?!{VEUclUZt1fDq?}I9iN}+6O3P24KS~~mx{pk|E&1Ht&Qa{v{%7X- z+M|*OV7u>Dn*3U-PQ3v_(8*0|TkhP;1rrLX8;}k$C7F2f8a#m~z-Y9LT+I?oKAO_W z_^PFX{Zr5^i)B=!Ml*RrzIJ?$>qwrZsb)@m&~5-Ud5C2O71uMJrmH2LlGp)RTH3|p zXXDknjb~8Cp$xNW?mkuSrQ>%rn{WRQzT3{ioZ&eN5R;r(^zho7$1NEP2ysyysJoyJ zU78vS$$6$^LJiU=e!WlH0o=lqdBC|ex56;gD=CwF<<*Ca%|zTh$Qdl}z$Z(Wae9jW zG=PL;D2bKpa$(`q4|j*_3v~eW?R194$?o;MwQTOg>VeK`a#-O^hfQ$<>(9RdAK!kL zc_uuTA46%>Nx60FWXR&P({PYh%_k$^7vfL1Kv)2})OJU0h^YjB)ZNJlo?@DFqHDQx zR+NV?el`*lRE<>m6sWmGyA|H49E{H;R^xVTl3a!q8TAzRWLnZ77%Xm;p02+>)a6F$-Db-5dt0JWJV|`1(=i$1XM0lI3rpf*}Zsd$)A!nVuVARqD zj@sb@6EbOY&mH{zGNtGcGADiAl|;;9r0;{9%l-fwLQ1FBC}T+YvU|_!g;Tg!<|^qY zuKrnYPmYfQ+ISB9eEW9%cTipIhKDD2k|aiU1J`y)C)ryD5lAjnB~abs*YkUPbt*#n z_?9n@o`dApN1csmm=%plEifdRebWPgKec1^!h3zu^q|&r3%zpG%=@?qf+ds!&+=q^vPbdT5 zlN*AD5=SY7N{}sx?A;l#fYaP&km6A7fu>6U&MBP>Hpma`uCt+*Ta@9H_ezMw;z}tK z3oA1?I6H8@%dXE8C!t4QFSMAo(@o1zH^LYuwb`?M6nda(B?S;2!{VnB+GmgNl7>G^ zw)y<>y_dJ=`APHSFV2g=vhpNAH2WCCav*9~)Bu0Nlo;J`A7WJ2F&*#SQyYSoXICy( z{z>>qNtE%UWTUnRNn0(t%zRXlf|Z$%WYza;oB^+9{3nH2n7y{(Tj#IhW06&lZiTqW zLt7O~&xVT2Rn(-$d>Y5rTrlUO(NW1S;v<#v%1N=WI;6DTSu~Wry6*9E4U5I`+4mJb zZc9#P$(LY2kuFL&|B{Q+-r-8>u6gyBfR z6a7V_Y`4h~tzYj}mhiRY3)g-FK9xZp+90t_8|J$Rdoar4lSa$T$6f|NSHg`OuS>re zoRHHO^yhXR7go>3(8$Z+))ehFBodutKyn^Y=#KyY$-e%VJ8tFn1u#V475CNbc)Q?{c1c4%A+PsvK88bTv?{AA+~P z5yli&zbGrt;w@1r7Oeg7M8|!=t2Id1d6_|0Cm&P5@S|^HhXrVD*wl@5Rntpth1YFw zZd-5IGy~xvJe5K;vec)4{wtKfmqFir|0zv~{xz`9u(_jPyG-nW z5tU`jO=N`71wJ87&giy3e@nldeOe7P3hpR!DEd6e3*S~BMTIX zj?z4f>Xg*_>!F+PSJ>k3;I8e0rw#q}_@hy*qZTX-`u#q>#EW^Z>JL)(|KnoY|I2!6 z62G1b<_5bZqEX~_mPt+(wmxgBv~oJz1TxV7ec?sJE)s-eMB%aNdw*{|kwUt2xv0y2 z11{a~{DT?PXhdEqzS=`H^ELETT-e+!O4XLWIo#o7fh9n z1o8xSm3^^bu%zdMYobkMr?XqKU!z95%CrLUcrGM7P3{KO#BHpwJpQ)C=(`%4UvF$Z zcq8Hd#s58E$n;Z-&V018GT}nB!uVOw*c* zAwR_@--|1?TSPs^k7+B=xqt?BZ=xK#stIJ`)g&Yf?KUes*gR%D`vrWwzB3*Ee%SkB z!`DpB`4z^Iu0WSUMD)}nKjr5don3_h9=Id)Cve9xtr9>wAaHf{jNM@?;(f$cc#Dx} za6@Z`F*+h4@zs&Wb>_pY1C9s3_mdBZNbL&Dn^4F{PTyvb&69;AtX5Ac~r|ZTpbBH%pbN&s#2Cek* zdRn=`I3%)pH${Uyr|D2$dpofxOxk_o3&PTmkKf8065{4}D21sES-Xa6%3?%4Qb6LE zIxG|8`+j`D^9_7lS?ky?hHZ9GiYeV9%c25Op6F2C_~i#33HB45n@6V48*e#A=_biK zS;JOg+@dGLwyo>SNGUFutjPRxp=4&aB>v@##$H5ZTXV{_MOt1)?XN5ix)--N0CkEo2GkV zmI02v#8OqX-2Nx}$mJ>hmedTlcFQn{bW0d!*T%yb>ri4FXiNEMIbyKE%35~^oa-aT zt8_s?BLJ(U)g4xjq2LA}C7?7JD%qJYy#C}TGvinIFOviXBzo?xt;uH#G0CE;C4U%HO5NBi zR(H&Av}Ub}&;2I{zEs2Pr1Fq`I#Pbbj*cOW94Z6n`c;DfpW)bR71Z2}KT$YFR#qOh zB?6Ahz8pXubW_<{%ftupS4O8%JF}4$uXP-|?`Yk1c=odR4m#VNVcxA&;5Pp+QtkbP z&Bl;neEQx8i}511{(Z{)xebVv5{vWomBX@(I|e-ih7;|qbaBle3oVR0&AqX_4nToq z3R8(Yr0LQ`vZGS3rh0Te*B}81-sWLwWGJPY_9qMFXz8f|OsoGJWh~->Nep(CgQ-T0 zt0SQ5%8Bq{Tr=Gtm`x?CmOrqY&}~1zoainJ#`KcM02|I8-7X28spU=k8iZ()uvTn_ zOSxOUbxVIs`#kw^8k|@$qOnMhC!v`%%begWTcG8A*(b&GyC^YIt^a$Kz*w&2PY>x49GHy}{Am6t>7= zq`Ni((iD}vHl*DTdFNiKe7=s}_DNp|)V;qMHEv~x!<3$}@g?3)9LCIJ-@_YaSQd7( zXlpYJc8^g;o31EAPuXR`wwB^4wu<-O{Yk7kagwNrdYUHO3J4cm5C$L%te|D)f_gAm zM^VhPIM?{EK{S#HG@fY8Knt)B3xuh9$=&b?2z8qjUAT{g+27Av%YpYQq{$h~8E){< zYmyUhO~d=JcZj-Q95)xWq*->kqvud+n_p2ySxV9bW>38&r+06>{O;nyj%wl}eo{QU zlntw@t4_AeU;)1qxoXE%HQs1dWzVngIo^2CT(>drCwp7RQ_cFV+^{yqs8S*M=&!l) zZ!ELL2aNWwm9P{q3o{-8g$5^NC)5V&nbEZk6Z^C@^H_QRz`4x3UudK(?&|Et4FC?K()Vy$(Gw+5Ab?qW&PO7%!nHTdl(T31OjY-113X}og1;Z zrAH2tWcF6AdbbGCQ4H0ir>5pkJbYh#SMh+*1dTWIj<9@1u?Lj}T=Ze!^rDX-F3i+R z^;U<+``U-c4$w|u><>%p(fuEeHdGlSB-A0~I-@3gcYQ^eqeHL5s!-LwUmt6x z%R{JF9o2M{%MA8;_U{WbvMET)FW+*!k?A+W9u}M@7&6H09Zk_oTGE#?EH2BLJOnXV zYlyGF)tFay3ixjHLoFXGmct6uv(rFs+f*P}GP|Oa@By)@E{$H;2qr?;2({?cr*7pV zCcS3NP^ijtt#jq9RJWxr%CW7r8Ynqg8p#V6SqNhwAN7>%ywisa4|jPBz9;k%=E<+^ zea}7}&##PuLbeP~n)ngrx27KW5?6RZ7c8kk865Z&SS6}mwozz7oN`}aI*3d7D+^TmgsSB|!QC(jxuD8hA3YgqS}HsB zrJFJy8t==3F{Hz>>Fw* z%dHc>8!9(4Ls<92I6XFF$b;T;JIB{{8fI=z?Pj`Tdj3xLM9NWxzeq=rk|+14C3`C0 zfYfbapPd)F@LkWMACchoboA~%xo)+ziKiyZk_;Vhh!lBAZDF-o-Tsgi!D*k0em%gH z-QS#T@|0m=c3(zXC7Q)xFJVt9H9kQ@U*n{N{=oBQQ{%m?Xm6iI_^(G;k9{*S@x^La z{q%PX*wV%!&_n}$+ z1~fpw#tqiS`JP0&$6OVCGPhp-4e-yvZvpdP#x63RYt=Q`GS`dqeE)y5!2iFL%GiqI z7o?xR7NiWCF8fz#Mg@<5n>xj>viF?d3Q&}{sx(K{aw&HjuEa;Wr;U%bjHhj_dUR$P-*-v)a( zm0!04s?JoDY)od?%~tB^2>LqjS^&}rm|%dAhG1}>^LJOEW8ct)6yKj0X{a~_J73~F z-F>N;vtMvT(@1VeHxh@K2)1Dd*U|%osin3g5*qCZE2!0_2yWf84D|s)lfKWCAgZOq zntA2WiI}wDJ?9D;4xW(bGP6M#Vf1u`qLXJLOLOVOT=9Fd6RE`KFJVE=>;fWU zQ{L)qe@i_updy?-rUy2_-#NBfkSDDo6THVZG_+U?PEfdKn?H;~<*S*7nuNbTd7YKw z-tnNhHvLf*NYyJ#Q{{F4opb1h)ZA2rgmK^sNbBeJAE)UolkxZEs&J@=X>7uoguWx}YT;_@2+ z>-53(b~(Kqe)sm|2R6WR9kFYDLi^A#TtMZrAV75StLt#Fz z0-7Jt!KYEurGaH1Mlal2)qHQIJ9sYigFVRc$_VN%A7(>1Q)sZG0|9^N-0Y+H6;bDT z@Sd=bAhXl+*SWS*MnKc_Gy#!^(zOYJZ~I>T23QAN*N#~uS)?xmiAkihOh+W=qqOBm zwWg(OwljVbEC+UahcNsGEp|Nc|{+(I9A zqAYKRwrUI$Z10>=B*}LDrw3*FzdH{!bCc$O4%HBnMBGDeAcEHel=dko4a<`^hrS>r z4b42*e6jiB*dZT=kM2rtFD&+9r@`A~Qjc0p&?g|7T>!7KjAjyryw-P4lWdIrWWa;C z0BYxdYQ2tEHRVi$u4fLmGy(%z0R|4To3J~oh+G|f%gy9rlJUhxVj z9e98A91|e}aBFH5YGD`GXyGY|kMDXQi?Vkz!MIid^j(5o;^^C8hrfI_P z%PTRAh$)yy>Lf()j7<^48Y{Z|0!kpgR9!GNqt`5inwV0QFb8`a8}v7PLFaextc{lL zQa1WJFjcM#a`iQ=hfW28p&54%QtXd>Ogp7~Mst)e#;h-w)i30H27q+x5V~ETA;V~I z80rGOt?p3^=vE=A+5bqGyrA+W6H$~#9`nN>uS5{}ky~VJ%=tnU)lDsaES>lM6tS+{ zXXQCMN-fFA<|)UM_K2Sp&sGr4;q$m3Y~(Kf2b{+8@A?fBOy_A1RIQO$uFVdgZz~l? z>M5Ds?53s>R%Z#8yZ%{4{~U-O#!N%bWabItE|qu1e1aK_R?|0tl@mk^9nEBOV95dVx{L+53tr(WelLA|5qCL2hdIGB^_h)%o!brxQ_luX5 zQgbDp98nxpDT}4$fYXMJ{o4tzKa)EgNkGoi#_(!U$|Uo4`RUO(3}pkfWx|>zQnvv; zW?8MSQp39R~c0|F+bnS_9t5eD+ePH%QZPi|3&9SED!e z)ZT^MF_I^VyIjv5OTxtm2fJh9UJo_trdVT-X8eV+&Y}*!CRRn!wcG~@otNXWOZ(@$ zknk%I$SA768)^(#RSp(heG@sfevfY#1}5YG*^HCMDr48U(Qk!(?}l&o$2;SfDxPsv z>2}Iq5oK%q9g5z4H-$k4u}~udz0yc%`P@5{_xg#tD{%v6(!GP|s~QFf&q8RScTCEX zNy%?2kX!DeAFS3GUKUJXq;i50EXAtKLA!W>nYl~8;yFigC1f#_OSSEBHKTJZMlag= z7jYp%oc~hz(_d~<`ysy!EvlS6OK8~05j0c~8_saxUs8q7=e2wEu$;YRW09@_*PvOc zUQt}D06J0DDy0a6!z=M#w9pV3|hpix#LvFeRWNaqV({VR#Y%f^pSD8stCJ6x7)znbhx&T8M!@In;ms1OYU?PUiLVscpiuHvsT#d2;_yew-?b$;J&E4pe_7Y-QN=o z?^4y*MY9OVjPMH|FyV7?>uT>u8y|Lb0Jk1rENHkidd@Dkr|H3b{I?*cN2RUxSuw2h zJjht+SSCn}q7>+^>{uSf#J$9xOg7>BNx``j)thj!KCgM8jcrUb@|Uq`d(-VnhSWkT z9b_*b_`r67v2E<(?Ph+-x_eMIY|^I;L+k8Glfd_7Wbxq1KO3t56|@3zji3O}dzpD~ zXSQ?n;BzO5OE@AUKsso$Yz>iEnU75oT4W(|?`Bz=bXd01P9C^nBKcEId&~@jEyJh^ zFT4?bkh6HSemSq1YK^HcT}o4+y;R(-TeaC6xVv7&*euW;SLuy+x_|ZSl2Y11Y`pwt zcRx($y!2AP`Qn8$C|>R^99#IpedQxl>P)$!PefK$uOS8G zwg8Z*%d;$-&0IGw=F-Y%v_B^#($7c16srIBxuk#t!ibVApD=U@_@+beRjq}eWc~C_ z28Dj0gPh9fBO_Ugv7h8 zdXM<9`Ue3^@HQ`qTuUoMHF9Ps>G-z>m-A(PZR#r%!Q!S_i9KpS~CcYro1Ifkc9rGlvTUTp84NJ01gr_izB~s3e8IQVQcrx0G zHRo#Q{<>jDusCL^fjP&bo_@#(-pc^BFu*BIv=_-Ji#G?OtHe;V5VqAmna4&xRNpCy z`LqX}6aAJgEfg-|N`K=sQn@7M%dVuADk%1J+~aP%iK#AvxKJrw2o+~i$;}AijK#9s zyC>2!KrRv1Zk(;`TRCC5S-E52&R(4o!5?U|b(Ne4=ZrIz?1;30#Y-fVcm{)*7_o%i zOcsP8sFgBE887$QHT#!;h zu_`(^QZu5p6qStM&UoL7^F24K>#93V|}Bm zq2#G~?sZoh5tCx_yhhAc7YZ9{d>y3eq74uj%hZI|&KdG-2%dSgQi!(YPSmRfd;{vW z1=k4`UDohcF!@PwU9`8e=X9rlso=VA(q(6rdIxVcz*{pL1+}@_;$fMIot%{q9p;-AtTVMZ4p;{#!Dl^v+}^v%9ZsXMd-;SF zj?~E9xO;G2;DoGhc zAonbXpTdl;$P;KgLVI-+|IMAg#t4v;X}5XS=#)=q;YMX88i1GD2EIChDGm+TSCV*l#|lD zX1&Thc0R@|hJu~uP?WmBGt1cbnf1qc@%)zX3J$W8B~f0x+-{*!kbP<*2h^BOx1Ynh zxc4%#3;VcMRv5fa*#Qtp;Ia*0<5-hhyanqgTyzO-juusAlL>Y%RPm#cVrnuMxTBz2 z+^-{JUm1x&;5pA{PiI4vdBd~p%kdoxS}=1z7Bk0jedvz+kU`ZBJolyDHTQl4h6wEQFtDfs$oGCf2}Q1gIp=v zsufHcSIDL7b(gOW+iZB>?57vX3>GCiKJmRfcqI`%W|CLhW`=s*d(ZHomZ*%G1HrhoH=K5s@p@E*abm&!tfw z%1*G`IkRkKS^X(YuJXnDq-l$u3p@>z=>`wq=F_Dj@N8`M8=J3A*$>~l97!>UmT%K6 zD_N&aYG7BP+H_bW^>uytWI3jGHbQ`f2VID4HCJ2b#a(tHBT{EXfo1zN-UTvC@1xr4 z=&$m(*OHzKRjjUwLy6THj(Y~7%wNls?>Yu)tB2p0aS8wG8l}RYGRH;IemP7k!NZ@R z{Y*J|a6Lw~yS;a5DLw}yqyPJrE_2sJLGLOUYIZ^N?$)MojjJwS{&4Ei7Ye*;$6+RICjxA;4wT3YM z(u<`N-Xm19W#tPkmUu)m zOD_iX%AR@h;ClME$PacTnPnXry|;4{1R=WJ4<-{+ym7~%j+i%c1)0uk&d9h%fgXmF zq4#@4BlW!>-j}|+*lk|+81^`?*z?K!i7b&Y#l#e>f&BdG*vUTb8x`QfdDBNVJr-3A zr%CGk8_SZ6^x}-4^B2&S%)Z_Z9ui5Gey)U#V8ln=TPulK^|Taf>tz$0XG7C(S~8=WCi#D;X#B%H*||0?IiaypOW( zBjOM4ylwYz*|7drn;OxR)E)l8HE6IDVtV~$tYvci99Dihs{?EH5UjP9Mgki4LOs8Q z8CEpK?0wmKEhT+h(dwJ*6`Degwr1A#UJV_VJF%BpezO5$v)NAU( zWb$^0Apum^D8d_)t6*pT*on(&`W_ljuLWSwl zyr^7yJ(>Lmc86OsY}HMi#t}AFcevHJH;j$q>S+CEdpTQuqSqZ1hD1IvqV?85y34$) zr)$*i%3#?cXGmkKMqBD%XfSMiCoOey8baN3R;+7ORAI9;yir95Rja*I?-au_#))T; zV9&434<-P8mG^0ktgMDKqnq1T*c90Cb(vuI{0cZg2KUs)#sr%0M>WCxN-@?yG8(va zb6&G2rK8sx>guZf)M$fSXPIO|7rrha3{}SJtDix8*Od&7>}$of!aFmDSiecj@;X3- zXl<^jM&b2sH0`6)REt?yd-FV^p_RGKcYD5%F1_acx9Fb~N;iZf1#bdq#O|lODPl^VPSjm{>uLIu&PiFG zz7>2|S7xF3QK}-n_}-qEj}a)<`=eEe$fg^hHe86MA3>LRqaKe7S}QnjDsrI?qOTtT zh9!|SRbFQo>oOcokUX?Z6>91wNA4}y>T--nN1E_@SnDOG5j(TtvjpXkFU3A@HtW!_ zF~cu>P$*q*KWfD88`2o;uUGYB=>aU0Nt7rdx%Fhx-kVUkF28pfTV7xbcF8Ww_4Sm+ zlQZv$Jec{~?IFlWDD+jKCsHBg5Zi(GbU7p?c_)3JaC1aZ!0}?=8TND>2hf`J;{x4v zJ+=k)7666G#FVqPLacI%BQ=UXv{eRHh;l|^bS{|WxG4tOoML)Pp8nm%CCEeU_kO(? zsg0`=_%>Eqy?hMwp9QUduOd1MOIxU>VP1th^A(;G~W<}UbreLf_k%D zdXwI%bN_;8bQV2j9ke$SDtv|6S(sYH6FGaT( zB8&??091{EHD1x3Px3+fa@{-LShhyeKnM<(jCXjipjLuX@EdgVOY(_k#F`w22>(!! zO4%PPRQO3z$8M~>Rf7U=r3zOygUs#Wi^IGneEBuoD?lI-X$TrRGvJ zYzxWzd(o{xui6X;U=H}yn0shyHLfLQu97Q`9xkR3!(bSsR2?Cx+p_oiAb!3PZfD-u z(J))uj2DmS8w&2-Ay}VLvn=^Fm)yC)8149yA0=2heB38l-Kbtx;pH)pxUe=LXQZr2HWfdu`PogW<|AhnUW@S zdBuiqn{QWFBd+GJY~x||S}_0bJ%aVzc}~FjIL)Sjjb-DX6wIG8s~{CbZoO9@#COAz zw+UL_7TlWPdr2Fr2UqmZJ$}vnIpyxXoM|zla)+y>Ml0TRcI5ib*oO3v2_wh3iczcM zs#0Y+wRoi>#iC>`~thA7k!^&IivPe<|rb0PJe#OoRTv$p5W| zb*pqIygeN*M^zLDN+xnfx@!kkkL@|VtGO|BT1`H?0~~iWFMO0giF1+N+n5zY7R{%& ze7qr2dW`&WWkY9iB*-ZU|HD})x5i=h_-4jqJ=4R&Bg@f*o|04IPYT%4XoA*tufXho zW${8u?UOxUvhk1N)3k%U-$mBs4e9~;9IpNI0fXOVEhn?qf>4921@Q^hTwTA5bU1lY zv8liRj^MD5)X|w_TKMDh9~Y|qL3w$bbeKQ(e|$!%vJDO%hAI59|KkDSQtbcLDnROj z?0ci!oq RPaOYS3ef-lX3C!v{{gS)G~oaM literal 0 HcmV?d00001 diff --git a/_docs/img/events/30.jpg b/_docs/img/events/30.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1e9aca214cb764886c202132e39e04805823a1c GIT binary patch literal 23774 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 H{B!Vc8KFfy literal 0 HcmV?d00001 diff --git a/_docs/img/events/31.jpg b/_docs/img/events/31.jpg new file mode 100644 index 0000000000000000000000000000000000000000..663f3a305a17050cbb7ad20172a669b6ecf78bb9 GIT binary patch literal 15359 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 A82|tP literal 0 HcmV?d00001 diff --git a/_docs/img/events/34.jpg b/_docs/img/events/34.jpg new file mode 100644 index 0000000000000000000000000000000000000000..222ad18b8cd72ce7d94b8aad6ff074a477244637 GIT binary patch literal 14675 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 NU|jxppTPWF_+K%8I?Mn7 literal 0 HcmV?d00001 diff --git a/_docs/img/events/35.jpg b/_docs/img/events/35.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff8ef556dbbeda021d61872f00bfcca198b90305 GIT binary patch literal 19990 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

=H9YV zT~tJrK3O_q-dHNi;O_(1_=`z7`G5<>JmNHq=bF+Qt$KX|>h&Jp@_lfUX%q9Sfa-TjHq}pURjfX&yZm2CUyE>&xr^oaJ#W);N!Xmx2X z9WA_q1G<84_x7nc^LnzOT_8*l8?48+&#%^6gDmF3e2DK3A;NojunSUU$nKX zNEia^KN98QT4yY%WS5=Gr?a=cweD#F#pm%Nd6v743u&h%NNTS26{}!)iW9e@6@|XD zx{b`PiLB+f;q^zT1PXCzLzpvdE@<+*pb4F?OYNqJ`11DcAGyJw`R(uP7Zgll)}dzu z0aaT?hGX`-X?7k4Lj%=jM*Jq(DyZ7S-*4FsH_lGY==V^8H z#Z=|m6PjI1VzFFKaE|_wgoS5_vI)lA4Vu(^aGO|FZ9c?gKY?i`Hu5dzUY?SO03-bC z8cjr=A3^Dcgh6eV@VH#UI}RJB9VKaxZ=4{gB+OIYuE+T%P`Jp^c`G}@? z)q$6k_Nordc}pwDH9TkdS{f;g1mANXHX@0ClKYw}!5xnZ)^*a7=!uxLjp_=j{9Z1i zx?9^jG`{BsB9%;QlI4uK8mrnY=7}muh~gNHT^d4C4V=wF>W5$Y*9IQFCrIzsF>eZE z;9;#iC8{ACCzpARrWEgQ-u($swfRQ>m4QI&4qffxr2UAU_Ms~^3vxA}rlZtwZ7f!% zY$svP;-*}~n6AJ1D%IeB!P8kZEg=<=q3I*e#Zx`*3zRqMcQC}vOLdmMi>&ewg&WJt ztCv#Ce>2&iLC3nuv^MyIbgu%%IoULVa`AIKIaBCfdG!qrL7NtZP>$Q=?~F6wz7rU` zK95$dd9fk*AZ`x)s)~tQ6VZkhP;KE&K}0jD#Y%U*v#H#p94_Xc>qlS@(Eaoy&fxxEs!}*=j z!+q?Zm}wb(HW|yXDLWiAUi~&l-`~$^5G}#+^vi-$G^YZ!KLPO{ZHnWNZ^G9N%1@rC zaF}@`ce!7OeAfT~NFV<)_x_(`6>*1uKAu)S)2Ka}1IMx{f_mUgD9hQif5=`_)PHDb0ju1nVIWwz0kI}YK>r(oOWhh(V%HqgeL+t%p=ZfZ zWDNaPqI@xIluku#T1!JPkfpY1Dy5k3MOan5S(Z8 zLhIk@@p6_>$ot9jMP=vXa&)BN_DPi7<+Q`Tx?@4~l!h3D7srGKc`CkfF07$g(GjqH zliTYn^QvzLyAmK|3q5(>G1treJ>n<8>dA6I>Q8{Ixwa3l)o782J)LM+d&sKVc7T_e z06n8n-bqJ7O}&}qm53j`DPLpbG0bU=JWoV!Y;kH>yDcZ2bUdkup|35`6DTdU7m$k6 zMqna*$WjBxhju*;zIWsk#zh882x*H2Ov`48v!cU9;g^2DF%H-vw{ zQx%qRZ&!D66nge8i_=|&EP^edM6ZhA4a+JubUUV zqW?@6^r!CrR6uJ~UWZNDPe7sZ%Go;RdRx%BU%%&d{|ompfi&8Z257P8(GpyuA8UA04RdN;#%aB?s&yE=U&$=W1v!+TBinB{`u~srVpJ?iJ_76S8WF;x3 z;GOii2G>GI;LBdP+34m06;vTStRP=o3;>{PJ#y`=sWNpED`@O-Uq9??Jjau~X9fh; zPb<>Oov(_q8#rH&m4nYrG@q!a$M{)b`ce~a%Zx;I;bwb&Sl_z@MIXFyL6jW4%x>vk zluNwp1Eu>yyo%CU2jP0+Cxzd5m47*r$rR_%x=yLBNvCElrPQGT2hr(0t49Y(RQ|JD<^ta7^sloZhCG#Ij{W~OMQ)+QkTOmeM zWy!1%mrSFL6F>I}9@djta#^}4)J{ry-`cd?l`i3bZ{L2xV6h|9G%&KcE0e#pi&yd8 zMhE7byO}+z*93qB7`Qi>wC_5~HsO230)|mxdV~p|^D;NLM{Dd?ZGgolgG@~FMdtrE E0l6%qRR910 literal 0 HcmV?d00001 diff --git a/_docs/img/events/36.jpg b/_docs/img/events/36.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40a951fa98d52213036ac3f9d51e7632958f21cf GIT binary patch literal 18058 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/37.jpg b/_docs/img/events/37.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5267ed1394573e082e5abfbd20e28d29e0bf4525 GIT binary patch literal 32708 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/38.jpg b/_docs/img/events/38.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6ccf5505af151f7b261806f6ee242f8deaad95c GIT binary patch literal 43984 zcmeFYbyOVNwlCbc6Fj&C2sG{vL4q`mHcq3#(m(@^TLgD&G`Kb1xCKdYcef-sK@%(q zA@bN~pR?~i_r5XSee%~gzUn`ERIRGHrq^%Hx$5`I?@a)irW!~MfPn!3VBGxxzt;gO z092qC#KH#PkW=7N zvI$cu=^Ic#FtkOaAX8`YXhg&zo*_l|*(H>{8v5o$y?eJfo-{rba|kWjwhJq6;*xx9 z>pg+4U%J1unAM%%?PpmjQcId~nfZRf8@0 zs;hCG$lU($S>vVuP9;`$yN{t)!W8KaO6o{*GAif%b?Jrpf*{h?>@3ra0Or~6u^L9f zBYtnOQd)n6k@p^aS49{-LW5H|xSmopbMzaaKaEAZlO%6NotypD5A(im`W|WE$HR-R zqG?Ox;ttmkr}D9jD0y%18!Nqo+G>3;tJ$A}ObRAx(#KT`kP(`|;5u%vW%YkNdelPI zh?8HyJH~iDJHHp8lHY+=<@^7M{NL!r@^V+i;G$J&o^7#RpHoApB$t>J^R2weiyO?J zNh!bJFGfsgEe?$d;e{b@knn66kC?nv7 z@;ex4u63q9w04SvzV07GRpN)PCF31&7!n#D$E7k9!lHRoH3ni zh63a|j?b1)`K})>Wo4SAr7OD1G59GwVm!K>)28-O<9V-mC&>a1mA)dCzA8Xpl?p?Z zO7H*0>EHDSsQnGNz`12%|FQNPkX*}hb1&i=4_q9}yZ!RNt;4@5{1Mv+g|_ss$EO)9 zoy}A6^XS%nWKj+G0h1yJrL|xIbnN!Jx*od(M(d#gmQkYjb}=aYJd?7d9jLYzF(a09 zBi$iAdj*R7exVWo4wE`4xF5A+mdTII!QoFh)|J`GX%-9T18QD6Yv3(gMlOu=gs_k3r3oxZj zuQ!>-l?0L-w;66JmtgFa`ta7rMt*HDi37tBLqzCEmD80~BD7~Cr#Gnbgvm@@_TK0IR7fJY%m)kr~lQ!d@=@K+v~yKE>PO?q&p zFfNUxOmn(V{Q0yAPw_x`$&gBQySg(yQ(SU65>vnPJmf0Bs(5g`UaBjIxDAac-)nAq zpb@{qH3aEYJgFXEmBzhQSY)TDJidkxc0q)gQCQ3arY z3y5JRC#t^VDUCG{&2Iqd*yE7OJ?i6| z$n)Uf;=)QQHClAd8zt~@5r)jei}s|fFl3B1K+^@dxvfU4ZS20t#@&oOQ=7N53-EK&yanRZbcl2%KnGg_7|t6=M-@;tb})HPkvpo4fK0U zSDDbYzEETUW9b~n=tCLhSRZN@A+&Wm{#lu~G^sFKcqLBj%rUnsC&4ZS zg-*atbn(L?hegufK<7S=D%+ ze2jnX5FyDyE!JvD%Bjf6`~ZEjH2F4|REmjMU1`o(4J7~4_+U(h_sM)y!fPBMDtbTR zIkXb9&@oytwT*0PnqP;XTj$%ke$P?$SWUZGM`+Z?ufG8lzX3D90q-=|l^g=cfg~Nx z?dxIO2)T4i7T5=$9r{`FLCJ>*HWyuqRTgcP=>d!bv9^mi>MXsQ^Ws(p+fp>X#u1jb zgId>~Tn*9EI#o_Wt=7jW5q&xsxPs?AIrVn;S%JLs@Cr0OqA|l>#mwK?ok&XWlu

@@ -222,6 +242,7 @@ 语法检查 +
@@ -284,7 +305,7 @@ - +
@@ -312,6 +333,7 @@ + 锁定模式
画线 @@ -336,6 +358,12 @@
+
+

最近使用的图块列表:

+
+ +
+
+ -

请输入文字...

- +
@@ -160,6 +188,7 @@ + diff --git a/libs/actions.js b/libs/actions.js index abdfb709..db190b0b 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -42,6 +42,7 @@ actions.prototype._init = function () { // --- onmove注册 this.registerAction('onmove', '_sys_checkReplay', this._sys_checkReplay, 100); this.registerAction('onmove', '_sys_onmove_paint', this._sys_onmove_paint, 50); + this.registerAction('onmove', '_sys_onmove_choices', this._sys_onmove_choices, 30); this.registerAction('onmove', '_sys_onmove', this._sys_onmove, 0); // --- onup注册 this.registerAction('onup', '_sys_checkReplay', this._sys_checkReplay, 100); @@ -58,6 +59,8 @@ actions.prototype._init = function () { // --- longClick注册 this.registerAction('longClick', '_sys_longClick_lockControl', this._sys_longClick_lockControl, 50); this.registerAction('longClick', '_sys_longClick', this._sys_longClick, 0); + // --- onStatusBarClick注册 + this.registerAction('onStatusBarClick', '_sys_onStatusBarClick', this._sys_onStatusBarClick, 0); } @@ -112,8 +115,8 @@ actions.prototype.doRegisteredAction = function (action) { } actions.prototype._checkReplaying = function () { - if (core.isReplaying() && core.status.event.id != 'save' - && (core.status.event.id || "").indexOf('book') != 0 && core.status.event.id != 'viewMaps') + if (core.isReplaying() && + ['save','book','book-detail','viewMaps','toolbox','equipbox','text'].indexOf(core.status.event.id)<0) return true; return false; } @@ -137,6 +140,7 @@ actions.prototype._sys_onkeyDown = function (e) { return; } } + if (e.preventDefault) e.preventDefault(); core.status.holdingKeys.push(e.keyCode); this.pressKey(e.keyCode); } else { @@ -162,19 +166,27 @@ actions.prototype._sys_onkeyUp_replay = function (e) { core.triggerReplay(); else if (e.keyCode == 65) // A core.rewindReplay(); - else if (e.keyCode == 83) + else if (e.keyCode == 83) // S core.saveReplay(); - else if (e.keyCode == 67) + else if (e.keyCode == 67) // C core.bookReplay(); - else if (e.keyCode == 33 || e.keyCode == 34) + else if (e.keyCode == 33 || e.keyCode == 34) // PgUp/PgDn core.viewMapReplay(); - else if (e.keyCode >= 49 && e.keyCode <= 51) + else if (e.keyCode == 78) // N + core.stepReplay(); + else if (e.keyCode == 84) // T + core.toolboxReplay(); + else if (e.keyCode == 81) // Q + core.equipboxReplay(); + else if (e.keyCode == 66) // B + core.drawStatistics(); + else if (e.keyCode >= 49 && e.keyCode <= 51) // 1-3 core.setReplaySpeed(e.keyCode - 48); - else if (e.keyCode == 52) + else if (e.keyCode == 52) // 4 core.setReplaySpeed(6); - else if (e.keyCode == 53) + else if (e.keyCode == 53) // 5 core.setReplaySpeed(12); - else if (e.keyCode == 54) + else if (e.keyCode == 54) // 6 core.setReplaySpeed(24); return true; } @@ -190,6 +202,7 @@ actions.prototype._sys_onkeyUp = function (e) { break; } } + if (e.preventDefault) e.preventDefault(); this.keyUp(e.keyCode, e.altKey); } else { if (e.keyCode == 17) core.status.ctrlDown = false; @@ -245,9 +258,12 @@ actions.prototype._sys_keyDown_lockControl = function (keyCode) { case 'save': case 'load': case 'replayLoad': + case 'replayRemain': this._keyDownSL(keyCode); break; case 'shop': + this._keyDownShop(keyCode); + break; case 'selectShop': case 'switchs': case 'settings': @@ -346,6 +362,7 @@ actions.prototype._sys_keyUp_lockControl = function (keyCode, altKey) { case 'save': case 'load': case 'replayLoad': + case 'replayRemain': this._keyUpSL(keyCode); break; case 'keyBoard': @@ -425,6 +442,7 @@ actions.prototype._sys_ondown_lockControl = function (x, y, px, py) { core.setFlag('px', px); core.setFlag('py', py); core.status.route.push("input:" + (1000000 + 1000 * px + py)); + core.events.__action_wait_afterGet(core.status.event.data.current); core.doAction(); } else { @@ -471,6 +489,30 @@ actions.prototype._sys_onmove_paint = function (x, y, px, py) { } } +actions.prototype._sys_onmove_choices = function (x, y) { + if (!core.status.lockControl) return false; + + switch (core.status.event.id) { + case 'action': + if (core.status.event.data.type != 'choices') break; + case 'shop': + case 'selectShop': + case 'switchs': + case 'settings': + case 'syncSave': + case 'syncSelect': + case 'localSaveSelect': + case 'storageRemove': + case 'replay': + case 'gameInfo': + this._onMoveChoices(x, y); + return true; + default: + break; + } + return false; +} + actions.prototype._sys_onmove = function (x, y) { if ((core.status.stepPostfix || []).length > 0) { var pos = {'x': x, 'y': y}; @@ -495,8 +537,10 @@ actions.prototype._sys_onmove = function (x, y) { } ////// 当点击(触摸)事件放开时 ////// -actions.prototype.onup = function () { - this.doRegisteredAction('onup'); +actions.prototype.onup = function (loc) { + var x = parseInt(loc.x / loc.size), y = parseInt(loc.y / loc.size); + var px = parseInt(loc.x / core.domStyle.scale), py = parseInt(loc.y / core.domStyle.scale); + this.doRegisteredAction('onup', x, y, px, py); } actions.prototype._sys_onup_paint = function () { @@ -553,12 +597,12 @@ actions.prototype._getClickLoc = function (x, y) { size = size * core.domStyle.scale; if (core.domStyle.isVertical) { - statusBar.x = 0; + statusBar.x = 3; statusBar.y = core.dom.statusBar.offsetHeight + 3; } else { statusBar.x = core.dom.statusBar.offsetWidth + 3; - statusBar.y = 0; + statusBar.y = 3; } var left = core.dom.gameGroup.offsetLeft + statusBar.x; @@ -570,7 +614,7 @@ actions.prototype._getClickLoc = function (x, y) { ////// 具体点击屏幕上(x,y)点时,执行的操作 ////// actions.prototype.onclick = function (x, y, stepPostfix) { // console.log("Click: (" + x + "," + y + ")"); - this.doRegisteredAction('onclick', x, y, stepPostfix || []); + return this.doRegisteredAction('onclick', x, y, stepPostfix || []); } actions.prototype._sys_onclick_lockControl = function (x, y) { @@ -612,6 +656,7 @@ actions.prototype._sys_onclick_lockControl = function (x, y) { case 'save': case 'load': case 'replayLoad': + case 'replayRemain': this._clickSL(x, y); break; case 'confirmBox': @@ -705,6 +750,17 @@ actions.prototype._sys_onmousewheel = function (direct) { return; } + // wait事件 + if (core.status.lockControl && core.status.event.id == 'action' && core.status.event.data.type == 'wait') { + core.setFlag('type', 0); + var keycode = direct == 1 ? 33 : 34; + core.setFlag('keycode', keycode); + core.status.route.push("input:" + keycode); + core.events.__action_wait_afterGet(core.status.event.data.current); + core.doAction(); + return; + } + } ////// 长按Ctrl键时 ////// @@ -755,13 +811,17 @@ actions.prototype._sys_longClick_lockControl = function (x, y) { return true; } } - // 长按SL快速翻页 - if (["save","load","replayLoad"].indexOf(core.status.event.id) >= 0) { + // 长按SL上下页快速翻页 + if (["save","load","replayLoad","replayRemain"].indexOf(core.status.event.id) >= 0) { if ([this.HSIZE-2, this.HSIZE-3, this.HSIZE+2, this.HSIZE+3].indexOf(x) >= 0 && y == this.LAST) { this._clickSL(x, y); return true; } } + // 长按商店连续购买 + if (core.status.event.id == 'shop' && x >= this.CHOICES_LEFT && x <= this.CHOICES_RIGHT) { + return this._clickShop(x, y); + } // 长按可以跳过等待事件 if (core.status.event.id == 'action' && core.status.event.data.type == 'sleep' && !core.status.event.data.current.noSkip) { @@ -786,6 +846,19 @@ actions.prototype._sys_longClick = function (x, y, fromEvent) { return false; } +actions.prototype.onStatusBarClick = function (e) { + if (!core.isPlaying()) return false; + var left = core.dom.gameGroup.offsetLeft + 3; + var top = core.dom.gameGroup.offsetTop + 3; + var px = parseInt((e.clientX - left) / core.domStyle.scale), py = parseInt((e.clientY - top) / core.domStyle.scale); + return this.doRegisteredAction('onStatusBarClick', px, py); +} + +actions.prototype._sys_onStatusBarClick = function (px, py) { + if (this.actionsdata.onStatusBarClick) + return this.actionsdata.onStatusBarClick(px, py); +} + /////////////////// 在某个界面时的按键点击效果 /////////////////// // 数字键快速选择选项 @@ -794,6 +867,13 @@ actions.prototype._selectChoices = function (length, keycode, callback) { if (keycode == 13 || keycode == 32 || keycode == 67) { callback.apply(this, [this.HSIZE, topIndex + core.status.event.selection]); } + //左右方向键调整 音量 行走速度 + if(core.status.event.id == "switchs" && (core.status.event.selection == 2 || core.status.event.selection == 3)) + { + if (keycode == 37) callback.apply(this, [this.HSIZE - 2, topIndex + core.status.event.selection]); + if (keycode == 39) callback.apply(this, [this.HSIZE + 2, topIndex + core.status.event.selection]); + } + if (keycode >= 49 && keycode <= 57) { var index = keycode - 49; if (index < length) { @@ -814,6 +894,21 @@ actions.prototype._keyDownChoices = function (keycode) { } } +// 移动光标 +actions.prototype._onMoveChoices = function (x, y) { + if (x < this.CHOICES_LEFT || x > this.CHOICES_RIGHT) return; + var choices = core.status.event.ui.choices; + + var topIndex = this.HSIZE - parseInt((choices.length - 1) / 2) + (core.status.event.ui.offset || 0); + + if (y >= topIndex && y < topIndex + choices.length) { + var selection = y - topIndex; + if (selection == core.status.event.selection) return; + core.status.event.selection = selection; + core.ui.drawChoices(core.status.event.ui.text, core.status.event.ui.choices); + } +} + ////// 点击中心对称飞行器时 actions.prototype._clickCenterFly = function (x, y) { var posX = core.status.event.data.posX, posY = core.status.event.data.posY; @@ -913,7 +1008,7 @@ actions.prototype._clickAction = function (x, y) { core.insertAction(core.status.event.ui.yes); core.doAction(); } - if ((x == this.HSIZE+2 || x == this.HSIZE+1) && y == this.HSIZE+1) { + else if ((x == this.HSIZE+2 || x == this.HSIZE+1) && y == this.HSIZE+1) { core.status.route.push("choices:1"); core.insertAction(core.status.event.ui.no); core.doAction(); @@ -949,6 +1044,7 @@ actions.prototype._keyUpAction = function (keycode) { core.setFlag('type', 0); core.setFlag('keycode', keycode); core.status.route.push("input:" + keycode); + core.events.__action_wait_afterGet(core.status.event.data.current); core.doAction(); return; } @@ -1240,13 +1336,25 @@ actions.prototype._clickShop = function (x, y) { return true; } +actions.prototype._keyDownShop = function (keycode) { + // 商店界面长按空格连续购买 + if (keycode == 32 && core.status.event.selection != core.status.event.data.shop.choices.length) { + this._selectChoices(core.status.event.data.shop.choices.length + 1, keycode, this._clickShop); + return; + } + this._keyDownChoices(keycode); +} + ////// 商店界面时,放开某个键的操作 ////// actions.prototype._keyUpShop = function (keycode) { if (keycode == 27 || keycode == 88) { core.events._exitShop(); return; } - this._selectChoices(core.status.event.data.shop.choices.length + 1, keycode, this._clickShop); + if (keycode != 32 || core.status.event.selection == core.status.event.data.shop.choices.length) { + this._selectChoices(core.status.event.data.shop.choices.length + 1, keycode, this._clickShop); + return; + } return; } @@ -1294,7 +1402,10 @@ actions.prototype._clickToolbox = function (x, y) { // 装备栏 if (x >= this.LAST - 2 && y == 0) { core.ui.closePanel(); - core.openEquipbox(); + if (core.isReplaying()) + core.equipboxReplay(); + else + core.openEquipbox(); return; } if (x >= this.LAST - 2 && y == this.LAST) { @@ -1353,6 +1464,7 @@ actions.prototype._clickToolboxIndex = function (index) { if (select >= items.length) return; var itemId = items[select]; if (itemId == core.status.event.data.selectId) { + if (core.isReplaying()) return; core.events.tryUseItem(itemId); } else { @@ -1455,7 +1567,10 @@ actions.prototype._keyDownToolbox = function (keycode) { actions.prototype._keyUpToolbox = function (keycode) { if (keycode == 81) { core.ui.closePanel(); - core.openEquipbox(); + if (core.isReplaying()) + core.equipboxReplay(); + else + core.openEquipbox(); return; } if (keycode == 84 || keycode == 27 || keycode == 88) { @@ -1475,7 +1590,10 @@ actions.prototype._clickEquipbox = function (x, y) { // 道具栏 if (x >= this.LAST - 2 && y == 0) { core.ui.closePanel(); - core.openToolbox(); + if (core.isReplaying()) + core.toolboxReplay(); + else + core.openToolbox(); return; } // 返回 @@ -1524,6 +1642,7 @@ actions.prototype._clickEquipboxIndex = function (index) { if (index < this.LAST) { if (index >= core.status.globalAttribute.equipName.length) return; if (index == core.status.event.selection && core.status.hero.equipment[index]) { + if (core.isReplaying()) return; core.unloadEquip(index); core.status.route.push("unEquip:" + index); } @@ -1531,6 +1650,7 @@ actions.prototype._clickEquipboxIndex = function (index) { else { var equips = Object.keys(core.status.hero.items.equips || {}).sort(); if (index == core.status.event.selection) { + if (core.isReplaying()) return; var equipId = equips[index - this.LAST + (core.status.event.data.page - 1) * this.LAST]; core.loadEquip(equipId); core.status.route.push("equip:" + equipId); @@ -1622,7 +1742,10 @@ actions.prototype._keyUpEquipbox = function (keycode, altKey) { } if (keycode == 84) { core.ui.closePanel(); - core.openToolbox(); + if (core.isReplaying()) + core.toolboxReplay(); + else + core.openToolbox(); return; } if (keycode == 81 || keycode == 27 || keycode == 88) { @@ -1657,6 +1780,7 @@ actions.prototype._clickSL = function (x, y) { if (core.events.recoverEvents(core.status.event.interval)) return; core.ui.closePanel(); + delete core.status.tempRoute; if (!core.isPlaying()) core.showStartAnimate(true); return; @@ -1814,6 +1938,11 @@ actions.prototype._keyUpSL = function (keycode) { this._clickSL(this.LAST, this.LAST); return; } + if (keycode >= 48 && keycode <= 57) { + if (keycode == 48) keycode = 58; + core.ui.drawSLPanel((keycode - 49) * 1000 + 1); + return; + } if (keycode == 13 || keycode == 32 || keycode == 67) { if (offset == 0) core.doSL("autoSave", core.status.event.id); @@ -1848,11 +1977,14 @@ actions.prototype._keyUpSL = function (keycode) { ////// 系统设置界面时的点击操作 ////// actions.prototype._clickSwitchs = function (x, y) { - if (x < this.CHOICES_LEFT || x > this.CHOICES_RIGHT) return; var choices = core.status.event.ui.choices; var topIndex = this.HSIZE - parseInt((choices.length - 1) / 2) + (core.status.event.ui.offset || 0); - if (y >= topIndex && y < topIndex + choices.length) { - var selection = y - topIndex; + var selection = y - topIndex; + if (x < this.CHOICES_LEFT || x > this.CHOICES_RIGHT) { + if (selection != 2 && selection != 3) return; + if (x != this.HSIZE - 2 && x != this.HSIZE + 2) return; + } + if (selection >= 0 && selection < choices.length) { core.status.event.selection = selection; switch (selection) { case 0: @@ -1860,18 +1992,24 @@ actions.prototype._clickSwitchs = function (x, y) { case 1: return this._clickSwitchs_sound(); case 2: - return this._clickSwitchs_displayEnemyDamage(); + if (x == this.HSIZE - 2) return this._clickSwitchs_userVolume(-1); + if (x == this.HSIZE + 2) return this._clickSwitchs_userVolume(1); + return; case 3: - return this._clickSwitchs_displayCritical(); + if (x == this.HSIZE - 2) return this._clickSwitchs_moveSpeed(-10); + if (x == this.HSIZE + 2) return this._clickSwitchs_moveSpeed(10); + return; case 4: - return this._clickSwitchs_displayExtraDamage(); + return this._clickSwitchs_displayEnemyDamage(); case 5: - return this._clickSwitchs_localForage(); + return this._clickSwitchs_displayCritical(); case 6: - return this._clickSwitchs_clickMove(); + return this._clickSwitchs_displayExtraDamage(); case 7: - return this._clickSwitchs_ExtendKeyboard(); + return this._clickSwitchs_localForage(); case 8: + return this._clickSwitchs_clickMove(); + case 9: core.status.event.selection = 0; core.ui.drawSettings(); break; @@ -1890,6 +2028,22 @@ actions.prototype._clickSwitchs_sound = function () { core.ui.drawSwitchs(); } +actions.prototype._clickSwitchs_userVolume = function (delta) { + var value = Math.round(Math.sqrt(100 * core.musicStatus.userVolume)); + core.musicStatus.userVolume = core.clamp(Math.pow(value + delta, 2) / 100, 0, 1); + //audioContext 音效 不受designVolume 影响 + if (core.musicStatus.gainNode != null) core.musicStatus.gainNode.gain.value = core.musicStatus.userVolume; + if (core.musicStatus.playingBgm) core.material.bgms[core.musicStatus.playingBgm].volume = core.musicStatus.userVolume * core.musicStatus.designVolume; + core.setLocalStorage('userVolume', core.musicStatus.userVolume); + core.ui.drawSwitchs(); +} + +actions.prototype._clickSwitchs_moveSpeed = function (delta) { + core.values.moveSpeed = core.clamp(core.values.moveSpeed + delta, 50, 200); + core.setLocalStorage("moveSpeed", core.values.moveSpeed); + core.ui.drawSwitchs(); +} + actions.prototype._clickSwitchs_displayEnemyDamage = function () { core.flags.displayEnemyDamage = !core.flags.displayEnemyDamage; core.updateDamage(); @@ -1926,13 +2080,6 @@ actions.prototype._clickSwitchs_clickMove = function () { core.ui.drawSwitchs(); } -actions.prototype._clickSwitchs_ExtendKeyboard = function () { - core.platform.extendKeyboard = !core.platform.extendKeyboard; - core.setLocalStorage('extendKeyboard', core.platform.extendKeyboard); - core.updateStatusBar(); - core.ui.drawSwitchs(); -} - ////// 系统设置界面时,放开某个键的操作 ////// actions.prototype._keyUpSwitchs = function (keycode) { if (keycode == 27 || keycode == 88) { @@ -2019,12 +2166,10 @@ actions.prototype._clickSyncSave = function (x, y) { case 4: return this._clickSyncSave_replay(); case 5: - return this._clickSyncSave_download(); - case 6: core.status.event.selection = 0; core.ui.drawStorageRemove(); break; - case 7: + case 6: core.status.event.selection = 4; core.ui.drawSettings(); break; @@ -2040,30 +2185,11 @@ actions.prototype._clickSyncSave_readFile = function () { if (obj.version != core.firstData.version) return alert("游戏版本不一致!"); if (!obj.data) return alert("无效的存档!"); core.control._syncLoad_write(obj.data); - }); + }, null, ".h5save"); } actions.prototype._clickSyncSave_replay = function () { - if (core.hasFlag('debug')) { - core.drawText("\t[系统提示]调试模式下无法回放录像"); - } - else { - core.status.event.selection = 0; - core.ui.drawReplay(); - } -} - -actions.prototype._clickSyncSave_download = function () { - if (core.hasFlag('debug')) { - core.drawText("\t[系统提示]调试模式下无法下载录像"); - return; - } - core.download(core.firstData.name + "_" + core.formatDate2() + ".h5route", JSON.stringify({ - 'name': core.firstData.name, - 'hard': core.status.hard, - 'seed': core.getFlag('__seed__'), - 'route': core.encodeRoute(core.status.route) - })); + core.ui.drawReplay(); } ////// 同步存档界面时,放开某个键的操作 ////// @@ -2252,9 +2378,10 @@ actions.prototype._clickReplay = function (x, y) { switch (selection) { case 0: return this._clickReplay_fromBeginning(); case 1: return this._clickReplay_fromLoad(); - case 2: return core.chooseReplayFile(); - case 3: return this._clickReplay_download(); - case 4: return core.ui.closePanel(); + case 2: return this._clickReplay_replayRemain(); + case 3: return core.chooseReplayFile(); + case 4: return this._clickReplay_download(); + case 5: return core.ui.closePanel(); } } } @@ -2273,8 +2400,23 @@ actions.prototype._clickReplay_fromLoad = function () { core.ui.drawSLPanel(10 * page + offset); } +actions.prototype._clickReplay_replayRemain = function () { + core.closePanel(); + core.drawText([ + "\t[接续播放录像]该功能允许你播放\r[yellow]两个存档之间的录像\r,常常用于\r[yellow]区域优化\r。\n" + + "例如,有若干个区,已经全部通关;之后重打一区并进行了优化,则可以对剩余区域直接播放录像而无需全部重打。", + "\t[步骤1]请选择一个存档。\n\r[yellow]该存档的坐标必须和当前勇士坐标完全相同。\r\n将尝试从此处开始回放。", + ], function () { + core.status.event.id = 'replayRemain'; + core.lockControl(); + var saveIndex = core.saves.saveIndex; + var page = parseInt((saveIndex - 1) / 5), offset = saveIndex - 5 * page; + core.ui.drawSLPanel(10 * page + offset); + }); +} + actions.prototype._clickReplay_download = function () { - if (core.hasFlag('debug')) return core.drawText("\t[系统提示]调试模式下无法下载录像"); + // if (core.hasFlag('debug')) return core.drawText("\t[系统提示]调试模式下无法下载录像"); core.download(core.firstData.name + "_" + core.formatDate2() + ".h5route", JSON.stringify({ 'name': core.firstData.name, 'hard': core.status.hard, @@ -2566,7 +2708,6 @@ actions.prototype.exitPaint = function () { core.ui.closePanel(); core.statusBar.image.keyboard.style.opacity = 1; core.statusBar.image.shop.style.opacity = 1; - core.updateStatusBar(); core.drawTip("退出绘图模式"); } diff --git a/libs/control.js b/libs/control.js index d69cfac5..b0f58cdf 100644 --- a/libs/control.js +++ b/libs/control.js @@ -19,10 +19,10 @@ control.prototype._init = function () { this.registerAnimationFrame("totalTime", false, this._animationFrame_totalTime); this.registerAnimationFrame("autoSave", true, this._animationFrame_autoSave); this.registerAnimationFrame("globalAnimate", true, this._animationFrame_globalAnimate); - this.registerAnimationFrame("selector", false, this._animationFrame_selector); this.registerAnimationFrame("animate", true, this._animationFrame_animate); this.registerAnimationFrame("heroMoving", true, this._animationFrame_heroMoving); this.registerAnimationFrame("weather", true, this._animationFrame_weather); + this.registerAnimationFrame("tips", true, this._animateFrame_tips); this.registerAnimationFrame("parallelDo", false, this._animationFrame_parallelDo); this.registerAnimationFrame("checkConsoleOpened", true, this._animationFrame_checkConsoleOpened); // --- 注册系统的replay @@ -151,19 +151,6 @@ control.prototype._animationFrame_globalAnimate = function (timestamp) { core.animateFrame.globalTime = timestamp; } -control.prototype._animationFrame_selector = function (timestamp) { - if (timestamp - core.animateFrame.selectorTime <= 20 || !core.dymCanvas._selector) return; - var opacity = parseFloat(core.dymCanvas._selector.canvas.style.opacity); - if (core.animateFrame.selectorUp) - opacity += 0.02; - else - opacity -= 0.02; - if (opacity > 0.95 || opacity < 0.55) - core.animateFrame.selectorUp = !core.animateFrame.selectorUp; - core.setOpacity("_selector", opacity); - core.animateFrame.selectorTime = timestamp; -} - control.prototype._animationFrame_animate = function (timestamp) { if (timestamp - core.animateFrame.animateTime < 50 || !core.status.animateObjs || core.status.animateObjs.length == 0) return; core.clearMap('animate'); @@ -182,14 +169,17 @@ control.prototype._animationFrame_animate = function (timestamp) { return obj.index < obj.animate.frames.length; }); core.status.animateObjs.forEach(function (obj) { - core.maps._drawAnimateFrame(obj.animate, obj.centerX, obj.centerY, obj.index++); + if (obj.hero) { + core.maps._drawAnimateFrame(obj.animate, core.status.heroCenter.px, core.status.heroCenter.py, obj.index++); + } else { + core.maps._drawAnimateFrame(obj.animate, obj.centerX, obj.centerY, obj.index++); + } }); core.animateFrame.animateTime = timestamp; } control.prototype._animationFrame_heroMoving = function (timestamp) { if (core.status.heroMoving <= 0) return; - var x=core.getHeroLoc('x'), y=core.getHeroLoc('y'), direction = core.getHeroLoc('direction'); // 换腿 if (timestamp - core.animateFrame.moveTime > (core.values.moveSpeed||100)) { core.animateFrame.leftLeg = !core.animateFrame.leftLeg; @@ -293,6 +283,40 @@ control.prototype._animationFrame_weather_fog = function () { } } +control.prototype._animateFrame_tips = function (timestamp) { + var tips = core.animateFrame.tips; + if (timestamp - tips.time <= 30) return; + var delta = timestamp - tips.time; + tips.time = timestamp; + if (tips.list.length == 0) return; + + var currentOffset = Math.max(tips.offset - 5, 0), firstOffset = null; + var currList = []; + core.setFont('data', "16px Arial"); + core.setTextAlign('data', 'left'); + core.clearMap('data', 0, 0, this.PIXEL, tips.lastSize * 50); + tips.lastLength = tips.list.length; + + while (tips.list.length > 0) { + var one = tips.list.shift(); + core.ui._drawTip_drawOne(one, currentOffset); + if (one.stage == 1) { + one.opacity += 0.05; + if (one.opacity >= 0.7) one.stage = 2; + } else if (one.stage == 2) { + one.time += delta; + if (one.time >= 2000) one.stage = 3; + } else one.opacity -= 0.05; + if (one.opacity > 0) { + currList.push(one); + if (firstOffset == null) firstOffset = currentOffset; + } + currentOffset += 50; + } + tips.list = currList; + tips.offset = firstOffset || 0; +} + control.prototype._animationFrame_parallelDo = function (timestamp) { core.control.controldata.parallelDo(timestamp); } @@ -334,6 +358,8 @@ control.prototype._showStartAnimate_resetDom = function () { control.prototype._showStartAnimate_finished = function (start, callback) { core.dom.startTop.style.display = 'none'; core.dom.startButtonGroup.style.display = 'block'; + main.selectedButton = null; + main.selectButton(0); if (start) core.startGame(); if (callback) callback(); } @@ -567,6 +593,12 @@ control.prototype.setAutoHeroMove = function (steps) { ////// 设置行走的效果动画 ////// control.prototype.setHeroMoveInterval = function (callback) { if (core.status.heroMoving > 0) return; + if (core.status.replay.speed == 24) { + core.moveOneStep(core.nextX(), core.nextY()); + if (callback) callback(); + return; + } + core.status.heroMoving=1; var toAdd = 1; @@ -742,25 +774,28 @@ control.prototype.turnHero = function(direction) { } ////// 瞬间移动 ////// -control.prototype.moveDirectly = function (destX, destY) { - return this.controldata.moveDirectly(destX, destY); +control.prototype.moveDirectly = function (destX, destY, ignoreSteps) { + return this.controldata.moveDirectly(destX, destY, ignoreSteps); } ////// 尝试瞬间移动 ////// control.prototype.tryMoveDirectly = function (destX, destY) { if (this.nearHero(destX, destY)) return false; var canMoveArray = core.maps.generateMovableArray(); - var testMove = function (dx, dy, dir) { - if (dx<0 || dx>=core.bigmap.width|| dy<0 || dy>=core.bigmap.height) return false; - if (dir && !core.inArray(canMoveArray[dx][dy],dir)) return false; - if (core.control.moveDirectly(dx, dy)) { + var dirs = [[destX,destY],[destX-1,destY,"right"],[destX,destY-1,"down"],[destX,destY+1,"up"],[destX+1,destY,"left"]]; + var canMoveDirectlyArray = core.canMoveDirectlyArray(dirs); + + for (var i = 0; i < dirs.length; ++i) { + var d = dirs[i], dx = d[0], dy = d[1], dir = d[2]; + if (dx<0 || dx>=core.bigmap.width|| dy<0 || dy>=core.bigmap.height) continue; + if (dir && !core.inArray(canMoveArray[dx][dy],dir)) continue; + if (canMoveDirectlyArray[i]<0) continue; + if (core.control.moveDirectly(dx, dy, canMoveDirectlyArray[i])) { if (dir) core.moveHero(dir, function() {}); return true; } - return false; } - return testMove(destX,destY) || testMove(destX-1, destY, "right") || testMove(destX,destY-1,"down") - || testMove(destX,destY+1,"up") || testMove(destX+1,destY,"left"); + return false; } ////// 绘制勇士 ////// @@ -775,20 +810,26 @@ control.prototype.drawHero = function (status, offset) { core.bigmap.offsetY = core.clamp((y - core.__HALF_SIZE__) * 32 + offsetY, 0, 32*core.bigmap.height-core.__PIXELS__); core.clearAutomaticRouteNode(x+dx, y+dy); core.clearMap('hero'); + core.status.heroCenter.px = 32 * x + offsetX + 16; + core.status.heroCenter.py = 32 * y + offsetY + 32 - core.material.icons.hero.height / 2; - this._drawHero_getDrawObjs(direction, x, y, status, offset).forEach(function (block) { - core.drawImage('hero', block.img, block.heroIcon[block.status]*32, - block.heroIcon.loc * block.height, 32, block.height, - block.posx, block.posy+32-block.height, 32, block.height); - }); + if (!core.hasFlag('hideHero')) { + this._drawHero_getDrawObjs(direction, x, y, status, offset).forEach(function (block) { + core.drawImage('hero', block.img, block.heroIcon[block.status]*block.width, + block.heroIcon.loc * block.height, block.width, block.height, + block.posx+(32-block.width)/2, block.posy+32-block.height, block.width, block.height); + }); + } core.control.updateViewport(); + core.setGameCanvasTranslate('hero', 0, 0); } control.prototype._drawHero_getDrawObjs = function (direction, x, y, status, offset) { var heroIconArr = core.material.icons.hero, drawObjs = [], index = 0; drawObjs.push({ "img": core.material.images.hero, + "width": core.material.icons.hero.width || 32, "height": core.material.icons.hero.height, "heroIcon": heroIconArr[direction], "posx": x * 32 - core.bigmap.offsetX + core.utils.scan[direction].x * offset, @@ -799,6 +840,7 @@ control.prototype._drawHero_getDrawObjs = function (direction, x, y, status, off (core.status.hero.followers||[]).forEach(function (t) { drawObjs.push({ "img": core.material.images.images[t.name], + "width": core.material.images.images[t.name].width/4, "height": core.material.images.images[t.name].height/4, "heroIcon": heroIconArr[t.direction], "posx": 32*t.x - core.bigmap.offsetX + (t.stop?0:core.utils.scan[t.direction].x*offset), @@ -854,6 +896,48 @@ control.prototype.updateViewport = function() { core.relocateCanvas('route', core.status.automaticRoute.offsetX - core.bigmap.offsetX, core.status.automaticRoute.offsetY - core.bigmap.offsetY); } +////// 设置视野范围 ////// +control.prototype.setViewport = function (x, y) { + core.bigmap.offsetX = core.clamp(x, 0, 32 * core.bigmap.width - core.__PIXELS__); + core.bigmap.offsetY = core.clamp(y, 0, 32 * core.bigmap.height - core.__PIXELS__); + this.updateViewport(); + // ------ hero层也需要! + var hero_x = core.clamp((core.getHeroLoc('x') - core.__HALF_SIZE__) * 32, 0, 32*core.bigmap.width-core.__PIXELS__); + var hero_y = core.clamp((core.getHeroLoc('y') - core.__HALF_SIZE__) * 32, 0, 32*core.bigmap.height-core.__PIXELS__); + core.control.setGameCanvasTranslate('hero', hero_x - core.bigmap.offsetX, hero_y - core.bigmap.offsetY); +} + +////// 移动视野范围 ////// +control.prototype.moveViewport = function (steps, time, callback) { + time = time || core.values.moveSpeed || 300; + var step = 0, moveSteps = (steps||[]).filter(function (t) { + return ['up','down','left','right'].indexOf(t)>=0; + }); + var animate=window.setInterval(function() { + if (moveSteps.length==0) { + delete core.animateFrame.asyncId[animate]; + clearInterval(animate); + if (callback) callback(); + } + else { + if (core.control._moveViewport_moving(++step, moveSteps)) + step = 0; + } + }, time / 16 / core.status.replay.speed); + + core.animateFrame.asyncId[animate] = true; +} + +control.prototype._moveViewport_moving = function (step, moveSteps) { + var direction = moveSteps[0], scan = core.utils.scan[direction]; + core.setViewport(core.bigmap.offsetX + 2 * scan.x, core.bigmap.offsetY + 2 * scan.y); + if (step == 16) { + moveSteps.shift(); + return true; + } + return false; +} + ////// 获得勇士面对位置的x坐标 ////// control.prototype.nextX = function(n) { if (n == null) n = 1; @@ -918,7 +1002,7 @@ control.prototype.checkBlock = function () { if (damage) { core.status.hero.hp -= damage; core.drawTip("受到"+(core.status.checkBlock.type[loc]||"伤害")+damage+"点"); - this._checkBlock_soundAndAnimate(x, y); + core.drawHeroAnimate("zone"); this._checkBlock_disableQuickShop(); core.status.hero.statistics.extraDamage += damage; if (core.status.hero.hp <= 0) { @@ -932,11 +1016,6 @@ control.prototype.checkBlock = function () { this._checkBlock_ambush(core.status.checkBlock.ambush[loc]); } -control.prototype._checkBlock_soundAndAnimate = function (x,y) { - core.playSound('zone.mp3'); - core.drawAnimate("zone", x, y); -} - control.prototype._checkBlock_disableQuickShop = function () { // 禁用快捷商店 if (core.flags.disableShopOnDamage) { @@ -1049,17 +1128,17 @@ control.prototype.chooseReplayFile = function () { return; } _replay(); - }); + }, null, ".h5route"); } ////// 开始播放 ////// control.prototype.startReplay = function (list) { if (!core.isPlaying()) return; core.status.replay.replaying=true; - core.status.replay.pausing=false; + core.status.replay.pausing=true; core.status.replay.speed=1.0; core.status.replay.toReplay = core.clone(list); - core.status.replay.totalList = core.clone(list); + core.status.replay.totalList = core.status.route.concat(list); core.status.replay.steps = 0; core.status.replay.save = []; core.updateStatusBar(); @@ -1092,16 +1171,24 @@ control.prototype.resumeReplay = function () { core.replay(); } +////// 单步播放 ////// +control.prototype.stepReplay = function () { + if (!core.isPlaying() || !core.isReplaying()) return; + if (!core.status.replay.pausing) return core.drawTip("请先暂停录像"); + if (core.isMoving() || core.status.replay.animate || core.status.event.id) + return core.drawTip("请等待当前事件的处理结束"); + core.replay(true); +} + ////// 加速播放 ////// control.prototype.speedUpReplay = function () { if (!core.isPlaying() || !core.isReplaying()) return; - if (core.status.replay.speed==12) core.status.replay.speed=24; - else if (core.status.replay.speed==6) core.status.replay.speed=12; - else if (core.status.replay.speed==3) core.status.replay.speed=6; - else if (core.status.replay.speed==2.5) core.status.replay.speed=3; - else if (core.status.replay.speed==2) core.status.replay.speed=2.5; - else { - core.status.replay.speed = parseInt(10*core.status.replay.speed + 2)/10; + var speeds = [0.2, 0.5, 1, 2, 3, 6, 12, 24]; + for (var i = speeds.length - 2; i >= 0; i--) { + if (speeds[i] <= core.status.replay.speed) { + core.status.replay.speed = speeds[i+1]; + break; + } } core.drawTip("x"+core.status.replay.speed+"倍"); } @@ -1109,15 +1196,13 @@ control.prototype.speedUpReplay = function () { ////// 减速播放 ////// control.prototype.speedDownReplay = function () { if (!core.isPlaying() || !core.isReplaying()) return; - if (core.status.replay.speed==24) core.status.replay.speed=12; - else if (core.status.replay.speed==12) core.status.replay.speed=6; - else if (core.status.replay.speed==6) core.status.replay.speed=3; - else if (core.status.replay.speed==3) core.status.replay.speed=2.5; - else if (core.status.replay.speed==2.5) core.status.replay.speed=2; - else { - core.status.replay.speed = parseInt(10*core.status.replay.speed - 2)/10; + var speeds = [0.2, 0.5, 1, 2, 3, 6, 12, 24]; + for (var i = 1; i <= speeds.length; i++) { + if (speeds[i] >= core.status.replay.speed) { + core.status.replay.speed = speeds[i-1]; + break; + } } - if (core.status.replay.speed<0.2) core.status.replay.speed=0.2; core.drawTip("x"+core.status.replay.speed+"倍"); } @@ -1190,10 +1275,11 @@ control.prototype.bookReplay = function () { if (core.isMoving() || core.status.replay.animate || (core.status.event.id && core.status.event.id != 'viewMaps')) return core.drawTip("请等待当前事件的处理结束"); + if (!core.hasItem('book')) return core.drawTip('你没有怪物手册'); // 从“浏览地图”页面打开 if (core.status.event.id=='viewMaps') - core.status.event.selection = core.status.event.data; + core.status.event.ui = core.status.event.data; core.lockControl(); core.status.event.id='book'; @@ -1212,15 +1298,38 @@ control.prototype.viewMapReplay = function () { core.ui.drawMaps(); } +control.prototype.toolboxReplay = function () { + if (!core.isPlaying() || !core.isReplaying()) return; + if (!core.status.replay.pausing) return core.drawTip("请先暂停录像"); + if (core.isMoving() || core.status.replay.animate || core.status.event.id) + return core.drawTip("请等待当前事件的处理结束"); + + core.lockControl(); + core.status.event.id='toolbox'; + core.ui.drawToolbox(); +} + +control.prototype.equipboxReplay = function () { + if (!core.isPlaying() || !core.isReplaying()) return; + if (!core.status.replay.pausing) return core.drawTip("请先暂停录像"); + if (core.isMoving() || core.status.replay.animate || core.status.event.id) + return core.drawTip("请等待当前事件的处理结束"); + + core.lockControl(); + core.status.event.id='equipbox'; + core.ui.drawEquipbox(); +} + ////// 是否正在播放录像 ////// control.prototype.isReplaying = function () { return (core.status.replay||{}).replaying; } ////// 回放 ////// -control.prototype.replay = function () { +control.prototype.replay = function (force) { if (!core.isPlaying() || !core.isReplaying() - || core.status.replay.pausing || core.status.replay.animate || core.status.event.id) return; + || core.status.replay.animate || core.status.event.id) return; + if (core.status.replay.pausing && !force) return; if (core.status.replay.toReplay.length==0) return this._replay_finished(); this._replay_save(); @@ -1278,7 +1387,7 @@ control.prototype._replay_finished = function () { control.prototype._replay_save = function () { core.status.replay.steps++; - if (core.status.replay.steps%50==0) { + if (core.status.replay.steps%40==1) { if (core.status.replay.save.length == 30) core.status.replay.save.shift(); core.status.replay.save.push({"data": core.saveData(), "replay": { @@ -1291,6 +1400,7 @@ control.prototype._replay_save = function () { } control.prototype._replay_error = function (action) { + core.ui.closePanel(); core.status.replay.replaying = false; var len = core.status.replay.toReplay.length; var prevList = core.status.replay.totalList.slice(-len - 11, -len - 1); @@ -1316,14 +1426,13 @@ control.prototype._replay_error = function (action) { } control.prototype.__replay_getTimeout = function () { + if (core.status.replay.speed == 24) return 0; return 750 / Math.max(1, core.status.replay.speed); } control.prototype._replayAction_move = function (action) { if (["up","down","left","right"].indexOf(action)<0) return false; - core.moveHero(action, function () { - setTimeout(core.replay); - }); + core.moveHero(action, core.replay); return true; } @@ -1362,6 +1471,10 @@ control.prototype._replayAction_equip = function (action) { var index = ownEquipment.indexOf(equipId), per = core.__SIZE__-1; if (index<0) return false; core.status.route.push(action); + if (core.material.items[equipId].hideInReplay) { + core.loadEquip(equipId, core.replay); + return true; + } core.status.event.data = {"page":Math.floor(index/per)+1, "selectId":null}; index = index%per+per; core.ui.drawEquipbox(index); @@ -1405,21 +1518,20 @@ control.prototype._replayAction_shop = function (action) { if (selections.length == 0) return false; var shop=core.status.shops[shopId]; if (!shop || !shop.visited) return false; - // --- 判定commonEvent - if (shop.commonEvent) { + // --- 判定commonEvent或item + if (shop.commonEvent || shop.item) { core.openShop(shopId, false); setTimeout(core.replay); return true; } var choices = shop.choices; - var topIndex = core.__HALF_SIZE__ - parseInt(choices.length / 2); core.status.event.selection = parseInt(selections.shift()); core.events.openShop(shopId, false); + var topIndex = core.__HALF_SIZE__ - parseInt(choices.length / 2) + (core.status.event.ui.offset || 0); var shopInterval = setInterval(function () { if (!core.actions._clickShop(core.__HALF_SIZE__, topIndex+core.status.event.selection)) { clearInterval(shopInterval); - core.stopReplay(); - core.drawTip("录像文件出错"); + core.control._replay_error(action); return; } if (selections.length==0) { @@ -1489,7 +1601,13 @@ control.prototype.autosave = function (removeLast) { } if (core.status.event.id == 'action') // 事件中的自动存档 core.setFlag("__events__", core.clone(core.status.event.data)); - core.saves.autosave.data = core.saveData(); + if (core.saves.autosave.data == null) { + core.saves.autosave.data = []; + } + core.saves.autosave.data.push(core.saveData()); + if (core.saves.autosave.data.length > core.saves.autosave.max) { + core.saves.autosave.data.shift(); + } core.saves.autosave.updated = true; core.saves.ids[0] = true; core.removeFlag("__events__"); @@ -1503,17 +1621,21 @@ control.prototype.autosave = function (removeLast) { control.prototype.checkAutosave = function () { if (!core.animateFrame || !core.saves || !core.saves.autosave) return; core.setLocalStorage('totalTime', core.animateFrame.totalTime); - if (core.saves.autosave.data == null || !core.saves.autosave.updated) return; - core.saves.autosave.updated = false; - core.setLocalForage("autoSave", core.saves.autosave.data); + var autosave = core.saves.autosave; + if (autosave.data == null || !autosave.updated || !autosave.storage) return; + autosave.updated = false; + if (autosave.data.length >= 1) { + core.setLocalForage("autoSave", autosave.data[autosave.data.length - 1]); + } } ////// 实际进行存读档事件 ////// control.prototype.doSL = function (id, type) { switch (type) { case 'save': this._doSL_save(id); break; - case 'load': this._doSL_load(id); break; - case 'replayLoad': this._doSL_replayLoad(id); break; + case 'load': this._doSL_load(id, this._doSL_load_afterGet); break; + case 'replayLoad': this._doSL_load(id, this._doSL_replayLoad_afterGet); break; + case 'replayRemain': this._doSL_load(id, this._doSL_replayRemain_afterGet); break; } } @@ -1542,14 +1664,24 @@ control.prototype._doSL_save = function (id) { return; } -control.prototype._doSL_load = function (id) { +control.prototype._doSL_load = function (id, callback) { if (id == 'autoSave' && core.saves.autosave.data != null) { - this._doSL_load_afterGet(id, core.clone(core.saves.autosave.data)); + var data = core.saves.autosave.data.pop(); + if (core.saves.autosave.data.length == 0) { + core.saves.autosave.data.push(core.clone(data)); + } + callback(id, data); } else { core.getLocalForage(id=='autoSave'?id:"save"+id, null, function(data) { - if (id == 'autoSave') core.saves.autosave.data = core.clone(data); - core.control._doSL_load_afterGet(id, data); + if (id == 'autoSave' && data != null) { + core.saves.autosave.data = data; + if (!(core.saves.autosave.data instanceof Array)) { + core.saves.autosave.data = [core.saves.autosave.data]; + } + return core.control._doSL_load(id, callback); + } + callback(id, data); }, function(err) { main.log(err); alert("无效的存档"); @@ -1579,22 +1711,6 @@ control.prototype._doSL_load_afterGet = function (id, data) { core.setLocalStorage('saveIndex', core.saves.saveIndex); } }); - -} - -control.prototype._doSL_replayLoad = function (id) { - if (id == 'autoSave' && core.saves.autosave.data != null) { - this._doSL_replayLoad_afterGet(core.clone(core.saves.autosave.data)); - } - else{ - core.getLocalForage(id=='autoSave'?id:"save"+id, null, function(data) { - if (id == 'autoSave') core.saves.autosave.data = core.clone(data); - core.control._doSL_replayLoad_afterGet(id, data); - }, function(err) { - main.log(err); - alert("无效的存档"); - }) - } } control.prototype._doSL_replayLoad_afterGet = function (id, data) { @@ -1613,6 +1729,34 @@ control.prototype._doSL_replayLoad_afterGet = function (id, data) { } +control.prototype._doSL_replayRemain_afterGet = function (id, data) { + if (!data) return core.drawTip("无效的存档"); + + var route = core.decodeRoute(data.route); + if (core.status.tempRoute) { + var remainRoute = core.subarray(route, core.status.tempRoute); + if (remainRoute == null) + return alert("无法接续播放录像!\n该存档必须是前一个选择的存档的后续内容。"); + delete core.status.tempRoute; + core.ui.closePanel(); + core.startReplay(remainRoute); + core.drawTip("接续播放录像"); + return; + } + else if (data.floorId != core.status.floorId || data.hero.loc.x != core.getHeroLoc('x') || data.hero.loc.y != core.getHeroLoc('y')) + return alert("楼层或坐标不一致!"); + + core.status.tempRoute = route; + core.ui.closePanel(); + core.drawText("\t[步骤2]请选择第二个存档。\n\r[yellow]该存档必须是前一个存档的后续。\r\n将尝试播放到此存档。", function () { + core.status.event.id = 'replayRemain'; + core.lockControl(); + var saveIndex = core.saves.saveIndex; + var page = parseInt((saveIndex - 1) / 5), offset = saveIndex - 5 * page; + core.ui.drawSLPanel(10 * page + offset); + }); +} + ////// 同步存档到服务器 ////// control.prototype.syncSave = function (type) { core.ui.drawWaiting("正在同步,请稍后..."); @@ -1716,10 +1860,16 @@ control.prototype.getSave = function (index, callback) { if (index == 0) { // --- 自动存档先从缓存中获取 if (core.saves.autosave.data != null) - callback(core.clone(core.saves.autosave.data)); + callback(core.saves.autosave.data); else { core.getLocalForage("autoSave", null, function(data) { - callback(data); + if (data != null) { + core.saves.autosave.data = data; + if (!(core.saves.autosave.data instanceof Array)) { + core.saves.autosave.data = [core.saves.autosave.data]; + } + } + callback(core.saves.autosave.data); }, function(err) { main.log(err); callback(null); @@ -1856,8 +2006,8 @@ control.prototype.getStatus = function (name) { ////// 从status中获得属性,如果不存在则从勇士属性中获取 ////// control.prototype.getStatusOrDefault = function (status, name) { if (status && name in status) - return status[name]; - return this.getStatus(name); + return Math.floor(status[name]); + return Math.floor(this.getStatus(name)); } ////// 获得勇士实际属性(增幅后的) ////// @@ -1867,7 +2017,7 @@ control.prototype.getRealStatus = function (name) { ////// 从status中获得实际属性(增幅后的),如果不存在则从勇士属性中获取 ////// control.prototype.getRealStatusOrDefault = function (status, name) { - return this.getStatusOrDefault(status, name) * this.getBuff(name); + return Math.floor(this.getStatusOrDefault(status, name) * this.getBuff(name)); } ////// 设置某个属性的增幅值 ////// @@ -1961,11 +2111,15 @@ control.prototype.unLockControl = function () { ////// 开启debug模式 ////// control.prototype.debug = function() { core.setFlag('debug', true); - core.drawText("\t[调试模式开启]此模式下按住Ctrl键(或Ctrl+Shift键)可以穿墙并忽略一切事件。\n同时,录像将失效,也无法上传成绩。"); + core.drawText("\t[调试模式开启]此模式下按住Ctrl键(或Ctrl+Shift键)可以穿墙并忽略一切事件。\n此模式下将无法上传成绩。"); } // ------ 天气,色调,BGM ------ // +control.prototype.getMappedName = function (name) { + return (main.nameMap || {})[name] || name; +} + ////// 更改天气效果 ////// control.prototype.setWeather = function (type, level) { // 非雨雪 @@ -2048,7 +2202,9 @@ control.prototype.setCurtain = function(color, time, callback) { } control.prototype._setCurtain_animate = function (nowColor, color, time, callback) { + time /= Math.max(core.status.replay.speed, 1) var per_time = 10, step = parseInt(time / per_time); + if (step <= 0) step = 1; var animate = setInterval(function() { nowColor = [ (nowColor[0]*(step-1)+color[0])/step, @@ -2088,6 +2244,7 @@ control.prototype.screenFlash = function (color, time, times, callback) { ////// 播放背景音乐 ////// control.prototype.playBgm = function (bgm, startTime) { + bgm = core.getMappedName(bgm); if (main.mode!='play' || !core.material.bgms[bgm]) return; // 如果不允许播放 if (!core.musicStatus.bgmStatus) { @@ -2114,8 +2271,6 @@ control.prototype.playBgm = function (bgm, startTime) { } control.prototype._playBgm_play = function (bgm, startTime) { - // 缓存BGM - core.loader.loadBgm(bgm); // 如果当前正在播放,且和本BGM相同,直接忽略 if (core.musicStatus.playingBgm == bgm && !core.material.bgms[core.musicStatus.playingBgm].paused) { return; @@ -2124,8 +2279,10 @@ control.prototype._playBgm_play = function (bgm, startTime) { if (core.musicStatus.playingBgm) { core.material.bgms[core.musicStatus.playingBgm].pause(); } + // 缓存BGM + core.loader.loadBgm(bgm); // 播放当前BGM - core.material.bgms[bgm].volume = core.musicStatus.volume; + core.material.bgms[bgm].volume = core.musicStatus.userVolume * core.musicStatus.designVolume; core.material.bgms[bgm].currentTime = startTime || 0; core.material.bgms[bgm].play(); core.musicStatus.playingBgm = bgm; @@ -2152,7 +2309,7 @@ control.prototype.pauseBgm = function () { control.prototype.resumeBgm = function () { if (main.mode!='play')return; try { - core.playBgm(core.musicStatus.playingBgm || core.musicStatus.lastBgm); + core.playBgm(core.musicStatus.playingBgm || core.musicStatus.lastBgm || main.startBgm); } catch (e) { console.log("无法恢复BGM"); @@ -2182,6 +2339,7 @@ control.prototype.triggerBgm = function () { ////// 播放音频 ////// control.prototype.playSound = function (sound) { + sound = core.getMappedName(sound); if (main.mode!='play' || !core.musicStatus.soundStatus || !core.material.sounds[sound]) return; try { if (core.musicStatus.audioContext != null) { @@ -2197,7 +2355,7 @@ control.prototype.playSound = function (sound) { core.musicStatus.playingSounds[id] = source; } else { - core.material.sounds[sound].volume = core.musicStatus.volume; + core.material.sounds[sound].volume = core.musicStatus.userVolume; core.material.sounds[sound].play(); } } @@ -2241,9 +2399,10 @@ control.prototype.clearStatusBar = function() { } ////// 更新状态栏 ////// -control.prototype.updateStatusBar = function () { +control.prototype.updateStatusBar = function (doNotCheckAutoEvents) { if (!core.isPlaying()) return; this.controldata.updateStatusBar(); + if (!doNotCheckAutoEvents) core.checkAutoEvents(); this._updateStatusBar_setToolboxIcon(); } @@ -2281,6 +2440,7 @@ control.prototype._updateStatusBar_setToolboxIcon = function () { } control.prototype.showStatusBar = function () { + if (main.mode == 'editor') return; if (core.domStyle.showStatusBar) return; var statusItems = core.dom.status; core.domStyle.showStatusBar = true; @@ -2293,9 +2453,12 @@ control.prototype.showStatusBar = function () { } control.prototype.hideStatusBar = function (showToolbox) { + if (main.mode == 'editor') return; + // 如果原本就是隐藏的,则先显示 if (!core.domStyle.showStatusBar) this.showStatusBar(); + if (core.isReplaying()) showToolbox = true; var statusItems = core.dom.status, toolItems = core.dom.tools; core.domStyle.showStatusBar = false; @@ -2318,14 +2481,15 @@ control.prototype.updateHeroIcon = function (name) { var image = core.material.images.hero; // 全身图 - var height = core.material.icons.hero.height; - var ratio = 32 / height, width = 32 * ratio, left = 16-width/2; + var w = core.material.icons.hero.width || 32; + var h = core.material.icons.hero.height || 48; + var ratio = Math.min(w / h, 1), width = 32 * ratio, left = 16 - width/2; var canvas = document.createElement("canvas"); var context = canvas.getContext("2d"); canvas.width = 32; canvas.height = 32; - context.drawImage(image, 0, 0, 32, height, left, 0, width, 32); + context.drawImage(image, 0, 0, w, h, left, 0, width, 32); core.statusBar.image.name.src = canvas.toDataURL("image/png"); } @@ -2402,7 +2566,7 @@ control.prototype.setToolbarButton = function (useButton) { } if (useButton == null) useButton = core.domStyle.toolbarBtn; - if (!core.domStyle.isVertical || !core.platform.extendKeyboard) useButton = false; + if (!core.domStyle.isVertical || core.isReplaying()) useButton = false; core.domStyle.toolbarBtn = useButton; if (useButton) { @@ -2585,6 +2749,11 @@ control.prototype._resize_canvas = function (obj) { canvas.style.left = parseFloat(canvas.getAttribute("_left")) * core.domStyle.scale + "px"; canvas.style.top = parseFloat(canvas.getAttribute("_top")) * core.domStyle.scale + "px"; } + // resize next + main.dom.next.style.width = main.dom.next.style.height = 5 * core.domStyle.scale + "px"; + main.dom.next.style.borderBottomWidth = main.dom.next.style.borderRightWidth = 4 * core.domStyle.scale + "px"; + + } control.prototype._resize_statusBar = function (obj) { diff --git a/libs/core.js b/libs/core.js index 3f1165b6..f02616ac 100644 --- a/libs/core.js +++ b/libs/core.js @@ -16,17 +16,15 @@ function core() { 'ground': null, 'items': {}, 'enemys': {}, - 'icons': {} + 'icons': {}, } this.timeout = { - 'tipTimeout': null, 'turnHeroTimeout': null, 'onDownTimeout': null, 'sleepTimeout': null, } this.interval = { 'heroMoveInterval': null, - "tipAnimate": null, 'onDownInterval': null, } this.animateFrame = { @@ -47,6 +45,12 @@ function core() { 'data': null, 'fog': null, }, + "tips": { + 'time': 0, + 'offset': 0, + 'list': [], + 'lastSize': 0, + }, "asyncId": {} } this.musicStatus = { @@ -57,7 +61,8 @@ function core() { 'lastBgm': null, // 上次播放的bgm 'gainNode': null, 'playingSounds': {}, // 正在播放的SE - 'volume': 1.0, // 音量 + 'userVolume': 1.0, // 用户音量 + 'designVolume': 1.0, //设计音量 'cachedBgms': [], // 缓存BGM内容 'cachedBgmCount': 4, // 缓存的bgm数量 } @@ -72,7 +77,6 @@ function core() { 'isChrome': false, // 是否是Chrome 'supportCopy': false, // 是否支持复制到剪切板 'useLocalForage': true, - 'extendKeyboard': false, 'fileInput': null, // FileInput 'fileReader': null, // 是否支持FileReader @@ -102,6 +106,8 @@ function core() { "data": null, "time": 0, "updated": false, + "storage": true, // 是否把自动存档写入文件a + "max": 10, // 自动存档最大回退数 }, "favorite": [], "favoriteName": {} @@ -112,6 +118,7 @@ function core() { // 勇士属性 'hero': {}, + 'heroCenter': {'px': null, 'py': null}, // 当前地图 'floorId': null, @@ -171,6 +178,7 @@ function core() { 'ui': null, 'interval': null, }, + 'autoEvents': [], 'textAttribute': { 'position': "center", "offset": 0, @@ -222,7 +230,9 @@ core.prototype.init = function (coreData, callback) { this._initPlugins(); core.loader._load(function () { - core._afterLoadResources(callback); + core.extensions._load(function () { + core._afterLoadResources(callback); + }); }); } @@ -232,11 +242,39 @@ core.prototype._init_flags = function () { core.firstData = core.clone(core.data.firstData); this._init_sys_flags(); - core.dom.versionLabel.innerHTML = core.firstData.version; - core.dom.logoLabel.innerHTML = core.firstData.title; + core.dom.versionLabel.innerText = core.firstData.version; + core.dom.logoLabel.innerText = core.firstData.title; document.title = core.firstData.title + " - HTML5魔塔"; - document.getElementById("startLogo").innerHTML = core.firstData.title; + document.getElementById("startLogo").innerText = core.firstData.title; (core.firstData.shops||[]).forEach(function (t) { core.initStatus.shops[t.id] = t; }); + // 初始化自动事件 + for (var floorId in core.floors) { + var autoEvents = core.floors[floorId].autoEvent || {}; + for (var loc in autoEvents) { + var locs = loc.split(","), x = parseInt(locs[0]), y = parseInt(locs[1]); + for (var index in autoEvents[loc]) { + var autoEvent = core.clone(autoEvents[loc][index]); + if (autoEvent && autoEvent.condition && autoEvent.data) { + autoEvent.floorId = floorId; + autoEvent.x = x; + autoEvent.y = y; + autoEvent.index = index; + autoEvent.symbol = floorId + "@" + x + "@" + y + "@" + index; + autoEvent.condition = core.replaceValue(autoEvent.condition); + autoEvent.data = core.precompile(autoEvent.data); + core.initStatus.autoEvents.push(autoEvent); + } + } + } + } + core.initStatus.autoEvents.sort(function (e1, e2) { + if (e1.priority != e2.priority) return e2.priority - e1.priority; + if (e1.floorId != e2.floorId) return core.floorIds.indexOf(e1.floorId) - core.floorIds.indexOf(e2.floorId); + if (e1.x != e2.x) return e1.x - e2.x; + if (e1.y != e2.y) return e1.y - e2.y; + return e1.index - e2.index; + }) + core.maps._setFloorSize(); // 初始化怪物、道具等 core.material.enemys = core.enemys.getEnemys(); @@ -252,6 +290,8 @@ core.prototype._init_sys_flags = function () { 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.values.moveSpeed = core.getLocalStorage('moveSpeed', core.values.moveSpeed); } core.prototype._init_platform = function () { @@ -268,6 +308,8 @@ core.prototype._init_platform = function () { } core.musicStatus.bgmStatus = core.getLocalStorage('bgmStatus', true); core.musicStatus.soundStatus = core.getLocalStorage('soundStatus', true); + //新增 userVolume 默认值1.0 + core.musicStatus.userVolume = core.getLocalStorage('userVolume', 1.0); ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"].forEach(function (t) { if (navigator.userAgent.indexOf(t) >= 0) { if (t == 'iPhone' || t == 'iPad' || t == 'iPod') core.platform.isIOS = true; @@ -276,14 +318,13 @@ core.prototype._init_platform = function () { } }); core.platform.string = core.platform.isPC ? "PC" : core.platform.isAndroid ? "Android" : core.platform.isIOS ? "iOS" : ""; - core.platform.supportCopy = document.queryCommandSupported || document.queryCommandSupported("copy"); + core.platform.supportCopy = document.queryCommandSupported && document.queryCommandSupported("copy"); var chrome = /Chrome\/(\d+)\./i.exec(navigator.userAgent); if (chrome && parseInt(chrome[1]) >= 50) core.platform.isChrome = true; core.platform.isSafari = /Safari/i.test(navigator.userAgent) && !/Chrome/i.test(navigator.userAgent); core.platform.isQQ = /QQ/i.test(navigator.userAgent); core.platform.isWeChat = /MicroMessenger/i.test(navigator.userAgent); this._init_checkLocalForage(); - core.platform.extendKeyboard = core.getLocalStorage("extendKeyboard", false); if (window.FileReader) { core.platform.fileReader = new FileReader(); core.platform.fileReader.onload = function () { diff --git a/libs/enemys.js b/libs/enemys.js index 51ef8552..e9aaab26 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -19,7 +19,16 @@ enemys.prototype._init = function () { } enemys.prototype.getEnemys = function () { - return core.clone(this.enemys); + var enemys = core.clone(this.enemys); + var enemyInfo = core.getFlag('enemyInfo'); + if (enemyInfo) { + for (var id in enemyInfo) { + for (var name in enemyInfo[id]) { + enemys[id][name] = core.clone(enemyInfo[id][name]); + } + } + } + return enemys; } ////// 判断是否含有某特殊属性 ////// @@ -241,6 +250,11 @@ enemys.prototype._nextCriticals_useBinarySearch = function (enemy, info, number, enemys.prototype._nextCriticals_useTurn = function (enemy, info, number, x, y, floorId) { var mon_hp = info.mon_hp, hero_atk = core.status.hero.atk, mon_def = info.mon_def, turn = info.turn; + // ------ 超大回合数强制使用二分算临界 + // 以避免1攻10e回合,2攻5e回合导致下述循环卡死问题 + if (turn >= 1e6) { // 100w回合以上强制二分计算临界 + return this._nextCriticals_useBinarySearch(enemy, info, number, x, y, floorId); + } var list = [], pre = null; for (var t = turn - 1; t >= 1; t--) { var nextAtk = Math.ceil(mon_hp / t) + mon_def; @@ -293,10 +307,8 @@ enemys.prototype._calDamage = function (enemy, hero, x, y, floorId) { return info.damage; } -////// 更新怪物数据 ////// -enemys.prototype.updateEnemys = function () { - return this.enemydata.updateEnemys(); -} +////// 更新怪物数据。已经不再使用,这里留空进行兼容。 ////// +enemys.prototype.updateEnemys = function () {} ////// 获得当前楼层的怪物列表 ////// enemys.prototype.getCurrentEnemys = function (floorId) { @@ -360,6 +372,14 @@ enemys.prototype._getCurrentEnemys_sort = function (enemys) { } enemys.prototype.hasEnemyLeft = function (enemyId, floorId) { + if (floorId == null) floorId = core.status.floorId; + if (floorId instanceof Array) { + for (var i = 0; i < floorId.length; ++i) { + if (core.hasEnemyLeft(enemyId, floorId[i])) + return true; + } + return false; + } return core.getCurrentEnemys(floorId).filter(function (enemy) { return enemyId == null || enemy.id == enemyId; }).length > 0; diff --git a/libs/events.js b/libs/events.js index dc88d9c9..80c92ccf 100644 --- a/libs/events.js +++ b/libs/events.js @@ -41,7 +41,7 @@ events.prototype.startGame = function (hard, seed, route, callback) { events.prototype._startGame_start = function (hard, seed, route, callback) { console.log('开始游戏'); - core.resetGame(core.firstData.hero, hard, null, core.initStatus.maps); + core.resetGame(core.firstData.hero, hard, null, core.clone(core.initStatus.maps)); var nowLoc = core.clone(core.getHeroLoc()); core.setHeroLoc('x', -1); core.setHeroLoc('y', -1); @@ -108,9 +108,9 @@ events.prototype.setInitData = function () { } ////// 游戏获胜事件 ////// -events.prototype.win = function (reason, norank) { - core.status.gameOver = true; - return this.eventdata.win(reason, norank); +events.prototype.win = function (reason, norank, noexit) { + if (!noexit) core.status.gameOver = true; + return this.eventdata.win(reason, norank, noexit); } ////// 游戏失败事件 ////// @@ -121,10 +121,12 @@ events.prototype.lose = function (reason) { ////// 游戏结束 ////// events.prototype.gameOver = function (ending, fromReplay, norank) { - core.clearMap('all'); - core.deleteAllCanvas(); - core.dom.gif2.innerHTML = ""; - core.setWeather(); + if (!core.status.extraEvent) { + core.clearMap('all'); + core.deleteAllCanvas(); + core.dom.gif2.innerHTML = ""; + core.setWeather(); + } core.ui.closePanel(); if (main.isCompetition && ending != null) { @@ -220,12 +222,29 @@ events.prototype._gameOver_confirmDownload = function (ending) { } events.prototype._gameOver_askRate = function (ending) { - if (ending == null) { - core.restart(); + core.ui.closePanel(); + + // 继续接下来的事件 + if (core.status.extraEvent) { + core.status.event = core.status.extraEvent; + delete core.status.extraEvent; + core.lockControl(); + core.doAction(); + return; + } + + if (ending == null) { + core.status.event.selection = 0; + core.ui.drawConfirmBox("你想读取自动存档么?", function () { + core.ui.closePanel(); + core.doSL("autoSave", "load"); + }, function () { + core.ui.closePanel(); + core.restart(); + }); return; } - core.ui.closePanel(); core.ui.drawConfirmBox("恭喜通关本塔,你想进行评分吗?", function () { if (core.platform.isPC) { window.open("/score.php?name=" + core.firstData.name + "&num=10", "_blank"); @@ -297,6 +316,12 @@ events.prototype._trigger = function (x, y) { var block = core.getBlock(x, y); if (block == null) return; block = block.block; + + // 执行该点的脚本 + try { + eval(block.event.script); + } catch (e) { main.log(e); } + if (block.event.trigger) { var noPass = block.event.noPass, trigger = block.event.trigger; if (noPass) core.clearAutomaticRouteNode(x, y); @@ -341,7 +366,7 @@ events.prototype.battle = function (id, x, y, force, callback) { if (!id) return core.clearContinueAutomaticRoute(callback); // 非强制战斗 if (!core.enemys.canBattle(id, x, y) && !force && !core.status.event.id) { - core.drawTip("你打不过此怪物!"); + core.drawTip("你打不过此怪物!", null, true); return core.clearContinueAutomaticRoute(callback); } // 自动存档 @@ -401,8 +426,8 @@ events.prototype._openDoor_check = function (id, x, y, needKey) { var key = id.replace("Door", "Key"); if (!core.hasItem(key)) { if (key != "specialKey") - core.drawTip("你没有" + ((core.material.items[key] || {}).name || "钥匙")); - else core.drawTip("无法开启此门"); + core.drawTip("你没有" + ((core.material.items[key] || {}).name || "钥匙"), null, true); + else core.drawTip("无法开启此门", null, true); core.clearContinueAutomaticRoute(); return false; } @@ -419,20 +444,23 @@ events.prototype._openDoor_animate = function (id, x, y, callback) { var locked = core.status.lockControl; core.lockControl(); core.status.replay.animate = true; + core.removeBlock(x, y); + core.drawImage('event', core.material.images.animates, 0, 32 * door, 32, 32, 32 * x, 32 * y, 32, 32); var state = 0; var animate = window.setInterval(function () { + core.clearMap('event', 32 * x, 32 * y, 32, 32); state++; if (state == 4) { clearInterval(animate); - core.removeBlock(x, y); + delete core.animateFrame.asyncId[animate]; if (!locked) core.unLockControl(); core.status.replay.animate = false; core.events.afterOpenDoor(id, x, y, callback); return; } - core.clearMap('event', 32 * x, 32 * y, 32, 32); core.drawImage('event', core.material.images.animates, 32 * state, 32 * door, 32, 32, 32 * x, 32 * y, 32, 32); - }, speed / core.status.replay.speed); + }, core.status.replay.speed == 24 ? 1 : speed / Math.max(core.status.replay.speed, 1)); + core.animateFrame.asyncId[animate] = true; } ////// 开一个门后触发的事件 ////// @@ -453,8 +481,28 @@ events.prototype.getItem = function (id, num, x, y, callback) { core.removeBlock(x, y); var text = '获得 ' + core.material.items[id].name; if (num > 1) text += "x" + num; - if (itemCls === 'items') text += core.items.getItemEffectTip(id); + if (itemCls === 'items' && num == 1) text += core.items.getItemEffectTip(id); core.drawTip(text, id); + + // --- 首次获得道具的提示 + if (!core.hasFlag("__itemHint__")) core.setFlag("__itemHint__", []); + var itemHint = core.getFlag("__itemHint__"); + if (core.flags.itemFirstText && itemHint.indexOf(id) < 0 && itemCls != 'items') { + var hint = core.material.items[id].text || "该道具暂无描述"; + try { + hint = core.replaceText(hint); + } catch (e) {} + if (!core.status.event.id || core.status.event.id=='action') { + core.insertAction("\t["+core.material.items[id].name+","+id+"]" + hint + "\n" + + (itemCls == 'keys' || id == 'greenKey' || id == 'steelKey' ? "(钥匙类道具,遇到对应的门时自动打开)" + : itemCls == 'tools' ? "(消耗类道具,请按T在道具栏使用)" + : itemCls == 'constants' ? "(永久类道具,请按T在道具栏使用)" + : itemCls == 'equips' ? "(装备类道具,请按Q在装备栏进行装备)" : "")); + } + itemHint.push(id); + } + + core.updateStatusBar(); this.afterGetItem(id, x, y, callback); @@ -466,17 +514,31 @@ events.prototype.afterGetItem = function (id, x, y, callback) { ////// 获得面前的物品(轻按) ////// events.prototype.getNextItem = function (noRoute) { - if (core.isMoving() || !core.canMoveHero() || !core.flags.enableGentleClick) return false; + if (core.isMoving() || !core.flags.enableGentleClick) return false; + if (this._canGetNextItem()) return this._getNextItem(null, noRoute); - var nextX = core.nextX(), nextY = core.nextY(); - var block = core.getBlock(nextX, nextY); - if (block == null) return false; - if (block.block.event.trigger == 'getItem') { - if (!noRoute) core.status.route.push("getNext"); - this.getItem(block.block.event.id, 1, nextX, nextY); - return true; - } - return false; + var directions = ["up", "down", "left", "right"].filter(function (dir) { + return core.events._canGetNextItem(dir); + }); + return directions.length == 1 ? this._getNextItem(directions[0]) : false; +} + +events.prototype._canGetNextItem = function (direction) { + direction = direction || core.getHeroLoc('direction'); + if (!core.canMoveHero(null, null, direction)) return; + var nx = core.getHeroLoc('x') + core.utils.scan[direction].x; + var ny = core.getHeroLoc('y') + core.utils.scan[direction].y; + var block = core.getBlock(nx, ny); + return block != null && block.block.event.trigger == 'getItem'; +} + +events.prototype._getNextItem = function (direction, noRoute) { + direction = direction || core.getHeroLoc('direction'); + var nx = core.getHeroLoc('x') + core.utils.scan[direction].x; + var ny = core.getHeroLoc('y') + core.utils.scan[direction].y; + if (!noRoute) core.status.route.push("getNext"); + this.getItem(core.getBlockId(nx, ny), 1, nx, ny); + return true; } events.prototype._sys_changeFloor = function (data, callback) { @@ -502,11 +564,13 @@ events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback floorId = info.floorId; info.locked = core.status.lockControl; - core.dom.floorNameLabel.innerHTML = core.status.maps[floorId].title; + core.dom.floorNameLabel.innerText = core.status.maps[floorId].title; core.lockControl(); core.stopAutomaticRoute(); core.clearContinueAutomaticRoute(); core.status.replay.animate = true; + clearInterval(core.interval.onDownInterval); + core.interval.onDownInterval = 'tmp'; this._changeFloor_beforeChange(info, callback); } @@ -545,8 +609,19 @@ events.prototype._changeFloor_getHeroLoc = function (floorId, stair, heroLoc) { if (!heroLoc) heroLoc = core.clone(core.status.hero.loc); if (stair) { + // --- 对称 + if (stair == ':now') + heroLoc = core.clone(core.status.hero.loc); + else if (stair == ':symmetry') { + heroLoc.x = core.bigmap.width - 1 - core.getHeroLoc('x'); + heroLoc.y = core.bigmap.height - 1 - core.getHeroLoc('y'); + } + else if (stair == ':symmetry_x') + heroLoc.x = core.bigmap.width - 1 - core.getHeroLoc('x'); + else if (stair == ':symmetry_y') + heroLoc.y = core.bigmap.height - 1 - core.getHeroLoc('y'); // 检查该层地图的 upFloor & downFloor - if (core.status.maps[floorId][stair]) { + else if (core.status.maps[floorId][stair]) { heroLoc.x = core.status.maps[floorId][stair][0]; heroLoc.y = core.status.maps[floorId][stair][1]; } @@ -627,20 +702,26 @@ events.prototype._sys_passNet = function (data, callback) { ////// 经过一个路障 ////// events.prototype.passNet = function (data) { - if (core.hasItem('shoes')) return; - // 血网 lavaNet 移动到 checkBlock 中处理 - if (data.event.id == 'poisonNet') { // 毒网 - core.insertAction({"type":"insert","name":"毒衰咒处理","args":[0]}); - } - else if (data.event.id == 'weakNet') { // 衰网 - core.insertAction({"type":"insert","name":"毒衰咒处理","args":[1]}); - } - else if (data.event.id == 'curseNet') { // 咒网 - core.insertAction({"type":"insert","name":"毒衰咒处理","args":[2]}); + if (!core.hasItem('shoes')) { + // 血网 lavaNet 移动到 checkBlock 中处理 + if (data.event.id == 'poisonNet') { // 毒网 + core.insertAction({"type":"insert","name":"毒衰咒处理","args":[0]}); + } + else if (data.event.id == 'weakNet') { // 衰网 + core.insertAction({"type":"insert","name":"毒衰咒处理","args":[1]}); + } + else if (data.event.id == 'curseNet') { // 咒网 + core.insertAction({"type":"insert","name":"毒衰咒处理","args":[2]}); + } } + this.afterPassNet(data.x, data.y, data.event.id); core.updateStatusBar(); } +events.prototype.afterPassNet = function (x, y, id) { + if (this.eventdata.afterPassNet) this.eventdata.afterPassNet(x, y, id); +} + events.prototype._sys_pushBox = function (data, callback) { this.pushBox(data); if (callback) callback(); @@ -715,7 +796,7 @@ events.prototype._sys_action = function (data, callback) { var dir = core.reverseDirection(); var id = data.event.id, toId = (data.event.faceIds || {})[dir]; if (toId && id != toId) { - var number = core.icons.getNumberById(toId); + var number = core.getNumberById(toId); if (number > 0) core.setBlock(number, ex, ey); } @@ -761,11 +842,20 @@ events.prototype.doEvent = function (data, x, y, prefix) { events.prototype.setEvents = function (list, x, y, callback) { var data = core.status.event.data || {}; - if (list) + if (list) { data.list = [{todo: core.clone(list), total: core.clone(list), condition: "false"}]; + // 结束所有正在执行的自动事件 + if (list.length == 0) { + core.status.autoEvents.forEach(function (autoEvent) { + core.autoEventExecuting(autoEvent.symbol, false); + }); + } + } if (x != null) data.x = x; if (y != null) data.y = y; if (callback) data.callback = callback; + if (!data.appendingEvents) data.appendingEvents = []; + if (!data.locStack) data.locStack = []; core.status.event.id = 'action'; core.status.event.data = data; } @@ -785,16 +875,19 @@ events.prototype.startEvents = function (list, x, y, callback) { } ////// 执行当前自定义事件列表中的下一个事件 ////// -events.prototype.doAction = function () { - // 清空boxAnimate和UI层 - core.clearUI(); - clearInterval(core.status.event.interval); - core.status.event.interval = null; +events.prototype.doAction = function (keepUI) { + if (!keepUI) { + // 清空boxAnimate和UI层 + core.clearUI(); + clearInterval(core.status.event.interval); + core.status.event.interval = null; + } // 判定是否执行完毕 if (this._doAction_finishEvents()) return; + var floorId = core.status.event.data.floorId || core.status.floorId; // 当前点坐标和前缀 var x = core.status.event.data.x, y = core.status.event.data.y; - var prefix = [core.status.floorId || ":f", x != null ? x : "x", y != null ? y : "y"].join("@"); + var prefix = [floorId || ":f", x != null ? x : "x", y != null ? y : "y"].join("@"); var current = core.status.event.data.list[0]; if (this._popEvents(current, prefix)) return; // 当前要执行的事件 @@ -802,6 +895,7 @@ events.prototype.doAction = function () { core.status.event.data.current = data; if (typeof data == "string") data = {"type": "text", "text": data}; + data.floorId = data.floorId || floorId; core.status.event.data.type = data.type; this.doEvent(data, x, y, prefix); return; @@ -810,6 +904,11 @@ events.prototype.doAction = function () { events.prototype._doAction_finishEvents = function () { // 事件处理完毕 if (core.status.event.data.list.length == 0) { + // 检测并执行延迟自动事件 + if (core.status.event.data.appendingEvents.length > 0) { + this.setEvents(core.status.event.data.appendingEvents.shift()); + return false; + } var callback = core.status.event.data.callback; core.ui.closePanel(); if (callback) callback(); @@ -840,9 +939,14 @@ events.prototype.insertAction = function (action, x, y, callback, addToLast) { // ------ 判定commonEvent var commonEvent = this.getCommonEvent(action); - if (commonEvent instanceof Array) action = commonEvent; + if (commonEvent instanceof Array) { + // 将公共事件视为一个do-while事件插入执行,可被break跳出 + action = [{"type": "dowhile", "condition": "false", "data": commonEvent}]; + } if (!action) return; + action = this.precompile(action); + if (core.status.event.id != 'action') { this.startEvents(action, x, y, callback); } @@ -876,6 +980,183 @@ events.prototype.recoverEvents = function (data) { return false; } +////// 检测自动事件 ////// +events.prototype.checkAutoEvents = function () { + // 只有在无操作或事件流中才能执行自动事件! + if (!core.isPlaying() || (core.status.lockControl && core.status.event.id != 'action')) return; + var todo = [], delay = []; + core.status.autoEvents.forEach(function (autoEvent) { + var symbol = autoEvent.symbol, x = autoEvent.x, y = autoEvent.y, floorId = autoEvent.floorId; + // 不在当前楼层 or 已经执行过 or 正在执行中 + if (autoEvent.currentFloor && floorId != core.status.floorId) return; + if (!autoEvent.multiExecute && core.autoEventExecuted(symbol)) return; + if (core.autoEventExecuting(symbol)) return; + var prefix = floorId + "@" + x + "@" + y; + try { + if (!core.calValue(autoEvent.condition, prefix)) return; + } catch (e) { + return; + } + + core.autoEventExecuting(symbol, true); + core.autoEventExecuted(symbol, true); + + var event = [ + {"type": "function", "function": + "function() { core.pushEventLoc(" + x + ", " + y + ", '" + floorId + "' ); }"}, + // 用do-while(0)包一层防止break影响事件流 + {"type": "dowhile", "condition": "false", "data": autoEvent.data}, + {"type": "function", "function": + "function() { core.popEventLoc(); core.autoEventExecuting('" + symbol + "', false); }"} + ]; + + if (autoEvent.delayExecute) + delay.push(event); + else + core.push(todo, event); + }); + + if (todo.length == 0 && delay.length == 0) return; + + if (core.status.event.id == 'action' || todo.length > 0) { + core.insertAction(todo); + core.push(core.status.event.data.appendingEvents, delay); + } else { + core.insertAction(delay[0]); + if (delay.length > 0) { + core.insertAction(delay.slice(1)); + } + } + +} + +events.prototype.autoEventExecuting = function (symbol, value) { + var name = '_executing_autoEvent_' + symbol; + if (value == null) return core.hasFlag(name); + else core.setFlag(name, value || null); +} + +events.prototype.autoEventExecuted = function (symbol, value) { + var name = '_executed_autoEvent_' + symbol; + if (value == null) return core.hasFlag(name); + else core.setFlag(name, value || null); +} + +events.prototype.pushEventLoc = function (x, y, floorId) { + if (core.status.event.id != 'action') return; + core.status.event.data.locStack.push({ + x: core.status.event.data.x, + y: core.status.event.data.y, + floorId: core.status.event.data.floorId + }); + core.status.event.data.x = x; + core.status.event.data.y = y; + core.status.event.data.floorId = floorId; +} + +events.prototype.popEventLoc = function () { + if (core.status.event.id != 'action') return; + var loc = core.status.event.data.locStack.shift(); + if (loc) { + core.status.event.data.x = loc.x; + core.status.event.data.y = loc.y; + core.status.event.data.floorId = loc.floorId; + } +} + +events.prototype.precompile = function (data) { + var array = this.__precompile_getArray(); + if (typeof data == 'string') { + return this.__precompile_text(data); + } + if (data instanceof Array) { + for (var i = 0; i < data.length; ++i) { + data[i] = this.precompile(data[i]); + } + return data; + } + if (data && data.type) { + if (this["_precompile_" + data.type]) { + data = this["_precompile_" + data.type](data); + } + if (array.texts.indexOf(data.type) >= 0) { + data.text = this.__precompile_text(data.text); + } + if (array.locs.indexOf(data.type) >= 0) { + data.loc = this.__precompile_array(data.loc); + } + if (array.values.indexOf(data.type) >= 0) { + data.value = core.replaceValue(data.value); + } + if (array.uievents.indexOf(data.type) >= 0) { + data.x = core.replaceValue(data.x); + data.y = core.replaceValue(data.y); + data.width = core.replaceValue(data.width); + data.height = core.replaceValue(data.height); + } + if (data.type in array.others) { + array.others[data.type].forEach(function (field) { + data[field] = core.replaceValue(data[field]); + }) + } + } + return data; +} + +events.prototype.__precompile_getArray = function () { + var texts = [ + "text", "autoText", "scrollText", "tip", "textImage", "input", "input2", + "choices", "confirm", "fillText", "fillBoldText", "drawTextContent" + ]; + var locs = [ + "show", "hide", "setBlock", "showFloorImg", "hideFloorImg", "showBgFgMap", + "hideBgFgMap", "setBgFgBlock", "animate", "setViewport", "move", "jumoHero", + "changeFloor", "changePos", "showTextImage", "showGif", "openDoor", + "closeDoor", "battle", "trigger", "insert" + ]; + var values = [ + "setValue", "setValue2", "addValue", "setEnemy", "setFloor", "setGlobalValue", + ]; + var uievents = [ + "clearMap", "fillText", "fillBoldText", "fillRect", "strokeRect", "strokeCircle", + "drawIcon", "drawSelector", "drawBackground", + ]; + var others = { + "strokeCircle": ["r"], + "drawLine": ["x1", "y1", "x2", "y2"], + "drawArrow": ["x1", "y1", "x2", "y2"], + "drawImage": ["x", "y", "w", "h", "x1", "y1", "w1", "h1"], + "drawTextContent": ["left", "top"], + }; + return { + texts: texts, + locs: locs, + values: values, + uievents: uievents, + others: others + }; +} + +events.prototype.__precompile_text = function (text) { + if (typeof text != 'string') return text; + return text.replace(/\${(.*?)}/g, function (word, value) { + return "${" + core.replaceValue(value) + "}"; + }); +} + +events.prototype.__precompile_array = function (value) { + if (typeof value == 'string') { + value = core.replaceValue(value); + return value; + } + if (value instanceof Array) { + for (var i = 0; i < value.length; ++i) { + value[i] = this.__precompile_array(value[i]); + } + } + return value; +} + // ------ 样板提供的的自定义事件 ------ // events.prototype.__action_checkReplaying = function () { @@ -936,7 +1217,7 @@ events.prototype._action_comment = function (data, x, y, prefix) { } events.prototype._action_setText = function (data, x, y, prefix) { - ["position", "offset", "align", "bold", "titlefont", "textfont", "time"].forEach(function (t) { + ["position", "offset", "align", "bold", "titlefont", "textfont", "time", "interval"].forEach(function (t) { if (data[t] != null) core.status.textAttribute[t] = data[t]; }); ["background", "title", "text"].forEach(function (t) { @@ -945,9 +1226,10 @@ events.prototype._action_setText = function (data, x, y, prefix) { core.status.textAttribute[t] = data[t]; } if (t == 'background') { - var img = core.material.images.images[data[t]]; + var name = core.getMappedName(data[t]); + var img = core.material.images.images[name]; if (img && img.width == 192 && img.height == 128) { - core.status.textAttribute[t] = data[t]; + core.status.textAttribute[t] = name; } } }); @@ -962,7 +1244,7 @@ events.prototype._action_tip = function (data, x, y, prefix) { events.prototype._action_show = function (data, x, y, prefix) { data.loc = this.__action_getLoc2D(data.loc, x, y, prefix); - if (data.time > 0 && !(data.floorId && data.floorId != core.status.floorId)) { + if (data.time > 0 && data.floorId == core.status.floorId) { this.__action_doAsyncFunc(data.async, core.animateBlock, data.loc, 'show', data.time); } else { @@ -975,7 +1257,7 @@ events.prototype._action_show = function (data, x, y, prefix) { events.prototype._action_hide = function (data, x, y, prefix) { data.loc = this.__action_getLoc2D(data.loc, x, y, prefix); - if (data.time > 0 && !(data.floorId && data.floorId != core.status.floorId)) { + if (data.time > 0 && data.floorId == core.status.floorId) { data.loc.forEach(function (t) { core.hideBlock(t[0], t[1], data.floorId); }); @@ -990,8 +1272,10 @@ events.prototype._action_hide = function (data, x, y, prefix) { } events.prototype._action_setBlock = function (data, x, y, prefix) { - var loc = this.__action_getLoc(data.loc, x, y, prefix); - core.setBlock(data.number, loc[0], loc[1], data.floorId); + data.loc = this.__action_getLoc2D(data.loc, x, y, prefix); + data.loc.forEach(function (t) { + core.setBlock(data.number, t[0], t[1], data.floorId); + }); core.doAction(); } @@ -1012,8 +1296,10 @@ events.prototype._action_hideBgFgMap = function (data, x, y, prefix) { } events.prototype._action_setBgFgBlock = function (data, x, y, prefix) { - var loc = this.__action_getLoc(data.loc, x, y, prefix); - core.setBgFgBlock(data.name, data.number, loc[0], loc[1], data.floorId); + data.loc = this.__action_getLoc2D(data.loc, x, y, prefix); + data.loc.forEach(function (t) { + core.setBgFgBlock(data.name, data.number, t[0], t[1], data.floorId); + }); core.doAction(); } @@ -1028,9 +1314,27 @@ events.prototype._action_unfollow = function (data, x, y, prefix) { } events.prototype._action_animate = function (data, x, y, prefix) { - if (data.loc == 'hero') data.loc = [core.getHeroLoc('x'), core.getHeroLoc('y')]; - else data.loc = this.__action_getLoc(data.loc, x, y, prefix); - this.__action_doAsyncFunc(data.async, core.drawAnimate, data.name, data.loc[0], data.loc[1]); + if (data.loc == 'hero') { + this.__action_doAsyncFunc(data.async, core.drawHeroAnimate, data.name); + } else { + data.loc = this.__action_getLoc(data.loc, x, y, prefix); + this.__action_doAsyncFunc(data.async, core.drawAnimate, data.name, data.loc[0], data.loc[1]); + } +} + +events.prototype._action_setViewport = function (data, x, y, prefix) { + if (data.loc == null) { + core.drawHero(); + } + else { + var loc = this.__action_getLoc(data.loc, x, y, prefix); + core.setViewport(32 * loc[0], 32 * loc[1]); + } + core.doAction(); +} + +events.prototype._action_moveViewport = function (data, x, y, prefix) { + this.__action_doAsyncFunc(data.async, core.moveViewport, data.steps, data.time); } events.prototype._action_move = function (data, x, y, prefix) { @@ -1048,6 +1352,12 @@ events.prototype._action_jump = function (data, x, y, prefix) { this.__action_doAsyncFunc(data.async, core.jumpBlock, from[0], from[1], to[0], to[1], data.time, data.keep); } +events.prototype._precompile_jump = function (data) { + data.from = this.__precompile_array(data.from); + data.to = this.__precompile_array(data.to); + return data; +} + events.prototype._action_jumpHero = function (data, x, y, prefix) { var loc = this.__action_getHeroLoc(data.loc, prefix); this.__action_doAsyncFunc(data.async, core.jumpHero, loc[0], loc[1], data.time); @@ -1056,7 +1366,7 @@ events.prototype._action_jumpHero = function (data, x, y, prefix) { events.prototype._action_changeFloor = function (data, x, y, prefix) { var loc = this.__action_getHeroLoc(data.loc, prefix); var heroLoc = {x: loc[0], y: loc[1], direction: data.direction}; - core.changeFloor(data.floorId || core.status.floorId, null, heroLoc, data.time, core.doAction); + core.changeFloor(data.floorId, null, heroLoc, data.time, core.doAction); } events.prototype._action_changePos = function (data, x, y, prefix) { @@ -1075,11 +1385,17 @@ events.prototype._action_showImage = function (data, x, y, prefix) { data.code, data.image, data.sloc, data.loc, data.opacity, data.time); } +events.prototype._precompile_showImage = function (data) { + data.sloc = this.__precompile_array(data.sloc); + data.loc = this.__precompile_array(data.loc); + return data; +} + events.prototype._action_showTextImage = function (data, x, y, prefix) { var loc = this.__action_getLoc(data.loc, 0, 0, prefix); if (core.isReplaying()) data.time = 0; this.__action_doAsyncFunc(data.async || data.time == 0, core.showImage, - data.code, core.ui.textImage(data.text), loc[0], loc[1], 100, 100, data.opacity, data.time); + data.code, core.ui.textImage(data.text), null, loc, data.opacity, data.time); } events.prototype._action_hideImage = function (data, x, y, prefix) { @@ -1098,6 +1414,11 @@ events.prototype._action_moveImage = function (data, x, y, prefix) { this.__action_doAsyncFunc(data.async, core.moveImage, data.code, data.to, data.opacity, data.time); } +events.prototype._precompile_moveImage = function (data) { + data.to = this.__precompile_array(data.to); + return data; +} + events.prototype._action_setFg = function (data, x, y, prefix) { return this._action_setCurtain(data, x, y, prefix); } @@ -1130,9 +1451,9 @@ events.prototype._action_setWeather = function (data, x, y, prefix) { events.prototype._action_openDoor = function (data, x, y, prefix) { var loc = this.__action_getLoc(data.loc, x, y, prefix); - var floorId = data.floorId || core.status.floorId; + var floorId = data.floorId; if (floorId == core.status.floorId) { - core.openDoor(loc[0], loc[1], data.needKey, core.doAction); + this.__action_doAsyncFunc(data.async, core.openDoor, loc[0], loc[1], data.needKey); } else { core.removeBlock(loc[0], loc[1], floorId); @@ -1142,7 +1463,7 @@ events.prototype._action_openDoor = function (data, x, y, prefix) { events.prototype._action_closeDoor = function (data, x, y, prefix) { var loc = this.__action_getLoc(data.loc, x, y, prefix); - core.closeDoor(loc[0], loc[1], data.id, core.doAction); + this.__action_doAsyncFunc(data.async, core.closeDoor, loc[0], loc[1], data.id); } events.prototype._action_useItem = function (data, x, y, prefix) { @@ -1156,6 +1477,16 @@ events.prototype._action_useItem = function (data, x, y, prefix) { } } +events.prototype._action_loadEquip = function (data, x, y, prefix) { + core.loadEquip(data.id); + core.doAction(); +} + +events.prototype._action_unloadEquip = function (data, x, y, prefix) { + core.unloadEquip(data.pos); + core.doAction(); +} + events.prototype._action_openShop = function (data, x, y, prefix) { core.status.shops[data.id].visited = true; this.setEvents([]); @@ -1171,7 +1502,17 @@ events.prototype._action_disableShop = function (data, x, y, prefix) { } events.prototype._action_battle = function (data, x, y, prefix) { - this.battle(data.id, null, null, true, core.doAction); + if (data.id) { + this.battle(data.id, null, null, true, core.doAction); + } + else { + if (data.floorId != core.status.floorId) { + core.doAction(); + return; + } + var loc = this.__action_getLoc(data.loc, x, y, prefix); + this.battle(null, loc[0], loc[1], true, core.doAction); + } } events.prototype._action_trigger = function (data, x, y, prefix) { @@ -1179,9 +1520,9 @@ events.prototype._action_trigger = function (data, x, y, prefix) { var block = core.getBlock(loc[0], loc[1]); if (block != null && block.block.event.trigger) { block = block.block; - this.setEvents([], block.x, block.y); + this.setEvents(data.keep ? null : [], block.x, block.y); if (block.event.trigger == 'action') - this.setEvents(block.event.data); + this.insertAction(block.event.data); else { core.doSystemEvent(block.event.trigger, block, core.doAction); return; @@ -1207,7 +1548,7 @@ events.prototype._action_insert = function (data, x, y, prefix) { else { var loc = this.__action_getLoc(data.loc, x, y, prefix); core.setFlag('arg0', loc); - var floorId = data.floorId || core.status.floorId; + var floorId = data.floorId; var which = data.which || "events"; var event = (core.floors[floorId][which]||[])[loc[0] + "," + loc[1]]; if (event) this.insertAction(event.data || event); @@ -1217,6 +1558,7 @@ events.prototype._action_insert = function (data, x, y, prefix) { events.prototype._action_playBgm = function (data, x, y, prefix) { core.playBgm(data.name); + core.setFlag("__bgm__", data.keep ? data.name : null); core.doAction(); } @@ -1259,6 +1601,15 @@ events.prototype._action_setVolume = function (data, x, y, prefix) { events.prototype._action_setValue = function (data, x, y, prefix) { this.setValue(data.name, data.value, prefix); + if (!data.norefresh) { + if (core.status.hero.hp <= 0) { + core.status.hero.hp = 0; + core.updateStatusBar(); + core.events.lose(); + } else { + core.updateStatusBar(); + } + } core.doAction(); } @@ -1268,6 +1619,20 @@ events.prototype._action_setValue2 = function (data, x, y, prefix) { events.prototype._action_addValue = function (data, x, y, prefix) { this.addValue(data.name, data.value, prefix); + if (!data.norefresh) { + if (core.status.hero.hp <= 0) { + core.status.hero.hp = 0; + core.updateStatusBar(); + core.events.lose(); + } else { + core.updateStatusBar(); + } + } + core.doAction(); +} + +events.prototype._action_setEnemy = function (data, x, y, prefix) { + this.setEnemy(data.id, data.name, data.value, prefix); core.doAction(); } @@ -1326,10 +1691,8 @@ events.prototype.__action_getInput = function (hint, isText, callback) { callback(value); } catch (e) { - main.log(e); - core.stopReplay(); - core.insertAction(["录像文件出错,请在控制台查看报错信息。", {"type": "exit"}]); - core.doAction(); + core.control._replay_error(action); + return; } } else { @@ -1345,6 +1708,13 @@ events.prototype._action_if = function (data, x, y, prefix) { core.doAction(); } +events.prototype._precompile_if = function (data) { + data.condition = core.replaceValue(data.condition); + data["true"] = this.precompile(data["true"]); + data["false"] = this.precompile(data["false"]); + return data; +} + events.prototype._action_switch = function (data, x, y, prefix) { var key = core.calValue(data.condition, prefix) var list = []; @@ -1360,7 +1730,21 @@ events.prototype._action_switch = function (data, x, y, prefix) { core.doAction(); } +events.prototype._precompile_switch = function (data) { + data.condition = core.replaceValue(data.condition); + for (var i = 0; i < data.caseList.length; i++) { + data.caseList[i]["case"] = core.replaceValue(data.caseList[i]["case"]); + data.caseList[i].action = this.precompile(data.caseList[i].action); + } + return data; +} + events.prototype._action_choices = function (data, x, y, prefix) { + data.choices = data.choices.filter(function (x) { + if (x.condition == null || x.condition == '') return true; + try { return core.calValue(x.condition, prefix); } catch (e) { return true; } + }) + if (data.choices.length == 0) return this.doAction(); if (core.isReplaying()) { var action = core.status.replay.toReplay.shift(), index; // --- 忽略可能的turn事件 @@ -1371,19 +1755,26 @@ events.prototype._action_choices = function (data, x, y, prefix) { core.status.route.push("choices:" + index); core.insertAction(data.choices[index].action); core.doAction(); - }, 750 / Math.max(1, core.status.replay.speed)) + }, core.status.replay.speed == 24 ? 1 : 750 / Math.max(1, core.status.replay.speed)) } else { - main.log("录像文件出错!当前需要一个 choices: 项,实际为 " + action); - core.stopReplay(); - core.insertAction(["录像文件出错,请在控制台查看报错信息。", {"type": "exit"}]); - core.doAction(); + core.control._replay_error(action); return; } } core.ui.drawChoices(data.text, data.choices); } +events.prototype._precompile_choices = function (data) { + if (!(data.choices instanceof Array)) return data; + for (var i = 0; i < data.choices.length; ++i) { + data.choices[i].condition = core.replaceValue(data.choices[i].condition); + data.choices[i].text = this.__precompile_text(data.choices[i].text); + data.choices[i].action = this.precompile(data.choices[i].action); + } + return data; +} + events.prototype._action_confirm = function (data, x, y, prefix) { core.status.event.ui = {"text": data.text, "yes": data.yes, "no": data.no}; if (core.isReplaying()) { @@ -1397,13 +1788,10 @@ events.prototype._action_confirm = function (data, x, y, prefix) { if (index == 0) core.insertAction(data.yes); else core.insertAction(data.no); core.doAction(); - }, 750 / Math.max(1, core.status.replay.speed)) + }, core.status.replay.speed == 24 ? 1 : 750 / Math.max(1, core.status.replay.speed)) } else { - main.log("录像文件出错!当前需要一个 choices: 项,实际为 " + action); - core.stopReplay(); - core.insertAction(["录像文件出错,请在控制台查看报错信息。", {"type": "exit"}]); - core.doAction(); + core.control._replay_error(action); return; } } @@ -1413,6 +1801,12 @@ events.prototype._action_confirm = function (data, x, y, prefix) { core.ui.drawConfirmBox(data.text); } +events.prototype._precompile_confirm = function (data) { + data.yes = this.precompile(data.yes); + data.no = this.precompile(data.no); + return data; +} + events.prototype._action_while = function (data, x, y, prefix) { if (core.calValue(data.condition, prefix)) { core.unshift(core.status.event.data.list, @@ -1422,6 +1816,12 @@ events.prototype._action_while = function (data, x, y, prefix) { core.doAction(); } +events.prototype._precompile_while = function (data) { + data.condition = core.replaceValue(data.condition); + data.data = this.precompile(data.data); + return data; +} + events.prototype._action_dowhile = function (data, x, y, prefix) { core.unshift(core.status.event.data.list, {"todo": core.clone(data.data), "total": core.clone(data.data), "condition": data.condition} @@ -1429,6 +1829,12 @@ events.prototype._action_dowhile = function (data, x, y, prefix) { core.doAction(); } +events.prototype._precompile_dowhile = function (data) { + data.condition = core.replaceValue(data.condition); + data.data = this.precompile(data.data); + return data; +} + events.prototype._action_break = function (data, x, y, prefix) { core.status.event.data.list.shift(); core.doAction(); @@ -1445,11 +1851,11 @@ events.prototype._action_continue = function (data, x, y, prefix) { } events.prototype._action_win = function (data, x, y, prefix) { - this.win(data.reason, data.norank); + this.win(core.replaceText(data.reason), data.norank, data.noexit); } events.prototype._action_lose = function (data, x, y, prefix) { - this.lose(data.reason); + this.lose(core.replaceText(data.reason)); } events.prototype._action_restart = function (data, x, y, prefix) { @@ -1484,9 +1890,15 @@ events.prototype._action_hideStatusBar = function (data, x, y, prefix) { core.doAction(); } -events.prototype._action_updateEnemys = function (data, x, y, prefix) { - core.enemys.updateEnemys(); - core.updateStatusBar(); +events.prototype._action_showHero = function (data, x, y, prefix) { + core.removeFlag('hideHero'); + core.drawHero(); + core.doAction(); +} + +events.prototype._action_hideHero = function (data, x, y, prefix) { + core.setFlag('hideHero', true); + core.drawHero(); core.doAction(); } @@ -1508,6 +1920,7 @@ events.prototype._action_wait = function (data, x, y, prefix) { var value = parseInt(code.substring(6)); core.status.route.push("input:" + value); this.__action_wait_getValue(value); + this.__action_wait_afterGet(data); } else { main.log("录像文件出错!当前需要一个 input: 项,实际为 " + code); @@ -1542,6 +1955,42 @@ events.prototype.__action_wait_getValue = function (value) { } } +events.prototype.__action_wait_afterGet = function (data) { + if (!data.data) return; + var todo = []; + data.data.forEach(function (one) { + if (one["case"] == "keyboard" && core.getFlag("type") == 0) { + if (one["keycode"] == core.getFlag("keycode", 0)) { + core.push(todo, one.action); + } + } + if (one["case"] == "mouse" && one.px instanceof Array + && one.py instanceof Array && core.getFlag("type") == 1) { + var pxmin = core.calValue(one.px[0]); + var pxmax = core.calValue(one.px[1]); + var pymin = core.calValue(one.py[0]); + var pymax = core.calValue(one.py[1]); + var px = core.getFlag("px", 0), py = core.getFlag("py", 0); + if (px >= pxmin && px <= pxmax && py >= pymin && py <= pymax) { + core.push(todo, one.action); + } + } + }) + if (todo.length > 0) + core.insertAction(todo); +} + +events.prototype._precompile_wait = function (data) { + if (data.data) { + data.data.forEach(function (v) { + if (v.px) v.px = this.__precompile_array(v.px); + if (v.py) v.py = this.__precompile_array(v.py); + v.action = this.precompile(v.action); + }, this); + } + return data; +} + events.prototype._action_waitAsync = function (data, x, y, prefix) { var test = window.setInterval(function () { if (!core.hasAsync()) { @@ -1585,7 +2034,7 @@ events.prototype._action_callSave = function (data, x, y, prefix) { events.prototype._action_autoSave = function (data, x, y, prefix) { core.autosave(); - core.drawTip("已自动存档"); + if (!data.nohint) core.drawTip("已自动存档"); core.doAction(); } @@ -1602,6 +2051,114 @@ events.prototype._action_exit = function (data, x, y, prefix) { core.doAction(); } +events.prototype._action_previewUI = function (data, x, y, prefix) { + this.insertAction(data.action); + core.doAction(); +} + +events.prototype._precompile_previewUI = function (data) { + data.action = this.precompile(data.action); + return data; +} + +events.prototype.__action_doUIEvent = function (data) { + this.__action_doUIEvent_doOne(data); + var current = core.status.event.data.list[0]; + while (current.todo.length > 0) { + data = current.todo[0]; + if (this.__action_doUIEvent_doOne(current.todo[0])) + current.todo.shift(); + else break; + } + core.doAction(); +} + +events.prototype.__action_doUIEvent_doOne = function (data) { + if (core.ui['_uievent_' + data.type]) { + core.ui['_uievent_' + data.type](data); + return true; + } + return false; +} + +events.prototype._action_clearMap = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_fillText = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_fillBoldText = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_fillRect = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_fillPolygon = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._precompile_fillPolygon = function (data) { + data.nodes = this.__precompile_array(data.nodes); + return data; +} + +events.prototype._action_strokeRect = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_strokePolygon = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._precompile_strokePolygon = function (data) { + data.nodes = this.__precompile_array(data.nodes); + return data; +} + +events.prototype._action_fillCircle = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_strokeCircle = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_drawLine = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_drawArrow = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_setAttribute = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_drawImage = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_drawIcon = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_drawSelector = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_drawBackground = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + +events.prototype._action_drawTextContent = function (data, x, y, prefix) { + this.__action_doUIEvent(data); +} + // ------ 点击状态栏图标所进行的一些操作 ------ // ////// 判断当前能否进入某个事件 ////// @@ -1688,6 +2245,25 @@ events.prototype.openToolbox = function (fromUserAction) { ////// 点击快捷商店按钮时的打开操作 ////// events.prototype.openQuickShop = function (fromUserAction) { if (core.isReplaying()) return; + + if (Object.keys(core.status.shops).length == 0) { + core.drawTip("本塔没有快捷商店!"); + return; + } + + // --- 如果只有一个商店,则直接打开之 + if (Object.keys(core.status.shops).length == 1) { + var shopId = Object.keys(core.status.shops)[0]; + if (core.status.event.id != null || !this._checkStatus('shop', false)) return; + var reason = core.events.canUseQuickShop(shopId); + if (!core.flags.enableDisabledShop && reason) { + core.drawText(reason); + return; + } + core.events.openShop(shopId, true); + return; + } + if (!this._checkStatus('selectShop', fromUserAction)) return; core.ui.drawQuickShop(); } @@ -1747,8 +2323,8 @@ events.prototype.hasAsync = function () { ////// 跟随 ////// events.prototype.follow = function (name) { core.status.hero.followers = core.status.hero.followers || []; - if (core.material.images.images[name] - && core.material.images.images[name].width == 128) { + name = core.getMappedName(name); + if (core.material.images.images[name]) { core.status.hero.followers.push({"name": name}); core.gatherFollowers(); core.clearMap('hero'); @@ -1763,6 +2339,7 @@ events.prototype.unfollow = function (name) { core.status.hero.followers = []; } else { + name = core.getMappedName(name); for (var i = 0; i < core.status.hero.followers.length; i++) { if (core.status.hero.followers[i].name == name) { core.status.hero.followers.splice(i, 1); @@ -1783,17 +2360,12 @@ events.prototype.setValue = function (name, value, prefix, add) { this._setValue_setItem(name, value); this._setValue_setFlag(name, value); this._setValue_setSwitch(name, value, prefix); - core.updateStatusBar(); + this._setValue_setGlobal(name, value); } events.prototype._setValue_setStatus = function (name, value) { if (name.indexOf("status:") !== 0) return; core.setStatus(name.substring(7), value); - if (core.status.hero.hp <= 0) { - core.status.hero.hp = 0; - core.updateStatusBar(); - core.events.lose(); - } } events.prototype._setValue_setItem = function (name, value) { @@ -1813,6 +2385,11 @@ events.prototype._setValue_setSwitch = function (name, value, prefix) { core.setFlag((prefix || ":f@x@y") + "@" + name.substring(7), value); } +events.prototype._setValue_setGlobal = function (name, value) { + if (name.indexOf("global:") !== 0) return; + core.setGlobal(name.substring(7), value); +} + ////// 数值增减 ////// events.prototype.addValue = function (name, value, prefix) { this.setValue(name, value, prefix, true); @@ -1828,9 +2405,22 @@ events.prototype.doEffect = function (effect, need, times) { }); } +////// 设置一个怪物属性 ////// +events.prototype.setEnemy = function (id, name, value, prefix) { + if (!core.hasFlag('enemyInfo')) { + core.setFlag('enemyInfo', {}); + } + var enemyInfo = core.getFlag('enemyInfo'); + if (!enemyInfo[id]) enemyInfo[id] = {}; + value = core.calValue(value, prefix); + enemyInfo[id][name] = value; + (core.material.enemys[id]||{})[name] = core.clone(value); + core.updateStatusBar(); +} + ////// 设置楼层属性 ////// events.prototype.setFloorInfo = function (name, value, floorId, prefix) { - floorId = floorId || data.floorId; + floorId = floorId || core.status.floorId; core.status.maps[floorId][name] = core.calValue(value, prefix); core.updateStatusBar(); } @@ -1857,12 +2447,14 @@ events.prototype.setGlobalFlag = function (name, value) { core.flags[name] = value; core.setFlag("globalFlags", flags); core.resize(); + if (name == 'blurFg') + core.drawMap(); } events.prototype.closeDoor = function (x, y, id, callback) { id = id || ""; if (!(id.endsWith("Door") || id.endsWith("Wall")) - || !core.material.icons.animates[id] || core.getBlock(x, y) != null) { + || core.material.icons.animates[id] == null || core.getBlock(x, y) != null) { if (callback) callback(); return; } @@ -1881,13 +2473,16 @@ events.prototype.closeDoor = function (x, y, id, callback) { } core.clearMap('event', 32 * x, 32 * y, 32, 32); core.drawImage('event', core.material.images.animates, 32 * (4-state), 32 * door, 32, 32, 32 * x, 32 * y, 32, 32); - }, speed / core.status.replay.speed); + }, core.status.replay.speed == 24 ? 1 : speed / Math.max(core.status.replay.speed, 1)); core.animateFrame.asyncId[animate] = true; } ////// 显示图片 ////// events.prototype.showImage = function (code, image, sloc, loc, opacityVal, time, callback) { - if (typeof image == 'string') image = core.material.images.images[image]; + if (typeof image == 'string') { + image = core.getMappedName(image); + image = core.material.images.images[image]; + } if (!image) { if (callback) callback(); return; @@ -1952,12 +2547,14 @@ events.prototype.moveImage = function (code, to, opacityVal, time, callback) { var opacity = parseFloat(canvas.style.opacity), toOpacity = getOrDefault(opacityVal, opacity); this._moveImage_moving(name, { - fromX: fromX, fromY: fromY, toX: toX, toY: toY, opacity: opacity, toOpacity: toOpacity, time: time + fromX: fromX, fromY: fromY, toX: toX, toY: toY, opacity: opacity, toOpacity: toOpacity, + time: time / Math.max(core.status.replay.speed, 1) }, callback) } events.prototype._moveImage_moving = function (name, moveInfo, callback) { var per_time = 10, step = 0, steps = parseInt(moveInfo.time / 10); + if (steps <= 0) steps = 1; var fromX = moveInfo.fromX, fromY = moveInfo.fromY, toX = moveInfo.toX, toY = moveInfo.toY, opacity = moveInfo.opacity, toOpacity = moveInfo.toOpacity; var currX = fromX, currY = fromY, currOpacity = opacity; @@ -1980,6 +2577,7 @@ events.prototype._moveImage_moving = function (name, moveInfo, callback) { ////// 绘制或取消一张gif图片 ////// events.prototype.showGif = function (name, x, y) { + name = core.getMappedName(name); var image = core.material.images.images[name]; if (image) { var gif = new Image(); @@ -1999,17 +2597,19 @@ events.prototype.showGif = function (name, x, y) { ////// 淡入淡出音乐 ////// events.prototype.setVolume = function (value, time, callback) { var set = function (value) { - core.musicStatus.volume = value; + core.musicStatus.designVolume = value; if (core.musicStatus.playingBgm) - core.material.bgms[core.musicStatus.playingBgm].volume = value; + core.material.bgms[core.musicStatus.playingBgm].volume = core.musicStatus.userVolume * core.musicStatus.designVolume; } if (!time || time < 100) { set(value); if (callback) callback(); return; } - var currVolume = core.musicStatus.volume; + var currVolume = core.musicStatus.designVolume; + time /= Math.max(core.status.replay.speed, 1); var per_time = 10, step = 0, steps = parseInt(time / per_time); + if (steps <= 0) steps = 1; var fade = setInterval(function () { step++; set(currVolume + (value - currVolume) * step / steps); @@ -2030,6 +2630,7 @@ events.prototype.vibrate = function (time, callback) { } if (!time || time < 1000) time = 1000; // --- 将time调整为500的倍数(上整),不然会出错 + time /= Math.max(core.status.replay.speed, 1) time = Math.ceil(time / 500) * 500; var shakeInfo = {duration: time * 3 / 50, speed: 5, power: 5, direction: 1, shake: 0}; var animate = setInterval(function () { @@ -2082,7 +2683,7 @@ events.prototype.eventMoveHero = function(steps, time, callback) { if (core.events._eventMoveHero_moving(++step, moveSteps)) step = 0; } - }, time / 8 / core.status.replay.speed); + }, core.status.replay.speed == 24 ? 1 : time / 8 / core.status.replay.speed); core.animateFrame.asyncId[animate] = true; } @@ -2120,6 +2721,7 @@ events.prototype.jumpHero = function (ex, ey, time, callback) { core.playSound('jump.mp3'); var jumpInfo = core.maps.__generateJumpInfo(sx, sy, ex, ey, time || 500); jumpInfo.icon = core.material.icons.hero[core.getHeroLoc('direction')]; + jumpInfo.width = core.material.icons.hero.width || 32; jumpInfo.height = core.material.icons.hero.height; this._jumpHero_doJump(jumpInfo, callback); @@ -2139,12 +2741,14 @@ events.prototype._jumpHero_doJump = function (jumpInfo, callback) { events.prototype._jumpHero_jumping = function (jumpInfo) { core.clearMap('hero'); core.maps.__updateJumpInfo(jumpInfo); - var nowx = jumpInfo.px, nowy = jumpInfo.py, height = jumpInfo.height; + var nowx = jumpInfo.px, nowy = jumpInfo.py, width = jumpInfo.width || 32, height = jumpInfo.height; core.bigmap.offsetX = core.clamp(nowx - 32*core.__HALF_SIZE__, 0, 32*core.bigmap.width-core.__PIXELS__); core.bigmap.offsetY = core.clamp(nowy - 32*core.__HALF_SIZE__, 0, 32*core.bigmap.height-core.__PIXELS__); core.control.updateViewport(); - core.drawImage('hero', core.material.images.hero, jumpInfo.icon.stop, jumpInfo.icon.loc * height, 32, height, - nowx - core.bigmap.offsetX, nowy + 32-height - core.bigmap.offsetY, 32, height); + core.drawImage('hero', core.material.images.hero, jumpInfo.icon.stop, jumpInfo.icon.loc * height, width, height, + nowx + (32 - width) / 2 - core.bigmap.offsetX, nowy + 32-height - core.bigmap.offsetY, width, height); + core.status.heroCenter.px = nowx + 16; + core.status.heroCenter.py = nowy + 32 - height / 2; } events.prototype._jumpHero_finished = function (animate, ex, ey, callback) { @@ -2162,9 +2766,10 @@ events.prototype.openShop = function (shopId, needVisited) { shop.times = shop.times || 0; if (shop.commonTimes) shop.times = core.getFlag('commonTimes', 0); if (needVisited && !shop.visited) { - if (!core.flags.enableDisabledShop || shop.commonEvent) { + if (!core.flags.enableDisabledShop || shop.commonEvent || shop.item) { if (shop.times == 0) core.drawTip("该项尚未开启"); else core.drawTip("该项已失效"); + core.ui.closePanel(); return; } else { @@ -2173,8 +2778,15 @@ events.prototype.openShop = function (shopId, needVisited) { } else shop.visited = true; - // --- 商店 - if (shop.commonEvent) { + if (shop.item) { + core.status.route.push("shop:" + shopId + ":0"); + if (core.openItemShop) { + core.openItemShop(shopId); + } else { + core.insertAction("道具商店插件不存在!请检查是否存在该插件!"); + } + return; + } else if (shop.commonEvent) { core.status.route.push("shop:"+shopId+":0"); core.insertAction({"type": "insert", "name": shop.commonEvent, "args": shop.args}); return; @@ -2230,15 +2842,15 @@ events.prototype.canUseQuickShop = function (shopId) { ////// 设置角色行走图 ////// events.prototype.setHeroIcon = function (name, noDraw) { + name = core.getMappedName(name); var img = core.material.images.images[name]; - if (!img || img.width != 128) return; + if (!img) return; core.setFlag("heroIcon", name); - core.material.images.hero.onload = function () { - core.material.icons.hero.height = img.height / 4; - core.control.updateHeroIcon(name); - if (!noDraw) core.drawHero(); - } - core.material.images.hero.src = img.src; + core.material.images.hero = img; + core.material.icons.hero.width = img.width / 4; + core.material.icons.hero.height = img.height / 4; + core.control.updateHeroIcon(name); + if (!noDraw) core.drawHero(); } ////// 检查升级事件 ////// diff --git a/libs/extensions.js b/libs/extensions.js new file mode 100644 index 00000000..d7e6fba5 --- /dev/null +++ b/libs/extensions.js @@ -0,0 +1,50 @@ +/* +extensions.js:负责拓展插件 + */ + +"use strict"; + +function extensions() { + +} + +extensions.prototype._load = function (callback) { + if (main.replayChecking) return callback(); + if (!window.fs) { + this._loadJs('_server/fs.js', function () { + core.extensions._listExtensions(callback); + }, callback); + } else this._listExtensions(callback); +} + +extensions.prototype._loadJs = function (file, callback, onerror) { + var script = document.createElement('script'); + script.src = file + '?v=' + main.version; + script.onload = callback; + script.onerror = onerror; + main.dom.body.appendChild(script); +} + +extensions.prototype._listExtensions = function (callback) { + if (!window.fs) return callback(); + fs.readdir('extensions', function (error, data) { + if (error || !(data instanceof Array)) return callback(); + var list = []; + data.forEach(function (name) { + if (/^[\w.-]+\.js$/.test(name)) { + list.push(name); + } + }); + list.sort(); + core.extensions._loadExtensions(list, callback); + }); +} + +extensions.prototype._loadExtensions = function (list, callback) { + var i = 0; + var load = function () { + if (i == list.length) return callback(); + core.extensions._loadJs('extensions/' + list[i++], load, load); + } + load(); +} diff --git a/libs/items.js b/libs/items.js index 6c13e824..4f0fa179 100644 --- a/libs/items.js +++ b/libs/items.js @@ -11,9 +11,12 @@ items.prototype._init = function () { this.itemEffectTip = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.itemEffectTip; this.useItemEffect = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.useItemEffect; this.canUseItemEffect = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.canUseItemEffect; - if (!items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.canEquip) - items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.canEquip = {}; - this.equipCondition = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.canEquip; + if (!items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.equipCondition) + items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.equipCondition = {}; + if (!items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.useItemEvent) + items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.useItemEvent = {}; + this.equipCondition = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.equipCondition; + this.useItemEvent = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.useItemEvent; } ////// 获得所有道具 ////// @@ -35,7 +38,7 @@ items.prototype._resetItems = function () { if (core.flags.bombFourDirections) core.material.items.bomb.text = "可以炸掉勇士四周的怪物"; if (core.flags.snowFourDirections) - core.material.items.bomb.text = "可以将四周的熔岩变成平地"; + core.material.items.snow.text = "可以将四周的熔岩变成平地"; if (core.flags.equipment) { core.material.items.sword1.cls = 'equips'; core.material.items.sword2.cls = 'equips'; @@ -59,13 +62,23 @@ items.prototype.getItemEffect = function (itemId, itemNum) { var curr_hp = core.status.hero.hp; if (itemId in this.itemEffect) { try { - eval(this.itemEffect[itemId]); + for (var i = 0; i < itemNum; ++i) + eval(this.itemEffect[itemId]); } catch (e) { main.log(e); } } core.status.hero.statistics.hp += core.status.hero.hp - curr_hp; + + if (this.useItemEvent[itemId]) { + try { + core.insertAction(this.useItemEvent[itemId]); + } + catch (e) { + main.log(e); + } + } } else { core.addItem(itemId, itemNum); @@ -115,6 +128,14 @@ items.prototype._useItemEffect = function (itemId) { main.log(e); } } + if (this.useItemEvent[itemId]) { + try { + core.insertAction(this.useItemEvent[itemId]); + } + catch (e) { + main.log(e); + } + } } items.prototype._afterUseItem = function (itemId) { @@ -125,10 +146,8 @@ items.prototype._afterUseItem = function (itemId) { if (core.status.hero.items[itemCls][itemId] <= 0) delete core.status.hero.items[itemCls][itemId]; - if (!core.status.event.id) { - core.status.event.data = null; + if (!core.status.event.id) core.status.event.ui = null; - } core.updateStatusBar(); } @@ -354,7 +373,7 @@ items.prototype._realLoadEquip = function (type, loadId, unloadId, callback) { } // --- 音效 - core.playSound('equip.mp3'); + this._realLoadEquip_playSound(); // --- 实际换装 this._loadEquipEffect(loadId, unloadId, loadPercentage == null ? unloadPercentage : loadPercentage); @@ -371,6 +390,12 @@ items.prototype._realLoadEquip = function (type, loadId, unloadId, callback) { if (callback) callback(); } +items.prototype._realLoadEquip_playSound = function () { + if (core.hasFlag("__quickLoadEquip__")) return; + core.stopSound(); + core.playSound('equip.mp3'); +} + ////// 保存装备 ////// items.prototype.quickSaveEquip = function (index) { var saveEquips = core.getFlag("saveEquips", []); @@ -393,20 +418,41 @@ items.prototype.quickLoadEquip = function (index) { if (v && !this.canEquip(v, true)) return; } + core.setFlag("__quickLoadEquip__", true); // 快速换装 + var toEquip = []; for (var i = 0; i < equipSize; i++) { var now = core.status.hero.equipment[i]; - if (now) { - this.unloadEquip(i); - core.status.route.push("unEquip:" + i); + // --- 只考虑diff的装备 + var to = current[i]; + if (now != to) { + toEquip.push(to || null); + if (now) { + this.unloadEquip(i); + core.status.route.push("unEquip:" + i); + } } } - for (var i = 0; i < equipSize; i++) { - var to = current[i]; + for (var i in toEquip) { + var to = toEquip[i]; if (to) { this.loadEquip(to); core.status.route.push("equip:" + to); } } + core.removeFlag("__quickLoadEquip__"); + this._realLoadEquip_playSound(); + core.drawTip("成功换上" + index + "号套装"); } + +////// 获得装备直接增加的属性数据 ////// +items.prototype.getEquippedStatus = function (name) { + var value = 0; + core.status.hero.equipment.forEach(function (v) { + if (!v || !(core.material.items[v] || {}).equip) return; + if (core.material.items[v].equip.percentage) return; + value += core.material.items[v].equip[name] || 0; + }); + return value; +} diff --git a/libs/loader.js b/libs/loader.js index b2da0c6e..563df8a5 100644 --- a/libs/loader.js +++ b/libs/loader.js @@ -19,7 +19,7 @@ loader.prototype._setStartProgressVal = function (val) { ////// 设置加载进度条提示文字 ////// loader.prototype._setStartLoadTipText = function (text) { - core.dom.startTopLoadTips.innerHTML = text; + core.dom.startTopLoadTips.innerText = text; } loader.prototype._load = function (callback) { @@ -50,7 +50,12 @@ loader.prototype._loadIcons = function () { } loader.prototype._loadMaterialImages = function (callback) { - this.loadImages(core.materials, core.material.images, callback); + this._setStartLoadTipText("正在加载资源文件..."); + if (main.useCompress) { + this.loadImagesFromZip('project/images/materials.h5data', core.materials, core.material.images, callback); + } else { + this.loadImages(core.materials, core.material.images, callback); + } } loader.prototype._loadExtraImages = function (callback) { @@ -60,14 +65,34 @@ loader.prototype._loadExtraImages = function (callback) { if (images.indexOf("hero.png") < 0) images.push("hero.png"); - this.loadImages(images, core.material.images.images, callback); + this._setStartLoadTipText("正在加载图片文件..."); + if (main.useCompress) { + // Check .gif + var gifs = images.filter(function (name) { + return name.toLowerCase().endsWith('.gif'); + }); + images = images.filter(function (name) { + return !name.toLowerCase().endsWith('.gif'); + }); + + this.loadImagesFromZip('project/images/images.h5data', images, core.material.images.images, callback); + gifs.forEach(function (gif) { + this.loadImage(gif, function (id, image) { + if (image != null) { + core.material.images.images[gif] = image; + } + }); + }, this); + } else { + this.loadImages(images, core.material.images.images, callback); + } } loader.prototype._loadAutotiles = function (callback) { core.material.images.autotile = {}; var keys = Object.keys(core.material.icons.autotile); var autotiles = {}; - this.loadImages(keys, autotiles, function () { + var _callback = function () { keys.forEach(function (v) { core.material.images.autotile[v] = autotiles[v]; }); @@ -77,13 +102,19 @@ loader.prototype._loadAutotiles = function (callback) { }); callback(); - }); + } + this._setStartLoadTipText("正在加载自动元件..."); + if (main.useCompress) { + this.loadImagesFromZip('project/images/autotiles.h5data', keys, autotiles, _callback); + } else { + this.loadImages(keys, autotiles, _callback); + } } loader.prototype._loadTilesets = function (callback) { core.material.images.tilesets = {}; core.tilesets = core.tilesets || []; - core.loader.loadImages(core.clone(core.tilesets), core.material.images.tilesets, function () { + var _callback = function () { // 检查宽高是32倍数,如果出错在控制台报错 for (var imgName in core.material.images.tilesets) { var img = core.material.images.tilesets[imgName]; @@ -95,7 +126,13 @@ loader.prototype._loadTilesets = function (callback) { } } callback(); - }); + } + this._setStartLoadTipText("正在加载额外素材..."); + if (main.useCompress) { + this.loadImagesFromZip('project/images/tilesets.h5data', core.tilesets, core.material.images.tilesets, _callback); + } else { + this.loadImages(core.tilesets, core.material.images.tilesets, _callback); + } } loader.prototype.loadImages = function (names, toSave, callback) { @@ -107,6 +144,11 @@ loader.prototype.loadImages = function (names, toSave, callback) { for (var i = 0; i < names.length; i++) { this.loadImage(names[i], function (id, image) { core.loader._setStartLoadTipText('正在加载图片 ' + id + "..."); + if (toSave[id] !== undefined) { + if (image != null) + toSave[id] = image; + return; + } toSave[id] = image; items++; core.loader._setStartProgressVal(items * (100 / names.length)); @@ -117,6 +159,37 @@ loader.prototype.loadImages = function (names, toSave, callback) { } } +loader.prototype.loadImagesFromZip = function (url, names, toSave, callback) { + if (!names || names.length == 0) { + if (callback) callback(); + return; + } + + core.unzip(url + "?v=" + main.version, function (data) { + var cnt = 1; + names.forEach(function (name) { + var imgName = name; + if (imgName.indexOf('.') < 0) imgName += '.png'; + if (imgName in data) { + var img = new Image(); + var url = URL.createObjectURL(data[imgName]); + cnt++; + img.onload = function () { + cnt--; + URL.revokeObjectURL(url); + if (cnt == 0 && callback) callback(); + } + img.src = url; + toSave[name] = img; + } + }); + cnt--; + if (cnt == 0 && callback) callback(); + }, null, false, function (percentage) { + core.loader._setStartProgressVal(percentage * 100); + }); +} + loader.prototype.loadImage = function (imgName, callback) { try { var name = imgName; @@ -126,7 +199,12 @@ loader.prototype.loadImage = function (imgName, callback) { image.onload = function () { callback(imgName, image); } + image.onerror = function () { + callback(imgName, null); + } image.src = 'project/images/' + name + "?v=" + main.version; + if (name.endsWith('.gif')) + callback(imgName, null); } catch (e) { main.log(e); @@ -134,58 +212,75 @@ loader.prototype.loadImage = function (imgName, callback) { } loader.prototype._loadAnimates = function () { - core.animates.forEach(function (t) { - core.http('GET', 'project/animates/' + t + ".animate", null, function (content) { - try { - content = JSON.parse(content); - var data = {}; - data.ratio = content.ratio; - data.se = content.se; - data.images = []; - data.images_rev = []; - content.bitmaps.forEach(function (t2) { - if (!t2) { - data.images.push(null); - } - else { - try { - var image = new Image(); - image.src = t2; - data.images.push(image); - } catch (e) { - main.log(e); - data.images.push(null); - } - } - }) - data.frame = content.frame_max; - data.frames = []; - content.frames.forEach(function (t2) { - var info = []; - t2.forEach(function (t3) { - info.push({ - 'index': t3[0], - 'x': t3[1], - 'y': t3[2], - 'zoom': t3[3], - 'opacity': t3[4], - 'mirror': t3[5] || 0, - 'angle': t3[6] || 0, - }) - }) - data.frames.push(info); - }) - core.material.animates[t] = data; + this._setStartLoadTipText("正在加载动画文件..."); + if (main.useCompress) { + core.unzip('project/animates/animates.h5data?v=' + main.version, function (animates) { + for (var name in animates) { + if (name.endsWith(".animate")) { + var t = name.substring(0, name.length - 8); + if (core.animates.indexOf(t) >= 0) + core.loader._loadAnimate(t, animates[name]); + } } - catch (e) { + }, null, true); + } else { + core.animates.forEach(function (t) { + core.http('GET', 'project/animates/' + t + ".animate?v=" + main.version, null, function (content) { + core.loader._loadAnimate(t, content); + }, function (e) { main.log(e); core.material.animates[t] = null; + }, "text/plain; charset=x-user-defined") + }) + } +} + +loader.prototype._loadAnimate = function (name, content) { + try { + content = JSON.parse(content); + var data = {}; + data.ratio = content.ratio; + data.se = content.se; + data.images = []; + data.images_rev = []; + content.bitmaps.forEach(function (t2) { + if (!t2) { + data.images.push(null); } - }, function (e) { - main.log(e); - core.material.animates[t] = null; - }, "text/plain; charset=x-user-defined") - }) + else { + try { + var image = new Image(); + image.src = t2; + data.images.push(image); + } catch (e) { + main.log(e); + data.images.push(null); + } + } + }) + data.frame = content.frame_max; + data.frames = []; + content.frames.forEach(function (t2) { + var info = []; + t2.forEach(function (t3) { + info.push({ + 'index': t3[0], + 'x': t3[1], + 'y': t3[2], + 'zoom': t3[3], + 'opacity': t3[4], + 'mirror': t3[5] || 0, + 'angle': t3[6] || 0, + }) + }) + data.frames.push(info); + }) + core.material.animates[name] = data; + } + catch (e) { + main.log(e); + core.material.animates[name] = null; + } } ////// 加载音频 ////// @@ -194,9 +289,20 @@ loader.prototype._loadMusic = function () { core.loader.loadOneMusic(t); }); - core.sounds.forEach(function (t) { - core.loader.loadOneSound(t); - }); + this._setStartLoadTipText("正在加载音效文件..."); + if (main.useCompress && core.musicStatus.audioContext) { + core.unzip('project/sounds/sounds.h5data?v=' + main.version, function (data) { + for (var name in data) { + if (core.sounds.indexOf(name) >= 0) { + core.loader._loadOneSound_decodeData(name, data[name]); + } + } + }); + } else { + core.sounds.forEach(function (t) { + core.loader.loadOneSound(t); + }); + } // 直接开始播放 core.playBgm(main.startBgm); } @@ -212,19 +318,8 @@ loader.prototype.loadOneMusic = function (name) { loader.prototype.loadOneSound = function (name) { if (core.musicStatus.audioContext != null) { - core.http('GET', 'project/sounds/' + name, null, function (data) { - try { - core.musicStatus.audioContext.decodeAudioData(data, function (buffer) { - core.material.sounds[name] = buffer; - }, function (e) { - main.log(e); - core.material.sounds[name] = null; - }) - } - catch (e) { - main.log(e); - core.material.sounds[name] = null; - } + core.http('GET', 'project/sounds/' + name + "?v=" + main.version, null, function (data) { + core.loader._loadOneSound_decodeData(name, data); }, function (e) { main.log(e); core.material.sounds[name] = null; @@ -237,7 +332,32 @@ loader.prototype.loadOneSound = function (name) { } } +loader.prototype._loadOneSound_decodeData = function (name, data) { + if (data instanceof Blob) { + var blobReader = new zip.BlobReader(data); + blobReader.init(function () { + blobReader.readUint8Array(0, blobReader.size, function (uint8) { + core.loader._loadOneSound_decodeData(name, uint8.buffer); + }) + }); + return; + } + try { + core.musicStatus.audioContext.decodeAudioData(data, function (buffer) { + core.material.sounds[name] = buffer; + }, function (e) { + main.log(e); + core.material.sounds[name] = null; + }) + } + catch (e) { + main.log(e); + core.material.sounds[name] = null; + } +} + loader.prototype.loadBgm = function (name) { + name = core.getMappedName(name); if (!core.material.bgms[name]) return; // 如果没开启音乐,则不预加载 if (!core.musicStatus.bgmStatus) return; @@ -265,6 +385,7 @@ loader.prototype._preloadBgm = function (bgm) { } loader.prototype.freeBgm = function (name) { + name = core.getMappedName(name); if (!core.material.bgms[name]) return; // 从cachedBgms中删除 core.musicStatus.cachedBgms = core.musicStatus.cachedBgms.filter(function (t) { diff --git a/libs/maps.js b/libs/maps.js index 52b540b4..a5cb4ada 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -62,6 +62,12 @@ maps.prototype._mapIntoBlocks = function (map, floor, floorId) { ////// 从ID获得数字 ////// maps.prototype.getNumberById = function (id) { + core.status.id2number = core.status.id2number || {}; + if (core.status.id2number[id] != null) return core.status.id2number[id]; + return core.status.id2number[id] = this._getNumberById(id); +} + +maps.prototype._getNumberById = function (id) { for (var number in this.blocksInfo) { if ((this.blocksInfo[number] || {}).id == id) return parseInt(number) || 0; @@ -76,6 +82,12 @@ maps.prototype.getNumberById = function (id) { return 0; } +maps.prototype.getBlockByNumber = function (number) { + core.status.number2Block = core.status.number2Block || {}; + if (core.status.number2Block[number] != null) return core.status.number2Block[number]; + return core.status.number2Block[number] = this.initBlock(null, null, number, true); +} + ////// 数字和ID的对应关系 ////// maps.prototype.initBlock = function (x, y, id, addInfo, eventFloor) { var disable = null; @@ -86,11 +98,14 @@ maps.prototype.initBlock = function (x, y, id, addInfo, eventFloor) { var block = {'x': x, 'y': y, 'id': id}; if (disable != null) block.disable = disable; - if (id == 17) block.event = {"cls": "terrains", "id": "airwall", "noPass": true}; + if (id == 17) block.event = {"cls": "terrains", "id": "airwall", "noPass": true, "cannotIn":["up", "down", "left", "right"]}; else if (id in this.blocksInfo) block.event = JSON.parse(JSON.stringify(this.blocksInfo[id])); else if (core.icons.getTilesetOffset(id)) block.event = {"cls": "tileset", "id": "X" + id, "noPass": true}; else block.event = {'cls': 'terrains', 'id': 'none', 'noPass': false}; + if (typeof block.event.noPass === 'string') + block.event.noPass = JSON.parse(block.event.noPass); + if (addInfo) this._addInfo(block); if (eventFloor) { this._addEvent(block, x, y, (eventFloor.events || {})[x + "," + y]); @@ -238,10 +253,16 @@ maps.prototype.saveMap = function (floorId) { if (!floorId) { var map = {}; for (var id in maps) { - map[id] = this.saveMap(id); + var obj = this.saveMap(id); + if (Object.keys(obj).length > 0) map[id] = obj; } return map; } + // 砍层状态:直接返回 + if (main.mode == 'play' && (flags.__removed__ || []).indexOf(floorId) >= 0) { + return { canFlyTo: false, cannotViewMap: true }; + } + var map = maps[floorId], floor = core.floors[floorId]; var blocks = this._getMapArrayFromBlocks(map.blocks, floor.width, floor.height, true); if (main.mode == 'editor') return blocks; @@ -277,6 +298,23 @@ maps.prototype.loadMap = function (data, floorId) { return this.loadFloor(floorId, data[floorId]); } +////// 删除地图,不计入存档 ////// +maps.prototype.removeMaps = function (fromId, toId) { + if (!core.isPlaying()) return; + toId = toId || fromId; + var fromIndex = core.floorIds.indexOf(fromId), + toIndex = core.floorIds.indexOf(toId); + if (toIndex < 0) toIndex = core.floorIds.length - 1; + flags.__removed__ = flags.__removed__ || []; + for (var i = fromIndex; i <= toIndex; ++i) { + var floorId = core.floorIds[i]; + delete flags.__visited__[floorId]; + flags.__removed__.push(floorId); + core.status.maps[floorId].canFlyTo = false; + core.status.maps[floorId].cannotViewMap = true; + } +} + ////// 更改地图画布的尺寸 maps.prototype.resizeMap = function (floorId) { floorId = floorId || core.status.floorId; @@ -353,7 +391,8 @@ maps.prototype._getBgFgMapArray = function (name, floorId, noCache) { return core.status[name + "maps"][floorId]; var arr = core.clone(core.floors[floorId][name + "map"] || []); - if (main.mode == 'editor') arr = core.clone(editor[name + "map"]) || arr; + if (main.mode == 'editor' && !(window.editor && editor.uievent && editor.uievent.isOpen)) + arr = core.clone(editor[name + "map"]) || arr; for (var x = 0; x < width; x++) { for (var y = 0; y < height; y++) { arr[y] = arr[y] || []; @@ -470,19 +509,44 @@ maps.prototype._canMoveHero_checkCannotInOut = function (number, name, direction } return false; } - return core.inArray((this.initBlock(0, 0, number).event || {})[name], direction); + return core.inArray((this.getBlockByNumber(number).event || {})[name], direction); } ////// 能否瞬间移动 ////// maps.prototype.canMoveDirectly = function (destX, destY) { - if (!this._canMoveDirectly_checkGlobal()) return -1; + return this.canMoveDirectlyArray([[destX,destY]])[0]; +} + +maps.prototype.canMoveDirectlyArray = function (locs) { + var ans = [], number = locs.length; var fromX = core.getHeroLoc('x'), fromY = core.getHeroLoc('y'); - if (fromX == destX && fromY == destY) return 0; - // 检查起点事件 - if (!this._canMoveDirectly_checkStartPoint(fromX, fromY)) return -1; + if (!this._canMoveDirectly_checkGlobal()) { + for (var i = 0; i < number; ++i) ans.push(-1); + return ans; + } + for (var i = 0; i < number; ++i) { + if (locs[i][0] == fromX && locs[i][1] == fromY) { + ans.push(0); + number--; + } + else if (locs[i][0] < 0 || locs[i][0] >= core.bigmap.width || locs[i][1] < 0 || locs[i][1] >= core.bigmap.height) { + ans.push(-1); + number--; + } + else ans.push(null); + } + if (number == 0) return ans; - return this._canMoveDirectly_bfs(fromX, fromY, destX, destY); + // 检查起点事件 + if (!this._canMoveDirectly_checkStartPoint(fromX, fromY)) { + for (var i in ans) { + if (ans[i] == null) ans[i] = -1; + } + return ans; + } + + return this._canMoveDirectly_bfs(fromX, fromY, locs, number, ans); } maps.prototype._canMoveDirectly_checkGlobal = function () { @@ -508,7 +572,7 @@ maps.prototype._canMoveDirectly_checkStartPoint = function (sx, sy) { return true; } -maps.prototype._canMoveDirectly_bfs = function (sx, sy, ex, ey) { +maps.prototype._canMoveDirectly_bfs = function (sx, sy, locs, number, ans) { var canMoveArray = this.generateMovableArray(); var blocksObj = this.getMapBlocksObj(core.status.floorId); // 滑冰 @@ -527,22 +591,32 @@ maps.prototype._canMoveDirectly_bfs = function (sx, sy, ex, ey) { if (bgMap[ny][nx] == 167) continue; if (!this._canMoveDirectly_checkNextPoint(blocksObj, nx, ny)) continue; visited[nindex] = visited[now] + 1; - if (nx == ex && ny == ey) return visited[nindex]; + // if (nx == ex && ny == ey) return visited[nindex]; + for (var i in ans) { + if (locs[i][0] == nx && locs[i][1] == ny && ans[i] == null) { + ans[i] = visited[nindex]; + number--; + if (number == 0) return ans; + } + } queue.push(nindex); } } - return -1; + for (var i in ans) { + if (ans[i] == null) ans[i] = -1; + } + return ans; } maps.prototype._canMoveDirectly_checkNextPoint = function (blocksObj, x, y) { var index = x + "," + y; // 该点是否有事件 - if (blocksObj[index]) return false; + if (blocksObj[index] && (blocksObj[index].event.trigger || blocksObj[index].event.noPass)) return false; // 是否存在阻激夹域伤害 - if (core.status.checkBlock.damage[x + "," + y]) return false; + if (core.status.checkBlock.damage[index]) return false; // 是否存在捕捉 - if (core.status.checkBlock.ambush[x + "," + y]) return false; + if (core.status.checkBlock.ambush[index]) return false; return true; } @@ -728,6 +802,7 @@ maps.prototype.drawBg = function (floorId, ctx) { if (onMap) { ctx = core.canvas.bg; core.clearMap(ctx); + core.status.floorAnimateObjs = this._getFloorImages(floorId); } core.maps._drawBg_drawBackground(floorId, ctx); // ------ 调整这两行的顺序来控制是先绘制贴图还是先绘制背景图块;后绘制的覆盖先绘制的。 @@ -767,7 +842,10 @@ maps.prototype.drawEvents = function (floorId, blocks, ctx) { maps.prototype.drawFg = function (floorId, ctx) { floorId = floorId || core.status.floorId; var onMap = ctx == null; - if (onMap) ctx = core.canvas.fg; + if (onMap) { + ctx = core.canvas.fg; + core.status.floorAnimateObjs = this._getFloorImages(floorId); + } // ------ 调整这两行的顺序来控制是先绘制贴图还是先绘制背景图块;后绘制的覆盖先绘制的。 this._drawFloorImages(floorId, ctx, 'fg'); this._drawBgFgMap(floorId, ctx, 'fg', onMap); @@ -784,28 +862,46 @@ maps.prototype._drawBgFgMap = function (floorId, ctx, name, onMap) { core.status[name + "maps"] = {}; var arr = this._getBgFgMapArray(name, floorId, true); + var eventArr = null; + if (name == 'fg' && onMap && this._drawBgFgMap_shouldBlurFg()) { + eventArr = this.getMapArray(floorId); + } + for (var x = 0; x < width; x++) { for (var y = 0; y < height; y++) { var block = this.initBlock(x, y, arr[y][x], true); block.name = name; var blockInfo = this.getBlockInfo(block); if (!blockInfo) continue; + // --- 前景虚化 + var blur = false, alpha; + if (eventArr != null && eventArr[y][x] != 0) { + blur = true; + alpha = ctx.globalAlpha; + ctx.globalAlpha = 0.6; + } this._drawMap_drawBlockInfo(ctx, block, blockInfo, arr, onMap); + if (blur) ctx.globalAlpha = alpha; } } if (onMap) core.status.autotileAnimateObjs[name + "map"] = core.clone(arr); } +////// 是否应当存在事件时虚化前景层 ////// +maps.prototype._drawBgFgMap_shouldBlurFg = function () { + return main.mode == 'editor' || core.flags.blurFg; +} + ////// 绘制楼层贴图 ////// maps.prototype._drawFloorImages = function (floorId, ctx, name, images, currStatus) { floorId = floorId || core.status.floorId; if (!images) images = this._getFloorImages(floorId); var redraw = currStatus != null; - if (!redraw) core.status.floorAnimateObjs = core.clone(images); images.forEach(function (t) { if (typeof t == 'string') t = [0, 0, t]; var dx = parseInt(t[0]), dy = parseInt(t[1]), imageName = t[2], frame = core.clamp(parseInt(t[4]), 1, 8); + imageName = core.getMappedName(imageName); var image = core.material.images.images[imageName]; if (redraw && frame == 1) return; // 不重绘 @@ -875,55 +971,118 @@ maps.prototype._drawFloorImage = function (ctx, name, type, image, offsetX, widt } ////// 绘制Autotile ////// + + maps.prototype._drawAutotile = function (ctx, mapArr, block, size, left, top, status) { - var indexArrs = [ //16种组合的图块索引数组; // 将autotile分割成48块16*16的小块; 数组索引即对应各个小块 - // +----+----+----+----+----+----+ - [10, 9, 4, 3], //0 bin:0000 | 1 | 2 | 3 | 4 | 5 | 6 | - [10, 9, 4, 13], //1 bin:0001 +----+----+----+----+----+----+ - [10, 9, 18, 3], //2 bin:0010 | 7 | 8 | 9 | 10 | 11 | 12 | - [10, 9, 16, 15], //3 bin:0011 +----+----+----+----+----+----+ - [10, 43, 4, 3], //4 bin:0100 | 13 | 14 | 15 | 16 | 17 | 18 | - [10, 31, 4, 25], //5 bin:0101 +----+----+----+----+----+----+ - [10, 7, 2, 3], //6 bin:0110 | 19 | 20 | 21 | 22 | 23 | 24 | - [10, 31, 16, 5], //7 bin:0111 +----+----+----+----+----+----+ - [48, 9, 4, 3], //8 bin:1000 | 25 | 26 | 27 | 28 | 29 | 30 | - [8, 9, 4, 1], //9 bin:1001 +----+----+----+----+----+----+ - [36, 9, 30, 3], //10 bin:1010 | 31 | 32 | 33 | 34 | 35 | 36 | - [36, 9, 6, 15], //11 bin:1011 +----+----+----+----+----+----+ - [46, 45, 4, 3], //12 bin:1100 | 37 | 38 | 39 | 40 | 41 | 42 | - [46, 11, 4, 25], //13 bin:1101 +----+----+----+----+----+----+ - [12, 45, 30, 3], //14 bin:1110 | 43 | 44 | 45 | 46 | 47 | 48 | - [34, 33, 28, 27] //15 bin:1111 +----+----+----+----+----+----+ + var xx = block.x, yy = block.y; + var autotile = core.material.images['autotile'][block.event.id]; + status = status || 0; + status %= parseInt(autotile.width / 96); + var done = {}; + var isGrass = function(x,y){ + if(core.maps._drawAutotile_getAutotileAroundId(mapArr[yy][xx],x,y,mapArr)){ + return 1; + }else{ + return 0; + } + } + var iG = []; + [-1,0,1].forEach(function(_x){ + iG[_x] = []; + [-1,0,1].forEach(function(_y){ + iG[_x][_y] = isGrass(xx + _x, yy + _y); + })}); + if(iG[-1][-1] + iG[0][-1] + iG[0][0] + iG[-1][0] == 3 && !iG[-1][-1]){ + this._drawAutotile_render(ctx, xx * size + left, yy * size + top, size, autotile, status, 16); + done[0] = true; + } + if(iG[0][-1] + iG[1][-1] + iG[1][0] + iG[0][0] == 3 && !iG[1][-1]){ + this._drawAutotile_render(ctx, xx * size + left + size/2, yy * size + top, size, autotile, status, 17); + done[1] = true; + } + if(iG[0][0] + iG[1][0] + iG[1][1] + iG[0][1] == 3 && !iG[1][1]){ + this._drawAutotile_render(ctx, xx * size + left+size/2, yy * size + top + size/2, size, autotile, status, 18); + done[3] = true; + } + if(iG[0-1][0] + iG[0][0] + iG[0][1] + iG[-1][1] == 3 && !iG[-1][1]){ + this._drawAutotile_render(ctx, xx * size + left, yy * size + top + size/2, size, autotile, status, 19); + done[2] = true; + } + var _id = iG[0][-1] + 2 * iG[-1][0] + 4 * iG[0][1] + 8 * iG[1][0]; + this._drawAutotile_render(ctx, xx * size, yy * size, size, autotile, status, _id, done); +} + + +maps.prototype._drawAutotile_render = function(canvas, x, y, size, autotile, status, index, done) { + var indexData = [[[96 * status, 0, 32, 32, x, y, size, size],], + [[96 * status, 3 * 32, 16, 32, x, y, size / 2, size],[96 * status + 2 * 32 + 16, 3 * 32, 16, 32, x + size / 2, y, size / 2, size],], + [[96 * status + 2 * 32, 32, 32, 16, x, y, size, size / 2],[96 * status + 2 * 32, 3 * 32 + 16, 32, 16, x, y + size / 2, size, size / 2],], + [[96 * status + 2 * 32, 3 * 32, 32, 32, x, y, size, size],], + [[96 * status, 32, 16, 32, x, y, size / 2, size],[96 * status + 2 * 32 + 16, 32, 16, 32, x + size / 2, y, size / 2, size],], + [[96 * status, 2 * 32, 16, 32, x, y, size / 2, size],[96 * status + 2 * 32 + 16, 2 * 32, 16, 32, x + size / 2, y, size / 2, size],], + [[96 * status + 2 * 32, 32, 32, 32, x, y, size, size],], + [[96 * status + 2 * 32, 2 * 32, 32, 32, x, y, size, size],], + [[96 * status, 32, 32, 16, x, y, size, size / 2],[96 * status, 3 * 32 + 16, 32, 16, x, y + size / 2, size, size / 2],], + [[96 * status, 3 * 32, 32, 32, x, y, size, size],], + [[96 * status + 32, 32, 32, 16, x, y, size, size / 2],[96 * status + 32, 3 * 32 + 16, 32, 16, x, y + size / 2, size, size / 2],], + [[96 * status + 32, 3 * 32, 32, 32, x, y, size, size],], + [[96 * status, 32, 32, 32, x, y, size, size],], + [[96 * status, 2 * 32, 32, 32, x, y, size, size],], + [[96 * status + 32, 32, 32, 32, x, y, size, size],], + [[96 * status + 32, 2 * 32, 32, 32, x, y, size, size],], + [[96 * status + 2 * 32, 0, 16, 16, x, y, size / 2, size / 2],], + [[96 * status + 2 * 32 + 16, 0, 16, 16, x, y, size / 2, size / 2],], + [[96 * status + 2 * 32 + 16, 16, 16, 16, x, y, size / 2, size / 2],], + [[96 * status + 2 * 32, 16, 16, 16, x, y, size / 2, size / 2],], ]; - - // 开始绘制autotile - var x = block.x, y = block.y; - var pieceIndexs = this._drawAutotile_getAutotileIndexs(x, y, mapArr, indexArrs); - - //修正四个边角的固定搭配 - if (pieceIndexs[0] == 13) { - if (pieceIndexs[1] == 16) pieceIndexs[1] = 14; - if (pieceIndexs[2] == 31) pieceIndexs[2] = 19; - } - if (pieceIndexs[1] == 18) { - if (pieceIndexs[0] == 15) pieceIndexs[0] = 17; - if (pieceIndexs[3] == 36) pieceIndexs[3] = 24; - } - if (pieceIndexs[2] == 43) { - if (pieceIndexs[0] == 25) pieceIndexs[0] = 37; - if (pieceIndexs[3] == 46) pieceIndexs[3] = 44; - } - if (pieceIndexs[3] == 48) { - if (pieceIndexs[1] == 30) pieceIndexs[1] = 42; - if (pieceIndexs[2] == 45) pieceIndexs[2] = 47; - } - for (var i = 0; i < 4; i++) { - var index = pieceIndexs[i]; - var dx = x * size + size / 2 * (i % 2), dy = y * size + size / 2 * (~~(i / 2)); - this._drawAutotile_drawBlockByIndex(ctx, dx + left, dy + top, core.material.images['autotile'][block.event.id], index, size, status); + var data = indexData[index]; + if(index>=16){ // 拐角直接绘制 + canvas.drawImage(autotile, data[0][0], data[0][1], data[0][2], data[0][3], data[0][4], data[0][5], size/2, size/2); + }else{ // 非拐角要根据是否已经绘制进行切分后绘制 + this._drawAutotile_renderCut(canvas, autotile, x, y, size, data, done); } } +maps.prototype._drawAutotile_renderCut = function(canvas, autotile, x, y, size, data, done){ + var drawData = []; + done = done || {}; + if(data.length == 2){ + var idx = 0; + var cut = 0; + for(var i in data){ + if(data[i][2] % 32){ // 是否纵切 + cut = 0; + } + else if(data[i][3] % 32){ // 是否横切 + cut = 1; + } + if(data[i][0] % 32 || data[i][1] % 32){ // right down + idx = 1; + }else{ // left top + idx = 0; + } + if(cut){ + idx *= 2; + if(!done[idx])drawData[idx] = [data[i][0], data[i][1]]; + if(!done[idx + 1])drawData[idx + 1] = [parseInt(data[i][0]) + 16, data[i][1]]; + }else{ + if(!done[idx])drawData[idx] = [data[i][0], data[i][1]]; + if(!done[idx + 2])drawData[idx + 2] = [data[i][0], parseInt(data[i][1]) + 16]; + } + } + }else{ + if(!done[0])drawData[0] = [data[0][0], data[0][1]]; + if(!done[1])drawData[1] = [data[0][0] + 16, data[0][1]]; + if(!done[2])drawData[2] = [data[0][0], data[0][1] + 16]; + if(!done[3])drawData[3] = [data[0][0] + 16, data[0][1] + 16]; + } + for(var i = 0; i<4; i++){ + var dt = drawData[i];if(!dt)continue; + canvas.drawImage(autotile, dt[0], dt[1], 16, 16, x + (i % 2) * size / 2, y + parseInt(i / 2) * size / 2, size/2, size/2); + }; +} + + maps.prototype._drawAutotile_drawBlockByIndex = function (ctx, dx, dy, autotileImg, index, size, status) { //index为autotile的图块索引1-48 var sx = 16 * ((index - 1) % 6), sy = 16 * (~~((index - 1) / 6)); @@ -1069,6 +1228,7 @@ maps.prototype._drawThumbnail_realDrawTempCanvas = function (floorId, blocks, op // 缩略图:勇士 if (options.heroLoc) { options.heroIcon = options.heroIcon || core.getFlag("heroIcon", "hero.png"); + options.heroIcon = core.getMappedName(options.heroIcon); var icon = core.material.icons.hero[options.heroLoc.direction]; var height = core.material.images.images[options.heroIcon].height / 4; tempCanvas.drawImage(core.material.images.images[options.heroIcon], icon.stop * 32, icon.loc * height, 32, height, @@ -1144,9 +1304,12 @@ maps.prototype.terrainExists = function (x, y, id, floorId) { ////// 某个点是否存在楼梯 ////// maps.prototype.stairExists = function (x, y, floorId) { - var block = this.getBlock(x, y, floorId); - if (block == null) return false; - return block.block.event.cls == 'terrains' && (block.block.event.id == 'upFloor' || block.block.event.id == 'downFloor'); + var blockId = this.getBlockId(x, y, floorId); + if (blockId == null) return false; + var ids = ['upFloor','downFloor']; + if (core.flags.flyRecordPosition) + ids = ids.concat(['leftPortal','rightPortal','upPortal','downPortal']); + return ids.indexOf(blockId)>=0; } ////// 当前位置是否在楼梯边 ////// @@ -1196,9 +1359,9 @@ maps.prototype.getBlockInfo = function (block) { } if (typeof block == 'number') { // 参数是数字 if (block == 0) return null; - block = this.initBlock(0, 0, block, true); + block = this.getBlockByNumber(block); } - var number = block.id, id = block.event.id, cls = block.event.cls, + var number = block.id, id = block.event.id, cls = block.event.cls, name = block.event.name, image = null, posX = 0, posY = 0, animate = block.event.animate, height = block.event.height || 32, faceIds = {}; @@ -1206,6 +1369,7 @@ maps.prototype.getBlockInfo = function (block) { else if (id == 'airwall') { if (!core.material.images.airwall) return null; image = core.material.images.airwall; + name = "空气墙"; } else if (cls == 'tileset') { var offset = core.icons.getTilesetOffset(id); @@ -1221,14 +1385,19 @@ maps.prototype.getBlockInfo = function (block) { image = core.material.images[cls]; posY = core.material.icons[cls][id]; faceIds = block.event.faceIds || {}; + if (core.material.enemys[id]) { + name = core.material.enemys[id].name; + } else if (core.material.items[id]) { + name = core.material.items[id].name; + } } - return {number: number, id: id, cls: cls, image: image, posX: posX, posY: posY, height: height, faceIds: faceIds, animate: animate}; + return {number: number, id: id, cls: cls, name: name, image: image, posX: posX, posY: posY, height: height, faceIds: faceIds, animate: animate}; } ////// 搜索某个图块出现的所有位置 ////// maps.prototype.searchBlock = function (id, floorId, showDisable) { - if (typeof id == 'number') id = this.initBlock(0, 0, id).event.id; + if (typeof id == 'number') id = this.getBlockByNumber(id).event.id; floorId = floorId || core.status.floorId; var result = []; if (floorId instanceof Array) { @@ -1431,8 +1600,13 @@ maps.prototype.setBlock = function (number, x, y, floorId) { else number = core.getNumberById(number); } - var originBlock = core.getBlock(x, y, floorId, true); var block = this.initBlock(x, y, number, true, core.floors[floorId]); + if (block.id == 0 && !block.event.trigger) { + // 转变图块为0且该点无事件,视为隐藏 + core.removeBlock(x, y, floorId); + return; + } + var originBlock = core.getBlock(x, y, floorId, true); if (floorId == core.status.floorId) { core.removeGlobalAnimate(x, y); core.clearMap('event', x * 32, y * 32, 32, 32); @@ -1452,7 +1626,8 @@ maps.prototype.setBlock = function (number, x, y, floorId) { } if (floorId == core.status.floorId && !block.disable) { core.drawBlock(block); - core.addGlobalAnimate(block); + if (block.event.cls != 'autotile') + core.addGlobalAnimate(block); core.updateStatusBar(); } } @@ -1466,7 +1641,7 @@ maps.prototype.replaceBlock = function (fromNumber, toNumber, floorId) { }); return; } - var toBlock = this.initBlock(0, 0, toNumber, true); + var toBlock = this.getBlockByNumber(toNumber, true); core.status.maps[floorId].blocks.forEach(function (block) { if (block.id == fromNumber) { block.id = toNumber; @@ -1492,8 +1667,11 @@ maps.prototype.setBgFgBlock = function (name, number, x, y, floorId) { core.setFlag(vFlag, number); core.status[name + "maps"][floorId] = null; - if (floorId == core.status.floorId) - core.drawMap(floorId); + if (floorId == core.status.floorId){ + core.clearMap(name); + if (name=='bg') core.drawBg(floorId); + else core.drawFg(floorId); + } } ////// 重置地图 ////// @@ -1599,13 +1777,13 @@ maps.prototype.moveBlock = function (x, y, steps, time, keep, callback) { } var block = blockArr[0], blockInfo = blockArr[1]; var moveSteps = (steps||[]).filter(function (t) { - return ['up','down','left','right'].indexOf(t)>=0; + return ['up','down','left','right','forward','backward'].indexOf(t)>=0; }); var canvases = this._initDetachedBlock(blockInfo, x, y, block.event.animate !== false); this._moveDetachedBlock(blockInfo, 32 * x, 32 * y, 1, canvases); var moveInfo = { - x: x, y: y, px: 32 * x, py: 32 * y, opacity: 1, keep: keep, + x: x, y: y, px: 32 * x, py: 32 * y, opacity: 1, keep: keep, lastDirection: null, offset: 1, moveSteps: moveSteps, step: 0, per_time: time / 16 / core.status.replay.speed } this._moveBlock_doMove(blockInfo, canvases, moveInfo, callback); @@ -1630,21 +1808,46 @@ maps.prototype._moveBlock_doMove = function (blockInfo, canvases, moveInfo, call core.animateFrame.asyncId[animate] = true; } -maps.prototype._moveBlock_moving = function (blockInfo, canvases, moveInfo) { +maps.prototype._moveBlock_updateDirection = function (blockInfo, moveInfo) { + moveInfo.offset = 1; var direction = moveInfo.moveSteps[0]; - if (moveInfo.step == 0) { - moveInfo.x += core.utils.scan[direction].x; - moveInfo.y += core.utils.scan[direction].y; - // 根据faceIds修改朝向 - var currid = blockInfo.faceIds[direction]; - if (currid) { - var posY = core.material.icons[blockInfo.cls][currid]; - if (posY != null) blockInfo.posY = posY; + if (moveInfo.lastDirection == null) { + for (var d in blockInfo.faceIds) { + if (blockInfo.faceIds[d] == blockInfo.id) { + moveInfo.lastDirection = d; + break; + } } } + if (direction == 'forward' || direction == 'backward') { + if (moveInfo.lastDirection == null) { + moveInfo.moveSteps.shift(); + return false; + } + if (direction == 'backward') + moveInfo.offset = -1; + direction = moveInfo.lastDirection; + } + moveInfo.lastDirection = moveInfo.moveSteps[0] = direction; + moveInfo.x += core.utils.scan[direction].x * moveInfo.offset; + moveInfo.y += core.utils.scan[direction].y * moveInfo.offset; + // 根据faceIds修改朝向 + var currid = blockInfo.faceIds[direction]; + if (currid) { + var posY = core.material.icons[blockInfo.cls][currid]; + if (posY != null) blockInfo.posY = posY; + } + return true; +} + +maps.prototype._moveBlock_moving = function (blockInfo, canvases, moveInfo) { + if (moveInfo.step == 0) { + if (!this._moveBlock_updateDirection(blockInfo, moveInfo)) return; + } + var direction = moveInfo.moveSteps[0]; moveInfo.step++; - moveInfo.px += core.utils.scan[direction].x * 2; - moveInfo.py += core.utils.scan[direction].y * 2; + moveInfo.px += core.utils.scan[direction].x * 2 * moveInfo.offset; + moveInfo.py += core.utils.scan[direction].y * 2 * moveInfo.offset; this._moveDetachedBlock(blockInfo, moveInfo.px, moveInfo.py, moveInfo.opacity, canvases); if (moveInfo.step == 16) { moveInfo.step = 0; @@ -1673,6 +1876,7 @@ maps.prototype.jumpBlock = function (sx, sy, ex, ey, time, keep, callback) { maps.prototype.__generateJumpInfo = function (sx, sy, ex, ey, time) { var dx = ex - sx, dy = ey - sy, distance = Math.round(Math.sqrt(dx * dx + dy * dy)); var jump_peak = 6 + distance, jump_count = jump_peak * 2; + time /= Math.max(core.status.replay.speed, 1) return { x: sx, y: sy, ex: ex, ey: ey, px: 32 * sx, py: 32 * sy, opacity: 1, jump_peak: jump_peak, jump_count: jump_count, @@ -1736,6 +1940,7 @@ maps.prototype.animateBlock = function (loc, type, time, callback) { return; } this._animateBlock_drawList(list, isHide ? 1 : 0); + time /= Math.max(core.status.replay.speed, 1) this._animateBlock_doAnimate(loc, list, isHide, 10 / time, callback); } @@ -1844,15 +2049,10 @@ maps.prototype.drawBoxAnimate = function () { ////// 绘制动画 ////// maps.prototype.drawAnimate = function (name, x, y, callback) { + name = core.getMappedName(name); // 正在播放录像:不显示动画 - if (core.isReplaying()) { - if (callback) callback(); - return -1; - } - - // 检测动画是否存在 - if (!core.material.animates[name] || x == null || y == null) { + if (core.isReplaying() || !core.material.animates[name] || x == null || y == null) { if (callback) callback(); return -1; } @@ -1875,6 +2075,33 @@ maps.prototype.drawAnimate = function (name, x, y, callback) { return id; } +////// 绘制一个跟随勇士的动画 ////// +maps.prototype.drawHeroAnimate = function (name, callback) { + name = core.getMappedName(name); + + // 正在播放录像或动画不存在:不显示动画 + if (core.isReplaying() || !core.material.animates[name]) { + if (callback) callback(); + return -1; + } + + // 开始绘制 + var animate = core.material.animates[name]; + // 播放音效 + core.playSound(animate.se); + + var id = setTimeout(null); + core.status.animateObjs.push({ + "id": id, + "animate": animate, + "hero": true, + "index": 0, + "callback": callback + }); + + return id; +} + ////// 绘制动画的某一帧 ////// maps.prototype._drawAnimateFrame = function (animate, centerX, centerY, index) { var frame = animate.frames[index]; diff --git a/libs/thirdparty/LICENSE.md b/libs/thirdparty/LICENSE.md index 33ec4fdc..667f1d31 100644 --- a/libs/thirdparty/LICENSE.md +++ b/libs/thirdparty/LICENSE.md @@ -1,3 +1,238 @@ +lzstring +============ + +MIT License + +Copyright (c) 2013 pieroxy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +localforage +============ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2014 Mozilla + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +mid +============ + Copyright (c) 2010, Matt Westcott & Ben Firshman All rights reserved. @@ -21,4 +256,28 @@ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +zip +============ + + Copyright (c) 2013 Gildas Lormeau. All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + 3. The names of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, + INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/libs/thirdparty/zip.js b/libs/thirdparty/zip.js new file mode 100644 index 00000000..f7f68f47 --- /dev/null +++ b/libs/thirdparty/zip.js @@ -0,0 +1,2895 @@ +/* + Copyright (c) 2013 Gildas Lormeau. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + + 3. The names of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, + INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +(function(obj) { + "use strict"; + + var ERR_BAD_FORMAT = "File format is not recognized."; + var ERR_CRC = "CRC failed."; + var ERR_ENCRYPTED = "File contains encrypted entry."; + var ERR_ZIP64 = "File is using Zip64 (4gb+ file size)."; + var ERR_READ = "Error while reading zip file."; + var ERR_WRITE = "Error while writing zip file."; + var ERR_WRITE_DATA = "Error while writing file data."; + var ERR_READ_DATA = "Error while reading file data."; + var ERR_DUPLICATED_NAME = "File already exists."; + var CHUNK_SIZE = 512 * 1024; + + var TEXT_PLAIN = "text/plain"; + + var appendABViewSupported; + try { + appendABViewSupported = new Blob([ new DataView(new ArrayBuffer(0)) ]).size === 0; + } catch (e) { + } + + function Crc32() { + this.crc = -1; + } + Crc32.prototype.append = function append(data) { + var crc = this.crc | 0, table = this.table; + for (var offset = 0, len = data.length | 0; offset < len; offset++) + crc = (crc >>> 8) ^ table[(crc ^ data[offset]) & 0xFF]; + this.crc = crc; + }; + Crc32.prototype.get = function get() { + return ~this.crc; + }; + Crc32.prototype.table = (function() { + var i, j, t, table = []; // Uint32Array is actually slower than [] + for (i = 0; i < 256; i++) { + t = i; + for (j = 0; j < 8; j++) + if (t & 1) + t = (t >>> 1) ^ 0xEDB88320; + else + t = t >>> 1; + table[i] = t; + } + return table; + })(); + + // "no-op" codec + function NOOP() {} + NOOP.prototype.append = function append(bytes, onprogress) { + return bytes; + }; + NOOP.prototype.flush = function flush() {}; + + function blobSlice(blob, index, length) { + if (index < 0 || length < 0 || index + length > blob.size) + throw new RangeError('offset:' + index + ', length:' + length + ', size:' + blob.size); + if (blob.slice) + return blob.slice(index, index + length); + else if (blob.webkitSlice) + return blob.webkitSlice(index, index + length); + else if (blob.mozSlice) + return blob.mozSlice(index, index + length); + else if (blob.msSlice) + return blob.msSlice(index, index + length); + } + + function getDataHelper(byteLength, bytes) { + var dataBuffer, dataArray; + dataBuffer = new ArrayBuffer(byteLength); + dataArray = new Uint8Array(dataBuffer); + if (bytes) + dataArray.set(bytes, 0); + return { + buffer : dataBuffer, + array : dataArray, + view : new DataView(dataBuffer) + }; + } + + // Readers + function Reader() { + } + + function TextReader(text) { + var that = this, blobReader; + + function init(callback, onerror) { + var blob = new Blob([ text ], { + type : TEXT_PLAIN + }); + blobReader = new BlobReader(blob); + blobReader.init(function() { + that.size = blobReader.size; + callback(); + }, onerror); + } + + function readUint8Array(index, length, callback, onerror) { + blobReader.readUint8Array(index, length, callback, onerror); + } + + that.size = 0; + that.init = init; + that.readUint8Array = readUint8Array; + } + TextReader.prototype = new Reader(); + TextReader.prototype.constructor = TextReader; + + function Data64URIReader(dataURI) { + var that = this, dataStart; + + function init(callback) { + var dataEnd = dataURI.length; + while (dataURI.charAt(dataEnd - 1) == "=") + dataEnd--; + dataStart = dataURI.indexOf(",") + 1; + that.size = Math.floor((dataEnd - dataStart) * 0.75); + callback(); + } + + function readUint8Array(index, length, callback) { + var i, data = getDataHelper(length); + var start = Math.floor(index / 3) * 4; + var end = Math.ceil((index + length) / 3) * 4; + var bytes = obj.atob(dataURI.substring(start + dataStart, end + dataStart)); + var delta = index - Math.floor(start / 4) * 3; + for (i = delta; i < delta + length; i++) + data.array[i - delta] = bytes.charCodeAt(i); + callback(data.array); + } + + that.size = 0; + that.init = init; + that.readUint8Array = readUint8Array; + } + Data64URIReader.prototype = new Reader(); + Data64URIReader.prototype.constructor = Data64URIReader; + + function BlobReader(blob) { + var that = this; + + function init(callback) { + that.size = blob.size; + callback(); + } + + function readUint8Array(index, length, callback, onerror) { + var reader = new FileReader(); + reader.onload = function(e) { + callback(new Uint8Array(e.target.result)); + }; + reader.onerror = onerror; + try { + reader.readAsArrayBuffer(blobSlice(blob, index, length)); + } catch (e) { + onerror(e); + } + } + + that.size = 0; + that.init = init; + that.readUint8Array = readUint8Array; + } + BlobReader.prototype = new Reader(); + BlobReader.prototype.constructor = BlobReader; + + // Writers + + function Writer() { + } + Writer.prototype.getData = function(callback) { + callback(this.data); + }; + + function TextWriter(encoding) { + var that = this, blob; + + function init(callback) { + blob = new Blob([], { + type : TEXT_PLAIN + }); + callback(); + } + + function writeUint8Array(array, callback) { + blob = new Blob([ blob, appendABViewSupported ? array : array.buffer ], { + type : TEXT_PLAIN + }); + callback(); + } + + function getData(callback, onerror) { + var reader = new FileReader(); + reader.onload = function(e) { + callback(e.target.result); + }; + reader.onerror = onerror; + reader.readAsText(blob, encoding); + } + + that.init = init; + that.writeUint8Array = writeUint8Array; + that.getData = getData; + } + TextWriter.prototype = new Writer(); + TextWriter.prototype.constructor = TextWriter; + + function Data64URIWriter(contentType) { + var that = this, data = "", pending = ""; + + function init(callback) { + data += "data:" + (contentType || "") + ";base64,"; + callback(); + } + + function writeUint8Array(array, callback) { + var i, delta = pending.length, dataString = pending; + pending = ""; + for (i = 0; i < (Math.floor((delta + array.length) / 3) * 3) - delta; i++) + dataString += String.fromCharCode(array[i]); + for (; i < array.length; i++) + pending += String.fromCharCode(array[i]); + if (dataString.length > 2) + data += obj.btoa(dataString); + else + pending = dataString; + callback(); + } + + function getData(callback) { + callback(data + obj.btoa(pending)); + } + + that.init = init; + that.writeUint8Array = writeUint8Array; + that.getData = getData; + } + Data64URIWriter.prototype = new Writer(); + Data64URIWriter.prototype.constructor = Data64URIWriter; + + function BlobWriter(contentType) { + var blob, that = this; + + function init(callback) { + blob = new Blob([], { + type : contentType + }); + callback(); + } + + function writeUint8Array(array, callback) { + blob = new Blob([ blob, appendABViewSupported ? array : array.buffer ], { + type : contentType + }); + callback(); + } + + function getData(callback) { + callback(blob); + } + + that.init = init; + that.writeUint8Array = writeUint8Array; + that.getData = getData; + } + BlobWriter.prototype = new Writer(); + BlobWriter.prototype.constructor = BlobWriter; + + function launchProcess(process, reader, writer, offset, size, crcType, onprogress, onend, onreaderror, onwriteerror) { + var chunkIndex = 0, index, outputSize = 0, + crcInput = crcType === 'input', + crcOutput = crcType === 'output', + crc = new Crc32(); + function step() { + var outputData; + index = chunkIndex * CHUNK_SIZE; + if (index < size) + reader.readUint8Array(offset + index, Math.min(CHUNK_SIZE, size - index), function(inputData) { + var outputData; + try { + outputData = process.append(inputData, function(loaded) { + if (onprogress) + onprogress(index + loaded, size); + }); + } catch (e) { + onreaderror(e); + return; + } + if (outputData) { + outputSize += outputData.length; + writer.writeUint8Array(outputData, function() { + chunkIndex++; + setTimeout(step, 1); + }, onwriteerror); + if (crcOutput) + crc.append(outputData); + } else { + chunkIndex++; + setTimeout(step, 1); + } + if (crcInput) + crc.append(inputData); + if (onprogress) + onprogress(index, size); + }, onreaderror); + else { + try { + outputData = process.flush(); + } catch (e) { + onreaderror(e); + return; + } + if (outputData) { + if (crcOutput) + crc.append(outputData); + outputSize += outputData.length; + writer.writeUint8Array(outputData, function() { + onend(outputSize, crc.get()); + }, onwriteerror); + } else + onend(outputSize, crc.get()); + } + } + + step(); + } + + function inflate(sn, reader, writer, offset, size, computeCrc32, onend, onprogress, onreaderror, onwriteerror) { + var crcType = computeCrc32 ? 'output' : 'none'; + launchProcess(new obj.zip.Inflater(), reader, writer, offset, size, crcType, onprogress, onend, onreaderror, onwriteerror); + } + + function deflate(sn, reader, writer, level, onend, onprogress, onreaderror, onwriteerror) { + var crcType = 'input'; + launchProcess(new obj.zip.Deflater(), reader, writer, 0, reader.size, crcType, onprogress, onend, onreaderror, onwriteerror); + } + + function copy(sn, reader, writer, offset, size, computeCrc32, onend, onprogress, onreaderror, onwriteerror) { + var crcType = 'input'; + launchProcess(new NOOP(), reader, writer, offset, size, crcType, onprogress, onend, onreaderror, onwriteerror); + } + + // ZipReader + + function decodeASCII(str) { + var i, out = "", charCode, extendedASCII = [ '\u00C7', '\u00FC', '\u00E9', '\u00E2', '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00EF', '\u00EE', '\u00EC', '\u00C4', '\u00C5', '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00F2', '\u00FB', '\u00F9', + '\u00FF', '\u00D6', '\u00DC', '\u00F8', '\u00A3', '\u00D8', '\u00D7', '\u0192', '\u00E1', '\u00ED', '\u00F3', '\u00FA', '\u00F1', '\u00D1', + '\u00AA', '\u00BA', '\u00BF', '\u00AE', '\u00AC', '\u00BD', '\u00BC', '\u00A1', '\u00AB', '\u00BB', '_', '_', '_', '\u00A6', '\u00A6', + '\u00C1', '\u00C2', '\u00C0', '\u00A9', '\u00A6', '\u00A6', '+', '+', '\u00A2', '\u00A5', '+', '+', '-', '-', '+', '-', '+', '\u00E3', + '\u00C3', '+', '+', '-', '-', '\u00A6', '-', '+', '\u00A4', '\u00F0', '\u00D0', '\u00CA', '\u00CB', '\u00C8', 'i', '\u00CD', '\u00CE', + '\u00CF', '+', '+', '_', '_', '\u00A6', '\u00CC', '_', '\u00D3', '\u00DF', '\u00D4', '\u00D2', '\u00F5', '\u00D5', '\u00B5', '\u00FE', + '\u00DE', '\u00DA', '\u00DB', '\u00D9', '\u00FD', '\u00DD', '\u00AF', '\u00B4', '\u00AD', '\u00B1', '_', '\u00BE', '\u00B6', '\u00A7', + '\u00F7', '\u00B8', '\u00B0', '\u00A8', '\u00B7', '\u00B9', '\u00B3', '\u00B2', '_', ' ' ]; + for (i = 0; i < str.length; i++) { + charCode = str.charCodeAt(i) & 0xFF; + if (charCode > 127) + out += extendedASCII[charCode - 128]; + else + out += String.fromCharCode(charCode); + } + return out; + } + + function decodeUTF8(string) { + return decodeURIComponent(escape(string)); + } + + function getString(bytes) { + var i, str = ""; + for (i = 0; i < bytes.length; i++) + str += String.fromCharCode(bytes[i]); + return str; + } + + function getDate(timeRaw) { + var date = (timeRaw & 0xffff0000) >> 16, time = timeRaw & 0x0000ffff; + try { + return new Date(1980 + ((date & 0xFE00) >> 9), ((date & 0x01E0) >> 5) - 1, date & 0x001F, (time & 0xF800) >> 11, (time & 0x07E0) >> 5, + (time & 0x001F) * 2, 0); + } catch (e) { + } + } + + function readCommonHeader(entry, data, index, centralDirectory, onerror) { + entry.version = data.view.getUint16(index, true); + entry.bitFlag = data.view.getUint16(index + 2, true); + entry.compressionMethod = data.view.getUint16(index + 4, true); + entry.lastModDateRaw = data.view.getUint32(index + 6, true); + entry.lastModDate = getDate(entry.lastModDateRaw); + if ((entry.bitFlag & 0x01) === 0x01) { + onerror(ERR_ENCRYPTED); + return; + } + if (centralDirectory || (entry.bitFlag & 0x0008) != 0x0008) { + entry.crc32 = data.view.getUint32(index + 10, true); + entry.compressedSize = data.view.getUint32(index + 14, true); + entry.uncompressedSize = data.view.getUint32(index + 18, true); + } + if (entry.compressedSize === 0xFFFFFFFF || entry.uncompressedSize === 0xFFFFFFFF) { + onerror(ERR_ZIP64); + return; + } + entry.filenameLength = data.view.getUint16(index + 22, true); + entry.extraFieldLength = data.view.getUint16(index + 24, true); + } + + function createZipReader(reader, callback, onerror) { + var inflateSN = 0; + + function Entry() { + } + + Entry.prototype.getData = function(writer, onend, onprogress, checkCrc32) { + var that = this; + + function testCrc32(crc32) { + var dataCrc32 = getDataHelper(4); + dataCrc32.view.setUint32(0, crc32); + return that.crc32 == dataCrc32.view.getUint32(0); + } + + function getWriterData(uncompressedSize, crc32) { + if (checkCrc32 && !testCrc32(crc32)) + onerror(ERR_CRC); + else + writer.getData(function(data) { + onend(data); + }); + } + + function onreaderror(err) { + onerror(err || ERR_READ_DATA); + } + + function onwriteerror(err) { + onerror(err || ERR_WRITE_DATA); + } + + reader.readUint8Array(that.offset, 30, function(bytes) { + var data = getDataHelper(bytes.length, bytes), dataOffset; + if (data.view.getUint32(0) != 0x504b0304) { + onerror(ERR_BAD_FORMAT); + return; + } + readCommonHeader(that, data, 4, false, onerror); + dataOffset = that.offset + 30 + that.filenameLength + that.extraFieldLength; + writer.init(function() { + if (that.compressionMethod === 0) + copy(inflateSN++, reader, writer, dataOffset, that.compressedSize, checkCrc32, getWriterData, onprogress, onreaderror, onwriteerror); + else + inflate(inflateSN++, reader, writer, dataOffset, that.compressedSize, checkCrc32, getWriterData, onprogress, onreaderror, onwriteerror); + }, onwriteerror); + }, onreaderror); + }; + + function seekEOCDR(eocdrCallback) { + // "End of central directory record" is the last part of a zip archive, and is at least 22 bytes long. + // Zip file comment is the last part of EOCDR and has max length of 64KB, + // so we only have to search the last 64K + 22 bytes of a archive for EOCDR signature (0x06054b50). + var EOCDR_MIN = 22; + if (reader.size < EOCDR_MIN) { + onerror(ERR_BAD_FORMAT); + return; + } + var ZIP_COMMENT_MAX = 256 * 256, EOCDR_MAX = EOCDR_MIN + ZIP_COMMENT_MAX; + + // In most cases, the EOCDR is EOCDR_MIN bytes long + doSeek(EOCDR_MIN, function() { + // If not found, try within EOCDR_MAX bytes + doSeek(Math.min(EOCDR_MAX, reader.size), function() { + onerror(ERR_BAD_FORMAT); + }); + }); + + // seek last length bytes of file for EOCDR + function doSeek(length, eocdrNotFoundCallback) { + reader.readUint8Array(reader.size - length, length, function(bytes) { + for (var i = bytes.length - EOCDR_MIN; i >= 0; i--) { + if (bytes[i] === 0x50 && bytes[i + 1] === 0x4b && bytes[i + 2] === 0x05 && bytes[i + 3] === 0x06) { + eocdrCallback(new DataView(bytes.buffer, i, EOCDR_MIN)); + return; + } + } + eocdrNotFoundCallback(); + }, function() { + onerror(ERR_READ); + }); + } + } + + var zipReader = { + getEntries : function(callback) { + // look for End of central directory record + seekEOCDR(function(dataView) { + var datalength, fileslength; + datalength = dataView.getUint32(16, true); + fileslength = dataView.getUint16(8, true); + if (datalength < 0 || datalength >= reader.size) { + onerror(ERR_BAD_FORMAT); + return; + } + reader.readUint8Array(datalength, reader.size - datalength, function(bytes) { + var i, index = 0, entries = [], entry, filename, comment, data = getDataHelper(bytes.length, bytes); + for (i = 0; i < fileslength; i++) { + entry = new Entry(); + if (data.view.getUint32(index) != 0x504b0102) { + onerror(ERR_BAD_FORMAT); + return; + } + readCommonHeader(entry, data, index + 6, true, onerror); + entry.commentLength = data.view.getUint16(index + 32, true); + entry.directory = ((data.view.getUint8(index + 38) & 0x10) == 0x10); + entry.offset = data.view.getUint32(index + 42, true); + filename = getString(data.array.subarray(index + 46, index + 46 + entry.filenameLength)); + entry.filename = ((entry.bitFlag & 0x0800) === 0x0800) ? decodeUTF8(filename) : decodeASCII(filename); + if (!entry.directory && entry.filename.charAt(entry.filename.length - 1) == "/") + entry.directory = true; + comment = getString(data.array.subarray(index + 46 + entry.filenameLength + entry.extraFieldLength, index + 46 + + entry.filenameLength + entry.extraFieldLength + entry.commentLength)); + entry.comment = ((entry.bitFlag & 0x0800) === 0x0800) ? decodeUTF8(comment) : decodeASCII(comment); + entries.push(entry); + index += 46 + entry.filenameLength + entry.extraFieldLength + entry.commentLength; + } + callback(entries); + }, function() { + onerror(ERR_READ); + }); + }); + }, + close : function(callback) { + if (callback) + callback(); + }, + }; + + callback(zipReader); + } + + // ZipWriter + + function encodeUTF8(string) { + return unescape(encodeURIComponent(string)); + } + + function getBytes(str) { + var i, array = []; + for (i = 0; i < str.length; i++) + array.push(str.charCodeAt(i)); + return array; + } + + function createZipWriter(writer, callback, onerror, dontDeflate) { + var files = {}, filenames = [], datalength = 0; + var deflateSN = 0; + + function onwriteerror(err) { + onerror(err || ERR_WRITE); + } + + function onreaderror(err) { + onerror(err || ERR_READ_DATA); + } + + var zipWriter = { + add : function(name, reader, onend, onprogress, options) { + var header, filename, date; + + function writeHeader(callback) { + var data; + date = options.lastModDate || new Date(); + header = getDataHelper(26); + files[name] = { + headerArray : header.array, + directory : options.directory, + filename : filename, + offset : datalength, + comment : getBytes(encodeUTF8(options.comment || "")) + }; + header.view.setUint32(0, 0x14000808); + if (options.version) + header.view.setUint8(0, options.version); + if (!dontDeflate && options.level !== 0 && !options.directory) + header.view.setUint16(4, 0x0800); + header.view.setUint16(6, (((date.getHours() << 6) | date.getMinutes()) << 5) | date.getSeconds() / 2, true); + header.view.setUint16(8, ((((date.getFullYear() - 1980) << 4) | (date.getMonth() + 1)) << 5) | date.getDate(), true); + header.view.setUint16(22, filename.length, true); + data = getDataHelper(30 + filename.length); + data.view.setUint32(0, 0x504b0304); + data.array.set(header.array, 4); + data.array.set(filename, 30); + datalength += data.array.length; + writer.writeUint8Array(data.array, callback, onwriteerror); + } + + function writeFooter(compressedLength, crc32) { + var footer = getDataHelper(16); + datalength += compressedLength || 0; + footer.view.setUint32(0, 0x504b0708); + if (typeof crc32 != "undefined") { + header.view.setUint32(10, crc32, true); + footer.view.setUint32(4, crc32, true); + } + if (reader) { + footer.view.setUint32(8, compressedLength, true); + header.view.setUint32(14, compressedLength, true); + footer.view.setUint32(12, reader.size, true); + header.view.setUint32(18, reader.size, true); + } + writer.writeUint8Array(footer.array, function() { + datalength += 16; + onend(); + }, onwriteerror); + } + + function writeFile() { + options = options || {}; + name = name.trim(); + if (options.directory && name.charAt(name.length - 1) != "/") + name += "/"; + if (files.hasOwnProperty(name)) { + onerror(ERR_DUPLICATED_NAME); + return; + } + filename = getBytes(encodeUTF8(name)); + filenames.push(name); + writeHeader(function() { + if (reader) + if (dontDeflate || options.level === 0) + copy(deflateSN++, reader, writer, 0, reader.size, true, writeFooter, onprogress, onreaderror, onwriteerror); + else + deflate(deflateSN++, reader, writer, options.level, writeFooter, onprogress, onreaderror, onwriteerror); + else + writeFooter(); + }, onwriteerror); + } + + if (reader) + reader.init(writeFile, onreaderror); + else + writeFile(); + }, + close : function(callback) { + + var data, length = 0, index = 0, indexFilename, file; + for (indexFilename = 0; indexFilename < filenames.length; indexFilename++) { + file = files[filenames[indexFilename]]; + length += 46 + file.filename.length + file.comment.length; + } + data = getDataHelper(length + 22); + for (indexFilename = 0; indexFilename < filenames.length; indexFilename++) { + file = files[filenames[indexFilename]]; + data.view.setUint32(index, 0x504b0102); + data.view.setUint16(index + 4, 0x1400); + data.array.set(file.headerArray, index + 6); + data.view.setUint16(index + 32, file.comment.length, true); + if (file.directory) + data.view.setUint8(index + 38, 0x10); + data.view.setUint32(index + 42, file.offset, true); + data.array.set(file.filename, index + 46); + data.array.set(file.comment, index + 46 + file.filename.length); + index += 46 + file.filename.length + file.comment.length; + } + data.view.setUint32(index, 0x504b0506); + data.view.setUint16(index + 8, filenames.length, true); + data.view.setUint16(index + 10, filenames.length, true); + data.view.setUint32(index + 12, length, true); + data.view.setUint32(index + 16, datalength, true); + writer.writeUint8Array(data.array, function() { + writer.getData(callback); + }, onwriteerror); + }, + }; + + callback(zipWriter); + } + + function onerror_default(error) { + console.error(error); + } + obj.zip = { + Reader : Reader, + Writer : Writer, + BlobReader : BlobReader, + Data64URIReader : Data64URIReader, + TextReader : TextReader, + BlobWriter : BlobWriter, + Data64URIWriter : Data64URIWriter, + TextWriter : TextWriter, + createReader : function(reader, callback, onerror) { + onerror = onerror || onerror_default; + + reader.init(function() { + createZipReader(reader, callback, onerror); + }, onerror); + }, + createWriter : function(writer, callback, onerror, dontDeflate) { + onerror = onerror || onerror_default; + dontDeflate = !!dontDeflate; + + writer.init(function() { + createZipWriter(writer, callback, onerror, dontDeflate); + }, onerror); + }, + }; + +})(this); + +// -- Inflate.js + +/* + Copyright (c) 2013 Gildas Lormeau. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + + 3. The names of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, + INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This program is based on JZlib 1.0.2 ymnk, JCraft,Inc. + * JZlib is based on zlib-1.1.3, so all credit should go authors + * Jean-loup Gailly(jloup@gzip.org) and Mark Adler(madler@alumni.caltech.edu) + * and contributors of zlib. + */ + +(function(global) { + "use strict"; + + // Global + var MAX_BITS = 15; + + var Z_OK = 0; + var Z_STREAM_END = 1; + var Z_NEED_DICT = 2; + var Z_STREAM_ERROR = -2; + var Z_DATA_ERROR = -3; + var Z_MEM_ERROR = -4; + var Z_BUF_ERROR = -5; + + var inflate_mask = [ 0x00000000, 0x00000001, 0x00000003, 0x00000007, 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff, 0x000001ff, 0x000003ff, + 0x000007ff, 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff ]; + + var MANY = 1440; + + // JZlib version : "1.0.2" + var Z_NO_FLUSH = 0; + var Z_FINISH = 4; + + // InfTree + var fixed_bl = 9; + var fixed_bd = 5; + + var fixed_tl = [ 96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 192, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 160, 0, 8, 0, + 0, 8, 128, 0, 8, 64, 0, 9, 224, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 144, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 208, 81, 7, 17, 0, 8, 104, 0, 8, 40, + 0, 9, 176, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 240, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 200, 81, 7, 13, + 0, 8, 100, 0, 8, 36, 0, 9, 168, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 232, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 152, 84, 7, 83, 0, 8, 124, 0, 8, 60, + 0, 9, 216, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 184, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 248, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, + 35, 0, 8, 114, 0, 8, 50, 0, 9, 196, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 164, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 228, 80, 7, 7, 0, 8, 90, 0, 8, + 26, 0, 9, 148, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 212, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 180, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 244, 80, + 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 204, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 172, 0, 8, 6, 0, 8, 134, 0, + 8, 70, 0, 9, 236, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 156, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 220, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 188, 0, + 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 252, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 194, 80, 7, 10, 0, 8, 97, + 0, 8, 33, 0, 9, 162, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 226, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 146, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 210, + 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 178, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 242, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, + 0, 8, 53, 0, 9, 202, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 170, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 234, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 154, + 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 218, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 186, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 250, 80, 7, 3, 0, 8, 83, + 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 198, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 166, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 230, + 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 150, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 214, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 182, 0, 8, 11, 0, 8, 139, + 0, 8, 75, 0, 9, 246, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 206, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 174, + 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 238, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 158, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 222, 82, 7, 27, 0, 8, 111, + 0, 8, 47, 0, 9, 190, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 254, 96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, + 193, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 161, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 225, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 145, 83, 7, 59, 0, 8, + 120, 0, 8, 56, 0, 9, 209, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 177, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 241, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, + 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 201, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 169, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 233, 80, 7, 8, 0, 8, + 92, 0, 8, 28, 0, 9, 153, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 217, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 185, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, + 249, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 197, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 165, 0, 8, 2, 0, 8, + 130, 0, 8, 66, 0, 9, 229, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 149, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 213, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, + 181, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 245, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 205, 81, 7, 15, 0, 8, + 102, 0, 8, 38, 0, 9, 173, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 237, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 157, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, + 221, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 189, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 253, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, + 8, 113, 0, 8, 49, 0, 9, 195, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 163, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 227, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, + 147, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 211, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 179, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 243, 80, 7, 4, 0, 8, + 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 203, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 171, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, + 235, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 155, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 219, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 187, 0, 8, 13, 0, 8, + 141, 0, 8, 77, 0, 9, 251, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 199, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, + 167, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 231, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 151, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 215, 82, 7, 19, 0, 8, + 107, 0, 8, 43, 0, 9, 183, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 247, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, + 207, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 175, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 239, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 159, 84, 7, 99, 0, 8, + 127, 0, 8, 63, 0, 9, 223, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 191, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 255 ]; + var fixed_td = [ 80, 5, 1, 87, 5, 257, 83, 5, 17, 91, 5, 4097, 81, 5, 5, 89, 5, 1025, 85, 5, 65, 93, 5, 16385, 80, 5, 3, 88, 5, 513, 84, 5, 33, 92, 5, + 8193, 82, 5, 9, 90, 5, 2049, 86, 5, 129, 192, 5, 24577, 80, 5, 2, 87, 5, 385, 83, 5, 25, 91, 5, 6145, 81, 5, 7, 89, 5, 1537, 85, 5, 97, 93, 5, + 24577, 80, 5, 4, 88, 5, 769, 84, 5, 49, 92, 5, 12289, 82, 5, 13, 90, 5, 3073, 86, 5, 193, 192, 5, 24577 ]; + + // Tables for deflate from PKZIP's appnote.txt. + var cplens = [ // Copy lengths for literal codes 257..285 + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 ]; + + // see note #13 above about 258 + var cplext = [ // Extra bits for literal codes 257..285 + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112 // 112==invalid + ]; + + var cpdist = [ // Copy offsets for distance codes 0..29 + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ]; + + var cpdext = [ // Extra bits for distance codes + 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 ]; + + // If BMAX needs to be larger than 16, then h and x[] should be uLong. + var BMAX = 15; // maximum bit length of any code + + function InfTree() { + var that = this; + + var hn; // hufts used in space + var v; // work area for huft_build + var c; // bit length count table + var r; // table entry for structure assignment + var u; // table stack + var x; // bit offsets, then code stack + + function huft_build(b, // code lengths in bits (all assumed <= + // BMAX) + bindex, n, // number of codes (assumed <= 288) + s, // number of simple-valued codes (0..s-1) + d, // list of base values for non-simple codes + e, // list of extra bits for non-simple codes + t, // result: starting table + m, // maximum lookup bits, returns actual + hp,// space for trees + hn,// hufts used in space + v // working area: values in order of bit length + ) { + // Given a list of code lengths and a maximum table size, make a set of + // tables to decode that set of codes. Return Z_OK on success, + // Z_BUF_ERROR + // if the given code set is incomplete (the tables are still built in + // this + // case), Z_DATA_ERROR if the input is invalid (an over-subscribed set + // of + // lengths), or Z_MEM_ERROR if not enough memory. + + var a; // counter for codes of length k + var f; // i repeats in table every f entries + var g; // maximum code length + var h; // table level + var i; // counter, current code + var j; // counter + var k; // number of bits in current code + var l; // bits per table (returned in m) + var mask; // (1 << w) - 1, to avoid cc -O bug on HP + var p; // pointer into c[], b[], or v[] + var q; // points to current table + var w; // bits before this table == (l * h) + var xp; // pointer into x + var y; // number of dummy codes added + var z; // number of entries in current table + + // Generate counts for each bit length + + p = 0; + i = n; + do { + c[b[bindex + p]]++; + p++; + i--; // assume all entries <= BMAX + } while (i !== 0); + + if (c[0] == n) { // null input--all zero length codes + t[0] = -1; + m[0] = 0; + return Z_OK; + } + + // Find minimum and maximum length, bound *m by those + l = m[0]; + for (j = 1; j <= BMAX; j++) + if (c[j] !== 0) + break; + k = j; // minimum code length + if (l < j) { + l = j; + } + for (i = BMAX; i !== 0; i--) { + if (c[i] !== 0) + break; + } + g = i; // maximum code length + if (l > i) { + l = i; + } + m[0] = l; + + // Adjust last length count to fill out codes, if needed + for (y = 1 << j; j < i; j++, y <<= 1) { + if ((y -= c[j]) < 0) { + return Z_DATA_ERROR; + } + } + if ((y -= c[i]) < 0) { + return Z_DATA_ERROR; + } + c[i] += y; + + // Generate starting offsets into the value table for each length + x[1] = j = 0; + p = 1; + xp = 2; + while (--i !== 0) { // note that i == g from above + x[xp] = (j += c[p]); + xp++; + p++; + } + + // Make a table of values in order of bit lengths + i = 0; + p = 0; + do { + if ((j = b[bindex + p]) !== 0) { + v[x[j]++] = i; + } + p++; + } while (++i < n); + n = x[g]; // set n to length of v + + // Generate the Huffman codes and for each, make the table entries + x[0] = i = 0; // first Huffman code is zero + p = 0; // grab values in bit order + h = -1; // no tables yet--level -1 + w = -l; // bits decoded == (l * h) + u[0] = 0; // just to keep compilers happy + q = 0; // ditto + z = 0; // ditto + + // go through the bit lengths (k already is bits in shortest code) + for (; k <= g; k++) { + a = c[k]; + while (a-- !== 0) { + // here i is the Huffman code of length k bits for value *p + // make tables up to required level + while (k > w + l) { + h++; + w += l; // previous table always l bits + // compute minimum size table less than or equal to l bits + z = g - w; + z = (z > l) ? l : z; // table size upper limit + if ((f = 1 << (j = k - w)) > a + 1) { // try a k-w bit table + // too few codes for + // k-w bit table + f -= a + 1; // deduct codes from patterns left + xp = k; + if (j < z) { + while (++j < z) { // try smaller tables up to z bits + if ((f <<= 1) <= c[++xp]) + break; // enough codes to use up j bits + f -= c[xp]; // else deduct codes from patterns + } + } + } + z = 1 << j; // table entries for j-bit table + + // allocate new table + if (hn[0] + z > MANY) { // (note: doesn't matter for fixed) + return Z_DATA_ERROR; // overflow of MANY + } + u[h] = q = /* hp+ */hn[0]; // DEBUG + hn[0] += z; + + // connect to last table, if there is one + if (h !== 0) { + x[h] = i; // save pattern for backing up + r[0] = /* (byte) */j; // bits in this table + r[1] = /* (byte) */l; // bits to dump before this table + j = i >>> (w - l); + r[2] = /* (int) */(q - u[h - 1] - j); // offset to this table + hp.set(r, (u[h - 1] + j) * 3); + // to + // last + // table + } else { + t[0] = q; // first table is returned result + } + } + + // set up table entry in r + r[1] = /* (byte) */(k - w); + if (p >= n) { + r[0] = 128 + 64; // out of values--invalid code + } else if (v[p] < s) { + r[0] = /* (byte) */(v[p] < 256 ? 0 : 32 + 64); // 256 is + // end-of-block + r[2] = v[p++]; // simple code is just the value + } else { + r[0] = /* (byte) */(e[v[p] - s] + 16 + 64); // non-simple--look + // up in lists + r[2] = d[v[p++] - s]; + } + + // fill code-like entries with r + f = 1 << (k - w); + for (j = i >>> w; j < z; j += f) { + hp.set(r, (q + j) * 3); + } + + // backwards increment the k-bit code i + for (j = 1 << (k - 1); (i & j) !== 0; j >>>= 1) { + i ^= j; + } + i ^= j; + + // backup over finished tables + mask = (1 << w) - 1; // needed on HP, cc -O bug + while ((i & mask) != x[h]) { + h--; // don't need to update q + w -= l; + mask = (1 << w) - 1; + } + } + } + // Return Z_BUF_ERROR if we were given an incomplete table + return y !== 0 && g != 1 ? Z_BUF_ERROR : Z_OK; + } + + function initWorkArea(vsize) { + var i; + if (!hn) { + hn = []; // []; //new Array(1); + v = []; // new Array(vsize); + c = new Int32Array(BMAX + 1); // new Array(BMAX + 1); + r = []; // new Array(3); + u = new Int32Array(BMAX); // new Array(BMAX); + x = new Int32Array(BMAX + 1); // new Array(BMAX + 1); + } + if (v.length < vsize) { + v = []; // new Array(vsize); + } + for (i = 0; i < vsize; i++) { + v[i] = 0; + } + for (i = 0; i < BMAX + 1; i++) { + c[i] = 0; + } + for (i = 0; i < 3; i++) { + r[i] = 0; + } + // for(int i=0; i 257)) { + if (result == Z_DATA_ERROR) { + z.msg = "oversubscribed distance tree"; + } else if (result == Z_BUF_ERROR) { + z.msg = "incomplete distance tree"; + result = Z_DATA_ERROR; + } else if (result != Z_MEM_ERROR) { + z.msg = "empty distance tree with lengths"; + result = Z_DATA_ERROR; + } + return result; + } + + return Z_OK; + }; + + } + + InfTree.inflate_trees_fixed = function(bl, // literal desired/actual bit depth + bd, // distance desired/actual bit depth + tl,// literal/length tree result + td// distance tree result + ) { + bl[0] = fixed_bl; + bd[0] = fixed_bd; + tl[0] = fixed_tl; + td[0] = fixed_td; + return Z_OK; + }; + + // InfCodes + + // waiting for "i:"=input, + // "o:"=output, + // "x:"=nothing + var START = 0; // x: set up for LEN + var LEN = 1; // i: get length/literal/eob next + var LENEXT = 2; // i: getting length extra (have base) + var DIST = 3; // i: get distance next + var DISTEXT = 4;// i: getting distance extra + var COPY = 5; // o: copying bytes in window, waiting + // for space + var LIT = 6; // o: got literal, waiting for output + // space + var WASH = 7; // o: got eob, possibly still output + // waiting + var END = 8; // x: got eob and all data flushed + var BADCODE = 9;// x: got error + + function InfCodes() { + var that = this; + + var mode; // current inflate_codes mode + + // mode dependent information + var len = 0; + + var tree; // pointer into tree + var tree_index = 0; + var need = 0; // bits needed + + var lit = 0; + + // if EXT or COPY, where and how much + var get = 0; // bits to get for extra + var dist = 0; // distance back to copy from + + var lbits = 0; // ltree bits decoded per branch + var dbits = 0; // dtree bits decoder per branch + var ltree; // literal/length/eob tree + var ltree_index = 0; // literal/length/eob tree + var dtree; // distance tree + var dtree_index = 0; // distance tree + + // Called with number of bytes left to write in window at least 258 + // (the maximum string length) and number of input bytes available + // at least ten. The ten bytes are six bytes for the longest length/ + // distance pair plus four bytes for overloading the bit buffer. + + function inflate_fast(bl, bd, tl, tl_index, td, td_index, s, z) { + var t; // temporary pointer + var tp; // temporary pointer + var tp_index; // temporary pointer + var e; // extra bits or operation + var b; // bit buffer + var k; // bits in bit buffer + var p; // input data pointer + var n; // bytes available there + var q; // output window write pointer + var m; // bytes to end of window or read pointer + var ml; // mask for literal/length tree + var md; // mask for distance tree + var c; // bytes to copy + var d; // distance back to copy from + var r; // copy source pointer + + var tp_index_t_3; // (tp_index+t)*3 + + // load input, output, bit values + p = z.next_in_index; + n = z.avail_in; + b = s.bitb; + k = s.bitk; + q = s.write; + m = q < s.read ? s.read - q - 1 : s.end - q; + + // initialize masks + ml = inflate_mask[bl]; + md = inflate_mask[bd]; + + // do until not enough input or output space for fast loop + do { // assume called with m >= 258 && n >= 10 + // get literal/length code + while (k < (20)) { // max bits for literal/length code + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + t = b & ml; + tp = tl; + tp_index = tl_index; + tp_index_t_3 = (tp_index + t) * 3; + if ((e = tp[tp_index_t_3]) === 0) { + b >>= (tp[tp_index_t_3 + 1]); + k -= (tp[tp_index_t_3 + 1]); + + s.window[q++] = /* (byte) */tp[tp_index_t_3 + 2]; + m--; + continue; + } + do { + + b >>= (tp[tp_index_t_3 + 1]); + k -= (tp[tp_index_t_3 + 1]); + + if ((e & 16) !== 0) { + e &= 15; + c = tp[tp_index_t_3 + 2] + (/* (int) */b & inflate_mask[e]); + + b >>= e; + k -= e; + + // decode distance base of block to copy + while (k < (15)) { // max bits for distance code + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + t = b & md; + tp = td; + tp_index = td_index; + tp_index_t_3 = (tp_index + t) * 3; + e = tp[tp_index_t_3]; + + do { + + b >>= (tp[tp_index_t_3 + 1]); + k -= (tp[tp_index_t_3 + 1]); + + if ((e & 16) !== 0) { + // get extra bits to add to distance base + e &= 15; + while (k < (e)) { // get extra bits (up to 13) + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + d = tp[tp_index_t_3 + 2] + (b & inflate_mask[e]); + + b >>= (e); + k -= (e); + + // do the copy + m -= c; + if (q >= d) { // offset before dest + // just copy + r = q - d; + if (q - r > 0 && 2 > (q - r)) { + s.window[q++] = s.window[r++]; // minimum + // count is + // three, + s.window[q++] = s.window[r++]; // so unroll + // loop a + // little + c -= 2; + } else { + s.window.set(s.window.subarray(r, r + 2), q); + q += 2; + r += 2; + c -= 2; + } + } else { // else offset after destination + r = q - d; + do { + r += s.end; // force pointer in window + } while (r < 0); // covers invalid distances + e = s.end - r; + if (c > e) { // if source crosses, + c -= e; // wrapped copy + if (q - r > 0 && e > (q - r)) { + do { + s.window[q++] = s.window[r++]; + } while (--e !== 0); + } else { + s.window.set(s.window.subarray(r, r + e), q); + q += e; + r += e; + e = 0; + } + r = 0; // copy rest from start of window + } + + } + + // copy all or what's left + if (q - r > 0 && c > (q - r)) { + do { + s.window[q++] = s.window[r++]; + } while (--c !== 0); + } else { + s.window.set(s.window.subarray(r, r + c), q); + q += c; + r += c; + c = 0; + } + break; + } else if ((e & 64) === 0) { + t += tp[tp_index_t_3 + 2]; + t += (b & inflate_mask[e]); + tp_index_t_3 = (tp_index + t) * 3; + e = tp[tp_index_t_3]; + } else { + z.msg = "invalid distance code"; + + c = z.avail_in - n; + c = (k >> 3) < c ? k >> 3 : c; + n += c; + p -= c; + k -= c << 3; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + + return Z_DATA_ERROR; + } + } while (true); + break; + } + + if ((e & 64) === 0) { + t += tp[tp_index_t_3 + 2]; + t += (b & inflate_mask[e]); + tp_index_t_3 = (tp_index + t) * 3; + if ((e = tp[tp_index_t_3]) === 0) { + + b >>= (tp[tp_index_t_3 + 1]); + k -= (tp[tp_index_t_3 + 1]); + + s.window[q++] = /* (byte) */tp[tp_index_t_3 + 2]; + m--; + break; + } + } else if ((e & 32) !== 0) { + + c = z.avail_in - n; + c = (k >> 3) < c ? k >> 3 : c; + n += c; + p -= c; + k -= c << 3; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + + return Z_STREAM_END; + } else { + z.msg = "invalid literal/length code"; + + c = z.avail_in - n; + c = (k >> 3) < c ? k >> 3 : c; + n += c; + p -= c; + k -= c << 3; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + + return Z_DATA_ERROR; + } + } while (true); + } while (m >= 258 && n >= 10); + + // not enough input or output--restore pointers and return + c = z.avail_in - n; + c = (k >> 3) < c ? k >> 3 : c; + n += c; + p -= c; + k -= c << 3; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + + return Z_OK; + } + + that.init = function(bl, bd, tl, tl_index, td, td_index) { + mode = START; + lbits = /* (byte) */bl; + dbits = /* (byte) */bd; + ltree = tl; + ltree_index = tl_index; + dtree = td; + dtree_index = td_index; + tree = null; + }; + + that.proc = function(s, z, r) { + var j; // temporary storage + var tindex; // temporary pointer + var e; // extra bits or operation + var b = 0; // bit buffer + var k = 0; // bits in bit buffer + var p = 0; // input data pointer + var n; // bytes available there + var q; // output window write pointer + var m; // bytes to end of window or read pointer + var f; // pointer to copy strings from + + // copy input/output information to locals (UPDATE macro restores) + p = z.next_in_index; + n = z.avail_in; + b = s.bitb; + k = s.bitk; + q = s.write; + m = q < s.read ? s.read - q - 1 : s.end - q; + + // process input and output based on current state + while (true) { + switch (mode) { + // waiting for "i:"=input, "o:"=output, "x:"=nothing + case START: // x: set up for LEN + if (m >= 258 && n >= 10) { + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + r = inflate_fast(lbits, dbits, ltree, ltree_index, dtree, dtree_index, s, z); + + p = z.next_in_index; + n = z.avail_in; + b = s.bitb; + k = s.bitk; + q = s.write; + m = q < s.read ? s.read - q - 1 : s.end - q; + + if (r != Z_OK) { + mode = r == Z_STREAM_END ? WASH : BADCODE; + break; + } + } + need = lbits; + tree = ltree; + tree_index = ltree_index; + + mode = LEN; + /* falls through */ + case LEN: // i: get length/literal/eob next + j = need; + + while (k < (j)) { + if (n !== 0) + r = Z_OK; + else { + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + tindex = (tree_index + (b & inflate_mask[j])) * 3; + + b >>>= (tree[tindex + 1]); + k -= (tree[tindex + 1]); + + e = tree[tindex]; + + if (e === 0) { // literal + lit = tree[tindex + 2]; + mode = LIT; + break; + } + if ((e & 16) !== 0) { // length + get = e & 15; + len = tree[tindex + 2]; + mode = LENEXT; + break; + } + if ((e & 64) === 0) { // next table + need = e; + tree_index = tindex / 3 + tree[tindex + 2]; + break; + } + if ((e & 32) !== 0) { // end of block + mode = WASH; + break; + } + mode = BADCODE; // invalid code + z.msg = "invalid literal/length code"; + r = Z_DATA_ERROR; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + + case LENEXT: // i: getting length extra (have base) + j = get; + + while (k < (j)) { + if (n !== 0) + r = Z_OK; + else { + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + len += (b & inflate_mask[j]); + + b >>= j; + k -= j; + + need = dbits; + tree = dtree; + tree_index = dtree_index; + mode = DIST; + /* falls through */ + case DIST: // i: get distance next + j = need; + + while (k < (j)) { + if (n !== 0) + r = Z_OK; + else { + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + tindex = (tree_index + (b & inflate_mask[j])) * 3; + + b >>= tree[tindex + 1]; + k -= tree[tindex + 1]; + + e = (tree[tindex]); + if ((e & 16) !== 0) { // distance + get = e & 15; + dist = tree[tindex + 2]; + mode = DISTEXT; + break; + } + if ((e & 64) === 0) { // next table + need = e; + tree_index = tindex / 3 + tree[tindex + 2]; + break; + } + mode = BADCODE; // invalid code + z.msg = "invalid distance code"; + r = Z_DATA_ERROR; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + + case DISTEXT: // i: getting distance extra + j = get; + + while (k < (j)) { + if (n !== 0) + r = Z_OK; + else { + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + dist += (b & inflate_mask[j]); + + b >>= j; + k -= j; + + mode = COPY; + /* falls through */ + case COPY: // o: copying bytes in window, waiting for space + f = q - dist; + while (f < 0) { // modulo window size-"while" instead + f += s.end; // of "if" handles invalid distances + } + while (len !== 0) { + + if (m === 0) { + if (q == s.end && s.read !== 0) { + q = 0; + m = q < s.read ? s.read - q - 1 : s.end - q; + } + if (m === 0) { + s.write = q; + r = s.inflate_flush(z, r); + q = s.write; + m = q < s.read ? s.read - q - 1 : s.end - q; + + if (q == s.end && s.read !== 0) { + q = 0; + m = q < s.read ? s.read - q - 1 : s.end - q; + } + + if (m === 0) { + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + } + } + + s.window[q++] = s.window[f++]; + m--; + + if (f == s.end) + f = 0; + len--; + } + mode = START; + break; + case LIT: // o: got literal, waiting for output space + if (m === 0) { + if (q == s.end && s.read !== 0) { + q = 0; + m = q < s.read ? s.read - q - 1 : s.end - q; + } + if (m === 0) { + s.write = q; + r = s.inflate_flush(z, r); + q = s.write; + m = q < s.read ? s.read - q - 1 : s.end - q; + + if (q == s.end && s.read !== 0) { + q = 0; + m = q < s.read ? s.read - q - 1 : s.end - q; + } + if (m === 0) { + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + } + } + r = Z_OK; + + s.window[q++] = /* (byte) */lit; + m--; + + mode = START; + break; + case WASH: // o: got eob, possibly more output + if (k > 7) { // return unused byte, if any + k -= 8; + n++; + p--; // can always return one + } + + s.write = q; + r = s.inflate_flush(z, r); + q = s.write; + m = q < s.read ? s.read - q - 1 : s.end - q; + + if (s.read != s.write) { + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + mode = END; + /* falls through */ + case END: + r = Z_STREAM_END; + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + + case BADCODE: // x: got error + + r = Z_DATA_ERROR; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + + default: + r = Z_STREAM_ERROR; + + s.bitb = b; + s.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + s.write = q; + return s.inflate_flush(z, r); + } + } + }; + + that.free = function() { + // ZFREE(z, c); + }; + + } + + // InfBlocks + + // Table for deflate from PKZIP's appnote.txt. + var border = [ // Order of the bit length code lengths + 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; + + var TYPE = 0; // get type bits (3, including end bit) + var LENS = 1; // get lengths for stored + var STORED = 2;// processing stored block + var TABLE = 3; // get table lengths + var BTREE = 4; // get bit lengths tree for a dynamic + // block + var DTREE = 5; // get length, distance trees for a + // dynamic block + var CODES = 6; // processing fixed or dynamic block + var DRY = 7; // output remaining window bytes + var DONELOCKS = 8; // finished last block, done + var BADBLOCKS = 9; // ot a data error--stuck here + + function InfBlocks(z, w) { + var that = this; + + var mode = TYPE; // current inflate_block mode + + var left = 0; // if STORED, bytes left to copy + + var table = 0; // table lengths (14 bits) + var index = 0; // index into blens (or border) + var blens; // bit lengths of codes + var bb = [ 0 ]; // bit length tree depth + var tb = [ 0 ]; // bit length decoding tree + + var codes = new InfCodes(); // if CODES, current state + + var last = 0; // true if this block is the last block + + var hufts = new Int32Array(MANY * 3); // single malloc for tree space + var check = 0; // check on output + var inftree = new InfTree(); + + that.bitk = 0; // bits in bit buffer + that.bitb = 0; // bit buffer + that.window = new Uint8Array(w); // sliding window + that.end = w; // one byte after sliding window + that.read = 0; // window read pointer + that.write = 0; // window write pointer + + that.reset = function(z, c) { + if (c) + c[0] = check; + // if (mode == BTREE || mode == DTREE) { + // } + if (mode == CODES) { + codes.free(z); + } + mode = TYPE; + that.bitk = 0; + that.bitb = 0; + that.read = that.write = 0; + }; + + that.reset(z, null); + + // copy as much as possible from the sliding window to the output area + that.inflate_flush = function(z, r) { + var n; + var p; + var q; + + // local copies of source and destination pointers + p = z.next_out_index; + q = that.read; + + // compute number of bytes to copy as far as end of window + n = /* (int) */((q <= that.write ? that.write : that.end) - q); + if (n > z.avail_out) + n = z.avail_out; + if (n !== 0 && r == Z_BUF_ERROR) + r = Z_OK; + + // update counters + z.avail_out -= n; + z.total_out += n; + + // copy as far as end of window + z.next_out.set(that.window.subarray(q, q + n), p); + p += n; + q += n; + + // see if more to copy at beginning of window + if (q == that.end) { + // wrap pointers + q = 0; + if (that.write == that.end) + that.write = 0; + + // compute bytes to copy + n = that.write - q; + if (n > z.avail_out) + n = z.avail_out; + if (n !== 0 && r == Z_BUF_ERROR) + r = Z_OK; + + // update counters + z.avail_out -= n; + z.total_out += n; + + // copy + z.next_out.set(that.window.subarray(q, q + n), p); + p += n; + q += n; + } + + // update pointers + z.next_out_index = p; + that.read = q; + + // done + return r; + }; + + that.proc = function(z, r) { + var t; // temporary storage + var b; // bit buffer + var k; // bits in bit buffer + var p; // input data pointer + var n; // bytes available there + var q; // output window write pointer + var m; // bytes to end of window or read pointer + + var i; + + // copy input/output information to locals (UPDATE macro restores) + // { + p = z.next_in_index; + n = z.avail_in; + b = that.bitb; + k = that.bitk; + // } + // { + q = that.write; + m = /* (int) */(q < that.read ? that.read - q - 1 : that.end - q); + // } + + // process input based on current state + // DEBUG dtree + while (true) { + switch (mode) { + case TYPE: + + while (k < (3)) { + if (n !== 0) { + r = Z_OK; + } else { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + t = /* (int) */(b & 7); + last = t & 1; + + switch (t >>> 1) { + case 0: // stored + // { + b >>>= (3); + k -= (3); + // } + t = k & 7; // go to byte boundary + + // { + b >>>= (t); + k -= (t); + // } + mode = LENS; // get length of stored block + break; + case 1: // fixed + // { + var bl = []; // new Array(1); + var bd = []; // new Array(1); + var tl = [ [] ]; // new Array(1); + var td = [ [] ]; // new Array(1); + + InfTree.inflate_trees_fixed(bl, bd, tl, td); + codes.init(bl[0], bd[0], tl[0], 0, td[0], 0); + // } + + // { + b >>>= (3); + k -= (3); + // } + + mode = CODES; + break; + case 2: // dynamic + + // { + b >>>= (3); + k -= (3); + // } + + mode = TABLE; + break; + case 3: // illegal + + // { + b >>>= (3); + k -= (3); + // } + mode = BADBLOCKS; + z.msg = "invalid block type"; + r = Z_DATA_ERROR; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + break; + case LENS: + + while (k < (32)) { + if (n !== 0) { + r = Z_OK; + } else { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + if ((((~b) >>> 16) & 0xffff) != (b & 0xffff)) { + mode = BADBLOCKS; + z.msg = "invalid stored block lengths"; + r = Z_DATA_ERROR; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + left = (b & 0xffff); + b = k = 0; // dump bits + mode = left !== 0 ? STORED : (last !== 0 ? DRY : TYPE); + break; + case STORED: + if (n === 0) { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + + if (m === 0) { + if (q == that.end && that.read !== 0) { + q = 0; + m = /* (int) */(q < that.read ? that.read - q - 1 : that.end - q); + } + if (m === 0) { + that.write = q; + r = that.inflate_flush(z, r); + q = that.write; + m = /* (int) */(q < that.read ? that.read - q - 1 : that.end - q); + if (q == that.end && that.read !== 0) { + q = 0; + m = /* (int) */(q < that.read ? that.read - q - 1 : that.end - q); + } + if (m === 0) { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + } + } + r = Z_OK; + + t = left; + if (t > n) + t = n; + if (t > m) + t = m; + that.window.set(z.read_buf(p, t), q); + p += t; + n -= t; + q += t; + m -= t; + if ((left -= t) !== 0) + break; + mode = last !== 0 ? DRY : TYPE; + break; + case TABLE: + + while (k < (14)) { + if (n !== 0) { + r = Z_OK; + } else { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + table = t = (b & 0x3fff); + if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29) { + mode = BADBLOCKS; + z.msg = "too many length or distance symbols"; + r = Z_DATA_ERROR; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f); + if (!blens || blens.length < t) { + blens = []; // new Array(t); + } else { + for (i = 0; i < t; i++) { + blens[i] = 0; + } + } + + // { + b >>>= (14); + k -= (14); + // } + + index = 0; + mode = BTREE; + /* falls through */ + case BTREE: + while (index < 4 + (table >>> 10)) { + while (k < (3)) { + if (n !== 0) { + r = Z_OK; + } else { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + blens[border[index++]] = b & 7; + + // { + b >>>= (3); + k -= (3); + // } + } + + while (index < 19) { + blens[border[index++]] = 0; + } + + bb[0] = 7; + t = inftree.inflate_trees_bits(blens, bb, tb, hufts, z); + if (t != Z_OK) { + r = t; + if (r == Z_DATA_ERROR) { + blens = null; + mode = BADBLOCKS; + } + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + + index = 0; + mode = DTREE; + /* falls through */ + case DTREE: + while (true) { + t = table; + if (index >= 258 + (t & 0x1f) + ((t >> 5) & 0x1f)) { + break; + } + + var j, c; + + t = bb[0]; + + while (k < (t)) { + if (n !== 0) { + r = Z_OK; + } else { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + // if (tb[0] == -1) { + // System.err.println("null..."); + // } + + t = hufts[(tb[0] + (b & inflate_mask[t])) * 3 + 1]; + c = hufts[(tb[0] + (b & inflate_mask[t])) * 3 + 2]; + + if (c < 16) { + b >>>= (t); + k -= (t); + blens[index++] = c; + } else { // c == 16..18 + i = c == 18 ? 7 : c - 14; + j = c == 18 ? 11 : 3; + + while (k < (t + i)) { + if (n !== 0) { + r = Z_OK; + } else { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + n--; + b |= (z.read_byte(p++) & 0xff) << k; + k += 8; + } + + b >>>= (t); + k -= (t); + + j += (b & inflate_mask[i]); + + b >>>= (i); + k -= (i); + + i = index; + t = table; + if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) || (c == 16 && i < 1)) { + blens = null; + mode = BADBLOCKS; + z.msg = "invalid bit length repeat"; + r = Z_DATA_ERROR; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + + c = c == 16 ? blens[i - 1] : 0; + do { + blens[i++] = c; + } while (--j !== 0); + index = i; + } + } + + tb[0] = -1; + // { + var bl_ = []; // new Array(1); + var bd_ = []; // new Array(1); + var tl_ = []; // new Array(1); + var td_ = []; // new Array(1); + bl_[0] = 9; // must be <= 9 for lookahead assumptions + bd_[0] = 6; // must be <= 9 for lookahead assumptions + + t = table; + t = inftree.inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f), blens, bl_, bd_, tl_, td_, hufts, z); + + if (t != Z_OK) { + if (t == Z_DATA_ERROR) { + blens = null; + mode = BADBLOCKS; + } + r = t; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + codes.init(bl_[0], bd_[0], hufts, tl_[0], hufts, td_[0]); + // } + mode = CODES; + /* falls through */ + case CODES: + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + + if ((r = codes.proc(that, z, r)) != Z_STREAM_END) { + return that.inflate_flush(z, r); + } + r = Z_OK; + codes.free(z); + + p = z.next_in_index; + n = z.avail_in; + b = that.bitb; + k = that.bitk; + q = that.write; + m = /* (int) */(q < that.read ? that.read - q - 1 : that.end - q); + + if (last === 0) { + mode = TYPE; + break; + } + mode = DRY; + /* falls through */ + case DRY: + that.write = q; + r = that.inflate_flush(z, r); + q = that.write; + m = /* (int) */(q < that.read ? that.read - q - 1 : that.end - q); + if (that.read != that.write) { + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + mode = DONELOCKS; + /* falls through */ + case DONELOCKS: + r = Z_STREAM_END; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + case BADBLOCKS: + r = Z_DATA_ERROR; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + + default: + r = Z_STREAM_ERROR; + + that.bitb = b; + that.bitk = k; + z.avail_in = n; + z.total_in += p - z.next_in_index; + z.next_in_index = p; + that.write = q; + return that.inflate_flush(z, r); + } + } + }; + + that.free = function(z) { + that.reset(z, null); + that.window = null; + hufts = null; + // ZFREE(z, s); + }; + + that.set_dictionary = function(d, start, n) { + that.window.set(d.subarray(start, start + n), 0); + that.read = that.write = n; + }; + + // Returns true if inflate is currently at the end of a block generated + // by Z_SYNC_FLUSH or Z_FULL_FLUSH. + that.sync_point = function() { + return mode == LENS ? 1 : 0; + }; + + } + + // Inflate + + // preset dictionary flag in zlib header + var PRESET_DICT = 0x20; + + var Z_DEFLATED = 8; + + var METHOD = 0; // waiting for method byte + var FLAG = 1; // waiting for flag byte + var DICT4 = 2; // four dictionary check bytes to go + var DICT3 = 3; // three dictionary check bytes to go + var DICT2 = 4; // two dictionary check bytes to go + var DICT1 = 5; // one dictionary check byte to go + var DICT0 = 6; // waiting for inflateSetDictionary + var BLOCKS = 7; // decompressing blocks + var DONE = 12; // finished check, done + var BAD = 13; // got an error--stay here + + var mark = [ 0, 0, 0xff, 0xff ]; + + function Inflate() { + var that = this; + + that.mode = 0; // current inflate mode + + // mode dependent information + that.method = 0; // if FLAGS, method byte + + // if CHECK, check values to compare + that.was = [ 0 ]; // new Array(1); // computed check value + that.need = 0; // stream check value + + // if BAD, inflateSync's marker bytes count + that.marker = 0; + + // mode independent information + that.wbits = 0; // log2(window size) (8..15, defaults to 15) + + // this.blocks; // current inflate_blocks state + + function inflateReset(z) { + if (!z || !z.istate) + return Z_STREAM_ERROR; + + z.total_in = z.total_out = 0; + z.msg = null; + z.istate.mode = BLOCKS; + z.istate.blocks.reset(z, null); + return Z_OK; + } + + that.inflateEnd = function(z) { + if (that.blocks) + that.blocks.free(z); + that.blocks = null; + // ZFREE(z, z->state); + return Z_OK; + }; + + that.inflateInit = function(z, w) { + z.msg = null; + that.blocks = null; + + // set window size + if (w < 8 || w > 15) { + that.inflateEnd(z); + return Z_STREAM_ERROR; + } + that.wbits = w; + + z.istate.blocks = new InfBlocks(z, 1 << w); + + // reset state + inflateReset(z); + return Z_OK; + }; + + that.inflate = function(z, f) { + var r; + var b; + + if (!z || !z.istate || !z.next_in) + return Z_STREAM_ERROR; + f = f == Z_FINISH ? Z_BUF_ERROR : Z_OK; + r = Z_BUF_ERROR; + while (true) { + // System.out.println("mode: "+z.istate.mode); + switch (z.istate.mode) { + case METHOD: + + if (z.avail_in === 0) + return r; + r = f; + + z.avail_in--; + z.total_in++; + if (((z.istate.method = z.read_byte(z.next_in_index++)) & 0xf) != Z_DEFLATED) { + z.istate.mode = BAD; + z.msg = "unknown compression method"; + z.istate.marker = 5; // can't try inflateSync + break; + } + if ((z.istate.method >> 4) + 8 > z.istate.wbits) { + z.istate.mode = BAD; + z.msg = "invalid window size"; + z.istate.marker = 5; // can't try inflateSync + break; + } + z.istate.mode = FLAG; + /* falls through */ + case FLAG: + + if (z.avail_in === 0) + return r; + r = f; + + z.avail_in--; + z.total_in++; + b = (z.read_byte(z.next_in_index++)) & 0xff; + + if ((((z.istate.method << 8) + b) % 31) !== 0) { + z.istate.mode = BAD; + z.msg = "incorrect header check"; + z.istate.marker = 5; // can't try inflateSync + break; + } + + if ((b & PRESET_DICT) === 0) { + z.istate.mode = BLOCKS; + break; + } + z.istate.mode = DICT4; + /* falls through */ + case DICT4: + + if (z.avail_in === 0) + return r; + r = f; + + z.avail_in--; + z.total_in++; + z.istate.need = ((z.read_byte(z.next_in_index++) & 0xff) << 24) & 0xff000000; + z.istate.mode = DICT3; + /* falls through */ + case DICT3: + + if (z.avail_in === 0) + return r; + r = f; + + z.avail_in--; + z.total_in++; + z.istate.need += ((z.read_byte(z.next_in_index++) & 0xff) << 16) & 0xff0000; + z.istate.mode = DICT2; + /* falls through */ + case DICT2: + + if (z.avail_in === 0) + return r; + r = f; + + z.avail_in--; + z.total_in++; + z.istate.need += ((z.read_byte(z.next_in_index++) & 0xff) << 8) & 0xff00; + z.istate.mode = DICT1; + /* falls through */ + case DICT1: + + if (z.avail_in === 0) + return r; + r = f; + + z.avail_in--; + z.total_in++; + z.istate.need += (z.read_byte(z.next_in_index++) & 0xff); + z.istate.mode = DICT0; + return Z_NEED_DICT; + case DICT0: + z.istate.mode = BAD; + z.msg = "need dictionary"; + z.istate.marker = 0; // can try inflateSync + return Z_STREAM_ERROR; + case BLOCKS: + + r = z.istate.blocks.proc(z, r); + if (r == Z_DATA_ERROR) { + z.istate.mode = BAD; + z.istate.marker = 0; // can try inflateSync + break; + } + if (r == Z_OK) { + r = f; + } + if (r != Z_STREAM_END) { + return r; + } + r = f; + z.istate.blocks.reset(z, z.istate.was); + z.istate.mode = DONE; + /* falls through */ + case DONE: + return Z_STREAM_END; + case BAD: + return Z_DATA_ERROR; + default: + return Z_STREAM_ERROR; + } + } + }; + + that.inflateSetDictionary = function(z, dictionary, dictLength) { + var index = 0; + var length = dictLength; + if (!z || !z.istate || z.istate.mode != DICT0) + return Z_STREAM_ERROR; + + if (length >= (1 << z.istate.wbits)) { + length = (1 << z.istate.wbits) - 1; + index = dictLength - length; + } + z.istate.blocks.set_dictionary(dictionary, index, length); + z.istate.mode = BLOCKS; + return Z_OK; + }; + + that.inflateSync = function(z) { + var n; // number of bytes to look at + var p; // pointer to bytes + var m; // number of marker bytes found in a row + var r, w; // temporaries to save total_in and total_out + + // set up + if (!z || !z.istate) + return Z_STREAM_ERROR; + if (z.istate.mode != BAD) { + z.istate.mode = BAD; + z.istate.marker = 0; + } + if ((n = z.avail_in) === 0) + return Z_BUF_ERROR; + p = z.next_in_index; + m = z.istate.marker; + + // search + while (n !== 0 && m < 4) { + if (z.read_byte(p) == mark[m]) { + m++; + } else if (z.read_byte(p) !== 0) { + m = 0; + } else { + m = 4 - m; + } + p++; + n--; + } + + // restore + z.total_in += p - z.next_in_index; + z.next_in_index = p; + z.avail_in = n; + z.istate.marker = m; + + // return no joy or set up to restart on a new block + if (m != 4) { + return Z_DATA_ERROR; + } + r = z.total_in; + w = z.total_out; + inflateReset(z); + z.total_in = r; + z.total_out = w; + z.istate.mode = BLOCKS; + return Z_OK; + }; + + // Returns true if inflate is currently at the end of a block generated + // by Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP + // implementation to provide an additional safety check. PPP uses + // Z_SYNC_FLUSH + // but removes the length bytes of the resulting empty stored block. When + // decompressing, PPP checks that at the end of input packet, inflate is + // waiting for these length bytes. + that.inflateSyncPoint = function(z) { + if (!z || !z.istate || !z.istate.blocks) + return Z_STREAM_ERROR; + return z.istate.blocks.sync_point(); + }; + } + + // ZStream + + function ZStream() { + } + + ZStream.prototype = { + inflateInit : function(bits) { + var that = this; + that.istate = new Inflate(); + if (!bits) + bits = MAX_BITS; + return that.istate.inflateInit(that, bits); + }, + + inflate : function(f) { + var that = this; + if (!that.istate) + return Z_STREAM_ERROR; + return that.istate.inflate(that, f); + }, + + inflateEnd : function() { + var that = this; + if (!that.istate) + return Z_STREAM_ERROR; + var ret = that.istate.inflateEnd(that); + that.istate = null; + return ret; + }, + + inflateSync : function() { + var that = this; + if (!that.istate) + return Z_STREAM_ERROR; + return that.istate.inflateSync(that); + }, + inflateSetDictionary : function(dictionary, dictLength) { + var that = this; + if (!that.istate) + return Z_STREAM_ERROR; + return that.istate.inflateSetDictionary(that, dictionary, dictLength); + }, + read_byte : function(start) { + var that = this; + return that.next_in.subarray(start, start + 1)[0]; + }, + read_buf : function(start, size) { + var that = this; + return that.next_in.subarray(start, start + size); + } + }; + + // Inflater + + function Inflater() { + var that = this; + var z = new ZStream(); + var bufsize = 512; + var flush = Z_NO_FLUSH; + var buf = new Uint8Array(bufsize); + var nomoreinput = false; + + z.inflateInit(); + z.next_out = buf; + + that.append = function(data, onprogress) { + var err, buffers = [], lastIndex = 0, bufferIndex = 0, bufferSize = 0, array; + if (data.length === 0) + return; + z.next_in_index = 0; + z.next_in = data; + z.avail_in = data.length; + do { + z.next_out_index = 0; + z.avail_out = bufsize; + if ((z.avail_in === 0) && (!nomoreinput)) { // if buffer is empty and more input is available, refill it + z.next_in_index = 0; + nomoreinput = true; + } + err = z.inflate(flush); + if (nomoreinput && (err === Z_BUF_ERROR)) { + if (z.avail_in !== 0) + throw new Error("inflating: bad input"); + } else if (err !== Z_OK && err !== Z_STREAM_END) + throw new Error("inflating: " + z.msg); + if ((nomoreinput || err === Z_STREAM_END) && (z.avail_in === data.length)) + throw new Error("inflating: bad input"); + if (z.next_out_index) + if (z.next_out_index === bufsize) + buffers.push(new Uint8Array(buf)); + else + buffers.push(new Uint8Array(buf.subarray(0, z.next_out_index))); + bufferSize += z.next_out_index; + if (onprogress && z.next_in_index > 0 && z.next_in_index != lastIndex) { + onprogress(z.next_in_index); + lastIndex = z.next_in_index; + } + } while (z.avail_in > 0 || z.avail_out === 0); + array = new Uint8Array(bufferSize); + buffers.forEach(function(chunk) { + array.set(chunk, bufferIndex); + bufferIndex += chunk.length; + }); + return array; + }; + that.flush = function() { + z.inflateEnd(); + }; + } + + // 'zip' may not be defined in z-worker and some tests + var env = global.zip || global; + env.Inflater = env._jzlib_Inflater = Inflater; +})(this); diff --git a/libs/thirdparty/zip.min.js b/libs/thirdparty/zip.min.js new file mode 100644 index 00000000..ad0d681f --- /dev/null +++ b/libs/thirdparty/zip.min.js @@ -0,0 +1 @@ +!function(g){"use strict";var a,y="File format is not recognized.",o="File contains encrypted entry.",l="File is using Zip64 (4gb+ file size).",d="Error while reading zip file.",e="Error while reading file data.",h=524288,f="text/plain";try{a=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(t){}function i(){this.crc=-1}function _(){}function m(t,e){var i,n;return i=new ArrayBuffer(t),n=new Uint8Array(i),e&&n.set(e,0),{buffer:i,array:n,view:new DataView(i)}}function t(){}function n(n){var r,a=this;a.size=0,a.init=function(t,e){var i=new Blob([n],{type:f});(r=new s(i)).init(function(){a.size=r.size,t()},e)},a.readUint8Array=function(t,e,i,n){r.readUint8Array(t,e,i,n)}}function r(s){var _,i=this;i.size=0,i.init=function(t){for(var e=s.length;"="==s.charAt(e-1);)e--;_=s.indexOf(",")+1,i.size=Math.floor(.75*(e-_)),t()},i.readUint8Array=function(t,e,i){var n,r=m(e),a=4*Math.floor(t/3),o=4*Math.ceil((t+e)/3),l=g.atob(s.substring(a+_,o+_)),f=t-3*Math.floor(a/4);for(n=f;nt.size)throw new RangeError("offset:"+e+", length:"+i+", size:"+t.size);return t.slice?t.slice(e,e+i):t.webkitSlice?t.webkitSlice(e,e+i):t.mozSlice?t.mozSlice(e,e+i):t.msSlice?t.msSlice(e,e+i):void 0}(a,t,e))}catch(t){n(t)}}}function u(){}function c(n){var r;this.init=function(t){r=new Blob([],{type:f}),t()},this.writeUint8Array=function(t,e){r=new Blob([r,a?t:t.buffer],{type:f}),e()},this.getData=function(e,t){var i=new FileReader;i.onload=function(t){e(t.target.result)},i.onerror=t,i.readAsText(r,n)}}function b(e){var a="",o="";this.init=function(t){a+="data:"+(e||"")+";base64,",t()},this.writeUint8Array=function(t,e){var i,n=o.length,r=o;for(o="",i=0;i<3*Math.floor((n+t.length)/3)-n;i++)r+=String.fromCharCode(t[i]);for(;i>16,i=65535&t;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&i)>>11,(2016&i)>>5,2*(31&i),0)}catch(t){}}(t.lastModDateRaw),1!=(1&t.bitFlag)?(!n&&8==(8&t.bitFlag)||(t.crc32=e.view.getUint32(i+10,!0),t.compressedSize=e.view.getUint32(i+14,!0),t.uncompressedSize=e.view.getUint32(i+18,!0)),4294967295!==t.compressedSize&&4294967295!==t.uncompressedSize?(t.filenameLength=e.view.getUint16(i+22,!0),t.extraFieldLength=e.view.getUint16(i+24,!0)):r(l)):r(o)}function v(h,t,v){function _(){}_.prototype.getData=function(_,r,d,u){var c=this;function b(t,e){var i,n;u&&(i=e,(n=m(4)).view.setUint32(0,i),c.crc32!=n.view.getUint32(0))?v("CRC failed."):_.getData(function(t){r(t)})}function w(t){v(t||e)}function x(t){v(t||"Error while writing file data.")}h.readUint8Array(c.offset,30,function(t){var s,e=m(t.length,t);1347093252==e.view.getUint32(0)?(z(c,e,4,!1,v),s=c.offset+30+c.filenameLength+c.extraFieldLength,_.init(function(){var t,e,i,n,r,a,o,l,f;0===c.compressionMethod?p(0,h,_,s,c.compressedSize,0,b,d,w,x):(t=h,e=_,i=s,n=c.compressedSize,r=b,a=d,o=w,l=x,f=u?"output":"none",k(new g.zip.Inflater,t,e,i,n,f,a,r,o,l))},x)):v(y)},w)},t({getEntries:function(s){!function(n){var r=22;if(h.size=h.size?v(y):h.readUint8Array(e,h.size-e,function(t){var e,i,n,r,a=0,o=[],l=m(t.length,t);for(e=0;e>>8^i[255&(e^t[n])];this.crc=e},i.prototype.get=function(){return~this.crc},i.prototype.table=function(){var t,e,i,n=[];for(t=0;t<256;t++){for(i=t,e=0;e<8;e++)1&i?i=i>>>1^3988292384:i>>>=1;n[t]=i}return n}(),_.prototype.append=function(t){return t},_.prototype.flush=function(){},(n.prototype=new t).constructor=n,(r.prototype=new t).constructor=r,(s.prototype=new t).constructor=s,u.prototype.getData=function(t){t(this.data)},(c.prototype=new u).constructor=c,(b.prototype=new u).constructor=b,(w.prototype=new u).constructor=w,g.zip={Reader:t,Writer:u,BlobReader:s,Data64URIReader:r,TextReader:n,BlobWriter:w,Data64URIWriter:b,TextWriter:c,createReader:function(t,e,i){i=i||C,t.init(function(){v(t,e,i)},i)},createWriter:function(t,e,i,n){i=i||C,n=!!n,t.init(function(){F(t,e,i,n)},i)}}}(this),function(t){"use strict";var I=0,M=1,R=-2,L=-3,b=-4,B=-5,T=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],W=1440,r=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],a=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],w=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],x=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],h=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],v=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],C=15;function V(){var _,d,z,S,D,F;function u(t,e,i,n,r,a,o,l,f,s,_){var d,u,c,b,w,x,h,v,g,y,m,k,p,U,A;for(y=0,w=i;z[t[e+y]]++,y++,0!==--w;);if(z[0]==i)return o[0]=-1,l[0]=0,I;for(v=l[0],x=1;x<=C&&0===z[x];x++);for(v<(h=x)&&(v=x),w=C;0!==w&&0===z[w];w--);for((c=w)d+1&&(u-=d+1,p=h,xW)return L;D[b]=m=s[0],s[0]+=A,0!==b?(F[b]=w,S[0]=x,x=w>>>k-(S[1]=v),S[2]=m-D[b-1]-x,f.set(S,3*(D[b-1]+x))):o[0]=m}for(S[1]=h-k,i<=y?S[0]=192:_[y]>>k;x>>=1)w^=x;for(w^=x,g=(1<>=s[p+1],c-=s[p+1],0!=(16&d)){for(d&=15,y=s[p+2]+(u&T[d]),u>>=d,c-=d;c<15;)w--,u|=(255&l.read_byte(b++))<>=s[p+1],c-=s[p+1],0!=(16&d)){for(d&=15;c>=d,c-=d,h-=y,m<=x)0>3<(y=l.avail_in-w)?c>>3:y,b-=y,c-=y<<3,o.bitb=u,o.bitk=c,l.avail_in=w,l.total_in+=b-l.next_in_index,l.next_in_index=b,o.write=x,L;f+=s[p+2],d=s[p=3*(_+(f+=u&T[d]))]}break}if(0!=(64&d))return 0!=(32&d)?(w+=y=c>>3<(y=l.avail_in-w)?c>>3:y,b-=y,c-=y<<3,o.bitb=u,o.bitk=c,l.avail_in=w,l.total_in+=b-l.next_in_index,l.next_in_index=b,o.write=x,M):(l.msg="invalid literal/length code",w+=y=c>>3<(y=l.avail_in-w)?c>>3:y,b-=y,c-=y<<3,o.bitb=u,o.bitk=c,l.avail_in=w,l.total_in+=b-l.next_in_index,l.next_in_index=b,o.write=x,L);if(f+=s[p+2],0===(d=s[p=3*(_+(f+=u&T[d]))])){u>>=s[p+1],c-=s[p+1],o.window[x++]=s[p+2],h--;break}}else u>>=s[p+1],c-=s[p+1],o.window[x++]=s[p+2],h--}while(258<=h&&10<=w);return w+=y=c>>3<(y=l.avail_in-w)?c>>3:y,b-=y,c-=y<<3,o.bitb=u,o.bitk=c,l.avail_in=w,l.total_in+=b-l.next_in_index,l.next_in_index=b,o.write=x,I}this.init=function(t,e,i,n,r,a){c=D,p=t,U=e,w=i,A=n,x=r,z=a,b=null},this.proc=function(t,e,i){var n,r,a,o,l,f,s,_=0,d=0,u=0;for(u=e.next_in_index,o=e.avail_in,_=t.bitb,d=t.bitk,f=(l=t.write)>>=b[r+1],d-=b[r+1],0===(a=b[r])){y=b[r+2],c=H;break}if(0!=(16&a)){m=15&a,h=b[r+2],c=E;break}if(0==(64&a)){g=a,v=r/3+b[r+2];break}if(0==(32&a))return c=q,e.msg="invalid literal/length code",i=L,t.bitb=_,t.bitk=d,e.avail_in=o,e.total_in+=u-e.next_in_index,e.next_in_index=u,t.write=l,t.inflate_flush(e,i);c=Y;break;case E:for(n=m;d>=n,d-=n,g=U,b=x,v=z,c=O;case O:for(n=g;d>=b[r+1],d-=b[r+1],0!=(16&(a=b[r]))){m=15&a,k=b[r+2],c=P;break}if(0!=(64&a))return c=q,e.msg="invalid distance code",i=L,t.bitb=_,t.bitk=d,e.avail_in=o,e.total_in+=u-e.next_in_index,e.next_in_index=u,t.write=l,t.inflate_flush(e,i);g=a,v=r/3+b[r+2];break;case P:for(n=m;d>=n,d-=n,c=j;case j:for(s=l-k;s<0;)s+=t.end;for(;0!==h;){if(0===f&&(l==t.end&&0!==t.read&&(f=(l=0)t.avail_out&&(i=t.avail_out),0!==i&&e==B&&(e=I),t.avail_out-=i,t.total_out+=i,t.next_out.set(m.window.subarray(r,r+i),n),n+=i,(r+=i)==m.end&&(r=0,m.write==m.end&&(m.write=0),(i=m.write-r)>t.avail_out&&(i=t.avail_out),0!==i&&e==B&&(e=I),t.avail_out-=i,t.total_out+=i,t.next_out.set(m.window.subarray(r,r+i),n),n+=i,r+=i),t.next_out_index=n,m.read=r,e},m.proc=function(t,e){var i,n,r,a,o,l,f,s;for(a=t.next_in_index,o=t.avail_in,n=m.bitb,r=m.bitk,f=(l=m.write)>>1){case 0:n>>>=3,n>>>=i=7&(r-=3),r-=i,k=K;break;case 1:var _=[],d=[],u=[[]],c=[[]];V.inflate_trees_fixed(_,d,u,c),D.init(_[0],d[0],u[0],0,c[0],0),n>>>=3,r-=3,k=tt;break;case 2:n>>>=3,r-=3,k=Q;break;case 3:return n>>>=3,r-=3,k=nt,t.msg="invalid block type",e=L,m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e)}break;case K:for(;r<32;){if(0===o)return m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);e=I,o--,n|=(255&t.read_byte(a++))<>>16&65535)!=(65535&n))return k=nt,t.msg="invalid stored block lengths",e=L,m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);p=65535&n,n=r=0,k=0!==p?N:0!==F?et:J;break;case N:if(0===o)return m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);if(0===f&&(l==m.end&&0!==m.read&&(f=(l=0)>5&31))return k=nt,t.msg="too many length or distance symbols",e=L,m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);if(i=258+(31&i)+(i>>5&31),!y||y.length>>=14,r-=14,A=0,k=X;case X:for(;A<4+(U>>>10);){for(;r<3;){if(0===o)return m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);e=I,o--,n|=(255&t.read_byte(a++))<>>=3,r-=3}for(;A<19;)y[G[A++]]=0;if(z[0]=7,(i=E.inflate_trees_bits(y,z,S,C,t))!=I)return(e=i)==L&&(y=null,k=nt),m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);A=0,k=$;case $:for(;!(258+(31&(i=U))+(i>>5&31)<=A);){var b,w;for(i=z[0];r>>=i,r-=i,y[A++]=w;else{for(s=18==w?7:w-14,b=18==w?11:3;r>>=i)&T[s],n>>>=s,r-=s,258+(31&(i=U))+(i>>5&31)<(s=A)+b||16==w&&s<1)return y=null,k=nt,t.msg="invalid bit length repeat",e=L,m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);for(w=16==w?y[s-1]:0;y[s++]=w,0!=--b;);A=s}}S[0]=-1;var x=[],h=[],v=[],g=[];if(x[0]=9,h[0]=6,i=U,(i=E.inflate_trees_dynamic(257+(31&i),1+(i>>5&31),y,x,h,v,g,C,t))!=I)return i==L&&(y=null,k=nt),e=i,m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,m.inflate_flush(t,e);D.init(x[0],h[0],C,v[0],C,g[0]),k=tt;case tt:if(m.bitb=n,m.bitk=r,t.avail_in=o,t.total_in+=a-t.next_in_index,t.next_in_index=a,m.write=l,(e=D.proc(m,t,e))!=M)return m.inflate_flush(t,e);if(e=I,D.free(t),a=t.next_in_index,o=t.avail_in,n=m.bitb,r=m.bitk,f=(l=m.write)>4)>t.istate.wbits){t.istate.mode=13,t.msg="invalid window size",t.istate.marker=5;break}t.istate.mode=1;case 1:if(0===t.avail_in)return i;if(i=e,t.avail_in--,t.total_in++,n=255&t.read_byte(t.next_in_index++),((t.istate.method<<8)+n)%31!=0){t.istate.mode=13,t.msg="incorrect header check",t.istate.marker=5;break}if(0==(32&n)){t.istate.mode=7;break}t.istate.mode=2;case 2:if(0===t.avail_in)return i;i=e,t.avail_in--,t.total_in++,t.istate.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,t.istate.mode=3;case 3:if(0===t.avail_in)return i;i=e,t.avail_in--,t.total_in++,t.istate.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,t.istate.mode=4;case 4:if(0===t.avail_in)return i;i=e,t.avail_in--,t.total_in++,t.istate.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,t.istate.mode=5;case 5:return 0===t.avail_in?i:(i=e,t.avail_in--,t.total_in++,t.istate.need+=255&t.read_byte(t.next_in_index++),t.istate.mode=6,2);case 6:return t.istate.mode=13,t.msg="need dictionary",t.istate.marker=0,R;case 7:if((i=t.istate.blocks.proc(t,i))==L){t.istate.mode=13,t.istate.marker=0;break}if(i==I&&(i=e),i!=M)return i;i=e,t.istate.blocks.reset(t,t.istate.was),t.istate.mode=12;case 12:return M;case 13:return L;default:return R}},i.inflateSetDictionary=function(t,e,i){var n=0,r=i;return t&&t.istate&&6==t.istate.mode?(r>=1<= 8; font_size--) { + ctx.font = font.replace(/(\d+)px/, font_size+"px"); + if (ctx.measureText(text).width <= maxWidth) break; + } + ctx.fillText(text, x, y); + ctx.font = font; } ////// 在某个canvas上绘制粗体 ////// @@ -66,6 +106,7 @@ ui.prototype.fillBoldText = function (name, text, x, y, style, font) { if (!ctx) return; if (font) ctx.font = font; if (!style) style = ctx.fillStyle; + if (style instanceof Array) style = core.arrayToRGBA(style); ctx.fillStyle = '#000000'; ctx.fillText(text, x-1, y-1); ctx.fillText(text, x-1, y+1); @@ -75,6 +116,11 @@ ui.prototype.fillBoldText = function (name, text, x, y, style, font) { ctx.fillText(text, x, y); } +ui.prototype._uievent_fillBoldText = function (data) { + this._createUIEvent(); + this.fillBoldText('uievent', core.replaceText(data.text), core.calValue(data.x), core.calValue(data.y), data.style, data.font); +} + ////// 在某个canvas上绘制一个矩形 ////// ui.prototype.fillRect = function (name, x, y, width, height, style) { if (style) core.setFillStyle(name, style); @@ -82,6 +128,32 @@ ui.prototype.fillRect = function (name, x, y, width, height, style) { if (ctx) ctx.fillRect(x, y, width, height); } +ui.prototype._uievent_fillRect = function (data) { + this._createUIEvent(); + this.fillRect('uievent', core.calValue(data.x), core.calValue(data.y), core.calValue(data.width), core.calValue(data.height), data.style); +} + +////// 在某个canvas上绘制一个多边形 ////// +ui.prototype.fillPolygon = function (name, nodes, style) { + if (style) core.setFillStyle(name, style); + var ctx = this.getContextByName(name); + if (!ctx) return; + if (!nodes || nodes.length<3) return; + ctx.beginPath(); + for (var i = 0; i < nodes.length; ++i) { + var x = core.calValue(nodes[i][0]), y = core.calValue(nodes[i][1]); + if (i == 0) ctx.moveTo(x, y); + else ctx.lineTo(x, y); + } + ctx.closePath(); + ctx.fill(); +} + +ui.prototype._uievent_fillPolygon = function (data) { + this._createUIEvent(); + this.fillPolygon('uievent', data.nodes, data.style); +} + ////// 在某个canvas上绘制一个矩形的边框 ////// ui.prototype.strokeRect = function (name, x, y, width, height, style, lineWidth) { if (style) core.setStrokeStyle(name, style); @@ -90,6 +162,64 @@ ui.prototype.strokeRect = function (name, x, y, width, height, style, lineWidth) if (ctx) ctx.strokeRect(x, y, width, height); } +ui.prototype._uievent_strokeRect = function (data) { + this._createUIEvent(); + this.strokeRect('uievent', core.calValue(data.x), core.calValue(data.y), core.calValue(data.width), core.calValue(data.height), data.style, data.lineWidth); +} + +////// 在某个canvas上绘制一个多边形的边框 ////// +ui.prototype.strokePolygon = function (name, nodes, style, lineWidth) { + if (style) core.setStrokeStyle(name, style); + if (lineWidth) core.setLineWidth(name, lineWidth); + var ctx = this.getContextByName(name); + if (!ctx) return; + if (!nodes || nodes.length<3) return; + ctx.beginPath(); + for (var i = 0; i < nodes.length; ++i) { + var x = core.calValue(nodes[i][0]), y = core.calValue(nodes[i][1]); + if (i == 0) ctx.moveTo(x, y); + else ctx.lineTo(x, y); + } + ctx.closePath(); + ctx.stroke(); +} + +ui.prototype._uievent_strokePolygon = function (data) { + this._createUIEvent(); + this.strokePolygon('uievent', data.nodes, data.style, data.lineWidth); +} + +////// 在某个canvas上绘制一个圆 ////// +ui.prototype.fillCircle = function (name, x, y, r, style) { + if (style) core.setFillStyle(name, style); + var ctx = this.getContextByName(name); + if (!ctx) return; + ctx.beginPath(); + ctx.arc(x, y, r, 0, 2*Math.PI); + ctx.fill(); +} + +ui.prototype._uievent_fillCircle = function (data) { + this._createUIEvent(); + this.fillCircle('uievent', core.calValue(data.x), core.calValue(data.y), core.calValue(data.r), data.style); +} + +////// 在某个canvas上绘制一个圆的边框 ////// +ui.prototype.strokeCircle = function (name, x, y, r, style, lineWidth) { + if (style) core.setStrokeStyle(name, style); + if (lineWidth) core.setLineWidth(name, lineWidth); + var ctx = this.getContextByName(name); + if (!ctx) return; + ctx.beginPath(); + ctx.arc(x, y, r, 0, 2*Math.PI); + ctx.stroke(); +} + +ui.prototype._uievent_strokeCircle = function (data) { + this._createUIEvent(); + this.strokeCircle('uievent', core.calValue(data.x), core.calValue(data.y), core.calValue(data.r), data.style, data.lineWidth); +} + ////// 在某个canvas上绘制一条线 ////// ui.prototype.drawLine = function (name, x1, y1, x2, y2, style, lineWidth) { if (style) core.setStrokeStyle(name, style); @@ -102,6 +232,11 @@ ui.prototype.drawLine = function (name, x1, y1, x2, y2, style, lineWidth) { ctx.stroke(); } +ui.prototype._uievent_drawLine = function (data) { + this._createUIEvent(); + this.drawLine('uievent', core.calValue(data.x1), core.calValue(data.y1), core.calValue(data.x2), core.calValue(data.y2), data.style, data.lineWidth); +} + ////// 在某个canvas上绘制一个箭头 ////// ui.prototype.drawArrow = function (name, x1, y1, x2, y2, style, lineWidth) { if (x1==x2 && y1==y2) return; @@ -121,6 +256,11 @@ ui.prototype.drawArrow = function (name, x1, y1, x2, y2, style, lineWidth) { ctx.stroke(); } +ui.prototype._uievent_drawArrow = function (data) { + this._createUIEvent(); + this.drawArrow('uievent', core.calValue(data.x1), core.calValue(data.y1), core.calValue(data.x2), core.calValue(data.y2), data.style, data.lineWidth); +} + ////// 设置某个canvas的文字字体 ////// ui.prototype.setFont = function (name, font) { var ctx = this.getContextByName(name); @@ -160,12 +300,14 @@ ui.prototype.setOpacity = function (name, opacity) { ////// 设置某个canvas的绘制属性(如颜色等) ////// ui.prototype.setFillStyle = function (name, style) { var ctx = this.getContextByName(name); + if (style instanceof Array) style = core.arrayToRGBA(style); if (ctx) ctx.fillStyle = style; } ////// 设置某个canvas边框属性 ////// ui.prototype.setStrokeStyle = function (name, style) { var ctx = this.getContextByName(name); + if (style instanceof Array) style = core.arrayToRGBA(style); if (ctx) ctx.strokeStyle = style; } @@ -181,6 +323,23 @@ ui.prototype.setTextBaseline = function (name, baseline) { if (ctx) ctx.textBaseline = baseline; } +ui.prototype._uievent_setAttribute = function (data) { + this._createUIEvent(); + if (data.font) this.setFont('uievent', data.font); + if (data.lineWidth) this.setLineWidth('uievent', data.lineWidth); + if (data.alpha != null) this.setAlpha('uievent', data.alpha); + if (data.fillStyle) this.setFillStyle('uievent', data.fillStyle); + if (data.strokeStyle) this.setStrokeStyle('uievent', data.strokeStyle); + if (data.align) this.setTextAlign('uievent', data.align); + if (data.baseline) this.setTextBaseline('uievent', data.baseline); + if (data.z != null && main.mode != 'editor') { + var z = parseInt(data.z) || 135; + core.dymCanvas.uievent.canvas.style.zIndex = z; + if (core.dymCanvas._uievent_selector) + core.dymCanvas._uievent_selector.canvas.style.zIndex = z + 1; + } +} + ////// 计算某段文字的宽度 ////// ui.prototype.calWidth = function (name, text, font) { var ctx = this.getContextByName(name); @@ -194,7 +353,7 @@ ui.prototype.calWidth = function (name, text, font) { ////// 字符串自动换行的分割 ////// ui.prototype.splitLines = function (name, text, maxWidth, font) { var ctx = this.getContextByName(name); - if (!ctx) return; + if (!ctx) return [text]; if (font) core.setFont(name, font); var contents = []; @@ -226,14 +385,15 @@ ui.prototype.drawImage = function (name, image, x, y, w, h, x1, y1, w1, h1) { var ctx = this.getContextByName(name); if (!ctx) return; if (typeof image == 'string') { + image = core.getMappedName(image); image = core.material.images.images[image]; if (!image) return; } // 只能接受2, 4, 8个参数 - if (core.isset(x) && core.isset(y)) { - if (core.isset(w) && core.isset(h)) { - if (core.isset(x1) && core.isset(y1) && core.isset(w1) && core.isset(h1)) { + if (x != null && y != null) { + if (w != null && h != null) { + if (x1 != null && y1 != null && w1 != null && h1 != null) { ctx.drawImage(image, x, y, w, h, x1, y1, w1, h1); return; } @@ -245,13 +405,42 @@ ui.prototype.drawImage = function (name, image, x, y, w, h, x1, y1, w1, h1) { } } +ui.prototype._uievent_drawImage = function (data) { + this._createUIEvent(); + this.drawImage('uievent', data.image, core.calValue(data.x), core.calValue(data.y), core.calValue(data.w), core.calValue(data.h), + core.calValue(data.x1), core.calValue(data.y1), core.calValue(data.w1), core.calValue(data.h1)); +} + +ui.prototype.drawIcon = function (name, id, x, y, w, h) { + var ctx = this.getContextByName(name); + if (!ctx) return; + var info = core.getBlockInfo(id); + if (!info) { + // 检查状态栏图标 + if (core.statusBar.icons[id] instanceof Image) + info = {image: core.statusBar.icons[id], posX: 0, posY: 0, height: 32}; + else return; + } + ctx.drawImage(info.image, 32 * info.posX, info.height * info.posY, 32, info.height, x, y, w || 32, h || info.height); +} + +ui.prototype._uievent_drawIcon = function (data) { + this._createUIEvent(); + var id; + try { + id = core.calValue(data.id); + if (typeof id !== 'string') id = data.id; + } catch (e) { id = data.id; } + this.drawIcon('uievent', id, core.calValue(data.x), core.calValue(data.y), core.calValue(data.width), core.calValue(data.height)); +} + ///////////////// UI绘制 ////// 结束一切事件和绘制,关闭UI窗口,返回游戏进程 ////// ui.prototype.closePanel = function () { this.clearUI(); core.maps.generateGroundPattern(); - core.updateStatusBar(); + core.updateStatusBar(true); core.unLockControl(); core.status.event.data = null; core.status.event.id = null; @@ -263,71 +452,59 @@ ui.prototype.closePanel = function () { ui.prototype.clearUI = function () { core.status.boxAnimateObjs = []; if (core.dymCanvas._selector) core.deleteCanvas("_selector"); + main.dom.next.style.display = 'none'; core.clearMap('ui'); core.setAlpha('ui', 1); } ////// 左上角绘制一段提示 ////// -ui.prototype.drawTip = function (text, id) { - var textX, textY, width, height; - clearInterval(core.interval.tipAnimate); - core.setFont('data', "16px Arial"); - core.setTextAlign('data', 'left'); +ui.prototype.drawTip = function (text, id, clear) { + this.clearTip(); + var one = { + text: text, + textX: 21, + width: 26 + core.calWidth('data', text, "16px Arial"), + opacity: 0.1, + stage: 1, + time: 0 + }; if (id != null) { var info = core.getBlockInfo(id); - if (info == null || !info.image || info.height != 32) { + if (info == null || !info.image) { // 检查状态栏图标 if (core.statusBar.icons[id] instanceof Image) { - id = {image: core.statusBar.icons[id], posX: 0, posY: 0}; + id = {image: core.statusBar.icons[id], posX: 0, posY: 0, height: 32}; } - else id = null; + else info = null; + } + if (info != null) { + one.image = info.image; + one.posX = info.posX; + one.posY = info.posY; + one.height = info.height; + one.textX += 24; + one.width += 24; } - else id = info; } - if (!id) { - textX = 16; - textY = 18; - width = textX + core.calWidth('data', text) + 16; - height = 42; + core.animateFrame.tips.list.push(one); + if (core.animateFrame.tips.list.length > 3) { + core.animateFrame.tips.list.shift(); } - else { - textX = 44; - textY = 18; - width = textX + core.calWidth('data', text) + 8; - height = 42; - } - this._drawTip_animate(text, id, textX, textY, width, height); } -ui.prototype._drawTip_animate = function (text, info, textX, textY, width, height) { - var alpha = 0, hide = false; - core.interval.tipAnimate = window.setInterval(function () { - if (hide) alpha -= 0.1; - else alpha += 0.1; - core.clearMap('data', 5, 5, core.ui.PIXEL, height); - core.setAlpha('data', alpha); - core.fillRect('data', 5, 5, width, height, '#000'); - if (info) - core.drawImage('data', info.image, info.posX * 32, info.posY * 32, 32, 32, 10, 8, 32, 32); - core.fillText('data', text, textX + 5, textY + 15, '#fff'); - core.setAlpha('data', 1); - if (alpha > 0.6 || alpha < 0) { - if (hide) { - core.clearMap('data', 5, 5, core.ui.PIXEL, height); - clearInterval(core.interval.tipAnimate); - return; - } - else { - if (!core.timeout.tipTimeout) { - core.timeout.tipTimeout = window.setTimeout(function () { - hide = true; - core.timeout.tipTimeout = null; - }, 750); - } - alpha = 0.6; - } - } - }, 30); +ui.prototype._drawTip_drawOne = function (one, offset) { + core.setAlpha('data', one.opacity); + core.fillRect('data', 5, offset+ 5, one.width, 42, '#000000'); + if (one.image) + core.drawImage('data', one.image, one.posX * 32, one.posY * one.height, 32, 32, 10, offset + 10, 32, 32); + core.fillText('data', one.text, one.textX, offset + 33, '#FFFFFF'); + core.setAlpha('data', 1); +} + +ui.prototype.clearTip = function () { + core.animateFrame.tips.list = []; + core.animateFrame.tips.offset = 0; + core.animateFrame.tips.lastSize = 0; } ////// 地图中间绘制一段文字 ////// @@ -350,7 +527,8 @@ ui.prototype.drawText = function (contents, callback) { ui.prototype._drawText_setContent = function (contents, callback) { // 合并进 insertAction - if ((core.status.event && core.status.event.id=='action') || core.isReplaying()) { + if ((core.status.event && core.status.event.id=='action') + || (!core.hasFlag('__replayText__') && core.isReplaying())) { core.insertAction(contents,null,null,callback); return; } @@ -372,15 +550,17 @@ ui.prototype._getTitleAndIcon = function (content) { title = core.status.hero.name; image = core.material.images.hero; icon = 0; - height = core.material.icons.hero.height; + var w = core.material.icons.hero.width || 32; + height = 32 * core.material.icons.hero.height / w; } - else if (/^[-\w.]+\.png$/.test(s4)) + else if (s4.endsWith(".png")) { + s4 = core.getMappedName(s4); image = core.material.images.images[s4]; + } else { var blockInfo = core.getBlockInfo(s4); if (blockInfo != null) { - if (core.material.enemys[s4]) title = core.material.enemys[s4].name; - else title = s4; + if (blockInfo.name) title = blockInfo.name; image = blockInfo.image; icon = blockInfo.posY; height = blockInfo.height; @@ -389,7 +569,10 @@ ui.prototype._getTitleAndIcon = function (content) { else title = s4; } } - if (s3) title = s3; + if (s3 != null) { + title = s3; + if (title == 'null') title = null; + } return ""; }); return { @@ -404,7 +587,7 @@ ui.prototype._getTitleAndIcon = function (content) { ////// 正则处理 \b[up,xxx] 问题 ui.prototype._getPosition = function (content) { - var pos = null, px = null, py = null; + var pos = null, px = null, py = null, noPeak = false; if (core.status.event.id=='action') { px = core.status.event.data.x; py = core.status.event.data.y; @@ -431,6 +614,7 @@ ui.prototype._getPosition = function (content) { } else{ px = parseInt(str[0]); py = parseInt(str[1]); + noPeak = core.getBlockId(px, py) == null; } } if(pos=='hero' || pos=='null'){ @@ -438,32 +622,64 @@ ui.prototype._getPosition = function (content) { } return ""; }); - return {content: content, position: pos, px: px, py: py}; + return {content: content, position: pos, px: px, py: py, noPeak: noPeak}; } ////// 绘制选择光标 ui.prototype.drawWindowSelector = function(background, x, y, w, h) { + w = Math.round(w), h = Math.round(h); + var ctx = core.ui.createCanvas("_selector", x, y, w, h, 165); + this._drawSelector(ctx, background, w, h); +} + +ui.prototype._uievent_drawSelector = function (data) { + var canvasName = '_uievent_selector_' + (data.code || 0); + if (data.image == null) return core.deleteCanvas(canvasName); + + var background = data.image || core.status.textAttribute.background; + if (typeof background != 'string') return; + var x = core.calValue(data.x), y = core.calValue(data.y), w = core.calValue(data.width), h = core.calValue(data.height); + w = Math.round(w); h = Math.round(h); + if (main.mode == 'editor') { + this._drawSelector('uievent', background, w, h, x, y); + return; + } + var z = 136; + if (core.dymCanvas.uievent) z = (parseInt(core.dymCanvas.uievent.canvas.style.zIndex) || 135) + 1; + var ctx = core.createCanvas(canvasName, x, y, w, h, z); + ctx.canvas.classList.add('_uievent_selector'); + this._drawSelector(ctx, background, w, h); +} + +ui.prototype._drawSelector = function (ctx, background, w, h, left, top) { + left = left || 0; + top = top || 0; + ctx = this.getContextByName(ctx); + if (!ctx) return; if (typeof background == 'string') background = core.material.images.images[background]; - w = Math.round(w), h = Math.round(h); - var dstImage = core.ui.createCanvas("_selector", x, y, w, h, 165); - core.setOpacity("_selector", 0.8); + if (!(background instanceof Image)) return; // back - dstImage.drawImage(background, 130, 66, 28, 28, 2, 2,w-4,h-4); + ctx.drawImage(background, 130, 66, 28, 28, left+2, top+2, w-4, h-4); // corner - dstImage.drawImage(background, 128, 64, 2, 2, 0, 0, 2, 2); - dstImage.drawImage(background, 158, 64, 2, 2,w-2, 0, 2, 2); - dstImage.drawImage(background, 128, 94, 2, 2, 0,h-2, 2, 2); - dstImage.drawImage(background, 158, 94, 2, 2,w-2,h-2, 2, 2); + ctx.drawImage(background, 128, 64, 2, 2, left, top, 2, 2); + ctx.drawImage(background, 158, 64, 2, 2, left+w-2, top, 2, 2); + ctx.drawImage(background, 128, 94, 2, 2, left, top+h-2, 2, 2); + ctx.drawImage(background, 158, 94, 2, 2, left+w-2, top+h-2, 2, 2); // border - dstImage.drawImage(background, 130, 64, 28, 2, 2, 0,w-4, 2); - dstImage.drawImage(background, 130, 94, 28, 2, 2,h-2,w-4, 2); - dstImage.drawImage(background, 128, 66, 2, 28, 0, 2, 2,h-4); - dstImage.drawImage(background, 158, 66, 2, 28,w-2, 2, 2,h-4); + ctx.drawImage(background, 130, 64, 28, 2, left+2, top, w-4, 2); + ctx.drawImage(background, 130, 94, 28, 2, left+2, top+h-2, w-4, 2); + ctx.drawImage(background, 128, 66, 2, 28, left, top+2, 2,h-4); + ctx.drawImage(background, 158, 66, 2, 28, left+w-2, top+2, 2,h-4); } ////// 绘制 WindowSkin ui.prototype.drawWindowSkin = function(background, ctx, x, y, w, h, direction, px, py) { + background = background || core.status.textAttribute.background; + if (typeof background == 'string') { + background = core.getMappedName(background); + background = core.material.images.images[background]; + } // 仿RM窗口皮肤 ↓ var dstImage = core.getContextByName(ctx); if (!dstImage) return; @@ -504,8 +720,8 @@ ui.prototype.drawWindowSkin = function(background, ctx, x, y, w, h, direction, p ////// 绘制一个背景图,可绘制 winskin 或纯色背景;支持小箭头绘制 ui.prototype.drawBackground = function (left, top, right, bottom, posInfo) { posInfo = posInfo || {}; - var px = posInfo.px == null ? null : posInfo.px * 32 - core.bigmap.offsetX; - var py = posInfo.py == null ? null : posInfo.py * 32 - core.bigmap.offsetY; + var px = posInfo.px == null || posInfo.noPeak ? null : posInfo.px * 32 - core.bigmap.offsetX; + var py = posInfo.py == null || posInfo.noPeak ? null : posInfo.py * 32 - core.bigmap.offsetY; var xoffset = posInfo.xoffset || 0, yoffset = posInfo.yoffset || 0; var background = core.status.textAttribute.background; @@ -516,6 +732,19 @@ ui.prototype.drawBackground = function (left, top, right, bottom, posInfo) { return false; } +ui.prototype._uievent_drawBackground = function (data) { + this._createUIEvent(); + var background = data.background || core.status.textAttribute.background; + var x = core.calValue(data.x), y = core.calValue(data.y), w = core.calValue(data.width), h = core.calValue(data.height); + if (typeof background == 'string') { + this.drawWindowSkin(background, 'uievent', x, y, w, h); + } + else if (background instanceof Array) { + this.fillRect('uievent', x, y, w, h, core.arrayToRGBA(background)); + this.strokeRect('uievent', x, y, w, h); + } +} + ui.prototype._drawWindowSkin_getOpacity = function () { return core.getFlag("__winskin_opacity__", 0.85); } @@ -603,52 +832,63 @@ ui.prototype._getDrawableIconInfo = function (id) { return [image,icon]; } -ui.prototype._buildFont = function (fontSize, bold) { +ui.prototype._buildFont = function (fontSize, bold, italic) { var textAttribute = core.status.textAttribute || core.initStatus.textAttribute, globalAttribute = core.status.globalAttribute || core.initStatus.globalAttribute; if (bold == null) bold = textAttribute.bold; - return (bold?"bold ":"") + (fontSize || textAttribute.textfont) + "px " + globalAttribute.font; + return (bold?"bold ":"") + (italic?"italic ":"") + (fontSize || textAttribute.textfont) + "px " + globalAttribute.font; } ////// 绘制一段文字到某个画布上面 // ctx:要绘制到的画布 -// content:要绘制的内容;转义字符目前只允许留 \n, \r[...] 和 \i[...] +// content:要绘制的内容;转义字符目前只允许留 \n, \r[...], \i[...], \c[...], \d, \e // config:绘制配置项,目前暂时包含如下内容(均为可选) // left, top:起始点位置;maxWidth:单行最大宽度;color:默认颜色;align:左中右 // fontSize:字体大小;lineHeight:行高;time:打字机间隔 ui.prototype.drawTextContent = function (ctx, content, config) { ctx = core.getContextByName(ctx); - if (!ctx) return; // 设置默认配置项 var textAttribute = core.status.textAttribute || core.initStatus.textAttribute; config = core.clone(config || {}); config.left = config.left || 0; - config.right = config.left + (config.maxWidth == null ? ctx.canvas.width : config.maxWidth); + config.right = config.left + (config.maxWidth == null ? (ctx != null ? ctx.canvas.width : core.__PIXELS__) : config.maxWidth) config.top = config.top || 0; - config.color = config.color || core.arrayToRGBA(textAttribute.text); + config.color = config.color || textAttribute.text; + if (config.color instanceof Array) config.color = core.arrayToRGBA(config.color); if (config.bold == null) config.bold = textAttribute.bold; + config.italic = false; config.align = config.align || textAttribute.align || "left"; config.fontSize = config.fontSize || textAttribute.textfont; config.lineHeight = config.lineHeight || (config.fontSize * 1.3); config.time = config.time || 0; + config.interval = config.interval == null ? (textAttribute.interval || 0) : config.interval; config.index = 0; config.currcolor = config.color; + config.currfont = config.fontSize; + config.lineMargin = Math.max(0, config.lineHeight - config.fontSize); + config.topMargin = parseInt(config.lineMargin / 2); + config.lineMaxHeight = config.lineMargin + config.fontSize; config.offsetX = 0; config.offsetY = 0; config.line = 0; config.blocks = []; // 创建一个新的临时画布 - var tempCtx = core.bigmap.tempCanvas; - tempCtx.canvas.height = ctx.canvas.height; - tempCtx.canvas.width = ctx.canvas.width; - var _textBaseLine = tempCtx.textBaseline; + var tempCtx = core.createCanvas('__temp__', 0, 0, ctx==null?1:ctx.canvas.width, ctx==null?1:ctx.canvas.height, -1); tempCtx.textBaseline = 'top'; - tempCtx.font = this._buildFont(config.fontSize, config.bold); + tempCtx.font = this._buildFont(config.fontSize, config.bold, config.italic); tempCtx.fillStyle = config.color; - this._drawTextContent_draw(ctx, tempCtx, content, config); - tempCtx.textBaseline = _textBaseLine; + config = this._drawTextContent_draw(ctx, tempCtx, content, config); + core.deleteCanvas('__temp__'); + return config; +} + +ui.prototype._uievent_drawTextContent = function (data) { + this._createUIEvent(); + data.left = core.calValue(data.left); + data.top = core.calValue(data.top); + this.drawTextContent('uievent', core.replaceText(data.text), data); } // 绘制的基本逻辑: @@ -659,13 +899,16 @@ ui.prototype._drawTextContent_draw = function (ctx, tempCtx, content, config) { // Step 1: 绘制到tempCtx上,并记录下图块信息 while (this._drawTextContent_next(tempCtx, content, config)); + if (ctx == null) return config; + // Step 2: 从tempCtx绘制到画布上 config.index = 0; var _drawNext = function () { if (config.index >= config.blocks.length) return false; var block = config.blocks[config.index++]; ctx.drawImage(tempCtx.canvas, block.left, block.top, block.width, block.height, - config.left + block.left + block.marginLeft, config.top + block.top, block.width, block.height); + config.left + block.left + block.marginLeft, config.top + block.top + block.marginTop, + block.width, block.height); return true; } if (config.time == 0) { @@ -679,6 +922,8 @@ ui.prototype._drawTextContent_draw = function (ctx, tempCtx, content, config) { } }, config.time); } + + return config; } ui.prototype._drawTextContent_next = function (tempCtx, content, config) { @@ -704,22 +949,36 @@ ui.prototype._drawTextContent_drawChar = function (tempCtx, content, config, ch) if (ch == '\\') config.index++; return this._drawTextContent_changeColor(tempCtx, content, config); } - // \\i 绘制图标 - if (ch == '\\' && content.charAt(config.index)=='i') { - return this._drawTextContent_drawIcon(tempCtx, content, config); + if (ch == '\\') { + var c = content.charAt(config.index); + if (c == 'i') return this._drawTextContent_drawIcon(tempCtx, content, config); + if (c == 'c') return this._drawTextContent_changeFont(tempCtx, content, config); + if (c == 'd' || c == 'e') { + config.index++; + if (c == 'd') config.bold = !config.bold; + if (c == 'e') config.italic = !config.italic; + tempCtx.font = this._buildFont(config.currfont, config.bold, config.italic); + return true; + } + } + // \\e 斜体切换 + if (ch == '\\' && content.charAt(config.index)=='e') { + config.italic = !config.italic; + tempCtx.font = this._buildFont(config.fontSize, config.bold, config.italic); } // 检查是不是自动换行 - var charwidth = core.calWidth(tempCtx, ch); + var charwidth = core.calWidth(tempCtx, ch) + config.interval; if (config.maxWidth != null && config.offsetX + charwidth > config.maxWidth) { this._drawTextContent_newLine(tempCtx, config); config.index--; return this._drawTextContent_next(tempCtx, content, config); } // 输出 - var left = config.offsetX, top = config.offsetY + (config.lineHeight - config.fontSize) / 2; + var left = config.offsetX, top = config.offsetY + config.topMargin; core.fillText(tempCtx, ch, left, top); config.blocks.push({left: config.offsetX, top: config.offsetY, - width: charwidth, height: config.lineHeight, line: config.line, marginLeft: 0}); + width: charwidth, height: config.currfont + config.lineMargin, + line: config.line, marginLeft: 0}); config.offsetX += charwidth; return true; } @@ -734,12 +993,17 @@ ui.prototype._drawTextContent_newLine = function (tempCtx, config) { marginLeft = totalWidth - width; config.blocks.forEach(function (b) { - if (b.line == config.line) + if (b.line == config.line) { b.marginLeft = marginLeft; + // b.marginTop = 0; // 上对齐 + b.marginTop = (config.lineMaxHeight - b.height) / 2; // 居中对齐 + // b.marginTop = config.lineMaxHeight - b.height; // 下对齐 + } }); config.offsetX = 0; - config.offsetY += config.lineHeight; + config.offsetY += config.lineMaxHeight; + config.lineMaxHeight = config.currfont + config.lineMargin; config.line++; } @@ -757,6 +1021,22 @@ ui.prototype._drawTextContent_changeColor = function (tempCtx, content, config) return this._drawTextContent_next(tempCtx, content, config); } +ui.prototype._drawTextContent_changeFont = function (tempCtx, content, config) { + config.index++; + // 检查是不是 [] + var index = config.index, index2; + if (content.charAt(index) == '[' && ((index2=content.indexOf(']', index))>=0)) { + var str = content.substring(index+1, index2); + if (!/^\d+$/.test(str)) config.currfont = config.fontSize; + else config.currfont = parseInt(str); + config.index = index2 + 1; + } + else config.currfont = config.fontSize; + config.lineMaxHeight = Math.max(config.lineMaxHeight, config.currfont + config.lineMargin); + tempCtx.font = this._buildFont(config.currfont, config.bold, config.italic); + return this._drawTextContent_next(tempCtx, content, config); +} + ui.prototype._drawTextContent_drawIcon = function (tempCtx, content, config) { // 绘制一个 \i 效果 var index = config.index, index2; @@ -766,17 +1046,18 @@ ui.prototype._drawTextContent_drawIcon = function (tempCtx, content, config) { var iconInfo = core.ui._getDrawableIconInfo(str), image = iconInfo[0], icon = iconInfo[1]; if (image == null) return this._drawTextContent_next(tempCtx, content, config); // 检查自动换行 - var width = config.fontSize + 2, left = config.offsetX + 2, top = config.offsetY + (config.lineHeight - width) / 2 - 1; + var width = config.currfont + 2, left = config.offsetX + 2, top = config.offsetY + config.topMargin - 1; if (config.maxWidth != null && left + width > config.maxWidth) { this._drawTextContent_newLine(tempCtx, config); config.index--; - this._drawTextContent_next(tempCtx, content, config); + return this._drawTextContent_next(tempCtx, content, config); } // 绘制到画布上 core.drawImage(tempCtx, image, 0, 32*icon, 32, 32, left, top, width, width); config.blocks.push({left: left, top: config.offsetY, - width: config.lineHeight, height: config.lineHeight, line: config.line, marginLeft: 0}); + width: width, height: width + config.lineMargin, + line: config.line, marginLeft: 0}); config.offsetX += width + 6; config.index = index2 + 1; @@ -785,8 +1066,12 @@ ui.prototype._drawTextContent_drawIcon = function (tempCtx, content, config) { return this._drawTextContent_next(tempCtx, content, config); } +ui.prototype.getTextContentHeight = function (content, config) { + return this.drawTextContent(null, content, config).offsetY; +} + ui.prototype._getRealContent = function (content) { - return content.replace(/(\r|\\r)(\[.*?])?/g, "").replace(/(\\i)(\[.*?])?/g, "占1"); + return content.replace(/(\r|\\(r|c|d|e))(\[.*?])?/g, "").replace(/(\\i)(\[.*?])?/g, "占1"); } ////// 绘制一个对话框 ////// @@ -820,16 +1105,27 @@ ui.prototype.drawTextBox = function(content, showAll) { var content_top = this._drawTextBox_drawTitleAndIcon(titleInfo, hPos, vPos, alpha); // Step 5: 绘制正文 - this.drawTextContent('ui', content, { + var config = this.drawTextContent('ui', content, { left: hPos.content_left, top: content_top, maxWidth: hPos.validWidth, lineHeight: vPos.lineHeight, time: (showAll || textAttribute.time<=0 || core.status.event.id!='action')?0:textAttribute.time }); + + // Step 6: 绘制光标 + main.dom.next.style.display = 'block'; + main.dom.next.style.borderRightColor = main.dom.next.style.borderBottomColor = core.arrayToRGB(textAttribute.text); + main.dom.next.style.top = (vPos.bottom - 20) * core.domStyle.scale + "px"; + var left = (hPos.left + hPos.right) / 2; + if (pInfo.position == 'up' && !pInfo.noPeak && pInfo.px != null && Math.abs(pInfo.px * 32 + 16 - left) < 50) + left = hPos.right - 64; + main.dom.next.style.left = left * core.domStyle.scale + "px"; + return config; } ui.prototype._drawTextBox_drawImages = function (content) { return content.replace(/(\f|\\f)\[(.*?)]/g, function (text, sympol, str) { var ss = str.split(","); if (ss.length!=3 && ss.length!=5 && ss.length!=9) return ""; + ss[0] = core.getMappedName(ss[0]); var img = core.material.images.images[ss[0]]; if (!img) return ""; // 绘制 @@ -837,8 +1133,11 @@ ui.prototype._drawTextBox_drawImages = function (content) { core.drawImage('ui', img, parseFloat(ss[1]), parseFloat(ss[2])); else if (ss.length==5) core.drawImage('ui', img, 0, 0, img.width, img.height, parseFloat(ss[1]), parseFloat(ss[2]), parseFloat(ss[3]), parseFloat(ss[4])); - else if (ss.length==9) + else if (ss.length==9 || ss.length==10) { + if (ss.length==10) core.setAlpha('ui', parseFloat(ss[9])); core.drawImage('ui', img, parseFloat(ss[1]), parseFloat(ss[2]), parseFloat(ss[3]), parseFloat(ss[4]), parseFloat(ss[5]), parseFloat(ss[6]), parseFloat(ss[7]), parseFloat(ss[8])); + core.setAlpha('ui', 1); + } return ""; }); } @@ -866,12 +1165,15 @@ ui.prototype._drawTextBox_getHorizontalPosition = function (content, titleInfo, ui.prototype._drawTextBox_getVerticalPosition = function (content, titleInfo, posInfo, validWidth) { var textAttribute = core.status.textAttribute || core.initStatus.textAttribute; - var lineHeight = textAttribute.textfont + 5; - var realContent = this._getRealContent(content); - var height = 30 + lineHeight * core.splitLines("ui", realContent, validWidth, this._buildFont()).length; + var lineHeight = textAttribute.textfont + 6; + var height = 45 + this.getTextContentHeight(content, { + lineHeight: lineHeight, maxWidth: validWidth + }); if (titleInfo.title) height += textAttribute.titlefont + 5; - if (titleInfo.icon != null) - height = Math.max(height, titleInfo.height+50); + if (titleInfo.icon != null) { + if (titleInfo.title) height = Math.max(height, titleInfo.height+50); + else height = Math.max(height, titleInfo.height + 30); + } else if (titleInfo.image) height = Math.max(height, 90); @@ -900,9 +1202,11 @@ ui.prototype._drawTextBox_drawTitleAndIcon = function (titleInfo, hPos, vPos, al core.setTextAlign('ui', 'left'); var textAttribute = core.status.textAttribute; var content_top = vPos.top + 15; + var image_top = vPos.top + 15; if (titleInfo.title != null) { var titlefont = textAttribute.titlefont; content_top += titlefont + 5; + image_top = vPos.top + 40; core.setFillStyle('ui', core.arrayToRGB(textAttribute.title)); core.setStrokeStyle('ui', core.arrayToRGB(textAttribute.title)); @@ -915,19 +1219,27 @@ ui.prototype._drawTextBox_drawTitleAndIcon = function (titleInfo, hPos, vPos, al title_left = hPos.right - title_width - 12; core.fillText('ui', titleInfo.title, title_left, vPos.top + 8 + titlefont); - - if (titleInfo.icon != null) { - core.setAlpha('ui', alpha); - core.strokeRect('ui', hPos.left + 15 - 1, vPos.top + 40-1, 34, titleInfo.height + 2, null, 2); - core.setAlpha('ui', 1); - core.status.boxAnimateObjs = []; + } + if (titleInfo.icon != null) { + core.setAlpha('ui', alpha); + core.strokeRect('ui', hPos.left + 15 - 1, image_top-1, 34, titleInfo.height + 2, null, 2); + core.setAlpha('ui', 1); + core.status.boxAnimateObjs = []; + // --- 勇士 + if (titleInfo.image == core.material.images.hero) { + core.clearMap('ui', hPos.left + 15, image_top, 32, titleInfo.height); + core.fillRect('ui', hPos.left + 15, image_top, 32, titleInfo.height, core.material.groundPattern); + core.drawImage('ui', titleInfo.image, 0, 0, core.material.icons.hero.width || 32, core.material.icons.hero.height, + hPos.left + 15, image_top, 32, titleInfo.height); + } + else { core.status.boxAnimateObjs.push({ - 'bgx': hPos.left + 15, 'bgy': vPos.top + 40, 'bgWidth': 32, 'bgHeight': titleInfo.height, - 'x': hPos.left + 15, 'y': vPos.top + 40, 'height': titleInfo.height, 'animate': titleInfo.animate, + 'bgx': hPos.left + 15, 'bgy': image_top, 'bgWidth': 32, 'bgHeight': titleInfo.height, + 'x': hPos.left + 15, 'y': image_top, 'height': titleInfo.height, 'animate': titleInfo.animate, 'image': titleInfo.image, 'pos': titleInfo.icon * titleInfo.height }); - core.drawBoxAnimate(); } + core.drawBoxAnimate(); } if (titleInfo.image != null && titleInfo.icon == null) { // 头像图 core.drawImage('ui', titleInfo.image, 0, 0, titleInfo.image.width, titleInfo.image.height, @@ -937,9 +1249,7 @@ ui.prototype._drawTextBox_drawTitleAndIcon = function (titleInfo, hPos, vPos, al } ui.prototype._createTextCanvas = function (content, lineHeight) { - var realContent = this._getRealContent(content); - var lines = core.splitLines('ui', realContent, null, this._buildFont()); - var width = this.PIXEL, height = lines.length * lineHeight; + var width = this.PIXEL, height = 30 + this.getTextContentHeight(content, {lineHeight: lineHeight}); var ctx = document.createElement('canvas').getContext('2d'); ctx.canvas.width = width; ctx.canvas.height = height; @@ -965,6 +1275,7 @@ ui.prototype.drawScrollText = function (content, time, lineHeight, callback) { ui.prototype._drawScrollText_animate = function (ctx, time, callback) { // 开始绘制到UI上 + time /= Math.max(core.status.replay.speed, 1) var per_pixel = 1, height = ctx.canvas.height, per_time = time * per_pixel / (this.PIXEL+height); var currH = this.PIXEL; core.drawImage('ui', ctx.canvas, 0, currH); @@ -974,7 +1285,7 @@ ui.prototype._drawScrollText_animate = function (ctx, time, callback) { if (currH < -height) { delete core.animateFrame.asyncId[animate]; clearInterval(animate); - if (core.isset(callback)) callback(); + if (callback) callback(); return; } core.drawImage('ui', ctx.canvas, 0, currH); @@ -1038,10 +1349,10 @@ ui.prototype._drawChoices_getVerticalPosition = function (titleInfo, choices, hP var choice_top = bottom - height + 56; if (titleInfo.content) { var headHeight = 0; - var realContent = this._getRealContent(titleInfo.content); - var lines = core.splitLines('ui', realContent, hPos.validWidth, this._buildFont(15, true)); if (titleInfo.title) headHeight += 25; - headHeight += lines.length * 20; + headHeight += this.getTextContentHeight(titleInfo.content, { + lineHeight: 20, maxWidth: hPos.validWidth, fontSize: 15, bold: true + }); height += headHeight; if (bottom - height <= 32) { offset = Math.floor(headHeight / 64); @@ -1094,7 +1405,7 @@ ui.prototype._drawChoices_drawChoices = function (choices, isWindowSkin, hPos, v if (color instanceof Array) color = core.arrayToRGBA(color); core.setFillStyle('ui', color); var offset = this.HPIXEL; - if (core.isset(choices[i].icon)) { + if (choices[i].icon) { var iconInfo = this._getDrawableIconInfo(choices[i].icon), image = iconInfo[0], icon = iconInfo[1]; if (image != null) { core.drawImage('ui', image, 0, 32 * icon, 32, 32, @@ -1186,12 +1497,15 @@ ui.prototype.drawSwitchs = function() { var choices = [ "背景音乐: "+(core.musicStatus.bgmStatus ? "[ON]" : "[OFF]"), "背景音效: "+(core.musicStatus.soundStatus ? "[ON]" : "[OFF]"), + //显示为 0~10 十挡 + " < 音量:" + Math.round(Math.sqrt(100 * core.musicStatus.userVolume)) + " > ", + //数值越大耗时越长 + " < 步时:" + core.values.moveSpeed + " > ", "怪物显伤: "+(core.flags.displayEnemyDamage ? "[ON]" : "[OFF]"), "临界显伤: "+(core.flags.displayCritical ? "[ON]" : "[OFF]"), "领域显伤: "+(core.flags.displayExtraDamage ? "[ON]" : "[OFF]"), "新版存档: "+(core.platform.useLocalForage ? "[ON]":"[OFF]"), "单击瞬移: "+(!core.hasFlag("__noClickMove__") ? "[ON]":"[OFF]"), - "拓展键盘: "+(core.platform.extendKeyboard ? "[ON]":"[OFF]"), "返回主菜单" ]; this.drawChoices(null, choices); @@ -1222,7 +1536,7 @@ ui.prototype.drawQuickShop = function () { ui.prototype.drawSyncSave = function () { core.status.event.id = 'syncSave'; this.drawChoices(null, [ - "同步存档到服务器", "从服务器加载存档", "存档至本地文件", "从本地文件读档", "回放当前录像", "下载当前录像", "清空本地存档", "返回主菜单" + "同步存档到服务器", "从服务器加载存档", "存档至本地文件", "从本地文件读档", "回放和下载录像", "清空本地存档", "返回主菜单" ]); } @@ -1254,7 +1568,7 @@ ui.prototype.drawReplay = function () { core.lockControl(); core.status.event.id = 'replay'; this.drawChoices(null, [ - "从头回放录像", "从存档开始回放", "选择录像文件", "下载当前录像", "返回游戏" + "从头回放录像", "从存档开始回放", "接续播放剩余录像", "选择录像文件", "下载当前录像", "返回游戏" ]); } @@ -1387,13 +1701,13 @@ ui.prototype._drawBook_drawName = function (index, enemy, top, left, width) { core.setTextAlign('ui', 'center'); if (enemy.specialText=='') { core.fillText('ui', enemy.name, left + width / 2, - top + 35, '#DDDDDD', this._buildFont(17, true)); + top + 35, '#DDDDDD', this._buildFont(17, true), width); } else { core.fillText('ui', enemy.name, left + width / 2, - top + 28, '#DDDDDD', this._buildFont(17, true)); + top + 28, '#DDDDDD', this._buildFont(17, true), width); core.fillText('ui', enemy.specialText, left + width / 2, - top + 50, '#FF6A6A', this._buildFont(15, true)); + top + 50, '#FF6A6A', this._buildFont(15, true), width); } } @@ -1485,7 +1799,7 @@ ui.prototype.drawBookDetail = function (index) { if (!enemy) return; var content = info[1].join("\n"); core.status.event.id = 'book-detail'; - clearInterval(core.interval.tipAnimate); + core.clearTip(); core.clearMap('data'); var left = 10, width = this.PIXEL - 2 * left, right = left + width; @@ -1600,11 +1914,19 @@ ui.prototype._drawBookDetail_turnAndCriticals = function (enemy, floorId, texts) var damageInfo = core.getDamageInfo(enemy, null, null, null, floorId); texts.push("战斗回合数:"+((damageInfo||{}).turn||0)); // 临界表 - var criticals = core.enemys.nextCriticals(enemy, 10, null, null, floorId).map(function (v) { + var criticals = core.enemys.nextCriticals(enemy, 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("临界表:"+JSON.stringify(criticals)) + texts.push("临界表:"+JSON.stringify(criticals)); + var prevInfo = core.getDamageInfo(enemy, {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; + if (prevInfo > damageInfo) { + texts.push("(当前攻击力正位于临界点上)") + } + } } ui.prototype._drawBookDetail_drawContent = function (enemy, contents, pos) { @@ -1641,8 +1963,19 @@ ui.prototype.drawFly = function(page) { core.setTextAlign('ui', 'center'); core.fillText('ui', '楼层跳跃', this.HPIXEL, 60, '#FFFFFF', this._buildFont(28, true)); core.fillText('ui', '返回游戏', this.HPIXEL, this.PIXEL - 13, null, this._buildFont(15, true)) - core.fillText('ui', title, this.PIXEL - 60, this.HPIXEL + 39, null, this._buildFont(19, true)); + var middle = this.HPIXEL + 39; + + // 换行 + var lines = core.splitLines('ui', title, 120, this._buildFont(19, true)); + var start_y = middle - (lines.length - 1) * 11; + for (var i in lines) { + core.fillText('ui', lines[i], this.PIXEL - 60, start_y); + start_y += 22; + } + + // core.fillText('ui', title, this.PIXEL - 60, this.HPIXEL + 39, null, this._buildFont(19, true)); + if (core.actions._getNextFlyFloor(1) != page) { core.fillText('ui', '▲', this.PIXEL - 60, middle - 64, null, this._buildFont(17, false)); core.fillText('ui', '▲', this.PIXEL - 60, middle - 96); @@ -1694,7 +2027,7 @@ ui.prototype.drawShop = function (shopId) { for (var i=0;i= 14; font_size -= 3) { + var lines = core.splitLines('ui', text, this.PIXEL - 15, this._buildFont(font_size, false)); + var line_height = parseInt(font_size * 1.4), curr = 37 + line_height; + if (curr + lines.length * line_height < max_height) break; + } core.setFillStyle('ui', '#FFFFFF'); for (var i=0;i= 11; font_size -= 3) { + var lines = core.splitLines('ui', text, this.PIXEL - 15, this._buildFont(font_size, false)); + var line_height = parseInt(font_size * 1.4), curr = 37 + line_height; + if (curr + lines.length * line_height < max_height) break; + } core.setFillStyle('ui', '#FFFFFF'); for (var i = 0; i < lines.length; ++i) { core.fillText('ui', lines[i], 10, curr); @@ -2009,7 +2349,7 @@ ui.prototype._drawEquipbox_description = function (info, max_height) { this._drawEquipbox_drawStatusChanged(info, curr, equip, equipType); } -ui.prototype._drawEquipbox_getStatusChanged = function (info, equip, equipType) { +ui.prototype._drawEquipbox_getStatusChanged = function (info, equip, equipType, y) { var compare, differentMode = null; if (info.index < this.LAST) compare = core.compareEquipment(null, info.selectId); else { @@ -2030,23 +2370,23 @@ ui.prototype._drawEquipbox_getStatusChanged = function (info, equip, equipType) } ui.prototype._drawEquipbox_drawStatusChanged = function (info, y, equip, equipType) { - var compare = this._drawEquipbox_getStatusChanged(info, equip, equipType); + var compare = this._drawEquipbox_getStatusChanged(info, equip, equipType, y); if (compare == null) return; - var drawOffset = 10; + var obj = { drawOffset: 10, y: y }; + // --- 变化值... core.setFont('ui', this._buildFont(14, true)); for (var name in compare) { var img = core.statusBar.icons[name]; var text = core.getStatusName(name); if (img && core.flags.iconInEquipbox) { // 绘制图标 - core.drawImage('ui', img, 0, 0, 32, 32, drawOffset, y - 13, 16, 16); - drawOffset += 20; + core.drawImage('ui', img, 0, 0, 32, 32, obj.drawOffset, obj.y - 13, 16, 16); + obj.drawOffset += 20; } else { // 绘制文字 - core.fillText('ui', text + " ", drawOffset, y, '#CCCCCC'); - drawOffset += core.calWidth('ui', text + " "); + this._drawEquipbox_drawStatusChanged_draw(text + " ", '#CCCCCC', obj); } - var nowValue = core.getStatus(name) * core.getBuff(name), newValue = (nowValue + compare[name]) * core.getBuff(name); + var nowValue = core.getStatus(name) * core.getBuff(name), newValue = (core.getStatus(name) + compare[name]) * core.getBuff(name); if (equip.equip.percentage) { var nowBuff = core.getBuff(name), newBuff = nowBuff + compare[name] / 100; nowValue = Math.floor(nowBuff * core.getStatus(name)); @@ -2054,13 +2394,22 @@ ui.prototype._drawEquipbox_drawStatusChanged = function (info, y, equip, equipTy } nowValue = core.formatBigNumber(nowValue); newValue = core.formatBigNumber(newValue); - core.fillText('ui', nowValue + "->", drawOffset, y, '#CCCCCC'); - drawOffset += core.calWidth('ui', nowValue + "->"); - core.fillText('ui', newValue, drawOffset, y, compare[name]>0?'#00FF00':'#FF0000'); - drawOffset += core.calWidth('ui', newValue) + 8; + this._drawEquipbox_drawStatusChanged_draw(nowValue+"->", '#CCCCCC', obj); + this._drawEquipbox_drawStatusChanged_draw(newValue, compare[name]>0?'#00FF00':'#FF0000', obj); + obj.drawOffset += 8; } } +ui.prototype._drawEquipbox_drawStatusChanged_draw = function (text, color, obj) { + var len = core.calWidth('ui', text); + if (obj.drawOffset + len >= core.__PIXELS__) { // 换行 + obj.y += 19; + obj.drawOffset = 10; + } + core.fillText('ui', text, obj.drawOffset, obj.y, color); + obj.drawOffset += len; +} + ui.prototype._drawEquipbox_drawEquiped = function (info, line) { core.setTextAlign('ui', 'center'); var per_line = this.HSIZE - 3, width = Math.floor(this.PIXEL / (per_line + 0.25)); @@ -2153,9 +2502,9 @@ ui.prototype._drawSLPanel_loadSave = function(page, callback) { ids.push(id); } core.getSaves(ids, function (data) { - for (var i = 0; i < ids.length; ++i) + for (var i = 1; i < ids.length; ++i) core.status.event.ui[i] = data[i]; - core.saves.autosave.data = data[0]; + core.status.event.ui[0] = data[0] == null ? null : data[0][data[0].length-1]; callback(); }); } @@ -2174,11 +2523,15 @@ ui.prototype._drawSLPanel_drawRecord = function(title, data, x, y, size, cho, hi }, { ctx: 'ui', x: x-size/2, y: y+15, size: size, centerX: data.hero.loc.x, centerY: data.hero.loc.y }); + if (core.isPlaying() && core.getFlag("hard") != data.hero.flags.hard) { + core.fillRect('ui', x-size/2, y+15, size, size, [0, 0, 0, 0.4], 2); + core.fillText('ui', data.hard, x, parseInt(y+22+size/2), core.dom.hard.style.color, this._buildFont(30,true)); + } var v = core.formatBigNumber(data.hero.hp,true)+"/"+core.formatBigNumber(data.hero.atk,true)+"/"+core.formatBigNumber(data.hero.def,true); var v2 = "/"+core.formatBigNumber(data.hero.mdef,true); if (core.calWidth('ui', v + v2, this._buildFont(10, false)) <= size) v += v2; core.fillText('ui', v, x, y+30+size, '#FFD700'); - core.fillText('ui', core.formatDate(new Date(data.time)), x, y+43+size, data.hero.flags.__consoleOpened__?'#FF6A6A':'#FFFFFF'); + core.fillText('ui', core.formatDate(new Date(data.time)), x, y+43+size, data.hero.flags.__consoleOpened__||data.hero.flags.debug?'#FF6A6A':'#FFFFFF'); } else { core.fillRect('ui', x-size/2, y+15, size, size, '#333333', 2); @@ -2190,7 +2543,7 @@ ui.prototype._drawSLPanel_drawRecords = function (n) { var page = core.status.event.data.page; var offset = core.status.event.data.offset; var u = Math.floor(this.PIXEL/6), size = Math.floor(this.PIXEL/3-20); - var name=core.status.event.id=='save'?"存档":core.status.event.id=='load'?"读档":core.status.event.id=='replayLoad'?"回放":""; + var name=core.status.event.id=='save'?"存档":core.status.event.id=='load'?"读档":"回放"; for (var i = 0; i < (n||6); i++){ var data = core.status.event.ui[i]; @@ -2271,6 +2624,7 @@ ui.prototype.drawStatistics = function (floorIds) { core.ui._drawStatistics_floorId(floorId, obj); }); var statistics = core.status.hero.statistics; + core.setFlag("__replayText__", true); core.drawText([ this._drawStatistics_generateText(obj, "全塔", obj.total), this._drawStatistics_generateText(obj, "当前", obj.current), @@ -2288,6 +2642,7 @@ ui.prototype.drawStatistics = function (floorIds) { "4. 在自定义道具(例如其他宝石)后,需在脚本编辑的drawStatistics中注册,不然不会进行统计。\n"+ "5. 所有统计信息仅供参考,如有错误,概不负责。" ]) + core.removeFlag("__replayText__"); } ui.prototype._drawStatistics_buildObj = function () { @@ -2457,7 +2812,7 @@ ui.prototype._drawPaint_draw = function () { // 将已有的内容绘制到route上 var value = core.paint[core.status.floorId]; - if (core.isset(value)) value = lzw_decode(value).split(","); + if (value) value = lzw_decode(value).split(","); core.utils._decodeCanvas(value, 32*core.bigmap.width, 32*core.bigmap.height); core.drawImage('paint', core.bigmap.tempCanvas.canvas, 0, 0); @@ -2518,7 +2873,7 @@ ui.prototype.drawHelp = function () { ////// canvas创建 ////// ui.prototype.createCanvas = function (name, x, y, width, height, z) { // 如果画布已存在则直接调用 - if (core.isset(core.dymCanvas[name])) { + if (core.dymCanvas[name]) { this.relocateCanvas(name, x, y); this.resizeCanvas(name, width, height); core.dymCanvas[name].canvas.style.zIndex = z; @@ -2544,13 +2899,13 @@ ui.prototype.createCanvas = function (name, x, y, width, height, z) { ////// canvas重定位 ////// ui.prototype.relocateCanvas = function (name, x, y) { - var ctx = core.dymCanvas[name]; - if (!core.isset(ctx)) return null; - if (core.isset(x)) { + var ctx = core.getContextByName(name); + if (!ctx) return null; + if (x != null) { ctx.canvas.style.left = x * core.domStyle.scale + 'px'; ctx.canvas.setAttribute("_left", x); } - if (core.isset(y)) { + if (y != null) { ctx.canvas.style.top = y * core.domStyle.scale + 'px'; ctx.canvas.setAttribute("_top", y); } @@ -2558,22 +2913,22 @@ ui.prototype.relocateCanvas = function (name, x, y) { } ////// canvas重置 ////// -ui.prototype.resizeCanvas = function (name, width, height) { - var ctx = core.dymCanvas[name]; - if (!core.isset(ctx)) return null; - if (core.isset(width)) { - ctx.canvas.width = width; +ui.prototype.resizeCanvas = function (name, width, height, styleOnly) { + var ctx = core.getContextByName(name); + if (!ctx) return null; + if (width != null) { + if (!styleOnly) ctx.canvas.width = width; ctx.canvas.style.width = width * core.domStyle.scale + 'px'; } - if (core.isset(height)) { - ctx.canvas.height = height; + if (height != null) { + if (!styleOnly) ctx.canvas.height = height; ctx.canvas.style.height = height * core.domStyle.scale + 'px'; } return ctx; } ////// canvas删除 ////// ui.prototype.deleteCanvas = function (name) { - if (!core.isset(core.dymCanvas[name])) return null; + if (!core.dymCanvas[name]) return null; core.dom.gameDraw.removeChild(core.dymCanvas[name].canvas); delete core.dymCanvas[name]; } diff --git a/libs/utils.js b/libs/utils.js index 9260a9c7..009625ff 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -48,7 +48,14 @@ utils.prototype._init = function () { return this.substring(this_len - search.length, this_len) === search; }; } - + if (typeof String.prototype.startsWith != "function") { + String.prototype.startsWith = function (search, this_len) { + if (this_len === undefined || this_len > this.length) { + this_len = this.length; + } + return this.substring(0, search.length) === search; + } + } } @@ -59,14 +66,39 @@ utils.prototype.replaceText = function (text, need, times) { }); } +utils.prototype.replaceValue = function (value) { + if (typeof value == "string" && value.indexOf(":") >= 0) { + if (value.indexOf('status:') >= 0) + value = value.replace(/status:([a-zA-Z0-9_]+)/g, "core.getStatus('$1')"); + if (value.indexOf('item:') >= 0) + value = value.replace(/item:([a-zA-Z0-9_]+)/g, "core.itemCount('$1')"); + if (value.indexOf('flag:') >= 0) + value = value.replace(/flag:([a-zA-Z0-9_\u4E00-\u9FCC]+)/g, "core.getFlag('$1', 0)"); + //if (value.indexOf('switch:' >= 0)) + // value = value.replace(/switch:([a-zA-Z0-9_]+)/g, "core.getFlag('" + (prefix || ":f@x@y") + "@$1', 0)"); + if (value.indexOf('global:') >= 0) + value = value.replace(/global:([a-zA-Z0-9_\u4E00-\u9FCC]+)/g, "core.getGlobal('$1', 0)"); + if (value.indexOf('enemy:')>=0) + value = value.replace(/enemy:([a-zA-Z0-9_]+)\.([a-zA-Z0-9_]+)/g, "core.material.enemys['$1'].$2"); + if (value.indexOf('blockId:')>=0) + value = value.replace(/blockId:(\d+),(\d+)/g, "core.getBlockId($1, $2)"); + if (value.indexOf('blockCls:')>=0) + value = value.replace(/blockCls:(\d+),(\d+)/g, "core.getBlockCls($1, $2)"); + if (value.indexOf('equip:')>=0) + value = value.replace(/equip:(\d)/g, "core.getEquip($1)"); + } + return value; +} + ////// 计算表达式的值 ////// utils.prototype.calValue = function (value, prefix, need, times) { if (!core.isset(value)) return null; if (typeof value === 'string') { - value = value.replace(/status:([\w\d_]+)/g, "core.getStatus('$1')"); - value = value.replace(/item:([\w\d_]+)/g, "core.itemCount('$1')"); - value = value.replace(/flag:([\w\d_]+)/g, "core.getFlag('$1', 0)"); - value = value.replace(/switch:([\w\d_]+)/g, "core.getFlag('" + (prefix || ":f@x@y") + "@$1', 0)"); + if (value.indexOf(':') >= 0) { + if (value.indexOf('switch:' >= 0)) + value = value.replace(/switch:([a-zA-Z0-9_]+)/g, "core.getFlag('" + (prefix || ":f@x@y") + "@$1', 0)"); + value = this.replaceValue(value); + } return eval(value); } if (value instanceof Function) { @@ -246,6 +278,31 @@ utils.prototype.removeLocalForage = function (key, successCallback, errorCallbac }) } +utils.prototype.setGlobal = function (key, value) { + if (core.isReplaying()) return; + core.setLocalStorage(key, value); +} + +utils.prototype.getGlobal = function (key, defaultValue) { + var value; + if (core.isReplaying()) { + // 不考虑key不一致的情况 + var action = core.status.replay.toReplay.shift(); + if (action.indexOf("input2:") == 0) { + value = JSON.parse(core.decodeBase64(action.substring(7))); + } + else { + core.control._replay_error(action); + return core.getLocalStorage(key, defaultValue); + } + } + else { + value = core.getLocalStorage(key, defaultValue); + } + core.status.route.push("input2:" + core.encodeBase64(JSON.stringify(value))); + return value; +} + ////// 深拷贝一个对象 ////// utils.prototype.clone = function (data, filter, recursion) { if (!core.isset(data)) return null; @@ -282,23 +339,24 @@ utils.prototype.clone = function (data, filter, recursion) { ////// 裁剪图片 ////// utils.prototype.splitImage = function (image, width, height) { - if (typeof image == "string") + if (typeof image == "string") { + image = core.getMappedName(image); image = core.material.images.images[image]; + } if (!image) return []; width = width || 32; height = height || width; var canvas = document.createElement("canvas"); var context = canvas.getContext("2d"); - canvas.width = width; - canvas.height = height; var ans = []; for (var j = 0; j < image.height; j += height) { for (var i = 0; i < image.width; i += width) { - context.drawImage(image, i, j, width, height, 0, 0, width, height); + var w = Math.min(width, image.width - i), h = Math.min(height, image.height - j); + canvas.width = w; canvas.height = h; + context.drawImage(image, i, j, w, h, 0, 0, w, h); var img = new Image(); img.src = canvas.toDataURL("image/png"); ans.push(img); - context.clearRect(0, 0, width, height); } } return ans; @@ -599,15 +657,25 @@ utils.prototype.getCookie = function (name) { ////// 设置statusBar的innerHTML,会自动斜体和放缩,也可以增加自定义css ////// utils.prototype.setStatusBarInnerHTML = function (name, value, css) { if (!core.statusBar[name]) return; - if (typeof value == 'number') value = this.formatBigNumber(value); + var isNumber = false; + if (typeof value == 'number') { + value = this.formatBigNumber(value); + isNumber = true; + } // 判定是否斜体 var italic = /^[-a-zA-Z0-9`~!@#$%^&*()_=+\[{\]}\\|;:'",<.>\/?]*$/.test(value); var style = 'font-style: ' + (italic ? 'italic' : 'normal') + '; '; + style += 'text-shadow: #000 1px 0 0, #000 0 1px 0, #000 -1px 0 0, #000 0 -1px 0; '; // 判定是否需要缩放 var length = this.strlen(value) || 1; style += 'font-size: ' + Math.min(1, 7 / length) + 'em; '; if (css) style += css; - core.statusBar[name].innerHTML = "" + value + ""; + if (isNumber) { + core.statusBar[name].innerHTML = "" + value + ""; + } else { + core.statusBar[name].innerHTML = ""; + core.statusBar[name].children[0].innerText = value; + } } utils.prototype.strlen = function (str) { @@ -684,9 +752,8 @@ utils.prototype.rand2 = function (num) { value = parseInt(action.substring(7)); } else { - core.stopReplay(); - core.drawTip("录像文件出错"); - return; + core.control._replay_error(action); + return 0; } } else { @@ -712,7 +779,7 @@ utils.prototype.__next_rand = function (_rand) { } ////// 读取一个本地文件内容 ////// -utils.prototype.readFile = function (success, error, readType) { +utils.prototype.readFile = function (success, error, accept, readType) { core.platform.successCallback = success; core.platform.errorCallback = error; @@ -751,6 +818,7 @@ utils.prototype.readFile = function (success, error, readType) { else core.platform.fileReader.readAsDataURL(core.platform.fileInput.files[0]); core.platform.fileInput.value = ''; } + if (accept) core.platform.fileInput.accept = accept; } core.platform.fileInput.click(); @@ -888,7 +956,9 @@ utils.prototype.myconfirm = function (hint, yesCallback, noCallback) { main.dom.inputDiv.style.display = 'block'; main.dom.inputMessage.innerHTML = hint.replace(/\n/g, '
'); main.dom.inputBox.style.display = 'none'; - main.dom.inputYes.focus(); + main.dom.inputYes.blur(); + main.dom.inputNo.blur(); + core.status.holdingKeys = []; core.platform.successCallback = yesCallback; core.platform.errorCallback = noCallback; @@ -900,9 +970,12 @@ utils.prototype.myprompt = function (hint, value, callback) { main.dom.inputMessage.innerHTML = hint.replace(/\n/g, '
'); main.dom.inputBox.style.display = 'block'; main.dom.inputBox.value = value==null?"":value; + main.dom.inputYes.blur(); + main.dom.inputNo.blur(); setTimeout(function () { main.dom.inputBox.focus(); }); + core.status.holdingKeys = []; core.platform.successCallback = core.platform.errorCallback = callback; } @@ -910,7 +983,7 @@ utils.prototype.myprompt = function (hint, value, callback) { ////// 动画显示某对象 ////// utils.prototype.showWithAnimate = function (obj, speed, callback) { obj.style.display = 'block'; - if (!speed && main.mode != 'play') { + if (!speed || main.mode != 'play') { obj.style.opacity = 1; if (callback) callback(); return; @@ -1058,11 +1131,11 @@ utils.prototype._export = function (floorIds) { // map var content = floorIds.length + "\n" + core.__SIZE__ + " " + core.__SIZE__ + "\n\n"; floorIds.forEach(function (floorId) { - var arr = core.maps._getMapArrayFromBlocks(core.status.maps[floorId].blocks); + var arr = core.maps._getMapArrayFromBlocks(core.status.maps[floorId].blocks, core.__SIZE__, core.__SIZE__); content += arr.map(function (x) { // check monster x.forEach(function (t) { - var block = core.maps.initBlock(null, null, t); + var block = core.maps.getBlockByNumber(t); if (block.event.cls.indexOf("enemy") == 0) { monsterMap[t] = block.event.id; } @@ -1074,7 +1147,7 @@ utils.prototype._export = function (floorIds) { // values content += ["redJewel", "blueJewel", "greenJewel", "redPotion", "bluePotion", "yellowPotion", "greenPotion", "sword1", "shield1"].map(function (x) { - return core.values[x] + return core.values[x] || 0; }).join(" ") + "\n\n"; // monster @@ -1093,7 +1166,55 @@ utils.prototype._export = function (floorIds) { console.log(content); } -utils.prototype.http = function (type, url, formData, success, error, mimeType, responseType) { +utils.prototype.unzip = function (blobOrUrl, success, error, convertToText, onprogress) { + var _error = function (msg) { + main.log(msg); + if (error) error(msg); + } + + if (!window.zip) { + return _error("zip.js not exists!"); + } + + if (typeof blobOrUrl == 'string') { + return core.http('GET', blobOrUrl, null, function (data) { + core.unzip(data, success, error, convertToText); + }, _error, null, 'blob', onprogress); + } + + if (!(blobOrUrl instanceof Blob)) { + return _error("Should use Blob or URL as input"); + } + + zip.createReader(new zip.BlobReader(blobOrUrl), function (reader) { + reader.getEntries(function (entries) { + core.utils._unzip_readEntries(entries, function (data) { + reader.close(function () { + if (success) success(data); + }); + }, convertToText); + }); + }, _error); +} + +utils.prototype._unzip_readEntries = function (entries, success, convertToText) { + var results = {}; + if (entries == null) { + return success(results); + } + var length = entries.length; + entries.forEach(function (entry) { + entry.getData(convertToText ? new zip.TextWriter('utf8') : new zip.BlobWriter(), function (data) { + results[entry.filename] = data; + length--; + if (length == 0) { + success(results); + } + }); + }); +} + +utils.prototype.http = function (type, url, formData, success, error, mimeType, responseType, onprogress) { var xhr = new XMLHttpRequest(); xhr.open(type, url, true); if (mimeType) xhr.overrideMimeType(mimeType); @@ -1106,6 +1227,11 @@ utils.prototype.http = function (type, url, formData, success, error, mimeType, if (error) error("HTTP " + xhr.status); } }; + xhr.onprogress = function (e) { + if (e.lengthComputable) { + if (onprogress) onprogress(e.loaded / e.total); + } + } xhr.onabort = function () { if (error) error("Abort"); } diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..96da10254bd2ddb5455835ceb66de70ce73fc782 GIT binary patch literal 10376 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�&RJ)PF=sWU|Axt?j&tisz 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 literal 0 HcmV?d00001 diff --git a/main.js b/main.js index 4743655b..d9e3534a 100644 --- a/main.js +++ b/main.js @@ -2,7 +2,7 @@ function main() { //------------------------ 用户修改内容 ------------------------// - this.version = "2.6"; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。 + this.version = "2.6.6"; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。 this.useCompress = false; // 是否使用压缩文件 // 当你即将发布你的塔时,请使用“JS代码压缩工具”将所有js代码进行压缩,然后将这里的useCompress改为true。 @@ -74,11 +74,12 @@ function main() { 'inputMessage': document.getElementById('inputMessage'), 'inputBox': document.getElementById('inputBox'), 'inputYes': document.getElementById('inputYes'), - 'inputNo': document.getElementById('inputNo') + 'inputNo': document.getElementById('inputNo'), + 'next': document.getElementById('next') }; this.mode = 'play'; this.loadList = [ - 'loader', 'control', 'utils', 'items', 'icons', 'maps', 'enemys', 'events', 'actions', 'data', 'ui', 'core' + 'loader', 'control', 'utils', 'items', 'icons', 'maps', 'enemys', 'events', 'actions', 'data', 'ui', 'extensions', 'core' ]; this.pureData = [ 'data', 'enemys', 'icons', 'maps', 'items', 'functions', 'events', 'plugins' @@ -188,8 +189,8 @@ function main() { this.floors = {} this.canvas = {}; - this.__VERSION__ = "2.6"; - this.__VERSION_CODE__ = 30; + this.__VERSION__ = "2.6.6"; + this.__VERSION_CODE__ = 99; } main.prototype.init = function (mode, callback) { @@ -204,6 +205,7 @@ main.prototype.init = function (mode, callback) { main.dom.startBackground.src="project/images/"+main.startBackground; main.dom.startLogo.style=main.startLogoStyle; + main.dom.startButtonGroup.style = main.startButtonsStyle; main.levelChoose.forEach(function(value){ var span = document.createElement('span'); span.setAttribute('class','startButton'); @@ -215,6 +217,7 @@ main.prototype.init = function (mode, callback) { })(span,value[1]); main.dom.levelChooseButtons.appendChild(span); }); + main.createOnChoiceAnimation(); main.loadJs('libs', main.loadList, function () { main.core = core; @@ -228,7 +231,7 @@ main.prototype.init = function (mode, callback) { main.loadFloors(function() { var coreData = {}; ["dom", "statusBar", "canvas", "images", "tilesets", "materials", - "animates", "bgms", "sounds", "floorIds", "floors"].forEach(function (t) { + "animates", "bgms", "sounds", "floorIds", "floors"].forEach(function (t) { coreData[t] = main[t]; }) main.core.init(coreData, callback); @@ -264,14 +267,14 @@ main.prototype.loadJs = function (dir, loadList, callback) { } ////// 加载某一个JS文件 ////// -main.prototype.loadMod = function (dir, modName, callback) { +main.prototype.loadMod = function (dir, modName, callback, onerror) { var script = document.createElement('script'); var name = modName; script.src = dir + '/' + modName + (this.useCompress?".min":"") + '.js?v=' + this.version; - main.dom.body.appendChild(script); script.onload = function () { callback(name); } + main.dom.body.appendChild(script); } ////// 动态加载所有楼层(剧本) ////// @@ -327,6 +330,49 @@ main.prototype.log = function (e) { } } +main.prototype.createOnChoiceAnimation = function () { + var borderColor = main.dom.startButtonGroup.style.caretColor || "rgb(255, 215, 0)"; + // get rgb value + var rgb = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*\d+\s*)?\)$/.exec(borderColor); + if (rgb != null) { + var value = rgb[1] + ", " + rgb[2] + ", " + rgb[3]; + var style = document.createElement("style"); + style.type = 'text/css'; + var keyFrames = "onChoice { " + + "0% { border-color: rgba("+value+", 0.9); } " + + "50% { border-color: rgba("+value+", 0.3); } " + + "100% { border-color: rgba("+value+", 0.9); } " + + "}"; + style.innerHTML = "@-webkit-keyframes " + keyFrames + " @keyframes " + keyFrames; + document.body.appendChild(style); + } +} + +////// 选项 ////// +main.prototype.selectButton = function (index) { + var select = function (children) { + index = (index + children.length) % children.length; + for (var i = 0;i < children.length; ++i) { + children[i].classList.remove("onChoiceAnimate"); + } + children[index].classList.add("onChoiceAnimate"); + if (main.selectedButton == index) { + children[index].click(); + } + else { + main.selectedButton = index; + } + } + + if (core.dom.startPanel.style.display != 'block') return; + + if (main.dom.startButtons.style.display == 'block') { + select(main.dom.startButtons.children); + } + else if (main.dom.levelChooseButtons.style.display == 'block') { + select(main.dom.levelChooseButtons.children); + } +} main.prototype.listen = function () { @@ -349,11 +395,48 @@ main.dom.body.onkeydown = function(e) { ////// 在界面上放开某按键时 ////// main.dom.body.onkeyup = function(e) { try { - if (main.dom.inputDiv.style.display == 'block') return; - if (main.core && (main.core.isPlaying() || main.core.status.lockControl)) + if (main.dom.startPanel.style.display == 'block' && + (main.dom.startButtons.style.display == 'block' || main.dom.levelChooseButtons.style.display == 'block')) { + if (e.keyCode == 38 || e.keyCode == 33) // up/pgup + main.selectButton((main.selectedButton||0) - 1); + else if (e.keyCode == 40 || e.keyCode == 34) // down/pgdn + main.selectButton((main.selectedButton||0) + 1); + else if (e.keyCode == 67 || e.keyCode == 13 || e.keyCode == 32) // C/Enter/Space + main.selectButton(main.selectedButton); + else if (e.keyCode == 27 && main.dom.levelChooseButtons.style.display == 'block') { // ESC + main.core.showStartAnimate(true); + } + e.stopPropagation(); + return; + } + if (main.dom.inputDiv.style.display == 'block') { + if (e.keyCode == 13) { + setTimeout(function () { + main.dom.inputYes.click(); + }, 50); + } + else if (e.keyCode == 27) { + setTimeout(function () { + main.dom.inputNo.click(); + }, 50); + } + return; + } + if (main.core && main.core.isPlaying && main.core.status && + (main.core.isPlaying() || main.core.status.lockControl)) main.core.onkeyUp(e); } catch (ee) { main.log(ee); } -} +}; + +[main.dom.startButtons, main.dom.levelChooseButtons].forEach(function (dom) { + dom.onmousemove = function (e) { + for (var i = 0; i < dom.children.length; ++i) { + if (dom.children[i] == e.target && i != (main.selectedButton || 0)) { + main.selectButton(i); + } + } + } +}); ////// 开始选择时 ////// main.dom.body.onselectstart = function () { @@ -381,9 +464,12 @@ main.dom.data.onmousemove = function (e) { } ////// 鼠标放开时 ////// -main.dom.data.onmouseup = function () { +main.dom.data.onmouseup = function (e) { try { - main.core.onup(); + e.stopPropagation(); + var loc = main.core.actions._getClickLoc(e.clientX, e.clientY); + if (loc == null) return; + main.core.onup(loc); }catch (e) { main.log(e); } } @@ -403,6 +489,7 @@ main.dom.data.ontouchstart = function (e) { e.preventDefault(); var loc = main.core.actions._getClickLoc(e.targetTouches[0].clientX, e.targetTouches[0].clientY); if (loc == null) return; + main.lastTouchLoc = loc; main.core.ondown(loc); }catch (ee) { main.log(ee); } } @@ -413,6 +500,7 @@ main.dom.data.ontouchmove = function (e) { e.preventDefault(); var loc = main.core.actions._getClickLoc(e.targetTouches[0].clientX, e.targetTouches[0].clientY); if (loc == null) return; + main.lastTouchLoc = loc; main.core.onmove(loc); }catch (ee) { main.log(ee); } } @@ -421,7 +509,19 @@ main.dom.data.ontouchmove = function (e) { main.dom.data.ontouchend = function (e) { try { e.preventDefault(); - main.core.onup(); + if (main.lastTouchLoc == null) return; + var loc = main.lastTouchLoc; + delete main.lastTouchLoc; + main.core.onup(loc); + } catch (e) { + main.log(e); + } +} + +main.dom.statusCanvas.onclick = function (e) { + try { + e.preventDefault(); + main.core.onStatusBarClick(e); } catch (e) { main.log(e); } @@ -592,7 +692,7 @@ main.statusBar.image.settings.onclick = function (e) { } ////// 点击工具栏时 ////// -main.dom.toolBar.onclick = function () { +main.dom.hard.onclick = function () { if (core.isReplaying()) return; main.core.control.setToolbarButton(!core.domStyle.toolbarBtn); @@ -649,6 +749,8 @@ main.dom.playGame.onclick = function () { } else { main.dom.levelChooseButtons.style.display='block'; + main.selectedButton = null; + main.selectButton(0); } } @@ -693,19 +795,6 @@ main.dom.inputNo.onclick = function () { if (func) func(null); } -main.dom.inputDiv.onkeyup = function (e) { - if (e.keyCode == 13) { - setTimeout(function () { - main.dom.inputYes.click(); - }, 50); - } - else if (e.keyCode == 27) { - setTimeout(function () { - main.dom.inputNo.click(); - }, 50); - } -} - }//listen end var main = new main(); \ No newline at end of file diff --git a/project/animates/hand.animate b/project/animates/hand.animate index bffc26d1..09c95147 100644 --- a/project/animates/hand.animate +++ b/project/animates/hand.animate @@ -1 +1 @@ -{"ratio":2,"bitmaps":["data:image/png;base64,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","data:image/png;base64,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","data:image/png;base64,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","","","","","","",""],"frame_max":8,"frames":[[[0,0,0,30,120]],[[0,0,0,50,255]],[[0,0,0,70,255]],[[1,0,0,80,255]],[[1,0,0,90,255]],[[2,0,0,90,120]],[],[]]} \ No newline at end of file +{"ratio":2,"se":"attack.mp3","bitmaps":["data:image/png;base64,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","data:image/png;base64,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","data:image/png;base64,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","","","","","","",""],"frame_max":8,"frames":[[[0,0,0,30,120]],[[0,0,0,50,255]],[[0,0,0,70,255]],[[1,0,0,80,255]],[[1,0,0,90,255]],[[2,0,0,90,120]],[],[]]} \ No newline at end of file diff --git a/project/animates/zone.animate b/project/animates/zone.animate index f13a6b20..8c2b604c 100644 --- a/project/animates/zone.animate +++ b/project/animates/zone.animate @@ -1 +1 @@ -{"ratio":2,"bitmaps":["data:image/png;base64,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","data:image/png;base64,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","","","","","","","",""],"frame_max":6,"frames":[[[0,0,32,30,100]],[[0,0,16,50,130]],[[0,0,0,80,150]],[[0,0,-8,90,180],[1,24,24,100,255]],[[0,0,-8,100,200],[1,24,8,100,255]],[[0,0,-8,100,255]]]} \ No newline at end of file +{"ratio":2,"se":"zone.mp3","bitmaps":["data:image/png;base64,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","data:image/png;base64,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","","","","","","","",""],"frame_max":6,"frames":[[[0,0,32,30,100]],[[0,0,16,50,130]],[[0,0,0,80,150]],[[0,0,-8,90,180],[1,24,24,100,255]],[[0,0,-8,100,200],[1,24,8,100,255]],[[0,0,-8,100,255]]]} \ No newline at end of file diff --git a/project/data.js b/project/data.js index ff821cd8..f5c220f7 100644 --- a/project/data.js +++ b/project/data.js @@ -35,6 +35,10 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "bomb.mp3", "centerFly.mp3" ], + "nameMap": { + "背景图.jpg": "bg.jpg", + "背景音乐.mp3": "bgm.mp3" + }, "startBackground": "bg.jpg", "startLogoStyle": "color: black", "levelChoose": [ @@ -59,8 +63,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "武器", "盾牌" ], - "startBgm": "bgm.mp3", - "statusLeftBackground": "url(project/images/ground.png) repeat", + "startBgm": null, + "statusLeftBackground": null, "statusTopBackground": "url(project/images/ground.png) repeat", "toolsBackground": "url(project/images/ground.png) repeat", "borderColor": "#CCCCCC", @@ -68,12 +72,13 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "hardLabelColor": "red", "floorChangingBackground": "black", "floorChangingTextColor": "white", - "font": "Verdana" + "font": "Verdana", + "startButtonsStyle": "background-color: #32369F; opacity: 0.85; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;" }, "firstData": { "title": "魔塔样板", "name": "template", - "version": "Ver 2.6", + "version": "Ver 2.6.6", "floorId": "sample0", "hero": { "name": "阳光", @@ -261,18 +266,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = { "text": "生命+800", "effect": "status:hp+=800" - }, - { - "text": "攻击+4", - "effect": "status:atk+=4" - }, - { - "text": "防御+4", - "effect": "status:def+=4" - }, - { - "text": "魔防+10", - "effect": "status:mdef+=10" } ] }, @@ -290,17 +283,20 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = { "text": "等级+1", "need": "100", - "effect": "status:lv+=1;status:hp+=1000;status:atk+=7;status:def+=7" - }, + "effect": "status:hp+=1000" + } + ] + }, + { + "id": "itemShop", + "item": true, + "textInList": "道具商店", + "mustEnable": false, + "choices": [ { - "text": "攻击+5", - "need": "30", - "effect": "status:atk+=5" - }, - { - "text": "防御+5", - "need": "30", - "effect": "status:def+=5" + "id": "yellowKey", + "number": 10, + "money": 10 } ] }, @@ -385,11 +381,13 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "enableDebuff": false, "enableSkill": false, "flyNearStair": true, + "flyRecordPosition": false, "pickaxeFourDirections": false, "bombFourDirections": false, "snowFourDirections": false, "bigKeyIsBox": false, "steelDoorWithoutKey": false, + "itemFirstText": false, "equipment": false, "equipboxButton": false, "iconInEquipbox": false, @@ -413,6 +411,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "enableMoveDirectly": true, "enableDisabledShop": true, "disableShopOnDamage": false, + "blurFg": false, "checkConsole": false } } \ No newline at end of file diff --git a/project/events.js b/project/events.js index d8559846..57aec84c 100644 --- a/project/events.js +++ b/project/events.js @@ -4,7 +4,7 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = "加点事件": [ { "type": "comment", - "text": "通过传参,flag:arg1表示当前应该的加点数值" + "text": "通过传参,flag:arg1 表示当前应该的加点数值" }, { "type": "choices", @@ -45,7 +45,7 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = "毒衰咒处理": [ { "type": "comment", - "text": "获得毒衰咒效果,flag:arg1为要获得的类型" + "text": "获得毒衰咒效果,flag:arg1 为要获得的类型" }, { "type": "switch", diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 92b3a0e8..8b5c8646 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -728,20 +728,6 @@ main.floors.sample1= "type": "setValue", "name": "flag:door", "value": "flag:door+1" - }, - { - "type": "if", - "condition": "flag:door==2", - "true": [ - { - "type": "openDoor", - "loc": [ - 10, - 5 - ] - } - ], - "false": [] } ], "11,6": [ @@ -749,20 +735,6 @@ main.floors.sample1= "type": "setValue", "name": "flag:door", "value": "flag:door+1" - }, - { - "type": "if", - "condition": "flag:door==2", - "true": [ - { - "type": "openDoor", - "loc": [ - 10, - 5 - ] - } - ], - "false": [] } ] }, @@ -775,4 +747,21 @@ main.floors.sample1= "fgmap": [ ], +"autoEvent": { + "10,5": { + "0": { + "condition": "flag:door==2", + "currentFloor": true, + "priority": 0, + "delayExecute": false, + "multiExecute": false, + "data": [ + { + "type": "openDoor" + } + + ] + } + } +} } \ No newline at end of file diff --git a/project/functions.js b/project/functions.js index 1cee5278..c93f4dd3 100644 --- a/project/functions.js +++ b/project/functions.js @@ -9,10 +9,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 这一步会清空状态栏和全部画布内容,并删除所有动态创建的画布 core.clearStatus(); // 初始化status - core.status = core.clone(core.initStatus); + core.status = core.clone(core.initStatus, function (name) { + return name != 'hero' && name != 'maps'; + }); core.status.played = true; // 初始化人物,图标,统计信息 core.status.hero = core.clone(hero); + window.flags = core.status.hero.flags; core.events.setHeroIcon(core.getFlag('heroIcon', 'hero.png'), true); core.control._initStatistics(core.animateFrame.totalTime); core.status.hero.statistics.totalTime = core.animateFrame.totalTime = @@ -22,7 +25,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.status.hard = hard || ""; // 初始化地图 core.status.floorId = floorId; - core.status.maps = core.clone(maps); + core.status.maps = maps; // 初始化怪物和道具 core.material.enemys = core.enemys.getEnemys(); core.material.items = core.items.getItems(); @@ -68,26 +71,33 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 设置已经到过的楼层 core.setFlag("__visited__", {}); - - core.updateEnemys(); }, - "win": function(reason, norank) { + "win": function (reason, norank, noexit) { + // 游戏获胜事件 + // 请注意,成绩统计时是按照hp进行上传并排名 + // 可以先在这里对最终分数进行计算,比如将2倍攻击和5倍黄钥匙数量加到分数上 + // core.status.hero.hp += 2 * core.getRealStatus('atk') + 5 * core.itemCount('yellowKey'); + + // 如果不退出,则临时存储数据 + if (noexit) { + core.status.extraEvent = core.clone(core.status.event); + } + // 游戏获胜事件 core.ui.closePanel(); var replaying = core.isReplaying(); if (replaying) core.stopReplay(); - core.waitHeroToStop(function() { - core.clearMap('all'); // 清空全地图 - core.deleteAllCanvas(); // 删除所有创建的画布 - core.dom.gif2.innerHTML = ""; - // 请注意: - // 成绩统计时是按照hp进行上传并排名,因此光在这里改${status:hp}是无效的 - // 如需按照其他的的分数统计方式,请先将hp设置为你的得分 - // core.setStatus('hp', ...); + core.waitHeroToStop(function () { + if (!noexit) { + core.clearMap('all'); // 清空全地图 + core.deleteAllCanvas(); // 删除所有创建的画布 + core.dom.gif2.innerHTML = ""; + } + reason = core.replaceText(reason); core.drawText([ - "\t[" + (reason||"恭喜通关") + "]你的分数是${status:hp}。" + "\t[" + (reason || "恭喜通关") + "]你的分数是${status:hp}。" ], function () { - core.events.gameOver(reason||'', replaying, norank); + core.events.gameOver(reason || '', replaying, norank); }) }); }, @@ -110,16 +120,19 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // ---------- 此时还没有进行切换,当前floorId还是原来的 ---------- // var currentId = core.status.floorId || null; // 获得当前的floorId,可能为null + if (!core.hasFlag("__leaveLoc__")) core.setFlag("__leaveLoc__", {}); + if (currentId != null) core.getFlag("__leaveLoc__")[currentId] = core.status.hero.loc; + // 可以对currentId进行判定,比如删除某些自定义图层等 // if (currentId == 'MT0') { // core.deleteAllCanvas(); // } - + // 重置画布尺寸 core.maps.resizeMap(floorId); // 检查重生怪并重置 if (!fromLoad) { - core.status.maps[floorId].blocks.forEach(function(block) { + core.status.maps[floorId].blocks.forEach(function (block) { if (block.disable && core.enemys.hasSpecial(block.event.id, 23)) { block.disable = false; } @@ -131,12 +144,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // ---------- 重绘新地图;这一步将会设置core.status.floorId ---------- // core.drawMap(floorId); - + // 切换楼层BGM if (core.status.maps[floorId].bgm) { var bgm = core.status.maps[floorId].bgm; if (bgm instanceof Array) bgm = bgm[0]; - core.playBgm(bgm); + if (!core.hasFlag("__bgm__")) core.playBgm(bgm); } // 更改画面色调 var color = core.getFlag('__color__', null); @@ -182,22 +195,31 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = var fromId = core.status.floorId; // 检查能否飞行 - if (!core.status.maps[fromId].canFlyTo || !core.status.maps[toId].canFlyTo) { + if (!core.status.maps[fromId].canFlyTo || !core.status.maps[toId].canFlyTo || !core.hasVisitedFloor(toId)) { core.drawTip("无法飞往" + core.status.maps[toId].title + "!"); return false; } - // 获得两个楼层的索引,以决定是上楼梯还是下楼梯 - var fromIndex = core.floorIds.indexOf(fromId), - toIndex = core.floorIds.indexOf(toId); - var stair = fromIndex <= toIndex ? "downFloor" : "upFloor"; - // 地下层:同层传送至上楼梯 - if (fromIndex == toIndex && core.status.maps[fromId].underGround) stair = "upFloor"; + // 平面塔模式 + var stair = null, + loc = null; + if (core.flags.flyRecordPosition) { + loc = core.getFlag("__leaveLoc__", {})[toId] || null; + } + if (loc == null) { + // 获得两个楼层的索引,以决定是上楼梯还是下楼梯 + var fromIndex = core.floorIds.indexOf(fromId), + toIndex = core.floorIds.indexOf(toId); + var stair = fromIndex <= toIndex ? "downFloor" : "upFloor"; + // 地下层:同层传送至上楼梯 + if (fromIndex == toIndex && core.status.maps[fromId].underGround) stair = "upFloor"; + } + // 记录录像 core.status.route.push("fly:" + toId); // 传送 core.ui.closePanel(); - core.changeFloor(toId, stair, null, null, callback); + core.changeFloor(toId, stair, loc, null, callback); return true; }, @@ -245,7 +267,10 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (!(core.material.animates[equipAnimate] || {}).se) core.playSound('attack.mp3'); // 强制战斗的战斗动画 - core.drawAnimate(equipAnimate, x != null ? x : core.getHeroLoc('x'), y != null ? y : core.getHeroLoc('y')); + if (x != null && y != null) + core.drawAnimate(equipAnimate, x, y); + else + core.drawHeroAnimate(equipAnimate); var damage = core.enemys.getDamage(enemyId, x, y); if (damage == null) damage = core.status.hero.hp + 1; @@ -291,7 +316,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = var hint = "打败 " + enemy.name; if (core.flags.enableMoney) hint += ",金币+" + money; if (core.flags.enableExperience) hint += ",经验+" + experience; - core.drawTip(hint); + core.drawTip(hint, enemy.id); // 事件的处理 var todo = []; @@ -315,6 +340,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } // 自爆 if (core.enemys.hasSpecial(special, 19)) { + core.status.hero.statistics.battleDamage += core.status.hero.hp - 1; core.status.hero.hp = 1; } // 退化 @@ -338,7 +364,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.setFlag('skill', 0); core.setFlag('skillName', '无'); } - core.updateStatusBar(); // 如果有加点 var point = core.material.enemys[enemyId].point; @@ -360,6 +385,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 如果事件不为空,将其插入 if (todo.length > 0) core.insertAction(todo, x, y); + core.updateStatusBar(); // 如果已有事件正在处理中 if (core.status.event.id == null) @@ -429,6 +455,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } */ +}, + "afterPassNet": function (x, y, id) { + // 经过特殊地形后的事件;x和y为当前坐标,id为当前的图块id + + // 这是个一次性血网的例子 + // if (id == 'lavaNet') core.removeBlock(x, y); + }, "canUseQuickShop": function(shopId) { // 当前能否使用某个快捷商店 @@ -463,7 +496,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点"], [13, "衰弱", "战斗后,勇士陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%")], [14, "诅咒", "战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验"], - [15, "领域", function (enemy) { return "经过怪物周围" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }], + [15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }], [16, "夹击", "经过两只相同的怪物中间,勇士生命值变成一半"], [17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害" + (core.flags.hatredDecrease ? ";战斗后,释放一半的仇恨值" : "") + "。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)"], [18, "阻击", function (enemy) { return "经过怪物的十字领域时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }], @@ -511,64 +544,72 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = mon_def = hero_atk - 1; } - // 光环检查 - // 从V2.5.4开始,对光环效果增加缓存,以解决多次重复计算的问题,从而大幅提升运行效率。 - // 检查当前楼层所有光环怪物(数字25) - var hp_buff = 0, - atk_buff = 0, - def_buff = 0, - cnt = 0; // ------ 支援 ------ var guards = []; - // 检查光环缓存 - var index = x != null && y != null ? (x + "," + y) : "floor"; - if (!core.status.checkBlock) core.status.checkBlock = {}; - if (!core.status.checkBlock.cache) core.status.checkBlock.cache = {}; - var cache = core.status.checkBlock.cache[index]; - if (!cache) { - // 没有该点的缓存,则遍历每个图块 - core.status.maps[floorId].blocks.forEach(function (block) { - if (!block.disable) { - // 获得该图块的ID - var id = block.event.id, - enemy = core.material.enemys[id]; - // 检查是不是怪物,且是否拥有该特殊属性 - if (enemy && core.hasSpecial(enemy.special, 25)) { - // 检查是否可叠加 - if (enemy.add || cnt == 0) { - hp_buff += enemy.value || 0; - atk_buff += enemy.atkValue || 0; - def_buff += enemy.defValue || 0; - cnt++; - } - } - // 检查【支援】技能 - if (enemy && core.hasSpecial(enemy.special, 26) && - // 检查支援条件,坐标存在,距离为1,且不能是自己 - // 其他类型的支援怪,比如十字之类的话.... 看着做是一样的 - x != null && y != null && Math.abs(block.x - x) <= 1 && Math.abs(block.y - y) <= 1 && !(x == block.x && y == block.y)) { - // 记录怪物的x,y,ID - guards.push([block.x, block.y, id]); - } - // TODO:如果有其他类型光环怪物在这里仿照添加检查 - } - }); - - core.status.checkBlock.cache[index] = { "hp_buff": hp_buff, "atk_buff": atk_buff, "def_buff": def_buff, "guards": guards }; - } else { - // 直接使用缓存数据 - hp_buff = cache.hp_buff; - atk_buff = cache.atk_buff; - def_buff = cache.def_buff; - guards = cache.guards; + // 光环检查 + // 在这里判定是否需要遍历全图(由于光环需要遍历全图,应尽可能不需要以减少计算量,尤其是大地图) + var query = function () { + var floorIds = ["MTx"]; // 在这里给出所有需要遍历的楼层(即有光环或支援等) + return core.inArray(floorIds, floorId); // 也可以写其他的判定条件 } - // 增加比例;如果要增加数值可以直接在这里修改 - mon_hp *= (1 + hp_buff / 100); - mon_atk *= (1 + atk_buff / 100); - mon_def *= (1 + def_buff / 100); + if (query()) { + // 从V2.5.4开始,对光环效果增加缓存,以解决多次重复计算的问题,从而大幅提升运行效率。 + // 检查当前楼层所有光环怪物(数字25) + var hp_buff = 0, + atk_buff = 0, + def_buff = 0, + cnt = 0; + // 检查光环缓存 + var index = x != null && y != null ? (x + "," + y) : "floor"; + if (!core.status.checkBlock) core.status.checkBlock = {}; + if (!core.status.checkBlock.cache) core.status.checkBlock.cache = {}; + var cache = core.status.checkBlock.cache[index]; + if (!cache) { + // 没有该点的缓存,则遍历每个图块 + core.status.maps[floorId].blocks.forEach(function (block) { + if (!block.disable) { + // 获得该图块的ID + var id = block.event.id, + enemy = core.material.enemys[id]; + // 检查是不是怪物,且是否拥有该特殊属性 + if (enemy && core.hasSpecial(enemy.special, 25)) { + // 检查是否可叠加 + if (enemy.add || cnt == 0) { + hp_buff += enemy.value || 0; + atk_buff += enemy.atkValue || 0; + def_buff += enemy.defValue || 0; + cnt++; + } + } + // 检查【支援】技能 + if (enemy && core.hasSpecial(enemy.special, 26) && + // 检查支援条件,坐标存在,距离为1,且不能是自己 + // 其他类型的支援怪,比如十字之类的话.... 看着做是一样的 + x != null && y != null && Math.abs(block.x - x) <= 1 && Math.abs(block.y - y) <= 1 && !(x == block.x && y == block.y)) { + // 记录怪物的x,y,ID + guards.push([block.x, block.y, id]); + } + // TODO:如果有其他类型光环怪物在这里仿照添加检查 + } + }); + + core.status.checkBlock.cache[index] = { "hp_buff": hp_buff, "atk_buff": atk_buff, "def_buff": def_buff, "guards": guards }; + } else { + // 直接使用缓存数据 + hp_buff = cache.hp_buff; + atk_buff = cache.atk_buff; + def_buff = cache.def_buff; + guards = cache.guards; + } + + // 增加比例;如果要增加数值可以直接在这里修改 + mon_hp *= (1 + hp_buff / 100); + mon_atk *= (1 + atk_buff / 100); + mon_def *= (1 + def_buff / 100); + } // TODO:可以在这里新增其他的怪物数据变化 // 比如仿攻(怪物攻击不低于勇士攻击): @@ -603,9 +644,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = hero_atk = core.getRealStatusOrDefault(hero, 'atk'), hero_def = core.getRealStatusOrDefault(hero, 'def'), hero_mdef = core.getRealStatusOrDefault(hero, 'mdef'), - origin_hero_hp = hero_hp, - origin_hero_atk = hero_atk, - origin_hero_def = hero_def; + origin_hero_hp = core.getStatusOrDefault(hero, 'hp'), + origin_hero_atk = core.getStatusOrDefault(hero, 'atk'), + origin_hero_def = core.getStatusOrDefault(hero, 'def'); // 勇士的负属性都按0计算 hero_hp = Math.max(0, hero_hp); @@ -735,18 +776,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = "turn": Math.floor(turn), "damage": Math.floor(damage) }; -}, - "updateEnemys": function () { - // 更新怪物数据,可以在这里对怪物属性和数据进行动态更新,详见文档——事件——怪物数据的动态修改 - // 此函数执行时间:重新开始游戏、读档后、通过事件调用“更新怪物数据”时 - - // 比如下面这个例子,如果flag:xxx为真,则将绿头怪的攻击设为100,金币设为20 - /* - if (core.hasFlag('xxx')) { - core.material.enemys.greenSlime.atk = 100; - core.material.enemys.greenSlime.money = 20; - } - */ } }, "actions": { @@ -905,15 +934,29 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = */ } +}, + "onStatusBarClick": function (px, py) { + // 点击状态栏时触发的事件,仅在自绘状态栏开启时生效 + // px和py为点击的像素坐标 + // + // 横屏模式下状态栏的画布大小是 129*416 + // 竖屏模式下状态栏的画布大小是 416*(32*rows+9) 其中rows为状态栏行数,即全塔属性中statusCanvasRowsOnMobile值 + // 可以使用 core.domStyle.isVertical 来判定当前是否是竖屏模式 + + // 如果正在执行事件,则忽略 + if (core.status.lockControl) return; + // 如果当前正在行走,则忽略;也可以使用 core.waitHeroToStop(callback) 来停止行走再回调执行脚本 + if (core.isMoving()) return; + + // 判定px和py来执行自己的脚本内容.... 注意横竖屏 + // 这里是直接打出点击坐标的例子。 + // console.log("onStatusBarClick:", px, py); } }, "control": { "saveData": function () { // 存档操作,此函数应该返回“具体要存档的内容” - // 勇士和hash值(防改存档文件来作弊) - var hero = core.clone(core.status.hero), - hashCode = core.utils.hashCode(hero); // 差异化存储values var values = {}; for (var key in core.values) { @@ -924,16 +967,18 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 要存档的内容 var data = { 'floorId': core.status.floorId, - 'hero': hero, + 'hero': core.clone(core.status.hero), 'hard': core.status.hard, 'maps': core.maps.saveMap(), 'route': core.encodeRoute(core.status.route), 'values': values, 'shops': {}, 'version': core.firstData.version, - "time": new Date().getTime(), - "hashCode": hashCode + "time": new Date().getTime() }; + if (core.flags.checkConsole) { + data.hashCode = core.utils.hashCode(data.hero); + } // 设置商店次数 for (var shopId in core.status.shops) { data.shops[shopId] = { @@ -968,17 +1013,24 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.events.setVolume(core.getFlag("__volume__", 1), 0); // 加载勇士图标 var icon = core.getFlag("heroIcon", "hero.png"); + icon = core.getMappedName(icon); if (core.material.images.images[icon]) { - core.material.images.hero.src = core.material.images.images[icon].src; + core.material.images.hero = core.material.images.images[icon]; + core.material.icons.hero.width = core.material.images.images[icon].width / 4; core.material.icons.hero.height = core.material.images.images[icon].height / 4; } - // 刷新怪物数据 - core.updateEnemys(); // TODO:增加自己的一些读档处理 // 切换到对应的楼层 - core.changeFloor(data.floorId, null, data.hero.loc, 0, callback, true); + core.changeFloor(data.floorId, null, data.hero.loc, 0, function () { + // TODO:可以在这里设置读档后播放BGM + if (core.hasFlag("__bgm__")) { // 持续播放 + core.playBgm(core.getFlag("__bgm__")); + } + + if (callback) callback(); + }, true); }, "updateStatusBar": function () { // 更新状态栏 @@ -1013,9 +1065,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 设置魔力值 if (core.flags.enableMana) { // status:manamax 只有在非负时才生效。 - if (core.status.hero.manamax != null && core.status.hero.manamax >= 0) { - core.status.hero.mana = Math.min(core.status.hero.mana, core.status.hero.manamax); - core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.status.hero.manamax); + if (core.status.hero.manamax != null && core.getRealStatus('manamax') >= 0) { + core.status.hero.mana = Math.min(core.status.hero.mana, core.getRealStatus('manamax')); + core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.getRealStatus('manamax')); } else { core.setStatusBarInnerHTML("mana", core.status.hero.mana); @@ -1060,7 +1112,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } // 难度 - core.statusBar.hard.innerHTML = core.status.hard; + core.statusBar.hard.innerText = core.status.hard; // 自定义状态栏绘制 core.drawStatusBar(); @@ -1213,8 +1265,10 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (enemyDamage != null && enemyDamage < value) value = enemyDamage; } - damage[loc] = (damage[loc] || 0) + value; - type[loc] = "夹击伤害"; + if (value > 0) { + damage[loc] = (damage[loc] || 0) + value; + type[loc] = "夹击伤害"; + } } } } @@ -1257,15 +1311,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } // 如需强行终止行走可以在这里条件判定: // core.stopAutomaticRoute(); - - core.updateStatusBar(); }, - "moveDirectly": function (x, y) { - // 瞬间移动;x,y为要瞬间移动的点 + "moveDirectly": function (x, y, ignoreSteps) { + // 瞬间移动;x,y为要瞬间移动的点;ignoreSteps为减少的步数,可能之前已经被计算过 // 返回true代表成功瞬移,false代表没有成功瞬移 // 判定能否瞬移到该点 - var ignoreSteps = core.canMoveDirectly(x, y); + if (ignoreSteps == null) ignoreSteps = core.canMoveDirectly(x, y); if (ignoreSteps >= 0) { core.clearMap('hero'); // 获得勇士最后的朝向 @@ -1301,20 +1353,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = main.log(e); } } - - // 下面是一个并行事件开门的样例 - /* - // 如果某个flag为真 - if (core.hasFlag("xxx")) { - // 千万别忘了将该flag清空!否则下次仍然会执行这段代码。 - core.removeFlag("xxx"); - // 使用insertAction来插入若干自定义事件执行 - core.insertAction([ - {"type":"openDoor", "loc":[0,0], "floorId": "MT0"} - ]) - // 也可以写任意其他的脚本代码 - } - */ } }, "ui": { diff --git a/project/icons.js b/project/icons.js index 0fe339c2..4c84391c 100644 --- a/project/icons.js +++ b/project/icons.js @@ -25,6 +25,7 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = "leftFoot": 1, "rightFoot": 3 }, + "width": 32, "height": 48 }, "terrains": { @@ -137,8 +138,7 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = "npc0": 0, "npc1": 1, "npc2": 2, - "npc3": 3, - "npc4": 4 + "npc3": 3 }, "enemys": { "greenSlime": 0, diff --git a/project/images/bg.jpg b/project/images/bg.jpg index 55cf862cc90f155b8bdf5ac0b204fad4a37f6d18..3fbf4d1c7c82592069542535db101dea376b9ea2 100644 GIT binary patch literal 27900 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 L_colIT_gY5;=2ar literal 39354 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 CN#o7{ diff --git a/project/images/npc48.png b/project/images/npc48.png index 43c3a3762b5147b66c7a6947cf51aa66b094ab69..5b5b0fece2e0339e6f55ef7001ba082a94721de7 100644 GIT binary patch literal 5556 zcmeG=`8yO|_cLQ;Y>}}OGxjaUE<0n*nvj%zPqva|of*XtMp+w~A!LcDD6&nGtwo}c zZR~rYxUS=m8UCd?BFh46NI{+X~nxUHl036a8cntu!jQ{}Fy#WB- zA^<=j;*r-!3jlx#;Arb?o@p7`z;_o9jrwF+c9qK_lG}&ALN7_GK>24}vkbIWzdY7X zug;hbb7}DKsE&`v*ayA;JUVIa?H!!sF0OJKVZmn;B;k)$DQb1l)a0Vm_og~fZu(IA z#@94|?Z;78^#0<$tl(=}G6@%ru(rCjQNF9CS=|qkLoJQzbo$QD&cMJxZEY5IE*v$Xh|4!h)eF9n@ZDou#)T5p3FEPCCKWu;~LPs`ZIBTTUm0JJ+ zJM>=w0`N}+0e~~J)@CNovA?#ih58l0$J*xZMX}F`d5fyKaZ+ z8^)J9H^o&MHWj1UCW(Ie_@PG4$&%lnWD6Jv5}qVEy+E-R5hEM3slFfy(khsfH$z8J^w8|>hAkY~Aj#d_Q-(z&4R@`wddiu5=eNNGgsw~q;AEhdtbpJ*YW>({ z@Wn2>wP&cRHMWivOe-OcwA-Iqm(?Jw;P?cyx}XpMdzZm|HO}t4jrs=e-clzPfGXw) zZkqjT$LdO512=D_lMBZ8ZV9mot#9VA*5u{=|1h2$Q~d1OT+Y0-?UEm}#e(bsM^L@t z(&S_@&6%nsri2hqmW1Va%iDok%|LT<-|BbdX2j5rfuFkQN%4tCN8151^&;smrIY3? zhMVLtkV%o)%=$u3Dq6Fr9#jTt1E=nSu>2;0V9YK2+0}k0|JRTvHt@)sG#jwToj?!RP7n;fKTT&c=|r=CNz0_y<%1EX} zSw_&gQZ3hO156LU?-85wE!F24uYFNC)NMn_nz!`v*BlFJ>t|ywX=wN5LYnZx_~3Sr ztYCbiPmxM~XV%btRAEOz5H-`S-jyQ%mGbuTZ7KvLzeMlX46m-Q7Qw|gel^1Suz?PC zYgj3-c{7IsF4lRvnqMRgmq#ya?{wM^nR}W&cj+`^nfV2tisg>|z^%OZL&21AtM-^5 zz4m!;EXa#**v46o-oD>4(e#jXkjN|d6w8)ZNhnLqMX`I$&8mA8m?1LQxXpU?fXT~t z$1R`vG?5DVg)fc%3VRsuwK!wrW$YX5;_US`Ra+k4b-})ca8L78xgCzI@lq-k?5gnK z3)Bd4PMX`{)|tqKFA$1?Op62OCw}0dSH8~MrS+wyfcws$UcGzMq9zyh=hpQ`g@u-Q zHiofSKc>qv54Z0avR5;m=~iq?uV$ZCIUy}EFX5gFGL2`o?Nkf)MRRtvmnyct60;4S z!g~2zX}N2#=Ap{I`8)+YKxZv1wxmkNt_;(!X0GW+p;Am^!ojrWZ1U zf6g0)%qT`uR;c%-$;FeOh3$2CeL00ZA=Hgo*39FkS2FSZSfqT1k!TL^zZCHEtBCmkpj|hte@l| zHC+G9xMRjy2V=~X#US;57ew>4d^|5gTP$pyS08=ubVU8{%nYEBEv_7k-1M-c!P6~|9t--9)a33{^OJ2QnFUxxOJXc$7Gr2=}EaHH?-ne zHk!qfa!ZyXuQ8;P&#t7}?9#JRirEgp1&q)#F zP!OhcmH@i)VWlkJyM@7!z08*tyY>(3mT7+4ULTu&##@8(oW*D?8ya@Ty-YQPm^4=g4jV+%-=iqZct-K@gce3SQH+vS=QA+l(L-u?V; z&0E;-TeDOG;zy_Llr^zBTl8}J+#pDo^n_zV(XH~{#KnerPLl$_i(F@@6QLD61}c;1 z9`~T}7;1w1JA5sS73){J^%L&jT7IC(M>^ZX+sMf&;JJZ^@G+Q9 z%4rh1iVNrqnPuX*eFG}TZtkmChf?xPUST82S;6+CH?~8c^&mVU_bySGGX&QcQzNc1 zN#`YC(;I~e3)`Vrmr|T+crtx4v{}F6IhZE|$sNcxF(&vSr~m*CW@rok~|y2K*-oQv0X{u)w{X| z{;z|wjoUMv!(Ub3{Ne$=R8IZCEk`5@!EXZ`z#Jww&uMrPA0MGItb>Sgi#l@4VUCMC zupGGi@{Or<9M+p4^0s^tVjP02#yap_XzRp(C1=7oJDn$@1UjE0ULePn^U~k|8@6-7 zIjf-}NZ7Ln9G#DS9Mud&d!T3m3FDv;t#e@@S&C5fV?q7$p8`=$83S4ya571HSiF=0 z=c!$nj6}5)K;KBDu3UkPWrMQb25ba<+=7Cz-J=vjZSXt0w@gTMLGn6DNtvUbd(qY{1 z?2wy_FEDT#U-0-}ZsT;Y$N0;b6d?eTjFl-lh@l8~L>z@Rz^ozwxKNx@F@mk)y}&bY5}*4G+g`Q{c4luGy_k za)sg{*JHIiS4)Q+1xd0!03^byRPEMp(fL|Y4c@q28GlK7^-?m#R$*h~7DZ%Dtk2=s zj=N)@YVE)IO=abeo4RZ3H`pxE7b(^@pW4JK>eF!if@#F)56@TwAmU00o>^EVwLcWmw>4=$(rdLw6VrA`xXu~B()ctSDz)g1yCf8^YAF6|aM3+F6@U8= zOCiX|0m#z%CQAon2ZBpOxQg!Kf~*QqFwhMk%gkrxAXcpgV1NI&o9gPouDu^(WS9ms z*o$%ZoWzs=SIRsq@^J2~a4{wMYBbs&>|YtEK;qIk}$pHz75%K0N5P?@N^Q8di8ENYIq z{=)bJ=ZYGMQ(9<2HCX}{r;XB#&T?o}o!0AHZkiNW(M zBXdkl&f`=7ct6PMScBQfeL}%oG})5bPr!KnHG9iW4kha%VD=+-6Qq=B$WSiMA}fH$ z@pwfLTCAy%HwEBWxG3({<(LuZIV=5Wpo6J$csOgy6T#|8s(P)zS1zvy_&`|^GDK_S z`TL1D^P^)u6jHvxCXa4}VonNt1g-WIrfn!7%)21y?DF_)GW-@mm7t?T^(Y zNj=15a?`oV^*+nFu<+In%nTi^N`vs5bugkZK`4giaJ2g z0Z{pw@1BXIPlzM0eK%kYtEUIkn*o?7_kC#dsx++Q3Of!39XJS9bmlDxuC zG|`0CCBBN7XxQ)+#Lrq9(?@-7H^j{`*B}`wwcWfHWBY6Nino^IDf?8JW+S1|jI^E0 zAUDZj&xT)wDSNN=rsZD8pUNg`b-o7+4R-yPP*FKM;HIA?6ZEkBPL+K=TE{?k^bz6A zx4>*W@o4X9lt}VfAh+>x#ZaSQBl{xx9lGHcr;N?(Vew`f7x0tHYT>W0WdZ#RV$-&( z!1=^$jPOx#P5dNnwBN9K*2P;i>ARD#3Wf@me51#n*`vKgjr)^`fE{o#GL;Cc=D?qE zS!uPRhX0m1_T*PrxXN~^=OE&W2>xWr9B6%2sbOOjE}wMqU$M6kc`700DUR{typdgG zR9Ca^)G!(tq_X^e{yoTV_s(N`dCe+SwFUnP;8zCCS;o^hzaDyS^GmoWqcjr%^XGX- zS^F8#bpADDCKa3dVCVY{pDo!@<;I+!lRIZ<-7}{l+JodrsF^xfU@L-|Kau%btjV{J z`DDx_x4gz1wQwl>?o|$8j|wX&zPXTHrQ19bj?%G2Wp>=Z!ks3?{yqzpz98HD@}NSv zcZ3DL4oxsw&bBj7)j{Sl7p_X=X#s(!G|}g^O;5May=~cj4Uvjp2T7A~%L?c8abc5Dev3cH|n4Z_ALS$ z@yJVtoH({1fu8wY+50B&IvgNP8$$cNF&X_6K zsZ-qYdFY9YS-h#{!7riSa^Mz(uj88FcW%c)5%i}d)0b-!yST|CR(PS;kKw|1XrjG{ zZy~$GUPx6)uYt(lpA8V@k0&46KFW)x$61k@1N-#P*%sv-Ov_w8**xQ zw54BVO76j{ssn*h6Di7VYsVe1AtzAq&emDtwb-Uk9>jEi7|35IVVS6refMjfBMf9C zocKqyh?zq)1jHD2a32*cK`*?JICnUG! zw$*R%DS~0@esS+;hkLSmAo~PRMO|(q*!V_}mPYpw=Qa!Zo8#17gPC;M(tr7HnsU$V zL)BC^1#|rxH~7j+V)tBY7<^@Rfpvixa5ek!^>(P&^Aqd%c${*$TS$Jk9# pt}V;OMvl%`;t%r|aPB8YC)r<_RGX$4e?9&HVI=bYTveeTbF&bhzW?|0>qjnxIQgK`G}0D#z~ zi|4QNz6rc-Nm!8g*{0yL{{s+v{lYmwDMew1cfgM_yJiLel&6U7+!Ej&9|*YUgarV^ zzwd9rR{wXm0f6K4m(H8r2z8y$^L^)w{->4Nzw{AuN)UXXK%xA5m~H!j5a?qu~A~Y zj?Fjh&&8TxyMn0BAVKP&%--Hc%H~{UKRjeU(*Ne1hx9jE#P+WL=F-2rf4+^_!ICMB z6npZ^sO?8l)ng=y*1K^*w}+w5y^}Cw?h}=D-KemCb{z0?2EmkFmMdq_;PK<0(hOFc z7Sp+_tp@ehtubRsWpOB0V}}NIPYh}6e|M`mxpx(H-Ljoclw{H?TrCn0D6w6yK|{C? zU6zgb*Mzes=hA)`5;gEdc{K_NRjXA$F#Bw0)~%opSK>A5wl_5r<~g#VD0UaqHz5Ze zrLT=tM*_fl(bZK^zt04}%9r5007p*CZUZPc_eudU5l=tcPL;iGz5E!VQxLK}PZ^$A)lmV*T zqU2-!jy9ITmpksPijG0Cuu(7M5zrSt)}}KUpn-;7;8vY-wJkAhBDQ8Rbsu9Oqh2{s zqzNFf*{4e>nA;2hY^=`@K0Gw4RuJ(C;KpqonakDN&Xv4SBOuV@lb%zq=e7-WAI~e= z4HUu1*I!9E9|Q`ZU_na+=iBaHyCg7xsln?~hI)fLC)A?@A`CXQb%^qjmy?tru5D$z z6^RQNt6W^Xe*H;BHh>1M9B`*T0PW z15&$HkE|;dmh2XEB>G80pJnQ8j`C0XbewBKeHI+5?F4gFq}{J@T>-N~g^a4W47}xp zEGRHveRpwhF0WajHfj%_rTVolat>>yfW=B1j2WpJNc!+w-NToLt8+58IvjR`tXhBu zZqfEi&k^@zvD6pFkPPbbogVRr*cA?m>$WB!X zuJZ+ca$2$9A_2T5;(5yIuiS3`ud^NOEh8WcB(-m|YU2@%eme$tI~*`+t_0@wY{qf0qOHMRy`*(L;^~LU=X=vzi?B;XceNzRLigecWL7_ zv-Y)ASJxe1P^KOK@zh^{_5mhc@T{7W!jhvRDXF~tM^R#H=>xJ1=k>5NzP zrA$RA-1Lrxu&UJNIu^h8gM#V8H>xejlmAd5ujpD9jK)M%0d}0ImSPf+h&pYXwn2qPB# zRBn)n|A#D4a#C|vzh0X)HXuj8Y9_OW@!$-ne2ppc{7ZI$VNHpm=2-15C#mQ7k#xt9 z6s$=1vw__WTvYSl4V(OgBDIH}RuKf0tZSTD$nJqKJ2!gnr_ZKfi}!;U;S z^)Xvlb^lfkfc>R9eBHf2Hg97?>fp*v z6<8uGQe;L`aboPd5MIKycX^Cua22|8amM5AOLAW(ZbqnPE+le8uD(W6vkQFg;8=l) zY@{-8F^hN=te5jqGHSkfvlVQ)^E{*$#CyJfzP4QZaRuR6*2_7U{Bdq>v&^%k;^Mrw zp7cxXQ79yBWSz|nnkvIBcMcjQ^k~H?-hYsT`$;~zNb&ykb@{)ho?!=I3 zjqBesvwK44>YnYvw(K~r_7?*l-@2xfSZw0i6(y3=Q|fgzf@X&5x>9iMm+I>T-x36? z@u!IOkkD-6(>g)mOAXUBsm8mK0ewvuydBaFj9u0Qh)aIFaW=P(Rlb?)kr<1-);Kpe z^WTL>w{+ei&0~u_%;nbloL-fBu)l;!s6-|q9nx`<@swkgMeWTO@^@(ILFd~}>%Us2 zZB=$6ImgazWjE@`TB(?$(*E@7STm5@eDBn;KaB4md0&)S6X>-dJcHI#!REk&`v&W~ z+%TP(;Y5qJ)4`{=^j1F{h39U5s3D+I<~=-7wVEs4#7d>Q4BRqJOF#Ha#(OTUhR5k< zt&BN=l-k7)>rf*RVjJ3kM9 zK=)^AwfeBPyG_y`N4Q_)01|^$B9xC8{ELs~r&Qfjx)dx@x^f>I!v;#K^*2KIr@9I%S)B1}(!f!5wI= z&HP7O39=fO=A*sb=_$uI-%B--SsXYgBr-0$UgmSNW5?j(e)fy688AR+CbpNX8-t`k zOtugjZRG6EKYOX{p>%Sd}hx7okRP)P_9z0lAAG zpK(iXF{CcbwjPW2=+^i=g@zM+zzMsZ*1I>juYtqLmi01!5f|}#n_>4;Ruuf}#Dq6$ zEo;R4a)kgRDqw&ryuU2pbGFLwV=@kykmf!{KV6)-W2Dm<{}P$q4WLB zEH_cusMC`DH18Jftc`siNk-d+I4W?+l<%kT+t2g zo6zCEmjcH*Pebs_4mY_|=;41_{tQuMVQY0Gg9l3c4f7)cGVlU~F$YPsp?8Rq>%=pCx54WO zOT{&$dEW_#d6FRHMXe}p#%q6;`wl5*mRFWeJc9!;Qhabe-%#{TH^OT=t#3;^@MnX| zO=yJoGep@~m-KVOHN86jQ;LBWB<5aWvhI+Hz?tEQ^?I?#wU!#mj^_yvR4GEk&fg2~ zVre3@OT5)ad-MMNUg`Syn`Ky7W#{-w8P85Wjf+1I_l5`gw21J+iv1afevSvj`yz5{ zN%X!m(lRA-t2GX-UNz5Y=q4{w%!~k54>b&HB>`$yx4q6j=i~@@!ui|W){9a9hGZT- z)pHI*dE`lT@wJi|*?9>$v-}n2^xRd%AQ^_v{C=(23!d59<1f~ioZo4Orfm0}&$mK= z!pIVx#+P~G7#K z{m_>MUwa9PkkO~`HgfDYnFCPe;=lUB2HNwf?W%4XeOQhDfC*qv7x-uX1Y673l;Neh zP`)ZzfEH3)2|eJqI`$Qk9}dh2K)CBGVK%$sZ=0hg1)9wI#-F_{{SIw$6{B4yS8gw% ztvEU%*1LI|hxwsh2GSq5UB_54m&?#9J=uTf`n zeZ!#GkiVjQkt_$hKBs;a1I2q>QL~yeQ`a8t0r{Bb!npZOIceqoRMvAr^67xSv|n9T zW>HsAjGO7-Qq664bFdM@5A+^>UhfYTc3%iRtp$fLQH+yOvv=b1qVb4dult0&5ANz! zUjZFwNWPbfu2{_Fy12Xw)r;?sSU{roqmkIpV@xY?%iL4K)CHHCgE z8p}Y#V$0=r(heZ>t5!UxsYWU7kqL+g+5SotMGMh93vUDYq6f$Vlj~mxWH{YUuYxO_ zC$vc&^B@``obm`)h|FymA#aT!_TCmn z?RAlBw^|FhcLzLgcfpx+CA~!Yv`R{Mso=uEtkB;g4lqg`mg;k!>QVn^7MS~O7YXqC z73rtF|A>8A+vnR8)b&SbDzmAgzmTY@R8L}&&61V-oP10;H4YL;1fil2ve`SrwU$Uv zz;xcudK$`h5t{TFWbb$Oi*R+pS%;Z;q!DKDBgmAZgAtDe01XD4-eXc;D}hiIBGdCR z{D=CUTx`SFUQpQ9zdfUQ1DcUwSoQXrA|_B?GPUArUCC<93&D@YLW;R0ZJafpvFfkBR|-5B z&XKNpzcZVr8jkB^&P_%01!klz&I?-KDvh@s&-|WLA)Q*`gXX%w0~Q-@-5ewna!~-x z3O{~@N#1Qyv)-sYZn7we0uIv&xjvJqWp@e=Fquik)l)ucu6epoDt7*~78Bys3!dex z7ZUIAe+^%|A>oWy)BIlz96V#pGE%;(I z)L^u1m!WI?@+%O^BmpNODryEItxOmILZ}p))8MV)C*vYB3rF&&;QVv^}%npT80)IRAhL z=!e@It0wTq8qTl&`m!*m=z=y@5kQJxLL+DTCofPHxRYa~6rkY<;M^etk$^hpQ_C9^ zII~G2iWvIv48PE~fT_5Ce592E$u*zg;^VG>Bnt`}b?aV0;I_sSHj2tfkq`Ii9R+Rx zzmdAgAkM?WjFT$k#9~%dH&SH#c~kF_{LYJUM9tJ2qLsV?44kA+4$s zp9oVh!LD{Jo)E5{u{`#0Z>5aPwv?pBcb|-yEi4;;#Dl#C505nPbi1G+Nk71QW$a1R zy%peFslr#&nU_O#Hb_R3LtyFvVv-e zX(F?iTRW;>9Xd4O46|5rlLD7ju5VD zGR}0-;7L$FAmH~#onYExaL~vDtX1x{yJOe14V%*nB(ydI+{7^+lP}e=@+n#V;)Oe{ zJ=R0sXO-rP`xR;FbhU9=tY$(YQsAA~Xn4Zn*Ptlghw=&HmCT% zS8^zP2JqXer*~W`_{v_nejJK$9<5uw%}Iogw~G*C#LV2qmj{(=LO@m)Zcsj*gAHc^Tl_tjd+mdhR4tK1%f)T>Xo)|~#(=iwON>RXz4&gs*R0YXqcwAYZ=Ts6bNb{g6ig zbJcvg4SeQ4{`Y%p%u}kX6Xa-G;I=a>F8rrtySx=i?^Mp&SJ-vC$nwSSl&09>vYX64cYY%3bSW?r3kX(jKRmyxV5y(7E}Sr-E(q zK&u2ZHpkWly;6OAD@iw zS*-xH?+e3%74>oL@us;o0IlG=HN|OGtwHdtG(o} z!vUV_dJi_ReQt85%9r?a60vb-VN{kL7ONv(oh$IqZ=WaSl!iN>+eZz{`VHZpXBW_f za?%3!ms_W4?)g~ZdPizJrBgD2`&>qEV%ZgJ3Vv*>IPa|Of(L~-n?K(~@!gejDyi}5( z<^Cf67+}J9FT7bCu|yFN+_x1qzM$$*u=V0X+3w9(!Y_R6Z6`F94Edo$Ib{qD2 zbBXufLH_;PvN}O3B{+ITn1t!l3Kh^=$&kS1cL~9m;0<-_ z{se`mvknsPtVg#FJGk2Or^n)ofQfJgYMYRnG78z{>xuT;^p&FE>NR+IV9JBSla=2n zdbFIcafB?C6gPil>pl)wexO=_Cj7_+>!*R6jH!5aU~;J!Bp4dFPpxo8n~Hg^TDo#G?UPf-Vx=B6sel=ES1FbObD$P(}x3+QWHBV_w7 z`IWeJgw@-VzYf?%4GD!xW5ThA2vNgWI7j-uis?IED%sVhxXg&InB0D@H!U3V-FBgd zs_2Hpukk7##sXY9qaObCr|`)-&GD1%@~b?@Ah-~C=RFmnb=W#l z^K;w(dSTgHhlcHbBHmEHdOwR&_b(S!w!JdljZeZ5RlYD9#+Ew;mk&qWo#0`?y41P* zU$?0mKo$~D;d_~4dr{N=MMO=cX6^o#Y*n}1;p>Ni)-?k}3z@yoTX?nLyBF9xLbDYdc^TKtC zQyxtt>mOQw$ov-)Qv^4ZL2`*t@q$ZbwQE8L9~|48uJwo9PQ;B=^Tb`C&gnk6yNPv2 zIO;rMsT;D;D#rs=vsqKNfmz~VEF~<7cOOf?3gY@Fhn>kmpQ}smi7m)aW)Y7$Z-?@b zh>7=Z;|=aAU1cFmDW%8nWGVjY0y0ZOa*Dy!UFVG|sdrRy#S?2xMWK5M9oVZ2>106V zh06vYEO8JAM;68XNol_6ipMjIU8_`osT6UDs=Qema1_g(LI3TZ_-z<@CF%;ZygEc| z^qRPzZiJ9)L5XdXquAf(DNCii2`n#Oc}IV;>;;M^nou3Xy*w{_T#)~8ORV%yT(yaD z-0q)I=;^B1u>Y55up~Fr9#2;BoX^^stvpVC_13>i+etcpKZOme#!Za5HQ!^ejzw*V zL^D9%pyFL`{O+_2(b4b&W$t*{mmYOPi3G?wOpXJ%wjfNjJ#j-4C9fRG( zeu&}m)Pr+h|4D6ju76>XDq_!gk4{Cp)(UZWMa`c8GhNJl%cY3BARWYpr{2eSNq-mX zU2VT1s9`ue24N2hhc34q{XzZ~8SUl4I6QNt!DZb1V4GN*f>Y@F5zdR9@m@OVWL~Yk zSo~6Y0VzFW`7EkKC?I(&;Xn)R*dQ}LwWB1Hq{l1WD0Zi7dVYqk4=YtlJaT(&*N(W)Uu zLeDj)`oL4eHxQ4m_!Z=@fC9h#cLI*$ev>B(kHjVpU7ScdLERwa-kIc?;cdn!UbXhz z`5|F?qs&TOBZdO<{_+61@+qS#c!Fg_1GfzbYRLp0tqwZN;Ko}b9vPV)DXfUAu1sO> z5ORITJ6=E)TplvHE+8gQZ!nNciYs1u(F=a3oYiJ>DG&rhH|v6@FIh$eV@7{Ep>}Kb z!}5Hx(l^W3JSV5edyL-Bwt|AQ)4KU$Y%n1U^Z{ICT#ktNzSG7?XgKB9a{D%-3^TFf z015{p+KD5V5ngc8^dSRJolgb*P>f-|EqDW?Ydb3HXV!Ge@zd7STS}fYp?r;qs(T@1 z(|@ZLNbV=GFc&p`ER5hUUT;(!Gr*LiKWfL5Uc2)1hw<@m+Go zN0U!%VQWyUA)f`?)oCw-C_enEySq$yh(U;(sEKD%8dg6T=u;ZrGF7SFRN?xECx6lV zUh+nD^#+{VB4ZE+gf3ZT6=NBOo=1`^D9q3#6@8Q$Nf#TbUW7HF@{Qe3Hm1_C*^t&l zWM*RR8cNroKe?hH$f)WFqgsJ6GdDQmCFa8*l(J4Vq{;|ll*I{Fs>&ELd(z3y5l^bED{N2MV3lPh#Sez@^aJhtU|_#gJI zyyLdJKS3do6jJvQaZj6tt2;(&%sY5~6kPsE?L&$C*Hqv96GO^!ZVwJ-J;a+!8sNFEB-EVF&sphC+zx zY|BpjtqR%Sjonj4wSOUvH)5pS6X^wN+}1~1o!qUf)D1II#d~Sfov(tN71v-WvSuJK zQd4xfzq=r5B~tIUIAgoI!p?k!Z}K_qYq^@OA0Vpy6Z|{Y)l_e}a%ahtWmyBi0m8!e z=q};);?8IE7sW9Bs8EW?J6mq$6m4$W4xKRg)f-GZs>Mw%x##6^t><(jjR#ge>(Upy z7t$}zc#VIlmgQN44lJ6$K8D}%Kl%7Z*dm-^bp4xik+^)CN#i%!Oe9N4H@psjW*hvFCyzu7C9 zTg_cs%=0 && toX=0 && toY0) {\n\t\tvar toId = core.floorIds[index-1], toX = core.getHeroLoc('x'), toY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width, mh = core.floors[toId].height;\n\t\tif (toX>=0 && toX=0 && toY0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\tif (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();", - "bigKey": "(function() {\n\tvar able=false, ids = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.event.id == 'yellowDoor') {\n\t\t\tids.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\table=true;\n\t}\n\treturn able;\n})();", + "bigKey": "(function () {\n\tvar able = false,\n\t\tids = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.event.id == 'yellowDoor') {\n\t\t\tids.push(i);\n\t\t}\n\t}\n\tif (ids.length > 0) {\n\t\tcore.status.event.ui = ids;\n\t\table = true;\n\t}\n\treturn able;\n})();", "poisonWine": "core.hasFlag('poison');", "weakWine": "core.hasFlag('weak');", "curseWine": "core.hasFlag('curse');", @@ -416,5 +419,5 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "yellowJewel": "true", "skill1": "true" }, - "canEquip": {} + "equipCondition": {} } \ No newline at end of file diff --git a/project/maps.js b/project/maps.js index d631d0ba..fc9bd45f 100644 --- a/project/maps.js +++ b/project/maps.js @@ -98,11 +98,10 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "130": {"cls":"npcs","id":"pinkShop"}, "131": {"cls":"npcs","id":"blueShop"}, "132": {"cls":"npcs","id":"princess"}, - "133": {"cls":"npc48","id":"npc0"}, - "134": {"cls":"npc48","id":"npc1"}, - "135": {"cls":"npc48","id":"npc2"}, - "136": {"cls":"npc48","id":"npc3"}, - "137": {"cls":"npc48","id":"npc4"}, + "133": {"cls":"npc48","id":"npc0","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}}, + "134": {"cls":"npc48","id":"npc1","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}}, + "135": {"cls":"npc48","id":"npc2","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}}, + "136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}}, "151": {"cls":"autotile","id":"autotile1","noPass":true}, "152": {"cls":"autotile","id":"autotile2","noPass":true}, "153": {"cls":"autotile","id":"autotile3","noPass":true}, diff --git a/project/plugins.js b/project/plugins.js index d09e9944..63637164 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -84,5 +84,480 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = ctx.globalCompositeOperation = 'source-over'; // 可以在任何地方(如afterXXX或自定义脚本事件)调用函数,方法为 core.plugin.xxx(); } +}, + "itemShop": function () { + // 道具商店相关的插件 + // 可在全塔属性-全局商店中使用「道具商店」事件块进行编辑(如果找不到可以在入口方块中找) + + var shopId = null; // 当前商店ID + var type = 0; // 当前正在选中的类型,0买入1卖出 + var selectItem = 0; // 当前正在选中的道具 + var selectCount = 0; // 当前已经选中的数量 + var page = 0; + var totalPage = 0; + var totalMoney = 0; + var list = []; + + var bigFont = core.ui._buildFont(20, false), + middleFont = core.ui._buildFont(18, false); + + this.drawItemShop = function () { + // 绘制道具商店 + + // Step 1: 背景和固定的几个文字 + core.ui._createUIEvent(); + core.clearMap('uievent'); + core.ui._uievent_drawSelector({ "code": 1 }); + core.ui._uievent_drawSelector({ "code": 2 }); + core.setTextAlign('uievent', 'left'); + core.setTextBaseline('uievent', 'top'); + core.fillRect('uievent', 0, 0, 416, 416, 'black'); + core.ui._uievent_drawBackground({ background: 'winskin.png', x: 0, y: 0, width: 416, height: 56 }); + core.ui._uievent_drawBackground({ background: 'winskin.png', x: 0, y: 56, width: 312, height: 56 }); + core.ui._uievent_drawBackground({ background: 'winskin.png', x: 0, y: 112, width: 312, height: 304 }); + core.ui._uievent_drawBackground({ background: 'winskin.png', x: 312, y: 56, width: 104, height: 56 }); + core.ui._uievent_drawBackground({ background: 'winskin.png', x: 312, y: 112, width: 104, height: 304 }); + core.setFillStyle('uievent', 'white'); + core.setStrokeStyle('uievent', 'white'); + core.fillText("uievent", "购买", 32, 74, 'white', bigFont); + core.fillText("uievent", "卖出", 132, 74); + core.fillText("uievent", "离开", 232, 74); + core.fillText("uievent", "当前金币", 324, 66, null, middleFont); + core.setTextAlign("uievent", "right"); + core.fillText("uievent", core.formatBigNumber(core.status.hero.money), 405, 89); + core.setTextAlign("uievent", "left"); + core.ui._uievent_drawSelector({ + "type": "drawSelector", + "image": "winskin.png", + "code": 2, + "x": 22 + 100 * type, + "y": 66, + "width": 60, + "height": 33 + }); + if (selectItem != null) { + core.setTextAlign('uievent', 'center'); + core.fillText("uievent", type == 0 ? "买入个数" : "卖出个数", 364, 320, null, bigFont); + core.fillText("uievent", "◀ " + selectCount + " ▶", 364, 350); + core.fillText("uievent", "确定", 364, 380); + } + + // Step 2:获得列表并展示 + var choices = core.status.shops[shopId].choices; + list = choices.filter(function (one) { + if (one.condition != null) { + try { if (!core.calValue(one.condition)) return false; } catch (e) {} + } + return (type == 0 && one.money != null) || (type == 1 && one.sell != null); + }); + var per_page = 6; + totalPage = Math.ceil(list.length / per_page); + page = Math.floor((selectItem || 0) / per_page) + 1; + + // 绘制分页 + if (totalPage > 1) { + var half = 156; + core.setTextAlign('uievent', 'center'); + core.fillText('uievent', page + " / " + totalPage, half, 388, null, middleFont); + if (page > 1) core.fillText('uievent', '上一页', half - 80, 388); + if (page < totalPage) core.fillText('uievent', '下一页', half + 80, 388); + } + core.setTextAlign('uievent', 'left'); + + // 绘制每一项 + var start = (page - 1) * per_page; + for (var i = 0; i < per_page; ++i) { + var curr = start + i; + if (curr >= list.length) break; + var item = list[curr]; + core.drawIcon('uievent', item.id, 10, 125 + i * 40); + core.setTextAlign('uievent', 'left'); + core.fillText('uievent', core.material.items[item.id].name, 50, 132 + i * 40, null, bigFont); + core.setTextAlign('uievent', 'right'); + core.fillText('uievent', (type == 0 ? core.calValue(item.money) : core.calValue(item.sell)) + "金币/个", 300, 133 + i * 40, null, middleFont); + core.setTextAlign("uievent", "left"); + if (curr == selectItem) { + // 绘制描述,文字自动放缩 + var text = core.material.items[item.id].text || "该道具暂无描述"; + try { text = core.replaceText(text); } catch (e) {} + for (var fontSize = 20; fontSize >= 8; fontSize -= 2) { + var config = { left: 10, fontSize: fontSize, maxWidth: 403, lineHeight: 1.4 }; + var height = core.getTextContentHeight(text, config); + if (height <= 50) { + config.top = (56 - height) / 2; + core.drawTextContent("uievent", text, config); + break; + } + } + core.ui._uievent_drawSelector({ "type": "drawSelector", "image": "winskin.png", "code": 1, "x": 8, "y": 120 + i * 40, "width": 295, "height": 40 }); + if (type == 0 && item.number != null) { + core.fillText("uievent", "存货", 324, 132, null, bigFont); + core.setTextAlign("uievent", "right"); + core.fillText("uievent", item.number, 406, 132, null, null, 40); + } else if (type == 1) { + core.fillText("uievent", "数量", 324, 132, null, bigFont); + core.setTextAlign("uievent", "right"); + core.fillText("uievent", core.itemCount(item.id), 406, 132, null, null, 40); + } + core.setTextAlign("uievent", "left"); + core.fillText("uievent", "预计金额", 324, 250); + core.setTextAlign("uievent", "right"); + totalMoney = selectCount * (type == 0 ? core.calValue(item.money) : core.calValue(item.sell)); + core.fillText("uievent", core.formatBigNumber(totalMoney), 405, 280); + + core.setTextAlign("uievent", "left"); + core.fillText("uievent", type == 0 ? "已购次数" : "已卖次数", 324, 170); + core.setTextAlign("uievent", "right"); + core.fillText("uievent", (type == 0 ? item.money_count : item.sell_count) || 0, 405, 200); + } + } + + core.setTextAlign('uievent', 'left'); + core.setTextBaseline('uievent', 'alphabetic'); + } + + var _add = function (item, delta) { + if (item == null) return; + selectCount = core.clamp( + selectCount + delta, 0, + Math.min(type == 0 ? Math.floor(core.status.hero.money / core.calValue(item.money)) : core.itemCount(item.id), + type == 0 && item.number != null ? item.number : Number.MAX_SAFE_INTEGER) + ); + } + + var _confirm = function (item) { + if (item == null || selectCount == 0) return; + if (type == 0) { + core.status.hero.money -= totalMoney; + core.getItem(item.id, selectCount); + if (item.number != null) item.number -= selectCount; + item.money_count = (item.money_count || 0) + selectCount; + } else { + core.status.hero.money += totalMoney; + core.removeItem(item.id, selectCount); + core.drawTip("成功卖出" + selectCount + "个" + core.material.items[item.id].name, item.id); + if (item.number != null) item.number += selectCount; + item.sell_count = (item.sell_count || 0) + selectCount; + } + selectCount = 0; + } + + this._performItemShopKeyBoard = function (keycode) { + var item = list[selectItem] || null; + // 键盘操作 + switch (keycode) { + case 38: // up + if (selectItem == null) break; + if (selectItem == 0) selectItem = null; + else selectItem--; + selectCount = 0; + break; + case 37: // left + if (selectItem == null) { + if (type > 0) type--; + break; + } + _add(item, -1); + break; + case 39: // right + if (selectItem == null) { + if (type < 2) type++; + break; + } + _add(item, 1); + break; + case 40: // down + if (selectItem == null) { + if (list.length > 0) selectItem = 0; + break; + } + if (list.length == 0) break; + selectItem = Math.min(selectItem + 1, list.length - 1); + selectCount = 0; + break; + case 13: + case 32: // Enter/Space + if (selectItem == null) { + if (type == 2) + core.insertAction({ "type": "break" }); + else if (list.length > 0) + selectItem = 0; + break; + } + _confirm(item); + break; + case 27: // ESC + if (selectItem == null) { + core.insertAction({ "type": "break" }); + break; + } + selectItem = null; + break; + } + } + + this._performItemShopClick = function (px, py) { + var item = list[selectItem] || null; + // 鼠标操作 + if (px >= 22 && px <= 82 && py >= 71 && py <= 102) { + // 买 + if (type != 0) { + type = 0; + selectItem = null; + selectCount = 0; + } + return; + } + if (px >= 122 && px <= 182 && py >= 71 && py <= 102) { + // 卖 + if (type != 1) { + type = 1; + selectItem = null; + selectCount = 0; + } + return; + } + if (px >= 222 && px <= 282 && py >= 71 && py <= 102) // 离开 + return core.insertAction({ "type": "break" }); + // ◀,▶ + if (px >= 318 && px <= 341 && py >= 348 && py <= 376) + return _add(item, -1); + if (px >= 388 && px <= 416 && py >= 348 && py <= 376) + return _add(item, 1); + // 确定 + if (px >= 341 && px <= 387 && py >= 380 && py <= 407) + return _confirm(item); + + // 上一页/下一页 + if (px >= 45 && px <= 105 && py >= 388) { + if (page > 1) selectItem -= 6; + return; + } + if (px >= 208 && px <= 268 && py >= 388) { + if (page < totalPage) selectItem = Math.min(selectItem + 6, list.length - 1); + return; + } + + // 实际区域 + if (px >= 9 && px <= 300 && py >= 120 && py < 360) { + if (list.length == 0) return; + var index = parseInt((py - 120) / 40); + var newItem = 6 * (page - 1) + index; + if (newItem >= list.length) newItem = list.length - 1; + if (newItem != selectItem) { + selectItem = newItem; + selectCount = 0; + } + return; + } + } + + this.performItemShopAction = function () { + if (flags.type == 0) return this._performItemShopKeyBoard(flags.keycode); + else return this._performItemShopClick(flags.px, flags.py); + } + + this.openItemShop = function (itemShopId) { + shopId = itemShopId; + type = 0; + page = 0; + selectItem = null; + selectCount = 0; + core.insertAction([{ + "type": "while", + "condition": "true", + "data": [ + { "type": "function", "function": "function () { core.drawItemShop(); }" }, + { "type": "wait" }, + { "type": "function", "function": "function() { core.performItemShopAction(); }" } + ] + }, + { "type": "function", "function": "function () { " + + "core.deleteCanvas('uievent'); " + + "core.ui._uievent_drawSelector({ \"code\": 1 }); " + + "core.ui._uievent_drawSelector({ \"code\": 2 }); " + + "}" } + ]); + } + + // Write item number to save + core.control.saveData = function () { + var data = this.controldata.saveData(); + for (var shopId in core.status.shops) { + if (core.status.shops[shopId].item) { + data.shops[shopId].choices = core.status.shops[shopId].choices.map(function (t) { + return { + number: t.number, + money_count: t.money_count || 0, + sell_count: t.sell_count || 0 + } + }); + } + } + return data; + } + + core.control.loadData = function (data, callback) { + this.controldata.loadData(data, callback); + for (var shopId in data.shops) { + if (data.shops[shopId].choices) { + for (var i = 0; i < data.shops[shopId].choices.length; ++i) { + core.status.shops[shopId].choices[i].number = data.shops[shopId].choices[i].number; + core.status.shops[shopId].choices[i].money_count = data.shops[shopId].choices[i].money_count; + core.status.shops[shopId].choices[i].sell_count = data.shops[shopId].choices[i].sell_count; + } + } + } + } + +}, + "smoothCamera": function () { + + // 是否启用本插件,默认不启用 + this.__enableSmoothCamera = false; + if (!this.__enableSmoothCamera) return; + + this.Camera = function () { + + // 下面这个变量决定本插件的开关 + // 你可以在游戏中使用core.setFlag('smoothCamera',false)来关闭本插件的功能 + // 同时也可以core.setFlag('smoothCamera',true)重新开启 + // 此项默认为true + // + this.__switchName = 'smoothCamera'; + + // 初始化成员变量 + this._cameraNeedRefresh = true; + this._nowOffsetX = 0; + this._nowOffsetY = 0; + this._targetOffsetX = 0; + this._targetOffsetY = 0; + this._currentFloorId = null; + + // 重置镜头,在楼层变更时使用 + this.resetCamera = function () { + this._targetOffsetX = core.bigmap.offsetX; + this._targetOffsetY = core.bigmap.offsetY; + this._nowOffsetX = this._targetOffsetX; + this._nowOffsetY = this._targetOffsetY; + this._cameraNeedRefresh = true; + }; + + // 设置焦点坐标,目前没有用 + this.setTarget = function (x, y) { + this._targetOffsetX = x; + this._targetOffsetY = y; + }; + + // 请求镜头更新 + this.requestCameraUpdate = function () { + this._cameraNeedRefresh = true; + }; + + // 更新焦点坐标,目前仅根据大地图偏移决定 + this.updateTargetPosition = function () { + this._targetOffsetX = core.bigmap.offsetX; + this._targetOffsetY = core.bigmap.offsetY; + }; + + // 更新额外的刷新条件,即镜头未指向焦点时 + this.updateRefreshFlag = function () { + if (this._nowOffsetX != this._targetOffsetX || this._nowOffsetY != this._targetOffsetY) { + this._cameraNeedRefresh = true; + } + }; + + // 判断是否禁止了弹性滚动 + this.canDirectMove = function () { + return !core.getFlag(this.__switchName, true); + }; + + // 更新镜头坐标 + this.updateCameraPosition = function () { + if (this._cameraNeedRefresh) { + this._cameraNeedRefresh = false; + var disX = this._targetOffsetX - this._nowOffsetX; + var disY = this._targetOffsetY - this._nowOffsetY; + if (Math.abs(disX) <= 2 && Math.abs(disY) <= 2 || this.canDirectMove()) { + this._nowOffsetX = this._targetOffsetX; + this._nowOffsetY = this._targetOffsetY; + } else { + this._nowOffsetX += disX / 10; + this._nowOffsetY += disY / 10; + } + var x = -Math.floor(this._nowOffsetX); + var y = -Math.floor(this._nowOffsetY); + core.bigmap.canvas.forEach(function (cn) { + core.control.setGameCanvasTranslate(cn, x, y); + }); + core.relocateCanvas('route', core.status.automaticRoute.offsetX + x, core.status.automaticRoute.offsetY + y); + core.setGameCanvasTranslate('hero', x + this._targetOffsetX, y + this._targetOffsetY); + } + }; + + // 更新逻辑主体 + this.update = function () { + this.updateTargetPosition(); + this.updateRefreshFlag(); + this.updateCameraPosition(); + }; + }; + + // 其实只注释了最后一行,只能这样了 + control.drawHero = function (status, offset) { + if (!core.isPlaying() || !core.status.floorId || core.status.gameOver) return; + var x = core.getHeroLoc('x'), + y = core.getHeroLoc('y'), + direction = core.getHeroLoc('direction'); + status = status || 'stop'; + offset = offset || 0; + var way = core.utils.scan[direction]; + var dx = way.x, + dy = way.y, + offsetX = dx * offset, + offsetY = dy * offset; + core.bigmap.offsetX = core.clamp((x - core.__HALF_SIZE__) * 32 + offsetX, 0, 32 * core.bigmap.width - core.__PIXELS__); + core.bigmap.offsetY = core.clamp((y - core.__HALF_SIZE__) * 32 + offsetY, 0, 32 * core.bigmap.height - core.__PIXELS__); + core.clearAutomaticRouteNode(x + dx, y + dy); + core.clearMap('hero'); + + if (!core.hasFlag('hideHero')) { + this._drawHero_getDrawObjs(direction, x, y, status, offset).forEach(function (block) { + core.drawImage('hero', block.img, block.heroIcon[block.status] * block.width, + block.heroIcon.loc * block.height, block.width, block.height, + block.posx + (32 - block.width) / 2, block.posy + 32 - block.height, block.width, block.height); + }); + } + + core.control.updateViewport(); + //core.setGameCanvasTranslate('hero', 0, 0); + }; + + // 复写转发 + core.drawHero = function (status, offset) { + return core.control.drawHero(status, offset); + }; + + // 创建摄像机对象 + this.camera = new this.Camera(); + + // 帧事件 更新摄像机 + this.updateCameraEx = function () { + this.camera.update(); + }; + + // 代理原本的镜头事件 + control.updateViewport = function () { + core.plugin.camera.requestCameraUpdate(); + }; + + // 更变楼层的行为追加,重置镜头 + events.prototype.changingFloor = function (floorId, heroLoc, fromLoad) { + this.eventdata.changingFloor(floorId, heroLoc, fromLoad); + core.plugin.camera.resetCamera(); + }; + + // 注册帧事件 + core.registerAnimationFrame('smoothCameraFlash', true, this.updateCameraEx.bind(this)); } } \ No newline at end of file diff --git a/server.py b/server.py new file mode 100644 index 00000000..7302d2ad --- /dev/null +++ b/server.py @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- + +# HTML5魔塔样板,启动服务Python版 +# 需要安装Python环境,并 pip install flask 安装Flask库 +# 运行方式:python server.py 或 python3 server.py + +import sys +import json +import os +import base64 + +isPy3 = sys.version_info > (3, 0) + +def p(s): # s is unicode in py2 and str in py3 + if isPy3: print(s) + else: print(s.decode('utf-8')) +p("") + +try: + from flask import Flask, request, Response, abort + import mimetypes + import socket +except: + p("需要flask才可使用本服务。\n安装方式:%s install flask" % ("pip3" if isPy3 else "pip")) + exit(1) + +app = Flask(__name__, static_folder='') +app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0 + +@app.after_request +def add_header(r): + r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" + r.headers["Pragma"] = "no-cache" + r.headers["Expires"] = "0" + r.headers['Cache-Control'] = 'public, max-age=0' + return r + +def is_sub(filename): + try: + return (os.path.realpath(filename) + os.sep).startswith(os.path.realpath(".") + os.sep) + except: + return True + +def get_mimetype(path): + return mimetypes.guess_type(path)[0] or 'application/octet-stream' + +def get_file(path): + if not os.path.exists(path): + abort(404) + return None + if not is_sub(path): + abort(403) + return None + with open(path, 'rb') as f: + content = f.read() # str in py2 and bytes in py3 + return content + +@app.route('/', methods=['GET']) +def root(): + return static_file('index.html') + +@app.route('/', methods=['GET']) +def static_file(path): + return Response(get_file(path), mimetype = get_mimetype(path)) + +def process_request(): + data = request.get_data() # str in py2 and bytes in py3 + if isPy3: data = str(data, encoding = 'utf-8') + params = data.split("&") + d = {} + for one in params: + index = one.find("=") + if index >= 0: + d[one[:index]] = one[index+1:] + return d # str in py2 & py3 + +@app.route('/readFile', methods=['POST']) +def readFile(): + data = process_request() + tp = data.get('type', 'base64') + filename = data.get('name', None) + content = get_file(filename) + return content if tp == 'utf8' or content is None else base64.b64encode(content) + +@app.route('/writeFile', methods=['POST']) +def writeFile(): + data = process_request() + tp = data.get('type', 'base64') + filename = data.get('name', None) + if not is_sub(filename): + abort(403) + return + value = data.get('value', '') + if isPy3: value = value.encode('utf-8') + if tp == 'base64': value = base64.b64decode(value) + with open(filename, 'wb') as f: + f.write(value) # str in py2 and bytes in py3 + return str(len(value)) + +@app.route('/writeMultiFiles', methods=['POST']) +def writeMultiFiles(): + data = process_request() + filenames = data.get('name', '').split(';') + values = data.get('value', '').split(';') + l = 0 + for i in range(len(filenames)): + if i >= len(values): + break + filename = filenames[i] + value = values[i].encode('utf-8') if isPy3 else values[i] + value = base64.b64decode(value) + if not is_sub(filename): + abort(403) + return + with open(filename, 'wb') as f: + f.write(value) + l += len(value) + return str(l) + +@app.route('/listFile', methods=['POST']) +def listFile(): + data = process_request() + filename = data.get('name', None) + if filename is None or not os.path.isdir(filename): + abort(404) + return + if not is_sub(filename): + abort(403) + return + files = [f + for f in os.listdir(filename) + if os.path.isfile(os.path.join(filename, f))] + return "[" + ", ".join(['"'+f+'"' for f in files]) + "]" + +def port_used(port): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + result = True + try: + sock.bind(("0.0.0.0", port)) + result = False + except: + pass + sock.close() + return result + +if __name__ == '__main__': + port = 1055 + while port_used(port): + port += 1 + if port > 1055: + p("默认的1055端口已被占用,自动选择%d端口。请注意,不同端口下的存档等信息都是不共用的。\n" % port) + p("服务已启动...\n游戏地址:http://127.0.0.1:%d/\n编辑器地址:http://127.0.0.1:%d/editor.html\n" % (port, port)) + app.run(host = '0.0.0.0', port = port, debug = False) diff --git a/styles.css b/styles.css index a1d6649e..9fe80446 100644 --- a/styles.css +++ b/styles.css @@ -117,16 +117,25 @@ } #startButtonGroup { - width: 100%; + width: auto; position: absolute; text-align: center; font-size: 1.4rem; - background-color: #000; - opacity: 0.85; display: none; z-index: 310; bottom: 0; - margin-bottom: 7%; + margin-bottom: 5%; + left: 50%; + transform: translateX(-50%); + padding: 15px 25px; + min-width: 20%; + /* default value */ + background-color: #32369F; + opacity: 0.85; + color: #FFFFFF; + border: #FFFFFF 2px solid; + caret-color: #FFD700; + border-radius: 10px; } #startButtons { @@ -139,15 +148,19 @@ .startButton { width: 100%; - margin: 20px 0; - color: #fff; + margin: 0; font-weight: bold; display: block; cursor: pointer; + padding: 4px 0; + border-color: transparent; + border-width: 2px; + border-style: solid; + border-radius: 6px; } -.startButton:hover { - color: #ff0000; +.onChoiceAnimate { + animation: onChoice 2s ease-in-out 0s infinite normal none running; } #floorMsgGroup { @@ -334,11 +347,10 @@ p#name { position: fixed; top: 50%; left: 50%; - transform: translate(-50%, -60%); + transform: translate(-50%, -55%); background: white; width: 250px; min-height: 50px; - max-height: 250px; } #inputMessage { @@ -365,4 +377,107 @@ p#name { #inputNo { float:right; margin-right: 10%; -} \ No newline at end of file +} + +#_selector, ._uievent_selector { + animation: selector 2s ease-in-out 0s infinite normal none running; +} + +@-webkit-keyframes selector { + 0% { opacity: 0.95; } + 50% { opacity: 0.55; } + 100% { opacity: 0.95; } +} + +@keyframes selector { + 0% { opacity: 0.95; } + 50% { opacity: 0.55; } + 100% { opacity: 0.95; } +} + +#next { + width: 5px; + height: 5px; + display: none; + position: absolute; + transform: rotate(45deg); + border-bottom-width: 4px; + border-bottom-style: solid; + border-right-width: 4px; + border-right-style: solid; + -webkit-animation: next .5s ease-in-out alternate infinite; + animation: next .5s ease-in-out alternate infinite; + left: 0; + top: 0; + opacity: 0.7; + z-index: 169; +} + +@-webkit-keyframes next { + 100% { + transform: rotate(45deg) translate(-3px, -3px); + } +} +@keyframes next { + 100% { + transform: rotate(45deg) translate(-3px, -3px); + } +} + +#startImageBackgroundDiv { + display: none; + width: 100%; + height: 100%; + position: fixed; + z-index: 10000; +} + +#startImageDiv { + width: 100%; + height: 100%; + position: fixed; + background: black; + opacity: 1; +} + +#startImageLogo { + opacity: 0; + max-width: 60%; + max-height: 60%; + position: fixed; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); +} + +.startImageAnimation { + -webkit-animation: startImage 4s ease-in-out 1s alternate 1; + animation: startImage 4s ease-in-out 1s alternate 1; +} + +@-webkit-keyframes startImage { + 0% { opacity: 0; } + 60% { opacity: 1; } + 100% { opacity: 0; } +} + +@keyframes startImage { + 0% { opacity: 0; } + 60% { opacity: 1; } + 100% { opacity: 0; } +} + +.startImageDivAnimation { + -webkit-animation: startImageDivDisappear 2s ease-in-out 5s alternate 1; + animation: startImageDivDisappear 2s ease-in-out 5s alternate 1; +} + +@-webkit-keyframes startImageDivDisappear { + 0% { opacity: 1 } + 100% { opacity: 0 } +} + +@keyframes startImageDivDisappear { + 0% { opacity: 1 } + 100% { opacity: 0 } +} diff --git a/常用工具/ICSharpCode.SharpZipLib.dll b/常用工具/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000000000000000000000000000000000000..bcdb00ea382aca18696459b3f09777b0c49e906e GIT binary patch literal 188416 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�NF0o6z4O{P339nl|A8#>3T&EHb~m_5RR#}>sC+uDis~l2TF9cimsCA z0l8>g!uLyj*ryP}UcsmV2J1lDI&9kP@@(f~UA3KEjO}3OfTT&QZxNGge+9?+a>WuG ztw0>`b~}{|Uv@&IP}Wmnt;)$TR#_iG&M$XjSucm$%y#_)ui$ZcBg~aBCg))Yso}tAdbXF+s zaC^Aj>N*H0SL5Au7{?6m#r4IhsmWn1($eRF`Hi@MdN9(cQ0fqPkJT~buYaDxDucNi zSZrbK$y&qmJ1J+XlGlO427l+9%nH0R7P=tPtUlgrkop}W{Z2O~Gln~fnJ{ic=Q%Uj4qVF| zJX*8_(h_^p-S}AN56lej4n}5161>or{NP@TQQx6;VS#UCE+v(EsOvJMb}C6z?YtM- z8664q{gyStEt?3^Y3a)lYS1jaki+SURs)2t8^;k=W<*+H>5e~W zu$duWDIRqc#st9_%nTq9=4BmZ;@lZPr@@KQh8~s^oL4sm$-vn4Q6T=%>gTkhw%`&;fykrzBNXjc1TO>AJ zlG;9D;jB)q@eY_e;%#KbcdGPBjQ84YnOLzT`$D{m#F~P_tOQyi$IZSe3nF;zJ%`2H zELOsWvp{`#f}<-!C5}QXYH?cG^x}1Pe5GO^8u>D{Es_RQ5_#_;j7q-5%ifx)4XrU8 zh$)t+g7RyF#a7EFX7QGJC`7zb(oR^ib;1%REZH)lLiAQlZNT-{d^P!=wLWAPM)G}) zeIm_LRJUI{-_B;FPC#4FRTCo!$_u%+Mh|Dlz&Pb{?25T*3^H9~kLybOZ(^@?*Tl6N z^ndEL)OLW_UTP$}n-DK)SZ;Y)T8%pyhz(KX88x1yM^qzZ5Q=*<3zxou8!C|FmUVa` zo|+CCA=`ubl~G~)Ips2B{?(4-I8a9HqpCtpdko{cCSY=_VY%H(c`BZl_24pFyDxjdckOG4L218KyV`omXSfFlck`Yaew8CEl(@U zurQ9_~hA=*BeTekqOrQvW&nmu@QG~m8)*KbSpIljH`p*79L;# zbzlNvcEPM``1I(XL2vXubQC`ZsIt^yz*R)p_{YHISn?ld)WkwYF#twQ%`uAaGQxkh z;^?9BIwRpiq%dGl2p(k0?GS-Cbp24^-=`!GzqY{tV}XCaetDb+bAC)%L`v`x4~&D2 zxki`9tC#n$><-@WPfK5c25B4(d8S88)e5!<&NkY215Aup0*`YGsSxKDe94otdC^RtDqAOkmU)okG^Ql^)Oy7mO7 zQ}xbHJp}Ff4eP8Xl`6Z`K|mqzg#q{yi9tKp)vO~}v71zm*|FS{IpT6Yfki$i3VwXF zU?7=-Kg9@CH(H0tt*UF+7q@^s`TCxQbd8X=Ey{~3mI^`pfFR61NP%cXXr#G*rN5zU z@oHIb$Xzo7P6dwk(XDjj>;&8act^Om%8m2DPC|Q=DPp(@^w)UF%@?`Tjg7BR*Aeg+_tyoMjC5aenWJOMTwmBH z%~-qUDI7TV+mBnDW|H3|yc<_r7L1W<{R5RISOpE(_`Et&?*%;4XZK z!%%5LrG;tmE`2*q0bK9$Lh!oqF%HJ1Z$o*QLB^SII_gcE^Y2JQ$F}0q*D~s7lKsoL zZD)DYFJvik+fH`lFC>$=joYe#p1BU`Fq}&Bx-!=@RN~A?6NfT4Gt+ICCs99B^Iu5D z;(jJalJGN8B)kdpBV%Ss>|1%%L4Xb5NL+4(5%hzC(wSj^qg zqk+J?D3tsLzdMSr5^)1D=qkg_LstW?2zSjRid){RB07_cAGQfrJtlSZ-i*h67b|`U zQcS>BJ6AZZIJyqIqpx*HbUqLe;tNQ8$yAEyavdUtDGh+w16RMe6^plIJR7?bS00hK zS6R0&LZ-MVky-%cdRXx}Mzfv$u%jFTmw!}SoAQcd>sEI*4AfJXqi%ZY3i(|rzgOWm zijQq^;EduUJH`gDv%wX81HOWHJq~iz@1s85$Gz|d4VOI8#+I+lucv+w)PSD42+pyP zI1TrZ*p(Vuup7oMkXnTp_$l+LtCgP}DuquF5zZczx)OfPt3*aM#RyDU99|KFkxSwA zWE;k3jOa#~NAG=pPqYh8&}la#w?d930PB&4p^EKB>NrBsmRJazv=Z%yFg_XJlh-`P zUc_2@Fd!QOU^B2}`nw(>CqhmY@+ygoP5@r&2GHsblu-z71nmutUXgJXN*xcBh5>y* z!vG4kiMTTn^CdD4NcAwSoeToHzQu1_UMmSq2joQYSumnIzF!VL{CI%a%Q7ItcxLj#gwmIntfmQ^d%?RB0e?z&HIBmEhDuClKNs}}CW-oEv)Nwu3Dqe%w`1p2 z-GndA>?F(hc4G9JE#7U)sDJTpQ>9iZ_t0znRuaCWvJiPS4%MP*xOE$9e4TDIq1L$@ ze#Labb< zdtB5ncx@T1Lb!t0Lvv6~0cX{}4bXZ}C{T{x#G1k{O*%q-*Zf_2D7-5%ewd5VR1V&8D27s#1tk&pgoP+#sp^(>dW=5?ih>u?ZEo= zne6CROKInR;8N!-{HVJrT_+K?Jwi*tWL0l85($3Xk>mA$&alPT1I78Mlceehwwf|UA|u^G)nQv z>~*H&BpT*S7Ov<>;H<)#00P0)KZj5&7`WsrRLUA+9x|(C8)fs`F^~SQ@)N>@Bj|RD zC(KxJ&9KB3OBC*=Fv2d_o}W17UF16!mfe#tTd@u&l!Wbm+Of!QRSrzC><%3;Ty?~; z`#iVJ=l0CS3nTb7hT1fFkFvy}P)ltKTt*NsF6z&<)Ka*^wrU?OO-Te3U(Qj6GXzqx zrXiipLB}x&iYZHA;)^Z5k3eA&$mU75Dblkq6oqsuM zl~GEGLEkn7Pn_~iO!lW-z84nc%LcdNLkr2YB@|7-a*SlO z8+BFfQBYp}*DBCZsYPMb#30M|mr(>JE&A*2eh)hehdxoy6-GVZC+Y=;c*dG@Qyg*Q)K$VVKXpbqea+GG5Cb_fA7%(O zVUy%g@H)-{6nqm%^dILq`E?%?a6v~`CKeDg*1Q2ba>9P-AJ;=NQ7fPnez6`8EZ!p&+$h7FgH z4Od08$r?B5Vqi%<3EFfc#WqsJHyox%HlcH-?qN)L$JFC=Q*2V195z&|KmiEHB|*6_ z+}vd83M>WjoV!nQ#vXBsyo`C9}+EdTV z0#5!5t2Cq0Ej)_3^38yE__L?LVXx3^Zfeol0#Oob%+qO{g#W0I=u!$b1&rv=w;e5D zM1R3(v@GXI-+OQ=x<-aURKuNHkuXqA-x{ zm(2DEy)mG5E(41)5=NcGMf_KcXC=i0z+bZf@xX|DF|r3?q-!d4ANx_?p%n8+oxN%u zWQLG{ON%nT34_v?%pTHX>UJ z+t5yrLs-6^D7E4ioXExAsQD!&JTbd$%Z*8C=AO8+}Z?8@$JxBuSH)3P9gdDcyvJ+ zhirvJyj&2ggv8gFQhWe}3jf6MY}BI+!yhO3ahwjq z?o|wcQhbJ}zv!h9>k($Gs{5GTcbU8N*p7&wz|v_ZMG z$+XV?pfkSElxz+GsL8;9ueJJ!X1{zBFKGEI3Tvysvv1zi=v$Iyafer^TJ?*_c|490 zU`>wpPjY&zZ?%7(_GTDmvXs9ogfh=0@*K_n*@sHJmBYuc2(fB-xfrYzEt)?DYK*pU zi+f60zyf$d7)K15u+}8LiL3y; znAv%eod~U+9m>>ruZZ?Nv!6q@lx5cA>#qX2{bdlyJB-@{cN}m9iF0pmOlxWrdU9JA z3iA0jcS|$$Cua!?aH#mlU)=$W> z`Pr{vWr~WRbg{j$2;j_5)B#vd5~x0po;%(lpa}BM#Sdbjsq-5O%y#heh^Jr;-ZG-8 zbEi-isj2hK0{;s+Kj-{asNZ<-!#+bH=O^|?X0%`7MO6cl9Qwt2Q+$E5QDCsI7Un%(`LL+?04~XFppEpM*n1 zJz}!UMc_hHS%y(Ot*4TD@L`F?Sgzr9zzPJ5wB=QnKGP}42Htz__H-ouP7jWn4qu8I zYiY7Qbp{%M*6YTq&dLhMG42ZvMMj+y;Ek>V50oLxJr}z-t|fD^V}mz;##?drQOEZe z>>>b4O8HV0_HfeZH+l{(y1}?acH)9e zMqD<$P`ZQ?#QCQKVv>WNNN5&C0wen{8^X&r9*!EL&zTVigh_~{HXiK8Qc!VThcAGp z&z{OF=LdMbppL3w9SmMMrK`X<`b2EJ~@W6VE+UGcn&0Ks; zJ3~BvWQA}ebs9*<%LNtK&Ln_VWgf%7hERyX%I`MBDCJH)3Vf)usb~}1ifMHSZ#1{e z6f%^pvVdEL|M0%8r$lJOmP%rs%*dd#>k2exAhw6*#V6x&fw-du`*L$*I=pJD6e3XG z>hHXmh3tz07kYr{%Fkg_S0aNte09Usf!FFoz&cv)+Pb>K&jFupLXK?3$(}9w5$mvH zPuyngzIN=SZN@g)u`NwQl&_)MhKMO<%d)gIC8cpY&FET+8VP?r4S2CE8SRnrRBUmv z{y5}9R3oLM`2-JRgkrJ6PF>Fo$jS`|V`CbT(x0ho`N5CC&g@43S@PBH5iCLj$^AJ3g6*582%VKEaiA8{NqKAyR&i(p@r;9D^g<> z)$2HMs&=VAl(7L?(y^P!s}L>Si^E(;+^reWe}FPurPSklNXrnUOKS;S;T)E_>XeRB z8}*C_@t*Sul%@Cnd{H<$VrG4CSTe z2X?`}MJY2MD#g}G(Ndy(pop z9CX#PZx$Tj%$?sv9Otw*LMHaGWgEQyxtb z=jy=pgba#DJ7)slW$P<~3aFKfxQ1CSnSeu9 z$!tIe$B3#xYCf=)807e^GPOA_S7lso-226*E;Af{KDfjT^Udj!LNFo6>mqBVR9Bne zx?Fr0;^8>1uJUXiysdIQ%lKnqm17h0%&mrWil8Li%i%K!yXhn~m?s zFegspc|uFmwc>T?RYXw<6clgnXJqPX>M=_tfDF1FSAxr2(*Vfg6a`D>$}1{Jt^z1p zjNDj+FT)YLaZu+b3Zw@oQ5S-9gt^-!Bf0ftwLGAuO95;cin`IGvIGBAVI)%>RL`(- zu>jB*BO&++RK#ZQqt}z8cK_*u+YhwMg&kRxH?U_oeJ+0t;w#)}!Kn{*_e=#bjfc*n zUu>zEjtl2)dI(SIhMJnIxix0>wSw8(QJ$ZfK1RMWoiv6k=TW_oFv1H7i|;(e|bZN zZ^CGTAIm;E9pMOIoHw`~H=#}V2dPx;&EFB-gxH*BeOrfU=@Ph&rIOSijg#%;zCyRm3&EreGvk=<$70P&gzZ`ZBNn$u~qV3Ez31Wpww#sWk3=5@3aKd4ujlw~j} zhCYII-We{!*H^a61uwB>j(D|tEnlQ=wcIE9lGkI{{)%S3tu`PudxU1ZfuWFQ7UWE- zjC_KiC;2U+8Td{*$#0&lJ6kY%k`kLB6{D-wpdt#N*d#WTXJJK(?TX-pp(Gc(`wG+t zZ-cj5Ud5?bOcfK56t&*I*yc4A68&gsPQDLob}MR<}~GlL9a1_oEvKrTeslquP9 zC#Cu-SF72spIh|}6EsnN`PB)Zl32mU5qc>`jbPF=YB`ZzRv;b6m>#%JsZ$jw)0^>) zmkOyuC4O6Bi9s6-5CG;M>{yJI9!QU2D=IBr7|U+QSa<#ko0eww>Z`DlU9AF?wq+Qh zNg4A)Ix#}Yj;V9&PqPaqXlAA$jh>Vw(k7am)sXt@(Va!+tb`kz45Q(fV+hP0yhyV; zs%jW+39OvaR)2M_a)b<=x@A$}zfV56USf*i?70 z-^8gZD;kN_s_9cZe8rcvz{FXq^W>Y#%!)fP$9dG%sPX7~L0$YVcU*T#CZ zD)sBVaM?b6?RVRnM{j%5tVn0RxD~Z5$4=DB=QQwTHO#)DO!Kcib)jmlS<&h9`t6?) z!5Uiv^^9=CshDL*Rd6S#+=}vY7H{X+K8~fjV+!iUKQ({U@qL!+(jsU!T>sU>UXWC9 zgRAQjVK*x$60uTh3*SxgoUiigb8!gSqM%}`Zgwjl-Aa-P$ z=t@4R^N5{hMyY8`f~Btn@UgsnU?v05WK4$@cWs&(4QQAAFriT4aKHvk*Cak%(~9{Q ziA^nIdb#%}c~4b&tJkpeid+3fDhaM7;|N!-i4-Xi#?%o+`s|l^l#Zb&y(x&f34M0r z)R9aI+6ki}ffVSe*@YzVTBy>68?i#d{)WlB{;Xs86wD3G>ipb5fTcTQU&s;Rm$0!~ zV#c9lXa>}C!s)4uYnAwbPWAM5L=hX(>NH$QXcft$taXCoNkbF3F3o=- zuxAaN+J?6(!J0}?1+EPA0Lr@q@?Au$<>Rb?4j)Z(vdXM_T#E!Go25u#%X3Qsvv}i# z@h0#774XQ!C%!ggUS%_>Mx=H4`~2hrsLif8lE^eGehv1(2)hugV#^BH*iIyHhT~kH z2TLQqNJE|oTt56Go(qp*`!NaTL|Edx;lc_be@vT&XWeeV_z)+H$NY#J!BdFmU_Oi_ z5Pu97J}@Z5yxRAn?l}iA{t1U7KY&d#E9>4J)y8c`SS9ebrcbiB8N2r=1mkY8{qpNQ z3&Ee}zCT!0u{pQh(>JC zjm9P1SJb5ZZH{q;N04QbkRPWCN&NRlHt=#9Yvs&H<%|q#M++)ll^td#e1{X~srFADU6Fq*!lfn7is_MAF+FNlERB#RgY5}ubS_vRa}o6YXa@py7%zx` z*@EDyPcO7=w80e$jFF46b}LaXK!H7XrVyk$k(DAZ)d||zvH{7^BWYmqNCFMcbmdH< zQ;|6Y4rWr&u#^vcK*_!w&@Eq;lW#v!P~4XK##4k{F|i5iLO3BsaTFn2c;(EP%dv$; z(49h;CL8g9Ue5W?Lx+^M-PXXqh+RwX&EVh_uGg|dA#k_^*o_c4LIUhO2pk4y5qpf@ ztK@MMG#^@tqUke4G^uv>$FmHN{aq?D5+A3-Z#=H0r3Tkb>NxVXfccuV z;P3~KT_NU}8wBt#GCO{Y%wosmOI0YdVNhQ>L>`j%yfJm6NQt!nzfJa*C86O9T3oZ4 zmLa3;x%Wm?fbF7c75T?c*oyxhD-}HoVYc?j_Xd?oo4xlc;!}t!H|uDtX2-;0Rr+VG$Q42&!L>pLLL$}@h!|-6W>g@r ztH$mn<0Ww_6PO0F_rb1-?+XH=s?bw~30gjg5B^Qd9DrD*3!RS1sQBK(7ef0Y<4dXd zf(qBV(1)T>g)0iAx|I8(S|2`P&)x-79C;c*4|FbA(jFdxSq@yXiu-(v& z0cj}K;NZx?*~nyuURz5DN>cheAQWR8LNEGvlij~BQgZ-ME8QJ-S!CUe>9AXQlXD6c z!1Fl2ft0M6$4&`FAwh3GrSc-B9P$u&;(0ZH#5|SnUqzF!r$QRodu>)>GE8nDLpoZT zng~-O<*A6)qPm>QFj8q&OTla|MmQJ1XU%!<`ySIb?j%tgSqO46z2h)2LD&V>qg-##xQTfnB*g~9H*P0H=oPpf z=dIwkUYQKXTWX7K9NwI(4LW=)w3{X*Q3Ux?$q z(Xsu|#c)p$x>OgD^afpM2DTf%Qf(UUW_${k?AW@6Yzgq#7C&3WYDYYhdPl4KwL(x%ZtK2Hb{)Iv#bB$Wx zi1$Q-I3QPydR6>PXC(h0*1iNh&Z>I+b2bN6#MrFH3NiAfaCMCipIk*hI6KX}R(5DhPZdShH8mT9ydo0bX<)K;#YvUAcSJ8e7ew5(4`IqPPKa?Me)yfYu z9JPspM}em(W)7cZSqEvT5Dl&h%7>dA0xLv|mid87P#FV52A#ENz&z&%p|2%o=E$s2 zbShK5oUoy3w()3k=Cao-8|gKs!`8lH6Q z%j6dEO|zE{Gi{huTKV4#K5yfzm!qvrv9fhin0z%q=r1%1M2|7n9K(&^)(k-8L|f_O zuDETBA6`|kGG|Rr%9B*l;}^=u?QQCO6~OXS51QAuy!NGENG z@4*}9ZvjWcPnYJIzg~=1y~OC8?YtIJ@Jq+x@7DdI7sEc<)OMcdz;BoN4dZ{$OU2Iw z3_o4yu|%8;)?ii&&a)KE-bf@4OJu@$=#ZFYFKHKghM&cJGqLTNCp@MCU%oE^^JrdU3dUwh0> zqCZ7Zgv&3edX!Y++NJ>OdQIhvlEo=dLPcc?QmS*x}Yf(k1*$avn0djatx!^7kQo!rN$72M`eTYK~EM%}K#6gkSSgxm4s;9?VFVU3OenbDM@x-qCY+y3m#>L6zc1DjA$lb;S!!+xp>r{_E3 z-J`+GQx-OHr#%inaFp1O*RBsUnRkWxGa6>a*Gi6|o# zV3paL2rK8PnlwDst_p~HUCX)T4yYx&hua*5B}RdidQ%BgWJkp&u`4MzO0_WsT;0d3Jco4sNQfPFQAJi zjebJSpV@H2;}_UX`#J{hsIsZ;zXflA;Om-exW8}L)3kp1x9a7o69t|ZEs1$J? z7UC_vWDHu1S&1Nd3#R%^aj>N@BN*d4INu5$ZGysp1csl%c|TMIGM~D}8evSlNFbF! ztsmQBBMg}vpLZ{`Vx>srE?J01&JMAt?;8G~%6r^91p}oc8+gWz;`EAR+&Q&37%($2 zXldA3loz9u8EwM#%1t;*fZf!1DxBvGa5HPp$qskl;vM?F_T&~^*|q2?c+19a$;N7} zQ)2kuQa;r+3{6g4YKQh9DWcinmY{3+r#_H)2ncaXiBe@Z9JHspgX6l!#9Dj03$IH! zGp-72Z_43y_1%(qN*zyjr@OMv$7NgaSUU~*(M~+3o^>TB+j1@5(1u4ov5vhl?Jxwx zUrgqO%?>(7j1RN6&-t~g;%C#vE7ZWU?Jl8?V61LuwYt!kTZOa2okYj9O}+cR z)^~C7y6ek3St|GB%4Z(kB5Q=Z4Qe3W`zB!1Gc%irh!<@m;A@|~BJNqZ=hG~Te&`0IZWKzk_} zwIQVjo4G~Ll}<{Pd!mI_k!)yqgPCJpYGzBznQnN=?!b!;BT93kg|_Wn3z@MwqEJhE zk0o7uOP)u0SjBd$)~ITdp!S`G5K6hxuH)5=vEyLtn#$ecT0k|bzp|E&%_*9!9Nw?7qO#txuvwb z!txnFMvh1S#u}UEQMJfcyh0j?3K!2pJItmwxA%ESZlKrN7@_HpMT$*Td$6Va2S+++ zBs}H_JD+F^ra4=@LEci4AIn;Qqb+JpS=Zs@$A<5~o#<~d`k~i`Sb~s!#$xVWjmZm) zi>~Bx)N@N->Cyp?-84EZTn*XZ70ssD>ZP_E*WMK6D~MY`TsVogtKnBp7RtYFV81|PW3z!sA)2S=`N>qcI(t?_N65|;C{QRxl% zCaYJ3{_H%W#ye9Cj6oHBXaq?EN07EgfD&f(UeX_4A#0$(y>N;w$}5hI1{T2G+DW5N z?l=wOdN~@?-8c+or~vg35lnaF-cLHFqPkGIe>1l}Do!P@w#$%yuuY5~E`(A@5FhGT z%sZ);USe}Y2TzZo#x&mUfjb$Xzn&p15jG~SCI<6|w~%ha^qoQQsmB-ht`6ht6G3cj zqbtWR>&$zf5V28(a;~kzubdv;4%qrn+*o{g@2N4GLhG30jYs+1fHE@>b>~v*Ep_2i`sr#v?WiN^m9#Y#3x{Ow~!;pJJIF8^X}A!OH!CmhE)K zw9c02a;gBx0D6VydPjcxL=c68A>H2k#o!wYUKryx#G#sp=}$c#9g*8XOx&5)i}9sr zb$1>%zwx;g+&ktfarI8b<@Sl(Bja9huiho&5*pu4W0V`?B3;#+V9~vR>%bTP&>xUO zgENmM-N7*U-p=n7iB%2&EnK`x<6;^+s_&s=NA+&|yqBL`^)`N{$cgPB;GEyUZme)3cFDcFHZp={Zw3}*d$~afL#8L{4u#&e zILB(qE6u>JCZ^Lb^j2@d*R9b+xz;N_N=q%)p6waw5g!oB%?Jo?)>Uah6GuWQKK$UO zbwHd6!E>QFZyWQzkG^%a@>t^89pXvv`Dq~W<^p`O$DA|v3Tj*n_;I_!kMNrZ4|{Hw zF9u6ih7e9mV_E=Rh?}}_0j}ax27Cn0eVJYlz1-UJSCg7vE}VmRS}4Vis^sr-!vulw z8?Ps2)5>kBzLUf@zM~Pvlx%HUFws0GoT<6g4ejIim=u*khLyaq`>&pH4$sVkkQhNQ zYVj0OF1Q%8GQ=d{2&jT@yn%ddsosi@zwt)1gzPNcj-6$GA-!XM_()EzAWi3ow4pjz z6e_xS>44Eq5mOnVybXix40A-igh^{H?u0U8@7=YigB*+K?CUjN@nc>SbnVExa%A>F z5t&)e*+w0Oa`1muzFa*zo11T}L=L{f-cErKC*BG^Z%bleqRJ*uIv{sjvTNd-a+_&^ z9M)b=(QF(Kj48Ex?>6e~i#e_7{a9R^Q?KBH02c~?)I)vGEaz2K$&6#JQ{u1to60WtM39m9_Ff*O4q#k-6A#3e^?#Fqw|L$ zFiEHxJP8e5w5L`%XE_RL)D_13R(1uyJoLwaIN`;QxzyUlP@0wf;MLZV)PkFI-Vdaf z)o}qg!dC8M`qlb4#0Q9I5RzZK2^j2kp4g+tUbxltR=S|AMca54vVecv?PjDB80KYdf|{c!kHy$q zcl2ZmHC$ZxtY#*b5j7xL3}A2OyFq>ctDCpryCBz}!&re;vyd6wzn-E!;fUgct74pR zuuB0+c8|3|rPw#c{yT}3@T)_qb}B-22kvp*`5vH?qMQTn=I)S#O+Bnc0_e&`fr?8&kuK;ys9DocolmBra#1 zR%T4LYKpji$+b+bX>vU?jb8>oHdPoDXx)>|P#(Wo__3#*k013XBlzuw-~RZaefCbl zZxX*t@w*+rhw=L{em+{S|K^Y08h>a$y~bY@_QoH3{>C4h*2W*K`Xf!!VOaX7pK$$_ z>Ezn(O#J5JH-z85_??8`CHQ?7zeogT{30L{0g(uZL?Af4Ht0prmh+CB2sZLYdhuI? z-*WucdE5PggwhwLDNIY4hLCsWNtiET-h}xR=24hW%qw;${4p*3aewxS`0}qXN6N~+ zM}JpaIOf=;hW>pG&G8G?UQws8bNdf9G=~#4^m8>d2No!Dw&@!2Q16TlE<6{9G5JT~ zs$PT1U~-q>cP)M$PLyB5xAcS`ouw|Q`Z4(TrwFZe?~_^Mt5G?^qsBt{DoNMEeO%!P z!*DcX#>r0@#t7q*P~b+Zp9DnL!jDbVA0VR3(d{;VK0(|RVMv$e?$Ihg(Qe}fOZC$A ze1x8JRSZmH{!Gy+?HQfcx56gwr|5O#{q#6R?_2P|4_Xr%!Lta+Vo?u&9DFjwqlBK)5zEH?ICbYn-@nC{fZ z57oVJs~=OEf_9yZ3@vbUr>6l6l@dr6oi^FO2`ZW~ye#l?F`-6A~=-A#uKa=EAU;G={MN3`m#8fMNY*9poPiI&rMC{6n+w zf3|Ogb@~8NMO)=6=^tygk@5|(f2v`bF}3|9f3Bff{`xt;;?~H0!D4SOYNI6?i%&r! z32j)W=cc4>4*3HX(uBbtkYq0#u;Jf_p5_44Ma&;U41N%?=*Pc6<64tU`aSJFW#?yjOY4(ig=Cz|JWSERx9nky!y8{ z8eD@yIMk6yHK+^oq1F*gTD%JKY3T5KnQf>tSW7xATqJ^)bqm(461HZAhAdG?5AOok zExnum9r4!U{+^gK1-SMK@4<|P-cR9THgvw!)D~t8-Rt9JXfEtmKZ`V4T&cp0_H^lt z8i@=Pzu7b+Oe;cdZ*b)C7$+8$FcM+#Y_rzavZ>R$PtK;-opEzEmCvRNDaU3i+uXYe zS*rDTW;TX-fT+@!{F?FA066-l^rbQNOJ~IlbMMW1^YqkZk z%wR07dAM*fkk4l-4cIYsSm>`867kkvi{+|p7Aw2-h$X0O_bI2fqbCsG*=%beb;`Pz zpqOnNegd3e?E@m1VTrjV+X5Nl%@btPvV&^+_L%nw(ty4$ivx~oY5LMRxAl!NC9cJO zwc(a%5{#(nNp_#okKbuc#57~gfGQG%8J=yd1qm{CZDx9iXk{6^wPUYyOaU-JBlXZT zX=P)Jwuz>*-vx_vWkaeM3zoPRqsif%LdCZa#WpL-XQR9|NEe5sUq)QGn>)t4hp}T+ zc3k;|^AgxF`!>L|-6hx<<}2HTp&eoF-8Kx{#$ypr9`SsEVP-`qFSlrDMUa~n$ zcxw!Uj=M1otq61Hc45fdsEg>#eGctBjwT5%ssOT73EQaz*r*I_8$FPA|@8iUOI z*yQFIt~vMu{Nkw9qoBvf!-2x_=C8w+#NrP*FQbCdZnjE4E~;T9lOI&(^-bY;Y0Q5y z@i^%4cE^Oh<%eyIepODz&%mWTFVQ!3zWIENKCiF&%+jZvrYOqt3BJBlDr|ERY>L6^ zIHL~@fnRNKQE{g43+uj#GvA%`O_u~FiXTJNThl=qPc}mqeEibhzMSuUAMHC!1H>8Y z>WE``hT<+h3Wm{_MZIqLKMt~s56r-R9w;%{l^~^<;^wPgrHta$Z}EfO9^d9SR{f@| z@kwm8NmL(`C1IAwWl2^U1tkAglrO#%K};35JY+8Z6botbE<{{*RmL1DTj3c^4NGaF@-7tN zerxZLSBlrgQ*fn7O;THf1@|wpL2}XcTXl4_pV^kSZw|$8!2$8i!rc;RWV{ntr>4FJ z7N*}PLrm1(d~$3ob}@euE@fQ$=4ux`Hn^Cv@(IL(iu?@NE45AYTl_w7jn6$f^1N@5 zVvSZlhOjD@VAJJG!8_($O~1wW#mKZ1!8hA!mfNnuU1G&|Q@&W$B4Pj&~dgD&L(>I@qB4U?`bV5>p@6rLB0?p1Nrt zFH_$fSe@~_Q@uYO8`+stevYA=z|$*{Pk1*%>BJ*^s_Y%f;uB;Em(ulsB^-uGmu5t* zGUFvhx}`gsI+_#ZBa`+XBVG$X6};j7JXFTrVbV(`hjl6sS|*-?t6no6yy zA_kagdzDeyUmg$aRkV|xx4_lv)q#5@?cnw}2O1K=uFg}=i2@r|Di73TF{c5$BMBw= z*tAj{_|a7H+X(2!?ss{q`@DlGCp?GwYH)~`V9Q;0<#cWct=D^*#(S7JT!WbF@7~yt zDGGYjP5Msw1Bs0%F<9|OAX>yo1{XL-D;1&+uQ~d-47vCd#(G;c4B%@e3-3%8G2%@} zb1@5qJBH-(L)&?5bsjO;bY5XH&v+pg&x~-M-^hoaG3>t~T5}7dY%)sbZm(z~MW!Vg zFWv`sDjy&~4~_R!04%XooE8Rpicr!}Nr&AZz# z`ri~qv)yO7b>fES?#NZ)#kFR~hDX}1C_6HDMRC%_{0TojXz#!OiX}`7jZSzKLTflJ z0}v!9gbYA1`9jD51d}g>3~MYEh1Ru?5AYHui4pHVM@^J{N@JmQ-Q&tq4xA}-?bTfi z<#y3$Q=GAHAq^>T!I*n=FJ3u(leBD3+r0Io=a zAXvag;)RZMX@OtV08AFVMg|Qi{lTTl?N8F2SIzZfIm1B(_qQySNo7%nr2 z8!nzpT@l~+E(VAkG?eR|8*E#9zW+GOlOAL` zUfn^iv(9Z`wx4Cy&+@$|%y#g|JG|bG?>g{W*b99;gFp{(T=BzbZ_)+qDIsRosfA^0 zg~}8#c#)^fsqiOUQ@(&%jgXzEVuCGX@qQ3MUoG^^QwtZb?fqnu8jctaeWZ#Xfva(t$-38n!smZ7uwRXUP58cr@!^Y^DtclVFe*;B z#}kTn*A9K~+(h1XCG%)QA(|uq>beuwmrd5Nk%BxzNd6VAkRev8XkZmIwJT51j9= zns2tB@~wu{e0PPuUuCq>Iyu^GVK;PcSlj<2Urp|YxeyfhL;QPfZXD~RdeaFCQp}}L z2-F@M$?lM(t1|r?qQ$u^Rhfy?*|*HIFxGLv51UG~0qj4PGYb4g2LdRy<$ylddaUU& zPHS{?VS9`I8ET0%>UH4Vg}&%y)f3X0d?h%*w#&*H_%6N_aaawoCZRBZj_+f%fRYfnjYLSsI35Q;K&FTB4$(R&OU9Edd&?lLtrER8>D)VFhPY!6&%E|2VD87mKBzDGl2 z;dDhaVIzXj-4+aL6?@R{8I1dk)83ICMI8LA4`^*R(2i%HI31|Z1aQ!0;xGuu9-8|& z+*-X7hQ#^GCu9ys))_nn=Vb9C9~V<;XjeTB%wnu|B0sjpZSpG2#;apM^uPZlJ>eo6 zhG_8n$V>X2ZGNN05(L>81Uar~^u|~NDP*wlaAzzUdB^|+`R%^}4e(V+oJtyA;#tMy zt2NR<7UAU$-kC0imjMXeqhSacfH)yU$gseV=8GfX)AHKKjw7vKLr*}KqLgW3@;B)0 zd0h*GRIq@88_$ihjmI#3!zdy;iL#k)PAz^I*_f(~!?GB~9<2`3qE%3ISy}-F*O*M& z!cY&sTy$E4U+H9MX+DX76^_75Yhin+W?KatR8-Dwf7m`VY%{?) z#bY!x6IZfgsnLVC{pqb0k>#6Gnw*&k*JgOX8u^|*($p9}D7Rv`L|LxGrLdJ3Aq(9{ zm@n>TLS!AK{t{)jCPSnslp)?ZWNf)iN0UVMS;XHIEXMf23ruA1fzhJIMydZoV8Jwj z1=9o;OcPizO<=(^fdwxku+2$)TUzPtuXhWB!Ex7&PVUmL`Bp&z$d$Qkg=&D8w5dt@1w*4mdegy>f5&UZ`# z&D~BzK4EK4Zt`;=iC2=x&=_Q(ly8Ui@#=ce@TUkd0x9nspEbNRS=j(DP208l@wRx_ z>IaRDexfa*M!z~R7n6{eYih*HN=BHsu$mx?> z3V3vr>qfUjbf@pAK3g4GP&zqTIg6FoKFvXXWJRjbHH>RPDnO$SVF{Qc!zxa#V;w@s zI99F=c}^Xfz{Ns_oCLDeg@=;z6)aidJ-f2vsE1*pUu~s zdDbG|y9jAHe-YU(ei1QO&ZUEY5m}ywAiH&h71yR6m)4-) zcx?8@UKR3~@W#&$d5m~yBc;E{r}66Amzesk@ddfGUQDz1(vYeqFOH%N-RBg!RDE^F#ei_#9aB=-3)3@~XtwA;vv2y& zDlXB(Meb4i-sKlhg12yjwv4@zdpUsqD%gjS#;nAf)xQx3#(}|JWPLZU$Aj996c>be z%-!PN0?2Yb^1A~Er;41h;mLP}^QX=wt5dkQ39Y#GQfQpR{XOH;!gTvMUBX!Xsq<=~ zil>4cR2>Kt(^wu#XvBjXR|@IDbW$DSV7k;gc|84xismA&AgNjkY= zzLCfNpM|lKgU#y~;iwt8;B@l*207I^8?}IAN>5b#aLxp8P_-L{s=Vf^j0I~ECJ5rv zIF+9%_4>sNzz9@p{G^l7!4{~(=nGe9@dFIj&@7lyoH;i9NHRJCwTpQRV|tNO5#H1k zK(lC$7I{LE2mP0G?D156>=CUjL7dUb-hjn%0G9^L_Pn!@258=(dRr93%b9rYoZ+N6 zh?V1zj8sqIY%j7C2J@W&;S)2)X=1b+sw`I)@Sa{#GxJegS+Rq%7cEYJg#}3sh@d_q zi6B?`G74ju!e&2E3HIBf(c*>h4MRePSUHFVDS3v@U7dFId=NmnjC!+?o<8Qu6jAEl z(oj^;g6A|X<-40>RGoVN#%)Gv3aI_idXo#QABK6{jR8oC2l6cRYCn2Lu|oEEh|Y}E z;6N?2zIe9bdrvVVM2<3@U_0q;0FTh4I(Z$>%!Cu_$wi!JtFs`Og=?JS()>iTcu;=XML$Mvv|3iBCb z2Jzbo!4Vy%ec@18saXkKg&l%&q0aC%Aw_IeG>XR|A0!})36EhAuXAAsA|C#QR87J! z)l?WK4Gl(g4A;5u&&r}k*V?qhKu_tP#(CFtuhTegv{(*=X{br%a`O{CLE9kxQ0!Pp17CjDVI@;exp4i{H%rO~z?-9e)kMXPtxXo{R@^%`1i zCqwl*n)B5ya{mpO+?vL#*2SN}^kTQ|r{N9t!I7H2L^4SCCI3^rZ0>&Fi4v(vX|z&c zdRr$>XR|K+K|oN6Cyt_(M_@HhUz$4%m|Drq1}}I`oxivL&-`7&f&UKp6Mh0-RG9AVxBnj``KMnUt@`CzR1M%4EhlR4Qd#kC(Xo#_LP)!nVTqhT(oT%QkZDt!zh3m7tv;>B;Ls5`C?* zCz()=B~2oD;zf0XZOu6@JjTCa_(};eAlKi`To>M?I;}L+@rnoNKgId^dQ6j(efccV->+I^W_e>P_Jb-nMx+ zvc_dSP0`BVrOnKZ5AO`^fiW|_5VuN-^tX+3+r(lUxeC77jFWLb9EvgBDyCbV5NUZ$f6d>E~tTB|tj_<);QavLxg8U@P4o)m!M`TkeH}Nd|B;R~6s!#C_ zWQy@0;52+R*HL^QC}}_ZA*e)?OvB_QK&9j5AfD)`Tm>_Zd3Ti}GqvuwC(eL)@$zgu z$X&b>Zk0CyV7cjy_=Ns_=awwq3+#fe{ai_T13i?x;)#jE0`F{W^1)m;UHm$L;^6JO zO5PMF!wG790a){z}2vo}OHde8oi?>ChJ!p|hFF`9Oy##gnNV3Dh7|NEBP> z#G(P;D|g^D!<-IpaEg~_BxX*N7VljN%FU^9lmqx*wi}Kh(^vO2Ut9ayo5J+fva4yE z?AnSlkW0)`KnRb8AQWPvav5w~<1t+#s)qUlw&6$N$NIk-xr>kH89!rI!-n|=&x~ka z*+DUnZ#rQ9LFwVqZq0!jj zyovLWOVfPWTc0d{u09uk0qI?+oDz5_EcyHO0z+6I4}Pw`)Bd#>ziu+ljWn`X10~K zZ4b@M>9w_Dgj|#k3LQhU$W?CQ&j=U1c^NWHmDo5*^{&Ifm#+|w7eh7@i+_b24hqW_ zodD(sj}36%6e;T%JS-@54jvQ~W)AKj6lM+X1GQ7;?JO+9a8)&#oa;jJg$xLZ|YBI=0vAWg^Rq+5t39(F$9Lvq0?qHK%MUH$Kvt4FG3klL+MvgrTex({MbS#w=>jnoA0$ z@#o-`=V2NCXf_qC zuzf-;#E|T4v#9!IQ&tN%)@orEQwKJ4@cSP5rN#UP+xbmrGdPqptyUL$#z(WQXxp<} zgKS&zn;`s5Hru~16dG)BTJT$lwq+@P0nGdx#))Cn&D!|~TI%N?Xlp$GAUlTj`eIPV z`APrhqP;v?i#1v;;xAhWS=b`J+^M08+DxXS`Yr~*?B@o2-RuWsIOEYkPzH@T(Ngfu z7OcO&6EZ-it|wWIJvjOJAZ;4Pa`g7inhi1C3}Tpc-onr1qYy#$CK@$(C?D$vB%9Yy zK1L_$mC5tF5{;o*j@KaUyjq=>W|zg6CkS`5GMQBIE$<9fuPZbv zs>u!&+*(l`Q=!JaJD1g%8;bo61n;uu!0omT z729kfpxCy}Zce?u`Q>~%KPUUPc(AtkW$+_CxJ>=yp~GXvuQ-=e%~;crKVo=l$Z2%= zvx;AJ_*2bj^=30VLd;^a(F$&IK*EhTEnrsuiF}DxeBc+q7h+0i}UZ9v_3sVih;VN0Tt0MQbt@#|}xuhc_383V?|m=GhOnKSOk zLrWSKlUJhh2e38J4K)UH&qR@g5O6OV<%z2+jpxvN03_bH>$LdnQ^M9jt0Kec8kgB= zB;zD$zKjwq6lO@4BS+V0{}RRwCZgf0&qMWMT*)JdrV5y*iIbhNLkGCPWz9KeCNmY8 z^OZAUE(Jlpq6H&teq2k(E&v~qgc2cPX9G4jgrODXk<4*M3>6sCrT7Lw=nVKpgYokk zUyUgZDzAd`_-KVGPKaUB!=`M~Gej=L+xn2T9Z)j!RZx^o6D0=6BST?p6E;Rb-qV2O za9FyTxx=APmWBvUMZv`{3|R7_4W+^c=^?(MR75NFQUU!BNn7SbD@m9KTr=3Y0T)EL zY;T1>GOML3##r~tylwQ_46pV4HYVK2oB5rF@WcFmYdtMtmPG3rk7HIT&@P{nRK^?C z&J7Ep6y*3ZKhlJ0f~qO=Kjd$^GkI3=uvs(sWS|$ohp^aYV1)(-TV+(4Y4S1L3kBB= z61?IM?9ix5hPmY$KjCpS41#qY&Fa)lH@DFKR5nyRc%~Ms#t>yJ7YdG?t(O%7sg+IL zaHtXlzG~PY2b-|Q*+5`R@TJz`1{7n*E(X`wxY!UZm4i*e3WJDb6huaW8O3`SQyf#5 zv8>E*Wmi_@4jX58*f_hx2GTb4L<3xWKZWB*`^{uqDtCncB$`<~wLQgo0mi;IqmX_; zQw4Jf$5kuQ5MIFkFC>RhPy{WprrdZlB5B82?reN~AwDo8 zF6^daWZdkDcPU!pWxP9&>zk!*L*y{A@j#&1_*g3rCg25K-1&@m;#;8WUUY9N7@R$^ zbcC~Mj2k1{%?Ux!bylW+Q=h}W%-8-2_T@Z(s1dJIyR{dZLX29hD2}XH{~zOdMXl9` zGAtdzy#!2RQw)QpcY#%`q9<$e>x;!#hS<6s<9#ckLOiA=2G|r z!M?a-ol8roVT_4pC@5nnXzdAT7snUI5-{Nqdo4z&93@-cMLe_|qD=;rHx-%Sw(c$N zWZbtBSp&YnpA2|2WPB{mOOP=s=KXO)akQ3;uEGJ4!8ww;$vYd{c6wctdQwVHCv~RF z*F8~SA&Yfm*ML37GH8>qWaYb%Au9_f3dzb7u-%DKVMJM=@Yof>y-o^W{4ax2p4cnn zLC5R#g2-ZN##4SGTKqj_YpNF9B{`S~dImG4`H9IK>T0^Q8*aMDPacFeWO6>V;uug? zcE&fEF3p;_4n@xbZmT0_k-;9bgx3}EJSZu!e9SeHFUWg$R)1XUjGx{tPH;%!Q+8tb)+2ELjp5?3H%gy&=m2V)zXnlCn zgp=V6TKOLE%|2crNal;*fw}R}dxL*GVlDq!T;r#)n+tCBrDp_}p0jH_r{Kb8yv$udlD{l0|8S$IPf%@#hDu#_`TZC<{g*LHNs?`~dc zote3}1bQQH6Zp-A?6LQWuhdDr0USZ6tXv&+Ny6>FL~87KOl}+*ts2j8h3;`a9z$pB z&e48B(+@ixGgQp=u&E8B+1Q5B3`!TOa1!@|BeWyN=3~^4sp%gd9X+PM0gnY++?-*A za`CoE@kw|N5pf*3W;UVjCA`a#woB@HF`dQ<+wkpF9vGN6@Qudn7a-@-lnh2UxNVR= z&V@3W#zrG$mCfnS#cz|P&75{-b`4896h&P24A;%I0^R>Mry0sj97B)lns7jb+9KUw zQ2YTYQ75z)>gnr{HYdHE6aXjpm(~z$+4sZpUP7K3QhGu4Z0{Dl*ef0Y=py+d33UF=#sR(sFmB0fUS640W~*nHMb!Z z1H6ktLK#AMlb4vT`l1QSp;wi#~6nRH&4&NQ{72fh_1KEZYDXMHfMANG}YcR;NviJjTcto-wVSE;CF$Yf2*ympi6kH)(B$jOOevBv6zqD zTefG~pLz?b!N4+T?Px$_O?|#!yqQVe#YDsFV%QG%rL}%_lRsj=aHr+%{6Rx7-*0`dXZ-bm;^REMdUNjv~`|W`}!}EDcRwOLsViiF*%1 zt{8WPd>6ndV+!dJ2?Yn-P_it45E9GdnG+-`0X?F&fG8z=tVC(Ks-AN3xWF&| ziX0+MZm-03ZI+A z8Z#QRSn&_=4jsk|HIJGr#Jo46R=sqbXa9F`Y6@P9_yk0mw}@kIAz&D@ET_21Vq%$Q z;#yBGK1ZgSfM5?VoB9CiAFy{{=MxG|%8oQP;~^=0Cij|X<#~t%1%0nQ!unzB9+cx1 zkY5;P5{pe~JOx^T(h0AEWbB0=zphb40LDcbyaC~&=W!gFj_H$u@;f=emjf%EO{G`E zm~SebYNN|C^zs~K<_Dv^ZlpOWTN&ri8nErugW>{x2dLLJ)7R^i6{NN}Bjm@Y=B<0}#vsA!K0LiFjQoJL^?v{V661hr#r% z?1J(Ebr=o`Fe}0D{cy!d<^d9^p9lB|t)MORK7O$k!Eh@!u-NzuC3D?gpA6x$8u`c0 z2i%uU0{D_VRuZT9m6n+f*7t@^#K?&VZGN!OyZe;xX zzb_sivTuK4z4qQ71;1!#;8(0E#E5R4BFB9hH+mKO7FAypcW%&kO{X+PXAMHrTXD&r zMz?4&ZEQHl8#u(qw`@dtci(x4^G%2|j$+Z6He7+wU|ruD#p@2ae%${}PMR7y5woFY zNbZ#RA&?grCb+|d{9*nnJ~3)d2F4YKtd6e{Z}FMNSH09fgiy>~ex=|+6|g3cb&7kq ztWM!B1#?GDs)zm*L!-{rFThM!KMh1_HXc@{Wrwb~xSjEUD(`E>*xtKR`Asa? zdZES^j)MAA!2_r>Fc8B*B_Idl9;uSbI39(9@xaVz85vVgmkWzqJfq0b)fSuwttce-g zop&-^3;Io^V{ngtX5tllLcbqq*P88JD_#uO=9DfJ9T>t@rzsr-X^%l)hB5_R4o1!C zXHw~{9Se*k5B-beRzH$hUIGwzl`~d?nw4?F41{!FsG+{vl#Q^oK@62j6v5GW&xx>y2n*OF@P-caEA(COK8PhxLi0$P3}{Q}Q0XDZp@kFT zn&pR$mfl9oTw1VSlLVp?buExOqmZ1sDfEN#7n8cY9_%&}*(Y?gHnP#KehT>$j&0e# znQtngNz#&3ZcUVNLS3m!xEjH_)df8YG@e*z>_n4>E85U%V8VwhR&>pU+xu`fyK%So zL1t`*aX5~-*UNLVJPJQjs>vR$1aQOo=uV?$pFJ@m_TZ1}Zv)uhE9F=T>u)j?nnuHj zr6H50G>RL$kq+eqrCM1-esXf$*6CsZ^Dm|AGq3Rp|0CY^yT3t z?AVJNm=_~I@}+*Zb@%YxRRarYsa_J6?}hSs@m#Wq-8U*>;dffTp>32W_lcP;ZXYRf zjG7CSFo(R5HmCaz(!{Z)ZJirmn1(`VVH{V}VSf(BBE?se2T+PTzH-KmeO#d7E?;G( zc#b?%wIn0np~s!prx35FsP7jw*Bp5L@Jzn+R6ROu z0!qhqR5|kE6N8vhOXbMigvybhaj6{dG7^vmB3v78V6*TJQ&ks2@11-iYY zlqWKp5kvQoSzK!boTw|S;30|@!7uWHnaW`Rq4@}y`(aU@gf3>0)BAnx8L57a{XoR@owL z2=pj2ZVRjy45jB{5XY8yXu&IkXzrCts1kdb+IV8HOW*ilE5C{4V4!beB=9R7A$0W9 zzG#u*lL0P`+=dp;XZ22;f`}*X1Zb!qMW~*_N@8IK5dRq&435MNZPiD?_%y^fiKs`> z7+rJdk?9z(VgaNU)G*(uhb3{Y%-3QaeBd3P`e<+0`rqi z+R>T-8t&xeZ^`G^McN?A*v?o9*`FfMwm(}@Kp%-?3G|!dJrmM(njJUD14|rro*|A2 zA&$CF7Y@%&ht*UH%~Mn8MYkhKV%XD-_auz5>BLF4(RKT1g6S$!BNI4{EA|@gg!g~; zz<8MNk4s9aP)dvsONZKms>t(FoEimHO&rzbb~t*J-LlK@r16(P=d ztxXm0Mcn9*BE$lUV_c~GRaSo77{NHBWo*J{Ls2;&a|;wWCo;CMgWV05P978Exmef3 zSs<)Bf;97|X9RPIYseF}t8ynLxwQ5@=JjC$wQpma^zUujq=5*u5k?02=veLU<$Ss;WeKHZ=nVfdkveNpbP zsz_ItCk=ka)+=ynT`kT!mBvVO=4~PJnWQ1gBCd~2tVb7)m7V4#HOU$4$?-5SeM1-g zC5(JGB4;=iq3o!k$@3;ATA;3&R!hQ`pOvJ4Vrh-|#C0^Pv1ea^`H*z#w!#6GI__3I z1PyR*5fo90+%?vm^bbyaq!w&&;`tgi^(O}*@7}_^D^7vCf#Sp|d-2#UxzhIQ=C)|@ z$Dld!9pH;7MYZN#UO1a@w}-OtLVxrW{8=H=S_70Gbf{k@f^tL&Cvg6QD;gD)<%Co4 zyM{l=6`Cp~pcmla={1g*=V70=L{MuPhTB}$v6WCUDPi&_?reB5u=B(VN))rg_DnX6 z<-|>g*a*ugZac0Of*dw!xuT=OxHI@*vvS4sW`#pnqHuRkjPFS4j~k`1oEIMYtG)aB zyP3dANm+j%wvLN#ULPBaV@dj?z2R*DGQyCNBL%AJ-o!YV_jtd?14CfWjRUr=b7fqX zxd??U7CtR|dyO3Lv1e^W+1=|!aGLB{emcl${5>0m8VbbR(qo9RI`(d)8A9qMkO)R>>wa}{EVVE5-lekoqD4shRBEt75wx+eAz z7B{TXyRz=KpnGC3VX+8VYaX1_Y!?9ChMX9cbFx>j9rto%LzYjM&Zah%kq&`DtE`wD z$V5$QZU_~YrGe6Cp%kvi6*)}ItYPXChqRK@kkCjB5zNr5#s`9D6COz75_{$vNn%fJ z0(&)~ePZhn@4sdH5h7Y!`gV=3Uz~+3!l=>ot2HfZ@j4a_)af|&lzhB2TYN7H56>uc zjb@TpL7NoW^lcDIpwndi#Z=I{ zj`dfv)3Y*E!7uhFe+r+O(oRWeQ+@_x!tTi)j&-6anQz?BQu#TY5MbexdSMS&Yx_3O z-xqYdN!Ly)L-o096wj_HW5dU5(zubY9xa+Bzp$|K3lOv$8tlOZ(Ba&zFQkWevi_Se z)J5}5AphI}{SGT(Fv;1~df51<)(>8(^xe*+f zpiGe>(r4oj-@~Lu{h(c0)p#i9K^CJjQg)%As4@!bsBdO%t{lZ?2v6=2i7HNHt$_V!C;ewCP?dIBg8?rtL`rC(>YwKRnTAd!8-*2U=)@m3N-WTJMgPa`dNvM*Qt zK3wumi6yUx*qn#(+@H;%Fku--B;ES(&go9-eL_0j%1qT&jTN2irqV z7GiagMWt&5l{SH7I#sUayB%Y*av_aJQD&%e9nMs_^c*y(a%m40s?es2mVNeoJ1f`A zsd8P!%myoRrPKW>$^cD)62PQ4rapQ?8q@tL?j*mS(g&6m{iDtDygr76_$vMJb3$J^^jcVS#$C4}B2<55LY zQ}hzwsOUuimbO9<=#SFZC>CFdLEFSikLNi7E1Zd;o?v{WhU#E8UNR=FA;Wy{Y4~%; zYZlbXHqSbSyK`6RNjpbQ!b`d7!!$EOsQ!@M-g)^ z8L9-WE{izBmfnYTt>&%4aqtL>U8n9Qvda)ZRu>vPSbW)-<0TslnPGgPVkHQ0s>o1@~bD1~T)YMCO0bR#vCi^_SbH)6&i4uXxLQ(WMj|BCeX ztX+)puIIGKYK@#LCAU52yKcuoh^VvZ>SdR!jyOWl!1POU=tAN6hszTUek`^7i0ckj zYt7*}PU8Nyunj;ySt#qNig@EAoEoQJZtq*Mq^e1|Z?hLJ=G~7t-qu*RuV7B8ZvP)n zPuWI=vl*m@H5jKC)g)PyfuZW)j6}~M6hZJ;TndJ9&Q|?#T9`Z4IN3l8)1t#ToZ?*O zaPW^YZMMElo-XYjmu)zyPbm`5M3Hd29~erI#h<|djAvwU zK%DP@q21Gni%Ke%!5xgVbcn`{yOw~p_F&IREa2kI#$K@LVn!|B;t0D+9~RHldjt)A zf6&nP2U_(#BlJ`s0QiAh$R(M;9bpetjoqRZ9dNyY;jA3i{jvCN>#tsajDx`ToBk5@ zrg7Ev&RPu)>c`e`(6y2R&GM_l4!OpXiwehrgZlDoofEd7;6%OAgl`9jvWl{0acA3Gi@yyOsoTxk)Q6&Np3(XK+9EDY901w>+K zkbwY}qR1_|1V8&v~xe$%+IGhtbgDHC_MU;g#Yk?+KwvA zfBnsiT~X&QNAdnRe%S1&KNvlP_wxAu3E%J>$$m#2vR{M`Vc?Ir*9;FX8r*Hs9>aSO z6Zg&pd=w4P{EeQsH!9oL*1~+$xfAO*oIXh(!CyV^7t4S<<|ywEyGMA|#G8NMF$W(& z$2}t6YiGi~- zZ-?>lu(3q8qE|0_&9Jq|_HNl0@~6-4_h4fe_jWgxNI4=PTW{@y=-rAwwq+T(b;a5?H*^l zL$=R2+k0et(%Igp7=8^~95g?m6#WY}o=^XTY)!t|9+J;4*y3>elx*{5dmUszt_NW| z6Ya#8W!qP_E4*(bzERk<69JU|Ib{A}$AP1=D z;Pw?~`<Z$Jt0BQc+8I7L4F zNFdu}>@dWajud3OLbkTZkZfCI%SZN-?XK8;vA8!ovO=~eWE+YcN5Oc%gl!jZW#k08 z{T;TSct^^H-XhL$XGG5SS<1WO+c?AsoNiJt={RdkcO{)zJWe%P|!1^z{F z^SsZ)wu?9AUn1LMvTdXdTtBODmpQjz!PeAzV%|1FNI75NvVpUS~Vj+5RTClVrQ!PvK}*tM_Wz9`xH}+X!2; z_c1>w+cmIVkI~Tl7$tZIc=5c4{9R;wz}awj2&jBTd_LrtWZNp+r~Co={Ih(1%3m0} z1U_Q{Q}ii+Hw-{py*zB6jC|VPTeg1LKIb1G+cNq5ypKzy;q!3WzT_Vz+ljC>qXin3 z&$D2=-utTm+8E_>5&D`=?{WW)aKqkpg?rq;N4*NiV|)?r zOxV8QJ@0JqKC;nP!Njrdb{`Hw)NLO=y3sa-MbNt2m#5kOKFxL~X7hEQzpmNVZ2DlT z;H}y8X~Ay@eoycRfuJiZK}Y$YSSfx*9qP!_@Lm|1b+w^ z@#ZuW&J*kx+_U*9U=EV`2*EYY&j53L^A7+|66TENpTImRxKZ#5!Rwlj2L5d_-yrjC z&A$NVJ%S$+d{FpLH~$v+M-mE3`ZZI3n|6!R3Mn2p%kWq~IFC zF~JjB{)|wsYjY10WiRz=na>vG^JK2d{06~m1aE95SMQP8B=&KcKi^9Ed|mJ< zVNABaf&YXT%@zO?f+@gNn|8_4{~+Lyw};@e>}lZP7@1Fzc>{b#yt}iLz~7f;yk_>> zE(4}n(C~-0)m<-Yd%N?W@IKuZ_zCaPHoVB}J=4|-_^Y-Kz!%!O(3G9lJ{#~H!Pm8u zLbQW%b#^QSey-p^#|X@~buh+z1n=)y1I$B$jrejW`QM!T32RM`b>|VmM+Ltt_o`?^V2f_MDVwQf0NG{ zv)BuC&U!20>{(ACUDqiUn`beN?*c?!o6Xp76TELWOV=l76aNjt9}50PaI}Xpp4bzM zt=aUt9#VLd;I)G95WH3Jy@K}(ep2uYf{zM*Pw*##zZLv*&!0i<--4+E%~`?Og7XFY z1&0I|3+^v?sNhk8#|f?%JXi1{!8Z%uB=|nTj|qNB@H>Uc$eK;h0Iu5f^TK73A@83B zmXpuUWqQ9jm(nnqo3y_=mwEl@T>2SQIe&64bLSUx*KgZZ1?sRJW`lf3Z5m*M!=XiJfCG_@A;R(yh3pGe3qgU=Rb?S>D2i@iN(Bg z=Km6A%hN~UC*nOlpE0sz#=PGv)ZY{;wo@23=5qg;o#^vtz(>5_$^4?sK_4;QeRSQa zkENINS8X~Qm{psmguh&Vu9Erfg1;B$uQJCLFl?lY?Zyn4*KGQ%;Nybd7kp08+nF>| zf*pdrf&+qk3a$`bCAd!TY{82GBi@sOTX$xT{7L4&?@T%P#iQd9Ji{>-U$beX$hxq! zNKOtBJXY`|!LtM}7JQ@Nb%Hkw-Y$5z;D-et68w_jiy0HH&$l+39t`dBk;JXChC-|9u=J;1+eoXLbL6hN+`>zItU-xeTKmP!J z)h540*dmx0oF~{XI3l1e>!rJvxPqgR$zW0w4CnJ5(%j_%95oW4P&e`^Y ze_@^ze7?+*`45;^Z8~p&@KV961#cGofZ)S|j|u)*@Q;G2L57+mxSQbqfJ5HOL8kX8 z!Q%u^0t{P~GvFuUO$b&6uMoUi@P8PJYR65;H7{=-WwK@x2px2FQBw~HX?N0Z7wi@s5?m#CoZy9mTLeEO_!+@x0khuE07Hqb+v71v z=2e1c3Z5%?f#Ai0R|sAy_*TK21>YrjkKlcR9~OK_@NVaEi=1EaMh;re(Y2B+0RQM7gjKo&1L#lkgLHJ96#HPZ^;VMIc&v2Y2!BHt&#sz zS3HM!H>}{?^f@dB~IzK%412M!^$ zG4ofJFzhi|!p7L2KZG&9cnB$E4_$@x0h~QWyxv2}xrKdBwaIFP&7__@bP{9rpB#EP z;9meE-o7g-VGDckN`_s%lKhXaWX&=VG^=RpfaMR%u@AdFG3R?@eOnR3qT;TC6oY~gl2uY!4I}K|kyU1qYGTund zZ5H%-d(~{~U^}2@I}K|nN7ihcpk>>DgW`xG_)Ge7w8*btXw`vt0=V%+_Lv%M+vZf~X+V5h5xm5wc$_hAq40nYXg(46C)>TK`K+z;EMvR&f6 zM{Z>tGT;rf|Bt;hkFTQ0`hHb)C%FkB8-x%x37dc{iK6V1l_X@9BrE|;LUJLIY~&_v zI!Y8HB8mzkj4*(rf}(aj*5J7Rr5!6vohe1UFMa2>I{hd>FJ2xWp_`L7GuYNeG z?>V(~?N!~kdmGbYL%WzV2Wi`0rbi9E!Ss%yLv0o!&J%_{gRPs$#qS#^&Xa9+f>s;) zw$0!0tCfw0enDO?5+4}~2;K?$x1osO?V`IlWvFX#XV56RiHkU6nR;EJDUHd+_nR9< z9+N#x+om(EGUQ>plWzMWmK&MQ8M=#UDIV@1+x<*u4LudyjMOLMQ4jjf#T&tUMU24D zWSBl>qQ^kUc8cj*L%%XDHsosi3c{@%MLww|FU0#bjyTj&_7l5sXCEi#!auaLxI~;_ z(rxe(amEm}!Ar!?Ou7xCD)D3y>fJ?caDcE3Q5(elLPOLB2Z*kQs0|Jf{S8qY93ZaH zB&gL56p4nY)eRQehN$(#ib6xw&SFKmA!?DAi35hHMP4EDaA%)dB(=ezqKrwmx}jpX zp-^1yQ1M9u`D}7^4BZYo!LSta*#PSmkb?-(Ykm~?9$Cbk%&);dg_GeoU*nAn{} z;TlC8QWz#8k~L9l9VTK8#ltpSEHzXRdXXG1!cw%)$)U|+r08O(3^Ynq7^;HL(W2ha zJj60aJdmlwH8Jfrv^KQ293w_$YuhGJqF7|;aZrlbg;RCP=MIER6DKBUdY);`L`|KU=d>#)SAk)O2LQSV&8z<7HXlfHi)G&?cF3~k?FKCgWo?(~DaiXkP+b$0qC9}nP zLrGz&GEcn5q(@rL2)yoX8yvpOd8&UeUQ^K7hq{C}x1vJHS*CD)UBcJl*HG_roW}ww zmMP*RpA@Eu6WS&z&MD%oA&PT~NGuWf@0jcoUMQ!EVu#k@tL-DElWn<33$KvHB9}?0 zFkMV$YI02uUoNJLQf=cDN=2n1N}*Kjai~z1i6aiJ6K-+;OiDqQM7dbVq-Upc@klG% zPNrj=Lb+(x#8+D`4j3DyS1y9eDNcPw6{4?0>u{%jRVCSU3RPk|6Qy2^JMgb)a?J~` zk=5dDLyh50`117ohVBVp0{YYmw?Nj2fGUc!iNn>2P(u{1PDB}^aCM@)p?AX@rAMS1 z`W!Xp5jlo_V4A22Ia>;!GmY(vh$g(Bs>ZRoK}(H|ay?h9FjO6JH)xF^%FA4_(GcZj zE@c^O1-kb2a-N~R@|K8)qh{8QDZ*pjJ#7pvK zhbSEVo~R|gC64Wuh&Sa@hc-vNC+~2G!qF3_E#dH69wwb0o~AZL>D}uPg}cv?&gUA( zc1y%3@-Gf;j`&=zcZkAmG^E2l=-4RS!wyln%??qx$HZg0bh#}(E}9)WBcBjQ9r};l zCQdmd)RV$hO%XMUfOc*?N1A4+6X(12VY?cMwGdO2_!nZ?D_nIPi#P>(SyVC|la#_fv52Wr{M4>9z5-It zPp9eh_KWM7_Oj1c#8ZxKfqYe*bZDr0T@0w_6p+t&^_Ez~v{z6H{}9Ku&6U`GnRri} zGL+qZIVhrm!?_A!J0v<8ngQD(G0IR~`wVqhBpbTEeJ*I0p(U`rFFb};!uG!SvnJ$a zf&4)1X3}~2h(E+gBLn5-WBPhM{%dkkUOpE64N+c>h)WGoUXF--rj_DY`yzEzlsPn0 zeJVaQ^ke(k>fiiXDB1`7*uGJHEw1H`tXKZ0#R{gC;+OWfsng=0^C@*&vv(HXh~t_> zo5;J>HzJI?{2~z@St!2|TMWfSJ}kZ!J+9?&g657hVhj`27*Q(IO`t+~MoeNlCgUPk zs_(>ghEgKesk36IrojBjCh@a)&d@cH+dGh|=?yV>NMl{xX|suj?H9yvk5e zhi3RJGZfR|5fvbtG>OYPbQS?}v9VprwoQh{ci0M_`wSI!D3k&6oC!A_;asxspQx<& zis}wKluM2>bUi3Y<}&G$50;adbWI1#VkW&G3zpaT_zaPC4i$?Kd96ck5h`zXXrTy~ zs~kF{BIG8Aj;i+3bv@-wual!>m?2sxN69Xl#EA}Hs*dtHrbXg3t|(eAVcHugqPBz9 z7+Xjb+5W0+yvK`{FB_uub+mlN5UsDHm=n3 zx;$yM-AT4JM62yCGTIQWsJqJEhG<3IUB($|7j;U-$kB#qeceZv8KQN0A9vHgro=lej`2GqfYBMqVMmHuPdtF>Kg=+eH8xVdZHQ`Yr2Ne8RJkfsJ}yQQ6wppcg<74qan;qS5o_2B3Ee}pNA}w`IzD4rT7lEWwO|zE!LfK3lp7BG~@k!0S@|3pmTIybDttOw; z!wcoTvWG)2TB~Fx(=mBb*ZtONc_-6K(Yxzwpsj|6fc`8GGVK*dO4 zxW}wba_1UdN|D{ZwjPmTYc=)jRwy5l-I-R35#7GC9+jgEjq7&KdQ6_sKDjoZkVSvd z=}~z;A!iz*@_a&GuSo=UuaR42ld*+&-;O84?=aMLsatHv>kbX^2|Sv$D&2ofm37f0exqQS14u9A#)DuHiYEY-k(G^EsJi=y}+7$pS;K z!nR9Z&7}L--({sNQ4z0A`kV7BR zJ}-}1Zy%Ip4n1NYl1mLG#;mkIlt&EZ#yn*ol_?MFa94x=C3BhX61AYuWtpL-m|gZ) zaLZ7s}lh0$4eEO^Y zhRA1ty410KXS>u0CcXX)REZ8P6oD$&p^h?0J;a|^TR{u0Ku-8`AS^dk< zaJGGAD2r|18KV7kXZ5q8DZQFO{%DAl&x&5QUl%pZ5bd?Qs?Q89=+(xrt2*P*7ST=B z@6h2E_u3+2)EPr-ka{nb^R%`-%v5aXDW*C@f9tgjJ{N0p?ZeA0dnx|#6!NkN>$Bc! z%`+5BquAKHx9p?NFg1xMdS4{_sVzHo3Qza$<9CV5eO6O*?{#9J+G^;P-nb*Co;UO! z(>_C=^~U`%HTADL9QC8i)O<}m7hk6CYDH^|&#rxT!sqbkbhti!n#B+`)zDzrE?0lj z7SMrREjb&m&KX+TXPp?Xp8p%$ zIG>}`K8J7*OdWJ6)o-*K`Fu+(V^p;!*V2ozFUBVw*ydWvwAj%77cYbDP7{uL#~8KV z5cQ5RYMb%-#KldZR}9fLj8X3ypG*4`$}#FQht`RB75IYA3+;rHRI(x32`8&eL(gBF z<(I4q4V{c?<-M`s_uvak*rvTqb?bCQF@gY;*mx zRPo<+EGMI`_sdpC3{mOks^UG`wxVAXes@@F=#`7tf$W#GjoQlub+e&${fO??#HBky ztv5uaJ3(zS^hm!&eiPJIL(lZf0`1boCj=8!{>wUrJ&1FXO58`(DBfVIH1vMI?XVp* z^l!Fp+OK_n+i!{AB-Q?aCcFRjev{QsLlK}UYTxVH)(tdGt$&M1mr{{B@-`8TJ#+nv zRNgyGe1==B78!c)l4en?k`HRzXP0yqct!NPn!dTD*{?)hXUH1R?B`aA?`d1e0E{sz z-%#X$C4LoZtD$ZK2FPpFf3vs?>2q!$H+5@G!@Td>-_x zQSq8MpB^>W(DehFg-5M7v}8bMQLjEUbkBf~{OZ*SLmOe6qt?H#^Z5i**grKrJ77C( zX@*`IaLjLxn);Epy$hPFCVfoQC_WzWmESxy`6%1C4bE3H9BQUt-D%={E>If{Ex}l~ zKpik-4Q$3Q^1?pRDTIKoQ@0zsq02h)C$&wJD{A0&u~6+Ywq64}g9d!6!^IA~NG??S z42?i6H>x(DvCWk>uu0sc@PIP@Yr>jn3+PQl69#To_)gTn*v8k;qOa>MG?>CQe@WCNsE6O8-gIc4 zSga~eXd8_$x2ZV}trJVtJ%+*uxA9x1wmP&$+^Lp)#o=5uN-bCS8j41G%hh9sXgpi4 z_8X!xa=AKYh(^Wb>T5$QnSL=8H<)~$I!P($ezaUoKE>&A2`*P3gta&-}gF}F0s-6E7kfR zGzGNl<$td_Xs8otwQ`-+w!XOQb)On#XmBiMTUBc)rQId|Yt=?gt}(H3{_E5hL;0~+ zfOcr&>sznhYDJ$pl;Xc${bIr`jcpPel>d*My6fTCC7@74bh>=MiZb+KRI#{Ub@x(i zrvC$KprM1YSAj+vIu<+8f1^q=^h4}4&=fcD?=2`-7d!GDK3;!ua3xA;&7K#ZT(sMd@$}F|2=BbubL7%t@Yol777WxOS}-b(f?(&*w8=X`YU|I z1^;=^V)q-Ov)JAWuc2kzUb#8q9e=!))X2*S^jUY-$j>w;*VFsI`p|eUIA=q zAZ+jW(C7Ym7pb zRNc=+y`xxss-9q?JAOw3K2y6KIu>wD<>L8GJ;$x}|3b~Sm|XuF+9bYIHyS#{bhn{j zhAx3^hoRtMP2z;wZ>Za_C7^GaZgRyAyIXywelnCY>|ybhvTdD0A(qx(t6)QA!n zhN_1x6DL(yLpKat4(em*PS{SVL5A*w?UWj7=pn>;T4fn(Mx3YB3_~Bn_Km7H^fhw* zjatgoD1IKc#P1vRvay8>-;Vdjyl1HE@Me&WUw)vJTuX80aYnff4H%A{x7wgdTsa(f zbJZh;(%H7%_?*bp-e1R3&ot1`^5NK{t7Jp#hGUPeiVZzFJVSk_Y&_vksqY+~3wqQL zor-<0o-#zIRNt%phUk>)dv(;%OGx1d^@E{9NZ|(+if45x&M#p*tNI!G7Phl$x}l$j zp9=UGgAurBWmP1wbD@W zh+=V0?KVVbhd-;3Hri+92%=t^#9XE!O!`FWXSIk)KQZyMTFSH%K7S7QS*(tY;0)9F+??Vrc%T?ReeTaYMI_Y6hJ)v=%l$>qkRRz~*PEwz?#!SNU5( zhNxHhTkV)o5*U{PtnLnd?(ecDg;2O-lE$nctIVO#{o7dAhLTO+=W1)+%%saD)VkfF zVi9VsbjU664pshdZ`(&k$Gh}&;V;#fLcW#RhTDVA>5 zPWna~#?S9Z=eoLCCz+aD)|DCRBI^f39k0v<^`KV>pnVR6t-ICV&?wltTLp$PV2iP) z87hP=##+qO=&HDKf~$vhr=f-`r-D{%pWNztTJJIGlIUrDsEKpk)7sR&CD(nd%*d8p z_pz>HYI41g)GxLc8TuBfUu>;6L^uc>X6g(zF^|KBbx@b%;=(r}%S%0TC zr;Vw0^|zura7nOjkk#9vLOIAv)`TZwx2nNbwV~N#aR1%9Lz8O^PLu{)tBh^#nE9^3 z)&ZtQJSlvG3oq`Bq7?8f71E2da+#W3w~W~?F1IEbx|gZg&=#gOn#8U#OZ+akMs?(T zisms*t}Co!hi-QbwR+Nvb!eT8oDH{P4ILWO44P!K|?|DOZ>)IX`OU>;ql8vyj5D(>esxWk- zLo;Y0Q==FV-z*ZWgNCj^xI}9pUT{xkmKMLlm1yNK9ph(elC3f(J-;Vg9*5SsQmk7w zxt@)$k*U^QhUmGORBN>%dTu7wy59-6)s<##Gq%wQ&$!a9XAK?h`ZrLsp^SvTgZ3LL zNZ2mYt+x!7B`gCSHdLR`1Ukxelej6NGw7_Lr3w2Hi|k6*cavD1u-1Q^6>aGLgykZG z+oyM3muZOBb^mr{JG43Cq$}4Uy2qYx_2O6>MMh$=D6on&x#-#_SThaLwNJ2WnVMX* zzMg2U^x6{f^q;j++t441L0!6W{ek=fCtJH5S||#w+Kc!axaUlrO#fo<*B51W<6r44mrEpdfL!prsoZs(Xmxi_^E&~O|@D;h9PV5wTwbhmBn0z@gCa}ng*EaEPVjs{7 zLmwx8;$LDNGITs~K;U$%xCh4~jwcQYEVZJ0YWg8@L|~cK%b_uWZfk3AvNZ}TXO)=CiX*=EnTxzICQZs0Up}3?bQDxn4 zC_X7au*!PGP*zeQXuBp+m{by2ZTuY5hmQNPO1y6vuX!wpDU8)2YRf74&4|y$BG@~wH1qb*3}Lz37l^&b?ENEYppjO zS{r!1)n%|Z+*Z3cSqM`}8r{Bz*LR_rKEXOaVgHe11?HQ6aY2X3+cVkjhKp?KVS(V@=b z3G29_$P}XZF*@AEOk0vPUCPwVq@NFY!a87V@hM9XE;gBb>ZeS$TBDd6MQ%#Fpl#MI zhNh)NfmRzTPw5QWYN$TtBG4H_weP|(xXuyk$vJ7}l% zCevNw>y%+Zf3@s!WV=gPV-tdQwHlM3cgEdYBC3OSJG41sPSA@E(U`o~8pW|3ldDsg z2EA;(#iZAt`>n$c-5s>w^3S03$oA);SFL1+&dArT9Ea`>eABw!p$CHAvHt4NV?pm) zA3F3*(0f*JrZ>*D{)ep&np`xGy>E3hv>}x!+0f&u%|Y*5nTGzFS|i`L@(sP5x=g%p zO*QmE>T;0V&`H=nu&NBHwB?|AnnYyU%RwJnYc%n^@}c#lLxu96R+`htf3i{Y8 zV>%XiN&0^4h~?45zY95HU1w-$dXqR}ZFIsd1U<#1e4h?9<`1cqC1*Lt>c>bmx7;IUmBvj)&H_i8lwA~ z|F%vWqPvL4Et&1D_b-CJw0db0`RQM(udRBfy)L@{chXv~NznT2q!pG!;q>*LwAve@ zyQC+%UDN$ys?BeF=o`=`_NiB7XRK$Kj!E+QowdiYbr#=Q2OQfsupu!@ukD=lpMrky zlHbkgFZ9te>3}BHNs^dgpq}daLUfE0$@mp!9yV?leT{{c6QtrAwF6`_)=xh|&}G zPD7NQwBKZE6knxZ)JEF%>Y+^L`2?U`}Q zVC!y()=RzZafWEU)W@ziMC+xC?M6eiUg~SFG4$fN<)WXx%@D1Z`r8K#y*_Sd;3f8? zLY>|xv|CJ}3QoT6i~dj8!NYnNS3 z)F?g~*BQ3%MVdxuECFp{($8JQ+5apin;!Y%>@N&a-NxCyO4!EZV4R)9gq26e7TBg3 zDgzC%%MHx~4YhYo*WsxCM%dj;b?S>?8*QH}(>AKVc$-E#@2<{Ew5!`95{->c>rbf^ zhjv6vXfw|4<)&Elnjym;;83y1utzcJbMH+19j0TFewUSLhs~gH$0Yq`E6d)_)Z|*9 zQ6sbMU51{>C>GiF5vIGu^BGgyW_C>?qZ_6EEM^6w{p&z zi|&>c*aI{P+7%SoQw`A_{t5PMLv)9KqJ6yyM>~{>c9S96p-i-wF*S-#nayI7{j8yj zL6hwRhG<=0Xn&@|iAQ>_^`Bx_R&ieV37e_*XSGDwbB$dtrrK$21kiKq9e8ZZra>)7(B;MfUNF`J*X)a_9XKQDcgMDQ5 zNQy1PM>DM_X-IG39g-BM_J6)!$2OkB=CiD3d4F4qVH2b!o`kgVt}1$O=rUOGwrj`$ zv6g-67)auZ`0D<*c{@K>I)+YHQO;X(h;M(frVq=$EGf@QXiY3MN?ZnMi7VJTj5Q-! zqp$Hw)+Dhe4N{6s)=c11%3*gNTj}a-zEZs7h4oYd7MFn5`eRE@=WQ%~t=g^qw78Yn1D}>S!2Zdq#4*-;GLS-;$Y$c$BE-*nHg=ng#S6 zF$np@JB~QF-F)2jh{qCt;@EU5zT^M@{Y+tVANRxCDJk9a$28ykyvntCzMo~BE0RjA z|BbtKo^{TBW1z7Y@1Ei-)z&|9Exs{OIsEslXl*?|54t3MuR>qxp$nABg=$dGQK?i(Dsh6{_dC+7d8iZl z(eXUxX`PCW^L+gQ#C+k{sAO7?`8u}$t)9}=HG=m}bB%n!^8D7N>*9}$D%z*6WnG?n zWcWA7e3IplEOl?vwXfTrHHq@$tI@6W{C@Yx^P_v#g>u!>-&L!5fo2MC$x!?8?iX}9 zpRdvJYuOf8p}198q61$Mg;K`-#2~K~@3Ci}zOAmmkA~LU^bXtKN?$)ZKj)XW9(747 z@ez-}lrG-I%BlO-i}tyoKUpbeEn8nN<Fp z4~aK#bIDKQTDTD!CGOx*^!7TuF_PsP*7&X{d|LvIx~)r+_CeT%VYZdx0S` zMdjulEq%-UkLZ2tSJ!)0A;qSp*8Fc*)cU$^=6HOs@j~vU@TtTqNK4R+X7j2Z-^Ae+ z^6y*et@ZzNs7)NF-XrLEv}Pytws;ZJkJIw!v;xH2&|GMD<{fSH8sHTB)FTG1PrO#& z^@bj)NGe|SS*><7xHtyzPC>(ovzN|1lCXYv7R5+SMx_o z^1rVkb=ms%g=c(HKi{fT*LvR`=bNkZ-GAIarS7d+%9VGgMls;cuAH|P`FlRUVn5%r zB)1ZB8imz*9gmi@e!yGAeWdmi!T$BQN7twX?f$&&yqQ~3H2cw4s(02sSmWD%e0#(I zSiS4#7WeO+d+0j#EkjDtyMNbnvG$|S2DMMhr_P}g<2WZel+MpJtf6=ONq*Cx5;T`t z;(FGQA0?Ku+c#Zb_k*xvt;K%GP48+Z`2xEsKR9`S+Y(>=MuWG$^O~8$D)A#*TikfZ z>+fo86OYcn9v^f(z9sCN!}HxbZ`!{u4J}EpgmpFLR@bc7=yL$l*un*?pJ)&1y+-Ya z%HI;*pvRXf9IN6pMvML9J1HDiTXpKbInRPsnR5Gmw~ilgRQB1oI`0nU5gSgawy-n+Hx-EJ0tvFTYZ&ddyQkzZJ_0PbzOVw zS6lyk?dz~_aGZxY&LiyBdM$lxS+~IB?DHFz37K49xOVTD?7OnkD+(G_{-?8UU1DEi zZDX08iw=8!Y?Le2YBlbwX<0dA-^w}k)#x)it=D6Sw)QWg{OfYKl-=it^(}|<-OW5= z=-7O%f8^RPbd6&;Cl_jU>98tM0Es@uK7BQH(AZ|g@XgPK+`6upaGZLq)~7?-|D7B^ z^;Yk?QP<8N(VTyE=WBfXf?kX2`BBdZzt#NS$;m3tp{@ljbe+S~~P5kr(O*FsZ<}EoRH!b)rc@5-h`D6PVgAW@&^d6!>e&bNI;Ad=D|2fOkGVrR+ z!AIdfBV#zlKy}6VWo-l17|0E*30IE>ZfP5%R*&BaNzZV{sCDCCfP3@!J@B(7al6!B;^EH;bfc>_YC`Tbv;#eI2kA=^ZJ-iVMm&TRtw zPiOfoG`(el`j8S0)9$CWi_fr`K{Z&6TslawoX>bf&pXX73!cf8}joIp_!qkY_YV_#rh<++~$}CvBPpOS) z=1`3)Ysvw<$8++O5uy9l^;6zyzh7;ea=86l>a{5!w?C}jpR!$0Z<3MJvt;CE5j{06 zc(aI`y3gK*{6s@@<kuhi?d)mgSnb5?kc`WHS7IA7RyYGkGz}Nd0 zU9TU>&SIN*ZfafRTjIdft>^^@r&6o?7;?32Gwu1vqwN2%pr^IpQU%k_A(hpsssq(& z#}1#XKTq2n{JC0Bl4GMj+bljuznj?Mb3wnq*dX>!o84i9cw^ceXcDeIXnhXN4rnG^ z{cDFfL2tY~icnLdsD3easemGCSK&oZN6l70w*Pz7VOU>@qTCkBXhF~WP??;LnlI^% zv@z;|q8dqcRE#=$rl@B}D(8NXhbLUo(S=#H2fk_G5*OoNFy6}U!q*7mAlu_@>Mqd{ z?<04KE+QVXyGViTg|~aV@Fw{j$XNC>1f#eMZ#bU~Ig0(nZaVTj`R6{S8(y$*f6dIxg1 z`m^N{d+;$)m)NJ)!F@`F+AjR=j{KZud5)#9NMl>=VRc#2kiiyRSC~aHw`Wa9s~hxP zSayehKhewTiEsb*wR%Giur7v-wfaF0u`YoeW(|ZKWetXmx8fj^t;-k|0B|(;3DUg*`DrBvd4q0zy*dchXJPYzVtI!S-3#|&| zEzR!Y=MtHA3}mf62(sR$@|kB}2KRL~)!IUvu5=OW7u!@~OIdR#TUW4tl})9$#-?&x zZx2J*jrM5BO?ILm?z!4Mk=8!;e}MhJX;Ud3w5fa!acm#j)LM?%RO6r7RGY^+Zzni! zr&x1_HD_6K&ZhPt{H{hSwqGfv%dZ?V*pKoY=0{i2-j7ll!kS^M8O54-zdHC_@AntT zjeZY6Zt|ntZt>d$xz&%ZWxL;FaPRbc5^|T{Gmr!PDdt#zZa@AM^DuwP?I?dLlX!p1 zPcn{tP^$jaJ~REP+;aV?RP+6*HBR#X7VfG3)LOQ3Y}+}uogCXPj%_!`wufUA0aOmP z0hDfi0Hr%GfYM#annkQx%$hq{vm$^}Tophmt_h&D)(8CLkE>(r7WTh2z%Kw-7Z3!w zGawXlS3rBn-2u^%djh&a?hEJ%c_5%KN75Ct7l!*R?oSp4U52^{4rt#(rA+#*vW+vBd`nPq`+>F zQvlW5*g=UcO2o*gD zzXQvHoFz_o9E5SdH{7?036SlC2O7K|2tIp?`EXw%Zh#yqZi7r>nIWEsJ5Rg=St^cn ze89?3GNd%H6r;hXEdL%vZYwy${~wV_!Q}24`V`{)yi_b4d5W z8S2Ts`BJ;1kSE&73V z_=_7IcotBKdi=c+f9K)vO(G~bB6vV>Z1Cm5qk^-8tAdvW-y8gR@Xx{iZ9BKUyzR)g zNo~ist!!J{wxR99wl}w3()OOV+uOd<_F&u3+J4>kr?$OA5<{{>CWRD-l!a7;RENwB z`BTVEA%6*ZB;?7E-68Em(?T0UH-tVE`g5oiRur}%Y+=~Wu$RJK4LcO}QP`(pUxb|u zli?xZox}Tuj|?9ZJ~livd`fsp_>Ay|@CD(G;mgCGYL zF(_hGL}J8*h?0nN?E@miA}@(dh|G?h5;-SwS>&3?haw-1+!nbra&P48k;fyyj{H6{ zxI?!NqdH9MP|@MK4of<$?C_Tkn>+lq!wVf=>2SEiCmp`%aH@k})S#%#qh?0cMBNv) zDe8%+T~Y5weG>IU)VZiO9XoXF+A+4{$d2PW7Id7_aUjZ#en-6(&*w-yK^TDDR|rZx z6noq-)Id1C)D!_tduXDe>4eo!SF_vgiM7(jXup?;KG^N{MavtAPvHy_sh|w3h6=Ez zaf>1Ne#YgfqoJtdVW`iMsH-c*%~(U-f|h;<)a$NI5Ce2s5!oD?-!N6p55xeo8K z_lWP1>JRu1#xMA$g~FFCEL>`3$Pc*Q1uSo5xrF8Nke{IcGs{2X=lie;h^=Qhg*spE z4xa<-OW~B3uRAhgG4#D7DAZt<(;`~@xP$Ie6GVDxb^jBMUnN7l+2YKDc$UjbdCSr|HYlj=M|mF zX9CM{tSRYCX_d2PHoNDu`zCg4dA1ArvAdECXW7>d#K@q_Q^%mg>UeYvW!}xC_f?Y=|g@VVEJSp3Kia$G*K)s z>PzYN?MwRet*861LJZRflK)u)Tl^#sCbtfyW7F|Oacq+YlmBaDo#xWe&?}BdN5n^`|(iM^bLDWqIRB(%d$LGQBE<ZL%FunTLT2(4p=W(bP{K{d~=~kps>UC*vL9-x@V!J7g zVpz^HJe|_jZMAzkl}Tp$G4km%#_I9bccj&A_#f%6HbQ7QVqAZ?b$#i&)3xTC*7@VJ ze+H%Q8?zqOb(!4GR-Kmi6Pii+*KM1wF%0kRS6GIOhg6v9EX;*rkP7pkA7ljPMTJ#c zAY^;Yj0#@@YzsdfAn{BHLf~tdkP2TR3x|w{Uxm}#NXSGH1#2>9Plfr8WHwfQ3ai4d zkhS>cp2GYT13&X16;?DoA#cHnu@Z|hze;f{q{7OvAKbTNw#B_gmUm#jRhT^oL*9wG zR*AcD+N{J1%(n_N>QMN3yAS3!P@Ib4Y|n8B6! z9&@zmO_R}H)Ob+2^k?PAlu1V z2-O}EzcRpSxfB;eD$y6G<_cfhm<>&TNF@eItitg{jRweAoTn=hC+EX@nY#9y@=t@ay8tmA@QA1c^};Ov0N+HLh~0$g?FQ`gL^&8`{f2`Hn4n9 zJ^=kgkP2@pe-LsLzB+{`f*_T61m~OzZ~lH1nkOM~XBpp}!k4&NK7;Q};a3JMcgk(h zKMSewM(n5HevakevBIdZ$RQ{7JR`;iO=P0kYC6*AitDvL7tHB zz|U8Z3h!)w7xG8>9^_B*Fl3PW0J4qxCuFet7_u!+1@V-)`V^r;A(eI)>JsRWu>3>~g#J@Vh10>okf&7~G~cj1qb`HyTbAFc%c1|CW67&|N!ii%Fq@R@v>9W!x1Fa0mAS(-g z+CZW2y_du3|ty$0vVi}7sn@AA{ zsqo&N8ptd0%@Qfb(3eZ_h8y~3aT27$31|aknl%@ibe0*`d}zk8%(SkBK8s}zz8`{l zf#p@!4R9A&jj&FDRCtriO>j?QS%@!qC^4C33BKQfR%hJ`Im5aQawfiwp~Ut0CWaC> zSa%`RLP#ZU#J4XL-l}mA#fa@8}OY2CGN-f4U~AmdIEBzwGHw?>nX^`tsMyU1f&vMt!Log z#_}oaS!kYQx!rmW`lqeGL9>IUuwQ^%+Rc#4{yU^)zXWOHJ^1)N2&BSqmG{FP0ErR6 zeibs~(S8TAll?AaXZtSliccUP9Z?SH~O*!~!Dq>3fpUp z8S@}dt4ZGqj2Y#S->P|#XOz7V3oy*~c!Cwzg1udv8c2)+&VN#D!TRyHx*e=@VSRNe zRxp?0-)O#Tk}Sqz&6I<+(p5MSn1Gl|aGlffuN42v@Xw8ZGw^RF{*~ij1^&&!ZhwK8 zk5i=iI6<0^(}wvtIhv1Cqxm>7nvb>Bd~qZG-GqPmZ&X%ISwp4!N|BzFS6)(An^aTg z9>lJ~irUPI>4VBDD@7vQmtN3^wz5pBsrJ;DRM&fiH;Tj(k2_^vsk^qmqNe&nQRoC( zym4IV)wK=vdG&Sfk}7S_X{c|}Ou(&@_O)ygtAI^ z-DQ`Gq`Fc_#9vZ9)15RvN#vE5RHw{AbP07cJr|Csrp_&L>uP4!xjmj1@5vQ)?$Y|2 zy7?_Cif?R5MP);syG4nRr3mPFPb;aW{7{UfA6rrB_EB*nUQVj1s;zX_yUTn%IT4wZ zyq?L=@2K+Td+Oa)l(T9inx0)!<<3U|cxKepq3k%v6_xcckp*#(Gqt9z{L48G~N94|0P*IyyS>o|jlwPn%Q>shr=Ii$1>pzKU^?sfnEzwBE5P}No7S@n!BXT?Gwb? zc(afjl!3R!AVfl4X?evQw}3OTVa5#9J*8D$UpJo|Iv#TQ<~g11V@tU43tvbmE2*XS zg8;4a->T$HI@-g;it4hOxzs1o=TSoywGAlanmXYvm$6YtKuA<&8a2Ycy>Z%+?vb)kf6W1XMJZ^-zVhDUV%`3}YUtUv& zs^Ct5_LfjNvj)+WSBX?Nx_wDyVnzMf$`TB62-{LZX*HgDJwBu-lSNm2Ms>~HY6rdb zoL^Dp&U4q-qjcETGQj7T%tXIRE~zgO<4flHkaz4TsIHjDW}SuXd>=pQEpBg0l#zL; zG!ByCp6?m&p51`Kwyb4L&37Z?-g+g-sl`?De4|Yz^$mQjMC09_hRS+xqo-lAptcM} ziD?ku4y>ppjW{nIuYX;?6pzrsQ0{0hWi3=&QinE=h_szt$eXvEs4t~dH&jvn(5?%r zOHIAG%XF*9Xj@lbQBv8ei(#&-uPCJw$g63nD|L%>G_{hdRx0DC!ZXXqpVwP!ZMx~_ zdB_3=06|0SZ&b+$@f%f^y9(3WZaqVgDN>qlqHn8t? zjpu>MY0I#-o{yktHE>jUN^9yWE2azGN=44}YcS`EgxcE5ic+rcmT^&g8I+!5MibG} zT(VIA@b9U2QZ}CR+@%fZC-VpCiDPD6Np1OjBvw`BMh%v>bffg&&MfIDui6?<$#k@x z^rXs~YBxKnrcGus{#RBax9E=O{H6(L?`Q$sX1rQG;CUN{)3e1O8e+wCR90eTP3bI} zaYa_bq@sk(+_Z$Ey!65p#-yC&l%mX(Y%#tdJAp)^$Sz79pHq;VCsMVy?4tDil<|4& zJuf9QB`H4#lwFWjlrsVPw49v$qQuGhDS4tUyP*neIbJmk8sAV|kA6QW&s~QWTCqTP zu~vkEuf~)(nmopqdiT6~;ZrU73F8rWW=>K@QC@yReu@~MkeytVOIlpRZ#0SLX_Aa4 zJE!RUfUT6?u&tEd;4|IzMd=>hDs$%2Qpj_jhWsRzR8u1r#+~PO&+@t_^1w`nOn3Fn z`f}Fi)_5v-+@a_k7+cxkDHjwtr>+9C4Lc#~O-LOT%f$H@)HzACA}oB!$-1nPS?;Wo zTC|;Nq(G&QmIfy`1&sA&+CkF*tr10{2l1P3has)f%wdV1@i3*j>kE>w*w@YqETCDJ zUR^&S&v9aLJlX+?qx|)VsodtBxxWtCidMvT2J9wPV;vG&?a>feI6-}LW z4b>RybV-?s8k>NWx;k{LwCPE8ZcGFEa?HhI-C8d&bHNpzo}FJ)P>nyLfnB0;Pf&$ zbuWWM_p&@JEwl2+PAI8tK(qDfPqhC=4m1xFj3*KvR`VVz&S{z~}$h^DkGBKUX3bVED7-DuqNm(7v0mOn@bR7>%Zq3z*T~yW2 z7+Z(tKewiCmR{$vGa2(HJ2JV+W5w&KPe9>U)z*t@zCw?4!DRxy*|ZeynWnWmO}PXY zI+w;Q4#<;b8BfygvLex{W^ukzUM|Y?D9;swfzRXiuJD9bB_`yhptYN02J~+<+A=ys z;IV=S9`qbA#?4anene2DLxL{5RQsA)Su?$)5}vqy(P~FeCm2U7svF#Bc-6F0q_8x1 z`s%RWa~Gk5w$c{yJ{^g-((0+mjfElx0q=xBGnF}HK)#8vFT)>Et4|)NSn63*gnduz zur1+C7z&n_w9x_a8W{)WUjiN}L=Y_(xEC$@(T|*J3vN<)gFry`S=2w^MCAwgD z66$d}PI^S58#AZzhCXOqCTGqmi0?TH*NJmrf(~p>XvXR@8FYH*h(zR6pJ&dgZtcM& zMM`-0maD<@@PS#SBV`4^xUnnUf8pz`!#HHS6?Oj?p0}TOwT-H~ykoRg|U7 zbH*T}(JA=oF~{hgN4h7yy0o$Z2R8_f^4Ctf1iBdH4%_r1!P84-1*SZVj99YJQng5+ zk{ma+LGN{7f$yeWAUCBfj7PL0p@!>qQ(b43%xlpbH|r~^DZJM|yN&-AeF<$7F_-GN zi$s-<01h3RHRPp8c+>Qz2j;L~{!7a!8Ub;RK^xav)J;-N?R;m*qy1h>4e)|1&t1=2 zy^Uk%tX95w&d}qoQ(GG8N_ci_@U#rWTu!|EX&I2nqu$}P)*-MHCGS=+3$PC?aA-x^ zD&F73`P=yZOI(zEOTtulErbi!D=PAoiNl6UN8_C*(kJjWvC#?WVIBN(-O^vLcXI1B zmN}Wgs>@k(@lju$nB|_2!P&de60OtyZ9*J*VR~*+Rzhlek{FwxGAUn-O{0lmES%#L z#MtbFtQ0XeDJLr{B|Bf_&BEadHodi2isL`y_&S`neqr6PZ3sYz|n$2qp9h7QN{>VdO?n&Pc9 zZK5kMp4Q^j6f-2&b6h%3izs5>xn3*Pn**k3xd?r>3Xa{JVd-n69Es_C(1&r!oIMut zn$maQUF2LKx%3i;H%&#<8e3)ANv9l9yX(x_sfZT!nOK=rqA?f;m#--f44!<@Z4M-P zr!Gp$%4ohi-+(n6b|1fQ%c=g|Ai9}x#bE+7M;NB@=_~b7bH{hr=2Y@IyKc`3p3;g6 zt^hjo<)-}`6+*SrVDL26R8I@#85Q$56iUmB)bhro5s->)4j?Y<9B|5ty)?H^9B|C{ zYIq}4LF+CLHQnDgQ78_eXL@ovi;dK}nugkRZD6-!!FCVLjR$OQ(B6WgIf1wGbYF)L z<4VtCKKT(`tJ;ZWuDcGaY9E#NOs3_qWKheh+JiluGufrgLz39*dJ?fP$LaGdw@-zX zw62T>DylL;fAp1juaEw+rp{Z+wJoJz^7{pc6;OILt%J}k(AZ7((6d{o=~InPtzDoh zOf@)F;4S`^qW39wbk7o;PI31&3uB}5@q|9)LsZqi{$cgS)=l3GV_NC7e51wEAZM%| zIcTKRE*c|RTsmDnTIo%uwjt3ZAI71PuOAbt#gkT$FK!(=4t5%^Jm#9sRE_UlzdCNB zCc|cL%fZueTWX$n=c{AUDjk9w^>mt8OtEqx{Nn4zJqr)6!b< z-1X^Y9vV@}sD~$-IcdN6<+2I`crcQG-9am=I+>-tlq$ks#RQ)F@EhDcW zixk?GGd54q?wv!>yiX1~v`o**W?fEle!7kj$Di7f>UAWiOdvm*V~cV!le2TiXOWZs z;vElgWu|9m(BHhtSzc#S+IZ3=X0jnUooQ_P*c{R(q9h?dpFL)!gaD#Khx?Iv#c&{%2&T#eK?_+E%4px^O8H(O-9l_nfSfYp`S_g9BbmMYWHG0cVdmC)YPI^W62k6E{Pthqm{066V$8HZ}RqDXlN5 z^qzI+)48?YJ|#9(RAMosJ@J*K>ayZf1S&Y59US6#9LlVzp4nQ%g_qY*<)fvo7@Zza zDZ_#T9vrxM0SP2=_lARZGvuamM=Pt*?L-xgHy&Dx!o_~ECN)*2>!{vaC6(UlsNym= zEdt9wQ@-Tj5~K+=y)1#wk;P0sr)nSr6@!nd1+k2z8O)4nhP=a?FH#U%bb5W$DB%{~ zOk?o$I(7b?CgrrCEY82TjW|t$9GrjTTMyCZ*7Qs?9NI(Ip@eH|agK)FFcG(W)HZwO zZ6Ujy1rN=I`8C;&4;*u(Rn*hLvYYPa@p#6roEbAbC@Wg_n}#=Cw?8va=>*uT?tt@g zm96vRGqZ57!jw#D;C^Pcz|mn#CU||OBh&+P%?v$@Qd+w0VSnJRnqE0y=fxbAk(qPM zbD_y*YoEweOQKY0xQ%N<8$u&2(erzyyQGeKijO_XtK**9vLixuc<+kyLY!}HAZn8b zT4y*xeRP>_x*GPJ>CP*sqfqjiiEWtIMLmoY`|Vx1Iw#|Bai&YXne!Hhm$A#!%T*^2 zqQu!1{$~G0_q9!UxHw)Xl+inkr2{?0;_Tgoe#C*RKs&QaJhQ}H{osTCgVQaez=T2L!#hyg7{PrmhH&%|3~{^G7c zUA-5OEcSjC^*Afioy@3-@7sQwab8mh}^ zAy47bJ=r)q#j&Ao2b4SAV!4T69BkP~bIdL2aIC)xo|uxCkC`|t7bpI-2oS8u%S}m1 z#`*u)1WcZ-%(x%u>ldcXYhwlZ|Q}h%i#ulm!jAr~G3_l(xyovK) z@|Et~=Rm0@7Nn+9;pE}IF>=qha{&qY=}ATT<5RFYNuHc-TvRV9`9)l?-ulQ&$-*7# z2`QO;2RbVuKPgRQrDx+Hhh4a*JuxvoKTk~L`!o~zo=;jrURn`r*~J!iwOCO}WAizp z%$%HzgtU}|WKJMC9e0UxQ?iqh=c2>{Eb!>|kEwZ71YLxKV-w)nv1R5=VRuPEX>S?p|e5T0%OOtkf)v#uj8Ji8*wmr>KaYGol%fPMR>_ zp#PdjgmS9saI&UmEbhuu_dqYCp1?OEbd^xmJC*J61sW#wU}7Fap)Ckbe=tu|^PtMj z!-=um_(AI_qcIbUAU?qNKKo<_6y%T&Ip`rI$ASR}Bc!LOoR{>tWq><>Rdo2zBZzil z=wpM^UCkX+8e?#)5%+S)QCU+ntAzFiq|yx+=ek9u<+!CqC%i?KB@5;Y+;%cIo5akT z8jSXQhrP7rzT4P_YHsSz>73y9jPAl)M@+@qL1Sq-W?_1ytAx9jQ-o*;+zvA7S%`$p zB0T;esHLz24GmSy&haU^MVA#_A@tw4Sa!t46~$dPOkfp2yM;t7&J#0>a>gg8jHe-V zh`tSnB^f`sld12M888>4DcRSQY)qAS4uA@H_Q-~TB3@I;2CH1 zD9a)w?7>4KytJp=hq%>8AzN;W>lFe&jiBq=N1>hQ| z(`zdA(k}(~`gkbIH@dDh(`G49w|JcZ`>%QL^4mm?|ITA;*epIA2@=De!_WtH- zxser#%jHV6mP>iLyV5o`)?9LScWVAJ$(2^B(~w4zCasI2soFY46QpSi7(v>mXaKvY z3kYZuxIh9pK-#8git0}nNLv>$kRmXue!l0tJMX=jA(v}62~co$`R2X*?$2}2?|beY zgU2gU?^Joj4pxd5&R(!}MN^3^mlaJR4gvxglXALDs!K^HOtr9r(kw)54B0bGEV0(< zf-G@Z2-232$MV|9MawxyMc>(zJ$$! zkjFcdPUMr~lNfNm{#UP@KR+{ZF=j{}#mS7T#y)v2__eV??`I}0o7XM!aNa~5EOhd9 zDx0$}Jn@s5z0|>%{PNO@osX@+-H0#{2-h2H$=q;fXa-q}$VtWfb^-i$yj)pLoDN3a zVbxqh2|HVCMO{J)OAS^|h}`rrj--%3n39yFCmg|_CU0BhxIe%)jr}DPnrJE+!79wS z)L4dHwKSNPMv}?amgRzR7hTTU?b!a`qNB1uASXNIf>hQ>z(BEGZwo>Y0U4 z^Nt&o;!E@RBIisO??_xreEBgK+GSgcRhC#lVgu0yCGV5u-43rbAu=XY9b1|6DavC; zO*FieC70mSYHopOW6!QkiLatsD|g~E=zN(eNwC6t^9F|eM%S|4Ui+Ykbc~L5-A*hT zbXz89(hvF1+~(7rEf2_1z+3aQr`20jK(Z>F5DQ|DnCk1{U5{{$YyA<%EW2%3XlW*a zRTd9Fwy*=mAIE^n>!4P5P_^EqooRuBYUsme!+3mbhskA)S-URuEn_#CqU){oFP53Q zma|c&v!0vI9cL?f(WQIBM@5=kl$aw<=IwdbgazLe?0SkFCybZQ25B0zL{O%``~I{y54=Hd8>FhSahar-)BPbW^HgiM~8 zTqU||LEZ~^ zOWgpzVQqdvZ5|(MPdF74SI*4*A~t{Y>0%QQ&U*G*eB05*#P^FDe+j?o^{I=Km#)2j zS%zRzA5aJU7l?XV@(wB7*$i-^P~|PP3^LcD=g>ZgU}xJA9iGGCtoQ{(OuSgfAW={4i9uk0YxiVRxG@I)DL7_kyB4aBnPv%v%|9uS{Q_xS(EUq1__QG&6aX3#lfnOFHE1^F+LhXP;|J6O(UG zbC>yME0Ct`nZDzHkyo88uI;tgFtf2pD8R&W^VWQj8}BON)Y<_NuFgzyJAqNuL`#~T zI{~j*zzeksJ^w{tDGifrtdN;&XoK*D8G>`KqJK}YO1pBYxv>zg-ozy|Awv=bY0SK} z!MgtJ99lbTPRrCecI+6}H*L7sgfZ?6->NVWqSTnvCqZR;BTLf$KAWOE?$a{=EY8_G zz8>C@sGPpVL$&yw(!dKBUs|x!t6YL|B#um}tif3^>Cre$O zuj!V#@dbl;ujU~XkGirK@xeNl^ohvl7>N}bagt=YlE}n}3NZ`JJ`oeDxHDB{Ta+4M zo@~lNZffgd`a0>3?aWN7vwNk>kHpF#NSE}t)pF{Um-lqV)(2daH4+7lQj3WM~j&FNbzVQRn)+;+?H$sQm1PdN+%itM1KbV`MVJQeWiDP4V6W z90kdgg!1ImK@&MtPjH(Kn)=o@x-6QuHfAZ{CWC%EVpxuY=CLbcQ-ptl92$m!N~{>B z=5R@7%K#Vq*+wpN$u2NWbiCI@pKso6Xd76HuK5(@c?BtaE z|LX)ZW|~FIRk)w`P{B(XPG(V5Y0c=r*@i4+$#%Epd!6rJz9%wQ-Sa@BA@_7;b0G#1 z=$-4cf~sC9=fr|Y$l#oRR0ivUaSgV|u{V!qZI zGm8UK^PAWP&b^hL#kc0oWD}M3LPa|gl{3>*<;gtiZ8|cW&dj6UCQ+#ND&8CE5z5)t zf$L!@2bO3&sB^@7w&g}9w%`{lR)d0NM_zTi>x)<-Q(4TLNm9Ss>%4B0*q)lqvle4a z-Wcd@X-G+Kks&XbG@CM;4eao^nWzaYM6b3;8x=bpk1`J;TBrJre9-x}Wj2)`Nu+C!2sZg63xOFmZ!b z?Bt%wjiZASV}?aTik3O!u4cA5r9SElQ&%>!Pa;&4J-leP?i)tfF?~r??GG}B4L}Lb zTWX>-w3((=T4PwFVVLQT;iLsSA zcIJ2@t0{`Bu?NjR&eAnDYPR^GxMgc{k_Syla%*#7rmzR}+orLWeXmR!n>?PL$+6hQ zD7(V6;}iW)dMHGk3@!IIb>6hzN@U(k=M=Ms_CO<8gOnb8x{3`dKse>LG?p487 zOhKN#=^WPVsfPDmnpR55*A<#;^ue707Ehnw7%`g`eVd(*m<66}Bz-;1`)L$%smR95ld6i?!@czxT|#e?IW;G(Jdo+ivmCX?G}5Hiwd>PJ^5z1|nuG%- zWo<`8rfPPg<(tYhW3clmXB5!48j8jONwp^zd4qnI=qncY;*3r3fjvl2135j38~O&0 zE9tQlz+2ur@SIpL<62C=yOm-xyREfHH5qG?SB%TNN@$UeuwH4xz`&$PQo6lvjGGDt zdE?4LbZa!ybSok4rZt}^ z(!TYF42g^BU7b4P4u&qvQu9@@^JpeGH2(&kuGAXda;9IiHP<8#ZV zk456K9=7-SZ9;to_@#F)uiue2t_`L*lG0L>7v^kUn`~cBQ)BZ4$M`88YzguBO0C1K z6AXhuo?lAbjcK`jtMUGkMR?HWb7<}i;%UX|5lOqU|Q$#cb7}0um3P~_P8amot zrZebZn=lv~`eyS+ljZLW0N5pJ#H{ts9C>CI}L>|hwH>|QTc+c6o>&RRnqUp6UWBJ!_!Z@Z}QmP z=Z_sbHg@LbVSez;$Ly!*uv}o$CP_TsY%DGM!9);rJQc*V08~Gs1+6OWN>e+^Old-L zv3W$te<8cr_Md`>{l3Xrea;-=POI|A+Man2V`Bw#v&G5Mk~%1Z5C;C;S+*bsJAi@^ zv)f3myV|2GMNH$h6Euw7`%I;E5JH55APEu*^Gj>DSr;O#eP__ID4GY{v6J%vF3vsT zboM5v2Ha|-jl_3p$}5~ILQpuX+6r@oHPR%Z6^L%B8=P{%nTlY`@#l$O3%8q`y|{Kf za3bOoiZ#z%7Wr!)S0q$WOcYQ?_Re!yQ%sc*Xr!Cc6Ka=UcH~my76-Y3WCme)1#91pTWCynoi$@-g9tuZ z;sKNp(C5(AJPyl6*4&*NAf(=)yxz7RK-P8-(ioBuT4vv1nh~AQ&Tq(p3c&7&WIwn% z?;W%#3W;}l1Wn3G5x{4{re_?otZ2`!+uklEy|S+Oh4r0NIg)AvYT3-t+=idnwaC!G zEc3lEd%1%h-3Bp$?>xa+>Fuzu?X zejt6ZYaBMD2vd&KY1wPicUd3q*n6y%ThFUGy4>WD&)r~ftPKXo$4&qPvAsk>N23y7 z){>u~hd9xhA)unR6^AJcK=hNv65F1m79vZ`%wk0QcjzKViE+xq^oFoe`$3r~C?r0m zbTik$q|++6amGuHwWTChzg3y(ZW?N`16GLI;@`<$Xt4Xj*Yh5w1z0zvU zi7i1Wi+VqMY6cvwHoOG+LrK==GlH?#R-FlaM zn4OvtVp+^n5)qL^11zSI5zFv=c_^_B=2O`M2iurlnK6!r#T296Lfr8l)g)MsA9;9r zRW57isj|}mudR^i-UrIyrT($SEEVsl6#H%2Xto+n0gCvh4~$Cvx496#-;6-L%~t93-2V%Fe%2 z48V)ehP+9F3$16uBy2EF;PT0HPm)Qcuqll}TA3^3@o-rs>nu2IxmC$?sYr-WIT`I- z=EM_jxaR)Q#3$|z;=J>fb=@prUCW%I--*`+^v#4ncz28rq`xF9hO6dLbbVA-OGe+p z2jlbXl-YVjal=wx*^qi?=eYs;V29IfwAM8cTDF`aAj0>W%NU3)D;%9%30DOztW|@H ztRpLYeWLDipuO9muv;GkXXhl|a$LTNDunkbx$`_$u{0h- zF!Su%a;2r4{$;TR@oWifh%XTD>Rwc0lo3AG<(1Xhn^Ak%zb^~rp=z^cLbaK>JlgVlYgxvN1e1)#7>h^P3~4g9Se9~mOW3KJl&xFIyo9V zg;(xf-yAs`{Mu8!Rl^3Yu30At4#au?jArUBQkTfJ$UDvj z<;{Y@R5SH1xx*Xjc)8!P*gm@3)T2~`)0w^XWP#BvyOtPIUoTso zz?+|(@^RfEB|JIR*5?`8yBp3KOuE0<=v(iHa$JKa&8sMpvX2U0dan`=V@a0q?AZ(- z6f}LLtCSU#mdU%szwo3u6z8F}_|&Vs(JW}RaL9g1Baky4P3d*M!>TdmL#O+4szzc-R|zZCkb72Opc=YrU!b z-Ie$3xu0o$d*Y7Q_S(<0Ht$VlDs5rc9v{3&31N1f`Imkm4i+^tYzY01({tyTQSqTV z8iD5WZSLMSexWqyPm837qf`8%)EsH9BdRuGeLcK_44MWr>Xgbz+=VG}x)!oio=;MS z{r2P%eb#EF0W{b~%AMEL9oF^m6u)~S|JpM6Kod>(z)%@EV&RA1DvJ%!wafuxfoc@5280ImVODKW=hb=lm4A&T;1yCHT2i zzK^g32S@74^4n^4iNJYsh5ecKZ^zjlB1-3LE^WA8ObU2;$S_dXyH>)jQi%X{x< z%F#P(*2=N?r)(}xKe2htdhNs~p zm%()QI`bzEl4!jzY2=-nn)7(I=k%d5i9-o9rR%D%;&EZ&hbu2$6S<0yKelujPO@S! zEIgXkEvF2&CI@?t@-yX8i(R8XssF-jas5*~S&~m_lBMF~8VA2LU4AyG2ZcvdYxX?- ziMhhb>{F!lC?~}6gjH>J#9&%iIGWyf*Euzd86EPd>dtbacB^KQ)+Bw^DqfVM>R%Hm zxyImO}FWnvPpdh2{I}w@<=ufZ1&t3S0l_{+e@|a_rh0Sfm>XC|R$7XfY1B8|Vb) zcB?poG2esK_HsQ$^`3A*es1@Xi3%c}xU6tJC-TzW@hg0$TkYpT5a}$@b9rAi4&^lS zeo?*P5c*|NFY9i|^&xTfI=?>6U!v#aIaD|3wJhY=L8)DJcIR>8bgus@$ERsu z8uD>QCf)vcI1^4wkL|xmUE)m96P@KVVJJ&1;n~Qy#koXE+0hEtiN|D6#5X}6xEH7O zX{^(<(JA@r*g1RfJI~y^j{DGWrgpC_2?d5HQj1M9pmNTif%U1pO(I67+P=WdxYgiHtxbNtxVt=(FU9T8h{NummR!KD zojJ?=%9hIGg4)Q-v3kO2^Gwt^h~A0f!=P(nR`U}_!qK3=mswBnK3o6}D~u;>{i9T+ z5c;c=GVR<17lLQ`dY%*_6Uwr$tm(t=IvCiRCbYdyA5JWpAL`rW))b^BjizrU6rOPd zCQsNMs>f`esYb<0Y%MxgbuVL0y+|E%QAQ~>qmFF-v^v9&m~nMl?-Yf3;JE!SY!U`$ zJ))7KUAt+Y6A`l=uvvhHN8hl4${Qgc$xTLL{>6`U^{c#e z)@Va*r>iv)G%4t#kHgnzZduWOnGO{A*|vAj>fn(=Z?u3HIi{|R1k zRYtm<>JgpY4u`^X)T|gfDE3Kd;#rF|kIdn;P$2q?e3dW17UbIVc|(=d z=M;vX3R9qr^lNDJ=&Q6c&y$Z*$RgWYs3uZ*i~CjjB-9eR$NbXvB&E9Xk(_t*)TAM3 zx(x&K|KJrJsdC!HyFhxew0@-_z0MxtwM}Ooeju((d<*`E7j?osA+wv~2Xm8XBgx{W5Jr-bY6@Ow4k74prk zphpSvji5Od9yyC$;K^+tK{$_-((07rm>Zr{zcfR#SC?&W;#*Nvc*55Xvmz_X((u$p z+H)<=XF}XsHe8gu;kd8UiWjSuOVlXt?zXYCz*T7duJzTe;4m>sT6V=a(xci*=`ljP zi`Qbqd;EMDqbFXw@YV6cxk%Qx8tYe@IF_hg^Woe@lofm5j&B*kwVIAXmZoMwwy@^e z1!`jBPVw&~f1&5IA)L7ijAX9}NAvh2j;?ud>F-pS8U3vIm9JJhU3=bW zQAnBE$r{)h|VbX*hc)Ko;t@^CE! z3wbKC^B?A2Dr^u z94S28UUwcYt0tjY?>-|;j$@1TBi^Gm7|C&QHE~fduU;j#&`T=W$xU5{xi>!!FNi;g z*0X+5emIMEBMyoaI{wPrm+J9_$KwiA`^rstB`d`xRUEI|wRv$Y>BYibwJ47Ave|4u z8s3y`w)G3@UOTe+-~<9WH8uQt5-Q`uLuuU@^iJZzy>UlqSVl!er6{Td^jm=5O;8CN zJ#io+t@tFQZV2@xmXm;XC%;%sTo}yuG`u0w&NFsL7$1idnkGAnp`AvS7XabTRqD+O zK!G;jj`fN{;G38jlexV{&4+MTL$+*ZkV0k-t< zy#C>O`VTsQu=@WN98QCpid44MvAi6O0K}xGRXi_U_4T#hboEz=(v5ex3`Bx&{f$43 zPG=Q8H*|%gj@c=ziK_Mdwk((@tzFj#KS+u)ftFv{vzpdo%2g z_LhIRnQ4bqXIVe%fc<=c|D`O-h{`98NOsC~|hN5)QXQ z*9xEc!J+5DogMHwJ>5pAQE0h@(DYDM{$XJFwc=NPZt{hi}-C3O=QRjLr}OgSmnxc7*a zS29=9$z@RTAHCIQ7rU0D;g)TSp(a}v$~)n*&_islBtx|Cv-iE zZFU|VM$SoJ>kCp;mam=ulFqKYUNPUm4G?cXhmh(@Z(RT9BRWM*EB z=dwLX$uKL%5{vgWk-5sO^X=?h_c2B-Ka1J+JJrkZ_5?MlE@up}XQ>q;a*I9pwmQe2 zWhU9xlsoh<>$Bsx4imx)cm6EfZMC}bXW6R9lqo7LRi4v%bv2;N>>ibs)4o!r8Az>C zSt!CjvFh;3IqsAqJQKY{l}1?WTqUI*r$I43sR_w~VWxc%Zwj%( zOBW5!f>mC1%a1C{4=-if2`}u#5AID@;d;Jop3jQ9G~4p+pQS}bf^u|Uju%HSK-Rt& z6^rYz62Usrj(GJ_yFH)9I!UO!r$-7=&hK$D-}jUcWzD{*9ys3*4RN-trIF3su5fhY zL&B7HD_b<-tD}jfZT|jjE8>1xiIv)BdHED3v$lSFf4ZqEo&5<{E`nXY7elKN9CHCJ zi%zA+c;r&*9Z40ptPv8mg$x(4n6*wbCF@1o$s#pOc&Z)p+AEUnUwF}@BD8EP2^N*- zJ;wJPblMT#saEGdqM6KIj)YP)TW-R*=hWL$PT`PhXs2B?34Ux&P>qtzwFtM!^LX2h zBAlbBEHp8icaiwY`4MWCgbc3;PWO_%?g9}tYF<;vLq>yuvc(6xYcW~1vb&s!O0fKt z9ueq@t8|;O@R~^l;l2AU1#{ts{0&ZN&O6&FCC+KatM|Yp5RZ%h*yM>&+jVBr+w z*pS8OKroz3@^+X+Js{5mB1ci*y*7DX#DAWIMw6 z?(OjLo*ZHw27@VqVmnU~o=JOV_8M7zp&b&AJyDBDBW0rYmF}`iU6+DNJ3kE*?OZau z%6inW(xtNKQyAPHRKgD?!o}jwzk2utuu#res@;0Yue!z&gv07bcEvj7$1Z0DJz<5# zU_3d;oOL&MMU|oF1*ozfK7|JKV>}m#L-V*OaWKKyd4@wV4FYYq0`vBgs33JVbd%Ll z7Y+|NtRgQAXI$#f0+kqPC_a(ueKCHdeXQYy%fM3fBWI1WlG?u z>9VW0bF3=PvK}?Xy3)NlQ=FN&gC#zPC!GFMtuywAxRHlqt~4Sh9L%;gO@BLe?SP%$ zjXQR!ZP;y)O#SR;N~v8CO+C$m&bwgBn#quq7pI(}Q+E1VhN2pxb#fC4y7QQ!RNh7x zQ=~shn8da{IB8>xxFD{VU$3Wz@ZbLJfB($SZG3O$XJ!`u_^Xfp)87u2ufO}*tB;R; z@N?x*EYyZ-LzU3u-$Z~GihY&RFaJy-l!}EAN{>=OiN8?dDU|wjIiZUZOP9`bd6>JN zzR^m#PHks~Uo6!Ng=!xU)!Iaz`=?5pw~p!5`~0|TTSDE1AIazKq$ zfkUWG(9?<1A#Rj5@|b!vQv1|Ey;Pg#yEZdoaGUn@u_S$rbWa&iQpQ^;FDEH4TUpwv zS`CXfPm8rh8a&6}tNgvr-(~*Z-QPbCzBFeA0#EVJ`lc)>iq`;s$}aoYFpo|R#icA?{#ebdLM(XZT-5z zk}UrCoBs9fahkSUC^8lnjDpqh4N)dF z=o=sxffwZ&i8u2;U>gB~>Y}C#L@1E^n?S9$^}aXpK0O0oTi@(sRz`cPHaT1GTbu6# zN-~xf1;F=oIiO3OOCc1F6^<896iyb#3a1Ls7fu&$748-$3g-$_h3Ud;g$sq5!o|W| z;p%~G1bH?40L5HPbxIo*?Twbg79jZW zC+Ty&SgCFOVWrg10ALp%epnjO-A8rdJ!Rn&MO8Gs^&PeMeO>;j)F-z2Cx3;D;8^O@ z+W>xg%ipIMAG)e^Caj`T-v#XsF&&ooWwoM89#T`oy3}-`HbdR-Rlp`eMd$;w1{jro zlBfpIYTifTe%{>oG`7)7X;2l=&>!mZ2VAyGx(Jg%nLiZd>_J1OFBd?xBJ5k8HTE=o zO%)AagUYXo%CA}V+XuwCKCf50QipJ`z*j{)qFSs1_mbW8lTaH{iZQ_|L{;X+@b<&C z?Z?Pz=(;`bgtR@b8Ll+UgK4(KwX3H!WoSk3j+rmM#17!N#>K8%an z^i@>hx-L(bILiSz3~wJQ6%f6pqAoqUusb4@s=7R&%Y(WUZ*i&X@{}$G*7iXJE>!Tz z(#xu9OBep}A3jtE1A7a7#lAi| zS(Fr@hBv+3o67yB<$hB_X!`;PDPal<2<4QZocb0OIb(Ye>E2gsDuqF-iX~mvJm;1* zu*Ma1uaDKh%svflRtF_Pbz`i1c>7Dr|5Jvu%i^BfTX02v)rP2$ zf=G=}I|URgLQ9h*bZ10ESd* z)2MvaY7bY~=GHHVry0AHhOOOA2CT*e9-Qt z`}gTppM5HQ{Nsa0PFML>#o4a$RJI)I82l!FMr(DueZ2gzzRjXY2c)FlvMMZ>;mHiG zS{_uNtP#GGVn}2wsr<QnrbB&U5Z>i9}duH*c`Iw$jO>R{f`SMDLFjHTf#l~5eM zrs7u3wc%@n#qhU;7yuEF8q??d7iaIb;<#we9EV0a?Hb zwC}bLfT)g+P`4vY|L6$K)V99DW4Xknp!^Fh{`Vl0FxspBjP?!&hJD!oKV1k{Y5uC-o9znN9_>G#}KuA>Dwo@&S;; zSI}>SD+B18O5;OD19}g=9XU|O3~}soUev2LRAF_v4E$+D#>fE7>es4_jk-a~_r(y5 z0x51Eq2~8V6g8kxiA7Lr!fa6Q=oYG0slt145kAsOzbs|)%cTnBYPCF3egy6lKjJ3o zXShs*Vot43QjrE!866S6j*O^2(c_m748*SWRvs-sl&>qPf`Y}`%XS^JtGLndwV?q7 z!e`OF`9D-H!Bw`Az^DpaM#SSnP;@7RwwwEi>{G^pmbs}-^q2cYIdcEtz=E34@OrRl z9@ktazicvNr^u$*d#Df&W?pmTX6~ou(~OZ8?DSaw6`1&g>1n3O;dIpIxz=y{7~!-y zTnqdC#LbX*}%+oI2G0r&wPk=EuVAZwlrd^jae10WUKV(=Ogi!hs z#^pY)e8-!98Ldtj2s~KE@U;iZ{k82yV-PqTWaJ3350rZ$hzgt^o9F=a!2|r8heyhT zwPtPm+tgwes1p96Ru4T^K47nguT}iNi?HD<2VnGG2Bi|-Xb%#eD5*wn7sPR}l#FS+ zp$tn!Z4%egwDQ;?ug3)|d|NVfIa2PH0jh~>t|G~`-5i90qHouRxR|^f z87-qJZ(`Em{@8vMJ^7Qy{I2Vd%q2BXHD~M7CBgK9IzKAQ?lrFB-a-Y9PWhWo(s8Bn8sQl2t0LGlLwfFdX&tCFf zJ0&aQDXCKWGvI%F;N#^dsdjL1aG-yb$_EGF?kHdeg-Sm)%YLETW^vR;hqr%1fd3-u zO9F-GB2SXAvorNOq+JLH7(6}Levi5lG(G4C_Qf}|gKb2byeNoT9%PEbg15Jaw|^Qe zLON7y%fdHC40MVH{YAOUfW`p88yKjfWcPvcXsT!+y)bQ4up|xj}*s;Xr z>Lv+)91~FK@rqTLSyyr9X>>&YKsK6uv`j;Bf*m=&Eg<$H$Z<@_<_Uv^(0A;}_^BgA zMxH2y!>ymKs-HM^?D%0Wr|UD#FEr|}t>58SU)Dca|McqZmHMSdlV9Nq;o(AfV0vf0L{|ApU{3Fw~{-Phw&{`>QpeCZp0%69$S($WlvXNTpD1J`?IM+ui_gzs0|EuD_Xd^#xALu<{!2V(XS(ve z%HNwG6vI|2EwxobOAc4r6Lg*H6cJW)oL)A|?s$Hum+N`%_4zlY|M`Ekrf`M(FBVGn z&DukF$=>QND7GN?Imc6hS{2oKo=7Ie3VWm+=RWg!+DcvKt)jy=c%SZuY_FdtquJ4p7R|0U zw+lv{X&RB{_Bb(-es`Kt&QM0@bJU5jUMD(Hb!z98V)i~wy|?Lo-OjKO?kTP~gr90_ z-?2|~q!`6@>Jx_i>Gt9C2HV+W%))BLY)72XlVj5l3ghu`02sec{W|mM4!FIU!_kAu zkp=nK;Q$7dJIb|VOcq}Rr^ee5ZH&nJ_Pn5 Oun&QK2>gEof&UAh3gN;4 literal 0 HcmV?d00001 diff --git a/常用工具/JS代码压缩工具.exe b/常用工具/JS代码压缩工具.exe index f0447910ce05278399e12b4108804b690f96fad3..c5f5e89cedee89327153f6eb017e668c3960b0f8 100644 GIT binary patch literal 13824 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 Izw^NV01KYRP5=M^ literal 8704 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 P_dWn#|G$gxQv`kkMc?My diff --git a/常用工具/RM动画导出器.exe b/常用工具/RM动画导出器.exe index b894a78613b75d0e4089f1b3f5252690b432cf17..632441a2c8b540466c5c6174affd1faa02f59c17 100644 GIT binary patch literal 42496 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 delta 3828 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 diff --git a/常用工具/动画编辑器.exe b/常用工具/动画编辑器.exe new file mode 100644 index 0000000000000000000000000000000000000000..f6423db680f849d56226eb709a5af7ee0ebd2ae7 GIT binary patch literal 56320 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 literal 0 HcmV?d00001 diff --git a/常用工具/额外素材合并工具.exe b/常用工具/额外素材合并工具.exe new file mode 100644 index 0000000000000000000000000000000000000000..169828b1b962ae2c3155e086a0ee454ed17e5faa GIT binary patch literal 18944 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
-

最近使用的图块列表:

+

最近使用的图块列表(Ctrl+滚轮放缩)

diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 506e6b63..9afcbf93 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -13,7 +13,7 @@ 12. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 13. 建议给core.moveAction(callback)提供对应的事件,用于在事件中让勇士像事件外一样移动,从而正常触发跑毒和阻激夹域捕等 14. core.openShop()和对应的事件,建议在用于公共事件时简单地退化为“插入公共事件”而不要打断当前事件,把决定权交给作者 -15. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内由作者根据flag再行分歧),建议支持一下 +(已完成!) 15. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内由作者根据flag再行分歧),建议支持一下 16. “绘制描边文本”事件建议加一个“描边颜色”参数,目前只能描黑边 17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 @@ -22,10 +22,8 @@ (已完成!) defaultGround全局可用 (已完成!) 对floorIds和图片进行检测 - - - - +(已完成!) 删除绘图模式 +(已完成!) 清除最近使用图块 From d270760796565304ccbcf2ad3b54543ea388f07a Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 5 May 2020 21:14:50 +0800 Subject: [PATCH 26/70] =?UTF-8?q?=E5=B0=86getExtraDamage=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E5=88=B0=E4=BC=A4=E5=AE=B3=E8=AE=A1=E7=AE=97=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/enemys.js | 31 +++++++------------------------ project/functions.js | 8 ++++++++ 2 files changed, 15 insertions(+), 24 deletions(-) diff --git a/libs/enemys.js b/libs/enemys.js index 19b500e9..0d80adfe 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -115,27 +115,6 @@ enemys.prototype.canBattle = function (enemy, x, y, floorId) { return damage != null && damage < core.status.hero.hp; } -////// 获得某个怪物的伤害 ////// -enemys.prototype.getDamage = function (enemy, x, y, floorId) { - if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; - var damage = this._calDamage(enemy, null, x, y, floorId); - if (damage == null) return null; - return damage + this.getExtraDamage(enemy, x, y, floorId); -} - -////// 获得某个怪物的额外伤害 ////// -enemys.prototype.getExtraDamage = function (enemy, x, y, floorId) { - if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; - var extra_damage = 0; - if (this.hasSpecial(enemy.special, 17)) { // 仇恨 - extra_damage += core.getFlag('hatred', 0); - } - if (this.hasSpecial(enemy.special, 22)) { // 固伤 - extra_damage += enemy.damage || 0; - } - return extra_damage; -} - enemys.prototype.getDamageString = function (enemy, x, y, floorId) { if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; var damage = this.getDamage(enemy, x, y, floorId); @@ -281,8 +260,8 @@ enemys.prototype._nextCriticals_useTurn = function (enemy, info, number, x, y, f enemys.prototype.getDefDamage = function (enemy, k, x, y, floorId) { if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; k = k || 1; - var nowDamage = this._calDamage(enemy, null, x, y, floorId); - var nextDamage = this._calDamage(enemy, {"def": core.status.hero.def + k}, x, y, floorId); + var nowDamage = this._getDamage(enemy, null, x, y, floorId); + var nextDamage = this._getDamage(enemy, {"def": core.status.hero.def + k}, x, y, floorId); if (nowDamage == null || nextDamage == null) return "???"; return nowDamage - nextDamage; } @@ -300,7 +279,11 @@ enemys.prototype.getDamageInfo = function (enemy, hero, x, y, floorId) { } ////// 获得在某个勇士属性下怪物伤害 ////// -enemys.prototype._calDamage = function (enemy, hero, x, y, floorId) { +enemys.prototype.getDamage = function (enemy, x, y, floorId) { + return this._getDamage(enemy, null, x, y, floorId); +} + +enemys.prototype._getDamage = function (enemy, hero, x, y, floorId) { if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; var info = this.getDamageInfo(enemy, hero, x, y, floorId); diff --git a/project/functions.js b/project/functions.js index 1b007f8b..98c6c5da 100644 --- a/project/functions.js +++ b/project/functions.js @@ -768,6 +768,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (!core.flags.enableNegativeDamage) damage = Math.max(0, damage); + // 最后处理仇恨和固伤(因为这两个不能被魔防减伤) + if (core.hasSpecial(mon_special, 17)) { // 仇恨 + damage += core.getFlag('hatred', 0); + } + if (core.hasSpecial(mon_special, 22)) { // 固伤 + damage += enemy.damage || 0; + } + return { "mon_hp": Math.floor(mon_hp), "mon_atk": Math.floor(mon_atk), From b49728ecef629e590f0e3902ee8140cdd1c6cbb1 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 5 May 2020 22:46:15 +0800 Subject: [PATCH 27/70] =?UTF-8?q?=E9=87=8D=E5=86=99=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E9=81=93=E5=85=B7=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API列表.txt | 10 +-- _docs/_api.md | 4 +- _docs/api.md | 10 +-- _docs/event.md | 20 ----- _server/table/functions.comment.js | 6 -- libs/events.js | 5 -- libs/items.js | 13 +-- libs/maps.js | 22 +++--- libs/utils.js | 20 ++++- project/functions.js | 23 ------ project/items.js | 123 +++++++++++++++++++++++------ v2.x-final更新.txt | 10 +-- 12 files changed, 139 insertions(+), 127 deletions(-) diff --git a/API列表.txt b/API列表.txt index c10532e0..4b0d83ef 100644 --- a/API列表.txt +++ b/API列表.txt @@ -1142,10 +1142,6 @@ core.tryUseItem(itemId) 对于怪物手册和楼传器,将分别调用core.openBook()和core.useFly()函数。 对于中心对称飞行器,则会调用core.drawCenterFly()函数。 对于其他的道具,将检查是否拥有,能否使用,并且进行使用。 - - -core.afterUseBomb() -使用炸弹或圣锤后的事件。实际被转发到了脚本编辑中。 ``` ## icons.js @@ -1532,13 +1528,13 @@ core.removeBlock(x, y, floorId) 如果存在自定义事件,则简单的禁用它,以供以后可能的启用事件。 -core.removeBlockById(index, floorId) +core.removeBlockByIndex(index, floorId) 每个楼层的图块存成一个数组,index即为该数组中的索引,每个索引对应该地图中的一个图块 根据索引从地图的block数组中尽可能删除一个图块。floorId可不填或null表示当前楼层。 -core.removeBlockByIds(floorId, ids) -ids为由索引组成的数组,如[0,1]等 +core.removeBlockByIndexes(indexes, floorId) +indexes为由索引组成的数组,如[0,1]等 根据索引数组从地图的block数组中尽可能删除一系列图块。floorId可不填或null表示当前楼层。 diff --git a/_docs/_api.md b/_docs/_api.md index 67839b1b..8b15582f 100644 --- a/_docs/_api.md +++ b/_docs/_api.md @@ -481,11 +481,11 @@ core.maps.canMoveDirectly(destX, destY) 该函数如果返回0则不可瞬间移动,大于0则可以瞬间移动,且返回值是跨度(即少走的步数)。 -core.maps.removeBlockById(index, floorId) +core.maps.removeBlockByIndexes(index, floorId) 根据索引删除或禁用某块。 -core.maps.removeBlockByIds(floorId, ids) +core.maps.removeBlockByIndexes(indexes, floorId) 根据索引删除或禁用若干块。 diff --git a/_docs/api.md b/_docs/api.md index 5cc181ce..87fc76dd 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -1141,10 +1141,6 @@ core.tryUseItem(itemId) 对于怪物手册和楼传器,将分别调用core.openBook()和core.useFly()函数。 对于中心对称飞行器,则会调用core.drawCenterFly()函数。 对于其他的道具,将检查是否拥有,能否使用,并且进行使用。 - - -core.afterUseBomb() -使用炸弹或圣锤后的事件。实际被转发到了脚本编辑中。 ``` ## icons.js @@ -1531,13 +1527,13 @@ core.removeBlock(x, y, floorId) 如果存在自定义事件,则简单的禁用它,以供以后可能的启用事件。 -core.removeBlockById(index, floorId) +core.removeBlockByIndex(index, floorId) 每个楼层的图块存成一个数组,index即为该数组中的索引,每个索引对应该地图中的一个图块 根据索引从地图的block数组中尽可能删除一个图块。floorId可不填或null表示当前楼层。 -core.removeBlockByIds(floorId, ids) -ids为由索引组成的数组,如[0,1]等 +core.removeBlockByIndexes(indexes, floorId) +indexes为由索引组成的数组,如[0,1]等 根据索引数组从地图的block数组中尽可能删除一系列图块。floorId可不填或null表示当前楼层。 diff --git a/_docs/event.md b/_docs/event.md index cce0cbe6..731e0ac1 100644 --- a/_docs/event.md +++ b/_docs/event.md @@ -2665,26 +2665,6 @@ if (core.flags.enableAddPoint && point > 0) { 除此以外,每层楼还提供了`firstArrive`和`eachArrive`事件,分别为首次到达该楼层和每次到达该楼层时执行的事件。 -## 使用炸弹后的事件 - -上面的afterBattle事件只对和怪物进行战斗后才有会被处理。 - -如果我们想在使用炸弹后也能触发一些事件(如开门),则可以在脚本编辑里面的`afterUseBomb`函数进行处理: - -``` js -////// 使用炸弹/圣锤后的事件 ////// -"afterUseBomb": function () { - // 这是一个使用炸弹也能开门的例子 - if (core.status.floorId=='xxx' && core.terrainExists(x0,y0,'specialDoor') // 某个楼层,该机关门存在 - && !core.enemyExists(x1,y1) && !core.enemyExists(x2,y2)) // 且守门的怪物都不存在 - { - core.insertAction([ // 插入事件 - {"type": "openDoor", "loc": [x0,y0]} // 开门 - ]) - } -} -``` - ## 滑冰事件 从V2.6开始,滑冰事件被重写。现在的滑冰由公共事件执行。 diff --git a/_server/table/functions.comment.js b/_server/table/functions.comment.js index 81e18e7c..39d93b32 100644 --- a/_server/table/functions.comment.js +++ b/_server/table/functions.comment.js @@ -88,12 +88,6 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_lint": true, "_data": "推箱子事件" }, - "afterUseBomb": { - "_leaf": true, - "_type": "textarea", - "_lint": true, - "_data": "炸弹事件" - }, "afterPassNet": { "_leaf": true, "_type": "textarea", diff --git a/libs/events.js b/libs/events.js index 512b0230..d21036c6 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2944,11 +2944,6 @@ events.prototype.tryUseItem = function (itemId) { else core.drawTip("当前无法使用" + core.material.items[itemId].name); } -////// 使用炸弹/圣锤后的事件 ////// -events.prototype.afterUseBomb = function () { - return this.eventdata.afterUseBomb(); -} - ////// 上传当前数据 ////// events.prototype._uploadCurrent = function (username) { var formData = new FormData(); diff --git a/libs/items.js b/libs/items.js index 2133e7bd..a6604ebf 100644 --- a/libs/items.js +++ b/libs/items.js @@ -147,9 +147,6 @@ items.prototype._afterUseItem = function (itemId) { core.status.hero.items[itemCls][itemId]--; if (core.status.hero.items[itemCls][itemId] <= 0) delete core.status.hero.items[itemCls][itemId]; - - if (!core.status.event.id) - core.status.event.ui = null; core.updateStatusBar(); } @@ -158,21 +155,15 @@ items.prototype.canUseItem = function (itemId) { // 没有道具 if (!core.hasItem(itemId)) return false; - var able = false; if (itemId in this.canUseItemEffect) { try { - able = eval(this.canUseItemEffect[itemId]); + return eval(this.canUseItemEffect[itemId]); } catch (e) { main.log(e); + return false; } } - if (!able) { - core.status.event.data = null; - core.status.event.ui = null; - } - - return able; } ////// 获得某个物品的个数 ////// diff --git a/libs/maps.js b/libs/maps.js index dfcc3835..9405f0bc 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -685,8 +685,8 @@ maps.prototype._automaticRoute_deepAdd = function (x, y) { if (id == "light") deepAdd += 100; // 绕过路障 if (id.endsWith("Net")) deepAdd += 100; - // 绕过血瓶 - if (!core.flags.potionWhileRouting && id.endsWith("Potion")) deepAdd += 100; + // 绕过血瓶和绿宝石 + if (!core.flags.potionWhileRouting && (id.endsWith("Potion") || id == 'greenJewel')) deepAdd += 100; // 绕过传送点 // if (block.block.event.trigger == 'changeFloor') deepAdd+=10; } @@ -1417,7 +1417,7 @@ maps.prototype.searchBlock = function (id, floorId, showDisable) { } for (var i = 0; i < core.status.maps[floorId].blocks.length; ++i) { var block = core.status.maps[floorId].blocks[i]; - if ((showDisable || !block.disable) && core.matchWildcard(id, block.event.id)) { + if ((showDisable || !block.disable) && (core.matchWildcard(id, block.event.id) || core.matchRegex(id, block.event.id))) { result.push({floorId: floorId, index: i, block: block, x: block.x, y: block.y}); } } @@ -1486,12 +1486,12 @@ maps.prototype.removeBlock = function (x, y, floorId) { } // 删除Index - core.removeBlockById(index, floorId); + core.removeBlockByIndex(index, floorId); core.updateStatusBar(); } ////// 根据block的索引(尽可能)删除该块 ////// -maps.prototype.removeBlockById = function (index, floorId) { +maps.prototype.removeBlockByIndex = function (index, floorId) { floorId = floorId || core.status.floorId; if (!floorId) return; @@ -1506,13 +1506,11 @@ maps.prototype.removeBlockById = function (index, floorId) { } ////// 一次性删除多个block ////// -maps.prototype.removeBlockByIds = function (floorId, ids) { - floorId = floorId || core.status.floorId; - if (!floorId) return; - ids.sort(function (a, b) { - return b - a - }).forEach(function (id) { - core.removeBlockById(id, floorId); +maps.prototype.removeBlockByIndexes = function (indexes, floorId) { + indexes.sort(function (a, b) { + return b - a; + }).forEach(function (index) { + core.removeBlockByIndex(index, floorId); }); } diff --git a/libs/utils.js b/libs/utils.js index 11bba423..26d7e177 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -694,9 +694,23 @@ utils.prototype.reverseDirection = function (direction) { } utils.prototype.matchWildcard = function (pattern, string) { - return new RegExp('^' + pattern.split(/\*+/).map(function (s) { - return s.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'); - }).join('.*') + '$').test(string); + try { + return new RegExp('^' + pattern.split(/\*+/).map(function (s) { + return s.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'); + }).join('.*') + '$').test(string); + } catch (e) { + return false; + } +} + +utils.prototype.matchRegex = function (pattern, string) { + try { + if (pattern.startsWith("^")) pattern = pattern.substring(1); + if (pattern.endsWith("$")) pattern = pattern.substring(0, pattern.length - 1); + return new RegExp("^" + pattern + "$").test(string); + } catch (e) { + return false; + } } ////// Base64加密 ////// diff --git a/project/functions.js b/project/functions.js index 98c6c5da..3ad5202a 100644 --- a/project/functions.js +++ b/project/functions.js @@ -442,21 +442,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } */ } -}, - "afterUseBomb": function () { - // 使用炸弹/圣锤后的事件 - - // 这是一个使用炸弹也能开门的例子 - /* - if (core.status.floorId=='xxx' && core.terrainExists(x0,y0,'specialDoor') // 某个楼层,该机关门存在 - && !core.enemyExists(x1,y1) && !core.enemyExists(x2,y2)) // 且守门的怪物都不存在 - { - core.insertAction([ // 插入事件 - {"type": "openDoor", "loc": [x0,y0]} // 开门 - ]) - } - */ - }, "afterPassNet": function (x, y, id) { // 经过特殊地形后的事件;x和y为当前坐标,id为当前的图块id @@ -886,14 +871,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } else { core.drawTip('当前不能使用炸弹'); } - } else if (core.hasItem('hammer')) { - if (core.canUseItem('hammer')) { - core.status.route.push("key:50"); // 将按键记在录像中 - core.useItem('hammer', true); // 第二个参数true代表该次使用道具是被按键触发的,使用过程不计入录像 - } else { - core.drawTip('当前不能使用圣锤'); - } - } break; case 51: // 快捷键3: 飞 diff --git a/project/items.js b/project/items.js index 598488b7..0abb08a9 100644 --- a/project/items.js +++ b/project/items.js @@ -288,7 +288,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "hammer": { "cls": "tools", "name": "圣锤", - "text": "可以炸掉勇士面前的怪物" + "text": "该道具尚未被定义" }, "lifeWand": { "cls": "tools", @@ -364,22 +364,21 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "useItemEffect": { "book": "core.ui.drawBook(0);", "fly": "core.ui.drawFly(core.floorIds.indexOf(core.status.floorId));", - "earthquake": "core.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "pickaxe": "core.playSound('pickaxe.mp3');\ncore.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "icePickaxe": "core.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "snow": "core.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});", - "bigKey": "(function () {\n\tvar actions = core.status.event.ui.map(function (id) {\n\t\tvar block = core.status.thisMap.blocks[id];\n\t\treturn { \"type\": \"openDoor\", \"loc\": [block.x, block.y], \"async\": true };\n\t});\n\tactions.push({ \"type\": \"waitAsync\" });\n\tactions.push({ \"type\": \"tip\", \"text\": core.material.items[itemId].name + \"使用成功\" });\n\tcore.insertAction(actions);\n})();", - "bomb": "core.playSound('bomb.mp3');\ncore.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\tcore.events.afterUseBomb();\n});", - "hammer": "core.playSound('bomb.mp3');\ncore.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\tcore.events.afterUseBomb();\n});", - "centerFly": "core.playSound('centerFly.mp3');\ncore.clearMap('hero');\ncore.setHeroLoc('x', core.bigmap.width-1-core.getHeroLoc('x'));\ncore.setHeroLoc('y', core.bigmap.height-1-core.getHeroLoc('y'));\ncore.drawHero();\ncore.drawTip(core.material.items[itemId].name + '使用成功');", - "upFly": "var loc = {'direction': core.status.hero.loc.direction, 'x': core.status.event.ui.x, 'y': core.status.event.ui.y};\nif (core.status.event.id == 'action') {\n\tcore.insertAction([\n\t\t{\"type\": \"changeFloor\", \"loc\": [loc.x, loc.y], \"direction\": loc.direction, \"floorId\": core.status.event.ui.id},\n\t\t{\"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功'}\n\t]);\n}\nelse {\n\tcore.changeFloor(core.status.event.ui.id, null, loc, null, function (){\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\tcore.replay();\n\t});\n}", - "downFly": "var loc = {'direction': core.status.hero.loc.direction, 'x': core.status.event.ui.x, 'y': core.status.event.ui.y};\nif (core.status.event.id == 'action') {\n\tcore.insertAction([\n\t\t{\"type\": \"changeFloor\", \"loc\": [loc.x, loc.y], \"direction\": loc.direction, \"floorId\": core.status.event.ui.id},\n\t\t{\"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功'}\n\t]);\n}\nelse {\n\tcore.changeFloor(core.status.event.ui.id, null, loc, null, function (){\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\tcore.replay();\n\t});\n}\n", + "earthquake": "(function () {\n\tvar indexes = [];\n\tfor (var index in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[index];\n\t\tif (!block.disable && block.event.canBreak) {\n\t\t\tindexes.push(index);\n\t\t}\n\t}\n\tcore.removeBlockByIndexes(indexes);\n\tcore.drawMap(core.status.floorId, function () {\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t});\n})();", + "pickaxe": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable) return false;\n\t\treturn block.block.event.canBreak;\n\t};\n\n\tcore.playSound('pickaxe.mp3');\n\tif (core.flags.pickaxeFourDirections) {\n\t\t// 四方向破\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBreak(nx, ny)) {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅破当前\n\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t}\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", + "icePickaxe": "(function () {\n\tcore.removeBlock(core.nextX(), core.nextY());\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", + "snow": "(function () {\n\tif (core.flags.snowFourDirections) {\n\t\t// 四方向雪花\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (core.getBlockId(nx, ny) == 'lava') {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t}\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", + "bigKey": "(function () {\n\tvar actions = core.searchBlock(\"yellowDoor\").map(function (block) {\n\t\treturn { \"type\": \"openDoor\", \"loc\": [block.x, block.y], \"async\": true };\n\t});\n\tactions.push({ \"type\": \"waitAsync\" });\n\tactions.push({ \"type\": \"tip\", \"text\": core.material.items[itemId].name + \"使用成功\" });\n\tcore.insertAction(actions);\n})();", + "bomb": "(function () {\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable || block.block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.material.enemys[block.block.event.id];\n\t\treturn enemy && !enemy.notBomb;\n\t};\n\n\tcore.playSound('bomb.mp3');\n\tvar bombList = []; // 炸掉的怪物坐标列表\n\tif (core.flags.bombFourDirections) {\n\t\t// 四方向炸\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBomb(nx, ny)) {\n\t\t\t\tbombList.push([nx, ny]);\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅炸当前\n\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\tbombList.push([core.nextX(), core.nextY()]);\n\t}\n\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t// 炸弹后事件\n\t// 这是一个使用炸弹也能开门的例子\n\t/*\n\tif (core.status.floorId=='xxx' && core.terrainExists(x0,y0,'specialDoor') // 某个楼层,该机关门存在\n\t\t&& !core.enemyExists(x1,y1) && !core.enemyExists(x2,y2)) // 且守门的怪物都不存在\n\t{\n\t\tcore.insertAction([ // 插入事件\n\t\t\t{\"type\": \"openDoor\", \"loc\": [x0,y0]} // 开门\n\t\t])\n\t}\n\t*/\n})();", + "centerFly": "core.playSound('centerFly.mp3');\ncore.clearMap('hero');\ncore.setHeroLoc('x', core.bigmap.width - 1 - core.getHeroLoc('x'));\ncore.setHeroLoc('y', core.bigmap.height - 1 - core.getHeroLoc('y'));\ncore.drawHero();\ncore.drawTip(core.material.items[itemId].name + '使用成功');", + "upFly": "(function () {\n\tvar floorId = core.floorIds[core.floorIds.indexOf(core.status.floorId) + 1];\n\tif (core.status.event.id == 'action') {\n\t\tcore.insertAction([\n\t\t\t{ \"type\": \"changeFloor\", \"loc\": [core.getHeroLoc('x'), core.getHeroLoc('y')], \"floorId\": floorId },\n\t\t\t{ \"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功' }\n\t\t]);\n\t} else {\n\t\tcore.changeFloor(floorId, null, core.status.hero.loc, null, function () {\n\t\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\t\tcore.replay();\n\t\t});\n\t}\n})();", + "downFly": "(function () {\n\tvar floorId = core.floorIds[core.floorIds.indexOf(core.status.floorId) - 1];\n\tif (core.status.event.id == 'action') {\n\t\tcore.insertAction([\n\t\t\t{ \"type\": \"changeFloor\", \"loc\": [core.getHeroLoc('x'), core.getHeroLoc('y')], \"floorId\": floorId },\n\t\t\t{ \"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功' }\n\t\t]);\n\t} else {\n\t\tcore.changeFloor(floorId, null, core.status.hero.loc, null, function () {\n\t\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\t\tcore.replay();\n\t\t});\n\t}\n})();", "poisonWine": "core.removeFlag('poison');", "weakWine": "core.removeFlag('weak');\nif (core.values.weakValue>=1) { // >=1:直接扣数值\n\tcore.status.hero.atk += core.values.weakValue;\n\tcore.status.hero.def += core.values.weakValue;\n}\nelse { // <1:扣比例\n\tcore.addBuff(\"atk\", core.values.weakValue);\n\tcore.addBuff(\"def\", core.values.weakValue);\n}", "curseWine": "core.removeFlag('curse');", "superWine": "core.removeFlag('poison');\nif (core.hasFlag('weak')) {\n\tcore.removeFlag('weak');\n\tif (core.values.weakValue>=1) { // >=1:直接扣数值\n\t\tcore.status.hero.atk += core.values.weakValue;\n\t\tcore.status.hero.def += core.values.weakValue;\n\t}\n\telse { // <1:扣比例\n\t\tcore.addBuff(\"atk\", core.values.weakValue);\n\t\tcore.addBuff(\"def\", core.values.weakValue);\n\t}\n}\ncore.removeFlag('curse');", - "lifeWand": "core.insertAction([\n\t{\"type\": \"input\", \"text\": \"请输入生命魔杖使用次数:(0-${item:lifeWand})\"},\n\t{\"type\": \"if\", \"condition\": \"flag:input<=item:lifeWand\",\n\t\t\"true\": [\n\t\t\t{\"type\": \"setValue\", \"name\": \"item:lifeWand\", \"value\": \"item:lifeWand-flag:input\"},\n\t\t\t{\"type\": \"setValue\", \"name\": \"status:hp\", \"value\": \"status:hp+flag:input*100\"},\n\t\t\t\"成功使用${flag:input}次生命魔杖,恢复${flag:input*100}点生命。\"\n\t\t],\n\t\t\"false\": [\"输入不合法!\"]\n\t},\n]);\ncore.addItem('lifeWand', 1);", - "jumpShoes": "core.insertAction({\"type\":\"jumpHero\",\"loc\":[core.nextX(2),core.nextY(2)]});", + "lifeWand": null, + "jumpShoes": "core.insertAction({ \"type\": \"jumpHero\", \"loc\": [core.nextX(2), core.nextY(2)] });", "redPotion": "core.status.hero.hp += core.values.redPotion", "bluePotion": "core.status.hero.hp += core.values.bluePotion", "greenPotion": "core.status.hero.hp += core.values.greenPotion", @@ -387,28 +386,27 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "redJewel": "core.status.hero.atk += core.values.redJewel", "blueJewel": "core.status.hero.def += core.values.blueJewel", "greenJewel": "core.status.hero.mdef += core.values.greenJewel", - "yellowJewel": "core.insertAction([\n\t{\"type\": \"choices\", \"choices\": [\n\t\t{\"text\": \"攻击+1\", \"action\": [\n\t\t\t{\"type\": \"setValue\", \"name\": \"status:atk\", \"value\": \"status:atk+1\"}\n\t\t]},\n\t\t{\"text\": \"防御+2\", \"action\": [\n\t\t\t{\"type\": \"setValue\", \"name\": \"status:def\", \"value\": \"status:def+2\"}\n\t\t]},\n\t\t{\"text\": \"生命+200\", \"action\": [\n\t\t\t{\"type\": \"setValue\", \"name\": \"status:hp\", \"value\": \"status:hp+200\"}\n\t\t]},\n\t]}\n]);", + "yellowJewel": null, "skill1": "// 二倍斩的flag:skill为1\nif (core.getFlag('skill', 0)==0) { // 判断当前是否已经开了技能\n\tif (core.getStatus('mana')>=5) { // 这里要写当前能否开技能的条件判断,比如魔力值至少要多少\n\t\tcore.setFlag('skill', 1); // 开技能1\n\t\tcore.setFlag('skillName', '二倍斩'); // 设置技能名\n\t}\n\telse {\n\t\tcore.drawTip(\"魔力不足,无法开启技能\");\n\t}\n}\nelse { // 关闭技能\n\tcore.setFlag('skill', 0); // 关闭技能状态\n\tcore.setFlag('skillName', '无');\n}" }, "canUseItemEffect": { "book": "true", "fly": "(function () {\n\treturn core.status.maps[core.status.floorId].canFlyTo;\n})();", - "pickaxe": "(function() {\n\tvar ids = [], id2s = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && core.nearHero(block.x, block.y) && \n\t\t\t(block.event.canBreak || block.event.id == 'yellowWall' || block.event.id=='whiteWall' || block.event.id=='blueWall')) { // 能破哪些墙\n\t\t\t// 四个方向\n\t\t\tif (core.flags.pickaxeFourDirections || (block.x == core.nextX() && block.y == core.nextY()))\n\t\t\t\tids.push(i);\n\t\t\telse id2s.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\telse if (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();", - "icePickaxe": "(function() {\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.x==core.nextX() && block.y==core.nextY() && block.event.id=='ice') {\n\t\t\tcore.status.event.ui = [i];\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();", - "bomb": "(function () {\n\tvar ids = [], id2s = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.event.cls.indexOf('enemy')==0 && core.nearHero(block.x, block.y)) {\n\t\t\tvar enemy = core.material.enemys[block.event.id];\n\t\t\tif (core.isset(enemy) && enemy.notBomb) continue;\n\t\t\tif (core.flags.bombFourDirections || (block.x==core.nextX() && block.y==core.nextY()))\n\t\t\t\tids.push(i);\n\t\t\telse\n\t\t\t\tid2s.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\tif (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();", - "hammer": "(function() {\n\tvar ids = [], id2s = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.event.cls.indexOf('enemy')==0 && core.nearHero(block.x, block.y)) {\n\t\t\tvar enemy = core.material.enemys[block.event.id];\n\t\t\tif (core.isset(enemy) && enemy.notBomb) continue;\n\t\t\tif (block.x==core.nextX() && block.y==core.nextY())\n\t\t\t\tids.push(i);\n\t\t\telse\n\t\t\t\tid2s.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\telse if (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();", - "earthquake": "(function () {\n\tvar able=false;\n\tvar ids = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable &&\n\t\t\t(block.event.canBreak || block.event.id == 'yellowWall' || block.event.id == 'blueWall' || block.event.id == 'whiteWall')) { // 能炸的墙壁\n\t\t\tids.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\table=true;\n\t}\n\treturn able;\n})();", - "centerFly": "(function () {\n\tvar toX = core.bigmap.width-1-core.getHeroLoc('x'), toY = core.bigmap.height-1-core.getHeroLoc('y');\n\tvar id = core.getBlockId(toX, toY);\n\treturn id == null;\n})();", - "upFly": "(function() {\n\tvar floorId = core.status.floorId, index = core.floorIds.indexOf(floorId);\n\tif (index=0 && toX=0 && toY0) {\n\t\tvar toId = core.floorIds[index-1], toX = core.getHeroLoc('x'), toY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width, mh = core.floors[toId].height;\n\t\tif (toX>=0 && toX=0 && toY0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\tif (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();", - "bigKey": "(function () {\n\tvar able = false,\n\t\tids = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.event.id == 'yellowDoor') {\n\t\t\tids.push(i);\n\t\t}\n\t}\n\tif (ids.length > 0) {\n\t\tcore.status.event.ui = ids;\n\t\table = true;\n\t}\n\treturn able;\n})();", + "pickaxe": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable) return false;\n\t\treturn block.block.event.canBreak;\n\t};\n\n\tif (core.flags.pickaxeFourDirections) {\n\t\t// 四方向破\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tif (canBreak(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} else {\n\t\t// 仅破当前\n\t\treturn canBreak(core.nextX(), core.nextY());\n\t}\n})();", + "icePickaxe": "(function () {\n\treturn core.getBlockId(core.nextX(), core.nextY()) == 'ice';\n})();", + "bomb": "(function () {\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable || block.block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.material.enemys[block.block.event.id];\n\t\treturn enemy && !enemy.notBomb;\n\t};\n\n\tif (core.flags.bombFourDirections) {\n\t\t// 四方向炸\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tif (canBomb(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} else {\n\t\t// 仅炸当前\n\t\treturn canBomb(core.nextX(), core.nextY());\n\t}\n})();", + "earthquake": "(function () {\n\treturn core.status.thisMap.blocks.filter(function (block) {\n\t\treturn !block.disable && block.event.canBreak;\n\t}).length > 0;\n})();", + "centerFly": "(function () {\n\tvar toX = core.bigmap.width - 1 - core.getHeroLoc('x'),\n\t\ttoY = core.bigmap.height - 1 - core.getHeroLoc('y');\n\tvar id = core.getBlockId(toX, toY);\n\treturn id == null;\n})();", + "upFly": "(function () {\n\tvar floorId = core.status.floorId,\n\t\tindex = core.floorIds.indexOf(floorId);\n\tif (index < core.floorIds.length - 1) {\n\t\tvar toId = core.floorIds[index + 1],\n\t\t\ttoX = core.getHeroLoc('x'),\n\t\t\ttoY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width,\n\t\t\tmh = core.floors[toId].height;\n\t\tif (toX >= 0 && toX < mw && toY >= 0 && toY < mh && core.getBlock(toX, toY, toId) == null) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();", + "downFly": "(function () {\n\tvar floorId = core.status.floorId,\n\t\tindex = core.floorIds.indexOf(floorId);\n\tif (index > 0) {\n\t\tvar toId = core.floorIds[index - 1],\n\t\t\ttoX = core.getHeroLoc('x'),\n\t\t\ttoY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width,\n\t\t\tmh = core.floors[toId].height;\n\t\tif (toX >= 0 && toX < mw && toY >= 0 && toY < mh && core.getBlock(toX, toY, toId) == null) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();", + "snow": "(function () {\n\tif (core.flags.snowFourDirections) {\n\t\t// 四方向雪花\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tif (core.getBlockId(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y) == 'lava') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} else {\n\t\treturn core.getBlockId(core.nextX(), core.nextY()) == 'lava';\n\t}\n})();", + "bigKey": "(function () {\n\treturn core.searchBlock('yellowDoor').length > 0;\n})();", "poisonWine": "core.hasFlag('poison');", "weakWine": "core.hasFlag('weak');", "curseWine": "core.hasFlag('curse');", "superWine": "(function() {\n\treturn core.hasFlag('poison') || core.hasFlag('weak') || core.hasFlag('curse');\n})();", "lifeWand": "true", - "jumpShoes": "(function() {\n\tvar nx=core.nextX(2), ny=core.nextY(2);\n\treturn nx>=0 && nx=0 && ny= 0 && nx < core.bigmap.width && ny >= 0 && ny < core.bigmap.height && core.getBlockId(nx, ny) == null;\n})();", "redPotion": "true", "bluePotion": "true", "greenPotion": "true", @@ -419,5 +417,78 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "yellowJewel": "true", "skill1": "true" }, - "equipCondition": {} + "equipCondition": {}, + "useItemEvent": { + "yellowJewel": [ + { + "type": "choices", + "choices": [ + { + "text": "攻击+1", + "action": [ + { + "type": "setValue", + "name": "status:atk", + "value": "status:atk+1" + } + ] + }, + { + "text": "防御+2", + "action": [ + { + "type": "setValue", + "name": "status:def", + "value": "status:def+2" + } + ] + }, + { + "text": "生命+200", + "action": [ + { + "type": "setValue", + "name": "status:hp", + "value": "status:hp+200" + } + ] + } + ] + } + ], + "lifeWand": [ + { + "type": "comment", + "text": "先恢复一个魔杖(因为使用道具必须消耗一个)" + }, + { + "type": "function", + "function": "function(){\ncore.addItem('lifeWand', 1);\n}" + }, + { + "type": "input", + "text": "请输入生命魔杖使用次数:(0-${item:lifeWand})" + }, + { + "type": "if", + "condition": "flag:input<=item:lifeWand", + "true": [ + { + "type": "setValue", + "name": "item:lifeWand", + "value": "item:lifeWand-flag:input" + }, + { + "type": "setValue", + "name": "status:hp", + "value": "status:hp+flag:input*100" + }, + "成功使用${flag:input}次生命魔杖,恢复${flag:input*100}点生命。" + ], + "false": [ + "输入不合法!" + ] + } + ] + } } \ No newline at end of file diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 9afcbf93..0f162845 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -41,7 +41,7 @@ (已完成!) 11. (来自鹿神)门和像三种基础墙一样的墙应当提供一个“需要消耗多少把哪种钥匙、开关门分别播放什么音效”(如[{"yellowKey": 1}, "door.mp3", "close.mp3"])的属性(还可以提供多种钥匙组合,关系可以为&&和||),而不是通过id去机械地对应 (不处理) 12. (来自鹿神和君浪)坚固属性建议按照描述来,去修改turn或hero_per_damage而不是mon_def(rmxp魔塔的坚固属性是通过一个全局量去指定hero_per_damage的,默认为1)以免和模仿(或者说仿防)冲突 (不处理) 13. 破甲、反击、净化倍率、仇恨增量和是否减半,建议允许使用怪物的属性去覆盖全塔属性中的值,如不同的破甲怪破甲倍率不同 -14. (来自小艾)仇恨伤害和固伤合并进总伤害以免和负伤抵消 +(已完成!) 14. (来自小艾)仇恨伤害和固伤合并进总伤害以免和负伤抵消 (不处理) 15. 单点阻激夹域和血网伤害同时存在多种时,气泡提示的伤害类型存在覆盖现象,建议优化 (已完成!) 16. (来自小艾)建议修复瞬移判定无视图快属性script项的bug (已完成!) 17. 建议修复(如果还没修复)core.drawTip()不能使用系统图标和clear参数的bug,并建议增加一个参数来表示多帧图块使用第几帧(UI绘制事件中的绘制图标同理),增加另一个参数来表示32*48图块绘制上2/3(当前实现,和手册一致)还是下2/3 @@ -62,12 +62,12 @@ (已完成!) 32. (关于CC的来回回档优化版)据其称,清空存档后会出现bug,此外他使用了W键导致二倍斩失效了(js的switch语句遇到duplicate cases居然不报错吗...) (已完成!) 33. (疑似已被CC修复)楼传平面塔模式在记录离开位置时会错误地把读档也算作离开 (已完成!) 34. (接上)还有很多像这样在楼层切换中对读档处理不当的问题,如天气色调bgm(前两者应当像bgm一样提供keep勾选项) -35. (来自群友)自动寻路有绕过血瓶的勾选项,但不会绕过绿宝石,这在卡血的净化塔是噩梦 +(已完成!) 35. (来自群友)自动寻路有绕过血瓶的勾选项,但不会绕过绿宝石,这在卡血的净化塔是噩梦 (已修复!) 36. (疑似)一年前小雨等人提到“可穿透的楼梯”旁边没有不可通行图块时,桌面端和移动端中只有一种端能停在楼梯上。如果确有此现象,希望修复 (不处理) 37. animates.png的四种箭头的右键绑定目前都只有":next",希望也提供":before" -38. 建议移除afterUseBomb函数,合并进炸弹和圣锤的useItemEffect甚至useItemEvent -38.1 现在强制要求面向要破的墙/要炸的怪物了 -38.2 移除圣锤道具的定义 +(已修复!) 38. 建议移除afterUseBomb函数,合并进炸弹和圣锤的useItemEffect甚至useItemEvent +(已修复!) 38.1 现在强制要求面向要破的墙/要炸的怪物了 +(已修复!) 38.2 移除圣锤道具的定义 (不处理) 39. 建议把样板自带的大部分tools类道具的useItemEffect用useItemEvent重写,以方便作者参照学习(我能说266都几个月了好多新作者和老作者压根不知道useItemEvent的存在吗) (已修复!) 40. 希望显示文章的\b提供top和bottom这两种新写法来实现在顶部或底部显示对话框,目前只有firstArrive和eachArrive等没有当前点的事件中才能用up和down来临时实现这种效果,否则就得设置剧情文本的属性,这在频繁来回切换时是致命的,就像《无上之光》RMXP版地上40层一样 41. 建议优化core.splitLines()来避免出现标点禁则(如点号和右标号不能用于行首,左标号不能用于行尾),同时也能更好地支持字母文字语言如英语(日语韩语等同样是方块字的倒不要紧) From b55388a499a7bdb9daf22993f58ebd32632c2359 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 6 May 2020 14:03:59 +0800 Subject: [PATCH 28/70] =?UTF-8?q?cannotIn=20/=20cannotOut=E4=BD=BF?= =?UTF-8?q?=E7=94=A8checkbox=E9=80=89=E9=A1=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/config.json | 2 +- _server/css/editor_mode.css | 12 +++---- _server/editor_table.js | 67 ++++++++++++++++++++++++++++------- _server/table/comment.js | 16 ++------- _server/table/data.comment.js | 46 ------------------------ libs/maps.js | 1 + project/maps.js | 8 ++--- 7 files changed, 67 insertions(+), 85 deletions(-) diff --git a/_server/config.json b/_server/config.json index fe6a45a9..9c9888dc 100644 --- a/_server/config.json +++ b/_server/config.json @@ -1 +1 @@ -{"lastUsed":[],"foldPerCol":50,"folded":false,"editorLastFloorId":null,"disableBlocklyReplace":false,"shortcut":{"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0}} \ No newline at end of file +{"lastUsed":[],"foldPerCol":50,"folded":false,"editorLastFloorId":"sample0","disableBlocklyReplace":false,"shortcut":{"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0}} \ No newline at end of file diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index 33f1a9bd..19de890b 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -210,11 +210,7 @@ div.etableInputDiv { border: none; } -.etableInputDiv input[type="text"] { - -} - -.etableInputDiv input[type="checkbox"] { +.etableInputDiv .checkbox { width: 16px; height: 16px; position: absolute; @@ -224,8 +220,10 @@ div.etableInputDiv { margin-top: -8px; } -.etableInputDiv select { - +.etableInputDiv .cannotInOutCheckbox { + width: 16px; + height: 16px; + display: inline; } .etableInputDiv textarea { diff --git a/_server/editor_table.js b/_server/editor_table.js index c21220fd..8d699188 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -21,11 +21,18 @@ editor_table_wrapper = function (editor) { return /* html */`\n` } editor_table.prototype.checkbox = function (value) { - return /* html */`\n` + return /* html */`\n` } editor_table.prototype.textarea = function (value, indent) { return /* html */`\n` } + editor_table.prototype.cannotInOutCheckbox = function (value) { + if (!(value instanceof Array)) value = []; + return /* html */`上:=0 ? 'checked ' : ''} /> +  下:=0 ? 'checked ' : ''} />
+ 左:=0 ? 'checked ' : ''} /> +  右:=0 ? 'checked ' : ''} />
`; + } editor_table.prototype.editGrid = function (showComment) { var html = ""; if (showComment) html += "
"; @@ -220,16 +227,15 @@ editor_table_wrapper = function (editor) { editor_table.prototype.objToTd = function (obj, commentObj, field, cfield, vobj, cobj) { var thiseval = vobj; - if (cobj._select) { - var values = cobj._select.values; - return editor.table.select(thiseval, values); - } else if (cobj._input) { - return editor.table.text(thiseval); - } else if (cobj._bool) { - return editor.table.checkbox(thiseval); - } else { - var indent = 0; - return editor.table.textarea(thiseval, indent); + switch (cobj._type) { + case 'select': + return editor.table.select(thiseval, cobj._select.values); + case 'checkbox': + return editor.table.checkbox(thiseval); + case 'cannotInOutCheckbox': + return editor.table.cannotInOutCheckbox(thiseval); + default: + return editor.table.textarea(thiseval, cobj.indent || 0); } } @@ -263,6 +269,7 @@ editor_table_wrapper = function (editor) { // >td[title=comment,cobj=cobj:json] // >td>div>input[value=thiseval] var thisTr = document.getElementById(guid); + var inputs = thisTr.children[2].children[0].children; var input = thisTr.children[2].children[0].children[0]; var field = thisTr.children[0].getAttribute('title'); var cobj = JSON.parse(thisTr.children[1].getAttribute('cobj')); @@ -270,8 +277,17 @@ editor_table_wrapper = function (editor) { while (!editor_mode._ids.hasOwnProperty(modeNode.getAttribute('id'))) { modeNode = modeNode.parentNode; } - input.onchange = function () { - editor.table.onchange(guid, obj, commentObj, thisTr, input, field, cobj, modeNode) + for (var i in inputs) { + var input = inputs[i]; + if (input.nodeName == 'INPUT' || input.nodeName == 'SELECT' || input.nodeName == 'TEXTAREA') { + input.onchange = function () { + if (cobj._type == 'cannotInOutCheckbox') { + editor.table.onCannotInOutChange(guid, obj, commentObj, thisTr, inputs, field, cobj, modeNode); + } else { + editor.table.onchange(guid, obj, commentObj, thisTr, input, field, cobj, modeNode); + } + } + } } // 用检测两次单击的方式来实现双击(以支持手机端的双击) var doubleClickCheck = [0]; @@ -307,6 +323,31 @@ editor_table_wrapper = function (editor) { } } + /** + * 当“cannotOut / cannotIn”的表格值变化时 + */ + editor_table.prototype.onCannotInOutChange = function (guid, obj, commentObj, thisTr, inputs, field, cobj, modeNode) { + editor_mode.onmode(editor_mode._ids[modeNode.getAttribute('id')]); + var value = []; + var directions = ['up', 'down', 'left', 'right']; + var index = 0; + for (var i in inputs) { + if (inputs[i].nodeName == 'INPUT') { + if (inputs[i].checked) value.push(directions[index]); + index++; + } + } + if (value.length == 0) thiseval = null; + else thiseval = value; + if (editor.table.checkRange(cobj, thiseval)) { + editor_mode.addAction(['change', field, thiseval]); + editor_mode.onmode('save');//自动保存 删掉此行的话点保存按钮才会保存 + } else { + printe(field + ' : 输入的值不合要求,请鼠标放置在注释上查看说明'); + } + + } + /** * 当"显示完整注释"被按下时 */ diff --git a/_server/table/comment.js b/_server/table/comment.js index 304ee4e2..b1dfc5f3 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -48,7 +48,6 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "hideInReplay": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否回放时绘制道具栏。\n如果此项为true,则在回放录像时使用本道具将不会绘制道具栏页面,而是直接使用。\n此项建议在会频繁连续多次使用的道具开启(如开启技能,或者《镜子》那样的镜像切换等等)" } } @@ -159,7 +158,6 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "zoneSquare": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "领域怪是否九宫格伤害" }, "range": { @@ -171,7 +169,6 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "notBomb": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "该怪物不可被炸" }, "n": { @@ -183,7 +180,6 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "add": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "吸血后是否加到自身;光环是否叠加" }, "atkValue": { @@ -273,20 +269,17 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { }, "cannotOut": { "_leaf": true, - "_type": "textarea", - "_range": "thiseval==null||(thiseval instanceof Array)", + "_type": "cannotInOutCheckbox", "_data": "该图块的不可出方向\n可以在这里定义在该图块时不能前往哪个方向,可以达到悬崖之类的效果\n例如 [\"up\", \"left\"] 代表在该图块时不能往上和左走\n此值对背景层、事件层、前景层上的图块均有效" }, "cannotIn": { "_leaf": true, - "_type": "textarea", - "_range": "thiseval==null||(thiseval instanceof Array)", + "_type": "cannotInOutCheckbox", "_data": "该图块的不可入方向\n可以在这里定义不能朝哪个方向进入该图块,可以达到悬崖之类的效果\n例如 [\"down\"] 代表不能从该图块的上方点朝向下进入此图块\n此值对背景层、事件层、前景层上的图块均有效" }, "canBreak": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "该图块是否可被破墙或地震" }, "animate": { @@ -347,25 +340,21 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "canFlyTo": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器)" }, "canUseQuickShop": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "该层是否允许使用快捷商店" }, "cannotViewMap": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "该层是否不允许被浏览地图看到;如果勾上则浏览地图会跳过该层" }, "cannotMoveDirectly": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "该层是否不允许瞬间移动;如果勾上则不可在此层进行瞬移" }, "firstArrive": { @@ -436,7 +425,6 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "underGround": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否是地下层;如果该项为true则同层传送将传送至上楼梯" } } diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 9ad923d6..99f7893f 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -436,205 +436,171 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "enableFloor": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏显示当前楼层" }, "enableName": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏显示勇士名字" }, "enableLv": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏显示当前等级" }, "enableHPMax": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否是否启用生命上限" }, "enableMana": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否开启魔力值" }, "enableMDef": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏及战斗界面显示魔防(护盾)" }, "enableMoney": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏、怪物手册及战斗界面显示金币" }, "enableExperience": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏、怪物手册及战斗界面显示经验" }, "enableLevelUp": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否允许等级提升(进阶);如果上面enableExperience为false,则此项恒视为false" }, "levelUpLeftMode": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "进阶使用扣除模式,即在状态栏显示距离下个等级所需要的经验值;只有enableExperience和enableLevelUp均开启时才有效。" }, "enableKeys": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏显示三色钥匙数量" }, "enablePZF": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏显示破炸飞数量" }, "enableDebuff": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在状态栏显示毒衰咒" }, "enableSkill": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否启用技能栏" }, "flyNearStair": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "传送器是否需要在楼梯边使用;如果flyRecordPosition开启,则此项对箭头也有效。" }, "flyRecordPosition": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "传送器平面塔模式;此模式下楼层传送器将飞到上次离开该楼层的位置。" }, "pickaxeFourDirections": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁" }, "bombFourDirections": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "使用炸弹是否四个方向都会炸;如果false则只炸面前的怪物(即和圣锤等价)" }, "snowFourDirections": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "使用冰冻徽章是否四个方向都会消除熔岩;如果false则只消除面前的熔岩" }, "bigKeyIsBox": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "如果此项为true,则视为钥匙盒,红黄蓝钥匙+1;若为false,则视为大黄门钥匙" }, "steelDoorWithoutKey": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "铁门是否不需要钥匙开启。如果此项为true,则无需钥匙也可以开铁门。" }, "itemFirstText": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "首次获得道具是否提示" }, "equipment": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "剑和盾是否作为装备。如果此项为true,则作为装备,需要在装备栏使用,否则将直接加属性。" }, "equipboxButton": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "状态栏的装备按钮。若此项为true则将状态栏中的楼层转换器按钮换为装备栏按钮" }, "iconInEquipbox": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "在装备栏中的属性变化,是否绘制图标;如果此项开启,则会绘制图标而不是文字" }, "enableAddPoint": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否支持加点" }, "enableNegativeDamage": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否支持负伤害(回血)" }, "hatredDecrease": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在和仇恨怪战斗后减一半的仇恨值,此项为false则和仇恨怪不会扣减仇恨值。" }, "betweenAttackCeil": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "夹击上整还是下整。如果此项为true则夹击伤害值向上取整,为false则为向下取整" }, "betweenAttackMax": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "夹击伤害是否不超过怪物伤害值。" }, "useLoop": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否循环计算临界;如果此项为true则使用循环法(而不是回合数计算法)来算临界\n从V2.5.3开始,对于大数据的循环法将改为使用二分法进行计算" }, "startUsingCanvas": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否开始菜单canvas化;如果此项为true,则将使用canvas来绘制开始菜单" }, "startDirectly": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面" }, "statusCanvas": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否状态栏canvas化,即手动自定义绘制状态栏。\n如果此项开启,则可在脚本编辑的drawStatusBar中自定义绘制菜单栏。" }, "statusCanvasRowsOnMobile": { @@ -646,73 +612,61 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "displayEnemyDamage": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否地图怪物显伤;用户可以手动在菜单栏中开关" }, "displayCritical": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否地图显示临界;用户可以手动在菜单栏中开关" }, "displayExtraDamage": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否地图高级显伤(领域、夹击等);用户可以手动在菜单栏中开关" }, "enableGentleClick": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否允许轻触(获得面前物品)" }, "potionWhileRouting": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "寻路算法是否经过血瓶;如果该项为false,则寻路算法会自动尽量绕过血瓶" }, "ignoreChangeFloor": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "经过楼梯、传送门时是否能“穿透”。\n穿透的意思是,自动寻路得到的的路径中间经过了楼梯,行走时是否触发楼层转换事件" }, "canGoDeadZone": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否允许走到将死的领域上。如果此项为true,则可以走到将死的领域上" }, "enableMoveDirectly": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否允许瞬间移动" }, "enableDisabledShop": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否允许查看未开启状态的快捷商店内容;如果此项为真,则对于未开启状态的商店允许查看其内容(但不能购买)" }, "disableShopOnDamage": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否在经过领域/夹击/路障等伤害后禁用快捷商店。" }, "blurFg": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否虚化前景层;如果此项开启,则在游戏中事件层有东西(如宝石等)时虚化前景层。" }, "checkConsole": { "_leaf": true, "_type": "checkbox", - "_bool": "bool", "_data": "是否检查控制台的开启情况。" } } diff --git a/libs/maps.js b/libs/maps.js index 9405f0bc..96b76efd 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -515,6 +515,7 @@ maps.prototype._canMoveHero_checkCannotInOut = function (number, name, direction } return false; } + if (name == 'cannotIn') direction = core.reverseDirection(direction); return core.inArray((this.getBlockByNumber(number).event || {})[name], direction); } diff --git a/project/maps.js b/project/maps.js index 238da295..fe258890 100644 --- a/project/maps.js +++ b/project/maps.js @@ -105,10 +105,10 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "151": {"cls":"autotile","id":"autotile1","noPass":true}, "152": {"cls":"autotile","id":"autotile2","noPass":true}, "153": {"cls":"autotile","id":"autotile3","noPass":true}, - "161": {"cls":"terrains","id":"arrowUp","noPass":false,"cannotOut":["left","right","down"],"cannotIn":["down"]}, - "162": {"cls":"terrains","id":"arrowDown","noPass":false,"cannotOut":["left","right","up"],"cannotIn":["up"]}, - "163": {"cls":"terrains","id":"arrowLeft","noPass":false,"cannotOut":["up","down","right"],"cannotIn":["right"]}, - "164": {"cls":"terrains","id":"arrowRight","noPass":false,"cannotOut":["up","down","left"],"cannotIn":["left"]}, + "161": {"cls":"terrains","id":"arrowUp","noPass":false,"cannotOut":["left","right","down"],"cannotIn":["up"]}, + "162": {"cls":"terrains","id":"arrowDown","noPass":false,"cannotOut":["left","right","up"],"cannotIn":["down"]}, + "163": {"cls":"terrains","id":"arrowLeft","noPass":false,"cannotOut":["up","down","right"],"cannotIn":["left"]}, + "164": {"cls":"terrains","id":"arrowRight","noPass":false,"cannotOut":["up","down","left"],"cannotIn":["right"]}, "165": {"cls":"terrains","id":"light","trigger":"changeLight","noPass":false}, "166": {"cls":"terrains","id":"darkLight","noPass":true}, "167": {"cls":"terrains","id":"ski","trigger":"ski","noPass":false}, From 5ab15d998dcefab8b4385964893d84f272fcec03 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 6 May 2020 14:24:34 +0800 Subject: [PATCH 29/70] =?UTF-8?q?=E5=9B=BE=E5=9D=97=E5=B1=9E=E6=80=A7noPas?= =?UTF-8?q?s=20->=20canPass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/css/editor_mode.css | 2 +- _server/table/comment.js | 15 +++------- libs/maps.js | 15 +++++----- project/maps.js | 60 ++++++++++++++++++------------------- v2.x-final更新.txt | 2 +- 5 files changed, 44 insertions(+), 50 deletions(-) diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index 19de890b..27b042e4 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -223,7 +223,7 @@ div.etableInputDiv { .etableInputDiv .cannotInOutCheckbox { width: 16px; height: 16px; - display: inline; + display: inline-block; } .etableInputDiv textarea { diff --git a/_server/table/comment.js b/_server/table/comment.js index b1dfc5f3..63e2c958 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -95,7 +95,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { } } }, - "items_template": { 'cls': 'items', 'name': '新物品' }, + "items_template": { 'cls': 'items', 'name': '新物品', 'canPass': true }, // --------------------------- 【怪物】相关的表格配置 --------------------------- // @@ -248,17 +248,10 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { }, "_data": "该图块的默认触发器" }, - "noPass": { + "canPass": { "_leaf": true, - "_type": "select", - "_select": { - "values": [ - "null", - "true", - "false" - ] - }, - "_data": "该图块是否不可通行;true代表不可通行,false代表可通行,null代表使用系统缺省值" + "_type": "checkbox", + "_data": "该图块是否可以通行;true代表可以通行,false代表不可通行" }, "script": { "_leaf": true, diff --git a/libs/maps.js b/libs/maps.js index 96b76efd..0f259d26 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -109,8 +109,14 @@ maps.prototype.initBlock = function (x, y, id, addInfo, eventFloor) { else if (core.icons.getTilesetOffset(id)) block.event = {"cls": "tileset", "id": "X" + id, "noPass": true}; else block.event = {'cls': 'terrains', 'id': 'none', 'noPass': false}; - if (typeof block.event.noPass === 'string') - block.event.noPass = JSON.parse(block.event.noPass); + if (block.event.noPass == null) { + if (block.event.canPass == null) { + block.event.noPass = block.event.cls != 'items'; + } else { + block.event.noPass = !block.event.canPass; + } + } + delete block.event.canPass; if (addInfo) this._addInfo(block); if (eventFloor) { @@ -130,11 +136,6 @@ maps.prototype._addInfo = function (block) { if (block.event.cls == 'items' && !block.event.trigger) { block.event.trigger = 'getItem'; } - if (block.event.noPass == null) { - if (block.event.cls != 'items') { - block.event.noPass = true; - } - } if (block.event.animate == null) { block.event.animate = core.icons._getAnimateFrames(block.event.cls, false); } diff --git a/project/maps.js b/project/maps.js index fe258890..4077be1f 100644 --- a/project/maps.js +++ b/project/maps.js @@ -3,20 +3,20 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "1": {"cls":"animates","id":"yellowWall","canBreak":true,"animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, "2": {"cls":"animates","id":"whiteWall","canBreak":true,"animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, "3": {"cls":"animates","id":"blueWall","canBreak":true,"animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, - "4": {"cls":"animates","id":"star","noPass":true}, - "5": {"cls":"animates","id":"lava","noPass":true}, + "4": {"cls":"animates","id":"star"}, + "5": {"cls":"animates","id":"lava"}, "6": {"cls":"terrains","id":"ice"}, "7": {"cls":"terrains","id":"blueShopLeft"}, "8": {"cls":"terrains","id":"blueShopRight"}, "9": {"cls":"terrains","id":"pinkShopLeft"}, "10": {"cls":"terrains","id":"pinkShopRight"}, - "11": {"cls":"animates","id":"lavaNet","noPass":false,"trigger":"passNet"}, - "12": {"cls":"animates","id":"poisonNet","noPass":false,"trigger":"passNet"}, - "13": {"cls":"animates","id":"weakNet","noPass":false,"trigger":"passNet"}, - "14": {"cls":"animates","id":"curseNet","noPass":false,"trigger":"passNet"}, - "15": {"cls":"animates","id":"blueWater","noPass":true}, - "16": {"cls":"animates","id":"water","noPass":true}, - "20": {"cls":"autotile","id":"autotile","noPass":true}, + "11": {"cls":"animates","id":"lavaNet","canPass":true,"trigger":"passNet"}, + "12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"passNet"}, + "13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"passNet"}, + "14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"passNet"}, + "15": {"cls":"animates","id":"blueWater"}, + "16": {"cls":"animates","id":"water"}, + "20": {"cls":"autotile","id":"autotile"}, "21": {"cls":"items","id":"yellowKey"}, "22": {"cls":"items","id":"blueKey"}, "23": {"cls":"items","id":"redKey"}, @@ -74,14 +74,14 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "84": {"cls":"animates","id":"greenDoor","trigger":"openDoor","animate":1,"doorInfo":[{"greenKey":1},"door.mp3","door.mp3"]}, "85": {"cls":"animates","id":"specialDoor","trigger":"openDoor","animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, "86": {"cls":"animates","id":"steelDoor","trigger":"openDoor","animate":1,"doorInfo":[{"steelKey":1},"door.mp3","door.mp3"]}, - "87": {"cls":"terrains","id":"upFloor","noPass":false}, - "88": {"cls":"terrains","id":"downFloor","noPass":false}, - "89": {"cls":"animates","id":"portal","noPass":false}, - "90": {"cls":"animates","id":"starPortal","noPass":false}, - "91": {"cls":"animates","id":"upPortal","noPass":false}, - "92": {"cls":"animates","id":"leftPortal","noPass":false}, - "93": {"cls":"animates","id":"downPortal","noPass":false}, - "94": {"cls":"animates","id":"rightPortal","noPass":false}, + "87": {"cls":"terrains","id":"upFloor","canPass":true}, + "88": {"cls":"terrains","id":"downFloor","canPass":true}, + "89": {"cls":"animates","id":"portal","canPass":true}, + "90": {"cls":"animates","id":"starPortal","canPass":true}, + "91": {"cls":"animates","id":"upPortal","canPass":true}, + "92": {"cls":"animates","id":"leftPortal","canPass":true}, + "93": {"cls":"animates","id":"downPortal","canPass":true}, + "94": {"cls":"animates","id":"rightPortal","canPass":true}, "101": {"cls":"animates","id":"crystalUp"}, "102": {"cls":"animates","id":"crystalBottom"}, "103": {"cls":"animates","id":"fire"}, @@ -102,19 +102,19 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "134": {"cls":"npc48","id":"npc1","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}}, "135": {"cls":"npc48","id":"npc2","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}}, "136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}}, - "151": {"cls":"autotile","id":"autotile1","noPass":true}, - "152": {"cls":"autotile","id":"autotile2","noPass":true}, - "153": {"cls":"autotile","id":"autotile3","noPass":true}, - "161": {"cls":"terrains","id":"arrowUp","noPass":false,"cannotOut":["left","right","down"],"cannotIn":["up"]}, - "162": {"cls":"terrains","id":"arrowDown","noPass":false,"cannotOut":["left","right","up"],"cannotIn":["down"]}, - "163": {"cls":"terrains","id":"arrowLeft","noPass":false,"cannotOut":["up","down","right"],"cannotIn":["left"]}, - "164": {"cls":"terrains","id":"arrowRight","noPass":false,"cannotOut":["up","down","left"],"cannotIn":["right"]}, - "165": {"cls":"terrains","id":"light","trigger":"changeLight","noPass":false}, - "166": {"cls":"terrains","id":"darkLight","noPass":true}, - "167": {"cls":"terrains","id":"ski","trigger":"ski","noPass":false}, - "168": {"cls":"terrains","id":"flower","noPass":false}, - "169": {"cls":"terrains","id":"box","trigger":"pushBox","noPass":true}, - "170": {"cls":"terrains","id":"boxed","trigger":"pushBox","noPass":true}, + "151": {"cls":"autotile","id":"autotile1"}, + "152": {"cls":"autotile","id":"autotile2"}, + "153": {"cls":"autotile","id":"autotile3"}, + "161": {"cls":"terrains","id":"arrowUp","canPass":true,"cannotOut":["left","right","down"],"cannotIn":["up"]}, + "162": {"cls":"terrains","id":"arrowDown","canPass":true,"cannotOut":["left","right","up"],"cannotIn":["down"]}, + "163": {"cls":"terrains","id":"arrowLeft","canPass":true,"cannotOut":["up","down","right"],"cannotIn":["left"]}, + "164": {"cls":"terrains","id":"arrowRight","canPass":true,"cannotOut":["up","down","left"],"cannotIn":["right"]}, + "165": {"cls":"terrains","id":"light","trigger":"changeLight","canPass":true}, + "166": {"cls":"terrains","id":"darkLight"}, + "167": {"cls":"terrains","id":"ski","trigger":"ski","canPass":true}, + "168": {"cls":"terrains","id":"flower","canPass":true}, + "169": {"cls":"terrains","id":"box","trigger":"pushBox"}, + "170": {"cls":"terrains","id":"boxed","trigger":"pushBox"}, "181": {"cls":"npcs","id":"wlt"}, "182": {"cls":"npcs","id":"wt"}, "183": {"cls":"npcs","id":"wrt"}, diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 0f162845..6801de1c 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -24,7 +24,7 @@ (已完成!) 对floorIds和图片进行检测 (已完成!) 删除绘图模式 (已完成!) 清除最近使用图块 - +(已完成!) cannotIn / cannotOut使用选项框 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” From 8961dd9a5887ba596d58a1cb75369c4744a63bb3 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 6 May 2020 14:40:18 +0800 Subject: [PATCH 30/70] =?UTF-8?q?=E5=88=A0=E9=99=A4setInitData=E5=B9=B6?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=88=B0startText=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor_table.js | 5 +- _server/table/functions.comment.js | 6 --- libs/enemys.js | 3 -- libs/events.js | 2 + project/data.js | 74 +++++++++++++++++++++++++----- v2.x-final更新.txt | 3 +- 6 files changed, 68 insertions(+), 25 deletions(-) diff --git a/_server/editor_table.js b/_server/editor_table.js index 8d699188..2ed5dc84 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -269,15 +269,14 @@ editor_table_wrapper = function (editor) { // >td[title=comment,cobj=cobj:json] // >td>div>input[value=thiseval] var thisTr = document.getElementById(guid); - var inputs = thisTr.children[2].children[0].children; - var input = thisTr.children[2].children[0].children[0]; + var inputs = thisTr.children[2].children[0].children; var field = thisTr.children[0].getAttribute('title'); var cobj = JSON.parse(thisTr.children[1].getAttribute('cobj')); var modeNode = thisTr.parentNode; while (!editor_mode._ids.hasOwnProperty(modeNode.getAttribute('id'))) { modeNode = modeNode.parentNode; } - for (var i in inputs) { + for (var i = 0; i < inputs.length; ++i) { var input = inputs[i]; if (input.nodeName == 'INPUT' || input.nodeName == 'SELECT' || input.nodeName == 'TEXTAREA') { input.onchange = function () { diff --git a/_server/table/functions.comment.js b/_server/table/functions.comment.js index 39d93b32..18603a46 100644 --- a/_server/table/functions.comment.js +++ b/_server/table/functions.comment.js @@ -16,12 +16,6 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_lint": true, "_data": "重置整个游戏" }, - "setInitData": { - "_leaf": true, - "_type": "textarea", - "_lint": true, - "_data": "设置初始属性" - }, "win": { "_leaf": true, "_type": "textarea", diff --git a/libs/enemys.js b/libs/enemys.js index 0d80adfe..cfc23e07 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -292,9 +292,6 @@ enemys.prototype._getDamage = function (enemy, hero, x, y, floorId) { return info.damage; } -////// 更新怪物数据。已经不再使用,这里留空进行兼容。 ////// -enemys.prototype.updateEnemys = function () {} - ////// 获得当前楼层的怪物列表 ////// enemys.prototype.getCurrentEnemys = function (floorId) { floorId = floorId || core.status.floorId; diff --git a/libs/events.js b/libs/events.js index d21036c6..96620fd1 100644 --- a/libs/events.js +++ b/libs/events.js @@ -702,11 +702,13 @@ events.prototype.afterChangeFloor = function (floorId, fromLoad) { ////// 是否到达过某个楼层 ////// events.prototype.hasVisitedFloor = function (floorId) { + if (!core.hasFlag("__visited__")) core.setFlag("__visited__", {}); return core.getFlag("__visited__")[floorId] || false; } ////// 到达某楼层 ////// events.prototype.visitFloor = function (floorId) { + if (!core.hasFlag("__visited__")) core.setFlag("__visited__", {}); core.getFlag("__visited__")[floorId] = true; } diff --git a/project/data.js b/project/data.js index f5c220f7..bc4b0cf5 100644 --- a/project/data.js +++ b/project/data.js @@ -128,8 +128,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = 0, 0 ], - "dw": 100, - "dh": 100, "opacity": 1, "time": 0 }, @@ -165,11 +163,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "true": [ { "type": "comment", - "text": "直接开始游戏,设置初始化数据" - }, - { - "type": "function", - "function": "function(){\ncore.events.setInitData('')\n}" + "text": "直接开始游戏" } ], "false": [ @@ -179,7 +173,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = }, { "type": "function", - "function": "function(){\nvar choices = [];\nmain.levelChoose.forEach(function (one) {\n\tchoices.push({\"text\": one[0], \"action\": [\n\t\t{\"type\": \"function\", \"function\": \"function() { core.status.hard = '\"+one[1]+\"'; core.events.setInitData('\"+one[1]+\"'); }\"}\n\t]});\n})\ncore.insertAction({\"type\": \"choices\", \"choices\": choices});\n}" + "function": "function(){\nvar choices = [];\nmain.levelChoose.forEach(function (one) {\n\tchoices.push({\n\t\t\"text\": one[0],\n\t\t\"action\": [\n\t\t\t{ \"type\": \"function\", \"function\": \"function() { core.status.hard = '\" + one[1] + \"'; }\" }\n\t\t]\n\t});\n})\ncore.insertAction({ \"type\": \"choices\", \"choices\": choices });\n}" } ] }, @@ -232,8 +226,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "type": "function", "function": "function(){\ncore.chooseReplayFile()\n}" } - ], - "false": [] + ] } ] } @@ -247,9 +240,66 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = } ], "startText": [ + { + "type": "comment", + "text": "根据难度分歧设置并给其他初始值" + }, + { + "type": "switch", + "condition": "core.status.hard", + "caseList": [ + { + "case": "'Easy'", + "action": [ + { + "type": "setValue", + "name": "flag:hard", + "value": "1" + }, + { + "type": "comment", + "text": "可以在这里修改初始道具或属性,比如赠送黄钥匙等" + } + ] + }, + { + "case": "'Normal'", + "action": [ + { + "type": "setValue", + "name": "flag:hard", + "value": "2" + } + ] + }, + { + "case": "'Hard'", + "action": [ + { + "type": "setValue", + "name": "flag:hard", + "value": "3" + } + ] + }, + { + "case": "'Hell'", + "action": [ + { + "type": "setValue", + "name": "flag:hard", + "value": "4" + } + ] + } + ] + }, + { + "type": "comment", + "text": "初始剧情" + }, "Hi,欢迎来到 HTML5 魔塔样板!\n\n本样板由艾之葵制作,可以让你在不会写任何代码\n的情况下也能做出属于自己的H5魔塔!", - "这里游戏开始时的剧情。\n定义在data.js的startText处。\n\n你可以在这里写上自己的内容。", - "赶快来试一试吧!" + "这里游戏开始时的剧情。\n\n你可以在这里写上自己的内容。\n赶快来试一试吧!" ], "shops": [ { diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 6801de1c..3fe19997 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -25,6 +25,7 @@ (已完成!) 删除绘图模式 (已完成!) 清除最近使用图块 (已完成!) cannotIn / cannotOut使用选项框 +(已完成!) noPass->canPass改成选择框 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” @@ -107,7 +108,7 @@ 75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件 (不处理) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符) -78. 建议移除core.setInitData()并将其内容写在startText以方便作者仿照修改 +(已完成!) 78. 建议移除core.setInitData()并将其内容写在startText以方便作者仿照修改 79. 建议给core.drawHero()添加纵横两个偏移参数(目前只有一个),以用于做一些斜向移动的演出 (文档都给秋橙) 80. 在线文档中“系统使用的flag变量”不够完整,建议加以补充 (不处理,新增样板非常麻烦) 81. (来自群友)建议做一个17*13的纯横屏样板(大地图只能纵向实现),状态栏自绘在最右边四列,从而彻底摆脱乱七八糟的dom操作 From fe0e4049af90356da280f3ac540ff1b88130f70c Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 6 May 2020 14:53:32 +0800 Subject: [PATCH 31/70] =?UTF-8?q?=E5=88=A0=E9=99=A4setInitData=E5=B9=B6?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=88=B0startText=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API列表.txt | 7 +------ _docs/api.md | 7 +------ _server/editor.js | 1 - libs/events.js | 6 ------ project/functions.js | 22 ---------------------- v2.x-final更新.txt | 2 +- 6 files changed, 3 insertions(+), 42 deletions(-) diff --git a/API列表.txt b/API列表.txt index 4b0d83ef..8b5cbccd 100644 --- a/API列表.txt +++ b/API列表.txt @@ -815,12 +815,7 @@ core.startGame(hard, seed, route, callback) 开始新游戏。 hard为难度字符串,会被设置为core.status.hard。 seed为开始时要设置的的种子,route为要开始播放的录像,callback为回调函数。 -该函数将重置整个游戏,调用setInitData,执行startText事件,上传游戏人数统计信息等。 - - -core.setInitData() -根据难度分歧来初始化难度,包括设置flag:hard,设置初始属性等。 -该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 +该函数将重置整个游戏,执行startText事件,上传游戏人数统计信息等。 core.win(reason, norank) diff --git a/_docs/api.md b/_docs/api.md index 87fc76dd..d3f6027d 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -814,12 +814,7 @@ core.startGame(hard, seed, route, callback) 开始新游戏。 hard为难度字符串,会被设置为core.status.hard。 seed为开始时要设置的的种子,route为要开始播放的录像,callback为回调函数。 -该函数将重置整个游戏,调用setInitData,执行startText事件,上传游戏人数统计信息等。 - - -core.setInitData() -根据难度分歧来初始化难度,包括设置flag:hard,设置初始属性等。 -该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。 +该函数将重置整个游戏,执行startText事件,上传游戏人数统计信息等。 core.win(reason, norank) diff --git a/_server/editor.js b/_server/editor.js index 705c07c7..fb8887dc 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -183,7 +183,6 @@ editor.prototype.init = function (callback) { core.changeFloor(lastFloorId, null, core.firstData.hero.loc, null, function () { afterCoreReset(); }, true); - core.events.setInitData(null); }); } diff --git a/libs/events.js b/libs/events.js index 96620fd1..a484d97c 100644 --- a/libs/events.js +++ b/libs/events.js @@ -53,7 +53,6 @@ events.prototype._startGame_start = function (hard, seed, route, callback) { core.setFlag('__rand__', seed); } else core.utils.__init_seed(); - this.setInitData(); core.clearStatusBar(); var todo = []; @@ -104,11 +103,6 @@ events.prototype._startGame_upload = function () { core.utils.http("POST", "/games/upload.php", formData); } -////// 不同难度分别设置初始属性 ////// -events.prototype.setInitData = function () { - return this.eventdata.setInitData(); -} - ////// 游戏获胜事件 ////// events.prototype.win = function (reason, norank, noexit) { if (!noexit) core.status.gameOver = true; diff --git a/project/functions.js b/project/functions.js index 3ad5202a..0cd9f145 100644 --- a/project/functions.js +++ b/project/functions.js @@ -49,28 +49,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.showStatusBar(); // 隐藏右下角的音乐按钮 core.dom.musicBtn.style.display = 'none'; -}, - "setInitData": function () { - // 不同难度分别设置初始属性 - if (core.status.hard == 'Easy') { // 简单难度 - core.setFlag('hard', 1); // 可以用flag:hard来获得当前难度 - // 可以在此设置一些初始福利,比如设置初始生命值可以调用: - // core.setStatus("hp", 10000); - // 赠送一把黄钥匙可以调用 - // core.setItem("yellowKey", 1); - } - if (core.status.hard == 'Normal') { // 普通难度 - core.setFlag('hard', 2); // 可以用flag:hard来获得当前难度 - } - if (core.status.hard == 'Hard') { // 困难难度 - core.setFlag('hard', 3); // 可以用flag:hard来获得当前难度 - } - if (core.status.hard == 'Hell') { // 噩梦难度 - core.setFlag('hard', 4); // 可以用flag:hard来获得当前难度 - } - - // 设置已经到过的楼层 - core.setFlag("__visited__", {}); }, "win": function (reason, norank, noexit) { // 游戏获胜事件 diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 3fe19997..7f5d3585 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -109,6 +109,6 @@ 76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件 (不处理) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符) (已完成!) 78. 建议移除core.setInitData()并将其内容写在startText以方便作者仿照修改 -79. 建议给core.drawHero()添加纵横两个偏移参数(目前只有一个),以用于做一些斜向移动的演出 +(不处理;有跟随情况下处理很麻烦) 79. 建议给core.drawHero()添加纵横两个偏移参数(目前只有一个),以用于做一些斜向移动的演出 (文档都给秋橙) 80. 在线文档中“系统使用的flag变量”不够完整,建议加以补充 (不处理,新增样板非常麻烦) 81. (来自群友)建议做一个17*13的纯横屏样板(大地图只能纵向实现),状态栏自绘在最右边四列,从而彻底摆脱乱七八糟的dom操作 From f9a84954e1b42988e9724404c3cebe2059ea301d Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Thu, 7 May 2020 13:41:46 +0800 Subject: [PATCH 32/70] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 34 ++++++++++++++++++++-------------- libs/ui.js | 15 +++++++++------ v2.x-final更新.txt | 19 ++++++++++++------- 3 files changed, 41 insertions(+), 27 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 8d41aecf..38123db4 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -2235,13 +2235,13 @@ return code; */; fillBoldText_s - : '绘制描边文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '字体' EvalString? BGNL? EvalString Newline + : '绘制描边文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '描边颜色' EvalString? Colour '字体' EvalString? BGNL? EvalString Newline /* fillBoldText_s tooltip : fillBoldText:绘制一行描边文本 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillBoldText%ef%bc%9a%e7%bb%98%e5%88%b6%e6%8f%8f%e8%be%b9%e6%96%87%e6%9c%ac colour : this.subColor -default : ["0","0","",'rgba(255,255,255,1)',"","绘制一行描边文本"] +default : ["0","0","",'rgba(255,255,255,1)',"",'rgba(0,0,0,1)',"","绘制一行描边文本"] var colorRe = MotaActionFunctions.pattern.colorRe; var fontRe = MotaActionFunctions.pattern.fontRe; if (EvalString_0) { @@ -2249,10 +2249,14 @@ if (EvalString_0) { EvalString_0 = ', "style": ['+EvalString_0+']'; } if (EvalString_1) { - if (!fontRe.test(EvalString_1)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); - EvalString_1 = ', "font": "' + EvalString_1 + '"'; + if (!colorRe.test(EvalString_1))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_1 = ', "strokeStyle": ['+EvalString_1+']'; } -var code = '{"type": "fillBoldText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+', "text": "'+EvalString_2+'"},\n'; +if (EvalString_2) { + if (!fontRe.test(EvalString_2)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); + EvalString_2 = ', "font": "' + EvalString_2 + '"'; +} +var code = '{"type": "fillBoldText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+EvalString_2+', "text": "'+EvalString_3+'"},\n'; return code; */; @@ -2490,17 +2494,18 @@ return code; */; drawIcon_s - : '绘制图标' 'ID' IdString '起点像素' 'x' PosString 'y' PosString '宽' PosString? '高' PosString? Newline + : '绘制图标' 'ID' IdString '帧' Int '起点像素' 'x' PosString 'y' PosString '宽' PosString? '高' PosString? Newline /* drawIcon_s tooltip : drawIcon:绘制图标 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawIcon%ef%bc%9a%e7%bb%98%e5%88%b6%e5%9b%be%e6%a0%87 -default : ["yellowKey","0","0","",""] +default : ["yellowKey",0,"0","0","",""] colour : this.subColor +Int_0 = Int_0 ? (', "frame": '+Int_0) : ''; PosString_2 = PosString_2 ? (', "width": '+PosString_2) : ''; PosString_3 = PosString_3 ? (', "height": '+PosString_3) : ''; -var code = '{"type": "drawIcon", "id": "'+IdString_0+'", "x": '+PosString_0+', "y": '+PosString_1+PosString_2+PosString_3+'},\n'; +var code = '{"type": "drawIcon", "id": "'+IdString_0+'"'+Int_0+', "x": '+PosString_0+', "y": '+PosString_1+PosString_2+PosString_3+'},\n'; return code; */; @@ -2794,8 +2799,8 @@ TextAlign_List /*TextAlign_List ['null','left','center','right']*/; TextBaseline_List - : '不改变'|'顶部'|'居中'|'标准值'|'底部' - /*TextBaseline_List ['null','top','middle','alphabetic','bottom']*/; + : '不改变'|'顶部'|'悬挂'|'居中'|'标准值'|'ideographic'|'底部' + /*TextBaseline_List ['null','top','hanging','middle','alphabetic','ideographic','bottom']*/; ShopUse_List : '金币' | '经验' @@ -2893,8 +2898,8 @@ Id_List /*Id_List ['flag','status','item', 'switch', 'global']*/; EnemyId_List - : '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称' - /*EnemyId_List ['hp','atk','def','money','experience','point','special','name']*/; + : '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'value'|'atkValue'|'defValue'|'notBomb'|'zoneSquare'|'range'|'n'|'add'|'damage' + /*EnemyId_List ['hp','atk','def','money','experience','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/; //转blockly后不保留需要加" EvalString @@ -3684,7 +3689,8 @@ ActionParser.prototype.parseAction = function() { case "fillBoldText": // 绘制一行描边文本 data.style = this.Colour(data.style); this.next = MotaActionBlocks['fillBoldText_s'].xmlText([ - data.x, data.y, data.style, 'rgba('+data.style+')', data.font, this.EvalString(data.text), this.next + data.x, data.y, data.style, 'rgba('+data.style+')', data.strokeStyle, 'rgba('+(data.strokeStyle||"0,0,0,1")+')', + data.font, this.EvalString(data.text), this.next ]); break; case "drawTextContent": // 绘制多行文本 @@ -3766,7 +3772,7 @@ ActionParser.prototype.parseAction = function() { break; case "drawIcon": // 绘制图标 this.next = MotaActionBlocks['drawIcon_s'].xmlText([ - data.id, data.x, data.y, data.width, data.height, this.next + data.id, data.frame||0, data.x, data.y, data.width, data.height, this.next ]); break; case "drawBackground": // 绘制背景 diff --git a/libs/ui.js b/libs/ui.js index c0277f9d..803852f2 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -103,13 +103,15 @@ ui.prototype._fillTextWithMaxWidth = function (ctx, text, x, y, maxWidth) { } ////// 在某个canvas上绘制粗体 ////// -ui.prototype.fillBoldText = function (name, text, x, y, style, font) { +ui.prototype.fillBoldText = function (name, text, x, y, style, strokeStyle, font) { var ctx = this.getContextByName(name); if (!ctx) return; if (font) ctx.font = font; if (!style) style = ctx.fillStyle; if (style instanceof Array) style = core.arrayToRGBA(style); - ctx.fillStyle = '#000000'; + if (!strokeStyle) strokeStyle = '#000000'; + if (strokeStyle instanceof Array) strokeStyle = core.arrayToRGBA(strokeStyle); + ctx.fillStyle = strokeStyle; ctx.fillText(text, x-1, y-1); ctx.fillText(text, x-1, y+1); ctx.fillText(text, x+1, y-1); @@ -120,7 +122,7 @@ ui.prototype.fillBoldText = function (name, text, x, y, style, font) { ui.prototype._uievent_fillBoldText = function (data) { this._createUIEvent(); - this.fillBoldText('uievent', core.replaceText(data.text), core.calValue(data.x), core.calValue(data.y), data.style, data.font); + this.fillBoldText('uievent', core.replaceText(data.text), core.calValue(data.x), core.calValue(data.y), data.style, data.strokeStyle, data.font); } ////// 在某个canvas上绘制一个矩形 ////// @@ -413,7 +415,8 @@ ui.prototype._uievent_drawImage = function (data) { core.calValue(data.x1), core.calValue(data.y1), core.calValue(data.w1), core.calValue(data.h1)); } -ui.prototype.drawIcon = function (name, id, x, y, w, h) { +ui.prototype.drawIcon = function (name, id, x, y, w, h, frame) { + frame = frame || 0; var ctx = this.getContextByName(name); if (!ctx) return; var info = core.getBlockInfo(id); @@ -423,7 +426,7 @@ ui.prototype.drawIcon = function (name, id, x, y, w, h) { info = {image: core.statusBar.icons[id], posX: 0, posY: 0, height: 32}; else return; } - ctx.drawImage(info.image, 32 * info.posX, info.height * info.posY, 32, info.height, x, y, w || 32, h || info.height); + ctx.drawImage(info.image, 32 * (info.posX + frame), info.height * info.posY, 32, info.height, x, y, w || 32, h || info.height); } ui.prototype._uievent_drawIcon = function (data) { @@ -433,7 +436,7 @@ ui.prototype._uievent_drawIcon = function (data) { id = core.calValue(data.id); if (typeof id !== 'string') id = data.id; } catch (e) { id = data.id; } - this.drawIcon('uievent', id, core.calValue(data.x), core.calValue(data.y), core.calValue(data.width), core.calValue(data.height)); + this.drawIcon('uievent', id, core.calValue(data.x), core.calValue(data.y), core.calValue(data.width), core.calValue(data.height), data.frame||0); } ///////////////// UI绘制 diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 7f5d3585..00eb53a1 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -1,7 +1,7 @@ (已完成!) 1.(来自鹿神)门和像三种基础墙一样的墙应当提供一个“需要消耗多少把哪种钥匙、开关门分别播放什么音效”的属性,如[{"yellowKey": 2, "blueKey": 1}, "door.mp3", "close.mp3"],多种钥匙之间的关系可以为&&或|| (已完成!) 2.(来自小艾)请求修复瞬移判定无视图块属性script项的bug (已完成!) 3. 请求修复(如果还没修复)core.drawTip()不能使用系统图标和clear参数的bug,建议增加一个参数来表示多帧图块绘制第几帧 -3.1 (“UI绘制”类事件中的“绘制图标”同理) +(已完成!) 3.1 (“UI绘制”类事件中的“绘制图标”同理) (已完成!\b[up,null]可实现此效果) 4. 建议显示文章的\b[]提供top和bottom这两种新写法来实现在顶部或底部显示对话框,目前只有startText、firstArrive、eachArrive、useItemEvent和公共事件等没有当前点的事件中才能用up和down来临时实现这种效果,否则就得设置剧情文本的属性,这在频繁来回切换时是致命的,就像《无上之光》RMXP版地上40层一样 5. 建议优化core.splitLines()来避免把单词打断和触犯标点禁则,如点号和右标号禁止用于行首,左标号禁止用于行尾 (已完成!) 6. core.drawAnimate()和对应的事件,建议增加一个boolean型参数来表示坐标是绝对坐标(即当前的实现)还是在视野中的相对坐标(以13*13为例相对坐标总是在0~12之间),以实现形如“在视野正中心播放某某动画”的需求(小地图可以写6,6,大地图怎么办) @@ -10,12 +10,12 @@ (已完成!) 9. 建议给“显示选择项”、“显示确认框”、“等待用户操作”这三个事件添加一个“若多少毫秒内不响应则触发的分支”,用来实现一些如新新2的QTE,录像中可以记录“choice: timeout”、“confirm: timeout”和“wait: timeout”来表示触发了超时分支 10. 建议给“转变图块”事件增加一个淡入时间参数,用于原本是空地或空气墙的情况,目前这种效果必须借助存在安全隐患的红点 11. 建议修复勇士后退时跟随者的鬼畜行为,并推出一套能够对跟随者位置和朝向进行读写的API甚至事件,且允许这些信息被计入存档,以实现一些演出效果甚至游戏要素,如新新2用公主占位防冰块 -12. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 +(已完成!) 12. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 13. 建议给core.moveAction(callback)提供对应的事件,用于在事件中让勇士像事件外一样移动,从而正常触发跑毒和阻激夹域捕等 14. core.openShop()和对应的事件,建议在用于公共事件时简单地退化为“插入公共事件”而不要打断当前事件,把决定权交给作者 (已完成!) 15. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内由作者根据flag再行分歧),建议支持一下 -16. “绘制描边文本”事件建议加一个“描边颜色”参数,目前只能描黑边 -17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 +(已完成!) 16. “绘制描边文本”事件建议加一个“描边颜色”参数,目前只能描黑边 +(已完成!) 17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 19.(来自群友)建议给第一代全局商店的子选项像“显示选择项”一样提供图标、颜色和出现条件(注意长按的适配) 20. 很多事件对应的脚本有默认参数,但在事件中省略参数却会变成0,建议修复 @@ -26,6 +26,11 @@ (已完成!) 清除最近使用图块 (已完成!) cannotIn / cannotOut使用选项框 (已完成!) noPass->canPass改成选择框 +初始化&读档优化:不一次读取全部楼层并创建 +绿钥匙进状态栏 +图块ID不可全数字 +怪物详细信息富文本化 + (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” @@ -90,7 +95,7 @@ (不处理) 57. 希望\t[hero]和\t[xxx,hero]能像图块一样绘制原地抖动的4帧全局动画而不是不动,希望能使用勇士的当前朝向而不是一直朝下,希望能使用\t[hero1]和\t[xxx,hero1]这样的写法来使用跟随者的行走图作为头像 (文档相关给秋橙) 58. 建议在在线文档中给\r支持的颜色单词做一下枚举并写出对应的RGB值 (不处理) 59. 在标题画面调用core.hideStartAnimate(core.startGame)会立即开始游戏并跳过难度选择,可能造成非作者预期的效果,有办法优化吗? -60. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 +(已完成!) 60. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 61. 在事件编辑器中进行地图选点时,有些事件指令虽然只能用于同楼层,但实际生效时勇士可能已经不在当前正在编辑的楼层(比如在一个楼层切换事件指令后)了,所以希望地图选点始终提供楼层下拉表 (文档相关给秋橙) 62. 希望在线文档介绍一下楼层和startText的独立开关的flag表示 63. 希望给core.moveAction(callback)函数提供一个对应的事件指令,用于在事件流处理中让勇士进行一些有游戏性意义(即非纯演出)的移动。如果做不到的话希望参照本文的46号issue作为原生脚本勾选async的例子讲解如何使用 @@ -102,9 +107,9 @@ (已修复!) 69. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内再行分歧),希望支持一下 70. “显隐勇士”事件指令希望加个淡入淡出时间参数 (不处理,请用等待事件) 1. 希望给core.drawTip()和core.playSound()出个同步版本,目前只有异步版本,后者如果要模拟同步就得绑在一个透明动画上 -72. “绘制描边文本”事件希望加一个“描边颜色”参数,目前只能描黑边 +(已完成!) 72. “绘制描边文本”事件希望加一个“描边颜色”参数,目前只能描黑边 73. 画弧既然有现成的API,那建议也作为UI绘制事件提供。甚至希望提供画椭圆功能(长短轴水平或铅直的那种)参数为中心坐标和长短轴长度 -74. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 +(已完成!) 74. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件 (不处理) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符) From 21f9016b89f09b463bf327bdeeae6de10a796add Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Fri, 8 May 2020 10:01:47 +0800 Subject: [PATCH 33/70] =?UTF-8?q?=E6=96=B0=E5=A2=9EJsonEvalString=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 73 +++++++++++++++++++------------------------ _server/editor.js | 4 +-- v2.x-final更新.txt | 2 +- 3 files changed, 35 insertions(+), 44 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 38123db4..4589daec 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -101,23 +101,15 @@ return code; */; shopcommonevent - : '公共事件版商店 id' IdString '快捷商店栏中名称' EvalString BGNL? '未开启状态则不显示在列表中' Bool BGNL? '执行的公共事件 id' EvalString '参数列表' EvalString? + : '公共事件版商店 id' IdString '快捷商店栏中名称' EvalString BGNL? '未开启状态则不显示在列表中' Bool BGNL? '执行的公共事件 id' EvalString '参数列表' JsonEvalString? /* shopcommonevent tooltip : 全局商店, 执行一个公共事件 helpUrl : https://h5mota.com/games/template/_docs/#/ default : ["shop1","回收钥匙商店",false,"回收钥匙商店",""] -if (EvalString_2) { - if (EvalString_2.indexOf('"')>=0) - throw new Error('请勿在此处使用双引号!尝试使用单引号吧~'); - // 检查是不是数组 - try { - EvalString_2 = JSON.parse(EvalString_2.replace(/'/g, '"')); - if (!(EvalString_2 instanceof Array)) throw new Error(); - } - catch (e) { +if (JsonEvalString_0) { + if (!(JSON.parse(JsonEvalString_0) instanceof Array)) throw new Error('参数列表必须是个有效的数组!'); - } } var code = { 'id': IdString_0, @@ -125,7 +117,7 @@ var code = { 'mustEnable': Bool_0, 'commonEvent': EvalString_1 } -if (EvalString_2) code.args = EvalString_2; +if (JsonEvalString_0) code.args = JSON.parse(JsonEvalString_0); code=JSON.stringify(code,null,2)+',\n'; return code; */; @@ -779,7 +771,7 @@ return code; */; insert_1_s - : '插入公共事件' EvalString '参数列表' EvalString? Newline + : '插入公共事件' EvalString '参数列表' JsonEvalString? Newline /* insert_1_s @@ -787,24 +779,17 @@ tooltip : insert: 插入公共事件并执行 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=insert%ef%bc%9a%e6%8f%92%e5%85%a5%e5%85%ac%e5%85%b1%e4%ba%8b%e4%bb%b6%e6%88%96%e5%8f%a6%e4%b8%80%e4%b8%aa%e5%9c%b0%e7%82%b9%e7%9a%84%e4%ba%8b%e4%bb%b6%e5%b9%b6%e6%89%a7%e8%a1%8c default : ["加点事件", ""] colour : this.eventColor -if (EvalString_1) { - if (EvalString_1.indexOf('"')>=0) - throw new Error('请勿在此处使用双引号!尝试使用单引号吧~'); - // 检查是不是数组 - try { - if (!(JSON.parse(EvalString_1.replace(/'/g, '"')) instanceof Array)) throw new Error(); - } - catch (e) { +if (JsonEvalString_0) { + if (!(JSON.parse(JsonEvalString_0) instanceof Array)) throw new Error('参数列表必须是个有效的数组!'); - } - EvalString_1 = ', "args": ' +EvalString_1; + JsonEvalString_0 = ', "args": ' +JsonEvalString_0; } -var code = '{"type": "insert", "name": "'+EvalString_0+'"'+EvalString_1+'},\n'; +var code = '{"type": "insert", "name": "'+EvalString_0+'"'+JsonEvalString_0+'},\n'; return code; */; insert_2_s - : '插入事件' 'x' PosString ',' 'y' PosString Event_List? '楼层' IdString? '参数列表' EvalString? Newline + : '插入事件' 'x' PosString ',' 'y' PosString Event_List? '楼层' IdString? '参数列表' JsonEvalString? Newline /* insert_2_s @@ -813,21 +798,15 @@ helpUrl : https://h5mota.com/games/template/_docs/#/event?id=insert%ef%bc%9a%e6% default : ["0","0",null,"",""] colour : this.eventColor IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); -if (EvalString_0) { - if (EvalString_0.indexOf('"')>=0) - throw new Error('请勿在此处使用双引号!尝试使用单引号吧~'); - try { - if (!(JSON.parse(EvalString_0.replace(/'/g, '"')) instanceof Array)) throw new Error(); - } - catch (e) { +if (JsonEvalString_0) { + if (!(JSON.parse(JsonEvalString_0) instanceof Array)) throw new Error('参数列表必须是个有效的数组!'); - } - EvalString_0 = ', "args": ' +EvalString_0; + JsonEvalString_0 = ', "args": ' +JsonEvalString_0; } if (Event_List_0 && Event_List_0 !=='null') Event_List_0 = ', "which": "'+Event_List_0+'"'; else Event_List_0 = ''; -var code = '{"type": "insert", "loc": ['+PosString_0+','+PosString_1+']'+Event_List_0+IdString_0+EvalString_0+'},\n'; +var code = '{"type": "insert", "loc": ['+PosString_0+','+PosString_1+']'+Event_List_0+IdString_0+JsonEvalString_0+'},\n'; return code; */; @@ -2559,7 +2538,7 @@ return code; */; unknown_s - : '自定义事件' BGNL? RawEvalString + : '自定义事件' BGNL? JsonEvalString /* unknown_s tooltip : 通过脚本自定义的事件类型, 以及编辑器不识别的事件类型 @@ -2567,7 +2546,7 @@ helpUrl : https://h5mota.com/games/template/_docs/#/ default : ['{"type":"test", "data": "这是自定义的参数"}'] colour : this.dataColor try { - var tempobj = JSON.parse(RawEvalString_0); + var tempobj = JSON.parse(JsonEvalString_0); } catch (e) {throw new Error("不合法的JSON格式!");} if (!tempobj.type) throw new Error("自定义事件需要一个type:xxx"); var code = JSON.stringify(tempobj) +',\n'; @@ -2778,6 +2757,10 @@ RawEvalString : 'sdeirughvuiyasdbe'+ //为了被识别为复杂词法规则 ; +JsonEvalString + : 'sdeirughvuiyasdbe'+ //为了被识别为复杂词法规则 + ; + PosString : 'sdeirughvuiyasbde'+ //为了被识别为复杂词法规则 ; @@ -3038,8 +3021,7 @@ ActionParser.prototype.parse = function (obj,type) { } var buildcommentevent = function(obj,parser,next){ if (obj.args instanceof Array) { - try { obj.args = JSON.stringify(obj.args).replace(/"/g, "'"); } - catch (e) {obj.args = '';} + obj.args = JSON.stringify(obj.args); } else obj.args = null; return MotaActionBlocks['shopcommonevent'].xmlText([ @@ -3415,8 +3397,7 @@ ActionParser.prototype.parseAction = function() { break; case "insert": // 强制插入另一个点的事件在当前事件列表执行,当前坐标和楼层不会改变 if (data.args instanceof Array) { - try { data.args = JSON.stringify(data.args).replace(/"/g, "'"); } - catch (e) {data.args = '';} + data.args = JSON.stringify(data.args); } else data.args = null; if (this.isset(data.name)) { @@ -3892,6 +3873,16 @@ MotaActionFunctions.EvalString_pre = function(EvalString){ return EvalString.replace(/([^\\])"/g,'$1\\"').replace(/^"/g,'\\"').replace(/""/g,'"\\"'); } +MotaActionFunctions.JsonEvalString_pre = function (JsonEvalString) { + if (JsonEvalString == '') return ''; + JsonEvalString = MotaActionFunctions.replaceFromName(JsonEvalString); + try { + return JSON.stringify(JSON.parse(JsonEvalString)); + } catch (e) { + throw new Error('此处需要填写一个合法的JSON内容'); + } +} + MotaActionFunctions.IdString_pre = function(IdString){ if (IdString.indexOf('__door__')!==-1) throw new Error('请修改开门变量__door__,如door1,door2,door3等依次向后。请勿存在两个门使用相同的开门变量。'); IdString = MotaActionFunctions.replaceFromName(IdString); diff --git a/_server/editor.js b/_server/editor.js index fb8887dc..2b1d1f12 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -298,7 +298,7 @@ editor.prototype.drawEventBlock = function () { && loc == firstData.hero.loc.x + "," + firstData.hero.loc.y) { fg.textAlign = 'center'; editor.game.doCoreFunc('fillBoldText', fg, 'S', - 32 * i + 16, 32 * j + 28, '#FFFFFF', 'bold 30px Verdana'); + 32 * i + 16, 32 * j + 28, '#FFFFFF', null, 'bold 30px Verdana'); } if (editor.currentFloorData.events[loc]) color.push('#FF0000'); @@ -329,7 +329,7 @@ editor.prototype.drawEventBlock = function () { if (index >= 0) { fg.textAlign = 'right'; editor.game.doCoreFunc("fillBoldText", fg, index + 1, - 32 * i + 28, 32 * j + 15, '#FF7F00', '14px Verdana'); + 32 * i + 28, 32 * j + 15, '#FF7F00', null, '14px Verdana'); } } } diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 00eb53a1..065948d4 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -30,7 +30,7 @@ 绿钥匙进状态栏 图块ID不可全数字 怪物详细信息富文本化 - +for和forEach事件 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” From 78f4210eb710118dfc37ce12a01edff988dc3bba Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Fri, 8 May 2020 15:13:47 +0800 Subject: [PATCH 34/70] =?UTF-8?q?=E6=B7=BB=E5=8A=A0for/forEach=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _docs/_api.md | 2 +- _server/MotaAction.g4 | 51 +++++++++++++++++++++++- _server/editor_blockly.js | 6 +-- libs/events.js | 81 +++++++++++++++++++++++++++++++++++---- libs/ui.js | 4 +- libs/utils.js | 4 +- runtime.d.ts | 2 +- 7 files changed, 131 insertions(+), 19 deletions(-) diff --git a/_docs/_api.md b/_docs/_api.md index 8b15582f..5bd7cb23 100644 --- a/_docs/_api.md +++ b/_docs/_api.md @@ -287,7 +287,7 @@ core.closePanel() 结束一切事件和绘制,关闭UI窗口,返回游戏进程。 -core.replaceText(text) +core.replaceText(text, prefix, need, times) 将一段文字中的${}进行计算并替换。 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 4589daec..84819759 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -1,3 +1,5 @@ +// 编辑此文件用的vscode插件: https://marketplace.visualstudio.com/items?itemName=zhaouv.vscode-mota-js-extension + grammar MotaAction; //===============parser=============== @@ -400,6 +402,8 @@ action | if_s | if_1_s | switch_s + | for_s + | forEach_s | while_s | dowhile_s | break_s @@ -1936,6 +1940,35 @@ var code = ['{"type": "confirm"'+Int_0+Bool_0+', "text": "',EvalString_0,'",\n', return code; */; +for_s + : '循环遍历' ': ' expression '从' EvalString '到' EvalString '步增' EvalString BGNL? Newline action+ BEND Newline + +/* for_s +tooltip : for:循环遍历 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=while%ef%bc%9a%e5%89%8d%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af +colour : this.eventColor +if (!/^switch:[A-Z]$/.test(expression_0)) { + throw new Error('循环遍历仅允许使用独立开关!'); +} +return '{"type": "for", "name": "'+expression_0+'", "from": "'+EvalString_0+'", "to": "'+EvalString_1+'", "step": "'+EvalString_2+'",\n"data": [\n'+action_0+']},\n'; +*/; + +forEach_s + : '循环遍历' ': ' expression '在列表' JsonEvalString '中' BGNL? Newline action+ BEND Newline + +/* forEach_s +tooltip : forEach:循环遍历列表 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=while%ef%bc%9a%e5%89%8d%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af +colour : this.eventColor +if (!/^switch:[A-Z]$/.test(expression_0)) { + throw new Error('循环遍历仅允许使用独立开关!'); +} +if (JsonEvalString_0 == '' || !(JSON.parse(JsonEvalString_0) instanceof Array)) { + throw new Error('参数列表必须是个有效的数组!'); +} +return '{"type": "forEach", "name": "'+expression_0+'", "list": '+JsonEvalString_0 + ',\n"data": [\n'+action_0+']},\n'; +*/; + while_s : '前置条件循环' ':' '当' expression '时' BGNL? Newline action+ BEND Newline @@ -3529,16 +3562,30 @@ ActionParser.prototype.parseAction = function() { this.next = MotaActionBlocks['choices_s'].xmlText([ info[3],info[0],info[1],data.timeout||0,text_choices,this.next]); break; + case "for": // 循环遍历 + this.next = MotaActionBlocks['for_s'].xmlText([ + this.tryToUseEvFlag_e('evalString_e', [data.name]), + data.from || 0, data.to || 0, data.step || 0, + this.insertActionList(data.data), + this.next]); + break; + case "forEach": // 循环遍历列表 + this.next = MotaActionBlocks['forEach_s'].xmlText([ + this.tryToUseEvFlag_e('evalString_e', [data.name]), + JSON.stringify(data.list), + this.insertActionList(data.data), + this.next]); + break; case "while": // 前置条件循环处理 this.next = MotaActionBlocks['while_s'].xmlText([ // MotaActionBlocks['evalString_e'].xmlText([data.condition]), this.tryToUseEvFlag_e('evalString_e', [data.condition]), - this.insertActionList(data["data"]), + this.insertActionList(data.data), this.next]); break; case "dowhile": // 后置条件循环处理 this.next = MotaActionBlocks['dowhile_s'].xmlText([ - this.insertActionList(data["data"]), + this.insertActionList(data.data), // MotaActionBlocks['evalString_e'].xmlText([data.condition]), this.tryToUseEvFlag_e('evalString_e', [data.condition]), this.next]); diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 1ea29fed..95e35786 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -93,9 +93,6 @@ editor_blockly = function () { MotaActionBlocks['choices_s'].xmlText([ '选择剑或者盾','流浪者','man',0,MotaActionBlocks['choicesContext'].xmlText([ '剑','','',null,'',MotaActionFunctions.actionParser.parseList([{"type": "openDoor", "loc": [3,3]}]), - MotaActionBlocks['choicesContext'].xmlText([ - '盾','','',null,'',MotaActionFunctions.actionParser.parseList([{"type": "openDoor", "loc": [9,3]}]), - ]) ]) ]), ], @@ -149,9 +146,10 @@ editor_blockly = function () { MotaActionBlocks['if_s'].xmlText(), MotaActionFunctions.actionParser.parseList({"type": "switch", "condition": "判别值", "caseList": [ {"action": [{"type": "comment", "text": "当判别值是值的场合执行此事件"}]}, - {"action": [], "nobreak": true}, {"case": "default", "action": [{"type": "comment", "text": "当没有符合的值的场合执行default事件"}]}, ]}), + MotaActionFunctions.actionParser.parseList({"type": "for", "name": "switch:A", "from": "0", "to": "12", "step": "1", "data": []}), + MotaActionFunctions.actionParser.parseList({"type": "forEach", "name": "switch:A", "list": ["status:atk","status:def"], "data": []}), MotaActionBlocks['while_s'].xmlText(), MotaActionBlocks['dowhile_s'].xmlText(), MotaActionBlocks['break_s'].xmlText(), diff --git a/libs/events.js b/libs/events.js index a484d97c..437a7a3e 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1210,17 +1210,20 @@ events.prototype.__action_doAsyncFunc = function (isAsync, func) { events.prototype._action_text = function (data, x, y, prefix) { if (this.__action_checkReplaying()) return; + data.text = core.replaceText(data.text, prefix); core.ui.drawTextBox(data.text, data.showAll); } events.prototype._action_autoText = function (data, x, y, prefix) { if (this.__action_checkReplaying()) return; + data.text = core.replaceText(data.text, prefix); core.ui.drawTextBox(data.text); setTimeout(core.doAction, data.time || 3000); } events.prototype._action_scrollText = function (data, x, y, prefix) { if (this.__action_checkReplaying()) return; + data.text = core.replaceText(data.text, prefix); this.__action_doAsyncFunc(data.async, core.drawScrollText, data.text, data.time || 5000, data.lineHeight || 1.4); } @@ -1250,7 +1253,7 @@ events.prototype._action_setText = function (data, x, y, prefix) { } events.prototype._action_tip = function (data, x, y, prefix) { - core.drawTip(core.replaceText(data.text), data.icon); + core.drawTip(core.replaceText(data.text, prefix), data.icon); core.doAction(); } @@ -1412,6 +1415,7 @@ events.prototype._precompile_showImage = function (data) { events.prototype._action_showTextImage = function (data, x, y, prefix) { var loc = this.__action_getLoc(data.loc, 0, 0, prefix); if (core.isReplaying()) data.time = 0; + data.text = core.replaceText(data.text, prefix); this.__action_doAsyncFunc(data.async || data.time == 0, core.showImage, data.code, core.ui.textImage(data.text), null, loc, data.opacity, data.time); } @@ -1676,7 +1680,7 @@ events.prototype._action_setHeroIcon = function (data, x, y, prefix) { } events.prototype._action_input = function (data, x, y, prefix) { - this.__action_getInput(data.text, false, function (value) { + this.__action_getInput(core.replaceText(data.text, prefix), false, function (value) { value = Math.abs(parseInt(value) || 0); core.status.route.push("input:" + value); core.setFlag("input", value); @@ -1685,7 +1689,7 @@ events.prototype._action_input = function (data, x, y, prefix) { } events.prototype._action_input2 = function (data, x, y, prefix) { - this.__action_getInput(data.text, true, function (value) { + this.__action_getInput(core.replaceText(data.text, prefix), true, function (value) { value = value || ""; core.status.route.push("input2:" + core.encodeBase64(value)); core.setFlag("input", value); @@ -1782,7 +1786,7 @@ events.prototype._action_choices = function (data, x, y, prefix) { core.doAction(); }, data.timeout); } - core.ui.drawChoices(data.text, data.choices); + core.ui.drawChoices(core.replaceText(data.text, prefix), data.choices); } events.prototype._precompile_choices = function (data) { @@ -1796,7 +1800,7 @@ events.prototype._precompile_choices = function (data) { } events.prototype._action_confirm = function (data, x, y, prefix) { - core.status.event.ui = {"text": data.text, "yes": data.yes, "no": data.no}; + core.status.event.ui = {"text": core.replaceText(data.text, prefix), "yes": data.yes, "no": data.no}; if (core.isReplaying()) { var action = core.status.replay.toReplay.shift(); // --- 忽略可能的turn事件 @@ -1837,6 +1841,66 @@ events.prototype._precompile_confirm = function (data) { return data; } +events.prototype._action_for = function (data, x, y, prefix) { + // Only support switch:A + if (!/^switch:[A-Z]$/.test(data.name)) { + core.insertAction(['循环遍历事件只支持独立开关!']); + return core.doAction(); + } + var from = core.calValue(data.from); + if (typeof from != 'number') { + core.insertAction('循环遍历事件要求【起始点】仅能是数字!'); + return core.doAction(); + } + this._setValue_setSwitch(data.name, from, prefix); + var toName = '__for@to@' + prefix + '@' + data.name.substring(7) + '__'; + var stepName = '__for@step@' + prefix + '@' + data.name.substring(7) + '__'; + core.setFlag(toName, data.to); + core.setFlag(stepName, data.step); + var condition = "(function () {"+ + "var to = core.calValue(core.getFlag('" + toName + "'));"+ + "var step = core.calValue(core.getFlag('" + stepName + "'));"+ + "if (typeof step != 'number' || typeof to != 'number') return false;"+ + "if (step == 0) return true;"+ + "var currentValue = core.calValue('switch:'+'" + data.name.substring(7) + "', '"+prefix+"');"+ + "currentValue += step;"+ + "core.events._setValue_setSwitch('switch:'+'" + data.name.substring(7) + "', currentValue, '"+prefix+"');"+ + "if (step > 0) { return currentValue <= to; }"+ + "else { return currentValue >= to; }"+ + "})()"; + return this._action_dowhile({"condition": condition, "data": data.data}, x, y, prefix); +} + +events.prototype._precompile_for = function (data) { + data.from = core.replaceValue(data.from); + data.to = core.replaceValue(data.to); + data.step = core.replaceValue(data.step); + data.data = this.precompile(data.data); + return data; +} + +events.prototype._action_forEach = function (data, x, y, prefix) { + // Only support switch:A + if (!/^switch:[A-Z]$/.test(data.name)) { + core.insertAction(['循环遍历事件只支持独立开关!']); + return core.doAction(); + } + var listName = '__forEach@' + prefix + '@' + data.name.substring(7) + '__'; + core.setFlag(listName, core.clone(data.list)); + var condition = "(function () {" + + "var list = core.getFlag('"+listName+"', []);"+ + "if (list.length == 0) { core.removeFlag('" + listName + "'); return false; }"+ + "core.events._setValue_setSwitch('switch:'+'" + data.name.substring(7) + "', list.shift(), '"+prefix+"');"+ + "return true;"+ + "})()"; + return this._action_while({"condition": condition, "data": data.data}, x, y, prefix); +} + +events.prototype._precompile_forEach = function (data) { + data.data = this.precompile(data.data); + return data; +} + events.prototype._action_while = function (data, x, y, prefix) { if (core.calValue(data.condition, prefix)) { core.unshift(core.status.event.data.list, @@ -1881,11 +1945,11 @@ events.prototype._action_continue = function (data, x, y, prefix) { } events.prototype._action_win = function (data, x, y, prefix) { - this.win(core.replaceText(data.reason), data.norank, data.noexit); + this.win(core.replaceText(data.reason, prefix), data.norank, data.noexit); } events.prototype._action_lose = function (data, x, y, prefix) { - this.lose(core.replaceText(data.reason)); + this.lose(core.replaceText(data.reason, prefix)); } events.prototype._action_restart = function (data, x, y, prefix) { @@ -2129,10 +2193,12 @@ events.prototype._action_clearMap = function (data, x, y, prefix) { } events.prototype._action_fillText = function (data, x, y, prefix) { + data.text = core.replaceText(data.text, prefix); this.__action_doUIEvent(data); } events.prototype._action_fillBoldText = function (data, x, y, prefix) { + data.text = core.replaceText(data.text, prefix); this.__action_doUIEvent(data); } @@ -2199,6 +2265,7 @@ events.prototype._action_drawBackground = function (data, x, y, prefix) { } events.prototype._action_drawTextContent = function (data, x, y, prefix) { + data.text = core.replaceText(data.text, prefix); this.__action_doUIEvent(data); } diff --git a/libs/ui.js b/libs/ui.js index 803852f2..0cf54352 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -2023,12 +2023,12 @@ ui.prototype.drawShop = function (shopId) { core.status.event.selection = selection; var times = shop.times, need=core.calValue(shop.need, null, null, times); - var content = "\t["+shop.name+","+shop.icon+"]" + core.replaceText(shop.text, need, times); + var content = "\t["+shop.name+","+shop.icon+"]" + core.replaceText(shop.text, null, need, times); var use = shop.use=='experience'?'经验':'金币'; var choices = []; for (var i=0;i Date: Fri, 8 May 2020 21:07:17 +0800 Subject: [PATCH 35/70] Update forEach --- _server/MotaAction.g4 | 2 +- libs/events.js | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 84819759..8e6e44e4 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -1954,7 +1954,7 @@ return '{"type": "for", "name": "'+expression_0+'", "from": "'+EvalString_0+'", */; forEach_s - : '循环遍历' ': ' expression '在列表' JsonEvalString '中' BGNL? Newline action+ BEND Newline + : '循环遍历' ': 以' expression '逐项读取列表' JsonEvalString BGNL? Newline action+ BEND Newline /* forEach_s tooltip : forEach:循环遍历列表 diff --git a/libs/events.js b/libs/events.js index 437a7a3e..111bde5d 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1858,15 +1858,16 @@ events.prototype._action_for = function (data, x, y, prefix) { core.setFlag(toName, data.to); core.setFlag(stepName, data.step); var condition = "(function () {"+ + "var clearAndReturn = function (v) { if (!v) { core.removeFlag('"+toName+"'); core.removeFlag('"+stepName+"'); } return v; };"+ "var to = core.calValue(core.getFlag('" + toName + "'));"+ "var step = core.calValue(core.getFlag('" + stepName + "'));"+ - "if (typeof step != 'number' || typeof to != 'number') return false;"+ - "if (step == 0) return true;"+ + "if (typeof step != 'number' || typeof to != 'number') return clearAndReturn(false);"+ + "if (step == 0) return clearAndReturn(true);"+ "var currentValue = core.calValue('switch:'+'" + data.name.substring(7) + "', '"+prefix+"');"+ "currentValue += step;"+ "core.events._setValue_setSwitch('switch:'+'" + data.name.substring(7) + "', currentValue, '"+prefix+"');"+ - "if (step > 0) { return currentValue <= to; }"+ - "else { return currentValue >= to; }"+ + "if (step > 0) { return clearAndReturn(currentValue <= to); }"+ + "else { return clearAndReturn(currentValue >= to); }"+ "})()"; return this._action_dowhile({"condition": condition, "data": data.data}, x, y, prefix); } From c40545fa6c0db3c71b2fd37f75c217d079086f43 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Fri, 8 May 2020 22:47:23 +0800 Subject: [PATCH 36/70] =?UTF-8?q?=E5=A2=9E=E5=8A=A0IntString,=20ColorStrin?= =?UTF-8?q?g=E5=92=8CFontString=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 424 +++++++++++++++++------------------------- 1 file changed, 166 insertions(+), 258 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 8e6e44e4..04f183a7 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -192,7 +192,7 @@ return code; */; shopItemChoices - : '道具名' IdString '存量' EvalString? '买入价格' EvalString? '卖出价格' EvalString? '出现条件' EvalString? BEND + : '道具名' IdString '存量' IntString? '买入价格' EvalString? '卖出价格' EvalString? '出现条件' EvalString? BEND @@ -201,13 +201,12 @@ tooltip : 道具商店选项,每一项是道具名;买入或卖出可以不 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 default : ["yellowKey","","10","",""] colour : this.subColor -if (EvalString_0 && !/^\d+$/.test(EvalString_0)) throw "存量必须不填或非负整数"; -EvalString_0 = EvalString_0 ? (', "number": '+EvalString_0) : ''; -EvalString_1 = EvalString_1 ? (', "money": "'+EvalString_1+'"') : ''; -EvalString_2 = EvalString_2 ? (', "sell": "'+EvalString_2+'"') : ''; -if (!EvalString_1 && !EvalString_2) throw "买入金额和卖出金额至少需要填写一个"; -EvalString_3 = EvalString_3 ? (', "condition": "'+EvalString_3+'"') : ''; -var code = '{"id": "' + IdString_0 + '"' + EvalString_0 + EvalString_1 + EvalString_2 + EvalString_3 + '},\n'; +IntString_0 = IntString_0 ? (', "number": '+IntString_0) : ''; +EvalString_0 = EvalString_0 ? (', "money": "'+EvalString_0+'"') : ''; +EvalString_1 = EvalString_1 ? (', "sell": "'+EvalString_1+'"') : ''; +if (!EvalString_0 && !EvalString_1) throw "买入金额和卖出金额至少需要填写一个"; +EvalString_2 = EvalString_2 ? (', "condition": "'+EvalString_3+'"') : ''; +var code = '{"id": "' + IdString_0 + '"' + IntString_0 + EvalString_0 + EvalString_1 + EvalString_2 + '},\n'; return code; */; @@ -273,22 +272,26 @@ return code; //changeFloor 事件编辑器入口之一 changeFloor_m - : '楼梯, 传送门' BGNL? Newline Floor_List IdString? Stair_List 'x' Number ',' 'y' Number '朝向' DirectionEx_List '动画时间' Int? '允许穿透' Bool BEND + : '楼梯, 传送门' BGNL? Newline Floor_List IdString? Stair_List 'x' Number ',' 'y' Number '朝向' DirectionEx_List '动画时间' IntString? '穿透性' IgnoreChangeFloor_List BEND /* changeFloor_m tooltip : 楼梯, 传送门, 如果目标楼层有多个楼梯, 写upFloor或downFloor可能会导致到达的楼梯不确定, 这时候请使用loc方式来指定具体的点位置 helpUrl : https://h5mota.com/games/template/_docs/#/element?id=%e8%b7%af%e9%9a%9c%ef%bc%8c%e6%a5%bc%e6%a2%af%ef%bc%8c%e4%bc%a0%e9%80%81%e9%97%a8 -default : [null,"MTx",null,0,0,null,500,null] +default : [null,"MTx",null,0,0,null,"",null] var toFloorId = IdString_0; if (Floor_List_0!='floorId') toFloorId = Floor_List_0; var loc = ', "loc": ['+Number_0+', '+Number_1+']'; if (Stair_List_0===':now') loc = ''; else if (Stair_List_0!=='loc')loc = ', "stair": "'+Stair_List_0+'"'; DirectionEx_List_0 = DirectionEx_List_0 && (', "direction": "'+DirectionEx_List_0+'"'); -Int_0 = (Int_0!=='') ?(', "time": '+Int_0):''; -Bool_0 = Bool_0 ?'':(', "ignoreChangeFloor": false'); -var code = '{"floorId": "'+toFloorId+'"'+loc+DirectionEx_List_0+Int_0+Bool_0+' }\n'; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; +if (IgnoreChangeFloor_List_0!='null') { + IgnoreChangeFloor_List_0 = ', "ignoreChangeFloor": '+IgnoreChangeFloor_List_0; +} else { + IgnoreChangeFloor_List_0 = ''; +} +var code = '{"floorId": "'+toFloorId+'"'+loc+DirectionEx_List_0+IntString_0+IgnoreChangeFloor_List_0+' }\n'; return code; */; @@ -511,7 +514,7 @@ if(EvalString_2 && !(/^(up|down)(,hero)?(,([+-]?\d+),([+-]?\d+))?$/.test(EvalStr throw new Error('对话框效果的用法请右键点击帮助'); } EvalString_2 = EvalString_2 && ('\\b['+EvalString_2+']'); -var code = '{"type": "autoText", "text": "'+title+EvalString_2+EvalString_3+'", "time" :'+Int_0+'},\n'; +var code = '{"type": "autoText", "text": "'+title+EvalString_2+EvalString_3+'", "time": '+Int_0+'},\n'; return code; */; @@ -529,7 +532,7 @@ return code; */; setText_s - : '设置剧情文本的属性' '位置' SetTextPosition_List '偏移像素' EvalString? '对齐' TextAlign_List? BGNL? '标题颜色' EvalString? Colour '正文颜色' EvalString? Colour '背景色' EvalString? Colour BGNL? '粗体' B_1_List '标题字体大小' EvalString? '正文字体大小' EvalString? '打字间隔' EvalString? '字符间距' EvalString? Newline + : '设置剧情文本的属性' '位置' SetTextPosition_List '偏移像素' IntString? '对齐' TextAlign_List? BGNL? '标题颜色' ColorString? Colour '正文颜色' ColorString? Colour '背景色' EvalString? Colour BGNL? '粗体' B_1_List '标题字体大小' IntString? '正文字体大小' IntString? '打字间隔' IntString? '字符间距' IntString? Newline /* setText_s @@ -539,47 +542,26 @@ default : [null,"",null,"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',"",'rg SetTextPosition_List_0 =SetTextPosition_List_0==='null'?'': ', "position": "'+SetTextPosition_List_0+'"'; TextAlign_List_0 = TextAlign_List_0==='null'?'': ', "align": "'+TextAlign_List_0+'"'; var colorRe = MotaActionFunctions.pattern.colorRe; +IntString_0 = IntString_0 ? (', "offset": '+IntString_0) : ''; +ColorString_0 = ColorString_0 ? (', "title": ['+ColorString_0+']') : ''; +ColorString_1 = ColorString_1 ? (', "text": ['+ColorString_1+']') : ''; if (EvalString_0) { - if (!/^\d+$/.test(EvalString_0))throw new Error('像素偏移量必须是整数或不填'); - EvalString_0 = ', "offset": '+EvalString_0; -} -if (EvalString_1) { - if (!colorRe.test(EvalString_1))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_1 = ', "title": ['+EvalString_1+']'; -} -if (EvalString_2) { - if (!colorRe.test(EvalString_2))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_2 = ', "text": ['+EvalString_2+']'; -} -if (EvalString_3) { - if (colorRe.test(EvalString_3)) { - EvalString_3 = ', "background": ['+EvalString_3+']'; + if (colorRe.test(EvalString_0)) { + EvalString_0 = ', "background": ['+EvalString_0+']'; } - else if (/^\w+\.png$/.test(EvalString_3)) { - EvalString_3 = ', "background": "'+EvalString_3+'"'; + else if (/^\w+\.png$/.test(EvalString_0)) { + EvalString_0 = ', "background": "'+EvalString_0+'"'; } else { throw new Error('背景格式错误,必须是形如0~255,0~255,0~255,0~1的颜色,或一个WindowSkin的png图片名称'); } } -if (EvalString_4) { - if (!/^\d+$/.test(EvalString_4))throw new Error('字体大小必须是整数或不填'); - EvalString_4 = ', "titlefont": '+EvalString_4; -} -if (EvalString_5) { - if (!/^\d+$/.test(EvalString_5))throw new Error('字体大小必须是整数或不填'); - EvalString_5 = ', "textfont": '+EvalString_5; -} -if (EvalString_6) { - if (!/^\d+$/.test(EvalString_6))throw new Error('打字时间间隔必须是整数或不填'); - EvalString_6 = ', "time": '+EvalString_6; -} -if (EvalString_7) { - if (!/^\d+$/.test(EvalString_7))throw new Error('字符间距必须是整数或不填'); - EvalString_7 = ', "interval": '+EvalString_7; -} +IntString_1 = IntString_1 ? (', "titlefont": '+IntString_1) : ''; +IntString_2 = IntString_2 ? (', "textfont": '+IntString_2) : ''; +IntString_3 = IntString_3 ? (', "time": '+IntString_3) : ''; +IntString_4 = IntString_4 ? (', "interval": '+IntString_4) : ''; B_1_List_0 = B_1_List_0==='null'?'':', "bold": '+B_1_List_0; -var code = '{"type": "setText"'+SetTextPosition_List_0+EvalString_0+TextAlign_List_0+EvalString_1+EvalString_2+B_1_List_0+EvalString_3+EvalString_4+EvalString_5+EvalString_6+EvalString_7+'},\n'; +var code = '{"type": "setText"'+SetTextPosition_List_0+IntString_0+TextAlign_List_0+ColorString_0+ColorString_1+B_1_List_0+EvalString_0+IntString_1+IntString_2+IntString_3+IntString_4+'},\n'; return code; */; @@ -695,13 +677,13 @@ return code; show_s - : '显示事件' 'x' EvalString? ',' 'y' EvalString? '楼层' IdString? '动画时间' Int? '不等待执行完毕' Bool? Newline + : '显示事件' 'x' EvalString? ',' 'y' EvalString? '楼层' IdString? '动画时间' IntString? '不等待执行完毕' Bool? Newline /* show_s tooltip : show: 将禁用事件启用,楼层和动画时间可不填,xy可用逗号分隔表示多个点 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=show%EF%BC%9A%E5%B0%86%E4%B8%80%E4%B8%AA%E7%A6%81%E7%94%A8%E4%BA%8B%E4%BB%B6%E5%90%AF%E7%94%A8 -default : ["","","",500,false] +default : ["","","","",false] colour : this.mapColor var floorstr = ''; if (EvalString_0 && EvalString_1) { @@ -721,20 +703,20 @@ if (EvalString_0 && EvalString_1) { floorstr = ', "loc": ['+EvalString_0.join(',')+']'; } IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0 ?', "async": true':''; -var code = '{"type": "show"'+floorstr+IdString_0+''+Int_0+Bool_0+'},\n'; +var code = '{"type": "show"'+floorstr+IdString_0+''+IntString_0+Bool_0+'},\n'; return code; */; hide_s - : '隐藏事件' 'x' EvalString? ',' 'y' EvalString? '楼层' IdString? '动画时间' Int? '不等待执行完毕' Bool? Newline + : '隐藏事件' 'x' EvalString? ',' 'y' EvalString? '楼层' IdString? '动画时间' IntString? '不等待执行完毕' Bool? Newline /* hide_s tooltip : hide: 将一个启用事件禁用,所有参数均可不填,代表禁用事件自身,xy可用逗号分隔表示多个点 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=hide%EF%BC%9A%E5%B0%86%E4%B8%80%E4%B8%AA%E5%90%AF%E7%94%A8%E4%BA%8B%E4%BB%B6%E7%A6%81%E7%94%A8 -default : ["","","",500,false] +default : ["","","","",false] colour : this.mapColor var floorstr = ''; if (EvalString_0 && EvalString_1) { @@ -754,9 +736,9 @@ if (EvalString_0 && EvalString_1) { floorstr = ', "loc": ['+EvalString_0.join(',')+']'; } IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0 ?', "async": true':''; -var code = '{"type": "hide"'+floorstr+IdString_0+''+Int_0+Bool_0+'},\n'; +var code = '{"type": "hide"'+floorstr+IdString_0+''+IntString_0+Bool_0+'},\n'; return code; */; @@ -1185,21 +1167,21 @@ return code; */; changeFloor_s - : '楼层切换' IdString? 'x' PosString? ',' 'y' PosString? '朝向' DirectionEx_List '动画时间' Int? Newline + : '楼层切换' IdString? 'x' PosString? ',' 'y' PosString? '朝向' DirectionEx_List '动画时间' IntString? Newline /* changeFloor_s tooltip : changeFloor: 楼层切换,动画时间可不填 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=changefloor%EF%BC%9A%E6%A5%BC%E5%B1%82%E5%88%87%E6%8D%A2 -default : ["MTx","0","0",null,500] +default : ["MTx","0","0",null,""] colour : this.dataColor DirectionEx_List_0 = DirectionEx_List_0 && (', "direction": "'+DirectionEx_List_0+'"'); -Int_0 = (Int_0!=='') ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; var floorstr = ''; if (PosString_0 && PosString_1) { floorstr = ', "loc": ['+PosString_0+','+PosString_1+']'; } -var code = '{"type": "changeFloor", "floorId": "'+IdString_0+'"'+floorstr+DirectionEx_List_0+Int_0+' },\n'; +var code = '{"type": "changeFloor", "floorId": "'+IdString_0+'"'+floorstr+DirectionEx_List_0+IntString_0+' },\n'; return code; */; @@ -1381,7 +1363,7 @@ return code; */; moveViewport_s - : '移动视角' '动画时间' Int? '不等待执行完毕' Bool BGNL? StepString Newline + : '移动视角' '动画时间' IntString_0 '不等待执行完毕' Bool BGNL? StepString Newline /* moveViewport_s @@ -1389,9 +1371,9 @@ tooltip : moveViewport:移动视角 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=movehero%EF%BC%9A%E7%A7%BB%E5%8A%A8%E5%8B%87%E5%A3%AB default : [300,false,"上右3下2左"] colour : this.soundColor -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0?', "async": true':''; -var code = '{"type": "moveViewport"'+Int_0+Bool_0+', "steps": '+JSON.stringify(StepString_0)+'},\n'; +var code = '{"type": "moveViewport"'+IntString_0+Bool_0+', "steps": '+JSON.stringify(StepString_0)+'},\n'; return code; */; @@ -1508,7 +1490,7 @@ return code; */; setCurtain_0_s - : '更改画面色调' EvalString Colour '动画时间' Int? '持续到下一个本事件' Bool '不等待执行完毕' Bool Newline + : '更改画面色调' ColorString Colour '动画时间' IntString '持续到下一个本事件' Bool '不等待执行完毕' Bool Newline /* setCurtain_0_s @@ -1516,17 +1498,16 @@ tooltip : setCurtain: 更改画面色调,动画时间可不填 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setcurtain%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 default : ["255,255,255,1",'rgba(255,255,255,1)',500,true,false] colour : this.soundColor -var colorRe = MotaActionFunctions.pattern.colorRe; -if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +if (ColorString_0 == '') throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0 ? ', "keep": true' : ''; var async = Bool_1?', "async": true':''; -var code = '{"type": "setCurtain", "color": ['+EvalString_0+']'+Int_0 +Bool_0+async+'},\n'; +var code = '{"type": "setCurtain", "color": ['+ColorString_0+']'+IntString_0 +Bool_0+async+'},\n'; return code; */; setCurtain_1_s - : '恢复画面色调' '动画时间' Int? '不等待执行完毕' Bool Newline + : '恢复画面色调' '动画时间' IntString? '不等待执行完毕' Bool Newline /* setCurtain_1_s @@ -1534,25 +1515,24 @@ tooltip : setCurtain: 恢复画面色调,动画时间可不填 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setcurtain%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 default : [500,false] colour : this.soundColor -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; var async = Bool_0?', "async": true':''; -var code = '{"type": "setCurtain"'+Int_0 +async+'},\n'; +var code = '{"type": "setCurtain"'+IntString_0 +async+'},\n'; return code; */; screenFlash_s - : '画面闪烁' EvalString Colour '单次时间' Int '执行次数' Int? '不等待执行完毕' Bool Newline + : '画面闪烁' ColorString Colour '单次时间' Int '执行次数' IntString? '不等待执行完毕' Bool Newline /* screenFlash_s tooltip : screenFlash: 画面闪烁,动画时间可不填 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=screenFlash%EF%BC%9A%E7%94%BB%E9%9D%A2%E9%97%AA%E7%83%81 default : ["255,255,255,1",'rgba(255,255,255,1)',500,1,false] colour : this.soundColor -var colorRe = MotaActionFunctions.pattern.colorRe; -if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); -Int_1 = Int_1!=='' ?(', "times": '+Int_1):''; +if (ColorString_0 == '') throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); +IntString_0 = IntString_0 ? (', "times": '+IntString_0):''; var async = Bool_0?', "async": true':''; -var code = '{"type": "screenFlash", "color": ['+EvalString_0+'], "time": '+Int_0 +Int_1+async+'},\n'; +var code = '{"type": "screenFlash", "color": ['+ColorString_0+'], "time": '+Int_0 +IntString_0+async+'},\n'; return code; */; @@ -1573,7 +1553,7 @@ return code; */; move_s - : '移动事件' 'x' PosString? ',' 'y' PosString? '动画时间' Int? '不消失' Bool '不等待执行完毕' Bool BGNL? StepString Newline + : '移动事件' 'x' PosString? ',' 'y' PosString? '动画时间' IntString? '不消失' Bool '不等待执行完毕' Bool BGNL? StepString Newline /* move_s @@ -1585,30 +1565,30 @@ var floorstr = ''; if (PosString_0 && PosString_1) { floorstr = ', "loc": ['+PosString_0+','+PosString_1+']'; } -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0?', "keep": true':''; Bool_1 = Bool_1?', "async": true':''; -var code = '{"type": "move"'+floorstr+Int_0+Bool_0+Bool_1+', "steps": '+JSON.stringify(StepString_0)+'},\n'; +var code = '{"type": "move"'+floorstr+IntString_0+Bool_0+Bool_1+', "steps": '+JSON.stringify(StepString_0)+'},\n'; return code; */; moveHero_s - : '移动勇士' '动画时间' Int? '不等待执行完毕' Bool BGNL? StepString Newline + : '移动勇士' '动画时间' IntString? '不等待执行完毕' Bool BGNL? StepString Newline /* moveHero_s tooltip : moveHero:移动勇士,用这种方式移动勇士的过程中将无视一切地形, 无视一切事件, 中毒状态也不会扣血 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=movehero%EF%BC%9A%E7%A7%BB%E5%8A%A8%E5%8B%87%E5%A3%AB -default : [500,false,"上右3下2后4左前2"] +default : ["",false,"上右3下2后4左前2"] colour : this.dataColor -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0?', "async": true':''; -var code = '{"type": "moveHero"'+Int_0+Bool_0+', "steps": '+JSON.stringify(StepString_0)+'},\n'; +var code = '{"type": "moveHero"'+IntString_0+Bool_0+', "steps": '+JSON.stringify(StepString_0)+'},\n'; return code; */; jump_s - : '跳跃事件' '起始 x' PosString? ',' 'y' PosString? '终止 x' PosString? ',' 'y' PosString? '动画时间' Int? '不消失' Bool '不等待执行完毕' Bool Newline + : '跳跃事件' '起始 x' PosString? ',' 'y' PosString? '终止 x' PosString? ',' 'y' PosString? '动画时间' IntString? '不消失' Bool '不等待执行完毕' Bool Newline /* jump_s @@ -1623,15 +1603,15 @@ if (PosString_0 && PosString_1) { if (PosString_2 && PosString_3) { floorstr += ', "to": ['+PosString_2+','+PosString_3+']'; } -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0?', "keep": true':''; Bool_1 = Bool_1?', "async": true':''; -var code = '{"type": "jump"'+floorstr+''+Int_0+Bool_0+Bool_1+'},\n'; +var code = '{"type": "jump"'+floorstr+''+IntString_0+Bool_0+Bool_1+'},\n'; return code; */; jumpHero_s - : '跳跃勇士' 'x' PosString? ',' 'y' PosString? '动画时间' Int? '不等待执行完毕' Bool Newline + : '跳跃勇士' 'x' PosString? ',' 'y' PosString? '动画时间' IntString? '不等待执行完毕' Bool Newline /* jumpHero_s @@ -1643,9 +1623,9 @@ var floorstr = ''; if (PosString_0 && PosString_1) { floorstr = ', "loc": ['+PosString_0+','+PosString_1+']'; } -Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0?', "async": true':''; -var code = '{"type": "jumpHero"'+floorstr+Int_0+Bool_0+'},\n'; +var code = '{"type": "jumpHero"'+floorstr+IntString_0+Bool_0+'},\n'; return code; */; @@ -1742,7 +1722,7 @@ return code; */; setVolume_s - : '设置音量' Int '渐变时间' Int? '不等待执行完毕' Bool Newline + : '设置音量' Int '渐变时间' IntString? '不等待执行完毕' Bool Newline /* setVolume_s @@ -1750,9 +1730,9 @@ tooltip : setVolume: 设置音量 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setvolume%EF%BC%9A%E8%AE%BE%E7%BD%AE%E9%9F%B3%E9%87%8F default : [90, 500, false] colour : this.soundColor -Int_1 = Int_1!==''?(', "time": '+Int_1):"" +IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; var async = Bool_0?', "async": true':''; -var code = '{"type": "setVolume", "value": '+Int_0+Int_1+async+'},\n'; +var code = '{"type": "setVolume", "value": '+Int_0+IntString_0+async+'},\n'; return code; */; @@ -1903,7 +1883,7 @@ return code; */; choicesContext - : '子选项' EvalString '图标' IdString? '颜色' EvalString? Colour '出现条件' EvalString? BGNL? Newline action+ + : '子选项' EvalString '图标' IdString? '颜色' ColorString? Colour '出现条件' EvalString? BGNL? Newline action+ /* choicesContext @@ -1911,16 +1891,10 @@ tooltip : 选项的选择 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=choices%EF%BC%9A%E7%BB%99%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E9%80%89%E9%A1%B9 default : ["提示文字:红钥匙","","",""] colour : this.subColor -if (EvalString_1) { - var colorRe = MotaActionFunctions.pattern.colorRe; - if (colorRe.test(EvalString_1)) - EvalString_1 = ', "color": ['+EvalString_1+']'; - else - EvalString_1 = ', "color": "'+EvalString_1+'"'; -} -EvalString_2 = EvalString_2 && (', "condition": "'+EvalString_2+'"') +ColorString_0 = ColorString_0 ? (', "color": ['+ColorString_0+']') : ''; +EvalString_1 = EvalString_1 && (', "condition": "'+EvalString_1+'"') IdString_0 = IdString_0?(', "icon": "'+IdString_0+'"'):''; -var code = '{"text": "'+EvalString_0+'"'+IdString_0+EvalString_1+EvalString_2+', "action": [\n'+action_0+']},\n'; +var code = '{"text": "'+EvalString_0+'"'+IdString_0+ColorString_0+EvalString_1+', "action": [\n'+action_0+']},\n'; return code; */; @@ -2180,7 +2154,7 @@ return code; setAttribute_s - : '设置画布属性' '字体' EvalString? '填充样式' EvalString? Colour '边框样式' EvalString? Colour BGNL? '线宽度' EvalString? '不透明度' EvalString? '对齐' TextAlign_List '基准线' TextBaseline_List 'z值' EvalString? Newline + : '设置画布属性' '字体' FontString? '填充样式' ColorString? Colour '边框样式' ColorString? Colour BGNL? '线宽度' IntString? '不透明度' EvalString? '对齐' TextAlign_List '基准线' TextBaseline_List 'z值' IntString? Newline /* setAttribute_s tooltip : setAttribute:设置画布属性 @@ -2189,287 +2163,189 @@ colour : this.subColor default : ["","",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',"","",null,null,""] TextAlign_List_0 = TextAlign_List_0==='null'?'': ', "align": "'+TextAlign_List_0+'"'; TextBaseline_List_0 = TextBaseline_List_0==='null'?'': ', "baseline": "'+TextBaseline_List_0+'"'; -var colorRe = MotaActionFunctions.pattern.colorRe; -var fontRe = MotaActionFunctions.pattern.fontRe; +FontString_0 = FontString_0 ? (', "font": "' + FontString_0 + '"') : ''; +ColorString_0 = ColorString_0 ? (', "fillStyle": ['+ColorString_0+']') : ''; +ColorString_1 = ColorString_1 ? (', "strokeStyle": ['+ColorString_1+']') : ''; +IntString_0 = IntString_0 ? (', "lineWidth": '+IntString_0) : ''; if (EvalString_0) { - if (!fontRe.test(EvalString_0)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); - EvalString_0 = ', "font": "' + EvalString_0 + '"'; -} -if (EvalString_1) { - if (!colorRe.test(EvalString_1))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_1 = ', "fillStyle": ['+EvalString_1+']'; -} -if (EvalString_2) { - if (!colorRe.test(EvalString_2))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_2 = ', "strokeStyle": ['+EvalString_2+']'; -} -if (EvalString_3) { - if (!/^\d+$/.test(EvalString_3))throw new Error('线宽必须是整数或不填'); - EvalString_3 = ', "lineWidth": '+EvalString_3; -} -if (EvalString_4) { - var f = parseFloat(EvalString_4); + var f = parseFloat(EvalString_0); if (isNaN(f) || f<0 || f>1) throw new Error('不透明度必须是0到1的浮点数或不填'); - EvalString_4 = ', "alpha": '+EvalString_4; + EvalString_0 = ', "alpha": '+EvalString_0; } -if (EvalString_5) { - if (!/^\d+$/.test(EvalString_5))throw new Error('z值必须是整数或不填'); - EvalString_5 = ', "z": '+EvalString_5; -} -var code = '{"type": "setAttribute"'+EvalString_0+EvalString_1+EvalString_2+EvalString_3+EvalString_4+TextAlign_List_0+TextBaseline_List_0+EvalString_5+'},\n'; +IntString_1 = IntString_1 ? (', "z": '+IntString_1) : ''; +var code = '{"type": "setAttribute"'+FontString_0+ColorString_0+ColorString_1+IntString_0+ + EvalString_0+TextAlign_List_0+TextBaseline_List_0+IntString_1+'},\n'; return code; */; fillText_s - : '绘制文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '字体' EvalString? '最大宽度' EvalString? BGNL? EvalString Newline + : '绘制文本' 'x' PosString 'y' PosString '样式' ColorString? Colour '字体' FontString? '最大宽度' IntString? BGNL? EvalString Newline /* fillText_s tooltip : fillText:绘制一行文本;可以设置最大宽度进行放缩 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillText%ef%bc%9a%e7%bb%98%e5%88%b6%e6%96%87%e6%9c%ac colour : this.subColor default : ["0","0","",'rgba(255,255,255,1)',"","","绘制一行文本"] -var colorRe = MotaActionFunctions.pattern.colorRe; -var fontRe = MotaActionFunctions.pattern.fontRe; -if (EvalString_0) { - if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_0 = ', "style": ['+EvalString_0+']'; -} -if (EvalString_1) { - if (!fontRe.test(EvalString_1)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); - EvalString_1 = ', "font": "' + EvalString_1 + '"'; -} -if (EvalString_2) { - if (!/^\d+$/.test(EvalString_2)) throw new Error('最大宽度必须是整数或不填'); - EvalString_2 = ', "maxWidth": ' + EvalString_2; -} -var code = '{"type": "fillText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+EvalString_2+', "text": "'+EvalString_3+'"},\n'; +ColorString_0 = ColorString_0 ? (', "style": ['+ColorString_0+']') : ''; +FontString_0 = FontString_0 ? (', "font": "' + FontString_0 + '"') : ''; +IntString_0 = IntString_0 ? (', "maxWidth": '+IntString_0) : ''; +var code = '{"type": "fillText", "x": '+PosString_0+', "y": '+PosString_1+ColorString_0+FontString_0+IntString_0+', "text": "'+EvalString_0+'"},\n'; return code; */; fillBoldText_s - : '绘制描边文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '描边颜色' EvalString? Colour '字体' EvalString? BGNL? EvalString Newline + : '绘制描边文本' 'x' PosString 'y' PosString '样式' ColorString? Colour '描边颜色' ColorString? Colour '字体' FontString? BGNL? EvalString Newline /* fillBoldText_s tooltip : fillBoldText:绘制一行描边文本 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillBoldText%ef%bc%9a%e7%bb%98%e5%88%b6%e6%8f%8f%e8%be%b9%e6%96%87%e6%9c%ac colour : this.subColor default : ["0","0","",'rgba(255,255,255,1)',"",'rgba(0,0,0,1)',"","绘制一行描边文本"] -var colorRe = MotaActionFunctions.pattern.colorRe; -var fontRe = MotaActionFunctions.pattern.fontRe; -if (EvalString_0) { - if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_0 = ', "style": ['+EvalString_0+']'; -} -if (EvalString_1) { - if (!colorRe.test(EvalString_1))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_1 = ', "strokeStyle": ['+EvalString_1+']'; -} -if (EvalString_2) { - if (!fontRe.test(EvalString_2)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); - EvalString_2 = ', "font": "' + EvalString_2 + '"'; -} -var code = '{"type": "fillBoldText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+EvalString_2+', "text": "'+EvalString_3+'"},\n'; +ColorString_0 = ColorString_0 ? (', "style": ['+ColorString_0+']') : ''; +ColorString_1 = ColorString_1 ? (', "strokeStyle": ['+ColorString_1+']') : ''; +FontString_0 = FontString_0 ? (', "font": "' + FontString_0 + '"') : ''; +var code = '{"type": "fillBoldText", "x": '+PosString_0+', "y": '+PosString_1+ColorString_0+ColorString_1+FontString_0+', "text": "'+EvalString_0+'"},\n'; return code; */; drawTextContent_s - : '绘制多行文本' EvalString BGNL? '起点像素' 'x' PosString 'y' PosString '最大宽度' EvalString? '颜色' EvalString? Colour BGNL? '对齐' TextAlign_List '字体大小' EvalString? '行距' EvalString? '粗体' Bool Newline + : '绘制多行文本' EvalString BGNL? '起点像素' 'x' PosString 'y' PosString '最大宽度' IntString? '颜色' ColorString? Colour BGNL? '对齐' TextAlign_List '字体大小' IntString? '行距' IntString? '粗体' Bool Newline /* drawTextContent_s tooltip : drawTextContent:绘制多行文本 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawTextContent%ef%bc%9a%e7%bb%98%e5%88%b6%e5%a4%9a%e8%a1%8c%e6%96%87%e6%9c%ac colour : this.subColor default : ["绘制多行文本\\n可双击编辑","0","0","","",'rgba(255,255,255,1)',null,"","",false] -var colorRe = MotaActionFunctions.pattern.colorRe; TextAlign_List_0 = TextAlign_List_0==='null'?'': ', "align": "'+TextAlign_List_0+'"'; Bool_0 = Bool_0 ? (', "bold": true') : ''; -if (EvalString_1) { - if (!/^\d+$/.test(EvalString_1)) throw new Error('最大宽度必须是整数或不填'); - EvalString_1 = ', "maxWidth": ' + EvalString_1; -} -if (EvalString_2) { - if (!colorRe.test(EvalString_2))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_2 = ', "color": ['+EvalString_2+']'; -} -if (EvalString_3) { - if (!/^\d+$/.test(EvalString_3)) throw new Error('字体大小必须是整数或不填'); - EvalString_3 = ', "fontSize": ' + EvalString_3; -} -if (EvalString_4) { - if (!/^\d+$/.test(EvalString_4)) throw new Error('行距必须是整数或不填'); - EvalString_4 = ', "lineHeight": ' + EvalString_4; -} -var code = '{"type": "drawTextContent", "text": "'+EvalString_0+'", "left": '+PosString_0+', "top": '+PosString_1+TextAlign_List_0+EvalString_1+EvalString_2+EvalString_3+EvalString_4+Bool_0+'},\n'; +IntString_0 = IntString_0 ? (', "maxWidth": '+IntString_0) : ''; +IntString_1 = IntString_1 ? (', "fontSize": '+IntString_1) : ''; +IntString_2 = IntString_2 ? (', "lineHeight": '+IntString_2) : ''; +ColorString_0 = ColorString_0 ? (', "color": ['+ColorString_0+']') : ''; +var code = '{"type": "drawTextContent", "text": "'+EvalString_0+'", "left": '+PosString_0+', "top": '+PosString_1+TextAlign_List_0+IntString_0+IntString_1+IntString_2+ColorString_0+Bool_0+'},\n'; return code; */; fillRect_s - : '绘制矩形' '起点像素' 'x' PosString 'y' PosString '宽' PosString '高' PosString '颜色' EvalString? Colour Newline + : '绘制矩形' '起点像素' 'x' PosString 'y' PosString '宽' PosString '高' PosString '颜色' ColorString? Colour Newline /* fillRect_s tooltip : fillRect:绘制矩形 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillRect%ef%bc%9a%e7%bb%98%e5%88%b6%e7%9f%a9%e5%bd%a2 colour : this.subColor default : ["0","0","flag:x","300","",null] -var colorRe = MotaActionFunctions.pattern.colorRe; -if (EvalString_0) { - if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_0 = ', "style": ['+EvalString_0+']'; -} -var code = '{"type": "fillRect", "x": '+PosString_0+', "y": '+PosString_1+', "width": '+PosString_2+', "height": '+PosString_3+EvalString_0+'},\n'; +ColorString_0 = ColorString_0 ? (', "style": ['+ColorString_0+']') : ''; +var code = '{"type": "fillRect", "x": '+PosString_0+', "y": '+PosString_1+', "width": '+PosString_2+', "height": '+PosString_3+ColorString_0+'},\n'; return code; */; strokeRect_s - : '绘制矩形边框' '起点像素' 'x' PosString 'y' PosString '宽' PosString '高' PosString '颜色' EvalString? Colour '线宽' EvalString? Newline + : '绘制矩形边框' '起点像素' 'x' PosString 'y' PosString '宽' PosString '高' PosString '颜色' ColorString? Colour '线宽' IntString? Newline /* strokeRect_s tooltip : strokeRect:绘制矩形边框 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=strokeRect%ef%bc%9a%e7%bb%98%e5%88%b6%e7%9f%a9%e5%bd%a2%e8%be%b9%e6%a1%86 colour : this.subColor default : ["0","0","flag:x","300","",null,""] -var colorRe = MotaActionFunctions.pattern.colorRe; -if (EvalString_0) { - if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_0 = ', "style": ['+EvalString_0+']'; -} -if (EvalString_1) { - if (!/^\d+$/.test(EvalString_1))throw new Error('线宽必须是整数或不填'); - EvalString_1 = ', "lineWidth": '+EvalString_1; -} -var code = '{"type": "strokeRect", "x": '+PosString_0+', "y": '+PosString_1+', "width": '+PosString_2+', "height": '+PosString_3+EvalString_0+EvalString_1+'},\n'; +ColorString_0 = ColorString_0 ? (', "style": ['+ColorString_0+']') : ''; +IntString_0 = IntString_0 ? (', "lineWidth": '+IntString_0) : ''; +var code = '{"type": "strokeRect", "x": '+PosString_0+', "y": '+PosString_1+', "width": '+PosString_2+', "height": '+PosString_3+ColorString_0+IntString_0+'},\n'; return code; */; drawLine_s - : '绘制线段' '起点像素' 'x' PosString 'y' PosString '终点像素' 'x' PosString 'y' PosString '颜色' EvalString? Colour '线宽' EvalString? Newline + : '绘制线段' '起点像素' 'x' PosString 'y' PosString '终点像素' 'x' PosString 'y' PosString '颜色' ColorString? Colour '线宽' IntString? Newline /* drawLine_s tooltip : drawLine:绘制线段 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawLine%ef%bc%9a%e7%bb%98%e5%88%b6%e7%ba%bf%e6%ae%b5 colour : this.subColor default : ["0","0","flag:x","300","",null,""] -var colorRe = MotaActionFunctions.pattern.colorRe; -if (EvalString_0) { - if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_0 = ', "style": ['+EvalString_0+']'; -} -if (EvalString_1) { - if (!/^\d+$/.test(EvalString_1))throw new Error('线宽必须是整数或不填'); - EvalString_1 = ', "lineWidth": '+EvalString_1; -} -var code = '{"type": "drawLine", "x1": '+PosString_0+', "y1": '+PosString_1+', "x2": '+PosString_2+', "y2": '+PosString_3+EvalString_0+EvalString_1+'},\n'; +ColorString_0 = ColorString_0 ? (', "style": ['+ColorString_0+']') : ''; +IntString_0 = IntString_0 ? (', "lineWidth": '+IntString_0) : ''; +var code = '{"type": "drawLine", "x1": '+PosString_0+', "y1": '+PosString_1+', "x2": '+PosString_2+', "y2": '+PosString_3+ColorString_0+IntString_0+'},\n'; return code; */; drawArrow_s - : '绘制箭头' '起点像素' 'x' PosString 'y' PosString '终点像素' 'x' PosString 'y' PosString '颜色' EvalString? Colour '线宽' EvalString? Newline + : '绘制箭头' '起点像素' 'x' PosString 'y' PosString '终点像素' 'x' PosString 'y' PosString '颜色' ColorString? Colour '线宽' IntString? Newline /* drawArrow_s tooltip : drawArrow:绘制箭头 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawArrow%ef%bc%9a%e7%bb%98%e5%88%b6%e7%ae%ad%e5%a4%b4 colour : this.subColor default : ["0","0","flag:x","300","",null,""] -var colorRe = MotaActionFunctions.pattern.colorRe; -if (EvalString_0) { - if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); - EvalString_0 = ', "style": ['+EvalString_0+']'; -} -if (EvalString_1) { - if (!/^\d+$/.test(EvalString_1))throw new Error('线宽必须是整数或不填'); - EvalString_1 = ', "lineWidth": '+EvalString_1; -} -var code = '{"type": "drawArrow", "x1": '+PosString_0+', "y1": '+PosString_1+', "x2": '+PosString_2+', "y2": '+PosString_3+EvalString_0+EvalString_1+'},\n'; +ColorString_0 = ColorString_0 ? (', "style": ['+ColorString_0+']') : ''; +IntString_0 = IntString_0 ? (', "lineWidth": '+IntString_0) : ''; +var code = '{"type": "drawArrow", "x1": '+PosString_0+', "y1": '+PosString_1+', "x2": '+PosString_2+', "y2": '+PosString_3+ColorString_0+IntString_0+'},\n'; return code; */; fillPolygon_s - : '绘制多边形' '顶点像素列表' 'x' EvalString 'y' EvalString '颜色' EvalString? Colour Newline + : '绘制多边形' '顶点像素列表' 'x' EvalString 'y' EvalString '颜色' ColorString? Colour Newline /* fillPolygon_s tooltip : fillPolygon:绘制多边形 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillPolygon%ef%bc%9a%e7%bb%98%e5%88%b6%e5%a4%9a%e8%be%b9%e5%bd%a2 colour : this.subColor default : ["0,0,100","0,100,0","",null] -var colorRe = MotaActionFunctions.pattern.colorRe; var pattern2 = /^([+-]?\d+)(,[+-]?\d+)*$/; if(!pattern2.test(EvalString_0) || !pattern2.test(EvalString_1))throw new Error('坐标格式错误,请右键点击帮助查看格式'); EvalString_0=EvalString_0.split(','); EvalString_1=EvalString_1.split(','); if(EvalString_0.length!==EvalString_1.length)throw new Error('坐标格式错误,请右键点击帮助查看格式'); for(var ii=0;ii Date: Sat, 9 May 2020 13:19:47 +0800 Subject: [PATCH 37/70] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dg4=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 50 +++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 04f183a7..f92f9481 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -1363,7 +1363,7 @@ return code; */; moveViewport_s - : '移动视角' '动画时间' IntString_0 '不等待执行完毕' Bool BGNL? StepString Newline + : '移动视角' '动画时间' IntString '不等待执行完毕' Bool BGNL? StepString Newline /* moveViewport_s @@ -1498,7 +1498,6 @@ tooltip : setCurtain: 更改画面色调,动画时间可不填 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setcurtain%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 default : ["255,255,255,1",'rgba(255,255,255,1)',500,true,false] colour : this.soundColor -if (ColorString_0 == '') throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); IntString_0 = IntString_0 ?(', "time": '+IntString_0):''; Bool_0 = Bool_0 ? ', "keep": true' : ''; var async = Bool_1?', "async": true':''; @@ -3071,7 +3070,7 @@ ActionParser.prototype.parseAction = function() { y_str.push(t[1]); }) this.next = MotaActionBlocks['show_s'].xmlText([ - x_str.join(','),y_str.join(','),data.floorId||'',data.time||0,data.async||false,this.next]); + x_str.join(','),y_str.join(','),data.floorId||'',data.time,data.async||false,this.next]); break; case "hide": // 消失 data.loc=data.loc||[]; @@ -3083,7 +3082,7 @@ ActionParser.prototype.parseAction = function() { y_str.push(t[1]); }) this.next = MotaActionBlocks['hide_s'].xmlText([ - x_str.join(','),y_str.join(','),data.floorId||'',data.time||0,data.async||false,this.next]); + x_str.join(','),y_str.join(','),data.floorId||'',data.time,data.async||false,this.next]); break; case "setBlock": // 设置图块 data.loc=data.loc||[]; @@ -3164,27 +3163,27 @@ ActionParser.prototype.parseAction = function() { case "move": // 移动事件 data.loc=data.loc||['','']; this.next = MotaActionBlocks['move_s'].xmlText([ - data.loc[0],data.loc[1],data.time||0,data.keep||false,data.async||false,this.StepString(data.steps),this.next]); + data.loc[0],data.loc[1],data.time,data.keep||false,data.async||false,this.StepString(data.steps),this.next]); break; case "moveHero": // 移动勇士 this.next = MotaActionBlocks['moveHero_s'].xmlText([ - data.time||0,data.async||false,this.StepString(data.steps),this.next]); + data.time,data.async||false,this.StepString(data.steps),this.next]); break; case "jump": // 跳跃事件 data.from=data.from||['','']; data.to=data.to||['','']; this.next = MotaActionBlocks['jump_s'].xmlText([ - data.from[0],data.from[1],data.to[0],data.to[1],data.time||0,data.keep||false,data.async||false,this.next]); + data.from[0],data.from[1],data.to[0],data.to[1],data.time,data.keep||false,data.async||false,this.next]); break; case "jumpHero": // 跳跃勇士 data.loc=data.loc||['',''] this.next = MotaActionBlocks['jumpHero_s'].xmlText([ - data.loc[0],data.loc[1],data.time||0,data.async||false,this.next]); + data.loc[0],data.loc[1],data.time,data.async||false,this.next]); break; case "changeFloor": // 楼层转换 data.loc=data.loc||['',''] this.next = MotaActionBlocks['changeFloor_s'].xmlText([ - data.floorId,data.loc[0],data.loc[1],data.direction,data.time||0,this.next]); + data.floorId,data.loc[0],data.loc[1],data.direction,data.time,this.next]); break; case "changePos": // 直接更换勇士位置, 不切换楼层 if(this.isset(data.loc)){ @@ -3214,7 +3213,7 @@ ActionParser.prototype.parseAction = function() { break; case "moveViewport": // 移动视角 this.next = MotaActionBlocks['moveViewport_s'].xmlText([ - data.time||0,data.async||false,this.StepString(data.steps),this.next]); + data.time,data.async||false,this.StepString(data.steps),this.next]); break; case "vibrate": // 画面震动 this.next = MotaActionBlocks['vibrate_s'].xmlText([data.time||0, data.async||false, this.next]); @@ -3259,16 +3258,16 @@ ActionParser.prototype.parseAction = function() { if(this.isset(data.color)){ data.color = this.Colour(data.color); this.next = MotaActionBlocks['setCurtain_0_s'].xmlText([ - data.color,'rgba('+data.color+')',data.time||0,data.keep||false,data.async||false,this.next]); + data.color,'rgba('+data.color+')',data.time,data.keep||false,data.async||false,this.next]); } else { this.next = MotaActionBlocks['setCurtain_1_s'].xmlText([ - data.time||0,data.async||false,this.next]); + data.time,data.async||false,this.next]); } break; case "screenFlash": // 画面闪烁 data.color = this.Colour(data.color); this.next = MotaActionBlocks['screenFlash_s'].xmlText([ - data.color,'rgba('+data.color+')',data.time,data.times||1,data.async||false,this.next]); + data.color,'rgba('+data.color+')',data.time||500,data.times,data.async||false,this.next]); break; case "setWeather": // 更改天气 this.next = MotaActionBlocks['setWeather_s'].xmlText([ @@ -3363,7 +3362,7 @@ ActionParser.prototype.parseAction = function() { break case "setVolume": this.next = MotaActionBlocks['setVolume_s'].xmlText([ - data.value, data.time||0, data.async||false, this.next]); + data.value, data.time, data.async||false, this.next]); break case "setValue": this.next = MotaActionBlocks['setValue_s'].xmlText([ @@ -3747,16 +3746,25 @@ ActionParser.prototype.StepString = function(steplist) { 'forward': '前', 'backward': '后' } - var StepString = []; - for(var ii=0,obj;obj=steplist[ii];ii++) { - if(typeof(obj)===typeof('')) { - StepString.push(stepchar[obj]); + var StepString = ''; + var last = null, number = 0; + steplist.forEach(function (v) { + if (v != last) { + if (last != null) { + StepString += stepchar[last]; + if (number > 1) StepString += number; + } + last = v; + number = 1; } else { - StepString.push(stepchar[obj['direction']]); - StepString.push(obj['value']); + number++; } + }); + if (last != null) { + StepString += stepchar[last]; + if (number > 1) StepString += number; } - return StepString.join(''); + return StepString; } ActionParser.prototype.EvalString = function(EvalString) { From f1093c3cfd894eb11ac0d0f8ab47a36b2b0c7ba8 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 9 May 2020 13:55:55 +0800 Subject: [PATCH 38/70] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E5=95=86=E5=BA=97=E4=B8=8D=E5=8F=97canUseQuickShop=E5=BD=B1?= =?UTF-8?q?=E5=93=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/config.json | 2 +- libs/actions.js | 5 ----- libs/events.js | 14 +++++--------- project/floors/sample1.js | 2 +- project/plugins.js | 14 ++++++++++---- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/_server/config.json b/_server/config.json index 9c9888dc..3ea46aa1 100644 --- a/_server/config.json +++ b/_server/config.json @@ -1 +1 @@ -{"lastUsed":[],"foldPerCol":50,"folded":false,"editorLastFloorId":"sample0","disableBlocklyReplace":false,"shortcut":{"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0}} \ No newline at end of file +{"lastUsed":[],"foldPerCol":50,"folded":false,"editorLastFloorId":"sample1","disableBlocklyReplace":false,"shortcut":{"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0}} \ No newline at end of file diff --git a/libs/actions.js b/libs/actions.js index b813e97d..e6d9e297 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -1335,11 +1335,6 @@ actions.prototype._clickQuickShop = function (x, y) { if (x >= this.CHOICES_LEFT && x <= this.CHOICES_RIGHT) { var topIndex = this.HSIZE - parseInt(keys.length / 2) + (core.status.event.ui.offset || 0); if (y >= topIndex && y < topIndex + keys.length) { - var reason = core.events.canUseQuickShop(keys[y - topIndex]); - if (!core.flags.enableDisabledShop && reason) { - core.drawText(reason); - return; - } core.events.openShop(keys[y - topIndex], true); if (core.status.event.id == 'shop') core.status.event.data.fromList = true; diff --git a/libs/events.js b/libs/events.js index 111bde5d..61f91306 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2366,11 +2366,6 @@ events.prototype.openQuickShop = function (fromUserAction) { if (Object.keys(core.status.shops).length == 1) { var shopId = Object.keys(core.status.shops)[0]; if (core.status.event.id != null || !this._checkStatus('shop', false)) return; - var reason = core.events.canUseQuickShop(shopId); - if (!core.flags.enableDisabledShop && reason) { - core.drawText(reason); - return; - } core.events.openShop(shopId, true); return; } @@ -2881,6 +2876,9 @@ events.prototype.openShop = function (shopId, needVisited) { var shop = core.status.shops[shopId]; shop.times = shop.times || 0; if (shop.commonTimes) shop.times = core.getFlag('commonTimes', 0); + var reason = core.events.canUseQuickShop(shop.id); + if (reason != null) return core.drawTip(reason); + if (needVisited && !shop.visited) { if (!core.flags.enableDisabledShop || shop.commonEvent || shop.item) { if (shop.times == 0) core.drawTip("该项尚未开启"); @@ -2911,10 +2909,8 @@ events.prototype.openShop = function (shopId, needVisited) { } events.prototype._useShop = function (shop, index) { - var reason = core.events.canUseQuickShop(shop.id); - if (!reason && !shop.visited) reason = shop.times ? "该商店已失效" : "该商店尚未开启"; - if (reason) { - core.drawTip(reason); + if (!shop.visited) { + core.drawTip(shop.times ? "该商店已失效" : "该商店尚未开启"); return false; } var use = shop.use, choice = shop.choices[index]; diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 8b5c8646..0deb02d0 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -346,7 +346,7 @@ main.floors.sample1= "name": "flag:man_times", "value": "flag:man_times+1" }, - "\t[老人,man]在文字中使用${' ${ '}和 } 可以计算并显示一个表达式的结果。\n", + "\t[老人,man]在文字中使用$+{}可以计算并显示一个表达式的结果。\n", "\t[老人,man]例如:\n你的当前攻击力是${status:atk},防御力是${status:def}。\n攻防和的十倍是${10*(status:atk+status:def)},攻防之积是${status:atk*status:def}。\n你有${item:yellowKey}把黄钥匙,${item:blueKey}把蓝钥匙,${item:redKey}把红钥匙。\n你有${item:pickaxe}个破,${item:bomb}个炸,${item:centerFly}个飞。\n这是你第${flag:man_times}次和我对话。", "\t[老人,man]同时,你也可以通过{\"type\": \"setValue\"}来设置一个勇士的属性、道具,或某个Flag。", "\t[老人,man]例如:\n现在我将让你的攻防提升50%,再将攻防和的十倍加到生命值上。", diff --git a/project/plugins.js b/project/plugins.js index 63637164..0d8cd268 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -138,7 +138,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = if (selectItem != null) { core.setTextAlign('uievent', 'center'); core.fillText("uievent", type == 0 ? "买入个数" : "卖出个数", 364, 320, null, bigFont); - core.fillText("uievent", "◀ " + selectCount + " ▶", 364, 350); + core.fillText("uievent", "< " + selectCount + " >", 364, 350); core.fillText("uievent", "确定", 364, 380); } @@ -319,7 +319,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = } if (px >= 222 && px <= 282 && py >= 71 && py <= 102) // 离开 return core.insertAction({ "type": "break" }); - // ◀,▶ + // < > if (px >= 318 && px <= 341 && py >= 348 && py <= 376) return _add(item, -1); if (px >= 388 && px <= 416 && py >= 348 && py <= 376) @@ -330,11 +330,17 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = // 上一页/下一页 if (px >= 45 && px <= 105 && py >= 388) { - if (page > 1) selectItem -= 6; + if (page > 1) { + selectItem -= 6; + selectCount = 0; + } return; } if (px >= 208 && px <= 268 && py >= 388) { - if (page < totalPage) selectItem = Math.min(selectItem + 6, list.length - 1); + if (page < totalPage) { + selectItem = Math.min(selectItem + 6, list.length - 1); + selectCount = 0; + } return; } From 25e24a208f6c92d6a2b4baa0a37c8a83269ff5ca Mon Sep 17 00:00:00 2001 From: YouWei Zhao Date: Sat, 9 May 2020 14:46:13 +0800 Subject: [PATCH 39/70] remove _legacy --- _server/editor_datapanel.js | 191 ++++++++++++++++ _server/editor_legacy.js | 379 -------------------------------- _server/editor_materialpanel.js | 16 ++ _server/editor_ui.js | 178 +++++++++++++++ _server/refactoring.md | 2 +- editor-mobile.html | 1 - editor.html | 1 - 7 files changed, 386 insertions(+), 382 deletions(-) delete mode 100644 _server/editor_legacy.js diff --git a/_server/editor_datapanel.js b/_server/editor_datapanel.js index 948ce9c0..ccf0054c 100644 --- a/_server/editor_datapanel.js +++ b/_server/editor_datapanel.js @@ -6,6 +6,197 @@ editor_datapanel_wrapper = function (editor) { //////////////////// 地图编辑 ////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// + // 由于历史遗留原因, 以下变量作为全局变量使用 + // pout exportMap mapEditArea mapEditArea copyMap clearMapButton deleteMap + window.pout = document.getElementById('pout') + window.exportMap = document.getElementById('exportMap') + exportMap.isExport=false + exportMap.onclick=function(){ + editor.updateMap(); + var sx=editor.map.length-1,sy=editor.map[0].length-1; + + var filestr = ''; + for (var yy = 0; yy <= sy; yy++) { + filestr += '[' + for (var xx = 0; xx <= sx; xx++) { + var mapxy = editor.map[yy][xx]; + if (typeof(mapxy) == typeof({})) { + if ('idnum' in mapxy) mapxy = mapxy.idnum; + else { + // mapxy='!!?'; + tip.whichShow(3); + return; + } + } else if (typeof(mapxy) == 'undefined') { + tip.whichShow(3); + return; + } + mapxy = String(mapxy); + mapxy = Array(Math.max(4 - mapxy.length, 0)).join(' ') + mapxy; + filestr += mapxy + (xx == sx ? '' : ',') + } + + filestr += ']' + (yy == sy ? '' : ',\n'); + } + pout.value = filestr; + mapEditArea.mapArr(filestr); + exportMap.isExport = true; + mapEditArea.error(0); + tip.whichShow(2); + } + window.mapEditArea = document.getElementById('mapEditArea') + mapEditArea.errors=[ // 编号1,2 + "格式错误!请使用正确格式(请使用地图生成器进行生成,且需要和本地图宽高完全一致)", + "当前有未定义ID(在地图区域显示红块),请修改ID或者到icons.js和maps.js中进行定义!" + ] + mapEditArea.formatTimer=null + mapEditArea._mapArr='' + mapEditArea.mapArr=function(value){ + if(value!=null){ + var val=value + var oldval=mapEditArea._mapArr + if (val==oldval) return; + + if (exportMap.isExport) { + exportMap.isExport = false; + return; + } + if (mapEditArea.formatArr()) { + mapEditArea.error(0); + + setTimeout(function () { + if (mapEditArea.formatArr())mapEditArea.mapArr(mapEditArea.formatArr()); + mapEditArea.drawMap(); + tip.whichShow(8) + }, 1000); + clearTimeout(mapEditArea.formatTimer); + mapEditArea.formatTimer = setTimeout(function () { + pout.value = mapEditArea.formatArr(); + }, 5000); //5s后再格式化,不然光标跳到最后很烦 + } else { + mapEditArea.error(1); + } + + mapEditArea._mapArr=value + } + return mapEditArea._mapArr + } + pout.oninput=function(){ + mapEditArea.mapArr(pout.value) + } + mapEditArea._error=0 + mapEditArea.error=function(value){ + if(value!=null){ + mapEditArea._error=value + if (value>0) + printe(mapEditArea.errors[value-1]) + } + return mapEditArea._error + } + mapEditArea.drawMap= function () { + // var mapArray = mapEditArea.mapArr().split(/\D+/).join(' ').trim().split(' '); + var mapArray = JSON.parse('[' + mapEditArea.mapArr() + ']'); + var sy=editor.map.length,sx=editor.map[0].length; + for (var y = 0; y < sy; y++) + for (var x = 0; x < sx; x++) { + var num = mapArray[y][x]; + if (num == 0) + editor.map[y][x] = 0; + else if (typeof(editor.indexs[num][0]) == 'undefined') { + mapEditArea.error(2); + editor.map[y][x] = undefined; + } else editor.map[y][x] = editor.ids[[editor.indexs[num][0]]]; + } + + editor.updateMap(); + + } + mapEditArea.formatArr= function () { + var formatArrStr = ''; + console.log(1) + + var si=editor.map.length,sk=editor.map[0].length; + if (mapEditArea.mapArr().split(/\D+/).join(' ').trim().split(' ').length != si*sk) return false; + var arr = mapEditArea.mapArr().replace(/\s+/g, '').split('],['); + + if (arr.length != si) return; + for (var i = 0; i < si; i++) { + var a = []; + formatArrStr += '['; + if (i == 0 || i == si-1) a = arr[i].split(/\D+/).join(' ').trim().split(' '); + else a = arr[i].split(/\D+/); + if (a.length != sk) { + formatArrStr = ''; + return; + } + + for (var k = 0; k < sk; k++) { + var num = parseInt(a[k]); + formatArrStr += Array(Math.max(4 - String(num).length, 0)).join(' ') + num + (k == sk-1 ? '' : ','); + } + formatArrStr += ']' + (i == si-1 ? '' : ',\n'); + } + return formatArrStr; + } + window.copyMap=document.getElementById('copyMap') + copyMap.err='' + copyMap.onclick=function(){ + tip.whichShow(0); + if (pout.value.trim() != '') { + if (mapEditArea.error()) { + copyMap.err = mapEditArea.errors[mapEditArea.error() - 1]; + tip.whichShow(5) + return; + } + try { + pout.focus(); + pout.setSelectionRange(0, pout.value.length); + document.execCommand("Copy"); + tip.whichShow(6); + } catch (e) { + copyMap.err = e; + tip.whichShow(5); + } + } else { + tip.whichShow(7); + } + } + window.clearMapButton=document.getElementById('clearMapButton') + clearMapButton.onclick=function () { + editor.mapInit(); + editor_mode.onmode(''); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('地图清除成功'); + }); + editor.updateMap(); + clearTimeout(mapEditArea.formatTimer); + clearTimeout(tip.timer); + pout.value = ''; + mapEditArea.mapArr(''); + tip.whichShow(4); + mapEditArea.error(0); + } + window.deleteMap=document.getElementById('deleteMap') + deleteMap.onclick=function () { + editor_mode.onmode(''); + var index = core.floorIds.indexOf(editor.currentFloorId); + if (index>=0) { + core.floorIds.splice(index,1); + editor.file.editTower([['change', "['main']['floorIds']", core.floorIds]], function (objs_) {//console.log(objs_); + if (objs_.slice(-1)[0] != null) { + printe(objs_.slice(-1)[0]); + throw(objs_.slice(-1)[0]) + } + ;printe('删除成功,请F5刷新编辑器生效'); + }); + } + else printe('删除成功,请F5刷新编辑器生效'); + } + editor.uifunctions.newMap_func = function () { diff --git a/_server/editor_legacy.js b/_server/editor_legacy.js deleted file mode 100644 index 35e5518d..00000000 --- a/_server/editor_legacy.js +++ /dev/null @@ -1,379 +0,0 @@ -// 由于历史遗留原因, 以下变量作为全局变量使用 -// exportMap mapEditArea pout mapEditArea copyMap clearMapButton deleteMap printf printe tip selectBox -// 除对这些量的功能修改外, 误在此文件中增加新变量或函数 -exportMap = document.getElementById('exportMap') -exportMap.isExport=false -exportMap.onclick=function(){ - editor.updateMap(); - var sx=editor.map.length-1,sy=editor.map[0].length-1; - - var filestr = ''; - for (var yy = 0; yy <= sy; yy++) { - filestr += '[' - for (var xx = 0; xx <= sx; xx++) { - var mapxy = editor.map[yy][xx]; - if (typeof(mapxy) == typeof({})) { - if ('idnum' in mapxy) mapxy = mapxy.idnum; - else { - // mapxy='!!?'; - tip.whichShow(3); - return; - } - } else if (typeof(mapxy) == 'undefined') { - tip.whichShow(3); - return; - } - mapxy = String(mapxy); - mapxy = Array(Math.max(4 - mapxy.length, 0)).join(' ') + mapxy; - filestr += mapxy + (xx == sx ? '' : ',') - } - - filestr += ']' + (yy == sy ? '' : ',\n'); - } - pout.value = filestr; - mapEditArea.mapArr(filestr); - exportMap.isExport = true; - mapEditArea.error(0); - tip.whichShow(2); -} -mapEditArea = document.getElementById('mapEditArea') -mapEditArea.errors=[ // 编号1,2 - "格式错误!请使用正确格式(请使用地图生成器进行生成,且需要和本地图宽高完全一致)", - "当前有未定义ID(在地图区域显示红块),请修改ID或者到icons.js和maps.js中进行定义!" -] -mapEditArea.formatTimer=null -mapEditArea._mapArr='' -mapEditArea.mapArr=function(value){ - if(value!=null){ - var val=value - var oldval=mapEditArea._mapArr - if (val==oldval) return; - - if (exportMap.isExport) { - exportMap.isExport = false; - return; - } - if (mapEditArea.formatArr()) { - mapEditArea.error(0); - - setTimeout(function () { - if (mapEditArea.formatArr())mapEditArea.mapArr(mapEditArea.formatArr()); - mapEditArea.drawMap(); - tip.whichShow(8) - }, 1000); - clearTimeout(mapEditArea.formatTimer); - mapEditArea.formatTimer = setTimeout(function () { - pout.value = mapEditArea.formatArr(); - }, 5000); //5s后再格式化,不然光标跳到最后很烦 - } else { - mapEditArea.error(1); - } - - mapEditArea._mapArr=value - } - return mapEditArea._mapArr -} -pout.oninput=function(){ - mapEditArea.mapArr(pout.value) -} -mapEditArea._error=0 -mapEditArea.error=function(value){ - if(value!=null){ - mapEditArea._error=value - if (value>0) - printe(mapEditArea.errors[value-1]) - } - return mapEditArea._error -} -mapEditArea.drawMap= function () { - // var mapArray = mapEditArea.mapArr().split(/\D+/).join(' ').trim().split(' '); - var mapArray = JSON.parse('[' + mapEditArea.mapArr() + ']'); - var sy=editor.map.length,sx=editor.map[0].length; - for (var y = 0; y < sy; y++) - for (var x = 0; x < sx; x++) { - var num = mapArray[y][x]; - if (num == 0) - editor.map[y][x] = 0; - else if (typeof(editor.indexs[num][0]) == 'undefined') { - mapEditArea.error(2); - editor.map[y][x] = undefined; - } else editor.map[y][x] = editor.ids[[editor.indexs[num][0]]]; - } - - editor.updateMap(); - -} -mapEditArea.formatArr= function () { - var formatArrStr = ''; - console.log(1) - - var si=editor.map.length,sk=editor.map[0].length; - if (mapEditArea.mapArr().split(/\D+/).join(' ').trim().split(' ').length != si*sk) return false; - var arr = mapEditArea.mapArr().replace(/\s+/g, '').split('],['); - - if (arr.length != si) return; - for (var i = 0; i < si; i++) { - var a = []; - formatArrStr += '['; - if (i == 0 || i == si-1) a = arr[i].split(/\D+/).join(' ').trim().split(' '); - else a = arr[i].split(/\D+/); - if (a.length != sk) { - formatArrStr = ''; - return; - } - - for (var k = 0; k < sk; k++) { - var num = parseInt(a[k]); - formatArrStr += Array(Math.max(4 - String(num).length, 0)).join(' ') + num + (k == sk-1 ? '' : ','); - } - formatArrStr += ']' + (i == si-1 ? '' : ',\n'); - } - return formatArrStr; -} -copyMap=document.getElementById('copyMap') -copyMap.err='' -copyMap.onclick=function(){ - tip.whichShow(0); - if (pout.value.trim() != '') { - if (mapEditArea.error()) { - copyMap.err = mapEditArea.errors[mapEditArea.error() - 1]; - tip.whichShow(5) - return; - } - try { - pout.focus(); - pout.setSelectionRange(0, pout.value.length); - document.execCommand("Copy"); - tip.whichShow(6); - } catch (e) { - copyMap.err = e; - tip.whichShow(5); - } - } else { - tip.whichShow(7); - } -} -clearMapButton=document.getElementById('clearMapButton') -clearMapButton.onclick=function () { - editor.mapInit(); - editor_mode.onmode(''); - editor.file.saveFloorFile(function (err) { - if (err) { - printe(err); - throw(err) - } - ;printf('地图清除成功'); - }); - editor.updateMap(); - clearTimeout(mapEditArea.formatTimer); - clearTimeout(tip.timer); - pout.value = ''; - mapEditArea.mapArr(''); - tip.whichShow(4); - mapEditArea.error(0); -} -deleteMap=document.getElementById('deleteMap') -deleteMap.onclick=function () { - editor_mode.onmode(''); - var index = core.floorIds.indexOf(editor.currentFloorId); - if (index>=0) { - core.floorIds.splice(index,1); - editor.file.editTower([['change', "['main']['floorIds']", core.floorIds]], function (objs_) {//console.log(objs_); - if (objs_.slice(-1)[0] != null) { - printe(objs_.slice(-1)[0]); - throw(objs_.slice(-1)[0]) - } - ;printe('删除成功,请F5刷新编辑器生效'); - }); - } - else printe('删除成功,请F5刷新编辑器生效'); -} -printf = function (str_, type) { - selectBox.isSelected(false); - if (!type) { - tip.whichShow(11); - } else { - tip.whichShow(12); - } - setTimeout(function () { - if (!type) { - tip.msgs[11] = String(str_); - tip.whichShow(12); - } else { - tip.msgs[10] = String(str_); - tip.whichShow(11); - } - }, 1); -} -printe = function (str_) { - printf(str_, 'error') -} -tip=document.getElementById('tip') -tip.showHelp = function(value) { - var tips = [ - '表格的文本域可以双击进行编辑', - '双击地图可以选中素材,右键可以弹出菜单', - '双击事件编辑器的图块可以进行长文本编辑/脚本编辑/地图选点/UI绘制预览等操作', - 'ESC或点击空白处可以自动保存当前修改', - 'H键可以打开操作帮助哦', - 'tileset贴图模式可以在地图上拖动来一次绘制一个区域;右键额外素材也可以绑定宽高', - '可以拖动地图上的图块和事件,或按Ctrl+C, Ctrl+X和Ctrl+V进行复制,剪切和粘贴,Delete删除', - 'Alt+数字键保存图块,数字键读取保存的图块', - ]; - if (value == null) value = Math.floor(Math.random() * tips.length); - printf('tips: ' + tips[value]) -} -tip._infos= {} -tip.infos=function(value){ - if(value!=null){ - var val=value - var oldval=tip._infos - - tip.isClearBlock(false); - tip.isAirwall(false); - if (typeof(val) != 'undefined') { - if (val == 0) { - tip.isClearBlock(true); - return; - } - if ('id' in val) { - if (val.idnum == 17) { - tip.isAirwall(true); - return; - } - tip.hasId = true; - } else { - tip.hasId = false; - } - tip.isAutotile = false; - if (val.images == "autotile" && tip.hasId) tip.isAutotile = true; - document.getElementById('isAirwall-else').innerHTML=(tip.hasId?`

图块编号:${ value['idnum'] }

-

图块ID:${ value['id'] }

`:` -

该图块无对应的数字或ID存在,请先前往icons.js和maps.js中进行定义!

`)+` -

图块所在素材:${ value['images'] + (tip.isAutotile ? '( '+value['id']+' )' : '') } -

-

图块索引:${ value['y'] }

` - } - - tip._infos=value - } - return tip._infos -} -tip.hasId= true -tip.isAutotile= false -tip._isSelectedBlock= false -tip.isSelectedBlock=function(value){ - if(value!=null){ - var dshow=document.getElementById('isSelectedBlock-if') - var dhide=document.getElementById('isSelectedBlock-else') - if(!value){ - var dtemp=dshow - dshow=dhide - dhide=dtemp - } - dshow.style.display='' - dhide.style.display='none' - tip._isSelectedBlock=value - } - return tip._isSelectedBlock -} -tip._isClearBlock= false -tip.isClearBlock=function(value){ - if(value!=null){ - var dshow=document.getElementById('isClearBlock-if') - var dhide=document.getElementById('isClearBlock-else') - if(!value){ - var dtemp=dshow - dshow=dhide - dhide=dtemp - } - dshow.style.display='' - dhide.style.display='none' - tip._isClearBlock=value - } - return tip._isClearBlock -} -tip._isAirwall= false -tip.isAirwall=function(value){ - if(value!=null){ - var dshow=document.getElementById('isAirwall-if') - var dhide=document.getElementById('isAirwall-else') - if(!value){ - var dtemp=dshow - dshow=dhide - dhide=dtemp - } - dshow.style.display='' - dhide.style.display='none' - tip._isAirwall=value - } - return tip._isAirwall -} -tip.geneMapSuccess= false -tip.timer= null -tip.msgs= [ //分别编号1,2,3,4,5,6,7,8,9,10;奇数警告,偶数成功 - "当前未选择任何图块,请先在右边选择要画的图块!", - "生成地图成功!可点击复制按钮复制地图数组到剪切板", - "生成失败! 地图中有未定义的图块,建议先用其他有效图块覆盖或点击清除地图!", - "地图清除成功!", - "复制失败!", - "复制成功!可直接粘贴到楼层文件的地图数组中。", - "复制失败!当前还没有数据", - "修改成功!可点击复制按钮复制地图数组到剪切板", - "选择背景图片失败!文件名格式错误或图片不存在!", - "更新背景图片成功!", - "11:警告", - "12:成功" -] -tip._mapMsg= '' -tip.mapMsg=function(value){ - if(value!=null){ - document.getElementById('whichShow-if').innerText=value - tip._mapMsg=value - } - return tip._mapMsg -} -tip._whichShow= 0 -tip.whichShow=function(value){ - if(value!=null){ - - var dshow=document.getElementById('whichShow-if') - var dhide=null - if(!value){ - var dtemp=dshow - dshow=dhide - dhide=dtemp - } - if(dshow)dshow.style.display='' - if(dhide)dhide.style.display='none' - - if(dshow)dshow.setAttribute('class',(value%2) ? 'warnText' : 'successText') - - tip.mapMsg(''); - tip.msgs[4] = "复制失败!" + editTip.err; - clearTimeout(tip.timer); - if (value) { - tip.mapMsg(tip.msgs[value - 1]); - tip.timer = setTimeout(function () { - if (!(value % 2)) - value = 0; - }, 5000); //5秒后自动清除success,warn不清除 - } - tip._whichShow=value - } - return tip._whichShow -} -selectBox=document.getElementById('selectBox') -selectBox._isSelected=false -selectBox.isSelected=function(value){ - if(value!=null){ - selectBox._isSelected=value; - tip.isSelectedBlock(value); - tip.whichShow(0); - clearTimeout(tip.timer); - editor.dom.dataSelection.style.display=value?'':'none' - } - return selectBox._isSelected -} - -// 修改此文件前先看文件开头的说明 \ No newline at end of file diff --git a/_server/editor_materialpanel.js b/_server/editor_materialpanel.js index ca3713fb..51752b9c 100644 --- a/_server/editor_materialpanel.js +++ b/_server/editor_materialpanel.js @@ -1,5 +1,21 @@ editor_materialpanel_wrapper = function (editor) { + // 由于历史遗留原因, 以下变量作为全局变量使用 + // selectBox + + window.selectBox=document.getElementById('selectBox') + selectBox._isSelected=false + selectBox.isSelected=function(value){ + if(value!=null){ + selectBox._isSelected=value; + tip.isSelectedBlock(value); + tip.whichShow(0); + clearTimeout(tip.timer); + editor.dom.dataSelection.style.display=value?'':'none' + } + return selectBox._isSelected + } + editor.uifunctions.getScrollBarHeight = function () { var outer = document.createElement("div"); outer.style.visibility = "hidden"; diff --git a/_server/editor_ui.js b/_server/editor_ui.js index 4a5e4386..d2764df8 100644 --- a/_server/editor_ui.js +++ b/_server/editor_ui.js @@ -1,5 +1,183 @@ editor_ui_wrapper = function (editor) { + // 由于历史遗留原因, 以下变量作为全局变量使用 + // printf printe tip + window.printf = function (str_, type) { + selectBox.isSelected(false); + if (!type) { + tip.whichShow(11); + } else { + tip.whichShow(12); + } + setTimeout(function () { + if (!type) { + tip.msgs[11] = String(str_); + tip.whichShow(12); + } else { + tip.msgs[10] = String(str_); + tip.whichShow(11); + } + }, 1); + } + window.printe = function (str_) { + printf(str_, 'error') + } + window.tip=document.getElementById('tip') + tip.showHelp = function(value) { + var tips = [ + '表格的文本域可以双击进行编辑', + '双击地图可以选中素材,右键可以弹出菜单', + '双击事件编辑器的图块可以进行长文本编辑/脚本编辑/地图选点/UI绘制预览等操作', + 'ESC或点击空白处可以自动保存当前修改', + 'H键可以打开操作帮助哦', + 'tileset贴图模式可以在地图上拖动来一次绘制一个区域;右键额外素材也可以绑定宽高', + '可以拖动地图上的图块和事件,或按Ctrl+C, Ctrl+X和Ctrl+V进行复制,剪切和粘贴,Delete删除', + 'Alt+数字键保存图块,数字键读取保存的图块', + ]; + if (value == null) value = Math.floor(Math.random() * tips.length); + printf('tips: ' + tips[value]) + } + tip._infos= {} + tip.infos=function(value){ + if(value!=null){ + var val=value + var oldval=tip._infos + + tip.isClearBlock(false); + tip.isAirwall(false); + if (typeof(val) != 'undefined') { + if (val == 0) { + tip.isClearBlock(true); + return; + } + if ('id' in val) { + if (val.idnum == 17) { + tip.isAirwall(true); + return; + } + tip.hasId = true; + } else { + tip.hasId = false; + } + tip.isAutotile = false; + if (val.images == "autotile" && tip.hasId) tip.isAutotile = true; + document.getElementById('isAirwall-else').innerHTML=(tip.hasId?`

图块编号:${ value['idnum'] }

+

图块ID:${ value['id'] }

`:` +

该图块无对应的数字或ID存在,请先前往icons.js和maps.js中进行定义!

`)+` +

图块所在素材:${ value['images'] + (tip.isAutotile ? '( '+value['id']+' )' : '') } +

+

图块索引:${ value['y'] }

` + } + + tip._infos=value + } + return tip._infos + } + tip.hasId= true + tip.isAutotile= false + tip._isSelectedBlock= false + tip.isSelectedBlock=function(value){ + if(value!=null){ + var dshow=document.getElementById('isSelectedBlock-if') + var dhide=document.getElementById('isSelectedBlock-else') + if(!value){ + var dtemp=dshow + dshow=dhide + dhide=dtemp + } + dshow.style.display='' + dhide.style.display='none' + tip._isSelectedBlock=value + } + return tip._isSelectedBlock + } + tip._isClearBlock= false + tip.isClearBlock=function(value){ + if(value!=null){ + var dshow=document.getElementById('isClearBlock-if') + var dhide=document.getElementById('isClearBlock-else') + if(!value){ + var dtemp=dshow + dshow=dhide + dhide=dtemp + } + dshow.style.display='' + dhide.style.display='none' + tip._isClearBlock=value + } + return tip._isClearBlock + } + tip._isAirwall= false + tip.isAirwall=function(value){ + if(value!=null){ + var dshow=document.getElementById('isAirwall-if') + var dhide=document.getElementById('isAirwall-else') + if(!value){ + var dtemp=dshow + dshow=dhide + dhide=dtemp + } + dshow.style.display='' + dhide.style.display='none' + tip._isAirwall=value + } + return tip._isAirwall + } + tip.geneMapSuccess= false + tip.timer= null + tip.msgs= [ //分别编号1,2,3,4,5,6,7,8,9,10;奇数警告,偶数成功 + "当前未选择任何图块,请先在右边选择要画的图块!", + "生成地图成功!可点击复制按钮复制地图数组到剪切板", + "生成失败! 地图中有未定义的图块,建议先用其他有效图块覆盖或点击清除地图!", + "地图清除成功!", + "复制失败!", + "复制成功!可直接粘贴到楼层文件的地图数组中。", + "复制失败!当前还没有数据", + "修改成功!可点击复制按钮复制地图数组到剪切板", + "选择背景图片失败!文件名格式错误或图片不存在!", + "更新背景图片成功!", + "11:警告", + "12:成功" + ] + tip._mapMsg= '' + tip.mapMsg=function(value){ + if(value!=null){ + document.getElementById('whichShow-if').innerText=value + tip._mapMsg=value + } + return tip._mapMsg + } + tip._whichShow= 0 + tip.whichShow=function(value){ + if(value!=null){ + + var dshow=document.getElementById('whichShow-if') + var dhide=null + if(!value){ + var dtemp=dshow + dshow=dhide + dhide=dtemp + } + if(dshow)dshow.style.display='' + if(dhide)dhide.style.display='none' + + if(dshow)dshow.setAttribute('class',(value%2) ? 'warnText' : 'successText') + + tip.mapMsg(''); + tip.msgs[4] = "复制失败!" + editTip.err; + clearTimeout(tip.timer); + if (value) { + tip.mapMsg(tip.msgs[value - 1]); + tip.timer = setTimeout(function () { + if (!(value % 2)) + value = 0; + }, 5000); //5秒后自动清除success,warn不清除 + } + tip._whichShow=value + } + return tip._whichShow + } + /** * 根据鼠标点击, 得到从元素向上到body的所有id diff --git a/_server/refactoring.md b/_server/refactoring.md index fbd0fff0..f6b6c07f 100644 --- a/_server/refactoring.md +++ b/_server/refactoring.md @@ -1,6 +1,6 @@ # 重构 -> 目前状态: 按功能分类已基本完成, 未完成file/game的重写 +> 目前状态: 按功能分类, 维持稳定状态, 在3.0中重写 总体思路 + 按功能拆分文件 diff --git a/editor-mobile.html b/editor-mobile.html index d5d3ac56..cfa66ea8 100644 --- a/editor-mobile.html +++ b/editor-mobile.html @@ -596,7 +596,6 @@ - diff --git a/editor.html b/editor.html index e2ce2dfb..6c35d361 100644 --- a/editor.html +++ b/editor.html @@ -580,7 +580,6 @@ - From b25029ec722998ad3dc97e8ce478d3bf3e6c2515 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 9 May 2020 14:47:37 +0800 Subject: [PATCH 40/70] =?UTF-8?q?=E7=BB=99setValue=E5=A2=9E=E5=8A=A0operat?= =?UTF-8?q?or;=E7=A7=BB=E9=99=A4core.addValue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API列表.txt | 2 +- _docs/api.md | 2 +- _docs/event.md | 27 +---- _server/MotaAction.g4 | 37 ++----- _server/editor_blockly.js | 22 ++-- _server/editor_mappanel.js | 2 +- libs/events.js | 40 +++---- project/data.js | 8 +- project/events.js | 35 +++--- project/floors/sample1.js | 215 ++++++++----------------------------- project/items.js | 15 ++- v2.x-final更新.txt | 11 +- 12 files changed, 130 insertions(+), 286 deletions(-) diff --git a/API列表.txt b/API列表.txt index 8b5cbccd..58dd32ca 100644 --- a/API列表.txt +++ b/API列表.txt @@ -1037,7 +1037,7 @@ core.follow(name) / core.unfollow(name) 跟随和取消跟随都会调用core.gatherFollowers()来聚集所有的跟随者。 -core.setValue(name, value, prefix) / core.addValue(name, value, prefix) +core.setValue(name, operator, value, prefix) / core.addValue(name, value, prefix) 设置/增减某个数值。name可以是status:xxx,item:xxx或flag:xxx。 value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。 diff --git a/_docs/api.md b/_docs/api.md index d3f6027d..89d992f0 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -1036,7 +1036,7 @@ core.follow(name) / core.unfollow(name) 跟随和取消跟随都会调用core.gatherFollowers()来聚集所有的跟随者。 -core.setValue(name, value, prefix) / core.addValue(name, value, prefix) +core.setValue(name, operator, value, prefix) / core.addValue(name, value, prefix) 设置/增减某个数值。name可以是status:xxx,item:xxx或flag:xxx。 value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。 diff --git a/_docs/event.md b/_docs/event.md index 731e0ac1..fd39afb1 100644 --- a/_docs/event.md +++ b/_docs/event.md @@ -491,27 +491,6 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam 在刷新的情况下,如果hp被设置成了0或以下,将触发lose事件,直接死亡。 -### addValue:增减勇士的某个属性、道具个数,或某个变量/Flag的值 - -和`{"type": "setValue"}`的写法完全相同,不过此项是可以直接将值加减到原始数值上。 - -即下面的写法是等价的: - -``` js -[ - {"type": "setValue", "name": "status:atk", "value": "status:atk+10" } // 攻击提高10点 - {"type": "addVakue", "name": "status:atk", "value": "10" } // 和上面写法等价 - {"type": "setValue", "name": "item:yellowKey", "value": "item:yellowKey-3" } // 黄钥匙个数-3 - {"type": "addValue", "name": "item:yellowKey", "value": "-3" } // 和上面写法等价 - {"type": "setValue", "name": "flag:door2", "value": "flag:door2+1" } // 将变量door值+1 - {"type": "addValue", "name": "flag:door2", "value": "01" } // 和上面写法等价 -] -``` - -![](img/events/14.jpg) - -从V2.6.5开始,当设置了`"norefresh": true`后可以不刷新状态栏、地图显伤和自动事件,从而加速事件执行。 - ### setEnemy:设置怪物属性 使用`{"type":"setEnemy"}`可以设置某个怪物的某个属性 @@ -1672,7 +1651,7 @@ text为提示文字,可以在这里给输入提示文字。这里同样可以 ], "false": [ // 条件不成立则执行false里的事件 "你当前攻击力为${status:atk}, 不足500!\n给你增加100点攻击力!", - {"type": "addValue", "name": "status:atk", "value": "100"}, // 攻击力加100, 接着会执行revisit事件 + {"type": "setValue", "name": "status:atk", "operator": "+=", "value": "100"}, // 攻击力加100, 接着会执行revisit事件 ] }, {"type", "revisit"}, // 立刻重启本事件, 直到攻击力大于500后结束 @@ -1874,7 +1853,7 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。 [ {"type":"while", "condition": "flag:i<=10", // 循环处理;注意flag未设置则默认为0 "data":[ - {"type": "addValue", "name": "flag:i", "value": "1"}, // 递增i + {"type": "setValue", "name": "flag:i", "operator": "+=", "value": "1"}, // 递增i "${flag:i}", // 输出i {"type": "sleep","time":1000}, // 等待1秒 ] @@ -1908,7 +1887,7 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。 [ {"type":"while", "condition": "true", // 循环处理;永远为真 "data":[ - {"type": "addValue", "name": "flag:i", "value": "1"}, // 递增i + {"type": "setValue", "name": "flag:i", "operator": "+=", "value": "1"}, // 递增i "${flag:i}", // 输出i {"type": "sleep","time":1000}, // 等待1秒 {"type": "if", "condition": "flag:i<10", // 测试i是否小于10 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index f92f9481..ff52e465 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -330,7 +330,6 @@ action | setText_s | tip_s | setValue_s - | addValue_s | setEnemy_s | setFloor_s | setGlobalAttribute_s @@ -579,28 +578,18 @@ return code; */; setValue_s - : '数值操作' ':' '名称' idString_e '值' expression '不刷新状态栏' Bool Newline + : '数值操作' ':' '名称' idString_e AssignOperator_List expression '不刷新状态栏' Bool Newline /* setValue_s tooltip : setValue:设置勇士的某个属性、道具个数, 或某个变量/Flag的值 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setvalue%EF%BC%9A%E8%AE%BE%E7%BD%AE%E5%8B%87%E5%A3%AB%E7%9A%84%E6%9F%90%E4%B8%AA%E5%B1%9E%E6%80%A7%E3%80%81%E9%81%93%E5%85%B7%E4%B8%AA%E6%95%B0%EF%BC%8C%E6%88%96%E6%9F%90%E4%B8%AA%E5%8F%98%E9%87%8Fflag%E7%9A%84%E5%80%BC colour : this.dataColor +if (AssignOperator_List_0 && AssignOperator_List_0 != '=') { + AssignOperator_List_0 = ', "operator": "' + AssignOperator_List_0 + '"'; +} else AssignOperator_List_0 = ''; Bool_0 = Bool_0 ? ', "norefresh": true' : ''; -var code = '{"type": "setValue", "name": "'+idString_e_0+'", "value": "'+expression_0+'"' + Bool_0 + '},\n'; -return code; -*/; - -addValue_s - : '数值增减' ':' '名称' idString_e '+=' expression '不刷新状态栏' Bool Newline - - -/* addValue_s -tooltip : addValue:增减勇士的某个属性、道具个数, 或某个变量/Flag的值 -helpUrl : https://h5mota.com/games/template/_docs/#/event?id=addValue%ef%bc%9a%e5%a2%9e%e5%87%8f%e5%8b%87%e5%a3%ab%e7%9a%84%e6%9f%90%e4%b8%aa%e5%b1%9e%e6%80%a7%e3%80%81%e9%81%93%e5%85%b7%e4%b8%aa%e6%95%b0%ef%bc%8c%e6%88%96%e6%9f%90%e4%b8%aa%e5%8f%98%e9%87%8f%2fFlag%e7%9a%84%e5%80%bc -colour : this.dataColor -Bool_0 = Bool_0 ? ', "norefresh": true' : ''; -var code = '{"type": "addValue", "name": "'+idString_e_0+'", "value": "'+expression_0+'"' + Bool_0 + '},\n'; +var code = '{"type": "setValue", "name": "'+idString_e_0+'"'+AssignOperator_List_0+', "value": "'+expression_0+'"' + Bool_0 + '},\n'; return code; */; @@ -612,7 +601,7 @@ setEnemy_s /* setEnemy_s tooltip : setEnemy:设置某个怪物的属性 default : ["greenSlime", "atk", "0"] -helpUrl : https://h5mota.com/games/template/_docs/#/event?id=addValue%ef%bc%9a%e5%a2%9e%e5%87%8f%e5%8b%87%e5%a3%ab%e7%9a%84%e6%9f%90%e4%b8%aa%e5%b1%9e%e6%80%a7%e3%80%81%e9%81%93%e5%85%b7%e4%b8%aa%e6%95%b0%ef%bc%8c%e6%88%96%e6%9f%90%e4%b8%aa%e5%8f%98%e9%87%8f%2fFlag%e7%9a%84%e5%80%bc +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setEnemy%ef%bc%9a%e5%a2%9e%e5%87%8f%e5%8b%87%e5%a3%ab%e7%9a%84%e6%9f%90%e4%b8%aa%e5%b1%9e%e6%80%a7%e3%80%81%e9%81%93%e5%85%b7%e4%b8%aa%e6%95%b0%ef%bc%8c%e6%88%96%e6%9f%90%e4%b8%aa%e5%8f%98%e9%87%8f%2fFlag%e7%9a%84%e5%80%bc colour : this.dataColor var code = '{"type": "setEnemy", "id": "'+IdString_0+'", "name": "'+EnemyId_List_0+'", "value": "'+expression_0+'"},\n'; return code; @@ -2713,6 +2702,10 @@ Arithmetic_List : '+'|'-'|'*'|'/'|'^'|'=='|'!='|'>'|'<'|'>='|'<='|'和'|'或' ; +AssignOperator_List + : '='|'+='|'-='|'*='|'/='|'**='|'//='|'%=' + ; + Weather_List : '无'|'雨'|'雪'|'雾' /*Weather_List ['null','rain','snow','fog']*/; @@ -3366,15 +3359,7 @@ ActionParser.prototype.parseAction = function() { break case "setValue": this.next = MotaActionBlocks['setValue_s'].xmlText([ - this.tryToUseEvFlag_e('idString_e', [data.name]), - MotaActionBlocks['evalString_e'].xmlText([data.value]), - data.norefresh || false, - this.next]); - break; - case "setValue2": - case "addValue": - this.next = MotaActionBlocks['addValue_s'].xmlText([ - this.tryToUseEvFlag_e('idString_e', [data.name]), + this.tryToUseEvFlag_e('idString_e', [data.name]), data["operator"]||'=', MotaActionBlocks['evalString_e'].xmlText([data.value]), data.norefresh || false, this.next]); diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 95e35786..8445df48 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -97,11 +97,8 @@ editor_blockly = function () { ]), ], '数据相关':[ - MotaActionBlocks['addValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false - ]), MotaActionBlocks['setValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '=', '', false ]), MotaActionBlocks['setEnemy_s'].xmlText(), MotaActionBlocks['setFloor_s'].xmlText(), @@ -220,11 +217,8 @@ editor_blockly = function () { MotaActionBlocks['unknown_s'].xmlText(), ], '值块':[ - MotaActionBlocks['addValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false - ]), MotaActionBlocks['setValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '=', '', false ]), MotaActionBlocks['expression_arithmetic_0'].xmlText(), MotaActionBlocks['evFlag_e'].xmlText(), @@ -254,8 +248,8 @@ editor_blockly = function () { {"text": "黄钥匙(\\\${9+flag:shop_times}金币)", "color": [255,255,0,1], "action": [ {"type": "if", "condition": "status:money>=9+flag:shop_times", "true": [ - {"type": "addValue", "name": "status:money", "value": "-(9+flag:shop_times)"}, - {"type": "addValue", "name": "item:yellowKey", "value": "1"}, + {"type": "setValue", "name": "status:money", "operator": "-=", "value": "9+flag:shop_times"}, + {"type": "setValue", "name": "item:yellowKey", "operator": "+=", "value": "1"}, ], "false": [ "\\t[老人,man]你的金钱不足!", @@ -270,7 +264,7 @@ editor_blockly = function () { ]} ] }, - {"type": "addValue", "name": "flag:shop_times", "value": "1"}, + {"type": "setValue", "name": "flag:shop_times", "operator": "+=", "value": "1"}, {"type": "revisit"} ], 'event'), '', @@ -293,7 +287,7 @@ editor_blockly = function () { ],'afterBattle'), '', MotaActionFunctions.actionParser.parse([ - {"type": "addValue", "name": "flag:__door__", "value": "1"}, + {"type": "setValue", "name": "flag:__door__", "operator": "+=", "value": "1"}, {"type": "if", "condition": "flag:__door__==2", "true": [ {"type": "openDoor", "loc": [10,5]} @@ -313,7 +307,7 @@ editor_blockly = function () { {"type": "if", "condition": "flag:hasSuperPotion", "true": [], "false": [ - {"type":"setValue", "name":"status:hp", "value":"status:hp*2"}, + {"type":"setValue", "name":"status:hp", "operator": "*=", "value": "2"}, {"type":"setBlock", "number": 1}, {"type":"setValue", "name":"flag:hasSuperPotion", "value": "true"} ] @@ -755,7 +749,7 @@ function omitedcheckUpdateFunction(event) { 'comment_s', 'show_s', 'hide_s', - 'addValue_s', + 'setValue_s', 'if_s', 'battle_s', 'openDoor_s', diff --git a/_server/editor_mappanel.js b/_server/editor_mappanel.js index 77c43ffc..f810e748 100644 --- a/_server/editor_mappanel.js +++ b/_server/editor_mappanel.js @@ -472,7 +472,7 @@ editor_mappanel_wrapper = function (editor) { }; bindSpecialDoor.enemys.forEach(function (loc) { editor.currentFloorData.afterBattle[loc] = [ - {"type": "addValue", "name": doorFlag, "value": "1"} + {"type": "setValue", "name": doorFlag, "operator": "+=", "value": "1"} ] }); editor.file.saveFloorFile(function (err) { diff --git a/libs/events.js b/libs/events.js index 61f91306..b1daadb1 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1127,7 +1127,7 @@ events.prototype.__precompile_getArray = function () { "closeDoor", "battle", "trigger", "insert" ]; var values = [ - "setValue", "setValue2", "addValue", "setEnemy", "setFloor", "setGlobalValue", + "setValue", "setEnemy", "setFloor", "setGlobalValue", ]; var uievents = [ "clearMap", "fillText", "fillBoldText", "fillRect", "strokeRect", "strokeCircle", @@ -1618,25 +1618,7 @@ events.prototype._action_setVolume = function (data, x, y, prefix) { } events.prototype._action_setValue = function (data, x, y, prefix) { - this.setValue(data.name, data.value, prefix); - if (!data.norefresh) { - if (core.status.hero.hp <= 0) { - core.status.hero.hp = 0; - core.updateStatusBar(); - core.events.lose(); - } else { - core.updateStatusBar(); - } - } - core.doAction(); -} - -events.prototype._action_setValue2 = function (data, x, y, prefix) { - this._action_addValue(data, x, y, prefix); -} - -events.prototype._action_addValue = function (data, x, y, prefix) { - this.addValue(data.name, data.value, prefix); + this.setValue(data.name, data.operator, data.value, prefix); if (!data.norefresh) { if (core.status.hero.hp <= 0) { core.status.hero.hp = 0; @@ -2459,9 +2441,19 @@ events.prototype.unfollow = function (name) { } ////// 数值操作 ////// -events.prototype.setValue = function (name, value, prefix, add) { - var value = core.calValue(value, prefix); - if (add) value += core.calValue(name, prefix); +events.prototype.setValue = function (name, operator, value, prefix) { + value = core.calValue(value, prefix); + var originValue = core.calValue(name, prefix); + switch (operator) { + case '+=': value = originValue + value; break; + case '-=': value = originValue - value; break; + case '*=': value = originValue * value; break; + case '/=': value = originValue / value; break; + case '**=': value = Math.pow(originValue, value); break; + case '//=': value = Math.trunc(originValue / value); break; + case '%=': value = originValue % value; break; + default: break; + } this._setValue_setStatus(name, value); this._setValue_setItem(name, value); this._setValue_setFlag(name, value); @@ -2498,7 +2490,7 @@ events.prototype._setValue_setGlobal = function (name, value) { ////// 数值增减 ////// events.prototype.addValue = function (name, value, prefix) { - this.setValue(name, value, prefix, true); + this.setValue(name, '+=', value, prefix); } ////// 执行一个表达式的effect操作 ////// diff --git a/project/data.js b/project/data.js index bc4b0cf5..20da56b0 100644 --- a/project/data.js +++ b/project/data.js @@ -370,17 +370,19 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = }, { "need": "20", - "title": "第二级", + "title": "", "action": [ { "type": "setValue", "name": "status:atk", - "value": "status:atk+10" + "operator": "+=", + "value": "10" }, { "type": "setValue", "name": "status:def", - "value": "status:def+10" + "operator": "+=", + "value": "10" } ] }, diff --git a/project/events.js b/project/events.js index 57aec84c..c9c7fae6 100644 --- a/project/events.js +++ b/project/events.js @@ -15,7 +15,8 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = { "type": "setValue", "name": "status:atk", - "value": "status:atk+1*flag:arg1" + "operator": "+=", + "value": "1*flag:arg1" } ] }, @@ -25,7 +26,8 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = { "type": "setValue", "name": "status:def", - "value": "status:def+2*flag:arg1" + "operator": "+=", + "value": "2*flag:arg1" } ] }, @@ -35,7 +37,8 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = { "type": "setValue", "name": "status:hp", - "value": "status:hp+200*flag:arg1" + "operator": "+=", + "value": "200*flag:arg1" } ] } @@ -97,14 +100,16 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = "text": ">=1:直接扣数值" }, { - "type": "addValue", + "type": "setValue", "name": "status:atk", - "value": "-core.values.weakValue" + "operator": "-=", + "value": "core.values.weakValue" }, { - "type": "addValue", + "type": "setValue", "name": "status:def", - "value": "-core.values.weakValue" + "operator": "-=", + "value": "core.values.weakValue" } ], "false": [ @@ -273,13 +278,15 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = "condition": "item:yellowKey >= 1", "true": [ { - "type": "addValue", + "type": "setValue", "name": "item:yellowKey", - "value": "-1" + "operator": "-=", + "value": "1" }, { - "type": "addValue", + "type": "setValue", "name": "status:money", + "operator": "+=", "value": "10" } ], @@ -303,13 +310,15 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = "condition": "item:blueKey >= 1", "true": [ { - "type": "addValue", + "type": "setValue", "name": "item:blueKey", - "value": "-1" + "operator": "-=", + "value": "1" }, { - "type": "addValue", + "type": "setValue", "name": "status:money", + "operator": "+=", "value": "50" } ], diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 0deb02d0..69621071 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -32,7 +32,7 @@ main.floors.sample1= [ 0, 0, 0, 0, 0, 0, 0,164, 0, 0,163, 0, 0], [ 1, 1, 1, 1, 0, 20, 0, 0, 0,162, 0,161, 0], [ 1, 0,123, 1, 0, 20,124, 0,121, 0,122, 0,126], - [ 1, 0, 0, 1, 88, 20, 86, 0, 0, 0, 0, 0,122] + [ 1, 0, 0, 1, 88, 20, 86, 0, 0, 0, 0, 0, 0] ], "firstArrive": [], "events": { @@ -111,12 +111,14 @@ main.floors.sample1= { "type": "setValue", "name": "status:atk", - "value": "status:atk/10" + "operator": "/=", + "value": "10" }, { "type": "setValue", "name": "status:def", - "value": "status:def/10" + "operator": "/=", + "value": "10" }, { "type": "hide", @@ -344,7 +346,8 @@ main.floors.sample1= { "type": "setValue", "name": "flag:man_times", - "value": "flag:man_times+1" + "operator": "+=", + "value": "1" }, "\t[老人,man]在文字中使用$+{}可以计算并显示一个表达式的结果。\n", "\t[老人,man]例如:\n你的当前攻击力是${status:atk},防御力是${status:def}。\n攻防和的十倍是${10*(status:atk+status:def)},攻防之积是${status:atk*status:def}。\n你有${item:yellowKey}把黄钥匙,${item:blueKey}把蓝钥匙,${item:redKey}把红钥匙。\n你有${item:pickaxe}个破,${item:bomb}个炸,${item:centerFly}个飞。\n这是你第${flag:man_times}次和我对话。", @@ -353,43 +356,51 @@ main.floors.sample1= { "type": "setValue", "name": "status:atk", - "value": "status:atk*1.5" + "operator": "*=", + "value": "1.5" }, { "type": "setValue", "name": "status:def", - "value": "status:def*1.5" + "operator": "*=", + "value": "1.5" }, { "type": "setValue", "name": "status:hp", - "value": "status:hp+10*(status:atk+status:def)" + "operator": "+=", + "value": "10*(status:atk+status:def)" }, "\t[老人,man]再送你500金币,1000经验,1破2炸3飞!", { "type": "setValue", "name": "status:money", - "value": "status:money+500" + "operator": "+=", + "value": "500" }, { "type": "setValue", "name": "status:experience", - "value": "status:experience+1000" + "operator": "+=", + "value": "1000" }, { "type": "setValue", "name": "item:pickaxe", - "value": "item:pickaxe+1" + "operator": "+=", + "value": "1" }, { "type": "setValue", "name": "item:bomb", - "value": "item:bomb+2" + "operator": "+=", + "value": "2" }, { "type": "setValue", "name": "item:centerFly", - "value": "item:centerFly+3" + "operator": "+=", + "value": "3" }, "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,experience这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。", "\t[老人,man]你现在可以重新和我进行对话,进一步看到属性值的改变。" @@ -413,7 +424,8 @@ main.floors.sample1= { "type": "setValue", "name": "item:bigKey", - "value": "item:bigKey+1" + "operator": "+=", + "value": "1" }, "\t[老人,woman]我先走了,拜拜~", { @@ -439,12 +451,14 @@ main.floors.sample1= { "type": "setValue", "name": "status:money", - "value": "status:money-(9+flag:woman_times)" + "operator": "-=", + "value": "9+flag:woman_times" }, { "type": "setValue", "name": "item:yellowKey", - "value": "item:yellowKey+1" + "operator": "+=", + "value": "1" } ], "false": [ @@ -466,12 +480,14 @@ main.floors.sample1= { "type": "setValue", "name": "status:money", - "value": "status:money-(18+2*flag:woman_times)" + "operator": "-=", + "value": "18+2*flag:woman_times" }, { "type": "setValue", "name": "item:blueKey", - "value": "item:blueKey+1" + "operator": "+=", + "value": "1" } ], "false": [ @@ -493,12 +509,14 @@ main.floors.sample1= { "type": "setValue", "name": "status:money", - "value": "status:money-(36+4*flag:woman_times)" + "operator": "-=", + "value": "36+4*flag:woman_times" }, { "type": "setValue", "name": "item:redKey", - "value": "item:redKey+1" + "operator": "+=", + "value": "1" } ], "false": [ @@ -527,7 +545,8 @@ main.floors.sample1= { "type": "setValue", "name": "flag:woman_times", - "value": "flag:woman_times+1" + "operator": "+=", + "value": "1" }, { "type": "revisit" @@ -547,7 +566,8 @@ main.floors.sample1= { "type": "setValue", "name": "status:atk", - "value": "status:atk+flag:input" + "operator": "+=", + "value": "flag:input" }, { "type": "tip", @@ -559,153 +579,6 @@ main.floors.sample1= }, "\t[老人,womanMagician]具体可参见样板中本事件的写法。" ], - "10,12": null, - "12,12": [ - { - "type": "switch", - "condition": "flag:woman_times", - "caseList": [ - { - "case": "0", - "action": [ - "\t[老人,woman]现在使用switch改写这个例子" - ] - }, - { - "case": "8", - "action": [ - "\t[老人,woman]你购买的钥匙已经够多了,再继续卖给你的话我会有危险的。", - "\t[老人,woman]看在你贡献给我这么多钱的份上,送你一把大黄门钥匙吧,希望你能好好用它。", - { - "type": "setValue", - "name": "item:bigKey", - "value": "item:bigKey+1" - }, - "\t[老人,woman]我先走了,拜拜~", - { - "type": "hide", - "time": 500 - }, - { - "type": "exit" - } - ] - }, - { - "case": "default", - "action": [ - { - "type": "comment", - "text": "当没有符合的值的场合执行此事件" - }, - { - "type": "choices", - "text": "\t[老人,woman]少年,你需要钥匙吗?\n我这里有大把的!", - "choices": [ - { - "text": "黄钥匙(${9+flag:woman_times}金币)", - "action": [ - { - "type": "if", - "condition": "status:money>=9+flag:woman_times", - "true": [ - { - "type": "setValue", - "name": "status:money", - "value": "status:money-(9+flag:woman_times)" - }, - { - "type": "setValue", - "name": "item:yellowKey", - "value": "item:yellowKey+1" - } - ], - "false": [ - "\t[老人,woman]你的金钱不足!", - { - "type": "revisit" - } - ] - } - ] - }, - { - "text": "蓝钥匙(${18+2*flag:woman_times}金币)", - "action": [ - { - "type": "if", - "condition": "status:money>=18+2*flag:woman_times", - "true": [ - { - "type": "setValue", - "name": "status:money", - "value": "status:money-(18+2*flag:woman_times)" - }, - { - "type": "setValue", - "name": "item:blueKey", - "value": "item:blueKey+1" - } - ], - "false": [ - "\t[老人,woman]你的金钱不足!", - { - "type": "revisit" - } - ] - } - ] - }, - { - "text": "红钥匙(${36+4*flag:woman_times}金币)", - "action": [ - { - "type": "if", - "condition": "status:money>=36+4*flag:woman_times", - "true": [ - { - "type": "setValue", - "name": "status:money", - "value": "status:money-(36+4*flag:woman_times)" - }, - { - "type": "setValue", - "name": "item:redKey", - "value": "item:redKey+1" - } - ], - "false": [ - "\t[老人,woman]你的金钱不足!", - { - "type": "revisit" - } - ] - } - ] - }, - { - "text": "离开", - "action": [ - { - "type": "exit" - } - ] - } - ] - } - ] - } - ] - }, - { - "type": "setValue", - "name": "flag:woman_times", - "value": "flag:woman_times+1" - }, - { - "type": "revisit" - } - ] }, "changeFloor": { "4,12": { @@ -727,14 +600,16 @@ main.floors.sample1= { "type": "setValue", "name": "flag:door", - "value": "flag:door+1" + "operator": "+=", + "value": "1" } ], "11,6": [ { "type": "setValue", "name": "flag:door", - "value": "flag:door+1" + "operator": "+=", + "value": "1" } ] }, diff --git a/project/items.js b/project/items.js index 0abb08a9..68c5ec33 100644 --- a/project/items.js +++ b/project/items.js @@ -429,7 +429,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = { "type": "setValue", "name": "status:atk", - "value": "status:atk+1" + "operator": "+=", + "value": "1" } ] }, @@ -439,7 +440,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = { "type": "setValue", "name": "status:def", - "value": "status:def+2" + "operator": "+=", + "value": "2" } ] }, @@ -449,7 +451,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = { "type": "setValue", "name": "status:hp", - "value": "status:hp+200" + "operator": "+=", + "value": "200" } ] } @@ -476,12 +479,14 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = { "type": "setValue", "name": "item:lifeWand", - "value": "item:lifeWand-flag:input" + "operator": "-=", + "value": "flag:input" }, { "type": "setValue", "name": "status:hp", - "value": "status:hp+flag:input*100" + "operator": "+=", + "value": "flag:input*100" }, "成功使用${flag:input}次生命魔杖,恢复${flag:input*100}点生命。" ], diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 065948d4..c30d8086 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -18,7 +18,7 @@ (已完成!) 17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 19.(来自群友)建议给第一代全局商店的子选项像“显示选择项”一样提供图标、颜色和出现条件(注意长按的适配) -20. 很多事件对应的脚本有默认参数,但在事件中省略参数却会变成0,建议修复 +(已完成!) 20. 很多事件对应的脚本有默认参数,但在事件中省略参数却会变成0,建议修复 (已完成!) defaultGround全局可用 (已完成!) 对floorIds和图片进行检测 @@ -30,7 +30,10 @@ 绿钥匙进状态栏 图块ID不可全数字 怪物详细信息富文本化 -for和forEach事件 +(已完成!) for和forEach事件 +转向:顺时针/逆时针/反向 +事件转向 +(已完成!) 合并数值操作事件 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” @@ -64,7 +67,7 @@ for和forEach事件 (不处理) 28. 勇士的移动帧只有2,建议改为允许作者指定 (不处理) 29. 建议加一对“勇士开始抖动”和“勇士停止抖动”事件指令,来让勇士像图块一样原地抖动(即全局动画)。目前这个效果还只能通过隐藏勇士(或切换透明行走图)并转变图块/图层块来实现且只能用于事件处理中QAQ 30. 建议加一个“视角锁定”事件指令,从而允许用事件改变勇士位置、朝向或行走图时不会使视角重置到以其为中心,用于一些演出效果 -31. 楼层切换事件(绿点)一旦使用blockly编辑就会无视全塔属性的切换时间,只能手动在表格中删除时间(数据相关“楼层切换”事件指令也有这个问题,有群友还希望这个默认时间能像步时和音量一样由玩家设定来节约拆塔时间)。使用blockly编辑也无法做出“ignore:true”的效果(用来覆盖全塔属性的禁止穿透),建议优化 +(已完成!) 31. 楼层切换事件(绿点)一旦使用blockly编辑就会无视全塔属性的切换时间,只能手动在表格中删除时间(数据相关“楼层切换”事件指令也有这个问题,有群友还希望这个默认时间能像步时和音量一样由玩家设定来节约拆塔时间)。使用blockly编辑也无法做出“ignore:true”的效果(用来覆盖全塔属性的禁止穿透),建议优化 (已完成!) 32. (关于CC的来回回档优化版)据其称,清空存档后会出现bug,此外他使用了W键导致二倍斩失效了(js的switch语句遇到duplicate cases居然不报错吗...) (已完成!) 33. (疑似已被CC修复)楼传平面塔模式在记录离开位置时会错误地把读档也算作离开 (已完成!) 34. (接上)还有很多像这样在楼层切换中对读档处理不当的问题,如天气色调bgm(前两者应当像bgm一样提供keep勾选项) @@ -103,7 +106,7 @@ for和forEach事件 (已修复!) 65. “显隐贴图”的参数应为像素坐标而不是网格坐标,请修正在线文档的描述。同时建议加个淡入淡出时间参数,还建议贴图能像图片一样有透明度和被移动 (不处理) 66. 读档建议换个和floor.mp3不一样的音效 (不处理) 67. “画面震动”事件希望不要光左右晃,至少做成QQ窗口抖动的效果吧w -68. “自动存档”事件希望加一个“读此档后打断当前事件”的勾选项,否则这种自动存档用于强制战斗之前就没什么意义了,读了档还是会强制战斗。录像兼容性方面,不知道如果这种自动存档只用于事件开头是不是就不会有问题 +(不处理) 68. “自动存档”事件希望加一个“读此档后打断当前事件”的勾选项,否则这种自动存档用于强制战斗之前就没什么意义了,读了档还是会强制战斗。录像兼容性方面,不知道如果这种自动存档只用于事件开头是不是就不会有问题 (已修复!) 69. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内再行分歧),希望支持一下 70. “显隐勇士”事件指令希望加个淡入淡出时间参数 (不处理,请用等待事件) 1. 希望给core.drawTip()和core.playSound()出个同步版本,目前只有异步版本,后者如果要模拟同步就得绑在一个透明动画上 From 472bc4fc58bd65e581559b67fa1287810d4355bd Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 9 May 2020 17:58:12 +0800 Subject: [PATCH 41/70] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=BB=91=E5=86=B0?= =?UTF-8?q?=E5=92=8C=E5=A4=9A=E8=A1=8C=E6=96=87=E6=9C=AC=E7=BB=98=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/ui.js | 2 +- project/events.js | 112 ++++++++++++++++++++++----------------------- project/plugins.js | 2 +- 3 files changed, 57 insertions(+), 59 deletions(-) diff --git a/libs/ui.js b/libs/ui.js index 0cf54352..7c4549e0 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -867,7 +867,7 @@ ui.prototype.drawTextContent = function (ctx, content, config) { config.index = 0; config.currcolor = config.color; config.currfont = config.fontSize; - config.lineMargin = Math.max(0, config.lineHeight - config.fontSize); + config.lineMargin = Math.max(Math.round(config.fontSize / 4), config.lineHeight - config.fontSize); config.topMargin = parseInt(config.lineMargin / 2); config.lineMaxHeight = config.lineMargin + config.fontSize; config.offsetX = 0; diff --git a/project/events.js b/project/events.js index c9c7fae6..d98dcfda 100644 --- a/project/events.js +++ b/project/events.js @@ -163,84 +163,82 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = }, { "type": "if", - "condition": "core.canMoveHero()", + "condition": "core.getBgNumber() == 167", "true": [ - { - "type": "comment", - "text": "检测下一个点是否可通行" - }, - { - "type": "setValue", - "name": "flag:nx", - "value": "core.nextX()" - }, - { - "type": "setValue", - "name": "flag:ny", - "value": "core.nextY()" - }, { "type": "if", - "condition": "core.noPass(flag:nx, flag:ny)", + "condition": "core.canMoveHero()", "true": [ { "type": "comment", - "text": "不可通行,触发下一个点的事件" + "text": "检测下一个点是否可通行" }, { - "type": "trigger", - "loc": [ - "flag:nx", - "flag:ny" - ] - } - ], - "false": [ - { - "type": "comment", - "text": "可通行,先移动到下个点,然后检查阻激夹域,并尝试触发该点事件" + "type": "setValue", + "name": "flag:nx", + "value": "core.nextX()" }, { - "type": "moveHero", - "time": 80, - "steps": [ - "forward" - ] - }, - { - "type": "function", - "function": "function(){\ncore.checkBlock();\n}" - }, - { - "type": "comment", - "text": "【触发事件】如果该点存在事件则会立刻结束当前事件" - }, - { - "type": "trigger", - "loc": [ - "flag:nx", - "flag:ny" - ] - }, - { - "type": "comment", - "text": "如果该点不存在事件,则继续检测该点是否是滑冰点" + "type": "setValue", + "name": "flag:ny", + "value": "core.nextY()" }, { "type": "if", - "condition": "core.getBgNumber() == 167", + "condition": "core.noPass(flag:nx, flag:ny)", "true": [ + { + "type": "comment", + "text": "不可通行,触发下一个点的事件" + }, + { + "type": "trigger", + "loc": [ + "flag:nx", + "flag:ny" + ] + } + ], + "false": [ + { + "type": "comment", + "text": "可通行,先移动到下个点,然后检查阻激夹域,并尝试触发该点事件" + }, + { + "type": "moveHero", + "time": 80, + "steps": [ + "forward" + ] + }, + { + "type": "function", + "function": "function(){\ncore.checkBlock();\n}" + }, + { + "type": "comment", + "text": "【触发事件】如果该点存在事件则会立刻结束当前事件" + }, + { + "type": "trigger", + "loc": [ + "flag:nx", + "flag:ny" + ] + }, + { + "type": "comment", + "text": "如果该点不存在事件,则继续检测该点是否是滑冰点" + }, { "type": "function", "function": "function(){\ncore.insertAction(\"滑冰事件\",null,null,null,true)\n}" } - ], - "false": [] + ] } ] } - ], - "false": [] + ] } ], "回收钥匙商店": [ diff --git a/project/plugins.js b/project/plugins.js index 0d8cd268..b142ff03 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -181,7 +181,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = var text = core.material.items[item.id].text || "该道具暂无描述"; try { text = core.replaceText(text); } catch (e) {} for (var fontSize = 20; fontSize >= 8; fontSize -= 2) { - var config = { left: 10, fontSize: fontSize, maxWidth: 403, lineHeight: 1.4 }; + var config = { left: 10, fontSize: fontSize, maxWidth: 403 }; var height = core.getTextContentHeight(text, config); if (height <= 50) { config.top = (56 - height) / 2; From ced1ac34d3a6816ac5ef09104b668a2a6313744d Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 9 May 2020 18:10:12 +0800 Subject: [PATCH 42/70] Add lineHeight to setText --- _server/MotaAction.g4 | 13 +++++++------ libs/events.js | 2 +- libs/ui.js | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index ff52e465..f3044be3 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -531,13 +531,13 @@ return code; */; setText_s - : '设置剧情文本的属性' '位置' SetTextPosition_List '偏移像素' IntString? '对齐' TextAlign_List? BGNL? '标题颜色' ColorString? Colour '正文颜色' ColorString? Colour '背景色' EvalString? Colour BGNL? '粗体' B_1_List '标题字体大小' IntString? '正文字体大小' IntString? '打字间隔' IntString? '字符间距' IntString? Newline + : '设置剧情文本的属性' '位置' SetTextPosition_List '偏移像素' IntString? '对齐' TextAlign_List? BGNL? '标题颜色' ColorString? Colour '正文颜色' ColorString? Colour '背景色' EvalString? Colour BGNL? '粗体' B_1_List '标题字体大小' IntString? '正文字体大小' IntString? '行距' IntString? '打字间隔' IntString? '字符间距' IntString? Newline /* setText_s tooltip : setText:设置剧情文本的属性,颜色为RGB三元组或RGBA四元组,打字间隔为剧情文字添加的时间间隔,为整数或不填,字符间距为字符之间的距离,为整数或不填。 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=settext%EF%BC%9A%E8%AE%BE%E7%BD%AE%E5%89%A7%E6%83%85%E6%96%87%E6%9C%AC%E7%9A%84%E5%B1%9E%E6%80%A7 -default : [null,"",null,"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',null,"","","",""] +default : [null,"",null,"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',null,"","","","",""] SetTextPosition_List_0 =SetTextPosition_List_0==='null'?'': ', "position": "'+SetTextPosition_List_0+'"'; TextAlign_List_0 = TextAlign_List_0==='null'?'': ', "align": "'+TextAlign_List_0+'"'; var colorRe = MotaActionFunctions.pattern.colorRe; @@ -557,10 +557,11 @@ if (EvalString_0) { } IntString_1 = IntString_1 ? (', "titlefont": '+IntString_1) : ''; IntString_2 = IntString_2 ? (', "textfont": '+IntString_2) : ''; -IntString_3 = IntString_3 ? (', "time": '+IntString_3) : ''; -IntString_4 = IntString_4 ? (', "interval": '+IntString_4) : ''; +IntString_3 = IntString_3 ? (', "lineHeight": '+IntString_3) : ''; +IntString_4 = IntString_4 ? (', "time": '+IntString_4) : ''; +IntString_5 = IntString_5 ? (', "interval": '+IntString_5) : ''; B_1_List_0 = B_1_List_0==='null'?'':', "bold": '+B_1_List_0; -var code = '{"type": "setText"'+SetTextPosition_List_0+IntString_0+TextAlign_List_0+ColorString_0+ColorString_1+B_1_List_0+EvalString_0+IntString_1+IntString_2+IntString_3+IntString_4+'},\n'; +var code = '{"type": "setText"'+SetTextPosition_List_0+IntString_0+TextAlign_List_0+ColorString_0+ColorString_1+B_1_List_0+EvalString_0+IntString_1+IntString_2+IntString_3+IntString_4+IntString_5+'},\n'; return code; */; @@ -3047,7 +3048,7 @@ ActionParser.prototype.parseAction = function() { this.next = MotaActionBlocks['setText_s'].xmlText([ data.position,data.offset,data.align,data.title,'rgba('+data.title+')', data.text,'rgba('+data.text+')',data.background,'rgba('+data.background+')', - data.bold,data.titlefont,data.textfont,data.time,data.interval,this.next]); + data.bold,data.titlefont,data.textfont,data.lineHeight,data.time,data.interval,this.next]); break; case "tip": this.next = MotaActionBlocks['tip_s'].xmlText([ diff --git a/libs/events.js b/libs/events.js index b1daadb1..944572dd 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1232,7 +1232,7 @@ events.prototype._action_comment = function (data, x, y, prefix) { } events.prototype._action_setText = function (data, x, y, prefix) { - ["position", "offset", "align", "bold", "titlefont", "textfont", "time", "interval"].forEach(function (t) { + ["position", "offset", "align", "bold", "titlefont", "textfont", "lineHeight", "time", "interval"].forEach(function (t) { if (data[t] != null) core.status.textAttribute[t] = data[t]; }); ["background", "title", "text"].forEach(function (t) { diff --git a/libs/ui.js b/libs/ui.js index 7c4549e0..9605c2a4 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1166,7 +1166,7 @@ ui.prototype._drawTextBox_getHorizontalPosition = function (content, titleInfo, ui.prototype._drawTextBox_getVerticalPosition = function (content, titleInfo, posInfo, validWidth) { var textAttribute = core.status.textAttribute || core.initStatus.textAttribute; - var lineHeight = textAttribute.textfont + 6; + var lineHeight = textAttribute.lineHeight || (textAttribute.textfont + 6); var height = 45 + this.getTextContentHeight(content, { lineHeight: lineHeight, maxWidth: validWidth }); From 1072a134da5d6d50341b9daedd75b6eea762d914 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 9 May 2020 19:10:44 +0800 Subject: [PATCH 43/70] Add search to docs --- _docs/index.html | 23 +++++++++++------------ server.py | 10 ++++++++-- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/_docs/index.html b/_docs/index.html index 10679f3f..3e9754eb 100644 --- a/_docs/index.html +++ b/_docs/index.html @@ -23,18 +23,16 @@ // basepath: '../docs/', // Search Support - // search: { - // maxAge: 43200000, // 过期时间,单位毫秒,默认一天 - // paths: 'auto', - // placeholder: { - // '/en/': 'Search', - // '/': '搜索', - // }, - // noData: { - // '/en/': 'No Results', - // '/': '找不到结果', - // }, - // }, + search: { + maxAge: 43200000, // 过期时间,单位毫秒,默认一天 + paths: 'auto', + placeholder: { + '/': '搜索文档...', + }, + noData: { + '/': '找不到结果', + }, + }, // load sidebar from _sidebar.md loadSidebar: '_sidebar', @@ -46,5 +44,6 @@ } + diff --git a/server.py b/server.py index 7302d2ad..c6d279ff 100644 --- a/server.py +++ b/server.py @@ -24,7 +24,7 @@ except: p("需要flask才可使用本服务。\n安装方式:%s install flask" % ("pip3" if isPy3 else "pip")) exit(1) -app = Flask(__name__, static_folder='') +app = Flask(__name__, static_folder='__static__') app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0 @app.after_request @@ -45,7 +45,7 @@ def get_mimetype(path): return mimetypes.guess_type(path)[0] or 'application/octet-stream' def get_file(path): - if not os.path.exists(path): + if not os.path.isfile(path): abort(404) return None if not is_sub(path): @@ -61,6 +61,12 @@ def root(): @app.route('/', methods=['GET']) def static_file(path): + if os.path.isdir(path): + if not path.endswith('/'): path += '/' + path += 'index.html' + if not os.path.isfile(path): + abort(404) + return None return Response(get_file(path), mimetype = get_mimetype(path)) def process_request(): From 8caf1f9b35b489403cad2a7085704b3878d27be7 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 9 May 2020 20:33:59 +0800 Subject: [PATCH 44/70] =?UTF-8?q?\z[n]=E6=9A=82=E5=81=9C=E6=89=93=E5=AD=97?= =?UTF-8?q?=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _docs/element.md | 5 +++-- _server/editor_blockly.js | 8 ++++---- libs/ui.js | 29 +++++++++++++++++++++++++---- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/_docs/element.md b/_docs/element.md index 2fd343e1..a43a5a9a 100644 --- a/_docs/element.md +++ b/_docs/element.md @@ -282,13 +282,14 @@ floorId指定的是目标楼层的唯一标识符(ID)。 - 使用`${}`来计算一个表达式的值,如`${status:atk+status:def}`。 - 使用`\f[...]`来同时插入一张立绘图,如`\f[1.png,100,200]`。 - 使用`\\i[...]`来在对话框中绘制一个图标,如`\\i[fly]`。 -- 使用`\\c[...]`来修改字体大小,如`\\b[16]`。 +- 使用`\\c[...]`来修改字体大小,如`\\c[16]`。 - 使用`\\d`来加粗或者取消粗体。 - 使用`\\e`来加斜体或取消斜体。 +- 使用`\\z[...]`来添加打字中的暂停效果。 从V2.5.2开始,也允许绘制一张头像图在对话框中,只要通过`\t[1.png]`或`\t[标题,1.png]`的写法。 -**使用`\\i,\\c,\\d,\\e`时请注意:在事件块中,允许只写一个反斜杠`\`,系统会自动转义成`\\`;但是在脚本中必须两个反斜杠都写上!** +**使用`\\i,\\c,\\d,\\e,\\z`时请注意:在事件块中,允许只写一个反斜杠`\`,系统会自动转义成`\\`;但是在脚本中必须两个反斜杠都写上!** 详细信息请参见[剧情文本控制](event#text:显示一段文字(剧情))中的说明。 diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 8445df48..12c70b63 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -410,7 +410,7 @@ function omitedcheckUpdateFunction(event) { } } try { - var code = Blockly.JavaScript.workspaceToCode(workspace).replace(/\\\\(i|c|d|e)/g, '\\\\\\\\$1'); + var code = Blockly.JavaScript.workspaceToCode(workspace).replace(/\\\\(i|c|d|e|z)/g, '\\\\\\\\$1'); codeAreaHL.setValue(code); } catch (error) { codeAreaHL.setValue(String(error)); @@ -565,7 +565,7 @@ function omitedcheckUpdateFunction(event) { MotaActionFunctions.parse( eval('obj=' + codeAreaHL.getValue().replace(/[<>&]/g, function (c) { return {'<': '<', '>': '>', '&': '&'}[c]; - }).replace(/\\(r|f|i|c|d|e)/g,'\\\\$1')), + }).replace(/\\(r|f|i|c|d|e|z)/g,'\\\\$1')), document.getElementById('entryType').value ); } @@ -639,7 +639,7 @@ function omitedcheckUpdateFunction(event) { return; } var code = Blockly.JavaScript.workspaceToCode(editor_blockly.workspace); - code = code.replace(/\\(i|c|d|e)/g, '\\\\$1'); + code = code.replace(/\\(i|c|d|e|z)/g, '\\\\$1'); eval('var obj=' + code); if (this.checkAsync(obj) && confirm("警告!存在不等待执行完毕的事件但却没有用【等待所有异步事件处理完毕】来等待" + "它们执行完毕,这样可能会导致录像检测系统出问题。\n你要返回修改么?")) return; @@ -690,7 +690,7 @@ function omitedcheckUpdateFunction(event) { ]; if (b && types.indexOf(b.type)>=0) { try { - var code = "[" + Blockly.JavaScript.blockToCode(b).replace(/\\(i|c|d|e)/g, '\\\\$1') + "]"; + var code = "[" + Blockly.JavaScript.blockToCode(b).replace(/\\(i|c|d|e|z)/g, '\\\\$1') + "]"; eval("var obj="+code); if (obj.length > 0 && b.type == 'waitContext_2') { var dt = obj[0]; diff --git a/libs/ui.js b/libs/ui.js index 9605c2a4..8f72c271 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -907,9 +907,11 @@ ui.prototype._drawTextContent_draw = function (ctx, tempCtx, content, config) { var _drawNext = function () { if (config.index >= config.blocks.length) return false; var block = config.blocks[config.index++]; - ctx.drawImage(tempCtx.canvas, block.left, block.top, block.width, block.height, - config.left + block.left + block.marginLeft, config.top + block.top + block.marginTop, - block.width, block.height); + if (block != null) { + ctx.drawImage(tempCtx.canvas, block.left, block.top, block.width, block.height, + config.left + block.left + block.marginLeft, config.top + block.top + block.marginTop, + block.width, block.height); + } return true; } if (config.time == 0) { @@ -961,6 +963,7 @@ ui.prototype._drawTextContent_drawChar = function (tempCtx, content, config, ch) tempCtx.font = this._buildFont(config.currfont, config.bold, config.italic); return true; } + if (c == 'z') return this._drawTextContent_emptyChar(tempCtx, content, config); } // \\e 斜体切换 if (ch == '\\' && content.charAt(config.index)=='e') { @@ -994,6 +997,7 @@ ui.prototype._drawTextContent_newLine = function (tempCtx, config) { marginLeft = totalWidth - width; config.blocks.forEach(function (b) { + if (b == null) return; if (b.line == config.line) { b.marginLeft = marginLeft; // b.marginTop = 0; // 上对齐 @@ -1038,6 +1042,23 @@ ui.prototype._drawTextContent_changeFont = function (tempCtx, content, config) { return this._drawTextContent_next(tempCtx, content, config); } +ui.prototype._drawTextContent_emptyChar = function (tempCtx, content, config) { + config.index++; + var index = config.index, index2; + if (content.charAt(index) == '[' && ((index2=content.indexOf(']', index))>=0)) { + var str = content.substring(index+1, index2); + if (/^\d+$/.test(str)) { + var value = parseInt(str); + for (var i = 0; i < value; ++i) { + config.blocks.push(null); // Empty char + } + } else config.blocks.push(null); + config.index = index2 + 1; + } + else config.blocks.push(null); + return this._drawTextContent_next(tempCtx, content, config); +} + ui.prototype._drawTextContent_drawIcon = function (tempCtx, content, config) { // 绘制一个 \i 效果 var index = config.index, index2; @@ -1072,7 +1093,7 @@ ui.prototype.getTextContentHeight = function (content, config) { } ui.prototype._getRealContent = function (content) { - return content.replace(/(\r|\\(r|c|d|e))(\[.*?])?/g, "").replace(/(\\i)(\[.*?])?/g, "占1"); + return content.replace(/(\r|\\(r|c|d|e|z))(\[.*?])?/g, "").replace(/(\\i)(\[.*?])?/g, "占1"); } ////// 绘制一个对话框 ////// From 461caa933edd91b55b5abf609b51d1aded5f10fc Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 9 May 2020 22:25:35 +0800 Subject: [PATCH 45/70] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B7=9F=E9=9A=8F?= =?UTF-8?q?=E8=80=85=E8=81=9A=E9=9B=86=E5=92=8C=E5=90=8E=E9=80=80=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/control.js | 5 +++-- libs/events.js | 15 +++++++-------- project/functions.js | 22 ++++++++++++---------- project/plugins.js | 4 ++-- v2.x-final更新.txt | 5 +++-- 5 files changed, 27 insertions(+), 24 deletions(-) diff --git a/libs/control.js b/libs/control.js index 0218da0b..a4c57856 100644 --- a/libs/control.js +++ b/libs/control.js @@ -838,8 +838,8 @@ control.prototype._drawHero_getDrawObjs = function (direction, x, y, status, off "width": core.material.images.images[t.name].width/4, "height": core.material.images.images[t.name].height/4, "heroIcon": heroIconArr[t.direction], - "posx": 32*t.x - core.bigmap.offsetX + (t.stop?0:core.utils.scan[t.direction].x*offset), - "posy": 32*t.y - core.bigmap.offsetY + (t.stop?0:core.utils.scan[t.direction].y*offset), + "posx": 32*t.x - core.bigmap.offsetX + (t.stop?0:core.utils.scan[t.direction].x*Math.abs(offset)), + "posy": 32*t.y - core.bigmap.offsetY + (t.stop?0:core.utils.scan[t.direction].y*Math.abs(offset)), "status": t.stop?"stop":status, "index": index++ }); @@ -1723,6 +1723,7 @@ control.prototype._doSL_load_afterGet = function (id, data) { } core.ui.closePanel(); core.loadData(data, function() { + core.removeFlag('__fromLoad__'); core.drawTip("读档成功"); if (id!="autoSave") { core.saves.saveIndex=id; diff --git a/libs/events.js b/libs/events.js index 944572dd..5747a213 100644 --- a/libs/events.js +++ b/libs/events.js @@ -563,13 +563,12 @@ events.prototype._sys_changeFloor = function (data, callback) { } ////// 楼层切换 ////// -events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback, fromLoad) { +events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback) { var info = this._changeFloor_getInfo(floorId, stair, heroLoc, time); if (info == null) { if (callback) callback(); return; } - info.fromLoad = fromLoad; floorId = info.floorId; info.locked = core.status.lockControl; @@ -666,7 +665,7 @@ events.prototype._changeFloor_beforeChange = function (info, callback) { } events.prototype._changeFloor_changing = function (info, callback) { - this.changingFloor(info.floorId, info.heroLoc, info.fromLoad); + this.changingFloor(info.floorId, info.heroLoc); if (info.time == 0) this._changeFloor_afterChange(info, callback); @@ -679,19 +678,19 @@ events.prototype._changeFloor_changing = function (info, callback) { events.prototype._changeFloor_afterChange = function (info, callback) { if (!info.locked) core.unLockControl(); core.status.replay.animate = false; - core.events.afterChangeFloor(info.floorId, info.fromLoad); + core.events.afterChangeFloor(info.floorId); if (callback) callback(); } -events.prototype.changingFloor = function (floorId, heroLoc, fromLoad) { - this.eventdata.changingFloor(floorId, heroLoc, fromLoad); +events.prototype.changingFloor = function (floorId, heroLoc) { + this.eventdata.changingFloor(floorId, heroLoc); } ////// 转换楼层结束的事件 ////// -events.prototype.afterChangeFloor = function (floorId, fromLoad) { +events.prototype.afterChangeFloor = function (floorId) { if (main.mode != 'play') return; - return this.eventdata.afterChangeFloor(floorId, fromLoad); + return this.eventdata.afterChangeFloor(floorId); } ////// 是否到达过某个楼层 ////// diff --git a/project/functions.js b/project/functions.js index 0cd9f145..ebd1681a 100644 --- a/project/functions.js +++ b/project/functions.js @@ -92,15 +92,16 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = }); }) }, - "changingFloor": function (floorId, heroLoc, fromLoad) { + "changingFloor": function (floorId, heroLoc) { // 正在切换楼层过程中执行的操作;此函数的执行时间是“屏幕完全变黑“的那一刻 - // floorId为要切换到的楼层ID;heroLoc表示勇士切换到的位置;fromLoad表示是否是从读档造成的切换 + // floorId为要切换到的楼层ID;heroLoc表示勇士切换到的位置 // ---------- 此时还没有进行切换,当前floorId还是原来的 ---------- // var currentId = core.status.floorId || null; // 获得当前的floorId,可能为null + var fromLoad = core.hasFlag('__fromLoad__'); // 是否是读档造成的切换 if (!fromLoad) { if (!core.hasFlag("__leaveLoc__")) core.setFlag("__leaveLoc__", {}); - if (currentId != null) core.getFlag("__leaveLoc__")[currentId] = core.status.hero.loc; + if (currentId != null) core.getFlag("__leaveLoc__")[currentId] = core.clone(core.status.hero.loc); } // 可以对currentId进行判定,比如删除某些自定义图层等 @@ -110,6 +111,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 重置画布尺寸 core.maps.resizeMap(floorId); + // 设置勇士的位置 + core.status.hero.loc = heroLoc; // 检查重生怪并重置 if (!fromLoad) { core.status.maps[floorId].blocks.forEach(function (block) { @@ -117,10 +120,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = block.disable = false; } }); + core.control.gatherFollowers(); } - // 设置勇士的位置 - core.status.hero.loc = heroLoc; - core.control.gatherFollowers(); // ---------- 重绘新地图;这一步将会设置core.status.floorId ---------- // core.drawMap(floorId); @@ -149,12 +150,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // ...可以新增一些其他内容,比如创建个画布在右上角显示什么内容等等 }, - "afterChangeFloor": function (floorId, fromLoad) { + "afterChangeFloor": function (floorId) { // 转换楼层结束的事件;此函数会在整个楼层切换完全结束后再执行 - // floorId是切换到的楼层;fromLoad若为true则代表是从读档行为造成的楼层切换 + // floorId是切换到的楼层 // 如果是读档,则进行检查(是否需要恢复事件) - if (fromLoad) { + if (core.hasFlag('__fromLoad__')) { core.events.recoverEvents(core.getFlag("__events__")); core.removeFlag("__events__"); } else { @@ -989,6 +990,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.material.icons.hero.width = core.material.images.images[icon].width / 4; core.material.icons.hero.height = core.material.images.images[icon].height / 4; } + core.setFlag('__fromLoad__', true); // TODO:增加自己的一些读档处理 @@ -1000,7 +1002,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } if (callback) callback(); - }, true); + }); }, "updateStatusBar": function () { // 更新状态栏 diff --git a/project/plugins.js b/project/plugins.js index b142ff03..3f25e0f6 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -558,8 +558,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = }; // 更变楼层的行为追加,重置镜头 - events.prototype.changingFloor = function (floorId, heroLoc, fromLoad) { - this.eventdata.changingFloor(floorId, heroLoc, fromLoad); + events.prototype.changingFloor = function (floorId, heroLoc) { + this.eventdata.changingFloor(floorId, heroLoc); core.plugin.camera.resetCamera(); }; diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index c30d8086..5a8fd939 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -16,7 +16,7 @@ (已完成!) 15. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内由作者根据flag再行分歧),建议支持一下 (已完成!) 16. “绘制描边文本”事件建议加一个“描边颜色”参数,目前只能描黑边 (已完成!) 17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 -18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 +(已完成!) 18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 19.(来自群友)建议给第一代全局商店的子选项像“显示选择项”一样提供图标、颜色和出现条件(注意长按的适配) (已完成!) 20. 很多事件对应的脚本有默认参数,但在事件中省略参数却会变成0,建议修复 @@ -34,6 +34,7 @@ 转向:顺时针/逆时针/反向 事件转向 (已完成!) 合并数值操作事件 +fromLoad,聚集问题 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” @@ -113,7 +114,7 @@ (已完成!) 72. “绘制描边文本”事件希望加一个“描边颜色”参数,目前只能描黑边 73. 画弧既然有现成的API,那建议也作为UI绘制事件提供。甚至希望提供画椭圆功能(长短轴水平或铅直的那种)参数为中心坐标和长短轴长度 (已完成!) 74. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 -75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 +(已完成!) 75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件 (不处理) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符) (已完成!) 78. 建议移除core.setInitData()并将其内容写在startText以方便作者仿照修改 From 44f71591b07d8cbaafc86f5c83b44ad71b5e620d Mon Sep 17 00:00:00 2001 From: YouWei Zhao Date: Sat, 9 May 2020 22:29:41 +0800 Subject: [PATCH 46/70] remove _file_unsorted --- _server/editor_file.js | 904 +++++++++++++++++++++++++++++++- _server/editor_file_unsorted.js | 904 -------------------------------- editor-mobile.html | 1 - editor.html | 1 - 4 files changed, 903 insertions(+), 907 deletions(-) delete mode 100644 _server/editor_file_unsorted.js diff --git a/_server/editor_file.js b/_server/editor_file.js index f737f910..edf8ae27 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -8,6 +8,8 @@ editor_file_wrapper = function (editor) { * } * 的形式记录所有更改过的文件,save时写入 * 的内容暂时还没想好 + * + * Mark相关的思路搁置 */ this.fileMark = {} } @@ -136,6 +138,7 @@ editor_file_wrapper = function (editor) { // 给追加素材使用 } + // Mark相关的思路搁置 editor_file_proto.prototype.addMark = function (name) { // 把name对应的文件在editor.file.fileMark添加标记 } @@ -143,6 +146,905 @@ editor_file_wrapper = function (editor) { editor_file_proto.prototype.save = function (callback) { // 根据 editor.file.fileMark 把游戏对象格式化写入文件 } +} + +///////////////////////////////////////////////////////////////////////// -} \ No newline at end of file +editor_file = function (editor, callback) { + + var editor_file = new editor_file_proto(); + editor.file=editor_file; + + editor.file.loadCommentjs(callback); + + editor.file.saveFloorFile = function (callback) { + //callback(err:String) + checkCallback(callback); + /* if (!isset(editor.currentFloorId) || !isset(editor.currentFloorData)) { + callback('未选中文件或无数据'); + } */ + var filename = 'project/floors/' + editor.currentFloorId + '.js'; + var datastr = ['main.floors.', editor.currentFloorId, '=\n']; + + if (core.floorIds.indexOf(editor.currentFloorId) >= 0) { + for(var ii=0,name;name=['map','bgmap','fgmap'][ii];ii++){ + var mapArray=editor[name].map(function (v) { + return v.map(function (v) { + return v.idnum || v || 0 + }) + }); + editor.currentFloorData[name]=mapArray; + } + } + editor.file.saveFloor(editor.currentFloorData, callback) + } + + /////////////////////////////////////////////////////////////////////////// + + editor.file.saveNewFile = function (saveFilename, callback) { + //saveAsFilename不含'/'不含'.js' + checkCallback(callback); + var currData=editor.currentFloorData; + var saveStatus = document.getElementById('newMapStatus').checked; + + var title = saveStatus?currData.title:"新建楼层"; + var name = saveStatus?currData.name:"0"; + if (/^mt\d+$/i.test(saveFilename)) { + name = saveFilename.substring(2); + title = "主塔 "+name+" 层"; + } + + var width = parseInt(document.getElementById('newMapWidth').value); + var height = parseInt(document.getElementById('newMapHeight').value); + var row = [], map = []; + for (var i=0;i0) + saveSetting('icons', iconActions, tempcallback); + else tempcallback(null); + + saveSetting('maps', mapActions, tempcallback); + + if (image=='items') + saveSetting('items', templateActions, tempcallback); + else if (image.indexOf('enemy')==0) + saveSetting('enemys', templateActions, tempcallback); + else tempcallback(null); + } + + editor.file.registerAutotile = function (filename, callback) { + var idnum = 140; + while (editor.core.maps.blocksInfo[idnum]) idnum++; + + var iconActions = []; + var mapActions = []; + + iconActions.push(["add", "['autotile']['" + filename + "']", 0]); + mapActions.push(["add", "['" + idnum + "']", {'cls': 'autotile', 'id': filename, 'noPass': true}]); + + var templist = []; + var tempcallback = function (err) { + templist.push(err); + if (templist.length == 2) { + if (templist[0] != null || templist[1] != null) + callback((templist[0] || '') + '\n' + (templist[1] || '')); + //这里如果一个成功一个失败会出严重bug + else + callback(null); + } + } + + saveSetting('icons', iconActions, tempcallback); + saveSetting('maps', mapActions, tempcallback); + } + + editor.file.changeIdAndIdnum = function (id, idnum, info, callback) { + checkCallback(callback); + + var changeOrNew=core.isset(editor_mode.info.id)?'change':'new' + if(changeOrNew=='new'){ + //检查maps中是否有重复的idnum或id + for (var ii in editor.core.maps.blocksInfo) { + if (ii == idnum) { + callback('idnum重复了'); + return; + } + if (editor.core.maps.blocksInfo[ii].id == id) { + callback('id重复了'); + return; + } + } + var templist = []; + var tempcallback = function (err) { + templist.push(err); + if (templist.length == 2) { + if (templist[0] != null || templist[1] != null) + callback((templist[0] || '') + '\n' + (templist[1] || '')); + //这里如果一个成功一个失败会出严重bug + else + callback(null); + } + } + saveSetting('maps', [["add", "['" + idnum + "']", {'cls': info.images, 'id': id}]], tempcallback); + saveSetting('icons', [["add", "['" + info.images + "']['" + id + "']", info.y]], tempcallback); + if (info.images === 'items') { + saveSetting('items', [["add", "['items']['" + id + "']", editor.file.comment._data.items_template]], function (err) { + if (err) { + printe(err); + throw(err) + } + }); + } + if (info.images === 'enemys' || info.images === 'enemy48') { + saveSetting('enemys', [["add", "['" + id + "']", editor.file.comment._data.enemys_template]], function (err) { + if (err) { + printe(err); + throw(err) + } + }); + } + + callback(null); + + }else{ + //检查maps中是否有重复的idnum或id + for (var ii in editor.core.maps.blocksInfo) { + if (editor.core.maps.blocksInfo[ii].id == id) { + callback('id重复了'); + return; + } + } + idnum = info.idnum; + + maps_90f36752_8815_4be8_b32b_d7fad1d0542e[idnum].id = id; + + var arr=[icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1,items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a,{enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80:enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80}] + arr.forEach(function (obj) { + for(var jj in obj){ + var ii=obj[jj] + if (ii.hasOwnProperty(info.id)){ + ii[id]=ii[info.id]; + delete(ii[info.id]); + } + } + }); + + editor.file.save_icons_maps_items_enemys(callback) + + } + } + //callback(err:String) + editor.file.editItem = function (id, actionList, callback) { + /*actionList:[ + ["change","['items']['name']","红宝石的新名字"], + ["add","['items']['新的和name同级的属性']",123], + ["change","['itemEffectTip']","',攻击力+'+editor.core.values.redJewel"], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + var tempindex = value[1].indexOf(']') + 1; + value[1] = [value[1].slice(0, tempindex), "['" + id + "']", value[1].slice(tempindex)].join(''); + }); + saveSetting('items', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj_ = {}; + Object.keys(editor.file.comment._data.items._data).forEach(function (v) { + if (isset(editor.core.items[v][id]) && v !== 'items') + locObj_[v] = editor.core.items[v][id]; + else + locObj_[v] = null; + }); + locObj_['items'] = (function () { + var locObj = Object.assign({}, editor.core.items.items[id]); + Object.keys(editor.file.comment._data.items._data.items._data).forEach(function (v) { + if (!isset(editor.core.items.items[id][v])) + locObj[v] = null; + }); + return locObj; + })(); + return locObj_; + })(), + editor.file.comment._data.items, + null]); + } + //只有items.cls是items的才有itemEffect和itemEffectTip,keys和constants和tools只有items + } + //callback([obj,commentObj,err:String]) + editor.file.editEnemy = function (id, actionList, callback) { + /*actionList:[ + ["change","['name']","初级巫师的新名字"], + ["add","['新的和name同级的属性']",123], + ["change","['bomb']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + value[1] = "['" + id + "']" + value[1]; + }); + saveSetting('enemys', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = Object.assign({}, editor.core.enemys.enemys[id]); + Object.keys(editor.file.comment._data.enemys._data).forEach(function (v) { + if (!isset(editor.core.enemys.enemys[id][v])) + /* locObj[v]=editor.core.enemys.enemys[id][v]; + else */ + locObj[v] = null; + }); + return locObj; + })(), + editor.file.comment._data.enemys, + null]); + } + } + //callback([obj,commentObj,err:String]) + + editor.file.editMapBlocksInfo = function (idnum, actionList, callback) { + /*actionList:[ + ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], + ["change","['afterBattle']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + var tempmap=[]; + for(var ii=0;ii=editor.core.icons.tilesetStartOffset && !isset(editor.core.maps.blocksInfo[idnum]) && tempmap.indexOf(idnum)===-1){ + actionList.splice(ii,0,["add","['" + idnum + "']",{"cls": "tileset", "id": "X"+idnum, "noPass": true}]); + tempmap.push(idnum); + ii++; + } + value[1] = "['" + idnum + "']" + value[1]; + } + saveSetting('maps', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var sourceobj=editor.core.maps.blocksInfo[idnum]; + if(!isset(sourceobj) && idnum>=editor.core.icons.tilesetStartOffset)sourceobj={"cls": "tileset", "id": "X"+idnum, "noPass": true} + var locObj = Object.assign({}, sourceobj); + Object.keys(editor.file.comment._data.maps._data).forEach(function (v) { + if (!isset(sourceobj[v])) + locObj[v] = null; + }); + locObj.idnum = idnum; + return locObj; + })(), + editor.file.comment._data.maps, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editLoc = function (x, y, actionList, callback) { + /*actionList:[ + ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], + ["change","['afterBattle']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + if(/\['autoEvent'\]\['\d+'\]$/.test(value[1]))value[1]=value[1].replace(/\['\d+'\]$/,function(v){return "['" + x + "," + y + "']"+v}) + else value[1] = value[1] + "['" + x + "," + y + "']"; + }); + saveSetting('floorloc', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = {}; + Object.keys(editor.file.comment._data.floors._data.loc._data).forEach(function (v) { + if (isset(editor.currentFloorData[v][x + ',' + y])) + locObj[v] = editor.currentFloorData[v][x + ',' + y]; + else + locObj[v] = null; + }); + return locObj; + })(), + editor.file.comment._data.floors._data.loc, + null]); + } + + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editFloor = function (actionList, callback) { + /*actionList:[ + ["change","['title']",'样板 3 层'], + ["change","['color']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('floors', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = Object.assign({}, editor.currentFloorData); + Object.keys(editor.file.comment._data.floors._data.floor._data).forEach(function (v) { + if (!isset(editor.currentFloorData[v])) + /* locObj[v]=editor.currentFloorData[v]; + else */ + locObj[v] = null; + }); + Object.keys(editor.file.comment._data.floors._data.loc._data).forEach(function (v) { + delete(locObj[v]); + }); + delete(locObj.map); + delete(locObj.bgmap); + delete(locObj.fgmap); + return locObj; + })(), + editor.file.comment._data.floors._data.floor, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editTower = function (actionList, callback) { + /*actionList:[ + ["change","['firstData']['version']",'Ver 1.0.1 (Beta)'], + ["change","['values']['lavaDamage']",200], + ] + 为[]时只查询不修改 + */ + var data_obj = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d; + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('data', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + //var locObj=Object.assign({'main':{}},editor.core.data); + var locObj = Object.assign({}, data_obj, {'main': {}}); + Object.keys(editor.file.dataComment._data.main._data).forEach(function (v) { + if (isset(editor.main[v])) + locObj.main[v] = data_obj.main[v]; + else + locObj.main[v] = null; + }); + return locObj; + })(), + editor.file.dataComment, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + var fmap = {}; + var fjson = JSON.stringify(functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a, function (k, v) { + if (v instanceof Function) { + var id_ = editor.util.guid(); + fmap[id_] = v.toString(); + return id_; + } else return v + }, 4); + var fobj = JSON.parse(fjson); + editor.file.functionsMap = fmap; + editor.file.functionsJSON = fjson; + var buildlocobj = function (locObj) { + for (var key in locObj) { + if (typeof(locObj[key]) !== typeof('')) buildlocobj(locObj[key]); + else locObj[key] = fmap[locObj[key]]; + } + }; + + editor.file.editFunctions = function (actionList, callback) { + /*actionList:[ + ["change","['events']['afterChangeLight']","function(x,y){console.log(x,y)}"], + ["change","['ui']['drawAbout']","function(){...}"], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('functions', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = JSON.parse(fjson); + buildlocobj(locObj); + return locObj; + })(), + editor.file.functionsComment, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editCommonEvent = function (actionList, callback) { + /*actionList:[ + ["change","['test']",['123']], + ] + 为[]时只查询不修改 + */ + var data_obj = events_c12a15a8_c380_4b28_8144_256cba95f760.commonEvent; + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + value[1] = "['commonEvent']" + value[1]; + }); + saveSetting('events', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + Object.assign({},data_obj), + editor.file.eventsComment._data.commonEvent, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + var plmap = {}; + var pljson = JSON.stringify(plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1, function (k, v) { + if (v instanceof Function) { + var id_ = editor.util.guid(); + plmap[id_] = v.toString(); + return id_; + } else if(v===null){ + var id_ = editor.util.guid(); + plmap[id_] = null; + return id_; + } return v + }, 4); + var plobj = JSON.parse(pljson); + editor.file.pluginsMap = plmap; + editor.file.pluginsObj = plobj; + var buildpllocobj = function (locObj) { + for (var key in locObj) { + if (typeof(locObj[key]) !== typeof('')) buildpllocobj(locObj[key]); + else locObj[key] = plmap[locObj[key]]; + } + }; + + editor.file.editPlugins = function (actionList, callback) { + /*actionList:[ + ["change","['test']","function(x,y){console.log(x,y)}"], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('plugins', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = JSON.parse(JSON.stringify(plobj)); + buildpllocobj(locObj); + return locObj; + })(), + editor.file.pluginsComment, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + var isset = function (val) { + if (val == undefined || val == null) { + return false; + } + return true + } + + var checkCallback=function(callback){ + if (!isset(callback)) { + printe('未设置callback'); + throw('未设置callback') + } + } + + var encode = editor.util.encode64; + + editor.file.save_icons_maps_items_enemys=function(callback){ + var check=[] + saveSetting('icons',[],function(err){ + if(err){callback(err);return;} + check.push('icons') + if(check.length==4)callback(null); + }) + saveSetting('maps',[],function(err){ + if(err){callback(err);return;} + check.push('maps') + if(check.length==4)callback(null); + }) + saveSetting('items',[],function(err){ + if(err){callback(err);return;} + check.push('items') + if(check.length==4)callback(null); + }) + saveSetting('enemys',[],function(err){ + if(err){callback(err);return;} + check.push('enemys') + if(check.length==4)callback(null); + }) + } + + var saveSetting = function (file, actionList, callback) { + //console.log(file); + //console.log(actionList); + editor.file.alertWhenCompress(); + + if (file == 'icons') { + actionList.forEach(function (value) { + eval("icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = \n'; + datastr += JSON.stringify(icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1, null, '\t'); + fs.writeFile('project/icons.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'maps') { + actionList.forEach(function (value) { + eval("maps_90f36752_8815_4be8_b32b_d7fad1d0542e" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = \n'; + //datastr+=JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e,null,4); + + var emap = {}; + var estr = JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e, function (k, v) { + if (v.id != null) { + var id_ = editor.util.guid(); + emap[id_] = JSON.stringify(v); + return id_; + } else return v + }, '\t'); + for (var id_ in emap) { + estr = estr.replace('"' + id_ + '"', emap[id_]) + } + datastr += estr; + + fs.writeFile('project/maps.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'items') { + actionList.forEach(function (value) { + eval("items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = \n'; + datastr += JSON.stringify(items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a, null, '\t'); + fs.writeFile('project/items.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'enemys') { + actionList.forEach(function (value) { + eval("enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = \n'; + var emap = {}; + var estr = JSON.stringify(enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80, function (k, v) { + if (v.hp != null) { + var id_ = editor.util.guid(); + emap[id_] = JSON.stringify(v); + return id_; + } else return v + }, '\t'); + for (var id_ in emap) { + estr = estr.replace('"' + id_ + '"', emap[id_]) + } + datastr += estr; + fs.writeFile('project/enemys.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'data') { + actionList.forEach(function (value) { + eval("data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d" + value[1] + '=' + JSON.stringify(value[2])); + }); + if (data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds.indexOf(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId) < 0) + data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds[0]; + var datastr = 'var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = \n'; + datastr += JSON.stringify(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d, null, '\t'); + fs.writeFile('project/data.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'functions') { + actionList.forEach(function (value) { + eval("fmap[fobj" + value[1] + ']=' + JSON.stringify(value[2])); + }); + var fraw = fjson; + for (var id_ in fmap) { + fraw = fraw.replace('"' + id_ + '"', fmap[id_]) + } + var datastr = 'var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = \n'; + datastr += fraw; + fs.writeFile('project/functions.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'floorloc') { + actionList.forEach(function (value) { + // 检测null/undefined + if(/\['autoEvent'\]\['\d+,\d+'\]\['\d+'\]$/.test(value[1])){ + var tempvalue=value[1].replace(/\['\d+'\]$/,'') + tempvalue="editor.currentFloorData" +tempvalue + tempvalue=tempvalue+'='+tempvalue+'||{}' + eval(tempvalue) + } + if (value[2]==null && value[0]!=='add') + eval("delete editor.currentFloorData" + value[1]); + else + eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); + }); + editor.file.saveFloorFile(callback); + return; + } + if (file == 'floors') { + actionList.forEach(function (value) { + eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); + }); + editor.file.saveFloorFile(callback); + return; + } + if (file == 'events') { + actionList.forEach(function (value) { + eval("events_c12a15a8_c380_4b28_8144_256cba95f760" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var events_c12a15a8_c380_4b28_8144_256cba95f760 = \n'; + datastr += JSON.stringify(events_c12a15a8_c380_4b28_8144_256cba95f760, null, '\t'); + fs.writeFile('project/events.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'plugins') { + actionList.forEach(function (value) { + if(value[0]==='add'){ + eval("plobj" + value[1] + '=' + JSON.stringify(value[2])); + } else { + eval("plmap[plobj" + value[1] + ']=' + JSON.stringify(value[2])); + } + }); + var plraw = JSON.stringify(plobj,null,4); + for (var id_ in plmap) { + plraw = plraw.replace('"' + id_ + '"', plmap[id_]) + } + var datastr = 'var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = \n'; + datastr += plraw; + fs.writeFile('project/plugins.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + callback('出错了,要设置的文件名不识别'); + } + + editor.file.saveSetting = saveSetting; + + return editor_file; +} +//editor_file = editor_file(editor); \ No newline at end of file diff --git a/_server/editor_file_unsorted.js b/_server/editor_file_unsorted.js deleted file mode 100644 index 7ee709c8..00000000 --- a/_server/editor_file_unsorted.js +++ /dev/null @@ -1,904 +0,0 @@ -editor_file = function (editor, callback) { - - var editor_file = new editor_file_proto(); - editor.file=editor_file; - - editor.file.loadCommentjs(callback); - - editor.file.saveFloorFile = function (callback) { - //callback(err:String) - checkCallback(callback); - /* if (!isset(editor.currentFloorId) || !isset(editor.currentFloorData)) { - callback('未选中文件或无数据'); - } */ - var filename = 'project/floors/' + editor.currentFloorId + '.js'; - var datastr = ['main.floors.', editor.currentFloorId, '=\n']; - - if (core.floorIds.indexOf(editor.currentFloorId) >= 0) { - for(var ii=0,name;name=['map','bgmap','fgmap'][ii];ii++){ - var mapArray=editor[name].map(function (v) { - return v.map(function (v) { - return v.idnum || v || 0 - }) - }); - editor.currentFloorData[name]=mapArray; - } - } - editor.file.saveFloor(editor.currentFloorData, callback) - } - - /////////////////////////////////////////////////////////////////////////// - - editor.file.saveNewFile = function (saveFilename, callback) { - //saveAsFilename不含'/'不含'.js' - checkCallback(callback); - var currData=editor.currentFloorData; - var saveStatus = document.getElementById('newMapStatus').checked; - - var title = saveStatus?currData.title:"新建楼层"; - var name = saveStatus?currData.name:"0"; - if (/^mt\d+$/i.test(saveFilename)) { - name = saveFilename.substring(2); - title = "主塔 "+name+" 层"; - } - - var width = parseInt(document.getElementById('newMapWidth').value); - var height = parseInt(document.getElementById('newMapHeight').value); - var row = [], map = []; - for (var i=0;i0) - saveSetting('icons', iconActions, tempcallback); - else tempcallback(null); - - saveSetting('maps', mapActions, tempcallback); - - if (image=='items') - saveSetting('items', templateActions, tempcallback); - else if (image.indexOf('enemy')==0) - saveSetting('enemys', templateActions, tempcallback); - else tempcallback(null); - } - - editor.file.registerAutotile = function (filename, callback) { - var idnum = 140; - while (editor.core.maps.blocksInfo[idnum]) idnum++; - - var iconActions = []; - var mapActions = []; - - iconActions.push(["add", "['autotile']['" + filename + "']", 0]); - mapActions.push(["add", "['" + idnum + "']", {'cls': 'autotile', 'id': filename, 'noPass': true}]); - - var templist = []; - var tempcallback = function (err) { - templist.push(err); - if (templist.length == 2) { - if (templist[0] != null || templist[1] != null) - callback((templist[0] || '') + '\n' + (templist[1] || '')); - //这里如果一个成功一个失败会出严重bug - else - callback(null); - } - } - - saveSetting('icons', iconActions, tempcallback); - saveSetting('maps', mapActions, tempcallback); - } - - editor.file.changeIdAndIdnum = function (id, idnum, info, callback) { - checkCallback(callback); - - var changeOrNew=core.isset(editor_mode.info.id)?'change':'new' - if(changeOrNew=='new'){ - //检查maps中是否有重复的idnum或id - for (var ii in editor.core.maps.blocksInfo) { - if (ii == idnum) { - callback('idnum重复了'); - return; - } - if (editor.core.maps.blocksInfo[ii].id == id) { - callback('id重复了'); - return; - } - } - var templist = []; - var tempcallback = function (err) { - templist.push(err); - if (templist.length == 2) { - if (templist[0] != null || templist[1] != null) - callback((templist[0] || '') + '\n' + (templist[1] || '')); - //这里如果一个成功一个失败会出严重bug - else - callback(null); - } - } - saveSetting('maps', [["add", "['" + idnum + "']", {'cls': info.images, 'id': id}]], tempcallback); - saveSetting('icons', [["add", "['" + info.images + "']['" + id + "']", info.y]], tempcallback); - if (info.images === 'items') { - saveSetting('items', [["add", "['items']['" + id + "']", editor.file.comment._data.items_template]], function (err) { - if (err) { - printe(err); - throw(err) - } - }); - } - if (info.images === 'enemys' || info.images === 'enemy48') { - saveSetting('enemys', [["add", "['" + id + "']", editor.file.comment._data.enemys_template]], function (err) { - if (err) { - printe(err); - throw(err) - } - }); - } - - callback(null); - - }else{ - //检查maps中是否有重复的idnum或id - for (var ii in editor.core.maps.blocksInfo) { - if (editor.core.maps.blocksInfo[ii].id == id) { - callback('id重复了'); - return; - } - } - idnum = info.idnum; - - maps_90f36752_8815_4be8_b32b_d7fad1d0542e[idnum].id = id; - - var arr=[icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1,items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a,{enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80:enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80}] - arr.forEach(function (obj) { - for(var jj in obj){ - var ii=obj[jj] - if (ii.hasOwnProperty(info.id)){ - ii[id]=ii[info.id]; - delete(ii[info.id]); - } - } - }); - - editor.file.save_icons_maps_items_enemys(callback) - - } - } - //callback(err:String) - editor.file.editItem = function (id, actionList, callback) { - /*actionList:[ - ["change","['items']['name']","红宝石的新名字"], - ["add","['items']['新的和name同级的属性']",123], - ["change","['itemEffectTip']","',攻击力+'+editor.core.values.redJewel"], - ] - 为[]时只查询不修改 - */ - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - var tempindex = value[1].indexOf(']') + 1; - value[1] = [value[1].slice(0, tempindex), "['" + id + "']", value[1].slice(tempindex)].join(''); - }); - saveSetting('items', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj_ = {}; - Object.keys(editor.file.comment._data.items._data).forEach(function (v) { - if (isset(editor.core.items[v][id]) && v !== 'items') - locObj_[v] = editor.core.items[v][id]; - else - locObj_[v] = null; - }); - locObj_['items'] = (function () { - var locObj = Object.assign({}, editor.core.items.items[id]); - Object.keys(editor.file.comment._data.items._data.items._data).forEach(function (v) { - if (!isset(editor.core.items.items[id][v])) - locObj[v] = null; - }); - return locObj; - })(); - return locObj_; - })(), - editor.file.comment._data.items, - null]); - } - //只有items.cls是items的才有itemEffect和itemEffectTip,keys和constants和tools只有items - } - //callback([obj,commentObj,err:String]) - editor.file.editEnemy = function (id, actionList, callback) { - /*actionList:[ - ["change","['name']","初级巫师的新名字"], - ["add","['新的和name同级的属性']",123], - ["change","['bomb']",null], - ] - 为[]时只查询不修改 - */ - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - value[1] = "['" + id + "']" + value[1]; - }); - saveSetting('enemys', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = Object.assign({}, editor.core.enemys.enemys[id]); - Object.keys(editor.file.comment._data.enemys._data).forEach(function (v) { - if (!isset(editor.core.enemys.enemys[id][v])) - /* locObj[v]=editor.core.enemys.enemys[id][v]; - else */ - locObj[v] = null; - }); - return locObj; - })(), - editor.file.comment._data.enemys, - null]); - } - } - //callback([obj,commentObj,err:String]) - - editor.file.editMapBlocksInfo = function (idnum, actionList, callback) { - /*actionList:[ - ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], - ["change","['afterBattle']",null], - ] - 为[]时只查询不修改 - */ - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - var tempmap=[]; - for(var ii=0;ii=editor.core.icons.tilesetStartOffset && !isset(editor.core.maps.blocksInfo[idnum]) && tempmap.indexOf(idnum)===-1){ - actionList.splice(ii,0,["add","['" + idnum + "']",{"cls": "tileset", "id": "X"+idnum, "noPass": true}]); - tempmap.push(idnum); - ii++; - } - value[1] = "['" + idnum + "']" + value[1]; - } - saveSetting('maps', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var sourceobj=editor.core.maps.blocksInfo[idnum]; - if(!isset(sourceobj) && idnum>=editor.core.icons.tilesetStartOffset)sourceobj={"cls": "tileset", "id": "X"+idnum, "noPass": true} - var locObj = Object.assign({}, sourceobj); - Object.keys(editor.file.comment._data.maps._data).forEach(function (v) { - if (!isset(sourceobj[v])) - locObj[v] = null; - }); - locObj.idnum = idnum; - return locObj; - })(), - editor.file.comment._data.maps, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - editor.file.editLoc = function (x, y, actionList, callback) { - /*actionList:[ - ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], - ["change","['afterBattle']",null], - ] - 为[]时只查询不修改 - */ - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - if(/\['autoEvent'\]\['\d+'\]$/.test(value[1]))value[1]=value[1].replace(/\['\d+'\]$/,function(v){return "['" + x + "," + y + "']"+v}) - else value[1] = value[1] + "['" + x + "," + y + "']"; - }); - saveSetting('floorloc', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = {}; - Object.keys(editor.file.comment._data.floors._data.loc._data).forEach(function (v) { - if (isset(editor.currentFloorData[v][x + ',' + y])) - locObj[v] = editor.currentFloorData[v][x + ',' + y]; - else - locObj[v] = null; - }); - return locObj; - })(), - editor.file.comment._data.floors._data.loc, - null]); - } - - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - editor.file.editFloor = function (actionList, callback) { - /*actionList:[ - ["change","['title']",'样板 3 层'], - ["change","['color']",null], - ] - 为[]时只查询不修改 - */ - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - saveSetting('floors', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = Object.assign({}, editor.currentFloorData); - Object.keys(editor.file.comment._data.floors._data.floor._data).forEach(function (v) { - if (!isset(editor.currentFloorData[v])) - /* locObj[v]=editor.currentFloorData[v]; - else */ - locObj[v] = null; - }); - Object.keys(editor.file.comment._data.floors._data.loc._data).forEach(function (v) { - delete(locObj[v]); - }); - delete(locObj.map); - delete(locObj.bgmap); - delete(locObj.fgmap); - return locObj; - })(), - editor.file.comment._data.floors._data.floor, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - editor.file.editTower = function (actionList, callback) { - /*actionList:[ - ["change","['firstData']['version']",'Ver 1.0.1 (Beta)'], - ["change","['values']['lavaDamage']",200], - ] - 为[]时只查询不修改 - */ - var data_obj = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d; - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - saveSetting('data', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - //var locObj=Object.assign({'main':{}},editor.core.data); - var locObj = Object.assign({}, data_obj, {'main': {}}); - Object.keys(editor.file.dataComment._data.main._data).forEach(function (v) { - if (isset(editor.main[v])) - locObj.main[v] = data_obj.main[v]; - else - locObj.main[v] = null; - }); - return locObj; - })(), - editor.file.dataComment, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - var fmap = {}; - var fjson = JSON.stringify(functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a, function (k, v) { - if (v instanceof Function) { - var id_ = editor.util.guid(); - fmap[id_] = v.toString(); - return id_; - } else return v - }, 4); - var fobj = JSON.parse(fjson); - editor.file.functionsMap = fmap; - editor.file.functionsJSON = fjson; - var buildlocobj = function (locObj) { - for (var key in locObj) { - if (typeof(locObj[key]) !== typeof('')) buildlocobj(locObj[key]); - else locObj[key] = fmap[locObj[key]]; - } - }; - - editor.file.editFunctions = function (actionList, callback) { - /*actionList:[ - ["change","['events']['afterChangeLight']","function(x,y){console.log(x,y)}"], - ["change","['ui']['drawAbout']","function(){...}"], - ] - 为[]时只查询不修改 - */ - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - saveSetting('functions', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = JSON.parse(fjson); - buildlocobj(locObj); - return locObj; - })(), - editor.file.functionsComment, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - editor.file.editCommonEvent = function (actionList, callback) { - /*actionList:[ - ["change","['test']",['123']], - ] - 为[]时只查询不修改 - */ - var data_obj = events_c12a15a8_c380_4b28_8144_256cba95f760.commonEvent; - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - value[1] = "['commonEvent']" + value[1]; - }); - saveSetting('events', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - Object.assign({},data_obj), - editor.file.eventsComment._data.commonEvent, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - var plmap = {}; - var pljson = JSON.stringify(plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1, function (k, v) { - if (v instanceof Function) { - var id_ = editor.util.guid(); - plmap[id_] = v.toString(); - return id_; - } else if(v===null){ - var id_ = editor.util.guid(); - plmap[id_] = null; - return id_; - } return v - }, 4); - var plobj = JSON.parse(pljson); - editor.file.pluginsMap = plmap; - editor.file.pluginsObj = plobj; - var buildpllocobj = function (locObj) { - for (var key in locObj) { - if (typeof(locObj[key]) !== typeof('')) buildpllocobj(locObj[key]); - else locObj[key] = plmap[locObj[key]]; - } - }; - - editor.file.editPlugins = function (actionList, callback) { - /*actionList:[ - ["change","['test']","function(x,y){console.log(x,y)}"], - ] - 为[]时只查询不修改 - */ - checkCallback(callback); - if (isset(actionList) && actionList.length > 0) { - saveSetting('plugins', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = JSON.parse(JSON.stringify(plobj)); - buildpllocobj(locObj); - return locObj; - })(), - editor.file.pluginsComment, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - var isset = function (val) { - if (val == undefined || val == null) { - return false; - } - return true - } - - var checkCallback=function(callback){ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - } - - var encode = editor.util.encode64; - - var alertWhenCompress = function(){ - if(editor.useCompress===true){ - editor.useCompress='alerted'; - setTimeout("alert('当前游戏使用的是压缩文件,修改完成后请使用启动服务.exe->Js代码压缩工具重新压缩,或者把main.js的useCompress改成false来使用原始文件')",1000) - } - } - - editor.file.save_icons_maps_items_enemys=function(callback){ - var check=[] - saveSetting('icons',[],function(err){ - if(err){callback(err);return;} - check.push('icons') - if(check.length==4)callback(null); - }) - saveSetting('maps',[],function(err){ - if(err){callback(err);return;} - check.push('maps') - if(check.length==4)callback(null); - }) - saveSetting('items',[],function(err){ - if(err){callback(err);return;} - check.push('items') - if(check.length==4)callback(null); - }) - saveSetting('enemys',[],function(err){ - if(err){callback(err);return;} - check.push('enemys') - if(check.length==4)callback(null); - }) - } - - var saveSetting = function (file, actionList, callback) { - //console.log(file); - //console.log(actionList); - editor.file.alertWhenCompress(); - - if (file == 'icons') { - actionList.forEach(function (value) { - eval("icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = \n'; - datastr += JSON.stringify(icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1, null, '\t'); - fs.writeFile('project/icons.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'maps') { - actionList.forEach(function (value) { - eval("maps_90f36752_8815_4be8_b32b_d7fad1d0542e" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = \n'; - //datastr+=JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e,null,4); - - var emap = {}; - var estr = JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e, function (k, v) { - if (v.id != null) { - var id_ = editor.util.guid(); - emap[id_] = JSON.stringify(v); - return id_; - } else return v - }, '\t'); - for (var id_ in emap) { - estr = estr.replace('"' + id_ + '"', emap[id_]) - } - datastr += estr; - - fs.writeFile('project/maps.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'items') { - actionList.forEach(function (value) { - eval("items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = \n'; - datastr += JSON.stringify(items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a, null, '\t'); - fs.writeFile('project/items.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'enemys') { - actionList.forEach(function (value) { - eval("enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = \n'; - var emap = {}; - var estr = JSON.stringify(enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80, function (k, v) { - if (v.hp != null) { - var id_ = editor.util.guid(); - emap[id_] = JSON.stringify(v); - return id_; - } else return v - }, '\t'); - for (var id_ in emap) { - estr = estr.replace('"' + id_ + '"', emap[id_]) - } - datastr += estr; - fs.writeFile('project/enemys.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'data') { - actionList.forEach(function (value) { - eval("data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d" + value[1] + '=' + JSON.stringify(value[2])); - }); - if (data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds.indexOf(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId) < 0) - data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds[0]; - var datastr = 'var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = \n'; - datastr += JSON.stringify(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d, null, '\t'); - fs.writeFile('project/data.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'functions') { - actionList.forEach(function (value) { - eval("fmap[fobj" + value[1] + ']=' + JSON.stringify(value[2])); - }); - var fraw = fjson; - for (var id_ in fmap) { - fraw = fraw.replace('"' + id_ + '"', fmap[id_]) - } - var datastr = 'var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = \n'; - datastr += fraw; - fs.writeFile('project/functions.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'floorloc') { - actionList.forEach(function (value) { - // 检测null/undefined - if(/\['autoEvent'\]\['\d+,\d+'\]\['\d+'\]$/.test(value[1])){ - var tempvalue=value[1].replace(/\['\d+'\]$/,'') - tempvalue="editor.currentFloorData" +tempvalue - tempvalue=tempvalue+'='+tempvalue+'||{}' - eval(tempvalue) - } - if (value[2]==null && value[0]!=='add') - eval("delete editor.currentFloorData" + value[1]); - else - eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); - }); - editor.file.saveFloorFile(callback); - return; - } - if (file == 'floors') { - actionList.forEach(function (value) { - eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); - }); - editor.file.saveFloorFile(callback); - return; - } - if (file == 'events') { - actionList.forEach(function (value) { - eval("events_c12a15a8_c380_4b28_8144_256cba95f760" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var events_c12a15a8_c380_4b28_8144_256cba95f760 = \n'; - datastr += JSON.stringify(events_c12a15a8_c380_4b28_8144_256cba95f760, null, '\t'); - fs.writeFile('project/events.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'plugins') { - actionList.forEach(function (value) { - if(value[0]==='add'){ - eval("plobj" + value[1] + '=' + JSON.stringify(value[2])); - } else { - eval("plmap[plobj" + value[1] + ']=' + JSON.stringify(value[2])); - } - }); - var plraw = JSON.stringify(plobj,null,4); - for (var id_ in plmap) { - plraw = plraw.replace('"' + id_ + '"', plmap[id_]) - } - var datastr = 'var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = \n'; - datastr += plraw; - fs.writeFile('project/plugins.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - callback('出错了,要设置的文件名不识别'); - } - - editor.file.saveSetting = saveSetting; - - return editor_file; -} -//editor_file = editor_file(editor); \ No newline at end of file diff --git a/editor-mobile.html b/editor-mobile.html index cfa66ea8..0a280e33 100644 --- a/editor-mobile.html +++ b/editor-mobile.html @@ -588,7 +588,6 @@ - diff --git a/editor.html b/editor.html index 6c35d361..b1808e64 100644 --- a/editor.html +++ b/editor.html @@ -572,7 +572,6 @@ - From c4802bcac7746b1a6f904653d5c05ffb69b3b75e Mon Sep 17 00:00:00 2001 From: YouWei Zhao Date: Sat, 9 May 2020 22:30:53 +0800 Subject: [PATCH 47/70] =?UTF-8?q?fix=20bug:=20edit=20&=20click=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=BA=86=E7=BC=96=E8=BE=91=E6=97=B6=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=88=B0=E5=90=8C=E7=B1=BB=E5=AF=B9=E8=B1=A1=E4=BC=9A=E4=BD=BF?= =?UTF-8?q?=E5=BE=97=E4=BF=9D=E5=AD=98=E5=88=B0=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor_mode.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/_server/editor_mode.js b/_server/editor_mode.js index 11d41f03..7cd86e40 100644 --- a/_server/editor_mode.js +++ b/_server/editor_mode.js @@ -97,12 +97,14 @@ editor_mode = function (editor) { } editor_mode.prototype.onmode = function (mode, callback) { - if (editor_mode.mode != mode) { - if (mode === 'save') editor_mode.doActionList(editor_mode.mode, editor_mode.actionList, callback); - if (editor_mode.mode === 'nextChange' && mode) editor_mode.showMode(mode); - if (mode !== 'save') editor_mode.mode = mode; - editor_mode.actionList = []; - } + setTimeout(function(){ + if (editor_mode.mode != mode) { + if (mode === 'save') editor_mode.doActionList(editor_mode.mode, editor_mode.actionList, callback); + if (editor_mode.mode === 'nextChange' && mode) editor_mode.showMode(mode); + if (mode !== 'save') editor_mode.mode = mode; + editor_mode.actionList = []; + } + }) } editor_mode.prototype.showMode = function (mode) { From a516d4518907c64e9e72e40cb2311b30c517a813 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 09:55:58 +0800 Subject: [PATCH 48/70] =?UTF-8?q?=E5=9B=9B=E6=96=B9=E5=90=91=E5=A4=B9?= =?UTF-8?q?=E5=87=BB=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor_datapanel.js | 8 ++++---- libs/enemys.js | 3 +++ project/functions.js | 17 ++++++++++------- v2.x-final更新.txt | 12 ++++++------ 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/_server/editor_datapanel.js b/_server/editor_datapanel.js index 948ce9c0..e0f2ea50 100644 --- a/_server/editor_datapanel.js +++ b/_server/editor_datapanel.js @@ -162,8 +162,8 @@ editor_datapanel_wrapper = function (editor) { printe('不合法的idnum'); return; } - if (!/^[0-9a-zA-Z_]+$/.test(id)) { - printe('不合法的id,请使用字母、数字或下划线') + if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(id)) { + printe('不合法的id,请使用字母、数字或下划线,且不能以数字开头'); return; } editor.file.changeIdAndIdnum(id, idnum, editor_mode.info, function (err) { @@ -193,8 +193,8 @@ editor_datapanel_wrapper = function (editor) { changeId.children[1].onclick = function () { var id = changeId.children[0].value; if (id) { - if (!/^[0-9a-zA-Z_]+$/.test(id)) { - printe('不合法的id,请使用字母、数字或下划线') + if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(id)) { + printe('不合法的id,请使用字母、数字或下划线,且不能以数字开头') return; } editor.file.changeIdAndIdnum(id, null, editor_mode.info, function (err) { diff --git a/libs/enemys.js b/libs/enemys.js index cfc23e07..4c82a6fa 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -267,12 +267,14 @@ enemys.prototype.getDefDamage = function (enemy, k, x, y, floorId) { } enemys.prototype.getEnemyInfo = function (enemy, hero, x, y, floorId) { + if (enemy == null) return null; if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; return this.enemydata.getEnemyInfo(enemy, hero, x, y, floorId) } ////// 获得战斗伤害信息(实际伤害计算函数) ////// enemys.prototype.getDamageInfo = function (enemy, hero, x, y, floorId) { + if (enemy == null) return null; // 移动到了脚本编辑 - getDamageInfo中 if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; return this.enemydata.getDamageInfo(enemy, hero, x, y, floorId); @@ -284,6 +286,7 @@ enemys.prototype.getDamage = function (enemy, x, y, floorId) { } enemys.prototype._getDamage = function (enemy, hero, x, y, floorId) { + if (enemy == null) return null; if (typeof enemy == 'string') enemy = core.material.enemys[enemy]; var info = this.getDamageInfo(enemy, hero, x, y, floorId); diff --git a/project/functions.js b/project/functions.js index ebd1681a..87a4c0e3 100644 --- a/project/functions.js +++ b/project/functions.js @@ -1210,32 +1210,35 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = for (var y = 0; y < height; y++) { var loc = x + "," + y; // 夹击怪物的ID - var enemyId = null; + var enemyId1 = null, enemyId2 = null; // 检查左右夹击 var leftBlock = blocks[(x - 1) + "," + y], rightBlock = blocks[(x + 1) + "," + y]; if (leftBlock && rightBlock && leftBlock.id == rightBlock.id) { if (core.hasSpecial(leftBlock.event.id, 16)) - enemyId = leftBlock.event.id; + enemyId1 = leftBlock.event.id; } // 检查上下夹击 var topBlock = blocks[x + "," + (y - 1)], bottomBlock = blocks[x + "," + (y + 1)]; if (topBlock && bottomBlock && topBlock.id == bottomBlock.id) { if (core.hasSpecial(topBlock.event.id, 16)) - enemyId = topBlock.event.id; + enemyId2 = topBlock.event.id; } - if (enemyId != null) { + if (enemyId1 != null || enemyId2 != null) { var leftHp = core.status.hero.hp - (damage[loc] || 0); if (leftHp > 1) { // 上整/下整 var value = Math.floor((leftHp + (core.flags.betweenAttackCeil ? 1 : 0)) / 2); // 是否不超过怪物伤害值 if (core.flags.betweenAttackMax) { - var enemyDamage = core.getDamage(enemyId, x, y, floorId); - if (enemyDamage != null && enemyDamage < value) - value = enemyDamage; + var enemyDamage1 = core.getDamage(enemyId1, x, y, floorId); + if (enemyDamage1 != null && enemyDamage1 < value) + value = enemyDamage1; + var enemyDamage2 = core.getDamage(enemyId2, x, y, floorId); + if (enemyDamage2 != null && enemyDamage2 < value) + value = enemyDamage2; } if (value > 0) { damage[loc] = (damage[loc] || 0) + value; diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 5a8fd939..3653a79c 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -9,7 +9,7 @@ (已完成!) 8. 系统设置菜单中“音量”和“步时”的点击区并不是根据文本长度自动适配的,这导致作者修改文本(包括但不限于翻译)后玩家难以找到准确的点击区,建议优化 (已完成!) 9. 建议给“显示选择项”、“显示确认框”、“等待用户操作”这三个事件添加一个“若多少毫秒内不响应则触发的分支”,用来实现一些如新新2的QTE,录像中可以记录“choice: timeout”、“confirm: timeout”和“wait: timeout”来表示触发了超时分支 10. 建议给“转变图块”事件增加一个淡入时间参数,用于原本是空地或空气墙的情况,目前这种效果必须借助存在安全隐患的红点 -11. 建议修复勇士后退时跟随者的鬼畜行为,并推出一套能够对跟随者位置和朝向进行读写的API甚至事件,且允许这些信息被计入存档,以实现一些演出效果甚至游戏要素,如新新2用公主占位防冰块 +(已完成!) 11. 建议修复勇士后退时跟随者的鬼畜行为,并推出一套能够对跟随者位置和朝向进行读写的API甚至事件,且允许这些信息被计入存档,以实现一些演出效果甚至游戏要素,如新新2用公主占位防冰块 (已完成!) 12. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 13. 建议给core.moveAction(callback)提供对应的事件,用于在事件中让勇士像事件外一样移动,从而正常触发跑毒和阻激夹域捕等 14. core.openShop()和对应的事件,建议在用于公共事件时简单地退化为“插入公共事件”而不要打断当前事件,把决定权交给作者 @@ -28,13 +28,13 @@ (已完成!) noPass->canPass改成选择框 初始化&读档优化:不一次读取全部楼层并创建 绿钥匙进状态栏 -图块ID不可全数字 +(已完成!) 图块ID不可全数字 怪物详细信息富文本化 (已完成!) for和forEach事件 转向:顺时针/逆时针/反向 事件转向 (已完成!) 合并数值操作事件 -fromLoad,聚集问题 +(已完成!) fromLoad,聚集问题 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” @@ -59,12 +59,12 @@ fromLoad,聚集问题 (不处理) 19. (来自群友)建议删除2连击和3连击 (不处理) 20. (来自群友)建议优化怪物图块属性中value的结构(退化和攻防光环同理),君浪为此配置了一个独立的表格可供使用(基于在getEnemyInfo、getDamageInfo和afterBattle中各eval一串脚本) (不处理) 21. (来自群友)建议大幅缩减表格的长度,譬如把勾选项和单个数值类紧凑摆放 -(不处理) 22. betweenAttackMax在被四个怪同时夹击时(比如上下楼后或通过事件使勇士和其中一只怪重合了)目前是以上下方向的怪为准,建议在表格注释中予以强调,更合理的做法是在两种怪的战损中取max或min +(已完成!) 22. betweenAttackMax在被四个怪同时夹击时(比如上下楼后或通过事件使勇士和其中一只怪重合了)目前是以上下方向的怪为准,建议在表格注释中予以强调,更合理的做法是在两种怪的战损中取max或min (不处理) 23. displayIdInBook属性不能用于夹击QAQ,同时建议给core.getBlockId()追加一个“如果是怪物,是否按displayIdInBook进行映射”的参数。此外此属性会导致core.hasEnemyLeft()在指定id时失真(不一定是坏事) (不处理) 24. core.hasEnemyLeft()不应该调用core.getCurrentEnemys(),因为后者是用于手册的,它为了按伤害升序排列而调用了core.getDamageInfo(),而core.getDamageInfo()又会调用core.getEnemyInfo(),但作者完全可能在core.getDamageInfo()或core.getEnemyInfo()中使用core.hasEnemyLeft()判断特定id的怪物是否存在从而实现一些类似光环的效果(如协同),这样就会造成死递归 (不处理) 25. 建议新增一个类似“勇士转向”的事件指令————“图块转向”,用于NPC甚至怪物(比如基于索引/数字对4取余),毕竟用转变图块的话不够通用 (已完成!) 26. “勇士转向”会导致跟随者聚集,这不利于演出,建议改成像core.turnHero()一样不聚集跟随者 -27. 勇士后退时跟随者很鬼畜,建议优化(每步聚集算是一种简陋的办法) +(已完成!) 27. 勇士后退时跟随者很鬼畜,建议优化(每步聚集算是一种简陋的办法) (不处理) 28. 勇士的移动帧只有2,建议改为允许作者指定 (不处理) 29. 建议加一对“勇士开始抖动”和“勇士停止抖动”事件指令,来让勇士像图块一样原地抖动(即全局动画)。目前这个效果还只能通过隐藏勇士(或切换透明行走图)并转变图块/图层块来实现且只能用于事件处理中QAQ 30. 建议加一个“视角锁定”事件指令,从而允许用事件改变勇士位置、朝向或行走图时不会使视角重置到以其为中心,用于一些演出效果 @@ -116,7 +116,7 @@ fromLoad,聚集问题 (已完成!) 74. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 (已完成!) 75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件 -(不处理) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符) +(已完成!增加正则匹配) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符) (已完成!) 78. 建议移除core.setInitData()并将其内容写在startText以方便作者仿照修改 (不处理;有跟随情况下处理很麻烦) 79. 建议给core.drawHero()添加纵横两个偏移参数(目前只有一个),以用于做一些斜向移动的演出 (文档都给秋橙) 80. 在线文档中“系统使用的flag变量”不够完整,建议加以补充 From c71aac1fa90b84cc4ec57194b54ea830e57be684 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 10:19:28 +0800 Subject: [PATCH 49/70] Optimize global flags --- _docs/element.md | 2 -- _server/MotaAction.g4 | 4 ++-- _server/table/data.comment.js | 17 +---------------- libs/ui.js | 9 +-------- project/data.js | 3 --- project/functions.js | 12 ++++++------ runtime.d.ts | 2 -- 7 files changed, 10 insertions(+), 39 deletions(-) diff --git a/_docs/element.md b/_docs/element.md index a43a5a9a..b2576eb4 100644 --- a/_docs/element.md +++ b/_docs/element.md @@ -199,8 +199,6 @@ N连击怪物的special是6,且我们可以为它定义n代表实际连击数 退化怪需要设置'atkValue'和'defValue'表示退化的数值;也可以不设置默认为0。 -夹击可以通过全塔属性中的`betweenAttackCeil`设为true可以将伤害向上取整。 - **将`flag:no_betweenAttack`设置为true可以免疫夹击效果。** 固伤怪则需要设置`damage`选项,代表战前扣血数值。 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index f3044be3..36865510 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -2745,8 +2745,8 @@ Global_Value_List Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'仇恨怪战后扣减一半'|'夹击是否上整'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'寻路算法不绕血瓶'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'hatredDecrease', 'betweenAttackCeil', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'potionWhileRouting', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg', 'checkConsole']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'寻路算法不绕血瓶'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'potionWhileRouting', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg', 'checkConsole']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 99f7893f..0b8db66d 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -553,11 +553,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "checkbox", "_data": "状态栏的装备按钮。若此项为true则将状态栏中的楼层转换器按钮换为装备栏按钮" }, - "iconInEquipbox": { - "_leaf": true, - "_type": "checkbox", - "_data": "在装备栏中的属性变化,是否绘制图标;如果此项开启,则会绘制图标而不是文字" - }, "enableAddPoint": { "_leaf": true, "_type": "checkbox", @@ -568,16 +563,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "checkbox", "_data": "是否支持负伤害(回血)" }, - "hatredDecrease": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在和仇恨怪战斗后减一半的仇恨值,此项为false则和仇恨怪不会扣减仇恨值。" - }, - "betweenAttackCeil": { - "_leaf": true, - "_type": "checkbox", - "_data": "夹击上整还是下整。如果此项为true则夹击伤害值向上取整,为false则为向下取整" - }, "betweenAttackMax": { "_leaf": true, "_type": "checkbox", @@ -632,7 +617,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "potionWhileRouting": { "_leaf": true, "_type": "checkbox", - "_data": "寻路算法是否经过血瓶;如果该项为false,则寻路算法会自动尽量绕过血瓶" + "_data": "寻路算法是否经过血瓶和绿钥匙;如果该项为false,则寻路算法会自动尽量绕过血瓶和绿钥匙" }, "ignoreChangeFloor": { "_leaf": true, diff --git a/libs/ui.js b/libs/ui.js index 8f72c271..60b2bc5f 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -2388,15 +2388,8 @@ ui.prototype._drawEquipbox_drawStatusChanged = function (info, y, equip, equipTy // --- 变化值... core.setFont('ui', this._buildFont(14, true)); for (var name in compare) { - var img = core.statusBar.icons[name]; var text = this._drawEquipbox_getStatusName(name); - if (img && core.flags.iconInEquipbox) { // 绘制图标 - core.drawImage('ui', img, 0, 0, 32, 32, obj.drawOffset, obj.y - 13, 16, 16); - obj.drawOffset += 20; - } - else { // 绘制文字 - this._drawEquipbox_drawStatusChanged_draw(text + " ", '#CCCCCC', obj); - } + this._drawEquipbox_drawStatusChanged_draw(text + " ", '#CCCCCC', obj); var nowValue = core.getStatus(name) * core.getBuff(name), newValue = (core.getStatus(name) + compare[name]) * core.getBuff(name); if (equip.equip.percentage) { var nowBuff = core.getBuff(name), newBuff = nowBuff + compare[name] / 100; diff --git a/project/data.js b/project/data.js index 20da56b0..2a5fdb4b 100644 --- a/project/data.js +++ b/project/data.js @@ -442,11 +442,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "itemFirstText": false, "equipment": false, "equipboxButton": false, - "iconInEquipbox": false, "enableAddPoint": false, "enableNegativeDamage": false, - "hatredDecrease": true, - "betweenAttackCeil": false, "betweenAttackMax": false, "useLoop": false, "startUsingCanvas": false, diff --git a/project/functions.js b/project/functions.js index 87a4c0e3..53f48d2f 100644 --- a/project/functions.js +++ b/project/functions.js @@ -315,8 +315,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (core.enemys.hasSpecial(special, 14)) { core.push(todo, [{ "type": "insert", "name": "毒衰咒处理", "args": [2] }]); } - // 仇恨属性:减半 - if (core.flags.hatredDecrease && core.enemys.hasSpecial(special, 17)) { + // 仇恨属性 + if (core.enemys.hasSpecial(special, 17)) { core.setFlag('hatred', Math.floor(core.getFlag('hatred', 0) / 2)); } // 自爆 @@ -464,7 +464,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [14, "诅咒", "战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验"], [15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }], [16, "夹击", "经过两只相同的怪物中间,勇士生命值变成一半"], - [17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害" + (core.flags.hatredDecrease ? ";战斗后,释放一半的仇恨值" : "") + "。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)"], + [17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)"], [18, "阻击", function (enemy) { return "经过怪物的十字领域时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }], [19, "自爆", "战斗后勇士的生命值变成1"], [20, "无敌", "勇士无法打败怪物,除非拥有十字架"], @@ -1189,7 +1189,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 捕捉 // 如果要防止捕捉效果,可以直接简单的将 flag:no_ambush 设为true - if (enemy && core.enemys.hasSpecial(enemy.special, 27)) { + if (enemy && core.enemys.hasSpecial(enemy.special, 27) && !core.hasFlag("no_ambush")) { // 给周围格子加上【捕捉】记号 for (var dir in core.utils.scan) { var nx = x + core.utils.scan[dir].x, @@ -1229,8 +1229,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (enemyId1 != null || enemyId2 != null) { var leftHp = core.status.hero.hp - (damage[loc] || 0); if (leftHp > 1) { - // 上整/下整 - var value = Math.floor((leftHp + (core.flags.betweenAttackCeil ? 1 : 0)) / 2); + // 夹击伤害值 + var value = Math.floor(leftHp / 2); // 是否不超过怪物伤害值 if (core.flags.betweenAttackMax) { var enemyDamage1 = core.getDamage(enemyId1, x, y, floorId); diff --git a/runtime.d.ts b/runtime.d.ts index 4eb78701..e633c7f8 100644 --- a/runtime.d.ts +++ b/runtime.d.ts @@ -81,8 +81,6 @@ type SystemFlags = { enableXxx: boolean flyNearStair: boolean steelDoorWithoutKey: boolean - hatredDecrease: boolean - betweenAttackCeil: boolean betweenAttackMax: boolean ignoreChangeFloor: boolean disableShopOnDamage: boolean From a193addf9103c9ef185eb9bef4bf413c2c5e1453 Mon Sep 17 00:00:00 2001 From: YouWei Zhao Date: Sun, 10 May 2020 12:00:04 +0800 Subject: [PATCH 50/70] checkboxSet --- _server/css/editor_mode.css | 2 +- _server/editor_table.js | 62 +++++++++++++++++++++++++------------ _server/table/comment.js | 12 +++++-- 3 files changed, 53 insertions(+), 23 deletions(-) diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index 27b042e4..1542cf22 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -220,7 +220,7 @@ div.etableInputDiv { margin-top: -8px; } -.etableInputDiv .cannotInOutCheckbox { +.etableInputDiv .checkboxSetMember { width: 16px; height: 16px; display: inline-block; diff --git a/_server/editor_table.js b/_server/editor_table.js index 2ed5dc84..f8a4409d 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -8,7 +8,7 @@ editor_table_wrapper = function (editor) { // HTML模板 editor_table.prototype.select = function (value, values) { - let content = editor.table.option(value) + + var content = editor.table.option(value) + values.map(function (v) { return editor.table.option(v) }).join('') @@ -26,12 +26,24 @@ editor_table_wrapper = function (editor) { editor_table.prototype.textarea = function (value, indent) { return /* html */`\n` } - editor_table.prototype.cannotInOutCheckbox = function (value) { + editor_table.prototype.checkboxSet = function (value, keys, prefixStrings) { if (!(value instanceof Array)) value = []; - return /* html */`上:=0 ? 'checked ' : ''} /> -  下:=0 ? 'checked ' : ''} />
- 左:=0 ? 'checked ' : ''} /> -  右:=0 ? 'checked ' : ''} />
`; + keys=Array.from(keys) + prefixStrings=Array.from(prefixStrings) + for (var index = 0; index < value.length; index++) { + if (keys.indexOf(value[index])==-1) { + keys.push(value[index]) + prefixStrings.push('
'+value[index]+': ') + } + } + var content=[] + for (var index = 0; index < keys.length; index++) { + content.push(editor.table.checkboxSetMember(value.indexOf(keys[index])!=-1,keys[index],prefixStrings[index])) + } + return /* html */`
${content.join('')}
\n`; + } + editor_table.prototype.checkboxSetMember = function (value,key,prefixString) { + return /* html */`${prefixString}\n`; } editor_table.prototype.editGrid = function (showComment) { var html = ""; @@ -58,6 +70,25 @@ editor_table_wrapper = function (editor) { } + /** + * checkboxset中checkbox的onchange + */ + editor_table.prototype.checkboxSetMemberOnchange = function (onemember) { + var thisset=onemember.parentNode + var inputs=thisset.children + var value=[] + for (var i in inputs) { + if (inputs[i].nodeName == 'INPUT') { + if (inputs[i].checked) value.push(inputs[i].getAttribute('key')); + } + } + thiseval = value; + // if (value.length == 0) thiseval = null; + thisset.value=JSON.stringify(thiseval) + thisset.onchange() + } + + ///////////////////////////////////////////////////////////////////////////// // 表格生成的控制 @@ -232,8 +263,8 @@ editor_table_wrapper = function (editor) { return editor.table.select(thiseval, cobj._select.values); case 'checkbox': return editor.table.checkbox(thiseval); - case 'cannotInOutCheckbox': - return editor.table.cannotInOutCheckbox(thiseval); + case 'checkboxSet': + return editor.table.checkboxSet(thiseval, cobj._checkboxSet.key, cobj._checkboxSet.prefix); default: return editor.table.textarea(thiseval, cobj.indent || 0); } @@ -269,24 +300,15 @@ editor_table_wrapper = function (editor) { // >td[title=comment,cobj=cobj:json] // >td>div>input[value=thiseval] var thisTr = document.getElementById(guid); - var inputs = thisTr.children[2].children[0].children; + var input = thisTr.children[2].children[0].children[0]; var field = thisTr.children[0].getAttribute('title'); var cobj = JSON.parse(thisTr.children[1].getAttribute('cobj')); var modeNode = thisTr.parentNode; while (!editor_mode._ids.hasOwnProperty(modeNode.getAttribute('id'))) { modeNode = modeNode.parentNode; } - for (var i = 0; i < inputs.length; ++i) { - var input = inputs[i]; - if (input.nodeName == 'INPUT' || input.nodeName == 'SELECT' || input.nodeName == 'TEXTAREA') { - input.onchange = function () { - if (cobj._type == 'cannotInOutCheckbox') { - editor.table.onCannotInOutChange(guid, obj, commentObj, thisTr, inputs, field, cobj, modeNode); - } else { - editor.table.onchange(guid, obj, commentObj, thisTr, input, field, cobj, modeNode); - } - } - } + input.onchange = function () { + editor.table.onchange(guid, obj, commentObj, thisTr, input, field, cobj, modeNode) } // 用检测两次单击的方式来实现双击(以支持手机端的双击) var doubleClickCheck = [0]; diff --git a/_server/table/comment.js b/_server/table/comment.js index 63e2c958..9ab67b0f 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -262,12 +262,20 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { }, "cannotOut": { "_leaf": true, - "_type": "cannotInOutCheckbox", + "_type": "checkboxSet", + "_checkboxSet": { + "prefix":["上: ","下: ","
左: ","右: "], + "key":["up","down","left","right"] + }, "_data": "该图块的不可出方向\n可以在这里定义在该图块时不能前往哪个方向,可以达到悬崖之类的效果\n例如 [\"up\", \"left\"] 代表在该图块时不能往上和左走\n此值对背景层、事件层、前景层上的图块均有效" }, "cannotIn": { "_leaf": true, - "_type": "cannotInOutCheckbox", + "_type": "checkboxSet", + "_checkboxSet": { + "prefix":["上: ","下: ","
左: ","右: "], + "key":["up","down","left","right"] + }, "_data": "该图块的不可入方向\n可以在这里定义不能朝哪个方向进入该图块,可以达到悬崖之类的效果\n例如 [\"down\"] 代表不能从该图块的上方点朝向下进入此图块\n此值对背景层、事件层、前景层上的图块均有效" }, "canBreak": { From 046aaa71e650313046094c3de49aa0083c1ba9f2 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 12:09:26 +0800 Subject: [PATCH 51/70] =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=A0=8F=E5=A2=9E?= =?UTF-8?q?=E8=AE=BE=E7=BB=BF=E9=92=A5=E5=8C=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/config.json | 2 +- _server/table/comment.js | 10 +++++++--- _server/table/data.comment.js | 11 +++++------ editor-mobile.html | 1 + editor.html | 1 + index.html | 1 + libs/actions.js | 24 ++++++++++++++++++------ libs/control.js | 14 ++++++++++++-- libs/events.js | 2 +- libs/items.js | 9 +++------ libs/ui.js | 8 +++++--- libs/utils.js | 1 + main.js | 1 + project/data.js | 6 +----- project/functions.js | 2 +- project/items.js | 21 +++++++++++++-------- styles.css | 1 + 17 files changed, 73 insertions(+), 42 deletions(-) diff --git a/_server/config.json b/_server/config.json index 3ea46aa1..9c9888dc 100644 --- a/_server/config.json +++ b/_server/config.json @@ -1 +1 @@ -{"lastUsed":[],"foldPerCol":50,"folded":false,"editorLastFloorId":"sample1","disableBlocklyReplace":false,"shortcut":{"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0}} \ No newline at end of file +{"lastUsed":[],"foldPerCol":50,"folded":false,"editorLastFloorId":"sample0","disableBlocklyReplace":false,"shortcut":{"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0}} \ No newline at end of file diff --git a/_server/table/comment.js b/_server/table/comment.js index 63e2c958..4adf42c0 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -19,14 +19,13 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "select", "_select": { "values": [ - "keys", "items", "constants", "tools", "equips" ] }, - "_data": "只能取keys(钥匙) items(宝石、血瓶) constants(永久物品) tools(消耗道具) equips(装备)" + "_data": "只能取items(宝石、血瓶) constants(永久物品) tools(消耗道具) equips(装备)" }, "name": { "_leaf": true, @@ -40,6 +39,11 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_string": true, "_data": "道具在道具栏中显示的描述" }, + "hideInToolbox": { + "_leaf": true, + "_type": "checkbox", + "_data": "是否不显示在道具栏中" + }, "equip": { "_leaf": true, "_type": "textarea", @@ -48,7 +52,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "hideInReplay": { "_leaf": true, "_type": "checkbox", - "_data": "是否回放时绘制道具栏。\n如果此项为true,则在回放录像时使用本道具将不会绘制道具栏页面,而是直接使用。\n此项建议在会频繁连续多次使用的道具开启(如开启技能,或者《镜子》那样的镜像切换等等)" + "_data": "是否回放时不绘制道具栏。\n如果此项为true,则在回放录像时使用本道具将不会绘制道具栏页面,而是直接使用。\n此项建议在会频繁连续多次使用的道具开启(如开启技能,或者《镜子》那样的镜像切换等等)" } } }, diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 0b8db66d..e0eaf5d4 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -243,12 +243,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "items": { "_type": "object", "_data": { - "keys": { - "_leaf": true, - "_type": "textarea", - "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", - "_data": "初始三种钥匙个数" - }, "constants": { "_leaf": true, "_type": "textarea", @@ -488,6 +482,11 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "checkbox", "_data": "是否在状态栏显示三色钥匙数量" }, + "enableGreenKey": { + "_leaf": true, + "_type": "checkbox", + "_data": "是否在状态栏显示绿钥匙" + }, "enablePZF": { "_leaf": true, "_type": "checkbox", diff --git a/editor-mobile.html b/editor-mobile.html index 0a280e33..c97cf6b2 100644 --- a/editor-mobile.html +++ b/editor-mobile.html @@ -487,6 +487,7 @@ +
diff --git a/editor.html b/editor.html index b1808e64..b1cbd95f 100644 --- a/editor.html +++ b/editor.html @@ -469,6 +469,7 @@ +
diff --git a/index.html b/index.html index e68366cd..3e6f7c43 100644 --- a/index.html +++ b/index.html @@ -127,6 +127,7 @@ +
diff --git a/libs/actions.js b/libs/actions.js index e6d9e297..1236773d 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -1362,6 +1362,11 @@ actions.prototype._keyUpQuickShop = function (keycode) { ////// 工具栏界面时的点击操作 ////// actions.prototype._clickToolbox = function (x, y) { + var tools = Object.keys(core.status.hero.items.tools) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); + var constants = Object.keys(core.status.hero.items.constants) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); + // 装备栏 if (x >= this.LAST - 2 && y == 0) { core.ui.closePanel(); @@ -1391,11 +1396,11 @@ actions.prototype._clickToolbox = function (x, y) { } // 下一页 if (x == this.HSIZE+2 || x == this.HSIZE+3) { - if (y == this.LAST - 5 && toolsPage < Math.ceil(Object.keys(core.status.hero.items.tools).length / this.LAST)) { + if (y == this.LAST - 5 && toolsPage < Math.ceil(tools.length / this.LAST)) { core.status.event.data.toolsPage++; core.ui.drawToolbox(core.status.event.selection); } - if (y == this.LAST && constantsPage < Math.ceil(Object.keys(core.status.hero.items.constants).length / this.LAST)) { + if (y == this.LAST && constantsPage < Math.ceil(constants.length / this.LAST)) { core.status.event.data.constantsPage++; core.ui.drawToolbox(core.status.event.selection); } @@ -1413,15 +1418,20 @@ actions.prototype._clickToolbox = function (x, y) { ////// 选择工具栏界面中某个Index后的操作 ////// actions.prototype._clickToolboxIndex = function (index) { + var tools = Object.keys(core.status.hero.items.tools) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); + var constants = Object.keys(core.status.hero.items.constants) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); + var items = null; var select; if (index < this.LAST) { select = index + this.LAST * (core.status.event.data.toolsPage - 1); - items = Object.keys(core.status.hero.items.tools).sort(); + items = tools; } else { select = index % this.LAST + this.LAST * (core.status.event.data.constantsPage - 1); - items = Object.keys(core.status.hero.items.constants).sort(); + items = constants; } if (items == null) return; if (select >= items.length) return; @@ -1441,8 +1451,10 @@ actions.prototype._keyDownToolbox = function (keycode) { var last_index = this.LAST - 1; - var tools = Object.keys(core.status.hero.items.tools).sort(); - var constants = Object.keys(core.status.hero.items.constants).sort(); + var tools = Object.keys(core.status.hero.items.tools) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); + var constants = Object.keys(core.status.hero.items.constants) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); var index = core.status.event.selection; var toolsPage = core.status.event.data.toolsPage; var constantsPage = core.status.event.data.constantsPage; diff --git a/libs/control.js b/libs/control.js index a4c57856..b6a2f0e5 100644 --- a/libs/control.js +++ b/libs/control.js @@ -1439,8 +1439,10 @@ control.prototype._replayAction_item = function (action) { core.useItem(itemId, false, core.replay); return true; } - var tools = Object.keys(core.status.hero.items.tools).sort(); - var constants = Object.keys(core.status.hero.items.constants).sort(); + var tools = Object.keys(core.status.hero.items.tools) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); + var constants = Object.keys(core.status.hero.items.constants) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); var index, per = core.__SIZE__-1; if ((index=tools.indexOf(itemId))>=0) { core.status.event.data = {"toolsPage": Math.floor(index/per)+1, "constantsPage":1}; @@ -2828,6 +2830,14 @@ control.prototype._resize_status = function (obj) { for (var i = 0; i < core.dom.statusTexts.length; ++i) { core.dom.statusTexts[i].style.color = obj.globalAttribute.statusBarColor; } + // keys + if (core.flags.enableGreenKey) { + core.dom.keyCol.style.fontSize = '0.75em'; + core.statusBar.greenKey.style.display = ''; + } else { + core.dom.keyCol.style.fontSize = ''; + core.statusBar.greenKey.style.display = 'none'; + } } control.prototype._resize_toolBar = function (obj) { diff --git a/libs/events.js b/libs/events.js index 5747a213..9498a3e0 100644 --- a/libs/events.js +++ b/libs/events.js @@ -503,7 +503,7 @@ events.prototype.getItem = function (id, num, x, y, callback) { } catch (e) {} if (!core.status.event.id || core.status.event.id=='action') { core.insertAction("\t["+core.material.items[id].name+","+id+"]" + hint + "\n" - + (itemCls == 'keys' || id == 'greenKey' || id == 'steelKey' ? "(钥匙类道具,遇到对应的门时自动打开)" + + (id.endsWith('Key') ? "(钥匙类道具,遇到对应的门时自动打开)" : itemCls == 'tools' ? "(消耗类道具,请按T在道具栏使用)" : itemCls == 'constants' ? "(永久类道具,请按T在道具栏使用)" : itemCls == 'equips' ? "(装备类道具,请按Q在装备栏进行装备)" : "")); diff --git a/libs/items.js b/libs/items.js index a6604ebf..46121db2 100644 --- a/libs/items.js +++ b/libs/items.js @@ -202,8 +202,7 @@ items.prototype.setItem = function (itemId, itemNum) { core.status.hero.items[itemCls][itemId] = itemNum; if (core.status.hero.items[itemCls][itemId] <= 0) { - if (itemCls != 'keys') delete core.status.hero.items[itemCls][itemId]; - else core.status.hero.items[itemCls][itemId] = 0; + delete core.status.hero.items[itemCls][itemId]; } core.updateStatusBar(); } @@ -219,8 +218,7 @@ items.prototype.addItem = function (itemId, itemNum) { } core.status.hero.items[itemCls][itemId] += itemNum; if (core.status.hero.items[itemCls][itemId] <= 0) { - if (itemCls != 'keys') delete core.status.hero.items[itemCls][itemId]; - else core.status.hero.items[itemCls][itemId] = 0; + delete core.status.hero.items[itemCls][itemId]; } // 永久道具只能有一个 if (itemCls == 'constants' && core.status.hero.items[itemCls][itemId] > 1) @@ -235,8 +233,7 @@ items.prototype.removeItem = function (itemId, itemNum) { var itemCls = core.material.items[itemId].cls; core.status.hero.items[itemCls][itemId] -= itemNum; if (core.status.hero.items[itemCls][itemId] <= 0) { - if (itemCls != 'keys') delete core.status.hero.items[itemCls][itemId]; - else core.status.hero.items[itemCls][itemId] = 0; + delete core.status.hero.items[itemCls][itemId]; } core.updateStatusBar(); return true; diff --git a/libs/ui.js b/libs/ui.js index 60b2bc5f..cd8549ee 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -2171,8 +2171,10 @@ ui.prototype._drawToolbox_getInfo = function (index) { if (!core.status.event.data || core.status.event.data.toolsPage == null) core.status.event.data = {"toolsPage":1, "constantsPage":1, "selectId":null} // 获取物品列表 - var tools = Object.keys(core.status.hero.items.tools).sort(); - var constants = Object.keys(core.status.hero.items.constants).sort(); + var tools = Object.keys(core.status.hero.items.tools) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); + var constants = Object.keys(core.status.hero.items.constants) + .filter(function (id) { return !core.material.items[id].hideInToolbox; }).sort(); // 处理页数 var toolsPage = core.status.event.data.toolsPage; var constantsPage = core.status.event.data.constantsPage; @@ -2675,7 +2677,7 @@ ui.prototype._drawStatistics_buildObj = function () { else cls[e] = core.material.items[e].cls; cnt[e] = 0; }) - var order = ["doors", "keys", "items", "tools", "constants", "equips"]; + var order = ["doors", "items", "tools", "constants", "equips"]; ids.sort(function (a, b) { var c1 = order.indexOf(cls[a]), c2 = order.indexOf(cls[b]); if (c1==c2) return ori.indexOf(a)-ori.indexOf(b); diff --git a/libs/utils.js b/libs/utils.js index 41a14530..32714495 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -63,6 +63,7 @@ utils.prototype._init = function () { ////// 将文字中的${和}(表达式)进行替换 ////// utils.prototype.replaceText = function (text, prefix, need, times) { + if (typeof text != 'string') return text; return text.replace(/\${(.*?)}/g, function (word, value) { return core.calValue(value, prefix, need, times); }); diff --git a/main.js b/main.js index 68103b90..a7da4598 100644 --- a/main.js +++ b/main.js @@ -174,6 +174,7 @@ function main() { 'yellowKey': document.getElementById("yellowKey"), 'blueKey': document.getElementById("blueKey"), 'redKey': document.getElementById("redKey"), + 'greenKey': document.getElementById("greenKey"), 'poison': document.getElementById('poison'), 'weak':document.getElementById('weak'), 'curse': document.getElementById('curse'), diff --git a/project/data.js b/project/data.js index 2a5fdb4b..975ca42f 100644 --- a/project/data.js +++ b/project/data.js @@ -94,11 +94,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "experience": 0, "equipment": [], "items": { - "keys": { - "yellowKey": 0, - "blueKey": 0, - "redKey": 0 - }, "constants": {}, "tools": {}, "equips": {} @@ -429,6 +424,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "enableLevelUp": false, "levelUpLeftMode": false, "enableKeys": true, + "enableGreenKey": false, "enablePZF": false, "enableDebuff": false, "enableSkill": false, diff --git a/project/functions.js b/project/functions.js index 53f48d2f..a97db65a 100644 --- a/project/functions.js +++ b/project/functions.js @@ -1066,7 +1066,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } else core.setStatusBarInnerHTML('up', ""); // 钥匙 - var keys = ['yellowKey', 'blueKey', 'redKey']; + var keys = ['yellowKey', 'blueKey', 'redKey', 'greenKey']; keys.forEach(function (key) { core.setStatusBarInnerHTML(key, core.setTwoDigits(core.itemCount(key))); }); diff --git a/project/items.js b/project/items.js index 68c5ec33..645815c5 100644 --- a/project/items.js +++ b/project/items.js @@ -2,19 +2,22 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = { "items": { "yellowKey": { - "cls": "keys", + "cls": "tools", "name": "黄钥匙", - "text": "可以打开一扇黄门" + "text": "可以打开一扇黄门", + "hideInToolbox": true }, "blueKey": { - "cls": "keys", + "cls": "tools", "name": "蓝钥匙", - "text": "可以打开一扇蓝门" + "text": "可以打开一扇蓝门", + "hideInToolbox": true }, "redKey": { - "cls": "keys", + "cls": "tools", "name": "红钥匙", - "text": "可以打开一扇红门" + "text": "可以打开一扇红门", + "hideInToolbox": true }, "redJewel": { "cls": "items", @@ -182,13 +185,15 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "book": { "cls": "constants", "name": "怪物手册", - "text": "可以查看当前楼层各怪物属性" + "text": "可以查看当前楼层各怪物属性", + "hideInToolbox": true }, "fly": { "cls": "constants", "name": "楼层传送器", "text": "可以自由往来去过的楼层", - "hideInReplay": true + "hideInReplay": true, + "hideInToolbox": true }, "coin": { "cls": "constants", diff --git a/styles.css b/styles.css index 9fe80446..255fd81b 100644 --- a/styles.css +++ b/styles.css @@ -219,6 +219,7 @@ } #statusBar span{ font: bold italic 1.1em Verdana; + display: inline; } #statusBar p { display: inline-block; From 4b503e16638b31bf42354a7dbad0a95526fcf613 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 15:16:43 +0800 Subject: [PATCH 52/70] Optimize system switches, remove checkConsole --- API列表.txt | 5 ---- _docs/api.md | 5 ---- _docs/personalization.md | 2 +- _server/MotaAction.g4 | 8 +++--- _server/table/data.comment.js | 20 -------------- libs/actions.js | 50 ++++++++++++++++++++++------------- libs/control.js | 17 +++--------- libs/core.js | 3 ++- libs/events.js | 5 +--- libs/maps.js | 2 +- libs/ui.js | 5 ++-- libs/utils.js | 11 -------- project/data.js | 8 ++---- project/functions.js | 3 --- 14 files changed, 50 insertions(+), 94 deletions(-) diff --git a/API列表.txt b/API列表.txt index 58dd32ca..061b3ca9 100644 --- a/API列表.txt +++ b/API列表.txt @@ -2146,11 +2146,6 @@ core.showWithAnimate(obj, speed, callback) / core.hideWithAnimate(obj, speed, ca 动画淡入或淡出一个对象。 -core.consoleOpened() -检测当前的控制台是否处于开启状态。仅在全塔属性中的检查控制台开关开启时有效。 -此函数有可能会存在误伤行为,即没开过控制台仍认为开启过。 - - core.hashCode(obj) 计算一个对象的哈希值。 diff --git a/_docs/api.md b/_docs/api.md index 89d992f0..0d73e350 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -2151,11 +2151,6 @@ core.showWithAnimate(obj, speed, callback) / core.hideWithAnimate(obj, speed, ca 动画淡入或淡出一个对象。 -core.consoleOpened() -检测当前的控制台是否处于开启状态。仅在全塔属性中的检查控制台开关开启时有效。 -此函数有可能会存在误伤行为,即没开过控制台仍认为开启过。 - - core.hashCode(obj) 计算一个对象的哈希值。 diff --git a/_docs/personalization.md b/_docs/personalization.md index 0ea8654b..d32dc507 100644 --- a/_docs/personalization.md +++ b/_docs/personalization.md @@ -709,7 +709,7 @@ if (core.flags.enableSkill) { - **`flag:textAttribute`**, **`flag:globalAttribute`**, **`flag:globalFlags`**: 当前的剧情文本属性,当前的全局属性,当前的全局开关。 - **`flag:cannotMoveDirectly`**, **`flag:__noClickMove__`**: 当前是否不允许瞬间移动,当前用户是否开启了单击瞬移。 - **`flag:hideStatusBar`**, **`flag:showToolbox`**: 是否隐藏状态栏,是否显示工具栏。 -- **`flag:debug`**, **`flag:__consoleOpened__`**: 当前是否开启了调试模式,是否开启了控制台。 +- **`flag:debug`**: 当前是否开启了调试模式。 - **`flag:__seed__`**, **`flag:__rand__`**: 伪随机数生成种子和当前的状态 ========================================================================================== diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 36865510..38f209be 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -2740,13 +2740,13 @@ Global_Attribute_List /*Global_Attribute_List ['font','statusLeftBackground','statusTopBackground', 'toolsBackground', 'borderColor', 'statusBarColor', 'hardLabelColor', 'floorChangingBackground', 'floorChangingTextColor', 'equipName']*/; Global_Value_List - : '血网伤害'|'中毒伤害'|'衰弱效果'|'红宝石效果'|'蓝宝石效果'|'绿宝石效果'|'红血瓶效果'|'蓝血瓶效果'|'黄血瓶效果'|'绿血瓶效果'|'破甲比例'|'反击比例'|'净化比例'|'仇恨增加值'|'行走速度'|'动画时间'|'楼层切换时间' - /*Global_Value_List ['lavaDamage','poisonDamage','weakValue', 'redJewel', 'blueJewel', 'greenJewel', 'redPotion', 'bluePotion', 'yellowPotion', 'greenPotion', 'breakArmor', 'counterAttack', 'purify', 'hatred', 'moveSpeed', 'animateSpeed', 'floorChangeTime']*/; + : '血网伤害'|'中毒伤害'|'衰弱效果'|'红宝石效果'|'蓝宝石效果'|'绿宝石效果'|'红血瓶效果'|'蓝血瓶效果'|'黄血瓶效果'|'绿血瓶效果'|'破甲比例'|'反击比例'|'净化比例'|'仇恨增加值'|'动画时间' + /*Global_Value_List ['lavaDamage','poisonDamage','weakValue', 'redJewel', 'blueJewel', 'greenJewel', 'redPotion', 'bluePotion', 'yellowPotion', 'greenPotion', 'breakArmor', 'counterAttack', 'purify', 'hatred', 'animateSpeed']*/; Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'寻路算法不绕血瓶'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'potionWhileRouting', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg', 'checkConsole']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index e0eaf5d4..242731b5 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -407,20 +407,10 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_data": "仇恨属性中,每杀死一个怪物获得的仇恨值" }, - "moveSpeed": { - "_leaf": true, - "_type": "textarea", - "_data": "行走速度,即勇士每走一格的时间,一般100比较合适" - }, "animateSpeed": { "_leaf": true, "_type": "textarea", "_data": "全局动画时间,即怪物振动频率,一般300比较合适" - }, - "floorChangeTime": { - "_leaf": true, - "_type": "textarea", - "_data": "默认楼层切换时间" } } }, @@ -613,11 +603,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "checkbox", "_data": "是否允许轻触(获得面前物品)" }, - "potionWhileRouting": { - "_leaf": true, - "_type": "checkbox", - "_data": "寻路算法是否经过血瓶和绿钥匙;如果该项为false,则寻路算法会自动尽量绕过血瓶和绿钥匙" - }, "ignoreChangeFloor": { "_leaf": true, "_type": "checkbox", @@ -647,11 +632,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "checkbox", "_data": "是否虚化前景层;如果此项开启,则在游戏中事件层有东西(如宝石等)时虚化前景层。" - }, - "checkConsole": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否检查控制台的开启情况。" } } } diff --git a/libs/actions.js b/libs/actions.js index 1236773d..de3809c0 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -841,12 +841,6 @@ actions.prototype._selectChoices = function (length, keycode, callback) { if (keycode == 13 || keycode == 32 || keycode == 67) { callback.apply(this, [this.HSIZE, topIndex + core.status.event.selection]); } - //左右方向键调整 音量 行走速度 - if(core.status.event.id == "switchs" && (core.status.event.selection == 2 || core.status.event.selection == 3)) - { - if (keycode == 37) callback.apply(this, [this.HSIZE - 2, topIndex + core.status.event.selection]); - if (keycode == 39) callback.apply(this, [this.HSIZE + 2, topIndex + core.status.event.selection]); - } if (keycode >= 49 && keycode <= 57) { var index = keycode - 49; @@ -1956,7 +1950,7 @@ actions.prototype._clickSwitchs = function (x, y) { var topIndex = this.HSIZE - parseInt((choices.length - 1) / 2) + (core.status.event.ui.offset || 0); var selection = y - topIndex; if (x < this.CHOICES_LEFT || x > this.CHOICES_RIGHT) { - if (selection != 2 && selection != 3) return; + if (selection != 2 && selection != 3 && selection != 4) return; } var width = choices[selection].width; var leftPos = (core.__PIXELS__ - width) / 2, rightPos = (core.__PIXELS__ + width) / 2; @@ -1977,16 +1971,20 @@ actions.prototype._clickSwitchs = function (x, y) { if (x == rightGrid || x == rightGrid + 1) return this._clickSwitchs_moveSpeed(10); return; case 4: - return this._clickSwitchs_displayEnemyDamage(); + if (x == leftGrid || x == leftGrid + 1) return this._clickSwitchs_floorChangeTime(-100); + if (x == rightGrid || x == rightGrid + 1) return this._clickSwitchs_floorChangeTime(100); + return; case 5: - return this._clickSwitchs_displayCritical(); + return this._clickSwitchs_displayEnemyDamage(); case 6: - return this._clickSwitchs_displayExtraDamage(); + return this._clickSwitchs_displayCritical(); case 7: - return this._clickSwitchs_localForage(); + return this._clickSwitchs_displayExtraDamage(); case 8: - return this._clickSwitchs_clickMove(); + return this._clickSwitchs_potionNoRouting(); case 9: + return this._clickSwitchs_clickMove(); + case 10: core.status.event.selection = 0; core.ui.drawSettings(); break; @@ -2022,6 +2020,12 @@ actions.prototype._clickSwitchs_moveSpeed = function (delta) { core.ui.drawSwitchs(); } +actions.prototype._clickSwitchs_floorChangeTime = function (delta) { + core.values.floorChangeTime = core.clamp(core.values.floorChangeTime + delta, 0, 2000); + core.setLocalStorage("floorChangeTime", core.values.floorChangeTime); + core.ui.drawSwitchs(); +} + actions.prototype._clickSwitchs_displayEnemyDamage = function () { core.flags.displayEnemyDamage = !core.flags.displayEnemyDamage; core.updateDamage(); @@ -2043,12 +2047,9 @@ actions.prototype._clickSwitchs_displayExtraDamage = function () { core.ui.drawSwitchs(); } -actions.prototype._clickSwitchs_localForage = function () { - core.platform.useLocalForage = !core.platform.useLocalForage; - core.setLocalStorage('useLocalForage', core.platform.useLocalForage); - core.control.getSaveIndexes(function (indexes) { - core.saves.ids = indexes; - }); +actions.prototype._clickSwitchs_potionNoRouting = function () { + if (core.hasFlag('__potionNoRouting__')) core.removeFlag('__potionNoRouting__'); + else core.setFlag('__potionNoRouting__', true); core.ui.drawSwitchs(); } @@ -2065,6 +2066,19 @@ actions.prototype._keyUpSwitchs = function (keycode) { core.ui.drawSettings(); return; } + if (keycode == 37) { + switch (core.status.event.selection) { + case 2: return this._clickSwitchs_userVolume(-1); + case 3: return this._clickSwitchs_moveSpeed(-10); + case 4: this._clickSwitchs_floorChangeTime(-100); + } + } else if (keycode == 39) { + switch (core.status.event.selection) { + case 2: return this._clickSwitchs_userVolume(1); + case 3: return this._clickSwitchs_moveSpeed(10); + case 4: this._clickSwitchs_floorChangeTime(100); + } + } this._selectChoices(core.status.event.ui.choices.length, keycode, this._clickSwitchs); } diff --git a/libs/control.js b/libs/control.js index b6a2f0e5..1ce0a944 100644 --- a/libs/control.js +++ b/libs/control.js @@ -26,7 +26,6 @@ control.prototype._init = function () { this.registerAnimationFrame("weather", true, this._animationFrame_weather); this.registerAnimationFrame("tip", true, this._animateFrame_tip); this.registerAnimationFrame("parallelDo", false, this._animationFrame_parallelDo); - this.registerAnimationFrame("checkConsoleOpened", true, this._animationFrame_checkConsoleOpened); // --- 注册系统的replay this.registerReplayAction("move", this._replayAction_move); this.registerReplayAction("item", this._replayAction_item); @@ -183,7 +182,7 @@ control.prototype._animationFrame_animate = function (timestamp) { control.prototype._animationFrame_heroMoving = function (timestamp) { if (core.status.heroMoving <= 0) return; // 换腿 - if (timestamp - core.animateFrame.moveTime > (core.values.moveSpeed||100)) { + if (timestamp - core.animateFrame.moveTime > core.values.moveSpeed) { core.animateFrame.leftLeg = !core.animateFrame.leftLeg; core.animateFrame.moveTime = timestamp; } @@ -316,10 +315,6 @@ control.prototype._animationFrame_parallelDo = function (timestamp) { core.control.controldata.parallelDo(timestamp); } -control.prototype._animationFrame_checkConsoleOpened = function (timestamp) { - if (core.consoleOpened()) core.setFlag('__consoleOpened__', true); -} - // ------ 标题界面的处理 ------ // ////// 显示游戏开始界面 ////// @@ -493,7 +488,7 @@ control.prototype._setAutomaticRoute_isMoving = function (destX, destY) { core.control.tryMoveDirectly(destX, destY); } core.status.automaticRoute.moveDirectly = false; - }, core.values.moveSpeed || 100); + }, core.values.moveSpeed); } return true; } @@ -609,7 +604,7 @@ control.prototype.setHeroMoveInterval = function (callback) { core.moveOneStep(core.nextX(), core.nextY()); if (callback) callback(); } - }, (core.values.moveSpeed||100) / 8 * toAdd / core.status.replay.speed); + }, core.values.moveSpeed / 8 * toAdd / core.status.replay.speed); } ////// 每移动一格后执行的事件 ////// @@ -904,7 +899,7 @@ control.prototype.setViewport = function (x, y) { ////// 移动视野范围 ////// control.prototype.moveViewport = function (steps, time, callback) { - time = time || core.values.moveSpeed || 300; + time = time || core.values.moveSpeed; var step = 0, moveSteps = (steps||[]).filter(function (t) { return ['up','down','left','right'].indexOf(t)>=0; }); @@ -1715,10 +1710,6 @@ control.prototype._doSL_load_afterGet = function (id, data) { var _replay = function () { core.startGame(data.hard, data.hero.flags.__seed__, core.decodeRoute(data.route)); }; - if (core.flags.checkConsole && data.hashCode != null && data.hashCode != core.hashCode(data.hero)) { - core.myconfirm("存档校验失败,请勿修改存档文件!\n你想回放此存档的录像吗?\n可以随时停止录像播放以继续游戏。", _replay); - return; - } if (data.version != core.firstData.version) { core.myconfirm("存档版本不匹配!\n你想回放此存档的录像吗?\n可以随时停止录像播放以继续游戏。", _replay); return; diff --git a/libs/core.js b/libs/core.js index 6d952165..7407d5ba 100644 --- a/libs/core.js +++ b/libs/core.js @@ -289,7 +289,8 @@ core.prototype._init_sys_flags = function () { core.flags.displayCritical = core.getLocalStorage('critical', core.flags.displayCritical); core.flags.displayExtraDamage = core.getLocalStorage('extraDamage', core.flags.displayExtraDamage); // 行走速度 - core.values.moveSpeed = core.getLocalStorage('moveSpeed', core.values.moveSpeed); + core.values.moveSpeed = core.getLocalStorage('moveSpeed', 100); + core.values.floorChangeTime = core.getLocalStorage('floorChangeTime', 500); } core.prototype._init_platform = function () { diff --git a/libs/events.js b/libs/events.js index 9498a3e0..ac10d89e 100644 --- a/libs/events.js +++ b/libs/events.js @@ -133,7 +133,6 @@ events.prototype.gameOver = function (ending, fromReplay, norank) { var reason = null; if (fromReplay) reason = "录像回放完毕!"; else if (core.hasFlag("debug")) reason = "\t[系统提示]调试模式下无法上传成绩"; - else if (core.hasFlag("__consoleOpened__")) reason = "\t[系统提示]本存档开启过控制台,无法上传成绩"; if (reason != null) core.drawText(reason, core.restart); @@ -602,8 +601,6 @@ events.prototype._changeFloor_getInfo = function (floorId, stair, heroLoc, time) if (main.mode != 'play' || core.isReplaying()) time = 0; if (time == null) time = core.values.floorChangeTime; - if (time == null) time = 800; - if (time < 100) time = 0; time /= 20; return { @@ -2770,7 +2767,7 @@ events.prototype._vibrate_update = function (shakeInfo) { /////// 使用事件让勇士移动。这个函数将不会触发任何事件 ////// events.prototype.eventMoveHero = function(steps, time, callback) { - time = time || core.values.moveSpeed || 100; + time = time || core.values.moveSpeed; var step = 0, moveSteps = (steps||[]).filter(function (t) { return ['up','down','left','right','forward','backward'].indexOf(t)>=0; }); diff --git a/libs/maps.js b/libs/maps.js index 0f259d26..2d095e38 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -688,7 +688,7 @@ maps.prototype._automaticRoute_deepAdd = function (x, y) { // 绕过路障 if (id.endsWith("Net")) deepAdd += 100; // 绕过血瓶和绿宝石 - if (!core.flags.potionWhileRouting && (id.endsWith("Potion") || id == 'greenJewel')) deepAdd += 100; + if (core.hasFlag('__potionNoRouting__') && (id.endsWith("Potion") || id == 'greenJewel')) deepAdd += 100; // 绕过传送点 // if (block.block.event.trigger == 'changeFloor') deepAdd+=10; } diff --git a/libs/ui.js b/libs/ui.js index cd8549ee..fcc48a03 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1524,10 +1524,11 @@ ui.prototype.drawSwitchs = function() { " < 音量:" + Math.round(Math.sqrt(100 * core.musicStatus.userVolume)) + " > ", //数值越大耗时越长 " < 步时:" + core.values.moveSpeed + " > ", + " < 转场:" + core.values.floorChangeTime + " > ", "怪物显伤: "+(core.flags.displayEnemyDamage ? "[ON]" : "[OFF]"), "临界显伤: "+(core.flags.displayCritical ? "[ON]" : "[OFF]"), "领域显伤: "+(core.flags.displayExtraDamage ? "[ON]" : "[OFF]"), - "新版存档: "+(core.platform.useLocalForage ? "[ON]":"[OFF]"), + "血瓶绕路: "+(core.hasFlag('__potionNoRouting__') ? "[ON]":"[OFF]"), "单击瞬移: "+(!core.hasFlag("__noClickMove__") ? "[ON]":"[OFF]"), "返回主菜单" ]; @@ -2545,7 +2546,7 @@ ui.prototype._drawSLPanel_drawRecord = function(title, data, x, y, size, cho, hi var v2 = "/"+core.formatBigNumber(data.hero.mdef,true); if (core.calWidth('ui', v + v2, this._buildFont(10, false)) <= size) v += v2; core.fillText('ui', v, x, y+30+size, '#FFD700'); - core.fillText('ui', core.formatDate(new Date(data.time)), x, y+43+size, data.hero.flags.__consoleOpened__||data.hero.flags.debug?'#FF6A6A':'#FFFFFF'); + core.fillText('ui', core.formatDate(new Date(data.time)), x, y+43+size, data.hero.flags.debug?'#FF6A6A':'#FFFFFF'); } else { core.fillRect('ui', x-size/2, y+15, size, size, '#333333', 2); diff --git a/libs/utils.js b/libs/utils.js index 32714495..7a97243f 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -1070,17 +1070,6 @@ utils.prototype._decodeCanvas = function (arr, width, height) { tempCanvas.putImageData(imgData, 0, 0); } -utils.prototype.consoleOpened = function () { - if (!core.flags.checkConsole) return false; - if (window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized) - return true; - if (!core.platform.isPC) return false; - var threshold = 160; - var zoom = Math.min(window.outerWidth / window.innerWidth, window.outerHeight / window.innerHeight); - return window.outerWidth - zoom * window.innerWidth > threshold - || window.outerHeight - zoom * window.innerHeight > threshold; -} - utils.prototype.hashCode = function (obj) { if (typeof obj == 'string') { var hash = 0, i, chr; diff --git a/project/data.js b/project/data.js index 975ca42f..d27cc4ee 100644 --- a/project/data.js +++ b/project/data.js @@ -408,9 +408,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "counterAttack": 0.1, "purify": 3, "hatred": 2, - "moveSpeed": 100, - "animateSpeed": 400, - "floorChangeTime": 800 + "animateSpeed": 400 }, "flags": { "enableFloor": true, @@ -450,13 +448,11 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "displayCritical": true, "displayExtraDamage": true, "enableGentleClick": true, - "potionWhileRouting": false, "ignoreChangeFloor": true, "canGoDeadZone": false, "enableMoveDirectly": true, "enableDisabledShop": true, "disableShopOnDamage": false, - "blurFg": false, - "checkConsole": false + "blurFg": false } } \ No newline at end of file diff --git a/project/functions.js b/project/functions.js index a97db65a..84d6ab7e 100644 --- a/project/functions.js +++ b/project/functions.js @@ -947,9 +947,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = 'version': core.firstData.version, "time": new Date().getTime() }; - if (core.flags.checkConsole) { - data.hashCode = core.utils.hashCode(data.hero); - } // 设置商店次数 for (var shopId in core.status.shops) { data.shops[shopId] = { From 7db5abe7e40044508064923f9ddc832aaa0838e6 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 16:30:18 +0800 Subject: [PATCH 53/70] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/css/editor_mode.css | 6 +- _server/editor_table.js | 24 ++-- _server/table/comment.js | 71 ++++++++++- _server/table/data.comment.js | 108 ++++++++++++++-- _server/table/events.comment.js | 6 +- _server/table/functions.comment.js | 39 +++--- _server/table/maps.comment.js | 197 ----------------------------- _server/table/plugins.comment.js | 6 +- libs/control.js | 8 +- libs/events.js | 2 - libs/ui.js | 2 +- project/data.js | 1 + v2.x-final更新.txt | 3 + 13 files changed, 210 insertions(+), 263 deletions(-) delete mode 100644 _server/table/maps.comment.js diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index 1542cf22..d7cc4010 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -130,7 +130,7 @@ .etable table th, .etable table td { - padding: 6px 13px; + padding: 5px; border: 1px solid #dfe2e5; } @@ -154,7 +154,7 @@ } .etable tr > :nth-child(2) { - width: 20% + width: 22% } .etable tr > :nth-child(3) { @@ -162,7 +162,7 @@ } .etable tr > :nth-child(4) { - width: 25%; + width: 23%; padding: 0; } diff --git a/_server/editor_table.js b/_server/editor_table.js index f8a4409d..eac76571 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -45,11 +45,11 @@ editor_table_wrapper = function (editor) { editor_table.prototype.checkboxSetMember = function (value,key,prefixString) { return /* html */`${prefixString}\n`; } - editor_table.prototype.editGrid = function (showComment) { - var html = ""; - if (showComment) html += "
"; - html += ""; - return html; + editor_table.prototype.editGrid = function (showComment, showEdit) { + var list = []; + if (showComment) list.push(""); + if (showEdit) list.push(""); + return list.join(' '); } editor_table.prototype.title = function () { @@ -60,12 +60,12 @@ editor_table_wrapper = function (editor) { return /* html */`--------${field}----\n` } - editor_table.prototype.tr = function (guid, field, shortField, commentHTMLescape, cobjstr, shortCommentHTMLescape, tdstr) { + editor_table.prototype.tr = function (guid, field, shortField, commentHTMLescape, cobjstr, shortComment, tdstr, type) { return /* html */` ${shortField} - ${shortCommentHTMLescape} + ${shortComment || commentHTMLescape}
${tdstr}
- ${editor.table.editGrid(commentHTMLescape != shortCommentHTMLescape)} + ${editor.table.editGrid(shortComment, type != 'select' && type != 'checkbox' && type != 'checkboxSet')} \n` } @@ -235,16 +235,16 @@ editor_table_wrapper = function (editor) { var thiseval = vobj; var comment = String(cobj._data); - var charlength = 10; + var charlength = 15; // "['a']['b']" => "b" var shortField = field.split("']").slice(-2)[0].split("['").slice(-1)[0]; // 把长度超过 charlength 的字符改成 固定长度+...的形式 - // shortField = (shortField.length < charlength ? shortField : shortField.slice(0, charlength) + '...'); + shortField = (shortField.length < charlength ? shortField : shortField.slice(0, charlength) + '...'); // 完整的内容转义后供悬停查看 var commentHTMLescape = editor.util.HTMLescape(comment); // 把长度超过 charlength 的字符改成 固定长度+...的形式 - var shortCommentHTMLescape = (comment.length < charlength ? commentHTMLescape : editor.util.HTMLescape(comment.slice(0, charlength)) + '...'); + // var shortCommentHTMLescape = (comment.length < charlength ? commentHTMLescape : editor.util.HTMLescape(comment.slice(0, charlength)) + '...'); var cobjstr = Object.assign({}, cobj); delete cobjstr._data; @@ -252,7 +252,7 @@ editor_table_wrapper = function (editor) { cobjstr = editor.util.HTMLescape(JSON.stringify(cobjstr)); var tdstr = editor.table.objToTd(obj, commentObj, field, cfield, vobj, cobj) - var outstr = editor.table.tr(guid, field, shortField, commentHTMLescape, cobjstr, shortCommentHTMLescape, tdstr) + var outstr = editor.table.tr(guid, field, shortField, commentHTMLescape, cobjstr, cobj._docs, tdstr, cobj._type) return [outstr, guid]; } diff --git a/_server/table/comment.js b/_server/table/comment.js index 0df86b2c..57b321bc 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -25,33 +25,38 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "equips" ] }, + "_docs": "道具类别", "_data": "只能取items(宝石、血瓶) constants(永久物品) tools(消耗道具) equips(装备)" }, "name": { "_leaf": true, "_type": "textarea", "_string": true, - "_data": "名称" + "_data": "道具名称" }, "text": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "道具描述", "_data": "道具在道具栏中显示的描述" }, "hideInToolbox": { "_leaf": true, "_type": "checkbox", + "_docs": "道具栏中隐藏", "_data": "是否不显示在道具栏中" }, "equip": { "_leaf": true, "_type": "textarea", + "_docs": "道具的装备属性", "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防魔防和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。" }, "hideInReplay": { "_leaf": true, "_type": "checkbox", + "_docs": "回放不绘制道具栏", "_data": "是否回放时不绘制道具栏。\n如果此项为true,则在回放录像时使用本道具将不会绘制道具栏页面,而是直接使用。\n此项建议在会频繁连续多次使用的道具开启(如开启技能,或者《镜子》那样的镜像切换等等)" } } @@ -61,6 +66,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "即捡即用效果", "_data": "即捡即用类物品的效果,仅对cls为items有效。" }, "itemEffectTip": { @@ -68,12 +74,14 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "即捡即用提示", "_data": "即捡即用类物品在获得时提示的文字,仅对cls为items有效。" }, "useItemEvent": { "_leaf": true, "_type": "event", "_event": "item", + "_docs": "碰触或使用事件", "_data": "碰触或使用本道具所执行的事件" }, "useItemEffect": { @@ -81,6 +89,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "使用效果", "_data": "道具效果,仅对cls为tools或constants有效。" }, "canUseItemEffect": { @@ -88,6 +97,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "能否使用条件", "_data": "当前能否使用该道具,仅对cls为tools或constants有效。" }, "equipCondition": { @@ -95,6 +105,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "能否装备条件", "_data": "能装备某个装备的条件,仅对cls为equips有效。\n与canUseItemEffect不同,这里null代表可以装备。" } } @@ -116,6 +127,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "手册映射ID", "_data": "在怪物手册中映射到的怪物ID。如果此项不为null,则在怪物手册中,将用目标ID来替换该怪物原本的ID。\n此项应被运用在同一个怪物的多朝向上。\n例如,如果想定义同一个怪物的向下和向左的行走图,则需要建立两个属性完全相同的怪物。\n但是这样会导致在怪物手册中同时存在向下和向左的两种怪物的显示。\n可以将朝向左的怪物的displayIdInBook项指定为朝向下的怪物ID,这样在怪物手册中则会归一化,只显示一个。" }, "hp": { @@ -152,56 +164,66 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval==null || thiseval instanceof Array || (thiseval==~~thiseval && thiseval>=0)", + "_docs": "特殊属性", "_data": "特殊属性\n\n0:无,1:先攻,2:魔攻,3:坚固,4:2连击,\n5:3连击,6:n连击,7:破甲,8:反击,9:净化,\n10:模仿,11:吸血,12:中毒,13:衰弱,14:诅咒,\n15:领域,16:夹击,17:仇恨,18:阻击,19:自爆,\n20:无敌,21:退化,22:固伤,23:重生,24:激光,25:光环\n26:支援,27:捕捉\n多个属性例如用[1,4,11]表示先攻2连击吸血" }, "value": { "_leaf": true, "_type": "textarea", + "_docs": "特殊属性值", "_data": "特殊属性的数值\n如:领域/阻激/激光怪的伤害值;吸血怪的吸血比例;光环怪增加生命的比例" }, "zoneSquare": { "_leaf": true, "_type": "checkbox", + "_docs": "九宫格领域", "_data": "领域怪是否九宫格伤害" }, "range": { "_leaf": true, "_type": "textarea", "_range": "(thiseval==~~thiseval && thiseval>0)||thiseval==null", + "_docs": "领域范围", "_data": "领域伤害的范围;不加默认为1" }, "notBomb": { "_leaf": true, "_type": "checkbox", + "_docs": "是否不可炸", "_data": "该怪物不可被炸" }, "n": { "_leaf": true, "_type": "textarea", "_range": "(thiseval==~~thiseval && thiseval>0)||thiseval==null", + "_docs": "连击数", "_data": "多连击的连击数" }, "add": { "_leaf": true, "_type": "checkbox", + "_docs": "吸血加自身", "_data": "吸血后是否加到自身;光环是否叠加" }, "atkValue": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "退化扣攻击", "_data": "退化时勇士下降的攻击力点数;光环怪增加攻击的比例" }, "defValue": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "退化扣防御", "_data": "退化时勇士下降的防御力点数;光环怪增加防御的比例" }, "damage": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "固伤", "_data": "战前扣血的点数" } } @@ -250,11 +272,13 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "custom" ] }, + "_docs": "触发器", "_data": "该图块的默认触发器" }, "canPass": { "_leaf": true, "_type": "checkbox", + "_docs": "可通行性", "_data": "该图块是否可以通行;true代表可以通行,false代表不可通行" }, "script": { @@ -262,6 +286,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "碰触脚本", "_data": "触碰到该图块时自动执行的脚本内容;此脚本会在该点的触发器执行前执行" }, "cannotOut": { @@ -271,6 +296,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "prefix":["上: ","下: ","
左: ","右: "], "key":["up","down","left","right"] }, + "_docs": "不可出方向", "_data": "该图块的不可出方向\n可以在这里定义在该图块时不能前往哪个方向,可以达到悬崖之类的效果\n例如 [\"up\", \"left\"] 代表在该图块时不能往上和左走\n此值对背景层、事件层、前景层上的图块均有效" }, "cannotIn": { @@ -280,27 +306,32 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "prefix":["上: ","下: ","
左: ","右: "], "key":["up","down","left","right"] }, + "_docs": "不可入方向", "_data": "该图块的不可入方向\n可以在这里定义不能朝哪个方向进入该图块,可以达到悬崖之类的效果\n例如 [\"down\"] 代表不能从该图块的上方点朝向下进入此图块\n此值对背景层、事件层、前景层上的图块均有效" }, "canBreak": { "_leaf": true, "_type": "checkbox", + "_docs": "可破震", "_data": "该图块是否可被破墙或地震" }, "animate": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "动画帧数", "_data": "该图块的全局动画帧数。\n如果此项为null,则对于除了npc48外,使用素材默认帧数;npc48默认是1帧(即静止)。" }, "doorInfo": { "_leaf": true, "_type": "textarea", + "_docs": "门信息", "_data": "该图块的门信息,是一个三元数组。\n第一项为所需要的钥匙信息,第二项为开此门时的音效,第三项为关此门时的音效。仅对animates生效。" }, "faceIds": { "_leaf": true, "_type": "textarea", + "_docs": "行走图朝向", "_data": "行走图朝向,仅对NPC有效。可以在这里定义同一个NPC的多个朝向行走图。\n比如 {\"up\":\"N333\",\"down\":\"N334\",\"left\":\"N335\",\"right\":\"N336\"} 就将该素材的上下左右朝向分别绑定到N333,N334,N335和N336四个图块。\n在勇士撞上NPC时,或NPC在移动时,会自动选择最合适的朝向图块(如果存在定义)来进行绘制。" } } @@ -318,60 +349,71 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "false", + "_docs": "楼层ID", "_data": "文件名和floorId需要保持完全一致 \n楼层唯一标识符仅能由字母、数字、下划线组成,且不能由数字开头 \n推荐用法:第20层就用MT20,第38层就用MT38,地下6层就用MT_6(用下划线代替负号),隐藏3层用MT3h(h表示隐藏),等等 \n楼层唯一标识符,需要和名字完全一致 \n这里不能更改floorId,请通过另存为来实现" }, "title": { "_leaf": true, "_type": "textarea", + "_docs": "楼层中文名", "_data": "楼层中文名,将在切换楼层和浏览地图时显示" }, "name": { "_leaf": true, "_type": "textarea", + "_docs": "状态栏显示", "_data": "显示在状态栏中的层数" }, "width": { "_leaf": true, "_type": "textarea", "_range": "false", + "_docs": "宽度", "_data": "地图x方向大小,这里不能更改,仅能在新建地图时设置,null视为13" }, "height": { "_leaf": true, "_type": "textarea", "_range": "false", + "_docs": "高度", "_data": "地图y方向大小,这里不能更改,仅能在新建地图时设置,null视为13" }, "canFlyTo": { "_leaf": true, "_type": "checkbox", + "_docs": "可飞", "_data": "该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器)" }, "canUseQuickShop": { "_leaf": true, "_type": "checkbox", + "_docs": "可快捷商店", "_data": "该层是否允许使用快捷商店" }, "cannotViewMap": { "_leaf": true, "_type": "checkbox", + "_docs": "不可浏览", "_data": "该层是否不允许被浏览地图看到;如果勾上则浏览地图会跳过该层" }, "cannotMoveDirectly": { "_leaf": true, "_type": "checkbox", + "_docs": "不可瞬移", "_data": "该层是否不允许瞬间移动;如果勾上则不可在此层进行瞬移" }, "firstArrive": { "_leaf": true, "_type": "event", "_event": "firstArrive", + "_docs": "首次到达事件", "_data": "第一次到该楼层触发的事件,可以双击进入事件编辑器。" }, "eachArrive": { "_leaf": true, "_type": "event", "_event": "eachArrive", + "_docs": "每次到达事件", "_data": "每次到该楼层触发的事件,可以双击进入事件编辑器;该事件会在firstArrive执行后再执行。" }, "parallelDo": { @@ -379,38 +421,45 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, - "_data": "在该层楼时执行的并行事件处理。\n可以在这里写上任意需要自动执行的脚本,比如打怪自动开门等。\n详见文档-事件-并行事件处理。" + "_docs": "并行处理脚本", + "_data": "在该层楼时执行的并行脚本处理。\n可以在这里写上任意需要自动执行的脚本,比如打怪自动开门等。\n详见文档-事件-并行事件处理。" }, "upFloor": { "_leaf": true, "_type": "textarea", "_range": "thiseval==null||((thiseval instanceof Array) && thiseval.length==2)", + "_docs": "上楼点", "_data": "该层上楼点,如[2,3]。\n如果此项不为null,则楼层转换时的stair:upFloor,以及楼传器的落点会被替换成该点而不是该层的上楼梯。" }, "downFloor": { "_leaf": true, "_type": "textarea", "_range": "thiseval==null||((thiseval instanceof Array) && thiseval.length==2)", + "_docs": "下楼点", "_data": "该层下楼点,如[2,3]。\n如果此项不为null,则楼层转换时的stair:downFloor,以及楼传器的落点会被替换成该点而不是该层的下楼梯。" }, "defaultGround": { "_leaf": true, "_type": "textarea", + "_docs": "地面图块", "_data": "默认地面的图块ID,此项修改后需要刷新才能看到效果。不填则默认是ground" }, "images": { "_leaf": true, "_type": "textarea", + "_docs": "楼层贴图", "_data": "背景/前景图;你可以选择若干张图片来作为背景/前景素材。详细用法请参见文档“自定义素材”中的说明。" }, "color": { "_leaf": true, "_type": "textarea", + "_docs": "色调", "_data": "该层的默认画面色调。本项可不写(代表无色调),如果写需要是一个RGBA数组如[255,0,0,0.3]" }, "weather": { "_leaf": true, "_type": "textarea", + "_docs": "天气", "_data": "该层的默认天气。本项可忽略表示晴天,如果写则第一项为\"rain\",\"snow\"或\"fog\"代表雨雪雾,第二项为1-10之间的数代表强度。\n如[\"rain\", 8]代表8级雨天。" }, "bgm": { @@ -419,17 +468,20 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_select": { "values": [null].concat(Object.keys(editor.core.material.bgms)) }, + "_docs": "背景音乐", "_data": "到达该层后默认播放的BGM。本项可忽略,或者为一个定义过的背景音乐如\"bgm.mp3\"。" }, "item_ratio": { "_leaf": true, "_type": "textarea", "_range": "(thiseval==~~thiseval && thiseval>=0)||thiseval==null", + "_docs": "宝石血瓶效果", "_data": "每一层的宝石/血瓶效果,即获得宝石和血瓶时框内\"ratio\"的值。" }, "underGround": { "_leaf": true, "_type": "checkbox", + "_docs": "是否是地下层", "_data": "是否是地下层;如果该项为true则同层传送将传送至上楼梯" } } @@ -441,6 +493,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "event", + "_docs": "普通事件", "_data": "该点的可能事件列表,可以双击进入事件编辑器。" }, "autoEvent": { @@ -457,7 +510,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "autoEvent", - "_data": "自动事件页" + "_data": "自动事件" } } }, @@ -465,30 +518,38 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "changeFloor", + "_docs": "楼层转换", "_data": "该点楼层转换事件;该事件不能和上面的events同时出现,否则会被覆盖" }, "afterBattle": { "_leaf": true, "_type": "event", "_event": "afterBattle", + "_docs": "战后事件", "_data": "该点战斗后可能触发的事件列表,可以双击进入事件编辑器。" }, "afterGetItem": { "_leaf": true, "_type": "event", "_event": "afterGetItem", + "_docs": "道具后事件", "_data": "该点获得道具后可能触发的事件列表,可以双击进入事件编辑器。" }, "afterOpenDoor": { "_leaf": true, "_type": "event", "_event": "afterOpenDoor", + "_docs": "开门后事件", "_data": "该点开完门后可能触发的事件列表,可以双击进入事件编辑器。" }, "cannotMove": { "_leaf": true, - "_type": "textarea", - "_range": "thiseval==null||(thiseval instanceof Array)", + "_type": "checkboxSet", + "_checkboxSet": { + "prefix":["上: ","下: ","
左: ","右: "], + "key":["up","down","left","right"] + }, + "_docs": "不可通行性", "_data": "该点不可通行的方向 \n 可以在这里定义该点不能前往哪个方向,可以达到悬崖之类的效果\n例如 [\"up\", \"left\"] 代表该点不能往上和左走" }, } diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 242731b5..da4b28c5 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -14,131 +14,153 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkFloorIds(thiseval)", + "_docs": "楼层列表", "_data": "在这里按顺序放所有的楼层;其顺序直接影响到楼层传送器、浏览地图和上/下楼器的顺序" }, "images": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkImages(thiseval)", + "_docs": "本塔使用图片", "_data": "在此存放所有可能使用的图片(tilesets除外) \n图片可以被作为背景图(的一部分),也可以直接用自定义事件进行显示。 \n 图片名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好 \n 建议对于较大的图片,在网上使用在线的“图片压缩工具(http://compresspng.com/zh/)”来进行压缩,以节省流量 \n 依次向后添加" }, "tilesets": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkImages(thiseval)", + "_docs": "本塔额外素材", "_data": "在此存放额外素材的图片名, \n可以自定导入任意张素材图片,无需PS,无需注册,即可直接在游戏中使用 \n 形式如[\"1.png\", \"2.png\"] ,将需要的素材图片放在images目录下 \n 素材的宽高必须都是32的倍数,且图片上的总图块数不超过1000(即最多有1000个32*32的图块在该图片上)" }, "animates": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkUnique(thiseval)", + "_docs": "本塔使用动画", "_data": "在此存放所有可能使用的动画,必须是animate格式,在这里不写后缀名 \n动画必须放在animates目录下;文件名不能使用中文,不能带空格或特殊字符 \n \"jianji\", \"thunder\" 根据需求自行添加" }, "bgms": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkUnique(thiseval)", + "_docs": "本塔使用音乐", "_data": "在此存放所有的bgm,和文件名一致。 \n音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好" }, "sounds": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkUnique(thiseval)", + "_docs": "本塔使用音效", "_data": "在此存放所有的SE,和文件名一致 \n音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好" }, "nameMap": { "_leaf": true, "_type": "textarea", + "_docs": "文件名映射", "_data": "文件名映射,目前仅对images, animates, bgms, sounds有效。\n例如定义 {\"精灵石.mp3\":\"jinglingshi.mp3\"} 就可以使用\ncore.playBgm(\"精灵石.mp3\") 或对应的事件来播放该bgm。" }, "startBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题背景", "_data": "标题界面的背景,建议使用jpg格式以压缩背景图空间" }, "startLogoStyle": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题样式", "_data": "标题样式:可以改变颜色,也可以写\"display: none\"来隐藏标题" }, "startButtonsStyle": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题按钮样式", "_data": "标题界面按钮的样式;caret-color指的是当前选中项的边框颜色" }, "levelChoose": { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Array && thiseval.length>=1 && thiseval[0] instanceof Array && thiseval[0].length==2", + "_docs": "难度分歧", "_data": "难度选择:每个数组的第一个是其在标题界面显示的难度,第二个是在游戏内部传输的字符串,会显示在状态栏,修改此处后需要在project/functions中作相应更改。\n如果需直接开始游戏将下面的startDirectly开关打开即可。" }, "equipName": { "_leaf": true, "_type": "textarea", "_range": "(thiseval instanceof Array && thiseval.length<=6)||thiseval==null", + "_docs": "装备孔", "_data": "装备位名称,为不超过6个的数组,此项的顺序与equiptype数值关联;例如可写[\"武器\",\"防具\",\"首饰\"]等等。" }, "startBgm": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题音乐", "_data": "在标题界面应该播放的bgm内容" }, "statusLeftBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "横屏状态栏", "_data": "横屏时左侧状态栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" }, "statusTopBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "竖屏状态栏", "_data": "竖屏时上方状态栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" }, "toolsBackground": { "_leaf": true, "_type": "textarea", "_string": true, - "_data": "竖屏时下方道具栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" + "_docs": "竖屏工具栏", + "_data": "竖屏时下方工具栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" }, "borderColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "边框色", "_data": "边框颜色,包括游戏边界的边框和对话框边框等。" }, "statusBarColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "状态栏文字色", "_data": "状态栏的文字颜色,默认是白色" }, "hardLabelColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "难度标签色", "_data": "难度显示的颜色,默认是红色" }, "floorChangingBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "转场背景色", "_data": "楼层转换界面的背景样式;可以使用纯色(默认值black),也可以使用图片(参见状态栏的图片写法)" }, "floorChangingTextColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "转场文字色", "_data": "楼层转换界面的文字颜色,默认是白色" }, "font": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "全局字体", "_data": "游戏中使用的字体,默认是Verdana" } } @@ -150,6 +172,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "游戏名", "_data": "游戏名,将显示在标题页面以及切换楼层的界面中" }, "name": { @@ -157,12 +180,14 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_range": "/^[a-zA-Z0-9_]{1,30}$/.test(thiseval)", + "_docs": "唯一英文标识符", "_data": "游戏的唯一英文标识符。由英文、数字、下划线组成,不能超过30个字符。\n此项必须修改,其将直接影响到存档的定位!" }, "version": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "游戏版本", "_data": "当前游戏版本;版本不一致的存档不能通用。" }, "floorId": { @@ -172,6 +197,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "values": data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds }, "_range": "data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds.indexOf(thiseval)!==-1", + "_docs": "初始楼层", "_data": "初始楼层的ID" }, "hero": { @@ -181,33 +207,34 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_string": true, - "_data": "勇士名;可以改成喜欢的" + "_data": "勇士名" }, "lv": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval &&thiseval>0", - "_data": "初始等级,该项必须为正整数" + "_data": "初始等级" }, "hpmax": { "_leaf": true, "_type": "textarea", - "_data": "初始生命上限,只有在enableHPMax开启时才有效" + "_data": "初始上限" }, "hp": { "_leaf": true, "_type": "textarea", - "_data": "初始生命值" + "_data": "初始生命" }, "manamax": { "_leaf": true, "_type": "textarea", + "_docs": "魔力上限", "_data": "魔力上限;此项非负才会生效(null或小于0都不会生效)" }, "mana": { "_leaf": true, "_type": "textarea", - "_data": "初始魔力值,只在enableMana开启时才有效" + "_data": "初始魔力" }, "atk": { "_leaf": true, @@ -238,7 +265,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Array", - "_data": "初始装上的装备,此处建议请直接留空数组" + "_data": "初始装备" }, "items": { "_type": "object", @@ -247,18 +274,21 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", + "_docs": "永久道具", "_data": "初始永久道具个数,例如初始送手册可以写 {\"book\": 1}" }, "tools": { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", + "_docs": "消耗道具", "_data": "初始消耗道具个数,例如初始有两破可以写 {\"pickaxe\": 2}" }, "equips": { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", + "_docs": "初始装备个数", "_data": "初始装备个数,例如初始送铁剑可以写 {\"sword1\": 1}" } } @@ -269,7 +299,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "direction": { "_leaf": true, "_type": "select", - "_data": "勇士初始方向", + "_data": "初始朝向", "_select": { "values": [ "up", @@ -282,12 +312,12 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "x": { "_leaf": true, "_type": "textarea", - "_data": "勇士初始x坐标" + "_data": "初始x坐标" }, "y": { "_leaf": true, "_type": "textarea", - "_data": "勇士初始y坐标" + "_data": "初始y坐标" } } }, @@ -295,12 +325,18 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", - "_data": "游戏过程中的变量或flags" + "_data": "游戏变量" + }, + "followers": { + "_leaf": true, + "_type": "textarea", + "_range": "thiseval instanceof Array", + "_data": "跟随者列表" }, "steps": { "_leaf": true, "_type": "textarea", - "_data": "行走步数统计" + "_data": "行走步数" } } }, @@ -309,6 +345,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "firstArrive", "_range": "thiseval==null || thiseval instanceof Array", + "_docs": "标题事件化", "_data": "标题界面事件化,可以使用事件流的形式来绘制开始界面等。\n需要开启startUsingCanvas这个开关。\n详见文档-个性化-标题界面事件化。" }, "startText": { @@ -316,6 +353,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "firstArrive", "_range": "thiseval==null || thiseval instanceof Array", + "_docs": "开场剧情", "_data": "游戏开始前剧情,可以执行任意自定义事件。\n双击进入事件编辑器。\n如果无剧情直接留一个空数组即可。" }, "shops": { @@ -323,6 +361,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "shop", "_range": "thiseval instanceof Array", + "_docs": "全局商店", "_data": "全局商店,是一个数组,可以双击进入事件编辑器。" }, "levelUp": { @@ -330,6 +369,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "level", "_range": "thiseval==null || thiseval instanceof Array", + "_docs": "等级提升", "_data": "经验升级所需要的数值,是一个数组,可以双击进行编辑。 \n 第一项为初始等级,仅title生效 \n 每一个里面可以含有三个参数 need, title, action \n need为所需要的经验数值,可以是个表达式。请确保need依次递增 \n title为该等级的名称,也可以省略代表使用系统默认值;本项将显示在状态栏中 \n action为本次升级所执行的事件,可由若干项组成" } } @@ -340,76 +380,89 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "lavaDamage": { "_leaf": true, "_type": "textarea", - "_data": "经过血网受到的伤害" + "_data": "血网伤害" }, "poisonDamage": { "_leaf": true, "_type": "textarea", - "_data": "中毒后每步受到的伤害" + "_data": "中毒伤害" }, "weakValue": { "_leaf": true, "_type": "textarea", + "_docs": "衰弱效果", "_data": "衰弱状态下攻防减少的数值\n如果此项不小于1,则作为实际下降的数值(比如10就是攻防各下降10)\n如果在0到1之间则为下降的比例(比如0.3就是下降30%的攻防)" }, "redJewel": { "_leaf": true, "_type": "textarea", + "_docs": "红宝石效果", "_data": "红宝石加攻击的数值" }, "blueJewel": { "_leaf": true, "_type": "textarea", + "_docs": "蓝宝石效果", "_data": "蓝宝石加防御的数值" }, "greenJewel": { "_leaf": true, "_type": "textarea", + "_docs": "绿宝石效果", "_data": "绿宝石加魔防的数值" }, "redPotion": { "_leaf": true, "_type": "textarea", + "_docs": "红血瓶效果", "_data": "红血瓶加血数值" }, "bluePotion": { "_leaf": true, "_type": "textarea", + "_docs": "蓝血瓶效果", "_data": "蓝血瓶加血数值" }, "yellowPotion": { "_leaf": true, "_type": "textarea", + "_docs": "黄血瓶效果", "_data": "黄血瓶加血数值" }, "greenPotion": { "_leaf": true, "_type": "textarea", + "_docs": "绿血瓶效果", "_data": "绿血瓶加血数值" }, "breakArmor": { "_leaf": true, "_type": "textarea", + "_docs": "破甲比例", "_data": "破甲的比例(战斗前,怪物附加角色防御的x倍作为伤害)" }, "counterAttack": { "_leaf": true, "_type": "textarea", + "_docs": "反击比例", "_data": "反击的比例(战斗时,怪物每回合附加角色攻击的x倍作为伤害,无视角色防御)" }, "purify": { "_leaf": true, "_type": "textarea", + "_docs": "净化比例", "_data": "净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害)" }, "hatred": { "_leaf": true, "_type": "textarea", + "_docs": "仇恨增值", "_data": "仇恨属性中,每杀死一个怪物获得的仇恨值" }, "animateSpeed": { "_leaf": true, "_type": "textarea", + "_docs": "全局动画时间", "_data": "全局动画时间,即怪物振动频率,一般300比较合适" } } @@ -495,26 +548,31 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "flyNearStair": { "_leaf": true, "_type": "checkbox", + "_docs": "楼传楼梯边", "_data": "传送器是否需要在楼梯边使用;如果flyRecordPosition开启,则此项对箭头也有效。" }, "flyRecordPosition": { "_leaf": true, "_type": "checkbox", + "_docs": "楼传平面模式", "_data": "传送器平面塔模式;此模式下楼层传送器将飞到上次离开该楼层的位置。" }, "pickaxeFourDirections": { "_leaf": true, "_type": "checkbox", + "_docs": "四向破墙镐", "_data": "使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁" }, "bombFourDirections": { "_leaf": true, "_type": "checkbox", + "_docs": "四向炸弹", "_data": "使用炸弹是否四个方向都会炸;如果false则只炸面前的怪物(即和圣锤等价)" }, "snowFourDirections": { "_leaf": true, "_type": "checkbox", + "_docs": "四向破冰稿", "_data": "使用冰冻徽章是否四个方向都会消除熔岩;如果false则只消除面前的熔岩" }, "bigKeyIsBox": { @@ -525,112 +583,134 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "steelDoorWithoutKey": { "_leaf": true, "_type": "checkbox", + "_docs": "铁门不消耗", "_data": "铁门是否不需要钥匙开启。如果此项为true,则无需钥匙也可以开铁门。" }, "itemFirstText": { "_leaf": true, "_type": "checkbox", + "_docs": "首次道具提示", "_data": "首次获得道具是否提示" }, "equipment": { "_leaf": true, "_type": "checkbox", + "_docs": "剑盾装备", "_data": "剑和盾是否作为装备。如果此项为true,则作为装备,需要在装备栏使用,否则将直接加属性。" }, "equipboxButton": { "_leaf": true, "_type": "checkbox", + "_docs": "状态栏装备", "_data": "状态栏的装备按钮。若此项为true则将状态栏中的楼层转换器按钮换为装备栏按钮" }, "enableAddPoint": { "_leaf": true, "_type": "checkbox", + "_docs": "加点", "_data": "是否支持加点" }, "enableNegativeDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "负伤", "_data": "是否支持负伤害(回血)" }, "betweenAttackMax": { "_leaf": true, "_type": "checkbox", + "_docs": "夹击不超伤害", "_data": "夹击伤害是否不超过怪物伤害值。" }, "useLoop": { "_leaf": true, "_type": "checkbox", + "_docs": "二分临界", "_data": "是否循环计算临界;如果此项为true则使用循环法(而不是回合数计算法)来算临界\n从V2.5.3开始,对于大数据的循环法将改为使用二分法进行计算" }, "startUsingCanvas": { "_leaf": true, "_type": "checkbox", + "_docs": "标题事件化", "_data": "是否开始菜单canvas化;如果此项为true,则将使用canvas来绘制开始菜单" }, "startDirectly": { "_leaf": true, "_type": "checkbox", + "_docs": "不选择难度", "_data": "点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面" }, "statusCanvas": { "_leaf": true, "_type": "checkbox", + "_docs": "自绘状态栏", "_data": "是否状态栏canvas化,即手动自定义绘制状态栏。\n如果此项开启,则可在脚本编辑的drawStatusBar中自定义绘制菜单栏。" }, "statusCanvasRowsOnMobile": { "_leaf": true, "_type": "textarea", "_range": "thiseval==null || (thiseval>0 && thiseval<=4)", + "_docs": "竖屏自绘行数", "_data": "竖屏模式下,顶端状态栏canvas化后的行数。\n此项将决定竖屏的状态栏高度,如果设置则不小于1且不大于4。\n仅在statusCanvas开启时才有效" }, "displayEnemyDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "怪物显伤", "_data": "是否地图怪物显伤;用户可以手动在菜单栏中开关" }, "displayCritical": { "_leaf": true, "_type": "checkbox", + "_docs": "临界显伤", "_data": "是否地图显示临界;用户可以手动在菜单栏中开关" }, "displayExtraDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "高级显伤", "_data": "是否地图高级显伤(领域、夹击等);用户可以手动在菜单栏中开关" }, "enableGentleClick": { "_leaf": true, "_type": "checkbox", + "_docs": "允许轻按", "_data": "是否允许轻触(获得面前物品)" }, "ignoreChangeFloor": { "_leaf": true, "_type": "checkbox", + "_docs": "允许穿透楼梯", "_data": "经过楼梯、传送门时是否能“穿透”。\n穿透的意思是,自动寻路得到的的路径中间经过了楼梯,行走时是否触发楼层转换事件" }, "canGoDeadZone": { "_leaf": true, "_type": "checkbox", + "_docs": "允许将死领域", "_data": "是否允许走到将死的领域上。如果此项为true,则可以走到将死的领域上" }, "enableMoveDirectly": { "_leaf": true, "_type": "checkbox", + "_docs": "允许瞬移", "_data": "是否允许瞬间移动" }, "enableDisabledShop": { "_leaf": true, "_type": "checkbox", + "_docs": "商店预览", "_data": "是否允许查看未开启状态的快捷商店内容;如果此项为真,则对于未开启状态的商店允许查看其内容(但不能购买)" }, "disableShopOnDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "伤害禁用商店", "_data": "是否在经过领域/夹击/路障等伤害后禁用快捷商店。" }, "blurFg": { "_leaf": true, "_type": "checkbox", + "_docs": "虚化前景层", "_data": "是否虚化前景层;如果此项开启,则在游戏中事件层有东西(如宝石等)时虚化前景层。" } } diff --git a/_server/table/events.comment.js b/_server/table/events.comment.js index 4432901f..65f81cea 100644 --- a/_server/table/events.comment.js +++ b/_server/table/events.comment.js @@ -16,14 +16,14 @@ var events_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_range": "thiseval instanceof Array", "_event": "commonEvent", - "_data": "打败怪物后加点" + "_data": "加点事件" }, "毒衰咒处理": { "_leaf": true, "_type": "event", "_range": "thiseval instanceof Array", "_event": "commonEvent", - "_data": "毒衰咒效果处理" + "_data": "毒衰咒处理" }, "滑冰事件": { "_leaf": true, @@ -38,7 +38,7 @@ var events_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "commonEvent", - "_data": "自定义公共事件,可以双击进入事件编辑器" + "_data": "公共事件" } } } diff --git a/_server/table/functions.comment.js b/_server/table/functions.comment.js index 18603a46..d8fd7de3 100644 --- a/_server/table/functions.comment.js +++ b/_server/table/functions.comment.js @@ -14,19 +14,19 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "重置整个游戏" + "_data": "重置游戏" }, "win": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "游戏获胜事件" + "_data": "游戏获胜" }, "lose": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "游戏失败事件" + "_data": "游戏失败" }, "changingFloor": { "_leaf": true, @@ -50,49 +50,49 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "战前事件" + "_data": "战前判定" }, "afterBattle": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "战后事件" + "_data": "战后脚本" }, "afterOpenDoor": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "开门后事件" + "_data": "开门后脚本" }, "afterGetItem": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "获得道具后事件" + "_data": "道具后脚本" }, "afterChangeLight": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "改变亮灯事件" + "_data": "改变亮灯后" }, "afterPushBox": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "推箱子事件" + "_data": "推箱子后" }, "afterPassNet": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "经过特殊地形后的事件" + "_data": "特殊地形后" }, "canUseQuickShop": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "能否用快捷商店" + "_data": "能否快捷商店" } } }, @@ -103,19 +103,19 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "怪物特殊属性定义" + "_data": "怪物特殊属性" }, "getEnemyInfo": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "获得怪物真实属性" + "_data": "怪物真实属性" }, "getDamageInfo": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "获得战斗伤害信息" + "_data": "战斗伤害信息" } } }, @@ -132,6 +132,7 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, + "_docs": "点击状态栏", "_data": "状态栏点击事件,仅在开启自绘状态栏时生效" } } @@ -167,19 +168,19 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "每一步后的操作" + "_data": "每步后操作" }, "moveDirectly": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "瞬间移动处理" + "_data": "瞬间移动" }, "parallelDo": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "并行事件处理" + "_data": "并行脚本" } } }, @@ -196,13 +197,13 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "地图数据统计" + "_data": "数据统计" }, "drawAbout": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "绘制关于界面" + "_data": "关于界面" } } } diff --git a/_server/table/maps.comment.js b/_server/table/maps.comment.js deleted file mode 100644 index 187119a9..00000000 --- a/_server/table/maps.comment.js +++ /dev/null @@ -1,197 +0,0 @@ -var maps_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = -{ - ////////////////////////// 地形部分 ////////////////////////// - - // 0-20 地形 - '1':' 黄墙', - '2':' 白墙', - '3':' 蓝墙', - '4':' 星空', - '5':' 岩浆', - '6':' 冰面', - '7':' 蓝色商店左', - '8':' 蓝色商店右', - '9':' 粉色商店左', - '10':' 粉色商店左', - '11':' 血网', - '12':' 毒网', - '13':' 衰网', - '14':' 咒网', - '15':' 水', - // 在这里添加更多地形 - // 如果空位不足,可以从180以后开始继续放,只要不和现有的数字冲突即可 - - // Autotile - '20':' autotile', - // 更多的autotile从151到160等,只要不和现有的数字冲突即可 - '151':'', - '152':'', - '153':'', - - ////////////////////////// 物品部分 ////////////////////////// - - // 21-80 物品 - '21':' 黄钥匙', - '22':' 蓝钥匙', - '23':' 红钥匙', - '24':' 绿钥匙', - '25':' 铁门钥匙', - '26':' 大黄门钥匙(钥匙盒)', - '27':' 红宝石', - '28':' 蓝宝石', - '29':' 绿宝石', - '30':' 黄宝石', - '31':' 红血瓶', - '32':' 蓝血瓶', - '33':' 绿血瓶', - '34':' 黄血瓶', - '35':' 铁剑', - '36':' 铁盾', - '37':' 银剑', - '38':' 银盾', - '39':' 骑士剑', - '40':' 骑士盾', - '41':' 圣剑', - '42':' 圣盾', - '43':' 神圣剑', - '44':' 神圣盾', - '45':' 怪物手册', - '46':' 楼层传送器', - '47':' 破墙镐', - '48':' 破冰镐', - '49':' 炸弹', - '50':' 中心对称', - '51':' 上楼器', - '52':' 下楼器', - '53':' 幸运金币', - '54':' 冰冻徽章', - '55':' 十字架', - '56':' 圣水', - '57':' 地震卷轴', - '58':' 解毒药水', - '59':' 解衰药水', - '60':' 解咒药水', - '61':' 万能药水', - '62':' 屠龙匕首', - '63':' 金钱袋', - '64':' 绿鞋', - '65':' 圣锤', - - - ////////////////////////// 门、楼梯、传送点部分 ////////////////////////// - - // 81-100 门 - '81':' 黄门', - '82':' 蓝门', - '83':' 红门', - '84':' 绿门', - '85':' 机关门左', - '86':' 铁门', - '87':' 上楼梯', - '88':' 下楼梯', - '89':' 传送门', - '90':' 星空传送门', - '91':' 上箭头', - '92':' 左箭头', - '93':' 下箭头', - '94':' 右箭头', - - - ////////////////////////// NPC部分 ////////////////////////// - - // 121-150 NPC - '121':'', - '122':'', - '123':'', - '124':'', - '125':'', - '126':'', - '127':'', - '128':'', - '129':'', - '130':'', - '131':'', - '132':'', - - ////////////////////////// 其他部分 ////////////////////////// - - // 161-200 其他(单向箭头、灯、箱子等等) - '161':' 单向上箭头', - '162':' 单向下箭头', - '163':' 单向左箭头', - '164':' 单向右箭头', - '165':' 灯', - '166':' 暗灯', - '167':' 滑冰', - '168':' 花', - '169':' 箱子', - '170':' 完成的箱子', - - - ////////////////////////// 怪物部分 ////////////////////////// - - // 201-300 怪物 - '201':'', - '202':'', - '203':'', - '204':'', - '205':'', - '206':'', - '207':'', - '208':'', - '209':'', - '210':'', - '211':'', - '212':'', - '213':'', - '214':'', - '215':'', - '216':'', - '217':'', - '218':'', - '219':'', - '220':'', - '221':'', - '222':'', - '223':'', - '224':'', - '225':'', - '226':'', - '227':'', - '228':'', - '229':'', - '230':'', - '231':'', - '232':'', - '233':'', - '234':'', - '235':'', - '236':'', - '237':'', - '238':'', - '239':'', - '240':'', - '241':'', - '242':'', - '243':'', - '244':'', - '245':'', - '246':'', - '247':'', - '248':'', - '249':'', - '250':'', - '251':'', - '252':'', - '253':'', - '254':'', - '255':'', - '256':'', - '257':'', - '258':'', - '259':'', - '260':'', - - ////////////////////////// 待定... ////////////////////////// - // 目前ID暂时不要超过400 -} \ No newline at end of file diff --git a/_server/table/plugins.comment.js b/_server/table/plugins.comment.js index 3d436a06..ec02f2ff 100644 --- a/_server/table/plugins.comment.js +++ b/_server/table/plugins.comment.js @@ -18,19 +18,19 @@ var plugins_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", - "_data": "绘制灯光效果" + "_data": "灯光效果" }, "drawItemShop": { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", - "_data": "道具商店插件" + "_data": "道具商店" }, "smoothCamera": { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", - "_data": "平滑移动镜头效果" + "_data": "平滑移动镜头" }, } if (obj[key]) return obj[key]; diff --git a/libs/control.js b/libs/control.js index 1ce0a944..5da3238d 100644 --- a/libs/control.js +++ b/libs/control.js @@ -827,7 +827,7 @@ control.prototype._drawHero_getDrawObjs = function (direction, x, y, status, off "status": status, "index": index++, }); - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { drawObjs.push({ "img": core.material.images.images[t.name], "width": core.material.images.images[t.name].width/4, @@ -949,7 +949,7 @@ control.prototype.nearHero = function (x, y, n) { ////// 聚集跟随者 ////// control.prototype.gatherFollowers = function () { var x=core.getHeroLoc('x'), y=core.getHeroLoc('y'), dir=core.getHeroLoc('direction'); - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { t.x = x; t.y = y; t.stop = true; @@ -959,7 +959,7 @@ control.prototype.gatherFollowers = function () { ////// 更新跟随者坐标 ////// control.prototype.updateFollowers = function () { - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { if (!t.stop) { t.x += core.utils.scan[t.direction].x; t.y += core.utils.scan[t.direction].y; @@ -967,7 +967,7 @@ control.prototype.updateFollowers = function () { }) var nowx = core.getHeroLoc('x'), nowy = core.getHeroLoc('y'); - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { t.stop = true; var dx = nowx - t.x, dy = nowy - t.y; for (var dir in core.utils.scan) { diff --git a/libs/events.js b/libs/events.js index ac10d89e..4f3630e8 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2406,7 +2406,6 @@ events.prototype.hasAsync = function () { ////// 跟随 ////// events.prototype.follow = function (name) { - core.status.hero.followers = core.status.hero.followers || []; name = core.getMappedName(name); if (core.material.images.images[name]) { core.status.hero.followers.push({"name": name}); @@ -2418,7 +2417,6 @@ events.prototype.follow = function (name) { ////// 取消跟随 ////// events.prototype.unfollow = function (name) { - core.status.hero.followers = core.status.hero.followers || []; if (!name) { core.status.hero.followers = []; } diff --git a/libs/ui.js b/libs/ui.js index fcc48a03..99e28982 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -607,7 +607,7 @@ ui.prototype._getPosition = function (content) { var str = s3.split(','); px = py = null; if (str.length == 1) { - var follower = (core.status.hero.followers||[])[parseInt(str[0])-1]; + var follower = core.status.hero.followers[parseInt(str[0])-1]; if (follower) { px = follower.x; py = follower.y; diff --git a/project/data.js b/project/data.js index d27cc4ee..bd0fb6d9 100644 --- a/project/data.js +++ b/project/data.js @@ -104,6 +104,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "y": 10 }, "flags": {}, + "followers": [], "steps": 0 }, "startCanvas": [ diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 3653a79c..337fc4d2 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -35,6 +35,9 @@ 事件转向 (已完成!) 合并数值操作事件 (已完成!) fromLoad,聚集问题 +(已完成!) 注释优化 +状态栏显示项的优化 +动画/音乐/音效自动补全 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” From c1b98caa559fdb26eda614b3e9881d64d954eace Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 18:11:39 +0800 Subject: [PATCH 54/70] =?UTF-8?q?=E5=90=88=E5=B9=B6=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=A0=8F=E6=98=BE=E7=A4=BA=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _docs/personalization.md | 36 ++++----- _server/MotaAction.g4 | 6 +- _server/css/editor_mode.css | 10 ++- _server/css/editor_mode_mobile.css | 22 +++--- _server/editor_table.js | 4 +- _server/table/data.comment.js | 118 +++++++++++------------------ libs/control.js | 33 ++++---- libs/core.js | 2 - libs/events.js | 13 +++- libs/ui.js | 10 +-- project/data.js | 24 +++--- project/functions.js | 51 +++++-------- 12 files changed, 147 insertions(+), 182 deletions(-) diff --git a/_docs/personalization.md b/_docs/personalization.md index d32dc507..6a37b175 100644 --- a/_docs/personalization.md +++ b/_docs/personalization.md @@ -494,11 +494,8 @@ this.myfunc = function(x) { 3. 在脚本编辑-updateStatusBar中可以直接替换技能栏的显示内容 ``` - // 设置技能栏 - if (core.flags.enableSkill) { - // 替换成你想显示的内容,比如你定义的一个flag:abc。 - core.setStatusBarInnerHTML('skill', core.getFlag("abc", 0)); - } + // 替换成你想显示的内容,比如你定义的一个flag:abc。 + core.setStatusBarInnerHTML('skill', core.getFlag("abc", 0)); ``` ### 额外新增新项目 @@ -568,22 +565,17 @@ core.statusBar.speed.innerHTML = core.getFlag('speed', 0); 在脚本编辑-updateStatusBar中,可以对状态栏显示内容进行修改。 ``` js -// 设置魔力值 -if (core.flags.enableMana) { - // status:manamax 只有在非负时才生效。 - if (core.status.hero.manamax != null && core.status.hero.manamax >= 0) { - core.status.hero.mana = Math.min(core.status.hero.mana, core.status.hero.manamax); - core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.status.hero.manamax); - } - else { - core.setStatusBarInnerHTML("mana", core.status.hero.mana); - } +// 设置魔力值; status:manamax 只有在非负时才生效。 +if (core.status.hero.manamax != null && core.status.hero.manamax >= 0) { + core.status.hero.mana = Math.min(core.status.hero.mana, core.status.hero.manamax); + core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.status.hero.manamax); +} +else { + core.setStatusBarInnerHTML("mana", core.status.hero.mana); } // 设置技能栏 -if (core.flags.enableSkill) { - // 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名 - core.statusBar.skill.innerHTML = core.getFlag('skillName', '无'); -} +// 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名 +core.statusBar.skill.innerHTML = core.getFlag('skillName', '无'); ``` ### 技能的触发 @@ -628,8 +620,8 @@ else { // 关闭技能 ``` js case 87: // W:开启技能“二倍斩” - // 检测技能栏是否开启,是否拥有“二倍斩”这个技能道具 - if (core.flags.enableSkill && core.hasItem('skill1')) { + // 是否拥有“二倍斩”这个技能道具 + if (core.hasItem('skill1')) { core.status.route.push("key:87"); core.useItem('skill1', true); } @@ -668,7 +660,7 @@ if (core.getFlag('skill', 0)==1) { // 开启了技能1 ``` js // 战后的技能处理,比如扣除魔力值 -if (core.flags.enableSkill) { +if (core.flags.statusBarItems.indexOf('enableSkill')>=0) { // 检测当前开启的技能类型 var skill = core.getFlag('skill', 0); if (skill==1) { // 技能1:二倍斩 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 38f209be..fdc3758a 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -659,7 +659,7 @@ setGlobalFlag_s /* setGlobalFlag_s tooltip : setGlobalFlag:设置系统开关 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setGlobalFlag%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e7%b3%bb%e7%bb%9f%e5%bc%80%e5%85%b3 -default : ["enableFloor","true"] +default : ["s:enableFloor","true"] colour : this.dataColor var code = '{"type": "setGlobalFlag", "name": "'+Global_Flag_List_0+'", "value": '+Bool_0+'},\n'; return code; @@ -2745,8 +2745,8 @@ Global_Value_List Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExperience', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index d7cc4010..a9ee3bcf 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -150,11 +150,11 @@ } .etable tr > :nth-child(1) { - width: 20% + width: 17% } .etable tr > :nth-child(2) { - width: 22% + width: 23% } .etable tr > :nth-child(3) { @@ -162,7 +162,7 @@ } .etable tr > :nth-child(4) { - width: 23%; + width: 25%; padding: 0; } @@ -201,6 +201,10 @@ div.etableInputDiv { right: 0; } +div.checkboxSet { + position: relative !important; +} + .etableInputDiv > * { margin: 0; padding: 0; diff --git a/_server/css/editor_mode_mobile.css b/_server/css/editor_mode_mobile.css index bb680213..e59fbd3e 100644 --- a/_server/css/editor_mode_mobile.css +++ b/_server/css/editor_mode_mobile.css @@ -144,7 +144,7 @@ .etable table th, .etable table td { - padding: 6px 13px; + padding: 5px; border: 1px solid #dfe2e5; } @@ -172,11 +172,11 @@ } .etable tr > :nth-child(3) { - width: 30%; + width: 38%; } .etable tr > :nth-child(4) { - width: 30%; + width: 22%; text-align: center; } @@ -211,6 +211,10 @@ div.etableInputDiv { right: 0; } +div.checkboxSet { + position: relative !important; +} + .etableInputDiv > * { margin: 0; padding: 0; @@ -220,11 +224,7 @@ div.etableInputDiv { border: none; } -.etableInputDiv input[type="text"] { - -} - -.etableInputDiv input[type="checkbox"] { +.etableInputDiv .checkbox { width: 16px; height: 16px; position: absolute; @@ -234,8 +234,10 @@ div.etableInputDiv { margin-top: -8px; } -.etableInputDiv select { - +.etableInputDiv .checkboxSetMember { + width: 16px; + height: 16px; + display: inline-block; } .etableInputDiv textarea { diff --git a/_server/editor_table.js b/_server/editor_table.js index eac76571..350136f2 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -49,7 +49,7 @@ editor_table_wrapper = function (editor) { var list = []; if (showComment) list.push(""); if (showEdit) list.push(""); - return list.join(' '); + return list.join(' '); } editor_table.prototype.title = function () { @@ -64,7 +64,7 @@ editor_table_wrapper = function (editor) { return /* html */` ${shortField} ${shortComment || commentHTMLescape} -
${tdstr}
+
${tdstr}
${editor.table.editGrid(shortComment, type != 'select' && type != 'checkbox' && type != 'checkboxSet')} \n` } diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index da4b28c5..d2779ce5 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -470,80 +470,52 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "flags": { "_type": "object", "_data": { - "enableFloor": { + "statusBarItems": { "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示当前楼层" - }, - "enableName": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示勇士名字" - }, - "enableLv": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示当前等级" - }, - "enableHPMax": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否是否启用生命上限" - }, - "enableMana": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否开启魔力值" - }, - "enableMDef": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏及战斗界面显示魔防(护盾)" - }, - "enableMoney": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏、怪物手册及战斗界面显示金币" - }, - "enableExperience": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏、怪物手册及战斗界面显示经验" - }, - "enableLevelUp": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否允许等级提升(进阶);如果上面enableExperience为false,则此项恒视为false" - }, - "levelUpLeftMode": { - "_leaf": true, - "_type": "checkbox", - "_data": "进阶使用扣除模式,即在状态栏显示距离下个等级所需要的经验值;只有enableExperience和enableLevelUp均开启时才有效。" - }, - "enableKeys": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示三色钥匙数量" - }, - "enableGreenKey": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示绿钥匙" - }, - "enablePZF": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示破炸飞数量" - }, - "enableDebuff": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示毒衰咒" - }, - "enableSkill": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否启用技能栏" + "_type": "checkboxSet", + "_checkboxSet": { + "prefix": [ + "楼层", + "名字", + "
等级", + "血限", + "
生命", + "魔力", + "
攻击", + "防御", + "
护盾", + "金币", + "
经验", + "升级", + "
升级扣除模式", + "
钥匙", + "绿钥", + "
破炸", + "负面", + "
技能" + ], + "key": [ + "enableFloor", + "enableName", + "enableLv", + "enableHPMax", + "enableHP", + "enableMana", + "enableAtk", + "enableDef", + "enableMDef", + "enableMoney", + "enableExperience", + "enableLevelUp", + "levelUpLeftMode", + "enableKeys", + "enableGreenKey", + "enablePZF", + "enableDebuff", + "enableSkill" + ] + }, + "_data": "状态栏显示" }, "flyNearStair": { "_leaf": true, diff --git a/libs/control.js b/libs/control.js index 5da3238d..391a9f9c 100644 --- a/libs/control.js +++ b/libs/control.js @@ -2612,20 +2612,25 @@ control.prototype._shouldDisplayStatus = function(id) { } return toDraw; } + var obj = {}; + core.flags.statusBarItems.forEach(function (v) { obj[v] = true; }) switch (id) { - case 'floor': return core.flags.enableFloor; - case 'name': return core.flags.enableName; - case 'lv': return core.flags.enableLv; - case 'hpmax': return core.flags.enableHPMax; - case 'mana': return core.flags.enableMana; - case 'mdef': return core.flags.enableMDef; - case 'money': return core.flags.enableMoney; - case 'experience': return core.flags.enableExperience && !core.flags.levelUpLeftMode; - case 'up': return core.flags.enableLevelUp; - case 'skill': return core.flags.enableSkill; - case 'key': return core.flags.enableKeys; - case 'pzf': return core.flags.enablePZF; - case 'debuff': return core.flags.enableDebuff; + case 'floor': return obj.enableFloor; + case 'name': return obj.enableName; + case 'lv': return obj.enableLv; + case 'hp': return obj.enableHP; + case 'hpmax': return obj.enableHPMax; + case 'mana': return obj.enableMana; + case 'atk': return obj.enableAtk; + case 'def': return obj.enableDef; + case 'mdef': return obj.enableMDef; + case 'money': return obj.enableMoney; + case 'experience': return obj.enableExperience && !obj.levelUpLeftMode; + case 'up': return obj.enableLevelUp; + case 'skill': return obj.enableSkill; + case 'key': return obj.enableKeys; + case 'pzf': return obj.enablePZF; + case 'debuff': return obj.enableDebuff; default: return true; } } @@ -2822,7 +2827,7 @@ control.prototype._resize_status = function (obj) { core.dom.statusTexts[i].style.color = obj.globalAttribute.statusBarColor; } // keys - if (core.flags.enableGreenKey) { + if (core.flags.statusBarItems.indexOf('enableGreenKey')>=0) { core.dom.keyCol.style.fontSize = '0.75em'; core.statusBar.greenKey.style.display = ''; } else { diff --git a/libs/core.js b/libs/core.js index 7407d5ba..2654c2e1 100644 --- a/libs/core.js +++ b/libs/core.js @@ -282,8 +282,6 @@ core.prototype._init_flags = function () { } core.prototype._init_sys_flags = function () { - if (!core.flags.enableExperience) core.flags.enableLevelUp = false; - if (!core.flags.enableLevelUp) core.flags.levelUpLeftMode = false; if (core.flags.equipboxButton) core.flags.equipment = true; core.flags.displayEnemyDamage = core.getLocalStorage('enemyDamage', core.flags.displayEnemyDamage); core.flags.displayCritical = core.getLocalStorage('critical', core.flags.displayCritical); diff --git a/libs/events.js b/libs/events.js index 4f3630e8..fea5a77e 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2535,8 +2535,15 @@ events.prototype.setGlobalAttribute = function (name, value) { ////// 设置全局开关 ////// events.prototype.setGlobalFlag = function (name, value) { var flags = core.getFlag("globalFlags", {}); - flags[name] = value; - core.flags[name] = value; + if (name.startsWith('s:')) { + name = name.substring(2); + var statusBarItems = core.flags.statusBarItems.filter(function (v) {return v!=name;}); + if (value) statusBarItems.push(name); + core.flags.statusBarItems = statusBarItems; + flags.statusBarItems = core.clone(statusBarItems); + } else { + flags[name] = core.flags.name = value; + } core.setFlag("globalFlags", flags); core.resize(); if (name == 'blurFg') @@ -2963,7 +2970,7 @@ events.prototype.checkLvUp = function () { } events.prototype._checkLvUp_check = function () { - if (!core.flags.enableLevelUp || !core.firstData.levelUp + if (core.flags.statusBarItems.indexOf('enableLevelUp')>=0 || !core.firstData.levelUp || core.status.hero.lv >= core.firstData.levelUp.length) return null; // 计算下一个所需要的数值 var next = (core.firstData.levelUp[core.status.hero.lv] || {}); diff --git a/libs/ui.js b/libs/ui.js index 99e28982..b102dd03 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1762,9 +1762,9 @@ ui.prototype._drawBook_drawRow2 = function (index, enemy, top, left, width, posi var col1 = left, col2 = left + width * 9 / 25, col3 = left + width * 17 / 25; // 获得第二行绘制的内容 var second_line = []; - if (core.flags.enableMoney) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]); + if (core.flags.statusBarItems.indexOf('enableMoney')>=0) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]); if (core.flags.enableAddPoint) second_line.push(["加点", core.formatBigNumber(enemy.point || 0)]); - if (core.flags.enableExperience) second_line.push(["经验", core.formatBigNumber(enemy.experience || 0)]); + if (core.flags.statusBarItems.indexOf('enableExperience')>=0) second_line.push(["经验", core.formatBigNumber(enemy.experience || 0)]); var damage_offset = col1 + (this.PIXEL - col1) / 2 - 12; // 第一列 @@ -2650,7 +2650,7 @@ ui.prototype.drawStatistics = function (floorIds) { +"总计打死了"+statistics.battle+"个怪物,得到了"+core.formatBigNumber(statistics.money)+"金币,"+core.formatBigNumber(statistics.experience)+"点经验。\n\n" +"受到的总伤害为"+core.formatBigNumber(statistics.battleDamage+statistics.poisonDamage+statistics.extraDamage) +",其中战斗伤害"+core.formatBigNumber(statistics.battleDamage)+"点" - +(core.flags.enableDebuff?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"") + +(core.flags.statusBarItems.indexOf('enableDebuff')>=0?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"") +",领域/夹击/阻击/血网伤害"+core.formatBigNumber(statistics.extraDamage)+"点。", "\t[说明]1. 地图数据统计的效果仅模拟当前立刻获得该道具的效果。\n2. 不会计算“不可被浏览地图”的隐藏层的数据。\n" + "3. 不会计算任何通过事件得到的道具(显示事件、改变图块、或直接增加道具等)。\n"+ @@ -2765,8 +2765,8 @@ ui.prototype._drawStatistics_items = function (floorId, floor, id, obj) { ui.prototype._drawStatistics_generateText = function (obj, type, data) { var text = type+"地图中:\n"; text += "共有怪物"+data.monster.count+"个"; - if (core.flags.enableMoney) text+=",总金币数"+data.monster.money; - if (core.flags.enableExperience) text+=",总经验数"+data.monster.experience; + if (core.flags.statusBarItems.indexOf('enableMoney')>=0) text+=",总金币数"+data.monster.money; + if (core.flags.statusBarItems.indexOf('enableExperience')>=0) text+=",总经验数"+data.monster.experience; if (core.flags.enableAddPoint) text+=",总加点数"+data.monster.point; text+="。\n"; diff --git a/project/data.js b/project/data.js index bd0fb6d9..7d1a669c 100644 --- a/project/data.js +++ b/project/data.js @@ -412,21 +412,15 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "animateSpeed": 400 }, "flags": { - "enableFloor": true, - "enableName": false, - "enableLv": false, - "enableHPMax": false, - "enableMana": false, - "enableMDef": true, - "enableMoney": true, - "enableExperience": false, - "enableLevelUp": false, - "levelUpLeftMode": false, - "enableKeys": true, - "enableGreenKey": false, - "enablePZF": false, - "enableDebuff": false, - "enableSkill": false, + "statusBarItems": [ + "enableFloor", + "enableHP", + "enableAtk", + "enableDef", + "enableMDef", + "enableMoney", + "enableKeys" + ], "flyNearStair": true, "flyRecordPosition": false, "pickaxeFourDirections": false, diff --git a/project/functions.js b/project/functions.js index 84d6ab7e..8942245f 100644 --- a/project/functions.js +++ b/project/functions.js @@ -295,8 +295,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.status.hero.statistics.experience += experience; var hint = "打败 " + enemy.name; - if (core.flags.enableMoney) hint += ",金币+" + money; - if (core.flags.enableExperience) hint += ",经验+" + experience; + if (core.flags.statusBarItems.indexOf('enableMoney')>=0) hint += ",金币+" + money; + if (core.flags.statusBarItems.indexOf('enableExperience')>=0) hint += ",经验+" + experience; core.drawTip(hint, enemy.id); // 事件的处理 @@ -335,7 +335,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.setFlag('hatred', core.getFlag('hatred', 0) + core.values.hatred); // 战后的技能处理,比如扣除魔力值 - if (core.flags.enableSkill) { + if (core.flags.statusBarItems.indexOf('enableSkill') >=0 ) { // 检测当前开启的技能类型 var skill = core.getFlag('skill', 0); if (skill == 1) { // 技能1:二倍斩 @@ -1008,7 +1008,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.events.checkLvUp(); // 检查HP上限 - if (core.flags.enableHPMax) { + if (core.flags.statusBarItems.indexOf('enableHPMax') >= 0) { core.setStatus('hp', Math.min(core.getStatus('hpmax'), core.getStatus('hp'))); } @@ -1031,22 +1031,17 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.setStatusBarInnerHTML(item, core.getRealStatus(item)); }); - // 设置魔力值 - if (core.flags.enableMana) { - // status:manamax 只有在非负时才生效。 - if (core.status.hero.manamax != null && core.getRealStatus('manamax') >= 0) { - core.status.hero.mana = Math.min(core.status.hero.mana, core.getRealStatus('manamax')); - core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.getRealStatus('manamax')); - } - else { - core.setStatusBarInnerHTML("mana", core.status.hero.mana); - } + // 设置魔力值; status:manamax 只有在非负时才生效。 + if (core.status.hero.manamax != null && core.getRealStatus('manamax') >= 0) { + core.status.hero.mana = Math.min(core.status.hero.mana, core.getRealStatus('manamax')); + core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.getRealStatus('manamax')); + } + else { + core.setStatusBarInnerHTML("mana", core.status.hero.mana); } // 设置技能栏 - if (core.flags.enableSkill) { - // 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名;详见文档-个性化-技能塔的支持 - core.setStatusBarInnerHTML('skill', core.getFlag('skillName', '无')); - } + // 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名;详见文档-个性化-技能塔的支持 + core.setStatusBarInnerHTML('skill', core.getFlag('skillName', '无')); // 可以在这里添加自己额外的状态栏信息,比如想攻击显示 +0.5 可以这么写: // if (core.hasFlag('halfAtk')) core.setStatusBarInnerHTML('atk', core.statusBar.atk.innerText + "+0.5"); @@ -1054,9 +1049,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 如果是自定义添加的状态栏,也需要在这里进行设置显示的数值 // 进阶 - if (core.flags.enableLevelUp && core.status.hero.lv < core.firstData.levelUp.length) { + if (core.flags.statusBarItems.indexOf('enableLevelUp')>=0 && core.status.hero.lv < core.firstData.levelUp.length) { var need = core.calValue(core.firstData.levelUp[core.status.hero.lv].need); - if (core.flags.levelUpLeftMode) + if (core.flags.statusBarItems.indexOf('levelUpLeftMode')>=0) core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('experience')) || ""); else core.setStatusBarInnerHTML('up', core.formatBigNumber(need) || ""); @@ -1068,17 +1063,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.setStatusBarInnerHTML(key, core.setTwoDigits(core.itemCount(key))); }); // 毒衰咒 - if (core.flags.enableDebuff) { - core.setStatusBarInnerHTML('poison', core.hasFlag('poison') ? "毒" : ""); - core.setStatusBarInnerHTML('weak', core.hasFlag('weak') ? "衰" : ""); - core.setStatusBarInnerHTML('curse', core.hasFlag('curse') ? "咒" : ""); - } + core.setStatusBarInnerHTML('poison', core.hasFlag('poison') ? "毒" : ""); + core.setStatusBarInnerHTML('weak', core.hasFlag('weak') ? "衰" : ""); + core.setStatusBarInnerHTML('curse', core.hasFlag('curse') ? "咒" : ""); // 破炸飞 - if (core.flags.enablePZF) { - core.setStatusBarInnerHTML('pickaxe', "破" + core.itemCount('pickaxe')); - core.setStatusBarInnerHTML('bomb', "炸" + core.itemCount('bomb')); - core.setStatusBarInnerHTML('fly', "飞" + core.itemCount('centerFly')); - } + core.setStatusBarInnerHTML('pickaxe', "破" + core.itemCount('pickaxe')); + core.setStatusBarInnerHTML('bomb', "炸" + core.itemCount('bomb')); + core.setStatusBarInnerHTML('fly', "飞" + core.itemCount('centerFly')); // 难度 core.statusBar.hard.innerText = core.status.hard; From 05919c836e914de52dfe7a24b75f88b321519086 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 18:34:02 +0800 Subject: [PATCH 55/70] =?UTF-8?q?replace=20experience=20->=20exp,=20?= =?UTF-8?q?=E9=AD=94=E9=98=B2=20->=20=E6=8A=A4=E7=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API列表.txt | 8 +-- _docs/_api.md | 6 +- _docs/api.md | 11 +-- _docs/element.md | 14 ++-- _docs/event.md | 14 ++-- _docs/personalization.md | 2 +- _server/MotaAction.g4 | 18 ++--- _server/css/editor_mode.css | 4 +- _server/editor_blockly.js | 2 +- _server/table/comment.js | 6 +- _server/table/data.comment.js | 10 +-- editor-mobile.html | 6 +- editor.html | 6 +- extensions/dynamicMapEditor.js | 4 +- index.html | 6 +- libs/control.js | 6 +- libs/events.js | 33 +-------- libs/ui.js | 18 ++--- main.js | 8 +-- project/data.js | 4 +- project/enemys.js | 128 ++++++++++++++++----------------- project/floors/sample1.js | 4 +- project/functions.js | 38 +++++----- project/items.js | 6 +- runtime.d.ts | 21 ++---- 25 files changed, 167 insertions(+), 216 deletions(-) diff --git a/API列表.txt b/API列表.txt index 061b3ca9..4a12de10 100644 --- a/API列表.txt +++ b/API列表.txt @@ -99,9 +99,9 @@ core.status.hero (勇士信息;此项和全塔属性中的hero大体是 core.status.hero.mana 当前魔力值 core.status.hero.atk 当前攻击力 core.status.hero.def 当前防御力 - core.status.hero.mdef 当前魔防值 + core.status.hero.mdef 当前护盾值 core.status.hero.money 当前金币值 - core.status.hero.experience 当前经验值 + core.status.hero.exp 当前经验值 core.status.hero.loc 当前的位置信息 core.status.hero.equipment 当前装上的装备 core.status.hero.items 当前拥有的道具信息 @@ -749,7 +749,7 @@ core.getDamage(enemy, x, y, floorId) core.getExtraDamage(enemy, x, y, floorId) -获得某个怪物的额外伤害值(不可被魔防减伤)。 +获得某个怪物的额外伤害值(不可被护盾减伤)。 目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。 @@ -1233,7 +1233,7 @@ core.unloadEquip(equipType, callback) core.compareEquipment(compareEquipId, beComparedEquipId) 比较两个套装的差异。 -此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。 +此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。 如果存在差异的,将作为一个对象返回其差异内容。 diff --git a/_docs/_api.md b/_docs/_api.md index 5bd7cb23..31880e51 100644 --- a/_docs/_api.md +++ b/_docs/_api.md @@ -52,7 +52,7 @@ core.updateStatusBar() core.setStatus('atk', 1000) -将攻击力设置为1000;这里把atk可以改成hp, def, mdef, money, experience等等。 +将攻击力设置为1000;这里把atk可以改成hp, def, mdef, money, exp等等。 本句等价于 core.status.hero.atk = 1000 @@ -385,10 +385,6 @@ core.enemys.getDamage(enemyId, x, y, floorId) 后面三个参数是怪物坐标和楼层。 -core.enemys.getExtraDamage(enemyId) -返回某个怪物会对勇士造成的额外伤害(不可被魔防抵消),例如仇恨、固伤等等。 - - core.enemys.nextCriticals(enemyId, number, x, y, floorId) 返回一个列表,为接下来number(可忽略,默认为1)个该怪物的临界值和临界减伤。 列表每一项类似 [x,y] 表示临界值为x,且临界减伤为y。 diff --git a/_docs/api.md b/_docs/api.md index 0d73e350..0519a600 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -99,9 +99,9 @@ core.status.hero (勇士信息;此项和全塔属性中的hero大体是 core.status.hero.mana 当前魔力值 core.status.hero.atk 当前攻击力 core.status.hero.def 当前防御力 - core.status.hero.mdef 当前魔防值 + core.status.hero.mdef 当前护盾值 core.status.hero.money 当前金币值 - core.status.hero.experience 当前经验值 + core.status.hero.exp 当前经验值 core.status.hero.loc 当前的位置信息 core.status.hero.equipment 当前装上的装备 core.status.hero.items 当前拥有的道具信息 @@ -747,11 +747,6 @@ core.getDamage(enemy, x, y, floorId) 如果没有破防或无法战斗则返回null,否则返回具体的伤害值。 -core.getExtraDamage(enemy, x, y, floorId) -获得某个怪物的额外伤害值(不可被魔防减伤)。 -目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。 - - core.getDamageString(enemy, x, y, floorId) 获得某个怪物伤害字符串和颜色信息,以便于在地图上绘制显伤。 @@ -1232,7 +1227,7 @@ core.unloadEquip(equipType, callback) core.compareEquipment(compareEquipId, beComparedEquipId) 比较两个套装的差异。 -此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。 +此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。 如果存在差异的,将作为一个对象返回其差异内容。 diff --git a/_docs/element.md b/_docs/element.md index b2576eb4..30ddded8 100644 --- a/_docs/element.md +++ b/_docs/element.md @@ -54,9 +54,9 @@ type为该装备的类型,必填,和上面装备栏一一对应。例如,0就是武器,2就是首饰等等。 -atk/def/mdef为该装备分别增加的攻防魔防数值(支持负数);如果不加也可省略不写。 +atk/def/mdef为该装备分别增加的攻防护盾数值(支持负数);如果不加也可省略不写。 -从V2.6开始,可以拓展到任何勇士的属性,如hpmax, atk, def, mdef, experience等等;自行添加的属性包括攻速speed也能使用。 +从V2.6开始,可以拓展到任何勇士的属性,如hpmax, atk, def, mdef, exp等等;自行添加的属性包括攻速speed也能使用。 animate为该装备的攻击动画,仅对type为0时有效。具体可参见[动画和天气系统](#动画和天气系统)。 @@ -68,9 +68,9 @@ percentage为该装备是否按比例增加属性。 {"type": 0, "atk": 10} // 装备类型是武器,效果是攻击+10,使用默认的攻击动画 {"type": 0, "atk": 40, "animate": "sword"} // 装备类型为武器,效果是攻击+10,攻击动画是sword {"type": 1, "def": 40, "percentage": true} // 装备类型是防具,效果是防御提升40% -{"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和魔防各+100 -{"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20,防御和魔防各+50 -{"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖,效果是攻击下降20%,防御和魔防各提升50% +{"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和护盾各+100 +{"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20,防御和护盾各+50 +{"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖,效果是攻击下降20%,防御和护盾各提升50% ``` 所有取值全部向下取整。 @@ -153,13 +153,13 @@ yellowWall, blueWall, whiteWall 怪物的特殊属性所对应的数字(special)在脚本编辑中的`getSpecials`中定义,请勿对已有的属性进行修改。 -多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、魔防、诅咒、阻击四个属性。 +多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、模仿、诅咒、阻击四个属性。 怪物可以负伤,在全塔属性的全局变量`enableNegativeDamage`中指定。 打败怪物后可以进行加点操作。有关加点塔的制作可参见[加点事件](event#加点事件)。 -如果全塔属性中的enableExperience为false,即不启用经验的话,怪物手册里将不显示怪物的经验值,打败怪物也不获得任何经验。 +如果全塔属性中的enableexp为false,即不启用经验的话,怪物手册里将不显示怪物的经验值,打败怪物也不获得任何经验。 拿到幸运金币后,打怪获得的金币将翻倍。 diff --git a/_docs/event.md b/_docs/event.md index fd39afb1..4fd92d4e 100644 --- a/_docs/event.md +++ b/_docs/event.md @@ -332,7 +332,7 @@ ![](img/events/7.png) -- `status:xxx` 获取勇士属性时只能使用如下几个:hp(生命值),atk(攻击力),def(防御力),mdef(魔防值),money(金币),experience(经验),x(勇士的横坐标),y(勇士的纵坐标),direction(勇士的方向)。 +- `status:xxx` 获取勇士属性时只能使用如下几个:hp(生命值),atk(攻击力),def(防御力),mdef(护盾值),money(金币),exp(经验),x(勇士的横坐标),y(勇士的纵坐标),direction(勇士的方向)。 - `item:xxx` 中的xxx为道具ID。所有道具的ID定义在items.js中,请自行查看。例如,`item:centerFly` 代表中心对称飞行器的个数。 - `flag:xxx` 中的xxx为一个自定义的变量/Flag(支持中文);如果没有对其进行赋值则默认值为0。 - `global:xxx` 中的xxx为一个全局存储的名称(支持中文);如果没有对其进行赋值则默认值为0。 @@ -507,7 +507,7 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam id为必填项,代表要修改的怪物ID。 -name为必填项,代表要修改的项,例如`hp`, `atk`, `def`, `money`, `experience`, `point`, `special`, `name`。 +name为必填项,代表要修改的项,例如`hp`, `atk`, `def`, `money`, `exp`, `point`, `special`, `name`。 value为必填项,代表要修改到的内容。对于修改名称的,必须加单引号。 @@ -575,7 +575,7 @@ value为必填项,代表要修改到的结果。该项必须是个数值。 ``` js [ - {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示魔防值 + {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示护盾值 ] ``` @@ -2523,7 +2523,7 @@ if (core.flags.enableAddPoint && point > 0) { "name": "贪婪之神", // 商店名称(标题) "icon": "blueShop", // 商店图标,blueShop为蓝色商店,pinkShop为粉色商店 "textInList": "1F金币商店", // 在快捷商店栏中显示的名称 - "use": "money", // 商店所要使用的。只能是"money"或"experience"。 + "use": "money", // 商店所要使用的。只能是"money"或"exp"。 "commonTimes": true, // 是否使用全局次数 "mustEnable": false, // 如果未开启则不显示在状态栏中 "need": "20+10*times*(times+1)", // 商店需要的金币/经验数值;可以是一个表达式,以times(访问次数)作为参数计算。 @@ -2532,7 +2532,7 @@ if (core.flags.enableAddPoint && point > 0) { // effect可以对status,item和flag进行操作;必须是X+=Y的形式,其中Y可以是一个表达式 {"text": "生命+800", "effect": "status:hp+=800"}, // 生命+800 {"text": "攻击+4", "need": 30, "effect": "status:atk+=4"}, // 规定具体的数值 - {"text": "防御+2,魔防+4", "effect": "status:def+=2;status:mdef+=4"}, // 多个效果用分号分开 + {"text": "防御+2,护盾+4", "effect": "status:def+=2;status:mdef+=4"}, // 多个效果用分号分开 ] } ], @@ -2544,7 +2544,7 @@ if (core.flags.enableAddPoint && point > 0) { - name 为商店的名称(打开商店后的标题) - icon 为商店的图标,在icons.js的npcs中定义。如woman可代表一个商人。 - textInList 为其在快捷商店栏中显示的名称,如"3楼金币商店"等 -- use 为消耗的类型,是金币(money)还是经验(experience)。 +- use 为消耗的类型,是金币(money)还是经验(exp)。 - commonTimes 是否使用全局次数;如果为true则可以多个快捷商店共享相同的次数 - mustEnable 是否必须是只在开启状态才在列表显示;如果此项为true则未开启的快捷商店不予显示 - need 是一个表达式,计算商店所需要用到的数值。 @@ -2710,7 +2710,7 @@ if (core.flags.enableAddPoint && point > 0) { 本塔也支持经验升级,即用户杀怪获得经验后,可以到达某些数值自动进阶,全面提升属性。 -要经验升级,你需要先在`data.js`中的全局变量中启用。你需要将`enableExperience`启用经验,且`enableLevelUp`启用进阶。同时你也可以将`enableLv`置为true以在状态栏中显示当前等级(境界)。 +要经验升级,你需要先在`data.js`中的全局变量中启用。你需要将`enableExp`启用经验,且`enableLevelUp`启用进阶。同时你也可以将`enableLv`置为true以在状态栏中显示当前等级(境界)。 同时,你还需要在`data.js`中的`levelUp`来定义每一个进阶所需要的经验值,以及进阶时的效果。 diff --git a/_docs/personalization.md b/_docs/personalization.md index 6a37b175..ec6f5863 100644 --- a/_docs/personalization.md +++ b/_docs/personalization.md @@ -695,7 +695,7 @@ if (core.flags.statusBarItems.indexOf('enableSkill')>=0) { - **`flag:heroIcon`**: 当前的勇士行走图名称。 - **`flag:saveEquips`**: 快速换装时保存的套装。 - **`flag:__visited__`**: 当前访问过的楼层。 -- **`flag:__atk_buff__`**, **`flag:__def_buff__`**, **`flag:__mdef_buff__`**: 当前攻防魔防的实际计算比例加成。 +- **`flag:__atk_buff__`**, **`flag:__def_buff__`**, **`flag:__mdef_buff__`**: 当前攻防护盾的实际计算比例加成。 - **`flag:__color__`**, **`flag:__weather__`**, **`flag:__volume__`**: 当前的画面色调、天气和音量。 - **`flag:__events__`**: 当前保存的事件列表,读档时会恢复(适用于在事件中存档) - **`flag:textAttribute`**, **`flag:globalAttribute`**, **`flag:globalFlags`**: 当前的剧情文本属性,当前的全局属性,当前的全局开关。 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index fdc3758a..ff7e86d7 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -2697,7 +2697,7 @@ TextBaseline_List ShopUse_List : '金币' | '经验' - /*ShopUse_List ['money','experience']*/; + /*ShopUse_List ['money','exp']*/; Arithmetic_List : '+'|'-'|'*'|'/'|'^'|'=='|'!='|'>'|'<'|'>='|'<='|'和'|'或' @@ -2745,8 +2745,8 @@ Global_Value_List Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExperience', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示护盾值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExp', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 @@ -2791,8 +2791,8 @@ IdString ; FixedId_List - : '生命'|'攻击'|'防御'|'魔防'|'黄钥匙'|'蓝钥匙'|'红钥匙'|'金币'|'经验' - /*FixedId_List ['status:hp','status:atk','status:def','status:mdef','item:yellowKey','item:blueKey','item:redKey','status:money','status:experience']*/; + : '生命'|'攻击'|'防御'|'护盾'|'黄钥匙'|'蓝钥匙'|'红钥匙'|'金币'|'经验' + /*FixedId_List ['status:hp','status:atk','status:def','status:mdef','item:yellowKey','item:blueKey','item:redKey','status:money','status:exp']*/; Id_List : '变量' | '状态' | '物品' | '独立开关' | '全局存储' @@ -2800,7 +2800,7 @@ Id_List EnemyId_List : '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'value'|'atkValue'|'defValue'|'notBomb'|'zoneSquare'|'range'|'n'|'add'|'damage' - /*EnemyId_List ['hp','atk','def','money','experience','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/; + /*EnemyId_List ['hp','atk','def','money','exp','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/; //转blockly后不保留需要加" EvalString @@ -3900,11 +3900,11 @@ MotaActionFunctions.pattern.replaceStatusList = [ ["lv", "等级"], ["atk", "攻击"], ["def", "防御"], - ["mdef", "魔防"], + ["mdef", "护盾"], ["manamax", "魔力上限"], ["mana", "魔力"], ["money", "金币"], - ["experience", "经验"], + ["exp", "经验"], ["steps", "步数"], ]; @@ -3965,7 +3965,7 @@ MotaActionFunctions.pattern.replaceEnemyList = [ ["atk", "攻击"], ["def", "防御"], ["money", "金币"], - ["experience", "经验"], + ["exp", "经验"], ["point", "加点"], ["special", "属性"], ]; diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index a9ee3bcf..16c46f6e 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -150,11 +150,11 @@ } .etable tr > :nth-child(1) { - width: 17% + width: 20% } .etable tr > :nth-child(2) { - width: 23% + width: 20% } .etable tr > :nth-child(3) { diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 12c70b63..3bd99924 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -928,7 +928,7 @@ function omitedcheckUpdateFunction(event) { if (index2 >= 0) { before = content.substring(0, index2); if (before.endsWith("怪物") || (ch == ':' && ch2 == ':' && before.endsWith("enemy"))) { - var list = ["name", "hp", "atk", "def", "money", "experience", "point", "special"]; + var list = ["name", "hp", "atk", "def", "money", "exp", "point", "special"]; if (before.endsWith("怪物") && MotaActionFunctions) { list = MotaActionFunctions.pattern.replaceEnemyList.map(function (v) { return v[1]; diff --git a/_server/table/comment.js b/_server/table/comment.js index 57b321bc..3129e109 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -51,7 +51,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_docs": "道具的装备属性", - "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防魔防和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。" + "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防护盾和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。" }, "hideInReplay": { "_leaf": true, @@ -150,7 +150,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_data": "金币" }, - "experience": { + "exp": { "_leaf": true, "_type": "textarea", "_data": "经验" @@ -228,7 +228,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { } } }, - "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'point': 0, 'special': 0 }, + "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'exp': 0, 'point': 0, 'special': 0 }, // --------------------------- 【图块属性】相关的表格配置 --------------------------- // diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index d2779ce5..f2e96178 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -249,14 +249,14 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "mdef": { "_leaf": true, "_type": "textarea", - "_data": "初始魔防" + "_data": "初始护盾" }, "money": { "_leaf": true, "_type": "textarea", "_data": "初始金币" }, - "experience": { + "exp": { "_leaf": true, "_type": "textarea", "_data": "初始经验" @@ -409,7 +409,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_docs": "绿宝石效果", - "_data": "绿宝石加魔防的数值" + "_data": "绿宝石加护盾的数值" }, "redPotion": { "_leaf": true, @@ -451,7 +451,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_docs": "净化比例", - "_data": "净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害)" + "_data": "净化的比例(战斗前,怪物附加勇士护盾的x倍作为伤害)" }, "hatred": { "_leaf": true, @@ -505,7 +505,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "enableDef", "enableMDef", "enableMoney", - "enableExperience", + "enableExp", "enableLevelUp", "levelUpLeftMode", "enableKeys", diff --git a/editor-mobile.html b/editor-mobile.html index c97cf6b2..784302b5 100644 --- a/editor-mobile.html +++ b/editor-mobile.html @@ -471,9 +471,9 @@

-
- -

+
+ +

diff --git a/editor.html b/editor.html index b1cbd95f..d82f8236 100644 --- a/editor.html +++ b/editor.html @@ -453,9 +453,9 @@

-
- -

+
+ +

diff --git a/extensions/dynamicMapEditor.js b/extensions/dynamicMapEditor.js index a06e7f70..83690a51 100644 --- a/extensions/dynamicMapEditor.js +++ b/extensions/dynamicMapEditor.js @@ -359,7 +359,7 @@ dynamicMapEditor.prototype.refreshToolBox = function() { core.formatBigNumber(core.getRealStatus("mdef"), true); core.fillText(this.canvas, text1, this.offsetX + 60, 380, '#FF7F00', 120); var text2 = core.formatBigNumber(core.getRealStatus('money', true)) + "/" + - core.formatBigNumber(core.getRealStatus('experience'), true) + "/" + + core.formatBigNumber(core.getRealStatus('exp'), true) + "/" + core.itemCount('yellowKey') + '/' + core.itemCount('blueKey') + '/' + core.itemCount('redKey'); core.fillText(this.canvas, text2, this.offsetX + 60, 395, '#FF7F00', 120); @@ -396,7 +396,7 @@ dynamicMapEditor.prototype.showHelp = function (fromButton) { text += " - [ 键将开关此模式;\n - ] 键将会把改动保存到文件;\n - \\ 键将撤销上步操作。\n"; text += " - Alt+0~9 保存当前图块 \n - 0~9 读取当前图块\n"; text += "最下面三行数据分别是:\n" - text += "血攻防魔防;金经黄蓝红;破炸飞和debuff。"; + text += "血攻防护盾;金经黄蓝红;破炸飞和debuff。"; if (!fromButton) text += "\n\n点取消将不再提示本页面。"; core.myconfirm(text, null, function () { if (!fromButton) core.setLocalStorage("_dynamicMapEditor_help", true); diff --git a/index.html b/index.html index 3e6f7c43..a8128fc7 100644 --- a/index.html +++ b/index.html @@ -111,9 +111,9 @@

-
- -

+
+ +

diff --git a/libs/control.js b/libs/control.js index 391a9f9c..a0a3d27a 100644 --- a/libs/control.js +++ b/libs/control.js @@ -389,7 +389,7 @@ control.prototype._initStatistics = function (totalTime) { 'hp': 0, "battle": 0, 'money': 0, - 'experience': 0, + 'exp': 0, 'battleDamage': 0, 'poisonDamage': 0, 'extraDamage': 0, @@ -1995,7 +1995,6 @@ control.prototype._updateFavoriteSaves = function () { ////// 设置勇士属性 ////// control.prototype.setStatus = function (name, value) { if (!core.status.hero) return; - if (name == 'exp') name = 'experience'; if (name == 'x' || name == 'y' || name == 'direction') this.setHeroLoc(name, value); else @@ -2012,7 +2011,6 @@ control.prototype.getStatus = function (name) { if (!core.status.hero) return null; if (name == 'x' || name == 'y' || name == 'direction') return this.getHeroLoc(name); - if (name == 'exp') name = 'experience'; return core.status.hero[name]; } @@ -2625,7 +2623,7 @@ control.prototype._shouldDisplayStatus = function(id) { case 'def': return obj.enableDef; case 'mdef': return obj.enableMDef; case 'money': return obj.enableMoney; - case 'experience': return obj.enableExperience && !obj.levelUpLeftMode; + case 'exp': return obj.enableExp && !obj.levelUpLeftMode; case 'up': return obj.enableLevelUp; case 'skill': return obj.enableSkill; case 'key': return obj.enableKeys; diff --git a/libs/events.js b/libs/events.js index fea5a77e..7462c7da 100644 --- a/libs/events.js +++ b/libs/events.js @@ -183,7 +183,7 @@ events.prototype._gameOver_doUpload = function (username, ending, norank) { formData.append('def', core.status.hero.def); formData.append('mdef', core.status.hero.mdef); formData.append('money', core.status.hero.money); - formData.append('experience', core.status.hero.experience); + formData.append('experience', core.status.hero.exp); formData.append('steps', core.status.hero.steps); formData.append('norank', norank ? 1 : 0); formData.append('seed', core.getFlag('__seed__')); @@ -2976,10 +2976,10 @@ events.prototype._checkLvUp_check = function () { var next = (core.firstData.levelUp[core.status.hero.lv] || {}); var need = core.calValue(next.need); if (need == null) return null; - if (core.status.hero.experience >= need) { + if (core.status.hero.exp >= need) { // 升级 core.status.hero.lv++; - if (next.clear) core.status.hero.experience -= need; + if (next.clear) core.status.hero.exp -= need; return next.action || []; } return null; @@ -2996,30 +2996,3 @@ events.prototype.tryUseItem = function (itemId) { if (core.canUseItem(itemId)) core.useItem(itemId); else core.drawTip("当前无法使用" + core.material.items[itemId].name); } - -////// 上传当前数据 ////// -events.prototype._uploadCurrent = function (username) { - var formData = new FormData(); - - formData.append('type', 'score'); - formData.append('name', core.firstData.name); - formData.append('version', core.firstData.version); - formData.append('platform', core.platform.string); - formData.append('hard', core.encodeBase64(core.status.hard)); - formData.append('username', core.encodeBase64(username || "current")); - formData.append('lv', core.status.hero.lv); - formData.append('hp', Math.min(core.status.hero.hp, Math.pow(2, 63))); - formData.append('atk', core.status.hero.atk); - formData.append('def', core.status.hero.def); - formData.append('mdef', core.status.hero.mdef); - formData.append('money', core.status.hero.money); - formData.append('experience', core.status.hero.experience); - formData.append('steps', core.status.hero.steps); - formData.append('seed', core.getFlag('__seed__')); - formData.append('totalTime', Math.floor(core.status.hero.statistics.totalTime / 1000)); - formData.append('route', core.encodeRoute(core.status.route)); - formData.append('deler', 'current'); - formData.append('base64', 1); - - core.http("POST", "/games/upload.php", formData); -} diff --git a/libs/ui.js b/libs/ui.js index b102dd03..965d4b80 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1764,7 +1764,7 @@ ui.prototype._drawBook_drawRow2 = function (index, enemy, top, left, width, posi var second_line = []; if (core.flags.statusBarItems.indexOf('enableMoney')>=0) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]); if (core.flags.enableAddPoint) second_line.push(["加点", core.formatBigNumber(enemy.point || 0)]); - if (core.flags.statusBarItems.indexOf('enableExperience')>=0) second_line.push(["经验", core.formatBigNumber(enemy.experience || 0)]); + if (core.flags.statusBarItems.indexOf('enableExp')>=0) second_line.push(["经验", core.formatBigNumber(enemy.exp || 0)]); var damage_offset = col1 + (this.PIXEL - col1) / 2 - 12; // 第一列 @@ -2046,7 +2046,7 @@ ui.prototype.drawShop = function (shopId) { var times = shop.times, need=core.calValue(shop.need, null, null, times); var content = "\t["+shop.name+","+shop.icon+"]" + core.replaceText(shop.text, null, need, times); - var use = shop.use=='experience'?'经验':'金币'; + var use = shop.use=='exp'?'经验':'金币'; var choices = []; for (var i=0;i=0?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"") @@ -2686,7 +2686,7 @@ ui.prototype._drawStatistics_buildObj = function () { }); var obj = { 'monster': { - 'count': 0, 'money': 0, 'experience': 0, 'point': 0, + 'count': 0, 'money': 0, 'exp': 0, 'point': 0, }, 'count': cnt, 'add': { @@ -2723,7 +2723,7 @@ ui.prototype._drawStatistics_floorId = function (floorId, obj) { ui.prototype._drawStatistics_enemy = function (floorId, id, obj) { var enemy = core.material.enemys[id]; this._drawStatistics_add(floorId, obj, 'monster', 'money', enemy.money); - this._drawStatistics_add(floorId, obj, 'monster', 'experience', enemy.experience); + this._drawStatistics_add(floorId, obj, 'monster', 'exp', enemy.exp); this._drawStatistics_add(floorId, obj, 'monster', 'point', enemy.point); this._drawStatistics_add(floorId, obj, 'monster', 'count', 1); } @@ -2752,7 +2752,7 @@ ui.prototype._drawStatistics_items = function (floorId, floor, id, obj) { var t = ""; if (atk > 0) t += atk + "攻"; if (def > 0) t += def + "防"; - if (mdef > 0) t += mdef + "魔防"; + if (mdef > 0) t += mdef + "护盾"; if (t != "") obj.ext[id] = t; } this._drawStatistics_add(floorId, obj, 'count', id, 1); @@ -2766,7 +2766,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) { var text = type+"地图中:\n"; text += "共有怪物"+data.monster.count+"个"; if (core.flags.statusBarItems.indexOf('enableMoney')>=0) text+=",总金币数"+data.monster.money; - if (core.flags.statusBarItems.indexOf('enableExperience')>=0) text+=",总经验数"+data.monster.experience; + if (core.flags.statusBarItems.indexOf('enableExp')>=0) text+=",总经验数"+data.monster.exp; if (core.flags.enableAddPoint) text+=",总加点数"+data.monster.point; text+="。\n"; @@ -2789,7 +2789,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) { text+="\n\n"; text+="共加生命值"+core.formatBigNumber(data.add.hp)+"点,攻击" +core.formatBigNumber(data.add.atk)+"点,防御" - +core.formatBigNumber(data.add.def)+"点,魔防" + +core.formatBigNumber(data.add.def)+"点,护盾" +core.formatBigNumber(data.add.mdef)+"点。"; return text; } diff --git a/main.js b/main.js index a7da4598..74da7a29 100644 --- a/main.js +++ b/main.js @@ -61,7 +61,7 @@ function main() { 'defCol': document.getElementById('defCol'), 'mdefCol': document.getElementById('mdefCol'), 'moneyCol': document.getElementById('moneyCol'), - 'experienceCol': document.getElementById('experienceCol'), + 'expCol': document.getElementById('expCol'), 'upCol': document.getElementById('upCol'), 'keyCol': document.getElementById('keyCol'), 'pzfCol': document.getElementById('pzfCol'), @@ -100,7 +100,7 @@ function main() { 'def': document.getElementById("img-def"), 'mdef': document.getElementById("img-mdef"), 'money': document.getElementById("img-money"), - 'experience': document.getElementById("img-experience"), + 'exp': document.getElementById("img-exp"), 'up': document.getElementById("img-up"), 'skill': document.getElementById('img-skill'), 'book': document.getElementById("img-book"), @@ -130,7 +130,7 @@ function main() { 'def': 5, 'mdef': 6, 'money': 7, - 'experience': 8, + 'exp': 8, 'up': 9, 'book': 10, 'fly': 11, @@ -168,7 +168,7 @@ function main() { 'def': document.getElementById("def"), 'mdef': document.getElementById('mdef'), 'money': document.getElementById("money"), - 'experience': document.getElementById("experience"), + 'exp': document.getElementById("exp"), 'up': document.getElementById('up'), 'skill': document.getElementById('skill'), 'yellowKey': document.getElementById("yellowKey"), diff --git a/project/data.js b/project/data.js index 7d1a669c..d048aad3 100644 --- a/project/data.js +++ b/project/data.js @@ -91,7 +91,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "def": 100, "mdef": 0, "money": 0, - "experience": 0, + "exp": 0, "equipment": [], "items": { "constants": {}, @@ -322,7 +322,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "textInList": "1F经验商店", "commonTimes": false, "mustEnable": false, - "use": "experience", + "use": "exp", "need": "-1", "text": "勇敢的武士啊,给我若干经验就可以:", "choices": [ diff --git a/project/enemys.js b/project/enemys.js index 680dc953..9a203006 100644 --- a/project/enemys.js +++ b/project/enemys.js @@ -1,67 +1,67 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = { - "greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"experience":1,"point":0,"special":[1,5,7,8]}, - "redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":[16,18],"value":10}, - "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"experience":0,"point":0,"special":[1,9]}, - "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"experience":0,"point":0,"special":1}, - "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"experience":0,"point":0,"special":4}, - "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"experience":0,"point":0,"special":7}, - "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"experience":0,"point":0,"special":3}, - "slimeMan": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"experience":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3}, - "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"experience":0,"point":1,"special":2}, - "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"experience":0,"point":0,"special":15,"value":100,"range":2}, - "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"experience":0,"point":0,"special":15,"value":200,"zoneSquare":true}, - "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"experience":0,"point":0,"special":0}, - "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"experience":0,"point":0,"special":[5,23]}, - "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"experience":1000,"point":0,"special":0,"notBomb":true}, - "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"experience":0,"point":0,"special":8}, - "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"experience":0,"point":0,"special":13}, - "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"experience":0,"point":0,"special":18,"value":20}, - "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"experience":0,"point":0,"special":16}, - "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"experience":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true}, - "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"experience":0,"point":0,"special":14}, - "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"experience":0,"point":0,"special":6,"n":8}, - "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"experience":0,"point":0,"special":12}, - "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":18,"value":20}, - "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"experience":0,"point":0,"special":[2,3]} + "greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"exp":1,"point":0,"special":[1,5,7,8]}, + "redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[16,18],"value":10}, + "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":[1,9]}, + "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":1}, + "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"exp":0,"point":0,"special":4}, + "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"exp":0,"point":0,"special":7}, + "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"exp":0,"point":0,"special":3}, + "slimeMan": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3}, + "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":2}, + "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":15,"value":100,"range":2}, + "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":15,"value":200,"zoneSquare":true}, + "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0}, + "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":[5,23]}, + "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":0,"notBomb":true}, + "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":8}, + "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":13}, + "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20}, + "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16}, + "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"exp":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true}, + "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":14}, + "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"exp":0,"point":0,"special":6,"n":8}, + "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":12}, + "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20}, + "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"exp":0,"point":0,"special":[2,3]} } \ No newline at end of file diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 69621071..5149304d 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -380,7 +380,7 @@ main.floors.sample1= }, { "type": "setValue", - "name": "status:experience", + "name": "status:exp", "operator": "+=", "value": "1000" }, @@ -402,7 +402,7 @@ main.floors.sample1= "operator": "+=", "value": "3" }, - "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,experience这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。", + "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,exp这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。", "\t[老人,man]你现在可以重新和我进行对话,进一步看到属性值的改变。" ], "10,11": [ diff --git a/project/functions.js b/project/functions.js index 8942245f..195e0a0b 100644 --- a/project/functions.js +++ b/project/functions.js @@ -287,16 +287,16 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.status.hero.money += money; core.status.hero.statistics.money += money; - var experience = guards.reduce(function (curr, g) { - return curr + core.material.enemys[g[2]].experience; - }, enemy.experience); - if (core.hasFlag('curse')) experience = 0; - core.status.hero.experience += experience; - core.status.hero.statistics.experience += experience; + var exp = guards.reduce(function (curr, g) { + return curr + core.material.enemys[g[2]].exp; + }, enemy.exp); + if (core.hasFlag('curse')) exp = 0; + core.status.hero.exp += exp; + core.status.hero.statistics.exp += exp; var hint = "打败 " + enemy.name; if (core.flags.statusBarItems.indexOf('enableMoney')>=0) hint += ",金币+" + money; - if (core.flags.statusBarItems.indexOf('enableExperience')>=0) hint += ",经验+" + experience; + if (core.flags.statusBarItems.indexOf('enableExp')>=0) hint += ",经验+" + exp; core.drawTip(hint, enemy.id); // 事件的处理 @@ -456,7 +456,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [6, function (enemy) { return (enemy.n || 4) + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }], [7, "破甲", "战斗前,怪物附加角色防御的" + Math.floor(100 * core.values.breakArmor || 0) + "%作为伤害"], [8, "反击", "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * core.values.counterAttack || 0) + "%作为伤害,无视角色防御"], - [9, "净化", "战斗前,怪物附加勇士魔防的" + core.values.purify + "倍作为伤害"], + [9, "净化", "战斗前,怪物附加勇士护盾的" + core.values.purify + "倍作为伤害"], [10, "模仿", "怪物的攻防和勇士攻防相等"], [11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }], [12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点"], @@ -469,7 +469,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [19, "自爆", "战斗后勇士的生命值变成1"], [20, "无敌", "勇士无法打败怪物,除非拥有十字架"], [21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }], - [22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,无视勇士魔防。"; }], + [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 ? "可叠加" : "不可叠加"); }], @@ -483,7 +483,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // // 参数说明: // enemy:该怪物信息 - // hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防魔防数据 + // hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防护盾数据 // x,y:该怪物的坐标(查看手册和强制战斗时为undefined) // floorId:该怪物所在的楼层 // 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果) @@ -498,7 +498,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = mon_def = enemy.def, mon_special = enemy.special; var mon_money = enemy.money, - mon_experience = enemy.experience, + mon_exp = enemy.exp, mon_point = enemy.point; // 模仿 if (core.hasSpecial(mon_special, 10)) { @@ -589,7 +589,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = "atk": Math.floor(mon_atk), "def": Math.floor(mon_def), "money": Math.floor(mon_money), - "experience": Math.floor(mon_experience), + "exp": Math.floor(mon_exp), "point": Math.floor(mon_point), "special": mon_special, "guards": guards, // 返回支援情况 @@ -637,7 +637,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (core.hasSpecial(mon_special, 20) && !core.hasItem("cross")) return null; // 不可战斗 - // 战前造成的额外伤害(可被魔防抵消) + // 战前造成的额外伤害(可被护盾抵消) var init_damage = 0; // 吸血 @@ -725,14 +725,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 最终伤害:初始伤害 + 怪物对勇士造成的伤害 + 反击伤害 var damage = init_damage + (turn - 1) * per_damage + turn * counterDamage; - // 再扣去魔防 + // 再扣去护盾 damage -= hero_mdef; // 检查是否允许负伤 if (!core.flags.enableNegativeDamage) damage = Math.max(0, damage); - // 最后处理仇恨和固伤(因为这两个不能被魔防减伤) + // 最后处理仇恨和固伤(因为这两个不能被护盾减伤) if (core.hasSpecial(mon_special, 17)) { // 仇恨 damage += core.getFlag('hatred', 0); } @@ -1022,8 +1022,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 设置等级名称 core.setStatusBarInnerHTML('lv', core.getLvName()); - // 设置生命上限、生命值、攻防魔防金币和经验值 - var statusList = ['hpmax', 'hp', 'mana', 'atk', 'def', 'mdef', 'money', 'experience']; + // 设置生命上限、生命值、攻防护盾金币和经验值 + var statusList = ['hpmax', 'hp', 'mana', 'atk', 'def', 'mdef', 'money', 'exp']; statusList.forEach(function (item) { // 向下取整 core.status.hero[item] = Math.floor(core.status.hero[item]); @@ -1052,7 +1052,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (core.flags.statusBarItems.indexOf('enableLevelUp')>=0 && core.status.hero.lv < core.firstData.levelUp.length) { var need = core.calValue(core.firstData.levelUp[core.status.hero.lv].need); if (core.flags.statusBarItems.indexOf('levelUpLeftMode')>=0) - core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('experience')) || ""); + core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('exp')) || ""); else core.setStatusBarInnerHTML('up', core.formatBigNumber(need) || ""); } else core.setStatusBarInnerHTML('up', ""); @@ -1331,7 +1331,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 如果是隐藏状态栏模式,直接返回 if (!core.domStyle.showStatusBar) return; - // 作为样板,只绘制楼层、生命、攻击、防御、魔防、金币、钥匙这七个内容 + // 作为样板,只绘制楼层、生命、攻击、防御、护盾、金币、钥匙这七个内容 // 需要其他的请自行进行修改;横竖屏都需要进行适配绘制。 // (可以使用Chrome浏览器开控制台来模拟手机上的竖屏模式的显示效果,具体方式自行百度) // 横屏模式下的画布大小是 129*416 diff --git a/project/items.js b/project/items.js index 645815c5..1244844e 100644 --- a/project/items.js +++ b/project/items.js @@ -32,7 +32,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "greenJewel": { "cls": "items", "name": "绿宝石", - "text": "',魔防+${core.values.greenJewel}'" + "text": "',护盾+${core.values.greenJewel}'" }, "yellowJewel": { "cls": "items", @@ -344,7 +344,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "itemEffectTip": { "redJewel": "',攻击+'+core.values.redJewel * ratio", "blueJewel": "',防御+'+core.values.blueJewel * ratio", - "greenJewel": "',魔防+'+core.values.greenJewel * ratio", + "greenJewel": "',护盾+'+core.values.greenJewel * ratio", "yellowJewel": "',全属性提升'", "redPotion": "',生命+'+core.values.redPotion * ratio", "bluePotion": "',生命+'+core.values.bluePotion * ratio", @@ -361,7 +361,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "shield2": "',防御+20'", "shield3": "',防御+40'", "shield4": "',防御+80'", - "shield5": "',防御+100,魔防+100'", + "shield5": "',防御+100,护盾+100'", "bigKey": "',全钥匙+1'", "superPotion": "',生命值翻倍'", "moneyPocket": "',金币+500'" diff --git a/runtime.d.ts b/runtime.d.ts index e633c7f8..d07c908b 100644 --- a/runtime.d.ts +++ b/runtime.d.ts @@ -58,7 +58,7 @@ type Enemy = { atk: number def: number money: number - experience: number + exp: number point: number [key: string]: any } @@ -103,7 +103,7 @@ type HeroStatus = { def: number mdef: number money: number - experience: number + exp: number loc: { direction: direction x: number @@ -121,7 +121,7 @@ type HeroStatus = { battle: number battleDamage: number currTime: number - experience: number + exp: number extraDamage: number hp: number ignoreSteps: number @@ -405,7 +405,7 @@ declare class control { /** * 设置主角的某个属性 * @example core.setStatus('loc', {x : 0, y : 0, direction : 'up'}); // 设置主角位置为地图左上角,脸朝上 - * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.setHeroLoc(name, value),其他的('exp'被视为'experience')会直接对 core.status.hero[name] 赋值 + * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.setHeroLoc(name, value),其他的('exp'被视为'exp')会直接对 core.status.hero[name] 赋值 * @param value 属性的新值 */ setStatus(name: K, value: HeroStatus[K]): void @@ -421,7 +421,7 @@ declare class control { /** * 读取主角的某个属性,不包括百分比修正 * @example core.getStatus('loc'); // 读取主角的坐标和朝向 - * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.getHeroLoc(name),其他的('exp'被视为'experience')会直接读取 core.status.hero[name] + * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.getHeroLoc(name),其他的('exp'被视为'exp')会直接读取 core.status.hero[name] * @returns 属性值 */ getStatus(name: K): HeroStatus[K] @@ -831,17 +831,6 @@ declare class enemys { */ getDamage(enemy: string | Enemy, x?: number, y?: number, floorId?: string): number - /** - * 获得某只敌人的固伤加仇恨伤害 - * @example core.getExtraDamage('greenSlime',0,0,'MT0') // 绿头怪的固伤加仇恨伤害 - * @param enemy 敌人id或敌人对象 - * @param x 敌人的横坐标,可选 - * @param y 敌人的纵坐标,可选 - * @param floorId 敌人所在的地图,可选 - * @returns 伤害值,【关闭负伤】时不可被魔防抵挡 - */ - getExtraDamage(enemy: string | Enemy, x?: number, y?: number, floorId?: string): number - /** * 获得某只敌人的地图显伤,包括颜色 * @example core.getDamageString('greenSlime', 0, 0, 'MT0') // 绿头怪的地图显伤 From c02e9baca06a950867e01672aecc350fcf04623c Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 19:20:51 +0800 Subject: [PATCH 56/70] =?UTF-8?q?=E6=80=AA=E7=89=A9=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E7=9A=84=E5=A4=9A=E9=80=89=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/css/editor_mode.css | 2 + _server/css/editor_mode_mobile.css | 2 + _server/editor_table.js | 33 ++------ _server/table/comment.js | 22 ++++-- project/enemys.js | 116 ++++++++++++++--------------- project/functions.js | 2 +- 6 files changed, 86 insertions(+), 91 deletions(-) diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index 16c46f6e..0db6dc94 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -203,6 +203,8 @@ div.etableInputDiv { div.checkboxSet { position: relative !important; + max-height: 250px; + overflow: auto; } .etableInputDiv > * { diff --git a/_server/css/editor_mode_mobile.css b/_server/css/editor_mode_mobile.css index e59fbd3e..423a85ba 100644 --- a/_server/css/editor_mode_mobile.css +++ b/_server/css/editor_mode_mobile.css @@ -213,6 +213,8 @@ div.etableInputDiv { div.checkboxSet { position: relative !important; + max-height: 250px; + overflow: auto; } .etableInputDiv > * { diff --git a/_server/editor_table.js b/_server/editor_table.js index 350136f2..c01e3512 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -43,7 +43,7 @@ editor_table_wrapper = function (editor) { return /* html */`
${content.join('')}
\n`; } editor_table.prototype.checkboxSetMember = function (value,key,prefixString) { - return /* html */`${prefixString}\n`; + return /* html */`${prefixString}\n`; } editor_table.prototype.editGrid = function (showComment, showEdit) { var list = []; @@ -79,7 +79,11 @@ editor_table_wrapper = function (editor) { var value=[] for (var i in inputs) { if (inputs[i].nodeName == 'INPUT') { - if (inputs[i].checked) value.push(inputs[i].getAttribute('key')); + if (inputs[i].checked) { + var one = inputs[i].getAttribute('key'); + if (inputs[i].getAttribute('ctype') == 'number') one = parseFloat(one); + value.push(one); + } } } thiseval = value; @@ -344,31 +348,6 @@ editor_table_wrapper = function (editor) { } } - /** - * 当“cannotOut / cannotIn”的表格值变化时 - */ - editor_table.prototype.onCannotInOutChange = function (guid, obj, commentObj, thisTr, inputs, field, cobj, modeNode) { - editor_mode.onmode(editor_mode._ids[modeNode.getAttribute('id')]); - var value = []; - var directions = ['up', 'down', 'left', 'right']; - var index = 0; - for (var i in inputs) { - if (inputs[i].nodeName == 'INPUT') { - if (inputs[i].checked) value.push(directions[index]); - index++; - } - } - if (value.length == 0) thiseval = null; - else thiseval = value; - if (editor.table.checkRange(cobj, thiseval)) { - editor_mode.addAction(['change', field, thiseval]); - editor_mode.onmode('save');//自动保存 删掉此行的话点保存按钮才会保存 - } else { - printe(field + ' : 输入的值不合要求,请鼠标放置在注释上查看说明'); - } - - } - /** * 当"显示完整注释"被按下时 */ diff --git a/_server/table/comment.js b/_server/table/comment.js index 3129e109..4357bafc 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -162,10 +162,22 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { }, "special": { "_leaf": true, - "_type": "textarea", - "_range": "thiseval==null || thiseval instanceof Array || (thiseval==~~thiseval && thiseval>=0)", - "_docs": "特殊属性", - "_data": "特殊属性\n\n0:无,1:先攻,2:魔攻,3:坚固,4:2连击,\n5:3连击,6:n连击,7:破甲,8:反击,9:净化,\n10:模仿,11:吸血,12:中毒,13:衰弱,14:诅咒,\n15:领域,16:夹击,17:仇恨,18:阻击,19:自爆,\n20:无敌,21:退化,22:固伤,23:重生,24:激光,25:光环\n26:支援,27:捕捉\n多个属性例如用[1,4,11]表示先攻2连击吸血" + "_type": "checkboxSet", + "_checkboxSet":function(){ + var array=functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a.enemys.getSpecials() + var b=[],c=[]; + for (var index = 0; index < array.length; index++) { + b.push(array[index][0]) + var name = array[index][1]; + if (name instanceof Function) name = name({}); + c.push((index%2==0&&index>0?'
':'')+name+'') + } + return { + "prefix":c, + "key":b + } + }, + "_data": "特殊属性" }, "value": { "_leaf": true, @@ -228,7 +240,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { } } }, - "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'exp': 0, 'point': 0, 'special': 0 }, + "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'exp': 0, 'point': 0, 'special': [] }, // --------------------------- 【图块属性】相关的表格配置 --------------------------- // diff --git a/project/enemys.js b/project/enemys.js index 9a203006..29779d70 100644 --- a/project/enemys.js +++ b/project/enemys.js @@ -2,66 +2,66 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = { "greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"exp":1,"point":0,"special":[1,5,7,8]}, "redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[16,18],"value":10}, - "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":[1,9]}, - "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":1}, - "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"exp":0,"point":0,"special":4}, - "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"exp":0,"point":0,"special":7}, - "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"exp":0,"point":0,"special":3}, + "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":[1]}, + "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"exp":0,"point":0,"special":[4]}, + "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"exp":0,"point":0,"special":[7]}, + "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"exp":0,"point":0,"special":[3]}, "slimeMan": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3}, - "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":2}, - "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":15,"value":100,"range":2}, - "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":15,"value":200,"zoneSquare":true}, - "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0}, - "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":[2]}, + "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":[15],"value":100,"range":2}, + "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":[15],"value":200,"zoneSquare":true}, + "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":[]}, + "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":[5,23]}, - "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":0,"notBomb":true}, - "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":8}, - "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":13}, - "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20}, - "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16}, - "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"exp":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true}, - "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":14}, - "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"exp":0,"point":0,"special":6,"n":8}, - "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":12}, - "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20}, + "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":[],"notBomb":true}, + "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":[8]}, + "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":[13]}, + "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":[18],"value":20}, + "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":[16]}, + "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"exp":0,"point":0,"special":[11],"value":0.3333333333333333,"add":true,"notBomb":true}, + "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":[14]}, + "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"exp":0,"point":0,"special":[6],"n":8}, + "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":[12]}, + "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[18],"value":20}, "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"exp":0,"point":0,"special":[2,3]} } \ No newline at end of file diff --git a/project/functions.js b/project/functions.js index 195e0a0b..244a121a 100644 --- a/project/functions.js +++ b/project/functions.js @@ -453,7 +453,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [3, "坚固", "勇士每回合最多只能对怪物造成1点伤害"], [4, "2连击", "怪物每回合攻击2次"], [5, "3连击", "怪物每回合攻击3次"], - [6, function (enemy) { return (enemy.n || 4) + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }], + [6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }], [7, "破甲", "战斗前,怪物附加角色防御的" + Math.floor(100 * core.values.breakArmor || 0) + "%作为伤害"], [8, "反击", "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * core.values.counterAttack || 0) + "%作为伤害,无视角色防御"], [9, "净化", "战斗前,怪物附加勇士护盾的" + core.values.purify + "倍作为伤害"], From 6f450592f010fd00d234ee063e5642dff8136e2a Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 23:28:02 +0800 Subject: [PATCH 57/70] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E5=85=A8=E5=8A=9F=E8=83=BD;=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E9=83=A8=E5=88=86=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 78 ++++++++++++--------------------------- _server/editor_blockly.js | 77 ++++++++++++++++++++++++++++++-------- _server/editor_ui.js | 6 ++- libs/icons.js | 9 +++++ libs/utils.js | 2 +- v2.x-final更新.txt | 8 ++-- 6 files changed, 103 insertions(+), 77 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index ff7e86d7..86cfd54e 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -362,8 +362,7 @@ action | openDoor_s | closeDoor_s | changeFloor_s - | changePos_0_s - | changePos_1_s + | changePos_s | setViewport_s | moveViewport_s | useItem_s @@ -380,8 +379,7 @@ action | hideImage_s | showTextImage_s | moveImage_s - | showGif_0_s - | showGif_1_s + | showGif_s | setCurtain_0_s | setCurtain_1_s | screenFlash_s @@ -1175,30 +1173,18 @@ var code = '{"type": "changeFloor", "floorId": "'+IdString_0+'"'+floorstr+Direct return code; */; -changePos_0_s - : '位置切换' 'x' PosString ',' 'y' PosString '朝向' DirectionEx_List Newline +changePos_s + : '位置朝向切换' 'x' PosString? ',' 'y' PosString? '朝向' DirectionEx_List Newline -/* changePos_0_s +/* changePos_s tooltip : changePos: 当前位置切换 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=changepos%EF%BC%9A%E5%BD%93%E5%89%8D%E4%BD%8D%E7%BD%AE%E5%88%87%E6%8D%A2%E5%8B%87%E5%A3%AB%E8%BD%AC%E5%90%91 -default : ["0","0",null] +default : ["","",null] colour : this.dataColor +var loc = (PosString_0 && PosString_1) ? (', "loc": ['+PosString_0+','+PosString_1+']') : ''; DirectionEx_List_0 = DirectionEx_List_0 && (', "direction": "'+DirectionEx_List_0+'"'); -var code = '{"type": "changePos", "loc": ['+PosString_0+','+PosString_1+']'+DirectionEx_List_0+'},\n'; -return code; -*/; - -changePos_1_s - : '勇士转向' Direction_List Newline - - -/* changePos_1_s -tooltip : changePos: 勇士转向 -helpUrl : https://h5mota.com/games/template/_docs/#/event?id=changepos%EF%BC%9A%E5%BD%93%E5%89%8D%E4%BD%8D%E7%BD%AE%E5%88%87%E6%8D%A2%E5%8B%87%E5%A3%AB%E8%BD%AC%E5%90%91 -colour : this.dataColor -default : [null] -var code = '{"type": "changePos", "direction": "'+Direction_List_0+'"},\n'; +var code = '{"type": "changePos"'+loc+DirectionEx_List_0+'},\n'; return code; */; @@ -1434,28 +1420,18 @@ var code = '{"type": "hideImage", "code": '+Int_0+', "time": '+Int_1+async+'},\n return code; */; -showGif_0_s - : '显示动图' EvalString '起点像素位置' 'x' PosString 'y' PosString Newline +showGif_s + : '显示动图' EvalString? '起点像素位置' 'x' PosString? 'y' PosString? Newline -/* showGif_0_s +/* showGif_s tooltip : showGif:显示动图 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=showgif%EF%BC%9A%E6%98%BE%E7%A4%BA%E5%8A%A8%E5%9B%BE -default : ["bg.gif","0","0"] +default : ["","",""] colour : this.printColor -var code = '{"type": "showGif", "name": "'+EvalString_0+'", "loc": ['+PosString_0+','+PosString_1+']},\n'; -return code; -*/; - -showGif_1_s - : '清除所有动图' Newline - - -/* showGif_1_s -tooltip : showGif:清除所有显示的动图 -helpUrl : https://h5mota.com/games/template/_docs/#/event?id=showgif%EF%BC%9A%E6%98%BE%E7%A4%BA%E5%8A%A8%E5%9B%BE -colour : this.printColor -var code = '{"type": "showGif"},\n'; +EvalString_0 = EvalString_0 ? (', "name": "'+EvalString_0+'"') : ''; +var loc = (PosString_0 && PosString_1) ? (', "loc": ['+PosString_0+','+PosString_1+']') : ''; +var code = '{"type": "showGif"'+EvalString_0+loc+'},\n'; return code; */; @@ -2579,7 +2555,7 @@ idString_3_e colour : this.idstring_eColor default : ['greenSlime',"攻击"] //todo 将其output改成'idString_e' -var code = 'enemy:'+IdString_0+'.'+EnemyId_List_0; +var code = 'enemy:'+IdString_0+':'+EnemyId_List_0; return [code, Blockly.JavaScript.ORDER_ATOMIC]; */; @@ -3180,13 +3156,9 @@ ActionParser.prototype.parseAction = function() { data.floorId,data.loc[0],data.loc[1],data.direction,data.time,this.next]); break; case "changePos": // 直接更换勇士位置, 不切换楼层 - if(this.isset(data.loc)){ - this.next = MotaActionBlocks['changePos_0_s'].xmlText([ - data.loc[0],data.loc[1],data.direction,this.next]); - } else { - this.next = MotaActionBlocks['changePos_1_s'].xmlText([ - data.direction,this.next]); - } + data.loc=data.loc||['',''] + this.next = MotaActionBlocks['changePos_s'].xmlText([ + data.loc[0],data.loc[1],data.direction,this.next]); break; case "follow": // 跟随勇士 this.next = MotaActionBlocks['follow_s'].xmlText([data.name||"", this.next]); @@ -3240,14 +3212,10 @@ ActionParser.prototype.parseAction = function() { data.code, data.to[0], data.to[1], data.opacity, data.time||0, data.async||false, this.next]); break; case "showGif": // 显示动图 - if(this.isset(data.name)){ - this.next = MotaActionBlocks['showGif_0_s'].xmlText([ - data.name,data.loc[0],data.loc[1],this.next]); - } else { - this.next = MotaActionBlocks['showGif_1_s'].xmlText([ - this.next]); - } - break; + data.loc=data.loc||['',''] + this.next = MotaActionBlocks['showGif_s'].xmlText([ + data.name,data.loc[0],data.loc[1],this.next]); + break; case "setCurtain": // 颜色渐变 if(this.isset(data.color)){ data.color = this.Colour(data.color); diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 3bd99924..111e96f4 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -83,8 +83,7 @@ editor_blockly = function () { MotaActionBlocks['hideImage_s'].xmlText(), MotaActionBlocks['showTextImage_s'].xmlText(), MotaActionBlocks['moveImage_s'].xmlText(), - MotaActionBlocks['showGif_0_s'].xmlText(), - MotaActionBlocks['showGif_1_s'].xmlText(), + MotaActionBlocks['showGif_s'].xmlText(), MotaActionBlocks['tip_s'].xmlText(), MotaActionBlocks['win_s'].xmlText(), MotaActionBlocks['lose_s'].xmlText(), @@ -111,8 +110,7 @@ editor_blockly = function () { MotaActionBlocks['moveHero_s'].xmlText(), MotaActionBlocks['jumpHero_s'].xmlText(), MotaActionBlocks['changeFloor_s'].xmlText(), - MotaActionBlocks['changePos_0_s'].xmlText(), - MotaActionBlocks['changePos_1_s'].xmlText(), + MotaActionBlocks['changePos_s'].xmlText(), MotaActionBlocks['battle_s'].xmlText(), MotaActionBlocks['useItem_s'].xmlText(), MotaActionBlocks['loadEquip_s'].xmlText(), @@ -829,7 +827,7 @@ function omitedcheckUpdateFunction(event) { "changeFloor_m": ["Number_0", "Number_1", "IdString_0", true], "jumpHero_s": ["PosString_0", "PosString_1"], "changeFloor_s": ["PosString_0", "PosString_1", "IdString_0", true], - "changePos_0_s": ["PosString_0", "PosString_1"], + "changePos_s": ["PosString_0", "PosString_1"], "battle_1_s": ["PosString_0", "PosString_1"], "openDoor_s": ["PosString_0", "PosString_1", "IdString_0"], "closeDoor_s": ["PosString_0", "PosString_1"], @@ -883,7 +881,7 @@ function omitedcheckUpdateFunction(event) { }); } - editor_blockly.getAutoCompletions = function (content) { + editor_blockly.getAutoCompletions = function (content, type, name) { // --- content为当前框中输入内容;将返回一个列表,为后续所有可补全内容 // 检查 status:xxx,item:xxx和flag:xxx @@ -977,6 +975,61 @@ function omitedcheckUpdateFunction(event) { }).sort(); } + // 对任意图块提供补全 + if ((type == 'text_1_s' && name == 'EvalString_1') || (type == 'autoText_s' && name == 'EvalString_1') + || (type == 'choices_s' && name == 'IdString_0') || (type == 'choicesContext' && name == 'IdString_0') + || (type == 'closeDoor_s' && name == 'IdString_0') || (type == 'setBlock_s' && name == 'EvalString_0') + || (type == 'setBgFgBlock_s' && name == 'EvalString_0') || (type == 'drawIcon_s' && name == 'IdString_0') + ) { + return core.getAllIconIds().filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + + // 对怪物ID提供补全 + if ((type == 'idString_3_e' || type == 'battle_s' || type == 'setEnemy_s') && name == 'IdString_0') { + return Object.keys(core.material.enemys).filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + + // 对道具ID进行补全 + if ((type == 'useItem_s' || type == 'loadEquip_s') && name == 'IdString_0') { + return Object.keys(core.material.items).filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + + // 对图片名进行补全 + if ((type == 'showImage_s' || type == 'showImage_1_s' || type == 'showGif_s' || type == 'setHeroIcon_s' + || type == 'follow_s' || type == 'unfollow_s' || type == 'drawImage_s' || type == 'drawImage_1_s') && name == 'EvalString_0') { + return Object.keys(core.material.images.images).filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + + // 对动画进行补全 + if (type == 'animate_s' && name == 'IdString_0') { + return Object.keys(core.material.animates).filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + + // 对音乐进行补全 + if ((type == 'playBgm_s' || type == 'loadBgm_s' || type == 'freeBgm_s') && name == 'EvalString_0') { + return Object.keys(core.material.bgms).filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + + // 对音效进行补全 + if (type == 'playSound_s' && name == 'EvalString_0') { + return Object.keys(core.material.sounds).filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + + return []; } @@ -1079,7 +1132,7 @@ Blockly.FieldTextInput.prototype.showInlineEditor_ = function(quietInput) { // --- awesomplete var awesomplete = new Awesomplete(htmlInput, { - minChars: pb.type == "idString_3_e" ? 1 : 2, + minChars: 1, maxItems: 12, autoFirst: true, replace: function (text) { @@ -1124,7 +1177,7 @@ Blockly.FieldTextInput.prototype.showInlineEditor_ = function(quietInput) { if (index == null) index = value.length; value = value.substring(0, index); // cal prefix - awesomplete.prefix = ""; + awesomplete.prefix = value; for (var i = index - 1; i>=0; i--) { var c = value.charAt(i); if (!/^[a-zA-Z0-9_\u4E00-\u9FCC]$/.test(c)) { @@ -1133,13 +1186,7 @@ Blockly.FieldTextInput.prototype.showInlineEditor_ = function(quietInput) { } } - var list = editor_blockly.getAutoCompletions(value); - if (pb.type == "idString_3_e") { - list = list.concat(Object.keys(core.material.enemys).filter(function (one) { - return one != value && one.startsWith(value); - })); - list.sort(); - } + var list = editor_blockly.getAutoCompletions(value, pb.type, self.name); awesomplete.list = list; awesomplete.ul.style.marginLeft = getCaretCoordinates(htmlInput, htmlInput.selectionStart).left - diff --git a/_server/editor_ui.js b/_server/editor_ui.js index d2764df8..9e5d3256 100644 --- a/_server/editor_ui.js +++ b/_server/editor_ui.js @@ -545,7 +545,8 @@ editor_ui_wrapper = function (editor) { uievent.elements.selectPoint.style.display = 'block'; uievent.elements.yes.style.display = 'inline'; uievent.elements.selectBackground.style.display = 'none'; - uievent.elements.selectFloor.style.display = hideFloor ? 'none' : 'inline'; + // uievent.elements.selectFloor.style.display = hideFloor ? 'none' : 'inline'; + uievent.elements.selectFloor.style.display = 'inline'; uievent.elements.selectPointBox.style.display = 'block'; uievent.elements.canvas.style.display = 'block'; uievent.elements.usedFlags.style.display = 'none'; @@ -646,7 +647,8 @@ editor_ui_wrapper = function (editor) { })(); uievent.elements.div.onmousewheel = function (e) { - if (uievent.mode != 'selectPoint' || uievent.values.hideFloor) return; + // if (uievent.mode != 'selectPoint' || uievent.values.hideFloor) return; + if (uievent.mode != 'selectPoint') return; var index = core.floorIds.indexOf(uievent.values.floorId); try { if (e.wheelDelta) diff --git a/libs/icons.js b/libs/icons.js index 45051561..a21780f3 100644 --- a/libs/icons.js +++ b/libs/icons.js @@ -27,6 +27,15 @@ icons.prototype.getClsFromId = function (id) { return null; } +icons.prototype.getAllIconIds = function () { + if (this.allIconIds) return this.allIconIds; + this.allIconIds = []; + for (var type in this.icons) { + this.allIconIds = this.allIconIds.concat(Object.keys(this.icons[type])); + } + return this.allIconIds; +} + icons.prototype._getAnimateFrames = function (cls, useOriginValue) { if (cls == 'enemys' || cls == 'npcs') { return 2; diff --git a/libs/utils.js b/libs/utils.js index 7a97243f..ba920a20 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -82,7 +82,7 @@ utils.prototype.replaceValue = function (value) { if (value.indexOf('global:') >= 0) value = value.replace(/global:([a-zA-Z0-9_\u4E00-\u9FCC]+)/g, "core.getGlobal('$1', 0)"); if (value.indexOf('enemy:')>=0) - value = value.replace(/enemy:([a-zA-Z0-9_]+)\.([a-zA-Z0-9_]+)/g, "core.material.enemys['$1'].$2"); + value = value.replace(/enemy:([a-zA-Z0-9_]+)[\.:]([a-zA-Z0-9_]+)/g, "core.material.enemys['$1'].$2"); if (value.indexOf('blockId:')>=0) value = value.replace(/blockId:(\d+),(\d+)/g, "core.getBlockId($1, $2)"); if (value.indexOf('blockCls:')>=0) diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 337fc4d2..16110daa 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -27,7 +27,7 @@ (已完成!) cannotIn / cannotOut使用选项框 (已完成!) noPass->canPass改成选择框 初始化&读档优化:不一次读取全部楼层并创建 -绿钥匙进状态栏 +(已完成!) 绿钥匙进状态栏 (已完成!) 图块ID不可全数字 怪物详细信息富文本化 (已完成!) for和forEach事件 @@ -36,8 +36,8 @@ (已完成!) 合并数值操作事件 (已完成!) fromLoad,聚集问题 (已完成!) 注释优化 -状态栏显示项的优化 -动画/音乐/音效自动补全 +(已完成!) 状态栏显示项的优化 +(已完成!) 动画/音乐/音效自动补全 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” @@ -103,7 +103,7 @@ (文档相关给秋橙) 58. 建议在在线文档中给\r支持的颜色单词做一下枚举并写出对应的RGB值 (不处理) 59. 在标题画面调用core.hideStartAnimate(core.startGame)会立即开始游戏并跳过难度选择,可能造成非作者预期的效果,有办法优化吗? (已完成!) 60. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 -61. 在事件编辑器中进行地图选点时,有些事件指令虽然只能用于同楼层,但实际生效时勇士可能已经不在当前正在编辑的楼层(比如在一个楼层切换事件指令后)了,所以希望地图选点始终提供楼层下拉表 +(已完成!) 61. 在事件编辑器中进行地图选点时,有些事件指令虽然只能用于同楼层,但实际生效时勇士可能已经不在当前正在编辑的楼层(比如在一个楼层切换事件指令后)了,所以希望地图选点始终提供楼层下拉表 (文档相关给秋橙) 62. 希望在线文档介绍一下楼层和startText的独立开关的flag表示 63. 希望给core.moveAction(callback)函数提供一个对应的事件指令,用于在事件流处理中让勇士进行一些有游戏性意义(即非纯演出)的移动。如果做不到的话希望参照本文的46号issue作为原生脚本勾选async的例子讲解如何使用 64. “打开全局商店”事件指令建议在用于公共事件版商店时简单地退化为“插入公共事件”而不要打断当前事件流,由作者在这个公共事件结尾去决定“立刻结束当前事件”还是不结束 From 6a2aff4caebc922a6a5d0c73d84869abcfffc041 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Mon, 11 May 2020 13:18:16 +0800 Subject: [PATCH 58/70] =?UTF-8?q?=E4=BC=98=E5=8C=96updateStatusBar?= =?UTF-8?q?=E7=9A=84=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 8 +++++--- _server/editor_blockly.js | 2 +- libs/control.js | 39 ++++++++++++++++++++++++++++----------- libs/events.js | 20 ++++++++++++-------- libs/items.js | 1 + libs/maps.js | 7 +++++-- project/functions.js | 11 ++++++++++- 7 files changed, 62 insertions(+), 26 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 86cfd54e..27af623c 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -1009,14 +1009,16 @@ return code; */; update_s - : '更新状态栏和地图显伤' Newline + : '更新状态栏和地图显伤' '不检查自动事件' Bool Newline /* update_s tooltip : update: 立刻更新状态栏和地图显伤 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=update%EF%BC%9A%E7%AB%8B%E5%88%BB%E6%9B%B4%E6%96%B0%E7%8A%B6%E6%80%81%E6%A0%8F%E5%92%8C%E5%9C%B0%E5%9B%BE%E6%98%BE%E4%BC%A4 +default : [false] colour : this.dataColor -var code = '{"type": "update"},\n'; +Bool_0 = Bool_0 ? (', "doNotCheckAutoEvents": true') : '' +var code = '{"type": "update"'+Bool_0+'},\n'; return code; */; @@ -3462,7 +3464,7 @@ ActionParser.prototype.parseAction = function() { break; case "update": this.next = MotaActionBlocks['update_s'].xmlText([ - this.next]); + this.next, this.doNotCheckAutoEvents||false]); break; case "showStatusBar": this.next = MotaActionBlocks['showStatusBar_s'].xmlText([ diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 111e96f4..3a75f8df 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -672,7 +672,7 @@ function omitedcheckUpdateFunction(event) { } } } - if (one.async && one.type != 'animate') hasAsync = true; + if (one.async && one.type != 'animate' && one.type != 'function') hasAsync = true; if (one.type == 'waitAsync') hasAsync = false; } return hasAsync; diff --git a/libs/control.js b/libs/control.js index a0a3d27a..0f3dfe5f 100644 --- a/libs/control.js +++ b/libs/control.js @@ -656,7 +656,6 @@ control.prototype._moveAction_moving = function (callback) { // 执行该点事件 if (!hasTrigger) core.events._trigger(nowx, nowy); - core.updateStatusBar(); // 检查该点是否是滑冰 if (core.getBgNumber() == 167) { @@ -745,7 +744,7 @@ control.prototype.waitHeroToStop = function(callback) { core.setHeroLoc('direction', lastDirection); core.drawHero(); callback(); - }, 30); + }, core.status.replay.speed == 24 ? 0 : 30); } } @@ -1000,6 +999,8 @@ control.prototype.checkBlock = function () { core.updateStatusBar(); core.events.lose(); return; + } else { + core.updateStatusBar(); } } this._checkBlock_snipe(core.status.checkBlock.snipe[loc]); @@ -1020,7 +1021,7 @@ control.prototype._checkBlock_snipe = function (snipe) { if (!snipe || snipe.length == 0) return; var actions = []; snipe.forEach(function (t) { - actions.push({"type": "move", "loc": [t[0],t[1]], "steps": [t[3]], "time": 500, "keep": true, "async": true}); + actions.push({"type": "move", "loc": [t[0],t[1]], "steps": [t[3]], "time": 250, "keep": true, "async": true}); }); actions.push({"type": "waitAsync"}); core.insertAction(actions); @@ -1032,12 +1033,14 @@ control.prototype._checkBlock_ambush = function (ambush) { // 捕捉效果 var actions = []; ambush.forEach(function (t) { - actions.push({"type": "move", "loc": [t[0],t[1]], "steps": [t[3]], "time": 500, "keep": false, "async":true}); + actions.push({"type": "move", "loc": [t[0],t[1]], "steps": [t[3]], "time": 250, "keep": false, "async":true}); }); actions.push({"type": "waitAsync"}); // 强制战斗 ambush.forEach(function (t) { - actions.push({"type": "battle", "id": t[2]}); + actions.push({"type": "function", "function": "function() { "+ + "core.battle('" + t[2] + "', " + t[0]+ "," + t[1] + ", true, core.doAction); "+ + "}", "async": true}); }); core.insertAction(actions); } @@ -1430,7 +1433,7 @@ control.prototype._replayAction_item = function (action) { if (action.indexOf("item:")!=0) return false; var itemId = action.substring(5); if (!core.canUseItem(itemId)) return false; - if (core.material.items[itemId].hideInReplay) { + if (core.material.items[itemId].hideInReplay || core.status.replay.speed == 24) { core.useItem(itemId, false, core.replay); return true; } @@ -1463,7 +1466,7 @@ control.prototype._replayAction_equip = function (action) { var index = ownEquipment.indexOf(equipId), per = core.__SIZE__-1; if (index<0) return false; core.status.route.push(action); - if (core.material.items[equipId].hideInReplay) { + if (core.material.items[equipId].hideInReplay || core.status.replay.speed == 24) { core.loadEquip(equipId, core.replay); return true; } @@ -1483,6 +1486,10 @@ control.prototype._replayAction_unEquip = function (action) { if (!core.isset(equipType)) return false; core.ui.drawEquipbox(equipType); core.status.route.push(action); + if (core.status.replay.speed == 24) { + core.unloadEquip(equipType, core.replay); + return true; + } setTimeout(function () { core.ui.closePanel(); core.unloadEquip(equipType, core.replay); @@ -1496,6 +1503,11 @@ control.prototype._replayAction_fly = function (action) { var toIndex=core.floorIds.indexOf(floorId); if (!core.canUseItem('fly')) return false; core.ui.drawFly(toIndex); + if (core.status.replay.speed == 24) { + if (!core.flyTo(floorId, core.replay)) + core.control._replay_error(action); + return true; + } setTimeout(function () { if (!core.flyTo(floorId, core.replay)) core.control._replay_error(action); @@ -1513,7 +1525,7 @@ control.prototype._replayAction_shop = function (action) { // --- 判定commonEvent或item if (shop.commonEvent || shop.item) { core.openShop(shopId, false); - setTimeout(core.replay); + core.replay(); return true; } var choices = shop.choices; @@ -1542,14 +1554,14 @@ control.prototype._replayAction_turn = function (action) { if (action != 'turn' && action.indexOf('turn:') != 0) return false; if (action == 'turn') core.turnHero(); else core.turnHero(action.substring(5)); - setTimeout(core.replay); + core.replay(); return true; } control.prototype._replayAction_getNext = function (action) { if (action != "getNext") return false; if (!core.getNextItem()) return false; - setTimeout(core.replay); + core.replay(); return true; } @@ -1566,6 +1578,11 @@ control.prototype._replayAction_moveDirectly = function (action) { var x=parseInt(pos[0]), y=parseInt(pos[1]); var nowx=core.getHeroLoc('x'), nowy=core.getHeroLoc('y'); if (!core.moveDirectly(x, y)) return false; + if (core.status.replay.speed == 24) { + core.replay(); + return true; + } + core.ui.drawArrow('ui', 32*nowx+16-core.bigmap.offsetX, 32*nowy+16-core.bigmap.offsetY, 32*x+16-core.bigmap.offsetX, 32*y+16-core.bigmap.offsetY, '#FF0000', 3); setTimeout(function () { @@ -1578,7 +1595,7 @@ control.prototype._replayAction_moveDirectly = function (action) { control.prototype._replayAction_key = function (action) { if (action.indexOf("key:") != 0) return false; core.actions.keyUp(parseInt(action.substring(4)), false, true); - setTimeout(core.replay); + core.replay(); return true; } diff --git a/libs/events.js b/libs/events.js index 7462c7da..450d8146 100644 --- a/libs/events.js +++ b/libs/events.js @@ -402,7 +402,16 @@ events.prototype.openDoor = function (x, y, needKey, callback) { }); return; } - this._openDoor_animate(id, x, y, callback); + if (core.status.replay.speed == 24) { + core.status.replay.animate = true; + core.removeBlock(x, y); + setTimeout(function () { + core.status.replay.animate = false; + core.events.afterOpenDoor(id, x, y, callback); + }); + } else { + this._openDoor_animate(id, x, y, callback); + } } events.prototype._openDoor_check = function (id, x, y, needKey) { @@ -485,8 +494,8 @@ events.prototype.getItem = function (id, num, x, y, callback) { if (num == null) num = 1; num = num || 1; var itemCls = core.material.items[id].cls; - core.items.getItemEffect(id, num); core.removeBlock(x, y); + core.items.getItemEffect(id, num); var text = '获得 ' + core.material.items[id].name; if (num > 1) text += "x" + num; if (itemCls === 'items' && num == 1) text += core.items.getItemEffectTip(id); @@ -510,9 +519,6 @@ events.prototype.getItem = function (id, num, x, y, callback) { itemHint.push(id); } - - core.updateStatusBar(); - this.afterGetItem(id, x, y, callback); } @@ -753,8 +759,6 @@ events.prototype.pushBox = function (data) { core.removeBlock(data.x, data.y); else core.setBlock(168, data.x, data.y); - - core.updateStatusBar(); this._pushBox_moveHero(direction); } @@ -1949,7 +1953,7 @@ events.prototype._action_function = function (data, x, y, prefix) { } events.prototype._action_update = function (data, x, y, prefix) { - core.updateStatusBar(); + core.updateStatusBar(data.doNotCheckAutoEvents); core.doAction(); } diff --git a/libs/items.js b/libs/items.js index 46121db2..7d7073c9 100644 --- a/libs/items.js +++ b/libs/items.js @@ -81,6 +81,7 @@ items.prototype.getItemEffect = function (itemId, itemNum) { main.log(e); } } + core.updateStatusBar(); } else { core.addItem(itemId, itemNum); diff --git a/libs/maps.js b/libs/maps.js index 2d095e38..a448d26a 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -1471,10 +1471,10 @@ maps.prototype.hideBlock = function (x, y, floorId) { ////// 将某个块从启用变成禁用状态 ////// maps.prototype.removeBlock = function (x, y, floorId) { floorId = floorId || core.status.floorId; - if (!floorId) return; + if (!floorId) return false; var block = core.getBlock(x, y, floorId, true); - if (block == null) return; // 不存在 + if (block == null) return false; // 不存在 var index = block.index; @@ -1490,6 +1490,7 @@ maps.prototype.removeBlock = function (x, y, floorId) { // 删除Index core.removeBlockByIndex(index, floorId); core.updateStatusBar(); + return true; } ////// 根据block的索引(尽可能)删除该块 ////// @@ -1778,6 +1779,7 @@ maps.prototype._getAndRemoveBlock = function (x, y) { ////// 显示移动某块的动画,达到{“type”:”move”}的效果 ////// maps.prototype.moveBlock = function (x, y, steps, time, keep, callback) { + if (core.status.replay.speed == 24) time = 1; time = time || 500; var blockArr = this._getAndRemoveBlock(x, y); if (blockArr == null) { @@ -1939,6 +1941,7 @@ maps.prototype._moveJumpBlock_finished = function (blockInfo, canvases, info, an ////// 显示/隐藏某个块时的动画效果 ////// maps.prototype.animateBlock = function (loc, type, time, callback) { + if (core.status.replay.speed == 24) time = 1; var isHide = type == 'hide'; if (typeof loc[0] == 'number' && typeof loc[1] == 'number') loc = [loc]; diff --git a/project/functions.js b/project/functions.js index 244a121a..c63fa1fe 100644 --- a/project/functions.js +++ b/project/functions.js @@ -1269,9 +1269,18 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.status.hero.hp = 0; core.updateStatusBar(); core.events.lose(); - return; + } else { + core.updateStatusBar(); } } + + // 从v2.7开始,每一步行走不会再刷新状态栏。 + // 如果有特殊要求(如每走一步都加buff之类),可手动取消注释下面这一句: + // core.updateStatusBar(true); + + // 检查自动事件 + core.checkAutoEvents(); + // 如需强行终止行走可以在这里条件判定: // core.stopAutomaticRoute(); }, From 7e156e81c9b3cacfb562a4f29d8f71090444147b Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Mon, 11 May 2020 18:00:36 +0800 Subject: [PATCH 59/70] =?UTF-8?q?=E5=A2=9E=E5=8A=A0temp:A=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=E4=B8=B4=E6=97=B6=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 35 ++++++++++++++++++++++++------- _server/editor_blockly.js | 5 +++-- libs/events.js | 44 ++++++++++++++++++++++----------------- libs/ui.js | 6 ++++++ libs/utils.js | 2 ++ 5 files changed, 63 insertions(+), 29 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 27af623c..2a55f521 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -1888,8 +1888,8 @@ for_s tooltip : for:循环遍历 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=while%ef%bc%9a%e5%89%8d%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af colour : this.eventColor -if (!/^switch:[A-Z]$/.test(expression_0)) { - throw new Error('循环遍历仅允许使用独立开关!'); +if (!/^temp:[A-Z]$/.test(expression_0)) { + throw new Error('循环遍历仅允许使用临时变量!'); } return '{"type": "for", "name": "'+expression_0+'", "from": "'+EvalString_0+'", "to": "'+EvalString_1+'", "step": "'+EvalString_2+'",\n"data": [\n'+action_0+']},\n'; */; @@ -1901,8 +1901,8 @@ forEach_s tooltip : forEach:循环遍历列表 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=while%ef%bc%9a%e5%89%8d%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af colour : this.eventColor -if (!/^switch:[A-Z]$/.test(expression_0)) { - throw new Error('循环遍历仅允许使用独立开关!'); +if (!/^temp:[A-Z]$/.test(expression_0)) { + throw new Error('循环遍历仅允许使用临时变量!'); } if (JsonEvalString_0 == '' || !(JSON.parse(JsonEvalString_0) instanceof Array)) { throw new Error('参数列表必须是个有效的数组!'); @@ -2461,6 +2461,7 @@ expression | bool_e | idString_e | evFlag_e + | evTemp_e | evalString_e @@ -2613,6 +2614,18 @@ return [code, Blockly.JavaScript.ORDER_ATOMIC]; */; +evTemp_e + : '临时变量' Letter_List + + +/* evTemp_e +colour : this.idstring_eColor +default : ["A"] +var code = "temp:"+Letter_List_0; +return [code, Blockly.JavaScript.ORDER_ATOMIC]; +*/; + + evalString_e : EvalString @@ -2773,8 +2786,8 @@ FixedId_List /*FixedId_List ['status:hp','status:atk','status:def','status:mdef','item:yellowKey','item:blueKey','item:redKey','status:money','status:exp']*/; Id_List - : '变量' | '状态' | '物品' | '独立开关' | '全局存储' - /*Id_List ['flag','status','item', 'switch', 'global']*/; + : '变量' | '状态' | '物品' | '独立开关' | '临时变量' |'全局存储' + /*Id_List ['flag','status','item', 'switch', 'temp', 'global']*/; EnemyId_List : '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'value'|'atkValue'|'defValue'|'notBomb'|'zoneSquare'|'range'|'n'|'add'|'damage' @@ -2845,6 +2858,7 @@ this.block('idString_4_e').output='idString_e'; this.block('idString_5_e').output='idString_e'; this.block('idString_6_e').output='idString_e'; this.block('evFlag_e').output='idString_e'; +this.block('evTemp_e').output='idString_e'; */ /* Functions @@ -3752,6 +3766,11 @@ ActionParser.prototype.tryToUseEvFlag_e = function(defaultType, args, isShadow, args[0]=match[1] return MotaActionBlocks['evFlag_e'].xmlText(args, isShadow, comment); } + match=/^temp:([A-Z])$/.exec(args[0]) + if(match){ + args[0]=match[1] + return MotaActionBlocks['evTemp_e'].xmlText(args, isShadow, comment); + } return MotaActionBlocks[defaultType||'evalString_e'].xmlText(args, isShadow, comment); } @@ -3958,7 +3977,7 @@ MotaActionFunctions.replaceToName = function (str) { str = str.replace(new RegExp("item:(" + list.join("|") + ")", "g"), function (a, b) { return map[b] ? ("物品:" + map[b]) : b; }).replace(/item:/g, "物品:"); - str = str.replace(/flag:/g, "变量:").replace(/switch:/g, "独立开关:").replace(/global:/g, "全局存储:"); + str = str.replace(/flag:/g, "变量:").replace(/switch:/g, "独立开关:").replace(/global:/g, "全局存储:").replace(/temp:/g, "临时变量:"); map = {}; list = []; MotaActionFunctions.pattern.replaceEnemyList.forEach(function (v) { @@ -3988,7 +4007,7 @@ MotaActionFunctions.replaceFromName = function (str) { str = str.replace(new RegExp("物品[::](" + list.join("|") + ")", "g"), function (a, b) { return map[b] ? ("item:" + map[b]) : b; }).replace(/物品[::]/g, "item:"); - str = str.replace(/变量[::]/g, "flag:").replace(/独立开关[::]/g, "switch:").replace(/全局存储[::]/g, "global:"); + str = str.replace(/临时变量[::]/g, "temp:").replace(/变量[::]/g, "flag:").replace(/独立开关[::]/g, "switch:").replace(/全局存储[::]/g, "global:"); map = {}; list = []; MotaActionFunctions.pattern.replaceEnemyList.forEach(function (v) { diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 3a75f8df..b8c3f36f 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -143,8 +143,8 @@ editor_blockly = function () { {"action": [{"type": "comment", "text": "当判别值是值的场合执行此事件"}]}, {"case": "default", "action": [{"type": "comment", "text": "当没有符合的值的场合执行default事件"}]}, ]}), - MotaActionFunctions.actionParser.parseList({"type": "for", "name": "switch:A", "from": "0", "to": "12", "step": "1", "data": []}), - MotaActionFunctions.actionParser.parseList({"type": "forEach", "name": "switch:A", "list": ["status:atk","status:def"], "data": []}), + MotaActionFunctions.actionParser.parseList({"type": "for", "name": "temp:A", "from": "0", "to": "12", "step": "1", "data": []}), + MotaActionFunctions.actionParser.parseList({"type": "forEach", "name": "temp:A", "list": ["status:atk","status:def"], "data": []}), MotaActionBlocks['while_s'].xmlText(), MotaActionBlocks['dowhile_s'].xmlText(), MotaActionBlocks['break_s'].xmlText(), @@ -220,6 +220,7 @@ editor_blockly = function () { ]), MotaActionBlocks['expression_arithmetic_0'].xmlText(), MotaActionBlocks['evFlag_e'].xmlText(), + MotaActionBlocks['evTemp_e'].xmlText(), MotaActionBlocks['negate_e'].xmlText(), MotaActionBlocks['bool_e'].xmlText(), MotaActionBlocks['idString_e'].xmlText(), diff --git a/libs/events.js b/libs/events.js index 450d8146..6778633c 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1824,9 +1824,9 @@ events.prototype._precompile_confirm = function (data) { } events.prototype._action_for = function (data, x, y, prefix) { - // Only support switch:A - if (!/^switch:[A-Z]$/.test(data.name)) { - core.insertAction(['循环遍历事件只支持独立开关!']); + // Only support temp:A + if (!/^temp:[A-Z]$/.test(data.name)) { + core.insertAction('循环遍历事件只支持临时变量!'); return core.doAction(); } var from = core.calValue(data.from); @@ -1834,22 +1834,22 @@ events.prototype._action_for = function (data, x, y, prefix) { core.insertAction('循环遍历事件要求【起始点】仅能是数字!'); return core.doAction(); } - this._setValue_setSwitch(data.name, from, prefix); - var toName = '__for@to@' + prefix + '@' + data.name.substring(7) + '__'; - var stepName = '__for@step@' + prefix + '@' + data.name.substring(7) + '__'; + var letter = data.name.substring(5); + core.setFlag('@temp@' + letter, from); + var toName = '@temp@for-to@' + letter; + var stepName = '@temp@for-step@' + letter; core.setFlag(toName, data.to); core.setFlag(stepName, data.step); var condition = "(function () {"+ - "var clearAndReturn = function (v) { if (!v) { core.removeFlag('"+toName+"'); core.removeFlag('"+stepName+"'); } return v; };"+ "var to = core.calValue(core.getFlag('" + toName + "'));"+ "var step = core.calValue(core.getFlag('" + stepName + "'));"+ - "if (typeof step != 'number' || typeof to != 'number') return clearAndReturn(false);"+ - "if (step == 0) return clearAndReturn(true);"+ - "var currentValue = core.calValue('switch:'+'" + data.name.substring(7) + "', '"+prefix+"');"+ + "if (typeof step != 'number' || typeof to != 'number') return false;"+ + "if (step == 0) return true;"+ + "var currentValue = core.getFlag('@temp@" + letter + "');"+ "currentValue += step;"+ - "core.events._setValue_setSwitch('switch:'+'" + data.name.substring(7) + "', currentValue, '"+prefix+"');"+ - "if (step > 0) { return clearAndReturn(currentValue <= to); }"+ - "else { return clearAndReturn(currentValue >= to); }"+ + "core.setFlag('@temp@" + letter + "', currentValue);"+ + "if (step > 0) { return currentValue <= to; }"+ + "else { return currentValue >= to; }"+ "})()"; return this._action_dowhile({"condition": condition, "data": data.data}, x, y, prefix); } @@ -1863,17 +1863,17 @@ events.prototype._precompile_for = function (data) { } events.prototype._action_forEach = function (data, x, y, prefix) { - // Only support switch:A - if (!/^switch:[A-Z]$/.test(data.name)) { - core.insertAction(['循环遍历事件只支持独立开关!']); + // Only support temp:A + if (!/^temp:[A-Z]$/.test(data.name)) { + core.insertAction(['循环遍历事件只支持临时变量!']); return core.doAction(); } - var listName = '__forEach@' + prefix + '@' + data.name.substring(7) + '__'; + var listName = '@temp@forEach@' + data.name.substring(5); core.setFlag(listName, core.clone(data.list)); var condition = "(function () {" + "var list = core.getFlag('"+listName+"', []);"+ - "if (list.length == 0) { core.removeFlag('" + listName + "'); return false; }"+ - "core.events._setValue_setSwitch('switch:'+'" + data.name.substring(7) + "', list.shift(), '"+prefix+"');"+ + "if (list.length == 0) return false;"+ + "core.setFlag('@temp@'+'" + data.name.substring(5) + "', list.shift());"+ "return true;"+ "})()"; return this._action_while({"condition": condition, "data": data.data}, x, y, prefix); @@ -2456,6 +2456,7 @@ events.prototype.setValue = function (name, operator, value, prefix) { this._setValue_setItem(name, value); this._setValue_setFlag(name, value); this._setValue_setSwitch(name, value, prefix); + this._setValue_setTemp(name, value, prefix); this._setValue_setGlobal(name, value); } @@ -2481,6 +2482,11 @@ events.prototype._setValue_setSwitch = function (name, value, prefix) { core.setFlag((prefix || ":f@x@y") + "@" + name.substring(7), value); } +events.prototype._setValue_setTemp = function (name, value) { + if (name.indexOf("temp:") !== 0) return; + core.setFlag("@temp@" + name.substring(5), value); +} + events.prototype._setValue_setGlobal = function (name, value) { if (name.indexOf("global:") !== 0) return; core.setGlobal(name.substring(7), value); diff --git a/libs/ui.js b/libs/ui.js index 965d4b80..c69461fd 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -443,6 +443,12 @@ ui.prototype._uievent_drawIcon = function (data) { ////// 结束一切事件和绘制,关闭UI窗口,返回游戏进程 ////// ui.prototype.closePanel = function () { + // 清除全部临时变量 + Object.keys(core.status.hero.flags).forEach(function (name) { + if (name.startsWith("@temp@")) { + delete core.status.hero.flags[name]; + } + }); this.clearUI(); core.maps.generateGroundPattern(); core.updateStatusBar(true); diff --git a/libs/utils.js b/libs/utils.js index ba920a20..d7e0f870 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -89,6 +89,8 @@ utils.prototype.replaceValue = function (value) { value = value.replace(/blockCls:(\d+),(\d+)/g, "core.getBlockCls($1, $2)"); if (value.indexOf('equip:')>=0) value = value.replace(/equip:(\d)/g, "core.getEquip($1)"); + if (value.indexOf('temp:')>=0) + value = value.replace(/temp:([a-zA-Z0-9_]+)/g, "core.getFlag('@temp@$1', 0)"); } return value; } From 9db325c9312a62bf40cd3ac2595bd9e952b52514 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Mon, 11 May 2020 19:47:13 +0800 Subject: [PATCH 60/70] =?UTF-8?q?=E5=85=A8=E5=B1=80=E5=95=86=E5=BA=97?= =?UTF-8?q?=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 64 +++++++++++++++++++++------------------ _server/editor_blockly.js | 19 +++++++----- project/data.js | 46 +++++++++++++--------------- 3 files changed, 66 insertions(+), 63 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 2a55f521..943b8146 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -103,7 +103,7 @@ return code; */; shopcommonevent - : '公共事件版商店 id' IdString '快捷商店栏中名称' EvalString BGNL? '未开启状态则不显示在列表中' Bool BGNL? '执行的公共事件 id' EvalString '参数列表' JsonEvalString? + : '公共事件版商店 id' IdString '快捷名称' EvalString '未开启不显示' Bool BGNL? '执行的公共事件 id' EvalString '参数列表' JsonEvalString? /* shopcommonevent tooltip : 全局商店, 执行一个公共事件 @@ -125,55 +125,61 @@ return code; */; shopsub - : '商店 id' IdString '标题' EvalString '图标' IdString BGNL? Newline '快捷商店栏中名称' EvalString '共用times' Bool BGNL? Newline '未开启状态则不显示在列表中' Bool BGNL? Newline '使用' ShopUse_List '消耗' EvalString BGNL? Newline '显示文字' EvalString BGNL? Newline shopChoices+ BEND + : '商店 id' IdString '标题' EvalString? '图像' IdString? BGNL? Newline '文字' EvalString? BGNL? Newline '快捷名称' EvalString '共用次数' Bool '未开启不显示' Bool BGNL? Newline '消耗' EvalString BGNL? Newline '(访问次数:临时变量A;当前消耗:临时变量B)' BGNL? Newline shopChoices+ BEND /* shopsub tooltip : 全局商店,消耗填-1表示每个选项的消耗不同,正数表示消耗数值 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 -default : ["shop1","贪婪之神","blueShop","1F金币商店",false,false,null,"20+10*times*(times+1)","勇敢的武士啊, 给我${need}金币就可以:"] +default : ["shop1","贪婪之神","blueShop","勇敢的武士啊, 给我${temp:B}金币就可以:","1F金币商店",false,false,"20+10*temp:A*(temp:A+1)"] +var title=''; +if (EvalString_0==''){ + if (IdString_1=='') title=''; + else title='\t['+IdString_1+']'; +} else { + if (IdString_1=='')title='\t['+EvalString_0+']'; + else title='\t['+EvalString_0+','+IdString_1+']'; +} var code = { 'id': IdString_0, - 'name': EvalString_0, - 'icon': IdString_1, - 'textInList': EvalString_1, + 'text': title+EvalString_1, + 'textInList': EvalString_2, 'commonTimes': Bool_0, 'mustEnable': Bool_1, - 'use': ShopUse_List_0, - 'need': EvalString_2, - 'text': EvalString_3, + 'need': EvalString_3, 'choices': 'choices_asdfefw' } -code=JSON.stringify(code,null,2).split('"choices_asdfefw"').join('[\n'+shopChoices_0+']\n')+',\n'; +code=JSON.stringify(code,null,2).split('"choices_asdfefw"').join('[\n'+shopChoices_0+']')+',\n'; return code; */; shopChoices - : '商店选项' EvalString '消耗' EvalString? BGNL? Newline shopEffect+ + : '商店选项' EvalString '使用条件' EvalString BGNL? Newline '图标' IdString? '颜色' ColorString? Colour '出现条件' EvalString? BGNL? Newline shopEffect+ /* shopChoices tooltip : 商店选项,商店消耗是-1时,这里的消耗对应各自选项的消耗,商店消耗不是-1时这里的消耗不填 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 -default : ["攻击+1",""] +default : ["攻击+1","status:money>=temp:B","","","rgba(255,255,255,1)",""] colour : this.subColor -EvalString_1 = EvalString_1 && (', "need": "'+EvalString_1+'"'); -var code = '{"text": "'+EvalString_0+'"'+EvalString_1+', "effect": "'+shopEffect_0.slice(2,-1)+'"},\n'; +ColorString_0 = ColorString_0 ? (', "color": ['+ColorString_0+']') : ''; +EvalString_2 = EvalString_2 && (', "condition": "'+EvalString_1+'"') +IdString_0 = IdString_0? (', "icon": "'+IdString_0+'"'):''; +var code = '{"text": "'+EvalString_0+'", "need": "'+EvalString_1+'"'+IdString_0+ColorString_0+EvalString_2+', "effect": [\n'+shopEffect_0+']},\n'; return code; */; shopEffect - : idString_e '+=' expression + : idString_e AssignOperator_List expression /* shopEffect colour : this.subColor -var code = idString_e_0+'+='+expression_0+';' -return code; +return '{"name": "'+idString_e_0+'", "operator": "'+AssignOperator_List_0+'", "value": "'+expression_0+'"},\n'; */; shopitem - : '道具商店 id' IdString '快捷商店栏中名称' EvalString BGNL? '未开启状态则不显示在列表中' Bool BGNL? Newline shopItemChoices+ BEND + : '道具商店 id' IdString '快捷名称' EvalString '未开启不显示' Bool BGNL? Newline shopItemChoices+ BEND /* shopitem @@ -187,7 +193,7 @@ var code = { 'mustEnable': Bool_0, 'choices': 'choices_aqwedsa' } -code=JSON.stringify(code,null,2).split('"choices_aqwedsa"').join('[\n'+shopItemChoices_0+']\n')+',\n'; +code=JSON.stringify(code,null,2).split('"choices_aqwedsa"').join('[\n'+shopItemChoices_0+']')+',\n'; return code; */; @@ -2911,21 +2917,19 @@ ActionParser.prototype.parse = function (obj,type) { var text_choices = null; for(var ii=obj.choices.length-1,choice;choice=obj.choices[ii];ii--) { var text_effect = null; - var effectList = choice.effect.split(';'); - for(var jj=effectList.length-1,effect;effect=effectList[jj];jj--) { - if(effect.split('+=').length!==2){ - throw new Error('一个商店效果中必须包含恰好一个"+="'); - } - text_effect=MotaActionBlocks['shopEffect'].xmlText([ - MotaActionBlocks['idString_e'].xmlText([effect.split('+=')[0]]), - MotaActionBlocks['evalString_e'].xmlText([effect.split('+=')[1]]), - text_effect]); + choice.effect = choice.effect || []; + for (var jj=choice.effect.length-1,effect;effect=choice.effect[jj];jj--) { + text_effect = MotaActionBlocks['shopEffect'].xmlText([ + parser.tryToUseEvFlag_e('idString_e', [effect.name]), effect.operator || '=', + MotaActionBlocks['evalString_e'].xmlText([effect.value]), text_effect + ]); } text_choices=MotaActionBlocks['shopChoices'].xmlText([ - choice.text,choice.need||'',text_effect,text_choices]); + choice.text,choice.need||'',choice.icon,choice.color,'rgba('+choice.color+')',choice.condition,text_effect,text_choices]); } + var info = parser.getTitleAndPosition(obj.text || ''); return MotaActionBlocks['shopsub'].xmlText([ - obj.id,obj.name,obj.icon,obj.textInList,obj.commonTimes,obj.mustEnable,obj.use,obj.need,parser.EvalString(obj.text),text_choices,next + obj.id,obj[0],info[1],info[3],obj.textInList,obj.commonTimes,obj.mustEnable,obj.need,text_choices,next ]); } var buildcommentevent = function(obj,parser,next){ diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index b8c3f36f..e1c570ff 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -39,15 +39,18 @@ editor_blockly = function () { MotaActionBlocks['changeFloor_m'].xmlText(), MotaActionFunctions.actionParser.parse([{ "id": "moneyShop1", - "name": "贪婪之神", - "icon": "blueShop", + "text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我\${temp:B}金币就可以:", "textInList": "1F金币商店", - "use": "money", - "need": "20+10*times*(times+1)", - "text": "勇敢的武士啊,给我\\\${need}金币就可以:", + "need": "20+10*temp:A*(temp:A+1)", "choices": [ - {"text": "生命+800", "effect": "status:hp+=800"}, - {"text": "攻击+4", "effect": "status:atk+=4"}, + {"text": "生命+800", "need": "status:money>=temp:B", "effect": [ + {"name": "status:money", "operator": "-=", "value": "temp:B"}, + {"name": "status:hp", "operator": "+=", "value": "800"}, + ]}, + {"text": "攻击+4", "need": "status:money>=temp:B", "effect": [ + {"name": "status:money", "operator": "-=", "value": "temp:B"}, + {"name": "status:atk", "operator": "+=", "value": "4"}, + ]}, ] },{ "id": "itemShop", @@ -727,7 +730,7 @@ function omitedcheckUpdateFunction(event) { 'choices_s': 'EvalString_0', 'showTextImage_s': 'EvalString_0', 'function_s': 'RawEvalString_0', - 'shopsub': 'EvalString_3', + 'shopsub': 'EvalString_1', 'confirm_s': 'EvalString_0', 'drawTextContent_s': 'EvalString_0', } diff --git a/project/data.js b/project/data.js index d048aad3..a4adb924 100644 --- a/project/data.js +++ b/project/data.js @@ -300,36 +300,32 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "shops": [ { "id": "moneyShop1", - "name": "贪婪之神", - "icon": "blueShop", + "text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我${temp:B}金币就可以:", "textInList": "1F金币商店", "commonTimes": false, "mustEnable": false, - "use": "money", - "need": "20+10*times*(times+1)", - "text": "勇敢的武士啊,给我${need}金币就可以:", + "need": "20+10*temp:A*(temp:A+1)", "choices": [ { "text": "生命+800", - "effect": "status:hp+=800" - } - ] - }, - { - "id": "expShop1", - "name": "经验之神", - "icon": "pinkShop", - "textInList": "1F经验商店", - "commonTimes": false, - "mustEnable": false, - "use": "exp", - "need": "-1", - "text": "勇敢的武士啊,给我若干经验就可以:", - "choices": [ - { - "text": "等级+1", - "need": "100", - "effect": "status:hp+=1000" + "need": "status:money>=temp:B", + "effect": [ + { + "name": "status:money", + "operator": "-=", + "value": "temp:B" + }, + { + "name": "status:hp", + "operator": "+=", + "value": "800" + }, + { + "name": "flag:xxx", + "operator": "=", + "value": "temp:B" + } + ] } ] }, @@ -342,7 +338,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = { "id": "yellowKey", "number": 10, - "money": 10 + "money": "10" } ] }, From 699cbe24bf06a379fbfada5798d857fa6d91edfe Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 12 May 2020 21:14:49 +0800 Subject: [PATCH 61/70] =?UTF-8?q?=E9=87=8D=E6=9E=84=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E5=95=86=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 95 +++++++--------- _server/editor_blockly.js | 21 ++-- _server/table/data.comment.js | 6 - _server/table/functions.comment.js | 6 - _server/table/plugins.comment.js | 8 +- libs/actions.js | 84 +++----------- libs/control.js | 39 ++----- libs/events.js | 115 +++---------------- libs/ui.js | 47 ++------ libs/utils.js | 8 +- main.js | 4 +- project/data.js | 97 +++++++++++++--- project/events.js | 2 +- project/floors/sample1.js | 6 +- project/functions.js | 27 ----- project/plugins.js | 175 +++++++++++++++++++++++------ 16 files changed, 341 insertions(+), 399 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 943b8146..5e39e7c6 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -102,36 +102,14 @@ var code = ' \n'; return code; */; -shopcommonevent - : '公共事件版商店 id' IdString '快捷名称' EvalString '未开启不显示' Bool BGNL? '执行的公共事件 id' EvalString '参数列表' JsonEvalString? - -/* shopcommonevent -tooltip : 全局商店, 执行一个公共事件 -helpUrl : https://h5mota.com/games/template/_docs/#/ -default : ["shop1","回收钥匙商店",false,"回收钥匙商店",""] -if (JsonEvalString_0) { - if (!(JSON.parse(JsonEvalString_0) instanceof Array)) - throw new Error('参数列表必须是个有效的数组!'); -} -var code = { - 'id': IdString_0, - 'textInList': EvalString_0, - 'mustEnable': Bool_0, - 'commonEvent': EvalString_1 -} -if (JsonEvalString_0) code.args = JSON.parse(JsonEvalString_0); -code=JSON.stringify(code,null,2)+',\n'; -return code; -*/; - shopsub - : '商店 id' IdString '标题' EvalString? '图像' IdString? BGNL? Newline '文字' EvalString? BGNL? Newline '快捷名称' EvalString '共用次数' Bool '未开启不显示' Bool BGNL? Newline '消耗' EvalString BGNL? Newline '(访问次数:临时变量A;当前消耗:临时变量B)' BGNL? Newline shopChoices+ BEND + : '商店 id' IdString '标题' EvalString? '图像' IdString? BGNL? Newline '文字' EvalString? BGNL? Newline '快捷名称' EvalString '未开启不显示' Bool '不可预览' Bool BGNL? Newline shopChoices+ BEND /* shopsub -tooltip : 全局商店,消耗填-1表示每个选项的消耗不同,正数表示消耗数值 +tooltip : 全局商店 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 -default : ["shop1","贪婪之神","blueShop","勇敢的武士啊, 给我${temp:B}金币就可以:","1F金币商店",false,false,"20+10*temp:A*(temp:A+1)"] +default : ["shop1","贪婪之神","blueShop","勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:","金币商店",false,false] var title=''; if (EvalString_0==''){ if (IdString_1=='') title=''; @@ -144,9 +122,8 @@ var code = { 'id': IdString_0, 'text': title+EvalString_1, 'textInList': EvalString_2, - 'commonTimes': Bool_0, - 'mustEnable': Bool_1, - 'need': EvalString_3, + 'mustEnable': Bool_0, + 'disablePreview': Bool_1, 'choices': 'choices_asdfefw' } code=JSON.stringify(code,null,2).split('"choices_asdfefw"').join('[\n'+shopChoices_0+']')+',\n'; @@ -154,30 +131,21 @@ return code; */; shopChoices - : '商店选项' EvalString '使用条件' EvalString BGNL? Newline '图标' IdString? '颜色' ColorString? Colour '出现条件' EvalString? BGNL? Newline shopEffect+ + : '商店选项' EvalString '使用条件' EvalString BGNL? Newline '图标' IdString? '颜色' ColorString? Colour '出现条件' EvalString? BGNL? Newline action+ BEND /* shopChoices tooltip : 商店选项,商店消耗是-1时,这里的消耗对应各自选项的消耗,商店消耗不是-1时这里的消耗不填 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 -default : ["攻击+1","status:money>=temp:B","","","rgba(255,255,255,1)",""] +default : ["攻击+1","status:money>=20+2*flag:shop1","","","rgba(255,255,255,1)",""] colour : this.subColor ColorString_0 = ColorString_0 ? (', "color": ['+ColorString_0+']') : ''; EvalString_2 = EvalString_2 && (', "condition": "'+EvalString_1+'"') IdString_0 = IdString_0? (', "icon": "'+IdString_0+'"'):''; -var code = '{"text": "'+EvalString_0+'", "need": "'+EvalString_1+'"'+IdString_0+ColorString_0+EvalString_2+', "effect": [\n'+shopEffect_0+']},\n'; +var code = '{"text": "'+EvalString_0+'", "need": "'+EvalString_1+'"'+IdString_0+ColorString_0+EvalString_2+', "action": [\n'+action_0+']},\n'; return code; */; -shopEffect - : idString_e AssignOperator_List expression - - -/* shopEffect -colour : this.subColor -return '{"name": "'+idString_e_0+'", "operator": "'+AssignOperator_List_0+'", "value": "'+expression_0+'"},\n'; -*/; - shopitem : '道具商店 id' IdString '快捷名称' EvalString '未开启不显示' Bool BGNL? Newline shopItemChoices+ BEND @@ -216,6 +184,28 @@ var code = '{"id": "' + IdString_0 + '"' + IntString_0 + EvalString_0 + EvalStri return code; */; +shopcommonevent + : '公共事件商店 id' IdString '快捷名称' EvalString '未开启不显示' Bool BGNL? '执行的公共事件名' EvalString '参数列表' JsonEvalString? + +/* shopcommonevent +tooltip : 全局商店, 执行一个公共事件 +helpUrl : https://h5mota.com/games/template/_docs/#/ +default : ["shop1","回收钥匙商店",false,"回收钥匙商店",""] +if (JsonEvalString_0) { + if (!(JSON.parse(JsonEvalString_0) instanceof Array)) + throw new Error('参数列表必须是个有效的数组!'); +} +var code = { + 'id': IdString_0, + 'textInList': EvalString_0, + 'mustEnable': Bool_0, + 'commonEvent': EvalString_1 +} +if (JsonEvalString_0) code.args = JSON.parse(JsonEvalString_0); +code=JSON.stringify(code,null,2)+',\n'; +return code; +*/; + //afterBattle 事件编辑器入口之一 afterBattle_m : '战斗结束后' BGNL? Newline action+ BEND @@ -1236,15 +1226,16 @@ return code; */; openShop_s - : '打开全局商店' IdString Newline + : '启用全局商店' IdString '同时打开' Bool Newline /* openShop_s tooltip : 全局商店 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=openshop%EF%BC%9A%E6%89%93%E5%BC%80%E4%B8%80%E4%B8%AA%E5%85%A8%E5%B1%80%E5%95%86%E5%BA%97 colour : this.dataColor -default : ["shop1"] -var code = '{"type": "openShop", "id": "'+IdString_0+'"},\n'; +default : ["shop1", true] +Bool_0 = Bool_0 ? (', "open": true') : ''; +var code = '{"type": "openShop", "id": "'+IdString_0+'"'+Bool_0+'},\n'; return code; */; @@ -2742,8 +2733,8 @@ Global_Value_List Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示护盾值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExp', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示护盾值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExp', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'disableShopOnDamage', 'blurFg']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 @@ -2916,20 +2907,12 @@ ActionParser.prototype.parse = function (obj,type) { var buildsub = function(obj,parser,next){ var text_choices = null; for(var ii=obj.choices.length-1,choice;choice=obj.choices[ii];ii--) { - var text_effect = null; - choice.effect = choice.effect || []; - for (var jj=choice.effect.length-1,effect;effect=choice.effect[jj];jj--) { - text_effect = MotaActionBlocks['shopEffect'].xmlText([ - parser.tryToUseEvFlag_e('idString_e', [effect.name]), effect.operator || '=', - MotaActionBlocks['evalString_e'].xmlText([effect.value]), text_effect - ]); - } text_choices=MotaActionBlocks['shopChoices'].xmlText([ - choice.text,choice.need||'',choice.icon,choice.color,'rgba('+choice.color+')',choice.condition,text_effect,text_choices]); + choice.text,choice.need||'',choice.icon,choice.color,'rgba('+choice.color+')',choice.condition,parser.parseList(choice.action),text_choices]); } var info = parser.getTitleAndPosition(obj.text || ''); return MotaActionBlocks['shopsub'].xmlText([ - obj.id,obj[0],info[1],info[3],obj.textInList,obj.commonTimes,obj.mustEnable,obj.need,text_choices,next + obj.id,obj[0],info[1],info[3],obj.textInList,obj.mustEnable,obj.disablePreview,text_choices,next ]); } var buildcommentevent = function(obj,parser,next){ @@ -3279,7 +3262,7 @@ ActionParser.prototype.parseAction = function() { break; case "openShop": // 打开一个全局商店 this.next = MotaActionBlocks['openShop_s'].xmlText([ - data.id,this.next]); + data.id,data.open||false,this.next]); break; case "disableShop": // 禁用一个全局商店 this.next = MotaActionBlocks['disableShop_s'].xmlText([ diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index e1c570ff..b2ef109c 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -38,19 +38,16 @@ editor_blockly = function () { },'autoEvent'), MotaActionBlocks['changeFloor_m'].xmlText(), MotaActionFunctions.actionParser.parse([{ - "id": "moneyShop1", - "text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我\${temp:B}金币就可以:", - "textInList": "1F金币商店", - "need": "20+10*temp:A*(temp:A+1)", + "id": "shop1", + "text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我\${20+2*flag:shop1}金币就可以:", + "textInList": "1F金币商店", "choices": [ - {"text": "生命+800", "need": "status:money>=temp:B", "effect": [ - {"name": "status:money", "operator": "-=", "value": "temp:B"}, - {"name": "status:hp", "operator": "+=", "value": "800"}, - ]}, - {"text": "攻击+4", "need": "status:money>=temp:B", "effect": [ - {"name": "status:money", "operator": "-=", "value": "temp:B"}, - {"name": "status:atk", "operator": "+=", "value": "4"}, - ]}, + {"text": "生命+800", "need": "status:money>=20+2*flag:shop1", "action": [ + {"type": "comment", "text": "新版商店中需要手动扣减金币和增加访问次数"}, + {"type": "setValue", "name": "status:money", "operator": "-=", "value": "20+2*flag:shop1"}, + {"type": "setValue", "name": "flag:shop1", "operator": "+=", "value": "1"}, + {"type": "setValue", "name": "status:hp", "operator": "+=", "value": "800"} + ]} ] },{ "id": "itemShop", diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index f2e96178..5b11ee0d 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -667,12 +667,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_docs": "允许瞬移", "_data": "是否允许瞬间移动" }, - "enableDisabledShop": { - "_leaf": true, - "_type": "checkbox", - "_docs": "商店预览", - "_data": "是否允许查看未开启状态的快捷商店内容;如果此项为真,则对于未开启状态的商店允许查看其内容(但不能购买)" - }, "disableShopOnDamage": { "_leaf": true, "_type": "checkbox", diff --git a/_server/table/functions.comment.js b/_server/table/functions.comment.js index d8fd7de3..c70d1df5 100644 --- a/_server/table/functions.comment.js +++ b/_server/table/functions.comment.js @@ -87,12 +87,6 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_lint": true, "_data": "特殊地形后" - }, - "canUseQuickShop": { - "_leaf": true, - "_type": "textarea", - "_lint": true, - "_data": "能否快捷商店" } } }, diff --git a/_server/table/plugins.comment.js b/_server/table/plugins.comment.js index ec02f2ff..f012cdc1 100644 --- a/_server/table/plugins.comment.js +++ b/_server/table/plugins.comment.js @@ -14,13 +14,19 @@ var plugins_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_range": "typeof(thiseval)=='string'", "_data": "自定义插件" }, + "shop": { + "_leaf": true, + "_type": "textarea", + "_range": "typeof(thiseval)=='string'", + "_data": "全局商店" + }, "drawLight": { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", "_data": "灯光效果" }, - "drawItemShop": { + "itemShop": { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", diff --git a/libs/actions.js b/libs/actions.js index de3809c0..094dd966 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -260,9 +260,6 @@ actions.prototype._sys_keyDown_lockControl = function (keyCode) { case 'replayRemain': this._keyDownSL(keyCode); break; - case 'shop': - this._keyDownShop(keyCode); - break; case 'selectShop': case 'switchs': case 'settings': @@ -346,9 +343,6 @@ actions.prototype._sys_keyUp_lockControl = function (keyCode, altKey) { case 'viewMaps': this._keyUpViewMaps(keyCode); break; - case 'shop': - this._keyUpShop(keyCode); - break; case 'selectShop': this._keyUpQuickShop(keyCode); break; @@ -476,7 +470,6 @@ actions.prototype._sys_onmove_choices = function (x, y) { switch (core.status.event.id) { case 'action': if (core.status.event.data.type != 'choices') break; - case 'shop': case 'selectShop': case 'switchs': case 'settings': @@ -614,9 +607,6 @@ actions.prototype._sys_onclick_lockControl = function (x, y) { case 'settings': this._clickSettings(x, y); break; - case 'shop': - this._clickShop(x, y); - break; case 'selectShop': this._clickQuickShop(x, y); break; @@ -792,10 +782,6 @@ actions.prototype._sys_longClick_lockControl = function (x, y) { return true; } } - // 长按商店连续购买 - if (core.status.event.id == 'shop' && x >= this.CHOICES_LEFT && x <= this.CHOICES_RIGHT) { - return this._clickShop(x, y); - } // 长按可以跳过等待事件 if (core.status.event.id == 'action' && core.status.event.data.type == 'sleep' && !core.status.event.data.current.noSkip) { @@ -1280,61 +1266,28 @@ actions.prototype._keyUpViewMaps = function (keycode) { return; } -////// 商店界面时的点击操作 ////// -actions.prototype._clickShop = function (x, y) { - var shop = core.status.event.data.shop; - var choices = shop.choices; - if (x >= this.CHOICES_LEFT && x <= this.CHOICES_RIGHT) { - var topIndex = this.HSIZE - parseInt(choices.length / 2) + (core.status.event.ui.offset || 0); - if (y >= topIndex && y < topIndex + choices.length) { - return core.events._useShop(shop, y - topIndex); - } - // 离开 - else if (y == topIndex + choices.length) { - core.events._exitShop(); - } - else return false; - } - return true; -} - -actions.prototype._keyDownShop = function (keycode) { - // 商店界面长按空格连续购买 - if (keycode == 32 && core.status.event.selection != core.status.event.data.shop.choices.length) { - this._selectChoices(core.status.event.data.shop.choices.length + 1, keycode, this._clickShop); - return; - } - this._keyDownChoices(keycode); -} - -////// 商店界面时,放开某个键的操作 ////// -actions.prototype._keyUpShop = function (keycode) { - if (keycode == 27 || keycode == 88) { - core.events._exitShop(); - return; - } - if (keycode != 32 || core.status.event.selection == core.status.event.data.shop.choices.length) { - this._selectChoices(core.status.event.data.shop.choices.length + 1, keycode, this._clickShop); - return; - } - return; -} - ////// 快捷商店界面时的点击操作 ////// actions.prototype._clickQuickShop = function (x, y) { - var keys = Object.keys(core.status.shops).filter(function (shopId) { - return core.status.shops[shopId].visited || !core.status.shops[shopId].mustEnable - }); + var shopIds = core.listShopIds(); if (x >= this.CHOICES_LEFT && x <= this.CHOICES_RIGHT) { - var topIndex = this.HSIZE - parseInt(keys.length / 2) + (core.status.event.ui.offset || 0); - if (y >= topIndex && y < topIndex + keys.length) { - core.events.openShop(keys[y - topIndex], true); - if (core.status.event.id == 'shop') - core.status.event.data.fromList = true; + var topIndex = this.HSIZE - parseInt(shopIds.length / 2) + (core.status.event.ui.offset || 0); + if (y >= topIndex && y < topIndex + shopIds.length) { + var shopId = shopIds[y - topIndex]; + if (!core.canOpenShop(shopId)) { + core.drawTip('当前项尚未开启'); + return; + } + var message = core.canUseQuickShop(shopId); + if (message == null) { + // core.ui.closePanel(); + core.openShop(shopIds[y - topIndex], false); + } else { + core.drawTip(message); + } } // 离开 - else if (y == topIndex + keys.length) + else if (y == topIndex + shopIds.length) core.ui.closePanel(); return; } @@ -1347,10 +1300,7 @@ actions.prototype._keyUpQuickShop = function (keycode) { core.ui.closePanel(); return; } - var keys = Object.keys(core.status.shops).filter(function (shopId) { - return core.status.shops[shopId].visited || !core.status.shops[shopId].mustEnable - }); - this._selectChoices(keys.length + 1, keycode, this._clickQuickShop); + this._selectChoices(core.listShopIds().length + 1, keycode, this._clickQuickShop); return; } diff --git a/libs/control.js b/libs/control.js index 0f3dfe5f..a4f5ae89 100644 --- a/libs/control.js +++ b/libs/control.js @@ -1010,9 +1010,9 @@ control.prototype.checkBlock = function () { control.prototype._checkBlock_disableQuickShop = function () { // 禁用快捷商店 if (core.flags.disableShopOnDamage) { - for (var shopId in core.status.shops) { - core.status.shops[shopId].visited = false; - } + Object.keys(core.status.shops).forEach(function (shopId) { + core.setShopVisited(shopId, false); + }); } } @@ -1517,36 +1517,13 @@ control.prototype._replayAction_fly = function (action) { control.prototype._replayAction_shop = function (action) { if (action.indexOf("shop:")!=0) return false; - var sps=action.substring(5).split(":"); - var shopId=sps[0], selections=sps[1].split(""); - if (selections.length == 0) return false; - var shop=core.status.shops[shopId]; - if (!shop || !shop.visited) return false; - // --- 判定commonEvent或item - if (shop.commonEvent || shop.item) { - core.openShop(shopId, false); - core.replay(); + var shopId = action.substring(5); + if (core.canUseQuickShop(shopId) != null || !core.canOpenShop(shopId)) { + this._replay_error(shopId); return true; } - var choices = shop.choices; - core.status.event.selection = parseInt(selections.shift()); - core.events.openShop(shopId, false); - var topIndex = core.__HALF_SIZE__ - parseInt(choices.length / 2) + (core.status.event.ui.offset || 0); - var shopInterval = setInterval(function () { - if (!core.actions._clickShop(core.__HALF_SIZE__, topIndex+core.status.event.selection)) { - clearInterval(shopInterval); - core.control._replay_error(action); - return; - } - if (selections.length==0) { - clearInterval(shopInterval); - core.actions._clickShop(core.__HALF_SIZE__, topIndex+choices.length); - core.replay(); - return; - } - core.status.event.selection = parseInt(selections.shift()); - core.events.openShop(shopId, false); - }, core.control.__replay_getTimeout()); + core.openShop(shopId, false); + core.replay(); return true; } diff --git a/libs/events.js b/libs/events.js index 6778633c..80d2be26 100644 --- a/libs/events.js +++ b/libs/events.js @@ -1506,16 +1506,13 @@ events.prototype._action_unloadEquip = function (data, x, y, prefix) { } events.prototype._action_openShop = function (data, x, y, prefix) { - core.status.shops[data.id].visited = true; - this.setEvents([]); - if (!core.isReplaying()) - this.openShop(data.id); - if (core.status.event.id == 'action') - core.doAction(); + core.setShopVisited(data.id, true); + if (data.open) core.openShop(data.id, true); + core.doAction(); } events.prototype._action_disableShop = function (data, x, y, prefix) { - this.disableQuickShop(data.id); + core.setShopVisited(data.id, false); core.doAction(); } @@ -2347,8 +2344,17 @@ events.prototype.openQuickShop = function (fromUserAction) { // --- 如果只有一个商店,则直接打开之 if (Object.keys(core.status.shops).length == 1) { var shopId = Object.keys(core.status.shops)[0]; - if (core.status.event.id != null || !this._checkStatus('shop', false)) return; - core.events.openShop(shopId, true); + if (core.status.event.id != null) return; + if (!core.canOpenShop(shopId)) { + core.drawTip("当前无法打开快捷商店!"); + return; + } + var message = core.canUseQuickShop(shopId); + if (message != null) { + core.drawTip(message); + return; + } + core.openShop(shopId, false); return; } @@ -2497,16 +2503,6 @@ events.prototype.addValue = function (name, value, prefix) { this.setValue(name, '+=', value, prefix); } -////// 执行一个表达式的effect操作 ////// -events.prototype.doEffect = function (effect, need, times) { - effect.split(";").forEach(function (expression) { - var arr = expression.split("+="); - if (arr.length != 2) return; - var name=arr[0], value=core.calValue(arr[1], null, need, times); - core.addValue(name, value); - }); -} - ////// 设置一个怪物属性 ////// events.prototype.setEnemy = function (id, name, value, prefix) { if (!core.hasFlag('enemyInfo')) { @@ -2874,87 +2870,6 @@ events.prototype._jumpHero_finished = function (animate, ex, ey, callback) { if (callback) callback(); } -////// 打开一个全局商店 ////// -events.prototype.openShop = function (shopId, needVisited) { - var shop = core.status.shops[shopId]; - shop.times = shop.times || 0; - if (shop.commonTimes) shop.times = core.getFlag('commonTimes', 0); - var reason = core.events.canUseQuickShop(shop.id); - if (reason != null) return core.drawTip(reason); - - if (needVisited && !shop.visited) { - if (!core.flags.enableDisabledShop || shop.commonEvent || shop.item) { - if (shop.times == 0) core.drawTip("该项尚未开启"); - else core.drawTip("该项已失效"); - core.ui.closePanel(); - return; - } - else { - core.drawTip("该商店尚未开启,只能浏览不可使用"); - } - } - else shop.visited = true; - - if (shop.item) { - core.status.route.push("shop:" + shopId + ":0"); - if (core.openItemShop) { - core.openItemShop(shopId); - } else { - core.insertAction("道具商店插件不存在!请检查是否存在该插件!"); - } - return; - } else if (shop.commonEvent) { - core.status.route.push("shop:"+shopId+":0"); - core.insertAction({"type": "insert", "name": shop.commonEvent, "args": shop.args}); - return; - } - core.ui.drawShop(shopId); -} - -events.prototype._useShop = function (shop, index) { - if (!shop.visited) { - core.drawTip(shop.times ? "该商店已失效" : "该商店尚未开启"); - return false; - } - var use = shop.use, choice = shop.choices[index]; - var times = shop.times, need = core.calValue(choice.need || shop.need, null, null, times); - if (need > core.getStatus(use)) { - core.drawTip("你的" + (use == 'money' ? "金币" : "经验") + "不足"); - return false; - } - core.status.event.selection = index; - core.status.event.data.actions.push(index); - core.setStatus(use, core.getStatus(use) - need); - core.doEffect(choice.effect, need, times); - core.updateStatusBar(); - shop.times++; - if (shop.commonTimes) core.setFlag('commonTimes', shop.times); - this.openShop(shop.id); - return true; -} - -events.prototype._exitShop = function () { - if (core.status.event.data.actions.length > 0) { - core.status.route.push("shop:" + core.status.event.data.id + ":" + core.status.event.data.actions.join("")); - } - core.status.event.data.actions = []; - core.status.boxAnimateObjs = []; - if (core.status.event.data.fromList) - core.ui.drawQuickShop(); - else - core.ui.closePanel(); -} - -////// 禁用一个全局商店 ////// -events.prototype.disableQuickShop = function (shopId) { - core.status.shops[shopId].visited = false; -} - -////// 能否使用快捷商店 ////// -events.prototype.canUseQuickShop = function (shopId) { - return this.eventdata.canUseQuickShop(shopId); -} - ////// 设置角色行走图 ////// events.prototype.setHeroIcon = function (name, noDraw) { name = core.getMappedName(name); diff --git a/libs/ui.js b/libs/ui.js index c69461fd..6aea41ff 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -443,12 +443,14 @@ ui.prototype._uievent_drawIcon = function (data) { ////// 结束一切事件和绘制,关闭UI窗口,返回游戏进程 ////// ui.prototype.closePanel = function () { - // 清除全部临时变量 - Object.keys(core.status.hero.flags).forEach(function (name) { - if (name.startsWith("@temp@")) { - delete core.status.hero.flags[name]; - } - }); + if (core.status.hero && core.status.hero.flags) { + // 清除全部临时变量 + Object.keys(core.status.hero.flags).forEach(function (name) { + if (name.startsWith("@temp@")) { + delete core.status.hero.flags[name]; + } + }); + } this.clearUI(); core.maps.generateGroundPattern(); core.updateStatusBar(true); @@ -1552,11 +1554,9 @@ ui.prototype.drawSettings = function () { ////// 绘制快捷商店选择栏 ////// ui.prototype.drawQuickShop = function () { core.status.event.id = 'selectShop'; - var shopList = core.status.shops, keys = Object.keys(shopList).filter(function (shopId) { - return shopList[shopId].visited || !shopList[shopId].mustEnable - }); + var shopList = core.status.shops, keys = core.listShopIds(); var choices = keys.map(function (shopId) { - return {"text": shopList[shopId].textInList, "color": shopList[shopId].visited?null:"#999999"}; + return {"text": shopList[shopId].textInList, "color": core.isShopVisited(shopId) ? null : "#999999"}; }); choices.push("返回游戏"); this.drawChoices(null, choices); @@ -2038,33 +2038,6 @@ ui.prototype.drawCenterFly = function () { return; } -////// 绘制全局商店 -ui.prototype.drawShop = function (shopId) { - var shop = core.status.shops[shopId]; - var actions = [], fromList = (core.status.event.data||{}).fromList, selection = core.status.event.selection; - if (core.status.event.data && core.status.event.data.actions) actions=core.status.event.data.actions; - - core.ui.closePanel(); - core.lockControl(); - core.status.event.id = 'shop'; - core.status.event.data = {'id': shopId, 'shop': shop, 'actions': actions, 'fromList': fromList}; - core.status.event.selection = selection; - - var times = shop.times, need=core.calValue(shop.need, null, null, times); - var content = "\t["+shop.name+","+shop.icon+"]" + core.replaceText(shop.text, null, need, times); - var use = shop.use=='exp'?'经验':'金币'; - var choices = []; - for (var i=0;i= 0) { @@ -596,7 +596,7 @@ utils.prototype._decodeRoute_decodeOne = function (decodeObj, c) { decodeObj.ans.push("choices:" + nxt); break; case "S": - decodeObj.ans.push("shop:" + nxt + ":" + this._decodeRoute_getNumber(decodeObj, true)); + decodeObj.ans.push("shop:" + nxt); break; case "T": decodeObj.ans.push("turn"); diff --git a/main.js b/main.js index 74da7a29..e6206b82 100644 --- a/main.js +++ b/main.js @@ -597,7 +597,7 @@ main.statusBar.image.keyboard.onclick = function (e) { main.core.openKeyBoard(true); } -////// 点击状态栏中的快捷商店键盘时 ////// +////// 点击状态栏中的快捷商店时 ////// main.statusBar.image.shop.onclick = function (e) { e.stopPropagation(); @@ -610,7 +610,7 @@ main.statusBar.image.shop.onclick = function (e) { main.core.openQuickShop(true); } -////// 点击金币时也可以开启虚拟键盘 ////// +////// 点击金币时也可以开启快捷商店 ////// main.statusBar.image.money.onclick = function (e) { e.stopPropagation(); diff --git a/project/data.js b/project/data.js index a4adb924..86e3be31 100644 --- a/project/data.js +++ b/project/data.js @@ -299,31 +299,98 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = ], "shops": [ { - "id": "moneyShop1", - "text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我${temp:B}金币就可以:", + "id": "shop1", + "text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:", "textInList": "1F金币商店", - "commonTimes": false, "mustEnable": false, - "need": "20+10*temp:A*(temp:A+1)", + "disablePreview": false, "choices": [ { "text": "生命+800", - "need": "status:money>=temp:B", - "effect": [ + "need": "status:money>=20+2*flag:shop1", + "action": [ { - "name": "status:money", - "operator": "-=", - "value": "temp:B" + "type": "comment", + "text": "新版商店中需要手动扣减金币和增加访问次数" }, { + "type": "setValue", + "name": "status:money", + "operator": "-=", + "value": "20+2*flag:shop1" + }, + { + "type": "setValue", + "name": "flag:shop1", + "operator": "+=", + "value": "1" + }, + { + "type": "setValue", "name": "status:hp", "operator": "+=", "value": "800" + } + ] + }, + { + "text": "攻击+4", + "need": "status:money>=20+2*flag:shop1", + "action": [ + { + "type": "comment", + "text": "新版商店中需要手动扣减金币和增加访问次数" }, { - "name": "flag:xxx", - "operator": "=", - "value": "temp:B" + "type": "setValue", + "name": "status:money", + "operator": "-=", + "value": "20+2*flag:shop1" + }, + { + "type": "setValue", + "name": "flag:shop1", + "operator": "+=", + "value": "1" + }, + { + "type": "setValue", + "name": "status:atk", + "operator": "+=", + "value": "4" + } + ] + } + ] + }, + { + "id": "shop2", + "text": "\t[贪婪之神,pinkShop]勇敢的武士啊, 给我一定经验就可以:", + "textInList": "1F经验商店", + "mustEnable": false, + "disablePreview": true, + "choices": [ + { + "text": "等级+1(100经验)", + "need": "status:exp>=100", + "action": [ + { + "type": "setValue", + "name": "status:exp", + "operator": "-=", + "value": "100" + }, + { + "type": "setValue", + "name": "status:lv", + "operator": "+=", + "value": "1" + }, + { + "type": "setValue", + "name": "status:hp", + "operator": "+=", + "value": "1000" } ] } @@ -338,12 +405,13 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = { "id": "yellowKey", "number": 10, - "money": "10" + "money": "10", + "sell": "5" } ] }, { - "id": "keyShop1", + "id": "keyShop", "textInList": "回收钥匙商店", "mustEnable": false, "commonEvent": "回收钥匙商店" @@ -442,7 +510,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "ignoreChangeFloor": true, "canGoDeadZone": false, "enableMoveDirectly": true, - "enableDisabledShop": true, "disableShopOnDamage": false, "blurFg": false } diff --git a/project/events.js b/project/events.js index d98dcfda..e51ac0a4 100644 --- a/project/events.js +++ b/project/events.js @@ -244,7 +244,7 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = "回收钥匙商店": [ { "type": "comment", - "text": "此事件在全局商店中被引用了(全局商店keyShop1)" + "text": "此事件在全局商店中被引用了(全局商店keyShop)" }, { "type": "comment", diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 5149304d..7260bac0 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -229,13 +229,15 @@ main.floors.sample1= "1,0": [ { "type": "openShop", - "id": "moneyShop1" + "id": "shop1", + "open": true } ], "5,0": [ { "type": "openShop", - "id": "expShop1" + "id": "shop2", + "open": true } ], "7,7": [ diff --git a/project/functions.js b/project/functions.js index c63fa1fe..90073aaa 100644 --- a/project/functions.js +++ b/project/functions.js @@ -429,18 +429,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // if (id == 'lavaNet') core.removeBlock(x, y); }, - "canUseQuickShop": function(shopId) { - // 当前能否使用某个快捷商店 - // shopId:快捷商店ID - // 如果返回一个字符串,表示不能,字符串为不能使用的提示 - // 返回null代表可以使用 - - // 检查当前楼层的canUseQuickShop选项是否为false - if (core.status.thisMap.canUseQuickShop === false) - return '当前楼层不能使用快捷商店。'; - - return null; -} }, "enemys": { "getSpecials": function () { @@ -943,17 +931,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = 'maps': core.maps.saveMap(), 'route': core.encodeRoute(core.status.route), 'values': values, - 'shops': {}, 'version': core.firstData.version, "time": new Date().getTime() }; - // 设置商店次数 - for (var shopId in core.status.shops) { - data.shops[shopId] = { - 'times': core.status.shops[shopId].times || 0, - 'visited': core.status.shops[shopId].visited || false - }; - } return data; }, @@ -963,13 +943,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 重置游戏和路线 core.resetGame(data.hero, data.hard, data.floorId, core.maps.loadMap(data.maps), data.values); core.status.route = core.decodeRoute(data.route); - // 加载商店信息 - for (var shopId in core.status.shops) { - if (data.shops[shopId]) { - core.status.shops[shopId].times = data.shops[shopId].times; - core.status.shops[shopId].visited = data.shops[shopId].visited; - } - } // 文字属性,全局属性 core.status.textAttribute = core.getFlag('textAttribute', core.status.textAttribute); var toAttribute = core.getFlag('globalAttribute', core.status.globalAttribute); diff --git a/project/plugins.js b/project/plugins.js index 3f25e0f6..12f2712b 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -84,6 +84,142 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = ctx.globalCompositeOperation = 'source-over'; // 可以在任何地方(如afterXXX或自定义脚本事件)调用函数,方法为 core.plugin.xxx(); } +}, + "shop": function () { + // 【全局商店】相关的功能 + // + // 打开一个全局商店 + // shopId:要打开的商店id;noRoute:是否不计入录像 + this.openShop = function (shopId, noRoute) { + var shop = core.status.shops[shopId]; + // Step 1: 检查能否打开此商店 + if (!this.canOpenShop(shopId)) { + core.drawTip("该商店尚未开启"); + return false; + } + + // Step 2: (如有必要)记录打开商店的脚本事件 + if (!noRoute) { + core.status.route.push("shop:" + shopId); + } + + // Step 3: 检查道具商店 or 公共事件 + if (shop.item) { + if (core.openItemShop) { + core.openItemShop(shopId); + } else { + core.insertAction("道具商店插件不存在!请检查是否存在该插件!"); + } + return; + } + if (shop.commonEvent) { + core.insertAction({ "type": "insert", "name": shop.commonEvent, "args": shop.args }); + return; + } + + // Step 4: 执行标准公共商店 + core.insertAction(this._convertShop(shop)); + return true; + } + + ////// 将一个全局商店转变成可预览的公共事件 ////// + this._convertShop = function (shop) { + return [{ + "type": "while", + "condition": "true", + "data": [ + // 检测能否访问该商店 + { + "type": "if", + "condition": "core.isShopVisited('" + shop.id + "')", + "true": [ + // 可以访问,直接插入执行效果 + { "type": "function", "function": "function() { core.plugin._convertShop_replaceChoices('" + shop.id + "', false) }" }, + ], + "false": [ + // 不能访问的情况下:检测能否预览 + { + "type": "if", + "condition": shop.disablePreview, + "true": [ + // 不可预览,提示并退出 + "当前无法访问该商店!", + { "type": "break" }, + ], + "false": [ + // 可以预览:将商店全部内容进行替换 + { "type": "tip", "text": "当前处于预览模式,不可购买" }, + { "type": "function", "function": "function() { core.plugin._convertShop_replaceChoices('" + shop.id + "', true) }" }, + ] + } + ] + } + ] + }]; + } + + this._convertShop_replaceChoices = function (shopId, previewMode) { + var shop = core.status.shops[shopId]; + var choices = (shop.choices || []).filter(function (choice) { + if (choice.condition == null || choice.condition == '') return true; + try { return core.calValue(choice.condition); } catch (e) { return true; } + }).map(function (choice) { + var ableToBuy = core.calValue(choice.need); + return { + "text": choice.text, + "icon": choice.icon, + "color": ableToBuy && !previewMode ? choice.color : [153, 153, 153, 1], + "action": ableToBuy && !previewMode ? choice.action : [ + { "type": "tip", "text": previewMode ? "预览模式下不可购买" : "购买条件不足" } + ] + }; + }).concat({ "text": "离开", "action": [{ "type": "break" }] }); + core.insertAction({ "type": "choices", "text": shop.text, "choices": choices }); + } + + /// 是否访问过某个快捷商店 + this.isShopVisited = function (id) { + if (!core.hasFlag("__shops__")) core.setFlag("__shops__", {}); + var shops = core.getFlag("__shops__"); + if (!shops[id]) shops[id] = {}; + return shops[id].visited; + } + + /// 当前应当显示的快捷商店列表 + this.listShopIds = function () { + return Object.keys(core.status.shops).filter(function (id) { + return core.isShopVisited(id) || !core.status.shops[id].mustEnable; + }); + } + + /// 是否能够打开某个商店 + this.canOpenShop = function (id) { + if (this.isShopVisited(id)) return true; + var shop = core.status.shops[id]; + if (shop.item || shop.commonEvent || shop.mustEnable) return false; + return true; + } + + /// 启用或禁用某个快捷商店 + this.setShopVisited = function (id, visited) { + if (!core.hasFlag("__shops__")) core.setFlag("__shops__", {}); + var shops = core.getFlag("__shops__"); + if (!shops[id]) shops[id] = {}; + if (visited) shops[id].visited = true; + else delete shops[id].visited; + } + + /// 能否使用快捷商店 + this.canUseQuickShop = function (id) { + // 如果返回一个字符串,表示不能,字符串为不能使用的提示 + // 返回null代表可以使用 + + // 检查当前楼层的canUseQuickShop选项是否为false + if (core.status.thisMap.canUseQuickShop === false) + return '当前楼层不能使用快捷商店。'; + return null; + } + }, "itemShop": function () { // 道具商店相关的插件 @@ -97,6 +233,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = var totalPage = 0; var totalMoney = 0; var list = []; + var shopInfo = null; // 商店信息 + var choices = []; // 商店选项 var bigFont = core.ui._buildFont(20, false), middleFont = core.ui._buildFont(18, false); @@ -143,9 +281,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = } // Step 2:获得列表并展示 - var choices = core.status.shops[shopId].choices; list = choices.filter(function (one) { - if (one.condition != null) { + if (one.condition != null && one.condition != '') { try { if (!core.calValue(one.condition)) return false; } catch (e) {} } return (type == 0 && one.money != null) || (type == 1 && one.sell != null); @@ -369,6 +506,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = page = 0; selectItem = null; selectCount = 0; + shopInfo = flags.__shops__[shopId]; + if (shopInfo.choices == null) shopInfo.choices = core.clone(core.status.shops[shopId].choices); + choices = shopInfo.choices; + core.insertAction([{ "type": "while", "condition": "true", @@ -386,36 +527,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = ]); } - // Write item number to save - core.control.saveData = function () { - var data = this.controldata.saveData(); - for (var shopId in core.status.shops) { - if (core.status.shops[shopId].item) { - data.shops[shopId].choices = core.status.shops[shopId].choices.map(function (t) { - return { - number: t.number, - money_count: t.money_count || 0, - sell_count: t.sell_count || 0 - } - }); - } - } - return data; - } - - core.control.loadData = function (data, callback) { - this.controldata.loadData(data, callback); - for (var shopId in data.shops) { - if (data.shops[shopId].choices) { - for (var i = 0; i < data.shops[shopId].choices.length; ++i) { - core.status.shops[shopId].choices[i].number = data.shops[shopId].choices[i].number; - core.status.shops[shopId].choices[i].money_count = data.shops[shopId].choices[i].money_count; - core.status.shops[shopId].choices[i].sell_count = data.shops[shopId].choices[i].sell_count; - } - } - } - } - }, "smoothCamera": function () { From 50a0eda71ff71aba07fd47be7a8cdb8a4cffee96 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 12 May 2020 21:43:29 +0800 Subject: [PATCH 62/70] Small fixes --- _server/editor_blockly.js | 6 ++++++ libs/ui.js | 8 ++++++++ project/plugins.js | 24 +++++++++++------------- styles.css | 5 +++++ v2.x-final更新.txt | 15 +++++++++++---- 5 files changed, 41 insertions(+), 17 deletions(-) diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index b2ef109c..8fe686aa 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -1030,6 +1030,12 @@ function omitedcheckUpdateFunction(event) { }).sort(); } + // 对全局商店进行补全 + if ((type == 'openShop_s' || type == 'disableShop_s') && name == 'IdString_0') { + return Object.keys(core.status.shops).filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } return []; } diff --git a/libs/ui.js b/libs/ui.js index 6aea41ff..115fb4d8 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -660,6 +660,14 @@ ui.prototype._uievent_drawSelector = function (data) { this._drawSelector(ctx, background, w, h); } +ui.prototype._clearUIEventSelector = function (codes) { + if (codes instanceof Array) { + codes.forEach(function (code) { core.ui._clearUIEventSelector(code); }); + return; + } + core.deleteCanvas('_uievent_selector_' + (codes || 0)); +} + ui.prototype._drawSelector = function (ctx, background, w, h, left, top) { left = left || 0; top = top || 0; diff --git a/project/plugins.js b/project/plugins.js index 12f2712b..b8a4776e 100644 --- a/project/plugins.js +++ b/project/plugins.js @@ -39,7 +39,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = // core.plugin.drawLight('ui', 0.95, [[25,11,46]]); // 在ui层绘制全图不透明度0.95,其中在(25,11)点存在一个半径为46的灯光效果。 // core.plugin.drawLight('test', 0.2, [[25,11,46,0.1]]); // 创建一个test图层,不透明度0.2,其中在(25,11)点存在一个半径为46的灯光效果,灯光中心不透明度0.1。 // core.plugin.drawLight('test2', 0.9, [[25,11,46],[105,121,88],[301,221,106]]); // 创建test2图层,且存在三个灯光效果,分别是中心(25,11)半径46,中心(105,121)半径88,中心(301,221)半径106。 - // core.plugin.drawLight('xxx', 0.3, [[25,11,46],[105,121,88,0.2]], 0.4); // 存在两个灯光效果,它们在内圈40%范围内保持全亮,且40%后才开始衰减。 + // core.plugin.drawLight('xxx', 0.3, [[25,11,46],[105,121,88,0.2]], 0.4); // 存在两个灯光效果,它们在内圈40%范围内保持全亮,40%后才开始衰减。 this.drawLight = function (name, color, lights, lightDec) { // 清空色调层;也可以修改成其它层比如animate/weather层,或者用自己创建的canvas @@ -245,16 +245,15 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = // Step 1: 背景和固定的几个文字 core.ui._createUIEvent(); core.clearMap('uievent'); - core.ui._uievent_drawSelector({ "code": 1 }); - core.ui._uievent_drawSelector({ "code": 2 }); + core.ui._clearUIEventSelector([1, 2]); core.setTextAlign('uievent', 'left'); core.setTextBaseline('uievent', 'top'); core.fillRect('uievent', 0, 0, 416, 416, 'black'); - core.ui._uievent_drawBackground({ background: 'winskin.png', x: 0, y: 0, width: 416, height: 56 }); - core.ui._uievent_drawBackground({ background: 'winskin.png', x: 0, y: 56, width: 312, height: 56 }); - core.ui._uievent_drawBackground({ background: 'winskin.png', x: 0, y: 112, width: 312, height: 304 }); - core.ui._uievent_drawBackground({ background: 'winskin.png', x: 312, y: 56, width: 104, height: 56 }); - core.ui._uievent_drawBackground({ background: 'winskin.png', x: 312, y: 112, width: 104, height: 304 }); + core.drawWindowSkin('winskin.png', 'uievent', 0, 0, 416, 56); + core.drawWindowSkin('winskin.png', 'uievent', 0, 56, 312, 56); + core.drawWindowSkin('winskin.png', 'uievent', 0, 112, 312, 304); + core.drawWindowSkin('winskin.png', 'uievent', 312, 56, 104, 56); + core.drawWindowSkin('winskin.png', 'uievent', 312, 112, 104, 304); core.setFillStyle('uievent', 'white'); core.setStrokeStyle('uievent', 'white'); core.fillText("uievent", "购买", 32, 74, 'white', bigFont); @@ -519,11 +518,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { "type": "function", "function": "function() { core.performItemShopAction(); }" } ] }, - { "type": "function", "function": "function () { " + - "core.deleteCanvas('uievent'); " + - "core.ui._uievent_drawSelector({ \"code\": 1 }); " + - "core.ui._uievent_drawSelector({ \"code\": 2 }); " + - "}" } + { + "type": "function", + "function": "function () { core.deleteCanvas('uievent'); core.ui._clearUIEventSelector([1, 2]); }" + } ]); } diff --git a/styles.css b/styles.css index 255fd81b..dec14381 100644 --- a/styles.css +++ b/styles.css @@ -295,22 +295,27 @@ p#name { #bg { z-index: 10; + image-rendering: pixelated; } #event { z-index: 30; + image-rendering: pixelated; } #hero { z-index: 40; + image-rendering: pixelated; } #event2 { z-index: 50; + image-rendering: pixelated; } #fg { z-index: 60; + image-rendering: pixelated; } #damage { diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 16110daa..19d89c27 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -12,14 +12,16 @@ (已完成!) 11. 建议修复勇士后退时跟随者的鬼畜行为,并推出一套能够对跟随者位置和朝向进行读写的API甚至事件,且允许这些信息被计入存档,以实现一些演出效果甚至游戏要素,如新新2用公主占位防冰块 (已完成!) 12. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持 13. 建议给core.moveAction(callback)提供对应的事件,用于在事件中让勇士像事件外一样移动,从而正常触发跑毒和阻激夹域捕等 -14. core.openShop()和对应的事件,建议在用于公共事件时简单地退化为“插入公共事件”而不要打断当前事件,把决定权交给作者 +(已完成!) 14. core.openShop()和对应的事件,建议在用于公共事件时简单地退化为“插入公共事件”而不要打断当前事件,把决定权交给作者 (已完成!) 15. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内由作者根据flag再行分歧),建议支持一下 (已完成!) 16. “绘制描边文本”事件建议加一个“描边颜色”参数,目前只能描黑边 (已完成!) 17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 (已完成!) 18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 -19.(来自群友)建议给第一代全局商店的子选项像“显示选择项”一样提供图标、颜色和出现条件(注意长按的适配) +(已完成!) 19.(来自群友)建议给第一代全局商店的子选项像“显示选择项”一样提供图标、颜色和出现条件(注意长按的适配) (已完成!) 20. 很多事件对应的脚本有默认参数,但在事件中省略参数却会变成0,建议修复 +------------- + (已完成!) defaultGround全局可用 (已完成!) 对floorIds和图片进行检测 (已完成!) 删除绘图模式 @@ -38,7 +40,12 @@ (已完成!) 注释优化 (已完成!) 状态栏显示项的优化 (已完成!) 动画/音乐/音效自动补全 +(已完成!) 重构全局商店! +(已完成!) 读档时色调数据丢失 +圆角边框 +像素高分辨率问题 +------------- (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe” (造塔工具相关都给鹿神) 1. 便捷PS工具希望加入自定义单位宽高功能,希望把“白底转透明”增强为“纯色底转透明”(弹窗由作者输入RGB或RGBA值)。 @@ -106,7 +113,7 @@ (已完成!) 61. 在事件编辑器中进行地图选点时,有些事件指令虽然只能用于同楼层,但实际生效时勇士可能已经不在当前正在编辑的楼层(比如在一个楼层切换事件指令后)了,所以希望地图选点始终提供楼层下拉表 (文档相关给秋橙) 62. 希望在线文档介绍一下楼层和startText的独立开关的flag表示 63. 希望给core.moveAction(callback)函数提供一个对应的事件指令,用于在事件流处理中让勇士进行一些有游戏性意义(即非纯演出)的移动。如果做不到的话希望参照本文的46号issue作为原生脚本勾选async的例子讲解如何使用 -64. “打开全局商店”事件指令建议在用于公共事件版商店时简单地退化为“插入公共事件”而不要打断当前事件流,由作者在这个公共事件结尾去决定“立刻结束当前事件”还是不结束 +(已完成!) 64. “打开全局商店”事件指令建议在用于公共事件版商店时简单地退化为“插入公共事件”而不要打断当前事件流,由作者在这个公共事件结尾去决定“立刻结束当前事件”还是不结束 (已修复!) 65. “显隐贴图”的参数应为像素坐标而不是网格坐标,请修正在线文档的描述。同时建议加个淡入淡出时间参数,还建议贴图能像图片一样有透明度和被移动 (不处理) 66. 读档建议换个和floor.mp3不一样的音效 (不处理) 67. “画面震动”事件希望不要光左右晃,至少做成QQ窗口抖动的效果吧w @@ -118,7 +125,7 @@ 73. 画弧既然有现成的API,那建议也作为UI绘制事件提供。甚至希望提供画椭圆功能(长短轴水平或铅直的那种)参数为中心坐标和长短轴长度 (已完成!) 74. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式 (已完成!) 75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显 -76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件 +(已完成!) 76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件 (已完成!增加正则匹配) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符) (已完成!) 78. 建议移除core.setInitData()并将其内容写在startText以方便作者仿照修改 (不处理;有跟随情况下处理很麻烦) 79. 建议给core.drawHero()添加纵横两个偏移参数(目前只有一个),以用于做一些斜向移动的演出 From 1faad822fbac7612c6c0767da5040f197b198bc7 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 13 May 2020 19:34:54 +0800 Subject: [PATCH 63/70] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/table/comment.js | 3 +- _server/table/functions.comment.js | 12 ------- libs/control.js | 2 +- libs/events.js | 58 +++++++++--------------------- libs/maps.js | 2 +- project/events.js | 2 +- project/functions.js | 13 +------ project/maps.js | 10 +++--- 8 files changed, 27 insertions(+), 75 deletions(-) diff --git a/_server/table/comment.js b/_server/table/comment.js index 4357bafc..c55edea4 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -278,9 +278,8 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "values": [ "null", "openDoor", - "passNet", - "changeLight", "pushBox", + "ski", "custom" ] }, diff --git a/_server/table/functions.comment.js b/_server/table/functions.comment.js index c70d1df5..b0ab8a39 100644 --- a/_server/table/functions.comment.js +++ b/_server/table/functions.comment.js @@ -70,23 +70,11 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_lint": true, "_data": "道具后脚本" }, - "afterChangeLight": { - "_leaf": true, - "_type": "textarea", - "_lint": true, - "_data": "改变亮灯后" - }, "afterPushBox": { "_leaf": true, "_type": "textarea", "_lint": true, "_data": "推箱子后" - }, - "afterPassNet": { - "_leaf": true, - "_type": "textarea", - "_lint": true, - "_data": "特殊地形后" } } }, diff --git a/libs/control.js b/libs/control.js index a4f5ae89..a1f46df4 100644 --- a/libs/control.js +++ b/libs/control.js @@ -658,7 +658,7 @@ control.prototype._moveAction_moving = function (callback) { core.events._trigger(nowx, nowy); // 检查该点是否是滑冰 - if (core.getBgNumber() == 167) { + if (core.onSki()) { core.insertAction("滑冰事件", null, null, null, true); } diff --git a/libs/events.js b/libs/events.js index 80d2be26..e20f3388 100644 --- a/libs/events.js +++ b/libs/events.js @@ -317,7 +317,7 @@ events.prototype._trigger = function (x, y) { eval(block.event.script); } catch (e) { main.log(e); } - if (block.event.trigger) { + if (block.event.trigger && block.event.trigger != 'null') { var noPass = block.event.noPass, trigger = block.event.trigger; if (noPass) core.clearAutomaticRouteNode(x, y); @@ -708,33 +708,6 @@ events.prototype.visitFloor = function (floorId) { core.getFlag("__visited__")[floorId] = true; } -events.prototype._sys_passNet = function (data, callback) { - this.passNet(data); - if (callback) callback(); -} - -////// 经过一个路障 ////// -events.prototype.passNet = function (data) { - if (!core.hasItem('shoes')) { - // 血网 lavaNet 移动到 checkBlock 中处理 - if (data.event.id == 'poisonNet') { // 毒网 - core.insertAction({"type":"insert","name":"毒衰咒处理","args":[0]}); - } - else if (data.event.id == 'weakNet') { // 衰网 - core.insertAction({"type":"insert","name":"毒衰咒处理","args":[1]}); - } - else if (data.event.id == 'curseNet') { // 咒网 - core.insertAction({"type":"insert","name":"毒衰咒处理","args":[2]}); - } - } - this.afterPassNet(data.x, data.y, data.event.id); - core.updateStatusBar(); -} - -events.prototype.afterPassNet = function (x, y, id) { - if (this.eventdata.afterPassNet) this.eventdata.afterPassNet(x, y, id); -} - events.prototype._sys_pushBox = function (data, callback) { this.pushBox(data); if (callback) callback(); @@ -749,7 +722,15 @@ events.prototype.pushBox = function (data) { nx = data.x + core.utils.scan[direction].x, ny = data.y + core.utils.scan[direction].y; // 检测能否推上去 - if (!core.canMoveHero() || !core.canMoveHero(data.x, data.y, direction)) return; + if (!core.canMoveHero()) return; + var canGoDeadZone = core.flags.canGoDeadZone; + core.flags.canGoDeadZone = false; + if (!core.canMoveHero(data.x, data.y, direction)) { + core.flags.canGoDeadZone = canGoDeadZone; + return; + } + core.flags.canGoDeadZone = canGoDeadZone; + var nextId = core.getBlockId(nx, ny); if (nextId != null && nextId != 'flower') return; @@ -784,22 +765,17 @@ events.prototype.afterPushBox = function () { return this.eventdata.afterPushBox(); } -events.prototype._sys_changeLight = function (data, callback) { - core.events.changeLight(data.event.id, data.x, data.y); - if (callback) callback(); -} - -////// 改变亮灯(感叹号)的事件 ////// -events.prototype.changeLight = function (id, x, y) { - if (id != null && id != 'light') return; - core.setBlock(core.getNumberById('darkLight'), x, y); - return this.eventdata.afterChangeLight(x, y); -} - events.prototype._sys_ski = function (data, callback) { core.insertAction(["V2.6后,请将滑冰放在背景层!"], data.x, data.y, callback); } +/// 当前是否在冰上 +events.prototype.onSki = function (number) { + if (number == null) number = core.getBgNumber(); + var block = core.getBlockByNumber(number); + return block && block.event && block.event.trigger == 'ski'; +} + events.prototype._sys_action = function (data, callback) { var ev = core.clone(data.event.data), ex = data.x, ey = data.y; // 检查是否需要改变朝向 diff --git a/libs/maps.js b/libs/maps.js index a448d26a..0ff7ba5d 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -596,7 +596,7 @@ maps.prototype._canMoveDirectly_bfs = function (sx, sy, locs, number, ans) { if (!core.inArray(canMoveArray[x][y], direction)) continue; var nx = x + core.utils.scan[direction].x, ny = y + core.utils.scan[direction].y, nindex = nx + "," + ny; if (visited[nindex]) continue; - if (bgMap[ny][nx] == 167) continue; + if (core.onSki(bgMap[ny][nx])) continue; if (!this._canMoveDirectly_checkNextPoint(blocksObj, nx, ny)) continue; visited[nindex] = visited[now] + 1; // if (nx == ex && ny == ey) return visited[nindex]; diff --git a/project/events.js b/project/events.js index e51ac0a4..b6aea258 100644 --- a/project/events.js +++ b/project/events.js @@ -163,7 +163,7 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 = }, { "type": "if", - "condition": "core.getBgNumber() == 167", + "condition": "core.onSki()", "true": [ { "type": "if", diff --git a/project/functions.js b/project/functions.js index 90073aaa..e591826a 100644 --- a/project/functions.js +++ b/project/functions.js @@ -404,10 +404,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (todo.length > 0) core.insertAction(todo, x, y); if (callback) callback(); -}, - "afterChangeLight": function(x,y) { - // 改变亮灯之后,可以触发的事件 - }, "afterPushBox": function () { // 推箱子后的事件 @@ -421,13 +417,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } */ } -}, - "afterPassNet": function (x, y, id) { - // 经过特殊地形后的事件;x和y为当前坐标,id为当前的图块id - - // 这是个一次性血网的例子 - // if (id == 'lavaNet') core.removeBlock(x, y); - }, }, "enemys": { @@ -1077,7 +1066,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = enemy = core.material.enemys[id]; // 血网 - if (id == 'lavaNet' && block.event.trigger == 'passNet' && !core.hasItem('shoes')) { + if (id == 'lavaNet' && !core.hasItem('shoes')) { damage[loc] = (damage[loc] || 0) + core.values.lavaDamage; type[loc] = "血网伤害"; } diff --git a/project/maps.js b/project/maps.js index 4077be1f..299f4d8c 100644 --- a/project/maps.js +++ b/project/maps.js @@ -10,10 +10,10 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "8": {"cls":"terrains","id":"blueShopRight"}, "9": {"cls":"terrains","id":"pinkShopLeft"}, "10": {"cls":"terrains","id":"pinkShopRight"}, - "11": {"cls":"animates","id":"lavaNet","canPass":true,"trigger":"passNet"}, - "12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"passNet"}, - "13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"passNet"}, - "14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"passNet"}, + "11": {"cls":"animates","id":"lavaNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 血网的伤害效果移动到 checkBlock 中处理\n\n\t// 如果要做一次性血网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();"}, + "12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行毒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [0] });\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()"}, + "13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行衰处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [1] });\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()"}, + "14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行咒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [2] });\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()"}, "15": {"cls":"animates","id":"blueWater"}, "16": {"cls":"animates","id":"water"}, "20": {"cls":"autotile","id":"autotile"}, @@ -109,7 +109,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "162": {"cls":"terrains","id":"arrowDown","canPass":true,"cannotOut":["left","right","up"],"cannotIn":["down"]}, "163": {"cls":"terrains","id":"arrowLeft","canPass":true,"cannotOut":["up","down","right"],"cannotIn":["left"]}, "164": {"cls":"terrains","id":"arrowRight","canPass":true,"cannotOut":["up","down","left"],"cannotIn":["right"]}, - "165": {"cls":"terrains","id":"light","trigger":"changeLight","canPass":true}, + "165": {"cls":"terrains","id":"light","trigger":"null","canPass":true,"script":"(function () {\n\tcore.setBlock(core.getNumberById('darkLight'), core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();"}, "166": {"cls":"terrains","id":"darkLight"}, "167": {"cls":"terrains","id":"ski","trigger":"ski","canPass":true}, "168": {"cls":"terrains","id":"flower","canPass":true}, From 8c5fc76d8cf9255e965b785fb976fce1b78043bc Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 13 May 2020 19:52:54 +0800 Subject: [PATCH 64/70] Remove type:revisit --- _server/MotaAction.g4 | 17 - _server/editor_blockly.js | 51 +- libs/events.js | 7 - project/floors/MT0.js | 43 +- project/floors/sample0.js | 379 ++++---- project/floors/sample1.js | 1236 +++++++++++++------------- project/floors/sample2.js | 75 +- project/floors/sample3.js | 1765 +++++++++++++++++++------------------ 8 files changed, 1782 insertions(+), 1791 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 5e39e7c6..280f7d96 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -336,7 +336,6 @@ action | trigger_s | insert_1_s | insert_2_s - | revisit_s | exit_s | setBlock_s | showFloorImg_s @@ -780,18 +779,6 @@ var code = '{"type": "insert", "loc": ['+PosString_0+','+PosString_1+']'+Event_L return code; */; -revisit_s - : '重启当前事件' Newline - - -/* revisit_s -tooltip : revisit: 立即重启当前事件 -helpUrl : https://h5mota.com/games/template/_docs/#/event?id=revisit%EF%BC%9A%E7%AB%8B%E5%8D%B3%E9%87%8D%E5%90%AF%E5%BD%93%E5%89%8D%E4%BA%8B%E4%BB%B6 -colour : this.eventColor -var code = '{"type": "revisit"},\n'; -return code; -*/; - exit_s : '立刻结束当前事件' Newline @@ -3509,10 +3496,6 @@ ActionParser.prototype.parseAction = function() { this.next = MotaActionBlocks['waitAsync_s'].xmlText([ this.next]); break; - case "revisit": // 立刻重新执行该事件 - this.next = MotaActionBlocks['revisit_s'].xmlText([ - this.next]); - break; case "callBook": // 呼出怪物手册 this.next = MotaActionBlocks['callBook_s'].xmlText([ this.next]); diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 8fe686aa..5008914e 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -149,7 +149,6 @@ editor_blockly = function () { MotaActionBlocks['dowhile_s'].xmlText(), MotaActionBlocks['break_s'].xmlText(), MotaActionBlocks['continue_s'].xmlText(), - MotaActionBlocks['revisit_s'].xmlText(), MotaActionBlocks['exit_s'].xmlText(), MotaActionBlocks['trigger_s'].xmlText(), MotaActionBlocks['insert_1_s'].xmlText(), @@ -242,30 +241,30 @@ editor_blockly = function () { }), '', MotaActionFunctions.actionParser.parse([ - {"type": "choices", "text": "\\t[老人,man]少年,你需要钥匙吗?\\n我这里有大把的!", - "choices": [ - {"text": "黄钥匙(\\\${9+flag:shop_times}金币)", "color": [255,255,0,1], "action": [ - {"type": "if", "condition": "status:money>=9+flag:shop_times", - "true": [ - {"type": "setValue", "name": "status:money", "operator": "-=", "value": "9+flag:shop_times"}, - {"type": "setValue", "name": "item:yellowKey", "operator": "+=", "value": "1"}, - ], - "false": [ - "\\t[老人,man]你的金钱不足!", - {"type": "revisit"} - ] - } - ]}, - {"text": "蓝钥匙(\\\${18+2*flag:shop_times}金币)", "color": [0,0,255,1], "action": [ - ]}, - {"text": "离开", "action": [ - {"type": "exit"} - ]} - ] - }, - {"type": "setValue", "name": "flag:shop_times", "operator": "+=", "value": "1"}, - {"type": "revisit"} - ], 'event'), + {"type": "while", "condition": "true", "data": [ + {"type": "choices", "text": "\\t[老人,man]少年,你需要钥匙吗?\\n我这里有大把的!", + "choices": [ + {"text": "黄钥匙(\\\${9+flag:shop_times}金币)", "color": [255,255,0,1], "action": [ + {"type": "if", "condition": "status:money>=9+flag:shop_times", + "true": [ + {"type": "setValue", "name": "status:money", "operator": "-=", "value": "9+flag:shop_times"}, + {"type": "setValue", "name": "item:yellowKey", "operator": "+=", "value": "1"}, + ], + "false": [ + "\\t[老人,man]你的金钱不足!", + {"type": "continue"} + ] + } + ]}, + {"text": "蓝钥匙(\\\${18+2*flag:shop_times}金币)", "color": [0,0,255,1], "action": [ + ]}, + {"text": "离开", "action": [ + {"type": "break"} + ]} + ] + }, + {"type": "setValue", "name": "flag:shop_times", "operator": "+=", "value": "1"} + ]}], 'event'), '', MotaActionFunctions.actionParser.parse({ "trigger": "action", @@ -750,12 +749,12 @@ function omitedcheckUpdateFunction(event) { 'hide_s', 'setValue_s', 'if_s', + 'while_s', 'battle_s', 'openDoor_s', 'choices_s', 'setText_s', 'exit_s', - 'revisit_s', 'sleep_s', 'setBlock_s', 'insert_1_s' diff --git a/libs/events.js b/libs/events.js index e20f3388..64cc9402 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2063,13 +2063,6 @@ events.prototype._action_waitAsync = function (data, x, y, prefix) { }, 50); } -events.prototype._action_revisit = function (data, x, y, prefix) { - var block = core.getBlock(x, y); - if (block != null && block.block.event.trigger == 'action') - this.setEvents(block.block.event.data); - core.doAction(); -} - events.prototype._action_callBook = function (data, x, y, prefix) { if (core.isReplaying() || !core.hasItem('book')) { core.doAction(); diff --git a/project/floors/MT0.js b/project/floors/MT0.js index afcc0832..8e98ca33 100644 --- a/project/floors/MT0.js +++ b/project/floors/MT0.js @@ -1,15 +1,15 @@ main.floors.MT0= { -"floorId": "MT0", -"title": "主塔 0 层", -"name": "0", -"canFlyTo": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"defaultGround": "ground", -"images": [], -"item_ratio": 1, -"map": [ + "floorId": "MT0", + "title": "主塔 0 层", + "name": "0", + "canFlyTo": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "defaultGround": "ground", + "images": [], + "item_ratio": 1, + "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], @@ -24,18 +24,21 @@ main.floors.MT0= [ 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] ], -"firstArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"cannotMove": {}, -"bgmap": [ + "firstArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "cannotMove": {}, + "bgmap": [ ], -"fgmap": [ + "fgmap": [ ], + "width": 13, + "height": 13, + "autoEvent": {} } \ No newline at end of file diff --git a/project/floors/sample0.js b/project/floors/sample0.js index 8ed705e3..4af03e43 100644 --- a/project/floors/sample0.js +++ b/project/floors/sample0.js @@ -1,15 +1,15 @@ main.floors.sample0= { -"floorId": "sample0", -"title": "样板 0 层", -"name": "0", -"canFlyTo": true, -"canUseQuickShop": true, -"defaultGround": "ground", -"images": [], -"bgm": "bgm.mp3", -"item_ratio": 1, -"map": [ + "floorId": "sample0", + "title": "样板 0 层", + "name": "0", + "canFlyTo": true, + "canUseQuickShop": true, + "defaultGround": "ground", + "images": [], + "bgm": "bgm.mp3", + "item_ratio": 1, + "map": [ [ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], [ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41], [219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40], @@ -24,199 +24,202 @@ main.floors.sample0= [ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,122, 2, 2], [ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86] ], -"firstArrive": [ - { - "type": "setText", - "background": "winskin.png", - "time": 0 - }, - "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", - "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", - "\t[仙子,fairy]你问我...?我也不知道啊...", - "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。" -], -"events": { - "10,9": [ - "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为四类:items, constants, tools,equips。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\nequips 为装备,例如剑盾等。", - "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", - "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + "firstArrive": [ { - "type": "hide", - "time": 500 - } + "type": "setText", + "background": "winskin.png", + "time": 0 + }, + "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", + "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", + "\t[仙子,fairy]你问我...?我也不知道啊...", + "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。" ], - "10,11": [ - "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", - "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } - ], - "2,10": [ - "\t[少女,npc0]这些是路障、楼梯、传送门。", - "\t[少女,npc0]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", - "\t[少女,npc0]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", - { - "type": "hide", - "time": 500 - } - ], - "2,8": [ - "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", - "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", - "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } - ], - "2,5": [ - "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", - { - "type": "hide", - "time": 500 - } - ], - "2,3": [ - "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", - "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", - { - "type": "hide", - "time": 500 - } - ], - "12,10": { - "enable": false, - "data": [ - "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", + "events": { + "10,9": [ + "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为四类:items, constants, tools,equips。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\nequips 为装备,例如剑盾等。", + "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", + "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", { "type": "hide", "time": 500 } - ] - } -}, -"changeFloor": { - "6,0": { - "floorId": "sample1", - "stair": "downFloor" + ], + "10,11": [ + "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", + "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + { + "type": "hide", + "time": 500 + } + ], + "2,10": [ + "\t[少女,npc0]这些是路障、楼梯、传送门。", + "\t[少女,npc0]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", + "\t[少女,npc0]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", + { + "type": "hide", + "time": 500 + } + ], + "2,8": [ + "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", + "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", + "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + { + "type": "hide", + "time": 500 + } + ], + "2,5": [ + "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", + { + "type": "hide", + "time": 500 + } + ], + "2,3": [ + "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", + "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", + { + "type": "hide", + "time": 500 + } + ], + "12,10": { + "enable": false, + "data": [ + "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", + { + "type": "hide", + "time": 500 + } + ] + } }, - "0,11": { - "floorId": "sample0", - "loc": [ - 0, - 12 + "changeFloor": { + "6,0": { + "floorId": "sample1", + "stair": "downFloor" + }, + "0,11": { + "floorId": "sample0", + "loc": [ + 0, + 12 + ] + }, + "0,12": { + "floorId": "sample0", + "stair": "upFloor" + }, + "1,12": { + "floorId": "sample0", + "loc": [ + 1, + 12 + ] + }, + "2,12": { + "floorId": "sample0", + "loc": [ + 2, + 12 + ] + }, + "3,12": { + "floorId": "sample0", + "loc": [ + 6, + 1 + ], + "direction": "up" + }, + "4,12": { + "floorId": "sample0", + "loc": [ + 0, + 9 + ], + "direction": "left", + "time": 1000 + }, + "5,12": { + "floorId": "sample0", + "loc": [ + 6, + 10 + ], + "time": 0, + "portalWithoutTrigger": false + }, + "6,12": { + "floorId": "sample0", + "loc": [ + 10, + 10 + ], + "direction": "left", + "time": 1000 + } + }, + "afterBattle": { + "2,6": [ + "\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)" ] }, - "0,12": { - "floorId": "sample0", - "stair": "upFloor" - }, - "1,12": { - "floorId": "sample0", - "loc": [ - 1, - 12 + "afterGetItem": { + "11,8": [ + "由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。" + ], + "8,6": [ + "由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。" + ], + "8,7": [ + "如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。" + ], + "9,5": [ + "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", + "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" + ], + "10,5": [ + "破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。" + ], + "8,4": [ + "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。" + ], + "10,4": [ + "“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。" + ], + "9,2": [ + "该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。" + ], + "10,2": [ + "屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。" + ], + "12,7": [ + "在 data.js 的系统Flag中设置是否启用装备栏。\n如果不启用则装备会直接增加属性。" + ], + "12,6": [ + "在 data.js 的系统Flag中设置是否启用装备栏按钮。\n如果启用则装备栏按钮会替代楼传按钮。" + ], + "12,5": [ + "装备的种类由全塔属性中的equipName决定,type的值就是该类型在equipName中的位次,例如默认情况下equiptype为0代表武器,同时只有type为0的装备的animate属性生效" ] }, - "2,12": { - "floorId": "sample0", - "loc": [ - 2, - 12 + "afterOpenDoor": { + "11,12": [ + "你开了一个绿门,触发了一个afterOpenDoor事件" ] }, - "3,12": { - "floorId": "sample0", - "loc": [ - 6, - 1 - ], - "direction": "up" - }, - "4,12": { - "floorId": "sample0", - "loc": [ - 0, - 9 - ], - "direction": "left", - "time": 1000 - }, - "5,12": { - "floorId": "sample0", - "loc": [ - 6, - 10 - ], - "time": 0, - "portalWithoutTrigger": false - }, - "6,12": { - "floorId": "sample0", - "loc": [ - 10, - 10 - ], - "direction": "left", - "time": 1000 - } -}, -"afterBattle": { - "2,6": [ - "\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)" - ] -}, -"afterGetItem": { - "11,8": [ - "由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。" - ], - "8,6": [ - "由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。" - ], - "8,7": [ - "如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。" - ], - "9,5": [ - "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", - "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" - ], - "10,5": [ - "破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。" - ], - "8,4": [ - "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。" - ], - "10,4": [ - "“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。" - ], - "9,2": [ - "该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。" - ], - "10,2": [ - "屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。" - ], - "12,7": [ - "在 data.js 的系统Flag中设置是否启用装备栏。\n如果不启用则装备会直接增加属性。" - ], - "12,6": [ - "在 data.js 的系统Flag中设置是否启用装备栏按钮。\n如果启用则装备栏按钮会替代楼传按钮。" - ], - "12,5": [ - "装备的种类由全塔属性中的equipName决定,type的值就是该类型在equipName中的位次,例如默认情况下equiptype为0代表武器,同时只有type为0的装备的animate属性生效" - ] -}, -"afterOpenDoor": { - "11,12": [ - "你开了一个绿门,触发了一个afterOpenDoor事件" - ] -}, -"cannotMove": {}, -"bgmap": [ + "cannotMove": {}, + "bgmap": [ ], -"fgmap": [ + "fgmap": [ ], + "width": 13, + "height": 13, + "autoEvent": {} } \ No newline at end of file diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 7260bac0..9c769745 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -1,25 +1,25 @@ main.floors.sample1= { -"floorId": "sample1", -"title": "样板 1 层", -"name": "1", -"canFlyTo": true, -"canUseQuickShop": true, -"defaultGround": "grass", -"images": [ - [ - 0, - 0, - "bg.jpg", - 0 - ] -], -"weather": [ - "snow", - 6 -], -"item_ratio": 1, -"map": [ + "floorId": "sample1", + "title": "样板 1 层", + "name": "1", + "canFlyTo": true, + "canUseQuickShop": true, + "defaultGround": "grass", + "images": [ + [ + 0, + 0, + "bg.jpg", + 0 + ] + ], + "weather": [ + "snow", + 6 + ], + "item_ratio": 1, + "map": [ [ 7,131, 8,152, 9,130, 10,152,166,165,132,165,166], [ 0, 0, 0, 0, 0, 0, 0,152,165,164, 0,162,165], [152,152,152,152,121,152,152,152, 0, 0,229, 0, 0], @@ -34,611 +34,617 @@ main.floors.sample1= [ 1, 0,123, 1, 0, 20,124, 0,121, 0,122, 0,126], [ 1, 0, 0, 1, 88, 20, 86, 0, 0, 0, 0, 0, 0] ], -"firstArrive": [], -"events": { - "4,10": [ - "\t[样板提示]本层楼将会对各类事件进行介绍。", - "左边是一个仿50层的陷阱做法,上方是商店、快捷商店的使用方法,右上是一个典型的杀怪开门的例子,右下是各类可能的NPC事件。", - "本样板目前支持的事件列表大致有:\ntext: 显示一段文字(比如你现在正在看到的)\ntip: 左上角显示提示\nshow: 使一个事件有效(可见、可被交互)\nhide: 使一个事件失效(不可见、不可被交互)\ntrigger: 触发另一个地点的事件\nanimate: 显示动画\nbattle: 强制和某怪物战斗\nopenDoor: 无需钥匙开门(例如机关门、暗墙)", - "openShop: 打开一个全局商店\ndisableShop: 禁用一个全局商店\nchangeFloor: 传送勇士到某层某位置\nchangePos: 传送勇士到当层某位置;转向\nshowImage: 显示图片\nsetFg: 更改画面色调\nsetWeather: 更改天气\nmove: 移动事件效果\nmoveHero: 移动勇士效果\nplayBgm: 播放某个背景音乐\npauseBgm: 暂停背景音乐\nresumeBgm: 恢复背景音乐的播放\nplaySound: 播放某个音频", - "if: 条件判断\nchoices: 提供选项\nsetValue: 设置勇士属性道具,或某个变量/flag\nupdate: 更新状态栏和地图显伤\nwin: 获得胜利(游戏通关)\nlose: 游戏失败\nsleep: 等待多少毫秒\nexit: 立刻结束当前事件\nrevisit: 立刻结束事件并重新触发\nfunction: 自定义JS脚本\n\n更多支持的事件还在编写中,欢迎您宝贵的意见。", - "有关各事件的样例,可参见本层一些NPC的写法。\n所有事件样例本层都有介绍。\n\n一个自定义事件处理完后,需要调用{\"type\": \"hide\"}该事件才不会再次出现。", - { - "type": "hide" - } - ], - "1,5": { - "enable": false, - "data": [] - }, - "1,6": { - "enable": false, - "data": [] - }, - "0,7": { - "enable": false, - "data": [] - }, - "2,7": { - "enable": false, - "data": [] - }, - "1,8": { - "enable": false, - "data": [] - }, - "1,7": [ - { - "type": "show", - "loc": [ - 1, - 5 - ], - "time": 1500 + "firstArrive": [], + "events": { + "4,10": [ + "\t[样板提示]本层楼将会对各类事件进行介绍。", + "左边是一个仿50层的陷阱做法,上方是商店、快捷商店的使用方法,右上是一个典型的杀怪开门的例子,右下是各类可能的NPC事件。", + "本样板目前支持的事件列表大致有:\ntext: 显示一段文字(比如你现在正在看到的)\ntip: 左上角显示提示\nshow: 使一个事件有效(可见、可被交互)\nhide: 使一个事件失效(不可见、不可被交互)\ntrigger: 触发另一个地点的事件\nanimate: 显示动画\nbattle: 强制和某怪物战斗\nopenDoor: 无需钥匙开门(例如机关门、暗墙)", + "openShop: 打开一个全局商店\ndisableShop: 禁用一个全局商店\nchangeFloor: 传送勇士到某层某位置\nchangePos: 传送勇士到当层某位置;转向\nshowImage: 显示图片\nsetFg: 更改画面色调\nsetWeather: 更改天气\nmove: 移动事件效果\nmoveHero: 移动勇士效果\nplayBgm: 播放某个背景音乐\npauseBgm: 暂停背景音乐\nresumeBgm: 恢复背景音乐的播放\nplaySound: 播放某个音频", + "if: 条件判断\nchoices: 提供选项\nsetValue: 设置勇士属性道具,或某个变量/flag\nupdate: 更新状态栏和地图显伤\nwin: 获得胜利(游戏通关)\nlose: 游戏失败\nsleep: 等待多少毫秒\nexit: 立刻结束当前事件\nfunction: 自定义JS脚本\n\n更多支持的事件还在编写中,欢迎您宝贵的意见。", + "有关各事件的样例,可参见本层一些NPC的写法。\n所有事件样例本层都有介绍。\n\n一个自定义事件处理完后,需要调用{\"type\": \"hide\"}该事件才不会再次出现。", + { + "type": "hide" + } + ], + "1,5": { + "enable": false, + "data": [] }, - { - "type": "sleep", - "time": 500 + "1,6": { + "enable": false, + "data": [] }, - "\t[redKing]欢迎来到魔塔,你是第一百位挑战者。\n若你能打败我所有的手下,我就与你一对一的决斗。\n现在你必须接受我的安排。", - { - "type": "show", - "loc": [ - [ + "0,7": { + "enable": false, + "data": [] + }, + "2,7": { + "enable": false, + "data": [] + }, + "1,8": { + "enable": false, + "data": [] + }, + "1,7": [ + { + "type": "show", + "loc": [ 1, - 6 + 5 ], - [ - 0, - 7 - ], - [ - 1, - 8 - ], - [ - 2, - 7 - ] - ], - "time": 500 - }, - "\t[hero]什么?", - { - "type": "playSound", - "name": "attack.mp3" - }, - { - "type": "setValue", - "name": "status:atk", - "operator": "/=", - "value": "10" - }, - { - "type": "setValue", - "name": "status:def", - "operator": "/=", - "value": "10" - }, - { - "type": "hide", - "loc": [ - [ - 1, - 6 - ], - [ - 0, - 7 - ], - [ - 2, - 7 - ], - [ - 1, - 8 - ] - ] - }, - { - "type": "hide", - "loc": [ - 1, - 5 - ], - "time": 500 - }, - { - "type": "hide" - }, - { - "type": "setCurtain", - "color": [ - 0, - 0, - 0 - ], - "time": 1250 - }, - { - "type": "sleep", - "time": 700 - }, - { - "type": "changeFloor", - "floorId": "sample1", - "loc": [ - 1, - 11 - ], - "direction": "right", - "time": 1000 - }, - { - "type": "trigger", - "loc": [ - 2, - 11 - ] - } - ], - "2,11": [ - "\t[杰克,thief]喂!醒醒!快醒醒!", - { - "type": "setCurtain", - "time": 1500 - }, - "\t[hero]额,我这是在什么地方?", - "\t[杰克,thief]你被魔王抓了起来扔进了监狱,和我关在了一起,但是幸运的是我在昨天刚刚挖好一条越狱的暗道!", - { - "type": "openDoor", - "loc": [ - 3, - 11 - ] - }, - { - "type": "sleep", - "time": 300 - }, - "\t[杰克,thief]我先走了,祝你好运!", - { - "type": "move", - "time": 750, - "steps": [ - "right", - "right", - "down" - ] - }, - "上面是个move事件,可以对NPC等进行移动。\n详见样板中小偷事件的写法。", - "\t[hero]怎么跑的这么快..." - ], - "4,2": [ - "\t[老人,man]本塔的商店有两类,全局商店和非全局商店。\n\n所谓非全局商店,就类似于右下角那个卖钥匙的老人一样,一定要碰到才能触发事件。\n\n而全局商店,则能在快捷商店中直接使用。", - "\t[老人,man]要注册一个全局商店,你需要在 data.js 中,找到 shops,并在内添加你的商店信息。", - "\t[老人,man]商店信息添加后,可以在需要的事件处调用{\"type\": \"openShop\"}来打开你添加的全局商店。", - "\t[老人,man]在上面的例子里,左边是一个仿50层的金币商店,右边是一个仿24层的经验商店。\n\n商店被访问后即可在快捷商店中进行使用。", - "\t[老人,man]如果你需要在某层暂时禁用快捷商店,可以在data.js中设置cannotUseQuickShop。\n如果需要永久禁用商店,请使用{\"type\":\"disableShop\"}", - { - "type": "hide", - "time": 500 - } - ], - "1,0": [ - { - "type": "openShop", - "id": "shop1", - "open": true - } - ], - "5,0": [ - { - "type": "openShop", - "id": "shop2", - "open": true - } - ], - "7,7": [ - "\t[老人,man]这是一个典型的杀怪开门、强制战斗事件。", - { - "type": "hide" - } - ], - "8,7": { - "enable": false, - "data": [] - }, - "9,7": [ - { - "type": "show", - "loc": [ - 8, - 7 - ] - }, - { - "type": "hide" - } - ], - "10,4": [ - "\t[blackKing]你终于还是来了。", - "\t[hero]放开我们的公主!", - "\t[blackKing]如果我不愿意呢?", - "\t[hero]无需多说,拔剑吧!", - { - "type": "battle", - "id": "blackKing" - }, - { - "type": "hide", - "loc": [ - 10, - 2 - ] - }, - { - "type": "openDoor", - "loc": [ - 8, - 7 - ] - }, - "\t[blackKing]没想到你已经变得这么强大了... 算你厉害。\n公主就交给你了,请好好对她。", - { - "type": "hide" - } - ], - "10,0": [ - "\t[hero]公主,我来救你了~", - "\t[公主,princess]快救我出去!我受够这里了!", - "\t[hero]公主别怕,我们走吧~", - { - "type": "win", - "reason": "救出公主" - } - ], - "6,12": { - "enable": false, - "data": [] - }, - "6,11": [ - "\t[仙子,fairy]通过调用 {\"type\": \"show\"} 可以使隐藏的事件显示出来。\n比如我下面这个机关门。", - { - "type": "show", - "loc": [ - 6, - 12 - ] - }, - "\t[仙子,fairy]通过调用 {\"type\": \"openDoor\"} 可以无需钥匙打开一扇门或暗墙。", - { - "type": "openDoor", - "loc": [ - 6, - 12 - ] - }, - "\t[仙子,fairy]同时,也可以对其它层进行操作,比如楼下的机关门,现在已经为你打开了。", - { - "type": "openDoor", - "loc": [ - 11, - 10 - ], - "floorId": "sample0" - }, - "\t[仙子,fairy]如果 show 或 hide 指定了 time 参数,则以动画效果显示,指定的参数作为消失时间(毫秒)来计算。", - "\t[仙子,fairy]现在到楼下来找我吧~", - { - "type": "show", - "loc": [ - 12, - 10 - ], - "floorId": "sample0" - }, - { - "type": "hide", - "time": 500 - } - ], - "8,11": [ - { - "type": "setValue", - "name": "flag:man_times", - "operator": "+=", - "value": "1" - }, - "\t[老人,man]在文字中使用$+{}可以计算并显示一个表达式的结果。\n", - "\t[老人,man]例如:\n你的当前攻击力是${status:atk},防御力是${status:def}。\n攻防和的十倍是${10*(status:atk+status:def)},攻防之积是${status:atk*status:def}。\n你有${item:yellowKey}把黄钥匙,${item:blueKey}把蓝钥匙,${item:redKey}把红钥匙。\n你有${item:pickaxe}个破,${item:bomb}个炸,${item:centerFly}个飞。\n这是你第${flag:man_times}次和我对话。", - "\t[老人,man]同时,你也可以通过{\"type\": \"setValue\"}来设置一个勇士的属性、道具,或某个Flag。", - "\t[老人,man]例如:\n现在我将让你的攻防提升50%,再将攻防和的十倍加到生命值上。", - { - "type": "setValue", - "name": "status:atk", - "operator": "*=", - "value": "1.5" - }, - { - "type": "setValue", - "name": "status:def", - "operator": "*=", - "value": "1.5" - }, - { - "type": "setValue", - "name": "status:hp", - "operator": "+=", - "value": "10*(status:atk+status:def)" - }, - "\t[老人,man]再送你500金币,1000经验,1破2炸3飞!", - { - "type": "setValue", - "name": "status:money", - "operator": "+=", - "value": "500" - }, - { - "type": "setValue", - "name": "status:exp", - "operator": "+=", - "value": "1000" - }, - { - "type": "setValue", - "name": "item:pickaxe", - "operator": "+=", - "value": "1" - }, - { - "type": "setValue", - "name": "item:bomb", - "operator": "+=", - "value": "2" - }, - { - "type": "setValue", - "name": "item:centerFly", - "operator": "+=", - "value": "3" - }, - "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,exp这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。", - "\t[老人,man]你现在可以重新和我进行对话,进一步看到属性值的改变。" - ], - "10,11": [ - { - "type": "if", - "condition": "flag:woman_times==0", - "true": [ - "\t[老人,woman]这是个很复杂的例子,它将教会你如何使用if 语句进行条件判断,以及 choices 提供选项来供用户进行选择。", - "\t[老人,woman]第一次访问我将显示这段文字;从第二次开始将会向你出售钥匙。\n钥匙价格将随着访问次数递增。\n当合计出售了七把钥匙后,将送你一把大黄门钥匙,并消失不再出现。", - "\t[老人,woman]这部分的逻辑比较长,请细心看样板的写法,是很容易看懂并理解的。" - ], - "false": [ - { - "type": "if", - "condition": "flag:woman_times==8", - "true": [ - "\t[老人,woman]你购买的钥匙已经够多了,再继续卖给你的话我会有危险的。", - "\t[老人,woman]看在你贡献给我这么多钱的份上,送你一把大黄门钥匙吧,希望你能好好用它。", - { - "type": "setValue", - "name": "item:bigKey", - "operator": "+=", - "value": "1" - }, - "\t[老人,woman]我先走了,拜拜~", - { - "type": "hide", - "time": 500 - }, - { - "type": "exit" - } + "time": 1500 + }, + { + "type": "sleep", + "time": 500 + }, + "\t[redKing]欢迎来到魔塔,你是第一百位挑战者。\n若你能打败我所有的手下,我就与你一对一的决斗。\n现在你必须接受我的安排。", + { + "type": "show", + "loc": [ + [ + 1, + 6 ], - "false": [ - { - "type": "choices", - "text": "\t[老人,woman]少年,你需要钥匙吗?\n我这里有大把的!", - "choices": [ - { - "text": "黄钥匙(${9+flag:woman_times}金币)", - "action": [ - { - "type": "if", - "condition": "status:money>=9+flag:woman_times", - "true": [ - { - "type": "setValue", - "name": "status:money", - "operator": "-=", - "value": "9+flag:woman_times" - }, - { - "type": "setValue", - "name": "item:yellowKey", - "operator": "+=", - "value": "1" - } - ], - "false": [ - "\t[老人,woman]你的金钱不足!", - { - "type": "revisit" - } - ] - } - ] - }, - { - "text": "蓝钥匙(${18+2*flag:woman_times}金币)", - "action": [ - { - "type": "if", - "condition": "status:money>=18+2*flag:woman_times", - "true": [ - { - "type": "setValue", - "name": "status:money", - "operator": "-=", - "value": "18+2*flag:woman_times" - }, - { - "type": "setValue", - "name": "item:blueKey", - "operator": "+=", - "value": "1" - } - ], - "false": [ - "\t[老人,woman]你的金钱不足!", - { - "type": "revisit" - } - ] - } - ] - }, - { - "text": "红钥匙(${36+4*flag:woman_times}金币)", - "action": [ - { - "type": "if", - "condition": "status:money>=36+4*flag:woman_times", - "true": [ - { - "type": "setValue", - "name": "status:money", - "operator": "-=", - "value": "36+4*flag:woman_times" - }, - { - "type": "setValue", - "name": "item:redKey", - "operator": "+=", - "value": "1" - } - ], - "false": [ - "\t[老人,woman]你的金钱不足!", - { - "type": "revisit" - } - ] - } - ] - }, - { - "text": "离开", - "action": [ - { - "type": "exit" - } - ] - } - ] - } + [ + 0, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 7 ] - } - ] + ], + "time": 500 + }, + "\t[hero]什么?", + { + "type": "playSound", + "name": "attack.mp3" + }, + { + "type": "setValue", + "name": "status:atk", + "operator": "/=", + "value": "10" + }, + { + "type": "setValue", + "name": "status:def", + "operator": "/=", + "value": "10" + }, + { + "type": "hide", + "loc": [ + [ + 1, + 6 + ], + [ + 0, + 7 + ], + [ + 2, + 7 + ], + [ + 1, + 8 + ] + ] + }, + { + "type": "hide", + "loc": [ + 1, + 5 + ], + "time": 500 + }, + { + "type": "hide" + }, + { + "type": "setCurtain", + "color": [ + 0, + 0, + 0 + ], + "time": 1250 + }, + { + "type": "sleep", + "time": 700 + }, + { + "type": "changeFloor", + "floorId": "sample1", + "loc": [ + 1, + 11 + ], + "direction": "right", + "time": 1000 + }, + { + "type": "trigger", + "loc": [ + 2, + 11 + ] + } + ], + "2,11": [ + "\t[杰克,thief]喂!醒醒!快醒醒!", + { + "type": "setCurtain", + "time": 1500 + }, + "\t[hero]额,我这是在什么地方?", + "\t[杰克,thief]你被魔王抓了起来扔进了监狱,和我关在了一起,但是幸运的是我在昨天刚刚挖好一条越狱的暗道!", + { + "type": "openDoor", + "loc": [ + 3, + 11 + ] + }, + { + "type": "sleep", + "time": 300 + }, + "\t[杰克,thief]我先走了,祝你好运!", + { + "type": "move", + "time": 750, + "steps": [ + "right", + "right", + "down" + ] + }, + "上面是个move事件,可以对NPC等进行移动。\n详见样板中小偷事件的写法。", + "\t[hero]怎么跑的这么快..." + ], + "4,2": [ + "\t[老人,man]本塔的商店有两类,全局商店和非全局商店。\n\n所谓非全局商店,就类似于右下角那个卖钥匙的老人一样,一定要碰到才能触发事件。\n\n而全局商店,则能在快捷商店中直接使用。", + "\t[老人,man]要注册一个全局商店,你需要在 data.js 中,找到 shops,并在内添加你的商店信息。", + "\t[老人,man]商店信息添加后,可以在需要的事件处调用{\"type\": \"openShop\"}来打开你添加的全局商店。", + "\t[老人,man]在上面的例子里,左边是一个仿50层的金币商店,右边是一个仿24层的经验商店。\n\n商店被访问后即可在快捷商店中进行使用。", + "\t[老人,man]如果你需要在某层暂时禁用快捷商店,可以在data.js中设置cannotUseQuickShop。\n如果需要永久禁用商店,请使用{\"type\":\"disableShop\"}", + { + "type": "hide", + "time": 500 + } + ], + "1,0": [ + { + "type": "openShop", + "id": "shop1", + "open": true + } + ], + "5,0": [ + { + "type": "openShop", + "id": "shop2", + "open": true + } + ], + "7,7": [ + "\t[老人,man]这是一个典型的杀怪开门、强制战斗事件。", + { + "type": "hide" + } + ], + "8,7": { + "enable": false, + "data": [] }, - { - "type": "setValue", - "name": "flag:woman_times", - "operator": "+=", - "value": "1" + "9,7": [ + { + "type": "show", + "loc": [ + 8, + 7 + ] + }, + { + "type": "hide" + } + ], + "10,4": [ + "\t[blackKing]你终于还是来了。", + "\t[hero]放开我们的公主!", + "\t[blackKing]如果我不愿意呢?", + "\t[hero]无需多说,拔剑吧!", + { + "type": "battle", + "id": "blackKing" + }, + { + "type": "hide", + "loc": [ + 10, + 2 + ] + }, + { + "type": "openDoor", + "loc": [ + 8, + 7 + ] + }, + "\t[blackKing]没想到你已经变得这么强大了... 算你厉害。\n公主就交给你了,请好好对她。", + { + "type": "hide" + } + ], + "10,0": [ + "\t[hero]公主,我来救你了~", + "\t[公主,princess]快救我出去!我受够这里了!", + "\t[hero]公主别怕,我们走吧~", + { + "type": "win", + "reason": "救出公主" + } + ], + "6,12": { + "enable": false, + "data": [] }, - { - "type": "revisit" - } - ], - "12,11": [ - "\t[老人,womanMagician]使用 {\"type\":\"function\"} 可以写自定义的JS脚本。\n本塔支持的所有主要API会在doc文档内给出。", - "\t[老人,womanMagician]例如这个例子:即将弹出一个输入窗口,然后会将你的输入结果直接加到你的攻击力上。", - { - "type": "input", - "text": "请输入你要加攻击力的数值:" - }, - { - "type": "if", - "condition": "flag:input>0", - "true": [ - { - "type": "setValue", - "name": "status:atk", - "operator": "+=", - "value": "flag:input" - }, - { - "type": "tip", - "text": "操作成功,攻击+${flag:input}" - }, - "操作成功,攻击+${flag:input}" - ], - "false": [] - }, - "\t[老人,womanMagician]具体可参见样板中本事件的写法。" - ], -}, -"changeFloor": { - "4,12": { - "floorId": "sample0", - "loc": [ - 6, - 0 + "6,11": [ + "\t[仙子,fairy]通过调用 {\"type\": \"show\"} 可以使隐藏的事件显示出来。\n比如我下面这个机关门。", + { + "type": "show", + "loc": [ + 6, + 12 + ] + }, + "\t[仙子,fairy]通过调用 {\"type\": \"openDoor\"} 可以无需钥匙打开一扇门或暗墙。", + { + "type": "openDoor", + "loc": [ + 6, + 12 + ] + }, + "\t[仙子,fairy]同时,也可以对其它层进行操作,比如楼下的机关门,现在已经为你打开了。", + { + "type": "openDoor", + "loc": [ + 11, + 10 + ], + "floorId": "sample0" + }, + "\t[仙子,fairy]如果 show 或 hide 指定了 time 参数,则以动画效果显示,指定的参数作为消失时间(毫秒)来计算。", + "\t[仙子,fairy]现在到楼下来找我吧~", + { + "type": "show", + "loc": [ + 12, + 10 + ], + "floorId": "sample0" + }, + { + "type": "hide", + "time": 500 + } + ], + "8,11": [ + { + "type": "setValue", + "name": "flag:man_times", + "operator": "+=", + "value": "1" + }, + "\t[老人,man]在文字中使用$+{}可以计算并显示一个表达式的结果。\n", + "\t[老人,man]例如:\n你的当前攻击力是${status:atk},防御力是${status:def}。\n攻防和的十倍是${10*(status:atk+status:def)},攻防之积是${status:atk*status:def}。\n你有${item:yellowKey}把黄钥匙,${item:blueKey}把蓝钥匙,${item:redKey}把红钥匙。\n你有${item:pickaxe}个破,${item:bomb}个炸,${item:centerFly}个飞。\n这是你第${flag:man_times}次和我对话。", + "\t[老人,man]同时,你也可以通过{\"type\": \"setValue\"}来设置一个勇士的属性、道具,或某个Flag。", + "\t[老人,man]例如:\n现在我将让你的攻防提升50%,再将攻防和的十倍加到生命值上。", + { + "type": "setValue", + "name": "status:atk", + "operator": "*=", + "value": "1.5" + }, + { + "type": "setValue", + "name": "status:def", + "operator": "*=", + "value": "1.5" + }, + { + "type": "setValue", + "name": "status:hp", + "operator": "+=", + "value": "10*(status:atk+status:def)" + }, + "\t[老人,man]再送你500金币,1000经验,1破2炸3飞!", + { + "type": "setValue", + "name": "status:money", + "operator": "+=", + "value": "500" + }, + { + "type": "setValue", + "name": "status:exp", + "operator": "+=", + "value": "1000" + }, + { + "type": "setValue", + "name": "item:pickaxe", + "operator": "+=", + "value": "1" + }, + { + "type": "setValue", + "name": "item:bomb", + "operator": "+=", + "value": "2" + }, + { + "type": "setValue", + "name": "item:centerFly", + "operator": "+=", + "value": "3" + }, + "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,exp这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。", + "\t[老人,man]你现在可以重新和我进行对话,进一步看到属性值的改变。" + ], + "10,11": [ + { + "type": "while", + "condition": "true", + "data": [ + { + "type": "switch", + "condition": "flag:woman_times", + "caseList": [ + { + "case": "0", + "action": [ + "\t[老人,woman]这是个很复杂的例子,它将教会你如何使用if 语句进行条件判断,以及 choices 提供选项来供用户进行选择。", + "\t[老人,woman]第一次访问我将显示这段文字;从第二次开始将会向你出售钥匙。\n钥匙价格将随着访问次数递增。\n当合计出售了七把钥匙后,将送你一把大黄门钥匙,并消失不再出现。", + "\t[老人,woman]这部分的逻辑比较长,请细心看样板的写法,是很容易看懂并理解的。" + ] + }, + { + "case": "8", + "action": [ + "\t[老人,woman]你购买的钥匙已经够多了,再继续卖给你的话我会有危险的。", + "\t[老人,woman]看在你贡献给我这么多钱的份上,送你一把大黄门钥匙吧,希望你能好好用它。", + { + "type": "setValue", + "name": "item:bigKey", + "operator": "+=", + "value": "1" + }, + "\t[老人,woman]我先走了,拜拜~", + { + "type": "hide", + "time": 500 + }, + { + "type": "exit" + } + ] + }, + { + "case": "default", + "action": [ + { + "type": "choices", + "text": "\t[老人,woman]少年,你需要钥匙吗?\n我这里有大把的!", + "choices": [ + { + "text": "黄钥匙(${9+flag:woman_times}金币)", + "action": [ + { + "type": "if", + "condition": "status:money>=9+flag:woman_times", + "true": [ + { + "type": "setValue", + "name": "status:money", + "operator": "-=", + "value": "9+flag:woman_times" + }, + { + "type": "setValue", + "name": "item:yellowKey", + "operator": "+=", + "value": "1" + } + ], + "false": [ + "\t[老人,woman]你的金钱不足!" + ] + } + ] + }, + { + "text": "蓝钥匙(${18+2*flag:woman_times}金币)", + "action": [ + { + "type": "if", + "condition": "status:money>=18+2*flag:woman_times", + "true": [ + { + "type": "setValue", + "name": "status:money", + "operator": "-=", + "value": "18+2*flag:woman_times" + }, + { + "type": "setValue", + "name": "item:blueKey", + "operator": "+=", + "value": "1" + }, + { + "type": "continue" + } + ], + "false": [ + "\t[老人,woman]你的金钱不足!" + ] + } + ] + }, + { + "text": "红钥匙(${36+4*flag:woman_times}金币)", + "action": [ + { + "type": "if", + "condition": "status:money>=36+4*flag:woman_times", + "true": [ + { + "type": "setValue", + "name": "status:money", + "operator": "-=", + "value": "36+4*flag:woman_times" + }, + { + "type": "setValue", + "name": "item:redKey", + "operator": "+=", + "value": "1" + } + ], + "false": [ + "\t[老人,woman]你的金钱不足!", + { + "type": "continue" + } + ] + } + ] + }, + { + "text": "离开", + "action": [ + { + "type": "exit" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "setValue", + "name": "flag:woman_times", + "operator": "+=", + "value": "1" + } + ] + } + ], + "12,11": [ + "\t[老人,womanMagician]使用 {\"type\":\"function\"} 可以写自定义的JS脚本。\n本塔支持的所有主要API会在doc文档内给出。", + "\t[老人,womanMagician]例如这个例子:即将弹出一个输入窗口,然后会将你的输入结果直接加到你的攻击力上。", + { + "type": "input", + "text": "请输入你要加攻击力的数值:" + }, + { + "type": "if", + "condition": "flag:input>0", + "true": [ + { + "type": "setValue", + "name": "status:atk", + "operator": "+=", + "value": "flag:input" + }, + { + "type": "tip", + "text": "操作成功,攻击+${flag:input}" + }, + "操作成功,攻击+${flag:input}" + ], + "false": [] + }, + "\t[老人,womanMagician]具体可参见样板中本事件的写法。" ] }, - "5,5": { - "floorId": "sample2", - "stair": "downFloor", - "direction": "up" - }, - "10,12": null -}, -"afterBattle": { - "9,6": [ - { - "type": "setValue", - "name": "flag:door", - "operator": "+=", - "value": "1" - } - ], - "11,6": [ - { - "type": "setValue", - "name": "flag:door", - "operator": "+=", - "value": "1" - } - ] -}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"cannotMove": {}, -"bgmap": [ - -], -"fgmap": [ - -], -"autoEvent": { - "10,5": { - "0": { - "condition": "flag:door==2", - "currentFloor": true, - "priority": 0, - "delayExecute": false, - "multiExecute": false, - "data": [ - { - "type": "openDoor" - } - + "changeFloor": { + "4,12": { + "floorId": "sample0", + "loc": [ + 6, + 0 ] + }, + "5,5": { + "floorId": "sample2", + "stair": "downFloor", + "direction": "up" + }, + "10,12": null + }, + "afterBattle": { + "9,6": [ + { + "type": "setValue", + "name": "flag:door", + "operator": "+=", + "value": "1" + } + ], + "11,6": [ + { + "type": "setValue", + "name": "flag:door", + "operator": "+=", + "value": "1" + } + ] + }, + "afterGetItem": {}, + "afterOpenDoor": {}, + "cannotMove": {}, + "bgmap": [ + +], + "fgmap": [ + +], + "autoEvent": { + "10,5": { + "0": { + "condition": "flag:door==2", + "currentFloor": true, + "priority": 0, + "delayExecute": false, + "multiExecute": false, + "data": [ + { + "type": "openDoor" + } + ] + } } - } -} + }, + "width": 13, + "height": 13 } \ No newline at end of file diff --git a/project/floors/sample2.js b/project/floors/sample2.js index 7ae07530..a118ee6d 100644 --- a/project/floors/sample2.js +++ b/project/floors/sample2.js @@ -1,15 +1,15 @@ main.floors.sample2= { -"floorId": "sample2", -"title": "样板 2 层", -"name": "2", -"canFlyTo": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"defaultGround": "ground", -"images": [], -"item_ratio": 1, -"map": [ + "floorId": "sample2", + "title": "样板 2 层", + "name": "2", + "canFlyTo": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "defaultGround": "ground", + "images": [], + "item_ratio": 1, + "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, 1,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], @@ -37,36 +37,37 @@ main.floors.sample2= [ 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,202, 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] ], -"width": 26, -"height": 26, -"firstArrive": [], -"events": { - "3,2": [ - "123" - ], - "12,12": [ - "234" - ] -}, -"changeFloor": { - "6,10": { - "floorId": "sample1", - "stair": "upFloor" + "width": 26, + "height": 26, + "firstArrive": [], + "events": { + "3,2": [ + "123" + ], + "12,12": [ + "234" + ] }, - "7,12": { - "floorId": "sample3", - "stair": "downFloor" - } -}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"cannotMove": {}, -"upFloor": null, -"bgmap": [ + "changeFloor": { + "6,10": { + "floorId": "sample1", + "stair": "upFloor" + }, + "7,12": { + "floorId": "sample3", + "stair": "downFloor" + } + }, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "cannotMove": {}, + "upFloor": null, + "bgmap": [ ], -"fgmap": [ + "fgmap": [ ], + "autoEvent": {} } \ No newline at end of file diff --git a/project/floors/sample3.js b/project/floors/sample3.js index e115ba5f..e0c28451 100644 --- a/project/floors/sample3.js +++ b/project/floors/sample3.js @@ -1,25 +1,25 @@ main.floors.sample3= { -"floorId": "sample3", -"title": "主塔 40 层", -"name": "40", -"canFlyTo": false, -"canUseQuickShop": true, -"defaultGround": "snowGround", -"images": [], -"color": [ - 255, - 0, - 0, - 0.3 -], -"weather": [ - "rain", - 10 -], -"bgm": "bgm.mp3", -"item_ratio": 1, -"map": [ + "floorId": "sample3", + "title": "主塔 40 层", + "name": "40", + "canFlyTo": false, + "canUseQuickShop": true, + "defaultGround": "snowGround", + "images": [], + "color": [ + 255, + 0, + 0, + 0.3 + ], + "weather": [ + "rain", + 10 + ], + "bgm": "bgm.mp3", + "item_ratio": 1, + "map": [ [ 5, 5, 5, 5, 5, 5, 87, 5, 5, 5, 5, 5, 5], [ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 1, 85, 1, 4, 4, 4, 4, 5], @@ -34,972 +34,975 @@ main.floors.sample3= [ 5, 4, 4, 4, 4, 4, 85, 4, 4, 4, 4, 4, 5], [ 5, 5, 5, 5, 5, 5, 88, 5, 5, 5, 5, 5, 5] ], -"firstArrive": [ - "\t[实战!]本楼将尝试复刻《宿命的旋律》40F剧情。" -], -"events": { - "6,11": { - "enable": false, - "data": [] - }, - "6,10": [ - { - "type": "playSound", - "name": "door.mp3" - }, - { - "type": "show", - "loc": [ - 6, - 11 - ] - }, - { - "type": "hide" - }, - { - "type": "trigger", - "loc": [ - 6, - 7 - ] - } + "firstArrive": [ + "\t[实战!]本楼将尝试复刻《宿命的旋律》40F剧情。" ], - "6,7": [ - { - "type": "playSound", - "name": "item.mp3" + "events": { + "6,11": { + "enable": false, + "data": [] }, - "\t[hero]杰克,你究竟是什么人?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[杰克,thief]……", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]我们……是朋友对吧?\n是朋友就应该相互信任对吧?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[杰克,thief]……事到如今也没有什么好隐瞒的了。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[杰克,thief]没错,我就是这一切的背后主谋。", - { - "type": "move", - "steps": [ - { - "direction": "up", - "value": 3 - } - ], - "time": 1000 - }, - { - "type": "show", - "loc": [ - 6, - 4 - ], - "time": 1000 - }, - { - "type": "sleep", - "time": 500 - }, - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]我的真名为——黑暗大法师,第四区域的头目。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]呵呵,不知道为什么,我竟然对事情走到现在这一步毫不感觉意外。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]以杰克的名义利用了你这么久,真是抱歉啊。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]真正的杰克现在在哪里?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]盗贼杰克这个人类从未存在过,他只是我用来接近你的一副皮囊而已。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……这样啊,呵呵。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]为什么你看上去丝毫不生气?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]多亏了鬼帝,我现在的脾气好得连我自己都害怕。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]说起来我还得好好感谢你呢,如果没有杰克……你的帮助,我早就死在第一区域了。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]不论你的目的如何,你的所作所为都是对我有利的。不是吗?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]能够如此淡定的面对背叛,看来跟五年前相比,你确实成长了很多啊。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]五年前?……黑暗大法师,在这之前,我们好像素未谋面吧?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]五年前那场屠城你应该这一生都不会忘记吧。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]很不巧,那场屠城的主谋,也是我。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]这么说,击中我双亲的那道紫色闪电,也就是你释放的吧……", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]你的双亲?这种事情我怎么可能会记得?\n你难道在踩死蚂蚁的时候还会一只只记下他们的样子吗?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]老 子 要 你 的 命", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]你应该对我心怀感激才对,如果不是那时的我看出了你隐藏的稀有勇者体质,你绝对不可能活到今天。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]在暗中动手脚让你通过勇者选拔的人也是我,我一直一直在暗中引导你走到今天这一步。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]是我救赎了一无是处的你。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]为什么只有我一个人活了下来!!!!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]为什么偏偏是我!!!!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]我刚才不是说过了吗?因为我看出了你有稀有勇者体质啊。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]你刚刚跟鬼帝交过手,应该已经很清楚这稀有勇者体质意味着什么了吧?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……就因为我有这种体质,就不得不背负如此残酷的宿命吗?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]愚蠢!这意味着只要我对你加以引导跟培养,你就能成为这世间实力最强的存在!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……所以,你究竟想利用我干什么?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]我利用你干的事情,你不是已经完成了吗?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……你说什么?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]不知不觉间,你已经在我的指引下跟鬼帝正面交手并且杀掉了他啊。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]就连我跟鬼帝的对决……也是被你安排好了的?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]你们两个一个是人类勇者,一个是魔物勇者,迟早会有交手的一天。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]我只不过是操纵了一系列的连锁事件让这一天提早了数十年到来而已。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……你这样做对谁有好处?他可是你们魔物世界的救世主啊。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]一个惧怕征战,爱好和平的懦夫,也配叫救世主?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]获得了力量,却只会被动挨打而不主动向人类世界出击,龟缩在第二区域惶惶度日,他根本就不配拥有稀有勇者体质。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]为了不让这种人霸占着积累多年的庞大灵魂能量无作为,我设计让你杀掉了他。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]你没有辜负我的期待,成功战胜了那个废物,现在你体内累积的灵魂能量……也就是魔力,已经达到了能跟魔王匹敌的地步。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……是吗?现在的我能与魔王匹敌?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]不止如此,你现在的力量之强就算是统治世界也是绰绰有余!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]怎么样?要不要加入我的麾下,跟随我去征战人类世界?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]能与魔王匹敌的话,也就是说。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]我 现 在 对 付 你 这 种 杂 碎 也 绰 绰 有 余 吧 ?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]……什么?!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]等一下!别冲动!你先等我把这利害关系理一理——", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]你给老子闭嘴。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]老子什么都不想听。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]老子现在想做的事情只有一件——", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]剁掉你的头,把它放回我双亲的墓前。", - { - "type": "update" - } - ], - "6,4": { - "enable": false, - "data": [] - }, - "5,4": { - "enable": false, - "data": [] - }, - "7,4": { - "enable": false, - "data": [] - }, - "5,5": { - "enable": false, - "data": [] - }, - "7,5": { - "enable": false, - "data": [] - }, - "6,3": { - "trigger": "action", - "enable": false, - "data": [ - "\t[blackMagician]听不进去人话的蠢货,就要用疼痛来管教!", - { - "type": "changePos", - "direction": "up" - }, + "6,10": [ { "type": "playSound", - "name": "item.mp3" + "name": "door.mp3" }, - "\t[blackMagician]出来吧!禁忌——紫电凶杀阵!", - { - "type": "show", - "loc": [ - [ - 4, - 3 - ], - [ - 4, - 6 - ], - [ - 8, - 6 - ], - [ - 8, - 3 - ] - ], - "time": 500 - }, - { - "type": "sleep", - "time": 500 - }, - "\t[blackMagician]感受绝望吧!冥顽不化的蠢货!", - { - "type": "animate", - "name": "yongchang", - "loc": [ - 4, - 3 - ] - }, - { - "type": "animate", - "name": "yongchang", - "loc": [ - 4, - 6 - ] - }, - { - "type": "animate", - "name": "yongchang", - "loc": [ - 8, - 6 - ] - }, - { - "type": "animate", - "name": "yongchang", - "loc": [ - 8, - 3 - ] - }, - { - "type": "sleep", - "time": 200 - }, - { - "type": "playSound", - "name": "attack.mp3" - }, - { - "type": "animate", - "name": "thunder", - "loc": "hero" - }, - { - "type": "sleep", - "time": 200 - }, - "\t[hero]唔……!!(吐血)", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]我的魔力可是充足的很啊!我会一直折磨到你屈服于我为止!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]人类!好好感受吧!当初你们施加于我的痛苦!如今我要百倍奉还!", { "type": "show", "loc": [ 6, - 6 - ], - "time": 1000 + 11 + ] }, { - "type": "sleep", - "time": 700 + "type": "hide" }, { "type": "trigger", "loc": [ 6, - 6 + 7 ] } - ] - }, - "4,3": { - "trigger": "action", - "displayDamage": false, - "enable": false, - "data": [] - }, - "8,3": { - "trigger": "action", - "displayDamage": false, - "enable": false, - "data": [] - }, - "4,6": { - "trigger": "action", - "displayDamage": false, - "enable": false, - "data": [] - }, - "8,6": { - "trigger": "action", - "displayDamage": false, - "enable": false, - "data": [] - }, - "6,6": { - "enable": false, - "data": [ + ], + "6,7": [ { "type": "playSound", "name": "item.mp3" }, - "\t[hero]…妖精…小姐……是你吗?", + "\t[hero]杰克,你究竟是什么人?", { "type": "playSound", "name": "item.mp3" }, - "\t[小妖精,fairy]不要绝望,也不要悲伤。", + "\t[杰克,thief]……", { "type": "playSound", "name": "item.mp3" }, - "\t[小妖精,fairy]你从来都不是独自一人在前进。", + "\t[hero]我们……是朋友对吧?\n是朋友就应该相互信任对吧?", { "type": "playSound", "name": "item.mp3" }, - "\t[小妖精,fairy]咱一直,一直都在注视着你。", + "\t[杰克,thief]……事到如今也没有什么好隐瞒的了。", { "type": "playSound", "name": "item.mp3" }, - "\t[小妖精,fairy]耍小聪明的你、笨笨的你呆呆的你、胆小的你、勇敢的你帅气的你……全部全部都是你。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]所以放心吧,无论发生什么,咱都会陪伴在你身边的。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]因为你要是离开我的话,立刻就会死掉吧?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]…妖精…小姐……其实一直以来,我都非常感激你……", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]笨蛋!都这种时候了就不要作出像是临终遗言的发言了啊!!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]喂!那边穿衣品味差到极点的黑暗大法师,别左顾右盼说的就是你!你应该知道咱的身份吧?\n还不速速退下!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]可恶…多管闲事的妖精族…明明只要再让他承受一点疼痛来瓦解他的意志力,我的计划就成功了!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]哼哼哼~抱歉哦,这个笨蛋的意志力可不像你想象的那么薄弱哦!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]不甘心!我不甘心!妖精公主又如何!\n只要是阻挡我的,不管是谁我都要铲除!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]终于露出狐狸尾巴了,其实咱早就看出你有谋反的念头。你的计划就是拉拢这家伙入伙然后推翻魔王对魔塔的统治对吧?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]呵呵呵……那个昏庸的魔王,掌握着那么庞大的魔物军队却只知道固守魔塔,而不主动侵略人类世界扩张领土!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]我实在是看不过眼,所以我才决定把这个具备稀有勇者体质的家伙培养成新一任魔王!\n来让这个世界的势力重新洗牌!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]你觉得一个满脑子想着回家种田的废柴勇者会成为改变世界的魔王?你晃晃脑袋试试,是不是能听到大海的声音?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]恼人至极的妖精族!呵呵呵……我干脆一不做二不休,连你也一块收拾了吧!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]别小瞧咱!咱好歹也是妖精族里实力数一数二的存在!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]只会耍嘴皮子的恼人苍蝇!我倒要看看一块焦炭会不会说话!\n——招雷弹!!", - { - "type": "animate", - "name": "yongchang", - "loc": [ - 4, - 3 - ] - }, - { - "type": "animate", - "name": "yongchang", - "loc": [ - 4, - 6 - ] - }, - { - "type": "animate", - "name": "yongchang", - "loc": [ - 8, - 6 - ] - }, - { - "type": "animate", - "name": "yongchang", - "loc": [ - 8, - 3 - ] - }, - { - "type": "playSound", - "name": "attack.mp3" - }, - { - "type": "animate", - "name": "thunder", - "loc": [ - 6, - 6 - ] - }, - { - "type": "sleep", - "time": 500 - }, - "\t[小妖精,fairy]切,这点伤痛跟他刚才经历的身心地狱相比根本就不算什么。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]哼!翅膀都被烧焦了还要嘴硬?你难不成真以为我不会对你动真格?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]……你这混蛋!给我离她远点!!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]!…你现在受了很严重的致命伤,乱动什么?\n乖。别怕,这里有咱顶着!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]对了,咱再问你一遍,你是很珍惜自己性命的对吧?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]!…等等…妖精小姐,你不会是……?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]喂,黑暗大法师,你作为魔塔里最博学多识的蠢货,应该对咱妖精族的特殊能力再清楚不过吧?", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]什么?!难不成你是想!!不可能……\n就为了一个渺小的人类,不可理喻!!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]哼哼哼!你害怕的表情可真美味!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]不过比起这个,咱更期待你吃到“妖精自灭冲击”之后的死状哦!~", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[blackMagician]不!!不应该是这样的!我完美的计划竟然会被一只小小的妖精破坏!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[hero]不要!……千万不要!……为了我这种人……唔!", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]笨蛋,动都动不了了就不要强撑着站起来了啊。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]真是的,都到最后一刻了,你这家伙好歹也让咱省点心吧。", - { - "type": "playSound", - "name": "item.mp3" - }, - "\t[小妖精,fairy]那么,再见了……我的勇者大人。", + "\t[杰克,thief]没错,我就是这一切的背后主谋。", { "type": "move", - "time": 700, "steps": [ { "direction": "up", "value": 3 } - ] - }, - { - "type": "playSound", - "name": "attack.mp3" - }, - { - "type": "sleep", - "time": 200 - }, - "\t[blackMagician]不可能!!!!!", - { - "type": "hide", - "loc": [ - 6, - 3 - ] - }, - { - "type": "hide", - "loc": [ - 4, - 3 - ] - }, - { - "type": "hide", - "loc": [ - 4, - 6 - ] - }, - { - "type": "hide", - "loc": [ - 8, - 6 - ] - }, - { - "type": "hide", - "loc": [ - 8, - 3 - ] - }, - { - "type": "changeFloor", - "floorId": "sample3", - "loc": [ - 6, - 6 ], - "direction": "up", "time": 1000 }, { "type": "show", "loc": [ 6, - 5 - ] + 4 + ], + "time": 1000 }, { "type": "sleep", - "time": 200 + "time": 500 }, { "type": "playSound", "name": "item.mp3" }, - { - "type": "sleep", - "time": 200 - }, - "\t[hero]…妖精…小姐……", + "\t[blackMagician]我的真名为——黑暗大法师,第四区域的头目。", { "type": "playSound", "name": "item.mp3" }, - "\t[hero]……妖精小姐!", + "\t[hero]呵呵,不知道为什么,我竟然对事情走到现在这一步毫不感觉意外。", { "type": "playSound", "name": "item.mp3" }, - "\t[hero]是梦吗?……不对,为什么我在流泪?", + "\t[blackMagician]以杰克的名义利用了你这么久,真是抱歉啊。", { "type": "playSound", "name": "item.mp3" }, - "\t[hero]这颗漂亮的宝石是……?", + "\t[hero]真正的杰克现在在哪里?", { "type": "playSound", "name": "item.mp3" }, - "\t[hero]我全都想起来了……妖精小姐为了我……\n牺牲了自己的性命。", + "\t[blackMagician]盗贼杰克这个人类从未存在过,他只是我用来接近你的一副皮囊而已。", { "type": "playSound", "name": "item.mp3" }, - "\t[hero]在这颗宝石上,我能感受到你的温度……\n熟悉而又令人安心,这就是你最后留给我的东西吗……", + "\t[hero]……这样啊,呵呵。", { "type": "playSound", "name": "item.mp3" }, - "\t[hero]好温暖……", + "\t[blackMagician]为什么你看上去丝毫不生气?", { - "type": "setValue", - "name": "item:yellowJewel", - "value": "1" + "type": "playSound", + "name": "item.mp3" }, + "\t[hero]多亏了鬼帝,我现在的脾气好得连我自己都害怕。", { - "type": "hide", - "loc": [ - 6, - 5 - ] + "type": "playSound", + "name": "item.mp3" }, + "\t[hero]说起来我还得好好感谢你呢,如果没有杰克……你的帮助,我早就死在第一区域了。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]不论你的目的如何,你的所作所为都是对我有利的。不是吗?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]能够如此淡定的面对背叛,看来跟五年前相比,你确实成长了很多啊。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]五年前?……黑暗大法师,在这之前,我们好像素未谋面吧?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]五年前那场屠城你应该这一生都不会忘记吧。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]很不巧,那场屠城的主谋,也是我。", { "type": "playSound", "name": "item.mp3" }, "\t[hero]……", { - "type": "openDoor", + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]这么说,击中我双亲的那道紫色闪电,也就是你释放的吧……", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]你的双亲?这种事情我怎么可能会记得?\n你难道在踩死蚂蚁的时候还会一只只记下他们的样子吗?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]老 子 要 你 的 命", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]你应该对我心怀感激才对,如果不是那时的我看出了你隐藏的稀有勇者体质,你绝对不可能活到今天。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]在暗中动手脚让你通过勇者选拔的人也是我,我一直一直在暗中引导你走到今天这一步。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]是我救赎了一无是处的你。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]为什么只有我一个人活了下来!!!!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]为什么偏偏是我!!!!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]我刚才不是说过了吗?因为我看出了你有稀有勇者体质啊。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]你刚刚跟鬼帝交过手,应该已经很清楚这稀有勇者体质意味着什么了吧?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……就因为我有这种体质,就不得不背负如此残酷的宿命吗?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]愚蠢!这意味着只要我对你加以引导跟培养,你就能成为这世间实力最强的存在!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……所以,你究竟想利用我干什么?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]我利用你干的事情,你不是已经完成了吗?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……你说什么?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]不知不觉间,你已经在我的指引下跟鬼帝正面交手并且杀掉了他啊。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]就连我跟鬼帝的对决……也是被你安排好了的?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]你们两个一个是人类勇者,一个是魔物勇者,迟早会有交手的一天。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]我只不过是操纵了一系列的连锁事件让这一天提早了数十年到来而已。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……你这样做对谁有好处?他可是你们魔物世界的救世主啊。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]一个惧怕征战,爱好和平的懦夫,也配叫救世主?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]获得了力量,却只会被动挨打而不主动向人类世界出击,龟缩在第二区域惶惶度日,他根本就不配拥有稀有勇者体质。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]为了不让这种人霸占着积累多年的庞大灵魂能量无作为,我设计让你杀掉了他。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]你没有辜负我的期待,成功战胜了那个废物,现在你体内累积的灵魂能量……也就是魔力,已经达到了能跟魔王匹敌的地步。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……是吗?现在的我能与魔王匹敌?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]不止如此,你现在的力量之强就算是统治世界也是绰绰有余!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]怎么样?要不要加入我的麾下,跟随我去征战人类世界?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]能与魔王匹敌的话,也就是说。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]我 现 在 对 付 你 这 种 杂 碎 也 绰 绰 有 余 吧 ?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]……什么?!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]等一下!别冲动!你先等我把这利害关系理一理——", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]你给老子闭嘴。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]老子什么都不想听。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]老子现在想做的事情只有一件——", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]剁掉你的头,把它放回我双亲的墓前。", + { + "type": "update" + } + ], + "6,4": { + "enable": false, + "data": [] + }, + "5,4": { + "enable": false, + "data": [] + }, + "7,4": { + "enable": false, + "data": [] + }, + "5,5": { + "enable": false, + "data": [] + }, + "7,5": { + "enable": false, + "data": [] + }, + "6,3": { + "trigger": "action", + "enable": false, + "data": [ + "\t[blackMagician]听不进去人话的蠢货,就要用疼痛来管教!", + { + "type": "changePos", + "direction": "up" + }, + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]出来吧!禁忌——紫电凶杀阵!", + { + "type": "show", + "loc": [ + [ + 4, + 3 + ], + [ + 4, + 6 + ], + [ + 8, + 6 + ], + [ + 8, + 3 + ] + ], + "time": 500 + }, + { + "type": "sleep", + "time": 500 + }, + "\t[blackMagician]感受绝望吧!冥顽不化的蠢货!", + { + "type": "animate", + "name": "yongchang", + "loc": [ + 4, + 3 + ] + }, + { + "type": "animate", + "name": "yongchang", + "loc": [ + 4, + 6 + ] + }, + { + "type": "animate", + "name": "yongchang", + "loc": [ + 8, + 6 + ] + }, + { + "type": "animate", + "name": "yongchang", + "loc": [ + 8, + 3 + ] + }, + { + "type": "sleep", + "time": 200 + }, + { + "type": "playSound", + "name": "attack.mp3" + }, + { + "type": "animate", + "name": "thunder", + "loc": "hero" + }, + { + "type": "sleep", + "time": 200 + }, + "\t[hero]唔……!!(吐血)", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]我的魔力可是充足的很啊!我会一直折磨到你屈服于我为止!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]人类!好好感受吧!当初你们施加于我的痛苦!如今我要百倍奉还!", + { + "type": "show", + "loc": [ + 6, + 6 + ], + "time": 1000 + }, + { + "type": "sleep", + "time": 700 + }, + { + "type": "trigger", + "loc": [ + 6, + 6 + ] + } + ] + }, + "4,3": { + "trigger": "action", + "displayDamage": false, + "enable": false, + "data": [] + }, + "8,3": { + "trigger": "action", + "displayDamage": false, + "enable": false, + "data": [] + }, + "4,6": { + "trigger": "action", + "displayDamage": false, + "enable": false, + "data": [] + }, + "8,6": { + "trigger": "action", + "displayDamage": false, + "enable": false, + "data": [] + }, + "6,6": { + "enable": false, + "data": [ + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]…妖精…小姐……是你吗?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]不要绝望,也不要悲伤。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]你从来都不是独自一人在前进。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]咱一直,一直都在注视着你。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]耍小聪明的你、笨笨的你呆呆的你、胆小的你、勇敢的你帅气的你……全部全部都是你。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]所以放心吧,无论发生什么,咱都会陪伴在你身边的。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]因为你要是离开我的话,立刻就会死掉吧?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]…妖精…小姐……其实一直以来,我都非常感激你……", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]笨蛋!都这种时候了就不要作出像是临终遗言的发言了啊!!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]喂!那边穿衣品味差到极点的黑暗大法师,别左顾右盼说的就是你!你应该知道咱的身份吧?\n还不速速退下!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]可恶…多管闲事的妖精族…明明只要再让他承受一点疼痛来瓦解他的意志力,我的计划就成功了!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]哼哼哼~抱歉哦,这个笨蛋的意志力可不像你想象的那么薄弱哦!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]不甘心!我不甘心!妖精公主又如何!\n只要是阻挡我的,不管是谁我都要铲除!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]终于露出狐狸尾巴了,其实咱早就看出你有谋反的念头。你的计划就是拉拢这家伙入伙然后推翻魔王对魔塔的统治对吧?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]呵呵呵……那个昏庸的魔王,掌握着那么庞大的魔物军队却只知道固守魔塔,而不主动侵略人类世界扩张领土!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]我实在是看不过眼,所以我才决定把这个具备稀有勇者体质的家伙培养成新一任魔王!\n来让这个世界的势力重新洗牌!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]你觉得一个满脑子想着回家种田的废柴勇者会成为改变世界的魔王?你晃晃脑袋试试,是不是能听到大海的声音?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]恼人至极的妖精族!呵呵呵……我干脆一不做二不休,连你也一块收拾了吧!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]别小瞧咱!咱好歹也是妖精族里实力数一数二的存在!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]只会耍嘴皮子的恼人苍蝇!我倒要看看一块焦炭会不会说话!\n——招雷弹!!", + { + "type": "animate", + "name": "yongchang", + "loc": [ + 4, + 3 + ] + }, + { + "type": "animate", + "name": "yongchang", + "loc": [ + 4, + 6 + ] + }, + { + "type": "animate", + "name": "yongchang", + "loc": [ + 8, + 6 + ] + }, + { + "type": "animate", + "name": "yongchang", + "loc": [ + 8, + 3 + ] + }, + { + "type": "playSound", + "name": "attack.mp3" + }, + { + "type": "animate", + "name": "thunder", + "loc": [ + 6, + 6 + ] + }, + { + "type": "sleep", + "time": 500 + }, + "\t[小妖精,fairy]切,这点伤痛跟他刚才经历的身心地狱相比根本就不算什么。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]哼!翅膀都被烧焦了还要嘴硬?你难不成真以为我不会对你动真格?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……你这混蛋!给我离她远点!!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]!…你现在受了很严重的致命伤,乱动什么?\n乖。别怕,这里有咱顶着!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]对了,咱再问你一遍,你是很珍惜自己性命的对吧?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]!…等等…妖精小姐,你不会是……?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]喂,黑暗大法师,你作为魔塔里最博学多识的蠢货,应该对咱妖精族的特殊能力再清楚不过吧?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]什么?!难不成你是想!!不可能……\n就为了一个渺小的人类,不可理喻!!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]哼哼哼!你害怕的表情可真美味!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]不过比起这个,咱更期待你吃到“妖精自灭冲击”之后的死状哦!~", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[blackMagician]不!!不应该是这样的!我完美的计划竟然会被一只小小的妖精破坏!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]不要!……千万不要!……为了我这种人……唔!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]笨蛋,动都动不了了就不要强撑着站起来了啊。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]真是的,都到最后一刻了,你这家伙好歹也让咱省点心吧。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[小妖精,fairy]那么,再见了……我的勇者大人。", + { + "type": "move", + "time": 700, + "steps": [ + { + "direction": "up", + "value": 3 + } + ] + }, + { + "type": "playSound", + "name": "attack.mp3" + }, + { + "type": "sleep", + "time": 200 + }, + "\t[blackMagician]不可能!!!!!", + { + "type": "hide", + "loc": [ + 6, + 3 + ] + }, + { + "type": "hide", + "loc": [ + 4, + 3 + ] + }, + { + "type": "hide", + "loc": [ + 4, + 6 + ] + }, + { + "type": "hide", + "loc": [ + 8, + 6 + ] + }, + { + "type": "hide", + "loc": [ + 8, + 3 + ] + }, + { + "type": "changeFloor", + "floorId": "sample3", + "loc": [ + 6, + 6 + ], + "direction": "up", + "time": 1000 + }, + { + "type": "show", + "loc": [ + 6, + 5 + ] + }, + { + "type": "sleep", + "time": 200 + }, + { + "type": "playSound", + "name": "item.mp3" + }, + { + "type": "sleep", + "time": 200 + }, + "\t[hero]…妖精…小姐……", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……妖精小姐!", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]是梦吗?……不对,为什么我在流泪?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]这颗漂亮的宝石是……?", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]我全都想起来了……妖精小姐为了我……\n牺牲了自己的性命。", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]在这颗宝石上,我能感受到你的温度……\n熟悉而又令人安心,这就是你最后留给我的东西吗……", + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]好温暖……", + { + "type": "setValue", + "name": "item:yellowJewel", + "value": "1" + }, + { + "type": "hide", + "loc": [ + 6, + 5 + ] + }, + { + "type": "playSound", + "name": "item.mp3" + }, + "\t[hero]……", + { + "type": "openDoor", + "loc": [ + 6, + 2 + ] + }, + { + "type": "openDoor", + "loc": [ + 6, + 11 + ] + } + ] + }, + "6,5": { + "enable": false, + "data": [] + } + }, + "changeFloor": { + "6,0": { + "floorId": "sample3", + "stair": "upFloor" + }, + "6,12": { + "floorId": "sample2", + "stair": "upFloor" + } + }, + "afterBattle": { + "6,4": [ + "\t[blackMagician]天真!你以为这样就能战胜我吗?", + { + "type": "show", "loc": [ - 6, - 2 - ] + 7, + 5 + ], + "time": 500 }, { - "type": "openDoor", + "type": "update" + } + ], + "7,5": [ + "\t[blackMagician]你打败的不过是我众多分身中的其中一个而已。", + { + "type": "show", + "loc": [ + 5, + 4 + ], + "time": 500 + }, + { + "type": "update" + } + ], + "5,4": [ + "\t[blackMagician]你的身体已经伤痕累累了,可我还留有着九成多的魔力。", + { + "type": "show", + "loc": [ + 5, + 5 + ], + "time": 500 + }, + { + "type": "update" + } + ], + "5,5": [ + "\t[blackMagician]顽固的家伙!放弃抵抗吧!", + { + "type": "show", + "loc": [ + 7, + 4 + ], + "time": 500 + }, + { + "type": "update" + } + ], + "7,4": [ + "\t[blackMagician]哈哈哈哈!我的灵魂远比你想象的强大!\n我即是永恒!", + { + "type": "show", "loc": [ 6, - 11 + 3 + ], + "time": 500 + }, + { + "type": "trigger", + "loc": [ + 6, + 3 ] } ] }, - "6,5": { - "enable": false, - "data": [] - } -}, -"changeFloor": { - "6,0": { - "floorId": "sample3", - "stair": "upFloor" - }, - "6,12": { - "floorId": "sample2", - "stair": "upFloor" - } -}, -"afterBattle": { - "6,4": [ - "\t[blackMagician]天真!你以为这样就能战胜我吗?", - { - "type": "show", - "loc": [ - 7, - 5 - ], - "time": 500 - }, - { - "type": "update" - } - ], - "7,5": [ - "\t[blackMagician]你打败的不过是我众多分身中的其中一个而已。", - { - "type": "show", - "loc": [ - 5, - 4 - ], - "time": 500 - }, - { - "type": "update" - } - ], - "5,4": [ - "\t[blackMagician]你的身体已经伤痕累累了,可我还留有着九成多的魔力。", - { - "type": "show", - "loc": [ - 5, - 5 - ], - "time": 500 - }, - { - "type": "update" - } - ], - "5,5": [ - "\t[blackMagician]顽固的家伙!放弃抵抗吧!", - { - "type": "show", - "loc": [ - 7, - 4 - ], - "time": 500 - }, - { - "type": "update" - } - ], - "7,4": [ - "\t[blackMagician]哈哈哈哈!我的灵魂远比你想象的强大!\n我即是永恒!", - { - "type": "show", - "loc": [ - 6, - 3 - ], - "time": 500 - }, - { - "type": "trigger", - "loc": [ - 6, - 3 - ] - } - ] -}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"cannotMove": {}, -"bgmap": [ + "afterGetItem": {}, + "afterOpenDoor": {}, + "cannotMove": {}, + "bgmap": [ ], -"fgmap": [ + "fgmap": [ ], + "width": 13, + "height": 13, + "autoEvent": {} } \ No newline at end of file From 299440e04adf1adc55233d4fe9351afc0cb6b545 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 13 May 2020 21:34:42 +0800 Subject: [PATCH 65/70] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=81=93=E5=85=B7?= =?UTF-8?q?=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/MotaAction.g4 | 4 ++-- _server/table/data.comment.js | 29 ---------------------------- libs/actions.js | 4 ++-- libs/control.js | 5 +++-- libs/core.js | 1 - libs/events.js | 4 ++-- libs/items.js | 29 ---------------------------- libs/ui.js | 16 ++++++---------- project/data.js | 5 ----- project/functions.js | 36 +++++++++++++++++------------------ project/items.js | 12 ++++++------ project/maps.js | 24 +++++++++++------------ v2.x-final更新.txt | 2 ++ 13 files changed, 52 insertions(+), 119 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 280f7d96..e41b39a0 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -2720,8 +2720,8 @@ Global_Value_List Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示护盾值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExp', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'disableShopOnDamage', 'blurFg']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示护盾值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExp', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'disableShopOnDamage', 'blurFg']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 5b11ee0d..7a1ec51e 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -529,29 +529,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_docs": "楼传平面模式", "_data": "传送器平面塔模式;此模式下楼层传送器将飞到上次离开该楼层的位置。" }, - "pickaxeFourDirections": { - "_leaf": true, - "_type": "checkbox", - "_docs": "四向破墙镐", - "_data": "使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁" - }, - "bombFourDirections": { - "_leaf": true, - "_type": "checkbox", - "_docs": "四向炸弹", - "_data": "使用炸弹是否四个方向都会炸;如果false则只炸面前的怪物(即和圣锤等价)" - }, - "snowFourDirections": { - "_leaf": true, - "_type": "checkbox", - "_docs": "四向破冰稿", - "_data": "使用冰冻徽章是否四个方向都会消除熔岩;如果false则只消除面前的熔岩" - }, - "bigKeyIsBox": { - "_leaf": true, - "_type": "checkbox", - "_data": "如果此项为true,则视为钥匙盒,红黄蓝钥匙+1;若为false,则视为大黄门钥匙" - }, "steelDoorWithoutKey": { "_leaf": true, "_type": "checkbox", @@ -564,12 +541,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_docs": "首次道具提示", "_data": "首次获得道具是否提示" }, - "equipment": { - "_leaf": true, - "_type": "checkbox", - "_docs": "剑盾装备", - "_data": "剑和盾是否作为装备。如果此项为true,则作为装备,需要在装备栏使用,否则将直接加属性。" - }, "equipboxButton": { "_leaf": true, "_type": "checkbox", diff --git a/libs/actions.js b/libs/actions.js index 094dd966..4d391af5 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -872,7 +872,7 @@ actions.prototype._clickCenterFly = function (x, y) { core.useItem('centerFly'); } else { - core.drawTip('当前不能使用中心对称飞行器'); + core.drawTip('当前不能使用' + core.material.items['centerFly'].name); } } } @@ -884,7 +884,7 @@ actions.prototype._keyUpCenterFly = function (keycode) { core.useItem('centerFly'); } else { - core.drawTip('当前不能使用中心对称飞行器'); + core.drawTip('当前不能使用' + core.material.items['centerFly'].name); } } } diff --git a/libs/control.js b/libs/control.js index a1f46df4..923b5833 100644 --- a/libs/control.js +++ b/libs/control.js @@ -990,7 +990,8 @@ control.prototype.checkBlock = function () { var damage = core.status.checkBlock.damage[loc]; if (damage) { core.status.hero.hp -= damage; - core.drawTip("受到"+(core.status.checkBlock.type[loc]||"伤害")+damage+"点"); + var text = (Object.keys(core.status.checkBlock.type[loc] || {}).join(",")) || "伤害"; + core.drawTip("受到"+text+damage+"点"); core.drawHeroAnimate("zone"); this._checkBlock_disableQuickShop(); core.status.hero.statistics.extraDamage += damage; @@ -1268,7 +1269,7 @@ control.prototype.bookReplay = function () { if (core.isMoving() || core.status.replay.animate || (core.status.event.id && core.status.event.id != 'viewMaps')) return core.drawTip("请等待当前事件的处理结束"); - if (!core.hasItem('book')) return core.drawTip('你没有怪物手册'); + if (!core.hasItem('book')) return core.drawTip('你没有'+core.material.items['book'].name); // 从“浏览地图”页面打开 if (core.status.event.id=='viewMaps') diff --git a/libs/core.js b/libs/core.js index 2654c2e1..cc6c3c9e 100644 --- a/libs/core.js +++ b/libs/core.js @@ -277,7 +277,6 @@ core.prototype._init_flags = function () { // 初始化怪物、道具等 core.material.enemys = core.enemys.getEnemys(); core.material.items = core.items.getItems(); - core.items._resetItems(); core.material.icons = core.icons.getIcons(); } diff --git a/libs/events.js b/libs/events.js index 64cc9402..6c173718 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2266,14 +2266,14 @@ events.prototype.useFly = function (fromUserAction) { if (core.isReplaying()) return; if (!this._checkStatus('fly', fromUserAction, true)) return; if (core.flags.flyNearStair && !core.nearStair()) { - core.drawTip("只有在楼梯边才能使用传送器"); + core.drawTip("只有在楼梯边才能使用" + core.material.items['fly'].name); core.unLockControl(); core.status.event.data = null; core.status.event.id = null; return; } if (!core.canUseItem('fly')) { - core.drawTip("楼层传送器好像失效了"); + core.drawTip(core.material.items['fly'].name + "好像失效了"); core.unLockControl(); core.status.event.data = null; core.status.event.id = null; diff --git a/libs/items.js b/libs/items.js index 7d7073c9..41c9d61c 100644 --- a/libs/items.js +++ b/libs/items.js @@ -26,35 +26,6 @@ items.prototype.getItems = function () { return core.clone(this.items); } -items.prototype._resetItems = function () { - // 只有运行时才能执行此函数! - if (main.mode != 'play') return; - - // 根据flag来对道具进行修改 - if (core.flags.bigKeyIsBox) { - core.material.items.bigKey.cls = 'items'; - core.material.items.bigKey.name = '钥匙盒'; - } - if (core.flags.pickaxeFourDirections) - core.material.items.pickaxe.text = "可以破坏勇士四周的墙"; - if (core.flags.bombFourDirections) - core.material.items.bomb.text = "可以炸掉勇士四周的怪物"; - if (core.flags.snowFourDirections) - core.material.items.snow.text = "可以将四周的熔岩变成平地"; - if (core.flags.equipment) { - core.material.items.sword1.cls = 'equips'; - core.material.items.sword2.cls = 'equips'; - core.material.items.sword3.cls = 'equips'; - core.material.items.sword4.cls = 'equips'; - core.material.items.sword5.cls = 'equips'; - core.material.items.shield1.cls = 'equips'; - core.material.items.shield2.cls = 'equips'; - core.material.items.shield3.cls = 'equips'; - core.material.items.shield4.cls = 'equips'; - core.material.items.shield5.cls = 'equips'; - } -} - ////// “即捡即用类”道具的使用效果 ////// items.prototype.getItemEffect = function (itemId, itemNum) { var itemCls = core.material.items[itemId].cls; diff --git a/libs/ui.js b/libs/ui.js index 115fb4d8..71996bdc 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -2042,7 +2042,7 @@ ui.prototype.drawCenterFly = function () { offsetY = core.clamp(toY - core.__HALF_SIZE__, 0, core.bigmap.height - core.__SIZE__); core.fillRect('ui', (toX - offsetX) * 32, (toY - offsetY) * 32, 32, 32, fillstyle); core.status.event.data = {"x": toX, "y": toY, "posX": toX - offsetX, "posY": toY - offsetY}; - core.drawTip("请确认当前中心对称飞行器的位置"); + core.drawTip("请确认当前"+core.material.items['centerFly'].name+"的位置"); return; } @@ -2101,7 +2101,7 @@ ui.prototype._drawMaps_drawHint = function () { core.fillText('ui', "后张地图 [▼ / PGDN]", this.HPIXEL, this.PIXEL - (32 * per + 48)); core.fillText('ui', "退出 [ESC / ENTER]", this.HPIXEL, this.HPIXEL); - core.fillText('ui', "[X] 可查看怪物手册", this.HPIXEL + 77, this.HPIXEL + 32, null, '13px Arial'); + core.fillText('ui', "[X] 可查看" + core.material.items['book'].name, this.HPIXEL + 77, this.HPIXEL + 32, null, '13px Arial'); core.setTextBaseline('ui', 'alphabetic'); } @@ -2767,13 +2767,14 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) { } else text += ","; prev = obj.cls[key]; - text+=core.ui._drawStatistics_getName(key)+value+"个"; + var name = ((core.material.items[key] || (core.getBlockById(key) || {}).event)||{}).name || key; + text+=name+value+"个"; if (obj.ext[key]) text+="("+obj.ext[key]+")"; }) if (prev!="") text+="。"; - text+="\n\n"; + text+="\n"; text+="共加生命值"+core.formatBigNumber(data.add.hp)+"点,攻击" +core.formatBigNumber(data.add.atk)+"点,防御" +core.formatBigNumber(data.add.def)+"点,护盾" @@ -2781,11 +2782,6 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) { return text; } -ui.prototype._drawStatistics_getName = function (key) { - return {"yellowDoor": "黄门", "blueDoor": "蓝门", "redDoor": "红门", "greenDoor": "绿门", - "steelDoor": "铁门"}[key] || core.material.items[key].name; -} - ////// 绘制“关于”界面 ////// ui.prototype.drawAbout = function () { return this.uidata.drawAbout(); @@ -2805,7 +2801,7 @@ ui.prototype.drawHelp = function () { core.drawText([ "\t[键盘快捷键列表]"+ "[CTRL] 跳过对话 [Z] 转向\n" + - "[X] 怪物手册 [G] 楼层传送\n" + + "[X] "+core.material.items['book'].name + " [G] "+core.material.items['fly'].name+"\n" + "[A] 读取自动存档 [W] 撤销读取自动存档\n" + "[S/D] 存读档页面 [SPACE] 轻按\n" + "[V] 快捷商店 [ESC] 系统菜单\n" + diff --git a/project/data.js b/project/data.js index 86e3be31..49445eab 100644 --- a/project/data.js +++ b/project/data.js @@ -487,13 +487,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = ], "flyNearStair": true, "flyRecordPosition": false, - "pickaxeFourDirections": false, - "bombFourDirections": false, - "snowFourDirections": false, - "bigKeyIsBox": false, "steelDoorWithoutKey": false, "itemFirstText": false, - "equipment": false, "equipboxButton": false, "enableAddPoint": false, "enableNegativeDamage": false, diff --git a/project/functions.js b/project/functions.js index e591826a..0e7cba34 100644 --- a/project/functions.js +++ b/project/functions.js @@ -29,7 +29,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 初始化怪物和道具 core.material.enemys = core.enemys.getEnemys(); core.material.items = core.items.getItems(); - core.items._resetItems(); // 初始化全局数值和全局开关 core.values = core.clone(core.data.values); for (var key in values || {}) @@ -811,22 +810,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = break; case 49: // 快捷键1: 破 if (core.hasItem('pickaxe')) { - if (core.canUseItem('pickaxe')) { - core.status.route.push("key:49"); // 将按键记在录像中 - core.useItem('pickaxe', true); // 第二个参数true代表该次使用道具是被按键触发的,使用过程不计入录像 - } else { - core.drawTip('当前不能使用破墙镐'); - } + core.status.route.push("key:49"); // 将按键记在录像中 + core.useItem('pickaxe', true); // 第二个参数true代表该次使用道具是被按键触发的,使用过程不计入录像 } break; case 50: // 快捷键2: 炸 if (core.hasItem('bomb')) { - if (core.canUseItem('bomb')) { - core.status.route.push("key:50"); // 将按键记在录像中 - core.useItem('bomb', true); // 第二个参数true代表该次使用道具是被按键触发的,使用过程不计入录像 - } else { - core.drawTip('当前不能使用炸弹'); - } + core.status.route.push("key:50"); // 将按键记在录像中 + core.useItem('bomb', true); // 第二个参数true代表该次使用道具是被按键触发的,使用过程不计入录像 } break; case 51: // 快捷键3: 飞 @@ -1065,10 +1056,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = id = block.event.id, enemy = core.material.enemys[id]; + type[loc] = type[loc] || {}; + // 血网 if (id == 'lavaNet' && !core.hasItem('shoes')) { damage[loc] = (damage[loc] || 0) + core.values.lavaDamage; - type[loc] = "血网伤害"; + type[loc]["血网伤害"] = true; } // 领域 @@ -1090,7 +1083,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 如果是十字领域,则还需要满足 |dx|+|dy|<=range if (!zoneSquare && Math.abs(dx) + Math.abs(dy) > range) continue; damage[currloc] = (damage[currloc] || 0) + (enemy.value || 0); - type[currloc] = "领域伤害"; + type[currloc] = type[currloc] || {}; + type[currloc]["领域伤害"] = true; } } } @@ -1104,7 +1098,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = currloc = nx + "," + ny; if (nx < 0 || nx >= width || ny < 0 || ny >= height) continue; damage[currloc] = (damage[currloc] || 0) + (enemy.value || 0); - type[currloc] = "阻击伤害"; + type[currloc] = type[currloc] || {}; + type[currloc]["阻击伤害"] = true; var rdir = core.reverseDirection(dir); // 检查下一个点是否存在事件(从而判定是否移动) @@ -1125,14 +1120,16 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = var currloc = nx + "," + y; if (nx != x) { damage[currloc] = (damage[currloc] || 0) + (enemy.value || 0); - type[currloc] = "激光伤害"; + type[currloc] = type[currloc] || {}; + type[currloc]["激光伤害"] = true; } } for (var ny = 0; ny < height; ny++) { var currloc = x + "," + ny; if (ny != y) { damage[currloc] = (damage[currloc] || 0) + (enemy.value || 0); - type[currloc] = "激光伤害"; + type[currloc] = type[currloc] || {}; + type[currloc]["激光伤害"] = true; } } } @@ -1192,7 +1189,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = } if (value > 0) { damage[loc] = (damage[loc] || 0) + value; - type[loc] = "夹击伤害"; + type[loc] = type[loc] || {}; + type[loc]["激光伤害"] = true; } } } diff --git a/project/items.js b/project/items.js index 1244844e..0a68a3f0 100644 --- a/project/items.js +++ b/project/items.js @@ -370,11 +370,11 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "book": "core.ui.drawBook(0);", "fly": "core.ui.drawFly(core.floorIds.indexOf(core.status.floorId));", "earthquake": "(function () {\n\tvar indexes = [];\n\tfor (var index in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[index];\n\t\tif (!block.disable && block.event.canBreak) {\n\t\t\tindexes.push(index);\n\t\t}\n\t}\n\tcore.removeBlockByIndexes(indexes);\n\tcore.drawMap(core.status.floorId, function () {\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t});\n})();", - "pickaxe": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable) return false;\n\t\treturn block.block.event.canBreak;\n\t};\n\n\tcore.playSound('pickaxe.mp3');\n\tif (core.flags.pickaxeFourDirections) {\n\t\t// 四方向破\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBreak(nx, ny)) {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅破当前\n\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t}\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", + "pickaxe": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable) return false;\n\t\treturn block.block.event.canBreak;\n\t};\n\n\tvar success = false;\n\tvar pickaxeFourDirections = false; // 是否四方向破;如果是将其改成true\n\tif (pickaxeFourDirections) {\n\t\t// 四方向破\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBreak(nx, ny)) {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t\tsuccess = true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅破当前\n\t\tif (canBreak(core.nextX(), core.nextY())) {\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t\tsuccess = true;\n\t\t}\n\t}\n\n\tif (success) {\n\t\tcore.playSound('pickaxe.mp3');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t} else {\n\t\t// 无法使用\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();", "icePickaxe": "(function () {\n\tcore.removeBlock(core.nextX(), core.nextY());\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", - "snow": "(function () {\n\tif (core.flags.snowFourDirections) {\n\t\t// 四方向雪花\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (core.getBlockId(nx, ny) == 'lava') {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t}\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", + "snow": "(function () {\n\tvar success = false;\n\n\tvar snowFourDirections = false; // 是否四方向雪花;如果是将其改成true\n\tif (snowFourDirections) {\n\t\t// 四方向雪花\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (core.getBlockId(nx, ny) == 'lava') {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t\tsuccess = true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (core.getBlockId(core.nextX(), core.nextY()) == 'lava') {\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t\tsuccess = true;\n\t\t}\n\t}\n\n\tif (success) {\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t} else {\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();", "bigKey": "(function () {\n\tvar actions = core.searchBlock(\"yellowDoor\").map(function (block) {\n\t\treturn { \"type\": \"openDoor\", \"loc\": [block.x, block.y], \"async\": true };\n\t});\n\tactions.push({ \"type\": \"waitAsync\" });\n\tactions.push({ \"type\": \"tip\", \"text\": core.material.items[itemId].name + \"使用成功\" });\n\tcore.insertAction(actions);\n})();", - "bomb": "(function () {\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable || block.block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.material.enemys[block.block.event.id];\n\t\treturn enemy && !enemy.notBomb;\n\t};\n\n\tcore.playSound('bomb.mp3');\n\tvar bombList = []; // 炸掉的怪物坐标列表\n\tif (core.flags.bombFourDirections) {\n\t\t// 四方向炸\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBomb(nx, ny)) {\n\t\t\t\tbombList.push([nx, ny]);\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅炸当前\n\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\tbombList.push([core.nextX(), core.nextY()]);\n\t}\n\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t// 炸弹后事件\n\t// 这是一个使用炸弹也能开门的例子\n\t/*\n\tif (core.status.floorId=='xxx' && core.terrainExists(x0,y0,'specialDoor') // 某个楼层,该机关门存在\n\t\t&& !core.enemyExists(x1,y1) && !core.enemyExists(x2,y2)) // 且守门的怪物都不存在\n\t{\n\t\tcore.insertAction([ // 插入事件\n\t\t\t{\"type\": \"openDoor\", \"loc\": [x0,y0]} // 开门\n\t\t])\n\t}\n\t*/\n})();", + "bomb": "(function () {\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable || block.block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.material.enemys[block.block.event.id];\n\t\treturn enemy && !enemy.notBomb;\n\t};\n\n\tvar bombList = []; // 炸掉的怪物坐标列表\n\tvar bombFourDirections = false; // 是否四方向可炸;如果是将其改成true。\n\tif (bombFourDirections) {\n\t\t// 四方向炸\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBomb(nx, ny)) {\n\t\t\t\tbombList.push([nx, ny]);\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅炸当前\n\t\tif (canBomb(core.nextX(), core.nextY())) {\n\t\t\tbombList.push([core.nextX(), core.nextY()]);\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t}\n\t}\n\n\tif (bombList.length > 0) {\n\t\tcore.playSound('bomb.mp3');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t} else {\n\t\tcore.drawTip('当前无法使用' + core.material.items[itemId].name);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n\n\t// 炸弹后事件\n\t// 这是一个使用炸弹也能开门的例子\n\t/*\n\tif (core.status.floorId=='xxx' && core.terrainExists(x0,y0,'specialDoor') // 某个楼层,该机关门存在\n\t\t&& !core.enemyExists(x1,y1) && !core.enemyExists(x2,y2)) // 且守门的怪物都不存在\n\t{\n\t\tcore.insertAction([ // 插入事件\n\t\t\t{\"type\": \"openDoor\", \"loc\": [x0,y0]} // 开门\n\t\t])\n\t}\n\t*/\n})();", "centerFly": "core.playSound('centerFly.mp3');\ncore.clearMap('hero');\ncore.setHeroLoc('x', core.bigmap.width - 1 - core.getHeroLoc('x'));\ncore.setHeroLoc('y', core.bigmap.height - 1 - core.getHeroLoc('y'));\ncore.drawHero();\ncore.drawTip(core.material.items[itemId].name + '使用成功');", "upFly": "(function () {\n\tvar floorId = core.floorIds[core.floorIds.indexOf(core.status.floorId) + 1];\n\tif (core.status.event.id == 'action') {\n\t\tcore.insertAction([\n\t\t\t{ \"type\": \"changeFloor\", \"loc\": [core.getHeroLoc('x'), core.getHeroLoc('y')], \"floorId\": floorId },\n\t\t\t{ \"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功' }\n\t\t]);\n\t} else {\n\t\tcore.changeFloor(floorId, null, core.status.hero.loc, null, function () {\n\t\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\t\tcore.replay();\n\t\t});\n\t}\n})();", "downFly": "(function () {\n\tvar floorId = core.floorIds[core.floorIds.indexOf(core.status.floorId) - 1];\n\tif (core.status.event.id == 'action') {\n\t\tcore.insertAction([\n\t\t\t{ \"type\": \"changeFloor\", \"loc\": [core.getHeroLoc('x'), core.getHeroLoc('y')], \"floorId\": floorId },\n\t\t\t{ \"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功' }\n\t\t]);\n\t} else {\n\t\tcore.changeFloor(floorId, null, core.status.hero.loc, null, function () {\n\t\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\t\tcore.replay();\n\t\t});\n\t}\n})();", @@ -397,14 +397,14 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "canUseItemEffect": { "book": "true", "fly": "(function () {\n\treturn core.status.maps[core.status.floorId].canFlyTo;\n})();", - "pickaxe": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable) return false;\n\t\treturn block.block.event.canBreak;\n\t};\n\n\tif (core.flags.pickaxeFourDirections) {\n\t\t// 四方向破\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tif (canBreak(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} else {\n\t\t// 仅破当前\n\t\treturn canBreak(core.nextX(), core.nextY());\n\t}\n})();", + "pickaxe": "true", "icePickaxe": "(function () {\n\treturn core.getBlockId(core.nextX(), core.nextY()) == 'ice';\n})();", - "bomb": "(function () {\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable || block.block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.material.enemys[block.block.event.id];\n\t\treturn enemy && !enemy.notBomb;\n\t};\n\n\tif (core.flags.bombFourDirections) {\n\t\t// 四方向炸\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tif (canBomb(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} else {\n\t\t// 仅炸当前\n\t\treturn canBomb(core.nextX(), core.nextY());\n\t}\n})();", + "bomb": "true", "earthquake": "(function () {\n\treturn core.status.thisMap.blocks.filter(function (block) {\n\t\treturn !block.disable && block.event.canBreak;\n\t}).length > 0;\n})();", "centerFly": "(function () {\n\tvar toX = core.bigmap.width - 1 - core.getHeroLoc('x'),\n\t\ttoY = core.bigmap.height - 1 - core.getHeroLoc('y');\n\tvar id = core.getBlockId(toX, toY);\n\treturn id == null;\n})();", "upFly": "(function () {\n\tvar floorId = core.status.floorId,\n\t\tindex = core.floorIds.indexOf(floorId);\n\tif (index < core.floorIds.length - 1) {\n\t\tvar toId = core.floorIds[index + 1],\n\t\t\ttoX = core.getHeroLoc('x'),\n\t\t\ttoY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width,\n\t\t\tmh = core.floors[toId].height;\n\t\tif (toX >= 0 && toX < mw && toY >= 0 && toY < mh && core.getBlock(toX, toY, toId) == null) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();", "downFly": "(function () {\n\tvar floorId = core.status.floorId,\n\t\tindex = core.floorIds.indexOf(floorId);\n\tif (index > 0) {\n\t\tvar toId = core.floorIds[index - 1],\n\t\t\ttoX = core.getHeroLoc('x'),\n\t\t\ttoY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width,\n\t\t\tmh = core.floors[toId].height;\n\t\tif (toX >= 0 && toX < mw && toY >= 0 && toY < mh && core.getBlock(toX, toY, toId) == null) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();", - "snow": "(function () {\n\tif (core.flags.snowFourDirections) {\n\t\t// 四方向雪花\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tif (core.getBlockId(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y) == 'lava') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} else {\n\t\treturn core.getBlockId(core.nextX(), core.nextY()) == 'lava';\n\t}\n})();", + "snow": "true", "bigKey": "(function () {\n\treturn core.searchBlock('yellowDoor').length > 0;\n})();", "poisonWine": "core.hasFlag('poison');", "weakWine": "core.hasFlag('weak');", diff --git a/project/maps.js b/project/maps.js index 299f4d8c..b21de5b9 100644 --- a/project/maps.js +++ b/project/maps.js @@ -3,17 +3,17 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "1": {"cls":"animates","id":"yellowWall","canBreak":true,"animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, "2": {"cls":"animates","id":"whiteWall","canBreak":true,"animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, "3": {"cls":"animates","id":"blueWall","canBreak":true,"animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, - "4": {"cls":"animates","id":"star"}, - "5": {"cls":"animates","id":"lava"}, + "4": {"cls":"animates","id":"star","name":"星空"}, + "5": {"cls":"animates","id":"lava","name":"岩浆"}, "6": {"cls":"terrains","id":"ice"}, "7": {"cls":"terrains","id":"blueShopLeft"}, "8": {"cls":"terrains","id":"blueShopRight"}, "9": {"cls":"terrains","id":"pinkShopLeft"}, "10": {"cls":"terrains","id":"pinkShopRight"}, - "11": {"cls":"animates","id":"lavaNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 血网的伤害效果移动到 checkBlock 中处理\n\n\t// 如果要做一次性血网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();"}, - "12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行毒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [0] });\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()"}, - "13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行衰处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [1] });\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()"}, - "14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行咒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [2] });\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()"}, + "11": {"cls":"animates","id":"lavaNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 血网的伤害效果移动到 checkBlock 中处理\n\n\t// 如果要做一次性血网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();","name":"血网"}, + "12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行毒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [0] });\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"毒网"}, + "13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行衰处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [1] });\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"衰网"}, + "14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行咒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [2] });\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"咒网"}, "15": {"cls":"animates","id":"blueWater"}, "16": {"cls":"animates","id":"water"}, "20": {"cls":"autotile","id":"autotile"}, @@ -68,12 +68,12 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "71": {"cls":"items","id":"shield0"}, "72": {"cls":"items","id":"skill1"}, "73": {"cls":"items","id":"wand"}, - "81": {"cls":"animates","id":"yellowDoor","trigger":"openDoor","animate":1,"doorInfo":[{"yellowKey":1},"door.mp3","door.mp3"]}, - "82": {"cls":"animates","id":"blueDoor","trigger":"openDoor","animate":1,"doorInfo":[{"blueKey":1},"door.mp3","door.mp3"]}, - "83": {"cls":"animates","id":"redDoor","trigger":"openDoor","animate":1,"doorInfo":[{"redKey":1},"door.mp3","door.mp3"]}, - "84": {"cls":"animates","id":"greenDoor","trigger":"openDoor","animate":1,"doorInfo":[{"greenKey":1},"door.mp3","door.mp3"]}, - "85": {"cls":"animates","id":"specialDoor","trigger":"openDoor","animate":1,"doorInfo":[null,"door.mp3","door.mp3"]}, - "86": {"cls":"animates","id":"steelDoor","trigger":"openDoor","animate":1,"doorInfo":[{"steelKey":1},"door.mp3","door.mp3"]}, + "81": {"cls":"animates","id":"yellowDoor","trigger":"openDoor","animate":1,"doorInfo":[{"yellowKey":1},"door.mp3","door.mp3"],"name":"黄门"}, + "82": {"cls":"animates","id":"blueDoor","trigger":"openDoor","animate":1,"doorInfo":[{"blueKey":1},"door.mp3","door.mp3"],"name":"蓝门"}, + "83": {"cls":"animates","id":"redDoor","trigger":"openDoor","animate":1,"doorInfo":[{"redKey":1},"door.mp3","door.mp3"],"name":"红门"}, + "84": {"cls":"animates","id":"greenDoor","trigger":"openDoor","animate":1,"doorInfo":[{"greenKey":1},"door.mp3","door.mp3"],"name":"绿门"}, + "85": {"cls":"animates","id":"specialDoor","trigger":"openDoor","animate":1,"doorInfo":[null,"door.mp3","door.mp3"],"name":"机关门"}, + "86": {"cls":"animates","id":"steelDoor","trigger":"openDoor","animate":1,"doorInfo":[{"steelKey":1},"door.mp3","door.mp3"],"name":"铁门"}, "87": {"cls":"terrains","id":"upFloor","canPass":true}, "88": {"cls":"terrains","id":"downFloor","canPass":true}, "89": {"cls":"animates","id":"portal","canPass":true}, diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 19d89c27..1dbb0831 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -44,6 +44,8 @@ (已完成!) 读档时色调数据丢失 圆角边框 像素高分辨率问题 +(已完成!) 道具效果优化,删除部分道具相关的开关 +素材列表选择 ------------- From 7134a2faba8999812183ae4ffd125ceb655b71f0 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 13 May 2020 22:47:54 +0800 Subject: [PATCH 66/70] =?UTF-8?q?drawConfirmBox=E5=85=89=E6=A0=87=E8=B7=9F?= =?UTF-8?q?=E9=9A=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor.js | 6 +++++- _server/editor_mappanel.js | 4 ++-- libs/actions.js | 19 +++++++++++++++++++ project/functions.js | 2 +- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/_server/editor.js b/_server/editor.js index 2b1d1f12..ab9abb3b 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -629,7 +629,7 @@ editor.prototype.buildMark = function(){ } } -editor.prototype.setSelectBoxFromInfo=function(thisevent){ +editor.prototype.setSelectBoxFromInfo=function(thisevent, scrollTo){ var pos={x: 0, y: 0, images: "terrains"}; var ysize = 32; if(thisevent==0){ @@ -646,6 +646,10 @@ editor.prototype.setSelectBoxFromInfo=function(thisevent){ } if(pos.x == 0) pos.y+=2; } + if (!editor.isMobile && scrollTo) { + editor.dom.iconLib.scrollLeft = pos.x * 32 - editor.dom.iconLib.offsetWidth / 2; + editor.dom.iconLib.scrollTop = pos.y * ysize - editor.dom.iconLib.offsetHeight / 2; + } editor.dom.dataSelection.style.left = pos.x * 32 + 'px'; editor.dom.dataSelection.style.top = pos.y * ysize + 'px'; editor.dom.dataSelection.style.height = ysize - 6 + 'px'; diff --git a/_server/editor_mappanel.js b/_server/editor_mappanel.js index f810e748..996a66ea 100644 --- a/_server/editor_mappanel.js +++ b/_server/editor_mappanel.js @@ -48,7 +48,7 @@ editor_mappanel_wrapper = function (editor) { if (editor.uivalues.bindSpecialDoor.loc != null) return; var loc = editor.uifunctions.eToLoc(e); var pos = editor.uifunctions.locToPos(loc, true); - editor.setSelectBoxFromInfo(editor[editor.layerMod][pos.y][pos.x]); + editor.setSelectBoxFromInfo(editor[editor.layerMod][pos.y][pos.x], true); return; } @@ -514,7 +514,7 @@ editor_mappanel_wrapper = function (editor) { editor.uifunctions.hideMidMenu(); e.stopPropagation(); var thisevent = editor[editor.layerMod][editor.pos.y][editor.pos.x]; - editor.setSelectBoxFromInfo(thisevent); + editor.setSelectBoxFromInfo(thisevent, true); } /** diff --git a/libs/actions.js b/libs/actions.js index 4d391af5..0a9ed824 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -481,6 +481,9 @@ actions.prototype._sys_onmove_choices = function (x, y) { case 'gameInfo': this._onMoveChoices(x, y); return true; + case 'confirmBox': + this._onMoveConfirmBox(x, y); + return true; default: break; } @@ -925,6 +928,22 @@ actions.prototype._keyUpConfirmBox = function (keycode) { } } +////// 鼠标在确认框上移动时 ////// +actions.prototype._onMoveConfirmBox = function (x, y) { + if (y == this.HSIZE + 1) { + if (x == this.HSIZE - 2 || x == this.HSIZE - 1) { + core.status.event.selection = 0; + core.ui.drawConfirmBox(core.status.event.ui, core.status.event.data.yes, core.status.event.data.no); + return; + } + if (x == this.HSIZE + 2 || x == this.HSIZE + 1) { + core.status.event.selection = 1; + core.ui.drawConfirmBox(core.status.event.ui, core.status.event.data.yes, core.status.event.data.no); + return; + } + } +} + ////// 自定义事件时的点击操作 ////// actions.prototype._clickAction = function (x, y) { if (core.status.event.data.type == 'text') { diff --git a/project/functions.js b/project/functions.js index 0e7cba34..416459c5 100644 --- a/project/functions.js +++ b/project/functions.js @@ -1190,7 +1190,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (value > 0) { damage[loc] = (damage[loc] || 0) + value; type[loc] = type[loc] || {}; - type[loc]["激光伤害"] = true; + type[loc]["夹击伤害"] = true; } } } From 4725bcff9f8cbcf0b94f662ebf2131c643ccc903 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 13 May 2020 23:31:54 +0800 Subject: [PATCH 67/70] =?UTF-8?q?splitLines=E6=A0=87=E7=82=B9=E7=A6=81?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/ui.js | 33 +++++++++++++++++++++++++++++++++ v2.x-final更新.txt | 14 +++++++------- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/libs/ui.js b/libs/ui.js index 71996bdc..b1ca9d0e 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -360,23 +360,56 @@ ui.prototype.splitLines = function (name, text, maxWidth, font) { if (!ctx) return [text]; if (font) core.setFont(name, font); + // 不能在行首的标点 + var forbidStart = "))】》>﹞>)]»›〕〉}]」}〗』" + ",。?!:;·…,.?!:;、……~&@#~&@#"; + // 不能在行尾的标点 + var forbidEnd = "((【《<﹝<([«‹〔〈{[「{〖『"; + var contents = []; var last = 0; + var forceChangeLine = false; // 是否强制换行,避免多个连续forbidStart存在 for (var i = 0; i < text.length; i++) { if (text.charAt(i) == '\n') { contents.push(text.substring(last, i)); last = i + 1; + forceChangeLine = false; } else if (text.charAt(i) == '\\' && text.charAt(i + 1) == 'n') { contents.push(text.substring(last, i)); last = i + 2; + forceChangeLine = false; } else { + var curr = text.charAt(i); var toAdd = text.substring(last, i + 1); var width = core.calWidth(name, toAdd); if (maxWidth && width > maxWidth) { + // --- 当前应当换行,然而还是检查一下是否是forbidStart + if (!forceChangeLine && forbidStart.indexOf(curr) >= 0) { + forceChangeLine = true; + continue; + } contents.push(text.substring(last, i)); last = i; + forceChangeLine = false; + } else { + // --- 当前不应该换行;但是提前检查一下是否是行尾标点 + var curr = text.charAt(i); + if (forbidEnd.indexOf(curr) >= 0 && i < text.length -1) { + // 检查是否是行尾 + var nextcurr = text.charAt(i+1); + // 确认不是手动换行 + if (nextcurr != '\n' && !(nextcurr == '\\' && text.charAt(i+2) == 'n')) { + var toAdd = text.substring(last, i+2); + var width = core.calWidth(name, toAdd); + if (maxWidth && width > maxWidth) { + // 下一项会换行,因此在此处换行 + contents.push(text.substring(last, i)); + last = i; + forceChangeLine = false; + } + } + } } } } diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 1dbb0831..ffcb1d30 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -3,7 +3,7 @@ (已完成!) 3. 请求修复(如果还没修复)core.drawTip()不能使用系统图标和clear参数的bug,建议增加一个参数来表示多帧图块绘制第几帧 (已完成!) 3.1 (“UI绘制”类事件中的“绘制图标”同理) (已完成!\b[up,null]可实现此效果) 4. 建议显示文章的\b[]提供top和bottom这两种新写法来实现在顶部或底部显示对话框,目前只有startText、firstArrive、eachArrive、useItemEvent和公共事件等没有当前点的事件中才能用up和down来临时实现这种效果,否则就得设置剧情文本的属性,这在频繁来回切换时是致命的,就像《无上之光》RMXP版地上40层一样 -5. 建议优化core.splitLines()来避免把单词打断和触犯标点禁则,如点号和右标号禁止用于行首,左标号禁止用于行尾 +(已完成!) 5. 建议优化core.splitLines()来避免把单词打断和触犯标点禁则,如点号和右标号禁止用于行首,左标号禁止用于行尾 (已完成!) 6. core.drawAnimate()和对应的事件,建议增加一个boolean型参数来表示坐标是绝对坐标(即当前的实现)还是在视野中的相对坐标(以13*13为例相对坐标总是在0~12之间),以实现形如“在视野正中心播放某某动画”的需求(小地图可以写6,6,大地图怎么办) (已完成!) 7. 建议把core.playBgm(bgm, startTime)的startTime参数在事件中也提供出来,以用于一些演出(比如适当的剧情处直接从高潮开始)。同理可以让“暂停背景音乐”记录下当前播放到了第几秒,并在“恢复背景音乐”中自动从这个秒数恢复。作者还可以手动配合音量渐变效果 (已完成!) 8. 系统设置菜单中“音量”和“步时”的点击区并不是根据文本长度自动适配的,这导致作者修改文本(包括但不限于翻译)后玩家难以找到准确的点击区,建议优化 @@ -64,7 +64,7 @@ (不处理) 12. (来自鹿神和君浪)坚固属性建议按照描述来,去修改turn或hero_per_damage而不是mon_def(rmxp魔塔的坚固属性是通过一个全局量去指定hero_per_damage的,默认为1)以免和模仿(或者说仿防)冲突 (不处理) 13. 破甲、反击、净化倍率、仇恨增量和是否减半,建议允许使用怪物的属性去覆盖全塔属性中的值,如不同的破甲怪破甲倍率不同 (已完成!) 14. (来自小艾)仇恨伤害和固伤合并进总伤害以免和负伤抵消 -(不处理) 15. 单点阻激夹域和血网伤害同时存在多种时,气泡提示的伤害类型存在覆盖现象,建议优化 +(已完成!) 15. 单点阻激夹域和血网伤害同时存在多种时,气泡提示的伤害类型存在覆盖现象,建议优化 (已完成!) 16. (来自小艾)建议修复瞬移判定无视图快属性script项的bug (已完成!) 17. 建议修复(如果还没修复)core.drawTip()不能使用系统图标和clear参数的bug,并建议增加一个参数来表示多帧图块使用第几帧(UI绘制事件中的绘制图标同理),增加另一个参数来表示32*48图块绘制上2/3(当前实现,和手册一致)还是下2/3 (不处理) 18. (来自群友)推箱子、阻击、捕捉、重生、炸锤和afterXxx事件的系列问题... @@ -73,8 +73,8 @@ (不处理) 21. (来自群友)建议大幅缩减表格的长度,譬如把勾选项和单个数值类紧凑摆放 (已完成!) 22. betweenAttackMax在被四个怪同时夹击时(比如上下楼后或通过事件使勇士和其中一只怪重合了)目前是以上下方向的怪为准,建议在表格注释中予以强调,更合理的做法是在两种怪的战损中取max或min (不处理) 23. displayIdInBook属性不能用于夹击QAQ,同时建议给core.getBlockId()追加一个“如果是怪物,是否按displayIdInBook进行映射”的参数。此外此属性会导致core.hasEnemyLeft()在指定id时失真(不一定是坏事) -(不处理) 24. core.hasEnemyLeft()不应该调用core.getCurrentEnemys(),因为后者是用于手册的,它为了按伤害升序排列而调用了core.getDamageInfo(),而core.getDamageInfo()又会调用core.getEnemyInfo(),但作者完全可能在core.getDamageInfo()或core.getEnemyInfo()中使用core.hasEnemyLeft()判断特定id的怪物是否存在从而实现一些类似光环的效果(如协同),这样就会造成死递归 -(不处理) 25. 建议新增一个类似“勇士转向”的事件指令————“图块转向”,用于NPC甚至怪物(比如基于索引/数字对4取余),毕竟用转变图块的话不够通用 +(已完成!) 24. core.hasEnemyLeft()不应该调用core.getCurrentEnemys(),因为后者是用于手册的,它为了按伤害升序排列而调用了core.getDamageInfo(),而core.getDamageInfo()又会调用core.getEnemyInfo(),但作者完全可能在core.getDamageInfo()或core.getEnemyInfo()中使用core.hasEnemyLeft()判断特定id的怪物是否存在从而实现一些类似光环的效果(如协同),这样就会造成死递归 +25. 建议新增一个类似“勇士转向”的事件指令————“图块转向”,用于NPC甚至怪物(比如基于索引/数字对4取余),毕竟用转变图块的话不够通用 (已完成!) 26. “勇士转向”会导致跟随者聚集,这不利于演出,建议改成像core.turnHero()一样不聚集跟随者 (已完成!) 27. 勇士后退时跟随者很鬼畜,建议优化(每步聚集算是一种简陋的办法) (不处理) 28. 勇士的移动帧只有2,建议改为允许作者指定 @@ -92,7 +92,7 @@ (已修复!) 38.2 移除圣锤道具的定义 (不处理) 39. 建议把样板自带的大部分tools类道具的useItemEffect用useItemEvent重写,以方便作者参照学习(我能说266都几个月了好多新作者和老作者压根不知道useItemEvent的存在吗) (已修复!) 40. 希望显示文章的\b提供top和bottom这两种新写法来实现在顶部或底部显示对话框,目前只有firstArrive和eachArrive等没有当前点的事件中才能用up和down来临时实现这种效果,否则就得设置剧情文本的属性,这在频繁来回切换时是致命的,就像《无上之光》RMXP版地上40层一样 -41. 建议优化core.splitLines()来避免出现标点禁则(如点号和右标号不能用于行首,左标号不能用于行尾),同时也能更好地支持字母文字语言如英语(日语韩语等同样是方块字的倒不要紧) +(已完成!) 41. 建议优化core.splitLines()来避免出现标点禁则(如点号和右标号不能用于行首,左标号不能用于行尾),同时也能更好地支持字母文字语言如英语(日语韩语等同样是方块字的倒不要紧) (已修复!) 42. core.drawAnimate()和对应的事件指令,建议增加一个参数来表示坐标是绝对坐标(即当前的实现)还是在视野中的相对坐标(以13*13为例相对坐标总是在0~12之间),毕竟有些动画按相对坐标绘制才是作者的演出需求。 (不处理) 43. (来自鹿神)希望给animate文件支持多音效、画面闪烁和图块闪烁 (已修复!) 44. 希望给“播放背景音乐”事件像core.playBgm()函数一样添加“从第几秒开始”的参数,以用于一些演出(比如适当的剧情处直接从高潮开始)。同理可以让“暂停背景音乐”记录下当前播放到了第几秒,并在“恢复背景音乐”中自动从这个秒数恢复。作者还可以手动配合音量渐变效果 @@ -104,8 +104,8 @@ (不处理) 50. 建议给录像播放时的N键提供一个对应的移动端操作,以方便移动端作者 (已完成!) 51. 希望给“显示选择项”、“显示确认框”、“等待用户操作”这三个事件添加一个“若多少毫秒内不响应则触发的分支”,用来实现一些QTE,录像中可以记录“choice: timeout”、“confirm: timeout”和“wait: timeout”来表示触发了超时分支 52. 希望给“转变图块”加一个淡入时间参数(显隐和转变图层块也希望加个淡入淡出时间参数,图层块也希望提供移动和跳跃事件),专门用于原本是空地或空气墙的情况。目前要实现这样的效果必须使用红点,然而红点有着“推箱子、阻击、捕捉、重生、炸锤和afterXxx事件”的系列问题,且会导致core.removeBlock()(隐藏事件)退化为core.hideBlock() -53. 希望“移动事件”的移速和淡出速度拆开成两个参数,目前这样捆绑在一起不太自由 -(不处理) 54. 建议把图块属性的noPass改为勾选框而不是下拉框,因为null一定表示不可通行(道具根本没有noPass) +(不处理) 53. 希望“移动事件”的移速和淡出速度拆开成两个参数,目前这样捆绑在一起不太自由 +(已完成) 54. 建议把图块属性的noPass改为勾选框而不是下拉框,因为null一定表示不可通行(道具根本没有noPass) (不处理,可以转变图块) 55. “移动事件”和“跳跃事件”会导致本来勾选了不显伤的怪物突然有了显伤,非常难看,建议优化 (不处理) 56. 希望推出一套能够对跟随者位置和坐标进行读写的API甚至事件指令,并允许这些信息被计入存档,以实现一些演出甚至游戏性效果,如新新2用公主占位防冰块 (不处理) 57. 希望\t[hero]和\t[xxx,hero]能像图块一样绘制原地抖动的4帧全局动画而不是不动,希望能使用勇士的当前朝向而不是一直朝下,希望能使用\t[hero1]和\t[xxx,hero1]这样的写法来使用跟随者的行走图作为头像 From 732a202c04aced419f4df3b1c90b36bd43ed9b0c Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Thu, 14 May 2020 00:20:51 +0800 Subject: [PATCH 68/70] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor_blockly.js | 89 ++++++++++++++++++++++++++++----------- 1 file changed, 65 insertions(+), 24 deletions(-) diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 5008914e..8700041f 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -975,65 +975,104 @@ function omitedcheckUpdateFunction(event) { }).sort(); } + var allIds = core.getAllIconIds(); + var allIconIds = allIds.concat(Object.keys(core.statusBar.icons).filter(function (x) { + return core.statusBar.icons[x] instanceof Image; + })); + var allImages = Object.keys(core.material.images.images); + var allEnemys = Object.keys(core.material.enemys); + var allItems = Object.keys(core.material.items); + var allAnimates = Object.keys(core.material.animates); + var allBgms = Object.keys(core.material.bgms); + var allSounds = Object.keys(core.material.sounds); + var allShops = Object.keys(core.status.shops); + var allColors = ["aqua(湖绿色)", "black(黑色)", "blue(蓝色)", "fuchsia(红紫色)", "gray(灰色)", "green(绿色)", "lime(石灰色)", + "maroon(紫褐色)", "navy(深蓝色)", "gold(金色)", + "olive(黄褐色)", "orange(橙色)", "purple(紫色)", "red(红色)", "silver(银色)", "teal(蓝绿色)", "white(白色)", "yellow(黄色)"]; + + var filter = function (list, content) { + return list.filter(function (one) { + return one != content && one.startsWith(content); + }).sort(); + } + // 对任意图块提供补全 if ((type == 'text_1_s' && name == 'EvalString_1') || (type == 'autoText_s' && name == 'EvalString_1') || (type == 'choices_s' && name == 'IdString_0') || (type == 'choicesContext' && name == 'IdString_0') || (type == 'closeDoor_s' && name == 'IdString_0') || (type == 'setBlock_s' && name == 'EvalString_0') || (type == 'setBgFgBlock_s' && name == 'EvalString_0') || (type == 'drawIcon_s' && name == 'IdString_0') ) { - return core.getAllIconIds().filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allIds, content); } // 对怪物ID提供补全 if ((type == 'idString_3_e' || type == 'battle_s' || type == 'setEnemy_s') && name == 'IdString_0') { - return Object.keys(core.material.enemys).filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allEnemys, content); } // 对道具ID进行补全 if ((type == 'useItem_s' || type == 'loadEquip_s') && name == 'IdString_0') { - return Object.keys(core.material.items).filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allItems, content); } // 对图片名进行补全 if ((type == 'showImage_s' || type == 'showImage_1_s' || type == 'showGif_s' || type == 'setHeroIcon_s' || type == 'follow_s' || type == 'unfollow_s' || type == 'drawImage_s' || type == 'drawImage_1_s') && name == 'EvalString_0') { - return Object.keys(core.material.images.images).filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allImages, content); } // 对动画进行补全 if (type == 'animate_s' && name == 'IdString_0') { - return Object.keys(core.material.animates).filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allAnimates, content); } // 对音乐进行补全 if ((type == 'playBgm_s' || type == 'loadBgm_s' || type == 'freeBgm_s') && name == 'EvalString_0') { - return Object.keys(core.material.bgms).filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allBgms, content); } // 对音效进行补全 if (type == 'playSound_s' && name == 'EvalString_0') { - return Object.keys(core.material.sounds).filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allSounds, content); } // 对全局商店进行补全 if ((type == 'openShop_s' || type == 'disableShop_s') && name == 'IdString_0') { - return Object.keys(core.status.shops).filter(function (one) { - return one != content && one.startsWith(content); - }).sort(); + return filter(allShops, content); + } + + // 对\f进行自动补全 + index = Math.max(content.lastIndexOf("\f["), content.lastIndexOf("\\f[")); + if (index >= 0) { + if (content.charAt(index) == '\\') index++; + var after = content.substring(index + 2); + if (after.indexOf(",") < 0 && after.indexOf("]") < 0) { + return filter(allImages, after); + } + } + + // 对\\i进行补全 + index = content.lastIndexOf("\\i["); + if (index >= 0) { + var after = content.substring(index + 3); + if (after.indexOf("]") < 0) { + return filter(allIconIds, after); + } + } + + // 对\r进行补全 + index = Math.max(content.lastIndexOf("\r["), content.lastIndexOf("\\r[")); + if (index >= 0) { + if (content.charAt(index) == '\\') index++; + var after = content.substring(index + 2); + if (after.indexOf("]") < 0) { + return filter(allColors, after); + } + } + + // 对\进行补全! + if (content.charAt(content.length - 1) == '\\') { + return ["n(换行)", "f(立绘)", "r(变色)", "i(图标)", "z(暂停打字)", "t(标题图标)", "b(对话框)", "c(字体大小)", "d(粗体)", "e(斜体)"]; } return []; @@ -1143,6 +1182,8 @@ Blockly.FieldTextInput.prototype.showInlineEditor_ = function(quietInput) { autoFirst: true, replace: function (text) { text = text.toString(); + var index = text.indexOf("("); + if (index >= 0) text = text.substring(0, index); var value = this.input.value, index = this.input.selectionEnd; if (index == null) index = value.length; if (index < awesomplete.prefix.length) index = awesomplete.prefix.length; From 41a94b968534c2616dd8b727e9e0a83acbe23871 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Thu, 14 May 2020 10:41:16 +0800 Subject: [PATCH 69/70] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor_blockly.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 8700041f..cf6e9248 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -884,6 +884,8 @@ function omitedcheckUpdateFunction(event) { editor_blockly.getAutoCompletions = function (content, type, name) { // --- content为当前框中输入内容;将返回一个列表,为后续所有可补全内容 + // console.log(type, name); + // 检查 status:xxx,item:xxx和flag:xxx var index = Math.max(content.lastIndexOf(":"), content.lastIndexOf(":")); if (index >= 0) { @@ -986,10 +988,9 @@ function omitedcheckUpdateFunction(event) { var allBgms = Object.keys(core.material.bgms); var allSounds = Object.keys(core.material.sounds); var allShops = Object.keys(core.status.shops); - var allColors = ["aqua(湖绿色)", "black(黑色)", "blue(蓝色)", "fuchsia(红紫色)", "gray(灰色)", "green(绿色)", "lime(石灰色)", - "maroon(紫褐色)", "navy(深蓝色)", "gold(金色)", - "olive(黄褐色)", "orange(橙色)", "purple(紫色)", "red(红色)", "silver(银色)", "teal(蓝绿色)", "white(白色)", "yellow(黄色)"]; - + var allColors = ["aqua(青色)", "black(黑色)", "blue(蓝色)", "fuchsia(品红色)", "gray(灰色)", "green(深绿色)", "lime(绿色)", + "maroon(深红色)", "navy(深蓝色)", "gold(金色)", "olive(黄褐色)", "orange(橙色)", "purple(品红色)", + "red(红色)", "silver(淡灰色)", "teal(深青色)", "white(白色)", "yellow(黄色)"]; var filter = function (list, content) { return list.filter(function (one) { return one != content && one.startsWith(content); @@ -1001,7 +1002,7 @@ function omitedcheckUpdateFunction(event) { || (type == 'choices_s' && name == 'IdString_0') || (type == 'choicesContext' && name == 'IdString_0') || (type == 'closeDoor_s' && name == 'IdString_0') || (type == 'setBlock_s' && name == 'EvalString_0') || (type == 'setBgFgBlock_s' && name == 'EvalString_0') || (type == 'drawIcon_s' && name == 'IdString_0') - ) { + || (type == 'shopsub' && name == 'IdString_1') || (type == 'shopChoices' && name == 'IdString_0')) { return filter(allIds, content); } From 48bd70fbdee5ac33fbb41fe46e0f77598a88fa56 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Thu, 14 May 2020 14:17:18 +0800 Subject: [PATCH 70/70] afterGetItem disableOnGentleClick --- _server/MotaAction.g4 | 22 ++++++++++++++++------ libs/events.js | 12 ++++++------ project/functions.js | 10 ++++++++-- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index e41b39a0..f720c1d3 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -34,7 +34,7 @@ autoEvent_m /* autoEvent_m -tooltip : ????? +tooltip : 自动事件 helpUrl : https://h5mota.com/games/template/_docs/#/event default : ["flag:__door__==2",0,true,false,false,null] var code = { @@ -140,7 +140,7 @@ helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80% default : ["攻击+1","status:money>=20+2*flag:shop1","","","rgba(255,255,255,1)",""] colour : this.subColor ColorString_0 = ColorString_0 ? (', "color": ['+ColorString_0+']') : ''; -EvalString_2 = EvalString_2 && (', "condition": "'+EvalString_1+'"') +EvalString_2 = EvalString_2 && (', "condition": "'+EvalString_2+'"') IdString_0 = IdString_0? (', "icon": "'+IdString_0+'"'):''; var code = '{"text": "'+EvalString_0+'", "need": "'+EvalString_1+'"'+IdString_0+ColorString_0+EvalString_2+', "action": [\n'+action_0+']},\n'; return code; @@ -220,14 +220,17 @@ return code; //afterGetItem 事件编辑器入口之一 afterGetItem_m - : '获取道具后' BGNL? Newline action+ BEND + : '获取道具后' '轻按时不触发' Bool BGNL? Newline action+ BEND /* afterGetItem_m tooltip : 系统引发的自定义事件 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 -var code = '[\n'+action_0+']\n'; -return code; +if (Bool_0) { + return '{"disableOnGentleClick": true, "data": [\n'+action_0+']\n}'; +} else { + return '[\n'+action_0+']\n'; +} */; //afterOpenDoor 事件编辑器入口之一 @@ -2703,7 +2706,7 @@ IgnoreChangeFloor_List /*IgnoreChangeFloor_List ['null','true','false']*/; Event_List - : '事件'|'战后事件'|'道具后事件'|'开门后事件' + : '普通事件'|'战后事件'|'道具后事件'|'开门后事件' /*Event_List ['null','afterBattle','afterGetItem','afterOpenDoor']*/; Floor_Meta_List @@ -2880,6 +2883,13 @@ ActionParser.prototype.parse = function (obj,type) { obj.floorType||'floorId',obj.floorId,obj.stair||'loc',obj.loc[0],obj.loc[1],obj.direction, obj.time,obj.ignoreChangeFloor ]); + + case 'afterGetItem': + if (!obj) obj = []; + if (obj instanceof Array) obj = {'data': obj}; + return MotaActionBlocks['afterGetItem_m'].xmlText([ + obj.disableOnGentleClick||false, this.parseList(obj.data) + ]); case 'level': if(!obj)obj={}; diff --git a/libs/events.js b/libs/events.js index 6c173718..ea9a45b4 100644 --- a/libs/events.js +++ b/libs/events.js @@ -486,11 +486,11 @@ events.prototype.afterOpenDoor = function (doorId, x, y, callback) { } events.prototype._sys_getItem = function (data, callback) { - this.getItem(data.event.id, 1, data.x, data.y, callback); + this.getItem(data.event.id, 1, data.x, data.y, false, callback); } ////// 获得某个物品 ////// -events.prototype.getItem = function (id, num, x, y, callback) { +events.prototype.getItem = function (id, num, x, y, isGentleClick, callback) { if (num == null) num = 1; num = num || 1; var itemCls = core.material.items[id].cls; @@ -519,11 +519,11 @@ events.prototype.getItem = function (id, num, x, y, callback) { itemHint.push(id); } - this.afterGetItem(id, x, y, callback); + this.afterGetItem(id, x, y, isGentleClick, callback); } -events.prototype.afterGetItem = function (id, x, y, callback) { - this.eventdata.afterGetItem(id, x, y, callback); +events.prototype.afterGetItem = function (id, x, y, isGentleClick, callback) { + this.eventdata.afterGetItem(id, x, y, isGentleClick, callback); } ////// 获得面前的物品(轻按) ////// @@ -551,7 +551,7 @@ events.prototype._getNextItem = function (direction, noRoute) { var nx = core.getHeroLoc('x') + core.utils.scan[direction].x; var ny = core.getHeroLoc('y') + core.utils.scan[direction].y; if (!noRoute) core.status.route.push("getNext"); - this.getItem(core.getBlockId(nx, ny), 1, nx, ny); + this.getItem(core.getBlockId(nx, ny), 1, nx, ny, true); return true; } diff --git a/project/functions.js b/project/functions.js index 416459c5..3490a227 100644 --- a/project/functions.js +++ b/project/functions.js @@ -380,6 +380,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 开一个门后触发的事件 var todo = []; + // 检查该点的获得开门后事件。 var event = core.floors[core.status.floorId].afterOpenDoor[x + "," + y]; if (event) core.unshift(todo, event); @@ -392,13 +393,18 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (callback) callback(); }, - "afterGetItem": function (itemId, x, y, callback) { + "afterGetItem": function (itemId, x, y, isGentleClick, callback) { // 获得一个道具后触发的事件 + // itemId:获得的道具ID;x和y是该道具所在的坐标 + // isGentleClick:是否是轻按触发的 core.playSound('item.mp3'); var todo = []; + // 检查该点的获得道具后事件。 var event = core.floors[core.status.floorId].afterGetItem[x + "," + y]; - if (event) core.unshift(todo, event); + if (event && (event instanceof Array || !isGentleClick || !event.disableOnGentleClick)) { + core.unshift(todo, event); + } if (todo.length > 0) core.insertAction(todo, x, y);

6j*To9XdPhFF%+d!skVtF!37uKeysK9O3 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

qZiPphZP|WNZoH7p`ynVje$r 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/39.jpg b/_docs/img/events/39.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d30c8d79097468ba2ef538c3a4e0158e7eb4f80d GIT binary patch literal 41911 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/40.jpg b/_docs/img/events/40.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e10f56b719cb952d8e9eef495653fc28747ff52c GIT binary patch literal 27105 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/42.jpg b/_docs/img/events/42.jpg new file mode 100644 index 0000000000000000000000000000000000000000..24d0c2f46dfba116f6c5ddbf238655c62379df86 GIT binary patch literal 27982 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 Rusbz(srE5~oA>|U1OQ%y`Mv-E literal 0 HcmV?d00001 diff --git a/_docs/img/events/45.jpg b/_docs/img/events/45.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44dec550084e3525bc0f932624b5e5f379716f80 GIT binary patch literal 20178 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

@@ -226,6 +247,7 @@ 语法检查 +
@@ -288,10 +310,16 @@ - +
+ +
@@ -325,7 +354,7 @@ + + @@ -522,23 +584,29 @@ + - + + - - - + + + + + + + - - - + + + + + diff --git a/editor.html b/editor.html index 7953d7ba..0e26d46f 100644 --- a/editor.html +++ b/editor.html @@ -4,6 +4,7 @@ + @@ -71,6 +72,8 @@ + +   自动注册

色相: @@ -96,7 +99,7 @@

-

地图选点     +

地图选点      

0,0

@@ -117,6 +120,23 @@

图块属性        

+
+
+ + + + + + + + +
条目注释
+
+
+ + +
+
@@ -124,18 +144,9 @@
-
-
- - - - - - - - -
条目注释
-
+
+ +
@@ -154,6 +165,10 @@
+
+ + +
@@ -182,6 +197,7 @@ --> @@ -198,12 +215,15 @@
- -
+ + + + + 开启中文名替换

Qv9a1id$1h{kuJfkYR+%vw&8<3c%c$jh zwga3L7T|l2dqjy2;Luu2_ED8(iEhyC+`)1;MnQjk?#=3ycmndN?9c`Qus9|nH=K+6 zm-Uc{tQuM3kv-A&vyGU~U9G|03Lo#PG&I-0kSG=3!{oa6k|#W5})H-Fw*0VVaB948{& zXUo(ZNG7hP1T>;}Fn@bSS30r2 zg)WTOY^|!{E!4aCIt@8-`Mjd_qkgWPaRwoMGOLd7jY{pIwq+aUm7eVI*k(u;k^%rX z`eouHWptDK3xioG3@MfH-e7cq1FL${1#5I&%4`N}PZA=}#H@Yvte*HSd}S(Bq1b*AdXR;nqWA^1|hbp`?mlNAryT>`NcNV=3aZ18ZAV>t<5m z4+8fyK;pb0XhefVZ|FWdw6mu{po<}aNvT?rwKZU@3%-eOn`Wd46MBGj`cKe0sR|uU z9H8aU?TML>^b_uF8=;UW^SYzwPD49Da0L;t>A_2bF+J{1L7}Cd8L6u)4Y*H{%-D}~O>aD&k0<{7^s^{f zop8CTtLhu0^&JwxIwC<7=cLg=fIE{dd^&Rtju{?PX{@)&xW>SIE;sBtR7R<{z8WRkY#drSm9Tghl(>Zj z&qC*lW}wj9=9`k_M<5EfAo@jcVtWJByW(}?o(BrP+GMSL(Z(&V$f=sd+w=EmI!1K@ zHfvwU>y#CrXHFpE;3veFC^A`chd1srx zzl47yh~E`G>Ehjb`?2S`z&Y5!Zle@J`qt7D$9>zuqElhViAe_rQsq?L3}Z7{@Dpp` zKBHWHO#T4?Q46qt^W#~-4>FtvSl=Xk1w@uxnX2=jc;^>Zj#FAp%4Qqx1ME#ocijSG zR6BQfS10>v)8uiS{g58>?a%P1RD$m?a=tLpjQJp-U5BOKM4ZS?+&WMkiR#?i>l(U0 z1@OdN`LxY9nY9~I*wu~+q|Rb#UySrNFzW|D)c%_QP=`}rO5m=nex6>|@_?e!caq0^qgXLm zNC>DcM+x65+2UDIzJ*OgpcU0brf)`m**&EQn;{hyFYwL`f4~sO#E!m4DS#jCdbiF3O&G?NN5|eemMmJN3!!7jqYu%wxCZGV7 zzv(-JBh`RJ6_Laj`SW@^WzS=wJJ+(`kh&#u%K3@jj*E(BLmA-{kueXB{|(MM$arP1 zBs?wx>pUht&!9ZAjXf_-Bq8%P@oSm6=MJRYwk9*e5iJ0t-8qxBnt~La&v7o(CkK*- zT=BMk%0@hBAn=bHz}>Ax+uEYY-V^$_Y^C6WX7MbV`S;x}c}A?zH!t1t>Fm7F4Bq~j ztM76A^3N&%vYQ5fOL_6R-lZ{Uo0T^0&(f{;ndInS;BPfbMa`9u3_k=}L)9H`WaEvlz}hyT1*Mw9h4w6lHA3qSI9#HQRlL#vfa zAS!AaHAYc?YQcp2p2%hCHX6X*#)f2F=Hs3-91K8e2;0`}8&&P6mamk?z(8a9>^SZ> zkR3GJA3)A4vFy+&;sk1NC(^cRgOe|uATpPlLyJPINTh)T3~`GFYtdn%j_Y^dnNw5< z>DyPZHmp`C^!i&Aja(f_dEDdQa%6r=XvB;LGZ=jaiY@f|H22~v4%jbqTse4lNHb8; zYbtn>AV(drb}3Z}s27Bg>yZvrN9A9~NzC9~$@^x>FU`QJc)wJ=M#4cQRl97ce90sp z$F+#qcanRTLv$QlJ&N++fl9|T20$;hl{XA8a4T6_nOuy)#MyiMf=ULI@taj^mqmh> zM|)?wuD26eFt5v5yr(6l%Ph8T5{a!5Gs(+IjU|J|JqJq8gNw69GVt621kDfM{{c+` zVc)ok)Cjs8wx$3()p-$L|CA;1y5hr}cF$gw|LN|(PM8Pg9~>h}2Zu+dr-^FRXpmp= z$8z*^V^DR3wdZd@87l_mvDI+x9!EyQPXF~XiPiUH*||pjF5(L(>zY|*v6D7V+$Zoh zGuG-l&;7DJ2O61UT!Z^4KvQ_7MM@%;-m3iDw_^Ec*Yz(+0LXi+FxaXUBj%GgPo|6n zP%%P}iF}-$o7N}-Sl474wJ`Nug*Uw#i8%iIS4Kagos>Vs@Ar|EeM*N;%O=oFM{@z+ z^XNjmptD@ST{{mhNrZGd5z?9Cb>E%1dw*qc`$tJ;))%VGAf?PC9Y=}G(3aP|)x zV7W_E9*(Bu^-MtDSX)cH%T$QqW}SXS#8G=M$Vrp_WqOLasw$C)`*Snul#D;U6sZ5T zJ|^7HxYi$|v}S~JR0d2-X=y{GW?J7&3N+HOT%eNety}@z4+ie0u4_iX4hshIPafu2 z25PG&!Pj&C?kR`KZ z9fM70!b3+DL3Dp@dwK!JSl+E}CC=dcr=AS%w=D{%HSkoB^5hka5xp*gow)Vv)3OEs zXF%H#X+-|Rk0H_-Hk2UH!lFDsJE_;c=z2txSoIIU3e>3;$o~4-BKnJ&5+q*0Ntek( zOS_gmcgDEPFr-}P8fr4+^&Yt{cq6)hJGH5PQL3}dc(j_mW=jV2l=5*xI7{GQmnX%F z^n%M-=AxK8%Vtuyt2K^Ayf|eHnvbJ;JfmDO)wH3;wi}=E{cHBh0nkDgOk`R>b5nL` z@P0P&^km4I_>;}U^( z5?sl%CM8C2TQ$H<(lDsFX zCjohnB$8bJA^AqkOGySl$$$NF|I1A)9?2vEbHjix%UC6--K9^xf~?*h$L38m?T-u~ z31NsO*qTa7^UP%I zFxTK8IrK1$QQIJ$wUF>6UG7UKDe<{kBos>Y?h94K12(Gj__DU8WocjVrC?T8sf&yW z*)Bx9_}twSdv9QB#o0Np9S><^-$hVRVR05aY)n{4{S5tb zBW_PL`ifdVe|AhvmY}MSV@_bH~Z`)sCNv=dj;{G=O FzW_-)T801s literal 0 HcmV?d00001 diff --git a/_docs/img/events/48.jpg b/_docs/img/events/48.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2086b1c3f57eb4aeb43f28f85372b12b65ffa0fe GIT binary patch literal 51611 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/49.jpg b/_docs/img/events/49.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f81e04519a9bb457b6c4e1a6fdb22515b7583a40 GIT binary patch literal 34292 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/5.jpg b/_docs/img/events/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..333c972cc7ae6daa808d1068a1f48f27f8c16c90 GIT binary patch literal 30127 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 NzpGD;-TF26zX0|@F5v(G literal 0 HcmV?d00001 diff --git a/_docs/img/events/50.jpg b/_docs/img/events/50.jpg new file mode 100644 index 0000000000000000000000000000000000000000..568eabf001c3ad62ef61f3aeb0f1cff134e5b0d2 GIT binary patch literal 28588 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�E5;;60!tdkyzh`_Hr(K>6iGmT>GcUbEpi*wz?;D>^j!{OaI6L<$U(TpXL`A%m0UpWD})G{QB7m$>^6XSB5 zIk9k6spAp@<;wW#SL0&BDjzeAPWn`8`(b6y=vVB?c|a^dFt=Xa8-vjfc`auK;n&~r zn8)6D?E8_-Z9+^1I1kSAIU7TcfDWJ_QF}64*Q5}NG?hO2)V`R=50S$Ms}G9Y@?g&~ z%+H4!lWasjKw)~g9a319t!oN1?{N;-JuxYsp~G@iCY9Rl8YlW(bMR5#`nK3DFK<-p<)uZr zduaQ0ytq6SC7KBq%bNERNauQAF9}pbg4DEikJPR&xmJSILLS0kIf7$WhAfgEaOb|?c@ zgrJl7-JOpKJbk3_VWcD7eWyzy1`L}?*-~3BORS0MlL*Fdc&4o_hXE%=VUwZW08}d<&$Zg4;?Mz-iY*k!`m~d`6>XpW(T$VgfCZdF5mXEDKd-# z3hq$=8%*(fwVRTy$J6YnYrk06Dbuv==8#}3b#nsL(`IZ?T{v1qJ&uddel&Cj(L&YA zc_Du17E#*ib29_ZzZM}=C-90DzM6@cg1TSwRcih9`>#d1l=d_He-)*_D(0Unikxk= zMPtpqGOR|uizQ6m2j2{fhaWhrZ*I?_bl7f< za{=!OW>YC|S8PfJox@gi0IJ_q?@zmUl;`DyS5o-Ab}Fyy@x)HIH#sUPQRLuuJyyVO z@LSksn2ME3H^j1JbWuA6qCLyfE>Q-egw0za_j`GA-J>W48=Gemp{zeYOE0w#eo40^ zIsM7xPT*+Z#lZ3FH?wcyM||a3rSqtSc*EYbGwk;_&yk@oGj_YMjR2zEG|Ze~p-m+W zYU-~sgAhv6^VT(#*o|k_4oR8Qx4Nbo9jPfqirhZS+_2U29&%`U=@NC5|AZ-Na zF4Ha(H5Xyo!{2rIa|bFa_5HUj9vVtyQk+{*_?W!4q^IfqL@_@|sGdU8E2YAi^xVcp X-~7~{)Zen&>`ZsSz7GWf-#+{o0JOm{ literal 0 HcmV?d00001 diff --git a/_docs/img/events/52.png b/_docs/img/events/52.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0c13c8e3cecf4633d6632029f4a7ac9b48b1a3 GIT binary patch literal 106169 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 z zzO|oFNwW9mw7vN7MVBONWiV!G@>S*__B@0A{WHR5ZFb#H&o88XzPA^iWZy#c%p1qS zGfV7qXiUj)J^UB}2EvF0ut-#!V0-#$MBy@0;t@#fg#5jYxXt7u38=g$%w$^$=M)q9 zd>}a<=4^rW*@#357Dfu>)Nrg~!YUTP*!3Pxh2if0(us6lNT&BH}P3MlKbV%);!B#ZE*T*VVi1>Qe z2Ql48A+H2)uSi1j^iY$C4H4DSS^jskOYQ z(o%E*if6tIGu;qR>nR(o*xO0c1cb%%Su_61y>6wxc20$U-TLjDQK&b%10OucfDjn_ z#Apjr-d0{Ec{PDG`s^Qz34Bq4^Z+b(4JK{|�(dlQ(Fxgm!A4C1Ag4G@50x*NaJl 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�L4l-b=$-Q`Fpqb{>V_g61){xncx@qNHA4W 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/53.jpg b/_docs/img/events/53.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3e488bbd4e1b5b2d8291e8169b6d17ab28adb1d GIT binary patch literal 31300 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/54.jpg b/_docs/img/events/54.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6dbfc95eeaee5aad120c0c195303a89184da32d8 GIT binary patch literal 31407 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/56.jpg b/_docs/img/events/56.jpg new file mode 100644 index 0000000000000000000000000000000000000000..15fac681cce5e8bd365a5376c9872ef86a5339bf GIT binary patch literal 19057 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

4*xg*g)SLK7c`aGJKnEV?)7G8G$K>@`9qO>{?wc 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 literal 0 HcmV?d00001 diff --git a/_docs/img/events/58.jpg b/_docs/img/events/58.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e9ff8af95b46c4a3452cddf51ebf60d06726f7bb GIT binary patch literal 30515 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 I;G3!c4;5j782|tP literal 0 HcmV?d00001 diff --git a/_docs/img/events/60.jpg b/_docs/img/events/60.jpg new file mode 100644 index 0000000000000000000000000000000000000000..408cebb3847b25c0cffaceeaf8c681eba2bfa2aa GIT binary patch literal 27043 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

FV5v# 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 P|IWr~{~aySui5_w519d{ literal 0 HcmV?d00001 diff --git a/_docs/img/events/7.png b/_docs/img/events/7.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f60686acf621fce34c2edfd13bd0e76773b822 GIT binary patch literal 191674 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

fK~VnmMhbj@nllr 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 F{{WtnPi+7I literal 0 HcmV?d00001 diff --git a/_docs/img/events/8.jpg b/_docs/img/events/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c78a3131595f269fc534b6ed10c56227d1136bb GIT binary patch literal 18909 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 literal 0 HcmV?d00001 diff --git a/_docs/index.md b/_docs/index.md index d2f290e2..d3943d2c 100644 --- a/_docs/index.md +++ b/_docs/index.md @@ -1,6 +1,6 @@ # HTML5 魔塔样板说明文档 -?> 目前版本**v2.6**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6**,上次更新时间:* {docsify-updated} * 众所周知,魔塔的趋势是向移动端发展,贴吧中也常常能见到“求手机魔塔”的帖子。然而现有的工具中,NekoRPG有着比较大的局限性,游戏感较差,更是完全没法在iOS上运行。而一些APP的魔塔虽然可用,但是必须要下载安装,对于Android和iOS还必须开发不同的版本,非常麻烦。 diff --git a/_docs/personalization.md b/_docs/personalization.md index c8f517e6..ca4755ae 100644 --- a/_docs/personalization.md +++ b/_docs/personalization.md @@ -1,6 +1,6 @@ # 个性化 -?> 目前版本**v2.6**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6**,上次更新时间:* {docsify-updated} * 有时候只靠样板本身可能是不够的。我们需要一些个性化、自定义的素材,道具效果,怪物属性,等等。 @@ -22,6 +22,7 @@ HTML5魔塔是使用画布(canvas)来绘制,存在若干个图层,它们 - paint**[D]**:绘图层;主要用来进行绘图模式。(z-index: 95) - curtain:色调层;用来控制当前楼层的画面色调 (z-index: 125) - image1\~50**[D]**:图片层;用来绘制图片等操作。(z-index: 100+code, 101~150) +- uievent**[D]**:自定义UI绘制层;用来进行自定义UI绘制等操作。(z-index:135,可以通过事件设置该值) - ui:UI层;用来绘制一切UI窗口,如剧情文本、怪物手册、楼传器、系统菜单等等 (z-index: 140) - data:数据层;用来绘制一些顶层的或更新比较快的数据,如左上角的提示,战斗界面中数据的变化等等。 (z-index: 170) @@ -29,6 +30,8 @@ HTML5魔塔是使用画布(canvas)来绘制,存在若干个图层,它们 而,色调层的z-index是25,ui层的z-index是140;因此,图片编号在1~24的将被色调层遮挡,25~40的将被ui层遮挡,41~50的将遮挡UI层。 +uievent层为自定义UI绘制所在的层,其z值初始是135,可以通过事件设置;自定义绘制的闪烁光标所在层的z值永远比该值大1。 + ### 动态创建canvas 从V2.5.3开始,可以在H5样板中任意动态创建canvas并进行使用。 @@ -559,8 +562,6 @@ core.statusBar.speed.innerHTML = core.getFlag('speed', 0); 如果flag:skill不为0,则代表当前处于某个技能开启状态,且状态栏显示flag:skillName值。伤害计算函数中只需要对flag:skill进行处理即可。 -!> 关于魔力上限:样板中默认没有提供status:manamax - ### 状态栏的显示 从V2.5开始,魔力值和技能名的状态栏项目已经被添加,可以直接使用。 diff --git a/_docs/script.md b/_docs/script.md index 96a48838..76903d02 100644 --- a/_docs/script.md +++ b/_docs/script.md @@ -1,6 +1,6 @@ # 脚本 -?> 目前版本**v2.6**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6**,上次更新时间:* {docsify-updated} * 在V2.6版本中,基本对整个项目代码进行了重写,更加方便造塔者的使用和复写函数。 @@ -224,7 +224,11 @@ function () { - 清晰明了。很容易方便知道自己修改过什么,尤其是可以和系统原有代码进行对比。 - 方便整理成新的插件,给其他的塔使用。 -如果我想对xxx文件中的yyy函数进行重写,其模式一般是:`core.xxx.yyy = function (参数列表) { ... }` +一般而言,复写规则如下: + +**对xxx文件中的yyy函数进行复写,规则是`core.xxx.yyy = function (参数列表) { ... }`。** + +但是,对于`registerXXX`所注册的函数是无效的,例如直接复写`core.control._animationFrame_globalAnimate`函数是没有效果的。对于这种情况引入的函数,需要注册同名函数,可参见最下面的样例。 下面是几个例子,从简单到复杂。 @@ -317,6 +321,32 @@ core.maps.drawMap = function (floorId, callback) { 详见[call和apply的用法](https://www.jianshu.com/p/80ea0d1c04f8)。 +### 复写全局动画绘制函数 + +全局动画绘制在`control.js`的`_animationFrame_globalAnimate`函数。 + +注意到此函数是由`registerAnimationFrame`注册的,因此直接复写是无效的。 + +其在control.js的注册的定义如下: + +```js +// 注册全局动画函数 +this.registerAnimationFrame("globalAnimate", true, this._animationFrame_globalAnimate); +``` + +因此,可以在插件中自行注册一个**同名**的函数来覆盖原始的内容。 + +```js +// 插件中复写全局动画绘制函数 +this.myGlobalAnimate = function (timestamp) { + // ...... 实际复写的函数内容 +} + +// 注册同名(globalAnimate)函数来覆盖系统原始内容 +core.registerAnimationFrame("globalAnimate", true, "myGlobalAnimate"); +``` + + ========================================================================================== [继续阅读下一章:API列表](api) diff --git a/_docs/start.md b/_docs/start.md index 004ea21f..880bfd08 100644 --- a/_docs/start.md +++ b/_docs/start.md @@ -1,6 +1,6 @@ # 快速上手 -?> 目前版本**v2.6**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.6.6**,上次更新时间:* {docsify-updated} * 在这一节中,将详细介绍做一部塔的流程。现在,让我们来做一部单层塔! @@ -235,7 +235,7 @@ HTML5的塔都是可以进行控制台调试的。 ## 编辑器的基本操作 -- **Alt+0~9, Ctrl+0~9** 保存和读取当前选中图块 +- **Alt+0~9, 0~9** 保存和读取当前选中图块 - **W/A/S/D** 移动大地图 - **Ctrl+Z** 撤销上次绘图 - **Ctrl+Y** 重做上次绘图 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index b9bf42d0..5bc7ce65 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -10,7 +10,7 @@ event_m /* event_m tooltip : 编辑魔塔的事件 -helpUrl : https://h5mota.com/games/template/docs/#/event +helpUrl : https://h5mota.com/games/template/_docs/#/event default : [false,null,null,null,null] B_0_List_0=eval(B_0_List_0); var code = { @@ -26,6 +26,27 @@ return code; */; +//自动事件 事件编辑器入口之一 +autoEvent_m + : '自动事件:' '触发条件' EvalString '优先级' Int BGNL? Newline '仅在本层检测' Bool '事件流中延迟执行' Bool '允许多次执行' Bool BGNL? Newline action+ BEND + + +/* autoEvent_m +tooltip : ????? +helpUrl : https://h5mota.com/games/template/_docs/#/event +default : ["flag:__door__==2",0,true,false,false,null] +var code = { + "condition": EvalString_0, // 条件不可为null + "currentFloor": Bool_0, // 是否仅在本层检测 + "priority": Int_0, // 优先级 + "delayExecute": Bool_1, // 延迟执行 + "multiExecute": Bool_2, // 是否允许多次执行 + "data": 'autoEvent_asdfefw', // 事件列表 +}; +code=JSON.stringify(code,null,2).split('"autoEvent_asdfefw"').join('[\n'+action_0+']\n'); +return code; +*/; + //升级 事件编辑器入口之一 level_m : '等级提升' BGNL? Newline levelCase+ BEND @@ -33,7 +54,7 @@ level_m /* level_m tooltip : 升级事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e7%bb%8f%e9%aa%8c%e5%8d%87%e7%ba%a7%ef%bc%88%e8%bf%9b%e9%98%b6%2f%e5%a2%83%e7%95%8c%e5%a1%94%ef%bc%89 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%bb%8f%e9%aa%8c%e5%8d%87%e7%ba%a7%ef%bc%88%e8%bf%9b%e9%98%b6%2f%e5%a2%83%e7%95%8c%e5%a1%94%ef%bc%89 var code = '[\n'+levelCase_0+']\n'; return code; */; @@ -44,7 +65,7 @@ levelCase /* levelCase tooltip : 升级设定 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e7%bb%8f%e9%aa%8c%e5%8d%87%e7%ba%a7%ef%bc%88%e8%bf%9b%e9%98%b6%2f%e5%a2%83%e7%95%8c%e5%a1%94%ef%bc%89 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%bb%8f%e9%aa%8c%e5%8d%87%e7%ba%a7%ef%bc%88%e8%bf%9b%e9%98%b6%2f%e5%a2%83%e7%95%8c%e5%a1%94%ef%bc%89 default : [0,"",false,null] colour : this.subColor Bool_0 = Bool_0?', "clear": true':''; @@ -58,13 +79,14 @@ shop_m /* shop_m tooltip : 全局商店列表 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 var code = '['+shoplist_0+']\n'; return code; */; shoplist : shopsub + | shopitem | shopcommonevent | emptyshop ; @@ -79,11 +101,11 @@ return code; */; shopcommonevent - : '商店 id' IdString '快捷商店栏中名称' EvalString BGNL? '未开启状态则不显示在列表中' Bool BGNL? '执行的公共事件 id' EvalString '参数列表' EvalString? + : '公共事件版商店 id' IdString '快捷商店栏中名称' EvalString BGNL? '未开启状态则不显示在列表中' Bool BGNL? '执行的公共事件 id' EvalString '参数列表' EvalString? /* shopcommonevent tooltip : 全局商店, 执行一个公共事件 -helpUrl : https://h5mota.com/games/template/docs/#/ +helpUrl : https://h5mota.com/games/template/_docs/#/ default : ["shop1","回收钥匙商店",false,"回收钥匙商店",""] if (EvalString_2) { if (EvalString_2.indexOf('"')>=0) @@ -109,12 +131,12 @@ return code; */; shopsub - : '商店 id' IdString '标题' EvalString '图标' IdString BGNL? Newline '快捷商店栏中名称' EvalString '共用times' Bool BGNL? Newline '未开启状态则不显示在列表中' Bool BGNL? NewLine '使用' ShopUse_List '消耗' EvalString BGNL? Newline '显示文字' EvalString BGNL? Newline shopChoices+ BEND + : '商店 id' IdString '标题' EvalString '图标' IdString BGNL? Newline '快捷商店栏中名称' EvalString '共用times' Bool BGNL? Newline '未开启状态则不显示在列表中' Bool BGNL? Newline '使用' ShopUse_List '消耗' EvalString BGNL? Newline '显示文字' EvalString BGNL? Newline shopChoices+ BEND /* shopsub tooltip : 全局商店,消耗填-1表示每个选项的消耗不同,正数表示消耗数值 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 default : ["shop1","贪婪之神","blueShop","1F金币商店",false,false,null,"20+10*times*(times+1)","勇敢的武士啊, 给我${need}金币就可以:"] var code = { 'id': IdString_0, @@ -138,7 +160,7 @@ shopChoices /* shopChoices tooltip : 商店选项,商店消耗是-1时,这里的消耗对应各自选项的消耗,商店消耗不是-1时这里的消耗不填 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 default : ["攻击+1",""] colour : this.subColor EvalString_1 = EvalString_1 && (', "need": "'+EvalString_1+'"'); @@ -156,6 +178,45 @@ var code = idString_e_0+'+='+expression_0+';' return code; */; +shopitem + : '道具商店 id' IdString '快捷商店栏中名称' EvalString BGNL? '未开启状态则不显示在列表中' Bool BGNL? Newline shopItemChoices+ BEND + + +/* shopitem +tooltip : 道具商店 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 +default : ["itemShop","道具商店",false] +var code = { + 'id': IdString_0, + 'item': true, + 'textInList': EvalString_0, + 'mustEnable': Bool_0, + 'choices': 'choices_aqwedsa' +} +code=JSON.stringify(code,null,2).split('"choices_aqwedsa"').join('[\n'+shopItemChoices_0+']\n')+',\n'; +return code; +*/; + +shopItemChoices + : '道具名' IdString '存量' EvalString? '买入价格' EvalString? '卖出价格' EvalString? '出现条件' EvalString? BEND + + + +/* shopItemChoices +tooltip : 道具商店选项,每一项是道具名;买入或卖出可以不填表示只能卖出或买入 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97 +default : ["yellowKey","","10","",""] +colour : this.subColor +if (EvalString_0 && !/^\d+$/.test(EvalString_0)) throw "存量必须不填或非负整数"; +EvalString_0 = EvalString_0 ? (', "number": '+EvalString_0) : ''; +EvalString_1 = EvalString_1 ? (', "money": "'+EvalString_1+'"') : ''; +EvalString_2 = EvalString_2 ? (', "sell": "'+EvalString_2+'"') : ''; +if (!EvalString_1 && !EvalString_2) throw "买入金额和卖出金额至少需要填写一个"; +EvalString_3 = EvalString_3 ? (', "condition": "'+EvalString_3+'"') : ''; +var code = '{"id": "' + IdString_0 + '"' + EvalString_0 + EvalString_1 + EvalString_2 + EvalString_3 + '},\n'; +return code; +*/; + //afterBattle 事件编辑器入口之一 afterBattle_m : '战斗结束后' BGNL? Newline action+ BEND @@ -163,7 +224,7 @@ afterBattle_m /* afterBattle_m tooltip : 系统引发的自定义事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 var code = '[\n'+action_0+']\n'; return code; */; @@ -175,7 +236,7 @@ afterGetItem_m /* afterGetItem_m tooltip : 系统引发的自定义事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 var code = '[\n'+action_0+']\n'; return code; */; @@ -187,7 +248,7 @@ afterOpenDoor_m /* afterOpenDoor_m tooltip : 系统引发的自定义事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 var code = '[\n'+action_0+']\n'; return code; */; @@ -199,7 +260,7 @@ firstArrive_m /* firstArrive_m tooltip : 首次到达楼层 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 var code = '[\n'+action_0+']\n'; return code; */; @@ -211,7 +272,7 @@ eachArrive_m /* eachArrive_m tooltip : 每次到达楼层 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e7%b3%bb%e7%bb%9f%e5%bc%95%e5%8f%91%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6 var code = '[\n'+action_0+']\n'; return code; */; @@ -223,12 +284,12 @@ changeFloor_m /* changeFloor_m tooltip : 楼梯, 传送门, 如果目标楼层有多个楼梯, 写upFloor或downFloor可能会导致到达的楼梯不确定, 这时候请使用loc方式来指定具体的点位置 -helpUrl : https://h5mota.com/games/template/docs/#/element?id=%e8%b7%af%e9%9a%9c%ef%bc%8c%e6%a5%bc%e6%a2%af%ef%bc%8c%e4%bc%a0%e9%80%81%e9%97%a8 -default : [null,"MT1",null,0,0,null,500,null] +helpUrl : https://h5mota.com/games/template/_docs/#/element?id=%e8%b7%af%e9%9a%9c%ef%bc%8c%e6%a5%bc%e6%a2%af%ef%bc%8c%e4%bc%a0%e9%80%81%e9%97%a8 +default : [null,"MTx",null,0,0,null,500,null] var toFloorId = IdString_0; if (Floor_List_0!='floorId') toFloorId = Floor_List_0; var loc = ', "loc": ['+Number_0+', '+Number_1+']'; -if (Stair_List_0==='now')loc = ''; +if (Stair_List_0===':now') loc = ''; else if (Stair_List_0!=='loc')loc = ', "stair": "'+Stair_List_0+'"'; DirectionEx_List_0 = DirectionEx_List_0 && (', "direction": "'+DirectionEx_List_0+'"'); Int_0 = (Int_0!=='') ?(', "time": '+Int_0):''; @@ -244,7 +305,19 @@ commonEvent_m /* commonEvent_m tooltip : 公共事件 -helpUrl : https://h5mota.com/games/template/docs/#/event +helpUrl : https://h5mota.com/games/template/_docs/#/event +var code = '[\n'+action_0+']\n'; +return code; +*/; + +//item 事件编辑器入口之一 +item_m + : '使用道具事件' BGNL? Newline action+ BEND + + +/* item_m +tooltip : 使用道具事件 +helpUrl : https://h5mota.com/games/template/_docs/#/event var code = '[\n'+action_0+']\n'; return code; */; @@ -261,6 +334,7 @@ action | tip_s | setValue_s | addValue_s + | setEnemy_s | setFloor_s | setGlobalAttribute_s | setGlobalValue_s @@ -282,17 +356,23 @@ action | update_s | showStatusBar_s | hideStatusBar_s - | updateEnemys_s + | showHero_s + | hideHero_s | sleep_s | wait_s | waitAsync_s | battle_s + | battle_1_s | openDoor_s | closeDoor_s | changeFloor_s | changePos_0_s | changePos_1_s + | setViewport_s + | moveViewport_s | useItem_s + | loadEquip_s + | unloadEquip_s | openShop_s | disableShop_s | follow_s @@ -340,6 +420,27 @@ action | callSave_s | autoSave_s | callLoad_s + | previewUI_s + | clearMap_s + | clearMap_1_s + | setAttribute_s + | fillText_s + | fillBoldText_s + | drawTextContent_s + | fillRect_s + | strokeRect_s + | drawLine_s + | drawArrow_s + | fillPolygon_s + | strokePolygon_s + | fillCircle_s + | strokeCircle_s + | drawImage_s + | drawImage_1_s + | drawIcon_s + | drawBackground_s + | drawSelector_s + | drawSelector_1_s | unknown_s | function_s | pass_s @@ -351,7 +452,7 @@ text_0_s /* text_0_s tooltip : text:显示一段文字(剧情) -helpUrl : https://h5mota.com/games/template/docs/#/event?id=text%EF%BC%9A%E6%98%BE%E7%A4%BA%E4%B8%80%E6%AE%B5%E6%96%87%E5%AD%97%EF%BC%88%E5%89%A7%E6%83%85%EF%BC%89 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=text%EF%BC%9A%E6%98%BE%E7%A4%BA%E4%B8%80%E6%AE%B5%E6%96%87%E5%AD%97%EF%BC%88%E5%89%A7%E6%83%85%EF%BC%89 default : ["欢迎使用事件编辑器(双击方块进入多行编辑)"] var code = '"'+EvalString_0+'",\n'; return code; @@ -363,7 +464,7 @@ text_1_s /* text_1_s tooltip : text:显示一段文字(剧情),选项较多请右键点击帮助 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=text%EF%BC%9A%E6%98%BE%E7%A4%BA%E4%B8%80%E6%AE%B5%E6%96%87%E5%AD%97%EF%BC%88%E5%89%A7%E6%83%85%EF%BC%89 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=text%EF%BC%9A%E6%98%BE%E7%A4%BA%E4%B8%80%E6%AE%B5%E6%96%87%E5%AD%97%EF%BC%88%E5%89%A7%E6%83%85%EF%BC%89 default : ["小妖精","fairy","","欢迎使用事件编辑器(双击方块进入多行编辑)"] var title=''; if (EvalString_0==''){ @@ -373,7 +474,7 @@ if (EvalString_0==''){ if (IdString_0=='')title='\\t['+EvalString_0+']'; else title='\\t['+EvalString_0+','+IdString_0+']'; } -if(EvalString_1 && !(/^(up|down)(,hero)?(,([+-]?\d+),([+-]?\d+))?$/.test(EvalString_1))) { +if(EvalString_1 && !(/^(up|center|down|hero|null)(,(hero|null|\d+,\d+|\d+))?$/.test(EvalString_1))) { throw new Error('对话框效果的用法请右键点击帮助'); } EvalString_1 = EvalString_1 && ('\\b['+EvalString_1+']'); @@ -387,7 +488,7 @@ comment_s /* comment_s tooltip : comment:添加一段会被游戏跳过的注释内容 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=comment%ef%bc%9a%e6%b7%bb%e5%8a%a0%e6%b3%a8%e9%87%8a +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=comment%ef%bc%9a%e6%b7%bb%e5%8a%a0%e6%b3%a8%e9%87%8a default : ["可以在这里写添加任何注释内容"] colour : this.commentColor var code = '{"type": "comment", "text": "'+EvalString_0+'"},\n'; @@ -400,7 +501,7 @@ autoText_s /* autoText_s tooltip : autoText:自动剧情文本,用户无法跳过自动剧情文本,大段剧情文本请添加“是否跳过剧情”的提示 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=autotext%EF%BC%9A%E8%87%AA%E5%8A%A8%E5%89%A7%E6%83%85%E6%96%87%E6%9C%AC +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=autotext%EF%BC%9A%E8%87%AA%E5%8A%A8%E5%89%A7%E6%83%85%E6%96%87%E6%9C%AC default : ["小妖精","fairy","",3000,"用户无法跳过自动剧情文本,大段剧情文本请添加“是否跳过剧情”的提示"] var title=''; if (EvalString_0==''){ @@ -424,7 +525,7 @@ scrollText_s /* scrollText_s tooltip : scrollText:滚动剧情文本,将从下到上进行滚动显示。 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=scrollText%ef%bc%9a%e6%bb%9a%e5%8a%a8%e5%89%a7%e6%83%85%e6%96%87%e6%9c%ac +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=scrollText%ef%bc%9a%e6%bb%9a%e5%8a%a8%e5%89%a7%e6%83%85%e6%96%87%e6%9c%ac default : [5000,1.4,false,"时间是总时间,可以使用setText事件来控制字体、颜色、大小、偏移量等"] Bool_0 = Bool_0?', "async": true':''; var code = '{"type": "scrollText", "text": "'+EvalString_0+'"'+Bool_0+', "time" :'+Int_0+', "lineHeight": '+Number_0+'},\n'; @@ -432,16 +533,16 @@ return code; */; setText_s - : '设置剧情文本的属性' '位置' SetTextPosition_List '偏移像素' EvalString? '对齐' SetTextAlign_List? BGNL? '标题颜色' EvalString? Colour '正文颜色' EvalString? Colour '背景色' EvalString? Colour BGNL? '粗体' B_1_List '标题字体大小' EvalString? '正文字体大小' EvalString? '打字间隔' EvalString? Newline + : '设置剧情文本的属性' '位置' SetTextPosition_List '偏移像素' EvalString? '对齐' TextAlign_List? BGNL? '标题颜色' EvalString? Colour '正文颜色' EvalString? Colour '背景色' EvalString? Colour BGNL? '粗体' B_1_List '标题字体大小' EvalString? '正文字体大小' EvalString? '打字间隔' EvalString? '字符间距' EvalString? Newline /* setText_s -tooltip : setText:设置剧情文本的属性,颜色为RGB三元组或RGBA四元组,打字间隔为剧情文字添加的时间间隔,为整数或不填 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=settext%EF%BC%9A%E8%AE%BE%E7%BD%AE%E5%89%A7%E6%83%85%E6%96%87%E6%9C%AC%E7%9A%84%E5%B1%9E%E6%80%A7 -default : [null,"",null,"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',null,"","",""] +tooltip : setText:设置剧情文本的属性,颜色为RGB三元组或RGBA四元组,打字间隔为剧情文字添加的时间间隔,为整数或不填,字符间距为字符之间的距离,为整数或不填。 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=settext%EF%BC%9A%E8%AE%BE%E7%BD%AE%E5%89%A7%E6%83%85%E6%96%87%E6%9C%AC%E7%9A%84%E5%B1%9E%E6%80%A7 +default : [null,"",null,"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',null,"","","",""] SetTextPosition_List_0 =SetTextPosition_List_0==='null'?'': ', "position": "'+SetTextPosition_List_0+'"'; -SetTextAlign_List_0 =SetTextAlign_List_0==='null'?'': ', "align": "'+SetTextAlign_List_0+'"'; -var colorRe = /^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(,0(\.\d+)?|,1)?$/; +TextAlign_List_0 = TextAlign_List_0==='null'?'': ', "align": "'+TextAlign_List_0+'"'; +var colorRe = MotaActionFunctions.pattern.colorRe; if (EvalString_0) { if (!/^\d+$/.test(EvalString_0))throw new Error('像素偏移量必须是整数或不填'); EvalString_0 = ', "offset": '+EvalString_0; @@ -477,8 +578,12 @@ if (EvalString_6) { if (!/^\d+$/.test(EvalString_6))throw new Error('打字时间间隔必须是整数或不填'); EvalString_6 = ', "time": '+EvalString_6; } +if (EvalString_7) { + if (!/^\d+$/.test(EvalString_7))throw new Error('字符间距必须是整数或不填'); + EvalString_7 = ', "interval": '+EvalString_7; +} B_1_List_0 = B_1_List_0==='null'?'':', "bold": '+B_1_List_0; -var code = '{"type": "setText"'+SetTextPosition_List_0+EvalString_0+SetTextAlign_List_0+EvalString_1+EvalString_2+B_1_List_0+EvalString_3+EvalString_4+EvalString_5+EvalString_6+'},\n'; +var code = '{"type": "setText"'+SetTextPosition_List_0+EvalString_0+TextAlign_List_0+EvalString_1+EvalString_2+B_1_List_0+EvalString_3+EvalString_4+EvalString_5+EvalString_6+EvalString_7+'},\n'; return code; */; @@ -488,7 +593,7 @@ tip_s /* tip_s tooltip : tip:显示一段提示文字 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=tip%EF%BC%9A%E6%98%BE%E7%A4%BA%E4%B8%80%E6%AE%B5%E6%8F%90%E7%A4%BA%E6%96%87%E5%AD%97 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=tip%EF%BC%9A%E6%98%BE%E7%A4%BA%E4%B8%80%E6%AE%B5%E6%8F%90%E7%A4%BA%E6%96%87%E5%AD%97 default : ["这段话将在左上角以气泡形式显示",""] IdString_0 = IdString_0 && (', "icon": "' + IdString_0 + '"'); var code = '{"type": "tip", "text": "'+EvalString_0+'"'+IdString_0+'},\n'; @@ -496,36 +601,53 @@ return code; */; setValue_s - : '数值操作' ':' '名称' idString_e '值' expression Newline + : '数值操作' ':' '名称' idString_e '值' expression '不刷新状态栏' Bool Newline /* setValue_s tooltip : setValue:设置勇士的某个属性、道具个数, 或某个变量/Flag的值 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setvalue%EF%BC%9A%E8%AE%BE%E7%BD%AE%E5%8B%87%E5%A3%AB%E7%9A%84%E6%9F%90%E4%B8%AA%E5%B1%9E%E6%80%A7%E3%80%81%E9%81%93%E5%85%B7%E4%B8%AA%E6%95%B0%EF%BC%8C%E6%88%96%E6%9F%90%E4%B8%AA%E5%8F%98%E9%87%8Fflag%E7%9A%84%E5%80%BC +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setvalue%EF%BC%9A%E8%AE%BE%E7%BD%AE%E5%8B%87%E5%A3%AB%E7%9A%84%E6%9F%90%E4%B8%AA%E5%B1%9E%E6%80%A7%E3%80%81%E9%81%93%E5%85%B7%E4%B8%AA%E6%95%B0%EF%BC%8C%E6%88%96%E6%9F%90%E4%B8%AA%E5%8F%98%E9%87%8Fflag%E7%9A%84%E5%80%BC colour : this.dataColor -var code = '{"type": "setValue", "name": "'+idString_e_0+'", "value": "'+expression_0+'"},\n'; +Bool_0 = Bool_0 ? ', "norefresh": true' : ''; +var code = '{"type": "setValue", "name": "'+idString_e_0+'", "value": "'+expression_0+'"' + Bool_0 + '},\n'; return code; */; addValue_s - : '数值增减' ':' '名称' idString_e '+=' expression Newline + : '数值增减' ':' '名称' idString_e '+=' expression '不刷新状态栏' Bool Newline /* addValue_s tooltip : addValue:增减勇士的某个属性、道具个数, 或某个变量/Flag的值 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=addValue%ef%bc%9a%e5%a2%9e%e5%87%8f%e5%8b%87%e5%a3%ab%e7%9a%84%e6%9f%90%e4%b8%aa%e5%b1%9e%e6%80%a7%e3%80%81%e9%81%93%e5%85%b7%e4%b8%aa%e6%95%b0%ef%bc%8c%e6%88%96%e6%9f%90%e4%b8%aa%e5%8f%98%e9%87%8f%2fFlag%e7%9a%84%e5%80%bc +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=addValue%ef%bc%9a%e5%a2%9e%e5%87%8f%e5%8b%87%e5%a3%ab%e7%9a%84%e6%9f%90%e4%b8%aa%e5%b1%9e%e6%80%a7%e3%80%81%e9%81%93%e5%85%b7%e4%b8%aa%e6%95%b0%ef%bc%8c%e6%88%96%e6%9f%90%e4%b8%aa%e5%8f%98%e9%87%8f%2fFlag%e7%9a%84%e5%80%bc colour : this.dataColor -var code = '{"type": "addValue", "name": "'+idString_e_0+'", "value": "'+expression_0+'"},\n'; +Bool_0 = Bool_0 ? ', "norefresh": true' : ''; +var code = '{"type": "addValue", "name": "'+idString_e_0+'", "value": "'+expression_0+'"' + Bool_0 + '},\n'; return code; */; + +setEnemy_s + : '设置怪物属性' ':' '怪物ID' IdString '的' EnemyId_List '值' expression Newline + + +/* setEnemy_s +tooltip : setEnemy:设置某个怪物的属性 +default : ["greenSlime", "atk", "0"] +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=addValue%ef%bc%9a%e5%a2%9e%e5%87%8f%e5%8b%87%e5%a3%ab%e7%9a%84%e6%9f%90%e4%b8%aa%e5%b1%9e%e6%80%a7%e3%80%81%e9%81%93%e5%85%b7%e4%b8%aa%e6%95%b0%ef%bc%8c%e6%88%96%e6%9f%90%e4%b8%aa%e5%8f%98%e9%87%8f%2fFlag%e7%9a%84%e5%80%bc +colour : this.dataColor +var code = '{"type": "setEnemy", "id": "'+IdString_0+'", "name": "'+EnemyId_List_0+'", "value": "'+expression_0+'"},\n'; +return code; +*/; + + setFloor_s : '设置楼层属性' ':' Floor_Meta_List '楼层名' IdString? '值' EvalString Newline /* setFloor_s tooltip : setFloor:设置楼层属性;该楼层属性和编辑器中的楼层属性一一对应 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setFloor%ef%bc%9a%e8%ae%be%e7%bd%ae%e6%a5%bc%e5%b1%82%e5%b1%9e%e6%80%a7 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setFloor%ef%bc%9a%e8%ae%be%e7%bd%ae%e6%a5%bc%e5%b1%82%e5%b1%9e%e6%80%a7 default : ["title","","'字符串类型的值要加引号,其他类型则不用'"] colour : this.dataColor IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); @@ -540,7 +662,7 @@ setGlobalAttribute_s /* setGlobalAttribute_s tooltip : setGlobalAttribute:设置全局属性 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setGlobalAttribute%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e5%85%a8%e5%b1%80%e5%b1%9e%e6%80%a7 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setGlobalAttribute%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e5%85%a8%e5%b1%80%e5%b1%9e%e6%80%a7 default : ["font","Verdana"] colour : this.dataColor var code = '{"type": "setGlobalAttribute", "name": "'+Global_Attribute_List_0+'", "value": "'+EvalString_0+'"},\n'; @@ -554,7 +676,7 @@ setGlobalValue_s /* setGlobalValue_s tooltip : setGlobalValue:设置全局属性 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setGlobalValue%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e5%85%a8%e5%b1%80%e6%95%b0%e5%80%bc +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setGlobalValue%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e5%85%a8%e5%b1%80%e6%95%b0%e5%80%bc default : ["lavaDamage","100"] colour : this.dataColor var code = '{"type": "setGlobalValue", "name": "'+Global_Value_List_0+'", "value": '+EvalString_0+'},\n'; @@ -568,7 +690,7 @@ setGlobalFlag_s /* setGlobalFlag_s tooltip : setGlobalFlag:设置系统开关 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setGlobalFlag%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e7%b3%bb%e7%bb%9f%e5%bc%80%e5%85%b3 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setGlobalFlag%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e7%b3%bb%e7%bb%9f%e5%bc%80%e5%85%b3 default : ["enableFloor","true"] colour : this.dataColor var code = '{"type": "setGlobalFlag", "name": "'+Global_Flag_List_0+'", "value": '+Bool_0+'},\n'; @@ -582,12 +704,12 @@ show_s /* show_s tooltip : show: 将禁用事件启用,楼层和动画时间可不填,xy可用逗号分隔表示多个点 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=show%EF%BC%9A%E5%B0%86%E4%B8%80%E4%B8%AA%E7%A6%81%E7%94%A8%E4%BA%8B%E4%BB%B6%E5%90%AF%E7%94%A8 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=show%EF%BC%9A%E5%B0%86%E4%B8%80%E4%B8%AA%E7%A6%81%E7%94%A8%E4%BA%8B%E4%BB%B6%E5%90%AF%E7%94%A8 default : ["","","",500,false] colour : this.mapColor var floorstr = ''; if (EvalString_0 && EvalString_1) { - var pattern1 = /^flag:[0-9a-zA-Z_][0-9a-zA-Z_\-:]*$/; + var pattern1 = MotaActionFunctions.pattern.id; if(pattern1.test(EvalString_0) || pattern1.test(EvalString_1)){ EvalString_0=MotaActionFunctions.PosString_pre(EvalString_0); EvalString_1=MotaActionFunctions.PosString_pre(EvalString_1); @@ -615,12 +737,12 @@ hide_s /* hide_s tooltip : hide: 将一个启用事件禁用,所有参数均可不填,代表禁用事件自身,xy可用逗号分隔表示多个点 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=hide%EF%BC%9A%E5%B0%86%E4%B8%80%E4%B8%AA%E5%90%AF%E7%94%A8%E4%BA%8B%E4%BB%B6%E7%A6%81%E7%94%A8 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=hide%EF%BC%9A%E5%B0%86%E4%B8%80%E4%B8%AA%E5%90%AF%E7%94%A8%E4%BA%8B%E4%BB%B6%E7%A6%81%E7%94%A8 default : ["","","",500,false] colour : this.mapColor var floorstr = ''; if (EvalString_0 && EvalString_1) { - var pattern1 = /^flag:[0-9a-zA-Z_][0-9a-zA-Z_\-:]*$/; + var pattern1 = MotaActionFunctions.pattern.id; if(pattern1.test(EvalString_0) || pattern1.test(EvalString_1)){ EvalString_0=MotaActionFunctions.PosString_pre(EvalString_0); EvalString_1=MotaActionFunctions.PosString_pre(EvalString_1); @@ -643,15 +765,16 @@ return code; */; trigger_s - : '触发事件' 'x' PosString ',' 'y' PosString Newline + : '触发事件' 'x' PosString ',' 'y' PosString '不结束当前事件' Bool Newline /* trigger_s tooltip : trigger: 立即触发另一个地点的事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=trigger%EF%BC%9A%E7%AB%8B%E5%8D%B3%E8%A7%A6%E5%8F%91%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%9C%B0%E7%82%B9%E7%9A%84%E4%BA%8B%E4%BB%B6 -default : ["0","0"] +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=trigger%EF%BC%9A%E7%AB%8B%E5%8D%B3%E8%A7%A6%E5%8F%91%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%9C%B0%E7%82%B9%E7%9A%84%E4%BA%8B%E4%BB%B6 +default : ["0","0",false] colour : this.eventColor -var code = '{"type": "trigger", "loc": ['+PosString_0+','+PosString_1+']},\n'; +Bool_0 = Bool_0 ?', "keep": true':''; +var code = '{"type": "trigger", "loc": ['+PosString_0+','+PosString_1+']'+Bool_0+'},\n'; return code; */; @@ -661,7 +784,7 @@ insert_1_s /* insert_1_s tooltip : insert: 插入公共事件并执行 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=insert%ef%bc%9a%e6%8f%92%e5%85%a5%e5%85%ac%e5%85%b1%e4%ba%8b%e4%bb%b6%e6%88%96%e5%8f%a6%e4%b8%80%e4%b8%aa%e5%9c%b0%e7%82%b9%e7%9a%84%e4%ba%8b%e4%bb%b6%e5%b9%b6%e6%89%a7%e8%a1%8c +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=insert%ef%bc%9a%e6%8f%92%e5%85%a5%e5%85%ac%e5%85%b1%e4%ba%8b%e4%bb%b6%e6%88%96%e5%8f%a6%e4%b8%80%e4%b8%aa%e5%9c%b0%e7%82%b9%e7%9a%84%e4%ba%8b%e4%bb%b6%e5%b9%b6%e6%89%a7%e8%a1%8c default : ["加点事件", ""] colour : this.eventColor if (EvalString_1) { @@ -681,12 +804,12 @@ return code; */; insert_2_s - : '插入事件' 'x' PosString ',' 'y' PosString Event_List? '楼层' IdString? '参数列表' EvalString? ENewline + : '插入事件' 'x' PosString ',' 'y' PosString Event_List? '楼层' IdString? '参数列表' EvalString? Newline /* insert_2_s tooltip : insert: 立即插入另一个地点的事件执行,当前事件不会中断,事件坐标不会改变 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=insert%ef%bc%9a%e6%8f%92%e5%85%a5%e5%85%ac%e5%85%b1%e4%ba%8b%e4%bb%b6%e6%88%96%e5%8f%a6%e4%b8%80%e4%b8%aa%e5%9c%b0%e7%82%b9%e7%9a%84%e4%ba%8b%e4%bb%b6%e5%b9%b6%e6%89%a7%e8%a1%8c +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=insert%ef%bc%9a%e6%8f%92%e5%85%a5%e5%85%ac%e5%85%b1%e4%ba%8b%e4%bb%b6%e6%88%96%e5%8f%a6%e4%b8%80%e4%b8%aa%e5%9c%b0%e7%82%b9%e7%9a%84%e4%ba%8b%e4%bb%b6%e5%b9%b6%e6%89%a7%e8%a1%8c default : ["0","0",null,"",""] colour : this.eventColor IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); @@ -714,7 +837,7 @@ revisit_s /* revisit_s tooltip : revisit: 立即重启当前事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=revisit%EF%BC%9A%E7%AB%8B%E5%8D%B3%E9%87%8D%E5%90%AF%E5%BD%93%E5%89%8D%E4%BA%8B%E4%BB%B6 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=revisit%EF%BC%9A%E7%AB%8B%E5%8D%B3%E9%87%8D%E5%90%AF%E5%BD%93%E5%89%8D%E4%BA%8B%E4%BB%B6 colour : this.eventColor var code = '{"type": "revisit"},\n'; return code; @@ -726,24 +849,37 @@ exit_s /* exit_s tooltip : exit: 立刻结束当前事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=exit%EF%BC%9A%E7%AB%8B%E5%88%BB%E7%BB%93%E6%9D%9F%E5%BD%93%E5%89%8D%E4%BA%8B%E4%BB%B6 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=exit%EF%BC%9A%E7%AB%8B%E5%88%BB%E7%BB%93%E6%9D%9F%E5%BD%93%E5%89%8D%E4%BA%8B%E4%BB%B6 colour : this.eventColor var code = '{"type": "exit"},\n'; return code; */; setBlock_s - : '转变图块为' EvalString 'x' PosString? ',' 'y' PosString? '楼层' IdString? Newline + : '转变图块为' EvalString 'x' EvalString? ',' 'y' EvalString? '楼层' IdString? Newline /* setBlock_s tooltip : setBlock:设置某个图块,忽略坐标楼层则为当前事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setblock%EF%BC%9A%E8%AE%BE%E7%BD%AE%E6%9F%90%E4%B8%AA%E5%9B%BE%E5%9D%97 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setblock%EF%BC%9A%E8%AE%BE%E7%BD%AE%E6%9F%90%E4%B8%AA%E5%9B%BE%E5%9D%97 colour : this.mapColor default : ["yellowDoor","","",""] var floorstr = ''; -if (PosString_0 && PosString_1) { - floorstr = ', "loc": ['+PosString_0+','+PosString_1+']'; +if (EvalString_1 && EvalString_2) { + var pattern1 = MotaActionFunctions.pattern.id; + if(pattern1.test(EvalString_1) || pattern1.test(EvalString_2)){ + EvalString_1=MotaActionFunctions.PosString_pre(EvalString_1); + EvalString_2=MotaActionFunctions.PosString_pre(EvalString_2); + EvalString_1=[EvalString_1,EvalString_2] + } else { + var pattern2 = /^([+-]?\d+)(,[+-]?\d+)*$/; + if(!pattern2.test(EvalString_1) || !pattern2.test(EvalString_2))throw new Error('坐标格式错误,请右键点击帮助查看格式'); + EvalString_1=EvalString_1.split(','); + EvalString_2=EvalString_2.split(','); + if(EvalString_1.length!==EvalString_2.length)throw new Error('坐标格式错误,请右键点击帮助查看格式'); + for(var ii=0;ii50) throw new Error('图片编号在1~50之间'); @@ -1196,7 +1435,7 @@ showImage_1_s /* showImage_1_s tooltip : showImage_1:显示图片 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=showImage%ef%bc%9a%e6%98%be%e7%a4%ba%e5%9b%be%e7%89%87 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=showImage%ef%bc%9a%e6%98%be%e7%a4%ba%e5%9b%be%e7%89%87 default : [1,"bg.jpg","0","0","","",1,"0","0","","",0,false] colour : this.printColor if(Int_0<=0 || Int_0>50) throw new Error('图片编号在1~50之间'); @@ -1215,7 +1454,7 @@ showTextImage_s /* showTextImage_s tooltip : showTextImage:显示图片化文本 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=showTextImage%ef%bc%9a%e6%98%be%e7%a4%ba%e6%96%87%e6%9c%ac%e5%8c%96%e5%9b%be%e7%89%87 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=showTextImage%ef%bc%9a%e6%98%be%e7%a4%ba%e6%96%87%e6%9c%ac%e5%8c%96%e5%9b%be%e7%89%87 colour : this.printColor default : ["可以使用setText事件来控制字体、颜色、大小、偏移量等",1,"0","0",1.4,1,0,false] if(Int_0<=0 || Int_0>50) throw new Error('图片编号在1~50之间'); @@ -1230,7 +1469,7 @@ hideImage_s /* hideImage_s tooltip : hideImage:清除图片 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=hideImage%ef%bc%9a%e6%b8%85%e9%99%a4%e5%9b%be%e7%89%87 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=hideImage%ef%bc%9a%e6%b8%85%e9%99%a4%e5%9b%be%e7%89%87 colour : this.printColor default : [1,0,false] if(Int_0<=0 || Int_0>50) throw new Error('图片编号在1~50之间'); @@ -1245,7 +1484,7 @@ showGif_0_s /* showGif_0_s tooltip : showGif:显示动图 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=showgif%EF%BC%9A%E6%98%BE%E7%A4%BA%E5%8A%A8%E5%9B%BE +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=showgif%EF%BC%9A%E6%98%BE%E7%A4%BA%E5%8A%A8%E5%9B%BE default : ["bg.gif","0","0"] colour : this.printColor var code = '{"type": "showGif", "name": "'+EvalString_0+'", "loc": ['+PosString_0+','+PosString_1+']},\n'; @@ -1258,7 +1497,7 @@ showGif_1_s /* showGif_1_s tooltip : showGif:清除所有显示的动图 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=showgif%EF%BC%9A%E6%98%BE%E7%A4%BA%E5%8A%A8%E5%9B%BE +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=showgif%EF%BC%9A%E6%98%BE%E7%A4%BA%E5%8A%A8%E5%9B%BE colour : this.printColor var code = '{"type": "showGif"},\n'; return code; @@ -1271,7 +1510,7 @@ moveImage_s /* moveImage_s tooltip : moveImage:图片移动 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=moveImage%ef%bc%9a%e5%9b%be%e7%89%87%e7%a7%bb%e5%8a%a8 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=moveImage%ef%bc%9a%e5%9b%be%e7%89%87%e7%a7%bb%e5%8a%a8 default : [1,'','','',500,false] colour : this.printColor if(Int_0<=0 || Int_0>50) throw new Error('图片编号在1~50之间'); @@ -1290,10 +1529,10 @@ setCurtain_0_s /* setCurtain_0_s tooltip : setCurtain: 更改画面色调,动画时间可不填 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setcurtain%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setcurtain%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 default : ["255,255,255,1",'rgba(255,255,255,1)',500,false] colour : this.soundColor -var colorRe = /^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(,0(\.\d+)?|,1)?$/; +var colorRe = MotaActionFunctions.pattern.colorRe; if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; var async = Bool_0?', "async": true':''; @@ -1307,7 +1546,7 @@ setCurtain_1_s /* setCurtain_1_s tooltip : setCurtain: 恢复画面色调,动画时间可不填 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setcurtain%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setcurtain%EF%BC%9A%E6%9B%B4%E6%94%B9%E7%94%BB%E9%9D%A2%E8%89%B2%E8%B0%83 default : [500,false] colour : this.soundColor Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; @@ -1321,10 +1560,10 @@ screenFlash_s /* screenFlash_s tooltip : screenFlash: 画面闪烁,动画时间可不填 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=screenFlash%EF%BC%9A%E7%94%BB%E9%9D%A2%E9%97%AA%E7%83%81 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=screenFlash%EF%BC%9A%E7%94%BB%E9%9D%A2%E9%97%AA%E7%83%81 default : ["255,255,255,1",'rgba(255,255,255,1)',500,1,false] colour : this.soundColor -var colorRe = /^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(,0(\.\d+)?|,1)?$/; +var colorRe = MotaActionFunctions.pattern.colorRe; if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); Int_1 = Int_1!=='' ?(', "times": '+Int_1):''; var async = Bool_0?', "async": true':''; @@ -1338,7 +1577,7 @@ setWeather_s /* setWeather_s tooltip : setWeather:更改天气 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setweather%EF%BC%9A%E6%9B%B4%E6%94%B9%E5%A4%A9%E6%B0%94 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setweather%EF%BC%9A%E6%9B%B4%E6%94%B9%E5%A4%A9%E6%B0%94 default : [null,1] colour : this.soundColor if(Int_0<1 || Int_0>10) throw new Error('天气的强度等级, 在1-10之间'); @@ -1353,8 +1592,8 @@ move_s /* move_s tooltip : move: 让某个NPC/怪物移动,位置可不填代表当前事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=move%EF%BC%9A%E8%AE%A9%E6%9F%90%E4%B8%AAnpc%E6%80%AA%E7%89%A9%E7%A7%BB%E5%8A%A8 -default : ["","",500,false,false,"上右3下2左上左2"] +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=move%EF%BC%9A%E8%AE%A9%E6%9F%90%E4%B8%AAnpc%E6%80%AA%E7%89%A9%E7%A7%BB%E5%8A%A8 +default : ["","",500,false,false,"上右3下2后4左前2"] colour : this.mapColor var floorstr = ''; if (PosString_0 && PosString_1) { @@ -1373,7 +1612,7 @@ moveHero_s /* moveHero_s tooltip : moveHero:移动勇士,用这种方式移动勇士的过程中将无视一切地形, 无视一切事件, 中毒状态也不会扣血 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=movehero%EF%BC%9A%E7%A7%BB%E5%8A%A8%E5%8B%87%E5%A3%AB +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=movehero%EF%BC%9A%E7%A7%BB%E5%8A%A8%E5%8B%87%E5%A3%AB default : [500,false,"上右3下2后4左前2"] colour : this.dataColor Int_0 = Int_0!=='' ?(', "time": '+Int_0):''; @@ -1388,7 +1627,7 @@ jump_s /* jump_s tooltip : jump: 让某个NPC/怪物跳跃 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=jump%EF%BC%9A%E8%AE%A9%E6%9F%90%E4%B8%AANPC%2F%E6%80%AA%E7%89%A9%E8%B7%B3%E8%B7%83 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=jump%EF%BC%9A%E8%AE%A9%E6%9F%90%E4%B8%AANPC%2F%E6%80%AA%E7%89%A9%E8%B7%B3%E8%B7%83 default : ["","","","",500,true,false] colour : this.mapColor var floorstr = ''; @@ -1411,7 +1650,7 @@ jumpHero_s /* jumpHero_s tooltip : jumpHero: 跳跃勇士 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=jumpHero%EF%BC%9A%E8%B7%B3%E8%B7%83%E5%8B%87%E5%A3%AB +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=jumpHero%EF%BC%9A%E8%B7%B3%E8%B7%83%E5%8B%87%E5%A3%AB default : ["","",500,false] colour : this.dataColor var floorstr = ''; @@ -1425,15 +1664,16 @@ return code; */; playBgm_s - : '播放背景音乐' EvalString Newline + : '播放背景音乐' EvalString '持续到下个本事件' Bool Newline /* playBgm_s tooltip : playBgm: 播放背景音乐 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=playbgm%EF%BC%9A%E6%92%AD%E6%94%BE%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90 -default : ["bgm.mp3"] +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=playbgm%EF%BC%9A%E6%92%AD%E6%94%BE%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90 +default : ["bgm.mp3", true] colour : this.soundColor -var code = '{"type": "playBgm", "name": "'+EvalString_0+'"},\n'; +Bool_0 = Bool_0 ? ', "keep": true' : ''; +var code = '{"type": "playBgm", "name": "'+EvalString_0+'"'+Bool_0+'},\n'; return code; */; @@ -1443,7 +1683,7 @@ pauseBgm_s /* pauseBgm_s tooltip : pauseBgm: 暂停背景音乐 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=pausebgm%EF%BC%9A%E6%9A%82%E5%81%9C%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=pausebgm%EF%BC%9A%E6%9A%82%E5%81%9C%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90 colour : this.soundColor var code = '{"type": "pauseBgm"},\n'; return code; @@ -1455,7 +1695,7 @@ resumeBgm_s /* resumeBgm_s tooltip : resumeBgm: 恢复背景音乐 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=resumebgm%EF%BC%9A%E6%81%A2%E5%A4%8D%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=resumebgm%EF%BC%9A%E6%81%A2%E5%A4%8D%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90 colour : this.soundColor var code = '{"type": "resumeBgm"},\n'; return code; @@ -1467,7 +1707,7 @@ loadBgm_s /* loadBgm_s tooltip : loadBgm: 预加载某个背景音乐,之后可以直接播放 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=loadBgm%ef%bc%9a%e9%a2%84%e5%8a%a0%e8%bd%bd%e4%b8%80%e4%b8%aa%e8%83%8c%e6%99%af%e9%9f%b3%e4%b9%90 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=loadBgm%ef%bc%9a%e9%a2%84%e5%8a%a0%e8%bd%bd%e4%b8%80%e4%b8%aa%e8%83%8c%e6%99%af%e9%9f%b3%e4%b9%90 default : ["bgm.mp3"] colour : this.soundColor var code = '{"type": "loadBgm", "name": "'+EvalString_0+'"},\n'; @@ -1480,7 +1720,7 @@ freeBgm_s /* freeBgm_s tooltip : freeBgm: 释放背景音乐的缓存 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=freeBgm%ef%bc%9a%e9%87%8a%e6%94%be%e4%b8%80%e4%b8%aa%e8%83%8c%e6%99%af%e9%9f%b3%e4%b9%90%e7%9a%84%e7%bc%93%e5%ad%98 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=freeBgm%ef%bc%9a%e9%87%8a%e6%94%be%e4%b8%80%e4%b8%aa%e8%83%8c%e6%99%af%e9%9f%b3%e4%b9%90%e7%9a%84%e7%bc%93%e5%ad%98 default : ["bgm.mp3"] colour : this.soundColor var code = '{"type": "freeBgm", "name": "'+EvalString_0+'"},\n'; @@ -1493,7 +1733,7 @@ playSound_s /* playSound_s tooltip : playSound: 播放音效 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=playsound%EF%BC%9A%E6%92%AD%E6%94%BE%E9%9F%B3%E6%95%88 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=playsound%EF%BC%9A%E6%92%AD%E6%94%BE%E9%9F%B3%E6%95%88 default : ["item.mp3",false] colour : this.soundColor Bool_0 = Bool_0 ? ', "stop": true' : ''; @@ -1507,7 +1747,7 @@ stopSound_s /* stopSound_s tooltip : stopSound: 停止所有音效 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=stopSound%ef%bc%9a%e5%81%9c%e6%ad%a2%e6%89%80%e6%9c%89%e9%9f%b3%e6%95%88 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=stopSound%ef%bc%9a%e5%81%9c%e6%ad%a2%e6%89%80%e6%9c%89%e9%9f%b3%e6%95%88 colour : this.soundColor var code = '{"type": "stopSound"},\n'; return code; @@ -1519,7 +1759,7 @@ setVolume_s /* setVolume_s tooltip : setVolume: 设置音量 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=setvolume%EF%BC%9A%E8%AE%BE%E7%BD%AE%E9%9F%B3%E9%87%8F +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setvolume%EF%BC%9A%E8%AE%BE%E7%BD%AE%E9%9F%B3%E9%87%8F default : [90, 500, false] colour : this.soundColor Int_1 = Int_1!==''?(', "time": '+Int_1):"" @@ -1529,15 +1769,16 @@ return code; */; win_s - : '游戏胜利,结局' ':' EvalString? '不计入榜单' Bool Newline + : '游戏胜利,结局' ':' EvalString? '不计入榜单' Bool '不结束游戏' Bool Newline /* win_s tooltip : win: 获得胜利, 该事件会显示获胜页面, 并重新游戏 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=win%EF%BC%9A%E8%8E%B7%E5%BE%97%E8%83%9C%E5%88%A9 -default : ["",false] +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=win%EF%BC%9A%E8%8E%B7%E5%BE%97%E8%83%9C%E5%88%A9 +default : ["",false, false] Bool_0 = Bool_0?', "norank": 1':''; -var code = '{"type": "win", "reason": "'+EvalString_0+'"'+Bool_0+'},\n'; +Bool_1 = Bool_1?', "noexit": 1':''; +var code = '{"type": "win", "reason": "'+EvalString_0+'"'+Bool_0+Bool_1+'},\n'; return code; */; @@ -1547,7 +1788,7 @@ lose_s /* lose_s tooltip : lose: 游戏失败, 该事件会显示失败页面, 并重新开始游戏 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=lose%EF%BC%9A%E6%B8%B8%E6%88%8F%E5%A4%B1%E8%B4%A5 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=lose%EF%BC%9A%E6%B8%B8%E6%88%8F%E5%A4%B1%E8%B4%A5 default : [""] var code = '{"type": "lose", "reason": "'+EvalString_0+'"},\n'; return code; @@ -1559,7 +1800,7 @@ restart_s /* restart_s tooltip : restart: 直接回到标题界面 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=restart%ef%bc%9a%e7%9b%b4%e6%8e%a5%e5%9b%9e%e5%88%b0%e6%a0%87%e9%a2%98%e7%95%8c%e9%9d%a2 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=restart%ef%bc%9a%e7%9b%b4%e6%8e%a5%e5%9b%9e%e5%88%b0%e6%a0%87%e9%a2%98%e7%95%8c%e9%9d%a2 var code = '{"type": "restart"},\n'; return code; */; @@ -1570,7 +1811,7 @@ input_s /* input_s tooltip : input:接受用户输入数字, 事件只能接受非负整数输入, 所有非法的输入将全部变成0 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=input%ef%bc%9a%e6%8e%a5%e5%8f%97%e7%94%a8%e6%88%b7%e8%be%93%e5%85%a5%e6%95%b0%e5%ad%97 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=input%ef%bc%9a%e6%8e%a5%e5%8f%97%e7%94%a8%e6%88%b7%e8%be%93%e5%85%a5%e6%95%b0%e5%ad%97 default : ["请输入一个数"] colour : this.dataColor var code = '{"type": "input", "text": "'+EvalString_0+'"},\n'; @@ -1583,7 +1824,7 @@ input2_s /* input2_s tooltip : input2:接受用户输入文本, 允许用户输入任何形式的文本 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=input2%ef%bc%9a%e6%8e%a5%e5%8f%97%e7%94%a8%e6%88%b7%e8%be%93%e5%85%a5%e6%96%87%e6%9c%ac +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=input2%ef%bc%9a%e6%8e%a5%e5%8f%97%e7%94%a8%e6%88%b7%e8%be%93%e5%85%a5%e6%96%87%e6%9c%ac default : ["请输入文本"] colour : this.dataColor var code = '{"type": "input2", "text": "'+EvalString_0+'"},\n'; @@ -1596,7 +1837,7 @@ if_s /* if_s tooltip : if: 条件判断 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=if%EF%BC%9A%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=if%EF%BC%9A%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD colour : this.eventColor var code = ['{"type": "if", "condition": "',expression_0,'",\n', '"true": [\n',action_0,'],\n', @@ -1611,7 +1852,7 @@ if_1_s /* if_1_s tooltip : if: 条件判断 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=if%EF%BC%9A%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=if%EF%BC%9A%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD colour : this.eventColor var code = ['{"type": "if", "condition": "',expression_0,'",\n', '"true": [\n',action_0,'],\n', @@ -1625,7 +1866,7 @@ switch_s /* switch_s tooltip : switch: 多重条件分歧 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=switch%EF%BC%9A%E5%A4%9A%E9%87%8D%E6%9D%A1%E4%BB%B6%E5%88%86%E6%AD%A7 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=switch%EF%BC%9A%E5%A4%9A%E9%87%8D%E6%9D%A1%E4%BB%B6%E5%88%86%E6%AD%A7 default : ["判别值"] colour : this.eventColor var code = ['{"type": "switch", "condition": "',expression_0,'", "caseList": [\n', @@ -1640,7 +1881,7 @@ switchCase /* switchCase tooltip : 选项的选择 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=switch%EF%BC%9A%E5%A4%9A%E9%87%8D%E6%9D%A1%E4%BB%B6%E5%88%86%E6%AD%A7 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=switch%EF%BC%9A%E5%A4%9A%E9%87%8D%E6%9D%A1%E4%BB%B6%E5%88%86%E6%AD%A7 default : ["", false] colour : this.subColor Bool_0 = Bool_0?', "nobreak": true':''; @@ -1654,7 +1895,7 @@ choices_s /* choices_s tooltip : choices: 给用户提供选项 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=choices%EF%BC%9A%E7%BB%99%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E9%80%89%E9%A1%B9 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=choices%EF%BC%9A%E7%BB%99%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E9%80%89%E9%A1%B9 default : ["","流浪者","woman"] var title=''; if (EvalString_1==''){ @@ -1673,23 +1914,24 @@ return code; */; choicesContext - : '子选项' EvalString '图标' IdString? '颜色' EvalString? Colour BGNL? Newline action+ + : '子选项' EvalString '图标' IdString? '颜色' EvalString? Colour '出现条件' EvalString? BGNL? Newline action+ /* choicesContext tooltip : 选项的选择 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=choices%EF%BC%9A%E7%BB%99%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E9%80%89%E9%A1%B9 -default : ["提示文字:红钥匙","",""] +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=choices%EF%BC%9A%E7%BB%99%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E9%80%89%E9%A1%B9 +default : ["提示文字:红钥匙","","",""] colour : this.subColor if (EvalString_1) { - var colorRe = /^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(,0(\.\d+)?|,1)?$/; + var colorRe = MotaActionFunctions.pattern.colorRe; if (colorRe.test(EvalString_1)) EvalString_1 = ', "color": ['+EvalString_1+']'; else EvalString_1 = ', "color": "'+EvalString_1+'"'; } +EvalString_2 = EvalString_2 && (', "condition": "'+EvalString_2+'"') IdString_0 = IdString_0?(', "icon": "'+IdString_0+'"'):''; -var code = '{"text": "'+EvalString_0+'"'+IdString_0+EvalString_1+', "action": [\n'+action_0+']},\n'; +var code = '{"text": "'+EvalString_0+'"'+IdString_0+EvalString_1+EvalString_2+', "action": [\n'+action_0+']},\n'; return code; */; @@ -1698,7 +1940,7 @@ confirm_s /* confirm_s tooltip : 弹出确认框 -helpUrl : https://h5mota.com/games/template/docs/#/ +helpUrl : https://h5mota.com/games/template/_docs/#/ default : ["确认要xxx吗?",false] Bool_0 = Bool_0?', "default": true':'' var code = ['{"type": "confirm"'+Bool_0+', "text": "',EvalString_0,'",\n', @@ -1713,7 +1955,7 @@ while_s /* while_s tooltip : while:前置条件循环 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=while%ef%bc%9a%e5%89%8d%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=while%ef%bc%9a%e5%89%8d%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af colour : this.eventColor var code = ['{"type": "while", "condition": "',expression_0,'",\n', '"data": [\n',action_0,'],\n', @@ -1726,7 +1968,7 @@ dowhile_s /* dowhile_s tooltip : dowhile:后置条件循环 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=dowhile%ef%bc%9a%e5%90%8e%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=dowhile%ef%bc%9a%e5%90%8e%e7%bd%ae%e6%9d%a1%e4%bb%b6%e5%be%aa%e7%8e%af colour : this.eventColor var code = ['{"type": "dowhile", "condition": "',expression_0,'",\n', '"data": [\n',action_0,'],\n', @@ -1735,11 +1977,11 @@ return code; */; break_s - : '跳出循环' Newline + : '跳出当前循环或公共事件' Newline /* break_s tooltip : break:跳出循环, 如果break事件不在任何循环中被执行,则和exit等价,即会立刻结束当前事件! -helpUrl : https://h5mota.com/games/template/docs/#/event?id=break%EF%BC%9A%E8%B7%B3%E5%87%BA%E5%BE%AA%E7%8E%AF +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=break%EF%BC%9A%E8%B7%B3%E5%87%BA%E5%BE%AA%E7%8E%AF colour : this.eventColor var code = '{"type": "break"},\n'; return code; @@ -1750,7 +1992,7 @@ continue_s /* continue_s tooltip : continue:继续执行当前循环的下一轮, 如果continue事件不在任何循环中被执行,则和exit等价,即会立刻结束当前事件! -helpUrl : https://h5mota.com/games/template/docs/#/event?id=continue%EF%BC%9A%E7%BB%A7%E7%BB%AD%E6%89%A7%E8%A1%8C%E5%BD%93%E5%89%8D%E5%BE%AA%E7%8E%AF +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=continue%EF%BC%9A%E7%BB%A7%E7%BB%AD%E6%89%A7%E8%A1%8C%E5%BD%93%E5%89%8D%E5%BE%AA%E7%8E%AF colour : this.eventColor var code = '{"type": "continue"},\n'; return code; @@ -1758,25 +2000,63 @@ return code; wait_s - : '等待用户操作并获得按键或点击信息' + : '等待用户操作并获得按键或点击信息' BGNL? Newline waitContext* BEND Newline /* wait_s -tooltip : wait: 等待用户操作并获得按键或点击信息(具体用法看文档) -helpUrl : https://h5mota.com/games/template/docs/#/event?id=wait%EF%BC%9A%E7%AD%89%E5%BE%85%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C +tooltip : wait: 等待用户操作并获得按键或点击信息 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=wait%EF%BC%9A%E7%AD%89%E5%BE%85%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C colour : this.soundColor -var code = '{"type": "wait"},\n'; +waitContext_0 = waitContext_0 ? (', "data": [\n' + waitContext_0 + ']') : ''; +var code = '{"type": "wait"' + waitContext_0 + '},\n'; return code; */; +waitContext + : waitContext_1 + | waitContext_2 + | waitContext_empty; + + +waitContext_1 + : '按键的场合' '键值' Int BGNL? Newline action+ BEND Newline + +/* waitContext_1 +tooltip : wait: 等待用户操作并获得按键或点击信息 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=wait%EF%BC%9A%E7%AD%89%E5%BE%85%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C +colour : this.subColor +var code = '{"case": "keyboard", "keycode": ' + Int_0 + ', "action": [\n' + action_0 + ']},\n'; +return code; +*/; + + +waitContext_2 + : '点击的场合' '像素x范围' PosString '~' PosString '; y范围' PosString '~' PosString BGNL? Newline action+ BEND Newline + +/* waitContext_2 +tooltip : wait: 等待用户操作并获得按键或点击信息 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=wait%EF%BC%9A%E7%AD%89%E5%BE%85%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C +default : [0,32,0,32] +colour : this.subColor +var code = '{"case": "mouse", "px": [' + PosString_0 + ',' + PosString_1 + '], "py": [' + PosString_2 + ',' + PosString_3 + '], "action": [\n' + action_0 + ']},\n'; +return code; +*/; + +waitContext_empty : Newline + +/* waitContext_empty +return ''; +*/; + + waitAsync_s : '等待所有异步事件执行完毕' /* waitAsync_s tooltip : waitAsync: 等待所有异步事件执行完毕 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=waitAsync%ef%bc%9a%e7%ad%89%e5%be%85%e6%89%80%e6%9c%89%e5%bc%82%e6%ad%a5%e4%ba%8b%e4%bb%b6%e6%89%a7%e8%a1%8c%e5%ae%8c%e6%af%95 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=waitAsync%ef%bc%9a%e7%ad%89%e5%be%85%e6%89%80%e6%9c%89%e5%bc%82%e6%ad%a5%e4%ba%8b%e4%bb%b6%e6%89%a7%e8%a1%8c%e5%ae%8c%e6%af%95 colour : this.soundColor var code = '{"type": "waitAsync"},\n'; return code; @@ -1789,7 +2069,7 @@ callBook_s /* callBook_s tooltip : callBook: 呼出怪物手册;返回游戏后将继续执行后面的事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=callBook%ef%bc%9a%e5%91%bc%e5%87%ba%e6%80%aa%e7%89%a9%e6%89%8b%e5%86%8c +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=callBook%ef%bc%9a%e5%91%bc%e5%87%ba%e6%80%aa%e7%89%a9%e6%89%8b%e5%86%8c colour : this.soundColor var code = '{"type": "callBook"},\n'; return code; @@ -1802,7 +2082,7 @@ callSave_s /* callSave_s tooltip : callSave: 呼出存档页面 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=callSave%ef%bc%9a%e5%91%bc%e5%87%ba%e5%ad%98%e6%a1%a3%e7%95%8c%e9%9d%a2 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=callSave%ef%bc%9a%e5%91%bc%e5%87%ba%e5%ad%98%e6%a1%a3%e7%95%8c%e9%9d%a2 colour : this.soundColor var code = '{"type": "callSave"},\n'; return code; @@ -1810,36 +2090,463 @@ return code; autoSave_s - : '自动存档' + : '自动存档' '不提示' Bool Newline /* autoSave_s tooltip : autoSave: 自动存档 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=autoSave%ef%bc%9a%e8%87%aa%e5%8a%a8%e5%ad%98%e6%a1%a3 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=autoSave%ef%bc%9a%e8%87%aa%e5%8a%a8%e5%ad%98%e6%a1%a3 colour : this.soundColor -var code = '{"type": "autoSave"},\n'; +default : [false] +Bool_0 = Bool_0 ? (', "nohint": true') : ''; +var code = '{"type": "autoSave"'+Bool_0+'},\n'; return code; */; callLoad_s - : '呼出读档页面' + : '呼出读档页面' Newline /* callLoad_s tooltip : callLoad: 呼出存档页面;返回游戏后将继续执行后面的事件 -helpUrl : https://h5mota.com/games/template/docs/#/event?id=callLoad%ef%bc%9a%e5%91%bc%e5%87%ba%e8%af%bb%e6%a1%a3%e7%95%8c%e9%9d%a2 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=callLoad%ef%bc%9a%e5%91%bc%e5%87%ba%e8%af%bb%e6%a1%a3%e7%95%8c%e9%9d%a2 colour : this.soundColor var code = '{"type": "callLoad"},\n'; return code; */; + +previewUI_s + : 'ui绘制并预览' '(双击此项可进行预览)' BGNL? Newline action+ BEND Newline + + +/* previewUI_s +tooltip : previewUI: ui绘制并预览 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=previewUI%ef%bc%9aUI%e7%bb%98%e5%88%b6%e5%b9%b6%e9%a2%84%e8%a7%88 +var code = ['{"type": "previewUI", "action": [\n', action_0,']},\n'].join(''); +return code; +*/; + + +clearMap_s + : '清除画布' '起点像素' 'x' PosString 'y' PosString '宽' PosString '高' PosString Newline + +/* clearMap_s +tooltip : clearMap: 清除画布 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=clearMap%ef%bc%9a%e6%b8%85%e9%99%a4%e7%94%bb%e5%b8%83 +colour : this.subColor +default : ["0", "0", "100", "100"] +var code = '{"type": "clearMap", "x": ' + PosString_0 + ', "y": ' + PosString_1 + + ', "width": ' + PosString_2 + ', "height": ' + PosString_3 + '},\n'; +return code; +*/; + + +clearMap_1_s + : '清空画布' Newline + +/* clearMap_1_s +tooltip : clearMap: 清除画布 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=clearMap%ef%bc%9a%e6%b8%85%e9%99%a4%e7%94%bb%e5%b8%83 +colour : this.subColor +var code = '{"type": "clearMap"},\n'; +return code; +*/; + + +setAttribute_s + : '设置画布属性' '字体' EvalString? '填充样式' EvalString? Colour '边框样式' EvalString? Colour BGNL? '线宽度' EvalString? '不透明度' EvalString? '对齐' TextAlign_List '基准线' TextBaseline_List 'z值' EvalString? Newline + +/* setAttribute_s +tooltip : setAttribute:设置画布属性 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setAttribute%ef%bc%9a%e8%ae%be%e7%bd%ae%e7%94%bb%e5%b8%83%e5%b1%9e%e6%80%a7 +colour : this.subColor +default : ["","",'rgba(255,255,255,1)',"",'rgba(255,255,255,1)',"","",null,null,""] +TextAlign_List_0 = TextAlign_List_0==='null'?'': ', "align": "'+TextAlign_List_0+'"'; +TextBaseline_List_0 = TextBaseline_List_0==='null'?'': ', "baseline": "'+TextBaseline_List_0+'"'; +var colorRe = MotaActionFunctions.pattern.colorRe; +var fontRe = MotaActionFunctions.pattern.fontRe; +if (EvalString_0) { + if (!fontRe.test(EvalString_0)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); + EvalString_0 = ', "font": "' + EvalString_0 + '"'; +} +if (EvalString_1) { + if (!colorRe.test(EvalString_1))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_1 = ', "fillStyle": ['+EvalString_1+']'; +} +if (EvalString_2) { + if (!colorRe.test(EvalString_2))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_2 = ', "strokeStyle": ['+EvalString_2+']'; +} +if (EvalString_3) { + if (!/^\d+$/.test(EvalString_3))throw new Error('线宽必须是整数或不填'); + EvalString_3 = ', "lineWidth": '+EvalString_3; +} +if (EvalString_4) { + var f = parseFloat(EvalString_4); + if (isNaN(f) || f<0 || f>1) throw new Error('不透明度必须是0到1的浮点数或不填'); + EvalString_4 = ', "alpha": '+EvalString_4; +} +if (EvalString_5) { + if (!/^\d+$/.test(EvalString_5))throw new Error('z值必须是整数或不填'); + EvalString_5 = ', "z": '+EvalString_5; +} +var code = '{"type": "setAttribute"'+EvalString_0+EvalString_1+EvalString_2+EvalString_3+EvalString_4+TextAlign_List_0+TextBaseline_List_0+EvalString_5+'},\n'; +return code; +*/; + +fillText_s + : '绘制文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '字体' EvalString? '最大宽度' EvalString? BGNL? EvalString Newline + +/* fillText_s +tooltip : fillText:绘制一行文本;可以设置最大宽度进行放缩 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillText%ef%bc%9a%e7%bb%98%e5%88%b6%e6%96%87%e6%9c%ac +colour : this.subColor +default : ["0","0","",'rgba(255,255,255,1)',"","","绘制一行文本"] +var colorRe = MotaActionFunctions.pattern.colorRe; +var fontRe = MotaActionFunctions.pattern.fontRe; +if (EvalString_0) { + if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_0 = ', "style": ['+EvalString_0+']'; +} +if (EvalString_1) { + if (!fontRe.test(EvalString_1)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); + EvalString_1 = ', "font": "' + EvalString_1 + '"'; +} +if (EvalString_2) { + if (!/^\d+$/.test(EvalString_2)) throw new Error('最大宽度必须是整数或不填'); + EvalString_2 = ', "maxWidth": ' + EvalString_2; +} +var code = '{"type": "fillText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+EvalString_2+', "text": "'+EvalString_3+'"},\n'; +return code; +*/; + +fillBoldText_s + : '绘制描边文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '字体' EvalString? BGNL? EvalString Newline + +/* fillBoldText_s +tooltip : fillBoldText:绘制一行描边文本 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillBoldText%ef%bc%9a%e7%bb%98%e5%88%b6%e6%8f%8f%e8%be%b9%e6%96%87%e6%9c%ac +colour : this.subColor +default : ["0","0","",'rgba(255,255,255,1)',"","绘制一行描边文本"] +var colorRe = MotaActionFunctions.pattern.colorRe; +var fontRe = MotaActionFunctions.pattern.fontRe; +if (EvalString_0) { + if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_0 = ', "style": ['+EvalString_0+']'; +} +if (EvalString_1) { + if (!fontRe.test(EvalString_1)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填'); + EvalString_1 = ', "font": "' + EvalString_1 + '"'; +} +var code = '{"type": "fillBoldText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+', "text": "'+EvalString_2+'"},\n'; +return code; +*/; + +drawTextContent_s + : '绘制多行文本' EvalString BGNL? '起点像素' 'x' PosString 'y' PosString '最大宽度' EvalString? '颜色' EvalString? Colour BGNL? '对齐' TextAlign_List '字体大小' EvalString? '行距' EvalString? '粗体' Bool Newline + +/* drawTextContent_s +tooltip : drawTextContent:绘制多行文本 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawTextContent%ef%bc%9a%e7%bb%98%e5%88%b6%e5%a4%9a%e8%a1%8c%e6%96%87%e6%9c%ac +colour : this.subColor +default : ["绘制多行文本\\n可双击编辑","0","0","","",'rgba(255,255,255,1)',null,"","",false] +var colorRe = MotaActionFunctions.pattern.colorRe; +TextAlign_List_0 = TextAlign_List_0==='null'?'': ', "align": "'+TextAlign_List_0+'"'; +Bool_0 = Bool_0 ? (', "bold": true') : ''; +if (EvalString_1) { + if (!/^\d+$/.test(EvalString_1)) throw new Error('最大宽度必须是整数或不填'); + EvalString_1 = ', "maxWidth": ' + EvalString_1; +} +if (EvalString_2) { + if (!colorRe.test(EvalString_2))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_2 = ', "color": ['+EvalString_2+']'; +} +if (EvalString_3) { + if (!/^\d+$/.test(EvalString_3)) throw new Error('字体大小必须是整数或不填'); + EvalString_3 = ', "fontSize": ' + EvalString_3; +} +if (EvalString_4) { + if (!/^\d+$/.test(EvalString_4)) throw new Error('行距必须是整数或不填'); + EvalString_4 = ', "lineHeight": ' + EvalString_4; +} +var code = '{"type": "drawTextContent", "text": "'+EvalString_0+'", "left": '+PosString_0+', "top": '+PosString_1+TextAlign_List_0+EvalString_1+EvalString_2+EvalString_3+EvalString_4+Bool_0+'},\n'; +return code; +*/; + +fillRect_s + : '绘制矩形' '起点像素' 'x' PosString 'y' PosString '宽' PosString '高' PosString '颜色' EvalString? Colour Newline + +/* fillRect_s +tooltip : fillRect:绘制矩形 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillRect%ef%bc%9a%e7%bb%98%e5%88%b6%e7%9f%a9%e5%bd%a2 +colour : this.subColor +default : ["0","0","flag:x","300","",null] +var colorRe = MotaActionFunctions.pattern.colorRe; +if (EvalString_0) { + if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_0 = ', "style": ['+EvalString_0+']'; +} +var code = '{"type": "fillRect", "x": '+PosString_0+', "y": '+PosString_1+', "width": '+PosString_2+', "height": '+PosString_3+EvalString_0+'},\n'; +return code; +*/; + +strokeRect_s + : '绘制矩形边框' '起点像素' 'x' PosString 'y' PosString '宽' PosString '高' PosString '颜色' EvalString? Colour '线宽' EvalString? Newline + +/* strokeRect_s +tooltip : strokeRect:绘制矩形边框 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=strokeRect%ef%bc%9a%e7%bb%98%e5%88%b6%e7%9f%a9%e5%bd%a2%e8%be%b9%e6%a1%86 +colour : this.subColor +default : ["0","0","flag:x","300","",null,""] +var colorRe = MotaActionFunctions.pattern.colorRe; +if (EvalString_0) { + if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_0 = ', "style": ['+EvalString_0+']'; +} +if (EvalString_1) { + if (!/^\d+$/.test(EvalString_1))throw new Error('线宽必须是整数或不填'); + EvalString_1 = ', "lineWidth": '+EvalString_1; +} +var code = '{"type": "strokeRect", "x": '+PosString_0+', "y": '+PosString_1+', "width": '+PosString_2+', "height": '+PosString_3+EvalString_0+EvalString_1+'},\n'; +return code; +*/; + +drawLine_s + : '绘制线段' '起点像素' 'x' PosString 'y' PosString '终点像素' 'x' PosString 'y' PosString '颜色' EvalString? Colour '线宽' EvalString? Newline + +/* drawLine_s +tooltip : drawLine:绘制线段 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawLine%ef%bc%9a%e7%bb%98%e5%88%b6%e7%ba%bf%e6%ae%b5 +colour : this.subColor +default : ["0","0","flag:x","300","",null,""] +var colorRe = MotaActionFunctions.pattern.colorRe; +if (EvalString_0) { + if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_0 = ', "style": ['+EvalString_0+']'; +} +if (EvalString_1) { + if (!/^\d+$/.test(EvalString_1))throw new Error('线宽必须是整数或不填'); + EvalString_1 = ', "lineWidth": '+EvalString_1; +} +var code = '{"type": "drawLine", "x1": '+PosString_0+', "y1": '+PosString_1+', "x2": '+PosString_2+', "y2": '+PosString_3+EvalString_0+EvalString_1+'},\n'; +return code; +*/; + +drawArrow_s + : '绘制箭头' '起点像素' 'x' PosString 'y' PosString '终点像素' 'x' PosString 'y' PosString '颜色' EvalString? Colour '线宽' EvalString? Newline + +/* drawArrow_s +tooltip : drawArrow:绘制箭头 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawArrow%ef%bc%9a%e7%bb%98%e5%88%b6%e7%ae%ad%e5%a4%b4 +colour : this.subColor +default : ["0","0","flag:x","300","",null,""] +var colorRe = MotaActionFunctions.pattern.colorRe; +if (EvalString_0) { + if (!colorRe.test(EvalString_0))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1'); + EvalString_0 = ', "style": ['+EvalString_0+']'; +} +if (EvalString_1) { + if (!/^\d+$/.test(EvalString_1))throw new Error('线宽必须是整数或不填'); + EvalString_1 = ', "lineWidth": '+EvalString_1; +} +var code = '{"type": "drawArrow", "x1": '+PosString_0+', "y1": '+PosString_1+', "x2": '+PosString_2+', "y2": '+PosString_3+EvalString_0+EvalString_1+'},\n'; +return code; +*/; + + +fillPolygon_s + : '绘制多边形' '顶点像素列表' 'x' EvalString 'y' EvalString '颜色' EvalString? Colour Newline + +/* fillPolygon_s +tooltip : fillPolygon:绘制多边形 +helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillPolygon%ef%bc%9a%e7%bb%98%e5%88%b6%e5%a4%9a%e8%be%b9%e5%bd%a2 +colour : this.subColor +default : ["0,0,100","0,100,0","",null] +var colorRe = MotaActionFunctions.pattern.colorRe; +var pattern2 = /^([+-]?\d+)(,[+-]?\d+)*$/; +if(!pattern2.test(EvalString_0) || !pattern2.test(EvalString_1))throw new Error('坐标格式错误,请右键点击帮助查看格式'); +EvalString_0=EvalString_0.split(','); +EvalString_1=EvalString_1.split(','); +if(EvalString_0.length!==EvalString_1.length)throw new Error('坐标格式错误,请右键点击帮助查看格式'); +for(var ii=0;ii'+xml_text+''); @@ -2852,19 +3870,22 @@ MotaActionFunctions.parse = function(obj,type) { MotaActionFunctions.EvalString_pre = function(EvalString){ if (EvalString.indexOf('__door__')!==-1) throw new Error('请修改开门变量__door__,如door1,door2,door3等依次向后。请勿存在两个门使用相同的开门变量。'); + EvalString = MotaActionFunctions.replaceFromName(EvalString); return EvalString.replace(/([^\\])"/g,'$1\\"').replace(/^"/g,'\\"').replace(/""/g,'"\\"'); } MotaActionFunctions.IdString_pre = function(IdString){ if (IdString.indexOf('__door__')!==-1) throw new Error('请修改开门变量__door__,如door1,door2,door3等依次向后。请勿存在两个门使用相同的开门变量。'); - if (IdString && !(/^[0-9a-zA-Z_][0-9a-zA-Z_\-:]*$/.test(IdString)))throw new Error('id: '+IdString+'中包含了0-9 a-z A-Z _ - :之外的字符'); + IdString = MotaActionFunctions.replaceFromName(IdString); + if (IdString && !(MotaActionFunctions.pattern.id.test(IdString)) && !(MotaActionFunctions.pattern.idWithoutFlag.test(IdString))) + throw new Error('id: '+IdString+'中包含了0-9 a-z A-Z _ - :之外的字符'); return IdString; } MotaActionFunctions.PosString_pre = function(PosString){ if (!PosString || /^-?\d+$/.test(PosString)) return PosString; - if (!(/^flag:[0-9a-zA-Z_][0-9a-zA-Z_:]*$/.test(PosString)))throw new Error(PosString+'中包含了0-9 a-z A-Z _ :之外的字符,或者是没有以flag: 开头'); - return '"'+PosString+'"'; + //if (!(MotaActionFunctions.pattern.id.test(PosString)))throw new Error(PosString+'中包含了0-9 a-z A-Z _ 和中文之外的字符,或者是没有以flag: 开头'); + return '"'+MotaActionFunctions.replaceFromName(PosString)+'"'; } MotaActionFunctions.StepString_pre = function(StepString){ @@ -2905,4 +3926,153 @@ MotaActionFunctions.StepString_pre = function(StepString){ return ans; } +MotaActionFunctions.pattern=MotaActionFunctions.pattern||{}; +MotaActionFunctions.pattern.id=/^(flag|global):([a-zA-Z0-9_\u4E00-\u9FCC]+)$/; +MotaActionFunctions.pattern.id2=/^flag:([a-zA-Z0-9_\u4E00-\u9FCC]+),flag:([a-zA-Z0-9_\u4E00-\u9FCC]+)$/; +MotaActionFunctions.pattern.idWithoutFlag=/^[0-9a-zA-Z_][0-9a-zA-Z_\-:]*$/; +MotaActionFunctions.pattern.colorRe=/^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(,0(\.\d+)?|,1)?$/; +MotaActionFunctions.pattern.fontRe=/^(italic )?(bold )?(\d+)px ([a-zA-Z0-9_\u4E00-\u9FCC]+)$/; + + +MotaActionFunctions.pattern.replaceStatusList = [ + // 保证顺序! + ["hpmax", "生命上限"], + ["hp", "生命"], + ["name", "名称"], + ["lv", "等级"], + ["atk", "攻击"], + ["def", "防御"], + ["mdef", "魔防"], + ["manamax", "魔力上限"], + ["mana", "魔力"], + ["money", "金币"], + ["experience", "经验"], + ["steps", "步数"], +]; + +MotaActionFunctions.pattern.replaceItemList = [ + // 保证顺序! + ["yellowKey", "黄钥匙"], + ["blueKey", "蓝钥匙"], + ["redKey", "红钥匙"], + ["redJewel", "红宝石"], + ["blueJewel", "蓝宝石"], + ["greenJewel", "绿宝石"], + ["yellowJewel", "黄宝石"], + ["redPotion", "红血瓶"], + ["bluePotion", "蓝血瓶"], + ["yellowPotion", "黄血瓶"], + ["greenPotion", "绿血瓶"], + ["sword1", "铁剑"], + ["sword2", "银剑"], + ["sword3", "骑士剑"], + ["sword4", "圣剑"], + ["sword5", "神圣剑"], + ["shield1", "铁盾"], + ["shield2", "银盾"], + ["shield3", "骑士盾"], + ["shield4", "圣盾"], + ["shield5", "神圣盾"], + ["superPotion", "圣水"], + ["moneyPocket", "金钱袋"], + ["book", "怪物手册"], + ["fly", "楼层传送器"], + ["coin", "幸运金币"], + ["snow", "冰冻徽章"], + ["cross", "十字架"], + ["knife", "屠龙匕首"], + ["shoes", "绿鞋"], + ["bigKey", "大黄门钥匙"], + ["greenKey", "绿钥匙"], + ["steelKey", "铁门钥匙"], + ["pickaxe", "破墙镐"], + ["icePickaxe", "破冰镐"], + ["bomb", "炸弹"], + ["centerFly", "中心对称飞行器"], + ["upFly", "上楼器"], + ["downFly", "下楼器"], + ["earthquake", "地震卷轴"], + ["poisonWine", "解毒药水"], + ["weakWine", "解衰药水"], + ["curseWine", "解咒药水"], + ["superWine", "万能药水"], + ["hammer", "圣锤"], + ["lifeWand", "生命魔杖"], + ["jumpShoes", "跳跃靴"], +]; + +MotaActionFunctions.pattern.replaceEnemyList = [ + // 保证顺序! + ["name", "名称"], + ["atk", "攻击"], + ["def", "防御"], + ["money", "金币"], + ["experience", "经验"], + ["point", "加点"], + ["special", "属性"], +]; + +MotaActionFunctions.disableReplace = false; + +MotaActionFunctions.replaceToName = function (str) { + if (!str || MotaActionFunctions.disableReplace) return str; + var map = {}, list = []; + MotaActionFunctions.pattern.replaceStatusList.forEach(function (v) { + map[v[0]] = v[1]; list.push(v[0]); + }); + str = str.replace(new RegExp("status:(" + list.join("|") + ")", "g"), function (a, b) { + return map[b] ? ("状态:" + map[b]) : b; + }).replace(/status:/g, "状态:"); + map = {}; list = []; + MotaActionFunctions.pattern.replaceItemList.forEach(function (v) { + map[v[0]] = v[1]; list.push(v[0]); + }); + str = str.replace(new RegExp("item:(" + list.join("|") + ")", "g"), function (a, b) { + return map[b] ? ("物品:" + map[b]) : b; + }).replace(/item:/g, "物品:"); + str = str.replace(/flag:/g, "变量:").replace(/switch:/g, "独立开关:").replace(/global:/g, "全局存储:"); + + map = {}; list = []; + MotaActionFunctions.pattern.replaceEnemyList.forEach(function (v) { + map[v[0]] = v[1]; list.push(v[0]); + }); + str = str.replace(new RegExp("enemy:([a-zA-Z0-9_]+).(" + list.join("|") + ")", "g"), function (a, b, c) { + return map[c] ? ("怪物:" + b + ":" + map[c]) : c; + }).replace(/enemy:/g, "怪物:"); + + str = str.replace(/blockId:/g, "图块ID:").replace(/blockCls:/g, "图块类别:").replace(/equip:/g, "装备孔:"); + return str; +} + +MotaActionFunctions.replaceFromName = function (str) { + if (!str || MotaActionFunctions.disableReplace) return str; + var map = {}, list = []; + MotaActionFunctions.pattern.replaceStatusList.forEach(function (v) { + map[v[1]] = v[0]; list.push(v[1]); + }); + str = str.replace(new RegExp("状态[::](" + list.join("|") + ")", "g"), function (a, b) { + return map[b] ? ("status:" + map[b]) : b; + }).replace(/状态[::]/g, "status:"); + map = {}; list = []; + MotaActionFunctions.pattern.replaceItemList.forEach(function (v) { + map[v[1]] = v[0]; list.push(v[1]); + }); + str = str.replace(new RegExp("物品[::](" + list.join("|") + ")", "g"), function (a, b) { + return map[b] ? ("item:" + map[b]) : b; + }).replace(/物品[::]/g, "item:"); + str = str.replace(/变量[::]/g, "flag:").replace(/独立开关[::]/g, "switch:").replace(/全局存储[::]/g, "global:"); + + map = {}; list = []; + MotaActionFunctions.pattern.replaceEnemyList.forEach(function (v) { + map[v[1]] = v[0]; list.push(v[1]); + }); + str = str.replace(new RegExp("(enemy:|怪物[::])([a-zA-Z0-9_]+)[::](" + list.join("|") + ")", "g"), function (a, b, c, d) { + return map[d] ? ("enemy:" + c + ":" + map[d]) : d; + }).replace(/怪物[::]/g, "enemy:"); + + str = str.replace(/图块I[dD][::]/g, "blockId:").replace(/图块类别[::]/g, "blockCls:").replace(/装备孔[::]/g, "equip:"); + + return str; +} + */ \ No newline at end of file diff --git a/_server/README.md b/_server/README.md index d23bfb43..7bd750b1 100644 --- a/_server/README.md +++ b/_server/README.md @@ -1,142 +1,57 @@ # editor -[重构](refactoring.md) +直接使用游戏运行时(之后简称core)的代码来绘制游戏画面, 借助fs.js来实现浏览器编辑文件. 通过表格编辑数据, blockly图块编辑事件, code mirror编辑文本的可视化魔塔编辑器. ->! 以下均是v2.0时的说明, 未及时改动 +![](img_md/view1.png) -本目录下所有文件,以及`../editor.html`和`../启动服务.exe`([源码](http://github.com/ckcz123/mota-js-server/))是地图编辑器的所有组件. +左侧数据区, 中间地图区, 右侧素材区 -`editor.js`,`editor_file.js`和`editor_mode.js`耦合较强,`editor_blockly.js`和`editor_multi.js`和`fs.js`基本可以独立使用. +![](img_md/view2.png) -## 各组件功能 +事件编辑器 -### 总体上 +![](img_md/view3.png) -以`display:none`的形式引入了`index.html`的`dom`,修改了原来的`.gameCanvas #ui #data`等的名字以避免冲突 +脚本编辑器 -通过`main.init('editor')`加载数据 +> 此文件是editor的结构说明, 不是使用文档 -`editor`模式关闭了部分动画 +## 组成 -`core.drawMap`中`editor`模式下不再画图,而是生成画图的函数提供给`editor` +本目录下所有文件,以及`../editor.html`,`../editor-mobile.html`和`../启动服务.exe`,`../server.py`是地图编辑器的所有组件. -`editor`模式下`GlobalAnimate`可以独立的选择是否播放 +### 父目录 ++ editor(-mobile).html + 编辑器的[入口页面](http://127.0.0.1:1055/editor.html) + 以`display:none`的形式引入了core的`index.html`的`dom`,修改了原来的`.gameCanvas #ui #data`等的名字以避免冲突 ++ 启动服务.exe [源码](http://github.com/ckcz123/mota-js-server/) + 为fs.js提供后端支持, 同时集成了一些实用工具 ++ server.py + 非windows平台中为fs.js提供后端支持 -`core.playBgm`和`core.playSound`中非`play`模式不再播放声音 +### core -`core.show`和`core.hide`中非`play`模式不再进行动画而是立刻完成并执行回调 +游戏运行时中部分代码根据`main.mod=='editor'`进行了调整 -`editor`模式不执行`core.resize` ++ 通过`main.init('editor')`加载数据 -### editor.js ++ `editor`模式关闭了部分动画 -``` js -editor.mapInit();//清空地图 -editor.changeFloor('MT2')//切换地图 -editor.util.guid()//产生一个可以作为id的长随机字符串 -``` ++ `core.drawMap`中`editor`模式下不再画图,而是生成画图的函数提+ 供给`editor` -`editor.updateMap`中画未定义快的报错 ++ `editor`模式下`GlobalAnimate`可以独立的选择是否播放 -### editor_file.js ++ `core.playBgm`和`core.playSound`中非`play`模式不再播放声音 -提供了以下函数进行楼层`map`数组相关的操作 -```javascript -editor.file.getFloorFileList -editor.file.loadFloorFile -editor.file.saveFloorFile -editor.file.saveFloorFileAs -``` ++ `core.show`和`core.hide`中非`play`模式不再进行动画而是立刻+ 完成并执行回调 -编辑模式有关的查询 -```javascript -editor.file.editItem('redJewel',[],function(a){console.log(a)}); -editor.file.editEnemy('redBat',[],function(a){console.log(a)}); -editor.file.editLoc(2,0,[],function(a){console.log(a)}); -editor.file.editFloor([],function(a){console.log(a)}); -editor.file.editTower([],function(a){console.log(a)}); -editor.file.editFunctions([],function(a){console.log(a)}); -``` ++ `editor`模式不执行`core.resize` -编辑模式有关的编辑 -```javascript -editor.info={images: "terrains", y: 9}; -editor.file.changeIdAndIdnum('yellowWall2',16,editor.info,function(a){console.log(a)}); -editor.file.editItem('book',[["change","['items']['name']","怪物手册的新名字"]],function(a){console.log(a)}); -editor.file.editEnemy('redBat',[['change',"['atk']",20]],function(a){console.log(a)}); -editor.file.editLoc(2,6,[["change","['afterBattle']",null]],function(a){console.log(a)}); -editor.file.editFloor([["change","['title']",'样板 33 层']],function(a){console.log(a)}); -editor.file.editTower([["change","['values']['lavaDamage']",200]],function(a){console.log(a)}); -editor.file.editFunctions(["change","['events']['afterChangeLight']","function(x,y){console.log(x,y)}"],function(a){console.log(a)}); -``` - -### editor_mode.js -生成表格并绑定事件的函数 -```javascript -editor.mode.loc(); -editor.mode.enemyitem(); -editor.mode.floor(); -editor.mode.tower(); -editor.mode.functions(); -``` - -切换模式 -```javascript -editor.mode.onmode('');//清空 -editor.mode.onmode('save');//保存 -editor.mode.onmode('nextChange');//下次onmode时前端进行切换 - -editor.mode.onmode('loc'); -editor.mode.onmode('enemyitem'); -editor.mode.onmode('floor'); -editor.mode.onmode('tower'); -editor.mode.onmode('functions'); -editor.mode.onmode('map'); -editor.mode.onmode('appendpic'); -``` -在`onmode('save')`时,改动才会保存到文件,涉及到图片的改动需要刷新页面使得`editor`能看到 - -表格的`onchange`的实现中,获得当前模式的方式.不注意的话,修改`index.html`中页面的结构,会被坑 -```javascript -var node = thisTr.parentNode; -while (!editor_mode._ids.hasOwnProperty(node.getAttribute('id'))) { - node = node.parentNode; -} -editor_mode.onmode(editor_mode._ids[node.getAttribute('id')]); -``` - -`editor.mode.listen`中提供了追加素材的支持. - - -### editor_blockly.js - -把选定`id_`的事件用blockly编辑 -``` js -editor_blockly.import(id_,{type:'event'}); -``` - -把文本区域的代码转换成图块 -``` js -editor_blockly.parse(); -``` - -### editor_multi.js - -用[CodeMirror](https://github.com/codemirror/CodeMirror) 实现有高亮的多行文本编辑 - -编辑选定`id_`的文本域 -``` js -editor_multi.import(id_,{lint:true}) -``` - -编辑blockly方块的特定域 -``` js -editor_multi.multiLineEdit(value,b,f,{lint:true},callback) -``` ### fs.js -模仿node的fs模块提供如下api,与`启动服务.exe`配合为js提供文件读写功能 +依照[issue#31](https://github.com/ckcz123/mota-js/issues/13)的约定, 模仿node的fs模块提供如下api,与`启动服务.exe`,`server.py`配合为js提供文件读写功能, 是编辑器成立的前提 + ``` js fs.readFile('file.in','utf-8',callback) //读文本文件 @@ -164,3 +79,195 @@ fs.readdir(path, callback) //所有参数不允许缺省 ``` +### editor_multi.js + +用[CodeMirror](https://github.com/codemirror/CodeMirror) 实现有高亮的多行文本编辑 + +编辑选定`id_`的文本域 +``` js +editor_multi.import(id_,{lint:true}) +``` + +编辑blockly方块的特定域 +``` js +editor_multi.multiLineEdit(value,b,f,{lint:true},callback) +``` + +配置表格 +``` js +editor_multi.editCommentJs(mod) +``` + +### MotaAction.g4 + +通过[antlr-blockly](https://github.com/zhaouv/antlr-blockly)的语法定义core中各事件对应的方块. + +借助google的[blockly](https://github.com/google/blockly)来实现事件的可视化编辑. + +入口方块以`_m`结尾 + +一般语句写在`action`中, 以`_s`结尾 + +### editor_blockly.js + +把选定`id_`的事件用blockly编辑 +``` js +editor_blockly.import(id_,{type:'event'}); +``` + +把文本区域的代码转换成图块 +``` js +editor_blockly.parse(); +``` + +`initscript中`的`toolboxObj`定义了侧边栏中显示的图块 + +自定义`Blockly.FieldColour.prototype.createWidget_`修改了颜色选择器的行为 + +自定义`Blockly.FieldTextInput.prototype.showInlineEditor_`添加了自动补全 + + +### editor_mode.js + +用于切换数据区 + +加载数据 +```javascript +editor.mode.loc(); +editor.mode.enemyitem(); +editor.mode.floor(); +editor.mode.tower(); +editor.mode.functions(); +``` + +切换模式 +```javascript +editor.mode.onmode('');//清空 +editor.mode.onmode('save');//保存 +editor.mode.onmode('nextChange');//下次onmode时前端进行切换 + +editor.mode.onmode('loc'); +editor.mode.onmode('enemyitem'); +editor.mode.onmode('floor'); +editor.mode.onmode('tower'); +editor.mode.onmode('functions'); +editor.mode.onmode('map'); +editor.mode.onmode('appendpic'); +``` +在`onmode('save')`时,改动才会保存到文件,涉及到图片的改动需要刷新页面使得`editor`能看到 + +数据区一些通用的函数也定义在这里 + +### editor_table.js + +处理表格的生成, 及其响应的事件 + +其接受来自../project/\*.js的数据`obj`和来自table/\*.comment.js的注释`commentObj` + +commentObj的结构如示例 +``` js +{ + "_type": "object", + "_data": { + "events": { + "_type": "object", + "_data": { + "resetGame": { + "_leaf": true, + "_type": "textarea", + "_lint": true, + "_data": "重置整个游戏" + }, + "setInitData": { + "_leaf": true, + "_type": "textarea", + "_lint": true, + "_data": "设置初始属性" + }, +``` +一层正常数据, 一层`_`开头的结构说明, 忽略`_`层的话与obj同结构 + +通过 +``` js +editor.table.objToTable(obj, commentObj) +editor.table.objToTr +editor.table.objToTd +``` +遍历这两个对象来生成表格, 叶节点根据`_type`渲染成对应的dom + +表格的值变化`onchange`, 双击`dblclickfunc`, 删除`deletefunc`, 添加`addfunc`也定义在此文件 + +### editor_mappanel.js + +与地图区相关的功能 ++ 画地图 线/矩形/tileset ++ 通过地图选中事件或素材 ++ 右键菜单 ++ 切换楼层 ++ 大地图移动可视窗口 + +### editor_materialpanel.js + +与素材区相关的功能 ++ 选中 ++ 展开/折叠 + +### editor_datapanel.js + +与数据区相关的功能 (且与表格无关的功能) ++ 地图编辑 + - 创建新地图 + - 批量创建 ++ 地图选点 ++ 图块属性 + - 注册素材 + - 修改id ++ 楼层属性 + - 修改楼层id ++ 全塔属性 ++ 脚本编辑 ++ 追加素材 + - 选择导入的区域 + - 导入图片 + - 改色相 + - 选中图片中的格子 + - 确认追加 ++ 公共事件 ++ 插件编写 + +### editor_ui.js + +ui事件中没有具体到前三个区中的函数 ++ 响应点击 ++ 快捷键 ++ 显示帮助 ++ UI预览 & 地图选点相关 + +### editor_util.js + +一些通用的函数 ++ 生成id ++ HTML转义 ++ 像素处理 ++ base64的encode/decode ++ 检查值是否为空 + +### editor_listen.js + +界面与功能的绑定 + +### editor_file.js + +包装fs.js, 把数据读写到对应的文件 + +### editor_game.js + +游戏数据的处理 + +此部分的重构未完成, 实际上是由editor_file.js和editor_file_unsorted.js来做的 + +### editor.js + +初始化加整合各模块 + +现状是还放了一些游戏数据有关的函数未挪到editor_game, 以及部分和入口页面生成有关的函数 \ No newline at end of file diff --git a/_server/colorPicker/LICENSE.md b/_server/colorPicker/LICENSE.md deleted file mode 100644 index 8394aa4a..00000000 --- a/_server/colorPicker/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Peter Dematté - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/_server/config.json b/_server/config.json new file mode 100644 index 00000000..fe6a45a9 --- /dev/null +++ b/_server/config.json @@ -0,0 +1 @@ +{"lastUsed":[],"foldPerCol":50,"folded":false,"editorLastFloorId":null,"disableBlocklyReplace":false,"shortcut":{"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0}} \ No newline at end of file diff --git a/_server/css/editor.css b/_server/css/editor.css index dd9c0e18..642fd168 100644 --- a/_server/css/editor.css +++ b/_server/css/editor.css @@ -40,7 +40,7 @@ body { width: 104px; } -#left, #mid, #right { +#left, #mid, #mid2, #right { border-radius: 2px; box-sizing: border-box; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12); @@ -130,6 +130,14 @@ body { height: 630px; } +#mid2 { + position: absolute; + left: 448px; + top: 650px; + width: 440px; + bottom: 10px; +} + #mapEdit { overflow: hidden; } @@ -142,6 +150,13 @@ body { height: 416px; } +#lastUsedDiv { + height: auto; + bottom: 0; + margin-top: 20px; + overflow: hidden; +} + #mid .tools { position: absolute; width: 425px; @@ -239,15 +254,15 @@ body { position: absolute; left: 900px; top: 10px; - width: 440px; - height: 630px; + right: 0; + bottom: 0; /* border: 1px solid rgb(238, 13, 13); */ } #iconLib { position: absolute; - width: 435px; - height: 620px; + right: 0; + bottom: 0; left: 5px; top: 5px; overflow: auto; @@ -262,10 +277,6 @@ body { position: absolute; } -.egameCanvas { - position: absolute; -} - .gameCanvas { position: absolute; } @@ -287,6 +298,15 @@ body { 0 0 0 3px #000; } +#iconExpandBtn { + position: absolute; + left: 20px; + bottom: 30px; + font-size: 15px; + padding: 6px; + display: none; +} + .warnText { color: #D50000; font-weight: 700; @@ -458,4 +478,88 @@ table.row td { left: 6px; top: 6px; background-image:url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJmdWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpldj0iaHR0cDovL3d3dy53My5vcmcvMjAwMS94bWwtZXZlbnRzIj4KPGc%2BCgk8cG9seWdvbiBmaWxsPSIjNjY2IiBwb2ludHM9IjkuMjA3LDYuMTI2IDcuNzkzLDcuNTQxIDExLjc5MywxMS41NDEgMTMuMjA3LDEwLjEyNiIgLz4KCTxwYXRoIGZpbGw9IiM2NjYiIGQ9Ik01LjkxNywyYzEuNjA4LDAsMi45MTcsMS4zMDgsMi45MTcsMi45MTdTNy41MjUsNy44MzMsNS45MTcsNy44MzNTMyw2LjUyNSwzLDQuOTE3UzQuMzA4LDIsNS45MTcsMgoJCSBNNS45MTcsMEMzLjIwMSwwLDEsMi4yMDEsMSw0LjkxN3MyLjIwMSw0LjkxNyw0LjkxNyw0LjkxN3M0LjkxNy0yLjIwMSw0LjkxNy00LjkxN0MxMC44MzMsMi4yMDEsOC42MzIsMCw1LjkxNywwTDUuOTE3LDB6IiAvPgo8L2c%2BCjwvc3ZnPgo%3D'); +} + +#uieventDiv { + display: none; + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + background: rgba(127,127,127,0.6); + z-index: 2000 +} + +#uieventDialog { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -60%); + background: white; + width: 436px; +} + +#uieventHead { + margin: 10px 20px; +} + +#uieventTitle { + font-weight: bold; +} + +#uieventNo { + float: right; +} + +#uieventYes { + display: none; + float: right; + margin-right: 15px; +} + +#uieventBody { + width: 416px; + height: 416px; + position: relative; + margin-left: 10px; + margin-bottom: 5px; + overflow: hidden; +} + +#uievent { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; +} + +#selectPoint { + display: none; + margin-left: 10px; + margin-bottom: 10px; +} + +#selectPointFloor { + margin-right: 10px; +} + +#selectPointButtons { + display: inline; +} + +#selectPointBox { + position: absolute; + z-index: 75; + width: 26px; + height: 26px; + margin: 3px 0 0 3px; + padding: 0; + /* display: none; */ + box-sizing: border-box; + background-color: rgba(255, 255, 255, 0.0); + border: 1px solid #000; + box-shadow: 0 0 0 2px #fff, + 0 0 0 3px #000; } \ No newline at end of file diff --git a/_server/css/editor_mobile.css b/_server/css/editor_mobile.css index 1120c9fd..6dfaa651 100644 --- a/_server/css/editor_mobile.css +++ b/_server/css/editor_mobile.css @@ -110,6 +110,10 @@ body { position: absolute; } +#mid2 { + display: none; +} + #mapEdit { overflow: hidden; } @@ -247,10 +251,6 @@ body { position: absolute; } -.egameCanvas { - position: absolute; -} - .gameCanvas { position: absolute; } @@ -272,6 +272,15 @@ body { 0 0 0 3px #000; } +#iconExpandBtn { + position: absolute; + left: 20px; + bottom: 30px; + font-size: 15px; + padding: 6px; + display: none; +} + .warnText { color: #D50000; font-weight: 700; @@ -433,7 +442,7 @@ div.row .rowtd .rowtext{ font: normal 2.5vw Arial, sans-serif; list-style: none; margin: 0; - padding: 4px 7em 4px 28px; + padding: 4px 7em 4px 4px; white-space: nowrap; /* padding-left: 12px; */ @@ -482,4 +491,88 @@ div.row .rowtd .rowtext{ margin: 2px 0; border-radius: 3px; width: 90px; +} + +#uieventDiv { + display: none; + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + background: rgba(127,127,127,0.6); + z-index: 2000 +} + +#uieventDialog { + position: fixed; + top: 50%; + left: 0; + transform: translateY(-50%); + background: white; + width: 100vw; +} + +#uieventHead { + margin: 10px 20px; +} + +#uieventTitle { + font-weight: bold; +} + +#uieventNo { + float: right; +} + +#uieventYes { + display: none; + float: right; + margin-right: 15px; +} + +#uieventBody { + width: 100vw; + height: 100vw; + position: relative; + margin-left: 0; + margin-bottom: 5px; + overflow: hidden; +} + +#uievent { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; +} + +#selectPoint { + display: none; + margin-left: 10px; + margin-bottom: 10px; +} + +#selectPointFloor { + margin-right: 10px; +} + +#selectPointButtons { + display: inline; +} + +#selectPointBox { + position: absolute; + z-index: 75; + width: 26px; + height: 26px; + margin: 3px 0 0 3px; + padding: 0; + /* display: none; */ + box-sizing: border-box; + background-color: rgba(255, 255, 255, 0.0); + border: 1px solid #000; + box-shadow: 0 0 0 2px #fff, + 0 0 0 3px #000; } \ No newline at end of file diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index a1859f65..33f1a9bd 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -7,7 +7,7 @@ .leftTab { overflow: auto; position: absolute; - height: 630px; + bottom: 0; } .leftTab > * { @@ -121,6 +121,7 @@ display: block; width: 100%; overflow: auto; + word-break: break-all; } .etable table th { @@ -157,14 +158,19 @@ } .etable tr > :nth-child(3) { - width: 60% + width: 35%; +} + +.etable tr > :nth-child(4) { + width: 25%; + padding: 0; } .etable table { overflow: visible; } -.etable tr:not(:first-child) > :last-child:hover { +.etable tr:not(:first-child) > :nth-child(3):hover { border: 1px solid rgb(87, 198, 232); box-shadow: 0px 0px 3px rgb(87, 198, 232); } @@ -175,14 +181,17 @@ box-shadow: 0px 0px 3px rgb(87, 232, 198); } -.etable tr:not(:first-child) > :last-child { +.etable tr:not(:first-child) > :nth-child(3) { margin: 0; padding: 0; height: 100%; - width: 100%; position: relative; } +.etable tr > :nth-child(4) { + text-align: center; +} + div.etableInputDiv { position: absolute; padding: 5px 0 0 5px; diff --git a/_server/css/editor_mode_mobile.css b/_server/css/editor_mode_mobile.css index 3098df27..bb680213 100644 --- a/_server/css/editor_mode_mobile.css +++ b/_server/css/editor_mode_mobile.css @@ -135,6 +135,7 @@ display: block; width: 100%; overflow: auto; + word-break: break-all; } .etable table th { @@ -171,14 +172,19 @@ } .etable tr > :nth-child(3) { - width: 60% + width: 30%; +} + +.etable tr > :nth-child(4) { + width: 30%; + text-align: center; } .etable table { overflow: visible; } -.etable tr:not(:first-child) > :last-child:hover { +.etable tr:not(:first-child) > :nth-child(3):hover { border: 1px solid rgb(87, 198, 232); box-shadow: 0px 0px 3px rgb(87, 198, 232); } @@ -189,11 +195,10 @@ box-shadow: 0px 0px 3px rgb(87, 232, 198); } -.etable tr:not(:first-child) > :last-child { +.etable tr:not(:first-child) > :nth-child(3) { margin: 0; padding: 0; height: 100%; - width: 100%; position: relative; } diff --git a/_server/editor.js b/_server/editor.js index 812d901d..7ddc0f60 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -4,6 +4,107 @@ function editor() { this.layerMod = "map";//["fgmap","map","bgmap"] this.isMobile = false; + this.dom={ + body:document.body, + eui:document.getElementById('eui'), + euiCtx:document.getElementById('eui').getContext('2d'), + efgCtx:document.getElementById('efg').getContext('2d'), + mid:document.getElementById('mid'), + mapEdit:document.getElementById('mapEdit'), + selectFloor:document.getElementById('selectFloor'), + iconExpandBtn :document.getElementById('iconExpandBtn'), + dataSelection : document.getElementById('dataSelection'), + iconLib:document.getElementById('iconLib'), + midMenu:document.getElementById('midMenu'), + extraEvent: document.getElementById('extraEvent'), + chooseThis : document.getElementById('chooseThis'), + chooseInRight : document.getElementById('chooseInRight'), + copyLoc : document.getElementById('copyLoc'), + moveLoc : document.getElementById('moveLoc'), + clearEvent : document.getElementById('clearEvent'), + clearLoc : document.getElementById('clearLoc'), + brushMod:document.getElementById('brushMod'), + brushMod2:document.getElementById('brushMod2'), + brushMod3:document.getElementById('brushMod3'), + bgc : document.getElementById('bg'), + bgCtx : document.getElementById('bg').getContext('2d'), + fgc : document.getElementById('fg'), + fgCtx : document.getElementById('fg').getContext('2d'), + evc : document.getElementById('event'), + evCtx : document.getElementById('event').getContext('2d'), + ev2c : document.getElementById('event2'), + ev2Ctx : document.getElementById('event2').getContext('2d'), + layerMod:document.getElementById('layerMod'), + layerMod2:document.getElementById('layerMod2'), + layerMod3:document.getElementById('layerMod3'), + viewportButtons:document.getElementById('viewportButtons'), + appendPicCanvas : document.getElementById('appendPicCanvas'), + bg : document.getElementById('appendPicCanvas').children[0], + source : document.getElementById('appendPicCanvas').children[1], + picClick : document.getElementById('appendPicCanvas').children[2], + sprite : document.getElementById('appendPicCanvas').children[3], + sourceCtx:document.getElementById('appendPicCanvas').children[1].getContext('2d'), + spriteCtx:document.getElementById('appendPicCanvas').children[3].getContext('2d'), + appendPicSelection : document.getElementById('appendPicSelection'), + selectAppend : document.getElementById('selectAppend'), + selectFileBtn :document.getElementById('selectFileBtn'), + changeFloorId :document.getElementById('changeFloorId'), + left1 : document.getElementById('left1'), + editModeSelect :document.getElementById('editModeSelect'), + mid2 : document.getElementById('mid2'), + lastUsedDiv: document.getElementById('lastUsedDiv'), + lastUsed: document.getElementById('lastUsed'), + lastUsedCtx: document.getElementById('lastUsed').getContext('2d'), + lockMode: document.getElementById('lockMode'), + }; + + this.uivalues={ + // 绘制区拖动有关 + holdingPath : 0, + stepPostfix : null,//用于存放寻路检测的第一个点之后的后续移动 + mouseOutCheck : 2, + startPos:null, + endPos:null, + // 撤销/恢复 + preMapData : [], + preMapMax: 10, + postMapData: [], + // + shortcut:{}, + copyedInfo : null, + // 折叠素材 + scrollBarHeight :0, + folded:false, + foldPerCol: 50, + // 画图区菜单 + lastRightButtonPos:[{x:0,y:0},{x:0,y:0}], + lastCopyedInfo : [null, null], + // + ratio : 1, + // blockly转义 + disableBlocklyReplace: false, + + // 绑定机关门事件相关 + bindSpecialDoor: { + loc: null, + n: -1, + enemys: [] + }, + + // 复制怪物或道具属性 + copyEnemyItem : { + type: null, + data: {} + }, + + // tile + tileSize: [1,1], + lockMode: false, + + // 最近使用的图块 + lastUsed: [], + }; + window.onerror = function (msg, url, lineNo, columnNo, error) { var string = msg.toLowerCase(); var substring = "script error"; @@ -30,6 +131,8 @@ function editor() { }; } +editor.prototype.uifunctions={}; + /* editor.loc editor.pos @@ -48,11 +151,20 @@ editor.prototype.init = function (callback) { editor.airwallImg.src = './project/images/airwall.png'; main.init('editor', function () { - editor_util_wrapper(editor); - editor_game_wrapper(editor, main, core); - editor_table_wrapper(editor); - editor_unsorted_1_wrapper(editor); - afterMainInit(); + editor.config = new editor_config(); + editor.config.load(function() { + editor_util_wrapper(editor); + editor_game_wrapper(editor, main, core); + editor_file_wrapper(editor); + editor_table_wrapper(editor); + editor_ui_wrapper(editor); + editor_mappanel_wrapper(editor); + editor_datapanel_wrapper(editor); + editor_materialpanel_wrapper(editor); + editor_listen_wrapper(editor); + editor.printe=printe; + afterMainInit(); + }) }); var afterMainInit = function () { @@ -63,10 +175,11 @@ editor.prototype.init = function (callback) { editor_file = editor_file(editor, function () { editor.file = editor_file; editor_mode = editor_mode(editor); - editor_unsorted_2_wrapper(editor_mode); editor.mode = editor_mode; - core.resetGame(core.firstData.hero, null, core.firstData.floorId, core.initStatus.maps); - core.changeFloor(core.status.floorId, null, core.firstData.hero.loc, null, function () { + core.resetGame(core.firstData.hero, null, core.firstData.floorId, core.clone(core.initStatus.maps)); + var lastFloorId = editor.config.get('editorLastFloorId', core.status.floorId); + if (core.floorIds.indexOf(lastFloorId) < 0) lastFloorId = core.status.floorId; + core.changeFloor(lastFloorId, null, core.firstData.hero.loc, null, function () { afterCoreReset(); }, true); core.events.setInitData(null); @@ -96,6 +209,17 @@ editor.prototype.init = function (callback) { editor_multi = editor_multi(); editor_blockly = editor_blockly(); + // --- 所有用到的flags + editor.used_flags = {}; + for (var floorId in editor.main.floors) { + editor.addUsedFlags(JSON.stringify(editor.main.floors[floorId])); + } + if (events_c12a15a8_c380_4b28_8144_256cba95f760.commonEvent) { + for (var name in events_c12a15a8_c380_4b28_8144_256cba95f760.commonEvent) { + editor.addUsedFlags(JSON.stringify(events_c12a15a8_c380_4b28_8144_256cba95f760.commonEvent[name])); + } + } + if (editor.useCompress == null) editor.useCompress = useCompress; if (Boolean(callback)) callback(); @@ -105,9 +229,9 @@ editor.prototype.init = function (callback) { } editor.prototype.mapInit = function () { - var ec = document.getElementById('event').getContext('2d'); + var ec = editor.dom.evCtx; ec.clearRect(0, 0, core.bigmap.width*32, core.bigmap.height*32); - document.getElementById('event2').getContext('2d').clearRect(0, 0, core.bigmap.width*32, core.bigmap.height*32); + editor.dom.ev2Ctx.clearRect(0, 0, core.bigmap.width*32, core.bigmap.height*32); editor.map = []; var sy=editor.currentFloorData.map.length,sx=editor.currentFloorData.map[0].length; for (var y = 0; y < sy; y++) { @@ -140,53 +264,80 @@ editor.prototype.changeFloor = function (floorId, callback) { }); editor.currentFloorData[name]=mapArray; } - editor.preMapData = null; + editor.uivalues.preMapData = []; + editor.uivalues.postMapData = []; + editor.uifunctions._extraEvent_bindSpecialDoor_doAction(true); core.changeFloor(floorId, null, {"x": 0, "y": 0, "direction": "up"}, null, function () { - core.bigmap.offsetX=0; - core.bigmap.offsetY=0; - editor.moveViewport(0,0); - editor.game.fetchMapFromCore(); editor.updateMap(); editor_mode.floor(); editor.drawEventBlock(); - if (callback) callback(); + + editor.viewportLoc = editor.viewportLoc || {}; + var loc = editor.viewportLoc[floorId] || [], x = loc[0] || 0, y = loc[1] || 0; + editor.setViewport(x, y); + + editor.config.set('editorLastFloorId', floorId, function() { + if (callback) callback(); + }); }); } /////////// 游戏绘图相关 /////////// editor.prototype.drawEventBlock = function () { - var fg=document.getElementById('efg').getContext('2d'); + var fg=editor.dom.efgCtx; fg.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); + var firstData = editor.game.getFirstData(); for (var i=0;i= 0) { + fg.textAlign = 'right'; + editor.game.doCoreFunc("fillBoldText", fg, index + 1, + 32 * i + 28, 32 * j + 15, '#FF7F00', '14px Verdana'); + } } } } editor.prototype.drawPosSelection = function () { this.drawEventBlock(); - var fg=document.getElementById('efg').getContext('2d'); + var fg=editor.dom.efgCtx; fg.strokeStyle = 'rgba(255,255,255,0.7)'; fg.lineWidth = 4; fg.strokeRect(32*editor.pos.x - core.bigmap.offsetX + 4, 32*editor.pos.y - core.bigmap.offsetY + 4, 24, 24); @@ -238,30 +389,61 @@ editor.prototype.updateMap = function () { //ctx.drawImage(core.material.images[tileInfo.images], 0, tileInfo.y*32, 32, 32, x*32, y*32, 32, 32); } // 绘制地图 start - var eventCtx = document.getElementById('event').getContext("2d"); - var fgCtx = document.getElementById('fg').getContext("2d"); - var bgCtx = document.getElementById('bg').getContext("2d"); - for (var y = 0; y < editor.map.length; y++) + for (var y = 0; y < editor.map.length; y++) { for (var x = 0; x < editor.map[0].length; x++) { var tileInfo = editor.map[y][x]; - drawTile(eventCtx, x, y, tileInfo); + drawTile(editor.dom.evCtx, x, y, tileInfo); tileInfo = editor.fgmap[y][x]; - drawTile(fgCtx, x, y, tileInfo); + drawTile(editor.dom.fgCtx, x, y, tileInfo); tileInfo = editor.bgmap[y][x]; - drawTile(bgCtx, x, y, tileInfo); + drawTile(editor.dom.bgCtx, x, y, tileInfo); } + } // 绘制地图 end - + + this.updateLastUsedMap(); } -editor.prototype.moveViewport=function(x,y){ - core.bigmap.offsetX = core.clamp(core.bigmap.offsetX+32*x, 0, 32*core.bigmap.width-core.__PIXELS__); - core.bigmap.offsetY = core.clamp(core.bigmap.offsetY+32*y, 0, 32*core.bigmap.height-core.__PIXELS__); +editor.prototype.updateLastUsedMap = function () { + // 绘制最近使用事件 + var ctx = editor.dom.lastUsedCtx; + ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height); + ctx.strokeStyle = 'rgba(255,128,0,0.85)'; + ctx.lineWidth = 4; + for (var i = 0; i < editor.uivalues.lastUsed.length; ++i) { + try { + var x = i % core.__SIZE__, y = parseInt(i / core.__SIZE__); + var info = editor.uivalues.lastUsed[i]; + if (!info || !info.images) continue; + if (info.isTile && core.material.images.tilesets[info.images]) { + ctx.drawImage(core.material.images.tilesets[info.images], 32 * info.x, 32 * info.y, 32, 32, x*32, y*32, 32, 32); + } else if (info.images == 'autotile' && core.material.images.autotile[info.id]) { + ctx.drawImage(core.material.images.autotile[info.id], 0, 0, 32, 32, x * 32, y * 32, 32, 32); + } else { + var per_height = info.images.endsWith('48') ? 48 : 32; + ctx.drawImage(core.material.images[info.images], 0, info.y * per_height, 32, per_height, x * 32, y * 32, 32, 32); + } + if (selectBox.isSelected() && editor.info.id == info.id) { + ctx.strokeRect(32 * x + 2, 32 * y + 2, 28, 28); + } + } catch (e) {} + } +} + +editor.prototype.setViewport=function (x, y) { + core.bigmap.offsetX = core.clamp(x, 0, 32*core.bigmap.width-core.__PIXELS__); + core.bigmap.offsetY = core.clamp(y, 0, 32*core.bigmap.height-core.__PIXELS__); + editor.viewportLoc = editor.viewportLoc || {}; + editor.viewportLoc[editor.currentFloorId] = [core.bigmap.offsetX, core.bigmap.offsetY]; core.control.updateViewport(); editor.buildMark(); editor.drawPosSelection(); } +editor.prototype.moveViewport=function(x,y){ + editor.setViewport(core.bigmap.offsetX+32*x, core.bigmap.offsetY+32*y); +} + /////////// 界面交互相关 /////////// editor.prototype.drawInitData = function (icons) { @@ -270,7 +452,11 @@ editor.prototype.drawInitData = function (icons) { var maxHeight = 700; var sumWidth = 0; editor.widthsX = {}; + editor.uivalues.folded = editor.config.get('folded', false); + // editor.uivalues.folded = true; + editor.uivalues.foldPerCol = editor.config.get('foldPerCol', 50); // var imgNames = Object.keys(images); //还是固定顺序吧; + editor.uivalues.lastUsed = editor.config.get("lastUsed", []); var imgNames = ["terrains", "animates", "enemys", "enemy48", "items", "npcs", "npc48", "autotile"]; for (var ii = 0; ii < imgNames.length; ii++) { @@ -280,20 +466,21 @@ editor.prototype.drawInitData = function (icons) { for (var im in autotiles) { tempy += autotiles[im].height; } - editor.widthsX[img] = [img, sumWidth / 32, (sumWidth + 3 * 32) / 32, tempy]; - sumWidth += 3 * 32; + var tempx = editor.uivalues.folded ? 32 : 3 * 32; + editor.widthsX[img] = [img, sumWidth / 32, (sumWidth + tempx) / 32, tempy]; + sumWidth += tempx; maxHeight = Math.max(maxHeight, tempy); continue; } - if (img == 'terrains') { - editor.widthsX[img] = [img, sumWidth / 32, (sumWidth + images[img].width) / 32, images[img].height + 32*2] - sumWidth += images[img].width; - maxHeight = Math.max(maxHeight, images[img].height + 32*2); - continue; + var width = images[img].width, height = images[img].height, mh = height; + if (editor.uivalues.folded) { + var per_height = (img == 'enemy48' || img == 'npc48' ? 48 : 32); + width = Math.ceil(height / per_height / editor.uivalues.foldPerCol) * 32; + if (width > 32) mh = per_height * editor.uivalues.foldPerCol; } - editor.widthsX[img] = [img, sumWidth / 32, (sumWidth + images[img].width) / 32, images[img].height]; - sumWidth += images[img].width; - maxHeight = Math.max(maxHeight, images[img].height); + editor.widthsX[img] = [img, sumWidth / 32, (sumWidth + width) / 32, height]; + sumWidth += width; + maxHeight = Math.max(maxHeight, mh + 64); } var tilesets = images.tilesets; for (var ii in core.tilesets) { @@ -310,82 +497,75 @@ editor.prototype.drawInitData = function (icons) { if (fullWidth > edata.width) edata.style.width = (edata.width = fullWidth) / ratio + 'px'; edata.style.height = (edata.height = fullHeight) / ratio + 'px'; */ + var iconImages = document.getElementById('iconImages'); iconImages.style.width = (iconImages.width = fullWidth) / ratio + 'px'; iconImages.style.height = (iconImages.height = fullHeight) / ratio + 'px'; - var dc = {drawImage:function(){ - var image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight; - var a=Array.prototype.slice.call(arguments) - if(arguments.length==3){ - // [image, dx, dy]=arguments - // [sx, sy, sWidth, sHeight, dWidth, dHeight]=[0,0,image.width,image.height,image.width,image.height] - image=a[0] - a=[a[0],0,0,image.width,image.height,a[1],a[2],image.width,image.height] - } - if(arguments.length==5){ - // [image, dx, dy, dWidth, dHeight]=arguments - // [sx, sy, sWidth, sHeight]=[0,0,image.width,image.height] - image=a[0] - a=[a[0],0,0,image.width,image.height,a[1],a[2],a[3],a[4]] - } - if(arguments.length==9){ - // [image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight]=arguments - } - image=a[0]; - sx=a[1]; - sy=a[2]; - sWidth=a[3]; - sHeight=a[4]; - dx=a[5]; - dy=a[6]; - dWidth=a[7]; - dHeight=a[8]; - //放弃对 dWidth, dHeight 的支持, 始终画一样大的 - var dimg=new Image() - dimg.src = image.src; - dimg.style.clip=['rect(',sy,'px,',sx+sWidth,'px,',sy+sHeight,'px,',sx,'px)'].join('') - dimg.style.top=dy-sy+'px' - dimg.style.left=dx-sx+'px' - dimg.width=image.width/ratio - dimg.height=image.height/ratio - iconImages.appendChild(dimg) - }} - // var dc = edata.getContext('2d'); - var nowx = 0; - var nowy = 0; + var drawImage = function (image, x, y) { + image.style.left = x + 'px'; + image.style.top = y + 'px'; + iconImages.appendChild(image); + } + + var nowx = 0, nowy = 0; for (var ii = 0; ii < imgNames.length; ii++) { var img = imgNames[ii]; if (img == 'terrains') { - (function(image,dc,nowx){ + (function(image,nowx){ if (image.complete) { - dc.drawImage(image, nowx, 32); + drawImage(image, nowx, 32); core.material.images.airwall = image; delete(editor.airwallImg); } else image.onload = function () { - dc.drawImage(image, nowx, 32); + drawImage(image, nowx, 32); core.material.images.airwall = image; delete(editor.airwallImg); editor.updateMap(); } - })(editor.airwallImg,dc,nowx); - dc.drawImage(images[img], nowx, 32*2); - nowx += images[img].width; + })(editor.airwallImg,nowx); + if (editor.uivalues.folded) { + // --- 单列 & 折行 + var subimgs = core.splitImage(images[img], 32, editor.uivalues.foldPerCol * 32); + var frames = images[img].width / 32; + for (var i = 0; i < subimgs.length; i+=frames) { + drawImage(subimgs[i], nowx, i==0?2*32:0); + nowx += 32; + } + } + else { + drawImage(images[img], nowx, 32*2); + nowx += images[img].width; + } continue; } if (img == 'autotile') { var autotiles = images[img]; + var tempx = editor.uivalues.folded ? 32 : 96; for (var im in autotiles) { - dc.drawImage(autotiles[im], 0, 0, 96, 128, nowx, nowy, 96, 128); + var subimgs = core.splitImage(autotiles[im], tempx, autotiles[im].height); + drawImage(subimgs[0], nowx, nowy); nowy += autotiles[im].height; } - nowx += 3 * 32; + nowx += tempx; continue; } - dc.drawImage(images[img], nowx, 0) - nowx += images[img].width; + if (editor.uivalues.folded) { + // --- 单列 & 折行 + var per_height = img.endsWith('48') ? 48 : 32; + var subimgs = core.splitImage(images[img], 32, editor.uivalues.foldPerCol * per_height); + var frames = images[img].width / 32; + for (var i = 0; i < subimgs.length; i+=frames) { + drawImage(subimgs[i], nowx, 0); + nowx += 32; + } + } + else { + drawImage(images[img], nowx, 0); + nowx += images[img].width; + } } for (var ii in core.tilesets) { var img = core.tilesets[ii]; - dc.drawImage(tilesets[img], nowx, 0) + drawImage(tilesets[img], nowx, 0); nowx += tilesets[img].width; } //editor.mapInit(); @@ -459,14 +639,20 @@ editor.prototype.setSelectBoxFromInfo=function(thisevent){ pos.x=editor.widthsX[thisevent.images][1]; pos.y=thisevent.y; if(thisevent.x)pos.x+=thisevent.x; - if(thisevent.images=='terrains')pos.y+=2; ysize = thisevent.images.endsWith('48') ? 48 : 32; + if (editor.uivalues.folded && core.tilesets.indexOf(thisevent.images)==-1) { + pos.x += Math.floor(pos.y / editor.uivalues.foldPerCol); + pos.y %= editor.uivalues.foldPerCol; + } + if(pos.x == 0) pos.y+=2; } - var dataSelection = document.getElementById('dataSelection'); - dataSelection.style.left = pos.x * 32 + 'px'; - dataSelection.style.top = pos.y * ysize + 'px'; - dataSelection.style.height = ysize - 6 + 'px'; - setTimeout(function(){selectBox.isSelected(true);}); + editor.dom.dataSelection.style.left = pos.x * 32 + 'px'; + editor.dom.dataSelection.style.top = pos.y * ysize + 'px'; + editor.dom.dataSelection.style.height = ysize - 6 + 'px'; + setTimeout(function(){ + selectBox.isSelected(true); + editor.updateLastUsedMap(); + }); editor.info = JSON.parse(JSON.stringify(thisevent)); tip.infos(JSON.parse(JSON.stringify(thisevent))); editor.pos=pos; @@ -474,12 +660,31 @@ editor.prototype.setSelectBoxFromInfo=function(thisevent){ editor_mode.onmode('enemyitem'); } +editor.prototype.addUsedFlags = function (s) { + s.replace(/flag:([a-zA-Z0-9_\u4E00-\u9FCC]+)/g, function (s0, s1) { + editor.used_flags[s1] = true; return s0; + }); + s.replace(/flags\.([a-zA-Z_]\w*)/g, function (s0, s1) { + editor.used_flags[s1] = true; return s0; + }); + if (window.flags) { + for (var s in editor.used_flags) { + if (!(s in window.flags)) { + window.flags[s] = null; + } + } + } +} + editor.prototype.listen = function () { - // 移动至 editor_unsorted_1.js + // 移动至 editor_listen.js }//绑定事件 editor.prototype.mobile_listen=function(){ - // 移动至 editor_unsorted_1.js + // 移动至 editor_listen.js } + + + editor = new editor(); \ No newline at end of file diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 02453bab..aa221608 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -2,7 +2,11 @@ editor_blockly = function () { var editor_blockly = {}; - initscript = String.raw` +/////////////////initscript start///////////////////////////// +// do not use String.raw because of highlighting +// Comment tagged templates +// https://marketplace.visualstudio.com/items?itemName=bierner.comment-tagged-templates + initscript = /* js */` (function(){ var getCategory = function(name,custom){ for(var node of document.getElementById('toolbox').children) { @@ -22,6 +26,16 @@ editor_blockly = function () { "本事件触发一次后会消失", {"type": "hide", "time": 500}, ],'event'), + MotaActionFunctions.actionParser.parse({ + "condition": "flag:__door__==2", + "currentFloor": true, + "priority": 0, + "delayExecute": false, + "multiExecute": false, + "data": [ + {"type": "openDoor", "loc": [10,5]} + ], + },'autoEvent'), MotaActionBlocks['changeFloor_m'].xmlText(), MotaActionFunctions.actionParser.parse([{ "id": "moneyShop1", @@ -30,12 +44,17 @@ editor_blockly = function () { "textInList": "1F金币商店", "use": "money", "need": "20+10*times*(times+1)", - "text": "勇敢的武士啊,给我\${need}金币就可以:", + "text": "勇敢的武士啊,给我\\\${need}金币就可以:", "choices": [ {"text": "生命+800", "effect": "status:hp+=800"}, {"text": "攻击+4", "effect": "status:atk+=4"}, - {"text": "防御+4", "effect": "status:def+=4"}, - {"text": "魔防+10", "effect": "status:mdef+=10"} + ] + },{ + "id": "itemShop", + "item": true, + "textInList": "道具商店", + "choices": [ + {"id": "yellowKey", "number": 10, "money": 10} ] },{ "id": "keyShop1", @@ -50,6 +69,7 @@ editor_blockly = function () { MotaActionBlocks['eachArrive_m'].xmlText(), MotaActionBlocks['level_m'].xmlText(), MotaActionBlocks['commonEvent_m'].xmlText(), + MotaActionBlocks['item_m'].xmlText(), ], '显示文字':[ MotaActionBlocks['text_0_s'].xmlText(), @@ -72,20 +92,21 @@ editor_blockly = function () { MotaActionBlocks['confirm_s'].xmlText(), MotaActionBlocks['choices_s'].xmlText([ '选择剑或者盾','流浪者','man',MotaActionBlocks['choicesContext'].xmlText([ - '剑','','',null,MotaActionFunctions.actionParser.parseList([{"type": "openDoor", "loc": [3,3]}]), + '剑','','',null,'',MotaActionFunctions.actionParser.parseList([{"type": "openDoor", "loc": [3,3]}]), MotaActionBlocks['choicesContext'].xmlText([ - '盾','','',null,MotaActionFunctions.actionParser.parseList([{"type": "openDoor", "loc": [9,3]}]), + '盾','','',null,'',MotaActionFunctions.actionParser.parseList([{"type": "openDoor", "loc": [9,3]}]), ]) ]) ]), ], '数据相关':[ - MotaActionBlocks['setValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','hp']) - ]), MotaActionBlocks['addValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','hp']) + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false ]), + MotaActionBlocks['setValue_s'].xmlText([ + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false + ]), + MotaActionBlocks['setEnemy_s'].xmlText(), MotaActionBlocks['setFloor_s'].xmlText(), MotaActionBlocks['setGlobalAttribute_s'].xmlText(), MotaActionBlocks['setGlobalValue_s'].xmlText(), @@ -93,7 +114,6 @@ editor_blockly = function () { MotaActionBlocks['input_s'].xmlText(), MotaActionBlocks['input2_s'].xmlText(), MotaActionBlocks['update_s'].xmlText(), - MotaActionBlocks['updateEnemys_s'].xmlText(), MotaActionBlocks['moveHero_s'].xmlText(), MotaActionBlocks['jumpHero_s'].xmlText(), MotaActionBlocks['changeFloor_s'].xmlText(), @@ -101,6 +121,8 @@ editor_blockly = function () { MotaActionBlocks['changePos_1_s'].xmlText(), MotaActionBlocks['battle_s'].xmlText(), MotaActionBlocks['useItem_s'].xmlText(), + MotaActionBlocks['loadEquip_s'].xmlText(), + MotaActionBlocks['unloadEquip_s'].xmlText(), MotaActionBlocks['openShop_s'].xmlText(), MotaActionBlocks['disableShop_s'].xmlText(), MotaActionBlocks['setHeroIcon_s'].xmlText(), @@ -108,6 +130,7 @@ editor_blockly = function () { MotaActionBlocks['unfollow_s'].xmlText(), ], '地图处理':[ + MotaActionBlocks['battle_1_s'].xmlText(), MotaActionBlocks['openDoor_s'].xmlText(), MotaActionBlocks['closeDoor_s'].xmlText(), MotaActionBlocks['show_s'].xmlText(), @@ -122,8 +145,8 @@ editor_blockly = function () { MotaActionBlocks['hideFloorImg_s'].xmlText(), ], '事件控制':[ - MotaActionBlocks['if_s'].xmlText(), MotaActionBlocks['if_1_s'].xmlText(), + MotaActionBlocks['if_s'].xmlText(), MotaActionFunctions.actionParser.parseList({"type": "switch", "condition": "判别值", "caseList": [ {"action": [{"type": "comment", "text": "当判别值是值的场合执行此事件"}]}, {"action": [], "nobreak": true}, @@ -141,12 +164,19 @@ editor_blockly = function () { ], '特效/声音':[ MotaActionBlocks['sleep_s'].xmlText(), - MotaActionBlocks['wait_s'].xmlText(), + MotaActionFunctions.actionParser.parseList({"type": "wait", "data": [ + {"case": "keyboard", "keycode": 13, "action": [{"type": "comment", "text": "当按下回车(keycode=13)时执行此事件"}]}, + {"case": "mouse", "px": [0,32], "py": [0,32], "action": [{"type": "comment", "text": "当点击地图左上角时执行此事件"}]}, + ]}), MotaActionBlocks['waitAsync_s'].xmlText(), MotaActionBlocks['vibrate_s'].xmlText(), MotaActionBlocks['animate_s'].xmlText(), + MotaActionBlocks['setViewport_s'].xmlText(), + MotaActionBlocks['moveViewport_s'].xmlText(), MotaActionBlocks['showStatusBar_s'].xmlText(), MotaActionBlocks['hideStatusBar_s'].xmlText(), + MotaActionBlocks['showHero_s'].xmlText(), + MotaActionBlocks['hideHero_s'].xmlText(), MotaActionBlocks['setCurtain_0_s'].xmlText(), MotaActionBlocks['setCurtain_1_s'].xmlText(), MotaActionBlocks['screenFlash_s'].xmlText(), @@ -164,16 +194,39 @@ editor_blockly = function () { MotaActionBlocks['autoSave_s'].xmlText(), MotaActionBlocks['callLoad_s'].xmlText(), ], + 'UI绘制':[ + MotaActionBlocks['previewUI_s'].xmlText(), + MotaActionBlocks['clearMap_s'].xmlText(), + MotaActionBlocks['clearMap_1_s'].xmlText(), + MotaActionBlocks['setAttribute_s'].xmlText(), + MotaActionBlocks['fillText_s'].xmlText(), + MotaActionBlocks['fillBoldText_s'].xmlText(), + MotaActionBlocks['drawTextContent_s'].xmlText(), + MotaActionBlocks['fillRect_s'].xmlText(), + MotaActionBlocks['strokeRect_s'].xmlText(), + MotaActionBlocks['drawLine_s'].xmlText(), + MotaActionBlocks['drawArrow_s'].xmlText(), + MotaActionBlocks['fillPolygon_s'].xmlText(), + MotaActionBlocks['strokePolygon_s'].xmlText(), + MotaActionBlocks['fillCircle_s'].xmlText(), + MotaActionBlocks['strokeCircle_s'].xmlText(), + MotaActionBlocks['drawImage_s'].xmlText(), + MotaActionBlocks['drawImage_1_s'].xmlText(), + MotaActionBlocks['drawIcon_s'].xmlText(), + MotaActionBlocks['drawBackground_s'].xmlText(), + MotaActionBlocks['drawSelector_s'].xmlText(), + MotaActionBlocks['drawSelector_1_s'].xmlText(), + ], '原生脚本':[ MotaActionBlocks['function_s'].xmlText(), MotaActionBlocks['unknown_s'].xmlText(), ], '值块':[ - MotaActionBlocks['setValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','hp']) - ]), MotaActionBlocks['addValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','hp']) + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false + ]), + MotaActionBlocks['setValue_s'].xmlText([ + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']), '', false ]), MotaActionBlocks['expression_arithmetic_0'].xmlText(), MotaActionBlocks['evFlag_e'].xmlText(), @@ -182,33 +235,37 @@ editor_blockly = function () { MotaActionBlocks['idString_e'].xmlText(), MotaActionBlocks['idString_1_e'].xmlText(), MotaActionBlocks['idString_2_e'].xmlText(), + MotaActionBlocks['idString_3_e'].xmlText(), + MotaActionBlocks['idString_4_e'].xmlText(), + MotaActionBlocks['idString_5_e'].xmlText(), + MotaActionBlocks['idString_6_e'].xmlText(), MotaActionBlocks['evalString_e'].xmlText(), ], '常见事件模板':[ '', MotaActionFunctions.actionParser.parseList({"type": "if", "condition": "!core.musicStatus.bgmStatus", "true": [ - "\t[系统提示]你当前音乐处于关闭状态,本塔开音乐游戏效果更佳" + "\\t[系统提示]你当前音乐处于关闭状态,本塔开音乐游戏效果更佳" ], "false": [] }), '', MotaActionFunctions.actionParser.parse([ - {"type": "choices", "text": "\t[老人,man]少年,你需要钥匙吗?\n我这里有大把的!", + {"type": "choices", "text": "\\t[老人,man]少年,你需要钥匙吗?\\n我这里有大把的!", "choices": [ - {"text": "黄钥匙(\${9+flag:shop_times}金币)", "color": [255,255,0,1], "action": [ + {"text": "黄钥匙(\\\${9+flag:shop_times}金币)", "color": [255,255,0,1], "action": [ {"type": "if", "condition": "status:money>=9+flag:shop_times", "true": [ {"type": "addValue", "name": "status:money", "value": "-(9+flag:shop_times)"}, {"type": "addValue", "name": "item:yellowKey", "value": "1"}, ], "false": [ - "\t[老人,man]你的金钱不足!", + "\\t[老人,man]你的金钱不足!", {"type": "revisit"} ] } ]}, - {"text": "蓝钥匙(\${18+2*flag:shop_times}金币)", "color": [0,0,255,1], "action": [ + {"text": "蓝钥匙(\\\${18+2*flag:shop_times}金币)", "color": [0,0,255,1], "action": [ ]}, {"text": "离开", "action": [ {"type": "exit"} @@ -361,7 +418,7 @@ function omitedcheckUpdateFunction(event) { } } try { - var code = Blockly.JavaScript.workspaceToCode(workspace).replace(/\\i/g, '\\\\i'); + var code = Blockly.JavaScript.workspaceToCode(workspace).replace(/\\\\(i|c|d|e)/g, '\\\\\\\\$1'); codeAreaHL.setValue(code); } catch (error) { codeAreaHL.setValue(String(error)); @@ -433,6 +490,18 @@ function omitedcheckUpdateFunction(event) { } })(); `; +/////////////////initscript end ///////////////////////////// + + editor.uivalues.disableBlocklyReplace = editor.config.get("disableBlocklyReplace", false); + var replaceCheckbox = document.getElementById('blocklyReplace'); + replaceCheckbox.checked = !editor.uivalues.disableBlocklyReplace; + + editor_blockly.triggerReplace = function () { + editor.uivalues.disableBlocklyReplace = !replaceCheckbox.checked; + editor.config.set("disableBlocklyReplace", !replaceCheckbox.checked); + if (MotaActionFunctions) MotaActionFunctions.disableReplace = !replaceCheckbox.checked; + alert("已" + (replaceCheckbox.checked ? "开启" : "关闭") + "中文变量名替换!\n关闭并重开事件编辑器以生效。"); + } var input_ = ''; editor_blockly.runOne = function () { @@ -463,6 +532,7 @@ function omitedcheckUpdateFunction(event) { } input_ = xhr.responseText; editor_blockly.runOne(); + MotaActionFunctions.disableReplace = editor.uivalues.disableBlocklyReplace; } xhr.open('GET', '_server/MotaAction.g4', true); xhr.send(null); @@ -503,8 +573,7 @@ function omitedcheckUpdateFunction(event) { MotaActionFunctions.parse( eval('obj=' + codeAreaHL.getValue().replace(/[<>&]/g, function (c) { return {'<': '<', '>': '>', '&': '&'}[c]; - }).replace(/\\r/g, '\\\\r').replace(/\\f/g, '\\\\f') - .replace(/\\i/,'\\\\i')), + }).replace(/\\(r|f|i|c|d|e)/g,'\\\\$1')), document.getElementById('entryType').value ); } @@ -578,14 +647,86 @@ function omitedcheckUpdateFunction(event) { return; } var code = Blockly.JavaScript.workspaceToCode(editor_blockly.workspace); - code = code.replace(/\\i/g, '\\\\i'); + code = code.replace(/\\(i|c|d|e)/g, '\\\\$1'); eval('var obj=' + code); + if (this.checkAsync(obj) && confirm("警告!存在不等待执行完毕的事件但却没有用【等待所有异步事件处理完毕】来等待" + + "它们执行完毕,这样可能会导致录像检测系统出问题。\n你要返回修改么?")) return; setvalue(JSON.stringify(obj)); } + // 检查"不等待处理完毕" + editor_blockly.checkAsync = function (obj) { + if (!(obj instanceof Array)) return false; + var hasAsync = false; + for (var i = 0; i < obj.length; ++i) { + var one = obj[i]; + if (one.type == 'if' && (this.checkAsync(one['true']) || this.checkAsync(one['false']))) + return true; + if ((one.type == 'while' || one.type == 'dowhile') && this.checkAsync(one.data)) + return true; + if (one.type == 'if' && (this.checkAsync(one.yes) || this.checkAsync(one.no))) + return true; + if (one.type == 'choices') { + var list = one.choices; + if (list instanceof Array) { + for (var j = 0; j < list.length; j++) { + if (this.checkAsync(list[j].action)) return true; + } + } + } + if (one.type == 'switch') { + var list = one.caseList; + if (list instanceof Array) { + for (var j = 0; j < list.length; j++) { + if (this.checkAsync(list[j].action)) return true; + } + } + } + if (one.async && one.type != 'animate') hasAsync = true; + if (one.type == 'waitAsync') hasAsync = false; + } + return hasAsync; + } + + var previewBlock = function (b) { + var types = [ + "previewUI_s", "clearMap_s", "clearMap_1_s", "setAttribute_s", "fillText_s", + "fillBoldText_s", "fillRect_s", "strokeRect_s", "drawLine_s", + "drawArrow_s", "fillPolygon_s", "strokePolygon_s", "fillCircle_s", "strokeCircle_s", + "drawImage_s", "drawImage_1_s", "drawIcon_s", "drawBackground_s", "drawSelector_s", "drawSelector_1_s", + "waitContext_2" + ]; + if (b && types.indexOf(b.type)>=0) { + try { + var code = "[" + Blockly.JavaScript.blockToCode(b).replace(/\\(i|c|d|e)/g, '\\\\$1') + "]"; + eval("var obj="+code); + if (obj.length > 0 && b.type == 'waitContext_2') { + var dt = obj[0]; + editor.uievent.previewUI([{"type": "fillRect", "x": dt.px[0], "y": dt.py[0], + "width": "(" + dt.px[1] + ")-(" + dt.px[0] + ")", "height": "(" + dt.py[1] + ")-(" + dt.py[0] + ")", + "style": "rgba(255,0,0,0.5)"}]) + } + else if (obj.length > 0 && b.type.startsWith(obj[0].type)) { + if (b.type == 'previewUI_s') + editor.uievent.previewUI(obj[0].action); + else editor.uievent.previewUI([obj[0]]); + } + } catch (e) {main.log(e);} + return true; + } + return false; + } + editor_blockly.doubleClickBlock = function (blockId) { var b = editor_blockly.workspace.getBlockById(blockId); - //console.log(b); + + if (previewBlock(b)) return; + + if (b && b.type in selectPointBlocks) { // selectPoint + this.selectPoint(); + return; + } + var textStringDict = { 'text_0_s': 'EvalString_0', 'text_1_s': 'EvalString_2', @@ -597,6 +738,7 @@ function omitedcheckUpdateFunction(event) { 'function_s': 'RawEvalString_0', 'shopsub': 'EvalString_3', 'confirm_s': 'EvalString_0', + 'drawTextContent_s': 'EvalString_0', } var f = b ? textStringDict[b.type] : null; if (f) { @@ -615,7 +757,7 @@ function omitedcheckUpdateFunction(event) { 'comment_s', 'show_s', 'hide_s', - 'setValue_s', + 'addValue_s', 'if_s', 'battle_s', 'openDoor_s', @@ -644,40 +786,26 @@ function omitedcheckUpdateFunction(event) { // Index from 1 - 9 editor_blockly.openToolbox = function(index) { - // var element = document.getElementById(':'+index); - // if (element == null || element.getAttribute("aria-selected")=="true") return; - // element.click(); - editor_blockly.workspace.toolbox_.tree_.setSelectedItem(editor_blockly.workspace.toolbox_.tree_.children_[index-1]); + if (index < 0) index += editor_blockly.workspace.toolbox_.tree_.children_.length; + editor_blockly.workspace.toolbox_.tree_.setSelectedItem(editor_blockly.workspace.toolbox_.tree_.children_[index]); } editor_blockly.reopenToolbox = function(index) { - // var element = document.getElementById(':'+index); - // if (element == null) return; - // if (element.getAttribute("aria-selected")=="true") element.click(); - // element.click(); - editor_blockly.workspace.toolbox_.tree_.setSelectedItem(editor_blockly.workspace.toolbox_.tree_.children_[index-1]); - editor_blockly.workspace.getFlyout_().show(editor_blockly.workspace.toolbox_.tree_.children_[index-1].blocks); + if (index < 0) index += editor_blockly.workspace.toolbox_.tree_.children_.length; + editor_blockly.workspace.toolbox_.tree_.setSelectedItem(editor_blockly.workspace.toolbox_.tree_.children_[index]); + editor_blockly.workspace.getFlyout_().show(editor_blockly.workspace.toolbox_.tree_.children_[index].blocks); } editor_blockly.closeToolbox = function() { - /* - for (var i=1; i<=10; i++) { - var element = document.getElementById(':'+i); - if (element && element.getAttribute("aria-selected")=="true") { - element.click(); - return; - } - } - */ editor_blockly.workspace.toolbox_.clearSelection(); } var searchInput = document.getElementById("searchBlock"); searchInput.onfocus = function () { - editor_blockly.reopenToolbox(10); + editor_blockly.reopenToolbox(-1); } searchInput.oninput = function () { - editor_blockly.reopenToolbox(10); + editor_blockly.reopenToolbox(-1); } editor_blockly.searchBlock = function (value) { @@ -702,6 +830,342 @@ function omitedcheckUpdateFunction(event) { return results.length == 0 ? editor_blockly.lastUsedType : results; } + // ------ select point ------ + + // id: [x, y, floorId, forceFloor] + var selectPointBlocks = { + "changeFloor_m": ["Number_0", "Number_1", "IdString_0", true], + "jumpHero_s": ["PosString_0", "PosString_1"], + "changeFloor_s": ["PosString_0", "PosString_1", "IdString_0", true], + "changePos_0_s": ["PosString_0", "PosString_1"], + "battle_1_s": ["PosString_0", "PosString_1"], + "openDoor_s": ["PosString_0", "PosString_1", "IdString_0"], + "closeDoor_s": ["PosString_0", "PosString_1"], + "show_s": ["EvalString_0", "EvalString_1", "IdString_0"], + "hide_s": ["EvalString_0", "EvalString_1", "IdString_0"], + "setBlock_s": ["EvalString_1", "EvalString_2", "IdString_0"], + "move_s": ["PosString_0", "PosString_1"], + "jump_s": ["PosString_2", "PosString_3"], // 跳跃暂时只考虑终点 + "showBgFgMap_s": ["EvalString_0", "EvalString_1", "IdString_0"], + "hideBgFgMap_s": ["EvalString_0", "EvalString_1", "IdString_0"], + "setBgFgBlock_s": ["EvalString_1", "EvalString_2", "IdString_0"], + "showFloorImg_s": ["EvalString_0", "EvalString_1", "IdString_0"], + "hideFloorImg_s": ["EvalString_0", "EvalString_1", "IdString_0"], + "trigger_s": ["PosString_0", "PosString_1"], + "insert_2_s": ["PosString_0", "PosString_1", "IdString_0"], + "animate_s": ["EvalString_0", "EvalString_0"], + "setViewport_s": ["PosString_0", "PosString_1"] + } + + editor_blockly.selectPoint = function () { + var block = Blockly.selected, arr = null; + var floorId = editor.currentFloorId, pos = editor.pos, x = pos.x, y = pos.y; + if (block != null && block.type in selectPointBlocks) { + arr = selectPointBlocks[block.type]; + var xv = parseInt(block.getFieldValue(arr[0])), yv = parseInt(block.getFieldValue(arr[1])); + if (block.type == 'animate_s') { + var v = block.getFieldValue(arr[0]).split(","); + xv = parseInt(v[0]); yv = parseInt(v[1]); + } + if (!isNaN(xv)) x = xv; + if (!isNaN(yv)) y = yv; + if (arr[2] != null) floorId = block.getFieldValue(arr[2]) || floorId; + } + editor.uievent.selectPoint(floorId, x, y, arr && arr[2] == null, function (fv, xv, yv) { + if (!arr) return; + if (arr[2] != null) { + if (fv != editor.currentFloorId) block.setFieldValue(fv, arr[2]); + else block.setFieldValue(arr[3] ? fv : "", arr[2]); + } + if (block.type == 'animate_s') { + block.setFieldValue(xv+","+yv, arr[0]); + } + else { + block.setFieldValue(xv+"", arr[0]); + block.setFieldValue(yv+"", arr[1]); + } + if (block.type == 'changeFloor_m') { + block.setFieldValue("floorId", "Floor_List_0"); + block.setFieldValue("loc", "Stair_List_0"); + } + }); + } + + editor_blockly.getAutoCompletions = function (content) { + // --- content为当前框中输入内容;将返回一个列表,为后续所有可补全内容 + + // 检查 status:xxx,item:xxx和flag:xxx + var index = Math.max(content.lastIndexOf(":"), content.lastIndexOf(":")); + if (index >= 0) { + var ch = content.charAt(index); + var before = content.substring(0, index), token = content.substring(index+1); + if (/^[a-zA-Z0-9_\u4E00-\u9FCC]*$/.test(token)) { + if (before.endsWith("状态") || (ch == ':' && before.endsWith("status"))) { + var list = Object.keys(core.status.hero); + if (before.endsWith("状态") && MotaActionFunctions) { + list = MotaActionFunctions.pattern.replaceStatusList.map(function (v) { + return v[1]; + }).concat(list); + } + return list.filter(function (one) { + return one != token && one.startsWith(token); + }).sort(); + } + else if (before.endsWith("物品") || (ch == ':' && before.endsWith("item"))) { + var list = Object.keys(core.material.items); + if (before.endsWith("物品") && MotaActionFunctions) { + list = MotaActionFunctions.pattern.replaceItemList.map(function (v) { + return v[1]; + }).concat(list); + } + return list.filter(function (one) { + return one != token && one.startsWith(token); + }).sort(); + } + else if (before.endsWith("变量") || (ch == ':' && before.endsWith("flag"))) { + return Object.keys(editor.used_flags || {}).filter(function (one) { + return one != token && one.startsWith(token); + }).sort(); + } else if (before.endsWith("怪物") || (ch == ':' && before.endsWith("enemy"))) { + return Object.keys(core.material.enemys).filter(function (one) { + return one != token && one.startsWith(token); + }) + } else { + var index2 = Math.max(content.lastIndexOf(":", index-1), content.lastIndexOf(":", index-1)); + var ch2 = content.charAt(index2); + if (index2 >= 0) { + before = content.substring(0, index2); + if (before.endsWith("怪物") || (ch == ':' && ch2 == ':' && before.endsWith("enemy"))) { + var list = ["name", "hp", "atk", "def", "money", "experience", "point", "special"]; + if (before.endsWith("怪物") && MotaActionFunctions) { + list = MotaActionFunctions.pattern.replaceEnemyList.map(function (v) { + return v[1]; + }).concat(list); + } + return list.filter(function (one) { + return one != token && one.startsWith(token); + }) + } + } + + } + } + } + + // 提供 core.xxx 的补全 + index = content.lastIndexOf("core."); + if (index >= 0) { + var s = content.substring(index + 5); + if (/^[\w.]*$/.test(s)) { + var tokens = s.split("."); + var now = core, prefix = tokens[tokens.length - 1]; + for (var i = 0; i < tokens.length - 1; ++i) { + now = now[tokens[i]]; + if (now == null) break; + } + if (now != null) { + var candidates = []; + for (var i in now) { + candidates.push(i); + } + return candidates.filter(function (one) { + return one != prefix && one.startsWith(prefix); + }).sort(); + } + } + } + + // 提供 flags.xxx 补全 + index = content.lastIndexOf("flags."); + if (index >= 0) { + var token = content.substring(index+6); + return Object.keys(editor.used_flags || {}).filter(function (one) { + return one != token && one.startsWith(token) + && /^[a-zA-Z_]\w*$/.test(one); + }).sort(); + } + + return []; + } + + editor_blockly.completeItems = []; return editor_blockly; } -//editor_blockly=editor_blockly(); \ No newline at end of file + +// --- modify Blockly + +Blockly.FieldColour.prototype.createWidget_ = function() { + Blockly.WidgetDiv.hide(); + + // console.log('here') + var self=this; + var pb=self.sourceBlock_ + var args = MotaActionBlocks[pb.type].args + var targetf=args[args.indexOf(self.name)-1] + + var getValue=function(){ + // return self.getValue() // css颜色 + var f = pb.getFieldValue(targetf); + if (/^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d),(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(,0(\.\d+)?|,1)?$/.test(f)) { + return f; + } + return ""; + // 也可以用 pb.getFieldValue(targetf) 获得颜色块左边的域的内容 + } + + var setValue=function(newValue){ // css颜色 + self.setValue(newValue) + var c=new Colors(); + c.setColor(newValue) + var rgbatext = [c.colors.webSmart.r,c.colors.webSmart.g,c.colors.webSmart.b,c.colors.alpha].join(","); + pb.setFieldValue(rgbatext, targetf) // 放在颜色块左边的域中 + } + + setTimeout(function () { + document.getElementById("colorPicker").value = getValue(); + window.jsColorPicker.confirm = setValue; + // 设置位置 + triggerColorPicker(Blockly.WidgetDiv.DIV.style.left, Blockly.WidgetDiv.DIV.style.top); + }); + + return document.createElement('table'); +}; + +Blockly.FieldTextInput.prototype.showInlineEditor_ = function(quietInput) { + Blockly.WidgetDiv.show(this, this.sourceBlock_.RTL, this.widgetDispose_()); + var div = Blockly.WidgetDiv.DIV; + // Create the input. + var htmlInput = + goog.dom.createDom(goog.dom.TagName.INPUT, 'blocklyHtmlInput'); + htmlInput.setAttribute('spellcheck', this.spellcheck_); + var fontSize = + (Blockly.FieldTextInput.FONTSIZE * this.workspace_.scale) + 'pt'; + div.style.fontSize = fontSize; + htmlInput.style.fontSize = fontSize; + + Blockly.FieldTextInput.htmlInput_ = htmlInput; + div.appendChild(htmlInput); + + htmlInput.value = htmlInput.defaultValue = this.text_; + htmlInput.oldValue_ = null; + + // console.log('here') + var self=this; + var pb=self.sourceBlock_ + var args = MotaActionBlocks[pb.type].args + var targetf=args[args.indexOf(self.name)+1] + + // ------ colour + + if(targetf && targetf.slice(0,7)==='Colour_'){ + var inputDom = htmlInput; + // var getValue=function(){ // 获得自己的字符串 + // return pb.getFieldValue(self.name); + // } + var setValue = function(newValue){ // 设置右边颜色块的css颜色 + pb.setFieldValue(newValue, targetf) + } + // 给inputDom绑事件 + inputDom.oninput=function(){ + var value=inputDom.value + if(/[0-9 ]+,[0-9 ]+,[0-9 ]+(,[0-9. ]+)?/.test(value)){ + setValue('rgba('+value+')') + } + } + } + else { + + htmlInput.onkeydown = function (e) { + if (e.keyCode == 13 && awesomplete.opened && awesomplete.selected) { + e.stopPropagation(); + e.stopImmediatePropagation(); + e.preventDefault(); + awesomplete.select(); + return false; + } + } + + // --- awesomplete + var awesomplete = new Awesomplete(htmlInput, { + minChars: pb.type == "idString_3_e" ? 1 : 2, + maxItems: 12, + autoFirst: true, + replace: function (text) { + text = text.toString(); + var value = this.input.value, index = this.input.selectionEnd; + if (index == null) index = value.length; + if (index < awesomplete.prefix.length) index = awesomplete.prefix.length; + var str = value.substring(0, index - awesomplete.prefix.length) + text + value.substring(index); + this.input.value = str; + pb.setFieldValue(str, self.name); + index += text.length - awesomplete.prefix.length; + this.input.setSelectionRange(index, index); + + editor_blockly.completeItems = editor_blockly.completeItems.filter(function (x) { + return x != text; + }); + editor_blockly.completeItems.unshift(text); + }, + filter: function () {return true;}, + item: function (text, input) { + var li = document.createElement("li"); + li.setAttribute("role", "option"); + li.setAttribute("aria-selected", "false"); + input = awesomplete.prefix.trim(); + if (input != "") text = text.replace(new RegExp("^"+input, "i"), "$&"); + li.innerHTML = text; + return li; + }, + sort: function (a, b) { + a = a.toString(); b = b.toString(); + var ia = editor_blockly.completeItems.indexOf(a), ib = editor_blockly.completeItems.indexOf(b); + if (ia < 0) ia = editor_blockly.completeItems.length; + if (ib < 0) ib = editor_blockly.completeItems.length; + if (ia != ib) return ia - ib; + if (a.length != b.length) return a.length - b.length; + return a < b ? -1 : 1; + } + }); + + htmlInput.oninput = function () { + var value = htmlInput.value, index = htmlInput.selectionEnd; + if (index == null) index = value.length; + value = value.substring(0, index); + // cal prefix + awesomplete.prefix = ""; + for (var i = index - 1; i>=0; i--) { + var c = value.charAt(i); + if (!/^[a-zA-Z0-9_\u4E00-\u9FCC]$/.test(c)) { + awesomplete.prefix = value.substring(i+1); + break; + } + } + + var list = editor_blockly.getAutoCompletions(value); + if (pb.type == "idString_3_e") { + list = list.concat(Object.keys(core.material.enemys).filter(function (one) { + return one != value && one.startsWith(value); + })); + list.sort(); + } + + awesomplete.list = list; + awesomplete.ul.style.marginLeft = getCaretCoordinates(htmlInput, htmlInput.selectionStart).left - + htmlInput.scrollLeft - 20 + "px"; + awesomplete.evaluate(); + } + + awesomplete.container.style.width = "100%"; + + window.awesomplete = awesomplete; + } + + if (!quietInput) { + htmlInput.focus(); + htmlInput.select(); + } + this.validate_(); + this.resizeEditor_(); + + this.bindEvents_(htmlInput); +}; \ No newline at end of file diff --git a/_server/editor_config.js b/_server/editor_config.js new file mode 100644 index 00000000..016b316c --- /dev/null +++ b/_server/editor_config.js @@ -0,0 +1,34 @@ +function editor_config() { + this.address = "_server/config.json"; +} + +editor_config.prototype.load = function(callback) { + var _this = this; + fs.readFile(this.address, "utf-8", function(e, d) { + if (e) { + console.warn("无法读取配置文件, 已重新生成"); + _this.config = {}; + _this.save(callback); + } else { + _this.config = JSON.parse(d); + if (callback) callback(); + } + }); +} + +editor_config.prototype.get = function(key, defaultValue) { + value = this.config[key]; + return value != null ? value : defaultValue; +} + +editor_config.prototype.set = function(key, value, callback) { + this.config[key] = value; + if (callback !== false) this.save(callback); +} + +editor_config.prototype.save = function(callback) { + fs.writeFile(this.address, JSON.stringify(this.config) ,'utf-8', function(e) { + if (e) alert("写入配置文件失败"); + if (callback instanceof Function) callback(); + }) +} diff --git a/_server/editor_datapanel.js b/_server/editor_datapanel.js new file mode 100644 index 00000000..948ce9c0 --- /dev/null +++ b/_server/editor_datapanel.js @@ -0,0 +1,809 @@ +editor_datapanel_wrapper = function (editor) { + + // 此文件内的内容仅做了分类, 未仔细整理函数 + + /////////////////////////////////////////////////////////////////////// + //////////////////// 地图编辑 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + editor.uifunctions.newMap_func = function () { + + var newMap = document.getElementById('newMap'); + var newFileName = document.getElementById('newFileName'); + newMap.onclick = function () { + if (!newFileName.value) return; + if (core.floorIds.indexOf(newFileName.value) >= 0) { + printe("该楼层已存在!"); + return; + } + if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(newFileName.value)) { + printe("楼层名不合法!请使用字母、数字、下划线,且不能以数字开头!"); + return; + } + var width = parseInt(document.getElementById('newMapWidth').value); + var height = parseInt(document.getElementById('newMapHeight').value); + if (!core.isset(width) || !core.isset(height) || width < core.__SIZE__ || height < core.__SIZE__ || width * height > 1000) { + printe("新建地图的宽高都不得小于" + core.__SIZE__ + ",且宽高之积不能超过1000"); + return; + } + + editor_mode.onmode(''); + editor.file.saveNewFile(newFileName.value, function (err) { + if (err) { + printe(err); + throw (err) + } + core.floorIds.push(newFileName.value); + editor.file.editTower([['change', "['main']['floorIds']", core.floorIds]], function (objs_) {//console.log(objs_); + if (objs_.slice(-1)[0] != null) { + printe(objs_.slice(-1)[0]); + throw (objs_.slice(-1)[0]) + } + ; printe('新建成功,请F5刷新编辑器生效'); + }); + }); + } + + } + + + editor.uifunctions.createNewMaps_func = function () { + var newMaps = document.getElementById('newMaps'); + var newFloors = document.getElementById('newFloors'); + newMaps.onclick = function () { + if (newFloors.style.display == 'none') newFloors.style.display = 'block'; + else newFloors.style.display = 'none'; + } + + var createNewMaps = document.getElementById('createNewMaps'); + createNewMaps.onclick = function () { + var floorIds = document.getElementById('newFloorIds').value; + if (!floorIds) return; + var from = parseInt(document.getElementById('newMapsFrom').value), + to = parseInt(document.getElementById('newMapsTo').value); + if (!core.isset(from) || !core.isset(to) || from > to || from < 0 || to < 0) { + printe("请输入有效的起始和终止楼层"); + return; + } + if (to - from >= 100) { + printe("一次最多创建99个楼层"); + return; + } + var floorIdList = []; + for (var i = from; i <= to; i++) { + var floorId = floorIds.replace(/\${(.*?)}/g, function (word, value) { + return eval(value); + }); + if (core.floorIds.indexOf(floorId) >= 0) { + printe("要创建的楼层 " + floorId + " 已存在!"); + return; + } + if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(floorId)) { + printe("楼层名 " + floorId + " 不合法!请使用字母、数字、下划线,且不能以数字开头!"); + return; + } + if (floorIdList.indexOf(floorId) >= 0) { + printe("尝试重复创建楼层 " + floorId + " !"); + return; + } + floorIdList.push(floorId); + } + + var width = parseInt(document.getElementById('newMapsWidth').value); + var height = parseInt(document.getElementById('newMapsHeight').value); + if (!core.isset(width) || !core.isset(height) || width < core.__SIZE__ || height < core.__SIZE__ || width * height > 1000) { + printe("新建地图的宽高都不得小于" + core.__SIZE__ + ",且宽高之积不能超过1000"); + return; + } + editor_mode.onmode(''); + + editor.file.saveNewFiles(floorIdList, from, to, function (err) { + if (err) { + printe(err); + throw (err) + } + core.floorIds = core.floorIds.concat(floorIdList); + editor.file.editTower([['change', "['main']['floorIds']", core.floorIds]], function (objs_) {//console.log(objs_); + if (objs_.slice(-1)[0] != null) { + printe(objs_.slice(-1)[0]); + throw (objs_.slice(-1)[0]) + } + ; printe('批量创建 ' + floorIdList[0] + '~' + floorIdList[floorIdList.length - 1] + ' 成功,请F5刷新编辑器生效'); + }); + }); + } + + } + + + + /////////////////////////////////////////////////////////////////////// + //////////////////// 地图选点 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + // 添加自动事件页,无需双击 + editor.uifunctions.addAutoEvent = function () { + if (editor_mode.mode != 'loc') return false; + var newid = '2'; + var ae = editor.currentFloorData.autoEvent[editor_mode.pos.x + ',' + editor_mode.pos.y]; + if (ae != null) { + var testid; + for (testid = 2; Object.hasOwnProperty.call(ae, testid); testid++); + newid = testid + ''; + } + editor_mode.addAction(['add', "['autoEvent']['" + newid + "']", null]); + editor_mode.onmode('save'); + } + + + + + + + + + + + + + /////////////////////////////////////////////////////////////////////// + //////////////////// 图块属性 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + editor.uifunctions.newIdIdnum_func = function () { + var newIdIdnum = document.getElementById('newIdIdnum'); + newIdIdnum.children[2].onclick = function () { + if (newIdIdnum.children[0].value && newIdIdnum.children[1].value) { + var id = newIdIdnum.children[0].value; + var idnum = parseInt(newIdIdnum.children[1].value); + if (!core.isset(idnum)) { + printe('不合法的idnum'); + return; + } + if (!/^[0-9a-zA-Z_]+$/.test(id)) { + printe('不合法的id,请使用字母、数字或下划线') + return; + } + editor.file.changeIdAndIdnum(id, idnum, editor_mode.info, function (err) { + if (err) { + printe(err); + throw (err) + } + printe('添加id和idnum成功,请F5刷新编辑器'); + }); + } else { + printe('请输入id和idnum'); + } + } + newIdIdnum.children[4].onclick = function () { + editor.file.autoRegister(editor_mode.info, function (err) { + if (err) { + printe(err); + throw (err) + } + printe('该列所有剩余项全部自动注册成功,请F5刷新编辑器'); + }) + } + } + + editor.uifunctions.changeId_func = function () { + var changeId = document.getElementById('changeId'); + changeId.children[1].onclick = function () { + var id = changeId.children[0].value; + if (id) { + if (!/^[0-9a-zA-Z_]+$/.test(id)) { + printe('不合法的id,请使用字母、数字或下划线') + return; + } + editor.file.changeIdAndIdnum(id, null, editor_mode.info, function (err) { + if (err) { + printe(err); + throw (err); + } + printe('修改id成功,请F5刷新编辑器'); + }); + } else { + printe('请输入要修改到的ID'); + } + } + } + + editor.uifunctions.copyPasteEnemyItem_func = function () { + var copyEnemyItem = document.getElementById('copyEnemyItem'); + var pasteEnemyItem = document.getElementById('pasteEnemyItem'); + + copyEnemyItem.onclick = function () { + var cls = (editor_mode.info || {}).images; + if (editor_mode.mode != 'enemyitem' || (cls != 'enemys' && cls != 'enemy48' && cls != 'items')) return; + editor.uivalues.copyEnemyItem.type = cls; + var id = editor_mode.info.id; + if (cls == 'enemys' || cls == 'enemy48') { + editor.uivalues.copyEnemyItem.data = core.clone(enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80[id]); + printf("怪物属性复制成功"); + } else { + editor.uivalues.copyEnemyItem.data = {}; + for (var x in items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a) { + if (items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a[x][id] != null) { + editor.uivalues.copyEnemyItem.data[x] = core.clone(items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a[x][id]); + } + } + printf("道具属性复制成功"); + } + } + + pasteEnemyItem.onclick = function () { + var cls = (editor_mode.info || {}).images; + if (editor_mode.mode != 'enemyitem' || !cls || cls != editor.uivalues.copyEnemyItem.type) return; + var id = editor_mode.info.id; + if (cls == 'enemys' || cls == 'enemy48') { + if (confirm("你确定要覆盖此怪物的全部属性么?这是个不可逆操作!")) { + enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80[id] = core.clone(editor.uivalues.copyEnemyItem.data); + editor.file.saveSetting('enemys', [], function (err) { + if (err) printe(err); + else printf("怪物属性粘贴成功\n请再重新选中该怪物方可查看更新后的表格。"); + }) + } + } else { + if (confirm("你确定要覆盖此道具的全部属性么?这是个不可逆操作!")) { + for (var x in editor.uivalues.copyEnemyItem.data) { + items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a[x][id] = core.clone(editor.uivalues.copyEnemyItem.data[x]); + } + editor.file.saveSetting('items', [], function (err) { + if (err) printe(err); + else printf("道具属性粘贴成功\n请再重新选中该道具方可查看更新后的表格。"); + }) + } + } + + } + + + } + + + + + + + + + /////////////////////////////////////////////////////////////////////// + //////////////////// 楼层属性 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + + editor.uifunctions.changeFloorId_func = function () { + + editor.dom.changeFloorId.children[1].onclick = function () { + var floorId = editor.dom.changeFloorId.children[0].value; + if (floorId) { + if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(floorId)) { + printe("楼层名 " + floorId + " 不合法!请使用字母、数字、下划线,且不能以数字开头!"); + return; + } + if (main.floorIds.indexOf(floorId) >= 0) { + printe("楼层名 " + floorId + " 已存在!"); + return; + } + var currentFloorId = editor.currentFloorId; + editor.currentFloorId = floorId; + editor.currentFloorData.floorId = floorId; + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err); + } + core.floorIds[core.floorIds.indexOf(currentFloorId)] = floorId; + editor.file.editTower([['change', "['main']['floorIds']", core.floorIds]], function (objs_) {//console.log(objs_); + if (objs_.slice(-1)[0] != null) { + printe(objs_.slice(-1)[0]); + throw (objs_.slice(-1)[0]) + } + alert("修改floorId成功,需要刷新编辑器生效。\n请注意,原始的楼层文件没有删除,请根据需要手动删除。"); + window.location.reload(); + }); + }); + } else { + printe('请输入要修改到的floorId'); + } + } + } + + + + + + + + + + /////////////////////////////////////////////////////////////////////// + //////////////////// 全塔属性 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + /////////////////////////////////////////////////////////////////////// + //////////////////// 脚本编辑 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + /////////////////////////////////////////////////////////////////////// + //////////////////// 追加素材 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + + + + editor.uifunctions.fixCtx_func = function () { + [editor.dom.sourceCtx, editor.dom.spriteCtx].forEach(function (ctx) { + ctx.mozImageSmoothingEnabled = false; + ctx.webkitImageSmoothingEnabled = false; + ctx.msImageSmoothingEnabled = false; + ctx.imageSmoothingEnabled = false; + }) + } + + editor.uifunctions.selectAppend_func = function () { + + var selectAppend_str = []; + ["terrains", "animates", "enemys", "enemy48", "items", "npcs", "npc48", "autotile"].forEach(function (image) { + selectAppend_str.push(["\n'].join('')); + }); + editor.dom.selectAppend.innerHTML = selectAppend_str.join(''); + editor.dom.selectAppend.onchange = function () { + + var value = editor.dom.selectAppend.value; + + if (value == 'autotile') { + editor_mode.appendPic.imageName = 'autotile'; + for (var jj = 0; jj < 4; jj++) editor.dom.appendPicSelection.children[jj].style = 'display:none'; + if (editor_mode.appendPic.img) { + editor.dom.sprite.style.width = (editor.dom.sprite.width = editor_mode.appendPic.img.width) / editor.uivalues.ratio + 'px'; + editor.dom.sprite.style.height = (editor.dom.sprite.height = editor_mode.appendPic.img.height) / editor.uivalues.ratio + 'px'; + editor.dom.spriteCtx.clearRect(0, 0, editor.dom.sprite.width, editor.dom.sprite.height); + editor.dom.spriteCtx.drawImage(editor_mode.appendPic.img, 0, 0); + } + return; + } + + var ysize = editor.dom.selectAppend.value.endsWith('48') ? 48 : 32; + editor_mode.appendPic.imageName = value; + var img = core.material.images[value]; + editor_mode.appendPic.toImg = img; + var num = ~~img.width / 32; + editor_mode.appendPic.num = num; + editor_mode.appendPic.index = 0; + var selectStr = ''; + for (var ii = 0; ii < num; ii++) { + editor.dom.appendPicSelection.children[ii].style = 'left:0;top:0;height:' + (ysize - 6) + 'px'; + selectStr += '{"x":0,"y":0},' + } + editor_mode.appendPic.selectPos = eval('[' + selectStr + ']'); + for (var jj = num; jj < 4; jj++) { + editor.dom.appendPicSelection.children[jj].style = 'display:none'; + } + editor.dom.sprite.style.width = (editor.dom.sprite.width = img.width) / editor.uivalues.ratio + 'px'; + editor.dom.sprite.style.height = (editor.dom.sprite.height = img.height + ysize) / editor.uivalues.ratio + 'px'; + editor.dom.spriteCtx.drawImage(img, 0, 0); + } + editor.dom.selectAppend.onchange(); + } + + editor.uifunctions.selectFileBtn_func = function () { + + var autoAdjust = function (image, callback) { + var changed = false; + + // Step 1: 检测白底 + var tempCanvas = document.createElement('canvas').getContext('2d'); + tempCanvas.canvas.width = image.width; + tempCanvas.canvas.height = image.height; + tempCanvas.mozImageSmoothingEnabled = false; + tempCanvas.webkitImageSmoothingEnabled = false; + tempCanvas.msImageSmoothingEnabled = false; + tempCanvas.imageSmoothingEnabled = false; + tempCanvas.drawImage(image, 0, 0); + var imgData = tempCanvas.getImageData(0, 0, image.width, image.height); + var trans = 0, white = 0, black = 0; + for (var i = 0; i < image.width; i++) { + for (var j = 0; j < image.height; j++) { + var pixel = editor.util.getPixel(imgData, i, j); + if (pixel[3] == 0) trans++; + if (pixel[0] == 255 && pixel[1] == 255 && pixel[2] == 255 && pixel[3] == 255) white++; + // if (pixel[0]==0 && pixel[1]==0 && pixel[2]==0 && pixel[3]==255) black++; + } + } + if (white > black && white > trans * 10 && confirm("看起来这张图片是以纯白为底色,是否自动调整为透明底色?")) { + for (var i = 0; i < image.width; i++) { + for (var j = 0; j < image.height; j++) { + var pixel = editor.util.getPixel(imgData, i, j); + if (pixel[0] == 255 && pixel[1] == 255 && pixel[2] == 255 && pixel[3] == 255) { + editor.util.setPixel(imgData, i, j, [0, 0, 0, 0]); + } + } + } + tempCanvas.clearRect(0, 0, image.width, image.height); + tempCanvas.putImageData(imgData, 0, 0); + changed = true; + } + /* + if (black>white && black>trans*10 && confirm("看起来这张图片是以纯黑为底色,是否自动调整为透明底色?")) { + for (var i=0;i= num) editor_mode.appendPic.index = ii + 1 - num; + else editor_mode.appendPic.index++; + editor_mode.appendPic.selectPos[ii] = pos; + editor.dom.appendPicSelection.children[ii].style = [ + 'left:', pos.x * 32, 'px;', + 'top:', pos.y * pos.ysize, 'px;', + 'height:', pos.ysize - 6, 'px;' + ].join(''); + } + } + + editor.uifunctions.appendConfirm_func = function () { + + var appendRegister = document.getElementById('appendRegister'); + + var appendConfirm = document.getElementById('appendConfirm'); + appendConfirm.onclick = function () { + + var confirmAutotile = function () { + var image = editor_mode.appendPic.img; + if (image.width % 96 != 0 || image.height != 128) { + printe("不合法的Autotile图片!"); + return; + } + var imgData = editor.dom.sourceCtx.getImageData(0, 0, image.width, image.height); + editor.dom.spriteCtx.putImageData(imgData, 0, 0); + var imgbase64 = editor.dom.sprite.toDataURL().split(',')[1]; + + // Step 1: List文件名 + fs.readdir('./project/images', function (err, data) { + if (err) { + printe(err); + throw (err); + } + + // Step 2: 选择Autotile文件名 + var filename; + for (var i = 1; ; ++i) { + filename = 'autotile' + i; + if (data.indexOf(filename + ".png") == -1) break; + } + + // Step 3: 写入文件 + fs.writeFile('./project/images/' + filename + ".png", imgbase64, 'base64', function (err, data) { + if (err) { + printe(err); + throw (err); + } + // Step 4: 自动注册 + editor.file.registerAutotile(filename, function (err) { + if (err) { + printe(err); + throw (err); + } + printe('自动元件' + filename + '注册成功,请F5刷新编辑器'); + }) + + }) + + }) + + } + + if (editor.dom.selectAppend.value == 'autotile') { + confirmAutotile(); + return; + } + + var ysize = editor.dom.selectAppend.value.endsWith('48') ? 48 : 32; + for (var ii = 0, v; v = editor_mode.appendPic.selectPos[ii]; ii++) { + // var imgData = editor.dom.sourceCtx.getImageData(v.x * 32, v.y * ysize, 32, ysize); + // editor.dom.spriteCtx.putImageData(imgData, ii * 32, editor.dom.sprite.height - ysize); + // editor.dom.spriteCtx.drawImage(editor_mode.appendPic.img, v.x * 32, v.y * ysize, 32, ysize, ii * 32, height, 32, ysize) + + editor.dom.spriteCtx.drawImage(editor.dom.sourceCtx.canvas, v.x * 32, v.y * ysize, 32, ysize, 32 * ii, editor.dom.sprite.height - ysize, 32, ysize); + } + var dt = editor.dom.spriteCtx.getImageData(0, 0, editor.dom.sprite.width, editor.dom.sprite.height); + var imgbase64 = editor.dom.sprite.toDataURL('image/png'); + var imgName = editor_mode.appendPic.imageName; + fs.writeFile('./project/images/' + imgName + '.png', imgbase64.split(',')[1], 'base64', function (err, data) { + if (err) { + printe(err); + throw (err) + } + var currHeight = editor.dom.sprite.height; + editor.dom.sprite.style.height = (editor.dom.sprite.height = (currHeight + ysize)) + "px"; + editor.dom.spriteCtx.putImageData(dt, 0, 0); + core.material.images[imgName].src = imgbase64; + editor.widthsX[imgName][3] = currHeight; + if (appendRegister && appendRegister.checked) { + editor.file.autoRegister({images: imgName}, function (e) { + if (e) { + printe(e); + throw e; + } + printf('追加素材并自动注册成功!你可以继续追加其他素材,最后再刷新以使用。'); + }); + } else { + printf('追加素材成功!你可以继续追加其他素材,最后再刷新以使用。'); + } + }); + } + + var quickAppendConfirm = document.getElementById('quickAppendConfirm'); + quickAppendConfirm.onclick = function () { + var value = editor.dom.selectAppend.value; + if (value != 'enemys' && value != 'enemy48' && value != 'npcs' && value != 'npc48') + return printe("只有怪物或NPC才能快速导入!"); + var ysize = value.endsWith('48') ? 48 : 32; + if (editor.dom.sourceCtx.canvas.width != 128 || editor.dom.sourceCtx.canvas.height != 4 * ysize) + return printe("只有 4*4 的素材图片才可以快速导入!"); + + var dt = editor.dom.spriteCtx.getImageData(0, 0, editor.dom.sprite.width, editor.dom.sprite.height); + editor.dom.sprite.style.height = (editor.dom.sprite.height = (editor.dom.sprite.height + 3 * ysize)) + "px"; + editor.dom.spriteCtx.putImageData(dt, 0, 0); + if (editor.dom.sprite.width == 64) { // 两帧 + editor.dom.spriteCtx.drawImage(editor.dom.sourceCtx.canvas, 32, 0, 64, 4 * ysize, 0, editor.dom.sprite.height - 4 * ysize, 64, 4 * ysize); + } else { // 四帧 + editor.dom.spriteCtx.drawImage(editor.dom.sourceCtx.canvas, 0, 0, 128, 4 * ysize, 0, editor.dom.sprite.height - 4 * ysize, 128, 4 * ysize); + } + + dt = editor.dom.spriteCtx.getImageData(0, 0, editor.dom.sprite.width, editor.dom.sprite.height); + var imgbase64 = editor.dom.sprite.toDataURL('image/png'); + var imgName = editor_mode.appendPic.imageName; + fs.writeFile('./project/images/' + imgName + '.png', imgbase64.split(',')[1], 'base64', function (err, data) { + if (err) { + printe(err); + throw (err) + } + var currHeight = editor.dom.sprite.height; + editor.dom.sprite.style.height = (editor.dom.sprite.height = (currHeight + ysize)) + "px"; + editor.dom.spriteCtx.putImageData(dt, 0, 0); + core.material.images[imgName].src = imgbase64; + editor.widthsX[imgName][3] = currHeight; + if (appendRegister && appendRegister.checked) { + editor.file.autoRegister({images: imgName}, function (e) { + if (e) { + printe(e); + throw e; + } + printf('快速追加素材并自动注册成功!你可以继续追加其他素材,最后再刷新以使用。'); + }) + } else { + printf('快速追加素材成功!你可以继续追加其他素材,最后再刷新以使用。'); + } + }); + + } + } + + /////////////////////////////////////////////////////////////////////// + //////////////////// 公共事件 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + /////////////////////////////////////////////////////////////////////// + //////////////////// 插件编写 ////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/_server/editor_file.js b/_server/editor_file.js index 1a8a9fa0..f737f910 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -1,827 +1,65 @@ -editor_file = function (editor, callback) { - - var editor_file = {}; - - - var commentjs = { - 'comment': 'comment', - 'data.comment': 'dataComment', - 'functions.comment': 'functionsComment', - 'events.comment': 'eventsComment', - 'plugins.comment': 'pluginsComment', - } - for (var key in commentjs) { - (function (key) { - var value = commentjs[key]; - var script = document.createElement('script'); - if (window.location.href.indexOf('_server') !== -1) - script.src = key + '.js'; - else - script.src = '_server/table/' + key + '.js'; - document.body.appendChild(script); - script.onload = function () { - editor_file[value] = eval(key.replace('.', '_') + '_c456ea59_6018_45ef_8bcc_211a24c627dc'); - var loaded = Boolean(callback); - for (var key_ in commentjs) { - loaded = loaded && editor_file[commentjs[key_]] - } - if (loaded) callback(); - } - })(key); +editor_file_wrapper = function (editor) { + editor_file_proto = function () { + /** + * 以 + * { + * "floor.MT1":, + * "plugins": + * } + * 的形式记录所有更改过的文件,save时写入 + * 的内容暂时还没想好 + */ + this.fileMark = {} } - - editor_file.getFloorFileList = function (callback) { - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') + // 这个函数之后挪到editor.table? + editor_file_proto.prototype.loadCommentjs = function (callback) { + var commentjs = { + 'comment': 'comment', + 'data.comment': 'dataComment', + 'functions.comment': 'functionsComment', + 'events.comment': 'eventsComment', + 'plugins.comment': 'pluginsComment', } - ; - /* var fs = editor.fs; - fs.readdir('project/floors',function(err, data){ - callback([data,err]); - }); */ - callback([editor.core.floorIds, null]); - } - //callback([Array,err:String]) - editor_file.loadFloorFile = function (filename, callback) { - //filename不含'/'不含'.js' - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - - editor.currentFloorId = editor.core.status.floorId; - editor.currentFloorData = editor.core.floors[editor.currentFloorId]; - } - //callback(err:String) - editor_file.saveFloorFile = function (callback) { - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - /* if (!isset(editor.currentFloorId) || !isset(editor.currentFloorData)) { - callback('未选中文件或无数据'); - } */ - var filename = 'project/floors/' + editor.currentFloorId + '.js'; - var datastr = ['main.floors.', editor.currentFloorId, '=\n']; - if (editor.currentFloorData.map == 'new') { - /* - editor.currentFloorData.map = editor.map.map(function (v) { - return v.map(function () { - return 0 - }) - }); - */ - var width = parseInt(document.getElementById('newMapWidth').value); - var height = parseInt(document.getElementById('newMapHeight').value); - var row = []; - for (var i=0;i0) - saveSetting('icons', iconActions, tempcallback); - else tempcallback(null); - - saveSetting('maps', mapActions, tempcallback); - - if (image=='items') - saveSetting('items', templateActions, tempcallback); - else if (image.indexOf('enemy')==0) - saveSetting('enemys', templateActions, tempcallback); - else tempcallback(null); - } - - editor_file.registerAutotile = function (filename, callback) { - var idnum = 140; - while (editor.core.maps.blocksInfo[idnum]) idnum++; - - var iconActions = []; - var mapActions = []; - - iconActions.push(["add", "['autotile']['" + filename + "']", 0]); - mapActions.push(["add", "['" + idnum + "']", {'cls': 'autotile', 'id': filename, 'noPass': true}]); - - var templist = []; - var tempcallback = function (err) { - templist.push(err); - if (templist.length == 2) { - if (templist[0] != null || templist[1] != null) - callback((templist[0] || '') + '\n' + (templist[1] || '')); - //这里如果一个成功一个失败会出严重bug - else - callback(null); - } - } - - saveSetting('icons', iconActions, tempcallback); - saveSetting('maps', mapActions, tempcallback); - } - - editor_file.changeIdAndIdnum = function (id, idnum, info, callback) { - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - //检查maps中是否有重复的idnum或id - var change = -1; - for (var ii in editor.core.maps.blocksInfo) { - if (ii == idnum) { - //暂时只允许创建新的不允许修改已有的 - //if (info.idnum==idnum){change=ii;break;}//修改id - callback('idnum重复了'); - return; - } - if (editor.core.maps.blocksInfo[ii].id == id) { - //if (info.id==id){change=ii;break;}//修改idnum - callback('id重复了'); - return; - } - } - /* - if (change!=-1 && change!=idnum){//修改idnum - editor.core.maps.blocksInfo[idnum] = editor.core.maps.blocksInfo[change]; - delete(editor.core.maps.blocksInfo[change]); - } else if (change==idnum) {//修改id - var oldid = editor.core.maps.blocksInfo[idnum].id; - editor.core.maps.blocksInfo[idnum].id = id; - for(var ii in editor.core.icons.icons){ - if (ii.hasOwnProperty(oldid)){ - ii[id]=ii[oldid]; - delete(ii[oldid]); - } - } - } else {//创建新的 - editor.core.maps.blocksInfo[idnum]={'cls': info.images, 'id':id}; - editor.core.icons.icons[info.images][id]=info.y; - } - */ - var templist = []; - var tempcallback = function (err) { - templist.push(err); - if (templist.length == 2) { - if (templist[0] != null || templist[1] != null) - callback((templist[0] || '') + '\n' + (templist[1] || '')); - //这里如果一个成功一个失败会出严重bug - else - callback(null); - } - } - saveSetting('maps', [["add", "['" + idnum + "']", {'cls': info.images, 'id': id}]], tempcallback); - saveSetting('icons', [["add", "['" + info.images + "']['" + id + "']", info.y]], tempcallback); - if (info.images === 'items') { - saveSetting('items', [["add", "['items']['" + id + "']", editor_file.comment._data.items_template]], function (err) { - if (err) { - printe(err); - throw(err) - } - }); - } - if (info.images === 'enemys' || info.images === 'enemy48') { - saveSetting('enemys', [["add", "['" + id + "']", editor_file.comment._data.enemys_template]], function (err) { - if (err) { - printe(err); - throw(err) - } - }); - } - - callback(null); - } - //callback(err:String) - editor_file.editItem = function (id, actionList, callback) { - /*actionList:[ - ["change","['items']['name']","红宝石的新名字"], - ["add","['items']['新的和name同级的属性']",123], - ["change","['itemEffectTip']","',攻击力+'+editor.core.values.redJewel"], - ] - 为[]时只查询不修改 - */ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - var tempindex = value[1].indexOf(']') + 1; - value[1] = [value[1].slice(0, tempindex), "['" + id + "']", value[1].slice(tempindex)].join(''); - }); - saveSetting('items', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj_ = {}; - Object.keys(editor_file.comment._data.items._data).forEach(function (v) { - if (isset(editor.core.items[v][id]) && v !== 'items') - locObj_[v] = editor.core.items[v][id]; - else - locObj_[v] = null; - }); - locObj_['items'] = (function () { - var locObj = Object.assign({}, editor.core.items.items[id]); - Object.keys(editor_file.comment._data.items._data.items._data).forEach(function (v) { - if (!isset(editor.core.items.items[id][v])) - locObj[v] = null; - }); - return locObj; - })(); - return locObj_; - })(), - editor_file.comment._data.items, - null]); - } - //只有items.cls是items的才有itemEffect和itemEffectTip,keys和constants和tools只有items - } - //callback([obj,commentObj,err:String]) - editor_file.editEnemy = function (id, actionList, callback) { - /*actionList:[ - ["change","['name']","初级巫师的新名字"], - ["add","['新的和name同级的属性']",123], - ["change","['bomb']",null], - ] - 为[]时只查询不修改 - */ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - value[1] = "['" + id + "']" + value[1]; - }); - saveSetting('enemys', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = Object.assign({}, editor.core.enemys.enemys[id]); - Object.keys(editor_file.comment._data.enemys._data).forEach(function (v) { - if (!isset(editor.core.enemys.enemys[id][v])) - /* locObj[v]=editor.core.enemys.enemys[id][v]; - else */ - locObj[v] = null; - }); - return locObj; - })(), - editor_file.comment._data.enemys, - null]); + })(key); } } - //callback([obj,commentObj,err:String]) - editor_file.editMapBlocksInfo = function (idnum, actionList, callback) { - /*actionList:[ - ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], - ["change","['afterBattle']",null], - ] - 为[]时只查询不修改 - */ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - var tempmap=[]; - for(var ii=0;ii=editor.core.icons.tilesetStartOffset && !isset(editor.core.maps.blocksInfo[idnum]) && tempmap.indexOf(idnum)===-1){ - actionList.splice(ii,0,["add","['" + idnum + "']",{"cls": "tileset", "id": "X"+idnum, "noPass": true}]); - tempmap.push(idnum); - ii++; - } - value[1] = "['" + idnum + "']" + value[1]; - } - saveSetting('maps', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var sourceobj=editor.core.maps.blocksInfo[idnum]; - if(!isset(sourceobj) && idnum>=editor.core.icons.tilesetStartOffset)sourceobj={"cls": "tileset", "id": "X"+idnum, "noPass": true} - var locObj = Object.assign({}, sourceobj); - Object.keys(editor_file.comment._data.maps._data).forEach(function (v) { - if (!isset(sourceobj[v])) - locObj[v] = null; - }); - locObj.idnum = idnum; - return locObj; - })(), - editor_file.comment._data.maps, - null]); + editor_file_proto.prototype.alertWhenCompress = function () { + if (editor.useCompress === true) { + editor.useCompress = 'alerted'; + setTimeout("alert('当前游戏使用的是压缩文件,修改完成后请使用启动服务.exe->Js代码压缩工具重新压缩,或者把main.js的useCompress改成false来使用原始文件')", 1000) } } - //callback([obj,commentObj,err:String]) - //////////////////////////////////////////////////////////////////// - - editor_file.editLoc = function (x, y, actionList, callback) { - /*actionList:[ - ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], - ["change","['afterBattle']",null], - ] - 为[]时只查询不修改 - */ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - value[1] = value[1] + "['" + x + "," + y + "']"; - }); - saveSetting('floorloc', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = {}; - Object.keys(editor_file.comment._data.floors._data.loc._data).forEach(function (v) { - if (isset(editor.currentFloorData[v][x + ',' + y])) - locObj[v] = editor.currentFloorData[v][x + ',' + y]; - else - locObj[v] = null; - }); - return locObj; - })(), - editor_file.comment._data.floors._data.loc, - null]); - } - - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - editor_file.editFloor = function (actionList, callback) { - /*actionList:[ - ["change","['title']",'样板 3 层'], - ["change","['color']",null], - ] - 为[]时只查询不修改 - */ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - saveSetting('floors', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = Object.assign({}, editor.currentFloorData); - Object.keys(editor_file.comment._data.floors._data.floor._data).forEach(function (v) { - if (!isset(editor.currentFloorData[v])) - /* locObj[v]=editor.currentFloorData[v]; - else */ - locObj[v] = null; - }); - Object.keys(editor_file.comment._data.floors._data.loc._data).forEach(function (v) { - delete(locObj[v]); - }); - delete(locObj.map); - delete(locObj.bgmap); - delete(locObj.fgmap); - return locObj; - })(), - editor_file.comment._data.floors._data.floor, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - editor_file.editTower = function (actionList, callback) { - /*actionList:[ - ["change","['firstData']['version']",'Ver 1.0.1 (Beta)'], - ["change","['values']['lavaDamage']",200], - ] - 为[]时只查询不修改 - */ - var data_obj = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d; - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - saveSetting('data', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - //var locObj=Object.assign({'main':{}},editor.core.data); - var locObj = Object.assign({}, data_obj, {'main': {}}); - Object.keys(editor_file.dataComment._data.main._data).forEach(function (v) { - if (isset(editor.main[v])) - locObj.main[v] = data_obj.main[v]; - else - locObj.main[v] = null; - }); - return locObj; - })(), - editor_file.dataComment, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - var fmap = {}; - var fjson = JSON.stringify(functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a, function (k, v) { - if (v instanceof Function) { - var id_ = editor.util.guid(); - fmap[id_] = v.toString(); - return id_; - } else return v - }, 4); - var fobj = JSON.parse(fjson); - editor_file.functionsMap = fmap; - editor_file.functionsJSON = fjson; - var buildlocobj = function (locObj) { - for (var key in locObj) { - if (typeof(locObj[key]) !== typeof('')) buildlocobj(locObj[key]); - else locObj[key] = fmap[locObj[key]]; - } - }; - - editor_file.editFunctions = function (actionList, callback) { - /*actionList:[ - ["change","['events']['afterChangeLight']","function(x,y){console.log(x,y)}"], - ["change","['ui']['drawAbout']","function(){...}"], - ] - 为[]时只查询不修改 - */ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - saveSetting('functions', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = JSON.parse(fjson); - buildlocobj(locObj); - return locObj; - })(), - editor_file.functionsComment, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - editor_file.editCommonEvent = function (actionList, callback) { - /*actionList:[ - ["change","['test']",['123']], - ] - 为[]时只查询不修改 - */ - var data_obj = events_c12a15a8_c380_4b28_8144_256cba95f760.commonEvent; - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - actionList.forEach(function (value) { - value[1] = "['commonEvent']" + value[1]; - }); - saveSetting('events', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - Object.assign({},data_obj), - editor_file.eventsComment._data.commonEvent, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - var plmap = {}; - var pljson = JSON.stringify(plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1, function (k, v) { - if (v instanceof Function) { - var id_ = editor.util.guid(); - plmap[id_] = v.toString(); - return id_; - } else if(v===null){ - var id_ = editor.util.guid(); - plmap[id_] = 'null'; - return id_; - } return v - }, 4); - var plobj = JSON.parse(pljson); - editor_file.pluginsMap = plmap; - editor_file.pluginsObj = plobj; - var buildpllocobj = function (locObj) { - for (var key in locObj) { - if (typeof(locObj[key]) !== typeof('')) buildpllocobj(locObj[key]); - else locObj[key] = plmap[locObj[key]]; - } - }; - - editor_file.editPlugins = function (actionList, callback) { - /*actionList:[ - ["change","['test']","function(x,y){console.log(x,y)}"], - ] - 为[]时只查询不修改 - */ - if (!isset(callback)) { - printe('未设置callback'); - throw('未设置callback') - } - ; - if (isset(actionList) && actionList.length > 0) { - saveSetting('plugins', actionList, function (err) { - callback([err]); - }); - } else { - callback([ - (function () { - var locObj = JSON.parse(JSON.stringify(plobj)); - buildpllocobj(locObj); - return locObj; - })(), - editor_file.pluginsComment, - null]); - } - } - //callback([obj,commentObj,err:String]) - - //////////////////////////////////////////////////////////////////// - - var isset = function (val) { - if (val == undefined || val == null) { - return false; - } - return true - } - - var formatMap = function (mapArr,trySimplify) { - if(!mapArr || JSON.stringify(mapArr)==JSON.stringify([]))return ''; - if(trySimplify){ + editor_file_proto.prototype.formatMap = function (mapArr, trySimplify) { + if (!mapArr || JSON.stringify(mapArr) == JSON.stringify([])) return ''; + if (trySimplify) { //检查是否是全0二维数组 - var jsoncheck=JSON.stringify(mapArr).replace(/\D/g,''); - if(jsoncheck==Array(jsoncheck.length+1).join('0'))return ''; + var jsoncheck = JSON.stringify(mapArr).replace(/\D/g, ''); + if (jsoncheck == Array(jsoncheck.length + 1).join('0')) return ''; } //把二维数组格式化 var formatArrStr = ''; var arr = JSON.stringify(mapArr).replace(/\s+/g, '').split('],['); - var si=mapArr.length-1,sk=mapArr[0].length-1; + var si = mapArr.length - 1, sk = mapArr[0].length - 1; for (var i = 0; i <= si; i++) { var a = []; formatArrStr += ' ['; @@ -836,168 +74,75 @@ editor_file = function (editor, callback) { return formatArrStr; } - var encode = editor.util.encode64 + editor_file_proto.prototype.saveFloor = function (floorData, callback) { + //callback(err:String) + var floorId = floorData.floorId; + var filename = 'project/floors/' + floorId + '.js'; + var datastr = ['main.floors.', floorId, '=\n']; - var alertWhenCompress = function(){ - if(editor.useCompress===true){ - editor.useCompress='alerted'; - setTimeout("alert('当前游戏使用的是压缩文件,修改完成后请使用启动服务.exe->Js代码压缩工具重新压缩,或者把main.js的useCompress改成false来使用原始文件')",1000) - } + var tempJsonObj = Object.assign({}, floorData); + var tempMap = [['map', editor.util.guid()], ['bgmap', editor.util.guid()], ['fgmap', editor.util.guid()]]; + tempMap.forEach(function (v) { + v[2] = tempJsonObj[v[0]]; + tempJsonObj[v[0]] = v[1]; + }); + var tempJson = JSON.stringify(tempJsonObj, editor.game.replacerForSaving, 4); + tempMap.forEach(function (v) { + tempJson = tempJson.replace('"' + v[1] + '"', '[\n' + editor.file.formatMap(v[2], v[0] != 'map') + '\n]') + }); + datastr = datastr.concat([tempJson]); + datastr = datastr.join(''); + editor.file.alertWhenCompress(); + editor.fs.writeFile(filename, editor.util.encode64(datastr), 'base64', function (err, data) { + editor.addUsedFlags(datastr); + callback(err); + }); } - var saveSetting = function (file, actionList, callback) { - //console.log(file); - //console.log(actionList); - alertWhenCompress(); - - if (file == 'icons') { - actionList.forEach(function (value) { - eval("icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = \n'; - datastr += JSON.stringify(icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1, null, '\t'); - fs.writeFile('project/icons.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'maps') { - actionList.forEach(function (value) { - eval("maps_90f36752_8815_4be8_b32b_d7fad1d0542e" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = \n'; - //datastr+=JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e,null,4); + editor_file_proto.prototype.saveScript = function (name, varName, dataObj, callback) { + // 此处格式化以及写入 project/xxx.js 形式的文件 + editor.file.alertWhenCompress(); + if (['maps', 'enemys'].indexOf(name) === -1) { + // 全部用\t展开 + var content = JSON.stringify(dataObj, editor.game.replacerForSaving, '\t'); + } else { + // 只用\t展开第一层 var emap = {}; - var estr = JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e, function (k, v) { + var estr = JSON.stringify(dataObj, function (_k, v) { if (v.id != null) { var id_ = editor.util.guid(); - emap[id_] = JSON.stringify(v); + emap[id_] = JSON.stringify(v, editor.game.replacerForSaving); return id_; } else return v }, '\t'); for (var id_ in emap) { - estr = estr.replace('"' + id_ + '"', emap[id_]) + estr = estr.replace('"' + id_ + '"', emap[id_]); } - datastr += estr; + var content = estr; + } - fs.writeFile('project/maps.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'items') { - actionList.forEach(function (value) { - eval("items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = \n'; - datastr += JSON.stringify(items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a, null, '\t'); - fs.writeFile('project/items.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'enemys') { - actionList.forEach(function (value) { - eval("enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = \n'; - var emap = {}; - var estr = JSON.stringify(enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80, function (k, v) { - if (v.hp != null) { - var id_ = editor.util.guid(); - emap[id_] = JSON.stringify(v); - return id_; - } else return v - }, '\t'); - for (var id_ in emap) { - estr = estr.replace('"' + id_ + '"', emap[id_]) - } - datastr += estr; - fs.writeFile('project/enemys.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'data') { - actionList.forEach(function (value) { - eval("data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d" + value[1] + '=' + JSON.stringify(value[2])); - }); - if (data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds.indexOf(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId) < 0) - data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds[0]; - var datastr = 'var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = \n'; - datastr += JSON.stringify(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d, null, '\t'); - fs.writeFile('project/data.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'functions') { - actionList.forEach(function (value) { - eval("fmap[fobj" + value[1] + ']=' + JSON.stringify(value[2])); - }); - var fraw = fjson; - for (var id_ in fmap) { - fraw = fraw.replace('"' + id_ + '"', fmap[id_]) - } - var datastr = 'var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = \n'; - datastr += fraw; - fs.writeFile('project/functions.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'floorloc') { - actionList.forEach(function (value) { - // 检测null/undefined - if (value[2]==null) - eval("delete editor.currentFloorData" + value[1]); - else - eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); - }); - editor_file.saveFloorFile(callback); - return; - } - if (file == 'floors') { - actionList.forEach(function (value) { - eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); - }); - editor_file.saveFloorFile(callback); - return; - } - if (file == 'events') { - actionList.forEach(function (value) { - eval("events_c12a15a8_c380_4b28_8144_256cba95f760" + value[1] + '=' + JSON.stringify(value[2])); - }); - var datastr = 'var events_c12a15a8_c380_4b28_8144_256cba95f760 = \n'; - datastr += JSON.stringify(events_c12a15a8_c380_4b28_8144_256cba95f760, null, '\t'); - fs.writeFile('project/events.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - if (file == 'plugins') { - actionList.forEach(function (value) { - if(value[0]==='add'){ - eval("plobj" + value[1] + '=' + JSON.stringify(value[2])); - } else { - eval("plmap[plobj" + value[1] + ']=' + JSON.stringify(value[2])); - } - }); - var plraw = JSON.stringify(plobj,null,4); - for (var id_ in plmap) { - plraw = plraw.replace('"' + id_ + '"', plmap[id_]) - } - var datastr = 'var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = \n'; - datastr += plraw; - fs.writeFile('project/plugins.js', encode(datastr), 'base64', function (err, data) { - callback(err); - }); - return; - } - callback('出错了,要设置的文件名不识别'); + var strToWrite = `var ${varName} = \n${content}`; + editor.fs.writeFile(`project/${name}.js`, editor.util.encode64(strToWrite), 'base64', function (err, data) { + callback(err); + }); } - return editor_file; -} -//editor_file = editor_file(editor); \ No newline at end of file + editor_file_proto.prototype.saveCommentJs = function () { + // 无需格式化的写入, 把multi的那部分略微修改 + } + + editor_file_proto.prototype.saveImage = function () { + // 给追加素材使用 + } + + editor_file_proto.prototype.addMark = function (name) { + // 把name对应的文件在editor.file.fileMark添加标记 + } + + editor_file_proto.prototype.save = function (callback) { + // 根据 editor.file.fileMark 把游戏对象格式化写入文件 + } + + +} \ No newline at end of file diff --git a/_server/editor_file_unsorted.js b/_server/editor_file_unsorted.js new file mode 100644 index 00000000..7ee709c8 --- /dev/null +++ b/_server/editor_file_unsorted.js @@ -0,0 +1,904 @@ +editor_file = function (editor, callback) { + + var editor_file = new editor_file_proto(); + editor.file=editor_file; + + editor.file.loadCommentjs(callback); + + editor.file.saveFloorFile = function (callback) { + //callback(err:String) + checkCallback(callback); + /* if (!isset(editor.currentFloorId) || !isset(editor.currentFloorData)) { + callback('未选中文件或无数据'); + } */ + var filename = 'project/floors/' + editor.currentFloorId + '.js'; + var datastr = ['main.floors.', editor.currentFloorId, '=\n']; + + if (core.floorIds.indexOf(editor.currentFloorId) >= 0) { + for(var ii=0,name;name=['map','bgmap','fgmap'][ii];ii++){ + var mapArray=editor[name].map(function (v) { + return v.map(function (v) { + return v.idnum || v || 0 + }) + }); + editor.currentFloorData[name]=mapArray; + } + } + editor.file.saveFloor(editor.currentFloorData, callback) + } + + /////////////////////////////////////////////////////////////////////////// + + editor.file.saveNewFile = function (saveFilename, callback) { + //saveAsFilename不含'/'不含'.js' + checkCallback(callback); + var currData=editor.currentFloorData; + var saveStatus = document.getElementById('newMapStatus').checked; + + var title = saveStatus?currData.title:"新建楼层"; + var name = saveStatus?currData.name:"0"; + if (/^mt\d+$/i.test(saveFilename)) { + name = saveFilename.substring(2); + title = "主塔 "+name+" 层"; + } + + var width = parseInt(document.getElementById('newMapWidth').value); + var height = parseInt(document.getElementById('newMapHeight').value); + var row = [], map = []; + for (var i=0;i0) + saveSetting('icons', iconActions, tempcallback); + else tempcallback(null); + + saveSetting('maps', mapActions, tempcallback); + + if (image=='items') + saveSetting('items', templateActions, tempcallback); + else if (image.indexOf('enemy')==0) + saveSetting('enemys', templateActions, tempcallback); + else tempcallback(null); + } + + editor.file.registerAutotile = function (filename, callback) { + var idnum = 140; + while (editor.core.maps.blocksInfo[idnum]) idnum++; + + var iconActions = []; + var mapActions = []; + + iconActions.push(["add", "['autotile']['" + filename + "']", 0]); + mapActions.push(["add", "['" + idnum + "']", {'cls': 'autotile', 'id': filename, 'noPass': true}]); + + var templist = []; + var tempcallback = function (err) { + templist.push(err); + if (templist.length == 2) { + if (templist[0] != null || templist[1] != null) + callback((templist[0] || '') + '\n' + (templist[1] || '')); + //这里如果一个成功一个失败会出严重bug + else + callback(null); + } + } + + saveSetting('icons', iconActions, tempcallback); + saveSetting('maps', mapActions, tempcallback); + } + + editor.file.changeIdAndIdnum = function (id, idnum, info, callback) { + checkCallback(callback); + + var changeOrNew=core.isset(editor_mode.info.id)?'change':'new' + if(changeOrNew=='new'){ + //检查maps中是否有重复的idnum或id + for (var ii in editor.core.maps.blocksInfo) { + if (ii == idnum) { + callback('idnum重复了'); + return; + } + if (editor.core.maps.blocksInfo[ii].id == id) { + callback('id重复了'); + return; + } + } + var templist = []; + var tempcallback = function (err) { + templist.push(err); + if (templist.length == 2) { + if (templist[0] != null || templist[1] != null) + callback((templist[0] || '') + '\n' + (templist[1] || '')); + //这里如果一个成功一个失败会出严重bug + else + callback(null); + } + } + saveSetting('maps', [["add", "['" + idnum + "']", {'cls': info.images, 'id': id}]], tempcallback); + saveSetting('icons', [["add", "['" + info.images + "']['" + id + "']", info.y]], tempcallback); + if (info.images === 'items') { + saveSetting('items', [["add", "['items']['" + id + "']", editor.file.comment._data.items_template]], function (err) { + if (err) { + printe(err); + throw(err) + } + }); + } + if (info.images === 'enemys' || info.images === 'enemy48') { + saveSetting('enemys', [["add", "['" + id + "']", editor.file.comment._data.enemys_template]], function (err) { + if (err) { + printe(err); + throw(err) + } + }); + } + + callback(null); + + }else{ + //检查maps中是否有重复的idnum或id + for (var ii in editor.core.maps.blocksInfo) { + if (editor.core.maps.blocksInfo[ii].id == id) { + callback('id重复了'); + return; + } + } + idnum = info.idnum; + + maps_90f36752_8815_4be8_b32b_d7fad1d0542e[idnum].id = id; + + var arr=[icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1,items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a,{enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80:enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80}] + arr.forEach(function (obj) { + for(var jj in obj){ + var ii=obj[jj] + if (ii.hasOwnProperty(info.id)){ + ii[id]=ii[info.id]; + delete(ii[info.id]); + } + } + }); + + editor.file.save_icons_maps_items_enemys(callback) + + } + } + //callback(err:String) + editor.file.editItem = function (id, actionList, callback) { + /*actionList:[ + ["change","['items']['name']","红宝石的新名字"], + ["add","['items']['新的和name同级的属性']",123], + ["change","['itemEffectTip']","',攻击力+'+editor.core.values.redJewel"], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + var tempindex = value[1].indexOf(']') + 1; + value[1] = [value[1].slice(0, tempindex), "['" + id + "']", value[1].slice(tempindex)].join(''); + }); + saveSetting('items', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj_ = {}; + Object.keys(editor.file.comment._data.items._data).forEach(function (v) { + if (isset(editor.core.items[v][id]) && v !== 'items') + locObj_[v] = editor.core.items[v][id]; + else + locObj_[v] = null; + }); + locObj_['items'] = (function () { + var locObj = Object.assign({}, editor.core.items.items[id]); + Object.keys(editor.file.comment._data.items._data.items._data).forEach(function (v) { + if (!isset(editor.core.items.items[id][v])) + locObj[v] = null; + }); + return locObj; + })(); + return locObj_; + })(), + editor.file.comment._data.items, + null]); + } + //只有items.cls是items的才有itemEffect和itemEffectTip,keys和constants和tools只有items + } + //callback([obj,commentObj,err:String]) + editor.file.editEnemy = function (id, actionList, callback) { + /*actionList:[ + ["change","['name']","初级巫师的新名字"], + ["add","['新的和name同级的属性']",123], + ["change","['bomb']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + value[1] = "['" + id + "']" + value[1]; + }); + saveSetting('enemys', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = Object.assign({}, editor.core.enemys.enemys[id]); + Object.keys(editor.file.comment._data.enemys._data).forEach(function (v) { + if (!isset(editor.core.enemys.enemys[id][v])) + /* locObj[v]=editor.core.enemys.enemys[id][v]; + else */ + locObj[v] = null; + }); + return locObj; + })(), + editor.file.comment._data.enemys, + null]); + } + } + //callback([obj,commentObj,err:String]) + + editor.file.editMapBlocksInfo = function (idnum, actionList, callback) { + /*actionList:[ + ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], + ["change","['afterBattle']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + var tempmap=[]; + for(var ii=0;ii=editor.core.icons.tilesetStartOffset && !isset(editor.core.maps.blocksInfo[idnum]) && tempmap.indexOf(idnum)===-1){ + actionList.splice(ii,0,["add","['" + idnum + "']",{"cls": "tileset", "id": "X"+idnum, "noPass": true}]); + tempmap.push(idnum); + ii++; + } + value[1] = "['" + idnum + "']" + value[1]; + } + saveSetting('maps', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var sourceobj=editor.core.maps.blocksInfo[idnum]; + if(!isset(sourceobj) && idnum>=editor.core.icons.tilesetStartOffset)sourceobj={"cls": "tileset", "id": "X"+idnum, "noPass": true} + var locObj = Object.assign({}, sourceobj); + Object.keys(editor.file.comment._data.maps._data).forEach(function (v) { + if (!isset(sourceobj[v])) + locObj[v] = null; + }); + locObj.idnum = idnum; + return locObj; + })(), + editor.file.comment._data.maps, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editLoc = function (x, y, actionList, callback) { + /*actionList:[ + ["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]], + ["change","['afterBattle']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + if(/\['autoEvent'\]\['\d+'\]$/.test(value[1]))value[1]=value[1].replace(/\['\d+'\]$/,function(v){return "['" + x + "," + y + "']"+v}) + else value[1] = value[1] + "['" + x + "," + y + "']"; + }); + saveSetting('floorloc', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = {}; + Object.keys(editor.file.comment._data.floors._data.loc._data).forEach(function (v) { + if (isset(editor.currentFloorData[v][x + ',' + y])) + locObj[v] = editor.currentFloorData[v][x + ',' + y]; + else + locObj[v] = null; + }); + return locObj; + })(), + editor.file.comment._data.floors._data.loc, + null]); + } + + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editFloor = function (actionList, callback) { + /*actionList:[ + ["change","['title']",'样板 3 层'], + ["change","['color']",null], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('floors', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = Object.assign({}, editor.currentFloorData); + Object.keys(editor.file.comment._data.floors._data.floor._data).forEach(function (v) { + if (!isset(editor.currentFloorData[v])) + /* locObj[v]=editor.currentFloorData[v]; + else */ + locObj[v] = null; + }); + Object.keys(editor.file.comment._data.floors._data.loc._data).forEach(function (v) { + delete(locObj[v]); + }); + delete(locObj.map); + delete(locObj.bgmap); + delete(locObj.fgmap); + return locObj; + })(), + editor.file.comment._data.floors._data.floor, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editTower = function (actionList, callback) { + /*actionList:[ + ["change","['firstData']['version']",'Ver 1.0.1 (Beta)'], + ["change","['values']['lavaDamage']",200], + ] + 为[]时只查询不修改 + */ + var data_obj = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d; + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('data', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + //var locObj=Object.assign({'main':{}},editor.core.data); + var locObj = Object.assign({}, data_obj, {'main': {}}); + Object.keys(editor.file.dataComment._data.main._data).forEach(function (v) { + if (isset(editor.main[v])) + locObj.main[v] = data_obj.main[v]; + else + locObj.main[v] = null; + }); + return locObj; + })(), + editor.file.dataComment, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + var fmap = {}; + var fjson = JSON.stringify(functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a, function (k, v) { + if (v instanceof Function) { + var id_ = editor.util.guid(); + fmap[id_] = v.toString(); + return id_; + } else return v + }, 4); + var fobj = JSON.parse(fjson); + editor.file.functionsMap = fmap; + editor.file.functionsJSON = fjson; + var buildlocobj = function (locObj) { + for (var key in locObj) { + if (typeof(locObj[key]) !== typeof('')) buildlocobj(locObj[key]); + else locObj[key] = fmap[locObj[key]]; + } + }; + + editor.file.editFunctions = function (actionList, callback) { + /*actionList:[ + ["change","['events']['afterChangeLight']","function(x,y){console.log(x,y)}"], + ["change","['ui']['drawAbout']","function(){...}"], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('functions', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = JSON.parse(fjson); + buildlocobj(locObj); + return locObj; + })(), + editor.file.functionsComment, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + editor.file.editCommonEvent = function (actionList, callback) { + /*actionList:[ + ["change","['test']",['123']], + ] + 为[]时只查询不修改 + */ + var data_obj = events_c12a15a8_c380_4b28_8144_256cba95f760.commonEvent; + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + actionList.forEach(function (value) { + value[1] = "['commonEvent']" + value[1]; + }); + saveSetting('events', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + Object.assign({},data_obj), + editor.file.eventsComment._data.commonEvent, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + var plmap = {}; + var pljson = JSON.stringify(plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1, function (k, v) { + if (v instanceof Function) { + var id_ = editor.util.guid(); + plmap[id_] = v.toString(); + return id_; + } else if(v===null){ + var id_ = editor.util.guid(); + plmap[id_] = null; + return id_; + } return v + }, 4); + var plobj = JSON.parse(pljson); + editor.file.pluginsMap = plmap; + editor.file.pluginsObj = plobj; + var buildpllocobj = function (locObj) { + for (var key in locObj) { + if (typeof(locObj[key]) !== typeof('')) buildpllocobj(locObj[key]); + else locObj[key] = plmap[locObj[key]]; + } + }; + + editor.file.editPlugins = function (actionList, callback) { + /*actionList:[ + ["change","['test']","function(x,y){console.log(x,y)}"], + ] + 为[]时只查询不修改 + */ + checkCallback(callback); + if (isset(actionList) && actionList.length > 0) { + saveSetting('plugins', actionList, function (err) { + callback([err]); + }); + } else { + callback([ + (function () { + var locObj = JSON.parse(JSON.stringify(plobj)); + buildpllocobj(locObj); + return locObj; + })(), + editor.file.pluginsComment, + null]); + } + } + //callback([obj,commentObj,err:String]) + + //////////////////////////////////////////////////////////////////// + + var isset = function (val) { + if (val == undefined || val == null) { + return false; + } + return true + } + + var checkCallback=function(callback){ + if (!isset(callback)) { + printe('未设置callback'); + throw('未设置callback') + } + } + + var encode = editor.util.encode64; + + var alertWhenCompress = function(){ + if(editor.useCompress===true){ + editor.useCompress='alerted'; + setTimeout("alert('当前游戏使用的是压缩文件,修改完成后请使用启动服务.exe->Js代码压缩工具重新压缩,或者把main.js的useCompress改成false来使用原始文件')",1000) + } + } + + editor.file.save_icons_maps_items_enemys=function(callback){ + var check=[] + saveSetting('icons',[],function(err){ + if(err){callback(err);return;} + check.push('icons') + if(check.length==4)callback(null); + }) + saveSetting('maps',[],function(err){ + if(err){callback(err);return;} + check.push('maps') + if(check.length==4)callback(null); + }) + saveSetting('items',[],function(err){ + if(err){callback(err);return;} + check.push('items') + if(check.length==4)callback(null); + }) + saveSetting('enemys',[],function(err){ + if(err){callback(err);return;} + check.push('enemys') + if(check.length==4)callback(null); + }) + } + + var saveSetting = function (file, actionList, callback) { + //console.log(file); + //console.log(actionList); + editor.file.alertWhenCompress(); + + if (file == 'icons') { + actionList.forEach(function (value) { + eval("icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = \n'; + datastr += JSON.stringify(icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1, null, '\t'); + fs.writeFile('project/icons.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'maps') { + actionList.forEach(function (value) { + eval("maps_90f36752_8815_4be8_b32b_d7fad1d0542e" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = \n'; + //datastr+=JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e,null,4); + + var emap = {}; + var estr = JSON.stringify(maps_90f36752_8815_4be8_b32b_d7fad1d0542e, function (k, v) { + if (v.id != null) { + var id_ = editor.util.guid(); + emap[id_] = JSON.stringify(v); + return id_; + } else return v + }, '\t'); + for (var id_ in emap) { + estr = estr.replace('"' + id_ + '"', emap[id_]) + } + datastr += estr; + + fs.writeFile('project/maps.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'items') { + actionList.forEach(function (value) { + eval("items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = \n'; + datastr += JSON.stringify(items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a, null, '\t'); + fs.writeFile('project/items.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'enemys') { + actionList.forEach(function (value) { + eval("enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = \n'; + var emap = {}; + var estr = JSON.stringify(enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80, function (k, v) { + if (v.hp != null) { + var id_ = editor.util.guid(); + emap[id_] = JSON.stringify(v); + return id_; + } else return v + }, '\t'); + for (var id_ in emap) { + estr = estr.replace('"' + id_ + '"', emap[id_]) + } + datastr += estr; + fs.writeFile('project/enemys.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'data') { + actionList.forEach(function (value) { + eval("data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d" + value[1] + '=' + JSON.stringify(value[2])); + }); + if (data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds.indexOf(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId) < 0) + data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.floorId = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds[0]; + var datastr = 'var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = \n'; + datastr += JSON.stringify(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d, null, '\t'); + fs.writeFile('project/data.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'functions') { + actionList.forEach(function (value) { + eval("fmap[fobj" + value[1] + ']=' + JSON.stringify(value[2])); + }); + var fraw = fjson; + for (var id_ in fmap) { + fraw = fraw.replace('"' + id_ + '"', fmap[id_]) + } + var datastr = 'var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = \n'; + datastr += fraw; + fs.writeFile('project/functions.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'floorloc') { + actionList.forEach(function (value) { + // 检测null/undefined + if(/\['autoEvent'\]\['\d+,\d+'\]\['\d+'\]$/.test(value[1])){ + var tempvalue=value[1].replace(/\['\d+'\]$/,'') + tempvalue="editor.currentFloorData" +tempvalue + tempvalue=tempvalue+'='+tempvalue+'||{}' + eval(tempvalue) + } + if (value[2]==null && value[0]!=='add') + eval("delete editor.currentFloorData" + value[1]); + else + eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); + }); + editor.file.saveFloorFile(callback); + return; + } + if (file == 'floors') { + actionList.forEach(function (value) { + eval("editor.currentFloorData" + value[1] + '=' + JSON.stringify(value[2])); + }); + editor.file.saveFloorFile(callback); + return; + } + if (file == 'events') { + actionList.forEach(function (value) { + eval("events_c12a15a8_c380_4b28_8144_256cba95f760" + value[1] + '=' + JSON.stringify(value[2])); + }); + var datastr = 'var events_c12a15a8_c380_4b28_8144_256cba95f760 = \n'; + datastr += JSON.stringify(events_c12a15a8_c380_4b28_8144_256cba95f760, null, '\t'); + fs.writeFile('project/events.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + if (file == 'plugins') { + actionList.forEach(function (value) { + if(value[0]==='add'){ + eval("plobj" + value[1] + '=' + JSON.stringify(value[2])); + } else { + eval("plmap[plobj" + value[1] + ']=' + JSON.stringify(value[2])); + } + }); + var plraw = JSON.stringify(plobj,null,4); + for (var id_ in plmap) { + plraw = plraw.replace('"' + id_ + '"', plmap[id_]) + } + var datastr = 'var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = \n'; + datastr += plraw; + fs.writeFile('project/plugins.js', encode(datastr), 'base64', function (err, data) { + callback(err); + }); + return; + } + callback('出错了,要设置的文件名不识别'); + } + + editor.file.saveSetting = saveSetting; + + return editor_file; +} +//editor_file = editor_file(editor); \ No newline at end of file diff --git a/_server/editor_game.js b/_server/editor_game.js index efd447bf..4690f17c 100644 --- a/_server/editor_game.js +++ b/_server/editor_game.js @@ -1,37 +1,83 @@ editor_game_wrapper = function (editor, main, core) { + // 原则上重构后只有此文件允许`\s(main|core)`形式的调用, 以及其初始化 editor_game_wrapper(editor, main, core) editor_game = function () { + this.replacerRecord = {} + } + + //////////////////// 修改数据相关 //////////////////// + // 三个 replacer 和 replacerRecord 暂时放在此处 + + editor_game.prototype.replacerForLoading = function (_key, value) { + var rmap = editor.game.replacerRecord; + if (value instanceof Function) { + var guid_ = editor.util.guid() + rmap[guid_] = value.toString() + return guid_ + } else if (value === null) { + // 为了包含plugins的新建 + var guid_ = editor.util.guid() + rmap[guid_] = null + return guid_ + } + return value + } + + editor_game.prototype.replacerForSaving = function (_key, value) { + var rmap = editor.game.replacerRecord; + if (rmap.hasOwnProperty(value)) { + return rmap[value] + } + return value + } + + editor_game.prototype.getValue = function (field) { + var rmap = editor.game.replacerRecord; + var value = eval(field) + if (rmap.hasOwnProperty(oldval)) { + return rmap[value] + } else { + return value + } + } + + editor_game.prototype.setValue = function (field, value) { + var rmap = editor.game.replacerRecord; + var oldval = eval(field) + if (rmap.hasOwnProperty(oldval)) { + rmap[value] = eval(value) + } else { + eval(field + '=' + value) + } + } + + editor_game.prototype.replacerWithoutRecord = function (_key, value) { + if (value instanceof Function) { + return value.toString() + } else return value } editor_game.prototype.fixFunctionInGameData = function () { - core.floors = JSON.parse(JSON.stringify(core.floors, function (_k, v) { - if (v instanceof Function) { - return v.toString() - } else return v - })); - core.data = JSON.parse(JSON.stringify(core.data, function (_k, v) { - if (v instanceof Function) { - return v.toString() - } else return v - })); - data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = JSON.parse(JSON.stringify(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d, function (_k, v) { - if (v instanceof Function) { - return v.toString() - } else return v - })); + var rf = editor.game.replacerWithoutRecord + core.floors = JSON.parse(JSON.stringify(core.floors, rf)); + core.data = JSON.parse(JSON.stringify(core.data, rf)); + data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = JSON.parse(JSON.stringify(data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d, rf)); } + //////////////////// 加载游戏数据相关 //////////////////// + + // 初始化数字与地图图块的对应 editor_game.prototype.idsInit = function (maps, icons) { editor.ids = [0]; editor.indexs = []; var MAX_NUM = 0; - var keys=Object.keys(maps_90f36752_8815_4be8_b32b_d7fad1d0542e); - for(var ii=0;iiMAX_NUM && v MAX_NUM && v < core.icons.tilesetStartOffset) MAX_NUM = v; } - editor.MAX_NUM=MAX_NUM; + editor.MAX_NUM = MAX_NUM; var getInfoById = function (id) { var block = maps.initBlock(0, 0, id); if (Object.prototype.hasOwnProperty.call(block, 'event')) { @@ -46,15 +92,15 @@ editor_game_wrapper = function (editor, main, core) { var id = indexBlock.event.id; var indexId = indexBlock.id; var allCls = Object.keys(icons); - if(i==17){ - editor.ids.push({'idnum': 17, 'id': id, 'images': 'terrains'}); + if (i == 17) { + editor.ids.push({ 'idnum': 17, 'id': id, 'images': 'terrains' }); point++; editor.indexs[i].push(point); continue; } for (var j = 0; j < allCls.length; j++) { if (id in icons[allCls[j]]) { - editor.ids.push({'idnum': indexId, 'id': id, 'images': allCls[j], 'y': icons[allCls[j]][id]}); + editor.ids.push({ 'idnum': indexId, 'id': id, 'images': allCls[j], 'y': icons[allCls[j]][id] }); point++; editor.indexs[i].push(point); } @@ -62,36 +108,39 @@ editor_game_wrapper = function (editor, main, core) { } } editor.indexs[0] = [0]; - + var startOffset = core.icons.tilesetStartOffset; for (var i in core.tilesets) { var imgName = core.tilesets[i]; var img = core.material.images.tilesets[imgName]; - var width = Math.floor(img.width/32), height = Math.floor(img.height/32); - if(img.width%32 || img.height%32){ - alert(imgName+'的长或宽不是32的整数倍, 请修改后刷新页面'); + var width = Math.floor(img.width / 32), height = Math.floor(img.height / 32); + if (img.width % 32 || img.height % 32) { + // alert(imgName + '的长或宽不是32的整数倍, 请修改后刷新页面'); + console.warn(imgName + '的长或宽不是32的整数倍, 请修改后刷新页面'); } - if(img.width*img.height > 32*32*3000){ - alert(imgName+'上的图块数量超过了3000,请修改后刷新页面'); + if (img.width * img.height > 32 * 32 * 3000) { + // alert(imgName + '上的图块数量超过了3000,请修改后刷新页面'); + console.warn(imgName + '上的图块数量超过了3000,请修改后刷新页面'); } - for (var id=startOffset; id,err:String]) + editor.util.checkCallback(callback); + /* editor.fs.readdir('project/floors',function(err, data){ + callback([data,err]); + }); */ + callback([editor.core.floorIds, null]); + } + + editor_game.prototype.doCoreFunc = function (funcname) { + return core[funcname].apply(core, Array.prototype.slice.call(arguments, 1)); + } + + editor_game.prototype.getEnemy = function (id) { + return core.material.enemys[id]; + } + + editor_game.prototype.getFirstData = function () { + return core.firstData; + } editor.constructor.prototype.game = new editor_game(); } diff --git a/_server/editor_unsorted_3.js b/_server/editor_legacy.js similarity index 90% rename from _server/editor_unsorted_3.js rename to _server/editor_legacy.js index 170238e9..35e5518d 100644 --- a/_server/editor_unsorted_3.js +++ b/_server/editor_legacy.js @@ -1,4 +1,6 @@ - +// 由于历史遗留原因, 以下变量作为全局变量使用 +// exportMap mapEditArea pout mapEditArea copyMap clearMapButton deleteMap printf printe tip selectBox +// 除对这些量的功能修改外, 误在此文件中增加新变量或函数 exportMap = document.getElementById('exportMap') exportMap.isExport=false exportMap.onclick=function(){ @@ -206,13 +208,21 @@ printf = function (str_, type) { printe = function (str_) { printf(str_, 'error') } -tip_in_showMode = [ - '涉及图片的更改需要F5刷新浏览器来生效', - '文本域可以通过双击,在文本编辑器或事件编辑器中编辑', - '事件编辑器中的显示文本和自定义脚本的方块也可以双击', - "画出的地图要点击\"保存地图\"才会写入到文件中", -]; tip=document.getElementById('tip') +tip.showHelp = function(value) { + var tips = [ + '表格的文本域可以双击进行编辑', + '双击地图可以选中素材,右键可以弹出菜单', + '双击事件编辑器的图块可以进行长文本编辑/脚本编辑/地图选点/UI绘制预览等操作', + 'ESC或点击空白处可以自动保存当前修改', + 'H键可以打开操作帮助哦', + 'tileset贴图模式可以在地图上拖动来一次绘制一个区域;右键额外素材也可以绑定宽高', + '可以拖动地图上的图块和事件,或按Ctrl+C, Ctrl+X和Ctrl+V进行复制,剪切和粘贴,Delete删除', + 'Alt+数字键保存图块,数字键读取保存的图块', + ]; + if (value == null) value = Math.floor(Math.random() * tips.length); + printf('tips: ' + tips[value]) +} tip._infos= {} tip.infos=function(value){ if(value!=null){ @@ -354,7 +364,6 @@ tip.whichShow=function(value){ return tip._whichShow } selectBox=document.getElementById('selectBox') -dataSelection=document.getElementById('dataSelection') selectBox._isSelected=false selectBox.isSelected=function(value){ if(value!=null){ @@ -362,8 +371,9 @@ selectBox.isSelected=function(value){ tip.isSelectedBlock(value); tip.whichShow(0); clearTimeout(tip.timer); - dataSelection.style.display=value?'':'none' + editor.dom.dataSelection.style.display=value?'':'none' } return selectBox._isSelected } +// 修改此文件前先看文件开头的说明 \ No newline at end of file diff --git a/_server/editor_listen.js b/_server/editor_listen.js new file mode 100644 index 00000000..31825aa5 --- /dev/null +++ b/_server/editor_listen.js @@ -0,0 +1,164 @@ +editor_listen_wrapper = function (editor) { + + editor.constructor.prototype.listen = function () { + + editor.dom.body.onmousedown = editor.uifunctions.body_click; + + editor.dom.eui.oncontextmenu = function (e) { e.preventDefault() } // 自定义了右键菜单, 阻止默认行为 + editor.dom.midMenu.oncontextmenu = function (e) { e.preventDefault() } + + editor.dom.eui.ondblclick = editor.uifunctions.map_doubleClick + + editor.dom.eui.onmousedown = editor.uifunctions.map_ondown + editor.dom.eui.onmousemove = editor.uifunctions.map_onmove + editor.dom.eui.onmouseup = editor.uifunctions.map_onup + + editor.dom.mid.onmousewheel = editor.uifunctions.map_mousewheel + + editor.uivalues.shortcut = editor.config.get('shortcut', { 48: 0, 49: 0, 50: 0, 51: 0, 52: 0, 53: 0, 54: 0, 55: 0, 56: 0, 57: 0 }); + editor.dom.body.onkeydown = editor.uifunctions.body_shortcut + + editor.uivalues.scrollBarHeight = editor.uifunctions.getScrollBarHeight(); + editor.dom.iconExpandBtn.style.display = 'block'; + editor.dom.iconExpandBtn.innerText = editor.uivalues.folded ? "展开素材区" : "折叠素材区"; + editor.dom.iconExpandBtn.onclick = editor.uifunctions.fold_material_click + + editor.dom.iconLib.onmousedown = editor.uifunctions.material_ondown + editor.dom.iconLib.oncontextmenu = function (e) { e.preventDefault() } + + editor.dom.extraEvent.onmousedown = editor.uifunctions.extraEvent_click + editor.dom.chooseThis.onmousedown = editor.uifunctions.chooseThis_click + editor.dom.chooseInRight.onmousedown = editor.uifunctions.chooseInRight_click + editor.dom.copyLoc.onmousedown = editor.uifunctions.copyLoc_click + editor.dom.moveLoc.onmousedown = editor.uifunctions.moveLoc_click + editor.dom.clearEvent.onmousedown = editor.uifunctions.clearEvent_click + editor.dom.clearLoc.onmousedown = editor.uifunctions.clearLoc_click + + editor.dom.lastUsed.onmousedown = editor.uifunctions.lastUsed_click; + editor.dom.lockMode.onchange = editor.uifunctions.lockMode_onchange; + + editor.dom.brushMod.onchange = editor.uifunctions.brushMod_onchange + if (editor.dom.brushMod2) editor.dom.brushMod2.onchange = editor.uifunctions.brushMod2_onchange; + if (editor.dom.brushMod3) editor.dom.brushMod3.onchange = editor.uifunctions.brushMod3_onchange; + + editor.dom.layerMod.onchange = editor.uifunctions.layerMod_onchange + if (editor.dom.layerMod2) editor.dom.layerMod2.onchange = editor.uifunctions.layerMod2_onchange; + if (editor.dom.layerMod3) editor.dom.layerMod3.onchange = editor.uifunctions.layerMod3_onchange; + + editor.uifunctions.viewportButtons_func() + } + + editor.constructor.prototype.mobile_listen = function () { + if (!editor.isMobile) return; + + var mobileview = document.getElementById('mobileview'); + var mid = document.getElementById('mid'); + var right = document.getElementById('right'); + // var mobileeditdata = document.getElementById('mobileeditdata'); + + + editor.showdataarea = function (callShowMode) { + mid.style = 'z-index:-1;opacity: 0;'; + right.style = 'z-index:-1;opacity: 0;'; + // mobileeditdata.style = ''; + if (callShowMode) editor.mode.showMode(editor.dom.editModeSelect.value); + editor.uifunctions.hideMidMenu(); + } + mobileview.children[0].onclick = function () { + editor.showdataarea(true) + } + mobileview.children[1].onclick = function () { + mid.style = ''; + right.style = 'z-index:-1;opacity: 0;'; + // mobileeditdata.style = 'z-index:-1;opacity: 0;'; + editor.lastClickId = ''; + } + mobileview.children[3].onclick = function () { + mid.style = 'z-index:-1;opacity: 0;'; + right.style = ''; + // mobileeditdata.style = 'z-index:-1;opacity: 0;'; + editor.lastClickId = ''; + } + + /* + var gettrbyid = function () { + if (!editor.lastClickId) return false; + thisTr = document.getElementById(editor.lastClickId); + input = thisTr.children[2].children[0].children[0]; + field = thisTr.children[0].getAttribute('title'); + cobj = JSON.parse(thisTr.children[1].getAttribute('cobj')); + return [thisTr, input, field, cobj]; + } + mobileeditdata.children[0].onclick = function () { + var info = gettrbyid() + if (!info) return; + info[1].ondblclick() + } + mobileeditdata.children[1].onclick = function () { + var info = gettrbyid() + if (!info) return; + printf(info[2]) + } + mobileeditdata.children[2].onclick = function () { + var info = gettrbyid() + if (!info) return; + printf(info[0].children[1].getAttribute('title')) + } + */ + + //===== + + document.body.ontouchstart = document.body.onmousedown; + document.body.onmousedown = null; + + editor.dom.eui.ontouchstart = editor.dom.eui.onmousedown + editor.dom.eui.onmousedown = null + editor.dom.eui.ontouchmove = editor.dom.eui.onmousemove + editor.dom.eui.onmousemove = null + editor.dom.eui.ontouchend = editor.dom.eui.onmouseup + editor.dom.eui.onmouseup = null + + + editor.dom.chooseThis.ontouchstart = editor.dom.chooseThis.onmousedown + editor.dom.chooseThis.onmousedown = null + editor.dom.chooseInRight.ontouchstart = editor.dom.chooseInRight.onmousedown + editor.dom.chooseInRight.onmousedown = null + editor.dom.copyLoc.ontouchstart = editor.dom.copyLoc.onmousedown + editor.dom.copyLoc.onmousedown = null + editor.dom.moveLoc.ontouchstart = editor.dom.moveLoc.onmousedown + editor.dom.moveLoc.onmousedown = null + editor.dom.clearLoc.ontouchstart = editor.dom.clearLoc.onmousedown + editor.dom.clearLoc.onmousedown = null + } + + editor.constructor.prototype.mode_listen = function (callback) { + + // 这里的函数还没有写jsdoc, 通过_func()的方式先完成分类 + + editor.uifunctions.newIdIdnum_func() + editor.uifunctions.changeId_func() + editor.uifunctions.copyPasteEnemyItem_func(); + + editor.uifunctions.selectFloor_func() + editor.uifunctions.saveFloor_func() + + editor.uifunctions.newMap_func() + + editor.uifunctions.createNewMaps_func() + + editor.uifunctions.changeFloorId_func() + + editor.uifunctions.fixCtx_func() + + editor.uifunctions.selectAppend_func() + editor.uifunctions.selectFileBtn_func() + editor.uifunctions.changeColorInput_func() + editor.uifunctions.picClick_func() + editor.uifunctions.appendConfirm_func() + + editor.dom.editModeSelect.onchange = editor.mode.editModeSelect_onchange + + if (Boolean(callback)) callback(); + } + +} \ No newline at end of file diff --git a/_server/editor_mappanel.js b/_server/editor_mappanel.js new file mode 100644 index 00000000..9068eff9 --- /dev/null +++ b/_server/editor_mappanel.js @@ -0,0 +1,898 @@ +editor_mappanel_wrapper = function (editor) { + + // 暂时先 注释+分类 内部函数未完成重构 + + /** + * 在绘图区格子内画一个随机色块 + */ + editor.uifunctions.fillPos = function (pos) { + editor.dom.euiCtx.fillStyle = '#' + ~~(Math.random() * 8) + ~~(Math.random() * 8) + ~~(Math.random() * 8); + editor.dom.euiCtx.fillRect(pos.x * 32 + 12 - core.bigmap.offsetX, pos.y * 32 + 12 - core.bigmap.offsetY, 8, 8); + } + + /** + * 从鼠标点击返回可用的组件内坐标 + */ + editor.uifunctions.eToLoc = function (e) { + var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft + var scrollTop = document.documentElement.scrollTop || document.body.scrollTop + var xx = e.clientX, yy = e.clientY + if (editor.isMobile) { xx = e.touches[0].clientX, yy = e.touches[0].clientY } + editor.loc = { + 'x': scrollLeft + xx - editor.dom.mid.offsetLeft - editor.dom.mapEdit.offsetLeft, + 'y': scrollTop + yy - editor.dom.mid.offsetTop - editor.dom.mapEdit.offsetTop, + 'size': editor.isMobile ? (32 * innerWidth * 0.96 / core.__PIXELS__) : 32 + }; + return editor.loc; + } + + /** + * 组件内坐标转地图位置 + * @param {Boolean} addViewportOffset 是否加上大地图的偏置 + */ + editor.uifunctions.locToPos = function (loc, addViewportOffset) { + var offsetX = 0, offsetY = 0; + if (addViewportOffset) { + offsetX = core.bigmap.offsetX / 32; + offsetY = core.bigmap.offsetY / 32; + } + editor.pos = { 'x': ~~(loc.x / loc.size) + offsetX, 'y': ~~(loc.y / loc.size) + offsetY } + return editor.pos; + } + + /** + * editor.dom.eui.ondblclick + * 双击地图可以选中素材 + */ + editor.uifunctions.map_doubleClick = function (e) { + if (editor.uivalues.bindSpecialDoor.loc != null) return; + var loc = editor.uifunctions.eToLoc(e); + var pos = editor.uifunctions.locToPos(loc, true); + editor.setSelectBoxFromInfo(editor[editor.layerMod][pos.y][pos.x]); + return; + } + + /** + * 用于鼠标移出map后清除状态 + */ + editor.uifunctions.clearMapStepStatus = function () { + if (editor.uivalues.mouseOutCheck > 1) { + editor.uivalues.mouseOutCheck--; + setTimeout(editor.uifunctions.clearMapStepStatus, 1000); + return; + } + editor.uivalues.holdingPath = 0; + editor.uivalues.stepPostfix = []; + editor.dom.euiCtx.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); + editor.uivalues.startPos = editor.uivalues.endPos = null; + } + + /** + * editor.dom.eui.onmousedown + * + 绑定机关门事件的选择怪物 + * + 右键进入菜单 + * + 非绘图时选中 + * + 绘图时画个矩形在那个位置 + */ + editor.uifunctions.map_ondown = function (e) { + var loc = editor.uifunctions.eToLoc(e); + var pos = editor.uifunctions.locToPos(loc, true); + if (editor.uivalues.bindSpecialDoor.loc != null) { + var x = editor.pos.x, y = editor.pos.y, id = (editor.map[y][x] || {}).id; + // 检测是否是怪物 + if (id && editor.game.getEnemy(id)) { + var locstr = x + "," + y, index = editor.uivalues.bindSpecialDoor.enemys.indexOf(locstr); + if (index >= 0) editor.uivalues.bindSpecialDoor.enemys.splice(index, 1); + else editor.uivalues.bindSpecialDoor.enemys.push(locstr); + editor.drawEventBlock(); + editor.uifunctions._extraEvent_bindSpecialDoor_doAction(); + } + return false; + } + if (e.button == 2) { + editor.uifunctions.showMidMenu(e.clientX, e.clientY); + return false; + } + if (!selectBox.isSelected()) { + editor_mode.onmode('nextChange'); + editor_mode.onmode('loc'); + //editor_mode.loc(); + //tip.whichShow(1); + tip.showHelp(6); + editor.uivalues.startPos = pos; + editor.dom.euiCtx.strokeStyle = '#FF0000'; + editor.dom.euiCtx.lineWidth = 3; + if (editor.isMobile) editor.uifunctions.showMidMenu(e.clientX, e.clientY); + return false; + } + + editor.uivalues.holdingPath = 1; + editor.uivalues.mouseOutCheck = 2; + setTimeout(editor.uifunctions.clearMapStepStatus); + editor.dom.euiCtx.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); + editor.uivalues.stepPostfix = []; + editor.uivalues.stepPostfix.push(pos); + if (editor.brushMod == 'line') editor.uifunctions.fillPos(pos); + return false; + } + + /** + * editor.dom.eui.onmousemove + * + 非绘图模式时维护起止位置并画箭头 + * + 绘图模式时找到与队列尾相邻的鼠标方向的点画个矩形 + */ + editor.uifunctions.map_onmove = function (e) { + if (!selectBox.isSelected()) { + if (editor.uivalues.startPos == null) return; + //tip.whichShow(1); + var loc = editor.uifunctions.eToLoc(e); + var pos = editor.uifunctions.locToPos(loc, true); + if (editor.uivalues.endPos != null && editor.uivalues.endPos.x == pos.x && editor.uivalues.endPos.y == pos.y) return; + if (editor.uivalues.endPos != null) { + editor.dom.euiCtx.clearRect(Math.min(32 * editor.uivalues.startPos.x - core.bigmap.offsetX, 32 * editor.uivalues.endPos.x - core.bigmap.offsetX), + Math.min(32 * editor.uivalues.startPos.y - core.bigmap.offsetY, 32 * editor.uivalues.endPos.y - core.bigmap.offsetY), + (Math.abs(editor.uivalues.startPos.x - editor.uivalues.endPos.x) + 1) * 32, (Math.abs(editor.uivalues.startPos.y - editor.uivalues.endPos.y) + 1) * 32) + } + editor.uivalues.endPos = pos; + if (editor.uivalues.startPos != null) { + if (editor.uivalues.startPos.x != editor.uivalues.endPos.x || editor.uivalues.startPos.y != editor.uivalues.endPos.y) { + core.drawArrow('eui', + 32 * editor.uivalues.startPos.x + 16 - core.bigmap.offsetX, 32 * editor.uivalues.startPos.y + 16 - core.bigmap.offsetY, + 32 * editor.uivalues.endPos.x + 16 - core.bigmap.offsetX, 32 * editor.uivalues.endPos.y + 16 - core.bigmap.offsetY); + } + } + // editor_mode.onmode('nextChange'); + // editor_mode.onmode('loc'); + //editor_mode.loc(); + //tip.whichShow(1); + // tip.showHelp(6); + return false; + } + + if (editor.uivalues.holdingPath == 0) { + return false; + } + editor.uivalues.mouseOutCheck = 2; + var loc = editor.uifunctions.eToLoc(e); + var pos = editor.uifunctions.locToPos(loc, true); + var pos0 = editor.uivalues.stepPostfix[editor.uivalues.stepPostfix.length - 1] + var directionDistance = [pos.y - pos0.y, pos0.x - pos.x, pos0.y - pos.y, pos.x - pos0.x] + var max = 0, index = 4; + for (var i = 0; i < 4; i++) { + if (directionDistance[i] > max) { + index = i; + max = directionDistance[i]; + } + } + var pos = [{ 'x': 0, 'y': 1 }, { 'x': -1, 'y': 0 }, { 'x': 0, 'y': -1 }, { 'x': 1, 'y': 0 }, false][index] + if (pos) { + pos.x += pos0.x; + pos.y += pos0.y; + if (editor.brushMod == 'line') editor.uifunctions.fillPos(pos); + else { + var x0 = editor.uivalues.stepPostfix[0].x; + var y0 = editor.uivalues.stepPostfix[0].y; + var x1 = pos.x; + var y1 = pos.y; + if (x0 > x1) { x0 ^= x1; x1 ^= x0; x0 ^= x1; }//swap + if (y0 > y1) { y0 ^= y1; y1 ^= y0; y0 ^= y1; }//swap + // draw rect + editor.dom.euiCtx.clearRect(0, 0, editor.dom.euiCtx.canvas.width, editor.dom.euiCtx.canvas.height); + editor.dom.euiCtx.fillStyle = 'rgba(0, 127, 255, 0.4)'; + editor.dom.euiCtx.fillRect(32 * x0 - core.bigmap.offsetX, 32 * y0 - core.bigmap.offsetY, + 32 * (x1 - x0) + 32, 32 * (y1 - y0) + 32); + } + editor.uivalues.stepPostfix.push(pos); + } + return false; + } + + /** + * editor.dom.eui.onmouseup + * + 非绘图模式时, 交换首末点的内容 + * + 绘图模式时, 根据画线/画矩形/画tileset 做对应的绘制 + */ + editor.uifunctions.map_onup = function (e) { + if (!selectBox.isSelected()) { + //tip.whichShow(1); + // editor.movePos(editor.uivalues.startPos, editor.uivalues.endPos); + if (editor.layerMod == 'map') + editor.exchangePos(editor.uivalues.startPos, editor.uivalues.endPos); + else + editor.exchangeBgFg(editor.uivalues.startPos, editor.uivalues.endPos, editor.layerMod); + editor.uivalues.startPos = editor.uivalues.endPos = null; + editor.dom.euiCtx.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); + return false; + } + editor.uivalues.holdingPath = 0; + if (editor.uivalues.stepPostfix && editor.uivalues.stepPostfix.length) { + editor.savePreMap(); + if (editor.brushMod !== 'line') { + var x0 = editor.uivalues.stepPostfix[0].x; + var y0 = editor.uivalues.stepPostfix[0].y; + var x1 = editor.uivalues.stepPostfix[editor.uivalues.stepPostfix.length - 1].x; + var y1 = editor.uivalues.stepPostfix[editor.uivalues.stepPostfix.length - 1].y; + if (x0 > x1) { x0 ^= x1; x1 ^= x0; x0 ^= x1; }//swap + if (y0 > y1) { y0 ^= y1; y1 ^= y0; y0 ^= y1; }//swap + editor.uivalues.stepPostfix = []; + for (var jj = y0; jj <= y1; jj++) { + for (var ii = x0; ii <= x1; ii++) { + editor.uivalues.stepPostfix.push({ x: ii, y: jj }) + } + } + } + var useBrushMode = editor.brushMod == 'tileset'; + if (editor.uivalues.stepPostfix.length == 1 && (editor.uivalues.tileSize[0] > 1 || editor.uivalues.tileSize[1] > 1)) { + useBrushMode = true; + var x0 = editor.uivalues.stepPostfix[0].x; + var y0 = editor.uivalues.stepPostfix[0].y; + editor.uivalues.stepPostfix = []; + for (var jj = y0; jj < y0 + editor.uivalues.tileSize[1]; ++jj) { + for (var ii = x0; ii < x0 + editor.uivalues.tileSize[0]; ++ii) { + if (jj >= editor[editor.layerMod].length || ii >= editor[editor.layerMod][0].length) continue; + editor.uivalues.stepPostfix.push({ x: ii, y: jj }); + } + } + } + if (useBrushMode && core.tilesets.indexOf(editor.info.images) !== -1) { + var imgWidth = ~~(core.material.images.tilesets[editor.info.images].width / 32); + var x0 = editor.uivalues.stepPostfix[0].x; + var y0 = editor.uivalues.stepPostfix[0].y; + var idnum = editor.info.idnum; + for (var ii = 0; ii < editor.uivalues.stepPostfix.length; ii++) { + if (editor.uivalues.stepPostfix[ii].y != y0) { + y0++; + idnum += imgWidth; + } + editor[editor.layerMod][editor.uivalues.stepPostfix[ii].y][editor.uivalues.stepPostfix[ii].x] = editor.ids[editor.indexs[idnum + editor.uivalues.stepPostfix[ii].x - x0]]; + } + } else { + for (var ii = 0; ii < editor.uivalues.stepPostfix.length; ii++) + editor[editor.layerMod][editor.uivalues.stepPostfix[ii].y][editor.uivalues.stepPostfix[ii].x] = editor.info; + } + // console.log(editor.map); + if (editor.info.y != null) { + editor.uivalues.lastUsed = [editor.info].concat(editor.uivalues.lastUsed.filter(function (e) { return e.id != editor.info.id})); + editor.config.set("lastUsed", editor.uivalues.lastUsed); + } + editor.updateMap(); + editor.uivalues.holdingPath = 0; + editor.uivalues.stepPostfix = []; + editor.dom.euiCtx.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); + } + return false; + } + + /** + * editor.dom.mid.onmousewheel + * 在地图编辑区域滚轮切换楼层 + */ + editor.uifunctions.map_mousewheel = function (e) { + var wheel = function (direct) { + var index = editor.core.floorIds.indexOf(editor.currentFloorId); + var toId = editor.currentFloorId; + + if (direct > 0 && index < editor.core.floorIds.length - 1) + toId = editor.core.floorIds[index + 1]; + else if (direct < 0 && index > 0) + toId = editor.core.floorIds[index - 1]; + else return; + + editor_mode.onmode('nextChange'); + editor_mode.onmode('floor'); + editor.dom.selectFloor.value = toId; + editor.changeFloor(toId); + } + + try { + if (e.wheelDelta) + wheel(Math.sign(e.wheelDelta)) + else if (e.detail) + wheel(Math.sign(e.detail)); + } + catch (ee) { + console.log(ee); + } + return false; + } + + /** + * 显示右键菜单 + */ + editor.uifunctions.showMidMenu = function (x, y) { + editor.uivalues.lastRightButtonPos = JSON.parse(JSON.stringify( + [editor.pos, editor.uivalues.lastRightButtonPos[0]] + )); + // --- copy + editor.uivalues.lastCopyedInfo = [editor.copyFromPos(), editor.uivalues.lastCopyedInfo[0]]; + var locStr = '(' + editor.uivalues.lastRightButtonPos[1].x + ',' + editor.uivalues.lastRightButtonPos[1].y + ')'; + var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; + + // 检测是否是上下楼 + var thisevent = editor.map[editor.pos.y][editor.pos.x]; + var extraEvent = editor.dom.extraEvent, parent = extraEvent.parentElement; + if (thisevent == 0) { + parent.removeChild(extraEvent); + parent.appendChild(extraEvent); + editor.dom.extraEvent.style.display = 'block'; + editor.dom.extraEvent.children[0].innerHTML = '绑定出生点为此点'; + } else if (thisevent.id == 'upFloor') { + parent.removeChild(extraEvent); + parent.insertBefore(extraEvent, parent.firstChild); + editor.dom.extraEvent.style.display = 'block'; + editor.dom.extraEvent.children[0].innerHTML = '绑定上楼事件'; + } + else if (thisevent.id == 'downFloor') { + parent.removeChild(extraEvent); + parent.insertBefore(extraEvent, parent.firstChild); + editor.dom.extraEvent.style.display = 'block'; + editor.dom.extraEvent.children[0].innerHTML = '绑定下楼事件'; + } + else if (['leftPortal', 'rightPortal', 'downPortal', 'upPortal'].indexOf(thisevent.id) >= 0) { + parent.removeChild(extraEvent); + parent.insertBefore(extraEvent, parent.firstChild); + editor.dom.extraEvent.style.display = 'block'; + editor.dom.extraEvent.children[0].innerHTML = '绑定楼传事件'; + } + else if (thisevent.id == 'specialDoor') { + parent.removeChild(extraEvent); + parent.insertBefore(extraEvent, parent.firstChild); + editor.dom.extraEvent.style.display = 'block'; + editor.dom.extraEvent.children[0].innerHTML = '绑定机关门事件'; + } + else editor.dom.extraEvent.style.display = 'none'; + + editor.dom.chooseThis.children[0].innerHTML = '选中此点' + '(' + editor.pos.x + ',' + editor.pos.y + ')' + editor.dom.copyLoc.children[0].innerHTML = '复制事件' + locStr + '到此处'; + editor.dom.moveLoc.children[0].innerHTML = '交换事件' + locStr + '与此事件的位置'; + editor.dom.midMenu.style = 'top:' + (y + scrollTop) + 'px;left:' + (x + scrollLeft) + 'px;'; + } + + /** + * 隐藏右键菜单 + */ + editor.uifunctions.hideMidMenu = function () { + if (editor.isMobile) { + setTimeout(function () { + editor.dom.midMenu.style = 'display:none'; + }, 200) + } else { + editor.dom.midMenu.style = 'display:none'; + } + } + + /** + * editor.dom.extraEvent.onmousedown + * 菜单 附加点操作 + */ + editor.uifunctions.extraEvent_click = function (e) { + editor.uifunctions.hideMidMenu(); + e.stopPropagation(); + + var thisevent = editor.map[editor.pos.y][editor.pos.x]; + return editor.uifunctions._extraEvent_bindStartPoint(thisevent) + || editor.uifunctions._extraEvent_bindStair(thisevent) + || editor.uifunctions._extraEvent_bindSpecialDoor(thisevent); + } + + /** + * 绑定该空地点为起始点 + */ + editor.uifunctions._extraEvent_bindStartPoint = function (thisevent) { + if (thisevent != 0) return false; + editor.mode.onmode('tower'); + editor.mode.addAction(["change", "['firstData']['floorId']", editor.currentFloorId]); + editor.mode.addAction(["change", "['firstData']['hero']['loc']['x']", editor.pos.x]); + editor.mode.addAction(["change", "['firstData']['hero']['loc']['y']", editor.pos.y]); + editor.mode.onmode('save', function () { + core.firstData.floorId = editor.currentFloorId; + core.firstData.hero.loc.x = editor.pos.x; + core.firstData.hero.loc.y = editor.pos.y; + editor.drawPosSelection(); + editor.drawEventBlock(); + editor.mode.tower(); + printf('绑定初始点成功'); + }); + } + + /** + * 绑定该楼梯的楼传事件 + */ + editor.uifunctions._extraEvent_bindStair = function (thisevent) { + if (['upFloor', 'downFloor', 'leftPortal', 'rightPortal', 'upPortal', 'downPortal'].indexOf(thisevent.id) < 0) + return false; + var loc = editor.pos.x + "," + editor.pos.y; + if (thisevent.id == 'upFloor') { + editor.currentFloorData.changeFloor[loc] = { "floorId": ":next", "stair": "downFloor" }; + } + else if (thisevent.id == 'downFloor') { + editor.currentFloorData.changeFloor[loc] = { "floorId": ":before", "stair": "upFloor" }; + } + else if (thisevent.id == 'leftPortal' || thisevent.id == 'rightPortal') { + editor.currentFloorData.changeFloor[loc] = { "floorId": ":next", "stair": ":symmetry_x" } + } + else if (thisevent.id == 'upPortal' || thisevent.id == 'downPortal') { + editor.currentFloorData.changeFloor[loc] = { "floorId": ":next", "stair": ":symmetry_y" } + } + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err) + } + editor.drawPosSelection(); + editor.drawEventBlock(); + editor_mode.showMode('loc'); + printf('添加楼梯事件成功'); + }); + return true; + } + + /** + * 绑定该机关门的事件 + */ + editor.uifunctions._extraEvent_bindSpecialDoor = function (thisevent) { + if (thisevent.id != 'specialDoor') return false; + var number = parseInt(prompt("请输入该机关门的怪物数量", "0"))|| 0; + if (number <= 0) return true; + editor.uivalues.bindSpecialDoor.n = number; + editor.uivalues.bindSpecialDoor.loc = editor.pos.x + ',' + editor.pos.y; + editor.uivalues.bindSpecialDoor.enemys = []; + printf("请点击选择" + number + "个怪物;切换楼层或刷新页面取消操作。"); + } + + /** + * 确定绑定该机关门的事件 + * cancel:是否取消此模式 + */ + editor.uifunctions._extraEvent_bindSpecialDoor_doAction = function (cancel) { + var bindSpecialDoor = editor.uivalues.bindSpecialDoor; + if (cancel) { + bindSpecialDoor.loc = null; + bindSpecialDoor.enemys = []; + bindSpecialDoor.n = 0; + editor.drawEventBlock(); + printf(""); + return; + } + if (bindSpecialDoor.loc == null || bindSpecialDoor.enemys.length != bindSpecialDoor.n) return; + // 添加机关门自动事件 + var doorFlag = "flag:door_" + editor.currentFloorId + "_" + bindSpecialDoor.loc.replace(',', '_'); + editor.currentFloorData.autoEvent[bindSpecialDoor.loc] = { + '0': { + "condition": doorFlag + "==" + bindSpecialDoor.n, + "currentFloor": true, + "priority": 0, + "delayExecute": false, + "multiExecute": false, + "data": [ + {"type": "openDoor"} + ] + } + }; + bindSpecialDoor.enemys.forEach(function (loc) { + editor.currentFloorData.afterBattle[loc] = [ + {"type": "addValue", "name": doorFlag, "value": "1"} + ] + }); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err) + } + editor.drawEventBlock(); + editor.drawPosSelection(); + editor_mode.showMode('loc'); + printf('绑定机关门事件成功'); + }); + bindSpecialDoor.loc = null; + bindSpecialDoor.enemys = []; + bindSpecialDoor.n = 0; + } + + /** + * editor.dom.chooseThis.onmousedown + * 菜单 选中此点 + */ + editor.uifunctions.chooseThis_click = function (e) { + editor.uifunctions.hideMidMenu(); + e.stopPropagation(); + selectBox.isSelected(false); + + editor_mode.onmode('nextChange'); + editor_mode.onmode('loc'); + //editor_mode.loc(); + //tip.whichShow(1); + if (editor.isMobile) editor.showdataarea(false); + } + + /** + * editor.dom.chooseInRight.onmousedown + * 菜单 在素材区选中此图块 + */ + editor.uifunctions.chooseInRight_click = function (e) { + editor.uifunctions.hideMidMenu(); + e.stopPropagation(); + var thisevent = editor[editor.layerMod][editor.pos.y][editor.pos.x]; + editor.setSelectBoxFromInfo(thisevent); + } + + /** + * editor.dom.copyLoc.onmousedown + * 菜单 复制此事件 + */ + editor.uifunctions.copyLoc_click = function (e) { + editor.uifunctions.hideMidMenu(); + e.stopPropagation(); + editor.savePreMap(); + editor_mode.onmode(''); + var now = editor.pos, last = editor.uivalues.lastRightButtonPos[1]; + if (now.x == last.x && now.y == last.y) return; + editor.pasteToPos(editor.uivalues.lastCopyedInfo[1]); + editor.updateMap(); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err) + } + ; printf('复制事件成功'); + editor.drawPosSelection(); + }); + } + + /** + * editor.dom.moveLoc.onmousedown + * 菜单 移动此事件 + */ + editor.uifunctions.moveLoc_click = function (e) { + editor.uifunctions.hideMidMenu(); + e.stopPropagation(); + editor.savePreMap(); + editor_mode.onmode(''); + editor.exchangePos(editor.pos, editor.uivalues.lastRightButtonPos[1]); + } + + /** + * editor.dom.clearEvent.onmousedown + * 菜单 仅清空此点事件 + */ + editor.uifunctions.clearEvent_click = function (e) { + e.stopPropagation(); + editor.clearPos(false); + } + + /** + * editor.dom.clearLoc.onmousedown + * 菜单 清空此点及事件 + */ + editor.uifunctions.clearLoc_click = function (e) { + e.stopPropagation(); + editor.clearPos(true); + } + + /** + * editor.dom.lockMode.onchange + * 点击【】 + */ + editor.uifunctions.lockMode_onchange = function () { + tip.msgs[11] = String('锁定模式开启下将不再点击空白处自动保存,请谨慎操作。'); + tip.whichShow(12); + editor.uivalues.lockMode = editor.dom.lockMode.checked; + } + + /** + * editor.dom.brushMod.onchange + * 切换画笔模式 + */ + editor.uifunctions.brushMod_onchange = function () { + editor.brushMod = editor.dom.brushMod.value; + } + + /** + * editor.dom.brushMod2.onchange + * 切换画笔模式 + */ + editor.uifunctions.brushMod2_onchange = function () { + editor.brushMod = editor.dom.brushMod2.value; + } + + /** + * editor.dom.brushMod3.onchange + * 切换画笔模式 + */ + editor.uifunctions.brushMod3_onchange = function () { + if (!editor.config.get('alertTileMode') && + !confirm("从V2.6.6开始,tileset贴图模式已被废弃。\n请右键额外素材,并输入所需要绘制的宽高,然后单击地图以绘制一个区域。\n\n点取消将不再显示此提示。")) { + editor.config.set('alertTileMode', true); + } + // tip.showHelp(5) + tip.isSelectedBlock(false) + tip.msgs[11] = String('tileset贴图模式下可以按选中tileset素材,并在地图上拖动来一次绘制一个区域'); + tip.whichShow(12); + editor.brushMod = editor.dom.brushMod3.value; + } + + /** + * editor.dom.layerMod.onchange + * 切换编辑的层 + */ + editor.uifunctions.layerMod_onchange = function () { + editor.layerMod = editor.dom.layerMod.value; + [editor.dom.bgc, editor.dom.fgc, editor.dom.evc, editor.dom.ev2c].forEach(function (x) { + x.style.opacity = 1; + }); + + // 手机端.... + if (editor.isMobile) { + if (editor.dom.layerMod.value == 'bgmap') { + [editor.dom.fgc, editor.dom.evc, editor.dom.ev2c].forEach(function (x) { + x.style.opacity = 0.3; + }); + } + if (editor.dom.layerMod.value == 'fgmap') { + [editor.dom.bgc, editor.dom.evc, editor.dom.ev2c].forEach(function (x) { + x.style.opacity = 0.3; + }); + } + } + } + + /** + * editor.dom.layerMod2.onchange + * 切换编辑的层 + */ + editor.uifunctions.layerMod2_onchange = function () { + editor.layerMod = editor.dom.layerMod2.value; + [editor.dom.fgc, editor.dom.evc, editor.dom.ev2c].forEach(function (x) { + x.style.opacity = 0.3; + }); + editor.dom.bgc.style.opacity = 1; + } + + /** + * editor.dom.layerMod3.onchange + * 切换编辑的层 + */ + editor.uifunctions.layerMod3_onchange = function () { + editor.layerMod = editor.dom.layerMod3.value; + [editor.dom.bgc, editor.dom.evc, editor.dom.ev2c].forEach(function (x) { + x.style.opacity = 0.3; + }); + editor.dom.fgc.style.opacity = 1; + } + + /** + * 移动大地图可视窗口的绑定 + */ + editor.uifunctions.viewportButtons_func = function () { + var pressTimer = null; + for (var ii = 0, node; node = editor.dom.viewportButtons.children[ii]; ii++) { + (function (x, y) { + var move = function () { + editor.moveViewport(x, y); + } + node.onmousedown = function () { + clearTimeout(pressTimer); + pressTimer = setTimeout(function () { + pressTimer = -1; + var f = function () { + if (pressTimer != null) { + move(); + setTimeout(f, 150); + } + } + f(); + }, 500); + }; + node.onmouseup = function () { + if (pressTimer > 0) { + clearTimeout(pressTimer); + move(); + } + pressTimer = null; + } + })([-1, 0, 0, 1][ii], [0, -1, 1, 0][ii]); + } + } + + editor.uifunctions.selectFloor_func = function () { + var selectFloor = document.getElementById('selectFloor'); + editor.game.getFloorFileList(function (floors) { + var outstr = []; + floors[0].forEach(function (floor) { + outstr.push(["\n'].join('')); + }); + selectFloor.innerHTML = outstr.join(''); + selectFloor.value = core.status.floorId; + selectFloor.onchange = function () { + editor_mode.onmode('nextChange'); + editor_mode.onmode('floor'); + editor.changeFloor(selectFloor.value); + } + }); + } + + + editor.uifunctions.saveFloor_func = function () { + var saveFloor = document.getElementById('saveFloor'); + editor_mode.saveFloor = function () { + editor_mode.onmode(''); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err) + } + ; printf('保存成功'); + }); + } + saveFloor.onclick = editor_mode.saveFloor; + } + + editor.uifunctions.lastUsed_click = function (e) { + if (editor.isMobile) return; + + var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft + var scrollTop = document.documentElement.scrollTop || document.body.scrollTop + var px = scrollLeft + e.clientX - editor.dom.mid2.offsetLeft - editor.dom.lastUsedDiv.offsetLeft, + py = scrollTop + e.clientY - editor.dom.mid2.offsetTop - editor.dom.lastUsedDiv.offsetTop; + var x = parseInt(px / 32), y = parseInt(py / 32); + var index = x + core.__SIZE__ * y; + if (index >= editor.uivalues.lastUsed.length) return; + editor.setSelectBoxFromInfo(editor.uivalues.lastUsed[index]); + return; + } + + + + ///////////////////////////////////////////////////////////////////////////// + + + editor.constructor.prototype.copyFromPos = function (pos) { + var fields = Object.keys(editor.file.comment._data.floors._data.loc._data); + pos = pos || editor.pos; + var map = core.clone(editor.map[pos.y][pos.x]); + var events = {}; + fields.forEach(function(v){ + events[v] = core.clone(editor.currentFloorData[v][pos.x+','+pos.y]); + }) + return {map: map, events: events}; + } + + editor.constructor.prototype.pasteToPos = function (info, pos) { + if (info == null) return; + var fields = Object.keys(editor.file.comment._data.floors._data.loc._data); + pos = pos || editor.pos; + editor.map[pos.y][pos.x] = core.clone(info.map); + fields.forEach(function(v){ + if (info.events[v] == null) delete editor.currentFloorData[v][pos.x+","+pos.y]; + else editor.currentFloorData[v][pos.x+","+pos.y] = core.clone(info.events[v]); + }); + } + + editor.constructor.prototype.movePos = function (startPos, endPos, callback) { + if (!startPos || !endPos) return; + if (startPos.x == endPos.x && startPos.y == endPos.y) return; + var copyed = editor.copyFromPos(startPos); + editor.pasteToPos({map:0, events: {}}, startPos); + editor.pasteToPos(copyed, endPos); + editor.updateMap(); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('移动事件成功'); + editor.drawPosSelection(); + if (callback) callback(); + }); + } + + editor.constructor.prototype.exchangePos = function (startPos, endPos, callback) { + if (!startPos || !endPos) return; + if (startPos.x == endPos.x && startPos.y == endPos.y) return; + var startInfo = editor.copyFromPos(startPos); + var endInfo = editor.copyFromPos(endPos); + editor.pasteToPos(startInfo, endPos); + editor.pasteToPos(endInfo, startPos); + editor.updateMap(); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('交换事件成功'); + editor.drawPosSelection(); + if (callback) callback(); + }); + } + + editor.constructor.prototype.savePreMap = function () { + var dt = { + map: editor.map, + fgmap: editor.fgmap, + bgmap: editor.bgmap, + }; + if (editor.uivalues.preMapData.length == 0 + || !core.same(editor.uivalues.preMapData[editor.uivalues.preMapData.length - 1], dt)) { + editor.uivalues.preMapData.push(core.clone(dt)); + if (editor.uivalues.preMapData.length > editor.uivalues.preMapMax) { + editor.uivalues.preMapData.shift(); + } + } + } + + editor.constructor.prototype.moveBgFg = function (startPos, endPos, name, callback) { + if (!startPos || !endPos || ["bgmap","fgmap"].indexOf(name)<0) return; + if (startPos.x == endPos.x && startPos.y == endPos.y) return; + editor[name][endPos.y][endPos.x] = editor[name][startPos.y][startPos.x]; + editor[name][startPos.y][startPos.x] = 0; + editor.updateMap(); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('移动图块成功'); + editor.drawPosSelection(); + if (callback) callback(); + }); + } + + editor.constructor.prototype.exchangeBgFg = function (startPos, endPos, name, callback) { + if (!startPos || !endPos || ["bgmap","fgmap"].indexOf(name)<0) return; + if (startPos.x == endPos.x && startPos.y == endPos.y) return; + var value = editor[name][endPos.y][endPos.x]; + editor[name][endPos.y][endPos.x] = editor[name][startPos.y][startPos.x]; + editor[name][startPos.y][startPos.x] = value; + editor.updateMap(); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf('交换图块成功'); + editor.drawPosSelection(); + if (callback) callback(); + }); + + } + + editor.constructor.prototype.clearPos = function (clearPos, pos, callback) { + var fields = Object.keys(editor.file.comment._data.floors._data.loc._data); + pos = pos || editor.pos; + editor.uifunctions.hideMidMenu(); + editor.savePreMap(); + editor.info = 0; + editor_mode.onmode(''); + if (clearPos) + editor.map[pos.y][pos.x]=editor.info; + editor.updateMap(); + fields.forEach(function(v){ + delete editor.currentFloorData[v][pos.x+','+pos.y]; + }) + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw(err) + } + ;printf(clearPos?'清空该点和事件成功':'只清空该点事件成功'); + editor.drawPosSelection(); + if (callback) callback(); + }); + } + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/_server/editor_materialpanel.js b/_server/editor_materialpanel.js new file mode 100644 index 00000000..ca3713fb --- /dev/null +++ b/_server/editor_materialpanel.js @@ -0,0 +1,158 @@ +editor_materialpanel_wrapper = function (editor) { + + editor.uifunctions.getScrollBarHeight = function () { + var outer = document.createElement("div"); + outer.style.visibility = "hidden"; + outer.style.width = "100px"; + outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps + + document.body.appendChild(outer); + + var widthNoScroll = outer.offsetWidth; + // force scrollbars + outer.style.overflow = "scroll"; + + // add innerdiv + var inner = document.createElement("div"); + inner.style.width = "100%"; + outer.appendChild(inner); + + var widthWithScroll = inner.offsetWidth; + + // remove divs + outer.parentNode.removeChild(outer); + + return widthNoScroll - widthWithScroll; + } + + /** + * editor.dom.iconExpandBtn.onclick + */ + editor.uifunctions.fold_material_click = function () { + if (editor.uivalues.folded) { + if (confirm("你想要展开素材吗?\n展开模式下将显示全素材内容。")) { + editor.config.set('folded', false, function() { + window.location.reload(); + }); + } + } else { + var perCol = parseInt(prompt("请输入折叠素材模式下每列的个数:", "50")) || 0; + if (perCol > 0) { + editor.config.set('foldPerCol', perCol, false); + editor.config.set('folded', true, function() { + window.location.reload(); + }); + } + } + } + + /** + * editor.dom.iconLib.onmousedown + * 素材区的单击事件 + */ + editor.uifunctions.material_ondown = function (e) { + e.stopPropagation(); + e.preventDefault(); + if (!editor.isMobile && e.clientY >= editor.dom.iconLib.offsetHeight - editor.uivalues.scrollBarHeight) return; + var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; + var loc = { + 'x': scrollLeft + e.clientX + editor.dom.iconLib.scrollLeft - right.offsetLeft - editor.dom.iconLib.offsetLeft, + 'y': scrollTop + e.clientY + editor.dom.iconLib.scrollTop - right.offsetTop - editor.dom.iconLib.offsetTop, + 'size': 32 + }; + editor.loc = loc; + editor.uivalues.tileSize = [1,1]; + var pos = editor.uifunctions.locToPos(loc); + for (var spriter in editor.widthsX) { + if (pos.x >= editor.widthsX[spriter][1] && pos.x < editor.widthsX[spriter][2]) { + var ysize = spriter.endsWith('48') ? 48 : 32; + loc.ysize = ysize; + pos.images = editor.widthsX[spriter][0]; + pos.y = ~~(loc.y / loc.ysize); + if (!editor.uivalues.folded && core.tilesets.indexOf(pos.images) == -1) pos.x = editor.widthsX[spriter][1]; + var autotiles = core.material.images['autotile']; + if (pos.images == 'autotile') { + var imNames = Object.keys(autotiles); + if ((pos.y + 1) * ysize > editor.widthsX[spriter][3]) + pos.y = ~~(editor.widthsX[spriter][3] / ysize) - 4; + else { + for (var i = 0; i < imNames.length; i++) { + if (pos.y >= 4 * i && pos.y < 4 * (i + 1)) { + pos.images = imNames[i]; + pos.y = 4 * i; + } + } + } + } + else { + var height = editor.widthsX[spriter][3], col = height / ysize; + if (editor.uivalues.folded && core.tilesets.indexOf(pos.images) == -1) { + col = (pos.x == editor.widthsX[spriter][2] - 1) ? ((col - 1) % editor.uivalues.foldPerCol + 1) : editor.uivalues.foldPerCol; + } + if (spriter == 'terrains' && pos.x == editor.widthsX[spriter][1]) col += 2; + pos.y = Math.min(pos.y, col - 1); + } + + selectBox.isSelected(true); + // console.log(pos,core.material.images[pos.images].height) + editor.dom.dataSelection.style.left = pos.x * 32 + 'px'; + editor.dom.dataSelection.style.top = pos.y * ysize + 'px'; + editor.dom.dataSelection.style.height = ysize - 6 + 'px'; + + if (pos.x == 0 && pos.y == 0) { + // editor.info={idnum:0, id:'empty','images':'清除块', 'y':0}; + editor.info = 0; + } else if (pos.x == 0 && pos.y == 1) { + editor.info = editor.ids[editor.indexs[17]]; + } else { + if (autotiles[pos.images]) editor.info = { 'images': pos.images, 'y': 0 }; + else if (core.tilesets.indexOf(pos.images) != -1) editor.info = { 'images': pos.images, 'y': pos.y, 'x': pos.x - editor.widthsX[spriter][1] }; + else { + var y = pos.y; + if (editor.uivalues.folded) { + y += editor.uivalues.foldPerCol * (pos.x - editor.widthsX[spriter][1]); + } + if (pos.images == 'terrains' && pos.x == 0) y -= 2; + editor.info = { 'images': pos.images, 'y': y } + } + + for (var ii = 0; ii < editor.ids.length; ii++) { + if ((core.tilesets.indexOf(pos.images) != -1 && editor.info.images == editor.ids[ii].images + && editor.info.y == editor.ids[ii].y && editor.info.x == editor.ids[ii].x) + || (Object.prototype.hasOwnProperty.call(autotiles, pos.images) && editor.info.images == editor.ids[ii].id + && editor.info.y == editor.ids[ii].y) + || (core.tilesets.indexOf(pos.images) == -1 && editor.info.images == editor.ids[ii].images + && editor.info.y == editor.ids[ii].y) + ) { + + editor.info = editor.ids[ii]; + break; + } + } + + if (editor.info.isTile && e.button == 2) { + var v = prompt("请输入该额外素材区域绑定宽高,以逗号分隔", "1,1"); + if (v != null && /^\d+,\d+$/.test(v)) { + v = v.split(","); + var x = parseInt(v[0]), y = parseInt(v[1]); + var widthX = editor.widthsX[editor.info.images]; + if (x <= 0 || y <= 0 || editor.info.x + x > widthX[2] - widthX[1] || 32*(editor.info.y + y) > widthX[3]) { + alert("不合法的输入范围,已经越界"); + } else { + editor.uivalues.tileSize = [x, y]; + } + } + } + + } + tip.infos(JSON.parse(JSON.stringify(editor.info))); + editor_mode.onmode('nextChange'); + editor_mode.onmode('enemyitem'); + editor.updateLastUsedMap(); + //editor_mode.enemyitem(); + } + } + } + +} \ No newline at end of file diff --git a/_server/editor_mode.js b/_server/editor_mode.js index 240baee0..8e42b7e0 100644 --- a/_server/editor_mode.js +++ b/_server/editor_mode.js @@ -21,7 +21,7 @@ editor_mode = function (editor) { this.mode = ''; this.info = {}; this.appendPic = {}; - this.doubleClickMode='change'; + this.doubleClickMode = 'change'; } editor_mode.prototype.init = function (callback) { @@ -49,15 +49,16 @@ editor_mode = function (editor) { editor_mode.actionList.push(action); } - editor_mode.prototype.doActionList = function (mode, actionList) { + editor_mode.prototype.doActionList = function (mode, actionList, callback) { if (actionList.length == 0) return; printf('修改中...'); - var cb=function(objs_){ + var cb = function (objs_) { if (objs_.slice(-1)[0] != null) { printe(objs_.slice(-1)[0]); - throw(objs_.slice(-1)[0]) + throw (objs_.slice(-1)[0]) } - ;printf('修改成功'); + ; printf('修改成功' + (data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.name == 'template' ? '\n\n请注意:全塔属性的name尚未修改,请及时予以设置' : '')); + if (callback) callback(); } switch (mode) { case 'loc': @@ -95,9 +96,9 @@ editor_mode = function (editor) { } } - editor_mode.prototype.onmode = function (mode) { + editor_mode.prototype.onmode = function (mode, callback) { if (editor_mode.mode != mode) { - if (mode === 'save') editor_mode.doActionList(editor_mode.mode, editor_mode.actionList); + if (mode === 'save') editor_mode.doActionList(editor_mode.mode, editor_mode.actionList, callback); if (editor_mode.mode === 'nextChange' && mode) editor_mode.showMode(mode); if (mode !== 'save') editor_mode.mode = mode; editor_mode.actionList = []; @@ -109,15 +110,78 @@ editor_mode = function (editor) { editor_mode.dom[name].style = 'z-index:-1;opacity: 0;'; } editor_mode.dom[mode].style = ''; - editor_mode.doubleClickMode='change'; + editor_mode.doubleClickMode = 'change'; // clear editor.drawEventBlock(); if (editor_mode[mode]) editor_mode[mode](); - document.getElementById('editModeSelect').value = mode; - var tips = tip_in_showMode; - if (!selectBox.isSelected()) printf('tips: ' + tips[~~(tips.length * Math.random())]); + editor.dom.editModeSelect.value = mode; + if (!selectBox.isSelected()) tip.showHelp(); } + editor_mode.prototype.change = function (value) { + editor_mode.onmode('nextChange'); + editor_mode.onmode(value); + if (editor.isMobile) editor.showdataarea(false); + } + + + editor_mode.prototype.checkUnique = function (thiseval) { + if (!(thiseval instanceof Array)) return false; + var map = {}; + for (var i = 0; i < thiseval.length; ++i) { + if (map[thiseval[i]]) { + alert("警告:存在重复定义!"); + return false; + } + map[thiseval[i]] = true; + } + return true; + } + + editor_mode.prototype.checkFloorIds = function (thiseval) { + if (!editor_mode.checkUnique(thiseval)) return false; + var oldvalue = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds; + fs.readdir('project/floors', function (err, data) { + if (err) { + printe(err); + throw Error(err); + } + var newfiles = thiseval.map(function (v) { return v + '.js' }); + var notExist = ''; + for (var name, ii = 0; name = newfiles[ii]; ii++) { + if (data.indexOf(name) === -1) notExist = name; + } + if (notExist) { + var discard = confirm('文件' + notExist + '不存在, 保存会导致工程无法打开, 是否放弃更改'); + if (discard) { + editor.file.editTower([['change', "['main']['floorIds']", oldvalue]], function (objs_) {//console.log(objs_); + if (objs_.slice(-1)[0] != null) { + printe(objs_.slice(-1)[0]); + throw (objs_.slice(-1)[0]) + } + ; printe('已放弃floorIds的修改,请F5进行刷新'); + }); + } + } + }); + return true + } + + editor_mode.prototype.changeDoubleClickModeByButton = function (mode) { + ({ + delete: function () { + printf('下一次双击表格的项删除,切换下拉菜单可取消;编辑后需刷新浏览器生效。'); + editor_mode.doubleClickMode = mode; + }, + add: function () { + printf('下一次双击表格的项则在同级添加新项,切换下拉菜单可取消;编辑后需刷新浏览器生效。'); + editor_mode.doubleClickMode = mode; + } + }[mode])(); + } + + ///////////////////////////////////////////////////////////////////////////// + editor_mode.prototype.loc = function (callback) { //editor.pos={x: 0, y: 0}; if (!core.isset(editor.pos)) return; @@ -141,17 +205,19 @@ editor_mode = function (editor) { //editor.info=editor.ids[editor.indexs[201]]; if (!core.isset(editor.info)) return; - if (Object.keys(editor.info).length !== 0 && editor.info.idnum!=17) editor_mode.info = editor.info;//避免editor.info被清空导致无法获得是物品还是怪物 + if (Object.keys(editor.info).length !== 0 && editor.info.idnum != 17) editor_mode.info = editor.info;//避免editor.info被清空导致无法获得是物品还是怪物 if (!core.isset(editor_mode.info.id)) { // document.getElementById('table_a3f03d4c_55b8_4ef6_b362_b345783acd72').innerHTML = ''; - document.getElementById('enemyItemTable').style.display = 'none'; document.getElementById('newIdIdnum').style.display = 'block'; + document.getElementById('enemyItemTable').style.display = 'none'; + document.getElementById('changeId').style.display = 'none'; return; } document.getElementById('newIdIdnum').style.display = 'none'; document.getElementById('enemyItemTable').style.display = 'block'; + document.getElementById('changeId').style.display = 'block'; var objs = []; if (editor_mode.info.images == 'enemys' || editor_mode.info.images == 'enemy48') { @@ -231,7 +297,7 @@ editor_mode = function (editor) { tableinfo.listen(tableinfo.guids); if (Boolean(callback)) callback(); } - + editor_mode.prototype.plugins = function (callback) { var objs = []; editor.file.editPlugins([], function (objs_) { @@ -245,11 +311,17 @@ editor_mode = function (editor) { if (Boolean(callback)) callback(); } -///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////// + + /** + * editor.dom.editModeSelect.onchange + */ + editor_mode.prototype.editModeSelect_onchange = function () { + editor_mode.change(editor.dom.editModeSelect.value); + } editor_mode.prototype.listen = function (callback) { - - // 移动至 editor_unsorted_2.js + // 移动至 editor_listen.js -> editor.constructor.prototype.mode_listen } var editor_mode = new editor_mode(); diff --git a/_server/editor_multi.js b/_server/editor_multi.js index 476536bb..b694bf51 100644 --- a/_server/editor_multi.js +++ b/_server/editor_multi.js @@ -81,6 +81,12 @@ editor_multi = function () { _format(); } + editor_multi.hasError = function () { + if (!editor_multi.lintAutocomplete) return false; + return JSHINT.errors.filter(function (e) { + return e.code.startsWith("E") + }).length > 0; + } editor_multi.import = function (id_, args) { var thisTr = document.getElementById(id_); @@ -94,6 +100,8 @@ editor_multi = function () { editor_multi.lintAutocomplete = false; if (args.lint === true) editor_multi.lintAutocomplete = true; if (field.indexOf('Effect') !== -1) editor_multi.lintAutocomplete = true; + if ((!input.value || input.value == 'null') && editor_mode.mode == 'plugins') + input.value = '"function () {\\n\\t// 在此增加新插件\\n\\t\\n}"'; if (input.value.slice(0, 1) === '"' || args.string) { editor_multi.isString = true; codeEditor.setValue(JSON.parse(input.value) || ''); @@ -113,6 +121,7 @@ editor_multi = function () { } codeEditor.setValue(tstr || ''); } + document.getElementById('showPlugins').style.display = editor_mode.mode == 'plugins' ? 'block': 'none'; editor_multi.show(); return true; } @@ -124,6 +133,11 @@ editor_multi = function () { } editor_multi.confirm = function () { + if (editor_multi.hasError()) { + alert("当前好像存在严重的语法错误,请处理后再保存。\n严重的语法错误可能会导致整个编辑器的崩溃。"); + return; + } + if (!editor_multi.id) { editor_multi.id = ''; return; @@ -173,6 +187,11 @@ editor_multi = function () { setvalue(codeEditor.getValue() || ''); } + editor_multi.showPlugins = function () { + if (editor.isMobile && !confirm("你确定要跳转到云端插件列表吗?")) return; + window.open("https://h5mota.com/plugins/", "_blank"); + } + var multiLineArgs = [null, null, null]; editor_multi.multiLineEdit = function (value, b, f, args, callback) { editor_multi.id = 'callFromBlockly'; diff --git a/_server/editor_table.js b/_server/editor_table.js index a3b742cd..c21220fd 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -12,34 +12,41 @@ editor_table_wrapper = function (editor) { values.map(function (v) { return editor.table.option(v) }).join('') - return `\n` + return /* html */`\n` } editor_table.prototype.option = function (value) { - return `\n` + return /* html */`\n` } editor_table.prototype.text = function (value) { - return `\n` + return /* html */`\n` } editor_table.prototype.checkbox = function (value) { - return `\n` + return /* html */`\n` } editor_table.prototype.textarea = function (value, indent) { - return `\n` + return /* html */`\n` + } + editor_table.prototype.editGrid = function (showComment) { + var html = ""; + if (showComment) html += "
"; + html += ""; + return html; } editor_table.prototype.title = function () { - return `\n条目注释值\n` + return /* html */`\n条目注释值操作\n` } editor_table.prototype.gap = function (field) { - return `--------${field}\n` + return /* html */`--------${field}----\n` } editor_table.prototype.tr = function (guid, field, shortField, commentHTMLescape, cobjstr, shortCommentHTMLescape, tdstr) { - return ` + return /* html */` ${shortField} ${shortCommentHTMLescape}

+ ${editor.table.editGrid(commentHTMLescape != shortCommentHTMLescape)} \n` } @@ -145,6 +152,7 @@ editor_table_wrapper = function (editor) { if (key === '_data') continue; if (cobj[key] instanceof Function) cobj[key] = cobj[key](args); } + pvobj[ii] = vobj = args.vobj; // 标记为_hide的属性不展示 if (cobj._hide) continue; if (!cobj._leaf) { @@ -193,7 +201,7 @@ editor_table_wrapper = function (editor) { // "['a']['b']" => "b" var shortField = field.split("']").slice(-2)[0].split("['").slice(-1)[0]; // 把长度超过 charlength 的字符改成 固定长度+...的形式 - shortField = (shortField.length < charlength ? shortField : shortField.slice(0, charlength) + '...'); + // shortField = (shortField.length < charlength ? shortField : shortField.slice(0, charlength) + '...'); // 完整的内容转义后供悬停查看 var commentHTMLescape = editor.util.HTMLescape(comment); @@ -285,6 +293,7 @@ editor_table_wrapper = function (editor) { var thiseval = null; if (input.checked != null) input.value = input.checked; try { + if (input.value == '') input.value = 'null'; thiseval = JSON.parse(input.value); } catch (ee) { printe(field + ' : ' + ee); @@ -298,6 +307,25 @@ editor_table_wrapper = function (editor) { } } + /** + * 当"显示完整注释"被按下时 + */ + editor_table.prototype.onCommentBtnClick = function (button) { + var tr = button.parentNode.parentNode; + printf(tr.children[1].getAttribute('title')); + } + + /** + * 当"编辑表格内容"被按下时 + */ + editor_table.prototype.onEditBtnClick = function (button) { + var tr = button.parentNode.parentNode; + var guid = tr.getAttribute('id'); + var cobj = JSON.parse(tr.children[1].getAttribute('cobj')); + if (cobj._type === 'event') editor_blockly.import(guid, { type: cobj._event }); + if (cobj._type === 'textarea') editor_multi.import(guid, { lint: cobj._lint, string: cobj._string }); + } + /** * 双击表格时 * 正常编辑: 尝试用事件编辑器或多行文本编辑器打开 @@ -337,12 +365,22 @@ editor_table_wrapper = function (editor) { editor_table.prototype.addfunc = function (guid, obj, commentObj, thisTr, input, field, cobj, modeNode) { editor_mode.onmode(editor_mode._ids[modeNode.getAttribute('id')]); - var mode = document.getElementById('editModeSelect').value; + var mode = editor.dom.editModeSelect.value; // 1.输入id - var newid = prompt('请输入新项的ID(仅公共事件支持中文ID)'); - if (newid == null || newid.length == 0) { - return; + var newid = '2'; + if (mode == 'loc') { + var ae = editor.currentFloorData.autoEvent[editor_mode.pos.x + ',' + editor_mode.pos.y]; + if (ae != null) { + var testid; + for (testid = 2; Object.hasOwnProperty.call(ae, testid); testid++); // 从3开始是因为comment中设置了始终显示012 + newid = testid + ''; + } + } else { + newid = prompt('请输入新项的ID(仅公共事件支持中文ID)'); + if (newid == null || newid.length == 0) { + return; + } } // 检查commentEvents diff --git a/_server/editor_ui.js b/_server/editor_ui.js new file mode 100644 index 00000000..4a5e4386 --- /dev/null +++ b/_server/editor_ui.js @@ -0,0 +1,570 @@ +editor_ui_wrapper = function (editor) { + + + /** + * 根据鼠标点击, 得到从元素向上到body的所有id + */ + editor.uifunctions.getClickpath = function (e) { + //console.log(e); + var clickpath = []; + var getpath = function (e) { + var path = []; + var currentElem = e.target; + while (currentElem) { + path.push(currentElem); + currentElem = currentElem.parentElement; + } + if (path.indexOf(window) === -1 && path.indexOf(document) === -1) + path.push(document); + if (path.indexOf(window) === -1) + path.push(window); + return path; + } + getpath(e).forEach(function (node) { + if (!node.getAttribute) return; + var id_ = node.getAttribute('id'); + if (id_) { + if (['left', 'left1', 'left2', 'left3', 'left4', 'left5', 'left8', 'mobileview'].indexOf(id_) !== -1) clickpath.push('edit'); + clickpath.push(id_); + } + }); + return clickpath; + } + + /** + * editor.dom.body.onmousedown + * 检测鼠标点击, + * + 如果选中了绘图区域之外, 就保存地图 + * + 维护绘图区的菜单的隐藏 + * + 记录最后一次点击的id(主要为了数据区服务) + */ + editor.uifunctions.body_click = function (e) { + var clickpath = editor.uifunctions.getClickpath(e); + + var unselect = true; + for (var ii = 0, thisId; thisId = ['edit', 'tip', 'brushMod', 'brushMod2', 'brushMod3', 'layerMod', 'layerMod2', 'layerMod3', 'viewportButtons'][ii]; ii++) { + if (clickpath.indexOf(thisId) !== -1) { + unselect = false; + break; + } + } + if (unselect && !editor.uivalues.lockMode) { + if (clickpath.indexOf('eui') === -1 && clickpath.indexOf('lastUsed') === -1) { + if (selectBox.isSelected()) { + editor_mode.onmode(''); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err) + } + ; printf('地图保存成功'); + }); + } + selectBox.isSelected(false); + editor.info = {}; + } + } + //editor.mode.onmode(''); + if (e.button != 2 && !editor.isMobile) { + editor.uifunctions.hideMidMenu(); + } + if (clickpath.indexOf('down') !== -1 && editor.isMobile && clickpath.indexOf('midMenu') === -1) { + editor.uifunctions.hideMidMenu(); + } + if (clickpath.length >= 2 && clickpath[0].indexOf('id_') === 0) { editor.lastClickId = clickpath[0] } + } + + /** + * editor.dom.body.onkeydown + * 绑定快捷键 + */ + editor.uifunctions.body_shortcut = function (e) { + + // UI预览 & 地图选点 + if (editor.uievent && editor.uievent.isOpen) { + e.preventDefault(); + if (e.keyCode == 27) editor.uievent.close(); + else if (e.keyCode == 13) editor.uievent.confirm(); + else if (e.keyCode == 87) editor.uievent.move(0, -1) + else if (e.keyCode == 65) editor.uievent.move(-1, 0) + else if (e.keyCode == 83) editor.uievent.move(0, 1); + else if (e.keyCode == 68) editor.uievent.move(1, 0); + return; + } + + // 监听Ctrl+S保存 + if (e.ctrlKey && e.keyCode == 83) { + e.preventDefault(); + if (editor_multi.id != "") { + editor_multi.confirm(); // 保存脚本编辑器 + } + else if (editor_blockly.id != "") { + editor_blockly.confirm(); // 保存事件编辑器 + } + else { + editor_mode.saveFloor(); + } + return; + } + + // 如果是开启事件/脚本编辑器状态,则忽略 + if (editor_multi.id != "" || editor_blockly.id != "") + return; + + // PGUP和PGDOWN切换楼层 + if (e.keyCode == 33 || e.keyCode == 34) { + e.preventDefault(); + var index = editor.core.floorIds.indexOf(editor.currentFloorId); + var nextIndex = index + (e.keyCode == 33 ? 1 : -1); + if (nextIndex >= 0 && nextIndex < editor.core.floorIds.length) { + var toId = editor.core.floorIds[nextIndex]; + editor_mode.onmode('nextChange'); + editor_mode.onmode('floor'); + document.getElementById('selectFloor').value = toId; + editor.changeFloor(toId); + } + return; + } + + var focusElement = document.activeElement; + if (!focusElement || focusElement.tagName.toLowerCase() == 'body' + || focusElement.id == 'selectFloor') { + + //Ctrl+z 撤销上一步undo + if (e.keyCode == 90 && e.ctrlKey) { + e.preventDefault(); + if (editor.uivalues.preMapData.length > 0) { + var data = editor.uivalues.preMapData.pop(); + editor.map = JSON.parse(JSON.stringify(data.map)); + editor.fgmap = JSON.parse(JSON.stringify(data.fgmap)); + editor.bgmap = JSON.parse(JSON.stringify(data.bgmap)); + editor.updateMap(); + editor.uivalues.postMapData.push(data); + printf("已撤销此操作,你可能需要重新保存地图。"); + } + return; + } + //Ctrl+y 重做一步redo + if (e.keyCode == 89 && e.ctrlKey) { + e.preventDefault(); + if (editor.uivalues.postMapData.length > 0) { + var data = editor.uivalues.postMapData.pop(); + editor.map = JSON.parse(JSON.stringify(data.map)); + editor.fgmap = JSON.parse(JSON.stringify(data.fgmap)); + editor.bgmap = JSON.parse(JSON.stringify(data.bgmap)); + editor.updateMap(); + editor.uivalues.preMapData.push(data); + printf("已重做此操作,你可能需要重新保存地图。"); + } + return; + } + + // Ctrl+C, Ctrl+X, Ctrl+V + if (e.ctrlKey && e.keyCode == 67 && !selectBox.isSelected()) { + e.preventDefault(); + editor.uivalues.copyedInfo = editor.copyFromPos(); + printf('该点事件已复制'); + return; + } + if (e.ctrlKey && e.keyCode == 88 && !selectBox.isSelected()) { + e.preventDefault(); + editor.uivalues.copyedInfo = editor.copyFromPos(); + editor.clearPos(true, null, function () { + printf('该点事件已剪切'); + }) + return; + } + if (e.ctrlKey && e.keyCode == 86 && !selectBox.isSelected()) { + e.preventDefault(); + if (!editor.uivalues.copyedInfo) { + printe("没有复制的事件"); + return; + } + editor.pasteToPos(editor.uivalues.copyedInfo); + editor.updateMap(); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err) + } + ; printf('粘贴事件成功'); + editor.drawPosSelection(); + }); + return; + } + // DELETE + if (e.keyCode == 46 && !selectBox.isSelected()) { + editor.clearPos(true); + return; + } + // ESC + if (e.keyCode == 27) { + if (selectBox.isSelected()) { + editor_mode.onmode(''); + editor.file.saveFloorFile(function (err) { + if (err) { + printe(err); + throw (err) + } + ; printf('地图保存成功'); + }); + } + selectBox.isSelected(false); + editor.info = {}; + return; + } + //alt + 0~9 改变快捷图块 + if (e.altKey && [48, 49, 50, 51, 52, 53, 54, 55, 56, 57].indexOf(e.keyCode) !== -1) { + var infoToSave = JSON.stringify(editor.info || 0); + if (infoToSave == JSON.stringify({})) return; + editor.uivalues.shortcut[e.keyCode] = JSON.parse(infoToSave); + printf('已保存该快捷图块, 数字键 ' + (e.keyCode - 48) + ' 使用.') + editor.config.set('shortcut', editor.uivalues.shortcut); + return; + } + //ctrl + 0~9 切换到快捷图块 + if ([48, 49, 50, 51, 52, 53, 54, 55, 56, 57].indexOf(e.keyCode) !== -1) { + editor.setSelectBoxFromInfo(JSON.parse(JSON.stringify(editor.uivalues.shortcut[e.keyCode] || 0))); + return; + } + switch (e.keyCode) { + // WASD + case 87: editor.moveViewport(0, -1); break; + case 65: editor.moveViewport(-1, 0); break; + case 83: editor.moveViewport(0, 1); break; + case 68: editor.moveViewport(1, 0); break; + // Z~. + case 90: editor_mode.change('map'); break; // Z + case 88: editor_mode.change('loc'); break; // X + case 67: editor_mode.change('enemyitem'); break; // C + case 86: editor_mode.change('floor'); break; // V + case 66: editor_mode.change('tower'); break; // B + case 78: editor_mode.change('functions'); break; // N + case 77: editor_mode.change('appendpic'); break; // M + case 188: editor_mode.change('commonevent'); break; // , + case 190: editor_mode.change('plugins'); break; // . + // H + case 72: editor.uifunctions.showHelp(); break; + } + return; + } + } + + editor.uifunctions.showHelp = function () { + alert( + "快捷操作帮助:\n" + + "ESC / 点击空白处:自动保存当前修改" + + "WASD / 长按箭头:平移大地图\n" + + "PgUp, PgDn / 鼠标滚轮:上下切换楼层\n" + + "Z~.(键盘的第三排):快捷切换标签\n" + + "双击地图:选中对应点的素材\n" + + "右键地图:弹出菜单栏\n" + + "Alt+0~9:保存当前使用的图块\n" + + "0~9:选中保存的图块\n" + + "Ctrl+Z / Ctrl+Y:撤销/重做上次绘制\n" + + "Ctrl+S:事件与脚本编辑器的保存并退出\n" + + "双击事件编辑器:长文本编辑/脚本编辑/地图选点/UI绘制预览" + ); + } + + + // ------ UI预览 & 地图选点相关 ------ // + + var uievent = { + elements: {}, + values: {}, + isOpen: false, + mode: "" + }; + + uievent.elements.div = document.getElementById('uieventDiv'); + uievent.elements.title = document.getElementById('uieventTitle'); + uievent.elements.yes = document.getElementById('uieventYes'); + uievent.elements.no = document.getElementById('uieventNo'); + uievent.elements.selectBackground = document.getElementById('uieventBackground'); + uievent.elements.selectPoint = document.getElementById('selectPoint'); + uievent.elements.selectFloor = document.getElementById('selectPointFloor'); + uievent.elements.selectPointBox = document.getElementById('selectPointBox'); + uievent.elements.body = document.getElementById('uieventBody'); + uievent.elements.selectPointButtons = document.getElementById('selectPointButtons'); + uievent.elements.canvas = document.getElementById('uievent'); + uievent.elements.usedFlags = document.getElementById('uieventUsedFlags'); + uievent.elements.usedFlagList = document.getElementById('uieventUsedFlagList'); + + uievent.confirm = function () { + var callback = uievent.values.callback, floorId = uievent.values.floorId, + x = uievent.values.x, y = uievent.values.y; + uievent.close(); + if (callback) { + callback(floorId, x, y); + } + } + uievent.elements.yes.onclick = uievent.confirm; + + uievent.close = function () { + uievent.isOpen = false; + uievent.elements.div.style.display = 'none'; + uievent.values = {}; + } + uievent.elements.no.onclick = uievent.close; + + uievent.elements.selectBackground.onchange = function () { + uievent.drawPreviewUI(); + } + + uievent.drawPreviewUI = function () { + core.setAlpha('uievent', 1); + core.clearMap('uievent'); + + // 绘制UI + var background = uievent.elements.selectBackground.value; + if (background == 'thumbnail') { + core.drawThumbnail(editor.currentFloorId, null, {}, 'uievent'); + } + else { + core.fillRect('uievent', 0, 0, core.__PIXELS__, core.__PIXELS__, background); + } + + if (uievent.values.list instanceof Array) { + uievent.values.list.forEach(function (data) { + var type = data.type; + if (!type || !core.ui["_uievent_" + type]) return; + core.ui["_uievent_" + type](data); + }) + } + } + + uievent.previewUI = function (list) { + uievent.isOpen = true; + uievent.elements.div.style.display = 'block'; + uievent.mode = 'previewUI'; + uievent.elements.selectPoint.style.display = 'none'; + uievent.elements.yes.style.display = 'none'; + uievent.elements.title.innerText = 'UI绘制预览'; + uievent.elements.selectBackground.style.display = 'inline'; + uievent.elements.selectBackground.value = 'thumbnail'; + uievent.elements.selectFloor.style.display = 'none'; + uievent.elements.selectPointBox.style.display = 'none'; + uievent.elements.canvas.style.display = 'block'; + uievent.elements.usedFlags.style.display = 'none'; + uievent.elements.usedFlagList.style.display = 'none'; + uievent.elements.body.style.overflow = "hidden"; + + uievent.values.list = list; + uievent.drawPreviewUI(); + } + + uievent.selectPoint = function (floorId, x, y, hideFloor, callback) { + uievent.values.hideFloor = hideFloor; + uievent.values.callback = callback; + uievent.values.size = editor.isMobile ? window.innerWidth / core.__SIZE__ : 32; + uievent.elements.selectPointBox.style.width = (uievent.values.size - 6) + "px"; + uievent.elements.selectPointBox.style.height = (uievent.values.size - 6) + "px"; + + uievent.isOpen = true; + uievent.elements.div.style.display = 'block'; + uievent.mode = 'selectPoint'; + uievent.elements.selectPoint.style.display = 'block'; + uievent.elements.yes.style.display = 'inline'; + uievent.elements.selectBackground.style.display = 'none'; + uievent.elements.selectFloor.style.display = hideFloor ? 'none' : 'inline'; + uievent.elements.selectPointBox.style.display = 'block'; + uievent.elements.canvas.style.display = 'block'; + uievent.elements.usedFlags.style.display = 'none'; + uievent.elements.usedFlagList.style.display = 'none'; + uievent.elements.body.style.overflow = "hidden"; + + // Append children + var floors = ""; + core.floorIds.forEach(function (f) { + floors += ""; + }) + uievent.elements.selectFloor.innerHTML = floors; + + this.setPoint(floorId || editor.currentFloorId, core.calValue(x) || 0, core.calValue(y) || 0); + } + + uievent.updateSelectPoint = function (redraw) { + uievent.elements.title.innerText = '地图选点 (' + uievent.values.x + "," + uievent.values.y + ')'; + if (redraw) { + core.setAlpha('uievent', 1); + core.clearMap('uievent'); + core.drawThumbnail(uievent.values.floorId, null, null, + { + ctx: 'uievent', centerX: uievent.values.left + core.__HALF_SIZE__, + centerY: uievent.values.top + core.__HALF_SIZE__ + }); + } + uievent.elements.selectPointBox.style.left = uievent.values.size * (uievent.values.x - uievent.values.left) + "px"; + uievent.elements.selectPointBox.style.top = uievent.values.size * (uievent.values.y - uievent.values.top) + "px"; + } + + uievent.setPoint = function (floorId, x, y) { + if (core.floorIds.indexOf(floorId) == -1) floorId = editor.currentFloorId; + uievent.values.floorId = floorId; + uievent.elements.selectFloor.value = floorId; + uievent.values.x = x != null ? x : (uievent.values.x || 0); + uievent.values.y = y != null ? y : (uievent.values.y || 0); + uievent.values.width = core.floors[uievent.values.floorId].width || core.__SIZE__; + uievent.values.height = core.floors[uievent.values.floorId].height || core.__SIZE__; + uievent.values.left = core.clamp(uievent.values.x - core.__HALF_SIZE__, 0, uievent.values.width - core.__SIZE__); + uievent.values.top = core.clamp(uievent.values.y - core.__HALF_SIZE__, 0, uievent.values.height - core.__SIZE__); + uievent.updateSelectPoint(true); + } + + uievent.elements.selectFloor.onchange = function () { + uievent.setPoint(uievent.elements.selectFloor.value); + } + + uievent.elements.selectPointBox.onclick = function (e) { + e.stopPropagation(); + } + + uievent.elements.body.onclick = function (e) { + if (uievent.mode != 'selectPoint') return; + uievent.values.x = uievent.values.left + Math.floor(e.offsetX / uievent.values.size); + uievent.values.y = uievent.values.top + Math.floor(e.offsetY / uievent.values.size); + uievent.updateSelectPoint(false); + } + + uievent.move = function (dx, dy) { + if (uievent.mode != 'selectPoint') return; + uievent.values.left = core.clamp(uievent.values.left + dx, 0, uievent.values.width - core.__SIZE__); + uievent.values.top = core.clamp(uievent.values.top + dy, 0, uievent.values.height - core.__SIZE__); + this.updateSelectPoint(true); + }; + + (function () { + + var viewportButtons = uievent.elements.selectPointButtons; + var pressTimer = null; + for (var ii = 0, node; node = viewportButtons.children[ii]; ii++) { + (function (x, y) { + var move = function () { + uievent.move(x, y); + } + node.onmousedown = function () { + clearTimeout(pressTimer); + pressTimer = setTimeout(function () { + pressTimer = -1; + var f = function () { + if (pressTimer != null) { + move(); + setTimeout(f, 150); + } + } + f(); + }, 500); + }; + node.onmouseup = function () { + if (pressTimer > 0) { + clearTimeout(pressTimer); + move(); + } + pressTimer = null; + } + })([-1, 0, 0, 1][ii], [0, -1, 1, 0][ii]); + } + })(); + + uievent.elements.div.onmousewheel = function (e) { + if (uievent.mode != 'selectPoint' || uievent.values.hideFloor) return; + var index = core.floorIds.indexOf(uievent.values.floorId); + try { + if (e.wheelDelta) + index += Math.sign(e.wheelDelta); + else if (e.detail) + index += Math.sign(e.detail); + } catch (ee) { main.log(ee); } + index = core.clamp(index, 0, core.floorIds.length - 1); + uievent.setPoint(core.floorIds[index]); + } + + // ------ 搜索变量出现的位置,也放在uievent好了 ------ // + + uievent.searchUsedFlags = function () { + uievent.isOpen = true; + uievent.elements.div.style.display = 'block'; + uievent.mode = 'searchUsedFlags'; + uievent.elements.selectPoint.style.display = 'none'; + uievent.elements.yes.style.display = 'none'; + uievent.elements.title.innerText = '搜索变量'; + uievent.elements.selectBackground.style.display = 'none'; + uievent.elements.selectFloor.style.display = 'none'; + uievent.elements.selectPointBox.style.display = 'none'; + uievent.elements.canvas.style.display = 'none'; + uievent.elements.usedFlags.style.display = 'inline'; + uievent.elements.usedFlagList.style.display = 'block'; + uievent.elements.body.style.overflow = "auto"; + + // build flags + var html = ""; + Object.keys(editor.used_flags).sort().forEach(function (v) { + v = "flag:" + v; + html += ""; + }); + uievent.elements.usedFlags.innerHTML = html; + + uievent.doSearchUsedFlags(); + } + + uievent.doSearchUsedFlags = function () { + var flag = uievent.elements.usedFlags.value; + + var html = "

该变量出现的所有位置如下:

    "; + var list = uievent._searchUsedFlags(flag); + list.forEach(function (v) { + var x = "
  • "; + if (v[0] != null) x += v[0] + "层 "; + else x += "公共事件 "; + x += v[1]; + if (v[2] != null) x += " 的 (" + v[2] + ") 点"; + x += "
  • "; + html += x; + }); + html += "
"; + uievent.elements.usedFlagList.innerHTML = html; + } + + var hasUsedFlags = function (obj, flag) { + if (obj == null) return false; + if (typeof obj != 'string') return hasUsedFlags(JSON.stringify(obj), flag); + + var index = -1, length = flag.length; + while (true) { + index = obj.indexOf(flag, index + 1); + if (index < 0) return false; + if (!/^[a-zA-Z0-9_\u4E00-\u9FCC]$/.test(obj.charAt(index + length))) return true; + } + } + + uievent._searchUsedFlags = function (flag) { + var list = []; + var events = ["events", "autoEvent", "changeFloor", "afterBattle", "afterGetItem", "afterOpenDoor"] + for (var floorId in core.floors) { + var floor = core.floors[floorId]; + if (hasUsedFlags(floor.firstArrive, flag)) list.push([floorId, "firstArrive"]); + if (hasUsedFlags(floor.eachArrive, flag)) list.push([floorId, "eachArrive"]); + events.forEach(function (e) { + if (floor[e]) { + for (var loc in floor[e]) { + if (hasUsedFlags(floor[e][loc], flag)) { + list.push([floorId, e, loc]); + } + } + } + }); + } + // 公共事件 + if (core.events.commonEvent) { + for (var name in core.events.commonEvent) { + if (hasUsedFlags(core.events.commonEvent[name], flag)) + list.push([null, name]); + } + } + return list; + } + + editor.constructor.prototype.uievent=uievent; + +} \ No newline at end of file diff --git a/_server/editor_unsorted_1.js b/_server/editor_unsorted_1.js deleted file mode 100644 index 0d3861d8..00000000 --- a/_server/editor_unsorted_1.js +++ /dev/null @@ -1,839 +0,0 @@ -editor_unsorted_1_wrapper=function(editor){ - -editor.constructor.prototype.listen=function () { - document.body.onmousedown = function (e) { - //console.log(e); - var clickpath = []; - var getpath=function(e) { - var path = []; - var currentElem = e.target; - while (currentElem) { - path.push(currentElem); - currentElem = currentElem.parentElement; - } - if (path.indexOf(window) === -1 && path.indexOf(document) === -1) - path.push(document); - if (path.indexOf(window) === -1) - path.push(window); - return path; - } - getpath(e).forEach(function (node) { - if (!node.getAttribute) return; - var id_ = node.getAttribute('id'); - if (id_) { - if (['left', 'left1', 'left2', 'left3', 'left4', 'left5', 'left8', 'mobileview'].indexOf(id_) !== -1) clickpath.push('edit'); - clickpath.push(id_); - } - }); - - var unselect=true; - for(var ii=0,thisId;thisId=['edit','tip','brushMod','brushMod2','brushMod3','layerMod','layerMod2','layerMod3','viewportButtons'][ii];ii++){ - if (clickpath.indexOf(thisId) !== -1){ - unselect=false; - break; - } - } - if (unselect) { - if (clickpath.indexOf('eui') === -1) { - if (selectBox.isSelected()) { - editor_mode.onmode(''); - editor.file.saveFloorFile(function (err) { - if (err) { - printe(err); - throw(err) - } - ;printf('地图保存成功'); - }); - } - selectBox.isSelected(false); - editor.info = {}; - } - } - //editor.mode.onmode(''); - if (e.button!=2 && !editor.isMobile){ - editor.hideMidMenu(); - } - if (clickpath.indexOf('down') !== -1 && editor.isMobile && clickpath.indexOf('midMenu') === -1){ - editor.hideMidMenu(); - } - if(clickpath.length>=2 && clickpath[0].indexOf('id_')===0){editor.lastClickId=clickpath[0]} - } - - var eui=document.getElementById('eui'); - var uc = eui.getContext('2d'); - - function fillPos(pos) { - uc.fillStyle = '#' + ~~(Math.random() * 8) + ~~(Math.random() * 8) + ~~(Math.random() * 8); - uc.fillRect(pos.x * 32 + 12 - core.bigmap.offsetX, pos.y * 32 + 12 - core.bigmap.offsetY, 8, 8); - }//在格子内画一个随机色块 - - function eToLoc(e) { - var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft - var scrollTop = document.documentElement.scrollTop || document.body.scrollTop - var xx=e.clientX,yy=e.clientY - if(editor.isMobile){xx=e.touches[0].clientX,yy=e.touches[0].clientY} - editor.loc = { - 'x': scrollLeft + xx - mid.offsetLeft - mapEdit.offsetLeft, - 'y': scrollTop + yy - mid.offsetTop - mapEdit.offsetTop, - 'size': editor.isMobile?(32*innerWidth*0.96/core.__PIXELS__):32 - }; - return editor.loc; - }//返回可用的组件内坐标 - - function locToPos(loc, addViewportOffset) { - var offsetX=0, offsetY=0; - if (addViewportOffset){ - offsetX=core.bigmap.offsetX/32; - offsetY=core.bigmap.offsetY/32; - } - editor.pos = {'x': ~~(loc.x / loc.size)+offsetX, 'y': ~~(loc.y / loc.size)+offsetY} - return editor.pos; - } - - var holdingPath = 0; - var stepPostfix = null;//用于存放寻路检测的第一个点之后的后续移动 - - var mouseOutCheck = 2; - - function clear1() { - if (mouseOutCheck > 1) { - mouseOutCheck--; - setTimeout(clear1, 1000); - return; - } - holdingPath = 0; - stepPostfix = []; - uc.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); - }//用于鼠标移出canvas时的自动清除状态 - - eui.oncontextmenu=function(e){e.preventDefault()} - - eui.ondblclick = function(e) { - // 双击地图可以选中素材 - var loc = eToLoc(e); - var pos = locToPos(loc,true); - editor.setSelectBoxFromInfo(editor[editor.layerMod][pos.y][pos.x]); - return; - } - - eui.onmousedown = function (e) { - if (e.button==2){ - var loc = eToLoc(e); - var pos = locToPos(loc,true); - editor.showMidMenu(e.clientX,e.clientY); - return; - } - if (!selectBox.isSelected()) { - var loc = eToLoc(e); - var pos = locToPos(loc,true); - editor_mode.onmode('nextChange'); - editor_mode.onmode('loc'); - //editor_mode.loc(); - //tip.whichShow(1); - if(editor.isMobile)editor.showMidMenu(e.clientX,e.clientY); - return; - } - - - holdingPath = 1; - mouseOutCheck = 2; - setTimeout(clear1); - e.stopPropagation(); - uc.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); - var loc = eToLoc(e); - var pos = locToPos(loc,true); - stepPostfix = []; - stepPostfix.push(pos); - fillPos(pos); - } - - eui.onmousemove = function (e) { - if (!selectBox.isSelected()) { - //tip.whichShow(1); - return; - } - - if (holdingPath == 0) { - return; - } - mouseOutCheck = 2; - e.stopPropagation(); - var loc = eToLoc(e); - var pos = locToPos(loc,true); - var pos0 = stepPostfix[stepPostfix.length - 1] - var directionDistance = [pos.y - pos0.y, pos0.x - pos.x, pos0.y - pos.y, pos.x - pos0.x] - var max = 0, index = 4; - for (var i = 0; i < 4; i++) { - if (directionDistance[i] > max) { - index = i; - max = directionDistance[i]; - } - } - var pos = [{'x': 0, 'y': 1}, {'x': -1, 'y': 0}, {'x': 0, 'y': -1}, {'x': 1, 'y': 0}, false][index] - if (pos) { - pos.x += pos0.x; - pos.y += pos0.y; - stepPostfix.push(pos); - fillPos(pos); - } - } - - eui.onmouseup = function (e) { - if (!selectBox.isSelected()) { - //tip.whichShow(1); - return; - } - holdingPath = 0; - e.stopPropagation(); - if (stepPostfix && stepPostfix.length) { - editor.preMapData = JSON.parse(JSON.stringify({map:editor.map,fgmap:editor.fgmap,bgmap:editor.bgmap})); - if(editor.brushMod!=='line'){ - var x0=stepPostfix[0].x; - var y0=stepPostfix[0].y; - var x1=stepPostfix[stepPostfix.length-1].x; - var y1=stepPostfix[stepPostfix.length-1].y; - if(x0>x1){x0^=x1;x1^=x0;x0^=x1;}//swap - if(y0>y1){y0^=y1;y1^=y0;y0^=y1;}//swap - stepPostfix=[]; - for(var jj=y0;jj<=y1;jj++){ - for(var ii=x0;ii<=x1;ii++){ - stepPostfix.push({x:ii,y:jj}) - } - } - } - currDrawData.pos = JSON.parse(JSON.stringify(stepPostfix)); - currDrawData.info = JSON.parse(JSON.stringify(editor.info)); - reDo = null; - // console.log(stepPostfix); - if(editor.brushMod==='tileset' && core.tilesets.indexOf(editor.info.images)!==-1){ - var imgWidth=~~(core.material.images.tilesets[editor.info.images].width/32); - var x0=stepPostfix[0].x; - var y0=stepPostfix[0].y; - var idnum=editor.info.idnum; - for (var ii = 0; ii < stepPostfix.length; ii++){ - if(stepPostfix[ii].y!=y0){ - y0++; - idnum+=imgWidth; - } - editor[editor.layerMod][stepPostfix[ii].y][stepPostfix[ii].x] = editor.ids[editor.indexs[idnum+stepPostfix[ii].x-x0]]; - } - } else { - for (var ii = 0; ii < stepPostfix.length; ii++) - editor[editor.layerMod][stepPostfix[ii].y][stepPostfix[ii].x] = editor.info; - } - // console.log(editor.map); - editor.updateMap(); - holdingPath = 0; - stepPostfix = []; - uc.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__); - } - } - - /* - document.getElementById('mid').onkeydown = function (e) { - console.log(e); - if (e.keyCode==37) { - editor.moveViewport(-1, 0); - } - if (e.keyCode==38) { - editor.moveViewport(0, -1); - } - if (e.keyCode==39) { - editor.moveViewport(1, 0); - } - if (e.keyCode==40) { - editor.moveViewport(0, 1); - } - } - */ - - document.getElementById('mid').onmousewheel = function (e) { - e.preventDefault(); - var wheel = function (direct) { - var index=editor.core.floorIds.indexOf(editor.currentFloorId); - var toId = editor.currentFloorId; - - if (direct>0 && index0) - toId = editor.core.floorIds[index-1]; - else return; - - editor_mode.onmode('nextChange'); - editor_mode.onmode('floor'); - document.getElementById('selectFloor').value = toId; - editor.changeFloor(toId); - } - - try { - if (e.wheelDelta) - wheel(Math.sign(e.wheelDelta)) - else if (e.detail) - wheel(Math.sign(e.detail)); - } - catch (ee) { - console.log(ee); - } - } - - editor.preMapData = null; - var currDrawData = { - pos: [], - info: {} - }; - var reDo = null; - var shortcut = core.getLocalStorage('shortcut',{48: 0, 49: 0, 50: 0, 51: 0, 52: 0, 53: 0, 54: 0, 55: 0, 56: 0, 57: 0}); - document.body.onkeydown = function (e) { - - // 监听Ctrl+S保存 - if (e.ctrlKey && e.keyCode == 83) { - e.preventDefault(); - if (editor_multi.id != "") { - editor_multi.confirm(); // 保存脚本编辑器 - } - else if (editor_blockly.id != "") { - editor_blockly.confirm(); // 保存事件编辑器 - } - else { - editor_mode.saveFloor(); - } - return; - } - - // 如果是开启事件/脚本编辑器状态,则忽略 - if (editor_multi.id!="" || editor_blockly.id!="") - return; - - // 禁止快捷键的默认行为 - if (e.ctrlKey && [89, 90, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57].indexOf(e.keyCode) !== -1) - e.preventDefault(); - if (e.altKey && [48, 49, 50, 51, 52, 53, 54, 55, 56, 57].indexOf(e.keyCode) !== -1) - e.preventDefault(); - //Ctrl+z 撤销上一步undo - if (e.keyCode == 90 && e.ctrlKey && editor.preMapData && currDrawData.pos.length && selectBox.isSelected()) { - editor.map = JSON.parse(JSON.stringify(editor.preMapData.map)); - editor.fgmap = JSON.parse(JSON.stringify(editor.preMapData.fgmap)); - editor.bgmap = JSON.parse(JSON.stringify(editor.preMapData.bgmap)); - editor.updateMap(); - reDo = JSON.parse(JSON.stringify(currDrawData)); - currDrawData = {pos: [], info: {}}; - editor.preMapData = null; - } - //Ctrl+y 重做一步redo - if (e.keyCode == 89 && e.ctrlKey && reDo && reDo.pos.length && selectBox.isSelected()) { - editor.preMapData = JSON.parse(JSON.stringify({map:editor.map,fgmap:editor.fgmap,bgmap:editor.bgmap})); - for (var j = 0; j < reDo.pos.length; j++) - editor.map[reDo.pos[j].y][reDo.pos[j].x] = JSON.parse(JSON.stringify(reDo.info)); - - editor.updateMap(); - currDrawData = JSON.parse(JSON.stringify(reDo)); - reDo = null; - } - - // PGUP和PGDOWN切换楼层 - if (e.keyCode==33) { - e.preventDefault(); - var index=editor.core.floorIds.indexOf(editor.currentFloorId); - if (index0) { - var toId = editor.core.floorIds[index-1]; - editor_mode.onmode('nextChange'); - editor_mode.onmode('floor'); - document.getElementById('selectFloor').value = toId; - editor.changeFloor(toId); - } - } - //ctrl + 0~9 切换到快捷图块 - if (e.ctrlKey && [48, 49, 50, 51, 52, 53, 54, 55, 56, 57].indexOf(e.keyCode) !== -1){ - editor.setSelectBoxFromInfo(JSON.parse(JSON.stringify(shortcut[e.keyCode]||0))); - } - //alt + 0~9 改变快捷图块 - if (e.altKey && [48, 49, 50, 51, 52, 53, 54, 55, 56, 57].indexOf(e.keyCode) !== -1){ - var infoToSave = JSON.stringify(editor.info||0); - if(infoToSave==JSON.stringify({}))return; - shortcut[e.keyCode]=JSON.parse(infoToSave); - printf('已保存该快捷图块, ctrl + '+(e.keyCode-48)+' 使用.') - core.setLocalStorage('shortcut',shortcut); - } - var focusElement = document.activeElement; - if (!focusElement || focusElement.tagName.toLowerCase()=='body') { - // wasd平移大地图 - if (e.keyCode==87) - editor.moveViewport(0,-1) - else if (e.keyCode==65) - editor.moveViewport(-1,0) - else if (e.keyCode==83) - editor.moveViewport(0,1); - else if (e.keyCode==68) - editor.moveViewport(1,0); - } - } - - var getScrollBarHeight = function () { - var outer = document.createElement("div"); - outer.style.visibility = "hidden"; - outer.style.width = "100px"; - outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps - - document.body.appendChild(outer); - - var widthNoScroll = outer.offsetWidth; - // force scrollbars - outer.style.overflow = "scroll"; - - // add innerdiv - var inner = document.createElement("div"); - inner.style.width = "100%"; - outer.appendChild(inner); - - var widthWithScroll = inner.offsetWidth; - - // remove divs - outer.parentNode.removeChild(outer); - - return widthNoScroll - widthWithScroll; - } - var scrollBarHeight = getScrollBarHeight(); - - var dataSelection = document.getElementById('dataSelection'); - var iconLib=document.getElementById('iconLib'); - iconLib.onmousedown = function (e) { - e.stopPropagation(); - if (!editor.isMobile && e.clientY>=((core.__SIZE__==13?630:655) - scrollBarHeight)) return; - var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; - var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; - var loc = { - 'x': scrollLeft + e.clientX + iconLib.scrollLeft - right.offsetLeft - iconLib.offsetLeft, - 'y': scrollTop + e.clientY + iconLib.scrollTop - right.offsetTop - iconLib.offsetTop, - 'size': 32 - }; - editor.loc = loc; - var pos = locToPos(loc); - for (var spriter in editor.widthsX) { - if (pos.x >= editor.widthsX[spriter][1] && pos.x < editor.widthsX[spriter][2]) { - var ysize = spriter.indexOf('48') === -1 ? 32 : 48; - loc.ysize = ysize; - pos.images = editor.widthsX[spriter][0]; - pos.y = ~~(loc.y / loc.ysize); - if(core.tilesets.indexOf(pos.images)==-1)pos.x = editor.widthsX[spriter][1]; - var autotiles = core.material.images['autotile']; - if (pos.images == 'autotile') { - var imNames = Object.keys(autotiles); - if ((pos.y + 1) * ysize > editor.widthsX[spriter][3]) - pos.y = ~~(editor.widthsX[spriter][3] / ysize) - 4; - else { - for (var i = 0; i < imNames.length; i++) { - if (pos.y >= 4 * i && pos.y < 4 * (i + 1)) { - pos.images = imNames[i]; - pos.y = 4 * i; - } - } - } - } else if ((pos.y + 1) * ysize > editor.widthsX[spriter][3]) - pos.y = ~~(editor.widthsX[spriter][3] / ysize) - 1; - - selectBox.isSelected(true); - // console.log(pos,core.material.images[pos.images].height) - dataSelection.style.left = pos.x * 32 + 'px'; - dataSelection.style.top = pos.y * ysize + 'px'; - dataSelection.style.height = ysize - 6 + 'px'; - - if (pos.x == 0 && pos.y == 0) { - // editor.info={idnum:0, id:'empty','images':'清除块', 'y':0}; - editor.info = 0; - } else if(pos.x == 0 && pos.y == 1){ - editor.info = editor.ids[editor.indexs[17]]; - } else { - if (Object.prototype.hasOwnProperty.call(autotiles, pos.images)) editor.info = {'images': pos.images, 'y': 0}; - else if (pos.images == 'terrains') editor.info = {'images': pos.images, 'y': pos.y - 2}; - else if (core.tilesets.indexOf(pos.images)!=-1) editor.info = {'images': pos.images, 'y': pos.y, 'x': pos.x-editor.widthsX[spriter][1]}; - else editor.info = {'images': pos.images, 'y': pos.y}; - - for (var ii = 0; ii < editor.ids.length; ii++) { - if ((core.tilesets.indexOf(pos.images)!=-1 && editor.info.images == editor.ids[ii].images - && editor.info.y == editor.ids[ii].y && editor.info.x == editor.ids[ii].x) - || (Object.prototype.hasOwnProperty.call(autotiles, pos.images) && editor.info.images == editor.ids[ii].id - && editor.info.y == editor.ids[ii].y) - || (core.tilesets.indexOf(pos.images)==-1 && editor.info.images == editor.ids[ii].images - && editor.info.y == editor.ids[ii].y ) - ) { - - editor.info = editor.ids[ii]; - break; - } - } - } - tip.infos(JSON.parse(JSON.stringify(editor.info))); - editor_mode.onmode('nextChange'); - editor_mode.onmode('enemyitem'); - //editor_mode.enemyitem(); - } - } - } - - var midMenu=document.getElementById('midMenu'); - midMenu.oncontextmenu=function(e){e.preventDefault()} - editor.lastRightButtonPos=[{x:0,y:0},{x:0,y:0}]; - editor.showMidMenu=function(x,y){ - editor.lastRightButtonPos=JSON.parse(JSON.stringify( - [editor.pos,editor.lastRightButtonPos[0]] - )); - var locStr='('+editor.lastRightButtonPos[1].x+','+editor.lastRightButtonPos[1].y+')'; - var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; - var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; - - // 检测是否是上下楼 - var thisevent = editor.map[editor.pos.y][editor.pos.x]; - if (thisevent.id=='upFloor') { - addFloorEvent.style.display='block'; - addFloorEvent.children[0].innerHTML='绑定上楼事件'; - } - else if (thisevent.id=='downFloor') { - addFloorEvent.style.display='block'; - addFloorEvent.children[0].innerHTML='绑定下楼事件'; - } - else addFloorEvent.style.display='none'; - - chooseThis.children[0].innerHTML='选中此点'+'('+editor.pos.x+','+editor.pos.y+')' - copyLoc.children[0].innerHTML='复制事件'+locStr+'到此处'; - moveLoc.children[0].innerHTML='交换事件'+locStr+'与此事件的位置'; - midMenu.style='top:'+(y+scrollTop)+'px;left:'+(x+scrollLeft)+'px;'; - } - editor.hideMidMenu=function(){ - if(editor.isMobile){ - setTimeout(function(){ - midMenu.style='display:none'; - },200) - } else { - midMenu.style='display:none'; - } - } - - var addFloorEvent = document.getElementById('addFloorEvent'); - addFloorEvent.onmousedown = function(e) { - editor.hideMidMenu(); - e.stopPropagation(); - var thisevent = editor.map[editor.pos.y][editor.pos.x]; - if (thisevent.id=='upFloor') { - editor.currentFloorData.changeFloor[editor.pos.x+","+editor.pos.y] = {"floorId": ":next", "stair": "downFloor"}; - } - else if (thisevent.id=='downFloor') { - editor.currentFloorData.changeFloor[editor.pos.x+","+editor.pos.y] = {"floorId": ":before", "stair": "upFloor"}; - } - editor.file.saveFloorFile(function (err) { - if (err) { - printe(err); - throw(err) - } - ;printf('添加楼梯事件成功'); - editor.drawPosSelection(); - editor_mode.showMode('loc'); - }); - } - - var chooseThis = document.getElementById('chooseThis'); - chooseThis.onmousedown = function(e){ - editor.hideMidMenu(); - e.stopPropagation(); - selectBox.isSelected(false); - - editor_mode.onmode('nextChange'); - editor_mode.onmode('loc'); - //editor_mode.loc(); - //tip.whichShow(1); - if(editor.isMobile)editor.showdataarea(false); - } - - var chooseInRight = document.getElementById('chooseInRight'); - chooseInRight.onmousedown = function(e){ - editor.hideMidMenu(); - e.stopPropagation(); - var thisevent = editor[editor.layerMod][editor.pos.y][editor.pos.x]; - editor.setSelectBoxFromInfo(thisevent); - } - - var fields = Object.keys(editor.file.comment._data.floors._data.loc._data); - - var copyLoc = document.getElementById('copyLoc'); - copyLoc.onmousedown = function(e){ - editor.hideMidMenu(); - e.stopPropagation(); - editor.preMapData = null; - reDo = null; - editor_mode.onmode(''); - var now = editor.pos; - var last = editor.lastRightButtonPos[1]; - var lastevent = editor.map[last.y][last.x]; - var lastinfo = 0; - if(lastevent==0){ - lastinfo = 0; - } else { - var ids=editor.indexs[lastevent.idnum]; - ids=ids[0]?ids[0]:ids; - lastinfo=editor.ids[ids]; - } - editor.map[now.y][now.x]=lastinfo; - editor.updateMap(); - fields.forEach(function(v){ - editor.currentFloorData[v][now.x+','+now.y]=editor.currentFloorData[v][last.x+','+last.y] - }) - editor.file.saveFloorFile(function (err) { - if (err) { - printe(err); - throw(err) - } - ;printf('复制事件成功'); - editor.drawPosSelection(); - }); - } - - var moveLoc = document.getElementById('moveLoc'); - moveLoc.onmousedown = function(e){ - editor.hideMidMenu(); - e.stopPropagation(); - editor.preMapData = null; - reDo = null; - var thisevent = editor.map[editor.pos.y][editor.pos.x]; - if(thisevent==0){ - editor.info = 0; - } else { - var ids=editor.indexs[thisevent.idnum]; - ids=ids[0]?ids[0]:ids; - editor.info=editor.ids[ids]; - } - editor_mode.onmode(''); - var now = editor.pos; - var last = editor.lastRightButtonPos[1]; - - var lastevent = editor.map[last.y][last.x]; - var lastinfo = 0; - if(lastevent==0){ - lastinfo = 0; - } else { - var ids=editor.indexs[lastevent.idnum]; - ids=ids[0]?ids[0]:ids; - lastinfo=editor.ids[ids]; - } - editor.map[last.y][last.x]=editor.info; - editor.map[now.y][now.x]=lastinfo; - editor.updateMap(); - - fields.forEach(function(v){ - var temp_atsfcytaf=editor.currentFloorData[v][now.x+','+now.y]; - editor.currentFloorData[v][now.x+','+now.y]=editor.currentFloorData[v][last.x+','+last.y]; - editor.currentFloorData[v][last.x+','+last.y]=temp_atsfcytaf; - }) - editor.file.saveFloorFile(function (err) { - if (err) { - printe(err); - throw(err) - } - ;printf('两位置的事件已互换'); - editor.drawPosSelection(); - }); - } - - var _clearPoint = function (clearPoint) { - editor.hideMidMenu(); - editor.preMapData = null; - reDo = null; - editor.info = 0; - editor_mode.onmode(''); - var now = editor.pos; - if (clearPoint) - editor.map[now.y][now.x]=editor.info; - editor.updateMap(); - fields.forEach(function(v){ - delete editor.currentFloorData[v][now.x+','+now.y]; - }) - editor.file.saveFloorFile(function (err) { - if (err) { - printe(err); - throw(err) - } - ;printf(clearPoint?'清空该点和事件成功':'只清空该点事件成功'); - editor.drawPosSelection(); - }); - } - - var clearEvent = document.getElementById('clearEvent'); - clearEvent.onmousedown = function (e) { - e.stopPropagation(); - _clearPoint(false); - } - - var clearLoc = document.getElementById('clearLoc'); - clearLoc.onmousedown = function(e){ - e.stopPropagation(); - _clearPoint(true); - } - - var brushMod=document.getElementById('brushMod'); - brushMod.onchange=function(){ - editor.brushMod=brushMod.value; - } - - var brushMod2=document.getElementById('brushMod2'); - if(brushMod2)brushMod2.onchange=function(){ - editor.brushMod=brushMod2.value; - } - - var brushMod3=document.getElementById('brushMod3'); - if(brushMod3)brushMod3.onchange=function(){ - editor.brushMod=brushMod3.value; - } - - var bgc = document.getElementById('bg'), fgc = document.getElementById('fg'), - evc = document.getElementById('event'), ev2c = document.getElementById('event2'); - - var layerMod=document.getElementById('layerMod'); - layerMod.onchange=function(){ - editor.layerMod=layerMod.value; - [bgc,fgc,evc,ev2c].forEach(function (x) { - x.style.opacity = 1; - }); - - // 手机端.... - if (editor.isMobile) { - if (layerMod.value == 'bgmap') { - [fgc,evc,ev2c].forEach(function (x) { - x.style.opacity = 0.3; - }); - } - if (layerMod.value == 'fgmap') { - [bgc,evc,ev2c].forEach(function (x) { - x.style.opacity = 0.3; - }); - } - } - } - - var layerMod2=document.getElementById('layerMod2'); - if(layerMod2)layerMod2.onchange=function(){ - editor.layerMod=layerMod2.value; - [fgc,evc,ev2c].forEach(function (x) { - x.style.opacity = 0.3; - }); - bgc.style.opacity = 1; - } - - var layerMod3=document.getElementById('layerMod3'); - if(layerMod3)layerMod3.onchange=function(){ - editor.layerMod=layerMod3.value; - [bgc,evc,ev2c].forEach(function (x) { - x.style.opacity = 0.3; - }); - fgc.style.opacity = 1; - } - - var viewportButtons=document.getElementById('viewportButtons'); - for(var ii=0,node;node=viewportButtons.children[ii];ii++){ - (function(x,y){ - node.onclick=function(){ - editor.moveViewport(x,y); - } - })([-1,0,0,1][ii],[0,-1,1,0][ii]); - } -} - -editor.constructor.prototype.mobile_listen=function () { - if(!editor.isMobile)return; - - var mobileview=document.getElementById('mobileview'); - var editModeSelect=document.getElementById('editModeSelect'); - var mid=document.getElementById('mid'); - var right=document.getElementById('right'); - var mobileeditdata=document.getElementById('mobileeditdata'); - - - editor.showdataarea=function(callShowMode){ - mid.style='z-index:-1;opacity: 0;'; - right.style='z-index:-1;opacity: 0;'; - mobileeditdata.style=''; - if(callShowMode)editor.mode.showMode(editModeSelect.value); - editor.hideMidMenu(); - } - mobileview.children[0].onclick=function(){ - editor.showdataarea(true) - } - mobileview.children[1].onclick=function(){ - mid.style=''; - right.style='z-index:-1;opacity: 0;'; - mobileeditdata.style='z-index:-1;opacity: 0;'; - editor.lastClickId=''; - } - mobileview.children[3].onclick=function(){ - mid.style='z-index:-1;opacity: 0;'; - right.style=''; - mobileeditdata.style='z-index:-1;opacity: 0;'; - editor.lastClickId=''; - } - - - var gettrbyid=function(){ - if(!editor.lastClickId)return false; - thisTr = document.getElementById(editor.lastClickId); - input = thisTr.children[2].children[0].children[0]; - field = thisTr.children[0].getAttribute('title'); - cobj = JSON.parse(thisTr.children[1].getAttribute('cobj')); - return [thisTr,input,field,cobj]; - } - mobileeditdata.children[0].onclick=function(){ - var info = gettrbyid() - if(!info)return; - info[1].ondblclick() - } - mobileeditdata.children[1].onclick=function(){ - var info = gettrbyid() - if(!info)return; - printf(info[2]) - } - mobileeditdata.children[2].onclick=function(){ - var info = gettrbyid() - if(!info)return; - printf(info[0].children[1].getAttribute('title')) - } - - //===== - - document.body.ontouchstart=document.body.onmousedown; - document.body.onmousedown=null; - - - var eui=document.getElementById('eui'); - eui.ontouchstart=eui.onmousedown - eui.onmousedown=null - eui.ontouchmove=eui.onmousemove - eui.onmousemove=null - eui.ontouchend=eui.onmouseup - eui.onmouseup=null - - - var chooseThis = document.getElementById('chooseThis'); - chooseThis.ontouchstart=chooseThis.onmousedown - chooseThis.onmousedown=null - var chooseInRight = document.getElementById('chooseInRight'); - chooseInRight.ontouchstart=chooseInRight.onmousedown - chooseInRight.onmousedown=null - var copyLoc = document.getElementById('copyLoc'); - copyLoc.ontouchstart=copyLoc.onmousedown - copyLoc.onmousedown=null - var moveLoc = document.getElementById('moveLoc'); - moveLoc.ontouchstart=moveLoc.onmousedown - moveLoc.onmousedown=null - var clearLoc = document.getElementById('clearLoc'); - clearLoc.ontouchstart=clearLoc.onmousedown - clearLoc.onmousedown=null -} - -} \ No newline at end of file diff --git a/_server/editor_unsorted_2.js b/_server/editor_unsorted_2.js deleted file mode 100644 index ef032c86..00000000 --- a/_server/editor_unsorted_2.js +++ /dev/null @@ -1,581 +0,0 @@ -editor_unsorted_2_wrapper=function(editor_mode){ - - editor_mode.constructor.prototype.listen=function (callback) { - var newIdIdnum = document.getElementById('newIdIdnum'); - newIdIdnum.children[2].onclick = function () { - if (newIdIdnum.children[0].value && newIdIdnum.children[1].value) { - var id = newIdIdnum.children[0].value; - var idnum = parseInt(newIdIdnum.children[1].value); - if (!core.isset(idnum)) { - printe('不合法的idnum'); - return; - } - if (!/^[0-9a-zA-Z_]+$/.test(id)) { - printe('不合法的id,请使用字母、数字或下划线') - return; - } - editor.file.changeIdAndIdnum(id, idnum, editor_mode.info, function (err) { - if (err) { - printe(err); - throw(err) - } - printe('添加id的idnum成功,请F5刷新编辑器'); - }); - } else { - printe('请输入id和idnum'); - } - } - - newIdIdnum.children[4].onclick = function () { - editor.file.autoRegister(editor_mode.info, function (err) { - if (err) { - printe(err); - throw(err) - } - printe('该列所有剩余项全部自动注册成功,请F5刷新编辑器'); - }) - } - - var selectFloor = document.getElementById('selectFloor'); - editor.file.getFloorFileList(function (floors) { - var outstr = []; - floors[0].forEach(function (floor) { - outstr.push(["\n'].join('')); - }); - selectFloor.innerHTML = outstr.join(''); - selectFloor.value = core.status.floorId; - selectFloor.onchange = function () { - editor_mode.onmode('nextChange'); - editor_mode.onmode('floor'); - editor.changeFloor(selectFloor.value); - } - }); - - var saveFloor = document.getElementById('saveFloor'); - editor_mode.saveFloor = function () { - editor_mode.onmode(''); - editor.file.saveFloorFile(function (err) { - if (err) { - printe(err); - throw(err) - } - ;printf('保存成功'); - }); - } - saveFloor.onclick = editor_mode.saveFloor; - - var newMap = document.getElementById('newMap'); - var newFileName = document.getElementById('newFileName'); - newMap.onclick = function () { - if (!newFileName.value) return; - if (core.floorIds.indexOf(newFileName.value)>=0) { - printe("该楼层已存在!"); - return; - } - if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(newFileName.value)) { - printe("楼层名不合法!请使用字母、数字、下划线,且不能以数字开头!"); - return; - } - var width = parseInt(document.getElementById('newMapWidth').value); - var height = parseInt(document.getElementById('newMapHeight').value); - if (!core.isset(width) || !core.isset(height) || width1000) { - printe("新建地图的宽高都不得小于"+core.__SIZE__+",且宽高之积不能超过1000"); - return; - } - - editor_mode.onmode(''); - editor.file.saveNewFile(newFileName.value, function (err) { - if (err) { - printe(err); - throw(err) - } - core.floorIds.push(newFileName.value); - editor.file.editTower([['change', "['main']['floorIds']", core.floorIds]], function (objs_) {//console.log(objs_); - if (objs_.slice(-1)[0] != null) { - printe(objs_.slice(-1)[0]); - throw(objs_.slice(-1)[0]) - } - ;printe('新建成功,请F5刷新编辑器生效'); - }); - }); - } - - var newMaps = document.getElementById('newMaps'); - var newFloors = document.getElementById('newFloors'); - newMaps.onclick = function () { - if (newFloors.style.display == 'none') newFloors.style.display = 'block'; - else newFloors.style.display = 'none'; - } - - var createNewMaps = document.getElementById('createNewMaps'); - createNewMaps.onclick = function () { - var floorIds = document.getElementById('newFloorIds').value; - if (!floorIds) return; - var from = parseInt(document.getElementById('newMapsFrom').value), - to = parseInt(document.getElementById('newMapsTo').value); - if (!core.isset(from) || !core.isset(to) || from>to || from<0 || to<0) { - printe("请输入有效的起始和终止楼层"); - return; - } - if (to-from >= 100) { - printe("一次最多创建99个楼层"); - return; - } - var floorIdList = []; - for (var i = from; i<=to; i++) { - var floorId = floorIds.replace(/\${(.*?)}/g, function (word, value) { - return eval(value); - }); - if (core.floorIds.indexOf(floorId)>=0) { - printe("要创建的楼层 "+floorId+" 已存在!"); - return; - } - if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(floorId)) { - printe("楼层名 "+floorId+" 不合法!请使用字母、数字、下划线,且不能以数字开头!"); - return; - } - if (floorIdList.indexOf(floorId)>=0) { - printe("尝试重复创建楼层 "+floorId+" !"); - return; - } - floorIdList.push(floorId); - } - - var width = parseInt(document.getElementById('newMapsWidth').value); - var height = parseInt(document.getElementById('newMapsHeight').value); - if (!core.isset(width) || !core.isset(height) || width1000) { - printe("新建地图的宽高都不得小于"+core.__SIZE__+",且宽高之积不能超过1000"); - return; - } - editor_mode.onmode(''); - - editor.file.saveNewFiles(floorIdList, from, to, function (err) { - if (err) { - printe(err); - throw(err) - } - core.floorIds = core.floorIds.concat(floorIdList); - editor.file.editTower([['change', "['main']['floorIds']", core.floorIds]], function (objs_) {//console.log(objs_); - if (objs_.slice(-1)[0] != null) { - printe(objs_.slice(-1)[0]); - throw(objs_.slice(-1)[0]) - } - ;printe('批量创建 '+floorIdList[0]+'~'+floorIdList[floorIdList.length-1]+' 成功,请F5刷新编辑器生效'); - }); - }); - } - - var ratio = 1; - var appendPicCanvas = document.getElementById('appendPicCanvas'); - var bg = appendPicCanvas.children[0]; - var source = appendPicCanvas.children[1]; - var source_ctx=source.getContext('2d'); - var picClick = appendPicCanvas.children[2]; - var sprite = appendPicCanvas.children[3]; - var sprite_ctx=sprite.getContext('2d'); - var appendPicSelection = document.getElementById('appendPicSelection'); - - [source_ctx,sprite_ctx].forEach(function(ctx){ - ctx.mozImageSmoothingEnabled = false; - ctx.webkitImageSmoothingEnabled = false; - ctx.msImageSmoothingEnabled = false; - ctx.imageSmoothingEnabled = false; - }) - - var selectAppend = document.getElementById('selectAppend'); - var selectAppend_str = []; - ["terrains", "animates", "enemys", "enemy48", "items", "npcs", "npc48", "autotile"].forEach(function (image) { - selectAppend_str.push(["\n'].join('')); - }); - selectAppend.innerHTML = selectAppend_str.join(''); - selectAppend.onchange = function () { - - var value = selectAppend.value; - - if (value == 'autotile') { - editor_mode.appendPic.imageName = 'autotile'; - for (var jj=0;jj<4;jj++) appendPicSelection.children[jj].style = 'display:none'; - if (editor_mode.appendPic.img) { - sprite.style.width = (sprite.width = editor_mode.appendPic.img.width) / ratio + 'px'; - sprite.style.height = (sprite.height = editor_mode.appendPic.img.height) / ratio + 'px'; - sprite_ctx.clearRect(0, 0, sprite.width, sprite.height); - sprite_ctx.drawImage(editor_mode.appendPic.img, 0, 0); - } - return; - } - - var ysize = selectAppend.value.endsWith('48') ? 48 : 32; - editor_mode.appendPic.imageName = value; - var img = core.material.images[value]; - editor_mode.appendPic.toImg = img; - var num = ~~img.width / 32; - editor_mode.appendPic.num = num; - editor_mode.appendPic.index = 0; - var selectStr = ''; - for (var ii = 0; ii < num; ii++) { - appendPicSelection.children[ii].style = 'left:0;top:0;height:' + (ysize - 6) + 'px'; - selectStr += '{"x":0,"y":0},' - } - editor_mode.appendPic.selectPos = eval('[' + selectStr + ']'); - for (var jj = num; jj < 4; jj++) { - appendPicSelection.children[jj].style = 'display:none'; - } - sprite.style.width = (sprite.width = img.width) / ratio + 'px'; - sprite.style.height = (sprite.height = img.height + ysize) / ratio + 'px'; - sprite_ctx.drawImage(img, 0, 0); - } - selectAppend.onchange(); - - var getPixel=editor.util.getPixel - var setPixel=editor.util.setPixel - - var autoAdjust = function (image, callback) { - var changed = false; - - // Step 1: 检测白底 - var tempCanvas = document.createElement('canvas').getContext('2d'); - tempCanvas.canvas.width = image.width; - tempCanvas.canvas.height = image.height; - tempCanvas.mozImageSmoothingEnabled = false; - tempCanvas.webkitImageSmoothingEnabled = false; - tempCanvas.msImageSmoothingEnabled = false; - tempCanvas.imageSmoothingEnabled = false; - tempCanvas.drawImage(image, 0, 0); - var imgData = tempCanvas.getImageData(0, 0, image.width, image.height); - var trans = 0, white = 0, black=0; - for (var i=0;iblack && white>trans*10 && confirm("看起来这张图片是以纯白为底色,是否自动调整为透明底色?")) { - for (var i=0;iwhite && black>trans*10 && confirm("看起来这张图片是以纯黑为底色,是否自动调整为透明底色?")) { - for (var i=0;i= num) editor_mode.appendPic.index = ii + 1 - num; - else editor_mode.appendPic.index++; - editor_mode.appendPic.selectPos[ii] = pos; - appendPicSelection.children[ii].style = [ - 'left:', pos.x * 32, 'px;', - 'top:', pos.y * pos.ysize, 'px;', - 'height:', pos.ysize - 6, 'px;' - ].join(''); - } - - var appendConfirm = document.getElementById('appendConfirm'); - appendConfirm.onclick = function () { - - var confirmAutotile = function () { - var image = editor_mode.appendPic.img; - if (image.width % 96 !=0 || image.height != 128) { - printe("不合法的Autotile图片!"); - return; - } - var imgData = source_ctx.getImageData(0,0,image.width,image.height); - sprite_ctx.putImageData(imgData, 0, 0); - var imgbase64 = sprite.toDataURL().split(',')[1]; - - // Step 1: List文件名 - fs.readdir('./project/images', function (err, data) { - if (err) { - printe(err); - throw(err); - } - - // Step 2: 选择Autotile文件名 - var filename; - for (var i=1;;++i) { - filename = 'autotile'+i; - if (data.indexOf(filename+".png")==-1) break; - } - - // Step 3: 写入文件 - fs.writeFile('./project/images/'+filename+".png", imgbase64, 'base64', function (err, data) { - if (err) { - printe(err); - throw(err); - } - // Step 4: 自动注册 - editor_file.registerAutotile(filename, function (err) { - if (err) { - printe(err); - throw(err); - } - printe('自动元件'+filename+'注册成功,请F5刷新编辑器'); - }) - - }) - - }) - - } - - if (selectAppend.value == 'autotile') { - confirmAutotile(); - return; - } - - var ysize = selectAppend.value.endsWith('48') ? 48 : 32; - for (var ii = 0, v; v = editor_mode.appendPic.selectPos[ii]; ii++) { - // var imgData = source_ctx.getImageData(v.x * 32, v.y * ysize, 32, ysize); - // sprite_ctx.putImageData(imgData, ii * 32, sprite.height - ysize); - // sprite_ctx.drawImage(editor_mode.appendPic.img, v.x * 32, v.y * ysize, 32, ysize, ii * 32, height, 32, ysize) - - sprite_ctx.drawImage(source_ctx.canvas, v.x*32, v.y*ysize, 32, ysize, 32*ii, sprite.height - ysize, 32, ysize); - } - var dt = sprite_ctx.getImageData(0, 0, sprite.width, sprite.height); - var imgbase64 = sprite.toDataURL().split(',')[1]; - fs.writeFile('./project/images/' + editor_mode.appendPic.imageName + '.png', imgbase64, 'base64', function (err, data) { - if (err) { - printe(err); - throw(err) - } - printe('追加素材成功,请F5刷新编辑器,或继续追加当前素材'); - sprite.style.height = (sprite.height = (sprite.height+ysize)) + "px"; - sprite_ctx.putImageData(dt, 0, 0); - }); - } - - var editModeSelect = document.getElementById('editModeSelect'); - editModeSelect.onchange = function () { - editor_mode.onmode('nextChange'); - editor_mode.onmode(editModeSelect.value); - if(editor.isMobile)editor.showdataarea(false); - } - - editor_mode.checkUnique = function (thiseval) { - if (!(thiseval instanceof Array)) return false; - var map = {}; - for (var i = 0; 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%0D% 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

*J`m_fZe0**d$jhOqZ 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ð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�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 G2~7aO#7b@e literal 0 HcmV?d00001 diff --git a/_server/img_md/view2.png b/_server/img_md/view2.png new file mode 100644 index 0000000000000000000000000000000000000000..8243840b43a51d9029b35aa6c7cbbaa8187d3fea GIT binary patch literal 410693 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%0AXCiKY$CZ+MsX-xxheDORN3i709bG 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

88UH-SzUl>{4E;Gagy>qjd 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 z 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𝔬JkdH0!YrMf7sDdLdP6JWe2(! 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 literal 0 HcmV?d00001 diff --git a/_server/img_md/view3.png b/_server/img_md/view3.png new file mode 100644 index 0000000000000000000000000000000000000000..34daceac514dfed57fe94e54d2fde0aa850f1947 GIT binary patch literal 202356 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⪚hp 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 c4>hjS-A 目前状态: 按功能分类已基本完成, 未完成file/game的重写 + +总体思路 + 按功能拆分文件 + 左侧页面模块化, 方便添加 + 不同的模式的文件操作尽可能模块化 +目前主要在重构editor_file, 思路是editor.file负责把editor.game内的游戏数据格式化成字符串以及写入到文件, 由editor.game来修改数据 ++ editor.file维护一些标记, 描述哪些数据需要格式化并写入, 在save时写入文件(自动保存的话就是每次修改数据都触发save) ++ editor.game修改数据, 并修改editor.file中的标记 ++ 此思路下editor.file的大部分内容会挪到editor.game, editor.game和editor.table可能会再进一步合并拆分 + +editor_file之后是更改editor.map的储存方式, 现有的存对象的模式要在对象和数字间来回转换, 非常繁琐和奇怪 ## 文件结构 +(全部小写,必要时用下划线分割) + + [ ] editor_blockly 图块化事件编辑器 + [ ] editor_multi 多行文本编辑器 + [x] editor_table 处理表格的生成, 及其响应的事件, 从原editor\_mode中分离 -+ [ ] editor_file 调用fs.js编辑文件, 把原editor\_file模块化 -+ [ ] editor_game 处理来自core的数据, 导入为editor的数据, 从原editor中分离 -+ [x] editor_util 生成guid等函数, 从editor分离 ++ [ ] editor_file 调用fs.js编辑文件, 把原editor\_file模块化, 并且只负责文件写入 ++ [ ] editor_game 处理游戏数据, 导入为editor的数据, 编辑数据, 从原editor和editor_file中抽离. **只有此文件允许`\s(main|core)`形式的调用**(以及其初始化`editor_game_wrapper(editor, main, core);`) ++ [x] editor_util 生成guid/处理颜色 等函数, 从editor分离 ++ [ ] editor_listen 处理界面上的按钮/下拉框点击等用户的操作与功能函数的绑定, 维护editor.dom, unsorted_1/2中的绑定挪到此处, 其中的函数内容, 分类放在其他文件 ++ [ ] editor_mappanel 与地图区相关的功能, <-unsorted_1/2/3 ++ [ ] editor_datapanel 与数据区相关的功能, <-unsorted_1/2/3 ++ [ ] editor_materialpanel 与素材区相关的功能, <-unsorted_1/2/3 ++ [ ] editor_ui 维护printe/printf/tip, 以及之后可能的窗口化, ui事件中没有具体到前三个区中的函数 <-unsorted_1/2/3 + [ ] editor 执行初始化流程加组合各组件 + [ ] 原editor_mode 移除 + [x] 原vm 移除 @@ -51,7 +67,7 @@ editor: { + 地图的编辑与其他(如全塔属性和楼层属性), 现在的文件操作的模式是完全不同的 楼层文件的储存与其他不同 -+ editor.file在修改时不再返回obj和commentobj,只在查询时返回 ++ [x] editor.file在修改时不再返回obj和commentobj,只在查询时返回 + editor.file中的各个条目, 非常相似, 但是细节的不同处理非常麻烦. 是类似的代码复制后修改一部分, 尝试模块化(或者重写) @@ -61,9 +77,13 @@ editor: { + 目前editor.map中储存的是info\, 准备改为和core一致只储存数字 ++ editor.widthX特别不直观 + ++ ? 编辑器使用可拖拽和调大小的窗口做容器 + ## 功能改进 -+ [ ] 大地图 ++ [x] 大地图 在切换时, 每次都回到最左上->每个楼层记录一个位置 四个箭头支持长按 ? 滚动条 @@ -76,12 +96,12 @@ editor: { + [ ] ? 简洁的事件方块注册 `editor.registerEvent('log',[['test','Int','测试',0],['floorId','Idstring','楼层','MT0']])` -+ [ ] 一个显示所有快捷键的文本 ++ [x] 一个显示所有快捷键的文本 -+ [ ] 更多快捷键 ++ [x] 更多快捷键 【全塔属性】、【楼层属性】等常用的编辑栏切换 -+ [ ] ? 地图编辑优化 ++ [x] ? 地图编辑优化 常用的地图编辑快捷键/命令:复制ctrl+c、粘贴ctrl+v、(复制可绑定为现在的“选中xx位置事件” 粘贴为复制xx事件到此处),撤回ctrl+z、取消撤回ctrl+y 可以按住拖动图块与事件。 @@ -92,16 +112,20 @@ editor: { + [x] 修改系统的触发器(下拉菜单增加新项) 在编辑器修改`comment.js`:现场发readFile请求读文件,然后开脚本编辑器进行编辑 -+ [ ] ? 删除注册项/修改图块ID ++ [x] ? 删除注册项/修改图块ID + [ ] ? 怪物和道具也能像其他类型那样查看“图块信息”(而不只是具体的怪物属性) -+ [ ] 素材区自动换列 ++ [x] 素材区自动换列 怪物或道具太多时, 按照每100个进行拆分新开列来显示 -+ [ ] 多帧素材只显示第一帧 ++ [x] 多帧素材只显示第一帧 -+ [ ] `显示文章`以及`选项`等方块, 把`标题`和`图像`从字符串提取出填回相应的空 ++ [x] `显示文章`以及`选项`等方块, 把`标题`和`图像`从字符串提取出填回相应的空 + ++ [x] blockly中某些需要选点的填空, 增加按钮, 点击后从缩略图中点击位置 + ++ [ ] 插件编写增加判定,如果保存时框内不是以 "function\s*()" 开头(也就是用户直接写的脚本),则自动添加一个 function() { } 将代码包装起来。 ## 左侧页面模式 diff --git a/_server/table/comment.js b/_server/table/comment.js index ff09aa48..5bac4a9b 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -67,6 +67,12 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_lint": true, "_data": "即捡即用类物品在获得时提示的文字,仅对cls为items有效。" }, + "useItemEvent": { + "_leaf": true, + "_type": "event", + "_event": "item", + "_data": "碰触或使用本道具所执行的事件" + }, "useItemEffect": { "_leaf": true, "_type": "textarea", @@ -81,12 +87,12 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_lint": true, "_data": "当前能否使用该道具,仅对cls为tools或constants有效。" }, - "canEquip": { + "equipCondition": { "_leaf": true, "_type": "textarea", "_string": true, "_lint": true, - "_data": "当前能否装备某个装备,仅对cls为equips有效。\n与canUseItemEffect不同,这里null代表可以装备。" + "_data": "能装备某个装备的条件,仅对cls为equips有效。\n与canUseItemEffect不同,这里null代表可以装备。" } } }, @@ -143,7 +149,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval==null || thiseval instanceof Array || (thiseval==~~thiseval && thiseval>=0)", - "_data": "特殊属性\n\n0:无,1:先攻,2:魔攻,3:坚固,4:2连击,\n5:3连击,6:n连击,7:破甲,8:反击,9:净化,\n10:模仿,11:吸血,12:中毒,13:衰弱,14:诅咒,\n15:领域,16:夹击,17:仇恨,18:阻击,19:自爆,\n20:无敌,21:退化,22:固伤,23:重生,24:激光,25:光环\n\n多个属性例如用[1,4,11]表示先攻2连击吸血" + "_data": "特殊属性\n\n0:无,1:先攻,2:魔攻,3:坚固,4:2连击,\n5:3连击,6:n连击,7:破甲,8:反击,9:净化,\n10:模仿,11:吸血,12:中毒,13:衰弱,14:诅咒,\n15:领域,16:夹击,17:仇恨,18:阻击,19:自爆,\n20:无敌,21:退化,22:固伤,23:重生,24:激光,25:光环\n26:支援,27:捕捉\n多个属性例如用[1,4,11]表示先攻2连击吸血" }, "value": { "_leaf": true, @@ -225,12 +231,18 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_range": "false", "_data": "图块类别" }, + "name": { + "_leaf": true, + "_type": "textarea", + "_string": true, + "_data": "图块名称" + }, "trigger": { "_leaf": true, "_type": "select", "_select": { "values": [ - null, + "null", "openDoor", "passNet", "changeLight", @@ -245,18 +257,19 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "select", "_select": { "values": [ - null, - true, - false + "null", + "true", + "false" ] }, "_data": "该图块是否不可通行;true代表不可通行,false代表可通行,null代表使用系统缺省值" }, - "canBreak": { + "script": { "_leaf": true, - "_type": "checkbox", - "_bool": "bool", - "_data": "该图块是否可被破墙或地震" + "_type": "textarea", + "_string": true, + "_lint": true, + "_data": "触碰到该图块时自动执行的脚本内容;此脚本会在该点的触发器执行前执行" }, "cannotOut": { "_leaf": true, @@ -270,6 +283,12 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_range": "thiseval==null||(thiseval instanceof Array)", "_data": "该图块的不可入方向\n可以在这里定义不能朝哪个方向进入该图块,可以达到悬崖之类的效果\n例如 [\"down\"] 代表不能从该图块的上方点朝向下进入此图块\n此值对背景层、事件层、前景层上的图块均有效" }, + "canBreak": { + "_leaf": true, + "_type": "checkbox", + "_bool": "bool", + "_data": "该图块是否可被破墙或地震" + }, "animate": { "_leaf": true, "_type": "textarea", @@ -429,6 +448,24 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_event": "event", "_data": "该点的可能事件列表,可以双击进入事件编辑器。" }, + "autoEvent": { + "_type": "object", + "_leaf": false, + "_action": function (args) { + args.vobj=args.vobj||{}; + for(var ii=0;ii<2;ii++){ + args.vobj[ii]=args.vobj[ii]||null; + } + }, + "_data": function (key) { + return { + "_leaf": true, + "_type": "event", + "_event": "autoEvent", + "_data": "自动事件页" + } + } + }, "changeFloor": { "_leaf": true, "_type": "event", @@ -458,10 +495,40 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_range": "thiseval==null||(thiseval instanceof Array)", "_data": "该点不可通行的方向 \n 可以在这里定义该点不能前往哪个方向,可以达到悬崖之类的效果\n例如 [\"up\", \"left\"] 代表该点不能往上和左走" - } + }, } } } + }, + + "floors_template": { + "floorId": "to be covered", + "title": "new floor", + "name": "new floor", + "width": 13, + "height": 13, + "canFlyTo": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "cannotMoveDirectly": false, + "images": [], + "item_ratio": 1, + "defaultGround": "ground", + "bgm": null, + "upFloor": null, + "downFloor": null, + "color": null, + "weather": null, + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {} } } } \ No newline at end of file diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 6b98a633..74237a8f 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -32,7 +32,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkUnique(thiseval)", - "_data": "在此存放所有可能使用的动画,必须是animate格式,在这里不写后缀名 \n动画必须放在animates目录下;文件名不能使用中文,不能带空格或特殊字符 \n \"jianji\", \"thunder\" \n 根据需求自行添加" + "_data": "在此存放所有可能使用的动画,必须是animate格式,在这里不写后缀名 \n动画必须放在animates目录下;文件名不能使用中文,不能带空格或特殊字符 \n \"jianji\", \"thunder\" 根据需求自行添加" }, "bgms": { "_leaf": true, @@ -46,6 +46,11 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_range": "editor.mode.checkUnique(thiseval)", "_data": "在此存放所有的SE,和文件名一致 \n音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好" }, + "nameMap": { + "_leaf": true, + "_type": "textarea", + "_data": "文件名映射,目前仅对images, animates, bgms, sounds有效。\n例如定义 {\"精灵石.mp3\":\"jinglingshi.mp3\"} 就可以使用\ncore.playBgm(\"精灵石.mp3\") 或对应的事件来播放该bgm。" + }, "startBackground": { "_leaf": true, "_type": "textarea", @@ -58,6 +63,12 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_string": true, "_data": "标题样式:可以改变颜色,也可以写\"display: none\"来隐藏标题" }, + "startButtonsStyle": { + "_leaf": true, + "_type": "textarea", + "_string": true, + "_data": "标题界面按钮的样式;caret-color指的是当前选中项的边框颜色" + }, "levelChoose": { "_leaf": true, "_type": "textarea", @@ -510,7 +521,13 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "checkbox", "_bool": "bool", - "_data": "是否需要在楼梯边使用传送器" + "_data": "传送器是否需要在楼梯边使用;如果flyRecordPosition开启,则此项对箭头也有效。" + }, + "flyRecordPosition": { + "_leaf": true, + "_type": "checkbox", + "_bool": "bool", + "_data": "传送器平面塔模式;此模式下楼层传送器将飞到上次离开该楼层的位置。" }, "pickaxeFourDirections": { "_leaf": true, @@ -537,11 +554,17 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_data": "如果此项为true,则视为钥匙盒,红黄蓝钥匙+1;若为false,则视为大黄门钥匙" }, "steelDoorWithoutKey": { - "_left": true, + "_leaf": true, "_type": "checkbox", "_bool": "bool", "_data": "铁门是否不需要钥匙开启。如果此项为true,则无需钥匙也可以开铁门。" }, + "itemFirstText": { + "_leaf": true, + "_type": "checkbox", + "_bool": "bool", + "_data": "首次获得道具是否提示" + }, "equipment": { "_leaf": true, "_type": "checkbox", @@ -680,6 +703,12 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_bool": "bool", "_data": "是否在经过领域/夹击/路障等伤害后禁用快捷商店。" }, + "blurFg": { + "_leaf": true, + "_type": "checkbox", + "_bool": "bool", + "_data": "是否虚化前景层;如果此项开启,则在游戏中事件层有东西(如宝石等)时虚化前景层。" + }, "checkConsole": { "_leaf": true, "_type": "checkbox", diff --git a/_server/table/functions.comment.js b/_server/table/functions.comment.js index 44396901..81e18e7c 100644 --- a/_server/table/functions.comment.js +++ b/_server/table/functions.comment.js @@ -94,6 +94,12 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_lint": true, "_data": "炸弹事件" }, + "afterPassNet": { + "_leaf": true, + "_type": "textarea", + "_lint": true, + "_data": "经过特殊地形后的事件" + }, "canUseQuickShop": { "_leaf": true, "_type": "textarea", @@ -122,12 +128,6 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_lint": true, "_data": "获得战斗伤害信息" - }, - "updateEnemys": { - "_leaf": true, - "_type": "textarea", - "_lint": true, - "_data": "更新怪物数据" } } }, @@ -139,6 +139,12 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_lint": true, "_data": "按键处理" + }, + "onStatusBarClick": { + "_leaf": true, + "_type": "textarea", + "_lint": true, + "_data": "状态栏点击事件,仅在开启自绘状态栏时生效" } } }, diff --git a/_server/table/plugins.comment.js b/_server/table/plugins.comment.js index fc4f5144..3d436a06 100644 --- a/_server/table/plugins.comment.js +++ b/_server/table/plugins.comment.js @@ -20,6 +20,18 @@ var plugins_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_range": "typeof(thiseval)=='string' || thiseval==null", "_data": "绘制灯光效果" }, + "drawItemShop": { + "_leaf": true, + "_type": "textarea", + "_range": "typeof(thiseval)=='string' || thiseval==null", + "_data": "道具商店插件" + }, + "smoothCamera": { + "_leaf": true, + "_type": "textarea", + "_range": "typeof(thiseval)=='string' || thiseval==null", + "_data": "平滑移动镜头效果" + }, } if (obj[key]) return obj[key]; return { diff --git a/_server/thirdparty/LICENSE.md b/_server/thirdparty/LICENSE.md new file mode 100644 index 00000000..8867f3df --- /dev/null +++ b/_server/thirdparty/LICENSE.md @@ -0,0 +1,60 @@ +/* jsColor */ + +The MIT License (MIT) + +Copyright (c) 2014 Peter Dematté + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +/* awesomplete */ + +The MIT License (MIT) + +Copyright (c) 2015 Lea Verou + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +/* caret-position */ + +The MIT License (MIT) + +Copyright (c) 2015 Jonathan Ong me@jongleberry.com + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/_server/thirdparty/awesomplete.css b/_server/thirdparty/awesomplete.css new file mode 100644 index 00000000..b36a7035 --- /dev/null +++ b/_server/thirdparty/awesomplete.css @@ -0,0 +1,104 @@ +.awesomplete [hidden] { + display: none; +} + +.awesomplete .visually-hidden { + position: absolute; + clip: rect(0, 0, 0, 0); +} + +.awesomplete { + display: inline-block; + position: relative; +} + +.awesomplete > input { + display: block; +} + +.awesomplete > ul { + position: absolute; + left: 0; + z-index: 1; + box-sizing: border-box; + list-style: none; + padding: 0; + margin: 0; + background: #fff; +} + +.awesomplete > ul:empty { + display: none; +} + +.awesomplete > ul { + border-radius: .3em; + margin: .8em 0 0; + background: hsla(0,0%,100%,.9); + background: linear-gradient(to bottom right, white, hsla(0,0%,100%,.8)); + border: 1px solid rgba(0,0,0,.3); + box-shadow: .05em .2em .6em rgba(0,0,0,.2); + text-shadow: none; +} + +@supports (transform: scale(0)) { + .awesomplete > ul { + transition: .3s cubic-bezier(.4,.2,.5,1.4); + transform-origin: 1.43em -.43em; + } + + .awesomplete > ul[hidden], + .awesomplete > ul:empty { + opacity: 0; + transform: scale(0); + display: block; + transition-timing-function: ease; + } +} + +/* Pointer */ +.awesomplete > ul:before { + content: ""; + position: absolute; + top: -.43em; + left: 1em; + width: 0; height: 0; + padding: .4em; + background: white; + border: inherit; + border-right: 0; + border-bottom: 0; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); +} + +.awesomplete > ul > li { + position: relative; + padding: .2em .5em; + cursor: pointer; + word-break: keep-all; +} + +.awesomplete > ul > li:hover { + background: hsl(200, 40%, 80%); + color: black; +} + +.awesomplete > ul > li[aria-selected="true"] { + background: hsl(205, 40%, 40%); + color: white; +} + +.awesomplete mark { + background: hsl(65, 100%, 50%); +} + +.awesomplete li:hover mark { + background: hsl(68, 100%, 41%); +} + +.awesomplete li[aria-selected="true"] mark { + background: hsl(86, 100%, 21%); + color: inherit; +} +/*# sourceMappingURL=awesomplete.css.map */ \ No newline at end of file diff --git a/_server/thirdparty/awesomplete.min.js b/_server/thirdparty/awesomplete.min.js new file mode 100644 index 00000000..5328bd9b --- /dev/null +++ b/_server/thirdparty/awesomplete.min.js @@ -0,0 +1,3 @@ +// Awesomplete - Lea Verou - MIT license +!function(){function t(t){var e=Array.isArray(t)?{label:t[0],value:t[1]}:"object"==typeof t&&"label"in t&&"value"in t?t:{label:t,value:t};this.label=e.label||e.value,this.value=e.value}function e(t,e,i){for(var n in e){var s=e[n],r=t.input.getAttribute("data-"+n.toLowerCase());"number"==typeof s?t[n]=parseInt(r):!1===s?t[n]=null!==r:s instanceof Function?t[n]=null:t[n]=r,t[n]||0===t[n]||(t[n]=n in i?i[n]:s)}}function i(t,e){return"string"==typeof t?(e||document).querySelector(t):t||null}function n(t,e){return o.call((e||document).querySelectorAll(t))}function s(){n("input.awesomplete").forEach(function(t){new r(t)})}var r=function(t,n){var s=this;r.count=(r.count||0)+1,this.count=r.count,this.isOpened=!1,this.input=i(t),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("aria-expanded","false"),this.input.setAttribute("aria-owns","awesomplete_list_"+this.count),this.input.setAttribute("role","combobox"),this.options=n=n||{},e(this,{minChars:2,maxItems:10,autoFirst:!1,data:r.DATA,filter:r.FILTER_CONTAINS,sort:!1!==n.sort&&r.SORT_BYLENGTH,container:r.CONTAINER,item:r.ITEM,replace:r.REPLACE,tabSelect:!1},n),this.index=-1,this.container=this.container(t),this.ul=i.create("ul",{hidden:"hidden",role:"listbox",id:"awesomplete_list_"+this.count,inside:this.container}),this.status=i.create("span",{className:"visually-hidden",role:"status","aria-live":"assertive","aria-atomic":!0,inside:this.container,textContent:0!=this.minChars?"Type "+this.minChars+" or more characters for results.":"Begin typing for results."}),this._events={input:{input:this.evaluate.bind(this),blur:this.close.bind(this,{reason:"blur"}),keydown:function(t){var e=t.keyCode;s.opened&&(13===e&&s.selected?(t.preventDefault(),s.select()):9===e&&s.selected&&s.tabSelect?s.select():27===e?s.close({reason:"esc"}):38!==e&&40!==e||(t.preventDefault(),s[38===e?"previous":"next"]()))}},form:{submit:this.close.bind(this,{reason:"submit"})},ul:{mousedown:function(t){t.preventDefault()},click:function(t){var e=t.target;if(e!==this){for(;e&&!/li/i.test(e.nodeName);)e=e.parentNode;e&&0===t.button&&(t.preventDefault(),s.select(e,t.target))}}}},i.bind(this.input,this._events.input),i.bind(this.input.form,this._events.form),i.bind(this.ul,this._events.ul),this.input.hasAttribute("list")?(this.list="#"+this.input.getAttribute("list"),this.input.removeAttribute("list")):this.list=this.input.getAttribute("data-list")||n.list||[],r.all.push(this)};r.prototype={set list(t){if(Array.isArray(t))this._list=t;else if("string"==typeof t&&t.indexOf(",")>-1)this._list=t.split(/\s*,\s*/);else if((t=i(t))&&t.children){var e=[];o.apply(t.children).forEach(function(t){if(!t.disabled){var i=t.textContent.trim(),n=t.value||i,s=t.label||i;""!==n&&e.push({label:s,value:n})}}),this._list=e}document.activeElement===this.input&&this.evaluate()},get selected(){return this.index>-1},get opened(){return this.isOpened},close:function(t){this.opened&&(this.input.setAttribute("aria-expanded","false"),this.ul.setAttribute("hidden",""),this.isOpened=!1,this.index=-1,this.status.setAttribute("hidden",""),i.fire(this.input,"awesomplete-close",t||{}))},open:function(){this.input.setAttribute("aria-expanded","true"),this.ul.removeAttribute("hidden"),this.isOpened=!0,this.status.removeAttribute("hidden"),this.autoFirst&&-1===this.index&&this.goto(0),i.fire(this.input,"awesomplete-open")},destroy:function(){if(i.unbind(this.input,this._events.input),i.unbind(this.input.form,this._events.form),!this.options.container){var t=this.container.parentNode;t.insertBefore(this.input,this.container),t.removeChild(this.container)}this.input.removeAttribute("autocomplete"),this.input.removeAttribute("aria-autocomplete");var e=r.all.indexOf(this);-1!==e&&r.all.splice(e,1)},next:function(){var t=this.ul.children.length;this.goto(this.index-1&&e.length>0&&(e[t].setAttribute("aria-selected","true"),this.status.textContent=e[t].textContent+", list item "+(t+1)+" of "+e.length,this.input.setAttribute("aria-activedescendant",this.ul.id+"_item_"+this.index),this.ul.scrollTop=e[t].offsetTop-this.ul.clientHeight+e[t].clientHeight,i.fire(this.input,"awesomplete-highlight",{text:this.suggestions[this.index]}))},select:function(t,e){if(t?this.index=i.siblingIndex(t):t=this.ul.children[this.index],t){var n=this.suggestions[this.index];i.fire(this.input,"awesomplete-select",{text:n,origin:e||t})&&(this.replace(n),this.close({reason:"select"}),i.fire(this.input,"awesomplete-selectcomplete",{text:n}))}},evaluate:function(){var e=this,i=this.input.value;i.length>=this.minChars&&this._list&&this._list.length>0?(this.index=-1,this.ul.innerHTML="",this.suggestions=this._list.map(function(n){return new t(e.data(n,i))}).filter(function(t){return e.filter(t,i)}),!1!==this.sort&&(this.suggestions=this.suggestions.sort(this.sort)),this.suggestions=this.suggestions.slice(0,this.maxItems),this.suggestions.forEach(function(t,n){e.ul.appendChild(e.item(t,i,n))}),0===this.ul.children.length?(this.status.textContent="No results found",this.close({reason:"nomatches"})):(this.open(),this.status.textContent=this.ul.children.length+" results found")):(this.close({reason:"nomatches"}),this.status.textContent="No results found")}},r.all=[],r.FILTER_CONTAINS=function(t,e){return RegExp(i.regExpEscape(e.trim()),"i").test(t)},r.FILTER_STARTSWITH=function(t,e){return RegExp("^"+i.regExpEscape(e.trim()),"i").test(t)},r.SORT_BYLENGTH=function(t,e){return t.length!==e.length?t.length-e.length:t$&"),role:"option","aria-selected":"false",id:"awesomplete_list_"+this.count+"_item_"+n})},r.REPLACE=function(t){this.input.value=t.value},r.DATA=function(t){return t},Object.defineProperty(t.prototype=Object.create(String.prototype),"length",{get:function(){return this.label.length}}),t.prototype.toString=t.prototype.valueOf=function(){return""+this.label};var o=Array.prototype.slice;i.create=function(t,e){var n=document.createElement(t);for(var s in e){var r=e[s];if("inside"===s)i(r).appendChild(n);else if("around"===s){var o=i(r);o.parentNode.insertBefore(n,o),n.appendChild(o),null!=o.getAttribute("autofocus")&&o.focus()}else s in n?n[s]=r:n.setAttribute(s,r)}return n},i.bind=function(t,e){if(t)for(var i in e){var n=e[i];i.split(/\s+/).forEach(function(e){t.addEventListener(e,n)})}},i.unbind=function(t,e){if(t)for(var i in e){var n=e[i];i.split(/\s+/).forEach(function(e){t.removeEventListener(e,n)})}},i.fire=function(t,e,i){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0);for(var s in i)n[s]=i[s];return t.dispatchEvent(n)},i.regExpEscape=function(t){return t.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")},i.siblingIndex=function(t){for(var e=0;t=t.previousElementSibling;e++);return e},"undefined"!=typeof self&&(self.Awesomplete=r),"undefined"!=typeof Document&&("loading"!==document.readyState?s():document.addEventListener("DOMContentLoaded",s)),r.$=i,r.$$=n,"object"==typeof module&&module.exports&&(module.exports=r)}(); +//# sourceMappingURL=awesomplete.min.js.map \ No newline at end of file diff --git a/_server/thirdparty/caret-position.js b/_server/thirdparty/caret-position.js new file mode 100644 index 00000000..a46ddb78 --- /dev/null +++ b/_server/thirdparty/caret-position.js @@ -0,0 +1,155 @@ +/* jshint browser: true */ + +(function () { + +// We'll copy the properties below into the mirror div. +// Note that some browsers, such as Firefox, do not concatenate properties +// into their shorthand (e.g. padding-top, padding-bottom etc. -> padding), +// so we have to list every single property explicitly. + var properties = [ + 'direction', // RTL support + 'boxSizing', + 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does + 'height', + 'overflowX', + 'overflowY', // copy the scrollbar for IE + + 'borderTopWidth', + 'borderRightWidth', + 'borderBottomWidth', + 'borderLeftWidth', + 'borderStyle', + + 'paddingTop', + 'paddingRight', + 'paddingBottom', + 'paddingLeft', + + // https://developer.mozilla.org/en-US/docs/Web/CSS/font + 'fontStyle', + 'fontVariant', + 'fontWeight', + 'fontStretch', + 'fontSize', + 'fontSizeAdjust', + 'lineHeight', + 'fontFamily', + + 'textAlign', + 'textTransform', + 'textIndent', + 'textDecoration', // might not make a difference, but better be safe + + 'letterSpacing', + 'wordSpacing', + + 'tabSize', + 'MozTabSize' + + ]; + + var isBrowser = (typeof window !== 'undefined'); + var isFirefox = (isBrowser && window.mozInnerScreenX != null); + + function getCaretCoordinates(element, position, options) { + if (!isBrowser) { + throw new Error('textarea-caret-position#getCaretCoordinates should only be called in a browser'); + } + + var debug = options && options.debug || false; + if (debug) { + var el = document.querySelector('#input-textarea-caret-position-mirror-div'); + if (el) el.parentNode.removeChild(el); + } + + // The mirror div will replicate the textarea's style + var div = document.createElement('div'); + div.id = 'input-textarea-caret-position-mirror-div'; + document.body.appendChild(div); + + var style = div.style; + var computed = window.getComputedStyle ? window.getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9 + var isInput = element.nodeName === 'INPUT'; + + // Default textarea styles + style.whiteSpace = 'nowrap'; + if (!isInput) + style.wordWrap = 'break-word'; // only for textarea-s + + // Position off-screen + style.position = 'absolute'; // required to return coordinates properly + if (!debug) + style.visibility = 'hidden'; // not 'display: none' because we want rendering + + // Transfer the element's properties to the div + properties.forEach(function (prop) { + if (isInput && prop === 'lineHeight') { + // Special case for s because text is rendered centered and line height may be != height + if (computed.boxSizing === "border-box") { + var height = parseInt(computed.height); + var outerHeight = + parseInt(computed.paddingTop) + + parseInt(computed.paddingBottom) + + parseInt(computed.borderTopWidth) + + parseInt(computed.borderBottomWidth); + var targetHeight = outerHeight + parseInt(computed.lineHeight); + if (height > targetHeight) { + style.lineHeight = height - outerHeight + "px"; + } else if (height === targetHeight) { + style.lineHeight = computed.lineHeight; + } else { + style.lineHeight = 0; + } + } else { + style.lineHeight = computed.height; + } + } else { + style[prop] = computed[prop]; + } + }); + + if (isFirefox) { + // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275 + if (element.scrollHeight > parseInt(computed.height)) + style.overflowY = 'scroll'; + } else { + style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll' + } + + div.textContent = element.value.substring(0, position); + // The second special handling for input type="text" vs textarea: + // spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037 + if (isInput) + div.textContent = div.textContent.replace(/\s/g, '\u00a0'); + + var span = document.createElement('span'); + // Wrapping must be replicated *exactly*, including when a long word gets + // onto the next line, with whitespace at the end of the line before (#7). + // The *only* reliable way to do that is to copy the *entire* rest of the + // textarea's content into the created at the caret position. + // For inputs, just '.' would be enough, but no need to bother. + span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all + div.appendChild(span); + + var coordinates = { + top: span.offsetTop + parseInt(computed['borderTopWidth']), + left: span.offsetLeft + parseInt(computed['borderLeftWidth']), + height: parseInt(computed['lineHeight']) + }; + + if (debug) { + span.style.backgroundColor = '#aaa'; + } else { + document.body.removeChild(div); + } + + return coordinates; + } + + if (typeof module != 'undefined' && typeof module.exports != 'undefined') { + module.exports = getCaretCoordinates; + } else if(isBrowser) { + window.getCaretCoordinates = getCaretCoordinates; + } + +}()); \ No newline at end of file diff --git a/_server/colorPicker/color.all.min.js b/_server/thirdparty/color.all.min.js similarity index 100% rename from _server/colorPicker/color.all.min.js rename to _server/thirdparty/color.all.min.js diff --git a/_server/colorPicker/jsColor.js b/_server/thirdparty/jsColor.js similarity index 84% rename from _server/colorPicker/jsColor.js rename to _server/thirdparty/jsColor.js index b3ca28ea..cbd9dee6 100644 --- a/_server/colorPicker/jsColor.js +++ b/_server/thirdparty/jsColor.js @@ -1,3 +1,5 @@ +// ------ ColorPicker ------ // + (function (window) { window.jsColorPicker = function(selectors, config) { var renderCallback = function(colors, mode) { @@ -254,7 +256,7 @@ })(this); // Added -var colors = jsColorPicker('input.color', { +jsColorPicker('input.color', { customBG: '#222', readOnly: false, // patch: false, @@ -303,85 +305,5 @@ function triggerColorPicker(left, top) { } } -Blockly.FieldColour.prototype.createWidget_ = function() { - Blockly.WidgetDiv.hide(); +// ------ AutoCompletion ------ - // console.log('here') - var self=this; - var pb=self.sourceBlock_ - var args = MotaActionBlocks[pb.type].args - var targetf=args[args.indexOf(self.name)-1] - - var getValue=function(){ - // return self.getValue() // css颜色 - return pb.getFieldValue(targetf); - // 也可以用 pb.getFieldValue(targetf) 获得颜色块左边的域的内容 - } - - var setValue=function(newValue){ // css颜色 - self.setValue(newValue) - var c=new Colors(); - c.setColor(newValue) - var rgbatext = [c.colors.webSmart.r,c.colors.webSmart.g,c.colors.webSmart.b,c.colors.alpha].join(","); - pb.setFieldValue(rgbatext, targetf) // 放在颜色块左边的域中 - } - - setTimeout(function () { - document.getElementById("colorPicker").value = getValue(); - window.jsColorPicker.confirm = setValue; - // 设置位置 - triggerColorPicker(Blockly.WidgetDiv.DIV.style.left, Blockly.WidgetDiv.DIV.style.top); - }); - - return document.createElement('table'); -}; - -Blockly.FieldTextInput.prototype.showInlineEditor_ = function(quietInput) { - Blockly.WidgetDiv.show(this, this.sourceBlock_.RTL, this.widgetDispose_()); - var div = Blockly.WidgetDiv.DIV; - // Create the input. - var htmlInput = - goog.dom.createDom(goog.dom.TagName.INPUT, 'blocklyHtmlInput'); - htmlInput.setAttribute('spellcheck', this.spellcheck_); - var fontSize = - (Blockly.FieldTextInput.FONTSIZE * this.workspace_.scale) + 'pt'; - div.style.fontSize = fontSize; - htmlInput.style.fontSize = fontSize; - - Blockly.FieldTextInput.htmlInput_ = htmlInput; - div.appendChild(htmlInput); - - htmlInput.value = htmlInput.defaultValue = this.text_; - htmlInput.oldValue_ = null; - this.validate_(); - this.resizeEditor_(); - if (!quietInput) { - htmlInput.focus(); - htmlInput.select(); - } - - // console.log('here') - var self=this; - var pb=self.sourceBlock_ - var args = MotaActionBlocks[pb.type].args - var targetf=args[args.indexOf(self.name)+1] - - if(targetf && targetf.slice(0,7)==='Colour_'){ - var inputDom = htmlInput; - // var getValue=function(){ // 获得自己的字符串 - // return pb.getFieldValue(self.name); - // } - var setValue = function(newValue){ // 设置右边颜色块的css颜色 - pb.setFieldValue(newValue, targetf) - } - // 给inputDom绑事件 - inputDom.oninput=function(){ - var value=inputDom.value - if(/[0-9 ]+,[0-9 ]+,[0-9 ]+(,[0-9. ]+)?/.test(value)){ - setValue('rgba('+value+')') - } - } - } - - this.bindEvents_(htmlInput); -}; \ No newline at end of file diff --git a/_server/vendor/polyfill.min.js b/_server/vendor/polyfill.min.js deleted file mode 100644 index 80fe8dc8..00000000 --- a/_server/vendor/polyfill.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n()}(0,function(){"use strict";function e(){}function n(e,n){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,f._immediateFn(function(){var i=1===e._state?n.onFulfilled:n.onRejected;if(null!==i){var r;try{r=i(e._value)}catch(e){return void o(n.promise,e)}t(n.promise,r)}else(1===e._state?t:o)(n.promise,e._value)})):e._deferreds.push(n)}function t(e,n){try{if(n===e)throw new TypeError("A promise cannot be resolved with itself.");if(n&&("object"==typeof n||"function"==typeof n)){var t=n.then;if(n instanceof f)return e._state=3,e._value=n,void i(e);if("function"==typeof t)return void r(function(e,n){return function(){e.apply(n,arguments)}}(t,n),e)}e._state=1,e._value=n,i(e)}catch(n){o(e,n)}}function o(e,n){e._state=2,e._value=n,i(e)}function i(e){2===e._state&&0===e._deferreds.length&&f._immediateFn(function(){e._handled||f._unhandledRejectionFn(e._value)});for(var t=0,o=e._deferreds.length;o>t;t++)n(e,e._deferreds[t]);e._deferreds=null}function r(e,n){var i=!1;try{e(function(e){i||(i=!0,t(n,e))},function(e){i||(i=!0,o(n,e))})}catch(e){if(i)return;i=!0,o(n,e)}}function f(e){if(!(this instanceof f))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],r(e,this)}var u=setTimeout,c=f.prototype;c.catch=function(e){return this.then(null,e)},c.then=function(t,o){var i=new this.constructor(e);return n(this,new function(e,n,t){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof n?n:null,this.promise=t}(t,o,i)),i},f.all=function(e){return new f(function(n,t){function o(e,f){try{if(f&&("object"==typeof f||"function"==typeof f)){var u=f.then;if("function"==typeof u)return void u.call(f,function(n){o(e,n)},t)}i[e]=f,0==--r&&n(i)}catch(e){t(e)}}if(!e||void 0===e.length)throw new TypeError("Promise.all accepts an array");var i=Array.prototype.slice.call(e);if(0===i.length)return n([]);for(var r=i.length,f=0;i.length>f;f++)o(f,i[f])})},f.resolve=function(e){return e&&"object"==typeof e&&e.constructor===f?e:new f(function(n){n(e)})},f.reject=function(e){return new f(function(n,t){t(e)})},f.race=function(e){return new f(function(n,t){for(var o=0,i=e.length;i>o;o++)e[o].then(n,t)})},f._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){u(e,0)},f._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var a=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==a)return a;throw Error("unable to locate global object")}();a.Promise||(a.Promise=f)}); diff --git a/_server/vendor/vue.min.js b/_server/vendor/vue.min.js deleted file mode 100644 index 4eb55b79..00000000 --- a/_server/vendor/vue.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Vue.js v2.5.11 - * (c) 2014-2017 Evan You - * Released under the MIT License. - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Vue=e()}(this,function(){"use strict";function t(t){return void 0===t||null===t}function e(t){return void 0!==t&&null!==t}function n(t){return!0===t}function r(t){return"string"==typeof t||"number"==typeof t||"boolean"==typeof t}function i(t){return null!==t&&"object"==typeof t}function o(t){return"[object Object]"===Nn.call(t)}function a(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function s(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function c(t){var e=parseFloat(t);return isNaN(e)?t:e}function u(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}function f(t,e){return Mn.call(t,e)}function d(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function p(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function v(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function h(t,e){for(var n in e)t[n]=e[n];return t}function m(t){for(var e={},n=0;n0&&(tt((s=et(s,(o||"")+"_"+a))[0])&&tt(u)&&(l[c]=x(u.text+s[0].text),s.shift()),l.push.apply(l,s)):r(s)?tt(u)?l[c]=x(u.text+s):""!==s&&l.push(x(s)):tt(s)&&tt(u)?l[c]=x(u.text+s.text):(n(i._isVList)&&e(s.tag)&&t(s.key)&&e(o)&&(s.key="__vlist"+o+"_"+a+"__"),l.push(s)));return l}function nt(t,e){return(t.__esModule||fr&&"Module"===t[Symbol.toStringTag])&&(t=t.default),i(t)?e.extend(t):t}function rt(t){return t.isComment&&t.asyncFactory}function it(t){if(Array.isArray(t))for(var n=0;n=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}}(n[o],r[o],i[o]));return e}(t);r&&h(t.extendOptions,r),(e=t.options=F(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Rt(t){this._init(t)}function Ht(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=F(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)mt(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)gt(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,zn.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=h({},a.options),i[r]=a,a}}function Bt(t){return t&&(t.Ctor.options.name||t.tag)}function Ut(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!function(t){return"[object RegExp]"===Nn.call(t)}(t)&&t.test(e)}function Vt(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=Bt(a.componentOptions);s&&!e(s)&&zt(n,o,r,i)}}}function zt(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,l(n,e)}function Kt(t){for(var n=t.data,r=t,i=t;e(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(n=Jt(i.data,n));for(;e(r=r.parent);)r&&r.data&&(n=Jt(n,r.data));return function(t,n){if(e(t)||e(n))return qt(t,Wt(n));return""}(n.staticClass,n.class)}function Jt(t,n){return{staticClass:qt(t.staticClass,n.staticClass),class:e(t.class)?[t.class,n.class]:n.class}}function qt(t,e){return t?e?t+" "+e:t:e||""}function Wt(t){return Array.isArray(t)?function(t){for(var n,r="",i=0,o=t.length;i=0&&" "===(m=t.charAt(h));h--);m&&Ii.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==v&&e(),a)for(i=0;i-1?{exp:t.slice(0,ii),key:'"'+t.slice(ii+1)+'"'}:{exp:t,key:null};ni=t,ii=oi=ai=0;for(;!ge();)_e(ri=ye())?be(ri):91===ri&&function(t){var e=1;oi=ii;for(;!ge();)if(t=ye(),_e(t))be(t);else if(91===t&&e++,93===t&&e--,0===e){ai=ii;break}}(ri);return{exp:t.slice(0,oi),key:t.slice(oi+1,ai)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function ye(){return ni.charCodeAt(++ii)}function ge(){return ii>=ei}function _e(t){return 34===t||39===t}function be(t){for(var e=t;!ge()&&(t=ye())!==e;);}function $e(t,e,n,r,i){e=function(t){return t._withTask||(t._withTask=function(){Er=!0;var e=t.apply(null,arguments);return Er=!1,e})}(e),n&&(e=function(t,e,n){var r=si;return function i(){null!==t.apply(null,arguments)&&Ce(e,i,n,r)}}(e,t,r)),si.addEventListener(t,e,or?{capture:r,passive:i}:r)}function Ce(t,e,n,r){(r||si).removeEventListener(t,e._withTask||e,n)}function we(n,r){if(!t(n.data.on)||!t(r.data.on)){var i=r.data.on||{},o=n.data.on||{};si=r.elm,function(t){if(e(t[Li])){var n=Qn?"change":"input";t[n]=[].concat(t[Li],t[n]||[]),delete t[Li]}e(t[Mi])&&(t.change=[].concat(t[Mi],t.change||[]),delete t[Mi])}(i),X(i,o,$e,Ce,r.context),si=void 0}}function xe(n,r){if(!t(n.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=n.data.domProps||{},u=r.data.domProps||{};e(u.__ob__)&&(u=r.data.domProps=h({},u));for(i in s)t(u[i])&&(a[i]="");for(i in u){if(o=u[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i){a._value=o;var l=t(o)?"":String(o);(function(t,n){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,n)||function(t,n){var r=t.value,i=t._vModifiers;if(e(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(t,n))})(a,l)&&(a.value=l)}else a[i]=o}}}function ke(t){var e=Ae(t.style);return t.staticStyle?h(t.staticStyle,e):e}function Ae(t){return Array.isArray(t)?m(t):"string"==typeof t?Fi(t):t}function Oe(n,r){var i=r.data,o=n.data;if(!(t(i.staticStyle)&&t(i.style)&&t(o.staticStyle)&&t(o.style))){var a,s,c=r.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,d=Ae(r.data.style)||{};r.data.normalizedStyle=e(d.__ob__)?h({},d):d;var p=function(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=ke(i.data))&&h(r,n);(n=ke(t.data))&&h(r,n);for(var o=t;o=o.parent;)o.data&&(n=ke(o.data))&&h(r,n);return r}(r,!0);for(s in f)t(p[s])&&Bi(c,s,"");for(s in p)(a=p[s])!==f[s]&&Bi(c,s,null==a?"":a)}}function Se(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Te(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Ee(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&h(e,Ki(t.name||"v")),h(e,t),e}return"string"==typeof t?Ki(t):void 0}}function je(t){Qi(function(){Qi(t)})}function Ne(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Se(t,e))}function Ie(t,e){t._transitionClasses&&l(t._transitionClasses,e),Te(t,e)}function Le(t,e,n){var r=Me(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===qi?Zi:Yi,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=qi,l=a,f=o.length):e===Wi?u>0&&(n=Wi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?qi:Wi:null)?n===qi?o.length:c.length:0;return{type:n,timeout:l,propCount:f,hasTransform:n===qi&&to.test(r[Gi+"Property"])}}function De(t,e){for(;t.length1}function Ue(t,e){!0!==e.data.show&&Fe(e)}function Ve(t,e,n){ze(t,e,n),(Qn||er)&&setTimeout(function(){ze(t,e,n)},0)}function ze(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s-1,a.selected!==o&&(a.selected=o);else if(g(Je(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Ke(t,e){return e.every(function(e){return!g(e,t)})}function Je(t){return"_value"in t?t._value:t.value}function qe(t){t.target.composing=!0}function We(t){t.target.composing&&(t.target.composing=!1,Ge(t.target,"input"))}function Ge(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Ze(t){return!t.componentInstance||t.data&&t.data.transition?t:Ze(t.componentInstance._vnode)}function Xe(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Xe(it(e.children)):t}function Ye(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Pn(o)]=i[o];return e}function Qe(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function tn(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function en(t){t.data.newPos=t.elm.getBoundingClientRect()}function nn(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function rn(t,e){var n=e?zo:Vo;return t.replace(n,function(t){return Uo[t]})}function on(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var c=a.length-1;c>=i;c--)e.end&&e.end(a[c].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,r):"p"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,c=e.isUnaryTag||Bn,u=e.canBeLeftOpenTag||Bn,l=0;t;){if(i=t,o&&Ho(o)){var f=0,d=o.toLowerCase(),p=Bo[d]||(Bo[d]=new RegExp("([\\s\\S]*?)(]*>)","i")),v=t.replace(p,function(t,n,r){return f=r.length,Ho(d)||"noscript"===d||(n=n.replace(//g,"$1").replace(//g,"$1")),Jo(d,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});l+=t.length-v.length,t=v,r(d,l-f,l)}else{var h=t.indexOf("<");if(0===h){if(Ao.test(t)){var m=t.indexOf("--\x3e");if(m>=0){e.shouldKeepComment&&e.comment(t.substring(4,m)),n(m+3);continue}}if(Oo.test(t)){var y=t.indexOf("]>");if(y>=0){n(y+2);continue}}var g=t.match(ko);if(g){n(g[0].length);continue}var _=t.match(xo);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var $=function(){var e=t.match(Co);if(e){var r={tagName:e[1],attrs:[],start:l};n(e[0].length);for(var i,o;!(i=t.match(wo))&&(o=t.match(_o));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if($){!function(t){var n=t.tagName,i=t.unarySlash;s&&("p"===o&&go(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=t.attrs.length,d=new Array(f),p=0;p=0){for(w=t.slice(h);!(xo.test(w)||Co.test(w)||Ao.test(w)||Oo.test(w)||(x=w.indexOf("<",1))<0);)h+=x,w=t.slice(h);C=t.substring(0,h),n(h)}h<0&&(C=t,t=""),e.chars&&C&&e.chars(C)}if(t===i){e.chars&&e.chars(t);break}}r()}(t,{warn:To,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,a,u){var l=i&&i.ns||Do(t);Qn&&"svg"===l&&(a=function(t){for(var e=[],n=0;na&&o.push(JSON.stringify(t.slice(a,i)));var s=ae(r[1].trim());o.push("_s("+s+")"),a=i+r[0].length}return a':'

',Ro.innerHTML.indexOf(" ")>0}var jn=Object.freeze({}),Nn=Object.prototype.toString,In=u("slot,component",!0),Ln=u("key,ref,slot,slot-scope,is"),Mn=Object.prototype.hasOwnProperty,Dn=/-(\w)/g,Pn=d(function(t){return t.replace(Dn,function(t,e){return e?e.toUpperCase():""})}),Fn=d(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Rn=/\B([A-Z])/g,Hn=d(function(t){return t.replace(Rn,"-$1").toLowerCase()}),Bn=function(t,e,n){return!1},Un=function(t){return t},Vn="data-server-rendered",zn=["component","directive","filter"],Kn=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Jn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Bn,isReservedAttr:Bn,isUnknownElement:Bn,getTagNamespace:y,parsePlatformTagName:Un,mustUseProp:Bn,_lifecycleHooks:Kn},qn=/[^\w.$]/,Wn="__proto__"in{},Gn="undefined"!=typeof window,Zn="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Xn=Zn&&WXEnvironment.platform.toLowerCase(),Yn=Gn&&window.navigator.userAgent.toLowerCase(),Qn=Yn&&/msie|trident/.test(Yn),tr=Yn&&Yn.indexOf("msie 9.0")>0,er=Yn&&Yn.indexOf("edge/")>0,nr=Yn&&Yn.indexOf("android")>0||"android"===Xn,rr=Yn&&/iphone|ipad|ipod|ios/.test(Yn)||"ios"===Xn,ir=(Yn&&/chrome\/\d+/.test(Yn),{}.watch),or=!1;if(Gn)try{var ar={};Object.defineProperty(ar,"passive",{get:function(){or=!0}}),window.addEventListener("test-passive",null,ar)}catch(t){}var sr,cr,ur=function(){return void 0===sr&&(sr=!Gn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),sr},lr=Gn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,fr="undefined"!=typeof Symbol&&w(Symbol)&&"undefined"!=typeof Reflect&&w(Reflect.ownKeys);cr="undefined"!=typeof Set&&w(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var dr=y,pr=0,vr=function(){this.id=pr++,this.subs=[]};vr.prototype.addSub=function(t){this.subs.push(t)},vr.prototype.removeSub=function(t){l(this.subs,t)},vr.prototype.depend=function(){vr.target&&vr.target.addDep(this)},vr.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;eVr&&Fr[n].id>t.id;)n--;Fr.splice(n+1,0,t)}else Fr.push(t);Br||(Br=!0,q(ht))}}(this)},Kr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||i(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){V(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Kr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Kr.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Kr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Jr={enumerable:!0,configurable:!0,get:y,set:y},qr={lazy:!0};Nt(It.prototype);var Wr={init:function(t,n,r,i){if(!t.componentInstance||t.componentInstance._isDestroyed){(t.componentInstance=function(t,n,r,i){var o={_isComponent:!0,parent:n,_parentVnode:t,_parentElm:r||null,_refElm:i||null},a=t.data.inlineTemplate;return e(a)&&(o.render=a.render,o.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(o)}(t,Pr,r,i)).$mount(n?t.elm:void 0,n)}else if(t.data.keepAlive){var o=t;Wr.prepatch(o,o)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==jn);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,t.$attrs=r.data&&r.data.attrs||jn,t.$listeners=n||jn,e&&t.$options.props){Cr.shouldConvert=!1;for(var a=t._props,s=t.$options._propKeys||[],c=0;c1?v(n):n;for(var r=v(arguments,1),i=0,o=n.length;iparseInt(this.max)&&zt(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={};e.get=function(){return Jn},Object.defineProperty(t,"config",e),t.util={warn:dr,extend:h,mergeOptions:F,defineReactive:E},t.set=j,t.delete=N,t.nextTick=q,t.options=Object.create(null),zn.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,h(t.options.components,ti),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=v(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=F(this.options,t),this}}(t),Ht(t),function(t){zn.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&o(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(Rt),Object.defineProperty(Rt.prototype,"$isServer",{get:ur}),Object.defineProperty(Rt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Rt.version="2.5.11";var ei,ni,ri,ii,oi,ai,si,ci,ui=u("style,class"),li=u("input,textarea,option,select,progress"),fi=function(t,e,n){return"value"===n&&li(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},di=u("contenteditable,draggable,spellcheck"),pi=u("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),vi="http://www.w3.org/1999/xlink",hi=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},mi=function(t){return hi(t)?t.slice(6,t.length):""},yi=function(t){return null==t||!1===t},gi={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},_i=u("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),bi=u("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),$i=function(t){return _i(t)||bi(t)},Ci=Object.create(null),wi=u("text,number,password,search,email,tel,url"),xi=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(t,e){return document.createElementNS(gi[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setAttribute:function(t,e,n){t.setAttribute(e,n)}}),ki={create:function(t,e){Xt(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Xt(t,!0),Xt(e))},destroy:function(t){Xt(t,!0)}},Ai=new mr("",{},[]),Oi=["create","activate","update","remove","destroy"],Si={create:te,update:te,destroy:function(t){te(t,Ai)}},Ti=Object.create(null),Ei=[ki,Si],ji={create:re,update:re},Ni={create:oe,update:oe},Ii=/[\w).+\-_$\]]/,Li="__r",Mi="__c",Di={create:we,update:we},Pi={create:xe,update:xe},Fi=d(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}),Ri=/^--/,Hi=/\s*!important$/,Bi=function(t,e,n){if(Ri.test(e))t.style.setProperty(e,n);else if(Hi.test(n))t.style.setProperty(e,n.replace(Hi,""),"important");else{var r=Vi(e);if(Array.isArray(n))for(var i=0,o=n.length;ip?v(n,t(i[g+1])?null:i[g+1].elm,i,d,g,o):d>g&&m(0,r,f,p)}function _(r,i,o,a){if(r!==i){var s=i.elm=r.elm;if(n(r.isAsyncPlaceholder))e(i.asyncFactory.resolved)?$(r.elm,i,o):i.isAsyncPlaceholder=!0;else if(n(i.isStatic)&&n(r.isStatic)&&i.key===r.key&&(n(i.isCloned)||n(i.isOnce)))i.componentInstance=r.componentInstance;else{var c,u=i.data;e(u)&&e(c=u.hook)&&e(c=c.prepatch)&&c(r,i);var l=r.children,d=i.children;if(e(u)&&f(i)){for(c=0;c-1?Ci[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ci[t]=/HTMLUnknownElement/.test(e.toString())},h(Rt.options.directives,ro),h(Rt.options.components,so),Rt.prototype.__patch__=Gn?eo:y,Rt.prototype.$mount=function(t,e){return t=t&&Gn?Zt(t):void 0,function(t,e,n){t.$el=e,t.$options.render||(t.$options.render=gr),vt(t,"beforeMount");var r;return r=function(){t._update(t._render(),n)},new Kr(t,r,y,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,vt(t,"mounted")),t}(this,t,e)},Rt.nextTick(function(){Jn.devtools&&lr&&lr.emit("init",Rt)},0);var co,uo=/\{\{((?:.|\n)+?)\}\}/g,lo=/[-.*+?^${}()|[\]\/\\]/g,fo=d(function(t){var e=t[0].replace(lo,"\\$&"),n=t[1].replace(lo,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),po={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=ve(t,"class");n&&(t.staticClass=JSON.stringify(n));var r=pe(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}},vo={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=ve(t,"style");n&&(t.staticStyle=JSON.stringify(Fi(n)));var r=pe(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},ho=function(t){return co=co||document.createElement("div"),co.innerHTML=t,co.textContent},mo=u("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),yo=u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),go=u("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),_o=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,bo="[a-zA-Z_][\\w\\-\\.]*",$o="((?:"+bo+"\\:)?"+bo+")",Co=new RegExp("^<"+$o),wo=/^\s*(\/?)>/,xo=new RegExp("^<\\/"+$o+"[^>]*>"),ko=/^]+>/i,Ao=/^ + + 自动注册

色相: @@ -100,7 +103,7 @@

-

地图选点     +

地图选点      

0,0

@@ -121,13 +124,6 @@

图块属性        

-
- - - -
- -
@@ -140,6 +136,21 @@
+
+ + +
+
+
+ + + +
+ +
+
+ +
@@ -158,6 +169,10 @@
+
+ + +
@@ -186,6 +201,7 @@ --> @@ -208,6 +225,10 @@
+ + + + 开启中文名替换

TF(CNEuGyWX_~+4nl8 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

0Ow1$~gO|UC=dZ>gzjXTY)o@ZFdwYq@g0C^0oZh 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