Merged in DR v1.4.1.6
This commit is contained in:
@@ -2,20 +2,20 @@
|
||||
; Fairy Changes & Fixes
|
||||
;--------------------------------------------------------------------------------
|
||||
RefillHealthPlusMagic:
|
||||
LDA BigFairyHealth : STA HeartsFiller
|
||||
LDA.l BigFairyHealth : STA.l HeartsFiller
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
RefillHealthPlusMagic8bit:
|
||||
LDA BigFairyHealth : STA HeartsFiller
|
||||
LDA BigFairyMagic : STA MagicFiller
|
||||
LDA.l BigFairyHealth : STA.l HeartsFiller
|
||||
LDA.l BigFairyMagic : STA.l MagicFiller
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
CheckFullHealth:
|
||||
LDA BigFairyHealth : BEQ +
|
||||
LDA CurrentHealth : CMP MaximumHealth : BNE .player_hp_not_full_yet
|
||||
LDA.l BigFairyHealth : BEQ +
|
||||
LDA.l CurrentHealth : CMP.l MaximumHealth : BNE .player_hp_not_full_yet
|
||||
+
|
||||
LDA BigFairyMagic : BEQ +
|
||||
LDA CurrentMagic : CMP.b #$80 : BNE .player_mp_not_full_yet
|
||||
LDA.l BigFairyMagic : BEQ +
|
||||
LDA.l CurrentMagic : CMP.b #$80 : BNE .player_mp_not_full_yet
|
||||
+
|
||||
LDA.b #$00
|
||||
RTL
|
||||
@@ -27,60 +27,59 @@ RTL
|
||||
FairyPond_Init:
|
||||
LDA.l Restrict_Ponds : BNE +
|
||||
LDA.b #$48
|
||||
JML.l Sprite_ShowMessageFromPlayerContact
|
||||
JML Sprite_ShowMessageFromPlayerContact
|
||||
+
|
||||
PHY : JSL.l Sprite_CheckDamageToPlayerSameLayerLong : BCC +
|
||||
LDA BottleContentsOne : CMP.b #$02 : BNE ++ : LDA.b #$1C : PHA : BRA .emptyBottle : ++
|
||||
LDA BottleContentsTwo : CMP.b #$02 : BNE ++ : LDA.b #$1D : PHA : BRA .emptyBottle : ++
|
||||
LDA BottleContentsThree : CMP.b #$02 : BNE ++ : LDA.b #$1E : PHA : BRA .emptyBottle : ++
|
||||
LDA BottleContentsFour : CMP.b #$02 : BNE ++ : LDA.b #$1F : PHA : BRA .emptyBottle : ++
|
||||
PHY : JSL Sprite_CheckDamageToPlayerSameLayerLong : BCC +
|
||||
LDA.l BottleContentsOne : CMP.b #$02 : BNE ++ : LDA.b #$1C : PHA : BRA .emptyBottle : ++
|
||||
LDA.l BottleContentsTwo : CMP.b #$02 : BNE ++ : LDA.b #$1D : PHA : BRA .emptyBottle : ++
|
||||
LDA.l BottleContentsThree : CMP.b #$02 : BNE ++ : LDA.b #$1E : PHA : BRA .emptyBottle : ++
|
||||
LDA.l BottleContentsFour : CMP.b #$02 : BNE ++ : LDA.b #$1F : PHA : BRA .emptyBottle : ++
|
||||
.noInventory
|
||||
LDA.b #$0A : STA $0D80, X
|
||||
LDA.b #$0A : STA.w SpriteActivity, X
|
||||
LDA.b #$51
|
||||
LDY.b #$01
|
||||
JSL.l Sprite_ShowMessageFromPlayerContact
|
||||
JSL Sprite_ShowMessageFromPlayerContact
|
||||
JMP .cleanup
|
||||
|
||||
.emptyBottle
|
||||
LDA.b #$02 : STA $0D80, X
|
||||
;JSL Player_ResetState ; If we continue to have issues, add this in too. (After determining the address for it)
|
||||
STZ $2F
|
||||
LDA.b #$01 : STA $02E4
|
||||
PLA : STA $1CE8
|
||||
LDA.b #$02 : STA.w SpriteActivity, X
|
||||
STZ.b LinkDirection
|
||||
LDA.b #$01 : STA.w CutsceneFlag
|
||||
PLA : STA.w MessageCursor
|
||||
.cleanup
|
||||
STZ $0EB0, X ; Clear the sprite's item-given variable
|
||||
STZ.w SpriteDirectionTable, X ; Clear the sprite's item-given variable
|
||||
CLC ; skip rest of original function
|
||||
+ : PLY
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
HappinessPond_Check:
|
||||
LDA $A0 : CMP.b #$15 ;what we wrote over
|
||||
LDA.b RoomIndex : CMP.b #$15 ;what we wrote over
|
||||
BNE .done
|
||||
PHP
|
||||
|
||||
LDA.b #$72
|
||||
JSL Sprite_SpawnDynamically
|
||||
|
||||
LDA $0FD8 : STA $0D10, Y
|
||||
LDA $0FD9 : STA $0D30, Y
|
||||
LDA.w SpriteCoordCacheX : STA.w SpritePosXLow, Y
|
||||
LDA.w SpriteCoordCacheX+1 : STA.w SpritePosXHigh, Y
|
||||
|
||||
LDA $0FDA : !SUB.b #$40 : STA $0D00, Y
|
||||
LDA $0FDB : SBC.b #$00 : STA $0D20, Y
|
||||
LDA.w SpriteCoordCacheY : !SUB.b #$40 : STA.w SpritePosYLow, Y
|
||||
LDA.w SpriteCoordCacheY+1 : SBC.b #$00 : STA.w SpritePosYHigh, Y
|
||||
|
||||
LDA.b #$01 : STA $0DA0, Y
|
||||
LDA.b #$01 : STA.w SpriteAuxTable, Y
|
||||
|
||||
LDA.b #$BB
|
||||
JSL Sprite_SpawnDynamically
|
||||
|
||||
LDA.b #$08 : STA $0DD0, Y ; ensure we run prep for the shopkeeper
|
||||
LDA.b #$08 : STA.w SpriteAITable, Y ; ensure we run prep for the shopkeeper
|
||||
|
||||
LDA $0FD8 : STA $0D10, Y
|
||||
LDA $0FD9 : STA $0D30, Y
|
||||
LDA.w SpriteCoordCacheX : STA.w SpritePosXLow, Y
|
||||
LDA.w SpriteCoordCacheX+1 : STA.w SpritePosXHigh, Y
|
||||
|
||||
LDA $0FDA : !SUB.b #$20 : STA $0D00, Y
|
||||
LDA $0FDB : SBC.b #$00 : STA $0D20, Y
|
||||
LDA.w SpriteCoordCacheY : !SUB.b #$20 : STA.w SpritePosYLow, Y
|
||||
LDA.w SpriteCoordCacheY+1 : SBC.b #$00 : STA.w SpritePosYHigh, Y
|
||||
|
||||
STZ $0DD0, X ; self terminate
|
||||
STZ.w SpriteAITable, X ; self terminate
|
||||
|
||||
PLP
|
||||
.done
|
||||
|
||||
Reference in New Issue
Block a user