ref: 5959548c01ec36384be17224f9465287d050aff0
parent: 725148443f0ed0f70af747259ef49643359e92a2
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Mon Feb 26 06:51:16 EST 2018
Document HOF Master bug (close #494)
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -37,6 +37,9 @@
; day-care
MAX_DAY_CARE_EXP EQU $500000
+; hall of fame
+HOF_MASTER_COUNT EQU 201
+
; bug-catching contest
BUG_CONTEST_MINUTES EQU 20
BUG_CONTEST_SECONDS EQU 0
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -33,6 +33,7 @@
- [Magikarp length limits have a unit conversion error](#magikarp-length-limits-have-a-unit-conversion-error)
- [Magikarp lengths can be miscalculated](#magikarp-lengths-can-be-miscalculated)
- [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level)
+- [A "HOF Master!" title for 201-Time Famers is defined but inaccessible](#a-hof-master-title-for-201-time-famers-is-defined-but-inaccessible)
- [Slot machine payout sound effects cut each other off](#slot-machine-payout-sound-effects-cut-each-other-off)
- [Team Rocket battle music is not used for Executives or Scientists](#team-rocket-battle-music-is-not-used-for-executives-or-scientists)
- [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e)
@@ -895,6 +896,24 @@
```
*To do:* Fix this bug.
+
+
+## A "HOF Master!" title for 201-Time Famers is defined but inaccessible
+
+([Video](https://www.youtube.com/watch?v=iHkWubvxmSg))
+
+This is a bug with `HallOfFame` in [engine/events/halloffame.asm](/engine/events/halloffame.asm):
+
+```asm
+ ld hl, wHallOfFameCount
+ ld a, [hl]
+ cp HOF_MASTER_COUNT - 1 ; should be HOF_MASTER_COUNT
+ jr nc, .ok
+ inc [hl]
+.ok
+```
+
+**Fix:** Change `HOF_MASTER_COUNT - 1` to `HOF_MASTER_COUNT`.
## Slot machine payout sound effects cut each other off
--- a/engine/events/halloffame.asm
+++ b/engine/events/halloffame.asm
@@ -18,7 +18,7 @@
ld hl, wHallOfFameCount
ld a, [hl]
- cp 200
+ cp HOF_MASTER_COUNT - 1 ; should be HOF_MASTER_COUNT
jr nc, .ok
inc [hl]
.ok
@@ -355,7 +355,7 @@
.DisplayMonAndStrings:
; Print the number of times the player has entered the Hall of Fame.
-; If that number is above 200, print "HOF Master!" instead.
+; If that number is at least HOF_MASTER_COUNT, print "HOF Master!" instead.
ld a, [wHallOfFameMonCounter]
cp PARTY_LENGTH
jr nc, .fail
@@ -376,7 +376,7 @@
pop hl
call DisplayHOFMon
ld a, [wHallOfFameTempWinCount]
- cp 200 + 1
+ cp HOF_MASTER_COUNT
jr c, .print_num_hof
ld de, .HOFMaster
hlcoord 1, 2