summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2019-02-01 20:24:17 -0500
committerRangi <remy.oukaour+rangi42@gmail.com>2019-02-01 20:24:17 -0500
commit95db4ef813b5e7db206ab6ae9a353f523778ec5a (patch)
treec824cb7c64cd482d06efc5a5cc6fd2837276ab34
parent33e1171bffba53b12c2cb525a0126d91659e0a19 (diff)
GS Ball
-rw-r--r--Useful-unused-data-and-routines.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/Useful-unused-data-and-routines.md b/Useful-unused-data-and-routines.md
index 34fad35..cd0df42 100644
--- a/Useful-unused-data-and-routines.md
+++ b/Useful-unused-data-and-routines.md
@@ -3,6 +3,7 @@ This page is for pointing out unused data or routines that were left over in the
## Contents
+- [The GS Ball and Celebi event](#the-gs-ball-and-celebi-event)
- [NPC sprites](#npc-sprites)
- [Pink overworld sprite color](#pink-overworld-sprite-color)
- [Map environment for outdoor dungeons](#map-environment-for-outdoor-dungeons)
@@ -12,6 +13,24 @@ This page is for pointing out unused data or routines that were left over in the
- [NPCs that trade for a male Pokémon](#npcs-that-trade-for-a-male-pokémon)
+## The GS Ball and Celebi event
+
+The Japanese release of Pokémon Crystal had an entire event where you are given a GS Ball, show it to Kurt, and use it to encounter Celebi in Ilex Forest. This was entirely adapted and translated for the English version, but was never enabled until [the Wii Virtual Console release](https://www.youtube.com/watch?v=Pye8e4bYgug).
+
+The initial script where you get the GS Ball is in [maps/GoldenrodPokecenter1F.asm](../blob/master/maps/GoldenrodPokecenter1F.asm). It calls `BattleTowerAction` with the parameter `BATTLETOWERACTION_CHECKMOBILEEVENT` and checks for the result `MOBILE_EVENT_OBJECT_GS_BALL`. You could just change this to a typical `checkevent` command, or do what the Virtual Console release did and enable the original check:
+
+```asm
+EnableGSBallScene:
+ ld a, BANK(sMobileEventIndex)
+ call GetSRAMBank
+ ld a, BATTLETOWERACTION_CHECKMOBILEEVENT
+ ld [sMobileEventIndex], a
+ jp CloseSRAM
+```
+
+Just put that in a map event script and instead of a typical `setevent` command, do `callasm EnableGSBallScene`.
+
+
## NPC sprites
From [constants/sprite_constants.asm](../blob/master/constants/sprite_constants.asm):