More of Retro Mode
Implement correct Retro Mode item pools. Set up most of the key logic to handle retro mode (still needs shop access) Set ROM flags appropriately. TODO: Support Retro Mode with custom item pools, deal with shops in general, deal with Bow paired with arrow requirements, correct Expert item pool for silvers, test older fill algorithms with retro mode, deal with the new Sahas/Bomb Shop reveal map info ROM flags.
This commit is contained in:
@@ -44,7 +44,7 @@ class World(object):
|
||||
self.aga_randomness = True
|
||||
self.lock_aga_door_in_escape = False
|
||||
self.fix_trock_doors = self.shuffle != 'vanilla'
|
||||
self.save_and_quite_from_boss = False
|
||||
self.save_and_quit_from_boss = False
|
||||
self.check_beatable_only = check_beatable_only
|
||||
self.fix_skullwoods_exit = self.shuffle not in ['vanilla', 'simple', 'restricted', 'dungeonssimple']
|
||||
self.fix_palaceofdarkness_exit = self.shuffle not in ['vanilla', 'simple', 'restricted', 'dungeonssimple']
|
||||
@@ -377,6 +377,13 @@ class CollectionState(object):
|
||||
return item in self.prog_items
|
||||
return self.item_count(item) >= count
|
||||
|
||||
def has_key(self, item, count=1):
|
||||
if self.world.retro:
|
||||
return True #FIXME: This needs to check for shop access to a small key shop
|
||||
if count == 1:
|
||||
return item in self.prog_items
|
||||
return self.item_count(item) >= count
|
||||
|
||||
def item_count(self, item):
|
||||
return len([pritem for pritem in self.prog_items if pritem == item])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user