From 579ea480f7d35c6ecfce4e004c0a10a6df4088af Mon Sep 17 00:00:00 2001 From: Pseurae Date: Mon, 3 Jul 2023 01:59:44 +0530 Subject: [PATCH] Roclobster event --- README.md | 1 + config.asm | 9 +++++++-- main.asm | 1 + scripts/bugfixes/roclobster.asm | 30 ++++++++++++++++++++++++++++++ scripts/hm_system.asm | 28 ---------------------------- 5 files changed, 39 insertions(+), 30 deletions(-) create mode 100644 scripts/bugfixes/roclobster.asm diff --git a/README.md b/README.md index cc1a77b..53c7e22 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ This patch is mostly compatible with vanilla saves. The bag expansion patch **wi - Use any Electric moves for SS Cangrejo's elevator event - Avoid softlock after losing the Senex battle - Set respawn point in Sootopolis City before heading to Sootopolis Heights +- Hard Disk Solo is obtained without having to catch Roclobster diff --git a/config.asm b/config.asm index ab6faac..61c887b 100644 --- a/config.asm +++ b/config.asm @@ -39,6 +39,9 @@ ; Implement an Emerald Style Save Prompt with colored fields. .definelabel EMERALD_SAVE_PROMPT, 1 +; Enable this to have shadows on NPCs like in HGSS. +.definelabel OW_EVENT_SHADOWS, 1 + ; Bugfixes ; -------- @@ -83,5 +86,7 @@ ; Enable this to explicitly set a respawn point in Sootopolis City when heading off to Sootopolis Heights. .definelabel NECROPOLIS_RESPAWN, 1 -; Enable this to have shadows on NPCs like in HGSS. -.definelabel OW_EVENT_SHADOWS, 1 \ No newline at end of file +; If you don't catch Roclobster from the dive spot in Dewford, you can't +; legally obtain the "Hard Disk Solo" and thus, cannot visit the Gym Island. +; Enable this to receive the item after the Roclobster battle. +.definelabel NEW_ROCLOBSTER_SCRIPT, 1 \ No newline at end of file diff --git a/main.asm b/main.asm index 0a066a8..dc8fb84 100644 --- a/main.asm +++ b/main.asm @@ -44,6 +44,7 @@ .include "scripts/bugfixes/littleroot_tiles.asm" .include "scripts/bugfixes/meteor_portrait.asm" .include "scripts/bugfixes/necropolis_respawn.asm" +.include "scripts/bugfixes/roclobster.asm" .include "scripts/bugfixes/senex_lilycove.asm" .include "scripts/bugfixes/shop_frame_tiles.asm" .include "scripts/bugfixes/ss_cangrejo.asm" diff --git a/scripts/bugfixes/roclobster.asm b/scripts/bugfixes/roclobster.asm new file mode 100644 index 0000000..41486a3 --- /dev/null +++ b/scripts/bugfixes/roclobster.asm @@ -0,0 +1,30 @@ +.if NEW_ROCLOBSTER_SCRIPT +; Rock Lobster in Dewford Town divespot requires a HM check +.org 0x88259A3 +s_goto @EventScript_RockLobster + +.autoregion +@EventScript_RockLobster: + s_lock + s_goto_if_unset FLAG_BADGE03_GET, 0x81B0F3E + s_setvar VAR_0x8004, ITEM_HM06_ROCK_SMASH + s_callnative CheckIfPartyCanUseHM + 1 + s_compare VAR_RESULT, 6 + s_goto_if_eq 0x81B0F3E + s_msgbox 0x88259F7, MSGBOX_AUTOCLOSE + s_applymovement 0xFF, 0x880EE4F + s_waitmovement 0xFF + s_playbgm 0x166, 0x0 + s_msgbox 0x8825A3E, MSGBOX_AUTOCLOSE + s_playmoncry 0x73, 0x0 + s_msgbox 0x8825A62, MSGBOX_AUTOCLOSE + s_waitmoncry + s_setwildbattle 0x73, 0x32, 0x0 + s_dowildbattle + s_setflag 0x3D44 + s_removeobject 0x1 + s_finditem 0x30, 0x1 + s_release + s_end +.endautoregion +.endif diff --git a/scripts/hm_system.asm b/scripts/hm_system.asm index 1c73332..37b672e 100644 --- a/scripts/hm_system.asm +++ b/scripts/hm_system.asm @@ -210,32 +210,4 @@ mov r0, #0 mov r0, #0 bx lr .endarea - -; Rock Lobster in Dewford Town divespot requires a HM check -.org 0x88259A3 -s_goto @EventScript_RockLobster - -.autoregion -@EventScript_RockLobster: - s_lock - s_goto_if_unset FLAG_BADGE03_GET, @CannotUseRockSmash - s_setvar VAR_0x8004, ITEM_HM06_ROCK_SMASH - s_callnative CheckIfPartyCanUseHM + 1 - s_compare VAR_RESULT, 6 - s_goto_if_eq 0x81B0F3E - s_msgbox 0x88259F7, MSGBOX_AUTOCLOSE - s_applymovement 0xFF, 0x880EE4F - s_waitmovement 0xFF - s_playbgm 0x166, 0x0 - s_msgbox 0x8825A3E, MSGBOX_AUTOCLOSE - s_playmoncry 0x73, 0x0 - s_msgbox 0x8825A62, MSGBOX_AUTOCLOSE - s_waitmoncry - s_setwildbattle 0x73, 0x32, 0x30 - s_dowildbattle - s_setflag 0x3D44 - s_removeobject 0x1 - s_release - s_end -.endautoregion .endif