From fb2a2ac388bea0182629edeb6d8a73281f9b51ca Mon Sep 17 00:00:00 2001 From: unanmed <90094606+unanmed@users.noreply.github.com> Date: Thu, 4 May 2023 08:06:05 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20068dc?= =?UTF-8?q?a14f9c1225f596fdfa70db1e754541704f4=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.js | 2 +- project/plugin.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main.js b/main.js index f3f67da..a52de49 100644 --- a/main.js +++ b/main.js @@ -217,6 +217,6 @@ function main() { this.__VERSION__ = '2.10.0'; this.__VERSION_CODE__ = 510; - this.timestamp = 1683013211110;; + this.timestamp = 1683187547865;; } function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},"catch":function _catch(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel}},exports}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}main.prototype.loadScript=function(src,module){var script=document.createElement("script");script.src=src;if(module)script.type="module";document.body.appendChild(script);return new Promise(function(res,rej){script.addEventListener("load",res);script.addEventListener("error",rej)})};main.prototype.init=function(){var _ref=_asyncToGenerator(_regeneratorRuntime().mark(function _callee(mode,callback){var a,b;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;a={};b={};new Proxy(a,b);new Promise(function(res){return res()});eval("`${123}`");_context.next=13;break;case 8:_context.prev=8;_context.t0=_context["catch"](0);alert("\u6D4F\u89C8\u5668\u7248\u672C\u8FC7\u4F4E\uFF0C\u65E0\u6CD5\u6E38\u73A9\u672C\u5854\uFF01");alert("\u5EFA\u8BAE\u4F7F\u7528Edge\u6D4F\u89C8\u5668\u6216Chrome\u6D4F\u89C8\u5668\u6E38\u73A9\uFF01");return _context.abrupt("return");case 13:if(main.replayChecking){main.loadSync(mode,callback)}else{main.loadAsync(mode,callback)}case 14:case"end":return _context.stop();}},_callee,null,[[0,8]])}));return function(_x,_x2){return _ref.apply(this,arguments)}}();main.prototype.loadSync=function(mode,callback){main.mode=mode;if(main.useCompress){main.loadMod("project","project",function(){return 0})}else{main.pureData.forEach(function(v){main.loadMod("project",v,function(){return 0})})}var mainData=data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main;Object.assign(main,mainData);if(main.useCompress){main.loadMod("libs","libs",function(){return 0})}else{main.loadList.forEach(function(v){main.loadMod("libs",v,function(){return 0})})}var _iterator=_createForOfIteratorHelper(main.loadList),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var name=_step.value;if(name==="core")continue;core[name]=new window[name]}}catch(err){_iterator.e(err)}finally{_iterator.f()}main.loadFloors(function(){return 0});var coreData={};["dom","statusBar","canvas","images","tilesets","materials","animates","bgms","sounds","floorIds","floors","floorPartitions"].forEach(function(t){coreData[t]=main[t]});core.initSync(coreData,callback);core.resize();main.core=core;core.completeAchievement=function(){return 0}};main.prototype.loadAsync=function(){var _ref2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee3(mode,callback){var i,mainData,_iterator2,_step2,name,coreData,auto;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:for(i=0;iwindow.innerHeight*0.95){core.control.setDisplayScale(-1);if(!core.isPlaying()&&core.flags.enableHDCanvas){core.domStyle.ratio=Math.max(window.devicePixelRatio||1,core.domStyle.scale);core.resize()}}})}catch(_unused2){}}case 55:case"end":return _context3.stop();}},_callee3,null,[[20,31,34,37]])}));return function(_x3,_x4){return _ref2.apply(this,arguments)}}();main.prototype.setMainTipsText=function(text){main.dom.mainTips.innerHTML=text};main.prototype.createOnChoiceAnimation=function(){var borderColor=main.dom.startButtonGroup.style.caretColor||"rgb(255, 215, 0)";var rgb=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*\d+\s*)?\)$/.exec(borderColor);if(rgb!=null){var value=rgb[1]+", "+rgb[2]+", "+rgb[3];var style=document.createElement("style");style.type="text/css";var keyFrames="onChoice { "+"0% { border-color: rgba("+value+", 0.9); } "+"50% { border-color: rgba("+value+", 0.3); } "+"100% { border-color: rgba("+value+", 0.9); } "+"}";style.innerHTML="@-webkit-keyframes "+keyFrames+" @keyframes "+keyFrames;document.body.appendChild(style)}};main.prototype.importFonts=function(fonts){if(!(fonts instanceof Array)||fonts.length==0)return;var style=document.createElement("style");style.type="text/css";var html="";fonts.forEach(function(font){html+="@font-face { font-family: \""+font+"\"; src: url(\"project/fonts/"+font+(main.pluginUseCompress?"-"+main.timestamp:"")+".ttf\") format(\"truetype\"); }"});style.innerHTML=html;document.body.appendChild(style)};main.prototype.listen=function(){window.onresize=function(){try{core.resize()}catch(ee){console.error(ee)}};main.dom.body.onkeydown=function(e){if(main.editorOpened)return;try{if(e.keyCode===27)e.preventDefault();if(main.dom.inputDiv.style.display=="block")return;if(core&&(core.isPlaying()||core.status.lockControl))core.onkeyDown(e)}catch(ee){console.error(ee)}};main.dom.body.onkeyup=function(e){if(main.editorOpened)return;try{if(main.dom.startPanel.style.display=="block"&&(main.dom.startButtons.style.display=="block"||main.dom.levelChooseButtons.style.display=="block")){if(e.keyCode==38||e.keyCode==33)main.selectButton((main.selectedButton||0)-1);else if(e.keyCode==40||e.keyCode==34)main.selectButton((main.selectedButton||0)+1);else if(e.keyCode==67||e.keyCode==13||e.keyCode==32)main.selectButton(main.selectedButton);else if(e.keyCode==27&&main.dom.levelChooseButtons.style.display=="block"){core.showStartAnimate(true);e.preventDefault()}e.stopPropagation();return}if(main.dom.inputDiv.style.display=="block"){if(e.keyCode==13){setTimeout(function(){main.dom.inputYes.click()},50)}else if(e.keyCode==27){setTimeout(function(){main.dom.inputNo.click()},50)}return}if(core&&core.isPlaying&&core.status&&(core.isPlaying()||core.status.lockControl))core.onkeyUp(e)}catch(ee){console.error(ee)}};main.dom.body.onselectstart=function(){return false};main.dom.data.onmousedown=function(e){try{e.stopPropagation();var loc=core.actions._getClickLoc(e.clientX,e.clientY);if(loc==null)return;core.ondown(loc)}catch(ee){console.error(ee)}};main.dom.data.onmousemove=function(e){try{var loc=core.actions._getClickLoc(e.clientX,e.clientY);if(loc==null)return;core.onmove(loc)}catch(ee){console.error(ee)}};main.dom.data.onmouseup=function(e){try{var loc=core.actions._getClickLoc(e.clientX,e.clientY);if(loc==null)return;core.onup(loc)}catch(ee){console.error(ee)}};main.dom.data.onmousewheel=function(e){try{if(e.wheelDelta)core.onmousewheel(Math.sign(e.wheelDelta));else if(e.detail)core.onmousewheel(Math.sign(e.detail))}catch(ee){console.error(ee)}};main.dom.data.ontouchstart=function(e){try{e.preventDefault();var loc=core.actions._getClickLoc(e.targetTouches[0].clientX,e.targetTouches[0].clientY);if(loc==null)return;main.lastTouchLoc=loc;core.ondown(loc)}catch(ee){console.error(ee)}};main.dom.data.ontouchmove=function(e){try{e.preventDefault();var loc=core.actions._getClickLoc(e.targetTouches[0].clientX,e.targetTouches[0].clientY);if(loc==null)return;main.lastTouchLoc=loc;core.onmove(loc)}catch(ee){console.error(ee)}};main.dom.data.ontouchend=function(e){try{e.preventDefault();if(main.lastTouchLoc==null)return;var loc=main.lastTouchLoc;delete main.lastTouchLoc;core.onup(loc)}catch(e){console.error(e)}};main.statusBar.image.book.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.triggerReplay();return}if(core.isPlaying())core.openBook(true)};main.statusBar.image.fly.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.stopReplay();return}if(core.isPlaying()){if(!core.flags.equipboxButton){core.useFly(true)}else{core.openEquipbox(true)}}};main.statusBar.image.toolbox.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.rewindReplay();return}if(core.isPlaying()){core.openToolbox(core.status.event.id!="equipbox")}};main.statusBar.image.toolbox.ondblclick=function(e){e.stopPropagation();if(core.isReplaying()){return}if(core.isPlaying())core.openEquipbox(true)};main.statusBar.image.keyboard.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.control._replay_book();return}if(core.isPlaying())core.openKeyBoard(true)};main.statusBar.image.shop.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.control._replay_viewMap();return}if(core.isPlaying())core.openQuickShop(true)};main.statusBar.image.money.onclick=function(e){e.stopPropagation();if(core.isPlaying())core.openQuickShop(true)};main.statusBar.image.floor.onclick=function(e){e.stopPropagation();if(core&&core.isPlaying()&&!core.isMoving()&&!core.status.lockControl){core.ui._drawViewMaps()}};main.statusBar.image.save.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.speedDownReplay();return}if(core.isPlaying())core.save(true)};main.statusBar.image.load.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.speedUpReplay();return}if(core.isPlaying())core.load(true)};main.statusBar.image.settings.onclick=function(e){e.stopPropagation();if(core.isReplaying()){core.control._replay_SL();return}if(core.isPlaying())core.openSettings(true)};main.dom.hard.onclick=function(){core.control.setToolbarButton(!core.domStyle.toolbarBtn)};main.statusBar.image.btn1.onclick=function(e){e.stopPropagation();core.onkeyUp({keyCode:49,altKey:core.getLocalStorage("altKey")})};main.statusBar.image.btn2.onclick=function(e){e.stopPropagation();core.onkeyUp({keyCode:50,altKey:core.getLocalStorage("altKey")})};main.statusBar.image.btn3.onclick=function(e){e.stopPropagation();core.onkeyUp({keyCode:51,altKey:core.getLocalStorage("altKey")})};main.statusBar.image.btn4.onclick=function(e){e.stopPropagation();core.onkeyUp({keyCode:52,altKey:core.getLocalStorage("altKey")})};main.statusBar.image.btn5.onclick=function(e){e.stopPropagation();core.onkeyUp({keyCode:53,altKey:core.getLocalStorage("altKey")})};main.statusBar.image.btn6.onclick=function(e){e.stopPropagation();core.onkeyUp({keyCode:54,altKey:core.getLocalStorage("altKey")})};main.statusBar.image.btn7.onclick=function(e){e.stopPropagation();core.onkeyUp({keyCode:55,altKey:core.getLocalStorage("altKey")})};main.statusBar.image.btn8.onclick=function(e){e.stopPropagation();if(core.getLocalStorage("altKey")){core.removeLocalStorage("altKey");core.drawTip("Alt\u6A21\u5F0F\u5DF2\u5173\u95ED\u3002");main.statusBar.image.btn8.style.filter=""}else{core.setLocalStorage("altKey",true);core.drawTip("Alt\u6A21\u5F0F\u5DF2\u5F00\u542F\uFF1B\u6B64\u6A21\u5F0F\u4E0B1~7\u6309\u94AE\u89C6\u4E3AAlt+1~7\u3002");main.statusBar.image.btn8.style.filter="sepia(1) contrast(1.5)"}};window.onblur=function(){if(core&&core.control){try{core.control.checkAutosave()}catch(e){}}};main.dom.inputYes.onclick=function(){main.dom.inputDiv.style.display="none";var func=core.platform.successCallback;core.platform.successCallback=core.platform.errorCallback=null;if(func)func(main.dom.inputBox.value)};main.dom.inputNo.onclick=function(){main.dom.inputDiv.style.display="none";var func=core.platform.errorCallback;core.platform.successCallback=core.platform.errorCallback=null;if(func)func(null)}};var main=new main; \ No newline at end of file diff --git a/project/plugin.min.js b/project/plugin.min.js index 635e57d..7e694df 100644 --- a/project/plugin.min.js +++ b/project/plugin.min.js @@ -1 +1 @@ -var CorePlugin=function(exports){"use strict";function createCanvas(e,r){if(e){var t=document.createElement("canvas");t.id=e,t.className="gameCanvas no-anti-aliasing","editor"!=main.mode&&(t.style.zIndex=r||0),document.getElementById("gameDraw").appendChild(t);var o=t.getContext("2d");return core.canvas[e]=o,t}}var bg2Canvas=createCanvas("bg2",20),fg2Canvas=createCanvas("fg2",63);if(core.bigmap.canvas=["bg2","fg2","bg","event","event2","fg","damage"],core.initStatus.bg2maps={},core.initStatus.fg2maps={},"editor"==main.mode){document.getElementById("mapEdit").insertBefore(bg2Canvas,document.getElementById("event")),document.getElementById("mapEdit").insertBefore(fg2Canvas,document.getElementById("ebm"));var num=4;editor.dom.bg2c=core.canvas.bg2.canvas,editor.dom.bg2Ctx=core.canvas.bg2,editor.dom.fg2c=core.canvas.fg2.canvas,editor.dom.fg2Ctx=core.canvas.fg2,editor.dom.maps.push("bg2map","fg2map"),editor.dom.canvas.push("bg2","fg2");var createCanvasBtn=function(e){var r=document.createElement("input"),t="layerMod"+num++,o=e+"map";return r.type="radio",r.name="layerMod",r.id=t,r.value=o,editor.dom[t]=r,r.onchange=function(){editor.uifunctions.setLayerMod(o)},r},createCanvasBtn_mobile=function(e){var r=document.createElement("option"),t="layerMod"+num++,o=e+"map";return r.name="layerMod",r.value=o,editor.dom[t]=r,r};if(editor.isMobile){var input=createCanvasBtn_mobile("bg2"),input2=createCanvasBtn_mobile("fg2");input.innerText="背景2",input2.innerText="前景2";var parent=document.getElementById("layerMod");parent.insertBefore(input,parent.children[1]),parent.appendChild(input2)}else{var input=createCanvasBtn("bg2"),input2=createCanvasBtn("fg2"),child=document.getElementById("layerMod"),parent=child.parentNode;parent.insertBefore(input,child);var txt=document.createTextNode("背2");parent.insertBefore(txt,child),parent.appendChild(input2);var txt2=document.createTextNode("前2");parent.appendChild(txt2)}}core.maps._loadFloor_doNotCopy=function(){return["firstArrive","eachArrive","blocks","parallelDo","map","bgmap","fgmap","bg2map","fg2map","events","changeFloor","afterBattle","afterGetItem","afterOpenDoor","cannotMove"]},core.maps._drawBg_draw=function(e,r,t,o){o.ctx=t,core.maps._drawBg_drawBackground(e,o),core.maps._drawFloorImages(e,o.ctx,"bg",null,null,o.onMap),core.maps._drawBgFgMap(e,"bg",o),o.onMap&&(core.drawImage(r,t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),core.clearMap("bg2"),core.clearMap(t)),core.maps._drawBgFgMap(e,"bg2",o),o.onMap&&core.drawImage("bg2",t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),o.ctx=r},core.maps._drawFg_draw=function(e,r,t,o){o.ctx=t,core.maps._drawFloorImages(e,o.ctx,"fg",null,null,o.onMap),core.maps._drawBgFgMap(e,"fg",o),o.onMap&&(core.drawImage(r,t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),core.clearMap("fg2"),core.clearMap(t)),core.maps._drawBgFgMap(e,"fg2",o),o.onMap&&core.drawImage("fg2",t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),o.ctx=r},core.maps._generateMovableArray_arrays=function(e){return{bgArray:this.getBgMapArray(e),fgArray:this.getFgMapArray(e),eventArray:this.getMapArray(e),bg2Array:this._getBgFgMapArray("bg2",e),fg2Array:this._getBgFgMapArray("fg2",e)}},["up","down","left","right"].forEach((function(e){core.material.icons.hero[e].midFoot=2}));var heroMoving=function(e){core.status.heroMoving<=0||(e-core.animateFrame.moveTime>core.values.moveSpeed&&(core.animateFrame.leftLeg++,core.animateFrame.moveTime=e),core.drawHero(["stop","leftFoot","midFoot","rightFoot"][core.animateFrame.leftLeg%4],4*core.status.heroMoving))};function _iterableToArrayLimit(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,a,n,c,l=[],s=!0,i=!1;try{if(n=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;s=!1}else for(;!(s=(o=n.call(t)).done)&&(l.push(o.value),l.length!==r);s=!0);}catch(e){i=!0,a=e}finally{try{if(!s&&null!=t.return&&(c=t.return(),Object(c)!==c))return}finally{if(i)throw a}}return l}}function _regeneratorRuntime(){_regeneratorRuntime=function(){return e};var e={},r=Object.prototype,t=r.hasOwnProperty,o=Object.defineProperty||function(e,r,t){e[r]=t.value},a="function"==typeof Symbol?Symbol:{},n=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function s(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{s({},"")}catch(e){s=function(e,r,t){return e[r]=t}}function i(e,r,t,a){var n=r&&r.prototype instanceof f?r:f,c=Object.create(n.prototype),l=new x(a||[]);return o(c,"_invoke",{value:w(e,t,l)}),c}function u(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=i;var d={};function f(){}function p(){}function h(){}var m={};s(m,n,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(I([])));g&&g!==r&&t.call(g,n)&&(m=g);var y=h.prototype=f.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(r){s(e,r,(function(e){return this._invoke(r,e)}))}))}function _(e,r){function a(o,n,c,l){var s=u(e[o],e,n);if("throw"!==s.type){var i=s.arg,d=i.value;return d&&"object"==typeof d&&t.call(d,"__await")?r.resolve(d.__await).then((function(e){a("next",e,c,l)}),(function(e){a("throw",e,c,l)})):r.resolve(d).then((function(e){i.value=e,c(i)}),(function(e){return a("throw",e,c,l)}))}l(s.arg)}var n;o(this,"_invoke",{value:function(e,t){function o(){return new r((function(r,o){a(e,t,r,o)}))}return n=n?n.then(o,o):o()}})}function w(e,r,t){var o="suspendedStart";return function(a,n){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===a)throw n;return B()}for(t.method=a,t.arg=n;;){var c=t.delegate;if(c){var l=k(c,t);if(l){if(l===d)continue;return l}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===o)throw o="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);o="executing";var s=u(e,r,t);if("normal"===s.type){if(o=t.done?"completed":"suspendedYield",s.arg===d)continue;return{value:s.arg,done:t.done}}"throw"===s.type&&(o="completed",t.method="throw",t.arg=s.arg)}}}function k(e,r){var t=r.method,o=e.iterator[t];if(void 0===o)return r.delegate=null,"throw"===t&&e.iterator.return&&(r.method="return",r.arg=void 0,k(e,r),"throw"===r.method)||"return"!==t&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+t+"' method")),d;var a=u(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,d;var n=a.arg;return n?n.done?(r[e.resultName]=n.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,d):n:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,d)}function S(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function M(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function I(e){if(e){var r=e[n];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--a){var n=this.tryEntries[a],c=n.completion;if("root"===n.tryLoc)return o("end");if(n.tryLoc<=this.prev){var l=t.call(n,"catchLoc"),s=t.call(n,"finallyLoc");if(l&&s){if(this.prev=0;--o){var a=this.tryEntries[o];if(a.tryLoc<=this.prev&&t.call(a,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),M(t),d}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var o=t.completion;if("throw"===o.type){var a=o.arg;M(t)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,t){return this.delegate={iterator:I(e),resultName:r,nextLoc:t},"next"===this.method&&(this.arg=void 0),d}},e}function asyncGeneratorStep(e,r,t,o,a,n,c){try{var l=e[n](c),s=l.value}catch(e){return void t(e)}l.done?r(s):Promise.resolve(s).then(o,a)}function _asyncToGenerator(e){return function(){var r=this,t=arguments;return new Promise((function(o,a){var n=e.apply(r,t);function c(e){asyncGeneratorStep(n,o,a,c,l,"next",e)}function l(e){asyncGeneratorStep(n,o,a,c,l,"throw",e)}c(void 0)}))}}function _slicedToArray(e,r){return _arrayWithHoles(e)||_iterableToArrayLimit(e,r)||_unsupportedIterableToArray(e,r)||_nonIterableRest()}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,c=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return c=e.done,e},e:function(e){l=!0,n=e},f:function(){try{c||null==t.return||t.return()}finally{if(l)throw n}}}}function getItemDetail(floorId,onMap){var _floorId;if(core.getFlag("itemDetail")){null!==(_floorId=floorId)&&void 0!==_floorId||(floorId=core.status.thisMap.floorId);var diff={},before=core.status.hero,hero=core.clone(core.status.hero),handler={set:function(e,r,t){return diff[r]=t-(e[r]||0),diff[r]||(diff[r]=void 0),!0}};core.status.hero=new Proxy(hero,handler),core.status.maps[floorId].blocks.forEach((function(block){if("items"===block.event.cls&&!block.disable){var x=block.x,y=block.y;if(!(onMap&&core.bigmap.v2&&(xcore.bigmap.posX+core._PX_+core.bigmap.extend||ycore.bigmap.posY+core._PY_+core.bigmap.extend))){diff={};var id=block.event.id,item=core.material.items[id];if("equips"!==item.cls){core.setFlag("__statistics__",!0);try{eval(item.itemEffect)}catch(e){}drawItemDetail(diff,x,y)}else{var _item$equip$value,_item$equip$percentag,_diff=core.clone(null!==(_item$equip$value=item.equip.value)&&void 0!==_item$equip$value?_item$equip$value:{}),per=null!==(_item$equip$percentag=item.equip.percentage)&&void 0!==_item$equip$percentag?_item$equip$percentag:{};for(var name in per)_diff[name+"per"]=per[name].toString()+"%";drawItemDetail(_diff,x,y)}}}})),core.status.hero=before,window.hero=before,window.flags=before.flags}}function drawItemDetail(e,r,t){var o=32*r+2,a=32*t+31,n="",c=0;for(var l in e)if(e[l]){var s="#fff";switch(n="number"==typeof e[l]?core.formatBigNumber(e[l],!0):e[l],l){case"atk":case"atkper":s="#FF7A7A";break;case"def":case"defper":s="#00E6F1";break;case"mdef":case"mdefper":s="#6EFF83";break;case"hp":s="#A4FF00";break;case"hpmax":case"hpmaxper":s="#F9FF00";break;case"mana":s="#c66"}core.status.damage.data.push({text:n,px:o,py:a-10*c,color:s}),c++}}function checkMockery(e,r){if(!core.status.lockControl||r){var t=core.status.checkBlock.mockery[e];if(t){t.sort((function(e,r){return e[0]===r[0]?e[1]-r[1]:e[0]-r[0]}));var o=[],a=_slicedToArray(t[0],2),n=a[0],c=a[1],l=core.status.hero.loc,s=l.x,i=l.y,u=s>n?"left":sc?"up":"down",d=core.utils.scan[u],f=d.x,p=d.y;o.push({type:"changePos",direction:u});for(var h=core.getMapBlocksObj();;){i+=p;var m=h["".concat(s+=f,",").concat(i)];if(m&&(m.event.cls,["animates","autotile","tileset","npcs","npc48","terrains"].includes(m.event.cls)&&o.push({type:"hide",loc:[[s,i]],remove:!0,time:0},{type:"function",function:"function() { core.removeGlobalAnimate(".concat(s,", ").concat(i,") }")},{type:"animate",name:"hand",loc:[s,i],async:!0}),m.event.cls.startsWith("enemy")&&o.push({type:"moveAction"})),o.push({type:"moveAction"}),s===n&&i===c)break}o.push({type:"function",function:"function() { core.checkBlock(true); }"}),o.push({type:"stopAsync"}),core.insertAction(o)}}}core.registerAnimationFrame("heroMoving",!0,heroMoving),core.events._eventMoveHero_moving=function(e,r){var t=r[0],o=t[0],a=core.getHeroLoc("x"),n=core.getHeroLoc("y"),c="backward"==o?-1:1;"forward"!=o&&"backward"!=o||(o=core.getHeroLoc("direction"));var l=o;return"leftup"!=o&&"leftdown"!=o||(l="left"),"rightup"!=o&&"rightdown"!=o||(l="right"),core.setHeroLoc("direction",o),t[1]<=0?(core.setHeroLoc("direction",l),r.shift(),!0):(e<=4?core.drawHero("stop",4*c*e):e<=8?core.drawHero("leftFoot",4*c*e):e<=12?core.drawHero("midFoot",4*c*(e-8)):e<=16&&core.drawHero("rightFoot",4*c*(e-8)),(8==e||16==e)&&(core.setHeroLoc("x",a+c*core.utils.scan2[o].x,!0),core.setHeroLoc("y",n+c*core.utils.scan2[o].y,!0),core.updateFollowers(),t[1]--,t[1]<=0&&r.shift(),core.setHeroLoc("direction",l),16==e))},function(){function e(e,t,o){return r.apply(this,arguments)}function r(){return(r=_asyncToGenerator(_regeneratorRuntime().mark((function e(r,t,o){var a;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(a=new XMLHttpRequest).open(t,r),a.send(o),e.next=5,new Promise((function(e){a.onload=function(){200!==a.status?(console.error("hot reload: http ".concat(a.status)),e("@error")):e("success")},a.onerror=function(){e("@error"),console.error("hot reload: error on connection")}}));case 5:if("success"!==e.sent){e.next=10;break}return e.abrupt("return",a.response);case 10:return e.abrupt("return","@error");case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function t(e){document.getElementById("mota-css").remove();var r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.href=e,r.id="mota-css",document.head.appendChild(r),console.log("css hot reload: ".concat(e))}function o(e){return a.apply(this,arguments)}function a(){return(a=_asyncToGenerator(_regeneratorRuntime().mark((function e(r){var t,o;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!core.status.maps[r].deleted&&!core.status.maps[r].forceDelete){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,import("./project/floors/".concat(r,".js?v=").concat(Date.now()));case 4:core.floors[r]=main.floors[r],t=core.loadFloor(r),core.isPlaying()&&(core.status.maps[r]=t,delete core.status.mapBlockObjs[r],core.extractBlocks(r),r===core.status.floorId&&(core.drawMap(r),!(o=core.getFlag("__weather__",null))&&core.status.thisMap.weather&&(o=core.status.thisMap.weather),o?core.setWeather(o[0],o[1]):core.setWeather()),core.updateStatusBar(!0,!0)),console.log("floor hot reload: ".concat(r));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function n(){return c.apply(this,arguments)}function c(){return(c=_asyncToGenerator(_regeneratorRuntime().mark((function e(){var r,t,o,a,n,c,l,s;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a,(t=document.createElement("script")).src="/project/functions.js?v=".concat(Date.now()),document.body.appendChild(t),e.next=6,new Promise((function(e){t.onload=function(){return e("success")}}));case 6:o=functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a,e.t0=_regeneratorRuntime().keys(r);case 8:if((e.t1=e.t0()).done){e.next=23;break}a=e.t1.value,n=r[a],e.t2=_regeneratorRuntime().keys(n);case 12:if((e.t3=e.t2()).done){e.next=21;break}if(c=e.t3.value,"function"==typeof(l=n[c])&&"hasSpecial"!==c){e.next=17;break}return e.abrupt("continue",12);case 17:if(s=o[a][c],l.toString()!==s.toString())try{"events"===a?core.events.eventdata[c]=s:"enemys"===a?core.enemys.enemydata[c]=s:"actions"===a?core.actions.actionsdata[c]=s:"control"===a?core.control.controldata[c]=s:"ui"===a&&(core.ui.uidata[c]=s),core.updateStatusBar(!0,!0),console.log("function hot reload: ".concat(a,".").concat(c))}catch(e){console.error(e)}e.next=12;break;case 21:e.next=8;break;case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function l(e){return s.apply(this,arguments)}function s(){return(s=_asyncToGenerator(_regeneratorRuntime().mark((function e(r){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,import("./src/plugin/game/".concat(r,".js"));case 2:console.log("plugin hot reload: ".concat(r,".js"));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function i(e){return u.apply(this,arguments)}function u(){return(u=_asyncToGenerator(_regeneratorRuntime().mark((function e(r){var t,o,a,n;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(t=document.createElement("script")).src="/project/".concat(r,".js?v=").concat(Date.now()),document.body.appendChild(t),e.next=5,new Promise((function(e){t.onload=function(){return e("success")}}));case 5:if("data"===r&&(o=data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d),"enemys"===r&&(o=enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80),"icons"===r&&(o=icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1),"items"===r&&(o=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a),"maps"===r&&(o=maps_90f36752_8815_4be8_b32b_d7fad1d0542e),"events"===r&&(o=events_c12a15a8_c380_4b28_8144_256cba95f760),"enemys"===r){for(a in core.enemys.enemys=o,o)core.enemys.enemys[a].id=a;core.material.enemys=core.getEnemys()}else if("icons"===r)core.icons.icons=o,core.material.icons=core.getIcons();else if("items"===r){for(n in core.items.items=o,o)core.items.items[n].id=n;core.material.items=core.getItems()}else"maps"===r?(core.maps.blocksInfo=o,core.status.mapBlockObjs={},core.status.number2block={},Object.values(core.status.maps).forEach((function(e){return delete e.blocks})),core.extractBlocks(),core.setWeather(core.animateFrame.weather.type,core.animateFrame.weather.level),core.drawMap()):"events"===r?core.events.commonEvent=o.commonEvent:"data"===r&&location.reload();core.updateStatusBar(!0,!0),console.log("data hot reload: ".concat(r));case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}"play"!==main.mode||main.replayChecking||_asyncToGenerator(_regeneratorRuntime().mark((function r(){return _regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e("/reload","POST","test");case 2:"@error"===r.sent?console.log("未检测到node服务,热重载插件将无法使用"):(console.log("热重载插件加载成功"),setInterval(_asyncToGenerator(_regeneratorRuntime().mark((function r(){var t;return _regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e("/reload","POST");case 2:if("@error"!==(t=r.sent)){r.next=5;break}return r.abrupt("return");case 5:if("true"!==t){r.next=9;break}location.reload(),r.next=10;break;case 9:return r.abrupt("return");case 10:case"end":return r.stop()}}),r)}))),1e3),setInterval(_asyncToGenerator(_regeneratorRuntime().mark((function r(){var a;return _regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e("/hotReload","POST");case 2:a=r.sent,a.split("@@").forEach((function(e){if(""!==e){var r=_slicedToArray(e.split(":"),2),a=r[0],c=r[1];"css"===a&&t(c),"data"===a&&i(c),"floor"===a&&o(c),"script"===a&&n(c),"plugin"===a&&l(c)}}));case 5:case"end":return r.stop()}}),r)}))),1e3));case 4:case"end":return r.stop()}}),r)})))()}(),core.control.updateDamage=function(e,r){if((e=e||core.status.floorId)&&!core.status.gameOver&&"play"==main.mode){var t=null==r;if(core.hasItem("book")){if(core.status.damage.posX=core.bigmap.posX,core.status.damage.posY=core.bigmap.posY,!t)if(core.floors[e].width*core.floors[e].height>core.bigmap.threshold)return;this._updateDamage_damage(e,t),this._updateDamage_extraDamage(e,t),getItemDetail(e,t),this.drawDamage(r)}}},control.prototype.checkBlock=function(e){var r=core.getHeroLoc("x"),t=core.getHeroLoc("y"),o=r+","+t,a=core.status.checkBlock.damage[o];if(a){main.replayChecking||core.addPop(32*(r-core.bigmap.offsetX/32)+12,32*(t-core.bigmap.offsetY/32)+20,-a.toString()),core.status.hero.hp-=a;var n=Object.keys(core.status.checkBlock.type[o]||{}).join(",")||"伤害";if(core.drawTip("受到"+n+a+"点"),core.drawHeroAnimate("zone"),this._checkBlock_disableQuickShop(),core.status.hero.statistics.extraDamage+=a,core.status.hero.hp<=0)return core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose();core.updateStatusBar()}this._checkBlock_repulse(core.status.checkBlock.repulse[o]),checkMockery(o,e)},control.prototype.moveHero=function(e,r){if(0==core.status.heroMoving){core.isset(e)&&core.setHeroLoc("direction",e);var t=core.nextX(),o=core.nextY();if(core.status.checkBlock.mockery["".concat(t,",").concat(o)]&&core.autosave(),r)return this.moveAction(r);this._moveHero_moving()}};var values={1:["crit"],6:["n"],7:["hungry"],8:["together"],10:["courage"],11:["charge"]},cannotStudy=[9,12,14,15,24];function canStudySkill(e){var r,t,o=null!==(t=(r=core.status.hero).special)&&void 0!==t?t:r.special={num:[],last:[]};return 0!==core.plugin.skillTree.getSkillLevel(11)&&(!(o.num.length>=1)&&(!o.num.includes(e)&&!cannotStudy.includes(e)))}function studySkill(e,r){var t,o,a;null!==(o=(t=core.status.hero).special)&&void 0!==o||(t.special={num:[],last:[]});var n=core.status.hero.special,c=core.getSpecials()[r-1][1];if(c instanceof Function&&(c=c(e)),canStudySkill(r)){n.num.push(r),n.last.push(3*core.plugin.skillTree.getSkillLevel(11)+2);var l,s=_createForOfIteratorHelper(null!==(a=values[r])&&void 0!==a?a:[]);try{for(s.s();!(l=s.n()).done;){var i=l.value;n[i]=e[i]}}catch(e){s.e(e)}finally{s.f()}}else main.replayChecking||core.tip("error","无法学习".concat(c))}function forgetStudiedSkill(e,r){var t,o=core.status.hero.special,a=null!=r?r:o.num.indexOf(e);if(-1!==a){o.num.splice(a,1),o.last.splice(a,1);var n,c=_createForOfIteratorHelper(null!==(t=values[number])&&void 0!==t?t:[]);try{for(c.s();!(n=c.n()).done;){delete o[n.value]}}catch(e){c.e(e)}finally{c.f()}}}function declineStudiedSkill(){var e,r,t=null!==(r=(e=core.status.hero).special)&&void 0!==r?r:e.special={num:[],last:[]};t.last=t.last.map((function(e){return e-1}))}function checkStudiedSkill(){for(var e=core.status.hero.special,r=0;rcore._PX_/32+1||k<-1||S>core._PY_/32+1))continue;e.fillStyle=v,e.strokeStyle=null!=g?g:v,e.lineWidth=1,e.globalAlpha=.1,e.fillRect(32*_,32*k,32*y,32*y),e.globalAlpha=.6,e.strokeRect(32*_,32*k,32*y,32*y)}}}catch(e){f.e(e)}finally{f.f()}}e.restore()}}core.registerReplayAction("openShop",(function(e){return!!e.startsWith("openShop:")&&(!shopOpened&&(openedShopId=e.slice(9),shopOpened=!0,core.status.route.push(e),core.replay(),!0))})),core.registerReplayAction("buy",(function(e){var r,t,o,a,n,c,l;if(!e.startsWith("buy:")&&!e.startsWith("sell:"))return!1;if(!shopOpened)return!1;if(!openedShopId)return!1;var s=_slicedToArray(e.split(":").map((function(e){return/^\d+$/.test(e)?parseInt(e):e})),3),i=s[0],u=s[1],d=s[2],f=core.status.shops[openedShopId].choices.find((function(e){return e.id===u}));if(!f)return!1;if(null!==(t=(r=flags).itemShop)&&void 0!==t||(r.itemShop={}),null!==(n=(o=flags.itemShop)[a=openedShopId])&&void 0!==n||(o[a]={}),null!==(l=(c=flags.itemShop[openedShopId])[u])&&void 0!==l||(c[u]=0),d>f.number-flags.itemShop[openedShopId][u])return!1;var p=0;return!((p="buy"===i?f.money*d:-f.sell*d)>core.status.hero.money)&&(core.status.hero.money-=p,flags.itemShop[openedShopId][u]+="buy"===i?d:-d,core.addItem(u,"buy"===i?d:-d),core.status.route.push(e),core.replay(),!0)})),core.registerReplayAction("closeShop",(function(e){return"closeShop"===e&&(!!shopOpened&&(shopOpened=!1,openedShopId="",core.status.route.push(e),core.replay(),!0))})),core.plugin.replay={ready:ready,readyClip:readyClip,clip:clip},function(){if(main.replayChecking)return core.plugin.gameUi={openItemShop:function(){return 0},showChapter:function(){return 0},openSkill:function(){return 0}};ui.prototype.drawBook=function(){if(!core.isReplaying())return core.plugin.bookOpened.value=!0},ui.prototype._drawToolbox=function(){if(!core.isReplaying())return core.plugin.toolOpened.value=!0},ui.prototype._drawEquipbox=function(){if(!core.isReplaying())return core.plugin.equipOpened.value=!0},ui.prototype.drawFly=function(){if(!core.isReplaying())return core.plugin.flyOpened.value=!0},control.prototype.updateStatusBar_update=function(){core.control.updateNextFrame=!1,core.isPlaying()&&!core.hasFlag("__statistics__")&&(core.control.controldata.updateStatusBar(),core.control.noAutoEvents||core.checkAutoEvents(),core.control._updateStatusBar_setToolboxIcon(),core.clearRouteFolding(),core.control.noAutoEvents=!0,main.replayChecking||(core.plugin.statusBarStatus.value=!core.plugin.statusBarStatus.value,core.checkMarkedEnemy()))},control.prototype.showStatusBar=function(){"editor"!=main.mode&&(core.removeFlag("hideStatusBar"),core.plugin.showStatusBar.value=!0,core.dom.tools.hard.style.display="block",core.dom.toolBar.style.display="block")},control.prototype.hideStatusBar=function(e){if("editor"!=main.mode){core.domStyle.showStatusBar||this.showStatusBar(),core.isReplaying()&&(e=!0),core.plugin.showStatusBar.value=!1;var r=core.dom.tools;if(core.setFlag("hideStatusBar",!0),core.setFlag("showToolbox",e||null),!core.domStyle.isVertical&&!core.flags.extendToolbar||!e)for(var t=0;t0?(e.unshift.apply(e,_toConsumableArray(e.splice(e.length-r,r))),e):r<0?(e.push.apply(e,_toConsumableArray(e.splice(0,-r))),e):void 0}function backDir(e){return{up:"down",down:"up",left:"right",right:"left"}[e]}function has(e){return null!=e}function maxGameScale(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=core.domStyle.availableScale.indexOf(core.domStyle.scale);core.control.setDisplayScale(core.domStyle.availableScale.length-1-r-e),!core.isPlaying()&&core.flags.enableHDCanvas&&(core.domStyle.ratio=Math.max(window.devicePixelRatio||1,core.domStyle.scale),core.resize())}core.plugin.utils={slide:slide,backDir:backDir,has:has,maxGameScale:maxGameScale},core.has=has;var utils=Object.freeze({__proto__:null,backDir:backDir,has:has,maxGameScale:maxGameScale,slide:slide}),list=["tower6"];function setLoopMap(e,r){var t=core.status.maps[r];e<9&&moveMap(t.width-17,r),e>t.width-9&&moveMap(17-t.width,r)}function autoSetLoopMap(e){setLoopMap(core.status.hero.loc.x,e)}function checkLoopMap(){isLoopMap(core.status.floorId)&&autoSetLoopMap(core.status.floorId)}function moveMap(e,r){core.extractBlocks(r);var t=core.status.maps[r];core.setHeroLoc("x",core.status.hero.loc.x+e),flags["loop_".concat(r)]+=e,flags["loop_".concat(r)]%=t.width;for(var o=t.blocks.slice(),a=0;a=t.width&&(a-=t.width),a<0&&(a+=t.width),core.setBlock(o.id,a,o.y,r,!0),core.setMapBlockDisabled(r,a,o.y,!1)})),core.drawMap(),core.drawHero()}function isLoopMap(e){return list.includes(e)}events.prototype._sys_changeFloor=function(e,r){var t={};if(isLoopMap((e=e.event.data).floorId)){var o,a,n,c=core.status.maps[e.floorId];null!==(n=(o=flags)[a="loop_".concat(e.floorId)])&&void 0!==n||(o[a]=0);var l=e.loc[0]+flags["loop_".concat(e.floorId)];(l%=c.width)<0&&(l+=c.width),t={x:l,y:e.loc[1]}}else e.loc&&(t={x:e.loc[0],y:e.loc[1]});e.direction&&(t.direction=e.direction),"action"!=core.status.event.id&&(core.status.event.id=null),core.changeFloor(e.floorId,e.stair,t,e.time,(function(){core.replay(),r&&r()}))},events.prototype.trigger=function(x,y,callback){var _executeCallback=function(){callback&&setTimeout(callback,1)};if(core.status.gameOver)return _executeCallback();if("action"==core.status.event.id)return core.insertAction({type:"function",function:"function () { core.events._trigger_inAction("+x+","+y+"); }",async:!0},null,null,null,!0),_executeCallback();if(core.status.event.id)return _executeCallback();var block=core.getBlock(x,y),id=core.status.floorId,loop=isLoopMap(id);if(loop&&0!==flags["loop_".concat(id)])if(block&&"changeFloor"===block.event.trigger)delete block.event.trigger,core.maps._addInfo(block);else{var floor=core.status.maps[id],tx=x-flags["loop_".concat(id)];tx%=floor.width,tx<0&&(tx+=floor.width);var c=core.floors[id].changeFloor["".concat(tx,",").concat(y)];if(c){var b={event:{},x:tx,y:y};b.event.data=c,b.event.trigger="changeFloor",block=b}}if(null==block)return _executeCallback();if(block.event.script){core.clearRouteFolding();try{eval(block.event.script)}catch(e){console.error(e)}}if(block.event.event)return core.clearRouteFolding(),core.insertAction(block.event.event,block.x,block.y),_executeCallback();if(block.event.trigger&&"null"!=block.event.trigger){var noPass=block.event.noPass,trigger=block.event.trigger;if(noPass&&core.clearAutomaticRouteNode(x,y),"changeFloor"==trigger&&!noPass&&this._trigger_ignoreChangeFloor(block)&&!loop)return _executeCallback();core.status.automaticRoute.moveDirectly=!1,this.doSystemEvent(trigger,block)}return _executeCallback()},maps.prototype._getBgFgMapArray=function(e,r,t){if(!(r=r||core.status.floorId))return[];var o=core.floors[r].width,a=core.floors[r].height;if(!t&&core.status[e+"maps"][r])return core.status[e+"maps"][r];var n,c,l,s="editor"!=main.mode||window.editor&&editor.uievent&&editor.uievent.isOpen?null:core.cloneArray(editor[e+"map"]);(null==s&&(s=core.cloneArray(core.floors[r][e+"map"]||[])),isLoopMap(r)&&window.flags)&&(null!==(l=(n=flags)[c="loop_".concat(r)])&&void 0!==l||(n[c]=0),s.forEach((function(e){slide(e,flags["loop_".concat(r)]%o)})));for(var i=0;i0&&(t.push(o.join("\n")),t[0]="当前剩余怪物:\n".concat(t[0])),t}core.plugin.remainEnemy={checkRemainEnemy:checkRemainEnemy,getRemainEnemyString:getRemainEnemyString};var remainEnemy=Object.freeze({__proto__:null,checkRemainEnemy:checkRemainEnemy,getRemainEnemyString:getRemainEnemyString});function removeMaps(e,r,t){var o,a;r=r||e;var n=core.floorIds.indexOf(e),c=core.floorIds.indexOf(r);c<0&&(c=core.floorIds.length-1),flags.__visited__=flags.__visited__||{},flags.__removed__=flags.__removed__||[],flags.__disabled__=flags.__disabled__||{},flags.__leaveLoc__=flags.__leaveLoc__||{},null!==(a=(o=flags).__forceDelete__)&&void 0!==a||(o.__forceDelete__={});for(var l=!1,s=n;s<=c;++s){var i=core.floorIds[s];core.status.maps[i].deleted||(delete flags.__visited__[i],flags.__removed__.push(i),delete flags.__disabled__[i],delete flags.__leaveLoc__[i],(core.status.autoEvents||[]).forEach((function(e){e.floorId==i&&e.currentFloor&&(core.autoEventExecuting(e.symbol,!1),core.autoEventExecuted(e.symbol,!1))})),core.status.maps[i].deleted=!0,core.status.maps[i].canFlyTo=!1,core.status.maps[i].canFlyFrom=!1,core.status.maps[i].cannotViewMap=!0,t&&(core.status.maps[i].forceDelete=!0,flags.__forceDelete__[i]=!0),deleteFlags(i),l=!0)}l&&!main.replayChecking&&core.splitArea()}function deleteFlags(e){delete flags["jump_".concat(e)],delete flags["inte_".concat(e)],delete flags["loop_".concat(e)],delete flags["melt_".concat(e)],delete flags["night_".concat(e)]}function resumeMaps(e,r){r=r||e;var t=core.floorIds.indexOf(e),o=core.floorIds.indexOf(r);o<0&&(o=core.floorIds.length-1),flags.__removed__=flags.__removed__||[];for(var a=t;a<=o;++a){var n=core.floorIds[a];core.status.maps[n].deleted&&(core.status.maps[n].forceDelete||flags.__forceDelete__[n]||(flags.__removed__=flags.__removed__.filter((function(e){return e!=n})),core.status.maps[n]=core.loadFloor(n)))}}var inAnyPartition=function(e){var r=!1;return(core.floorPartitions||[]).forEach((function(t){var o=core.floorIds.indexOf(t[0]),a=core.floorIds.indexOf(t[1]),n=core.floorIds.indexOf(e);o<0||n<0||(a<0&&(a=core.floorIds.length-1),n>=o&&n<=a&&(r=!0))})),r};function autoRemoveMaps(e){"play"==main.mode&&inAnyPartition(e)&&(core.floorPartitions||[]).forEach((function(r){var t=core.floorIds.indexOf(r[0]),o=core.floorIds.indexOf(r[1]),a=core.floorIds.indexOf(e);t<0||a<0||(o<0&&(o=core.floorIds.length-1),a>=t&&a<=o?core.plugin.removeMap.resumeMaps(core.floorIds[t],core.floorIds[o]):removeMaps(core.floorIds[t],core.floorIds[o]))}))}core.plugin.removeMap={removeMaps:removeMaps,deleteFlags:deleteFlags,resumeMaps:resumeMaps,autoRemoveMaps:autoRemoveMaps};var removeMap=Object.freeze({__proto__:null,autoRemoveMaps:autoRemoveMaps,deleteFlags:deleteFlags,removeMaps:removeMaps,resumeMaps:resumeMaps}),openItemShop=core.plugin.gameUi.openItemShop;function openShop(e,r){var t=core.status.shops[e];return this.canOpenShop(e)?!t.item||void(openItemShop&&openItemShop(e)):(core.drawTip("该商店尚未开启"),!1)}function isShopVisited(e){var r,t;null!==(t=(r=flags).__shops__)&&void 0!==t||(r.__shops__={});var o=core.getFlag("__shops__");return o[e]||(o[e]={}),o[e].visited}function listShopIds(){return Object.keys(core.status.shops).filter((function(e){return core.plugin.shop.isShopVisited(e)||!core.status.shops[e].mustEnable}))}function canOpenShop(e){if(this.isShopVisited(e))return!0;var r=core.status.shops[e];return!(r.item||r.commonEvent||r.mustEnable)}function setShopVisited(e,r){core.hasFlag("__shops__")||core.setFlag("__shops__",{});var t=core.getFlag("__shops__");t[e]||(t[e]={}),r?t[e].visited=!0:delete t[e].visited}function canUseQuickShop(){return!1===core.status.thisMap.canUseQuickShop?"当前楼层不能使用快捷商店。":null}core.plugin.shop={openShop:openShop,isShopVisited:isShopVisited,listShopIds:listShopIds,canOpenShop:canOpenShop,setShopVisited:setShopVisited,canUseQuickShop:canUseQuickShop};var shop=Object.freeze({__proto__:null,canOpenShop:canOpenShop,canUseQuickShop:canUseQuickShop,isShopVisited:isShopVisited,listShopIds:listShopIds,openShop:openShop,setShopVisited:setShopVisited}),ignoreInJump={event:["X20007","X20001","X20006","X20014","X20010","X20007"],bg:["X20037","X20038","X20039","X20045","X20047","X20053","X20054","X20055","X20067","X20068","X20075","X20076"]},jumpIgnoreFloor=["MT31","snowTown","MT36","MT37","MT38","MT39","MT40","MT42","MT43","MT44","MT45","MT46","MT47","MT48"];function jumpSkill(){if(core.status.floorId.startsWith("tower"))return core.drawTip("当无法使用该技能");if(jumpIgnoreFloor.includes(core.status.floorId)||flags.onChase)return core.drawTip("当前楼层无法使用该技能");if(flags.skill2){if(flags["jump_"+core.status.floorId]||(flags["jump_"+core.status.floorId]=0),"MT14"==core.status.floorId){var e=core.status.hero.loc;if(77===e.x&&5===e.y&&(flags.MT14Jump=!0),2===flags.jump_MT14&&!flags.MT14Jump)return core.drawTip("该地图还有一个必跳的地方,你还没有跳")}if(flags["jump_"+core.status.floorId]>=3)return core.drawTip("当前地图使用次数已用完");var r=core.status.hero.loc.direction,t=core.status.hero.loc,o={};switch(r){case"up":o.x=t.x,o.y=t.y-1;break;case"right":o.x=t.x+1,o.y=t.y;break;case"down":o.x=t.x,o.y=t.y+1;break;case"left":o.x=t.x-1,o.y=t.y}var a=core.getBlockCls(o.x,o.y),n=core.noPass(o.x,o.y),c=core.getBlockId(o.x,o.y)||"",l=core.getBlockByNumber(core.getBgNumber(o.x,o.y)).event.id||"";if(!n||"items"==a||c.startsWith("X")&&!ignoreInJump.event.includes(c)||l.startsWith("X")&&!ignoreInJump.bg.includes(l))return core.drawTip("当前无法使用技能");if(n&&"enemys"!=a&&"enemy48"!=a){var s=u(r,o.x,o.y,!0);if(!s)return;core.autosave(),flags.chapter<=1&&(core.status.hero.hp-=200*flags.hard),core.updateStatusBar(),flags["jump_"+core.status.floorId]++,core.status.hero.hp<=0&&(core.status.hero.hp=0,core.updateStatusBar(),core.events.lose("你跳死了")),core.playSound("015-Jump01.ogg"),core.insertAction([{type:"jumpHero",loc:[s.x,s.y],time:500}])}if("enemys"==a||"enemy48"==a){var i=u(r,o.x,o.y,!1);if(!i)return;core.autosave(),flags.chapter<=1&&(core.status.hero.hp-=200*flags.hard),core.updateStatusBar(),flags["jump_"+core.status.floorId]++,core.status.hero.hp<=0&&(core.status.hero.hp=0,core.updateStatusBar(),core.events.lose("你跳死了")),core.playSound("015-Jump01.ogg"),core.insertAction([{type:"jump",from:[o.x,o.y],to:[i.x,i.y],time:500,keep:!0}])}}function u(e,r,t,o){switch(o||(o=!1),e){case"up":t--;break;case"right":r++;break;case"down":t++;break;case"left":r--}if(r>core.status.thisMap.width-1||t>core.status.thisMap.height-1||r<0||t<0)return core.drawTip("当前无法使用技能");var a=core.getBlockId(r,t)||"";if(core.getBgNumber(r,t))var n=core.getBlockByNumber(core.getBgNumber(r,t)).event.id||"";else n="";return core.noPass(r,t)||"items"==core.getBlockCls(r,t)||a.startsWith("X")&&!ignoreInJump.event.includes(a)||n.startsWith("X")&&!ignoreInJump.bg.includes(n)||"animates"==core.getBlockCls(r,t)?u(e,r,t,!0):o?{x:r,y:t}:u(e,r,t,!1)}}core.plugin.skillEffects={jumpSkill:jumpSkill,jumpIgnoreFloor:jumpIgnoreFloor};var skills$1=Object.freeze({__proto__:null,jumpIgnoreFloor:jumpIgnoreFloor,jumpSkill:jumpSkill}),levels=[],skills={chapter1:[{index:0,title:"力量",desc:["力量就是根本!可以通过智慧增加力量,每级增加2点攻击。"],consume:"10 * level + 10",front:[],loc:[1,2],max:10,effect:["攻击 + ${level * 2}"]},{index:1,title:"致命一击",desc:["爆发出全部力量攻击敌人,每级增加5点额外攻击。"],consume:"30 * level + 30",front:[[0,5]],loc:[2,1],max:10,effect:["额外攻击 + ${level * 5}"]},{index:2,title:"断灭之刃",desc:['主动技能,快捷键1,',"开启后会在战斗时会额外增加一定量的攻击,但同时减少一定量的防御。"],consume:"200 * level + 400",front:[[1,5]],loc:[4,1],max:5,effect:["增加${level * 10}%攻击,减少${level * 10}%防御"]},{index:3,title:"坚韧",desc:["由智慧转化出坚韧!每级增加2点防御"],consume:"10 * level + 10",front:[],loc:[1,4],max:10,effect:["防御 + ${level * 2}"]},{index:4,title:"回春",desc:["让智慧化为治愈之泉水!每级增加1点生命回复"],consume:"20 * level + 20",front:[[3,5]],loc:[2,5],max:25,effect:["生命回复 + ${level}"]},{index:5,title:"治愈之泉",desc:["让生命变得更多一些吧!每吃50瓶血瓶就增加当前生命回复10%的生命回复"],consume:"1500",front:[[4,25]],loc:[4,5],max:1,effect:["50瓶血10%生命回复"]},{index:6,title:"坚固之盾",desc:["让护甲更加坚硬一些吧!每级增加10点防御"],consume:"50 + level * 50",front:[[3,5]],loc:[2,3],max:10,effect:["防御 + ${level * 10}"]},{index:7,title:"无上之盾",desc:['第一章终极技能,战斗时智慧的 1/10 会充当等量护盾。'],consume:"2500",front:[[6,10],[5,1],[2,2]],loc:[5,3],max:1,effect:["战斗时智慧会充当护盾"]}],chapter2:[{index:8,title:"锋利",desc:["让剑变得更加锋利!每级使攻击增加1%(buff式增加)"],consume:"level > 5 ? 50 * level ** 2 : 250 * level + 250",front:[],loc:[1,2],max:15,effect:["攻击增加${level}%"]},{index:9,title:"坚硬",desc:["让盾牌变得更加坚固!每级使防御增加1%(buff式增加)"],consume:"level > 5 ? 50 * level ** 2 : 250 * level + 250",front:[],loc:[1,4],max:15,effect:["防御增加${level}%"]},{index:10,title:"铸剑为盾",desc:['主动技能,快捷键3,',"减少一定的攻击,增加一定的防御"],consume:"1000 * level ** 2 + 1000",front:[[9,5]],loc:[2,5],max:5,effect:["增加${level * 10}%的防御,减少${level * 10}%的攻击"]},{index:11,title:"学习",desc:['主动技能,可以消耗500智慧学习一个怪物的技能,',"持续5场战斗,每学习一次消耗的智慧点增加250,每次升级使持续的战斗次数增加3次。更多信息可在学习后在百科全书查看。"],consume:"2500 * 2 ** level + 5000",front:[[8,10],[12,5]],loc:[4,1],max:6,effect:["学习怪物技能,持续${level * 3 + 2}场战斗"]},{index:12,title:"聪慧",desc:["使主角变得更加聪明,每级使绿宝石增加的智慧点上升5%"],consume:"level > 5 ? 100 * level ** 2 : 250 * level + 1250",front:[[8,10],[9,10]],loc:[3,3],max:20,effect:["增加${level * 5}%绿宝石效果"]},{index:13,title:"治愈",desc:["使主角能够更好地回复生命,每级使血瓶的加血量增加2%"],consume:"level > 5 ? 100 * level ** 2 : 250 * level + 1250",front:[[10,3]],loc:[4,5],max:20,effect:["增加${level * 2}%的血瓶回血量"]},{index:14,title:"胜利之号",desc:['第二章终极技能,',"每打一个怪物,勇士在本楼层对怪物造成的伤害便增加1%"],consume:"15000",front:[[13,10],[12,10],[11,3]],loc:[5,3],max:1,effect:["每打一个怪,勇士造成的伤害增加1%"]}]};function resetSkillLevel(){levels=[]}function getSkillFromIndex(e){for(var r=0,t=Object.entries(skills);rcore.status.hero.mdef)return!1;var r=core.plugin.skillTree.getSkillLevel(e),t=getSkillFromIndex(e);if(r===t.max)return!1;var o,a=_createForOfIteratorHelper(t.front);try{for(a.s();!(o=a.n()).done;){var n=_slicedToArray(o.value,2),c=n[0],l=n[1];if(core.plugin.skillTree.getSkillLevel(c)=e.length)return void(flags.wordsTimeOut=setTimeout((function(){core.deleteCanvas("words"),core.deleteCanvas("wordsBg")}),o));var n=0,c=2,l=4+24*t,s=window.setInterval((function(){c-=.4,n++,core.clearMap("words",l,0,24,24),a.filter="blur("+c+"px)",core.fillText("words",e[t],l,20,"#ffffff","22px normal"),5==n&&(clearInterval(s),r(t+1))}),20)}(0)}function dynamicCurtain(e,r,t,o){o=o||480,core.dymCanvas.wordsBg?core.clearMap("wordsBg"):core.createCanvas("wordsBg",0,e,o,24,130),t/=1e3;var a=e,n=0,c=2*(r-e)/Math.pow(50*t,2),l=c*t*50,s=document.getElementById("wordsBg").getContext("2d");s.shadowColor="rgba(0, 0, 0, 0.8)";var i=window.setInterval((function(){n++,a+=l-=c,core.clearMap("wordsBg"),s.shadowBlur=8,s.shadowOffsetY=2,core.fillRect("wordsBg",0,0,o,a-e,[180,180,180,.7]),s.shadowBlur=3,s.shadowOffsetY=0,core.strokeRect("wordsBg",1,1,o-2,a-e-2,[255,255,255,.7],2),n>=50*t&&(clearInterval(i),core.clearMap("wordsBg"),s.shadowBlur=8,s.shadowOffsetY=2,core.fillRect("wordsBg",0,0,o,r-e,[180,180,180,.7]),s.shadowBlur=3,s.shadowOffsetY=0,core.strokeRect("wordsBg",1,1,o-2,a-e-2,[255,255,255,.7],2))}),20)}function attackBoss(){if(!(flags.canAttack||Math.random()<.8)){if(hp>3500)var e=Math.floor(13*Math.random()+1),r=Math.floor(13*Math.random()+1);else if(hp>2e3)e=Math.floor(11*Math.random()+2),r=Math.floor(11*Math.random()+2);else if(hp>1e3)e=Math.floor(9*Math.random()+3),r=Math.floor(9*Math.random()+3);else e=Math.floor(7*Math.random()+4),r=Math.floor(7*Math.random()+4);flags.canAttack=!0,core.dymCanvas.attackBoss?core.clearMap("attackBoss"):core.createCanvas("attackBoss",0,0,480,480,35);var t=document.getElementById("attackBoss").getContext("2d"),o=0,a=3,n=2,c=.04,l=window.setInterval((function(){core.clearMap("attackBoss"),o++,n-=c-=8e-4,a-=.06,t.filter="blur("+a+"px)",core.strokeCircle("attackBoss",32*e+16,32*r+16,16*n,[255,150,150,.7],4),core.fillCircle("attackBoss",32*e+16,32*r+16,3*n,[255,150,150,.7]),50==o&&(clearInterval(l),core.clearMap("attactkBoss"),t.filter="none",core.strokeCircle("attackBoss",32*e+16,32*r+16,16,[255,150,150,.7],4),core.fillCircle("attackBoss",32*e+16,32*r+16,3,[255,150,150,.7]))}),20),s=0,i=window.setInterval((function(){s++;var t=core.status.hero.loc.x,o=core.status.hero.loc.y;return s>100?(setTimeout((function(){delete flags.canAttack}),4e3),clearInterval(i),void core.deleteCanvas("attackBoss")):e==t&&r==o?(setTimeout((function(){delete flags.canAttack}),4e3),dynamicChangeHp(hp,hp-500,1e4),hp-=500,clearInterval(i),core.deleteCanvas("attackBoss"),void(hp>3500?core.drawAnimate("hand",7,1):hp>2e3?core.drawAnimate("hand",7,2):hp>1e3?core.drawAnimate("hand",7,3):core.drawAnimate("hand",7,4))):void 0}),20)}}function bossCore(){var e=window.setInterval((function(){1==stage&&(8==seconds&&skipWord("智慧之神:果然,你和别人不一样。"),12==seconds&&skipWord("智慧之神:你知道去躲避那些攻击。"),16==seconds&&skipWord("智慧之神:之前的那些人总会一头撞上我的攻击,悲剧收场。"),20==seconds&&skipWord("提示:踩在红圈上可以对智慧之神造成伤害"),seconds>10&&attackBoss(),seconds%10==0&&intelligentArrow(),seconds%7==0&&0!=seconds&&intelligentDoor(),seconds>20&&seconds%13==0&&icyMomentem()),1==stage&&hp<=7e3&&(stage++,seconds=0,skipWord("智慧之神:不错小伙子"),core.pauseBgm()),2==stage&&(4==seconds&&skipWord("智慧之神:你的确拥有智慧。"),8==seconds&&skipWord("智慧之神:或许你就是那个未来的救星。"),12==seconds&&skipWord("智慧之神:不过,这场战斗才刚刚开始"),25==seconds&&skipWord("提示:方形区域均为危险区域"),15==seconds&&setTimeout((function(){core.playSound("thunder.mp3")}),500),16==seconds&&startStage2(),seconds>20&&attackBoss(),seconds%4==0&&seconds>20&&randomThunder(),seconds>30&&seconds%12==0&&ballThunder()),hp<=3500&&2==stage&&(stage++,seconds=0,skipWord("智慧之神:不得不说小伙子"),core.pauseBgm()),stage>=3&&(4==seconds&&skipWord("智慧之神:拥有智慧就是不一样。"),8==seconds&&skipWord("智慧之神:不过,你还得再过我一关!"),12==seconds&&startStage3(),15==seconds&&(flags.booming=!0,randomBoom()),seconds>20&&attackBoss(),seconds>20&&seconds%10==0&&chainThunder(),2e3==hp&&3==stage&&(stage++,flags.booming=!1,skipWord("智慧之神:还没有结束!"),startStage4(),setTimeout((function(){flags.booming=!0,randomBoom()}),5e3)),1e3==hp&&4==stage&&(stage++,flags.booming=!1,skipWord("智慧之神:还没有结束!!!!!!"),startStage5(),setTimeout((function(){flags.booming=!0,randomBoom()}),5e3))),0==hp&&(clearInterval(e),clearInterval(flags.boom),core.status.hero.hp=heroHp,clip("choices:0"),delete flags.__bgm__,core.pauseBgm(),core.insertAction(["\t[智慧之神,E557]\b[down,7,4]看来你真的会成为那个拯救未来的人。","\t[智慧之神,E557]\b[down,7,4]记住,拥有智慧便可以掌控万物。","\t[低级智人]\b[up,hero]智慧?智慧到底是什么?","\t[智慧之神,E557]\b[down,7,4]最终,你会知道答案的。","\t[智慧之神,E557]\b[down,7,4]继续向东前进吧,那里能找到你想要的答案。",{type:"openDoor",loc:[13,6],floorId:"MT19"},"\t[智慧之神,E557]\b[down,7,4]我这就把你送出去",{type:"setValue",name:"flag:boss1",value:"true"},{type:"changeFloor",floorId:"MT20",loc:[7,9]},{type:"forbidSave"},{type:"showStatusBar"},{type:"function",function:"() => {\ncore.deleteAllCanvas();\n}"}])),seconds++}),1e3)}function intelligentArrow(e){var r=Math.floor(13*Math.random()+1),t=Math.random()>.5?"horizon":"vertical";if(!e)var o=Math.ceil(8*Math.random())+4,a=1,n=window.setInterval((function(){intelligentArrow(!0),++a>=o&&clearInterval(n)}),200);if(core.dymCanvas["inteArrow"+r+t])return intelligentArrow(!0);if(core.dymCanvas.danger1||core.createCanvas("danger1",0,0,480,480,35),"horizon"==t)for(var c=1;c<14;c++)core.fillRect("danger1",32*c+2,32*r+2,28,28,[255,0,0,.6]);else for(var l=1;l<14;l++)core.fillRect("danger1",32*r+2,32*l+2,28,28,[255,0,0,.6]);core.dymCanvas["inteArrow"+r+t]||core.createCanvas("inteArrow"+r+t,0,0,544,544,65),core.clearMap("inteArrow"+r+t),"horizon"==t?core.drawImage("inteArrow"+r+t,"arrow.png",448,32*r,102,32):core.drawImage("inteArrow"+r+t,"arrow.png",0,0,259,75,32*r-32,480,102,32,Math.PI/2),setTimeout((function(){core.playSound("arrow.mp3"),core.deleteCanvas("danger1");var e=0,o=0,a={},n=window.setInterval((function(){if(e+=o-=1,"horizon"==t?core.relocateCanvas("inteArrow"+r+t,e,0):core.relocateCanvas("inteArrow"+r+t,0,e),e<-480&&(core.deleteCanvas("inteArrow"+r+t),clearInterval(n)),!a[r+t]){var c=core.status.hero.loc.x,l=core.status.hero.loc.y;if("horizon"==t){if(l==r&&Math.floor((480+e)/32)==c&&(a[r+t]=!0,core.drawHeroAnimate("hand"),core.status.hero.hp-=1e3,core.addPop(32*c+16,32*l+16,-1e3),core.updateStatusBar(),core.status.hero.hp<0))return clearInterval(n),core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()}else if(c==r&&Math.floor((480+e)/32)==l&&(a[r+t]=!0,core.drawHeroAnimate("hand"),core.status.hero.hp-=1e3,core.addPop(32*c+16,32*l+16,-1e3),core.updateStatusBar(),core.status.hero.hp<0))return clearInterval(n),core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()}}),20)}),3e3)}function intelligentDoor(){if(!(Math.random()<.5)){var e=Math.floor(13*Math.random())+1,r=Math.floor(13*Math.random())+1;core.drawHeroAnimate("magicAtk"),core.dymCanvas["door"+e+"_"+r]?core.clearMap("door"+e+"_"+r):core.createCanvas("door"+e+"_"+r,0,0,480,480,35);var t=document.getElementById("door"+e+"_"+r).getContext("2d"),o=0,a=0,n=.64,c=window.setInterval((function(){if(!(++o<40)){if(100==o)return clearInterval(c),core.insertAction([{type:"changePos",loc:[e,r]}]),void setTimeout((function(){core.deleteCanvas("door"+e+"_"+r)}),2e3);a+=2*n,n-=.0128,core.clearMap("door"+e+"_"+r),t.shadowColor="rgba(255, 255, 255, 1)",t.shadowBlur=7,t.filter="blur(5px)",core.fillRect("door"+e+"_"+r,32*e,32*r-24,a,48,[255,255,255,.7]),t.shadowColor="rgba(0, 0, 0, 0.5)",t.filter="blur(3px)",core.strokeRect("door"+e+"_"+r,32*e,32*r-24,a,48,[255,255,255,.7],3)}}),20)}}function icyMomentem(){if(!(flags.haveIce||Math.random()<.5)){var e=Math.floor(100*Math.random()),r=[],t=0;flags.haveIce=!0,core.dymCanvas.icyMomentem?core.clearMap("icyMomentem"):core.createCanvas("icyMomentem",0,0,480,480,35);var o=window.setInterval((function(){var a,n,c=Math.floor(13*Math.random())+1,l=Math.floor(13*Math.random())+1;r.includes([c,l])||(r.push([c,l]),core.fillRect("icyMomentem",32*r[t][0]+2,32*r[t][1]+2,28,28,[150,150,255,.6])),t==e&&(clearInterval(o),a=0,n=window.setInterval((function(){var e=core.status.hero.loc.x,t=core.status.hero.loc.y;if(core.clearMap("icyMomentem",32*r[a][0],32*r[a][1],32,32),core.setBgFgBlock("bg",167,r[a][0],r[a][1]),core.drawAnimate("ice",r[a][0],r[a][1]),e==r[a][0]&&t==r[a][1]&&(core.drawHeroAnimate("hand"),core.status.hero.hp-=5e3,core.addPop(32*e+16,32*t+16,-5e3),core.updateStatusBar(),core.status.hero.hp<0))return core.status.hero.hp=0,core.updateStatusBar(),core.events.lose(),void clearInterval(n);a>=r.length-1&&(clearInterval(n),setTimeout((function(){!function(e){var r=0,t=window.setInterval((function(){core.setBgFgBlock("bg",0,e[r][0],e[r][1]),++r>=e.length&&(clearInterval(t),core.deleteCanvas("icyMomentem"),setTimeout((function(){delete flags.haveIce}),5e3))}),50)}(r)}),5e3)),a++}),50)),t++}),20)}}function startStage2(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.setWeather(),core.setWeather("rain",10),core.setWeather("fog",8),core.setCurtain([0,0,0,.3]),core.playBgm("towerBoss2.mp3"))}))}function randomThunder(){var e=Math.floor(13*Math.random())+1,r=Math.floor(13*Math.random())+1,t=Math.ceil(6*Math.random());core.dymCanvas.thunderDanger?core.clearMap("thunderDanger"):core.createCanvas("thunderDanger",0,0,480,480,35);for(var o=e-1;o<=e+1;o++)for(var a=r-1;a<=r+1;a++)core.fillRect("thunderDanger",32*o+2,32*a+2,28,28,[255,255,255,.6]);core.deleteCanvas("flash"),setTimeout((function(){core.playSound("thunder.mp3")}),500),setTimeout((function(){core.deleteCanvas("thunderDanger"),drawThunder(e,r,t)}),1e3)}function drawThunder(e,r,t){var o=getThunderRoute(32*e+16,32*r+16,t);core.dymCanvas.thunder?core.clearMap("thunder"):core.createCanvas("thunder",0,0,480,480,65);var a=core.dymCanvas.thunder;for(var n in a.shadowColor="rgba(220, 220, 255, 1)",a.shadowBlur=t,a.filter="blur(2.5px)",o)for(var c=0;c=10&&(clearInterval(d),core.deleteCanvas("flash"),setTimeout((function(){core.deleteCanvas("thunder")}),700))}),20)}function getThunderRoute(e,r,t){for(var o=[],a=0;a=0;l++)l>0?(n+=30*Math.random()-15,c-=80*Math.random()+30):(n+=16*Math.random()-8,c+=16*Math.random()-8),o[a].push([n,c])}return o}function ballThunder(){var e=Math.ceil(12*Math.random())+6,r=0,t=[],o=window.setInterval((function(){core.dymCanvas["ballThunder"+r]?core.clearMap("ballThunder"+r):core.createCanvas("ballThunder"+r,0,0,480,480,35);var a=Math.floor(13*Math.random())+1,n=Math.floor(13*Math.random())+1;if(!t.includes([a,n])){t.push([a,n]);for(var c=1;c<14;c++)core.fillRect("ballThunder"+r,32*c+2,32*n+2,28,28,[190,190,255,.6]);for(var l=1;l<14;l++)core.fillRect("ballThunder"+r,32*a+2,32*l+2,28,28,[190,190,255,.6])}++r>=e&&(clearInterval(o),setTimeout((function(){!function(e){var r=0;core.dymCanvas.ballAnimate?core.clearMap("ballAnimate"):core.createCanvas("ballAnimate",0,0,480,480,65);var t=core.dymCanvas.ballAnimate;t.shadowColor="rgba(255, 255, 255, 1)";var o=[],a=window.setInterval((function(){core.clearMap("ballAnimate");for(var n=0;n0){var c=r-10*n;1==c&&core.playSound("electron.mp3");var l=32*e[n][0]+16,s=32*e[n][1]+16;if(c<=2?core.fillCircle("ballAnimate",l,s,16+3*c,[255,255,255,.9]):(core.fillCircle("ballAnimate",l,s-4*c,7+2*Math.random(),[255,255,255,.7]),core.fillCircle("ballAnimate",l,s+4*c,7+2*Math.random(),[255,255,255,.7]),core.fillCircle("ballAnimate",l-4*c,s,7+2*Math.random(),[255,255,255,.7]),core.fillCircle("ballAnimate",l+4*c,s,7+2*Math.random(),[255,255,255,.7])),core.clearMap("ballThunder"+n,l-16,s-16-4*c,32,32),core.clearMap("ballThunder"+n,l-16,s-16+4*c,32,32),core.clearMap("ballThunder"+n,l-16-4*c,s-16,32,32),core.clearMap("ballThunder"+n,l-16+4*c,s-16,32,32),!o[n]){var i=core.status.hero.loc.x,u=core.status.hero.loc.y;if(((Math.floor((l-16-4*c)/32)==i||Math.floor((l-16+4*c)/32)==i)&&e[n][1]==u||(Math.floor((s-16-4*c)/32)==u||Math.floor((s-16+4*c)/32)==u)&&e[n][0]==i)&&(o[n]=!0,core.status.hero.hp-=3e3,core.addPop(32*i+16,32*u+16,-3e3),core.updateStatusBar(),core.playSound("electron.mp3"),core.status.hero.hp<0))return core.status.hero.hp=0,core.updateStatusBar(),core.events.lose(),void clearInterval(a)}n==e.length-1&&c>120&&clearInterval(a)}r++}),20)}(t)}),1e3))}),200)}function startStage3(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.playSound("thunder.mp3"),function(){for(var e=0;e<15;e++)for(var r=0;r<15;r++)0!=e&&14!=e&&0!=r&&14!=r||core.removeBlock(e,r),1!=e&&13!=e&&1!=r&&13!=r||0==e||14==e||0==r||14==r||core.setBlock(527,e,r);core.createCanvas("tower7",0,0,480,480,15),core.drawImage("tower7","tower7.jpeg",360,0,32,480,0,0,32,480),core.drawImage("tower7","tower7.jpeg",840,0,32,480,448,0,32,480),core.drawImage("tower7","tower7.jpeg",392,0,416,32,32,0,416,32),core.drawImage("tower7","tower7.jpeg",392,448,416,32,32,448,416,32),core.setBlock("E557",7,2),core.playBgm("towerBoss3.mp3")}(),core.insertAction([{type:"changePos",loc:[7,7]}]))}))}function startStage4(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.playSound("thunder.mp3"),function(){for(var e=1;e<14;e++)for(var r=1;r<14;r++)1!=e&&13!=e&&1!=r&&13!=r||core.removeBlock(e,r),2!=e&&12!=e&&2!=r&&12!=r||1==e||13==e||1==r||13==r||core.setBlock(527,e,r);core.createCanvas("tower7",0,0,480,480,15),core.drawImage("tower7","tower7.jpeg",360,0,64,480,0,0,64,480),core.drawImage("tower7","tower7.jpeg",776,0,64,480,416,0,64,480),core.drawImage("tower7","tower7.jpeg",424,0,352,64,64,0,352,64),core.drawImage("tower7","tower7.jpeg",424,416,352,64,64,416,352,64),core.setBlock("E557",7,3)}(),core.insertAction([{type:"changePos",loc:[7,7]}]))}))}function startStage5(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.playSound("thunder.mp3"),function(){for(var e=2;e<13;e++)for(var r=2;r<13;r++)2!=e&&12!=e&&2!=r&&12!=r||core.removeBlock(e,r),3!=e&&11!=e&&3!=r&&11!=r||2==e||12==e||2==r||12==r||core.setBlock(527,e,r);core.createCanvas("tower7",0,0,480,480,15),core.drawImage("tower7","tower7.jpeg",360,0,96,480,0,0,96,480),core.drawImage("tower7","tower7.jpeg",744,0,96,480,384,0,96,480),core.drawImage("tower7","tower7.jpeg",456,0,288,96,96,0,288,96),core.drawImage("tower7","tower7.jpeg",456,384,288,96,96,384,288,96),core.setBlock("E557",7,4)}(),core.insertAction([{type:"changePos",loc:[7,7]}]))}))}function chainThunder(){var e=Math.ceil(6*Math.random())+3;core.dymCanvas.chainDanger?core.clearMap("chainDanger"):core.createCanvas("chainDanger",0,0,480,480,35);var r=[],t=0,o=window.setInterval((function(){if(hp>2e3)var a=Math.floor(11*Math.random())+2,n=Math.floor(11*Math.random())+2;else if(hp>1e3)a=Math.floor(9*Math.random())+3,n=Math.floor(9*Math.random())+3;else a=Math.floor(7*Math.random())+4,n=Math.floor(7*Math.random())+4;r.includes([a,n])||(r.push([a,n]),t>0&&core.drawLine("chainDanger",32*r[t-1][0]+16,32*r[t-1][1]+16,32*a+16,32*n+16,[220,100,255,.6],3),t>=e&&(clearInterval(o),setTimeout((function(){getChainRoute(r),core.deleteCanvas("chainDanger")}),1e3)),t++)}),100)}function chainAnimate(e){if(!e)return chainThunder();core.dymCanvas.chain?core.clearMap("chain"):core.createCanvas("chain",0,0,480,480,65);var r=core.dymCanvas.chain;r.shadowBlur=3,r.shadowColor="rgba(255, 255, 255, 1)",r.filter="blur(2px)";var t=0,o=0,a=window.setInterval((function(){if(o>=e.length-1)return clearInterval(a),void setTimeout((function(){core.deleteCanvas("chain")}),1e3);++t%2==0&&(core.drawLine("chain",e[o][0],e[o][1],e[o+1][0],e[o+1][1],"#ffffff",3),0==o&&core.fillCircle("chain",e[0][0],e[0][1],7,"#ffffff"),(e[o+1][0]-16)%32==0&&(e[o+1][1]-16)%32==0&&core.fillCircle("chain",e[o+1][0],e[o+1][1],7,"#ffffff"),lineDamage(e[o][0],e[o][1],e[o+1][0],e[o+1][1],4e3),o++)}),20)}function getChainRoute(e){var r=0,t=[],o=window.setInterval((function(){var a=32*e[r][0]+16,n=32*e[r][1]+16,c=32*e[r+1][0]+16,l=32*e[r+1][1]+16,s=c-a,i=l-n,u=Math.atan(i/s);i<0&&s<0&&(u+=Math.PI),s<0&&i>0&&(u+=Math.PI);for(var d=0;;){if(d++,a+=50*Math.random()*Math.cos(u),n+=50*Math.random()*Math.sin(u),t.push([a,n]),Math.sqrt(Math.pow(n-l,2)+Math.pow(a-c,2))<=100){t.push([c,l]);break}if(d>=20)return clearInterval(o),void(t=null)}++r>=e.length-1&&(clearInterval(o),chainAnimate(t))}),2)}function randomBoom(){var e,r;flags.booming?(hp>2e3?(e=500,r=11):hp>1e3?(e=400,r=9):(e=300,r=7),flags.boom=window.setInterval((function(){var e=Math.floor(Math.random()*r)+(15-r)/2,t=Math.floor(Math.random()*r)+(15-r)/2;boomLocs.push([e,t,0]),flags.booming||clearInterval(flags.boom)}),e),boomingAnimate()):clearInterval(flags.boom)}function boomingAnimate(){core.dymCanvas.boom?core.clearMap("boom"):core.createCanvas("boom",0,0,480,480,65);var e=window.setInterval((function(){0!=boomLocs.length&&(flags.booming||0!=boomLocs.length?(core.clearMap("boom"),boomLocs.forEach((function(r,t){r[2]++;var o=32*r[0]+16,a=32*r[1]+16;if(r[2]>=20)var n=1,c=12;else c=.12*Math.pow(20-r[2],2)+12,n=Math.max(1,2-.1*r[2]);var l=r[2]*Math.PI/50;if(core.fillCircle("boom",o,a,3,[255,50,50,n]),core.strokeCircle("boom",o,a,c,[255,50,50,n],2),core.drawLine("boom",o+c*Math.cos(l),a+c*Math.sin(l),o+(c+15)*Math.cos(l),a+(c+15)*Math.sin(l),[255,50,50,n],1),l+=Math.PI,core.drawLine("boom",o+c*Math.cos(l),a+c*Math.sin(l),o+(c+15)*Math.cos(l),a+(c+15)*Math.sin(l),[255,50,50,n],1),r[2]>70){var s=a-(20*(85-r[2])+2.8*Math.pow(85-r[2],2));core.drawImage("boom","boom.png",o-18,s-80,36,80)}if(85==r[2]){core.drawAnimate("explosion1",(o-16)/32,(a-16)/32),boomLocs.splice(t,1),0==boomLocs.length&&core.deleteCanvas("boom");var i=core.status.hero.loc.x,u=core.status.hero.loc.y;if(r[0]==i&&r[1]==u&&(core.status.hero.hp-=3e3,core.addPop(32*o+16,32*a+16,-3e3),core.updateStatusBar(),core.status.hero.hp<0))return core.status.hero.hp=0,core.updateStatusBar(),core.events.lose(),clearInterval(e),void(flags.booming=!1)}}))):clearInterval(e))}),20)}function lineDamage(e,r,t,o,a){var n=core.status.hero.loc.x,c=core.status.hero.loc.y;if(!(e<32*n-12&&t<32*n-12||e>32*n+12&&t>32*n+12||r<32*c-16&&o<32*c-16||r>32*c+16&&o>32*c+16))for(var l=1;l<=2;l++)if(1==l){var s=[32*n+12,32*c-16];if(((o-r)/(t-e)*((i=[32*n-12,32*c+16])[0]-e)+r-i[1])*((o-r)/(t-e)*(s[0]-e)+r-s[1])<=0)return core.status.hero.hp-=a,core.addPop(32*n+16,32*c+16,-a),core.updateStatusBar(),core.playSound("electron.mp3"),core.status.hero.hp<0?(core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()):void 0}else{var i;s=[32*n+12,32*c+16];if(((o-r)/(t-e)*((i=[32*n-12,32*c-16])[0]-e)+r-i[1])*((o-r)/(t-e)*(s[0]-e)+r-s[1])<=0)return core.status.hero.hp-=a,core.addPop(32*n+16,32*c+16,-a),core.updateStatusBar(),core.playSound("electron.mp3"),core.status.hero.hp<0?(core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()):void 0}}core.plugin.towerBoss={initTowerBoss:initTowerBoss};var towerBoss=Object.freeze({__proto__:null});function chaseInit1(){var e=[];["MT13","MT14","MT15"].forEach((function(r){core.status.maps[r].cannotMoveDirectly=!0,core.extractBlocks(r),core.status.maps[r].blocks.forEach((function(t){["animates","items"].includes(t.event.cls)&&!t.event.id.endsWith("Portal")&&e.push([t.x,t.y,r])}))})),e.forEach((function(e){var r;(r=core).removeBlock.apply(r,_toConsumableArray(e))}))}core.plugin.chase={chaseInit1:chaseInit1};var chase=Object.freeze({__proto__:null,chaseInit1:chaseInit1});class EnemyCollection{}class Enemy{}core.plugin.damage={Enemy:Enemy};var damage=Object.freeze({__proto__:null,Enemy:Enemy,EnemyCollection:EnemyCollection});return exports.chase=chase,exports.damage=damage,exports.halo=halo,exports.hero=hero,exports.loopMap=loopMap,exports.remainEnemy=remainEnemy,exports.removeMap=removeMap,exports.shop=shop,exports.skill=skills$1,exports.skillTree=skillTree,exports.study=study,exports.towerBoss=towerBoss,exports.utils=utils,exports}({}); +var CorePlugin=function(exports){"use strict";function createCanvas(e,r){if(e){var t=document.createElement("canvas");t.id=e,t.className="gameCanvas no-anti-aliasing","editor"!=main.mode&&(t.style.zIndex=r||0),document.getElementById("gameDraw").appendChild(t);var o=t.getContext("2d");return core.canvas[e]=o,t}}var bg2Canvas=createCanvas("bg2",20),fg2Canvas=createCanvas("fg2",63);if(core.bigmap.canvas=["bg2","fg2","bg","event","event2","fg","damage"],core.initStatus.bg2maps={},core.initStatus.fg2maps={},"editor"==main.mode){document.getElementById("mapEdit").insertBefore(bg2Canvas,document.getElementById("event")),document.getElementById("mapEdit").insertBefore(fg2Canvas,document.getElementById("ebm"));var num=4;editor.dom.bg2c=core.canvas.bg2.canvas,editor.dom.bg2Ctx=core.canvas.bg2,editor.dom.fg2c=core.canvas.fg2.canvas,editor.dom.fg2Ctx=core.canvas.fg2,editor.dom.maps.push("bg2map","fg2map"),editor.dom.canvas.push("bg2","fg2");var createCanvasBtn=function(e){var r=document.createElement("input"),t="layerMod"+num++,o=e+"map";return r.type="radio",r.name="layerMod",r.id=t,r.value=o,editor.dom[t]=r,r.onchange=function(){editor.uifunctions.setLayerMod(o)},r},createCanvasBtn_mobile=function(e){var r=document.createElement("option"),t="layerMod"+num++,o=e+"map";return r.name="layerMod",r.value=o,editor.dom[t]=r,r};if(editor.isMobile){var input=createCanvasBtn_mobile("bg2"),input2=createCanvasBtn_mobile("fg2");input.innerText="背景2",input2.innerText="前景2";var parent=document.getElementById("layerMod");parent.insertBefore(input,parent.children[1]),parent.appendChild(input2)}else{var input=createCanvasBtn("bg2"),input2=createCanvasBtn("fg2"),child=document.getElementById("layerMod"),parent=child.parentNode;parent.insertBefore(input,child);var txt=document.createTextNode("背2");parent.insertBefore(txt,child),parent.appendChild(input2);var txt2=document.createTextNode("前2");parent.appendChild(txt2)}}core.maps._loadFloor_doNotCopy=function(){return["firstArrive","eachArrive","blocks","parallelDo","map","bgmap","fgmap","bg2map","fg2map","events","changeFloor","afterBattle","afterGetItem","afterOpenDoor","cannotMove"]},core.maps._drawBg_draw=function(e,r,t,o){o.ctx=t,core.maps._drawBg_drawBackground(e,o),core.maps._drawFloorImages(e,o.ctx,"bg",null,null,o.onMap),core.maps._drawBgFgMap(e,"bg",o),o.onMap&&(core.drawImage(r,t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),core.clearMap("bg2"),core.clearMap(t)),core.maps._drawBgFgMap(e,"bg2",o),o.onMap&&core.drawImage("bg2",t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),o.ctx=r},core.maps._drawFg_draw=function(e,r,t,o){o.ctx=t,core.maps._drawFloorImages(e,o.ctx,"fg",null,null,o.onMap),core.maps._drawBgFgMap(e,"fg",o),o.onMap&&(core.drawImage(r,t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),core.clearMap("fg2"),core.clearMap(t)),core.maps._drawBgFgMap(e,"fg2",o),o.onMap&&core.drawImage("fg2",t.canvas,core.bigmap.v2?-32:0,core.bigmap.v2?-32:0),o.ctx=r},core.maps._generateMovableArray_arrays=function(e){return{bgArray:this.getBgMapArray(e),fgArray:this.getFgMapArray(e),eventArray:this.getMapArray(e),bg2Array:this._getBgFgMapArray("bg2",e),fg2Array:this._getBgFgMapArray("fg2",e)}},["up","down","left","right"].forEach((function(e){core.material.icons.hero[e].midFoot=2}));var heroMoving=function(e){core.status.heroMoving<=0||(e-core.animateFrame.moveTime>core.values.moveSpeed&&(core.animateFrame.leftLeg++,core.animateFrame.moveTime=e),core.drawHero(["stop","leftFoot","midFoot","rightFoot"][core.animateFrame.leftLeg%4],4*core.status.heroMoving))};function _iterableToArrayLimit(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,a,n,c,s=[],l=!0,i=!1;try{if(n=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;l=!1}else for(;!(l=(o=n.call(t)).done)&&(s.push(o.value),s.length!==r);l=!0);}catch(e){i=!0,a=e}finally{try{if(!l&&null!=t.return&&(c=t.return(),Object(c)!==c))return}finally{if(i)throw a}}return s}}function _regeneratorRuntime(){_regeneratorRuntime=function(){return e};var e={},r=Object.prototype,t=r.hasOwnProperty,o=Object.defineProperty||function(e,r,t){e[r]=t.value},a="function"==typeof Symbol?Symbol:{},n=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function l(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{l({},"")}catch(e){l=function(e,r,t){return e[r]=t}}function i(e,r,t,a){var n=r&&r.prototype instanceof f?r:f,c=Object.create(n.prototype),s=new M(a||[]);return o(c,"_invoke",{value:w(e,t,s)}),c}function u(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=i;var d={};function f(){}function p(){}function h(){}var m={};l(m,n,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(I([])));v&&v!==r&&t.call(v,n)&&(m=v);var y=h.prototype=f.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(r){l(e,r,(function(e){return this._invoke(r,e)}))}))}function _(e,r){function a(o,n,c,s){var l=u(e[o],e,n);if("throw"!==l.type){var i=l.arg,d=i.value;return d&&"object"==typeof d&&t.call(d,"__await")?r.resolve(d.__await).then((function(e){a("next",e,c,s)}),(function(e){a("throw",e,c,s)})):r.resolve(d).then((function(e){i.value=e,c(i)}),(function(e){return a("throw",e,c,s)}))}s(l.arg)}var n;o(this,"_invoke",{value:function(e,t){function o(){return new r((function(r,o){a(e,t,r,o)}))}return n=n?n.then(o,o):o()}})}function w(e,r,t){var o="suspendedStart";return function(a,n){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===a)throw n;return B()}for(t.method=a,t.arg=n;;){var c=t.delegate;if(c){var s=k(c,t);if(s){if(s===d)continue;return s}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===o)throw o="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);o="executing";var l=u(e,r,t);if("normal"===l.type){if(o=t.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:t.done}}"throw"===l.type&&(o="completed",t.method="throw",t.arg=l.arg)}}}function k(e,r){var t=r.method,o=e.iterator[t];if(void 0===o)return r.delegate=null,"throw"===t&&e.iterator.return&&(r.method="return",r.arg=void 0,k(e,r),"throw"===r.method)||"return"!==t&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+t+"' method")),d;var a=u(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,d;var n=a.arg;return n?n.done?(r[e.resultName]=n.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,d):n:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,d)}function S(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function x(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function I(e){if(e){var r=e[n];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--a){var n=this.tryEntries[a],c=n.completion;if("root"===n.tryLoc)return o("end");if(n.tryLoc<=this.prev){var s=t.call(n,"catchLoc"),l=t.call(n,"finallyLoc");if(s&&l){if(this.prev=0;--o){var a=this.tryEntries[o];if(a.tryLoc<=this.prev&&t.call(a,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),x(t),d}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var o=t.completion;if("throw"===o.type){var a=o.arg;x(t)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,t){return this.delegate={iterator:I(e),resultName:r,nextLoc:t},"next"===this.method&&(this.arg=void 0),d}},e}function asyncGeneratorStep(e,r,t,o,a,n,c){try{var s=e[n](c),l=s.value}catch(e){return void t(e)}s.done?r(l):Promise.resolve(l).then(o,a)}function _asyncToGenerator(e){return function(){var r=this,t=arguments;return new Promise((function(o,a){var n=e.apply(r,t);function c(e){asyncGeneratorStep(n,o,a,c,s,"next",e)}function s(e){asyncGeneratorStep(n,o,a,c,s,"throw",e)}c(void 0)}))}}function _slicedToArray(e,r){return _arrayWithHoles(e)||_iterableToArrayLimit(e,r)||_unsupportedIterableToArray(e,r)||_nonIterableRest()}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,c=!0,s=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return c=e.done,e},e:function(e){s=!0,n=e},f:function(){try{c||null==t.return||t.return()}finally{if(s)throw n}}}}function getItemDetail(floorId,onMap){var _floorId;if(core.getFlag("itemDetail")){null!==(_floorId=floorId)&&void 0!==_floorId||(floorId=core.status.thisMap.floorId);var diff={},before=core.status.hero,hero=core.clone(core.status.hero),handler={set:function(e,r,t){return diff[r]=t-(e[r]||0),diff[r]||(diff[r]=void 0),!0}};core.status.hero=new Proxy(hero,handler),core.status.maps[floorId].blocks.forEach((function(block){if("items"===block.event.cls&&!block.disable){var x=block.x,y=block.y;if(!(onMap&&core.bigmap.v2&&(xcore.bigmap.posX+core._PX_+core.bigmap.extend||ycore.bigmap.posY+core._PY_+core.bigmap.extend))){diff={};var id=block.event.id,item=core.material.items[id];if("equips"!==item.cls){core.setFlag("__statistics__",!0);try{eval(item.itemEffect)}catch(e){}drawItemDetail(diff,x,y)}else{var _item$equip$value,_item$equip$percentag,_diff=core.clone(null!==(_item$equip$value=item.equip.value)&&void 0!==_item$equip$value?_item$equip$value:{}),per=null!==(_item$equip$percentag=item.equip.percentage)&&void 0!==_item$equip$percentag?_item$equip$percentag:{};for(var name in per)_diff[name+"per"]=per[name].toString()+"%";drawItemDetail(_diff,x,y)}}}})),core.status.hero=before,window.hero=before,window.flags=before.flags}}function drawItemDetail(e,r,t){var o=32*r+2,a=32*t+31,n="",c=0;for(var s in e)if(e[s]){var l="#fff";switch(n="number"==typeof e[s]?core.formatBigNumber(e[s],!0):e[s],s){case"atk":case"atkper":l="#FF7A7A";break;case"def":case"defper":l="#00E6F1";break;case"mdef":case"mdefper":l="#6EFF83";break;case"hp":l="#A4FF00";break;case"hpmax":case"hpmaxper":l="#F9FF00";break;case"mana":l="#c66"}core.status.damage.data.push({text:n,px:o,py:a-10*c,color:l}),c++}}function checkMockery(e,r){if(!core.status.lockControl||r){var t=core.status.checkBlock.mockery[e];if(t){t.sort((function(e,r){return e[0]===r[0]?e[1]-r[1]:e[0]-r[0]}));var o=[],a=_slicedToArray(t[0],2),n=a[0],c=a[1],s=core.status.hero.loc,l=s.x,i=s.y,u=l>n?"left":lc?"up":"down",d=core.utils.scan[u],f=d.x,p=d.y;o.push({type:"changePos",direction:u});for(var h=core.getMapBlocksObj();;){i+=p;var m=h["".concat(l+=f,",").concat(i)];if(m&&(m.event.cls,["animates","autotile","tileset","npcs","npc48","terrains"].includes(m.event.cls)&&o.push({type:"hide",loc:[[l,i]],remove:!0,time:0},{type:"function",function:"function() { core.removeGlobalAnimate(".concat(l,", ").concat(i,") }")},{type:"animate",name:"hand",loc:[l,i],async:!0}),m.event.cls.startsWith("enemy")&&o.push({type:"moveAction"})),o.push({type:"moveAction"}),l===n&&i===c)break}o.push({type:"function",function:"function() { core.checkBlock(true); }"}),o.push({type:"stopAsync"}),core.insertAction(o)}}}core.registerAnimationFrame("heroMoving",!0,heroMoving),core.events._eventMoveHero_moving=function(e,r){var t=r[0],o=t[0],a=core.getHeroLoc("x"),n=core.getHeroLoc("y"),c="backward"==o?-1:1;"forward"!=o&&"backward"!=o||(o=core.getHeroLoc("direction"));var s=o;return"leftup"!=o&&"leftdown"!=o||(s="left"),"rightup"!=o&&"rightdown"!=o||(s="right"),core.setHeroLoc("direction",o),t[1]<=0?(core.setHeroLoc("direction",s),r.shift(),!0):(e<=4?core.drawHero("stop",4*c*e):e<=8?core.drawHero("leftFoot",4*c*e):e<=12?core.drawHero("midFoot",4*c*(e-8)):e<=16&&core.drawHero("rightFoot",4*c*(e-8)),(8==e||16==e)&&(core.setHeroLoc("x",a+c*core.utils.scan2[o].x,!0),core.setHeroLoc("y",n+c*core.utils.scan2[o].y,!0),core.updateFollowers(),t[1]--,t[1]<=0&&r.shift(),core.setHeroLoc("direction",s),16==e))},function(){function e(e,t,o){return r.apply(this,arguments)}function r(){return(r=_asyncToGenerator(_regeneratorRuntime().mark((function e(r,t,o){var a;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(a=new XMLHttpRequest).open(t,r),a.send(o),e.next=5,new Promise((function(e){a.onload=function(){200!==a.status?(console.error("hot reload: http ".concat(a.status)),e("@error")):e("success")},a.onerror=function(){e("@error"),console.error("hot reload: error on connection")}}));case 5:if("success"!==e.sent){e.next=10;break}return e.abrupt("return",a.response);case 10:return e.abrupt("return","@error");case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function t(e){document.getElementById("mota-css").remove();var r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.href=e,r.id="mota-css",document.head.appendChild(r),console.log("css hot reload: ".concat(e))}function o(e){return a.apply(this,arguments)}function a(){return(a=_asyncToGenerator(_regeneratorRuntime().mark((function e(r){var t,o;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!core.status.maps[r].deleted&&!core.status.maps[r].forceDelete){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,import("./project/floors/".concat(r,".js?v=").concat(Date.now()));case 4:core.floors[r]=main.floors[r],t=core.loadFloor(r),core.isPlaying()&&(core.status.maps[r]=t,delete core.status.mapBlockObjs[r],core.extractBlocks(r),r===core.status.floorId&&(core.drawMap(r),!(o=core.getFlag("__weather__",null))&&core.status.thisMap.weather&&(o=core.status.thisMap.weather),o?core.setWeather(o[0],o[1]):core.setWeather()),core.updateStatusBar(!0,!0)),console.log("floor hot reload: ".concat(r));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function n(){return c.apply(this,arguments)}function c(){return(c=_asyncToGenerator(_regeneratorRuntime().mark((function e(){var r,t,o,a,n,c,s,l;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a,(t=document.createElement("script")).src="/project/functions.js?v=".concat(Date.now()),document.body.appendChild(t),e.next=6,new Promise((function(e){t.onload=function(){return e("success")}}));case 6:o=functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a,e.t0=_regeneratorRuntime().keys(r);case 8:if((e.t1=e.t0()).done){e.next=23;break}a=e.t1.value,n=r[a],e.t2=_regeneratorRuntime().keys(n);case 12:if((e.t3=e.t2()).done){e.next=21;break}if(c=e.t3.value,"function"==typeof(s=n[c])&&"hasSpecial"!==c){e.next=17;break}return e.abrupt("continue",12);case 17:if(l=o[a][c],s.toString()!==l.toString())try{"events"===a?core.events.eventdata[c]=l:"enemys"===a?core.enemys.enemydata[c]=l:"actions"===a?core.actions.actionsdata[c]=l:"control"===a?core.control.controldata[c]=l:"ui"===a&&(core.ui.uidata[c]=l),core.updateStatusBar(!0,!0),console.log("function hot reload: ".concat(a,".").concat(c))}catch(e){console.error(e)}e.next=12;break;case 21:e.next=8;break;case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(e){return l.apply(this,arguments)}function l(){return(l=_asyncToGenerator(_regeneratorRuntime().mark((function e(r){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,import("./src/plugin/game/".concat(r,".js"));case 2:console.log("plugin hot reload: ".concat(r,".js"));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function i(e){return u.apply(this,arguments)}function u(){return(u=_asyncToGenerator(_regeneratorRuntime().mark((function e(r){var t,o,a,n;return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(t=document.createElement("script")).src="/project/".concat(r,".js?v=").concat(Date.now()),document.body.appendChild(t),e.next=5,new Promise((function(e){t.onload=function(){return e("success")}}));case 5:if("data"===r&&(o=data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d),"enemys"===r&&(o=enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80),"icons"===r&&(o=icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1),"items"===r&&(o=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a),"maps"===r&&(o=maps_90f36752_8815_4be8_b32b_d7fad1d0542e),"events"===r&&(o=events_c12a15a8_c380_4b28_8144_256cba95f760),"enemys"===r){for(a in core.enemys.enemys=o,o)core.enemys.enemys[a].id=a;core.material.enemys=core.getEnemys()}else if("icons"===r)core.icons.icons=o,core.material.icons=core.getIcons();else if("items"===r){for(n in core.items.items=o,o)core.items.items[n].id=n;core.material.items=core.getItems()}else"maps"===r?(core.maps.blocksInfo=o,core.status.mapBlockObjs={},core.status.number2block={},Object.values(core.status.maps).forEach((function(e){return delete e.blocks})),core.extractBlocks(),core.setWeather(core.animateFrame.weather.type,core.animateFrame.weather.level),core.drawMap()):"events"===r?core.events.commonEvent=o.commonEvent:"data"===r&&location.reload();core.updateStatusBar(!0,!0),console.log("data hot reload: ".concat(r));case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}"play"!==main.mode||main.replayChecking||_asyncToGenerator(_regeneratorRuntime().mark((function r(){return _regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e("/reload","POST","test");case 2:"@error"===r.sent?console.log("未检测到node服务,热重载插件将无法使用"):(console.log("热重载插件加载成功"),setInterval(_asyncToGenerator(_regeneratorRuntime().mark((function r(){var t;return _regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e("/reload","POST");case 2:if("@error"!==(t=r.sent)){r.next=5;break}return r.abrupt("return");case 5:if("true"!==t){r.next=9;break}location.reload(),r.next=10;break;case 9:return r.abrupt("return");case 10:case"end":return r.stop()}}),r)}))),1e3),setInterval(_asyncToGenerator(_regeneratorRuntime().mark((function r(){var a;return _regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e("/hotReload","POST");case 2:a=r.sent,a.split("@@").forEach((function(e){if(""!==e){var r=_slicedToArray(e.split(":"),2),a=r[0],c=r[1];"css"===a&&t(c),"data"===a&&i(c),"floor"===a&&o(c),"script"===a&&n(c),"plugin"===a&&s(c)}}));case 5:case"end":return r.stop()}}),r)}))),1e3));case 4:case"end":return r.stop()}}),r)})))()}(),core.control.updateDamage=function(e,r){if((e=e||core.status.floorId)&&!core.status.gameOver&&"play"==main.mode){var t=null==r;if(core.hasItem("book")){if(core.status.damage.posX=core.bigmap.posX,core.status.damage.posY=core.bigmap.posY,!t)if(core.floors[e].width*core.floors[e].height>core.bigmap.threshold)return;this._updateDamage_damage(e,t),this._updateDamage_extraDamage(e,t),getItemDetail(e,t),this.drawDamage(r)}}},control.prototype.checkBlock=function(e){var r=core.getHeroLoc("x"),t=core.getHeroLoc("y"),o=r+","+t,a=core.status.checkBlock.damage[o];if(a){main.replayChecking||core.addPop(32*(r-core.bigmap.offsetX/32)+12,32*(t-core.bigmap.offsetY/32)+20,-a.toString()),core.status.hero.hp-=a;var n=Object.keys(core.status.checkBlock.type[o]||{}).join(",")||"伤害";if(core.drawTip("受到"+n+a+"点"),core.drawHeroAnimate("zone"),this._checkBlock_disableQuickShop(),core.status.hero.statistics.extraDamage+=a,core.status.hero.hp<=0)return core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose();core.updateStatusBar()}this._checkBlock_repulse(core.status.checkBlock.repulse[o]),checkMockery(o,e)},control.prototype.moveHero=function(e,r){if(0==core.status.heroMoving){core.isset(e)&&core.setHeroLoc("direction",e);var t=core.nextX(),o=core.nextY();if(core.status.checkBlock.mockery["".concat(t,",").concat(o)]&&core.autosave(),r)return this.moveAction(r);this._moveHero_moving()}};var values={1:["crit"],6:["n"],7:["hungry"],8:["together"],10:["courage"],11:["charge"]},cannotStudy=[9,12,14,15,24];function canStudySkill(e){var r,t,o=null!==(t=(r=core.status.hero).special)&&void 0!==t?t:r.special={num:[],last:[]};return 0!==core.plugin.skillTree.getSkillLevel(11)&&(!(o.num.length>=1)&&(!o.num.includes(e)&&!cannotStudy.includes(e)))}function studySkill(e,r){var t,o,a;null!==(o=(t=core.status.hero).special)&&void 0!==o||(t.special={num:[],last:[]});var n=core.status.hero.special,c=core.getSpecials()[r-1][1];if(c instanceof Function&&(c=c(e)),canStudySkill(r)){n.num.push(r),n.last.push(3*core.plugin.skillTree.getSkillLevel(11)+2);var s,l=_createForOfIteratorHelper(null!==(a=values[r])&&void 0!==a?a:[]);try{for(l.s();!(s=l.n()).done;){var i=s.value;n[i]=e[i]}}catch(e){l.e(e)}finally{l.f()}}else main.replayChecking||core.tip("error","无法学习".concat(c))}function forgetStudiedSkill(e,r){var t,o=core.status.hero.special,a=null!=r?r:o.num.indexOf(e);if(-1!==a){o.num.splice(a,1),o.last.splice(a,1);var n,c=_createForOfIteratorHelper(null!==(t=values[number])&&void 0!==t?t:[]);try{for(c.s();!(n=c.n()).done;){delete o[n.value]}}catch(e){c.e(e)}finally{c.f()}}}function declineStudiedSkill(){var e,r,t=null!==(r=(e=core.status.hero).special)&&void 0!==r?r:e.special={num:[],last:[]};t.last=t.last.map((function(e){return e-1}))}function checkStudiedSkill(){for(var e=core.status.hero.special,r=0;rcore._PX_/32+1||k<-1||S>core._PY_/32+1))continue;e.fillStyle=g,e.strokeStyle=null!=v?v:g,e.lineWidth=1,e.globalAlpha=.1,e.fillRect(32*_,32*k,32*y,32*y),e.globalAlpha=.6,e.strokeRect(32*_,32*k,32*y,32*y)}}}catch(e){f.e(e)}finally{f.f()}}e.restore()}}core.registerReplayAction("openShop",(function(e){return!!e.startsWith("openShop:")&&(!shopOpened&&(openedShopId=e.slice(9),shopOpened=!0,core.status.route.push(e),core.replay(),!0))})),core.registerReplayAction("buy",(function(e){var r,t,o,a,n,c,s;if(!e.startsWith("buy:")&&!e.startsWith("sell:"))return!1;if(!shopOpened)return!1;if(!openedShopId)return!1;var l=_slicedToArray(e.split(":").map((function(e){return/^\d+$/.test(e)?parseInt(e):e})),3),i=l[0],u=l[1],d=l[2],f=core.status.shops[openedShopId].choices.find((function(e){return e.id===u}));if(!f)return!1;if(null!==(t=(r=flags).itemShop)&&void 0!==t||(r.itemShop={}),null!==(n=(o=flags.itemShop)[a=openedShopId])&&void 0!==n||(o[a]={}),null!==(s=(c=flags.itemShop[openedShopId])[u])&&void 0!==s||(c[u]=0),d>f.number-flags.itemShop[openedShopId][u])return!1;var p=0;return!((p="buy"===i?f.money*d:-f.sell*d)>core.status.hero.money)&&(core.status.hero.money-=p,flags.itemShop[openedShopId][u]+="buy"===i?d:-d,core.addItem(u,"buy"===i?d:-d),core.status.route.push(e),core.replay(),!0)})),core.registerReplayAction("closeShop",(function(e){return"closeShop"===e&&(!!shopOpened&&(shopOpened=!1,openedShopId="",core.status.route.push(e),core.replay(),!0))})),core.plugin.replay={ready:ready,readyClip:readyClip,clip:clip},function(){if(main.replayChecking)return core.plugin.gameUi={openItemShop:function(){return 0},showChapter:function(){return 0},openSkill:function(){return 0}};ui.prototype.drawBook=function(){if(!core.isReplaying())return core.plugin.bookOpened.value=!0},ui.prototype._drawToolbox=function(){if(!core.isReplaying())return core.plugin.toolOpened.value=!0},ui.prototype._drawEquipbox=function(){if(!core.isReplaying())return core.plugin.equipOpened.value=!0},ui.prototype.drawFly=function(){if(!core.isReplaying())return core.plugin.flyOpened.value=!0},control.prototype.updateStatusBar_update=function(){core.control.updateNextFrame=!1,core.isPlaying()&&!core.hasFlag("__statistics__")&&(core.control.controldata.updateStatusBar(),core.control.noAutoEvents||core.checkAutoEvents(),core.control._updateStatusBar_setToolboxIcon(),core.clearRouteFolding(),core.control.noAutoEvents=!0,main.replayChecking||(core.plugin.statusBarStatus.value=!core.plugin.statusBarStatus.value,core.checkMarkedEnemy()))},control.prototype.showStatusBar=function(){"editor"!=main.mode&&(core.removeFlag("hideStatusBar"),core.plugin.showStatusBar.value=!0,core.dom.tools.hard.style.display="block",core.dom.toolBar.style.display="block")},control.prototype.hideStatusBar=function(e){if("editor"!=main.mode){core.domStyle.showStatusBar||this.showStatusBar(),core.isReplaying()&&(e=!0),core.plugin.showStatusBar.value=!1;var r=core.dom.tools;if(core.setFlag("hideStatusBar",!0),core.setFlag("showToolbox",e||null),!core.domStyle.isVertical&&!core.flags.extendToolbar||!e)for(var t=0;t0?(e.unshift(...e.splice(e.length-r,r)),e):r<0?(e.push(...e.splice(0,-r)),e):e}function backDir(e){return{up:"down",down:"up",left:"right",right:"left"}[e]}function has(e){return null!=e}function maxGameScale(e=0){const r=core.domStyle.availableScale.indexOf(core.domStyle.scale);core.control.setDisplayScale(core.domStyle.availableScale.length-1-r-e),!core.isPlaying()&&core.flags.enableHDCanvas&&(core.domStyle.ratio=Math.max(window.devicePixelRatio||1,core.domStyle.scale),core.resize())}function ensureArray(e){return e instanceof Array?e:[e]}core.plugin.utils={slide:slide,backDir:backDir,has:has,maxGameScale:maxGameScale},core.has=has;var utils=Object.freeze({__proto__:null,backDir:backDir,ensureArray:ensureArray,has:has,maxGameScale:maxGameScale,slide:slide}),list=["tower6"];function setLoopMap(e,r){var t=core.status.maps[r];e<9&&moveMap(t.width-17,r),e>t.width-9&&moveMap(17-t.width,r)}function autoSetLoopMap(e){setLoopMap(core.status.hero.loc.x,e)}function checkLoopMap(){isLoopMap(core.status.floorId)&&autoSetLoopMap(core.status.floorId)}function moveMap(e,r){core.extractBlocks(r);var t=core.status.maps[r];core.setHeroLoc("x",core.status.hero.loc.x+e),flags["loop_".concat(r)]+=e,flags["loop_".concat(r)]%=t.width;for(var o=t.blocks.slice(),a=0;a=t.width&&(a-=t.width),a<0&&(a+=t.width),core.setBlock(o.id,a,o.y,r,!0),core.setMapBlockDisabled(r,a,o.y,!1)})),core.drawMap(),core.drawHero()}function isLoopMap(e){return list.includes(e)}events.prototype._sys_changeFloor=function(e,r){var t={};if(isLoopMap((e=e.event.data).floorId)){var o,a,n,c=core.status.maps[e.floorId];null!==(n=(o=flags)[a="loop_".concat(e.floorId)])&&void 0!==n||(o[a]=0);var s=e.loc[0]+flags["loop_".concat(e.floorId)];(s%=c.width)<0&&(s+=c.width),t={x:s,y:e.loc[1]}}else e.loc&&(t={x:e.loc[0],y:e.loc[1]});e.direction&&(t.direction=e.direction),"action"!=core.status.event.id&&(core.status.event.id=null),core.changeFloor(e.floorId,e.stair,t,e.time,(function(){core.replay(),r&&r()}))},events.prototype.trigger=function(x,y,callback){var _executeCallback=function(){callback&&setTimeout(callback,1)};if(core.status.gameOver)return _executeCallback();if("action"==core.status.event.id)return core.insertAction({type:"function",function:"function () { core.events._trigger_inAction("+x+","+y+"); }",async:!0},null,null,null,!0),_executeCallback();if(core.status.event.id)return _executeCallback();var block=core.getBlock(x,y),id=core.status.floorId,loop=isLoopMap(id);if(loop&&0!==flags["loop_".concat(id)])if(block&&"changeFloor"===block.event.trigger)delete block.event.trigger,core.maps._addInfo(block);else{var floor=core.status.maps[id],tx=x-flags["loop_".concat(id)];tx%=floor.width,tx<0&&(tx+=floor.width);var c=core.floors[id].changeFloor["".concat(tx,",").concat(y)];if(c){var b={event:{},x:tx,y:y};b.event.data=c,b.event.trigger="changeFloor",block=b}}if(null==block)return _executeCallback();if(block.event.script){core.clearRouteFolding();try{eval(block.event.script)}catch(e){console.error(e)}}if(block.event.event)return core.clearRouteFolding(),core.insertAction(block.event.event,block.x,block.y),_executeCallback();if(block.event.trigger&&"null"!=block.event.trigger){var noPass=block.event.noPass,trigger=block.event.trigger;if(noPass&&core.clearAutomaticRouteNode(x,y),"changeFloor"==trigger&&!noPass&&this._trigger_ignoreChangeFloor(block)&&!loop)return _executeCallback();core.status.automaticRoute.moveDirectly=!1,this.doSystemEvent(trigger,block)}return _executeCallback()},maps.prototype._getBgFgMapArray=function(e,r,t){if(!(r=r||core.status.floorId))return[];var o=core.floors[r].width,a=core.floors[r].height;if(!t&&core.status[e+"maps"][r])return core.status[e+"maps"][r];var n,c,s,l="editor"!=main.mode||window.editor&&editor.uievent&&editor.uievent.isOpen?null:core.cloneArray(editor[e+"map"]);(null==l&&(l=core.cloneArray(core.floors[r][e+"map"]||[])),isLoopMap(r)&&window.flags)&&(null!==(s=(n=flags)[c="loop_".concat(r)])&&void 0!==s||(n[c]=0),l.forEach((function(e){slide(e,flags["loop_".concat(r)]%o)})));for(var i=0;i0&&(t.push(o.join("\n")),t[0]="当前剩余怪物:\n".concat(t[0])),t}core.plugin.remainEnemy={checkRemainEnemy:checkRemainEnemy,getRemainEnemyString:getRemainEnemyString};var remainEnemy=Object.freeze({__proto__:null,checkRemainEnemy:checkRemainEnemy,getRemainEnemyString:getRemainEnemyString});function removeMaps(e,r,t){var o,a;r=r||e;var n=core.floorIds.indexOf(e),c=core.floorIds.indexOf(r);c<0&&(c=core.floorIds.length-1),flags.__visited__=flags.__visited__||{},flags.__removed__=flags.__removed__||[],flags.__disabled__=flags.__disabled__||{},flags.__leaveLoc__=flags.__leaveLoc__||{},null!==(a=(o=flags).__forceDelete__)&&void 0!==a||(o.__forceDelete__={});for(var s=!1,l=n;l<=c;++l){var i=core.floorIds[l];core.status.maps[i].deleted||(delete flags.__visited__[i],flags.__removed__.push(i),delete flags.__disabled__[i],delete flags.__leaveLoc__[i],(core.status.autoEvents||[]).forEach((function(e){e.floorId==i&&e.currentFloor&&(core.autoEventExecuting(e.symbol,!1),core.autoEventExecuted(e.symbol,!1))})),core.status.maps[i].deleted=!0,core.status.maps[i].canFlyTo=!1,core.status.maps[i].canFlyFrom=!1,core.status.maps[i].cannotViewMap=!0,t&&(core.status.maps[i].forceDelete=!0,flags.__forceDelete__[i]=!0),deleteFlags(i),s=!0)}s&&!main.replayChecking&&core.splitArea()}function deleteFlags(e){delete flags["jump_".concat(e)],delete flags["inte_".concat(e)],delete flags["loop_".concat(e)],delete flags["melt_".concat(e)],delete flags["night_".concat(e)]}function resumeMaps(e,r){r=r||e;var t=core.floorIds.indexOf(e),o=core.floorIds.indexOf(r);o<0&&(o=core.floorIds.length-1),flags.__removed__=flags.__removed__||[];for(var a=t;a<=o;++a){var n=core.floorIds[a];core.status.maps[n].deleted&&(core.status.maps[n].forceDelete||flags.__forceDelete__[n]||(flags.__removed__=flags.__removed__.filter((function(e){return e!=n})),core.status.maps[n]=core.loadFloor(n)))}}var inAnyPartition=function(e){var r=!1;return(core.floorPartitions||[]).forEach((function(t){var o=core.floorIds.indexOf(t[0]),a=core.floorIds.indexOf(t[1]),n=core.floorIds.indexOf(e);o<0||n<0||(a<0&&(a=core.floorIds.length-1),n>=o&&n<=a&&(r=!0))})),r};function autoRemoveMaps(e){"play"==main.mode&&inAnyPartition(e)&&(core.floorPartitions||[]).forEach((function(r){var t=core.floorIds.indexOf(r[0]),o=core.floorIds.indexOf(r[1]),a=core.floorIds.indexOf(e);t<0||a<0||(o<0&&(o=core.floorIds.length-1),a>=t&&a<=o?core.plugin.removeMap.resumeMaps(core.floorIds[t],core.floorIds[o]):removeMaps(core.floorIds[t],core.floorIds[o]))}))}core.plugin.removeMap={removeMaps:removeMaps,deleteFlags:deleteFlags,resumeMaps:resumeMaps,autoRemoveMaps:autoRemoveMaps};var removeMap=Object.freeze({__proto__:null,autoRemoveMaps:autoRemoveMaps,deleteFlags:deleteFlags,removeMaps:removeMaps,resumeMaps:resumeMaps}),openItemShop=core.plugin.gameUi.openItemShop;function openShop(e,r){var t=core.status.shops[e];return this.canOpenShop(e)?!t.item||void(openItemShop&&openItemShop(e)):(core.drawTip("该商店尚未开启"),!1)}function isShopVisited(e){var r,t;null!==(t=(r=flags).__shops__)&&void 0!==t||(r.__shops__={});var o=core.getFlag("__shops__");return o[e]||(o[e]={}),o[e].visited}function listShopIds(){return Object.keys(core.status.shops).filter((function(e){return core.plugin.shop.isShopVisited(e)||!core.status.shops[e].mustEnable}))}function canOpenShop(e){if(this.isShopVisited(e))return!0;var r=core.status.shops[e];return!(r.item||r.commonEvent||r.mustEnable)}function setShopVisited(e,r){core.hasFlag("__shops__")||core.setFlag("__shops__",{});var t=core.getFlag("__shops__");t[e]||(t[e]={}),r?t[e].visited=!0:delete t[e].visited}function canUseQuickShop(){return!1===core.status.thisMap.canUseQuickShop?"当前楼层不能使用快捷商店。":null}core.plugin.shop={openShop:openShop,isShopVisited:isShopVisited,listShopIds:listShopIds,canOpenShop:canOpenShop,setShopVisited:setShopVisited,canUseQuickShop:canUseQuickShop};var shop=Object.freeze({__proto__:null,canOpenShop:canOpenShop,canUseQuickShop:canUseQuickShop,isShopVisited:isShopVisited,listShopIds:listShopIds,openShop:openShop,setShopVisited:setShopVisited}),ignoreInJump={event:["X20007","X20001","X20006","X20014","X20010","X20007"],bg:["X20037","X20038","X20039","X20045","X20047","X20053","X20054","X20055","X20067","X20068","X20075","X20076"]},jumpIgnoreFloor=["MT31","snowTown","MT36","MT37","MT38","MT39","MT40","MT42","MT43","MT44","MT45","MT46","MT47","MT48"];function jumpSkill(){if(core.status.floorId.startsWith("tower"))return core.drawTip("当无法使用该技能");if(jumpIgnoreFloor.includes(core.status.floorId)||flags.onChase)return core.drawTip("当前楼层无法使用该技能");if(flags.skill2){if(flags["jump_"+core.status.floorId]||(flags["jump_"+core.status.floorId]=0),"MT14"==core.status.floorId){var e=core.status.hero.loc;if(77===e.x&&5===e.y&&(flags.MT14Jump=!0),2===flags.jump_MT14&&!flags.MT14Jump)return core.drawTip("该地图还有一个必跳的地方,你还没有跳")}if(flags["jump_"+core.status.floorId]>=3)return core.drawTip("当前地图使用次数已用完");var r=core.status.hero.loc.direction,t=core.status.hero.loc,o={};switch(r){case"up":o.x=t.x,o.y=t.y-1;break;case"right":o.x=t.x+1,o.y=t.y;break;case"down":o.x=t.x,o.y=t.y+1;break;case"left":o.x=t.x-1,o.y=t.y}var a=core.getBlockCls(o.x,o.y),n=core.noPass(o.x,o.y),c=core.getBlockId(o.x,o.y)||"",s=core.getBlockByNumber(core.getBgNumber(o.x,o.y)).event.id||"";if(!n||"items"==a||c.startsWith("X")&&!ignoreInJump.event.includes(c)||s.startsWith("X")&&!ignoreInJump.bg.includes(s))return core.drawTip("当前无法使用技能");if(n&&"enemys"!=a&&"enemy48"!=a){var l=u(r,o.x,o.y,!0);if(!l)return;core.autosave(),flags.chapter<=1&&(core.status.hero.hp-=200*flags.hard),core.updateStatusBar(),flags["jump_"+core.status.floorId]++,core.status.hero.hp<=0&&(core.status.hero.hp=0,core.updateStatusBar(),core.events.lose("你跳死了")),core.playSound("015-Jump01.ogg"),core.insertAction([{type:"jumpHero",loc:[l.x,l.y],time:500}])}if("enemys"==a||"enemy48"==a){var i=u(r,o.x,o.y,!1);if(!i)return;core.autosave(),flags.chapter<=1&&(core.status.hero.hp-=200*flags.hard),core.updateStatusBar(),flags["jump_"+core.status.floorId]++,core.status.hero.hp<=0&&(core.status.hero.hp=0,core.updateStatusBar(),core.events.lose("你跳死了")),core.playSound("015-Jump01.ogg"),core.insertAction([{type:"jump",from:[o.x,o.y],to:[i.x,i.y],time:500,keep:!0}])}}function u(e,r,t,o){switch(o||(o=!1),e){case"up":t--;break;case"right":r++;break;case"down":t++;break;case"left":r--}if(r>core.status.thisMap.width-1||t>core.status.thisMap.height-1||r<0||t<0)return core.drawTip("当前无法使用技能");var a=core.getBlockId(r,t)||"";if(core.getBgNumber(r,t))var n=core.getBlockByNumber(core.getBgNumber(r,t)).event.id||"";else n="";return core.noPass(r,t)||"items"==core.getBlockCls(r,t)||a.startsWith("X")&&!ignoreInJump.event.includes(a)||n.startsWith("X")&&!ignoreInJump.bg.includes(n)||"animates"==core.getBlockCls(r,t)?u(e,r,t,!0):o?{x:r,y:t}:u(e,r,t,!1)}}core.plugin.skillEffects={jumpSkill:jumpSkill,jumpIgnoreFloor:jumpIgnoreFloor};var skills$1=Object.freeze({__proto__:null,jumpIgnoreFloor:jumpIgnoreFloor,jumpSkill:jumpSkill}),levels=[],skills={chapter1:[{index:0,title:"力量",desc:["力量就是根本!可以通过智慧增加力量,每级增加2点攻击。"],consume:"10 * level + 10",front:[],loc:[1,2],max:10,effect:["攻击 + ${level * 2}"]},{index:1,title:"致命一击",desc:["爆发出全部力量攻击敌人,每级增加5点额外攻击。"],consume:"30 * level + 30",front:[[0,5]],loc:[2,1],max:10,effect:["额外攻击 + ${level * 5}"]},{index:2,title:"断灭之刃",desc:['主动技能,快捷键1,',"开启后会在战斗时会额外增加一定量的攻击,但同时减少一定量的防御。"],consume:"200 * level + 400",front:[[1,5]],loc:[4,1],max:5,effect:["增加${level * 10}%攻击,减少${level * 10}%防御"]},{index:3,title:"坚韧",desc:["由智慧转化出坚韧!每级增加2点防御"],consume:"10 * level + 10",front:[],loc:[1,4],max:10,effect:["防御 + ${level * 2}"]},{index:4,title:"回春",desc:["让智慧化为治愈之泉水!每级增加1点生命回复"],consume:"20 * level + 20",front:[[3,5]],loc:[2,5],max:25,effect:["生命回复 + ${level}"]},{index:5,title:"治愈之泉",desc:["让生命变得更多一些吧!每吃50瓶血瓶就增加当前生命回复10%的生命回复"],consume:"1500",front:[[4,25]],loc:[4,5],max:1,effect:["50瓶血10%生命回复"]},{index:6,title:"坚固之盾",desc:["让护甲更加坚硬一些吧!每级增加10点防御"],consume:"50 + level * 50",front:[[3,5]],loc:[2,3],max:10,effect:["防御 + ${level * 10}"]},{index:7,title:"无上之盾",desc:['第一章终极技能,战斗时智慧的 1/10 会充当等量护盾。'],consume:"2500",front:[[6,10],[5,1],[2,2]],loc:[5,3],max:1,effect:["战斗时智慧会充当护盾"]}],chapter2:[{index:8,title:"锋利",desc:["让剑变得更加锋利!每级使攻击增加1%(buff式增加)"],consume:"level > 5 ? 50 * level ** 2 : 250 * level + 250",front:[],loc:[1,2],max:15,effect:["攻击增加${level}%"]},{index:9,title:"坚硬",desc:["让盾牌变得更加坚固!每级使防御增加1%(buff式增加)"],consume:"level > 5 ? 50 * level ** 2 : 250 * level + 250",front:[],loc:[1,4],max:15,effect:["防御增加${level}%"]},{index:10,title:"铸剑为盾",desc:['主动技能,快捷键3,',"减少一定的攻击,增加一定的防御"],consume:"1000 * level ** 2 + 1000",front:[[9,5]],loc:[2,5],max:5,effect:["增加${level * 10}%的防御,减少${level * 10}%的攻击"]},{index:11,title:"学习",desc:['主动技能,可以消耗500智慧学习一个怪物的技能,',"持续5场战斗,每学习一次消耗的智慧点增加250,每次升级使持续的战斗次数增加3次。更多信息可在学习后在百科全书查看。"],consume:"2500 * 2 ** level + 5000",front:[[8,10],[12,5]],loc:[4,1],max:6,effect:["学习怪物技能,持续${level * 3 + 2}场战斗"]},{index:12,title:"聪慧",desc:["使主角变得更加聪明,每级使绿宝石增加的智慧点上升5%"],consume:"level > 5 ? 100 * level ** 2 : 250 * level + 1250",front:[[8,10],[9,10]],loc:[3,3],max:20,effect:["增加${level * 5}%绿宝石效果"]},{index:13,title:"治愈",desc:["使主角能够更好地回复生命,每级使血瓶的加血量增加2%"],consume:"level > 5 ? 100 * level ** 2 : 250 * level + 1250",front:[[10,3]],loc:[4,5],max:20,effect:["增加${level * 2}%的血瓶回血量"]},{index:14,title:"胜利之号",desc:['第二章终极技能,',"每打一个怪物,勇士在本楼层对怪物造成的伤害便增加1%"],consume:"15000",front:[[13,10],[12,10],[11,3]],loc:[5,3],max:1,effect:["每打一个怪,勇士造成的伤害增加1%"]}]};function resetSkillLevel(){levels=[]}function getSkillFromIndex(e){for(var r=0,t=Object.entries(skills);rcore.status.hero.mdef)return!1;var r=core.plugin.skillTree.getSkillLevel(e),t=getSkillFromIndex(e);if(r===t.max)return!1;var o,a=_createForOfIteratorHelper(t.front);try{for(a.s();!(o=a.n()).done;){var n=_slicedToArray(o.value,2),c=n[0],s=n[1];if(core.plugin.skillTree.getSkillLevel(c)=e.length)return void(flags.wordsTimeOut=setTimeout((function(){core.deleteCanvas("words"),core.deleteCanvas("wordsBg")}),o));var n=0,c=2,s=4+24*t,l=window.setInterval((function(){c-=.4,n++,core.clearMap("words",s,0,24,24),a.filter="blur("+c+"px)",core.fillText("words",e[t],s,20,"#ffffff","22px normal"),5==n&&(clearInterval(l),r(t+1))}),20)}(0)}function dynamicCurtain(e,r,t,o){o=o||480,core.dymCanvas.wordsBg?core.clearMap("wordsBg"):core.createCanvas("wordsBg",0,e,o,24,130),t/=1e3;var a=e,n=0,c=2*(r-e)/Math.pow(50*t,2),s=c*t*50,l=document.getElementById("wordsBg").getContext("2d");l.shadowColor="rgba(0, 0, 0, 0.8)";var i=window.setInterval((function(){n++,a+=s-=c,core.clearMap("wordsBg"),l.shadowBlur=8,l.shadowOffsetY=2,core.fillRect("wordsBg",0,0,o,a-e,[180,180,180,.7]),l.shadowBlur=3,l.shadowOffsetY=0,core.strokeRect("wordsBg",1,1,o-2,a-e-2,[255,255,255,.7],2),n>=50*t&&(clearInterval(i),core.clearMap("wordsBg"),l.shadowBlur=8,l.shadowOffsetY=2,core.fillRect("wordsBg",0,0,o,r-e,[180,180,180,.7]),l.shadowBlur=3,l.shadowOffsetY=0,core.strokeRect("wordsBg",1,1,o-2,a-e-2,[255,255,255,.7],2))}),20)}function attackBoss(){if(!(flags.canAttack||Math.random()<.8)){if(hp>3500)var e=Math.floor(13*Math.random()+1),r=Math.floor(13*Math.random()+1);else if(hp>2e3)e=Math.floor(11*Math.random()+2),r=Math.floor(11*Math.random()+2);else if(hp>1e3)e=Math.floor(9*Math.random()+3),r=Math.floor(9*Math.random()+3);else e=Math.floor(7*Math.random()+4),r=Math.floor(7*Math.random()+4);flags.canAttack=!0,core.dymCanvas.attackBoss?core.clearMap("attackBoss"):core.createCanvas("attackBoss",0,0,480,480,35);var t=document.getElementById("attackBoss").getContext("2d"),o=0,a=3,n=2,c=.04,s=window.setInterval((function(){core.clearMap("attackBoss"),o++,n-=c-=8e-4,a-=.06,t.filter="blur("+a+"px)",core.strokeCircle("attackBoss",32*e+16,32*r+16,16*n,[255,150,150,.7],4),core.fillCircle("attackBoss",32*e+16,32*r+16,3*n,[255,150,150,.7]),50==o&&(clearInterval(s),core.clearMap("attactkBoss"),t.filter="none",core.strokeCircle("attackBoss",32*e+16,32*r+16,16,[255,150,150,.7],4),core.fillCircle("attackBoss",32*e+16,32*r+16,3,[255,150,150,.7]))}),20),l=0,i=window.setInterval((function(){l++;var t=core.status.hero.loc.x,o=core.status.hero.loc.y;return l>100?(setTimeout((function(){delete flags.canAttack}),4e3),clearInterval(i),void core.deleteCanvas("attackBoss")):e==t&&r==o?(setTimeout((function(){delete flags.canAttack}),4e3),dynamicChangeHp(hp,hp-500,1e4),hp-=500,clearInterval(i),core.deleteCanvas("attackBoss"),void(hp>3500?core.drawAnimate("hand",7,1):hp>2e3?core.drawAnimate("hand",7,2):hp>1e3?core.drawAnimate("hand",7,3):core.drawAnimate("hand",7,4))):void 0}),20)}}function bossCore(){var e=window.setInterval((function(){1==stage&&(8==seconds&&skipWord("智慧之神:果然,你和别人不一样。"),12==seconds&&skipWord("智慧之神:你知道去躲避那些攻击。"),16==seconds&&skipWord("智慧之神:之前的那些人总会一头撞上我的攻击,悲剧收场。"),20==seconds&&skipWord("提示:踩在红圈上可以对智慧之神造成伤害"),seconds>10&&attackBoss(),seconds%10==0&&intelligentArrow(),seconds%7==0&&0!=seconds&&intelligentDoor(),seconds>20&&seconds%13==0&&icyMomentem()),1==stage&&hp<=7e3&&(stage++,seconds=0,skipWord("智慧之神:不错小伙子"),core.pauseBgm()),2==stage&&(4==seconds&&skipWord("智慧之神:你的确拥有智慧。"),8==seconds&&skipWord("智慧之神:或许你就是那个未来的救星。"),12==seconds&&skipWord("智慧之神:不过,这场战斗才刚刚开始"),25==seconds&&skipWord("提示:方形区域均为危险区域"),15==seconds&&setTimeout((function(){core.playSound("thunder.mp3")}),500),16==seconds&&startStage2(),seconds>20&&attackBoss(),seconds%4==0&&seconds>20&&randomThunder(),seconds>30&&seconds%12==0&&ballThunder()),hp<=3500&&2==stage&&(stage++,seconds=0,skipWord("智慧之神:不得不说小伙子"),core.pauseBgm()),stage>=3&&(4==seconds&&skipWord("智慧之神:拥有智慧就是不一样。"),8==seconds&&skipWord("智慧之神:不过,你还得再过我一关!"),12==seconds&&startStage3(),15==seconds&&(flags.booming=!0,randomBoom()),seconds>20&&attackBoss(),seconds>20&&seconds%10==0&&chainThunder(),2e3==hp&&3==stage&&(stage++,flags.booming=!1,skipWord("智慧之神:还没有结束!"),startStage4(),setTimeout((function(){flags.booming=!0,randomBoom()}),5e3)),1e3==hp&&4==stage&&(stage++,flags.booming=!1,skipWord("智慧之神:还没有结束!!!!!!"),startStage5(),setTimeout((function(){flags.booming=!0,randomBoom()}),5e3))),0==hp&&(clearInterval(e),clearInterval(flags.boom),core.status.hero.hp=heroHp,clip("choices:0"),delete flags.__bgm__,core.pauseBgm(),core.insertAction(["\t[智慧之神,E557]\b[down,7,4]看来你真的会成为那个拯救未来的人。","\t[智慧之神,E557]\b[down,7,4]记住,拥有智慧便可以掌控万物。","\t[低级智人]\b[up,hero]智慧?智慧到底是什么?","\t[智慧之神,E557]\b[down,7,4]最终,你会知道答案的。","\t[智慧之神,E557]\b[down,7,4]继续向东前进吧,那里能找到你想要的答案。",{type:"openDoor",loc:[13,6],floorId:"MT19"},"\t[智慧之神,E557]\b[down,7,4]我这就把你送出去",{type:"setValue",name:"flag:boss1",value:"true"},{type:"changeFloor",floorId:"MT20",loc:[7,9]},{type:"forbidSave"},{type:"showStatusBar"},{type:"function",function:"() => {\ncore.deleteAllCanvas();\n}"}])),seconds++}),1e3)}function intelligentArrow(e){var r=Math.floor(13*Math.random()+1),t=Math.random()>.5?"horizon":"vertical";if(!e)var o=Math.ceil(8*Math.random())+4,a=1,n=window.setInterval((function(){intelligentArrow(!0),++a>=o&&clearInterval(n)}),200);if(core.dymCanvas["inteArrow"+r+t])return intelligentArrow(!0);if(core.dymCanvas.danger1||core.createCanvas("danger1",0,0,480,480,35),"horizon"==t)for(var c=1;c<14;c++)core.fillRect("danger1",32*c+2,32*r+2,28,28,[255,0,0,.6]);else for(var s=1;s<14;s++)core.fillRect("danger1",32*r+2,32*s+2,28,28,[255,0,0,.6]);core.dymCanvas["inteArrow"+r+t]||core.createCanvas("inteArrow"+r+t,0,0,544,544,65),core.clearMap("inteArrow"+r+t),"horizon"==t?core.drawImage("inteArrow"+r+t,"arrow.png",448,32*r,102,32):core.drawImage("inteArrow"+r+t,"arrow.png",0,0,259,75,32*r-32,480,102,32,Math.PI/2),setTimeout((function(){core.playSound("arrow.mp3"),core.deleteCanvas("danger1");var e=0,o=0,a={},n=window.setInterval((function(){if(e+=o-=1,"horizon"==t?core.relocateCanvas("inteArrow"+r+t,e,0):core.relocateCanvas("inteArrow"+r+t,0,e),e<-480&&(core.deleteCanvas("inteArrow"+r+t),clearInterval(n)),!a[r+t]){var c=core.status.hero.loc.x,s=core.status.hero.loc.y;if("horizon"==t){if(s==r&&Math.floor((480+e)/32)==c&&(a[r+t]=!0,core.drawHeroAnimate("hand"),core.status.hero.hp-=1e3,core.addPop(32*c+16,32*s+16,-1e3),core.updateStatusBar(),core.status.hero.hp<0))return clearInterval(n),core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()}else if(c==r&&Math.floor((480+e)/32)==s&&(a[r+t]=!0,core.drawHeroAnimate("hand"),core.status.hero.hp-=1e3,core.addPop(32*c+16,32*s+16,-1e3),core.updateStatusBar(),core.status.hero.hp<0))return clearInterval(n),core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()}}),20)}),3e3)}function intelligentDoor(){if(!(Math.random()<.5)){var e=Math.floor(13*Math.random())+1,r=Math.floor(13*Math.random())+1;core.drawHeroAnimate("magicAtk"),core.dymCanvas["door"+e+"_"+r]?core.clearMap("door"+e+"_"+r):core.createCanvas("door"+e+"_"+r,0,0,480,480,35);var t=document.getElementById("door"+e+"_"+r).getContext("2d"),o=0,a=0,n=.64,c=window.setInterval((function(){if(!(++o<40)){if(100==o)return clearInterval(c),core.insertAction([{type:"changePos",loc:[e,r]}]),void setTimeout((function(){core.deleteCanvas("door"+e+"_"+r)}),2e3);a+=2*n,n-=.0128,core.clearMap("door"+e+"_"+r),t.shadowColor="rgba(255, 255, 255, 1)",t.shadowBlur=7,t.filter="blur(5px)",core.fillRect("door"+e+"_"+r,32*e,32*r-24,a,48,[255,255,255,.7]),t.shadowColor="rgba(0, 0, 0, 0.5)",t.filter="blur(3px)",core.strokeRect("door"+e+"_"+r,32*e,32*r-24,a,48,[255,255,255,.7],3)}}),20)}}function icyMomentem(){if(!(flags.haveIce||Math.random()<.5)){var e=Math.floor(100*Math.random()),r=[],t=0;flags.haveIce=!0,core.dymCanvas.icyMomentem?core.clearMap("icyMomentem"):core.createCanvas("icyMomentem",0,0,480,480,35);var o=window.setInterval((function(){var a,n,c=Math.floor(13*Math.random())+1,s=Math.floor(13*Math.random())+1;r.includes([c,s])||(r.push([c,s]),core.fillRect("icyMomentem",32*r[t][0]+2,32*r[t][1]+2,28,28,[150,150,255,.6])),t==e&&(clearInterval(o),a=0,n=window.setInterval((function(){var e=core.status.hero.loc.x,t=core.status.hero.loc.y;if(core.clearMap("icyMomentem",32*r[a][0],32*r[a][1],32,32),core.setBgFgBlock("bg",167,r[a][0],r[a][1]),core.drawAnimate("ice",r[a][0],r[a][1]),e==r[a][0]&&t==r[a][1]&&(core.drawHeroAnimate("hand"),core.status.hero.hp-=5e3,core.addPop(32*e+16,32*t+16,-5e3),core.updateStatusBar(),core.status.hero.hp<0))return core.status.hero.hp=0,core.updateStatusBar(),core.events.lose(),void clearInterval(n);a>=r.length-1&&(clearInterval(n),setTimeout((function(){!function(e){var r=0,t=window.setInterval((function(){core.setBgFgBlock("bg",0,e[r][0],e[r][1]),++r>=e.length&&(clearInterval(t),core.deleteCanvas("icyMomentem"),setTimeout((function(){delete flags.haveIce}),5e3))}),50)}(r)}),5e3)),a++}),50)),t++}),20)}}function startStage2(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.setWeather(),core.setWeather("rain",10),core.setWeather("fog",8),core.setCurtain([0,0,0,.3]),core.playBgm("towerBoss2.mp3"))}))}function randomThunder(){var e=Math.floor(13*Math.random())+1,r=Math.floor(13*Math.random())+1,t=Math.ceil(6*Math.random());core.dymCanvas.thunderDanger?core.clearMap("thunderDanger"):core.createCanvas("thunderDanger",0,0,480,480,35);for(var o=e-1;o<=e+1;o++)for(var a=r-1;a<=r+1;a++)core.fillRect("thunderDanger",32*o+2,32*a+2,28,28,[255,255,255,.6]);core.deleteCanvas("flash"),setTimeout((function(){core.playSound("thunder.mp3")}),500),setTimeout((function(){core.deleteCanvas("thunderDanger"),drawThunder(e,r,t)}),1e3)}function drawThunder(e,r,t){var o=getThunderRoute(32*e+16,32*r+16,t);core.dymCanvas.thunder?core.clearMap("thunder"):core.createCanvas("thunder",0,0,480,480,65);var a=core.dymCanvas.thunder;for(var n in a.shadowColor="rgba(220, 220, 255, 1)",a.shadowBlur=t,a.filter="blur(2.5px)",o)for(var c=0;c=10&&(clearInterval(d),core.deleteCanvas("flash"),setTimeout((function(){core.deleteCanvas("thunder")}),700))}),20)}function getThunderRoute(e,r,t){for(var o=[],a=0;a=0;s++)s>0?(n+=30*Math.random()-15,c-=80*Math.random()+30):(n+=16*Math.random()-8,c+=16*Math.random()-8),o[a].push([n,c])}return o}function ballThunder(){var e=Math.ceil(12*Math.random())+6,r=0,t=[],o=window.setInterval((function(){core.dymCanvas["ballThunder"+r]?core.clearMap("ballThunder"+r):core.createCanvas("ballThunder"+r,0,0,480,480,35);var a=Math.floor(13*Math.random())+1,n=Math.floor(13*Math.random())+1;if(!t.includes([a,n])){t.push([a,n]);for(var c=1;c<14;c++)core.fillRect("ballThunder"+r,32*c+2,32*n+2,28,28,[190,190,255,.6]);for(var s=1;s<14;s++)core.fillRect("ballThunder"+r,32*a+2,32*s+2,28,28,[190,190,255,.6])}++r>=e&&(clearInterval(o),setTimeout((function(){!function(e){var r=0;core.dymCanvas.ballAnimate?core.clearMap("ballAnimate"):core.createCanvas("ballAnimate",0,0,480,480,65);var t=core.dymCanvas.ballAnimate;t.shadowColor="rgba(255, 255, 255, 1)";var o=[],a=window.setInterval((function(){core.clearMap("ballAnimate");for(var n=0;n0){var c=r-10*n;1==c&&core.playSound("electron.mp3");var s=32*e[n][0]+16,l=32*e[n][1]+16;if(c<=2?core.fillCircle("ballAnimate",s,l,16+3*c,[255,255,255,.9]):(core.fillCircle("ballAnimate",s,l-4*c,7+2*Math.random(),[255,255,255,.7]),core.fillCircle("ballAnimate",s,l+4*c,7+2*Math.random(),[255,255,255,.7]),core.fillCircle("ballAnimate",s-4*c,l,7+2*Math.random(),[255,255,255,.7]),core.fillCircle("ballAnimate",s+4*c,l,7+2*Math.random(),[255,255,255,.7])),core.clearMap("ballThunder"+n,s-16,l-16-4*c,32,32),core.clearMap("ballThunder"+n,s-16,l-16+4*c,32,32),core.clearMap("ballThunder"+n,s-16-4*c,l-16,32,32),core.clearMap("ballThunder"+n,s-16+4*c,l-16,32,32),!o[n]){var i=core.status.hero.loc.x,u=core.status.hero.loc.y;if(((Math.floor((s-16-4*c)/32)==i||Math.floor((s-16+4*c)/32)==i)&&e[n][1]==u||(Math.floor((l-16-4*c)/32)==u||Math.floor((l-16+4*c)/32)==u)&&e[n][0]==i)&&(o[n]=!0,core.status.hero.hp-=3e3,core.addPop(32*i+16,32*u+16,-3e3),core.updateStatusBar(),core.playSound("electron.mp3"),core.status.hero.hp<0))return core.status.hero.hp=0,core.updateStatusBar(),core.events.lose(),void clearInterval(a)}n==e.length-1&&c>120&&clearInterval(a)}r++}),20)}(t)}),1e3))}),200)}function startStage3(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.playSound("thunder.mp3"),function(){for(var e=0;e<15;e++)for(var r=0;r<15;r++)0!=e&&14!=e&&0!=r&&14!=r||core.removeBlock(e,r),1!=e&&13!=e&&1!=r&&13!=r||0==e||14==e||0==r||14==r||core.setBlock(527,e,r);core.createCanvas("tower7",0,0,480,480,15),core.drawImage("tower7","tower7.jpeg",360,0,32,480,0,0,32,480),core.drawImage("tower7","tower7.jpeg",840,0,32,480,448,0,32,480),core.drawImage("tower7","tower7.jpeg",392,0,416,32,32,0,416,32),core.drawImage("tower7","tower7.jpeg",392,448,416,32,32,448,416,32),core.setBlock("E557",7,2),core.playBgm("towerBoss3.mp3")}(),core.insertAction([{type:"changePos",loc:[7,7]}]))}))}function startStage4(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.playSound("thunder.mp3"),function(){for(var e=1;e<14;e++)for(var r=1;r<14;r++)1!=e&&13!=e&&1!=r&&13!=r||core.removeBlock(e,r),2!=e&&12!=e&&2!=r&&12!=r||1==e||13==e||1==r||13==r||core.setBlock(527,e,r);core.createCanvas("tower7",0,0,480,480,15),core.drawImage("tower7","tower7.jpeg",360,0,64,480,0,0,64,480),core.drawImage("tower7","tower7.jpeg",776,0,64,480,416,0,64,480),core.drawImage("tower7","tower7.jpeg",424,0,352,64,64,0,352,64),core.drawImage("tower7","tower7.jpeg",424,416,352,64,64,416,352,64),core.setBlock("E557",7,3)}(),core.insertAction([{type:"changePos",loc:[7,7]}]))}))}function startStage5(){core.createCanvas("flash",0,0,480,480,160);var e=0,r=0,t=window.setInterval((function(){core.clearMap("flash"),++r<=8?e+=.125:e-=.01,core.fillRect("flash",0,0,480,480,[255,255,255,e]),0==e&&(clearInterval(t),core.deleteCanvas("flash")),8==r&&(core.playSound("thunder.mp3"),function(){for(var e=2;e<13;e++)for(var r=2;r<13;r++)2!=e&&12!=e&&2!=r&&12!=r||core.removeBlock(e,r),3!=e&&11!=e&&3!=r&&11!=r||2==e||12==e||2==r||12==r||core.setBlock(527,e,r);core.createCanvas("tower7",0,0,480,480,15),core.drawImage("tower7","tower7.jpeg",360,0,96,480,0,0,96,480),core.drawImage("tower7","tower7.jpeg",744,0,96,480,384,0,96,480),core.drawImage("tower7","tower7.jpeg",456,0,288,96,96,0,288,96),core.drawImage("tower7","tower7.jpeg",456,384,288,96,96,384,288,96),core.setBlock("E557",7,4)}(),core.insertAction([{type:"changePos",loc:[7,7]}]))}))}function chainThunder(){var e=Math.ceil(6*Math.random())+3;core.dymCanvas.chainDanger?core.clearMap("chainDanger"):core.createCanvas("chainDanger",0,0,480,480,35);var r=[],t=0,o=window.setInterval((function(){if(hp>2e3)var a=Math.floor(11*Math.random())+2,n=Math.floor(11*Math.random())+2;else if(hp>1e3)a=Math.floor(9*Math.random())+3,n=Math.floor(9*Math.random())+3;else a=Math.floor(7*Math.random())+4,n=Math.floor(7*Math.random())+4;r.includes([a,n])||(r.push([a,n]),t>0&&core.drawLine("chainDanger",32*r[t-1][0]+16,32*r[t-1][1]+16,32*a+16,32*n+16,[220,100,255,.6],3),t>=e&&(clearInterval(o),setTimeout((function(){getChainRoute(r),core.deleteCanvas("chainDanger")}),1e3)),t++)}),100)}function chainAnimate(e){if(!e)return chainThunder();core.dymCanvas.chain?core.clearMap("chain"):core.createCanvas("chain",0,0,480,480,65);var r=core.dymCanvas.chain;r.shadowBlur=3,r.shadowColor="rgba(255, 255, 255, 1)",r.filter="blur(2px)";var t=0,o=0,a=window.setInterval((function(){if(o>=e.length-1)return clearInterval(a),void setTimeout((function(){core.deleteCanvas("chain")}),1e3);++t%2==0&&(core.drawLine("chain",e[o][0],e[o][1],e[o+1][0],e[o+1][1],"#ffffff",3),0==o&&core.fillCircle("chain",e[0][0],e[0][1],7,"#ffffff"),(e[o+1][0]-16)%32==0&&(e[o+1][1]-16)%32==0&&core.fillCircle("chain",e[o+1][0],e[o+1][1],7,"#ffffff"),lineDamage(e[o][0],e[o][1],e[o+1][0],e[o+1][1],4e3),o++)}),20)}function getChainRoute(e){var r=0,t=[],o=window.setInterval((function(){var a=32*e[r][0]+16,n=32*e[r][1]+16,c=32*e[r+1][0]+16,s=32*e[r+1][1]+16,l=c-a,i=s-n,u=Math.atan(i/l);i<0&&l<0&&(u+=Math.PI),l<0&&i>0&&(u+=Math.PI);for(var d=0;;){if(d++,a+=50*Math.random()*Math.cos(u),n+=50*Math.random()*Math.sin(u),t.push([a,n]),Math.sqrt(Math.pow(n-s,2)+Math.pow(a-c,2))<=100){t.push([c,s]);break}if(d>=20)return clearInterval(o),void(t=null)}++r>=e.length-1&&(clearInterval(o),chainAnimate(t))}),2)}function randomBoom(){var e,r;flags.booming?(hp>2e3?(e=500,r=11):hp>1e3?(e=400,r=9):(e=300,r=7),flags.boom=window.setInterval((function(){var e=Math.floor(Math.random()*r)+(15-r)/2,t=Math.floor(Math.random()*r)+(15-r)/2;boomLocs.push([e,t,0]),flags.booming||clearInterval(flags.boom)}),e),boomingAnimate()):clearInterval(flags.boom)}function boomingAnimate(){core.dymCanvas.boom?core.clearMap("boom"):core.createCanvas("boom",0,0,480,480,65);var e=window.setInterval((function(){0!=boomLocs.length&&(flags.booming||0!=boomLocs.length?(core.clearMap("boom"),boomLocs.forEach((function(r,t){r[2]++;var o=32*r[0]+16,a=32*r[1]+16;if(r[2]>=20)var n=1,c=12;else c=.12*Math.pow(20-r[2],2)+12,n=Math.max(1,2-.1*r[2]);var s=r[2]*Math.PI/50;if(core.fillCircle("boom",o,a,3,[255,50,50,n]),core.strokeCircle("boom",o,a,c,[255,50,50,n],2),core.drawLine("boom",o+c*Math.cos(s),a+c*Math.sin(s),o+(c+15)*Math.cos(s),a+(c+15)*Math.sin(s),[255,50,50,n],1),s+=Math.PI,core.drawLine("boom",o+c*Math.cos(s),a+c*Math.sin(s),o+(c+15)*Math.cos(s),a+(c+15)*Math.sin(s),[255,50,50,n],1),r[2]>70){var l=a-(20*(85-r[2])+2.8*Math.pow(85-r[2],2));core.drawImage("boom","boom.png",o-18,l-80,36,80)}if(85==r[2]){core.drawAnimate("explosion1",(o-16)/32,(a-16)/32),boomLocs.splice(t,1),0==boomLocs.length&&core.deleteCanvas("boom");var i=core.status.hero.loc.x,u=core.status.hero.loc.y;if(r[0]==i&&r[1]==u&&(core.status.hero.hp-=3e3,core.addPop(32*o+16,32*a+16,-3e3),core.updateStatusBar(),core.status.hero.hp<0))return core.status.hero.hp=0,core.updateStatusBar(),core.events.lose(),clearInterval(e),void(flags.booming=!1)}}))):clearInterval(e))}),20)}function lineDamage(e,r,t,o,a){var n=core.status.hero.loc.x,c=core.status.hero.loc.y;if(!(e<32*n-12&&t<32*n-12||e>32*n+12&&t>32*n+12||r<32*c-16&&o<32*c-16||r>32*c+16&&o>32*c+16))for(var s=1;s<=2;s++)if(1==s){var l=[32*n+12,32*c-16];if(((o-r)/(t-e)*((i=[32*n-12,32*c+16])[0]-e)+r-i[1])*((o-r)/(t-e)*(l[0]-e)+r-l[1])<=0)return core.status.hero.hp-=a,core.addPop(32*n+16,32*c+16,-a),core.updateStatusBar(),core.playSound("electron.mp3"),core.status.hero.hp<0?(core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()):void 0}else{var i;l=[32*n+12,32*c+16];if(((o-r)/(t-e)*((i=[32*n-12,32*c-16])[0]-e)+r-i[1])*((o-r)/(t-e)*(l[0]-e)+r-l[1])<=0)return core.status.hero.hp-=a,core.addPop(32*n+16,32*c+16,-a),core.updateStatusBar(),core.playSound("electron.mp3"),core.status.hero.hp<0?(core.status.hero.hp=0,core.updateStatusBar(),void core.events.lose()):void 0}}core.plugin.towerBoss={initTowerBoss:initTowerBoss};var towerBoss=Object.freeze({__proto__:null});function chaseInit1(){var e=[];["MT13","MT14","MT15"].forEach((function(r){core.status.maps[r].cannotMoveDirectly=!0,core.extractBlocks(r),core.status.maps[r].blocks.forEach((function(t){["animates","items"].includes(t.event.cls)&&!t.event.id.endsWith("Portal")&&e.push([t.x,t.y,r])}))})),e.forEach((function(e){var r;(r=core).removeBlock.apply(r,_toConsumableArray(e))}))}core.plugin.chase={chaseInit1:chaseInit1};var chase=Object.freeze({__proto__:null,chaseInit1:chaseInit1});class Range{collection;cache={};static rangeType={};constructor(e){this.collection=e}scan(e,r){const t=Range.rangeType[e];if(!t)throw new Error(`Unknown range type: ${e}.`);return t.scan(this,r)}inRange(e,r,t){const o=Range.rangeType[e];if(!o)throw new Error(`Unknown range type: ${e}.`);return o.inRange(this,r,t)}clearCache(){this.cache={}}static registerRangeType(e,r,t){Range.rangeType[e]={scan:r,inRange:t}}}Range.registerRangeType("square",((e,{x:r,y:t,d:o})=>{const a=e.cache.square??={},n=`${r},${t},${o}`;if(n in a)return a[n];const c=e.collection.list,s=Math.floor(o);return a[n]=c.filter((e=>core.has(e.x)&&core.has(e.y)&&Math.abs(e.x-r)<=s&&Math.abs(e.y-t)<=s))}),((e,{x:r,y:t,d:o},a)=>{const n=Math.floor(o/2);return core.has(a.x)&&core.has(a.y)&&Math.abs(a.x-r)<=n&&Math.abs(a.y-t)<=n}));const haloSpecials=[21,25,26,27];class EnemyCollection{floorId;list=[];range=new Range(this);constructor(e){this.floorId=e}extract(){core.extractBlocks(this.floorId),core.status.maps[this.floorId].blocks.forEach((e=>{if("enemy48"!==e.event.cls&&"enemys"!==e.event.cls)return;const r=core.material.enemys[e.event.id];this.list.push(new DamageEnemy(r))}))}calAttribute(e=!1){}calDamage(e=!1){}applyHalo(e,r,t,o=!1){}preBalanceHalo(){}}class DamageEnemy{id;x;y;floorId;enemy;noHaloInfo;realInfo;providedHalo=[];constructor(e,r,t,o){this.id=e.id,this.enemy=e,this.x=r,this.y=t,this.floorId=o}reset(){delete this.noHaloInfo,delete this.realInfo}calAttribute(){}getHaloSpecials(){if(!this.floorId)return[];if(!core.has(this.x)||!core.has(this.y))return[];const e=(this.realInfo?.special??this.enemy.special).filter((e=>haloSpecials.includes(e)&&!this.providedHalo.includes(e)));if(0===e.length)return[];if(!core.status.maps[this.floorId].enemy)throw new Error(`Unexpected undefined of enemy collection in floor ${this.floorId}.`);return e}preProvideHalo(){}provideHalo(){this.getHaloSpecials().includes(21)}injectHalo(e){}calDamage(){}}core.plugin.damage={Enemy:DamageEnemy,Collection:EnemyCollection};var damage=Object.freeze({__proto__:null,DamageEnemy:DamageEnemy,EnemyCollection:EnemyCollection,haloSpecials:haloSpecials});return exports.chase=chase,exports.damage=damage,exports.halo=halo,exports.hero=hero,exports.loopMap=loopMap,exports.remainEnemy=remainEnemy,exports.removeMap=removeMap,exports.shop=shop,exports.skill=skills$1,exports.skillTree=skillTree,exports.study=study,exports.towerBoss=towerBoss,exports.utils=utils,exports}({});