diff options
author | Remy Oukaour <remy.oukaour@gmail.com> | 2017-12-28 12:49:32 -0500 |
---|---|---|
committer | Remy Oukaour <remy.oukaour@gmail.com> | 2017-12-28 12:49:32 -0500 |
commit | 7167895612387ce676c4e3606cac07101719ee2f (patch) | |
tree | 0ba859db1f2a2f5e2b8d9e42055f5e6d12a3cdfc /docs/bugs_and_glitches.md | |
parent | 805474b0db4a87d230852c7ce6803f5151a321a6 (diff) |
Document another bug
Document fixes for design flaws
GetForestTreeFrame is more like a design flaw than a bug/glitch (though it's really just calling out humorously bad code)
Diffstat (limited to 'docs/bugs_and_glitches.md')
-rw-r--r-- | docs/bugs_and_glitches.md | 52 |
1 files changed, 8 insertions, 44 deletions
diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 2382a8e29..d5761b5a3 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -8,6 +8,7 @@ These are known bugs and glitches in the original Pokémon Crystal game: code th - [Thick Club and Light Ball can decrease damage done with boosted (Special) Attack](#thick-club-and-light-ball-can-decrease-damage-done-with-boosted-special-attack) - [Metal Powder can increase damage taken with boosted (Special) Defense](#metal-powder-can-increase-damage-taken-with-boosted-special-defense) - [Belly Drum sharply boosts Attack even with under 50% HP](#belly-drum-sharply-boosts-attack-even-with-under-50-hp) +- [Confusion damage is affected by type-boosting items and Explosion/Self-Destruct doubling](#confusion-damage-is-affected-by-type-boosting-items-and-explosionself-destruct-doubling) - [Moves that lower Defense can do so after breaking a Substitute](#moves-that-lower-defense-can-do-so-after-breaking-a-substitute) - [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item) - [A Disabled but PP Up–enhanced move may not trigger Struggle](#a-disabled-but-pp-upenhanced-move-may-not-trigger-struggle) @@ -51,7 +52,6 @@ These are known bugs and glitches in the original Pokémon Crystal game: code th - [`TryObjectEvent` arbitrary code execution](#tryobjectevent-arbitrary-code-execution) - [`Special_CheckBugContestContestantFlag` can read beyond its data table](#special_checkbugcontestcontestantflag-can-read-beyond-its-data-table) - [`ClearWRAM` only clears WRAM bank 1](#clearwram-only-clears-wram-bank-1) -- [`GetForestTreeFrame` works, but it's still bad](#getforesttreeframe-works-but-its-still-bad) ## Thick Club and Light Ball can decrease damage done with boosted (Special) Attack @@ -182,6 +182,13 @@ BattleCommand_BellyDrum: ; 37c1a ``` +## Confusion damage is affected by type-boosting items and Explosion/Self-Destruct doubling + +([Video](https://twitter.com/crystal_rby/status/874626362287562752)) + +*To do:* Identify specific code causing this bug and fix it. + + ## Moves that lower Defense can do so after breaking a Substitute ([Video](https://www.youtube.com/watch?v=OGwKPRJLaaI)) @@ -1412,46 +1419,3 @@ ClearWRAM:: ; 25a ``` **Fix:** Change `jr nc, .bank_loop` to `jr c, .bank_loop`. - - -## `GetForestTreeFrame` works, but it's still bad - -In [tilesets/animations.asm](/tilesets/animations.asm): - -```asm -GetForestTreeFrame: ; fc54c -; Return 0 if a is even, or 2 if odd. - and a - jr z, .even - cp 1 - jr z, .odd - cp 2 - jr z, .even - cp 3 - jr z, .odd - cp 4 - jr z, .even - cp 5 - jr z, .odd - cp 6 - jr z, .even -.odd - ld a, 2 - scf - ret -.even - xor a - ret -; fc56d -``` - -**Fix:** - -```asm -GetForestTreeFrame: ; fc54c -; Return 0 if a is even, or 2 if odd. - and 1 - add a - ret -; fc56d -``` |