Desert Cannonball/Compass fix
Potential PoD stair fix --Going a down stair in Q1 to a 00 x coord is problematic PoD stair coordinates Attempted Swamp layer fix More swamp fixes --Note: Left switch resets
This commit is contained in:
24
Doors.py
24
Doors.py
@@ -147,8 +147,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'Desert East Wing ES', Intr).dir(Direction.East, 0x85, Bot, High).pos(3),
|
||||
create_door(player, 'Desert East Wing Key Door EN', Intr).dir(Direction.East, 0x85, Top, High).small_key().pos(1),
|
||||
create_door(player, 'Desert Compass Key Door WN', Intr).dir(Direction.West, 0x85, Top, High).small_key().pos(1),
|
||||
create_door(player, 'Desert Compass NW', Nrml).dir(Direction.North, 0x85, Left, High).trap(0x4).pos(0),
|
||||
create_door(player, 'Desert Cannonball S', Nrml).dir(Direction.South, 0x75, Left, High).pos(1),
|
||||
create_door(player, 'Desert Compass NW', Nrml).dir(Direction.North, 0x85, Right, High).trap(0x4).pos(0),
|
||||
create_door(player, 'Desert Cannonball S', Nrml).dir(Direction.South, 0x75, Right, High).pos(1),
|
||||
create_door(player, 'Desert Arrow Pot Corner S Edge', Open).dir(Direction.South, 0x75, None, High),
|
||||
create_door(player, 'Desert Arrow Pot Corner W Edge', Open).dir(Direction.West, 0x75, None, High),
|
||||
create_door(player, 'Desert North Hall SE Edge', Open).dir(Direction.South, 0x74, None, High),
|
||||
@@ -270,8 +270,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'PoD Left Cage Down Stairs', Sprl).dir(Direction.Down, 0x4a, 1, HTH).ss(A, 0x12, 0x80, False, True),
|
||||
create_door(player, 'PoD Middle Cage Down Stairs', Sprl).dir(Direction.Down, 0x4a, 0, HTH).ss(S, 0x12, 0x80, False, True),
|
||||
create_door(player, 'PoD Middle Cage N', Nrml).dir(Direction.North, 0x4a, Mid, High).small_key().pos(2),
|
||||
create_door(player, 'PoD Shooter Room Up Stairs', Sprl).dir(Direction.Up, 0x09, 1, HTH).ss(A, 0x31, 0x69, True, True),
|
||||
create_door(player, 'PoD Warp Room Up Stairs', Sprl).dir(Direction.Up, 0x09, 0, HTH).ss(S, 0x30, 0x69, True, True),
|
||||
create_door(player, 'PoD Shooter Room Up Stairs', Sprl).dir(Direction.Up, 0x09, 1, HTH).ss(A, 0x1b, 0x6c, True, True),
|
||||
create_door(player, 'PoD Warp Room Up Stairs', Sprl).dir(Direction.Up, 0x09, 0, HTH).ss(S, 0x1a, 0x6c, True, True),
|
||||
create_door(player, 'PoD Warp Room Warp', Warp),
|
||||
create_door(player, 'PoD Pit Room S', Nrml).dir(Direction.South, 0x3a, Mid, High).small_key().pos(0),
|
||||
create_door(player, 'PoD Pit Room NW', Nrml).dir(Direction.North, 0x3a, Left, High).pos(1),
|
||||
@@ -360,18 +360,18 @@ def create_doors(world, player):
|
||||
create_door(player, 'Swamp Hammer Switch SW', Intr).dir(Direction.South, 0x37, Left, High).small_key().pos(2),
|
||||
create_door(player, 'Swamp Hammer Switch WN', Nrml).dir(Direction.West, 0x37, Top, High).pos(0),
|
||||
create_door(player, 'Swamp Hub ES', Nrml).dir(Direction.East, 0x36, Bot, High).pos(4),
|
||||
create_door(player, 'Swamp Hub S', Nrml).dir(Direction.South, 0x36, Mid, Low).pos(5),
|
||||
create_door(player, 'Swamp Hub S', Nrml).dir(Direction.South, 0x36, Mid, High).pos(5),
|
||||
create_door(player, 'Swamp Hub WS', Nrml).dir(Direction.West, 0x36, Bot, High).pos(3),
|
||||
create_door(player, 'Swamp Hub WN', Nrml).dir(Direction.West, 0x36, Top, High).small_key().pos(2),
|
||||
create_door(player, 'Swamp Hub Hook Path', Lgcl),
|
||||
create_door(player, 'Swamp Hub Dead Ledge EN', Nrml).dir(Direction.East, 0x36, Top, High).pos(0),
|
||||
create_door(player, 'Swamp Hub North Ledge N', Nrml).dir(Direction.North, 0x36, Mid, High).small_key().pos(1),
|
||||
create_door(player, 'Swamp Hub North Ledge Drop Down', Lgcl),
|
||||
create_door(player, 'Swamp Donut Top N', Nrml).dir(Direction.North, 0x46, Mid, Low).pos(0),
|
||||
create_door(player, 'Swamp Donut Top SE', Intr).dir(Direction.South, 0x46, Right, Low).pos(2),
|
||||
create_door(player, 'Swamp Donut Bottom NE', Intr).dir(Direction.North, 0x46, Right, Low).pos(2),
|
||||
create_door(player, 'Swamp Donut Bottom NW', Intr).dir(Direction.North, 0x46, Left, Low).pos(1),
|
||||
create_door(player, 'Swamp Compass Donut SW', Intr).dir(Direction.South, 0x46, Left, Low).pos(1),
|
||||
create_door(player, 'Swamp Donut Top N', Nrml).dir(Direction.North, 0x46, Mid, High).pos(0),
|
||||
create_door(player, 'Swamp Donut Top SE', Intr).dir(Direction.South, 0x46, Right, High).pos(2),
|
||||
create_door(player, 'Swamp Donut Bottom NE', Intr).dir(Direction.North, 0x46, Right, High).pos(2),
|
||||
create_door(player, 'Swamp Donut Bottom NW', Intr).dir(Direction.North, 0x46, Left, High).pos(1),
|
||||
create_door(player, 'Swamp Compass Donut SW', Intr).dir(Direction.South, 0x46, Left, High).pos(1),
|
||||
create_door(player, 'Swamp Compass Donut Push Block', Lgcl),
|
||||
create_door(player, 'Swamp Crystal Switch EN', Nrml).dir(Direction.East, 0x35, Top, High).small_key().pos(0),
|
||||
create_door(player, 'Swamp Crystal Switch SE', Intr).dir(Direction.South, 0x35, Right, High).pos(3),
|
||||
@@ -389,7 +389,7 @@ def create_doors(world, player):
|
||||
create_door(player, 'Swamp Big Key Ledge WN', Nrml).dir(Direction.West, 0x35, Top, High).pos(1),
|
||||
create_door(player, 'Swamp West Shallows ES', Nrml).dir(Direction.East, 0x34, Bot, High).pos(1),
|
||||
create_door(player, 'Swamp West Shallows Push Blocks', Lgcl),
|
||||
create_door(player, 'Swamp West Block Path Up Stairs', Sprl).dir(Direction.Up, 0x34, 0, HTH).ss(Z, 0x1b, 0x6c),
|
||||
create_door(player, 'Swamp West Block Path Up Stairs', Sprl).dir(Direction.Up, 0x34, 0, HTH).ss(Z, 0x1b, 0x6c, False, True),
|
||||
create_door(player, 'Swamp West Ledge Drop Down', Lgcl),
|
||||
create_door(player, 'Swamp West Ledge Hook Path', Lgcl),
|
||||
create_door(player, 'Swamp Barrier Ledge Drop Down', Lgcl),
|
||||
@@ -436,7 +436,7 @@ def create_doors(world, player):
|
||||
create_door(player, 'Swamp I S', Intr).dir(Direction.South, 0x16, Mid, High).pos(0),
|
||||
create_door(player, 'Swamp T SW', Intr).dir(Direction.South, 0x16, Left, High).small_key().pos(1),
|
||||
create_door(player, 'Swamp T NW', Nrml).dir(Direction.North, 0x16, Left, High).pos(3),
|
||||
create_door(player, 'Swamp Boss SW', Nrml).dir(Direction.South, 0x06, Left, High).pos(0),
|
||||
create_door(player, 'Swamp Boss SW', Nrml).dir(Direction.South, 0x06, Left, High).trap(0x4).pos(0),
|
||||
]
|
||||
create_paired_doors(world, player)
|
||||
|
||||
|
||||
@@ -24,8 +24,10 @@ SpiralWarp: {
|
||||
sep #$30
|
||||
lda $00 : sta $a0
|
||||
; shift quadrant if necessary
|
||||
stz $07
|
||||
lda $01 : and #$01 : !sub $a9
|
||||
bne .xQuad
|
||||
inc $07
|
||||
lda $22 : bne .skipXQuad ; this is an edge case
|
||||
dec $23 : bra .skipXQuad ; need to -1 if $22 is 0
|
||||
.xQuad sta $06 : !add $a9 : sta $a9
|
||||
@@ -41,7 +43,7 @@ SpiralWarp: {
|
||||
lda $01 : and #$04 : lsr : sta $048a ;fix layer calc 0->0 2->1
|
||||
lda $01 : and #$08 : lsr #2 : sta $0492 ;fix from layer calc 0->0 2->1
|
||||
; shift lower coordinates
|
||||
lda $02 : sta $22 : bne .adjY : inc $23
|
||||
lda $02 : sta $22 : bne .adjY : lda $23 : !add $07 : sta $23
|
||||
.adjY lda $03 : sta $20 : bne .upDownAdj : inc $21
|
||||
.upDownAdj ldx #$08
|
||||
lda $0462 : and #$04 : beq .upStairs
|
||||
|
||||
Reference in New Issue
Block a user