summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/event_scripts.s1073
-rw-r--r--data/scripts/secret_base.inc683
-rw-r--r--data/text/secret_base.inc64
-rw-r--r--data/text/secret_base_trainers.inc316
4 files changed, 1066 insertions, 1070 deletions
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 3edbf49b0..9df3adcdb 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1168,1082 +1168,15 @@ Common_EventScript_Return:: @ 81A14DC
.include "data/scripts/debug.inc"
.include "data/scripts/berry_tree.inc"
.include "data/text/berry_tree.inc"
-
-UnknownString_81A1948: @ 81A1948
- .string "If some vines drop down, this tree can\n"
- .string "be climbed.$"
-
-UnknownString_81A197B: @ 81A197B
- .string "If some vines drop down, this tree can\n"
- .string "be climbed.\p"
- .string "Use the SECRET POWER?$"
-
-UnknownString_81A19C4: @ 81A19C4
- .string "A thick vine dropped down!$"
-
-UnknownString_81A19DF: @ 81A19DF
- .string "Want to make your SECRET BASE here?$"
-
-UnknownString_81A1A03: @ 81A1A03
- .string "If this clump of grass can be moved,\n"
- .string "it might be possible to go inside.$"
-
-UnknownString_81A1A4B: @ 81A1A4B
- .string "If this clump of grass can be moved,\n"
- .string "it might be possible to go inside.\p"
- .string "Use the SECRET POWER?$"
-
-UnknownString_81A1AA9: @ 81A1AA9
- .string "Discovered a small entrance!$"
-
-UnknownString_81A1AC6: @ 81A1AC6
- .string "Want to make your SECRET BASE here?$"
-
-SecretBase_RedCave1_Text_1A1AEA:: @ 81A1AEA
- .string "Have you made a SECRET BASE already?\p"
- .string "I went here, there, everywhere before\n"
- .string "choosing this place.\p"
- .string "Since you're already here, how would\n"
- .string "you like to battle?$"
-
-SecretBase_RedCave1_Text_1A1B83:: @ 81A1B83
- .string "Okay!\n"
- .string "Here we come!$"
-
-SecretBase_RedCave1_Text_1A1B97:: @ 81A1B97
- .string "Hunh?\n"
- .string "Oh, you can't now...$"
-
-UnknownString_81A1BB2:: @ 81A1BB2
- .string "Waaargh! You're too strong!\n"
- .string "About me losing... Please keep it secret!$"
-
-SecretBase_RedCave1_Text_1A1BF8:: @ 81A1BF8
- .string "What do you think of my SECRET BASE?\n"
- .string "Come visit me again tomorrow.$"
-
-SecretBase_RedCave1_Text_1A1C3B:: @ 81A1C3B
- .string "Have you made a SECRET BASE already?\p"
- .string "I went here, there, everywhere before\n"
- .string "choosing this place.\p"
- .string "Feel free to hang out!$"
-
-SecretBase_RedCave1_Text_1A1CB2:: @ 81A1CB2
- .string "There're a lot of places where you can\n"
- .string "make a SECRET BASE.\p"
- .string "But I like this spot best.\n"
- .string "Don't you think it's nice?\p"
- .string "Oh, would you like to have a battle?$"
-
-SecretBase_RedCave1_Text_1A1D48:: @ 81A1D48
- .string "Okay, here goes!$"
-
-SecretBase_RedCave1_Text_1A1D59:: @ 81A1D59
- .string "Oh...\n"
- .string "You can't now, okay.$"
-
-UnknownString_81A1D74:: @ 81A1D74
- .string "Hmmm... It's our loss...\n"
- .string "But don't tell anyone!\l"
- .string "It's a confidential secret!$"
-
-SecretBase_RedCave1_Text_1A1DC0:: @ 81A1DC0
- .string "If you're in this area again, I hope\n"
- .string "you'll visit me.$"
-
-SecretBase_RedCave1_Text_1A1DF6:: @ 81A1DF6
- .string "There're a lot of places where you can\n"
- .string "make a SECRET BASE.\p"
- .string "But I like this spot best.\n"
- .string "Don't you think it's nice?$"
-
-SecretBase_RedCave1_Text_1A1E67:: @ 81A1E67
- .string "This is a popular spot.\n"
- .string "It's always taken.\p"
- .string "Oh! Were you thinking about taking this\n"
- .string "spot, too?\p"
- .string "I'll tell you what, you can have this\n"
- .string "spot if you can beat me.$"
-
-SecretBase_RedCave1_Text_1A1F04:: @ 81A1F04
- .string "Okay!\n"
- .string "I'm going to defend my SECRET BASE!$"
-
-SecretBase_RedCave1_Text_1A1F2E:: @ 81A1F2E
- .string "Hunh? Is that right?\n"
- .string "You're not interested in this spot?$"
-
-UnknownString_81A1F67:: @ 81A1F67
- .string "I can't keep going!\n"
- .string "I surrender!$"
-
-SecretBase_RedCave1_Text_1A1F88:: @ 81A1F88
- .string "Okay, when I move one day, this place\n"
- .string "will be yours!$"
-
-SecretBase_RedCave1_Text_1A1FBD:: @ 81A1FBD
- .string "This is a popular spot.\n"
- .string "It's always taken.\p"
- .string "I waited a long time for it to open.\n"
- .string "I finally got to use it!$"
-
-SecretBase_RedCave1_Text_1A2026:: @ 81A2026
- .string "Welcome to my POKéMON LAB.\p"
- .string "I carry out research on battling in\n"
- .string "secrecy.\p"
- .string "Would you like to see how strong I am?$"
-
-SecretBase_RedCave1_Text_1A2095:: @ 81A2095
- .string "I'm going to go all out!$"
-
-SecretBase_RedCave1_Text_1A20AE:: @ 81A20AE
- .string "Oh.\n"
- .string "Some other time, then!$"
-
-UnknownString_81A20C9:: @ 81A20C9
- .string "Hmm... I've still got lots to learn.\n"
- .string "I have to study some more.$"
-
-SecretBase_RedCave1_Text_1A2109:: @ 81A2109
- .string "Thanks for battling with me.\n"
- .string "Please come back again tomorrow.$"
-
-SecretBase_RedCave1_Text_1A2147:: @ 81A2147
- .string "Welcome to my POKéMON LAB.\p"
- .string "I carry out research on battling in\n"
- .string "secrecy.$"
-
-SecretBase_RedCave1_Text_1A218F:: @ 81A218F
- .string "A big mansion is nice, but I like this\n"
- .string "sort of place more.\p"
- .string "I like it because all kinds of people\n"
- .string "come visit me.\p"
- .string "So, how would you like a battle?$"
-
-SecretBase_RedCave1_Text_1A2220:: @ 81A2220
- .string "That's the way!$"
-
-SecretBase_RedCave1_Text_1A2230:: @ 81A2230
- .string "When you're ready, give me a shout!$"
-
-UnknownString_81A2254:: @ 81A2254
- .string "Aww! Done in!\n"
- .string "But it's still fun to battle!$"
-
-SecretBase_RedCave1_Text_1A2280:: @ 81A2280
- .string "Well, anyway, I should go buy some\n"
- .string "decorations and furniture.\p"
- .string "I want my SECRET BASE to be a place\n"
- .string "other people can enjoy.$"
-
-SecretBase_RedCave1_Text_1A22FA:: @ 81A22FA
- .string "A big mansion is nice, but I like this\n"
- .string "sort of place more.\p"
- .string "I like it because all kinds of people\n"
- .string "come visit me.$"
-
-SecretBase_RedCave1_Text_1A236A:: @ 81A236A
- .string "I simply adore shopping for decorations\n"
- .string "and furniture.\p"
- .string "I also love raising POKéMON just\n"
- .string "as much.\p"
- .string "If you would be so kind, will you battle\n"
- .string "with my POKéMON?$"
-
-SecretBase_RedCave1_Text_1A2405:: @ 81A2405
- .string "Thank you.\n"
- .string "Shall we begin?$"
-
-SecretBase_RedCave1_Text_1A2420:: @ 81A2420
- .string "Oh.\n"
- .string "How disappointing...$"
-
-UnknownString_81A2439:: @ 81A2439
- .string "I concede...$"
-
-SecretBase_RedCave1_Text_1A2446:: @ 81A2446
- .string "That was all in good fun!\n"
- .string "I should go enjoy shopping now.$"
-
-SecretBase_RedCave1_Text_1A2480:: @ 81A2480
- .string "I simply adore shopping for decorations\n"
- .string "and furniture.\p"
- .string "I also love raising POKéMON just\n"
- .string "as much.$"
-
-SecretBase_RedCave1_Text_1A24E1:: @ 81A24E1
- .string "Some people make their SECRET BASES in\n"
- .string "hard-to-find places.\l"
- .string "Do they want to just lie low?\p"
- .string "But since you found me, how about we\n"
- .string "have a battle?$"
-
-SecretBase_RedCave1_Text_1A256F:: @ 81A256F
- .string "I'm not going down easily!$"
-
-SecretBase_RedCave1_Text_1A258A:: @ 81A258A
- .string "Oh... Are you maybe tired from searching\n"
- .string "for this place?$"
-
-UnknownString_81A25C3:: @ 81A25C3
- .string "I went down...$"
-
-SecretBase_RedCave1_Text_1A25D2:: @ 81A25D2
- .string "Where's your SECRET BASE?\n"
- .string "I should go visit you there.$"
-
-SecretBase_RedCave1_Text_1A2609:: @ 81A2609
- .string "Some people make their SECRET BASES in\n"
- .string "hard-to-find places.\l"
- .string "Do they want to just lie low?$"
-
-SecretBase_RedCave1_Text_1A2663:: @ 81A2663
- .string "People have told me that you can get\n"
- .string "decorations in several ways.\p"
- .string "We should have a race to see who can\n"
- .string "get nicer decorations and furniture!\p"
- .string "In the meantime, want to battle?$"
-
-SecretBase_RedCave1_Text_1A2710:: @ 81A2710
- .string "This is my SECRET BASE.\n"
- .string "I can't lose!$"
-
-SecretBase_RedCave1_Text_1A2736:: @ 81A2736
- .string "I'll battle with you anytime.$"
-
-UnknownString_81A2754:: @ 81A2754
- .string "Huh?\n"
- .string "Did I just lose?$"
-
-SecretBase_RedCave1_Text_1A276A:: @ 81A276A
- .string "I won't lose at collecting decorations.\n"
- .string "Come visit again!$"
-
-SecretBase_RedCave1_Text_1A27A4:: @ 81A27A4
- .string "People have told me that you can get\n"
- .string "decorations in several ways.\p"
- .string "We should have a race to see who can\n"
- .string "get nicer decorations and furniture!$"
-
-SecretBase_RedCave1_Text_1A2830:: @ 81A2830
- .string "I found a spot I liked, and I did it up\n"
- .string "with my favorite decorations.\p"
- .string "I raise my favorite POKéMON and grow\n"
- .string "stronger with it.\p"
- .string "That's what I do.\n"
- .string "Want to battle with me?$"
-
-SecretBase_RedCave1_Text_1A28D7:: @ 81A28D7
- .string "Show me what you're made of!$"
-
-SecretBase_RedCave1_Text_1A28F4:: @ 81A28F4
- .string "I guess there are times when you're not\n"
- .string "into it.$"
-
-UnknownString_81A2925:: @ 81A2925
- .string "I know exactly what you're made of now.$"
-
-SecretBase_RedCave1_Text_1A294D:: @ 81A294D
- .string "We can both become stronger.\n"
- .string "Let's keep at it!$"
-
-SecretBase_RedCave1_Text_1A297C:: @ 81A297C
- .string "I found a spot I liked, and I did it up\n"
- .string "with my favorite decorations.\p"
- .string "I raise my favorite POKéMON and grow\n"
- .string "stronger with it.\p"
- .string "Every day is a great day.$"
-
-SecretBase_RedCave1_Text_1A2A13:: @ 81A2A13
- .string "You can learn a lot about the taste\n"
- .string "and sense of people by the kinds of\l"
- .string "decorations they have, and how they\l"
- .string "display them.\p"
- .string "What do you think of my taste?\n"
- .string "Are you speechless?\p"
- .string "Want to see my taste in battling?$"
-
-SecretBase_RedCave1_Text_1A2AE2:: @ 81A2AE2
- .string "There's no holding back!$"
-
-SecretBase_RedCave1_Text_1A2AFB:: @ 81A2AFB
- .string "I'll be happy to demonstrate my style\n"
- .string "anytime.$"
-
-UnknownString_81A2B2A:: @ 81A2B2A
- .string "You're supremely talented!\n"
- .string "Your power seems to be limitless...$"
-
-SecretBase_RedCave1_Text_1A2B69:: @ 81A2B69
- .string "What did you think of my style?\n"
- .string "I'll keep on polishing it!$"
-
-SecretBase_RedCave1_Text_1A2BA4:: @ 81A2BA4
- .string "You can learn a lot about the taste\n"
- .string "and sense of people by the kinds of\l"
- .string "decorations they have, and how they\l"
- .string "display them.\p"
- .string "What do you think of my taste?\n"
- .string "Are you speechless?$"
-
-gUnknown_081A2C51:: @ 81A2C51
- special sub_80BB70C
- special CheckPlayerHasSecretBase
- compare VAR_RESULT, 1
- goto_if_eq AskToMoveSecretBase
- checkpartymove MOVE_SECRET_POWER
- setfieldeffectargument 0, VAR_RESULT
- buffermovename 1, MOVE_SECRET_POWER
- compare VAR_0x8007, 1
- goto_if_eq EventScript_1A2CB0
- compare VAR_0x8007, 2
- goto_if_eq EventScript_1A2CB0
- compare VAR_0x8007, 3
- goto_if_eq EventScript_1A2CB0
- compare VAR_0x8007, 4
- goto_if_eq EventScript_1A2CB0
- compare VAR_0x8007, 5
- goto_if_eq EventScript_1A2D08
- compare VAR_0x8007, 6
- goto_if_eq EventScript_1A2D60
- end
-
-EventScript_1A2CB0:
- lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_1A2CF1
- bufferpartymonnick 0, VAR_RESULT
- msgbox UnknownString_8198F34, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_1A2F3A
- msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
- closemessage
- dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
- waitstate
- goto EventScript_1A2CFA
- end
-
-DoSecretBaseCaveFieldEffectScript:: @ 81A2CE6
- lockall
- dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
- waitstate
- goto EventScript_1A2CFA
- end
-
-EventScript_1A2CF1:
- msgbox UnknownString_8198F10, MSGBOX_SIGN
- end
-
-EventScript_1A2CFA:
- msgbox UnknownString_8198F6E, MSGBOX_DEFAULT
- goto EventScript_1A2DB8
- end
-
-EventScript_1A2D08:
- lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_1A2D49
- bufferpartymonnick 0, VAR_RESULT
- msgbox UnknownString_81A197B, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_1A2F3A
- msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
- closemessage
- dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
- waitstate
- goto EventScript_1A2D52
- end
-
-DoSecretBaseTreeFieldEffectScript:: @ 81A2D3E
- lockall
- dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
- waitstate
- goto EventScript_1A2D52
- end
-
-EventScript_1A2D49:
- msgbox UnknownString_81A1948, MSGBOX_SIGN
- end
-
-EventScript_1A2D52:
- msgbox UnknownString_81A19C4, MSGBOX_DEFAULT
- goto EventScript_1A2DB8
- end
-
-EventScript_1A2D60:
- lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_1A2DA1
- bufferpartymonnick 0, VAR_RESULT
- msgbox UnknownString_81A1A4B, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_1A2F3A
- msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
- closemessage
- dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
- waitstate
- goto EventScript_1A2DAA
- end
-
-DoSecretBaseShrubFieldEffectScript:: @ 81A2D96
- lockall
- dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
- waitstate
- goto EventScript_1A2DAA
- end
-
-EventScript_1A2DA1:
- msgbox UnknownString_81A1A03, MSGBOX_SIGN
- end
-
-EventScript_1A2DAA:
- msgbox UnknownString_81A1AA9, MSGBOX_DEFAULT
- goto EventScript_1A2DB8
- end
-
-EventScript_1A2DB8:
- closemessage
- playse SE_KAIDAN
- setvar VAR_INIT_SECRET_BASE, 0
- setflag FLAG_DECORATION_1
- special sub_80BB8CC
- special sub_80BBAF0
- setvar VAR_0x8004, 0
- setvar VAR_0x8005, 0
- special sub_80BBDD0
- setvar VAR_SECRET_BASE_INITIALIZED, 1
- waitstate
- end
-
-SecretBase_EventScript_FirstEntrance:: @ 81A2DDE
- applymovement OBJ_EVENT_ID_PLAYER, SecretBase_RedCave1_Movement_1A2E11
- waitmovement 0
- setvar VAR_INIT_SECRET_BASE, 1
- msgbox SecretBase_RedCave1_Text_198F89, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SecretBase_RedCave1_EventScript_1A2E08
- closemessage
- playse SE_KAIDAN
- special sub_80BC440
- end
-
-SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08
- closemessage
- setflag FLAG_RECEIVED_SECRET_POWER
- special sub_80BBC78
- waitstate
- end
-
-SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11
- walk_up
- walk_up
- step_end
-
-gUnknown_081A2E14:: @ 81A2E14
- lockall
- setvar VAR_INIT_SECRET_BASE, 1
- playse SE_KAIDAN
- special sub_80BC114
- compare VAR_RESULT, 0
- goto_if_eq EventScript_1A2E38
- clearflag FLAG_DECORATION_1
- special sub_80BBAF0
- setvar VAR_SECRET_BASE_INITIALIZED, 0
- waitstate
- end
-
-EventScript_1A2E38:
- setflag FLAG_DECORATION_1
- special sub_80BBAF0
- setvar VAR_SECRET_BASE_INITIALIZED, 0
- waitstate
- end
-
-AskToMoveSecretBase:
- checkpartymove MOVE_SECRET_POWER
- compare VAR_RESULT, 6
- goto_if_eq EventScript_1A2EF7
- setfieldeffectargument 0, VAR_RESULT
- setorcopyvar VAR_0x8004, VAR_RESULT
- lockall
- special GetSecretBaseNearbyMapName
- msgbox UnknownString_81A3C71, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_1A2F3A
- msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_1A2F3A
- fadescreen FADE_TO_BLACK
- special MoveSecretBase
- closemessage
- fadescreen FADE_FROM_BLACK
- msgbox UnknownString_81A3CC9, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_1A2F3A
- bufferpartymonnick 0, VAR_0x8004
- buffermovename 1, MOVE_SECRET_POWER
- msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
- closemessage
- closemessage
- compare VAR_0x8007, 1
- goto_if_eq DoSecretBaseCaveFieldEffectScript
- compare VAR_0x8007, 2
- goto_if_eq DoSecretBaseCaveFieldEffectScript
- compare VAR_0x8007, 3
- goto_if_eq DoSecretBaseCaveFieldEffectScript
- compare VAR_0x8007, 4
- goto_if_eq DoSecretBaseCaveFieldEffectScript
- compare VAR_0x8007, 5
- goto_if_eq DoSecretBaseTreeFieldEffectScript
- compare VAR_0x8007, 6
- goto_if_eq DoSecretBaseShrubFieldEffectScript
- releaseall
- end
-
-EventScript_1A2EF7::
- compare VAR_0x8007, 1
- goto_if_eq EventScript_1A2CF1
- compare VAR_0x8007, 2
- goto_if_eq EventScript_1A2CF1
- compare VAR_0x8007, 3
- goto_if_eq EventScript_1A2CF1
- compare VAR_0x8007, 4
- goto_if_eq EventScript_1A2CF1
- compare VAR_0x8007, 5
- goto_if_eq EventScript_1A2D49
- compare VAR_0x8007, 6
- goto_if_eq EventScript_1A2DA1
- end
-
-EventScript_1A2F3A::
- closemessage
- releaseall
- end
-
-SecretBase_EventScript_SetDecorationFlags:: @ 81A2F3D
- setflag FLAG_DECORATION_2
- setflag FLAG_DECORATION_3
- setflag FLAG_DECORATION_4
- setflag FLAG_DECORATION_5
- setflag FLAG_DECORATION_6
- setflag FLAG_DECORATION_7
- setflag FLAG_DECORATION_8
- setflag FLAG_DECORATION_9
- setflag FLAG_DECORATION_10
- setflag FLAG_DECORATION_11
- setflag FLAG_DECORATION_12
- setflag FLAG_DECORATION_13
- setflag FLAG_DECORATION_14
- setflag FLAG_DECORATION_15
- return
-
-SecretBase_EventScript_InitDecorations:: @ 81A2F68
- setvar VAR_0x8004, 0
- setvar VAR_0x8005, 0
- special sub_80BBDD0
- setvar VAR_SECRET_BASE_INITIALIZED, 1
- end
-
-gUnknown_081A2F7B:: @ 81A2F7B
- setvar VAR_0x8005, 0
- goto EventScript_1A2F86
- end
-
-EventScript_1A2F86:
- special sub_80FF474
- end
-
-gUnknown_081A2F8A:: @ 81A2F8A
- setvar VAR_0x8004, 0
- goto EventScript_1A2F95
- end
-
-EventScript_1A2F95:
- special sub_8100A7C
- compare VAR_RESULT, 1
- goto_if_eq EventScript_1A2FBF
- addvar VAR_0x8004, 1
- compare VAR_0x8005, 0
- goto_if_eq EventScript_1A2F95
- removeobject VAR_0x8006
- setflag VAR_0x8005
- goto EventScript_1A2F95
- end
-
-EventScript_1A2FBF:
- end
-
-SecretBase_BlueCave1_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_BlueCave2_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_BlueCave3_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_BlueCave4_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_BrownCave1_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_BrownCave2_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_BrownCave3_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_BrownCave4_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_RedCave1_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_RedCave2_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_RedCave3_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_RedCave4_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Shrub1_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Shrub2_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Shrub3_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Shrub4_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Tree1_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Tree2_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Tree3_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_Tree4_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_YellowCave1_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_YellowCave2_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0
-SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
- special sub_80BCE90
- compare VAR_0x8004, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A3032
- compare VAR_0x8004, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A30AE
- compare VAR_0x8004, 2
- goto_if_eq SecretBase_RedCave1_EventScript_1A312A
- compare VAR_0x8004, 3
- goto_if_eq SecretBase_RedCave1_EventScript_1A31A6
- compare VAR_0x8004, 4
- goto_if_eq SecretBase_RedCave1_EventScript_1A3222
- compare VAR_0x8004, 5
- goto_if_eq SecretBase_RedCave1_EventScript_1A329E
- compare VAR_0x8004, 6
- goto_if_eq SecretBase_RedCave1_EventScript_1A331A
- compare VAR_0x8004, 7
- goto_if_eq SecretBase_RedCave1_EventScript_1A3396
- compare VAR_0x8004, 8
- goto_if_eq SecretBase_RedCave1_EventScript_1A3412
- compare VAR_0x8004, 9
- goto_if_eq SecretBase_RedCave1_EventScript_1A348E
- end
-
-SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3086
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A30A5
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A1AEA, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A308F
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A308F
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A1B83, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
- msgbox SecretBase_RedCave1_Text_1A1C3B, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A1B97, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5
- msgbox SecretBase_RedCave1_Text_1A1BF8, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3102
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A3121
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A1E67, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A310B
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A310B
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A1F04, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
- msgbox SecretBase_RedCave1_Text_1A1FBD, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A1F2E, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121
- msgbox SecretBase_RedCave1_Text_1A1F88, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A317E
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A319D
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A218F, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A3187
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A3187
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2220, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
- msgbox SecretBase_RedCave1_Text_1A22FA, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2230, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D
- msgbox SecretBase_RedCave1_Text_1A2280, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A31FA
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A3219
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A24E1, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A3203
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A3203
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A256F, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
- msgbox SecretBase_RedCave1_Text_1A2609, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A258A, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219
- msgbox SecretBase_RedCave1_Text_1A25D2, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3276
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A3295
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A2830, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A327F
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A327F
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A28D7, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
- msgbox SecretBase_RedCave1_Text_1A297C, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A28F4, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295
- msgbox SecretBase_RedCave1_Text_1A294D, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A32F2
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A3311
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A1CB2, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A1D48, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
- msgbox SecretBase_RedCave1_Text_1A1DF6, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A1D59, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311
- msgbox SecretBase_RedCave1_Text_1A1DC0, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A336E
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A338D
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A2026, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A3377
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A3377
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2095, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
- msgbox SecretBase_RedCave1_Text_1A2147, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A20AE, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D
- msgbox SecretBase_RedCave1_Text_1A2109, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A33EA
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A3409
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A236A, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2405, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
- msgbox SecretBase_RedCave1_Text_1A2480, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2420, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409
- msgbox SecretBase_RedCave1_Text_1A2446, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3466
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A3485
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A2663, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A346F
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A346F
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2710, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
- msgbox SecretBase_RedCave1_Text_1A27A4, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2736, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485
- msgbox SecretBase_RedCave1_Text_1A276A, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A34E2
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_1A3501
- lock
- faceplayer
- msgbox SecretBase_RedCave1_Text_1A2A13, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
- setvar VAR_RESULT, 1
- special sub_80BCE4C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2AE2, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_1A350A
- end
-
-SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
- msgbox SecretBase_RedCave1_Text_1A2BA4, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB
- setvar VAR_RESULT, 0
- special sub_80BCE4C
- erasebox 0, 0, 15, 10
- msgbox SecretBase_RedCave1_Text_1A2AFB, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A3501:: @ 81A3501
- msgbox SecretBase_RedCave1_Text_1A2B69, MSGBOX_NPC
- end
-
-SecretBase_RedCave1_EventScript_1A350A:: @ 81A350A
- special sub_80BCE1C
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 0
- special StartSpecialBattle
- waitstate
- special ScrSpecial_HealPlayerParty
- release
- end
-
+ .include "data/text/secret_base_trainers.inc"
+ .include "data/scripts/secret_base.inc"
.include "data/text/secret_power_tm.inc"
.include "data/scripts/secret_power_tm.inc"
-
-SecretBase_Text_AllDecorationsWillBeReturned: @ 81A38FB
- .string "All decorations and furniture in your\n"
- .string "SECRET BASE will be returned to your PC.\p"
- .string "Is that okay?$"
-
-SecretBase_Text_WantToRegisterSecretBase: @ 81A3958
- .string "Do you want to register\n"
- .string "{STR_VAR_1}'s SECRET BASE?$"
-
-SecretBase_Text_AlreadyRegisteredDelete: @ 81A3982
- .string "This data is already registered.\n"
- .string "Would you like to delete it?$"
-
-SecretBase_Text_TooManyBasesDeleteSome: @ 81A39C0
- .string "Up to 10 locations can be registered.\p"
- .string "Delete a location if you want to\n"
- .string "register another location.$"
-
-SecretBase_Text_RegistrationCompleted: @ 81A3A22
- .string "Registration completed.$"
-
-SecretBase_Text_DataUnregistered: @ 81A3A3A
- .string "Data has been unregistered.$"
-
-UnknownString_81A3A56: @ 81A3A56
- .string "There are no decorations...$"
-
-SecretBase_Text_BootUpPC: @ 81A3A72
- .string "{PLAYER} booted up the PC.$"
-
-SecretBase_Text_WhatWouldYouLikeToDo: @ 81A3A87
- .string "What would you like to do?$"
-
-SecretBase_Text_RegistryInfo: @ 81A3AA2
- .string "The registered SECRET BASE will remain\n"
- .string "unless the owner moves away.\p"
- .string "If it is removed from the registry,\n"
- .string "another SECRET BASE may take its place.\p"
- .string "Up to ten locations can be registered.{PAUSE_UNTIL_PRESS}$"
-
-SecretBase_Text_BattleTowerShield: @ 81A3B5B
- .string "A shield of {STR_VAR_2} that marks winning\n"
- .string "{STR_VAR_1} times in a row at the BATTLE TOWER.$"
-
-SecretBase_Text_ToyTV: @ 81A3BA4
- .string "A realistic toy TV. It could be easily\n"
- .string "mistaken for the real thing.$"
-
-SecretBase_Text_SeedotTV: @ 81A3BE8
- .string "A toy TV shaped like a SEEDOT.\n"
- .string "It looks ready to roll away on its own...$"
-
-SecretBase_Text_SkittyTV: @ 81A3C31
- .string "A toy TV shaped like a SKITTY.\n"
- .string "It looks ready to stroll away...$"
-
-UnknownString_81A3C71: @ 81A3C71
- .string "You may only make one SECRET BASE.\p"
- .string "Would you like to move from the SECRET\n"
- .string "BASE near {STR_VAR_1}?$"
-
-UnknownString_81A3CC9: @ 81A3CC9
- .string "Moving completed.\p"
- .string "Would you like to use the SECRET POWER?$"
-
+ .include "data/text/secret_base.inc"
.include "data/scripts/cable_club.inc"
.include "data/text/cable_club.inc"
-
.include "data/scripts/contest_hall.inc"
.include "data/text/contest_hall.inc"
-
.include "data/scripts/tv.inc"
.include "data/text/tv.inc"
diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc
new file mode 100644
index 000000000..8a82583b2
--- /dev/null
+++ b/data/scripts/secret_base.inc
@@ -0,0 +1,683 @@
+gUnknown_081A2C51:: @ 81A2C51
+ special sub_80BB70C
+ special CheckPlayerHasSecretBase
+ compare VAR_RESULT, 1
+ goto_if_eq AskToMoveSecretBase
+ checkpartymove MOVE_SECRET_POWER
+ setfieldeffectargument 0, VAR_RESULT
+ buffermovename 1, MOVE_SECRET_POWER
+ compare VAR_0x8007, 1
+ goto_if_eq EventScript_1A2CB0
+ compare VAR_0x8007, 2
+ goto_if_eq EventScript_1A2CB0
+ compare VAR_0x8007, 3
+ goto_if_eq EventScript_1A2CB0
+ compare VAR_0x8007, 4
+ goto_if_eq EventScript_1A2CB0
+ compare VAR_0x8007, 5
+ goto_if_eq EventScript_1A2D08
+ compare VAR_0x8007, 6
+ goto_if_eq EventScript_1A2D60
+ end
+
+EventScript_1A2CB0:
+ lockall
+ compare VAR_RESULT, 6
+ goto_if_eq EventScript_1A2CF1
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox UnknownString_8198F34, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_1A2F3A
+ msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
+ closemessage
+ dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
+ waitstate
+ goto EventScript_1A2CFA
+ end
+
+DoSecretBaseCaveFieldEffectScript:: @ 81A2CE6
+ lockall
+ dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
+ waitstate
+ goto EventScript_1A2CFA
+ end
+
+EventScript_1A2CF1:
+ msgbox UnknownString_8198F10, MSGBOX_SIGN
+ end
+
+EventScript_1A2CFA:
+ msgbox UnknownString_8198F6E, MSGBOX_DEFAULT
+ goto EventScript_1A2DB8
+ end
+
+EventScript_1A2D08:
+ lockall
+ compare VAR_RESULT, 6
+ goto_if_eq EventScript_1A2D49
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox UnknownString_81A197B, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_1A2F3A
+ msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
+ closemessage
+ dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
+ waitstate
+ goto EventScript_1A2D52
+ end
+
+DoSecretBaseTreeFieldEffectScript:: @ 81A2D3E
+ lockall
+ dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
+ waitstate
+ goto EventScript_1A2D52
+ end
+
+EventScript_1A2D49:
+ msgbox UnknownString_81A1948, MSGBOX_SIGN
+ end
+
+EventScript_1A2D52:
+ msgbox UnknownString_81A19C4, MSGBOX_DEFAULT
+ goto EventScript_1A2DB8
+ end
+
+EventScript_1A2D60:
+ lockall
+ compare VAR_RESULT, 6
+ goto_if_eq EventScript_1A2DA1
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox UnknownString_81A1A4B, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_1A2F3A
+ msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
+ closemessage
+ dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
+ waitstate
+ goto EventScript_1A2DAA
+ end
+
+DoSecretBaseShrubFieldEffectScript:: @ 81A2D96
+ lockall
+ dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
+ waitstate
+ goto EventScript_1A2DAA
+ end
+
+EventScript_1A2DA1:
+ msgbox UnknownString_81A1A03, MSGBOX_SIGN
+ end
+
+EventScript_1A2DAA:
+ msgbox UnknownString_81A1AA9, MSGBOX_DEFAULT
+ goto EventScript_1A2DB8
+ end
+
+EventScript_1A2DB8:
+ closemessage
+ playse SE_KAIDAN
+ setvar VAR_INIT_SECRET_BASE, 0
+ setflag FLAG_DECORATION_1
+ special sub_80BB8CC
+ special sub_80BBAF0
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ special sub_80BBDD0
+ setvar VAR_SECRET_BASE_INITIALIZED, 1
+ waitstate
+ end
+
+SecretBase_EventScript_FirstEntrance:: @ 81A2DDE
+ applymovement OBJ_EVENT_ID_PLAYER, SecretBase_RedCave1_Movement_1A2E11
+ waitmovement 0
+ setvar VAR_INIT_SECRET_BASE, 1
+ msgbox SecretBase_RedCave1_Text_198F89, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SecretBase_RedCave1_EventScript_1A2E08
+ closemessage
+ playse SE_KAIDAN
+ special sub_80BC440
+ end
+
+SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08
+ closemessage
+ setflag FLAG_RECEIVED_SECRET_POWER
+ special sub_80BBC78
+ waitstate
+ end
+
+SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11
+ walk_up
+ walk_up
+ step_end
+
+gUnknown_081A2E14:: @ 81A2E14
+ lockall
+ setvar VAR_INIT_SECRET_BASE, 1
+ playse SE_KAIDAN
+ special sub_80BC114
+ compare VAR_RESULT, 0
+ goto_if_eq EventScript_1A2E38
+ clearflag FLAG_DECORATION_1
+ special sub_80BBAF0
+ setvar VAR_SECRET_BASE_INITIALIZED, 0
+ waitstate
+ end
+
+EventScript_1A2E38:
+ setflag FLAG_DECORATION_1
+ special sub_80BBAF0
+ setvar VAR_SECRET_BASE_INITIALIZED, 0
+ waitstate
+ end
+
+AskToMoveSecretBase:
+ checkpartymove MOVE_SECRET_POWER
+ compare VAR_RESULT, 6
+ goto_if_eq EventScript_1A2EF7
+ setfieldeffectargument 0, VAR_RESULT
+ setorcopyvar VAR_0x8004, VAR_RESULT
+ lockall
+ special GetSecretBaseNearbyMapName
+ msgbox UnknownString_81A3C71, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_1A2F3A
+ msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_1A2F3A
+ fadescreen FADE_TO_BLACK
+ special MoveSecretBase
+ closemessage
+ fadescreen FADE_FROM_BLACK
+ msgbox UnknownString_81A3CC9, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_1A2F3A
+ bufferpartymonnick 0, VAR_0x8004
+ buffermovename 1, MOVE_SECRET_POWER
+ msgbox UsedCutRockSmashText, MSGBOX_DEFAULT
+ closemessage
+ closemessage
+ compare VAR_0x8007, 1
+ goto_if_eq DoSecretBaseCaveFieldEffectScript
+ compare VAR_0x8007, 2
+ goto_if_eq DoSecretBaseCaveFieldEffectScript
+ compare VAR_0x8007, 3
+ goto_if_eq DoSecretBaseCaveFieldEffectScript
+ compare VAR_0x8007, 4
+ goto_if_eq DoSecretBaseCaveFieldEffectScript
+ compare VAR_0x8007, 5
+ goto_if_eq DoSecretBaseTreeFieldEffectScript
+ compare VAR_0x8007, 6
+ goto_if_eq DoSecretBaseShrubFieldEffectScript
+ releaseall
+ end
+
+EventScript_1A2EF7::
+ compare VAR_0x8007, 1
+ goto_if_eq EventScript_1A2CF1
+ compare VAR_0x8007, 2
+ goto_if_eq EventScript_1A2CF1
+ compare VAR_0x8007, 3
+ goto_if_eq EventScript_1A2CF1
+ compare VAR_0x8007, 4
+ goto_if_eq EventScript_1A2CF1
+ compare VAR_0x8007, 5
+ goto_if_eq EventScript_1A2D49
+ compare VAR_0x8007, 6
+ goto_if_eq EventScript_1A2DA1
+ end
+
+EventScript_1A2F3A::
+ closemessage
+ releaseall
+ end
+
+SecretBase_EventScript_SetDecorationFlags:: @ 81A2F3D
+ setflag FLAG_DECORATION_2
+ setflag FLAG_DECORATION_3
+ setflag FLAG_DECORATION_4
+ setflag FLAG_DECORATION_5
+ setflag FLAG_DECORATION_6
+ setflag FLAG_DECORATION_7
+ setflag FLAG_DECORATION_8
+ setflag FLAG_DECORATION_9
+ setflag FLAG_DECORATION_10
+ setflag FLAG_DECORATION_11
+ setflag FLAG_DECORATION_12
+ setflag FLAG_DECORATION_13
+ setflag FLAG_DECORATION_14
+ setflag FLAG_DECORATION_15
+ return
+
+SecretBase_EventScript_InitDecorations:: @ 81A2F68
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ special sub_80BBDD0
+ setvar VAR_SECRET_BASE_INITIALIZED, 1
+ end
+
+gUnknown_081A2F7B:: @ 81A2F7B
+ setvar VAR_0x8005, 0
+ goto EventScript_1A2F86
+ end
+
+EventScript_1A2F86:
+ special sub_80FF474
+ end
+
+gUnknown_081A2F8A:: @ 81A2F8A
+ setvar VAR_0x8004, 0
+ goto EventScript_1A2F95
+ end
+
+EventScript_1A2F95:
+ special sub_8100A7C
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_1A2FBF
+ addvar VAR_0x8004, 1
+ compare VAR_0x8005, 0
+ goto_if_eq EventScript_1A2F95
+ removeobject VAR_0x8006
+ setflag VAR_0x8005
+ goto EventScript_1A2F95
+ end
+
+EventScript_1A2FBF:
+ end
+
+SecretBase_BlueCave1_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_BlueCave2_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_BlueCave3_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_BlueCave4_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_BrownCave1_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_BrownCave2_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_BrownCave3_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_BrownCave4_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_RedCave1_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_RedCave2_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_RedCave3_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_RedCave4_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Shrub1_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Shrub2_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Shrub3_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Shrub4_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Tree1_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Tree2_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Tree3_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_Tree4_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_YellowCave1_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_YellowCave2_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0
+SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
+ special sub_80BCE90
+ compare VAR_0x8004, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3032
+ compare VAR_0x8004, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A30AE
+ compare VAR_0x8004, 2
+ goto_if_eq SecretBase_RedCave1_EventScript_1A312A
+ compare VAR_0x8004, 3
+ goto_if_eq SecretBase_RedCave1_EventScript_1A31A6
+ compare VAR_0x8004, 4
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3222
+ compare VAR_0x8004, 5
+ goto_if_eq SecretBase_RedCave1_EventScript_1A329E
+ compare VAR_0x8004, 6
+ goto_if_eq SecretBase_RedCave1_EventScript_1A331A
+ compare VAR_0x8004, 7
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3396
+ compare VAR_0x8004, 8
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3412
+ compare VAR_0x8004, 9
+ goto_if_eq SecretBase_RedCave1_EventScript_1A348E
+ end
+
+SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3086
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A30A5
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A1AEA, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A308F
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A308F
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A1B83, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
+ msgbox SecretBase_RedCave1_Text_1A1C3B, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A1B97, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5
+ msgbox SecretBase_RedCave1_Text_1A1BF8, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3102
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3121
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A1E67, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A310B
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A310B
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A1F04, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
+ msgbox SecretBase_RedCave1_Text_1A1FBD, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A1F2E, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121
+ msgbox SecretBase_RedCave1_Text_1A1F88, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A317E
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A319D
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A218F, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3187
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3187
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2220, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
+ msgbox SecretBase_RedCave1_Text_1A22FA, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2230, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D
+ msgbox SecretBase_RedCave1_Text_1A2280, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A31FA
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3219
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A24E1, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3203
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3203
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A256F, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
+ msgbox SecretBase_RedCave1_Text_1A2609, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A258A, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219
+ msgbox SecretBase_RedCave1_Text_1A25D2, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3276
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3295
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A2830, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A327F
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A327F
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A28D7, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
+ msgbox SecretBase_RedCave1_Text_1A297C, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A28F4, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295
+ msgbox SecretBase_RedCave1_Text_1A294D, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A32F2
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3311
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A1CB2, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A1D48, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
+ msgbox SecretBase_RedCave1_Text_1A1DF6, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A1D59, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311
+ msgbox SecretBase_RedCave1_Text_1A1DC0, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A336E
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A338D
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A2026, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3377
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3377
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2095, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
+ msgbox SecretBase_RedCave1_Text_1A2147, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A20AE, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D
+ msgbox SecretBase_RedCave1_Text_1A2109, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A33EA
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3409
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A236A, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2405, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
+ msgbox SecretBase_RedCave1_Text_1A2480, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2420, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409
+ msgbox SecretBase_RedCave1_Text_1A2446, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3466
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3485
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A2663, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A346F
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A346F
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2710, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
+ msgbox SecretBase_RedCave1_Text_1A27A4, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2736, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485
+ msgbox SecretBase_RedCave1_Text_1A276A, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A34E2
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3501
+ lock
+ faceplayer
+ msgbox SecretBase_RedCave1_Text_1A2A13, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
+ setvar VAR_RESULT, 1
+ special sub_80BCE4C
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2AE2, MSGBOX_DEFAULT
+ goto SecretBase_RedCave1_EventScript_1A350A
+ end
+
+SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
+ msgbox SecretBase_RedCave1_Text_1A2BA4, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB
+ setvar VAR_RESULT, 0
+ special sub_80BCE4C
+ erasebox 0, 0, 15, 10
+ msgbox SecretBase_RedCave1_Text_1A2AFB, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A3501:: @ 81A3501
+ msgbox SecretBase_RedCave1_Text_1A2B69, MSGBOX_NPC
+ end
+
+SecretBase_RedCave1_EventScript_1A350A:: @ 81A350A
+ special sub_80BCE1C
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 0
+ special StartSpecialBattle
+ waitstate
+ special ScrSpecial_HealPlayerParty
+ release
+ end
diff --git a/data/text/secret_base.inc b/data/text/secret_base.inc
new file mode 100644
index 000000000..303483c9a
--- /dev/null
+++ b/data/text/secret_base.inc
@@ -0,0 +1,64 @@
+SecretBase_Text_AllDecorationsWillBeReturned: @ 81A38FB
+ .string "All decorations and furniture in your\n"
+ .string "SECRET BASE will be returned to your PC.\p"
+ .string "Is that okay?$"
+
+SecretBase_Text_WantToRegisterSecretBase: @ 81A3958
+ .string "Do you want to register\n"
+ .string "{STR_VAR_1}'s SECRET BASE?$"
+
+SecretBase_Text_AlreadyRegisteredDelete: @ 81A3982
+ .string "This data is already registered.\n"
+ .string "Would you like to delete it?$"
+
+SecretBase_Text_TooManyBasesDeleteSome: @ 81A39C0
+ .string "Up to 10 locations can be registered.\p"
+ .string "Delete a location if you want to\n"
+ .string "register another location.$"
+
+SecretBase_Text_RegistrationCompleted: @ 81A3A22
+ .string "Registration completed.$"
+
+SecretBase_Text_DataUnregistered: @ 81A3A3A
+ .string "Data has been unregistered.$"
+
+UnknownString_81A3A56: @ 81A3A56
+ .string "There are no decorations...$"
+
+SecretBase_Text_BootUpPC: @ 81A3A72
+ .string "{PLAYER} booted up the PC.$"
+
+SecretBase_Text_WhatWouldYouLikeToDo: @ 81A3A87
+ .string "What would you like to do?$"
+
+SecretBase_Text_RegistryInfo: @ 81A3AA2
+ .string "The registered SECRET BASE will remain\n"
+ .string "unless the owner moves away.\p"
+ .string "If it is removed from the registry,\n"
+ .string "another SECRET BASE may take its place.\p"
+ .string "Up to ten locations can be registered.{PAUSE_UNTIL_PRESS}$"
+
+SecretBase_Text_BattleTowerShield: @ 81A3B5B
+ .string "A shield of {STR_VAR_2} that marks winning\n"
+ .string "{STR_VAR_1} times in a row at the BATTLE TOWER.$"
+
+SecretBase_Text_ToyTV: @ 81A3BA4
+ .string "A realistic toy TV. It could be easily\n"
+ .string "mistaken for the real thing.$"
+
+SecretBase_Text_SeedotTV: @ 81A3BE8
+ .string "A toy TV shaped like a SEEDOT.\n"
+ .string "It looks ready to roll away on its own...$"
+
+SecretBase_Text_SkittyTV: @ 81A3C31
+ .string "A toy TV shaped like a SKITTY.\n"
+ .string "It looks ready to stroll away...$"
+
+UnknownString_81A3C71: @ 81A3C71
+ .string "You may only make one SECRET BASE.\p"
+ .string "Would you like to move from the SECRET\n"
+ .string "BASE near {STR_VAR_1}?$"
+
+UnknownString_81A3CC9: @ 81A3CC9
+ .string "Moving completed.\p"
+ .string "Would you like to use the SECRET POWER?$"
diff --git a/data/text/secret_base_trainers.inc b/data/text/secret_base_trainers.inc
new file mode 100644
index 000000000..57b37bf7f
--- /dev/null
+++ b/data/text/secret_base_trainers.inc
@@ -0,0 +1,316 @@
+UnknownString_81A1948: @ 81A1948
+ .string "If some vines drop down, this tree can\n"
+ .string "be climbed.$"
+
+UnknownString_81A197B: @ 81A197B
+ .string "If some vines drop down, this tree can\n"
+ .string "be climbed.\p"
+ .string "Use the SECRET POWER?$"
+
+UnknownString_81A19C4: @ 81A19C4
+ .string "A thick vine dropped down!$"
+
+UnknownString_81A19DF: @ 81A19DF
+ .string "Want to make your SECRET BASE here?$"
+
+UnknownString_81A1A03: @ 81A1A03
+ .string "If this clump of grass can be moved,\n"
+ .string "it might be possible to go inside.$"
+
+UnknownString_81A1A4B: @ 81A1A4B
+ .string "If this clump of grass can be moved,\n"
+ .string "it might be possible to go inside.\p"
+ .string "Use the SECRET POWER?$"
+
+UnknownString_81A1AA9: @ 81A1AA9
+ .string "Discovered a small entrance!$"
+
+UnknownString_81A1AC6: @ 81A1AC6
+ .string "Want to make your SECRET BASE here?$"
+
+SecretBase_RedCave1_Text_1A1AEA:: @ 81A1AEA
+ .string "Have you made a SECRET BASE already?\p"
+ .string "I went here, there, everywhere before\n"
+ .string "choosing this place.\p"
+ .string "Since you're already here, how would\n"
+ .string "you like to battle?$"
+
+SecretBase_RedCave1_Text_1A1B83:: @ 81A1B83
+ .string "Okay!\n"
+ .string "Here we come!$"
+
+SecretBase_RedCave1_Text_1A1B97:: @ 81A1B97
+ .string "Hunh?\n"
+ .string "Oh, you can't now...$"
+
+UnknownString_81A1BB2:: @ 81A1BB2
+ .string "Waaargh! You're too strong!\n"
+ .string "About me losing... Please keep it secret!$"
+
+SecretBase_RedCave1_Text_1A1BF8:: @ 81A1BF8
+ .string "What do you think of my SECRET BASE?\n"
+ .string "Come visit me again tomorrow.$"
+
+SecretBase_RedCave1_Text_1A1C3B:: @ 81A1C3B
+ .string "Have you made a SECRET BASE already?\p"
+ .string "I went here, there, everywhere before\n"
+ .string "choosing this place.\p"
+ .string "Feel free to hang out!$"
+
+SecretBase_RedCave1_Text_1A1CB2:: @ 81A1CB2
+ .string "There're a lot of places where you can\n"
+ .string "make a SECRET BASE.\p"
+ .string "But I like this spot best.\n"
+ .string "Don't you think it's nice?\p"
+ .string "Oh, would you like to have a battle?$"
+
+SecretBase_RedCave1_Text_1A1D48:: @ 81A1D48
+ .string "Okay, here goes!$"
+
+SecretBase_RedCave1_Text_1A1D59:: @ 81A1D59
+ .string "Oh...\n"
+ .string "You can't now, okay.$"
+
+UnknownString_81A1D74:: @ 81A1D74
+ .string "Hmmm... It's our loss...\n"
+ .string "But don't tell anyone!\l"
+ .string "It's a confidential secret!$"
+
+SecretBase_RedCave1_Text_1A1DC0:: @ 81A1DC0
+ .string "If you're in this area again, I hope\n"
+ .string "you'll visit me.$"
+
+SecretBase_RedCave1_Text_1A1DF6:: @ 81A1DF6
+ .string "There're a lot of places where you can\n"
+ .string "make a SECRET BASE.\p"
+ .string "But I like this spot best.\n"
+ .string "Don't you think it's nice?$"
+
+SecretBase_RedCave1_Text_1A1E67:: @ 81A1E67
+ .string "This is a popular spot.\n"
+ .string "It's always taken.\p"
+ .string "Oh! Were you thinking about taking this\n"
+ .string "spot, too?\p"
+ .string "I'll tell you what, you can have this\n"
+ .string "spot if you can beat me.$"
+
+SecretBase_RedCave1_Text_1A1F04:: @ 81A1F04
+ .string "Okay!\n"
+ .string "I'm going to defend my SECRET BASE!$"
+
+SecretBase_RedCave1_Text_1A1F2E:: @ 81A1F2E
+ .string "Hunh? Is that right?\n"
+ .string "You're not interested in this spot?$"
+
+UnknownString_81A1F67:: @ 81A1F67
+ .string "I can't keep going!\n"
+ .string "I surrender!$"
+
+SecretBase_RedCave1_Text_1A1F88:: @ 81A1F88
+ .string "Okay, when I move one day, this place\n"
+ .string "will be yours!$"
+
+SecretBase_RedCave1_Text_1A1FBD:: @ 81A1FBD
+ .string "This is a popular spot.\n"
+ .string "It's always taken.\p"
+ .string "I waited a long time for it to open.\n"
+ .string "I finally got to use it!$"
+
+SecretBase_RedCave1_Text_1A2026:: @ 81A2026
+ .string "Welcome to my POKéMON LAB.\p"
+ .string "I carry out research on battling in\n"
+ .string "secrecy.\p"
+ .string "Would you like to see how strong I am?$"
+
+SecretBase_RedCave1_Text_1A2095:: @ 81A2095
+ .string "I'm going to go all out!$"
+
+SecretBase_RedCave1_Text_1A20AE:: @ 81A20AE
+ .string "Oh.\n"
+ .string "Some other time, then!$"
+
+UnknownString_81A20C9:: @ 81A20C9
+ .string "Hmm... I've still got lots to learn.\n"
+ .string "I have to study some more.$"
+
+SecretBase_RedCave1_Text_1A2109:: @ 81A2109
+ .string "Thanks for battling with me.\n"
+ .string "Please come back again tomorrow.$"
+
+SecretBase_RedCave1_Text_1A2147:: @ 81A2147
+ .string "Welcome to my POKéMON LAB.\p"
+ .string "I carry out research on battling in\n"
+ .string "secrecy.$"
+
+SecretBase_RedCave1_Text_1A218F:: @ 81A218F
+ .string "A big mansion is nice, but I like this\n"
+ .string "sort of place more.\p"
+ .string "I like it because all kinds of people\n"
+ .string "come visit me.\p"
+ .string "So, how would you like a battle?$"
+
+SecretBase_RedCave1_Text_1A2220:: @ 81A2220
+ .string "That's the way!$"
+
+SecretBase_RedCave1_Text_1A2230:: @ 81A2230
+ .string "When you're ready, give me a shout!$"
+
+UnknownString_81A2254:: @ 81A2254
+ .string "Aww! Done in!\n"
+ .string "But it's still fun to battle!$"
+
+SecretBase_RedCave1_Text_1A2280:: @ 81A2280
+ .string "Well, anyway, I should go buy some\n"
+ .string "decorations and furniture.\p"
+ .string "I want my SECRET BASE to be a place\n"
+ .string "other people can enjoy.$"
+
+SecretBase_RedCave1_Text_1A22FA:: @ 81A22FA
+ .string "A big mansion is nice, but I like this\n"
+ .string "sort of place more.\p"
+ .string "I like it because all kinds of people\n"
+ .string "come visit me.$"
+
+SecretBase_RedCave1_Text_1A236A:: @ 81A236A
+ .string "I simply adore shopping for decorations\n"
+ .string "and furniture.\p"
+ .string "I also love raising POKéMON just\n"
+ .string "as much.\p"
+ .string "If you would be so kind, will you battle\n"
+ .string "with my POKéMON?$"
+
+SecretBase_RedCave1_Text_1A2405:: @ 81A2405
+ .string "Thank you.\n"
+ .string "Shall we begin?$"
+
+SecretBase_RedCave1_Text_1A2420:: @ 81A2420
+ .string "Oh.\n"
+ .string "How disappointing...$"
+
+UnknownString_81A2439:: @ 81A2439
+ .string "I concede...$"
+
+SecretBase_RedCave1_Text_1A2446:: @ 81A2446
+ .string "That was all in good fun!\n"
+ .string "I should go enjoy shopping now.$"
+
+SecretBase_RedCave1_Text_1A2480:: @ 81A2480
+ .string "I simply adore shopping for decorations\n"
+ .string "and furniture.\p"
+ .string "I also love raising POKéMON just\n"
+ .string "as much.$"
+
+SecretBase_RedCave1_Text_1A24E1:: @ 81A24E1
+ .string "Some people make their SECRET BASES in\n"
+ .string "hard-to-find places.\l"
+ .string "Do they want to just lie low?\p"
+ .string "But since you found me, how about we\n"
+ .string "have a battle?$"
+
+SecretBase_RedCave1_Text_1A256F:: @ 81A256F
+ .string "I'm not going down easily!$"
+
+SecretBase_RedCave1_Text_1A258A:: @ 81A258A
+ .string "Oh... Are you maybe tired from searching\n"
+ .string "for this place?$"
+
+UnknownString_81A25C3:: @ 81A25C3
+ .string "I went down...$"
+
+SecretBase_RedCave1_Text_1A25D2:: @ 81A25D2
+ .string "Where's your SECRET BASE?\n"
+ .string "I should go visit you there.$"
+
+SecretBase_RedCave1_Text_1A2609:: @ 81A2609
+ .string "Some people make their SECRET BASES in\n"
+ .string "hard-to-find places.\l"
+ .string "Do they want to just lie low?$"
+
+SecretBase_RedCave1_Text_1A2663:: @ 81A2663
+ .string "People have told me that you can get\n"
+ .string "decorations in several ways.\p"
+ .string "We should have a race to see who can\n"
+ .string "get nicer decorations and furniture!\p"
+ .string "In the meantime, want to battle?$"
+
+SecretBase_RedCave1_Text_1A2710:: @ 81A2710
+ .string "This is my SECRET BASE.\n"
+ .string "I can't lose!$"
+
+SecretBase_RedCave1_Text_1A2736:: @ 81A2736
+ .string "I'll battle with you anytime.$"
+
+UnknownString_81A2754:: @ 81A2754
+ .string "Huh?\n"
+ .string "Did I just lose?$"
+
+SecretBase_RedCave1_Text_1A276A:: @ 81A276A
+ .string "I won't lose at collecting decorations.\n"
+ .string "Come visit again!$"
+
+SecretBase_RedCave1_Text_1A27A4:: @ 81A27A4
+ .string "People have told me that you can get\n"
+ .string "decorations in several ways.\p"
+ .string "We should have a race to see who can\n"
+ .string "get nicer decorations and furniture!$"
+
+SecretBase_RedCave1_Text_1A2830:: @ 81A2830
+ .string "I found a spot I liked, and I did it up\n"
+ .string "with my favorite decorations.\p"
+ .string "I raise my favorite POKéMON and grow\n"
+ .string "stronger with it.\p"
+ .string "That's what I do.\n"
+ .string "Want to battle with me?$"
+
+SecretBase_RedCave1_Text_1A28D7:: @ 81A28D7
+ .string "Show me what you're made of!$"
+
+SecretBase_RedCave1_Text_1A28F4:: @ 81A28F4
+ .string "I guess there are times when you're not\n"
+ .string "into it.$"
+
+UnknownString_81A2925:: @ 81A2925
+ .string "I know exactly what you're made of now.$"
+
+SecretBase_RedCave1_Text_1A294D:: @ 81A294D
+ .string "We can both become stronger.\n"
+ .string "Let's keep at it!$"
+
+SecretBase_RedCave1_Text_1A297C:: @ 81A297C
+ .string "I found a spot I liked, and I did it up\n"
+ .string "with my favorite decorations.\p"
+ .string "I raise my favorite POKéMON and grow\n"
+ .string "stronger with it.\p"
+ .string "Every day is a great day.$"
+
+SecretBase_RedCave1_Text_1A2A13:: @ 81A2A13
+ .string "You can learn a lot about the taste\n"
+ .string "and sense of people by the kinds of\l"
+ .string "decorations they have, and how they\l"
+ .string "display them.\p"
+ .string "What do you think of my taste?\n"
+ .string "Are you speechless?\p"
+ .string "Want to see my taste in battling?$"
+
+SecretBase_RedCave1_Text_1A2AE2:: @ 81A2AE2
+ .string "There's no holding back!$"
+
+SecretBase_RedCave1_Text_1A2AFB:: @ 81A2AFB
+ .string "I'll be happy to demonstrate my style\n"
+ .string "anytime.$"
+
+UnknownString_81A2B2A:: @ 81A2B2A
+ .string "You're supremely talented!\n"
+ .string "Your power seems to be limitless...$"
+
+SecretBase_RedCave1_Text_1A2B69:: @ 81A2B69
+ .string "What did you think of my style?\n"
+ .string "I'll keep on polishing it!$"
+
+SecretBase_RedCave1_Text_1A2BA4:: @ 81A2BA4
+ .string "You can learn a lot about the taste\n"
+ .string "and sense of people by the kinds of\l"
+ .string "decorations they have, and how they\l"
+ .string "display them.\p"
+ .string "What do you think of my taste?\n"
+ .string "Are you speechless?$"