# These are the patches I used to speed through the game. # They include: # - All pokemon's stats and HP are max when sent into battle # - HP bars deplete instantly (to avoid destiny bond softlocking the game...) # - No trainers can spot you (used to solve PK1 mostly) diff --git a/Makefile b/Makefile index e213bf63c..812cb9799 100644 --- a/Makefile +++ b/Makefile @@ -89,6 +89,7 @@ endif pokecrystal.gbc: $(crystal_obj) pokecrystal.link $(RGBLINK) -n pokecrystal.sym -m pokecrystal.map -l pokecrystal.link -o $@ $(crystal_obj) $(RGBFIX) -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@ + dd bs=1 if=baserom.gbc of=pokecrystal.gbc count=2 conv=notrunc skip=334 seek=334 tools/sort_symfile.sh pokecrystal.sym pokecrystal11.gbc: $(crystal11_obj) pokecrystal.link diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 38abbb51f..f752e4d46 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3884,11 +3884,13 @@ InitBattleMon: ld bc, MON_NAME_LENGTH call CopyBytes ld hl, wBattleMonAttack - ld de, wPlayerStats + ld a, $ff ld bc, PARTYMON_STRUCT_LENGTH - MON_ATK - call CopyBytes - call ApplyStatusEffectOnPlayerStats - call BadgeStatBoosts + call ByteFill + ld a, $ff + ld [wBattleMonHP], a + nop + nop ret BattleCheckPlayerShininess: diff --git a/engine/overworld/events.asm b/engine/overworld/events.asm index a84d72db4..9d1dd8d44 100644 --- a/engine/overworld/events.asm +++ b/engine/overworld/events.asm @@ -294,8 +294,10 @@ PlayerEvents: CheckTrainerBattle_GetPlayerEvent: nop nop - call CheckTrainerBattle - jr nc, .nope + nop + nop + nop + jr .nope ld a, PLAYEREVENT_SEENBYTRAINER scf diff --git a/engine/pokemon/health.asm b/engine/pokemon/health.asm index d11a073b5..0cd97d237 100644 --- a/engine/pokemon/health.asm +++ b/engine/pokemon/health.asm @@ -104,7 +104,9 @@ ComputeHPBarPixels: ret AnimateHPBar: - call WaitBGMap + ret + ret + ret call _AnimateHPBar call WaitBGMap ret