Add ultra fast junk setting and variable ganon item
This commit is contained in:
@@ -9,6 +9,7 @@ import ReduceFlashingPicker from "@/components/ReduceFlashingPicker.vue";
|
||||
import BackgroundMusicPicker from "@/components/BackgroundMusicPicker.vue";
|
||||
import MsuResumePicker from "@/components/MsuResumePicker.vue";
|
||||
import CollectionRatePicker from "@/components/CollectionRatePicker.vue";
|
||||
import UltraFastJunkPicker from "@/components/UltraFastJunkPicker.vue";
|
||||
import Spoiler from "@/components/Spoiler.vue";
|
||||
|
||||
import SeedSettings from "@/components/SeedSettings.vue";
|
||||
@@ -30,6 +31,7 @@ export default defineComponent({
|
||||
BackgroundMusicPicker,
|
||||
MsuResumePicker,
|
||||
CollectionRatePicker,
|
||||
UltraFastJunkPicker,
|
||||
Spoiler,
|
||||
},
|
||||
data() {
|
||||
@@ -37,6 +39,7 @@ export default defineComponent({
|
||||
rom_checksum: "3322EFFC",
|
||||
baserom: null,
|
||||
baserom_error: null,
|
||||
created: null,
|
||||
patch: null,
|
||||
error: null,
|
||||
retry: false,
|
||||
@@ -93,6 +96,7 @@ export default defineComponent({
|
||||
this.settings = seedData.settings;
|
||||
this.multi = seedData.parent;
|
||||
this.spoiler = seedData.spoiler;
|
||||
this.created = seedData.created;
|
||||
},
|
||||
async fetchSeed() {
|
||||
await axios.get(`/seed/${this.id}`)
|
||||
@@ -165,14 +169,12 @@ export default defineComponent({
|
||||
this.$refs.bgm.patch(rom);
|
||||
this.$refs.reduce_flashing.patch(rom);
|
||||
this.$refs.quickswap.patch(rom);
|
||||
this.$refs.ufj.patch(rom);
|
||||
|
||||
if (this.allow_cr) {
|
||||
this.$refs.cr.patch(rom);
|
||||
}
|
||||
|
||||
// fast multijunk, too lazy to make it a setting rn
|
||||
rom[0x1800AF] = 0x10;
|
||||
|
||||
// Fix Checksum
|
||||
const sum = rom.reduce(function(sum, mbyte, i) {
|
||||
if (i >= 0x7fdc && i < 0x7fe0) {
|
||||
@@ -250,6 +252,7 @@ export default defineComponent({
|
||||
<ReduceFlashingPicker ref="reduce_flashing" />
|
||||
<QuickswapPicker ref="quickswap" />
|
||||
<CollectionRatePicker v-if="allow_cr" ref="cr" />
|
||||
<UltraFastJunkPicker :created="created" ref="ufj" />
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
|
||||
@@ -146,6 +146,8 @@ export default defineComponent({
|
||||
<SettingPicker color="success" v-model="set.goal" name="goal" generator="base" :prefix="prefix" />
|
||||
<SettingPicker color="success" v-if="['ganon', 'fast_ganon'].includes(this.set.goal)"
|
||||
v-model="set.crystals_ganon" name="crystals_ganon" generator="base" :prefix="prefix" />
|
||||
<SettingPicker color="success" v-if="['ganon', 'fast_ganon'].includes(this.set.goal)"
|
||||
v-model="set.ganon_item" name="ganon_item" generator="base" :prefix="prefix" />
|
||||
<SettingPicker color="success" v-model="set.crystals_gt" name="crystals_gt" generator="base" :prefix="prefix" />
|
||||
</AccordionItem>
|
||||
<AccordionItem :expanded="false">
|
||||
|
||||
47
src/components/UltraFastJunkPicker.vue
Normal file
47
src/components/UltraFastJunkPicker.vue
Normal file
@@ -0,0 +1,47 @@
|
||||
<script>
|
||||
import { defineComponent } from 'vue';
|
||||
|
||||
import localforage from "localforage";
|
||||
|
||||
export default defineComponent({
|
||||
props: {
|
||||
created: null,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
ultrafastjunk: false,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
valid_rom() {
|
||||
return this.created && this.created > 1757125000;
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
const savedvalue = await localforage.getItem("ultrafastjunk");
|
||||
if (savedvalue != null) {
|
||||
this.ultrafastjunk = savedvalue;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
patch(rom) {
|
||||
if (this.valid_rom && this.ultrafastjunk) {
|
||||
rom[0x1800AF] = 0xD0;
|
||||
} else {
|
||||
rom[0x1800AF] = 0x10;
|
||||
}
|
||||
},
|
||||
async change() {
|
||||
await localforage.setItem("ultrafastjunk", this.ultrafastjunk);
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="form-check form-switch" v-if="valid_rom">
|
||||
<input type="checkbox" class="form-check-input toggle" id="ultrafastjunk"
|
||||
role="switch" v-model="ultrafastjunk" @change="change" checked />
|
||||
<label class="form-check-label" for="ultrafastjunk">Shorten Junk Item Fanfares</label>
|
||||
</div>
|
||||
</template>
|
||||
@@ -4,6 +4,7 @@ base:
|
||||
goal: all
|
||||
crystals_ganon: all
|
||||
crystals_gt: all
|
||||
ganon_item: all
|
||||
entrance_shuffle: all
|
||||
skull_woods: all
|
||||
linked_drops: all
|
||||
|
||||
@@ -95,6 +95,40 @@ crystals_gt:
|
||||
display: 0
|
||||
random:
|
||||
display: Random
|
||||
ganon_item:
|
||||
display: Ganon Vulnerability Item
|
||||
default: "silver"
|
||||
values:
|
||||
silver:
|
||||
display: Silver Arrows
|
||||
boomerang:
|
||||
display: Boomerang
|
||||
hookshot:
|
||||
display: Hookshot
|
||||
powder:
|
||||
display: Powder
|
||||
fire_rod:
|
||||
display: Fire Rod
|
||||
ice_rod:
|
||||
display: Ice Rod
|
||||
bombos:
|
||||
display: Bombos
|
||||
ether:
|
||||
display: Ether
|
||||
quake:
|
||||
display: Quake
|
||||
hammer:
|
||||
display: Hammer
|
||||
bee:
|
||||
display: Bee
|
||||
somaria:
|
||||
display: Cane of Somaria
|
||||
byrna:
|
||||
display: Cane of Byrna
|
||||
random:
|
||||
display: Random
|
||||
none:
|
||||
display: No Weakness
|
||||
entrance_shuffle:
|
||||
display: Entrance Shuffle
|
||||
default: vanilla
|
||||
|
||||
Reference in New Issue
Block a user