mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-19 17:16:08 +08:00
2 lines
76 KiB
JavaScript
2 lines
76 KiB
JavaScript
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<e.length;)if(t.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=void 0,r.done=!0,r};return a.next=a}}return{next:B}}function B(){return{value:void 0,done:!0}}return p.prototype=h,o(y,"constructor",{value:h,configurable:!0}),o(h,"constructor",{value:p,configurable:!0}),p.displayName=l(h,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===p||"GeneratorFunction"===(r.displayName||r.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,l(e,s,"GeneratorFunction")),e.prototype=Object.create(y),e},e.awrap=function(e){return{__await:e}},b(_.prototype),l(_.prototype,c,(function(){return this})),e.AsyncIterator=_,e.async=function(r,t,o,a,n){void 0===n&&(n=Promise);var c=new _(i(r,t,o,a),n);return e.isGeneratorFunction(t)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},b(y),l(y,s,"Generator"),l(y,n,(function(){return this})),l(y,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var r=Object(e),t=[];for(var o in r)t.push(o);return t.reverse(),function e(){for(;t.length;){var o=t.pop();if(o in r)return e.value=o,e.done=!1,e}return e.done=!0,e}},e.values=I,M.prototype={constructor:M,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!e)for(var r in this)"t"===r.charAt(0)&&t.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(t,o){return c.type="throw",c.arg=e,r.next=t,o&&(r.method="next",r.arg=void 0),!!o}for(var a=this.tryEntries.length-1;a>=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<n.catchLoc)return o(n.catchLoc,!0);if(this.prev<n.finallyLoc)return o(n.finallyLoc)}else if(s){if(this.prev<n.catchLoc)return o(n.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return o(n.finallyLoc)}}}},abrupt:function(e,r){for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o];if(a.tryLoc<=this.prev&&t.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var n=a;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=r&&r<=n.finallyLoc&&(n=null);var c=n?n.completion:{};return c.type=e,c.arg=r,n?(this.method="next",this.next=n.finallyLoc,d):this.complete(c)},complete:function(e,r){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&r&&(this.next=r),d},finish:function(e){for(var r=this.tryEntries.length-1;r>=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<r;t++)o[t]=e[t];return o}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _createForOfIteratorHelper(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0,a=function(){};return{s:a,n:function(){return o>=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&&(x<core.bigmap.posX-core.bigmap.extend||x>core.bigmap.posX+core._PX_+core.bigmap.extend||y<core.bigmap.posY-core.bigmap.extend||y>core.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":l<n?"right":i>c?"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;r<e.last.length;r++)e.last[r]<=0&&(this.forgetStudiedSkill(void 0,r),r--)}core.plugin.study={canStudySkill:canStudySkill,studySkill:studySkill,forgetStudiedSkill:forgetStudiedSkill,declineStudiedSkill:declineStudiedSkill,checkStudiedSkill:checkStudiedSkill};var study=Object.freeze({__proto__:null,canStudySkill:canStudySkill,checkStudiedSkill:checkStudiedSkill,declineStudiedSkill:declineStudiedSkill,forgetStudiedSkill:forgetStudiedSkill,studySkill:studySkill}),replayableSettings=["autoSkill"],cliping=!1,startIndex=0;function ready(){}function readyClip(){return cliping=!0,startIndex=core.status.route.length-1}function clip(){var e;cliping&&(cliping=!1,core.status.route.splice(startIndex),(e=core.status.route).push.apply(e,arguments))}core.registerReplayAction("settings",(function(name){if(!name.startsWith("set:"))return!1;var _name$split=name.split(":"),_name$split2=_slicedToArray(_name$split,3),setting=_name$split2[1],value=_name$split2[2],v=eval(value);return"boolean"==typeof v&&(!!replayableSettings.includes(setting)&&(flags[setting]=v,core.status.route.push(name),core.replay(),!0))})),core.registerReplayAction("upgradeSkill",(function(e){if(!e.startsWith("skill:"))return!1;var r=parseInt(e.slice(6));return core.plugin.skillTree.upgradeSkill(r),core.status.route.push(e),core.replay(),!0})),core.registerReplayAction("study",(function(e){if(!e.startsWith("study:"))return!1;var r=_slicedToArray(e.slice(6).split(",").map((function(e){return parseInt(e)})),3),t=r[0],o=r[1],a=r[2];if(!canStudySkill(t))return!1;var n=core.getBlockId(o,a),c=core.getEnemyInfo(n,void 0,o,a);return!!c.special.includes(t)&&(studySkill(c,t),core.status.route.push(e),core.replay(),!0)}));var shopOpened=!1,openedShopId="";function drawHalo(e,r){if(!main.replayChecking&&core.getLocalStorage("showHalo",!0)){var t=core.status.checkBlock.halo;e.save();for(var o=0,a=Object.entries(t);o<a.length;o++){var n,c=_slicedToArray(a[o],2),s=c[0],l=c[1],i=_slicedToArray(s.split(",").map((function(e){return parseInt(e)})),2),u=i[0],d=i[1],f=_createForOfIteratorHelper(l);try{for(f.s();!(n=f.n()).done;){var p=_slicedToArray(n.value.split(":"),4),h=p[0],m=p[1],g=p[2],v=p[3];if("square"===h){var y=parseInt(m),b=Math.floor(y/2),_=u-b,w=u+b,k=d-b,S=d+b;if(r&&core.bigmap.v2&&(_-=core.bigmap.posX,k-=core.bigmap.posY,w-=core.bigmap.posX,S-=core.bigmap.posY,w<-1||_>core._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;t<r.length;++t)r[t].style.display="none";core.domStyle.isVertical||core.flags.extendToolbar||(core.dom.toolBar.style.display="none")}},core.plugin.gameUi={openItemShop:function(e){core.isReplaying()||(core.plugin.openedShopId=e,core.plugin.shopOpened.value=!0)},openSkill:function(){core.isReplaying()||(core.plugin.skillOpened.value=!0)},showChapter:function(e){core.isReplaying()||(core.plugin.chapterContent.value=e,core.plugin.chapterShowed.value=!0)}}}(),core.plugin.halo={drawHalo:drawHalo};var halo=Object.freeze({__proto__:null,drawHalo:drawHalo});function getHeroStatusOn(e,r,t,o){return getHeroStatusOf(core.status.hero,e,r,t,o)}function getHeroStatusOf(e,r,t,o,a){return getRealStatus(e,r,t,o,a)}function getRealStatus(e,r,t,o,a){if(r instanceof Array)return Object.fromEntries(r.map((r=>[r,getRealStatus(e,r,t,o,a)])));if("all"===r)return Object.fromEntries(Object.keys(core.status.hero).map((r=>[r,"all"!==r&&getRealStatus(e,r,t,o,a)])));let n=e?.[r]??core.status.hero[r];if(null==n)throw new ReferenceError(`Wrong hero status property name is delivered: ${r}`);if(t??=core.status.hero.loc.x,o??=core.status.hero.loc.y,a??=core.status.floorId,"atk"!==r&&"def"!==r||(n+=window.flags?.[`night_${a}`]??0),flags.bladeOn&&flags.blade){const e=core.plugin.skillTree.getSkillLevel(2);"atk"===r&&(n*=1+.1*e),"def"===r&&(n*=1-.1*e)}if(flags.shield&&flags.shieldOn){const e=core.plugin.skillTree.getSkillLevel(10);"atk"===r&&(n*=1-.1*e),"def"===r&&(n*=1+.1*e)}return"number"==typeof n&&(n*=core.getBuff(r)),"number"==typeof n&&(n=Math.floor(n)),n}core.plugin.hero={getHeroStatusOf:getHeroStatusOf,getHeroStatusOn:getHeroStatusOn};var hero=Object.freeze({__proto__:null,getHeroStatusOf:getHeroStatusOf,getHeroStatusOn:getHeroStatusOn});function slide(e,r){return 0===r?e:(r%=e.length)>0?(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<o.length;a++)core.removeBlockByIndex(0,r),core.removeGlobalAnimate(o[a].x,o[a].y);o.forEach((function(o){var a=o.x+e;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;i<a;++i)null==l[i]&&(l[i]=Array(o).fill(0));if((core.getFlag("__"+e+"v__",{})[r]||[]).forEach((function(e){l[e[1]][e[0]]=e[2]||0})),(core.getFlag("__"+e+"d__",{})[r]||[]).forEach((function(e){l[e[1]][e[0]]=0})),"editor"==main.mode)for(var u=0;u<o;u++)for(i=0;i<a;i++)l[i][u]=l[i][u].idnum||l[i][u]||0;return core.status[e+"maps"]&&(core.status[e+"maps"][r]=l),l},core.plugin.loopMap={checkLoopMap:checkLoopMap};var loopMap=Object.freeze({__proto__:null,checkLoopMap:checkLoopMap});function checkRemainEnemy(e){var r={};return e.forEach((function(e){core.extractBlocks(e),core.status.maps[e].blocks.forEach((function(t){var o;if(t.event.cls.startsWith("enemy")&&!t.disable){var a=t.event.id;null!==(o=r[e])&&void 0!==o||(r[e]=[]),r[e].push({loc:[t.x,t.y],id:a})}}))})),r}function getRemainEnemyString(e){var r=checkRemainEnemy(e),t=[],o=[],a=function(){var e=r[n],a={};e.forEach((function(e){var r,t=e.id;null!==(r=a[t])&&void 0!==r||(a[t]=0),a[t]++}));var c=core.status.maps[n].title;for(var s in a){var l=core.material.enemys[s].name;o.push("".concat(c,"(").concat(n,"): ").concat(l," * ").concat(a[s])),10===o.length&&(t.push(o.join("\n")),o=[])}};for(var n in r)a();return o.length>0&&(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:['<span style="color: gold">主动技能,快捷键1</span>,',"开启后会在战斗时会额外增加一定量的攻击,但同时减少一定量的防御。"],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:['<span style="color: #dd4">第一章终极技能</span>,战斗时智慧的 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:['<span style="color: gold">主动技能,快捷键3</span>,',"减少一定的攻击,增加一定的防御"],consume:"1000 * level ** 2 + 1000",front:[[9,5]],loc:[2,5],max:5,effect:["增加${level * 10}%的防御,减少${level * 10}%的攻击"]},{index:11,title:"学习",desc:['<span style="color: gold">主动技能</span>,可以消耗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:['<span style="color: #dd4">第二章终极技能</span>,',"每打一个怪物,勇士在本楼层对怪物造成的伤害便增加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);r<t.length;r++){var o=_slicedToArray(t[r],2)[1].find((function(r){return r.index===e}));if(o)return o}}function getSkillLevel(e){var r,t;return null!==(t=(r=levels)[e])&&void 0!==t?t:r[e]=0}function getSkillConsume(skill){return eval(getSkillFromIndex(skill).consume.replace(/level(:\d+)?/g,(function(e,r){return"core.plugin.skillTree.getSkillLevel(".concat(r||skill,")")})))}function openTree(){main.replayChecking||(core.plugin.skillTreeOpened.value=!0)}function canUpgrade(e){if(core.plugin.skillTree.getSkillConsume(e)>core.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)<s)return!1}}catch(e){a.e(e)}finally{a.f()}return!0}function upgradeSkill(e){if(!canUpgrade(e))return!1;switch(e){case 0:core.status.hero.atk+=2;break;case 1:core.status.hero.mana+=5;break;case 2:core.setFlag("bladeOn",!0);break;case 3:core.status.hero.def+=2;break;case 4:core.status.hero.hpmax+=1;break;case 5:core.setFlag("spring",!0);break;case 6:core.status.hero.def+=10;break;case 7:core.setFlag("superSheild",!0);break;case 8:core.addBuff("atk",.01);break;case 9:core.addBuff("def",.01);break;case 10:core.setFlag("shieldOn",!0);break;case 11:core.setItem("I565",1)}var r=getSkillConsume(e);return core.status.hero.mdef-=r,levels[e]++,core.updateStatusBar(),!0}function saveSkillTree(){return levels.slice()}function loadSkillTree(e){levels=null!=e?e:[]}core.plugin.skills=skills,core.plugin.skillTree={getSkillConsume:getSkillConsume,getSkillFromIndex:getSkillFromIndex,getSkillLevel:getSkillLevel,saveSkillTree:saveSkillTree,loadSkillTree:loadSkillTree,upgradeSkill:upgradeSkill,openTree:openTree,resetSkillLevel:resetSkillLevel};var skillTree=Object.freeze({__proto__:null,canUpgrade:canUpgrade,getSkillConsume:getSkillConsume,getSkillFromIndex:getSkillFromIndex,getSkillLevel:getSkillLevel,loadSkillTree:loadSkillTree,openTree:openTree,resetSkillLevel:resetSkillLevel,saveSkillTree:saveSkillTree,upgradeSkill:upgradeSkill}),stage=1,hp=1e4,seconds=0,boomLocs=[],heroHp;function initTowerBoss(){stage=1,hp=1e4,seconds=0,heroHp=core.status.hero.hp,dynamicChangeHp(0,1e4,1e4),core.insertAction([{type:"sleep",time:1e3,noSkip:!0}]),setTimeout(bossCore,1e3)}function healthBar(e,r){var t=e/r*476,o=[510-e/r*2*255,e/r*2*255,0,1];core.dymCanvas.healthBar?core.clearMap("healthBar"):core.createCanvas("healthBar",0,0,480,16,140),core.fillRect("healthBar",0,0,480,16,"#bbbbbb");var a=document.getElementById("healthBar").getContext("2d");a.shadowColor="rgba(0, 0, 0, 0.8)",a.shadowBlur=5,a.shadowOffsetX=10,a.shadowOffsetY=5,a.filter="blur(1px)",core.fillRect("healthBar",2,2,t,12,o),a.shadowColor="rgba(0, 0, 0, 0.5)",a.shadowOffsetX=0,a.shadowOffsetY=0,core.strokeRect("healthBar",1,1,478,14,"#ffffff",2),a.shadowColor="rgba(0, 0, 0, 1)",a.shadowBlur=3,a.shadowOffsetX=2,a.shadowOffsetY=1,a.filter="none",core.fillText("healthBar",e+"/"+r,5,13.5,"#ffffff","16px normal")}function dynamicChangeHp(e,r,t){var o=0,a=(r-e)/50,n=e,c=window.setInterval((function(){50==++o&&(clearInterval(c),healthBar(r,t)),healthBar(n+=a,t)}),20)}function skipWord(e,r,t,o){r=r||0,t=t||16,o=o||3e3,core.dymCanvas.words?core.clearMap("words"):core.createCanvas("words",r,t,480,24,135),flags.wordsTimeOut&&clearTimeout(flags.wordsTimeOut),dynamicCurtain(t,t+24,o/3);var a=document.getElementById("words").getContext("2d");a.shadowColor="rgba(0, 0, 0, 1)",a.shadowBlur=3,a.shadowOffsetX=2,a.shadowOffsetY=1,function r(t){if(parseInt(t)>=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<o[n].length-1;c++){var s=o[n][c],l=o[n][c+1];core.drawLine("thunder",s[0],s[1],l[0],l[1],"#ffffff",2.5)}getThunderRoute(e,r,t);var i=0,u=.5;core.dymCanvas.flash?core.clearMap("flash"):core.createCanvas("flash",0,0,480,480,160);var d=window.setInterval((function(){u-=.05,i++,core.clearMap("flash"),core.fillRect("flash",0,0,480,480,[255,255,255,u]),i>=10&&(clearInterval(d),core.deleteCanvas("flash"),setTimeout((function(){core.deleteCanvas("thunder")}),700))}),20)}function getThunderRoute(e,r,t){for(var o=[],a=0;a<t;a++){var n=e,c=r;o[a]=[];for(var s=0;c>=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;n<e.length;n++)if(t.shadowBlur=16*Math.random(),r-10*n>0){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){const a=ensureArray(t),n=this.range.scan(e,r);o?n.forEach((e=>{a.forEach((r=>{e.injectHalo(r),e.preProvideHalo()}))})):a.forEach((e=>{n.forEach((r=>{r.injectHalo(e)}))}))}preBalanceHalo(){this.list.forEach((e=>{e.preProvideHalo()}))}}class DamageEnemy{id;x;y;floorId;enemy;info;needCalculate=!0;damage;needCalDamage=!0;providedHalo=[];constructor(e,r,t,o){this.id=e.id,this.enemy=e,this.x=r,this.y=t,this.floorId=o,this.reset()}reset(){const e=this.enemy;this.info={hp:e.hp,atk:e.atk,def:e.def,special:e.special.slice(),damageDecline:0,atkBuff:0,defBuff:0,hpBuff:0,together:0},this.needCalculate=!0,this.needCalDamage=!0}calAttribute(e=core.status.hero,r=!0){if(!this.needCalculate)return;const t=this.info.special,o=this.info,a=this.enemy,n=this.floorId??core.status.floorId,{atk:c}=r?getHeroStatusOf(e,["atk"],e.x,e.y,e.floorId):e;if(has(c)&&(t.includes(7)&&(o.atk+=c*(a.hungry??0)/100),2===flags.hard&&t.includes(14)&&(o.atk+=flags[`inte_${n}`]??0),o.atk-=flags[`night_${n}`]??0,o.def-=flags[`night_${n}`]??0,t.includes(3)&&a.def<c-1&&(o.def=c-1),has(flags[`melt_${n}`])&&has(this.x)&&has(this.y)))for(const[e,r]of Object.entries(flags[`melt_${n}`])){const[t,a]=e.split(",").map((e=>parseInt(e)));Math.abs(t-this.x)<=1&&Math.abs(a-this.y)<=1&&(o.atkBuff+=r,o.defBuff+=r)}}getRealInfo(){if(!this.needCalculate)return this.info;const e=this.info;return e.atk*=e.atkBuff/100+1,e.def*=e.defBuff/100+1,e.hp*=e.hpBuff/100+1,this.needCalculate=!1,this.info}getHaloSpecials(){if(!this.floorId)return[];if(!core.has(this.x)||!core.has(this.y))return[];const e=(this.info.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(){if(!this.floorId)return;if(!core.has(this.x)||!core.has(this.y))return;const e=core.status.maps[this.floorId].enemy,r=this.getHaloSpecials(),t=[],o=[];r.includes(8)&&(o.push(((e,r)=>{e===this.info&&(e.together+=r.together??0)})),this.providedHalo.push(8)),r.includes(21)&&(t.push(((e,r)=>{e.damageDecline+=r.iceDecline??0})),this.providedHalo.push(21)),r.includes(26)&&(o.push(((e,r)=>{e.defBuff+=r.iceCore??0})),this.providedHalo.push(26)),r.includes(27)&&(o.push(((e,r)=>{e.atkBuff+=r.fireCore??0})),this.providedHalo.push(27)),e.applyHalo("square",{x:this.x,y:this.y,d:7},t),e.applyHalo("square",{x:this.x,y:this.y,d:5},o)}injectHalo(e){e.call(this,this.info,this.enemy)}calDamage(){if(!this.needCalDamage)return this.damage;this.getRealInfo()}}function getNeedCalDir(e,r,t){}core.plugin.damage={Enemy:DamageEnemy,Collection:EnemyCollection};var damage=Object.freeze({__proto__:null,DamageEnemy:DamageEnemy,EnemyCollection:EnemyCollection,getNeedCalDir:getNeedCalDir,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}({});
|