diff --git a/src/components/PresetPicker.vue b/src/components/PresetPicker.vue
new file mode 100644
index 0000000..7400258
--- /dev/null
+++ b/src/components/PresetPicker.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/SettingPicker.vue b/src/components/SettingPicker.vue
index 6ef6169..3d8d81b 100644
--- a/src/components/SettingPicker.vue
+++ b/src/components/SettingPicker.vue
@@ -20,6 +20,11 @@ export default defineComponent({
color: "primary",
generator: null,
},
+ watch: {
+ modelValue(newValue, oldValue) {
+ this.selected = newValue;
+ },
+ },
computed: {
settings() {
var generatorValue = generatorSettings[this.generator][this.name]
diff --git a/src/data/presets.yaml b/src/data/presets.yaml
new file mode 100644
index 0000000..76813ef
--- /dev/null
+++ b/src/data/presets.yaml
@@ -0,0 +1,20 @@
+base:
+ default:
+ display: Default
+ boots:
+ display: Boots
+ boots: starting
+ crosskeys:
+ display: CrossKeys
+ goal: fast_ganon
+ entrance_shuffle: crossed
+ small_keys: wild
+ big_keys: wild
+ maps: wild
+ compasses: wild
+ boots: pseudoboots
+ super_quick:
+ display: Super Quick
+ weapons: assured
+ goal: fast_ganon
+ crystals_ganon: 0
diff --git a/src/views/GenerateView.vue b/src/views/GenerateView.vue
index 5aa597f..27a6828 100644
--- a/src/views/GenerateView.vue
+++ b/src/views/GenerateView.vue
@@ -3,10 +3,12 @@ import { defineComponent } from "vue";
import axios from "axios";
+import PresetPicker from "@/components/PresetPicker.vue";
import SettingPicker from "@/components/SettingPicker.vue";
export default defineComponent({
components: {
+ PresetPicker,
SettingPicker,
},
data() {
@@ -17,6 +19,14 @@ export default defineComponent({
mounted() {
document.title = "ALttPRandomizer";
},
+ watch: {
+ set: {
+ handler(newValue, oldValue) {
+ this.$refs.preset.settingChanged(newValue);
+ },
+ deep: true,
+ }
+ },
methods: {
async generate(race) {
const settings = {
@@ -35,6 +45,13 @@ export default defineComponent({
console.log(error);
});
},
+ presetSelected(preset) {
+ for (const setting of Object.keys(this.set)) {
+ if (preset[setting] != undefined) {
+ this.set[setting] = preset[setting];
+ }
+ }
+ },
},
});
@@ -45,6 +62,11 @@ export default defineComponent({
Generate Seed