mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
allow remote_items to be set via AutoWorld
This commit is contained in:
@@ -58,6 +58,12 @@ class World(metaclass=AutoWorldRegister):
|
||||
|
||||
hint_blacklist: Set[str] = frozenset() # any names that should not be hintable
|
||||
|
||||
# if a world is set to remote_items, then it just needs to send location checks to the server and the server
|
||||
# sends back the items
|
||||
# if a world is set to remote_items = False, then the server never sends an item where receiver == finder,
|
||||
# the client finds its own items in its own world.
|
||||
remote_items: bool = True
|
||||
|
||||
def __init__(self, world: MultiWorld, player: int):
|
||||
self.world = world
|
||||
self.player = player
|
||||
|
||||
@@ -790,7 +790,7 @@ def patch_rom(world, rom, player, team, enemized):
|
||||
itemid = 0x33
|
||||
elif location.item.compass:
|
||||
itemid = 0x25
|
||||
if world.remote_items[player]:
|
||||
if world.worlds[player].remote_items: # remote items does not currently work
|
||||
itemid = list(location_table.keys()).index(location.name) + 1
|
||||
assert itemid < 0x100
|
||||
rom.write_byte(location.player_address, 0xFF)
|
||||
@@ -1647,7 +1647,8 @@ def patch_rom(world, rom, player, team, enemized):
|
||||
|
||||
write_strings(rom, world, player, team)
|
||||
|
||||
rom.write_byte(0x18637C, 1 if world.remote_items[player] else 0)
|
||||
# remote items flag, does not currently work
|
||||
rom.write_byte(0x18637C, int(world.worlds[player].remote_items))
|
||||
|
||||
# set rom name
|
||||
# 21 bytes
|
||||
|
||||
@@ -18,6 +18,8 @@ class ALTTPWorld(World):
|
||||
item_name_to_id = {name: data.item_code for name, data in item_table.items() if type(data.item_code) == int}
|
||||
location_name_to_id = lookup_name_to_id
|
||||
|
||||
remote_items: bool = False
|
||||
|
||||
def collect(self, state: CollectionState, item: Item) -> bool:
|
||||
if item.name.startswith('Progressive '):
|
||||
if 'Sword' in item.name:
|
||||
|
||||
Reference in New Issue
Block a user