forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
183 lines
5.1 KiB
YAML
183 lines
5.1 KiB
YAML
# Format is group,room,treasure_id,treasure_subid
|
|
0a//staticItemsReplacementsTable: |
|
|
# ------- Freestanding items -------
|
|
dwbe $00d8, locations.horonHeartPiece
|
|
dwbe $00af, locations.woodsOfWinterHeartPiece
|
|
dwbe $002d, locations.mtCuccoHeartPiece
|
|
dwbe $05b2, locations.windmillHeartPiece
|
|
dwbe $00d1, locations.graveyardHeartPiece
|
|
dwbe $00b1, locations.spoolSwampHeartPiece
|
|
dwbe $05c7, locations.templeRemainsHeartPiece
|
|
dwbe $0387, locations.mayorsHouseSecretRoom
|
|
dwbe $03a1, locations.subrosianHouse
|
|
dwbe $07e3, locations.subrosian2dCave
|
|
dwbe $0601, locations.d0HiddenBasement
|
|
dwbe $04e9, locations.makuTree3Essences
|
|
dwbe $04ea, locations.makuTree5Essences
|
|
dwbe $04ee, locations.makuTree7Essences
|
|
# ------- Digging spots -------
|
|
dwbe $0140, locations.subrosianWildsDiggingSpot
|
|
dwbe $0082, locations.spoolSwampDiggingSpot
|
|
dwbe $0106, locations.subrosiaBathOreDiggingSpot
|
|
dwbe $0157, locations.subrosiaMarketPortalOreDiggingSpot
|
|
dwbe $0147, locations.subrosiaWorkerOreDiggingSpot
|
|
dwbe $013a, locations.subrosiaTempleOreDiggingSpot
|
|
dwbe $0107, locations.subrosiaNorthernVolcanoesOreDiggingSpot
|
|
dwbe $0120, locations.subrosiaD8PortalOreDiggingSpot
|
|
dwbe $0142, locations.subrosiaWesternVolcanoesOreDiggingSpot
|
|
# ------- Drops / spawned items -------
|
|
dwbe $041b, locations.d1StalfosDrop
|
|
dwbe $0434, locations.d2RopeDrop
|
|
dwbe $047b, locations.d4PotPuzzle
|
|
dwbe $0475, locations.d4Pool
|
|
dwbe $04ab, locations.d6MagnetBallDrop
|
|
dwbe $0545, locations.d7ZolButton
|
|
dwbe $0535, locations.d7ArmosPuzzle
|
|
dwbe $053d, locations.d7DropNorthOfStairMaze
|
|
dwbe $0582, locations.d8EyeDrop
|
|
dwbe $0575, locations.d8HardhatDrop
|
|
dwbe $057f, locations.d8GhostArmosDrop
|
|
/ifdef d11
|
|
dwbe $0532, locations.d11CheckerboardDrop
|
|
dwbe $052a, locations.d11FloodedDrop
|
|
dwbe $0522, locations.d11GauntletDrop
|
|
/endif
|
|
db $ff
|
|
|
|
0a//staticItemsReplacementsLookup_body: |
|
|
push bc
|
|
ld a,(wActiveGroup)
|
|
ld b,a
|
|
ld a,(wActiveRoom)
|
|
ld c,a
|
|
ld e,$02
|
|
ld hl,staticItemsReplacementsTable
|
|
call searchDoubleKey
|
|
pop bc
|
|
ret nc
|
|
ld b,(hl) ; item id
|
|
inc hl
|
|
ld c,(hl) ; item subid
|
|
ret
|
|
00//staticItemsReplacementsLookup: |
|
|
push de
|
|
push hl
|
|
ld e,$0a
|
|
ld hl,staticItemsReplacementsLookup_body
|
|
call interBankCall
|
|
pop hl
|
|
pop de
|
|
ret
|
|
|
|
|
|
### FREESTANDING ITEMS ###########################################
|
|
|
|
# staticHeartPiece (0x26381)
|
|
09/6381/: call staticItemsReplacementsLookup
|
|
# staticGashaSeed (0x26608)
|
|
09/6608/: call staticItemsReplacementsLookup
|
|
# sidescrollingStaticGashaSeed (0x266aa)
|
|
09/66aa/: call staticItemsReplacementsLookup
|
|
|
|
|
|
### DIGGABLE ITEMS ###########################################
|
|
|
|
# Replace oreChunkDigSpot with generic behavior for randomized digging spot stuff
|
|
09/6345/handleRandomizedDigSpot: |
|
|
call getThisRoomFlags
|
|
and $20
|
|
jp nz,interactionDelete
|
|
|
|
call staticItemsReplacementsLookup
|
|
|
|
call getFreeInteractionSlot
|
|
ret nz
|
|
ld (hl),INTERACID_TREASURE
|
|
inc l
|
|
ld (hl),b
|
|
inc l
|
|
ld (hl),c
|
|
call objectCopyPosition
|
|
jp interactionDelete
|
|
|
|
# randomRingDigSpot (0x265F5)
|
|
09/65f5/: jp handleRandomizedDigSpot
|
|
|
|
|
|
### SPAWNED ITEMS (Drops, etc...) ###########################################
|
|
|
|
0b//handleRandomizedSpawnedItem: |
|
|
ld (hl),INTERACID_TREASURE
|
|
inc l
|
|
jp staticItemsReplacementsLookup
|
|
|
|
# Call our custom handler in scriptCmd_spawnItem
|
|
0b/4416/: call handleRandomizedSpawnedItem
|
|
|
|
# stop d4 pool item from incrementing subindex when it hits the water,
|
|
# instead making it change behavior to item obtained when diving
|
|
09/40f5/: |
|
|
ld a,$04 ; diving
|
|
ld l,$71 ; Interaction.var31 - collect mode
|
|
ld (hl),a
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
# Remove useless stuff that makes dive items behave wrong on small keys
|
|
09/419e/: |
|
|
db $00,$00,$00
|
|
09/41a4/: |
|
|
db $00,$00,$00,$00,$00
|
|
|
|
# for the item dropped in the room *above* the trampoline.
|
|
15/55d8/aboveD7ZolButtonId: db locations.d7ZolButton.id
|
|
15/55db/aboveD7ZolButtonSubid: db locations.d7ZolButton.subid
|
|
|
|
|
|
### MAKU TREE MISSABLE GASHA SEEDS ###########################################
|
|
|
|
# Remove access to stairs behind Farore on 2 essences (this replaces the function that adds
|
|
# a sign in front of Bipin & Blossom's house when the game is completed)
|
|
04/6189/: |
|
|
call getEssenceCount
|
|
cp $03
|
|
ret nc
|
|
jp removeFaroreStairs
|
|
04//removeFaroreStairs: |
|
|
ld hl,$cf0c
|
|
ld (hl),$b0
|
|
ret
|
|
|
|
# Remove 3 essence original item
|
|
11/6373/: db $4c,$02,$38,$10,$ff
|
|
# Add an item inside the hallway (accessible at 3+ essences) that replaces the item removed above
|
|
11//hallwayMapObjects: |
|
|
db $f2
|
|
db $6b,$19,$58,$c8
|
|
db $ff
|
|
11/611d/: dw hallwayMapObjects
|
|
|
|
# Remove 5 essences original item
|
|
11/63ad/: db $4c,$02,$68,$10,$ff
|
|
# Add an item inside the first refill pool (accessible at 5+ essences) that replaces the item removed above
|
|
11//refillPool1Objects: |
|
|
db $f2
|
|
db $6b,$19,$80,$78
|
|
db $f3,$76,$40 ; spawn usual items
|
|
db $ff
|
|
11/611f/: dw refillPool1Objects
|
|
|
|
# Remove 7 essences original item
|
|
11/6387/: db $4c,$02,$28,$10,$4c,$03,$18,$90,$ff
|
|
# Add an item inside the second refill pool (accessible at 7+ essences) that replaces the item removed above
|
|
11//refillPool2Objects: |
|
|
db $f2
|
|
db $6b,$19,$80,$78
|
|
db $f3,$60,$40 ; spawn usual items
|
|
db $ff
|
|
11/6127/: dw refillPool2Objects
|