Document more bugs

This commit is contained in:
Remy Oukaour
2017-12-12 22:58:20 -05:00
parent c85587d973
commit 10eb426e40
7 changed files with 322 additions and 38 deletions

View File

@ -749,7 +749,7 @@ TextJump_EnemyWithdrew: ; 384d0
Function384d5: ; This appears to be unused Function384d5: ; This appears to be unused
call AIUsedItemSound call AIUsedItemSound
call AI_HealStatus call AI_HealStatus
ld a, X_SPEED ld a, FULL_HEAL_RED ; X_SPEED
jp PrintText_UsedItemOn_AND_AIUpdateHUD jp PrintText_UsedItemOn_AND_AIUpdateHUD
; 384e0 ; 384e0
@ -761,6 +761,10 @@ AI_HealStatus: ; 384e0
xor a xor a
ld [hl], a ld [hl], a
ld [EnemyMonStatus], a ld [EnemyMonStatus], a
; Bug: this should reset SUBSTATUS_NIGHTMARE too
; Uncomment the lines below to fix
; ld hl, EnemySubStatus1
; res SUBSTATUS_NIGHTMARE, [hl]
ld hl, EnemySubStatus5 ld hl, EnemySubStatus5
res SUBSTATUS_TOXIC, [hl] res SUBSTATUS_TOXIC, [hl]
ret ret

View File

@ -1876,7 +1876,8 @@ AI_Smart_MeanLook: ; 38dfb
pop hl pop hl
jp z, AIDiscourageMove jp z, AIDiscourageMove
; 80% chance to greatly encourage this move if the enemy is badly poisoned (weird). ; 80% chance to greatly encourage this move if the enemy is badly poisoned (buggy).
; Should check PlayerSubStatus5 instead.
ld a, [EnemySubStatus5] ld a, [EnemySubStatus5]
bit SUBSTATUS_TOXIC, a bit SUBSTATUS_TOXIC, a
jr nz, .asm_38e26 jr nz, .asm_38e26

View File

@ -5998,7 +5998,7 @@ CheckPlayerHasUsableMoves: ; 3e786
swap a swap a
and $f and $f
ld b, a ld b, a
ld d, $5 ld d, NUM_MOVES + 1
xor a xor a
.loop .loop
dec d dec d
@ -6011,7 +6011,9 @@ CheckPlayerHasUsableMoves: ; 3e786
jr .loop jr .loop
.done .done
and a ; This is probably a bug, and will result in a move with PP Up confusing the game. ; Bug: this will result in a move with PP Up confusing the game.
; Replace with "and $3f" to fix.
and a
ret nz ret nz
.force_struggle .force_struggle

View File

@ -272,6 +272,7 @@ ITEM_FROM_MEM EQU $FF
; leftovers from red ; leftovers from red
SAFARI_BALL EQU $08 ; MOON_STONE SAFARI_BALL EQU $08 ; MOON_STONE
MOON_STONE_RED EQU $0A ; BURN_HEAL MOON_STONE_RED EQU $0A ; BURN_HEAL
FULL_HEAL_RED EQU $34 ; X_SPEED
; mail ; mail
MAIL_MSG_LENGTH EQU $20 MAIL_MSG_LENGTH EQU $20

File diff suppressed because it is too large Load Diff

View File

@ -382,7 +382,10 @@ ShortHPBar_CalcPixelFrame: ; d839
and a and a
jr z, .return_zero jr z, .return_zero
call AddNTimes call AddNTimes
ld b, 0 ld b, 0
; This routine is buggy. If [wCurHPAnimMaxHP] * [wCurHPBarPixels] is divisible
; by 48, the loop runs one extra time. To fix, uncomment the line below.
.loop .loop
ld a, l ld a, l
sub 6 * 8 sub 6 * 8
@ -390,6 +393,7 @@ ShortHPBar_CalcPixelFrame: ; d839
ld a, h ld a, h
sbc $0 sbc $0
ld h, a ld h, a
; jr z, .done
jr c, .done jr c, .done
inc b inc b
jr .loop jr .loop

View File

@ -196,9 +196,10 @@ FlashyTransitionToBattle: ; 8c314
StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
; The screen flashes a different number of ; The screen flashes a different number of times depending on the level of
; times depending on the level of your lead ; your lead Pokemon relative to the opponent's.
; Pokemon relative to the opponent's. ; BUG: BattleMonLevel and EnemyMonLevel are not set at this point, so whatever
; values happen to be there will determine the animation.
ld de, 0 ld de, 0
ld a, [BattleMonLevel] ld a, [BattleMonLevel]
add 3 add 3