From 841e56ee2104a41d01f44021f66281a92ae7282d Mon Sep 17 00:00:00 2001 From: oc Date: Sun, 27 May 2018 23:17:10 +0800 Subject: [PATCH] V2.3 --- README.md | 19 ++ docs/V2.0.md | 2 +- docs/api.md | 2 +- docs/element.md | 2 +- docs/event.md | 2 +- docs/index.md | 2 +- docs/personalization.md | 2 +- docs/start.md | 5 +- libs/actions.min.js | 1 + libs/control.min.js | 1 + libs/data.min.js | 1 + libs/enemys.min.js | 1 + libs/events.min.js | 1 + libs/icons.min.js | 1 + libs/items.min.js | 1 + libs/loader.min.js | 1 + libs/maps.min.js | 1 + libs/ui.min.js | 1 + libs/utils.min.js | 1 + 启动服务(mac版).app/Contents/Info.plist | 50 ++++ 启动服务(mac版).app/Contents/MacOS/MTBuilder | Bin 0 -> 237184 bytes 启动服务(mac版).app/Contents/PkgInfo | 1 + .../Contents/Resources/Assets.car | Bin 0 -> 17800 bytes .../3Jh-0i-2oC-view-FlG-D0-fB4.nib | Bin 0 -> 11280 bytes .../8cO-Uq-prt-view-GPE-0I-haQ.nib | Bin 0 -> 16209 bytes .../Base.lproj/Main.storyboardc/Info.plist | Bin 0 -> 733 bytes .../Base.lproj/Main.storyboardc/MainMenu.nib | Bin 0 -> 36175 bytes .../NSViewController-3Jh-0i-2oC.nib | Bin 0 -> 2408 bytes .../NSWindowController-B8D-0N-5wS.nib | Bin 0 -> 4127 bytes .../NSWindowController-QqD-oc-2tR.nib | Bin 0 -> 3563 bytes .../XfG-lQ-9wD-view-m2S-Jp-Qdl.nib | Bin 0 -> 12847 bytes .../Contents/_CodeSignature/CodeResources | 252 ++++++++++++++++++ 更新说明.txt | 29 +- 33 files changed, 357 insertions(+), 22 deletions(-) create mode 100644 libs/actions.min.js create mode 100644 libs/control.min.js create mode 100644 libs/data.min.js create mode 100644 libs/enemys.min.js create mode 100644 libs/events.min.js create mode 100644 libs/icons.min.js create mode 100644 libs/items.min.js create mode 100644 libs/loader.min.js create mode 100644 libs/maps.min.js create mode 100644 libs/ui.min.js create mode 100644 libs/utils.min.js create mode 100644 启动服务(mac版).app/Contents/Info.plist create mode 100644 启动服务(mac版).app/Contents/MacOS/MTBuilder create mode 100644 启动服务(mac版).app/Contents/PkgInfo create mode 100644 启动服务(mac版).app/Contents/Resources/Assets.car create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/8cO-Uq-prt-view-GPE-0I-haQ.nib create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib create mode 100644 启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib create mode 100644 启动服务(mac版).app/Contents/_CodeSignature/CodeResources diff --git a/README.md b/README.md index 1882e388..aef141e7 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! │ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作。 http://github.com/ckcz123/ps/ │ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔。 http://github.com/ckcz123/map_generator/ │ └─ 伤害和临界值计算器.exe # 一个能帮助计算怪物的伤害和临界值的小工具。 http://github.com/ckcz123/magic-tower-calculator/ +├── /启动服务(mac版).app/ # 启动服务的mac版本。 ├── editor.html # 可视化地图编辑工具 ├── index.html # 主程序,游戏的入口 ├── main.js # JS程序的入口,将动态对所需JS进行加载 @@ -57,6 +58,24 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ## 更新说明 +### 2018.5.27 V2.3 + +* [x] 启动服务和便捷PS工具(Mac版) +* [x] 地图编辑器可以右键复制或移动图块 +* [x] 事件:while循环处理 +* [x] 事件:等待用户操作并获得按键或点击信息 +* [x] 地图数据统计 +* [x] 衰弱可以减少攻防的比例 +* [x] 便捷PS工具可以批量导入素材 +* [x] 除Autotile外均可自动注册 +* [x] 支持status:x获得当前坐标 +* [x] core.debug()改成调试模式,可以Ctrl穿墙 +* [x] 新建地图可以保留楼层属性 +* [x] 地图编辑器可用PageUp和PageDown切换楼层 +* [x] 提供大量素材,可直接取用 +* [x] 重写大部分教程,新增大量拓展描述 +* [x] 大量细节进行优化,所有已知的bug进行了修复 + ### 2018.5.6 V2.2 * [x] 事件坐标可用变量指定("loc": ["flag:x", "flag:y"]) diff --git a/docs/V2.0.md b/docs/V2.0.md index be3e150e..a0305936 100644 --- a/docs/V2.0.md +++ b/docs/V2.0.md @@ -1,6 +1,6 @@ # V2.0版本介绍 -?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} * 目前样板已经更新到V2.0版本以上,本章将对V2.0的一些内容进行介绍。 diff --git a/docs/api.md b/docs/api.md index c0814730..c5809c08 100644 --- a/docs/api.md +++ b/docs/api.md @@ -1,6 +1,6 @@ # 附录: API列表 -?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} * **这里只列出所有可能会被造塔者用到的常用API,更多的有关内容请在代码内进行查询。** diff --git a/docs/element.md b/docs/element.md index b6e1b7c6..731e72b8 100644 --- a/docs/element.md +++ b/docs/element.md @@ -1,6 +1,6 @@ # 元件说明 -?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} * 在本章中,将对样板里的各个元件进行说明。各个元件主要包括道具、门、怪物、楼梯等等。 diff --git a/docs/event.md b/docs/event.md index 6fdf9468..3eb4023c 100644 --- a/docs/event.md +++ b/docs/event.md @@ -1,6 +1,6 @@ # 事件 -?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} * 本章内将对样板所支持的事件进行介绍。 diff --git a/docs/index.md b/docs/index.md index 02dd5118..8dfe96f6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ # HTML5 魔塔样板说明文档 -?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} * 众所周知,魔塔的趋势是向移动端发展,贴吧中也常常能见到“求手机魔塔”的帖子。然而现有的工具中,NekoRPG有着比较大的局限性,游戏感较差,更是完全没法在iOS上运行。而一些APP的魔塔虽然可用,但是必须要下载安装,对于Android和iOS还必须开发不同的版本,非常麻烦。 diff --git a/docs/personalization.md b/docs/personalization.md index 91993245..7d95980d 100644 --- a/docs/personalization.md +++ b/docs/personalization.md @@ -1,6 +1,6 @@ # 个性化 -?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} * 有时候只靠样板本身可能是不够的。我们需要一些个性化、自定义的素材,道具效果,怪物属性,等等。 diff --git a/docs/start.md b/docs/start.md index 180d2002..20b50a23 100644 --- a/docs/start.md +++ b/docs/start.md @@ -1,6 +1,6 @@ # 快速上手 -?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} * +?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} * 在这一节中,将详细介绍做一部塔的流程。现在,让我们来做一部单层塔! @@ -9,6 +9,7 @@ 你需要有满足如下条件才能进行制作: - Windows 8以上操作系统;Windows 7需要安装.Net Framework 4.0。(能打开同目录下的“启动服务.exe”即可) + - Mac系统则需OS X 10.7及以上,能正确打开启动服务(Mac版).app即可。 - Chrome浏览器。其他浏览器可能会导致本地服务器产生闪退等现象。 - 强烈推荐安装一个很好的文本编辑器:VSCode。在某些需要直接修改文件的场合,可能会非常重要。 @@ -18,7 +19,7 @@ ## 启动HTTP服务 -在根目录下有一个“启动服务.exe”,运行之。 +在根目录下有一个“启动服务.exe”,运行之。(Mac版本则双击运行“启动服务(Mac版).app”) ![启动服务](img/server.png) diff --git a/libs/actions.min.js b/libs/actions.min.js new file mode 100644 index 00000000..43e59332 --- /dev/null +++ b/libs/actions.min.js @@ -0,0 +1 @@ +function actions(){this.init()}actions.prototype.init=function(){};actions.prototype.onkeyDown=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying&&core.status.event.id!="save"&&(core.status.event.id||"").indexOf("book")!=0){return}if(!core.isset(core.status.holdingKeys)){core.status.holdingKeys=[]}var c={37:true,38:true,39:true,40:true}[a.keyCode];if(c&&!core.status.lockControl){for(var b=0;bd){c=b;d=a[b]}}e=[{x:0,y:1},{x:-1,y:0},{x:0,y:-1},{x:1,y:0},false][c];if(e){e.x+=f.x;e.y+=f.y;core.status.stepPostfix.push(e);core.fillPosWithPoint(e)}};actions.prototype.onup=function(){if(core.isset(core.status.replay)&&core.status.replay.replaying&&core.status.event.id!="save"&&(core.status.event.id||"").indexOf("book")!=0){return}clearTimeout(core.timeout.onDownTimeout);core.timeout.onDownTimeout=null;clearInterval(core.interval.onDownInterval);core.interval.onDownInterval=null;if(core.status.stepPostfix.length>0){var g=[];var a={"0":{"1":"down","-1":"up"},"-1":{"0":"left"},"1":{"0":"right"}};for(var b=1;b=1000){this.longClick(e,f)}else{this.onclick(e,f,g)}core.status.downTime=null}};actions.prototype.getClickLoc=function(f,g){var d={x:0,y:0};var c=32;c=c*core.domStyle.scale;switch(core.domStyle.screenMode){case"vertical":d.x=0;d.y=core.dom.statusBar.offsetHeight+3;break;case"horizontal":case"bigScreen":d.x=core.dom.statusBar.offsetWidth+3;d.y=0;break}var a=core.dom.gameGroup.offsetLeft+d.x;var e=core.dom.gameGroup.offsetTop+d.y;var b={x:f-a,y:g-e,size:c};return b};actions.prototype.onclick=function(b,c,a){if(core.isset(core.status.replay)&&core.status.replay.replaying&&core.status.event.id!="save"&&(core.status.event.id||"").indexOf("book")!=0){return}a=a||[];if(b<0||c<0||b>12||c>12){return}if(core.status.usingCenterFly){if(b!=12-core.getHeroLoc("x")||c!=12-core.getHeroLoc("y")){core.clearMap("ui",(12-core.getHeroLoc("x"))*32,(12-core.getHeroLoc("y"))*32,32,32)}else{if(core.canUseItem("centerFly")){core.useItem("centerFly");core.clearMap("ui",core.getHeroLoc("x")*32,core.getHeroLoc("y")*32,32,32);return}else{core.drawTip("当前不能使用中心对称飞行器");core.clearMap("ui",(12-core.getHeroLoc("x"))*32,(12-core.getHeroLoc("y"))*32,32,32)}}core.status.usingCenterFly=false}if(!core.status.lockControl){core.setAutomaticRoute(b,c,a);return}if(core.status.event.id=="book"){this.clickBook(b,c);return}if(core.status.event.id=="book-detail"){this.clickBookDetail(b,c);return}if(core.status.event.id=="fly"){this.clickFly(b,c);return}if(core.status.event.id=="viewMaps"){this.clickViewMaps(b,c);return}if(core.status.event.id=="switchs"){this.clickSwitchs(b,c);return}if(core.status.event.id=="settings"){this.clickSettings(b,c);return}if(core.status.event.id=="shop"){this.clickShop(b,c);return}if(core.status.event.id=="selectShop"){this.clickQuickShop(b,c);return}if(core.status.event.id=="toolbox"){this.clickToolbox(b,c);return}if(core.status.event.id=="save"||core.status.event.id=="load"||core.status.event.id=="replayLoad"){this.clickSL(b,c);return}if(core.status.event.id=="confirmBox"){this.clickConfirmBox(b,c);return}if(core.status.event.id=="keyBoard"){this.clickKeyBoard(b,c);return}if(core.status.event.id=="about"){this.clickAbout(b,c);return}if(core.status.event.id=="action"){this.clickAction(b,c);return}if(core.status.event.id=="text"){core.drawText();return}if(core.status.event.id=="syncSave"){this.clickSyncSave(b,c);return}if(core.status.event.id=="syncSelect"){this.clickSyncSelect(b,c);return}if(core.status.event.id=="localSaveSelect"){this.clickLocalSaveSelect(b,c);return}if(core.status.event.id=="storageRemove"){this.clickStorageRemove(b,c);return}if(core.status.event.id=="cursor"){this.clickCursor(b,c);return}if(core.status.event.id=="replay"){this.clickReplay(b,c);return}};actions.prototype.onmousewheel=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying&&core.status.event.id!="save"&&(core.status.event.id||"").indexOf("book")!=0){return}if(core.status.lockControl&&core.status.event.id=="fly"){if(a==1){core.ui.drawFly(core.status.event.data+1)}if(a==-1){core.ui.drawFly(core.status.event.data-1)}return}if(core.status.lockControl&&core.status.event.id=="book"){if(a==1){core.ui.drawBook(core.status.event.data-6)}if(a==-1){core.ui.drawBook(core.status.event.data+6)}return}if(core.status.lockControl&&(core.status.event.id=="save"||core.status.event.id=="load")){if(a==1){core.ui.drawSLPanel(core.status.event.data-10)}if(a==-1){core.ui.drawSLPanel(core.status.event.data+10)}return}if(core.status.lockControl&&core.status.event.id=="viewMaps"){if(a==1){this.clickViewMaps(6,2)}if(a==-1){this.clickViewMaps(6,10)}return}};actions.prototype.longClick=function(b,c,a){if(!core.isPlaying()){return false}if(core.status.lockControl){if(core.status.event.id=="text"){core.drawText();return true}if(core.status.event.id=="action"&&core.status.event.data.type=="text"){core.doAction();return true}}else{if(!a){core.waitHeroToStop(function(){core.ui.drawKeyBoard()})}}return false};actions.prototype.keyDownCtrl=function(){if(core.status.event.id=="text"){core.drawText();return}if(core.status.event.id=="action"&&core.status.event.data.type=="text"){core.doAction();return}};actions.prototype.clickConfirmBox=function(a,b){if((a==4||a==5)&&b==7&&core.isset(core.status.event.data.yes)){core.status.event.data.yes()}if((a==7||a==8)&&b==7&&core.isset(core.status.event.data.no)){core.status.event.data.no()}};actions.prototype.keyUpConfirmBox=function(a){if(a==37){core.status.event.selection=0;core.ui.drawConfirmBox(core.status.event.ui,core.status.event.data.yes,core.status.event.data.no)}if(a==39){core.status.event.selection=1;core.ui.drawConfirmBox(core.status.event.ui,core.status.event.data.yes,core.status.event.data.no)}if(a==13||a==32||a==67){if(core.status.event.selection==0&&core.isset(core.status.event.data.yes)){core.status.event.selection=null;core.status.event.data.yes()}if(core.status.event.selection==1&&core.isset(core.status.event.data.no)){core.status.event.selection=null;core.status.event.data.no()}}};actions.prototype.clickAction=function(d,e){if(core.status.event.data.type=="text"){core.doAction();return}if(core.status.event.data.type=="wait"){core.setFlag("type",1);core.setFlag("x",d);core.setFlag("y",e);core.status.route.push("input:"+(10000+100*d+e));core.doAction();return}if(core.status.event.data.type=="choices"){var b=core.status.event.data.current;var a=b.choices;if(a.length==0){return}if(d>=5&&d<=7){var c=6-parseInt((a.length-1)/2);if(e>=c&&e0){if(c==38){core.status.event.selection--;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}if(c==40){core.status.event.selection++;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}}}};actions.prototype.keyUpAction=function(c){if(core.status.event.data.type=="text"&&(c==13||c==32||c==67)){core.doAction();return}if(core.status.event.data.type=="wait"){core.setFlag("type",0);core.setFlag("keycode",c);core.status.route.push("input:"+c);core.doAction();return}if(core.status.event.data.type=="choices"){var b=core.status.event.data.current;var a=b.choices;if(a.length>0){if(c==13||c==32||c==67){core.status.route.push("choices:"+core.status.event.selection);core.insertAction(a[core.status.event.selection].action);core.doAction()}}}};actions.prototype.clickBook=function(d,e){if((d==3||d==4)&&e==12){core.ui.drawBook(core.status.event.data-6);return}if((d==8||d==9)&&e==12){core.ui.drawBook(core.status.event.data+6);return}if(d>=10&&d<=12&&e==12){if(core.status.event.selection==null){core.ui.closePanel()}else{core.status.boxAnimateObjs=[];core.ui.drawMaps(core.status.event.selection)}return}var a=core.status.event.data;if(core.isset(a)&&e<12){var c=parseInt(a/6);var b=6*c+parseInt(e/2);core.ui.drawBook(b);core.ui.drawBookDetail(b)}return};actions.prototype.keyDownBook=function(a){if(a==37){core.ui.drawBook(core.status.event.data-6)}if(a==38){core.ui.drawBook(core.status.event.data-1)}if(a==39){core.ui.drawBook(core.status.event.data+6)}if(a==40){core.ui.drawBook(core.status.event.data+1)}if(a==33){core.ui.drawBook(core.status.event.data-6)}if(a==34){core.ui.drawBook(core.status.event.data+6)}return};actions.prototype.keyUpBook=function(b){if(b==27||b==88){if(core.status.event.selection==null){core.ui.closePanel()}else{core.status.boxAnimateObjs=[];core.ui.drawMaps(core.status.event.selection)}return}if(b==13||b==32||b==67){var a=core.status.event.data;if(core.isset(a)){this.clickBook(6,2*(a%6))}return}};actions.prototype.clickBookDetail=function(){core.clearMap("data",0,0,416,416);core.status.event.id="book"};actions.prototype.clickFly=function(e,f){if((e==10||e==11)&&f==9){core.ui.drawFly(core.status.event.data-1)}if((e==10||e==11)&&f==5){core.ui.drawFly(core.status.event.data+1)}if(e>=5&&e<=7&&f==12){core.ui.closePanel()}if(e>=0&&e<=9&&f>=3&&f<=11){var b=core.status.hero.flyRange.indexOf(core.status.floorId);var c=core.status.event.data=8){a--;while(a>=0&&a!=b&&core.floors[core.floorIds[a]].cannotViewMap){a--}if(a>=0){core.ui.drawMaps(a)}}else{core.clearMap("data",0,0,416,416);core.setOpacity("data",1);core.ui.closePanel()}}};actions.prototype.keyDownViewMaps=function(a){if(a==37||a==38||a==33){this.clickViewMaps(6,2)}else{if(a==39||a==40||a==34){this.clickViewMaps(6,10)}}return};actions.prototype.keyUpViewMaps=function(a){if(a==27||a==13||a==32||a==67){core.clearMap("data",0,0,416,416);core.setOpacity("data",1);core.ui.closePanel()}if(a==88){core.openBook(false)}return};actions.prototype.clickShop=function(x,y){var shop=core.status.event.data.shop;var choices=shop.choices;if(x>=5&&x<=7){var topIndex=6-parseInt(choices.length/2);if(y>=topIndex&&yeval(use)){core.drawTip("你的"+use_text+"不足");return false}core.status.event.data.actions.push(y-topIndex);eval(use+"-="+need);core.setStatus("money",money);core.setStatus("experience",experience);choice.effect.split(";").forEach(function(t){core.doEffect(t)});core.updateStatusBar();shop.times++;core.events.openShop(core.status.event.data.id)}else{if(y==topIndex+choices.length){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()}}else{return false}}}return true};actions.prototype.keyDownShop=function(a){if(a==38){core.status.event.selection--;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}if(a==40){core.status.event.selection++;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}};actions.prototype.keyUpShop=function(b){if(b==27||b==88){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()}return}var c=core.status.event.data.shop;var a=c.choices;if(b==13||b==32||b==67){var d=6-parseInt(a.length/2);this.clickShop(6,d+core.status.event.selection)}return};actions.prototype.clickQuickShop=function(e,f){var c=core.status.shops,a=Object.keys(c);if(e>=5&&e<=7){var d=6-parseInt(a.length/2);if(f>=d&&f=10&&b<=12&&c==12){core.ui.closePanel();return}if(b>=10&&b<=12&&c<=1){if(!core.isset(core.status.event.data)){return}if(!core.flags.enableDeleteItem){core.drawTip("不支持删除道具!");return}core.removeItem(core.status.event.data);core.status.event.data=null;core.ui.drawToolbox();return}var a=0;if(c==4||c==5||c==9||c==10){a=parseInt(b/2)}else{a=6+parseInt(b/2)}if(c>=9){a+=100}this.clickToolboxIndex(a)};actions.prototype.clickToolboxIndex=function(b){var d=null;var a=b;if(a<100){d=Object.keys(core.status.hero.items.tools).sort()}else{a-=100;d=Object.keys(core.status.hero.items.constants).sort()}if(d==null){return}if(a>=d.length){return}var c=d[a];if(c==core.status.event.data){core.events.useItem(c)}else{core.ui.drawToolbox(b)}};actions.prototype.keyDownToolbox=function(c){if(!core.isset(core.status.event.data)){return}var d=Object.keys(core.status.hero.items.tools).sort();var a=Object.keys(core.status.hero.items.constants).sort();var b=core.status.event.selection;if(c==37){if((b>0&&b<100)||b>100){this.clickToolboxIndex(b-1);return}if(b==100&&d.length>0){this.clickToolboxIndex(d.length-1);return}}if(c==38){if((b>5&&b<100)||b>105){this.clickToolboxIndex(b-6);return}if(b>=100&&b<=105){if(d.length>6){this.clickToolboxIndex(Math.min(d.length-1,b-100+6))}else{if(d.length>0){this.clickToolboxIndex(Math.min(d.length-1,b-100))}}return}}if(c==39){if((b=100&&b0){this.clickToolboxIndex(100);return}}if(c==40){if(b<=5){if(d.length>6){this.clickToolboxIndex(Math.min(d.length-1,b+6))}else{if(a.length>0){this.clickToolboxIndex(100+Math.min(a.length-1,b))}}return}if(b>5&&b<100&&a.length>0){this.clickToolboxIndex(100+Math.min(a.length-1,b-6));return}if(b>=100&&b<=105&&a.length>6){this.clickToolboxIndex(Math.min(100+a.length-1,b+6));return}}};actions.prototype.keyUpToolbox=function(a){if(a==84||a==27||a==88){core.ui.closePanel();return}if(!core.isset(core.status.event.data)){return}if(a==13||a==32||a==67){this.clickToolboxIndex(core.status.event.selection);return}if(a==46){if(!core.isset(core.status.event.data)){return}if(!core.flags.enableDeleteItem){core.drawTip("不支持删除道具!");return}core.removeItem(core.status.event.data);core.status.event.data=null;core.ui.drawToolbox();return}};actions.prototype.clickSL=function(e,f){var b=core.status.event.data;var d=parseInt(b/10),c=b%10;if((e==3||e==4)&&f==12){core.ui.drawSLPanel(10*(d-1)+c);return}if((e==8||e==9)&&f==12){core.ui.drawSLPanel(10*(d+1)+c);return}if(e>=10&&e<=12&&f==12){core.ui.closePanel();if(!core.isPlaying()){core.showStartAnimate()}return}if(e>=0&&e<=2&&f==12){core.status.event.selection=!core.status.event.selection;core.ui.drawSLPanel(b);return}var a=null;if(f>=1&&f<=4){if(e>=1&&e<=3){a="autoSave"}if(e>=5&&e<=7){a=5*d+1}if(e>=9&&e<=11){a=5*d+2}}if(f>=7&&f<=10){if(e>=1&&e<=3){a=5*d+3}if(e>=5&&e<=7){a=5*d+4}if(e>=9&&e<=11){a=5*d+5}}if(a!=null){if(core.status.event.selection){if(a=="autoSave"){core.drawTip("无法删除自动存档!")}else{core.removeLocalStorage("save"+a);core.ui.drawSLPanel(b)}}else{core.doSL(a,core.status.event.id)}}};actions.prototype.keyDownSL=function(b){var a=core.status.event.data;var d=parseInt(a/10),c=a%10;if(b==37){if(c==0){core.ui.drawSLPanel(10*(d-1)+5)}else{core.ui.drawSLPanel(a-1)}return}if(b==38){if(c<3){core.ui.drawSLPanel(10*(d-1)+c+3)}else{core.ui.drawSLPanel(a-3)}return}if(b==39){if(c==5){core.ui.drawSLPanel(10*(d+1)+1)}else{core.ui.drawSLPanel(a+1)}return}if(b==40){if(c>=3){core.ui.drawSLPanel(10*(d+1)+c-3)}else{core.ui.drawSLPanel(a+3)}return}if(b==33){core.ui.drawSLPanel(10*(d-1)+c);return}if(b==34){core.ui.drawSLPanel(10*(d+1)+c);return}};actions.prototype.keyUpSL=function(b){var a=core.status.event.data;var d=parseInt(a/10),c=a%10;if(b==27||b==88||(core.status.event.id=="save"&&b==83)||(core.status.event.id=="load"&&b==68)){core.ui.closePanel();if(!core.isPlaying()){core.showStartAnimate()}return}if(b==13||b==32||b==67){if(c==0){core.doSL("autoSave",core.status.event.id)}else{core.doSL(5*d+c,core.status.event.id)}return}if(b==46){if(c==0){core.drawTip("无法删除自动存档!")}else{core.removeLocalStorage("save"+(5*d+c));core.ui.drawSLPanel(a)}}};actions.prototype.clickSwitchs=function(d,e){if(d<5||d>7){return}var a=core.status.event.ui.choices;var c=6-parseInt((a.length-1)/2);if(e>=c&&e7){return}var a=core.status.event.ui.choices;var c=6-parseInt((a.length-1)/2);if(e>=c&&e7){return}var a=core.status.event.ui.choices;var c=6-parseInt((a.length-1)/2);if(e>=c&&e=1;g--){if(core.getLocalStorage("save"+g,null)==null){h=g}else{break}}core.setLocalStorage("save"+h,f);core.drawText("同步成功!\n单存档已覆盖至存档"+h)}},function(){});break;case 4:if(core.hasFlag("debug")){core.drawText("\t[系统提示]调试模式下无法下载录像");break}core.download(core.firstData.name+"_"+core.formatDate2(new Date())+".h5route",JSON.stringify({name:core.firstData.name,hard:core.status.hard,seed:core.getFlag("seed"),route:core.encodeRoute(core.status.route)}));break;case 5:core.status.event.selection=0;core.ui.drawStorageRemove();break;case 6:core.status.event.selection=3;core.ui.drawSettings();break}}return};actions.prototype.keyDownSyncSave=function(a){if(a==38){core.status.event.selection--;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}if(a==40){core.status.event.selection++;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}};actions.prototype.keyUpSyncSave=function(b){if(b==27||b==88){core.status.event.selection=2;core.ui.drawSettings();return}var a=core.status.event.ui.choices;if(b==13||b==32||b==67){var c=6-parseInt((a.length-1)/2);this.clickSyncSave(6,c+core.status.event.selection)}};actions.prototype.clickSyncSelect=function(d,e){if(d<5||d>7){return}var a=core.status.event.ui.choices;var c=6-parseInt((a.length-1)/2);if(e>=c&&e7){return}var a=core.status.event.ui.choices;var g=6-parseInt((a.length-1)/2);var e=null;if(j>=g&&j=1;d--){e=core.getLocalStorage("save"+d,null);if(core.isset(e)){break}}break;case 2:break}}if(core.isset(e)){var b={name:core.firstData.name,version:core.firstData.version,data:e};core.download(core.firstData.name+"_"+core.formatDate2(new Date())+".h5save",JSON.stringify(b))}core.status.event.selection=2;core.ui.drawSyncSave()};actions.prototype.keyDownLocalSaveSelect=function(a){if(a==38){core.status.event.selection--;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}if(a==40){core.status.event.selection++;core.ui.drawChoices(core.status.event.ui.text,core.status.event.ui.choices)}};actions.prototype.keyUpLocalSaveSelect=function(b){if(b==27||b==88){core.status.event.selection=0;core.ui.drawSettings();return}var a=core.status.event.ui.choices;if(b==13||b==32||b==67){var c=6-parseInt((a.length-1)/2);this.clickLocalSaveSelect(6,c+core.status.event.selection)}};actions.prototype.clickStorageRemove=function(e,f){if(e<5||e>7){return}var a=core.status.event.ui.choices;var d=6-parseInt((a.length-1)/2);if(f>=d&&f7){return}var a=core.status.event.ui.choices;var i=6-parseInt((a.length-1)/2);if(k>=i&&k=1&&b<=11){core.ui.closePanel();core.keyUp(112+b-1)}if(c==4&&b>=1&&b<=10){core.ui.closePanel();core.keyUp(b==10?48:48+b)}var a=[["Q","W","E","R","T","Y","U","I","O","P"],["A","S","D","F","G","H","J","K","L"],["Z","X","C","V","B","N","M"],];if(c==5&&b>=1&&b<=10){core.ui.closePanel();core.keyUp(a[0][b-1].charCodeAt(0))}if(c==6&&b>=1&&b<=9){core.ui.closePanel();core.keyUp(a[1][b-1].charCodeAt(0))}if(c==7&&b>=1&&b<=7){core.ui.closePanel();core.keyUp(a[2][b-1].charCodeAt(0))}if(c==8&&b>=1&&b<=11){core.ui.closePanel();if(b==1){core.keyUp(189)}if(b==2){core.keyUp(187)}if(b==3){core.keyUp(219)}if(b==4){core.keyUp(221)}if(b==5){core.keyUp(220)}if(b==6){core.keyUp(186)}if(b==7){core.keyUp(222)}if(b==8){core.keyUp(188)}if(b==9){core.keyUp(190)}if(b==10){core.keyUp(191)}if(b==11){core.keyUp(192)}}if(c==9&&b>=1&&b<=10){core.ui.closePanel();if(b==1){core.keyUp(27)}if(b==2){core.keyUp(9)}if(b==3){core.keyUp(20)}if(b==4){core.keyUp(16)}if(b==5){core.keyUp(17)}if(b==6){core.keyUp(18)}if(b==7){core.keyUp(32)}if(b==8){core.keyUp(8)}if(b==9){core.keyUp(13)}if(b==10){core.keyUp(46)}}if(c==10&&b>=9&&b<=11){core.ui.closePanel()}};actions.prototype.clickCursor=function(a,b){if(a==core.status.automaticRoute.cursorX&&b==core.status.automaticRoute.cursorY){core.ui.closePanel();core.onclick(a,b,[]);return}core.status.automaticRoute.cursorX=a;core.status.automaticRoute.cursorY=b;core.ui.drawCursor()};actions.prototype.keyDownCursor=function(a){if(a==37){core.status.automaticRoute.cursorX--;core.ui.drawCursor();return}if(a==38){core.status.automaticRoute.cursorY--;core.ui.drawCursor();return}if(a==39){core.status.automaticRoute.cursorX++;core.ui.drawCursor();return}if(a==40){core.status.automaticRoute.cursorY++;core.ui.drawCursor();return}};actions.prototype.keyUpCursor=function(a){if(a==27||a==88){core.ui.closePanel();return}if(a==13||a==32||a==67||a==69){core.ui.closePanel();core.onclick(core.status.automaticRoute.cursorX,core.status.automaticRoute.cursorY,[]);return}};actions.prototype.clickAbout=function(){if(core.isPlaying()){core.ui.closePanel()}else{core.restart()}}; \ No newline at end of file diff --git a/libs/control.min.js b/libs/control.min.js new file mode 100644 index 00000000..8ac134b6 --- /dev/null +++ b/libs/control.min.js @@ -0,0 +1 @@ +function control(){this.init()}control.prototype.init=function(){};control.prototype.setRequestAnimationFrame=function(){(function(){var c=0;var d=["webkit","moz"];for(var e=0;ecore.animateFrame.speed&&core.isset(core.status.globalAnimateObjs)){for(var c=0;ccore.animateFrame.speed&&core.isset(core.status.boxAnimateObjs)&&core.status.boxAnimateObjs.length>0){core.drawBoxAnimate();core.animateFrame.boxTime=g}if(g-core.animateFrame.moveTime>16&&core.isset(core.status.heroMoving)&&core.status.heroMoving>0){var h=core.getHeroLoc("x"),i=core.getHeroLoc("y"),e=core.getHeroLoc("direction");if(core.status.heroMoving<=4){core.drawHero(e,h,i,"leftFoot",4*core.status.heroMoving*b[e].x,4*core.status.heroMoving*b[e].y)}else{if(core.status.heroMoving<=8){core.drawHero(e,h,i,"rightFoot",4*core.status.heroMoving*b[e].x,4*core.status.heroMoving*b[e].y)}}core.animateFrame.moveTime=g}if(core.isPlaying()&&g-core.animateFrame.weather.time>30){if(core.animateFrame.weather.type=="rain"&&core.animateFrame.weather.level>0){core.clearMap("weather",0,0,416,416);core.canvas.weather.strokeStyle="rgba(174,194,224,0.8)";core.canvas.weather.lineWidth=1;core.canvas.weather.lineCap="round";core.animateFrame.weather.nodes.forEach(function(j){core.canvas.weather.beginPath();core.canvas.weather.moveTo(j.x,j.y);core.canvas.weather.lineTo(j.x+j.l*j.xs,j.y+j.l*j.ys);core.canvas.weather.stroke();j.x+=j.xs;j.y+=j.ys;if(j.x>416||j.y>416){j.x=Math.random()*416;j.y=-10}});core.canvas.weather.fill()}else{if(core.animateFrame.weather.type=="snow"&&core.animateFrame.weather.level>0){core.clearMap("weather",0,0,416,416);core.canvas.weather.fillStyle="rgba(255, 255, 255, 0.8)";core.canvas.weather.beginPath();if(!core.isset(core.animateFrame.weather.data)){core.animateFrame.weather.data=0}core.animateFrame.weather.data+=0.01;var d=core.animateFrame.weather.data;core.animateFrame.weather.nodes.forEach(function(j){core.canvas.weather.moveTo(j.x,j.y);core.canvas.weather.arc(j.x,j.y,j.r,0,Math.PI*2,true);j.x+=Math.sin(d)*2;j.y+=Math.cos(d+j.d)+1+j.r/2;if(j.x>416+5||j.x<-5||j.y>416){if(Math.random()>1/3){j.x=Math.random()*416;j.y=-10}else{if(Math.sin(d)>0){j.x=-5;j.y=Math.random()*416}else{j.x=416+5;j.y=Math.random()*416}}}});core.canvas.weather.fill()}}core.animateFrame.weather.time=g}window.requestAnimationFrame(a)};window.requestAnimationFrame(a)};control.prototype.showStartAnimate=function(a){core.dom.startPanel.style.opacity=1;core.dom.startPanel.style.display="block";core.dom.startTop.style.opacity=1;core.dom.startTop.style.display="block";core.dom.startButtonGroup.style.display="none";core.dom.startButtons.style.display="block";core.dom.levelChooseButtons.style.display="none";core.dom.curtain.style.background="#000000";core.dom.curtain.style.opacity=0;core.status.played=false;core.clearStatus();core.clearMap("all");var b=1;var c=window.setInterval(function(){b-=0.03;if(b<0){clearInterval(c);core.dom.startTop.style.display="none";core.dom.startButtonGroup.style.display="block";if(core.isset(a)){a()}}core.dom.startTop.style.opacity=b},20)};control.prototype.hideStartAnimate=function(a){var b=1;var c=window.setInterval(function(){b-=0.03;if(b<0){clearInterval(c);core.dom.startPanel.style.display="none";if(core.isset(a)){a()}}core.dom.startPanel.style.opacity=b},20)};control.prototype.isPlaying=function(){return core.isset(core.status.played)&&core.status.played};control.prototype.clearStatus=function(){for(var a in core.timeout){clearTimeout(core.timeout[a]);core.timeout[a]=null}for(var a in core.interval){clearInterval(core.interval[a]);core.interval[a]=null}core.status={};core.clearStatusBar();core.resize(main.dom.body.clientWidth,main.dom.body.clientHeight)};control.prototype.resetStatus=function(c,b,a,e,d){var f=0;if(core.isset(core.status)&&core.isset(core.status.hero)&&core.isset(core.status.hero.statistics)&&core.isset(e)){f=core.status.hero.statistics.totalTime}this.clearStatus();core.status=core.clone(core.initStatus);core.status.played=true;core.status.floorId=a;core.status.maps=core.clone(d);core.material.enemys=core.clone(core.enemys.getEnemys());core.status.hero=core.clone(c);if(!core.isset(core.status.hero.statistics)){core.status.hero.statistics={totalTime:f,currTime:0,hp:0,battleDamage:0,poisonDamage:0,extraDamage:0,moveDirectly:0,ignoreSteps:0,}}core.status.hero.statistics.totalTime=Math.max(core.status.hero.statistics.totalTime,f);core.status.hero.statistics.start=null;core.status.hard=b;if(core.isset(e)){core.status.route=e}core.status.saveIndex=core.getLocalStorage("saveIndex2",1)};control.prototype.startGame=function(b,a){console.log("开始游戏");this.resetStatus(core.firstData.hero,b,core.firstData.floorId,null,core.initStatus.maps);core.changeFloor(core.status.floorId,null,core.firstData.hero.loc,null,function(){if(core.isset(a)){a()}},true);setTimeout(function(){var c=new FormData();c.append("type","people");c.append("name",core.firstData.name);c.append("version",core.firstData.version);c.append("platform",core.platform.isPC?"PC":core.platform.isAndroid?"Android":core.platform.isIOS?"iOS":"");c.append("hard",b);c.append("hardCode",core.getFlag("hard",0));core.utils.http("POST","/games/upload.php",c)})};control.prototype.restart=function(){this.showStartAnimate();if(core.bgms.length>0){core.playBgm(core.bgms[0])}};control.prototype.clearAutomaticRouteNode=function(a,b){if(core.status.event.id==null){core.canvas.ui.clearRect(a*32+5,b*32+5,27,27)}};control.prototype.stopAutomaticRoute=function(){if(!core.status.played){return}core.status.automaticRoute.autoHeroMove=false;core.status.automaticRoute.autoStep=0;core.status.automaticRoute.destStep=0;core.status.automaticRoute.movedStep=0;core.status.automaticRoute.autoStepRoutes=[];core.status.automaticRoute.destX=null;core.status.automaticRoute.destY=null;core.status.automaticRoute.lastDirection=null;core.stopHero();if(core.status.automaticRoute.moveStepBeforeStop.length==0){core.canvas.ui.clearRect(0,0,416,416)}};control.prototype.continueAutomaticRoute=function(){var a=core.status.automaticRoute.moveStepBeforeStop;if(a.length===0||(a.length===1&&a[0].step===1)){core.status.automaticRoute.moveStepBeforeStop=[]}else{core.setAutoHeroMove(a)}};control.prototype.clearContinueAutomaticRoute=function(){core.canvas.ui.clearRect(0,0,416,416);core.status.automaticRoute.moveStepBeforeStop=[]};control.prototype.setAutomaticRoute=function(a,b,h){if(!core.status.played||core.status.lockControl){return}if(core.status.automaticRoute.autoHeroMove){var c=core.status.automaticRoute.destX,d=core.status.automaticRoute.destY;core.stopAutomaticRoute();if(c==a&&d==b){core.status.automaticRoute.moveDirectly=true;setTimeout(function(){if(core.status.automaticRoute.moveDirectly&&core.status.heroMoving==0){var j=core.canMoveDirectly(a,b);if(j>0){core.clearMap("hero",0,0,416,416);core.setHeroLoc("x",a);core.setHeroLoc("y",b);core.drawHero();core.status.route.push("move:"+a+":"+b);core.status.hero.statistics.moveDirectly++;core.status.hero.statistics.ignoreSteps+=j}}core.status.automaticRoute.moveDirectly=false},100)}return}if(a==core.status.hero.loc.x&&b==core.status.hero.loc.y&&h.length==0){if(core.timeout.turnHeroTimeout==null){core.timeout.turnHeroTimeout=setTimeout(function(){core.turnHero();clearTimeout(core.timeout.turnHeroTimeout);core.timeout.turnHeroTimeout=null},250)}else{clearTimeout(core.timeout.turnHeroTimeout);core.timeout.turnHeroTimeout=null;core.getNextItem()}return}var g=0;var i=null;var f;if(!(f=core.automaticRoute(a,b))){if(a==core.status.hero.loc.x&&b==core.status.hero.loc.y){f=[]}else{core.canvas.ui.clearRect(0,0,416,416);return}}f=f.concat(h);core.status.automaticRoute.destX=a;core.status.automaticRoute.destY=b;core.canvas.ui.save();core.canvas.ui.clearRect(0,0,416,416);core.canvas.ui.fillStyle="#bfbfbf";core.canvas.ui.strokeStyle="#bfbfbf";core.canvas.ui.lineWidth=8;for(var e=0;e12||t<0||t>12){continue}var l=13*s+t;if(core.isset(v[l])){continue}var c=1;var k,j=core.getBlock(s,t);if(j!=null){k=j.block.event.id;if(k=="light"){c=100}if(k.substring(k.length-3)=="Net"){c=core.values.lavaDamage}if(!core.flags.potionWhileRouting&&k.substring(k.length-6)=="Potion"){c=20}if(j.block.event.trigger=="changeFloor"){c=10}}if(core.status.checkBlock.damage[l]>0){c=core.status.checkBlock.damage[l]}if(s==d&&t==e){v[l]=h;break}if(core.noPassExists(s,t)){continue}v[l]=h;u.push(169*(n+c)+l)}if(core.isset(v[13*d+e])){break}}if(!core.isset(v[13*d+e])){return false}var q=d,r=e;while(q!=x||r!=y){var g=v[13*q+r];a.push({direction:g,x:q,y:r});q-=w[g].x;r-=w[g].y}a.reverse();return a};control.prototype.fillPosWithPoint=function(a){core.fillRect("ui",a.x*32+12,a.y*32+12,8,8,"#bfbfbf")};control.prototype.setAutoHeroMove=function(a){a=a||core.status.automaticRoute.autoStepRoutes;if(a.length==0){return}core.status.automaticRoute.autoStepRoutes=a;core.status.automaticRoute.autoHeroMove=true;core.status.automaticRoute.autoStep=1;core.status.automaticRoute.destStep=a[0].step;core.moveHero(a[0].direction)};control.prototype.setHeroMoveInterval=function(b,e,f,a){if(core.status.heroMoving>0){return}core.status.heroMoving=1;var c={up:{x:0,y:-1},left:{x:-1,y:0},down:{x:0,y:1},right:{x:1,y:0}};var d=1;if(core.status.replay.speed>3){d=2}core.interval.heroMoveInterval=window.setInterval(function(){core.status.heroMoving+=d;if(core.status.heroMoving>=8){core.setHeroLoc("x",e+c[b].x);core.setHeroLoc("y",f+c[b].y);core.moveOneStep();core.clearMap("hero",0,0,416,416);core.drawHero(b);clearInterval(core.interval.heroMoveInterval);core.status.heroMoving=0;if(core.isset(a)){a()}}},12.5*d/core.status.replay.speed)};control.prototype.moveAction=function(a){if(core.interval.openDoorAnimate!=null){return}if(core.status.heroMoving>0){return}var e={up:{x:0,y:-1},left:{x:-1,y:0},down:{x:0,y:1},right:{x:1,y:0}};var c=core.getHeroLoc("direction");var f=core.getHeroLoc("x");var g=core.getHeroLoc("y");var d=core.noPass(f+e[c].x,g+e[c].y),b=core.canMoveHero();if(d||!b){if(core.status.event.id!="ski"){core.status.route.push(c)}core.status.automaticRoute.moveStepBeforeStop=[];core.status.automaticRoute.lastDirection=core.getHeroLoc("direction");if(b){core.trigger(f+e[c].x,g+e[c].y)}core.drawHero(c,f,g);if(core.status.automaticRoute.moveStepBeforeStop.length==0){core.clearContinueAutomaticRoute();core.stopAutomaticRoute()}if(core.isset(a)){a()}}else{core.setHeroMoveInterval(c,f,g,function(){if(core.status.automaticRoute.autoHeroMove){core.status.automaticRoute.movedStep++;core.status.automaticRoute.lastDirection=core.getHeroLoc("direction");if(core.status.automaticRoute.destStep==core.status.automaticRoute.movedStep){if(core.status.automaticRoute.autoStep==core.status.automaticRoute.autoStepRoutes.length){core.clearContinueAutomaticRoute();core.stopAutomaticRoute()}else{core.status.automaticRoute.movedStep=0;core.status.automaticRoute.destStep=core.status.automaticRoute.autoStepRoutes[core.status.automaticRoute.autoStep].step;core.setHeroLoc("direction",core.status.automaticRoute.autoStepRoutes[core.status.automaticRoute.autoStep].direction);core.status.automaticRoute.autoStep++}}}else{if(core.status.heroStop){core.drawHero()}}if(core.status.event.id!="ski"){core.status.route.push(c)}core.trigger(core.getHeroLoc("x"),core.getHeroLoc("y"));core.checkBlock();if(core.isset(a)){a()}})}};control.prototype.turnHero=function(){if(core.status.hero.loc.direction=="up"){core.status.hero.loc.direction="right"}else{if(core.status.hero.loc.direction=="right"){core.status.hero.loc.direction="down"}else{if(core.status.hero.loc.direction=="down"){core.status.hero.loc.direction="left"}else{if(core.status.hero.loc.direction=="left"){core.status.hero.loc.direction="up"}}}}core.drawHero();core.canvas.ui.clearRect(0,0,416,416);core.status.route.push("turn")};control.prototype.moveHero=function(b,a){if(core.status.heroMoving!=0){return}if(core.isset(b)){core.setHeroLoc("direction",b)}if(!core.isset(a)){core.status.heroStop=false;core.status.automaticRoute.moveDirectly=false;var c=function(){if(!core.status.heroStop){if(core.hasFlag("debug")&&core.status.ctrlDown){if(core.status.heroMoving!=0){return}core.status.heroMoving=-1;core.eventMoveHero([core.getHeroLoc("direction")],100,function(){core.status.heroMoving=0;c()})}else{core.moveAction();setTimeout(c,50)}}else{core.stopHero()}};c()}else{core.moveAction(function(){a()})}};control.prototype.eventMoveHero=function(f,g,b){g=g||100;core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);var c=[];f.forEach(function(h){if(typeof h=="string"){c.push(h)}else{if(!core.isset(h.value)){c.push(h.direction)}else{for(var j=0;j12||m<0||m>12){continue}if(!r&&Math.abs(c)+Math.abs(d)>o){continue}core.status.checkBlock.damage[13*l+m]+=e.value}}}if(core.enemys.hasSpecial(e.special,18)){for(var c=-1;c<=1;c++){for(var d=-1;d<=1;d++){if(c==0&&d==0){continue}var l=p+c,m=q+d;if(l<0||l>12||m<0||m>12||Math.abs(c)+Math.abs(d)>1){continue}core.status.checkBlock.damage[13*l+m]+=e.value}}}}}}core.status.checkBlock.betweenAttack=[];for(var p=0;p<13;p++){for(var q=0;q<13;q++){var f=false;if(p>0&&p<12){var h=core.status.checkBlock.map[13*(p-1)+q],i=core.status.checkBlock.map[13*(p+1)+q];if(core.isset(h)&&core.isset(i)&&h==i){var e=core.material.enemys[h];if(core.isset(e)&&core.enemys.hasSpecial(e.special,16)){f=true}}}if(q>0&&q<12){var h=core.status.checkBlock.map[13*p+q-1],i=core.status.checkBlock.map[13*p+q+1];if(core.isset(h)&&core.isset(i)&&h==i){var e=core.material.enemys[h];if(core.isset(e)&&core.enemys.hasSpecial(e.special,16)){f=true}}}if(f){core.status.checkBlock.betweenAttack[13*p+q]=true;var j=core.status.hero.hp-core.status.checkBlock.damage[13*p+q];if(j>1){core.status.checkBlock.damage[13*p+q]+=Math.floor((j+(core.flags.betweenAttackCeil?0:1))/2)}}}}};control.prototype.checkBlock=function(){var i=core.getHeroLoc("x"),j=core.getHeroLoc("y");var a=core.status.checkBlock.damage[13*i+j];if(a>0){core.status.hero.hp-=a;var h=[];var g={up:{x:0,y:-1},left:{x:-1,y:0},down:{x:0,y:1},right:{x:1,y:0}};for(var b in g){var e=i+g[b].x,f=j+g[b].y;if(e<0||e>12||f<0||f>12){continue}var d=core.status.checkBlock.map[13*e+f];if(core.isset(d)){var c=core.material.enemys[d];if(core.isset(c)&&core.enemys.hasSpecial(c.special,18)){h.push({direction:b,x:e,y:f})}}}if(core.status.checkBlock.betweenAttack[13*i+j]&&a>0){core.drawTip("受到夹击,生命变成一半")}else{if(core.status.checkBlock.map[13*i+j]=="lavaNet"){core.drawTip("受到血网伤害"+a+"点")}else{if(h.length>0&&a>0){core.drawTip("受到阻击伤害"+a+"点")}else{if(a>0){core.drawTip("受到领域伤害"+a+"点")}}}}if(a>0){core.playSound("zone.mp3");core.drawAnimate("zone",i,j)}core.status.hero.statistics.extraDamage+=a;if(core.status.hero.hp<=0){core.status.hero.hp=0;core.updateStatusBar();core.events.lose();return}h=h.filter(function(n){var o=n.x,p=n.y,k=n.direction;var l=o+g[k].x,m=p+g[k].y;return l>=0&&l<=12&&m>=0&&m<=12&&core.getBlock(l,m,core.status.floorId,false)==null});core.updateStatusBar();if(h.length>0){core.snipe(h)}}};control.prototype.snipe=function(c){var b={up:{x:0,y:-1},left:{x:-1,y:0},down:{x:0,y:1},right:{x:1,y:0}};c.forEach(function(j){var k=j.x,l=j.y,h=j.direction;j.nx=k+b[j.direction].x;j.ny=l+b[j.direction].y;core.removeGlobalAnimate(k,l);var d=core.getBlock(k,l).block;var e=d.event.cls;var i=d.event.height||32;j.animate=d.event.animate||1;j.blockIcon=core.material.icons[e][d.event.id];j.blockImage=core.material.images[e];j.height=i;var g=core.enemys.getDamage(d.event.id);var f="#000000";if(g==null){g="???";f="#FF0000"}else{if(g<=0){f="#00FF00"}else{if(g=core.values.animateSpeed){e++;f=0}c.forEach(function(n){var o=n.x,p=n.y,i=n.direction;var j=b[i].x*2*g,k=b[i].y*2*g;var l=32*o+j,m=32*p+k;core.clearMap("fg",l-2*b[i].x,m-2*b[i].y,32,32);core.canvas.event.clearRect(l-2*b[i].x,m-2*b[i].y,32,32);core.canvas.event2.clearRect(l-2*b[i].x,m-2*b[i].y-32,32,32);core.drawBlock(n.block,e,j,k);if(core.hasItem("book")){core.setFillStyle("fg","#000000");core.canvas.fg.fillText(n.damage,l+2,m+30);core.canvas.fg.fillText(n.damage,l,m+30);core.canvas.fg.fillText(n.damage,l+2,m+32);core.canvas.fg.fillText(n.damage,l,m+32);core.setFillStyle("fg",n.color);core.canvas.fg.fillText(n.damage,l+1,m+31)}});if(g==16){clearInterval(d);a();if(core.status.event.id==null){core.unLockControl()}}},h/16)})}};control.prototype.setWeather=function(d,c){if(d!="rain"&&d!="snow"){core.clearMap("weather",0,0,416,416);core.animateFrame.weather.type=null;core.animateFrame.weather.level=0;core.animateFrame.weather.nodes=[];return}c=parseInt(c);if(d==core.animateFrame.weather.type&&(!core.isset(c)||20*c==core.animateFrame.weather.level)){return}if(!core.isset(c)){c=5}if(c<1){c=1}if(c>10){c=10}c*=20;core.clearMap("weather",0,0,416,416);core.animateFrame.weather.type=d;core.animateFrame.weather.level=c;core.animateFrame.weather.nodes=[];if(d=="rain"){for(var b=0;b1){c[3]=1}if(f==0){core.dom.curtain.style.background=core.arrayToRGB(c);core.dom.curtain.style.opacity=c[3];core.status.curtainColor=c;if(core.isset(a)){a()}return}var e=0;core.status.replay.animate=true;var b=setInterval(function(){e++;var g=d[3]+(c[3]-d[3])*e/25;var j=parseInt(d[0]+(c[0]-d[0])*e/25);var i=parseInt(d[1]+(c[1]-d[1])*e/25);var h=parseInt(d[2]+(c[2]-d[2])*e/25);core.dom.curtain.style.background=core.arrayToRGB([j,i,h]);core.dom.curtain.style.opacity=g;if(e>=25){clearInterval(b);core.status.curtainColor=c;core.status.replay.animate=false;if(core.isset(a)){a()}}},f/25)};control.prototype.updateFg=function(){if(!core.isset(core.status.thisMap)||!core.isset(core.status.thisMap.blocks)){return}var i=core.status.thisMap.blocks;core.clearMap("fg",0,0,416,416);if(!core.hasItem("book")){return}core.setFont("fg","bold 11px Arial");var g=core.status.hero.hp;if(core.flags.displayEnemyDamage||core.flags.displayCritical){core.canvas.fg.textAlign="left";for(var a=0;a0){d=d[0]}d=core.formatBigNumber(d[0]);if(d=="???"){d="?"}core.setFillStyle("fg","#000000");core.canvas.fg.fillText(d,32*j+2,32*(k+1)-2-10);core.canvas.fg.fillText(d,32*j,32*(k+1)-2-10);core.canvas.fg.fillText(d,32*j+2,32*(k+1)-10);core.canvas.fg.fillText(d,32*j,32*(k+1)-10);core.setFillStyle("fg","#FFFFFF");core.canvas.fg.fillText(d,32*j+1,32*(k+1)-1-10)}}}}if(core.flags.displayExtraDamage){core.canvas.fg.textAlign="center";for(var j=0;j<13;j++){for(var k=0;k<13;k++){var e=core.status.checkBlock.damage[13*j+k];if(e>0){e=core.formatBigNumber(e);core.setFillStyle("fg","#000000");core.canvas.fg.fillText(e,32*j+17,32*(k+1)-13);core.canvas.fg.fillText(e,32*j+15,32*(k+1)-15);core.canvas.fg.fillText(e,32*j+17,32*(k+1)-15);core.canvas.fg.fillText(e,32*j+15,32*(k+1)-13);core.setFillStyle("fg","#FF7F00");core.canvas.fg.fillText(e,32*j+16,32*(k+1)-14)}}}}};control.prototype.doEffect=function(b){var a=b.split("+=");if(a.length!=2){return}var d=a[0],f=core.calValue(a[1]);if(d.indexOf("status:")==0){var e=d.substring(7);core.setStatus(e,core.getStatus(e)+f)}else{if(d.indexOf("item:")==0){var c=d.substring(5);core.setItem(c,core.itemCount(c)+f)}}};control.prototype.debug=function(){core.setFlag("debug",true);core.insertAction(["\t[调试模式开启]此模式下按住Ctrl键可以穿墙并忽略一切事件。\n同时,录像将失效,也无法上传成绩。"])};control.prototype.startReplay=function(a){core.status.replay.replaying=true;core.status.replay.pausing=false;core.status.replay.speed=1;core.status.replay.toReplay=core.clone(a);core.status.replay.totalList=core.clone(a);core.status.replay.steps=0;core.status.replay.save=[];core.updateStatusBar();core.drawTip("开始播放");this.replay();return};control.prototype.triggerReplay=function(){if(core.status.event.id=="save"){return}if(core.status.replay.pausing){this.resumeReplay()}else{this.pauseReplay()}};control.prototype.pauseReplay=function(){if(core.status.event.id=="save"){return}if(!core.status.replay.replaying){return}core.status.replay.pausing=true;core.updateStatusBar();core.drawTip("暂停播放")};control.prototype.resumeReplay=function(){if(core.status.event.id=="save"){return}if(!core.status.replay.replaying){return}core.status.replay.pausing=false;core.updateStatusBar();core.drawTip("恢复播放");core.replay()};control.prototype.speedUpReplay=function(){if(core.status.event.id=="save"){return}if(!core.status.replay.replaying){return}var a=core.status.replay.speed>=3?3:core.status.replay.speed>=2?2:1;core.status.replay.speed=parseInt(10*core.status.replay.speed+a)/10;if(core.status.replay.speed>6){core.status.replay.speed=6}core.drawTip("x"+core.status.replay.speed+"倍")};control.prototype.speedDownReplay=function(){if(core.status.event.id=="save"){return}if(!core.status.replay.replaying){return}var a=core.status.replay.speed>3?3:core.status.replay.speed>2?2:1;core.status.replay.speed=parseInt(10*core.status.replay.speed-a)/10;if(core.status.replay.speed<0.3){core.status.replay.speed=0.3}core.drawTip("x"+core.status.replay.speed+"倍")};control.prototype.stopReplay=function(){if(core.status.event.id=="save"){return}if(!core.status.replay.replaying){return}core.status.replay.toReplay=[];core.status.replay.totalList=[];core.status.replay.replaying=false;core.status.replay.pausing=false;core.status.replay.speed=1;core.status.replay.steps=0;core.status.replay.save=[];core.updateStatusBar();core.drawTip("停止播放并恢复游戏")};control.prototype.rewindReplay=function(){if(core.status.event.id=="save"){return}if(!core.status.replay.replaying){return}if(!core.status.replay.pausing){core.drawTip("请先暂停录像");return}if(core.status.replay.animate){core.drawTip("请等待当前事件的处理结束");return}if(core.status.replay.save.length==0){core.drawTip("无法再回到上一个节点");return}var b=core.status.replay.save;var a=b.pop();core.loadData(a.data,function(){core.status.replay={replaying:true,pausing:true,animate:false,toReplay:a.replay.toReplay,totalList:a.replay.totalList,speed:a.replay.speed,steps:a.replay.steps,save:b};core.updateStatusBar();core.drawTip("成功回退到上一个节点")})};control.prototype.saveReplay=function(){if(!core.status.replay.replaying){return}if(!core.status.replay.pausing){core.drawTip("请先暂停录像");return}if(core.status.replay.animate||core.isset(core.status.event.id)){core.drawTip("请等待当前事件的处理结束");return}core.lockControl();core.status.event.id="save";var c=core.status.saveIndex;var b=parseInt((c-1)/5),a=c-5*b;core.ui.drawSLPanel(10*b+a)};control.prototype.bookReplay=function(){if(!core.status.replay.replaying){return}if(!core.status.replay.pausing){core.drawTip("请先暂停录像");return}if(core.status.replay.animate||core.isset(core.status.event.id)){core.drawTip("请等待当前事件的处理结束");return}core.lockControl();core.status.event.id="book";core.useItem("book")};control.prototype.replay=function(){if(!core.status.replay.replaying){return}if(core.status.replay.pausing){return}if(core.status.replay.animate){return}if(core.status.replay.toReplay.length==0){core.stopReplay();core.insertAction("录像回放完毕!");return}core.status.replay.steps++;if(core.status.replay.steps%50==0){core.status.replay.save.push({data:core.saveData(),replay:{totalList:core.clone(core.status.replay.totalList),toReplay:core.clone(core.status.replay.toReplay),speed:core.status.replay.speed,steps:core.status.replay.steps}})}var a=core.status.replay.toReplay.shift();if(a=="up"||a=="down"||a=="left"||a=="right"){core.moveHero(a,function(){setTimeout(function(){core.replay()})});return}else{if(a.indexOf("item:")==0){var h=a.substring(5);if(core.canUseItem(h)){var s=Object.keys(core.status.hero.items.tools).sort();var d=Object.keys(core.status.hero.items.constants).sort();var g;if((g=s.indexOf(h))>=0||(g=d.indexOf(h)+100)>=100){core.ui.drawToolbox(g);setTimeout(function(){core.ui.closePanel();core.useItem(h,function(){core.replay()})},750/core.status.replay.speed)}return}}else{if(a.indexOf("fly:")==0){var e=a.substring(4);var r=core.status.hero.flyRange.indexOf(e);var k=core.status.hero.flyRange.indexOf(core.status.floorId);if(core.hasItem("fly")&&r>=0&&k>=0){core.ui.drawFly(r);setTimeout(function(){core.ui.closePanel();var w=r0){var n=core.status.shops[o];if(core.isset(n)&&n.visited){var c=n.choices;var t=6-parseInt(c.length/2);core.status.event.selection=parseInt(m.shift());core.events.openShop(o,false);var p=setInterval(function(){if(!core.actions.clickShop(6,t+core.status.event.selection)){clearInterval(p);core.stopReplay();core.drawTip("录像文件出错");return}if(m.length==0){clearInterval(p);core.actions.clickShop(6,t+c.length);core.replay();return}core.status.event.selection=parseInt(m.shift());core.events.openShop(o,false)},750/core.status.replay.speed);return}}}else{if(a=="turn"){core.turnHero();core.replay();return}else{if(a=="getNext"){if(core.flags.enableGentleClick&&core.getBlock(core.nextX(),core.nextY())!=null){var i=core.nextX(),j=core.nextY();var b=core.getBlock(i,j);if(b!=null&&b.block.event.trigger=="getItem"){core.getItem(b.block.event.id,1,i,j);core.status.route.push("getNext");core.replay();return}}}else{if(a.indexOf("move:")==0){var l=a.substring(5).split(":");var u=parseInt(l[0]),v=parseInt(l[1]);var f=core.canMoveDirectly(u,v);if(f>0){core.clearMap("hero",0,0,416,416);core.setHeroLoc("x",u);core.setHeroLoc("y",v);core.drawHero();core.status.route.push("move:"+u+":"+v);core.status.hero.statistics.moveDirectly++;core.status.hero.statistics.ignoreSteps+=f;core.replay();return}}else{if(a.indexOf("key:")==0){core.actions.keyUp(parseInt(a.substring(4)),true);core.replay();return}}}}}}}}core.stopReplay();core.insertAction("录像文件出错")};control.prototype.checkStatus=function(b,c,a){if(c&&core.status.event.id==b){core.ui.closePanel();return false}if(c&&core.status.lockControl){return false}if(core.isset(a)&&a&&!core.hasItem(b)){core.drawTip("你没有"+core.material.items[b].name);return false}if(!core.status.heroStop){core.drawTip("请先停止勇士行动");return false}core.lockControl();core.status.event.id=b;return true};control.prototype.openBook=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying){return}if(core.status.event.id=="book"&&core.isset(core.status.event.selection)){core.status.boxAnimateObjs=[];core.ui.drawMaps(core.status.event.selection);return}if(core.status.event.id=="viewMaps"){a=false;core.status.event.selection=core.status.event.data}if(!core.checkStatus("book",a,true)){return}core.useItem("book")};control.prototype.useFly=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying){return}if(!core.checkStatus("fly",a,true)){return}if(core.flags.flyNearStair&&!core.nearStair()){core.drawTip("只有在楼梯边才能使用传送器");core.unLockControl();core.status.event.data=null;core.status.event.id=null;return}if(!core.canUseItem("fly")){core.drawTip("楼层传送器好像失效了");core.unLockControl();core.status.event.data=null;core.status.event.id=null;return}core.useItem("fly");return};control.prototype.openToolbox=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying){return}if(!core.checkStatus("toolbox",a)){return}core.ui.drawToolbox()};control.prototype.openQuickShop=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying){return}if(!core.checkStatus("selectShop",a)){return}core.ui.drawQuickShop()};control.prototype.save=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying){return}if(!core.checkStatus("save",a)){return}var d=core.status.saveIndex;var c=parseInt((d-1)/5),b=d-5*c;core.ui.drawSLPanel(10*c+b)};control.prototype.load=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying){return}var d=core.getLocalStorage("saveIndex2",1);var c=parseInt((d-1)/5),b=d-5*c;if(!core.isPlaying()){core.status.event={id:"load",data:null};core.status.lockControl=true;core.dom.startPanel.style.display="none";core.ui.drawSLPanel(10*c+b);return}if(!core.checkStatus("load",a)){return}core.ui.drawSLPanel(10*c+b)};control.prototype.openSettings=function(a){if(core.isset(core.status.replay)&&core.status.replay.replaying){return}if(!core.checkStatus("settings",a)){return}core.ui.drawSettings()};control.prototype.autosave=function(a){if(core.status.event.id!=null){return}var b=null;if(a){b=core.status.route.pop()}core.setLocalStorage("autoSave",core.saveData());if(a&&core.isset(b)){core.status.route.push(b)}};control.prototype.doSL=function(b,e){if(e=="save"){if(b=="autoSave"){core.drawTip("不能覆盖自动存档!");return}if(core.setLocalStorage("save"+b,core.saveData())){core.ui.closePanel();core.drawTip("存档成功!");if(b!="autoSave"){core.status.saveIndex=b;core.setLocalStorage("saveIndex2",core.status.saveIndex)}}else{core.drawTip("存储空间不足,请覆盖已有的存档或在菜单栏中进行清理")}return}else{if(e=="load"){var a=core.getLocalStorage(b=="autoSave"?b:"save"+b,null);if(!core.isset(a)){core.drawTip("无效的存档");return}if(a.version!=core.firstData.version){if(confirm("存档版本不匹配!\n你想回放此存档的录像吗?")){core.dom.startPanel.style.display="none";var d=a.hero.flags.seed;core.resetStatus(core.firstData.hero,a.hard,core.firstData.floorId,null,core.initStatus.maps);core.events.setInitData(a.hard);core.setFlag("seed",d);core.setFlag("rand",d);core.changeFloor(core.status.floorId,null,core.firstData.hero.loc,null,function(){core.startReplay(core.decodeRoute(a.route))},true)}return}core.ui.closePanel();core.loadData(a,function(){core.drawTip("读档成功");if(b!="autoSave"){core.status.saveIndex=b;core.setLocalStorage("saveIndex2",core.status.saveIndex)}});return}else{if(e=="replayLoad"){var a=core.getLocalStorage(b=="autoSave"?b:"save"+b,null);if(!core.isset(a)){core.drawTip("无效的存档");return}if(a.version!=core.firstData.version){core.drawTip("存档版本不匹配");return}if(a.hard!=core.status.hard){core.drawTip("游戏难度不匹配!");return}var c=core.subarray(core.status.route,core.decodeRoute(a.route));if(!core.isset(c)||a.hero.flags.seed!=core.getFlag("seed")){core.drawTip("无法从此存档回放录像");return}core.loadData(a,function(){core.startReplay(c);core.drawTip("回退到存档节点")})}}}};control.prototype.syncSave=function(f){var e=null;if(f=="all"){e=[];for(var c=1;c<=5*(main.savePages||30);c++){var a=core.getLocalStorage("save"+c,null);if(core.isset(a)){e.push(a)}}}else{for(var c=5*(main.savePages||30);c>=1;c--){e=core.getLocalStorage("save"+c,null);if(core.isset(e)){break}}}if(!core.isset(e)){core.drawText("没有要同步的存档");return}core.ui.drawWaiting("正在同步,请稍后...");var b=new FormData();b.append("type","save");b.append("name",core.firstData.name);var d=JSON.stringify(e);b.append("data",d);core.http("POST","/games/sync.php",b,function(g){var h=JSON.parse(g);if(h.code<0){core.drawText("出错啦!\n无法同步存档到服务器。\n错误原因:"+h.msg)}else{core.drawText("同步成功!\n\n您的存档编号: "+h.code+"\n您的存档密码: "+h.msg+"\n\n请牢记以上两个信息(如截图等),在从服务器\n同步存档时使用。")}},function(g){core.drawText("出错啦!\n无法同步存档到服务器。\n错误原因:"+g)})};control.prototype.syncLoad=function(){var b=prompt("请输入存档编号:");if(b==null||b==""){core.ui.drawSyncSave();return}var c=prompt("请输入存档密码:");if(c==null||c==""){core.ui.drawSyncSave();return}core.ui.drawWaiting("正在同步,请稍后...");var a=new FormData();a.append("type","load");a.append("name",core.firstData.name);a.append("id",b);a.append("password",c);core.http("POST","/games/sync.php",a,function(d){var g=JSON.parse(d);switch(g.code){case 0:var d=JSON.parse(g.msg);if(d instanceof Array){core.status.event.selection=1;core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?",function(){for(var h=1;h<=5*(main.savePages||30);h++){if(h<=d.length){core.setLocalStorage("save"+h,d[h-1])}else{core.removeLocalStorage("save"+h)}}core.drawText("同步成功!\n你的本地所有存档均已被覆盖。")},function(){core.status.event.selection=0;core.ui.drawSyncSave()})}else{var f=5*(main.savePages||30);for(var e=5*(main.savePages||30);e>=1;e--){if(core.getLocalStorage("save"+e,null)==null){f=e}else{break}}core.setLocalStorage("save"+f,d);core.drawText("同步成功!\n单存档已覆盖至存档"+f)}break;case -1:core.drawText("出错啦!\n存档编号"+b+"不存在!");break;case -2:core.drawText("出错啦!\n存档密码错误!");break;default:core.drawText("出错啦!\n无法从服务器同步存档。\n错误原因:"+g.msg);break}},function(d){core.drawText("出错啦!\n无法从服务器同步存档。\n错误原因:"+d)})};control.prototype.saveData=function(){var a={floorId:core.status.floorId,hero:core.clone(core.status.hero),hard:core.status.hard,maps:core.maps.save(core.status.maps),route:core.encodeRoute(core.status.route),shops:{},version:core.firstData.version,time:new Date().getTime()};for(var b in core.status.shops){a.shops[b]={times:core.status.shops[b].times||0,visited:core.status.shops[b].visited||false}}core.events.beforeSaveData(a);return a};control.prototype.loadData=function(b,a){core.resetStatus(b.hero,b.hard,b.floorId,core.decodeRoute(b.route),core.maps.load(b.maps));for(var d in core.status.shops){if(core.isset(b.shops[d])){core.status.shops[d].times=b.shops[d].times;core.status.shops[d].visited=b.shops[d].visited}}var c=core.getFlag("heroIcon","hero.png");if(core.isset(core.material.images.images[c])){core.material.images.hero.src=core.material.images.images[c].src;core.material.icons.hero.height=core.material.images.images[c].height/4}core.events.afterLoadData(b);core.changeFloor(b.floorId,null,b.hero.loc,0,function(){if(core.isset(a)){a()}},true)};control.prototype.setStatus=function(a,b){if(core.isset(core.status.hero.loc[a])){core.status.hero.loc[a]=b}else{core.status.hero[a]=b}};control.prototype.getStatus=function(a){if(core.isset(core.status.hero.loc[a])){return core.status.hero.loc[a]}return core.status.hero[a]};control.prototype.getLvName=function(){if(core.status.hero.lv>core.firstData.levelUp.length){return core.status.hero.lv}return core.firstData.levelUp[core.status.hero.lv-1].name||core.status.hero.lv};control.prototype.setFlag=function(a,b){if(!core.isset(core.status.hero)){return}core.status.hero.flags[a]=b};control.prototype.getFlag=function(b,a){if(!core.isset(core.status.hero)){return a}var c=core.status.hero.flags[b];if(core.isset(c)){return c}return a};control.prototype.hasFlag=function(a){if(core.getFlag(a)){return true}return false};control.prototype.lockControl=function(){core.status.lockControl=true};control.prototype.unLockControl=function(){core.status.lockControl=false};control.prototype.playBgm=function(a){if(main.mode!="play"){return}if(!core.musicStatus.bgmStatus){return}if(!core.isset(core.material.bgms[a])){return}if(core.material.bgms[a]=="loading"){core.material.bgms[a]="starting";return}try{if(core.musicStatus.playingBgm==a&&core.musicStatus.isPlaying){return}if(core.isset(core.musicStatus.playingBgm)&&core.musicStatus.isPlaying){core.material.bgms[core.musicStatus.playingBgm].pause()}core.material.bgms[a].volume=core.musicStatus.volume;core.material.bgms[a].play();core.musicStatus.playingBgm=a;core.musicStatus.isPlaying=true}catch(b){console.log("无法播放BGM "+a);console.log(b);core.musicStatus.playingBgm=null}};control.prototype.pauseBgm=function(){try{if(core.isset(core.musicStatus.playingBgm)){core.material.bgms[core.musicStatus.playingBgm].pause()}core.musicStatus.isPlaying=false}catch(a){console.log("无法暂停BGM "+bgm);console.log(a)}};control.prototype.resumeBgm=function(){if(main.mode!="play"){return}if(!core.musicStatus.bgmStatus){return}try{if(core.isset(core.musicStatus.playingBgm)){core.material.bgms[core.musicStatus.playingBgm].play();core.musicStatus.isPlaying=true}else{if(core.bgms.length>0){if(core.isset(core.floors[core.status.floorId].bgm)){core.playBgm(core.floors[core.status.floorId].bgm)}else{core.playBgm(core.bgms[0])}core.musicStatus.isPlaying=true}}}catch(a){console.log("无法恢复BGM "+bgm);console.log(a)}};control.prototype.playSound=function(d){if(main.mode!="play"){return}if(!core.musicStatus.soundStatus){return}if(!core.isset(core.material.sounds[d])){return}try{if(core.musicStatus.audioContext!=null){var f=core.musicStatus.audioContext.createBufferSource();f.buffer=core.material.sounds[d];f.connect(core.musicStatus.gainNode);try{f.start(0)}catch(a){try{f.noteOn(0)}catch(b){}}}else{core.material.sounds[d].volume=core.musicStatus.volume;core.material.sounds[d].play()}}catch(c){console.log("无法播放SE "+d);console.log(c)}};control.prototype.clearStatusBar=function(){var a=["floor","lv","hp","atk","def","mdef","money","experience","up","yellowKey","blueKey","redKey","poison","weak","curse","hard"];a.forEach(function(b){core.statusBar[b].innerHTML=" "});core.statusBar.image.book.style.opacity=0.3;core.statusBar.image.fly.style.opacity=0.3};control.prototype.updateStatusBar=function(){core.events.checkLvUp();if(core.flags.enableHPMax){core.setStatus("hp",Math.min(core.getStatus("hpmax"),core.getStatus("hp")))}core.updateCheckBlock();var b=core.getLvName();core.statusBar.lv.innerHTML=b;if(/^[+-]?\d+$/.test(b)){core.statusBar.lv.style.fontStyle="italic"}else{core.statusBar.lv.style.fontStyle="normal"}var c=["hpmax","hp","atk","def","mdef","money","experience"];c.forEach(function(d){if(core.isset(core.status.hero[d])){core.status.hero[d]=Math.floor(core.status.hero[d])}core.statusBar[d].innerHTML=core.formatBigNumber(core.getStatus(d))});if(core.flags.enableLevelUp&&core.status.hero.lvh&&h9){C=C*9/k}var u;x="3px #fff solid";J="3px #fff solid";var V=(a-U)/4.22;var b=1-V/100;if(U=0}if(typeof a=="number"){return a!=0&&(a%100==b||this.hasSpecial(parseInt(a/100),b))}return false};enemys.prototype.getSpecialText=function(b){var a=core.material.enemys[b];if(!core.isset(a)){return[]}var c=a.special;var d=[];if(this.hasSpecial(c,1)){d.push("先攻")}if(this.hasSpecial(c,2)){d.push("魔攻")}if(this.hasSpecial(c,3)){d.push("坚固")}if(this.hasSpecial(c,4)){d.push("2连击")}if(this.hasSpecial(c,5)){d.push("3连击")}if(this.hasSpecial(c,6)){d.push((a.n||4)+"连击")}if(this.hasSpecial(c,7)){d.push("破甲")}if(this.hasSpecial(c,8)){d.push("反击")}if(this.hasSpecial(c,9)){d.push("净化")}if(this.hasSpecial(c,10)){d.push("模仿")}if(this.hasSpecial(c,11)){d.push("吸血")}if(this.hasSpecial(c,12)){d.push("中毒")}if(this.hasSpecial(c,13)){d.push("衰弱")}if(this.hasSpecial(c,14)){d.push("诅咒")}if(this.hasSpecial(c,15)){d.push("领域")}if(this.hasSpecial(c,16)){d.push("夹击")}if(this.hasSpecial(c,17)){d.push("仇恨")}if(this.hasSpecial(c,18)){d.push("阻击")}if(this.hasSpecial(c,19)){d.push("自爆")}if(this.hasSpecial(c,20)){d.push("无敌")}if(this.hasSpecial(c,21)){d.push("退化")}if(this.hasSpecial(c,22)){d.push("固伤")}if(this.hasSpecial(c,23)){d.push("重生")}return d};enemys.prototype.getSpecialHint=function(a,e){if(!core.isset(e)){var c=[];for(var d=1;d<100;d++){if(this.hasSpecial(a.special,d)){var b=this.getSpecialHint(a,d);if(b!=""){c.push(b)}}}return c}switch(e){case 1:return"先攻:怪物首先攻击";case 2:return"魔攻:怪物无视勇士的防御";case 3:return"坚固:勇士每回合最多只能对怪物造成1点伤害";case 4:return"2连击:怪物每回合攻击2次";case 5:return"3连击:怪物每回合攻击3次";case 6:return(a.n||4)+"连击: 怪物每回合攻击"+(a.n||4)+"次";case 7:return"破甲:战斗前,怪物附加角色防御的"+Math.floor(100*core.values.breakArmor||0)+"%作为伤害";case 8:return"反击:战斗时,怪物每回合附加角色攻击的"+Math.floor(100*core.values.counterAttack||0)+"%作为伤害,无视角色防御";case 9:return"净化:战斗前,怪物附加勇士魔防的"+core.values.purify+"倍作为伤害";case 10:return"模仿:怪物的攻防和勇士攻防相等";case 11:return"吸血:战斗前,怪物首先吸取角色的"+Math.floor(100*a.value||0)+"%生命作为伤害"+(a.add?",并把伤害数值加到自身生命上":"");case 12:return"中毒:战斗后,勇士陷入中毒状态,每一步损失生命"+core.values.poisonDamage+"点";case 13:return"衰弱:战斗后,勇士陷入衰弱状态,攻防暂时下降"+core.values.weakValue+"点";case 14:return"诅咒:战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验";case 15:return"领域:经过怪物周围"+(a.range||1)+"格时自动减生命"+(a.value||0)+"点";case 16:return"夹击:经过两只相同的怪物中间,勇士生命值变成一半";case 17:return"仇恨:战斗前,怪物附加之前积累的仇恨值作为伤害"+(core.flags.hatredDecrease?";战斗后,释放一半的仇恨值":"")+"。(每杀死一个怪物获得"+(core.values.hatred||0)+"点仇恨值)";case 18:return"阻击:经过怪物的十字领域时自动减生命"+(a.value||0)+"点,同时怪物后退一格";case 19:return"自爆:战斗后勇士的生命值变成1";case 20:return"无敌:勇士无法打败怪物,除非拥有十字架";case 21:return"退化:战斗后勇士永久下降"+(a.atkValue||0)+"点攻击和"+(a.defValue||0)+"点防御";case 22:return"固伤:战斗前,怪物对勇士造成"+(a.damage||0)+"点固定伤害,无视勇士魔防。";case 23:return"重生:怪物被击败后,角色转换楼层则怪物将再次出现";default:break}return""};enemys.prototype.canBattle=function(b){var a=this.getDamage(b);return a!=null&&a=1;m--){var i=Math.ceil(f/m)+e;if(i<=b){break}if(i!=l){var j=this.getDamageInfo(g,core.status.hero.hp,i,core.status.hero.def,core.status.hero.mdef);if(j==null){break}d.push([i-b,c.damage-j.damage]);l=i}if(d.length>=k){break}}}else{l=c.damage;for(var a=b+1;a<=f+e;a++){var j=this.getDamageInfo(g,core.status.hero.hp,a,core.status.hero.def,core.status.hero.mdef);if(j==null){break}if(l>j.damage){l=j.damage;d.push([a-b,c.damage-j.damage]);if(d.length>=k){break}}}}if(d.length==0){d.push([0,0])}return d};enemys.prototype.getDefDamage=function(c,a){a=a||1;var b=core.material.enemys[c];var e=this.calDamage(b,core.status.hero.hp,core.status.hero.atk,core.status.hero.def,core.status.hero.mdef);var d=this.calDamage(b,core.status.hero.hp,core.status.hero.atk,core.status.hero.def+a,core.status.hero.mdef);if(e==null||d==null){return"???"}return e-d};enemys.prototype.getDamageInfo=function(l,e,c,d,f){if(typeof l=="string"){l=core.material.enemys[l]}var j=l.hp,h=l.atk,i=l.def,k=l.special;e=Math.max(0,e);c=Math.max(0,c);d=Math.max(0,d);f=Math.max(0,f);if(this.hasSpecial(k,20)&&!core.hasItem("cross")){return null}var g=0;if(this.hasSpecial(k,11)){var o=e*l.value;o=Math.floor(o)||0;if(l.add){j+=o}g+=o}if(this.hasSpecial(k,10)){h=c;i=d}if(this.hasSpecial(k,2)){d=0}if(this.hasSpecial(k,3)&&i=3){l="多属性..."}else{l=l.join(" ")}var c=this.nextCriticals(k);if(c.length>0){c=c[0]}d.push({id:k,name:j.name,hp:i,atk:g,def:h,money:j.money,experience:j.experience,point:j.point||0,special:l,damage:this.getDamage(k),critical:c[0],criticalDamage:c[1],defDamage:this.getDefDamage(k)});m[k]=true}}d.sort(function(n,o){if(n.damage==o.damage){return n.money-o.money}if(n.damage==null){return 1}if(o.damage==null){return -1}return n.damage-o.damage});return d}; \ No newline at end of file diff --git a/libs/events.min.js b/libs/events.min.js new file mode 100644 index 00000000..47ec006a --- /dev/null +++ b/libs/events.min.js @@ -0,0 +1 @@ +function events(){this.init()}events.prototype.init=function(){this.eventdata=functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a.events;this.events={battle:function(c,b,a){b.battle(c.event.id,c.x,c.y);if(b.isset(a)){a()}},getItem:function(c,b,a){b.getItem(c.event.id,1,c.x,c.y);if(b.isset(a)){a()}},openDoor:function(c,b,a){b.openDoor(c.event.id,c.x,c.y,true,function(){if(b.isset(a)){a()}b.replay()})},changeFloor:function(c,b,a){var d={};if(b.isset(c.event.data.loc)){d={x:c.event.data.loc[0],y:c.event.data.loc[1]}}if(b.isset(c.event.data.direction)){d.direction=c.event.data.direction}b.changeFloor(c.event.data.floorId,c.event.data.stair,d,c.event.data.time,function(){if(b.isset(a)){a()}b.replay()})},passNet:function(c,b,a){b.events.passNet(c);if(b.isset(a)){a()}},changeLight:function(c,b,a){b.events.changeLight(c.x,c.y);if(b.isset(a)){a()}},ski:function(c,b,a){b.events.ski();if(b.isset(a)){a()}},pushBox:function(c,b,a){b.events.pushBox(c);if(b.isset(a)){a()}},action:function(c,b,a){b.events.insertAction(c.event.data,c.x,c.y,a)}}};events.prototype.getEvents=function(a){if(!core.isset(a)){return this.events}return this.events[a]};events.prototype.initGame=function(){return this.eventdata.initGame()};events.prototype.startGame=function(a){if(core.status.isStarting){return}core.status.isStarting=true;core.hideStartAnimate(function(){core.drawText(core.clone(core.firstData.startText),function(){if(core.flags.showBattleAnimateConfirm){core.status.event.selection=core.flags.battleAnimate?0:1;core.ui.drawConfirmBox("你想开启战斗动画吗?\n之后可以在菜单栏中开启或关闭。\n(强烈建议新手开启此项)",function(){core.flags.battleAnimate=true;core.setLocalStorage("battleAnimate",true);core.startGame(a);core.utils.__init_seed();core.events.setInitData(a)},function(){core.flags.battleAnimate=false;core.setLocalStorage("battleAnimate",false);core.startGame(a);core.utils.__init_seed();core.events.setInitData(a)})}else{core.startGame(a);core.utils.__init_seed();core.events.setInitData(a)}})})};events.prototype.setInitData=function(a){return this.eventdata.setInitData(a)};events.prototype.win=function(a){return this.eventdata.win(a)};events.prototype.lose=function(a){return this.eventdata.lose(a)};events.prototype.gameOver=function(c,d){core.clearMap("animate",0,0,416,416);core.dom.gif2.innerHTML="";core.clearMap("weather",0,0,416,416);core.animateFrame.weather.type=null;core.animateFrame.weather.level=0;core.animateFrame.weather.nodes=[];core.setFg(null,0);core.ui.closePanel();var a=function(){core.ui.closePanel();core.ui.drawConfirmBox("你想下载录像吗?",function(){var e={name:core.firstData.name,version:core.firstData.version,hard:core.status.hard,seed:core.getFlag("seed"),route:core.encodeRoute(core.status.route)};core.download(core.firstData.name+"_"+core.formatDate2(new Date())+".h5route",JSON.stringify(e));core.restart()},function(){core.restart()})};var b=function(){core.ui.closePanel();if(!core.isset(c)){a();return}var e=function(h){var g=core.status.hero.hp;if(h==undefined){g=1}var f=new FormData();f.append("type","score");f.append("name",core.firstData.name);f.append("version",core.firstData.version);f.append("platform",core.platform.isPC?"PC":core.platform.isAndroid?"Android":core.platform.isIOS?"iOS":"");f.append("hard",core.status.hard);f.append("username",h||"");f.append("ending",c);f.append("lv",core.status.hero.lv);f.append("hp",Math.min(g,Math.pow(2,63)));f.append("atk",core.status.hero.atk);f.append("def",core.status.hero.def);f.append("mdef",core.status.hero.mdef);f.append("money",core.status.hero.money);f.append("experience",core.status.hero.experience);f.append("steps",core.status.hero.steps);f.append("seed",core.getFlag("seed"));f.append("totalTime",Math.floor(core.status.hero.statistics.totalTime/1000));f.append("route",core.encodeRoute(core.status.route));if(main.isCompetition){core.http("POST","/games/competition/upload.php",f)}else{core.http("POST","/games/upload.php",f)}setTimeout(function(){a()},150)};core.ui.drawConfirmBox("你想记录你的ID和成绩吗?",function(){if(main.isCompetition){e("")}else{e(prompt("请输入你的ID:"))}},function(){if(main.isCompetition){a()}else{e(undefined)}});return};if(d){core.drawText("录像回放完毕!",function(){core.restart()})}else{if(core.isset(core.values.maxValidHp)&&core.status.hero.hp>core.values.maxValidHp){core.drawText("作弊可耻!",function(){core.restart()})}else{if(core.hasFlag("debug")){core.drawText("\t[系统提示]调试模式下无法上传成绩",function(){core.restart()})}else{b()}}}};events.prototype.afterChangeFloor=function(a){if(main.mode!="play"){return}return this.eventdata.afterChangeFloor(a)};events.prototype.doEvents=function(b,c,d,a){if(!core.isset(b)){return}if(!(b instanceof Array)){b=[b]}core.waitHeroToStop(function(){core.lockControl();core.status.event={id:"action",data:{list:[{todo:core.clone(b),total:core.clone(b),condition:"false"}],x:c,y:d,callback:a}};core.events.doAction()})};events.prototype.doAction=function(){core.status.boxAnimateObjs=[];clearInterval(core.status.event.interval);core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);if(core.status.event.data.list.length==0){var callback=core.status.event.data.callback;core.ui.closePanel();if(core.isset(callback)){callback()}core.replay();return}var current=core.status.event.data.list[0];if(current.todo.length==0){if(core.calValue(current.condition)){current.todo=core.clone(current.total)}else{core.status.event.data.list.shift()}this.doAction();return}var data=current.todo.shift();core.status.event.data.current=data;var x=core.status.event.data.x,y=core.status.event.data.y;if(typeof data=="string"){core.status.event.data.type="text";if(core.status.replay.replaying){core.events.doAction()}else{core.ui.drawTextBox(data)}return}core.status.event.data.type=data.type;switch(data.type){case"text":if(core.status.replay.replaying){core.events.doAction()}else{core.ui.drawTextBox(data.text)}break;case"autoText":if(core.status.replay.replaying){core.events.doAction()}else{core.ui.drawTextBox(data.text);setTimeout(function(){core.events.doAction()},data.time||3000)}break;case"setText":if(data.position=="up"||data.position=="down"||data.position=="center"){core.status.textAttribute.position=data.position}["background","title","text"].forEach(function(t){if(core.isset(data[t])&&(data[t] instanceof Array)&&data[t].length>=3){if(data[t].length==3){data[t].push(1)}core.status.textAttribute[t]=data[t]}});if(core.isset(data.bold)){core.status.textAttribute.bold=data.bold}if(core.isset(data.time)){core.status.textAttribute.time=data.time}core.events.doAction();break;case"tip":core.drawTip(core.replaceText(data.text));core.events.doAction();break;case"show":if(!core.isset(data.loc)){data.loc=[x,y]}if((typeof data.loc[0]=="number"||typeof data.loc[0]=="string")&&(typeof data.loc[1]=="number"||typeof data.loc[1]=="string")){data.loc=[[core.calValue(data.loc[0]),core.calValue(data.loc[1])]]}if(core.isset(data.time)&&data.time>0&&(!core.isset(data.floorId)||data.floorId==core.status.floorId)){core.animateBlock(data.loc,"show",data.time,function(){data.loc.forEach(function(t){core.showBlock(t[0],t[1],data.floorId)});core.events.doAction()})}else{data.loc.forEach(function(t){core.showBlock(t[0],t[1],data.floorId)});this.doAction()}break;case"hide":if(!core.isset(data.loc)){data.loc=[x,y]}if((typeof data.loc[0]=="number"||typeof data.loc[0]=="string")&&(typeof data.loc[1]=="number"||typeof data.loc[1]=="string")){data.loc=[[core.calValue(data.loc[0]),core.calValue(data.loc[1])]]}data.loc.forEach(function(t){core.removeBlock(t[0],t[1],data.floorId)});if(core.isset(data.time)&&data.time>0&&(!core.isset(data.floorId)||data.floorId==core.status.floorId)){core.animateBlock(data.loc,"hide",data.time,function(){core.events.doAction()})}else{this.doAction()}break;case"setBlock":if(core.isset(data.loc)){x=core.calValue(data.loc[0]);y=core.calValue(data.loc[1])}core.setBlock(data.number,x,y,data.floorId);this.doAction();break;case"animate":if(core.isset(data.loc)){if(data.loc=="hero"){x=core.getHeroLoc("x");y=core.getHeroLoc("y")}else{if(data.loc instanceof Array){x=core.calValue(data.loc[0]);y=core.calValue(data.loc[1])}}}core.drawAnimate(data.name,x,y,function(){core.events.doAction()});break;case"move":if(core.isset(data.loc)){x=core.calValue(data.loc[0]);y=core.calValue(data.loc[1])}core.moveBlock(x,y,data.steps,data.time,data.immediateHide,function(){core.events.doAction()});break;case"moveHero":core.eventMoveHero(data.steps,data.time,function(){core.events.doAction()});break;case"changeFloor":var heroLoc={x:core.calValue(data.loc[0]),y:core.calValue(data.loc[1])};if(core.isset(data.direction)){heroLoc.direction=data.direction}core.changeFloor(data.floorId||core.status.floorId,null,heroLoc,data.time,function(){core.lockControl();core.events.doAction()});break;case"changePos":core.clearMap("hero",0,0,416,416);if(core.isset(data.loc)){core.setHeroLoc("x",core.calValue(data.loc[0]));core.setHeroLoc("y",core.calValue(data.loc[1]))}if(core.isset(data.direction)){core.setHeroLoc("direction",data.direction)}core.drawHero();this.doAction();break;case"showImage":if(core.isset(data.loc)&&core.isset(core.material.images.images[data.name])){core.canvas.animate.drawImage(core.material.images.images[data.name],core.calValue(data.loc[0]),core.calValue(data.loc[1]))}else{core.clearMap("animate",0,0,416,416)}this.doAction();break;case"animateImage":if(core.status.replay.replaying){this.doAction()}else{if(core.isset(data.loc)&&core.isset(core.material.images.images[data.name])&&(data.action=="show"||data.action=="hide")){core.events.animateImage(data.action,core.material.images.images[data.name],data.loc,data.time,function(){core.events.doAction()})}else{this.doAction()}}break;case"showGif":if(core.isset(data.loc)&&core.isset(core.material.images.images[data.name])){var gif=new Image();gif.src=core.material.images.images[data.name].src;gif.style.position="absolute";gif.style.left=(core.calValue(data.loc[0])*core.domStyle.scale)+"px";gif.style.top=(core.calValue(data.loc[1])*core.domStyle.scale)+"px";core.dom.gif2.appendChild(gif)}else{core.dom.gif2.innerHTML=""}this.doAction();break;case"moveImage":if(core.status.replay.replaying){this.doAction()}else{if(core.isset(data.from)&&core.isset(data.to)&&core.isset(core.material.images.images[data.name])){core.events.moveImage(core.material.images.images[data.name],data.from,data.to,data.time,function(){core.events.doAction()})}else{this.doAction()}}break;case"setFg":core.setFg(data.color,data.time,function(){core.events.doAction()});break;case"setWeather":core.setWeather(data.name,data.level);this.doAction();break;case"openDoor":var floorId=data.floorId||core.status.floorId;var block=core.getBlock(core.calValue(data.loc[0]),core.calValue(data.loc[1]),floorId);if(block!=null){if(floorId==core.status.floorId){core.openDoor(block.block.event.id,block.block.x,block.block.y,false,function(){core.events.doAction()})}else{core.removeBlock(block.block.x,block.block.y,floorId);this.doAction()}break}this.doAction();break;case"openShop":if(core.status.replay.replaying){core.status.shops[data.id].visited=true;core.status.event.data.list=[];this.doAction()}else{core.events.openShop(data.id)}break;case"disableShop":core.events.disableQuickShop(data.id);this.doAction();break;case"battle":core.battle(data.id,null,null,true,function(){core.events.doAction()});break;case"trigger":var toX=core.calValue(data.loc[0]),toY=core.calValue(data.loc[1]);var block=core.getBlock(toX,toY);if(block!=null){block=block.block;if(core.isset(block.event)&&block.event.trigger=="action"){core.status.event.data.list=[{todo:core.clone(block.event.data),total:core.clone(block.event.data),condition:"false"}];core.status.event.data.x=block.x;core.status.event.data.y=block.y}}this.doAction();break;case"playSound":if(!core.status.replay.replaying){core.playSound(data.name)}this.doAction();break;case"playBgm":core.playBgm(data.name);this.doAction();break;case"pauseBgm":core.pauseBgm();this.doAction();break;case"resumeBgm":core.resumeBgm();this.doAction();break;case"setVolume":data.value=parseInt(data.value||0);if(data.value>100){data.value=100}data.value=data.value/100;core.musicStatus.volume=data.value;if(core.isset(core.musicStatus.playingBgm)){core.material.bgms[core.musicStatus.playingBgm].volume=data.value}core.musicStatus.gainNode.gain.value=data.value;this.doAction();break;case"setValue":try{var value=core.calValue(data.value);if(data.name.indexOf("status:")==0){value=parseFloat(value);core.setStatus(data.name.substring(7),value)}if(data.name.indexOf("item:")==0){value=parseInt(value);var itemId=data.name.substring(5);if(value>core.itemCount(itemId)){core.getItem(itemId,value-core.itemCount(itemId))}else{core.setItem(itemId,value)}}if(data.name.indexOf("flag:")==0){core.setFlag(data.name.substring(5),value)}}catch(e){console.log(e)}if(core.status.hero.hp<=0){core.status.hero.hp=0;core.updateStatusBar();core.events.lose()}else{core.updateStatusBar();this.doAction()}break;case"setHeroIcon":this.setHeroIcon(data.name);this.doAction();break;case"input":var value;if(core.status.replay.replaying){var action=core.status.replay.toReplay.shift();if(action.indexOf("input:")==0){value=parseInt(action.substring(6))}else{core.stopReplay();core.drawTip("录像文件出错");return}}else{core.interval.onDownInterval="tmp";value=prompt(core.replaceText(data.text))}value=Math.abs(parseInt(value)||0);core.status.route.push("input:"+value);core.setFlag("input",value);this.doAction();break;case"if":if(core.calValue(data.condition)){core.events.insertAction(data["true"])}else{core.events.insertAction(data["false"])}this.doAction();break;case"choices":if(core.status.replay.replaying){if(core.status.replay.toReplay.length==0){core.status.replay.replaying=false;core.drawTip("录像回放完毕")}else{var action=core.status.replay.toReplay.shift(),index;if(action.indexOf("choices:")==0&&((index=parseInt(action.substring(8)))>=0)&&index=10000){core.setFlag("type",1);core.setFlag("x",parseInt((value-10000)/100));core.setFlag("y",value%100)}else{core.setFlag("type",0);core.setFlag("keycode",value)}core.events.doAction()}else{core.stopReplay();core.drawTip("录像文件出错")}}break;case"revisit":var block=core.getBlock(x,y);if(block!=null){block=block.block;if(core.isset(block.event)&&block.event.trigger=="action"){core.status.event.data.list=[{todo:core.clone(block.event.data),total:core.clone(block.event.data),condition:"false"}]}}this.doAction();break;case"exit":core.status.event.data.list=[];core.events.doAction();break;default:core.status.event.data.type="text";core.ui.drawTextBox("\t[警告]出错啦!\n"+data.type+" 事件不被支持...")}return};events.prototype.insertAction=function(a,c,d,b){if(core.status.event.id==null){this.doEvents(a,c,d,b)}else{core.unshift(core.status.event.data.list[0].todo,a);if(core.isset(c)){core.status.event.data.x=c}if(core.isset(d)){core.status.event.data.y=d}if(core.isset(b)){core.status.event.data.callback=b}}};events.prototype.getNextItem=function(){if(!core.status.heroStop||!core.flags.enableGentleClick){return}var b=core.nextX(),c=core.nextY();var a=core.getBlock(b,c);if(a==null){return}if(a.block.event.trigger=="getItem"){core.getItem(a.block.event.id,1,b,c);core.status.route.push("getNext")}};events.prototype.getItem=function(d,e,f,g,a){core.playSound("item.mp3");var c=core.material.items[d].cls;core.items.getItemEffect(d,e);core.removeBlock(f,g);var h="获得 "+core.material.items[d].name;if(e>1){h+="x"+e}if(c==="items"){h+=core.items.getItemEffectTip(d)}core.drawTip(h,core.material.icons.items[d]);core.canvas.event.clearRect(f*32,g*32,32,32);core.updateStatusBar();var b=core.floors[core.status.floorId].afterGetItem[f+","+g];if(core.isset(b)){core.events.doEvents(b,f,g,a)}else{if(core.isset(a)){a()}}};events.prototype.openDoor=function(d,i,j,f,a){if(core.interval.openDoorAnimate!=null){return}if(!core.terrainExists(i,j,d)&&d!="lava"&&d!="star"){if(core.isset(a)){a()}return}if(core.status.automaticRoute.moveStepBeforeStop.length==0){core.status.automaticRoute.moveStepBeforeStop=core.status.automaticRoute.autoStepRoutes.slice(core.status.automaticRoute.autoStep-1,core.status.automaticRoute.autoStepRoutes.length);if(core.status.automaticRoute.moveStepBeforeStop.length>=1){core.status.automaticRoute.moveStepBeforeStop[0].step-=core.status.automaticRoute.movedStep}}core.stopAutomaticRoute();var g=30;var c=d;if(c.length<4||c.substring(c.length-4)!="Door"){c=c+"Door";g=70}if(!core.isset(core.material.icons.animates[c])){if(core.isset(a)){a()}return}var e=d.replace("Door","Key");if(f&&(e=="specialKey"||core.isset(core.material.items[e]))){var e=d.replace("Door","Key");if(!core.hasItem(e)){if(e!="specialKey"){core.drawTip("你没有"+core.material.items[e].name)}else{core.drawTip("无法开启此门")}core.clearContinueAutomaticRoute();return}core.autosave(true);core.removeItem(e)}core.playSound("door.mp3");var h=0;var b=core.material.icons.animates[c];core.status.replay.animate=true;core.removeGlobalAnimate(i,j);core.interval.openDoorAnimate=window.setInterval(function(){h++;if(h==4){clearInterval(core.interval.openDoorAnimate);core.interval.openDoorAnimate=null;core.removeBlock(i,j);core.status.replay.animate=false;core.events.afterOpenDoor(d,i,j,a);return}core.canvas.event.clearRect(32*i,32*j,32,32);core.canvas.event.drawImage(core.material.images.animates,32*h,32*b,32,32,32*i,32*j,32,32)},g/core.status.replay.speed)};events.prototype.battle=function(c,d,e,b,a){if(core.status.automaticRoute.moveStepBeforeStop.length==0){core.status.automaticRoute.moveStepBeforeStop=core.status.automaticRoute.autoStepRoutes.slice(core.status.automaticRoute.autoStep-1,core.status.automaticRoute.autoStepRoutes.length);if(core.status.automaticRoute.moveStepBeforeStop.length>=1){core.status.automaticRoute.moveStepBeforeStop[0].step-=core.status.automaticRoute.movedStep}}core.stopHero();core.stopAutomaticRoute();if(!core.enemys.canBattle(c)&&!b){core.drawTip("你打不过此怪物!");core.clearContinueAutomaticRoute();return}if(!core.isset(core.status.event.id)){core.autosave(true)}if(core.flags.battleAnimate&&!core.status.replay.replaying){core.waitHeroToStop(function(){core.ui.drawBattleAnimate(c,function(){core.events.afterBattle(c,d,e,a)})})}else{if(core.flags.equipment&&core.getFlag("sword","sword0")!="sword0"){core.playSound("zone.mp3");core.drawAnimate("sword",d,e)}else{core.playSound("attack.mp3");core.drawAnimate("hand",d,e)}core.events.afterBattle(c,d,e,a)}};events.prototype.trigger=function(g,h){var d=core.status.thisMap.blocks;var e;for(var a=0;a=1||e<=0){clearInterval(a);core.clearMap("data",0,0,416,416);core.setOpacity("data",1);core.status.replay.animate=false;if(core.isset(b)){b()}}},f/10)};events.prototype.moveImage=function(g,d,j,i,b){i=i||1000;clearInterval(core.interval.tipAnimate);core.setAlpha("data",1);core.setOpacity("data",1);core.status.replay.animate=true;var e=core.calValue(d[0]),f=core.calValue(d[1]),k=core.calValue(j[0]),l=core.calValue(j[1]);var h=0;var c=function(){core.clearMap("data",0,0,416,416);var m=parseInt(e+(k-e)*h/64);var n=parseInt(f+(l-f)*h/64);core.canvas.data.drawImage(g,m,n)};c();var a=setInterval(function(){h++;c();if(h>=64){clearInterval(a);core.clearMap("data",0,0,416,416);core.status.replay.animate=false;if(core.isset(b)){b()}}},i/64)};events.prototype.openShop=function(shopId,needVisited){var shop=core.status.shops[shopId];shop.times=shop.times||0;shop.visited=shop.visited||false;if(needVisited&&!shop.visited){if(shop.times==0){core.drawTip("该商店尚未开启")}else{core.drawTip("该商店已失效")}return}shop.visited=true;var selection=core.status.event.selection;var actions=[];if(core.isset(core.status.event.data)&&core.isset(core.status.event.data.actions)){actions=core.status.event.data.actions}var fromList;if(core.isset(core.status.event.data)&&core.isset(core.status.event.data.fromList)){fromList=core.status.event.data.fromList}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 content="\t["+shop.name+","+shop.icon+"]";var times=shop.times,need=eval(shop.need);content=content+shop.text.replace(/\${([^}]+)}/g,function(word,value){return eval(value)});var use=shop.use=="experience"?"经验":"金币";var choices=[];for(var i=0;i=core.firstData.levelUp.length){return}var need=core.firstData.levelUp[core.status.hero.lv].need;if(!core.isset(need)){return}if(core.status.hero.experience>=need){core.status.hero.lv++;var effect=core.firstData.levelUp[core.status.hero.lv-1].effect;if(typeof effect=="string"){if(effect.indexOf("function")==0){eval("("+effect+")()")}else{effect.split(";").forEach(function(t){core.doEffect(t)})}}else{if(effect instanceof Function){effect()}}this.checkLvUp()}};events.prototype.useItem=function(b){core.ui.closePanel();if(b=="book"){core.openBook(false);return}if(b=="fly"){core.useFly(false);return}if(b=="centerFly"){core.status.usingCenterFly=true;var a="rgba(255,0,0,0.5)";if(core.canUseItem("centerFly")){a="rgba(0,255,0,0.5)"}core.fillRect("ui",(12-core.getHeroLoc("x"))*32,(12-core.getHeroLoc("y"))*32,32,32,a);core.drawTip("请确认当前中心对称飞行器的位置");return}if(core.canUseItem(b)){core.useItem(b)}else{core.drawTip("当前无法使用"+core.material.items[b].name)}};events.prototype.addPoint=function(a){return this.eventdata.addPoint(a)};events.prototype.afterBattle=function(b,c,d,a){return this.eventdata.afterBattle(b,c,d,a)};events.prototype.afterOpenDoor=function(b,c,d,a){return this.eventdata.afterOpenDoor(b,c,d,a)};events.prototype.passNet=function(a){if(core.hasItem("shoes")){return}if(a.event.id=="lavaNet"){}if(a.event.id=="poisonNet"){if(core.hasFlag("poison")){return}core.setFlag("poison",true)}if(a.event.id=="weakNet"){if(core.hasFlag("weak")){return}core.setFlag("weak",true);var d=core.values.weakValue;var b=d>=1?d:Math.floor(d*core.status.hero.atk);var c=d>=1?d:Math.floor(d*core.status.hero.def);core.setFlag("weakAtk",b);core.setFlag("weakDef",c);core.status.hero.atk-=b;core.status.hero.def-=c}if(a.event.id=="curseNet"){if(core.hasFlag("curse")){return}core.setFlag("curse",true)}core.updateStatusBar()};events.prototype.changeLight=function(c,d){var a=core.getBlock(c,d);if(a==null){return}var b=a.index;a=a.block;if(a.event.id!="light"){return}a.id=166;a.event={cls:"terrains",id:"darkLight",noPass:true};core.drawBlock(a);this.afterChangeLight(c,d)};events.prototype.afterChangeLight=function(a,b){return this.eventdata.afterChangeLight(a,b)};events.prototype.ski=function(a){if(!core.isset(a)){a=core.status.automaticRoute.lastDirection||core.getHeroLoc("direction")}if(core.status.event.id!="ski"){core.waitHeroToStop(function(){core.status.event.id="ski";core.events.ski(a)})}else{core.moveHero(a,function(){if(core.status.event.id=="ski"){core.status.event.id=null;core.unLockControl();core.replay()}})}};events.prototype.pushBox=function(b){if(b.event.id!="box"&&b.event.id!="boxed"){return}var f={up:{x:0,y:-1},left:{x:-1,y:0},down:{x:0,y:1},right:{x:1,y:0}};var c=core.getHeroLoc("direction"),d=b.x+f[c].x,e=b.y+f[c].y;if(d<0||d>12||e<0||e>12){return}var a=core.getBlock(d,e,null,false);if(a!=null&&!(core.isset(a.block.event)&&a.block.event.id=="flower")){return}if(a==null){core.status.thisMap.blocks.push(core.maps.initBlock(d,e,169));a=core.getBlock(d,e)}else{a.block.id=170;a.block.event=core.maps.initBlock(null,null,170).event}core.drawBlock(a.block);if(b.event.id=="box"){core.removeBlock(b.x,b.y)}else{b.id=168;b.event=core.maps.initBlock(null,null,168).event;core.drawBlock(b)}core.updateStatusBar();core.status.replay.animate=true;core.moveHero(c,function(){core.status.replay.animate=false;core.status.route.pop();core.events.afterPushBox();core.replay()})};events.prototype.afterPushBox=function(){return this.eventdata.afterPushBox()};events.prototype.afterUseBomb=function(){return this.eventdata.afterUseBomb()};events.prototype.beforeSaveData=function(a){return this.eventdata.beforeSaveData(a)};events.prototype.afterLoadData=function(a){return this.eventdata.afterLoadData(a)}; \ No newline at end of file diff --git a/libs/icons.min.js b/libs/icons.min.js new file mode 100644 index 00000000..26e6b975 --- /dev/null +++ b/libs/icons.min.js @@ -0,0 +1 @@ +function icons(){this.init()}icons.prototype.init=function(){this.icons=icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1};icons.prototype.getIcons=function(){return this.icons}; \ No newline at end of file diff --git a/libs/items.min.js b/libs/items.min.js new file mode 100644 index 00000000..807d8f3d --- /dev/null +++ b/libs/items.min.js @@ -0,0 +1 @@ +function items(){this.init()}items.prototype.init=function(){this.items=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.items;this.itemEffect=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.itemEffect;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};items.prototype.getItems=function(){return this.items};items.prototype.getItemEffect=function(itemId,itemNum){var itemCls=core.material.items[itemId].cls;if(itemCls==="items"){var ratio=parseInt(core.floors[core.status.floorId].item_ratio)||1;var curr_hp=core.status.hero.hp;if(itemId in this.itemEffect){eval(this.itemEffect[itemId])}core.status.hero.statistics.hp+=core.status.hero.hp-curr_hp}else{core.addItem(itemId,itemNum)}};items.prototype.getItemEffectTip=function(itemId){var itemCls=core.material.items[itemId].cls;if(itemCls==="items"){var ratio=parseInt(core.floors[core.status.floorId].item_ratio)||1;if(itemId in this.itemEffectTip){return eval(this.itemEffectTip[itemId])||""}}return""};items.prototype.useItem=function(itemId,callback){if(!this.canUseItem(itemId)){if(core.isset(callback)){callback()}return}var itemCls=core.material.items[itemId].cls;if(itemId in this.useItemEffect){eval(this.useItemEffect[itemId])}core.updateStatusBar();if(itemId!="book"&&itemId!="fly"){core.status.route.push("item:"+itemId)}if(itemCls=="tools"){core.status.hero.items[itemCls][itemId]--}if(core.status.hero.items[itemCls][itemId]==0){delete core.status.hero.items[itemCls][itemId]}if(core.isset(callback)){callback()}};items.prototype.canUseItem=function(itemId){if(!core.hasItem(itemId)){return false}if(itemId in this.canUseItemEffect){return eval(this.canUseItemEffect[itemId])}return false};items.prototype.itemCount=function(b){if(!core.isset(b)||!core.isset(core.material.items[b])){return 0}var a=core.material.items[b].cls;if(a=="items"){return 0}return core.isset(core.status.hero.items[a][b])?core.status.hero.items[a][b]:0};items.prototype.hasItem=function(a){return core.itemCount(a)>0};items.prototype.setItem=function(b,c){var a=core.material.items[b].cls;if(a=="items"){return}if(!core.isset(core.status.hero.items[a])){core.status.hero.items[a]={}}core.status.hero.items[a][b]=c;if(a!="keys"&&c==0){delete core.status.hero.items[a][b]}};items.prototype.removeItem=function(b){if(!core.hasItem(b)){return false}var a=core.material.items[b].cls;core.status.hero.items[a][b]--;if(a!="keys"&&core.status.hero.items[a][b]==0){delete core.status.hero.items[a][b]}core.updateStatusBar();return true};items.prototype.addItem=function(c,d){var b=core.material.items[c];var a=b.cls;if(a=="items"){return}if(!core.isset(core.status.hero.items[a])){core.status.hero.items[a]={};core.status.hero.items[a][c]=0}else{if(!core.isset(core.status.hero.items[a][c])){core.status.hero.items[a][c]=0}}core.status.hero.items[a][c]+=d}; \ No newline at end of file diff --git a/libs/loader.min.js b/libs/loader.min.js new file mode 100644 index 00000000..0d0576e9 --- /dev/null +++ b/libs/loader.min.js @@ -0,0 +1 @@ +function loader(){this.init()}loader.prototype.init=function(){};loader.prototype.setStartProgressVal=function(a){core.dom.startTopProgress.style.width=a+"%"};loader.prototype.setStartLoadTipText=function(a){core.dom.startTopLoadTips.innerHTML=a};loader.prototype.load=function(a){core.loader.loadIcons();core.loader.loadImages(core.materials,core.material.images,function(){core.material.images.images={};var b=core.clone(core.images);if(b.indexOf("hero.png")<0){b.push("hero.png")}core.loader.loadImages(b,core.material.images.images,function(){core.material.images.autotile={};core.loader.loadImages(Object.keys(core.material.icons.autotile),core.material.images.autotile,function(){core.loader.loadAnimates();core.loader.loadMusic();if(core.isset(a)){a()}})})})};loader.prototype.loadIcons=function(){this.loadImage("icons.png",function(a,b){var c=core.cropImage(b);for(var d in core.statusBar.icons){if(typeof core.statusBar.icons[d]=="number"){core.statusBar.icons[d]=c[core.statusBar.icons[d]];if(core.isset(core.statusBar.image[d])){core.statusBar.image[d].src=core.statusBar.icons[d].src}}}})};loader.prototype.loadImages=function(d,f,a){if(d.length==0){if(core.isset(a)){a()}return}var c=0;for(var b=0;b0){core.playBgm(core.bgms[0])}}; \ No newline at end of file diff --git a/libs/maps.min.js b/libs/maps.min.js new file mode 100644 index 00000000..44ad9e26 --- /dev/null +++ b/libs/maps.min.js @@ -0,0 +1 @@ +function maps(){this.init()}maps.prototype.init=function(){this.blocksInfo=maps_90f36752_8815_4be8_b32b_d7fad1d0542e};maps.prototype.loadFloor=function(c,d){var b=core.floors[c];var a={};a.floorId=b.floorId;a.name=b.name;a.title=b.title;a.canFlyTo=b.canFlyTo;if(!core.isset(d)){d=b.map}var e=function(m,n,h){var g=[];for(var k=0;k<13;k++){for(var l=0;l<13;l++){var f=n.initBlock(l,k,m[k][l]);n.addInfo(f);n.addEvent(f,l,k,h.events[l+","+k]);n.addChangeFloor(f,l,k,h.changeFloor[l+","+k]);if(core.isset(f.event)){g.push(f)}}}return g};if(main.mode=="editor"){main.editor.mapIntoBlocks=function(g,f){return e(g,core.maps,f)}}a.blocks=e(d,this,b);return a};maps.prototype.initBlock=function(d,e,b){var a=null;b=""+b;if(b.length>2){if(b.indexOf(":f")==b.length-2){b=b.substring(0,b.length-2);a=false}else{if(b.indexOf(":t")==b.length-2){b=b.substring(0,b.length-2);a=true}}}b=parseInt(b);var c={x:d,y:e,id:b};if(a!=null){c.enable=a}if(b in this.blocksInfo){c.event=JSON.parse(JSON.stringify(this.blocksInfo[b]))}return c};maps.prototype.addInfo=function(a){if(core.isset(a.event)){if(a.event.cls.indexOf("enemy")==0&&!core.isset(a.event.trigger)){a.event.trigger="battle"}if(a.event.cls=="items"&&!core.isset(a.event.trigger)){a.event.trigger="getItem"}if(!core.isset(a.event.noPass)){if(a.event.cls.indexOf("enemy")==0||a.event.cls.indexOf("npc")==0||a.event.cls=="terrains"){a.event.noPass=true}}if(!core.isset(a.event.animate)){if(a.event.cls=="enemys"||a.event.cls=="npcs"){a.event.animate=2}if(a.event.cls=="animates"||a.event.cls=="enemy48"||a.event.cls=="npc48"){a.event.animate=4}}a.event.height=32;if(a.event.cls=="enemy48"||a.event.cls=="npc48"){a.event.height=48}}};maps.prototype.addEvent=function(a,d,e,b){if(!core.isset(b)){return}if(!core.isset(a.event)){a.event={cls:"terrains",id:"none",noPass:false}}if(typeof b=="string"){b={data:[b]}}else{if(b instanceof Array){b={data:b}}}if(!core.isset(b.data)){b.data=[]}if(core.isset(b.noPass)){a.event.noPass=b.noPass}if(!core.isset(a.enable)&&core.isset(b.enable)){a.enable=b.enable}if(!core.isset(a.event.trigger)){if(core.isset(b.trigger)){a.event.trigger=b.trigger}else{a.event.trigger="action"}}else{if(core.isset(b.trigger)&&b.trigger!="checkBlock"){a.event.trigger=b.trigger}}for(var c in b){if(c!="enable"&&c!="trigger"&&c!="noPass"&&core.isset(b[c])){a.event[c]=core.clone(b[c])}}};maps.prototype.addChangeFloor=function(a,d,e,b,c){if(!core.isset(b)){return}this.addEvent(a,d,e,{trigger:"changeFloor",data:b},c)};maps.prototype.initMaps=function(b){var d={};for(var c=0;c=0){return false}}var h=core.getBlock(k,l,c);if(h!=null){nowId=h.block.event.id;var i=nowId.slice(0,5).toLowerCase()=="arrow";if(i){var g=nowId.slice(5).toLowerCase();if(b!=g){return false}}}var j={up:{x:0,y:-1},left:{x:-1,y:0},down:{x:0,y:1},right:{x:1,y:0}};var f=core.getBlock(k+j[b].x,l+j[b].y,c);if(f!=null){nextId=f.block.event.id;var d=nextId.slice(0,5).toLowerCase()=="arrow";if(d){var e=nextId.slice(5).toLowerCase();if((j[b].x+j[e].x)==0&&(j[b].y+j[e].y)==0){return false}}}return true};maps.prototype.canMoveDirectly=function(a,b){if(!core.flags.enableMoveDirectly){return 0}if(core.hasFlag("poison")){return 0}var e=core.getHeroLoc("x"),f=core.getHeroLoc("y");if(e==a&&f==b){return 0}if(core.getBlock(e,f)!=null||core.status.checkBlock.damage[13*e+f]>0){return 0}var m=[],l=[];m[13*e+f]=0;l.push(13*e+f);var d=[[-1,0],[1,0],[0,1],[0,-1]];while(l.length>0){var g=l.shift(),h=parseInt(g/13),i=g%13;for(var c in d){var j=h+d[c][0],k=i+d[c][1];if(j<0||j>=13||k<0||k>=13||m[13*j+k]||core.getBlock(j,k)!=null||core.status.checkBlock.damage[13*j+k]>0){continue}m[13*j+k]=m[13*h+i]+1;if(j==a&&k==b){return m[13*j+k]}l.push(13*j+k)}}return 0};maps.prototype.drawBlock=function(b,a,f,g){var e=b.event.cls,h=b.event.height||32;var c=core.material.icons[e][b.event.id];var d=core.material.images[e];a=(a||0)%(b.event.animate||1);f=f||0;g=g||0;core.canvas.event.clearRect(b.x*32+f,b.y*32+g,32,32);core.canvas.event.drawImage(d,a*32,c*h+h-32,32,32,b.x*32+f,b.y*32+g,32,32);if(h>32){core.canvas.event2.clearRect(b.x*32+f,b.y*32+32-h+g,32,h-32);core.canvas.event2.drawImage(d,a*32,c*h,32,h-32,b.x*32+f,b.y*32+32-h+g,32,h-32)}};maps.prototype.drawMap=function(d,a){core.clearMap("all");core.removeGlobalAnimate(null,null,true);var b=function(){var g=core.floors[d].defaultGround||"ground";var e=core.material.icons.terrains[g];var f=core.material.images.terrains;for(var i=0;i<13;i++){for(var j=0;j<13;j++){core.canvas.bg.drawImage(f,0,e*32,32,32,i*32,j*32,32,32)}}var h=[];if(core.isset(core.floors[d].images)){h=core.floors[d].images;if(typeof h=="string"){h=[[0,0,h]]}}h.forEach(function(s){var r=416,q=1;var k=parseInt(s[0]),l=parseInt(s[1]),o=s[2];if(core.isset(k)&&core.isset(l)&&core.isset(core.material.images.images[o])){k*=32;l*=32;var n=core.material.images.images[o];if(!s[3]){core.canvas.bg.drawImage(n,k*q,l*q,Math.min(r-k*q,q*n.width),Math.min(r-l*q,q*n.height));if(/.*\.gif/i.test(o)){core.dom.gif.innerHTML="";var m=new Image();m.src=core.material.images.images[o].src;m.style.position="absolute";m.style.left=(k*core.domStyle.scale)+"px";m.style.top=(l*core.domStyle.scale)+"px";core.dom.gif.appendChild(m)}}else{core.canvas.event2.drawImage(n,k*q,l*q,Math.min(r-k*q,q*n.width),Math.min(r-l*q,q*n.height))}}})};if(main.mode=="editor"){main.editor.drawMapBg=function(){core.clearMap("bg",0,0,416,416);b()}}else{b()}core.status.floorId=d;core.status.thisMap=core.status.maps[d];var c=function(){var i=core.status.maps[core.status.floorId];var h=i.blocks;var g=core.maps.getMapArray(h);for(var e=0;e12||u>12){return 1}else{return n[u][t]==i?1:0}};var b=function(F,G){var v=n[G][F];var E=[];for(var w=0;w<4;w++){var u=0;var C=w%2,D=~~(w/2);for(var z=0;z<4;z++){var A=z%2,B=~~(z/2);var t=g(v,F+C+A-1,G+D+B-1);u+=t*(Math.pow(2,3-z))}E.push(u)}return E};var h=function(z,A){var v=[];var w=b(z,A);for(var u=0;u<4;u++){var t=l[w[u]];v.push(t[3-u])}return v};var r=a.x,s=a.y;var o=h(r,s);if(o[0]==13){if(o[1]==16){o[1]=14}if(o[2]==31){o[2]=19}}if(o[1]==18){if(o[0]==15){o[0]=17}if(o[3]==36){o[3]=24}}if(o[2]==43){if(o[0]==25){o[0]=37}if(o[3]==46){o[3]=44}}if(o[3]==48){if(o[1]==30){o[1]=42}if(o[2]==45){o[2]=47}}for(var j=0;j<4;j++){var k=o[j];var e=r*p+p/2*(j%2),f=s*p+p/2*(~~(j/2));d(c,e+m,f+q,core.material.images.autotile[a.event.id],k,p)}};maps.prototype.noPassExists=function(c,d,b){var a=core.getBlock(c,d,b);if(a==null){return false}return core.isset(a.block.event.noPass)&&a.block.event.noPass};maps.prototype.noPass=function(a,b){return a<0||a>12||b<0||b>12||this.noPassExists(a,b)};maps.prototype.npcExists=function(c,d,b){var a=this.getBlock(c,d,b);if(a==null){return false}return a.block.event.cls.indexOf("npc")==0};maps.prototype.terrainExists=function(d,e,c,b){var a=this.getBlock(d,e,b);if(a==null){return false}return a.block.event.cls=="terrains"&&(core.isset(c)?a.block.event.id==c:true)};maps.prototype.stairExists=function(c,d,b){var a=this.getBlock(c,d,b);if(a==null){return false}return a.block.event.cls=="terrains"&&(a.block.event.id=="upFloor"||a.block.event.id=="downFloor")};maps.prototype.nearStair=function(){var a=core.getHeroLoc("x"),b=core.getHeroLoc("y");return this.stairExists(a,b)||this.stairExists(a-1,b)||this.stairExists(a,b-1)||this.stairExists(a+1,b)||this.stairExists(a,b+1)};maps.prototype.enemyExists=function(d,e,c,b){var a=this.getBlock(d,e,b);if(a==null){return false}return a.block.event.cls.indexOf("enemy")==0&&(core.isset(c)?a.block.event.id==c:true)};maps.prototype.getBlock=function(e,f,b,d){if(!core.isset(b)){b=core.status.floorId}if(!core.isset(d)){d=true}var a=core.status.maps[b].blocks;for(var c=0;c=core.values.animateSpeed){b++;c=0;if(b>=d){b=0}}if(k.length==0){if(j){n=0}else{n-=0.06}core.setOpacity("animate",n);core.clearMap("animate",l,m-i+32,32,i);core.canvas.animate.drawImage(g,b*32,f*i,32,i,l,m-i+32,32,i);if(n<=0){clearInterval(a);core.clearMap("animate",0,0,416,416);core.setOpacity("animate",1);core.status.replay.animate=false;if(core.isset(h)){h()}}}else{p++;l+=o[k[0]].x*2;m+=o[k[0]].y*2;core.clearMap("animate",l-32,m-32,96,96);core.canvas.animate.drawImage(g,b*32,f*i,32,i,l,m-i+32,32,i);if(p==16){p=0;k.shift()}}},r/16/core.status.replay.speed)};maps.prototype.animateBlock=function(e,h,g,b){if(h!="hide"){h="show"}core.clearMap("animate",0,0,416,416);if(typeof e[0]=="number"&&typeof e[1]=="number"){e=[e]}var d=[];e.forEach(function(j){var i=core.getBlock(j[0],j[1],core.status.floorId,false);if(i==null){return}i=i.block;d.push({x:j[0],y:j[1],height:i.event.height||32,blockIcon:core.material.icons[i.event.cls][i.event.id],blockImage:core.material.images[i.event.cls]})});if(d.length==0){if(core.isset(b)){b()}return}core.status.replay.animate=true;var c=function(){d.forEach(function(i){core.canvas.animate.drawImage(i.blockImage,0,i.blockIcon*i.height,32,i.height,i.x*32,i.y*32+32-i.height,32,i.height)})};var f=0;if(h=="hide"){f=1}core.setOpacity("animate",f);c();var a=window.setInterval(function(){if(h=="show"){f+=0.1}else{f-=0.1}core.setOpacity("animate",f);if(f>=1||f<=0){clearInterval(a);core.clearMap("animate",0,0,416,416);core.setOpacity("animate",1);core.status.replay.animate=false;if(core.isset(b)){b()}}},g/10/core.status.replay.speed)};maps.prototype.showBlock=function(c,d,b){b=b||core.status.floorId;var a=core.getBlock(c,d,b,false);if(a==null){return}a=a.block;if(core.isset(a.enable)&&!a.enable){a.enable=true;if(b==core.status.floorId&&core.isset(a.event)){core.drawBlock(a);core.addGlobalAnimate(a);core.syncGlobalAnimate()}core.updateStatusBar()}};maps.prototype.removeBlock=function(e,f,b){b=b||core.status.floorId;var a=core.getBlock(e,f,b,false);if(a==null){return}var d=a.index;if(b==core.status.floorId){core.removeGlobalAnimate(e,f);core.canvas.event.clearRect(e*32,f*32,32,32);var c=32;if(core.isset(a.block.event)){c=a.block.event.height||32}if(c>32){core.canvas.event2.clearRect(e*32,f*32+32-c,32,c-32)}}core.removeBlockById(d,b);core.updateStatusBar()};maps.prototype.removeBlockById=function(e,d){var b=core.status.maps[d].blocks,a=b[e];var g=a.x,h=a.y;var c=core.floors[d].events[g+","+h];if(!core.isset(c)){c=core.floors[d].changeFloor[g+","+h]}var f=false;if(core.isset(a.event)&&a.event.cls.indexOf("enemy")==0&&core.enemys.hasSpecial(core.material.enemys[a.event.id].special,23)){f=true}if(!f&&!core.isset(c)){b.splice(e,1);return}a.enable=false};maps.prototype.removeBlockByIds=function(a,b){b.sort(function(c,d){return d-c}).forEach(function(c){core.removeBlockById(c,a)})};maps.prototype.setBlock=function(c,e,f,b){b=b||core.status.floorId;if(!core.isset(c)||!core.isset(e)||!core.isset(f)){return}var d=core.getBlock(e,f,b,false);var a=core.maps.initBlock(e,f,c);core.maps.addInfo(a);core.maps.addEvent(a,e,f,core.floors[b].events[e+","+f]);core.maps.addChangeFloor(a,e,f,core.floors[b].changeFloor[e+","+f]);if(core.isset(a.event)){if(d==null){core.status.maps[b].blocks.push(a)}else{d.block.id=data.number;d.block.event=a.event}if(b==core.status.floorId){core.drawMap(b)}}};maps.prototype.addGlobalAnimate=function(a){if(main.mode=="editor"&&main.editor.disableGlobalAnimate){return}if(!core.isset(a.event)||!core.isset(a.event.animate)||a.event.animate==1){return}var c=core.clone(a);c.status=0;core.status.globalAnimateObjs.push(c)};maps.prototype.removeGlobalAnimate=function(c,d,a){if(main.mode=="editor"&&main.editor.disableGlobalAnimate){return}if(a){core.status.globalAnimateObjs=[];return}for(var b=0;b0.6||d<0){if(b){core.clearMap("data",5,5,400,a);core.setOpacity("data",1);clearInterval(core.interval.tipAnimate);return}else{if(!core.isset(core.timeout.getItemTipTimeout)){core.timeout.getItemTipTimeout=window.setTimeout(function(){b=true;core.timeout.getItemTipTimeout=null},750)}d=0.6;core.setOpacity("data",d)}}},30)};ui.prototype.drawText=function(b,a){if(core.isset(b)){if((core.isset(core.status.event)&&core.status.event.id=="action")||(core.isset(core.status.replay)&&core.status.replay.replaying)){core.insertAction(b,null,null,a);return}if(typeof b=="string"){b=[{content:b}]}else{if(b instanceof Object&&core.isset(b.content)){b=[b]}else{if(!(b instanceof Array)){core.drawTip("出错了");console.log(b);return}}}core.status.event={id:"text",data:{list:b,callback:a}};core.lockControl();core.stopAutomaticRoute();setTimeout(function(){core.drawText()},30);return}if(core.status.event.data.list.length==0){var a=core.status.event.data.callback;core.ui.closePanel(false);if(core.isset(a)){a()}return}var c=core.status.event.data.list.shift();if(typeof c=="string"){core.ui.drawTextBox(c)}else{core.ui.drawTextBox(c.content,c.id)}};ui.prototype.drawTextBox=function(c){clearInterval(core.status.event.interval);var n=null,r=null,o=null,l=null,m=32,a=null;if(c.indexOf("\t[")==0||c.indexOf("\\t[")==0){var p=c.indexOf("]");if(p>=0){var x=c.substring(2,p);if(c.indexOf("\\t[")==0){x=c.substring(3,p)}c=c.substring(p+1);var w=x.split(",");if(w.length==1){n=w[0];if(n!="hero"){if(core.isset(core.material.enemys[n])){r=core.material.enemys[n].name;if(core.isset(core.material.icons.enemy48[n])){o=core.material.images.enemy48;l=core.material.icons.enemy48[n];m=48;a=4}else{o=core.material.images.enemys;l=core.material.icons.enemys[n];m=32;a=2}}else{r=n;n="npc";o=null;l=null}}}else{n="npc";r=w[0];if(core.isset(core.material.icons.npc48[w[1]])){o=core.material.images.npc48;l=core.material.icons.npc48[w[1]];m=48;a=4}else{o=core.material.images.npcs;l=core.material.icons.npcs[w[1]];m=32;a=2}}}}var y=core.status.textAttribute||core.initStatus.textAttribute;var s=y.position,t=null,u=null,C=m-32;if(c.indexOf("\b[")==0||c.indexOf("\\b[")==0){var p=c.indexOf("]");if(p>=0){var x=c.substring(2,p);if(c.indexOf("\\b[")==0){x=c.substring(3,p)}c=c.substring(p+1);var w=x.split(",");if(w[0]=="up"||w[0]=="center"||w[0]=="down"){s=w[0];if(core.status.event.id=="action"){t=core.status.event.data.x;u=core.status.event.data.y}if(w.length>=2){if(w[1]=="hero"){t=core.getHeroLoc("x");u=core.getHeroLoc("y");C=core.material.icons.hero.height-32}else{if(w.length>=3){t=parseInt(w[1]);u=parseInt(w[2])}}}}}}c=core.replaceText(c);var b=core.canvas.ui.createPattern(core.material.ground,"repeat");core.status.boxAnimateObjs=[];core.clearMap("ui",0,0,416,416);var q=10,v=416-2*q;var d=q+25;if(n=="hero"||core.isset(l)){d=q+63}var A=v-(d-q)-13;var h="16px Verdana";if(y.bold){h="bold "+h}var f=core.splitLines("ui",c,A,h);var i=20+21*(f.length+1)+(n=="hero"?core.material.icons.hero.height-10:core.isset(r)?m-10:0);var B=6,D=22;var z;if(s=="center"){z=parseInt((416-i)/2)}else{if(s=="up"){if(t==null||u==null){z=5}else{z=32*u-i-C-D}}else{if(s=="down"){if(t==null||u==null){z=416-i-5}else{z=32*u+32+D}}}}core.setAlpha("ui",y.background[3]);core.setFillStyle("ui",core.arrayToRGB(y.background));core.setStrokeStyle("ui","#FFFFFF");core.fillRect("ui",q,z,v,i);core.strokeRect("ui",q-1,z-1,v+1,i+1,"#FFFFFF",2);var B=9;if(s=="up"&&core.isset(t)&&core.isset(u)){core.canvas.ui.clearRect(32*t+B,z+i-1,32-2*B,2);core.canvas.ui.beginPath();core.canvas.ui.moveTo(32*t+B-1,z+i-1);core.canvas.ui.lineTo(32*t+16,z+i+D-2);core.canvas.ui.lineTo(32*t+32-B+1,z+i-1);core.canvas.ui.moveTo(32*t+B-1,z+i-1);core.canvas.ui.closePath();core.canvas.ui.fill();core.drawLine("ui",32*t+B,z+i,32*t+16,z+i+D-2);core.drawLine("ui",32*t+32-B,z+i,32*t+16,z+i+D-2)}if(s=="down"&&core.isset(t)&&core.isset(u)){core.canvas.ui.clearRect(32*t+B,z-2,32-2*B,3);core.canvas.ui.beginPath();core.canvas.ui.moveTo(32*t+B-1,z+1);core.canvas.ui.lineTo(32*t+16-1,z-D+2);core.canvas.ui.lineTo(32*t+32-B-1,z+1);core.canvas.ui.moveTo(32*t+B-1,z+1);core.canvas.ui.closePath();core.canvas.ui.fill();core.drawLine("ui",32*t+B,z,32*t+16,z-D+2);core.drawLine("ui",32*t+32-B,z,32*t+16,z-D+2)}core.canvas.ui.textAlign="left";var e=z+35;if(core.isset(n)){e=z+57;core.setAlpha("ui",y.title[3]);core.setFillStyle("ui",core.arrayToRGB(y.title));core.setStrokeStyle("ui",core.arrayToRGB(y.title));if(n=="hero"){var j=core.material.icons.hero.height;core.strokeRect("ui",q+15-1,z+40-1,34,j+2,null,2);core.fillText("ui",core.status.hero.name,d,z+30,null,"bold 22px Verdana");core.clearMap("ui",q+15,z+40,32,j);core.fillRect("ui",q+15,z+40,32,j,b);var k=core.material.icons.hero.down;core.canvas.ui.drawImage(core.material.images.hero,k.stop*32,k.loc*j,32,j,q+15,z+40,32,j)}else{core.fillText("ui",r,d,z+30,null,"bold 22px Verdana");if(core.isset(l)){core.strokeRect("ui",q+15-1,z+40-1,34,m+2,null,2);core.status.boxAnimateObjs=[];core.status.boxAnimateObjs.push({bgx:q+15,bgy:z+40,bgWidth:32,bgHeight:m,x:q+15,y:z+40,height:m,animate:a,image:o,pos:l*m});core.drawBoxAnimate()}}}var g=function(E){core.clearMap("ui",d,e-18,A,z+i-e+10);core.setAlpha("ui",y.background[3]);core.setFillStyle("ui",core.arrayToRGB(y.background));core.fillRect("ui",d,e-18,A,z+i-e+10);core.setAlpha("ui",y.text[3]);core.setFillStyle("ui",core.arrayToRGB(y.text));var F=core.splitLines("ui",E,A,h);for(var G=0;G=0){var z=g.substring(2,t);g=g.substring(t+1);var y=z.split(",");if(y.length==1){r=y[0];if(r!="hero"){if(core.isset(core.material.enemys[r])){x=core.material.enemys[r].name;if(core.isset(core.material.icons.enemy48[r])){s=core.material.images.enemy48;p=core.material.icons.enemy48[r];q=48;a=4}else{s=core.material.images.enemys;p=core.material.icons.enemys[r];q=32;a=2}}else{x=r;r="npc";s=null;p=null}}}else{r="npc";x=y[0];if(core.isset(core.material.icons.npc48[y[1]])){s=core.material.images.npc48;p=core.material.icons.npc48[y[1]];q=48;a=4}else{s=core.material.images.npcs;p=core.material.icons.npcs[y[1]];q=32;a=2}}}}g=core.replaceText(g);if(r=="hero"||core.isset(p)){h=u+60}k=core.splitLines("ui",g,C-(h-u)-10,"bold 15px Verdana");var d=0;if(x!=null){d+=25}d+=k.length*20;l+=d}var B=c-l;core.fillRect("ui",u,B,C,l,b);core.strokeRect("ui",u-1,B-1,C+1,l+1,"#FFFFFF",2);if(core.isset(k)){var j=B+35;if(core.isset(r)){core.canvas.ui.textAlign="center";j=B+55;var A=u+C/2;if(r=="hero"||core.isset(p)){A+=22}if(r=="hero"){var m=core.material.icons.hero.height;core.strokeRect("ui",u+15-1,B+30-1,34,m+2,"#DDDDDD",2);core.fillText("ui",core.status.hero.name,A,B+27,"#FFD700","bold 19px Verdana");core.clearMap("ui",u+15,B+30,32,m);core.fillRect("ui",u+15,B+30,32,m,b);var n=core.material.icons.hero.down;core.canvas.ui.drawImage(core.material.images.hero,n.stop*32,n.loc*m,32,m,u+15,B+30,32,m)}else{core.fillText("ui",x,A,B+27,"#FFD700","bold 19px Verdana");if(core.isset(p)){core.strokeRect("ui",u+15-1,B+30-1,34,q+2,"#DDDDDD",2);core.status.boxAnimateObjs=[];core.status.boxAnimateObjs.push({bgx:u+15,bgy:B+30,bgWidth:32,bgHeight:q,x:u+15,y:B+30,height:q,animate:a,image:s,pos:p*q});core.drawBoxAnimate()}}}core.canvas.ui.textAlign="left";for(var o=0;o0){if(!core.isset(core.status.event.selection)){core.status.event.selection=0}while(core.status.event.selection<0){core.status.event.selection+=f.length}while(core.status.event.selection>=f.length){core.status.event.selection-=f.length}var v=core.canvas.ui.measureText(core.replaceText(f[core.status.event.selection].text||f[core.status.event.selection])).width;core.strokeRect("ui",208-v/2-5,e+32*core.status.event.selection-20,v+10,28,"#FFD700",2)}return};ui.prototype.drawConfirmBox=function(l,n,j){core.lockControl();core.status.event.id="confirmBox";core.status.event.data={yes:n,no:j};core.status.event.ui=l;if(!core.isset(core.status.event.selection)||core.status.event.selection>1){core.status.event.selection=1}if(core.status.event.selection<0){core.status.event.selection=0}var a=core.canvas.ui.createPattern(core.material.ground,"repeat");core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);core.setFillStyle("ui",a);core.setFont("ui","bold 19px Verdana");var c=l.split("\n");var g=c.length;var h=0;for(var d in c){h=Math.max(h,core.canvas.ui.measureText(c[d]).width)}var e=Math.min(208-40-parseInt(h/2),100);var m=140-(g-1)*30;var k=416-2*e,b=416-140-m;if(core.isPlaying()){core.fillRect("ui",e,m,k,b,a)}if(core.isPlaying()){core.strokeRect("ui",e-1,m-1,k+1,b+1,"#FFFFFF",2)}core.canvas.ui.textAlign="center";for(var d in c){core.fillText("ui",c[d],208,m+50+d*30,"#FFFFFF")}core.fillText("ui","确定",208-38,m+b-35,"#FFFFFF","bold 17px Verdana");core.fillText("ui","取消",208+38,m+b-35);var f=core.canvas.ui.measureText("确定").width;if(core.status.event.selection==0){core.strokeRect("ui",208-38-parseInt(f/2)-5,m+b-35-20,f+10,28,"#FFD700",2)}if(core.status.event.selection==1){core.strokeRect("ui",208+38-parseInt(f/2)-5,m+b-35-20,f+10,28,"#FFD700",2)}};ui.prototype.drawSwitchs=function(){core.status.event.id="switchs";var a=["背景音乐:"+(core.musicStatus.bgmStatus?"[ON]":"[OFF]"),"背景音效:"+(core.musicStatus.soundStatus?"[ON]":"[OFF]"),"战斗动画: "+(core.flags.battleAnimate?"[ON]":"[OFF]"),"怪物显伤: "+(core.flags.displayEnemyDamage?"[ON]":"[OFF]"),"临界显伤: "+(core.flags.displayCritical?"[ON]":"[OFF]"),"领域显伤: "+(core.flags.displayExtraDamage?"[ON]":"[OFF]"),"下载离线版本","返回主菜单"];this.drawChoices(null,a)};ui.prototype.drawSettings=function(){core.status.event.id="settings";this.drawChoices(null,["系统设置","快捷商店","浏览地图","同步存档","返回标题","数据统计","操作帮助","关于本塔","返回游戏"])};ui.prototype.drawQuickShop=function(){core.status.event.id="selectShop";var d=core.status.shops,c=Object.keys(d);var a=[];for(var b=0;b0){E-=h-C}if(E<0){E=0}core.clearMap("data",M,P+A+10,z,40);core.canvas.data.textAlign="left";core.fillText("data",E,M,P+A+10+26,"#DDDDDD","bold 16px Verdana");if(core.enemys.hasSpecial(G,8)){m-=Math.floor(core.values.counterAttack*h);if(m<0){l+=m;m=0}core.clearMap("data",w,P+A+10,z,40);core.canvas.data.textAlign="right";core.fillText("data",l,v,P+A+10+26,"#DDDDDD","bold 16px Verdana");if(core.flags.enableMDef){core.clearMap("data",w,P+A+10+3*x,z,40);core.fillText("data",m,v,P+A+10+26+3*x)}}}else{core.drawLine("data",u+A+6,P+A+n+(e-32)-6,u+A+e-6,P+A+6,"#FF0000",4);setTimeout(function(){core.clearMap("data",u+A,P+A,e,n+e-32)},250);var i=B-k;if(i<0){i=0}m-=i;if(m<0){l+=m;m=0}core.clearMap("data",w,P+A+10,z,40);core.canvas.data.textAlign="right";core.fillText("data",l,v,P+A+10+26,"#DDDDDD","bold 16px Verdana");if(core.flags.enableMDef){core.clearMap("data",w,P+A+10+3*x,z,40);core.fillText("data",m,v,P+A+10+26+3*x)}}Q++;if(Q>=R){Q=0}if(l<=0||E<=0){clearInterval(c);core.status.boxAnimateObjs=[];core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);core.clearMap("data",0,0,416,416);if(core.status.event.id=="battle"){core.unLockControl();core.status.event.id=null}if(core.isset(f)){f()}return}},500)};ui.prototype.drawWaiting=function(e){core.lockControl();core.status.event.id="waiting";var a=core.canvas.ui.createPattern(core.material.ground,"repeat");core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);core.setFillStyle("ui",a);core.setFont("ui","bold 17px Verdana");var f=core.canvas.ui.measureText(e).width;var d=Math.max(f+50,220);var c=208-parseInt(d/2),g=208-32-16,b=416-2*g;core.fillRect("ui",c,g,d,b,a);core.strokeRect("ui",c-1,g-1,d+1,b+1,"#FFFFFF",2);core.canvas.ui.textAlign="center";core.fillText("ui",e,208,g+56,"#FFFFFF")};ui.prototype.drawSyncSave=function(){core.status.event.id="syncSave";this.drawChoices(null,["同步存档到服务器","从服务器加载存档","存档至本地文件","从本地文件读档","下载当前录像","清空本地存档","返回主菜单"])};ui.prototype.drawSyncSelect=function(){core.status.event.id="syncSelect";this.drawChoices(null,["同步本地所有存档","只同步最新单存档","返回上级菜单"])};ui.prototype.drawLocalSaveSelect=function(){core.status.event.id="localSaveSelect";this.drawChoices(null,["下载所有存档","只下载最新单存档","返回上级菜单"])};ui.prototype.drawStorageRemove=function(){core.status.event.id="storageRemove";this.drawChoices(null,["清空全部塔的存档","只清空当前塔的存档","返回上级菜单"])};ui.prototype.drawReplay=function(){core.lockControl();core.status.event.id="replay";this.drawChoices(null,["从头回放录像","从存档开始回放","返回游戏"])};ui.prototype.drawPagination=function(b,c){core.setFont("ui","bold 15px Verdana");core.setFillStyle("ui","#DDDDDD");var a=core.canvas.ui.measureText(b+" / "+b).width;core.canvas.ui.textAlign="left";core.fillText("ui",b+" / "+c,parseInt((416-a)/2),403);core.canvas.ui.textAlign="center";if(b>1){core.fillText("ui","上一页",208-80,403)}if(b12){core.status.automaticRoute.cursorX=12}if(!core.isset(core.status.automaticRoute.cursorY)){core.status.automaticRoute.cursorY=core.getHeroLoc("y")}if(core.status.automaticRoute.cursorY<0){core.status.automaticRoute.cursorY=0}if(core.status.automaticRoute.cursorY>12){core.status.automaticRoute.cursorY=12}core.status.event.id="cursor";core.lockControl();core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);var a=4;core.strokeRect("ui",32*core.status.automaticRoute.cursorX+a/2,32*core.status.automaticRoute.cursorY+a/2,32-a,32-a,"#FFD700",a)};ui.prototype.drawBook=function(n){var j=core.enemys.getCurrentEnemys(core.floorIds[core.status.event.selection]);var b=core.canvas.ui.createPattern(core.material.ground,"repeat");clearInterval(core.interval.tipAnimate);core.clearMap("data",0,0,416,416);core.setOpacity("data",1);core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);core.setFillStyle("ui",b);core.fillRect("ui",0,0,416,416);core.setAlpha("ui",0.6);core.setFillStyle("ui","#000000");core.fillRect("ui",0,0,416,416);core.setAlpha("ui",1);core.canvas.ui.textAlign="left";core.setFont("ui","bold 15px Verdana");if(j.length==0){core.fillText("ui","本层无怪物",83,222,"#999999","bold 50px Verdana");core.canvas.ui.textAlign="center";core.fillText("ui","返回游戏",370,403,"#DDDDDD","bold 15px Verdana");return}if(n<0){n=0}if(n>=j.length){n=j.length-1}var q=6;var p=parseInt(n/q)+1;var s=parseInt((j.length-1)/q)+1;core.status.event.data=n;var r=(p-1)*q,g=Math.min(p*q,j.length);j=j.slice(r,g);core.status.boxAnimateObjs=[];for(var m=0;m=core.status.hero.hp){d="#FF0000"}if(e<=0){d="#00FF00"}e=core.formatBigNumber(e)}core.fillText("ui",e,f,62*m+50,d,"bold 13px Verdana");core.canvas.ui.textAlign="left";core.fillText("ui","临界",165,62*m+68,"#DDDDDD","13px Verdana");core.fillText("ui",core.formatBigNumber(h.critical),195,62*m+68,"#DDDDDD","bold 13px Verdana");core.fillText("ui","减伤",255,62*m+68,"#DDDDDD","13px Verdana");core.fillText("ui",core.formatBigNumber(h.criticalDamage),285,62*m+68,"#DDDDDD","bold 13px Verdana");core.fillText("ui","1防",335,62*m+68,"#DDDDDD","13px Verdana");core.fillText("ui",core.formatBigNumber(h.defDamage),365,62*m+68,"#DDDDDD","bold 13px Verdana");if(n==r+m){core.strokeRect("ui",10,62*m+13,416-10*2,62,"#FFD700")}}core.drawBoxAnimate();this.drawPagination(p,s)};ui.prototype.drawBookDetail=function(n){var j=core.enemys.getCurrentEnemys(core.floorIds[core.status.event.selection]);if(j.length==0){return}if(n<0){n=0}if(n>=j.length){n=j.length-1}var g=j[n];var h=g.id;var l=core.enemys.getSpecialHint(core.material.enemys[h]);if(l.length==0){l.push("该怪物无特殊属性。")}l.push("");var f=core.enemys.nextCriticals(h,10).map(function(i){return i[0]+":"+i[1]});while(f[0]=="0:0"){f.shift()}l.push("临界表:"+JSON.stringify(f));var b=l.join("\n");core.status.event.id="book-detail";clearInterval(core.interval.tipAnimate);core.clearMap("data",0,0,416,416);core.setOpacity("data",1);var o=10,q=416-2*o;var c=o+25;var t=q-(c-o)-13;var e=core.splitLines("data",b,t,"16px Verdana");var k=416-10-Math.min(416-24*(e.length+1)-65,250);var s=(416-k)/2,a=k;core.setAlpha("data",0.9);core.fillRect("data",o,s,q,a,"#000000");core.setAlpha("data",1);core.strokeRect("data",o-1,s-1,q+1,a+1,"#FFFFFF",2);core.canvas.data.textAlign="left";core.fillText("data",g.name,c,s+30,"#FFD700","bold 22px Verdana");var d=s+57;for(var m=0;m=0){var u=r.substring(0,n+1);core.fillText("data",u,c,d,"#FF6A6A","bold 16px Verdana");var p=core.canvas.data.measureText(u).width;core.fillText("data",r.substring(n+1),c+p,d,"#FFFFFF","16px Verdana")}else{core.fillText("data",e[m],c,d,"#FFFFFF","16px Verdana")}d+=24}core.fillText("data","<点击任意位置继续>",270,s+k-13,"#CCCCCC","13px Verdana")};ui.prototype.drawFly=function(b){if(b<0){b=0}if(b>=core.status.hero.flyRange.length){b=core.status.hero.flyRange.length-1}core.status.event.data=b;var a=core.status.hero.flyRange[b];var c=core.status.maps[a].title;core.clearMap("ui",0,0,416,416);core.setAlpha("ui",0.85);core.fillRect("ui",0,0,416,416,"#000000");core.setAlpha("ui",1);core.canvas.ui.textAlign="center";core.fillText("ui","楼层跳跃",208,60,"#FFFFFF","bold 28px Verdana");core.fillText("ui","返回游戏",208,403,"#FFFFFF","bold 15px Verdana");core.fillText("ui",c,356,247,"#FFFFFF","bold 19px Verdana");if(b0){core.fillText("ui","▼",356,247+64,"#FFFFFF","17px Verdana")}core.strokeRect("ui",20,100,273,273,"#FFFFFF",2);this.drawThumbnail(a,"ui",core.status.maps[a].blocks,20,100,273)};ui.prototype.drawMaps=function(c){if(!core.isset(c)){c=core.floorIds.indexOf(core.status.floorId)}if(c<0){c=0}if(c>=core.floorIds.length){c=core.floorIds.length-1}core.lockControl();core.status.event.id="viewMaps";core.status.event.data=c;var a=core.floorIds[c];clearTimeout(core.interval.tipAnimate);core.clearMap("ui",0,0,416,416);core.setAlpha("ui",1);this.drawThumbnail(a,"ui",core.status.maps[a].blocks,0,0,416);core.clearMap("data",0,0,416,416);core.setOpacity("data",0.2);core.canvas.data.textAlign="left";core.setFont("data","16px Arial");var d=core.floors[a].title;var e=16,f=18,g=e+core.canvas.data.measureText(d).width+16,b=42;core.fillRect("data",5,5,g,b,"#000");core.setOpacity("data",0.5);core.fillText("data",d,e+5,f+15,"#fff")};ui.prototype.drawToolbox=function(f){var n=Object.keys(core.status.hero.items.tools).sort();var b=Object.keys(core.status.hero.items.constants).sort();if(!core.isset(f)){if(n.length>0){f=0}else{if(b.length>0){f=100}else{f=0}}}core.status.event.selection=f;var k;if(f<100){k=n[f]}else{k=b[f-100]}if(!core.hasItem(k)){k=null}core.status.event.data=k;core.clearMap("ui",0,0,416,416);core.setAlpha("ui",0.85);core.fillRect("ui",0,0,416,416,"#000000");core.setAlpha("ui",1);core.setFillStyle("ui","#DDDDDD");core.setStrokeStyle("ui","#DDDDDD");core.canvas.ui.lineWidth=2;core.canvas.ui.strokeWidth=2;core.canvas.ui.beginPath();core.canvas.ui.moveTo(0,130);core.canvas.ui.lineTo(416,130);core.canvas.ui.stroke();core.canvas.ui.beginPath();core.canvas.ui.moveTo(0,129);core.canvas.ui.lineTo(0,105);core.canvas.ui.lineTo(72,105);core.canvas.ui.lineTo(102,129);core.canvas.ui.fill();core.canvas.ui.beginPath();core.canvas.ui.moveTo(0,290);core.canvas.ui.lineTo(416,290);core.canvas.ui.stroke();core.canvas.ui.beginPath();core.canvas.ui.moveTo(0,289);core.canvas.ui.lineTo(0,265);core.canvas.ui.lineTo(72,265);core.canvas.ui.lineTo(102,289);core.canvas.ui.fill();core.canvas.ui.textAlign="left";core.fillText("ui","消耗道具",5,124,"#333333","bold 16px Verdana");core.fillText("ui","永久道具",5,284);if(core.isset(k)){var g=core.material.items[k];core.fillText("ui",g.name,10,32,"#FFD700","bold 20px Verdana");var l=g.text||"该道具暂无描述。";var j=core.splitLines("ui",l,406,"17px Verdana");core.fillText("ui",j[0],10,62,"#FFFFFF","17px Verdana");if(j.length==1){core.fillText("ui","<继续点击该道具即可进行使用>",10,89,"#CCCCCC","14px Verdana")}else{var h=l.substring(j[0].length);core.fillText("ui",h,10,89,"#FFFFFF","17px Verdana")}}core.canvas.ui.textAlign="right";var e=core.material.images.items;for(var c=0;c=e){h=e-1}if(g>5){g=5}d=10*h+g;core.status.event.data=d;core.clearMap("ui",0,0,416,416);core.setAlpha("ui",0.85);core.fillRect("ui",0,0,416,416,"#000000");core.setAlpha("ui",1);core.canvas.ui.textAlign="center";var l=416/6,j=118;var k="#FFD700";if(core.status.event.selection){k="#FF6A6A"}var f=core.status.event.id=="save"?"存档":core.status.event.id=="load"?"读档":core.status.event.id=="replayLoad"?"回放":"";for(var b=0;b<6;b++){var c=5*h+b;var a=core.getLocalStorage(b==0?"autoSave":"save"+c,null);if(b<3){core.fillText("ui",b==0?"自动存档":f+c,(2*b+1)*l,35,"#FFFFFF","bold 17px Verdana");core.strokeRect("ui",(2*b+1)*l-j/2,50,j,j,b==g?k:"#FFFFFF",b==g?6:2);if(core.isset(a)&&core.isset(a.floorId)){this.drawThumbnail(a.floorId,"ui",core.maps.load(a.maps,a.floorId).blocks,(2*b+1)*l-j/2,50,j,a.hero.loc,a.hero.flags.heroIcon||"hero.png");core.fillText("ui",core.formatDate(new Date(a.time)),(2*b+1)*l,65+j,"#FFFFFF","10px Verdana")}else{core.fillRect("ui",(2*b+1)*l-j/2,50,j,j,"#333333",2);core.fillText("ui","空",(2*b+1)*l,117,"#FFFFFF","bold 30px Verdana")}}else{core.fillText("ui",f+c,(2*b-5)*l,230,"#FFFFFF","bold 17px Verdana");core.strokeRect("ui",(2*b-5)*l-j/2,245,j,j,b==g?k:"#FFFFFF",b==g?6:2);if(core.isset(a)&&core.isset(a.floorId)){this.drawThumbnail(a.floorId,"ui",core.maps.load(a.maps,a.floorId).blocks,(2*b-5)*l-j/2,245,j,a.hero.loc,a.hero.flags.heroIcon||"hero.png");core.fillText("ui",core.formatDate(new Date(a.time)),(2*b-5)*l,260+j,"#FFFFFF","10px Verdana")}else{core.fillRect("ui",(2*b-5)*l-j/2,245,j,j,"#333333",2);core.fillText("ui","空",(2*b-5)*l,245+70,"#FFFFFF","bold 30px Verdana")}}}this.drawPagination(h+1,e);if(core.status.event.selection){core.setFillStyle("ui","#FF6A6A")}core.fillText("ui","删除模式",48,403)};ui.prototype.drawThumbnail=function(h,g,f,w,z,v,n,m){core.clearMap(g,w,z,v,v);var k=core.floors[h].defaultGround||"ground";var d=core.material.icons.terrains[k];var e=core.material.images.terrains;var t=v/13;for(var o=0;o<13;o++){for(var r=0;r<13;r++){core.canvas[g].drawImage(e,0,d*32,32,32,w+o*t,z+r*t,t,t)}}var q=[];if(core.isset(core.floors[h].images)){q=core.floors[h].images;if(typeof q=="string"){q=[[0,0,q]]}}q.forEach(function(A){var y=v/416;var b=parseInt(A[0]),i=parseInt(A[1]),x=A[2];if(core.isset(b)&&core.isset(i)&&!A[3]&&core.isset(core.material.images.images[x])){b*=32;i*=32;var j=core.material.images.images[x];core.canvas.ui.drawImage(j,w+b*y,z+i*y,Math.min(v-b*y,y*j.width),Math.min(v-i*y,y*j.height))}});var s=core.maps.getMapArray(f);for(var a in f){var c=f[a];if(core.isset(c.event)&&!(core.isset(c.enable)&&!c.enable)){if(c.event.cls=="autotile"){core.drawAutotile(core.canvas.ui,s,c,t,w,z)}else{if(c.event.id!="none"){var d=core.material.icons[c.event.cls][c.event.id];var e=core.material.images[c.event.cls];var l=c.event.height||32;core.canvas[g].drawImage(e,0,d*l,32,l,w+c.x*t,z+c.y*t+(t-t*l/32),t,t*l/32)}}}}if(core.isset(n)){if(!core.isset(core.material.images.images[m])){m="hero.png"}var p=core.material.icons.hero[n.direction];var l=core.material.images.images[m].height/4;var u=t*l/32;core.canvas[g].drawImage(core.material.images.images[m],p.stop*32,p.loc*l,32,l,w+t*n.x,z+t*n.y+t-u,t,u)}q.forEach(function(A){var y=v/416;var b=parseInt(A[0]),i=parseInt(A[1]),x=A[2];if(core.isset(b)&&core.isset(i)&&A[3]&&core.isset(core.material.images.images[x])){b*=32;i*=32;var j=core.material.images.images[x];core.canvas.ui.drawImage(j,w+b*y,z+i*y,Math.min(v-b*y,y*j.width),Math.min(v-i*y,y*j.height))}})};ui.prototype.drawKeyBoard=function(){core.lockControl();core.status.event.id="keyBoard";core.clearMap("ui",0,0,416,416);var c=16,g=48,f=416-2*c,b=416-2*g;var a=core.canvas.ui.createPattern(core.material.ground,"repeat");core.fillRect("ui",c,g,f,b,a);core.strokeRect("ui",c-1,g-1,f+1,b+1,"#FFFFFF",2);core.canvas.ui.textAlign="center";core.fillText("ui","虚拟键盘",208,g+35,"#FFD700","bold 22px Verdana");core.setFont("ui","17px Verdana");core.setFillStyle("ui","#FFFFFF");var e=128-9;var d=[["F1","F2","F3","F4","F5","F6","F7","F8","F9","10","11"],["1","2","3","4","5","6","7","8","9","0"],["Q","W","E","R","T","Y","U","I","O","P"],["A","S","D","F","G","H","J","K","L"],["Z","X","C","V","B","N","M"],["-","=","[","]","\\",";","'",",",".","/","`"],["ES","TA","CA","SH","CT","AL","SP","BS","EN","DE"]];d.forEach(function(j){for(var h=0;h0){var name="";if(key=="yellowDoor"){name="黄门"}else{if(key=="blueDoor"){name="蓝门"}else{if(key=="redDoor"){name="红门"}else{if(key=="steelDoor"){name="铁门"}else{name=core.material.items[key].name}}}}if(core.isset(name)){text+=name+value+"个;"}}});text+="\n\n";text+="共加生命值"+core.formatBigNumber(data.add.hp)+"点,攻击"+core.formatBigNumber(data.add.atk)+"点,防御"+core.formatBigNumber(data.add.def)+"点,魔防"+core.formatBigNumber(data.add.mdef)+"点。";return text};var formatTime=function(time){return core.setTwoDigits(parseInt(time/3600000))+":"+core.setTwoDigits(parseInt(time/60000)%60)+":"+core.setTwoDigits(parseInt(time/1000)%60)};var statistics=core.status.hero.statistics;core.drawText([getText("全塔",total),getText("当前",current),"当前总步数:"+core.status.hero.steps+",当前游戏时长:"+formatTime(statistics.currTime)+",总游戏时长"+formatTime(statistics.totalTime)+"。\n瞬间移动次数:"+statistics.moveDirectly+",共计少走"+statistics.ignoreSteps+"步。\n\n总计通过血瓶恢复生命值为"+core.formatBigNumber(statistics.hp)+"点。\n\n总计受到的伤害为"+core.formatBigNumber(statistics.battleDamage+statistics.poisonDamage+statistics.extraDamage)+",其中战斗伤害"+core.formatBigNumber(statistics.battleDamage)+"点"+(core.flags.enableDebuff?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"")+",领域/夹击/阻击/血网伤害"+core.formatBigNumber(statistics.extraDamage)+"点。","\t[说明]1. 地图数据统计的效果仅模拟当前立刻获得该道具的效果。\n2. 不会计算“不可被浏览地图”的隐藏层的数据。\n3. 不会计算任何通过事件得到的道具(显示事件、改变图块、或直接增加道具等)。\n4. 在自定义道具(例如其他宝石)后,需在ui.js的drawStatistics中注册,不然不会进行统计。\n5. 所有统计信息仅供参考,如有错误,概不负责。"])};ui.prototype.drawAbout=function(){return this.uidata.drawAbout()};ui.prototype.drawHelp=function(){core.drawText(["\t[键盘快捷键列表][CTRL] 跳过对话\n[Z] 转向\n[X] 打开/关闭怪物手册\n[G] 打开/关闭楼层传送器\n[A] 读取自动存档(回退)\n[S/D] 打开/关闭存/读档页面\n[K] 打开/关闭快捷商店选择列表\n[T] 打开/关闭工具栏\n[ESC] 打开/关闭系统菜单\n[H] 打开帮助页面\n[R] 回放\n[SPACE] 轻按(仅在轻按开关打开时有效)\n[PgUp/PgDn] 浏览地图\n[1] 快捷使用破墙镐\n[2] 快捷使用炸弹/圣锤\n[3] 快捷使用中心对称飞行器","\t[鼠标操作]点状态栏中图标: 进行对应的操作\n点任意块: 寻路并移动\n点任意块并拖动: 指定寻路路线\n单击勇士: 转向\n双击勇士: 轻按(仅在轻按开关打开时有效)\n长按任意位置:跳过剧情对话或打开虚拟键盘\n"])}; \ No newline at end of file diff --git a/libs/utils.min.js b/libs/utils.min.js new file mode 100644 index 00000000..dcf9c21d --- /dev/null +++ b/libs/utils.min.js @@ -0,0 +1 @@ +function utils(){}utils.prototype.init=function(){};utils.prototype.replaceText=function(a){return a.replace(/\${([^}]+)}/g,function(c,b){return core.calValue(b)})};utils.prototype.calValue=function(value){if(typeof value=="number"){return value}if(value instanceof Function){return value()}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)");return eval(value)};utils.prototype.splitLines=function(a,g,f,c){if(core.isset(c)){core.setFont(a,c)}var b=[];var e=0;for(var d=0;df){b.push(g.substring(e,d));e=d}}}}b.push(g.substring(e));return b};utils.prototype.unshift=function(c,d){if(!(c instanceof Array)||!core.isset(d)){return}if(d instanceof Array){core.clone(d).reverse().forEach(function(a){c.unshift(a)})}else{c.unshift(d)}return c};utils.prototype.setLocalStorage=function(b,c){try{localStorage.setItem(core.firstData.name+"_"+b,JSON.stringify(c));return true}catch(a){console.log(a);return false}};utils.prototype.getLocalStorage=function(b,a){var c=localStorage.getItem(core.firstData.name+"_"+b);if(core.isset(c)){return JSON.parse(c)}return a};utils.prototype.removeLocalStorage=function(a){localStorage.removeItem(core.firstData.name+"_"+a)};utils.prototype.clone=function(b){if(!core.isset(b)){return b}if(b instanceof Date){var a=new Date();a.setTime(b.getTime());return a}if(b instanceof Array){var a=[];for(var c in b){a[c]=core.clone(b[c])}return a}if(b instanceof Function){return b}if(b instanceof Object){var a={};for(var c in b){if(b.hasOwnProperty(c)){a[c]=core.clone(b[c])}}return a}return b};utils.prototype.cropImage=function(e,g){g=g||32;var b=document.createElement("canvas");var c=b.getContext("2d");b.width=g;b.height=g;var a=[];for(var d=0;d=10*e.val){var f=g/e.val;return b+f.toFixed(Math.max(0,Math.floor(4-Math.log10(f+1))))+e.c}}return b+g};utils.prototype.arrayToRGB=function(a){var d=parseInt(a[0])||0,c=parseInt(a[1])||0,b=parseInt(a[2])||0;if(d<0){d=0}if(b<0){b=0}if(c<0){c=0}if(d>255){d=255}if(b>255){b=255}if(c>255){c=255}return"#"+((1<<24)+(d<<16)+(c<<8)+b).toString(16).slice(1)};utils.prototype.encodeRoute=function(d){var a="";var c="",b=0;d.forEach(function(e){if(e=="up"||e=="down"||e=="left"||e=="right"){if(e!=c&&b>0){a+=c.substring(0,1).toUpperCase();if(b>1){a+=b}b=0}c=e;b++}else{if(b>0){a+=c.substring(0,1).toUpperCase();if(b>1){a+=b}b=0}if(e.indexOf("item:")==0){a+="I"+e.substring(5)+":"}else{if(e.indexOf("fly:")==0){a+="F"+e.substring(4)+":"}else{if(e.indexOf("choices:")==0){a+="C"+e.substring(8)}else{if(e.indexOf("shop:")==0){a+="S"+e.substring(5)}else{if(e=="turn"){a+="T"}else{if(e=="getNext"){a+="G"}else{if(e.indexOf("input:")==0){a+="P"+e.substring(6)}else{if(e=="no"){a+="N"}else{if(e.indexOf("move:")==0){a+="M"+e.substring(5)}else{if(e.indexOf("key:")==0){a+="K"+e.substring(4)}else{if(e.indexOf("random:")==0){a+="X"+e.substring(7)}}}}}}}}}}}}});if(b>0){a+=c.substring(0,1).toUpperCase();if(b>1){a+=b}}return a};utils.prototype.decodeRoute=function(j){if(!core.isset(j)){return j}var a=[],g=0;var d=function(c){var i="";while(g0){if(e.shift()!=f.shift()){return null}}return e};utils.prototype.__init_seed=function(){var a=new Date().getTime()%34834795+3534;a=this.__next_rand(a);a=this.__next_rand(a);a=this.__next_rand(a);core.setFlag("seed",a);core.setFlag("rand",a)};utils.prototype.__next_rand=function(a){a=(a%127773)*16807-~~(a/127773)*2836;a+=a<0?2147483647:0;return a};utils.prototype.rand=function(b){var c=core.getFlag("rand");c=this.__next_rand(c);core.setFlag("rand",c);var a=c/2147483647;if(core.isset(b)&&b>0){return Math.floor(a*b)}return a};utils.prototype.rand2=function(b){b=b||2147483648;var c;if(core.status.replay.replaying){var a=core.status.replay.toReplay.shift();if(a.indexOf("random:")==0){c=parseInt(a.substring(7))}else{core.stopReplay();core.drawTip("录像文件出错");return}}else{c=Math.floor(Math.random()*b)}core.status.route.push("random:"+c);return c};utils.prototype.readFile=function(c,a,b){core.platform.successCallback=c;core.platform.errorCallback=a;if(core.isset(window.jsinterface)){window.jsinterface.readFile();return}if(!core.platform.isOnline){alert("离线状态下不支持文件读取!");if(core.isset(a)){a()}return}if(core.platform.fileReader==null){alert("当前浏览器不支持FileReader!");if(core.isset(a)){a()}return}if(core.platform.fileInput==null){core.platform.fileInput=document.createElement("input");core.platform.fileInput.style.opacity=0;core.platform.fileInput.type="file";core.platform.fileInput.onchange=function(){var d=core.platform.fileInput.files;if(d.length==0){if(core.isset(core.platform.errorCallback)){core.platform.errorCallback()}return}if(!b){core.platform.fileReader.readAsText(core.platform.fileInput.files[0])}else{core.platform.fileReader.readAsDataURL(core.platform.fileInput.files[0])}core.platform.fileInput.value=""}}core.platform.fileInput.click()};utils.prototype.readFileContent=function(a){var c=null;if(a.slice(0,4)==="data"){if(core.isset(core.platform.successCallback)){core.platform.successCallback(a)}return}try{c=JSON.parse(a);if(core.isset(c)){if(core.isset(core.platform.successCallback)){core.platform.successCallback(c)}return}}catch(b){console.log(b)}alert("不是有效的JSON文件!");if(core.isset(core.platform.errorCallback)){core.platform.errorCallback()}};utils.prototype.download=function(d,b){if(core.isset(window.jsinterface)){window.jsinterface.download(d,b);return}if(!core.platform.isOnline){alert("离线状态下不支持下载操作!");return}if(core.platform.isIOS){alert("iOS平台下不支持下载操作!");return}if(!core.platform.isPC){if(!core.platform.isChrome||core.platform.isQQ||core.platform.isWeChat){if(core.copy(b)){alert("移动端只有Chrome浏览器支持直接下载文件!\n所有应下载内容已经复制到您的剪切板,请自行创建空白文件并粘贴。")}else{alert("该平台或浏览器暂不支持下载操作!")}return}}if(core.platform.isSafari){alert("你当前使用的是Safari浏览器,不支持直接下载文件。\n即将打开一个新窗口为应下载内容,请自行全选复制然后创建空白文件并粘贴。");var a=new Blob([b],{type:"text/plain;charset=utf-8"});var e=window.URL.createObjectURL(a);var f=window.open(e,"_blank");window.URL.revokeObjectURL(e);return}var a=new Blob([b],{type:"text/plain;charset=utf-8"});if(window.navigator.msSaveOrOpenBlob){window.navigator.msSaveBlob(a,d)}else{var e=window.URL.createObjectURL(a);var c=window.document.createElement("a");c.href=e;c.download=d;document.body.appendChild(c);c.click();document.body.removeChild(c);window.URL.revokeObjectURL(e)}};utils.prototype.copy=function(a){if(core.isset(window.jsinterface)){window.jsinterface.copy(filename,content);return true}if(!core.platform.supportCopy){return false}var d=document.createElement("textarea");d.style.position="fixed";d.style.top=0;d.style.left=0;d.style.width="2em";d.style.height="2em";d.style.padding=0;d.style.border="none";d.style.outline="none";d.style.boxShadow="none";d.style.background="transparent";d.value=a;document.body.appendChild(d);d.select();var c=false;try{c=document.execCommand("copy")}catch(b){c=false}document.body.removeChild(d);return c};utils.prototype.show=function(b,e,a){if(!core.isset(e)){b.style.display="block";return}b.style.display="block";if(main.mode!="play"){b.style.opacity=1;if(core.isset(a)){a()}return}b.style.opacity=0;var c=0;var d=window.setInterval(function(){c+=0.03;b.style.opacity=c;if(c>1){clearInterval(d);if(core.isset(a)){a()}}},e)};utils.prototype.hide=function(c,e,a){if(!core.isset(e)){c.style.display="none";return}if(main.mode!="play"){c.style.display="none";if(core.isset(a)){a()}return}var d=1;var b=window.setInterval(function(){d-=0.03;c.style.opacity=d;if(d<0){c.style.display="none";clearInterval(b);if(core.isset(a)){a()}}},e)};utils.prototype.http=function(f,g,b,e,a,c,d){var h=new XMLHttpRequest();h.open(f,g,true);if(core.isset(c)){h.overrideMimeType(c)}if(core.isset(d)){h.responseType=d}h.onload=function(i){if(h.status==200){if(core.isset(e)){e(h.response)}}else{if(core.isset(a)){a("HTTP "+h.status)}}};h.onabort=function(){if(core.isset(a)){a("Abort")}};h.ontimeout=function(){if(core.isset(a)){a("Timeout")}};h.onerror=function(){if(core.isset(a)){a("Error on Connection")}};if(core.isset(b)){h.send(b)}else{h.send()}}; \ No newline at end of file diff --git a/启动服务(mac版).app/Contents/Info.plist b/启动服务(mac版).app/Contents/Info.plist new file mode 100644 index 00000000..b4d206e5 --- /dev/null +++ b/启动服务(mac版).app/Contents/Info.plist @@ -0,0 +1,50 @@ + + + + + BuildMachineOSBuild + 17E202 + CFBundleDevelopmentRegion + en + CFBundleExecutable + MTBuilder + CFBundleIdentifier + com.xiongdianpku.MTBuilder + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + MTBuilder + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 9E501 + DTPlatformVersion + GM + DTSDKBuild + 17E189 + DTSDKName + macosx10.13 + DTXcode + 0931 + DTXcodeBuild + 9E501 + LSMinimumSystemVersion + 10.10 + NSHumanReadableCopyright + Copyright © 2018年 熊典. All rights reserved. + NSMainStoryboardFile + Main + NSPrincipalClass + NSApplication + + diff --git a/启动服务(mac版).app/Contents/MacOS/MTBuilder b/启动服务(mac版).app/Contents/MacOS/MTBuilder new file mode 100644 index 0000000000000000000000000000000000000000..e1450352f2e2c1e3576e6ba4051597a32691331a GIT binary patch literal 237184 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 uGjnRzm}<0Ki}v8&Sy5m>5l$UKmP&j^2Blg literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/PkgInfo b/启动服务(mac版).app/Contents/PkgInfo new file mode 100644 index 00000000..bd04210f --- /dev/null +++ b/启动服务(mac版).app/Contents/PkgInfo @@ -0,0 +1 @@ +APPL???? \ No newline at end of file diff --git a/启动服务(mac版).app/Contents/Resources/Assets.car b/启动服务(mac版).app/Contents/Resources/Assets.car new file mode 100644 index 0000000000000000000000000000000000000000..86f979d4a1aaf30420c2682df79e5a2526984561 GIT binary patch literal 17800 zcmeI2&rcIk5XWD!$^t?}1&talkzm14AYjt+Bd~N=sai2*Nze=Oqx=wQNvVkk4vh!n z#e|EAe*-5EdgtJw+)TU};9vp-8jUO@ka&Rl9d@^FjRy~?LFOfonR!2FK5yy1Y^J?4 z*cFe)!a@iKYLO7NE+I-rgs6E9yC0Rye@q}GYyPh|c^v#+p@*Q&eYx^(sPjfh4mSGn zY;*@)F4#9!zh>Ii4Za3XUA{SIzr|>OJQ{s8Snc!Fd+PRk@dL2lw-@*4KJ>OddpUin zfb;$nxy-S!V)FfC(@GCcp%k025#W zOn?b60Vco%4n6_f_kp9o@qHi{5g$AFQF8=LfC(@GCcp%k025#WOn?b60Vco%n1G!? zJk}SPoal>%Bk|t;zJamfSoCpZ&^|(lBS<0W7CGXrC>B$N*?sZxp)qQ)@)L5P7o#4h zMwD*MnkuALqXfD%KP4zorh?0?Nyv6&n^=hpH22qjc_t#m==}2~7YR_A#EJKCEQRcf z)3!Ep!DZIZ=(_;j@*irZxS&z}f-w@LQ4+0RVOz}BO+A6m;BD1UW6&gKv0zbYY0>K1 z+FE*fdD-jK&r8j#o12^I?d@&Dk~)&kg@pyZOlp=oybk>$q>^+lE-vb2?nKhLySuBG zc@uiX*F!Uk+zA?l29NjSUW3#;*R!&+vO}F%d~0hfy|Y6Wwvyg?jagDNW>l;$EiI+z z=jY8%#at3y4}A%Js1dTs8sCKRlHxP=FgC?s!}JNgYA%^dr8cnAIXIBqKr!^z*<8J% zwN1ioE1VABE7MafXsGT)lc7*#6p%Y%I)k-68K(=Rmb2#6g6HM{Ba}>Jl_JwlyUt`R zL{ybo2%%LVq9I8!H~VP8G!%*`NfC(@GCcp%k025#WOn?b60Vco%m;e)C0!-k*6Zj4-nn6PV literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib b/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib new file mode 100644 index 0000000000000000000000000000000000000000..44914f1c81c69184472e6ff894d75132a3181e67 GIT binary patch literal 11280 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 VROR&pQIz*TV`=sadH*Nb{vRoDzJUM$ literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist b/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..c77a88d523e79dd2c24506d5aa50e58981e94505 GIT binary patch literal 733 zcmb`DyH4Cd6ozLE;eMH9H-Lm_5Hu?t$@YxBo`S;m>`EYE0p`|OyV$@;8&B{Wp{;lT zM8P}o0(22AEgd9JL7h4l*HyGiB*Zj-^Zl1I&F?MQ&UO7K*82KC4Gd0_>4=nrFw9lf zX{tsRuQp`5nxw}OSq#E$nVk44%`??%CE0SEq`BOeN!H#}foukiZ%I2Mm2SI8+VUW6 zOHq~Pwe$m zZ?{HdLFe4DJZ=CJW)&Et96UxTFvI3mZs``YoB|WnV7BKJM2%U%Jktd(Ob#}y+b(sv z?^9M_j<5_`tNLIXv|v4xfy-?Hb+4|QzUS9nY7vZvPzhDg20BHT=o;OiTl9cOa0OEw h;v;;4uka823;))pv?VRp&d}r2@ROpMXMGm!{11R6+N}Tp literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib b/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib new file mode 100644 index 0000000000000000000000000000000000000000..df58a14aacff812ff3f44319fd45ef397d5c67c8 GIT binary patch literal 36175 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

O z0G7kY@Trw%Rko^HHLO}z9jl(zz-nwYwVGQkt#qrMm0@+Zx>;FPPb=H%YxTDVS%T%Y zWGi5WEX~p_!%A7EWm%3j%%awCYos;W8f)cRdDbLrvh|)d-I`@Bw)5<_?RV@c_B4B@ zJ=>mZ&$k!ai|r-$QhS-b+|IWP?3MOvyU<=^ueI0P8|_W@7JHjrWN){3+Qs%Rdyl=> z-fthYOY9@|F}u`0X`i;w*yrpEcA0(I{?5K?U$bx6H|?M8TlQ`HH~Wr#*S>E*w9D;B z_7nT5ljc-*sya2CT239Op3}f->@;w z;Djo;H{CIu!OoD1ZAj$cipKW{XOuI>8ShMR-gYKC?>W<*SabnQ4~i>1Q0|v%0UEiG!l(QV^J>3LzB?EXeye4W}|s%A$lJzMIWJj^a)yxK1FNM z2DAxnMMY=_Dn`4}UUUGJprfc1okC~Oc~pk3psVOQx`}>4x6$wDE_#5<(PQ*9CoQLP zPSujbFs|aYNh$zk*xfR=5prk2~TnI1_irz3}U}A0B{R z*n=gkU=@dP6vuHA0}QcU0n?HSf_x+%jmP3#oQEgjckxs_1JB0u@Iw4PUWz}$`S=sO z8h?t{;thBc-inLx4qS|P5f^XyB@m>4?m*dCy zDM=%hNmWvV)FO3AJ<@vmXmwhX zzCi2JmuMsUGHpg*rLAdO+JSbWUFmDI2klM!&^PEn>ZT&~Q9ljR2#wJMO;M9t)S<&D zrNil)^q+JbeTz<{@6ai98l6e!(D`%`T|z&k%jw5-CH)s&L)X!bbTi#Xzoa|q*K`lv zM-S4&^cX!sPt&vX0=-1Pqd(9a^e1|Y-lo6NJM=ESPao29`iMTEPw6xE9IMQ#uxhLZ ztI2A!I;<|M&l<2stO;w%nz0tFC2P&vuy(8i>&QB@t}K&fu^y}!%VvF8Kh~cOte~j{ zCNhc1%+FL7Vi6W)I!mx58_Y}wSp}iRau{ZmaW;az$wsp=Y#hsF6WByHiA`ox*i<&1 z&1AFLTsEIAWQ*Anwv;Vn%UM1vU@O^bR>;<{wQN1x$TqPpY#S?L+u2T5%yzLoY%kl- z4zdz?AwQ&aiXr0xM&e*>~(JyT)#?o9t(Hi`{0wu{-Q8yU!l7a`uQlVNcmJ z{v5ARJM(J12CvC$^E$jPug@FsM!X4c%A4^Pyd`hV+wgY01MkQ?^R7ITXYn4q7tiK> zct75s59BT`aFI(~=6d|xAUF6 znD63y_+GxBALpg~B)`bZ_!WMWKj4ps*Bt)R@XX=;)BbyvD*Z3(jQd~y{~tc^{{X`L B=x_i4 literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib b/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib new file mode 100644 index 0000000000000000000000000000000000000000..41c972f54070b04c683ff5214ae863bfc1f3161c GIT binary patch literal 2408 zcmah~3vd+W9p7&s-x3hATn;fYJOY=5fEzCNNOEmW$>j)12usK&M-qYSJ(gt2=Jv9? zN4Qq>gF0pE#A+#zI#!8CYGo`_6)D3wRw>rnu@8+jq9&FgPWy?NoSw|ia5w5DAynmg~7`3s7Lg^m*EqFWc=R$5kCzGP`w zlDl=?+Ahg0dNK*#ArNz$ByUy|W;m*)6*D3f!{2;l`5OQi{%=$=ATO2V=6GB&O*N)! zs+F0oD@bx!1%ak)Rg(#Q4B(4z0>8PTLP)w{hFx(jYMKN2z;b9p6P~OgHKdBv6Ar$9 z(m+;EEq7F`xC@fWp{3}ELKwpKU5|IFvZ{L3K;Bdmgnju(#oPfJY17h2@_A*eYi4xT zIPMU^Z*8GC69j{qwQk^OQ`(9`VzOc#Ut3qxE6MOQwZ`FXob>tY8^|28ge)U2QhDJE zU;L88+4SXgU{u!AMqB{~LyBps$!L!6t&-dsjVT(WR77qk<(Gmj%R}p19UI!(J2rN1 zk~T+#5=g;N2SGubPAwv=N+;FPw9=kXl9swtRg6~MkS*QF#Pq0z+_W)A6Nwz$hsOfYM!%T`7Mp-Yn2@39mEf+*C#Czn4s z4XesnryfnH$w4xYl#;n*KDkApNEula5teW233fq->12FpbINY893F~m8M>w^Mntf? z3_S!jU z+nQCe>t(rKwc|r-&F5k4$(&_lcGbbjum+9SY#7l@cDUxvY_ih1srC+ z3bck)o2#gi$z~t}mpc$>^alfVqA%nDMtt6Y81#9)qOYz#&=Byu{XTyq=0_! zmdB#0lwxG}f_AYPSCYyM*#O+PAF5+_^yajsDHaHGYfU$f@B4ZU*nn1_zOo0ix9Pw- zNU?}4CFKM0>88xf#vjPZmXnpFe9H0Aw+}{y%KsgLS$xcDnH8kM-gGnc&%!~NhmQbb zb~HDR)GSo?C}j9Km;rNosO^B8asd|=0TPo752x@e&_#3P_*@MqmX_zydGK5sE`f(Lw}ta>*6kq5uWz`F5=70R7E)!@N=l?WR0CyDd#DGgBh)1I40WD*gZdazs0`Jk zJ5d|zK%GcJU8o!NpfKt~185uCf#OIZ8oh+hq4VffbP@dy zy@#%$578gd$LKHUZ|D>BZrLWLe>1*`+^au1u z^q=TI(|=`3m@1})X=6H=PDWz-nZ3*b<_YE$bDBBBoMoP8USM8kE;FC9E7)pw1G|wO zW)HCA>>>6j`xyHKdxCw6J;^@JKFdDG{+NA>{U`ewHQ!y}&IIiBZ>_<8(%zL;Ogm+*`D#e6BhlwZbI@Kt;@U&Gh( bck=7_Zhk9o@%t(JL!;2#YQH literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib b/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib new file mode 100644 index 0000000000000000000000000000000000000000..d32450b15da9d1ec9a478d8bb4d2fc9c90638dfb GIT binary patch literal 4127 zcma)93v?9a6~6!M?9R^29~nYGf<$=)A(#z$kp}`{H=DqcWC_{4Kw#bM4#~=9C+=En$3I zo1W0xl7X!4eq3n)0qk%YOoVip3R#c~v!DzXKp3up7{nm~tDqCEgD&_PY=B!~BishJ z!vpXjJOq!xW3UIFfW7b(JPpsmes~dn3$MT*;m>dg`rr+C8{UEU;C=W2K7>>7F?5ieOls>wo9LwwLeYDpbwBv;j? zN82NjV<3VAGEhi@i(nWiFdUL$1f;-77zG!@Xh?-I_#F#raB02QSEFf(rCwjD7L6hj z2ugg3*S8=Xiq{7s?P}bw48vO!CG!ai_up5jow%Or^*Mt^*QW;~fp~neX_zj}I3}=C=47*39kb%Mmen&?AB;m^ z$HRoH&>?+?H_)mw3*#Hl+S~_|;BuG@Qx=;lqbSg5UaIkBxT`&$&{|FZdQdK7$j&QJ zcP2Q{imZOxbTgZ&a2jMIYE|ut0J`c^6TL7Eav-D5>%*Hq(0As+%pH&q)1d$gp$Lj$ z23*PPYzlL*X)KRTXN9bY%{mIRp#%>HOUokpyn5533#eWlW1i)RB!KyXDk+Kj3jYRe;m=J$aj z<8@*7>eWXPofQy)R)~TIZE!7~pA}EU&=RDSTV092m<4Q@+ML;t-JDeOaD5BAh$ZO( zU%1lYaXG@3&a8y){16F~s_n4SuZ%$YXu&`ve4Rm9Lvt^*Lx(|lpK*`OGcoWhqq@4# zG{eZ80^Q1-?A*fDtNqHjuAJ^dBzzgf)7Q@&Dv2ZgoKQfTiNIHzz0BsHOo#l8O(ej3y^xXF=>0V#i zDx?c;?yp+4y30s1-{Qy)J94#BGkV?dFh+VP-2LaAgL*IYKrdwc zACgAP_=(t=Cq4?>vA{WFu|Q`JJPH|azz(B^{t|Y<Zw!`Hv$aWN$7Uj5e%Urod&grIxXW&`A zo#=(Z*AZxIQ)4~wjG@Dwmy=)MDk^m3m*r1KMY&E#u{*ceQIKC=;LLLtmzL(`n>wC{ z7yL@{*|ZsCL@ykG-{`t7u!a>0t6G~DMZb|H@t_)22X~r!UxMEmWe}5OK|9un1PbWQ zUyJp^OYkyepyjwW@N}>#Rl=+AdvGJz87z}c?n6Sq2Cu`PuveU)XG8EGWH7seO*KY< z!SD}}Gp+jz9L6Xa7Mz>8LnM3Pi0=RYkXo!)ceAezx-cL6>Raf7gpD(cO>PXS5w#gR z+qV#XQ zC{^NFX~sPvcuzQXB}?-wBlWX?)ZC4b5E~KvN`}|xap~>Xtu7Bo)lf}44iK%XGlAWr zsXd{_2l&!MY>;8@6p4gn>K}}ZgzhDxp3;YJCa^h-$L8y7!>K-K3>c=0F}jKrV_ede;1$k9`c$MV(XaY_O@}RyD+;ckbKH+6 zGVVMB&Y#fwwG|rLND(O}Gsu->CYeQMlM*tAIEjmt5;rL$`WEmn~q`Y$2;*K9;8NidC^Gf?`)hMN(viDoM&kiema!4>P;jEc1F1Z0Xj0!TFUe zAxjZekIU?6?m!~YLzd_Xfn5Q)poX0NZ!>-5Y7&6^NE7x;k1H$Q8OMpK90Og~7DCR~ zo3BAjamk!$@nL`weCbJr30QHb!r#i@#&6=c@LTz9{5|}A`~&<${C@s* z{!RWE|33dA{~3RV|I%u;D%Mo%G;4vi#5&I!u&%M*X6?2JRuQ@N@>z%(s*g2G)c;m zN+hRLDwRodrD~~0s+FQrr?f%ZC~cCqNL!_Qq@B_(X}7dT+AAH94oQclKIy3Rmh^Y& zOX+)=mu<3LmSifAlt;^BVTC*4JN z(>-)A-AA9M&(i($1$vOaO8-EQ&^~&UzDrNjFOn=tG$|vg5R4DUng1kc{-6C#D*i9_ C_tQ-P literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib b/启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib new file mode 100644 index 0000000000000000000000000000000000000000..469ed9acdd247da3edf1356e7045cbcd58534301 GIT binary patch literal 3563 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

=&A2%?YW}o`Ci&y zLwYUmb-uT*x3za;?;ny3NmWT}l73FMBo9yCl>A#tbc#D=Tgsi(ZmAPeKTc!Q`lL-u zJDeVnUYx!-{al7VqdH?_#`QjNea7|qI8&UNo%vek$*i!f%B=NS*ZaozozQo0wlcdg zdvW#;Ib4oAXLmoQU*CRn`kl!Q&voYR$U}Kqd2{m4=9}_I=D*ip(m%idlKwvx#1xD# z*jE@>SW&p4@ODv3(afUL#pdGr;yop;N(Pp!FS%2iRyw=%d|9Wm31tTdgbc6`*jX+u zFDYMBe(SmP=jJ_kabVoQsRK_8G7TC%=)mBR!H&TnRJ5wFR=hJrJfw8Uh9M8EdDcej zt)W>%mkzyNnOeD^@|UWls<~B{Z9Q$XZ9fm|Ic)Z@OVvHA=Tu*=>0L9w=Bho_zSw?a zc;@hB!|#m98?ko8BS)!YORcPSNbN3XfOCX%uS@M3?fSYdvTkbK`H|g5&Kr5%o$X%Z z!Ja{$o!%h$z&uoMu79!q`-WZ(OB((hRWj`jBGQ& zIKMDw;m$?IMY9$?SX{IC_>z<*Tb70{eP!vL*Q;JX`bN?lo0o+xo4)Mca{KaAEBdV1 z-Wbt1f2Cw)!^)plm8{ygI$`ztH6d%JulZ}ObM5(c1?%>%k6*ujL+FN?8<~yu8!vAf zxar87X>ab_9JP7Hmf$VZ-$HNIzjfv9A#b19n!R<;I|=V>emDHxrP~6xP1}yQkJ)~G zN6n7&I|uCidRO0FdvW9!Wg1`|BQGe|WU_(NDff`{wgwS;r0@&prP2iQ*HdP7XYI{#4be zOW!)az42YcclS>d*u+met2#UXTi=i^1?4adVYLx zamr7=Kh6JH^Yi*kv6tSzoN@WcmFKQp{H5-f`&Xy_>i_G~-^{>o9%9{{iDktdv4|5I(NJF_We84{%rT>y1NN?_uVVK_w)Tx52Ozk{$=@V_rvUm zXCBo)dPL%Q5Dur}Gyvb5P|-91VOBy_Id? zY@X(PlQ5he53f*J0KG~9fZUyC8)kRfstW3zUVE+WG3e?6n3QHqriDd+<27It znzE+JMIl?4hcfV5ybkUScq3SY+61z7_$?lk&x4IR7~b(Dxt&i2lYBCa^r!lVio8Lbp>50F=$NoX4ax&m=GC{5~@v%%X(M`F^|6QnU_`=_WDkIPRU8qa& z0dj@3wv|SgJe(9f^R<#1GKdTWv9cXGQJMXs%DUzYVzp=?q%-1a0x2i*%|ge< zM+<2oCKO#*3*UrlM#E?s9iwLq#7>5j5yU}iiIcdVnWv-rgxvf=~X>wli51L{+ zK-+;R1wxYQ(stHI-0gO$5&m@5xnn_RsdH;<7T^}IX z_JjZ|70({GzU8=S|7BcQuIib-Oy4I?p&)67B*3`ouZW(*5De6h$%T-@pUB9ohg>y1 zJ|e7uE17;w9;Izi$+Q&;G(;p}lVmI-?3eiBbV>BEB82dzyVZh&*XYiMm&_AkcR#aJ>s~mFd zH7++jl<;^&7;gyUU}|B!(PTWCPzGK<%;m1_CJ0lK1Vfrc^m1aA*bcd4D@6ulT=;% zDJLd=5BPsj7$n+So;#yk#s7-}pFX$N#Od!mr_4>}59Stgo4LdM$=qe`G547V%wNny z<`DpCm}OX&6|rJg!b({gD`yn|t|?hx){kw)s#t$EfDL4W*wz5JwPD+`?a0gI6*7%X zCo{;u$g5-~nMGbBv&kGXm&_yc$pW&FEFz1^60(%MPTnBP$a1oRG?JBM6`=A}u+CBJ zWOh0`7tqdy>|%B)dx8B`ghj0&yVf1>?PAeT(FoB5(Q?sN(TAb~qLYAeUJzXr{UrKX zbXoL^=vUD-(GAf}(Jj$!(VwDwq6dI~BC$@KC{7pm0R%K#oFmQ^=Zg!)#p1zYtGH5Z z13dI)@ig%a@vGul;@RT4;sxU6;+5jn;*j>*o-F3EnE-Ia^we)2H6QQkqGD$kMk zmlw*5<)yGem?z&L-y#20enfs+eoY}(v{i&CLKR^OjY6m36rB~Bihha)#c0J?#W=+T z#U#bciq{nL70VQB6dx-NC=MwOD~>3BRa{ftQ2egAulUPHtd7E>*5pzNv1fZm%|~W7Ua(c4nzd)X%AF)Fahn z)DzWn)brE})Qi+h)N9o50SdZDy;uFY`YZMK>MQD->bn|7D@s5Ak9j)rP98lA?V zNz|lhoEnd2isoOMC7P9*)ta@M^_q>EcQx;6J^=Le6V0cZKeVCRFs(+b)#|lIZG_gW zwP+)?QQ8b`f2~_PN;^h7PCG$6N&CF^1?|h)McO6W&DyuLTeY8QPicSEUen&t-qhaG zF}gN7qpq_qP8Y9B(&gw%byIYUbxU<`=$7jmb*pr1bnA2*bQ^VV>fY6TpxdL{tNUEH zUw2D)M|W3uPxnCgQ1?iW^{ig3m*~Uv1^Oa=iM~unG}oevW>r z{(%0V{!9H~{Sp09{WtpK`jh%^_221#H<%0-L!=?f(8&;E=xm5HWEe6Hg@$57sbRRG z-Z0a!(6HLD*0A2N(eS2Wi{WjC^&krvMFA6UXFAX0MJ~@0!_>18$g})L$JN%vSZQwM~5K$K~Dq?EHf`~;COCny6 zSQfD^;z-2Nh+`4AA|9GFCZj3clxwOmSxuEDo2lAVXL6gorg^62rngP+n6{aAn0A@= zm=2mQn68-aniXcH+0U#p2bgu{SaTP1S95~7n>pQ_Yo2L-%{<3E&%D6A$h^e-x_Oy- zg?XiUwRx?1y?LYgP4gD>+va!7+sr%6yUg#IKQMn}{>1#L`7`rA^8xcg^OxqY%%{xX zna`N7m~UFTSh@mo-p$g((#w)$NwK6^GAx;vzLp$It|i}6U@5YcSjsHrmVuVRmLZm* zmMY6IOO0i?#bI$;>MU-H*D}F!*mA^j)N;&n!g9*;o#l+>oaMab2g{F^pDdRwS1ea8 zzgezZez*K#xo!E=a?kR>@{mJ-(u+6=C*u^HlJnzKTmTou1#@k=5H6Hcb0%&yHnSnVZ5*UTgWZumU3@!%eh8w6}N_4$8F#?ahtifxUJl~ z+;(m!x0`#P`;hyX+r#bUKIisxUvP)G!`u<>D0hrI!JXp1hK(+$HV` zca{5%yUzX2{lVSl{^ag)54eYs2(k#GNZ&}mNL6IJ$dJg;$neN6k%^JnkwuXsBPR(v Rd4>`Gv-H$Ti(lmP{|~JR?fU=# literal 0 HcmV?d00001 diff --git a/启动服务(mac版).app/Contents/_CodeSignature/CodeResources b/启动服务(mac版).app/Contents/_CodeSignature/CodeResources new file mode 100644 index 00000000..2a1e8d3a --- /dev/null +++ b/启动服务(mac版).app/Contents/_CodeSignature/CodeResources @@ -0,0 +1,252 @@ + + + + + files + + Resources/Assets.car + + Y8vFWeV9aMFK2k/Fmvn1VKDb4G4= + + Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib + + EN/jmkBY5XqitaaV2kWybEgMtTE= + + Resources/Base.lproj/Main.storyboardc/8cO-Uq-prt-view-GPE-0I-haQ.nib + + vZO5vWZuRi0vaSFqKPCW1qksfDE= + + Resources/Base.lproj/Main.storyboardc/Info.plist + + 71E/nyD1JC6i4rw6+kjjVgE/fZA= + + Resources/Base.lproj/Main.storyboardc/MainMenu.nib + + lC9mNWqzXYAYynusmnCrDuM3hvI= + + Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib + + jBRfznhMbiKUnUxlCD1QLUegGsc= + + Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib + + S9xl+rRRrH6aWKPTrX11XmKhYtA= + + Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib + + a5hup3BYBUycbe+iJd/nx+VQ/rA= + + Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib + + 7osH7f7CY2aFRWbCLAy1odTex/M= + + + files2 + + Resources/Assets.car + + hash + + Y8vFWeV9aMFK2k/Fmvn1VKDb4G4= + + hash2 + + R6hkb6fWvTpPEJXUWnyv4rhwHuVVIqsihlgRCdNNoz4= + + + Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib + + hash + + EN/jmkBY5XqitaaV2kWybEgMtTE= + + hash2 + + 8KgZX7l1DB4wlq8OlL6h9gk2PUditNbKqqR7qnoHCoc= + + + Resources/Base.lproj/Main.storyboardc/8cO-Uq-prt-view-GPE-0I-haQ.nib + + hash + + vZO5vWZuRi0vaSFqKPCW1qksfDE= + + hash2 + + aK2kvZcgmqywotLHVkXGbEh1LkOnXWQEX6RKwgp3f7s= + + + Resources/Base.lproj/Main.storyboardc/Info.plist + + hash + + 71E/nyD1JC6i4rw6+kjjVgE/fZA= + + hash2 + + d1R62G7VThDKTjMMGGoUR6TC9bR0hjwLNqAggKJwsS0= + + + Resources/Base.lproj/Main.storyboardc/MainMenu.nib + + hash + + lC9mNWqzXYAYynusmnCrDuM3hvI= + + hash2 + + ZBTMovff3XB5dFKWqxpFhQsHN7/F4Zfp45tuh4OSDB0= + + + Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib + + hash + + jBRfznhMbiKUnUxlCD1QLUegGsc= + + hash2 + + niqIc11tpbnFJIeMHBNiCcjwUkpkJvJJoAKTguRNp/s= + + + Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib + + hash + + S9xl+rRRrH6aWKPTrX11XmKhYtA= + + hash2 + + unrn3sgw+6nM2WDwyTjK8g/wIOAogLhFXRotyPK6xIw= + + + Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib + + hash + + a5hup3BYBUycbe+iJd/nx+VQ/rA= + + hash2 + + P/jSqX6j8bzFQoaQzsZl49a9zRuMnaO4/Gq+iECoDu4= + + + Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib + + hash + + 7osH7f7CY2aFRWbCLAy1odTex/M= + + hash2 + + aNkXpHLXtb/zTBJ/LsXFPlcRqVfZh4L5qRk4kUZx2NE= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/更新说明.txt b/更新说明.txt index 30f0a265..df2f23f8 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -1,19 +1,20 @@ HTML5魔塔样板V2.3 -地图编辑器可以右键复制或移动图块 √ -事件:while循环处理 √ -事件:等待用户操作并获得按键或点击信息 √ -地图数据统计 √ -衰弱可以减少攻防的比例 √ -便捷PS工具可以批量导入素材 √ -除Autotile外均可自动注册 √ -支持status:x获得当前坐标 √ -core.debug()改成调试模式,可以Ctrl穿墙 √ -新建地图可以保留楼层属性 √ -地图编辑器可用PageUp和PageDown切换楼层 √ -提供大量素材,可直接取用 √ -重写大部分教程,新增大量拓展描述 √ -大量细节进行优化,所有已知的bug进行了修复 √ +启动服务和便捷PS工具(Mac版) +地图编辑器可以右键复制或移动图块 +事件:while循环处理 +事件:等待用户操作并获得按键或点击信息 +地图数据统计 +衰弱可以减少攻防的比例 +便捷PS工具可以批量导入素材 +除Autotile外均可自动注册 +支持status:x获得当前坐标 +core.debug()改成调试模式,可以Ctrl穿墙 +新建地图可以保留楼层属性 +地图编辑器可用PageUp和PageDown切换楼层 +提供大量素材,可直接取用 +重写大部分教程,新增大量拓展描述 +大量细节进行优化,所有已知的bug进行了修复 -----------------------------------------------------------------------