Compare commits

...

5 Commits

80 changed files with 548 additions and 51 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

BIN
public/hash-icons/bomb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

BIN
public/hash-icons/book.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

BIN
public/hash-icons/boots.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

BIN
public/hash-icons/bow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

BIN
public/hash-icons/byrna.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

BIN
public/hash-icons/cape.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

BIN
public/hash-icons/ether.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

BIN
public/hash-icons/flute.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

BIN
public/hash-icons/lamp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

BIN
public/hash-icons/map.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

BIN
public/hash-icons/pearl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

BIN
public/hash-icons/quake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

BIN
public/loot-icons/junk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

BIN
public/loot-icons/map.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

BIN
public/moldormspinbig.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -64,15 +64,14 @@ triforce_pieces:
125of175: 0 # be careful, there may not be enough checks in the pool to support this
400of500: 0 # be careful, there may not be enough checks in the pool to support this
crystals_gt:
"7": 10
"6": 10
"7": 5
"6": 5
"5": 10
"4": 10
"3": 10
"2": 10
"4": 15
"3": 15
"2": 15
"1": 10
"0": 10
random: 20
ganon_item:
silver: 60
boomerang: 3
@@ -141,7 +140,7 @@ compasses:
dungeon: 60
nearby: 10
wild: 30
show_loot:
show_loot_map:
never: 10
presence: 30
compass: 30
@@ -149,8 +148,9 @@ show_loot:
show_loot_hud:
never: 10
presence: 30
value: 30
dungeon_value: 30
value: 20
dungeon_value: 20
cave_value: 20
show_map:
visited: 40
map: 30
@@ -193,8 +193,9 @@ dark_rooms:
starting_lamp: 0
dark_in_logic: 0
bombs:
normal: 70
normal: 50
bomb_bag_required: 30
starting: 20
book:
normal: 70
crystal_switches: 30

View File

@@ -22,6 +22,14 @@
display: block;
}
.inline {
display: inline;
}
.inline-block {
display: inline-block;
}
.center {
margin: 0 auto;
}
@@ -35,6 +43,10 @@
margin-top: 0.35em;
}
.v-middle {
vertical-align: middle;
}
.btn-outline-warning {
--bs-btn-color: #880;
--bs-btn-active-color: #550;

View File

@@ -0,0 +1,160 @@
<script>
import { defineComponent } from "vue";
export default defineComponent({});
</script>
<template>
<table class="table icon-table">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Map Icon</th>
<th scope="col">HUD Icon</th>
<th scope="col">Possible Items</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Triforce</th>
<td><img class="map-icon" src="/loot-icons/triforce.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_triforce.png" /></td>
<td>The Triforce! Instantly wins the game. Not usually placed other than on the pedestal or Ganon, depending on the mode.</td>
</tr>
<tr>
<th scope="row">Triforce Piece</th>
<td><img class="map-icon" src="/loot-icons/triforce_piece.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_triforce_piece.png" /></td>
<td>Triforce pieces when the target number of pieces is 100 or less.</td>
</tr>
<tr>
<th scope="row">Crystal</th>
<td><img class="map-icon" src="/loot-icons/crystal.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_crystal.png" /></td>
<td>Crystal dungeon prizes, when prizes are shuffled off bosses and collecting crystals is part of the goal.</td>
</tr>
<tr>
<th scope="row">Pendant</th>
<td><img class="map-icon" src="/loot-icons/pendant.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_pendant.png" /></td>
<td>Pendant dungeon prizes, when prizes are shuffled off bosses and collecting pendants is part of the goal.</td>
</tr>
<tr>
<th scope="row">Major Item</th>
<td><img class="map-icon" src="/loot-icons/major_item.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_major_item.png" /></td>
<td>Swords, Moon Pearl, Flippers, Boots, Gloves, Bomb Bag, and most Y-Items: Bows, Hookshot, Fire Rod, Ice Rod, Bombos, Ether, Quake, Lamp, Hammer, Flute, Book, Cane of Somaria, and Mirror.</td>
</tr>
<tr>
<th scope="row">Big Key</th>
<td><img class="map-icon" src="/loot-icons/big_key.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_big_key.png" /></td>
<td>Big Keys.</td>
</tr>
<tr>
<th scope="row">Small Key</th>
<td><img class="map-icon" src="/loot-icons/small_key.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_small_key.png" /></td>
<td>Small Keys.</td>
</tr>
<tr>
<th scope="row">Map</th>
<td><img class="map-icon" src="/loot-icons/map.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_map.png" /></td>
<td>Dungeon Maps.</td>
</tr>
<tr>
<th scope="row">Compass</th>
<td><img class="map-icon" src="/loot-icons/compass.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_compass.png" /></td>
<td>Dungeon Compasses.</td>
</tr>
<tr>
<th scope="row">Minor Item</th>
<td><img class="map-icon" src="/loot-icons/minor_item.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_minor_item.png" /></td>
<td>Armor, Progressive Shields, Red Shield, Mirror Shield, Capacity Upgrades, and remaining Y-Items: Boomerangs, Mushroom, Powder, Shovel, Bug Net, Bottles, Cane of Byrna, and Magic Cape. Also includes shuffled dungeon prizes (crystals and pendants) that are not part of the goal.</td>
</tr>
<tr>
<th scope="row">Health</th>
<td><img class="map-icon" src="/loot-icons/health.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_health.png" /></td>
<td>Heart Containers, Pieces of Heart, and Potion Refills.</td>
</tr>
<tr>
<th scope="row">Triforce Piece</th>
<td><img class="map-icon" src="/loot-icons/triforce_piece.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_triforce_piece.png" /></td>
<td>Triforce pieces when the target number of pieces is more than 100.</td>
</tr>
<tr>
<th scope="row">Universal Key</th>
<td><img class="map-icon" src="/loot-icons/small_key.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_small_key.png" /></td>
<td>Small Keys when small key shuffle is set to Universal.</td>
</tr>
<tr>
<th scope="row">Junk</th>
<td><img class="map-icon" src="/loot-icons/junk.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_junk.png" /></td>
<td>Heart, bomb, magic, and arrow refills, blue shields, and rupees. Also contains bee traps, bees, apples, fairies, and chickens for mode that include those.</td>
</tr>
<tr>
<th scope="row">Unknown Tier</th>
<td><img class="map-icon" src="/loot-icons/indicator.png" /></td>
<td><img class="hud-icon" src="/loot-icons/hud_indicator.png" /></td>
<td>Shown when the settings do not permit you to see what tier of item is present.</td>
</tr>
<tr>
<th scope="row">NPC Item</th>
<td></td>
<td><img class="hud-icon" src="/loot-icons/hud_npc.png" /></td>
<td>An NPC (Blacksmith, Witch, Sick Kid, Magic Bat, or Sahasrahla) has an unclaimed item which is not otherwise included in the icon in the HUD. All other NPCs' items will show in the main HUD indicator icon.</td>
</tr>
</tbody>
</table>
</template>
<style>
.map-icon {
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
width: 48px;
height: 48px;
}
.hud-icon {
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
width: 24px;
height: 24px;
margin-top: 12px;
margin-bottom: 12px;
}
.icon-table {
background-color: #DDD !important;
border-radius: 12px;
margin-bottom: 0 !important;
}
.icon-table td,th {
background-color: inherit !important;
}
.icon-table tbody td,th {
border-bottom: none !important;
}
.icon-table tbody tr:not(:last-child) {
border-bottom: 1px solid gray;
}
.icon-table thead tr,td,th {
border-top: none !important;
}
.icon-table thead tr {
border-bottom: 1px solid gray;
}
</style>

View File

@@ -109,7 +109,7 @@ export default defineComponent({
</div>
</div>
<div v-else>
<img class="block center" src="/bludormspinbig.gif" />
<img class="block center" src="/moldormspinbig.gif" />
</div>
</div>
</template>

View File

@@ -86,6 +86,11 @@ export default defineComponent({
</li>
</ul>
</li>
<li class="nav-item nav-link">
<router-link to="/settings">
Settings Help
</router-link>
</li>
</ul>
</div>
</div>

View File

@@ -13,6 +13,7 @@ import UltraFastJunkPicker from "@/components/UltraFastJunkPicker.vue";
import Spoiler from "@/components/Spoiler.vue";
import SeedSettings from "@/components/SeedSettings.vue";
import SeedHash from "@/components/SeedHash.vue";
import { Base64 } from "js-base64";
import * as bps from "bps";
@@ -33,6 +34,7 @@ export default defineComponent({
CollectionRatePicker,
UltraFastJunkPicker,
Spoiler,
SeedHash,
},
data() {
return {
@@ -221,7 +223,7 @@ export default defineComponent({
<b>Permalink</b>: <router-link :to="permalink">{{ permalink }}</router-link>
</div>
<div class="card-header" v-if="meta.hash">
<b>Hash</b>: {{ meta.hash }}
<span class="v-middle"><b>Hash</b>:</span> <SeedHash :hash="meta.hash" />
</div>
<ul class="list-group list-group-flush">
<li v-if="!baserom" class="list-group-item">
@@ -291,7 +293,7 @@ export default defineComponent({
</div>
</div>
<div v-else>
<img class="block center" src="/bludormspinbig.gif" />
<img class="block center" src="/moldormspinbig.gif" />
</div>
</div>
<div v-if="patch && spoiler && show_spoiler" class="mw-50">

View File

@@ -0,0 +1,32 @@
<script>
import { defineComponent } from "vue";
import HashIcons from "@/data/hash_icons.yaml";
export default defineComponent({
props: {
hash: "",
},
computed: {
icons() {
const bits = this.hash.split(",").map(bit => bit.trim());
return bits.map(bit => { return {icon: HashIcons[bit], name: bit} });
},
},
});
</script>
<template>
<div class="inline-block">
<template v-for="icon in icons">
<img class="hash_icon" :src="`/hash-icons/${icon.icon}`" :alt="icon.name" />
</template>
</div>
</template>
<style>
.hash_icon {
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
}
</style>

View File

@@ -0,0 +1,26 @@
<script>
import { defineComponent } from "vue";
export default defineComponent({
props: {
name: "",
},
});
</script>
<template>
<div class="card mb-3 setting-info-card">
<div class="card-header">
<b>{{ name }}</b>
</div>
<div class="m-3">
<slot></slot>
</div>
</div>
</template>
<style>
.setting-info-card p:last-child {
margin-bottom: 0;
}
</style>

View File

@@ -166,8 +166,8 @@ export default defineComponent({
<SettingPicker color="primary" v-model="set.weapons" name="weapons" :generator="generator" :prefix="prefix" />
<SettingPicker color="primary" v-model="set.hints" name="hints" :generator="generator" :prefix="prefix" />
<SettingPicker color="primary" v-model="set.show_map" name="show_map" :generator="generator" :prefix="prefix" />
<SettingPicker color="primary" v-model="set.show_loot" name="show_loot" :generator="generator" :prefix="prefix" />
<SettingPicker color="primary" v-if="set.show_loot != 'never'" v-model="set.show_loot_hud" name="show_loot_hud" :generator="generator" :prefix="prefix" />
<SettingPicker color="primary" v-model="set.show_loot_map" name="show_loot_map" :generator="generator" :prefix="prefix" />
<SettingPicker color="primary" v-model="set.show_loot_hud" name="show_loot_hud" :generator="generator" :prefix="prefix" />
</AccordionItem>
<AccordionItem :expanded="true">
<template #header>
@@ -242,7 +242,6 @@ export default defineComponent({
</template>
<SettingPicker color="success" v-model="set.boss_shuffle" name="boss_shuffle" :generator="generator" :prefix="prefix" />
<SettingPicker color="success" v-model="set.enemy_shuffle" name="enemy_shuffle" :generator="generator" :prefix="prefix" />
<SettingPicker color="success" v-model="set.damage_table_shuffle" name="damage_table_shuffle" :generator="generator" :prefix="prefix" />
</AccordionItem>
<AccordionItem :expanded="false">
<template #header>
@@ -279,6 +278,7 @@ export default defineComponent({
<b>Challenge Modes:</b>
</template>
<SettingPicker color="danger" v-model="set.damage_challenge" name="damage_challenge" :generator="generator" :prefix="prefix" />
<SettingPicker color="danger" v-model="set.damage_table_shuffle" name="damage_table_shuffle" :generator="generator" :prefix="prefix" />
</AccordionItem>
</div>
</template>

View File

@@ -13,6 +13,7 @@ base:
skull_woods: all
linked_drops: all
door_shuffle: all
extra_keys: all
lobbies: all
door_type_mode: all
trap_door_mode: all
@@ -23,7 +24,8 @@ base:
big_keys: all
maps: all
compasses: all
show_loot: all
show_loot_map: all
show_loot_hud: all
show_map: all
shop_shuffle: all
drop_shuffle: all
@@ -86,7 +88,7 @@ beta:
big_keys: all
maps: all
compasses: all
show_loot: all
show_loot_map: all
show_loot_hud: all
show_map: all
shop_shuffle: all
@@ -123,6 +125,7 @@ pikit:
skull_woods: all
linked_drops: all
door_shuffle: all
extra_keys: all
lobbies: all
door_type_mode: all
trap_door_mode: all
@@ -133,7 +136,8 @@ pikit:
big_keys: all
maps: all
compasses: all
show_loot: all
show_loot_map: all
show_loot_hud: all
show_map: all
shop_shuffle: all
drop_shuffle: all

32
src/data/hash_icons.yaml Normal file
View File

@@ -0,0 +1,32 @@
Bow: bow.png
Boomerang: boomerang_blue.png
Hookshot: hookshot.png
Bomb: bomb.png
Mushroom: mushroom.png
Powder: powder.png
Ice Rod: icerod.png
Green Pendant: green_pendant.png
Bombos: bombos.png
Ether: ether.png
Quake: quake.png
Lamp: lamp.png
Hammer: hammer.png
Shovel: shovel.png
Ocarina: flute.png
Bug Net: bugnet.png
Book: book.png
Bottle: bottle.png
Green Potion: green_potion.png
Somaria: somaria.png
Cape: cape.png
Mirror: mirror.png
Boots: boots.png
Gloves: glove_1.png
Flippers: flippers.png
Pearl: pearl.png
Shield: shield_3.png
Green Tunic: tunic_1.png
Heart: heart_container.png
Map: map.png
Compass: compass.png
Key: bigkey.png

View File

@@ -1,13 +1,16 @@
base:
default:
display: Default
show_map: always
boots:
display: Boots
boots: starting
show_map: always
crosskeys:
display: CrossKeys
goal: fast_ganon
entrance_shuffle: crossed
show_map: always
small_keys: wild
big_keys: wild
maps: wild
@@ -18,6 +21,7 @@ base:
weapons: assured
goal: fast_ganon
crystals_ganon: 0
show_map: always
mimic_hellrule:
display: Mimic Hellrule
mode: standard
@@ -25,6 +29,7 @@ base:
door_shuffle: crossed
door_lobbies: shuffled
door_type_mode: all
show_map: visited
trap_door_mode: some
enemy_shuffle: mimics
drop_shuffle: keys
@@ -33,7 +38,9 @@ base:
criss_cross_boss:
display: CrissCross Boss
hints: on
show_loot: always
show_loot_map: always
show_loot_hud: value
show_map: always
goal: boss_hunt
bosses_ganon: 10of12
ganon_item: random
@@ -58,7 +65,8 @@ base:
book: crystal_switches
bunday:
display: Approximate Bunday
show_loot: never
show_loot_map: never
show_loot_hud: presence
show_map: visited
goal: trinity
crystals_ganon: random
@@ -81,14 +89,62 @@ base:
drop_shuffle: underworld
shop_shuffle: shuffled
bombs: bomb_bag_required
beta:
default:
display: Default
wjb_cross:
display: wjbCross
goal: fast_ganon
show_loot: always
show_map: always
show_loot_map: always
show_loot_hud: never
entrance_shuffle: crossed
skull_woods: vanilla_drops
small_keys: wild
big_keys: wild
maps: wild
compasses: wild
boots: pseudoboots
flute: preactivated
bosshunt_keys:
display: BossHunt Keys
show_map: always
show_loot_map: always
show_loot_hud: value
goal: boss_hunt
bosses_ganon: 10of12
crystals_gt: 0
ganon_item: bee
small_keys: wild
big_keys: wild
maps: wild
compasses: wild
boots: pseudoboots
flute: pseudoflute
dark_rooms: always_light_cone
book: crystal_switches
beta:
default:
display: Default
bosshunt_keys:
display: BossHunt Keys
show_map: always
show_loot_map: always
show_loot_hud: value
goal: boss_hunt
bosses_ganon: 10of12
crystals_gt: 0
ganon_item: bee
small_keys: wild
big_keys: wild
maps: wild
compasses: wild
boots: pseudoboots
flute: pseudoflute
dark_rooms: always_light_cone
book: crystal_switches
wjb_cross:
display: wjbCross
goal: fast_ganon
show_map: always
show_loot_map: always
show_loot_hud: never
entrance_shuffle: crossed
skull_woods: vanilla_drops
@@ -101,4 +157,22 @@ beta:
pikit:
default:
display: Default
show_loot: always
show_loot_map: always
cross_shop_keys:
display: Cross-Shop-Keys
goal: fast_ganon
hints: on
ganon_item: random
crystals_gt: random
entrance_shuffle: crossed
skull_woods: vanilla_drops
show_map: always
show_loot_map: compass
show_loot_hud: value
shop_shuffle: shuffled
small_keys: wild
big_keys: wild
maps: wild
compasses: wild
boots: pseudoboots
flute: pseudoflute

View File

@@ -532,10 +532,14 @@ bombs:
default: normal
values:
normal:
display: No Bomb Bag Required
display: Normal
tip: The player does not start with any bombs, but can collect them as normal.
bomb_bag_required:
display: Bomb Bag Required
tip: The player cannot collect any bombs until they obtain a bomb bag.
starting:
display: Start With 10 Bombs
tip: The player will start with a full 10 bombs.
book:
display: Book
default: normal
@@ -589,10 +593,13 @@ door_type_mode:
values:
original:
display: Key and Bomb Doors
tip: Only small key and bomb doors will be randomized.
big:
display: Key, Big Key, and Bomb Doors
tip: Big Key doors can also be added or removed.
all:
display: All Door Types
display: Key, Big Key, Shutter, and Bomb Doors
tip: Shutter doors (preventing return in a direction) can be added.
chaos:
display: Chaos
trap_door_mode:
@@ -702,8 +709,8 @@ damage_challenge:
gloom:
display: Gloom
tip: Every enemy will deal one permanent heart container of damage. The only way to regain health is to find heart containers or collect four heart pieces.
show_loot:
display: Show Dungeon Checks
show_loot_map:
display: Show Dungeon Checks on Map
default: presence
values:
never:
@@ -730,10 +737,13 @@ show_loot_hud:
tip: A dot icon will show on the HUD on each underworld supertile with an uncollected item.
value:
display: Value
tip: An icon will show on the HUD on each underworld supertile, indicating the presence or value of the best uncollected item, as determined by the Show Dungeon Checks setting.
tip: An icon will show on the HUD on each underworld supertile, indicating the value of the best uncollected item.
dungeon_value:
display: Value in Dungeons, Presence in Caves
tip: An icon will show on the HUD on each underworld supertile, indicating the presence or value of the best uncollected item, as determined by the Show Dungeon Checks setting. Caves will only show presence, not value.
tip: An icon will show on the HUD on each dungeon supertile, indicating the value of the best uncollected item. Caves will show an indicator for presence, not value.
cave_value:
display: Value in Caves, Presence in Dungeons
tip: An icon will show on the HUD on each non-dungeon underworld supertile, indicating the value of the best uncollected item. Dungeons will show an indicator for presence, not value.
show_map:
display: Show Dungeon Maps
default: map

View File

@@ -15,7 +15,7 @@ entrance_interiors:
Skull Woods Second Section Exit (East): Skull Woods (Middle Right)
Skull Woods Second Section Exit (West): Skull Woods (Middle Left)
Skull Woods Final Section Exit: Skull Woods (Back)
Thieves Town Exit: Thieves Town
Thieves Town Exit: Thieves' Town
Ice Palace Exit: Ice Palace
Misery Mire Exit: Misery Mire
Turtle Rock Exit (Front): Turtle Rock (Front)
@@ -75,6 +75,7 @@ entrance_interiors:
entrance_exteriors:
Ganons Tower: Ganon's Tower
Agahnims Tower: Castle Tower
Thieves Town: Thieves' Town
Links House: Link's House
Spectacle Rock Cave: Spectacle Rock (Right)
Spectacle Rock Cave Peak: Spectacle Rock (Top)

View File

@@ -5,65 +5,76 @@ import GenerateView from "@/views/GenerateView.vue";
import GenerateMulti from "@/views/GenerateMulti.vue";
import GenerateMystery from "@/views/GenerateMystery.vue";
import GenerateApr2025View from "@/views/GenerateApr2025View.vue";
import SettingsHelp from "@/views/SettingsHelp.vue";
import WTTSettings from "@/views/WTTSettings.vue";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/generate',
name: 'generate',
path: "/generate",
name: "generate",
component: GenerateView,
alias: '/',
alias: "/",
props: { generator: "base", prefix: "" },
},
{
path: '/multiworld',
name: 'multiworld',
path: "/multiworld",
name: "multiworld",
component: GenerateMulti,
alias: '/multi',
alias: "/multi",
props: { generator: "base", prefix: "" },
},
{
path: '/generate/apr2025',
path: "/generate/apr2025",
component: GenerateApr2025View,
},
{
path: '/generate/beta',
path: "/generate/beta",
component: GenerateView,
alias: '/generate/beta_test',
alias: "/generate/beta_test",
props: { generator: "beta", prefix: "dungeon-maps-" },
},
{
path: '/generate/pikit',
path: "/generate/pikit",
component: GenerateView,
props: { generator: "pikit", prefix: "pikit-" },
},
{
path: '/multiworld/beta',
path: "/multiworld/beta",
component: GenerateMulti,
alias: '/multibeta',
alias: "/multibeta",
props: { generator: "beta", prefix: "dungeon-maps-" },
},
{
path: '/mystery',
path: "/mystery",
component: GenerateMystery,
props: { generator: "base", prefix: "" },
},
{
path: '/mystery/beta',
path: "/mystery/beta",
component: GenerateMystery,
props: { generator: "beta", prefix: "beta-" },
},
{
path: '/seed/:id',
name: 'seed',
path: "/seed/:id",
name: "seed",
component: SeedView,
},
{
path: '/multi/:id',
name: 'multi',
path: "/multi/:id",
name: "multi",
component: MultiView,
},
{
path: '/settings',
name: "settings",
component: SettingsHelp,
},
{
path: '/10year',
component: WTTSettings,
},
],
});

View File

@@ -0,0 +1,72 @@
<script>
import { defineComponent } from "vue";
import AccordionItem from "@/components/AccordionItem.vue";
import SettingInfoCard from "@/components/SettingInfoCard.vue";
import ItemTierTable from "@/components/ItemTierTable.vue";
export default defineComponent({
components: {
AccordionItem,
SettingInfoCard,
ItemTierTable,
},
mounted() {
document.title = "ALttPRandomizer Seed Settings"
},
});
</script>
<template>
<div class="mw-60">
<div class="card content-div m-3">
<div class="card-header text-center">
Seed Options
</div>
<div id="settings" class="accordion accordion-flush">
<AccordionItem :expanded="true">
<template #header>
<b>Map and HUD Settings</b>
</template>
<SettingInfoCard name="Show Dungeon Maps">
<p>This setting controls how the dungeon map will display rooms within a dungeon:</p>
<ul>
<li><b>Visited Tiles Only:</b> Unvisited tiles will be shown as undetailed blue squares; tiles that have been visited at least once will display as a rough outline of the room(s) with some features marked.</li>
<li><b>Visited + Map:</b> Same as above, but unvisited tiles are also shown as rough outlines within dungeons for which the player has obtained the dungeon map.</li>
<li><b>Always:</b> All tiles are shown as outlines of the contained room(s).</li>
</ul>
Note: Regardless of setting, quadrants of tiles that have been visited will be displayed in a lighter blue color than quadrants that have not been visited.
</SettingInfoCard>
<SettingInfoCard name="Show Dungeon Checks on Map">
<p>This setting controls how icons for uncollected checks on the dungeon map will be displayed:</p>
<ul>
<li><b>Never:</b> No icons will be displayed on the dungeon map for uncollected checks.</li>
<li><b>Uncollected:</b> A dot icon will show on the dungeon map on every tile with at least one uncollected check.</li>
<li><b>Value With Compass:</b> For dungeons in which the player has the compass, an icon will show on the dungeon map in every tile with at least one uncollected check. The displayed icon depends on the highest tier of uncollected item within that tile (see below for details). In dungeons where the player does not have the compass, tiles with uncollected checks will show either a compass icon if there is a compass in that tile, or a dot if none of the remaining checks in that tile are compasses.</li>
<li><b>Value Always:</b> An icon will show on the dungeon map in every tile with at least one uncollected check. The displayed icon depends on the highest tier of uncollected item within that tile (see below for details).</li>
</ul>
Note: Regardless of setting, a skull icon will be displayed on the dungeon map in the room with the boss if the player has the compass for that dungeon.
</SettingInfoCard>
<SettingInfoCard name="Show Underworld Checks on HUD">
<p>This setting controls how icons for uncollected checks on the current underworld tile will be displayed on the HUD:</p>
<ul>
<li><b>Never:</b> No icon will be displayed on the HUD for uncollected checks. If enemy drop shuffle is set to "All Underworld Enemies", a blue square will appear in the HUD when there is at least one enemy whose drop has not yet been obtained.</li>
<li><b>Uncollected:</b> A dot icon will show on the HUD when there is at least one uncollected check in the current tile. Additionally, a speech bubble will show where there is an NPC on the current tile with a turn-in that has not been obtained.</li>
<li><b>Value:</b> An icon will show on the HUD where there is at least one uncollected check in the current tile. The displayed icon depends on the highest tier of uncollected item within that tile (see below for details).</li>
<li><b>Value in Dungeons, Presence in Caves:</b> An icon will show on the HUD where there is at least one uncollected check in the current tile. In non-dungeon underworld areas, the icon will simply be a dot; in dungeons, the displayed icon depends on the highest tier of uncollected item within that tile (see below for details).</li>
<li><b>Value in Caves, Presence in Dungeons:</b> An icon will show on the HUD where there is at least one uncollected check in the current tile. In dungeons, the icon will simply be a dot; in other underworld tiles, the displayed icon depends on the highest tier of uncollected item within that tile (see below for details).</li>
</ul>
Note: For any setting other than "Never", a speech bubble will additionally appear in tiles where there is an NPC on the current tile with a turn-in that has not been obtained. (This applies to Magic Bat, Sick Kid, Sahasrahla, the Potion Shop, and the Blacksmith.)
</SettingInfoCard>
<SettingInfoCard name="Iconography">
<ItemTierTable />
</SettingInfoCard>
</AccordionItem>
</div>
</div>
</div>
</template>

55
src/views/WTTSettings.vue Normal file
View File

@@ -0,0 +1,55 @@
<script>
import { defineComponent } from "vue";
import AccordionItem from "@/components/AccordionItem.vue";
import SettingInfoCard from "@/components/SettingInfoCard.vue";
import ItemTierTable from "@/components/ItemTierTable.vue";
export default defineComponent({
components: {
SettingInfoCard,
ItemTierTable,
},
mounted() {
document.title = "10-Year Walk Through Time Settings"
},
});
</script>
<template>
<div class="mw-60">
<div class="card content-div m-3">
<div class="card-header text-center">
<b>10-Year Anniversary Walk-Through-Time Settings</b>
</div>
<div class="p-3">
<SettingInfoCard name="Pseudoboots">
<p>Link is equipped with boots that will allow him to dash, but not bonk open any entrances or knock things off of high places until he collects the real boots.</p>
</SettingInfoCard>
<SettingInfoCard name="Pseudoflute">
<p>Link is equipped with a basic flute that will allow him to travel via duck to any flute spot on a screen he has visited, with the exception of the flute spot in the desert, which will not be unlocked until the real flute is collected. Upon collecting the real flute, it will be immediately active and all spots will be unlocked regardless of whether Link has visited the screen.</p>
</SettingInfoCard>
<SettingInfoCard name="Book can Flip Crystal Switches">
<p>Using the Book of Mudora while indoors will flip the state of the red and blue pegs, as if Link had hit a crystal switch.</p>
</SettingInfoCard>
<SettingInfoCard name="Free Light Cone in Dark Rooms">
<p>Link does not need the Lamp to be able to see in dark rooms, and will always get a cone of light while in a dark room. This is logically accounted for, which can change some rules you are used to about when dark rooms are in logic...</p>
</SettingInfoCard>
<SettingInfoCard name="Goal: BossHunt">
<p>Link's goal is to defeat at least 10 of the 12 dungeon bosses (the 10 main dungeon prize bosses plus both forms of Agahnim, but not the three mini-bosses in Ganon's Tower) and then defeat Ganon. The item select screen will show an icon indicating what bosses you have defeated in the same table as your list of keys and other dungeon items. Collecting crystals and pendants is not necessarily required, but the two red crystals are still required to obtain the big bomb, and pendants are required for Sahasrahla and the pedestal item as usual. Ganon's Tower will start unlocked, so no crystals are needed for that.</p>
</SettingInfoCard>
<SettingInfoCard name="Ganon's Weakness: Bee">
<p>Ganon has managed to change his weakness to silver into an allergy to beestings; once Ganon is stunned as usual during phase 4, you will need to release a bee to hurt Ganon instead of using silver arrows...</p>
<p>One bee should last long enough to defeat Ganon, but he can also still be defeated with well-timed sword attacks.</p>
<p>Bees can be caught with the bug net from under various bushes throughout Hyrule or retrieved from the statue in the cave near the Ice Rod's vanilla location, or without a bug net, can be purchased from the Red Shield Shop in the dark world.</p>
</SettingInfoCard>
<SettingInfoCard name="Loot Icons">
<p>Finally, inside dungeons, there will be upgraded dungeon maps. On each tile, there will be an icon representing the highest-tier uncollected check on that tile. You can also use L and R to switch between viewing the maps of any dungeons that you have visited. Note that the front of Hyrule Castle and the back/sewer area are displayed on separate maps, but as you long as you have visited either you can view either at any time.</p>
<p>Likewise, in all underworld areas, there will also be an icon on the HUD indicating the highest-tier uncollected check in your current tile.</p>
<p>The follow tables lists the tiers of item checks you may see. Note that since prizes are guaranteed to be on the boss, dungeon prizes (crystals/pendants) will <i>not</i> show up in the iconography.</p>
<ItemTierTable />
</SettingInfoCard>
</div>
</div>
</div>
</template>