HumanBreak/assets/index-b91e9fcb.js
2023-04-26 13:44:40 +00:00

2 lines
199 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var $e=Object.defineProperty;var be=(e,t,o)=>t in e?$e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var ae=(e,t,o)=>(be(e,typeof t!="symbol"?t+"":t,o),o);import{m as message,r as ref,d as defineComponent,o as onMounted,a as onUpdated,b as createElementBlock,u as unref,e as onUnmounted,f as openBlock,g as createBaseVNode,t as toDisplayString,h as createVNode,F as Fragment,i as renderList,n as normalizeStyle,j as createTextVNode,_ as __unplugin_components_0,k as renderSlot,w as withCtx,l as createBlock,p as resolveDynamicComponent,q as pushScopeId,s as popScopeId,v as computed,x as watch,y as __unplugin_components_0$1,z as reactive,A as withModifiers,T as Transition,B as createCommentVNode,L as LeftOutlined,R as RightOutlined,C as __unplugin_components_1,S as SortAscendingOutlined,D as SortDescendingOutlined,E as SelectOption,G as __unplugin_components_0$2,H as DoubleLeftOutlined,I as DoubleRightOutlined,J as __unplugin_components_0$3,K as shallowReactive,M as markRaw,N as DragOutlined,O as SoundOutlined,P as FullscreenOutlined,Q as FullscreenExitOutlined,U as TransitionGroup,V as nextTick,W as createApp}from"./antdv-4c8751a8.js";import{l as lodashExports,Y,R,C as Chart,r as registerables,G,I,O,q,j,H,a as C}from"./common-f43039af.js";function __vite_legacy_guard(){import.meta.url,import("_").catch(()=>1);async function*e(){}}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function o(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(a){if(a.ep)return;a.ep=!0;const s=o(a);fetch(a.href,s)}})();const _default="",index$6="";var KeyCode=(e=>(e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.NumLock=78]="NumLock",e[e.ScrollLock=79]="ScrollLock",e[e.Semicolon=80]="Semicolon",e[e.Equal=81]="Equal",e[e.Comma=82]="Comma",e[e.Minus=83]="Minus",e[e.Period=84]="Period",e[e.Slash=85]="Slash",e[e.Backquote=86]="Backquote",e[e.BracketLeft=87]="BracketLeft",e[e.Backslash=88]="Backslash",e[e.BracketRight=89]="BracketRight",e[e.Quote=90]="Quote",e[e.OEM_8=91]="OEM_8",e[e.IntlBackslash=92]="IntlBackslash",e[e.Numpad0=93]="Numpad0",e[e.Numpad1=94]="Numpad1",e[e.Numpad2=95]="Numpad2",e[e.Numpad3=96]="Numpad3",e[e.Numpad4=97]="Numpad4",e[e.Numpad5=98]="Numpad5",e[e.Numpad6=99]="Numpad6",e[e.Numpad7=100]="Numpad7",e[e.Numpad8=101]="Numpad8",e[e.Numpad9=102]="Numpad9",e[e.NumpadMultiply=103]="NumpadMultiply",e[e.NumpadAdd=104]="NumpadAdd",e[e.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=106]="NumpadSubtract",e[e.NumpadDecimal=107]="NumpadDecimal",e[e.NumpadDivide=108]="NumpadDivide",e[e.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",e[e.ABNT_C1=110]="ABNT_C1",e[e.ABNT_C2=111]="ABNT_C2",e[e.AudioVolumeMute=112]="AudioVolumeMute",e[e.AudioVolumeUp=113]="AudioVolumeUp",e[e.AudioVolumeDown=114]="AudioVolumeDown",e[e.BrowserSearch=115]="BrowserSearch",e[e.BrowserHome=116]="BrowserHome",e[e.BrowserBack=117]="BrowserBack",e[e.BrowserForward=118]="BrowserForward",e[e.MediaTrackNext=119]="MediaTrackNext",e[e.MediaTrackPrevious=120]="MediaTrackPrevious",e[e.MediaStop=121]="MediaStop",e[e.MediaPlayPause=122]="MediaPlayPause",e[e.LaunchMediaPlayer=123]="LaunchMediaPlayer",e[e.LaunchMail=124]="LaunchMail",e[e.LaunchApp2=125]="LaunchApp2",e[e.Clear=126]="Clear",e[e.MAX_VALUE=127]="MAX_VALUE",e))(KeyCode||{});class KeyCodeStrMap{constructor(){ae(this,"_keyCodeToStr");ae(this,"_strToKeyCode");this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,o){this._keyCodeToStr[t]=o,this._strToKeyCode[o.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const uiMap=new KeyCodeStrMap,userSettingsUSMap=new KeyCodeStrMap,userSettingsGeneralMap=new KeyCodeStrMap,EVENT_KEY_CODE_MAP=new Array(230),scanCodeStrToInt=Object.create(null),scanCodeLowerCaseStrToInt=Object.create(null);(function(){const e="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[0,1,1,"Hyper",0,e,0,e,e,e],[0,1,2,"Super",0,e,0,e,e,e],[0,1,3,"Fn",0,e,0,e,e,e],[0,1,4,"FnLock",0,e,0,e,e,e],[0,1,5,"Suspend",0,e,0,e,e,e],[0,1,6,"Resume",0,e,0,e,e,e],[0,1,7,"Turbo",0,e,0,e,e,e],[0,1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[0,1,9,"WakeUp",0,e,0,e,e,e],[31,0,10,"KeyA",31,"A",65,"VK_A",e,e],[32,0,11,"KeyB",32,"B",66,"VK_B",e,e],[33,0,12,"KeyC",33,"C",67,"VK_C",e,e],[34,0,13,"KeyD",34,"D",68,"VK_D",e,e],[35,0,14,"KeyE",35,"E",69,"VK_E",e,e],[36,0,15,"KeyF",36,"F",70,"VK_F",e,e],[37,0,16,"KeyG",37,"G",71,"VK_G",e,e],[38,0,17,"KeyH",38,"H",72,"VK_H",e,e],[39,0,18,"KeyI",39,"I",73,"VK_I",e,e],[40,0,19,"KeyJ",40,"J",74,"VK_J",e,e],[41,0,20,"KeyK",41,"K",75,"VK_K",e,e],[42,0,21,"KeyL",42,"L",76,"VK_L",e,e],[43,0,22,"KeyM",43,"M",77,"VK_M",e,e],[44,0,23,"KeyN",44,"N",78,"VK_N",e,e],[45,0,24,"KeyO",45,"O",79,"VK_O",e,e],[46,0,25,"KeyP",46,"P",80,"VK_P",e,e],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[48,0,27,"KeyR",48,"R",82,"VK_R",e,e],[49,0,28,"KeyS",49,"S",83,"VK_S",e,e],[50,0,29,"KeyT",50,"T",84,"VK_T",e,e],[51,0,30,"KeyU",51,"U",85,"VK_U",e,e],[52,0,31,"KeyV",52,"V",86,"VK_V",e,e],[53,0,32,"KeyW",53,"W",87,"VK_W",e,e],[54,0,33,"KeyX",54,"X",88,"VK_X",e,e],[55,0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[22,0,36,"Digit1",22,"1",49,"VK_1",e,e],[23,0,37,"Digit2",23,"2",50,"VK_2",e,e],[24,0,38,"Digit3",24,"3",51,"VK_3",e,e],[25,0,39,"Digit4",25,"4",52,"VK_4",e,e],[26,0,40,"Digit5",26,"5",53,"VK_5",e,e],[27,0,41,"Digit6",27,"6",54,"VK_6",e,e],[28,0,42,"Digit7",28,"7",55,"VK_7",e,e],[29,0,43,"Digit8",29,"8",56,"VK_8",e,e],[30,0,44,"Digit9",30,"9",57,"VK_9",e,e],[21,0,45,"Digit0",21,"0",48,"VK_0",e,e],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[10,1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,e,0,e,e,e],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[59,1,64,"F1",59,"F1",112,"VK_F1",e,e],[60,1,65,"F2",60,"F2",113,"VK_F2",e,e],[61,1,66,"F3",61,"F3",114,"VK_F3",e,e],[62,1,67,"F4",62,"F4",115,"VK_F4",e,e],[63,1,68,"F5",63,"F5",116,"VK_F5",e,e],[64,1,69,"F6",64,"F6",117,"VK_F6",e,e],[65,1,70,"F7",65,"F7",118,"VK_F7",e,e],[66,1,71,"F8",66,"F8",119,"VK_F8",e,e],[67,1,72,"F9",67,"F9",120,"VK_F9",e,e],[68,1,73,"F10",68,"F10",121,"VK_F10",e,e],[69,1,74,"F11",69,"F11",122,"VK_F11",e,e],[70,1,75,"F12",70,"F12",123,"VK_F12",e,e],[0,1,76,"PrintScreen",0,e,0,e,e,e],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",e,e],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[14,1,80,"Home",14,"Home",36,"VK_HOME",e,e],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[13,1,83,"End",13,"End",35,"VK_END",e,e],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",e,e],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",e,e],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",e,e],[3,1,94,"NumpadEnter",3,e,0,e,e,e],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",e,e],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",e,e],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",e,e],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",e,e],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",e,e],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",e,e],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",e,e],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",e,e],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",e,e],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",e,e],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",e,e],[58,1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[0,1,108,"Power",0,e,0,e,e,e],[0,1,109,"NumpadEqual",0,e,0,e,e,e],[71,1,110,"F13",71,"F13",124,"VK_F13",e,e],[72,1,111,"F14",72,"F14",125,"VK_F14",e,e],[73,1,112,"F15",73,"F15",126,"VK_F15",e,e],[74,1,113,"F16",74,"F16",127,"VK_F16",e,e],[75,1,114,"F17",75,"F17",128,"VK_F17",e,e],[76,1,115,"F18",76,"F18",129,"VK_F18",e,e],[77,1,116,"F19",77,"F19",130,"VK_F19",e,e],[0,1,117,"F20",0,e,0,"VK_F20",e,e],[0,1,118,"F21",0,e,0,"VK_F21",e,e],[0,1,119,"F22",0,e,0,"VK_F22",e,e],[0,1,120,"F23",0,e,0,"VK_F23",e,e],[0,1,121,"F24",0,e,0,"VK_F24",e,e],[0,1,122,"Open",0,e,0,e,e,e],[0,1,123,"Help",0,e,0,e,e,e],[0,1,124,"Select",0,e,0,e,e,e],[0,1,125,"Again",0,e,0,e,e,e],[0,1,126,"Undo",0,e,0,e,e,e],[0,1,127,"Cut",0,e,0,e,e,e],[0,1,128,"Copy",0,e,0,e,e,e],[0,1,129,"Paste",0,e,0,e,e,e],[0,1,130,"Find",0,e,0,e,e,e],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",e,e],[0,1,136,"KanaMode",0,e,0,e,e,e],[0,0,137,"IntlYen",0,e,0,e,e,e],[0,1,138,"Convert",0,e,0,e,e,e],[0,1,139,"NonConvert",0,e,0,e,e,e],[0,1,140,"Lang1",0,e,0,e,e,e],[0,1,141,"Lang2",0,e,0,e,e,e],[0,1,142,"Lang3",0,e,0,e,e,e],[0,1,143,"Lang4",0,e,0,e,e,e],[0,1,144,"Lang5",0,e,0,e,e,e],[0,1,145,"Abort",0,e,0,e,e,e],[0,1,146,"Props",0,e,0,e,e,e],[0,1,147,"NumpadParenLeft",0,e,0,e,e,e],[0,1,148,"NumpadParenRight",0,e,0,e,e,e],[0,1,149,"NumpadBackspace",0,e,0,e,e,e],[0,1,150,"NumpadMemoryStore",0,e,0,e,e,e],[0,1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[0,1,152,"NumpadMemoryClear",0,e,0,e,e,e],[0,1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[0,1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[0,1,155,"NumpadClear",126,"Clear",12,"VK_CLEAR",e,e],[0,1,156,"NumpadClearEntry",0,e,0,e,e,e],[5,1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[4,1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[6,1,0,e,6,"Alt",18,"VK_MENU",e,e],[57,1,0,e,57,"Meta",0,"VK_COMMAND",e,e],[5,1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[4,1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[6,1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[57,1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[5,1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[4,1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[6,1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[57,1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[0,1,165,"BrightnessUp",0,e,0,e,e,e],[0,1,166,"BrightnessDown",0,e,0,e,e,e],[0,1,167,"MediaPlay",0,e,0,e,e,e],[0,1,168,"MediaRecord",0,e,0,e,e,e],[0,1,169,"MediaFastForward",0,e,0,e,e,e],[0,1,170,"MediaRewind",0,e,0,e,e,e],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",e,e],[0,1,174,"Eject",0,e,0,e,e,e],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[0,1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[0,1,180,"SelectTask",0,e,0,e,e,e],[0,1,181,"LaunchScreenSaver",0,e,0,e,e,e],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[0,1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[0,1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[0,1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[0,1,189,"ZoomToggle",0,e,0,e,e,e],[0,1,190,"MailReply",0,e,0,e,e,e],[0,1,191,"MailForward",0,e,0,e,e,e],[0,1,192,"MailSend",0,e,0,e,e,e],[109,1,0,e,109,"KeyInComposition",229,e,e,e],[111,1,0,e,111,"ABNT_C2",194,"VK_ABNT_C2",e,e],[91,1,0,e,91,"OEM_8",223,"VK_OEM_8",e,e],[0,1,0,e,0,e,0,"VK_KANA",e,e],[0,1,0,e,0,e,0,"VK_HANGUL",e,e],[0,1,0,e,0,e,0,"VK_JUNJA",e,e],[0,1,0,e,0,e,0,"VK_FINAL",e,e],[0,1,0,e,0,e,0,"VK_HANJA",e,e],[0,1,0,e,0,e,0,"VK_KANJI",e,e],[0,1,0,e,0,e,0,"VK_CONVERT",e,e],[0,1,0,e,0,e,0,"VK_NONCONVERT",e,e],[0,1,0,e,0,e,0,"VK_ACCEPT",e,e],[0,1,0,e,0,e,0,"VK_MODECHANGE",e,e],[0,1,0,e,0,e,0,"VK_SELECT",e,e],[0,1,0,e,0,e,0,"VK_PRINT",e,e],[0,1,0,e,0,e,0,"VK_EXECUTE",e,e],[0,1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[0,1,0,e,0,e,0,"VK_HELP",e,e],[0,1,0,e,0,e,0,"VK_APPS",e,e],[0,1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[0,1,0,e,0,e,0,"VK_PACKET",e,e],[0,1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[0,1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[0,1,0,e,0,e,0,"VK_ATTN",e,e],[0,1,0,e,0,e,0,"VK_CRSEL",e,e],[0,1,0,e,0,e,0,"VK_EXSEL",e,e],[0,1,0,e,0,e,0,"VK_EREOF",e,e],[0,1,0,e,0,e,0,"VK_PLAY",e,e],[0,1,0,e,0,e,0,"VK_ZOOM",e,e],[0,1,0,e,0,e,0,"VK_NONAME",e,e],[0,1,0,e,0,e,0,"VK_PA1",e,e],[0,1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],o=[],n=[];for(const a of t){const[s,r,l,h,d,_,u,c,f,m]=a;if(n[l]||(n[l]=!0,scanCodeStrToInt[h]=l,scanCodeLowerCaseStrToInt[h.toLowerCase()]=l),!o[d]){if(o[d]=!0,!_)throw new Error(`String representation missing for key code ${d} around scan code ${h}`);uiMap.define(d,_),userSettingsUSMap.define(d,f||_),userSettingsGeneralMap.define(d,m||f||_)}u&&(EVENT_KEY_CODE_MAP[u]=d)}})();var KeyCodeUtils;(e=>{function t(l){return uiMap.keyCodeToStr(l)}e.toString=t;function o(l){return uiMap.strToKeyCode(l)}e.fromString=o;function n(l){return userSettingsUSMap.keyCodeToStr(l)}e.toUserSettingsUS=n;function a(l){return userSettingsGeneralMap.keyCodeToStr(l)}e.toUserSettingsGeneral=a;function s(l){return userSettingsUSMap.strToKeyCode(l)||userSettingsGeneralMap.strToKeyCode(l)}e.fromUserSettings=s;function r(l){if(l>=93&&l<=108)return null;switch(l){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return uiMap.keyCodeToStr(l)}e.toElectronAccelerator=r})(KeyCodeUtils||(KeyCodeUtils={}));function init$h(){return{has,getDamageColor,parseCss,tip:tip$1,changeLocalStorage}}function has(e){return!lodashExports.isNil(e)}function getDamageColor(e){return typeof e!="number"?"#f00":e===0?"#2f2":e<0?"#7f7":e<core.status.hero.hp/3?"#fff":e<core.status.hero.hp*2/3?"#ff4":e<core.status.hero.hp?"#f93":"#f22"}function setCanvasSize(e,t,o){e.width=t,e.height=o,e.style.width=`${t}px`,e.style.height=`${o}px`}function keycode(e){return EVENT_KEY_CODE_MAP[e]}function parseCss(e){const o=e.replace(/[\n\s\t]*/g,"").replace(/;*/g,";").split(";"),n={};for(const a of o){const[s,r]=a.split(":"),l=s.replace(/\-([a-z])/g,(h,d)=>d.toUpperCase());n[l]=r}return n}function type(str,time=1e3,timing=e=>e,avr=!1){const toShow=eval("`"+str+"`");if(typeof toShow!="string")throw new TypeError("Error str type in typing!");if(toShow.startsWith("!!html"))return ref(toShow);avr&&(time*=toShow.length);const ani=new Y,content=ref(""),all=toShow.length,fn=e=>{if(!has(e))return;const t=ani.x;content.value=toShow.slice(0,Math.floor(t)),Math.floor(t)===all&&(ani.ticker.destroy(),content.value=toShow)};return ani.ticker.add(fn),ani.mode(timing).time(time).move(all,0),setTimeout(()=>ani.ticker.destroy(),time+100),content}function tip$1(e,t){message[e]({content:t,class:"antdv-message"})}function splitText(e){return e.map((t,o,n)=>/^\d+\./.test(t)?`${"&nbsp;".repeat(12)}${t}`:has(n[o-1])&&t!=="<br>"&&n[o-1]==="<br>"||o===0?`${"&nbsp;".repeat(8)}${t}`:t).join("")}function downloadCanvasImage(e,t){const o=e.toDataURL("image/png");download(o,t)}function download(e,t){const o=document.createElement("a");o.download=`${t}.png`,o.href=e,document.body.appendChild(o),o.click(),document.body.removeChild(o)}async function doByInterval(e,t,o=!1){for await(const n of e)o&&await R(t),n(),o||await R(t)}function changeLocalStorage(e,t,o){const n=core.getLocalStorage(e,o),a=t(n);core.setLocalStorage(e,a)}const animation=[];let animateTime=0;function init$g(){return core.registerAnimationFrame("animateController",!0,e=>{if(!(e-animateTime<=core.values.animateSpeed)){for(const t of animation)t(e);animateTime=core.animateFrame.animateTime}}),{addAnimate,removeAnimate}}function addAnimate(e){animation.push(e)}function removeAnimate(e){const t=animation.findIndex(o=>o===e);t!==-1&&animation.splice(t,1)}const _hoisted_1$t=["width","height","id"],_sfc_main$t=defineComponent({__name:"boxAnimate",props:{id:null,noborder:{type:Boolean},width:null,height:null},setup(e){const t=e,o=(Math.random()*1e8).toFixed(0);let n,a,s;function r(){var c,f;if(o==="none")return;has(s)&&removeAnimate(s);const l=core.getClsFromId(t.id),h=core.getAnimateFrames(l),d=(c=t.width)!=null?c:32,_=(f=t.height)!=null?f:32;t.noborder||(n.style.border="1.5px solid #ddd",n.style.backgroundColor="#222");const u=window.devicePixelRatio;if(n.style.width=`${d}px`,n.style.height=`${_}px`,n.width=u*d,n.height=u*_,a.scale(u,u),t.id!=="none")if(t.id==="hero"){const m=core.material.images.hero;a.drawImage(m,0,0,m.width/4,m.height/4,0,0,d,_)}else h===1?core.drawIcon(a,t.id,0,0,t.width,t.height):(s=()=>{core.clearMap(a);const m=core.status.globalAnimateStatus%h;core.drawIcon(a,t.id,0,0,d,_,m)},s(),addAnimate(s),onUnmounted(()=>{removeAnimate(s)}))}return onMounted(()=>{n=document.getElementById(`box-animate-${o}`),a=n.getContext("2d"),r()}),onUpdated(()=>{r()}),(l,h)=>{var d,_;return openBlock(),createElementBlock("canvas",{width:(d=e.width)!=null?d:32,height:(_=e.height)!=null?_:32,id:`box-animate-${unref(o)}`},null,8,_hoisted_1$t)}}});function init$f(){return{useDrag,useWheel,useUp,isMobile}}const dragFnMap=new Map,isMobile=matchMedia("(max-width: 600px)").matches;function useDrag(e,t,o,n,a=!1){let s=!1;const r=f=>{s=!0,o&&o(f.clientX,f.clientY,f)},l=f=>{s=!0,o&&o(f.touches[0].clientX,f.touches[0].clientY,f)};e instanceof Array?e.forEach(f=>{f.addEventListener("mousedown",r),f.addEventListener("touchstart",l)}):(e.addEventListener("mousedown",r),e.addEventListener("touchstart",l));const h=a?document:e,d=f=>{s&&t(f.clientX,f.clientY,f)},_=f=>{s&&t(f.touches[0].clientX,f.touches[0].clientY,f)},u=f=>{s&&(n&&n(f),s=!1)},c=f=>{s&&(n&&n(f),s=!1)};h instanceof Array?h.forEach(f=>{f.addEventListener("mouseup",u),f.addEventListener("touchend",c),f.addEventListener("mousemove",d),f.addEventListener("touchmove",_)}):(h.addEventListener("mouseup",u),h.addEventListener("touchend",c),h.addEventListener("mousemove",d),h.addEventListener("touchmove",_)),dragFnMap.set(t,[d,_,u,c])}function cancelGlobalDrag(e){const t=dragFnMap.get(e);dragFnMap.delete(e),t&&(document.removeEventListener("mousemove",t[0]),document.removeEventListener("touchmove",t[1]),document.removeEventListener("mouseup",t[0]),document.removeEventListener("touchend",t[1]))}function useWheel(e,t){e.addEventListener("wheel",o=>{t(o.deltaX,o.deltaY,o.deltaZ,o)})}function useUp(e,t){e.addEventListener("mouseup",o=>{t(o.clientX,o.clientY,o)}),e.addEventListener("touchend",o=>{t(o.touches[0].clientX,o.touches[0].clientY,o)})}const _hoisted_1$s=["selected"],_hoisted_2$p={class:"info"},_hoisted_3$o={class:"leftbar"},_hoisted_4$l={class:"name"},_hoisted_5$i={key:0,class:"special-text"},_hoisted_6$g={key:1,class:"special-text"},_hoisted_7$d={class:"rightbar"},_hoisted_8$c={class:"detail"},_hoisted_9$c={class:"detail-info"},_hoisted_10$a={style:{color:"lightgreen"}},_hoisted_11$9={class:"detail-info"},_hoisted_12$7={style:{color:"lightcoral"}},_hoisted_13$7={class:"detail-info"},_hoisted_14$7={style:{color:"lightblue"}},_hoisted_15$6={class:"detail-info"},_hoisted_16$6={style:{color:"lightyellow"}},_hoisted_17$5={class:"detail-info"},_hoisted_18$5={style:{color:"lawngreen"}},_hoisted_19$5={class:"detail-info"},_hoisted_20$4={class:"detail-info"},_hoisted_21$4={style:{color:"lightsalmon"}},_hoisted_22$3={class:"detail-info"},_hoisted_23$3={style:{color:"lightpink"}},_hoisted_24$3={style:{"font-family":"'Fira Code'"}},_hoisted_25$2={class:"detail-info"},_hoisted_26$2={style:{color:"cyan"}},_sfc_main$s=defineComponent({__name:"enemyOne",props:{enemy:null,selected:{type:Boolean}},emits:["select","hover"],setup(e,{emit:t}){const o=window.core,n=window.innerWidth*.032;function a(r){t("select")}function s(){t("hover")}return(r,l)=>{const h=__unplugin_components_0;return openBlock(),createElementBlock("div",{class:"enemy-container",onClick:a,onMousemove:s,selected:e.selected},[createBaseVNode("div",_hoisted_2$p,[createBaseVNode("div",_hoisted_3$o,[createBaseVNode("span",_hoisted_4$l,toDisplayString(e.enemy.name),1),createVNode(_sfc_main$t,{id:e.enemy.id,width:unref(isMobile)?32:n,height:unref(isMobile)?32:n,style:{margin:"5%"}},null,8,["id","width","height"]),unref(has)(e.enemy.special)&&e.enemy.special.length>0?(openBlock(),createElementBlock("div",_hoisted_5$i,[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.enemy.toShowSpecial,(d,_)=>(openBlock(),createElementBlock("span",{style:normalizeStyle({color:e.enemy.toShowColor[_]})}," "+toDisplayString(d)+" ",5))),256))])):(openBlock(),createElementBlock("div",_hoisted_6$g,"无属性"))]),createVNode(h,{type:"vertical",dashed:"",style:{height:"100%",margin:"0 3% 0 1%","border-color":"#ddd4"}}),createBaseVNode("div",_hoisted_7$d,[createBaseVNode("div",_hoisted_8$c,[createBaseVNode("div",_hoisted_9$c,[createBaseVNode("span",_hoisted_10$a,"生命    "+toDisplayString(unref(o).formatBigNumber(e.enemy.hp)),1)]),createBaseVNode("div",_hoisted_11$9,[createBaseVNode("span",_hoisted_12$7,"攻击    "+toDisplayString(unref(o).formatBigNumber(e.enemy.atk)),1)]),createBaseVNode("div",_hoisted_13$7,[createBaseVNode("span",_hoisted_14$7,"防御    "+toDisplayString(unref(o).formatBigNumber(e.enemy.def)),1)]),createBaseVNode("div",_hoisted_15$6,[createBaseVNode("span",_hoisted_16$6,"金币    "+toDisplayString(unref(o).formatBigNumber(e.enemy.money)),1)]),createBaseVNode("div",_hoisted_17$5,[createBaseVNode("span",_hoisted_18$5,"经验    "+toDisplayString(unref(o).formatBigNumber(e.enemy.exp)),1)]),createBaseVNode("div",_hoisted_19$5,[createBaseVNode("span",{style:normalizeStyle({color:e.enemy.damageColor})},"伤害    "+toDisplayString(unref(o).formatBigNumber(e.enemy.damage)),5)]),createBaseVNode("div",_hoisted_20$4,[createBaseVNode("span",_hoisted_21$4,"临界    "+toDisplayString(unref(o).formatBigNumber(e.enemy.critical)),1)]),createBaseVNode("div",_hoisted_22$3,[createBaseVNode("span",_hoisted_23$3,[createTextVNode("减伤    "),createBaseVNode("span",{style:normalizeStyle({color:e.enemy.criticalDamage<0&&!unref(has)(e.enemy.damage)?"gold":"lightpink"})},[createBaseVNode("span",_hoisted_24$3,toDisplayString(e.enemy.criticalDamage<0&&!unref(has)(e.enemy.damage)?unref(isMobile)?"-":"=>":""),1),createTextVNode(toDisplayString(unref(o).formatBigNumber(e.enemy.criticalDamage<0?-e.enemy.criticalDamage:e.enemy.criticalDamage)),1)],4)])]),createBaseVNode("div",_hoisted_25$2,[createBaseVNode("span",_hoisted_26$2,toDisplayString(unref(o).formatBigNumber(unref(o).status.thisMap.ratio))+"防    "+toDisplayString(unref(o).formatBigNumber(e.enemy.defDamage)),1)])])])])],40,_hoisted_1$s)}}}),enemyOne_vue_vue_type_style_index_0_scoped_ca8bc229_lang="",_export_sfc=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},EnemyOne=_export_sfc(_sfc_main$s,[["__scopeId","data-v-ca8bc229"]]),_hoisted_1$r=["id"],_hoisted_2$o={class:"main-div"},_hoisted_3$n=["id"],_hoisted_4$k=["id"],_sfc_main$r=defineComponent({__name:"scroll",props:{now:null,type:null,drag:{type:Boolean},width:null,update:{type:Boolean},noScroll:{type:Boolean}},emits:["update:now","update:drag","update:update"],setup(e,{emit:t}){var M;const o=e;let n,a=0,s=0;const r=(1e8*Math.random()).toFixed(0),l=window.devicePixelRatio,h=(M=o.width)!=null?M:20,d=o.type==="horizontal"?"left":"top",_=o.type==="horizontal"?"width":"height";let u,c,f=!1;const m=async()=>{await g(),w()};function w(){if(s===0||(s<u.canvas[_]/l?a=0:a>s-u.canvas[_]/l?a=s-u.canvas[_]/l:a<0&&(a=0),o.noScroll))return;const b=u.canvas.width,S=u.canvas.height;t("update:now",a);const A=Math.min(u.canvas[_]/s/l,1)*u.canvas[_],T=a/s*u.canvas[_];u.clearRect(0,0,u.canvas.width,u.canvas.height),u.beginPath(),o.type==="horizontal"?(u.moveTo(Math.max(T+5,5),S/2),u.lineTo(Math.min(T+A-5,u.canvas.width-5),S/2)):(u.moveTo(b/2,Math.max(T+5,5)),u.lineTo(b/2,Math.min(T+A-5,u.canvas.height-5))),u.lineCap="round",u.lineWidth=6,u.strokeStyle="#fff",u.stroke()}async function g(){await R(20);const b=u.canvas,S=getComputedStyle(b);b.style.width=`${h}px`,b.width=h*l,b.height=parseFloat(S.height)*l,o.noScroll&&(b.style.width="0px"),o.type==="horizontal"&&(n.style.flexDirection="column",b.style.height=`${h}px`,b.style.width="98%",b.style.margin="0 1% 0 1%",b.width=parseFloat(S.width)*l,b.height=h*l,o.noScroll&&(b.style.height="0px")),await new Promise(A=>{requestAnimationFrame(()=>{const T=getComputedStyle(c);s=parseFloat(T[_]),A("")})})}function y(){w(),c.style[d]=`${-a}px`}onUpdated(async()=>{var b;f||(a=(b=o.now)!=null?b:a,c.style.transition=`${d} 0.2s ease-out`,await g(),y())});let k,$;function U(b,S){t("update:drag",!0);const A=o.type==="horizontal"?b:S,T=A-k;k=A,u.canvas[_]<s*l&&(a+=T*s/u.canvas[_]*l),y()}function N(b,S){t("update:drag",!0);const A=o.type==="horizontal"?b:S,T=A-$;$=A,u.canvas[_]<s*l&&(a-=T),y()}return onMounted(async()=>{n=document.getElementById(`scroll-div-${r}`),c=document.getElementById(`content-${r}`);const S=document.getElementById(`scroll-${r}`);u=S.getContext("2d"),o.noScroll||useDrag(S,U,(A,T)=>{f=!0,k=o.type==="horizontal"?A:T,c.style.transition=""},()=>{setTimeout(()=>t("update:drag",!1)),f=!1},!0),useDrag(c,N,(A,T)=>{f=!0,$=o.type==="horizontal"?A:T,c.style.transition=""},()=>{setTimeout(()=>t("update:drag",!1)),f=!1},!0),useWheel(c,(A,T)=>{f=!0;const F=A!==0?A:T;Math.abs(F)>30?c.style.transition=`${d} 0.2s ease-out`:c.style.transition="",a+=F,y(),f=!1}),window.addEventListener("resize",m),await g(),w()}),onUnmounted(()=>{window.removeEventListener("resize",m),cancelGlobalDrag(U),cancelGlobalDrag(N)}),(b,S)=>(openBlock(),createElementBlock("div",{id:`scroll-div-${unref(r)}`,class:"scroll-main"},[createBaseVNode("div",_hoisted_2$o,[createBaseVNode("div",{id:`content-${unref(r)}`,class:"content"},[renderSlot(b.$slots,"default",{},void 0,!0)],8,_hoisted_3$n)]),createBaseVNode("canvas",{id:`scroll-${unref(r)}`,class:"scroll"},null,8,_hoisted_4$k)],8,_hoisted_1$r))}}),scroll_vue_vue_type_style_index_0_scoped_1626479d_lang="",Scroll=_export_sfc(_sfc_main$r,[["__scopeId","data-v-1626479d"]]);function getSpecialHint(e){const t=core.getSpecials().filter(a=>e.special.includes(a[0])).sort((a,s)=>a[0]-s[0]),o=t.map(a=>{const s=a[2];return s instanceof Function?s(e):s}),n=t.map(a=>{const s=a[1];return s instanceof Function?s(e):s});return createVNode("div",null,[t.map((a,s)=>createVNode("div",{class:"special"},[createVNode("span",{style:{color:core.arrayToRGBA(a[3])}},[createTextVNode("    "),n[s],createTextVNode("")]),createVNode("span",{innerHTML:o[s]},null)]))])}function getDefDamage(e,t=0,o=0,n,a,s){var _;const r=core.status.thisMap.ratio,l=[];let h;const d=100-Math.floor(t/r);for(let u=0;u<=d;u++){const c=core.getDamageInfo(e.id,{def:core.getStatus("def")+r*u+t,atk:core.getStatus("atk")+o},n,a,s);if(l.length===0){h=c==null?void 0:c.damage,has(h)&&l.push([t+u*r,h]);continue}has(c)&&c.damage!==((_=l.at(-1))==null?void 0:_[1])&&(c.damage,l.push([r*u+t,c.damage]))}return l}function getCriticalDamage(e,t=0,o=0,n,a,s){var _;const r=core.status.thisMap.ratio,l=[];let h;const d=100-Math.floor(t/r);for(let u=0;u<=d;u++){const c=core.getDamageInfo(e.id,{atk:core.getStatus("atk")+r*u+t,def:core.getStatus("def")+o},n,a,s);if(l.length===0){h=c==null?void 0:c.damage,has(h)&&l.push([t+u*r,h]);continue}has(c)&&c.damage!==((_=l.at(-1))==null?void 0:_[1])&&(c.damage,l.push([r*u+t,c.damage]))}return l}const _withScopeId$b=e=>(pushScopeId("data-v-723dadcb"),e=e(),popScopeId(),e),_hoisted_1$q={id:"special-main"},_hoisted_2$n={id:"special"},_hoisted_3$m={id:"critical"},_hoisted_4$j=_withScopeId$b(()=>createBaseVNode("div",{style:{"font-size":"2.5vh",width:"100%","text-align":"center"}}," 临界表 ",-1)),_hoisted_5$h={id:"critical-main"},_hoisted_6$f=_withScopeId$b(()=>createBaseVNode("div",{id:"critical-des"},[createBaseVNode("span",null,"加攻"),createBaseVNode("span",null,"减伤")],-1)),_hoisted_7$c={class:"critical"},_hoisted_8$b={class:"critical-atk"},_hoisted_9$b={style:{"font-family":"'Fira Code'"}},_sfc_main$q=defineComponent({__name:"enemySpecial",props:{fromBook:{type:Boolean}},setup(e){const t=e,[o,n]=t.fromBook?[void 0,void 0]:flags.mouseLoc,a=has(o)?Math.round(o+core.bigmap.offsetX/32):void 0,s=has(n)?Math.round(n+core.bigmap.offsetY/32):void 0,r=core.plugin.bookDetailEnemy,l=getSpecialHint(r),h=core.nextCriticals(r,isMobile?4:8,a,s),d=core.formatBigNumber;return(_,u)=>{const c=Scroll,f=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$q,[createVNode(c,{id:"special-scroll"},{default:withCtx(()=>[createBaseVNode("div",_hoisted_2$n,[(openBlock(),createBlock(resolveDynamicComponent(unref(l))))])]),_:1}),createVNode(f,{dashed:"",style:{margin:"2vh 0 2vh 0","border-color":"#ddd4"}}),createBaseVNode("div",_hoisted_3$m,[_hoisted_4$j,createBaseVNode("div",_hoisted_5$h,[_hoisted_6$f,(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(h),([m,w])=>(openBlock(),createElementBlock("div",_hoisted_7$c,[createBaseVNode("span",_hoisted_8$b,toDisplayString(unref(d)(m)),1),createBaseVNode("span",null,[createBaseVNode("span",_hoisted_9$b,toDisplayString(w<0?"=>":""),1),createTextVNode(toDisplayString(w<0?`${unref(d)(-w)}`:unref(d)(w)),1)])]))),256))])])])}}}),enemySpecial_vue_vue_type_style_index_0_scoped_723dadcb_lang="",EnemySpecial=_export_sfc(_sfc_main$q,[["__scopeId","data-v-723dadcb"]]),index$5="",index$4="";Chart.register(...registerables);const _withScopeId$a=e=>(pushScopeId("data-v-10edff82"),e=e(),popScopeId(),e),_hoisted_1$p={id:"critical-main"},_hoisted_2$m={id:"critical"},_hoisted_3$l=_withScopeId$a(()=>createBaseVNode("div",{class:"des"},"加攻伤害",-1)),_hoisted_4$i={class:"slider-div"},_hoisted_5$g={id:"def"},_hoisted_6$e=_withScopeId$a(()=>createBaseVNode("div",{class:"des"},"加防伤害",-1)),_hoisted_7$b={class:"slider-div"},_hoisted_8$a={id:"now-damage"},_hoisted_9$a={style:{"font-family":"'Fira Code'"}},_sfc_main$p=defineComponent({__name:"enemyCritical",props:{fromBook:{type:Boolean}},setup(e){const t=e,o=ref(),n=ref(),a=core.plugin.bookDetailEnemy,s=Math.ceil,r=ref(t.fromBook?void 0:flags.mouseLoc[0]),l=ref(t.fromBook?void 0:flags.mouseLoc[1]);r.value=has(r.value)?Math.round(r.value+core.bigmap.offsetX/32):void 0,l.value=has(l.value)?Math.round(l.value+core.bigmap.offsetY/32):void 0;let h=getCriticalDamage(a,0,0,r.value,l.value),d=getDefDamage(a,0,0,r.value,l.value);const _=ref(h),u=ref(d),c=ref(0),f=ref(0),m=core.getDamageInfo(a.id,void 0,r.value,l.value),w=core.formatBigNumber,g=core.status.thisMap.ratio,y=computed(()=>{const N=core.getDamageInfo(a.id,{atk:core.getStatus("atk")+c.value*g,def:core.getStatus("def")+f.value*g},r.value,l.value);return has(N)?has(m)?[m.damage-N.damage,N.damage]:[-N.damage,N.damage]:["???","???"]});function k(N,M){Chart.defaults.color="#aaa";const b={type:"line",data:$(M),options:{elements:{point:{radius:5,hoverRadius:7},line:{borderJoinStyle:"round"}},scales:{y:{grid:{color:"#ddd3"}}},plugins:{legend:{display:!1}}}};return new Chart(N,b)}function $(N){return{datasets:[{data:N.map(M=>M[1]),label:"怪物伤害"}],labels:N.map(M=>Math.round(M[0]/g))}}const U=lodashExports.debounce((N,M)=>{_.value=getCriticalDamage(a,c.value*g,f.value*g,r.value,l.value),u.value=getDefDamage(a,f.value*g,c.value*g,r.value,l.value),_.value.length>h.length&&(h=_.value),u.value.length>d.length&&(d=u.value),N.data=$(_.value),M.data=$(u.value),N.update("resize"),M.update("resize")},200);return onMounted(()=>{const N=document.getElementById("critical-main"),M=getComputedStyle(N),b=parseFloat(M.width),S=window.innerHeight/5,A=o.value,T=n.value;setCanvasSize(A,b,S),setCanvasSize(T,b,S);const F=k(A,_.value),z=k(T,u.value);watch(c,ee=>{U(F,z)}),watch(f,ee=>{U(F,z)})}),(N,M)=>{var A,T,F,z,ee,ne,E,Z;const b=__unplugin_components_0$1,S=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$p,[createBaseVNode("div",_hoisted_2$m,[_hoisted_3$l,createBaseVNode("canvas",{ref_key:"critical",ref:o,class:"chart"},null,512),createBaseVNode("div",_hoisted_4$i,[createBaseVNode("span",null,"加攻次数    "+toDisplayString(c.value),1),createVNode(b,{class:"slider",value:c.value,"onUpdate:value":M[0]||(M[0]=W=>c.value=W),max:unref(s)(((T=(A=unref(h).at(-1))==null?void 0:A[0])!=null?T:2)/unref(g))-1},null,8,["value","max"]),createBaseVNode("span",null,"最大值    "+toDisplayString(unref(s)(((z=(F=unref(h).at(-1))==null?void 0:F[0])!=null?z:2)/unref(g))-1),1)])]),createVNode(S,{dashed:"",style:{width:"100%","border-color":"#ddd4",margin:"1vh 0 1vh 0"}}),createBaseVNode("div",_hoisted_5$g,[_hoisted_6$e,createBaseVNode("canvas",{ref_key:"def",ref:n,class:"chart"},null,512),createBaseVNode("div",_hoisted_7$b,[createBaseVNode("span",null,"加防次数    "+toDisplayString(f.value),1),createVNode(b,{class:"slider",value:f.value,"onUpdate:value":M[1]||(M[1]=W=>f.value=W),max:unref(s)(((ne=(ee=unref(d).at(-1))==null?void 0:ee[0])!=null?ne:2)/unref(g))-1},null,8,["value","max"]),createBaseVNode("span",null,"最大值    "+toDisplayString(unref(s)(((Z=(E=unref(d).at(-1))==null?void 0:E[0])!=null?Z:2)/unref(g))-1),1)])]),createBaseVNode("div",_hoisted_8$a,[createBaseVNode("div",null,[createBaseVNode("span",null,"当前加攻"+toDisplayString(unref(isMobile)?"":"    "),1),createBaseVNode("span",null,toDisplayString(unref(w)(c.value*unref(g))),1)]),createBaseVNode("div",null,[createBaseVNode("span",null,"当前加防"+toDisplayString(unref(isMobile)?"":"    "),1),createBaseVNode("span",null,toDisplayString(unref(w)(f.value*unref(g))),1)]),createBaseVNode("div",null,[createBaseVNode("span",null,"当前减伤"+toDisplayString(unref(isMobile)?"":"    "),1),createBaseVNode("span",null,[createBaseVNode("span",_hoisted_9$a,toDisplayString(unref(y)[0]<0&&!unref(has)(unref(a).damage)?"=>":""),1),createTextVNode(toDisplayString(unref(y)[0]<0&&!unref(has)(unref(a).damage)?unref(w)(-unref(y)[0]):unref(w)(unref(y)[0])),1)])]),createBaseVNode("div",null,[createBaseVNode("span",null,"当前伤害"+toDisplayString(unref(isMobile)?"":"    "),1),createBaseVNode("span",null,toDisplayString(unref(w)(unref(y)[1])),1)])])])}}}),enemyCritical_vue_vue_type_style_index_0_scoped_10edff82_lang="",EnemyCritical=_export_sfc(_sfc_main$p,[["__scopeId","data-v-10edff82"]]),showMarkedEnemy=ref(!1),markedEnemy=reactive([]),markInfo={},criticalReached={},enemyDamageInfo={};function markEnemy$1(e){var t,o;hasMarkedEnemy(e)||(markedEnemy.push(e),markInfo[e]={nextCritical:(o=(t=core.nextCriticals(e,1)[0])==null?void 0:t[0])!=null?o:0+core.status.hero.atk},criticalReached[e]={0:!0},enemyDamageInfo[e]={1:!1,2:!1,3:!1},getMarkInfo(e,!0),checkMarkedEnemy(!0))}function hasMarkedEnemy(e){return markedEnemy.includes(e)}function unmarkEnemy(e){const t=markedEnemy.indexOf(e);t!==-1&&(markedEnemy.splice(t,1),checkMarkedEnemy())}function unmarkAll(){markedEnemy.splice(0),checkMarkedEnemy()}function getMarkedEnemy(){return markedEnemy}function getMarkInfo(e,t=!1){var a;const o=criticalReached[e],n=markInfo[e];if(core.status.hero.atk>=n.nextCritical){!o[n.nextCritical]&&!t&&tip$1("success",`踩到了${core.material.enemys[e].name}的临界!`),o[n.nextCritical]=!0;const s=(a=core.nextCriticals(e,1,void 0,void 0,"empty")[0])==null?void 0:a[0],r=(s!=null?s:0)+core.status.hero.atk;n.nextCritical=r}}function checkMarkedEnemy(e=!1){checkMarkedStatus.value=!checkMarkedStatus.value;const t=core.status.hero.hp;getMarkedEnemy().forEach(o=>{var l,h;getMarkInfo(o);const n=(h=(l=core.getDamageInfo(o,void 0,void 0,void 0,"empty"))==null?void 0:l.damage)!=null?h:-1;if(n===-1)return;const a=enemyDamageInfo[o],s=core.material.enemys[o].name;let r=0;n<=0?e||tip$1("success",`${s}已经零伤了!`):n<t/3?(!a[3]&&!e&&tip$1("success",`${s}的伤害已降至勇士生命值的1/3`),r=7):n<t/3*2?(!a[2]&&!e&&tip$1("success",`${s}的伤害已降至勇士生命值的2/3`),r=6):n<t&&(!a[1]&&!e&&tip$1("success",`你已经能打过${s}了!`),r=4),a[1]=a[2]=a[3]=!1,r&4&&(a[1]=!0),r&2&&(a[2]=!0),r&1&&(a[3]=!0)})}const checkMarkedStatus=ref(!1);function init$e(){return core.registerAction("onmove","mark",(e,t)=>(core.isPlaying()&&(flags.mouseLoc=[e,t]),!1),150),{checkMarkedEnemy,checkStatus:checkMarkedStatus,markEnemy:markEnemy$1,hasMarkedEnemy,unmarkEnemy,showMarkedEnemy,unmarkAll}}const _withScopeId$9=e=>(pushScopeId("data-v-c9501a8f"),e=e(),popScopeId(),e),_hoisted_1$o={id:"enemy-target"},_hoisted_2$l={id:"enemy-desc"},_hoisted_3$k=_withScopeId$9(()=>createBaseVNode("span",null,"怪物描述",-1)),_hoisted_4$h={id:"mark-target"},_hoisted_5$f=["onClick"],_sfc_main$o=defineComponent({__name:"enemyTarget",setup(e){const t=core.plugin.bookDetailEnemy,o=ref(hasMarkedEnemy(t.id));function n(){o.value&&unmarkEnemy(t.id),o.value||markEnemy$1(t.id),o.value=hasMarkedEnemy(t.id)}return(a,s)=>{const r=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$o,[createBaseVNode("div",_hoisted_2$l,[_hoisted_3$k,createVNode(Scroll,{id:"enemy-desc-scroll"},{default:withCtx(()=>[createBaseVNode("span",null,"    "+toDisplayString(unref(t).description),1)]),_:1})]),createVNode(r,{dashed:"",style:{"border-color":"#ddd4"}}),createBaseVNode("div",null,[createBaseVNode("div",_hoisted_4$h,[createBaseVNode("span",{id:"mark-info",style:normalizeStyle({color:o.value?"lightgreen":"lightcoral"})},toDisplayString(o.value?"已标记该怪物":"未标记该怪物"),5),createBaseVNode("span",{class:"button-text",onClick:withModifiers(n,["stop"])},toDisplayString(o.value?"取消标记该怪物":"标记该怪物为目标"),9,_hoisted_5$f)])])])}}}),enemyTarget_vue_vue_type_style_index_0_scoped_c9501a8f_lang="",EnemyTarget=_export_sfc(_sfc_main$o,[["__scopeId","data-v-c9501a8f"]]),_withScopeId$8=e=>(pushScopeId("data-v-c8f01fef"),e=e(),popScopeId(),e),_hoisted_1$n={id:"detail"},_hoisted_2$k={id:"detail-more"},_hoisted_3$j={key:0,id:"special-more",class:"detial-more"},_hoisted_4$g={key:1,id:"special-more",class:"detial-more"},_hoisted_5$e={key:2,id:"special-more",class:"detial-more"},_hoisted_6$d=_withScopeId$8(()=>createBaseVNode("span",null,null,-1)),_sfc_main$n=defineComponent({__name:"bookDetail",props:{fromBook:{type:Boolean},defaultPanel:null},emits:["close"],setup(e,{emit:t}){var _;const o=e,n=core.plugin.bookDetailEnemy,a=ref(core.plugin.bookDetailPos),s=ref((_=o.defaultPanel)!=null?_:"special");let r;function l(u,c){u.stopPropagation(),s.value=c}function h(){a.value=core.plugin.bookDetailPos,r.style.opacity="0",t("close")}function d(u){const c=keycode(u.keyCode);(c===KeyCode.Enter||c===KeyCode.Space||c===KeyCode.KeyC)&&h(),o.fromBook||(c===KeyCode.KeyX||c===KeyCode.Escape)&&h()}return onMounted(async()=>{a.value=0,r=document.getElementById("detail"),r.style.opacity="1";const u=getComputedStyle(r);let c=!1,f=[0,0];await R(600),useDrag(r,(m,w)=>{(m-f[0])**2+(w-f[1])**2>=100&&(c=!0)},(m,w)=>{f=[m,w],w>parseFloat(u.height)*4/5&&(c=!0)},()=>{c===!1&&s.value!=="critical"&&h(),c=!1}),document.addEventListener("keyup",d)}),onUnmounted(()=>{document.removeEventListener("keyup",d)}),(u,c)=>{const f=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$n,[createBaseVNode("div",{id:"info",style:normalizeStyle({top:`${a.value}px`})},[createVNode(EnemyOne,{enemy:unref(n)},null,8,["enemy"]),createVNode(f,{dashed:"",style:{margin:"2vh 0 2vh 0","border-color":"#ddd4",width:"100%"}})],4),createVNode(Transition,{name:"detail"},{default:withCtx(()=>[s.value==="special"?(openBlock(),createBlock(EnemySpecial,{key:0,"from-book":e.fromBook},null,8,["from-book"])):s.value==="critical"?(openBlock(),createBlock(EnemyCritical,{key:1,"from-book":e.fromBook},null,8,["from-book"])):s.value==="target"?(openBlock(),createBlock(EnemyTarget,{key:2})):createCommentVNode("",!0)]),_:1}),createBaseVNode("div",_hoisted_2$k,[createVNode(Transition,{name:"detail"},{default:withCtx(()=>[s.value==="special"?(openBlock(),createElementBlock("div",_hoisted_3$j,[createBaseVNode("span",{id:"enemy-target",class:"button-text more",onClick:c[0]||(c[0]=m=>l(m,"target"))},[createVNode(unref(LeftOutlined)),createTextVNode(" 怪物更多信息")]),createBaseVNode("span",{id:"critical-more",class:"button-text more",onClick:c[1]||(c[1]=m=>l(m,"critical"))},[createTextVNode("详细临界信息 "),createVNode(unref(RightOutlined))])])):s.value==="critical"?(openBlock(),createElementBlock("div",_hoisted_4$g,[createBaseVNode("span",{id:"enemy-pos",class:"button-text more",onClick:c[2]||(c[2]=m=>l(m,"special"))},[createVNode(unref(LeftOutlined)),createTextVNode(" 怪物特殊属性")])])):s.value==="target"?(openBlock(),createElementBlock("div",_hoisted_5$e,[_hoisted_6$d,createBaseVNode("span",{id:"enemy-pos",class:"button-text more",onClick:c[3]||(c[3]=m=>l(m,"special"))},[createTextVNode("怪物特殊属性 "),createVNode(unref(RightOutlined))])])):createCommentVNode("",!0)]),_:1})])])}}}),bookDetail_vue_vue_type_style_index_0_scoped_c8f01fef_lang="",BookDetail=_export_sfc(_sfc_main$n,[["__scopeId","data-v-c8f01fef"]]),_withScopeId$7=e=>(pushScopeId("data-v-4255cd54"),e=e(),popScopeId(),e),_hoisted_1$m={id:"book"},_hoisted_2$j={id:"tools"},_hoisted_3$i={key:0,id:"none"},_hoisted_4$f=_withScopeId$7(()=>createBaseVNode("div",null,"本层无怪物",-1)),_hoisted_5$d=[_hoisted_4$f],_hoisted_6$c={class:"enemy"},_sfc_main$m=defineComponent({__name:"book",setup(e){var w,g,y;const t=(y=core.floorIds[(g=(w=core.status.event)==null?void 0:w.ui)==null?void 0:g.index])!=null?y:core.status.floorId;t!==core.status.floorId&&core.status.checkBlock&&(core.status.checkBlock.cache={});const o=core.getCurrentEnemys(t),n=ref(0),a=ref(!1),s=ref(!1),r=ref(0);o.forEach(k=>{const $=k.specialText.length;k.toShowSpecial=lodashExports.cloneDeep(k.specialText),k.toShowColor=lodashExports.cloneDeep(k.specialColor),$>=3&&(k.toShowSpecial=k.specialText.slice(0,2).concat(["..."]),k.toShowColor=k.specialColor.slice(0,2).concat(["#fff"])),k.toShowColor=k.toShowColor.map(U=>typeof U=="string"?U:core.arrayToRGBA(U)),k.damageColor=getDamageColor(k.damage)});function l(k,$){if(a.value)return;const U=window.innerHeight,N=$*U*.2-n.value;core.plugin.bookDetailEnemy=k,core.plugin.bookDetailPos=N,s.value=!0,h()}async function h(){const k=document.getElementById("book");k.style.opacity="0",await R(600),k.style.display="none"}async function d(){_(),await R(600),s.value=!1}async function _(){const k=document.getElementById("book");k.style.display="flex",await R(50),k.style.opacity="1"}async function u(){noClosePanel.value=!0,core.plugin.bookOpened.value=!1,core.plugin.transition.value?await R(650):await R(100),!core.events.recoverEvents(core.status.event.interval)&&(has(core.status.event.ui)?(core.status.boxAnimateObjs=[],core.ui._drawViewMaps(core.status.event.ui)):core.ui.closePanel())}function c(){const k=window.innerHeight,$=r.value*k*.2-n.value;$<0&&(n.value+=$-20),$>k*.655&&(n.value+=$-k*.655+20)}function f(k){const $=keycode(k.keyCode);($===KeyCode.KeyX||$===KeyCode.Escape)&&u(),($===KeyCode.Enter||$===KeyCode.KeyC||$===KeyCode.Space)&&!s.value&&l(o[r.value],r.value)}function m(k){const $=keycode(k.keyCode);s.value||($===KeyCode.DownArrow&&(r.value<o.length-1&&r.value++,c()),$===KeyCode.UpArrow&&(r.value>0&&r.value--,c()),($===KeyCode.LeftArrow||$===KeyCode.PageUp)&&(r.value<=4?r.value=0:r.value-=5,c()),($===KeyCode.RightArrow||$===KeyCode.PageDown)&&(r.value>=o.length-5?r.value=o.length-1:r.value+=5,c()))}return onMounted(async()=>{core.plugin.transition.value?await R(600):await R(50),document.addEventListener("keyup",f),document.addEventListener("keydown",m)}),onUnmounted(async()=>{document.removeEventListener("keyup",f),document.removeEventListener("keydown",m)}),(k,$)=>{const U=__unplugin_components_0;return openBlock(),createElementBlock(Fragment,null,[createBaseVNode("div",_hoisted_1$m,[createBaseVNode("div",_hoisted_2$j,[createBaseVNode("span",{id:"back",class:"button-text tools",onClick:u},[createVNode(unref(LeftOutlined)),createTextVNode("返回游戏")])]),unref(o).length===0?(openBlock(),createElementBlock("div",_hoisted_3$i,_hoisted_5$d)):(openBlock(),createBlock(Scroll,{key:1,style:{width:"100%",height:"94%","font-family":"normal"},now:n.value,"onUpdate:now":$[0]||($[0]=N=>n.value=N),drag:a.value,"onUpdate:drag":$[1]||($[1]=N=>a.value=N)},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(o),(N,M)=>(openBlock(),createElementBlock("div",_hoisted_6$c,[(openBlock(),createBlock(EnemyOne,{selected:M===r.value,enemy:N,key:M,onSelect:b=>l(N,M),onHover:b=>r.value=M},null,8,["selected","enemy","onSelect","onHover"])),createVNode(U,{dashed:"",style:{width:"100%","border-color":"#ddd4"}})]))),256))]),_:1},8,["now","drag"]))]),s.value?(openBlock(),createBlock(BookDetail,{key:0,"from-book":!0,onClose:$[2]||($[2]=N=>d())})):createCommentVNode("",!0)],64)}}}),book_vue_vue_type_style_index_0_scoped_4255cd54_lang="",Book=_export_sfc(_sfc_main$m,[["__scopeId","data-v-4255cd54"]]),clsMap={tools:"消耗道具",constants:"永久道具",all:"全部道具"};function getClsName(e){return clsMap[e]}function getItems(e){const t=core.status.hero.items,o=["book"];if(e==="all")return{tools:Object.entries(t.tools).filter(s=>!o.includes(s[0])),constants:Object.entries(t.constants).filter(s=>!o.includes(s[0]))};const n=t[e];return Object.entries(n)}const _withScopeId$6=e=>(pushScopeId("data-v-5e7b8682"),e=e(),popScopeId(),e),_hoisted_1$l={id:"toolbox"},_hoisted_2$i={id:"tools"},_hoisted_3$h={id:"toolbox-main"},_hoisted_4$e={class:"item-main"},_hoisted_5$c={class:"item-info"},_hoisted_6$b={key:0,class:"item-type"},_hoisted_7$a={key:1,id:"item-type-mobile"},_hoisted_8$9=["selected"],_hoisted_9$9=["selected"],_hoisted_10$9=["selected","onClick"],_hoisted_11$8={class:"item-icon"},_hoisted_12$6={class:"item-name"},_hoisted_13$6={id:"detail"},_hoisted_14$6={id:"info"},_hoisted_15$5={id:"basic-info"},_hoisted_16$5={style:{"border-bottom":"1px solid #ddd4"}},_hoisted_17$4=_withScopeId$6(()=>createBaseVNode("span",{style:{"margin-top":"2vh"}},"点击该物品以使用",-1)),_hoisted_18$4={id:"desc"},_hoisted_19$4=_withScopeId$6(()=>createBaseVNode("span",null,"道具描述",-1)),_hoisted_20$3={key:0},_hoisted_21$3=["innerHTML"],_sfc_main$l=defineComponent({__name:"toolbox",setup(e){var m,w;const t=ref("tools"),o=getItems("all"),n=computed(()=>isMobile?[t.value]:["tools","constants"]),a=core.material.items,s=ref((w=(m=o[n.value[0]][0])==null?void 0:m[0])!=null?w:"none"),r=ref(0);watch(r,g=>{h(o[t.value][g][0],!0)}),watch(t,g=>{if(!has(o[g][r.value])){s.value="none";return}h(o[g][r.value][0],!0)});const l=computed(()=>{const g=s.value;return g==="none"?ref("没有选择道具"):type(a[g].text,25,G("sin","out"),!0)});async function h(g,y=!1){s.value===g&&!y&&_(g),r.value=o[t.value].findIndex(k=>k[0]===g),s.value=g}function d(){core.plugin.toolOpened.value=!1}async function _(g){if(g!=="none")if(core.canUseItem(g)){const y=core.plugin.transition.value;core.plugin.transition.value=!1,d(),await R(50),core.useItem(g),core.plugin.transition.value=y}else message.warn({content:"当前无法使用该道具!",class:"antdv-message"})}async function u(){const g=core.plugin.transition.value;core.plugin.transition.value=!1,d(),await R(50),core.plugin.equipOpened.value=!0,core.plugin.transition.value=g}function c(g){const y=keycode(g.keyCode);(y===KeyCode.Escape||y===KeyCode.KeyX||y===KeyCode.KeyT)&&d(),(y===KeyCode.Enter||y===KeyCode.KeyC)&&_(s.value)}function f(g){const y=keycode(g.keyCode),k=o[t.value].length;if(y===KeyCode.DownArrow&&r.value<k-1&&r.value++,y===KeyCode.UpArrow&&r.value>0&&r.value--,y===KeyCode.RightArrow){const $=o.constants.length;t.value==="tools"&&(r.value>=$&&(r.value=$-1),t.value="constants")}if(y===KeyCode.LeftArrow){const $=o.tools.length;t.value==="constants"&&(r.value>=$&&(r.value=$-1),t.value="tools")}}return onMounted(async()=>{core.plugin.transition.value?await R(600):await R(50),document.addEventListener("keyup",c),document.addEventListener("keydown",f)}),onUnmounted(()=>{document.removeEventListener("keyup",c),document.removeEventListener("keydown",f)}),(g,y)=>{var $;const k=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$l,[createBaseVNode("div",_hoisted_2$i,[createBaseVNode("span",{class:"button-text tools",onClick:d},[createVNode(unref(LeftOutlined)),createTextVNode(" 返回游戏")]),createBaseVNode("span",{class:"button-text tools",onClick:u},[createTextVNode("装备栏 "),createVNode(unref(RightOutlined))])]),createBaseVNode("div",_hoisted_3$h,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(n),U=>(openBlock(),createElementBlock("div",_hoisted_4$e,[createBaseVNode("div",_hoisted_5$c,[unref(isMobile)?(openBlock(),createElementBlock("div",_hoisted_7$a,[createBaseVNode("span",{class:"button-text",onClick:y[0]||(y[0]=N=>t.value="tools"),selected:t.value==="tools"},"消耗道具",8,_hoisted_8$9),createVNode(k,{dashed:"",style:{"border-color":"#ddd4",height:"100%"},type:"vertical"}),createBaseVNode("span",{class:"button-text",onClick:y[1]||(y[1]=N=>t.value="constants"),selected:t.value==="constants"},"永久道具",8,_hoisted_9$9)])):(openBlock(),createElementBlock("div",_hoisted_6$b,toDisplayString(unref(getClsName)(U)),1)),createVNode(k,{dashed:"",style:{margin:"1vh 0 1vh 0","border-color":"#ddd4"}}),createVNode(Scroll,{class:"item-list"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(o)[U],([N,M])=>(openBlock(),createElementBlock("div",{class:"item selectable",selected:s.value===N,onClick:b=>{t.value=U,h(N)}},[createBaseVNode("div",_hoisted_11$8,[createVNode(_sfc_main$t,{id:N,width:32,height:32,noborder:!0},null,8,["id"]),createBaseVNode("span",_hoisted_12$6,toDisplayString(unref(a)[N].name),1)]),createBaseVNode("span",null,"× "+toDisplayString(M),1)],8,_hoisted_10$9))),256))]),_:2},1024)]),createVNode(k,{dashed:"",type:unref(isMobile)?"horizontal":"vertical",class:"divider",style:{"border-color":"#ddd4",margin:"1%"}},null,8,["type"])]))),256)),createBaseVNode("div",_hoisted_13$6,[createBaseVNode("div",_hoisted_14$6,[createVNode(_sfc_main$t,{id:s.value,width:32,height:32},null,8,["id"]),createBaseVNode("div",_hoisted_15$5,[createBaseVNode("span",_hoisted_16$5,toDisplayString(s.value==="none"?"没有道具":unref(a)[s.value].name),1),createBaseVNode("span",null,toDisplayString(s.value==="none"?"永久道具":($=unref(getClsName)(unref(a)[s.value].cls))!=null?$:"永久道具"),1)])]),_hoisted_17$4,createVNode(k,{dashed:"",style:{"border-color":"#ddd4"}}),createBaseVNode("div",_hoisted_18$4,[_hoisted_19$4,createVNode(Scroll,{id:"desc-text"},{default:withCtx(()=>[unref(l).value.startsWith("!!html")?(openBlock(),createElementBlock("div",{key:1,innerHTML:unref(l).value.slice(6)},null,8,_hoisted_21$3)):(openBlock(),createElementBlock("div",_hoisted_20$3,toDisplayString(unref(l).value),1))]),_:1})])])])])}}}),toolbox_vue_vue_type_style_index_0_scoped_5e7b8682_lang="",Toolbox=_export_sfc(_sfc_main$l,[["__scopeId","data-v-5e7b8682"]]),index$3="",index$2="";function getEquips(){return Object.entries(core.status.hero.items.equips)}function getAddStatus(e){const t=Object.assign({},e.value,e.percentage),o=Object.keys(t);return createVNode("div",{class:"equip-add-detail"},[o.map(n=>{var s,r;const a=Math.floor(((s=e.value[n])!=null?s:0)*core.getBuff(n)+core.status.hero[n]*((r=e.percentage[n])!=null?r:0)/100);return createVNode("span",{style:"display: flex"},[createVNode("span",{style:"flex-basis: 50%"},[core.getStatusLabel(n)]),createTextVNode("    "),createVNode("span",{style:{color:a>0?"lightgreen":"lightsalmon"}},[a>0?`+${a}`:a])])})])}function getNowStatus(e,t=!1){return createVNode("div",{id:"hero-status"},[["hp","lv","atk","def","mdef","mana","hpmax","money"].map(n=>{var r,l,h;let a;n==="lv"?a=(r=core.getLvName())!=null?r:"":a=(l=core.getRealStatus(n))==null?void 0:l.toString();let s=0;if(has(e)){s+=Math.floor(((h=e.value[n])!=null?h:0)*core.getBuff(n));const d=Math.floor(e.percentage[n]*core.getStatus(n)/100);s+=isNaN(d)?0:d}return t&&(s=-s),createVNode("div",{class:"hero-status-one"},[createVNode("span",{class:"hero-status-label"},[core.getStatusLabel(n)]),createVNode("div",{class:"hero-status-value"},[createVNode("span",{style:"margin-right: 20%"},[a]),s!==0&&createVNode("span",{style:{color:s>0?"lightgreen":"lightsalmon"}},[s>0?"+"+s:"-"+-s])])])})])}const _hoisted_1$k={id:"equipbox"},_hoisted_2$h={id:"tools"},_hoisted_3$g={id:"equipbox-main"},_hoisted_4$d={id:"equip-list"},_hoisted_5$b={id:"filter"},_hoisted_6$a={key:0},_hoisted_7$9={key:1},_hoisted_8$8=["selected","onMousedown","onTouchstart","onClick"],_hoisted_9$8={class:"equip-icon"},_hoisted_10$8={class:"equip-name"},_hoisted_11$7={id:"equip-status"},_hoisted_12$5={id:"equip-status-main"},_hoisted_13$5={id:"equip-now"},_hoisted_14$5={id:"equip-now-div"},_hoisted_15$4=["draged","access","selected","onMouseenter","onClick"],_hoisted_16$4={key:0,id:"equip-hero"},_hoisted_17$3={id:"hero-icon"},_hoisted_18$3={id:"hero-status"},_hoisted_19$3={id:"equip-desc"},_hoisted_20$2={id:"equip-icon"},_hoisted_21$2={id:"equip-type"},_hoisted_22$2={id:"equip-add"},_hoisted_23$2={id:"equip-desc-text"},_hoisted_24$2={key:0},_hoisted_25$1=["innerHTML"],_hoisted_26$1={id:"icon-drag"},_sfc_main$k=defineComponent({__name:"equipbox",setup(e){const t=ref(getEquips()),o=ref("all"),n=core.material.items,a=ref(0),s=ref(!1),r=core.status.globalAttribute.equipName,l=ref(core.status.hero.equipment),h=ref(!1),d=ref(!1),_=ref(-1),u=ref("down"),c=ref("none"),f=ref("value"),m=["none","atk","def","hpmax","mana"],w=core.getStatusLabel;watch(u,P=>{a.value=U.value.length-a.value-1}),watch(c,P=>{a.value=0}),watch(f,P=>{a.value=0});const g=computed(()=>{const P=U.value[a.value],L={name:"没有选择装备",cls:"equip",text:"没有选择装备",equip:{type:"无",value:{},percentage:{},animate:""}};if(s.value){const J=l.value[a.value],te=core.material.items[J];return has(te)?te:L}return has(P)?n[P[0]]:L}),y=computed(()=>getAddStatus(g.value.equip,s.value)),k=computed(()=>g.value.text.startsWith("!!html")?ref(g.value.text):type(g.value.text,25,G("sin","out"),!0)),$=computed(()=>getNowStatus(g.value.equip,s.value)),U=computed(()=>{const P=u.value,L=c.value,J=f.value,te=t.value.filter(se=>{const re=n[se[0]].equip,Q=re.type;return L!=="none"&&!has(re[J][L])?!1:o.value==="all"?!0:typeof Q=="string"?Q===o.value:core.status.globalAttribute.equipName[Q]===o.value});return L==="none"?te:P==="down"?te.sort((se,re)=>{const Q=n[se[0]].equip,ce=n[re[0]].equip;return Q[J][L]-ce[J][L]}):te.sort((se,re)=>{const Q=n[se[0]].equip;return n[re[0]].equip[J][L]-Q[J][L]})});function N(){u.value==="down"?u.value="up":u.value="down"}function M(){core.plugin.equipOpened.value=!1}function b(P){var L;if(P===a.value&&h.value){const J=(L=U.value[a.value])==null?void 0:L[0];if(!core.canEquip(J)){tip$1("warn","无法装备!");return}core.loadEquip(J),F(),h.value=!1}h.value=!0}function S(P,L=!1){P!==a.value&&!L&&(h.value=!1),L&&(h.value=!1),L&&s.value===L&&a.value===P&&(core.unloadEquip(P),F()),s.value=L,a.value=P}function A(P){var J,te;if(P<0)return!1;const L=(J=g.value.equip)==null?void 0:J.type;return!core.canEquip((te=U.value[a.value])==null?void 0:te[0])||!has(L)?!1:typeof L=="number"?P===L:r[P]===L}function T(){var te;const P=_.value;if(P<0)return;if(!A(P)){tip$1("warn","无法装备!");return}const L=l.value[P],J=(te=U.value[a.value])==null?void 0:te[0];core.items._realLoadEquip(P,J,L),F()}function F(){l.value=core.status.hero.equipment,t.value=getEquips(),requestAnimationFrame(()=>{z()})}function z(){const P=Array.from(document.querySelectorAll(".equip"));useDrag(P,E,(L,J)=>{ee=L,ne=J},()=>{d.value&&(d.value=!1,T())},!0)}let[ee,ne]=[0,0];function E(P,L,J){if((P-ee)**2+(L-ne)**2>10**2&&!d.value&&(d.value=!0),d.value){const te=document.getElementById("icon-drag");te.style.left=`${P-24}px`,te.style.top=`${L-24}px`}}function Z(P,L){P.stopPropagation(),_.value=L}function W(P){P.stopPropagation(),_.value=-1}async function oe(){const P=core.plugin.transition.value;core.plugin.transition.value=!1,M(),await R(50),core.plugin.toolOpened.value=!0,core.plugin.transition.value=P}function le(P){const L=keycode(P.keyCode);if((L===KeyCode.KeyQ||L===KeyCode.KeyX||L===KeyCode.Escape)&&M(),P.altKey){const J=P.keyCode-48;core.quickSaveEquip(J),tip$1("success",`已保存至${J}号套装`)}}return watch(U,P=>{z()}),onMounted(async()=>{z(),core.plugin.transition.value?await R(600):await R(50),document.addEventListener("keyup",le)}),onUnmounted(()=>{cancelGlobalDrag(E),document.removeEventListener("keyup",le)}),(P,L)=>{var re,Q,ce,_e,me,ue;const J=SelectOption,te=__unplugin_components_1,se=__unplugin_components_0;return openBlock(),createElementBlock(Fragment,null,[createBaseVNode("div",_hoisted_1$k,[createBaseVNode("div",_hoisted_2$h,[createBaseVNode("span",{class:"button-text tools",onClick:M},[createVNode(unref(LeftOutlined)),createTextVNode(" 返回游戏")]),createBaseVNode("span",{class:"button-text tools",onClick:oe},[createTextVNode("道具栏 "),createVNode(unref(RightOutlined))])]),createBaseVNode("div",_hoisted_3$g,[createBaseVNode("div",_hoisted_4$d,[createBaseVNode("div",_hoisted_5$b,[createVNode(te,{value:c.value,"onUpdate:value":L[0]||(L[0]=ie=>c.value=ie),class:"select"},{default:withCtx(()=>[(openBlock(),createElementBlock(Fragment,null,renderList(m,ie=>createVNode(J,{value:ie},{default:withCtx(()=>[createTextVNode(toDisplayString(ie==="none"?"所有":unref(w)(ie)),1)]),_:2},1032,["value"])),64))]),_:1},8,["value"]),createVNode(se,{type:"vertical",class:"divider"}),createVNode(te,{value:f.value,"onUpdate:value":L[1]||(L[1]=ie=>f.value=ie),class:"select"},{default:withCtx(()=>[createVNode(J,{value:"value"},{default:withCtx(()=>[createTextVNode("数值")]),_:1}),createVNode(J,{value:"percentage"},{default:withCtx(()=>[createTextVNode("百分比")]),_:1})]),_:1},8,["value"]),createVNode(se,{type:"vertical",class:"divider"}),createBaseVNode("span",{onClick:L[2]||(L[2]=ie=>N()),class:"button-text",id:"sort-type"},[u.value==="down"?(openBlock(),createElementBlock("span",_hoisted_6$a,[createVNode(unref(SortAscendingOutlined))])):(openBlock(),createElementBlock("span",_hoisted_7$9,[createVNode(unref(SortDescendingOutlined))]))])]),createVNode(se,{dashed:"",style:{"border-color":"#ddd4",margin:"1vh 0 1vh 0"}}),createVNode(Scroll,{id:"equip-scroll"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(U),([ie,pe],he)=>(openBlock(),createElementBlock("div",{class:"equip selectable",selected:a.value===he&&!s.value,onMousedown:ge=>S(he),onTouchstart:ge=>S(he),onClick:ge=>b(he)},[createBaseVNode("div",_hoisted_9$8,[createVNode(_sfc_main$t,{id:ie!=null?ie:"none",width:32,height:32,noborder:!0},null,8,["id"]),createBaseVNode("span",_hoisted_10$8,toDisplayString(unref(n)[ie].name),1)]),createBaseVNode("span",null,"× "+toDisplayString(pe),1)],40,_hoisted_8$8))),256))]),_:1})]),createBaseVNode("div",_hoisted_11$7,[createVNode(se,{class:"divider",type:unref(isMobile)?"horizontal":"vertical",dashed:"",style:{"border-color":"#ddd4"}},null,8,["type"]),createBaseVNode("div",_hoisted_12$5,[createBaseVNode("div",_hoisted_13$5,[createVNode(Scroll,{style:normalizeStyle({height:unref(isMobile)?"10vh":"30vh"})},{default:withCtx(()=>[createBaseVNode("div",_hoisted_14$5,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(r),(ie,pe)=>{var he;return openBlock(),createElementBlock("div",{class:"equip-now-one draginable selectable",draged:d.value,access:A(pe),selected:s.value&&a.value===pe,onMouseenter:ge=>Z(ge,pe),onMouseleave:W,onClick:ge=>S(pe,!0)},[createVNode(_sfc_main$t,{id:(he=l.value[pe])!=null?he:"none"},null,8,["id"]),createBaseVNode("span",null,toDisplayString(ie),1)],40,_hoisted_15$4)}),256))])]),_:1},8,["style"])]),createVNode(se,{dashed:"",style:{"border-color":"#ddd4",margin:"1vh 0 1vh 0"}}),unref(isMobile)?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_16$4,[createBaseVNode("div",_hoisted_17$3,[createVNode(_sfc_main$t,{id:"hero",width:48,height:64,noborder:""})]),createBaseVNode("div",_hoisted_18$3,[(openBlock(),createBlock(resolveDynamicComponent(unref($))))])]))]),unref(isMobile)?createCommentVNode("",!0):(openBlock(),createBlock(se,{key:0,class:"divider",type:"vertical",dashed:"",style:{"border-color":"#ddd4"}}))]),createBaseVNode("div",_hoisted_19$3,[createBaseVNode("div",_hoisted_20$2,[createVNode(_sfc_main$t,{id:s.value?(re=l.value[a.value])!=null?re:"none":(ce=(Q=unref(U)[a.value])==null?void 0:Q[0])!=null?ce:"none"},null,8,["id"]),createBaseVNode("span",null,toDisplayString(unref(g).name),1)]),createBaseVNode("div",_hoisted_21$2,[createBaseVNode("span",null,"装备孔:"+toDisplayString((_e=unref(g).equip)==null?void 0:_e.type),1)]),createVNode(se,{dashed:"",style:{"border-color":"#ddd4",margin:"1vh 0 1vh 0"}}),createBaseVNode("div",_hoisted_22$2,[createBaseVNode("span",{style:normalizeStyle({"font-size":unref(isMobile)?"3.8vw":"3vh"}),id:"title"},"增减属性",4),createVNode(Scroll,{style:{width:"100%",height:"100%"}},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(y))))]),_:1})]),createVNode(se,{dashed:"",style:{"border-color":"#ddd4",margin:"1vh 0 1vh 0"}}),createBaseVNode("div",_hoisted_23$2,[createBaseVNode("span",{style:normalizeStyle({"font-size":unref(isMobile)?"3.8vw":"3vh"}),id:"title"},"装备介绍",4),createVNode(Scroll,{id:"desc-text",style:{height:"100%",width:"100%"}},{default:withCtx(()=>[unref(k).value.startsWith("!!html")?(openBlock(),createElementBlock("div",{key:1,innerHTML:unref(k).value.slice(6)},null,8,_hoisted_25$1)):(openBlock(),createElementBlock("div",_hoisted_24$2,toDisplayString(unref(k).value),1))]),_:1})])])])]),createBaseVNode("div",_hoisted_26$1,[d.value?(openBlock(),createBlock(_sfc_main$t,{key:0,class:"drag-icon",id:(ue=(me=unref(U)[a.value])==null?void 0:me[0])!=null?ue:"none",width:48,height:48,noborder:""},null,8,["id"])):createCommentVNode("",!0)])],64)}}}),equipbox_vue_vue_type_style_index_0_scoped_69468f29_lang="",Equipbox=_export_sfc(_sfc_main$k,[["__scopeId","data-v-69468f29"]]),transition$2=ref(!1),itemDetail$1=ref(!0),autoSkill$1=ref(!0),autoScale$1=ref(!0),showHalo$1=ref(!0),showStudied$1=ref(!0),useFixed$1=ref(!0),autoLocate$1=ref(!0),antiAliasing$1=ref(!0),fullscreen$1=ref(!1);watch(transition$2,e=>{core.plugin.transition.value=e,core.setLocalStorage("transition",e)});watch(itemDetail$1,e=>{flags.itemDetail=e,core.updateStatusBar()});watch(autoSkill$1,e=>{flags.autoSkill=e,core.updateStatusBar(),core.status.route.push(`set:autoSkill:${e}`)});watch(autoScale$1,e=>{core.setLocalStorage("autoScale",e)});watch(showStudied$1,e=>{core.setLocalStorage("showStudied",e)});watch(showHalo$1,e=>{core.setLocalStorage("showHalo",e)});watch(useFixed$1,e=>{core.setLocalStorage("useFixed",e)});watch(autoSkill$1,e=>{flags.autoLocate=e,core.updateStatusBar(),core.status.route.push(`set:autoLocate:${e}`)});watch(antiAliasing$1,e=>{core.setLocalStorage("antiAliasing",e);for(const t of core.dom.gameCanvas)core.domStyle.hdCanvas.includes(t.id)||(e?t.classList.remove("no-anti-aliasing"):t.classList.add("no-anti-aliasing"))});function reset(){const e=core.getLocalStorage("transition",!1);transition$2.value=e,core.plugin.transition.value=transition$2.value,autoScale$1.value=core.getLocalStorage("autoScale",!0),showStudied$1.value=core.getLocalStorage("showStudied",!0),showHalo$1.value=core.getLocalStorage("showHalo",!0),antiAliasing$1.value=core.getLocalStorage("antiAliasing",!1),fullscreen$1.value=!!document.fullscreenElement}function resetFlag(){var e,t,o;(e=flags.autoSkill)!=null||(flags.autoSkill=!0),(t=flags.itemDetail)!=null||(flags.itemDetail=!0),(o=flags.autoLocate)!=null||(flags.autoLocate=!0),itemDetail$1.value=!!flags.itemDetail,autoSkill$1.value=!!flags.autoSkill,autoLocate$1.value=!!flags.autoLocate}async function triggerFullscreen(){const{maxGameScale:e}=core.plugin.utils;document.fullscreenElement?(await document.exitFullscreen(),requestAnimationFrame(()=>{e(1)}),fullscreen$1.value=!1):(await document.body.requestFullscreen(),requestAnimationFrame(()=>{e()}),fullscreen$1.value=!0)}function init$d(){return{resetSettings:reset,resetFlagSettings:resetFlag}}const fullscreen={text:"全屏游戏",desc:["是否全屏进行游戏全屏后按ESC退出全屏不能开启系统设置菜单请按下方的按钮打开。","进入或退出全屏后请存读档一下,以解决一部分绘制问题。"]},transition$1={text:"界面动画",desc:["是否展示当一个ui界面如怪物手册等的打开与关闭时的动画。当此项开启时","所有界面被打开或关闭时都会展示动画,否则会直接展示出来"]},itemDetail={text:"宝石血瓶显伤",desc:["是否在地图上显示宝石血瓶装备等增加的属性值"]},autoSkill={text:"自动切换技能",desc:["开启后,打怪物的时候会自动选择伤害最低的技能。同时显伤也会显示此状态下的伤害,","临界也会考虑技能在内"]},autoScale={text:"自动放缩",desc:["开启后,每次进入游戏时会自动缩放游戏画面至合适值。该项只对电脑端有效。","<br>","<br>","缩放原则如下:","<br>","1. 首先尝试缩放至最大缩放比例","<br>","2. 如果缩放后游戏画面高度高于页面高度的95%,那么缩小一个缩放比例,否则保持最大比例"]},showHalo={text:"展示范围光环",desc:["开启后,会在地图上显示范围光环。"]},useFixed={text:"移动鼠标显示怪物信息",desc:["开启后,当鼠标移动到怪物上时,会以盒子的形式展示该点的怪物信息。手机端此功能无效。","<br>","<br>","注当鼠标移动到怪物上时经过200毫秒才会显示信息防止误操作。"]},autoLocate={text:"自动勇士定位",desc:["此项会在进入第二章后会起作用。开启后,当勇士处于不同位置打同一个怪物伤害不同时,在地图上使用绿色箭头标出伤害最低的位置,","其余方向,伤害越高,箭头颜色越红,同时在自动寻路中选择可以到达的伤害最低的位置。","<br>","<br>","注:如果出现明显卡顿现象可以考虑关闭本设置或自动切换技能设置。"]},antiAliasing={text:"抗锯齿",desc:["是否开启抗锯齿。开启后,画面会变得不那么锐利,观感更加舒适;关闭后,可以更好地展现出像素感,同时部分像素错误也不会出现。"]},showStudied={text:"展示已学习技能",desc:["开启后,会在画面内以类似状态栏的盒子的形式显示当前已学习的怪物技能。"]},settingInfo={fullscreen,transition:transition$1,itemDetail,autoSkill,autoScale,showHalo,useFixed,autoLocate,antiAliasing,showStudied},_hoisted_1$j={class:"colomn"},_hoisted_2$g={class:"tools"},_hoisted_3$f=["id"],_sfc_main$j=defineComponent({__name:"colomn",props:{width:null,height:null,left:null,right:null},emits:["close"],setup(e,{emit:t}){const o=e,n=(1e8*Math.random()).toFixed(0);let a,s,r;function l(){a=document.getElementById(`column-${n}`),s=document.getElementById(`column-left-${n}`),r=document.getElementById(`column-right-${n}`),has(o.width)&&!isMobile&&(a.style.width=`${o.width}%`),has(o.height)&&(a.style.height=`${o.height}%`),has(o.left)&&(s.style.flexBasis=`${o.left}%`),has(o.right)&&(r.style.flexBasis=`${o.right}%`)}function h(d){const _=keycode(d.keyCode);(_===KeyCode.Escape||_===KeyCode.KeyX)&&t("close")}return onMounted(async()=>{l(),await R(50),core.plugin.transition.value&&await R(600),document.addEventListener("keyup",h)}),onUpdated(l),onUnmounted(()=>{document.removeEventListener("keyup",h)}),(d,_)=>{const u=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$j,[createBaseVNode("div",_hoisted_2$g,[createBaseVNode("span",{class:"button-text",onClick:_[0]||(_[0]=c=>t("close"))},[createVNode(unref(LeftOutlined)),createTextVNode(" 返回游戏")])]),createBaseVNode("div",{class:"column-main",id:`column-${unref(n)}`},[createVNode(Scroll,{class:"column-left",id:`column-left-${unref(n)}`},{default:withCtx(()=>[renderSlot(d.$slots,"left",{},void 0,!0)]),_:3},8,["id"]),createVNode(u,{class:"divider",dashed:"",style:{"border-color":"#ddd4"},type:unref(isMobile)?"horizontal":"vertical"},null,8,["type"]),createVNode(Scroll,{class:"column-right",id:`column-right-${unref(n)}`},{default:withCtx(()=>[renderSlot(d.$slots,"right",{},void 0,!0)]),_:3},8,["id"])],8,_hoisted_3$f)])}}}),colomn_vue_vue_type_style_index_0_scoped_682173f1_lang="",Colomn=_export_sfc(_sfc_main$j,[["__scopeId","data-v-682173f1"]]),_hoisted_1$i={id:"setting-list"},_hoisted_2$f=["selected"],_hoisted_3$e=["selected"],_hoisted_4$c=["selected"],_hoisted_5$a=["selected"],_hoisted_6$9=["selected"],_hoisted_7$8=["selected"],_hoisted_8$7=["selected"],_hoisted_9$7=["selected"],_hoisted_10$7=["innerHTML"],_sfc_main$i=defineComponent({__name:"settings",setup(e){const t=window.core,o=ref("fullscreen");fullscreen$1.value=!!document.fullscreenElement;const n=computed(()=>splitText(settingInfo[o.value].desc)),a={transition:transition$2,itemDetail:itemDetail$1,autoSkill:autoSkill$1,autoScale:autoScale$1,showHalo:showHalo$1,showStudied:showStudied$1,useFixed:useFixed$1,autoLocate:autoLocate$1,antiAliasing:antiAliasing$1,fullscreen:fullscreen$1},s=["fullscreen"];function r(){t.plugin.settingsOpened.value=!1}function l(h){if(o.value!==h){o.value=h;return}s.includes(h)?h==="fullscreen"&&triggerFullscreen():a[h].value=!a[h].value}return(h,d)=>(openBlock(),createBlock(Colomn,{width:60,height:60,onClose:r},{left:withCtx(()=>[createBaseVNode("div",_hoisted_1$i,[createBaseVNode("span",{class:"selectable",selected:o.value==="fullscreen",onClick:d[0]||(d[0]=_=>l("fullscreen"))},"全屏游戏:   "+toDisplayString(unref(fullscreen$1)?"ON":"OFF"),9,_hoisted_2$f),createBaseVNode("span",{class:"selectable",selected:o.value==="transition",onClick:d[1]||(d[1]=_=>l("transition"))},"界面动画:   "+toDisplayString(unref(transition$2)?"ON":"OFF"),9,_hoisted_3$e),createBaseVNode("span",{class:"selectable",selected:o.value==="itemDetail",onClick:d[2]||(d[2]=_=>l("itemDetail"))},"宝石血瓶显伤:   "+toDisplayString(unref(itemDetail$1)?"ON":"OFF"),9,_hoisted_4$c),createBaseVNode("span",{class:"selectable",selected:o.value==="autoSkill",onClick:d[3]||(d[3]=_=>l("autoSkill"))},"自动切换技能:   "+toDisplayString(unref(autoSkill$1)?"ON":"OFF"),9,_hoisted_5$a),createBaseVNode("span",{class:"selectable",selected:o.value==="autoScale",onClick:d[4]||(d[4]=_=>l("autoScale"))},"自动放缩:   "+toDisplayString(unref(autoScale$1)?"ON":"OFF"),9,_hoisted_6$9),createBaseVNode("span",{class:"selectable",selected:o.value==="showHalo",onClick:d[5]||(d[5]=_=>l("showHalo"))},"展示范围光环:   "+toDisplayString(unref(showHalo$1)?"ON":"OFF"),9,_hoisted_7$8),createBaseVNode("span",{class:"selectable",selected:o.value==="useFixed",onClick:d[6]||(d[6]=_=>l("useFixed"))},"移动鼠标显示怪物信息:   "+toDisplayString(unref(useFixed$1)?"ON":"OFF"),9,_hoisted_8$7),createBaseVNode("span",{class:"selectable",selected:o.value==="antiAliasing",onClick:d[7]||(d[7]=_=>l("antiAliasing"))},"抗锯齿:   "+toDisplayString(unref(antiAliasing$1)?"ON":"OFF"),9,_hoisted_9$7)])]),right:withCtx(()=>[createBaseVNode("span",{innerHTML:unref(n)},null,8,_hoisted_10$7)]),_:1}))}}),settings_vue_vue_type_style_index_0_scoped_21dc480f_lang="",Settings=_export_sfc(_sfc_main$i,[["__scopeId","data-v-21dc480f"]]),tip={text:"注意事项",condition:"true",desc:["这里显示本塔中需要注意的事项。","<br>","<br>",'1. <span style="color: yellow; font-weight: 700">',"本百科全书字数很多,可以选择性地阅读。</span>不过本条目最好可以全部阅读一遍。","<br>","<br>",'2. 本百科全书的内容会<span style="color: gold">随着游戏的推进而增加新内容</span>',"同时每次增加新内容时都会有提示。","<br>","<br>",'3. <span style="color: gold">背包中的系统设置同样非常重要,有些问题可以在那里找到原因</span>。',"例如当你获得技能时可能会发现开启不了技能,",'就是因为你打开了<span style="color: gold">自动切换技能</span>的功能,在系统设置里面有说。',"<br>","<br>",'4. <span style="color: yellow; font-weight: 700">重要!!!</span>本塔没有考虑录像的二次播放性,',"这意味着如果你从头播放一个录像,播放完成后继续游玩,提交成绩后不能保证绿录像,请谨慎考虑。","<br>","<br>",'5. 本塔中<span style="color: gold">几乎所有 ui 都可以纵向滚动</span>,如果发现显示不全,',"可以尝试上下拖动,就像浏览网页一样。电脑端还可以使用滚轮上下滚动。","大部分可以纵向滚动的 ui 都会在右方有一个滚动条,也可以拖动它进行滚动,例如本百科全书的条目列表和","条目说明都是可以通过上述方式滚动的。","<br>","<br>","6. 本塔主要面向电脑端设计,",'<span style="color: gold">建议使用电脑游玩以获得更好的游戏体验同时使用约16:9的比例游玩更加合适',"</span>。但是手机依然可以游玩本塔,","但部分操作可能不是很方便ui 也可能不是很美观,不过依然可以完整体验本游戏。","<br>","<br>",'7. 对于手机端,可以点击<span style="color: gold">右下角的难度文字</span>来切换工具栏至数字键。',"这样,你可以更加方便地进行使用技能等操作。","<br>","<br>","8. 本塔中几乎所有 ui 在打开时都会有一个0.6s的动画,如果不想要,可以在开头捡的系统设置里面关闭(默认关闭)。","同时,几乎所有 ui 的退出按钮都在左上角。","<br>","<br>",'9. 地图上显示的怪物临界有可能不准,当其与折线图有差异时,<span style="color: gold">请以折线图为准</span>。']},about={text:"关于游戏",condition:"true",desc:["使用样板Vite 魔塔样板","<br>","样板版本V2.10.0","<br>","游戏版本V1.0.0-alpha","<br>","游戏作者:古祠","<br>",'游戏开源地址:<a href="https://github.com/unanmed/HumanBreak" target="_blank">',"https://github.com/unanmed/HumanBreak</a>","<br>",'本塔遵循MIT开源协议。<a href="LICENSE" target="_blank">查看开源协议</a>',"<br>","音乐来源:网易云音乐等","<br>","素材来源:大素材库、爱给网、网站素材库等","<br>",'<span style="color: gold">特别说明:素材与音乐均来自网络,不得用于商业用途,仅用于参考与学习</span>',"<br>","特别鸣谢(排名不分先后):","<br>","1. 无名甲烷菌(提供部分特殊属性与机制想法)","<br>","测试(排名不分先后):","<br>","1. 永葆一颗童心","<br>","2. 影法师","<br>","3. 夜战天明889"]},tutorial={text:"新手教程",condition:"true",desc:["本条目是魔塔游戏的新手教程,如果对魔塔有一定的了解,可以直接忽略。","<br>","<br>",'魔塔是一种固定数值rpg游戏在打怪的时候遵循<span style="color: gold">我打你一下,你打我一下</span>',"的原则,造成的伤害是己方攻击减去对方防御,最后怪物的伤害便是你在战斗中失去的生命值。当然,为了游戏体验,","战斗过程会被省略。","<br>","<br>","宝石可以增加你的属性,在大部分魔塔中,红宝石增加攻击,蓝宝石增加防御,本塔也不例外。血瓶可以增加你的生命值。",'一般情况下,拾取宝物的优先级是<span style="color: gold">红宝石 &gt; 蓝宝石 &gt; 血瓶</span>',"但部分情况可能不是这样,这需要你自己的游玩经验等。","<br>","<br>","本塔还拥有升级机制,升级时能够给你增加大量的属性,因此,一般情况下当你接近升级时,需要尽快打怪升级。","<br>","<br>","然后是门。在魔塔中,很多门都不是必开的门,它们的作用一般是可以躲开怪物拿宝石,或者门里面有血瓶等。","当你血量足够时,这些门可以不用开,不然可能会有必开的门无法开启导致卡关。对于钥匙,每种颜色的钥匙开对应颜色的门,",'价值是<span style="color: gold">红 &gt; 蓝 &gt; 黄</span>。',"<br>","<br>","为了更加方便,本塔增加了宝石血瓶显示数据的功能,这样你可以清晰地知道每个宝石增加了多少属性。","<br>","<br>","下面是勇士基础属性的说明:","<br>",'<span style="color: lightgreen">1. 生命值</span>',"勇士的血量,当它归零时,游戏结束","<br>",'<span style="color: lightcoral">2. 攻击</span>',"勇士的攻击,攻击越高,每回合对怪物造成的伤害越高","<br>",'<span style="color: lightblue">3. 防御</span>',"勇士的防御,防御越高,怪物每回合对你造成的伤害越低","<br>",'<span style="color: green">4. 经验</span>',"勇士的经验,到达一定值后会升级。本塔在状态栏中显示为距离升级剩余的经验","<br>",'<span style="color: gold">5. 金币</span>',"勇士的金币,可以用于购买物品。本塔中在进入第二章后会有用","<br>",'<span style="color: lightgreen">6. 护盾</span>',"勇士的护盾,用处是能够在战后减少同等数值的伤害,在本塔中可以使伤害变为负值。本塔中,在点开无上之盾技能后,","智慧会充当护盾。更多信息可以查看“勇士属性”条目。"]},noun={text:"名词解释",condition:"true",desc:["本条目会解释诸如临界等魔塔术语,对魔塔有一定了解的可以直接忽略。","<br>","<br>",'<span style="color: lightcoral">1. 临界</span>',"在魔塔中,临界是一个非常重要的东西。首先,我们很容易可以得到,吃攻击时只有当减少了战斗回合数时怪物的伤害会减少,",'那么,吃攻击时怪物的减伤是不连续的。而<span style="color: gold">距离下一次减少怪物的伤害需要加的攻击的量</span>',"便是临界。当我们吃一个攻击恰好使怪物伤害减少时,称为“踩临界”。一般情况下,踩临界的减伤要比吃防御要高,","因此,当能踩到临界时,我们应当先踩临界,再吃防御。","<br>","<br>",'<span style="color: lightblue">2. 加防</span>',"加防指的是加防对怪物的减伤。在本塔中会以“n防”的形式显示在怪物手册或其他地方。在本塔中一般你不需要刻意计算",'临界与加防减伤,你可以在怪物手册中<span style="color: gold">查看减伤折线图</span>',"更多信息请查看“怪物手册”条目。","<br>","<br>",'<span style="color: gold">3. 咸鱼</span>',"一般来讲,开不必开的门,或者使用不必使用的道具被称为咸鱼,或者是咸门,咸道具。一般情况下,说“咸”便是指咸鱼。","一般情况下,门后面有宝石且无法通过其他方式进入的都是必开门,而只有血瓶的都是咸鱼门。"]},shortcut={text:"快捷键",condition:"true",desc:["这里包含本塔中所有的快捷键。对于手机端,可以点击工具栏的难度的位置切换工具栏至数字键。","下面会分为样板快捷键和本塔快捷键两类分别说明。可以ctrl+F进行搜索快捷键的功能。","<br>","<br>","下面是样板中的所有快捷键:","<br>",'<span style="color: gold">X</span>:打开怪物手册',"<br>",'<span style="color: gold">S</span>:打开存档界面',"<br>",'<span style="color: gold">D</span>:打开读档界面',"<br>",'<span style="color: gold">A或5</span>:读取自动存档',"<br>",'<span style="color: gold">W或6</span>:撤销读取的自动存档',"<br>",'<span style="color: gold">Q</span>:打开装备栏',"<br>",'<span style="color: gold">T</span>:打开道具栏',"<br>",'<span style="color: gold">G</span>:打开楼层传送器',"<br>",'<span style="color: gold">Z或单击勇士</span>:勇士转向',"<br>",'<span style="color: gold">空格或双击勇士或7</span>:轻按(拾取勇士周围的宝物但不移动勇士)',"<br>",'<span style="color: gold">Esc</span>:打开游戏菜单',"<br>",'<span style="color: gold">R</span>:打开录像回放菜单',"<br>",'<span style="color: gold">N</span>:询问是否返回游戏主菜单',"<br>",'<span style="color: gold">V</span>:打开快捷商店',"<br>",'<span style="color: gold">B</span>:打开数据统计界面',"<br>",'<span style="color: gold">Alt + 数字键</span>:快速换装',"<br>",'<span style="color: gold">PgUp或PgDn</span>:浏览地图',"<br>",'<span style="color: gold">P</span>:打开评论区',"<br>","<br>","下面是本塔中新增的快捷键(不包括技能,技能快捷键请在查看技能界面中查看):","<br>",'<span style="color: gold">M</span>:快速标记怪物',"<br>",'<span style="color: gold">J</span>:打开技能树',"<br>",'<span style="color: gold">H</span>:打开百科全书',"<br>",'<span style="color: gold">E</span>:查看鼠标位置怪物的特殊属性信息',"<br>",'<span style="color: gold">C</span>:查看鼠标位置怪物的详细临界信息']},extraAttr={text:"勇士属性",condition:"true",desc:["这里只对本塔中新增的勇士属性进行说明。","<br>","<br>",'<span style="color: lightblue">1. 智慧</span>',"智慧是该塔的核心属性之一。智慧可用于智慧加点,该功能会在进入第一章后开启。使用智慧可以点技能树。","除此之外,智慧也有其它功能。例如点开无上之盾技能后智慧还可以充当护盾,第二章点开学习技能后可以使用智慧学习怪物技能等。","<br>","<br>",'<span style="color: lightgreen">2. 生命回复</span>',"生命回复指的是勇士每回合回复的生命值。当与怪物战斗时,勇士每回合都会回复对应量的生命值。因此,当吃攻击时,","与怪物战斗的回合数可能会减少,导致生命回复的总回复量减少。不过大部分情况下不需要在意这一点,","减少一回合并不会对吸的血造成很大的影响,除了一些特殊情况。","该项会显示在状态栏的生命值右方偏下的位置。","<br>","<br>",'<span style="color: lightcoral">3. 额外攻击</span>',"额外攻击指的是勇士每回合的额外造成的伤害。一般情况下,当勇士破了怪物的防御时,该项便会起作用。","额外攻击相当于魔攻,无法通过一般方式减免。当勇士攻击怪物时,每回合都会附加对应量的伤害,对坚固怪同样有效。","额外攻击会显示在状态栏的攻击右方偏下的位置。"]},statusBar={text:"状态栏",condition:"true",desc:['在本塔中,状态栏与游戏画面是分开的。<span style="color: gold">你可以自由拖动状态栏,也可以修改其大小</span>。',"具体方法如下:点击一下状态栏之后,左上角的拖拽图标会放大,此时你可以按住它拖动状态栏。","你可以直接将鼠标放到状态栏的边框上,然后直接拖动以改变状态栏的大小。手机端可以先点击一下状态栏使边框","变宽,然后拖动。电脑端点击状态栏也可以使边框变宽。如果你想折叠状态栏,完全可以拖动状态栏的下边框,","然后直接拖动至上方,这时状态栏便会变成一条线,相当于折叠了状态栏","<br>","<br>",'<span style="color: gold">状态栏可以纵向滚动</span>',"如果你发现状态栏显示不全,可以尝试拉大状态栏,或者纵向拖动状态栏,就像网页上下滚动一样。","电脑端还可以使用滚轮上下滚动。","<br>","<br>","如果你觉得状态栏有些碍事,你完全可以将其缩小,或者把它放到不碍事的地方。","<br>","<br>","状态栏上面可能会有按钮,你可以直接点击。","<br>","<br>","对状态栏布局的说明。","<br>","本塔的状态栏的布局较为灵活。它是横向的布局,在状态栏较宽时可以看到,属性会横向依次显示。按照显示顺序,","状态栏显示项依次为:","<br>","<br>",'1. <span style="color: gold">楼层名</span>,点击后进入浏览地图界面',"<br>",'2. <span style="color: gold">勇士等级</span>',"<br>",'3. <span style="color: gold">当前开启的技能</span>',"<br>",'4. <span style="color: lightgreen">当前勇士生命值</span>,右方偏下为每回合回复的生命值',",当点开治愈之泉技能时,右方偏上会显示距离增加生命回复剩余血瓶数","<br>",'5. <span style="color: lightcoral">当前勇士的攻击</span>,右方偏下为勇士的额外攻击',"<br>",'6. <span style="color: lightblue">当前勇士的防御</span>',"<br>",'7. <span style="color: lightgreen">当前勇士的智慧</span>,可以用于智慧加点等',"<br>",'8. <span style="color: gold">当前勇士的金币</span>',"<br>",'9. <span style="color: lightgreen">当前勇士距离升级剩余经验数</span>',"<br>",'10. <span style="color: gold">三色钥匙</span>',"<br>",'11. <span style="color: gold">打开技能树</span>(进入第一章后开启)',"<br>",'12. <span style="color: gold">查看勇士的技能</span>(进入第一章后开启)']},markEnemy={text:"标记怪物",condition:"true",desc:["标记怪物可以使你能够更加方便地了解一个怪物的情况。","<br>","你可以通过以下两种方式标记怪物:","<br>","1. 打开怪物手册,选中怪物,进入怪物更多信息栏,点击标记怪物。","<br>",'2. 将鼠标移动到你想要标记的怪物上面,<span style="color: gold">',"按下M键</span>,即可标记怪物,注意浏览地图中不能用该方式标记。","手机端暂时没有快速标记怪物的方式。","<br>","<br>",'<span style="color: gold">当一个怪物被标记后,怪物会有以下行为</span>',"<br>","1. 当勇士恰好能打败怪物时,会进行提示","<br>","2. 当怪物的伤害恰好低于勇士生命值的2/3或1/3时会进行提示","<br>","3. 当勇士恰好踩到怪物的临界时,会进行提示","<br>","4. 当怪物零伤时,会进行提示","<br>","5. 被标记的怪物会出现类似于状态栏的盒子,可以随意拖动和改变大小。你也可以选择关闭这个盒子,","被关闭后可以通过重新标记来打开。这个盒子会显示标记的怪物的临界与伤害信息等,与状态栏一样,可以纵向滚动。","<br>","<br>","这个功能可以用于标记boss或者较强的挡路怪当这些怪能够攻击时你可以直接收到信息不需要再时刻费心注意怪物的伤害。","<br>","<br>",'<span style="color: gold">注意,标记的怪物是不计入存档的,同时标记的怪物只在本次游戏中有效,刷新页面后便会消失。</span>']},book={text:"怪物手册",condition:"true",desc:["本塔的怪物手册功能很多,下面一一介绍。","<br>","<br>","首先你可以按X打开怪物手册。除此之外将鼠标移动到怪物上也可以定点查看怪物的粗略信息。",'将鼠标移动到一个怪物上,按下<span style="color: gold">','E键</span>,可以查看该怪物的特殊属性信息。按下<span style="color: gold">',"C键</span>,可以查看该怪物的详细临界信息。","<br>","<br>","怪物手册打开的时候有一个0.6秒的动画,如果不想要可以在开头捡的系统设置里面关闭(默认关闭)。","<br>","<br>","打开怪物手册后,怪物手册的布局与样板自带的类似。与样板不同的是,这里的怪物手册不再是翻页式结构。",'<span style="color: gold">这里的怪物手册是滚动式结构</span>',"你可以像浏览网页一样,用手指或鼠标上下滚动或者拖动右边的滚动条,电脑端还可以使用滚轮。","对于电脑端还可以使用键盘操作。上和下可以上下选择怪物左和右可以向上或向下移动5个怪物。这些操作与样板都类似。","<br>","<br>","点击一个怪物或者按下回车空格后,将进入怪物详细信息界面。这个界面分为多个栏,分别是特殊属性栏,详细临界栏,更多信息栏。","进入怪物详细信息后默认在特殊属性栏,该栏可以查看怪物的特殊属性。","注意特殊属性依然可以纵向滚动。在特殊属性下方,","是怪物的临界表,可以粗略地查看怪物的临界信息。在下方,你可以点击详细临界信息进入详细临界栏。","<br>","<br>",'在详细临界栏中,怪物的伤害会以<span style="color: gold">可视化折线图</span>的方式显示出来,',"从而你可以更为清晰地看出怪物减伤趋势。","除了查看怪物伤害曲线,你还可以规划宝石。每个折线图下方都有一个滑动条,你可以拖动来模拟吃宝石。","注意,拖动时,滑动条左边会显示当前的加攻或加防次数,这个数值指的是在勇士所在地图中需要吃的最弱的宝石数量。","例如当前勇士所在地图中最弱的宝石加2点攻击加攻次数为3那么勇士的攻击增加量就为6。","勇士增加的攻击数值也会在下方显示。当加攻次数和加防次数改变时,折线图也会变化。",'当前状态下怪物的伤害以及减伤总量也会在下方显示。<span style="color: gold">',"注意在此栏中无法通过点击屏幕回到怪物手册界面,更多信息请查看最后一段</span>。","<br>","<br>","在特殊属性栏,点击下方的怪物更多信息可以进入更多信息栏。此栏中,你可以查看怪物描述。但这不是这一栏的核心功能。","这一栏的核心功能是标记怪物。被标记的怪物会有一些非常方便的行为,这些行为可以在“",'<span style="color: gold">标记怪物</span>”条目中查看。',"<br>","<br>","注意,在怪物详细信息中,除详细临界栏外均可以通过点击屏幕返回到怪物手册界面。",'如果你是电脑端,在任意栏目中<span style="color: gold">按下X键</span>会退出怪物手册,返回游戏,','<span style="color: gold">按下回车Enter键</span>会回到怪物手册界面。']},fly={text:"楼层传送器",condition:"true",desc:["楼传界面打开时会有一个0.6秒的动画,如果不想要可以在开头捡的系统设置里面关闭。(默认关闭)","<br>","<br>",'本塔的楼层传送器是一个集<span style="color: gold">分区、小地图、楼层传送、浏览地图</span>于一体的多功能楼传。','<a href="maps/index.html" target="_blank">你也可以点击这里</a>查看所有区域的缩略图。',"下面是楼传的具体说明:","<br>","<br>","首先,对于电脑端,最左侧显示区域信息,手机端则在上方的左侧。","<br>","<br>","然后,区域的右侧是小地图栏,这一栏会显示楼层的平面结构。你可以拖动,也可以使用滚轮或者双指放缩,当放缩到一定大小时,","会显示地图的缩略图。直接点击地图也可以选中地图,再次点击会传送至目标地图。","<br>","<br>","对于电脑端,最右侧是当前选中的地图的缩略图,手机则在下方,点击缩略图也可以传送。缩略图的下方是当前选中的地图名,","左右各有两个按钮表示后退10层、后退1层、前进1层、前进10层与样板的楼传的按钮功能类似对于小地图无法显示的单层","可以使用该功能到达。","<br>","<br>","最下方是设置按钮,可以切换无边框模式,电脑端还可以切换传统按键模式,传统按键模式下按键遵循样板的楼传按键方式。",'对于非传统模式,<span style="color: gold">上下左右</span>可以移动地图,','<span style="color: gold">PageUp和PageDown</span>可以前进1层或后退1层。']},tools={text:"道具栏与装备栏",condition:"true",desc:["道具栏与装备栏打开时会有一个0.6秒的动画,如果不想要可以在开头捡的系统设置里面关闭。(默认关闭)","<br>","<br>","本塔的道具栏没有特别之处,这里不需要说明。主要是装备栏。","<br>","<br>","本塔的装备栏手机和电脑端不同,电脑端比手机端多了一个勇士属性的显示。在装备栏的装备列表栏,",'<span style="color: gold">上方有两个选择框与一个排序方式的选项</span>。',"这三个可以筛选你拥有的装备并进行排序,从而让你能够更清楚地知道哪个装备更强。","第一个选择框可以筛选装备增加的属性,如果装备不增加选择的属性,那么会不显示。第二个选择框可以筛选增加的属性的方式,","有数值增加和百分比增加两种。在这个选择框右边有一个图标,这个图标可以改变武器的排序方式,有升序和降序两种,默认为升序。","例如你拥有两个装备分别增加10攻击和20攻击三者你分别选择了攻击数值升序那么增加10攻击的装备会排在上面","而增加20攻击的装备会排在下面。","<br>","<br>",'对于电脑端,如果你想装装备,<span style="color: gold">可以直接拖动装备至装备孔</span>','也可以选中装备后再次点击。<span style="color: gold">手机端暂时无法拖动装备</span>。当选中一个装备后,','电脑端和手机端均会显示装备增加或减少的属性,注意有的装备可能<span style="color: gold">不增加属性但是有特殊功能</span>。',"对于电脑端,还会直接在勇士属性栏显示增加或减少的属性。"]},achievement={text:"成就",condition:"true",desc:["成就系统是本塔的一个独立系统。它不会像勇士属性一样跟随存档变化,而是只要你完成了成就,那么就永远完成了,",'除非你清理了浏览器。每个成就都有成就点,<span style="color: gold">成就点目前没有实际用途,',"只是一个收集要素,对游戏进程没有任何影响。</span>","<br>","<br>","成就分为三种,普通成就,挑战成就和探索成就。普通成就完成难度一般较低,挑战成就完成难度较高,","而探索成就一般需要你自己探索如何完成。对于完成度类型的探索成就,它的完成度由到达过的地图与本章完成的成就数决定。","<br>","<br>",'<span style="color: gold">调试模式下无法完成成就!</span>']},score={text:"计分方式",condition:"true",desc:["第一章计分方式:血量 + 黄 * 5000 + 蓝 * 15000","<br>","第二章计分方式:血量 / 10 + 黄 * 2000 + 蓝 * 5000 + 红 * 10000"]},skillTree={text:"技能树",condition:"flags.chapter > 0",desc:['打开技能树可以点击状态栏的<span style="color: gold">',"技能树按钮</span>(如果发现没有显示可以尝试上下滚动状态栏),还可以按",'<span style="color: gold">快捷键J</span>打开。',"<br>","<br>","技能树是本塔的主要玩法之一。它可以让你使用智慧来学习技能,增加属性等。智慧在状态栏显示在防御的下一项,","绿宝石可以增加勇士的智慧。","<br>","<br>","打开技能树页面后,你可以在上方看到技能的名称与描述,下方会显示技能树,以及升级要求等。点击一个技能可以选中技能,","再次点击可以升级技能。注意,前置技能栏可以上下滚动,因此如果发现显示不全,可以尝试上下滚动前置技能栏","<br>","<br>","注意,技能在点开之后是无法取消的,因此,加点时请慎重加点。注意,部分技能是必点技能,这些技能会在技能说明中明确指出,","这些技能一般需要尽早点出。"]},study={text:"学习",condition:"core.plugin.skillTree.getSkillLevel(11) > 0",desc:["本条目会详细说明学习的机制与所有可以被学习的技能被学习后的效果。当前已经学习的技能会以与状态栏类似的盒子展示出来。","<br>","<br>","首先学习技能消耗的智慧点会越来越多初始消耗的智慧点为500每学习一次增加250。","学习的技能可以持续5场战斗在技能树界面每升级一次增加3场",'<span style="color: gold">当前为${core.plugin.skillTree.getSkillLevel(11) * 3 + 2}场</span>。',"学习后对应属性的值,例如抱团怪增加的属性百分比,会与被学习的怪物相同。学习界面可以使用背包中的道具或点击状态栏打开。","<br>","<br>","下面会详细说明每一种可以被学习的技能被学习后的效果,没有列出的均不可学习。","<br>","<br>",'<span style="color: #fc3">1. 致命一击</span>勇士每5回合对怪物造成一次强力攻击。',"<br>",'<span style="color: #bbb0ff">2. 恶毒</span>:勇士攻击无视怪物的防御。',"<br>",'<span style="color: #c0b088">3. 坚固</span>:勇士防御不低于怪物的攻击-1。',"<br>",'<span style="color: #fe7">4. n连击</span>勇士每回合攻击n次',"<br>",'<span style="color: #b30000">5. 饥渴</span>:勇士在战前吸取怪物一定量的攻击加载自己身上,',"同时减少怪物相应量的攻击,优先于怪物。","<br>",'<span style="color: #fa4">6. 抱团</span>:勇士周围每有一个拥有抱团属性的怪物,勇士的属性便增加一定值。',"相应地,拥有抱团属性的怪物也会受到勇士的加成。","<br>",'<span style="color: #b0c0dd">7. 勇气之刃</span>:勇士第一回合造成一定量的伤害,之后正常。',"<br>",'<span style="color: #ff00d2">8. 勇气冲锋</span>勇士首先发动冲锋造成一定量的伤害眩晕怪物5回合。',"学习该技能后,勇士无条件先手。","<br>",'<span style="color: #bbb0ff">9. 魔攻</span>:勇士攻击无视怪物的防御。',"<br>",'<span style="color: #b0b666">10. 先攻</span>:勇士无条件先手。']},special1={text:"第一章怪物特技",condition:"flags.chapter > 0",desc:["这里会展示第一章的怪物中需要特别说明的怪物特技。","<br>","<br>",'<span style="color: #c0b088">1. 坚固</span>',"在本塔中,额外攻击可以对坚固怪造成额外伤害。","<br>","<br>",'<span style="color: #80eed6">2. 绝对防御</span>',"该怪物一般可以用于刷血。该怪物可以使你每回合对怪物造成的伤害恰好为1导致战斗回合数很高因此可以刷血。","<br>","<br>",'<span style="color: #fc3">3. 致命一击、勇气之刃、勇气冲锋</span>',"造成的伤害为怪物每回合对勇士的伤害的一定倍数,而非攻击提高一定倍数。"]},special2={text:"第二章怪物特技",condition:"flags.chapter > 1",desc:["这里会展示第二章的怪物中需要特别说明的怪物特技。","<br>","<br>",'<span style="color: #f66">1. 电摇嘲讽</span>',"该特技会撞碎路上的所有地形和门,不需要消耗钥匙,拾取路上的所有道具,与路上的怪物战斗,最后与该怪物战斗。","如果怪物所在位置可以被嘲讽,那么勇士会被继续嘲讽。如果在被嘲讽的路上可以被其他怪物嘲讽,则不会触发。","如果一个点可以被多个怪物嘲讽,那么会优先选择最靠左上角的怪物。在地图上会标记出勇士的移动方向。",'<span style="color: gold">在被嘲讽之前会自动存档。</span>',"<br>","<br>",'<span style="color: #d8a">2. 永夜</span>、<span style="color: #ffd">极昼</span>',"战斗后会在本楼层中加减怪物与勇士的攻防每个楼层会单独存储。例如你在1楼层增加了100点攻击2楼层减少了100点攻击","那么当你从2楼层到1楼层时攻击会增加200点反之亦然。注意这里没有计算buff。"]},desc={tip,about,tutorial,noun,shortcut,extraAttr,statusBar,markEnemy,book,fly,tools,achievement,score,skillTree,study,special1,special2},_hoisted_1$h={id:"desc-list"},_hoisted_2$e=["selected","show","onClick"],_hoisted_3$d={key:0},_hoisted_4$b=["innerHTML"],_sfc_main$h=defineComponent({__name:"desc",setup(__props){const selected=ref(Object.keys(desc)[0]);function exit(){core.plugin.descOpened.value=!1}const content=computed(()=>eval("`"+splitText(desc[selected.value].desc)+"`"));function click(key){eval(desc[key].condition)&&(selected.value=key)}function show(condition){return eval(condition)}return(e,t)=>(openBlock(),createBlock(Colomn,{onClose:exit,width:80,height:80,left:30,right:70},{left:withCtx(()=>[createBaseVNode("div",_hoisted_1$h,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(desc),(o,n)=>(openBlock(),createElementBlock("div",{class:"selectable desc-item",selected:selected.value===n,show:show(o.condition),onClick:a=>click(n)},[show(o.condition)?(openBlock(),createElementBlock("span",_hoisted_3$d,toDisplayString(o.text),1)):createCommentVNode("",!0)],8,_hoisted_2$e))),256))])]),right:withCtx(()=>[createBaseVNode("span",{innerHTML:unref(content)},null,8,_hoisted_4$b)]),_:1}))}}),desc_vue_vue_type_style_index_0_scoped_daf50bc2_lang="",Desc=_export_sfc(_sfc_main$h,[["__scopeId","data-v-daf50bc2"]]),none={text:"无",opened:"true",desc:["当前未选择技能"]},blade={text:"1断灭之刃",opened:"core.plugin.skillTree.getSkillLevel(2) > 0",desc:['<span style="color: gold">快捷键1</span>,开启后勇士攻击增加${level:2 * 10}%',"同时防御减少${level:2 * 10}%。","<br>","<br>","当前等级:${level:2}"]},jump={text:"2跳跃",opened:"flags.skill2 === true",desc:['<span style="color: gold">快捷键2</span>消耗200点生命值困难消耗400点一个地图只能使用3次',"如果前方为可通行的地面,则不能使用该技能,如果前方为怪物,则将怪物移至勇士视线上第一个不能通行的方块后","如果前方为障碍物,则直接跳到该障碍物的后方。","<br>","<br>","进入第二章后不再消耗生命值。"]},shield={text:"3铸剑为盾",opened:"core.plugin.skillTree.getSkillLevel(10) > 0",desc:['<span style="color: gold">快捷键3</span>,开启后勇士防御增加${level:10 * 10}%',"同时攻击减少${level:10 * 10}%。","<br>","<br>","当前等级:${level:10}"]},skills={none,blade,jump,shield},_hoisted_1$g={id:"skill-list"},_hoisted_2$d=["selected","selectable","onClick"],_hoisted_3$c=["innerHTML"],_sfc_main$g=defineComponent({__name:"skill",setup(__props){const selected=ref("none");function skillOpened(skill){return eval(skills[skill].opened)}function select(e){skillOpened(e)&&(selected.value=e)}const content=computed(()=>eval("`"+skills[selected.value].desc.map((e,t,o)=>/^\d+\./.test(e)?`${"&nbsp;".repeat(12)}${e}`:has(o[t-1])&&e!=="<br>"&&o[t-1]==="<br>"||t===0?`${"&nbsp;".repeat(8)}${e}`:e).join("").replace(/level:(\d+)/g,"core.plugin.skillTree.getSkillLevel($1)")+"`"));function exit(){core.plugin.skillOpened.value=!1}return(e,t)=>(openBlock(),createBlock(Colomn,{onClose:exit,width:70,height:70},{left:withCtx(()=>[createBaseVNode("div",_hoisted_1$g,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(skills),(o,n)=>(openBlock(),createElementBlock("span",{class:"selectable skill-item",selected:n===selected.value,selectable:skillOpened(n),onClick:a=>select(n)},toDisplayString(o.text),9,_hoisted_2$d))),256))])]),right:withCtx(()=>[createBaseVNode("span",{innerHTML:unref(content)},null,8,_hoisted_3$c)]),_:1}))}}),skill_vue_vue_type_style_index_0_scoped_ba79149b_lang="",Skill=_export_sfc(_sfc_main$g,[["__scopeId","data-v-ba79149b"]]),_withScopeId$5=e=>(pushScopeId("data-v-23358c33"),e=e(),popScopeId(),e),_hoisted_1$f={id:"skill-tree"},_hoisted_2$c={id:"tools"},_hoisted_3$b={id:"skill-title"},_hoisted_4$a={id:"skill-info"},_hoisted_5$9=["innerHTML"],_hoisted_6$8={id:"skill-effect"},_hoisted_7$7=["innerHTML"],_hoisted_8$6=["innerHTML"],_hoisted_9$6={id:"skill-bottom"},_hoisted_10$6=_withScopeId$5(()=>createBaseVNode("canvas",{id:"skill-canvas"},null,-1)),_hoisted_11$6={id:"skill-upgrade-info"},_hoisted_12$4={id:"skill-level"},_hoisted_13$4={key:1,id:"skill-consume",style:{color:"gold"}},_hoisted_14$4={id:"skill-front"},_hoisted_15$3=_withScopeId$5(()=>createBaseVNode("span",null,"前置技能",-1)),_hoisted_16$3={id:"skill-chapter"},_sfc_main$f=defineComponent({__name:"skillTree",setup(__props){var e;let canvas,ctx;const selected=ref(0),chapter=ref("chapter1"),update=ref(!1),chapterDict={chapter1:"第一章",chapter2:"第二章"};(e=flags.skillTree)!=null||(flags.skillTree=0);const chapterList=Object.keys(core.plugin.skills);selected.value=core.plugin.skills[chapterList[flags.skillTree]][0].index,chapter.value=chapterList[flags.skillTree],watch(selected,draw),watch(update,()=>mdef.value=core.status.hero.mdef);const mdef=ref(core.status.hero.mdef),skill=computed(()=>(update.value,core.plugin.skillTree.getSkillFromIndex(selected.value))),skills=computed(()=>core.plugin.skills[chapter.value]),desc=computed(()=>eval("`"+splitText(skill.value.desc).replace(/level(:\d+)?/g,(t,o)=>o?`core.plugin.skillTree.getSkillLevel(${o})`:`core.plugin.skillTree.getSkillLevel(${skill.value.index})`)+"`")),effect=computed(()=>[0,1].map(v=>eval(`\`${v===0?"当前效果:":"下一级效果:"}`+skill.value.effect.join("").replace(/level(:\d+)?/g,(t,o)=>o?`(core.plugin.skillTree.getSkillLevel(${o}) + ${v})`:`(core.plugin.skillTree.getSkillLevel(${skill.value.index}) + ${v})`)+"`"))),dict=computed(()=>{const t={};return skills.value.forEach((n,a)=>{t[n.index]=a}),t}),front=computed(()=>skill.value.front.map(t=>`${core.plugin.skillTree.getSkillLevel(t[0])>=t[1]?"a":"b"}${t[1]}${skills.value[dict.value[t[0]]].title}`)),consume=computed(()=>(update.value,core.plugin.skillTree.getSkillConsume(selected.value))),level=computed(()=>(update.value,core.plugin.skillTree.getSkillLevel(selected.value)));function exit(){core.plugin.skillTreeOpened.value=!1}function resize(){const t=getComputedStyle(canvas);canvas.width=parseFloat(t.width)*devicePixelRatio,canvas.height=parseFloat(t.height)*devicePixelRatio}function draw(){const t=dict.value,n=canvas.width/11;ctx.clearRect(0,0,canvas.width,canvas.height),skills.value.forEach(a=>{const[s,r]=a.loc.map(l=>l*2-1);a.front.forEach(([l],h)=>{const d=skills.value[t[l]];ctx.beginPath(),ctx.moveTo(s*n+n/2,r*n+n/2),ctx.lineTo(...d.loc.map(_=>(_*2-1)*n+n/2)),core.plugin.skillTree.getSkillLevel(d.index)<a.front[h][1]?ctx.strokeStyle="#aaa":core.plugin.skillTree.getSkillLevel(d.index)===d.max?ctx.strokeStyle="#ff0":ctx.strokeStyle="#0f8",ctx.lineWidth=devicePixelRatio,ctx.stroke()})}),skills.value.forEach(a=>{const[s,r]=a.loc.map(d=>d*2-1),l=core.plugin.skillTree.getSkillLevel(a.index);ctx.save(),ctx.lineWidth=n*.06,selected.value===a.index?(ctx.strokeStyle="#ff0",ctx.lineWidth*=2):l===0?ctx.strokeStyle="#888":l===a.max?ctx.strokeStyle="#F7FF68":ctx.strokeStyle="#00FF69",ctx.strokeRect(s*n,r*n,n,n);const h=core.material.images.images[`skill${a.index}.png`];ctx.drawImage(h,s*n,r*n,n,n),selected.value===a.index&&(ctx.fillStyle="#ff04",ctx.fillRect(s*n,r*n,n,n)),ctx.restore()})}function click(t){const o=t.offsetX,n=t.offsetY,s=canvas.width/devicePixelRatio/11,r=Math.floor(o/s),l=Math.floor(n/s);if(r%2!==1||l%2!==1)return;const h=Math.floor(r/2)+1,d=Math.floor(l/2)+1,_=skills.value.find(u=>u.loc[0]===h&&u.loc[1]===d);_&&(selected.value!==_.index?selected.value=_.index:upgrade(_.index))}function upgrade(t){core.plugin.skillTree.upgradeSkill(t)?(tip$1("success","升级成功!"),update.value=!update.value,core.status.route.push(`skill:${selected.value}`)):tip$1("error","升级失败!")}function key(t){const o=keycode(t.keyCode);(o===KeyCode.Escape||o===KeyCode.KeyX||o===KeyCode.KeyJ)&&exit(),(o===KeyCode.Space||o===KeyCode.Enter||o===KeyCode.KeyC)&&upgrade(selected.value)}onMounted(async()=>{canvas=document.getElementById("skill-canvas"),ctx=canvas.getContext("2d"),resize(),draw(),await R(50),core.plugin.transition.value&&await R(600),canvas.addEventListener("click",click),document.addEventListener("keyup",key)}),onUnmounted(()=>{document.removeEventListener("keyup",key)});function selectChapter(t){const n=chapterList.indexOf(chapter.value)+t;has(chapterList[n])&&flags.chapter>n&&(selected.value=core.plugin.skills[chapterList[n]][0].index,chapter.value=chapterList[n],update.value=!update.value,flags.skillTree=n,draw())}return(t,o)=>{const n=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$f,[createBaseVNode("div",_hoisted_2$c,[createBaseVNode("span",{id:"back",class:"button-text tools",onClick:exit},[createVNode(unref(LeftOutlined)),createTextVNode("返回游戏")])]),createBaseVNode("span",_hoisted_3$b,toDisplayString(unref(skill).title),1),createVNode(n,{dashed:"",style:{"border-color":"#ddd4"},id:"divider"}),createBaseVNode("div",_hoisted_4$a,[createVNode(Scroll,{id:"skill-desc","no-scroll":!0},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:unref(desc)},null,8,_hoisted_5$9)]),_:1}),createBaseVNode("div",_hoisted_6$8,[unref(level)>0?(openBlock(),createElementBlock("span",{key:0,innerHTML:unref(effect)[0]},null,8,_hoisted_7$7)):createCommentVNode("",!0),unref(level)<unref(skill).max?(openBlock(),createElementBlock("span",{key:1,innerHTML:unref(effect)[1]},null,8,_hoisted_8$6)):createCommentVNode("",!0)])]),createVNode(n,{dashed:"",style:{"border-color":"#ddd4"},id:"divider-split"}),createBaseVNode("div",_hoisted_9$6,[_hoisted_10$6,createVNode(n,{dashed:"",style:{"border-color":"#ddd4"},type:unref(isMobile)?"horizontal":"vertical",id:"divider-vertical"},null,8,["type"]),createBaseVNode("div",_hoisted_11$6,[createBaseVNode("span",_hoisted_12$4,"当前等级:"+toDisplayString(unref(level))+" / "+toDisplayString(unref(skill).max),1),createVNode(n,{dashed:"",class:"upgrade-divider"}),unref(level)<unref(skill).max?(openBlock(),createElementBlock("span",{key:0,id:"skill-consume",style:normalizeStyle({color:unref(consume)<=mdef.value?"#fff":"#f44"})},"升级花费:"+toDisplayString(unref(consume)),5)):(openBlock(),createElementBlock("span",_hoisted_13$4,"已满级")),createVNode(n,{dashed:"",class:"upgrade-divider"}),createVNode(Scroll,{id:"front-scroll","no-scroll":!0},{default:withCtx(()=>[createBaseVNode("div",_hoisted_14$4,[_hoisted_15$3,(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(front),a=>(openBlock(),createElementBlock("span",{style:normalizeStyle({color:a.startsWith("a")?"#fff":"#f44"})},toDisplayString(a.slice(1)),5))),256))])]),_:1}),createVNode(n,{dashed:"",class:"upgrade-divider"}),createBaseVNode("div",_hoisted_16$3,[createBaseVNode("span",{class:"button-text",onClick:o[0]||(o[0]=a=>selectChapter(-1))},[createVNode(unref(LeftOutlined))]),createTextVNode("    "),createBaseVNode("span",null,toDisplayString(chapterDict[chapter.value]),1),createTextVNode("    "),createBaseVNode("span",{class:"button-text",onClick:o[1]||(o[1]=a=>selectChapter(1))},[createVNode(unref(RightOutlined))])])])])])}}}),skillTree_vue_vue_type_style_index_0_scoped_23358c33_lang="",SkillTree=_export_sfc(_sfc_main$f,[["__scopeId","data-v-23358c33"]]),index$1="";function init$c(){return{splitArea,getMapDrawData}}let area={};const bfsCache={},drawCache={},arrow={leftPortal:"left",rightPortal:"right",upPortal:"up",downPortal:"down"};function splitArea(){area={};const e=[];for(const t of core.floorIds){if(e.includes(t)||core.status.maps[t].deleted)continue;const o=getMapData(t,!0);if(e.push(...o.maps),o.maps.length>1){const n=core.status.maps[t].title;area[n]=o.maps}}}function getArea(){return area}function getMapDrawData(e,t=5,o=1,n=!1){var w;const a=`${e},${t},${o}`;if(drawCache[a]&&!n)return drawCache[a];const{link:s,maps:r}=getMapData(e,n),l={},h=[],d=core.status.maps[e];let _=-d.width/2,u=d.width/2,c=-d.height/2,f=d.height/2;for(const[g,y]of Object.entries(s)){const[k,$,U,N]=g.split(","),[M,b,S]=y.split(","),A=core.status.maps[k],T=core.status.maps[M],F=parseInt($),z=parseInt(U),ee=parseInt(b),ne=parseInt(S),E=A.width,Z=A.height,W=T.width,oe=T.height;(w=l[k])!=null||(l[k]=[0,0]);const[le,P]=l[k];if(!l[M]){const ce=core.utils.scan[N].x,_e=core.utils.scan[N].y,me=le+(F-E/2)-(ee-W/2)+(o*2+t)*ce,ue=P+(z-Z/2)-(ne-oe/2)+(o*2+t)*_e;l[M]=[me,ue]}const[L,J]=l[M];h.push([le+(F-E/2+.5),P+(z-Z/2+.5),L+(ee-W/2+.5),J+(ne-oe/2+.5)]);const te=L-W/2,se=L+W/2,re=J-oe/2,Q=J+oe/2;te<_&&(_=te),se>u&&(u=se),re<c&&(c=re),Q>f&&(f=Q)}Object.values(l).forEach(g=>{g[0]-=_,g[1]-=c}),h.forEach(g=>{g[0]-=_,g[2]-=_,g[1]-=c,g[3]-=c}),_-=5,u+=5,c-=5,f+=5;const m={locs:l,line:h,width:u-_,height:f-c};return drawCache[a]=m}function getMapData(e,t=!1){if(has(bfsCache[e])&&!t)return bfsCache[e];const o=[e],n={[e]:!0},a=[e],s={};for(;o.length>0;){const l=o.shift(),h=core.floors[l].changeFloor,d=core.getMapBlocksObj(l,t);for(const[_,u]of Object.entries(h)){const c=u.floorId;if(c.startsWith(":"))continue;const m=d[_].event.id;if(m in arrow&&!n[c]){const w=`${l},${_},${arrow[m]}`,g=`${c},${u.loc[0]},${u.loc[1]}`;s[w]=g,o.push(c),a.push(c)}}n[l]=!0}const r={maps:a,link:s};return bfsCache[e]=r}const _withScopeId$4=e=>(pushScopeId("data-v-daeed431"),e=e(),popScopeId(),e),_hoisted_1$e={id:"fly"},_hoisted_2$b={id:"tools"},_hoisted_3$a={id:"fly-settings"},_hoisted_4$9={id:"fly-border"},_hoisted_5$8=_withScopeId$4(()=>createBaseVNode("span",null,"无边框模式",-1)),_hoisted_6$7={key:0,id:"fly-tradition"},_hoisted_7$6=_withScopeId$4(()=>createBaseVNode("span",null,"传统按键模式",-1)),_hoisted_8$5={id:"fly-main"},_hoisted_9$5={id:"fly-left"},_hoisted_10$5={id:"area-list"},_hoisted_11$5=["selected","onClick"],_hoisted_12$3={id:"fly-right"},_hoisted_13$3={id:"fly-tools"},_hoisted_14$3={id:"fly-now"},_sfc_main$e=defineComponent({__name:"fly",setup(e){var ye;const t=getArea(),o=ref((ye=Object.keys(t).find(B=>t[B].includes(core.status.floorId)))!=null?ye:""),n=ref(core.status.floorId),a=ref(!0),s=ref(!1);let r=isMobile?1.5:3,l=0,h=0,d={},_={};a.value=core.getLocalStorage("noBorder",!0),s.value=core.getLocalStorage("flyTradition",!1);const u=computed(()=>core.status.maps[n.value]);watch(n,z),watch(o,B=>{var x;l=0,h=0,r=3,E=3,t[B]&&!t[B].includes(n.value)&&(n.value=(x=t[B].find(D=>D===core.status.floorId))!=null?x:t[B][0])}),watch(a,B=>{core.setLocalStorage("noBorder",B),d={},N()}),watch(s,B=>{core.setLocalStorage("flyTradition",B)});const c=document.createElement("canvas"),f=c.getContext("2d");let m,w,g,y,k=!1;function $(){core.plugin.flyOpened.value=!1}const U=computed(()=>core.status.maps[n.value].title);function N(B=!1){const x=a.value?.5:1,D=getMapDrawData(n.value,a.value?0:5,x,B),K=f,V=r*devicePixelRatio;c.width=D.width*V,c.height=D.height*V,K.lineWidth=x*devicePixelRatio/2,K.strokeStyle="#fff",K.scale(V,V),K.translate(5,5),a.value||D.line.forEach(([X,fe,de,ve])=>{K.beginPath(),K.moveTo(X,fe),K.lineTo(de,ve),K.stroke()});for(const[X,[fe,de]]of Object.entries(D.locs))a.value||M(X,fe,de),A(X,fe,de);b()}function M(B,x,D){const K=a.value?.5:1,V=f;V.lineWidth=K*devicePixelRatio;const X=core.status.maps[B];core.hasVisitedFloor(B)?V.fillStyle="#000":V.fillStyle="#d0d",B===n.value?V.strokeStyle="gold":V.strokeStyle="#fff",V.strokeRect(x-X.width/2,D-X.height/2,X.width,X.height),V.fillRect(x-X.width/2,D-X.height/2,X.width,X.height),B===n.value&&(V.fillStyle="#ff04",V.fillRect(x-X.width/2,D-X.height/2,X.width,X.height))}function b(B=1){w.clearRect(0,0,m.width,m.height),w.drawImage(c,0,0,c.width,c.height,l*devicePixelRatio+(m.width-c.width)/2,h*devicePixelRatio+(m.height-c.height)/2,c.width,c.height)}function S(B,x,D){const K=core.status.maps[B],V=r*devicePixelRatio,X=l*devicePixelRatio+(m.width-c.width)/2+5*V,fe=h*devicePixelRatio+(m.height-c.height)/2+5*V,de=X+(x-K.width/2)*V,ve=fe+(D-K.height/2)*V,ke=de+K.width*V,we=ve+K.height*V;return _[B]=[de,ve,ke,we],!(d[B]||!a.value&&r<=4||ke<0||we<0||de>m.width||ve>m.height)}function A(B,x,D,K=!1){if(!k&&!K&&!S(B,x,D))return;const V=core.status.maps[B];d[B]=!0;const X=f;core.drawThumbnail(B,void 0,{all:!0,inFlyMap:!0,x:x-V.width/2,y:D-V.height/2,w:V.width,h:V.height,ctx:X,damage:r>7}),k||(core.hasVisitedFloor(B)||(X.fillStyle="#d0d6",X.fillRect(x-V.width/2,D-V.height/2,V.width,V.height),X.fillStyle="#000"),n.value===B&&(X.fillStyle="#ff04",X.fillRect(x-V.width/2,D-V.height/2,V.width,V.height),X.fillStyle="#000"))}function T(){const B=a.value?.5:1,x=getMapDrawData(n.value,a.value?0:5,B);for(const[D,[K,V]]of Object.entries(x.locs))S(D,K,V)&&A(D,K,V,!0)}function F(){let B=g.width,x=g.height,D=0,K=0;const V=u.value.width/u.value.height;V>1&&(x=B/V,K=g.height/2-x/2),V<1&&(B=x*V,D=g.width/2-B/2),y.fillStyle="#000",y.fillRect(0,0,g.width,g.height),core.drawThumbnail(n.value,void 0,{ctx:y,all:!0,damage:!0,inFlyMap:!0,x:D,y:K,w:B,h:x})}function z(){d={},_={},N(),F()}function ee(){if(o.value===""){tip$1("error","当前地图不在任意一个区域内!");return}k=!0;const B=r;r=32,N(),downloadCanvasImage(c,o.value),r=B,k=!1,z(),tip$1("success","图片下载成功!")}function ne(){core.flyTo(n.value)?$():tip$1("error",`无法飞往${u.value.title}`)}let E=r;const Z=lodashExports.debounce(B=>{m.style.transform="",d={},N(),E=B},200);function W(B){l*=B,h*=B,r=B*r,Z(r),m.style.transform=`scale(${r/E})`,_={}}let oe=0,le=0,P=!1,L=0,J=0;function te(B,x){if(ue)return;const D=B-oe,K=x-le;l+=D,h+=K,oe=B,le=x,T(),b(),(Math.abs(B-L)>10||Math.abs(x-J)>10)&&(P=!0)}function se(B){if(P)return;const x=B.offsetX*devicePixelRatio,D=B.offsetY*devicePixelRatio;for(const[K,[V,X,fe,de]]of Object.entries(_))x>=V&&x<=fe&&D>=X&&D<=de&&(K===n.value?ne():n.value=K)}function re(B){o.value=Object.keys(t).find(x=>t[x].includes(B))}function Q(B){const x=core.floorIds.indexOf(n.value);let D=x+B;D<0&&(D=0),D>=core.floorIds.length&&(D=core.floorIds.length-1);const K=core.status.maps[core.floorIds[D]];if(K.deleted||K.forceDelete)for(;D!==x;){D+=Math.sign(B);const V=core.status.maps[core.floorIds[D]];if(!V.cannotViewMap&&(!V.deleted&&!V.forceDelete||D<0||D>=core.floorIds.length))break}n.value=core.floorIds[D],re(n.value),_e(n.value)}function ce(B){const x=getMapData(n.value);for(const[D,K]of Object.entries(x.link)){if(!D.startsWith(n.value))continue;if(D.split(",")[3]===B){const X=K.split(",")[0];_e(X),n.value=X;return}}}function _e(B){const x=getMapDrawData(B,a.value?0:5,a.value?.5:1);if(!x.locs[B])return;const[D,K]=x.locs[B];l=(-D+x.width/2-5)*r,h=(-K+x.height/2-5)*r}function me(B){const x=keycode(B.keyCode);(x===KeyCode.Enter||x===KeyCode.Space||x===KeyCode.KeyC)&&ne(),(x===KeyCode.Escape||x===KeyCode.KeyX||x===KeyCode.KeyG)&&$(),s.value?(x===KeyCode.UpArrow&&Q(1),x===KeyCode.DownArrow&&Q(-1),x===KeyCode.LeftArrow&&Q(-10),x===KeyCode.RightArrow&&Q(10),x===KeyCode.PageUp&&Q(10),x===KeyCode.PageDown&&Q(-10)):(x===KeyCode.LeftArrow&&ce("left"),x===KeyCode.RightArrow&&ce("right"),x===KeyCode.UpArrow&&ce("up"),x===KeyCode.DownArrow&&ce("down"),x===KeyCode.PageUp&&Q(1),x===KeyCode.PageDown&&Q(-1))}let ue=!1,ie=0;function pe(B){B.touches.length>=2&&(ue=!0,ie=Math.sqrt((B.touches[0].clientX-B.touches[1].clientX)**2+(B.touches[0].clientY-B.touches[1].clientY)**2))}function he(B){B.touches.length<2&&(ue=!1)}function ge(B){if(!ue)return;const x=Math.sqrt((B.touches[0].clientX-B.touches[1].clientX)**2+(B.touches[0].clientY-B.touches[1].clientY)**2);W(x/ie),ie=x}return onMounted(async()=>{m=document.getElementById("fly-map"),w=m.getContext("2d"),g=document.getElementById("fly-thumbnail"),y=g.getContext("2d");const B=getComputedStyle(m),x=getComputedStyle(g);m.width=parseFloat(B.width)*devicePixelRatio,m.height=parseFloat(B.height)*devicePixelRatio,g.width=parseFloat(x.width)*devicePixelRatio,g.height=parseFloat(x.width)*devicePixelRatio,Array.from(document.getElementsByClassName("fly-settings")).forEach(D=>{D.addEventListener("click",K=>D.blur())}),_e(n.value),z(),useDrag(m,te,(D,K)=>{oe=D,le=K,L=D,J=K},()=>{setTimeout(()=>{P=!1},50)},!0),useWheel(m,(D,K)=>{const V=-Math.sign(K)*.1+1;W(V)}),await R(50),core.plugin.transition.value&&await R(600),document.addEventListener("keyup",me),m.addEventListener("touchstart",pe),m.addEventListener("touchend",he),m.addEventListener("touchend",ge)}),onUnmounted(()=>{cancelGlobalDrag(te),document.removeEventListener("keyup",me)}),(B,x)=>{const D=__unplugin_components_0$2,K=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$e,[createBaseVNode("div",_hoisted_2$b,[createBaseVNode("span",{class:"button-text",onClick:$},[createVNode(unref(LeftOutlined)),createTextVNode(" 返回游戏")])]),createBaseVNode("div",_hoisted_3$a,[createBaseVNode("div",_hoisted_4$9,[_hoisted_5$8,createVNode(D,{class:"fly-settings",checked:a.value,"onUpdate:checked":x[0]||(x[0]=V=>a.value=V),"checked-children":"ON","un-checked-children":"OFF"},null,8,["checked"])]),unref(isMobile)?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_6$7,[_hoisted_7$6,createVNode(D,{class:"fly-settings",checked:s.value,"onUpdate:checked":x[1]||(x[1]=V=>s.value=V),"checked-children":"ON","un-checked-children":"OFF"},null,8,["checked"])])),unref(isMobile)?createCommentVNode("",!0):(openBlock(),createElementBlock("span",{key:1,class:"button-text",id:"fly-download",onClick:ee},"下载地图图片"))]),createBaseVNode("div",_hoisted_8$5,[createBaseVNode("div",_hoisted_9$5,[createVNode(Scroll,{id:"fly-area"},{default:withCtx(()=>[createBaseVNode("div",_hoisted_10$5,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(t),(V,X)=>(openBlock(),createElementBlock("span",{selected:o.value===X,class:"selectable",onClick:fe=>o.value=X},toDisplayString(X),9,_hoisted_11$5))),256))])]),_:1}),createVNode(K,{type:"vertical",dashed:"",id:"divider-left"}),createBaseVNode("div",{id:"fly-map-div"},[createBaseVNode("canvas",{id:"fly-map",onClick:se})])]),createVNode(K,{id:"divider-right",dashed:"",type:unref(isMobile)?"horizontal":"vertical"},null,8,["type"]),createBaseVNode("div",_hoisted_12$3,[createBaseVNode("canvas",{id:"fly-thumbnail",onClick:ne}),createBaseVNode("div",_hoisted_13$3,[createVNode(unref(DoubleLeftOutlined),{onClick:x[2]||(x[2]=V=>Q(-10)),class:"button-text"}),createVNode(unref(LeftOutlined),{onClick:x[3]||(x[3]=V=>Q(-1)),class:"button-text"}),createBaseVNode("span",_hoisted_14$3,toDisplayString(unref(U)),1),createVNode(unref(RightOutlined),{onClick:x[4]||(x[4]=V=>Q(1)),class:"button-text"}),createVNode(unref(DoubleRightOutlined),{onClick:x[5]||(x[5]=V=>Q(10)),class:"button-text"})])])])])}}}),fly_vue_vue_type_style_index_0_scoped_daeed431_lang="",Fly=_export_sfc(_sfc_main$e,[["__scopeId","data-v-daeed431"]]),showFixed=ref(!1);let lastId;const show=lodashExports.debounce(e=>{var r;if(!window.flags||!flags.mouseLoc)return;flags.clientLoc=[e.clientX,e.clientY];const[t,o]=getLocFromMouseLoc(...flags.mouseLoc),n=core.getBlockId(t,o);if(n!==lastId&&(showFixed.value=!1),!n||!((r=core.getClsFromId(n))!=null&&r.startsWith("enemy")))return;lastId=n;const a=core.material.enemys[n],s=getDetailedEnemy(a,t,o);core.plugin.bookDetailEnemy=s,showFixed.value=!0},200);function init$b(){const e=core.canvas.data.canvas;return e.addEventListener("mousemove",t=>{if(!core.isPlaying()||core.status.lockControl)return;const[o,n]=getLocFromMouseLoc(...flags.mouseLoc),a=core.getBlockId(o,n);a!==lastId&&(showFixed.value=!1),a&&show(t)}),e.addEventListener("mousedown",t=>{showFixed.value=!1}),{showFixed}}function getLocFromMouseLoc(e,t){const o=Math.round(e+core.bigmap.offsetX/32),n=Math.round(t+core.bigmap.offsetY/32);return[o,n]}function getDetailedEnemy(e,t,o,n=core.status.floorId){var m,w,g,y,k;const a=core.status.maps[n].ratio,s=Object.assign({},e,core.getEnemyInfo(e,void 0,t,o,n),(m=core.getDamageInfo(e,void 0,t,o,n))!=null?m:{}),r=core.nextCriticals(e,1,t,o,n),l=core.getDefDamage(e,a,t,o,n),h=core.getSpecialText(s);let d=lodashExports.cloneDeep(h);d.length>2&&(d=d.slice(0,2).concat(["..."]));const _=core.getSpecialColor(s);let u=lodashExports.cloneDeep(_);u.length>2&&(u=u.slice(0,2).concat(["#fff"])),d.length===0&&(d=["无属性"],u=["#fff"]);const c=getDamageColor(s.damage);return Object.assign(s,{critical:(g=(w=r[0])==null?void 0:w[0])!=null?g:"???",criticalDamage:(k=(y=r[0])==null?void 0:y[1])!=null?k:"???",defDamage:l,specialColor:_,specialText:h,toShowColor:u,toShowSpecial:d,damageColor:c})}const _hoisted_1$d={id:"fixed-detail"},_sfc_main$d=defineComponent({__name:"fixedDetail",setup(e){var h,d;const t=(h=core.plugin.fixedDetailPanel)!=null?h:"special";core.plugin.bookDetailPos=0;const[o,n]=flags.mouseLoc,a=Math.round(o+core.bigmap.offsetX/32),s=Math.round(n+core.bigmap.offsetY/32),r=core.getBlockId(a,s);if(r&&((d=core.getClsFromId(r))!=null&&d.startsWith("enemy"))){const _=core.material.enemys[r],u=getDetailedEnemy(_,a,s);core.plugin.bookDetailEnemy=u}else l();function l(){core.plugin.fixedDetailOpened.value=!1}return(_,u)=>(openBlock(),createElementBlock("div",_hoisted_1$d,[createVNode(BookDetail,{"from-book":!1,"default-panel":unref(t),onClose:l},null,8,["default-panel"])]))}}),fixedDetail_vue_vue_type_style_index_0_scoped_95b38cb5_lang="",FixedDetail=_export_sfc(_sfc_main$d,[["__scopeId","data-v-95b38cb5"]]),_withScopeId$3=e=>(pushScopeId("data-v-fe27afa9"),e=e(),popScopeId(),e),_hoisted_1$c={id:"shop"},_hoisted_2$a={id:"tools"},_hoisted_3$9={id:"item-name"},_hoisted_4$8={id:"item-info"},_hoisted_5$7=["innerHTML"],_hoisted_6$6={id:"shop-bottom"},_hoisted_7$5={id:"item-list"},_hoisted_8$4=["selected","onClick"],_hoisted_9$4={class:"item-icon"},_hoisted_10$4={id:"item-sell-info"},_hoisted_11$4={id:"shop-mode"},_hoisted_12$2=["active"],_hoisted_13$2=["active"],_hoisted_14$2=_withScopeId$3(()=>createBaseVNode("span",null,"买价",-1)),_hoisted_15$2=_withScopeId$3(()=>createBaseVNode("span",null,"卖价",-1)),_hoisted_16$2={class:"item-sell-info"},_hoisted_17$2=_withScopeId$3(()=>createBaseVNode("span",null,"存货",-1)),_hoisted_18$2={class:"item-sell-info"},_hoisted_19$2=_withScopeId$3(()=>createBaseVNode("span",null,"拥有",-1)),_hoisted_20$1={id:"sell-count"},_hoisted_21$1={id:"sell-count-select"},_hoisted_22$1={id:"fly-now"},_hoisted_23$1={id:"sell-confirm"},_hoisted_24$1=["danger"],_sfc_main$c=defineComponent({__name:"shop",setup(e){var M;const t=core.plugin.openedShopId,o=core.status.shops[core.plugin.openedShopId];if(!o.item)throw new TypeError("Wrong global shop type delivered in opening item shop.");(M=flags.itemShop)!=null||(flags.itemShop={});const n=flags,a=o.choices,s=ref(0),r=ref("buy"),l=core.material.items,h=core.itemCount,d=ref(0),_=ref(core.status.hero.money),u=ref(!1);let c=!1;watch(d,b=>{if(b<0&&(b=0),r.value==="buy")b>m.value&&(b=m.value);else{const S=h(f.value.id);b>S&&(b=S)}d.value=b});const f=computed(()=>a[s.value]),m=computed(()=>{var b,S;return u.value,f.value.number-((S=(b=flags.itemShop[t])==null?void 0:b[f.value.id])!=null?S:0)}),w=computed(()=>core.material.items[f.value.id]),g=computed(()=>{const b=w.value.text;return splitText([b.startsWith("!!html")?b.slice(6):b])}),y=computed(()=>d.value*parseInt(r.value==="buy"?f.value.money:f.value.sell));watch(m,b=>{b<d.value&&(d.value=b)});function k(){var S,A,T,F,z,ee,ne,E,Z,W;if(d.value===0)return;const b=core.status.hero.money;c=!0,r.value==="buy"?y.value<=b?(core.getItem(f.value.id,d.value),core.status.hero.money-=y.value,_.value-=y.value,(A=(S=flags.itemShop)[t])!=null||(S[t]={}),(z=(T=flags.itemShop[t])[F=f.value.id])!=null||(T[F]=0),flags.itemShop[t][f.value.id]+=d.value,tip$1("success",`成功购买${d.value}${w.value.name}`),core.status.route.push(`buy:${f.value.id}:${d.value}`)):tip$1("error","你的金币不够!"):(core.addItem(f.value.id,-d.value),core.status.hero.money+=y.value,_.value+=y.value,(ne=(ee=flags.itemShop)[t])!=null||(ee[t]={}),(W=(E=flags.itemShop[t])[Z=f.value.id])!=null||(E[Z]=0),flags.itemShop[t][f.value.id]-=d.value,tip$1("success",`成功卖出${d.value}${w.value.name}`),core.status.route.push(`sell:${f.value.id}:${d.value}`)),d.value=0,u.value=!u.value}function $(b){const S=keycode(b.keyCode);(S===KeyCode.KeyX||S===KeyCode.Escape||S===KeyCode.KeyV)&&N(),S===KeyCode.UpArrow&&s.value>=1&&s.value--,S===KeyCode.DownArrow&&s.value<=a.length-2&&s.value++,(S===KeyCode.KeyC||S===KeyCode.Space||S===KeyCode.Enter)&&k()}function U(b){const S=keycode(b.keyCode);S===KeyCode.LeftArrow&&d.value--,S===KeyCode.RightArrow&&d.value++}function N(){c&&core.status.route.push("closeShop"),core.plugin.shopOpened.value=!1}return onMounted(async()=>{await R(50),core.plugin.transition.value&&await R(600),document.addEventListener("keyup",$),document.addEventListener("keydown",U),core.status.route.push(`openShop:${t}`)}),onUnmounted(()=>{document.removeEventListener("keyup",$),document.removeEventListener("keydown",U)}),(b,S)=>{const A=__unplugin_components_0;return openBlock(),createElementBlock("div",_hoisted_1$c,[createBaseVNode("div",_hoisted_2$a,[createBaseVNode("span",{class:"button-text",onClick:N},[createVNode(unref(LeftOutlined)),createTextVNode(" 返回游戏")])]),createBaseVNode("span",_hoisted_3$9,toDisplayString(unref(w).name),1),createVNode(A,{dashed:"",style:{"border-color":"#ddd4"},id:"divider"}),createBaseVNode("div",_hoisted_4$8,[createVNode(Scroll,{id:"item-desc","no-scroll":!0},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:unref(g)},null,8,_hoisted_5$7)]),_:1})]),createVNode(A,{dashed:"",style:{"border-color":"#ddd4"},id:"divider-split"}),createBaseVNode("div",_hoisted_6$6,[createBaseVNode("div",_hoisted_7$5,[createVNode(Scroll,{style:{width:"100%",height:"100%"}},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(a),(T,F)=>{var z,ee;return openBlock(),createElementBlock("div",{class:"selectable item-one",selected:F===s.value,onClick:ne=>s.value=F},[createBaseVNode("div",_hoisted_9$4,[createVNode(_sfc_main$t,{id:T.id,noborder:!0},null,8,["id"]),createBaseVNode("span",null,toDisplayString(unref(l)[T.id].name),1)]),createBaseVNode("span",null,"× "+toDisplayString((r.value==="buy"?T.number-((ee=(z=unref(n).itemShop[unref(t)])==null?void 0:z[T.id])!=null?ee:0):unref(h)(T.id))+(u.value,0)),1)],8,_hoisted_8$4)}),256))]),_:1})]),createVNode(A,{dashed:"",style:{"border-color":"#ddd4"},type:unref(isMobile)?"horizontal":"vertical",id:"divider-vertical"},null,8,["type"]),createBaseVNode("div",_hoisted_10$4,[createBaseVNode("div",_hoisted_11$4,[createBaseVNode("span",{class:"button-text mode-button",active:r.value==="buy",onClick:S[0]||(S[0]=T=>r.value="buy")},"购买",8,_hoisted_12$2),createVNode(A,{dashed:"",type:"vertical",id:"divider-vertical",style:{"border-color":"#ddd4"}}),createBaseVNode("span",{class:"button-text mode-button",active:r.value==="sell",danger:"true",onClick:S[1]||(S[1]=T=>r.value="sell")},"售出",8,_hoisted_13$2)]),createVNode(A,{dashed:"",style:{"border-color":"#ddd4"},id:"divider-mode"}),createBaseVNode("div",{class:"item-sell-info",style:normalizeStyle({color:r.value==="buy"?_.value>=parseInt(unref(f).money)?"lightgreen":"lightcoral":"white"})},[_hoisted_14$2,createBaseVNode("span",null,toDisplayString(unref(f).money),1)],4),createBaseVNode("div",{class:"item-sell-info",style:normalizeStyle({color:r.value==="sell"?"lightcoral":"white"})},[_hoisted_15$2,createBaseVNode("span",null,toDisplayString(unref(f).sell),1)],4),createBaseVNode("div",_hoisted_16$2,[_hoisted_17$2,createBaseVNode("span",null,toDisplayString(unref(m)),1)]),createBaseVNode("div",_hoisted_18$2,[_hoisted_19$2,createBaseVNode("span",null,toDisplayString(unref(h)(unref(f).id)),1)]),createVNode(A,{dashed:"",style:{"border-color":"#ddd4"},id:"divider-mode"}),createBaseVNode("div",_hoisted_20$1,[createBaseVNode("span",null,toDisplayString(r.value==="buy"?"购买":"售出")+"数量",1),createBaseVNode("div",_hoisted_21$1,[createVNode(unref(DoubleLeftOutlined),{class:"button-text",onClick:S[2]||(S[2]=T=>d.value-=10)}),createVNode(unref(LeftOutlined),{class:"button-text",onClick:S[3]||(S[3]=T=>d.value--)}),createBaseVNode("span",_hoisted_22$1,toDisplayString(d.value),1),createVNode(unref(RightOutlined),{class:"button-text",onClick:S[4]||(S[4]=T=>d.value++)}),createVNode(unref(DoubleRightOutlined),{class:"button-text",onClick:S[5]||(S[5]=T=>d.value+=10)})])]),createVNode(A,{dashed:"",style:{"border-color":"#ddd4",margin:"2vh 0 2vh 0"}}),createBaseVNode("div",_hoisted_23$1,[createBaseVNode("span",{id:"sell-total",style:normalizeStyle({color:r.value==="buy"&&_.value>unref(y)?"lightgreen":"lightcoral"})},"总价:"+toDisplayString(d.value*parseInt(r.value==="buy"?unref(f).money:unref(f).sell)),5),createBaseVNode("span",{id:"sell-button",class:"button-text",danger:r.value==="sell","danger-display":"true",active:"true",onClick:k},"确认"+toDisplayString(r.value==="buy"?"购买":"售出"),9,_hoisted_24$1)])])])])}}}),shop_vue_vue_type_style_index_0_scoped_fe27afa9_lang="",Shop=_export_sfc(_sfc_main$c,[["__scopeId","data-v-fe27afa9"]]),index="",normal=[{name:"虚惊一场",text:["打完山洞门口的兽人后只剩一滴血"],point:30},{name:"真能刷",text:['勇气之路的刷血怪刷到 <span style="color: gold">15w</span> 以上的血'],point:30}],challenge=[{name:"逃出生天",text:["通过山路追逐战的困难难度"],point:20},{name:"冰与火之舞",text:["完成第二章音游特殊战的困难难度"],point:50}],explore=[{name:"勇气巅峰",text:["第一章完成度达到100%"],progress:"${core.getChapterCompletion(1)} / 100",percent:!0,point:50},{name:"你是怎么办到的?!",text:["与山路上的若干个神秘木牌对话"],progress:"${core.getLocalStorage('mountSign', 0)} / 5",hide:"该探索成就需要你自己探索如何达成",point:25},{name:"智慧之心",text:["第二章完成度达到100%"],progress:"${core.getChapterCompletion(2)} / 100",percent:!0,point:50},{name:"源头?",text:["在冰封雪原第一个山洞的水源处使用跳跃技能,并向前一步触发剧情"],hide:"该探索成就需要你自己探索如何达成",point:30},{name:"学坏了",text:["学习电摇嘲讽技能"],hide:"该探索成就需要你自己探索如何达成",point:20},{name:"满腹经纶",text:["把第二章中所有能学习的技能都学一遍"],hide:"该探索成就需要你自己探索如何达成",progress:"",point:50}],list={normal,challenge,explore};function init$a(){return{getChapterCompletion,checkVisitedFloor}}const floors={1:["MT0","tower7"]},achis={1:{normal:[0,1],challenge:[0],explore:[1]}},achiDict={1:0};function checkVisitedFloor(){changeLocalStorage("visitedFloor",e=>{let t=!1;return core.floorIds.forEach(o=>{core.hasVisitedFloor(o)&&(e[o]=!0,t=!0)}),t&&checkCompletionAchievement(),e},{})}function getChapterCompletion(e){if(!achis[e])return 0;let t=0;const o=floors[e],n=Object.values(achis[e]).reduce((u,c)=>u+c.length,0);let a=0;const s=core.getLocalStorage("visitedFloor",{});o.forEach(u=>{s[u]&&a++});const r=o.length/(o.length+n),l=r*a/o.length;let h=0,d=0;for(const[u,c]of Object.entries(achis[e]))c.forEach(f=>{d+=list[u][f].point,hasCompletedAchievement(u,f)&&(h+=list[u][f].point)});const _=h/d*(1-r);return t=l+_,Math.floor(t*100)}function checkCompletionAchievement(){[1].forEach(e=>{getChapterCompletion(e)>=100&&completeAchievement("explore",achiDict[e])})}function init$9(){return{completeAchievement,hasCompletedAchievement,addMountSign}}const showComplete=ref(!1),completeAchi=ref("explore,1"),totalPoint=Object.values(list).map(e=>e.reduce((t,o)=>o.point+t,0)).reduce((e,t)=>e+t);function completeAchievement(e,t){flags.debug||hasCompletedAchievement(e,t)||(changeLocalStorage("achievement",o=>(o[e][t]=!0,o),{normal:[],challenge:[],explore:[]}),e==="explore"&&!Object.values(achiDict).includes(t)&&checkCompletionAchievement(),completeAchi.value=`${e},${t}`,showComplete.value=!0)}function hasCompletedAchievement(e,t){var n;let o=core.getLocalStorage("achievement");if(!has(o)){const a={normal:[],challenge:[],explore:[]};o=a,core.setLocalStorage("achievement",a)}return(n=o[e][t])!=null?n:!1}function getNowPoint(){let e=0;for(const[t,o]of Object.entries(list))o.forEach((n,a)=>{hasCompletedAchievement(t,a)&&(e+=n.point)});return e}function addMountSign(e){flags.debug||!core.getLocalStorage(`mountSign_${e}`,!1)&&!hasCompletedAchievement("explore",1)&&(changeLocalStorage("mountSign",t=>{if(t+1>=5){completeAchievement("explore",1);for(const o of[1,2,3,4,5])core.removeLocalStorage(`mountSign_${o}`)}return t+1},0),core.setLocalStorage(`mountSign_${e}`,!0))}const _hoisted_1$b={id:"achievement"},_hoisted_2$9={id:"tools"},_hoisted_3$8={id:"column"},_hoisted_4$7={class:"achievement-column"},_hoisted_5$6=["active","onClick"],_hoisted_6$5={id:"list"},_hoisted_7$4={class:"achievement-one"},_hoisted_8$3={class:"list-div"},_hoisted_9$3={class:"list-one"},_hoisted_10$3=["complete"],_hoisted_11$3={class:"list-name"},_hoisted_12$1=["innerHTML"],_hoisted_13$1={class:"list-end"},_hoisted_14$1={class:"end-info"},_hoisted_15$1=["complete"],_hoisted_16$1={class:"point"},_hoisted_17$1={key:0,class:"list-progress"},_hoisted_18$1={id:"total-progress"},_hoisted_19$1={id:"point-number"},_sfc_main$b=defineComponent({__name:"achievement",setup(__props){const column=["normal","challenge","explore"],columnName={normal:"普通成就",challenge:"挑战成就",explore:"探索成就"},selectedColumn=ref("normal"),offset=computed(()=>column.indexOf(selectedColumn.value)*100),height=window.innerHeight,totalPoint=Object.values(list).map(e=>e.reduce((t,o)=>o.point+t,0)).reduce((e,t)=>e+t),nowPoint=getNowPoint();function getAllAchievements(type){return list[type].map((v,i)=>{const complete=hasCompletedAchievement(type,i),text=v.hide&&!complete?v.hide:v.text.join(""),res={text,name:v.name,point:v.point,complete};if(v.progress){const p=eval("`"+v.progress+"`");res.progress=p,res.percent=Math.floor(eval(p)*100),v.percent&&(res.usePercent=!0)}return res})}function exit(){try{core.closePanel()}catch(e){noClosePanel.value=!0}achievementOpened.value=!1}return(e,t)=>{const o=__unplugin_components_0,n=__unplugin_components_0$3;return openBlock(),createElementBlock("div",_hoisted_1$b,[createBaseVNode("div",_hoisted_2$9,[createBaseVNode("span",{id:"back",class:"button-text tools",onClick:exit},[createVNode(unref(LeftOutlined)),createTextVNode("返回游戏")])]),createBaseVNode("div",_hoisted_3$8,[(openBlock(),createElementBlock(Fragment,null,renderList(column,a=>createBaseVNode("div",_hoisted_4$7,[createBaseVNode("span",{class:"column-text button-text",active:selectedColumn.value===a,onClick:s=>selectedColumn.value=a},toDisplayString(columnName[a]),9,_hoisted_5$6)])),64))]),createVNode(o,{dashed:"",id:"divider"}),createBaseVNode("div",_hoisted_6$5,[createBaseVNode("div",{id:"achievement-list",style:normalizeStyle({left:`-${unref(offset)}%`})},[(openBlock(),createElementBlock(Fragment,null,renderList(column,a=>createBaseVNode("div",_hoisted_7$4,[createVNode(Scroll,{class:"list-scroll",width:unref(isMobile)?10:20},{default:withCtx(()=>[createBaseVNode("div",_hoisted_8$3,[(openBlock(!0),createElementBlock(Fragment,null,renderList(getAllAchievements(a),s=>(openBlock(),createElementBlock("div",_hoisted_9$3,[createBaseVNode("div",{class:"list-content",complete:s.complete},[createBaseVNode("span",_hoisted_11$3,toDisplayString(s.name),1),createBaseVNode("span",{class:"list-text",innerHTML:s.text},null,8,_hoisted_12$1),createBaseVNode("div",_hoisted_13$1,[createBaseVNode("div",_hoisted_14$1,[createBaseVNode("span",{class:"complete",complete:s.complete},"完成情况: "+toDisplayString(s.complete?"已完成":"未完成"),9,_hoisted_15$1),createBaseVNode("span",_hoisted_16$1,"成就点数: "+toDisplayString(s.point),1)]),s.progress?(openBlock(),createElementBlock("div",_hoisted_17$1,[createVNode(n,{percent:s.percent,strokeColor:{"0%":"#108ee9","100%":"#87d068"},strokeWidth:unref(height)/150,format:()=>s.usePercent?`${s.percent}%`:s.progress},null,8,["percent","strokeWidth","format"])])):createCommentVNode("",!0)])],8,_hoisted_10$3),createVNode(o,{id:"divider",dashed:""})]))),256))])]),_:2},1032,["width"])])),64))],4)]),createBaseVNode("div",_hoisted_18$1,[createVNode(n,{id:"point-progress",percent:unref(nowPoint)/unref(totalPoint)*100,strokeColor:{"0%":"#108ee9","100%":"#87d068"},strokeWidth:unref(height)/150,showInfo:!1},null,8,["percent","strokeWidth"]),createBaseVNode("span",_hoisted_19$1,"成就点: "+toDisplayString(unref(nowPoint))+" / "+toDisplayString(unref(totalPoint)),1)])])}}}),achievement_vue_vue_type_style_index_0_scoped_49345ec1_lang="",Achievement=_export_sfc(_sfc_main$b,[["__scopeId","data-v-49345ec1"]]),bgm={"title.mp3":{area:"标题",name:"川井宪次 - 破裂足音",from:"《永远的七日之都》",img:"/project/images/bg.jpg",desc:[]},"cave.mp3":{area:"山洞",name:"Faodail - Wren",img:"",desc:[]},"grass.mp3":{area:"草地",name:"大树 & 朱晨阳 - 大树与鹿",img:"",desc:[]},"mount.mp3":{area:"山路",name:"Epistra - Dream Of A Dream",img:"",desc:[]},"escape.mp3":{area:"山路追逐",name:"Gareth Coker - Escaping a Foul Presence",from:"《奥日与精灵意志》",img:"",desc:[]},"plot1.mp3":{area:"勇气之路",name:"Mark Petrie & Danny McCarthy - Rags To Rings",img:"",desc:[]},"tower.mp3":{area:"智慧之塔",name:"Falcom Sound Team J.D.K. - A Light Illuminating The Depth",from:"《英雄传说:零之轨迹》",img:"",desc:[]},"beforeBoss.mp3":{area:"战前独白",name:"Evan LE NY - Some Calm",from:"《太空化学》",img:"",desc:[]}},_hoisted_1$a={id:"bgm-list"},_hoisted_2$8=["selected","onClick"],_hoisted_3$7={id:"bgm-name"},_hoisted_4$6=["src"],_hoisted_5$5={key:0},_hoisted_6$4=["innerHTML"],_sfc_main$a=defineComponent({__name:"bgmList",setup(__props){const list=bgm,selected=ref("title.mp3"),content=computed(()=>eval("`"+splitText(list[selected.value].desc)+"`")),name=computed(()=>list[selected.value].name);function exit(){core.plugin.bgmOpened.value=!1}function select(e){selected.value=e}return(e,t)=>(openBlock(),createBlock(Colomn,{onClose:exit,width:60,height:80,left:30,right:70},{left:withCtx(()=>[createBaseVNode("div",_hoisted_1$a,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(list),(o,n)=>(openBlock(),createElementBlock("span",{class:"selectable",selected:selected.value===n,onClick:a=>select(n)},toDisplayString(o.area),9,_hoisted_2$8))),256))])]),right:withCtx(()=>[createBaseVNode("div",null,[createBaseVNode("div",_hoisted_3$7,[createBaseVNode("img",{id:"bgm-image",src:unref(list)[selected.value].img},null,8,_hoisted_4$6),createBaseVNode("span",null,toDisplayString(unref(name)),1),unref(list)[selected.value].from?(openBlock(),createElementBlock("span",_hoisted_5$5,"出自    "+toDisplayString(unref(list)[selected.value].from),1)):createCommentVNode("",!0)]),createBaseVNode("span",{innerHTML:unref(content)},null,8,_hoisted_6$4)])]),_:1}))}}),bgmList_vue_vue_type_style_index_0_scoped_8a4e2676_lang="",Bgm=_export_sfc(_sfc_main$a,[["__scopeId","data-v-8a4e2676"]]),bookOpened=ref(!1),toolOpened=ref(!1),equipOpened=ref(!1),showStatusBar=ref(!1),settingsOpened=ref(!1),descOpened=ref(!1),skillOpened=ref(!1),skillTreeOpened=ref(!1),flyOpened=ref(!1),showStudiedSkill=ref(!1),fixedDetailOpened=ref(!1),shopOpened=ref(!1),startOpened=ref(!1),achievementOpened=ref(!1),bgmOpened=ref(!1),transition=ref(!0),noClosePanel=ref(!1),loaded=ref(!1),startAnimationEnded=ref(!1);watch(loaded,e=>{e&&startAnimationEnded.value&&(startOpened.value=!0)});watch(startAnimationEnded,e=>{e&&loaded.value&&(startOpened.value=!0)});let app;const UI_LIST=[[bookOpened,Book],[toolOpened,Toolbox],[equipOpened,Equipbox],[settingsOpened,Settings],[descOpened,Desc],[skillOpened,Skill],[skillTreeOpened,SkillTree],[flyOpened,Fly],[fixedDetailOpened,FixedDetail],[shopOpened,Shop],[achievementOpened,Achievement],[bgmOpened,Bgm]],uiStack=shallowReactive([]);function init$8(){return app=document.getElementById("root"),UI_LIST.forEach(([e,t])=>{watch(e,o=>{if(o===!0)uiStack.push(markRaw(t)),showApp();else{const n=uiStack.findIndex(a=>a===t);if(n===-1)return;uiStack.length===1?hideApp(n):uiStack.splice(n,1)}})}),{uiStack,transition,bookOpened,toolOpened,equipOpened,showStatusBar,settingsOpened,descOpened,skillOpened,skillTreeOpened,flyOpened,showStudiedSkill,fixedDetailOpened,shopOpened,startOpened,startAnimationEnded,loaded,achievementOpened,bgmOpened}}async function showApp(){core.lockControl(),transition.value?app.style.transition="all 0.6s linear":app.style.transition="none",app.style.display="flex",await R(50),app.style.opacity="1"}async function hideApp(e){transition.value?(app.style.transition="all 0.6s linear",app.style.opacity="0",await R(600)):(app.style.transition="",app.style.opacity="0"),uiStack.splice(e,1),app.style.display="none",noClosePanel.value||core.closePanel(),noClosePanel.value=!1}const _hoisted_1$9={id:"ui"},_sfc_main$9=defineComponent({__name:"App",setup(e){return(t,o)=>(openBlock(),createElementBlock("div",_hoisted_1$9,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(uiStack),n=>(openBlock(),createBlock(resolveDynamicComponent(n)))),256))]))}}),App_vue_vue_type_style_index_0_scoped_9668aeb3_lang="",App=_export_sfc(_sfc_main$9,[["__scopeId","data-v-9668aeb3"]]),chapterShowed=ref(!1),chapterContent=ref("");function init$7(){return{chapterShowed,chapterContent}}const _hoisted_1$8=["id"],_hoisted_2$7=["id"],_hoisted_3$6=["id","selected"],_hoisted_4$5=["id","selected","selectable"],_hoisted_5$4=["id","selected","selectable"],_hoisted_6$3=["id","selected","selectable"],_hoisted_7$3=["id","selected","selectable"],_sfc_main$8=defineComponent({__name:"box",props:{dragable:{type:Boolean},resizable:{type:Boolean},left:null,top:null,width:null,height:null},emits:["update:left","update:top","update:width","update:height"],setup(e,{emit:t}){const o=e,n=(1e8*Math.random()).toFixed(0),a=ref(!1);let s=0,r,l,h,d,_,u;const c=ref(isMobile?window.innerWidth-100:window.innerWidth*.175),f=ref(isMobile?250:window.innerHeight-100),m=ref(isMobile?30:50),w=ref(isMobile?30:50);watch(m,F=>t("update:left",F)),watch(w,F=>t("update:top",F)),watch(c,F=>t("update:width",F)),watch(f,F=>t("update:height",F));async function g(){a.value=!0,s=window.setTimeout(()=>{a.value=!1},4e3)}let y=0,k=0;function $(F,z){const ee=getComputedStyle(r),ne=parseFloat(ee.left),E=parseFloat(ee.top);m.value=ne+F-y,w.value=E+z-k,r.style.left=`${m.value}px`,r.style.top=`${w.value}px`,a.value=!0,clearTimeout(s),y=F,k=z}let U=m.value+c.value;function N(F,z){r.style.left=`${F}px`,c.value=U-F,m.value=F,r.style.width=`${c.value}px`}let M=w.value+f.value;function b(F,z){r.style.top=`${z}px`,f.value=M-z,w.value=z,r.style.height=`${f.value}px`}function S(F,z){const ee=getComputedStyle(r);c.value=F-parseFloat(ee.left),r.style.width=`${c.value}px`}function A(F,z){const ee=getComputedStyle(r);f.value=z-parseFloat(ee.top),r.style.height=`${f.value}px`}function T(){r=document.getElementById(`box-${n}`),l=document.getElementById(`border-left-${n}`),d=document.getElementById(`border-top-${n}`),h=document.getElementById(`border-right-${n}`),_=document.getElementById(`border-bottom-${n}`),u=document.getElementById(`box-drag-${n}`),r&&(has(o.left)&&(m.value=o.left),has(o.top)&&(w.value=o.top),has(o.width)&&(c.value=o.width),has(o.height)&&(f.value=o.height),r.style.left=`${m.value}px`,r.style.top=`${w.value}px`,r.style.width=`${c.value}px`,r.style.height=`${f.value}px`)}return onUpdated(T),onMounted(async()=>{await R(50),T(),r&&(o.dragable&&useDrag(u,$,(F,z)=>{y=F,k=z},()=>{a.value=!1},!0),o.resizable&&(useDrag(l,N,(F,z)=>{U=m.value+c.value},void 0,!0),useDrag(d,b,(F,z)=>{M=w.value+f.value},void 0,!0),useDrag(h,S,void 0,void 0,!0),useDrag(_,A,void 0,void 0,!0)))}),onUnmounted(()=>{o.dragable&&cancelGlobalDrag($),o.resizable&&(cancelGlobalDrag(N),cancelGlobalDrag(b),cancelGlobalDrag(S),cancelGlobalDrag(A))}),(F,z)=>(openBlock(),createElementBlock("div",{id:`box-${unref(n)}`,class:"box"},[createBaseVNode("div",{id:`box-main-${unref(n)}`,class:"box-main",onClick:g},[renderSlot(F.$slots,"default",{},void 0,!0)],8,_hoisted_2$7),e.dragable?(openBlock(),createElementBlock("div",{key:0,id:`box-move-${unref(n)}`,class:"box-move",selected:a.value},[createVNode(unref(DragOutlined),{id:`box-drag-${unref(n)}`,class:"box-drag",style:{right:"0",bottom:"0",position:"absolute"}},null,8,["id"])],8,_hoisted_3$6)):createCommentVNode("",!0),createBaseVNode("div",{class:"border border-vertical border-left",id:`border-left-${unref(n)}`,selected:a.value&&e.resizable,selectable:e.resizable},null,8,_hoisted_4$5),createBaseVNode("div",{class:"border border-horizontal border-top",id:`border-top-${unref(n)}`,selected:a.value&&e.resizable,selectable:e.resizable},null,8,_hoisted_5$4),createBaseVNode("div",{class:"border border-vertical border-right",id:`border-right-${unref(n)}`,selected:a.value&&e.resizable,selectable:e.resizable},null,8,_hoisted_6$3),createBaseVNode("div",{class:"border border-horizontal border-bottom",id:`border-bottom-${unref(n)}`,selected:a.value&&e.resizable,selectable:e.resizable},null,8,_hoisted_7$3)],8,_hoisted_1$8))}}),box_vue_vue_type_style_index_0_scoped_edc283f6_lang="",Box=_export_sfc(_sfc_main$8,[["__scopeId","data-v-edc283f6"]]),_hoisted_1$7={id:"marked-enemy"},_hoisted_2$6={class:"marked-main"},_hoisted_3$5={class:"marked-info"},_hoisted_4$4={class:"marked-name marked-item"},_hoisted_5$3={class:"marked-damage marked-item"},_hoisted_6$2={class:"marked-critical marked-item"},_hoisted_7$2={class:"marked-critical-damage marked-item"},_hoisted_8$2={class:"marked-def marked-item"},_hoisted_9$2={class:"marked-button"},_hoisted_10$2=["onClick"],_hoisted_11$2=["onClick"],_sfc_main$7=defineComponent({__name:"markedEnemy",setup(e){var _,u;const t=(u=(_=core.status.thisMap)==null?void 0:_.ratio)!=null?u:1;let o=getMarkedEnemy();watch(checkMarkedStatus,a);const n=reactive({});function a(){o.push(...o.splice(0,o.length));for(const c in n)o.includes(c)||delete n[c]}function s(c){return has(n[c])||(n[c]={left:window.innerWidth-300,top:100,width:200,height:150,hidden:!1}),n[c]}function r(c){return core.material.enemys[c].name}function l(c){var f,m;return(m=core.formatBigNumber((f=core.getDamageInfo(c,void 0,void 0,void 0,"empty"))==null?void 0:f.damage))!=null?m:"???"}function h(c){var f,m;return(m=(f=core.nextCriticals(c,1,void 0,void 0,"empty")[0])==null?void 0:f.map(w=>core.formatBigNumber(w)))!=null?m:[0,0]}function d(c){return core.formatBigNumber(core.getDefDamage(c,t,void 0,void 0,"empty"))}return(c,f)=>(openBlock(),createElementBlock("div",_hoisted_1$7,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(o),m=>(openBlock(),createElementBlock("div",null,[s(m).hidden?createCommentVNode("",!0):(openBlock(),createBlock(Box,{key:m,left:s(m).left,"onUpdate:left":w=>s(m).left=w,top:s(m).top,"onUpdate:top":w=>s(m).top=w,width:s(m).width,"onUpdate:width":w=>s(m).width=w,height:s(m).height,"onUpdate:height":w=>s(m).height=w,resizable:!0,dragable:!0},{default:withCtx(()=>[createVNode(Scroll,{class:"box-scroll","no-scroll":!0},{default:withCtx(()=>[createBaseVNode("div",_hoisted_2$6,[createBaseVNode("div",_hoisted_3$5,[createVNode(_sfc_main$t,{id:m,width:24,height:24},null,8,["id"]),createBaseVNode("span",_hoisted_4$4,toDisplayString(r(m)),1)]),createBaseVNode("span",_hoisted_5$3,"伤害:"+toDisplayString(l(m)),1),createBaseVNode("span",_hoisted_6$2,"临界:"+toDisplayString(h(m)[0]),1),createBaseVNode("span",_hoisted_7$2,"减伤:"+toDisplayString(h(m)[1]),1),createBaseVNode("span",_hoisted_8$2,toDisplayString(unref(t))+"防:"+toDisplayString(d(m)),1),createBaseVNode("div",_hoisted_9$2,[createBaseVNode("span",{class:"marked-hide button-text",onClick:withModifiers(w=>s(m).hidden=!0,["stop"])},"隐藏盒子",8,_hoisted_10$2),createBaseVNode("span",{class:"marked-cancel button-text",onClick:withModifiers(w=>unref(unmarkEnemy)(m),["stop"])},"取消标记",8,_hoisted_11$2)])])]),_:2},1024)]),_:2},1032,["left","onUpdate:left","top","onUpdate:top","width","onUpdate:width","height","onUpdate:height"]))]))),256))]))}}),markedEnemy_vue_vue_type_style_index_0_scoped_b674387d_lang="",MarkedEnemy=_export_sfc(_sfc_main$7,[["__scopeId","data-v-b674387d"]]),_imports_0$1="/HumanBreak/project/images/skill.png",_imports_1="/HumanBreak/project/images/hp.png",_imports_2="/HumanBreak/project/images/atk.png",_imports_3="/HumanBreak/project/images/def.png",_imports_4="/HumanBreak/project/images/IQ.png",_imports_5="/HumanBreak/project/images/money.png",_imports_6="/HumanBreak/project/images/exp.png",status=ref(!1);function init$6(){return{statusBarStatus:status}}const _withScopeId$2=e=>(pushScopeId("data-v-2a5d7a7a"),e=e(),popScopeId(),e),_hoisted_1$6={id:"status-bar"},_hoisted_2$5={id:"status-div"},_hoisted_3$4=["onClick"],_hoisted_4$3={id:"status-lv"},_hoisted_5$2={id:"status-skill",class:"status-item"},_hoisted_6$1=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_0$1,class:"status-icon"},null,-1)),_hoisted_7$1={key:0,id:"status-spring",class:"status-extra"},_hoisted_8$1={id:"status-hp",class:"status-item"},_hoisted_9$1=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_1,class:"status-icon"},null,-1)),_hoisted_10$1={class:"status-item-bold"},_hoisted_11$1={id:"status-hpmax",class:"status-extra status-item-bold"},_hoisted_12={key:0,id:"status-jump",class:"status-extra"},_hoisted_13={id:"status-atk",class:"status-item"},_hoisted_14=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_2,class:"status-icon"},null,-1)),_hoisted_15={class:"status-item-bold"},_hoisted_16={id:"status-mana",class:"status-extra status-item-bold"},_hoisted_17={id:"status-def",class:"status-item status-item-bold"},_hoisted_18=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_3,class:"status-icon"},null,-1)),_hoisted_19={id:"status-mdef",class:"status-item status-item-bold"},_hoisted_20=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_4,class:"status-icon"},null,-1)),_hoisted_21={id:"status-money",class:"status-item status-item-bold"},_hoisted_22=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_5,class:"status-icon"},null,-1)),_hoisted_23={id:"status-exp",class:"status-item status-item-bold"},_hoisted_24=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_6,class:"status-icon"},null,-1)),_hoisted_25={id:"status-key",class:"status-item status-item-bold"},_hoisted_26={style:{color:"#fca","padding-left":"10%"}},_hoisted_27={style:{color:"#aad"}},_hoisted_28={style:{color:"#f88","padding-right":"10%"}},_hoisted_29={key:0,class:"status-item"},_hoisted_30=["onClick"],_hoisted_31={key:1,class:"status-item"},_hoisted_32=["onClick"],_hoisted_33={key:2,class:"status-item"},_hoisted_34=["onClick"],_sfc_main$6=defineComponent({__name:"statusBar",setup(e){const t=ref(isMobile?window.innerWidth-60:window.innerWidth*.175),o=ref(isMobile?250:window.innerHeight-100),n=ref(!1),a=core.formatBigNumber;watch(t,N=>n.value=!n.value),watch(o,N=>n.value=!n.value);const s=shallowReactive({}),r=shallowReactive([]),l=ref(),h=ref(),d=ref(flags.autoSkill?"自动切换":"无"),_=ref(0),u=ref(),c=ref(core.getFlag("chapter",0)>0),f=ref(core.plugin.skillTree.getSkillLevel(11)>0),m=ref(),w=["hp","atk","def","mdef","hpmax","mana","money","exp","lv"];watch(status,g);function g(){var N,M,b;w.forEach(S=>{s[S]=core.getRealStatus(S)}),r[0]=core.itemCount("yellowKey"),r[1]=core.itemCount("blueKey"),r[2]=core.itemCount("redKey"),l.value=(N=core.status.thisMap)==null?void 0:N.title,h.value=core.getLvName(s.lv),flags.autoSkill?d.value="自动切换":flags.blade&&flags.bladeOn?d.value="断灭之刃":flags.shield&&flags.shieldOn?d.value="铸剑为盾":d.value="无",_.value=(M=core.getNextLvUpNeed())!=null?M:0,core.hasFlag("spring")?u.value=50-flags.springCount:u.value=void 0,c.value=core.getFlag("chapter",0)>0,f.value=core.plugin.skillTree.getSkillLevel(11)>0,m.value=flags.skill2&&!core.plugin.skillEffects.jumpIgnoreFloor.includes(core.status.floorId)?3-((b=flags[`jump_${core.status.floorId}`])!=null?b:0):void 0}function y(){core.useItem("skill1")}function k(){core.useItem("cross")}function $(){core.ui._drawViewMaps()}function U(){}return onMounted(()=>{g()}),(N,M)=>(openBlock(),createElementBlock("div",_hoisted_1$6,[createVNode(Box,{resizable:!0,dragable:!0,width:t.value,"onUpdate:width":M[1]||(M[1]=b=>t.value=b),height:o.value,"onUpdate:height":M[2]||(M[2]=b=>o.value=b)},{default:withCtx(()=>[createVNode(Scroll,{id:"status-main",update:n.value,"onUpdate:update":M[0]||(M[0]=b=>n.value=b),"no-scroll":!0},{default:withCtx(()=>{var b,S,A;return[createBaseVNode("div",_hoisted_2$5,[createBaseVNode("span",{id:"status-floor",onClick:withModifiers($,["stop"]),class:"button-text"},toDisplayString(l.value),9,_hoisted_3$4),createBaseVNode("span",_hoisted_4$3,toDisplayString(h.value),1),createBaseVNode("div",_hoisted_5$2,[_hoisted_6$1,createBaseVNode("span",null,toDisplayString(d.value),1),unref(has)(u.value)?(openBlock(),createElementBlock("span",_hoisted_7$1,"剩余"+toDisplayString(u.value),1)):createCommentVNode("",!0)]),createBaseVNode("div",_hoisted_8$1,[_hoisted_9$1,createBaseVNode("span",_hoisted_10$1,toDisplayString(unref(a)(unref(s).hp)),1),createBaseVNode("span",_hoisted_11$1,"+"+toDisplayString(unref(a)(unref(s).hpmax))+"/t",1),unref(has)(m.value)?(openBlock(),createElementBlock("span",_hoisted_12,"跳跃剩余"+toDisplayString(m.value),1)):createCommentVNode("",!0)]),createBaseVNode("div",_hoisted_13,[_hoisted_14,createBaseVNode("span",_hoisted_15,toDisplayString(unref(a)(unref(s).atk)),1),createBaseVNode("span",_hoisted_16,"+"+toDisplayString(unref(a)(unref(s).mana)),1)]),createBaseVNode("div",_hoisted_17,[_hoisted_18,createBaseVNode("span",null,toDisplayString(unref(a)(unref(s).def)),1)]),createBaseVNode("div",_hoisted_19,[_hoisted_20,createBaseVNode("span",null,toDisplayString(unref(a)(unref(s).mdef)),1)]),createBaseVNode("div",_hoisted_21,[_hoisted_22,createBaseVNode("span",null,toDisplayString(unref(a)(unref(s).money)),1)]),createBaseVNode("div",_hoisted_23,[_hoisted_24,createBaseVNode("span",null,toDisplayString(unref(a)(_.value)),1)]),createBaseVNode("div",_hoisted_25,[createBaseVNode("span",_hoisted_26,toDisplayString((b=unref(r)[0])==null?void 0:b.toString().padStart(2,"0")),1),createBaseVNode("span",_hoisted_27,toDisplayString((S=unref(r)[1])==null?void 0:S.toString().padStart(2,"0")),1),createBaseVNode("span",_hoisted_28,toDisplayString((A=unref(r)[2])==null?void 0:A.toString().padStart(2,"0")),1)]),c.value?(openBlock(),createElementBlock("div",_hoisted_29,[createBaseVNode("span",{id:"skill-tree",class:"button-text",onClick:withModifiers(y,["stop"])},"技能树",8,_hoisted_30)])):createCommentVNode("",!0),c.value?(openBlock(),createElementBlock("div",_hoisted_31,[createBaseVNode("span",{id:"status-skill",class:"button-text",onClick:withModifiers(k,["stop"])},"查看技能",8,_hoisted_32)])):createCommentVNode("",!0),f.value?(openBlock(),createElementBlock("div",_hoisted_33,[createBaseVNode("span",{id:"status-study",class:"button-text",onClick:withModifiers(U,["stop"])},"学习",8,_hoisted_34)])):createCommentVNode("",!0)])]}),_:1},8,["update"])]),_:1},8,["width","height"])]))}}),statusBar_vue_vue_type_style_index_0_scoped_2a5d7a7a_lang="",StatusBar=_export_sfc(_sfc_main$6,[["__scopeId","data-v-2a5d7a7a"]]),_withScopeId$1=e=>(pushScopeId("data-v-520239e9"),e=e(),popScopeId(),e),_hoisted_1$5={id:"chapter"},_hoisted_2$4=_withScopeId$1(()=>createBaseVNode("canvas",{id:"chapter-back"},null,-1)),_hoisted_3$3={id:"chapter-text"},_sfc_main$5=defineComponent({__name:"chapter",props:{chapter:null},setup(e){const t=e;let o,n,a;return onMounted(async()=>{o=document.getElementById("chapter-back"),n=o.getContext("2d"),a=document.getElementById("chapter-text");const s=new Y,r=window.innerWidth*devicePixelRatio,l=window.innerHeight*devicePixelRatio;n.font="5vh scroll";const h=n.measureText(t.chapter).width,d=l*.05;s.register("rect",0),s.register("line",-10),s.register("lineOpacity",1),s.register("rect2",l/2),s.register("text",window.innerWidth+10+h),o.width=r,o.height=l,o.style.width=`${window.innerWidth}px`,o.style.height=`${window.innerHeight}px`,a.style.left=`${r+10}px`,a.style.width=`${h}px`;let _=!1,u=!1;s.ticker.add(c=>{if(!(!has(c)||isNaN(c))){if(!u){u=!0;return}c>=4050&&(chapterShowed.value=!1,s.ticker.destroy()),!_&&c>=1500&&(_=!0,core.playSound("chapter.mp3")),n.restore(),n.save(),a.style.left=`${s.value.text}px`,n.fillStyle="#000",n.clearRect(0,0,r,l),c<=2e3?(n.fillRect(0,l/2,r,-s.value.rect),n.fillRect(0,l/2,r,s.value.rect)):c>=2e3&&c<=3050&&(n.fillRect(0,0,r,s.value.rect2),n.fillRect(0,l,r,-s.value.rect2)),n.shadowColor="#fff",n.shadowBlur=3,n.shadowOffsetX=0,n.shadowOffsetY=0,n.lineWidth=3,n.strokeStyle="#fff",n.fillStyle="#fff",n.globalAlpha=s.value.lineOpacity,n.beginPath(),n.moveTo(0,l/2-d),n.lineTo(s.value.line,l/2-d),n.stroke(),n.beginPath(),n.moveTo(r,l/2+d),n.lineTo(r-s.value.line,l/2+d),n.stroke(),n.shadowBlur=0,n.filter="blur(5px)",n.beginPath(),n.arc(s.value.line,l/2-d,10,0,Math.PI*2),n.fill(),n.beginPath(),n.arc(r-s.value.line,l/2+d,10,0,Math.PI*2),n.fill()}}),s.mode(G("tan","center")).time(3e3).absolute().apply("line",r+10).mode(G("sin","out")).time(1e3).apply("rect",l/2).mode(G("tan","center")).time(3e3).apply("text",-h*2-10),await R(2e3),s.mode(G("sin","in")).time(1e3).apply("rect2",0),await R(1e3),s.mode(G("sin","out")).time(1e3).apply("lineOpacity",0)}),(s,r)=>(openBlock(),createElementBlock("div",_hoisted_1$5,[_hoisted_2$4,createBaseVNode("span",_hoisted_3$3,toDisplayString(e.chapter),1)]))}}),chapter_vue_vue_type_style_index_0_scoped_520239e9_lang="",Chapter=_export_sfc(_sfc_main$5,[["__scopeId","data-v-520239e9"]]),_hoisted_1$4={id:"studied"},_hoisted_2$3={id:"studied-main"},_hoisted_3$2={id:"studied-rough"},_hoisted_4$2={key:0,id:"studied-detail"},_sfc_main$4=defineComponent({__name:"studied",setup(e){watch(status,c=>{});let t;const o=ref(200),n=ref(0),a=ref(window.innerWidth-300),s=ref(window.innerHeight-300),r=reactive([]),l=computed(()=>{var c,f;return status.value,(f=(c=core.status.hero.special)==null?void 0:c.num)!=null?f:[]}),h=computed(()=>{var c,f;return status.value,(f=(c=core.status.hero.special)==null?void 0:c.last)!=null?f:[]}),d=computed(()=>{const c=core.getSpecials();return l.value.map(f=>{const m=c[f-1][1];return m instanceof Function?m(core.status.hero.special):m})});function _(c){const m=core.getSpecials()[c-1][2];return m instanceof Function?m(core.status.hero.special):m}async function u(){await new Promise(c=>{requestAnimationFrame(()=>{const f=getComputedStyle(t);n.value=parseFloat(f.height),c()})})}return onUpdated(()=>{u()}),onMounted(()=>{t=document.getElementById("studied-main"),u()}),(c,f)=>(openBlock(),createElementBlock("div",_hoisted_1$4,[createVNode(Box,{resizable:!0,dragable:!0,width:o.value,"onUpdate:width":f[0]||(f[0]=m=>o.value=m),height:n.value,"onUpdate:height":f[1]||(f[1]=m=>n.value=m),left:a.value,"onUpdate:left":f[2]||(f[2]=m=>a.value=m),top:s.value,"onUpdate:top":f[3]||(f[3]=m=>s.value=m)},{default:withCtx(()=>[createVNode(Scroll,{"no-scroll":!0,style:{height:"100%"}},{default:withCtx(()=>[createBaseVNode("div",_hoisted_2$3,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(l),(m,w)=>(openBlock(),createElementBlock("div",{key:w},[createBaseVNode("div",_hoisted_3$2,[createVNode(unref(RightOutlined),{folded:!!r[w],onClick:g=>r[w]=!r[w],id:"studied-fold"},null,8,["folded","onClick"]),createBaseVNode("span",null,toDisplayString(w)+". "+toDisplayString(unref(d)[w])+",剩余"+toDisplayString(unref(h)[w])+"场战斗",1)]),r[w]?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_4$2,toDisplayString(_(m)),1))]))),128))])]),_:1})]),_:1},8,["width","height","left","top"])]))}}),studied_vue_vue_type_style_index_0_scoped_bd83c8c3_lang="",Studied=_export_sfc(_sfc_main$4,[["__scopeId","data-v-bd83c8c3"]]),_hoisted_1$3={id:"fixed"},_hoisted_2$2={id:"enemy-fixed"},_hoisted_3$1={id:"enemy-name"},_hoisted_4$1={id:"enemy-special"},_hoisted_5$1={class:"enemy-attr"},_sfc_main$3=defineComponent({__name:"fixed",setup(e){watch(showFixed,w=>{w&&c()});let t;const o=core.formatBigNumber,n=["hp","atk","def","money","exp","critical","criticalDamage","defDamage"],a=["lightgreen","lightcoral","lightblue","lightyellow","lawngreen","lightsalmon","lightpink","cyan"],s=ref(core.plugin.bookDetailEnemy),r=ref(0),l=ref(0),h=ref(300),d=ref(400);let _=window.innerHeight,u=window.innerWidth;async function c(){if(s.value=core.plugin.bookDetailEnemy,_=window.innerHeight,u=window.innerWidth,h.value=_*.28,await new Promise($=>requestAnimationFrame($)),core.plugin.fixedDetailOpened.value&&(showFixed.value=!1),m(),!t)return;const w=getComputedStyle(t),g=parseFloat(w.height),[y,k]=flags.clientLoc;k+g+10>_-10?l.value=_-g-10:l.value=k+10,y+h.value+10>u-10?r.value=u-h.value-10:r.value=y+10,d.value=g}function f(w){var g,y,k;return w==="critical"?"临界":w==="criticalDamage"?"临界减伤":w==="defDamage"?`${(k=(y=(g=core.status)==null?void 0:g.thisMap)==null?void 0:y.ratio)!=null?k:1}`:core.getStatusLabel(w)}function m(){t=document.getElementById("enemy-fixed"),t&&t.addEventListener("mouseleave",()=>{showFixed.value=!1})}return onUpdated(c),onMounted(()=>{m(),c()}),(w,g)=>(openBlock(),createElementBlock("div",_hoisted_1$3,[createVNode(Transition,null,{default:withCtx(()=>[unref(showFixed)?(openBlock(),createBlock(Box,{key:0,height:d.value,"onUpdate:height":g[0]||(g[0]=y=>d.value=y),left:r.value,"onUpdate:left":g[1]||(g[1]=y=>r.value=y),top:l.value,"onUpdate:top":g[2]||(g[2]=y=>l.value=y),width:h.value,"onUpdate:width":g[3]||(g[3]=y=>h.value=y)},{default:withCtx(()=>[createBaseVNode("div",_hoisted_2$2,[createBaseVNode("span",_hoisted_3$1,toDisplayString(s.value.name),1),createBaseVNode("div",_hoisted_4$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(s.value.toShowSpecial,(y,k)=>(openBlock(),createElementBlock("span",{style:normalizeStyle({color:s.value.toShowColor[k]})},toDisplayString(y),5))),256))]),(openBlock(),createElementBlock(Fragment,null,renderList(n,(y,k)=>createBaseVNode("div",_hoisted_5$1,[createBaseVNode("span",{class:"attr-name",style:normalizeStyle({color:a[k]})},toDisplayString(f(y)),5),createBaseVNode("span",{class:"attr-value",style:normalizeStyle({color:a[k]})},toDisplayString(unref(o)(s.value[y])),5)])),64))])]),_:1},8,["height","left","top","width"])):createCommentVNode("",!0)]),_:1})]))}}),fixed_vue_vue_type_style_index_0_scoped_9e6f7a60_lang="",Fixed=_export_sfc(_sfc_main$3,[["__scopeId","data-v-9e6f7a60"]]),_imports_0="/HumanBreak/project/images/bg.jpg";class Matrix extends Array{constructor(...t){var o;if(t.length!==((o=t[0])==null?void 0:o.length))throw new TypeError("The array delivered to Matrix must has the same length of its item and itself.");super(...t)}add(t){if(t.length!==this.length)throw new TypeError("To add a martrix, the be-added-matrix's size must equal to the to-add-matrix's.");const o=t.length;for(let n=0;n<o;n++)for(let a=0;a<o;a++)this[n][a]+=t[n][a];return this}multipy(t){if(t.length!==this.length)throw new TypeError("To multipy a martrix, the be-multipied-matrix's size must equal to the to-multipy-matrix's.");const o=this.length,n=Array.from(this).map(a=>a.slice());for(let a=0;a<o;a++)for(let s=0;s<o;s++){this[a][s]=0;for(let r=0;r<o;r++)this[a][s]+=n[a][r]*t[r][s]}return this}}class Matrix4 extends Matrix{constructor(...t){if(t.length===0&&(t=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]),t.length!==4)throw new TypeError("The length of delivered array must be 4.");super(...t)}translate(t,o,n){this.multipy([[1,0,0,t],[0,1,0,o],[0,0,1,n],[0,0,0,1]])}scale(t,o,n){this.multipy([[t,0,0,0],[0,o,0,0],[0,0,n,0],[0,0,0,1]])}rotate(t,o,n){if(has(t)&&t!==0){const a=Math.sin(t),s=Math.cos(t);this.multipy([[1,0,0,0],[0,s,a,0],[0,-a,s,0],[0,0,0,1]])}if(has(o)&&o!==0){const a=Math.sin(o),s=Math.cos(o);this.multipy([[s,0,-a,0],[0,1,0,0],[a,0,s,0],[0,0,0,1]])}if(has(n)&&n!==0){const a=Math.sin(n),s=Math.cos(n);this.multipy([[s,a,0,0],[-a,s,0,0],[0,0,1,0],[0,0,0,1]])}return this}transpose(t="new"){const o=t==="this"?this:new Matrix4,n=Array.from(this).map(a=>a.slice());for(let a=0;a<4;a++)for(let s=0;s<4;s++)o[a][s]=n[s][a];return o}toWebGLFloat32Array(){return new Float32Array(Array.from(this.transpose()).flat())}}const _withScopeId=e=>(pushScopeId("data-v-e152ec4d"),e=e(),popScopeId(),e),_hoisted_1$2={id:"start"},_hoisted_2$1={id:"start-div"},_hoisted_3=_withScopeId(()=>createBaseVNode("img",{id:"background",src:_imports_0},null,-1)),_hoisted_4={id:"start-main"},_hoisted_5=_withScopeId(()=>createBaseVNode("div",{id:"title"},"人类:开天辟地",-1)),_hoisted_6={id:"settings"},_hoisted_7=["checked"],_hoisted_8={key:0,id:"sound-del"},_hoisted_9=_withScopeId(()=>createBaseVNode("div",{id:"background-gradient"},null,-1)),_hoisted_10={id:"buttons"},_hoisted_11=["id","selected","showed","index","length","onClick","onMouseenter"],_sfc_main$2=defineComponent({__name:"start",setup(e){let t,o,n,a,s,r=[],l;const h=ref(!1),d=ref(!!document.fullscreenElement),_=ref(!1),u=["开始游戏","读取存档","录像回放","查看成就"].reverse(),c=["轮回","分支","观测","回忆"].reverse(),f=["start-game","load-game","replay","achievement"].reverse(),m=["easy","hard-hard","back"].reverse(),w=["简单","困难","返回"].reverse(),g=ref(u),y=reactive([]),k=ref("start-game");function $(){const E=core.domStyle.scale,W=core._PY_*E,oe=W*1.5;t.style.width=`${oe}px`,t.style.height=`${W}px`,n.style.fontSize=`${E*16}px`}function U(){a.style.opacity="1",N(r[0],0)}function N(E,Z){const W=getComputedStyle(E);a.style.top=`${parseFloat(W.height)*(Z+.5)-parseFloat(W.marginBottom)*(1-Z)}px`,a.style.left=`${parseFloat(W.left)-20*core.domStyle.scale}px`}async function M(E){core.checkBgm(),E==="start-game"&&ee(),E==="back"&&ne(),(E==="easy"||E==="hard-hard")&&(o.style.opacity="0",await R(600),core.startGame(E==="easy"?"easy":"hard")),E==="load-game"&&(core.dom.gameGroup.style.display="block",o.style.top="100vh",core.load()),E==="replay"&&core.chooseReplayFile(),E==="achievement"&&(achievementOpened.value=!0)}function b(E){const{offsetX:Z,offsetY:W}=E,oe=E.target,le=getComputedStyle(oe),P=parseFloat(le.width),L=parseFloat(le.height),J=P/2,te=L/2,se=(Z-J)/J,re=(W-te)/te,Q=new Matrix4;Q.scale(1.2,1.2,1),Q.rotate(re*10*Math.PI/180,-(se*10*Math.PI)/180);const ce=Array.from(Q.transpose()).flat().join(",");s.style.transform=`perspective(${1e3*core.domStyle.scale}px)matrix3d(${ce})`}function S(E,Z){N(E,Z),k.value=E.id}function A(E){const Z=keycode(E.keyCode),W=y.indexOf(k.value);if(Z===KeyCode.DownArrow){const oe=y[W-1];if(!oe)return;k.value=oe,N(r[y.length-W],y.length-W)}if(Z===KeyCode.UpArrow){const oe=y[W+1];if(!oe)return;k.value=oe,N(r[y.length-W-2],y.length-W-2)}}function T(E){const Z=keycode(E.keyCode);(Z===KeyCode.Enter||Z===KeyCode.Space||Z===KeyCode.KeyC)&&M(k.value)}function F(){core.triggerBgm(),h.value=!h.value}async function z(){const E=y.length-y.indexOf(k.value)-1;await triggerFullscreen(),requestAnimationFrame(()=>{d.value=!!document.fullscreenElement,N(r[E],E)})}async function ee(){a.style.transition="left 0.4s ease-out, top 0.4s ease-out, opacity 0.4s linear",a.style.opacity="0",r.forEach(E=>E.style.transition=""),await doByInterval(Array(4).fill(()=>f.unshift(y.pop())),150),await R(250),g.value=w,await doByInterval(Array(3).fill(()=>y.push(m.shift())),150),k.value="easy",nextTick(()=>{r=y.map(E=>document.getElementById(E)).reverse(),a.style.opacity="1",N(r[0],0)}),await R(600),r.forEach(E=>E.style.transition="transform 0.3s ease-out, color 0.3s ease-out")}async function ne(){y.length>0&&(a.style.transition="left 0.4s ease-out, top 0.4s ease-out, opacity 0.4s linear",a.style.opacity="0",r.forEach(E=>E.style.transition=""),await doByInterval(Array(3).fill(()=>m.unshift(y.pop())),150)),g.value=u,l&&(g.value=c),await R(250),await doByInterval(Array(4).fill(()=>y.push(f.shift())),150),k.value="start-game",nextTick(()=>{r=y.map(E=>document.getElementById(E)).reverse(),a.style.opacity="1",N(r[0],0),r.forEach((E,Z)=>{})}),_.value?await R(600):await R(1200),r.forEach(E=>E.style.transition="transform 0.3s ease-out, color 0.3s ease-out")}return onMounted(async()=>{a=document.getElementById("cursor"),l=core.getLocalStorage("oneweek1",!1),t=document.getElementById("start-div"),n=document.getElementById("start-main"),o=document.getElementById("start"),s=document.getElementById("background"),core.registerResize("start",$),$(),h.value=core.musicStatus.bgmStatus,await R(50),document.addEventListener("keydown",A),document.addEventListener("keyup",T),o.style.opacity="1",l&&(g.value=c,w.splice(1,0,"挑战")),ne().then(()=>_.value=!0),await R(1e3),U(),await R(1200),core.dom.startPanel.style.display="none"}),onUnmounted(()=>{core.unregisterResize("start"),document.removeEventListener("keydown",A),document.removeEventListener("keyup",T)}),(E,Z)=>(openBlock(),createElementBlock("div",_hoisted_1$2,[createBaseVNode("div",_hoisted_2$1,[_hoisted_3,createBaseVNode("div",_hoisted_4,[_hoisted_5,createBaseVNode("div",_hoisted_6,[createBaseVNode("div",{id:"sound",class:"setting-buttons",checked:h.value,onClick:F},[createVNode(unref(SoundOutlined)),h.value?createCommentVNode("",!0):(openBlock(),createElementBlock("span",_hoisted_8))],8,_hoisted_7),d.value?(openBlock(),createBlock(unref(FullscreenExitOutlined),{key:1,class:"button-text setting-buttons2",onClick:z})):(openBlock(),createBlock(unref(FullscreenOutlined),{key:0,class:"button-text setting-buttons2",onClick:z}))]),_hoisted_9,createBaseVNode("div",_hoisted_10,[createVNode(unref(RightOutlined),{id:"cursor"}),createVNode(TransitionGroup,{name:"start"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(y,(W,oe)=>(openBlock(),createElementBlock("span",{class:"start-button",id:W,key:W,selected:k.value===W,showed:_.value,index:oe,length:g.value[oe].length,onClick:le=>M(W),onMouseenter:le=>S(le.target,y.length-oe-1)},toDisplayString(g.value[oe]),41,_hoisted_11))),128))]),_:1})])]),createBaseVNode("div",{id:"listen",onMousemove:b},null,32)])]))}}),start_vue_vue_type_style_index_0_scoped_e152ec4d_lang="",Start=_export_sfc(_sfc_main$2,[["__scopeId","data-v-e152ec4d"]]),_hoisted_1$1={id:"complete"},_hoisted_2={id:"point-number"},_sfc_main$1=defineComponent({__name:"completeAchievement",props:{complete:null},setup(e){const t=e,o=window.innerHeight,n=t.complete.split(","),a=n[0],s=parseInt(n[1]),r=list[a][s],l=r.point,h=getNowPoint()-l,d=ref(h),_=computed(()=>d.value/totalPoint);return onMounted(async()=>{await R(500);const u=new I,c=Date.now();u.add(()=>{const f=Date.now();f-c>1e3&&(d.value=h+l,u.destroy());const m=(f-c)/1e3;d.value=Math.floor(h+l*m)}),await R(4600),showComplete.value=!1}),(u,c)=>{const f=__unplugin_components_0$3;return openBlock(),createBlock(Box,{id:"complete-box"},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$1,[createBaseVNode("span",null,"完成成就    "+toDisplayString(unref(r).name),1),createVNode(f,{id:"progress",percent:unref(_)*100,strokeColor:{"0%":"#108ee9","100%":"#87d068"},strokeWidth:unref(o)/200,showInfo:!1},null,8,["percent","strokeWidth"]),createBaseVNode("span",_hoisted_2,"成就点: "+toDisplayString(d.value)+" / "+toDisplayString(unref(totalPoint)),1)])]),_:1})}}}),completeAchievement_vue_vue_type_style_index_0_scoped_6db4a5b0_lang="",CompleteAchievement=_export_sfc(_sfc_main$1,[["__scopeId","data-v-6db4a5b0"]]),_hoisted_1={id:"non-ui"},_sfc_main=defineComponent({__name:"App2",setup(e){return(t,o)=>(openBlock(),createElementBlock("div",_hoisted_1,[unref(startOpened)?(openBlock(),createBlock(Start,{key:0})):createCommentVNode("",!0),unref(showStatusBar)?(openBlock(),createBlock(StatusBar,{key:1})):createCommentVNode("",!0),unref(showMarkedEnemy)&&unref(showStatusBar)?(openBlock(),createBlock(MarkedEnemy,{key:2})):createCommentVNode("",!0),unref(showStudiedSkill)&&unref(showStatusBar)&&unref(showStudied$1)?(openBlock(),createBlock(Studied,{key:3})):createCommentVNode("",!0),unref(showStatusBar)&&unref(useFixed$1)?(openBlock(),createBlock(Fixed,{key:4})):createCommentVNode("",!0),unref(chapterShowed)?(openBlock(),createBlock(Chapter,{key:5,chapter:unref(chapterContent)},null,8,["chapter"])):createCommentVNode("",!0),unref(showComplete)?(openBlock(),createBlock(CompleteAchievement,{key:6,complete:unref(completeAchi)},null,8,["complete"])):createCommentVNode("",!0)]))}}),App2_vue_vue_type_style_index_0_scoped_8fd1387d_lang="",App2=_export_sfc(_sfc_main,[["__scopeId","data-v-8fd1387d"]]),styles="",antd_dark="";let pop=[],time=0;function init$5(){return main.replayChecking||core.registerAnimationFrame("pop",!0,popValue),{addPop,pop}}function popValue(e){if(e-time<15)return;let t=core.getContextByName("pop");t||(t=core.createCanvas("pop",0,0,core._PX_,core._PY_,90)),core.clearMap(t);let o=0;pop.forEach(function(n){const a=6-n.frame*.2,s=1;n.py-=a,n.px+=s,n.frame++,n.frame>=60?core.setAlpha(t,3-n.frame/30):core.setAlpha(t,1),core.fillBoldText(t,n.value,n.px,n.py,"#f22","#000","24px normal"),n.frame>=90&&o++}),o>0&&pop.splice(0,o),time=e}function addPop(e,t,o){var n={px:e,py:t,value:o,frame:0};pop.push(n)}const ani=new Y;ani.register("rect",0);const path1={MT16:[[23,23],[0,23]],MT15:[[63,4],[61,4],[61,5],[58,5],[58,8],[54,8],[54,11],[51,11],[51,8],[45,8],[45,4],[47,4],[47,6],[51,6],[51,5],[52,5],[52,3],[50,3],[50,5],[48,5],[48,3],[35,3],[35,5],[31,5],[31,7],[34,7],[34,9],[31,9],[31,11],[12,11],[12,8],[1,8],[1,7],[0,7]],MT14:[[127,7],[126,7],[126,8],[124,8],[124,7],[115.2,7],[115.2,9.2],[110.2,9.2],[110.2,11],[109.8,11],[109.8,8.8],[111.8,8.8],[111.8,7],[104,7],[104,3],[100,3],[100,4],[98,4],[98,3],[96,3],[96,6],[95,6],[95,7],[88,7],[88,6],[85,6],[85,8],[83,8],[83,9],[81,9],[81,11],[72,11],[72,5],[68,5],[68,8],[67,8],[67,10],[65,10],[65,11],[62,11],[62,9],[60,9],[60,11],[57,11],[57,9],[54,9]]},camera1=[["MT16",0,10,0,1600,G("sin","in")],["MT15",45,0,0,2324,G("sin","in")],["MT15",40,0,2324,1992,G("sin","out")],["MT15",41,0,5312,498,G("sin","in-out")],["MT15",37,0,5810,1660,G("sin","in")],["MT15",29,0,7470,830,G("sin","out")],["MT15",25,0,11454,996,G("sin","in")],["MT15",12,0,12450,996,O()],["MT15",0,0,13446,1470,G("sin","out")],["MT14",109,0,0,1328,G("sin","in")],["MT14",104,0,1328,332,G("sin","out")],["MT14",92,0,5478,2822,G("sin","in")],["MT14",84,0,8300,1992,O()],["MT14",74,0,10292,2988,O()],["MT14",65,0,13280,2988,O()],["MT14",58,0,16268,1992,O()],["MT14",47,0,18260,3320,O()],["MT14",36,0,21580,3320,O()],["MT14",0,0,24900,9960,O()]];function init1(){const e=["MT13","MT14","MT15"],t=[];e.forEach(o=>{core.status.maps[o].cannotMoveDirectly=!0,core.extractBlocks(o),core.status.maps[o].blocks.forEach(n=>{["animates","items"].includes(n.event.cls)&&!n.event.id.endsWith("Portal")&&t.push([n.x,n.y,o])})}),t.forEach(o=>{core.removeBlock(...o)})}function chaseShake(e){e.ani.mode(shake2(2/32,q(1,1,1,1,1,1,1,1,1,1,1,1)),!0).time(5e4).shake(1,0)}async function wolfMove(e){core.moveBlock(23,17,Array(6).fill("down"),80),await R(550),core.setBlock(508,23,23)}function judgeFail1(e){e.ani.ticker.add(()=>{core.status.hero.loc.x>core.bigmap.offsetX/32+17&&(e.end(),ani.time(750).apply("rect",0),core.lose("逃跑失败"))})}function drawBack(e){e.on("MT15",0,()=>{ani.mode(G("sin","out")).time(1500).absolute().apply("rect",64);const t=core.createCanvas("chaseBack",0,0,480,480,120);t.fillStyle="#000";const o=()=>{t||ani.ticker.remove(o),core.clearMap(t),t.fillRect(0,0,480,ani.value.rect),t.fillRect(0,480,480,-ani.value.rect)};ani.ticker.add(o)})}function para1(e){e.on("MT15",830,()=>{for(let t=53;t<58;t++)for(let o=3;o<8;o++)core.setBlock(336,t,o);core.drawAnimate("explosion3",55,5),core.drawAnimate("stone",55,5)}),e.on("MT15",1080,()=>{core.setBlock(336,58,9),core.setBlock(336,59,9),core.drawAnimate("explosion1",58,9),core.drawAnimate("explosion1",59,9)}),e.on("MT15",1190,()=>{core.setBlock(336,53,8),core.setBlock(336,52,8),core.drawAnimate("explosion1",53,8),core.drawAnimate("explosion1",52,8)}),e.on("MT15",1580,()=>{core.setBlock(336,51,7),core.drawAnimate("explosion1",51,7)}),e.on("MT15",1830,()=>{core.setBlock(336,47,7),core.setBlock(336,49,9),core.drawAnimate("explosion1",49,9),core.drawAnimate("explosion1",47,7)})}function para2(e){e.onHeroLoc("MT15",()=>{core.setBlock(336,45,9),core.drawAnimate("explosion1",45,9)},45,8),e.onHeroLoc("MT15",()=>{core.setBlock(336,44,6),core.drawAnimate("explosion1",44,6)},45,6),e.onHeroLoc("MT15",()=>{core.setBlock(336,44,4),core.drawAnimate("explosion1",44,4),core.drawAnimate("explosion1",48,6),core.removeBlock(48,6)},45,4),e.onHeroLoc("MT15",()=>{core.setBlock(336,41,4),core.setBlock(336,32,6),core.drawAnimate("explosion1",41,4),core.drawAnimate("explosion1",32,6)},41,3),e.onHeroLoc("MT15",()=>{core.drawAnimate("explosion3",37,7),core.vibrate("vertical",1e3,25,10);for(let t=36;t<42;t++)for(let o=4;o<11;o++)core.setBlock(336,t,o)},35,3),e.onHeroLoc("MT15",()=>{core.vibrate("vertical",1e4,25,1),core.removeBlock(34,8),core.removeBlock(33,8),core.drawAnimate("explosion1",34,8),core.drawAnimate("explosion1",33,8)},31,5),e.onHeroLoc("MT15",()=>{core.setBlock(336,32,9),core.drawAnimate("explosion1",32,9)},33,7),e.onHeroLoc("MT15",()=>{core.removeBlock(32,9),core.drawAnimate("explosion1",32,9)},[33,34,34],9);for(let t=19;t<31;t++){const o=t;e.onHeroLoc("MT15",()=>{core.setBlock(336,o+1,11),core.drawAnimate("explosion1",o+1,11)},o,11)}}function para3(e){e.onHeroLoc("MT14",()=>{core.setBlock(336,126,6),core.setBlock(336,124,6),core.setBlock(336,124,9),core.setBlock(336,126,9),core.drawAnimate("explosion1",126,6),core.drawAnimate("explosion1",124,6),core.drawAnimate("explosion1",124,9),core.drawAnimate("explosion1",126,9)},126,7),e.onHeroLoc("MT14",()=>{core.setBlock(508,127,7),core.jumpBlock(127,7,112,7,500,!0),setTimeout(()=>{core.setBlock(509,112,7)},520),core.drawHeroAnimate("amazed"),core.setBlock(336,121,6),core.setBlock(336,122,6),core.setBlock(336,120,8),core.setBlock(336,121,8),core.setBlock(336,122,8),core.drawAnimate("explosion1",121,6),core.drawAnimate("explosion1",122,6),core.drawAnimate("explosion1",120,8),core.drawAnimate("explosion1",121,8),core.drawAnimate("explosion1",122,8)},123,7),e.onHeroLoc("MT14",()=>{core.setBlock(336,109,11),core.removeBlock(112,8),core.drawAnimate("explosion1",109,11),core.drawAnimate("explosion1",112,8),core.insertAction([{type:"moveHero",time:400,steps:["backward:1"]}]),e.onHeroLoc("MT14",()=>{core.jumpBlock(112,7,110,4,500,!0),core.drawHeroAnimate("amazed"),setTimeout(()=>{core.setBlock(506,110,4)},540)},112,8)},110,10),e.onHeroLoc("MT14",()=>{core.setBlock(336,117,6),core.setBlock(336,116,6),core.setBlock(336,115,6),core.setBlock(336,114,6),core.setBlock(336,117,8),core.setBlock(336,116,8),core.drawAnimate("explosion1",117,6),core.drawAnimate("explosion1",116,6),core.drawAnimate("explosion1",115,6),core.drawAnimate("explosion1",114,6),core.drawAnimate("explosion1",116,8),core.drawAnimate("explosion1",117,8)},118,7),e.onHeroLoc("MT14",()=>{core.setBlock(336,112,8),core.setBlock(336,113,7),core.drawAnimate("explosion1",112,8),core.drawAnimate("explosion1",113,7)},112,7),e.onHeroLoc("MT14",()=>{for(let t=111;t<=115;t++)core.setBlock(336,t,10),core.drawAnimate("explosion1",t,10);core.setBlock(336,112,8),core.drawAnimate("explosion1",112,8)},115,7),e.onHeroLoc("MT14",()=>{core.jumpBlock(97,4,120,-3,2e3);for(let t=109;t<=120;t++)for(let o=3;o<=11;o++)o!=7&&core.setBlock(336,t,o);core.drawAnimate("explosion2",119,7),core.removeBlock(105,7),core.drawAnimate("explosion1",105,7)},110,7),e.onHeroLoc("MT14",()=>{core.setBlock(336,95,3),core.setBlock(336,93,6),core.drawAnimate("explosion1",95,3),core.drawAnimate("explosion1",93,6)},97,3),e.onHeroLoc("MT14",()=>{core.setBlock(336,87,4),core.setBlock(336,88,5),core.drawAnimate("explosion1",87,4),core.drawAnimate("explosion1",88,5)},88,6),e.onHeroLoc("MT14",()=>{core.setBlock(336,84,6),core.setBlock(336,85,5),core.setBlock(336,86,8),core.drawAnimate("explosion1",84,6),core.drawAnimate("explosion1",85,5),core.drawAnimate("explosion1",86,8)},86,6),e.onHeroLoc("MT14",()=>{core.setBlock(336,81,8),core.setBlock(336,82,11),core.drawAnimate("explosion1",81,8),core.drawAnimate("explosion1",82,11)},81,9),e.onHeroLoc("MT14",()=>{core.setBlock(336,73,8),core.setBlock(336,72,4),core.drawAnimate("explosion1",73,8),core.drawAnimate("explosion1",72,4)},72,11),e.onHeroLoc("MT14",()=>{for(let t=74;t<86;t++)for(let o=3;o<12;o++)core.setBlock(336,t,o);core.drawAnimate("explosion2",79,7),core.vibrate("vertical",4e3,25,15)},71,7),e.onHeroLoc("MT14",()=>{core.setBlock(336,68,4),core.setBlock(336,67,6),core.drawAnimate("explosion1",68,4),core.drawAnimate("explosion1",67,6)},68,5),e.onHeroLoc("MT14",()=>{for(let t=65;t<=72;t++)for(let o=3;o<=9;o++)core.setBlock(336,t,o);core.setBlock(336,72,10),core.setBlock(336,72,11),core.drawAnimate("explosion3",69,5)},67,10),e.onHeroLoc("MT14",()=>{core.setBlock(336,63,9),core.setBlock(336,60,8),core.setBlock(336,56,11),core.drawAnimate("explosion1",63,9),core.drawAnimate("explosion1",60,8),core.drawAnimate("explosion1",56,11)},64,11),e.onHeroLoc("MT14",()=>{for(let t=58;t<=64;t++)for(let o=3;o<=11;o++)core.setBlock(336,t,o);core.drawAnimate("explosion2",61,7)},57,9);for(let t=21;t<49;t++)e.onHeroLoc("MT14",()=>{for(let o=3;o<=11;o++)core.setBlock(336,t+4,o),core.drawAnimate("explosion1",t+4,o)},t);e.onHeroLoc("MT14",async()=>{flags.finishChase1=!0,core.plugin.replay.clip("choices:0"),core.showStatusBar(),ani.time(750).apply("rect",0),e.end(),await R(750),ani.ticker.destroy(),core.deleteCanvas("chaseBack")},21)}function getChaseDataByIndex(e){if(e===1)return init1(),{camera:camera1,fns:[para1,para2,para3,chaseShake,wolfMove,drawBack,judgeFail1],path:path1};throw new ReferenceError("Deliver wrong chase index.")}function init$4(){return{startChase}}function shake2(e,t){let o=0;return n=>(o+=Math.PI/2,Math.sin(o)*e*t(n))}class Chase{constructor(t,o,n,a=!1){ae(this,"ani",new Y);ae(this,"path");ae(this,"showPath",!1);ae(this,"endFn");this.path=t,flags.__lockViewport__=!0,flags.onChase=!0,flags.chaseTime={[core.status.floorId]:Date.now()},this.ani.absolute().time(0).move(core.bigmap.offsetX/32,core.bigmap.offsetY/32),o.forEach(l=>l(this));const s=[],r=core.createCanvas("chasePath",0,0,0,0,35);for(const[l,h,d,_,u,c,f]of n)s.includes(l)||(this.on(l,0,()=>{flags.__lockViewport__=!1,core.drawHero(),flags.__lockViewport__=!0,this.ani.time(0).move(core.bigmap.offsetX/32,core.bigmap.offsetY/32)},!0),s.push(l)),has(f)?this.on(l,_,()=>{this.ani.time(u).mode(c).moveAs(f)}):this.on(l,_,()=>{this.ani.time(u).mode(c).move(h,d)});if(this.ani.ticker.add(()=>{flags.floorChanging||(core.setViewport(this.ani.x*32,this.ani.y*32),core.relocateCanvas(r,-this.ani.x*32,-this.ani.y*32))}),a)for(const[l,h]of Object.entries(t))this.on(l,0,()=>{const d=core.status.maps[l];core.resizeCanvas(r,d.width*32,d.height*32),r.beginPath(),r.moveTo(h[0][0]*32+16,h[1][1]*32+24),r.lineJoin="round",r.lineWidth=4,r.strokeStyle="cyan",r.globalAlpha=.3,h.forEach((_,u,c)=>{if(u===0)return;const[f,m]=_;r.lineTo(f*32+16,m*32+24)}),r.stroke()})}on(t,o,n,a=!1){const s=()=>{var r,l,h;(r=flags.chaseTime)!=null&&r[t]&&Date.now()-((h=(l=flags.chaseTime)==null?void 0:l[t])!=null?h:Date.now())>=o&&(n(this),this.ani.ticker.remove(s))};this.ani.ticker.add(s,a)}onHeroLoc(t,o,n,a,s=0){if(s===1){typeof n=="number"&&(n=[n]),typeof a=="number"&&(a=[a]),n.forEach(h=>{a.forEach(d=>{this.onHeroLoc(t,o,h,d)})});return}const r=()=>{if(core.status.floorId!==t)return!1;if(has(n)){if(typeof n=="number"){if(core.status.hero.loc.x!==n)return!1}else if(!n.includes(core.status.hero.loc.x))return!1}if(has(a)){if(typeof a=="number"){if(core.status.hero.loc.y!==a)return!1}else if(!a.includes(core.status.hero.loc.y))return!1}return!0},l=()=>{if(r()){o(this);try{this.ani.ticker.remove(l)}catch(h){}}};this.ani.ticker.add(l)}setPathShowStatus(t){this.showPath=t}onEnd(t){this.endFn=t}end(){this.ani.ticker.destroy(),delete flags.onChase,delete flags.chase,delete flags.chaseTime,delete flags.chaseHard,delete flags.chaseIndex,flags.__lockViewport__=!1,core.deleteCanvas("chasePath"),this.endFn&&this.endFn()}}async function startChase(e){const t=getChaseDataByIndex(e);flags.chaseIndex=e,flags.onChase=!0,await R(20);const o=new Chase(t.path,t.fns,t.camera,flags.chaseHard===0);flags.chase=o;const n=flags.chaseHard;o.onEnd(()=>{n===1&&e===1&&completeAchievement("challenge",0)})}function init$3(){return{isWebGLSupported}}const isWebGLSupported=function(){return!!document.createElement("canvas").getContext("webgl")}();class Polygon{constructor(t){ae(this,"nodes");ae(this,"cache",{});if(t.length<3)throw new Error("Nodes number delivered is less than 3!");this.nodes=t.map(o=>[o[0]+32,o[1]+32])}static from(...t){return t.map(o=>new Polygon(o))}shadowArea(t,o,n){var c,f;const a=`${t},${o}`;if(this.cache[a])return this.cache[a];const s=[],r=((c=core._PX_)!=null?c:core.__PIXELS__)+64,l=((f=core._PY_)!=null?f:core.__PIXELS__)+64,h=l/r,d=(m,w)=>{const g=(w-o)/(m-t);if(g>h||g<-h)if(w<o){const y=t+o/g;return[2*t-y,0]}else return[t+(l-o)/g,l];else if(m<t){const y=o+g*t;return[0,2*o-y]}else{const y=o+g*(r-t);return[r,y]}},_=this.nodes.length;let u=d(...this.nodes[0]);for(let m=0;m<_;m++){const w=(m+1)%_,g=d(...this.nodes[w]),y=[this.nodes[m],u],k=[g,this.nodes[w]];let $;u[0]===0&&g[1]===0||u[1]===0&&g[0]===0?$=[...y,[0,0],...k]:u[0]===0&&g[1]===l||u[1]===l&&g[0]===0?$=[...y,[0,l],...k]:u[0]===r&&g[1]===0||u[1]===0&&g[0]===r?$=[...y,[r,0],...k]:u[0]===r&&g[1]===l||u[1]===l&&g[0]===r?$=[...y,[r,l],...k]:$=[...y,...k],s.push($),u=g}return this.cache[a]=s,s}}function init$2(){return core.registerAnimationFrame("shadow",!0,()=>{needRefresh&&drawShadow()}),{initShadowCanvas,drawShadow,addLight,removeLight,setLight,setShadowNodes,setBackground,animateLight,transitionLight,moveLightAs,getAllLights,refreshLight}}let canvas,ctx,lights=[],needRefresh=!1,shadowNodes=[],background,blur=3;const temp1=document.createElement("canvas"),temp2=document.createElement("canvas"),temp3=document.createElement("canvas"),ct1=temp1.getContext("2d"),ct2=temp2.getContext("2d"),ct3=temp3.getContext("2d"),animationList={},transitionList={};function initShadowCanvas(){var n,a;const e=(n=core._PX_)!=null?n:core.__PIXELS__,t=(a=core._PY_)!=null?a:core.__PIXELS__;ctx=core.createCanvas("shadow",-32,-32,e+64,t+64,55),canvas=ctx.canvas;const o=core.domStyle.scale*devicePixelRatio;temp1.width=(e+64)*o,temp1.height=(t+64)*o,temp2.width=(e+64)*o,temp2.height=(t+64)*o,temp3.width=(e+64)*o,temp3.height=(t+64)*o,ct1.scale(o,o),ct2.scale(o,o),ct3.scale(o,o),canvas.style.filter=`blur(${blur}px)`}function addLight(e){lights.push(e),needRefresh=!0}function removeLight(e){const t=lights.findIndex(o=>o.id===e);if(t===-1)throw new ReferenceError("You are going to remove nonexistent light!");lights.splice(t,1),needRefresh=!0}function setLight(e,t){has(t.id)&&delete t.id;const o=lights.find(n=>n.id===e);if(!o)throw new ReferenceError("You are going to set nonexistent light!");for(const[n,a]of Object.entries(t))o[n]=a;needRefresh=!0}function setLightList(e){lights=e,needRefresh=!0}function removeAllLights(){lights=[],needRefresh=!0}function getLight(e){return lights.find(t=>t.id===e)}function getAllLights(){return lights}function setBackground(e){background=e,needRefresh=!0}function refreshLight(){needRefresh=!0}function animateLight(e,t,o,n=1e3,a=O(),s=!1){var _,u;const r=getLight(e);if(!has(r))throw new ReferenceError("You are going to animate nonexistent light");typeof o!="number"&&(r[t]=o);const l=(_=animationList[e])!=null?_:animationList[e]=new Y;typeof l.value[t]!="number"?l.register(t,r[t]):l.time(0).mode(O()).absolute().apply(t,r[t]),l.time(n).mode(a)[s?"relative":"absolute"]().apply(t,o);const h=Date.now(),d=()=>{Date.now()-h>n+50&&(l.ticker.remove(d),r._animating[t]=!1),needRefresh=!0,r[t]=l.value[t]};l.ticker.add(d),(u=r._animating)!=null||(r._animating={}),r._animating[t]=!0}function transitionLight(e,t,o=1e3,n=O()){var l,h;const a=lights.findIndex(d=>d.id===e);if(a===-1)throw new ReferenceError("You are going to transite nonexistent light");const s=lights[a];if(typeof s[t]!="number")return;(l=s._transition)!=null||(s._transition={}),s._transition[t]={time:o,mode:n};const r=(h=transitionList[e])!=null?h:transitionList[e]=new j;if(r.value[t]=s[t],!s._isProxy){const d={set(_,u,c){var g;if(typeof u=="symbol")return!1;const f=Date.now();if(!s._transition[u]||(g=s._animating)!=null&&g[t]||typeof c!="number")return _[u]=c,!0;_[u]=s[u];const m=s._transition[u];r.mode(m.mode).time(m.time);const w=()=>{Date.now()-f>m.time+50&&r.ticker.remove(w),needRefresh=!0,_[u]=r.value[t]};return r.ticker.add(w),r.transition(u,c),!0}};lights[a]=new Proxy(s,d)}}function moveLightAs(e,t,o,n=O(),a=!0){var d,_;const s=getLight(e);if(!has(s))throw new ReferenceError("You are going to animate nonexistent light");const r=(d=animationList[e])!=null?d:animationList[e]=new Y;r.mode(O()).time(0).move(s.x,s.y),r.time(t).mode(n)[a?"relative":"absolute"]().moveAs(o);const l=Date.now(),h=()=>{Date.now()-l>t+50&&(r.ticker.remove(h),s._animating.x=!1,s._animating.y=!1),needRefresh=!0,s.x=r.x,s.y=r.y};r.ticker.add(h),(_=s._animating)!=null||(s._animating={}),s._animating.x=!0,s._animating.y=!0}function setShadowNodes(e){e.length===0&&(shadowNodes=[],needRefresh=!0),e[0]instanceof Polygon?shadowNodes=e:shadowNodes=Polygon.from(...e),needRefresh=!0}function setBlur(e){blur=e,canvas.style.filter=`blur(${e}px)`}function drawShadow(){var n,a;const e=((n=core._PX_)!=null?n:core.__PIXELS__)+64,t=((a=core._PY_)!=null?a:core.__PIXELS__)+64;needRefresh=!1,ctx.clearRect(0,0,e,t),ct1.clearRect(0,0,e,t),ct2.clearRect(0,0,e,t),ct3.clearRect(0,0,e,t);const o=core.arrayToRGBA(background);ctx.globalCompositeOperation="source-over",ct3.globalCompositeOperation="source-over";for(let s=0;s<lights.length;s++){const{x:r,y:l,r:h,decay:d,color:_,noShelter:u}=lights[s],c=r+32,f=l+32;if(ct1.clearRect(0,0,e,t),ct2.clearRect(0,0,e,t),!u)for(const g of shadowNodes)g.shadowArea(c,f,h).forEach(k=>{ct1.beginPath(),ct1.moveTo(k[0][0],k[0][1]);for(let $=1;$<k.length;$++)ct1.lineTo(k[$][0],k[$][1]);ct1.closePath(),ct1.fillStyle="#000",ct1.globalCompositeOperation="source-over",ct1.fill()});ct2.globalCompositeOperation="source-over",ct2.drawImage(temp1,0,0,e,t),ct2.globalCompositeOperation="source-out";const m=ct2.createRadialGradient(c,f,d,c,f,h);m.addColorStop(0,core.arrayToRGBA(_)),m.addColorStop(1,"transparent"),ct2.fillStyle=m,ct2.beginPath(),ct2.arc(c,f,h,0,Math.PI*2),ct2.fill(),ctx.drawImage(temp2,0,0,e,t),ct1.globalCompositeOperation="source-out";const w=ct1.createRadialGradient(c,f,d,c,f,h);w.addColorStop(0,"#fff"),w.addColorStop(1,"#fff0"),ct1.beginPath(),ct1.arc(c,f,h,0,Math.PI*2),ct1.fillStyle=w,ct1.fill(),ct3.drawImage(temp1,0,0,e,t)}ct3.globalCompositeOperation="source-out",ct3.fillStyle=o,ct3.fillRect(0,0,e,t),ctx.globalCompositeOperation="destination-over",ctx.drawImage(temp3,0,0,e,t)}function init$1(){const e=control.prototype.drawHero;return control.prototype.drawHero=function(){e.apply(core.control,arguments),core.getFlag("__heroOpacity__")!==0&&getAllLights().forEach(t=>{var o;t.followHero&&((o=t._offset)!=null||(t._offset={x:t.x,y:t.y}),t.x=core.status.heroCenter.px+t._offset.x,t.y=core.status.heroCenter.py+t._offset.y,refreshLight())})},{updateShadow,clearShadowCache,setCalShadow}}const shadowInfo={},backgroundInfo={},blurInfo={},immersionInfo={},shadowCache={};let calMapShadow=!0;function updateShadow(e=!1){var r;const t=core.status.floorId;if(!shadowInfo[t]||!backgroundInfo[t]){removeAllLights(),setShadowNodes([]),setBackground("#0000");return}const o=core.status.thisMap,n=o.width,a=o.height,s=[];if(calMapShadow)if(shadowCache[t]&&!e)setShadowNodes(shadowCache[t]);else{core.extractBlocks();const l=core.getMapBlocksObj();core.status.maps[t].blocks.forEach(h=>{var d;if(["terrains","autotile","tileset","animates"].includes(h.event.cls)&&h.event.noPass){const _=(d=immersionInfo[t])!=null?d:4,u=h.x,c=h.y;let f=u*32+_,m=c*32+_,w=f+32-_*2,g=m+32-_*2;const y=`${u-1},${c}`,k=`${u+1},${c}`,$=`${u},${c-1}`,U=`${u},${c+1}`;u===0&&(f-=_*2),u+1===n&&(w+=_*2),c===0&&(m-=_*2),c+1===a&&(g+=_*2),l[y]&&l[y].event.noPass&&(f-=_),l[k]&&l[k].event.noPass&&(w+=_),l[$]&&l[$].event.noPass&&(m-=_),l[U]&&l[U].event.noPass&&(g+=_),s.push(new Polygon([[f,m],[w,m],[w,g],[f,g]]));return}}),shadowCache[t]=s,setShadowNodes(s)}else setShadowNodes([]),setBlur(0);setLightList(shadowInfo[t]),setBackground(backgroundInfo[t]),setBlur((r=blurInfo[t])!=null?r:3)}function clearShadowCache(e){delete shadowCache[e]}function setCalShadow(e){calMapShadow=e,updateShadow()}function init(){return{AnimatedPath,pathTest:test}}class AnimatedPath{constructor(t){ae(this,"join",!0);ae(this,"linePath",[]);ae(this,"ctx");ae(this,"dashStatus",0);ae(this,"dashLength",0);ae(this,"dashMode",[]);ae(this,"lineWidth",1);ae(this,"lineColor","#fff");ae(this,"lineShadow",{});ae(this,"lineFilter",{});ae(this,"pathClose",!1);this.ctx=t}dash(t){const o=t.slice();return t.length%2===1&&o.push(...t),this.dashMode=t,this}width(t){return this.lineWidth=t,this}color(t){return this.lineColor=t,this}shadow(t){return this.lineShadow=t,this}filter(t){return this.lineFilter=t,this}clear(){return this.linePath=[],this}line(t,o,n,a){const s=n-t,r=a-o;return this.add(l=>[t+s*l,o+r*l],Math.sqrt(s**2+r**2)),this}circle(t,o,n,a,s){const r=s-a;return this.add(l=>[t+n*Math.cos(r*l+a),o+n*Math.sin(r*l+a)],n*r),this}ellipse(t,o,n,a,s,r){const l=r-s;return this.add(h=>[t+n*Math.cos(l*h+s),o+a*Math.sin(l*h+s)]),this}rect(t,o,n,a,s=0){const r=t+n,l=o+a;return this.line(t,o,r,o).line(r,o,r,l).line(r,l,t,l).line(t,l,t,o-s/2),this}bezier(...t){if(t.length<2)throw new Error("The point number of bezier must larger than 2.");const o=t[0],n=t.at(-1),a=t.slice(1,-1);return this.add(H(o,n,...a)),this}add(t,o=this.calLength(t)){return this.linePath.push({path:t,length:o}),this}close(t){return this.pathClose=t,this}calLength(t){let[o,n]=t(0),a=0;for(let s=1;s<=1e3;s++){const[r,l]=t(s*.001);a+=Math.sqrt((r-o)**2+(l-n)**2),o=r,n=l}return a}drawImmediate(){const t=this.linePath.reduce((n,a)=>n+a.length,0);let o=0;return this.linePath.forEach(n=>{this.drawFrom(n.path,0,1,o,n.length),o+=n.length/t}),this}draw(t,o=O()){const n=this.linePath.reduce((u,c)=>u+c.length,0),a=this.linePath.map(u=>u.length/n);let s=0,r=0,l=a[0],h=0;this.ctx.beginPath(),this.ctx.moveTo(...this.linePath[0].path(0));const d=u=>{if(u>=1||l>u)return[];const c=[];for(;;)if(s+=a[r],r++,l+=a[r],u<l){h=s;break}else c.push(r);return c},_=new Y;return _.register("path",0),_.mode(o).time(t).absolute().apply("path",1),_.all().then(()=>{_.ticker.destroy(),this.pathClose&&(this.ctx.beginPath(),this.ctx.moveTo(...this.linePath.at(-1).path(.999)),this.ctx.lineTo(...this.linePath[0].path(.001)),this.ctx.stroke()),this.ctx.closePath()}),_.ticker.add(()=>{const u=_.value.path;if(u>=l){const g=l-s,y=(h-s)/g;this.drawFrom(this.linePath[r].path,y,1,h,a[r]),d(u).forEach($=>{const U=this.linePath[$];this.drawFrom(U.path,0,1,h,a[$])})}const c=this.linePath[r].path,f=l-s,m=(h-s)/f,w=(u-s)/f;this.drawFrom(c,m,w,h,a[r]),h=u}),this}drawFrom(t,o,n,a,s,r){const[l,h]=t(o),[d,_]=t(n),u=r!=null?r:Math.ceil(Math.sqrt((d-l)**2+(_-h)**2)),c=(n-o)/u,f=this.ctx;let[m,w]=t(o);for(let g=1;g<=u;g++){this.handleFx(a+s*g*c/u);const[y,k]=t(o+c*g);f.lineTo(y,k),f.stroke(),f.beginPath(),f.moveTo(m,w),f.lineTo(y,k),m=y,w=k}}handleFx(t){const o=this.ctx,n=typeof this.lineWidth=="number"?this.lineWidth:this.lineWidth(t);o.lineWidth=n;let a;if(typeof this.lineColor=="string")a=this.lineColor;else{const l=this.lineColor(t);a=`rgba(${l[0]},${l[1]},${l[2]},${l[3]})`}o.strokeStyle=a;const s={};for(const[l,h]of Object.entries(this.lineShadow))if(typeof h=="function"){const d=h(t);typeof d=="number"?s[l]=d:s.color=`rgba(${d[0]},${d[1]},${d[2]},${d[3]})`}else s[l]=h;has(s.blur)&&(o.shadowBlur=s.blur),has(s.offsetX)&&(o.shadowOffsetX=s.offsetX),has(s.offsetY)&&(o.shadowOffsetY=s.offsetY),has(s.color)&&(o.shadowColor=s.color);let r="";for(const[l,h]of Object.entries(this.lineFilter)){let d;typeof h=="number"?d=h:d=h(t),l==="blur"?r+=`blur(${d}px)`:r+=`${l}(${d}%)`}o.filter=r}}async function test(){const e=core.createCanvas("test",0,0,480,480,100);e.canvas.style.backgroundColor="#000d";const t=new AnimatedPath(e);t.color("#fff").width(2).rect(100,100,280,280,2).close(!0).draw(1e3,C(5,"in-out")),await R(1050),t.clear().bezier([200,200],[280,200],[280,280]).bezier([280,280],[200,280],[200,200]).draw(1e3,C(5,"in-out")),await R(1050),t.clear().bezier([280,200],[200,200],[200,280]).bezier([200,280],[280,280],[280,200]).draw(1e3,C(5,"in-out"))}function forward(){const e=[init$5(),init$8(),init$f(),init$g(),init$h(),init$6(),init$e(),init$d(),init$7(),init$c(),init$4(),init$b(),init$3(),init$2(),init$1(),init$9(),init$a(),init()];(async function(){for(const t of e)for(const o in t){const n=t[o];o in core.plugin||(core.plugin[o]=n),n instanceof Function&&(o in core||o.startsWith("_")||(core[o]=n))}console.log("插件转发完成!")})(),Object.values(floors).forEach((t,o)=>{const n=core.floorIds.indexOf(t[0]),a=core.floorIds.indexOf(t[1]),s=core.floorIds.slice(n,a+1);floors[o+1]=s})}main.forward=forward;main.init("play");main.listen();createApp(App).mount("#root");createApp(App2).mount("#root2");export{__vite_legacy_guard};