diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_util.c | 2 | ||||
-rw-r--r-- | src/metatile_behavior.c | 4 | ||||
-rw-r--r-- | src/pokemon.c | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/battle_util.c b/src/battle_util.c index eb3907157..31ed0b3fe 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -527,6 +527,8 @@ void HandleAction_ThrowPokeblock(void) gBattleStruct->safariPkblThrowCounter++; if (gBattleStruct->safariEscapeFactor > 1) { + // BUG: The safariEscapeFactor is unintetionally able to become 0 (but it can not become negative!). This causes the pokeblock throw glitch. + // To fix that change the < in the if statement below to <=. if (gBattleStruct->safariEscapeFactor < sPkblToEscapeFactor[gBattleStruct->safariPkblThrowCounter][gBattleCommunication[MULTISTRING_CHOOSER]]) gBattleStruct->safariEscapeFactor = 1; else diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index dde4de329..51cc65c22 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -968,6 +968,10 @@ bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior) bool8 MetatileBehavior_IsUnableToEmerge(u8 metatileBehavior) { + // BUG: The player is unintentionally able to emerge on water doors. + // Also the narrower underwater door in the underwater tileset has the wrong metatile behavior. This causes the dive glitch. + // To fix that add || metatileBehavior == MB_WATER_DOOR to the if statement below and + // change the metatile behavior of the narrower water door with porymaps tileset editor. if (metatileBehavior == MB_NO_SURFACING || metatileBehavior == MB_SEAWEED_NO_SURFACING) return TRUE; diff --git a/src/pokemon.c b/src/pokemon.c index a0e655d1e..30f0b0e73 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2861,6 +2861,8 @@ void CalculateMonStats(struct Pokemon *mon) if (currentHP == 0 && oldMaxHP == 0) currentHP = newMaxHP; else if (currentHP != 0) + // BUG: currentHP is unintentionally able to become <= 0 after the instruction below. This causes the pomeg berry glitch. + // To fix that set currentHP = 1 if currentHP <= 0. currentHP += newMaxHP - oldMaxHP; else return; |