let's dev 2/23/18
fixed shops disregarding item counts (extra hitbox, etc) fixed rupee arrows regarding requiring wooden arrows before being able to fire them finished escape assist mode for ammo management in new game mode
This commit is contained in:
@@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF
|
||||
db #$00 ; expand file to 2mb
|
||||
|
||||
org $1FFFF8 ; <- FFFF8 timestamp rom
|
||||
db #$20, #$18, #$02, #$22 ; year/month/day
|
||||
db #$20, #$18, #$02, #$23 ; year/month/day
|
||||
|
||||
;================================================================================
|
||||
|
||||
|
||||
@@ -26,6 +26,14 @@ OnDungeonExit:
|
||||
PLP : PLA
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
OnUncleItemGet:
|
||||
JSL Link_ReceiveItem
|
||||
LDA.l EscapeAssist
|
||||
BIT.b #$04 : BEQ + : STA !INFINITE_MAGIC : +
|
||||
BIT.b #$02 : BEQ + : STA !INFINITE_BOMBS : +
|
||||
AND.b #$01 : STA !INFINITE_ARROWS
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
OnAga2Defeated:
|
||||
JSL.l Dungeon_SaveRoomData_justKeys ; thing we wrote over, make sure this is first
|
||||
JSL.l IncrementAgahnim2Sword
|
||||
|
||||
@@ -1151,6 +1151,9 @@ JSL.l SetUncleRainState : RTS
|
||||
org $05EDDF ; <- 2EDDF - sprite_zelda.asm:398 - (LDA.b #$02 : STA $7EF3C5)
|
||||
JSL.l EndRainState : NOP #2
|
||||
;--------------------------------------------------------------------------------
|
||||
org $05DF49 ; <- 2DF49 - sprite_uncle_and_priest.asm:984 - (JSL Link_ReceiveItem)
|
||||
JSL.l OnUncleItemGet
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Generic Keys
|
||||
|
||||
@@ -208,7 +208,9 @@ AddInventory:
|
||||
LDA !INVENTORY_SWAP : ORA #$01 : STA !INVENTORY_SWAP
|
||||
BRL .incrementCounts
|
||||
+ CPY.b #$0B : BNE + ; Bow
|
||||
LDA ArrowMode : BNE +++
|
||||
LDA !INVENTORY_SWAP_2 : ORA #$80 : STA !INVENTORY_SWAP_2
|
||||
+++
|
||||
BRL .incrementCounts
|
||||
+ CPY.b #$3A : BNE + ; Bow & Arrows
|
||||
LDA !INVENTORY_SWAP_2 : ORA #$80 : STA !INVENTORY_SWAP_2
|
||||
@@ -216,6 +218,11 @@ AddInventory:
|
||||
+ CPY.b #$3B : BNE + ; Bow & Silver Arrows
|
||||
LDA !INVENTORY_SWAP_2 : ORA #$40 : STA !INVENTORY_SWAP_2
|
||||
BRL .incrementCounts
|
||||
+ CPY.b #$43 : BNE + ; Single arrow
|
||||
LDA ArrowMode : BEQ +++
|
||||
LDA !INVENTORY_SWAP_2 : ORA #$80 : STA !INVENTORY_SWAP_2 ; activate wood arrows in quick-swap
|
||||
+++
|
||||
BRL .incrementCounts
|
||||
+ CPY.b #$58 : BNE + ; Upgrade-Only Silver Arrows
|
||||
LDA !INVENTORY_SWAP_2 : ORA #$40 : STA !INVENTORY_SWAP_2
|
||||
+
|
||||
|
||||
@@ -178,7 +178,7 @@ AddReceivedItemExpandedGetItem:
|
||||
JSL.l FreeDungeonItemNotice
|
||||
CMP.b #$0B : BNE + ; Bow
|
||||
LDA !INVENTORY_SWAP_2 : AND.b #$40 : BEQ ++
|
||||
LDA.b #03 : STA $7EF340 ; set bow silver
|
||||
LDA.b #03 : STA $7EF340 ; set bow to silver
|
||||
++
|
||||
BRL .done
|
||||
+ CMP.b #$4C : BNE + ; 50 bombs
|
||||
@@ -234,6 +234,9 @@ AddReceivedItemExpandedGetItem:
|
||||
LDA $7EF340 : BEQ ++ : CMP.b #$03 : !BGE ++
|
||||
!ADD.b #$02 : STA $7EF340 ; switch to silver bow
|
||||
++
|
||||
LDA.l ArrowMode : BEQ ++
|
||||
LDA.b #$01 : STA $7EF376
|
||||
++
|
||||
+ CMP.b #$59 : BNE + ; 1 Rupoor
|
||||
REP #$20 : LDA $7EF360 : !SUB RupoorDeduction : STA $7EF360 : SEP #$20 ; Take 1 rupee
|
||||
BRL .done
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
;================================================================================
|
||||
; Open Mode Uncle Rain State Check
|
||||
;================================================================================
|
||||
!INFINITE_ARROWS = "$7F50C8"
|
||||
!INFINITE_BOMBS = "$7F50C9"
|
||||
!INFINITE_MAGIC = "$7F50CA"
|
||||
SetUncleRainState:
|
||||
LDA.l OpenMode : BEQ + : RTL : + ; we're done if open mode is on
|
||||
LDA.b #$01 : STA $7EF3C5
|
||||
@@ -13,6 +16,7 @@ InitOpenMode:
|
||||
LDA $7EF3C6 : ORA #$14 : STA $7EF3C6 ; remove uncle
|
||||
LDA $7EF3C8 : CMP #$05 : BEQ ++ : LDA.b #$01 : ++ : STA $7EF3C8 ; set spawn points to house+sanc unless already house+sanc+mountain
|
||||
LDA $7EF29B : ORA.b #$20 : STA $7EF29B ; open castle gate
|
||||
RTL
|
||||
+
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -300,6 +300,7 @@ RTL
|
||||
!DrawMagicMeter_mp_tilemap = "$0DFE0F"
|
||||
DrawMagicMeter:
|
||||
LDA !INFINITE_MAGIC : BNE + : BRL .green : +
|
||||
SEP #$20 : LDA.b #$80 : STA $7EF36E : REP #$20 ; set magic to max
|
||||
LDX.w #$0080 ; load full magic meter graphics
|
||||
LDA $1A : AND.w #$000C : LSR #2
|
||||
BEQ .red
|
||||
|
||||
@@ -445,7 +445,8 @@ Shopkeeper_SetupHitboxes:
|
||||
JSR.w Shopkeeper_BuyItem
|
||||
.no_interaction
|
||||
INY #4
|
||||
CPY.b #$0C : !BLT -
|
||||
TYA : CMP !SHOP_CAPACITY : !BLT -
|
||||
;CPY.b #$0C : !BLT -
|
||||
|
||||
PLP : PLY : PLX
|
||||
RTS
|
||||
|
||||
12
tables.asm
12
tables.asm
@@ -103,7 +103,7 @@ db #$00 ; #$00 = Off (default) - #$01 = On
|
||||
;--------------------------------------------------------------------------------
|
||||
org $308032 ; PC 0x180032
|
||||
OpenMode:
|
||||
db #$01 ; #$00 = Normal (default) - #$01 = Open
|
||||
db #$00 ; #$00 = Normal (default) - #$01 = Open
|
||||
;--------------------------------------------------------------------------------
|
||||
org $308033 ; PC 0x180033
|
||||
HeartBeep:
|
||||
@@ -205,6 +205,14 @@ org $30804C ; PC 0x18004C
|
||||
SmithTravelsFreely:
|
||||
db #$00 ; #$00 = Off (default) - #$01 = On (frog/smith can enter multi-entrance doors)
|
||||
;--------------------------------------------------------------------------------
|
||||
org $30804D ; PC 0x18004D
|
||||
EscapeAssist:
|
||||
db #$00
|
||||
;---- -mba
|
||||
;m - Infinite Magic
|
||||
;b - Infinite Bombs
|
||||
;a - Infinite Arrows
|
||||
;--------------------------------------------------------------------------------
|
||||
org $308080 ; PC 0x180080
|
||||
Upgrade5BombsRefill:
|
||||
db #$00
|
||||
@@ -715,7 +723,7 @@ db #$08 ; #$08 = 1 Heart (default) - #$02 = 1/4 Heart
|
||||
;================================================================================
|
||||
org $308169 ; PC 0x180169
|
||||
AgahnimDoorStyle:
|
||||
db #$00 ; #00 = Never Locked - #$01 = Locked During Escape (default)
|
||||
db #$01 ; #00 = Never Locked - #$01 = Locked During Escape (default)
|
||||
;================================================================================
|
||||
org $30816A ; PC 0x18016A
|
||||
FreeItemText:
|
||||
|
||||
@@ -12,6 +12,7 @@ RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
EndRainState:
|
||||
LDA $7EF3C5 : CMP.b #$02 : !BGE + ; skip if past escape already
|
||||
LDA.b #$00 : STA !INFINITE_ARROWS : STA !INFINITE_BOMBS : STA !INFINITE_MAGIC
|
||||
LDA.b #$02 : STA $7EF3C5 ; end rain state
|
||||
+
|
||||
RTL
|
||||
|
||||
Reference in New Issue
Block a user