Compilation of all known Pokemon Red/Blue EU errors
Posted by: Crystal_
Date: 2016-10-23 13:27:31
Below each error you will see an Evidence field and an Error/Cause field. The former includes the link to a video or picture representing the glitch, as long as I was able to find any, while the second includes a link to the code that causes the error in the pokered disassembly if applicable, or otherwise a very simple explanation. I left this field empty for the glitches that I'm not very familiar with.
Feel free to suggest any glitches that I may have missed (as long as they follow what I said in the first paragraph) or to suggest what can I add or link to to complete any missing field.
P.S. The fact that there are exactly 100 glitches is just a coincidence.
A. MOVES, EFFECTS, STATS, AND STATUS CONDITIONS
1. Counter is able to bounce back damage from a previous turn, a non-active Pokemon, and a previous battle
Evidence -
Error/Cause - Last attack damage is not always cleared between turns/battles or after switching
2. Counter is able to bounce back your own damage
Evidence -
Error/Cause - The RAM address where the damage is stored is shared by both participants
3. Counter desynchronization error in a Link Battle due to selected move mismatch
Evidence - https://www.youtube.com/watch?v=ftTalHMjPRY
Error/Cause - Just hovering the cursor over a move in the selection menu marks the move as selected
4. A Pokemon that needs to recharge from Hyper Beam is always affected by a sleep inducing move
Evidence - https://www.youtube.com/watch?v=x2AgAdQwyGI
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L7241-L7247
5. Crash damage of Jump Kick and Hi Jump Kick is always 1 damage
Evidence -
Error/Cause - Damage is zeroed after a move misses
6. Self-confusion damage and crash damage target the foe's Substitute if attacker is behind Substitute
Evidence - https://www.youtube.com/watch?v=jw24URgBi5o
Error/Cause - The momentary turn swap during these effects is not accounted for when a Substitute is up
7. Psywave desynchronization error in a Link Battle due to difference in damage range of player and enemy side
Evidence - https://www.youtube.com/watch?v=5KmTCdnWzVI
Error/Cause - Player's Psywave minimum damage is 1, while enemy's is 0
8. HP-draining moves don't fail against Substitute as intended
Evidence - https://www.youtube.com/watch?v=eToUF3paDtU
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L5462-L5469
9. Healing move fails when user has 255 or 511 HP
Evidence - https://www.youtube.com/watch?v=sqkBby1HlmY
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/moveEffects/heal_effect.asm#L13-L20
10. Permanent invulnerability due to full paralysis or self-confusion while using Dig or Fly
Evidence - https://www.youtube.com/watch?v=bNzDmXbZ7kY
Error/Cause - Charging up condition is removed after full paralysis/self confusion, but invulnerability isn't
11. Reflect and Light Screen stat overflow and potential game freeze
Evidence - https://www.youtube.com/watch?v=fVtO_DKxIsI
Error/Cause - The temporary stat boost provided by Reflect/Light Screen isn't capped at 999
12. Attack and Speed stat ups override Burn and Paralysis penalties respectively
Evidence -
Error/Cause - The stat is recalculated ignoring anything other than stat modifiers
13. Paralysis, Burn, and badge boost stat changes are reapplied after stat modifications
Evidence - https://www.youtube.com/watch?v=GlhsYKeUt-w
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L7699-L7706
14. Rest doesn't clear Paralysis and Burn stat penalties or the Bad Poison condition
Evidence - https://www.youtube.com/watch?v=4LpWNnfk6tA
Error/Cause - Rest only removes the non-volatile status condition
15. Toxic and Leech Seed damage stacking
Evidence - https://www.youtube.com/watch?v=bNjEFgsIIIY
Error/Cause - Leech Seed is affected by and counts towards the Bad Poison ticks counter
16. Stat scaling with defending stat lower than 4 leads to game freeze
Evidence - https://www.youtube.com/watch?v=V6iUlyS8GMU
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L4322-L4334
17. Rage, Thrash, and Petal Dance accuracy decreases progressively when used with negative Accuracy/Evasion ratio
Evidence - https://www.youtube.com/watch?v=NC5gbJeExbs
Error/Cause - The accuracy value of these moves is not reloaded every turn
18. Bide and Swift are able to hit a target in the invulnerable turn of Dig or Fly
Evidence - https://www.youtube.com/watch?v=C6Hkos4vdsU&t=4m3s
Error/Cause - Swift and Bide ignore all kind of hit tests
19. Bide is able to accumulate damage from a previous turn, a non-active Pokemon, and a previous battle
Evidence - https://www.youtube.com/watch?v=IVxHGyNDW4g
Error/Cause - Last attack damage is not always cleared between turns/battles or after switching (also A.1.)
20. Player side Bide accumulated damage isn't correctly zeroed on enemy faint, also may lead to desynchronization
Evidence - https://www.youtube.com/watch?v=IVxHGyNDW4g&t=1m7s
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L837-L847
21. The Critical Hit rate with Focus Energy or Dire Hit is swapped with the regular Critical Hit rate
Evidence -
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L4709-L4719
22. Automatic Hyper Beam use instead of recharging after an opposing side miss with a partial-trapping move
Evidence - https://www.youtube.com/watch?v=I8AzgGoJbTs (in Yellow, but applies to Red/Blue)
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L8311-L8312
23. Partial-trapping moves' PP is able to underflow if last PP is used as other side switches Pokemon
Evidence - https://www.youtube.com/watch?v=I8AzgGoJbTs&t=2m28s (in Yellow, but applies to Red/Blue)
Error/Cause - A switch causes the partial-trapping move to restart and use PP, even if no PP left
24. Partial-trapping move and Mirror Move desynchronization error due to mismatch on move used
Evidence - https://www.youtube.com/watch?v=E9GRg9xxZqk
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L447-L456
25. Combination of Haze, Sleep or Freeze status, and multi-turn move being able to make user unable to attack
Evidence - https://www.youtube.com/watch?v=gXQlct-DvVg
Error/Cause - Combinaiton of events
26. Combination of partial-trapping move, Sleep status, and item use being able to make user unable to attack
Evidence - https://www.youtube.com/watch?v=fQF5Z5znLnc
Error/Cause - Combinaiton of events
27. Quick Attack and Counter carry their priority over if no move is selected in the following turn or turns
Evidence - https://www.youtube.com/watch?v=pvk_8yTyscU
Error/Cause - Selected move remains Quick Attack or Counter until another is selected
28. Leech Seed always heals 1/8 of target's Max. HP, even if current HP is lower
Evidence -
Error/Cause - The HP damage stored isn't updated with the target's remaining HP
29. Leech Seed animation, damage and heal effect are applied if target fainted this turn due to Poison or Burn
Evidence -
Error/Cause - The Pokemon having fainted is tested prior to applying the Leech Seed effect
30. Mimic is able to copy a move already known by user, leading to duplicate moves
Evidence -
Error/Cause - There is no check for the move learned being already known
31. Special damaging moves are able to critically hit
Evidence -
Error/Cause - Any move that deals damage, even if fixed, triggers the critical hit check
32. 100% accurate moves have a 1/256 chance of missing
Evidence -
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L5525-L5539
33. Automatic move use after thawing and potential desynchronization error in link battle
Evidence - https://www.youtube.com/watch?v=iSSf4XaqGAU
Error/Cause - Selected move is carried over while frozen and used automatically when defrosted
34. Substitute auto-faint when used with exactly 25% HP
Evidence - https://www.youtube.com/watch?v=eyujkiNOVyg
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/moveEffects/substitute_effect.asm#L32-L43
35. Weak enough 0.25x effective attacks always missing due to dealing 0 damage
Evidence - https://www.youtube.com/watch?v=fxNzPeLlPTU
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L5381-L5387
36. Breaking a Substitute terminates the secondary effects of most damaging moves
Evidence - https://www.youtube.com/watch?v=lr05doU5oAQ
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L5106-L5112
B. OTHER BATTLE ENGINE
1. A transformed Pokemon is able to switch around temporal moves with consequence in actual moveset
Evidence - https://www.youtube.com/watch?v=GIPAc2R43dg
Error/Cause - Active Pokemon moves are considered rather than corresponding party Pokemon moves
2. A transformed Pokemon caught becomes Ditto, even if Transform was used due to Mirror Move
Evidence - https://www.youtube.com/watch?v=zHHz-wQ1qFk (DE version but applies to UE)
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/items/items.asm#L470-L477
3. A transformed or Mimic-affected Pokemon gets back original moves after learning a new move
Evidence -
Error/Cause - All moves are reloaded from party data after learning a new move
4. Permanently changing a Pokemon's DVs with Transform use in both sides
Evidence - https://www.youtube.com/watch?v=8Lb5pq0y6h8
Error/Cause - The original DVs of a transformed Pokemon are stored in the same place for both participants
5. Ether and Elixer don't account for Transform or Mimic moveset changes
Evidence - https://www.youtube.com/watch?v=l4Scz6Etg_c
Error/Cause - Max PP of moves in party data rather than in active Pokemon data is considered
6. Ether and Elixer not detected as having no effect on moves with PP Ups
Evidence - https://www.youtube.com/watch?v=pScBCRb9j58
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/items/items.asm#L2124-L2131
7. Exp. All provides less overall experience if 2 or more Pokemon took part in the battle
Evidence -
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L913-L923
8. Item evolutions being triggered by Pokemon with matching IDs battling last
Evidence - https://www.youtube.com/watch?v=C3H-zaU6GPs
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/evos_moves.asm#L95-L100
9. Level up moves not learned when a Pokemon grows by 2 or more levels at once
Evidence - https://www.youtube.com/watch?v=Fvn7xHxb6BU
Error/Cause - Only the resulting level after exp. gain is accounted for when learning level up moves
10. AI chooses action following a player switch or a player item use
Evidence -
Error/Cause - Battle logic design oversight
11. AI switches and AI item uses don't have turn priority
Evidence -
Error/Cause - Battle logic design oversight (similar to B.11.)
12. Blaine may use a Super Potion with his Pokemon at full health
Evidence - https://www.youtube.com/watch?v=nrkI6U3WOFk
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/trainer_ai.asm#L483-L486
13. Forgetting multi-turn move and still continue using it
Evidence -
Error/Cause - Multi-turn move not terminated after being forgotten
14. Forgetting a disabled move and not being able to use the learned move until Disable wears off
Evidence -
Error/Cause - Disable condition is not cleared after forgetting the disabled move
15. Struggle isn't automatically used if a move is disabled and the remaining moves have PP Ups and no PP left
Evidence - https://www.youtube.com/watch?v=1v9x4SgMggs (in G/S/C, but applies to Red/Blue)
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L2816-L2827
C. OVERWORLD SPRITES AND MOVEMENT
1. Movement ranges or movement cap of NPCs is broken
Evidence - https://www.youtube.com/watch?v=9E1nAHmd380&t=2m42s
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/overworld/movement.asm#L635-L659
2. NPCs appearing misplaced if some kind of trigger occurs when loaded into the screen for the first time
Evidence - https://www.youtube.com/watch?v=VOgVwNjTps4
Error/Cause - Not enough time to set NPC to intended screen position
3. Able to press the Start button as long range trainer engages you
Evidence - https://www.youtube.com/watch?v=1EDAyuWOriQ
Error/Cause -
4. Trainers able to engage you when a wild encounter occurs
Evidence - https://www.youtube.com/watch?v=r-aWS--eVec&t=3m12s
Error/Cause -
5. Sprite corruption in Oak's Lab
Evidence - https://www.youtube.com/watch?v=I_JjAIvG9zA
Error/Cause - 11 sprites may appear at once, and are treated as a total of 26
6. NPCs able to move into doors and stairs
Evidence - https://www.youtube.com/watch?v=EuD_Q8MhhxE
Error/Cause - Doors and stairs aren't treated as collision for NPCs
7. Able to land on NPC after jumping a ledge
Evidence - https://www.youtube.com/watch?v=ztlm3AuPBBI
Error/Cause - No special collision check following a ledge tile
8. NPCs showing above text boxes
Evidence - https://www.youtube.com/watch?v=Y8T7E_CsStY&t=3m49s
Error/Cause - NPC not hidden until movement is fully finished
9. NPCs moving to adjacent maps and disappearing consequently
Evidence -
Error/Cause - Consequence of C.1. if movement cap was intended, else no collision check on map boundaries
10. Strength boulder animaiton changes direction if you move during it
Evidence - https://www.youtube.com/watch?v=Y8T7E_CsStY
Error/Cause -
11. Walk through NPC in Oak's Pallet Town scripted movement
Evidence -
Error/Cause - NPCs and walls not dodged during scripted movement, or consequence of C.1.
12. Collision with NPC at the top of Pallet Town during the Oak's scripted movement breaking it
Evidence - http://pages.citebite.com/y5h5m2y4f8mox
Error/Cause - Collisions checked during last step of scripted movement, or consequence of C.1.
13. Collision with NPC during the Cinnabar Gym closed door script
Evidence - https://www.youtube.com/watch?v=m1mVu8XW4WI
Error/Cause -
14. Surf to wrong direction after saving and resetting
Evidence - http://www.youtube.com/watch?v=W_aI_AVwJMQ
Error/Cause -
15. Able to override Cycling Road gate script and enter Cycling Road without a bike
Evidence - https://www.youtube.com/watch?v=OCyYJHf-apw
Error/Cause -
16. Able to override Pewter City-Route 3 script and skip Pewter Gym
Evidence - http://www.youtube.com/watch?v=IL3dt06QpgI
Error/Cause -
17. Lift Key may be dropped in the same tile as you are
Evidence - http://www.youtube.com/watch?v=ykjE6rKWSug
Error/Cause - No different Lift Key placement depending on the player's position
18. Player sprite corruption during Escape Rope animation
Evidence - https://www.youtube.com/watch?v=2gD3c954DRg
Error/Cause -
D. GRAPHICS
1. Mapping errors due to border block mismatch between adjacent maps
Evidence - http://pages.citebite.com/s5i5y2y4m7pex (there are more similar errors)
Error/Cause - Adjacent maps with boundaries visible from each other not using the same border block
2. Cutting a tall grass block and leaving the map while block still visible
Evidence -
Error/Cause - Able to enter a new map while grass block position still visible
3. Invisible Cut tree in Route 14
Evidence - https://www.youtube.com/watch?v=dq1D1KT0mks&t=16m15s
Error/Cause - Able to enter a new map while tree position still visible (also D.2.)
4. Invisible PC in Celadon Hotel
Evidence - https://www.youtube.com/watch?v=TeSJSJs2-VI
Error/Cause - Celadon Hotel uses Pokemon Center tileset, which has a PC programmed
5. Saving and restarting on a Cut tree.
Evidence - https://www.youtube.com/watch?v=dq1D1KT0mks&t=15m16s
Error/Cause - Cut tree is drawn if player continues game in a tile where a cut tree is programmed
6. Unfinished mountain in Nugget Bridge and Bill House
Evidence -
Error/Cause - Mountain tile border block is visible near water or trees (similar to D.1.)
7. Viewing status screen against a Ghost reveals its sprite
Evidence - http://www.youtube.com/watch?v=UMIowBT4Fck
Error/Cause - Enemy's actual sprite is reloaded even if Pokemon is Ghost
8. Minimize and Substitute sprite possibly reloaded in wrong side after viewing status screen
Evidence - https://www.youtube.com/watch?v=RF-ZaKZKSFw
Error/Cause - Sprite is reloaded based on whose turn it is, which is undefined during move selection
9. Bottom right tile of user sprite blanked during Softboiled animaiton
Evidence - https://www.youtube.com/watch?v=Q-qpneajGEA
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/animations.asm#L1948-L1957
10. Top three lines of screen not animated during Psywave, Psychic and Night Shade animation
Evidence - https://www.youtube.com/watch?v=purUT9X9bhY
Error/Cause - Top lines not updated due to game still executing v-blank interrupt handler
E. AUDIO AND TEXT
1. Wild battle victory theme played during a blakout after a draw
Evidence - https://www.youtube.com/watch?v=HDWoG2BCGbU
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/core.asm#L882-L892
2. Evolving Pokemon after battle against Champion Blue mutes the music
Evidence - http://www.youtube.com/watch?v=KxMstD8iWNM
Error/Cause -
3. Fall through hole in Victory Road while on the bicycle and bicycle theme is still played
Evidence - https://www.youtube.com/watch?v=N87X9DE5-zk
Error/Cause -
4. Wrong sound effects played after winning a Gym badge
Evidence - https://www.youtube.com/watch?v=Y8T7E_CsStY&t=2m21s
Error/Cause - Different sound effects used for each badge and wrong sound ROM bank loaded
5. Nidorino in introduction plays Nidorina's cry
Evidence -
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/home/text.asm#L629
6. Dual-type effectiveness wrong text and sound
Evidence - http://www.youtube.com/watch?v=yP6EhW2r57A
Error/Cause - Effectiveness of second type matchup pair overwrites result of first pair
7. Overworld text errors during translation
Evidence - http://pages.citebite.com/q5p5k2t4q9lfm (there are more similar errors)
Error/Cause - Translation oversights
8. Using HM on a Pokemon says it's a TM
Evidence - http://pages.citebite.com/y5d5f2x5d0vak
Error/Cause - Both make use of the same text, which displays the word TM
9. Text delay deactivation in Bill's PC and Bike Shop
Evidence - https://www.youtube.com/watch?v=dif2rP1hX8Y
Error/Cause - Text delay not turned back on properly
F. DESIGN AND OTHER OVERSIGHTS
1. Use Pokedoll on Ghost Marowak to bypass it
Evidence - https://www.youtube.com/watch?v=nM3HtpoOSlo
Error/Cause -
2. Can deposit all but fainted Pokemon on PC
Evidence - https://www.youtube.com/watch?v=6BrwUwn_wVg
Error/Cause - Design oversight
3. Mismatch on wild encounters of shore blocks
Evidence - https://www.youtube.com/watch?v=X078R9ujll0&t=3m2s
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/battle/wild_encounters.asm#L64-L73
4. Able to surf or fish on statues
Evidence - http://www.youtube.com/watch?v=BgcDXeDaw0M
Error/Cause -
5. Last item of bag or PC with quantity of 99
Evidence - https://www.youtube.com/watch?v=OXzQ9rEEa0g
Error/Cause -
6. Able to get stuck in certain trainer battles while using Rage
Evidence - https://www.youtube.com/watch?v=Hfwm4ov_ZKc
Error/Cause - Design oversight
7. Blacking out in Cable Club due to Poison
Evidence - https://www.youtube.com/watch?v=JgVUZPTt21E
Error/Cause - Design oversight
8. Wrong requirement balance for Fresh Water and Soda Pop in the vending machine
Evidence - https://www.youtube.com/watch?v=kfwBgX1tVWQ
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/menu/vending_machine.asm#L39-L45
9. Saving game in an elevator doesn't preserve the floor number
Evidence - https://www.youtube.com/watch?v=Y8T7E_CsStY&t=4m23s
Error/Cause -
10. Vermilion Gym trash cans
Evidence - https://www.youtube.com/watch?v=dyFA3gZMxrs
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/hidden_object_functions17.asm#L356-L373
11. Slot machine seven symbol odds in wheel 1 while spinning in 7/Bar mode
Evidence -
Error/Cause - https://github.com/pret/pokered/blob/d1162fec/engine/slot_machine.asm#L300-L310
12. Starting new game while in the Cycling Road
Evidence - https://www.youtube.com/watch?v=YXa96wnSIOQ
Error/Cause -
13. Can get trapped in Cinnabar Mansion
Evidence - https://www.youtube.com/watch?v=c2pMRPeFDv8
Error/Cause - Design oversight
14. Able to walk into a rock in Cerulean Cave after going through stairs
Evidence - https://www.youtube.com/watch?v=OowDwRNyCK4
Error/Cause -
15. Able to continue a Safari game outside the Safari Zone
Evidence - https://www.youtube.com/watch?v=heLcmF29E5o
Error/Cause - Safari Zone entrance script number backup not preserved on save