Compare commits
1 Commits
pikit_mode
...
57591e1ef8
| Author | SHA1 | Date | |
|---|---|---|---|
| 57591e1ef8 |
@@ -213,7 +213,6 @@ incsrc gk/variable_ganon_vulnerability.asm
|
|||||||
incsrc gk/pseudoflute.asm
|
incsrc gk/pseudoflute.asm
|
||||||
incsrc gk/fast_junk.asm
|
incsrc gk/fast_junk.asm
|
||||||
incsrc gk/dungeon_maps.asm
|
incsrc gk/dungeon_maps.asm
|
||||||
incsrc pikit.asm
|
|
||||||
print "End of B9: ", pc
|
print "End of B9: ", pc
|
||||||
|
|
||||||
warnpc $B9EE00
|
warnpc $B9EE00
|
||||||
|
|||||||
@@ -53,24 +53,13 @@ RTL
|
|||||||
GiveBonkItem:
|
GiveBonkItem:
|
||||||
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
LDA.w SprSourceItemId, X
|
LDA.w SprSourceItemId, X
|
||||||
|
|
||||||
PHY : TAY
|
|
||||||
JSL ShieldCheck
|
|
||||||
TYA : PLY
|
|
||||||
BCS +
|
|
||||||
|
|
||||||
STZ.w $0DD0, X
|
|
||||||
PLA : PLA : PLA ; remove the stored return address
|
|
||||||
JML $85FC9D
|
|
||||||
|
|
||||||
+
|
|
||||||
JSR AbsorbKeyCheck : BCC .notKey
|
JSR AbsorbKeyCheck : BCC .notKey
|
||||||
PHY : LDY.b #$24 : JSL AddInventory : PLY ; do inventory processing for a small key
|
PHY : LDY.b #$24 : JSL AddInventory : PLY ; do inventory processing for a small key
|
||||||
LDA.l CurrentSmallKeys : INC A : STA.l CurrentSmallKeys
|
LDA.l CurrentSmallKeys : INC A : STA.l CurrentSmallKeys
|
||||||
LDA.b #$2F : JSL Sound_SetSfx3PanLong
|
LDA.b #$2F : JSL Sound_SetSfx3PanLong
|
||||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||||
RTL
|
RTL
|
||||||
.notKey
|
.notKey
|
||||||
PHY : TAY : JSL Link_ReceiveItem : PLY
|
PHY : TAY : JSL Link_ReceiveItem : PLY
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -78,23 +78,10 @@ JML Dungeon_OpenKeyedObject_nextChest
|
|||||||
|
|
||||||
LDA.l ChestData, X : ASL A : BCC .smallChest
|
LDA.l ChestData, X : ASL A : BCC .smallChest
|
||||||
|
|
||||||
PHY
|
JML Dungeon_OpenKeyedObject_bigChest ;(bank01.asm line #13783)
|
||||||
LDY.b Scrap0C
|
|
||||||
JSL ShieldCheck
|
|
||||||
STY.b Scrap0C
|
|
||||||
PLY
|
|
||||||
BCC .couldntFindChest
|
|
||||||
JML Dungeon_OpenKeyedObject_bigChest ;(bank01.asm line #13783)
|
|
||||||
|
|
||||||
.smallChest
|
.smallChest
|
||||||
PHY
|
JML Dungeon_OpenKeyedObject_smallChest
|
||||||
LDY.b Scrap0C
|
|
||||||
JSL ShieldCheck
|
|
||||||
STY.b Scrap0C
|
|
||||||
PLY
|
|
||||||
BCC .couldntFindChest
|
|
||||||
JML Dungeon_OpenKeyedObject_smallChest
|
|
||||||
|
|
||||||
.couldntFindChest
|
.couldntFindChest
|
||||||
JML Dungeon_OpenKeyedObject_couldntFindChest
|
JML Dungeon_OpenKeyedObject_couldntFindChest
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ RTL
|
|||||||
|
|
||||||
PrizeReceiveItem:
|
PrizeReceiveItem:
|
||||||
PHA
|
PHA
|
||||||
LDA.b #$00 : STA.l BossDropTouched
|
|
||||||
JSL BossPrizeGetPlayer : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
JSL BossPrizeGetPlayer : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
PLA
|
PLA
|
||||||
CMP.b #$6A : BNE +
|
CMP.b #$6A : BNE +
|
||||||
@@ -106,7 +105,7 @@ RTL
|
|||||||
SetItemPose:
|
SetItemPose:
|
||||||
PHA
|
PHA
|
||||||
LDA.w DungeonID : BMI .one_handed
|
LDA.w DungeonID : BMI .one_handed
|
||||||
JSL CheckBossDropTouched : BNE +
|
LDA.w RoomItemsTaken : BIT.b #$80 : BNE +
|
||||||
.one_handed
|
.one_handed
|
||||||
PLA
|
PLA
|
||||||
JML Link_ReceiveItem_not_cool_pose
|
JML Link_ReceiveItem_not_cool_pose
|
||||||
@@ -135,7 +134,7 @@ SetCutsceneFlag:
|
|||||||
PHX
|
PHX
|
||||||
LDY.b #$01 ; wrote over
|
LDY.b #$01 ; wrote over
|
||||||
LDA.w DungeonID : BMI .no_cutscene
|
LDA.w DungeonID : BMI .no_cutscene
|
||||||
JSL CheckBossDropTouched : BNE .dungeon_prize
|
LDA.w RoomItemsTaken : BIT.b #$80 : BNE .dungeon_prize
|
||||||
.no_cutscene
|
.no_cutscene
|
||||||
SEP #$30
|
SEP #$30
|
||||||
PLX
|
PLX
|
||||||
@@ -156,7 +155,7 @@ AnimatePrizeCutscene:
|
|||||||
LDA.w ItemReceiptMethod : CMP.b #$03 : BNE +
|
LDA.w ItemReceiptMethod : CMP.b #$03 : BNE +
|
||||||
JSR CrystalOrPendantBehavior : BCC +
|
JSR CrystalOrPendantBehavior : BCC +
|
||||||
LDA.w DungeonID : BMI +
|
LDA.w DungeonID : BMI +
|
||||||
JSL CheckBossDropTouched : BEQ +
|
LDA.w RoomItemsTaken : BIT.b #$80 : BEQ +
|
||||||
SEC
|
SEC
|
||||||
RTL
|
RTL
|
||||||
+
|
+
|
||||||
@@ -173,13 +172,13 @@ PrizeDropSparkle:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
HandleDropSFX:
|
HandleDropSFX:
|
||||||
JSL CheckBossDropTouched : BEQ .no_sound
|
LDA.w RoomItemsTaken : BIT.b #$80 : BEQ .no_sound
|
||||||
JSR CrystalOrPendantBehavior : BCC .no_sound
|
JSR CrystalOrPendantBehavior : BCC .no_sound
|
||||||
SEC
|
SEC
|
||||||
RTL
|
RTL
|
||||||
.no_sound
|
.no_sound
|
||||||
CLC
|
CLC
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
HandleCrystalsField:
|
HandleCrystalsField:
|
||||||
TAX
|
TAX
|
||||||
@@ -193,7 +192,7 @@ RTL
|
|||||||
MaybeKeepLootID:
|
MaybeKeepLootID:
|
||||||
PHA
|
PHA
|
||||||
LDA.w DungeonID : BMI .no_prize
|
LDA.w DungeonID : BMI .no_prize
|
||||||
JSL CheckBossDropTouched : BNE .prize
|
LDA.w RoomItemsTaken : BIT.b #$80 : BNE .prize
|
||||||
.no_prize
|
.no_prize
|
||||||
STZ.w ItemReceiptID
|
STZ.w ItemReceiptID
|
||||||
STZ.w ItemReceiptPose
|
STZ.w ItemReceiptPose
|
||||||
@@ -217,15 +216,6 @@ CheckSpawnPrize:
|
|||||||
SEP #$21
|
SEP #$21
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
CheckBossDropTouched:
|
|
||||||
; Out: z - boss drop not touched
|
|
||||||
LDA.w RoomItemsTaken
|
|
||||||
AND.b #$80
|
|
||||||
BNE .done
|
|
||||||
LDA.l BossDropTouched
|
|
||||||
.done
|
|
||||||
RTL
|
|
||||||
|
|
||||||
CheckDungeonCompletion:
|
CheckDungeonCompletion:
|
||||||
LDX.w DungeonID
|
LDX.w DungeonID
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ GetAgahnimLightning:
|
|||||||
;1 = Forbid
|
;1 = Forbid
|
||||||
AllowJoypadInput:
|
AllowJoypadInput:
|
||||||
LDA.l PermitSQFromBosses : BEQ .fullCheck
|
LDA.l PermitSQFromBosses : BEQ .fullCheck
|
||||||
JSL CheckBossDropTouched : BEQ .fullCheck
|
LDA.w RoomItemsTaken : AND.b #$80 : BEQ .fullCheck
|
||||||
LDA.w MedallionFlag : ORA.w CutsceneFlag ; we have heart container, do short check
|
LDA.w MedallionFlag : ORA.w CutsceneFlag ; we have heart container, do short check
|
||||||
RTL
|
RTL
|
||||||
.fullCheck
|
.fullCheck
|
||||||
|
|||||||
@@ -2,20 +2,13 @@
|
|||||||
; Randomize Half Magic Bat
|
; Randomize Half Magic Bat
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
GetMagicBatItem:
|
GetMagicBatItem:
|
||||||
|
JSL ItemSet_MagicBat
|
||||||
%GetPossiblyEncryptedItem(MagicBatItem, SpriteItemValues)
|
%GetPossiblyEncryptedItem(MagicBatItem, SpriteItemValues)
|
||||||
CMP.b #$FF : BEQ .normalLogic
|
CMP.b #$FF : BEQ .normalLogic
|
||||||
TAY
|
TAY
|
||||||
PHA
|
PHA : LDA.l MagicBatItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID : PLA
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .have_shield
|
|
||||||
LDA.l MagicBatItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
|
||||||
JSL ItemSet_MagicBat
|
|
||||||
PLA
|
|
||||||
STZ.b ItemReceiptMethod ; 0 = Receiving item from an NPC or message
|
STZ.b ItemReceiptMethod ; 0 = Receiving item from an NPC or message
|
||||||
JML Link_ReceiveItem
|
JML Link_ReceiveItem
|
||||||
.have_shield
|
|
||||||
PLA
|
|
||||||
RTL
|
|
||||||
.normalLogic
|
.normalLogic
|
||||||
LDA.l HalfMagic
|
LDA.l HalfMagic
|
||||||
STA.l MagicConsumption
|
STA.l MagicConsumption
|
||||||
|
|||||||
@@ -5,17 +5,8 @@ HeartPieceGet:
|
|||||||
PHX : PHY
|
PHX : PHY
|
||||||
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDY.w SprSourceItemId, X
|
LDY.w SprSourceItemId, X
|
||||||
JSL HeartGet
|
|
||||||
BCC +
|
|
||||||
JSL MaybeMarkDigSpotCollected
|
JSL MaybeMarkDigSpotCollected
|
||||||
+
|
.skipLoad
|
||||||
PLY : PLX
|
|
||||||
RTL
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
HeartGet:
|
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
CPY.b #$26 : BNE .not_heart ; don't add a 1/4 heart if it's not a heart piece
|
CPY.b #$26 : BNE .not_heart ; don't add a 1/4 heart if it's not a heart piece
|
||||||
CMP.b #$00 : BNE .not_heart
|
CMP.b #$00 : BNE .not_heart
|
||||||
@@ -25,27 +16,15 @@ HeartGet:
|
|||||||
STZ.w ItemReceiptMethod ; 0 = Receiving item from an NPC or message
|
STZ.w ItemReceiptMethod ; 0 = Receiving item from an NPC or message
|
||||||
JSL Link_ReceiveItem
|
JSL Link_ReceiveItem
|
||||||
JSL MaybeUnlockTabletAnimation
|
JSL MaybeUnlockTabletAnimation
|
||||||
SEC
|
|
||||||
RTL
|
PLY : PLX
|
||||||
.skip
|
RTL
|
||||||
JSL MaybeFreeLinkFromTablet
|
|
||||||
CLC
|
|
||||||
RTL
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
HeartContainerGet:
|
HeartContainerGet:
|
||||||
PHX : PHY
|
PHX : PHY
|
||||||
JSL IncrementBossSword
|
JSL IncrementBossSword
|
||||||
LDY.w SprSourceItemId, X
|
LDY.w SprSourceItemId, X
|
||||||
JSL HeartGet
|
BRA HeartPieceGet_skipLoad
|
||||||
PLY : PLX
|
|
||||||
BCC +
|
|
||||||
LDA.w RoomItemsTaken
|
|
||||||
ORA.b #$80
|
|
||||||
STA.w RoomItemsTaken
|
|
||||||
+
|
|
||||||
LDA.b #$01
|
|
||||||
STA.l BossDropTouched
|
|
||||||
RTL
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
DrawHeartPieceGFX:
|
DrawHeartPieceGFX:
|
||||||
PHP
|
PHP
|
||||||
|
|||||||
52
hooks.asm
52
hooks.asm
@@ -1053,12 +1053,8 @@ Overworld_Entrance_BRANCH_EPSILON: ; go here to lock doors
|
|||||||
org $81C50D : JSL CheckDungeonWorld
|
org $81C50D : JSL CheckDungeonWorld
|
||||||
org $81C517 : JSL CheckDungeonCompletion
|
org $81C517 : JSL CheckDungeonCompletion
|
||||||
org $81C523 : JSL CheckDungeonCompletion
|
org $81C523 : JSL CheckDungeonCompletion
|
||||||
org $81C709 : JSL CheckBossDropTouched : NOP
|
org $81C710 : JSL CheckSpawnPrize
|
||||||
org $81C710
|
BCS RoomTag_GetHeartForPrize_spawn_prize : BRA RoomTag_GetHeartForPrize_delete_tag
|
||||||
JSL CheckSpawnPrize
|
|
||||||
BCS RoomTag_GetHeartForPrize_spawn_prize
|
|
||||||
BRA RoomTag_GetHeartForPrize_delete_tag
|
|
||||||
warnpc $81C731
|
|
||||||
org $81C742 : JSL SpawnDungeonPrize : PLA : RTS
|
org $81C742 : JSL SpawnDungeonPrize : PLA : RTS
|
||||||
org $8799EA : JML SetItemPose
|
org $8799EA : JML SetItemPose
|
||||||
org $88C415 : JSL PendantMusicCheck
|
org $88C415 : JSL PendantMusicCheck
|
||||||
@@ -1070,7 +1066,6 @@ org $88C622 : BCC ItemReceipt_Animate_continue
|
|||||||
org $88C6BA : JSL CheckPoseItemCoordinates
|
org $88C6BA : JSL CheckPoseItemCoordinates
|
||||||
org $88C6C3 : JSL PrepPrizeVRAMHigh
|
org $88C6C3 : JSL PrepPrizeVRAMHigh
|
||||||
org $88C6F4 : JSL PrepPrizeVRAMLow
|
org $88C6F4 : JSL PrepPrizeVRAMLow
|
||||||
org $88CAC4 : JSL CheckBossDropTouched : NOP
|
|
||||||
org $88CAD6 : JSL HandleDropSFX : NOP #2
|
org $88CAD6 : JSL HandleDropSFX : NOP #2
|
||||||
org $88CADC : BCC Ancilla29_MilestoneItemReceipt_skip_crystal_sfx
|
org $88CADC : BCC Ancilla29_MilestoneItemReceipt_skip_crystal_sfx
|
||||||
org $88CAE9 : JSL PrepPrizeTile
|
org $88CAE9 : JSL PrepPrizeTile
|
||||||
@@ -2010,7 +2005,7 @@ org $85EE53 ; <- 2EE53 - mushroom.asm : 22
|
|||||||
JSL ItemCheck_Mushroom : NOP #2
|
JSL ItemCheck_Mushroom : NOP #2
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $85EE8C ; <- 2EE8C - mushroom.asm : 69
|
org $85EE8C ; <- 2EE8C - mushroom.asm : 69
|
||||||
JSL ItemSet_Mushroom : NOP #5
|
JSL ItemSet_Mushroom : NOP
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $85F53E ; <- 2F53E - sprite_potion_shop.asm : 40
|
org $85F53E ; <- 2F53E - sprite_potion_shop.asm : 40
|
||||||
JSL ItemCheck_Powder : CMP.b #$20
|
JSL ItemCheck_Powder : CMP.b #$20
|
||||||
@@ -2038,10 +2033,7 @@ org $85EF79 ; <- 2EF79 - sprite_heart_upgrades.asm:128 (JSL Sprite_PrepAndDrawSi
|
|||||||
JSL DrawHeartContainerGFX
|
JSL DrawHeartContainerGFX
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $85EFCE ; <- 2EFCE - sprite_heart_upgrades.asm:176 (JSL Link_ReceiveItem)
|
org $85EFCE ; <- 2EFCE - sprite_heart_upgrades.asm:176 (JSL Link_ReceiveItem)
|
||||||
JSL HeartContainerGet ; this also handles setting the boss-killed flag if appropriate
|
JSL HeartContainerGet
|
||||||
PLX
|
|
||||||
RTS
|
|
||||||
warnpc $85EFDC
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $8799B1 ; 399B1 - Bank07.asm:4063 (CPY.b #$3E : BNE .notHeartContainer)
|
org $8799B1 ; 399B1 - Bank07.asm:4063 (CPY.b #$3E : BNE .notHeartContainer)
|
||||||
@@ -2067,13 +2059,10 @@ JSL HeartPieceSpawnDelayFix
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $85F08A ; <- 2F08A - sprite_heart_upgrades.asm : 324 - (LDA $7EF36B : INC A : AND.b #$03 : STA $7EF36B : BNE .got_4_piecese) item determination
|
org $85F08A ; <- 2F08A - sprite_heart_upgrades.asm : 324 - (LDA $7EF36B : INC A : AND.b #$03 : STA $7EF36B : BNE .got_4_piecese) item determination
|
||||||
JSL HeartPieceGet
|
JSL HeartPieceGet
|
||||||
PHP
|
|
||||||
JSL DynamicDrawCleanup
|
JSL DynamicDrawCleanup
|
||||||
PLP : BCC +
|
|
||||||
JSL IsMedallion
|
JSL IsMedallion
|
||||||
BCS + : BRA Sprite_EB_HeartPiece_handle_flags : + ; Don't change OW flags if we're
|
BCS + : BRA Sprite_EB_HeartPiece_handle_flags : + ; Don't change OW flags if we're
|
||||||
STZ.w SpriteAITable, X : RTS ; getting a tablet item
|
STZ.w SpriteAITable, X : RTS ; getting a tablet item
|
||||||
warnpc $85F0C0
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $86C0B0 ; <- 340B0 - sprite prep
|
org $86C0B0 ; <- 340B0 - sprite prep
|
||||||
JSL HeartPieceSpritePrep
|
JSL HeartPieceSpritePrep
|
||||||
@@ -2839,36 +2828,3 @@ org $8DFB63 ; bank_0D.asm@18092 (LDA.l $7EF33F, X : AND.w #$00FF)
|
|||||||
JSL CheckFluteInHUD
|
JSL CheckFluteInHUD
|
||||||
NOP #3
|
NOP #3
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
;================================================================================
|
|
||||||
; Pikit Nonsense
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
org $81EC39
|
|
||||||
JSL SmallChest_ShieldCheck
|
|
||||||
BCC Dungeon_OpenKeyedObject_couldntFindChest+1
|
|
||||||
|
|
||||||
org $81EC17
|
|
||||||
JSL BigChest_ShieldCheck
|
|
||||||
BCC Dungeon_OpenKeyedObject_couldntFindChest
|
|
||||||
NOP #2
|
|
||||||
|
|
||||||
org $9E8D6F
|
|
||||||
JML PikitSteal
|
|
||||||
|
|
||||||
org $9E8CF2
|
|
||||||
JSL PikitDigest
|
|
||||||
NOP #2
|
|
||||||
|
|
||||||
org $879A52
|
|
||||||
JSL LinkSnoring
|
|
||||||
|
|
||||||
org $879AAD
|
|
||||||
JSL LinkAwaken
|
|
||||||
|
|
||||||
org $879A31
|
|
||||||
JSL TuckLink
|
|
||||||
NOP #2
|
|
||||||
|
|
||||||
org $80F950
|
|
||||||
NOP #2
|
|
||||||
|
|||||||
@@ -114,15 +114,14 @@ StartingGenericKeys: skip 1 ; PC 0x18338B
|
|||||||
InitInventoryTracking: skip 2 ; PC 0x18338C \ Need to set bits here for silver arrows,
|
InitInventoryTracking: skip 2 ; PC 0x18338C \ Need to set bits here for silver arrows,
|
||||||
InitBowTracking: skip 2 ; PC 0x18338E / boomerangs, powder/mushroom, etc
|
InitBowTracking: skip 2 ; PC 0x18338E / boomerangs, powder/mushroom, etc
|
||||||
InitItemLimitCounts: skip 16 ; PC 0x183390
|
InitItemLimitCounts: skip 16 ; PC 0x183390
|
||||||
skip 32 ;
|
skip 34 ;
|
||||||
InitPikitItem: dw $0004 ;
|
|
||||||
InitFluteBitfield: db $00 ;
|
InitFluteBitfield: db $00 ;
|
||||||
InitSpecialWeaponLevel: db $00 ;
|
InitSpecialWeaponLevel: db $00 ;
|
||||||
InitItemOnB: db $00 ;
|
InitItemOnB: db $00 ;
|
||||||
InitProgressIndicator: db $00 ; PC 0x1833C5 - Set to $80 for instant post-aga with standard
|
InitProgressIndicator: db $02 ; PC 0x1833C5 - Set to $80 for instant post-aga with standard
|
||||||
InitProgressFlags: db $04 ; PC 0x1833C6 - Set to $00 for standard
|
InitProgressFlags: db $14 ; PC 0x1833C6 - Set to $00 for standard
|
||||||
InitMapIcons: skip 1 ; PC 0x1833C7
|
InitMapIcons: skip 1 ; PC 0x1833C7
|
||||||
InitStartingEntrance: db $00 ; PC 0x1833C8 - Set to $00 for standard
|
InitStartingEntrance: db $01 ; PC 0x1833C8 - Set to $00 for standard
|
||||||
InitNpcFlagsVanilla: skip 1 ; PC 0x1833C9
|
InitNpcFlagsVanilla: skip 1 ; PC 0x1833C9
|
||||||
InitCurrentWorld: skip 1 ; PC 0x1833CA
|
InitCurrentWorld: skip 1 ; PC 0x1833CA
|
||||||
skip 1 ; PC 0x1833CB
|
skip 1 ; PC 0x1833CB
|
||||||
|
|||||||
@@ -648,23 +648,16 @@ RTL
|
|||||||
CollectPowder:
|
CollectPowder:
|
||||||
LDY.w SprSourceItemId, X ; Retrieve stored item type
|
LDY.w SprSourceItemId, X ; Retrieve stored item type
|
||||||
BNE +
|
BNE +
|
||||||
; if for any reason the item value is 0 reload it, just in case
|
; if for any reason the item value is 0 reload it, just in case
|
||||||
%GetPossiblyEncryptedItem(WitchItem, SpriteItemValues) : TAY
|
%GetPossiblyEncryptedItem(WitchItem, SpriteItemValues) : TAY
|
||||||
+
|
+ PHA
|
||||||
PHA
|
LDA.l WitchItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
JSL ShieldCheck
|
LDA.b #$01 : STA.l ShopEnableCount
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
|
|
||||||
LDA.l WitchItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
|
||||||
LDA.b #$01 : STA.l ShopEnableCount
|
|
||||||
PLA
|
PLA
|
||||||
STZ.w ItemReceiptMethod ; item from NPC
|
STZ.w ItemReceiptMethod ; item from NPC
|
||||||
JSL Link_ReceiveItem
|
JSL Link_ReceiveItem
|
||||||
PHA : LDA.b #$00 : STA.l ShopEnableCount : STA.l PowderFlag
|
PHA : LDA.b #$00 : STA.l ShopEnableCount : STA.l PowderFlag : PLA
|
||||||
JSL ItemSet_Powder
|
JSL ItemSet_Powder
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -416,40 +416,40 @@ macro SpriteProps(id, chest_width, standing_width, chest_pal, standing_pal, addr
|
|||||||
pullpc
|
pullpc
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
%SpriteProps($00, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 00 - Fighter sword & Shield
|
%SpriteProps($00, 0, 2, $05, $02, PalettesVanilla_blue_ice+$0E) ; 00 - Fighter sword & Shield
|
||||||
%SpriteProps($01, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 01 - Master sword
|
%SpriteProps($01, 0, 2, $05, $05, PalettesCustom_master_sword) ; 01 - Master sword
|
||||||
%SpriteProps($02, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 02 - Tempered sword
|
%SpriteProps($02, 0, 2, $05, $01, PalettesCustom_tempered_sword) ; 02 - Tempered sword
|
||||||
%SpriteProps($03, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 03 - Golden sword
|
%SpriteProps($03, 0, 2, $05, $04, PalettesCustom_golden_sword) ; 03 - Golden sword
|
||||||
%SpriteProps($04, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 04 - Fighter shield
|
%SpriteProps($04, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 04 - Fighter shield
|
||||||
%SpriteProps($05, 2, 2, $05, $80, PalettesCustom_red_shield) ; 05 - Fire shield
|
%SpriteProps($05, 2, 2, $05, $80, PalettesCustom_red_shield) ; 05 - Fire shield
|
||||||
%SpriteProps($06, 2, 2, $05, $80, PalettesCustom_mirror_shield) ; 06 - Mirror shield
|
%SpriteProps($06, 2, 2, $05, $80, PalettesCustom_mirror_shield) ; 06 - Mirror shield
|
||||||
%SpriteProps($07, 0, 0, $01, $80, PalettesCustom_fighter_shield) ; 07 - Fire rod
|
%SpriteProps($07, 0, 0, $01, $01, PalettesVanilla_red_melon+$0E) ; 07 - Fire rod
|
||||||
%SpriteProps($08, 0, 0, $02, $80, PalettesCustom_fighter_shield) ; 08 - Ice rod
|
%SpriteProps($08, 0, 0, $02, $02, PalettesVanilla_blue_ice+$0E) ; 08 - Ice rod
|
||||||
%SpriteProps($09, 0, 0, $01, $80, PalettesCustom_fighter_shield) ; 09 - Hammer
|
%SpriteProps($09, 0, 0, $01, $01, PalettesVanilla_red_melon+$0E) ; 09 - Hammer
|
||||||
%SpriteProps($0A, 0, 0, $01, $80, PalettesCustom_fighter_shield) ; 0A - Hookshot
|
%SpriteProps($0A, 0, 0, $01, $01, PalettesVanilla_red_melon+$0E) ; 0A - Hookshot
|
||||||
%SpriteProps($0B, 0, 0, $01, $80, PalettesCustom_fighter_shield) ; 0B - Bow
|
%SpriteProps($0B, 0, 0, $01, $01, PalettesVanilla_red_melon+$0E) ; 0B - Bow
|
||||||
%SpriteProps($0C, 0, 0, $02, $80, PalettesCustom_fighter_shield) ; 0C - Blue Boomerang
|
%SpriteProps($0C, 0, 0, $02, $02, PalettesVanilla_blue_ice+$0E) ; 0C - Blue Boomerang
|
||||||
%SpriteProps($0D, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 0D - Powder
|
%SpriteProps($0D, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 0D - Powder
|
||||||
%SpriteProps($0E, 2, 0, $02, $03, PalettesVanilla_blue_ice+$0E) ; 0E - Bottle refill (bee)
|
%SpriteProps($0E, 2, 0, $02, $03, PalettesVanilla_blue_ice+$0E) ; 0E - Bottle refill (bee)
|
||||||
%SpriteProps($0F, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 0F - Bombos
|
%SpriteProps($0F, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 0F - Bombos
|
||||||
%SpriteProps($10, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 10 - Ether
|
%SpriteProps($10, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 10 - Ether
|
||||||
%SpriteProps($11, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 11 - Quake
|
%SpriteProps($11, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 11 - Quake
|
||||||
%SpriteProps($12, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 12 - Lamp
|
%SpriteProps($12, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 12 - Lamp
|
||||||
%SpriteProps($13, 0, 0, $01, $80, PalettesCustom_fighter_shield) ; 13 - Shovel
|
%SpriteProps($13, 0, 0, $01, $01, PalettesVanilla_red_melon+$0E) ; 13 - Shovel
|
||||||
%SpriteProps($14, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 14 - Flute
|
%SpriteProps($14, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 14 - Flute
|
||||||
%SpriteProps($15, 0, 0, $01, $80, PalettesCustom_fighter_shield) ; 15 - Somaria
|
%SpriteProps($15, 0, 0, $01, $01, PalettesVanilla_red_melon+$0E) ; 15 - Somaria
|
||||||
%SpriteProps($16, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 16 - Bottle
|
%SpriteProps($16, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 16 - Bottle
|
||||||
%SpriteProps($17, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 17 - Heart piece
|
%SpriteProps($17, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 17 - Heart piece
|
||||||
%SpriteProps($18, 0, 0, $02, $80, PalettesCustom_fighter_shield) ; 18 - Byrna
|
%SpriteProps($18, 0, 0, $02, $02, PalettesVanilla_blue_ice+$0E) ; 18 - Byrna
|
||||||
%SpriteProps($19, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 19 - Cape
|
%SpriteProps($19, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 19 - Cape
|
||||||
%SpriteProps($1A, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 1A - Mirror
|
%SpriteProps($1A, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 1A - Mirror
|
||||||
%SpriteProps($1B, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 1B - Glove
|
%SpriteProps($1B, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 1B - Glove
|
||||||
%SpriteProps($1C, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 1C - Mitts
|
%SpriteProps($1C, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 1C - Mitts
|
||||||
%SpriteProps($1D, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 1D - Book
|
%SpriteProps($1D, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 1D - Book
|
||||||
%SpriteProps($1E, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 1E - Flippers
|
%SpriteProps($1E, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 1E - Flippers
|
||||||
%SpriteProps($1F, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 1F - Pearl
|
%SpriteProps($1F, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 1F - Pearl
|
||||||
%SpriteProps($20, 2, 2, $86, $86, PalettesCustom_crystal) ; 20 - Crystal
|
%SpriteProps($20, 2, 2, $86, $86, PalettesCustom_crystal) ; 20 - Crystal
|
||||||
%SpriteProps($21, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 21 - Net
|
%SpriteProps($21, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 21 - Net
|
||||||
%SpriteProps($22, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 22 - Blue mail
|
%SpriteProps($22, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 22 - Blue mail
|
||||||
%SpriteProps($23, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 23 - Red mail
|
%SpriteProps($23, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 23 - Red mail
|
||||||
%SpriteProps($24, 0, 0, $02, $04, PalettesVanilla_blue_ice+$0E) ; 24 - Small key
|
%SpriteProps($24, 0, 0, $02, $04, PalettesVanilla_blue_ice+$0E) ; 24 - Small key
|
||||||
@@ -457,11 +457,11 @@ endmacro
|
|||||||
%SpriteProps($26, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 26 - Heart container from 4/4
|
%SpriteProps($26, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 26 - Heart container from 4/4
|
||||||
%SpriteProps($27, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 27 - Bomb
|
%SpriteProps($27, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 27 - Bomb
|
||||||
%SpriteProps($28, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 28 - 3 bombs
|
%SpriteProps($28, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 28 - 3 bombs
|
||||||
%SpriteProps($29, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 29 - Mushroom
|
%SpriteProps($29, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 29 - Mushroom
|
||||||
%SpriteProps($2A, 0, 0, $01, $80, PalettesCustom_fighter_shield) ; 2A - Red boomerang
|
%SpriteProps($2A, 0, 0, $01, $01, PalettesVanilla_red_melon+$0E) ; 2A - Red boomerang
|
||||||
%SpriteProps($2B, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 2B - Full bottle (red)
|
%SpriteProps($2B, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 2B - Full bottle (red)
|
||||||
%SpriteProps($2C, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 2C - Full bottle (green)
|
%SpriteProps($2C, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 2C - Full bottle (green)
|
||||||
%SpriteProps($2D, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 2D - Full bottle (blue)
|
%SpriteProps($2D, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 2D - Full bottle (blue)
|
||||||
%SpriteProps($2E, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 2E - Potion refill (red)
|
%SpriteProps($2E, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 2E - Potion refill (red)
|
||||||
%SpriteProps($2F, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 2F - Potion refill (green)
|
%SpriteProps($2F, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 2F - Potion refill (green)
|
||||||
%SpriteProps($30, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 30 - Potion refill (blue)
|
%SpriteProps($30, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 30 - Potion refill (blue)
|
||||||
@@ -474,10 +474,10 @@ endmacro
|
|||||||
%SpriteProps($37, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 37 - Green pendant
|
%SpriteProps($37, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 37 - Green pendant
|
||||||
%SpriteProps($38, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 38 - Red pendant
|
%SpriteProps($38, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 38 - Red pendant
|
||||||
%SpriteProps($39, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 39 - Blue pendant
|
%SpriteProps($39, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 39 - Blue pendant
|
||||||
%SpriteProps($3A, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 3A - Bow And Arrows
|
%SpriteProps($3A, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 3A - Bow And Arrows
|
||||||
%SpriteProps($3B, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 3B - Silver Bow
|
%SpriteProps($3B, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 3B - Silver Bow
|
||||||
%SpriteProps($3C, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 3C - Full bottle (bee)
|
%SpriteProps($3C, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 3C - Full bottle (bee)
|
||||||
%SpriteProps($3D, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 3D - Full bottle (fairy)
|
%SpriteProps($3D, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 3D - Full bottle (fairy)
|
||||||
%SpriteProps($3E, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 3E - Boss heart
|
%SpriteProps($3E, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 3E - Boss heart
|
||||||
%SpriteProps($3F, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 3F - Sanc heart
|
%SpriteProps($3F, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 3F - Sanc heart
|
||||||
%SpriteProps($40, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 40 - 100 rupees
|
%SpriteProps($40, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 40 - 100 rupees
|
||||||
@@ -488,23 +488,23 @@ endmacro
|
|||||||
%SpriteProps($45, 0, 0, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 45 - Small magic
|
%SpriteProps($45, 0, 0, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 45 - Small magic
|
||||||
%SpriteProps($46, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 46 - 300 rupees
|
%SpriteProps($46, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 46 - 300 rupees
|
||||||
%SpriteProps($47, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 47 - 20 rupees green
|
%SpriteProps($47, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 47 - 20 rupees green
|
||||||
%SpriteProps($48, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 48 - Full bottle (good bee)
|
%SpriteProps($48, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 48 - Full bottle (good bee)
|
||||||
%SpriteProps($49, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 49 - Tossed fighter sword
|
%SpriteProps($49, 0, 2, $05, $02, PalettesCustom_fighter_shield) ; 49 - Tossed fighter sword
|
||||||
%SpriteProps($4A, 2, 0, $02, $80, PalettesCustom_fighter_shield) ; 4A - Active Flute
|
%SpriteProps($4A, 2, 2, $02, $02, PalettesVanilla_blue_ice+$0E) ; 4A - Active Flute
|
||||||
%SpriteProps($4B, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 4B - Boots
|
%SpriteProps($4B, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 4B - Boots
|
||||||
%SpriteProps($4C, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 4C - Bomb capacity (50)
|
%SpriteProps($4C, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 4C - Bomb capacity (50)
|
||||||
%SpriteProps($4D, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 4D - Arrow capacity (70)
|
%SpriteProps($4D, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 4D - Arrow capacity (70)
|
||||||
%SpriteProps($4E, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 4E - 1/2 magic
|
%SpriteProps($4E, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 4E - 1/2 magic
|
||||||
%SpriteProps($4F, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 4F - 1/4 magic
|
%SpriteProps($4F, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 4F - 1/4 magic
|
||||||
%SpriteProps($50, 0, 0, $05, $80, PalettesCustom_fighter_shield) ; 50 - Safe master sword
|
%SpriteProps($50, 0, 2, $05, $02, PalettesCustom_master_sword) ; 50 - Safe master sword
|
||||||
%SpriteProps($51, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 51 - Bomb capacity (+5)
|
%SpriteProps($51, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 51 - Bomb capacity (+5)
|
||||||
%SpriteProps($52, 2, 0, $04, $80, PalettesCustom_fighter_shield) ; 52 - Bomb capacity (+10)
|
%SpriteProps($52, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 52 - Bomb capacity (+10)
|
||||||
%SpriteProps($53, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 53 - Arrow capacity (+5)
|
%SpriteProps($53, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 53 - Arrow capacity (+5)
|
||||||
%SpriteProps($54, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 54 - Arrow capacity (+10)
|
%SpriteProps($54, 2, 2, $04, $04, PalettesVanilla_green_blue_guard+$0E) ; 54 - Arrow capacity (+10)
|
||||||
%SpriteProps($55, 2, 2, $04, $04, $0000) ; 55 - Programmable item 1
|
%SpriteProps($55, 2, 2, $04, $04, $0000) ; 55 - Programmable item 1
|
||||||
%SpriteProps($56, 2, 2, $04, $04, $0000) ; 56 - Programmable item 2
|
%SpriteProps($56, 2, 2, $04, $04, $0000) ; 56 - Programmable item 2
|
||||||
%SpriteProps($57, 2, 2, $04, $04, $0000) ; 57 - Programmable item 3
|
%SpriteProps($57, 2, 2, $04, $04, $0000) ; 57 - Programmable item 3
|
||||||
%SpriteProps($58, 2, 0, $01, $80, PalettesCustom_fighter_shield) ; 58 - Upgrade-only Silver Arrows
|
%SpriteProps($58, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 58 - Upgrade-only Silver Arrows
|
||||||
%SpriteProps($59, 0, 0, $03, $03, PalettesCustom_off_black) ; 59 - Rupoor
|
%SpriteProps($59, 0, 0, $03, $03, PalettesCustom_off_black) ; 59 - Rupoor
|
||||||
%SpriteProps($5A, 2, 2, $01, $01, $0000) ; 5A - Nothing
|
%SpriteProps($5A, 2, 2, $01, $01, $0000) ; 5A - Nothing
|
||||||
%SpriteProps($5B, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 5B - Red clock
|
%SpriteProps($5B, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 5B - Red clock
|
||||||
@@ -1220,40 +1220,40 @@ ItemReceiptGraphicsOffsets:
|
|||||||
; for receipt and non-receipt drawing.
|
; for receipt and non-receipt drawing.
|
||||||
;===================================================================================================
|
;===================================================================================================
|
||||||
StandingItemGraphicsOffsets:
|
StandingItemGraphicsOffsets:
|
||||||
dw BigDecompressionBuffer+$09E0 ; 00 - Fighter Sword and Shield
|
dw $0860 ; 00 - Fighter Sword and Shield
|
||||||
dw BigDecompressionBuffer+$09E0 ; 01 - Master Sword
|
dw $00E0 ; 01 - Master Sword
|
||||||
dw BigDecompressionBuffer+$09E0 ; 02 - Tempered Sword
|
dw $0120 ; 02 - Tempered Sword
|
||||||
dw BigDecompressionBuffer+$09E0 ; 03 - Butter Sword
|
dw $0160 ; 03 - Butter Sword
|
||||||
dw BigDecompressionBuffer+$09E0 ; 04 - Fighter Shield
|
dw BigDecompressionBuffer+$09E0 ; 04 - Fighter Shield
|
||||||
dw BigDecompressionBuffer+$1940 ; 05 - Fire Shield
|
dw BigDecompressionBuffer+$1940 ; 05 - Fire Shield
|
||||||
dw BigDecompressionBuffer+$0C80 ; 06 - Mirror Shield
|
dw BigDecompressionBuffer+$0C80 ; 06 - Mirror Shield
|
||||||
dw BigDecompressionBuffer+$09E0 ; 07 - Fire Rod
|
dw BigDecompressionBuffer+$1C80 ; 07 - Fire Rod
|
||||||
dw BigDecompressionBuffer+$09E0 ; 08 - Ice Rod
|
dw BigDecompressionBuffer+$1C80 ; 08 - Ice Rod
|
||||||
dw BigDecompressionBuffer+$09E0 ; 09 - Hammer
|
dw BigDecompressionBuffer+$1CA0 ; 09 - Hammer
|
||||||
dw BigDecompressionBuffer+$09E0 ; 0A - Hookshot
|
dw BigDecompressionBuffer+$1C60 ; 0A - Hookshot
|
||||||
dw BigDecompressionBuffer+$09E0 ; 0B - Bow
|
dw BigDecompressionBuffer+$1C00 ; 0B - Bow
|
||||||
dw BigDecompressionBuffer+$09E0 ; 0C - Boomerang
|
dw BigDecompressionBuffer+$1DE0 ; 0C - Boomerang
|
||||||
dw BigDecompressionBuffer+$09E0 ; 0D - Powder
|
dw BigDecompressionBuffer+$1CC0 ; 0D - Powder
|
||||||
dw 0 ; 0E - Bottle Refill (bee)
|
dw 0 ; 0E - Bottle Refill (bee)
|
||||||
dw BigDecompressionBuffer+$09E0 ; 0F - Bombos
|
dw BigDecompressionBuffer+$1440 ; 0F - Bombos
|
||||||
dw BigDecompressionBuffer+$09E0 ; 10 - Ether
|
dw BigDecompressionBuffer+$1400 ; 10 - Ether
|
||||||
dw BigDecompressionBuffer+$09E0 ; 11 - Quake
|
dw BigDecompressionBuffer+$1480 ; 11 - Quake
|
||||||
dw BigDecompressionBuffer+$09E0 ; 12 - Lamp
|
dw BigDecompressionBuffer+$10C0 ; 12 - Lamp
|
||||||
dw BigDecompressionBuffer+$09E0 ; 13 - Shovel
|
dw BigDecompressionBuffer+$11E0 ; 13 - Shovel
|
||||||
dw BigDecompressionBuffer+$09E0 ; 14 - Flute
|
dw BigDecompressionBuffer+$0C40 ; 14 - Flute
|
||||||
dw BigDecompressionBuffer+$09E0 ; 15 - Somaria
|
dw BigDecompressionBuffer+$1C40 ; 15 - Somaria
|
||||||
dw BigDecompressionBuffer+$09E0 ; 16 - Bottle
|
dw BigDecompressionBuffer+$14C0 ; 16 - Bottle
|
||||||
dw BigDecompressionBuffer+$0C00 ; 17 - Heartpiece
|
dw BigDecompressionBuffer+$0C00 ; 17 - Heartpiece
|
||||||
dw BigDecompressionBuffer+$09E0 ; 18 - Byrna
|
dw BigDecompressionBuffer+$1C40 ; 18 - Byrna
|
||||||
dw BigDecompressionBuffer+$09E0 ; 19 - Cape
|
dw BigDecompressionBuffer+$1100 ; 19 - Cape
|
||||||
dw BigDecompressionBuffer+$09E0 ; 1A - Mirror
|
dw BigDecompressionBuffer+$1040 ; 1A - Mirror
|
||||||
dw BigDecompressionBuffer+$09E0 ; 1B - Glove
|
dw BigDecompressionBuffer+$1D40 ; 1B - Glove
|
||||||
dw BigDecompressionBuffer+$09E0 ; 1C - Mitts
|
dw BigDecompressionBuffer+$1D40 ; 1C - Mitts
|
||||||
dw BigDecompressionBuffer+$09E0 ; 1D - Book
|
dw BigDecompressionBuffer+$1D80 ; 1D - Book
|
||||||
dw BigDecompressionBuffer+$09E0 ; 1E - Flippers
|
dw BigDecompressionBuffer+$1000 ; 1E - Flippers
|
||||||
dw BigDecompressionBuffer+$09E0 ; 1F - Pearl
|
dw BigDecompressionBuffer+$1180 ; 1F - Pearl
|
||||||
dw BigDecompressionBuffer+$08A0 ; 20 - Crystal
|
dw BigDecompressionBuffer+$08A0 ; 20 - Crystal
|
||||||
dw BigDecompressionBuffer+$09E0 ; 21 - Net
|
dw BigDecompressionBuffer+$0860 ; 21 - Net
|
||||||
dw BigDecompressionBuffer+$1900 ; 22 - Blue Mail
|
dw BigDecompressionBuffer+$1900 ; 22 - Blue Mail
|
||||||
dw BigDecompressionBuffer+$1900 ; 23 - Red Mail
|
dw BigDecompressionBuffer+$1900 ; 23 - Red Mail
|
||||||
dw BigDecompressionBuffer+$1DC0 ; 24 - Small Key
|
dw BigDecompressionBuffer+$1DC0 ; 24 - Small Key
|
||||||
@@ -1261,11 +1261,11 @@ StandingItemGraphicsOffsets:
|
|||||||
dw BigDecompressionBuffer+$18C0 ; 26 - Heart Container from 4/4
|
dw BigDecompressionBuffer+$18C0 ; 26 - Heart Container from 4/4
|
||||||
dw BigDecompressionBuffer+$1080 ; 27 - Bomb
|
dw BigDecompressionBuffer+$1080 ; 27 - Bomb
|
||||||
dw BigDecompressionBuffer+$1840 ; 28 - 3 bombs
|
dw BigDecompressionBuffer+$1840 ; 28 - 3 bombs
|
||||||
dw BigDecompressionBuffer+$09E0 ; 29 - Mushroom
|
dw BigDecompressionBuffer+$1540 ; 29 - Mushroom
|
||||||
dw BigDecompressionBuffer+$09E0 ; 2A - Red boomerang
|
dw BigDecompressionBuffer+$1DE0 ; 2A - Red boomerang
|
||||||
dw BigDecompressionBuffer+$09E0 ; 2B - Full bottle (red)
|
dw BigDecompressionBuffer+$1500 ; 2B - Full bottle (red)
|
||||||
dw BigDecompressionBuffer+$09E0 ; 2C - Full bottle (green)
|
dw BigDecompressionBuffer+$1500 ; 2C - Full bottle (green)
|
||||||
dw BigDecompressionBuffer+$09E0 ; 2D - Full bottle (blue)
|
dw BigDecompressionBuffer+$1500 ; 2D - Full bottle (blue)
|
||||||
dw $0920 ; 2E - Potion refill (red)
|
dw $0920 ; 2E - Potion refill (red)
|
||||||
dw $08A0 ; 2F - Potion refill (green)
|
dw $08A0 ; 2F - Potion refill (green)
|
||||||
dw $08E0 ; 30 - Potion refill (blue)
|
dw $08E0 ; 30 - Potion refill (blue)
|
||||||
@@ -1278,10 +1278,10 @@ StandingItemGraphicsOffsets:
|
|||||||
dw $0820 ; 37 - Green pendant
|
dw $0820 ; 37 - Green pendant
|
||||||
dw BigDecompressionBuffer+$0080 ; 38 - Blue pendant
|
dw BigDecompressionBuffer+$0080 ; 38 - Blue pendant
|
||||||
dw BigDecompressionBuffer+$0080 ; 39 - Red pendant
|
dw BigDecompressionBuffer+$0080 ; 39 - Red pendant
|
||||||
dw BigDecompressionBuffer+$09E0 ; 3A - Tossed bow
|
dw BigDecompressionBuffer+$0920 ; 3A - Tossed bow
|
||||||
dw BigDecompressionBuffer+$09E0 ; 3B - Silvers
|
dw BigDecompressionBuffer+$08E0 ; 3B - Silvers
|
||||||
dw BigDecompressionBuffer+$09E0 ; 3C - Full bottle (bee)
|
dw BigDecompressionBuffer+$09A0 ; 3C - Full bottle (bee)
|
||||||
dw BigDecompressionBuffer+$09E0 ; 3D - Full bottle (fairy)
|
dw BigDecompressionBuffer+$0960 ; 3D - Full bottle (fairy)
|
||||||
dw BigDecompressionBuffer+$18C0 ; 3E - Boss heart
|
dw BigDecompressionBuffer+$18C0 ; 3E - Boss heart
|
||||||
dw BigDecompressionBuffer+$18C0 ; 3F - Sanc heart
|
dw BigDecompressionBuffer+$18C0 ; 3F - Sanc heart
|
||||||
dw BigDecompressionBuffer+$0D20 ; 40 - 100 rupees
|
dw BigDecompressionBuffer+$0D20 ; 40 - 100 rupees
|
||||||
@@ -1292,25 +1292,25 @@ StandingItemGraphicsOffsets:
|
|||||||
dw BigDecompressionBuffer+$0CE0 ; 45 - Small magic
|
dw BigDecompressionBuffer+$0CE0 ; 45 - Small magic
|
||||||
dw BigDecompressionBuffer+$0DA0 ; 46 - 300 rupees
|
dw BigDecompressionBuffer+$0DA0 ; 46 - 300 rupees
|
||||||
dw BigDecompressionBuffer+$0000 ; 47 - 20 rupees green
|
dw BigDecompressionBuffer+$0000 ; 47 - 20 rupees green
|
||||||
dw BigDecompressionBuffer+$09E0 ; 48 - Full bottle (good bee)
|
dw BigDecompressionBuffer+$09A0 ; 48 - Full bottle (good bee)
|
||||||
dw BigDecompressionBuffer+$09E0 ; 49 - Tossed fighter sword
|
dw $00A0 ; 49 - Tossed fighter sword
|
||||||
dw BigDecompressionBuffer+$09E0 ; 4A - Active Flute
|
dw BigDecompressionBuffer+$0C40 ; 4A - Active Flute
|
||||||
dw BigDecompressionBuffer+$09E0 ; 4B - Boots
|
dw BigDecompressionBuffer+$0040 ; 4B - Boots
|
||||||
|
|
||||||
; Rando items
|
; Rando items
|
||||||
dw $04A0 ; 4C - Bomb capacity (50)
|
dw $04A0 ; 4C - Bomb capacity (50)
|
||||||
dw $05A0 ; 4D - Arrow capacity (70)
|
dw $05A0 ; 4D - Arrow capacity (70)
|
||||||
dw BigDecompressionBuffer+$09E0 ; 4E - 1/2 magic
|
dw $01A0 ; 4E - 1/2 magic
|
||||||
dw BigDecompressionBuffer+$09E0 ; 4F - 1/4 magic
|
dw $01E0 ; 4F - 1/4 magic
|
||||||
dw BigDecompressionBuffer+$09E0 ; 50 - Safe master sword
|
dw $00E0 ; 50 - Safe master sword
|
||||||
dw $0420 ; 51 - Bomb capacity (+5)
|
dw $0420 ; 51 - Bomb capacity (+5)
|
||||||
dw BigDecompressionBuffer+$09E0 ; 52 - Bomb capacity (+10)
|
dw $0460 ; 52 - Bomb capacity (+10)
|
||||||
dw $0520 ; 53 - Arrow capacity (+5)
|
dw $0520 ; 53 - Arrow capacity (+5)
|
||||||
dw $0560 ; 54 - Arrow capacity (+10)
|
dw $0560 ; 54 - Arrow capacity (+10)
|
||||||
dw $0 ; 55 - Programmable item 1
|
dw $0 ; 55 - Programmable item 1
|
||||||
dw $0 ; 56 - Programmable item 2
|
dw $0 ; 56 - Programmable item 2
|
||||||
dw $0 ; 57 - Programmable item 3
|
dw $0 ; 57 - Programmable item 3
|
||||||
dw BigDecompressionBuffer+$09E0 ; 58 - Upgrade-only silver arrows
|
dw $05E0 ; 58 - Upgrade-only silver arrows
|
||||||
dw $0 ; 59 - Rupoor
|
dw $0 ; 59 - Rupoor
|
||||||
dw $0020 ; 5A - Nothing
|
dw $0020 ; 5A - Nothing
|
||||||
dw $0DE0 ; 5B - Red clock
|
dw $0DE0 ; 5B - Red clock
|
||||||
|
|||||||
@@ -696,14 +696,6 @@ KeyGet:
|
|||||||
LDA.l StandingItemsOn : BNE +
|
LDA.l StandingItemsOn : BNE +
|
||||||
PLA : RTL
|
PLA : RTL
|
||||||
+ LDY.w SprSourceItemId, X
|
+ LDY.w SprSourceItemId, X
|
||||||
|
|
||||||
JSL ShieldCheck
|
|
||||||
BCS .not_replaced
|
|
||||||
PLA : PLA : PLA ; remove stored address to jump back to
|
|
||||||
PLA ; restore the A value going into KeyGet
|
|
||||||
JML $86D1A8
|
|
||||||
.not_replaced
|
|
||||||
|
|
||||||
LDA.w SprItemIndex, X : STA.w SpawnedItemIndex
|
LDA.w SprItemIndex, X : STA.w SpawnedItemIndex
|
||||||
LDA.w SprItemFlags, X : STA.w SpawnedItemFlag
|
LDA.w SprItemFlags, X : STA.w SpawnedItemFlag
|
||||||
STY.b Scrap00
|
STY.b Scrap00
|
||||||
|
|||||||
@@ -202,22 +202,13 @@ RTL
|
|||||||
|
|
||||||
Multiworld_BottleVendor_GiveBottle:
|
Multiworld_BottleVendor_GiveBottle:
|
||||||
{
|
{
|
||||||
PHA
|
|
||||||
JSL ShieldCheck
|
|
||||||
PLA
|
|
||||||
BCC .no_take_shield
|
|
||||||
|
|
||||||
PHA : PHP
|
PHA : PHP
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.l BottleMerchant_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.l BottleMerchant_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
PLP : PLA
|
PLP : PLA
|
||||||
|
|
||||||
JSL Link_ReceiveItem ; thing we wrote over
|
JSL Link_ReceiveItem ; thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.no_take_shield
|
|
||||||
PLA : PLA : PLA : PLX
|
|
||||||
JML $85EB3A
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Multiworld_MiddleAgedMan_ReactToSecretKeepingResponse:
|
Multiworld_MiddleAgedMan_ReactToSecretKeepingResponse:
|
||||||
|
|||||||
@@ -1159,12 +1159,12 @@ JML StatsFinalPrep
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
ChestPrep:
|
ChestPrep:
|
||||||
LDA.b #$01 : STA.w ItemReceiptMethod
|
LDA.b #$01 : STA.w ItemReceiptMethod
|
||||||
JSL IncrementChestCounter
|
JSL IncrementChestCounter
|
||||||
LDA.l ServerRequestMode : BEQ +
|
LDA.l ServerRequestMode : BEQ +
|
||||||
JSL ChestItemServiceRequest
|
JSL ChestItemServiceRequest
|
||||||
RTL
|
RTL
|
||||||
+
|
+
|
||||||
LDY.b Scrap0C ; get item value
|
LDY.b Scrap0C ; get item value
|
||||||
SEC
|
SEC
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
|
|||||||
88
npcitems.asm
88
npcitems.asm
@@ -98,17 +98,9 @@ ItemSet_MagicBat:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_OldMan:
|
ItemSet_OldMan:
|
||||||
PHA
|
PHA : LDA.l OldManItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID : PLA
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
LDA.l OldManItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
|
||||||
PLA
|
|
||||||
JSL Link_ReceiveItem ; thing we wrote over
|
JSL Link_ReceiveItem ; thing we wrote over
|
||||||
PHA
|
PHA : LDA.l NpcFlags : ORA.b #$01 : STA.l NpcFlags : PLA
|
||||||
LDA.l NpcFlags : ORA.b #$01 : STA.l NpcFlags
|
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_ZoraKing:
|
ItemSet_ZoraKing:
|
||||||
@@ -116,45 +108,21 @@ ItemSet_ZoraKing:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_SickKid:
|
ItemSet_SickKid:
|
||||||
PHA
|
PHA : LDA.l SickKidItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID : PLA
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
LDA.l SickKidItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
|
||||||
PLA
|
|
||||||
JSL Link_ReceiveItem ; thing we wrote over
|
JSL Link_ReceiveItem ; thing we wrote over
|
||||||
PHA
|
PHA : LDA.l NpcFlags : ORA.b #$04 : STA.l NpcFlags : PLA
|
||||||
LDA.l NpcFlags : ORA.b #$04 : STA.l NpcFlags
|
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_TreeKid:
|
ItemSet_TreeKid:
|
||||||
PHA
|
PHA : LDA.l TreeKidItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID : PLA
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
LDA.l TreeKidItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
|
||||||
PLA
|
|
||||||
JSL Link_ReceiveItem ; thing we wrote over
|
JSL Link_ReceiveItem ; thing we wrote over
|
||||||
PHA
|
PHA : LDA.l NpcFlags : ORA.b #$08 : STA.l NpcFlags : PLA
|
||||||
LDA.l NpcFlags : ORA.b #$08 : STA.l NpcFlags
|
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_Sahasrala:
|
ItemSet_Sahasrala:
|
||||||
PHA
|
PHA : LDA.l SahasralaItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID : PLA
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
LDA.l SahasralaItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
|
||||||
PLA
|
|
||||||
JSL Link_ReceiveItem ; thing we wrote over
|
JSL Link_ReceiveItem ; thing we wrote over
|
||||||
PHA
|
PHA : LDA.l NpcFlags : ORA.b #$10 : STA.l NpcFlags : PLA
|
||||||
LDA.l NpcFlags : ORA.b #$10 : STA.l NpcFlags
|
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_Catfish:
|
ItemSet_Catfish:
|
||||||
@@ -162,38 +130,22 @@ ItemSet_Catfish:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_Library:
|
ItemSet_Library:
|
||||||
PHA
|
PHA : LDA.l LibraryItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID : PLA
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
LDA.l LibraryItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
|
||||||
PLA
|
|
||||||
JSL Link_ReceiveItem ; thing we wrote over
|
JSL Link_ReceiveItem ; thing we wrote over
|
||||||
PHA
|
PHA : LDA.l NpcFlags : ORA.b #$80 : STA.l NpcFlags : PLA
|
||||||
LDA.l NpcFlags : ORA.b #$80 : STA.l NpcFlags
|
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_Mushroom:
|
ItemSet_Mushroom:
|
||||||
PHA
|
PHA
|
||||||
|
LDA.l NpcFlags+1 : ORA.b #$10 : STA.l NpcFlags+1
|
||||||
LDY.w SprSourceItemId, X ; Retrieve stored item type
|
LDY.w SprSourceItemId, X ; Retrieve stored item type
|
||||||
BNE +
|
BNE +
|
||||||
; if for any reason the item value is 0 reload it, just in case
|
; if for any reason the item value is 0 reload it, just in case
|
||||||
%GetPossiblyEncryptedItem(MushroomItem, SpriteItemValues) : TAY
|
%GetPossiblyEncryptedItem(MushroomItem, SpriteItemValues) : TAY
|
||||||
+
|
+
|
||||||
|
|
||||||
JSL ShieldCheck
|
|
||||||
BCC .skip
|
|
||||||
LDA.l MushroomItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.l MushroomItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
|
PLA
|
||||||
STZ.w ItemReceiptMethod ; thing we wrote over - the mushroom is an npc for item purposes apparently
|
STZ.w ItemReceiptMethod ; thing we wrote over - the mushroom is an npc for item purposes apparently
|
||||||
PLA
|
|
||||||
|
|
||||||
JSL Link_ReceiveItem
|
|
||||||
PHA
|
|
||||||
LDA.l NpcFlags+1 : ORA.b #$10 : STA.l NpcFlags+1
|
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
ItemSet_Powder:
|
ItemSet_Powder:
|
||||||
@@ -271,26 +223,16 @@ MarkThrownItem:
|
|||||||
LDA.b OverworldIndex : CMP.b #$81 : BNE .catfish
|
LDA.b OverworldIndex : CMP.b #$81 : BNE .catfish
|
||||||
|
|
||||||
.zora
|
.zora
|
||||||
JSL ShieldCheck
|
JSL ItemSet_ZoraKing
|
||||||
BCC .skip
|
|
||||||
|
|
||||||
JSL ItemSet_ZoraKing
|
|
||||||
LDA.l ZoraItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.l ZoraItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
BRA .done
|
BRA .done
|
||||||
|
|
||||||
.catfish
|
.catfish
|
||||||
JSL ShieldCheck
|
JSL ItemSet_Catfish
|
||||||
BCC .skip
|
|
||||||
JSL ItemSet_Catfish
|
|
||||||
|
|
||||||
LDA.l CatfishItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.l CatfishItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
|
|
||||||
.done
|
.done
|
||||||
PLA
|
PLA
|
||||||
JSL Link_ReceiveItem ; thing we wrote over
|
JSL Link_ReceiveItem ; thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.skip
|
|
||||||
PLA
|
|
||||||
RTL
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
448
pikit.asm
448
pikit.asm
@@ -1,448 +0,0 @@
|
|||||||
pushpc
|
|
||||||
org $89EB78
|
|
||||||
db $18, $1A, $AA ; replace uncle with pikit
|
|
||||||
|
|
||||||
org $80DCCE
|
|
||||||
db $1B ; load sprite sheet for pikit in link's house
|
|
||||||
|
|
||||||
org $80FC74
|
|
||||||
NOP #2 ; do not load rain-state sprites
|
|
||||||
|
|
||||||
org $8A8029
|
|
||||||
; move table slightly to center under pikit
|
|
||||||
db $C9, $C0, $DD
|
|
||||||
db $D0, $B8, $3C
|
|
||||||
pullpc
|
|
||||||
|
|
||||||
TuckLink:
|
|
||||||
; what we wrote over
|
|
||||||
STZ.w $037C
|
|
||||||
STZ.w $037D
|
|
||||||
|
|
||||||
LDA.b #$40 : STA.w $0FC2
|
|
||||||
LDA.b #$09 : STA.w $0FC3
|
|
||||||
|
|
||||||
LDA.b #$5A : STA.w $0FC4
|
|
||||||
LDA.b #$21 : STA.w $0FC5
|
|
||||||
|
|
||||||
RTL
|
|
||||||
|
|
||||||
LinkSnoring:
|
|
||||||
LDA.l ProgressIndicator
|
|
||||||
BNE +
|
|
||||||
|
|
||||||
LDA.b #$02
|
|
||||||
STA.l ProgressIndicator
|
|
||||||
LDA.b #$1D
|
|
||||||
LDY.b #$00
|
|
||||||
JSL Sprite_ShowMessageUnconditional
|
|
||||||
BRA ++
|
|
||||||
|
|
||||||
+
|
|
||||||
LDA.b FrameCounter
|
|
||||||
AND.b #$03
|
|
||||||
BNE ++
|
|
||||||
|
|
||||||
LDA.b $9C
|
|
||||||
CMP.b #$20
|
|
||||||
BEQ .lightened
|
|
||||||
|
|
||||||
DEC.b $9C
|
|
||||||
DEC.b $9D
|
|
||||||
|
|
||||||
++
|
|
||||||
; what we wrote over
|
|
||||||
LDA.b FrameCounter
|
|
||||||
AND.b #$1F
|
|
||||||
RTL
|
|
||||||
|
|
||||||
.lightened
|
|
||||||
INC.w $037C
|
|
||||||
INC.w $037D
|
|
||||||
RTL
|
|
||||||
|
|
||||||
LinkAwaken:
|
|
||||||
; what we wrote over
|
|
||||||
LDA.b #$06
|
|
||||||
STA.b LinkState
|
|
||||||
|
|
||||||
LDA.l ProgressFlags
|
|
||||||
ORA.b #$10
|
|
||||||
STA.l ProgressFlags
|
|
||||||
LDA.b #$01
|
|
||||||
STA.l StartingEntrance
|
|
||||||
RTL
|
|
||||||
|
|
||||||
BigChest_ShieldCheck:
|
|
||||||
PHY
|
|
||||||
LDY.b $0C
|
|
||||||
JSL ShieldCheck
|
|
||||||
STY.b $0C
|
|
||||||
PLY
|
|
||||||
BCC .no_open
|
|
||||||
LDA.l BigKeyField
|
|
||||||
AND.l BitMasks, X
|
|
||||||
.no_open
|
|
||||||
RTL
|
|
||||||
|
|
||||||
SmallChest_ShieldCheck:
|
|
||||||
PHY
|
|
||||||
LDY.b $0C
|
|
||||||
JSL ShieldCheck
|
|
||||||
STY.b $0C
|
|
||||||
PLY
|
|
||||||
BCC .no_open
|
|
||||||
LDA.w $0402
|
|
||||||
ORA.w RoomFlagMask, Y
|
|
||||||
.no_open
|
|
||||||
RTL
|
|
||||||
|
|
||||||
ShieldCheck:
|
|
||||||
PHP
|
|
||||||
REP #$30
|
|
||||||
PHX
|
|
||||||
TYA
|
|
||||||
AND.w #$00FF
|
|
||||||
TAX
|
|
||||||
LDA.l PikitItemList, X
|
|
||||||
AND.w #$00FF
|
|
||||||
BNE .replace
|
|
||||||
PLX
|
|
||||||
PLP
|
|
||||||
SEC
|
|
||||||
RTL
|
|
||||||
|
|
||||||
.replace
|
|
||||||
LDA.l ShieldEquipment
|
|
||||||
AND.w #$00FF
|
|
||||||
BNE .already_have_shield
|
|
||||||
TXA
|
|
||||||
STA.l PikitItem
|
|
||||||
LDY.w #$0004
|
|
||||||
PLX
|
|
||||||
PLP
|
|
||||||
SEC
|
|
||||||
RTL
|
|
||||||
|
|
||||||
.already_have_shield
|
|
||||||
SEP #$30
|
|
||||||
LDA.b #$3C
|
|
||||||
STA.w $012E
|
|
||||||
|
|
||||||
PHY
|
|
||||||
LDA.b #$98
|
|
||||||
LDY.b #$01
|
|
||||||
JSL Sprite_ShowMessageUnconditional
|
|
||||||
PLY
|
|
||||||
|
|
||||||
REP #$30
|
|
||||||
|
|
||||||
PLX
|
|
||||||
PLP
|
|
||||||
CLC
|
|
||||||
RTL
|
|
||||||
|
|
||||||
PikitSteal:
|
|
||||||
LDA.l ShieldEquipment
|
|
||||||
BNE .has_shield
|
|
||||||
JSL GetRandomInt
|
|
||||||
JML $9E8D73
|
|
||||||
|
|
||||||
.has_shield
|
|
||||||
LDA.b #$04
|
|
||||||
STA.w $0ED0, X
|
|
||||||
STA.w $0E90, X
|
|
||||||
LDA.b #$01
|
|
||||||
STA.w $0E30, X
|
|
||||||
|
|
||||||
STZ.w $012E
|
|
||||||
|
|
||||||
JML $9E8DC3
|
|
||||||
|
|
||||||
PikitDigest:
|
|
||||||
LDA.w $0ED0, X
|
|
||||||
CMP.b #$04
|
|
||||||
BNE +
|
|
||||||
|
|
||||||
STZ.w $0E90, X
|
|
||||||
|
|
||||||
LDA.l PikitItem
|
|
||||||
CMP.b #$04
|
|
||||||
BEQ +
|
|
||||||
|
|
||||||
TAY
|
|
||||||
STZ.w ItemReceiptMethod
|
|
||||||
JSL Link_ReceiveItem
|
|
||||||
|
|
||||||
LDA.b #$04
|
|
||||||
STA.l PikitItem
|
|
||||||
+
|
|
||||||
|
|
||||||
; what we wrote over
|
|
||||||
STZ.w $0DA0, X
|
|
||||||
STZ.w $0ED0, X
|
|
||||||
|
|
||||||
RTL
|
|
||||||
|
|
||||||
PikitItemList:
|
|
||||||
db $01 ; 00 - Fighter Sword and Shield
|
|
||||||
db $01 ; 01 - Master Sword
|
|
||||||
db $01 ; 02 - Tempered Sword
|
|
||||||
db $01 ; 03 - Butter Sword
|
|
||||||
db $00 ; 04 - Fighter Shield
|
|
||||||
db $00 ; 05 - Fire Shield
|
|
||||||
db $00 ; 06 - Mirror Shield
|
|
||||||
db $01 ; 07 - Fire Rod
|
|
||||||
db $01 ; 08 - Ice Rod
|
|
||||||
db $01 ; 09 - Hammer
|
|
||||||
db $01 ; 0A - Hookshot
|
|
||||||
db $01 ; 0B - Bow
|
|
||||||
db $01 ; 0C - Boomerang
|
|
||||||
db $01 ; 0D - Powder
|
|
||||||
db $00 ; 0E - Bottle Refill (bee)
|
|
||||||
db $01 ; 0F - Bombos
|
|
||||||
db $01 ; 10 - Ether
|
|
||||||
db $01 ; 11 - Quake
|
|
||||||
db $01 ; 12 - Lamp
|
|
||||||
db $01 ; 13 - Shovel
|
|
||||||
db $01 ; 14 - Flute
|
|
||||||
db $01 ; 15 - Somaria
|
|
||||||
db $01 ; 16 - Bottle
|
|
||||||
db $00 ; 17 - Heartpiece
|
|
||||||
db $01 ; 18 - Byrna
|
|
||||||
db $01 ; 19 - Cape
|
|
||||||
db $01 ; 1A - Mirror
|
|
||||||
db $01 ; 1B - Glove
|
|
||||||
db $01 ; 1C - Mitts
|
|
||||||
db $01 ; 1D - Book
|
|
||||||
db $01 ; 1E - Flippers
|
|
||||||
db $01 ; 1F - Pearl
|
|
||||||
db $00 ; 20 - Crystal
|
|
||||||
db $01 ; 21 - Net
|
|
||||||
db $00 ; 22 - Blue Mail
|
|
||||||
db $00 ; 23 - Red Mail
|
|
||||||
db $00 ; 24 - Small Key
|
|
||||||
db $00 ; 25 - Compass
|
|
||||||
db $00 ; 26 - Heart Container from 4/4
|
|
||||||
db $00 ; 27 - Bomb
|
|
||||||
db $00 ; 28 - 3 bombs
|
|
||||||
db $01 ; 29 - Mushroom
|
|
||||||
db $01 ; 2A - Red boomerang
|
|
||||||
db $01 ; 2B - Full bottle (red)
|
|
||||||
db $01 ; 2C - Full bottle (green)
|
|
||||||
db $01 ; 2D - Full bottle (blue)
|
|
||||||
db $00 ; 2E - Potion refill (red)
|
|
||||||
db $00 ; 2F - Potion refill (green)
|
|
||||||
db $00 ; 30 - Potion refill (blue)
|
|
||||||
db $00 ; 31 - 10 bombs
|
|
||||||
db $00 ; 32 - Big key
|
|
||||||
db $00 ; 33 - Map
|
|
||||||
db $00 ; 34 - 1 rupee
|
|
||||||
db $00 ; 35 - 5 rupees
|
|
||||||
db $00 ; 36 - 20 rupees
|
|
||||||
db $00 ; 37 - Green pendant
|
|
||||||
db $00 ; 38 - Blue pendant
|
|
||||||
db $00 ; 39 - Red pendant
|
|
||||||
db $01 ; 3A - Tossed bow
|
|
||||||
db $01 ; 3B - Silvers
|
|
||||||
db $01 ; 3C - Full bottle (bee)
|
|
||||||
db $01 ; 3D - Full bottle (fairy)
|
|
||||||
db $00 ; 3E - Boss heart
|
|
||||||
db $00 ; 3F - Sanc heart
|
|
||||||
db $00 ; 40 - 100 rupees
|
|
||||||
db $00 ; 41 - 50 rupees
|
|
||||||
db $00 ; 42 - Heart
|
|
||||||
db $00 ; 43 - Arrow
|
|
||||||
db $00 ; 44 - 10 arrows
|
|
||||||
db $00 ; 45 - Small magic
|
|
||||||
db $00 ; 46 - 300 rupees
|
|
||||||
db $00 ; 47 - 20 rupees green
|
|
||||||
db $01 ; 48 - Full bottle (good bee)
|
|
||||||
db $01 ; 49 - Tossed fighter sword
|
|
||||||
db $01 ; 4A - Active Flute
|
|
||||||
db $01 ; 4B - Boots
|
|
||||||
|
|
||||||
db $00 ; 4C - Bomb capacity (50)
|
|
||||||
db $00 ; 4D - Arrow capacity (70)
|
|
||||||
db $01 ; 4E - 1/2 magic
|
|
||||||
db $01 ; 4F - 1/4 magic
|
|
||||||
db $01 ; 50 - Safe master sword
|
|
||||||
db $00 ; 51 - Bomb capacity (+5)
|
|
||||||
db $01 ; 52 - Bomb capacity (+10)
|
|
||||||
db $00 ; 53 - Arrow capacity (+5)
|
|
||||||
db $00 ; 54 - Arrow capacity (+10)
|
|
||||||
db $00 ; 55 - Programmable item 1
|
|
||||||
db $00 ; 56 - Programmable item 2
|
|
||||||
db $00 ; 57 - Programmable item 3
|
|
||||||
db $01 ; 58 - Upgrade-only silver arrows
|
|
||||||
db $00 ; 59 - Rupoor
|
|
||||||
db $00 ; 5A - Nothing
|
|
||||||
db $00 ; 5B - Red clock
|
|
||||||
db $00 ; 5C - Blue clock
|
|
||||||
db $00 ; 5D - Green clock
|
|
||||||
db $01 ; 5E - Progressive sword
|
|
||||||
db $00 ; 5F - Progressive shield
|
|
||||||
db $00 ; 60 - Progressive armor
|
|
||||||
db $01 ; 61 - Progressive glove
|
|
||||||
db $00 ; 62 - RNG pool item (single)
|
|
||||||
db $00 ; 63 - RNG pool item (multi)
|
|
||||||
db $01 ; 64 - Progressive bow
|
|
||||||
db $01 ; 65 - Progressive bow
|
|
||||||
db $00 ; 66 -
|
|
||||||
db $00 ; 67 -
|
|
||||||
db $00 ; 68 -
|
|
||||||
db $00 ; 69 -
|
|
||||||
db $00 ; 6A - Triforce
|
|
||||||
db $00 ; 6B - Power star
|
|
||||||
db $00 ; 6C - Triforce Piece
|
|
||||||
db $00 ; 6D - Server request item
|
|
||||||
db $00 ; 6E - Server request item (dungeon drop)
|
|
||||||
db $00 ; 6F -
|
|
||||||
|
|
||||||
db $00 ; 70 - Map of Light World
|
|
||||||
db $00 ; 71 - Map of Dark World
|
|
||||||
db $00 ; 72 - Map of Ganon's Tower
|
|
||||||
db $00 ; 73 - Map of Turtle Rock
|
|
||||||
db $00 ; 74 - Map of Thieves' Town
|
|
||||||
db $00 ; 75 - Map of Tower of Hera
|
|
||||||
db $00 ; 76 - Map of Ice Palace
|
|
||||||
db $00 ; 77 - Map of Skull Woods
|
|
||||||
db $00 ; 78 - Map of Misery Mire
|
|
||||||
db $00 ; 79 - Map of Dark Palace
|
|
||||||
db $00 ; 7A - Map of Swamp Palace
|
|
||||||
db $00 ; 7B - Map of Agahnim's Tower
|
|
||||||
db $00 ; 7C - Map of Desert Palace
|
|
||||||
db $00 ; 7D - Map of Eastern Palace
|
|
||||||
db $00 ; 7E - Map of Hyrule Castle
|
|
||||||
db $00 ; 7F - Map of Sewers
|
|
||||||
|
|
||||||
db $00 ; 80 - Compass of Light World
|
|
||||||
db $00 ; 81 - Compass of Dark World
|
|
||||||
db $00 ; 82 - Compass of Ganon's Tower
|
|
||||||
db $00 ; 83 - Compass of Turtle Rock
|
|
||||||
db $00 ; 84 - Compass of Thieves' Town
|
|
||||||
db $00 ; 85 - Compass of Tower of Hera
|
|
||||||
db $00 ; 86 - Compass of Ice Palace
|
|
||||||
db $00 ; 87 - Compass of Skull Woods
|
|
||||||
db $00 ; 88 - Compass of Misery Mire
|
|
||||||
db $00 ; 89 - Compass of Dark Palace
|
|
||||||
db $00 ; 8A - Compass of Swamp Palace
|
|
||||||
db $00 ; 8B - Compass of Agahnim's Tower
|
|
||||||
db $00 ; 8C - Compass of Desert Palace
|
|
||||||
db $00 ; 8D - Compass of Eastern Palace
|
|
||||||
db $00 ; 8E - Compass of Hyrule Castle
|
|
||||||
db $00 ; 8F - Compass of Sewers
|
|
||||||
|
|
||||||
db $00 ; 90 - Skull key
|
|
||||||
db $00 ; 91 - Reserved
|
|
||||||
db $00 ; 92 - Big key of Ganon's Tower
|
|
||||||
db $00 ; 93 - Big key of Turtle Rock
|
|
||||||
db $00 ; 94 - Big key of Thieves' Town
|
|
||||||
db $00 ; 95 - Big key of Tower of Hera
|
|
||||||
db $00 ; 96 - Big key of Ice Palace
|
|
||||||
db $00 ; 97 - Big key of Skull Woods
|
|
||||||
db $00 ; 98 - Big key of Misery Mire
|
|
||||||
db $00 ; 99 - Big key of Dark Palace
|
|
||||||
db $00 ; 9A - Big key of Swamp Palace
|
|
||||||
db $00 ; 9B - Big key of Agahnim's Tower
|
|
||||||
db $00 ; 9C - Big key of Desert Palace
|
|
||||||
db $00 ; 9D - Big key of Eastern Palace
|
|
||||||
db $00 ; 9E - Big key of Hyrule Castle
|
|
||||||
db $00 ; 9F - Big key of Sewers
|
|
||||||
|
|
||||||
db $00 ; A0 - Small key of Sewers
|
|
||||||
db $00 ; A1 - Small key of Hyrule Castle
|
|
||||||
db $00 ; A2 - Small key of Eastern Palace
|
|
||||||
db $00 ; A3 - Small key of Desert Palace
|
|
||||||
db $00 ; A4 - Small key of Agahnim's Tower
|
|
||||||
db $00 ; A5 - Small key of Swamp Palace
|
|
||||||
db $00 ; A6 - Small key of Dark Palace
|
|
||||||
db $00 ; A7 - Small key of Misery Mire
|
|
||||||
db $00 ; A8 - Small key of Skull Woods
|
|
||||||
db $00 ; A9 - Small key of Ice Palace
|
|
||||||
db $00 ; AA - Small key of Tower of Hera
|
|
||||||
db $00 ; AB - Small key of Thieves' Town
|
|
||||||
db $00 ; AC - Small key of Turtle Rock
|
|
||||||
db $00 ; AD - Small key of Ganon's Tower
|
|
||||||
db $00 ; AE - Reserved
|
|
||||||
db $00 ; AF - Generic small key
|
|
||||||
db $00 ; B0 - Crystal 6
|
|
||||||
db $00 ; B1 - Crystal 1
|
|
||||||
db $00 ; B2 - Crystal 5
|
|
||||||
db $00 ; B3 - Crystal 7
|
|
||||||
db $00 ; B4 - Crystal 2
|
|
||||||
db $00 ; B5 - Crystal 4
|
|
||||||
db $00 ; B6 - Crystal 3
|
|
||||||
db $00 ; B7 - Reserved
|
|
||||||
db $00 ; B8 -
|
|
||||||
db $00 ; B9 -
|
|
||||||
db $00 ; BA -
|
|
||||||
db $00 ; BB -
|
|
||||||
db $00 ; BC -
|
|
||||||
db $00 ; BD -
|
|
||||||
db $00 ; BE -
|
|
||||||
db $00 ; BF -
|
|
||||||
db $00 ; C0 -
|
|
||||||
db $00 ; C1 -
|
|
||||||
db $00 ; C2 -
|
|
||||||
db $00 ; C3 -
|
|
||||||
db $00 ; C4 -
|
|
||||||
db $00 ; C5 -
|
|
||||||
db $00 ; C6 -
|
|
||||||
db $00 ; C7 -
|
|
||||||
db $00 ; C8 -
|
|
||||||
db $00 ; C9 -
|
|
||||||
db $00 ; CA -
|
|
||||||
db $00 ; CB -
|
|
||||||
db $00 ; CC -
|
|
||||||
db $00 ; CD -
|
|
||||||
db $00 ; CE -
|
|
||||||
db $00 ; CF -
|
|
||||||
db $00 ; D0 - Bee trap
|
|
||||||
db $00 ; D1 - Apples
|
|
||||||
db $00 ; D2 - Fairy
|
|
||||||
db $00 ; D3 - Chicken
|
|
||||||
db $00 ; D4 - Big Magic
|
|
||||||
db $00 ; D5 - 5 Arrows
|
|
||||||
db $00 ; D6 - Good Bee
|
|
||||||
db $00 ; D7 -
|
|
||||||
db $00 ; D8 -
|
|
||||||
db $00 ; D9 -
|
|
||||||
db $00 ; DA -
|
|
||||||
db $00 ; DB -
|
|
||||||
db $00 ; DC -
|
|
||||||
db $00 ; DD -
|
|
||||||
db $00 ; DE -
|
|
||||||
db $00 ; DF -
|
|
||||||
db $00 ; E0 -
|
|
||||||
db $00 ; E1 -
|
|
||||||
db $00 ; E2 -
|
|
||||||
db $00 ; E3 -
|
|
||||||
db $00 ; E4 -
|
|
||||||
db $00 ; E5 -
|
|
||||||
db $00 ; E6 -
|
|
||||||
db $00 ; E7 -
|
|
||||||
db $00 ; E8 -
|
|
||||||
db $00 ; E9 -
|
|
||||||
db $00 ; EA -
|
|
||||||
db $00 ; EB -
|
|
||||||
db $00 ; EC -
|
|
||||||
db $00 ; ED -
|
|
||||||
db $00 ; EE -
|
|
||||||
db $00 ; EF -
|
|
||||||
db $00 ; F0 -
|
|
||||||
db $00 ; F1 -
|
|
||||||
db $00 ; F2 -
|
|
||||||
db $00 ; F3 -
|
|
||||||
db $00 ; F4 -
|
|
||||||
db $00 ; F5 -
|
|
||||||
db $00 ; F6 -
|
|
||||||
db $00 ; F7 -
|
|
||||||
db $00 ; F8 -
|
|
||||||
db $00 ; F9 -
|
|
||||||
db $00 ; FA -
|
|
||||||
db $00 ; FB -
|
|
||||||
db $00 ; FC -
|
|
||||||
db $00 ; FD -
|
|
||||||
db $00 ; FE - Server request (async)
|
|
||||||
db $00 ; FF -
|
|
||||||
3
ram.asm
3
ram.asm
@@ -619,8 +619,7 @@ HexToDecDigit3: skip 1 ;
|
|||||||
HexToDecDigit4: skip 1 ;
|
HexToDecDigit4: skip 1 ;
|
||||||
HexToDecDigit5: skip 1 ;
|
HexToDecDigit5: skip 1 ;
|
||||||
SpriteSkipEOR: skip 2 ; Used in utilities.asm to determine when to skip drawing sprites. Zero-padded
|
SpriteSkipEOR: skip 2 ; Used in utilities.asm to determine when to skip drawing sprites. Zero-padded
|
||||||
skip $2A ; Unused
|
skip $2B ; Unused
|
||||||
BossDropTouched: skip 1
|
|
||||||
AltTextFlag: skip 2 ; dialog.asm: Determines whether to load from vanilla decompression buffer
|
AltTextFlag: skip 2 ; dialog.asm: Determines whether to load from vanilla decompression buffer
|
||||||
; or from a secondary buffer (used for things like free dungeon item text)
|
; or from a secondary buffer (used for things like free dungeon item text)
|
||||||
BossKills: skip 1 ;
|
BossKills: skip 1 ;
|
||||||
|
|||||||
3
sram.asm
3
sram.asm
@@ -190,8 +190,7 @@ ItemLimitCounts: skip 16 ; Keeps track of limited non-progressive items s
|
|||||||
; See: ItemSubstitutionRules in tables.asm
|
; See: ItemSubstitutionRules in tables.asm
|
||||||
; Right now this is only used for three items but extra space is
|
; Right now this is only used for three items but extra space is
|
||||||
; reserved
|
; reserved
|
||||||
skip 32 ; Unused
|
skip 34 ; Unused
|
||||||
PikitItem: skip 2 ; Item stored in shield player is carrying
|
|
||||||
FluteBitfield: skip 1 ;
|
FluteBitfield: skip 1 ;
|
||||||
SpecialWeaponLevel: skip 1 ; keeps track of level in special weapon modes
|
SpecialWeaponLevel: skip 1 ; keeps track of level in special weapon modes
|
||||||
ItemOnB: skip 1 ; NYI
|
ItemOnB: skip 1 ; NYI
|
||||||
|
|||||||
@@ -132,12 +132,6 @@ GetSmithSword:
|
|||||||
.buy
|
.buy
|
||||||
LDA.l SmithItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.l SmithItem_Player : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
LDA.l SmithItem : TAY
|
LDA.l SmithItem : TAY
|
||||||
|
|
||||||
JSL ShieldCheck
|
|
||||||
BCS +
|
|
||||||
JML $86B4A5
|
|
||||||
|
|
||||||
+
|
|
||||||
STZ.w ItemReceiptMethod ; Item from NPC
|
STZ.w ItemReceiptMethod ; Item from NPC
|
||||||
PHX : JSL Link_ReceiveItem : PLX
|
PHX : JSL Link_ReceiveItem : PLX
|
||||||
|
|
||||||
|
|||||||
22
tablets.asm
22
tablets.asm
@@ -57,7 +57,7 @@ RTL
|
|||||||
MaybeUnlockTabletAnimation:
|
MaybeUnlockTabletAnimation:
|
||||||
PHA : PHP
|
PHA : PHP
|
||||||
JSL IsMedallion : BCC +
|
JSL IsMedallion : BCC +
|
||||||
JSR SetTabletItemFlag
|
JSR SetTabletItemFlag
|
||||||
STZ.w MedallionFlag ; disable falling-medallion mode
|
STZ.w MedallionFlag ; disable falling-medallion mode
|
||||||
STZ.w ForceSwordUp ; release link from item-up pose
|
STZ.w ForceSwordUp ; release link from item-up pose
|
||||||
LDA.b #$00 : STA.b LinkState ; set link to ground state
|
LDA.b #$00 : STA.b LinkState ; set link to ground state
|
||||||
@@ -73,26 +73,6 @@ MaybeUnlockTabletAnimation:
|
|||||||
PLP : PLA
|
PLP : PLA
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
MaybeFreeLinkFromTablet:
|
|
||||||
PHA : PHP
|
|
||||||
JSL IsMedallion : BCC +
|
|
||||||
STZ.w MedallionFlag ; disable falling-medallion mode
|
|
||||||
STZ.w ForceSwordUp ; release link from item-up pose
|
|
||||||
LDA.b #$00 : STA.b LinkState ; set link to ground state
|
|
||||||
STZ.w CutsceneFlag
|
|
||||||
STZ.w NoDamage
|
|
||||||
|
|
||||||
REP #$20 ; set 16-bit accumulator
|
|
||||||
LDA.b OverworldIndex : CMP.w #$0030 : BNE ++ ; Desert
|
|
||||||
SEP #$20 ; set 8-bit accumulator
|
|
||||||
LDA.b #$02 : STA.b LinkDirection ; face link forward
|
|
||||||
LDA.b #$3C : STA.b LinkIncapacitatedTimer ; lock link for 60f
|
|
||||||
++
|
|
||||||
SEP #$20 ; set 8-bit accumulator
|
|
||||||
+
|
|
||||||
PLP : PLA
|
|
||||||
RTL
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
IsMedallion:
|
IsMedallion:
|
||||||
REP #$20 ; set 16-bit accumulator
|
REP #$20 ; set 16-bit accumulator
|
||||||
LDA.b OverworldIndex
|
LDA.b OverworldIndex
|
||||||
|
|||||||
@@ -192,7 +192,6 @@ LoadBackgroundGraphics_arbitrary = $80E64D
|
|||||||
RoomTag_GetHeartForPrize = $81C709
|
RoomTag_GetHeartForPrize = $81C709
|
||||||
RoomTag_GetHeartForPrize_spawn_prize = $81C731
|
RoomTag_GetHeartForPrize_spawn_prize = $81C731
|
||||||
RoomTag_GetHeartForPrize_delete_tag = $81C749
|
RoomTag_GetHeartForPrize_delete_tag = $81C749
|
||||||
RoomTag_GetHeartForPrize_exit = $81C74D
|
|
||||||
Underworld_SetBossOrSancMusicUponEntry = $828AD9
|
Underworld_SetBossOrSancMusicUponEntry = $828AD9
|
||||||
ResetThenCacheRoomEntryProperties = $828C73
|
ResetThenCacheRoomEntryProperties = $828C73
|
||||||
RecoverPositionAfterDrowning = $829485
|
RecoverPositionAfterDrowning = $829485
|
||||||
@@ -274,7 +273,6 @@ PalettesVanilla_spraux09 = $9BD47E
|
|||||||
; Misc. Data
|
; Misc. Data
|
||||||
;===================================================================================================
|
;===================================================================================================
|
||||||
DungeonMask = $8098C0
|
DungeonMask = $8098C0
|
||||||
RoomFlagMask = $809900
|
|
||||||
GFXSheetPointers_background_bank = $80CFC0
|
GFXSheetPointers_background_bank = $80CFC0
|
||||||
GFXSheetPointers_background_high = $80D09F
|
GFXSheetPointers_background_high = $80D09F
|
||||||
GFXSheetPointers_background_low = $80D17E
|
GFXSheetPointers_background_low = $80D17E
|
||||||
|
|||||||
Reference in New Issue
Block a user