mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Ocarina of Time 7.0 (#1277)
## What is this fixing or adding? - Adds the majority of OoTR 7.0 features: - Pot shuffle, Freestanding item shuffle, Crate shuffle, Beehive shuffle - Key rings mode - Dungeon shortcuts to speed up dungeons - "Regional" shuffle for dungeon items - New options for shop pricing in shopsanity - Expanded Ganon's Boss Key shuffle options - Pre-planted beans - Improved Chest Appearance Matches Contents mode - Blue Fire Arrows - Bonk self-damage - Finer control over MQ dungeons and spawn position randomization - Several bugfixes as a result of the update: - Items recognized by the server and valid starting items are now in a 1-to-1 correspondence. In particular, starting with keys is now supported. - Entrance randomization success rate improved. Hopefully it is now at 100%. Co-authored-by: Zach Parks <zach@alliware.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from enum import unique, Enum
|
||||
|
||||
from BaseClasses import Region
|
||||
from .Hints import HintArea
|
||||
|
||||
|
||||
# copied from OoT-Randomizer/Region.py
|
||||
@@ -31,8 +32,10 @@ class TimeOfDay(object):
|
||||
class OOTRegion(Region):
|
||||
game: str = "Ocarina of Time"
|
||||
|
||||
def __init__(self, name: str, type, hint, player: int):
|
||||
def __init__(self, name: str, type, hint, player: int):
|
||||
super(OOTRegion, self).__init__(name, type, hint, player)
|
||||
self._oot_hint = None
|
||||
self.alt_hint = None
|
||||
self.price = None
|
||||
self.time_passes = False
|
||||
self.provides_time = TimeOfDay.NONE
|
||||
@@ -40,6 +43,7 @@ class OOTRegion(Region):
|
||||
self.dungeon = None
|
||||
self.pretty_name = None
|
||||
self.font_color = None
|
||||
self.is_boss_room = False
|
||||
|
||||
def get_scene(self):
|
||||
if self.scene:
|
||||
@@ -61,3 +65,15 @@ class OOTRegion(Region):
|
||||
else: # we don't care about age
|
||||
return self in state.child_reachable_regions[self.player] or self in state.adult_reachable_regions[self.player]
|
||||
|
||||
def set_hint_data(self, hint):
|
||||
if self.dungeon:
|
||||
self._oot_hint = HintArea.for_dungeon(self.dungeon)
|
||||
else:
|
||||
self._oot_hint = HintArea[hint]
|
||||
self.hint_text = str(self._oot_hint)
|
||||
|
||||
# This is too generic of a name to risk not breaking in the future.
|
||||
# This lets us possibly switch it out later if AP starts using it.
|
||||
@property
|
||||
def hint(self):
|
||||
return self._oot_hint
|
||||
|
||||
Reference in New Issue
Block a user