Count take-any caves into final total.
This commit is contained in:
		
							parent
							
								
									1d93952ef1
								
							
						
					
					
						commit
						90c3fe9df3
					
				
							
								
								
									
										27
									
								
								Main.py
								
								
								
								
							
							
						
						
									
										27
									
								
								Main.py
								
								
								
								
							| 
						 | 
				
			
			@ -10,7 +10,7 @@ import zlib
 | 
			
		|||
import concurrent.futures
 | 
			
		||||
 | 
			
		||||
from BaseClasses import World, CollectionState, Item, Region, Location
 | 
			
		||||
from Shops import ShopSlotFill, create_shops, SHOP_ID_START, FillDisabledShopSlots
 | 
			
		||||
from Shops import ShopSlotFill, create_shops, SHOP_ID_START, FillDisabledShopSlots, total_shop_slots
 | 
			
		||||
from Items import ItemFactory, item_table, item_name_groups
 | 
			
		||||
from Regions import create_regions, mark_light_world_regions, lookup_vanilla_location_to_entrance
 | 
			
		||||
from InvertedRegions import create_inverted_regions, mark_dark_world_regions
 | 
			
		||||
| 
						 | 
				
			
			@ -380,19 +380,22 @@ def main(args, seed=None):
 | 
			
		|||
            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
 | 
			
		||||
        takeanyregions = ["Old Man Sword Cave", "Take-Any #1", "Take-Any #2", "Take-Any #3", "Take-Any #4"]
 | 
			
		||||
        for index, take_any in enumerate(takeanyregions):
 | 
			
		||||
            for region in [world.get_region(take_any, player) for player in range(1, world.players + 1) if world.retro[player]]:
 | 
			
		||||
                item = ItemFactory(region.shop.inventory[(0 if take_any == "Old Man Sword Cave" else 1)]['item'], region.player)
 | 
			
		||||
                player = region.player
 | 
			
		||||
                location_id = SHOP_ID_START + total_shop_slots + index
 | 
			
		||||
 | 
			
		||||
            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
 | 
			
		||||
                main_entrance = get_entrance_to_region(region)
 | 
			
		||||
                if main_entrance.parent_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)))
 | 
			
		||||
                er_hint_data[player][location_id] = main_entrance.name
 | 
			
		||||
                oldmancaves.append(((location_id, player), (item.code, player)))
 | 
			
		||||
 | 
			
		||||
        precollected_items = [[] for player in range(world.players)]
 | 
			
		||||
        for item in world.precollected_items:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										6
									
								
								Rom.py
								
								
								
								
							
							
						
						
									
										6
									
								
								Rom.py
								
								
								
								
							| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
from __future__ import annotations
 | 
			
		||||
 | 
			
		||||
JAP10HASH = '03a63945398191337e896e5771f77173'
 | 
			
		||||
RANDOMIZERBASEHASH = '5d109c62f73966de1fe65751fc876778'
 | 
			
		||||
RANDOMIZERBASEHASH = '7d9778b7c0a90d71fa5f32a3b56cdd87'
 | 
			
		||||
 | 
			
		||||
import io
 | 
			
		||||
import json
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ import concurrent.futures
 | 
			
		|||
from typing import Optional
 | 
			
		||||
 | 
			
		||||
from BaseClasses import CollectionState, Region, Location
 | 
			
		||||
from Shops import ShopType
 | 
			
		||||
from Shops import ShopType, total_shop_slots
 | 
			
		||||
from Dungeons import dungeon_music_addresses
 | 
			
		||||
from Regions import location_table, old_location_address_to_new_location_address
 | 
			
		||||
from Text import MultiByteTextMapper, CompressedTextMapper, text_addresses, Credits, TextTable
 | 
			
		||||
| 
						 | 
				
			
			@ -1598,7 +1598,7 @@ def write_custom_shops(rom, world, player):
 | 
			
		|||
            slot = 0 if shop.type == ShopType.TakeAny else index
 | 
			
		||||
            if item is None:
 | 
			
		||||
                break
 | 
			
		||||
            if world.shop_shuffle_slots[player]:
 | 
			
		||||
            if world.shop_shuffle_slots[player] or shop.type == ShopType.TakeAny:
 | 
			
		||||
                count_shop = (shop.region.name != 'Potion Shop' or 'w' in world.shop_shuffle[player]) and \
 | 
			
		||||
                             shop.region.name != 'Capacity Upgrade'
 | 
			
		||||
                rom.write_byte(0x186560 + shop.sram_offset + slot, 1 if count_shop else 0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue