Restoring some native dungeon item behavior for glitched modes
Also fixes issues with HC BK (item collection in other dungeons, acting like a small key on BnC)
This commit is contained in:
4
Rom.py
4
Rom.py
@@ -43,7 +43,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '1fde4fa24bc9d3efe450c3bc30e4cf2c'
|
RANDOMIZERBASEHASH = 'e2e7241bfb0085ab7ba12167565e814a'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -439,6 +439,8 @@ def patch_rom(world, rom, player, team, is_mystery=False):
|
|||||||
location.pot.item = valid_pot_items[location.item.name]
|
location.pot.item = valid_pot_items[location.item.name]
|
||||||
else:
|
else:
|
||||||
code = itemid
|
code = itemid
|
||||||
|
if world.pottery[player] == 'none' or location.locked:
|
||||||
|
code = handle_native_dungeon(location, itemid)
|
||||||
standing_item_flag = 0x80
|
standing_item_flag = 0x80
|
||||||
if location.item.player != player:
|
if location.item.player != player:
|
||||||
standing_item_flag |= 0x40
|
standing_item_flag |= 0x40
|
||||||
|
|||||||
Binary file not shown.
@@ -558,6 +558,10 @@ class Sprite(object):
|
|||||||
if self.location is not None:
|
if self.location is not None:
|
||||||
item_id = self.location.item.code if self.location.item is not None else 0x5A
|
item_id = self.location.item.code if self.location.item is not None else 0x5A
|
||||||
code = 0xF9 if self.location.item.player != self.location.player else 0xF8
|
code = 0xF9 if self.location.item.player != self.location.player else 0xF8
|
||||||
|
if code == 0xF8:
|
||||||
|
world = self.location.parent_region.world
|
||||||
|
if world.dropshuffle[self.location.player] == 'none' or self.location.locked:
|
||||||
|
item_id = handle_native_dungeon(self.location, item_id)
|
||||||
data.append(item_id)
|
data.append(item_id)
|
||||||
data.append(0 if code == 0xF8 else self.location.item.player)
|
data.append(0 if code == 0xF8 else self.location.item.player)
|
||||||
data.append(code)
|
data.append(code)
|
||||||
|
|||||||
Reference in New Issue
Block a user