From b46ba6fd2cb7af464aee56595a949b121eaaa3c3 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Thu, 6 Mar 2025 23:37:43 -0600 Subject: [PATCH] Basic generation page --- src/components/Seed.vue | 2 +- src/components/SettingPicker.vue | 43 ++++++ src/data/settings.yaml | 232 +++++++++++++++++++++++++++++++ src/router/index.js | 8 +- src/views/GenerateView.vue | 86 ++++++++++++ 5 files changed, 369 insertions(+), 2 deletions(-) create mode 100644 src/components/SettingPicker.vue create mode 100644 src/data/settings.yaml create mode 100644 src/views/GenerateView.vue diff --git a/src/components/Seed.vue b/src/components/Seed.vue index 3038549..fe4a876 100644 --- a/src/components/Seed.vue +++ b/src/components/Seed.vue @@ -91,7 +91,7 @@ export default defineComponent({ .catch(error => { if (error.response.status == 409) { // still generating, try again - setInterval(2000, this.fetchSeed.bind(this)); + setTimeout(this.fetchSeed.bind(this), 2000); } else { this.error = "Seed not found. :("; } diff --git a/src/components/SettingPicker.vue b/src/components/SettingPicker.vue new file mode 100644 index 0000000..905be99 --- /dev/null +++ b/src/components/SettingPicker.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/data/settings.yaml b/src/data/settings.yaml new file mode 100644 index 0000000..6f1d464 --- /dev/null +++ b/src/data/settings.yaml @@ -0,0 +1,232 @@ +base: + race: + default: normal + values: + normal: + display: Normal + race: + display: Race + mode: + display: Mode + default: open + values: + open: + display: Open + standard: + display: Standard + inverted: + display: Inverted + weapons: + display: Weapons + default: random + values: + random: + display: Random + assured: + display: Assured + vanilla: + display: Vanilla + swordless: + display: Swordless + goal: + display: Goal + default: ganon + values: + ganon: + display: Ganon + fast_ganon: + display: Fast Ganon + all_dungeons: + display: All Dungeons + pedestal: + display: Pedestal + triforce_hunt: + display: Triforce Hunt + ganon_hunt: + display: Ganon Hunt + completionist: + display: Completionist + crystals_ganon: + display: Crystals for Ganon + default: 7 + values: + 7: + display: 7 + 6: + display: 6 + 5: + display: 5 + 4: + display: 4 + 3: + display: 3 + 2: + display: 2 + 1: + display: 1 + 0: + display: 0 + random: + display: Random + crystals_gt: + display: Crystals for GT + default: 7 + values: + 7: + display: 7 + 6: + display: 6 + 5: + display: 5 + 4: + display: 4 + 3: + display: 3 + 2: + display: 2 + 1: + display: 1 + 0: + display: 0 + random: + display: Random + entrance_shuffle: + display: Entrance Shuffle + default: vanilla + values: + vanilla: + display: None + full: + display: Full + crossed: + display: Crossed + swapped: + display: Swapped + decoupled: + display: Decoupled + skull_woods: + display: Skull Woods Entrances + default: original + values: + original: + display: Original + restricted: + display: Restricted + loose: + display: Loose + follow_linked: + display: Follow Linked + linked_drops: + display: Linked Drops + default: unset + values: + unset: + display: Unset + linked: + display: Linked + independent: + display: Independent + boss_shuffle: + values: + vanilla: + display: None + simple: + display: Simple + full: + display: Full + random: + display: Random + prize_unique: + display: Prize Unique + enemy_shuffle: + values: + vanilla: + display: None + shuffled: + display: Shuffled + small_keys: + values: + dungeon: + display: In Dungeon + wild: + display: Wild + nearby: + display: Nearby + universal: + display: Universal + big_keys: + values: + dungeon: + display: In Dungeon + wild: + display: Wild + nearby: + display: Nearby + maps: + values: + dungeon: + display: In Dungeon + wild: + display: Wild + nearby: + display: Nearby + compasses: + values: + dungeon: + display: In Dungeon + wild: + display: Wild + nearby: + display: Nearby + shop_shuffle: + values: + vanilla: + display: None + shuffled: + display: Shuffled + drop_shuffle: + values: + vanilla: + display: None + keys: + display: Key Drops + underworld: + display: All Underworld Enemies + pottery: + values: + vanilla: + display: None + keys: + display: Keys + cave: + display: Caves + cave_keys: + display: Caves & Keys + reduced: + display: Reduced + clustered: + display: Clustered + non_empty: + display: Non-Empty + dungeon: + display: Dungeon + lottery: + display: Lottery + prize_shuffle: + values: + vanilla: + display: On Boss + dungeon: + display: In Dungeon + nearby: + display: Nearby + wild: + display: Wild + boots: + values: + normal: + display: No Starting Boots + pseudoboots: + display: Pseudoboots + starting: + display: Starting Boots diff --git a/src/router/index.js b/src/router/index.js index 03a086a..11a0e10 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,12 +1,18 @@ import { createRouter, createWebHistory } from "vue-router"; import SeedView from "@/views/SeedView.vue"; +import GenerateView from "@/views/GenerateView.vue"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ + { + path: '/generate', + name: 'generate', + component: GenerateView, + }, { path: '/seed/:id', - name: 'game', + name: 'seed', component: SeedView, }, ], diff --git a/src/views/GenerateView.vue b/src/views/GenerateView.vue new file mode 100644 index 0000000..3b28516 --- /dev/null +++ b/src/views/GenerateView.vue @@ -0,0 +1,86 @@ + + +