diff options
-rw-r--r-- | Restore-the-GS-Ball-Celebi-Event.asciidoc | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Restore-the-GS-Ball-Celebi-Event.asciidoc b/Restore-the-GS-Ball-Celebi-Event.asciidoc new file mode 100644 index 0000000..240d09b --- /dev/null +++ b/Restore-the-GS-Ball-Celebi-Event.asciidoc @@ -0,0 +1,59 @@ +The Japanese Crystal GS Ball event required the player to connect to the Pokemon Mobile System GB, and receive the ball from an attendant at the PokeCom Center. This did not happen for the English release, however. + +The GS Ball event was translated into English by the localisation team, and moved the event to Goldenrod's Pokemon Center, but then... didn't enable it whatsoever, the code still calling and checking the Mobile event. It was enabled years later in the 3DS Virtual Console re-release, replacing said mobile check with a simple Elite Four check. + +This tutorial will teach you how to replace the mobile check, and simply check for beating the Elite Four for the first time. The event will continue as normal, identical to how it worked in the 3DS VC re-release. + +## Contents +1. [Locate the event check](#1-locate-the-event-check) +2. [Edit the event check](#2-edit-the-event-check) + + +## 1. Locate the event check +The event is located in the Goldenrod Pokemon Center's first floor, so open up [maps/GoldenrodPokecenter1F.asm](../blob/master/maps/GoldenrodPokecenter1F.asm): + +```diff +GoldenrodPokecenter1F_GSBallSceneLeft: + setval BATTLETOWERACTION_CHECKMOBILEEVENT + special BattleTowerAction + ifequal MOBILE_EVENT_OBJECT_GS_BALL, .gsball + end + +... + +GoldenrodPokecenter1F_GSBallSceneRight: + setval BATTLETOWERACTION_CHECKMOBILEEVENT + special BattleTowerAction + ifequal MOBILE_EVENT_OBJECT_GS_BALL, .gsball + end +``` + +These two scripts in the block are the default mobile GS Ball event checks. Depending on which side of the floor/exit mat you are on, you will be approached from the left, or right side by a Cable Club attendant, jumping in the script to .gsball. .gsball runs the rest of the event (giving the player the ball etc), which we do not need to touch in this tutorial. But without something the English game can actually check against, it just checks for the mobile event (which there is none, so nothing will happen!). + +## 2. Edit the event check + +We will be replacing the mobile check with a simple checkevent command, checking whether the player has defeated the Elite Four at least once. This is basic, but matches the 3DS VC re-release. Make sure to edit both the Left and the Right scripts, otherwise you'll only have one side with the intended functionality. + +```diff +GoldenrodPokecenter1F_GSBallSceneLeft: +- setval BATTLETOWERACTION_CHECKMOBILEEVENT +- special BattleTowerAction +- ifequal MOBILE_EVENT_OBJECT_GS_BALL, .gsball ++ checkevent EVENT_BEAT_ELITE_FOUR ++ iftrue .gsball + end + +... + +GoldenrodPokecenter1F_GSBallSceneRight: +- setval BATTLETOWERACTION_CHECKMOBILEEVENT +- special BattleTowerAction +- ifequal MOBILE_EVENT_OBJECT_GS_BALL, .gsball ++ checkevent EVENT_BEAT_ELITE_FOUR ++ iftrue .gsball + end +``` + +And that's it. The GS Ball event has been successfully restored to its proper functionality, and you can now go onwards to Kurt (and Celebi!) with the GS Ball in tow. + +Todo: screenshot
\ No newline at end of file |