diff --git a/Rules.py b/Rules.py index 276b4c67..62ee22b2 100644 --- a/Rules.py +++ b/Rules.py @@ -3,14 +3,7 @@ import logging def set_rules(world): global_rules(world) - - if world.logic == 'noglitches': - no_glitches_rules(world) - elif world.logic == 'minorglitches': - logging.getLogger('').info('Minor Glitches may be buggy still. No guarantee for proper logic checks.') - else: - raise NotImplementedError('Not implemented yet') - + if world.mode == 'open': open_rules(world) elif world.mode == 'standard': @@ -20,6 +13,15 @@ def set_rules(world): else: raise NotImplementedError('Not implemented yet') + if world.logic == 'noglitches': + no_glitches_rules(world) + elif world.logic == 'minorglitches': + logging.getLogger('').info('Minor Glitches may be buggy still. No guarantee for proper logic checks.') + else: + raise NotImplementedError('Not implemented yet') + + + if world.goal == 'dungeons': # require all dungeons to beat ganon add_rule(world.get_location('Ganon'), lambda state: state.can_reach('Altar', 'Location') and state.has('Beat Agahnim 1') and state.has('Beat Agahnim 2'))