@@ -377,46 +377,46 @@ class HintAreaNotFound(RuntimeError):
377377
378378
379379class HintArea (Enum ):
380- # internal name prepositions display name short name color internal dungeon name
380+ # internal name prepositions display name short name color internal dungeon name shorter name
381381 # vague clear
382- ROOT = 'in' , 'in' , "Link's pocket" , 'Free' , 'White' , None
383- HYRULE_FIELD = 'in' , 'in' , 'Hyrule Field' , 'Hyrule Field' , 'Light Blue' , None
384- LON_LON_RANCH = 'at' , 'at' , 'Lon Lon Ranch' , 'Lon Lon Ranch' , 'Light Blue' , None
385- MARKET = 'in' , 'in' , 'the Market' , 'Market' , 'Light Blue' , None
386- TEMPLE_OF_TIME = 'inside' , 'inside' , 'the Temple of Time' , 'Temple of Time' , 'Light Blue' , None
387- CASTLE_GROUNDS = 'on' , 'on' , 'the Castle Grounds' , None , 'Light Blue' , None # required for warp songs
388- HYRULE_CASTLE = 'at' , 'at' , 'Hyrule Castle' , 'Hyrule Castle' , 'Light Blue' , None
389- OUTSIDE_GANONS_CASTLE = None , None , "outside Ganon's Castle" , "Outside Ganon's Castle" , 'Light Blue' , None
390- INSIDE_GANONS_CASTLE = 'inside' , None , "inside Ganon's Castle" , "Inside Ganon's Castle" , 'Light Blue' , 'Ganons Castle'
391- GANONDORFS_CHAMBER = 'in' , 'in' , "Ganondorf's Chamber" , "Ganondorf's Chamber" , 'Light Blue' , None
392- KOKIRI_FOREST = 'in' , 'in' , 'Kokiri Forest' , "Kokiri Forest" , 'Green' , None
393- DEKU_TREE = 'inside' , 'inside' , 'the Deku Tree' , "Deku Tree" , 'Green' , 'Deku Tree'
394- LOST_WOODS = 'in' , 'in' , 'the Lost Woods' , "Lost Woods" , 'Green' , None
395- SACRED_FOREST_MEADOW = 'at' , 'at' , 'the Sacred Forest Meadow' , "Sacred Forest Meadow" , 'Green' , None
396- FOREST_TEMPLE = 'in' , 'in' , 'the Forest Temple' , "Forest Temple" , 'Green' , 'Forest Temple'
397- DEATH_MOUNTAIN_TRAIL = 'on' , 'on' , 'the Death Mountain Trail' , "Death Mountain Trail" , 'Red' , None
398- DODONGOS_CAVERN = 'within' , 'in' , "Dodongo's Cavern" , "Dodongo's Cavern" , 'Red' , 'Dodongos Cavern'
399- GORON_CITY = 'in' , 'in' , 'Goron City' , "Goron City" , 'Red' , None
400- DEATH_MOUNTAIN_CRATER = 'in' , 'in' , 'the Death Mountain Crater' , "Death Mountain Crater" , 'Red' , None
401- FIRE_TEMPLE = 'on' , 'in' , 'the Fire Temple' , "Fire Temple" , 'Red' , 'Fire Temple'
402- ZORA_RIVER = 'at' , 'at' , "Zora's River" , "Zora's River" , 'Blue' , None
403- ZORAS_DOMAIN = 'at' , 'at' , "Zora's Domain" , "Zora's Domain" , 'Blue' , None
404- ZORAS_FOUNTAIN = 'at' , 'at' , "Zora's Fountain" , "Zora's Fountain" , 'Blue' , None
405- JABU_JABUS_BELLY = 'in' , 'inside' , "Jabu Jabu's Belly" , "Jabu Jabu's Belly" , 'Blue' , 'Jabu Jabus Belly'
406- ICE_CAVERN = 'inside' , 'in' , 'the Ice Cavern' , "Ice Cavern" , 'Blue' , 'Ice Cavern'
407- LAKE_HYLIA = 'at' , 'at' , 'Lake Hylia' , "Lake Hylia" , 'Blue' , None
408- WATER_TEMPLE = 'under' , 'in' , 'the Water Temple' , "Water Temple" , 'Blue' , 'Water Temple'
409- KAKARIKO_VILLAGE = 'in' , 'in' , 'Kakariko Village' , "Kakariko Village" , 'Pink' , None
410- BOTTOM_OF_THE_WELL = 'within' , 'at' , 'the Bottom of the Well' , "Bottom of the Well" , 'Pink' , 'Bottom of the Well'
411- GRAVEYARD = 'in' , 'in' , 'the Graveyard' , "Graveyard" , 'Pink' , None
412- SHADOW_TEMPLE = 'within' , 'in' , 'the Shadow Temple' , "Shadow Temple" , 'Pink' , 'Shadow Temple'
413- GERUDO_VALLEY = 'at' , 'at' , 'Gerudo Valley' , "Gerudo Valley" , 'Yellow' , None
414- GERUDO_FORTRESS = 'at' , 'at' , "Gerudo's Fortress" , "Gerudo's Fortress" , 'Yellow' , None
415- THIEVES_HIDEOUT = 'in' , 'in' , "the Thieves' Hideout" , "Thieves' Hideout" , 'Yellow' , None
416- GERUDO_TRAINING_GROUND = 'within' , 'on' , 'the Gerudo Training Ground' , "Gerudo Training Ground" , 'Yellow' , 'Gerudo Training Ground'
417- HAUNTED_WASTELAND = 'in' , 'in' , 'the Haunted Wasteland' , "Haunted Wasteland" , 'Yellow' , None
418- DESERT_COLOSSUS = 'at' , 'at' , 'the Desert Colossus' , "Desert Colossus" , 'Yellow' , None
419- SPIRIT_TEMPLE = 'inside' , 'in' , 'the Spirit Temple' , "Spirit Temple" , 'Yellow' , 'Spirit Temple'
382+ ROOT = 'in' , 'in' , "Link's pocket" , 'Free' , 'White' , None , None
383+ HYRULE_FIELD = 'in' , 'in' , 'Hyrule Field' , 'Hyrule Field' , 'Light Blue' , None , None
384+ LON_LON_RANCH = 'at' , 'at' , 'Lon Lon Ranch' , 'Lon Lon Ranch' , 'Light Blue' , None , None
385+ MARKET = 'in' , 'in' , 'the Market' , 'Market' , 'Light Blue' , None , None
386+ TEMPLE_OF_TIME = 'inside' , 'inside' , 'the Temple of Time' , 'Temple of Time' , 'Light Blue' , None , None
387+ CASTLE_GROUNDS = 'on' , 'on' , 'the Castle Grounds' , None , 'Light Blue' , None , None # required for warp songs,
388+ HYRULE_CASTLE = 'at' , 'at' , 'Hyrule Castle' , 'Hyrule Castle' , 'Light Blue' , None , None
389+ OUTSIDE_GANONS_CASTLE = None , None , "outside Ganon's Castle" , "Outside Ganon's Castle" , 'Light Blue' , None , None
390+ INSIDE_GANONS_CASTLE = 'inside' , None , "inside Ganon's Castle" , "Inside Ganon's Castle" , 'Light Blue' , 'Ganons Castle' , 'Ganon'
391+ GANONDORFS_CHAMBER = 'in' , 'in' , "Ganondorf's Chamber" , "Ganondorf's Chamber" , 'Light Blue' , None , None
392+ KOKIRI_FOREST = 'in' , 'in' , 'Kokiri Forest' , "Kokiri Forest" , 'Green' , None , None
393+ DEKU_TREE = 'inside' , 'inside' , 'the Deku Tree' , "Deku Tree" , 'Green' , 'Deku Tree' , 'Deku'
394+ LOST_WOODS = 'in' , 'in' , 'the Lost Woods' , "Lost Woods" , 'Green' , None , None
395+ SACRED_FOREST_MEADOW = 'at' , 'at' , 'the Sacred Forest Meadow' , "Sacred Forest Meadow" , 'Green' , None , None
396+ FOREST_TEMPLE = 'in' , 'in' , 'the Forest Temple' , "Forest Temple" , 'Green' , 'Forest Temple' , 'Forest'
397+ DEATH_MOUNTAIN_TRAIL = 'on' , 'on' , 'the Death Mountain Trail' , "Death Mountain Trail" , 'Red' , None , None
398+ DODONGOS_CAVERN = 'within' , 'in' , "Dodongo's Cavern" , "Dodongo's Cavern" , 'Red' , 'Dodongos Cavern' , 'DC'
399+ GORON_CITY = 'in' , 'in' , 'Goron City' , "Goron City" , 'Red' , None , None
400+ DEATH_MOUNTAIN_CRATER = 'in' , 'in' , 'the Death Mountain Crater' , "Death Mountain Crater" , 'Red' , None , None
401+ FIRE_TEMPLE = 'on' , 'in' , 'the Fire Temple' , "Fire Temple" , 'Red' , 'Fire Temple' , 'Fire'
402+ ZORA_RIVER = 'at' , 'at' , "Zora's River" , "Zora's River" , 'Blue' , None , None
403+ ZORAS_DOMAIN = 'at' , 'at' , "Zora's Domain" , "Zora's Domain" , 'Blue' , None , None
404+ ZORAS_FOUNTAIN = 'at' , 'at' , "Zora's Fountain" , "Zora's Fountain" , 'Blue' , None , None
405+ JABU_JABUS_BELLY = 'in' , 'inside' , "Jabu Jabu's Belly" , "Jabu Jabu's Belly" , 'Blue' , 'Jabu Jabus Belly' , 'Jabu'
406+ ICE_CAVERN = 'inside' , 'in' , 'the Ice Cavern' , "Ice Cavern" , 'Blue' , 'Ice Cavern' , 'Ice'
407+ LAKE_HYLIA = 'at' , 'at' , 'Lake Hylia' , "Lake Hylia" , 'Blue' , None , None
408+ WATER_TEMPLE = 'under' , 'in' , 'the Water Temple' , "Water Temple" , 'Blue' , 'Water Temple' , 'Water'
409+ KAKARIKO_VILLAGE = 'in' , 'in' , 'Kakariko Village' , "Kakariko Village" , 'Pink' , None , None
410+ BOTTOM_OF_THE_WELL = 'within' , 'at' , 'the Bottom of the Well' , "Bottom of the Well" , 'Pink' , 'Bottom of the Well' , 'BotW'
411+ GRAVEYARD = 'in' , 'in' , 'the Graveyard' , "Graveyard" , 'Pink' , None , None
412+ SHADOW_TEMPLE = 'within' , 'in' , 'the Shadow Temple' , "Shadow Temple" , 'Pink' , 'Shadow Temple' , 'Shadow'
413+ GERUDO_VALLEY = 'at' , 'at' , 'Gerudo Valley' , "Gerudo Valley" , 'Yellow' , None , None
414+ GERUDO_FORTRESS = 'at' , 'at' , "Gerudo's Fortress" , "Gerudo's Fortress" , 'Yellow' , None , None
415+ THIEVES_HIDEOUT = 'in' , 'in' , "the Thieves' Hideout" , "Thieves' Hideout" , 'Yellow' , None , None
416+ GERUDO_TRAINING_GROUND = 'within' , 'on' , 'the Gerudo Training Ground' , "Gerudo Training Ground" , 'Yellow' , 'Gerudo Training Ground' , 'GTG'
417+ HAUNTED_WASTELAND = 'in' , 'in' , 'the Haunted Wasteland' , "Haunted Wasteland" , 'Yellow' , None , None
418+ DESERT_COLOSSUS = 'at' , 'at' , 'the Desert Colossus' , "Desert Colossus" , 'Yellow' , None , None
419+ SPIRIT_TEMPLE = 'inside' , 'in' , 'the Spirit Temple' , "Spirit Temple" , 'Yellow' , 'Spirit Temple' , 'Spirit'
420420
421421 # Performs a breadth first search to find the closest hint area from a given spot (region, location, or entrance).
422422 # May fail to find a hint if the given spot is only accessible from the root and not from any other region with a hint area
@@ -497,6 +497,10 @@ def color(self) -> str:
497497 def dungeon_name (self ) -> Optional [str ]:
498498 return self .value [5 ]
499499
500+ @property
501+ def shorter_name (self ) -> Optional [str ]:
502+ return self .value [6 ]
503+
500504 @property
501505 def is_dungeon (self ) -> bool :
502506 return self .dungeon_name is not None
0 commit comments