narrat 3.10.0 โ†’ 3.10.1

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.
package/dist/narrat.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var Kp = Object.defineProperty;
2
2
  var Gp = (e, t, n) => t in e ? Kp(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var Ve = (e, t, n) => (Gp(e, typeof t != "symbol" ? t + "" : t, n), n);
4
- import { defineComponent as $e, openBlock as D, createBlock as Ce, Transition as Ni, withCtx as Ze, createElementVNode as U, normalizeClass as Ke, createElementBlock as J, createCommentVNode as Oe, renderSlot as Si, createTextVNode as kr, effectScope as Nc, ref as le, markRaw as Tr, hasInjectionContext as Wp, inject as zp, getCurrentInstance as Qp, toRaw as Fo, watch as Cn, reactive as Hr, isRef as xi, isReactive as Js, toRef as os, nextTick as ji, computed as V, unref as rt, getCurrentScope as Yp, onScopeDispose as Jp, toRefs as wl, normalizeStyle as Qe, toDisplayString as ye, onMounted as ft, createVNode as ct, onUnmounted as _t, withDirectives as nr, vModelText as Xr, Fragment as He, renderList as Je, onBeforeMount as xc, TransitionGroup as wi, Teleport as Xs, resolveDynamicComponent as Uo, resolveDirective as Xp, resolveComponent as Zr, useSlots as Zp, shallowRef as yi, createStaticVNode as em, normalizeProps as tm, mergeProps as jc, vModelCheckbox as nm, pushScopeId as rm, popScopeId as im, createApp as om } from "vue";
3
+ var qe = (e, t, n) => (Gp(e, typeof t != "symbol" ? t + "" : t, n), n);
4
+ import { defineComponent as $e, openBlock as D, createBlock as Ce, Transition as Ni, withCtx as Ze, createElementVNode as U, normalizeClass as Ke, createElementBlock as J, createCommentVNode as Oe, renderSlot as Si, createTextVNode as kr, effectScope as Nc, ref as le, markRaw as Tr, hasInjectionContext as Wp, inject as zp, getCurrentInstance as Qp, toRaw as Fo, watch as Cn, reactive as Hr, isRef as xi, isReactive as Js, toRef as os, nextTick as ji, computed as q, unref as rt, getCurrentScope as Yp, onScopeDispose as Jp, toRefs as wl, normalizeStyle as Qe, toDisplayString as ye, onMounted as ft, createVNode as ct, onUnmounted as _t, withDirectives as nr, vModelText as Xr, Fragment as He, renderList as Je, onBeforeMount as xc, TransitionGroup as wi, Teleport as Xs, resolveDynamicComponent as Uo, resolveDirective as Xp, resolveComponent as Zr, useSlots as Zp, shallowRef as yi, createStaticVNode as em, normalizeProps as tm, mergeProps as jc, vModelCheckbox as nm, pushScopeId as rm, popScopeId as im, createApp as om } from "vue";
5
5
  var Mn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
6
6
  function Zs(e) {
7
7
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
@@ -275,7 +275,7 @@ var Lc = { exports: {} };
275
275
  var se = this, ae = new se(X);
276
276
  return $(ae, G), ae;
277
277
  }
278
- function qe() {
278
+ function Ve() {
279
279
  throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");
280
280
  }
281
281
  function lt() {
@@ -283,7 +283,7 @@ var Lc = { exports: {} };
283
283
  }
284
284
  var ot = function() {
285
285
  function G(se) {
286
- this[Q] = je(), this._result = this._state = void 0, this._subscribers = [], X !== se && (typeof se != "function" && qe(), this instanceof G ? ne(this, se) : lt());
286
+ this[Q] = je(), this._result = this._state = void 0, this._subscribers = [], X !== se && (typeof se != "function" && Ve(), this instanceof G ? ne(this, se) : lt());
287
287
  }
288
288
  return G.prototype.catch = function(ae) {
289
289
  return this.then(null, ae);
@@ -332,8 +332,8 @@ var am = Lc.exports;
332
332
  am.polyfill();
333
333
  class ea {
334
334
  constructor() {
335
- Ve(this, "debug");
336
- Ve(this, "logger", {
335
+ qe(this, "debug");
336
+ qe(this, "logger", {
337
337
  log: () => {
338
338
  }
339
339
  });
@@ -589,9 +589,9 @@ function ss(e, t) {
589
589
  delete e[t];
590
590
  }
591
591
  function $m() {
592
- return Vc().__VUE_DEVTOOLS_GLOBAL_HOOK__;
592
+ return qc().__VUE_DEVTOOLS_GLOBAL_HOOK__;
593
593
  }
594
- function Vc() {
594
+ function qc() {
595
595
  return typeof navigator < "u" && typeof window < "u" ? window : typeof global < "u" ? global : {};
596
596
  }
597
597
  const Cm = typeof Proxy == "function", km = "devtools-plugin:setup", Om = "plugin:settings:set";
@@ -665,8 +665,8 @@ class Im {
665
665
  n.resolve(await this.target[n.method](...n.args));
666
666
  }
667
667
  }
668
- function qc(e, t) {
669
- const n = e, r = Vc(), i = $m(), s = Cm && n.enableEarlyProxy;
668
+ function Vc(e, t) {
669
+ const n = e, r = qc(), i = $m(), s = Cm && n.enableEarlyProxy;
670
670
  if (i && (r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !s))
671
671
  i.emit(km, e, t);
672
672
  else {
@@ -904,7 +904,7 @@ function Bm(e) {
904
904
  value: e[n]
905
905
  }))), t;
906
906
  }
907
- function Vm(e) {
907
+ function qm(e) {
908
908
  return e ? Array.isArray(e) ? e.reduce((t, n) => (t.keys.push(n.key), t.operations.push(n.type), t.oldValue[n.key] = n.oldValue, t.newValue[n.key] = n.newValue, t), {
909
909
  oldValue: {},
910
910
  keys: [],
@@ -917,7 +917,7 @@ function Vm(e) {
917
917
  newValue: e.newValue
918
918
  } : {};
919
919
  }
920
- function qm(e) {
920
+ function Vm(e) {
921
921
  switch (e) {
922
922
  case kn.direct:
923
923
  return "mutation";
@@ -932,7 +932,7 @@ function qm(e) {
932
932
  let Kr = !0;
933
933
  const po = [], hr = "pinia:mutations", xt = "pinia", { assign: Hm } = Object, _o = (e) => "๐Ÿ " + e;
934
934
  function Km(e, t) {
935
- qc({
935
+ Vc({
936
936
  id: "dev.esm.pinia",
937
937
  label: "Pinia ๐Ÿ",
938
938
  logo: "https://pinia.vuejs.org/logo.svg",
@@ -1065,7 +1065,7 @@ Only state can be modified.`);
1065
1065
  });
1066
1066
  }
1067
1067
  function Gm(e, t) {
1068
- po.includes(_o(t.$id)) || po.push(_o(t.$id)), qc({
1068
+ po.includes(_o(t.$id)) || po.push(_o(t.$id)), Vc({
1069
1069
  id: "dev.esm.pinia",
1070
1070
  label: "Pinia ๐Ÿ",
1071
1071
  logo: "https://pinia.vuejs.org/logo.svg",
@@ -1157,8 +1157,8 @@ function Gm(e, t) {
1157
1157
  return;
1158
1158
  const c = {
1159
1159
  time: r(),
1160
- title: qm(l),
1161
- data: Hm({ store: ln(t.$id) }, Vm(o)),
1160
+ title: Vm(l),
1161
+ data: Hm({ store: ln(t.$id) }, qm(o)),
1162
1162
  groupId: er
1163
1163
  };
1164
1164
  l === kn.patchFunction ? c.subtitle = "โคต๏ธ" : l === kn.patchObject ? c.subtitle = "๐Ÿงฉ" : o && !Array.isArray(o) && (c.subtitle = o.type), o && (c.data["rawEvent(s)"] = {
@@ -1301,7 +1301,7 @@ function Al(e, t, n, r) {
1301
1301
  // use ref() to unwrap refs inside state TODO: check if this is still necessary
1302
1302
  wl(le(i ? i() : {}).value)
1303
1303
  ) : wl(n.state.value[e]);
1304
- return en(m, s, Object.keys(o || {}).reduce((a, d) => (process.env.NODE_ENV !== "production" && d in m && console.warn(`[๐Ÿ]: A getter cannot have the same name as another state property. Rename one of them. Found with "${d}" in store "${e}".`), a[d] = Tr(V(() => {
1304
+ return en(m, s, Object.keys(o || {}).reduce((a, d) => (process.env.NODE_ENV !== "production" && d in m && console.warn(`[๐Ÿ]: A getter cannot have the same name as another state property. Rename one of them. Found with "${d}" in store "${e}".`), a[d] = Tr(q(() => {
1305
1305
  Li(n);
1306
1306
  const p = n._s.get(e);
1307
1307
  return o[d].call(p, p);
@@ -1460,7 +1460,7 @@ function Os(e, t, n = {}, r, i, s) {
1460
1460
  for (const z in te._hmrPayload.getters) {
1461
1461
  const Q = te._hmrPayload.getters[z], X = s ? (
1462
1462
  // special handling of options api
1463
- V(() => (Li(r), Q.call(P, P)))
1463
+ q(() => (Li(r), Q.call(P, P)))
1464
1464
  ) : Q;
1465
1465
  ro(P, z, X);
1466
1466
  }
@@ -1545,7 +1545,7 @@ const Ki = bt("tooltips", {
1545
1545
  state: () => ({ tooltip: null }),
1546
1546
  actions: {
1547
1547
  addCustomTooltip(e) {
1548
- e.title && (e.title = qn(e.title)), e.text = qn(e.text), this.tooltip = e;
1548
+ e.title && (e.title = Vn(e.title)), e.text = Vn(e.text), this.tooltip = e;
1549
1549
  },
1550
1550
  addTooltip(e, t) {
1551
1551
  const n = Lo(e);
@@ -1592,7 +1592,7 @@ function tu(e, t, n = "$") {
1592
1592
  return nu(e, i, n);
1593
1593
  });
1594
1594
  }
1595
- function qn(e) {
1595
+ function Vn(e) {
1596
1596
  const t = si(), n = tu(t, e, "$");
1597
1597
  return Xm(n);
1598
1598
  }
@@ -1628,7 +1628,7 @@ const Ye = bt("dialog", {
1628
1628
  ...e,
1629
1629
  interactive: e.interactive ?? !1,
1630
1630
  id: ei(),
1631
- text: qn(e.text)
1631
+ text: Vn(e.text)
1632
1632
  }), this.dialog.length > 200 && this.dialog.shift();
1633
1633
  },
1634
1634
  toggleAutoPlay() {
@@ -3078,13 +3078,13 @@ async function sh(e, t) {
3078
3078
  n.fade(n.volume(t), 0, r, t), await Kt(r), n.stop(t);
3079
3079
  }
3080
3080
  function ah(e, t) {
3081
- return e - t * Vi().options.extraPointsPerLevel;
3081
+ return e - t * qi().options.extraPointsPerLevel;
3082
3082
  }
3083
3083
  function lu(e, t) {
3084
- const { options: n } = Vi();
3084
+ const { options: n } = qi();
3085
3085
  let r = e;
3086
3086
  n.showDifficultyWithoutModifiers || (r = ah(e, t));
3087
- const i = Vi().options;
3087
+ const i = qi().options;
3088
3088
  let s = !1, o = 0, l = i.difficultyText[0][1];
3089
3089
  for (; !s; )
3090
3090
  i.difficultyText.length > o && r >= i.difficultyText[o][0] ? l = i.difficultyText[o][1] : s = !0, o++;
@@ -3111,7 +3111,7 @@ function ch(e, t) {
3111
3111
  return `<span class='passive-skill-check skill-check'>[<span class='skill-check-name'>${r.name}</span> - <span class='skill-check-difficulty'>${i}</span> - ${e ? '<span class="skill-check-success">Success</span>' : '<span class="skill-check-failed">Failure</span>'}]</span>`;
3112
3112
  }
3113
3113
  function uh(e) {
3114
- const { options: t } = Vi(), n = dh(t, e), s = vt().skills[e].level * t.extraPointsPerLevel;
3114
+ const { options: t } = qi(), n = dh(t, e), s = vt().skills[e].level * t.extraPointsPerLevel;
3115
3115
  let o = n.reduce(
3116
3116
  (l, u) => l + u.unmodified,
3117
3117
  s
@@ -3157,7 +3157,7 @@ function ph(e) {
3157
3157
  return Ar(s ? "onSkillCheckSuccess" : "onSkillCheckFailure"), s;
3158
3158
  }
3159
3159
  function Il(e, t) {
3160
- const { options: n } = Vi();
3160
+ const { options: n } = qi();
3161
3161
  let r = e >= t;
3162
3162
  return n.successOnRollsBelowThreshold && (r = e <= t), n.failOnRollsEqualToThreshold && e === t && (r = !1), r;
3163
3163
  }
@@ -3347,10 +3347,10 @@ var f = {};
3347
3347
  return Ne(O, "Function") && O.type === "Function" && M(O.$id) && i.IsArray(O.parameters) && O.parameters.every((I) => ht(I)) && ht(O.returns);
3348
3348
  }
3349
3349
  N.TFunction = Ae;
3350
- function qe(O) {
3350
+ function Ve(O) {
3351
3351
  return Ne(O, "Integer") && O.type === "integer" && M(O.$id) && b(O.exclusiveMaximum) && b(O.exclusiveMinimum) && b(O.maximum) && b(O.minimum) && b(O.multipleOf);
3352
3352
  }
3353
- N.TInteger = qe;
3353
+ N.TInteger = Ve;
3354
3354
  function lt(O) {
3355
3355
  return Ne(O, "Intersect") && !(i.IsString(O.type) && O.type !== "object") && i.IsArray(O.allOf) && O.allOf.every((I) => ht(I) && !dr(I)) && M(O.type) && ($(O.unevaluatedProperties) || ne(O.unevaluatedProperties)) && M(O.$id);
3356
3356
  }
@@ -3484,7 +3484,7 @@ var f = {};
3484
3484
  }
3485
3485
  N.TOptional = Lr;
3486
3486
  function ht(O) {
3487
- return i.IsObject(O) && (oe(O) || je(O) || he(O) || ee(O) || R(O) || fe(O) || we(O) || Ae(O) || qe(O) || lt(O) || ot(O) || Se(O) || xe(O) || Ee(O) || Tt(O) || zt(O) || Qt(O) || Rt(O) || cr(O) || ur(O) || Ft(O) || Nr(O) || Nn(O) || xr(O) || mt(O) || jr(O) || xn(O) || jn(O) || Ot(O) || zn(O) || Qn(O) || G(O) && t.Has(O[e.Kind]));
3487
+ return i.IsObject(O) && (oe(O) || je(O) || he(O) || ee(O) || R(O) || fe(O) || we(O) || Ae(O) || Ve(O) || lt(O) || ot(O) || Se(O) || xe(O) || Ee(O) || Tt(O) || zt(O) || Qt(O) || Rt(O) || cr(O) || ur(O) || Ft(O) || Nr(O) || Nn(O) || xr(O) || mt(O) || jr(O) || xn(O) || jn(O) || Ot(O) || zn(O) || Qn(O) || G(O) && t.Has(O[e.Kind]));
3488
3488
  }
3489
3489
  N.TSchema = ht;
3490
3490
  })(o || (e.TypeGuard = o = {}));
@@ -3558,7 +3558,7 @@ var f = {};
3558
3558
  function Ae(w, S) {
3559
3559
  return S.allOf.every((be) => me(w, be) === c.True) ? c.True : c.False;
3560
3560
  }
3561
- function qe(w, S) {
3561
+ function Ve(w, S) {
3562
3562
  return w.allOf.some((be) => me(be, S) === c.True) ? c.True : c.False;
3563
3563
  }
3564
3564
  function lt(w, S) {
@@ -3720,7 +3720,7 @@ var f = {};
3720
3720
  // resolvable
3721
3721
  o.TTemplateLiteral(w) || o.TTemplateLiteral(S) ? ht(w, S) : o.TNot(w) || o.TNot(S) ? ae(w, S) : (
3722
3722
  // standard
3723
- o.TAny(w) ? $(w, S) : o.TArray(w) ? H(w, S) : o.TBigInt(w) ? ne(w, S) : o.TBoolean(w) ? je(w, S) : o.TAsyncIterator(w) ? ie(w, S) : o.TConstructor(w) ? R(w, S) : o.TDate(w) ? ee(w, S) : o.TFunction(w) ? he(w, S) : o.TInteger(w) ? we(w, S) : o.TIntersect(w) ? qe(w, S) : o.TIterator(w) ? lt(w, S) : o.TLiteral(w) ? ot(w, S) : o.TNever(w) ? G() : o.TNull(w) ? pe(w, S) : o.TNumber(w) ? xe(w, S) : o.TObject(w) ? jr(w, S) : o.TRecord(w) ? zn(w, S) : o.TString(w) ? pi(w, S) : o.TSymbol(w) ? Lr(w, S) : o.TTuple(w) ? A(w, S) : o.TPromise(w) ? yn(w, S) : o.TUint8Array(w) ? x(w, S) : o.TUndefined(w) ? W(w, S) : o.TUnion(w) ? ge(w, S) : o.TUnknown(w) ? Be(w, S) : o.TVoid(w) ? ut(w, S) : k(`Unknown left type operand '${w[e.Kind]}'`)
3723
+ o.TAny(w) ? $(w, S) : o.TArray(w) ? H(w, S) : o.TBigInt(w) ? ne(w, S) : o.TBoolean(w) ? je(w, S) : o.TAsyncIterator(w) ? ie(w, S) : o.TConstructor(w) ? R(w, S) : o.TDate(w) ? ee(w, S) : o.TFunction(w) ? he(w, S) : o.TInteger(w) ? we(w, S) : o.TIntersect(w) ? Ve(w, S) : o.TIterator(w) ? lt(w, S) : o.TLiteral(w) ? ot(w, S) : o.TNever(w) ? G() : o.TNull(w) ? pe(w, S) : o.TNumber(w) ? xe(w, S) : o.TObject(w) ? jr(w, S) : o.TRecord(w) ? zn(w, S) : o.TString(w) ? pi(w, S) : o.TSymbol(w) ? Lr(w, S) : o.TTuple(w) ? A(w, S) : o.TPromise(w) ? yn(w, S) : o.TUint8Array(w) ? x(w, S) : o.TUndefined(w) ? W(w, S) : o.TUnion(w) ? ge(w, S) : o.TUnknown(w) ? Be(w, S) : o.TVoid(w) ? ut(w, S) : k(`Unknown left type operand '${w[e.Kind]}'`)
3724
3724
  )
3725
3725
  );
3726
3726
  }
@@ -4002,8 +4002,8 @@ var f = {};
4002
4002
  const fe = [];
4003
4003
  for (let Ae = 0; Ae < R.length; Ae++)
4004
4004
  if (k(R, Ae) && (ee += 1), C(R, Ae) && (ee -= 1), g(R, Ae) && ee === 0) {
4005
- const qe = R.slice(he, Ae);
4006
- qe.length > 0 && fe.push(oe(qe)), he = Ae + 1;
4005
+ const Ve = R.slice(he, Ae);
4006
+ Ve.length > 0 && fe.push(oe(Ve)), he = Ae + 1;
4007
4007
  }
4008
4008
  const we = R.slice(he);
4009
4009
  return we.length > 0 && fe.push(oe(we)), fe.length === 0 ? { type: "const", const: "" } : fe.length === 1 ? fe[0] : { type: "or", expr: fe };
@@ -4012,26 +4012,26 @@ var f = {};
4012
4012
  function ee(we, Ae) {
4013
4013
  if (!k(we, Ae))
4014
4014
  throw new L("TemplateLiteralParser: Index must point to open parens");
4015
- let qe = 0;
4015
+ let Ve = 0;
4016
4016
  for (let lt = Ae; lt < we.length; lt++)
4017
- if (k(we, lt) && (qe += 1), C(we, lt) && (qe -= 1), qe === 0)
4017
+ if (k(we, lt) && (Ve += 1), C(we, lt) && (Ve -= 1), Ve === 0)
4018
4018
  return [Ae, lt];
4019
4019
  throw new L("TemplateLiteralParser: Unclosed group parens in expression");
4020
4020
  }
4021
4021
  function he(we, Ae) {
4022
- for (let qe = Ae; qe < we.length; qe++)
4023
- if (k(we, qe))
4024
- return [Ae, qe];
4022
+ for (let Ve = Ae; Ve < we.length; Ve++)
4023
+ if (k(we, Ve))
4024
+ return [Ae, Ve];
4025
4025
  return [Ae, we.length];
4026
4026
  }
4027
4027
  const fe = [];
4028
4028
  for (let we = 0; we < R.length; we++)
4029
4029
  if (k(R, we)) {
4030
- const [Ae, qe] = ee(R, we), lt = R.slice(Ae, qe + 1);
4031
- fe.push(oe(lt)), we = qe;
4030
+ const [Ae, Ve] = ee(R, we), lt = R.slice(Ae, Ve + 1);
4031
+ fe.push(oe(lt)), we = Ve;
4032
4032
  } else {
4033
- const [Ae, qe] = he(R, we), lt = R.slice(Ae, qe);
4034
- lt.length > 0 && fe.push(oe(lt)), we = qe - 1;
4033
+ const [Ae, Ve] = he(R, we), lt = R.slice(Ae, Ve);
4034
+ lt.length > 0 && fe.push(oe(lt)), we = Ve - 1;
4035
4035
  }
4036
4036
  return fe.length === 0 ? { type: "const", const: "" } : fe.length === 1 ? fe[0] : { type: "and", expr: fe };
4037
4037
  }
@@ -4613,11 +4613,11 @@ const mh = f.Type.Object({
4613
4613
  width: 100,
4614
4614
  height: 100
4615
4615
  }
4616
- }, Vo = f.Type.Object({
4616
+ }, qo = f.Type.Object({
4617
4617
  name: f.Type.String(),
4618
4618
  description: f.Type.Optional(f.Type.String())
4619
4619
  }), Th = f.Type.Intersect([
4620
- Vo,
4620
+ qo,
4621
4621
  f.Type.Object({
4622
4622
  type: f.Type.Literal("number"),
4623
4623
  defaultValue: f.Type.Number(),
@@ -4626,7 +4626,7 @@ const mh = f.Type.Object({
4626
4626
  maxValue: f.Type.Number()
4627
4627
  })
4628
4628
  ]), Sh = f.Type.Intersect([
4629
- Vo,
4629
+ qo,
4630
4630
  f.Type.Object({
4631
4631
  type: f.Type.Literal("integer"),
4632
4632
  defaultValue: f.Type.Number(),
@@ -4635,13 +4635,13 @@ const mh = f.Type.Object({
4635
4635
  maxValue: f.Type.Number()
4636
4636
  })
4637
4637
  ]), wh = f.Type.Intersect([
4638
- Vo,
4638
+ qo,
4639
4639
  f.Type.Object({
4640
4640
  type: f.Type.Literal("boolean"),
4641
4641
  defaultValue: f.Type.Boolean()
4642
4642
  })
4643
4643
  ]), $h = f.Type.Intersect([
4644
- Vo,
4644
+ qo,
4645
4645
  f.Type.Object({
4646
4646
  type: f.Type.Literal("string"),
4647
4647
  defaultValue: f.Type.String()
@@ -4672,8 +4672,8 @@ const fu = f.Type.Object({
4672
4672
  function Ih(e) {
4673
4673
  return e === bo || e === aa || e === Eh || e === To;
4674
4674
  }
4675
- const Ph = "3.10.0", Nh = /* @__PURE__ */ new Date("2024-04-10T20:14:33.729Z"), xh = 400, So = 20, qo = "@empty", xl = {
4676
- background: qo
4675
+ const Ph = "3.10.1", Nh = /* @__PURE__ */ new Date("2024-04-10T21:06:56.649Z"), xh = 400, So = 20, Vo = "@empty", xl = {
4676
+ background: Vo
4677
4677
  }, jh = f.Type.Optional(
4678
4678
  f.Type.Object({
4679
4679
  debugMenu: f.Type.Optional(f.Type.String()),
@@ -4873,12 +4873,12 @@ const ku = f.Type.Object({
4873
4873
  }))),
4874
4874
  objectives: f.Type.Record(f.Type.String(), Uh),
4875
4875
  category: f.Type.Optional(f.Type.String())
4876
- }), Vh = f.Type.Object({
4876
+ }), qh = f.Type.Object({
4877
4877
  id: f.Type.String(),
4878
4878
  title: f.Type.String()
4879
- }), qh = f.Type.Record(f.Type.String(), Bh), Au = f.Type.Object({
4880
- quests: qh,
4881
- categories: f.Type.Array(Vh)
4879
+ }), Vh = f.Type.Record(f.Type.String(), Bh), Au = f.Type.Object({
4880
+ quests: Vh,
4881
+ categories: f.Type.Array(qh)
4882
4882
  }), Eu = {
4883
4883
  quests: {},
4884
4884
  categories: [
@@ -5005,7 +5005,7 @@ const Ru = f.Type.Object({
5005
5005
  cssClass: f.Type.Optional(f.Type.String()),
5006
5006
  textCssClass: f.Type.Optional(f.Type.String()),
5007
5007
  titleCssClass: f.Type.Optional(f.Type.String())
5008
- }), Vu = f.Type.Object({
5008
+ }), qu = f.Type.Object({
5009
5009
  options: f.Type.Object({
5010
5010
  delay: f.Type.Optional(f.Type.Number()),
5011
5011
  width: f.Type.Number(),
@@ -5021,7 +5021,7 @@ const Ru = f.Type.Object({
5021
5021
  styling: f.Type.Optional(jl)
5022
5022
  })
5023
5023
  )
5024
- }), qu = {
5024
+ }), Vu = {
5025
5025
  options: {
5026
5026
  delay: 0,
5027
5027
  width: 350,
@@ -5190,7 +5190,7 @@ const ed = f.Type.Object({
5190
5190
  skillChecks: Qu,
5191
5191
  scripts: [],
5192
5192
  audio: uu,
5193
- tooltips: qu,
5193
+ tooltips: Vu,
5194
5194
  achievements: Wu,
5195
5195
  items: Ou,
5196
5196
  quests: Eu,
@@ -5562,17 +5562,17 @@ function By(e) {
5562
5562
  var t = e.length;
5563
5563
  return t === 1 && e === "~" || t === 4 && (e === "null" || e === "Null" || e === "NULL");
5564
5564
  }
5565
- function Vy() {
5565
+ function qy() {
5566
5566
  return null;
5567
5567
  }
5568
- function qy(e) {
5568
+ function Vy(e) {
5569
5569
  return e === null;
5570
5570
  }
5571
5571
  var vd = new It("tag:yaml.org,2002:null", {
5572
5572
  kind: "scalar",
5573
5573
  resolve: By,
5574
- construct: Vy,
5575
- predicate: qy,
5574
+ construct: qy,
5575
+ predicate: Vy,
5576
5576
  represent: {
5577
5577
  canonical: function() {
5578
5578
  return "~";
@@ -6206,7 +6206,7 @@ function Dg(e, t) {
6206
6206
  }
6207
6207
  return !0;
6208
6208
  }
6209
- function Vl(e, t) {
6209
+ function ql(e, t) {
6210
6210
  var n, r = e.tag, i = e.anchor, s = [], o, l = !1, u;
6211
6211
  if (e.firstTabInLine !== -1)
6212
6212
  return !1;
@@ -6296,7 +6296,7 @@ function ri(e, t, n, r, i) {
6296
6296
  if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, s = o = l = $o === n || xd === n, r && wt(e, !0, -1) && (c = !0, e.lineIndent > t ? u = 1 : e.lineIndent === t ? u = 0 : e.lineIndent < t && (u = -1)), u === 1)
6297
6297
  for (; Rg(e) || Fg(e); )
6298
6298
  wt(e, !0, -1) ? (c = !0, l = s, e.lineIndent > t ? u = 1 : e.lineIndent === t ? u = 0 : e.lineIndent < t && (u = -1)) : l = !1;
6299
- if (l && (l = c || i), (u === 1 || $o === n) && (wo === n || Nd === n ? v = t : v = t + 1, T = e.position - e.lineStart, u === 1 ? l && (Vl(e, T) || Mg(e, T, v)) || Lg(e, v) ? m = !0 : (o && Dg(e, v) || xg(e, v) || jg(e, v) ? m = !0 : Ug(e) ? (m = !0, (e.tag !== null || e.anchor !== null) && Te(e, "alias node should not have any properties")) : Ng(e, v, wo === n) && (m = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : u === 0 && (m = l && Vl(e, T))), e.tag === null)
6299
+ if (l && (l = c || i), (u === 1 || $o === n) && (wo === n || Nd === n ? v = t : v = t + 1, T = e.position - e.lineStart, u === 1 ? l && (ql(e, T) || Mg(e, T, v)) || Lg(e, v) ? m = !0 : (o && Dg(e, v) || xg(e, v) || jg(e, v) ? m = !0 : Ug(e) ? (m = !0, (e.tag !== null || e.anchor !== null) && Te(e, "alias node should not have any properties")) : Ng(e, v, wo === n) && (m = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : u === 0 && (m = l && ql(e, T))), e.tag === null)
6300
6300
  e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
6301
6301
  else if (e.tag === "?") {
6302
6302
  for (e.result !== null && e.kind !== "scalar" && Te(e, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + e.kind + '"'), a = 0, d = e.implicitTypes.length; a < d; a += 1)
@@ -6358,7 +6358,7 @@ function Fd(e, t) {
6358
6358
  Bg(n);
6359
6359
  return n.documents;
6360
6360
  }
6361
- function Vg(e, t, n) {
6361
+ function qg(e, t, n) {
6362
6362
  t !== null && typeof t == "object" && typeof n > "u" && (n = t, t = null);
6363
6363
  var r = Fd(e, n);
6364
6364
  if (typeof t != "function")
@@ -6366,7 +6366,7 @@ function Vg(e, t, n) {
6366
6366
  for (var i = 0, s = r.length; i < s; i += 1)
6367
6367
  t(r[i]);
6368
6368
  }
6369
- function qg(e, t) {
6369
+ function Vg(e, t) {
6370
6370
  var n = Fd(e, t);
6371
6371
  if (n.length !== 0) {
6372
6372
  if (n.length === 1)
@@ -6374,10 +6374,10 @@ function qg(e, t) {
6374
6374
  throw new Bt("expected a single document in the stream, but found more");
6375
6375
  }
6376
6376
  }
6377
- var Hg = Vg, Kg = qg, Ud = {
6377
+ var Hg = qg, Kg = Vg, Ud = {
6378
6378
  loadAll: Hg,
6379
6379
  load: Kg
6380
- }, Bd = Object.prototype.toString, Vd = Object.prototype.hasOwnProperty, ma = 65279, Gg = 9, Ri = 10, Wg = 13, zg = 32, Qg = 33, Yg = 34, Is = 35, Jg = 37, Xg = 38, Zg = 39, ev = 42, qd = 44, tv = 45, ko = 58, nv = 61, rv = 62, iv = 63, ov = 64, Hd = 91, Kd = 93, sv = 96, Gd = 123, av = 124, Wd = 125, Mt = {};
6380
+ }, Bd = Object.prototype.toString, qd = Object.prototype.hasOwnProperty, ma = 65279, Gg = 9, Ri = 10, Wg = 13, zg = 32, Qg = 33, Yg = 34, Is = 35, Jg = 37, Xg = 38, Zg = 39, ev = 42, Vd = 44, tv = 45, ko = 58, nv = 61, rv = 62, iv = 63, ov = 64, Hd = 91, Kd = 93, sv = 96, Gd = 123, av = 124, Wd = 125, Mt = {};
6381
6381
  Mt[0] = "\\0";
6382
6382
  Mt[7] = "\\a";
6383
6383
  Mt[8] = "\\b";
@@ -6416,7 +6416,7 @@ function uv(e, t) {
6416
6416
  if (t === null)
6417
6417
  return {};
6418
6418
  for (n = {}, r = Object.keys(t), i = 0, s = r.length; i < s; i += 1)
6419
- o = r[i], l = String(t[o]), o.slice(0, 2) === "!!" && (o = "tag:yaml.org,2002:" + o.slice(2)), u = e.compiledTypeMap.fallback[o], u && Vd.call(u.styleAliases, l) && (l = u.styleAliases[l]), n[o] = l;
6419
+ o = r[i], l = String(t[o]), o.slice(0, 2) === "!!" && (o = "tag:yaml.org,2002:" + o.slice(2)), u = e.compiledTypeMap.fallback[o], u && qd.call(u.styleAliases, l) && (l = u.styleAliases[l]), n[o] = l;
6420
6420
  return n;
6421
6421
  }
6422
6422
  function dv(e) {
@@ -6435,7 +6435,7 @@ var fv = 1, Fi = 2;
6435
6435
  function pv(e) {
6436
6436
  this.schema = e.schema || da, this.indent = Math.max(1, e.indent || 2), this.noArrayIndent = e.noArrayIndent || !1, this.skipInvalid = e.skipInvalid || !1, this.flowLevel = $t.isNothing(e.flowLevel) ? -1 : e.flowLevel, this.styleMap = uv(this.schema, e.styles || null), this.sortKeys = e.sortKeys || !1, this.lineWidth = e.lineWidth || 80, this.noRefs = e.noRefs || !1, this.noCompatMode = e.noCompatMode || !1, this.condenseFlow = e.condenseFlow || !1, this.quotingType = e.quotingType === '"' ? Fi : fv, this.forceQuotes = e.forceQuotes || !1, this.replacer = typeof e.replacer == "function" ? e.replacer : null, this.implicitTypes = this.schema.compiledImplicit, this.explicitTypes = this.schema.compiledExplicit, this.tag = null, this.result = "", this.duplicates = [], this.usedDuplicates = null;
6437
6437
  }
6438
- function ql(e, t) {
6438
+ function Vl(e, t) {
6439
6439
  for (var n = $t.repeat(" ", t), r = 0, i = -1, s = "", o, l = e.length; r < l; )
6440
6440
  i = e.indexOf(`
6441
6441
  `, r), i === -1 ? (o = e.slice(r), r = l) : (o = e.slice(r, i + 1), r = i + 1), o.length && o !== `
@@ -6469,11 +6469,11 @@ function Kl(e, t, n) {
6469
6469
  (n ? (
6470
6470
  // c = flow-in
6471
6471
  r
6472
- ) : r && e !== qd && e !== Hd && e !== Kd && e !== Gd && e !== Wd) && e !== Is && !(t === ko && !i) || Hl(t) && !Oo(t) && e === Is || t === ko && i
6472
+ ) : r && e !== Vd && e !== Hd && e !== Kd && e !== Gd && e !== Wd) && e !== Is && !(t === ko && !i) || Hl(t) && !Oo(t) && e === Is || t === ko && i
6473
6473
  );
6474
6474
  }
6475
6475
  function hv(e) {
6476
- return Ui(e) && e !== ma && !Oo(e) && e !== tv && e !== iv && e !== ko && e !== qd && e !== Hd && e !== Kd && e !== Gd && e !== Wd && e !== Is && e !== Xg && e !== ev && e !== Qg && e !== av && e !== nv && e !== rv && e !== Zg && e !== Yg && e !== Jg && e !== ov && e !== sv;
6476
+ return Ui(e) && e !== ma && !Oo(e) && e !== tv && e !== iv && e !== ko && e !== Vd && e !== Hd && e !== Kd && e !== Gd && e !== Wd && e !== Is && e !== Xg && e !== ev && e !== Qg && e !== av && e !== nv && e !== rv && e !== Zg && e !== Yg && e !== Jg && e !== ov && e !== sv;
6477
6477
  }
6478
6478
  function yv(e) {
6479
6479
  return !Oo(e) && e !== ko;
@@ -6486,13 +6486,13 @@ function zd(e) {
6486
6486
  var t = /^\n* /;
6487
6487
  return t.test(e);
6488
6488
  }
6489
- var Qd = 1, Ns = 2, Yd = 3, Jd = 4, Vr = 5;
6489
+ var Qd = 1, Ns = 2, Yd = 3, Jd = 4, qr = 5;
6490
6490
  function gv(e, t, n, r, i, s, o, l) {
6491
6491
  var u, c = 0, m = null, a = !1, d = !1, p = r !== -1, h = -1, v = hv(bi(e, 0)) && yv(bi(e, e.length - 1));
6492
6492
  if (t || o)
6493
6493
  for (u = 0; u < e.length; c >= 65536 ? u += 2 : u++) {
6494
6494
  if (c = bi(e, u), !Ui(c))
6495
- return Vr;
6495
+ return qr;
6496
6496
  v = v && Kl(c, m, l), m = c;
6497
6497
  }
6498
6498
  else {
@@ -6501,12 +6501,12 @@ function gv(e, t, n, r, i, s, o, l) {
6501
6501
  a = !0, p && (d = d || // Foldable line = too long, and not more-indented.
6502
6502
  u - h - 1 > r && e[h + 1] !== " ", h = u);
6503
6503
  else if (!Ui(c))
6504
- return Vr;
6504
+ return qr;
6505
6505
  v = v && Kl(c, m, l), m = c;
6506
6506
  }
6507
6507
  d = d || p && u - h - 1 > r && e[h + 1] !== " ";
6508
6508
  }
6509
- return !a && !d ? v && !o && !i(e) ? Qd : s === Fi ? Vr : Ns : n > 9 && zd(e) ? Vr : o ? s === Fi ? Vr : Ns : d ? Jd : Yd;
6509
+ return !a && !d ? v && !o && !i(e) ? Qd : s === Fi ? qr : Ns : n > 9 && zd(e) ? qr : o ? s === Fi ? qr : Ns : d ? Jd : Yd;
6510
6510
  }
6511
6511
  function vv(e, t, n, r, i) {
6512
6512
  e.dump = function() {
@@ -6533,10 +6533,10 @@ function vv(e, t, n, r, i) {
6533
6533
  case Ns:
6534
6534
  return "'" + t.replace(/'/g, "''") + "'";
6535
6535
  case Yd:
6536
- return "|" + Gl(t, e.indent) + Wl(ql(t, s));
6536
+ return "|" + Gl(t, e.indent) + Wl(Vl(t, s));
6537
6537
  case Jd:
6538
- return ">" + Gl(t, e.indent) + Wl(ql(_v(t, o), s));
6539
- case Vr:
6538
+ return ">" + Gl(t, e.indent) + Wl(Vl(_v(t, o), s));
6539
+ case qr:
6540
6540
  return '"' + bv(t) + '"';
6541
6541
  default:
6542
6542
  throw new Bt("impossible error: invalid scalar style");
@@ -6620,7 +6620,7 @@ function Yl(e, t, n) {
6620
6620
  if (n ? l.multi && l.representName ? e.tag = l.representName(t) : e.tag = l.tag : e.tag = "?", l.represent) {
6621
6621
  if (u = e.styleMap[l.tag] || l.defaultStyle, Bd.call(l.represent) === "[object Function]")
6622
6622
  r = l.represent(t, u);
6623
- else if (Vd.call(l.represent, u))
6623
+ else if (qd.call(l.represent, u))
6624
6624
  r = l.represent[u](t, u);
6625
6625
  else
6626
6626
  throw new Bt("!<" + l.tag + '> tag resolver accepts not "' + u + '" style');
@@ -6705,7 +6705,7 @@ var Av = It, Ev = pd, Iv = gd, Pv = Sd, Nv = wd, xv = da, jv = Ud.load, Lv = Ud.
6705
6705
  omap: Ed,
6706
6706
  seq: hd,
6707
6707
  str: md
6708
- }, Fv = ha("safeLoad", "load"), Uv = ha("safeLoadAll", "loadAll"), Bv = ha("safeDump", "dump"), Vv = {
6708
+ }, Fv = ha("safeLoad", "load"), Uv = ha("safeLoadAll", "loadAll"), Bv = ha("safeDump", "dump"), qv = {
6709
6709
  Type: Av,
6710
6710
  Schema: Ev,
6711
6711
  FAILSAFE_SCHEMA: Iv,
@@ -6736,7 +6736,7 @@ async function Go(e) {
6736
6736
  if (e.endsWith(".json"))
6737
6737
  n = JSON.parse(t);
6738
6738
  else if (e.endsWith(".yaml"))
6739
- n = Vv.load(t);
6739
+ n = qv.load(t);
6740
6740
  else {
6741
6741
  const r = `Unsupported file type for data file ${e} (must be .json or .yaml)`;
6742
6742
  throw new Error(r);
@@ -6748,7 +6748,7 @@ async function Go(e) {
6748
6748
  throw console.error(`Failed to load data file ${e}: ${t}`), t;
6749
6749
  }
6750
6750
  }
6751
- const qv = (e, t) => {
6751
+ const Vv = (e, t) => {
6752
6752
  const n = {};
6753
6753
  for (const r in e)
6754
6754
  n[r] = t(e[r]);
@@ -6789,7 +6789,7 @@ async function Kv(e) {
6789
6789
  async function Zd(e, t) {
6790
6790
  if (yr[e])
6791
6791
  return yr[e];
6792
- if (t === qo) {
6792
+ if (t === Vo) {
6793
6793
  const r = new Image();
6794
6794
  return yr[e] = r, r;
6795
6795
  }
@@ -6817,13 +6817,13 @@ function Jl(e, t, n) {
6817
6817
  oldScreen: t
6818
6818
  };
6819
6819
  }
6820
- const Vt = bt("notifications", {
6820
+ const qt = bt("notifications", {
6821
6821
  state: () => ({ notifications: [], enabled: !0 }),
6822
6822
  actions: {
6823
6823
  async addNotification(e, t, n) {
6824
6824
  if (!this.enabled)
6825
6825
  return;
6826
- e = qn(e);
6826
+ e = Vn(e);
6827
6827
  const r = `${Date.now()}-${Math.random() * 1e4}`;
6828
6828
  this.notifications.push({
6829
6829
  id: r,
@@ -6889,7 +6889,7 @@ const Vt = bt("notifications", {
6889
6889
  const t = this.getExistingItem(e.id);
6890
6890
  t ? t.amount += e.amount : this.items[e.id] = { ...e };
6891
6891
  const n = wn(e.id).name, r = e.amount > 1 ? `${n} x ${e.amount}` : n;
6892
- Vt().addNotification(`Received item: ${r}`);
6892
+ qt().addNotification(`Received item: ${r}`);
6893
6893
  },
6894
6894
  enableInteraction(e) {
6895
6895
  e || (e = "default"), this.interactionTags[e] = {
@@ -6918,7 +6918,7 @@ const Vt = bt("notifications", {
6918
6918
  },
6919
6919
  remove(e) {
6920
6920
  const t = this.getExistingItem(e.id);
6921
- t && (t.amount -= e.amount, Vt().addNotification(
6921
+ t && (t.amount -= e.amount, qt().addNotification(
6922
6922
  `Lost item: ${wn(e.id).name} x ${e.amount}`
6923
6923
  ), t.amount <= 0 && this.deleteItem(e.id));
6924
6924
  },
@@ -7175,7 +7175,7 @@ const on = bt("screenObjects", {
7175
7175
  return {
7176
7176
  tree: ze(this.tree.map((e) => e.id)),
7177
7177
  objectsList: ze(
7178
- qv(this.objectsList, (e) => this.screenObjectToSave(e))
7178
+ Vv(this.objectsList, (e) => this.screenObjectToSave(e))
7179
7179
  )
7180
7180
  };
7181
7181
  },
@@ -7257,20 +7257,20 @@ const n_ = /* @__PURE__ */ hn(Xv, [["render", t_]]), r_ = "data:image/svg+xml,%3
7257
7257
  __name: "engine-splash",
7258
7258
  emits: ["finished"],
7259
7259
  setup(e, { emit: t }) {
7260
- const n = t, r = le("hidden"), i = V(() => ({
7260
+ const n = t, r = le("hidden"), i = q(() => ({
7261
7261
  transitionDuration: `${m.value}s`
7262
- })), s = V(() => ({
7262
+ })), s = q(() => ({
7263
7263
  invisible: r.value !== "appear"
7264
- })), o = ke(), l = V(
7264
+ })), o = ke(), l = q(
7265
7265
  () => {
7266
7266
  var p;
7267
7267
  return ((p = de().splashScreens) == null ? void 0 : p.engineSplashScreen) ?? {};
7268
7268
  }
7269
- ), u = V(
7269
+ ), u = q(
7270
7270
  () => typeof l.value.overrideText == "string" ? l.value.overrideText : "Made with narrat engine"
7271
- ), c = V(() => l.value.overrideLogo ?? r_), m = V(
7271
+ ), c = q(() => l.value.overrideLogo ?? r_), m = q(
7272
7272
  () => typeof l.value.fadeDuration == "number" ? l.value.fadeDuration : 0.8
7273
- ), a = V(
7273
+ ), a = q(
7274
7274
  () => typeof l.value.timeBeforeFadeout == "number" ? l.value.timeBeforeFadeout : 1.5
7275
7275
  );
7276
7276
  ft(async () => {
@@ -7307,7 +7307,7 @@ const n_ = /* @__PURE__ */ hn(Xv, [["render", t_]]), r_ = "data:image/svg+xml,%3
7307
7307
  });
7308
7308
  class ga {
7309
7309
  constructor() {
7310
- Ve(this, "listeners", {});
7310
+ qe(this, "listeners", {});
7311
7311
  }
7312
7312
  on(t, n) {
7313
7313
  return this.listeners[t] || this.addEventToMap(t), this.listeners[t].add(n), n;
@@ -7668,12 +7668,12 @@ const gt = bt("rendering", {
7668
7668
  class l_ extends EventTarget {
7669
7669
  constructor() {
7670
7670
  super(...arguments);
7671
- Ve(this, "gamepadAvailable", !0);
7672
- Ve(this, "gameActions", {});
7673
- Ve(this, "keyboardState", {});
7674
- Ve(this, "actions", {});
7675
- Ve(this, "lastInputMethodUsed", "km");
7676
- Ve(this, "gamepad", null);
7671
+ qe(this, "gamepadAvailable", !0);
7672
+ qe(this, "gameActions", {});
7673
+ qe(this, "keyboardState", {});
7674
+ qe(this, "actions", {});
7675
+ qe(this, "lastInputMethodUsed", "km");
7676
+ qe(this, "gamepad", null);
7677
7677
  }
7678
7678
  kbEvent() {
7679
7679
  this.changeLastInput("km");
@@ -7837,7 +7837,7 @@ const Zn = new l_(), jt = bt("menu", {
7837
7837
  return Object.entries(ns().quests).length > 0;
7838
7838
  },
7839
7839
  showAchievements() {
7840
- return Object.entries(qi().achievements).length > 0;
7840
+ return Object.entries(Vi().achievements).length > 0;
7841
7841
  },
7842
7842
  menuTabsToShow(e) {
7843
7843
  return e.menus.menu.tabs.map((t) => {
@@ -8183,14 +8183,14 @@ const Zn = new l_(), jt = bt("menu", {
8183
8183
  }, of = /* @__PURE__ */ $e({
8184
8184
  __name: "game-splash",
8185
8185
  setup(e) {
8186
- const t = le(null), n = ke(), r = V(
8186
+ const t = le(null), n = ke(), r = q(
8187
8187
  () => {
8188
8188
  var u;
8189
8189
  return ((u = de().splashScreens) == null ? void 0 : u.gameSplashScreen) ?? {};
8190
8190
  }
8191
- ), i = V(
8191
+ ), i = q(
8192
8192
  () => typeof r.value.startButtonText == "string" ? r.value.startButtonText : "Press to start"
8193
- ), s = V(() => n.loading.loaded), o = V(() => de().gameTitle || "Narrat Game");
8193
+ ), s = q(() => n.loading.loaded), o = q(() => de().gameTitle || "Narrat Game");
8194
8194
  function l() {
8195
8195
  Jt().changeScene("start-menu");
8196
8196
  }
@@ -8224,7 +8224,7 @@ const Zn = new l_(), jt = bt("menu", {
8224
8224
  function Wn(e) {
8225
8225
  if (!e.listener)
8226
8226
  return console.warn("No input listener provided for navigation"), null;
8227
- const t = le(-1), n = V(
8227
+ const t = le(-1), n = q(
8228
8228
  () => e.mode === "grid" ? t.value % e.columns : 0
8229
8229
  ), r = le([]), i = le(Zn.lastInputMethodUsed), s = le(null);
8230
8230
  function o() {
@@ -8236,7 +8236,7 @@ function Wn(e) {
8236
8236
  function l() {
8237
8237
  r.value = o();
8238
8238
  }
8239
- const u = V(
8239
+ const u = q(
8240
8240
  () => a(t.value)
8241
8241
  );
8242
8242
  function c(Y) {
@@ -8359,7 +8359,7 @@ const p_ = { class: "used-save-slot flex flex-row justify-between items-center g
8359
8359
  t({
8360
8360
  slotContainer: o
8361
8361
  });
8362
- const l = le(((F = r.saveSlot.saveData) == null ? void 0 : F.metadata.name) ?? "Empty Save"), u = le(0), c = V(() => r.saveSlot.saveData !== null), m = V(() => r.saveSlot.saveData), a = V(() => de().saves.mode), d = V(() => {
8362
+ const l = le(((F = r.saveSlot.saveData) == null ? void 0 : F.metadata.name) ?? "Empty Save"), u = le(0), c = q(() => r.saveSlot.saveData !== null), m = q(() => r.saveSlot.saveData), a = q(() => de().saves.mode), d = q(() => {
8363
8363
  const B = r.saveSlot.saveData;
8364
8364
  if (B && B.screens.layers[0]) {
8365
8365
  const L = Xi(B.screens.layers[0]);
@@ -8547,7 +8547,7 @@ const p_ = { class: "used-save-slot flex flex-row justify-between items-center g
8547
8547
  }
8548
8548
  }
8549
8549
  })
8550
- ), i = le(0), s = Hr([]), o = V(() => s.slice(0, 1)), l = V(() => s.slice(1)), u = le([]), c = le([]), m = le([]), a = le([]), d = le([]);
8550
+ ), i = le(0), s = Hr([]), o = q(() => s.slice(0, 1)), l = q(() => s.slice(1)), u = le([]), c = le([]), m = le([]), a = le([]), d = le([]);
8551
8551
  le({
8552
8552
  mode: "list",
8553
8553
  elements: a,
@@ -8567,12 +8567,12 @@ const p_ = { class: "used-save-slot flex flex-row justify-between items-center g
8567
8567
  onSelected: (z) => {
8568
8568
  i.value = z;
8569
8569
  }
8570
- }), h = V(() => {
8570
+ }), h = q(() => {
8571
8571
  const z = i.value;
8572
8572
  return d.value.length < z + 1 ? null : d.value[z].id;
8573
8573
  }), v = Hr(
8574
8574
  n.mode === "load" ? ["Load", "Delete"] : ["Choose"]
8575
- ), T = V(() => de().saves.mode), _ = Hr({
8575
+ ), T = q(() => de().saves.mode), _ = Hr({
8576
8576
  prompt: "Are you sure you want to delete this save file?",
8577
8577
  saveToDelete: null,
8578
8578
  onConfirm: () => {
@@ -8821,12 +8821,12 @@ async function D_(e, t) {
8821
8821
  const M_ = { id: "game-menu" }, R_ = {
8822
8822
  id: "game-header",
8823
8823
  class: "flex flex-col justify-between items-center"
8824
- }, F_ = { id: "game-title-container" }, U_ = { id: "game-title-text" }, B_ = { class: "nrt-title" }, V_ = /* @__PURE__ */ $e({
8824
+ }, F_ = { id: "game-title-container" }, U_ = { id: "game-title-text" }, B_ = { class: "nrt-title" }, q_ = /* @__PURE__ */ $e({
8825
8825
  __name: "StartMenu",
8826
8826
  setup(e) {
8827
8827
  const t = le(
8828
8828
  at().registerInputListener("start-menu", {})
8829
- ), n = le([]), r = le(null), i = le(!1), s = le(!1), o = le(null), l = le(null), u = le(!1), c = le(!1), m = le(null), a = va(), d = le(!1), p = le(null), h = V(() => a.buttons), v = Wn({
8829
+ ), n = le([]), r = le(null), i = le(!1), s = le(!1), o = le(null), l = le(null), u = le(!1), c = le(!1), m = le(null), a = va(), d = le(!1), p = le(null), h = q(() => a.buttons), v = Wn({
8830
8830
  mode: "list",
8831
8831
  container: r,
8832
8832
  listener: t.value,
@@ -8972,7 +8972,7 @@ const M_ = { id: "game-menu" }, R_ = {
8972
8972
  sh(X, p.value);
8973
8973
  }
8974
8974
  });
8975
- const Q = V(() => de().gameTitle);
8975
+ const Q = q(() => de().gameTitle);
8976
8976
  return (X, re) => (D(), J("div", M_, [
8977
8977
  u.value ? (D(), Ce(sf, {
8978
8978
  key: 0,
@@ -9024,12 +9024,12 @@ const M_ = { id: "game-menu" }, R_ = {
9024
9024
  ])) : Oe("", !0)
9025
9025
  ]));
9026
9026
  }
9027
- }), uf = /* @__PURE__ */ hn(V_, [["__scopeId", "data-v-a3f319bb"]]);
9027
+ }), uf = /* @__PURE__ */ hn(q_, [["__scopeId", "data-v-a3f319bb"]]);
9028
9028
  function Yo(e) {
9029
9029
  const t = ul().characters[e];
9030
9030
  return t || ue(`Character ${e} not found`), t;
9031
9031
  }
9032
- function q_(e, t) {
9032
+ function V_(e, t) {
9033
9033
  const n = Yo(e);
9034
9034
  if (n && (t || (t = "default"), n.sprites)) {
9035
9035
  const r = n.sprites[t];
@@ -9060,7 +9060,7 @@ const G_ = ["src"], W_ = ["autoplay", "loop", "muted"], z_ = ["src"], Q_ = /* @_
9060
9060
  pose: {}
9061
9061
  },
9062
9062
  setup(e) {
9063
- const t = e, n = V(() => t.video), r = V(() => gt().layoutMode), i = V(() => {
9063
+ const t = e, n = q(() => t.video), r = q(() => gt().layoutMode), i = q(() => {
9064
9064
  var u;
9065
9065
  const o = {};
9066
9066
  if (!t.character)
@@ -9068,7 +9068,7 @@ const G_ = ["src"], W_ = ["autoplay", "loop", "muted"], z_ = ["src"], Q_ = /* @_
9068
9068
  t.character && (o[t.character] = !0);
9069
9069
  const l = Yo(t.character);
9070
9070
  return (u = l == null ? void 0 : l.style) != null && u.portraitCssClass && (o[l.style.portraitCssClass] = !0), o;
9071
- }), s = V(() => {
9071
+ }), s = q(() => {
9072
9072
  var p, h;
9073
9073
  const o = gt(), l = de().layout;
9074
9074
  let u = 0, c = 0;
@@ -9267,7 +9267,7 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9267
9267
  choice: ee.choice
9268
9268
  };
9269
9269
  let fe = '<span class="choice-index">%{$index}. </span> <span class="choice-text">%{$choice}</span>';
9270
- if (qs().choiceTextTemplate && (fe = qs().choiceTextTemplate), ee.flag) {
9270
+ if (Vs().choiceTextTemplate && (fe = Vs().choiceTextTemplate), ee.flag) {
9271
9271
  const we = $c(ee.flag);
9272
9272
  we != null && we.textTemplate && (fe = we.textTemplate);
9273
9273
  }
@@ -9352,8 +9352,8 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9352
9352
  let Ae = ee;
9353
9353
  for (; R.tags.length > 0 && we >= R.tags[0].index; ) {
9354
9354
  Ae = X(Ae, R.tags[0].index);
9355
- const qe = re(R.tags.shift());
9356
- Ae += qe, we += qe;
9355
+ const Ve = re(R.tags.shift());
9356
+ Ae += Ve, we += Ve;
9357
9357
  }
9358
9358
  Ae = X(Ae, we), R.index = Ae;
9359
9359
  }
@@ -9372,16 +9372,16 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9372
9372
  Ye().playMode === "auto" ? de().dialogPanel.timeBetweenLines ?? ti.common.dialogPanel.timeBetweenLines : 0
9373
9373
  ));
9374
9374
  }
9375
- const N = V(() => p.options.title ? " &nbsp;โ€“&nbsp; " : ""), y = V(() => ({ ...fs(p.options.styleId).boxCss })), k = V(() => !M.value && !p.options.textField), C = V(() => {
9375
+ const N = q(() => p.options.title ? " &nbsp;โ€“&nbsp; " : ""), y = q(() => ({ ...fs(p.options.styleId).boxCss })), k = q(() => !M.value && !p.options.textField), C = q(() => {
9376
9376
  const R = {};
9377
9377
  return p.options.title && (R["dialog-box-followup"] = !0), p.options.old ? R["dialog-box-old"] = !0 : R["dialog-box-new"] = !0, R;
9378
- }), g = V(() => {
9378
+ }), g = q(() => {
9379
9379
  const R = fs(p.options.styleId);
9380
9380
  return { color: R.color, ...R.nameCss };
9381
- }), b = V(() => fs(p.options.styleId).textCss), $ = V(() => o.value ? o.value.text : p.options.text), M = V(() => {
9381
+ }), b = q(() => fs(p.options.styleId).textCss), $ = q(() => o.value ? o.value.text : p.options.text), M = q(() => {
9382
9382
  if (p.options.choices)
9383
9383
  return p.options.choices;
9384
- }), H = V(() => Ye().playMode === "skip"), ie = V(() => Ye().playMode === "auto"), ne = V(() => p.active && l.value && !i.value && !m.value && !o.value && p.options.interactive && !je.value), oe = ke(), je = V(() => oe.paused);
9384
+ }), H = q(() => Ye().playMode === "skip"), ie = q(() => Ye().playMode === "auto"), ne = q(() => p.active && l.value && !i.value && !m.value && !o.value && p.options.interactive && !je.value), oe = ke(), je = q(() => oe.paused);
9385
9385
  return Cn(
9386
9386
  () => p.options,
9387
9387
  (R, ee) => {
@@ -9470,7 +9470,7 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9470
9470
  }, cb = /* @__PURE__ */ $e({
9471
9471
  __name: "AutoPlayFeedback",
9472
9472
  setup(e) {
9473
- const t = Ye(), n = V(() => t.playMode === "auto"), r = V(() => t.playMode === "skip"), i = V(() => n.value ? "auto-play-feedback-auto" : r.value ? "auto-play-feedback-skip" : {}), s = V(() => n.value ? "Auto Play" : r.value ? "Skip" : "");
9473
+ const t = Ye(), n = q(() => t.playMode === "auto"), r = q(() => t.playMode === "skip"), i = q(() => n.value ? "auto-play-feedback-auto" : r.value ? "auto-play-feedback-skip" : {}), s = q(() => n.value ? "Auto Play" : r.value ? "Skip" : "");
9474
9474
  return (o, l) => s.value ? (D(), J("div", lb, [
9475
9475
  U("div", {
9476
9476
  class: Ke(["auto-play-feedback", i.value])
@@ -9480,41 +9480,41 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9480
9480
  }), ub = /* @__PURE__ */ U("div", { class: "anchor" }, null, -1), pf = /* @__PURE__ */ $e({
9481
9481
  __name: "game-dialog",
9482
9482
  setup(e) {
9483
- const t = V(() => gt().layoutMode), n = V(() => at().inGameInputListener), r = le(ke().inScript), i = le(null), s = gt(), o = Ie(), l = V(() => o.stack), u = Ye(), c = V(() => u.dialog), m = le(null), a = le(null), d = le(null), p = V(() => {
9483
+ const t = q(() => gt().layoutMode), n = q(() => at().inGameInputListener), r = le(ke().inScript), i = le(null), s = gt(), o = Ie(), l = q(() => o.stack), u = Ye(), c = q(() => u.dialog), m = le(null), a = le(null), d = le(null), p = q(() => {
9484
9484
  let Q = "0px";
9485
9485
  const X = de().layout.dialogBottomPadding;
9486
9486
  return typeof X == "number" ? Q = `${X}px` : typeof X == "string" && (Q = X), {
9487
9487
  paddingBottom: Q
9488
9488
  };
9489
- }), h = V(() => {
9489
+ }), h = q(() => {
9490
9490
  if (c.value.length > 0)
9491
9491
  return c.value[c.value.length - 1];
9492
- }), v = V(() => {
9492
+ }), v = q(() => {
9493
9493
  if (h.value)
9494
9494
  return h.value.speaker;
9495
- }), T = V(() => {
9495
+ }), T = q(() => {
9496
9496
  if (h.value)
9497
9497
  return h.value.pose;
9498
- }), _ = V(() => {
9498
+ }), _ = q(() => {
9499
9499
  if (h.value) {
9500
9500
  const Q = v.value;
9501
9501
  let X = T.value;
9502
9502
  return Q ? (X || (X = "idle"), X) : void 0;
9503
9503
  }
9504
- }), E = V(() => {
9504
+ }), E = q(() => {
9505
9505
  if (!_.value)
9506
9506
  return;
9507
9507
  const Q = v.value;
9508
- return q_(Q, _.value);
9509
- }), j = V(() => {
9508
+ return V_(Q, _.value);
9509
+ }), j = q(() => {
9510
9510
  const Q = E.value;
9511
9511
  if (H_(Q))
9512
9512
  return Q;
9513
- }), F = V(() => {
9513
+ }), F = q(() => {
9514
9514
  const Q = E.value;
9515
9515
  if (K_(Q))
9516
9516
  return Q;
9517
- }), B = V(() => s.dialogWidth), L = V(() => ke().inScript);
9517
+ }), B = q(() => s.dialogWidth), L = q(() => ke().inScript);
9518
9518
  Cn(L, (Q) => {
9519
9519
  Q ? r.value = !0 : Ye().playMode !== "normal" ? (Ye().playMode === "skip" && (Ye().playMode = "normal"), i.value = setTimeout(() => {
9520
9520
  r.value = !1;
@@ -9539,7 +9539,7 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9539
9539
  }), _t(() => {
9540
9540
  n.value && (delete n.value.actions.autoPlay, delete n.value.actions.skip), d.value && mn.off("debouncedKeydown", d.value), i.value && clearTimeout(i.value);
9541
9541
  });
9542
- const P = V(() => {
9542
+ const P = q(() => {
9543
9543
  let Q;
9544
9544
  const X = `${gt().dialogHeight}px`, re = {};
9545
9545
  if (gt().overlayMode) {
@@ -9567,7 +9567,7 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9567
9567
  const re = Yo(Q.speaker);
9568
9568
  let Pe = (re == null ? void 0 : re.name) ?? "Missing Character";
9569
9569
  return X >= 1 && c.value[X - 1].speaker === Q.speaker && (Pe = void 0), Q.choices && Q.choices.forEach((Re) => {
9570
- Re.choice = qn(Re.choice);
9570
+ Re.choice = Vn(Re.choice);
9571
9571
  }), {
9572
9572
  title: Pe ?? "",
9573
9573
  text: Q.text,
@@ -9655,7 +9655,7 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9655
9655
  },
9656
9656
  emits: ["click"],
9657
9657
  setup(e, { emit: t }) {
9658
- const n = e, r = t, i = V(() => n.active ? "tab-active" : "tab-inactive");
9658
+ const n = e, r = t, i = q(() => n.active ? "tab-active" : "tab-inactive");
9659
9659
  function s() {
9660
9660
  r("click");
9661
9661
  }
@@ -9727,7 +9727,7 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9727
9727
  function o(u) {
9728
9728
  s.value = u, r("tab-change", u);
9729
9729
  }
9730
- const l = V(() => i.tabs[s.value]);
9730
+ const l = q(() => i.tabs[s.value]);
9731
9731
  return _t(() => {
9732
9732
  n.value && (at().unregisterInputListener(n.value), n.value = null);
9733
9733
  }), (u, c) => (D(), J("div", mb, [
@@ -9761,7 +9761,7 @@ const eb = ["innerHTML"], tb = ["innerHTML"], nb = ["innerHTML"], rb = { key: 1
9761
9761
  function r(m) {
9762
9762
  jt().activeMenu = m;
9763
9763
  }
9764
- const i = V(() => t.menus), s = V(() => t.menu), o = V(() => {
9764
+ const i = q(() => t.menus), s = q(() => t.menu), o = q(() => {
9765
9765
  var m;
9766
9766
  return (((m = s.value) == null ? void 0 : m.tabs) ?? []).filter((a) => a.condition ? a.condition() : !0).map((a) => ({
9767
9767
  id: a.id,
@@ -9863,16 +9863,16 @@ const Ab = ["id"], Eb = ["innerHTML"], Ib = /* @__PURE__ */ $e({
9863
9863
  function r(l) {
9864
9864
  t.transitioning || t.screenObject.onClick && n.clickObject(l);
9865
9865
  }
9866
- const i = V(() => {
9866
+ const i = q(() => {
9867
9867
  if (!t.layerSelected)
9868
9868
  return !1;
9869
9869
  const l = t.activeInteractive;
9870
9870
  return l.type === "screenObject" && l.id === t.screenObject.id;
9871
- }), s = V(() => Ob(
9871
+ }), s = q(() => Ob(
9872
9872
  t.screenObject,
9873
9873
  i.value,
9874
9874
  t.transitioning
9875
- )), o = V(() => {
9875
+ )), o = q(() => {
9876
9876
  const l = {};
9877
9877
  t.screenObject.opacity !== 1 && (l.opacity = t.screenObject.opacity);
9878
9878
  let u = t.screenObject.x, c = t.screenObject.y, m = t.screenObject.width, a = t.screenObject.height;
@@ -9900,7 +9900,7 @@ const Ab = ["id"], Eb = ["innerHTML"], Ib = /* @__PURE__ */ $e({
9900
9900
  style: Qe(o.value)
9901
9901
  }, [
9902
9902
  U("span", {
9903
- innerHTML: t.screenObject.text ? rt(qn)(t.screenObject.text) : void 0
9903
+ innerHTML: t.screenObject.text ? rt(Vn)(t.screenObject.text) : void 0
9904
9904
  }, null, 8, Eb),
9905
9905
  (D(!0), J(He, null, Je(t.screenObject.children, (m) => (D(), Ce(c, {
9906
9906
  transitioning: l.transitioning,
@@ -9920,18 +9920,18 @@ const Ab = ["id"], Eb = ["innerHTML"], Ib = /* @__PURE__ */ $e({
9920
9920
  },
9921
9921
  setup(e) {
9922
9922
  const t = e, n = pn();
9923
- V(() => n.getButtonState(t.id));
9924
- const r = V(() => Cr(t.id)), i = r.value.background ? Zi(r.value.background) : null, s = V(() => {
9923
+ q(() => n.getButtonState(t.id));
9924
+ const r = q(() => Cr(t.id)), i = r.value.background ? Zi(r.value.background) : null, s = q(() => {
9925
9925
  if (!t.layerSelected)
9926
9926
  return !1;
9927
9927
  const m = t.activeInteractive;
9928
9928
  return m.type === "button" && m.id === t.id;
9929
9929
  });
9930
- V(() => n.isButtonClickable(t.id));
9931
- const o = V(() => {
9930
+ q(() => n.isButtonClickable(t.id));
9931
+ const o = q(() => {
9932
9932
  const m = r.value.text ?? "";
9933
- return qn(m);
9934
- }), l = V(() => kb(t.id, s.value, t.transitioning)), u = V(() => {
9933
+ return Vn(m);
9934
+ }), l = q(() => kb(t.id, s.value, t.transitioning)), u = q(() => {
9935
9935
  const m = {};
9936
9936
  r.value.position.width && (m.width = `${r.value.position.width}px`), r.value.position.height && (m.height = `${r.value.position.height}px`), r.value.background && (m.backgroundImage = `url(${i})`);
9937
9937
  let a = r.value.position.left, d = r.value.position.top;
@@ -9962,15 +9962,15 @@ const Ab = ["id"], Eb = ["innerHTML"], Ib = /* @__PURE__ */ $e({
9962
9962
  activeInteractive: {}
9963
9963
  },
9964
9964
  setup(e) {
9965
- const t = e, n = ke(), r = on(), i = V(() => !!(t.activeInteractive && t.activeInteractive.layer === t.layerIndex)), s = V(() => r.tree.filter((T) => T.layer === t.layerIndex)), o = V(() => de().layout.backgrounds.width), l = V(() => de().layout.backgrounds.height), u = V(() => t.layer), c = V(() => {
9965
+ const t = e, n = ke(), r = on(), i = q(() => !!(t.activeInteractive && t.activeInteractive.layer === t.layerIndex)), s = q(() => r.tree.filter((T) => T.layer === t.layerIndex)), o = q(() => de().layout.backgrounds.width), l = q(() => de().layout.backgrounds.height), u = q(() => t.layer), c = q(() => {
9966
9966
  const T = Xi(u.value);
9967
9967
  return T || ue(`Screen ${u.value} doesn't have a config`), T;
9968
- }), m = V(() => n.isInGame), a = V(() => c.value.buttons || []), d = V(() => c.value.video), p = V(() => ({
9968
+ }), m = q(() => n.isInGame), a = q(() => c.value.buttons || []), d = q(() => c.value.video), p = q(() => ({
9969
9969
  width: `${o.value}px`,
9970
9970
  height: `${l.value}px`
9971
- })), h = V(() => {
9971
+ })), h = q(() => {
9972
9972
  let T;
9973
- return c.value.background !== qo && (T = `url(${Zi(c.value.background)})`), {
9973
+ return c.value.background !== Vo && (T = `url(${Zi(c.value.background)})`), {
9974
9974
  backgroundImage: T,
9975
9975
  position: "absolute",
9976
9976
  left: 0,
@@ -9978,7 +9978,7 @@ const Ab = ["id"], Eb = ["innerHTML"], Ib = /* @__PURE__ */ $e({
9978
9978
  width: `${o.value}px`,
9979
9979
  height: `${l.value}px`
9980
9980
  };
9981
- }), v = V(() => ({
9981
+ }), v = q(() => ({
9982
9982
  position: "absolute",
9983
9983
  left: 0,
9984
9984
  top: 0,
@@ -10081,7 +10081,7 @@ function ec(e, t, n) {
10081
10081
  const gf = /* @__PURE__ */ $e({
10082
10082
  __name: "screens",
10083
10083
  setup(e) {
10084
- const t = V(() => at().inGameInputListener), n = ke(), r = pn(), i = on(), s = le(0), o = V(() => r.nonEmptyLayers), l = V(() => {
10084
+ const t = q(() => at().inGameInputListener), n = ke(), r = pn(), i = on(), s = le(0), o = q(() => r.nonEmptyLayers), l = q(() => {
10085
10085
  const h = [];
10086
10086
  return o.value.reduce((v, T, _) => {
10087
10087
  const j = Xi(T.screen).buttons;
@@ -10101,16 +10101,16 @@ const gf = /* @__PURE__ */ $e({
10101
10101
  });
10102
10102
  return v;
10103
10103
  }, h);
10104
- }), u = V(() => {
10104
+ }), u = q(() => {
10105
10105
  if (l.value.length === 0)
10106
10106
  return null;
10107
10107
  let h = s.value;
10108
10108
  return h > l.value.length - 1 && (h = l.value.length - 1), l.value[h];
10109
- }), c = V(() => de().layout.backgrounds.width), m = V(() => de().layout.backgrounds.height), a = V(() => n.isInGame);
10109
+ }), c = q(() => de().layout.backgrounds.width), m = q(() => de().layout.backgrounds.height), a = q(() => n.isInGame);
10110
10110
  function d(h) {
10111
10111
  r.finishTransition(h);
10112
10112
  }
10113
- const p = V(() => {
10113
+ const p = q(() => {
10114
10114
  const h = c.value;
10115
10115
  return {
10116
10116
  height: `${m.value}px`,
@@ -10288,7 +10288,7 @@ const gf = /* @__PURE__ */ $e({
10288
10288
  }
10289
10289
  }
10290
10290
  }), Fb = ["src"], Ub = ["innerHTML"], Bb = ["innerHTML"];
10291
- function Vb(e, t, n, r, i, s) {
10291
+ function qb(e, t, n, r, i, s) {
10292
10292
  return e.hasHud ? (D(), J("div", {
10293
10293
  key: 0,
10294
10294
  class: "hud",
@@ -10314,12 +10314,12 @@ function Vb(e, t, n, r, i, s) {
10314
10314
  ]))), 128))
10315
10315
  ], 4)) : Oe("", !0);
10316
10316
  }
10317
- const vf = /* @__PURE__ */ hn(Rb, [["render", Vb]]), _f = /* @__PURE__ */ $e({
10317
+ const vf = /* @__PURE__ */ hn(Rb, [["render", qb]]), _f = /* @__PURE__ */ $e({
10318
10318
  __name: "in-game",
10319
10319
  setup(e) {
10320
- const t = at(), n = V(() => t.inGameInputListener), r = ke(), i = gt(), s = V(() => i.layoutMode), o = V(() => r.saving), l = le(null), u = Ye(), c = le(null), m = V(
10320
+ const t = at(), n = q(() => t.inGameInputListener), r = ke(), i = gt(), s = q(() => i.layoutMode), o = q(() => r.saving), l = le(null), u = Ye(), c = le(null), m = q(
10321
10321
  () => o.value && !o.value.withPrompt || o.value && l.value
10322
- ), a = V(() => {
10322
+ ), a = q(() => {
10323
10323
  let v = "row";
10324
10324
  return s.value === "vertical" && (v = "column"), {
10325
10325
  flexDirection: v
@@ -10346,7 +10346,7 @@ const vf = /* @__PURE__ */ hn(Rb, [["render", Vb]]), _f = /* @__PURE__ */ $e({
10346
10346
  });
10347
10347
  }), _t(() => {
10348
10348
  n.value && t.removeInGameInputListener(), c.value && mn.off("debouncedKeydown", c.value);
10349
- }), V(() => Xt().visible === !1 ? !1 : Object.keys(Xt().hudStats).length > 0), (v, T) => (D(), J("div", {
10349
+ }), q(() => Xt().visible === !1 ? !1 : Object.keys(Xt().hudStats).length > 0), (v, T) => (D(), J("div", {
10350
10350
  class: "game",
10351
10351
  style: Qe(a.value)
10352
10352
  }, [
@@ -10368,7 +10368,7 @@ const vf = /* @__PURE__ */ hn(Rb, [["render", Vb]]), _f = /* @__PURE__ */ $e({
10368
10368
  })) : Oe("", !0)
10369
10369
  ], 4));
10370
10370
  }
10371
- }), qb = { class: "chapter-title-scene" }, Hb = ["innerHTML"], Kb = ["innerHTML"], Gb = /* @__PURE__ */ $e({
10371
+ }), Vb = { class: "chapter-title-scene" }, Hb = ["innerHTML"], Kb = ["innerHTML"], Gb = /* @__PURE__ */ $e({
10372
10372
  __name: "chapter-title",
10373
10373
  props: {
10374
10374
  options: {}
@@ -10382,7 +10382,7 @@ const vf = /* @__PURE__ */ hn(Rb, [["render", Vb]]), _f = /* @__PURE__ */ $e({
10382
10382
  n.value = setTimeout(r, t.options.duration ?? 2e3);
10383
10383
  }), _t(() => {
10384
10384
  n.value && (clearTimeout(n.value), n.value = null);
10385
- }), (i, s) => (D(), J("div", qb, [
10385
+ }), (i, s) => (D(), J("div", Vb, [
10386
10386
  U("h1", {
10387
10387
  class: "title chapter-title",
10388
10388
  innerHTML: t.options.title
@@ -11077,11 +11077,11 @@ function dT(e, t) {
11077
11077
  }
11078
11078
  class fT {
11079
11079
  constructor() {
11080
- Ve(this, "plugins", []);
11081
- Ve(this, "pinia");
11082
- Ve(this, "script", {});
11083
- Ve(this, "scripts", []);
11084
- Ve(this, "commands", {});
11080
+ qe(this, "plugins", []);
11081
+ qe(this, "pinia");
11082
+ qe(this, "script", {});
11083
+ qe(this, "scripts", []);
11084
+ qe(this, "commands", {});
11085
11085
  }
11086
11086
  addCommand(t) {
11087
11087
  this.commands[t.keyword] = t;
@@ -11149,7 +11149,7 @@ async function pT(e, t) {
11149
11149
  u = await Jo(l, t);
11150
11150
  else if (typeof l == "string")
11151
11151
  if (l.search(ru) === 0)
11152
- u = qn(l.substring(3));
11152
+ u = Vn(l.substring(3));
11153
11153
  else if (cd(l)) {
11154
11154
  const c = si(), m = w$(c, l);
11155
11155
  if (m) {
@@ -11367,7 +11367,7 @@ const Ta = f.Type.Object({
11367
11367
  ),
11368
11368
  scripts: f.Type.Optional(f.Type.Union([f.Type.String(), Su])),
11369
11369
  audio: f.Type.Union([f.Type.String(), cu]),
11370
- tooltips: f.Type.Optional(f.Type.Union([f.Type.String(), Vu])),
11370
+ tooltips: f.Type.Optional(f.Type.Union([f.Type.String(), qu])),
11371
11371
  items: f.Type.Optional(f.Type.Union([f.Type.String(), ku])),
11372
11372
  achievements: f.Type.Optional(
11373
11373
  f.Type.Union([f.Type.String(), Gu])
@@ -12804,7 +12804,7 @@ function BT(e) {
12804
12804
  Fe.validateUnion = BT;
12805
12805
  Object.defineProperty(Sn, "__esModule", { value: !0 });
12806
12806
  Sn.validateKeywordUsage = Sn.validSchemaType = Sn.funcKeywordCode = Sn.macroKeywordCode = void 0;
12807
- const Ut = Ue, gr = Pn, VT = Fe, qT = Gi;
12807
+ const Ut = Ue, gr = Pn, qT = Fe, VT = Gi;
12808
12808
  function HT(e, t) {
12809
12809
  const { gen: n, keyword: r, schema: i, parentSchema: s, it: o } = e, l = t.macro.call(o.self, i, s, o), u = Rf(n, r, l);
12810
12810
  o.opts.validateSchema !== !1 && o.self.validateSchema(l, !0);
@@ -12842,7 +12842,7 @@ function KT(e, t) {
12842
12842
  }
12843
12843
  function v(_ = t.async ? (0, Ut._)`await ` : Ut.nil) {
12844
12844
  const E = u.opts.passContext ? gr.default.this : gr.default.self, j = !("compile" in t && !l || t.schema === !1);
12845
- r.assign(a, (0, Ut._)`${_}${(0, VT.callValidateCode)(e, m, E, j)}`, t.modifying);
12845
+ r.assign(a, (0, Ut._)`${_}${(0, qT.callValidateCode)(e, m, E, j)}`, t.modifying);
12846
12846
  }
12847
12847
  function T(_) {
12848
12848
  var E;
@@ -12857,7 +12857,7 @@ function oc(e) {
12857
12857
  function GT(e, t) {
12858
12858
  const { gen: n } = e;
12859
12859
  n.if((0, Ut._)`Array.isArray(${t})`, () => {
12860
- n.assign(gr.default.vErrors, (0, Ut._)`${gr.default.vErrors} === null ? ${t} : ${gr.default.vErrors}.concat(${t})`).assign(gr.default.errors, (0, Ut._)`${gr.default.vErrors}.length`), (0, qT.extendErrors)(e);
12860
+ n.assign(gr.default.vErrors, (0, Ut._)`${gr.default.vErrors} === null ? ${t} : ${gr.default.vErrors}.concat(${t})`).assign(gr.default.errors, (0, Ut._)`${gr.default.vErrors}.length`), (0, VT.extendErrors)(e);
12861
12861
  }, () => e.error());
12862
12862
  }
12863
12863
  function WT({ schemaEnv: e }, t) {
@@ -13071,7 +13071,7 @@ const t0 = Ge, n0 = Uf, r0 = e0, i0 = /* @__PURE__ */ new Set([
13071
13071
  "const"
13072
13072
  ]);
13073
13073
  function o0(e, t = !0) {
13074
- return typeof e == "boolean" ? !0 : t === !0 ? !Ms(e) : t ? Vf(e) <= t : !1;
13074
+ return typeof e == "boolean" ? !0 : t === !0 ? !Ms(e) : t ? qf(e) <= t : !1;
13075
13075
  }
13076
13076
  Et.inlineRef = o0;
13077
13077
  const s0 = /* @__PURE__ */ new Set([
@@ -13091,22 +13091,22 @@ function Ms(e) {
13091
13091
  }
13092
13092
  return !1;
13093
13093
  }
13094
- function Vf(e) {
13094
+ function qf(e) {
13095
13095
  let t = 0;
13096
13096
  for (const n in e) {
13097
13097
  if (n === "$ref")
13098
13098
  return 1 / 0;
13099
- if (t++, !i0.has(n) && (typeof e[n] == "object" && (0, t0.eachItem)(e[n], (r) => t += Vf(r)), t === 1 / 0))
13099
+ if (t++, !i0.has(n) && (typeof e[n] == "object" && (0, t0.eachItem)(e[n], (r) => t += qf(r)), t === 1 / 0))
13100
13100
  return 1 / 0;
13101
13101
  }
13102
13102
  return t;
13103
13103
  }
13104
- function qf(e, t = "", n) {
13104
+ function Vf(e, t = "", n) {
13105
13105
  n !== !1 && (t = Yr(t));
13106
13106
  const r = e.parse(t);
13107
13107
  return Hf(e, r);
13108
13108
  }
13109
- Et.getFullPath = qf;
13109
+ Et.getFullPath = Vf;
13110
13110
  function Hf(e, t) {
13111
13111
  return e.serialize(t).split("#")[0] + "#";
13112
13112
  }
@@ -13124,7 +13124,7 @@ const c0 = /^[a-z_][-a-z0-9._]*$/i;
13124
13124
  function u0(e, t) {
13125
13125
  if (typeof e == "boolean")
13126
13126
  return {};
13127
- const { schemaId: n, uriResolver: r } = this.opts, i = Yr(e[n] || t), s = { "": i }, o = qf(r, i, !1), l = {}, u = /* @__PURE__ */ new Set();
13127
+ const { schemaId: n, uriResolver: r } = this.opts, i = Yr(e[n] || t), s = { "": i }, o = Vf(r, i, !1), l = {}, u = /* @__PURE__ */ new Set();
13128
13128
  return r0(e, { allKeys: !0 }, (a, d, p, h) => {
13129
13129
  if (h === void 0)
13130
13130
  return;
@@ -13607,7 +13607,7 @@ function es(e, t) {
13607
13607
  }
13608
13608
  }
13609
13609
  Ht.resolveSchema = es;
13610
- const V0 = /* @__PURE__ */ new Set([
13610
+ const q0 = /* @__PURE__ */ new Set([
13611
13611
  "properties",
13612
13612
  "patternProperties",
13613
13613
  "enum",
@@ -13626,7 +13626,7 @@ function vs(e, { baseId: t, schema: n, root: r }) {
13626
13626
  return;
13627
13627
  n = u;
13628
13628
  const c = typeof n == "object" && n[this.opts.schemaId];
13629
- !V0.has(l) && c && (t = (0, un.resolveUrl)(this.opts.uriResolver, t, c));
13629
+ !q0.has(l) && c && (t = (0, un.resolveUrl)(this.opts.uriResolver, t, c));
13630
13630
  }
13631
13631
  let s;
13632
13632
  if (typeof n != "boolean" && n.$ref && !(0, uc.schemaHasRulesButRef)(n, this.RULES)) {
@@ -13637,7 +13637,7 @@ function vs(e, { baseId: t, schema: n, root: r }) {
13637
13637
  if (s = s || new Zo({ schema: n, schemaId: o, root: r, baseId: t }), s.schema !== s.root.schema)
13638
13638
  return s;
13639
13639
  }
13640
- const q0 = "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", H0 = "Meta-schema for $data reference (JSON AnySchema extension proposal)", K0 = "object", G0 = [
13640
+ const V0 = "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", H0 = "Meta-schema for $data reference (JSON AnySchema extension proposal)", K0 = "object", G0 = [
13641
13641
  "$data"
13642
13642
  ], W0 = {
13643
13643
  $data: {
@@ -13652,7 +13652,7 @@ const q0 = "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/
13652
13652
  ]
13653
13653
  }
13654
13654
  }, z0 = !1, Q0 = {
13655
- $id: q0,
13655
+ $id: V0,
13656
13656
  description: H0,
13657
13657
  type: K0,
13658
13658
  required: G0,
@@ -14019,13 +14019,13 @@ var Ea = {}, Rs = { exports: {} };
14019
14019
  return "[" + ge + (_e ? "%25" + _e : "") + "]";
14020
14020
  })), (typeof I.port == "number" || typeof I.port == "string") && (W.push(":"), W.push(String(I.port))), W.length ? W.join("") : void 0;
14021
14021
  }
14022
- var Ae = /^\.\.?\//, qe = /^\/\.(\/|$)/, lt = /^\/\.\.(\/|$)/, ot = /^\/?(?:.|\n)*?(?=\/|$)/;
14022
+ var Ae = /^\.\.?\//, Ve = /^\/\.(\/|$)/, lt = /^\/\.\.(\/|$)/, ot = /^\/?(?:.|\n)*?(?=\/|$)/;
14023
14023
  function Ne(I) {
14024
14024
  for (var A = []; I.length; )
14025
14025
  if (I.match(Ae))
14026
14026
  I = I.replace(Ae, "");
14027
- else if (I.match(qe))
14028
- I = I.replace(qe, "/");
14027
+ else if (I.match(Ve))
14028
+ I = I.replace(Ve, "/");
14029
14029
  else if (I.match(lt))
14030
14030
  I = I.replace(lt, "/"), A.pop();
14031
14031
  else if (I === "." || I === "..")
@@ -14276,7 +14276,7 @@ Ea.default = rp;
14276
14276
  unicode: '"minLength"/"maxLength" account for unicode characters by default.'
14277
14277
  }, E = 200;
14278
14278
  function j(N) {
14279
- var y, k, C, g, b, $, M, H, ie, ne, oe, je, R, ee, he, fe, we, Ae, qe, lt, ot, Ne, G, se, ae;
14279
+ var y, k, C, g, b, $, M, H, ie, ne, oe, je, R, ee, he, fe, we, Ae, Ve, lt, ot, Ne, G, se, ae;
14280
14280
  const pe = N.strict, Se = (y = N.code) === null || y === void 0 ? void 0 : y.optimize, xe = Se === !0 || Se === void 0 ? 1 : Se || 0, Ee = (C = (k = N.code) === null || k === void 0 ? void 0 : k.regExp) !== null && C !== void 0 ? C : p, Tt = (g = N.uriResolver) !== null && g !== void 0 ? g : d.default;
14281
14281
  return {
14282
14282
  strictSchema: ($ = (b = N.strictSchema) !== null && b !== void 0 ? b : pe) !== null && $ !== void 0 ? $ : !0,
@@ -14289,7 +14289,7 @@ Ea.default = rp;
14289
14289
  loopEnum: (fe = N.loopEnum) !== null && fe !== void 0 ? fe : E,
14290
14290
  meta: (we = N.meta) !== null && we !== void 0 ? we : !0,
14291
14291
  messages: (Ae = N.messages) !== null && Ae !== void 0 ? Ae : !0,
14292
- inlineRefs: (qe = N.inlineRefs) !== null && qe !== void 0 ? qe : !0,
14292
+ inlineRefs: (Ve = N.inlineRefs) !== null && Ve !== void 0 ? Ve : !0,
14293
14293
  schemaId: (lt = N.schemaId) !== null && lt !== void 0 ? lt : "$id",
14294
14294
  addUsedSchema: (ot = N.addUsedSchema) !== null && ot !== void 0 ? ot : !0,
14295
14295
  validateSchema: (Ne = N.validateSchema) !== null && Ne !== void 0 ? Ne : !0,
@@ -14670,7 +14670,7 @@ Na.default = J0;
14670
14670
  var Pr = {};
14671
14671
  Object.defineProperty(Pr, "__esModule", { value: !0 });
14672
14672
  Pr.callRef = Pr.getValidate = void 0;
14673
- const X0 = Qi, dc = Fe, qt = Ue, Br = Pn, fc = Ht, io = Ge, Z0 = {
14673
+ const X0 = Qi, dc = Fe, Vt = Ue, Br = Pn, fc = Ht, io = Ge, Z0 = {
14674
14674
  keyword: "$ref",
14675
14675
  schemaType: "string",
14676
14676
  code(e) {
@@ -14687,17 +14687,17 @@ const X0 = Qi, dc = Fe, qt = Ue, Br = Pn, fc = Ht, io = Ge, Z0 = {
14687
14687
  if (s === c)
14688
14688
  return yo(e, o, s, s.$async);
14689
14689
  const h = t.scopeValue("root", { ref: c });
14690
- return yo(e, (0, qt._)`${h}.validate`, c, c.$async);
14690
+ return yo(e, (0, Vt._)`${h}.validate`, c, c.$async);
14691
14691
  }
14692
14692
  function d(h) {
14693
14693
  const v = ip(e, h);
14694
14694
  yo(e, v, h, h.$async);
14695
14695
  }
14696
14696
  function p(h) {
14697
- const v = t.scopeValue("schema", l.code.source === !0 ? { ref: h, code: (0, qt.stringify)(h) } : { ref: h }), T = t.name("valid"), _ = e.subschema({
14697
+ const v = t.scopeValue("schema", l.code.source === !0 ? { ref: h, code: (0, Vt.stringify)(h) } : { ref: h }), T = t.name("valid"), _ = e.subschema({
14698
14698
  schema: h,
14699
14699
  dataTypes: [],
14700
- schemaPath: qt.nil,
14700
+ schemaPath: Vt.nil,
14701
14701
  topSchemaRef: v,
14702
14702
  errSchemaPath: n
14703
14703
  }, T);
@@ -14707,28 +14707,28 @@ const X0 = Qi, dc = Fe, qt = Ue, Br = Pn, fc = Ht, io = Ge, Z0 = {
14707
14707
  };
14708
14708
  function ip(e, t) {
14709
14709
  const { gen: n } = e;
14710
- return t.validate ? n.scopeValue("validate", { ref: t.validate }) : (0, qt._)`${n.scopeValue("wrapper", { ref: t })}.validate`;
14710
+ return t.validate ? n.scopeValue("validate", { ref: t.validate }) : (0, Vt._)`${n.scopeValue("wrapper", { ref: t })}.validate`;
14711
14711
  }
14712
14712
  Pr.getValidate = ip;
14713
14713
  function yo(e, t, n, r) {
14714
- const { gen: i, it: s } = e, { allErrors: o, schemaEnv: l, opts: u } = s, c = u.passContext ? Br.default.this : qt.nil;
14714
+ const { gen: i, it: s } = e, { allErrors: o, schemaEnv: l, opts: u } = s, c = u.passContext ? Br.default.this : Vt.nil;
14715
14715
  r ? m() : a();
14716
14716
  function m() {
14717
14717
  if (!l.$async)
14718
14718
  throw new Error("async schema referenced by sync schema");
14719
14719
  const h = i.let("valid");
14720
14720
  i.try(() => {
14721
- i.code((0, qt._)`await ${(0, dc.callValidateCode)(e, t, c)}`), p(t), o || i.assign(h, !0);
14721
+ i.code((0, Vt._)`await ${(0, dc.callValidateCode)(e, t, c)}`), p(t), o || i.assign(h, !0);
14722
14722
  }, (v) => {
14723
- i.if((0, qt._)`!(${v} instanceof ${s.ValidationError})`, () => i.throw(v)), d(v), o || i.assign(h, !1);
14723
+ i.if((0, Vt._)`!(${v} instanceof ${s.ValidationError})`, () => i.throw(v)), d(v), o || i.assign(h, !1);
14724
14724
  }), e.ok(h);
14725
14725
  }
14726
14726
  function a() {
14727
14727
  e.result((0, dc.callValidateCode)(e, t, c), () => p(t), () => d(t));
14728
14728
  }
14729
14729
  function d(h) {
14730
- const v = (0, qt._)`${h}.errors`;
14731
- i.assign(Br.default.vErrors, (0, qt._)`${Br.default.vErrors} === null ? ${v} : ${Br.default.vErrors}.concat(${v})`), i.assign(Br.default.errors, (0, qt._)`${Br.default.vErrors}.length`);
14730
+ const v = (0, Vt._)`${h}.errors`;
14731
+ i.assign(Br.default.vErrors, (0, Vt._)`${Br.default.vErrors} === null ? ${v} : ${Br.default.vErrors}.concat(${v})`), i.assign(Br.default.errors, (0, Vt._)`${Br.default.vErrors}.length`);
14732
14732
  }
14733
14733
  function p(h) {
14734
14734
  var v;
@@ -14739,15 +14739,15 @@ function yo(e, t, n, r) {
14739
14739
  if (T && !T.dynamicProps)
14740
14740
  T.props !== void 0 && (s.props = io.mergeEvaluated.props(i, T.props, s.props));
14741
14741
  else {
14742
- const _ = i.var("props", (0, qt._)`${h}.evaluated.props`);
14743
- s.props = io.mergeEvaluated.props(i, _, s.props, qt.Name);
14742
+ const _ = i.var("props", (0, Vt._)`${h}.evaluated.props`);
14743
+ s.props = io.mergeEvaluated.props(i, _, s.props, Vt.Name);
14744
14744
  }
14745
14745
  if (s.items !== !0)
14746
14746
  if (T && !T.dynamicItems)
14747
14747
  T.items !== void 0 && (s.items = io.mergeEvaluated.items(i, T.items, s.items));
14748
14748
  else {
14749
- const _ = i.var("items", (0, qt._)`${h}.evaluated.items`);
14750
- s.items = io.mergeEvaluated.items(i, _, s.items, qt.Name);
14749
+ const _ = i.var("items", (0, Vt._)`${h}.evaluated.items`);
14750
+ s.items = io.mergeEvaluated.items(i, _, s.items, Vt.Name);
14751
14751
  }
14752
14752
  }
14753
14753
  }
@@ -14945,12 +14945,12 @@ const Pi = Ue, _S = {
14945
14945
  }
14946
14946
  };
14947
14947
  Ba.default = bS;
14948
- var Va = {}, Yi = {};
14948
+ var qa = {}, Yi = {};
14949
14949
  Object.defineProperty(Yi, "__esModule", { value: !0 });
14950
14950
  const sp = Uf;
14951
14951
  sp.code = 'require("ajv/dist/runtime/equal").default';
14952
14952
  Yi.default = sp;
14953
- Object.defineProperty(Va, "__esModule", { value: !0 });
14953
+ Object.defineProperty(qa, "__esModule", { value: !0 });
14954
14954
  const _s = Wi, At = Ue, TS = Ge, SS = Yi, wS = {
14955
14955
  message: ({ params: { i: e, j: t } }) => (0, At.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,
14956
14956
  params: ({ params: { i: e, j: t } }) => (0, At._)`{i: ${e}, j: ${t}}`
@@ -14989,9 +14989,9 @@ const _s = Wi, At = Ue, TS = Ge, SS = Yi, wS = {
14989
14989
  }
14990
14990
  }
14991
14991
  };
14992
- Va.default = $S;
14993
- var qa = {};
14994
- Object.defineProperty(qa, "__esModule", { value: !0 });
14992
+ qa.default = $S;
14993
+ var Va = {};
14994
+ Object.defineProperty(Va, "__esModule", { value: !0 });
14995
14995
  const Fs = Ue, CS = Ge, kS = Yi, OS = {
14996
14996
  message: "must be equal to constant",
14997
14997
  params: ({ schemaCode: e }) => (0, Fs._)`{allowedValue: ${e}}`
@@ -15004,7 +15004,7 @@ const Fs = Ue, CS = Ge, kS = Yi, OS = {
15004
15004
  r || s && typeof s == "object" ? e.fail$data((0, Fs._)`!${(0, CS.useFunc)(t, kS.default)}(${n}, ${i})`) : e.fail((0, Fs._)`${s} !== ${n}`);
15005
15005
  }
15006
15006
  };
15007
- qa.default = AS;
15007
+ Va.default = AS;
15008
15008
  var Ha = {};
15009
15009
  Object.defineProperty(Ha, "__esModule", { value: !0 });
15010
15010
  const Ti = Ue, ES = Ge, IS = Yi, PS = {
@@ -15043,7 +15043,7 @@ const Ti = Ue, ES = Ge, IS = Yi, PS = {
15043
15043
  };
15044
15044
  Ha.default = NS;
15045
15045
  Object.defineProperty(xa, "__esModule", { value: !0 });
15046
- const xS = ja, jS = La, LS = Da, DS = Ra, MS = Fa, RS = Ua, FS = Ba, US = Va, BS = qa, VS = Ha, qS = [
15046
+ const xS = ja, jS = La, LS = Da, DS = Ra, MS = Fa, RS = Ua, FS = Ba, US = qa, BS = Va, qS = Ha, VS = [
15047
15047
  // number
15048
15048
  xS.default,
15049
15049
  jS.default,
@@ -15060,9 +15060,9 @@ const xS = ja, jS = La, LS = Da, DS = Ra, MS = Fa, RS = Ua, FS = Ba, US = Va, BS
15060
15060
  { keyword: "type", schemaType: ["string", "array"] },
15061
15061
  { keyword: "nullable", schemaType: "boolean" },
15062
15062
  BS.default,
15063
- VS.default
15063
+ qS.default
15064
15064
  ];
15065
- xa.default = qS;
15065
+ xa.default = VS;
15066
15066
  var Ka = {}, li = {};
15067
15067
  Object.defineProperty(li, "__esModule", { value: !0 });
15068
15068
  li.validateAdditionalItems = void 0;
@@ -15620,15 +15620,15 @@ function Bw(e = !1) {
15620
15620
  Ka.default = Bw;
15621
15621
  var il = {}, ol = {};
15622
15622
  Object.defineProperty(ol, "__esModule", { value: !0 });
15623
- const yt = Ue, Vw = {
15623
+ const yt = Ue, qw = {
15624
15624
  message: ({ schemaCode: e }) => (0, yt.str)`must match format "${e}"`,
15625
15625
  params: ({ schemaCode: e }) => (0, yt._)`{format: ${e}}`
15626
- }, qw = {
15626
+ }, Vw = {
15627
15627
  keyword: "format",
15628
15628
  type: ["number", "string"],
15629
15629
  schemaType: "string",
15630
15630
  $data: !0,
15631
- error: Vw,
15631
+ error: qw,
15632
15632
  code(e, t) {
15633
15633
  const { gen: n, data: r, $data: i, schema: s, schemaCode: o, it: l } = e, { opts: u, errSchemaPath: c, schemaEnv: m, self: a } = l;
15634
15634
  if (!u.validateFormats)
@@ -15683,7 +15683,7 @@ const yt = Ue, Vw = {
15683
15683
  }
15684
15684
  }
15685
15685
  };
15686
- ol.default = qw;
15686
+ ol.default = Vw;
15687
15687
  Object.defineProperty(il, "__esModule", { value: !0 });
15688
15688
  const Hw = ol, Kw = [Hw.default];
15689
15689
  il.default = Kw;
@@ -15721,9 +15721,9 @@ var sl = {}, fp = {};
15721
15721
  }(e.DiscrError || (e.DiscrError = {}));
15722
15722
  })(fp);
15723
15723
  Object.defineProperty(sl, "__esModule", { value: !0 });
15724
- const qr = Ue, Bs = fp, Sc = Ht, Jw = Ge, Xw = {
15724
+ const Vr = Ue, Bs = fp, Sc = Ht, Jw = Ge, Xw = {
15725
15725
  message: ({ params: { discrError: e, tagName: t } }) => e === Bs.DiscrError.Tag ? `tag "${t}" must be string` : `value of tag "${t}" must be in oneOf`,
15726
- params: ({ params: { discrError: e, tag: t, tagName: n } }) => (0, qr._)`{error: ${e}, tag: ${n}, tagValue: ${t}}`
15726
+ params: ({ params: { discrError: e, tag: t, tagName: n } }) => (0, Vr._)`{error: ${e}, tag: ${n}, tagValue: ${t}}`
15727
15727
  }, Zw = {
15728
15728
  keyword: "discriminator",
15729
15729
  type: "object",
@@ -15740,18 +15740,18 @@ const qr = Ue, Bs = fp, Sc = Ht, Jw = Ge, Xw = {
15740
15740
  throw new Error("discriminator: mapping is not supported");
15741
15741
  if (!o)
15742
15742
  throw new Error("discriminator: requires oneOf keyword");
15743
- const u = t.let("valid", !1), c = t.const("tag", (0, qr._)`${n}${(0, qr.getProperty)(l)}`);
15744
- t.if((0, qr._)`typeof ${c} == "string"`, () => m(), () => e.error(!1, { discrError: Bs.DiscrError.Tag, tag: c, tagName: l })), e.ok(u);
15743
+ const u = t.let("valid", !1), c = t.const("tag", (0, Vr._)`${n}${(0, Vr.getProperty)(l)}`);
15744
+ t.if((0, Vr._)`typeof ${c} == "string"`, () => m(), () => e.error(!1, { discrError: Bs.DiscrError.Tag, tag: c, tagName: l })), e.ok(u);
15745
15745
  function m() {
15746
15746
  const p = d();
15747
15747
  t.if(!1);
15748
15748
  for (const h in p)
15749
- t.elseIf((0, qr._)`${c} === ${h}`), t.assign(u, a(p[h]));
15749
+ t.elseIf((0, Vr._)`${c} === ${h}`), t.assign(u, a(p[h]));
15750
15750
  t.else(), e.error(!1, { discrError: Bs.DiscrError.Mapping, tag: c, tagName: l }), t.endIf();
15751
15751
  }
15752
15752
  function a(p) {
15753
15753
  const h = t.name("valid"), v = e.subschema({ keyword: "oneOf", schemaProp: p }, h);
15754
- return e.mergeEvaluated(v, qr.Name), h;
15754
+ return e.mergeEvaluated(v, Vr.Name), h;
15755
15755
  }
15756
15756
  function d() {
15757
15757
  var p;
@@ -16126,7 +16126,7 @@ function hp(e) {
16126
16126
  console.log("Received HMR update for ", e.default.id);
16127
16127
  const t = e.default;
16128
16128
  if (yp(t))
16129
- Vt().addNotification(
16129
+ qt().addNotification(
16130
16130
  `Reloaded ${t.fileName}`,
16131
16131
  "You can continue playing with the changes."
16132
16132
  ), Me.addNarratScript(t);
@@ -16162,14 +16162,14 @@ window.narratHMRHandler = (e) => {
16162
16162
  });
16163
16163
  document.body.dispatchEvent(n);
16164
16164
  };
16165
- class q {
16165
+ class V {
16166
16166
  constructor(t, n, r, i) {
16167
- Ve(this, "keyword");
16168
- Ve(this, "runner");
16169
- Ve(this, "argTypes");
16170
- Ve(this, "parser");
16171
- Ve(this, "onPlayerAnswered");
16172
- Ve(this, "returnAfterPlayerAnswer");
16167
+ qe(this, "keyword");
16168
+ qe(this, "runner");
16169
+ qe(this, "argTypes");
16170
+ qe(this, "parser");
16171
+ qe(this, "onPlayerAnswered");
16172
+ qe(this, "returnAfterPlayerAnswer");
16173
16173
  this.keyword = t, this.runner = r, this.argTypes = n, i ? this.parser = i : this.parser = Ji(this.keyword, this.argTypes), this.returnAfterPlayerAnswer = !1;
16174
16174
  }
16175
16175
  async run(t, n) {
@@ -16183,7 +16183,7 @@ class q {
16183
16183
  return this.onPlayerAnswered && (r = await this.onPlayerAnswered(t, n)), this.returnAfterPlayerAnswer && t.finishCommand && t.finishCommand(r), r;
16184
16184
  }
16185
16185
  static FromOptions(t) {
16186
- const n = new q(
16186
+ const n = new V(
16187
16187
  t.keyword,
16188
16188
  t.argTypes,
16189
16189
  t.runner,
@@ -16242,14 +16242,14 @@ function f$(e, ...t) {
16242
16242
  console.log(`[${e.fileName}:${e.line}] log: `, ...t);
16243
16243
  }
16244
16244
  function gp(e, t, n) {
16245
- const r = q.FromOptions({
16245
+ const r = V.FromOptions({
16246
16246
  keyword: e,
16247
16247
  argTypes: t,
16248
16248
  runner: async (i) => await Ie().runLabelFunction(n, ...i.args)
16249
16249
  });
16250
16250
  Me.addCommand(r);
16251
16251
  }
16252
- const p$ = q.FromOptions({
16252
+ const p$ = V.FromOptions({
16253
16253
  keyword: "create_macro",
16254
16254
  argTypes: "any",
16255
16255
  runner: async (e) => {
@@ -16273,7 +16273,7 @@ const p$ = q.FromOptions({
16273
16273
  ["scripts", Su, Rh],
16274
16274
  ["audio", cu, uu],
16275
16275
  ["quests", Au, Eu],
16276
- ["tooltips", Vu, qu],
16276
+ ["tooltips", qu, Vu],
16277
16277
  ["characters", Uu, Bu],
16278
16278
  ["choices", Ju, Xu],
16279
16279
  ["animations", ed, td],
@@ -16406,7 +16406,7 @@ function jo(e) {
16406
16406
  function Bn() {
16407
16407
  return et().skills;
16408
16408
  }
16409
- function Vi() {
16409
+ function qi() {
16410
16410
  return et().skillChecks;
16411
16411
  }
16412
16412
  function ll() {
@@ -16415,7 +16415,7 @@ function ll() {
16415
16415
  function ns() {
16416
16416
  return et().quests;
16417
16417
  }
16418
- function Vs() {
16418
+ function qs() {
16419
16419
  return et().screens;
16420
16420
  }
16421
16421
  function cl() {
@@ -16427,17 +16427,17 @@ function $r() {
16427
16427
  function ul() {
16428
16428
  return et().characters;
16429
16429
  }
16430
- function qs() {
16430
+ function Vs() {
16431
16431
  return et().choices;
16432
16432
  }
16433
16433
  function _p() {
16434
16434
  return et().animations;
16435
16435
  }
16436
16436
  function $c(e) {
16437
- return qs().choicePrompts[e];
16437
+ return Vs().choicePrompts[e];
16438
16438
  }
16439
16439
  function Xi(e) {
16440
- return e === qo ? xl : Vs().screens[e] ? Vs().screens[e] : (ue(`Screen config for screen ${e} doesn't exist`), xl);
16440
+ return e === Vo ? xl : qs().screens[e] ? qs().screens[e] : (ue(`Screen config for screen ${e} doesn't exist`), xl);
16441
16441
  }
16442
16442
  function Lo(e) {
16443
16443
  const n = $r().tooltips.find((r) => r.keywords.includes(e));
@@ -16478,11 +16478,11 @@ function wn(e) {
16478
16478
  const t = ll().items[e];
16479
16479
  return t || ue(`Item config for skill ${e} doesn't exist`), t;
16480
16480
  }
16481
- function qi() {
16481
+ function Vi() {
16482
16482
  return et().achievements;
16483
16483
  }
16484
16484
  function pl(e) {
16485
- const t = qi().achievements[e];
16485
+ const t = Vi().achievements[e];
16486
16486
  return t || ue(`Achievement config for achievement ${e} doesn't exist`), t;
16487
16487
  }
16488
16488
  function sr(e) {
@@ -16549,19 +16549,19 @@ const Pt = bt("quests", {
16549
16549
  },
16550
16550
  startQuest(e) {
16551
16551
  const t = this.getQuest(e);
16552
- t ? (t.state = "unlocked", Vt().addNotification(
16552
+ t ? (t.state = "unlocked", qt().addNotification(
16553
16553
  `Started quest: ${sr(e).title}`
16554
16554
  )) : ue(`Quest ${e} doesn't exist!`);
16555
16555
  },
16556
16556
  startObjective(e, t) {
16557
16557
  const n = this.getObjective(e, t);
16558
- n ? (n.state = "unlocked", Vt().addNotification(
16558
+ n ? (n.state = "unlocked", qt().addNotification(
16559
16559
  `New quest objective: ${Do(e, t).description}`
16560
16560
  )) : ue(`Objective ${t} doesn't exist in quest ${e}!`);
16561
16561
  },
16562
16562
  completeObjective(e, t) {
16563
16563
  const n = this.getObjective(e, t);
16564
- n ? (n.state = "completed", Vt().addNotification(
16564
+ n ? (n.state = "completed", qt().addNotification(
16565
16565
  `Completed quest objective: ${Do(e, t).description}`
16566
16566
  )) : ue(`Objective ${t} doesn't exist in quest ${e}!`);
16567
16567
  },
@@ -16574,7 +16574,7 @@ const Pt = bt("quests", {
16574
16574
  n.succeeded = r.success;
16575
16575
  } else
16576
16576
  typeof t == "boolean" ? n.succeeded = t : n.succeeded = !0;
16577
- Vt().addNotification(
16577
+ qt().addNotification(
16578
16578
  `Completed quest: ${sr(e).title}`
16579
16579
  );
16580
16580
  } else
@@ -16837,7 +16837,7 @@ const vt = bt("skills", {
16837
16837
  },
16838
16838
  levelledUp(e) {
16839
16839
  const t = Bn().skills[e].name, n = this.skills[e].level;
16840
- Bn().skillOptions.notifyLevelUp && Vt().addNotification(
16840
+ Bn().skillOptions.notifyLevelUp && qt().addNotification(
16841
16841
  `Your skill in ${t} is now level ${n}`
16842
16842
  );
16843
16843
  }
@@ -17118,7 +17118,7 @@ function Pp(e, t, { getFn: n = De.getFn, fieldNormWeight: r = De.fieldNormWeight
17118
17118
  const i = new ml({ getFn: n, fieldNormWeight: r });
17119
17119
  return i.setKeys(e.map(Ip)), i.setSources(t), i.create(), i;
17120
17120
  }
17121
- function V$(e, { getFn: t = De.getFn, fieldNormWeight: n = De.fieldNormWeight } = {}) {
17121
+ function q$(e, { getFn: t = De.getFn, fieldNormWeight: n = De.fieldNormWeight } = {}) {
17122
17122
  const { keys: r, records: i } = e, s = new ml({ getFn: t, fieldNormWeight: n });
17123
17123
  return s.setKeys(r), s.setIndexRecords(i), s;
17124
17124
  }
@@ -17135,7 +17135,7 @@ function co(e, {
17135
17135
  const l = Math.abs(r - n);
17136
17136
  return i ? o + l / i : l ? 1 : o;
17137
17137
  }
17138
- function q$(e = [], t = De.minMatchCharLength) {
17138
+ function V$(e = [], t = De.minMatchCharLength) {
17139
17139
  let n = [], r = -1, i = -1, s = 0;
17140
17140
  for (let o = e.length; s < o; s += 1) {
17141
17141
  let l = e[s];
@@ -17218,7 +17218,7 @@ function H$(e, t, n, {
17218
17218
  score: Math.max(1e-3, j)
17219
17219
  };
17220
17220
  if (v) {
17221
- const P = q$(T, l);
17221
+ const P = V$(T, l);
17222
17222
  P.length ? u && (L.indices = P) : L.isMatch = !1;
17223
17223
  }
17224
17224
  return L;
@@ -17852,7 +17852,7 @@ class ui {
17852
17852
  }
17853
17853
  ui.version = "6.6.2";
17854
17854
  ui.createIndex = Pp;
17855
- ui.parseIndex = V$;
17855
+ ui.parseIndex = q$;
17856
17856
  ui.config = De;
17857
17857
  ui.parseQuery = Lp;
17858
17858
  rC(nC);
@@ -17878,7 +17878,7 @@ const uC = /* @__PURE__ */ U("h3", { class: "title" }, "Jump to label", -1), dC
17878
17878
  background: "var(--light-background)"
17879
17879
  };
17880
17880
  }
17881
- const a = V(() => Object.keys(Me.script).sort());
17881
+ const a = q(() => Object.keys(Me.script).sort());
17882
17882
  return ft(() => {
17883
17883
  ke().debugMode = !0, r = new ui(a.value, {
17884
17884
  includeScore: !0
@@ -17948,7 +17948,7 @@ const uC = /* @__PURE__ */ U("h3", { class: "title" }, "Jump to label", -1), dC
17948
17948
  DebugJumping: hC
17949
17949
  },
17950
17950
  setup() {
17951
- const e = vt(), t = V(() => e.skills), n = V(() => e.skillChecks);
17951
+ const e = vt(), t = q(() => e.skills), n = q(() => e.skillChecks);
17952
17952
  return { skills: t, skillChecks: n };
17953
17953
  },
17954
17954
  data() {
@@ -18171,10 +18171,10 @@ function MC(e, t, n, r, i, s) {
18171
18171
  }, 8, ["onClose"])) : Oe("", !0)
18172
18172
  ]);
18173
18173
  }
18174
- const RC = /* @__PURE__ */ hn(yC, [["render", MC]]), FC = ["src"], UC = ["innerHTML"], BC = ["innerHTML"], VC = /* @__PURE__ */ $e({
18174
+ const RC = /* @__PURE__ */ hn(yC, [["render", MC]]), FC = ["src"], UC = ["innerHTML"], BC = ["innerHTML"], qC = /* @__PURE__ */ $e({
18175
18175
  __name: "notification-toast",
18176
18176
  setup(e) {
18177
- const t = Vt(), n = V(() => t.notifications), r = (i) => {
18177
+ const t = qt(), n = q(() => t.notifications), r = (i) => {
18178
18178
  if (i.description)
18179
18179
  return {
18180
18180
  marginTop: "10px"
@@ -18210,7 +18210,7 @@ const RC = /* @__PURE__ */ hn(yC, [["render", MC]]), FC = ["src"], UC = ["innerH
18210
18210
  _: 1
18211
18211
  }));
18212
18212
  }
18213
- }), qC = { class: "title" }, HC = /* @__PURE__ */ $e({
18213
+ }), VC = { class: "title" }, HC = /* @__PURE__ */ $e({
18214
18214
  __name: "alert-modal",
18215
18215
  props: {
18216
18216
  title: {
@@ -18254,7 +18254,7 @@ const RC = /* @__PURE__ */ hn(yC, [["render", MC]]), FC = ["src"], UC = ["innerH
18254
18254
  containerCssClass: "yes-no-modal"
18255
18255
  }, {
18256
18256
  header: Ze(() => [
18257
- U("h3", qC, ye(e.title ?? "Alert"), 1)
18257
+ U("h3", VC, ye(e.title ?? "Alert"), 1)
18258
18258
  ]),
18259
18259
  body: Ze(() => [
18260
18260
  U("h3", null, ye(e.text), 1)
@@ -18278,7 +18278,7 @@ const RC = /* @__PURE__ */ hn(yC, [["render", MC]]), FC = ["src"], UC = ["innerH
18278
18278
  titleCssClass: {}
18279
18279
  },
18280
18280
  setup(e) {
18281
- const t = le(150), n = le(null), r = e, i = V(() => r.screenWidth ?? window.innerWidth), s = V(() => r.screenHeight ?? window.innerHeight), o = V(() => {
18281
+ const t = le(150), n = le(null), r = e, i = q(() => r.screenWidth ?? window.innerWidth), s = q(() => r.screenHeight ?? window.innerHeight), o = q(() => {
18282
18282
  const l = r.screenMargin ?? 5, u = {};
18283
18283
  let c = r.x - r.width / 2;
18284
18284
  c = Math.min(c, i.value - r.width - l), c = Math.max(l, c), u.left = `${c}px`;
@@ -18313,7 +18313,7 @@ const RC = /* @__PURE__ */ hn(yC, [["render", MC]]), FC = ["src"], UC = ["innerH
18313
18313
  }), WC = { class: "tooltips-ui" }, zC = /* @__PURE__ */ $e({
18314
18314
  __name: "tooltips-ui",
18315
18315
  setup(e) {
18316
- const t = Ki(), n = gt(), r = V(() => t.tooltip), i = V(() => n.screenWidth), s = V(() => n.screenHeight), o = V(() => {
18316
+ const t = Ki(), n = gt(), r = q(() => t.tooltip), i = q(() => n.screenWidth), s = q(() => n.screenHeight), o = q(() => {
18317
18317
  if (r.value)
18318
18318
  return {
18319
18319
  ...r.value,
@@ -18381,14 +18381,14 @@ async function XC() {
18381
18381
  }
18382
18382
  e.setLoadingStep("Assets", 0.3), await Promise.all([t, n, r]), Me.callHook("onAssetsLoaded"), e.setLoadingStep("Starting", 0.9), await JC(), Me.callHook("onGameSetup"), e.gameLoaded();
18383
18383
  }
18384
- const ZC = ["id"], ek = /* @__PURE__ */ $e({
18384
+ const ZC = ["id"], e1 = /* @__PURE__ */ $e({
18385
18385
  __name: "GameScene",
18386
18386
  props: {
18387
18387
  sceneId: {},
18388
18388
  options: {}
18389
18389
  },
18390
18390
  setup(e) {
18391
- const t = e, n = Jt(), r = V(() => n.getSceneConfig(t.sceneId));
18391
+ const t = e, n = Jt(), r = q(() => n.getSceneConfig(t.sceneId));
18392
18392
  function i() {
18393
18393
  n.finishedScene(t.sceneId);
18394
18394
  }
@@ -18448,9 +18448,9 @@ const ZC = ["id"], ek = /* @__PURE__ */ $e({
18448
18448
  const n = (/* @__PURE__ */ new Date()).toISOString();
18449
18449
  t.unlocked = !0, t.unlockTime = n;
18450
18450
  }
18451
- if (qi().notifyNewAchievements) {
18451
+ if (Vi().notifyNewAchievements) {
18452
18452
  const n = pl(e);
18453
- Vt().addNotification(
18453
+ qt().addNotification(
18454
18454
  `New Achievement: ${n.name}`,
18455
18455
  n.description,
18456
18456
  n.icon
@@ -18486,7 +18486,7 @@ const ZC = ["id"], ek = /* @__PURE__ */ $e({
18486
18486
  }
18487
18487
  }
18488
18488
  }
18489
- ), tk = {
18489
+ ), t1 = {
18490
18490
  main: {
18491
18491
  store: ke,
18492
18492
  save: "main"
@@ -18531,7 +18531,7 @@ const ZC = ["id"], ek = /* @__PURE__ */ $e({
18531
18531
  store: jt
18532
18532
  },
18533
18533
  notifications: {
18534
- store: Vt,
18534
+ store: qt,
18535
18535
  config: "common"
18536
18536
  },
18537
18537
  quests: {
@@ -18580,18 +18580,18 @@ const ZC = ["id"], ek = /* @__PURE__ */ $e({
18580
18580
  avoidReset: !0
18581
18581
  }
18582
18582
  };
18583
- Wb(tk);
18584
- const nk = /* @__PURE__ */ $e({
18583
+ Wb(t1);
18584
+ const n1 = /* @__PURE__ */ $e({
18585
18585
  __name: "app",
18586
18586
  props: {
18587
18587
  options: {}
18588
18588
  },
18589
18589
  setup(e) {
18590
- const t = e, n = ke(), r = Jt(), i = V(() => r.activeScene), s = V(() => n.alerts), o = gt(), l = V(() => ({
18590
+ const t = e, n = ke(), r = Jt(), i = q(() => r.activeScene), s = q(() => n.alerts), o = gt(), l = q(() => ({
18591
18591
  transform: `scale(${o.gameScaleRatio}, ${o.gameScaleRatio})`,
18592
18592
  width: `${o.gameWidth}px`,
18593
18593
  height: `${o.actualGameHeight}px`
18594
- })), u = V(() => jt().activeMenu ? "app-blurred-by-modal" : {});
18594
+ })), u = q(() => jt().activeMenu ? "app-blurred-by-modal" : {});
18595
18595
  function c(a) {
18596
18596
  ke().closeAlert(a);
18597
18597
  }
@@ -18625,7 +18625,7 @@ const nk = /* @__PURE__ */ $e({
18625
18625
  }, [
18626
18626
  ct(Ni, { name: "screens-fade" }, {
18627
18627
  default: Ze(() => [
18628
- (D(), Ce(ek, {
18628
+ (D(), Ce(e1, {
18629
18629
  key: i.value,
18630
18630
  sceneId: i.value,
18631
18631
  options: rt(r).currentOptions
@@ -18634,7 +18634,7 @@ const nk = /* @__PURE__ */ $e({
18634
18634
  _: 1
18635
18635
  }),
18636
18636
  a.options.debug ? (D(), Ce(RC, { key: 0 })) : Oe("", !0),
18637
- ct(VC),
18637
+ ct(qC),
18638
18638
  (D(!0), J(He, null, Je(s.value, (p) => (D(), Ce(HC, {
18639
18639
  key: p.id,
18640
18640
  title: p.title,
@@ -18646,7 +18646,7 @@ const nk = /* @__PURE__ */ $e({
18646
18646
  ct(zC)
18647
18647
  ], 64));
18648
18648
  }
18649
- }), rk = new q(
18649
+ }), r1 = new V(
18650
18650
  "add_level",
18651
18651
  [
18652
18652
  {
@@ -18671,7 +18671,7 @@ const nk = /* @__PURE__ */ $e({
18671
18671
  }
18672
18672
  vt().incrementSkill(t, n);
18673
18673
  }
18674
- ), ik = q.FromOptions({
18674
+ ), i1 = V.FromOptions({
18675
18675
  keyword: "set_level",
18676
18676
  argTypes: [
18677
18677
  { name: "skill", type: "string" },
@@ -18690,7 +18690,7 @@ const nk = /* @__PURE__ */ $e({
18690
18690
  }
18691
18691
  vt().setSkillLevel(t, n);
18692
18692
  }
18693
- }), ok = new q(
18693
+ }), o1 = new V(
18694
18694
  "add_xp",
18695
18695
  [
18696
18696
  { name: "xpKey", type: "string" },
@@ -18703,7 +18703,7 @@ const nk = /* @__PURE__ */ $e({
18703
18703
  "add_xp command needs a skill id and a value as parameters"
18704
18704
  ), vt().addXp(t, n);
18705
18705
  }
18706
- ), sk = new q(
18706
+ ), s1 = new V(
18707
18707
  "get_level",
18708
18708
  [
18709
18709
  {
@@ -18720,7 +18720,7 @@ const nk = /* @__PURE__ */ $e({
18720
18720
  const n = vt().getSkill(t);
18721
18721
  return n || ce(e, `Skill ${t} not found`), n.level;
18722
18722
  }
18723
- ), ak = new q(
18723
+ ), a1 = new V(
18724
18724
  "get_xp",
18725
18725
  [
18726
18726
  {
@@ -18734,7 +18734,7 @@ const nk = /* @__PURE__ */ $e({
18734
18734
  const n = vt().getSkillXp(t);
18735
18735
  return n || ce(e, `XP ${t} not found`), n;
18736
18736
  }
18737
- ), lk = new q(
18737
+ ), l1 = new V(
18738
18738
  "roll",
18739
18739
  [
18740
18740
  { name: "id", type: "string" },
@@ -18769,15 +18769,15 @@ const nk = /* @__PURE__ */ $e({
18769
18769
  }
18770
18770
  return ad(n).succeeded;
18771
18771
  }
18772
- ), ck = new q(
18772
+ ), c1 = new V(
18773
18773
  "get_skill_check",
18774
18774
  [{ name: "skillCheckId", type: "string" }],
18775
18775
  async (e) => vt().getSkillCheck(e.options.skillCheckId)
18776
- ), uk = new q(
18776
+ ), u1 = new V(
18777
18777
  "skill_check_result",
18778
18778
  [{ name: "skillCheckId", type: "string" }],
18779
18779
  async (e) => vt().getSkillCheck(e.options.skillCheckId).succeeded
18780
- ), dk = new q(
18780
+ ), d1 = new V(
18781
18781
  "reset_roll",
18782
18782
  [
18783
18783
  {
@@ -18786,7 +18786,7 @@ const nk = /* @__PURE__ */ $e({
18786
18786
  }
18787
18787
  ],
18788
18788
  async (e) => vt().resetSkillCheck(e.options.id)
18789
- ), fk = new q(
18789
+ ), f1 = new V(
18790
18790
  "add_stat",
18791
18791
  [
18792
18792
  { name: "statKey", type: "string" },
@@ -18799,7 +18799,7 @@ const nk = /* @__PURE__ */ $e({
18799
18799
  "add_stat command needs a stat id and a value as parameters"
18800
18800
  ), Xt().addStat(t, n);
18801
18801
  }
18802
- ), pk = new q(
18802
+ ), p1 = new V(
18803
18803
  "set_stat",
18804
18804
  [
18805
18805
  { name: "statKey", type: "string" },
@@ -18812,17 +18812,17 @@ const nk = /* @__PURE__ */ $e({
18812
18812
  "set_stat command needs a stat id and a value as parameters"
18813
18813
  ), Xt().setStat(t, n);
18814
18814
  }
18815
- ), mk = new q("get_stat_value", [{ name: "statKey", type: "string" }], async (e) => {
18815
+ ), m1 = new V("get_stat_value", [{ name: "statKey", type: "string" }], async (e) => {
18816
18816
  const { statKey: t } = e.options;
18817
18817
  return t || ce(
18818
18818
  e,
18819
18819
  "get_stat_value command needs a stat id as parameter"
18820
18820
  ), Xt().getStatValue(t);
18821
- }), hk = new q("show_hud", [], async (e) => {
18821
+ }), h1 = new V("show_hud", [], async (e) => {
18822
18822
  Xt().setVisibility(!0);
18823
- }), yk = new q("hide_hud", [], async (e) => {
18823
+ }), y1 = new V("hide_hud", [], async (e) => {
18824
18824
  Xt().setVisibility(!1);
18825
- }), gk = q.FromOptions({
18825
+ }), g1 = V.FromOptions({
18826
18826
  keyword: "jump",
18827
18827
  argTypes: "any",
18828
18828
  runner: async (e) => {
@@ -18839,7 +18839,7 @@ const nk = /* @__PURE__ */ $e({
18839
18839
  }
18840
18840
  return n.jumpTarget = r, bo;
18841
18841
  }
18842
- }), vk = q.FromOptions({
18842
+ }), v1 = V.FromOptions({
18843
18843
  keyword: "run",
18844
18844
  argTypes: "any",
18845
18845
  runner: async (e) => {
@@ -18847,7 +18847,7 @@ const nk = /* @__PURE__ */ $e({
18847
18847
  const t = e.args[0];
18848
18848
  return await Ie().runLabelFunction(t, ...e.args.slice(1));
18849
18849
  }
18850
- }), _k = q.FromOptions({
18850
+ }), _1 = V.FromOptions({
18851
18851
  keyword: "var",
18852
18852
  argTypes: [
18853
18853
  { name: "name", type: "string" },
@@ -18857,30 +18857,30 @@ const nk = /* @__PURE__ */ $e({
18857
18857
  const { name: t, value: n } = e.options;
18858
18858
  Ie().addScopedVariable(t, n);
18859
18859
  }
18860
- }), bk = q.FromOptions({
18860
+ }), b1 = V.FromOptions({
18861
18861
  keyword: "return",
18862
18862
  argTypes: [{ name: "value", type: "any" }],
18863
18863
  runner: async (e) => {
18864
18864
  const { value: t } = e.options;
18865
18865
  return Ie().setReturnValue(t), aa;
18866
18866
  }
18867
- }), Tk = q.FromOptions({
18867
+ }), T1 = V.FromOptions({
18868
18868
  keyword: "log",
18869
18869
  argTypes: "any",
18870
18870
  runner: async (e) => {
18871
18871
  f$(e, ...e.args);
18872
18872
  }
18873
- }), Sk = q.FromOptions({
18873
+ }), S1 = V.FromOptions({
18874
18874
  keyword: "menu_return",
18875
18875
  argTypes: [],
18876
18876
  runner: async (e) => (lf(), To)
18877
- }), wk = q.FromOptions({
18877
+ }), w1 = V.FromOptions({
18878
18878
  keyword: "save",
18879
18879
  argTypes: [{ name: "name", type: "string", optional: !0 }],
18880
18880
  runner: async (e) => {
18881
18881
  await wf({ saveName: e.options.name });
18882
18882
  }
18883
- }), $k = q.FromOptions({
18883
+ }), $1 = V.FromOptions({
18884
18884
  keyword: "save_prompt",
18885
18885
  argTypes: [{ name: "name", type: "string", optional: !0 }],
18886
18886
  runner: async (e) => {
@@ -18889,13 +18889,13 @@ const nk = /* @__PURE__ */ $e({
18889
18889
  withPrompt: !0
18890
18890
  });
18891
18891
  }
18892
- }), Ck = q.FromOptions({
18892
+ }), C1 = V.FromOptions({
18893
18893
  keyword: "reset_global_save",
18894
18894
  argTypes: [],
18895
18895
  runner: async (e) => {
18896
18896
  await Sf();
18897
18897
  }
18898
- }), kk = q.FromOptions({
18898
+ }), k1 = V.FromOptions({
18899
18899
  keyword: "new",
18900
18900
  argTypes: [
18901
18901
  { name: "name", type: "string" },
@@ -18908,18 +18908,18 @@ const nk = /* @__PURE__ */ $e({
18908
18908
  if (t === "Object")
18909
18909
  return {};
18910
18910
  }
18911
- }), Ok = [
18911
+ }), O1 = [
18912
18912
  { name: "mode", type: "string" },
18913
18913
  { name: "audio", type: "string" },
18914
18914
  { name: "channel", type: "number", optional: !0 }
18915
- ], Ak = new q(
18915
+ ], A1 = new V(
18916
18916
  "play",
18917
- Ok,
18917
+ O1,
18918
18918
  async (e) => {
18919
18919
  const t = Lt(), { mode: n, audio: r, channel: i } = e.options, s = is(e, n);
18920
18920
  s && t.playChannel(s, r, i ?? 0);
18921
18921
  }
18922
- ), Ek = new q(
18922
+ ), E1 = new V(
18923
18923
  "resume",
18924
18924
  [
18925
18925
  { name: "mode", type: "string" },
@@ -18929,7 +18929,7 @@ const nk = /* @__PURE__ */ $e({
18929
18929
  const t = Lt(), { mode: n, channel: r } = e.options, i = is(e, n);
18930
18930
  i && t.resumeChannel(i, r ?? 0);
18931
18931
  }
18932
- ), Ik = new q(
18932
+ ), I1 = new V(
18933
18933
  "pause",
18934
18934
  [
18935
18935
  { name: "mode", type: "string" },
@@ -18939,7 +18939,7 @@ const nk = /* @__PURE__ */ $e({
18939
18939
  const t = Lt(), { mode: n, channel: r } = e.options, i = is(e, n);
18940
18940
  i && t.pauseChannel(i, r ?? 0);
18941
18941
  }
18942
- ), Pk = new q(
18942
+ ), P1 = new V(
18943
18943
  "stop",
18944
18944
  [
18945
18945
  { name: "mode", type: "string" },
@@ -18951,12 +18951,12 @@ const nk = /* @__PURE__ */ $e({
18951
18951
  }
18952
18952
  );
18953
18953
  function is(e, t) {
18954
- return Nk(t) ? t : (ce(e, `${t} is not a valid audio mode.`), !1);
18954
+ return N1(t) ? t : (ce(e, `${t} is not a valid audio mode.`), !1);
18955
18955
  }
18956
- function Nk(e) {
18956
+ function N1(e) {
18957
18957
  return !!su.includes(e);
18958
18958
  }
18959
- const xk = new q(
18959
+ const x1 = new V(
18960
18960
  "set",
18961
18961
  [
18962
18962
  { name: "key", type: "string" },
@@ -18966,7 +18966,7 @@ const xk = new q(
18966
18966
  const t = si();
18967
18967
  Cp(t, `$${e.options.key}`, e.options.value);
18968
18968
  }
18969
- ), jk = new q(
18969
+ ), j1 = new V(
18970
18970
  "add",
18971
18971
  [
18972
18972
  { name: "key", type: "string" },
@@ -18976,7 +18976,7 @@ const xk = new q(
18976
18976
  const t = si();
18977
18977
  kp(t, `$${e.options.key}`, e.options.value);
18978
18978
  }
18979
- ), Lk = new q(
18979
+ ), L1 = new V(
18980
18980
  "set_screen",
18981
18981
  [
18982
18982
  { name: "screen", type: "string" },
@@ -19004,7 +19004,7 @@ const xk = new q(
19004
19004
  e.options.layer
19005
19005
  ) : t.setScreen(e.options.screen, e.options.layer ?? 0);
19006
19006
  }
19007
- ), Dk = new q(
19007
+ ), D1 = new V(
19008
19008
  "empty_layer",
19009
19009
  [
19010
19010
  { name: "layer", type: "number" },
@@ -19020,7 +19020,7 @@ const xk = new q(
19020
19020
  delay: e.options.transitionDelay
19021
19021
  }) : t.emptyLayer(e.options.layer);
19022
19022
  }
19023
- ), Mk = new q(
19023
+ ), M1 = new V(
19024
19024
  "set_button",
19025
19025
  [
19026
19026
  { name: "buttonId", type: "string" },
@@ -19038,9 +19038,9 @@ const xk = new q(
19038
19038
  r.changeButton(t, n);
19039
19039
  }
19040
19040
  );
19041
- class Vn extends q {
19041
+ class qn extends V {
19042
19042
  static async ManageAutoAdvance(t) {
19043
- console.log("not interactive"), await Ie().waitForEndTextAnimation(), console.log("text animation ended"), await Kt(t.options.delay || 0), console.log("delay ended"), t.options.autoAdvance ? (console.log("player answered"), Af(0)) : (console.log("make dialog interactive"), Ye().makeLastDialogInteractive());
19043
+ await Ie().waitForEndTextAnimation(), await Kt(t.options.delay || 0), t.options.autoAdvance ? Af(0) : Ye().makeLastDialogInteractive();
19044
19044
  }
19045
19045
  static ShouldBeInteractive(t) {
19046
19046
  return !t.options.delay && !t.options.autoAdvance;
@@ -19069,11 +19069,11 @@ const yl = [
19069
19069
  type: "boolean",
19070
19070
  optional: !0
19071
19071
  }
19072
- ], Rk = Vn.FromOptions({
19072
+ ], R1 = qn.FromOptions({
19073
19073
  keyword: "talk",
19074
19074
  argTypes: yl,
19075
19075
  runner: async (e, t) => {
19076
- const n = Vn.ShouldBeInteractive(e);
19076
+ const n = qn.ShouldBeInteractive(e);
19077
19077
  await Ho({
19078
19078
  speaker: e.options.speaker,
19079
19079
  pose: e.options.pose,
@@ -19081,14 +19081,14 @@ const yl = [
19081
19081
  text: `"${e.options.text}"`,
19082
19082
  choices: t,
19083
19083
  interactive: n
19084
- }), n || Vn.ManageAutoAdvance(e);
19084
+ }), n || qn.ManageAutoAdvance(e);
19085
19085
  },
19086
19086
  returnAfterPlayerAnswer: !0
19087
- }), Fk = Vn.FromOptions({
19087
+ }), F1 = qn.FromOptions({
19088
19088
  keyword: "think",
19089
19089
  argTypes: yl,
19090
19090
  runner: async (e, t) => {
19091
- const n = Vn.ShouldBeInteractive(e);
19091
+ const n = qn.ShouldBeInteractive(e);
19092
19092
  await Ho({
19093
19093
  speaker: e.options.speaker,
19094
19094
  pose: e.options.pose,
@@ -19096,33 +19096,32 @@ const yl = [
19096
19096
  text: `${e.options.text}`,
19097
19097
  choices: t,
19098
19098
  interactive: n
19099
- }), n || Vn.ManageAutoAdvance(e);
19099
+ }), n || qn.ManageAutoAdvance(e);
19100
19100
  },
19101
19101
  returnAfterPlayerAnswer: !0
19102
- }), Uk = Vn.FromOptions({
19102
+ }), U1 = qn.FromOptions({
19103
19103
  keyword: "narrate",
19104
19104
  argTypes: yl.slice(2, 5),
19105
19105
  runner: async (e, t) => {
19106
- const n = Vn.ShouldBeInteractive(e);
19106
+ const n = qn.ShouldBeInteractive(e);
19107
19107
  await Ho({
19108
19108
  speaker: Ct().gameCharacter,
19109
19109
  cssClass: "text-command",
19110
19110
  text: `${e.options.text}`,
19111
19111
  choices: t,
19112
19112
  interactive: n
19113
- }), n || Vn.ManageAutoAdvance(e);
19113
+ }), n || qn.ManageAutoAdvance(e);
19114
19114
  },
19115
19115
  returnAfterPlayerAnswer: !0
19116
- }), Bk = () => {
19116
+ }), B1 = () => {
19117
19117
  const e = Ji("text", []);
19118
19118
  return (t, n) => {
19119
- console.log(n);
19120
19119
  const r = e(t, n);
19121
19120
  return n.command.staticOptions = {
19122
19121
  text: n.code.substring(1, n.code.length - 1)
19123
19122
  }, r;
19124
19123
  };
19125
- }, Vk = q.FromOptions({
19124
+ }, q1 = V.FromOptions({
19126
19125
  keyword: "text",
19127
19126
  argTypes: [],
19128
19127
  runner: async (e, t) => {
@@ -19134,9 +19133,9 @@ const yl = [
19134
19133
  interactive: !0
19135
19134
  });
19136
19135
  },
19137
- parser: Bk(),
19136
+ parser: B1(),
19138
19137
  returnAfterPlayerAnswer: !0
19139
- }), qk = new q(
19138
+ }), V1 = new V(
19140
19139
  "add_item",
19141
19140
  [
19142
19141
  { name: "id", type: "string" },
@@ -19149,7 +19148,7 @@ const yl = [
19149
19148
  amount: n
19150
19149
  });
19151
19150
  }
19152
- ), Hk = new q(
19151
+ ), H1 = new V(
19153
19152
  "remove_item",
19154
19153
  [
19155
19154
  { name: "id", type: "string" },
@@ -19162,7 +19161,7 @@ const yl = [
19162
19161
  amount: n
19163
19162
  });
19164
19163
  }
19165
- ), Kk = new q(
19164
+ ), K1 = new V(
19166
19165
  "has_item?",
19167
19166
  [
19168
19167
  { name: "id", type: "string" },
@@ -19172,35 +19171,35 @@ const yl = [
19172
19171
  const { id: t, amount: n } = e.options;
19173
19172
  return Dt().hasItem(t, n);
19174
19173
  }
19175
- ), Gk = new q(
19174
+ ), G1 = new V(
19176
19175
  "item_amount?",
19177
19176
  [{ name: "id", type: "string" }],
19178
19177
  async (e) => {
19179
19178
  const { id: t } = e.options;
19180
19179
  return Dt().getItemAmount(t);
19181
19180
  }
19182
- ), Wk = new q(
19181
+ ), W1 = new V(
19183
19182
  "enable_interaction",
19184
19183
  [{ name: "tag", type: "string" }],
19185
19184
  async (e) => {
19186
19185
  const t = e.options.tag;
19187
19186
  Dt().enableInteraction(t);
19188
19187
  }
19189
- ), zk = new q(
19188
+ ), z1 = new V(
19190
19189
  "disable_interaction",
19191
19190
  [{ name: "tag", type: "string" }],
19192
19191
  async (e) => {
19193
19192
  const t = e.options.tag;
19194
19193
  Dt().disableInteraction(t);
19195
19194
  }
19196
- ), Qk = new q(
19195
+ ), Q1 = new V(
19197
19196
  "start_quest",
19198
19197
  [{ name: "questId", type: "string" }],
19199
19198
  async (e) => {
19200
19199
  const t = e.options.questId;
19201
19200
  Pt().startQuest(t);
19202
19201
  }
19203
- ), Yk = new q(
19202
+ ), Y1 = new V(
19204
19203
  "start_objective",
19205
19204
  [
19206
19205
  { name: "questId", type: "string" },
@@ -19210,7 +19209,7 @@ const yl = [
19210
19209
  const { questId: t, objectiveId: n } = e.options;
19211
19210
  Pt().startObjective(t, n);
19212
19211
  }
19213
- ), Jk = new q(
19212
+ ), J1 = new V(
19214
19213
  "complete_objective",
19215
19214
  [
19216
19215
  { name: "questId", type: "string" },
@@ -19220,7 +19219,7 @@ const yl = [
19220
19219
  const { questId: t, objectiveId: n } = e.options;
19221
19220
  Pt().completeObjective(t, n);
19222
19221
  }
19223
- ), Xk = new q(
19222
+ ), X1 = new V(
19224
19223
  "complete_quest",
19225
19224
  [
19226
19225
  { name: "questId", type: "string" },
@@ -19230,19 +19229,19 @@ const yl = [
19230
19229
  const { questId: t, ending: n } = e.options;
19231
19230
  Pt().completeQuest(t, n);
19232
19231
  }
19233
- ), Zk = new q("quest_completed?", [{ name: "questId", type: "string" }], async (e) => {
19232
+ ), Z1 = new V("quest_completed?", [{ name: "questId", type: "string" }], async (e) => {
19234
19233
  const { questId: t } = e.options;
19235
19234
  return Pt().isQuestCompleted(t);
19236
- }), e1 = new q("quest_succeeded?", [{ name: "questId", type: "string" }], async (e) => {
19235
+ }), ek = new V("quest_succeeded?", [{ name: "questId", type: "string" }], async (e) => {
19237
19236
  const { questId: t } = e.options;
19238
19237
  return Pt().isQuestSucceeded(t);
19239
- }), t1 = new q("quest_failed?", [{ name: "questId", type: "string" }], async (e) => {
19238
+ }), tk = new V("quest_failed?", [{ name: "questId", type: "string" }], async (e) => {
19240
19239
  const { questId: t } = e.options;
19241
19240
  return Pt().isQuestFailed(t);
19242
- }), n1 = new q("quest_ending?", [{ name: "questId", type: "string" }], async (e) => {
19241
+ }), nk = new V("quest_ending?", [{ name: "questId", type: "string" }], async (e) => {
19243
19242
  const { questId: t } = e.options;
19244
19243
  return Pt().getQuestEnding(t);
19245
- }), r1 = new q(
19244
+ }), rk = new V(
19246
19245
  "quest_has_ending?",
19247
19246
  [
19248
19247
  { name: "questId", type: "string" },
@@ -19252,7 +19251,7 @@ const yl = [
19252
19251
  const { questId: t, ending: n } = e.options;
19253
19252
  return Pt().questHasEnding(t, n);
19254
19253
  }
19255
- ), i1 = new q(
19254
+ ), ik = new V(
19256
19255
  "objective_completed?",
19257
19256
  [
19258
19257
  { name: "questId", type: "string" },
@@ -19262,10 +19261,10 @@ const yl = [
19262
19261
  const { questId: t, objectiveId: n } = e.options;
19263
19262
  return Pt().isObjectiveCompleted(t, n);
19264
19263
  }
19265
- ), o1 = new q("quest_started?", [{ name: "questId", type: "string" }], async (e) => {
19264
+ ), ok = new V("quest_started?", [{ name: "questId", type: "string" }], async (e) => {
19266
19265
  const { questId: t } = e.options;
19267
19266
  return Pt().isQuestStarted(t);
19268
- }), s1 = new q(
19267
+ }), sk = new V(
19269
19268
  "objective_started?",
19270
19269
  [
19271
19270
  { name: "questId", type: "string" },
@@ -19275,13 +19274,13 @@ const yl = [
19275
19274
  const { questId: t, objectiveId: n } = e.options;
19276
19275
  return Pt().isObjectiveStarted(t, n);
19277
19276
  }
19278
- ), a1 = q.FromOptions({
19277
+ ), ak = V.FromOptions({
19279
19278
  keyword: "wait",
19280
19279
  argTypes: [{ name: "duration", type: "number" }],
19281
19280
  runner: async (e) => {
19282
19281
  await Kt(e.options.duration);
19283
19282
  }
19284
- }), l1 = new q(
19283
+ }), lk = new V(
19285
19284
  "notify",
19286
19285
  [
19287
19286
  { name: "text", type: "string" },
@@ -19290,27 +19289,27 @@ const yl = [
19290
19289
  ],
19291
19290
  async (e) => {
19292
19291
  const { text: t, icon: n, description: r } = e.options;
19293
- Vt().addNotification(t, r, n);
19292
+ qt().addNotification(t, r, n);
19294
19293
  }
19295
- ), c1 = new q(
19294
+ ), ck = new V(
19296
19295
  "disable_notifications",
19297
19296
  [],
19298
19297
  async (e) => {
19299
- Vt().disableNotifications();
19298
+ qt().disableNotifications();
19300
19299
  }
19301
- ), u1 = new q(
19300
+ ), uk = new V(
19302
19301
  "enable_notifications",
19303
19302
  [],
19304
19303
  async (e) => {
19305
- Vt().enableNotifications();
19304
+ qt().enableNotifications();
19306
19305
  }
19307
- ), d1 = new q(
19306
+ ), dk = new V(
19308
19307
  "clear_dialog",
19309
19308
  [],
19310
19309
  async (e) => {
19311
19310
  Ye().clearDialog();
19312
19311
  }
19313
- ), f1 = new q(
19312
+ ), fk = new V(
19314
19313
  "if",
19315
19314
  [{ name: "condition", type: "boolean" }],
19316
19315
  async (e) => {
@@ -19388,7 +19387,7 @@ const yl = [
19388
19387
  newLine: n
19389
19388
  };
19390
19389
  }
19391
- ), p1 = new q(
19390
+ ), pk = new V(
19392
19391
  "==",
19393
19392
  "any",
19394
19393
  async (e) => {
@@ -19402,7 +19401,7 @@ const yl = [
19402
19401
  t = r;
19403
19402
  return n;
19404
19403
  }
19405
- ), m1 = new q(
19404
+ ), mk = new V(
19406
19405
  ">",
19407
19406
  [
19408
19407
  { name: "a", type: "any" },
@@ -19412,7 +19411,7 @@ const yl = [
19412
19411
  const { a: t, b: n } = e.options;
19413
19412
  return t > n;
19414
19413
  }
19415
- ), h1 = new q(
19414
+ ), hk = new V(
19416
19415
  "<",
19417
19416
  [
19418
19417
  { name: "a", type: "any" },
@@ -19422,7 +19421,7 @@ const yl = [
19422
19421
  const { a: t, b: n } = e.options;
19423
19422
  return t < n;
19424
19423
  }
19425
- ), y1 = new q(
19424
+ ), yk = new V(
19426
19425
  ">=",
19427
19426
  [
19428
19427
  { name: "a", type: "any" },
@@ -19432,7 +19431,7 @@ const yl = [
19432
19431
  const { a: t, b: n } = e.options;
19433
19432
  return t >= n;
19434
19433
  }
19435
- ), g1 = new q(
19434
+ ), gk = new V(
19436
19435
  "<=",
19437
19436
  [
19438
19437
  { name: "a", type: "any" },
@@ -19442,7 +19441,7 @@ const yl = [
19442
19441
  const { a: t, b: n } = e.options;
19443
19442
  return t <= n;
19444
19443
  }
19445
- ), v1 = new q(
19444
+ ), vk = new V(
19446
19445
  "!=",
19447
19446
  [
19448
19447
  { name: "a", type: "any" },
@@ -19452,25 +19451,25 @@ const yl = [
19452
19451
  const { a: t, b: n } = e.options;
19453
19452
  return t != n;
19454
19453
  }
19455
- ), _1 = new q(
19454
+ ), _k = new V(
19456
19455
  "!",
19457
19456
  [{ name: "a", type: "any" }],
19458
19457
  async (e) => {
19459
19458
  const { a: t } = e.options;
19460
19459
  return !t;
19461
19460
  }
19462
- ), b1 = new q(
19461
+ ), bk = new V(
19463
19462
  "&&",
19464
19463
  "any",
19465
19464
  async (e) => {
19466
19465
  const t = e.args;
19467
19466
  return e.args.length < 2 && ce(e, "requires at least two arguments"), t.reduce((n, r) => n && r, !0);
19468
19467
  }
19469
- ), T1 = new q(
19468
+ ), Tk = new V(
19470
19469
  "||",
19471
19470
  "any",
19472
19471
  async (e) => (e.args.length < 2 && ce(e, "requires at least two arguments"), e.args.reduce((t, n) => t || n, !1))
19473
- ), S1 = new q(
19472
+ ), Sk = new V(
19474
19473
  "?",
19475
19474
  [
19476
19475
  { name: "a", type: "any" },
@@ -19481,27 +19480,27 @@ const yl = [
19481
19480
  const { a: t, b: n, c: r } = e.options;
19482
19481
  return t ? n : r;
19483
19482
  }
19484
- ), w1 = new q(
19483
+ ), wk = new V(
19485
19484
  "+",
19486
19485
  "any",
19487
19486
  async (e) => (e.args.length < 2 && ce(e, "requires at least two arguments"), e.args.reduce((t, n) => typeof n == "number" ? t + n : (ce(e, "requires all arguments to be numbers"), t), 0))
19488
- ), $1 = new q(
19487
+ ), $k = new V(
19489
19488
  "-",
19490
19489
  "any",
19491
19490
  async (e) => (e.args.length < 2 && ce(e, "requires at least two arguments"), e.args.slice(1).reduce((t, n) => typeof n == "number" ? t - n : (ce(e, "requires all arguments to be numbers"), t), e.args[0]))
19492
- ), C1 = new q(
19491
+ ), Ck = new V(
19493
19492
  "neg",
19494
19493
  [{ name: "a", type: "number" }],
19495
19494
  async (e) => (e.args.length !== 1 && ce(e, "requires one argument"), -e.options.a)
19496
- ), k1 = new q(
19495
+ ), kk = new V(
19497
19496
  "abs",
19498
19497
  [{ name: "a", type: "number" }],
19499
19498
  async (e) => (e.args.length !== 1 && ce(e, "requires one argument"), Math.abs(e.options.a))
19500
- ), O1 = new q(
19499
+ ), Ok = new V(
19501
19500
  "*",
19502
19501
  "any",
19503
19502
  async (e) => (e.args.length < 2 && ce(e, "requires at least two arguments"), e.args.reduce((t, n) => typeof n == "number" ? t * n : (ce(e, "requires all arguments to be numbers"), t), 1))
19504
- ), A1 = new q(
19503
+ ), Ak = new V(
19505
19504
  "/",
19506
19505
  "any",
19507
19506
  async (e) => {
@@ -19509,7 +19508,7 @@ const yl = [
19509
19508
  const t = e.args[0] / e.args[1];
19510
19509
  return e.args.slice(2).reduce((n, r) => typeof r == "number" ? n / r : (ce(e, "requires all arguments to be numbers"), n), t);
19511
19510
  }
19512
- ), E1 = async (e) => {
19511
+ ), Ek = async (e) => {
19513
19512
  const { prompt: t, choices: n } = e.staticOptions, r = [];
19514
19513
  for (const [, o] of n.entries()) {
19515
19514
  const l = await Jo(o.prompt);
@@ -19532,9 +19531,9 @@ const yl = [
19532
19531
  allowed: u
19533
19532
  };
19534
19533
  }).filter((o) => o.choice), s = await Of(t, i);
19535
- return await x1(e, s);
19534
+ return await xk(e, s);
19536
19535
  };
19537
- function I1(e, t) {
19536
+ function Ik(e, t) {
19538
19537
  t.branch || e.parserContext.error(
19539
19538
  t.line,
19540
19539
  `Choice option doesn't have any branch to go to (${t.code} - ${t.line})`
@@ -19561,7 +19560,7 @@ function I1(e, t) {
19561
19560
  skillBranches: n
19562
19561
  };
19563
19562
  }
19564
- const P1 = (e, t) => {
19563
+ const Pk = (e, t) => {
19565
19564
  let n = e.currentLine;
19566
19565
  Ji("choice", []);
19567
19566
  const { line: r } = e, i = t.command;
@@ -19574,19 +19573,19 @@ const P1 = (e, t) => {
19574
19573
  const l = r.branch.slice(1).map((u, c) => (u.branch || e.parserContext.error(
19575
19574
  u.line,
19576
19575
  `Choice option doesn't have any branch to go to (${u.code})`
19577
- ), u = j1(e.parserContext, u), I1(e, u)));
19576
+ ), u = jk(e.parserContext, u), Ik(e, u)));
19578
19577
  return i.staticOptions = {
19579
19578
  prompt: e.processCommandsFunction(e.parserContext, [s], r)[0],
19580
19579
  choices: l
19581
19580
  }, n++, {
19582
19581
  newLine: n
19583
19582
  };
19584
- }, N1 = q.FromOptions({
19583
+ }, Nk = V.FromOptions({
19585
19584
  keyword: "choice",
19586
19585
  argTypes: [],
19587
- runner: E1,
19588
- parser: P1
19589
- }), x1 = async (e, t) => {
19586
+ runner: Ek,
19587
+ parser: Pk
19588
+ }), xk = async (e, t) => {
19590
19589
  const n = t, r = Ie(), { choices: i } = e.staticOptions, s = i[n], o = e.options.choiceResults[n], l = e.staticOptions.prompt;
19591
19590
  hl().trackChoice(l.code, s.prompt.code);
19592
19591
  let u = o.text, c;
@@ -19608,7 +19607,7 @@ const P1 = (e, t) => {
19608
19607
  return await r.addAndRunBlock(m);
19609
19608
  }
19610
19609
  };
19611
- function j1(e, t) {
19610
+ function jk(e, t) {
19612
19611
  return {
19613
19612
  code: `choicePrompt ${t.code}`,
19614
19613
  indentation: t.indentation,
@@ -19617,29 +19616,29 @@ function j1(e, t) {
19617
19616
  expression: ["choicePrompt", ...t.expression]
19618
19617
  };
19619
19618
  }
19620
- const L1 = new q(
19619
+ const Lk = new V(
19621
19620
  "choicePrompt",
19622
19621
  "any",
19623
19622
  // Will return null if the choice prompt should not be used (failed condition or hidden skillcheck). Otherwise, returns the info needed to display the prompt + later run the skillcheck
19624
19623
  async (e) => {
19625
19624
  const t = e.args;
19626
- return t.length === 1 ? D1(t[0]) : t.length === 2 ? M1(t) : t.length > 2 ? t[0] === "roll" || t[1] === "roll" ? F1(e, t) : R1(e, t) : (ce(e, "Invalid choice prompt line"), {
19625
+ return t.length === 1 ? Dk(t[0]) : t.length === 2 ? Mk(t) : t.length > 2 ? t[0] === "roll" || t[1] === "roll" ? Fk(e, t) : Rk(e, t) : (ce(e, "Invalid choice prompt line"), {
19627
19626
  text: t[0]
19628
19627
  });
19629
19628
  }
19630
19629
  );
19631
- function D1(e) {
19630
+ function Dk(e) {
19632
19631
  return {
19633
19632
  text: e
19634
19633
  };
19635
19634
  }
19636
- function M1(e) {
19635
+ function Mk(e) {
19637
19636
  return {
19638
19637
  text: e[1],
19639
19638
  flag: e[0]
19640
19639
  };
19641
19640
  }
19642
- function R1(e, t) {
19641
+ function Rk(e, t) {
19643
19642
  const n = t[1] === "if" ? 1 : 2;
19644
19643
  if (t[n] !== "if")
19645
19644
  return ce(e, "Invalid choice prompt line"), {
@@ -19653,7 +19652,7 @@ function R1(e, t) {
19653
19652
  };
19654
19653
  return r && (o.flag = t[0]), o;
19655
19654
  }
19656
- function F1(e, t) {
19655
+ function Fk(e, t) {
19657
19656
  const n = t[0] === "roll" ? 0 : 1, r = n === 1, i = n, s = t[i + 1];
19658
19657
  let o = {}, l = i + 2;
19659
19658
  Tp(s) ? o = {
@@ -19695,7 +19694,7 @@ function F1(e, t) {
19695
19694
  };
19696
19695
  return r && (T.flag = t[0]), T;
19697
19696
  }
19698
- const Dp = q.FromOptions({
19697
+ const Dp = V.FromOptions({
19699
19698
  keyword: "text_field",
19700
19699
  argTypes: [{ name: "prompt", type: "string" }],
19701
19700
  returnAfterPlayerAnswer: !0,
@@ -19710,7 +19709,7 @@ const Dp = q.FromOptions({
19710
19709
  }
19711
19710
  });
19712
19711
  Dp.onPlayerAnswered = async (e, t) => (typeof t != "string" && ce(e, "The player's answer should be a string"), t);
19713
- const U1 = q.FromOptions({
19712
+ const Uk = V.FromOptions({
19714
19713
  keyword: "text_field_prompt",
19715
19714
  argTypes: [{ name: "prompt", type: "string" }],
19716
19715
  runner: async (e) => {
@@ -19722,7 +19721,7 @@ const U1 = q.FromOptions({
19722
19721
  };
19723
19722
  Ye().addDialog(t);
19724
19723
  }
19725
- }), B1 = new q(
19724
+ }), Bk = new V(
19726
19725
  "random",
19727
19726
  [
19728
19727
  { name: "a", type: "number" },
@@ -19735,7 +19734,7 @@ const U1 = q.FromOptions({
19735
19734
  "random command needs two numbers as parameters"
19736
19735
  ), 0) : Math.floor(Math.random() * (n - t + 1)) + t;
19737
19736
  }
19738
- ), V1 = new q(
19737
+ ), qk = new V(
19739
19738
  "random_float",
19740
19739
  [
19741
19740
  { name: "a", type: "number" },
@@ -19748,7 +19747,7 @@ const U1 = q.FromOptions({
19748
19747
  "random_float command needs two numbers as parameters"
19749
19748
  ), 0) : Math.random() * (n - t) + t;
19750
19749
  }
19751
- ), q1 = new q(
19750
+ ), Vk = new V(
19752
19751
  "random_from_args",
19753
19752
  [],
19754
19753
  async (e) => {
@@ -19758,7 +19757,7 @@ const U1 = q.FromOptions({
19758
19757
  "random_from_args command needs at least one argument"
19759
19758
  ), 0) : t[Math.floor(Math.random() * t.length)];
19760
19759
  }
19761
- ), H1 = new q(
19760
+ ), Hk = new V(
19762
19761
  "random_from_array",
19763
19762
  [{ name: "a", type: "any" }],
19764
19763
  async (e) => {
@@ -19768,18 +19767,48 @@ const U1 = q.FromOptions({
19768
19767
  "random_from_array command needs an array as parameter"
19769
19768
  ), 0);
19770
19769
  }
19771
- ), K1 = new q(
19770
+ ), Kk = new V(
19772
19771
  "concat",
19773
19772
  "any",
19774
19773
  async (e) => (e.args.length < 2 && ce(e, "requires at least two arguments"), e.args.reduce((t, n) => typeof n == "string" ? `${t}${n}` : (ce(e, "requires all arguments to be strings"), t), ""))
19775
- ), G1 = new q(
19774
+ ), Gk = new V(
19776
19775
  "join",
19777
19776
  "any",
19778
19777
  async (e) => {
19779
19778
  const t = e.args[0];
19780
19779
  return e.args.length < 3 && ce(e, "requires at least 3 arguments"), e.args.slice(1).reduce((n, r) => typeof r == "string" ? `${n}${t}${r}` : (ce(e, "requires all arguments to be strings"), n), "");
19781
19780
  }
19782
- ), W1 = q.FromOptions({
19781
+ ), Wk = new V(
19782
+ "split",
19783
+ "any",
19784
+ async (e) => {
19785
+ e.args.length < 2 && ce(e, "requires at least 2 arguments");
19786
+ const t = e.args[0], n = e.args[1];
19787
+ if (typeof t == "string" && typeof n == "string")
19788
+ return n.split(t);
19789
+ ce(e, "requires all arguments to be strings");
19790
+ }
19791
+ ), zk = V.FromOptions({
19792
+ keyword: "str_search",
19793
+ argTypes: [
19794
+ { name: "str", type: "string" },
19795
+ { name: "matcher", type: "string" }
19796
+ ],
19797
+ runner: async (e) => {
19798
+ const { str: t, matcher: n } = e.options;
19799
+ return t.search(n);
19800
+ }
19801
+ }), Qk = V.FromOptions({
19802
+ keyword: "regex_search",
19803
+ argTypes: [
19804
+ { name: "str", type: "string" },
19805
+ { name: "regex", type: "string" }
19806
+ ],
19807
+ runner: async (e) => {
19808
+ const { str: t, regex: n } = e.options, r = new RegExp(n);
19809
+ return t.search(r);
19810
+ }
19811
+ }), Yk = V.FromOptions({
19783
19812
  keyword: "min",
19784
19813
  argTypes: [
19785
19814
  { name: "min", type: "number" },
@@ -19789,7 +19818,7 @@ const U1 = q.FromOptions({
19789
19818
  const { min: t, value: n } = e.options;
19790
19819
  return n < t ? n : t;
19791
19820
  }
19792
- }), z1 = q.FromOptions({
19821
+ }), Jk = V.FromOptions({
19793
19822
  keyword: "max",
19794
19823
  argTypes: [
19795
19824
  { name: "max", type: "number" },
@@ -19799,7 +19828,7 @@ const U1 = q.FromOptions({
19799
19828
  const { max: t, value: n } = e.options;
19800
19829
  return n > t ? n : t;
19801
19830
  }
19802
- }), Q1 = q.FromOptions({
19831
+ }), Xk = V.FromOptions({
19803
19832
  keyword: "clamp",
19804
19833
  argTypes: [
19805
19834
  { name: "min", type: "number" },
@@ -19810,35 +19839,35 @@ const U1 = q.FromOptions({
19810
19839
  const { min: t, max: n, value: r } = e.options;
19811
19840
  return r < t ? t : r > n ? n : r;
19812
19841
  }
19813
- }), Y1 = q.FromOptions({
19842
+ }), Zk = V.FromOptions({
19814
19843
  keyword: "floor",
19815
19844
  argTypes: [{ name: "value", type: "number" }],
19816
19845
  runner: async (e) => {
19817
19846
  const { value: t } = e.options;
19818
19847
  return Math.floor(t);
19819
19848
  }
19820
- }), J1 = q.FromOptions({
19849
+ }), eO = V.FromOptions({
19821
19850
  keyword: "ceil",
19822
19851
  argTypes: [{ name: "value", type: "number" }],
19823
19852
  runner: async (e) => {
19824
19853
  const { value: t } = e.options;
19825
19854
  return Math.ceil(t);
19826
19855
  }
19827
- }), X1 = q.FromOptions({
19856
+ }), tO = V.FromOptions({
19828
19857
  keyword: "round",
19829
19858
  argTypes: [{ name: "value", type: "number" }],
19830
19859
  runner: async (e) => {
19831
19860
  const { value: t } = e.options;
19832
19861
  return Math.round(t);
19833
19862
  }
19834
- }), Z1 = q.FromOptions({
19863
+ }), nO = V.FromOptions({
19835
19864
  keyword: "sqrt",
19836
19865
  argTypes: [{ name: "value", type: "number" }],
19837
19866
  runner: async (e) => {
19838
19867
  const { value: t } = e.options;
19839
19868
  return Math.sqrt(t);
19840
19869
  }
19841
- }), eO = q.FromOptions({
19870
+ }), rO = V.FromOptions({
19842
19871
  keyword: "^",
19843
19872
  argTypes: [
19844
19873
  { name: "base", type: "number" },
@@ -19848,7 +19877,7 @@ const U1 = q.FromOptions({
19848
19877
  const { base: t, exponent: n } = e.options;
19849
19878
  return Math.pow(t, n);
19850
19879
  }
19851
- }), tO = new q(
19880
+ }), iO = new V(
19852
19881
  "create_sprite",
19853
19882
  [
19854
19883
  { name: "image", type: "string" },
@@ -19860,7 +19889,7 @@ const U1 = q.FromOptions({
19860
19889
  const t = on(), { x: n, y: r, image: i, parent: s } = e.options, o = { x: n, y: r, image: i };
19861
19890
  return typeof s == "object" && (o.parent = s), typeof s == "string" && (o.parent = on().getObject(s)), t.createSprite(o);
19862
19891
  }
19863
- ), nO = new q(
19892
+ ), oO = new V(
19864
19893
  "create_object",
19865
19894
  [
19866
19895
  { name: "x", type: "number" },
@@ -19871,14 +19900,14 @@ const U1 = q.FromOptions({
19871
19900
  const t = on(), { x: n, y: r, parent: i } = e.options, s = { x: n, y: r };
19872
19901
  return typeof i == "object" && (s.parent = i), typeof i == "string" && (s.parent = on().getObject(i)), t.createObject(s);
19873
19902
  }
19874
- ), rO = new q("delete_sprite", [{ name: "sprite", type: "any" }], async (e) => on().destroyObject(e.options.sprite)), iO = q.FromOptions({
19903
+ ), sO = new V("delete_sprite", [{ name: "sprite", type: "any" }], async (e) => on().destroyObject(e.options.sprite)), aO = V.FromOptions({
19875
19904
  keyword: "empty_sprites",
19876
19905
  argTypes: [{ name: "layer", type: "number", optional: !0 }],
19877
19906
  runner: async (e) => {
19878
19907
  const t = on(), { layer: n } = e.options;
19879
19908
  return typeof n == "number" ? t.emptyLayer(n) : t.emptyAllLayers();
19880
19909
  }
19881
- }), oO = q.FromOptions({
19910
+ }), lO = V.FromOptions({
19882
19911
  keyword: "shuffle",
19883
19912
  argTypes: [{ name: "array", type: "any" }],
19884
19913
  runner: async (e) => {
@@ -19887,9 +19916,9 @@ const U1 = q.FromOptions({
19887
19916
  ce(e, "requires an array argument");
19888
19917
  return;
19889
19918
  }
19890
- return $O(t), t;
19919
+ return OO(t), t;
19891
19920
  }
19892
- }), sO = q.FromOptions({
19921
+ }), cO = V.FromOptions({
19893
19922
  keyword: "push",
19894
19923
  argTypes: [
19895
19924
  { name: "array", type: "any" },
@@ -19903,7 +19932,7 @@ const U1 = q.FromOptions({
19903
19932
  }
19904
19933
  return t.push(n), t;
19905
19934
  }
19906
- }), aO = q.FromOptions({
19935
+ }), uO = V.FromOptions({
19907
19936
  keyword: "pop",
19908
19937
  argTypes: [{ name: "array", type: "any" }],
19909
19938
  runner: async (e) => {
@@ -19914,7 +19943,7 @@ const U1 = q.FromOptions({
19914
19943
  }
19915
19944
  return t.pop();
19916
19945
  }
19917
- }), lO = q.FromOptions({
19946
+ }), dO = V.FromOptions({
19918
19947
  keyword: "shift",
19919
19948
  argTypes: [{ name: "array", type: "any" }],
19920
19949
  runner: async (e) => {
@@ -19925,7 +19954,7 @@ const U1 = q.FromOptions({
19925
19954
  }
19926
19955
  return t.shift();
19927
19956
  }
19928
- }), cO = q.FromOptions({
19957
+ }), fO = V.FromOptions({
19929
19958
  keyword: "unshift",
19930
19959
  argTypes: [
19931
19960
  { name: "array", type: "any" },
@@ -19939,7 +19968,7 @@ const U1 = q.FromOptions({
19939
19968
  }
19940
19969
  return t.unshift(n), t;
19941
19970
  }
19942
- }), uO = q.FromOptions({
19971
+ }), pO = V.FromOptions({
19943
19972
  keyword: "array_join",
19944
19973
  argTypes: [
19945
19974
  { name: "array", type: "any" },
@@ -19957,7 +19986,7 @@ const U1 = q.FromOptions({
19957
19986
  }
19958
19987
  return t.join(n), t;
19959
19988
  }
19960
- }), dO = q.FromOptions({
19989
+ }), mO = V.FromOptions({
19961
19990
  keyword: "array_concat",
19962
19991
  argTypes: [
19963
19992
  { name: "array", type: "any" },
@@ -19976,7 +20005,7 @@ const U1 = q.FromOptions({
19976
20005
  }
19977
20006
  return t.concat(...n.slice(1));
19978
20007
  }
19979
- }), fO = q.FromOptions({
20008
+ }), hO = V.FromOptions({
19980
20009
  keyword: "includes",
19981
20010
  argTypes: [
19982
20011
  { name: "array", type: "any" },
@@ -19986,14 +20015,14 @@ const U1 = q.FromOptions({
19986
20015
  const { array: t, searchElement: n } = e.options;
19987
20016
  return Array.isArray(t) || ce(e, "requires an array argument"), typeof n > "u" && ce(e, "requires a search element argument"), t.includes(n);
19988
20017
  }
19989
- }), pO = q.FromOptions({
20018
+ }), yO = V.FromOptions({
19990
20019
  keyword: "reverse",
19991
20020
  argTypes: [{ name: "array", type: "any" }],
19992
20021
  runner: async (e) => {
19993
20022
  const { array: t } = e.options;
19994
20023
  return Array.isArray(t) || ce(e, "requires an array argument"), t.reverse(), t;
19995
20024
  }
19996
- }), mO = q.FromOptions({
20025
+ }), gO = V.FromOptions({
19997
20026
  keyword: "slice",
19998
20027
  argTypes: [
19999
20028
  { name: "array", type: "any" },
@@ -20007,7 +20036,7 @@ const U1 = q.FromOptions({
20007
20036
  "end index argument must be a number if present"
20008
20037
  ), t.slice(n, r);
20009
20038
  }
20010
- }), hO = q.FromOptions({
20039
+ }), vO = V.FromOptions({
20011
20040
  keyword: "splice",
20012
20041
  argTypes: [
20013
20042
  { name: "array", type: "any" },
@@ -20021,7 +20050,7 @@ const U1 = q.FromOptions({
20021
20050
  "end index argument must be a number if present"
20022
20051
  ), t.splice(n, r);
20023
20052
  }
20024
- }), yO = q.FromOptions({
20053
+ }), _O = V.FromOptions({
20025
20054
  keyword: "array_find_index",
20026
20055
  argTypes: [
20027
20056
  { name: "array", type: "any" },
@@ -20042,7 +20071,7 @@ const U1 = q.FromOptions({
20042
20071
  return r;
20043
20072
  return -1;
20044
20073
  }
20045
- }), gO = q.FromOptions({
20074
+ }), bO = V.FromOptions({
20046
20075
  keyword: "array_find",
20047
20076
  argTypes: [
20048
20077
  { name: "array", type: "any" },
@@ -20063,7 +20092,7 @@ const U1 = q.FromOptions({
20063
20092
  return i;
20064
20093
  return null;
20065
20094
  }
20066
- }), vO = q.FromOptions({
20095
+ }), TO = V.FromOptions({
20067
20096
  keyword: "array_filter",
20068
20097
  argTypes: [
20069
20098
  { name: "array", type: "any" },
@@ -20084,7 +20113,7 @@ const U1 = q.FromOptions({
20084
20113
  ) === !0 && r.push(s);
20085
20114
  return r;
20086
20115
  }
20087
- }), _O = q.FromOptions({
20116
+ }), SO = V.FromOptions({
20088
20117
  keyword: "array_map",
20089
20118
  argTypes: [
20090
20119
  { name: "array", type: "any" },
@@ -20107,7 +20136,7 @@ const U1 = q.FromOptions({
20107
20136
  }
20108
20137
  return r;
20109
20138
  }
20110
- }), bO = q.FromOptions({
20139
+ }), wO = V.FromOptions({
20111
20140
  keyword: "array_reduce",
20112
20141
  argTypes: [
20113
20142
  { name: "array", type: "any" },
@@ -20130,7 +20159,7 @@ const U1 = q.FromOptions({
20130
20159
  );
20131
20160
  return i;
20132
20161
  }
20133
- }), TO = q.FromOptions({
20162
+ }), $O = V.FromOptions({
20134
20163
  keyword: "array_some",
20135
20164
  argTypes: [
20136
20165
  { name: "array", type: "any" },
@@ -20151,7 +20180,7 @@ const U1 = q.FromOptions({
20151
20180
  return !0;
20152
20181
  return !1;
20153
20182
  }
20154
- }), SO = q.FromOptions({
20183
+ }), CO = V.FromOptions({
20155
20184
  keyword: "array_every",
20156
20185
  argTypes: [
20157
20186
  { name: "array", type: "any" },
@@ -20172,7 +20201,7 @@ const U1 = q.FromOptions({
20172
20201
  return !1;
20173
20202
  return !0;
20174
20203
  }
20175
- }), wO = q.FromOptions({
20204
+ }), kO = V.FromOptions({
20176
20205
  keyword: "array_entries",
20177
20206
  argTypes: [{ name: "array", type: "any" }],
20178
20207
  runner: async (e) => {
@@ -20180,7 +20209,7 @@ const U1 = q.FromOptions({
20180
20209
  return Array.isArray(t) || ce(e, "requires an array argument"), t.entries();
20181
20210
  }
20182
20211
  });
20183
- function $O(e) {
20212
+ function OO(e) {
20184
20213
  for (let t = e.length - 1; t > 0; t--) {
20185
20214
  const n = Math.floor(Math.random() * (t + 1));
20186
20215
  [e[t], e[n]] = [e[n], e[t]];
@@ -20206,78 +20235,78 @@ const Jr = {
20206
20235
  }
20207
20236
  }
20208
20237
  };
20209
- function CO(e) {
20238
+ function AO(e) {
20210
20239
  return typeof e == "string" ? document.querySelector(e) : e;
20211
20240
  }
20212
- function kO(e) {
20241
+ function EO(e) {
20213
20242
  if (typeof e == "string") {
20214
20243
  const t = _p();
20215
20244
  t.keyframes[e] ? e = t.keyframes[e] : Jr.keyframes[e] ? e = Jr.keyframes[e] : (ue(`[Animation] Animation not found: ${e}`), e = Jr.keyframes["narrat-screenshake"]);
20216
20245
  }
20217
20246
  return e;
20218
20247
  }
20219
- function OO(e) {
20248
+ function IO(e) {
20220
20249
  let t;
20221
20250
  if (typeof e == "string") {
20222
20251
  const n = _p();
20223
20252
  n.animations[e] ? t = n.animations[e] : Jr.animations[e] ? t = Jr.animations[e] : (ue(`[Animation] Animation not found: ${e}`), t = Jr.animations["narrat-screenshake"]);
20224
20253
  } else
20225
20254
  t = e;
20226
- return AO(t);
20255
+ return PO(t);
20227
20256
  }
20228
- function AO(e) {
20257
+ function PO(e) {
20229
20258
  return {
20230
- keyframes: [...kO(e.keyframes)],
20259
+ keyframes: [...EO(e.keyframes)],
20231
20260
  options: { ...e.options }
20232
20261
  };
20233
20262
  }
20234
20263
  async function Mp(e, t, n) {
20235
20264
  return new Promise((r) => {
20236
- const i = CO(e);
20265
+ const i = AO(e);
20237
20266
  i || (ue(`[Animation] Element not found: ${e}`), r({}));
20238
- const s = OO(t);
20267
+ const s = IO(t);
20239
20268
  n && Object.assign(s.options, n), i.animate(
20240
20269
  s.keyframes,
20241
20270
  s.options
20242
20271
  ).addEventListener("finish", r);
20243
20272
  });
20244
20273
  }
20245
- const EO = q.FromOptions({
20274
+ const NO = V.FromOptions({
20246
20275
  keyword: "load_data",
20247
20276
  argTypes: [{ name: "url", type: "string" }],
20248
20277
  runner: async (e) => {
20249
20278
  const { url: t } = e.options;
20250
20279
  return await Go(fl(t));
20251
20280
  }
20252
- }), IO = q.FromOptions({
20281
+ }), xO = V.FromOptions({
20253
20282
  keyword: "change_player_character",
20254
20283
  argTypes: [{ name: "character", type: "string" }],
20255
20284
  runner: async (e) => {
20256
20285
  const { character: t } = e.options;
20257
20286
  Ct().config.characters.config.playerCharacter = t;
20258
20287
  }
20259
- }), PO = q.FromOptions({
20288
+ }), jO = V.FromOptions({
20260
20289
  keyword: "change_game_character",
20261
20290
  argTypes: [{ name: "character", type: "string" }],
20262
20291
  runner: async (e) => {
20263
20292
  const { character: t } = e.options;
20264
20293
  Ct().config.characters.config.gameCharacter = t;
20265
20294
  }
20266
- }), NO = q.FromOptions({
20295
+ }), LO = V.FromOptions({
20267
20296
  keyword: "json_stringify",
20268
20297
  argTypes: [{ name: "value", type: "any" }],
20269
20298
  runner: async (e) => {
20270
20299
  const { value: t } = e.options;
20271
20300
  return JSON.stringify(t);
20272
20301
  }
20273
- }), xO = q.FromOptions({
20302
+ }), DO = V.FromOptions({
20274
20303
  keyword: "json_parse",
20275
20304
  argTypes: [{ name: "value", type: "string" }],
20276
20305
  runner: async (e) => {
20277
20306
  const { value: t } = e.options;
20278
20307
  return JSON.parse(t);
20279
20308
  }
20280
- }), jO = q.FromOptions({
20309
+ }), MO = V.FromOptions({
20281
20310
  keyword: "set_dialog_panel_mode",
20282
20311
  argTypes: [{ name: "mode", type: "string" }],
20283
20312
  runner: async (e) => {
@@ -20294,70 +20323,70 @@ function Fp(e) {
20294
20323
  const { element: t, animation: n, duration: r, iterations: i } = e.options, s = {};
20295
20324
  return i && (s.iterations = i), r && (s.duration = r), s;
20296
20325
  }
20297
- const LO = q.FromOptions({
20326
+ const RO = V.FromOptions({
20298
20327
  keyword: "animate",
20299
20328
  argTypes: Rp,
20300
20329
  runner: async (e) => {
20301
20330
  const { element: t, animation: n } = e.options, r = Fp(e);
20302
20331
  Mp(t, n, r);
20303
20332
  }
20304
- }), DO = q.FromOptions({
20333
+ }), FO = V.FromOptions({
20305
20334
  keyword: "animate_wait",
20306
20335
  argTypes: Rp,
20307
20336
  runner: async (e) => {
20308
20337
  const { element: t, animation: n } = e.options;
20309
20338
  await Mp(t, n, Fp(e));
20310
20339
  }
20311
- }), MO = q.FromOptions({
20340
+ }), UO = V.FromOptions({
20312
20341
  keyword: "time_now",
20313
20342
  argTypes: [],
20314
20343
  runner: async (e) => Date.now()
20315
- }), RO = q.FromOptions({
20344
+ }), BO = V.FromOptions({
20316
20345
  keyword: "total_playtime",
20317
20346
  argTypes: [],
20318
20347
  runner: async (e) => ke().totalPlayTime
20319
- }), FO = q.FromOptions({
20348
+ }), qO = V.FromOptions({
20320
20349
  keyword: "session_playtime",
20321
20350
  argTypes: [],
20322
20351
  runner: async (e) => ke().sessionPlayTime
20323
- }), UO = q.FromOptions({
20352
+ }), VO = V.FromOptions({
20324
20353
  keyword: "to_days",
20325
20354
  argTypes: [{ name: "time", type: "number" }],
20326
20355
  runner: async (e) => Math.floor(e.options.time / 864e5)
20327
- }), BO = q.FromOptions({
20356
+ }), HO = V.FromOptions({
20328
20357
  keyword: "to_hours",
20329
20358
  argTypes: [{ name: "time", type: "number" }],
20330
20359
  runner: async (e) => Math.floor(e.options.time / 36e5)
20331
- }), VO = q.FromOptions({
20360
+ }), KO = V.FromOptions({
20332
20361
  keyword: "to_minutes",
20333
20362
  argTypes: [{ name: "time", type: "number" }],
20334
20363
  runner: async (e) => Math.floor(e.options.time / 6e4)
20335
- }), qO = q.FromOptions({
20364
+ }), GO = V.FromOptions({
20336
20365
  keyword: "to_seconds",
20337
20366
  argTypes: [{ name: "time", type: "number" }],
20338
20367
  runner: async (e) => Math.floor(e.options.time / 1e3)
20339
- }), HO = new q(
20368
+ }), WO = new V(
20340
20369
  "unlock_achievement",
20341
20370
  [{ name: "id", type: "string" }],
20342
20371
  async (e) => {
20343
20372
  const { id: t } = e.options;
20344
20373
  di().unlock(t);
20345
20374
  }
20346
- ), KO = new q(
20375
+ ), zO = new V(
20347
20376
  "has_achievement?",
20348
20377
  [{ name: "id", type: "string" }],
20349
20378
  async (e) => {
20350
20379
  const { id: t } = e.options;
20351
20380
  return di().hasAchievement(t);
20352
20381
  }
20353
- ), GO = q.FromOptions({
20382
+ ), QO = V.FromOptions({
20354
20383
  keyword: "get_setting",
20355
20384
  argTypes: [{ name: "setting", type: "string" }],
20356
20385
  runner: async (e) => {
20357
20386
  const { setting: t } = e.options;
20358
20387
  return t || ce(e, "get_setting command needs a setting id"), En().getSetting(t);
20359
20388
  }
20360
- }), WO = q.FromOptions({
20389
+ }), YO = V.FromOptions({
20361
20390
  keyword: "set_setting",
20362
20391
  argTypes: [
20363
20392
  { name: "setting", type: "string" },
@@ -20367,28 +20396,28 @@ const LO = q.FromOptions({
20367
20396
  const { setting: t, value: n } = e.options;
20368
20397
  t || ce(e, "set_setting command needs a setting id"), En().setSetting(t, n);
20369
20398
  }
20370
- }), zO = q.FromOptions({
20399
+ }), JO = V.FromOptions({
20371
20400
  keyword: "object_entries",
20372
20401
  argTypes: [{ name: "obj", type: "any" }],
20373
20402
  runner: async (e) => {
20374
20403
  const t = e.options.obj;
20375
20404
  return typeof t != "object" ? (ce(e, "Requires an object argument."), []) : Object.entries(t);
20376
20405
  }
20377
- }), QO = q.FromOptions({
20406
+ }), XO = V.FromOptions({
20378
20407
  keyword: "object_keys",
20379
20408
  argTypes: [{ name: "obj", type: "any" }],
20380
20409
  runner: async (e) => {
20381
20410
  const t = e.options.obj;
20382
20411
  return typeof t != "object" ? (ce(e, "Requires an object argument."), []) : Object.keys(t);
20383
20412
  }
20384
- }), YO = q.FromOptions({
20413
+ }), ZO = V.FromOptions({
20385
20414
  keyword: "object_values",
20386
20415
  argTypes: [{ name: "obj", type: "any" }],
20387
20416
  runner: async (e) => {
20388
20417
  const t = e.options.obj;
20389
20418
  return typeof t != "object" ? (ce(e, "Requires an object argument."), []) : Object.values(t);
20390
20419
  }
20391
- }), JO = q.FromOptions({
20420
+ }), eA = V.FromOptions({
20392
20421
  keyword: "object_has",
20393
20422
  argTypes: [
20394
20423
  { name: "obj", type: "any" },
@@ -20398,7 +20427,7 @@ const LO = q.FromOptions({
20398
20427
  const { obj: t, key: n } = e.options;
20399
20428
  return typeof t != "object" ? (ce(e, "Requires an object argument."), !1) : Object.hasOwn(t, n);
20400
20429
  }
20401
- }), XO = q.FromOptions({
20430
+ }), tA = V.FromOptions({
20402
20431
  keyword: "for_of",
20403
20432
  argTypes: [
20404
20433
  { name: "target", type: "any" },
@@ -20412,7 +20441,7 @@ const LO = q.FromOptions({
20412
20441
  for (const r of t)
20413
20442
  await Ie().runLabelFunction(n, r, ...e.args.slice(2));
20414
20443
  }
20415
- }), ZO = q.FromOptions({
20444
+ }), nA = V.FromOptions({
20416
20445
  keyword: "for_in",
20417
20446
  argTypes: [
20418
20447
  { name: "target", type: "any" },
@@ -20431,7 +20460,7 @@ const LO = q.FromOptions({
20431
20460
  ...e.args.slice(2)
20432
20461
  );
20433
20462
  }
20434
- }), eA = q.FromOptions({
20463
+ }), rA = V.FromOptions({
20435
20464
  keyword: "change_scene",
20436
20465
  argTypes: [
20437
20466
  { name: "scene", type: "string" },
@@ -20441,11 +20470,11 @@ const LO = q.FromOptions({
20441
20470
  const { scene: t } = e.options;
20442
20471
  await Jt().changeScene(
20443
20472
  t,
20444
- tA(e.args.slice(1))
20473
+ iA(e.args.slice(1))
20445
20474
  );
20446
20475
  }
20447
20476
  });
20448
- function tA(e) {
20477
+ function iA(e) {
20449
20478
  const t = {};
20450
20479
  let n = 0;
20451
20480
  for (; n < e.length && !(n + 1 >= e.length); ) {
@@ -20454,10 +20483,10 @@ function tA(e) {
20454
20483
  }
20455
20484
  return t;
20456
20485
  }
20457
- function nA(e) {
20458
- e.addCommand(N1), e.addCommand(L1), e.addCommand(f1), e.addCommand(fk), e.addCommand(pk), e.addCommand(mk), e.addCommand(hk), e.addCommand(yk), e.addCommand(d1), e.addCommand(l1), e.addCommand(c1), e.addCommand(u1), e.addCommand(Ik), e.addCommand(Ak), e.addCommand(Ek), e.addCommand(Pk), e.addCommand(Mk), e.addCommand(Lk), e.addCommand(Dk), e.addCommand(tO), e.addCommand(nO), e.addCommand(rO), e.addCommand(iO), e.addCommand(a1), e.addCommand(p1), e.addCommand(m1), e.addCommand(h1), e.addCommand(y1), e.addCommand(g1), e.addCommand(v1), e.addCommand(_1), e.addCommand(b1), e.addCommand(T1), e.addCommand(S1), e.addCommand(w1), e.addCommand($1), e.addCommand(O1), e.addCommand(A1), e.addCommand(C1), e.addCommand(k1), e.addCommand(jk), e.addCommand(xk), e.addCommand(Vk), e.addCommand(Rk), e.addCommand(Fk), e.addCommand(Uk), e.addCommand(gk), e.addCommand(vk), e.addCommand(_k), e.addCommand(bk), e.addCommand(Tk), e.addCommand(Sk), e.addCommand(wk), e.addCommand(Ck), e.addCommand($k), e.addCommand(kk), e.addCommand(Qk), e.addCommand(Yk), e.addCommand(Jk), e.addCommand(Xk), e.addCommand(o1), e.addCommand(s1), e.addCommand(Zk), e.addCommand(e1), e.addCommand(t1), e.addCommand(n1), e.addCommand(r1), e.addCommand(i1), e.addCommand(qk), e.addCommand(Hk), e.addCommand(Wk), e.addCommand(zk), e.addCommand(Kk), e.addCommand(Gk), e.addCommand(rk), e.addCommand(ik), e.addCommand(ok), e.addCommand(lk), e.addCommand(dk), e.addCommand(ck), e.addCommand(uk), e.addCommand(sk), e.addCommand(ak), e.addCommand(Dp), e.addCommand(U1), e.addCommand(B1), e.addCommand(V1), e.addCommand(q1), e.addCommand(H1), e.addCommand(K1), e.addCommand(G1), e.addCommand(W1), e.addCommand(z1), e.addCommand(Q1), e.addCommand(Y1), e.addCommand(X1), e.addCommand(J1), e.addCommand(Z1), e.addCommand(eO), e.addCommand(oO), e.addCommand(sO), e.addCommand(aO), e.addCommand(lO), e.addCommand(cO), e.addCommand(uO), e.addCommand(dO), e.addCommand(fO), e.addCommand(pO), e.addCommand(mO), e.addCommand(hO), e.addCommand(yO), e.addCommand(gO), e.addCommand(vO), e.addCommand(_O), e.addCommand(bO), e.addCommand(TO), e.addCommand(SO), e.addCommand(wO), e.addCommand(QO), e.addCommand(YO), e.addCommand(zO), e.addCommand(JO), e.addCommand(XO), e.addCommand(ZO), e.addCommand(EO), e.addCommand(IO), e.addCommand(PO), e.addCommand(NO), e.addCommand(xO), e.addCommand(jO), e.addCommand(LO), e.addCommand(DO), e.addCommand(MO), e.addCommand(RO), e.addCommand(FO), e.addCommand(UO), e.addCommand(BO), e.addCommand(VO), e.addCommand(qO), e.addCommand(HO), e.addCommand(KO), e.addCommand(WO), e.addCommand(GO), e.addCommand(p$), e.addCommand(eA);
20486
+ function oA(e) {
20487
+ e.addCommand(Nk), e.addCommand(Lk), e.addCommand(fk), e.addCommand(f1), e.addCommand(p1), e.addCommand(m1), e.addCommand(h1), e.addCommand(y1), e.addCommand(dk), e.addCommand(lk), e.addCommand(ck), e.addCommand(uk), e.addCommand(I1), e.addCommand(A1), e.addCommand(E1), e.addCommand(P1), e.addCommand(M1), e.addCommand(L1), e.addCommand(D1), e.addCommand(iO), e.addCommand(oO), e.addCommand(sO), e.addCommand(aO), e.addCommand(ak), e.addCommand(pk), e.addCommand(mk), e.addCommand(hk), e.addCommand(yk), e.addCommand(gk), e.addCommand(vk), e.addCommand(_k), e.addCommand(bk), e.addCommand(Tk), e.addCommand(Sk), e.addCommand(wk), e.addCommand($k), e.addCommand(Ok), e.addCommand(Ak), e.addCommand(Ck), e.addCommand(kk), e.addCommand(j1), e.addCommand(x1), e.addCommand(q1), e.addCommand(R1), e.addCommand(F1), e.addCommand(U1), e.addCommand(g1), e.addCommand(v1), e.addCommand(_1), e.addCommand(b1), e.addCommand(T1), e.addCommand(S1), e.addCommand(w1), e.addCommand(C1), e.addCommand($1), e.addCommand(k1), e.addCommand(Q1), e.addCommand(Y1), e.addCommand(J1), e.addCommand(X1), e.addCommand(ok), e.addCommand(sk), e.addCommand(Z1), e.addCommand(ek), e.addCommand(tk), e.addCommand(nk), e.addCommand(rk), e.addCommand(ik), e.addCommand(V1), e.addCommand(H1), e.addCommand(W1), e.addCommand(z1), e.addCommand(K1), e.addCommand(G1), e.addCommand(r1), e.addCommand(i1), e.addCommand(o1), e.addCommand(l1), e.addCommand(d1), e.addCommand(c1), e.addCommand(u1), e.addCommand(s1), e.addCommand(a1), e.addCommand(Dp), e.addCommand(Uk), e.addCommand(Bk), e.addCommand(qk), e.addCommand(Vk), e.addCommand(Hk), e.addCommand(Kk), e.addCommand(Gk), e.addCommand(Wk), e.addCommand(zk), e.addCommand(Qk), e.addCommand(Yk), e.addCommand(Jk), e.addCommand(Xk), e.addCommand(Zk), e.addCommand(tO), e.addCommand(eO), e.addCommand(nO), e.addCommand(rO), e.addCommand(lO), e.addCommand(cO), e.addCommand(uO), e.addCommand(dO), e.addCommand(fO), e.addCommand(pO), e.addCommand(mO), e.addCommand(hO), e.addCommand(yO), e.addCommand(gO), e.addCommand(vO), e.addCommand(_O), e.addCommand(bO), e.addCommand(TO), e.addCommand(SO), e.addCommand(wO), e.addCommand($O), e.addCommand(CO), e.addCommand(kO), e.addCommand(XO), e.addCommand(ZO), e.addCommand(JO), e.addCommand(eA), e.addCommand(tA), e.addCommand(nA), e.addCommand(NO), e.addCommand(xO), e.addCommand(jO), e.addCommand(LO), e.addCommand(DO), e.addCommand(MO), e.addCommand(RO), e.addCommand(FO), e.addCommand(UO), e.addCommand(BO), e.addCommand(qO), e.addCommand(VO), e.addCommand(HO), e.addCommand(KO), e.addCommand(GO), e.addCommand(WO), e.addCommand(zO), e.addCommand(YO), e.addCommand(QO), e.addCommand(p$), e.addCommand(rA);
20459
20488
  }
20460
- const rA = $e({
20489
+ const sA = $e({
20461
20490
  data() {
20462
20491
  return {
20463
20492
  muted: !1,
@@ -20488,18 +20517,18 @@ const rA = $e({
20488
20517
  this.muted ? (On.Howler.mute(!1), this.muted = !1) : (On.Howler.mute(!0), this.muted = !0);
20489
20518
  }
20490
20519
  }
20491
- }), iA = { class: "volume-controls" }, oA = /* @__PURE__ */ U("h3", { class: "nrt-subtitle" }, "Volume", -1), sA = {
20520
+ }), aA = { class: "volume-controls" }, lA = /* @__PURE__ */ U("h3", { class: "nrt-subtitle" }, "Volume", -1), cA = {
20492
20521
  for: "volume",
20493
20522
  class: "volume-label"
20494
- }, aA = ["onUpdate:modelValue", "onChange"];
20495
- function lA(e, t, n, r, i, s) {
20496
- return D(), J("div", iA, [
20497
- oA,
20523
+ }, uA = ["onUpdate:modelValue", "onChange"];
20524
+ function dA(e, t, n, r, i, s) {
20525
+ return D(), J("div", aA, [
20526
+ lA,
20498
20527
  (D(!0), J(He, null, Je(e.volumes, (o, l) => (D(), J("div", {
20499
20528
  class: "volume-control",
20500
20529
  key: o.mode
20501
20530
  }, [
20502
- U("label", sA, ye(e.modeNames[o.mode]), 1),
20531
+ U("label", cA, ye(e.modeNames[o.mode]), 1),
20503
20532
  nr(U("input", {
20504
20533
  ref_for: !0,
20505
20534
  ref: "slider",
@@ -20512,19 +20541,19 @@ function lA(e, t, n, r, i, s) {
20512
20541
  step: "0.1",
20513
20542
  "onUpdate:modelValue": (u) => e.volumes[l].volume = u,
20514
20543
  onChange: (u) => e.changeVolume(o.mode, u)
20515
- }, null, 40, aA), [
20544
+ }, null, 40, uA), [
20516
20545
  [Xr, e.volumes[l].volume]
20517
20546
  ])
20518
20547
  ]))), 128))
20519
20548
  ]);
20520
20549
  }
20521
- const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-widget-container" }, dA = ["for", "id"], fA = ["id", "name", "min", "max", "step"], pA = ["id", "name"], mA = ["id", "name"], hA = { class: "mx-8" }, yA = { class: "text-left setting-description" }, gA = /* @__PURE__ */ U("hr", { class: "h-px my-8 bg-gray-200 border-0 dark:bg-gray-700 setting-separator" }, null, -1), vA = /* @__PURE__ */ $e({
20550
+ const fA = /* @__PURE__ */ hn(sA, [["render", dA]]), pA = { class: "settings-widget-container" }, mA = ["for", "id"], hA = ["id", "name", "min", "max", "step"], yA = ["id", "name"], gA = ["id", "name"], vA = { class: "mx-8" }, _A = { class: "text-left setting-description" }, bA = /* @__PURE__ */ U("hr", { class: "h-px my-8 bg-gray-200 border-0 dark:bg-gray-700 setting-separator" }, null, -1), TA = /* @__PURE__ */ $e({
20522
20551
  __name: "setting-widget",
20523
20552
  props: {
20524
20553
  settingId: {}
20525
20554
  },
20526
20555
  setup(e) {
20527
- const t = e, n = En(), r = V(() => n.getSetting(t.settingId)), i = le(r.value), s = V(() => n.getSettingSchema(t.settingId));
20556
+ const t = e, n = En(), r = q(() => n.getSetting(t.settingId)), i = le(r.value), s = q(() => n.getSettingSchema(t.settingId));
20528
20557
  function o(l) {
20529
20558
  let u = l;
20530
20559
  Nl(s.value) && (u = Math.round(u)), n.setSetting(t.settingId, u);
@@ -20532,12 +20561,12 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20532
20561
  return Cn(i, (l) => {
20533
20562
  o(l);
20534
20563
  }), (l, u) => (D(), J(He, null, [
20535
- U("div", uA, [
20564
+ U("div", pA, [
20536
20565
  U("label", {
20537
20566
  for: l.settingId,
20538
20567
  class: "setting-label",
20539
20568
  id: `setting-label-${l.settingId}`
20540
- }, ye(s.value.name), 9, dA),
20569
+ }, ye(s.value.name), 9, mA),
20541
20570
  rt(kh)(s.value) || rt(Nl)(s.value) ? nr((D(), J("input", {
20542
20571
  key: 0,
20543
20572
  ref: "slider",
@@ -20549,7 +20578,7 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20549
20578
  max: s.value.maxValue,
20550
20579
  step: s.value.step,
20551
20580
  "onUpdate:modelValue": u[0] || (u[0] = (c) => i.value = c)
20552
- }, null, 8, fA)), [
20581
+ }, null, 8, hA)), [
20553
20582
  [Xr, i.value]
20554
20583
  ]) : rt(Oh)(s.value) ? nr((D(), J("input", {
20555
20584
  key: 1,
@@ -20558,7 +20587,7 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20558
20587
  id: `setting-checkbox-${l.settingId}`,
20559
20588
  name: l.settingId,
20560
20589
  "onUpdate:modelValue": u[1] || (u[1] = (c) => i.value = c)
20561
- }, null, 8, pA)), [
20590
+ }, null, 8, yA)), [
20562
20591
  [nm, i.value]
20563
20592
  ]) : rt(Ah)(s.value) ? nr((D(), J("input", {
20564
20593
  key: 2,
@@ -20567,28 +20596,28 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20567
20596
  id: `setting-text-${l.settingId}`,
20568
20597
  name: l.settingId,
20569
20598
  "onUpdate:modelValue": u[2] || (u[2] = (c) => i.value = c)
20570
- }, null, 8, mA)), [
20599
+ }, null, 8, gA)), [
20571
20600
  [Xr, i.value]
20572
20601
  ]) : Oe("", !0),
20573
- U("span", hA, ye(i.value), 1)
20602
+ U("span", vA, ye(i.value), 1)
20574
20603
  ]),
20575
- U("p", yA, ye(s.value.description), 1),
20576
- gA
20604
+ U("p", _A, ye(s.value.description), 1),
20605
+ bA
20577
20606
  ], 64));
20578
20607
  }
20579
- }), _A = { class: "container mx-auto settings-menu-container" }, bA = /* @__PURE__ */ U("h2", { class: "settings-menu-title subtitle text-center" }, "Settings", -1), TA = /* @__PURE__ */ $e({
20608
+ }), SA = { class: "container mx-auto settings-menu-container" }, wA = /* @__PURE__ */ U("h2", { class: "settings-menu-title subtitle text-center" }, "Settings", -1), $A = /* @__PURE__ */ $e({
20580
20609
  __name: "settings-menu",
20581
20610
  setup(e) {
20582
- const t = En(), n = V(() => t.getAllSettingSchemas());
20583
- return (r, i) => (D(), J("div", _A, [
20584
- bA,
20585
- (D(!0), J(He, null, Je(n.value, (s, o) => (D(), Ce(vA, {
20611
+ const t = En(), n = q(() => t.getAllSettingSchemas());
20612
+ return (r, i) => (D(), J("div", SA, [
20613
+ wA,
20614
+ (D(!0), J(He, null, Je(n.value, (s, o) => (D(), Ce(TA, {
20586
20615
  settingId: o,
20587
20616
  key: o
20588
20617
  }, null, 8, ["settingId"]))), 128))
20589
20618
  ]));
20590
20619
  }
20591
- }), SA = { class: "menu-content" }, wA = /* @__PURE__ */ $e({
20620
+ }), CA = { class: "menu-content" }, kA = /* @__PURE__ */ $e({
20592
20621
  __name: "MainMenu",
20593
20622
  props: {
20594
20623
  inputListener: {}
@@ -20623,9 +20652,9 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20623
20652
  }), s.value.mount();
20624
20653
  }), _t(() => {
20625
20654
  s.value && (s.value.disable(), s.value = null);
20626
- }), (m, a) => (D(), J("div", SA, [
20655
+ }), (m, a) => (D(), J("div", CA, [
20627
20656
  U("h3", null, "Play time: " + ye(c()), 1),
20628
- ct(cA),
20657
+ ct(fA),
20629
20658
  U("div", {
20630
20659
  ref_key: "mainActions",
20631
20660
  ref: i
@@ -20639,20 +20668,20 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20639
20668
  onClick: o
20640
20669
  }, " Exit ")
20641
20670
  ], 512),
20642
- ct(TA)
20671
+ ct($A)
20643
20672
  ]));
20644
20673
  }
20645
- }), $A = { class: "sub-tabs-controller" }, CA = {
20674
+ }), OA = { class: "sub-tabs-controller" }, AA = {
20646
20675
  key: 0,
20647
20676
  class: "sub-tabs-controller__tabs"
20648
- }, kA = {
20677
+ }, EA = {
20649
20678
  key: 1,
20650
20679
  class: "sub-tab-content"
20651
- }, OA = { key: 2 }, AA = /* @__PURE__ */ U("div", { class: "sub-tab-content__empty" }, [
20680
+ }, IA = { key: 2 }, PA = /* @__PURE__ */ U("div", { class: "sub-tab-content__empty" }, [
20652
20681
  /* @__PURE__ */ U("p", null, "No tab selected")
20653
- ], -1), EA = [
20654
- AA
20655
- ], IA = /* @__PURE__ */ $e({
20682
+ ], -1), NA = [
20683
+ PA
20684
+ ], xA = /* @__PURE__ */ $e({
20656
20685
  __name: "SubTabController",
20657
20686
  props: {
20658
20687
  tabs: {},
@@ -20665,7 +20694,7 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20665
20694
  function s(l) {
20666
20695
  i.value = l, n("tab-change", l);
20667
20696
  }
20668
- const o = V(() => r.tabs[i.value]);
20697
+ const o = q(() => r.tabs[i.value]);
20669
20698
  return ft(() => {
20670
20699
  r.inputListener.actions.subPreviousTab = {
20671
20700
  press: () => {
@@ -20678,8 +20707,8 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20678
20707
  };
20679
20708
  }), _t(() => {
20680
20709
  delete r.inputListener.actions.subPreviousTab, delete r.inputListener.actions.subNextTab;
20681
- }), (l, u) => (D(), J("div", $A, [
20682
- l.tabs.length > 1 ? (D(), J("div", CA, [
20710
+ }), (l, u) => (D(), J("div", OA, [
20711
+ l.tabs.length > 1 ? (D(), J("div", AA, [
20683
20712
  (D(!0), J(He, null, Je(l.tabs, (c, m) => (D(), Ce(mf, {
20684
20713
  key: c.id,
20685
20714
  tab: c,
@@ -20687,17 +20716,17 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20687
20716
  onClick: () => s(m)
20688
20717
  }, null, 8, ["tab", "active", "onClick"]))), 128))
20689
20718
  ])) : Oe("", !0),
20690
- o.value ? (D(), J("div", kA, [
20719
+ o.value ? (D(), J("div", EA, [
20691
20720
  o.value ? (D(), Ce(Uo(o.value.component), jc({
20692
20721
  key: o.value.id,
20693
20722
  inputListener: l.inputListener
20694
20723
  }, o.value.extraProps, {
20695
20724
  onClose: u[0] || (u[0] = (c) => l.$emit("close"))
20696
20725
  }), null, 16, ["inputListener"])) : Oe("", !0)
20697
- ])) : (D(), J("div", OA, EA))
20726
+ ])) : (D(), J("div", IA, NA))
20698
20727
  ]));
20699
20728
  }
20700
- }), PA = ["onClick"], NA = { class: "item-title" }, xA = { class: "item-amount" }, jA = /* @__PURE__ */ $e({
20729
+ }), jA = ["onClick"], LA = { class: "item-title" }, DA = { class: "item-amount" }, MA = /* @__PURE__ */ $e({
20701
20730
  __name: "inventory-section",
20702
20731
  props: {
20703
20732
  items: {},
@@ -20746,22 +20775,22 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20746
20775
  style: Qe(l(a.id)),
20747
20776
  key: a.id
20748
20777
  }, [
20749
- U("h3", NA, ye(u(a.id)), 1),
20750
- U("h3", xA, ye(a.amount), 1)
20751
- ], 14, PA))), 128))
20778
+ U("h3", LA, ye(u(a.id)), 1),
20779
+ U("h3", DA, ye(a.amount), 1)
20780
+ ], 14, jA))), 128))
20752
20781
  ], 512)
20753
20782
  ], 2));
20754
20783
  }
20755
- }), LA = { class: "flex flex-row item-description-container" }, DA = { class: "flex item-left" }, MA = { class: "flex item-right" }, RA = /* @__PURE__ */ U("hr", { class: "hr-solid" }, null, -1), FA = /* @__PURE__ */ $e({
20784
+ }), RA = { class: "flex flex-row item-description-container" }, FA = { class: "flex item-left" }, UA = { class: "flex item-right" }, BA = /* @__PURE__ */ U("hr", { class: "hr-solid" }, null, -1), qA = /* @__PURE__ */ $e({
20756
20785
  __name: "item-details",
20757
20786
  props: {
20758
20787
  item: {}
20759
20788
  },
20760
20789
  emits: ["use", "close"],
20761
20790
  setup(e, { emit: t }) {
20762
- const n = e, r = le(null), i = V(() => wn(n.item.id)), s = V(() => ({
20791
+ const n = e, r = le(null), i = q(() => wn(n.item.id)), s = q(() => ({
20763
20792
  backgroundImage: `url(${Wt(i.value.icon)})`
20764
- })), o = t, l = V(() => Dt().canUseItem(n.item));
20793
+ })), o = t, l = q(() => Dt().canUseItem(n.item));
20765
20794
  function u() {
20766
20795
  l.value && o("use");
20767
20796
  }
@@ -20784,16 +20813,16 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20784
20813
  }), _t(() => {
20785
20814
  r.value && (at().unregisterInputListener(r.value), r.value = null);
20786
20815
  }), (m, a) => (D(), J("div", null, [
20787
- U("div", LA, [
20788
- U("div", DA, [
20816
+ U("div", RA, [
20817
+ U("div", FA, [
20789
20818
  U("div", {
20790
20819
  class: "item-display",
20791
20820
  style: Qe(s.value)
20792
20821
  }, null, 4)
20793
20822
  ]),
20794
- U("div", MA, [
20823
+ U("div", UA, [
20795
20824
  U("h2", null, ye(i.value.name), 1),
20796
- RA,
20825
+ BA,
20797
20826
  U("h3", null, "Amount: " + ye(m.item.amount), 1),
20798
20827
  U("p", null, ye(i.value.description), 1),
20799
20828
  U("button", {
@@ -20808,9 +20837,9 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20808
20837
  }, ye("<--"))
20809
20838
  ]));
20810
20839
  }
20811
- }), UA = { key: 0 }, BA = { key: 2 }, VA = /* @__PURE__ */ U("h2", null, "The inventory is empty!", -1), qA = [
20812
- VA
20813
- ], HA = /* @__PURE__ */ $e({
20840
+ }), VA = { key: 0 }, HA = { key: 2 }, KA = /* @__PURE__ */ U("h2", null, "The inventory is empty!", -1), GA = [
20841
+ KA
20842
+ ], WA = /* @__PURE__ */ $e({
20814
20843
  __name: "inventory-ui",
20815
20844
  props: {
20816
20845
  section: {},
@@ -20818,7 +20847,7 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20818
20847
  },
20819
20848
  emits: ["close"],
20820
20849
  setup(e, { emit: t }) {
20821
- const n = Dt(), r = V(() => n.items), i = le(!1), s = V(() => i.value ? r.value[i.value] : null);
20850
+ const n = Dt(), r = q(() => n.items), i = le(!1), s = q(() => i.value ? r.value[i.value] : null);
20822
20851
  function o() {
20823
20852
  jt().closeMenu();
20824
20853
  }
@@ -20831,28 +20860,28 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20831
20860
  function c() {
20832
20861
  n.useItem(s.value) && o();
20833
20862
  }
20834
- return (m, a) => !s.value && m.section.items.length > 0 ? (D(), J("div", UA, [
20835
- ct(jA, {
20863
+ return (m, a) => !s.value && m.section.items.length > 0 ? (D(), J("div", VA, [
20864
+ ct(MA, {
20836
20865
  items: m.section.items,
20837
20866
  title: m.section.title,
20838
20867
  inputListener: m.inputListener,
20839
20868
  id: m.section.id,
20840
20869
  onChosen: l
20841
20870
  }, null, 8, ["items", "title", "inputListener", "id"])
20842
- ])) : typeof i.value == "string" ? (D(), Ce(FA, {
20871
+ ])) : typeof i.value == "string" ? (D(), Ce(qA, {
20843
20872
  key: 1,
20844
20873
  item: r.value[i.value],
20845
20874
  onUse: c,
20846
20875
  onClose: u
20847
- }, null, 8, ["item"])) : (D(), J("div", BA, qA));
20876
+ }, null, 8, ["item"])) : (D(), J("div", HA, GA));
20848
20877
  }
20849
- }), KA = /* @__PURE__ */ $e({
20878
+ }), zA = /* @__PURE__ */ $e({
20850
20879
  __name: "InventoryTab",
20851
20880
  props: {
20852
20881
  inputListener: {}
20853
20882
  },
20854
20883
  setup(e) {
20855
- const t = Dt(), n = V(() => t.items), r = V(() => Object.values(n.value).filter((o) => o.amount > 0 ? !0 : !!wn(o.id).showIfEmpty)), i = V(() => {
20884
+ const t = Dt(), n = q(() => t.items), r = q(() => Object.values(n.value).filter((o) => o.amount > 0 ? !0 : !!wn(o.id).showIfEmpty)), i = q(() => {
20856
20885
  const o = et().items.categories, l = [];
20857
20886
  if (o.length > 1) {
20858
20887
  const u = {
@@ -20873,13 +20902,13 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20873
20902
  });
20874
20903
  }
20875
20904
  return l;
20876
- }), s = V(() => {
20905
+ }), s = q(() => {
20877
20906
  const o = [];
20878
20907
  return i.value.forEach((l) => {
20879
20908
  o.push({
20880
20909
  id: l.id,
20881
20910
  label: l.title,
20882
- component: HA,
20911
+ component: WA,
20883
20912
  extraProps: {
20884
20913
  section: l
20885
20914
  }
@@ -20887,30 +20916,30 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20887
20916
  }), o;
20888
20917
  });
20889
20918
  return (o, l) => (D(), J("div", null, [
20890
- ct(IA, {
20919
+ ct(xA, {
20891
20920
  tabs: s.value,
20892
20921
  defaultTab: 0,
20893
20922
  inputListener: o.inputListener
20894
20923
  }, null, 8, ["tabs", "inputListener"])
20895
20924
  ]));
20896
20925
  }
20897
- }), GA = ["id"], WA = { class: "obtained-status" }, zA = { class: "achievement-title" }, QA = { class: "achievement-description" }, YA = /* @__PURE__ */ $e({
20926
+ }), QA = ["id"], YA = { class: "obtained-status" }, JA = { class: "achievement-title" }, XA = { class: "achievement-description" }, ZA = /* @__PURE__ */ $e({
20898
20927
  __name: "achievement-tile",
20899
20928
  props: {
20900
20929
  achievement: {}
20901
20930
  },
20902
20931
  setup(e) {
20903
- const t = e, n = di(), r = V(
20932
+ const t = e, n = di(), r = q(
20904
20933
  () => n.getExistingAchievement(t.achievement)
20905
- ), i = V(() => pl(t.achievement)), s = qi().secretAchievements ?? {
20934
+ ), i = q(() => pl(t.achievement)), s = Vi().secretAchievements ?? {
20906
20935
  censorName: !0,
20907
20936
  censorDescription: !0
20908
- }, o = V(() => {
20937
+ }, o = q(() => {
20909
20938
  let m = r.value.unlocked ? i.value.icon : i.value.lockedIcon;
20910
- return m || (m = qi().defaultAchievementIcon), {
20939
+ return m || (m = Vi().defaultAchievementIcon), {
20911
20940
  backgroundImage: `url(${Wt(m)})`
20912
20941
  };
20913
- }), l = V(() => !i.value.secret || !s.censorName ? i.value.name : "Hidden Achievement"), u = V(() => !i.value.secret || !s.censorDescription ? i.value.description : "This achievement is hidden. Complete it to discover more."), c = V(() => r.value.unlocked ? `Obtained ${new Date(r.value.unlockTime).toLocaleDateString()}` : "Not obtained yet");
20942
+ }), l = q(() => !i.value.secret || !s.censorName ? i.value.name : "Hidden Achievement"), u = q(() => !i.value.secret || !s.censorDescription ? i.value.description : "This achievement is hidden. Complete it to discover more."), c = q(() => r.value.unlocked ? `Obtained ${new Date(r.value.unlockTime).toLocaleDateString()}` : "Not obtained yet");
20914
20943
  return (m, a) => (D(), J("div", {
20915
20944
  class: "achievement-display nrt-tile",
20916
20945
  id: `achievement-${m.achievement}`
@@ -20919,12 +20948,12 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20919
20948
  class: "achievement-icon",
20920
20949
  style: Qe(o.value)
20921
20950
  }, null, 4),
20922
- U("p", WA, ye(c.value), 1),
20923
- U("h3", zA, ye(l.value), 1),
20924
- U("p", QA, ye(u.value), 1)
20925
- ], 8, GA));
20951
+ U("p", YA, ye(c.value), 1),
20952
+ U("h3", JA, ye(l.value), 1),
20953
+ U("p", XA, ye(u.value), 1)
20954
+ ], 8, QA));
20926
20955
  }
20927
- }), JA = { class: "achievements-section-achievements" }, XA = /* @__PURE__ */ $e({
20956
+ }), eE = { class: "achievements-section-achievements" }, tE = /* @__PURE__ */ $e({
20928
20957
  __name: "achievements-section",
20929
20958
  props: {
20930
20959
  achievements: {},
@@ -20937,17 +20966,17 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
20937
20966
  class: Ke(["achievements-section", `section-${t.id}`])
20938
20967
  }, [
20939
20968
  U("h3", null, ye(n.title), 1),
20940
- U("div", JA, [
20941
- (D(!0), J(He, null, Je(n.achievements, (i) => (D(), Ce(YA, {
20969
+ U("div", eE, [
20970
+ (D(!0), J(He, null, Je(n.achievements, (i) => (D(), Ce(ZA, {
20942
20971
  achievement: i.id,
20943
20972
  key: i.id
20944
20973
  }, null, 8, ["achievement"]))), 128))
20945
20974
  ])
20946
20975
  ], 2));
20947
20976
  }
20948
- }), ZA = $e({
20977
+ }), nE = $e({
20949
20978
  setup() {
20950
- const e = di(), t = Ye(), n = V(() => e.achievements), r = V(() => t.currentDialog.choices);
20979
+ const e = di(), t = Ye(), n = q(() => e.achievements), r = q(() => t.currentDialog.choices);
20951
20980
  return { achievements: n, currentlyChoosing: r };
20952
20981
  },
20953
20982
  emits: ["close"],
@@ -21000,13 +21029,13 @@ const cA = /* @__PURE__ */ hn(rA, [["render", lA]]), uA = { class: "settings-wid
21000
21029
  );
21001
21030
  }
21002
21031
  },
21003
- components: { AchievementsSection: XA }
21004
- }), eE = { key: 0 }, tE = { key: 1 }, nE = /* @__PURE__ */ U("h2", null, "The achievements section is empty!", -1), rE = [
21005
- nE
21032
+ components: { AchievementsSection: tE }
21033
+ }), rE = { key: 0 }, iE = { key: 1 }, oE = /* @__PURE__ */ U("h2", null, "The achievements section is empty!", -1), sE = [
21034
+ oE
21006
21035
  ];
21007
- function iE(e, t, n, r, i, s) {
21036
+ function aE(e, t, n, r, i, s) {
21008
21037
  const o = Zr("AchievementsSection");
21009
- return Object.keys(e.achievementsToDisplay).length > 0 ? (D(), J("div", eE, [
21038
+ return Object.keys(e.achievementsToDisplay).length > 0 ? (D(), J("div", rE, [
21010
21039
  (D(!0), J(He, null, Je(e.sections, (l) => (D(), Ce(o, {
21011
21040
  key: l.id,
21012
21041
  achievements: l.achievements,
@@ -21014,22 +21043,22 @@ function iE(e, t, n, r, i, s) {
21014
21043
  id: l.id,
21015
21044
  onChosen: e.clickAchievement
21016
21045
  }, null, 8, ["achievements", "title", "id", "onChosen"]))), 128))
21017
- ])) : (D(), J("div", tE, rE));
21046
+ ])) : (D(), J("div", iE, sE));
21018
21047
  }
21019
- const oE = /* @__PURE__ */ hn(ZA, [["render", iE]]), sE = { class: "quest-display" }, aE = { class: "quest-title" }, lE = { class: "quest-description" }, cE = {
21048
+ const lE = /* @__PURE__ */ hn(nE, [["render", aE]]), cE = { class: "quest-display" }, uE = { class: "quest-title" }, dE = { class: "quest-description" }, fE = {
21020
21049
  key: 0,
21021
21050
  class: "quest-objectives-container list-disc"
21022
- }, uE = /* @__PURE__ */ $e({
21051
+ }, pE = /* @__PURE__ */ $e({
21023
21052
  __name: "QuestDetails",
21024
21053
  props: {
21025
21054
  quest: {}
21026
21055
  },
21027
21056
  setup(e) {
21028
- const t = e, n = V(() => sr(t.quest.id));
21057
+ const t = e, n = q(() => sr(t.quest.id));
21029
21058
  function r(l) {
21030
21059
  return Do(t.quest.id, l);
21031
21060
  }
21032
- const i = V(() => {
21061
+ const i = q(() => {
21033
21062
  switch (t.quest.state) {
21034
21063
  case "hidden":
21035
21064
  return " Hidden";
@@ -21040,20 +21069,20 @@ const oE = /* @__PURE__ */ hn(ZA, [["render", iE]]), sE = { class: "quest-displa
21040
21069
  default:
21041
21070
  return " Unknown";
21042
21071
  }
21043
- }), s = V(() => t.quest.ending ? wp(t.quest.id, t.quest.ending).description : t.quest.succeeded && n.value.succeededDescription ? n.value.succeededDescription : !t.quest.succeeded && n.value.failedDescription ? n.value.failedDescription : n.value.description), o = V(() => Object.values(t.quest.objectives).filter(
21072
+ }), s = q(() => t.quest.ending ? wp(t.quest.id, t.quest.ending).description : t.quest.succeeded && n.value.succeededDescription ? n.value.succeededDescription : !t.quest.succeeded && n.value.failedDescription ? n.value.failedDescription : n.value.description), o = q(() => Object.values(t.quest.objectives).filter(
21044
21073
  (l) => l.state !== "hidden"
21045
21074
  ));
21046
- return (l, u) => (D(), J("div", sE, [
21075
+ return (l, u) => (D(), J("div", cE, [
21047
21076
  U("div", {
21048
21077
  class: Ke([
21049
21078
  "quest-header",
21050
21079
  l.quest.state === "completed" ? "quest-completed" : "quest-in-progress"
21051
21080
  ])
21052
21081
  }, [
21053
- U("h3", aE, ye(n.value.title) + " " + ye(i.value), 1)
21082
+ U("h3", uE, ye(n.value.title) + " " + ye(i.value), 1)
21054
21083
  ], 2),
21055
- U("p", lE, ye(s.value), 1),
21056
- l.quest.state !== "completed" ? (D(), J("ul", cE, [
21084
+ U("p", dE, ye(s.value), 1),
21085
+ l.quest.state !== "completed" ? (D(), J("ul", fE, [
21057
21086
  (D(!0), J(He, null, Je(o.value, (c) => (D(), J("li", {
21058
21087
  class: "quest-objective-display",
21059
21088
  key: c.id
@@ -21068,23 +21097,23 @@ const oE = /* @__PURE__ */ hn(ZA, [["render", iE]]), sE = { class: "quest-displa
21068
21097
  ])) : Oe("", !0)
21069
21098
  ]));
21070
21099
  }
21071
- }), dE = { class: "quest-list-title" }, fE = /* @__PURE__ */ $e({
21100
+ }), mE = { class: "quest-list-title" }, hE = /* @__PURE__ */ $e({
21072
21101
  __name: "QuestDisplay",
21073
21102
  props: {
21074
21103
  quest: {}
21075
21104
  },
21076
21105
  setup(e) {
21077
- const t = e, n = V(() => sr(t.quest.id));
21106
+ const t = e, n = q(() => sr(t.quest.id));
21078
21107
  return (r, i) => (D(), J("div", {
21079
21108
  class: Ke([
21080
21109
  "quest-list-display",
21081
21110
  r.quest.state === "completed" ? "quest-list-completed" : "quest-list-in-progress"
21082
21111
  ])
21083
21112
  }, [
21084
- U("p", dE, ye(n.value.title), 1)
21113
+ U("p", mE, ye(n.value.title), 1)
21085
21114
  ], 2));
21086
21115
  }
21087
- }), pE = { key: 0 }, mE = { key: 0 }, hE = { key: 1 }, yE = /* @__PURE__ */ $e({
21116
+ }), yE = { key: 0 }, gE = { key: 0 }, vE = { key: 1 }, _E = /* @__PURE__ */ $e({
21088
21117
  __name: "quests-list-section",
21089
21118
  props: {
21090
21119
  quests: {},
@@ -21094,7 +21123,7 @@ const oE = /* @__PURE__ */ hn(ZA, [["render", iE]]), sE = { class: "quest-displa
21094
21123
  },
21095
21124
  emits: ["quest-selected"],
21096
21125
  setup(e, { emit: t }) {
21097
- const n = e, r = V(() => ns().categories), i = V(() => {
21126
+ const n = e, r = q(() => ns().categories), i = q(() => {
21098
21127
  const s = [];
21099
21128
  return n.quests.reduce((l, u) => {
21100
21129
  const c = sr(u.id).category ?? "default", m = r.value.find(
@@ -21113,30 +21142,30 @@ const oE = /* @__PURE__ */ hn(ZA, [["render", iE]]), sE = { class: "quest-displa
21113
21142
  class: Ke([`${s.sectionId}-quests-container`, "quests-section"])
21114
21143
  }, [
21115
21144
  U("h3", null, ye(s.title), 1),
21116
- s.quests.length > 0 ? (D(), J("div", pE, [
21145
+ s.quests.length > 0 ? (D(), J("div", yE, [
21117
21146
  (D(!0), J(He, null, Je(i.value, (l) => (D(), J("div", {
21118
21147
  class: Ke([`${s.sectionId}-${l.category.id}-category`, "quests-category"]),
21119
21148
  key: l.category.id
21120
21149
  }, [
21121
- r.value.length > 1 ? (D(), J("h4", mE, ye(l.category.title), 1)) : Oe("", !0),
21150
+ r.value.length > 1 ? (D(), J("h4", gE, ye(l.category.title), 1)) : Oe("", !0),
21122
21151
  U("div", {
21123
21152
  class: Ke(`${s.sectionId}-${l.category.id}-quests`)
21124
21153
  }, [
21125
- (D(!0), J(He, null, Je(l.quests, (u) => (D(), Ce(fE, {
21154
+ (D(!0), J(He, null, Je(l.quests, (u) => (D(), Ce(hE, {
21126
21155
  key: u.id,
21127
21156
  quest: u,
21128
21157
  onClick: (c) => s.$emit("quest-selected", u)
21129
21158
  }, null, 8, ["quest", "onClick"]))), 128))
21130
21159
  ], 2)
21131
21160
  ], 2))), 128))
21132
- ])) : (D(), J("div", hE, [
21161
+ ])) : (D(), J("div", vE, [
21133
21162
  U("p", null, ye(s.fallbackText), 1)
21134
21163
  ]))
21135
21164
  ], 2));
21136
21165
  }
21137
- }), gE = $e({
21166
+ }), bE = $e({
21138
21167
  setup() {
21139
- const e = Pt(), t = V(() => e.quests), n = le(null);
21168
+ const e = Pt(), t = q(() => e.quests), n = le(null);
21140
21169
  return { quests: t, selectedQuest: n };
21141
21170
  },
21142
21171
  computed: {
@@ -21165,14 +21194,14 @@ const oE = /* @__PURE__ */ hn(ZA, [["render", iE]]), sE = { class: "quest-displa
21165
21194
  this.selectedQuest = e;
21166
21195
  }
21167
21196
  },
21168
- components: { QuestDetails: uE, QuestsListSection: yE }
21169
- }), vE = { class: "quests-list-container" }, _E = { class: "quest-details" };
21170
- function bE(e, t, n, r, i, s) {
21197
+ components: { QuestDetails: pE, QuestsListSection: _E }
21198
+ }), TE = { class: "quests-list-container" }, SE = { class: "quest-details" };
21199
+ function wE(e, t, n, r, i, s) {
21171
21200
  const o = Zr("QuestsListSection"), l = Zr("QuestDetails");
21172
21201
  return D(), J("div", {
21173
21202
  class: Ke(["quests-ui", e.questsUiClass])
21174
21203
  }, [
21175
- U("div", vE, [
21204
+ U("div", TE, [
21176
21205
  ct(o, {
21177
21206
  quests: e.activeQuests,
21178
21207
  sectionId: "active",
@@ -21188,7 +21217,7 @@ function bE(e, t, n, r, i, s) {
21188
21217
  onQuestSelected: e.clickOnQuest
21189
21218
  }, null, 8, ["quests", "onQuestSelected"])
21190
21219
  ]),
21191
- U("div", _E, [
21220
+ U("div", SE, [
21192
21221
  e.selectedQuest ? (D(), Ce(l, {
21193
21222
  key: 0,
21194
21223
  quest: e.selectedQuest
@@ -21196,11 +21225,11 @@ function bE(e, t, n, r, i, s) {
21196
21225
  ])
21197
21226
  ], 2);
21198
21227
  }
21199
- const TE = /* @__PURE__ */ hn(gE, [["render", bE]]);
21228
+ const $E = /* @__PURE__ */ hn(bE, [["render", wE]]);
21200
21229
  function Up(e) {
21201
- const t = vt(), n = V(() => t.skills), r = V(() => n.value[e]), i = V(() => Bn().skills), s = V(() => Bn().skillOptions.xpPerLevel), o = V(() => ({
21230
+ const t = vt(), n = q(() => t.skills), r = q(() => n.value[e]), i = q(() => Bn().skills), s = q(() => Bn().skillOptions.xpPerLevel), o = q(() => ({
21202
21231
  backgroundImage: `url(${Wt(i.value[e].icon)})`
21203
- })), l = V(() => i.value[e].name), u = V(() => i.value[e].description), c = V(() => `Level ${n.value[e].level}`);
21232
+ })), l = q(() => i.value[e].name), u = q(() => i.value[e].description), c = q(() => `Level ${n.value[e].level}`);
21204
21233
  return {
21205
21234
  skills: n,
21206
21235
  skillsStore: t,
@@ -21213,7 +21242,7 @@ function Up(e) {
21213
21242
  skillLevelText: c
21214
21243
  };
21215
21244
  }
21216
- const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = { class: "flex flex-row skill-description-container" }, CE = { class: "flex skill-left" }, kE = { class: "flex skill-right" }, OE = /* @__PURE__ */ SE(() => /* @__PURE__ */ U("hr", { class: "hr-solid" }, null, -1)), AE = ["innerHTML"], EE = /* @__PURE__ */ $e({
21245
+ const CE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), kE = ["id"], OE = { class: "flex flex-row skill-description-container" }, AE = { class: "flex skill-left" }, EE = { class: "flex skill-right" }, IE = /* @__PURE__ */ CE(() => /* @__PURE__ */ U("hr", { class: "hr-solid" }, null, -1)), PE = ["innerHTML"], NE = /* @__PURE__ */ $e({
21217
21246
  __name: "SkillDetails",
21218
21247
  props: {
21219
21248
  chosenSkill: {},
@@ -21240,18 +21269,18 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21240
21269
  }), (a, d) => (D(), J("div", {
21241
21270
  id: `skill-display-${a.chosenSkill}`
21242
21271
  }, [
21243
- U("div", $E, [
21244
- U("div", CE, [
21272
+ U("div", OE, [
21273
+ U("div", AE, [
21245
21274
  U("div", {
21246
21275
  class: "skill-display",
21247
21276
  style: Qe(rt(l))
21248
21277
  }, null, 4)
21249
21278
  ]),
21250
- U("div", kE, [
21279
+ U("div", EE, [
21251
21280
  U("h2", null, ye(rt(u)), 1),
21252
- OE,
21281
+ IE,
21253
21282
  U("h3", null, ye(rt(m)), 1),
21254
- U("p", { innerHTML: rt(c) }, null, 8, AE)
21283
+ U("p", { innerHTML: rt(c) }, null, 8, PE)
21255
21284
  ])
21256
21285
  ]),
21257
21286
  U("div", {
@@ -21263,9 +21292,9 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21263
21292
  onClick: o
21264
21293
  }, ye("<--"))
21265
21294
  ], 512)
21266
- ], 8, wE));
21295
+ ], 8, kE));
21267
21296
  }
21268
- }), IE = /* @__PURE__ */ hn(EE, [["__scopeId", "data-v-a94cb74f"]]), PE = { class: "skill-title" }, NE = { class: "skill-xp-container" }, xE = { class: "skill-xp-text" }, jE = { class: "skill-level" }, LE = /* @__PURE__ */ $e({
21297
+ }), xE = /* @__PURE__ */ hn(NE, [["__scopeId", "data-v-a94cb74f"]]), jE = { class: "skill-title" }, LE = { class: "skill-xp-container" }, DE = { class: "skill-xp-text" }, ME = { class: "skill-level" }, RE = /* @__PURE__ */ $e({
21269
21298
  __name: "SkillGridElement",
21270
21299
  props: {
21271
21300
  chosenSkill: {},
@@ -21283,7 +21312,7 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21283
21312
  }
21284
21313
  const { skillStyle: l, skillName: u, skillState: c, xpPerLevel: m } = Up(
21285
21314
  r.chosenSkill
21286
- ), a = V(() => ({
21315
+ ), a = q(() => ({
21287
21316
  width: `${Math.floor(c.value.xp / m.value * 100)}%`
21288
21317
  }));
21289
21318
  return (d, p) => (D(), J("button", {
@@ -21293,18 +21322,18 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21293
21322
  ref_key: "gridElement",
21294
21323
  ref: i
21295
21324
  }, [
21296
- U("h3", PE, ye(rt(u)), 1),
21297
- U("div", NE, [
21325
+ U("h3", jE, ye(rt(u)), 1),
21326
+ U("div", LE, [
21298
21327
  U("div", {
21299
21328
  class: "skill-xp-bar",
21300
21329
  style: Qe(a.value)
21301
21330
  }, null, 4),
21302
- U("h3", xE, ye(rt(c).xp) + " / " + ye(rt(m)) + " XP", 1)
21331
+ U("h3", DE, ye(rt(c).xp) + " / " + ye(rt(m)) + " XP", 1)
21303
21332
  ]),
21304
- U("h3", jE, ye(rt(c).level), 1)
21333
+ U("h3", ME, ye(rt(c).level), 1)
21305
21334
  ], 4));
21306
21335
  }
21307
- }), DE = /* @__PURE__ */ hn(LE, [["__scopeId", "data-v-8d457bf9"]]), ME = { class: "skills-container" }, RE = /* @__PURE__ */ $e({
21336
+ }), FE = /* @__PURE__ */ hn(RE, [["__scopeId", "data-v-8d457bf9"]]), UE = { class: "skills-container" }, BE = /* @__PURE__ */ $e({
21308
21337
  __name: "SkillsGrid",
21309
21338
  props: {
21310
21339
  inputListener: {},
@@ -21312,11 +21341,11 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21312
21341
  },
21313
21342
  emits: ["choose"],
21314
21343
  setup(e, { emit: t }) {
21315
- const n = e, r = le([]), i = V(() => r.value.map((d) => d.gridElement)), s = vt(), o = V(() => s.skills), l = le(null), u = t;
21344
+ const n = e, r = le([]), i = q(() => r.value.map((d) => d.gridElement)), s = vt(), o = q(() => s.skills), l = le(null), u = t;
21316
21345
  function c(d) {
21317
21346
  u("choose", d);
21318
21347
  }
21319
- const m = V(() => Bn().skills), a = V(() => {
21348
+ const m = q(() => Bn().skills), a = q(() => {
21320
21349
  const d = {};
21321
21350
  for (const p in o.value)
21322
21351
  m.value[p].hidden && o.value[p].level < 1 || (d[p] = o.value[p]);
@@ -21340,8 +21369,8 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21340
21369
  }
21341
21370
  }), _t(() => {
21342
21371
  l.value && l.value.disable();
21343
- }), (d, p) => (D(), J("div", ME, [
21344
- (D(!0), J(He, null, Je(a.value, (h) => (D(), Ce(DE, {
21372
+ }), (d, p) => (D(), J("div", UE, [
21373
+ (D(!0), J(He, null, Je(a.value, (h) => (D(), Ce(FE, {
21345
21374
  ref_for: !0,
21346
21375
  ref_key: "skillGridElements",
21347
21376
  ref: r,
@@ -21352,7 +21381,7 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21352
21381
  }, null, 8, ["onChoose", "chosenSkill", "inputListener"]))), 128))
21353
21382
  ]));
21354
21383
  }
21355
- }), FE = /* @__PURE__ */ hn(RE, [["__scopeId", "data-v-31202bb8"]]), UE = /* @__PURE__ */ $e({
21384
+ }), qE = /* @__PURE__ */ hn(BE, [["__scopeId", "data-v-31202bb8"]]), VE = /* @__PURE__ */ $e({
21356
21385
  __name: "SkillsWindow",
21357
21386
  props: {
21358
21387
  inputListener: {}
@@ -21365,12 +21394,12 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21365
21394
  function i() {
21366
21395
  t.value = !1;
21367
21396
  }
21368
- return (s, o) => t.value ? typeof t.value == "string" ? (D(), Ce(IE, {
21397
+ return (s, o) => t.value ? typeof t.value == "string" ? (D(), Ce(xE, {
21369
21398
  key: 1,
21370
21399
  chosenSkill: t.value,
21371
21400
  inputListener: s.inputListener,
21372
21401
  onCancel: i
21373
- }, null, 8, ["chosenSkill", "inputListener"])) : Oe("", !0) : (D(), Ce(FE, {
21402
+ }, null, 8, ["chosenSkill", "inputListener"])) : Oe("", !0) : (D(), Ce(qE, {
21374
21403
  key: 0,
21375
21404
  inputListener: s.inputListener,
21376
21405
  lastChosenSkill: n.value,
@@ -21378,8 +21407,8 @@ const SE = (e) => (rm("data-v-a94cb74f"), e = e(), im(), e), wE = ["id"], $E = {
21378
21407
  }, null, 8, ["inputListener", "lastChosenSkill"]));
21379
21408
  }
21380
21409
  });
21381
- function BE(e) {
21382
- e.component("MainMenu", wA), e.component("InventoryTab", KA), e.component("AchievementsUI", oE), e.component("QuestsUi", TE), e.component("SkillsWindow", UE), jt().menus = {
21410
+ function HE(e) {
21411
+ e.component("MainMenu", kA), e.component("InventoryTab", zA), e.component("AchievementsUI", lE), e.component("QuestsUi", $E), e.component("SkillsWindow", VE), jt().menus = {
21383
21412
  system: {
21384
21413
  label: "System",
21385
21414
  cssClass: "system-menu",
@@ -21440,20 +21469,20 @@ function Bp(e, t, n) {
21440
21469
  }
21441
21470
  jt().addMenu(e, t);
21442
21471
  }
21443
- function VE(e, t, n) {
21472
+ function KE(e, t, n) {
21444
21473
  window.narrat.app.component(t.component, n), jt().addMenuOption(e, t);
21445
21474
  }
21446
- function qE() {
21475
+ function GE() {
21447
21476
  for (const e of Me.plugins) {
21448
21477
  if (e.customMenuButtons)
21449
21478
  for (const t of e.customMenuButtons)
21450
21479
  Bp(t.config.id, t.config, t.components);
21451
21480
  if (e.customMenuTabs)
21452
21481
  for (const t of e.customMenuTabs)
21453
- VE(t.config.id, t.config, t.component);
21482
+ KE(t.config.id, t.config, t.component);
21454
21483
  }
21455
21484
  }
21456
- function HE(e) {
21485
+ function WE(e) {
21457
21486
  e.directive("visible", {
21458
21487
  mounted(t, n) {
21459
21488
  n.value ? t.style.visibility = "visible" : t.style.visibility = "hidden";
@@ -21465,7 +21494,7 @@ function HE(e) {
21465
21494
  }
21466
21495
  class gl {
21467
21496
  constructor() {
21468
- Ve(this, "pluginId", "narrat-plugin");
21497
+ qe(this, "pluginId", "narrat-plugin");
21469
21498
  }
21470
21499
  onPageLoaded() {
21471
21500
  }
@@ -21484,13 +21513,13 @@ class gl {
21484
21513
  onGameDismounted() {
21485
21514
  }
21486
21515
  }
21487
- function KE(e) {
21516
+ function zE(e) {
21488
21517
  Me.addPlugin(e);
21489
21518
  }
21490
- function GE(e) {
21519
+ function QE(e) {
21491
21520
  Me.addCommand(e);
21492
21521
  }
21493
- const WE = {
21522
+ const YE = {
21494
21523
  args: [],
21495
21524
  canvasResizePolicy: 0,
21496
21525
  executable: "",
@@ -21499,27 +21528,27 @@ const WE = {
21499
21528
  focusCanvas: !1,
21500
21529
  gdextensionLibs: []
21501
21530
  };
21502
- function zE() {
21531
+ function JE() {
21503
21532
  window.godotReady = !0, window.narratReadyCallback && window.narratReadyCallback(), console.log("godot ready");
21504
21533
  }
21505
- window.godotReadyCallback = zE;
21506
- class QE extends gl {
21534
+ window.godotReadyCallback = JE;
21535
+ class XE extends gl {
21507
21536
  constructor(n) {
21508
21537
  super();
21509
- Ve(this, "customCommands", []);
21510
- Ve(this, "canvas");
21511
- Ve(this, "app");
21512
- Ve(this, "messageQueue", []);
21513
- Ve(this, "narrat");
21514
- Ve(this, "narratReady", !1);
21515
- Ve(this, "engineConfig");
21516
- Ve(this, "engine");
21538
+ qe(this, "customCommands", []);
21539
+ qe(this, "canvas");
21540
+ qe(this, "app");
21541
+ qe(this, "messageQueue", []);
21542
+ qe(this, "narrat");
21543
+ qe(this, "narratReady", !1);
21544
+ qe(this, "engineConfig");
21545
+ qe(this, "engine");
21517
21546
  const r = {
21518
- ...WE,
21547
+ ...YE,
21519
21548
  ...n.engineConfigOverrides ?? {}
21520
21549
  };
21521
21550
  n.godotGamePath && (r.executable = n.godotGamePath), this.engineConfig = r, this.customCommands = [
21522
- q.FromOptions({
21551
+ V.FromOptions({
21523
21552
  keyword: "godot_pause",
21524
21553
  argTypes: [],
21525
21554
  runner: async (i) => {
@@ -21529,7 +21558,7 @@ class QE extends gl {
21529
21558
  });
21530
21559
  }
21531
21560
  }),
21532
- q.FromOptions({
21561
+ V.FromOptions({
21533
21562
  keyword: "godot_resume",
21534
21563
  argTypes: [],
21535
21564
  runner: async (i) => {
@@ -21594,14 +21623,14 @@ class QE extends gl {
21594
21623
  this.canvas.width = r, this.canvas.height = i, this.canvas.style.width = `${r}px`, this.canvas.style.height = `${i}px`, window.requestAnimationFrame(() => this.resizeCanvas());
21595
21624
  }
21596
21625
  }
21597
- class YE extends gl {
21626
+ class ZE extends gl {
21598
21627
  constructor(n = {}) {
21599
21628
  super();
21600
- Ve(this, "defaultTheme");
21601
- Ve(this, "themes", []);
21602
- Ve(this, "activeTheme");
21603
- Ve(this, "customCommands");
21604
- Ve(this, "initialConfig");
21629
+ qe(this, "defaultTheme");
21630
+ qe(this, "themes", []);
21631
+ qe(this, "activeTheme");
21632
+ qe(this, "customCommands");
21633
+ qe(this, "initialConfig");
21605
21634
  n.defaultTheme && (this.defaultTheme = n.defaultTheme), n.themes && (this.themes = n.themes), this.customCommands = [this.createChangeThemeCommand()];
21606
21635
  }
21607
21636
  onNarratSetup() {
@@ -21618,7 +21647,7 @@ class YE extends gl {
21618
21647
  this.themes.push(n);
21619
21648
  }
21620
21649
  createChangeThemeCommand() {
21621
- return q.FromOptions({
21650
+ return V.FromOptions({
21622
21651
  keyword: "change_theme",
21623
21652
  argTypes: [{ name: "theme", type: "string" }],
21624
21653
  runner: async (r) => {
@@ -21663,13 +21692,13 @@ class YE extends gl {
21663
21692
  this.activeTheme && (this.activeTheme.themeTag && this.activeTheme.themeTag.remove(), this.findTheme(this.activeTheme.id).extendedConfig && (Ct().config = this.initialConfig)), this.activeTheme = void 0;
21664
21693
  }
21665
21694
  }
21666
- const JE = "body{font-size:52px}", XE = {
21667
- css: JE,
21695
+ const eI = "body{font-size:52px}", tI = {
21696
+ css: eI,
21668
21697
  id: "narrat-fun-theme",
21669
21698
  extendedConfig: {}
21670
- }, ZE = "#narrat-app{--bg-color: #131720;--text-color: #d9e1f2;--primary: hsl(255, 30%, 55%);--focus: hsl(210, 90%, 50%);--secondary: #42b983;--dialog-box-bg: transparent;--dialog-box-border: none}.interact-button{background:unset;border:none;font-size:2rem;font-weight:700;color:#fff;font-family:monospace;text-shadow:-4px 4px 2px #000}.dialog{box-shadow:none!important;text-align:center}.dialog-text{font-size:1.5rem;font-family:monospace;text-shadow:-4px 4px 2px #000}", eI = {
21699
+ }, nI = "#narrat-app{--bg-color: #131720;--text-color: #d9e1f2;--primary: hsl(255, 30%, 55%);--focus: hsl(210, 90%, 50%);--secondary: #42b983;--dialog-box-bg: transparent;--dialog-box-border: none}.interact-button{background:unset;border:none;font-size:2rem;font-weight:700;color:#fff;font-family:monospace;text-shadow:-4px 4px 2px #000}.dialog{box-shadow:none!important;text-align:center}.dialog-text{font-size:1.5rem;font-family:monospace;text-shadow:-4px 4px 2px #000}", rI = {
21671
21700
  id: "narrat-text-only",
21672
- css: ZE,
21701
+ css: nI,
21673
21702
  extendedConfig: {
21674
21703
  common: {
21675
21704
  dialogPanel: {
@@ -21684,17 +21713,17 @@ const JE = "body{font-size:52px}", XE = {
21684
21713
  }
21685
21714
  }
21686
21715
  }
21687
- }, tI = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21716
+ }, iI = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21688
21717
  __proto__: null,
21689
21718
  BaseConfigInputSchema: Ta,
21690
- CommandPlugin: q,
21719
+ CommandPlugin: V,
21691
21720
  ConfigInputSchema: Pf,
21692
21721
  ConfigInputSchemaWithCommon: Ef,
21693
21722
  ConfigInputSchemaWithoutCommon: If,
21694
21723
  EngineSplash: nf,
21695
21724
  GameDialog: pf,
21696
21725
  GameSplash: of,
21697
- GodotPlugin: QE,
21726
+ GodotPlugin: XE,
21698
21727
  Hud: vf,
21699
21728
  InGame: _f,
21700
21729
  InputsListener: af,
@@ -21702,22 +21731,22 @@ const JE = "body{font-size:52px}", XE = {
21702
21731
  MenuButtons: hf,
21703
21732
  ModalWindow: ar,
21704
21733
  NarratPlugin: gl,
21705
- NarratThemesPlugin: YE,
21734
+ NarratThemesPlugin: ZE,
21706
21735
  Screens: gf,
21707
21736
  StartMenu: uf,
21708
21737
  get Vec2() {
21709
21738
  return Qr;
21710
21739
  },
21711
- addCommand: GE,
21740
+ addCommand: QE,
21712
21741
  aspectRatioFit: rf,
21713
21742
  audioConfig: rn,
21714
21743
  buttonsConfig: cl,
21715
21744
  charactersConfig: ul,
21716
- constructNarratObject: Vp,
21745
+ constructNarratObject: qp,
21717
21746
  debounce: Qo,
21718
21747
  error: ue,
21719
21748
  findVariable: nu,
21720
- funTheme: XE,
21749
+ funTheme: tI,
21721
21750
  gameloop: zo,
21722
21751
  generateObjectFromList: iu,
21723
21752
  generateParser: Ji,
@@ -21745,14 +21774,14 @@ const JE = "body{font-size:52px}", XE = {
21745
21774
  loadDataFile: Go,
21746
21775
  logManager: ta,
21747
21776
  logger: fn,
21748
- processText: qn,
21777
+ processText: Vn,
21749
21778
  questsConfig: ns,
21750
21779
  randomId: ei,
21751
21780
  registerMenuButton: Bp,
21752
- registerPlugin: KE,
21753
- screensConfig: Vs,
21781
+ registerPlugin: zE,
21782
+ screensConfig: qs,
21754
21783
  skillsConfig: Bn,
21755
- textOnlyTheme: eI,
21784
+ textOnlyTheme: rI,
21756
21785
  timeout: Kt,
21757
21786
  tooltipsConfig: $r,
21758
21787
  useAchievements: di,
@@ -21764,7 +21793,7 @@ const JE = "body{font-size:52px}", XE = {
21764
21793
  useInventory: Dt,
21765
21794
  useMain: ke,
21766
21795
  useMenu: jt,
21767
- useNotifications: Vt,
21796
+ useNotifications: qt,
21768
21797
  useQuests: Pt,
21769
21798
  useRenderingStore: gt,
21770
21799
  useScenes: Jt,
@@ -21775,7 +21804,7 @@ const JE = "body{font-size:52px}", XE = {
21775
21804
  useVM: Ie,
21776
21805
  warning: ai
21777
21806
  }, Symbol.toStringTag, { value: "Module" }));
21778
- function Vp(e) {
21807
+ function qp(e) {
21779
21808
  const t = {
21780
21809
  app: e,
21781
21810
  vm: Me,
@@ -21783,11 +21812,11 @@ function Vp(e) {
21783
21812
  jump: (n) => Ie().jumpToLabel(n),
21784
21813
  run: (n, ...r) => Ie().runThenGoBackToPreviousDialog(n, ...r),
21785
21814
  getSave: () => Gn(),
21786
- exports: tI
21815
+ exports: iI
21787
21816
  };
21788
21817
  return window.narrat = t, t;
21789
21818
  }
21790
- var nI = Object.prototype.toString, qp = function(t) {
21819
+ var oI = Object.prototype.toString, Vp = function(t) {
21791
21820
  if (t === void 0)
21792
21821
  return "undefined";
21793
21822
  if (t === null)
@@ -21802,18 +21831,18 @@ var nI = Object.prototype.toString, qp = function(t) {
21802
21831
  if (n === "symbol")
21803
21832
  return "symbol";
21804
21833
  if (n === "function")
21805
- return aI(t) ? "generatorfunction" : "function";
21806
- if (rI(t))
21834
+ return uI(t) ? "generatorfunction" : "function";
21835
+ if (sI(t))
21807
21836
  return "array";
21808
- if (uI(t))
21837
+ if (pI(t))
21809
21838
  return "buffer";
21810
- if (cI(t))
21839
+ if (fI(t))
21811
21840
  return "arguments";
21812
- if (oI(t))
21841
+ if (lI(t))
21813
21842
  return "date";
21814
- if (iI(t))
21843
+ if (aI(t))
21815
21844
  return "error";
21816
- if (sI(t))
21845
+ if (cI(t))
21817
21846
  return "regexp";
21818
21847
  switch (Hp(t)) {
21819
21848
  case "Symbol":
@@ -21847,9 +21876,9 @@ var nI = Object.prototype.toString, qp = function(t) {
21847
21876
  case "Float64Array":
21848
21877
  return "float64array";
21849
21878
  }
21850
- if (lI(t))
21879
+ if (dI(t))
21851
21880
  return "generator";
21852
- switch (n = nI.call(t), n) {
21881
+ switch (n = oI.call(t), n) {
21853
21882
  case "[object Object]":
21854
21883
  return "object";
21855
21884
  case "[object Map Iterator]":
@@ -21866,25 +21895,25 @@ var nI = Object.prototype.toString, qp = function(t) {
21866
21895
  function Hp(e) {
21867
21896
  return typeof e.constructor == "function" ? e.constructor.name : null;
21868
21897
  }
21869
- function rI(e) {
21898
+ function sI(e) {
21870
21899
  return Array.isArray ? Array.isArray(e) : e instanceof Array;
21871
21900
  }
21872
- function iI(e) {
21901
+ function aI(e) {
21873
21902
  return e instanceof Error || typeof e.message == "string" && e.constructor && typeof e.constructor.stackTraceLimit == "number";
21874
21903
  }
21875
- function oI(e) {
21904
+ function lI(e) {
21876
21905
  return e instanceof Date ? !0 : typeof e.toDateString == "function" && typeof e.getDate == "function" && typeof e.setDate == "function";
21877
21906
  }
21878
- function sI(e) {
21907
+ function cI(e) {
21879
21908
  return e instanceof RegExp ? !0 : typeof e.flags == "string" && typeof e.ignoreCase == "boolean" && typeof e.multiline == "boolean" && typeof e.global == "boolean";
21880
21909
  }
21881
- function aI(e, t) {
21910
+ function uI(e, t) {
21882
21911
  return Hp(e) === "GeneratorFunction";
21883
21912
  }
21884
- function lI(e) {
21913
+ function dI(e) {
21885
21914
  return typeof e.throw == "function" && typeof e.return == "function" && typeof e.next == "function";
21886
21915
  }
21887
- function cI(e) {
21916
+ function fI(e) {
21888
21917
  try {
21889
21918
  if (typeof e.length == "number" && typeof e.callee == "function")
21890
21919
  return !0;
@@ -21894,7 +21923,7 @@ function cI(e) {
21894
21923
  }
21895
21924
  return !1;
21896
21925
  }
21897
- function uI(e) {
21926
+ function pI(e) {
21898
21927
  return e.constructor && typeof e.constructor.isBuffer == "function" ? e.constructor.isBuffer(e) : !1;
21899
21928
  }
21900
21929
  /*!
@@ -21903,9 +21932,9 @@ function uI(e) {
21903
21932
  * Copyright (c) 2015-present, Jon Schlinkert.
21904
21933
  * Released under the MIT License.
21905
21934
  */
21906
- const Ic = Symbol.prototype.valueOf, dI = qp;
21907
- function fI(e, t) {
21908
- switch (dI(e)) {
21935
+ const Ic = Symbol.prototype.valueOf, mI = Vp;
21936
+ function hI(e, t) {
21937
+ switch (mI(e)) {
21909
21938
  case "array":
21910
21939
  return e.slice();
21911
21940
  case "object":
@@ -21917,11 +21946,11 @@ function fI(e, t) {
21917
21946
  case "set":
21918
21947
  return new Set(e);
21919
21948
  case "buffer":
21920
- return yI(e);
21949
+ return _I(e);
21921
21950
  case "symbol":
21922
- return gI(e);
21951
+ return bI(e);
21923
21952
  case "arraybuffer":
21924
- return mI(e);
21953
+ return gI(e);
21925
21954
  case "float32array":
21926
21955
  case "float64array":
21927
21956
  case "int16array":
@@ -21931,41 +21960,41 @@ function fI(e, t) {
21931
21960
  case "uint32array":
21932
21961
  case "uint8clampedarray":
21933
21962
  case "uint8array":
21934
- return hI(e);
21963
+ return vI(e);
21935
21964
  case "regexp":
21936
- return pI(e);
21965
+ return yI(e);
21937
21966
  case "error":
21938
21967
  return Object.create(e);
21939
21968
  default:
21940
21969
  return e;
21941
21970
  }
21942
21971
  }
21943
- function pI(e) {
21972
+ function yI(e) {
21944
21973
  const t = e.flags !== void 0 ? e.flags : /\w+$/.exec(e) || void 0, n = new e.constructor(e.source, t);
21945
21974
  return n.lastIndex = e.lastIndex, n;
21946
21975
  }
21947
- function mI(e) {
21976
+ function gI(e) {
21948
21977
  const t = new e.constructor(e.byteLength);
21949
21978
  return new Uint8Array(t).set(new Uint8Array(e)), t;
21950
21979
  }
21951
- function hI(e, t) {
21980
+ function vI(e, t) {
21952
21981
  return new e.constructor(e.buffer, e.byteOffset, e.length);
21953
21982
  }
21954
- function yI(e) {
21983
+ function _I(e) {
21955
21984
  const t = e.length, n = Buffer.allocUnsafe ? Buffer.allocUnsafe(t) : Buffer.from(t);
21956
21985
  return e.copy(n), n;
21957
21986
  }
21958
- function gI(e) {
21987
+ function bI(e) {
21959
21988
  return Ic ? Object(Ic.call(e)) : {};
21960
21989
  }
21961
- var vI = fI;
21990
+ var TI = hI;
21962
21991
  /*!
21963
21992
  * isobject <https://github.com/jonschlinkert/isobject>
21964
21993
  *
21965
21994
  * Copyright (c) 2014-2017, Jon Schlinkert.
21966
21995
  * Released under the MIT License.
21967
21996
  */
21968
- var _I = function(t) {
21997
+ var SI = function(t) {
21969
21998
  return t != null && typeof t == "object" && Array.isArray(t) === !1;
21970
21999
  };
21971
22000
  /*!
@@ -21974,29 +22003,29 @@ var _I = function(t) {
21974
22003
  * Copyright (c) 2014-2017, Jon Schlinkert.
21975
22004
  * Released under the MIT License.
21976
22005
  */
21977
- var bI = _I;
22006
+ var wI = SI;
21978
22007
  function Pc(e) {
21979
- return bI(e) === !0 && Object.prototype.toString.call(e) === "[object Object]";
22008
+ return wI(e) === !0 && Object.prototype.toString.call(e) === "[object Object]";
21980
22009
  }
21981
- var TI = function(t) {
22010
+ var $I = function(t) {
21982
22011
  var n, r;
21983
22012
  return !(Pc(t) === !1 || (n = t.constructor, typeof n != "function") || (r = n.prototype, Pc(r) === !1) || r.hasOwnProperty("isPrototypeOf") === !1);
21984
22013
  };
21985
- const SI = vI, wI = qp, $I = TI;
22014
+ const CI = TI, kI = Vp, OI = $I;
21986
22015
  function vl(e, t) {
21987
- switch (wI(e)) {
22016
+ switch (kI(e)) {
21988
22017
  case "object":
21989
- return CI(e, t);
22018
+ return AI(e, t);
21990
22019
  case "array":
21991
- return kI(e, t);
22020
+ return EI(e, t);
21992
22021
  default:
21993
- return SI(e);
22022
+ return CI(e);
21994
22023
  }
21995
22024
  }
21996
- function CI(e, t) {
22025
+ function AI(e, t) {
21997
22026
  if (typeof t == "function")
21998
22027
  return t(e);
21999
- if (t || $I(e)) {
22028
+ if (t || OI(e)) {
22000
22029
  const n = new e.constructor();
22001
22030
  for (let r in e)
22002
22031
  n[r] = vl(e[r], t);
@@ -22004,50 +22033,50 @@ function CI(e, t) {
22004
22033
  }
22005
22034
  return e;
22006
22035
  }
22007
- function kI(e, t) {
22036
+ function EI(e, t) {
22008
22037
  const n = new e.constructor(e.length);
22009
22038
  for (let r = 0; r < e.length; r++)
22010
22039
  n[r] = vl(e[r], t);
22011
22040
  return n;
22012
22041
  }
22013
- var OI = vl;
22014
- const AI = /* @__PURE__ */ Zs(OI);
22042
+ var II = vl;
22043
+ const PI = /* @__PURE__ */ Zs(II);
22015
22044
  let bn;
22016
22045
  Me.callHook("onPageLoaded");
22017
- async function EI(e) {
22046
+ async function NI(e) {
22018
22047
  zo.setup(), console.log("Starting narrat...");
22019
22048
  const t = Object.assign(mT(), e), n = zm();
22020
- bn = om(nk, {
22049
+ bn = om(n1, {
22021
22050
  options: t
22022
- }), bn.use(n), zb(), ke().setOptions(t), HE(bn);
22051
+ }), bn.use(n), zb(), ke().setOptions(t), WE(bn);
22023
22052
  const r = await b$(t);
22024
- Ct().setConfig(r), Gn(), at().setupInputs(), Me.pinia = n, ke(), Vp(bn), BE(bn), qE(), va().addButtonsFromPlugins(), nA(Me), ta.setupDebugger(t.debug), console.log(
22053
+ Ct().setConfig(r), Gn(), at().setupInputs(), Me.pinia = n, ke(), qp(bn), HE(bn), GE(), va().addButtonsFromPlugins(), oA(Me), ta.setupDebugger(t.debug), console.log(
22025
22054
  `%c Narrat game engine v${Ph} - Built at ${Nh.toLocaleString()}`,
22026
22055
  "background: #222; color: #bada55"
22027
22056
  ), Me.callHook("onNarratSetup");
22028
22057
  let i;
22029
22058
  return typeof t.container == "string" ? i = document.querySelector(t.container) : i = t.container, i || alert("The narrat container was not found!"), gt().setContainer(i), at().listenToContainerInputs(), bn.mount(i), gt().narratAppElement = document.querySelector("#narrat-app"), i.focus(), bn;
22030
22059
  }
22031
- async function II() {
22060
+ async function xI() {
22032
22061
  bn.unmount(), bn = null;
22033
22062
  }
22034
- async function xI() {
22035
- const e = AI(ke().options);
22036
- return await II(), await EI(e);
22063
+ async function DI() {
22064
+ const e = PI(ke().options);
22065
+ return await xI(), await NI(e);
22037
22066
  }
22038
- function jI(e, t) {
22067
+ function MI(e, t) {
22039
22068
  bn.component(e, t);
22040
22069
  }
22041
22070
  export {
22042
22071
  Ta as BaseConfigInputSchema,
22043
- q as CommandPlugin,
22072
+ V as CommandPlugin,
22044
22073
  Pf as ConfigInputSchema,
22045
22074
  Ef as ConfigInputSchemaWithCommon,
22046
22075
  If as ConfigInputSchemaWithoutCommon,
22047
22076
  nf as EngineSplash,
22048
22077
  pf as GameDialog,
22049
22078
  of as GameSplash,
22050
- QE as GodotPlugin,
22079
+ XE as GodotPlugin,
22051
22080
  vf as Hud,
22052
22081
  _f as InGame,
22053
22082
  af as InputsListener,
@@ -22055,20 +22084,20 @@ export {
22055
22084
  hf as MenuButtons,
22056
22085
  ar as ModalWindow,
22057
22086
  gl as NarratPlugin,
22058
- YE as NarratThemesPlugin,
22087
+ ZE as NarratThemesPlugin,
22059
22088
  gf as Screens,
22060
22089
  uf as StartMenu,
22061
22090
  Qr as Vec2,
22062
- GE as addCommand,
22091
+ QE as addCommand,
22063
22092
  rf as aspectRatioFit,
22064
22093
  rn as audioConfig,
22065
22094
  cl as buttonsConfig,
22066
22095
  ul as charactersConfig,
22067
- Vp as constructNarratObject,
22096
+ qp as constructNarratObject,
22068
22097
  Qo as debounce,
22069
22098
  ue as error,
22070
22099
  nu as findVariable,
22071
- XE as funTheme,
22100
+ tI as funTheme,
22072
22101
  zo as gameloop,
22073
22102
  iu as generateObjectFromList,
22074
22103
  Ji as generateParser,
@@ -22096,18 +22125,18 @@ export {
22096
22125
  Go as loadDataFile,
22097
22126
  ta as logManager,
22098
22127
  fn as logger,
22099
- qn as processText,
22128
+ Vn as processText,
22100
22129
  ns as questsConfig,
22101
22130
  ei as randomId,
22102
- jI as registerComponent,
22131
+ MI as registerComponent,
22103
22132
  Bp as registerMenuButton,
22104
- KE as registerPlugin,
22105
- xI as restartApp,
22106
- Vs as screensConfig,
22133
+ zE as registerPlugin,
22134
+ DI as restartApp,
22135
+ qs as screensConfig,
22107
22136
  Bn as skillsConfig,
22108
- EI as startApp,
22109
- II as stopApp,
22110
- eI as textOnlyTheme,
22137
+ NI as startApp,
22138
+ xI as stopApp,
22139
+ rI as textOnlyTheme,
22111
22140
  Kt as timeout,
22112
22141
  $r as tooltipsConfig,
22113
22142
  di as useAchievements,
@@ -22119,7 +22148,7 @@ export {
22119
22148
  Dt as useInventory,
22120
22149
  ke as useMain,
22121
22150
  jt as useMenu,
22122
- Vt as useNotifications,
22151
+ qt as useNotifications,
22123
22152
  Pt as useQuests,
22124
22153
  gt as useRenderingStore,
22125
22154
  Jt as useScenes,