Merge branch 'master' into DRMain

# Conflicts:
#	LTTP_RND_GeneralBugfixes.asm
#	events.asm
#	hooks.asm
#	stats.asm
#	stats/creditsnew.asm
#	stats/statConfig.asm
#	swordswap.asm
#	utilities.asm
This commit is contained in:
aerinon
2021-07-07 11:15:11 -07:00
21 changed files with 700 additions and 176 deletions

View File

@@ -1,7 +1,7 @@
;================================================================================
; Stat Tracking
;================================================================================
; $7EF420 - $7EF466 - Stat Tracking
; $7EF420 - $7EF468 - Stat Tracking
;--------------------------------------------------------------------------------
; $7EF420 - bonk counter
;--------------------------------------------------------------------------------
@@ -108,7 +108,7 @@
;--------------------------------------------------------------------------------
; $7EF466w[2] - mirror timestamp (high)
;--------------------------------------------------------------------------------
; $7EF468w[2] - locations before mirror
; $7EF468 - chest turn counter
;--------------------------------------------------------------------------------
; $7EF46A mmkkkkkk
; m - mail counter
@@ -139,24 +139,16 @@
; 7EF4FEw[2] - Save Checksum
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
!LOCK_STATS = "$7EF443"
;--------------------------------------------------------------------------------
!BONK_COUNTER = "$7EF420"
!BONK_REPEAT = "$7F503F"
!LOOP_FRAMES_LOW = "$7EF42E"
StatBonkCounter:
PHA
LDA !LOCK_STATS : BNE +
LDA !LOOP_FRAMES_LOW : !SUB !BONK_REPEAT : CMP #30 : !BLT +
LDA !LOOP_FRAMES_LOW : STA !BONK_REPEAT
LDA !BONK_COUNTER : INC
CMP.b #100 : BEQ + ; decimal 100
STA !BONK_COUNTER
+
PLA
JSL.l AddDashTremor ; thing we wrote over
IncrementBonkCounter:
LDA !LOCK_STATS : BNE +
LDA !BONK_COUNTER : INC
CMP.b #100 : BEQ + ; decimal 100
STA !BONK_COUNTER
+
RTL
;--------------------------------------------------------------------------------
!SAVE_COUNTER = "$7EF42D"
@@ -269,7 +261,7 @@ CountChestKey: ; called by neighbor functions
CPY #$24 : BEQ + ; small key for this dungeon - use $040C
CPY #$A0 : !BLT .end ; Ignore most items
CPY #$AE : !BGE .end ; Ignore reserved key and generic key
TYA : AND.B #$0F : BNE ++ ; If this is a sewers key, instead count it as an HC key
TYA : AND.B #$0F : BNE ++ ; If this is an HC key, instead count it as a sewers key
INC
++ TAX : BRA .count ; use Key id instead of $040C (Keysanity)
+ LDA $040C : LSR
@@ -326,6 +318,15 @@ IncrementFairyRevivalCounter:
PLA
RTL
;--------------------------------------------------------------------------------
!CHESTTURN_COUNTER = "$7EF468"
IncrementChestTurnCounter:
PHA
LDA !LOCK_STATS : BNE +
LDA !CHESTTURN_COUNTER : INC : STA !CHESTTURN_COUNTER
+
PLA
RTL
;--------------------------------------------------------------------------------
!CHEST_COUNTER = "$7EF442"
IncrementChestCounter:
LDA.b #$01 : STA $02E9 ; thing we wrote over
@@ -364,6 +365,66 @@ IncrementBigChestCounter:
+
PLA
RTL
;--------------------------------------------------------------------------------
!DAMAGE_COUNTER = $7EF46A
!MAGIC_COUNTER = $7EF46C
IncrementDamageTakenCounter_Eight:
STA.l $7EF36D
PHA : PHP
LDA !LOCK_STATS : BNE +
REP #$21
LDA.l !DAMAGE_COUNTER
ADC.w #$0008
BCC ++
LDA.w #$FFFF
++ STA.l !DAMAGE_COUNTER
+ PLP
PLA
RTL
IncrementDamageTakenCounter_Arb:
PHP
LDA !LOCK_STATS : BNE +
REP #$21
LDA.b $00
AND.w #$00FF
ADC.l !DAMAGE_COUNTER
BCC ++
LDA.w #$FFFF
++ STA.l !DAMAGE_COUNTER
+ PLP
LDA.l $7EF36D
RTL
IncrementMagicUseCounter:
STA.l $7EF36E
IncrementMagicUseCounterByrna:
PHA : PHP
LDA !LOCK_STATS : BNE +
REP #$21
LDA.b $00
AND.w #$00FF
ADC.l !MAGIC_COUNTER
BCC ++
LDA.w #$FFFF
++ STA.l !MAGIC_COUNTER
+ PLP : PLA
RTL
IncrementMagicUseCounterOne:
LDA !LOCK_STATS : BNE +
REP #$20
LDA.l !MAGIC_COUNTER
INC
BEQ ++
STA.l !MAGIC_COUNTER
++ SEP #$20
+ LDA.l $7EF36E
RTL
;--------------------------------------------------------------------------------
!OW_MIRROR_COUNTER = "$7EF43A"
IncrementOWMirror: