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