Add shops / old man cave to multidata
This commit is contained in:
		
							parent
							
								
									f046ca806c
								
							
						
					
					
						commit
						94b56d10f5
					
				
							
								
								
									
										20
									
								
								Main.py
								
								
								
								
							
							
						
						
									
										20
									
								
								Main.py
								
								
								
								
							| 
						 | 
				
			
			@ -402,14 +402,14 @@ def main(args, seed=None):
 | 
			
		|||
                return get_entrance_to_region(entrance.parent_region)
 | 
			
		||||
 | 
			
		||||
        # collect ER hint info
 | 
			
		||||
        er_hint_data = {player: {} for player in range(1, world.players + 1) if world.shuffle[player] != "vanilla"}
 | 
			
		||||
        er_hint_data = {player: {} for player in range(1, world.players + 1) if world.shuffle[player] != "vanilla" or world.retro[player]}
 | 
			
		||||
        from Regions import RegionType
 | 
			
		||||
        for region in world.regions:
 | 
			
		||||
            if region.player in er_hint_data and region.locations:
 | 
			
		||||
                main_entrance = get_entrance_to_region(region)
 | 
			
		||||
                for location in region.locations:
 | 
			
		||||
                    if type(location.address) == int:  # skips events and crystals
 | 
			
		||||
                        if location.address >= SHOP_ID_START:  continue
 | 
			
		||||
                        if location.address >= SHOP_ID_START + 33:  continue
 | 
			
		||||
                        if lookup_vanilla_location_to_entrance[location.address] != main_entrance.name:
 | 
			
		||||
                            er_hint_data[region.player][location.address] = main_entrance.name
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -436,6 +436,20 @@ def main(args, seed=None):
 | 
			
		|||
                checks_in_area[location.player]["Dark World"].append(location.address)
 | 
			
		||||
            checks_in_area[location.player]["Total"] += 1
 | 
			
		||||
 | 
			
		||||
        oldmancaves = []
 | 
			
		||||
        for region in [world.get_region("Old Man Sword Cave", player) for player in range(1, world.players + 1) if world.retro[player]]:
 | 
			
		||||
            item = ItemFactory(region.shop.inventory[0]['item'], region.player)
 | 
			
		||||
            player = region.player
 | 
			
		||||
            location_id = SHOP_ID_START + 33
 | 
			
		||||
 | 
			
		||||
            if region.type == RegionType.LightWorld:
 | 
			
		||||
                checks_in_area[player]["Light World"].append(location_id)
 | 
			
		||||
            else:
 | 
			
		||||
                checks_in_area[player]["Dark World"].append(location_id)
 | 
			
		||||
            checks_in_area[player]["Total"] += 1
 | 
			
		||||
 | 
			
		||||
            er_hint_data[player][location_id] = get_entrance_to_region(region, []).name
 | 
			
		||||
            oldmancaves.append(((location_id, player), (item.code, player)))
 | 
			
		||||
 | 
			
		||||
        precollected_items = [[] for player in range(world.players)]
 | 
			
		||||
        for item in world.precollected_items:
 | 
			
		||||
| 
						 | 
				
			
			@ -467,7 +481,7 @@ def main(args, seed=None):
 | 
			
		|||
                                                  "locations": [((location.address, location.player),
 | 
			
		||||
                                                                 (location.item.code, location.item.player))
 | 
			
		||||
                                                                for location in world.get_filled_locations() if
 | 
			
		||||
                                                                type(location.address) is int],
 | 
			
		||||
                                                                type(location.address) is int] + oldmancaves,
 | 
			
		||||
                                                  "checks_in_area": checks_in_area,
 | 
			
		||||
                                                  "server_options": get_options()["server_options"],
 | 
			
		||||
                                                  "er_hint_data": er_hint_data,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										13
									
								
								Regions.py
								
								
								
								
							
							
						
						
									
										13
									
								
								Regions.py
								
								
								
								
							| 
						 | 
				
			
			@ -900,7 +900,18 @@ lookup_vanilla_location_to_entrance = {1572883: 'Kings Grave Inner Rocks', 19125
 | 
			
		|||
                                       0x140064: 'Misery Mire',
 | 
			
		||||
                                       0x140058: 'Turtle Rock', 0x140007: 'Dark Death Mountain Ledge (West)',
 | 
			
		||||
                                       0x140040: 'Ganons Tower', 0x140043: 'Ganons Tower',
 | 
			
		||||
                                       0x14003a: 'Ganons Tower', 0x14001f: 'Ganons Tower'}
 | 
			
		||||
                                       0x14003a: 'Ganons Tower', 0x14001f: 'Ganons Tower',
 | 
			
		||||
                                       0x400000: 'Cave Shop (Dark Death Mountain)', 0x400001: 'Cave Shop (Dark Death Mountain)', 0x400002: 'Cave Shop (Dark Death Mountain)',
 | 
			
		||||
                                       0x400003: 'Red Shield Shop', 0x400004: 'Red Shield Shop', 0x400005: 'Red Shield Shop',
 | 
			
		||||
                                       0x400006: 'Dark Lake Hylia Shop', 0x400007: 'Dark Lake Hylia Shop', 0x400008: 'Dark Lake Hylia Shop',
 | 
			
		||||
                                       0x400009: 'Dark World Lumberjack Shop', 0x40000a: 'Dark World Lumberjack Shop', 0x40000b: 'Dark World Lumberjack Shop',
 | 
			
		||||
                                       0x40000c: 'Village of Outcasts Shop', 0x40000d: 'Village of Outcasts Shop', 0x40000e: 'Village of Outcasts Shop',
 | 
			
		||||
                                       0x40000f: 'Dark World Potion Shop', 0x400010: 'Dark World Potion Shop', 0x400011: 'Dark World Potion Shop',
 | 
			
		||||
                                       0x400012: 'Light World Death Mountain Shop', 0x400013: 'Light World Death Mountain Shop', 0x400014: 'Light World Death Mountain Shop',
 | 
			
		||||
                                       0x400015: 'Kakariko Shop', 0x400016: 'Kakariko Shop', 0x400017: 'Kakariko Shop',
 | 
			
		||||
                                       0x400018: 'Cave Shop (Lake Hylia)', 0x400019: 'Cave Shop (Lake Hylia)', 0x40001a: 'Cave Shop (Lake Hylia)',
 | 
			
		||||
                                       0x40001b: 'Potion Shop', 0x40001c: 'Potion Shop', 0x40001d: 'Potion Shop',
 | 
			
		||||
                                       0x40001e: 'Capacity Upgrade', 0x40001f: 'Capacity Upgrade', 0x400020: 'Capacity Upgrade'}
 | 
			
		||||
 | 
			
		||||
lookup_prizes = {location for location in location_table if location.endswith(" - Prize")}
 | 
			
		||||
lookup_boss_drops = {location for location in location_table if location.endswith(" - Boss")}
 | 
			
		||||
		Loading…
	
		Reference in New Issue