narrat 0.8.0 → 0.8.3
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/CHANGELOG.md +16 -2
- package/lib/components/menu.vue.d.ts +61 -0
- package/lib/index.esm.js +171 -80
- package/lib/index.js +170 -79
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
# Narrat changelog
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.8.3
|
|
4
|
+
|
|
5
|
+
- Fixed bug where menu button would move up as more text gets added to the game
|
|
6
|
+
|
|
7
|
+
## 0.8.2
|
|
8
|
+
|
|
9
|
+
- Added css to hide scrollbars in the game UI
|
|
10
|
+
- Added a new Menu button with the options to quit and change volume
|
|
11
|
+
- Removed volume slider from the HUD and moved it to the new menu
|
|
12
|
+
|
|
13
|
+
## 0.8.1
|
|
14
|
+
|
|
15
|
+
- Fixed a bug in accessing values inside conditions caused by changed in 0.7.2
|
|
16
|
+
|
|
17
|
+
## 0.8.0
|
|
4
18
|
|
|
5
19
|
- Changed the `set` method to access things without caps (`data`, `skills`, `buttons` instead of `DATA`, `SKILLS`, `BUTTONS`) for consistency.
|
|
6
|
-
- Changed string interpolation to have more accessible objects, now values in `data` need to be
|
|
20
|
+
- Changed string interpolation to have more accessible objects, now values in `data` need to be accessed with `%{data.something}` instead of just `%{something}`
|
|
7
21
|
- Now possible to access skill levels in string interpolation with `%{skills.someSkill.level}`
|
|
8
22
|
- Improvements to how skill checks are printed to be less awkward
|
|
9
23
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<Readonly<import("vue").ComponentPropsOptions<{
|
|
2
|
+
[x: string]: unknown;
|
|
3
|
+
}>>, unknown, {
|
|
4
|
+
menuActive: boolean;
|
|
5
|
+
}, {}, {
|
|
6
|
+
openMenu(): void;
|
|
7
|
+
closeMenu(): void;
|
|
8
|
+
toggleMenu(): void;
|
|
9
|
+
quit(): void;
|
|
10
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<(readonly unknown[] & {
|
|
11
|
+
[x: number]: string;
|
|
12
|
+
} & {
|
|
13
|
+
[Symbol.iterator]?: IterableIterator<string>;
|
|
14
|
+
length?: number;
|
|
15
|
+
toString?: string;
|
|
16
|
+
toLocaleString?: string;
|
|
17
|
+
concat?: string[];
|
|
18
|
+
join?: string;
|
|
19
|
+
slice?: string[];
|
|
20
|
+
indexOf?: (searchElement: string, fromIndex?: number) => number;
|
|
21
|
+
lastIndexOf?: (searchElement: string, fromIndex?: number) => number;
|
|
22
|
+
every?: {
|
|
23
|
+
<S extends string>(predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): this is readonly S[];
|
|
24
|
+
(predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean;
|
|
25
|
+
};
|
|
26
|
+
some?: (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any) => boolean;
|
|
27
|
+
forEach?: (callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any) => void;
|
|
28
|
+
map?: <U>(callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any) => U[];
|
|
29
|
+
filter?: {
|
|
30
|
+
<S_1 extends string>(predicate: (value: string, index: number, array: readonly string[]) => value is S_1, thisArg?: any): S_1[];
|
|
31
|
+
(predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): string[];
|
|
32
|
+
};
|
|
33
|
+
reduce?: {
|
|
34
|
+
(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string;
|
|
35
|
+
(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string;
|
|
36
|
+
<U_1>(callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: readonly string[]) => U_1, initialValue: U_1): U_1;
|
|
37
|
+
};
|
|
38
|
+
reduceRight?: {
|
|
39
|
+
(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string;
|
|
40
|
+
(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string;
|
|
41
|
+
<U_2>(callbackfn: (previousValue: U_2, currentValue: string, currentIndex: number, array: readonly string[]) => U_2, initialValue: U_2): U_2;
|
|
42
|
+
};
|
|
43
|
+
find?: {
|
|
44
|
+
<S_2 extends string>(predicate: (this: void, value: string, index: number, obj: readonly string[]) => value is S_2, thisArg?: any): S_2;
|
|
45
|
+
(predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): string;
|
|
46
|
+
};
|
|
47
|
+
findIndex?: (predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any) => number;
|
|
48
|
+
entries?: IterableIterator<[number, string]>;
|
|
49
|
+
keys?: IterableIterator<number>;
|
|
50
|
+
values?: IterableIterator<string>;
|
|
51
|
+
includes?: (searchElement: string, fromIndex?: number) => boolean;
|
|
52
|
+
flatMap?: <U_3, This = undefined>(callback: (this: This, value: string, index: number, array: string[]) => U_3 | readonly U_3[], thisArg?: This) => U_3[];
|
|
53
|
+
flat?: unknown[];
|
|
54
|
+
}) | ({
|
|
55
|
+
[x: string]: unknown;
|
|
56
|
+
} & {} & {
|
|
57
|
+
[x: string]: unknown;
|
|
58
|
+
})> & {}, {
|
|
59
|
+
[x: number]: string;
|
|
60
|
+
} | {}>;
|
|
61
|
+
export default _default;
|
package/lib/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// Version: 0.8.
|
|
1
|
+
// Version: 0.8.3 - May 16, 2022 14:42:27
|
|
2
2
|
import 'es6-promise/auto';
|
|
3
|
-
import { ref, reactive, readonly, defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode, Fragment, renderList, createBlock, Transition, withCtx, renderSlot, createTextVNode, resolveComponent, toDisplayString,
|
|
3
|
+
import { ref, reactive, readonly, defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode, Fragment, renderList, createBlock, Transition, withCtx, renderSlot, createTextVNode, resolveComponent, toDisplayString, TransitionGroup, createVNode, createApp } from 'vue';
|
|
4
4
|
import { createLogger, createStore } from 'vuex';
|
|
5
5
|
|
|
6
6
|
function styleInject(css, ref) {
|
|
@@ -30,7 +30,7 @@ function styleInject(css, ref) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
var css_248z = "/*! @import */\n\n/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\n/**\n * Work around a Firefox/IE bug where the transparent `button` background\n * results in a loss of the default `button` focus styles.\n */\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n color: #9ca3af;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n color: #9ca3af;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n color: #9ca3af;\n}\n\nbutton {\n cursor: pointer;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their instrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n.bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgba(31, 41, 55, var(--tw-bg-opacity));\n}\n\n.border {\n border-width: 1px;\n}\n\n.flex {\n display: flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.list-disc {\n list-style-type: disc;\n}\n\n.absolute {\n position: absolute;\n}\n\n.resize {\n resize: both;\n}\n\n* {\n --tw-shadow: 0 0 #0000;\n}\n\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n}\n\n.table-auto {\n table-layout: auto;\n}\n\n.line-through {\n text-decoration: line-through;\n}\n\n.w-full {\n width: 100%;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transition {\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n@-webkit-keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@-webkit-keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@-webkit-keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@-webkit-keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n.list-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.list-enter-active,\n.list-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .list-move {\n transition: transform 0.3s ease;\n} */\n\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(300px);\n}\n\n.notification-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.notification-enter-active,\n.notification-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .notification-move {\n transition: transform 0.3s ease;\n} */\n\n.notification-enter-from,\n.notification-leave-to {\n opacity: 0;\n transform: translateY(-300px);\n}\n\n.fade-enter-active,\n.fade-leave-active {\n transition: opacity 0.3s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n opacity: 0;\n}\n\n.fade-in-enter-active {\n transition: opacity 0.1s ease;\n}\n\n.fade-in-enter-from {\n opacity: 0;\n}\n\nbody {\n padding: 0;\n margin: 0;\n font-family: Arial, sans-serif;\n}\n\nselect {\n background-color: grey;\n}\n\nbutton {\n background-color: #72080f;\n color: white;\n border-radius: 30px;\n padding: 5px;\n font-weight: 800;\n font-size: 16px;\n margin: 5px;\n}\n\na {\n color: pink;\n text-decoration: underline;\n}\n\nth,\ntd {\n padding: 4px;\n border: 1px solid white;\n text-align: center;\n}\n\n#game-holder {\n width: 100vw;\n height: 100vh;\n padding: 0;\n margin: 0;\n top: 0;\n left: 0;\n background-color: black;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: -webkit-fill-available;\n}\n\n@media (min-width: 640px) {\n}\n\n@media (min-width: 768px) {\n}\n\n@media (min-width: 1024px) {\n}\n\n@media (min-width: 1280px) {\n}\n\n@media (min-width: 1536px) {\n}\n";
|
|
33
|
+
var css_248z = "/*! @import */\n\n/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\n/**\n * Work around a Firefox/IE bug where the transparent `button` background\n * results in a loss of the default `button` focus styles.\n */\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n color: #9ca3af;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n color: #9ca3af;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n color: #9ca3af;\n}\n\nbutton {\n cursor: pointer;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their instrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n.container {\n width: 100%;\n}\n\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n\n.bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgba(31, 41, 55, var(--tw-bg-opacity));\n}\n\n.border {\n border-width: 1px;\n}\n\n.flex {\n display: flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.list-disc {\n list-style-type: disc;\n}\n\n.absolute {\n position: absolute;\n}\n\n.resize {\n resize: both;\n}\n\n* {\n --tw-shadow: 0 0 #0000;\n}\n\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n}\n\n.table-auto {\n table-layout: auto;\n}\n\n.line-through {\n text-decoration: line-through;\n}\n\n.w-full {\n width: 100%;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transition {\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n@-webkit-keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@-webkit-keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@-webkit-keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@-webkit-keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n.list-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.list-enter-active,\n.list-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .list-move {\n transition: transform 0.3s ease;\n} */\n\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(300px);\n}\n\n.notification-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.notification-enter-active,\n.notification-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .notification-move {\n transition: transform 0.3s ease;\n} */\n\n.notification-enter-from,\n.notification-leave-to {\n opacity: 0;\n transform: translateY(-300px);\n}\n\n.fade-enter-active,\n.fade-leave-active {\n transition: opacity 0.3s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n opacity: 0;\n}\n\n.fade-in-enter-active {\n transition: opacity 0.1s ease;\n}\n\n.fade-in-enter-from {\n opacity: 0;\n}\n\nbody {\n padding: 0;\n margin: 0;\n font-family: Arial, sans-serif;\n}\n\nselect {\n background-color: grey;\n}\n\n.button {\n background-color: #72080f;\n color: white;\n border-radius: 15px;\n padding: 10px;\n font-weight: 800;\n font-size: 16px;\n margin: 10px;\n}\n\na {\n color: pink;\n text-decoration: underline;\n}\n\nth,\ntd {\n padding: 4px;\n border: 1px solid white;\n text-align: center;\n}\n\n#game-holder {\n width: 100vw;\n height: 100vh;\n padding: 0;\n margin: 0;\n top: 0;\n left: 0;\n background-color: black;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: -webkit-fill-available;\n}\n\n.title {\n font-size: 30px;\n font-weight: 700;\n text-align: center;\n}\n\n.container {\n padding: 20px;\n}\n\n@media (min-width: 640px) {\n}\n\n@media (min-width: 768px) {\n}\n\n@media (min-width: 1024px) {\n}\n\n@media (min-width: 1280px) {\n}\n\n@media (min-width: 1536px) {\n}\n";
|
|
34
34
|
styleInject(css_248z);
|
|
35
35
|
|
|
36
36
|
const f=ref([]),v=ref(null),m=ref(null),g=ref(null),h=reactive({current:""}),y=[],b=ref(!1),k=readonly(f),w=readonly(v),M=readonly(m),q=readonly(g),x=readonly(h),$=(e=w.value)=>{h.current=e;const t=k.value.findIndex((t=>t.name===e)),n=k.value.map((e=>e.name));for(let a=0;a<n.length;a++){if(a>0&&a<n.length-1){const e=n[a]+"Minus",r=n[a]+"Plus";h[e]=t<=a,h[r]=t>=a;}h[n[a]]=n[a]===e;}},V=(e=M.value)=>{h.orientation=e,h.isLandscape="landscape"===e,h.isPortrait="portrait"===e;},O=(e=q.value||"light")=>{h.theme=e,h.isDark="dark"===e,h.isLight="light"===e;};function j(e,t){if("undefined"==typeof window||!window.matchMedia)return !1;if("undefined"!=typeof window&&!window.matchMedia)return console.error("Vue3 Mq: No MatchMedia support detected in this browser. Responsive breakpoints not available."),!1;{b.value=!0;const n=window.matchMedia(e),a=({matches:e})=>{e&&t();};y.push({mql:n,cb:a});n.addEventListener&&"function"==typeof n.addEventListener?n.addEventListener("change",a):n.addListener(a),a(n);}}var L=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",bootstrap5:{xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},bootstrap4:{xs:0,sm:576,md:768,lg:992,xl:1200},bootstrap3:{xs:0,sm:768,md:992,lg:1200},vuetify:{xs:0,sm:600,md:960,lg:1264,xl:1904},tailwind:{xs:0,sm:640,md:768,lg:1024,xl:1280,xxl:1536},devices:{phone:0,tablet:768,laptop:1370,desktop:1906}});const T=e=>{if(!e||"object"!=typeof e)return !1;const t=[];for(let n in e){const a=parseFloat(e[n]);n&&"string"==typeof n?/^[^a-z]/i.test(n)||/[^a-zA-Z0-9_]/.test(n)?console.warn(`Vue3 Mq: "${n}" is an invalid breakpoint key. Breakpoint keys must start with a letter and contain only alphanumeric characters and underscores. Skipping.`):!a&&0!==a||isNaN(a)||a<0?console.warn(`Vue3 Mq: "${n}: ${e[n]}" is not a valid breakpoint. Breakpoints should be a number of zero or above. Skipping.`):t.push({name:n,min:a}):console.warn(`Vue3 Mq: Invalid or missing breakpoint key (${JSON.stringify(n)}). Skipping.`);}t.some((e=>0===e.min))||console.warn("Vue3 Mq: You have not declared a breakpoint with a minimum value of 0. There may be screen sizes to which Vue3Mq does not respond.");return new Set(t.map((e=>e.min))).size<t.length&&console.warn("Vue3 Mq: Your breakpoint configuration contains duplicate values. Behaviour may be unpredictable."),0!==t.length&&t.sort(((e,t)=>e.min-t.min))};function R({breakpoints:e,preset:t}){const n=(e=>{if("string"==typeof e&&L[e])return L[e];{const t=Object.keys(L);return console.error(`Vue3 Mq: "${e}" is not a valid preset. Available options are: ${t.join(", ")}`),!1}})(t),a=T(e);if(!1===n&&!a)throw new TypeError("Vue3 Mq: You must provide a valid preset, or valid breakpoint settings.");var r;r=a||T(n),f.value=r,function(){for(;y.length>0;){const e=y.shift();if(e&&"object"==typeof e){const{mql:t,cb:n}=e;t.addEventListener&&"function"==typeof t.addEventListener?t.removeEventListener("change",n):t.removeListener(n);}}}(),(()=>{const e=Object.keys(h);for(let t of e)delete h[t];$(),V(),O();})();const o=k.value.reduce(((e,t,n,a)=>{const r=`(min-width: ${t.min}px)`,o=n<a.length-1?`(max-width: ${a[n+1].min-1}px)`:null,i=r+(o?" and "+o:"");return Object.assign(e,{[t.name]:i})}),{});for(const i in o){j(o[i],(()=>{$(i);}));}["portrait","landscape"].forEach((e=>{j(`(orientation: ${e})`,(()=>{V(e);}));})),["light","dark"].forEach((e=>{j(`(prefers-color-scheme: ${e})`,(()=>{O(e);}));}));}var N={install:(e,{preset:t="bootstrap5",breakpoints:n,defaultBreakpoint:a,defaultOrientation:r="landscape",defaultTheme:o}={})=>{try{const l=!1===["landscape","portrait"].includes(s=r)?(console.error(`Vue3 Mq: "${s}" is not a valid default orientation. Reverting to unset value.`),null):s,u=((e=null)=>!1===["dark","light"].includes(e)&&null!==e?(console.error(`Vue3 Mq: "${e}" is not a valid default theme. Reverting to unset value.`),null):e)(o);i=a,v.value=i,(e=>{m.value=e;})(l),(e=>{g.value=e;})(u),e.provide("mq",x),e.provide("updateBreakpoints",R),R({breakpoints:n,preset:t});}catch(l){console.error(l);}var i,s;}};
|
|
@@ -360,7 +360,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
360
360
|
renderSlot(_ctx.$slots, "footer", {}, () => [
|
|
361
361
|
_hoisted_9,
|
|
362
362
|
createElementVNode("button", {
|
|
363
|
-
class: "modal-default-button",
|
|
363
|
+
class: "modal-default-button button",
|
|
364
364
|
onClick: _cache[0] || (_cache[0] = $event => (_ctx.$emit('close')))
|
|
365
365
|
}, " Close ")
|
|
366
366
|
])
|
|
@@ -475,26 +475,27 @@ var script$3 = defineComponent({
|
|
|
475
475
|
});
|
|
476
476
|
|
|
477
477
|
const _hoisted_1$3 = { class: "debug-menu" };
|
|
478
|
-
const _hoisted_2$2 = /*#__PURE__*/createElementVNode("h3",
|
|
478
|
+
const _hoisted_2$2 = /*#__PURE__*/createElementVNode("h3", { class: "title" }, "Error(s)", -1);
|
|
479
479
|
const _hoisted_3$2 = /*#__PURE__*/createTextVNode(" There are errors in your dialogue scripts. Open the developer console for more details. ");
|
|
480
480
|
const _hoisted_4$2 = ["innerHTML"];
|
|
481
|
-
const _hoisted_5$2 = /*#__PURE__*/createElementVNode("h3",
|
|
482
|
-
const _hoisted_6$2 =
|
|
483
|
-
const _hoisted_7$2 = /*#__PURE__*/
|
|
481
|
+
const _hoisted_5$2 = /*#__PURE__*/createElementVNode("h3", { class: "title" }, "Debug Menu!", -1);
|
|
482
|
+
const _hoisted_6$2 = { class: "container" };
|
|
483
|
+
const _hoisted_7$2 = /*#__PURE__*/createTextVNode(" Hello this is the debug menu. ");
|
|
484
|
+
const _hoisted_8$1 = /*#__PURE__*/createElementVNode("option", {
|
|
484
485
|
selected: "",
|
|
485
486
|
disabled: ""
|
|
486
487
|
}, "Jump to a label", -1);
|
|
487
|
-
const
|
|
488
|
-
const
|
|
489
|
-
const
|
|
490
|
-
const
|
|
491
|
-
const
|
|
488
|
+
const _hoisted_9$1 = ["value"];
|
|
489
|
+
const _hoisted_10 = { class: "grid grid-cols-3 gap-4" };
|
|
490
|
+
const _hoisted_11 = /*#__PURE__*/createElementVNode("h2", null, "Skills", -1);
|
|
491
|
+
const _hoisted_12 = { class: "table-auto" };
|
|
492
|
+
const _hoisted_13 = /*#__PURE__*/createElementVNode("tr", null, [
|
|
492
493
|
/*#__PURE__*/createElementVNode("th", null, "Skill"),
|
|
493
494
|
/*#__PURE__*/createElementVNode("th", null, "Level")
|
|
494
495
|
], -1);
|
|
495
|
-
const
|
|
496
|
-
const
|
|
497
|
-
const
|
|
496
|
+
const _hoisted_14 = /*#__PURE__*/createElementVNode("h2", null, "Skill Checks", -1);
|
|
497
|
+
const _hoisted_15 = { class: "table-auto" };
|
|
498
|
+
const _hoisted_16 = /*#__PURE__*/createElementVNode("thead", null, [
|
|
498
499
|
/*#__PURE__*/createElementVNode("tr", null, [
|
|
499
500
|
/*#__PURE__*/createElementVNode("th", null, "Skill Check"),
|
|
500
501
|
/*#__PURE__*/createElementVNode("th", null, "Available"),
|
|
@@ -508,7 +509,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
508
509
|
return (openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
509
510
|
createElementVNode("button", {
|
|
510
511
|
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.open && _ctx.open(...args))),
|
|
511
|
-
class: "debug-button"
|
|
512
|
+
class: "button debug-button"
|
|
512
513
|
}, "Debug Menu"),
|
|
513
514
|
(_ctx.errors.length > 0)
|
|
514
515
|
? (openBlock(), createBlock(_component_modal, {
|
|
@@ -542,49 +543,53 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
542
543
|
_hoisted_5$2
|
|
543
544
|
]),
|
|
544
545
|
body: withCtx(() => [
|
|
545
|
-
_hoisted_6$2,
|
|
546
|
-
createElementVNode("select", {
|
|
547
|
-
name: "label-selector",
|
|
548
|
-
onChange: _cache[1] || (_cache[1] = $event => (_ctx.labelSelected($event)))
|
|
549
|
-
}, [
|
|
546
|
+
createElementVNode("div", _hoisted_6$2, [
|
|
550
547
|
_hoisted_7$2,
|
|
551
|
-
(
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
createElementVNode("table", _hoisted_14, [
|
|
579
|
-
_hoisted_15,
|
|
580
|
-
createElementVNode("tbody", null, [
|
|
581
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.skillChecks, (check, key) => {
|
|
548
|
+
createElementVNode("select", {
|
|
549
|
+
name: "label-selector",
|
|
550
|
+
onChange: _cache[1] || (_cache[1] = $event => (_ctx.labelSelected($event)))
|
|
551
|
+
}, [
|
|
552
|
+
_hoisted_8$1,
|
|
553
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.labels, (label) => {
|
|
554
|
+
return (openBlock(), createElementBlock("option", {
|
|
555
|
+
value: label,
|
|
556
|
+
key: label
|
|
557
|
+
}, toDisplayString(label), 9, _hoisted_9$1))
|
|
558
|
+
}), 128))
|
|
559
|
+
], 32),
|
|
560
|
+
createElementVNode("div", _hoisted_10, [
|
|
561
|
+
createElementVNode("button", {
|
|
562
|
+
onClick: _cache[2] || (_cache[2] = (...args) => (_ctx.wordCount && _ctx.wordCount(...args))),
|
|
563
|
+
class: "button"
|
|
564
|
+
}, "Word Count"),
|
|
565
|
+
createElementVNode("button", {
|
|
566
|
+
onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.save && _ctx.save(...args))),
|
|
567
|
+
class: "button"
|
|
568
|
+
}, "Save Game")
|
|
569
|
+
]),
|
|
570
|
+
createElementVNode("h3", null, "Play time: " + toDisplayString(_ctx.getPlayTimeString()), 1),
|
|
571
|
+
_hoisted_11,
|
|
572
|
+
createElementVNode("table", _hoisted_12, [
|
|
573
|
+
_hoisted_13,
|
|
574
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.skills, (skill, key) => {
|
|
582
575
|
return (openBlock(), createElementBlock("tr", { key: key }, [
|
|
583
576
|
createElementVNode("td", null, toDisplayString(key), 1),
|
|
584
|
-
createElementVNode("td", null, toDisplayString(
|
|
585
|
-
createElementVNode("td", null, toDisplayString(check.passed ? '✅' : '❌'), 1)
|
|
577
|
+
createElementVNode("td", null, toDisplayString(skill.level), 1)
|
|
586
578
|
]))
|
|
587
579
|
}), 128))
|
|
580
|
+
]),
|
|
581
|
+
_hoisted_14,
|
|
582
|
+
createElementVNode("table", _hoisted_15, [
|
|
583
|
+
_hoisted_16,
|
|
584
|
+
createElementVNode("tbody", null, [
|
|
585
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.skillChecks, (check, key) => {
|
|
586
|
+
return (openBlock(), createElementBlock("tr", { key: key }, [
|
|
587
|
+
createElementVNode("td", null, toDisplayString(key), 1),
|
|
588
|
+
createElementVNode("td", null, toDisplayString(check.available ? '✅' : '❌'), 1),
|
|
589
|
+
createElementVNode("td", null, toDisplayString(check.passed ? '✅' : '❌'), 1)
|
|
590
|
+
]))
|
|
591
|
+
}), 128))
|
|
592
|
+
])
|
|
588
593
|
])
|
|
589
594
|
])
|
|
590
595
|
]),
|
|
@@ -594,7 +599,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
594
599
|
]))
|
|
595
600
|
}
|
|
596
601
|
|
|
597
|
-
var css_248z$4 = ".debug-menu {\n z-index: 9999;\n}\n\n.debug-button {\n background-color: #4fc08d;\n position: fixed;\n bottom: 10px;\n right: 10px;\n padding:
|
|
602
|
+
var css_248z$4 = ".debug-menu {\n z-index: 9999;\n}\n\n.debug-button {\n background-color: #4fc08d;\n position: fixed;\n bottom: 10px;\n right: 10px;\n padding: 5px;\n}\n\n.error-message {\n color: orangered;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n\n.error-filename {\n color: grey;\n text-decoration: underline;\n}\n";
|
|
598
603
|
styleInject(css_248z$4);
|
|
599
604
|
|
|
600
605
|
script$3.render = render$3;
|
|
@@ -3853,7 +3858,8 @@ var script$4 = defineComponent({
|
|
|
3853
3858
|
};
|
|
3854
3859
|
},
|
|
3855
3860
|
mounted() {
|
|
3856
|
-
howler.Howler.volume(
|
|
3861
|
+
const volume = howler.Howler.volume();
|
|
3862
|
+
this.$refs.slider.value = volume;
|
|
3857
3863
|
},
|
|
3858
3864
|
methods: {
|
|
3859
3865
|
changeVolume(event) {
|
|
@@ -3876,12 +3882,16 @@ var script$4 = defineComponent({
|
|
|
3876
3882
|
});
|
|
3877
3883
|
|
|
3878
3884
|
const _hoisted_1$4 = { class: "volume-controls" };
|
|
3879
|
-
const _hoisted_2$3 = /*#__PURE__*/createElementVNode("label", {
|
|
3885
|
+
const _hoisted_2$3 = /*#__PURE__*/createElementVNode("label", {
|
|
3886
|
+
for: "volume",
|
|
3887
|
+
class: "volume-label"
|
|
3888
|
+
}, "Volume:", -1);
|
|
3880
3889
|
|
|
3881
3890
|
function render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3882
3891
|
return (openBlock(), createElementBlock("div", _hoisted_1$4, [
|
|
3883
3892
|
_hoisted_2$3,
|
|
3884
3893
|
createElementVNode("input", {
|
|
3894
|
+
ref: "slider",
|
|
3885
3895
|
class: "volume-slider",
|
|
3886
3896
|
type: "range",
|
|
3887
3897
|
id: "volume",
|
|
@@ -3891,11 +3901,11 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3891
3901
|
step: "0.1",
|
|
3892
3902
|
value: "0.5",
|
|
3893
3903
|
onChange: _cache[0] || (_cache[0] = (...args) => (_ctx.changeVolume && _ctx.changeVolume(...args)))
|
|
3894
|
-
}, null,
|
|
3904
|
+
}, null, 544)
|
|
3895
3905
|
]))
|
|
3896
3906
|
}
|
|
3897
3907
|
|
|
3898
|
-
var css_248z$5 = ".volume-controls {\n color: white;\n font-size:
|
|
3908
|
+
var css_248z$5 = ".volume-label {\n margin: 5px 20px;\n}\n\n.volume-controls {\n color: white;\n font-size: 20px;\n display: flex;\n align-items: center;\n}\n\n.volume-slider {\n width: 200px;\n background-color: blue;\n}\n";
|
|
3899
3909
|
styleInject(css_248z$5);
|
|
3900
3910
|
|
|
3901
3911
|
script$4.render = render$4;
|
|
@@ -3930,13 +3940,10 @@ const _hoisted_2$4 = { class: "bold" };
|
|
|
3930
3940
|
const _hoisted_3$3 = /*#__PURE__*/createTextVNode(": ");
|
|
3931
3941
|
|
|
3932
3942
|
function render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3933
|
-
const _component_VolumeControls = resolveComponent("VolumeControls");
|
|
3934
|
-
|
|
3935
3943
|
return (openBlock(), createElementBlock("div", {
|
|
3936
3944
|
class: "hud",
|
|
3937
3945
|
style: normalizeStyle(_ctx.hudStyle)
|
|
3938
3946
|
}, [
|
|
3939
|
-
createVNode(_component_VolumeControls),
|
|
3940
3947
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.stats, (value, key) => {
|
|
3941
3948
|
return (openBlock(), createElementBlock("div", {
|
|
3942
3949
|
key: key,
|
|
@@ -4154,6 +4161,7 @@ function loadImage(key, path, resolver, rejecter) {
|
|
|
4154
4161
|
}
|
|
4155
4162
|
|
|
4156
4163
|
const audio = {};
|
|
4164
|
+
howler.Howler.volume(0.5);
|
|
4157
4165
|
async function loadAudioAssets(config) {
|
|
4158
4166
|
console.log(`Loading audio`);
|
|
4159
4167
|
const loadingPromises = [];
|
|
@@ -4297,8 +4305,87 @@ function debounce(func, waitMilliseconds = 50, options = {}) {
|
|
|
4297
4305
|
return debouncedFunction;
|
|
4298
4306
|
}
|
|
4299
4307
|
|
|
4300
|
-
console.log('hello app');
|
|
4301
4308
|
var script$8 = defineComponent({
|
|
4309
|
+
components: {
|
|
4310
|
+
Modal: script$2,
|
|
4311
|
+
VolumeControls: script$4,
|
|
4312
|
+
},
|
|
4313
|
+
props: {},
|
|
4314
|
+
data() {
|
|
4315
|
+
return {
|
|
4316
|
+
menuActive: false,
|
|
4317
|
+
};
|
|
4318
|
+
},
|
|
4319
|
+
mounted() {
|
|
4320
|
+
document.addEventListener('keydown', (event) => {
|
|
4321
|
+
const key = event.key;
|
|
4322
|
+
if (key === 'Escape') {
|
|
4323
|
+
this.toggleMenu();
|
|
4324
|
+
}
|
|
4325
|
+
});
|
|
4326
|
+
},
|
|
4327
|
+
methods: {
|
|
4328
|
+
openMenu() {
|
|
4329
|
+
this.menuActive = true;
|
|
4330
|
+
},
|
|
4331
|
+
closeMenu() {
|
|
4332
|
+
this.menuActive = false;
|
|
4333
|
+
},
|
|
4334
|
+
toggleMenu() {
|
|
4335
|
+
this.menuActive = !this.menuActive;
|
|
4336
|
+
},
|
|
4337
|
+
quit() {
|
|
4338
|
+
window.close();
|
|
4339
|
+
// quit
|
|
4340
|
+
},
|
|
4341
|
+
},
|
|
4342
|
+
computed: {},
|
|
4343
|
+
});
|
|
4344
|
+
|
|
4345
|
+
const _hoisted_1$7 = { class: "menu-container" };
|
|
4346
|
+
const _hoisted_2$6 = /*#__PURE__*/createElementVNode("h3", { class: "title" }, "Menu", -1);
|
|
4347
|
+
const _hoisted_3$4 = { class: "menu-content" };
|
|
4348
|
+
|
|
4349
|
+
function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
4350
|
+
const _component_VolumeControls = resolveComponent("VolumeControls");
|
|
4351
|
+
const _component_modal = resolveComponent("modal");
|
|
4352
|
+
|
|
4353
|
+
return (openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
4354
|
+
createElementVNode("button", {
|
|
4355
|
+
class: "button menu-toggle-button",
|
|
4356
|
+
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.openMenu && _ctx.openMenu(...args)))
|
|
4357
|
+
}, "Menu"),
|
|
4358
|
+
(_ctx.menuActive)
|
|
4359
|
+
? (openBlock(), createBlock(_component_modal, {
|
|
4360
|
+
key: 0,
|
|
4361
|
+
class: "menu",
|
|
4362
|
+
onClose: _ctx.closeMenu
|
|
4363
|
+
}, {
|
|
4364
|
+
header: withCtx(() => [
|
|
4365
|
+
_hoisted_2$6
|
|
4366
|
+
]),
|
|
4367
|
+
body: withCtx(() => [
|
|
4368
|
+
createElementVNode("div", _hoisted_3$4, [
|
|
4369
|
+
createVNode(_component_VolumeControls),
|
|
4370
|
+
createElementVNode("button", {
|
|
4371
|
+
class: "button title quit-button",
|
|
4372
|
+
onClick: _cache[1] || (_cache[1] = (...args) => (_ctx.quit && _ctx.quit(...args)))
|
|
4373
|
+
}, "Quit")
|
|
4374
|
+
])
|
|
4375
|
+
]),
|
|
4376
|
+
_: 1
|
|
4377
|
+
}, 8, ["onClose"]))
|
|
4378
|
+
: createCommentVNode("", true)
|
|
4379
|
+
]))
|
|
4380
|
+
}
|
|
4381
|
+
|
|
4382
|
+
var css_248z$9 = ".menu-content {\n margin: 50px;\n text-align: center;\n}\n\n.menu-toggle-button {\n margin: 0;\n padding: 2px;\n border-radius: 5px;\n}\n\n.quit-button {\n margin: 50px;\n text-align: center;\n}\n";
|
|
4383
|
+
styleInject(css_248z$9);
|
|
4384
|
+
|
|
4385
|
+
script$8.render = render$8;
|
|
4386
|
+
|
|
4387
|
+
console.log('hello app');
|
|
4388
|
+
var script$9 = defineComponent({
|
|
4302
4389
|
$refs: {
|
|
4303
4390
|
dialogContainer: HTMLInputElement,
|
|
4304
4391
|
},
|
|
@@ -4310,6 +4397,7 @@ var script$8 = defineComponent({
|
|
|
4310
4397
|
LoadingBar: script$6,
|
|
4311
4398
|
NotificationToast: script$7,
|
|
4312
4399
|
Hud: script$5,
|
|
4400
|
+
Menu: script$8,
|
|
4313
4401
|
},
|
|
4314
4402
|
data() {
|
|
4315
4403
|
return {
|
|
@@ -4579,16 +4667,17 @@ var script$8 = defineComponent({
|
|
|
4579
4667
|
},
|
|
4580
4668
|
});
|
|
4581
4669
|
|
|
4582
|
-
const _hoisted_1$
|
|
4583
|
-
const _hoisted_2$
|
|
4584
|
-
const _hoisted_3$
|
|
4670
|
+
const _hoisted_1$8 = ["width", "height"];
|
|
4671
|
+
const _hoisted_2$7 = /*#__PURE__*/createElementVNode("div", { class: "anchor" }, null, -1);
|
|
4672
|
+
const _hoisted_3$5 = {
|
|
4585
4673
|
key: 1,
|
|
4586
4674
|
class: "flex flex-col"
|
|
4587
4675
|
};
|
|
4588
4676
|
const _hoisted_4$3 = { key: 2 };
|
|
4589
4677
|
|
|
4590
|
-
function render$
|
|
4678
|
+
function render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
4591
4679
|
const _component_Hud = resolveComponent("Hud");
|
|
4680
|
+
const _component_Menu = resolveComponent("Menu");
|
|
4592
4681
|
const _component_DialogPicture = resolveComponent("DialogPicture");
|
|
4593
4682
|
const _component_DialogBox = resolveComponent("DialogBox");
|
|
4594
4683
|
const _component_LoadingBar = resolveComponent("LoadingBar");
|
|
@@ -4606,6 +4695,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4606
4695
|
class: "game",
|
|
4607
4696
|
style: normalizeStyle(_ctx.gameStyle)
|
|
4608
4697
|
}, [
|
|
4698
|
+
createVNode(_component_Menu, { class: "menu-toggle" }),
|
|
4609
4699
|
createVNode(Transition, { name: "fade" }, {
|
|
4610
4700
|
default: withCtx(() => [
|
|
4611
4701
|
(_ctx.picture)
|
|
@@ -4627,7 +4717,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4627
4717
|
width: _ctx.layoutWidth,
|
|
4628
4718
|
height: _ctx.layoutHeight,
|
|
4629
4719
|
id: "background-canvas"
|
|
4630
|
-
}, null, 8, _hoisted_1$
|
|
4720
|
+
}, null, 8, _hoisted_1$8)
|
|
4631
4721
|
], 4))
|
|
4632
4722
|
: createCommentVNode("", true),
|
|
4633
4723
|
(_ctx.dialogPlaying)
|
|
@@ -4654,12 +4744,12 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4654
4744
|
]),
|
|
4655
4745
|
_: 1
|
|
4656
4746
|
}, 8, ["style"]),
|
|
4657
|
-
_hoisted_2$
|
|
4747
|
+
_hoisted_2$7
|
|
4658
4748
|
], 4))
|
|
4659
4749
|
: createCommentVNode("", true)
|
|
4660
4750
|
], 4))
|
|
4661
4751
|
: (_ctx.gameLoaded)
|
|
4662
|
-
? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
4752
|
+
? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
4663
4753
|
createElementVNode("button", {
|
|
4664
4754
|
class: "button menu-button start-button override",
|
|
4665
4755
|
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.startGame && _ctx.startGame(...args)))
|
|
@@ -4685,10 +4775,10 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4685
4775
|
], 4))
|
|
4686
4776
|
}
|
|
4687
4777
|
|
|
4688
|
-
var css_248z$
|
|
4689
|
-
styleInject(css_248z$
|
|
4778
|
+
var css_248z$a = "#app {\n background-color: black;\n width: 100%;\n height: 100%;\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n color: white;\n box-sizing: border-box;\n overflow: hidden;\n transform-origin: center center;\n}\n\n.game {\n background-color: black;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.interact-button {\n height: 50px;\n background-color: #72080f;\n border: 1px solid black;\n font-weight: bold;\n font-size: 20px;\n text-align: center;\n flex-grow: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n\n.interact-button:not(:last-child) {\n margin-right: 10px;\n}\n\n.dialog-container {\n flex-shrink: 2;\n /* padding: 20px; */\n min-height: 100%;\n width: 100%;\n background-color: #171717;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n overflow-x: hidden;\n}\n\n.dialog {\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.dialog::-webkit-scrollbar {\n display: none; /* webkit */\n}\n\n.dialog * {\n overflow-anchor: none;\n}\n\n.background {\n margin: 0;\n}\n\n#background-canvas {\n height: 100%;\n}\n\n.anchor {\n overflow-anchor: auto;\n height: 1px;\n}\n\n.menu-toggle {\n position: fixed;\n bottom: 0px;\n right: 15%;\n z-index: 108398;\n}\n";
|
|
4779
|
+
styleInject(css_248z$a);
|
|
4690
4780
|
|
|
4691
|
-
script$
|
|
4781
|
+
script$9.render = render$9;
|
|
4692
4782
|
|
|
4693
4783
|
function timeout(durationMs) {
|
|
4694
4784
|
return new Promise((resolve, reject) => {
|
|
@@ -4775,10 +4865,10 @@ function runCondition(ctx, condition) {
|
|
|
4775
4865
|
function conditionFunction(ctx, condition) {
|
|
4776
4866
|
const { state } = ctx;
|
|
4777
4867
|
const context = {
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4868
|
+
data: state.machine.data,
|
|
4869
|
+
skills: state.skills,
|
|
4870
|
+
skillChecks: state.skillChecks,
|
|
4871
|
+
stats: state.hudStats,
|
|
4782
4872
|
roll: (checkId, skill, value) => {
|
|
4783
4873
|
const skillCheckState = getSkillCheckState(ctx, checkId);
|
|
4784
4874
|
if (skillCheckState) {
|
|
@@ -4959,6 +5049,7 @@ async function runCommand(context, cmd, choices) {
|
|
|
4959
5049
|
}
|
|
4960
5050
|
catch (err) {
|
|
4961
5051
|
console.log(state.machine.stack[state.machine.stack.length - 1].label);
|
|
5052
|
+
console.error(err);
|
|
4962
5053
|
error(commit, `Narrat script runtime error at <span class="error-filename">${cmd.fileName}:${cmd.line + 1}</span>
|
|
4963
5054
|
<b>${err}</b>
|
|
4964
5055
|
Script: ${cmd.code}
|
|
@@ -5811,10 +5902,10 @@ async function startApp(config, options) {
|
|
|
5811
5902
|
mousePos.x = e.clientX;
|
|
5812
5903
|
mousePos.y = e.clientY;
|
|
5813
5904
|
});
|
|
5814
|
-
console.log('%c Narrat game engine – 0.8.
|
|
5905
|
+
console.log('%c Narrat game engine – 0.8.3 - May 16, 2022 14:42:27', 'background: #222; color: #bada55');
|
|
5815
5906
|
const storeSetup = setupStore(options);
|
|
5816
5907
|
store$1 = storeSetup.store;
|
|
5817
|
-
app = createApp(script$
|
|
5908
|
+
app = createApp(script$9, {
|
|
5818
5909
|
config,
|
|
5819
5910
|
options,
|
|
5820
5911
|
});
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Version: 0.8.
|
|
1
|
+
// Version: 0.8.3 - May 16, 2022 14:42:27
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -34,7 +34,7 @@ function styleInject(css, ref) {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
var css_248z = "/*! @import */\n\n/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\n/**\n * Work around a Firefox/IE bug where the transparent `button` background\n * results in a loss of the default `button` focus styles.\n */\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n color: #9ca3af;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n color: #9ca3af;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n color: #9ca3af;\n}\n\nbutton {\n cursor: pointer;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their instrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n.bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgba(31, 41, 55, var(--tw-bg-opacity));\n}\n\n.border {\n border-width: 1px;\n}\n\n.flex {\n display: flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.list-disc {\n list-style-type: disc;\n}\n\n.absolute {\n position: absolute;\n}\n\n.resize {\n resize: both;\n}\n\n* {\n --tw-shadow: 0 0 #0000;\n}\n\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n}\n\n.table-auto {\n table-layout: auto;\n}\n\n.line-through {\n text-decoration: line-through;\n}\n\n.w-full {\n width: 100%;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transition {\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n@-webkit-keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@-webkit-keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@-webkit-keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@-webkit-keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n.list-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.list-enter-active,\n.list-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .list-move {\n transition: transform 0.3s ease;\n} */\n\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(300px);\n}\n\n.notification-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.notification-enter-active,\n.notification-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .notification-move {\n transition: transform 0.3s ease;\n} */\n\n.notification-enter-from,\n.notification-leave-to {\n opacity: 0;\n transform: translateY(-300px);\n}\n\n.fade-enter-active,\n.fade-leave-active {\n transition: opacity 0.3s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n opacity: 0;\n}\n\n.fade-in-enter-active {\n transition: opacity 0.1s ease;\n}\n\n.fade-in-enter-from {\n opacity: 0;\n}\n\nbody {\n padding: 0;\n margin: 0;\n font-family: Arial, sans-serif;\n}\n\nselect {\n background-color: grey;\n}\n\nbutton {\n background-color: #72080f;\n color: white;\n border-radius: 30px;\n padding: 5px;\n font-weight: 800;\n font-size: 16px;\n margin: 5px;\n}\n\na {\n color: pink;\n text-decoration: underline;\n}\n\nth,\ntd {\n padding: 4px;\n border: 1px solid white;\n text-align: center;\n}\n\n#game-holder {\n width: 100vw;\n height: 100vh;\n padding: 0;\n margin: 0;\n top: 0;\n left: 0;\n background-color: black;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: -webkit-fill-available;\n}\n\n@media (min-width: 640px) {\n}\n\n@media (min-width: 768px) {\n}\n\n@media (min-width: 1024px) {\n}\n\n@media (min-width: 1280px) {\n}\n\n@media (min-width: 1536px) {\n}\n";
|
|
37
|
+
var css_248z = "/*! @import */\n\n/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\n/**\n * Work around a Firefox/IE bug where the transparent `button` background\n * results in a loss of the default `button` focus styles.\n */\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n color: #9ca3af;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n color: #9ca3af;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n color: #9ca3af;\n}\n\nbutton {\n cursor: pointer;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their instrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n.container {\n width: 100%;\n}\n\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n\n.bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgba(31, 41, 55, var(--tw-bg-opacity));\n}\n\n.border {\n border-width: 1px;\n}\n\n.flex {\n display: flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.list-disc {\n list-style-type: disc;\n}\n\n.absolute {\n position: absolute;\n}\n\n.resize {\n resize: both;\n}\n\n* {\n --tw-shadow: 0 0 #0000;\n}\n\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n}\n\n.table-auto {\n table-layout: auto;\n}\n\n.line-through {\n text-decoration: line-through;\n}\n\n.w-full {\n width: 100%;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transition {\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n@-webkit-keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@-webkit-keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@-webkit-keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@-webkit-keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n.list-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.list-enter-active,\n.list-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .list-move {\n transition: transform 0.3s ease;\n} */\n\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(300px);\n}\n\n.notification-item {\n display: inline-block;\n margin-right: 10px;\n}\n\n.notification-enter-active,\n.notification-leave-active {\n transition: all 0.3s ease;\n}\n\n/* .notification-move {\n transition: transform 0.3s ease;\n} */\n\n.notification-enter-from,\n.notification-leave-to {\n opacity: 0;\n transform: translateY(-300px);\n}\n\n.fade-enter-active,\n.fade-leave-active {\n transition: opacity 0.3s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n opacity: 0;\n}\n\n.fade-in-enter-active {\n transition: opacity 0.1s ease;\n}\n\n.fade-in-enter-from {\n opacity: 0;\n}\n\nbody {\n padding: 0;\n margin: 0;\n font-family: Arial, sans-serif;\n}\n\nselect {\n background-color: grey;\n}\n\n.button {\n background-color: #72080f;\n color: white;\n border-radius: 15px;\n padding: 10px;\n font-weight: 800;\n font-size: 16px;\n margin: 10px;\n}\n\na {\n color: pink;\n text-decoration: underline;\n}\n\nth,\ntd {\n padding: 4px;\n border: 1px solid white;\n text-align: center;\n}\n\n#game-holder {\n width: 100vw;\n height: 100vh;\n padding: 0;\n margin: 0;\n top: 0;\n left: 0;\n background-color: black;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: -webkit-fill-available;\n}\n\n.title {\n font-size: 30px;\n font-weight: 700;\n text-align: center;\n}\n\n.container {\n padding: 20px;\n}\n\n@media (min-width: 640px) {\n}\n\n@media (min-width: 768px) {\n}\n\n@media (min-width: 1024px) {\n}\n\n@media (min-width: 1280px) {\n}\n\n@media (min-width: 1536px) {\n}\n";
|
|
38
38
|
styleInject(css_248z);
|
|
39
39
|
|
|
40
40
|
const f=vue.ref([]),v=vue.ref(null),m=vue.ref(null),g=vue.ref(null),h=vue.reactive({current:""}),y=[],b=vue.ref(!1),k=vue.readonly(f),w=vue.readonly(v),M=vue.readonly(m),q=vue.readonly(g),x=vue.readonly(h),$=(e=w.value)=>{h.current=e;const t=k.value.findIndex((t=>t.name===e)),n=k.value.map((e=>e.name));for(let a=0;a<n.length;a++){if(a>0&&a<n.length-1){const e=n[a]+"Minus",r=n[a]+"Plus";h[e]=t<=a,h[r]=t>=a;}h[n[a]]=n[a]===e;}},V=(e=M.value)=>{h.orientation=e,h.isLandscape="landscape"===e,h.isPortrait="portrait"===e;},O=(e=q.value||"light")=>{h.theme=e,h.isDark="dark"===e,h.isLight="light"===e;};function j(e,t){if("undefined"==typeof window||!window.matchMedia)return !1;if("undefined"!=typeof window&&!window.matchMedia)return console.error("Vue3 Mq: No MatchMedia support detected in this browser. Responsive breakpoints not available."),!1;{b.value=!0;const n=window.matchMedia(e),a=({matches:e})=>{e&&t();};y.push({mql:n,cb:a});n.addEventListener&&"function"==typeof n.addEventListener?n.addEventListener("change",a):n.addListener(a),a(n);}}var L=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",bootstrap5:{xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},bootstrap4:{xs:0,sm:576,md:768,lg:992,xl:1200},bootstrap3:{xs:0,sm:768,md:992,lg:1200},vuetify:{xs:0,sm:600,md:960,lg:1264,xl:1904},tailwind:{xs:0,sm:640,md:768,lg:1024,xl:1280,xxl:1536},devices:{phone:0,tablet:768,laptop:1370,desktop:1906}});const T=e=>{if(!e||"object"!=typeof e)return !1;const t=[];for(let n in e){const a=parseFloat(e[n]);n&&"string"==typeof n?/^[^a-z]/i.test(n)||/[^a-zA-Z0-9_]/.test(n)?console.warn(`Vue3 Mq: "${n}" is an invalid breakpoint key. Breakpoint keys must start with a letter and contain only alphanumeric characters and underscores. Skipping.`):!a&&0!==a||isNaN(a)||a<0?console.warn(`Vue3 Mq: "${n}: ${e[n]}" is not a valid breakpoint. Breakpoints should be a number of zero or above. Skipping.`):t.push({name:n,min:a}):console.warn(`Vue3 Mq: Invalid or missing breakpoint key (${JSON.stringify(n)}). Skipping.`);}t.some((e=>0===e.min))||console.warn("Vue3 Mq: You have not declared a breakpoint with a minimum value of 0. There may be screen sizes to which Vue3Mq does not respond.");return new Set(t.map((e=>e.min))).size<t.length&&console.warn("Vue3 Mq: Your breakpoint configuration contains duplicate values. Behaviour may be unpredictable."),0!==t.length&&t.sort(((e,t)=>e.min-t.min))};function R({breakpoints:e,preset:t}){const n=(e=>{if("string"==typeof e&&L[e])return L[e];{const t=Object.keys(L);return console.error(`Vue3 Mq: "${e}" is not a valid preset. Available options are: ${t.join(", ")}`),!1}})(t),a=T(e);if(!1===n&&!a)throw new TypeError("Vue3 Mq: You must provide a valid preset, or valid breakpoint settings.");var r;r=a||T(n),f.value=r,function(){for(;y.length>0;){const e=y.shift();if(e&&"object"==typeof e){const{mql:t,cb:n}=e;t.addEventListener&&"function"==typeof t.addEventListener?t.removeEventListener("change",n):t.removeListener(n);}}}(),(()=>{const e=Object.keys(h);for(let t of e)delete h[t];$(),V(),O();})();const o=k.value.reduce(((e,t,n,a)=>{const r=`(min-width: ${t.min}px)`,o=n<a.length-1?`(max-width: ${a[n+1].min-1}px)`:null,i=r+(o?" and "+o:"");return Object.assign(e,{[t.name]:i})}),{});for(const i in o){j(o[i],(()=>{$(i);}));}["portrait","landscape"].forEach((e=>{j(`(orientation: ${e})`,(()=>{V(e);}));})),["light","dark"].forEach((e=>{j(`(prefers-color-scheme: ${e})`,(()=>{O(e);}));}));}var N={install:(e,{preset:t="bootstrap5",breakpoints:n,defaultBreakpoint:a,defaultOrientation:r="landscape",defaultTheme:o}={})=>{try{const l=!1===["landscape","portrait"].includes(s=r)?(console.error(`Vue3 Mq: "${s}" is not a valid default orientation. Reverting to unset value.`),null):s,u=((e=null)=>!1===["dark","light"].includes(e)&&null!==e?(console.error(`Vue3 Mq: "${e}" is not a valid default theme. Reverting to unset value.`),null):e)(o);i=a,v.value=i,(e=>{m.value=e;})(l),(e=>{g.value=e;})(u),e.provide("mq",x),e.provide("updateBreakpoints",R),R({breakpoints:n,preset:t});}catch(l){console.error(l);}var i,s;}};
|
|
@@ -364,7 +364,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
364
364
|
vue.renderSlot(_ctx.$slots, "footer", {}, () => [
|
|
365
365
|
_hoisted_9,
|
|
366
366
|
vue.createElementVNode("button", {
|
|
367
|
-
class: "modal-default-button",
|
|
367
|
+
class: "modal-default-button button",
|
|
368
368
|
onClick: _cache[0] || (_cache[0] = $event => (_ctx.$emit('close')))
|
|
369
369
|
}, " Close ")
|
|
370
370
|
])
|
|
@@ -479,26 +479,27 @@ var script$3 = vue.defineComponent({
|
|
|
479
479
|
});
|
|
480
480
|
|
|
481
481
|
const _hoisted_1$3 = { class: "debug-menu" };
|
|
482
|
-
const _hoisted_2$2 = /*#__PURE__*/vue.createElementVNode("h3",
|
|
482
|
+
const _hoisted_2$2 = /*#__PURE__*/vue.createElementVNode("h3", { class: "title" }, "Error(s)", -1);
|
|
483
483
|
const _hoisted_3$2 = /*#__PURE__*/vue.createTextVNode(" There are errors in your dialogue scripts. Open the developer console for more details. ");
|
|
484
484
|
const _hoisted_4$2 = ["innerHTML"];
|
|
485
|
-
const _hoisted_5$2 = /*#__PURE__*/vue.createElementVNode("h3",
|
|
486
|
-
const _hoisted_6$2 =
|
|
487
|
-
const _hoisted_7$2 = /*#__PURE__*/vue.
|
|
485
|
+
const _hoisted_5$2 = /*#__PURE__*/vue.createElementVNode("h3", { class: "title" }, "Debug Menu!", -1);
|
|
486
|
+
const _hoisted_6$2 = { class: "container" };
|
|
487
|
+
const _hoisted_7$2 = /*#__PURE__*/vue.createTextVNode(" Hello this is the debug menu. ");
|
|
488
|
+
const _hoisted_8$1 = /*#__PURE__*/vue.createElementVNode("option", {
|
|
488
489
|
selected: "",
|
|
489
490
|
disabled: ""
|
|
490
491
|
}, "Jump to a label", -1);
|
|
491
|
-
const
|
|
492
|
-
const
|
|
493
|
-
const
|
|
494
|
-
const
|
|
495
|
-
const
|
|
492
|
+
const _hoisted_9$1 = ["value"];
|
|
493
|
+
const _hoisted_10 = { class: "grid grid-cols-3 gap-4" };
|
|
494
|
+
const _hoisted_11 = /*#__PURE__*/vue.createElementVNode("h2", null, "Skills", -1);
|
|
495
|
+
const _hoisted_12 = { class: "table-auto" };
|
|
496
|
+
const _hoisted_13 = /*#__PURE__*/vue.createElementVNode("tr", null, [
|
|
496
497
|
/*#__PURE__*/vue.createElementVNode("th", null, "Skill"),
|
|
497
498
|
/*#__PURE__*/vue.createElementVNode("th", null, "Level")
|
|
498
499
|
], -1);
|
|
499
|
-
const
|
|
500
|
-
const
|
|
501
|
-
const
|
|
500
|
+
const _hoisted_14 = /*#__PURE__*/vue.createElementVNode("h2", null, "Skill Checks", -1);
|
|
501
|
+
const _hoisted_15 = { class: "table-auto" };
|
|
502
|
+
const _hoisted_16 = /*#__PURE__*/vue.createElementVNode("thead", null, [
|
|
502
503
|
/*#__PURE__*/vue.createElementVNode("tr", null, [
|
|
503
504
|
/*#__PURE__*/vue.createElementVNode("th", null, "Skill Check"),
|
|
504
505
|
/*#__PURE__*/vue.createElementVNode("th", null, "Available"),
|
|
@@ -512,7 +513,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
512
513
|
return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
|
|
513
514
|
vue.createElementVNode("button", {
|
|
514
515
|
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.open && _ctx.open(...args))),
|
|
515
|
-
class: "debug-button"
|
|
516
|
+
class: "button debug-button"
|
|
516
517
|
}, "Debug Menu"),
|
|
517
518
|
(_ctx.errors.length > 0)
|
|
518
519
|
? (vue.openBlock(), vue.createBlock(_component_modal, {
|
|
@@ -546,49 +547,53 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
546
547
|
_hoisted_5$2
|
|
547
548
|
]),
|
|
548
549
|
body: vue.withCtx(() => [
|
|
549
|
-
_hoisted_6$2,
|
|
550
|
-
vue.createElementVNode("select", {
|
|
551
|
-
name: "label-selector",
|
|
552
|
-
onChange: _cache[1] || (_cache[1] = $event => (_ctx.labelSelected($event)))
|
|
553
|
-
}, [
|
|
550
|
+
vue.createElementVNode("div", _hoisted_6$2, [
|
|
554
551
|
_hoisted_7$2,
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
vue.createElementVNode("table", _hoisted_14, [
|
|
583
|
-
_hoisted_15,
|
|
584
|
-
vue.createElementVNode("tbody", null, [
|
|
585
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.skillChecks, (check, key) => {
|
|
552
|
+
vue.createElementVNode("select", {
|
|
553
|
+
name: "label-selector",
|
|
554
|
+
onChange: _cache[1] || (_cache[1] = $event => (_ctx.labelSelected($event)))
|
|
555
|
+
}, [
|
|
556
|
+
_hoisted_8$1,
|
|
557
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels, (label) => {
|
|
558
|
+
return (vue.openBlock(), vue.createElementBlock("option", {
|
|
559
|
+
value: label,
|
|
560
|
+
key: label
|
|
561
|
+
}, vue.toDisplayString(label), 9, _hoisted_9$1))
|
|
562
|
+
}), 128))
|
|
563
|
+
], 32),
|
|
564
|
+
vue.createElementVNode("div", _hoisted_10, [
|
|
565
|
+
vue.createElementVNode("button", {
|
|
566
|
+
onClick: _cache[2] || (_cache[2] = (...args) => (_ctx.wordCount && _ctx.wordCount(...args))),
|
|
567
|
+
class: "button"
|
|
568
|
+
}, "Word Count"),
|
|
569
|
+
vue.createElementVNode("button", {
|
|
570
|
+
onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.save && _ctx.save(...args))),
|
|
571
|
+
class: "button"
|
|
572
|
+
}, "Save Game")
|
|
573
|
+
]),
|
|
574
|
+
vue.createElementVNode("h3", null, "Play time: " + vue.toDisplayString(_ctx.getPlayTimeString()), 1),
|
|
575
|
+
_hoisted_11,
|
|
576
|
+
vue.createElementVNode("table", _hoisted_12, [
|
|
577
|
+
_hoisted_13,
|
|
578
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.skills, (skill, key) => {
|
|
586
579
|
return (vue.openBlock(), vue.createElementBlock("tr", { key: key }, [
|
|
587
580
|
vue.createElementVNode("td", null, vue.toDisplayString(key), 1),
|
|
588
|
-
vue.createElementVNode("td", null, vue.toDisplayString(
|
|
589
|
-
vue.createElementVNode("td", null, vue.toDisplayString(check.passed ? '✅' : '❌'), 1)
|
|
581
|
+
vue.createElementVNode("td", null, vue.toDisplayString(skill.level), 1)
|
|
590
582
|
]))
|
|
591
583
|
}), 128))
|
|
584
|
+
]),
|
|
585
|
+
_hoisted_14,
|
|
586
|
+
vue.createElementVNode("table", _hoisted_15, [
|
|
587
|
+
_hoisted_16,
|
|
588
|
+
vue.createElementVNode("tbody", null, [
|
|
589
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.skillChecks, (check, key) => {
|
|
590
|
+
return (vue.openBlock(), vue.createElementBlock("tr", { key: key }, [
|
|
591
|
+
vue.createElementVNode("td", null, vue.toDisplayString(key), 1),
|
|
592
|
+
vue.createElementVNode("td", null, vue.toDisplayString(check.available ? '✅' : '❌'), 1),
|
|
593
|
+
vue.createElementVNode("td", null, vue.toDisplayString(check.passed ? '✅' : '❌'), 1)
|
|
594
|
+
]))
|
|
595
|
+
}), 128))
|
|
596
|
+
])
|
|
592
597
|
])
|
|
593
598
|
])
|
|
594
599
|
]),
|
|
@@ -598,7 +603,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
598
603
|
]))
|
|
599
604
|
}
|
|
600
605
|
|
|
601
|
-
var css_248z$4 = ".debug-menu {\n z-index: 9999;\n}\n\n.debug-button {\n background-color: #4fc08d;\n position: fixed;\n bottom: 10px;\n right: 10px;\n padding:
|
|
606
|
+
var css_248z$4 = ".debug-menu {\n z-index: 9999;\n}\n\n.debug-button {\n background-color: #4fc08d;\n position: fixed;\n bottom: 10px;\n right: 10px;\n padding: 5px;\n}\n\n.error-message {\n color: orangered;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n\n.error-filename {\n color: grey;\n text-decoration: underline;\n}\n";
|
|
602
607
|
styleInject(css_248z$4);
|
|
603
608
|
|
|
604
609
|
script$3.render = render$3;
|
|
@@ -3857,7 +3862,8 @@ var script$4 = vue.defineComponent({
|
|
|
3857
3862
|
};
|
|
3858
3863
|
},
|
|
3859
3864
|
mounted() {
|
|
3860
|
-
howler.Howler.volume(
|
|
3865
|
+
const volume = howler.Howler.volume();
|
|
3866
|
+
this.$refs.slider.value = volume;
|
|
3861
3867
|
},
|
|
3862
3868
|
methods: {
|
|
3863
3869
|
changeVolume(event) {
|
|
@@ -3880,12 +3886,16 @@ var script$4 = vue.defineComponent({
|
|
|
3880
3886
|
});
|
|
3881
3887
|
|
|
3882
3888
|
const _hoisted_1$4 = { class: "volume-controls" };
|
|
3883
|
-
const _hoisted_2$3 = /*#__PURE__*/vue.createElementVNode("label", {
|
|
3889
|
+
const _hoisted_2$3 = /*#__PURE__*/vue.createElementVNode("label", {
|
|
3890
|
+
for: "volume",
|
|
3891
|
+
class: "volume-label"
|
|
3892
|
+
}, "Volume:", -1);
|
|
3884
3893
|
|
|
3885
3894
|
function render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3886
3895
|
return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
|
|
3887
3896
|
_hoisted_2$3,
|
|
3888
3897
|
vue.createElementVNode("input", {
|
|
3898
|
+
ref: "slider",
|
|
3889
3899
|
class: "volume-slider",
|
|
3890
3900
|
type: "range",
|
|
3891
3901
|
id: "volume",
|
|
@@ -3895,11 +3905,11 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3895
3905
|
step: "0.1",
|
|
3896
3906
|
value: "0.5",
|
|
3897
3907
|
onChange: _cache[0] || (_cache[0] = (...args) => (_ctx.changeVolume && _ctx.changeVolume(...args)))
|
|
3898
|
-
}, null,
|
|
3908
|
+
}, null, 544)
|
|
3899
3909
|
]))
|
|
3900
3910
|
}
|
|
3901
3911
|
|
|
3902
|
-
var css_248z$5 = ".volume-controls {\n color: white;\n font-size:
|
|
3912
|
+
var css_248z$5 = ".volume-label {\n margin: 5px 20px;\n}\n\n.volume-controls {\n color: white;\n font-size: 20px;\n display: flex;\n align-items: center;\n}\n\n.volume-slider {\n width: 200px;\n background-color: blue;\n}\n";
|
|
3903
3913
|
styleInject(css_248z$5);
|
|
3904
3914
|
|
|
3905
3915
|
script$4.render = render$4;
|
|
@@ -3934,13 +3944,10 @@ const _hoisted_2$4 = { class: "bold" };
|
|
|
3934
3944
|
const _hoisted_3$3 = /*#__PURE__*/vue.createTextVNode(": ");
|
|
3935
3945
|
|
|
3936
3946
|
function render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3937
|
-
const _component_VolumeControls = vue.resolveComponent("VolumeControls");
|
|
3938
|
-
|
|
3939
3947
|
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
3940
3948
|
class: "hud",
|
|
3941
3949
|
style: vue.normalizeStyle(_ctx.hudStyle)
|
|
3942
3950
|
}, [
|
|
3943
|
-
vue.createVNode(_component_VolumeControls),
|
|
3944
3951
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.stats, (value, key) => {
|
|
3945
3952
|
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
3946
3953
|
key: key,
|
|
@@ -4158,6 +4165,7 @@ function loadImage(key, path, resolver, rejecter) {
|
|
|
4158
4165
|
}
|
|
4159
4166
|
|
|
4160
4167
|
const audio = {};
|
|
4168
|
+
howler.Howler.volume(0.5);
|
|
4161
4169
|
async function loadAudioAssets(config) {
|
|
4162
4170
|
console.log(`Loading audio`);
|
|
4163
4171
|
const loadingPromises = [];
|
|
@@ -4301,8 +4309,87 @@ function debounce(func, waitMilliseconds = 50, options = {}) {
|
|
|
4301
4309
|
return debouncedFunction;
|
|
4302
4310
|
}
|
|
4303
4311
|
|
|
4304
|
-
console.log('hello app');
|
|
4305
4312
|
var script$8 = vue.defineComponent({
|
|
4313
|
+
components: {
|
|
4314
|
+
Modal: script$2,
|
|
4315
|
+
VolumeControls: script$4,
|
|
4316
|
+
},
|
|
4317
|
+
props: {},
|
|
4318
|
+
data() {
|
|
4319
|
+
return {
|
|
4320
|
+
menuActive: false,
|
|
4321
|
+
};
|
|
4322
|
+
},
|
|
4323
|
+
mounted() {
|
|
4324
|
+
document.addEventListener('keydown', (event) => {
|
|
4325
|
+
const key = event.key;
|
|
4326
|
+
if (key === 'Escape') {
|
|
4327
|
+
this.toggleMenu();
|
|
4328
|
+
}
|
|
4329
|
+
});
|
|
4330
|
+
},
|
|
4331
|
+
methods: {
|
|
4332
|
+
openMenu() {
|
|
4333
|
+
this.menuActive = true;
|
|
4334
|
+
},
|
|
4335
|
+
closeMenu() {
|
|
4336
|
+
this.menuActive = false;
|
|
4337
|
+
},
|
|
4338
|
+
toggleMenu() {
|
|
4339
|
+
this.menuActive = !this.menuActive;
|
|
4340
|
+
},
|
|
4341
|
+
quit() {
|
|
4342
|
+
window.close();
|
|
4343
|
+
// quit
|
|
4344
|
+
},
|
|
4345
|
+
},
|
|
4346
|
+
computed: {},
|
|
4347
|
+
});
|
|
4348
|
+
|
|
4349
|
+
const _hoisted_1$7 = { class: "menu-container" };
|
|
4350
|
+
const _hoisted_2$6 = /*#__PURE__*/vue.createElementVNode("h3", { class: "title" }, "Menu", -1);
|
|
4351
|
+
const _hoisted_3$4 = { class: "menu-content" };
|
|
4352
|
+
|
|
4353
|
+
function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
4354
|
+
const _component_VolumeControls = vue.resolveComponent("VolumeControls");
|
|
4355
|
+
const _component_modal = vue.resolveComponent("modal");
|
|
4356
|
+
|
|
4357
|
+
return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
|
|
4358
|
+
vue.createElementVNode("button", {
|
|
4359
|
+
class: "button menu-toggle-button",
|
|
4360
|
+
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.openMenu && _ctx.openMenu(...args)))
|
|
4361
|
+
}, "Menu"),
|
|
4362
|
+
(_ctx.menuActive)
|
|
4363
|
+
? (vue.openBlock(), vue.createBlock(_component_modal, {
|
|
4364
|
+
key: 0,
|
|
4365
|
+
class: "menu",
|
|
4366
|
+
onClose: _ctx.closeMenu
|
|
4367
|
+
}, {
|
|
4368
|
+
header: vue.withCtx(() => [
|
|
4369
|
+
_hoisted_2$6
|
|
4370
|
+
]),
|
|
4371
|
+
body: vue.withCtx(() => [
|
|
4372
|
+
vue.createElementVNode("div", _hoisted_3$4, [
|
|
4373
|
+
vue.createVNode(_component_VolumeControls),
|
|
4374
|
+
vue.createElementVNode("button", {
|
|
4375
|
+
class: "button title quit-button",
|
|
4376
|
+
onClick: _cache[1] || (_cache[1] = (...args) => (_ctx.quit && _ctx.quit(...args)))
|
|
4377
|
+
}, "Quit")
|
|
4378
|
+
])
|
|
4379
|
+
]),
|
|
4380
|
+
_: 1
|
|
4381
|
+
}, 8, ["onClose"]))
|
|
4382
|
+
: vue.createCommentVNode("", true)
|
|
4383
|
+
]))
|
|
4384
|
+
}
|
|
4385
|
+
|
|
4386
|
+
var css_248z$9 = ".menu-content {\n margin: 50px;\n text-align: center;\n}\n\n.menu-toggle-button {\n margin: 0;\n padding: 2px;\n border-radius: 5px;\n}\n\n.quit-button {\n margin: 50px;\n text-align: center;\n}\n";
|
|
4387
|
+
styleInject(css_248z$9);
|
|
4388
|
+
|
|
4389
|
+
script$8.render = render$8;
|
|
4390
|
+
|
|
4391
|
+
console.log('hello app');
|
|
4392
|
+
var script$9 = vue.defineComponent({
|
|
4306
4393
|
$refs: {
|
|
4307
4394
|
dialogContainer: HTMLInputElement,
|
|
4308
4395
|
},
|
|
@@ -4314,6 +4401,7 @@ var script$8 = vue.defineComponent({
|
|
|
4314
4401
|
LoadingBar: script$6,
|
|
4315
4402
|
NotificationToast: script$7,
|
|
4316
4403
|
Hud: script$5,
|
|
4404
|
+
Menu: script$8,
|
|
4317
4405
|
},
|
|
4318
4406
|
data() {
|
|
4319
4407
|
return {
|
|
@@ -4583,16 +4671,17 @@ var script$8 = vue.defineComponent({
|
|
|
4583
4671
|
},
|
|
4584
4672
|
});
|
|
4585
4673
|
|
|
4586
|
-
const _hoisted_1$
|
|
4587
|
-
const _hoisted_2$
|
|
4588
|
-
const _hoisted_3$
|
|
4674
|
+
const _hoisted_1$8 = ["width", "height"];
|
|
4675
|
+
const _hoisted_2$7 = /*#__PURE__*/vue.createElementVNode("div", { class: "anchor" }, null, -1);
|
|
4676
|
+
const _hoisted_3$5 = {
|
|
4589
4677
|
key: 1,
|
|
4590
4678
|
class: "flex flex-col"
|
|
4591
4679
|
};
|
|
4592
4680
|
const _hoisted_4$3 = { key: 2 };
|
|
4593
4681
|
|
|
4594
|
-
function render$
|
|
4682
|
+
function render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
4595
4683
|
const _component_Hud = vue.resolveComponent("Hud");
|
|
4684
|
+
const _component_Menu = vue.resolveComponent("Menu");
|
|
4596
4685
|
const _component_DialogPicture = vue.resolveComponent("DialogPicture");
|
|
4597
4686
|
const _component_DialogBox = vue.resolveComponent("DialogBox");
|
|
4598
4687
|
const _component_LoadingBar = vue.resolveComponent("LoadingBar");
|
|
@@ -4610,6 +4699,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4610
4699
|
class: "game",
|
|
4611
4700
|
style: vue.normalizeStyle(_ctx.gameStyle)
|
|
4612
4701
|
}, [
|
|
4702
|
+
vue.createVNode(_component_Menu, { class: "menu-toggle" }),
|
|
4613
4703
|
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
4614
4704
|
default: vue.withCtx(() => [
|
|
4615
4705
|
(_ctx.picture)
|
|
@@ -4631,7 +4721,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4631
4721
|
width: _ctx.layoutWidth,
|
|
4632
4722
|
height: _ctx.layoutHeight,
|
|
4633
4723
|
id: "background-canvas"
|
|
4634
|
-
}, null, 8, _hoisted_1$
|
|
4724
|
+
}, null, 8, _hoisted_1$8)
|
|
4635
4725
|
], 4))
|
|
4636
4726
|
: vue.createCommentVNode("", true),
|
|
4637
4727
|
(_ctx.dialogPlaying)
|
|
@@ -4658,12 +4748,12 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4658
4748
|
]),
|
|
4659
4749
|
_: 1
|
|
4660
4750
|
}, 8, ["style"]),
|
|
4661
|
-
_hoisted_2$
|
|
4751
|
+
_hoisted_2$7
|
|
4662
4752
|
], 4))
|
|
4663
4753
|
: vue.createCommentVNode("", true)
|
|
4664
4754
|
], 4))
|
|
4665
4755
|
: (_ctx.gameLoaded)
|
|
4666
|
-
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
4756
|
+
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, [
|
|
4667
4757
|
vue.createElementVNode("button", {
|
|
4668
4758
|
class: "button menu-button start-button override",
|
|
4669
4759
|
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.startGame && _ctx.startGame(...args)))
|
|
@@ -4689,10 +4779,10 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4689
4779
|
], 4))
|
|
4690
4780
|
}
|
|
4691
4781
|
|
|
4692
|
-
var css_248z$
|
|
4693
|
-
styleInject(css_248z$
|
|
4782
|
+
var css_248z$a = "#app {\n background-color: black;\n width: 100%;\n height: 100%;\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n color: white;\n box-sizing: border-box;\n overflow: hidden;\n transform-origin: center center;\n}\n\n.game {\n background-color: black;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.interact-button {\n height: 50px;\n background-color: #72080f;\n border: 1px solid black;\n font-weight: bold;\n font-size: 20px;\n text-align: center;\n flex-grow: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n\n.interact-button:not(:last-child) {\n margin-right: 10px;\n}\n\n.dialog-container {\n flex-shrink: 2;\n /* padding: 20px; */\n min-height: 100%;\n width: 100%;\n background-color: #171717;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n overflow-x: hidden;\n}\n\n.dialog {\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.dialog::-webkit-scrollbar {\n display: none; /* webkit */\n}\n\n.dialog * {\n overflow-anchor: none;\n}\n\n.background {\n margin: 0;\n}\n\n#background-canvas {\n height: 100%;\n}\n\n.anchor {\n overflow-anchor: auto;\n height: 1px;\n}\n\n.menu-toggle {\n position: fixed;\n bottom: 0px;\n right: 15%;\n z-index: 108398;\n}\n";
|
|
4783
|
+
styleInject(css_248z$a);
|
|
4694
4784
|
|
|
4695
|
-
script$
|
|
4785
|
+
script$9.render = render$9;
|
|
4696
4786
|
|
|
4697
4787
|
function timeout(durationMs) {
|
|
4698
4788
|
return new Promise((resolve, reject) => {
|
|
@@ -4779,10 +4869,10 @@ function runCondition(ctx, condition) {
|
|
|
4779
4869
|
function conditionFunction(ctx, condition) {
|
|
4780
4870
|
const { state } = ctx;
|
|
4781
4871
|
const context = {
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
4872
|
+
data: state.machine.data,
|
|
4873
|
+
skills: state.skills,
|
|
4874
|
+
skillChecks: state.skillChecks,
|
|
4875
|
+
stats: state.hudStats,
|
|
4786
4876
|
roll: (checkId, skill, value) => {
|
|
4787
4877
|
const skillCheckState = getSkillCheckState(ctx, checkId);
|
|
4788
4878
|
if (skillCheckState) {
|
|
@@ -4963,6 +5053,7 @@ async function runCommand(context, cmd, choices) {
|
|
|
4963
5053
|
}
|
|
4964
5054
|
catch (err) {
|
|
4965
5055
|
console.log(state.machine.stack[state.machine.stack.length - 1].label);
|
|
5056
|
+
console.error(err);
|
|
4966
5057
|
error(commit, `Narrat script runtime error at <span class="error-filename">${cmd.fileName}:${cmd.line + 1}</span>
|
|
4967
5058
|
<b>${err}</b>
|
|
4968
5059
|
Script: ${cmd.code}
|
|
@@ -5815,10 +5906,10 @@ async function startApp(config, options) {
|
|
|
5815
5906
|
mousePos.x = e.clientX;
|
|
5816
5907
|
mousePos.y = e.clientY;
|
|
5817
5908
|
});
|
|
5818
|
-
console.log('%c Narrat game engine – 0.8.
|
|
5909
|
+
console.log('%c Narrat game engine – 0.8.3 - May 16, 2022 14:42:27', 'background: #222; color: #bada55');
|
|
5819
5910
|
const storeSetup = setupStore(options);
|
|
5820
5911
|
store$1 = storeSetup.store;
|
|
5821
|
-
app = vue.createApp(script$
|
|
5912
|
+
app = vue.createApp(script$9, {
|
|
5822
5913
|
config,
|
|
5823
5914
|
options,
|
|
5824
5915
|
});
|