summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-07-03 15:28:45 -0700
committerMarcus Huderle <huderlem@gmail.com>2017-07-03 15:28:45 -0700
commitda545c36093c11ce095038b2ecbee00e8396bc1c (patch)
tree7990cbee236e6c2ca2b171af19b67f783ecc1b94
parent66ad5edb1dc0423dd769d1d92cea1632c7376f5e (diff)
Label all Ball Bonus things
-rwxr-xr-xengine/pinball_game/ball_init/ball_init_blue_field.asm20
-rwxr-xr-xengine/pinball_game/ball_init/ball_init_red_field.asm12
-rwxr-xr-xengine/pinball_game/catchem_mode.asm12
-rwxr-xr-xengine/pinball_game/end_of_ball_bonus.asm165
-rwxr-xr-xengine/pinball_game/object_collision/blue_stage_resolve_collision.asm54
-rwxr-xr-xengine/pinball_game/object_collision/red_stage_resolve_collision.asm32
-rwxr-xr-xhome.asm18
-rwxr-xr-xmain.asm8
-rwxr-xr-xwram.asm30
9 files changed, 187 insertions, 164 deletions
diff --git a/engine/pinball_game/ball_init/ball_init_blue_field.asm b/engine/pinball_game/ball_init/ball_init_blue_field.asm
index e051c5b..6077231 100755
--- a/engine/pinball_game/ball_init/ball_init_blue_field.asm
+++ b/engine/pinball_game/ball_init/ball_init_blue_field.asm
@@ -39,16 +39,16 @@ InitBallBlueField: ; 0x1c08d
ld [wBallType], a
ld [wd611], a
ld [wd612], a
- ld [wd628], a
- ld [wd629], a
- ld [wd62a], a
- ld [wd62b], a
- ld [wd62c], a
- ld [wd63a], a
- ld [wd63b], a
- ld [wd63d], a
- ld [wd63c], a
- ld [wd62d], a
+ ld [wNumPokemonCaughtInBallBonus], a
+ ld [wNumPokemonEvolvedInBallBonus], a
+ ld [wNumBellsproutEntries], a
+ ld [wNumDugtrioTriples], a
+ ld [wNumCAVECompletions], a
+ ld [wNumSlowpokeEntries], a
+ ld [wNumCloysterEntries], a
+ ld [wNumPoliwagTriples], a
+ ld [wNumPsyduckTriples], a
+ ld [wNumSpinnerTurns], a
ld [wd62e], a
ld [wd613], a
inc a
diff --git a/engine/pinball_game/ball_init/ball_init_red_field.asm b/engine/pinball_game/ball_init/ball_init_red_field.asm
index 8c91b6a..09c715b 100755
--- a/engine/pinball_game/ball_init/ball_init_red_field.asm
+++ b/engine/pinball_game/ball_init/ball_init_red_field.asm
@@ -48,12 +48,12 @@ InitBallRedField: ; 0x3007d
ld [wBallType], a
ld [wd611], a
ld [wd612], a
- ld [wd628], a
- ld [wd629], a
- ld [wd62a], a
- ld [wd62b], a
- ld [wd62c], a
- ld [wd62d], a
+ ld [wNumPokemonCaughtInBallBonus], a
+ ld [wNumPokemonEvolvedInBallBonus], a
+ ld [wNumBellsproutEntries], a
+ ld [wNumDugtrioTriples], a
+ ld [wNumCAVECompletions], a
+ ld [wNumSpinnerTurns], a
ld [wd62e], a
ld [wd613], a
inc a
diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm
index 83a1dfa..03ae11d 100755
--- a/engine/pinball_game/catchem_mode.asm
+++ b/engine/pinball_game/catchem_mode.asm
@@ -802,13 +802,13 @@ CapturePokemon: ; 0x1052d
call ConcludeCatchEmMode
ld de, $0001
call PlaySong
- ld hl, wd628
- call Func_e4a
- jr nc, .asm_105d1
+ ld hl, wNumPokemonCaughtInBallBonus
+ call Increment_Max100
+ jr nc, .notMaxed
ld c, $a
- call Func_e55
- callba z, IncrementBonusMultiplier
-.asm_105d1
+ call Modulo_C
+ callba z, IncrementBonusMultiplier ; increments bonus multiplier every 10 pokemon caught
+.notMaxed
call SetPokemonOwnedFlag
ld a, [wd624]
cp $3
diff --git a/engine/pinball_game/end_of_ball_bonus.asm b/engine/pinball_game/end_of_ball_bonus.asm
index d1a4071..86fdc3d 100755
--- a/engine/pinball_game/end_of_ball_bonus.asm
+++ b/engine/pinball_game/end_of_ball_bonus.asm
@@ -8,7 +8,7 @@ EndOfBallBonus: ; 0xf533
ld [hLYC], a
ld a, $fd
ld [hLCDCMask], a
- call Func_f5a0
+ call ShowBallBonusSummary
ld a, $90
ld [hWY], a
ld a, $83
@@ -58,7 +58,7 @@ Func_f57f: ; 0xf57f
call LoadVRAMData
ret
-Func_f5a0: ; 0xf5a0
+ShowBallBonusSummary: ; 0xf5a0
ld de, wBottomMessageText + $40
ld hl, BonusPointsText
call PrintTextNoHeader
@@ -71,9 +71,9 @@ Func_f5a0: ; 0xf5a0
call ClearBCD6Buffer
ld a, $1
ld [wd4ab], a
- call ValidateSignature6
- call Func_f64e
- call Func_f60a
+ call HandleNumPokemonCaughtBallBonus
+ call HandleNumPokemonEvolvedBallBonus
+ call HandleBallBonusForCurrentField
call Func_f676
ld a, $1
ld [wd4ab], a
@@ -94,27 +94,27 @@ Func_f5a0: ; 0xf5a0
ld bc, $0040
ld de, $0000
call Func_f80d
-.asm_f602
+.waitForAPress
rst AdvanceFrame
ld a, [hNewlyPressedButtons]
bit BIT_A_BUTTON, a
- jr z, .asm_f602
+ jr z, .waitForAPress
ret
-Func_f60a: ; 0xf60a
+HandleBallBonusForCurrentField: ; 0xf60a
ld a, [wCurrentStage]
rst JumpTable ; calls JumpToFuncInTable
CallTable_f60d: ; 0xf60d
; STAGE_RED_FIELD_TOP
- dw Func_f945
+ dw HandleBallBonusRedField
; STAGE_RED_FIELD_BOTTOM
- dw Func_f945
+ dw HandleBallBonusRedField
dw DoNothing_f9f2
dw DoNothing_f9f2
; STAGE_BLUE_FIELD_TOP
- dw Func_f9f3
+ dw HandleBallBonusBlueField
; STAGE_BLUE_FIELD_BOTTOM
- dw Func_f9f3
+ dw HandleBallBonusBlueField
; STAGE_GENGAR_BONUS
dw DoNothing_faf6
; STAGE_GENGAR_BONUS
@@ -128,34 +128,34 @@ CallTable_f60d: ; 0xf60d
; STAGE_MEOWTH_BONUS
dw DoNothing_faf8
-ValidateSignature6: ; 0xf626
+HandleNumPokemonCaughtBallBonus: ; 0xf626
ld de, wBottomMessageText + $01
ld hl, NumPokemonCaughtText
call PrintTextNoHeader
ld hl, wBottomMessageText + $01
- ld a, [wd628]
+ ld a, [wNumPokemonCaughtInBallBonus]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd628
- ld de, PointsData_f921
+ ld hl, wNumPokemonCaughtInBallBonus
+ ld de, PointsPerPokemonCaught
call Func_f853
call Func_f824
ret
-Func_f64e: ; 0xf64e
+HandleNumPokemonEvolvedBallBonus: ; 0xf64e
ld de, wBottomMessageText
ld hl, NumPokemonEvolvedText
call PrintTextNoHeader
ld hl, wBottomMessageText
- ld a, [wd629]
+ ld a, [wNumPokemonEvolvedInBallBonus]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd629
- ld de, PointsData_f927
+ ld hl, wNumPokemonEvolvedInBallBonus
+ ld de, PointsPerPokemonEvolved
call Func_f853
call Func_f824
ret
@@ -568,86 +568,95 @@ x = x + 1
endr
ret
-PointsData_f921: ; 0xf921
+PointsPerPokemonCaught: ; 0xf921
bigBCD6 50000
-PointsData_f927: ; 0xf927
+
+PointsPerPokemonEvolved: ; 0xf927
bigBCD6 75000
-PointsData_f92d: ; 0xf92d
+
+PointsPerBellsproutEntry: ; 0xf92d
+PointsPerCloysterEntry:
+PointsPerSlowpokeEntry:
bigBCD6 7500
-PointsData_f933: ; 0xf933
+
+PointsPerPoliwagTriple: ; 0xf933
+PointsPerPsyduckTriple:
+PointsPerDugtrioTriple:
bigBCD6 5000
-PointsData_f939: ; 0xf939
+
+PointsPerCAVECompletion: ; 0xf939
bigBCD6 2500
-PointsData_f93f: ; 0xf93f
+
+PointsPerSpinnerTurn: ; 0xf93f
bigBCD6 1000
-Func_f945: ; 0xf945
- call Func_f952
- call Func_f97a
- call Func_f9a2
- call Func_f9ca
+HandleBallBonusRedField: ; 0xf945
+ call HandleBellsproutEntriesBallBonus
+ call HandleDugtrioTriplesBallBonus
+ call HandleCAVECompletionsBallBonus_RedField
+ call HandleSpinnerTurnsBallBonus_RedField
ret
-Func_f952: ; 0xf952
+HandleBellsproutEntriesBallBonus: ; 0xf952
ld de, wBottomMessageText + $03
ld hl, BellsproutCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $03
- ld a, [wd62a]
+ ld a, [wNumBellsproutEntries]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd62a
- ld de, PointsData_f92d
+ ld hl, wNumBellsproutEntries
+ ld de, PointsPerBellsproutEntry
call Func_f853
call Func_f824
ret
-Func_f97a: ; 0xf97a
+HandleDugtrioTriplesBallBonus: ; 0xf97a
ld de, wBottomMessageText + $04
ld hl, DugtrioCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $04
- ld a, [wd62b]
+ ld a, [wNumDugtrioTriples]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd62b
- ld de, PointsData_f933
+ ld hl, wNumDugtrioTriples
+ ld de, PointsPerDugtrioTriple
call Func_f853
call Func_f824
ret
-Func_f9a2: ; 0xf9a2
+HandleCAVECompletionsBallBonus_RedField: ; 0xf9a2
ld de, wBottomMessageText + $03
ld hl, CaveShotCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $03
- ld a, [wd62c]
+ ld a, [wNumCAVECompletions]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd62c
- ld de, PointsData_f939
+ ld hl, wNumCAVECompletions
+ ld de, PointsPerCAVECompletion
call Func_f853
call Func_f824
ret
-Func_f9ca: ; 0xf9ca
+HandleSpinnerTurnsBallBonus_RedField: ; 0xf9ca
ld de, wBottomMessageText + $01
ld hl, SpinnerTurnsCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $01
- ld a, [wd62d]
+ ld a, [wNumSpinnerTurns]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd62d
- ld de, PointsData_f93f
+ ld hl, wNumSpinnerTurns
+ ld de, PointsPerSpinnerTurn
call Func_f853
call Func_f824
ret
@@ -655,107 +664,107 @@ Func_f9ca: ; 0xf9ca
DoNothing_f9f2: ; 0xf9f2
ret
-Func_f9f3: ; 0xf9f3
- call Func_fa06
- call Func_fa2e
- call Func_fa56
- call Func_fa7e
- call Func_faa6
- call Func_face
+HandleBallBonusBlueField: ; 0xf9f3
+ call HandleCloysterEntriesBallBonus
+ call HandleSlowpokeEntriesBallBonus
+ call HandlePoliwagTriplesBallBonus
+ call HandlePsyduckTriplesBallBonus
+ call HandleCAVECompletionsBallBonus_BlueField
+ call HandleSpinnerTurnsBallBonus_BlueField
ret
-Func_fa06: ; 0xfa06
+HandleCloysterEntriesBallBonus: ; 0xfa06
ld de, wBottomMessageText + $04
ld hl, CloysterCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $04
- ld a, [wd63b]
+ ld a, [wNumCloysterEntries]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd63b
- ld de, PointsData_f92d
+ ld hl, wNumCloysterEntries
+ ld de, PointsPerCloysterEntry
call Func_f853
call Func_f824
ret
-Func_fa2e: ; 0xfa2e
+HandleSlowpokeEntriesBallBonus: ; 0xfa2e
ld de, wBottomMessageText + $04
ld hl, SlowpokeCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $04
- ld a, [wd63a]
+ ld a, [wNumSlowpokeEntries]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd63a
- ld de, PointsData_f92d
+ ld hl, wNumSlowpokeEntries
+ ld de, PointsPerSlowpokeEntry
call Func_f853
call Func_f824
ret
-Func_fa56: ; 0xfa56
+HandlePoliwagTriplesBallBonus: ; 0xfa56
ld de, wBottomMessageText + $04
ld hl, PoliwagCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $04
- ld a, [wd63d]
+ ld a, [wNumPoliwagTriples]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd63d
- ld de, PointsData_f933
+ ld hl, wNumPoliwagTriples
+ ld de, PointsPerPoliwagTriple
call Func_f853
call Func_f824
ret
-Func_fa7e: ; 0xfa7e
+HandlePsyduckTriplesBallBonus: ; 0xfa7e
ld de, wBottomMessageText + $04
ld hl, PsyduckCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $04
- ld a, [wd63c]
+ ld a, [wNumPsyduckTriples]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd63c
- ld de, PointsData_f933
+ ld hl, wNumPsyduckTriples
+ ld de, PointsPerPsyduckTriple
call Func_f853
call Func_f824
ret
-Func_faa6: ; 0xfaa6
+HandleCAVECompletionsBallBonus_BlueField: ; 0xfaa6
ld de, wBottomMessageText + $03
ld hl, CaveShotCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $03
- ld a, [wd62c]
+ ld a, [wNumCAVECompletions]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd62c
- ld de, PointsData_f939
+ ld hl, wNumCAVECompletions
+ ld de, PointsPerCAVECompletion
call Func_f853
call Func_f824
ret
-Func_face: ; 0xface :)
+HandleSpinnerTurnsBallBonus_BlueField: ; 0xface :)
ld de, wBottomMessageText + $01
ld hl, SpinnerTurnsCounterText
call PrintTextNoHeader
ld hl, wBottomMessageText + $01
- ld a, [wd62d]
+ ld a, [wNumSpinnerTurns]
call Func_f78e
ld bc, $0040
ld de, $0000
call Func_f80d
- ld hl, wd62d
- ld de, PointsData_f93f
+ ld hl, wNumSpinnerTurns
+ ld de, PointsPerSpinnerTurn
call Func_f853
call Func_f824
ret
diff --git a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
index 1aaf337..f7d4611 100755
--- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
@@ -458,8 +458,8 @@ Func_1ca85: ; 0x1ca85
ret z
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
- ld hl, wd62d
- call Func_e4a
+ ld hl, wNumSpinnerTurns
+ call Increment_Max100
ld a, [wPikachuSaverCharge]
cp MAX_PIKACHU_SAVER_CHARGE
jr nz, .asm_1caff
@@ -1688,10 +1688,10 @@ Func_1d133: ; 0x1d133
ld a, $60
ld [wd804], a
ld hl, wd62e
- call Func_e4a
+ call Increment_Max100
jr nc, .asm_1d185
ld c, $a
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_1d185
lb de, $16, $10
@@ -1831,13 +1831,13 @@ ResolveSlowpokeCollision: ; 0x1d216
ld a, $1
ld [wd642], a
.asm_1d299
- ld hl, wd63a
- call Func_e4a
- ld hl, wd62a
- call Func_e4a
+ ld hl, wNumSlowpokeEntries
+ call Increment_Max100
+ ld hl, wNumBellsproutEntries ; This is an oversight. No need to tally bellsprout.
+ call Increment_Max100
ret nc
ld c, $19
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
ret
@@ -1953,13 +1953,13 @@ ResolveCloysterCollision: ; 0x1d32d
ld [wRareMonsFlag], a
callba StartCatchEmMode
.noCatchEmMode
- ld hl, wd63b
- call Func_e4a
- ld hl, wd62a
- call Func_e4a
+ ld hl, wNumCloysterEntries
+ call Increment_Max100
+ ld hl, wNumBellsproutEntries
+ call Increment_Max100
ret nc
ld c, $19
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
ret
@@ -2090,7 +2090,7 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438
ld [wd482], a
jr nc, .asm_1d4e9
ld c, $19
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_1d4e9
ld a, [wd60c]
@@ -3896,13 +3896,13 @@ Func_1dd2e: ; 0x1dd2e
ret
Func_1ddc7: ; 0x1ddc7
- ld hl, wd63d
- call Func_e4a
- ld hl, wd62b
- call Func_e4a
+ ld hl, wNumPoliwagTriples
+ call Increment_Max100
+ ld hl, wNumDugtrioTriples
+ call Increment_Max100
jr nc, .asm_1dde4
ld c, $a
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_1dde4
xor a
@@ -3912,13 +3912,13 @@ Func_1ddc7: ; 0x1ddc7
ret
Func_1ddf4: ; 0x1ddf4
- ld hl, wd63c
- call Func_e4a
- ld hl, wd62b
- call Func_e4a
+ ld hl, wNumPsyduckTriples
+ call Increment_Max100
+ ld hl, wNumDugtrioTriples
+ call Increment_Max100
jr nc, .asm_1de11
ld c, $a
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_1de11
ld a, $1
@@ -5424,8 +5424,8 @@ Func_1e5c5: ; 0x1e5c5
callba AddBigBCD6FromQueueWithBallMultiplier
lb de, $00, $09
call PlaySoundEffect
- ld hl, wd62c
- call Func_e4a
+ ld hl, wNumCAVECompletions
+ call Increment_Max100
jr Func_1e627
.asm_1e623
diff --git a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
index ba4f20a..e08497a 100755
--- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
@@ -421,11 +421,11 @@ Func_148cf: ; 0x148cf
ret
Func_14920: ; 0x14920
- ld hl, wd62b
- call Func_e4a
+ ld hl, wNumDugtrioTriples
+ call Increment_Max100
jr nc, .asm_14937
ld c, $a
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_14937
ld a, $1
@@ -434,11 +434,11 @@ Func_14920: ; 0x14920
ret
Func_14947: ; 0x14947
- ld hl, wd62b
- call Func_e4a
+ ld hl, wNumDugtrioTriples
+ call Increment_Max100
jr nc, .asm_1495e
ld c, $a
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_1495e
xor a
@@ -1435,8 +1435,8 @@ Func_14e10: ; 0x14e10
ret z
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
- ld hl, wd62d
- call Func_e4a
+ ld hl, wNumSpinnerTurns
+ call Increment_Max100
ld a, [wPikachuSaverCharge]
cp MAX_PIKACHU_SAVER_CHARGE
jr nz, .asm_14e8a
@@ -2193,8 +2193,8 @@ Func_151cb: ; 0x151cb
callba AddBigBCD6FromQueueWithBallMultiplier
lb de, $00, $09
call PlaySoundEffect
- ld hl, wd62c
- call Func_e4a
+ ld hl, wNumCAVECompletions
+ call Increment_Max100
jr Func_asm_1522d
.asm_15229
@@ -4500,11 +4500,11 @@ ResolveBellsproutCollision: ; 0x15e93
ld [wRareMonsFlag], a
callba StartCatchEmMode
.noCatchEmMode
- ld hl, wd62a
- call Func_e4a
+ ld hl, wNumBellsproutEntries
+ call Increment_Max100
ret nc
ld c, $19
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
ret
@@ -5670,10 +5670,10 @@ Func_1669e: ; 0x1669e
ld a, $60
ld [wd804], a
ld hl, wd62e
- call Func_e4a
+ call Increment_Max100
jr nc, .asm_166f0
ld c, $a
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_166f0
lb de, $16, $10
@@ -7104,7 +7104,7 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d
ld [wd482], a
jr nc, .asm_16e24
ld c, $19
- call Func_e55
+ call Modulo_C
callba z, IncrementBonusMultiplier
.asm_16e24
ld a, [wd60c]
diff --git a/home.asm b/home.asm
index 9b6b017..0d9f1da 100755
--- a/home.asm
+++ b/home.asm
@@ -2296,26 +2296,30 @@ PowersOfTwo: ; 0xe3a
dw $0064
dw $0128
-Func_e4a: ; 0xe4a
+Increment_Max100: ; 0xe4a
+; Increments the value at [hl], but caps it at 100.
+; Sets carry flag if the increment happens.
ld a, [hl]
cp $64
- jr z, .asm_e53
+ jr z, .maxValue
inc a
ld [hl], a
scf
ret
-.asm_e53
+.maxValue
and a
ret
-Func_e55: ; 0xe55
+Modulo_C: ; 0xe55
+; Calculates A modulo C
+; Sets zero flag if result is zero
cp c
- jr c, .asm_e5b
+ jr c, .done
sub c
- jr Func_e55
+ jr Modulo_C
-.asm_e5b
+.done
and a
ret
diff --git a/main.asm b/main.asm
index 1357318..e3db6f8 100755
--- a/main.asm
+++ b/main.asm
@@ -2702,8 +2702,8 @@ Func_2070b: ; 0x2070b
callba Func_10ac8
ld de, $0001
call PlaySong
- ld hl, wd629
- call Func_e4a
+ ld hl, wNumPokemonEvolvedInBallBonus
+ call Increment_Max100
callba SetPokemonOwnedFlag
ld a, [wd624]
cp $3
@@ -3431,8 +3431,8 @@ Func_20d30: ; 0x20d30
callba Func_10ac8
ld de, $0001
call PlaySong
- ld hl, wd629
- call Func_e4a
+ ld hl, wNumPokemonEvolvedInBallBonus
+ call Increment_Max100
callba SetPokemonOwnedFlag
ld a, [wd624]
cp $3
diff --git a/wram.asm b/wram.asm
index ca47695..5f53556 100755
--- a/wram.asm
+++ b/wram.asm
@@ -908,22 +908,28 @@ wd625:: ; 0xd625
wd626:: ; 0xd626
ds $2
-wd628:: ; 0xd628
+wNumPokemonCaughtInBallBonus:: ; 0xd628
+; Counts the number of pokemon caught in a single ball bonus.
ds $1
-wd629:: ; 0xd629
+wNumPokemonEvolvedInBallBonus:: ; 0xd629
+; Counts the number of pokemon evolved in a single ball bonus.
ds $1
-wd62a:: ; 0xd62a
+wNumBellsproutEntries:: ; 0xd62a
+; Counts the number of times Bellsprout was entered without triggering Catch'Em mode.
ds $1
-wd62b:: ; 0xd62b
+wNumDugtrioTriples:: ; 0xd62b
+; Counts the number of times either of the two Dugtrio was hit 3 times on the red field.
ds $1
-wd62c:: ; 0xd62c
+wNumCAVECompletions:: ; 0xd62c
+; Counts the number of times all CAVE lights were lit.
ds $1
-wd62d:: ; 0xd62d
+wNumSpinnerTurns:: ; 0xd62d
+; Counts the number of spinner turns in a single ball bonus.
ds $1
wd62e:: ; 0xd62e
@@ -958,16 +964,20 @@ wd638:: ; 0xd638
wd639:: ; 0xd639
ds $1
-wd63a:: ; 0xd63a
+wNumSlowpokeEntries:: ; 0xd63a
+; Counts the number of times Slowpoke was entered without triggering Evolution mode.
ds $1
-wd63b:: ; 0xd63b
+wNumCloysterEntries:: ; 0xd63b
+; Counts the number of times Cloyster was entered without triggering Catch'Em mode.
ds $1
-wd63c:: ; 0xd63c
+wNumPsyduckTriples:: ; 0xd63c
+; Counts the number of times Psyduck was hit 3 times.
ds $1
-wd63d:: ; 0xd63d
+wNumPoliwagTriples:: ; 0xd63d
+; Counts the number of times Poliwag was hit 3 times.
ds $1
wBlueStageForceFieldDirection:: ; 0xd63e