Disarm EG glitch on mirror in most modes
Added a check flag for the disarm on most transitions so if can be armed when wanted
This commit is contained in:
@@ -2044,7 +2044,7 @@ class DROptions(Flag):
|
|||||||
Town_Portal = 0x02 # If on, Players will start with mirror scroll
|
Town_Portal = 0x02 # If on, Players will start with mirror scroll
|
||||||
Map_Info = 0x04
|
Map_Info = 0x04
|
||||||
Debug = 0x08
|
Debug = 0x08
|
||||||
# Rails = 0x10 # Unused bit now
|
Fix_EG = 0x10 # used to be Rails = 0x10 # Unused bit now
|
||||||
OriginalPalettes = 0x20
|
OriginalPalettes = 0x20
|
||||||
# Open_PoD_Wall = 0x40 # No longer pre-opening pod wall - unused
|
# Open_PoD_Wall = 0x40 # No longer pre-opening pod wall - unused
|
||||||
# Open_Desert_Wall = 0x80 # No longer pre-opening desert wall - unused
|
# Open_Desert_Wall = 0x80 # No longer pre-opening desert wall - unused
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ CLI: ```--bombbag```
|
|||||||
|
|
||||||
* 0.5.1.3
|
* 0.5.1.3
|
||||||
* Certain lobbies forbidden in standard when rupee bow is enabled
|
* Certain lobbies forbidden in standard when rupee bow is enabled
|
||||||
|
* PoD EG disarmed when mirroring (except in nologic)
|
||||||
* Fixed issue with key logic
|
* Fixed issue with key logic
|
||||||
* 0.5.1.2
|
* 0.5.1.2
|
||||||
* Allowed Blind's Cell to be shuffled anywhere if Blind is not the boss of Thieves Town
|
* Allowed Blind's Cell to be shuffled anywhere if Blind is not the boss of Thieves Town
|
||||||
|
|||||||
4
Rom.py
4
Rom.py
@@ -32,7 +32,7 @@ from source.classes.SFX import randomize_sfx
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '11f4f494e999a919aafd7d2624e67679'
|
RANDOMIZERBASEHASH = '1b937c39f026f9a687391488b7386542'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -688,6 +688,8 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
|||||||
dr_flags |= DROptions.OriginalPalettes
|
dr_flags |= DROptions.OriginalPalettes
|
||||||
if world.experimental[player]:
|
if world.experimental[player]:
|
||||||
dr_flags |= DROptions.DarkWorld_Spawns
|
dr_flags |= DROptions.DarkWorld_Spawns
|
||||||
|
if world.logic[player] != 'nologic':
|
||||||
|
dr_flags |= DROptions.Fix_EG
|
||||||
|
|
||||||
|
|
||||||
# fix hc big key problems (map and compass too)
|
# fix hc big key problems (map and compass too)
|
||||||
|
|||||||
@@ -125,6 +125,11 @@ org $07a955 ; <- Bank07.asm : around 6564 (JP is a bit different) (STZ $05FC : S
|
|||||||
jsl BlockEraseFix
|
jsl BlockEraseFix
|
||||||
nop #2
|
nop #2
|
||||||
|
|
||||||
|
org $02A0A8
|
||||||
|
Mirror_SaveRoomData:
|
||||||
|
org $07A95B ; < bank_07.asm ; #_07A95B: JSL Mirror_SaveRoomData
|
||||||
|
jsl EGFixOnMirror
|
||||||
|
|
||||||
org $02b82a
|
org $02b82a
|
||||||
jsl FixShopCode
|
jsl FixShopCode
|
||||||
|
|
||||||
|
|||||||
@@ -73,8 +73,9 @@ TrapDoorFixer:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
Cleanup:
|
Cleanup:
|
||||||
stz $047a
|
lda.l DRFlags : and #$10 : beq +
|
||||||
inc $11
|
stz $047a
|
||||||
|
+ inc $11
|
||||||
lda $ef
|
lda $ef
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,12 @@ MirrorCheckOverride:
|
|||||||
rtl
|
rtl
|
||||||
+ lda.l DRScroll : rtl
|
+ lda.l DRScroll : rtl
|
||||||
|
|
||||||
|
EGFixOnMirror:
|
||||||
|
lda.l DRFlags : and #$10 : beq +
|
||||||
|
stz $047a
|
||||||
|
+ jsl Mirror_SaveRoomData
|
||||||
|
rtl
|
||||||
|
|
||||||
BlockEraseFix:
|
BlockEraseFix:
|
||||||
lda $7ef353 : and #$02 : beq +
|
lda $7ef353 : and #$02 : beq +
|
||||||
stz $05fc : stz $05fd
|
stz $05fc : stz $05fd
|
||||||
|
|||||||
Reference in New Issue
Block a user