@wwawing/engine 4.0.5 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/wwa.js +13 -13
  2. package/package.json +11 -11
package/lib/wwa.js CHANGED
@@ -91,25 +91,25 @@ ${t?Fe():``}
91
91
  `),cooked:this.value},this.next(),n.tail=this.type===J.backQuote,this.finishNode(n,`TemplateElement`)},X.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.type===J.eof&&this.raise(this.pos,`Unterminated template literal`),this.expect(J.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(J.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,`TemplateLiteral`)},X.isAsyncProp=function(e){return!e.computed&&e.key.type===`Identifier`&&e.key.name===`async`&&(this.type===J.name||this.type===J.num||this.type===J.string||this.type===J.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===J.star)&&!ha.test(this.input.slice(this.lastTokEnd,this.start))},X.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(J.braceR);){if(r)r=!1;else if(this.expect(J.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(J.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,i,t),n.properties.push(a)}return this.finishNode(n,e?`ObjectPattern`:`ObjectExpression`)},X.parseProperty=function(e,t){var n=this.startNode(),r,i,a,o;if(this.options.ecmaVersion>=9&&this.eat(J.ellipsis))return e?(n.argument=this.parseIdent(!1),this.type===J.comma&&this.raise(this.start,`Comma is not permitted after the rest element`),this.finishNode(n,`RestElement`)):(this.type===J.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),n.argument=this.parseMaybeAssign(!1,t),this.type===J.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(n,`SpreadElement`));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(e||t)&&(a=this.start,o=this.startLoc),e||(r=this.eat(J.star)));var s=this.containsEsc;return this.parsePropertyName(n),!e&&!s&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(J.star),this.parsePropertyName(n,t)):i=!1,this.parsePropertyValue(n,e,r,i,a,o,t,s),this.finishNode(n,`Property`)},X.parsePropertyValue=function(e,t,n,r,i,a,o,s){if((n||r)&&this.type===J.colon&&this.unexpected(),this.eat(J.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind=`init`;else if(this.options.ecmaVersion>=6&&this.type===J.parenL)t&&this.unexpected(),e.kind=`init`,e.method=!0,e.value=this.parseMethod(n,r);else if(!t&&!s&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.type!==J.comma&&this.type!==J.braceR&&this.type!==J.eq){(n||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var c=e.kind===`get`?0:1;if(e.value.params.length!==c){var l=e.value.start;e.kind===`get`?this.raiseRecoverable(l,`getter should have no params`):this.raiseRecoverable(l,`setter should have exactly one param`)}else e.kind===`set`&&e.value.params[0].type===`RestElement`&&this.raiseRecoverable(e.value.params[0].start,`Setter cannot use rest params`)}else this.options.ecmaVersion>=6&&!e.computed&&e.key.type===`Identifier`?((n||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=i),e.kind=`init`,t?e.value=this.parseMaybeDefault(i,a,e.key):this.type===J.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,a,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected()},X.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(J.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(J.bracketR),e.key;e.computed=!1}return e.key=this.type===J.num||this.type===J.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`)},X.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},X.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Va(t,r.generator)|za|(n?Ba:0)),this.expect(J.parenL),r.params=this.parseBindingList(J.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(r,`FunctionExpression`)},X.parseArrowExpression=function(e,t,n){var r=this.yieldPos,i=this.awaitPos,a=this.awaitIdentPos;return this.enterScope(Va(n,!1)|La),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=r,this.awaitPos=i,this.awaitIdentPos=a,this.finishNode(e,`ArrowFunctionExpression`)},X.parseFunctionBody=function(e,t,n){var r=t&&this.type!==J.braceL,i=this.strict,a=!1;if(r)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!i||o)&&(a=this.strictDirective(this.end),a&&o&&this.raiseRecoverable(e.start,`Illegal 'use strict' directive in function with non-simple parameter list`));var s=this.labels;this.labels=[],a&&(this.strict=!0),this.checkParams(e,!i&&!a&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,qa),e.body=this.parseBlock(!1,void 0,a&&!i),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=s}this.exitScope()},X.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1)if(n[t].type!==`Identifier`)return!1;return!0},X.checkParams=function(e,t){for(var n={},r=0,i=e.params;r<i.length;r+=1){var a=i[r];this.checkLVal(a,Ua,t?null:n)}},X.parseExprList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);){if(a)a=!1;else if(this.expect(J.comma),t&&this.afterTrailingComma(e))break;var o=void 0;n&&this.type===J.comma?o=null:this.type===J.ellipsis?(o=this.parseSpread(r),r&&this.type===J.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):o=this.parseMaybeAssign(!1,r),i.push(o)}return i},X.checkUnreserved=function(e){var t=e.start,n=e.end,r=e.name;this.inGenerator&&r===`yield`&&this.raiseRecoverable(t,`Cannot use 'yield' as identifier inside a generator`),this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use 'await' as identifier inside an async function`),this.keywords.test(r)&&this.raise(t,`Unexpected keyword '`+r+`'`),!(this.options.ecmaVersion<6&&this.input.slice(t,n).indexOf(`\\`)!==-1)&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(r)&&(!this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use keyword 'await' outside an async function`),this.raiseRecoverable(t,`The keyword '`+r+`' is reserved`))},X.parseIdent=function(e,t){var n=this.startNode();return this.type===J.name?n.name=this.value:this.type.keyword?(n.name=this.type.keyword,(n.name===`class`||n.name===`function`)&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop()):this.unexpected(),this.next(!!e),this.finishNode(n,`Identifier`),e||(this.checkUnreserved(n),n.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=n.start)),n},X.parseYield=function(e){this.yieldPos||=this.start;var t=this.startNode();return this.next(),this.type===J.semi||this.canInsertSemicolon()||this.type!==J.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(J.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,`YieldExpression`)},X.parseAwait=function(){this.awaitPos||=this.start;var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!1),this.finishNode(e,`AwaitExpression`)};var so=Ja.prototype;so.raise=function(e,t){var n=Oa(this.input,e);t+=` (`+n.line+`:`+n.column+`)`;var r=SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},so.raiseRecoverable=so.raise,so.curPosition=function(){if(this.options.locations)return new Ea(this.curLine,this.pos-this.lineStart)};var co=Ja.prototype,lo=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[]};co.enterScope=function(e){this.scopeStack.push(new lo(e))},co.exitScope=function(){this.scopeStack.pop()},co.treatFunctionsAsVarInScope=function(e){return e.flags&Na||!this.inModule&&e.flags&Ma},co.declareName=function(e,t,n){var r=!1;if(t===Wa){var i=this.currentScope();r=i.lexical.indexOf(e)>-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&i.flags&Ma&&delete this.undefinedExports[e]}else if(t===Ka)this.currentScope().lexical.push(e);else if(t===Ga){var a=this.currentScope();r=this.treatFunctionsAsVar?a.lexical.indexOf(e)>-1:a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var s=this.scopeStack[o];if(s.lexical.indexOf(e)>-1&&!(s.flags&Ra&&s.lexical[0]===e)||!this.treatFunctionsAsVarInScope(s)&&s.functions.indexOf(e)>-1){r=!0;break}if(s.var.push(e),this.inModule&&s.flags&Ma&&delete this.undefinedExports[e],s.flags&Pa)break}r&&this.raiseRecoverable(n,`Identifier '`+e+`' has already been declared`)},co.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},co.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},co.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Pa)return t}},co.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Pa&&!(t.flags&La))return t}};var uo=function(e,t,n){this.type=``,this.start=t,this.end=0,e.options.locations&&(this.loc=new Da(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},fo=Ja.prototype;fo.startNode=function(){return new uo(this,this.start,this.startLoc)},fo.startNodeAt=function(e,t){return new uo(this,e,t)};function po(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}fo.finishNode=function(e,t){return po.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},fo.finishNodeAt=function(e,t,n,r){return po.call(this,e,t,n,r)};var mo=function(e,t,n,r,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r,this.generator=!!i},ho={b_stat:new mo(`{`,!1),b_expr:new mo(`{`,!0),b_tmpl:new mo("${",!1),p_stat:new mo(`(`,!1),p_expr:new mo(`(`,!0),q_tmpl:new mo("`",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new mo(`function`,!1),f_expr:new mo(`function`,!0),f_expr_gen:new mo(`function`,!0,!1,null,!0),f_gen:new mo(`function`,!1,!1,null,!0)},go=Ja.prototype;go.initialContext=function(){return[ho.b_stat]},go.braceIsBlock=function(e){var t=this.curContext();return t===ho.f_expr||t===ho.f_stat?!0:e===J.colon&&(t===ho.b_stat||t===ho.b_expr)?!t.isExpr:e===J._return||e===J.name&&this.exprAllowed?ha.test(this.input.slice(this.lastTokEnd,this.start)):e===J._else||e===J.semi||e===J.eof||e===J.parenR||e===J.arrow?!0:e===J.braceL?t===ho.b_stat:e===J._var||e===J._const||e===J.name?!1:!this.exprAllowed},go.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token===`function`)return t.generator}return!1},go.updateContext=function(e){var t,n=this.type;n.keyword&&e===J.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},J.parenR.updateContext=J.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===ho.b_stat&&this.curContext().token===`function`&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},J.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?ho.b_stat:ho.b_expr),this.exprAllowed=!0},J.dollarBraceL.updateContext=function(){this.context.push(ho.b_tmpl),this.exprAllowed=!0},J.parenL.updateContext=function(e){var t=e===J._if||e===J._for||e===J._with||e===J._while;this.context.push(t?ho.p_stat:ho.p_expr),this.exprAllowed=!0},J.incDec.updateContext=function(){},J._function.updateContext=J._class.updateContext=function(e){e.beforeExpr&&e!==J.semi&&e!==J._else&&!(e===J._return&&ha.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===J.colon||e===J.braceL)&&this.curContext()===ho.b_stat)?this.context.push(ho.f_expr):this.context.push(ho.f_stat),this.exprAllowed=!1},J.backQuote.updateContext=function(){this.curContext()===ho.q_tmpl?this.context.pop():this.context.push(ho.q_tmpl),this.exprAllowed=!1},J.star.updateContext=function(e){if(e===J._function){var t=this.context.length-1;this.context[t]===ho.f_expr?this.context[t]=ho.f_expr_gen:this.context[t]=ho.f_gen}this.exprAllowed=!0},J.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==J.dot&&(this.value===`of`&&!this.exprAllowed||this.value===`yield`&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var _o=`ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`,vo=_o+` Extended_Pictographic`,yo={9:_o,10:vo,11:vo},bo=`Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu`,xo=`Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb`,So=xo+` Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd`,Co={9:xo,10:So,11:So+` Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho`},wo={};function To(e){var t=wo[e]={binary:Ta(yo[e]+` `+bo),nonBinary:{General_Category:Ta(bo),Script:Ta(Co[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}To(9),To(10),To(11);var Z=Ja.prototype,Eo=function(e){this.parser=e,this.validFlags=`gim`+(e.options.ecmaVersion>=6?`uy`:``)+(e.options.ecmaVersion>=9?`s`:``),this.unicodeProperties=wo[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source=``,this.flags=``,this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=``,this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};Eo.prototype.reset=function(e,t,n){var r=n.indexOf(`u`)!==-1;this.start=e|0,this.source=t+``,this.flags=n,this.switchU=r&&this.parser.options.ecmaVersion>=6,this.switchN=r&&this.parser.options.ecmaVersion>=9},Eo.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,`Invalid regular expression: /`+this.source+`/: `+e)},Eo.prototype.at=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return-1;var i=n.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r)return i;var a=n.charCodeAt(e+1);return a>=56320&&a<=57343?(i<<10)+a-56613888:i},Eo.prototype.nextIndex=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return r;var i=n.charCodeAt(e),a;return!(t||this.switchU)||i<=55295||i>=57344||e+1>=r||(a=n.charCodeAt(e+1))<56320||a>57343?e+1:e+2},Eo.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)},Eo.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Eo.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Eo.prototype.eat=function(e,t){return t===void 0&&(t=!1),this.current(t)===e?(this.advance(t),!0):!1};function Do(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}Z.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,r=0;r<n.length;r++){var i=n.charAt(r);t.indexOf(i)===-1&&this.raise(e.start,`Invalid regular expression flag`),n.indexOf(i,r+1)>-1&&this.raise(e.start,`Duplicate regular expression flag`)}},Z.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Z.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=``,e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(`Unmatched ')'`),(e.eat(93)||e.eat(125))&&e.raise(`Lone quantifier brackets`)),e.maxBackReference>e.numCapturingParens&&e.raise(`Invalid escape`);for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var r=n[t];e.groupNames.indexOf(r)===-1&&e.raise(`Invalid named capture referenced`)}},Z.regexp_disjunction=function(e){for(this.regexp_alternative(e);e.eat(124);)this.regexp_alternative(e);this.regexp_eatQuantifier(e,!0)&&e.raise(`Nothing to repeat`),e.eat(123)&&e.raise(`Lone quantifier brackets`)},Z.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},Z.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise(`Invalid quantifier`),!0):(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))?(this.regexp_eatQuantifier(e),!0):!1},Z.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(`Unterminated group`),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},Z.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},Z.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Z.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return i!==-1&&i<r&&!t&&e.raise(`numbers out of order in {} quantifier`),!0;e.switchU&&!t&&e.raise(`Incomplete quantifier`),e.pos=n}return!1},Z.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},Z.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},Z.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)&&e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise(`Unterminated group`)}e.pos=t}return!1},Z.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise(`Invalid group`),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(`Unterminated group`)}return!1},Z.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},Z.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(`Nothing to repeat`),!1},Z.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Oo(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Oo(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}Z.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;(n=e.current())!==-1&&!Oo(n);)e.advance();return e.pos!==t},Z.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},Z.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise(`Duplicate capture group name`),e.groupNames.push(e.lastStringValue);return}e.raise(`Invalid group`)}},Z.regexp_eatGroupName=function(e){if(e.lastStringValue=``,e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(`Invalid capture group name`)}return!1},Z.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=``,this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Do(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Do(e.lastIntValue);return!0}return!1},Z.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),ko(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function ko(e){return la(e,!0)||e===36||e===95}Z.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Ao(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Ao(e){return ua(e,!0)||e===36||e===95||e===8204||e===8205}Z.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise(`Invalid unicode escape`),e.raise(`Invalid escape`)),!1)},Z.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},Z.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(`Invalid named reference`)}return!1},Z.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},Z.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Z.regexp_eatZero=function(e){return e.current()===48&&!Io(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},Z.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},Z.regexp_eatControlLetter=function(e){var t=e.current();return jo(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function jo(e){return e>=65&&e<=90||e>=97&&e<=122}Z.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var n=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=(i-55296)*1024+(o-56320)+65536,!0}e.pos=a,e.lastIntValue=i}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Mo(e.lastIntValue))return!0;r&&e.raise(`Invalid unicode escape`),e.pos=n}return!1};function Mo(e){return e>=0&&e<=1114111}Z.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},Z.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1},Z.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(No(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise(`Invalid property name`)}return!1};function No(e){return e===100||e===68||e===115||e===83||e===119||e===87}Z.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,r),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i),!0}return!1},Z.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Ca(e.unicodeProperties.nonBinary,t)||e.raise(`Invalid property name`),e.unicodeProperties.nonBinary[t].test(n)||e.raise(`Invalid property value`)},Z.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise(`Invalid property name`)},Z.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=``;Po(t=e.current());)e.lastStringValue+=Do(t),e.advance();return e.lastStringValue!==``};function Po(e){return jo(e)||e===95}Z.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=``;Fo(t=e.current());)e.lastStringValue+=Do(t),e.advance();return e.lastStringValue!==``};function Fo(e){return Po(e)||Io(e)}Z.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Z.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise(`Unterminated character class`)}return!1},Z.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;e.switchU&&(t===-1||n===-1)&&e.raise(`Invalid character class`),t!==-1&&n!==-1&&t>n&&e.raise(`Range out of order in character class`)}}},Z.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(n===99||zo(n))&&e.raise(`Invalid class escape`),e.raise(`Invalid escape`)}e.pos=t}var r=e.current();return r===93?!1:(e.lastIntValue=r,e.advance(),!0)},Z.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},Z.regexp_eatClassControlLetter=function(e){var t=e.current();return Io(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},Z.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(`Invalid escape`),e.pos=t}return!1},Z.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Io(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t};function Io(e){return e>=48&&e<=57}Z.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Lo(n=e.current());)e.lastIntValue=16*e.lastIntValue+Ro(n),e.advance();return e.pos!==t};function Lo(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ro(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}Z.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+n*8+e.lastIntValue:e.lastIntValue=t*8+n}else e.lastIntValue=t;return!0}return!1},Z.regexp_eatOctalDigit=function(e){var t=e.current();return zo(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function zo(e){return e>=48&&e<=55}Z.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var i=e.current();if(!Lo(i))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+Ro(i),e.advance()}return!0};var Bo=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new Da(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},Q=Ja.prototype;Q.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword `+this.type.keyword),this.options.onToken&&this.options.onToken(new Bo(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Q.getToken=function(){return this.next(),new Bo(this)},typeof Symbol<`u`&&(Q[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===J.eof,value:t}}}}),Q.curContext=function(){return this.context[this.context.length-1]},Q.nextToken=function(){var e=this.curContext();if((!e||!e.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(J.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},Q.readToken=function(e){return la(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},Q.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344)return e;var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888},Q.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf(`*/`,this.pos+=2);if(n===-1&&this.raise(this.pos-2,`Unterminated comment`),this.pos=n+2,this.options.locations){ga.lastIndex=t;for(var r;(r=ga.exec(this.input))&&r.index<this.pos;)++this.curLine,this.lineStart=r.index+r[0].length}this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},Q.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!_a(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},Q.skipSpace=function(){loop:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break loop}break;default:if(e>8&&e<14||e>=5760&&va.test(String.fromCharCode(e)))++this.pos;else break loop}}},Q.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},Q.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(J.ellipsis)):(++this.pos,this.finishToken(J.dot))},Q.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(J.assign,2):this.finishOp(J.slash,1)},Q.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=e===42?J.star:J.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++n,r=J.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(J.assign,n+1):this.finishOp(r,n)},Q.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(J.assign,3):this.finishOp(e===124?J.logicalOR:J.logicalAND,2):t===61?this.finishOp(J.assign,2):this.finishOp(e===124?J.bitwiseOR:J.bitwiseAND,1)},Q.readToken_caret=function(){return this.input.charCodeAt(this.pos+1)===61?this.finishOp(J.assign,2):this.finishOp(J.bitwiseXOR,1)},Q.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||ha.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(J.incDec,2):t===61?this.finishOp(J.assign,2):this.finishOp(J.plusMin,1)},Q.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+n)===61?this.finishOp(J.assign,n+1):this.finishOp(J.bitShift,n)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(n=2),this.finishOp(J.relational,n))},Q.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(J.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(J.arrow)):this.finishOp(e===61?J.eq:J.prefix,1)},Q.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(J.questionDot,2)}if(t===63)return e>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(J.assign,3):this.finishOp(J.coalesce,2)}return this.finishOp(J.question,1)},Q.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(J.parenL);case 41:return++this.pos,this.finishToken(J.parenR);case 59:return++this.pos,this.finishToken(J.semi);case 44:return++this.pos,this.finishToken(J.comma);case 91:return++this.pos,this.finishToken(J.bracketL);case 93:return++this.pos,this.finishToken(J.bracketR);case 123:return++this.pos,this.finishToken(J.braceL);case 125:return++this.pos,this.finishToken(J.braceR);case 58:return++this.pos,this.finishToken(J.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(J.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(J.prefix,1)}this.raise(this.pos,`Unexpected character '`+Uo(e)+`'`)},Q.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},Q.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,`Unterminated regular expression`);var r=this.input.charAt(this.pos);if(ha.test(r)&&this.raise(n,`Unterminated regular expression`),e)e=!1;else{if(r===`[`)t=!0;else if(r===`]`&&t)t=!1;else if(r===`/`&&!t)break;e=r===`\\`}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var a=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(a);var s=this.regexpState||=new Eo(this);s.reset(n,i,o),this.validateRegExpFlags(s),this.validateRegExpPattern(s);var c=null;try{c=new RegExp(i,o)}catch{}return this.finishToken(J.regexp,{pattern:i,flags:o,value:c})},Q.readInt=function(e,t,n){for(var r=this.options.ecmaVersion>=12&&t===void 0,i=n&&this.input.charCodeAt(this.pos)===48,a=this.pos,o=0,s=0,c=0,l=t??1/0;c<l;++c,++this.pos){var u=this.input.charCodeAt(this.pos),d=void 0;if(r&&u===95){i&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed in legacy octal numeric literals`),s===95&&this.raiseRecoverable(this.pos,`Numeric separator must be exactly one underscore`),c===0&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed at the first of digits`),s=u;continue}if(d=u>=97?u-97+10:u>=65?u-65+10:u>=48&&u<=57?u-48:1/0,d>=e)break;s=u,o=o*e+d}return r&&s===95&&this.raiseRecoverable(this.pos-1,`Numeric separator is not allowed at the last of digits`),this.pos===a||t!=null&&this.pos-a!==t?null:o};function Vo(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,``))}function Ho(e){return typeof BigInt==`function`?BigInt(e.replace(/_/g,``)):null}Q.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return n??this.raise(this.start+2,`Expected number in radix `+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(n=Ho(this.input.slice(t,this.pos)),++this.pos):la(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(J.num,n)},Q.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,`Invalid number`);var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;n&&this.strict&&this.raise(t,`Invalid number`);var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&r===110){var i=Ho(this.input.slice(t,this.pos));return++this.pos,la(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(J.num,i)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),r===46&&!n&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!n&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,`Invalid number`)),la(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`);var a=Vo(this.input.slice(t,this.pos),n);return this.finishToken(J.num,a)},Q.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var n=++this.pos;t=this.readHexChar(this.input.indexOf(`}`,this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(n,`Code point out of bounds`)}else t=this.readHexChar(4);return t};function Uo(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}Q.readString=function(e){for(var t=``,n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated string constant`);var r=this.input.charCodeAt(this.pos);if(r===e)break;r===92?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):(_a(r,this.options.ecmaVersion>=10)&&this.raise(this.start,`Unterminated string constant`),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(J.string,t)};var Wo={};Q.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Wo)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},Q.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Wo;this.raise(e,t)},Q.readTmplToken=function(){for(var e=``,t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated template`);var n=this.input.charCodeAt(this.pos);if(n===96||n===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===J.template||this.type===J.invalidTemplate)?n===36?(this.pos+=2,this.finishToken(J.dollarBraceL)):(++this.pos,this.finishToken(J.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(J.template,e));if(n===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(_a(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
92
92
  `;break;default:e+=String.fromCharCode(n);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else ++this.pos}},Q.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case"`":return this.finishToken(J.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,`Unterminated template`)},Q.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`
93
93
  `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Uo(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(e){var n=this.pos-1;return this.invalidStringToken(n,`Invalid escape sequence in template string`),null}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return _a(t)?``:String.fromCharCode(t)}},Q.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},Q.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(ua(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var o=this.readCodePoint();(t?la:ua)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=Uo(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},Q.readWord=function(){var e=this.readWord1(),t=J.name;return this.keywords.test(e)&&(t=ma[e]),this.finishToken(t,e)},Ja.acorn={Parser:Ja,version:`7.4.1`,defaultOptions:ka,Position:Ea,SourceLocation:Da,getLineInfo:Oa,Node:uo,TokenType:K,tokTypes:J,keywordTypes:ma,TokContext:mo,tokContexts:ho,isIdentifierChar:ua,isIdentifierStart:la,Token:Bo,isNewLine:_a,lineBreak:ha,lineBreakG:ga,nonASCIIwhitespace:va};function Go(e,t){return Ja.parse(e,t)}function Ko(e){return[`ArrayOrObject1D`,`ArrayOrObject2D`,`ArrayOrObject3DPlus`,`Literal`,`Symbol`,`UnaryOperation`,`BinaryOperation`,`Random`,`CallDefinedFunction`,`AnyFunction`,`ConditionalExpression`,`ArrayExpression`,`ObjectExpression`].includes(e.type)}function qo(e){return e.type===`Program`?e.body.map(e=>$(e)):[$(e)]}function $(e){switch(e.type){case`Program`:return us(e);case`ExpressionStatement`:return ds(e);case`AssignmentExpression`:return fs(e);case`MemberExpression`:return hs(e);case`UnaryExpression`:return ps(e);case`BinaryExpression`:return ms(e);case`Identifier`:return gs(e);case`Literal`:return _s(e);case`CallExpression`:return as(e);case`IfStatement`:return is(e);case`BlockStatement`:return rs(e);case`FunctionDeclaration`:return Jo(e);case`ForStatement`:return ns(e);case`BreakStatement`:return es(e);case`ReturnStatement`:return ts(e);case`ContinueStatement`:return $o(e);case`UpdateExpression`:return Yo(e);case`LogicalExpression`:return Xo(e);case`TemplateLiteral`:return Zo(e);case`TemplateElement`:return Qo(e);case`ConditionalExpression`:return vs(e);case`Property`:return ys(e);case`ObjectExpression`:return bs(e);case`ArrayExpression`:return xs(e);default:throw console.log(e),Error(`未定義の AST ノードです :`+e.type)}}function Jo(e){return{type:`DefinedFunction`,functionName:e.id.name,body:$(e.body)}}function Yo(e){return{type:`UpdateExpression`,operator:e.operator,argument:$(e.argument)}}function Xo(e){return{type:`LogicalExpression`,operator:e.operator,left:$(e.left),right:$(e.right)}}function Zo(e){return{type:`TemplateLiteral`,expressions:e.expressions.map(e=>$(e)),quasis:e.quasis.map(e=>$(e))}}function Qo(e){return{type:`TemplateElement`,value:e.value}}function $o(e){return{type:`Continue`,label:e.label}}function es(e){return{type:`Break`,label:e.label}}function ts(e){return{type:`Return`,argument:$(e.argument)}}function ns(e){return{type:`ForStatement`,body:e.body.body.map(e=>$(e)),init:$(e.init),test:$(e.test),update:$(e.update)}}function rs(e){return{type:`BlockStatement`,value:e.body.map(e=>$(e))}}function is(e){return{type:`IfStatement`,consequent:$(e.consequent),test:$(e.test),alternate:e.alternate?$(e.alternate):void 0}}function as(e){let t=e.callee.name;switch(t){case`RAND`:return ls(e.arguments);case`JUMPGATE`:return cs(e.arguments);case`MSG`:case`MESSAGE`:return ss(e.arguments);case`MUSIC`:case`SOUND`:case`BGM_STOP`:case`STOP_BGM`:case`SOUND_STOP`:case`STOP_SOUND`:case`ALL_SOUND_STOP`:case`STOP_ALL_SOUND`:case`SAVE`:case`LOG`:case`ABLE_CHANGE_SPEED`:case`SET_SPEED`:case`CHANGE_GAMEOVER_POS`:case`DEL_PLAYER`:case`RESTART_GAME`:case`URL_JUMPGATE`:case`HIDE_STATUS`:case`PARTS`:case`FACE`:case`EFFECT`:case`CHANGE_PLAYER_IMAGE`:case`CHANGE_PLAYER_IMG`:case`HAS_ITEM`:case`REMOVE_ITEM`:case`MOVE`:case`PARTS_MOVE`:case`IS_PLAYER_WAITING_MESSAGE`:case`IS_MANUAL_PAUSE`:case`IS_PLAYER_WAITING_ENTER`:case`GET_UNIXTIME`:case`GET_DATE_YEAR`:case`GET_DATE_MONTH`:case`GET_DATE_DAY`:case`GET_DATE_HOUR`:case`GET_DATE_MINUTES`:case`GET_DATE_SECONDS`:case`GET_DATE_MILLISECONDS`:case`GET_DATE_WEEKDAY`:case`CHANGE_SYSMSG`:case`PICTURE`:case`PICTURE_FROM_PARTS`:case`CLEAR_ALL_PICTURES`:case`HAS_PICTURE`:case`SHOW_USER_DEF_VAR`:case`ABS`:case`POW`:case`SQRT`:case`SIN`:case`COS`:case`TAN`:case`GET_GAMEOVER_POS_X`:case`GET_GAMEOVER_POS_Y`:case`ABORT_BATTLE`:case`EXIT`:case`GET_IMG_POS_X`:case`GET_IMG_POS_Y`:case`LENGTH`:case`IS_NUMBER`:case`MANUAL_PAUSE`:case`WAIT_ENTER`:case`COLOR`:case`EFFITEM`:case`CHANGE_BOM_IMG`:case`CHANGE_BOM_IMAGE`:case`CHANGE_CLICK_IMAGE`:case`CHANGE_CLICK_IMG`:case`CHANGE_FRAME_IMAGE`:case`CHANGE_FRAME_IMG`:case`CHANGE_YESNO_IMAGE`:case`CHANGE_YESNO_IMG`:case`NO_GAMEOVER`:case`DEFAULT`:case`DIR_MAP`:case`CHANGE_SOUND_ATTACK`:case`CHANGE_SOUND_DECISION`:return os(e.arguments,t);default:return{type:`CallDefinedFunction`,functionName:t}}}function os(e,t){return{type:`AnyFunction`,functionName:t,value:e.map(e=>$(e))}}function ss(e){return{type:`Msg`,value:$(e[0])}}function cs(e){if(e.length<2)throw Error(`RAND関数には引数が2つ必要です。`);let t={x:e[0],y:e[1]};return{type:`Jumpgate`,x:$(t.x),y:$(t.y)}}function ls(e){if(e.length<1)throw Error(`RAND関数には引数が必要です。`);return{type:`Random`,value:$(e[0])}}function us(e){if(e.body.length!==1)throw Error(`bodyが1以外の場合評価できません。`);return $(e.body[0])}function ds(e){return $(e.expression)}function fs(e){let t=$(e.left),n=$(e.right);if(!Ko(n))throw Error(`値以外を代入式の右辺に設定できません`);switch(e.operator){case`=`:case`+=`:case`-=`:case`*=`:case`/=`:if(t.type===`ArrayOrObject2D`){if(t.name===`m`||t.name===`o`)return{type:`PartsAssignment`,partsKind:t.name===`m`?`map`:`object`,destinationX:t.indecies[0],destinationY:t.indecies[1],value:n,operator:e.operator};if(t.name===`v`)return{type:`UserVariableAssignment`,index:[t.indecies[0],t.indecies[1]],value:n,operator:e.operator};throw Error(`想定していない記号が2次元配列ででてきました`)}else if(t.type===`ArrayOrObject1D`){if(t.name===`ITEM`)return{type:`ItemAssignment`,itemBoxPosition1to12:t.indecies[0],value:n,operator:e.operator};if(t.name===`v`)return{type:`UserVariableAssignment`,index:[t.indecies[0]],value:n,operator:e.operator};if(t.name===`LP`)return{type:`LoopPointerAssignment`,index:t.indecies[0],value:n,operator:e.operator};throw Error(`1次元配列にて想定していないシンボルが指定されました ${t.name}`)}else if(t.type===`Symbol`){if(t.name===`m`||t.name===`o`||t.name===`v`||t.name===`ITEM`||t.name===`X`||t.name===`Y`||t.name===`ID`||t.name===`TYPE`||t.name===`CX`||t.name===`CY`||t.name===`PICTURE`||t.name===`PLAYER_PX`||t.name===`PLAYER_PY`||t.name===`MOVE_SPEED`||t.name===`MOVE_FRAME_TIME`||t.name===`LP`||t.name===`undefined`)throw Error(`このシンボルには代入できません`);if(t.name===`AT_TOTAL`)throw Error(`"装備品込みの攻撃力(AT_TOTAL)への代入はできません。"`);if(t.name===`DF_TOTAL`)throw Error(`"装備品込みの防御力(DF_TOTAL)への代入はできません。"`);if(t.name===`ENEMY_HP`||t.name===`ENEMY_AT`||t.name===`ENEMY_DF`||t.name===`ENEMY_GD`)throw Error(`敵ステータス (ENEMY_HP, ENEMY_AT, ENEMY_DF, ENEMY_GD) への代入はできません。`);return{type:`SpecialParameterAssignment`,kind:t.name,value:n,operator:e.operator}}else if(t.type===`Literal`)throw Error(`数値には代入できません`);else if(t.type===`ArrayOrObject3DPlus`&&t.name===`v`)return{type:`UserVariableAssignment`,index:t.indecies,value:n,operator:e.operator};else throw Error(`代入できません`);default:throw Error(`想定していないオペレーターです`)}}function ps(e){let t=$(e.argument);if(![`+`,`-`,`!`].includes(e.operator))throw Error(`未定義の演算子です :`+e.operator);if(!Ko(t))throw Error(`単項演算子が適用できません`);return{type:`UnaryOperation`,operator:e.operator,argument:t}}function ms(e){let t=$(e.left),n=$(e.right);if(!Ko(t)||!Ko(n))throw Error(`左辺または右辺が評価不能です`);switch(e.operator){case`+`:case`-`:case`*`:case`/`:case`%`:case`>`:case`<`:case`>=`:case`<=`:case`==`:case`!=`:return{type:`BinaryOperation`,operator:e.operator,left:t,right:n};default:throw Error(`未定義の演算子です :`+e.operator)}}function hs(e){let t=$(e.object),n=$(e.property);if(t.type===`Symbol`){if(![`v`,`m`,`o`,`ITEM`,`LP`,`PICTURE`].includes(t.name))throw Error(`このシンボルは配列にできません`);if(Ko(n))return{type:`ArrayOrObject1D`,name:t.name,indecies:[n]};throw Error(`WWAでは存在しない構文です`)}else if(t.type===`ArrayOrObject1D`){if(t.name===`ITEM`||t.name===`PICTURE`)throw Error(`この配列は2次元以上にはできません。`);if(Ko(n))return{type:`ArrayOrObject2D`,name:t.name,indecies:[...t.indecies,n]};throw Error(`WWAでは存在しない構文です`)}else if(t.type===`ArrayOrObject2D`||t.type===`ArrayOrObject3DPlus`){if(t.name===`m`||t.name===`o`)throw Error(`この配列は3次元以上にはできません。`);if(t.name===`v`&&Ko(n))return{type:`ArrayOrObject3DPlus`,name:t.name,indecies:[...t.indecies,n]}}else throw Error(`WWAでは存在しない構文です`)}function gs(e){switch(e.name){case`m`:case`o`:case`ITEM`:case`X`:case`Y`:case`ID`:case`TYPE`:case`PX`:case`PY`:case`CX`:case`CY`:case`v`:case`HP`:case`HPMAX`:case`AT`:case`AT_TOTAL`:case`DF`:case`DF_TOTAL`:case`GD`:case`STEP`:case`TIME`:case`PDIR`:case`i`:case`j`:case`k`:case`LOOPLIMIT`:case`ITEM_ID`:case`ITEM_POS`:case`ENEMY_HP`:case`ENEMY_AT`:case`ENEMY_DF`:case`PICTURE`:case`PLAYER_PX`:case`PLAYER_PY`:case`MOVE_SPEED`:case`MOVE_FRAME_TIME`:case`LP`:case`undefined`:return{type:`Symbol`,name:e.name};default:return{type:`Literal`,value:e.name}}}function _s(e){return{type:`Literal`,value:e.value}}function vs(e){let t=$(e.consequent),n=$(e.alternate);return{type:`ConditionalExpression`,consequent:t,test:$(e.test),alternate:n}}function ys(e){let t=$(e.key);if(t.type===`Symbol`)throw Error(`Object のキー ${t.name} は予約されているため、使用できません。`);if(t.type!==`Literal`)throw Error(`Object のキーが不正です。 Literal を期待していましたが、実際は ${t.type} でした。`);return{type:`Property`,key:t,value:$(e.value)}}function bs(e){return{type:`ObjectExpression`,properties:e.properties.map(ys)}}function xs(e){return{type:`ArrayExpression`,elements:e.elements.map($)}}var Ss=[j.OBJECT,j.MAP],Cs=e=>Math.abs(e)<2**-52;function ws(e){switch(typeof e){case`object`:if(e===null)break;return Array.isArray(e)?e.length:Object.keys(e).length;case`string`:return e.length}throw Error(`LENGTH: 対応できない値が指定されています。`)}var Ts=(e,t)=>(e-t)*R.CHIP_SIZE,Es=(e,t)=>(e-t)*R.CHIP_SIZE,Ds=Object.freeze({"=":(e,t)=>t,"+=":(e,t)=>e+t,"-=":(e,t)=>e-t,"*=":(e,t)=>e*t,"/=":(e,t)=>e/t}),Os=class{constructor(e){this.wwa=e,this.loop_limit=1e5,this.state={messagePageAdditionalQueue:[]}}setTriggerParts(e,t,n){this.state={...this.state,triggerParts:{id:e,type:t,position:n}}}clearTemporaryState(){this.state={...this.state,triggerParts:void 0,messagePageAdditionalQueue:[]}}setEarnedItem(e,t){this.state={...this.state,earnedItem:{partsId:e,itemPos1To12:t}}}clearEarnedItem(){this.state={...this.state,earnedItem:void 0}}setBattleDamageCalculationMode(e){this.state={...this.state,battleDamageCalculation:{estimatingParams:e}}}clearBattleDamageCalculationMode(){this.state={...this.state,battleDamageCalculation:void 0}}evalWwaNodes(e){return this.evalWwaNode({type:`BlockStatement`,value:e})}evalWwaNode(e){if(!(e.type===`BlockStatement`&&Array.isArray(e.value)&&e.value.length===0))try{return new ks(this).evalWwaNode(e)}catch(e){if(e instanceof As||e instanceof js)return e.value;throw e}}addPageAdditionalItem(e){this.state.messagePageAdditionalQueue.push(e)}pickPageAdditionalQueue(){let e=[...this.state.messagePageAdditionalQueue];return this.state.messagePageAdditionalQueue=[],e}updateLoopLimit(e){this.loop_limit=e}},ks=class{constructor(e){this.generator=e,this.for_id={i:null,j:null,k:null,LP:[],loopCount:0,break_flag:!1,continue_flag:!1}}evalWwaNodes(e){let t;return e.forEach(e=>{t=this.evalWwaNode(e)}),t}evalWwaNode(e){if(!(this.for_id.break_flag||this.for_id.continue_flag))switch(e.type){case`UnaryOperation`:return this.evalUnaryOperation(e);case`BinaryOperation`:return this.evalBinaryOperation(e);case`Symbol`:return this.evalSymbol(e);case`ArrayOrObject1D`:return this.evalArrayOrObject1D(e);case`ArrayOrObject2D`:return this.evalArrayOrObject2D(e);case`ArrayOrObject3DPlus`:return this.evalArrayOrObject3DPlus(e);case`Literal`:return this.evalLiteral(e);case`UserVariableAssignment`:return this.evalSetUserVariable(e);case`SpecialParameterAssignment`:return this.evalSetSpecialParameter(e);case`Random`:return this.evalRandom(e);case`Jumpgate`:return this.evalJumpgate(e);case`Msg`:return this.evalMessage(e);case`ItemAssignment`:return this.itemAssignment(e);case`IfStatement`:return this.ifStatement(e);case`BlockStatement`:return this.blockStatement(e);case`PartsAssignment`:return this.partsAssignment(e);case`ForStatement`:return this.forStateMent(e);case`AnyFunction`:return this.wrapCallFunction(e,e=>this.evalAnyFunction(e));case`CallDefinedFunction`:return this.wrapCallFunction(e,e=>this.callDefinedFunction(e));case`Break`:return this.breakStatement(e);case`Return`:throw new As(this.returnStatement(e));case`Continue`:return this.contunueStatment(e);case`UpdateExpression`:return this.updateExpression(e);case`LogicalExpression`:return this.logicalExpression(e);case`TemplateLiteral`:return this.convertTemplateLiteral(e);case`ConditionalExpression`:return this.convertConditionalExpression(e);case`Property`:return this.property(e);case`ObjectExpression`:return this.objectExpression(e);case`ArrayExpression`:return this.arrayExpression(e);case`LoopPointerAssignment`:return this.convertLoopPointerExpression(e);default:throw console.log(e),Error(`未定義または未実装のノードです`)}}wrapCallFunction(e,t){try{return t(e)}catch(e){if(e instanceof As)return e.value;throw e}}callDefinedFunction(e){let t=this.generator.wwa.getUserScript(e.functionName);if(t===null)throw Error(`未定義の関数が呼び出されました: ${e.functionName}`);return this.evalWwaNode(t)}updateExpression(e){if(e.argument.type!==`ArrayOrObject1D`&&e.argument.type!==`ArrayOrObject2D`&&e.argument.type!==`Symbol`)throw Error(`node.argument.typeが インクリメント/デクリメントできる対象ではありません。: ${e.argument.type}`);let t=t=>{switch(e.operator){case`++`:return t+1;case`--`:return t-1;default:throw Error(`想定外のOperatorが渡されました :`+e.operator)}},n=this.evalWwaNode(e.argument),r={type:`Literal`,value:t(n)};switch(e.argument.type){case`ArrayOrObject1D`:if(e.argument.name===`v`)this.evalSetUserVariable({type:`UserVariableAssignment`,index:[e.argument.indecies[0]],value:r});else if(e.argument.name===`ITEM`)this.itemAssignment({type:`ItemAssignment`,itemBoxPosition1to12:e.argument.indecies[0],value:r});else if(e.argument.name===`LP`)this.convertLoopPointerExpression({type:`LoopPointerAssignment`,index:e.argument.indecies[0],value:r,operator:`=`});else throw Error(`このリテラルはインクリメント/デクリメントできません: ${e.argument.type}`);break;case`ArrayOrObject2D`:{let t={type:`PartsAssignment`,destinationX:e.argument.indecies[0],destinationY:e.argument.indecies[1],value:r,operator:`=`};if(e.argument.name===`m`)this.partsAssignment({...t,partsKind:`map`});else if(e.argument.name===`o`)this.partsAssignment({...t,partsKind:`object`});else throw Error(`このリテラルはインクリメント/デクリメントできません: ${e.argument.type}`);break}case`Symbol`:{let t={type:`SpecialParameterAssignment`,kind:e.argument.name,value:r};this.evalSetSpecialParameter(t);break}}return n}logicalExpression(e){let t=this.evalWwaNode(e.left),n=this.evalWwaNode(e.right);switch(e.operator){case`||`:return t||n;case`&&`:return t&&n;default:throw Error(`存在しない論理式です!: `+e.operator)}}convertTemplateLiteral(e){let t=e.expressions.map(e=>this.evalWwaNode(e)),n=e.quasis.map(e=>e.value.cooked),r=``;return n.forEach((e,n)=>{r+=e,t[n]!==void 0&&(r+=t[n])}),r}contunueStatment(e){this.for_id.continue_flag=!0}breakStatement(e){this.for_id.break_flag=!0}returnStatement(e){return this.evalWwaNode(e.argument)}forStateMent(e){let t=e.init;for((()=>{if(`kind`in t)switch(t.kind){case`i`:if(this.for_id.i!==null)throw Error(`iの値が既に外側のforループで使われています。`);break;case`j`:if(this.for_id.j!==null)throw Error(`jの値が既に外側のforループで使われています。`);break;case`k`:if(this.for_id.k!==null)throw Error(`kの値が既に外側のforループで使われています。`);break;default:throw console.log(e),Error(`予想外の変数がfor文内で使用されました :`+t.kind)}else switch(t.type){case`LoopPointerAssignment`:let n=Number(this.evalWwaNode(t.index));if(Number.isNaN(n))throw Error(`LPのIndex値はNumberでないといけません。: ${n}`);if(this.for_id.LP[n]!==null&&this.for_id.LP[n]!==void 0)throw Error(`LP[${n}]の値が既に外側のforループで使われています。`);break;default:throw console.log(e),Error(`予想外の1次元配列がfor文内で使用されました :`+t)}this.evalWwaNode(e.init)})();this.evalWwaNode(e.test);this.evalWwaNode(e.update)){if(this.for_id.loopCount++,this.for_id.loopCount>this.generator.loop_limit)throw Error(`処理回数が多すぎます!
94
- 上限値は LOOPLIMIT で変えられます。`);if(this.for_id.break_flag||!this.evalWwaNode(e.test))break;this.evalWwaNodes(e.body),this.for_id.continue_flag=!1}if(this.for_id.break_flag=!1,`kind`in t)switch(t.kind){case`i`:this.for_id.i=null;break;case`j`:this.for_id.j=null;break;case`k`:this.for_id.k=null;break}else switch(t.type){case`LoopPointerAssignment`:let e=Number(this.evalWwaNode(t.index));this.for_id.LP[e]=null;break}}_checkArgsLength(e,t){if(t.value.length<e)throw Error(`関数 ${t.functionName} の引数が不足しています!`)}evalAnyFunction(e){let t=this.generator.wwa.getGameStatus();switch(e.functionName){case`MUSIC`:case`SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]),n=e.value[1]?this.evalWwaNode(e.value[1]):void 0,r=e.value[2]?this.evalWwaNode(e.value[2]):!1;return this.generator.wwa.playSound(t,{loopPlaying:n,bgmDelayDurationMs:r>=0?r:void 0}),t}case`BGM_STOP`:case`STOP_BGM`:this.generator.wwa.stopBgm();return;case`SOUND_STOP`:case`STOP_SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);return this.generator.wwa.stopSound(t,{includeBgm:!0}),t}case`STOP_SOUNDS`:case`ALL_SOUND_STOP`:case`STOP_ALL_SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.stopAllSound({includeBgm:!!t});return}case`SAVE`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.disableSave(t),t}case`LOG`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);console.log(t instanceof Map?d(t):t);return}case`ABLE_CHANGE_SPEED`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.speedChangeJudge(t),t}case`SET_SPEED`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));this.generator.wwa.setPlayerSpeedIndex(t);return}case`CHANGE_GAMEOVER_POS`:{this._checkArgsLength(2,e);let t={x:Number(this.evalWwaNode(e.value[0])),y:Number(this.evalWwaNode(e.value[1]))};if(t.x<0||t.x>=this.generator.wwa.getMapWidth()||t.y<0||t.y>this.generator.wwa.getMapWidth())throw Error(`マップの範囲外が指定されています!`);this.generator.wwa.setGameOverPosition(new S(t.x,t.y));return}case`DEL_PLAYER`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.setDelPlayer(t);return}case`RESTART_GAME`:this.generator.wwa.restartGame();return;case`URL_JUMPGATE`:throw Error(`URL_JUMPGATE 関数は調整中のためご利用になれません`);case`HIDE_STATUS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=!!this.evalWwaNode(e.value[1]);this.generator.wwa.hideStatus(t,n);return}case`PARTS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=e.value[2]?Number(this.evalWwaNode(e.value[2])):0,i=e.value[3]?!!this.evalWwaNode(e.value[3]):!1;if(t<0||n<0)throw Error(`パーツ番号が不正です`);if(!Ss.includes(r))throw Error(`パーツ種別が不明です`);this.generator.wwa.replaceParts(t,n,r,i);return}case`FACE`:{this._checkArgsLength(6,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2])),i=Number(this.evalWwaNode(e.value[3])),a=Number(this.evalWwaNode(e.value[4])),o=Number(this.evalWwaNode(e.value[5]));if(t<0||n<0||r<0||i<0||a<0||o<0)throw Error(`各引数は0以上の整数でなければなりません。`);this.generator.addPageAdditionalItem({type:`face`,data:{face:new w(new S(t,n),new S(r,i),new S(a,o))}});return}case`EFFECT`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));if(t<0)throw Error(`待ち時間は0以上の整数でなければなりません。`);if(t===0){this.generator.wwa.stopEffect();return}let n=[];for(let t=1;t<e.value.length;t+=2){let r=Number(this.evalWwaNode(e.value[t]));if(r<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);if(t+1===e.value.length)throw Error(`画像のパーツ座標指定で、Y座標が指定されていません。`);let i=Number(this.evalWwaNode(e.value[t+1]));if(i<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);n.push(new S(r,i))}this.generator.wwa.setEffect(t,n);return}case`CHANGE_PLAYER_IMAGE`:case`CHANGE_PLAYER_IMG`:{this._checkArgsLength(2,e);let t=new S(Number(this.evalWwaNode(e.value[0])),Number(this.evalWwaNode(e.value[1])));this.generator.wwa.setPlayerImgCoord(t);return}case`HAS_ITEM`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0]));return t.itemBox.includes(n)}case`REMOVE_ITEM`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0])),r=e.value[1]?this.evalWwaNode(e.value[1])===1:!1,i=0;for(let e=0;e<t.itemBox.length;e++)if(n===t.itemBox[e]&&(this.generator.wwa.setPlayerGetItem(e+1,0),i++,!r))return i;return i}case`MOVE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));if(t<=0||t>9)throw Error(`MOVEの移動先は2/4/6/8で指定してください!`);return this.generator.wwa.movePlayer(t),this.generator.wwa.movePlayer(t),0}case`PARTS_MOVE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return this.generator.wwa.setMoveMacroWaitingToPlayer(t),0}case`IS_PLAYER_WAITING_MESSAGE`:return this.generator.wwa.isPlayerWaitingMessage();case`IS_MANUAL_PAUSE`:case`IS_PLAYER_WAITING_ENTER`:return this.generator.wwa.isManualPause();case`GET_UNIXTIME`:return Math.floor(new Date().getTime()/1e3);case`GET_DATE_YEAR`:return new Date().getFullYear();case`GET_DATE_MONTH`:return new Date().getMonth()+1;case`GET_DATE_DAY`:return new Date().getDate();case`GET_DATE_HOUR`:return new Date().getHours();case`GET_DATE_MINUTES`:return new Date().getMinutes();case`GET_DATE_SECONDS`:return new Date().getSeconds();case`GET_DATE_MILLISECONDS`:return new Date().getMilliseconds();case`GET_DATE_WEEKDAY`:return new Date().getDay();case`SHOW_USER_DEF_VAR`:console.log(this.generator.wwa.getAllUserNameVar());return;case`CHANGE_SYSMSG`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]),n=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0,r=this.resolveSystemMessageKeyFromMacroArg(t);if(!r)throw Error(`このIDのシステムメッセージは未定義です。`);if(typeof n==`number`||typeof n==`string`||typeof n==`boolean`)this.generator.wwa.overwriteSystemMessage(r,String(n));else if(n==null)this.generator.wwa.overwriteSystemMessage(r,void 0);else throw Error(`この値は文字列に変換できないため、システムメッセージを表示できません。`);break}case`PICTURE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0;if(n===void 0){this.generator.wwa.deletePictureRegistry(t);return}if(n instanceof Map)this.generator.wwa.setPictureRegistryFromObject(t,d(n));else if(typeof n==`string`)this.generator.wwa.setPictureRegistryFromRawText(t,n);else throw Error(`ピクチャのプロパティ定義は文字列あるいはオブジェクトである必要があります。`);break}case`PICTURE_FROM_PARTS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(n===0){this.generator.wwa.deletePictureRegistry(t);return}let r=e.value.length>=3?Number(this.evalWwaNode(e.value[2])):j.OBJECT;if(!Ss.includes(r))throw Error(`パーツ種別が不明です`);let i=this.generator.wwa.getGameStatus();this.generator.wwa.setPictureRegistry(t,n,r,i.playerCoord);break}case`CLEAR_ALL_PICTURES`:this.generator.wwa.clearAllPictures();break;case`HAS_PICTURE`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0]));return t.wwaData.pictureRegistry.some(e=>e.layerNumber===n)}case`ABS`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return Math.abs(t)}case`POW`:return this._checkArgsLength(2,e),Number(this.evalWwaNode(e.value[0]))**+Number(this.evalWwaNode(e.value[1]));case`SQRT`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return Math.sqrt(t)}case`SIN`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=Math.sin(t*Math.PI/180);return Cs(n)?0:n}case`COS`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=Math.cos(t*Math.PI/180);return Cs(n)?0:n}case`TAN`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=Math.tan(t*Math.PI/180);return Cs(n)?0:n}case`GET_GAMEOVER_POS_X`:return this.generator.wwa.getGemeOverPosition().x;case`GET_GAMEOVER_POS_Y`:return this.generator.wwa.getGemeOverPosition().y;case`ABORT_BATTLE`:throw this.generator.state.battleDamageCalculation&&(this.generator.state.battleDamageCalculation.aborted=!0),new js(`ABORT_BATTLE`);case`EXIT`:throw new js(`EXIT`,this.evalWwaNode(e.value[0]));case`GET_IMG_POS_X`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=(e.value[1]===void 0?0:Number(this.evalWwaNode(e.value[1])))===0?j.OBJECT:j.MAP;if(n===j.OBJECT){let n=e.value[2]===void 0?!0:Number(this.evalWwaNode(e.value[2]))===0,r=this.generator.wwa.getObjectInfo(t),i=n?r[R.ATR_X]:r[R.ATR_X2];return Math.floor(i/R.CHIP_SIZE)}else if(n===j.MAP){let e=this.generator.wwa.getMapInfo(t)[R.ATR_X];return Math.floor(e/R.CHIP_SIZE)}throw Error(`GET_IMG_POS_X: 指定したIDのパーツのTypeが異常です。`)}case`GET_IMG_POS_Y`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=(e.value[1]===void 0?0:Number(this.evalWwaNode(e.value[1])))===0?j.OBJECT:j.MAP;if(n===j.OBJECT){let n=e.value[2]===void 0?!0:Number(this.evalWwaNode(e.value[2]))===0,r=this.generator.wwa.getObjectInfo(t),i=n?r[R.ATR_Y]:r[R.ATR_Y2];return Math.floor(i/R.CHIP_SIZE)}else if(n===j.MAP){let e=this.generator.wwa.getMapInfo(t)[R.ATR_Y];return Math.floor(e/R.CHIP_SIZE)}throw Error(`GET_IMG_POS_Y: 指定したIDのパーツのTypeが異常です。`)}case`LENGTH`:return this._checkArgsLength(1,e),ws(this.evalWwaNode(e.value[0]));case`IS_NUMBER`:return this._checkArgsLength(1,e),typeof this.evalWwaNode(e.value[0])==`number`;case`MANUAL_PAUSE`:case`WAIT_ENTER`:this.generator.wwa.manualPause({functionNames:{cancelPause:e.value[0]?this.evalWwaNode(e.value[0]):``,up:e.value[1]?this.evalWwaNode(e.value[1]):``,down:e.value[2]?this.evalWwaNode(e.value[2]):``,right:e.value[3]?this.evalWwaNode(e.value[3]):``,left:e.value[4]?this.evalWwaNode(e.value[4]):``}});return;case`COLOR`:{this._checkArgsLength(4,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2])),i=Number(this.evalWwaNode(e.value[3]));if(t<0||t>5)throw Error(`種別は0から5までです`);if(n<0||n>255||r<0||r>255||i<0||i>255)throw Error(`色が範囲外です`);this.generator.wwa.changeStyleRule(t,n,r,i);return}case`EFFITEM`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.updateItemEffectEnabled(t);return}case`CHANGE_BOM_IMAGE`:case`CHANGE_BOM_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(t<0||n<0)throw Error(`座標は0以上の整数ではありません`);this.generator.wwa.setBattleEffectCoord(new S(t,n));return}case`CHANGE_CLICK_IMAGE`:case`CHANGE_CLICK_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(t<0||n<0)throw Error(`引数が0以上の整数ではありません`);this.generator.wwa.setImgClick(new S(t,n));return}case`CHANGE_FRAME_IMAGE`:case`CHANGE_FRAME_IMG`:{this._checkArgsLength(3,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2]));if(n<0||r<0)throw Error(`座標は正でなければなりません。`);switch(t){case L.ENERGY:case L.STRENGTH:case L.DEFENCE:case L.GOLD:this.generator.wwa.setStatusIconCoord(t,new S(n,r));break;case L.WIDE_CELL_ROW:this.generator.wwa.setWideCellCoord(new S(n,r));break;case L.ITEM_BG:this.generator.wwa.setItemboxBackgroundPosition({x:n,y:r});break;case L.MAIN_FRAME:this.generator.wwa.setFrameCoord(new S(n,r));break;default:throw Error(`種別が不正です。`)}return}case`CHANGE_YESNO_IMAGE`:case`CHANGE_YESNO_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));this.generator.wwa.setYesNoImgCoord(new S(t,n));return}case`NO_GAMEOVER`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.setGameOverPolicy(t);return}case`DEFAULT`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.setObjectNotCollapseOnPartsOnPlayer(t);return}case`DIR_MAP`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=e.value[2]===void 0?j.OBJECT:Number(this.evalWwaNode(e.value[2]));if(t<0)throw Error(`パーツ番号が不正です`);if(r===j.OBJECT){if(t>=this.generator.wwa.getObjectPartsNum())throw Error(`パーツ番号が不正です`)}else if(t>=this.generator.wwa.getMapPartsNum())throw Error(`パーツ番号が不正です`);this.generator.wwa.appearPartsByDirection(n,t,r);return}case`CHANGE_SOUND_DECISION`:if(this.generator.wwa.getSoundEnabled()){this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.checkSoundEnabled(t),this.generator.wwa.setDecisionSound(t)}return;case`CHANGE_SOUND_ATTACK`:if(this.generator.wwa.getSoundEnabled()){this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.checkSoundEnabled(t),this.generator.wwa.setAttackSound(t)}return;default:throw Error(`未定義の関数が指定されました: `+e.functionName)}}resolveSystemMessageKeyFromMacroArg(e){if(typeof e==`string`)return v(e)?e:void 0;if(typeof e==`number`)return y(e)}partsAssignment(e){let t=this.generator.wwa.getGameStatus(),n=this.evalWwaNode(e.destinationX),r=this.evalWwaNode(e.destinationY);if(typeof n!=`number`||typeof r!=`number`)throw Error(`座標は数値で指定してください (${n}, ${r})`);new C(this.generator.wwa,n,r);let i=e.partsKind===`map`?j.MAP:j.OBJECT,a=this.resolveParts(i,n,r),o=this.evalWwaNode(e.value);switch(e.operator){case`=`:case`+=`:case`-=`:case`*=`:case`/=`:{let s=Ds[e.operator](a,o)|0;if(s<0)throw Error(`負値のパーツ番号 ${s} は代入できません`);this.generator.wwa.appearPartsEval(t.playerCoord,`${n}`,`${r}`,s,i);break}default:throw Error(`演算子 ${e.operator} は partsAssignment では使えません`)}}resolveParts(e,t,n){let r=this.generator.wwa.getGameStatus();switch(e){case j.MAP:return r.wwaData.map[n][t];case j.OBJECT:return r.wwaData.mapObject[n][t];default:throw Error(`存在しないPartsTypeです`,e)}}blockStatement(e){return this.evalWwaNodes(e.value)}ifStatement(e){if(this.evalWwaNode(e.test))return this.evalWwaNode(e.consequent);if(e.alternate)return this.evalWwaNode(e.alternate)}convertConditionalExpression(e){let t=this.evalWwaNode(e.test)?e.consequent:e.alternate;return this.evalWwaNode(t)}property(e){let t=this.evalWwaNode(e.key);if(!f(t))throw Error(`オブジェクトのキーはプリミティブ値でなければなりません。: ${t}`);return[String(this.evalWwaNode(e.key)),this.evalWwaNode(e.value)]}objectExpression(e){let t=e.properties.map(e=>this.evalWwaNode(e));return new Map(t)}arrayExpression(e){return e.elements.map(e=>this.evalWwaNode(e))}convertLoopPointerExpression(e){let t=this.evalWwaNode(e.value),n=this.evalWwaNode(e.index);switch(e.operator){case`+=`:this.for_id.LP[n]=t;break;case`-=`:this.for_id.LP[n]=t;break;case`/=`:this.for_id.LP[n]=t;break;case`*=`:this.for_id.LP[n]=t;break;default:this.for_id.LP[n]=t;break}return 0}itemAssignment(e){let t=this.evalWwaNode(e.itemBoxPosition1to12);if(typeof t!=`number`||t<0||t>12)throw Error(`ITEMの添字に想定外の値が入っています。0以上12以下の添字を指定してください。: `+t);let n=this.evalWwaNode(e.value);switch(e.operator){case`=`:this.generator.wwa.setPlayerGetItem(t,n|0);break;case`+=`:case`-=`:case`*=`:case`/=`:{if(t===0)throw Error(`複合代入では ITEM[0] への操作はできません`);let r=this.generator.wwa.getGameStatus().itemBox[t-1],i=Ds[e.operator](r,n)|0;if(i<0)throw Error(`負値のパーツ番号 ${i} は代入できません`);this.generator.wwa.setPlayerGetItem(t,i);break}default:throw Error(`演算子 ${e.operator} は itemAssignment では使えません`)}}evalMessage(e){let t=this.evalWwaNode(e.value),n=this.generator.pickPageAdditionalQueue();this.generator.wwa.handleMsgFunction({message:String(t),additionalItems:n})}evalJumpgate(e){let t=this.evalWwaNode(e.x),n=this.evalWwaNode(e.y);if(isNaN(t)||isNaN(n))throw Error(`飛び先の値が数値になっていません。 x=${t} / y=${n}`);this.generator.wwa.forcedJumpGate(t,n)}evalRandom(e){let t=this.evalWwaNode(e.value);return Math.floor(Math.random()*t)}evalSetSpecialParameter(e){let t=this.evalWwaNode(e.value);if(!this.generator.wwa||isNaN(t))return t;let n=this.evalSymbol({type:`Symbol`,name:e.kind});if(Array.isArray(n))throw Error(`配列Objectに対して直接代入は出来ません: ${n}`);let r=(()=>{switch(e.operator){case`+=`:return n+t;case`-=`:return n-t;case`*=`:return n*t;case`/=`:return n/t;default:return t}})();switch(e.kind){case`PX`:return this.generator.wwa.jumpSpecifiedXPos(r),r;case`PY`:return this.generator.wwa.jumpSpecifiedYPos(r),r;case`AT`:return this.generator.wwa.setPlayerStatus(ue.STRENGTH,r,!1),r;case`DF`:return this.generator.wwa.setPlayerStatus(ue.DEFENCE,r,!1),r;case`GD`:return this.generator.wwa.setPlayerStatus(ue.GOLD,r,!1),r;case`HP`:return this.generator.wwa.setPlayerStatus(ue.ENERGY,r,!1),r;case`HPMAX`:return this.generator.wwa.setPlayerEnergyMax(r),r;case`i`:return this.for_id.i=this.evalWwaNode(e.value),this.for_id.i;case`j`:return this.for_id.j=this.evalWwaNode(e.value),this.for_id.j;case`k`:return this.for_id.k=this.evalWwaNode(e.value),this.for_id.k;case`LOOPLIMIT`:{let t=this.evalWwaNode(e.value);return this.generator.updateLoopLimit(t),t}default:console.error(`未実装の要素です: `+e.kind);return}}evalSetUserVariable(e){if(e.index.length>1){let t=this.evalWwaNode(e.value),n=e.index.map(e=>this.evalWwaNode(e));this.generator.wwa.setUserVarIndecies(n,t,e.operator);return}else{let t=this.evalWwaNode(e.value);if(!this.generator.wwa)return t;let n=this.evalWwaNode(e.index[0]);return this.generator.wwa.setUserVar(n,t,e.operator),t}}evalUnaryOperation(e){switch(e.operator){case`+`:return this.evalWwaNode(e.argument);case`-`:return-this.evalWwaNode(e.argument);case`!`:return!this.evalWwaNode(e.argument);default:throw Error(`存在しない単項演算子です`)}}evalBinaryOperation(e){let t=this.evalWwaNode(e.left),n=this.evalWwaNode(e.right);switch(e.operator){case`+`:return t+n;case`-`:return t-n;case`*`:return t*n;case`/`:return n===0?0:Math.floor(t/n);case`%`:return n===0?0:t%n;case`>`:return t>n;case`>=`:return t>=n;case`<`:return t<n;case`<=`:return t<=n;case`==`:return t==n;case`!=`:return t!=n;default:throw Error(`存在しない単項演算子です`)}}evalSymbol(e){let t=this.generator.wwa.getGameStatus(),n=this.generator.wwa.getEnemyStatus();switch(e.name){case`X`:return this.generator.state.triggerParts?.position.x??t.playerCoord.x;case`Y`:return this.generator.state.triggerParts?.position.y??t.playerCoord.y;case`ID`:return this.generator.state.triggerParts?.id??-1;case`TYPE`:return this.generator.state.triggerParts?.type??-1;case`PX`:return t.playerCoord.x;case`PY`:return t.playerCoord.y;case`CX`:return t.cameraCoord.x;case`CY`:return t.cameraCoord.y;case`AT`:return t.bareStatus.strength;case`AT_TOTAL`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.strength??t.totalStatus.strength;case`DF`:return t.bareStatus.defence;case`DF_TOTAL`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.defence??t.totalStatus.defence;case`GD`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.gold??t.totalStatus.gold;case`HP`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.energy??t.totalStatus.energy;case`HPMAX`:return t.energyMax;case`STEP`:return t.moveCount;case`TIME`:return t.playTime;case`PDIR`:return t.playerDirection;case`i`:return this.for_id.i;case`j`:return this.for_id.j;case`k`:return this.for_id.k;case`LOOPLIMIT`:return this.generator.loop_limit;case`ITEM_ID`:return this.generator.state.earnedItem?.partsId??-1;case`ITEM_POS`:return this.generator.state.earnedItem?.itemPos1To12??-1;case`ENEMY_HP`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.energy??(typeof n==`number`?-1:n.energy);case`ENEMY_AT`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.strength??(typeof n==`number`?-1:n.strength);case`ENEMY_DF`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.defence??(typeof n==`number`?-1:n.defence);case`ENEMY_GD`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.gold??(typeof n==`number`?-1:n.gold);case`PICTURE`:throw Error(`この機能はまだ実装されていません!`);case`PLAYER_PX`:return Ts(t.playerCoord.x,t.cameraCoord.x);case`PLAYER_PY`:return Es(t.playerCoord.y,t.cameraCoord.y);case`MOVE_SPEED`:return de[t.gameSpeedIndex];case`MOVE_FRAME_TIME`:return R.CHIP_SIZE/de[t.gameSpeedIndex];case`LP`:return this.for_id.LP;case`undefined`:return;default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject1D(e){let t=this.evalWwaNode(e.indecies[0]);if(typeof t!=`number`)switch(e.name){case`v`:return this.generator.wwa.getUserNameVar(t);default:throw Error(`このシンボルは取得できません`)}let n=this.generator.wwa.getGameStatus();switch(e.name){case`v`:return this.generator.wwa.getUserVar(t);case`ITEM`:if(t<1||t>12)throw Error(`ITEMの添字に想定外の値が入っています。1以上12以下の添字を指定してください。: `+t);return n.itemBox[t-1];case`PICTURE`:throw Error(`この機能はまだ実装されていません!`);case`LP`:return this.for_id.LP[t];default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject2D(e){switch(e.name){case`m`:case`o`:let t=this.evalWwaNode(e.indecies[0]),n=this.evalWwaNode(e.indecies[1]);if(typeof t!=`number`||typeof n!=`number`)throw Error(`座標は数値で指定してください (${t}, ${n})`);new C(this.generator.wwa,t,n);let r=e.name===`o`?j.OBJECT:j.MAP;return this.generator.wwa.getPartsID(new S(t,n),r);case`v`:{let t=e.indecies[0].value,n=this.generator.wwa.getUserNameVar(t);if(n===null||!Array.isArray(n)&&typeof n!=`object`&&typeof n!=`string`)throw Error(`指定したユーザー定義変数: v["${t}"] は配列・オブジェクト・文字列ではありません`);return Ke(n,this.evalWwaNode(e.indecies[1]))}default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject3DPlus(e){let t=e.indecies.map(e=>this.evalWwaNode(e)),n=this.generator.wwa.getUserNameVar(t[0]);return t.slice(1).reduce((e,t)=>Ke(e,t),n)}evalLiteral(e){return e.value}},As=class{constructor(e){this.value=e}},js=class{constructor(e,t){this.reason=e,this.value=t}};function Ms(e){return Go(e,{ecmaVersion:2020})}var Ns=async e=>{try{let t=await fetch(e);return t.status===200||t.status===304?{kind:`data`,data:await new Response(t.body).text(),fileName:e}:{kind:`httpError`,errorMessage:`ファイル ${e} が読み込めませんでした。ステータスコード: ${t.status}`,fileName:e}}catch(t){return{kind:`otherError`,errorMessage:t.message,fileName:e}}},Ps=`user-variable-label`;function Fs(){let e=document.createElement(`div`);return e.textContent=`-`,e.setAttribute(`aria-hidden`,`true`),e.classList.add(Ps),e}function Is(e,t){e.textContent=t}var Ls=`-`,Rs=`user-variable-card`,zs=`user-variable-card--is-trimmed`;function Bs({index:e,value:t}){let n=document.createElement(`div`);return n.classList.add(Rs),Ks(t)&&n.classList.add(zs),n.dataset.varIndex=String(e),n.appendChild(Vs(e)),n.appendChild(Hs(t)),n}function Vs(e){let t=document.createElement(`div`);return t.classList.add(`index`),t.textContent=String(e),typeof e==`string`&&t.setAttribute(`title`,e),t.appendChild(Fs()),t}function Hs(e){let t=document.createElement(`div`);return t.classList.add(`value`),typeof e==`string`&&t.setAttribute(`title`,Ge(e)),Ws(t,e),t}function Us(e,t){e.dataset.labelledVarIndex=`true`,e.addEventListener(`mouseover`,()=>t.removeAttribute(`aria-hidden`)),e.addEventListener(`mouseleave`,()=>t.setAttribute(`aria-hidden`,`true`))}function Ws(e,t){e.textContent=t===void 0?Ls:Ge(t)}function Gs(e){return e.querySelector(`.${Ps}`)}function Ks(e){return typeof e!=`object`}var qs=`user-variable-list`;function Js({kind:e}){let t=document.createElement(`ul`);return t.classList.add(qs),e===`numbered`&&Array.from({length:R.USER_VAR_NUM}).map((e,t)=>Ys({index:t})).forEach(e=>t.appendChild(e)),t}function Ys({index:e,value:t}){let n=document.createElement(`li`);return n.appendChild(Bs({index:e,value:t})),n}function Xs(e,{index:t,value:n}){e.appendChild(Ys({index:t,value:n}))}var Zs=`information`;function Qs(){let e=document.createElement(`p`);return e.classList.add(Zs),$s(e,`強調されている番号にカーソルを乗せると説明が表示されます。`),e}function $s(e,t,n=!1){e.textContent=`${n?`【エラー】`:``}${t}`}function ec({heading:e,contentVisibilityToggleButton:t,information:n}){let r=document.createElement(`header`);return r.appendChild(nc({heading:e,contentVisibilityToggleButton:t})),n&&r.appendChild(Qs()),r}function tc(e,t){e.textContent=t?`▲隠す`:`▼表示`}function nc({heading:e,contentVisibilityToggleButton:t}){let n=document.createElement(`div`);n.classList.add(`heading-area`);let r=document.createElement(`h2`);r.textContent=e.text,n.appendChild(r);let i=document.createElement(`button`);return i.classList.add(`content-visibility-toggle-button`),tc(i,!0),t.onClick&&i.addEventListener(`click`,t.onClick.bind(i)),n.appendChild(i),n}var rc=`user-variable-list-section`;function ic({kind:e}){let t=document.createElement(`section`);t.classList.add(rc),t.dataset.kind=e;let n=Js({kind:e}),r=ec({heading:{text:e===`named`?`名前つき変数一覧`:`変数一覧`},information:(e===`numbered`||void 0)&&{},contentVisibilityToggleButton:{onClick:e=>{let t=r.querySelector(`.${Zs}`);n.getAttribute(`aria-hidden`)===`true`?ac(n,t,e.target):oc(n,t,e.target)}}});return t.appendChild(r),t.appendChild(n),t}function ac(e,t,n){e.removeAttribute(`aria-hidden`),t instanceof HTMLElement&&t.removeAttribute(`aria-hidden`),n instanceof HTMLElement&&tc(n,!0)}function oc(e,t,n){e.setAttribute(`aria-hidden`,`true`),t instanceof HTMLElement&&t.setAttribute(`aria-hidden`,`true`),n instanceof HTMLElement&&tc(n,!1)}function sc(e,t){if(!(e instanceof HTMLElement))return;let n=mc(e),r=dc(e);if(r instanceof HTMLElement){for(let[i,a]of t){let t=pc(e,i);n.delete(i),t instanceof HTMLElement?Ws(t,a):Xs(r,{index:i,value:a})}for(let t of n){let n=fc(e,t).parentElement;n instanceof HTMLLIElement&&dc(e).removeChild(n)}}}var cc=`.${rc}[data-kind="named"]`,lc=`${cc} > .${qs} > li > .${Rs}`;function uc(e){return`${lc}[data-var-index="${CSS.escape(e)}"]`}function dc(e){return e.querySelector(`${cc} > .${qs}`)}function fc(e,t){return e.querySelector(uc(t))}function pc(e,t){return e.querySelector(`${uc(t)} > .value`)}function mc(e){return new Set([...e.querySelectorAll(lc)].map(e=>e instanceof HTMLElement?e.dataset.varIndex:void 0).filter(Boolean))}function hc(e,t){e instanceof HTMLElement&&Array.from({length:R.USER_VAR_NUM}).map((n,r)=>{let i=Sc(e,r);i instanceof HTMLElement&&Ws(i,t[r])})}function gc(e,t){e&&Array.from({length:R.USER_VAR_NUM}).map((n,r)=>{let i=t[r];if(!i)return;let a=xc(e,r);if(!(a instanceof HTMLElement))return;let o=Gs(a);o instanceof HTMLElement&&(Is(o,i),Us(a,o))})}function _c(e,t,n=!1){if(!e)return;let r=yc(e);r instanceof HTMLElement&&$s(r,t,n)}var vc=`.${rc}[data-kind="numbered"]`;function yc(e){return e.querySelector(`${vc} > header > .${Zs}`)}function bc(e){return`${vc} > .${qs} > li > .${Rs}[data-var-index="${CSS.escape(String(e))}"]`}function xc(e,t){return e.querySelector(`${bc(t)} > .index`)}function Sc(e,t){return e.querySelector(`${bc(t)} > .value`)}function Cc({dumpElement:e,namedUserVar:t,userVar:n}){t&&sc(e,t),n&&hc(e,n)}var wc=`wwa-vardump-wrapper`;function Tc(e){let t=Le(e);return t instanceof HTMLElement?(t.classList.add(wc),t.appendChild(ic({kind:`named`})),t.appendChild(ic({kind:`numbered`})),t):null}function Ec(){return{mapdata:``,urlGateEnable:!1,titleImg:void 0,audioDir:`./audio/`,classicModeEnable:!1,itemEffectEnable:!0,useGoToWwa:!1,lookingAround:!1,autoSave:!0,disallowLoadOldSave:!1,resumeSaveData:void 0,varDumpElm:void 0,userVarNamesFile:void 0,displayUserVars:!1,virtualPadEnable:!1,virtualPadViewportFitEnable:!1,virtualPadControllerElm:void 0,userDefinedScriptsFile:`./script/script_file_list.json`}}var Dc;function Oc(e,t,n){var r=new ge;return r.current=e,r.total=t,r.stage=n,r}var kc=class{constructor(e=Ec()){this._useSuspend=!1,this._useLookingAround=!0,this._isDisallowLoadOldSave=!1,this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._windowCloseWaitingJumpGateRequest=void 0,this._debugConsoleElement=void 0,this.audioExtension=``,this.soundLoadedCheckTimer=void 0,this._playTimeCalculator=void 0,this.userDefinedFunctions={},this.convertWwaNodes=e=>qo(Ms(e)),this.mainCaller=()=>this._main(),this.soundCheckCaller=()=>this.checkAllSoundLoaded(),this._checkTurnKeyPressed=()=>this._keyStore.checkHitKey(V.KEY_ESC)||this._keyStore.checkHitKey(V.KEY_SHIFT)||this._keyStore.checkHitKey(V.KEY_N),this._saveDataList=[],this.wwaCustomEventEmitter=new Zi(U(`wwa-wrapper`));let t;window.addEventListener(`click`,e=>{this._isActive=!1}),U(`wwa-wrapper`).addEventListener(`click`,e=>{e.stopPropagation(),this._isActive=!0}),this._isActive=!0,e.titleImg===void 0?(this._hasTitleImg=!1,this._cvsCover=U(`progress-panel`),t=this._cvsCover.getContext(`2d`),t.fillStyle=`rgb(0, 0, 0)`):this._hasTitleImg=!0;try{this._hasTitleImg?(U(`unstable-version-warning`).textContent=`この WWA Wing は [不安定版] です。`,U(`version`).textContent=`WWA Wing Ver.4.0.5`):this._setLoadingMessage(t,0)}catch{}this._dumpElement=e.varDumpElm;let n=window.AudioContext||window.webkitAudioContext;n&&(this.audioContext=new n,this.audioGain=this.audioContext.createGain(),this.audioGain.gain.setValueAtTime(1,this.audioContext.currentTime));let r=new Audio;if(r.canPlayType(`audio/mpeg`)!==`no`&&r.canPlayType(`audio/mpeg`)!==``?this.audioExtension=`mp3`:this.audioExtension=`m4a`,this._isURLGateEnable=e.urlGateEnable,this._isClassicModeEnable=e.classicModeEnable,this._mainCallCounter=0,this._animationCounter=0,this._statusPressCounter=new x(0,0,0,0),e.audioDir?e.audioDir[e.audioDir.length-1]!==`/`&&(e.audioDir+=`/`):e.audioDir=`./audio/`,this._audioDirectory=e.audioDir,this._bottomButtonType=e.useGoToWwa?T.GOTO_WWA:T.BATTLE_REPORT,this._userVarNameList=[],this.evalCalcWwaNodeGenerator=new Os(this),this.userDevice=new M,location.href.match(/^file/))switch(this.userDevice.device){case re.GAME:switch(this.userDevice.os){case ne.NINTENDO:R.BATTLE_INTERVAL_FRAME_NUM=5;break}this._bottomButtonType=T.GAME_END;break;default:alert(`【警告】直接HTMLファイルを開いているようです。
94
+ 上限値は LOOPLIMIT で変えられます。`);if(this.for_id.break_flag||!this.evalWwaNode(e.test))break;this.evalWwaNodes(e.body),this.for_id.continue_flag=!1}if(this.for_id.break_flag=!1,`kind`in t)switch(t.kind){case`i`:this.for_id.i=null;break;case`j`:this.for_id.j=null;break;case`k`:this.for_id.k=null;break}else switch(t.type){case`LoopPointerAssignment`:let e=Number(this.evalWwaNode(t.index));this.for_id.LP[e]=null;break}}_checkArgsLength(e,t){if(t.value.length<e)throw Error(`関数 ${t.functionName} の引数が不足しています!`)}evalAnyFunction(e){let t=this.generator.wwa.getGameStatus();switch(e.functionName){case`MUSIC`:case`SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]),n=e.value[1]?this.evalWwaNode(e.value[1]):void 0,r=e.value[2]?this.evalWwaNode(e.value[2]):!1;return this.generator.wwa.playSound(t,{loopPlaying:n,bgmDelayDurationMs:r>=0?r:void 0}),t}case`BGM_STOP`:case`STOP_BGM`:this.generator.wwa.stopBgm();return;case`SOUND_STOP`:case`STOP_SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);return this.generator.wwa.stopSound(t,{includeBgm:!0}),t}case`STOP_SOUNDS`:case`ALL_SOUND_STOP`:case`STOP_ALL_SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.stopAllSound({includeBgm:!!t});return}case`SAVE`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.disableSave(t),t}case`LOG`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);console.log(t instanceof Map?d(t):t);return}case`ABLE_CHANGE_SPEED`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.speedChangeJudge(t),t}case`SET_SPEED`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));this.generator.wwa.setPlayerSpeedIndex(t);return}case`CHANGE_GAMEOVER_POS`:{this._checkArgsLength(2,e);let t={x:Number(this.evalWwaNode(e.value[0])),y:Number(this.evalWwaNode(e.value[1]))};if(t.x<0||t.x>=this.generator.wwa.getMapWidth()||t.y<0||t.y>this.generator.wwa.getMapWidth())throw Error(`マップの範囲外が指定されています!`);this.generator.wwa.setGameOverPosition(new S(t.x,t.y));return}case`DEL_PLAYER`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.setDelPlayer(t);return}case`RESTART_GAME`:this.generator.wwa.restartGame();return;case`URL_JUMPGATE`:throw Error(`URL_JUMPGATE 関数は調整中のためご利用になれません`);case`HIDE_STATUS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=!!this.evalWwaNode(e.value[1]);this.generator.wwa.hideStatus(t,n);return}case`PARTS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=e.value[2]?Number(this.evalWwaNode(e.value[2])):0,i=e.value[3]?!!this.evalWwaNode(e.value[3]):!1;if(t<0||n<0)throw Error(`パーツ番号が不正です`);if(!Ss.includes(r))throw Error(`パーツ種別が不明です`);this.generator.wwa.replaceParts(t,n,r,i);return}case`FACE`:{this._checkArgsLength(6,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2])),i=Number(this.evalWwaNode(e.value[3])),a=Number(this.evalWwaNode(e.value[4])),o=Number(this.evalWwaNode(e.value[5]));if(t<0||n<0||r<0||i<0||a<0||o<0)throw Error(`各引数は0以上の整数でなければなりません。`);this.generator.addPageAdditionalItem({type:`face`,data:{face:new w(new S(t,n),new S(r,i),new S(a,o))}});return}case`EFFECT`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));if(t<0)throw Error(`待ち時間は0以上の整数でなければなりません。`);if(t===0){this.generator.wwa.stopEffect();return}let n=[];for(let t=1;t<e.value.length;t+=2){let r=Number(this.evalWwaNode(e.value[t]));if(r<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);if(t+1===e.value.length)throw Error(`画像のパーツ座標指定で、Y座標が指定されていません。`);let i=Number(this.evalWwaNode(e.value[t+1]));if(i<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);n.push(new S(r,i))}this.generator.wwa.setEffect(t,n);return}case`CHANGE_PLAYER_IMAGE`:case`CHANGE_PLAYER_IMG`:{this._checkArgsLength(2,e);let t=new S(Number(this.evalWwaNode(e.value[0])),Number(this.evalWwaNode(e.value[1])));this.generator.wwa.setPlayerImgCoord(t);return}case`HAS_ITEM`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0]));return t.itemBox.includes(n)}case`REMOVE_ITEM`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0])),r=e.value[1]?this.evalWwaNode(e.value[1])===1:!1,i=0;for(let e=0;e<t.itemBox.length;e++)if(n===t.itemBox[e]&&(this.generator.wwa.setPlayerGetItem(e+1,0),i++,!r))return i;return i}case`MOVE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));if(t<=0||t>9)throw Error(`MOVEの移動先は2/4/6/8で指定してください!`);return this.generator.wwa.movePlayer(t),this.generator.wwa.movePlayer(t),0}case`PARTS_MOVE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return this.generator.wwa.setMoveMacroWaitingToPlayer(t),0}case`IS_PLAYER_WAITING_MESSAGE`:return this.generator.wwa.isPlayerWaitingMessage();case`IS_MANUAL_PAUSE`:case`IS_PLAYER_WAITING_ENTER`:return this.generator.wwa.isManualPause();case`GET_UNIXTIME`:return Math.floor(new Date().getTime()/1e3);case`GET_DATE_YEAR`:return new Date().getFullYear();case`GET_DATE_MONTH`:return new Date().getMonth()+1;case`GET_DATE_DAY`:return new Date().getDate();case`GET_DATE_HOUR`:return new Date().getHours();case`GET_DATE_MINUTES`:return new Date().getMinutes();case`GET_DATE_SECONDS`:return new Date().getSeconds();case`GET_DATE_MILLISECONDS`:return new Date().getMilliseconds();case`GET_DATE_WEEKDAY`:return new Date().getDay();case`SHOW_USER_DEF_VAR`:console.log(this.generator.wwa.getAllUserNameVar());return;case`CHANGE_SYSMSG`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]),n=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0,r=this.resolveSystemMessageKeyFromMacroArg(t);if(!r)throw Error(`このIDのシステムメッセージは未定義です。`);if(typeof n==`number`||typeof n==`string`||typeof n==`boolean`)this.generator.wwa.overwriteSystemMessage(r,String(n));else if(n==null)this.generator.wwa.overwriteSystemMessage(r,void 0);else throw Error(`この値は文字列に変換できないため、システムメッセージを表示できません。`);break}case`PICTURE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0;if(n===void 0){this.generator.wwa.deletePictureRegistry(t);return}if(n instanceof Map)this.generator.wwa.setPictureRegistryFromObject(t,d(n));else if(typeof n==`string`)this.generator.wwa.setPictureRegistryFromRawText(t,n);else throw Error(`ピクチャのプロパティ定義は文字列あるいはオブジェクトである必要があります。`);break}case`PICTURE_FROM_PARTS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(n===0){this.generator.wwa.deletePictureRegistry(t);return}let r=e.value.length>=3?Number(this.evalWwaNode(e.value[2])):j.OBJECT;if(!Ss.includes(r))throw Error(`パーツ種別が不明です`);let i=this.generator.wwa.getGameStatus();this.generator.wwa.setPictureRegistry(t,n,r,i.playerCoord);break}case`CLEAR_ALL_PICTURES`:this.generator.wwa.clearAllPictures();break;case`HAS_PICTURE`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0]));return t.wwaData.pictureRegistry.some(e=>e.layerNumber===n)}case`ABS`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return Math.abs(t)}case`POW`:return this._checkArgsLength(2,e),Number(this.evalWwaNode(e.value[0]))**+Number(this.evalWwaNode(e.value[1]));case`SQRT`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return Math.sqrt(t)}case`SIN`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=Math.sin(t*Math.PI/180);return Cs(n)?0:n}case`COS`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=Math.cos(t*Math.PI/180);return Cs(n)?0:n}case`TAN`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=Math.tan(t*Math.PI/180);return Cs(n)?0:n}case`GET_GAMEOVER_POS_X`:return this.generator.wwa.getGemeOverPosition().x;case`GET_GAMEOVER_POS_Y`:return this.generator.wwa.getGemeOverPosition().y;case`ABORT_BATTLE`:throw this.generator.state.battleDamageCalculation&&(this.generator.state.battleDamageCalculation.aborted=!0),new js(`ABORT_BATTLE`);case`EXIT`:throw new js(`EXIT`,this.evalWwaNode(e.value[0]));case`GET_IMG_POS_X`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=(e.value[1]===void 0?0:Number(this.evalWwaNode(e.value[1])))===0?j.OBJECT:j.MAP;if(n===j.OBJECT){let n=e.value[2]===void 0?!0:Number(this.evalWwaNode(e.value[2]))===0,r=this.generator.wwa.getObjectInfo(t),i=n?r[R.ATR_X]:r[R.ATR_X2];return Math.floor(i/R.CHIP_SIZE)}else if(n===j.MAP){let e=this.generator.wwa.getMapInfo(t)[R.ATR_X];return Math.floor(e/R.CHIP_SIZE)}throw Error(`GET_IMG_POS_X: 指定したIDのパーツのTypeが異常です。`)}case`GET_IMG_POS_Y`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=(e.value[1]===void 0?0:Number(this.evalWwaNode(e.value[1])))===0?j.OBJECT:j.MAP;if(n===j.OBJECT){let n=e.value[2]===void 0?!0:Number(this.evalWwaNode(e.value[2]))===0,r=this.generator.wwa.getObjectInfo(t),i=n?r[R.ATR_Y]:r[R.ATR_Y2];return Math.floor(i/R.CHIP_SIZE)}else if(n===j.MAP){let e=this.generator.wwa.getMapInfo(t)[R.ATR_Y];return Math.floor(e/R.CHIP_SIZE)}throw Error(`GET_IMG_POS_Y: 指定したIDのパーツのTypeが異常です。`)}case`LENGTH`:return this._checkArgsLength(1,e),ws(this.evalWwaNode(e.value[0]));case`IS_NUMBER`:return this._checkArgsLength(1,e),typeof this.evalWwaNode(e.value[0])==`number`;case`MANUAL_PAUSE`:case`WAIT_ENTER`:this.generator.wwa.manualPause({functionNames:{cancelPause:e.value[0]?this.evalWwaNode(e.value[0]):``,up:e.value[1]?this.evalWwaNode(e.value[1]):``,down:e.value[2]?this.evalWwaNode(e.value[2]):``,right:e.value[3]?this.evalWwaNode(e.value[3]):``,left:e.value[4]?this.evalWwaNode(e.value[4]):``}});return;case`COLOR`:{this._checkArgsLength(4,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2])),i=Number(this.evalWwaNode(e.value[3]));if(t<0||t>5)throw Error(`種別は0から5までです`);if(n<0||n>255||r<0||r>255||i<0||i>255)throw Error(`色が範囲外です`);this.generator.wwa.changeStyleRule(t,n,r,i);return}case`EFFITEM`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.updateItemEffectEnabled(t);return}case`CHANGE_BOM_IMAGE`:case`CHANGE_BOM_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(t<0||n<0)throw Error(`座標は0以上の整数ではありません`);this.generator.wwa.setBattleEffectCoord(new S(t,n));return}case`CHANGE_CLICK_IMAGE`:case`CHANGE_CLICK_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(t<0||n<0)throw Error(`引数が0以上の整数ではありません`);this.generator.wwa.setImgClick(new S(t,n));return}case`CHANGE_FRAME_IMAGE`:case`CHANGE_FRAME_IMG`:{this._checkArgsLength(3,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2]));if(n<0||r<0)throw Error(`座標は正でなければなりません。`);switch(t){case L.ENERGY:case L.STRENGTH:case L.DEFENCE:case L.GOLD:this.generator.wwa.setStatusIconCoord(t,new S(n,r));break;case L.WIDE_CELL_ROW:this.generator.wwa.setWideCellCoord(new S(n,r));break;case L.ITEM_BG:this.generator.wwa.setItemboxBackgroundPosition({x:n,y:r});break;case L.MAIN_FRAME:this.generator.wwa.setFrameCoord(new S(n,r));break;default:throw Error(`種別が不正です。`)}return}case`CHANGE_YESNO_IMAGE`:case`CHANGE_YESNO_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));this.generator.wwa.setYesNoImgCoord(new S(t,n));return}case`NO_GAMEOVER`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.setGameOverPolicy(t);return}case`DEFAULT`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.setObjectNotCollapseOnPartsOnPlayer(t);return}case`DIR_MAP`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=e.value[2]===void 0?j.OBJECT:Number(this.evalWwaNode(e.value[2]));if(t<0)throw Error(`パーツ番号が不正です`);if(r===j.OBJECT){if(t>=this.generator.wwa.getObjectPartsNum())throw Error(`パーツ番号が不正です`)}else if(t>=this.generator.wwa.getMapPartsNum())throw Error(`パーツ番号が不正です`);this.generator.wwa.appearPartsByDirection(n,t,r);return}case`CHANGE_SOUND_DECISION`:if(this.generator.wwa.getSoundEnabled()){this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.checkSoundEnabled(t),this.generator.wwa.setDecisionSound(t)}return;case`CHANGE_SOUND_ATTACK`:if(this.generator.wwa.getSoundEnabled()){this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.checkSoundEnabled(t),this.generator.wwa.setAttackSound(t)}return;default:throw Error(`未定義の関数が指定されました: `+e.functionName)}}resolveSystemMessageKeyFromMacroArg(e){if(typeof e==`string`)return v(e)?e:void 0;if(typeof e==`number`)return y(e)}partsAssignment(e){let t=this.generator.wwa.getGameStatus(),n=this.evalWwaNode(e.destinationX),r=this.evalWwaNode(e.destinationY);if(typeof n!=`number`||typeof r!=`number`)throw Error(`座標は数値で指定してください (${n}, ${r})`);new C(this.generator.wwa,n,r);let i=e.partsKind===`map`?j.MAP:j.OBJECT,a=this.resolveParts(i,n,r),o=this.evalWwaNode(e.value);switch(e.operator){case`=`:case`+=`:case`-=`:case`*=`:case`/=`:{let s=Ds[e.operator](a,o)|0;if(s<0)throw Error(`負値のパーツ番号 ${s} は代入できません`);this.generator.wwa.appearPartsEval(t.playerCoord,`${n}`,`${r}`,s,i);break}default:throw Error(`演算子 ${e.operator} は partsAssignment では使えません`)}}resolveParts(e,t,n){let r=this.generator.wwa.getGameStatus();switch(e){case j.MAP:return r.wwaData.map[n][t];case j.OBJECT:return r.wwaData.mapObject[n][t];default:throw Error(`存在しないPartsTypeです`,e)}}blockStatement(e){return this.evalWwaNodes(e.value)}ifStatement(e){if(this.evalWwaNode(e.test))return this.evalWwaNode(e.consequent);if(e.alternate)return this.evalWwaNode(e.alternate)}convertConditionalExpression(e){let t=this.evalWwaNode(e.test)?e.consequent:e.alternate;return this.evalWwaNode(t)}property(e){let t=this.evalWwaNode(e.key);if(!f(t))throw Error(`オブジェクトのキーはプリミティブ値でなければなりません。: ${t}`);return[String(this.evalWwaNode(e.key)),this.evalWwaNode(e.value)]}objectExpression(e){let t=e.properties.map(e=>this.evalWwaNode(e));return new Map(t)}arrayExpression(e){return e.elements.map(e=>this.evalWwaNode(e))}convertLoopPointerExpression(e){let t=this.evalWwaNode(e.value),n=this.evalWwaNode(e.index);switch(e.operator){case`+=`:this.for_id.LP[n]=t;break;case`-=`:this.for_id.LP[n]=t;break;case`/=`:this.for_id.LP[n]=t;break;case`*=`:this.for_id.LP[n]=t;break;default:this.for_id.LP[n]=t;break}return 0}itemAssignment(e){let t=this.evalWwaNode(e.itemBoxPosition1to12);if(typeof t!=`number`||t<0||t>12)throw Error(`ITEMの添字に想定外の値が入っています。0以上12以下の添字を指定してください。: `+t);let n=this.evalWwaNode(e.value);switch(e.operator){case`=`:this.generator.wwa.setPlayerGetItem(t,n|0);break;case`+=`:case`-=`:case`*=`:case`/=`:{if(t===0)throw Error(`複合代入では ITEM[0] への操作はできません`);let r=this.generator.wwa.getGameStatus().itemBox[t-1],i=Ds[e.operator](r,n)|0;if(i<0)throw Error(`負値のパーツ番号 ${i} は代入できません`);this.generator.wwa.setPlayerGetItem(t,i);break}default:throw Error(`演算子 ${e.operator} は itemAssignment では使えません`)}}evalMessage(e){let t=this.evalWwaNode(e.value),n=this.generator.pickPageAdditionalQueue();this.generator.wwa.handleMsgFunction({message:String(t),additionalItems:n})}evalJumpgate(e){let t=this.evalWwaNode(e.x),n=this.evalWwaNode(e.y);if(isNaN(t)||isNaN(n))throw Error(`飛び先の値が数値になっていません。 x=${t} / y=${n}`);this.generator.wwa.forcedJumpGate(t,n)}evalRandom(e){let t=this.evalWwaNode(e.value);return Math.floor(Math.random()*t)}evalSetSpecialParameter(e){let t=this.evalWwaNode(e.value);if(!this.generator.wwa||isNaN(t))return t;let n=this.evalSymbol({type:`Symbol`,name:e.kind});if(Array.isArray(n))throw Error(`配列Objectに対して直接代入は出来ません: ${n}`);let r=(()=>{switch(e.operator){case`+=`:return n+t;case`-=`:return n-t;case`*=`:return n*t;case`/=`:return n/t;default:return t}})();switch(e.kind){case`PX`:return this.generator.wwa.jumpSpecifiedXPos(r),r;case`PY`:return this.generator.wwa.jumpSpecifiedYPos(r),r;case`AT`:return this.generator.wwa.setPlayerStatus(ue.STRENGTH,r,!1),r;case`DF`:return this.generator.wwa.setPlayerStatus(ue.DEFENCE,r,!1),r;case`GD`:return this.generator.wwa.setPlayerStatus(ue.GOLD,r,!1),r;case`HP`:return this.generator.wwa.setPlayerStatus(ue.ENERGY,r,!1),r;case`HPMAX`:return this.generator.wwa.setPlayerEnergyMax(r),r;case`i`:return this.for_id.i=this.evalWwaNode(e.value),this.for_id.i;case`j`:return this.for_id.j=this.evalWwaNode(e.value),this.for_id.j;case`k`:return this.for_id.k=this.evalWwaNode(e.value),this.for_id.k;case`LOOPLIMIT`:{let t=this.evalWwaNode(e.value);return this.generator.updateLoopLimit(t),t}default:console.error(`未実装の要素です: `+e.kind);return}}evalSetUserVariable(e){if(e.index.length>1){let t=this.evalWwaNode(e.value),n=e.index.map(e=>this.evalWwaNode(e));this.generator.wwa.setUserVarIndecies(n,t,e.operator);return}else{let t=this.evalWwaNode(e.value);if(!this.generator.wwa)return t;let n=this.evalWwaNode(e.index[0]);return this.generator.wwa.setUserVar(n,t,e.operator),t}}evalUnaryOperation(e){switch(e.operator){case`+`:return this.evalWwaNode(e.argument);case`-`:return-this.evalWwaNode(e.argument);case`!`:return!this.evalWwaNode(e.argument);default:throw Error(`存在しない単項演算子です`)}}evalBinaryOperation(e){let t=this.evalWwaNode(e.left),n=this.evalWwaNode(e.right);switch(e.operator){case`+`:return t+n;case`-`:return t-n;case`*`:return t*n;case`/`:return n===0?0:Math.floor(t/n);case`%`:return n===0?0:t%n;case`>`:return t>n;case`>=`:return t>=n;case`<`:return t<n;case`<=`:return t<=n;case`==`:return t==n;case`!=`:return t!=n;default:throw Error(`存在しない単項演算子です`)}}evalSymbol(e){let t=this.generator.wwa.getGameStatus(),n=this.generator.wwa.getEnemyStatus();switch(e.name){case`X`:return this.generator.state.triggerParts?.position.x??t.playerCoord.x;case`Y`:return this.generator.state.triggerParts?.position.y??t.playerCoord.y;case`ID`:return this.generator.state.triggerParts?.id??-1;case`TYPE`:return this.generator.state.triggerParts?.type??-1;case`PX`:return t.playerCoord.x;case`PY`:return t.playerCoord.y;case`CX`:return t.cameraCoord.x;case`CY`:return t.cameraCoord.y;case`AT`:return t.bareStatus.strength;case`AT_TOTAL`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.strength??t.totalStatus.strength;case`DF`:return t.bareStatus.defence;case`DF_TOTAL`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.defence??t.totalStatus.defence;case`GD`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.gold??t.totalStatus.gold;case`HP`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.energy??t.totalStatus.energy;case`HPMAX`:return t.energyMax;case`STEP`:return t.moveCount;case`TIME`:return t.playTime;case`PDIR`:return t.playerDirection;case`i`:return this.for_id.i;case`j`:return this.for_id.j;case`k`:return this.for_id.k;case`LOOPLIMIT`:return this.generator.loop_limit;case`ITEM_ID`:return this.generator.state.earnedItem?.partsId??-1;case`ITEM_POS`:return this.generator.state.earnedItem?.itemPos1To12??-1;case`ENEMY_HP`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.energy??(typeof n==`number`?-1:n.energy);case`ENEMY_AT`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.strength??(typeof n==`number`?-1:n.strength);case`ENEMY_DF`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.defence??(typeof n==`number`?-1:n.defence);case`ENEMY_GD`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.gold??(typeof n==`number`?-1:n.gold);case`PICTURE`:throw Error(`この機能はまだ実装されていません!`);case`PLAYER_PX`:return Ts(t.playerCoord.x,t.cameraCoord.x);case`PLAYER_PY`:return Es(t.playerCoord.y,t.cameraCoord.y);case`MOVE_SPEED`:return de[t.gameSpeedIndex];case`MOVE_FRAME_TIME`:return R.CHIP_SIZE/de[t.gameSpeedIndex];case`LP`:return this.for_id.LP;case`undefined`:return;default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject1D(e){let t=this.evalWwaNode(e.indecies[0]);if(typeof t!=`number`)switch(e.name){case`v`:return this.generator.wwa.getUserNameVar(t);default:throw Error(`このシンボルは取得できません`)}let n=this.generator.wwa.getGameStatus();switch(e.name){case`v`:return this.generator.wwa.getUserVar(t);case`ITEM`:if(t<1||t>12)throw Error(`ITEMの添字に想定外の値が入っています。1以上12以下の添字を指定してください。: `+t);return n.itemBox[t-1];case`PICTURE`:throw Error(`この機能はまだ実装されていません!`);case`LP`:return this.for_id.LP[t];default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject2D(e){switch(e.name){case`m`:case`o`:let t=this.evalWwaNode(e.indecies[0]),n=this.evalWwaNode(e.indecies[1]);if(typeof t!=`number`||typeof n!=`number`)throw Error(`座標は数値で指定してください (${t}, ${n})`);new C(this.generator.wwa,t,n);let r=e.name===`o`?j.OBJECT:j.MAP;return this.generator.wwa.getPartsID(new S(t,n),r);case`v`:{let t=e.indecies[0].value,n=this.generator.wwa.getUserNameVar(t);if(n===null||!Array.isArray(n)&&typeof n!=`object`&&typeof n!=`string`)throw Error(`指定したユーザー定義変数: v["${t}"] は配列・オブジェクト・文字列ではありません`);return Ke(n,this.evalWwaNode(e.indecies[1]))}default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject3DPlus(e){let t=e.indecies.map(e=>this.evalWwaNode(e)),n=this.generator.wwa.getUserNameVar(t[0]);return t.slice(1).reduce((e,t)=>Ke(e,t),n)}evalLiteral(e){return e.value}},As=class{constructor(e){this.value=e}},js=class{constructor(e,t){this.reason=e,this.value=t}};function Ms(e){return Go(e,{ecmaVersion:2020})}var Ns=async e=>{try{let t=await fetch(e);return t.status===200||t.status===304?{kind:`data`,data:await new Response(t.body).text(),fileName:e}:{kind:`httpError`,errorMessage:`ファイル ${e} が読み込めませんでした。ステータスコード: ${t.status}`,fileName:e}}catch(t){return{kind:`otherError`,errorMessage:t.message,fileName:e}}},Ps=`user-variable-label`;function Fs(){let e=document.createElement(`div`);return e.textContent=`-`,e.setAttribute(`aria-hidden`,`true`),e.classList.add(Ps),e}function Is(e,t){e.textContent!==t&&(e.textContent=t)}var Ls=`-`,Rs=`user-variable-card`,zs=`user-variable-card--is-trimmed`;function Bs({index:e,value:t}){let n=document.createElement(`div`);n.classList.add(Rs),Gs(t)&&n.classList.add(zs),n.dataset.varIndex=String(e);let{cardIndexElement:r,cardIndexLabelElement:i}=Vs(e),a=Hs(t);return n.appendChild(r),n.appendChild(a),{cardElement:n,cardIndexElement:r,cardIndexLabelElement:i,cardValueElement:a}}function Vs(e){let t=document.createElement(`div`);t.classList.add(`index`),t.textContent=String(e),typeof e==`string`&&t.setAttribute(`title`,e);let n=Fs();return t.appendChild(n),{cardIndexElement:t,cardIndexLabelElement:n}}function Hs(e){let t=document.createElement(`div`);return t.classList.add(`value`),typeof e==`string`&&t.setAttribute(`title`,Ge(e)),Ws(t,e),t}function Us(e,t){e.dataset.labelledVarIndex=`true`,e.addEventListener(`mouseover`,()=>t.removeAttribute(`aria-hidden`)),e.addEventListener(`mouseleave`,()=>t.setAttribute(`aria-hidden`,`true`))}function Ws(e,t){let n=Ge(t);e.textContent!==n&&(e.textContent=t===void 0?Ls:Ge(t))}function Gs(e){return typeof e!=`object`}var Ks=`user-variable-list`;function qs({kind:e,elementStore:t}){let n=document.createElement(`ul`);return n.classList.add(Ks),e===`numbered`&&Array.from({length:R.USER_VAR_NUM}).map((e,n)=>Js({elementStore:t,index:n})).forEach(e=>n.appendChild(e)),n}function Js({elementStore:e,index:t,value:n}){let r=document.createElement(`li`),i=Bs({index:t,value:n});return e.updateUserVarElementInfo(t,i),r.appendChild(i.cardElement),r}function Ys(e,t,{index:n,value:r}){t.appendChild(Js({elementStore:e,index:n,value:r}))}var Xs=`information`;function Zs(){let e=document.createElement(`p`);return e.classList.add(Xs),Qs(e,`強調されている番号にカーソルを乗せると説明が表示されます。`),e}function Qs(e,t,n=!1){e.textContent=`${n?`【エラー】`:``}${t}`}function $s({elementStore:e,heading:t,contentVisibilityToggleButton:n,information:r}){let i=document.createElement(`header`);if(i.appendChild(tc({heading:t,contentVisibilityToggleButton:n})),r){let t=Zs();i.appendChild(t),e.updateNamedUserVarInformationElement(t)}return i}function ec(e,t){e.textContent=t?`▲隠す`:`▼表示`}function tc({heading:e,contentVisibilityToggleButton:t}){let n=document.createElement(`div`);n.classList.add(`heading-area`);let r=document.createElement(`h2`);r.textContent=e.text,n.appendChild(r);let i=document.createElement(`button`);return i.classList.add(`content-visibility-toggle-button`),ec(i,!0),t.onClick&&i.addEventListener(`click`,t.onClick.bind(i)),n.appendChild(i),n}var nc=`user-variable-list-section`;function rc({kind:e,elementStore:t}){let n=document.createElement(`section`);n.classList.add(nc),n.dataset.kind=e;let r=qs({kind:e,elementStore:t});t.updateUserVarListElement(e,r);let i=$s({elementStore:t,heading:{text:e===`named`?`名前つき変数一覧`:`変数一覧`},information:(e===`numbered`||void 0)&&{},contentVisibilityToggleButton:{onClick:e=>{let n=t.getNamedUserVarInformationElement();n&&(r.getAttribute(`aria-hidden`)===`true`?ic(r,n,e.target):ac(r,n,e.target))}}});return n.appendChild(i),n.appendChild(r),t.updateUserVarListElement(e,r),n}function ic(e,t,n){e.removeAttribute(`aria-hidden`),t instanceof HTMLElement&&t.removeAttribute(`aria-hidden`),n instanceof HTMLElement&&ec(n,!0)}function ac(e,t,n){e.setAttribute(`aria-hidden`,`true`),t instanceof HTMLElement&&t.setAttribute(`aria-hidden`,`true`),n instanceof HTMLElement&&ec(n,!1)}function oc(){let e=new Map,t=new Map,n=new Map,r=null;return{getAllNamedUserVarIndeciesSet:()=>new Set(t.keys()),updateUserVarElementInfo:(n,r)=>{if(typeof n==`number`)e.set(n,r);else if(typeof n==`string`)t.set(n,r);else throw TypeError(`Invalid index: ${n}`)},getUserVarElementInfo:n=>{if(typeof n==`number`)return e.get(n);if(typeof n==`string`)return t.get(n);throw TypeError(`Invalid index: ${n}`)},deleteUserVarElementInfo:n=>{if(typeof n==`number`)e.delete(n);else if(typeof n==`string`)t.delete(n);else throw TypeError(`Invalid index: ${n}`)},getUserVarListElement:e=>n.get(e),updateUserVarListElement:(e,t)=>{n.set(e,t)},deleteUserVarListElement:e=>{n.delete(e)},getNamedUserVarInformationElement:()=>r,updateNamedUserVarInformationElement:e=>{r=e},deleteNamedUserVarInformationElement:()=>{r=null},dispose:()=>{e.clear(),t.clear(),n.clear(),r=null}}}function sc(e,t){let n=e.getAllNamedUserVarIndeciesSet(),r=e.getUserVarListElement(`named`);for(let[i,a]of t){let t=e.getUserVarElementInfo(i)?.cardValueElement;n.delete(i),t?Ws(t,a):Ys(e,r,{index:i,value:a})}for(let t of n){let n=e.getUserVarElementInfo(t)?.cardElement.parentElement;n instanceof HTMLLIElement&&(e.getUserVarListElement(`named`)?.removeChild(n),e.deleteUserVarElementInfo(t))}}function cc(e,t){Array.from({length:R.USER_VAR_NUM}).map((n,r)=>{let i=e.getUserVarElementInfo(r)?.cardValueElement;i&&Ws(i,t[r])})}function lc(e,t){Array.from({length:R.USER_VAR_NUM}).map((n,r)=>{let i=t[r];if(!i)return;let a=e.getUserVarElementInfo(r);if(!a)return;let o=a.cardIndexElement,s=a.cardIndexLabelElement;Is(s,i),Us(o,s)})}function uc(e,t,n=!1){Qs(e.getNamedUserVarInformationElement(),t,n)}var dc=`wwa-vardump-wrapper`;function fc(e){let t=Le(e),n=oc();return t instanceof HTMLElement?(t.classList.add(dc),t.appendChild(rc({kind:`named`,elementStore:n})),t.appendChild(rc({kind:`numbered`,elementStore:n})),{updateAllVariables:({namedUserVar:e,userVar:t})=>{e&&sc(n,e),t&&cc(n,t)},numberedUserVariable:{updateValues:e=>cc(n,e),updateLabels:e=>lc(n,e),updateInformation:(e,t=!1)=>uc(n,e,t)},namedUserVariable:{updateValues:e=>sc(n,e)}}):null}function pc(){return{mapdata:``,urlGateEnable:!1,titleImg:void 0,audioDir:`./audio/`,classicModeEnable:!1,itemEffectEnable:!0,useGoToWwa:!1,lookingAround:!1,autoSave:!0,disallowLoadOldSave:!1,resumeSaveData:void 0,varDump:null,userVarNamesFile:void 0,displayUserVars:!1,virtualPadEnable:!1,virtualPadViewportFitEnable:!1,virtualPadControllerElm:void 0,userDefinedScriptsFile:`./script/script_file_list.json`}}var mc;function hc(e,t,n){var r=new ge;return r.current=e,r.total=t,r.stage=n,r}var gc=class{constructor(e=pc()){this._useSuspend=!1,this._useLookingAround=!0,this._isDisallowLoadOldSave=!1,this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._windowCloseWaitingJumpGateRequest=void 0,this._debugConsoleElement=void 0,this.audioExtension=``,this.soundLoadedCheckTimer=void 0,this._playTimeCalculator=void 0,this._varDump=null,this.userDefinedFunctions={},this.convertWwaNodes=e=>qo(Ms(e)),this.mainCaller=()=>this._main(),this.soundCheckCaller=()=>this.checkAllSoundLoaded(),this._checkTurnKeyPressed=()=>this._keyStore.checkHitKey(V.KEY_ESC)||this._keyStore.checkHitKey(V.KEY_SHIFT)||this._keyStore.checkHitKey(V.KEY_N),this._saveDataList=[],this.wwaCustomEventEmitter=new Zi(U(`wwa-wrapper`));let t;window.addEventListener(`click`,e=>{this._isActive=!1}),U(`wwa-wrapper`).addEventListener(`click`,e=>{e.stopPropagation(),this._isActive=!0}),this._isActive=!0,e.titleImg===void 0?(this._hasTitleImg=!1,this._cvsCover=U(`progress-panel`),t=this._cvsCover.getContext(`2d`),t.fillStyle=`rgb(0, 0, 0)`):this._hasTitleImg=!0;try{this._hasTitleImg?(U(`unstable-version-warning`).textContent=`この WWA Wing は [不安定版] です。`,U(`version`).textContent=`WWA Wing Ver.4.0.6`):this._setLoadingMessage(t,0)}catch{}this._varDump=e.varDump;let n=window.AudioContext||window.webkitAudioContext;n&&(this.audioContext=new n,this.audioGain=this.audioContext.createGain(),this.audioGain.gain.setValueAtTime(1,this.audioContext.currentTime));let r=new Audio;if(r.canPlayType(`audio/mpeg`)!==`no`&&r.canPlayType(`audio/mpeg`)!==``?this.audioExtension=`mp3`:this.audioExtension=`m4a`,this._isURLGateEnable=e.urlGateEnable,this._isClassicModeEnable=e.classicModeEnable,this._mainCallCounter=0,this._animationCounter=0,this._statusPressCounter=new x(0,0,0,0),e.audioDir?e.audioDir[e.audioDir.length-1]!==`/`&&(e.audioDir+=`/`):e.audioDir=`./audio/`,this._audioDirectory=e.audioDir,this._bottomButtonType=e.useGoToWwa?T.GOTO_WWA:T.BATTLE_REPORT,this._userVarNameList=[],this.evalCalcWwaNodeGenerator=new Os(this),this.userDevice=new M,location.href.match(/^file/))switch(this.userDevice.device){case re.GAME:switch(this.userDevice.os){case ne.NINTENDO:R.BATTLE_INTERVAL_FRAME_NUM=5;break}this._bottomButtonType=T.GAME_END;break;default:alert(`【警告】直接HTMLファイルを開いているようです。
95
95
  このプログラムは正常に動作しない可能性があります。
96
96
  マップデータの確認を行う場合には同梱の「wwa-server.exe」をご利用ください。
97
97
  `+(this.userDevice.browser===ie.FIREFOX?`Firefoxの場合も、バージョン68以降はローカルのHTMLファイルを直接開いた場合、通常起動できないことを確認しております。`:``));break}switch(this.userDevice.device){case re.VR:case re.GAME:this._usePassword=!1;break;default:this._usePassword=!0;break}switch(U(`cell-save`).textContent=he.QUICK_SAVE,this._usePassword?U(`cell-load`).textContent=he.PASSWORD:U(`cell-load`).textContent=he.EMPTY_LOAD,this._bottomButtonType){case T.GOTO_WWA:U(`cell-gotowwa`).textContent=he.GOTO_WWA;break;case T.BATTLE_REPORT:U(`cell-gotowwa`).textContent=he.BATTLE_REPORT;break;case T.GAME_END:U(`cell-gotowwa`).textContent=he.GAME_END;break}let i=performance.now();console.log(`WWA のロード処理を開始します`),Promise.all([new Promise(async n=>{let r=performance.now();console.log(`(A-1) マップデータ ${e.mapdata} のロードを開始します`);let i=new Zi,a=t=>{i.removeListener(`mapData`,a),i.removeListener(`progress`,o),i.removeListener(`error`,s),console.log(`(A-1) マップデータ ${e.mapdata} のロードが完了しました (${performance.now()-r}ms)`),n(t)},o=e=>this._setProgressBar(e),s=e=>{throw this._setErrorMessage(`下記のエラーが発生しました。:
98
98
  `+e.message,t),Error(`MapData Load Error: `+e.message)};i.addListener(`mapData`,a),i.addListener(`progress`,o),i.addListener(`error`,s),await new jn(e.mapdata,i).requestAndLoadMapData()}).then(t=>{let n=performance.now();console.log(`(A-2) マップデータからリスタートデータの作成を開始します`),t.isItemEffectEnabled=e.itemEffectEnable;let r=e.mapdata.split(`/`);r.pop(),r.push(t.mapCGName),t.mapCGName=r.join(`/`);let i={wwaData:t,restartData:structuredClone(t),checkOriginalMapString:this._generateMapDataHash(t)};return console.log(`(A-2) マップデータからのリスタートデータの作成が完了しました (${performance.now()-n}ms)`),i}).then(e=>new Promise(n=>{let r=performance.now();console.log(`(A-3) マップ画像 ${e.wwaData.mapCGName} のロードを開始します`);let i=new Image;i.src=e.wwaData.mapCGName,i.decode().then(()=>{console.log(`(A-3) マップ画像 ${e.wwaData.mapCGName} のロードが完了しました (${performance.now()-r}ms)`),n(e)}).catch(()=>{throw this._setErrorMessage(`画像ファイル「`+e.wwaData.mapCGName+`」が見つかりませんでした。
99
99
  管理者の方へ: データがアップロードされているか、
100
- パーミッションを確かめてください。`,t),Error(`Map CG Image Load Error`)})})),new Promise(async t=>{if(this._canDisplayUserVars=e.displayUserVars,!this._canDisplayUserVars){console.log(`(B) ユーザー変数の表示機能は無効化されています`),t();return}let n=performance.now();console.log(`(B) ユーザー変数名一覧のロードおよび初期化を開始します (名前一覧ファイル: ${e.userVarNamesFile??`未指定`})`),this._inlineUserVarViewer={topUserVarIndex:{named:0,numbered:0},isVisible:!1,kind:`numbered`};let r=await(e.userVarNamesFile?Bn(e.userVarNamesFile):{kind:`noFileSpecified`,errorMessage:`data-wwa-user-var-names-file 属性に、変数の説明を記したファイル名を書くことで、その説明を表示できます。詳しくはマニュアルをご覧ください。`});switch(this.setUserVarStatus(r,e.userVarNamesFile),r.kind){case`data`:console.log(`(B) ユーザー変数名一覧のロードおよび初期化が完了しました (${performance.now()-n}ms)`);break;case`noFileSpecified`:console.log(`(B) ユーザー変数名一覧のロードはスキップされました (${performance.now()-n}ms)`);break;default:console.warn(`(B) ユーザー変数名一覧のロード中にエラーが発生しました (${performance.now()-n}ms)`),console.warn(`(B) `+r.errorMessage);break}t()}),new Promise(async t=>{let n=performance.now(),r=e.userDefinedScriptsFile??`./script/script_file_list.json`;console.log(`(C) 外部 WWA Script のロード・解析を開始します (リストファイル: ${r})`);let i=await Bn(r);if(i?.kind===`data`&&Array.isArray(i.data)){console.log(`(C) これらの外部 WWA Script がロードされます:`,i.data);let e=i.data.map(e=>Ns(e));(await Promise.allSettled(e)).forEach(e=>{if(e.status!==`fulfilled`){alert(`(C) 外部スクリプト ${e.reason.fileName} のロード中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${e.reason.message}`),console.error(e.reason.message);return}switch(e.value.kind){case`data`:try{this.setUserScript(e.value)}catch(t){alert(`外部スクリプト ${e.value.fileName} の解析中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${t instanceof Error?t.message:String(t)}`),console.error(`(C) 外部スクリプト ${e.value.fileName} の解析中にエラーが発生しました。`,t)}return;case`httpError`:console.warn(`(C) 外部スクリプト ${e.value.fileName} が見つからなかったか、その他のHTTPエラーが発生しました。`,e.value.errorMessage);return;case`otherError`:alert(`外部スクリプト ${e.value.fileName} のロード中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${e.value.errorMessage}`),console.error(`(C) 外部スクリプト ${e.value.fileName} のロード中にエラーが発生しました。`,e.value.errorMessage);return;default:alert(`外部スクリプトの解析中に予期せぬエラーが発生しました`),console.error(`(C) 外部スクリプト ${e.value.fileName} の解析中に予期せぬエラーが発生しました`,e.value);return}})}else console.log(`(C) 外部 WWA Script のリスト ${r} が見つからなかったか、内容が不正だったため、外部スクリプトはロードされませんでした。`);console.log(`(C) 外部 WWA Script のロード・解析が完了しました (${performance.now()-n}ms)`),t()})]).then(([{wwaData:e,restartData:t,checkOriginalMapString:n}])=>{this._wwaData=e,this._restartData=t,this.checkOriginalMapString=n,console.log(`WWAのロード処理が完了しました。(${performance.now()-i}ms)`)}).then(()=>{try{this._hasTitleImg?U(`version`).textContent+=` (Map data Ver. `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10+`)`:this._setLoadingMessage(t,1)}catch{}this.initCSSRule(),this._setProgressBar(Oc(0,4,_e.GAME_INIT)),this._setLoadingMessage(t,2);let n=this._wwaData.mapCGName.replace(`(`,`\\(`).replace(`)`,`\\)`),r=e=>{e.style.backgroundImage=`url(`+n+`)`};Array.prototype.forEach.call(ze(`div.item-cell`),e=>{e.style.backgroundPosition=`-${this._wwaData.imgItemboxX*R.CHIP_SIZE}px -${this._wwaData.imgItemboxY*R.CHIP_SIZE}px`,e.style.backgroundImage=`url(`+n+`)`}),Array.prototype.forEach.call(ze(`div.wide-cell-row`),e=>{e.style.backgroundPosition=`-160px -120px`,e.style.backgroundImage=`url(`+n+`)`}),Array.prototype.forEach.call(ze(`.item-cell>.item-click-border`),e=>{e.style.backgroundImage=`url('`+R.ITEM_BORDER_IMG_DATA_URL+`')`,e.style.backgroundPosition=`0 0`,e.style.display=`none`,e.style.cursor=`pointer`}),Array.prototype.forEach.call(ze(`.item-cell>.item-disp`),r),Array.prototype.forEach.call(ze(`div.wide-cell-row>.status-icon`),r),this.setStatusIconCoord(L.ENERGY,new S(this._wwaData.imgStatusEnergyX,this._wwaData.imgStatusEnergyY)),this.setStatusIconCoord(L.STRENGTH,new S(this._wwaData.imgStatusStrengthX,this._wwaData.imgStatusStrengthY)),this.setStatusIconCoord(L.DEFENCE,new S(this._wwaData.imgStatusDefenceX,this._wwaData.imgStatusDefenceY)),this.setStatusIconCoord(L.GOLD,new S(this._wwaData.imgStatusGoldX,this._wwaData.imgStatusGoldY)),this._setProgressBar(Oc(1,4,_e.GAME_INIT)),this._setLoadingMessage(t,3),this._mapIDTableCreate(),this._replaceAllRandomObjects(),this._cvs=U(`wwa-map`);var i=this._cvs.getContext(`2d`,{alpha:!1});i.fillStyle=`rgba( 255, 255, 255, 0.5)`,i.fillRect(0,0,440,440);var a=new C(this,this._wwaData.playerX,this._wwaData.playerY);this._camera=new Wn(a),this._itemMenu=new Ar;var o=new x(this._wwaData.statusEnergy,this._wwaData.statusStrength,this._wwaData.statusDefence,this._wwaData.statusGold);this._player=new qn(this,a,this._camera,o,this._wwaData.statusEnergyMax,this._wwaData.moves,this._wwaData.gameSpeedIndex),this._userVar={numbered:Array.from({length:R.USER_VAR_NUM}).map(()=>0),named:new Map},this._objectMovingDataManager=new Xn(this,this._player),this._camera.setPlayer(this._player),this._keyStore=new we,this._mouseStore=new Ee,e.virtualPadEnable?(this._virtualPadButtonElements={BUTTON_ENTER:U(`wwa-enter-button`),BUTTON_ESC:U(`wwa-esc-button`),BUTTON_FAST:U(`wwa-fast-button`),BUTTON_SLOW:U(`wwa-slow-button`),BUTTON_LEFT:U(`wwa-left-button`),BUTTON_UP:U(`wwa-up-button`),BUTTON_RIGHT:U(`wwa-right-button`),BUTTON_DOWN:U(`wwa-down-button`)},this._virtualPadStore=new Me(this._virtualPadButtonElements,Or(),U(`wwa-virtualpad-right`),U(`wwa-virtualpad-left`),this._setVirtualPadTouch.bind(this),this._setVirtualPadLeave.bind(this)),jc(e.virtualPadControllerElm,()=>{this._virtualPadStore.toggleVisible()})):(this._virtualPadButtonElements=null,this._virtualPadStore=new Me({})),this._debugConsoleElement=Mc(U(`wwa-debug-console-area`)),this._debugConsoleElement?.querySelector(`.script-running-button`).addEventListener(`click`,()=>{this._debugEvalString()}),this._gamePadStore=new De,this._pages=[],this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._yesNoChoiceCallInfo=N.NONE,this._prevFrameEventExected=!1,this._isLastPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._shouldSetNextPage=!1,this._passwordLoadExecInNextFrame=!1,this._pageExecuting=!1,this._messageWindow=new yr(this,50,180,340,0,this._wwaData.mapCGName,!1,!0,!1,U(`wwa-wrapper`)),this._scoreWindow=new vr(this,new S(50,50),!1,U(`wwa-wrapper`)),this._wwaSave=new Yi(Dc,Dc._wwaData.worldName,Dc._wwaData.worldPassNumber,this._checkSaveDataCompatibility.bind(this),e=>{if(e.length>0){let t=`これまでに保存されていたセーブデータは、下記の理由により消えたものがあります。`;e.forEach(e=>{switch(e){case Ji.UNMATCHED_WORLD_NAME:t+=`
100
+ パーミッションを確かめてください。`,t),Error(`Map CG Image Load Error`)})})),new Promise(async t=>{if(this._canDisplayUserVars=e.displayUserVars,!this._canDisplayUserVars){console.log(`(B) ユーザー変数の表示機能は無効化されています`),t();return}let n=performance.now();console.log(`(B) ユーザー変数名一覧のロードおよび初期化を開始します (名前一覧ファイル: ${e.userVarNamesFile??`未指定`})`),this._inlineUserVarViewer={topUserVarIndex:{named:0,numbered:0},isVisible:!1,kind:`numbered`};let r=await(e.userVarNamesFile?Bn(e.userVarNamesFile):{kind:`noFileSpecified`,errorMessage:`data-wwa-user-var-names-file 属性に、変数の説明を記したファイル名を書くことで、その説明を表示できます。詳しくはマニュアルをご覧ください。`});switch(this.setUserVarStatus(r,e.userVarNamesFile),r.kind){case`data`:console.log(`(B) ユーザー変数名一覧のロードおよび初期化が完了しました (${performance.now()-n}ms)`);break;case`noFileSpecified`:console.log(`(B) ユーザー変数名一覧のロードはスキップされました (${performance.now()-n}ms)`);break;default:console.warn(`(B) ユーザー変数名一覧のロード中にエラーが発生しました (${performance.now()-n}ms)`),console.warn(`(B) `+r.errorMessage);break}t()}),new Promise(async t=>{let n=performance.now(),r=e.userDefinedScriptsFile??`./script/script_file_list.json`;console.log(`(C) 外部 WWA Script のロード・解析を開始します (リストファイル: ${r})`);let i=await Bn(r);if(i?.kind===`data`&&Array.isArray(i.data)){console.log(`(C) これらの外部 WWA Script がロードされます:`,i.data);let e=i.data.map(e=>Ns(e));(await Promise.allSettled(e)).forEach(e=>{if(e.status!==`fulfilled`){alert(`(C) 外部スクリプト ${e.reason.fileName} のロード中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${e.reason.message}`),console.error(e.reason.message);return}switch(e.value.kind){case`data`:try{this.setUserScript(e.value)}catch(t){alert(`外部スクリプト ${e.value.fileName} の解析中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${t instanceof Error?t.message:String(t)}`),console.error(`(C) 外部スクリプト ${e.value.fileName} の解析中にエラーが発生しました。`,t)}return;case`httpError`:console.warn(`(C) 外部スクリプト ${e.value.fileName} が見つからなかったか、その他のHTTPエラーが発生しました。`,e.value.errorMessage);return;case`otherError`:alert(`外部スクリプト ${e.value.fileName} のロード中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${e.value.errorMessage}`),console.error(`(C) 外部スクリプト ${e.value.fileName} のロード中にエラーが発生しました。`,e.value.errorMessage);return;default:alert(`外部スクリプトの解析中に予期せぬエラーが発生しました`),console.error(`(C) 外部スクリプト ${e.value.fileName} の解析中に予期せぬエラーが発生しました`,e.value);return}})}else console.log(`(C) 外部 WWA Script のリスト ${r} が見つからなかったか、内容が不正だったため、外部スクリプトはロードされませんでした。`);console.log(`(C) 外部 WWA Script のロード・解析が完了しました (${performance.now()-n}ms)`),t()})]).then(([{wwaData:e,restartData:t,checkOriginalMapString:n}])=>{this._wwaData=e,this._restartData=t,this.checkOriginalMapString=n,console.log(`WWAのロード処理が完了しました。(${performance.now()-i}ms)`)}).then(()=>{try{this._hasTitleImg?U(`version`).textContent+=` (Map data Ver. `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10+`)`:this._setLoadingMessage(t,1)}catch{}this.initCSSRule(),this._setProgressBar(hc(0,4,_e.GAME_INIT)),this._setLoadingMessage(t,2);let n=this._wwaData.mapCGName.replace(`(`,`\\(`).replace(`)`,`\\)`),r=e=>{e.style.backgroundImage=`url(`+n+`)`};Array.prototype.forEach.call(ze(`div.item-cell`),e=>{e.style.backgroundPosition=`-${this._wwaData.imgItemboxX*R.CHIP_SIZE}px -${this._wwaData.imgItemboxY*R.CHIP_SIZE}px`,e.style.backgroundImage=`url(`+n+`)`}),Array.prototype.forEach.call(ze(`div.wide-cell-row`),e=>{e.style.backgroundPosition=`-160px -120px`,e.style.backgroundImage=`url(`+n+`)`}),Array.prototype.forEach.call(ze(`.item-cell>.item-click-border`),e=>{e.style.backgroundImage=`url('`+R.ITEM_BORDER_IMG_DATA_URL+`')`,e.style.backgroundPosition=`0 0`,e.style.display=`none`,e.style.cursor=`pointer`}),Array.prototype.forEach.call(ze(`.item-cell>.item-disp`),r),Array.prototype.forEach.call(ze(`div.wide-cell-row>.status-icon`),r),this.setStatusIconCoord(L.ENERGY,new S(this._wwaData.imgStatusEnergyX,this._wwaData.imgStatusEnergyY)),this.setStatusIconCoord(L.STRENGTH,new S(this._wwaData.imgStatusStrengthX,this._wwaData.imgStatusStrengthY)),this.setStatusIconCoord(L.DEFENCE,new S(this._wwaData.imgStatusDefenceX,this._wwaData.imgStatusDefenceY)),this.setStatusIconCoord(L.GOLD,new S(this._wwaData.imgStatusGoldX,this._wwaData.imgStatusGoldY)),this._setProgressBar(hc(1,4,_e.GAME_INIT)),this._setLoadingMessage(t,3),this._mapIDTableCreate(),this._replaceAllRandomObjects(),this._cvs=U(`wwa-map`);var i=this._cvs.getContext(`2d`,{alpha:!1});i.fillStyle=`rgba( 255, 255, 255, 0.5)`,i.fillRect(0,0,440,440);var a=new C(this,this._wwaData.playerX,this._wwaData.playerY);this._camera=new Wn(a),this._itemMenu=new Ar;var o=new x(this._wwaData.statusEnergy,this._wwaData.statusStrength,this._wwaData.statusDefence,this._wwaData.statusGold);this._player=new qn(this,a,this._camera,o,this._wwaData.statusEnergyMax,this._wwaData.moves,this._wwaData.gameSpeedIndex),this._userVar={numbered:Array.from({length:R.USER_VAR_NUM}).map(()=>0),named:new Map},this._objectMovingDataManager=new Xn(this,this._player),this._camera.setPlayer(this._player),this._keyStore=new we,this._mouseStore=new Ee,e.virtualPadEnable?(this._virtualPadButtonElements={BUTTON_ENTER:U(`wwa-enter-button`),BUTTON_ESC:U(`wwa-esc-button`),BUTTON_FAST:U(`wwa-fast-button`),BUTTON_SLOW:U(`wwa-slow-button`),BUTTON_LEFT:U(`wwa-left-button`),BUTTON_UP:U(`wwa-up-button`),BUTTON_RIGHT:U(`wwa-right-button`),BUTTON_DOWN:U(`wwa-down-button`)},this._virtualPadStore=new Me(this._virtualPadButtonElements,Or(),U(`wwa-virtualpad-right`),U(`wwa-virtualpad-left`),this._setVirtualPadTouch.bind(this),this._setVirtualPadLeave.bind(this)),vc(e.virtualPadControllerElm,()=>{this._virtualPadStore.toggleVisible()})):(this._virtualPadButtonElements=null,this._virtualPadStore=new Me({})),this._debugConsoleElement=yc(U(`wwa-debug-console-area`)),this._debugConsoleElement?.querySelector(`.script-running-button`).addEventListener(`click`,()=>{this._debugEvalString()}),this._gamePadStore=new De,this._pages=[],this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._yesNoChoiceCallInfo=N.NONE,this._prevFrameEventExected=!1,this._isLastPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._shouldSetNextPage=!1,this._passwordLoadExecInNextFrame=!1,this._pageExecuting=!1,this._messageWindow=new yr(this,50,180,340,0,this._wwaData.mapCGName,!1,!0,!1,U(`wwa-wrapper`)),this._scoreWindow=new vr(this,new S(50,50),!1,U(`wwa-wrapper`)),this._wwaSave=new Yi(mc,mc._wwaData.worldName,mc._wwaData.worldPassNumber,this._checkSaveDataCompatibility.bind(this),e=>{if(e.length>0){let t=`これまでに保存されていたセーブデータは、下記の理由により消えたものがあります。`;e.forEach(e=>{switch(e){case Ji.UNMATCHED_WORLD_NAME:t+=`
101
101
  ・制作者によるマップデータのワールド名の変更`;break;case Ji.UNMATCHED_WORLD_PASS_NUMBER:t+=`
102
102
  ・制作者によるマップデータの暗証番号の変更`;break;case Ji.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:t+=`
103
- ・制作者によるマップデータの内容変更 (マップデータ制作者の設定により、内容が変更されるとセーブデータが消去されます)`;break}}),alert(t)}}),this._isDisallowLoadOldSave=e.disallowLoadOldSave,this._messageWindow.setWWASave(this._wwaSave),Li.setRestartData(this._restartData,this._wwaData),this.clearFaces();let s=U(`wwa-wrapper`).getAttribute(`data-wwa-resume-savedata`);if(typeof s==`string`&&(this._useSuspend=!0,s)){var c=Li.getStartWWAData(s);this._restartData!==c&&(this._applyQuickLoad(c),this._wwaSave.resumeStart())}let l=U(`wwa-wrapper`).getAttribute(`data-wwa-autosave`);l!==null&&this._wwaSave.setAutoSaveInterval(Number(l)|0);let u=U(`wwa-wrapper`).getAttribute(`data-wwa-looking-around`);if(this._useLookingAround=!(u&&u.match(/false/i)),this._setProgressBar(Oc(2,4,_e.GAME_INIT)),this._setLoadingMessage(t,4),window.addEventListener(`keydown`,e=>{if(this._isActive){switch(this.userDevice.os){case ne.NINTENDO:e.preventDefault(),e.stopPropagation();return}if(this._keyStore.setPressInfo(e.keyCode),e.keyCode===V.KEY_F5){e.preventDefault();return}this._player.isWaitingMessageOrManualPause()?(e.keyCode===V.KEY_DOWN||e.keyCode===V.KEY_LEFT||e.keyCode===V.KEY_RIGHT||e.keyCode===V.KEY_UP||e.keyCode===V.KEY_SHIFT||e.keyCode===V.KEY_ENTER||e.keyCode===V.KEY_ESC||e.keyCode===V.KEY_SPACE)&&e.preventDefault():this._player.isWaitingPasswordWindow()||(e.keyCode===V.KEY_DOWN||e.keyCode===V.KEY_LEFT||e.keyCode===V.KEY_RIGHT||e.keyCode===V.KEY_UP||e.keyCode===V.KEY_SHIFT||e.keyCode===V.KEY_ENTER||e.keyCode===V.KEY_1||e.keyCode===V.KEY_2||e.keyCode===V.KEY_3||e.keyCode===V.KEY_A||e.keyCode===V.KEY_C||e.keyCode===V.KEY_D||e.keyCode===V.KEY_E||e.keyCode===V.KEY_M||e.keyCode===V.KEY_N||e.keyCode===V.KEY_Q||e.keyCode===V.KEY_S||e.keyCode===V.KEY_W||e.keyCode===V.KEY_X||e.keyCode===V.KEY_Y||e.keyCode===V.KEY_Z||e.keyCode===V.KEY_ESC||e.keyCode===V.KEY_F1||e.keyCode===V.KEY_F2||e.keyCode===V.KEY_F3||e.keyCode===V.KEY_F4||e.keyCode===V.KEY_F6||e.keyCode===V.KEY_F7||e.keyCode===V.KEY_F8||e.keyCode===V.KEY_F12||e.keyCode===V.KEY_SPACE)&&e.preventDefault()}}),window.addEventListener(`keyup`,e=>{if(this._isActive){switch(this.userDevice.os){case ne.NINTENDO:e.preventDefault(),e.stopPropagation();return}this._keyStore.setReleaseInfo(e.keyCode),(e.keyCode===V.KEY_F5||(e.keyCode===V.KEY_DOWN||e.keyCode===V.KEY_LEFT||e.keyCode===V.KEY_RIGHT||e.keyCode===V.KEY_UP||e.keyCode===V.KEY_SHIFT||e.keyCode===V.KEY_ENTER||e.keyCode===V.KEY_0||e.keyCode===V.KEY_1||e.keyCode===V.KEY_2||e.keyCode===V.KEY_3||e.keyCode===V.KEY_4||e.keyCode===V.KEY_5||e.keyCode===V.KEY_6||e.keyCode===V.KEY_7||e.keyCode===V.KEY_8||e.keyCode===V.KEY_9||e.keyCode===V.KEY_A||e.keyCode===V.KEY_C||e.keyCode===V.KEY_D||e.keyCode===V.KEY_E||e.keyCode===V.KEY_M||e.keyCode===V.KEY_N||e.keyCode===V.KEY_Q||e.keyCode===V.KEY_S||e.keyCode===V.KEY_W||e.keyCode===V.KEY_X||e.keyCode===V.KEY_Y||e.keyCode===V.KEY_Z||e.keyCode===V.KEY_ESC||e.keyCode===V.KEY_NUM0||e.keyCode===V.KEY_NUM1||e.keyCode===V.KEY_NUM2||e.keyCode===V.KEY_NUM3||e.keyCode===V.KEY_NUM4||e.keyCode===V.KEY_NUM5||e.keyCode===V.KEY_NUM6||e.keyCode===V.KEY_NUM7||e.keyCode===V.KEY_NUM8||e.keyCode===V.KEY_NUM9||e.keyCode===V.KEY_F1||e.keyCode===V.KEY_F3||e.keyCode===V.KEY_F4||e.keyCode===V.KEY_F6||e.keyCode===V.KEY_F7||e.keyCode===V.KEY_F8||e.keyCode===V.KEY_F9||e.keyCode===V.KEY_F12||e.keyCode===V.KEY_SPACE)&&!this._player.isWaitingMessageOrManualPause()&&!this._player.isWaitingPasswordWindow())&&e.preventDefault()}}),window.addEventListener(`blur`,e=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener(`contextmenu`,e=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener(`help`,e=>{this._isActive&&e.preventDefault()}),this._mouseControllerElement=U(`wwa-controller`),this._mouseControllerElement.addEventListener(`mousedown`,e=>{if(this._isActive&&e.which===1){if(this._mouseStore.getMouseState()!==Te.NONE){e.preventDefault();return}let t=Be(e.clientX,e.clientY),n=this._player.getDrawingCenterPosition(),r=t.substract(n),i=Math.abs(r.x),a=Math.abs(r.y),o,s=!1;if(i<R.CHIP_SIZE&&a<R.CHIP_SIZE){switch(n.x/R.CHIP_SIZE|0){case 0:s=!0,o=E.LEFT;break;case R.H_PARTS_NUM_IN_WINDOW-1:s=!0,o=E.RIGHT;break}switch(n.y/R.CHIP_SIZE|0){case 0:s=!0,o=E.UP;break;case R.V_PARTS_NUM_IN_WINDOW-1:s=!0,o=E.DOWN;break}}s||(r.y>0&&a>i?o=E.DOWN:r.y<0&&a>i?o=E.UP:r.x>0&&a<i?o=E.RIGHT:r.x<0&&a<i&&(o=E.LEFT)),this._mouseStore.setPressInfo(o,0)}}),this._mouseControllerElement.addEventListener(`mouseleave`,e=>{this._mouseStore.clear()}),this._mouseControllerElement.addEventListener(`mouseup`,e=>{this._isActive&&e.which===1&&(this._mouseStore.setReleaseInfo(),e.preventDefault())}),window.TouchEvent){if(this.audioContext){let e=()=>{this.audioContext.createBufferSource().start(0),this._mouseControllerElement.removeEventListener(`touchstart`,e),e=null};this._mouseControllerElement.addEventListener(`touchstart`,e)}this._mouseControllerElement.addEventListener(`touchstart`,e=>{if(!this._isActive)return;if(this._mouseStore.getMouseState()!==Te.NONE){e.preventDefault();return}let t=e.changedTouches,n=t.length;for(let e=0;e<n;e++){let n=t[e],r=Be(n.clientX,n.clientY),i=this._player.getDrawingCenterPosition(),a=r.substract(i),o=Math.abs(a.x),s=Math.abs(a.y),c,l=!1;if(o<R.CHIP_SIZE&&s<R.CHIP_SIZE){switch(i.x/R.CHIP_SIZE|0){case 0:l=!0,c=E.LEFT;break;case R.H_PARTS_NUM_IN_WINDOW-1:l=!0,c=E.RIGHT;break}switch(i.y/R.CHIP_SIZE|0){case 0:l=!0,c=E.UP;break;case R.V_PARTS_NUM_IN_WINDOW-1:l=!0,c=E.DOWN;break}}l||(a.y>0&&s>o?c=E.DOWN:a.y<0&&s>o?c=E.UP:a.x>0&&s<o?c=E.RIGHT:a.x<0&&s<o&&(c=E.LEFT)),this._mouseStore.setPressInfo(c,n.identifier)}e.cancelable&&e.preventDefault()});let e=e=>{if(this._isActive){for(let t=0;t<e.changedTouches.length;t++)if(this._mouseStore.getTouchID()===e.changedTouches[t].identifier){this._mouseStore.setReleaseInfo(),e.preventDefault();break}}};this._mouseControllerElement.addEventListener(`touchend`,e),this._mouseControllerElement.addEventListener(`touchcancel`,e)}U(`button-load`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.QUICK_LOAD)}),U(`button-save`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.QUICK_SAVE)}),U(`button-restart`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.RESTART_GAME)}),U(`button-gotowwa`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.GOTO_WWA,!1,!1)}),Array.prototype.forEach.call(ze(`.wide-cell-row`),e=>{e.addEventListener(`click`,()=>{this._displayHelp()})}),this._frameCoord=new S(R.IMGPOS_DEFAULT_FRAME_X,R.IMGPOS_DEFAULT_YESNO_Y),this._battleEffectCoord=new S(R.IMGPOS_DEFAULT_BATTLE_EFFECT_X,R.IMGPOS_DEFAULT_BATTLE_EFFECT_Y),this._battleEstimateWindow=new xr(this,this._wwaData.mapCGName,U(`wwa-wrapper`)),this._passwordWindow=new Er(this,U(`wwa-wrapper`),e.disallowLoadOldSave),this._monsterWindow=new _r(this,new S(50,180),340,60,!1,U(`wwa-wrapper`),this._wwaData.mapCGName),this._setProgressBar(Oc(3,4,_e.GAME_INIT)),this._isLoadedSound=!1,this._temporaryInputDisable=!1,this._paintSkipByDoorOpen=!1,this._clearFacesInNextFrame=!1,this._useConsole=!1,this._playTimeCalculator=new Oe,this.wwaCustomEvent(`wwa_startup`),this._cgManager=new Un(i,this._wwaData.mapCGName,this._frameCoord,this,e.pictureImageNamesFile,()=>{this._isSkippedSoundMessage=!0;let n=()=>{switch(this.userDevice.device){case re.PC:this.registerSystemMessagePage(`ゲームを開始します。
103
+ ・制作者によるマップデータの内容変更 (マップデータ制作者の設定により、内容が変更されるとセーブデータが消去されます)`;break}}),alert(t)}}),this._isDisallowLoadOldSave=e.disallowLoadOldSave,this._messageWindow.setWWASave(this._wwaSave),Li.setRestartData(this._restartData,this._wwaData),this.clearFaces();let s=U(`wwa-wrapper`).getAttribute(`data-wwa-resume-savedata`);if(typeof s==`string`&&(this._useSuspend=!0,s)){var c=Li.getStartWWAData(s);this._restartData!==c&&(this._applyQuickLoad(c),this._wwaSave.resumeStart())}let l=U(`wwa-wrapper`).getAttribute(`data-wwa-autosave`);l!==null&&this._wwaSave.setAutoSaveInterval(Number(l)|0);let u=U(`wwa-wrapper`).getAttribute(`data-wwa-looking-around`);if(this._useLookingAround=!(u&&u.match(/false/i)),this._setProgressBar(hc(2,4,_e.GAME_INIT)),this._setLoadingMessage(t,4),window.addEventListener(`keydown`,e=>{if(this._isActive){switch(this.userDevice.os){case ne.NINTENDO:e.preventDefault(),e.stopPropagation();return}if(this._keyStore.setPressInfo(e.keyCode),e.keyCode===V.KEY_F5){e.preventDefault();return}this._player.isWaitingMessageOrManualPause()?(e.keyCode===V.KEY_DOWN||e.keyCode===V.KEY_LEFT||e.keyCode===V.KEY_RIGHT||e.keyCode===V.KEY_UP||e.keyCode===V.KEY_SHIFT||e.keyCode===V.KEY_ENTER||e.keyCode===V.KEY_ESC||e.keyCode===V.KEY_SPACE)&&e.preventDefault():this._player.isWaitingPasswordWindow()||(e.keyCode===V.KEY_DOWN||e.keyCode===V.KEY_LEFT||e.keyCode===V.KEY_RIGHT||e.keyCode===V.KEY_UP||e.keyCode===V.KEY_SHIFT||e.keyCode===V.KEY_ENTER||e.keyCode===V.KEY_1||e.keyCode===V.KEY_2||e.keyCode===V.KEY_3||e.keyCode===V.KEY_A||e.keyCode===V.KEY_C||e.keyCode===V.KEY_D||e.keyCode===V.KEY_E||e.keyCode===V.KEY_M||e.keyCode===V.KEY_N||e.keyCode===V.KEY_Q||e.keyCode===V.KEY_S||e.keyCode===V.KEY_W||e.keyCode===V.KEY_X||e.keyCode===V.KEY_Y||e.keyCode===V.KEY_Z||e.keyCode===V.KEY_ESC||e.keyCode===V.KEY_F1||e.keyCode===V.KEY_F2||e.keyCode===V.KEY_F3||e.keyCode===V.KEY_F4||e.keyCode===V.KEY_F6||e.keyCode===V.KEY_F7||e.keyCode===V.KEY_F8||e.keyCode===V.KEY_F12||e.keyCode===V.KEY_SPACE)&&e.preventDefault()}}),window.addEventListener(`keyup`,e=>{if(this._isActive){switch(this.userDevice.os){case ne.NINTENDO:e.preventDefault(),e.stopPropagation();return}this._keyStore.setReleaseInfo(e.keyCode),(e.keyCode===V.KEY_F5||(e.keyCode===V.KEY_DOWN||e.keyCode===V.KEY_LEFT||e.keyCode===V.KEY_RIGHT||e.keyCode===V.KEY_UP||e.keyCode===V.KEY_SHIFT||e.keyCode===V.KEY_ENTER||e.keyCode===V.KEY_0||e.keyCode===V.KEY_1||e.keyCode===V.KEY_2||e.keyCode===V.KEY_3||e.keyCode===V.KEY_4||e.keyCode===V.KEY_5||e.keyCode===V.KEY_6||e.keyCode===V.KEY_7||e.keyCode===V.KEY_8||e.keyCode===V.KEY_9||e.keyCode===V.KEY_A||e.keyCode===V.KEY_C||e.keyCode===V.KEY_D||e.keyCode===V.KEY_E||e.keyCode===V.KEY_M||e.keyCode===V.KEY_N||e.keyCode===V.KEY_Q||e.keyCode===V.KEY_S||e.keyCode===V.KEY_W||e.keyCode===V.KEY_X||e.keyCode===V.KEY_Y||e.keyCode===V.KEY_Z||e.keyCode===V.KEY_ESC||e.keyCode===V.KEY_NUM0||e.keyCode===V.KEY_NUM1||e.keyCode===V.KEY_NUM2||e.keyCode===V.KEY_NUM3||e.keyCode===V.KEY_NUM4||e.keyCode===V.KEY_NUM5||e.keyCode===V.KEY_NUM6||e.keyCode===V.KEY_NUM7||e.keyCode===V.KEY_NUM8||e.keyCode===V.KEY_NUM9||e.keyCode===V.KEY_F1||e.keyCode===V.KEY_F3||e.keyCode===V.KEY_F4||e.keyCode===V.KEY_F6||e.keyCode===V.KEY_F7||e.keyCode===V.KEY_F8||e.keyCode===V.KEY_F9||e.keyCode===V.KEY_F12||e.keyCode===V.KEY_SPACE)&&!this._player.isWaitingMessageOrManualPause()&&!this._player.isWaitingPasswordWindow())&&e.preventDefault()}}),window.addEventListener(`blur`,e=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener(`contextmenu`,e=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener(`help`,e=>{this._isActive&&e.preventDefault()}),this._mouseControllerElement=U(`wwa-controller`),this._mouseControllerElement.addEventListener(`mousedown`,e=>{if(this._isActive&&e.which===1){if(this._mouseStore.getMouseState()!==Te.NONE){e.preventDefault();return}let t=Be(e.clientX,e.clientY),n=this._player.getDrawingCenterPosition(),r=t.substract(n),i=Math.abs(r.x),a=Math.abs(r.y),o,s=!1;if(i<R.CHIP_SIZE&&a<R.CHIP_SIZE){switch(n.x/R.CHIP_SIZE|0){case 0:s=!0,o=E.LEFT;break;case R.H_PARTS_NUM_IN_WINDOW-1:s=!0,o=E.RIGHT;break}switch(n.y/R.CHIP_SIZE|0){case 0:s=!0,o=E.UP;break;case R.V_PARTS_NUM_IN_WINDOW-1:s=!0,o=E.DOWN;break}}s||(r.y>0&&a>i?o=E.DOWN:r.y<0&&a>i?o=E.UP:r.x>0&&a<i?o=E.RIGHT:r.x<0&&a<i&&(o=E.LEFT)),this._mouseStore.setPressInfo(o,0)}}),this._mouseControllerElement.addEventListener(`mouseleave`,e=>{this._mouseStore.clear()}),this._mouseControllerElement.addEventListener(`mouseup`,e=>{this._isActive&&e.which===1&&(this._mouseStore.setReleaseInfo(),e.preventDefault())}),window.TouchEvent){if(this.audioContext){let e=()=>{this.audioContext.createBufferSource().start(0),this._mouseControllerElement.removeEventListener(`touchstart`,e),e=null};this._mouseControllerElement.addEventListener(`touchstart`,e)}this._mouseControllerElement.addEventListener(`touchstart`,e=>{if(!this._isActive)return;if(this._mouseStore.getMouseState()!==Te.NONE){e.preventDefault();return}let t=e.changedTouches,n=t.length;for(let e=0;e<n;e++){let n=t[e],r=Be(n.clientX,n.clientY),i=this._player.getDrawingCenterPosition(),a=r.substract(i),o=Math.abs(a.x),s=Math.abs(a.y),c,l=!1;if(o<R.CHIP_SIZE&&s<R.CHIP_SIZE){switch(i.x/R.CHIP_SIZE|0){case 0:l=!0,c=E.LEFT;break;case R.H_PARTS_NUM_IN_WINDOW-1:l=!0,c=E.RIGHT;break}switch(i.y/R.CHIP_SIZE|0){case 0:l=!0,c=E.UP;break;case R.V_PARTS_NUM_IN_WINDOW-1:l=!0,c=E.DOWN;break}}l||(a.y>0&&s>o?c=E.DOWN:a.y<0&&s>o?c=E.UP:a.x>0&&s<o?c=E.RIGHT:a.x<0&&s<o&&(c=E.LEFT)),this._mouseStore.setPressInfo(c,n.identifier)}e.cancelable&&e.preventDefault()});let e=e=>{if(this._isActive){for(let t=0;t<e.changedTouches.length;t++)if(this._mouseStore.getTouchID()===e.changedTouches[t].identifier){this._mouseStore.setReleaseInfo(),e.preventDefault();break}}};this._mouseControllerElement.addEventListener(`touchend`,e),this._mouseControllerElement.addEventListener(`touchcancel`,e)}U(`button-load`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.QUICK_LOAD)}),U(`button-save`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.QUICK_SAVE)}),U(`button-restart`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.RESTART_GAME)}),U(`button-gotowwa`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.GOTO_WWA,!1,!1)}),Array.prototype.forEach.call(ze(`.wide-cell-row`),e=>{e.addEventListener(`click`,()=>{this._displayHelp()})}),this._frameCoord=new S(R.IMGPOS_DEFAULT_FRAME_X,R.IMGPOS_DEFAULT_YESNO_Y),this._battleEffectCoord=new S(R.IMGPOS_DEFAULT_BATTLE_EFFECT_X,R.IMGPOS_DEFAULT_BATTLE_EFFECT_Y),this._battleEstimateWindow=new xr(this,this._wwaData.mapCGName,U(`wwa-wrapper`)),this._passwordWindow=new Er(this,U(`wwa-wrapper`),e.disallowLoadOldSave),this._monsterWindow=new _r(this,new S(50,180),340,60,!1,U(`wwa-wrapper`),this._wwaData.mapCGName),this._setProgressBar(hc(3,4,_e.GAME_INIT)),this._isLoadedSound=!1,this._temporaryInputDisable=!1,this._paintSkipByDoorOpen=!1,this._clearFacesInNextFrame=!1,this._useConsole=!1,this._playTimeCalculator=new Oe,this.wwaCustomEvent(`wwa_startup`),this._cgManager=new Un(i,this._wwaData.mapCGName,this._frameCoord,this,e.pictureImageNamesFile,()=>{this._isSkippedSoundMessage=!0;let n=()=>{switch(this.userDevice.device){case re.PC:this.registerSystemMessagePage(`ゲームを開始します。
104
104
  画面をクリックしてください。`,!1);break;case re.SP:this.registerSystemMessagePage(`ゲームを開始します。
105
105
  画面にふれてください。`,!1);break}},r=this.resolveSystemMessage(g.CONFIRM_LOAD_SOUND);if(r===`ON`){this._isLoadedSound=!0,n(),this._setLoadingMessage(t,_e.AUDIO),this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller));return}else if(r===`OFF`){this._isLoadedSound=!1,n(),this.openGameWindow();return}if(this._isSkippedSoundMessage=!1,this._hasTitleImg||t.clearRect(0,0,R.SCREEN_WIDTH,R.SCREEN_HEIGHT),this._usePassword){let n=r;e.displayUserVars&&(n+=`
106
106
 
107
107
  ※変数表示が有効になっています。
108
108
  公開前に必ずHTMLファイル内の
109
109
  data-wwa-display-user-vars="true"
110
- を消してください。`),this._messageWindow.setMessage(n),this._messageWindow.show(),this._setProgressBar(Oc(4,4,_e.GAME_INIT));var i=setInterval(()=>{this._keyStore.update(),this._gamePadStore.update(),this._virtualPadStore.update(),this._yesNoJudgeInNextFrame===k.UNSELECTED&&(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_Y)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this._yesNoJudgeInNextFrame=k.YES:(this._keyStore.getKeyState(V.KEY_N)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_ESC)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&(this._yesNoJudgeInNextFrame=k.NO)),this._yesNoJudgeInNextFrame===k.YES?(clearInterval(i),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._isLoadedSound=!0,this._setLoadingMessage(t,_e.AUDIO),this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller))},R.YESNO_PRESS_DISP_FRAME_NUM*R.DEFAULT_FRAME_INTERVAL)):this._yesNoJudgeInNextFrame===k.NO&&(clearInterval(i),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._isLoadedSound=!1,this.openGameWindow()},R.YESNO_PRESS_DISP_FRAME_NUM*R.DEFAULT_FRAME_INTERVAL))},R.DEFAULT_FRAME_INTERVAL)}else clearInterval(i),this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._isLoadedSound=!0,this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller))}),console.log(`WWA_START`),this.wwaCustomEvent(`wwa_start`);let d=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_WWA_START;if(d)try{this.evalCalcWwaNodeGenerator.evalWwaNode(d)}catch(e){alert(`CALL_WWA_START でエラーが発生しました。\n\n詳細:\n${e.message}`),console.error(e.message)}})}setEvalCalcWwaNodeEarnedItem(e,t){this.evalCalcWwaNodeGenerator.setEarnedItem(e,t)}clearEvalCalcWwaNodeEarnedItem(){this.evalCalcWwaNodeGenerator.clearEarnedItem()}callGetItemUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callGetItemFullUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM_FULL;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUseItemUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_USE_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callJumpGateUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_JUMPGATE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUserDefinedBattleDamageFunction(e,t){let n=this.getUserDefinedDamageFunctionNode(e);if(n){this.evalCalcWwaNodeGenerator.setBattleDamageCalculationMode(t);try{let t=this.evalCalcWwaNodeGenerator.evalWwaNode(n),r=this.evalCalcWwaNodeGenerator.state.battleDamageCalculation.aborted;return this.evalCalcWwaNodeGenerator.clearBattleDamageCalculationMode(),r?{damage:0,aborted:r}:typeof t==`number`?{damage:this.toAssignableValue(t),aborted:r}:(console.warn(`${e} のダメージ計算結果が数値になりませんでした。(結果: ${t})。このターンのダメージは無効になります。`),{damage:0,aborted:r})}catch(t){return console.warn(`${e} のダメージ計算中にエラーが発生しました。このターンのダメージは無効になります。`),console.warn(t),{damage:0,hasError:!0}}}}getUserDefinedDamageFunctionNode(e){return this.userDefinedFunctions?.[{playerToEnemy:`CALC_PLAYER_TO_ENEMY_DAMAGE`,enemyToPlayer:`CALC_ENEMY_TO_PLAYER_DAMAGE`}[e]]}callMoveUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callCameraMoveUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CAMERA_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}getUserScript(e){return this.userDefinedFunctions&&this.userDefinedFunctions[e]||null}setUserScript(e){if(e.kind!==`data`){console.error(e);return}this.convertWwaNodes(e.data).forEach(e=>{if(e.type===`DefinedFunction`&&this.userDefinedFunctions){let t=e.functionName;this.userDefinedFunctions[t]=e.body}})}callUserScript(e){let t=this.getUserScript(e);t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}setUserVarStatus(e,t){if(e){if(e.kind===`noFileSpecified`){_c(this._dumpElement,e.errorMessage,!1);return}if(e.kind!==`data`){this._userVarNameListRequestError=e,_c(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);return}if(!e.data||typeof e.data!=`object`){this._userVarNameListRequestError={kind:`notObject`,errorMessage:`ユーザ変数一覧 ${t} が正しい形式で書かれていません。`},_c(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);return}this._userVarNameList=this.convertUserVariableNameListToArray(e.data),gc(this._dumpElement,this._userVarNameList)}}convertUserVariableNameListToArray(e){let t=Array(R.USER_VAR_NUM);for(let e=0;e<R.USER_VAR_NUM;e++)t[e]=void 0;return Object.keys(e).forEach(n=>{let r=parseInt(n,10);typeof e[n]!=`string`||typeof n!=`string`||isNaN(r)||r<0||r>=R.USER_VAR_NUM||(t[r]=e[n])}),t}_setProgressBar(e){this._hasTitleImg&&(e.stage<=R.LOAD_STAGE_MAX_EXCEPT_AUDIO?(U(`progress-message-container`).textContent=e.stage===R.LOAD_STAGE_MAX_EXCEPT_AUDIO?`World Name: `+this._wwaData.worldName:ve[e.stage],U(`progress-bar`).style.width=(1*e.stage+e.current/e.total*1)/(R.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*R.MAP_WINDOW_WIDTH+`px`,U(`progress-disp`).textContent=((1*e.stage+e.current/e.total*1)/(R.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*100).toFixed(2)+`%`):(this._usePassword?U(`progress-message-container`).textContent=`効果音/BGMを読み込んでいます。(スペースキーでスキップ)`:U(`progress-message-container`).textContent=`ゲームデータを読み込んでいます。`,U(`progress-bar-audio`).style.width=e.current*R.MAP_WINDOW_WIDTH/e.total+`px`,U(`progress-disp`).textContent=(e.current/e.total*100).toFixed(2)+`%`))}_setLoadingMessage(e,t){if(!this._hasTitleImg)if(t<=0)e.font=be.TITLE+`px `+R.LOADING_FONT,e.fillText(ye[0],z.TITLE_X,z.TITLE_Y),e.font=be.FOOTER+`px `+R.LOADING_FONT,e.fillText(`WWA Wing Ver.4.0.5`,z.FOOTER_X,z.COPYRIGHT_Y);else if(t<=ye.length)e.font=be.LOADING+`px `+R.LOADING_FONT,t>=2&&(e.clearRect(z.LOADING_X,z.LOADING_Y+z.LINE*(t-3),R.SCREEN_WIDTH-z.LOADING_X,z.LINE),e.fillText(ye[t-1]+` Complete!`,z.LOADING_X,z.LOADING_Y+z.LINE*(t-2))),t<ye.length&&e.fillText(ye[t],z.LOADING_X,z.LOADING_Y+z.LINE*(t-1)),t==1&&(e.font=be.FOOTER+`px `+R.LOADING_FONT,e.fillText(`World Name `+this._wwaData.worldName,z.FOOTER_X,z.WORLD_Y),e.fillText(` (Map data Ver. `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10+`)`,z.FOOTER_X,z.WORLD_Y+z.LINE));else{var n=this._isSkippedSoundMessage?z.LOADING_Y+z.LINE*(ye.length-1):z.FOOTER_Y;t<=_e.AUDIO?e.fillText(`Now Sound data Loading .....`,z.LOADING_X,n):(e.clearRect(z.LOADING_X,n-z.LINE,R.SCREEN_WIDTH-z.LOADING_X,z.LINE),e.fillText(`Now Sound data Loading ..... Complete!`,z.LOADING_X,n))}}_setErrorMessage(e,t){this._hasTitleImg?alert(e):(t.clearRect(0,0,R.SCREEN_WIDTH,R.SCREEN_HEIGHT),t.font=be.ERRROR+`px `+R.LOADING_FONT,e.split(`
110
+ を消してください。`),this._messageWindow.setMessage(n),this._messageWindow.show(),this._setProgressBar(hc(4,4,_e.GAME_INIT));var i=setInterval(()=>{this._keyStore.update(),this._gamePadStore.update(),this._virtualPadStore.update(),this._yesNoJudgeInNextFrame===k.UNSELECTED&&(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_Y)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this._yesNoJudgeInNextFrame=k.YES:(this._keyStore.getKeyState(V.KEY_N)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_ESC)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&(this._yesNoJudgeInNextFrame=k.NO)),this._yesNoJudgeInNextFrame===k.YES?(clearInterval(i),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._isLoadedSound=!0,this._setLoadingMessage(t,_e.AUDIO),this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller))},R.YESNO_PRESS_DISP_FRAME_NUM*R.DEFAULT_FRAME_INTERVAL)):this._yesNoJudgeInNextFrame===k.NO&&(clearInterval(i),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._isLoadedSound=!1,this.openGameWindow()},R.YESNO_PRESS_DISP_FRAME_NUM*R.DEFAULT_FRAME_INTERVAL))},R.DEFAULT_FRAME_INTERVAL)}else clearInterval(i),this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=k.UNSELECTED,this._yesNoJudgeInNextFrame=k.UNSELECTED,this._isLoadedSound=!0,this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller))}),console.log(`WWA_START`),this.wwaCustomEvent(`wwa_start`);let d=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_WWA_START;if(d)try{this.evalCalcWwaNodeGenerator.evalWwaNode(d)}catch(e){alert(`CALL_WWA_START でエラーが発生しました。\n\n詳細:\n${e.message}`),console.error(e.message)}})}setEvalCalcWwaNodeEarnedItem(e,t){this.evalCalcWwaNodeGenerator.setEarnedItem(e,t)}clearEvalCalcWwaNodeEarnedItem(){this.evalCalcWwaNodeGenerator.clearEarnedItem()}callGetItemUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callGetItemFullUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM_FULL;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUseItemUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_USE_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callJumpGateUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_JUMPGATE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUserDefinedBattleDamageFunction(e,t){let n=this.getUserDefinedDamageFunctionNode(e);if(n){this.evalCalcWwaNodeGenerator.setBattleDamageCalculationMode(t);try{let t=this.evalCalcWwaNodeGenerator.evalWwaNode(n),r=this.evalCalcWwaNodeGenerator.state.battleDamageCalculation.aborted;return this.evalCalcWwaNodeGenerator.clearBattleDamageCalculationMode(),r?{damage:0,aborted:r}:typeof t==`number`?{damage:this.toAssignableValue(t),aborted:r}:(console.warn(`${e} のダメージ計算結果が数値になりませんでした。(結果: ${t})。このターンのダメージは無効になります。`),{damage:0,aborted:r})}catch(t){return console.warn(`${e} のダメージ計算中にエラーが発生しました。このターンのダメージは無効になります。`),console.warn(t),{damage:0,hasError:!0}}}}getUserDefinedDamageFunctionNode(e){return this.userDefinedFunctions?.[{playerToEnemy:`CALC_PLAYER_TO_ENEMY_DAMAGE`,enemyToPlayer:`CALC_ENEMY_TO_PLAYER_DAMAGE`}[e]]}callMoveUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callCameraMoveUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CAMERA_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}getUserScript(e){return this.userDefinedFunctions&&this.userDefinedFunctions[e]||null}setUserScript(e){if(e.kind!==`data`){console.error(e);return}this.convertWwaNodes(e.data).forEach(e=>{if(e.type===`DefinedFunction`&&this.userDefinedFunctions){let t=e.functionName;this.userDefinedFunctions[t]=e.body}})}callUserScript(e){let t=this.getUserScript(e);t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}setUserVarStatus(e,t){if(e){if(e.kind===`noFileSpecified`){this._varDump?.numberedUserVariable.updateInformation(e.errorMessage,!1);return}if(e.kind!==`data`){this._userVarNameListRequestError=e,this._varDump?.numberedUserVariable.updateInformation(this._userVarNameListRequestError.errorMessage,!0);return}if(!e.data||typeof e.data!=`object`){this._userVarNameListRequestError={kind:`notObject`,errorMessage:`ユーザ変数一覧 ${t} が正しい形式で書かれていません。`},this._varDump?.numberedUserVariable.updateInformation(this._userVarNameListRequestError.errorMessage,!0);return}this._userVarNameList=this.convertUserVariableNameListToArray(e.data),this._varDump?.numberedUserVariable.updateLabels(this._userVarNameList)}}convertUserVariableNameListToArray(e){let t=Array(R.USER_VAR_NUM);for(let e=0;e<R.USER_VAR_NUM;e++)t[e]=void 0;return Object.keys(e).forEach(n=>{let r=parseInt(n,10);typeof e[n]!=`string`||typeof n!=`string`||isNaN(r)||r<0||r>=R.USER_VAR_NUM||(t[r]=e[n])}),t}_setProgressBar(e){this._hasTitleImg&&(e.stage<=R.LOAD_STAGE_MAX_EXCEPT_AUDIO?(U(`progress-message-container`).textContent=e.stage===R.LOAD_STAGE_MAX_EXCEPT_AUDIO?`World Name: `+this._wwaData.worldName:ve[e.stage],U(`progress-bar`).style.width=(1*e.stage+e.current/e.total*1)/(R.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*R.MAP_WINDOW_WIDTH+`px`,U(`progress-disp`).textContent=((1*e.stage+e.current/e.total*1)/(R.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*100).toFixed(2)+`%`):(this._usePassword?U(`progress-message-container`).textContent=`効果音/BGMを読み込んでいます。(スペースキーでスキップ)`:U(`progress-message-container`).textContent=`ゲームデータを読み込んでいます。`,U(`progress-bar-audio`).style.width=e.current*R.MAP_WINDOW_WIDTH/e.total+`px`,U(`progress-disp`).textContent=(e.current/e.total*100).toFixed(2)+`%`))}_setLoadingMessage(e,t){if(!this._hasTitleImg)if(t<=0)e.font=be.TITLE+`px `+R.LOADING_FONT,e.fillText(ye[0],z.TITLE_X,z.TITLE_Y),e.font=be.FOOTER+`px `+R.LOADING_FONT,e.fillText(`WWA Wing Ver.4.0.6`,z.FOOTER_X,z.COPYRIGHT_Y);else if(t<=ye.length)e.font=be.LOADING+`px `+R.LOADING_FONT,t>=2&&(e.clearRect(z.LOADING_X,z.LOADING_Y+z.LINE*(t-3),R.SCREEN_WIDTH-z.LOADING_X,z.LINE),e.fillText(ye[t-1]+` Complete!`,z.LOADING_X,z.LOADING_Y+z.LINE*(t-2))),t<ye.length&&e.fillText(ye[t],z.LOADING_X,z.LOADING_Y+z.LINE*(t-1)),t==1&&(e.font=be.FOOTER+`px `+R.LOADING_FONT,e.fillText(`World Name `+this._wwaData.worldName,z.FOOTER_X,z.WORLD_Y),e.fillText(` (Map data Ver. `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10+`)`,z.FOOTER_X,z.WORLD_Y+z.LINE));else{var n=this._isSkippedSoundMessage?z.LOADING_Y+z.LINE*(ye.length-1):z.FOOTER_Y;t<=_e.AUDIO?e.fillText(`Now Sound data Loading .....`,z.LOADING_X,n):(e.clearRect(z.LOADING_X,n-z.LINE,R.SCREEN_WIDTH-z.LOADING_X,z.LINE),e.fillText(`Now Sound data Loading ..... Complete!`,z.LOADING_X,n))}}_setErrorMessage(e,t){this._hasTitleImg?alert(e):(t.clearRect(0,0,R.SCREEN_WIDTH,R.SCREEN_HEIGHT),t.font=be.ERRROR+`px `+R.LOADING_FONT,e.split(`
111
111
  `).forEach(function(e,n){t.fillText(e,z.ERROR_X,z.ERROR_Y+z.LINE*n)}))}createSoundInstance(e){if(e===0||e===p.NO_SOUND||this._soundMap.has(e))return;let t=`${this._audioDirectory}${e}.${this.audioExtension}`;this._soundMap.set(e,new Xi(e,t,this.audioContext,this.audioGain))}async loadSound(){this._soundMap=new Map,console.log(`(D) サウンドのロードを開始します。`),console.log(`(D-1) システムサウンドのロードを開始します。`),this.createSoundInstance(p.DECISION),this.createSoundInstance(p.ATTACK),console.log(`(D-2) 背景パーツ記載のサウンドのロードを開始します。`);for(let e=1;e<this._wwaData.mapPartsMax;e++){let t=this._wwaData.mapAttribute[e][R.ATR_SOUND];this.createSoundInstance(t)}console.log(`(D-3) 物体パーツ記載のサウンドのロードを開始します。`);for(let e=1;e<this._wwaData.objPartsMax;e++){if(this._wwaData.objectAttribute[e][R.ATR_TYPE]===R.OBJECT_RANDOM)continue;let t=this._wwaData.objectAttribute[e][R.ATR_SOUND];this.createSoundInstance(t)}console.log(`(D-4) $sound マクロ記載のサウンドのロードを開始します。`),this._wwaData.message.forEach(e=>e.split(`
112
- `).forEach(e=>{let t=e.match(/^\$sound=(\d+)/);if(!t||t.length<2)return;let n=parseInt(t[1],10);!isNaN(n)&&0<n&&n<p.NO_SOUND&&this.createSoundInstance(n)})),console.log(`(D-4) マップから抽出したサウンド番号一覧:`,Array.from(this._soundMap.keys())),await this.loadCustomSound(),console.log(`(D-6) 次のサウンドがロードされます:`,Array.from(this._soundMap.keys()).sort((e,t)=>typeof e==`number`?typeof t==`number`?e-t:-1:typeof t==`number`?1:e.localeCompare(t))),this._wwaData.bgm=0,this._soundLoadSkipFlag=!1}async loadCustomSound(){let e=this._audioDirectory+`sound-list.json`;console.log(`(D-5) サウンドリストファイル: ${e} の解析を開始します。`);let t=await Bn(e);if(t?.kind!==`data`||!Array.isArray(t.data)){console.warn(`(D-5) カスタムオーディオファイルのリストの取得に失敗しました。リストファイルが存在するか、正しい形式で書かれているかを確認してください。 (リストファイル: ${e})`);return}t.data.forEach(e=>{switch(typeof e){case`number`:this.createSoundInstance(e);return;case`string`:{if(e.startsWith(`#`))return;let t=Number(e);if(e.includes(`/`)||e.includes(`\\`)||t<=0||t>2**53-1||t==p.NO_SOUND){console.warn(`(D-5) 無効なサウンドIDが指定されました: ${e}`);return}if(!Number.isNaN(t)){console.warn(`(D-5) 文字列で数値のサウンドIDが与えられました。数値として解釈します。 (指定されたサウンドID: `+e+`)`),this.createSoundInstance(t);return}this.createSoundInstance(e);return}case`object`:if(!e)return;if(Array.isArray(e)){if(e.length!==2){console.warn(`(D-5) 配列形式でサウンドIDを与える場合は2要素で与えてください: ${JSON.stringify(e)}`);return}try{e.forEach(t=>{if(typeof t!=`number`||t<=0||t>2**53-1)throw Error(`(D-5) 無効なサウンドIDが指定されました: ${JSON.stringify(e)}`)})}catch(e){console.warn(e.message);return}let[t,n]=e;if(t>n){console.warn(`(D-5) サウンドIDが配列形式で与えられていますが、from (${t}) が to (${n}) より大きくなっています: ${JSON.stringify(e)}`);return}for(let e=t;e<=n;e++){if(e==p.NO_SOUND){console.warn(`(D-5) サウンドID ${e} が範囲に含まれていますが、これは停止用に使用している値で無効なのでスキップします。`);continue}this.createSoundInstance(e)}return}console.warn(`(D-5) サウンドIDがオブジェクトのようですが、現在この記法はサポートされていません: ${JSON.stringify(e)}`);return;default:console.warn(`(D-5) この形式のサウンドIDはサポートされていません: ${e}`);return}})}checkAllSoundLoaded(){let e=0,t=0;if(!this._hasTitleImg)var n=this._cvsCover.getContext(`2d`);if(this._keyStore.update(),this._keyStore.getKeyState(V.KEY_SPACE)===B.KEYDOWN&&(this._soundLoadSkipFlag=!0),this._soundMap.forEach(n=>{!n||n.isError()||(t++,n.hasData()&&e++)}),e<t&&!this._soundLoadSkipFlag){this._setProgressBar(Oc(e,t,_e.AUDIO)),window.requestAnimationFrame(this.soundCheckCaller);return}this._setProgressBar(Oc(R.SOUND_MAX,R.SOUND_MAX,_e.AUDIO)),this._setLoadingMessage(n,_e.FINISH),console.log(`(D-7) サウンドのロードが完了しました。`),this.openGameWindow()}_setSoundLoadedCheckTimer(e){let t=this._soundMap.get(e);!t||t.isError()||(this.soundLoadedCheckTimer=window.setInterval(()=>{this._wwaData.bgm===e?t.hasData()?(t.play(this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=e,this._clearSoundLoadedCheckTimer()):t.isError()&&this._clearSoundLoadedCheckTimer():this._clearSoundLoadedCheckTimer()},100))}_clearSoundLoadedCheckTimer(){this.soundLoadedCheckTimer&&=(clearInterval(this.soundLoadedCheckTimer),void 0)}getSoundEnabled(){return this._isLoadedSound}checkSoundEnabled(e){this._soundMap.get(e).hasData()}stopBgm(){let e=this._soundMap.get(this._wwaData.bgm);e?.isPlaying()&&e.pause(),this._wwaData.bgm=0}stopSound(e,t){if(this.soundIsBgm(e)){t.includeBgm&&this._wwaData.bgm===e&&this.stopBgm();return}let n=this._soundMap.get(e);n?.isPlaying()&&n.pause()}stopAllSound(e){this._soundMap.keys().forEach(t=>this.stopSound(t,e))}playSound(e,t={}){let n=this.soundIsBgm(e),r=t.loopPlaying===void 0?n:t.loopPlaying;if(!this._isLoadedSound){e===p.NO_SOUND?this._wwaData.bgm=0:n&&(this._wwaData.bgm=r?e:0);return}if(typeof e==`number`&&(e<0||e>=R.SOUND_MAX)){console.warn(`サウンド番号が範囲外です。`);return}if(n&&this._wwaData.bgm===e||((e===p.NO_SOUND||n)&&this._wwaData.bgm!==0&&this.stopBgm(),e===0||e===p.NO_SOUND))return;let i=this._soundMap.get(e);if(!i){console.warn(`サウンドID ${e} は、マップデータにも ${this._audioDirectory}sound-list.json にも出現しないため、再生できません。`);return}i.hasData()?n?(i?.play(t.bgmDelayDurationMs??this._wwaData.bgmDelayDurationMs,r,()=>{e===this._wwaData.bgm&&!r&&(this._wwaData.bgm=0)}),this._wwaData.bgm=e):i?.play(0,r):n&&(this._wwaData.bgm=r?e:0,this._setSoundLoadedCheckTimer(e))}playDecisionSound(){this.playSound(this._wwaData.decisionSound??p.DECISION)}playAttackSound(){this.playSound(this._wwaData.attackSound??p.ATTACK)}setDecisionSound(e){if(this.soundIsBgm(e)){console.warn(`決定音にBGMを設定することはできません。`);return}this._wwaData.decisionSound=e}setAttackSound(e){if(this.soundIsBgm(e)){console.warn(`攻撃音にBGMを設定することはできません。`);return}this._wwaData.attackSound=e}soundIsBgm(e){switch(typeof e){case`number`:return e>=p.BGM_LB;case`string`:return e.match(/^bgm_/i)!==null;default:throw TypeError(`Invalid soundId type: ${typeof e}`)}}openGameWindow(){var e=this._player.getPosition();U(`wwa-cover`).style.opacity=`0`,this.getObjectIdByPosition(e)!==0&&this._player.setPartsAppearedFlag();var t=U(`wwa-wrapper`).getAttribute(`data-wwa-resume-savedata`);if(typeof t==`string`&&(this._useSuspend=!0,t)){var n=Li.getStartWWAData(t);this._restartData!==n&&(this._applyQuickLoad(n),this._wwaSave.resumeStart())}setTimeout(()=>{U(`wwa-wrapper`).removeChild(U(`wwa-cover`)),this._main()},R.SPLASH_SCREEN_DISP_MILLS)}onselectitem(e){if(this._player.canUseItem(e)){U(`item`+(e-1)).classList.add(`onpress`),this.playDecisionSound();let r=this.resolveSystemMessage(g.CONFIRM_USE_ITEM);if(r===`BLANK`){this._player.readyToUseItem(e);var t=this._player.useItem(),n=this.getObjectAttributeById(t,R.ATR_STRING);this.registerPageByMessage(this.getMessageById(n),{showChoice:!1,isSystemMessage:!1,triggerParts:{id:t,type:j.OBJECT,position:this._player.getPosition().getPartsCoord()}})}else this.registerPageByMessage(r,{showChoice:!0,isSystemMessage:!0}),this._yesNoChoiceCallInfo=N.CALL_BY_ITEM_USE,this._yesNoUseItemPos=e;return!0}return!1}onselectbutton(e,t=!1,n=!1){var r=U(F[e]);if(this.playDecisionSound(),this._itemMenu.close(),r.classList.add(`onpress`),e===P.QUICK_LOAD)switch(this._yesNoChoiceCallInfo=this._wwaSave.getFirstSaveChoiceCallInfo(t),this._yesNoChoiceCallInfo){case N.CALL_BY_QUICK_LOAD:case N.CALL_BY_LOG_QUICK_LOAD:var i,a=``;switch(this._yesNoChoiceCallInfo){case N.CALL_BY_QUICK_LOAD:a=`読み込むデータを選んでください。`,this._wwaSave.selectDBSaveDataList();break;case N.CALL_BY_LOG_QUICK_LOAD:a=`読み込むオートセーブを選んでください。`,this._wwaSave.selectLogSaveDataList();break}switch(i=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._messageWindow.createSaveDom(),i){case N.CALL_BY_LOG_QUICK_LOAD:this.registerSystemMessagePage(a+`
112
+ `).forEach(e=>{let t=e.match(/^\$sound=(\d+)/);if(!t||t.length<2)return;let n=parseInt(t[1],10);!isNaN(n)&&0<n&&n<p.NO_SOUND&&this.createSoundInstance(n)})),console.log(`(D-4) マップから抽出したサウンド番号一覧:`,Array.from(this._soundMap.keys())),await this.loadCustomSound(),console.log(`(D-6) 次のサウンドがロードされます:`,Array.from(this._soundMap.keys()).sort((e,t)=>typeof e==`number`?typeof t==`number`?e-t:-1:typeof t==`number`?1:e.localeCompare(t))),this._wwaData.bgm=0,this._soundLoadSkipFlag=!1}async loadCustomSound(){let e=this._audioDirectory+`sound-list.json`;console.log(`(D-5) サウンドリストファイル: ${e} の解析を開始します。`);let t=await Bn(e);if(t?.kind!==`data`||!Array.isArray(t.data)){console.warn(`(D-5) カスタムオーディオファイルのリストの取得に失敗しました。リストファイルが存在するか、正しい形式で書かれているかを確認してください。 (リストファイル: ${e})`);return}t.data.forEach(e=>{switch(typeof e){case`number`:this.createSoundInstance(e);return;case`string`:{if(e.startsWith(`#`))return;let t=Number(e);if(e.includes(`/`)||e.includes(`\\`)||t<=0||t>2**53-1||t==p.NO_SOUND){console.warn(`(D-5) 無効なサウンドIDが指定されました: ${e}`);return}if(!Number.isNaN(t)){console.warn(`(D-5) 文字列で数値のサウンドIDが与えられました。数値として解釈します。 (指定されたサウンドID: `+e+`)`),this.createSoundInstance(t);return}this.createSoundInstance(e);return}case`object`:if(!e)return;if(Array.isArray(e)){if(e.length!==2){console.warn(`(D-5) 配列形式でサウンドIDを与える場合は2要素で与えてください: ${JSON.stringify(e)}`);return}try{e.forEach(t=>{if(typeof t!=`number`||t<=0||t>2**53-1)throw Error(`(D-5) 無効なサウンドIDが指定されました: ${JSON.stringify(e)}`)})}catch(e){console.warn(e.message);return}let[t,n]=e;if(t>n){console.warn(`(D-5) サウンドIDが配列形式で与えられていますが、from (${t}) が to (${n}) より大きくなっています: ${JSON.stringify(e)}`);return}for(let e=t;e<=n;e++){if(e==p.NO_SOUND){console.warn(`(D-5) サウンドID ${e} が範囲に含まれていますが、これは停止用に使用している値で無効なのでスキップします。`);continue}this.createSoundInstance(e)}return}console.warn(`(D-5) サウンドIDがオブジェクトのようですが、現在この記法はサポートされていません: ${JSON.stringify(e)}`);return;default:console.warn(`(D-5) この形式のサウンドIDはサポートされていません: ${e}`);return}})}checkAllSoundLoaded(){let e=0,t=0;if(!this._hasTitleImg)var n=this._cvsCover.getContext(`2d`);if(this._keyStore.update(),this._keyStore.getKeyState(V.KEY_SPACE)===B.KEYDOWN&&(this._soundLoadSkipFlag=!0),this._soundMap.forEach(n=>{!n||n.isError()||(t++,n.hasData()&&e++)}),e<t&&!this._soundLoadSkipFlag){this._setProgressBar(hc(e,t,_e.AUDIO)),window.requestAnimationFrame(this.soundCheckCaller);return}this._setProgressBar(hc(R.SOUND_MAX,R.SOUND_MAX,_e.AUDIO)),this._setLoadingMessage(n,_e.FINISH),console.log(`(D-7) サウンドのロードが完了しました。`),this.openGameWindow()}_setSoundLoadedCheckTimer(e){let t=this._soundMap.get(e);!t||t.isError()||(this.soundLoadedCheckTimer=window.setInterval(()=>{this._wwaData.bgm===e?t.hasData()?(t.play(this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=e,this._clearSoundLoadedCheckTimer()):t.isError()&&this._clearSoundLoadedCheckTimer():this._clearSoundLoadedCheckTimer()},100))}_clearSoundLoadedCheckTimer(){this.soundLoadedCheckTimer&&=(clearInterval(this.soundLoadedCheckTimer),void 0)}getSoundEnabled(){return this._isLoadedSound}checkSoundEnabled(e){this._soundMap.get(e).hasData()}stopBgm(){let e=this._soundMap.get(this._wwaData.bgm);e?.isPlaying()&&e.pause(),this._wwaData.bgm=0}stopSound(e,t){if(this.soundIsBgm(e)){t.includeBgm&&this._wwaData.bgm===e&&this.stopBgm();return}let n=this._soundMap.get(e);n?.isPlaying()&&n.pause()}stopAllSound(e){this._soundMap.keys().forEach(t=>this.stopSound(t,e))}playSound(e,t={}){let n=this.soundIsBgm(e),r=t.loopPlaying===void 0?n:t.loopPlaying;if(!this._isLoadedSound){e===p.NO_SOUND?this._wwaData.bgm=0:n&&(this._wwaData.bgm=r?e:0);return}if(typeof e==`number`&&(e<0||e>=R.SOUND_MAX)){console.warn(`サウンド番号が範囲外です。`);return}if(n&&this._wwaData.bgm===e||((e===p.NO_SOUND||n)&&this._wwaData.bgm!==0&&this.stopBgm(),e===0||e===p.NO_SOUND))return;let i=this._soundMap.get(e);if(!i){console.warn(`サウンドID ${e} は、マップデータにも ${this._audioDirectory}sound-list.json にも出現しないため、再生できません。`);return}i.hasData()?n?(i?.play(t.bgmDelayDurationMs??this._wwaData.bgmDelayDurationMs,r,()=>{e===this._wwaData.bgm&&!r&&(this._wwaData.bgm=0)}),this._wwaData.bgm=e):i?.play(0,r):n&&(this._wwaData.bgm=r?e:0,this._setSoundLoadedCheckTimer(e))}playDecisionSound(){this.playSound(this._wwaData.decisionSound??p.DECISION)}playAttackSound(){this.playSound(this._wwaData.attackSound??p.ATTACK)}setDecisionSound(e){if(this.soundIsBgm(e)){console.warn(`決定音にBGMを設定することはできません。`);return}this._wwaData.decisionSound=e}setAttackSound(e){if(this.soundIsBgm(e)){console.warn(`攻撃音にBGMを設定することはできません。`);return}this._wwaData.attackSound=e}soundIsBgm(e){switch(typeof e){case`number`:return e>=p.BGM_LB;case`string`:return e.match(/^bgm_/i)!==null;default:throw TypeError(`Invalid soundId type: ${typeof e}`)}}openGameWindow(){var e=this._player.getPosition();U(`wwa-cover`).style.opacity=`0`,this.getObjectIdByPosition(e)!==0&&this._player.setPartsAppearedFlag();var t=U(`wwa-wrapper`).getAttribute(`data-wwa-resume-savedata`);if(typeof t==`string`&&(this._useSuspend=!0,t)){var n=Li.getStartWWAData(t);this._restartData!==n&&(this._applyQuickLoad(n),this._wwaSave.resumeStart())}setTimeout(()=>{U(`wwa-wrapper`).removeChild(U(`wwa-cover`)),this._main()},R.SPLASH_SCREEN_DISP_MILLS)}onselectitem(e){if(this._player.canUseItem(e)){U(`item`+(e-1)).classList.add(`onpress`),this.playDecisionSound();let r=this.resolveSystemMessage(g.CONFIRM_USE_ITEM);if(r===`BLANK`){this._player.readyToUseItem(e);var t=this._player.useItem(),n=this.getObjectAttributeById(t,R.ATR_STRING);this.registerPageByMessage(this.getMessageById(n),{showChoice:!1,isSystemMessage:!1,triggerParts:{id:t,type:j.OBJECT,position:this._player.getPosition().getPartsCoord()}})}else this.registerPageByMessage(r,{showChoice:!0,isSystemMessage:!0}),this._yesNoChoiceCallInfo=N.CALL_BY_ITEM_USE,this._yesNoUseItemPos=e;return!0}return!1}onselectbutton(e,t=!1,n=!1){var r=U(F[e]);if(this.playDecisionSound(),this._itemMenu.close(),r.classList.add(`onpress`),e===P.QUICK_LOAD)switch(this._yesNoChoiceCallInfo=this._wwaSave.getFirstSaveChoiceCallInfo(t),this._yesNoChoiceCallInfo){case N.CALL_BY_QUICK_LOAD:case N.CALL_BY_LOG_QUICK_LOAD:var i,a=``;switch(this._yesNoChoiceCallInfo){case N.CALL_BY_QUICK_LOAD:a=`読み込むデータを選んでください。`,this._wwaSave.selectDBSaveDataList();break;case N.CALL_BY_LOG_QUICK_LOAD:a=`読み込むオートセーブを選んでください。`,this._wwaSave.selectLogSaveDataList();break}switch(i=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._messageWindow.createSaveDom(),i){case N.CALL_BY_LOG_QUICK_LOAD:this.registerSystemMessagePage(a+`
113
113
  →Noでオートセーブ復帰画面に移ります。`,!0);break;case N.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(a+`
114
114
  →Noでデータ復帰用パスワードの
115
115
   入力選択ができます。`,!0);break;case N.NONE:this.registerSystemMessagePage(a,!0);break}break;case N.CALL_BY_PASSWORD_LOAD:this.onpasswordloadcalled();break}else if(e===P.QUICK_SAVE)this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
@@ -118,7 +118,7 @@ ${t?Fe():``}
118
118
   表示選択ができます。`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_QUICK_SAVE):(this.registerSystemMessagePage(`データの一時保存先を選んでください。`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_QUICK_SAVE));else if(e===P.RESTART_GAME)this.registerSystemMessagePage(`初めからスタートしなおしますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_RESTART_GAME;else if(e===P.GOTO_WWA)if(n)this._bottomButtonType!==T.GOTO_WWA&&U(F[P.GOTO_WWA]).classList.remove(`onpress`),this.registerSystemMessagePage(`WWAの公式サイトを開きますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_GOTO_WWA;else switch(this._bottomButtonType){case T.GOTO_WWA:this._yesNoChoiceCallInfo=N.CALL_BY_GOTO_WWA,this.registerSystemMessagePage(`WWAの公式サイトを開きますか?`,!0);break;case T.GAME_END:this._yesNoChoiceCallInfo=N.CALL_BY_END_GAME,this.registerSystemMessagePage(`WWAゲームを終了しますか?`,!0);break;case T.BATTLE_REPORT:this.launchBattleEstimateWindow();break}}onpasswordloadcalled(){this._usePassword?(U(F[P.QUICK_LOAD]).classList.add(`onpress`),this.registerSystemMessagePage(`データ復帰用のパスワードを入力しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_PASSWORD_LOAD):this.registerSystemMessagePage(`セーブデータがありません。`)}onpasswordsavecalled(){U(F[P.QUICK_SAVE]).classList.add(`onpress`),this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
119
119
  使用できません。`):this._useSuspend?(this.registerSystemMessagePage(`ゲームを中断しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_SUSPEND):this._usePassword&&(this.registerSystemMessagePage(`データ復帰用のパスワードを表示しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_PASSWORD_SAVE)}onpasssuspendsavecalled(){U(F[P.QUICK_SAVE]).classList.add(`onpress`),this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
120
120
  使用できません。`):(this.registerSystemMessagePage(`ゲームを中断しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_SUSPEND)}onitemmenucalled(){this.registerSystemMessagePage(`右のメニューを選択してください。`),this._messageWindow.setItemMenuChoice(!0),this.playDecisionSound(),this._itemMenu.openView()}onchangespeed(e){if(!this._wwaData.permitChangeGameSpeed){this.registerSystemMessagePageByKey(g.GAME_SPEED_CHANGE_DISABLED);return}switch(e){case ae.UP:this._player.speedUp();break;case ae.DOWN:this._player.speedDown();break}let t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CHANGE_SPEED;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t),this.registerSystemMessagePageByKey(g.GAME_SPEED_CHANGED)}isBattleSpeedIndexForQuickBattle(e){return R.QUICK_BATTLE_SPEED_INDECIES.some(t=>t===e)}_main(){this._temporaryInputDisable=!1,this._stopUpdateByLoadFlag=!1,this._keyStore.update(),this._mouseStore.update(),this._virtualPadStore.update(),this._gamePadStore.update();let e=this._reservedPartsAppearances.length>0;if(this._reservedPartsAppearances.forEach(e=>this.appearParts(e)),this._reservedPartsAppearances=[],this._waitFrame-- >0){e&&this._drawAll(),window.requestAnimationFrame(this.mainCaller);return}if(this._waitFrame=0,this._yesNoJudgeInNextFrame!==void 0&&(this._yesNoJudge=this._yesNoJudgeInNextFrame,this._yesNoJudgeInNextFrame=void 0),this._clearFacesInNextFrame&&=(this.clearFaces(),!1),this._pageExecuting=!0,this._pages.length>0&&this._shouldSetNextPage)for(this._shouldSetNextPage=!1;this._pages.length>0;){let e=this._pages.shift(),t=er.executeNodes(e.firstNode,e.triggerParts);if(t.isError===!0){this._isLastPage=!1;break}this._reservedMoveMacroTurn!==void 0&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0);let n=t.messages.filter(e=>!e.isEmpty()),r=!!e.scoreOption;if(r&&n.length===0&&n.push(this._createSimpleMessage(`スコアを表示します。`,e.triggerParts)),e.additionalItems&&e.additionalItems.forEach(e=>{switch(e.type){case`face`:this.addFace(e.data.face)}}),n.length>0){let t=n.map(e=>e.generatePrintableMessage()).join(`
121
- `);this._messageWindow.setMessage(t),this._messageWindow.setYesNoChoice(e.showChoice),this._messageWindow.setPositionByPlayerPosition(this._faces.length!==0,r,e.isSystemMessage,this._player.getPosition(),this._camera.getPosition()),r&&(this._lastScoreOptions=e.scoreOption,this.updateScore(e.scoreOption),this._scoreWindow.show()),this._player.setMessageWaiting(),this._isLastPage=e.isLastPage,this._shouldSetNextPage=!1;break}if(this._pages.length===0){if(this._hideMessageWindow().newPageGenerated||this._dispatchWindowClosedTimeRequests().newPageGenerated)continue;this.clearFaces();break}}if(this._pageExecuting=!1,this._reservedJumpDestination&&=(this._player.jumpTo(this._reservedJumpDestination),void 0),this._player.mainFrameCount(),this._player.isControllable()){if(this._wwaData.disableSaveFlag||this._wwaSave.isAutoSaveFrame(this._player)&&this._quickSave(N.CALL_BY_LOG_QUICK_SAVE),this._player.isDelayFrame())this._player.updateDelayFrame();else{let e=this._player.getDir(),t=[NaN,NaN,V.KEY_DOWN,NaN,V.KEY_LEFT,NaN,V.KEY_RIGHT,NaN,V.KEY_UP,NaN][e];this._actionGamePadButtonItemMacro()||(this._keyStore.getKeyStateForControllPlayer(V.KEY_LEFT)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(V.KEY_UP)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(V.KEY_RIGHT)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(V.KEY_DOWN)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.LEFT)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.UP)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.RIGHT)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.DOWN)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(t)?this._checkTurnKeyPressed()?this._player.setDir(e):(this._player.controll(e),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_LEFT)?this._checkTurnKeyPressed()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_UP)?this._checkTurnKeyPressed()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_RIGHT)?this._checkTurnKeyPressed()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_DOWN)?this._checkTurnKeyPressed()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.LEFT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.UP)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.RIGHT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.DOWN)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_LEFT)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_UP)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_RIGHT)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_DOWN)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_LEFT`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_UP`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_RIGHT`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_DOWN`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._keyStore.getKeyState(V.KEY_1)===B.KEYDOWN?this.onselectitem(1):this._keyStore.getKeyState(V.KEY_2)===B.KEYDOWN?this.onselectitem(2):this._keyStore.getKeyState(V.KEY_3)===B.KEYDOWN?this.onselectitem(3):this._keyStore.getKeyState(V.KEY_Q)===B.KEYDOWN?this.onselectitem(4):this._keyStore.getKeyState(V.KEY_W)===B.KEYDOWN?this.onselectitem(5):this._keyStore.getKeyState(V.KEY_E)===B.KEYDOWN?this.onselectitem(6):this._keyStore.getKeyState(V.KEY_A)===B.KEYDOWN?this.onselectitem(7):this._keyStore.getKeyState(V.KEY_S)===B.KEYDOWN?this.onselectitem(8):this._keyStore.getKeyState(V.KEY_D)===B.KEYDOWN?this.onselectitem(9):this._keyStore.getKeyState(V.KEY_Z)===B.KEYDOWN?this.onselectitem(10):this._keyStore.getKeyState(V.KEY_X)===B.KEYDOWN?this.onselectitem(11):this._keyStore.getKeyState(V.KEY_C)===B.KEYDOWN?this.onselectitem(12):this._keyStore.getKeyState(V.KEY_I)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_MINUS)||this._virtualPadStore.checkTouchButton(`BUTTON_SLOW`)?this.onchangespeed(ae.DOWN):this._keyStore.getKeyState(V.KEY_P)===B.KEYDOWN||this._keyStore.checkHitKey(V.KEY_F2)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_PLUS)||this._virtualPadStore.checkTouchButton(`BUTTON_FAST`)?this.onchangespeed(ae.UP):this._keyStore.getKeyState(V.KEY_F1)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_M)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this.launchBattleEstimateWindow():this._keyStore.checkHitKey(V.KEY_F3)?(this.playDecisionSound(),this.onselectbutton(P.QUICK_LOAD,!0)):this._keyStore.checkHitKey(V.KEY_F4)?(this.playDecisionSound(),this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled()):this._keyStore.checkHitKey(V.KEY_F5)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_ZR)?this.onselectbutton(P.QUICK_LOAD):this._keyStore.checkHitKey(V.KEY_F6)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_ZL)?this.onselectbutton(P.QUICK_SAVE):this._keyStore.checkHitKey(V.KEY_F7)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_R)?this.onselectbutton(P.RESTART_GAME):this._keyStore.checkHitKey(V.KEY_F8)?this.onselectbutton(P.GOTO_WWA,!1,!0):this._keyStore.checkHitKey(V.KEY_F9)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_X)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)?(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onitemmenucalled():this._keyStore.checkHitKey(V.KEY_V)?this._displayUserVars():this._keyStore.checkHitKey(V.KEY_X)?this._debugConsoleElement&&!this._player.isControllable()&&this._debugEvalString():(this._keyStore.checkHitKey(V.KEY_F12)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_Y))&&this._displayHelp());let n=(e,t)=>({key:V[`KEY_${e}`],func:t});[...`0123456789`.split(``).map(e=>n(e,`CALL_PUSH_${e}`)),...`0123456789`.split(``).map(e=>n(`NUM${e}`,`CALL_PUSH_${e}`)),...`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``).map(e=>n(e,`CALL_PUSH_${e}`)),...[`ENTER`,`SHIFT`,`ESC`,`SPACE`,`LEFT`,`RIGHT`,`UP`,`DOWN`].map(e=>n(e,`CALL_PUSH_${e}`))].forEach(e=>{if(this._keyStore.checkHitKey(e.key)){let t=this.userDefinedFunctions&&this.userDefinedFunctions[e.func];t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}})}this._keyStore.memorizeKeyStateOnControllableFrame(),this._mouseStore.memorizeMouseStateOnControllableFrame()}else if(this._player.isJumped())this._camera.isResetting()||this._player.processAfterJump();else if(this._player.isMoving())this._player.move(),this._objectMovingDataManager.update(),this._player.getPosition().isJustPosition()&&this._dispatchPlayerAndObjectsStopTimeRequests();else if(this._player.isWaitingMessage()){if(this._messageWindow.isVisible()||this._messageWindow.show(),this._messageWindow.isYesNoChoice())this._messageWindow.isSaveChoice()&&(this._messageWindow.saveUpdate(),this._messageWindow.isSaveClose()||(this._keyStore.checkHitKey(V.KEY_LEFT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchButton(`BUTTON_LEFT`)?this._messageWindow.saveControll(E.LEFT):this._keyStore.checkHitKey(V.KEY_UP)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchButton(`BUTTON_UP`)?this._messageWindow.saveControll(E.UP):this._keyStore.checkHitKey(V.KEY_RIGHT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchButton(`BUTTON_RIGHT`)?this._messageWindow.saveControll(E.RIGHT):(this._keyStore.checkHitKey(V.KEY_DOWN)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchButton(`BUTTON_DOWN`))&&this._messageWindow.saveControll(E.DOWN))),this._messageWindow.isInputDisable()||(this._yesNoJudge===k.UNSELECTED&&(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_Y)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this._yesNoJudge=k.YES:(this._keyStore.getKeyState(V.KEY_N)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_ESC)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&(this._yesNoJudge=k.NO)),(this._yesNoJudge===k.YES||this._yesNoJudge===k.NO)&&(this.playDecisionSound(),this._yesNoDispCounter=R.YESNO_PRESS_DISP_FRAME_NUM,this._messageWindow.setInputDisable(),this._messageWindow.update()));else if(this._messageWindow.isItemMenuChoice()){if(this._itemMenu.update(),this._keyStore.checkHitKey(V.KEY_LEFT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchingButton(`BUTTON_LEFT`)?this._itemMenu.controll(E.LEFT):this._keyStore.checkHitKey(V.KEY_UP)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchingButton(`BUTTON_UP`)?this._itemMenu.controll(E.UP):this._keyStore.checkHitKey(V.KEY_RIGHT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchingButton(`BUTTON_RIGHT`)?this._itemMenu.controll(E.RIGHT):(this._keyStore.checkHitKey(V.KEY_DOWN)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchingButton(`BUTTON_DOWN`))&&this._itemMenu.controll(E.DOWN),this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_Y)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`))this._setNextPage(),this._messageWindow.setItemMenuChoice(!1),this._itemMenu.ok();else if(this._mouseStore.checkClickMouse(E.LEFT)||this._mouseStore.checkClickMouse(E.UP)||this._mouseStore.checkClickMouse(E.RIGHT)||this._mouseStore.checkClickMouse(E.DOWN)||this._keyStore.getKeyState(V.KEY_N)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_ESC)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){for(var t=0;t<F.length;t++){var n=U(F[t]);n.classList.contains(`onpress`)&&n.classList.remove(`onpress`)}this._itemMenu.ng(),this._setNextPage(),this.playDecisionSound(),this._messageWindow.setItemMenuChoice(!1)}}else{var r=this._keyStore.getKeyStateForMessageCheck(V.KEY_ENTER),i=this._keyStore.getKeyStateForMessageCheck(V.KEY_SPACE),a=this._keyStore.getKeyStateForMessageCheck(V.KEY_ESC);if(r===B.KEYDOWN||r===B.KEYPRESS_MESSAGECHANGE||i===B.KEYDOWN||i===B.KEYPRESS_MESSAGECHANGE||a===B.KEYDOWN||a===B.KEYPRESS_MESSAGECHANGE||this._mouseStore.getMouseState()===Te.MOUSEDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){for(var t=0;t<F.length;t++){var n=U(F[t]);n.classList.contains(`onpress`)&&n.classList.remove(`onpress`)}this._setNextPage()}}if(this._inlineUserVarViewer?.isVisible){let e=this._inlineUserVarViewer.kind,t=!1,n=e===`named`?this._userVar.named.size:R.USER_VAR_NUM;this._keyStore.getKeyState(V.KEY_DOWN)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]++,t=!0),this._keyStore.getKeyState(V.KEY_UP)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]--,t=!0),this._keyStore.getKeyState(V.KEY_RIGHT)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]+=R.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,t=!0),this._keyStore.getKeyState(V.KEY_LEFT)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]-=R.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,t=!0),this._keyStore.getKeyState(V.KEY_V)===B.KEYDOWN&&(this._inlineUserVarViewer.kind===`named`?this._inlineUserVarViewer.kind=`numbered`:this._inlineUserVarViewer.kind===`numbered`&&(this._inlineUserVarViewer.kind=`named`),t=!0),this._inlineUserVarViewer.topUserVarIndex[e]<0&&(this._inlineUserVarViewer.topUserVarIndex[e]+=n),this._inlineUserVarViewer.topUserVarIndex[e]>n&&(this._inlineUserVarViewer.topUserVarIndex[e]-=n),t&&(this._setNextPage(),this._inlineUserVarViewer.isVisible=!0,this._displayUserVars())}}else if(this._player.isWaitingEstimateWindow())(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_SPACE)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&this.hideBattleEstimateWindow();else if(this._player.isFighting())this._player.fight(),this._monsterWindow.update(this._monster);else if(this._player.isWaitingMoveMacro())this._player.isMoveObjectAutoExecTime()&&(this.moveObjects(!1),this._player.resetMoveObjectAutoExecTimer()),this._objectMovingDataManager.update();else if(this._player.isManualPause()){let e=this._player.getManualPauseInformation();if(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyStateForMessageCheck(V.KEY_SPACE)===B.KEYDOWN||this._keyStore.getKeyStateForMessageCheck(V.KEY_ESC)===B.KEYDOWN||this._mouseStore.getMouseState()===Te.MOUSEDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){let t=e?.functionNames.cancelPause??``;if(this._player.clearWaitingMessageOrManualPause(),t!==``)try{this.evalCalcWwaNodeGenerator.evalWwaNode({type:`CallDefinedFunction`,functionName:t})}catch(e){console.error(e)}}[{keyCode:V.KEY_UP,funcKey:`up`},{keyCode:V.KEY_DOWN,funcKey:`down`},{keyCode:V.KEY_RIGHT,funcKey:`right`},{keyCode:V.KEY_LEFT,funcKey:`left`}].forEach(({keyCode:t,funcKey:n})=>{let r=e?.functionNames[n]??``;if(this._keyStore.getKeyState(t)===B.KEYDOWN&&r!==``)try{this.evalCalcWwaNodeGenerator.evalWwaNode({type:`CallDefinedFunction`,functionName:r})}catch(e){console.error(e)}})}if(this.updatePicturesAnimation(),this._cgManager.picture.updateFrameTimerValue(),this._prevFrameEventExected=!1,this._player.getPosition().isJustPosition()&&this._camera.getPosition().isScreenTopPosition()){if(!this._shouldTreatWillMessageDisplay(this._pages)&&!this._player.isPausing()){this._player.isPartsAppearedTime()&&this._player.clearPartsAppearedFlag(),this._replaceRandomObjectsInScreen();var o=this.checkMap();o||this.checkObject(),this._prevFrameEventExected=o}this._player.isWaitingMessage()&&this._messageWindow.isYesNoChoice()&&this._yesNoJudge!==k.UNSELECTED&&!this._player.isWaitingMoveMacro()&&!this._player.isFighting()&&this._execChoiceWindowRunningEvent()}this._passwordLoadExecInNextFrame&&=(this._stopUpdateByLoadFlag=!0,this._loadType=oe.PASSWORD,this._player.clearPasswordWindowWaiting(),!1),this._drawAll(),this._mainCallCounter++,this._mainCallCounter%=1e9,(!this._player.isWaitingMessageOrManualPause()||!this._isClassicModeEnable)&&(this._animationCounter=(this._animationCounter+1)%(R.ANIMATION_REP_HALF_FRAME*2),(this._animationCounter===0||this._animationCounter===R.ANIMATION_REP_HALF_FRAME+1)&&this.updateAllPicturesCache()),this._camera.isResetting()&&this._camera.advanceTransitionStepNum(),this._player.isWaitingMessageOrManualPause()||(this._player.decrementLookingAroundTimer(),this._statusPressCounter.energy>0&&--this._statusPressCounter.energy===0&&U(`disp-energy`).classList.remove(`onpress`),this._statusPressCounter.strength>0&&--this._statusPressCounter.strength===0&&U(`disp-strength`).classList.remove(`onpress`),this._statusPressCounter.defence>0&&--this._statusPressCounter.defence===0&&U(`disp-defence`).classList.remove(`onpress`),this._statusPressCounter.gold>0&&--this._statusPressCounter.gold===0&&U(`disp-gold`).classList.remove(`onpress`)),this._player.isWaitingMoveMacro()&&(this._player.decrementMoveObjectAutoExecTimer(),this._player.isWaitingMoveMacro()||this._dispatchPlayerAndObjectsStopTimeRequests()),this._stopUpdateByLoadFlag?this._fadeout(()=>{if(this._loadType===oe.QUICK_LOAD){this._quickLoad(),this.wwaCustomEvent(`wwa_quickload`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_QUICKLOAD;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}else if(this._loadType===oe.RESTART_GAME){this.restartGame(),this.wwaCustomEvent(`wwa_restert`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_RESTART;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}else if(this._loadType===oe.PASSWORD){this._applyQuickLoad(this._passwordSaveExtractData),this._passwordSaveExtractData=void 0,this.wwaCustomEvent(`wwa_passwordload`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_PASSWORDLOAD;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}setTimeout(this.mainCaller,R.DEFAULT_FRAME_INTERVAL,this)}):window.requestAnimationFrame(this.mainCaller),Cc({dumpElement:this._dumpElement,userVar:this._userVar.numbered,namedUserVar:this._userVar.named});let s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_FRAME;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s)}vibration(e){this._gamePadStore.vibration(e)}_isMainAnimation(){return this._animationCounter>R.ANIMATION_REP_HALF_FRAME}_drawAll(){var e=this._camera.getPosition().getPartsCoord(),t=this._camera.getPosition().getOffsetCoord(),n=R.MAP_WINDOW_HEIGHT,r,i,a=this._player.getPosition().getPartsCoord();if(this._paintSkipByDoorOpen){this._paintSkipByDoorOpen=!1;return}if(this._cgManager.clearCanvas(0,0,R.MAP_WINDOW_WIDTH,R.MAP_WINDOW_HEIGHT),this._cgManager.drawBase(0,0,R.MAP_WINDOW_WIDTH,R.MAP_WINDOW_HEIGHT),this._camera.isResetting()){if(this._camera.getPreviousPosition()!==null)var o=this._camera.getPreviousPosition().getPartsCoord(),s=this._camera.getPreviousPosition().getOffsetCoord();n=this._camera.getTransitionStepNum()*R.CHIP_SIZE}var c=!1;if(n!==this._cgManager.mapCacheYLimit&&(this._cgManager.mapCacheYLimit=n,c=!0),(e.x!==this._cgManager.cpPartsLog.x||e.y!==this._cgManager.cpPartsLog.y)&&(this._cgManager.cpPartsLog.x=e.x,this._cgManager.cpPartsLog.y=e.y,c=!0),c&&(this._cgManager.clearBackCanvas(),this._cgManager.clearObjectCanvases()),this._camera.isResetting()&&(this._drawMap(o,s,n,!0),this._drawPlayer(o,s,n,!0),this._drawObjects(o,s,n,!0),this._camera.isFinalStep()))var l=255,u=setInterval(()=>{var e=U(`wwa-fader`);if(l-=R.FADEOUT_SPEED*3,l<=0){clearInterval(u),e.style.backgroundColor=`transparent`,e.removeAttribute(`style`),e.style.display=`none`;return}e.style.opacity=l/255+``},20);this._drawMap(e,t,n,!1,c),this._drawPlayer(e,t,n),this._drawObjects(e,t,n,!1,c),this._player.isFighting()&&!this._player.isBattleStartFrame()&&(r=this._player.isTurn()?this._monster.position.x:a.x,i=this._player.isTurn()?this._monster.position.y:a.y,this._cgManager.drawCanvas(this._battleEffectCoord.x,this._battleEffectCoord.y,R.CHIP_SIZE*(r-e.x)-t.x,R.CHIP_SIZE*(i-e.y)-t.y)),this._drawEffect(),this._drawPictures(),this._drawFaces(),this._drawFrame()}_drawMap(e,t,n,r=!1,i=!1){if(e!==void 0){var a=Math.max(0,e.x-1),o=Math.min(this._wwaData.mapWidth-1,e.x+R.H_PARTS_NUM_IN_WINDOW),s=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+R.V_PARTS_NUM_IN_WINDOW),l=0;if(r)for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u],p=this._wwaData.mapAttribute[f][R.ATR_X]/R.CHIP_SIZE,m=this._wwaData.mapAttribute[f][R.ATR_Y]/R.CHIP_SIZE,h=R.CHIP_SIZE*(u-e.x)-t.x,g=R.CHIP_SIZE*(d-e.y)-t.y;this._cgManager.copyBackCanvasWithLowerYLimit(p,m,h,g,n)}else{for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u];this._cgManager.mapCache[l]!==f&&(this._cgManager.mapCache[l]=f,i=!0),l++}if(i){this._cgManager.clearBackCanvasWithLowerYLimit(n);for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u],p=this._wwaData.mapAttribute[f][R.ATR_X]/R.CHIP_SIZE,m=this._wwaData.mapAttribute[f][R.ATR_Y]/R.CHIP_SIZE,h=R.CHIP_SIZE*(u-e.x)-t.x,g=R.CHIP_SIZE*(d-e.y)-t.y;this._cgManager.copyBackCanvasWithUpperYLimit(p,m,h,g,n)}}this._cgManager.drawBackCanvas()}}}_drawPlayer(e,t,n,r=!1){if(e===void 0||this._wwaData.delPlayerFlag)return;let i=this._player.getPosition().getPartsCoord(),a=this._player.getPosition().getOffsetCoord(),o=[NaN,NaN,2,NaN,4,NaN,6,NaN,0,NaN][this._player.getDir()],s=(i.x-e.x)*R.CHIP_SIZE+a.x-t.x,c=(i.y-e.y)*R.CHIP_SIZE+a.y-t.y,l;l=this._useLookingAround&&this._player.isLookingAround()&&!this._player.isWaitingMessageOrManualPause()?this._wwaData.playerImgPosX+[2,3,4,5,0,1,6,7][Math.floor(this._mainCallCounter%64/8)]:this._player.isMovingImage()?this._wwaData.playerImgPosX+o+1:this._wwaData.playerImgPosX+o,r?this._cgManager.drawCanvasWithLowerYLimit(l,this._wwaData.playerImgPosY,s,c,n):this._cgManager.drawCanvasWithUpperYLimit(l,this._wwaData.playerImgPosY,s,c,n)}_drawObjects(e,t,n,r=!1,i=!1){if(e!==void 0){var a=Math.max(0,e.x-1),o=Math.min(this._wwaData.mapWidth-1,e.x+R.H_PARTS_NUM_IN_WINDOW),s=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+R.V_PARTS_NUM_IN_WINDOW),l,u=0,d=this._isMainAnimation(),f,p,m,h,g,_,v,y,b,x,C,w,T,E=this._player.isFighting()&&this._player.isTurn()&&this._player.getPosition().getPartsCoord().equals(this._monster.position);if(r)for(b=a;b<=o;b++)for(x=s;x<=c;x++)E&&new S(b,x).equals(this._monster.position)||(C=this._wwaData.mapObject[x][b],l=new S(0,0),this._wwaData.objectAttribute[C][R.ATR_MOVE]!==se.STATIC&&(y=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new S(b,x)),y!==null&&(l=y)),h=R.CHIP_SIZE*(b-e.x)+l.x-t.x,g=R.CHIP_SIZE*(x-e.y)+l.y-t.y,f=d||this._wwaData.objectAttribute[C][R.ATR_X2]===0&&this._wwaData.objectAttribute[C][R.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?R.ATR_X:R.ATR_X2]/R.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?R.ATR_Y:R.ATR_Y2]/R.CHIP_SIZE,_=this._wwaData.objectAttribute[C][R.ATR_TYPE],v=this._wwaData.objectAttribute[C][R.ATR_NUMBER],C!==0&&!this._checkNoDrawObject(new S(b,x),_,v)&&this._cgManager.copyObjectCanvasWithLowerYLimit(+!!d,p,m,h,g,n));else{var D=[],O=[],k,A,te;for(b=a;b<=o;b++)for(x=s;x<=c;x++)w=C=this._wwaData.mapObject[x][b],_=this._wwaData.objectAttribute[C][R.ATR_TYPE],v=this._wwaData.objectAttribute[C][R.ATR_NUMBER],this._checkNoDrawObject(new S(b,x),_,v)&&(w=0),A=this._wwaData.objectAttribute[C][R.ATR_MOVE]===se.STATIC,w!==0&&(te=!!(E&&new S(b,x).equals(this._monster.position)),A?O.push(new ee(C,b,x,A,te)):(D.push(new ee(C,b,x,A,te)),w=0),te&&(w=0)),this._cgManager.mapObjectCache[u]!==w&&(this._cgManager.mapObjectCache[u]=w,i=!0),u++;i&&(this._cgManager.clearObjectCanvasesWithLowerYLimit(n),Array.prototype.push.apply(D,O));var j,M=D.length;for(j=0;j<M;j++)if(k=D[j],b=k.x,x=k.y,C=k.partsIDObj,A=k.isStatic,te=k.isFighting,h=R.CHIP_SIZE*(b-e.x)-t.x,g=R.CHIP_SIZE*(x-e.y)-t.y,A){if(te)continue;for(T=0;T<2;T++)f=!!T||this._wwaData.objectAttribute[C][R.ATR_X2]===0&&this._wwaData.objectAttribute[C][R.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?R.ATR_X:R.ATR_X2]/R.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?R.ATR_Y:R.ATR_Y2]/R.CHIP_SIZE,this._cgManager.copyObjectCanvasWithUpperYLimit(T,p,m,h,g,n)}else y=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new S(b,x)),y!==null&&(h+=y.x,g+=y.y),f=d||this._wwaData.objectAttribute[C][R.ATR_X2]===0&&this._wwaData.objectAttribute[C][R.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?R.ATR_X:R.ATR_X2]/R.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?R.ATR_Y:R.ATR_Y2]/R.CHIP_SIZE,this._cgManager.drawCanvasWithUpperYLimit(p,m,h,g,n);this._cgManager.drawObjectCanvas(+!!d)}}}_drawEffect(){if(!(this._wwaData.effectCoords.length===0||this._wwaData.effectWaits===0)){var e=Math.floor(this._mainCallCounter%(this._wwaData.effectCoords.length*this._wwaData.effectWaits)/this._wwaData.effectWaits);this._cgManager.drawEffect(e)}}_drawFaces(){for(var e=0;e<this._faces.length;e++)this._cgManager.drawCanvasWithSize(this._faces[e].srcPos.x,this._faces[e].srcPos.y,this._faces[e].srcSize.x,this._faces[e].srcSize.y,this._faces[e].destPos.x,this._faces[e].destPos.y)}_drawFrame(){this._cgManager.drawFrame()}_drawPictures(){this._cgManager.drawPictures()}_checkNoDrawObject(e,t,n){var r=this._player.getPosition(),i=r.getPartsCoord();return!r.isJustPosition()||i.x!==e.x||i.y!==e.y||this._wwaData.objectNoCollapseDefaultFlag?!1:t===R.OBJECT_DOOR&&n===0?!0:t===R.OBJECT_STATUS||t===R.OBJECT_MESSAGE||t===R.OBJECT_ITEM||t===R.OBJECT_SELL||t===R.OBJECT_BUY||t===R.OBJECT_SELL||t===R.OBJECT_LOCALGATE}getMapWidth(){if(this._wwaData===void 0)throw Error(`マップデータがロードされていません`);return this._wwaData.mapWidth}getMapIdByPosition(e){var t=e.getPartsCoord();return this._wwaData.map[t.y][t.x]}getObjectIdByPosition(e){var t=e.getPartsCoord();return this._wwaData.mapObject[t.y][t.x]}getMapTypeByPosition(e){var t=e.getPartsCoord(),n=this._wwaData.map[t.y][t.x];return this._wwaData.mapAttribute[n][R.ATR_TYPE]}getObjectTypeByPosition(e){var t=e.getPartsCoord(),n=this._wwaData.mapObject[t.y][t.x];return this._wwaData.objectAttribute[n][R.ATR_TYPE]}getMapAttributeByPosition(e,t){var n=e.getPartsCoord(),r=this._wwaData.map[n.y][n.x];return this._wwaData.mapAttribute[r][t]}isCurrentPosMapPartsIncludingMessage(e){return this.getMapAttributeByPosition(e,R.ATR_STRING)!==0}getObjectAttributeByPosition(e,t){var n=e.getPartsCoord(),r=this._wwaData.mapObject[n.y][n.x];return this._wwaData.objectAttribute[r][t]}getMapAttributeById(e,t){return this._wwaData.mapAttribute[e][t]}getObjectAttributeById(e,t){return this._wwaData.objectAttribute[e][t]}getObjectCropXById(e){return this._wwaData.objectAttribute[e][R.ATR_X]}getObjectCropYById(e){return this._wwaData.objectAttribute[e][R.ATR_Y]}getMessageById(e){return this._wwaData.message[e]}getSystemMessageById(e){return this._wwaData.systemMessage[e]}getMapInfo(e){return this._wwaData.mapAttribute[e]}checkMap(e){var t=this._player.getPosition().getPartsCoord();e??=t;var n=this._wwaData.map[e.y][e.x],r=this.getMapInfo(n)[R.ATR_TYPE],i=e.x===t.x&&e.y===t.y,a=!1;return i&&this._player.getLastExecPartsIDOnSamePosition(j.MAP)===n?!1:(r===R.MAP_STREET?a=this._execMapStreetEvent(e,n,r):r===R.MAP_WALL?a=this._execMapWallEvent(e,n,r):r===R.MAP_LOCALGATE?a=this._execMapLocalGateEvent(e,n,r):r===R.MAP_URLGATE&&(a=this._execMapUrlGateEvent(e,n,r)),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(j.MAP,n),a)}getObjectInfo(e){return this._wwaData.objectAttribute[e]}checkObject(e){var t=this._player.getPosition().getPartsCoord();e??=t;var n=this._wwaData.mapObject[e.y][e.x],r=this.getObjectInfo(n)[R.ATR_TYPE],i=e.x===t.x&&e.y===t.y;i&&this._player.getLastExecPartsIDOnSamePosition(j.OBJECT)===n||(r===R.OBJECT_NORMAL?this._execObjectNormalEvent(e,n,r):r===R.OBJECT_MESSAGE?this._execObjectMessageEvent(e,n,r):r===R.OBJECT_MONSTER?this._execObjectMonsterEvent(e,n,r):r===R.OBJECT_ITEM?this._execObjectItemEvent(e,n,r):r===R.OBJECT_DOOR?this._execObjectDoorEvent(e,n,r):r===R.OBJECT_STATUS?this._execObjectStatusEvent(e,n,r):r===R.OBJECT_BUY?this._execObjectBuyEvent(e,n,r):r===R.OBJECT_SELL?this._execObjectSellEvent(e,n,r):r===R.OBJECT_URLGATE?this._execObjectUrlGateEvent(e,n,r):r===R.OBJECT_SCORE?this._execObjectScoreEvent(e,n,r):r===R.OBJECT_SELECT?this._execObjectYesNoChoiceEvent(e,n,r):r===R.OBJECT_LOCALGATE&&this._execObjectLocalGateEvent(e,n,r),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(j.OBJECT,n))}_execMapStreetEvent(e,t,n){var r=this._wwaData.mapAttribute[t][R.ATR_ITEM];if(r!==0&&!this._player.hasItem(r))return!1;this.reserveAppearPartsInNextFrame(e,A.MAP,t);let i=this._wwaData.mapAttribute[t][R.ATR_STRING],a=this._wwaData.message[i],o=this._wwaData.mapAttribute[t][R.ATR_NUMBER];return this._waitFrame+=o*R.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.registerPageByMessage(a,{triggerParts:{id:t,type:j.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[t][R.ATR_SOUND]),i!==0&&this._shouldTreatWillMessageDisplay(this._pages)||o!==0}_shouldTreatWillMessageDisplay(e){return e.reduce((e,t)=>e||!hr(t.firstNode),!1)}_execMapWallEvent(e,t,n){var r=this.getObjectIdByPosition(e.convertIntoPosition(this)),i=this.getObjectAttributeById(r,R.ATR_TYPE);if(r===0||i===R.OBJECT_NORMAL||i===R.OBJECT_DOOR&&(!this._player.hasItem(this.getObjectAttributeById(r,R.ATR_ITEM))||this.getObjectAttributeById(i,R.ATR_MODE)===R.PASSABLE_OBJECT)){this.reserveAppearPartsInNextFrame(e,A.MAP,t);var a=this._wwaData.mapAttribute[t][R.ATR_STRING],o=this._wwaData.message[a];return this.registerPageByMessage(o,{triggerParts:{id:t,type:j.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[t][R.ATR_SOUND]),!1}return!1}_execMapLocalGateEvent(e,t,n){var r=this._player.getPosition().getPartsCoord(),i=this._wwaData.mapAttribute[t][R.ATR_JUMP_X],a=this._wwaData.mapAttribute[t][R.ATR_JUMP_Y];return i>R.RELATIVE_COORD_LOWER&&(i=e.x+i-R.RELATIVE_COORD_BIAS),a>R.RELATIVE_COORD_LOWER&&(a=e.y+a-R.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,A.MAP,t),0<=i&&0<=a&&i<this._wwaData.mapWidth&&a<this._wwaData.mapWidth&&(i!==r.x||a!==r.y)?(this.reserveJumpInNextFrame(new C(this,i,a,0,0)),this.playSound(this._wwaData.mapAttribute[t][R.ATR_SOUND]),!0):!1}_execMapUrlGateEvent(e,t,n){var r=this._wwaData.mapAttribute[t][R.ATR_STRING];if(!this._isURLGateEnable)return!0;let i=this.resolveSystemMessage(g.CONFIRM_ENTER_URL_GATE);if(i===`BLANK`){location.href=Ve(this._wwaData.message[r].split(/\s/g)[0]);return}return this.registerSystemMessagePage(i,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_MAP_PARTS,this._yesNoURL=this._wwaData.message[r].split(/\s/g)[0],!0}_execObjectNormalEvent(e,t,n){}_execObjectMessageEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord(),o=this._wwaData.objectAttribute[t][R.ATR_SOUND];e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{triggerParts:{id:t,type:j.OBJECT,position:e}}),this._waitFrame+=this._wwaData.objectAttribute[t][R.ATR_NUMBER]*R.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),this.playSound(o)}_execObjectStatusEvent(e,t,n){var r=new x(this._wwaData.objectAttribute[t][R.ATR_ENERGY],this._wwaData.objectAttribute[t][R.ATR_STRENGTH],this._wwaData.objectAttribute[t][R.ATR_DEFENCE],this._wwaData.objectAttribute[t][R.ATR_GOLD]),i=this._wwaData.objectAttribute[t][R.ATR_STRING],a=this._wwaData.message[i],o=this._player.getStatusWithoutEquipments();if(r.strength>R.STATUS_MINUS_BORDER&&o.strength<r.strength-R.STATUS_MINUS_BORDER||r.defence>R.STATUS_MINUS_BORDER&&o.defence<r.defence-R.STATUS_MINUS_BORDER||r.gold>R.STATUS_MINUS_BORDER&&o.gold<r.gold-R.STATUS_MINUS_BORDER){this.setPartsOnPosition(j.OBJECT,0,e),this._keyStore.allClear(),this._mouseStore.clear();return}if(r.energy=r.energy>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.energy:r.energy,r.strength=r.strength>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.strength:r.strength,r.defence=r.defence>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.defence:r.defence,r.gold=r.gold>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.gold:r.gold,this._player.addStatusAll(r),this.setStatusChangedEffect(r),this._player.isDead()&&this._wwaData.objectAttribute[t][R.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})){this.gameover();return}this.registerPageByMessage(a,{triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this.setPartsOnPosition(j.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectMonsterEvent(e,t,n){this._monster=this._createMonster(t,e,()=>{this._monster=void 0,this._monsterWindow.hide(),this._dispatchWindowClosedTimeRequests()}),this._player.startBattleWith(this._monster)}_execObjectBuyEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectSellEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectItemEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r];try{var a=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),o=(e.x-a.x)*R.CHIP_SIZE,s=(e.y-a.y)*R.CHIP_SIZE;this._player.addItem(t,this._wwaData.objectAttribute[t][R.ATR_NUMBER],!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new S(o,s),itemBoxBackgroundImageCoord:new S(this._wwaData.imgItemboxX*R.CHIP_SIZE,this._wwaData.imgItemboxY*R.CHIP_SIZE)}:void 0),this.setPartsOnPosition(j.OBJECT,0,e),this._wwaData.objectAttribute[t][R.ATR_MODE]!==0||(this.registerPageByMessage(i,{triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t))}catch{this.registerSystemMessagePageByKey(g.ITEM_BOX_FULL)}this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectDoorEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_ITEM],i=this._wwaData.objectAttribute[t][R.ATR_STRING],a=this._wwaData.message[i];this._player.hasItem(r)&&(this._wwaData.objectAttribute[t][R.ATR_MODE]===0&&this._player.removeItemByPartsID(r),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND]),this.registerPageByMessage(a,{triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this.setPartsOnPosition(j.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),this._paintSkipByDoorOpen=!0)}_execObjectYesNoChoiceEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectLocalGateEvent(e,t,n){var r=this._player.getPosition().getPartsCoord();e.x===r.x&&e.y===r.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e);var i=this._wwaData.objectAttribute[t][R.ATR_JUMP_X],a=this._wwaData.objectAttribute[t][R.ATR_JUMP_Y];i>R.RELATIVE_COORD_LOWER&&(i=r.x+i-R.RELATIVE_COORD_BIAS),a>R.RELATIVE_COORD_LOWER&&(a=r.y+a-R.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),0<=i&&0<=a&&i<this._wwaData.mapWidth&&a<this._wwaData.mapWidth&&(i!==r.x||a!==r.y)&&(this.reserveJumpInNextFrame(new C(this,i,a,0,0)),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND]))}_execObjectUrlGateEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING];if(!this._isURLGateEnable)return;let i=this.resolveSystemMessage(g.CONFIRM_ENTER_URL_GATE);if(i===`BLANK`){location.href=Ve(this._wwaData.message[r].split(/\s/g)[0]);return}this.registerSystemMessagePage(i,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this._yesNoURL=this._wwaData.message[r].split(/\s/g)[0]}_execObjectScoreEvent(e,t,n){let r=this._wwaData.objectAttribute[t][R.ATR_STRING];this.registerPageByMessage(this._wwaData.message[r],{triggerParts:{id:t,type:j.OBJECT,position:e},scoreOption:{rates:{energy:this._wwaData.objectAttribute[t][R.ATR_ENERGY],strength:this._wwaData.objectAttribute[t][R.ATR_STRENGTH],defence:this._wwaData.objectAttribute[t][R.ATR_DEFENCE],gold:this._wwaData.objectAttribute[t][R.ATR_GOLD]}}}),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}updateScore(e){let t=e||this._lastScoreOptions;if(!t)return;let n=this._player.getStatus().calculateScore(t);this._scoreWindow.update(n)}_execChoiceWindowObjectSellEvent(){if(!this._player.hasGold(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_GOLD]))return this.registerSystemMessagePageByKey(g.NO_MONEY),{};if(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM]!==0){let e=this._yesNoChoicePartsCoord,t=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),n=(e.x-t.x)*R.CHIP_SIZE,r=(e.y-t.y)*R.CHIP_SIZE,i=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM],a=this._wwaData.objectAttribute[i][R.ATR_NUMBER];try{this._player.addItem(i,a,!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new S(n,r),itemBoxBackgroundImageCoord:new S(this._wwaData.imgItemboxX*R.CHIP_SIZE,this._wwaData.imgItemboxY*R.CHIP_SIZE)}:void 0)}catch{return this.registerSystemMessagePageByKey(g.ITEM_BOX_FULL),{}}}let e=new x(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ENERGY],this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_STRENGTH],this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_DEFENCE],-this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_GOLD]);return e.energy=e.energy>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-e.energy:e.energy,this.setStatusChangedEffect(e),this._player.addStatusAll(e),this._player.isDead()&&this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})?(this.gameover(),{isGameOver:!0}):(this.appearParts({pos:this._yesNoChoicePartsCoord,triggerType:A.OBJECT,triggerPartsId:this._yesNoChoicePartsID}),{})}_execChoiceWindowRunningEvent(){var e,t;if(--this._yesNoDispCounter===0){if(this._yesNoJudge===k.YES){if(this._yesNoChoiceCallInfo===N.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],e===R.MAP_URLGATE&&(location.href=Ve(this._yesNoURL));else if(this._yesNoChoiceCallInfo===N.CALL_BY_OBJECT_PARTS)if(e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],e===R.OBJECT_BUY)this._player.hasItem(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM])?(this._player.removeItemByPartsID(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM]),t=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_GOLD],this._player.earnGold(t),this.setStatusChangedEffect(new x(0,0,0,t)),this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,A.OBJECT,this._yesNoChoicePartsID)):this.registerSystemMessagePageByKey(g.NO_ITEM);else if(e===R.OBJECT_SELL){let{isGameOver:e}=this._execChoiceWindowObjectSellEvent();if(e)return}else e===R.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,A.CHOICE_YES,this._yesNoChoicePartsID):e===R.OBJECT_URLGATE&&(location.href=Ve(this._yesNoURL));else this._yesNoChoiceCallInfo===N.CALL_BY_ITEM_USE?this._player.readyToUseItem(this._yesNoUseItemPos):this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===N.CALL_BY_LOG_QUICK_LOAD?(this._messageWindow.deleteSaveDom(),U(F[P.QUICK_LOAD]).classList.remove(`onpress`),this._messageWindow.load()&&(this._stopUpdateByLoadFlag=!0,this._loadType=oe.QUICK_LOAD)):this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_SAVE?(this._messageWindow.deleteSaveDom(),U(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._quickSave(N.CALL_BY_QUICK_SAVE)):this._yesNoChoiceCallInfo===N.CALL_BY_RESTART_GAME?(U(F[P.RESTART_GAME]).classList.remove(`onpress`),this._stopUpdateByLoadFlag=!0,this._loadType=oe.RESTART_GAME):this._yesNoChoiceCallInfo===N.CALL_BY_END_GAME?(window.history.back(-1),U(F[P.GOTO_WWA]).classList.remove(`onpress`)):this._yesNoChoiceCallInfo===N.CALL_BY_GOTO_WWA?(location.href=Ve(R.WWA_HOME),U(F[P.GOTO_WWA]).classList.remove(`onpress`)):this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_LOAD?(U(F[P.QUICK_LOAD]).classList.remove(`onpress`),this._player.setPasswordWindowWating(),this._passwordWindow.show(Cr.LOAD)):this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_SAVE?(U(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._player.setPasswordWindowWating(),this._passwordWindow.password=this._quickSave(N.CALL_BY_PASSWORD_SAVE),this._passwordWindow.show(Cr.SAVE)):this._yesNoChoiceCallInfo===N.CALL_BY_SUSPEND&&(U(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._quickSave(N.CALL_BY_SUSPEND));this._yesNoJudge=k.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=N.NONE,this._messageWindow.setYesNoChoice(!1)}else if(this._yesNoJudge===k.NO){if(this._yesNoChoiceCallInfo===N.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],R.MAP_URLGATE;else if(this._yesNoChoiceCallInfo===N.CALL_BY_OBJECT_PARTS)e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],e===R.OBJECT_BUY||e===R.OBJECT_SELL||(e===R.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,A.CHOICE_NO,this._yesNoChoicePartsID):R.OBJECT_URLGATE);else if(this._yesNoChoiceCallInfo===N.CALL_BY_ITEM_USE)U(`item`+(this._yesNoUseItemPos-1)).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===N.CALL_BY_LOG_QUICK_LOAD)switch(this._messageWindow.deleteSaveDom(),this._yesNoChoiceCallInfo=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._yesNoChoiceCallInfo){case N.NONE:U(F[P.QUICK_LOAD]).classList.remove(`onpress`);break;case N.CALL_BY_PASSWORD_LOAD:this._yesNoJudge=k.UNSELECTED,this.onpasswordloadcalled();return;case N.CALL_BY_LOG_QUICK_LOAD:this._wwaSave.selectLogSaveDataList(),this._messageWindow.createSaveDom();var n=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword);switch(this._yesNoJudge=k.UNSELECTED,n){case N.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(`読み込むオートセーブを選んでください。
121
+ `);this._messageWindow.setMessage(t),this._messageWindow.setYesNoChoice(e.showChoice),this._messageWindow.setPositionByPlayerPosition(this._faces.length!==0,r,e.isSystemMessage,this._player.getPosition(),this._camera.getPosition()),r&&(this._lastScoreOptions=e.scoreOption,this.updateScore(e.scoreOption),this._scoreWindow.show()),this._player.setMessageWaiting(),this._isLastPage=e.isLastPage,this._shouldSetNextPage=!1;break}if(this._pages.length===0){if(this._hideMessageWindow().newPageGenerated||this._dispatchWindowClosedTimeRequests().newPageGenerated)continue;this.clearFaces();break}}if(this._pageExecuting=!1,this._reservedJumpDestination&&=(this._player.jumpTo(this._reservedJumpDestination),void 0),this._player.mainFrameCount(),this._player.isControllable()){if(this._wwaData.disableSaveFlag||this._wwaSave.isAutoSaveFrame(this._player)&&this._quickSave(N.CALL_BY_LOG_QUICK_SAVE),this._player.isDelayFrame())this._player.updateDelayFrame();else{let e=this._player.getDir(),t=[NaN,NaN,V.KEY_DOWN,NaN,V.KEY_LEFT,NaN,V.KEY_RIGHT,NaN,V.KEY_UP,NaN][e];this._actionGamePadButtonItemMacro()||(this._keyStore.getKeyStateForControllPlayer(V.KEY_LEFT)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(V.KEY_UP)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(V.KEY_RIGHT)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(V.KEY_DOWN)===B.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.LEFT)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.UP)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.RIGHT)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(E.DOWN)===Te.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(t)?this._checkTurnKeyPressed()?this._player.setDir(e):(this._player.controll(e),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_LEFT)?this._checkTurnKeyPressed()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_UP)?this._checkTurnKeyPressed()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_RIGHT)?this._checkTurnKeyPressed()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(V.KEY_DOWN)?this._checkTurnKeyPressed()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.LEFT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.UP)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.RIGHT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(E.DOWN)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_LEFT)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_UP)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_RIGHT)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_DOWN)?this._gamePadStore.buttonPressed(H.BUTTON_INDEX_B)?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_LEFT`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.LEFT):(this._player.controll(E.LEFT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_UP`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.UP):(this._player.controll(E.UP),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_RIGHT`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.RIGHT):(this._player.controll(E.RIGHT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_DOWN`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(E.DOWN):(this._player.controll(E.DOWN),this._objectMovingDataManager.update()):this._keyStore.getKeyState(V.KEY_1)===B.KEYDOWN?this.onselectitem(1):this._keyStore.getKeyState(V.KEY_2)===B.KEYDOWN?this.onselectitem(2):this._keyStore.getKeyState(V.KEY_3)===B.KEYDOWN?this.onselectitem(3):this._keyStore.getKeyState(V.KEY_Q)===B.KEYDOWN?this.onselectitem(4):this._keyStore.getKeyState(V.KEY_W)===B.KEYDOWN?this.onselectitem(5):this._keyStore.getKeyState(V.KEY_E)===B.KEYDOWN?this.onselectitem(6):this._keyStore.getKeyState(V.KEY_A)===B.KEYDOWN?this.onselectitem(7):this._keyStore.getKeyState(V.KEY_S)===B.KEYDOWN?this.onselectitem(8):this._keyStore.getKeyState(V.KEY_D)===B.KEYDOWN?this.onselectitem(9):this._keyStore.getKeyState(V.KEY_Z)===B.KEYDOWN?this.onselectitem(10):this._keyStore.getKeyState(V.KEY_X)===B.KEYDOWN?this.onselectitem(11):this._keyStore.getKeyState(V.KEY_C)===B.KEYDOWN?this.onselectitem(12):this._keyStore.getKeyState(V.KEY_I)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_MINUS)||this._virtualPadStore.checkTouchButton(`BUTTON_SLOW`)?this.onchangespeed(ae.DOWN):this._keyStore.getKeyState(V.KEY_P)===B.KEYDOWN||this._keyStore.checkHitKey(V.KEY_F2)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_PLUS)||this._virtualPadStore.checkTouchButton(`BUTTON_FAST`)?this.onchangespeed(ae.UP):this._keyStore.getKeyState(V.KEY_F1)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_M)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this.launchBattleEstimateWindow():this._keyStore.checkHitKey(V.KEY_F3)?(this.playDecisionSound(),this.onselectbutton(P.QUICK_LOAD,!0)):this._keyStore.checkHitKey(V.KEY_F4)?(this.playDecisionSound(),this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled()):this._keyStore.checkHitKey(V.KEY_F5)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_ZR)?this.onselectbutton(P.QUICK_LOAD):this._keyStore.checkHitKey(V.KEY_F6)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_ZL)?this.onselectbutton(P.QUICK_SAVE):this._keyStore.checkHitKey(V.KEY_F7)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_R)?this.onselectbutton(P.RESTART_GAME):this._keyStore.checkHitKey(V.KEY_F8)?this.onselectbutton(P.GOTO_WWA,!1,!0):this._keyStore.checkHitKey(V.KEY_F9)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_X)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)?(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onitemmenucalled():this._keyStore.checkHitKey(V.KEY_V)?this._displayUserVars():this._keyStore.checkHitKey(V.KEY_X)?this._debugConsoleElement&&!this._player.isControllable()&&this._debugEvalString():(this._keyStore.checkHitKey(V.KEY_F12)||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_Y))&&this._displayHelp());let n=(e,t)=>({key:V[`KEY_${e}`],func:t});[...`0123456789`.split(``).map(e=>n(e,`CALL_PUSH_${e}`)),...`0123456789`.split(``).map(e=>n(`NUM${e}`,`CALL_PUSH_${e}`)),...`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``).map(e=>n(e,`CALL_PUSH_${e}`)),...[`ENTER`,`SHIFT`,`ESC`,`SPACE`,`LEFT`,`RIGHT`,`UP`,`DOWN`].map(e=>n(e,`CALL_PUSH_${e}`))].forEach(e=>{if(this._keyStore.checkHitKey(e.key)){let t=this.userDefinedFunctions&&this.userDefinedFunctions[e.func];t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}})}this._keyStore.memorizeKeyStateOnControllableFrame(),this._mouseStore.memorizeMouseStateOnControllableFrame()}else if(this._player.isJumped())this._camera.isResetting()||this._player.processAfterJump();else if(this._player.isMoving())this._player.move(),this._objectMovingDataManager.update(),this._player.getPosition().isJustPosition()&&this._dispatchPlayerAndObjectsStopTimeRequests();else if(this._player.isWaitingMessage()){if(this._messageWindow.isVisible()||this._messageWindow.show(),this._messageWindow.isYesNoChoice())this._messageWindow.isSaveChoice()&&(this._messageWindow.saveUpdate(),this._messageWindow.isSaveClose()||(this._keyStore.checkHitKey(V.KEY_LEFT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchButton(`BUTTON_LEFT`)?this._messageWindow.saveControll(E.LEFT):this._keyStore.checkHitKey(V.KEY_UP)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchButton(`BUTTON_UP`)?this._messageWindow.saveControll(E.UP):this._keyStore.checkHitKey(V.KEY_RIGHT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchButton(`BUTTON_RIGHT`)?this._messageWindow.saveControll(E.RIGHT):(this._keyStore.checkHitKey(V.KEY_DOWN)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchButton(`BUTTON_DOWN`))&&this._messageWindow.saveControll(E.DOWN))),this._messageWindow.isInputDisable()||(this._yesNoJudge===k.UNSELECTED&&(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_Y)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this._yesNoJudge=k.YES:(this._keyStore.getKeyState(V.KEY_N)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_ESC)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&(this._yesNoJudge=k.NO)),(this._yesNoJudge===k.YES||this._yesNoJudge===k.NO)&&(this.playDecisionSound(),this._yesNoDispCounter=R.YESNO_PRESS_DISP_FRAME_NUM,this._messageWindow.setInputDisable(),this._messageWindow.update()));else if(this._messageWindow.isItemMenuChoice()){if(this._itemMenu.update(),this._keyStore.checkHitKey(V.KEY_LEFT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchingButton(`BUTTON_LEFT`)?this._itemMenu.controll(E.LEFT):this._keyStore.checkHitKey(V.KEY_UP)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchingButton(`BUTTON_UP`)?this._itemMenu.controll(E.UP):this._keyStore.checkHitKey(V.KEY_RIGHT)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchingButton(`BUTTON_RIGHT`)?this._itemMenu.controll(E.RIGHT):(this._keyStore.checkHitKey(V.KEY_DOWN)||this._gamePadStore.crossPressed(H.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchingButton(`BUTTON_DOWN`))&&this._itemMenu.controll(E.DOWN),this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_Y)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`))this._setNextPage(),this._messageWindow.setItemMenuChoice(!1),this._itemMenu.ok();else if(this._mouseStore.checkClickMouse(E.LEFT)||this._mouseStore.checkClickMouse(E.UP)||this._mouseStore.checkClickMouse(E.RIGHT)||this._mouseStore.checkClickMouse(E.DOWN)||this._keyStore.getKeyState(V.KEY_N)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_ESC)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){for(var t=0;t<F.length;t++){var n=U(F[t]);n.classList.contains(`onpress`)&&n.classList.remove(`onpress`)}this._itemMenu.ng(),this._setNextPage(),this.playDecisionSound(),this._messageWindow.setItemMenuChoice(!1)}}else{var r=this._keyStore.getKeyStateForMessageCheck(V.KEY_ENTER),i=this._keyStore.getKeyStateForMessageCheck(V.KEY_SPACE),a=this._keyStore.getKeyStateForMessageCheck(V.KEY_ESC);if(r===B.KEYDOWN||r===B.KEYPRESS_MESSAGECHANGE||i===B.KEYDOWN||i===B.KEYPRESS_MESSAGECHANGE||a===B.KEYDOWN||a===B.KEYPRESS_MESSAGECHANGE||this._mouseStore.getMouseState()===Te.MOUSEDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){for(var t=0;t<F.length;t++){var n=U(F[t]);n.classList.contains(`onpress`)&&n.classList.remove(`onpress`)}this._setNextPage()}}if(this._inlineUserVarViewer?.isVisible){let e=this._inlineUserVarViewer.kind,t=!1,n=e===`named`?this._userVar.named.size:R.USER_VAR_NUM;this._keyStore.getKeyState(V.KEY_DOWN)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]++,t=!0),this._keyStore.getKeyState(V.KEY_UP)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]--,t=!0),this._keyStore.getKeyState(V.KEY_RIGHT)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]+=R.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,t=!0),this._keyStore.getKeyState(V.KEY_LEFT)===B.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]-=R.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,t=!0),this._keyStore.getKeyState(V.KEY_V)===B.KEYDOWN&&(this._inlineUserVarViewer.kind===`named`?this._inlineUserVarViewer.kind=`numbered`:this._inlineUserVarViewer.kind===`numbered`&&(this._inlineUserVarViewer.kind=`named`),t=!0),this._inlineUserVarViewer.topUserVarIndex[e]<0&&(this._inlineUserVarViewer.topUserVarIndex[e]+=n),this._inlineUserVarViewer.topUserVarIndex[e]>n&&(this._inlineUserVarViewer.topUserVarIndex[e]-=n),t&&(this._setNextPage(),this._inlineUserVarViewer.isVisible=!0,this._displayUserVars())}}else if(this._player.isWaitingEstimateWindow())(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyState(V.KEY_SPACE)===B.KEYDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&this.hideBattleEstimateWindow();else if(this._player.isFighting())this._player.fight(),this._monsterWindow.update(this._monster);else if(this._player.isWaitingMoveMacro())this._player.isMoveObjectAutoExecTime()&&(this.moveObjects(!1),this._player.resetMoveObjectAutoExecTimer()),this._objectMovingDataManager.update();else if(this._player.isManualPause()){let e=this._player.getManualPauseInformation();if(this._keyStore.getKeyState(V.KEY_ENTER)===B.KEYDOWN||this._keyStore.getKeyStateForMessageCheck(V.KEY_SPACE)===B.KEYDOWN||this._keyStore.getKeyStateForMessageCheck(V.KEY_ESC)===B.KEYDOWN||this._mouseStore.getMouseState()===Te.MOUSEDOWN||this._gamePadStore.buttonTrigger(H.BUTTON_INDEX_A,H.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){let t=e?.functionNames.cancelPause??``;if(this._player.clearWaitingMessageOrManualPause(),t!==``)try{this.evalCalcWwaNodeGenerator.evalWwaNode({type:`CallDefinedFunction`,functionName:t})}catch(e){console.error(e)}}[{keyCode:V.KEY_UP,funcKey:`up`},{keyCode:V.KEY_DOWN,funcKey:`down`},{keyCode:V.KEY_RIGHT,funcKey:`right`},{keyCode:V.KEY_LEFT,funcKey:`left`}].forEach(({keyCode:t,funcKey:n})=>{let r=e?.functionNames[n]??``;if(this._keyStore.getKeyState(t)===B.KEYDOWN&&r!==``)try{this.evalCalcWwaNodeGenerator.evalWwaNode({type:`CallDefinedFunction`,functionName:r})}catch(e){console.error(e)}})}if(this.updatePicturesAnimation(),this._cgManager.picture.updateFrameTimerValue(),this._prevFrameEventExected=!1,this._player.getPosition().isJustPosition()&&this._camera.getPosition().isScreenTopPosition()){if(!this._shouldTreatWillMessageDisplay(this._pages)&&!this._player.isPausing()){this._player.isPartsAppearedTime()&&this._player.clearPartsAppearedFlag(),this._replaceRandomObjectsInScreen();var o=this.checkMap();o||this.checkObject(),this._prevFrameEventExected=o}this._player.isWaitingMessage()&&this._messageWindow.isYesNoChoice()&&this._yesNoJudge!==k.UNSELECTED&&!this._player.isWaitingMoveMacro()&&!this._player.isFighting()&&this._execChoiceWindowRunningEvent()}this._passwordLoadExecInNextFrame&&=(this._stopUpdateByLoadFlag=!0,this._loadType=oe.PASSWORD,this._player.clearPasswordWindowWaiting(),!1),this._drawAll(),this._mainCallCounter++,this._mainCallCounter%=1e9,(!this._player.isWaitingMessageOrManualPause()||!this._isClassicModeEnable)&&(this._animationCounter=(this._animationCounter+1)%(R.ANIMATION_REP_HALF_FRAME*2),(this._animationCounter===0||this._animationCounter===R.ANIMATION_REP_HALF_FRAME+1)&&this.updateAllPicturesCache()),this._camera.isResetting()&&this._camera.advanceTransitionStepNum(),this._player.isWaitingMessageOrManualPause()||(this._player.decrementLookingAroundTimer(),this._statusPressCounter.energy>0&&--this._statusPressCounter.energy===0&&U(`disp-energy`).classList.remove(`onpress`),this._statusPressCounter.strength>0&&--this._statusPressCounter.strength===0&&U(`disp-strength`).classList.remove(`onpress`),this._statusPressCounter.defence>0&&--this._statusPressCounter.defence===0&&U(`disp-defence`).classList.remove(`onpress`),this._statusPressCounter.gold>0&&--this._statusPressCounter.gold===0&&U(`disp-gold`).classList.remove(`onpress`)),this._player.isWaitingMoveMacro()&&(this._player.decrementMoveObjectAutoExecTimer(),this._player.isWaitingMoveMacro()||this._dispatchPlayerAndObjectsStopTimeRequests()),this._stopUpdateByLoadFlag?this._fadeout(()=>{if(this._loadType===oe.QUICK_LOAD){this._quickLoad(),this.wwaCustomEvent(`wwa_quickload`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_QUICKLOAD;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}else if(this._loadType===oe.RESTART_GAME){this.restartGame(),this.wwaCustomEvent(`wwa_restert`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_RESTART;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}else if(this._loadType===oe.PASSWORD){this._applyQuickLoad(this._passwordSaveExtractData),this._passwordSaveExtractData=void 0,this.wwaCustomEvent(`wwa_passwordload`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_PASSWORDLOAD;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}setTimeout(this.mainCaller,R.DEFAULT_FRAME_INTERVAL,this)}):window.requestAnimationFrame(this.mainCaller),this._varDump?.updateAllVariables({userVar:this._userVar.numbered,namedUserVar:this._userVar.named});let s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_FRAME;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s)}vibration(e){this._gamePadStore.vibration(e)}_isMainAnimation(){return this._animationCounter>R.ANIMATION_REP_HALF_FRAME}_drawAll(){var e=this._camera.getPosition().getPartsCoord(),t=this._camera.getPosition().getOffsetCoord(),n=R.MAP_WINDOW_HEIGHT,r,i,a=this._player.getPosition().getPartsCoord();if(this._paintSkipByDoorOpen){this._paintSkipByDoorOpen=!1;return}if(this._cgManager.clearCanvas(0,0,R.MAP_WINDOW_WIDTH,R.MAP_WINDOW_HEIGHT),this._cgManager.drawBase(0,0,R.MAP_WINDOW_WIDTH,R.MAP_WINDOW_HEIGHT),this._camera.isResetting()){if(this._camera.getPreviousPosition()!==null)var o=this._camera.getPreviousPosition().getPartsCoord(),s=this._camera.getPreviousPosition().getOffsetCoord();n=this._camera.getTransitionStepNum()*R.CHIP_SIZE}var c=!1;if(n!==this._cgManager.mapCacheYLimit&&(this._cgManager.mapCacheYLimit=n,c=!0),(e.x!==this._cgManager.cpPartsLog.x||e.y!==this._cgManager.cpPartsLog.y)&&(this._cgManager.cpPartsLog.x=e.x,this._cgManager.cpPartsLog.y=e.y,c=!0),c&&(this._cgManager.clearBackCanvas(),this._cgManager.clearObjectCanvases()),this._camera.isResetting()&&(this._drawMap(o,s,n,!0),this._drawPlayer(o,s,n,!0),this._drawObjects(o,s,n,!0),this._camera.isFinalStep()))var l=255,u=setInterval(()=>{var e=U(`wwa-fader`);if(l-=R.FADEOUT_SPEED*3,l<=0){clearInterval(u),e.style.backgroundColor=`transparent`,e.removeAttribute(`style`),e.style.display=`none`;return}e.style.opacity=l/255+``},20);this._drawMap(e,t,n,!1,c),this._drawPlayer(e,t,n),this._drawObjects(e,t,n,!1,c),this._player.isFighting()&&!this._player.isBattleStartFrame()&&(r=this._player.isTurn()?this._monster.position.x:a.x,i=this._player.isTurn()?this._monster.position.y:a.y,this._cgManager.drawCanvas(this._battleEffectCoord.x,this._battleEffectCoord.y,R.CHIP_SIZE*(r-e.x)-t.x,R.CHIP_SIZE*(i-e.y)-t.y)),this._drawEffect(),this._drawPictures(),this._drawFaces(),this._drawFrame()}_drawMap(e,t,n,r=!1,i=!1){if(e!==void 0){var a=Math.max(0,e.x-1),o=Math.min(this._wwaData.mapWidth-1,e.x+R.H_PARTS_NUM_IN_WINDOW),s=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+R.V_PARTS_NUM_IN_WINDOW),l=0;if(r)for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u],p=this._wwaData.mapAttribute[f][R.ATR_X]/R.CHIP_SIZE,m=this._wwaData.mapAttribute[f][R.ATR_Y]/R.CHIP_SIZE,h=R.CHIP_SIZE*(u-e.x)-t.x,g=R.CHIP_SIZE*(d-e.y)-t.y;this._cgManager.copyBackCanvasWithLowerYLimit(p,m,h,g,n)}else{for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u];this._cgManager.mapCache[l]!==f&&(this._cgManager.mapCache[l]=f,i=!0),l++}if(i){this._cgManager.clearBackCanvasWithLowerYLimit(n);for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u],p=this._wwaData.mapAttribute[f][R.ATR_X]/R.CHIP_SIZE,m=this._wwaData.mapAttribute[f][R.ATR_Y]/R.CHIP_SIZE,h=R.CHIP_SIZE*(u-e.x)-t.x,g=R.CHIP_SIZE*(d-e.y)-t.y;this._cgManager.copyBackCanvasWithUpperYLimit(p,m,h,g,n)}}this._cgManager.drawBackCanvas()}}}_drawPlayer(e,t,n,r=!1){if(e===void 0||this._wwaData.delPlayerFlag)return;let i=this._player.getPosition().getPartsCoord(),a=this._player.getPosition().getOffsetCoord(),o=[NaN,NaN,2,NaN,4,NaN,6,NaN,0,NaN][this._player.getDir()],s=(i.x-e.x)*R.CHIP_SIZE+a.x-t.x,c=(i.y-e.y)*R.CHIP_SIZE+a.y-t.y,l;l=this._useLookingAround&&this._player.isLookingAround()&&!this._player.isWaitingMessageOrManualPause()?this._wwaData.playerImgPosX+[2,3,4,5,0,1,6,7][Math.floor(this._mainCallCounter%64/8)]:this._player.isMovingImage()?this._wwaData.playerImgPosX+o+1:this._wwaData.playerImgPosX+o,r?this._cgManager.drawCanvasWithLowerYLimit(l,this._wwaData.playerImgPosY,s,c,n):this._cgManager.drawCanvasWithUpperYLimit(l,this._wwaData.playerImgPosY,s,c,n)}_drawObjects(e,t,n,r=!1,i=!1){if(e!==void 0){var a=Math.max(0,e.x-1),o=Math.min(this._wwaData.mapWidth-1,e.x+R.H_PARTS_NUM_IN_WINDOW),s=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+R.V_PARTS_NUM_IN_WINDOW),l,u=0,d=this._isMainAnimation(),f,p,m,h,g,_,v,y,b,x,C,w,T,E=this._player.isFighting()&&this._player.isTurn()&&this._player.getPosition().getPartsCoord().equals(this._monster.position);if(r)for(b=a;b<=o;b++)for(x=s;x<=c;x++)E&&new S(b,x).equals(this._monster.position)||(C=this._wwaData.mapObject[x][b],l=new S(0,0),this._wwaData.objectAttribute[C][R.ATR_MOVE]!==se.STATIC&&(y=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new S(b,x)),y!==null&&(l=y)),h=R.CHIP_SIZE*(b-e.x)+l.x-t.x,g=R.CHIP_SIZE*(x-e.y)+l.y-t.y,f=d||this._wwaData.objectAttribute[C][R.ATR_X2]===0&&this._wwaData.objectAttribute[C][R.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?R.ATR_X:R.ATR_X2]/R.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?R.ATR_Y:R.ATR_Y2]/R.CHIP_SIZE,_=this._wwaData.objectAttribute[C][R.ATR_TYPE],v=this._wwaData.objectAttribute[C][R.ATR_NUMBER],C!==0&&!this._checkNoDrawObject(new S(b,x),_,v)&&this._cgManager.copyObjectCanvasWithLowerYLimit(+!!d,p,m,h,g,n));else{var D=[],O=[],k,A,te;for(b=a;b<=o;b++)for(x=s;x<=c;x++)w=C=this._wwaData.mapObject[x][b],_=this._wwaData.objectAttribute[C][R.ATR_TYPE],v=this._wwaData.objectAttribute[C][R.ATR_NUMBER],this._checkNoDrawObject(new S(b,x),_,v)&&(w=0),A=this._wwaData.objectAttribute[C][R.ATR_MOVE]===se.STATIC,w!==0&&(te=!!(E&&new S(b,x).equals(this._monster.position)),A?O.push(new ee(C,b,x,A,te)):(D.push(new ee(C,b,x,A,te)),w=0),te&&(w=0)),this._cgManager.mapObjectCache[u]!==w&&(this._cgManager.mapObjectCache[u]=w,i=!0),u++;i&&(this._cgManager.clearObjectCanvasesWithLowerYLimit(n),Array.prototype.push.apply(D,O));var j,M=D.length;for(j=0;j<M;j++)if(k=D[j],b=k.x,x=k.y,C=k.partsIDObj,A=k.isStatic,te=k.isFighting,h=R.CHIP_SIZE*(b-e.x)-t.x,g=R.CHIP_SIZE*(x-e.y)-t.y,A){if(te)continue;for(T=0;T<2;T++)f=!!T||this._wwaData.objectAttribute[C][R.ATR_X2]===0&&this._wwaData.objectAttribute[C][R.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?R.ATR_X:R.ATR_X2]/R.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?R.ATR_Y:R.ATR_Y2]/R.CHIP_SIZE,this._cgManager.copyObjectCanvasWithUpperYLimit(T,p,m,h,g,n)}else y=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new S(b,x)),y!==null&&(h+=y.x,g+=y.y),f=d||this._wwaData.objectAttribute[C][R.ATR_X2]===0&&this._wwaData.objectAttribute[C][R.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?R.ATR_X:R.ATR_X2]/R.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?R.ATR_Y:R.ATR_Y2]/R.CHIP_SIZE,this._cgManager.drawCanvasWithUpperYLimit(p,m,h,g,n);this._cgManager.drawObjectCanvas(+!!d)}}}_drawEffect(){if(!(this._wwaData.effectCoords.length===0||this._wwaData.effectWaits===0)){var e=Math.floor(this._mainCallCounter%(this._wwaData.effectCoords.length*this._wwaData.effectWaits)/this._wwaData.effectWaits);this._cgManager.drawEffect(e)}}_drawFaces(){for(var e=0;e<this._faces.length;e++)this._cgManager.drawCanvasWithSize(this._faces[e].srcPos.x,this._faces[e].srcPos.y,this._faces[e].srcSize.x,this._faces[e].srcSize.y,this._faces[e].destPos.x,this._faces[e].destPos.y)}_drawFrame(){this._cgManager.drawFrame()}_drawPictures(){this._cgManager.drawPictures()}_checkNoDrawObject(e,t,n){var r=this._player.getPosition(),i=r.getPartsCoord();return!r.isJustPosition()||i.x!==e.x||i.y!==e.y||this._wwaData.objectNoCollapseDefaultFlag?!1:t===R.OBJECT_DOOR&&n===0?!0:t===R.OBJECT_STATUS||t===R.OBJECT_MESSAGE||t===R.OBJECT_ITEM||t===R.OBJECT_SELL||t===R.OBJECT_BUY||t===R.OBJECT_SELL||t===R.OBJECT_LOCALGATE}getMapWidth(){if(this._wwaData===void 0)throw Error(`マップデータがロードされていません`);return this._wwaData.mapWidth}getMapIdByPosition(e){var t=e.getPartsCoord();return this._wwaData.map[t.y][t.x]}getObjectIdByPosition(e){var t=e.getPartsCoord();return this._wwaData.mapObject[t.y][t.x]}getMapTypeByPosition(e){var t=e.getPartsCoord(),n=this._wwaData.map[t.y][t.x];return this._wwaData.mapAttribute[n][R.ATR_TYPE]}getObjectTypeByPosition(e){var t=e.getPartsCoord(),n=this._wwaData.mapObject[t.y][t.x];return this._wwaData.objectAttribute[n][R.ATR_TYPE]}getMapAttributeByPosition(e,t){var n=e.getPartsCoord(),r=this._wwaData.map[n.y][n.x];return this._wwaData.mapAttribute[r][t]}isCurrentPosMapPartsIncludingMessage(e){return this.getMapAttributeByPosition(e,R.ATR_STRING)!==0}getObjectAttributeByPosition(e,t){var n=e.getPartsCoord(),r=this._wwaData.mapObject[n.y][n.x];return this._wwaData.objectAttribute[r][t]}getMapAttributeById(e,t){return this._wwaData.mapAttribute[e][t]}getObjectAttributeById(e,t){return this._wwaData.objectAttribute[e][t]}getObjectCropXById(e){return this._wwaData.objectAttribute[e][R.ATR_X]}getObjectCropYById(e){return this._wwaData.objectAttribute[e][R.ATR_Y]}getMessageById(e){return this._wwaData.message[e]}getSystemMessageById(e){return this._wwaData.systemMessage[e]}getMapInfo(e){return this._wwaData.mapAttribute[e]}checkMap(e){var t=this._player.getPosition().getPartsCoord();e??=t;var n=this._wwaData.map[e.y][e.x],r=this.getMapInfo(n)[R.ATR_TYPE],i=e.x===t.x&&e.y===t.y,a=!1;return i&&this._player.getLastExecPartsIDOnSamePosition(j.MAP)===n?!1:(r===R.MAP_STREET?a=this._execMapStreetEvent(e,n,r):r===R.MAP_WALL?a=this._execMapWallEvent(e,n,r):r===R.MAP_LOCALGATE?a=this._execMapLocalGateEvent(e,n,r):r===R.MAP_URLGATE&&(a=this._execMapUrlGateEvent(e,n,r)),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(j.MAP,n),a)}getObjectInfo(e){return this._wwaData.objectAttribute[e]}checkObject(e){var t=this._player.getPosition().getPartsCoord();e??=t;var n=this._wwaData.mapObject[e.y][e.x],r=this.getObjectInfo(n)[R.ATR_TYPE],i=e.x===t.x&&e.y===t.y;i&&this._player.getLastExecPartsIDOnSamePosition(j.OBJECT)===n||(r===R.OBJECT_NORMAL?this._execObjectNormalEvent(e,n,r):r===R.OBJECT_MESSAGE?this._execObjectMessageEvent(e,n,r):r===R.OBJECT_MONSTER?this._execObjectMonsterEvent(e,n,r):r===R.OBJECT_ITEM?this._execObjectItemEvent(e,n,r):r===R.OBJECT_DOOR?this._execObjectDoorEvent(e,n,r):r===R.OBJECT_STATUS?this._execObjectStatusEvent(e,n,r):r===R.OBJECT_BUY?this._execObjectBuyEvent(e,n,r):r===R.OBJECT_SELL?this._execObjectSellEvent(e,n,r):r===R.OBJECT_URLGATE?this._execObjectUrlGateEvent(e,n,r):r===R.OBJECT_SCORE?this._execObjectScoreEvent(e,n,r):r===R.OBJECT_SELECT?this._execObjectYesNoChoiceEvent(e,n,r):r===R.OBJECT_LOCALGATE&&this._execObjectLocalGateEvent(e,n,r),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(j.OBJECT,n))}_execMapStreetEvent(e,t,n){var r=this._wwaData.mapAttribute[t][R.ATR_ITEM];if(r!==0&&!this._player.hasItem(r))return!1;this.reserveAppearPartsInNextFrame(e,A.MAP,t);let i=this._wwaData.mapAttribute[t][R.ATR_STRING],a=this._wwaData.message[i],o=this._wwaData.mapAttribute[t][R.ATR_NUMBER];return this._waitFrame+=o*R.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.registerPageByMessage(a,{triggerParts:{id:t,type:j.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[t][R.ATR_SOUND]),i!==0&&this._shouldTreatWillMessageDisplay(this._pages)||o!==0}_shouldTreatWillMessageDisplay(e){return e.reduce((e,t)=>e||!hr(t.firstNode),!1)}_execMapWallEvent(e,t,n){var r=this.getObjectIdByPosition(e.convertIntoPosition(this)),i=this.getObjectAttributeById(r,R.ATR_TYPE);if(r===0||i===R.OBJECT_NORMAL||i===R.OBJECT_DOOR&&(!this._player.hasItem(this.getObjectAttributeById(r,R.ATR_ITEM))||this.getObjectAttributeById(i,R.ATR_MODE)===R.PASSABLE_OBJECT)){this.reserveAppearPartsInNextFrame(e,A.MAP,t);var a=this._wwaData.mapAttribute[t][R.ATR_STRING],o=this._wwaData.message[a];return this.registerPageByMessage(o,{triggerParts:{id:t,type:j.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[t][R.ATR_SOUND]),!1}return!1}_execMapLocalGateEvent(e,t,n){var r=this._player.getPosition().getPartsCoord(),i=this._wwaData.mapAttribute[t][R.ATR_JUMP_X],a=this._wwaData.mapAttribute[t][R.ATR_JUMP_Y];return i>R.RELATIVE_COORD_LOWER&&(i=e.x+i-R.RELATIVE_COORD_BIAS),a>R.RELATIVE_COORD_LOWER&&(a=e.y+a-R.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,A.MAP,t),0<=i&&0<=a&&i<this._wwaData.mapWidth&&a<this._wwaData.mapWidth&&(i!==r.x||a!==r.y)?(this.reserveJumpInNextFrame(new C(this,i,a,0,0)),this.playSound(this._wwaData.mapAttribute[t][R.ATR_SOUND]),!0):!1}_execMapUrlGateEvent(e,t,n){var r=this._wwaData.mapAttribute[t][R.ATR_STRING];if(!this._isURLGateEnable)return!0;let i=this.resolveSystemMessage(g.CONFIRM_ENTER_URL_GATE);if(i===`BLANK`){location.href=Ve(this._wwaData.message[r].split(/\s/g)[0]);return}return this.registerSystemMessagePage(i,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_MAP_PARTS,this._yesNoURL=this._wwaData.message[r].split(/\s/g)[0],!0}_execObjectNormalEvent(e,t,n){}_execObjectMessageEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord(),o=this._wwaData.objectAttribute[t][R.ATR_SOUND];e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{triggerParts:{id:t,type:j.OBJECT,position:e}}),this._waitFrame+=this._wwaData.objectAttribute[t][R.ATR_NUMBER]*R.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),this.playSound(o)}_execObjectStatusEvent(e,t,n){var r=new x(this._wwaData.objectAttribute[t][R.ATR_ENERGY],this._wwaData.objectAttribute[t][R.ATR_STRENGTH],this._wwaData.objectAttribute[t][R.ATR_DEFENCE],this._wwaData.objectAttribute[t][R.ATR_GOLD]),i=this._wwaData.objectAttribute[t][R.ATR_STRING],a=this._wwaData.message[i],o=this._player.getStatusWithoutEquipments();if(r.strength>R.STATUS_MINUS_BORDER&&o.strength<r.strength-R.STATUS_MINUS_BORDER||r.defence>R.STATUS_MINUS_BORDER&&o.defence<r.defence-R.STATUS_MINUS_BORDER||r.gold>R.STATUS_MINUS_BORDER&&o.gold<r.gold-R.STATUS_MINUS_BORDER){this.setPartsOnPosition(j.OBJECT,0,e),this._keyStore.allClear(),this._mouseStore.clear();return}if(r.energy=r.energy>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.energy:r.energy,r.strength=r.strength>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.strength:r.strength,r.defence=r.defence>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.defence:r.defence,r.gold=r.gold>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-r.gold:r.gold,this._player.addStatusAll(r),this.setStatusChangedEffect(r),this._player.isDead()&&this._wwaData.objectAttribute[t][R.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})){this.gameover();return}this.registerPageByMessage(a,{triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this.setPartsOnPosition(j.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectMonsterEvent(e,t,n){this._monster=this._createMonster(t,e,()=>{this._monster=void 0,this._monsterWindow.hide(),this._dispatchWindowClosedTimeRequests()}),this._player.startBattleWith(this._monster)}_execObjectBuyEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectSellEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectItemEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r];try{var a=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),o=(e.x-a.x)*R.CHIP_SIZE,s=(e.y-a.y)*R.CHIP_SIZE;this._player.addItem(t,this._wwaData.objectAttribute[t][R.ATR_NUMBER],!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new S(o,s),itemBoxBackgroundImageCoord:new S(this._wwaData.imgItemboxX*R.CHIP_SIZE,this._wwaData.imgItemboxY*R.CHIP_SIZE)}:void 0),this.setPartsOnPosition(j.OBJECT,0,e),this._wwaData.objectAttribute[t][R.ATR_MODE]!==0||(this.registerPageByMessage(i,{triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t))}catch{this.registerSystemMessagePageByKey(g.ITEM_BOX_FULL)}this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectDoorEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_ITEM],i=this._wwaData.objectAttribute[t][R.ATR_STRING],a=this._wwaData.message[i];this._player.hasItem(r)&&(this._wwaData.objectAttribute[t][R.ATR_MODE]===0&&this._player.removeItemByPartsID(r),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND]),this.registerPageByMessage(a,{triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this.setPartsOnPosition(j.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),this._paintSkipByDoorOpen=!0)}_execObjectYesNoChoiceEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:j.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}_execObjectLocalGateEvent(e,t,n){var r=this._player.getPosition().getPartsCoord();e.x===r.x&&e.y===r.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(j.OBJECT,0,e);var i=this._wwaData.objectAttribute[t][R.ATR_JUMP_X],a=this._wwaData.objectAttribute[t][R.ATR_JUMP_Y];i>R.RELATIVE_COORD_LOWER&&(i=r.x+i-R.RELATIVE_COORD_BIAS),a>R.RELATIVE_COORD_LOWER&&(a=r.y+a-R.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,A.OBJECT,t),0<=i&&0<=a&&i<this._wwaData.mapWidth&&a<this._wwaData.mapWidth&&(i!==r.x||a!==r.y)&&(this.reserveJumpInNextFrame(new C(this,i,a,0,0)),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND]))}_execObjectUrlGateEvent(e,t,n){var r=this._wwaData.objectAttribute[t][R.ATR_STRING];if(!this._isURLGateEnable)return;let i=this.resolveSystemMessage(g.CONFIRM_ENTER_URL_GATE);if(i===`BLANK`){location.href=Ve(this._wwaData.message[r].split(/\s/g)[0]);return}this.registerSystemMessagePage(i,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this._yesNoURL=this._wwaData.message[r].split(/\s/g)[0]}_execObjectScoreEvent(e,t,n){let r=this._wwaData.objectAttribute[t][R.ATR_STRING];this.registerPageByMessage(this._wwaData.message[r],{triggerParts:{id:t,type:j.OBJECT,position:e},scoreOption:{rates:{energy:this._wwaData.objectAttribute[t][R.ATR_ENERGY],strength:this._wwaData.objectAttribute[t][R.ATR_STRENGTH],defence:this._wwaData.objectAttribute[t][R.ATR_DEFENCE],gold:this._wwaData.objectAttribute[t][R.ATR_GOLD]}}}),this.playSound(this._wwaData.objectAttribute[t][R.ATR_SOUND])}updateScore(e){let t=e||this._lastScoreOptions;if(!t)return;let n=this._player.getStatus().calculateScore(t);this._scoreWindow.update(n)}_execChoiceWindowObjectSellEvent(){if(!this._player.hasGold(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_GOLD]))return this.registerSystemMessagePageByKey(g.NO_MONEY),{};if(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM]!==0){let e=this._yesNoChoicePartsCoord,t=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),n=(e.x-t.x)*R.CHIP_SIZE,r=(e.y-t.y)*R.CHIP_SIZE,i=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM],a=this._wwaData.objectAttribute[i][R.ATR_NUMBER];try{this._player.addItem(i,a,!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new S(n,r),itemBoxBackgroundImageCoord:new S(this._wwaData.imgItemboxX*R.CHIP_SIZE,this._wwaData.imgItemboxY*R.CHIP_SIZE)}:void 0)}catch{return this.registerSystemMessagePageByKey(g.ITEM_BOX_FULL),{}}}let e=new x(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ENERGY],this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_STRENGTH],this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_DEFENCE],-this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_GOLD]);return e.energy=e.energy>R.STATUS_MINUS_BORDER?R.STATUS_MINUS_BORDER-e.energy:e.energy,this.setStatusChangedEffect(e),this._player.addStatusAll(e),this._player.isDead()&&this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})?(this.gameover(),{isGameOver:!0}):(this.appearParts({pos:this._yesNoChoicePartsCoord,triggerType:A.OBJECT,triggerPartsId:this._yesNoChoicePartsID}),{})}_execChoiceWindowRunningEvent(){var e,t;if(--this._yesNoDispCounter===0){if(this._yesNoJudge===k.YES){if(this._yesNoChoiceCallInfo===N.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],e===R.MAP_URLGATE&&(location.href=Ve(this._yesNoURL));else if(this._yesNoChoiceCallInfo===N.CALL_BY_OBJECT_PARTS)if(e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],e===R.OBJECT_BUY)this._player.hasItem(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM])?(this._player.removeItemByPartsID(this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_ITEM]),t=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_GOLD],this._player.earnGold(t),this.setStatusChangedEffect(new x(0,0,0,t)),this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,A.OBJECT,this._yesNoChoicePartsID)):this.registerSystemMessagePageByKey(g.NO_ITEM);else if(e===R.OBJECT_SELL){let{isGameOver:e}=this._execChoiceWindowObjectSellEvent();if(e)return}else e===R.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,A.CHOICE_YES,this._yesNoChoicePartsID):e===R.OBJECT_URLGATE&&(location.href=Ve(this._yesNoURL));else this._yesNoChoiceCallInfo===N.CALL_BY_ITEM_USE?this._player.readyToUseItem(this._yesNoUseItemPos):this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===N.CALL_BY_LOG_QUICK_LOAD?(this._messageWindow.deleteSaveDom(),U(F[P.QUICK_LOAD]).classList.remove(`onpress`),this._messageWindow.load()&&(this._stopUpdateByLoadFlag=!0,this._loadType=oe.QUICK_LOAD)):this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_SAVE?(this._messageWindow.deleteSaveDom(),U(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._quickSave(N.CALL_BY_QUICK_SAVE)):this._yesNoChoiceCallInfo===N.CALL_BY_RESTART_GAME?(U(F[P.RESTART_GAME]).classList.remove(`onpress`),this._stopUpdateByLoadFlag=!0,this._loadType=oe.RESTART_GAME):this._yesNoChoiceCallInfo===N.CALL_BY_END_GAME?(window.history.back(-1),U(F[P.GOTO_WWA]).classList.remove(`onpress`)):this._yesNoChoiceCallInfo===N.CALL_BY_GOTO_WWA?(location.href=Ve(R.WWA_HOME),U(F[P.GOTO_WWA]).classList.remove(`onpress`)):this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_LOAD?(U(F[P.QUICK_LOAD]).classList.remove(`onpress`),this._player.setPasswordWindowWating(),this._passwordWindow.show(Cr.LOAD)):this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_SAVE?(U(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._player.setPasswordWindowWating(),this._passwordWindow.password=this._quickSave(N.CALL_BY_PASSWORD_SAVE),this._passwordWindow.show(Cr.SAVE)):this._yesNoChoiceCallInfo===N.CALL_BY_SUSPEND&&(U(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._quickSave(N.CALL_BY_SUSPEND));this._yesNoJudge=k.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=N.NONE,this._messageWindow.setYesNoChoice(!1)}else if(this._yesNoJudge===k.NO){if(this._yesNoChoiceCallInfo===N.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],R.MAP_URLGATE;else if(this._yesNoChoiceCallInfo===N.CALL_BY_OBJECT_PARTS)e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][R.ATR_TYPE],e===R.OBJECT_BUY||e===R.OBJECT_SELL||(e===R.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,A.CHOICE_NO,this._yesNoChoicePartsID):R.OBJECT_URLGATE);else if(this._yesNoChoiceCallInfo===N.CALL_BY_ITEM_USE)U(`item`+(this._yesNoUseItemPos-1)).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===N.CALL_BY_LOG_QUICK_LOAD)switch(this._messageWindow.deleteSaveDom(),this._yesNoChoiceCallInfo=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._yesNoChoiceCallInfo){case N.NONE:U(F[P.QUICK_LOAD]).classList.remove(`onpress`);break;case N.CALL_BY_PASSWORD_LOAD:this._yesNoJudge=k.UNSELECTED,this.onpasswordloadcalled();return;case N.CALL_BY_LOG_QUICK_LOAD:this._wwaSave.selectLogSaveDataList(),this._messageWindow.createSaveDom();var n=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword);switch(this._yesNoJudge=k.UNSELECTED,n){case N.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(`読み込むオートセーブを選んでください。
122
122
  →Noでデータ復帰用パスワードの
123
123
   入力選択ができます。`,!0);break;case N.NONE:this.registerSystemMessagePage(`読み込むオートセーブを選んでください。`,!0);break}return}else if(this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_SAVE)if(this._messageWindow.deleteSaveDom(),this._usePassword||this._useSuspend){this._yesNoJudge=k.UNSELECTED,this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled();return}else U(F[P.QUICK_SAVE]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_RESTART_GAME)U(F[P.RESTART_GAME]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_END_GAME)U(F[P.GOTO_WWA]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_GOTO_WWA)U(F[P.GOTO_WWA]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_LOAD)U(F[P.QUICK_LOAD]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_SAVE)U(F[P.QUICK_SAVE]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_SUSPEND)if(this._usePassword){this._yesNoJudge=k.UNSELECTED,this.onpasswordsavecalled();return}else U(F[P.QUICK_SAVE]).classList.remove(`onpress`);this._yesNoJudge=k.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=N.NONE,this._messageWindow.setYesNoChoice(!1)}}}_dispatchWindowClosedTimeRequests(){if(this._windowCloseWaitingJumpGateRequest&&this.forcedJumpGate(this._windowCloseWaitingJumpGateRequest.x,this._windowCloseWaitingJumpGateRequest.y),this._windowCloseWaitingMessageDisplayRequests.length>0){let e=this._windowCloseWaitingMessageDisplayRequests.shift();return this.registerPageByMessage(e.message,{additionalItems:e.additionalItems}),{newPageGenerated:!0}}return{newPageGenerated:!1}}_dispatchPlayerAndObjectsStopTimeRequests(){this._playerAndObjectsStopWaitingGameSpeedChangeRequest&&=(this.setPlayerSpeedIndex(this._playerAndObjectsStopWaitingGameSpeedChangeRequest.speedIndex),void 0),this._playerAndObjectsStopWaitingMessageDisplayRequests.length>0&&(this.registerPageByMessage(this._playerAndObjectsStopWaitingMessageDisplayRequests.map(e=>e.message).join(`<p>`),{additionalItems:this._playerAndObjectsStopWaitingMessageDisplayRequests.map(e=>e.additionalItems).flat()}),this._playerAndObjectsStopWaitingMessageDisplayRequests=[])}_clearAllRequests(){this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingJumpGateRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[]}reserveMessageDisplayWhenShouldOpen(e){this._player.isWaitingMessageOrManualPause()||this._player.isFighting()||this._player.isWaitingPasswordWindow()||this._player.isWaitingEstimateWindow()?this._windowCloseWaitingMessageDisplayRequests.push(e):this._player.isMoving()||this._player.isWaitingMoveMacro()?this._playerAndObjectsStopWaitingMessageDisplayRequests.push(e):this.registerPageByMessage(e.message,{additionalItems:e.additionalItems})}handleMsgFunction(e){this._pageExecuting?this._windowCloseWaitingMessageDisplayRequests.push(e):this.reserveMessageDisplayWhenShouldOpen(e)}registerSystemMessagePage(e,t=!1){this.registerPageByMessage(e,{showChoice:t,isSystemMessage:!0})}registerSystemMessagePageByKey(e){let t=this.resolveSystemMessage(e);t!==`BLANK`&&this.registerPageByMessage(t,{isSystemMessage:!0})}_createSimpleMessage(e,t){return new nr(e,()=>this.generateTokenValues(t),(e,t)=>this._execEvalString(e,t))}registerPageByMessage(e,{showChoice:t=!1,isSystemMessage:n=!1,triggerParts:r={id:0,type:j.OBJECT,position:new S(0,0)},scoreOption:i=void 0,additionalItems:a=[]}={}){let o=pr(e,{triggerParts:r,isSystemMessage:n,showChoice:t,scoreOption:i,additionalItems:a},e=>$n(this,r,e),(e,t)=>this._execEvalString(e,t),e=>this.generateTokenValues(e));this._pages=this._pages.concat(o),this._shouldSetNextPage=!0}appearParts({pos:e,triggerType:t,triggerPartsId:n}){var r,i=t===A.CHOICE_NO?R.APPERANCE_PARTS_MIN_INDEX_NO:R.APPERANCE_PARTS_MIN_INDEX,a=t===A.CHOICE_YES?R.APPERANCE_PARTS_MAX_INDEX_YES:R.APPERANCE_PARTS_MAX_INDEX,o,s,c,l,u;for(t===A.MAP?(n=n===0?this._wwaData.map[e.y][e.x]:n,r=j.MAP):(n=n===0?this._wwaData.mapObject[e.y][e.x]:n,r=j.OBJECT),u=i;u<=a;u++){var d=R.ATR_APPERANCE_BASE+u*R.REL_ATR_APPERANCE_UNIT_LENGTH,f=d+R.REL_ATR_APPERANCE_ID,p=d+R.REL_ATR_APPERANCE_X,m=d+R.REL_ATR_APPERANCE_Y,h=d+R.REL_ATR_APPERANCE_TYPE;if(o=r===j.MAP?this._wwaData.mapAttribute[n][f]:this._wwaData.objectAttribute[n][f],s=r===j.MAP?this._wwaData.mapAttribute[n][h]:this._wwaData.objectAttribute[n][h],c=r===j.MAP?this._wwaData.mapAttribute[n][p]:this._wwaData.objectAttribute[n][p],l=r===j.MAP?this._wwaData.mapAttribute[n][m]:this._wwaData.objectAttribute[n][m],c===R.PLAYER_COORD?(c=this._player.getPosition().getPartsCoord().x,this._player.resetEventExecutionInfo()):c>R.RELATIVE_COORD_LOWER&&(c=e.x+c-R.RELATIVE_COORD_BIAS),l===R.PLAYER_COORD?(l=this._player.getPosition().getPartsCoord().y,this._player.resetEventExecutionInfo()):l>R.RELATIVE_COORD_LOWER&&(l=e.y+l-R.RELATIVE_COORD_BIAS),!(c===0&&l===0))try{if(new C(this,c,l,0,0),s===j.MAP){if(o>=this._wwaData.mapPartsMax)throw Error(`背景パーツの範囲外IDが指定されました`);var g=new S(c,l);this.setPartsOnPosition(j.MAP,o,g)}else{if(o>=this._wwaData.objPartsMax)throw Error(`物体パーツの範囲外IDが指定されました`);var g=new S(c,l);this.setPartsOnPosition(j.OBJECT,o,g),this._replaceRandomObject(new S(c,l)),c===this._player.getPosition().getPartsCoord().x&&l===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch{}}}reserveAppearPartsInNextFrame(e,t,n=0){this._reservedPartsAppearances.push({pos:e,triggerType:t,triggerPartsId:n})}reserveJumpInNextFrame(e){this._reservedJumpDestination=e}appearPartsByDirection(e,t,n){var r=this._player.getPosition().getPartsCoord(),i=this._player.getDir(),a=D[i],o=O[i];this.appearPartsEval(r,(a>=0?`+`:`-`)+Math.abs(a)*e,(o>=0?`+`:`-`)+Math.abs(o)*e,t,n)}appearPartsEval(e,t,n,r,i){var a,o,s=this._player.getPosition().getPartsCoord();if(t===`P`||t===`p`)a=s.x;else if(t[0]===`+`)a=e.x+parseInt(t.substr(1));else if(t[0]===`-`)a=e.x-parseInt(t.substr(1));else if(a=parseInt(t),isNaN(a))throw Error(`座標として解釈できない文字が含まれています。`);if(n===`P`||n===`p`)o=s.y;else if(n[0]===`+`)o=e.y+parseInt(n.substr(1));else if(n[0]===`-`)o=e.y-parseInt(n.substr(1));else if(o=parseInt(n),isNaN(o))throw Error(`座標として解釈できない文字が含まれています。`);try{if(new C(this,a,o,0,0),i===j.MAP){if(r>=this._wwaData.mapPartsMax)throw Error(`背景パーツの範囲外IDが指定されました`);var c=new S(a,o);this.setPartsOnPosition(j.MAP,r,c)}else{if(r>=this._wwaData.objPartsMax)throw Error(`物体パーツの範囲外IDが指定されました`);var c=new S(a,o);this.setPartsOnPosition(j.OBJECT,r,c),this._replaceRandomObject(new S(a,o)),a===this._player.getPosition().getPartsCoord().x&&o===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch{}}getPartsID(e,t){if(e.x<0||e.y<0)throw Error(`想定外の座標が指定されました`);return t===j.MAP?this._wwaData.map[e.y][e.x]:this._wwaData.mapObject[e.y][e.x]}_replaceRandomObject(e){var t=this._wwaData.mapObject[e.y][e.x],n=this._wwaData.objectAttribute[t][R.ATR_TYPE],r,i;if(n===R.OBJECT_RANDOM){for(var a=0;a<R.RANDOM_ITERATION_MAX;a++){if(i=Math.floor(Math.random()*10),r=this._wwaData.objectAttribute[t][R.ATR_RANDOM_BASE+i],r>=this._wwaData.objPartsMax){r=0;break}if(this._wwaData.objectAttribute[r][R.ATR_TYPE]!==R.OBJECT_RANDOM)break;t=r}this.setPartsOnPosition(j.OBJECT,r,e)}}_replaceRandomObjectsInScreen(){for(var e=this._camera.getPosition().getPartsCoord(),t=Math.max(0,e.x-1),n=Math.min(this._wwaData.mapWidth-1,e.x+R.H_PARTS_NUM_IN_WINDOW),r=Math.max(0,e.y-1),i=Math.min(this._wwaData.mapWidth-1,e.y+R.V_PARTS_NUM_IN_WINDOW),a=t;a<=n;a++)for(var o=r;o<=i;o++)this._replaceRandomObject(new S(a,o))}_replaceAllRandomObjects(){for(var e=0;e<this._wwaData.mapWidth;e++)for(var t=0;t<this._wwaData.mapWidth;t++)this._replaceRandomObject(new S(e,t))}gameover(){var e=this._wwaData.gameoverX,t=this._wwaData.gameoverY;this._yesNoJudge=k.UNSELECTED,this._pages=[],this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=N.NONE,this._player.clearWaitingMessageOrManualPause(),this._messageWindow.clear(),this._messageWindow.setYesNoChoice(!1),this._waitFrame=0,this._temporaryInputDisable=!0,this._shouldSetNextPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._clearAllRequests(),this._player.jumpTo(new C(this,e,t,0,0));let n=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GAMEOVER;n&&this.evalCalcWwaNodeGenerator.evalWwaNode(n)}setYesNoInput(e){this._yesNoJudgeInNextFrame=e}getYesNoState(){return this._yesNoJudgeInNextFrame===void 0?this._yesNoJudge:this._yesNoJudgeInNextFrame}setStatusChangedEffect(e){this._wwaData.isItemEffectEnabled&&(e.strength!==0&&(U(`disp-strength`).classList.add(`onpress`),this._statusPressCounter.strength=R.STATUS_CHANGED_EFFECT_FRAME_NUM),e.defence!==0&&(U(`disp-defence`).classList.add(`onpress`),this._statusPressCounter.defence=R.STATUS_CHANGED_EFFECT_FRAME_NUM),e instanceof x&&(e.energy!==0&&(U(`disp-energy`).classList.add(`onpress`),this._statusPressCounter.energy=R.STATUS_CHANGED_EFFECT_FRAME_NUM),e.gold!==0&&(U(`disp-gold`).classList.add(`onpress`),this._statusPressCounter.gold=R.STATUS_CHANGED_EFFECT_FRAME_NUM)))}setPartsOnPosition(e,t,n){var r,i,a=n.y<<Ce.BITSHIFT|n.x;e===j.MAP?(r=this._wwaData.map[n.y][n.x],t=this.loadMapPartsID(t),r=this.loadMapPartsID(r),this._wwaData.map[n.y][n.x]=t,i=this._mapIDTable[r].indexOf(a),i!==-1&&this._mapIDTable[r].splice(i,1),i=this._mapIDTable[t].indexOf(a),i===-1&&this._mapIDTable[t].push(a)):(r=this._wwaData.mapObject[n.y][n.x],t=this.loadMapPartsObjectID(t),r=this.loadMapPartsObjectID(r),this._wwaData.mapObject[n.y][n.x]=t,i=this._mapObjectIDTable[r].indexOf(a),i!==-1&&this._mapObjectIDTable[r].splice(i,1),i=this._mapObjectIDTable[t].indexOf(a),i===-1&&this._mapObjectIDTable[t].push(a))}_countSamePartsLength(e,t){var n;for(n=t+1;n<e.length&&e[n]===e[n-1];n++);return n-t}_compressMap(e){for(var t=[],n=0;n<e.length;n++){t[n]=[];for(var r=0;r<e[n].length;){var i=this._countSamePartsLength(e[n],r);t[n].push([e[n][r],i]),r+=i}}return t}_decompressMap(e){for(var t=[],n=0;n<e.length;n++){t[n]=[];for(var r=0;r<e[n].length;r++)for(var i=e[n][r][1],a=0;a<i;a++)t[n].push(e[n][r][0])}return t}_generateMapDataHash(e){var t=`A`,n=0,r=0,i=0;for(i=0;i<e.map.length;i++){for(r=0;r<e.map[i].length;)n=this._countSamePartsLength(e.map[i],r),t+=e.map[i][r]+`|`+n+`/`,r+=n;for(r=0;r<e.mapObject[i].length;)n=this._countSamePartsLength(e.mapObject[i],r),t+=e.mapObject[i][r]+`|`+n+`/`,r+=n}for(var a=0;a<e.mapAttribute.length;a++)for(var o=0;o<e.mapAttribute[a].length;o++)t+=e.mapAttribute[a][o]+`/`;for(var s=0;s<e.objectAttribute.length;s++)for(var c=0;c<e.objectAttribute[s].length;c++)t+=e.objectAttribute[s][c]+`/`;return t+=`Z`,_i(t)}_generateSaveDataHash(e){var t=this._generateMapDataHash(e),n=[];for(var r in e)r===`map`||r===`mapObject`||r===`mapCompressed`||r===`mapObjectCompressed`||r===`mapAttribute`||r===`objectAttribute`||r===`checkString`||n.push(r);n.sort();for(var i=0;i<n.length;i++)t+=He(e[n[i]]);return _i(t)}compressSystem(){return Li}_quickSave(e){let t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_SAVE;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t);var n=structuredClone(this._wwaData),r=this._player.getPosition().getPartsCoord(),i=this._player.getStatusWithoutEquipments();switch(n.itemBox=this._player.getCopyOfItemBox(),n.playerX=r.x,n.playerY=r.y,n.statusEnergyMax=this._player.getEnergyMax(),n.statusEnergy=i.energy,n.statusStrength=i.strength,n.statusDefence=i.defence,n.statusGold=i.gold,n.moves=this._player.getMoveCount(),n.frameCount=this._player.getFrameCount(),n.gameSpeedIndex=this._player.getSpeedIndex(),n.playTime=this._playTimeCalculator?.calculateTimeMs()??0,n.userVar=this._userVar.numbered.slice(),n.userNamedVar=structuredClone(this._userVar.named),e){case N.CALL_BY_LOG_QUICK_SAVE:case N.CALL_BY_QUICK_SAVE:case N.CALL_BY_SUSPEND:break;case N.CALL_BY_PASSWORD_SAVE:n.checkOriginalMapString=this.checkOriginalMapString,n.checkString=this._generateSaveDataHash(n);break}switch(n.message=void 0,n.mapAttribute=void 0,n.objectAttribute=void 0,e){case N.CALL_BY_QUICK_SAVE:return this._messageWindow.save(this._cvs,n),this.wwaCustomEvent(`wwa_quicksave`,{data:n}),``;case N.CALL_BY_PASSWORD_SAVE:let e=Li.compress(n,{isPassword:!0});e.isCompress=1;let t=JSON.stringify(e);return this.wwaCustomEvent(`wwa_passwordsave`,{data:n,compress:e}),mi(t,this._wwaData.worldPassNumber);case N.CALL_BY_SUSPEND:this.wwaCustomEvent(`wwa_suspend`,{data:n,compress:Li.compress(n)});break;case N.CALL_BY_LOG_QUICK_SAVE:this.wwaCustomEvent(`wwa_autosave`,{data:n}),this._wwaSave.autoSave(this._cvs,n);break}}wwaCustomEvent(e,t={}){this.wwaCustomEventEmitter.dispatch(e,t)}_decodePassword(e){let t=``,n;try{t=gi(e,this._wwaData.worldPassNumber)}catch(e){n=e}if(!t){console.warn(`新方式でのパスワード暗号化解除失敗:`,n);try{t=hi(e,this._wwaData.worldPassNumber,this.checkOriginalMapString)}catch(e){n=e}}if(!t){console.warn(`旧方式でのパスワード暗号化解除失敗:`,n);let e=n&&n.message?n.message:``;throw Error(`パスワード取得時からワールド制作者によってマップの暗証番号が変更されたか、
124
124
  パスワードが壊れているために正常にセーブデータが復元できませんでした。
@@ -150,7 +150,7 @@ JSON PARSE FAILED`)}if(r.isCompress){delete r.isCompress;let[e,t]=Li.decompress(
150
150
  ZR:一時保存データの読み込み
151
151
  +: 移動速度を上げる
152
152
  -: 移動速度を落とす
153
-  WWA Wing バージョン:4.0.5
153
+  WWA Wing バージョン:4.0.6
154
154
   マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;case ne.PLAY_STATION:e=` 【操作方法】
155
155
  〇:Yes,戦闘結果予測の表示
156
156
  ×:No
@@ -163,7 +163,7 @@ OPTIONS: 移動速度を上げる
163
163
  SHARE: 移動速度を落とす
164
164
    現在の移動回数:`+this._player.getMoveCount()+`
165
165
  `+(t?`  プレイ時間:`+t+`
166
- `:``)+` WWA Wing バージョン:4.0.5
166
+ `:``)+` WWA Wing バージョン:4.0.6
167
167
   マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;case ne.XBOX:e=` 【操作方法】
168
168
  B:Yes,戦闘結果予測の表示
169
169
  A:No
@@ -176,7 +176,7 @@ MENU: 移動速度を上げる
176
176
  WINDOW: 移動速度を落とす
177
177
    現在の移動回数:`+this._player.getMoveCount()+`
178
178
  `+(t?`  プレイ時間:`+t+`
179
- `:``)+` WWA Wing バージョン:4.0.5
179
+ `:``)+` WWA Wing バージョン:4.0.6
180
180
   マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;default:return}break;case re.SP:return;case re.VR:return;case re.PC:e=` 【操作方法】
181
181
  F1、M:戦闘結果予測の表示
182
182
  F3:復帰用パスワード入力
@@ -193,7 +193,7 @@ WINDOW: 移動速度を落とす
193
193
  F2、P: 移動速度を上げる
194
194
    現在の移動回数:`+this._player.getMoveCount()+`
195
195
  `+(t?`  プレイ時間:`+t+`
196
- `:``)+` WWA Wing バージョン:4.0.5
196
+ `:``)+` WWA Wing バージョン:4.0.6
197
197
   マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;default:return}e&&this.registerSystemMessagePage(e)}}_setNextPage(){if(this._clearFacesInNextFrame=!0,this._scoreWindow.isVisible()&&this._scoreWindow.hide(),this._isLastPage&&this._reservedMoveMacroTurn!==void 0&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0),this._pages.length===0){let{newPageGenerated:e}=this._hideMessageWindow();e||(this.clearFaces(),this._dispatchWindowClosedTimeRequests())}else this._shouldSetNextPage=!0;this._inlineUserVarViewer&&(this._inlineUserVarViewer.isVisible=!1)}_hideMessageWindow(){let e=this._player.isReadyToUseItem()?this._player.useItem():0,t=this.getObjectAttributeById(e,R.ATR_STRING);return t===0?(this._messageWindow.isVisible()&&(this._player.setDelayFrame(),this._messageWindow.hide(),this._keyStore.allClear(),this._mouseStore.clear()),this._player.isManualPause()||this._player.clearWaitingMessageOrManualPause(),{newPageGenerated:!1}):(this.registerPageByMessage(this.getMessageById(t),{triggerParts:{id:e,type:j.OBJECT,position:this._player.getPosition().getPartsCoord()}}),{newPageGenerated:this._pages.length!==0})}getPlayerPositon(){return this._player.getPosition()}loadMapPartsObjectID(e){return e|=0,e<0||e>=this._wwaData.objPartsMax?0:e}loadMapPartsID(e){return e|=0,e<0||e>=this._wwaData.mapPartsMax?0:e}replaceParts(e,t,n=j.OBJECT,r=!1){var i=this._camera.getPosition().getPartsCoord(),a=r?Math.max(0,i.x):0,o=r?Math.min(this._wwaData.mapWidth-1,i.x+R.H_PARTS_NUM_IN_WINDOW-1):this._wwaData.mapWidth-1,s=r?Math.max(0,i.y):0,c=r?Math.min(this._wwaData.mapWidth-1,i.y+R.V_PARTS_NUM_IN_WINDOW)-1:this._wwaData.mapWidth-1;r=a!==0||o!==this._wwaData.mapWidth-1||s!==0||c!==this._wwaData.mapWidth-1;var l,u,d,f,p,m,h,g;if(n===j.OBJECT)if(e=this.loadMapPartsObjectID(e),t=this.loadMapPartsObjectID(t),f=this._mapObjectIDTable[e].concat(),h=this._mapObjectIDTable[e],h.length=0,g=this._mapObjectIDTable[t],u=f.length,r)for(d=0;d<u;d++)l=f[d],p=l&Ce.BITMASK,m=l>>>Ce.BITSHIFT&Ce.BITMASK,a<=p&&p<=o&&s<=m&&m<=c?(this._wwaData.mapObject[m][p]=t,g.push(l)):h.push(l);else{for(d=0;d<u;d++)l=f[d],p=l&Ce.BITMASK,m=l>>>Ce.BITSHIFT&Ce.BITMASK,this._wwaData.mapObject[m][p]=t;Array.prototype.push.apply(g,f)}else if(e=this.loadMapPartsID(e),t=this.loadMapPartsID(t),f=this._mapIDTable[e].concat(),h=this._mapIDTable[e],h.length=0,g=this._mapIDTable[t],u=f.length,r)for(d=0;d<u;d++)l=f[d],p=l&Ce.BITMASK,m=l>>>Ce.BITSHIFT&Ce.BITMASK,a<=p&&p<=o&&s<=m&&m<=c?(this._wwaData.map[m][p]=t,g.push(l)):h.push(l);else{for(d=0;d<u;d++)l=f[d],p=l&Ce.BITMASK,m=l>>>Ce.BITSHIFT&Ce.BITMASK,this._wwaData.map[m][p]=t;Array.prototype.push.apply(g,f)}}getYesNoImgCoord(){return new S(this._wwaData.yesnoImgPosX,this._wwaData.yesnoImgPosY)}setYesNoImgCoord(e){return this._wwaData.yesnoImgPosX=e.x,this._wwaData.yesnoImgPosY=e.y,e}getPlayerImgCoord(){return new S(this._wwaData.playerImgPosX,this._wwaData.playerImgPosY)}setPlayerImgCoord(e){return this._wwaData.playerImgPosX=e.x,this._wwaData.playerImgPosY=e.y,e}setPlayerEnergyMax(e){return this._player.setEnergyMax(this.toValidStatusValue(e))}getMapPartsNum(){return this._wwaData.mapPartsMax}getObjectPartsNum(){return this._wwaData.objPartsMax}setMoveMacroWaitingToPlayer(e){this._reservedMoveMacroTurn=e}disableSave(e){return this._wwaData.disableSaveFlag=e,this._wwaSave.quickSaveButtonUpdate(this._wwaData),e}isOldMap(){return this._wwaData.isOldMap}setOldMap(e){return this._wwaData.isOldMap=e}setObjectNotCollapseOnPartsOnPlayer(e){return this._wwaData.objectNoCollapseDefaultFlag=e}setGameOverPosition(e){if(e.x<0||e.x>=this.getMapWidth()||e.y<0||e.y>=this.getMapWidth())throw Error(`マップの範囲外が指定されています!`);return this._wwaData.gameoverX=e.x,this._wwaData.gameoverY=e.y,e}getGemeOverPosition(){return new S(this._wwaData.gameoverX,this._wwaData.gameoverY)}toValidStatusValue(e){return this.isNotNumberTypeOrNaN(e)||e<0?0:Math.floor(e)}setPlayerStatus(e,t,n){if(e===ue.ENERGY){if(this._player.setEnergy(this.toValidStatusValue(t)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:n}))return this.gameover(),{isGameOver:!0}}else if(e===ue.STRENGTH)this._player.setStrength(this.toValidStatusValue(t));else if(e===ue.DEFENCE)this._player.setDefence(this.toValidStatusValue(t));else if(e===ue.GOLD)this._player.setGold(this.toValidStatusValue(t));else if(e===ue.MOVES)this._player.setMoveCount(this.toValidStatusValue(t));else throw Error(`未定義のステータスタイプです`);return{}}setDelPlayer(e){return this._wwaData.delPlayerFlag=e}setPlayerGetItem(e,t){try{this._player.addItem(t,e,!0)}catch{}}setStatusIconCoord(e,t){let n=t.x*R.CHIP_SIZE,r=t.y*R.CHIP_SIZE,i=e=>{let t=Re(`${e}>.status-icon`);t.style.backgroundPosition=`-${n}px -${r}px`};switch(e){case L.ENERGY:this._wwaData.imgStatusEnergyX=t.x,this._wwaData.imgStatusEnergyY=t.y,i(`#disp-energy`);break;case L.STRENGTH:this._wwaData.imgStatusStrengthX=t.x,this._wwaData.imgStatusStrengthY=t.y,i(`#disp-strength`);break;case L.DEFENCE:this._wwaData.imgStatusDefenceX=t.x,this._wwaData.imgStatusDefenceY=t.y,i(`#disp-defence`);break;case L.GOLD:this._wwaData.imgStatusGoldX=t.x,this._wwaData.imgStatusGoldY=t.y,i(`#disp-gold`);break;default:throw Error(`種別が不正です。`)}return t.clone()}setWideCellCoord(e){this._wwaData.imgWideCellX=e.x,this._wwaData.imgWideCellY=e.y;let t=e.x*R.CHIP_SIZE,n=e.y*R.CHIP_SIZE;return Array.prototype.forEach.call(ze(`div.wide-cell-row`),e=>{e.style.backgroundPosition=`-`+t+`px -`+n+`px`}),e.clone()}setFrameCoord(e){return this._wwaData.imgFrameX=e.x,this._wwaData.imgFrameY=e.y,this._cgManager.setFrameImage(e),e.clone()}setBattleEffectCoord(e){return this._battleEffectCoord=e.clone()}canInput(){return!this._temporaryInputDisable&&!this._cgManager.picture.isWaiting()}setEffect(e,t){this._wwaData.effectWaits=e,this._wwaData.effectCoords=t,this.updateEffect()}stopEffect(){this._wwaData.effectCoords=[],this.updateEffect()}updateEffect(){this._cgManager.updateEffects(this._wwaData.effectCoords)}updateAllPicturesCache(){this._cgManager.updateAllPicturesCache(this._isMainAnimation())}updatePicturesAnimation(){this._player.isPausing()||this._cgManager.updatePicturesAnimation(this._isMainAnimation())}setImgClick(e){if(this._wwaData.imgClickX=e.x,this._wwaData.imgClickY=e.y,e.equals(new S(0,0)))Array.prototype.forEach.call(ze(`.item-cell>.item-click-border`),e=>{e.style.backgroundImage=`url('`+R.ITEM_BORDER_IMG_DATA_URL+`')`,e.style.backgroundPosition=`0 0`});else{var t=this._wwaData.mapCGName.replace(`(`,`\\(`).replace(`)`,`\\)`);Array.prototype.forEach.call(ze(`.item-cell>.item-click-border`),n=>{n.style.backgroundImage=`url('`+t+`')`,n.style.backgroundPosition=`-`+e.x*R.CHIP_SIZE+`px -`+e.y*R.CHIP_SIZE+`px`})}}addFace(e){this._faces.push(e),this._messageWindow.setPositionByPlayerPosition(this._faces.length!==0,this._scoreWindow.isVisible(),!1,this._player.getPosition(),this._camera.getPosition())}clearFaces(){this._faces=[]}updateItemEffectEnabled(e){this._wwaData.isItemEffectEnabled=e}setOldMove(e){this._wwaData.isOldMove=e}setGameOverPolicy(e){switch(e){case 0:this._wwaData.gameOverPolicy=`default`;return;case 1:this._wwaData.gameOverPolicy=`never`;return;case 2:this._wwaData.gameOverPolicy=`except-macro`;return;default:return}}setBgmDelay(e){this._wwaData.bgmDelayDurationMs=e}setPictureRegistry(e,t,n,r,i){let a=n===j.OBJECT?this._wwaData.objectAttribute[t]:n===j.MAP?this._wwaData.mapAttribute[t]:null;if(a===null)throw Error(`対応していないパーツ番号です。`);let o=this.getMessageById(a[R.ATR_STRING]);if(!o)throw n===j.OBJECT?Error(`物体パーツ ${t} 番に対応したテキストが見つかりませんでした。`):Error(`背景パーツ ${t} 番に対応したテキストが見つかりませんでした。`);let s=this._returnEvalString(`(`+o+`)`),c=this._cgManager.picture.registerPictureFromRawRegistry({layerNumber:e,imgPosX:(a[R.ATR_X]??0)/R.CHIP_SIZE,imgPosX2:(a[R.ATR_X2]??0)/R.CHIP_SIZE,imgPosY:(a[R.ATR_Y]??0)/R.CHIP_SIZE,imgPosY2:(a[R.ATR_Y2]??0)/R.CHIP_SIZE,triggerPartsX:r.x,triggerPartsY:r.y,soundNumber:a[R.ATR_SOUND]??0,properties:d(s)},t,n,i);this._wwaData.pictureRegistry=c,this.updateAllPicturesCache()}setPictureRegistryFromRawText(e,t){let n=this._cgManager.picture.registerPictureFromRawText(e,t);this._wwaData.pictureRegistry=n,this.updateAllPicturesCache()}setPictureRegistryFromObject(e,t){let n=this._cgManager.picture.registerPictureFromObject(e,t);this._wwaData.pictureRegistry=n,this.updateAllPicturesCache()}deletePictureRegistry(e){let t=this._cgManager.picture.deletePicture(e);this._wwaData.pictureRegistry=t}clearAllPictures(){this._cgManager.picture.clearAllPictures(),this._wwaData.pictureRegistry=[]}initCSSRule(){this._styleElm=U(R.WWA_STYLE_TAG_ID),this._sheet=this._styleElm.sheet,this.updateCSSRule()}updateCSSRule(){if(this._stylePos===void 0)this._stylePos=[,,];else if(this._sheet.addRule!==void 0)for(var e=0;e<this._stylePos.length;e++)this._sheet.removeRule(this._stylePos[this._styleElm[e]]);else for(var e=0;e<this._stylePos.length;e++)this._sheet.deleteRule(this._stylePos[this._styleElm[e]]);let t=`div.wwa-message-window, div#wwa-text-message-window, div#wwa-battle-estimate, div#wwa-password-window`,n=this._isClassicModeEnable?1:.9,r=`
198
198
  background-color: rgba(${this._wwaData.frameColorR}, ${this._wwaData.frameColorG}, ${this._wwaData.frameColorB}, ${n});
199
199
  border-color: rgba(${this._wwaData.frameOutColorR}, ${this._wwaData.frameOutColorG}, ${this._wwaData.frameOutColorB}, 1);
@@ -206,10 +206,10 @@ font-weight: bold;
206
206
  `+e.message)}}_execEvalString(e,t){try{let n=this.convertWwaNodes(e);t&&this.evalCalcWwaNodeGenerator.setTriggerParts(t.id,t.type,t.position),this.evalCalcWwaNodeGenerator.evalWwaNodes(n),this.evalCalcWwaNodeGenerator.clearTemporaryState()}catch(e){console.error(e),this.registerSystemMessagePage(`解析中にエラーが発生しました :
207
207
  `+e.message)}}_returnEvalString(e){try{let t=$(Ms(`(`+e+`)`));return this.evalCalcWwaNodeGenerator.evalWwaNode(t)}catch(e){console.error(e),this.registerSystemMessagePage(`解析中にエラーが発生しました :
208
208
  `+e.message,!1)}}movePlayer(e){this._player.controll(e)}isPlayerWaitingMessage(){return this._player.isWaitingMessageOrManualPause()}isManualPause(){return this._player.isManualPause()}_loadSystemMessage(e){if(this._wwaData.customSystemMessages[e])return this._wwaData.customSystemMessages[e];let t=_[e];if(t.mapdataParams)switch(t.mapdataParams.messageArea){case`message`:{let e=this._wwaData.message[t.mapdataParams.index];return e===``?t.defaultText:e}case`systemMessage`:{let e=this._wwaData.systemMessage[t.mapdataParams.index];return e===``?t.defaultText:e}default:throw Error(`システムエラー: システムメッセージの設定がおかしいようです`)}return t.defaultText}resolveSystemMessage(e){let t=this._loadSystemMessage(e);switch(e){case g.ITEM_SELECT_TUTORIAL:return t.replaceAll(`%HOW_TO_USE_ITEM%`,(()=>{switch(this.userDevice.device){case re.PC:return`右のボックスを選択する`;case re.VR:return`右のボックスをクリックする`;case re.SP:return`右のボックスをタップする`;case re.GAME:switch(this.userDevice.os){case ne.NINTENDO:return`Xボタンを押すか、右のボックスをタップする`;case ne.PLAY_STATION:return`△ボタンを押す`;case ne.XBOX:return`Yボタンを押す`;default:return`右のボックスを選択する`}default:return`右のボックスを選択する`}})());case g.GAME_SPEED_CHANGED:{let e=this._player.getSpeedIndex();return t.replaceAll(`%GAME_SPEED_NAME%`,fe[e]).replaceAll(`%HIGH_SPEED_MESSAGE%`,this.isBattleSpeedIndexForQuickBattle(e)?`戦闘も速くなります。
209
- `:``).replaceAll(`%MAX_SPEED_INDEX%`,String(R.MAX_SPEED_INDEX+1)).replaceAll(`%GAME_SPEED_INDEX%`,String(e+1)).replaceAll(`%SPEED_UP_BUTTON%`,this.userDevice.os===ne.NINTENDO?`+ボタン`:`Pキー`).replaceAll(`%SPEED_DOWN_BUTTON%`,this.userDevice.os===ne.NINTENDO?`-ボタン`:`Iキー`)}default:return t}}overwriteSystemMessage(e,t){this._wwaData.customSystemMessages[e]=t}manualPause(e){this._player.setManualPause(e)}},Ac=!1;function jc(e,t){if(e===null)return;let n=document.createElement(`button`);n.classList.add(`wwa-virtualpad-toggle-button`),n.textContent=`仮想パッド表示切り替え`,n.addEventListener(`click`,t),e.appendChild(n)}function Mc(e){if(e===null)return;let t=document.createElement(`section`);t.setAttribute(`id`,`wwa-debug-console`);let n=document.createElement(`textarea`);n.setAttribute(`rows`,`10`),n.setAttribute(`cols`,`60`),n.textContent=`v["money"] = 100;
209
+ `:``).replaceAll(`%MAX_SPEED_INDEX%`,String(R.MAX_SPEED_INDEX+1)).replaceAll(`%GAME_SPEED_INDEX%`,String(e+1)).replaceAll(`%SPEED_UP_BUTTON%`,this.userDevice.os===ne.NINTENDO?`+ボタン`:`Pキー`).replaceAll(`%SPEED_DOWN_BUTTON%`,this.userDevice.os===ne.NINTENDO?`-ボタン`:`Iキー`)}default:return t}}overwriteSystemMessage(e,t){this._wwaData.customSystemMessages[e]=t}manualPause(e){this._player.setManualPause(e)}},_c=!1;function vc(e,t){if(e===null)return;let n=document.createElement(`button`);n.classList.add(`wwa-virtualpad-toggle-button`),n.textContent=`仮想パッド表示切り替え`,n.addEventListener(`click`,t),e.appendChild(n)}function yc(e){if(e===null)return;let t=document.createElement(`section`);t.setAttribute(`id`,`wwa-debug-console`);let n=document.createElement(`textarea`);n.setAttribute(`rows`,`10`),n.setAttribute(`cols`,`60`),n.textContent=`v["money"] = 100;
210
210
  v["name"] = "ヤツロウ";
211
211
  MSG(v["name"]+"「俺の所持金は"+v["money"]+"ゴールドだ」");
212
212
  for(LP[0]=0; LP[0]<2; LP[0]++) {
213
213
  LOG(LP);
214
- }`;let r=e=>e.stopPropagation();n.addEventListener(`keydown`,r),n.addEventListener(`keypress`,r),n.addEventListener(`keyup`,r),n.classList.add(`console-text-area`),t.appendChild(n);let i=document.createElement(`button`);return i.classList.add(`script-running-button`),i.textContent=`実行(X)`,t.appendChild(i),e.appendChild(t),t}function Nc(){if(navigator.userAgent.match(/(?:msie|trident)/i)||navigator.userAgent.match(/edge/i)){alert(`このゲームをプレイするには、Google Chrome や Mozilla Firefox などの最新のブラウザでこのページを開いてください。
215
- ご利用の環境のサポートは、既に終了しています。`);return}Array.prototype.forEach.call(ze(`a.wwa-copyright`),e=>{e.addEventListener(`click`,()=>{Ac=!0})}),window.addEventListener(`beforeunload`,e=>{var t=`このページを離れますか?`;if(Ac)return Ac=!1,e.returnValue=t,t});let e=U(`wwa-wrapper`).getAttribute(`data-wwa-title-img`),t=U(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-enable`),n=t!==null&&t.match(/^true$/i)!==null;kr(U(`wwa-wrapper`),e,n);var r=U(`wwa-wrapper`).getAttribute(`data-wwa-mapdata`),i=U(`wwa-wrapper`).getAttribute(`data-wwa-audio-dir`),a=U(`wwa-wrapper`).getAttribute(`data-wwa-var-dump-elm`),o=null,s=U(`wwa-wrapper`).getAttribute(`data-wwa-display-user-vars`)===`true`,c=U(`wwa-wrapper`).getAttribute(`data-wwa-user-var-names-file`);U(`wwa-wrapper`).hasAttribute(`data-wwa-var-dump-elm`)&&s&&(o=Tc(a));var l=!0;U(`wwa-wrapper`).getAttribute(`data-wwa-urlgate-enable`).match(/^false$/i)&&(l=!1);var u=U(`wwa-wrapper`).getAttribute(`data-wwa-classic-mode-enable`),d=!1;u!==null&&u.match(/^true$/i)&&(d=!0);var f=!0,p=U(`wwa-wrapper`).getAttribute(`data-wwa-item-effect-enable`);p!==null&&p.match(/^false$/i)&&(f=!1);let m=!1,h=U(`wwa-wrapper`).getAttribute(`data-wwa-use-go-to-wwa`);h!==null&&h.match(/^true$/i)&&(m=!0);let g=U(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-viewport-fit-enable`);Or()&&g!==null&&g.match(/^true$/i)&&(Ne(),window.addEventListener(`resize`,Pe));let _=U(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-controller-elm`),v=n&&_?Re(_):null,y=U(`wwa-wrapper`).getAttribute(`data-wwa-picture-image-names-file`),b=(()=>{let e=U(`wwa-wrapper`).getAttribute(`data-wwa-disallow-load-old-save`);return!!(e!==null&&e.match(/^true$/i))})(),x=U(`wwa-wrapper`).getAttribute(`data-wwa-user-defined-scripts-file`);Dc=new kc({mapdata:r,urlGateEnable:l,titleImg:e??void 0,audioDir:i,classicModeEnable:d,itemEffectEnable:f,useGoToWwa:m,disallowLoadOldSave:b,varDumpElm:o,userVarNamesFile:c,displayUserVars:s,virtualPadEnable:n,virtualPadControllerElm:v,userDefinedScriptsFile:x,pictureImageNamesFile:y})}return document.readyState===`complete`?setTimeout(Nc):window.addEventListener(`load`,function(){setTimeout(Nc)}),e.WWA=kc,e.getProgress=Oc,e})({});
214
+ }`;let r=e=>e.stopPropagation();n.addEventListener(`keydown`,r),n.addEventListener(`keypress`,r),n.addEventListener(`keyup`,r),n.classList.add(`console-text-area`),t.appendChild(n);let i=document.createElement(`button`);return i.classList.add(`script-running-button`),i.textContent=`実行(X)`,t.appendChild(i),e.appendChild(t),t}function bc(){if(navigator.userAgent.match(/(?:msie|trident)/i)||navigator.userAgent.match(/edge/i)){alert(`このゲームをプレイするには、Google Chrome や Mozilla Firefox などの最新のブラウザでこのページを開いてください。
215
+ ご利用の環境のサポートは、既に終了しています。`);return}Array.prototype.forEach.call(ze(`a.wwa-copyright`),e=>{e.addEventListener(`click`,()=>{_c=!0})}),window.addEventListener(`beforeunload`,e=>{var t=`このページを離れますか?`;if(_c)return _c=!1,e.returnValue=t,t});let e=U(`wwa-wrapper`).getAttribute(`data-wwa-title-img`),t=U(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-enable`),n=t!==null&&t.match(/^true$/i)!==null;kr(U(`wwa-wrapper`),e,n);var r=U(`wwa-wrapper`).getAttribute(`data-wwa-mapdata`),i=U(`wwa-wrapper`).getAttribute(`data-wwa-audio-dir`),a=U(`wwa-wrapper`).getAttribute(`data-wwa-var-dump-elm`);let o=null;var s=U(`wwa-wrapper`).getAttribute(`data-wwa-display-user-vars`)===`true`,c=U(`wwa-wrapper`).getAttribute(`data-wwa-user-var-names-file`);U(`wwa-wrapper`).hasAttribute(`data-wwa-var-dump-elm`)&&s&&(o=fc(a));var l=!0;U(`wwa-wrapper`).getAttribute(`data-wwa-urlgate-enable`).match(/^false$/i)&&(l=!1);var u=U(`wwa-wrapper`).getAttribute(`data-wwa-classic-mode-enable`),d=!1;u!==null&&u.match(/^true$/i)&&(d=!0);var f=!0,p=U(`wwa-wrapper`).getAttribute(`data-wwa-item-effect-enable`);p!==null&&p.match(/^false$/i)&&(f=!1);let m=!1,h=U(`wwa-wrapper`).getAttribute(`data-wwa-use-go-to-wwa`);h!==null&&h.match(/^true$/i)&&(m=!0);let g=U(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-viewport-fit-enable`);Or()&&g!==null&&g.match(/^true$/i)&&(Ne(),window.addEventListener(`resize`,Pe));let _=U(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-controller-elm`),v=n&&_?Re(_):null,y=U(`wwa-wrapper`).getAttribute(`data-wwa-picture-image-names-file`),b=(()=>{let e=U(`wwa-wrapper`).getAttribute(`data-wwa-disallow-load-old-save`);return!!(e!==null&&e.match(/^true$/i))})(),x=U(`wwa-wrapper`).getAttribute(`data-wwa-user-defined-scripts-file`);mc=new gc({mapdata:r,urlGateEnable:l,titleImg:e??void 0,audioDir:i,classicModeEnable:d,itemEffectEnable:f,useGoToWwa:m,disallowLoadOldSave:b,varDump:o,userVarNamesFile:c,displayUserVars:s,virtualPadEnable:n,virtualPadControllerElm:v,userDefinedScriptsFile:x,pictureImageNamesFile:y})}return document.readyState===`complete`?setTimeout(bc):window.addEventListener(`load`,function(){setTimeout(bc)}),e.WWA=gc,e.getProgress=hc,e})({});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wwawing/engine",
3
- "version": "4.0.5",
3
+ "version": "4.0.6",
4
4
  "description": "World Wide Adventure: an RPG Engine.",
5
5
  "main": "./lib/wwa.js",
6
6
  "files": [
@@ -49,15 +49,15 @@
49
49
  "@types/crypto-js": "^4.1.1",
50
50
  "@types/jest": "^30.0.0",
51
51
  "@types/pug": "^2.0.6",
52
- "@wwawing/assets": "^4.0.5",
53
- "@wwawing/common-interface": "^4.0.5",
54
- "@wwawing/debug-server": "^4.0.5",
55
- "@wwawing/event-emitter": "^4.0.5",
56
- "@wwawing/loader": "^4.0.5",
57
- "@wwawing/page-generator": "^4.0.5",
58
- "@wwawing/styles": "^4.0.5",
59
- "@wwawing/util": "^4.0.5",
60
- "@wwawing/virtual-pad": "^4.0.5",
52
+ "@wwawing/assets": "^4.0.6",
53
+ "@wwawing/common-interface": "^4.0.6",
54
+ "@wwawing/debug-server": "^4.0.6",
55
+ "@wwawing/event-emitter": "^4.0.6",
56
+ "@wwawing/loader": "^4.0.6",
57
+ "@wwawing/page-generator": "^4.0.6",
58
+ "@wwawing/styles": "^4.0.6",
59
+ "@wwawing/util": "^4.0.6",
60
+ "@wwawing/virtual-pad": "^4.0.6",
61
61
  "crypto-js": "^4.1.1",
62
62
  "flatted": "^3.3.3",
63
63
  "jest": "^30.3.0",
@@ -79,5 +79,5 @@
79
79
  "node": ">=24",
80
80
  "npm": ">=11"
81
81
  },
82
- "gitHead": "a8975bdcff55b22bd200116a933172f147c40df9"
82
+ "gitHead": "40656ad0de8dc1f85eadfd91de79586c6f08bd41"
83
83
  }