2021-07-30 00:03:52 -04:00
|
|
|
<script lang="ts">
|
|
|
|
|
import { format as formatDate } from "date-fns";
|
2021-08-18 22:37:42 -04:00
|
|
|
import { createEventDispatcher } from "svelte";
|
2021-07-30 00:03:52 -04:00
|
|
|
import { Button, Icon } from "sveltestrap";
|
|
|
|
|
import {
|
|
|
|
|
rollAbility,
|
|
|
|
|
rollActivity,
|
|
|
|
|
rollAdjective,
|
|
|
|
|
rollAge,
|
|
|
|
|
rollAlignment,
|
|
|
|
|
rollAspect,
|
|
|
|
|
rollCondition,
|
|
|
|
|
rollDisposition,
|
|
|
|
|
rollElement,
|
|
|
|
|
rollFeature,
|
|
|
|
|
rollMagicType,
|
|
|
|
|
rollNumAppearing,
|
|
|
|
|
rollOddity,
|
|
|
|
|
rollOrientation,
|
|
|
|
|
rollRuination,
|
|
|
|
|
rollSize,
|
|
|
|
|
rollTag,
|
|
|
|
|
rollTerrain,
|
|
|
|
|
rollVisibility,
|
2021-08-14 21:37:30 -04:00
|
|
|
} from "../rollers/details";
|
2021-07-30 00:03:52 -04:00
|
|
|
|
2021-08-14 21:37:30 -04:00
|
|
|
import DieIcon from "./DieIcon.svelte";
|
|
|
|
|
|
2021-08-18 22:37:42 -04:00
|
|
|
const dispatch = createEventDispatcher();
|
|
|
|
|
|
2021-08-14 21:37:30 -04:00
|
|
|
let rollResults: { type: string; roll: number; value: string; timestamp: string }[] = [];
|
2021-07-30 00:03:52 -04:00
|
|
|
|
2021-07-30 19:19:03 -04:00
|
|
|
function roll(item: { type: string; description: string; roll: number }) {
|
2021-08-14 21:37:30 -04:00
|
|
|
rollResults = [
|
|
|
|
|
{ type: item.type, roll: item.roll, value: item.description, timestamp: formatDate(new Date(), "P kk:mm:ss") },
|
|
|
|
|
...rollResults,
|
|
|
|
|
];
|
2021-08-18 22:37:42 -04:00
|
|
|
dispatch("roll");
|
2021-07-30 00:03:52 -04:00
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<main>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollAbility())}>Roll Ability</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollActivity())}>Roll Activity</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollAdjective())}>Roll Adjective</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollAge())}>Roll Age</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollAlignment())}>Roll Alignment</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollAspect())}>Roll Aspect</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollCondition())}>Roll Condition</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollDisposition())}>Roll Disposition</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollElement())}>Roll Element</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollFeature())}>Roll Feature</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollMagicType())}>Roll MagicType</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollNumAppearing())}>Roll NumAppearing</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollOddity())}>Roll Oddity</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollOrientation())}>Roll Orientation</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollRuination())}>Roll Ruination</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollSize())}>Roll Size</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollTag())}>Roll Tag</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollTerrain())}>Roll Terrain</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
<span class="btn">
|
2021-07-30 19:19:03 -04:00
|
|
|
<Button color="primary" on:click={() => roll(rollVisibility())}>Roll Visibility</Button>
|
2021-07-30 00:03:52 -04:00
|
|
|
</span>
|
|
|
|
|
|
2021-08-14 21:37:30 -04:00
|
|
|
{#each rollResults as { type, roll, value, timestamp }}
|
|
|
|
|
<h4>{timestamp}: ({type}): {value}<DieIcon value={roll} /></h4>
|
2021-07-30 00:03:52 -04:00
|
|
|
{/each}
|
|
|
|
|
</main>
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
</style>
|