summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2019-09-06 02:12:00 -0400
committerGriffinR <griffin.richards@comcast.net>2019-09-06 02:12:00 -0400
commit9fbcd552de64511dd45c1306b5fcb9bd789b3ea4 (patch)
treea0f925284c7471e5551144f42e04568f6872c0b6
parent8c6b5648d4186022e674e5782aad01d3e8dd32e6 (diff)
document remainder of secret_base scripts, delete unneeded scripts.incs
-rw-r--r--data/event_scripts.s31
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc4
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/scripts.inc4
-rw-r--r--data/maps/SecretBase_BlueCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_BlueCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_BlueCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_BlueCave4/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave4/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave4/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub1/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub2/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub3/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub4/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree1/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree2/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree3/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree4/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave4/scripts.inc24
-rw-r--r--data/scripts/field_move_scripts.inc6
-rw-r--r--data/scripts/secret_base.inc813
-rw-r--r--data/scripts/secret_base_2.inc1113
-rw-r--r--data/scripts/shared_secret_base.inc (renamed from data/scripts/secret_base_1.inc)28
-rw-r--r--data/specials.inc8
-rw-r--r--data/text/secret_base_trainers.inc286
-rw-r--r--include/constants/global.h3
-rw-r--r--include/event_scripts.h56
-rw-r--r--include/global.h10
-rw-r--r--src/decoration.c153
-rw-r--r--src/field_control_avatar.c2
-rw-r--r--src/fldeff_misc.c6
-rw-r--r--src/secret_base.c28
40 files changed, 1270 insertions, 1328 deletions
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 65d372db8..b081ac234 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -15,6 +15,7 @@
#include "constants/map_scripts.h"
#include "constants/maps.h"
#include "constants/moves.h"
+#include "constants/secret_bases.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/trainers.h"
@@ -419,33 +420,7 @@ gStdScripts_End:: @ 81DC2CC
.include "data/maps/TerraCave_End/scripts.inc"
.include "data/maps/AlteringCave/scripts.inc"
.include "data/maps/MeteorFalls_StevensCave/scripts.inc"
- .include "data/maps/SecretBase_BlueCave1/scripts.inc"
- .include "data/maps/SecretBase_BlueCave2/scripts.inc"
- .include "data/maps/SecretBase_BlueCave3/scripts.inc"
- .include "data/maps/SecretBase_BlueCave4/scripts.inc"
- .include "data/maps/SecretBase_BrownCave1/scripts.inc"
- .include "data/maps/SecretBase_BrownCave2/scripts.inc"
- .include "data/maps/SecretBase_BrownCave3/scripts.inc"
- .include "data/maps/SecretBase_BrownCave4/scripts.inc"
- .include "data/maps/SecretBase_RedCave1/scripts.inc"
- .include "data/maps/SecretBase_RedCave2/scripts.inc"
- .include "data/maps/SecretBase_RedCave3/scripts.inc"
- .include "data/maps/SecretBase_RedCave4/scripts.inc"
- .include "data/maps/SecretBase_Shrub1/scripts.inc"
- .include "data/maps/SecretBase_Shrub2/scripts.inc"
- .include "data/maps/SecretBase_Shrub3/scripts.inc"
- .include "data/maps/SecretBase_Shrub4/scripts.inc"
- .include "data/maps/SecretBase_Tree1/scripts.inc"
- .include "data/maps/SecretBase_Tree2/scripts.inc"
- .include "data/maps/SecretBase_Tree3/scripts.inc"
- .include "data/maps/SecretBase_Tree4/scripts.inc"
- .include "data/maps/SecretBase_YellowCave1/scripts.inc"
- .include "data/maps/SecretBase_YellowCave2/scripts.inc"
- .include "data/maps/SecretBase_YellowCave3/scripts.inc"
- .include "data/maps/SecretBase_YellowCave4/scripts.inc"
-
- .include "data/scripts/secret_base_1.inc"
-
+ .include "data/scripts/shared_secret_base.inc"
.include "data/maps/SingleBattleColosseum/scripts.inc"
.include "data/maps/TradeCenter/scripts.inc"
.include "data/maps/RecordCorner/scripts.inc"
@@ -3128,7 +3103,7 @@ EventScript_GotoTrainerScript:: @ 82742F6
end
.include "data/scripts/berry_tree.inc"
- .include "data/scripts/secret_base_2.inc"
+ .include "data/scripts/secret_base.inc"
.include "data/scripts/cable_club.inc"
.include "data/scripts/contest_hall.inc"
.include "data/text/contest_strings.inc"
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
index cd1213382..a1bc0d253 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
@@ -10,7 +10,7 @@ LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE
call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F841A
compare VAR_LITTLEROOT_INTRO_STATE, 4
call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2926FE
- call LittlerootTown_BrendansHouse_2F_EventScript_275CE1
+ call SecretBase_EventScript_SetDecorationFlags
setvar VAR_SECRET_BASE_INITIALIZED, 0
end
@@ -50,7 +50,7 @@ LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A
LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474
checkplayergender
compare VAR_RESULT, 0
- goto_if_eq EventScript_275D0C
+ goto_if_eq SecretBase_EventScript_InitDecorations
end
LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
index 2a1e5434a..f695e675e 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
@@ -10,7 +10,7 @@ LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1
call_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F92CD
compare VAR_LITTLEROOT_INTRO_STATE, 4
call_if_eq LittlerootTown_MaysHouse_2F_EventScript_2926FE
- call LittlerootTown_MaysHouse_2F_EventScript_275CE1
+ call SecretBase_EventScript_SetDecorationFlags
setvar VAR_SECRET_BASE_INITIALIZED, 0
end
@@ -51,7 +51,7 @@ LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D
LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327
checkplayergender
compare VAR_RESULT, 1
- goto_if_eq EventScript_275D0C
+ goto_if_eq SecretBase_EventScript_InitDecorations
end
LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334
diff --git a/data/maps/SecretBase_BlueCave1/scripts.inc b/data/maps/SecretBase_BlueCave1/scripts.inc
deleted file mode 100644
index a7f979bde..000000000
--- a/data/maps/SecretBase_BlueCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BlueCave2/scripts.inc b/data/maps/SecretBase_BlueCave2/scripts.inc
deleted file mode 100644
index cb4ad3565..000000000
--- a/data/maps/SecretBase_BlueCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BlueCave3/scripts.inc b/data/maps/SecretBase_BlueCave3/scripts.inc
deleted file mode 100644
index f49ff6dc1..000000000
--- a/data/maps/SecretBase_BlueCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BlueCave4/scripts.inc b/data/maps/SecretBase_BlueCave4/scripts.inc
deleted file mode 100644
index faa808545..000000000
--- a/data/maps/SecretBase_BlueCave4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave1/scripts.inc b/data/maps/SecretBase_BrownCave1/scripts.inc
deleted file mode 100644
index 9d2925611..000000000
--- a/data/maps/SecretBase_BrownCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave2/scripts.inc b/data/maps/SecretBase_BrownCave2/scripts.inc
deleted file mode 100644
index e9c497fac..000000000
--- a/data/maps/SecretBase_BrownCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave3/scripts.inc b/data/maps/SecretBase_BrownCave3/scripts.inc
deleted file mode 100644
index 284262d91..000000000
--- a/data/maps/SecretBase_BrownCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave4/scripts.inc b/data/maps/SecretBase_BrownCave4/scripts.inc
deleted file mode 100644
index 84f685508..000000000
--- a/data/maps/SecretBase_BrownCave4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave1/scripts.inc b/data/maps/SecretBase_RedCave1/scripts.inc
deleted file mode 100644
index f9c55a2b5..000000000
--- a/data/maps/SecretBase_RedCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave2/scripts.inc b/data/maps/SecretBase_RedCave2/scripts.inc
deleted file mode 100644
index e7e0c7ba5..000000000
--- a/data/maps/SecretBase_RedCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave3/scripts.inc b/data/maps/SecretBase_RedCave3/scripts.inc
deleted file mode 100644
index 512f7f92a..000000000
--- a/data/maps/SecretBase_RedCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave4/scripts.inc b/data/maps/SecretBase_RedCave4/scripts.inc
deleted file mode 100644
index 98e79f89f..000000000
--- a/data/maps/SecretBase_RedCave4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub1/scripts.inc b/data/maps/SecretBase_Shrub1/scripts.inc
deleted file mode 100644
index 24b8685a0..000000000
--- a/data/maps/SecretBase_Shrub1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub2/scripts.inc b/data/maps/SecretBase_Shrub2/scripts.inc
deleted file mode 100644
index dad94f46d..000000000
--- a/data/maps/SecretBase_Shrub2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub3/scripts.inc b/data/maps/SecretBase_Shrub3/scripts.inc
deleted file mode 100644
index 22c67c939..000000000
--- a/data/maps/SecretBase_Shrub3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub4/scripts.inc b/data/maps/SecretBase_Shrub4/scripts.inc
deleted file mode 100644
index 1a9952232..000000000
--- a/data/maps/SecretBase_Shrub4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree1/scripts.inc b/data/maps/SecretBase_Tree1/scripts.inc
deleted file mode 100644
index 7e7704d6a..000000000
--- a/data/maps/SecretBase_Tree1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree2/scripts.inc b/data/maps/SecretBase_Tree2/scripts.inc
deleted file mode 100644
index b30a6ec74..000000000
--- a/data/maps/SecretBase_Tree2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree3/scripts.inc b/data/maps/SecretBase_Tree3/scripts.inc
deleted file mode 100644
index 9512bbb80..000000000
--- a/data/maps/SecretBase_Tree3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree4/scripts.inc b/data/maps/SecretBase_Tree4/scripts.inc
deleted file mode 100644
index 62f41627f..000000000
--- a/data/maps/SecretBase_Tree4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave1/scripts.inc b/data/maps/SecretBase_YellowCave1/scripts.inc
deleted file mode 100644
index fa56be0eb..000000000
--- a/data/maps/SecretBase_YellowCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_YellowCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave2/scripts.inc b/data/maps/SecretBase_YellowCave2/scripts.inc
deleted file mode 100644
index 86c3c876f..000000000
--- a/data/maps/SecretBase_YellowCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_YellowCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave3/scripts.inc b/data/maps/SecretBase_YellowCave3/scripts.inc
deleted file mode 100644
index 26311e6c5..000000000
--- a/data/maps/SecretBase_YellowCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_YellowCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave4/scripts.inc b/data/maps/SecretBase_YellowCave4/scripts.inc
deleted file mode 100644
index c05ea13c0..000000000
--- a/data/maps/SecretBase_YellowCave4/scripts.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-SecretBase_YellowCave4_MapScripts:: @ 823B483
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_RedCave1_MapScript2_23B498
- map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_RedCave1_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_RedCave1_MapScript2_23B4AE
- map_script MAP_SCRIPT_ON_RESUME, SecretBase_RedCave1_MapScript1_23B4B8
- .byte 0
-
-SecretBase_RedCave1_MapScript2_23B498: @ 823B498
- map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, EventScript_275D0C
- .2byte 0
-
-SecretBase_RedCave1_OnTransition: @ 823B4A2
- call SecretBase_RedCave1_EventScript_275CE1
- special SetSecretBaseOwnerGfxId
- special sub_80EB1AC
- end
-
-SecretBase_RedCave1_MapScript2_23B4AE: @ 823B4AE
- map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_RedCave1_EventScript_275B81
- .2byte 0
-
-SecretBase_RedCave1_MapScript1_23B4B8: @ 823B4B8
- setstepcallback 6
- end
diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc
index 6eae55294..71d4b725c 100644
--- a/data/scripts/field_move_scripts.inc
+++ b/data/scripts/field_move_scripts.inc
@@ -11,7 +11,7 @@ EventScript_CutTree:: @ 82906BB
msgbox Text_WantToCut, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq EventScript_CancelCut
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
@@ -51,7 +51,7 @@ Text_WantToCut: @ 829072E
.string "CUT down!\p"
.string "Would you like to CUT it?$"
-Text_MonUsedHM: @ 8290771
+Text_MonUsedFieldMove: @ 8290771
.string "{STR_VAR_1} used {STR_VAR_2}!$"
Text_CantCut: @ 829077D
@@ -70,7 +70,7 @@ EventScript_RockSmash:: @ 82907A6
msgbox Text_WantToSmash, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq EventScript_CancelSmash
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc
new file mode 100644
index 000000000..f2a99cd36
--- /dev/null
+++ b/data/scripts/secret_base.inc
@@ -0,0 +1,813 @@
+SecretBase_Text_TreeCanBeClimbed: @ 8274746
+ .string "If some vines drop down, this tree can\n"
+ .string "be climbed.$"
+
+SecretBase_Text_TreeUseSecretPower: @ 8274779
+ .string "If some vines drop down, this tree can\n"
+ .string "be climbed.\p"
+ .string "Use the SECRET POWER?$"
+
+SecretBase_Text_VineDroppedDown: @ 82747C2
+ .string "A thick vine dropped down!$"
+
+SecretBase_Text_ClumpOfGrass: @ 82747DD
+ .string "If this clump of grass can be moved,\n"
+ .string "it might be possible to go inside.$"
+
+SecretBase_Text_ClumpUseSecretPower: @ 8274825
+ .string "If this clump of grass can be moved,\n"
+ .string "it might be possible to go inside.\p"
+ .string "Use the SECRET POWER?$"
+
+SecretBase_Text_DiscoveredSmallEntrance: @ 8274883
+ .string "Discovered a small entrance!$"
+
+ .include "data/text/secret_base_trainers.inc"
+
+SecretBase_EventScript_CheckEntrance:: @ 82759F1
+ special GetSecretBaseTypeInFrontOfPlayer
+ special CheckPlayerHasSecretBase
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_AlreadyHasSecretBase
+ checkpartymove MOVE_SECRET_POWER
+ setfieldeffectargument 0, VAR_RESULT
+ buffermovename 1, MOVE_SECRET_POWER
+ compare VAR_0x8007, SECRET_BASE_RED_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_TREE
+ goto_if_eq SecretBase_EventScript_Tree
+ compare VAR_0x8007, SECRET_BASE_SHRUB
+ goto_if_eq SecretBase_EventScript_Shrub
+ end
+
+SecretBase_EventScript_Cave:: @ 8275A50
+ lockall
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox SecretBase_Text_IndentUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
+ closemessage
+ dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
+ waitstate
+ goto SecretBase_EventScript_CaveEnter
+ end
+
+SecretBase_EventScript_CaveUseSecretPower:: @ 8275A86
+ lockall
+ dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
+ waitstate
+ goto SecretBase_EventScript_CaveEnter
+ end
+
+SecretBase_EventScript_CaveNoSecretPower:: @ 8275A91
+ msgbox SecretBase_Text_SmallIndentInWall, MSGBOX_DEFAULT
+ releaseall
+ end
+
+SecretBase_EventScript_CaveEnter:: @ 8275A9B
+ msgbox SecretBase_Text_DiscoveredSmallCavern, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_InitSecretBase
+ end
+
+SecretBase_EventScript_Tree:: @ 8275AA9
+ lockall
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_TreeNoSecretPower
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox SecretBase_Text_TreeUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
+ closemessage
+ dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
+ waitstate
+ goto SecretBase_EventScript_TreeEnter
+ end
+
+SecretBase_EventScript_TreeUseSecretPower:: @ 8275ADF
+ lockall
+ dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
+ waitstate
+ goto SecretBase_EventScript_TreeEnter
+ end
+
+SecretBase_EventScript_TreeNoSecretPower:: @ 8275AEA
+ msgbox SecretBase_Text_TreeCanBeClimbed, MSGBOX_DEFAULT
+ releaseall
+ end
+
+SecretBase_EventScript_TreeEnter:: @ 8275AF4
+ msgbox SecretBase_Text_VineDroppedDown, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_InitSecretBase
+ end
+
+SecretBase_EventScript_Shrub:: @ 8275B02
+ lockall
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_ShrubNoSecretPower
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox SecretBase_Text_ClumpUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
+ closemessage
+ dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
+ waitstate
+ goto SecretBase_EventScript_ShrubEnter
+ end
+
+SecretBase_EventScript_ShrubUseSecretPower:: @ 8275B38
+ lockall
+ dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
+ waitstate
+ goto SecretBase_EventScript_ShrubEnter
+ end
+
+SecretBase_EventScript_ShrubNoSecretPower:: @ 8275B43
+ msgbox SecretBase_Text_ClumpOfGrass, MSGBOX_DEFAULT
+ releaseall
+ end
+
+SecretBase_EventScript_ShrubEnter:: @ 8275B4D
+ msgbox SecretBase_Text_DiscoveredSmallEntrance, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_InitSecretBase
+ end
+
+SecretBase_EventScript_InitSecretBase:: @ 8275B5B
+ closemessage
+ playse SE_KAIDAN
+ setvar VAR_INIT_SECRET_BASE, 0
+ setflag FLAG_DECORATION_0
+ special SetPlayerSecretBase
+ special EnterSecretBase
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ special InitSecretBaseDecorationSprites
+ setvar VAR_SECRET_BASE_INITIALIZED, 1
+ waitstate
+ end
+
+SecretBase_EventScript_FirstEntrance:: @ 8275B81
+ applymovement EVENT_OBJ_ID_PLAYER, SecretBase_Movement_275BB4
+ waitmovement 0
+ setvar VAR_INIT_SECRET_BASE, 1
+ msgbox SecretBase_Text_WantToMakeYourSecretBaseHere, MSGBOX_YESNO
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_SetAsBase
+ closemessage
+ playse SE_KAIDAN
+ special ClearAndLeaveSecretBase
+ end
+
+SecretBase_EventScript_SetAsBase:: @ 8275BAB
+ closemessage
+ setflag FLAG_RECEIVED_SECRET_POWER
+ special EnterNewlyCreatedSecretBase
+ waitstate
+ end
+
+SecretBase_Movement_275BB4: @ 8275BB4
+ walk_up
+ walk_up
+ step_end
+
+SecretBase_EventScript_Enter:: @ 8275BB7
+ lockall
+ setvar VAR_INIT_SECRET_BASE, 1
+ playse SE_KAIDAN
+ special IsCurSecretBaseOwnedByAnotherPlayer
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_EnterPlayersBase
+ clearflag FLAG_DECORATION_0
+ special EnterSecretBase
+ setvar VAR_SECRET_BASE_INITIALIZED, 0
+ waitstate
+ end
+
+SecretBase_EventScript_EnterPlayersBase:: @ 8275BDB
+ setflag FLAG_DECORATION_0
+ special EnterSecretBase
+ setvar VAR_SECRET_BASE_INITIALIZED, 0
+ waitstate
+ end
+
+SecretBase_EventScript_AlreadyHasSecretBase:: @ 8275BE8
+ checkpartymove MOVE_SECRET_POWER
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_NoSecretPower
+ setfieldeffectargument 0, VAR_RESULT
+ setorcopyvar VAR_0x8004, VAR_RESULT
+ lockall
+ special GetSecretBaseNearbyMapName
+ msgbox SecretBase_Text_WouldYouLikeToMoveBases, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ fadescreenswapbuffers 1
+ special MoveOutOfSecretBaseFromOutside
+ closemessage
+ fadescreenswapbuffers 0
+ msgbox SecretBase_Text_MovingCompletedUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ bufferpartymonnick 0, VAR_0x8004
+ buffermovename 1, MOVE_SECRET_POWER
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
+ closemessage
+ closemessage
+ compare VAR_0x8007, SECRET_BASE_RED_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_TREE
+ goto_if_eq SecretBase_EventScript_TreeUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_SHRUB
+ goto_if_eq SecretBase_EventScript_ShrubUseSecretPower
+ releaseall
+ end
+
+SecretBase_EventScript_NoSecretPower:: @ 8275C9A
+ lockall
+ compare VAR_0x8007, SECRET_BASE_RED_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_TREE
+ goto_if_eq SecretBase_EventScript_TreeNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_SHRUB
+ goto_if_eq SecretBase_EventScript_ShrubNoSecretPower
+ end
+
+SecretBase_EventScript_CancelOnEntrance:: @ 8275CDE
+ closemessage
+ releaseall
+ end
+
+SecretBase_EventScript_SetDecorationFlags:: @ 8275CE1
+ setflag FLAG_DECORATION_1
+ 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
+ return
+
+SecretBase_EventScript_InitDecorations:: @ 8275D0C
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ special InitSecretBaseDecorationSprites
+ setvar VAR_SECRET_BASE_INITIALIZED, 1
+ end
+
+SecretBase_EventScript_SetDecoration:: @ 8275D1F
+ setvar VAR_0x8005, 0
+ goto SecretBase_EventScript_SetDecoration2
+ end
+
+SecretBase_EventScript_SetDecoration2:: @ 8275D2A
+ special SetDecoration
+ end
+
+SecretBase_EventScript_PutAwayDecoration:: @ 8275D2E
+ setvar VAR_0x8004, 0
+ goto SecretBase_EventScript_PutAwayDecorationLoop
+ end
+
+SecretBase_EventScript_PutAwayDecorationLoop:: @ 8275D39
+ special sub_8129708
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_PutAwayDecorationEnd
+ addvar VAR_0x8004, 1
+ compare VAR_0x8005, 0
+ goto_if_eq SecretBase_EventScript_PutAwayDecorationLoop
+ removeobject VAR_0x8006
+ setflag 0x8005 @ UB: GF likely meant setvar here; setflag 0x8005 is out of bounds
+ goto SecretBase_EventScript_PutAwayDecorationLoop
+ end
+
+SecretBase_EventScript_PutAwayDecorationEnd:: @ 8275D63
+ end
+
+SecretBase_EventScript_RecordMixTrainer:: @ 8275D64
+ special GetSecretBaseOwnerAndState
+ compare VAR_0x8004, 0
+ goto_if_eq SecretBase_EventScript_Trainer0
+ compare VAR_0x8004, 1
+ goto_if_eq SecretBase_EventScript_Trainer1
+ compare VAR_0x8004, 2
+ goto_if_eq SecretBase_EventScript_Trainer2
+ compare VAR_0x8004, 3
+ goto_if_eq SecretBase_EventScript_Trainer3
+ compare VAR_0x8004, 4
+ goto_if_eq SecretBase_EventScript_Trainer4
+ compare VAR_0x8004, 5
+ goto_if_eq SecretBase_EventScript_Trainer5
+ compare VAR_0x8004, 6
+ goto_if_eq SecretBase_EventScript_Trainer6
+ compare VAR_0x8004, 7
+ goto_if_eq SecretBase_EventScript_Trainer7
+ compare VAR_0x8004, 8
+ goto_if_eq SecretBase_EventScript_Trainer8
+ compare VAR_0x8004, 9
+ goto_if_eq SecretBase_EventScript_Trainer9
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer0:: @ 8275DD6
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer0PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer0PostBattle
+ msgbox SecretBase_Text_Trainer0PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle
+ msgbox SecretBase_Text_Trainer0AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer0PreChampion:: @ 8275E25
+ msgbox SecretBase_Text_Trainer0PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer0DeclineBattle:: @ 8275E2F
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer0DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer0PostBattle:: @ 8275E44
+ msgbox SecretBase_Text_Trainer0PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer1:: @ 8275E4E
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer1PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer1PostBattle
+ msgbox SecretBase_Text_Trainer1PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle
+ msgbox SecretBase_Text_Trainer1AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer1PreChampion:: @ 8275E9D
+ msgbox SecretBase_Text_Trainer1PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer1DeclineBattle:: @ 8275EA7
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer1DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer1PostBattle:: @ 8275EBC
+ msgbox SecretBase_Text_Trainer1PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer2:: @ 8275EC6
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer2PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer2PostBattle
+ msgbox SecretBase_Text_Trainer2PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle
+ msgbox SecretBase_Text_Trainer2AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer2PreChampion:: @ 8275F15
+ msgbox SecretBase_Text_Trainer2PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer2DeclineBattle:: @ 8275F1F
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer2DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer2PostBattle:: @ 8275F34
+ msgbox SecretBase_Text_Trainer2PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer3:: @ 8275F3E
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer3PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer3PostBattle
+ msgbox SecretBase_Text_Trainer3PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle
+ msgbox SecretBase_Text_Trainer3AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer3PreChampion:: @ 8275F8D
+ msgbox SecretBase_Text_Trainer3PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer3DeclineBattle:: @ 8275F97
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer3DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer3PostBattle:: @ 8275FAC
+ msgbox SecretBase_Text_Trainer3PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer4:: @ 8275FB6
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer4PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer4PostBattle
+ msgbox SecretBase_Text_Trainer4PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle
+ msgbox SecretBase_Text_Trainer4AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer4PreChampion:: @ 8276005
+ msgbox SecretBase_Text_Trainer4PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer4DeclineBattle:: @ 827600F
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer4DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer4PostBattle:: @ 8276024
+ msgbox SecretBase_Text_Trainer4PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer5:: @ 827602E
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer5PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer5PostBattle
+ msgbox SecretBase_Text_Trainer5PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle
+ msgbox SecretBase_Text_Trainer5AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer5PreChampion:: @ 827607D
+ msgbox SecretBase_Text_Trainer5PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer5DeclineBattle:: @ 8276087
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer5DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer5PostBattle:: @ 827609C
+ msgbox SecretBase_Text_Trainer5PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer6:: @ 82760A6
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer6PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer6PostBattle
+ msgbox SecretBase_Text_Trainer6PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle
+ msgbox SecretBase_Text_Trainer6AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer6PreChampion:: @ 82760F5
+ msgbox SecretBase_Text_Trainer6PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer6DeclineBattle:: @ 82760FF
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer6DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer6PostBattle:: @ 8276114
+ msgbox SecretBase_Text_Trainer6PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer7:: @ 827611E
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer7PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer7PostBattle
+ msgbox SecretBase_Text_Trainer7PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle
+ msgbox SecretBase_Text_Trainer7AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer7PreChampion:: @ 827616D
+ msgbox SecretBase_Text_Trainer7PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer7DeclineBattle:: @ 8276177
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer7DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer7PostBattle:: @ 827618C
+ msgbox SecretBase_Text_Trainer7PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer8:: @ 8276196
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer8PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer8PostBattle
+ msgbox SecretBase_Text_Trainer8PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle
+ msgbox SecretBase_Text_Trainer8AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer8PreChampion:: @ 82761E5
+ msgbox SecretBase_Text_Trainer8PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer8DeclineBattle:: @ 82761EF
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer8DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer8PostBattle:: @ 8276204
+ msgbox SecretBase_Text_Trainer8PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer9:: @ 827620E
+ lock
+ faceplayer
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer9PreChampion
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_Trainer9PostBattle
+ msgbox SecretBase_Text_Trainer9PreBattle, MSGBOX_YESNO
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle
+ setvar VAR_RESULT, 1
+ special SetBattledOwnerFromResult
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle
+ msgbox SecretBase_Text_Trainer9AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
+ end
+
+SecretBase_EventScript_Trainer9PreChampion:: @ 827625D
+ msgbox SecretBase_Text_Trainer9PreChampion, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer9DeclineBattle:: @ 8276267
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer9DeclineBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_Trainer9PostBattle:: @ 827627C
+ msgbox SecretBase_Text_Trainer9PostBattle, MSGBOX_DEFAULT
+ release
+ end
+
+SecretBase_EventScript_BattleTrainer:: @ 8276286
+ special PrepSecretBaseBattleFlags
+ setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE
+ setvar VAR_0x8005, 0
+ special DoSpecialTrainerBattle
+ waitstate
+ compare VAR_RESULT, B_OUTCOME_DREW
+ call_if_eq SecretBase_EventScript_2762BD
+ compare VAR_RESULT, B_OUTCOME_WON
+ call_if_eq SecretBase_EventScript_2762C1
+ compare VAR_RESULT, B_OUTCOME_LOST
+ call_if_eq SecretBase_EventScript_2762C5
+ special HealPlayerParty
+ release
+ end
+
+SecretBase_EventScript_2762BD:: @ 82762BD
+ special sub_80EB438
+ return
+
+SecretBase_EventScript_2762C1:: @ 82762C1
+ special sub_80EB368
+ return
+
+SecretBase_EventScript_2762C5:: @ 82762C5
+ special sub_80EB3D0
+ return
+
+ .include "data/scripts/secret_power_tm.inc"
+
+SecretBase_EventScript_DollInteract:: @ 82766A2
+ special sub_80EB290
+ end
+
+SecretBase_EventScript_CushionInteract:: @ 82766A6
+ special sub_80EB2C8
+ end
+
+SecretBase_Text_AllDecorationsWillBeReturned: @ 82766AA
+ .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: @ 8276707
+ .string "Do you want to register\n"
+ .string "{STR_VAR_1}'s SECRET BASE?$"
+
+SecretBase_Text_AlreadyRegisteredDelete: @ 8276731
+ .string "This data is already registered.\n"
+ .string "Would you like to delete it?$"
+
+SecretBase_Text_TooManyBasesDeleteSome: @ 827676F
+ .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: @ 82767D1
+ .string "Registration completed.$"
+
+SecretBase_Text_DataUnregistered: @ 82767E9
+ .string "Data has been unregistered.$"
+
+SecretBase_Text_BootUpPC: @ 8276805
+ .string "{PLAYER} booted up the PC.$"
+
+SecretBase_Text_WhatWouldYouLikeToDo: @ 827681A
+ .string "What would you like to do?$"
+
+SecretBase_Text_RegistryInfo: @ 8276835
+ .string "Once registered, a SECRET BASE will not\n"
+ .string "disappear unless the other TRAINER\l"
+ .string "moves it to a different location.\p"
+ .string "If a SECRET BASE is deleted from the\n"
+ .string "registered list, another one may take\l"
+ .string "its place.\p"
+ .string "Up to ten SECRET BASE locations\n"
+ .string "may be registered.$"
+
+SecretBase_Text_BattleTowerShield: @ 827692B
+ .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: @ 8276974
+ .string "A realistic toy TV. It could be easily\n"
+ .string "mistaken for the real thing.$"
+
+SecretBase_Text_SeedotTV: @ 82769B8
+ .string "A toy TV shaped like a SEEDOT.\n"
+ .string "It looks ready to roll away on its own…$"
+
+SecretBase_Text_SkittyTV: @ 82769FF
+ .string "A toy TV shaped like a SKITTY.\n"
+ .string "It looks ready to stroll away…$"
+
+SecretBase_Text_WouldYouLikeToMoveBases: @ 8276A3D
+ .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}?$"
+
+SecretBase_Text_MovingCompletedUseSecretPower: @ 8276A95
+ .string "Moving completed.\p"
+ .string "Would you like to use the SECRET POWER?$"
diff --git a/data/scripts/secret_base_2.inc b/data/scripts/secret_base_2.inc
deleted file mode 100644
index 28b382bd0..000000000
--- a/data/scripts/secret_base_2.inc
+++ /dev/null
@@ -1,1113 +0,0 @@
-Text_274746: @ 8274746
- .string "If some vines drop down, this tree can\n"
- .string "be climbed.$"
-
-Text_274779: @ 8274779
- .string "If some vines drop down, this tree can\n"
- .string "be climbed.\p"
- .string "Use the SECRET POWER?$"
-
-Text_2747C2: @ 82747C2
- .string "A thick vine dropped down!$"
-
-Text_2747DD: @ 82747DD
- .string "If this clump of grass can be moved,\n"
- .string "it might be possible to go inside.$"
-
-Text_274825: @ 8274825
- .string "If this clump of grass can be moved,\n"
- .string "it might be possible to go inside.\p"
- .string "Use the SECRET POWER?$"
-
-Text_274883: @ 8274883
- .string "Discovered a small entrance!$"
-
-SecretBase_RedCave1_Text_2748A0: @ 82748A0
- .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_274939: @ 8274939
- .string "Okay!\n"
- .string "Here we come!$"
-
-SecretBase_RedCave1_Text_27494D: @ 827494D
- .string "Hunh?\n"
- .string "Oh, you can't now…$"
-
-SecretBase_RedCave1_Text_274966:: @ 8274966
- .string "Waaargh! You're too strong!\n"
- .string "About me losing… Please keep it secret!$"
-
-SecretBase_RedCave1_Text_2749AA: @ 82749AA
- .string "What do you think of my SECRET BASE?\n"
- .string "Come visit me again tomorrow.$"
-
-SecretBase_RedCave1_Text_2749ED: @ 82749ED
- .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_274A64: @ 8274A64
- .string "There're a lot of places where\n"
- .string "you can 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_274AFA: @ 8274AFA
- .string "Okay, here goes!$"
-
-SecretBase_RedCave1_Text_274B0B: @ 8274B0B
- .string "Oh…\n"
- .string "You can't now, okay.$"
-
-SecretBase_RedCave1_Text_274B24:: @ 8274B24
- .string "Hmmm… It's our loss…\n"
- .string "But don't tell anyone!\l"
- .string "It's a confidential secret!$"
-
-SecretBase_RedCave1_Text_274B6C: @ 8274B6C
- .string "If you're in this area again,\n"
- .string "I hope you'll visit me.$"
-
-SecretBase_RedCave1_Text_274BA2: @ 8274BA2
- .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_274C13: @ 8274C13
- .string "This is a popular spot.\n"
- .string "It's always taken.\p"
- .string "Oh! Were you thinking about\n"
- .string "taking this spot, too?\p"
- .string "I'll tell you what, you can have this\n"
- .string "spot if you can beat me.$"
-
-SecretBase_RedCave1_Text_274CB0: @ 8274CB0
- .string "Okay!\n"
- .string "I'm going to defend my SECRET BASE!$"
-
-SecretBase_RedCave1_Text_274CDA: @ 8274CDA
- .string "Hunh? Is that right?\n"
- .string "You're not interested in this spot?$"
-
-SecretBase_RedCave1_Text_274D13:: @ 8274D13
- .string "I can't keep going!\n"
- .string "I surrender!$"
-
-SecretBase_RedCave1_Text_274D34: @ 8274D34
- .string "Okay, when I move one day,\n"
- .string "this place will be yours!$"
-
-SecretBase_RedCave1_Text_274D69: @ 8274D69
- .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_274DD2: @ 8274DD2
- .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_274E41: @ 8274E41
- .string "I'm going to go all out!$"
-
-SecretBase_RedCave1_Text_274E5A: @ 8274E5A
- .string "Oh.\n"
- .string "Some other time, then!$"
-
-SecretBase_RedCave1_Text_274E75:: @ 8274E75
- .string "Hmm… I've still got lots to learn.\n"
- .string "I have to study some more.$"
-
-SecretBase_RedCave1_Text_274EB3: @ 8274EB3
- .string "Thanks for battling with me.\n"
- .string "Please come back again tomorrow.$"
-
-SecretBase_RedCave1_Text_274EF1: @ 8274EF1
- .string "Welcome to my POKéMON LAB.\p"
- .string "I carry out research on battling in\n"
- .string "secrecy.$"
-
-SecretBase_RedCave1_Text_274F39: @ 8274F39
- .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_274FCA: @ 8274FCA
- .string "That's the way!$"
-
-SecretBase_RedCave1_Text_274FDA: @ 8274FDA
- .string "When you're ready, give me a shout!$"
-
-SecretBase_RedCave1_Text_274FFE:: @ 8274FFE
- .string "Aww! Done in!\n"
- .string "But it's still fun to battle!$"
-
-SecretBase_RedCave1_Text_27502A: @ 827502A
- .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_2750A4: @ 82750A4
- .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_275114: @ 8275114
- .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_2751AF: @ 82751AF
- .string "Thank you.\n"
- .string "Shall we begin?$"
-
-SecretBase_RedCave1_Text_2751CA: @ 82751CA
- .string "Oh.\n"
- .string "How disappointing…$"
-
-SecretBase_RedCave1_Text_2751E1:: @ 82751E1
- .string "I concede…$"
-
-SecretBase_RedCave1_Text_2751EC: @ 82751EC
- .string "That was all in good fun!\n"
- .string "I should go enjoy shopping now.$"
-
-SecretBase_RedCave1_Text_275226: @ 8275226
- .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_275287: @ 8275287
- .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_275315: @ 8275315
- .string "I'm not going down easily!$"
-
-SecretBase_RedCave1_Text_275330: @ 8275330
- .string "Oh… Are you maybe tired from searching\n"
- .string "for this place?$"
-
-SecretBase_RedCave1_Text_275367:: @ 8275367
- .string "I went down…$"
-
-SecretBase_RedCave1_Text_275374: @ 8275374
- .string "Where's your SECRET BASE?\n"
- .string "I should go visit you there.$"
-
-SecretBase_RedCave1_Text_2753AB: @ 82753AB
- .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_275405: @ 8275405
- .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_2754B2: @ 82754B2
- .string "This is my SECRET BASE.\n"
- .string "I can't lose!$"
-
-SecretBase_RedCave1_Text_2754D8: @ 82754D8
- .string "I'll battle with you anytime.$"
-
-SecretBase_RedCave1_Text_2754F6:: @ 82754F6
- .string "Huh?\n"
- .string "Did I just lose?$"
-
-SecretBase_RedCave1_Text_27550C: @ 827550C
- .string "I won't lose at collecting decorations.\n"
- .string "Come visit again!$"
-
-SecretBase_RedCave1_Text_275546: @ 8275546
- .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_2755D2: @ 82755D2
- .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_275679: @ 8275679
- .string "Show me what you're made of!$"
-
-SecretBase_RedCave1_Text_275696: @ 8275696
- .string "I guess there are times when you're not\n"
- .string "into it.$"
-
-SecretBase_RedCave1_Text_2756C7:: @ 82756C7
- .string "I know exactly what you're made of now.$"
-
-SecretBase_RedCave1_Text_2756EF: @ 82756EF
- .string "We can both become stronger.\n"
- .string "Let's keep at it!$"
-
-SecretBase_RedCave1_Text_27571E: @ 827571E
- .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_2757B5: @ 82757B5
- .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_275884: @ 8275884
- .string "There's no holding back!$"
-
-SecretBase_RedCave1_Text_27589D: @ 827589D
- .string "I'll be happy to demonstrate my style\n"
- .string "anytime.$"
-
-SecretBase_RedCave1_Text_2758CC:: @ 82758CC
- .string "You're supremely talented!\n"
- .string "Your power seems to be limitless…$"
-
-SecretBase_RedCave1_Text_275909: @ 8275909
- .string "What did you think of my style?\n"
- .string "I'll keep on polishing it!$"
-
-SecretBase_RedCave1_Text_275944: @ 8275944
- .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?$"
-
-EventScript_2759F1:: @ 82759F1
- special GetSecretBaseTypeInFrontOfPlayer
- special CheckPlayerHasSecretBase
- compare VAR_RESULT, 1
- goto_if_eq EventScript_275BE8
- checkpartymove MOVE_SECRET_POWER
- setfieldeffectargument 0, VAR_RESULT
- buffermovename 1, MOVE_SECRET_POWER
- compare VAR_0x8007, 1
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 2
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 3
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 4
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 5
- goto_if_eq EventScript_275AA9
- compare VAR_0x8007, 6
- goto_if_eq EventScript_275B02
- end
-
-EventScript_275A50:: @ 8275A50
- lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275A91
- bufferpartymonnick 0, VAR_RESULT
- msgbox SecretBase_Text_UseSecretPower, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
- closemessage
- dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
- waitstate
- goto EventScript_275A9B
- end
-
-EventScript_275A86:: @ 8275A86
- lockall
- dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
- waitstate
- goto EventScript_275A9B
- end
-
-EventScript_275A91:: @ 8275A91
- msgbox SecretBase_Text_SmallIndentInWall, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_275A9B:: @ 8275A9B
- msgbox SecretBase_Text_DiscoveredSmallCavern, MSGBOX_DEFAULT
- goto EventScript_275B5B
- end
-
-EventScript_275AA9:: @ 8275AA9
- lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275AEA
- bufferpartymonnick 0, VAR_RESULT
- msgbox Text_274779, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
- closemessage
- dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
- waitstate
- goto EventScript_275AF4
- end
-
-EventScript_275ADF:: @ 8275ADF
- lockall
- dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
- waitstate
- goto EventScript_275AF4
- end
-
-EventScript_275AEA:: @ 8275AEA
- msgbox Text_274746, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_275AF4:: @ 8275AF4
- msgbox Text_2747C2, MSGBOX_DEFAULT
- goto EventScript_275B5B
- end
-
-EventScript_275B02:: @ 8275B02
- lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275B43
- bufferpartymonnick 0, VAR_RESULT
- msgbox Text_274825, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
- closemessage
- dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
- waitstate
- goto EventScript_275B4D
- end
-
-EventScript_275B38:: @ 8275B38
- lockall
- dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
- waitstate
- goto EventScript_275B4D
- end
-
-EventScript_275B43:: @ 8275B43
- msgbox Text_2747DD, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_275B4D:: @ 8275B4D
- msgbox Text_274883, MSGBOX_DEFAULT
- goto EventScript_275B5B
- end
-
-EventScript_275B5B:: @ 8275B5B
- closemessage
- playse SE_KAIDAN
- setvar VAR_INIT_SECRET_BASE, 0
- setflag FLAG_DECORATION_0
- special SetPlayerSecretBase
- special EnterSecretBase
- setvar VAR_0x8004, 0
- setvar VAR_0x8005, 0
- special InitSecretBaseDecorationSprites
- setvar VAR_SECRET_BASE_INITIALIZED, 1
- waitstate
- end
-
-SecretBase_RedCave1_EventScript_275B81:: @ 8275B81
- applymovement EVENT_OBJ_ID_PLAYER, SecretBase_RedCave1_Movement_275BB4
- waitmovement 0
- setvar VAR_INIT_SECRET_BASE, 1
- msgbox SecretBase_Text_WantToMakeYourSecretBaseHere, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275BAB
- closemessage
- playse SE_KAIDAN
- special ClearAndLeaveSecretBase
- end
-
-SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB
- closemessage
- setflag FLAG_RECEIVED_SECRET_POWER
- special EnterNewlyCreatedSecretBase
- waitstate
- end
-
-SecretBase_RedCave1_Movement_275BB4: @ 8275BB4
- walk_up
- walk_up
- step_end
-
-EventScript_275BB7:: @ 8275BB7
- lockall
- setvar VAR_INIT_SECRET_BASE, 1
- playse SE_KAIDAN
- special IsCurSecretBaseOwnedByAnotherPlayer
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275BDB
- clearflag FLAG_DECORATION_0
- special EnterSecretBase
- setvar VAR_SECRET_BASE_INITIALIZED, 0
- waitstate
- end
-
-EventScript_275BDB:: @ 8275BDB
- setflag FLAG_DECORATION_0
- special EnterSecretBase
- setvar VAR_SECRET_BASE_INITIALIZED, 0
- waitstate
- end
-
-EventScript_275BE8:: @ 8275BE8
- checkpartymove MOVE_SECRET_POWER
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275C9A
- setfieldeffectargument 0, VAR_RESULT
- setorcopyvar VAR_0x8004, VAR_RESULT
- lockall
- special GetSecretBaseNearbyMapName
- msgbox SecretBase_Text_WouldYouLikeToMoveBases, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- fadescreenswapbuffers 1
- special MoveOutOfSecretBaseFromOutside
- closemessage
- fadescreenswapbuffers 0
- msgbox SecretBase_Text_MovingCompletedUseSecretPower, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- bufferpartymonnick 0, VAR_0x8004
- buffermovename 1, MOVE_SECRET_POWER
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
- closemessage
- closemessage
- compare VAR_0x8007, 1
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 2
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 3
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 4
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 5
- goto_if_eq EventScript_275ADF
- compare VAR_0x8007, 6
- goto_if_eq EventScript_275B38
- releaseall
- end
-
-EventScript_275C9A:: @ 8275C9A
- lockall
- compare VAR_0x8007, 1
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 2
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 3
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 4
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 5
- goto_if_eq EventScript_275AEA
- compare VAR_0x8007, 6
- goto_if_eq EventScript_275B43
- end
-
-EventScript_275CDE:: @ 8275CDE
- closemessage
- releaseall
- end
-
-LittlerootTown_BrendansHouse_2F_EventScript_275CE1:: @ 8275CE1
-LittlerootTown_MaysHouse_2F_EventScript_275CE1:: @ 8275CE1
-SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1
- setflag FLAG_DECORATION_1
- 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
- return
-
-EventScript_275D0C:: @ 8275D0C
- setvar VAR_0x8004, 0
- setvar VAR_0x8005, 0
- special InitSecretBaseDecorationSprites
- setvar VAR_SECRET_BASE_INITIALIZED, 1
- end
-
-EventScript_275D1F:: @ 8275D1F
- setvar VAR_0x8005, 0
- goto EventScript_275D2A
- end
-
-EventScript_275D2A:: @ 8275D2A
- special sub_8127E18
- end
-
-EventScript_275D2E:: @ 8275D2E
- setvar VAR_0x8004, 0
- goto EventScript_275D39
- end
-
-EventScript_275D39:: @ 8275D39
- special sub_8129708
- compare VAR_RESULT, 1
- goto_if_eq EventScript_275D63
- addvar VAR_0x8004, 1
- compare VAR_0x8005, 0
- goto_if_eq EventScript_275D39
- removeobject VAR_0x8006
- setflag 0x8005
- goto EventScript_275D39
- end
-
-EventScript_275D63:: @ 8275D63
- end
-
-SecretBase_BlueCave1_EventScript_275D64:: @ 8275D64
-SecretBase_BlueCave2_EventScript_275D64:: @ 8275D64
-SecretBase_BlueCave3_EventScript_275D64:: @ 8275D64
-SecretBase_BlueCave4_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave1_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave2_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave3_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave4_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave1_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave2_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave3_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave4_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub1_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub2_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub3_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub4_EventScript_275D64:: @ 8275D64
-SecretBase_Tree1_EventScript_275D64:: @ 8275D64
-SecretBase_Tree2_EventScript_275D64:: @ 8275D64
-SecretBase_Tree3_EventScript_275D64:: @ 8275D64
-SecretBase_Tree4_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64
- special GetSecretBaseOwnerInteractionState
- compare VAR_0x8004, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275DD6
- compare VAR_0x8004, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275E4E
- compare VAR_0x8004, 2
- goto_if_eq SecretBase_RedCave1_EventScript_275EC6
- compare VAR_0x8004, 3
- goto_if_eq SecretBase_RedCave1_EventScript_275F3E
- compare VAR_0x8004, 4
- goto_if_eq SecretBase_RedCave1_EventScript_275FB6
- compare VAR_0x8004, 5
- goto_if_eq SecretBase_RedCave1_EventScript_27602E
- compare VAR_0x8004, 6
- goto_if_eq SecretBase_RedCave1_EventScript_2760A6
- compare VAR_0x8004, 7
- goto_if_eq SecretBase_RedCave1_EventScript_27611E
- compare VAR_0x8004, 8
- goto_if_eq SecretBase_RedCave1_EventScript_276196
- compare VAR_0x8004, 9
- goto_if_eq SecretBase_RedCave1_EventScript_27620E
- end
-
-SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E25
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275E44
- msgbox SecretBase_RedCave1_Text_2748A0, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275E2F
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275E2F
- msgbox SecretBase_RedCave1_Text_274939, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_275E25:: @ 8275E25
- msgbox SecretBase_RedCave1_Text_2749ED, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275E2F:: @ 8275E2F
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_27494D, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275E44:: @ 8275E44
- msgbox SecretBase_RedCave1_Text_2749AA, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E9D
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275EBC
- msgbox SecretBase_RedCave1_Text_274C13, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275EA7
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275EA7
- msgbox SecretBase_RedCave1_Text_274CB0, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_275E9D:: @ 8275E9D
- msgbox SecretBase_RedCave1_Text_274D69, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275EA7:: @ 8275EA7
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274CDA, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC
- msgbox SecretBase_RedCave1_Text_274D34, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F15
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275F34
- msgbox SecretBase_RedCave1_Text_274F39, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F1F
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F1F
- msgbox SecretBase_RedCave1_Text_274FCA, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_275F15:: @ 8275F15
- msgbox SecretBase_RedCave1_Text_2750A4, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275F1F:: @ 8275F1F
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274FDA, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275F34:: @ 8275F34
- msgbox SecretBase_RedCave1_Text_27502A, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F8D
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275FAC
- msgbox SecretBase_RedCave1_Text_275287, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F97
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F97
- msgbox SecretBase_RedCave1_Text_275315, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_275F8D:: @ 8275F8D
- msgbox SecretBase_RedCave1_Text_2753AB, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275F97:: @ 8275F97
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_275330, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC
- msgbox SecretBase_RedCave1_Text_275374, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_276005
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_276024
- msgbox SecretBase_RedCave1_Text_2755D2, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_27600F
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_27600F
- msgbox SecretBase_RedCave1_Text_275679, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_276005:: @ 8276005
- msgbox SecretBase_RedCave1_Text_27571E, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_27600F:: @ 827600F
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_275696, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276024:: @ 8276024
- msgbox SecretBase_RedCave1_Text_2756EF, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_27602E:: @ 827602E
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27607D
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_27609C
- msgbox SecretBase_RedCave1_Text_274A64, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276087
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276087
- msgbox SecretBase_RedCave1_Text_274AFA, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_27607D:: @ 827607D
- msgbox SecretBase_RedCave1_Text_274BA2, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276087:: @ 8276087
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274B0B, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_27609C:: @ 827609C
- msgbox SecretBase_RedCave1_Text_274B6C, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2760F5
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_276114
- msgbox SecretBase_RedCave1_Text_274DD2, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2760FF
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2760FF
- msgbox SecretBase_RedCave1_Text_274E41, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_2760F5:: @ 82760F5
- msgbox SecretBase_RedCave1_Text_274EF1, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_2760FF:: @ 82760FF
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274E5A, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276114:: @ 8276114
- msgbox SecretBase_RedCave1_Text_274EB3, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_27611E:: @ 827611E
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27616D
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_27618C
- msgbox SecretBase_RedCave1_Text_275114, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276177
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276177
- msgbox SecretBase_RedCave1_Text_2751AF, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_27616D:: @ 827616D
- msgbox SecretBase_RedCave1_Text_275226, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276177:: @ 8276177
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_2751CA, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_27618C:: @ 827618C
- msgbox SecretBase_RedCave1_Text_2751EC, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276196:: @ 8276196
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2761E5
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_276204
- msgbox SecretBase_RedCave1_Text_275405, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2761EF
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2761EF
- msgbox SecretBase_RedCave1_Text_2754B2, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_2761E5:: @ 82761E5
- msgbox SecretBase_RedCave1_Text_275546, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_2761EF:: @ 82761EF
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_2754D8, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276204:: @ 8276204
- msgbox SecretBase_RedCave1_Text_27550C, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_27620E:: @ 827620E
- lock
- faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27625D
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_27627C
- msgbox SecretBase_RedCave1_Text_2757B5, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276267
- setvar VAR_RESULT, 1
- special sub_80EA30C
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276267
- msgbox SecretBase_RedCave1_Text_275884, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
- end
-
-SecretBase_RedCave1_EventScript_27625D:: @ 827625D
- msgbox SecretBase_RedCave1_Text_275944, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276267:: @ 8276267
- special sub_80EB300
- setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_27589D, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_27627C:: @ 827627C
- msgbox SecretBase_RedCave1_Text_275909, MSGBOX_DEFAULT
- release
- end
-
-SecretBase_RedCave1_EventScript_276286:: @ 8276286
- special PrepSecretBaseBattleFlags
- setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE
- setvar VAR_0x8005, 0
- special DoSpecialTrainerBattle
- waitstate
- compare VAR_RESULT, 3
- call_if_eq SecretBase_RedCave1_EventScript_2762BD
- compare VAR_RESULT, 1
- call_if_eq SecretBase_RedCave1_EventScript_2762C1
- compare VAR_RESULT, 2
- call_if_eq SecretBase_RedCave1_EventScript_2762C5
- special HealPlayerParty
- release
- end
-
-SecretBase_RedCave1_EventScript_2762BD:: @ 82762BD
- special sub_80EB438
- return
-
-SecretBase_RedCave1_EventScript_2762C1:: @ 82762C1
- special sub_80EB368
- return
-
-SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5
- special sub_80EB3D0
- return
-
- .include "data/scripts/secret_power_tm.inc"
-
-SecretBase_EventScript_DollInteract:: @ 82766A2
- special sub_80EB290
- end
-
-SecretBase_EventScript_CushionInteract:: @ 82766A6
- special sub_80EB2C8
- end
-
-SecretBase_Text_AllDecorationsWillBeReturned: @ 82766AA
- .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: @ 8276707
- .string "Do you want to register\n"
- .string "{STR_VAR_1}'s SECRET BASE?$"
-
-SecretBase_Text_AlreadyRegisteredDelete: @ 8276731
- .string "This data is already registered.\n"
- .string "Would you like to delete it?$"
-
-SecretBase_Text_TooManyBasesDeleteSome: @ 827676F
- .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: @ 82767D1
- .string "Registration completed.$"
-
-SecretBase_Text_DataUnregistered: @ 82767E9
- .string "Data has been unregistered.$"
-
-SecretBase_Text_BootUpPC: @ 8276805
- .string "{PLAYER} booted up the PC.$"
-
-SecretBase_Text_WhatWouldYouLikeToDo: @ 827681A
- .string "What would you like to do?$"
-
-SecretBase_Text_RegistryInfo: @ 8276835
- .string "Once registered, a SECRET BASE will not\n"
- .string "disappear unless the other TRAINER\l"
- .string "moves it to a different location.\p"
- .string "If a SECRET BASE is deleted from the\n"
- .string "registered list, another one may take\l"
- .string "its place.\p"
- .string "Up to ten SECRET BASE locations\n"
- .string "may be registered.$"
-
-SecretBase_Text_BattleTowerShield: @ 827692B
- .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: @ 8276974
- .string "A realistic toy TV. It could be easily\n"
- .string "mistaken for the real thing.$"
-
-SecretBase_Text_SeedotTV: @ 82769B8
- .string "A toy TV shaped like a SEEDOT.\n"
- .string "It looks ready to roll away on its own…$"
-
-SecretBase_Text_SkittyTV: @ 82769FF
- .string "A toy TV shaped like a SKITTY.\n"
- .string "It looks ready to stroll away…$"
-
-SecretBase_Text_WouldYouLikeToMoveBases: @ 8276A3D
- .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}?$"
-
-SecretBase_Text_MovingCompletedUseSecretPower: @ 8276A95
- .string "Moving completed.\p"
- .string "Would you like to use the SECRET POWER?$"
diff --git a/data/scripts/secret_base_1.inc b/data/scripts/shared_secret_base.inc
index dfe990dfd..cbde8af36 100644
--- a/data/scripts/secret_base_1.inc
+++ b/data/scripts/shared_secret_base.inc
@@ -1,3 +1,29 @@
+@ Label is unused, but all the Secret Base MapScripts fall through to here
+SecretBase_MapScripts::
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_MapScript2_OnWarp
+ map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_MapScript1_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_MapScript2_OnFrame
+ map_script MAP_SCRIPT_ON_RESUME, SecretBase_MapScript1_OnResume
+ .byte 0
+
+SecretBase_MapScript2_OnWarp: @ 823B498
+ map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, SecretBase_EventScript_InitDecorations
+ .2byte 0
+
+SecretBase_MapScript1_OnTransition: @ 823B4A2
+ call SecretBase_EventScript_SetDecorationFlags
+ special SetSecretBaseOwnerGfxId
+ special InitSecretBaseVars
+ end
+
+SecretBase_MapScript2_OnFrame: @ 823B4AE
+ map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_EventScript_FirstEntrance
+ .2byte 0
+
+SecretBase_MapScript1_OnResume: @ 823B4B8
+ setstepcallback 6
+ end
+
SecretBase_EventScript_PC:: @ 823B4BB
lockall
playse SE_PC_LOGIN
@@ -188,7 +214,7 @@ SecretBase_EventScript_SkittyTV:: @ 823B6D7
SecretBase_Text_SmallIndentInWall:: @ 823B6E0
.string "There's a small indent in the wall.$"
-SecretBase_Text_UseSecretPower:: @ 823B704
+SecretBase_Text_IndentUseSecretPower:: @ 823B704
.string "There's a small indent in the wall.\p"
.string "Use the SECRET POWER?$"
diff --git a/data/specials.inc b/data/specials.inc
index fb66bb0a6..1b9336e4e 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -25,15 +25,15 @@ gSpecials:: @ 81DBA64
def_special ShowSecretBaseDecorationMenu
def_special ShowSecretBaseRegistryMenu
def_special PrepSecretBaseBattleFlags
- def_special GetSecretBaseOwnerInteractionState
+ def_special GetSecretBaseOwnerAndState
def_special InitSecretBaseDecorationSprites
- def_special sub_8127E18
+ def_special SetDecoration
def_special sub_81297AC
def_special GetSecretBaseTypeInFrontOfPlayer
def_special SetSecretBaseOwnerGfxId
def_special sub_8129708
def_special EnterNewlyCreatedSecretBase
- def_special sub_80EA30C
+ def_special SetBattledOwnerFromResult
def_special DoSecretBasePCTurnOffEffect
def_special RecordMixingPlayerSpotTriggered
def_special sub_80B2DA4
@@ -360,7 +360,7 @@ gSpecials:: @ 81DBA64
def_special PutFanClubSpecialOnTheAir
def_special sub_80EED10
def_special sub_80EED34
- def_special sub_80EB1AC
+ def_special InitSecretBaseVars
def_special SetSecretBaseSecretsTvFlags_SandOrnament
def_special sub_80EB300
def_special sub_80EB438
diff --git a/data/text/secret_base_trainers.inc b/data/text/secret_base_trainers.inc
new file mode 100644
index 000000000..46ecaaec9
--- /dev/null
+++ b/data/text/secret_base_trainers.inc
@@ -0,0 +1,286 @@
+SecretBase_Text_Trainer0PreBattle: @ 82748A0
+ .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_Text_Trainer0AcceptBattle: @ 8274939
+ .string "Okay!\n"
+ .string "Here we come!$"
+
+SecretBase_Text_Trainer0DeclineBattle: @ 827494D
+ .string "Hunh?\n"
+ .string "Oh, you can't now…$"
+
+SecretBase_Text_Trainer0Defeated:: @ 8274966
+ .string "Waaargh! You're too strong!\n"
+ .string "About me losing… Please keep it secret!$"
+
+SecretBase_Text_Trainer0PostBattle: @ 82749AA
+ .string "What do you think of my SECRET BASE?\n"
+ .string "Come visit me again tomorrow.$"
+
+SecretBase_Text_Trainer0PreChampion: @ 82749ED
+ .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_Text_Trainer5PreBattle: @ 8274A64
+ .string "There're a lot of places where\n"
+ .string "you can 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_Text_Trainer5AcceptBattle: @ 8274AFA
+ .string "Okay, here goes!$"
+
+SecretBase_Text_Trainer5DeclineBattle: @ 8274B0B
+ .string "Oh…\n"
+ .string "You can't now, okay.$"
+
+SecretBase_Text_Trainer5Defeated:: @ 8274B24
+ .string "Hmmm… It's our loss…\n"
+ .string "But don't tell anyone!\l"
+ .string "It's a confidential secret!$"
+
+SecretBase_Text_Trainer5PostBattle: @ 8274B6C
+ .string "If you're in this area again,\n"
+ .string "I hope you'll visit me.$"
+
+SecretBase_Text_Trainer5PreChampion: @ 8274BA2
+ .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_Text_Trainer1PreBattle: @ 8274C13
+ .string "This is a popular spot.\n"
+ .string "It's always taken.\p"
+ .string "Oh! Were you thinking about\n"
+ .string "taking this spot, too?\p"
+ .string "I'll tell you what, you can have this\n"
+ .string "spot if you can beat me.$"
+
+SecretBase_Text_Trainer1AcceptBattle: @ 8274CB0
+ .string "Okay!\n"
+ .string "I'm going to defend my SECRET BASE!$"
+
+SecretBase_Text_Trainer1DeclineBattle: @ 8274CDA
+ .string "Hunh? Is that right?\n"
+ .string "You're not interested in this spot?$"
+
+SecretBase_Text_Trainer1Defeated:: @ 8274D13
+ .string "I can't keep going!\n"
+ .string "I surrender!$"
+
+SecretBase_Text_Trainer1PostBattle: @ 8274D34
+ .string "Okay, when I move one day,\n"
+ .string "this place will be yours!$"
+
+SecretBase_Text_Trainer1PreChampion: @ 8274D69
+ .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_Text_Trainer6PreBattle: @ 8274DD2
+ .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_Text_Trainer6AcceptBattle: @ 8274E41
+ .string "I'm going to go all out!$"
+
+SecretBase_Text_Trainer6DeclineBattle: @ 8274E5A
+ .string "Oh.\n"
+ .string "Some other time, then!$"
+
+SecretBase_Text_Trainer6Defeated:: @ 8274E75
+ .string "Hmm… I've still got lots to learn.\n"
+ .string "I have to study some more.$"
+
+SecretBase_Text_Trainer6PostBattle: @ 8274EB3
+ .string "Thanks for battling with me.\n"
+ .string "Please come back again tomorrow.$"
+
+SecretBase_Text_Trainer6PreChampion: @ 8274EF1
+ .string "Welcome to my POKéMON LAB.\p"
+ .string "I carry out research on battling in\n"
+ .string "secrecy.$"
+
+SecretBase_Text_Trainer2PreBattle: @ 8274F39
+ .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_Text_Trainer2AcceptBattle: @ 8274FCA
+ .string "That's the way!$"
+
+SecretBase_Text_Trainer2DeclineBattle: @ 8274FDA
+ .string "When you're ready, give me a shout!$"
+
+SecretBase_Text_Trainer2Defeated:: @ 8274FFE
+ .string "Aww! Done in!\n"
+ .string "But it's still fun to battle!$"
+
+SecretBase_Text_Trainer2PostBattle: @ 827502A
+ .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_Text_Trainer2PreChampion: @ 82750A4
+ .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_Text_Trainer7PreBattle: @ 8275114
+ .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_Text_Trainer7AcceptBattle: @ 82751AF
+ .string "Thank you.\n"
+ .string "Shall we begin?$"
+
+SecretBase_Text_Trainer7DeclineBattle: @ 82751CA
+ .string "Oh.\n"
+ .string "How disappointing…$"
+
+SecretBase_Text_Trainer7Defeated:: @ 82751E1
+ .string "I concede…$"
+
+SecretBase_Text_Trainer7PostBattle: @ 82751EC
+ .string "That was all in good fun!\n"
+ .string "I should go enjoy shopping now.$"
+
+SecretBase_Text_Trainer7PreChampion: @ 8275226
+ .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_Text_Trainer3PreBattle: @ 8275287
+ .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_Text_Trainer3AcceptBattle: @ 8275315
+ .string "I'm not going down easily!$"
+
+SecretBase_Text_Trainer3DeclineBattle: @ 8275330
+ .string "Oh… Are you maybe tired from searching\n"
+ .string "for this place?$"
+
+SecretBase_Text_Trainer3Defeated:: @ 8275367
+ .string "I went down…$"
+
+SecretBase_Text_Trainer3PostBattle: @ 8275374
+ .string "Where's your SECRET BASE?\n"
+ .string "I should go visit you there.$"
+
+SecretBase_Text_Trainer3PreChampion: @ 82753AB
+ .string "Some people make their SECRET BASES in\n"
+ .string "hard-to-find places.\l"
+ .string "Do they want to just lie low?$"
+
+SecretBase_Text_Trainer8PreBattle: @ 8275405
+ .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_Text_Trainer8AcceptBattle: @ 82754B2
+ .string "This is my SECRET BASE.\n"
+ .string "I can't lose!$"
+
+SecretBase_Text_Trainer8DeclineBattle: @ 82754D8
+ .string "I'll battle with you anytime.$"
+
+SecretBase_Text_Trainer8Defeated:: @ 82754F6
+ .string "Huh?\n"
+ .string "Did I just lose?$"
+
+SecretBase_Text_Trainer8PostBattle: @ 827550C
+ .string "I won't lose at collecting decorations.\n"
+ .string "Come visit again!$"
+
+SecretBase_Text_Trainer8PreChampion: @ 8275546
+ .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_Text_Trainer4PreBattle: @ 82755D2
+ .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_Text_Trainer4AcceptBattle: @ 8275679
+ .string "Show me what you're made of!$"
+
+SecretBase_Text_Trainer4DeclineBattle: @ 8275696
+ .string "I guess there are times when you're not\n"
+ .string "into it.$"
+
+SecretBase_Text_Trainer4Defeated:: @ 82756C7
+ .string "I know exactly what you're made of now.$"
+
+SecretBase_Text_Trainer4PostBattle: @ 82756EF
+ .string "We can both become stronger.\n"
+ .string "Let's keep at it!$"
+
+SecretBase_Text_Trainer4PreChampion: @ 827571E
+ .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_Text_Trainer9PreBattle: @ 82757B5
+ .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_Text_Trainer9AcceptBattle: @ 8275884
+ .string "There's no holding back!$"
+
+SecretBase_Text_Trainer9DeclineBattle: @ 827589D
+ .string "I'll be happy to demonstrate my style\n"
+ .string "anytime.$"
+
+SecretBase_Text_Trainer9Defeated:: @ 82758CC
+ .string "You're supremely talented!\n"
+ .string "Your power seems to be limitless…$"
+
+SecretBase_Text_Trainer9PostBattle: @ 8275909
+ .string "What did you think of my style?\n"
+ .string "I'll keep on polishing it!$"
+
+SecretBase_Text_Trainer9PreChampion: @ 8275944
+ .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?$"
diff --git a/include/constants/global.h b/include/constants/global.h
index a862ecad2..0507f22cc 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -46,11 +46,14 @@
#define BAG_TMHM_COUNT 64
#define BAG_BERRIES_COUNT 46
#define EVENT_OBJECT_TEMPLATES_COUNT 64
+#define DECOR_MAX_SECRET_BASE 16
+#define DECOR_MAX_PLAYERS_HOUSE 12
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
#define TRAINER_ID_LENGTH 4
+#define PARTY_SIZE 6
// string lengths
#define ITEM_NAME_LENGTH 14
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 9b294f7cd..02265413e 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -3,10 +3,6 @@
extern const u8 EventScript_TestSignpostMsg[];
extern const u8 EventScript_TryGetTrainerScript[];
-extern const u8 EventScript_275BB7[];
-extern const u8 EventScript_275D0C[];
-extern const u8 EventScript_275D1F[];
-extern const u8 EventScript_275D2E[];
extern const u8 EventScript_271354[];
extern const u8 EventScript_DoTainerBattle[];
extern const u8 EventScript_TryDoDoubleTrainerBattle[];
@@ -364,16 +360,16 @@ extern const u8 gPokeNewsTextLilycove_Ending[];
extern const u8 gPokeNewsTextBlendMaster_Upcoming[];
extern const u8 gPokeNewsTextBlendMaster_Ongoing[];
extern const u8 gPokeNewsTextBlendMaster_Ending[];
-extern const u8 SecretBase_RedCave1_Text_274966[];
-extern const u8 SecretBase_RedCave1_Text_274D13[];
-extern const u8 SecretBase_RedCave1_Text_274FFE[];
-extern const u8 SecretBase_RedCave1_Text_275367[];
-extern const u8 SecretBase_RedCave1_Text_2756C7[];
-extern const u8 SecretBase_RedCave1_Text_274B24[];
-extern const u8 SecretBase_RedCave1_Text_274E75[];
-extern const u8 SecretBase_RedCave1_Text_2751E1[];
-extern const u8 SecretBase_RedCave1_Text_2754F6[];
-extern const u8 SecretBase_RedCave1_Text_2758CC[];
+extern const u8 SecretBase_Text_Trainer0Defeated[];
+extern const u8 SecretBase_Text_Trainer1Defeated[];
+extern const u8 SecretBase_Text_Trainer2Defeated[];
+extern const u8 SecretBase_Text_Trainer3Defeated[];
+extern const u8 SecretBase_Text_Trainer4Defeated[];
+extern const u8 SecretBase_Text_Trainer5Defeated[];
+extern const u8 SecretBase_Text_Trainer6Defeated[];
+extern const u8 SecretBase_Text_Trainer7Defeated[];
+extern const u8 SecretBase_Text_Trainer8Defeated[];
+extern const u8 SecretBase_Text_Trainer9Defeated[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
@@ -526,7 +522,6 @@ extern const u8 EventScript_PlayerPCFemale[];
extern const u8 EventScript_PC[];
extern const u8 EventScript_TestSignpostMsg[];
extern const u8 EventScript_HiddenItemScript[];
-extern const u8 EventScript_2759F1[];
extern const u8 EventScript_TV[];
extern const u8 EventScript_ClosedSootopolisDoor[];
extern const u8 SkyPillar_Outside_EventScript_2393F9[];
@@ -546,16 +541,6 @@ extern const u8 EventScript_WirelessBoxResults[];
extern const u8 EventScript_CableBoxResults[];
extern const u8 EventScript_Questionnaire[];
extern const u8 EventScript_TrainerHillTimer[];
-
-extern const u8 SecretBase_EventScript_PC[];
-extern const u8 SecretBase_EventScript_RecordMixingPC[];
-extern const u8 SecretBase_EventScript_PCCancel[];
-extern const u8 SecretBase_EventScript_ShowRegisterMenu[];
-extern const u8 SecretBase_EventScript_SandOrnament[];
-extern const u8 SecretBase_EventScript_ShieldOrToyTV[];
-extern const u8 SecretBase_EventScript_DollInteract[];
-extern const u8 SecretBase_EventScript_CushionInteract[];
-
extern const u8 EventScript_UseSurf[];
extern const u8 EventScript_UseWaterfall[];
extern const u8 EventScript_CannotUseWaterfall[];
@@ -575,15 +560,30 @@ extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[];
extern const u8 SSTidalCorridor_EventScript_23C050[];
extern const u8 gUnknown_082A8350[];
+// Secret Base
+extern const u8 SecretBase_EventScript_PC[];
+extern const u8 SecretBase_EventScript_RecordMixingPC[];
+extern const u8 SecretBase_EventScript_PCCancel[];
+extern const u8 SecretBase_EventScript_ShowRegisterMenu[];
+extern const u8 SecretBase_EventScript_SandOrnament[];
+extern const u8 SecretBase_EventScript_ShieldOrToyTV[];
+extern const u8 SecretBase_EventScript_DollInteract[];
+extern const u8 SecretBase_EventScript_CushionInteract[];
+extern const u8 SecretBase_EventScript_CheckEntrance[];
+extern const u8 SecretBase_EventScript_Enter[];
+extern const u8 SecretBase_EventScript_InitDecorations[];
+extern const u8 SecretBase_EventScript_PutAwayDecoration[];
+extern const u8 SecretBase_EventScript_SetDecoration[];
+
// Battle Pyramid.
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
extern const u8 BattlePyramid_TrainerBattle[];
extern const u8 BattlePyramid_FindItemBall[];
// fldeff misc
-extern const u8 EventScript_275A86[];
-extern const u8 EventScript_275ADF[];
-extern const u8 EventScript_275B38[];
+extern const u8 SecretBase_EventScript_CaveUseSecretPower[];
+extern const u8 SecretBase_EventScript_TreeUseSecretPower[];
+extern const u8 SecretBase_EventScript_ShrubUseSecretPower[];
// trainer hill
extern const u8 EventScript_2C83F0[];
diff --git a/include/global.h b/include/global.h
index a82fe5861..d6d18a3ab 100644
--- a/include/global.h
+++ b/include/global.h
@@ -63,8 +63,6 @@
// Converts a Q24.8 fixed-point format number to a regular integer
#define Q_24_8_TO_INT(n) ((int)((n) >> 8))
-#define PARTY_SIZE 6
-
#define POKEMON_SLOTS_NUMBER 412
#define min(a, b) ((a) < (b) ? (a) : (b))
@@ -500,8 +498,8 @@ struct SecretBase
/*0x1AAA*/ u16 numSecretBasesReceived;
/*0x1AAC*/ u8 numTimesEntered;
/*0x1AAD*/ u8 sbr_field_11;
- /*0x1AAE*/ u8 decorations[16];
- /*0x1ABE*/ u8 decorationPositions[16];
+ /*0x1AAE*/ u8 decorations[DECOR_MAX_SECRET_BASE];
+ /*0x1ABE*/ u8 decorationPositions[DECOR_MAX_SECRET_BASE];
/*0x1AD0*/ struct SecretBaseParty party;
};
@@ -925,8 +923,8 @@ struct SaveBlock1
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
/*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT];
- /*0x271C*/ u8 playerRoomDecor[12];
- /*0x2728*/ u8 playerRoomDecorPos[12];
+ /*0x271C*/ u8 playerRoomDecor[DECOR_MAX_PLAYERS_HOUSE];
+ /*0x2728*/ u8 playerRoomDecorPos[DECOR_MAX_PLAYERS_HOUSE];
/*0x2734*/ u8 decorDesk[10];
/*0x????*/ u8 decorChair[10];
/*0x????*/ u8 decorPlant[10];
diff --git a/src/decoration.c b/src/decoration.c
index e05b2829c..94c1f40f4 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -40,6 +40,7 @@
#define PLACE_DECORATION_SELECTOR_TAG 0xbe5
#define PLACE_DECORATION_PLAYER_TAG 0x008
+#define NUM_DECORATION_FLAGS (FLAG_DECORATION_14 - FLAG_DECORATION_0)
struct DecorationItemsMenu
{
@@ -69,8 +70,8 @@ struct DecorRearrangementDataBuffer
EWRAM_DATA u8 *gCurDecorationItems = NULL;
EWRAM_DATA static u8 sDecorationActionsCursorPos = 0;
EWRAM_DATA static u8 sNumOwnedDecorationsInCurCategory = 0;
-EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {};
-EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {};
+EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[DECOR_MAX_SECRET_BASE] = {};
+EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[DECOR_MAX_PLAYERS_HOUSE] = {};
EWRAM_DATA static u16 sDecorationsCursorPos = 0;
EWRAM_DATA static u16 sDecorationsScrollOffset = 0;
EWRAM_DATA u8 gCurDecorationIndex = 0;
@@ -86,7 +87,7 @@ EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx1 = 0;
EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx2 = 0;
EWRAM_DATA static u8 sDecorationLastDirectionMoved = 0;
EWRAM_DATA static struct OamData sDecorSelectorOam = {};
-EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {};
+EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[DECOR_MAX_SECRET_BASE] = {};
EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0;
static void HandleDecorationActionsMenuInput(u8 taskId);
@@ -128,34 +129,34 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic
void sub_812826C(u8 taskId);
void sub_81283BC(u8 taskId);
void sub_8128414(u8 taskId);
-void sub_8128950(u8 taskId);
-void sub_81289D0(u8 taskId);
-void sub_81289F0(u8 taskId);
+void AttemptPlaceDecoration(u8 taskId);
+void PlaceDecorationPrompt(u8 taskId);
+void PlaceDecoration(u8 taskId);
void sub_8128AAC(u8 taskId);
-void sub_8128B80(u8 taskId);
-void sub_8128BA0(u8 taskId);
+void CancelDecoratingPrompt(u8 taskId);
+void CancelDecorating(u8 taskId);
void sub_8128BBC(u8 taskId);
void c1_overworld_prev_quest(u8 taskId);
void sub_8128CD4(void);
void sub_8128DE0(void);
-void sub_8128FD8(u8 taskId);
-void sub_8129020(u8 taskId);
+void ContinueDecorating(u8 taskId);
+void CantPlaceDecorationPrompt(u8 taskId);
void sub_81292D0(struct Sprite *sprite);
void sub_81292E8(struct Sprite *sprite);
u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor);
const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode);
bool8 sub_81299AC(u8 taskId);
void sub_8129ABC(u8 taskId);
-void sub_8129B34(u8 taskId);
+void ContinuePuttingAwayDecorations(u8 taskId);
void sub_8129BCC(u8 taskId);
void sub_8129BF8(u8 taskId);
void sub_8129C74(u8 taskId);
-void sub_8129D64(u8 taskId);
+void ContinuePuttingAwayDecorationsPrompt(u8 taskId);
void sub_812A0E8(u8 taskId);
-void sub_812A1A0(u8 taskId);
-void sub_812A1C0(u8 taskId);
-void sub_812A1F0(u8 taskId);
-void sub_812A210(u8 taskId);
+void ReturnDecorationPrompt(u8 taskId);
+void PutAwayDecoration(u8 taskId);
+void StopPuttingAwayDecorationsPrompt(u8 taskId);
+void StopPuttingAwayDecorations(u8 taskId);
void sub_812A22C(u8 taskId);
void sub_812A25C(u8 taskId);
void sub_812A334(void);
@@ -163,8 +164,8 @@ void sub_812A36C(struct Sprite *sprite);
void sub_812A39C(void);
void sub_812A3C8(void);
void sub_812A3D4(u8 taskId);
-void sub_812A458(u8 taskId);
-void sub_812A478(u8 taskId);
+void TossDecorationPrompt(u8 taskId);
+void TossDecoration(u8 taskId);
#include "data/decoration/tiles.h"
#include "data/decoration/description.h"
@@ -344,16 +345,16 @@ const struct SpritePalette gUnknown_085A72BC =
.tag = PLACE_DECORATION_SELECTOR_TAG,
};
-const struct YesNoFuncTable gUnknown_085A72C4 =
+const struct YesNoFuncTable sPlaceDecorationYesNoFunctions =
{
- .yesFunc = sub_81289F0,
- .noFunc = sub_8128FD8,
+ .yesFunc = PlaceDecoration,
+ .noFunc = ContinueDecorating,
};
-const struct YesNoFuncTable gUnknown_085A72CC =
+const struct YesNoFuncTable sCancelDecoratingYesNoFunctions =
{
- .yesFunc = sub_8128BA0,
- .noFunc = sub_8128FD8,
+ .yesFunc = CancelDecorating,
+ .noFunc = ContinueDecorating,
};
const struct YesNoFuncTable gUnknown_085A72D4[] =
@@ -390,16 +391,16 @@ const u16 gUnknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gba
const u16 gUnknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal");
-const struct YesNoFuncTable gUnknown_085A7348 =
+const struct YesNoFuncTable sReturnDecorationYesNoFunctions =
{
- .yesFunc = sub_812A1C0,
- .noFunc = sub_8129B34,
+ .yesFunc = PutAwayDecoration,
+ .noFunc = ContinuePuttingAwayDecorations,
};
-const struct YesNoFuncTable gUnknown_085A7350 =
+const struct YesNoFuncTable sStopPuttingAwayDecorationsYesNoFunctions =
{
- .yesFunc = sub_812A210,
- .noFunc = sub_8129B34,
+ .yesFunc = StopPuttingAwayDecorations,
+ .noFunc = ContinuePuttingAwayDecorations,
};
const u8 gUnknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp");
@@ -458,9 +459,9 @@ const struct SpriteTemplate gUnknown_085A7404 =
sub_812A36C
};
-const struct YesNoFuncTable gUnknown_085A741C =
+const struct YesNoFuncTable sTossDecorationYesNoFunctions =
{
- .yesFunc = sub_812A478,
+ .yesFunc = TossDecoration,
.noFunc = sub_8127A30,
};
@@ -1235,12 +1236,12 @@ void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration)
}
}
-void sub_8127E18(void)
+void SetDecoration(void)
{
u8 i;
u8 j;
- for (i = 0; i < 14; i++)
+ for (i = 0; i < NUM_DECORATION_FLAGS; i++)
{
if (FlagGet(FLAG_DECORATION_1 + i) == TRUE)
{
@@ -1339,7 +1340,7 @@ void sub_8128060(u8 taskId)
if (IsWeatherNotFadingIn() == TRUE)
{
gTasks[taskId].data[12] = 0;
- sub_8128FD8(taskId);
+ ContinueDecorating(taskId);
}
break;
}
@@ -1427,7 +1428,7 @@ void sub_81283BC(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 1;
gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1;
sub_8128DE0();
- sub_8128950(taskId);
+ AttemptPlaceDecoration(taskId);
}
void sub_8128414(u8 taskId)
@@ -1437,7 +1438,7 @@ void sub_8128414(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1;
sub_8128DE0();
StringExpandPlaceholders(gStringVar4, gText_CancelDecorating);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8128B80);
+ DisplayItemMessageOnField(taskId, gStringVar4, CancelDecoratingPrompt);
}
bool8 sub_8128484(u8 behaviorAt, u16 behaviorBy)
@@ -1472,7 +1473,7 @@ bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration)
return FALSE;
}
-bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
+bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration)
{
u8 i;
u8 j;
@@ -1586,28 +1587,28 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
return TRUE;
}
-void sub_8128950(u8 taskId)
+void AttemptPlaceDecoration(u8 taskId)
{
- if (sub_812853C(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE)
+ if (CanPlaceDecoration(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE)
{
StringExpandPlaceholders(gStringVar4, gText_PlaceItHere);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_81289D0);
+ DisplayItemMessageOnField(taskId, gStringVar4, PlaceDecorationPrompt);
}
else
{
PlaySE(SE_HAZURE);
StringExpandPlaceholders(gStringVar4, gText_CantBePlacedHere);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8129020);
+ DisplayItemMessageOnField(taskId, gStringVar4, CantPlaceDecorationPrompt);
}
}
-void sub_81289D0(u8 taskId)
+void PlaceDecorationPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A72C4);
+ DoYesNoFuncWithChoice(taskId, &sPlaceDecorationYesNoFunctions);
}
-void sub_81289F0(u8 taskId)
+void PlaceDecoration(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
sub_8128AAC(taskId);
@@ -1619,7 +1620,7 @@ void sub_81289F0(u8 taskId)
{
sCurDecorMapX = gTasks[taskId].data[0] - 7;
sCurDecorMapY = gTasks[taskId].data[1] - 7;
- ScriptContext1_SetupScript(EventScript_275D1F);
+ ScriptContext1_SetupScript(SecretBase_EventScript_SetDecoration);
}
gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2;
@@ -1645,7 +1646,7 @@ void sub_8128AAC(u8 taskId)
if (!gDecorationContext.isPlayerRoom)
{
- for (i = 0; i < 16; i++)
+ for (i = 0; i < DECOR_MAX_SECRET_BASE; i++)
{
if (sSecretBaseItemsIndicesBuffer[i] == 0)
{
@@ -1656,7 +1657,7 @@ void sub_8128AAC(u8 taskId)
}
else
{
- for (i = 0; i < 12; i++)
+ for (i = 0; i < DECOR_MAX_PLAYERS_HOUSE; i++)
{
if (sPlayerRoomItemsIndicesBuffer[i] == 0)
{
@@ -1667,13 +1668,13 @@ void sub_8128AAC(u8 taskId)
}
}
-void sub_8128B80(u8 taskId)
+void CancelDecoratingPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A72CC);
+ DoYesNoFuncWithChoice(taskId, &sCancelDecoratingYesNoFunctions);
}
-void sub_8128BA0(u8 taskId)
+void CancelDecorating(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
sub_8128BBC(taskId);
@@ -1718,7 +1719,7 @@ void sub_8128C64(u8 taskId)
data[2]++;
break;
case 1:
- ScriptContext1_SetupScript(EventScript_275D0C);
+ ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations);
data[2]++;
break;
case 2:
@@ -1857,7 +1858,7 @@ void sub_8128E18(u8 taskId)
}
}
-void sub_8128FD8(u8 taskId)
+void ContinueDecorating(u8 taskId)
{
ClearDialogWindowAndFrame(0, 1);
gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0;
@@ -1865,10 +1866,10 @@ void sub_8128FD8(u8 taskId)
gTasks[taskId].func = sub_8128E18;
}
-void sub_8129020(u8 taskId)
+void CantPlaceDecorationPrompt(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
- sub_8128FD8(taskId);
+ ContinueDecorating(taskId);
}
void sub_8129048(struct PlaceDecorationGraphicsDataBuffer *data)
@@ -2206,7 +2207,7 @@ void sub_81298EC(u8 taskId)
case 1:
if (!gPaletteFade.active) {
DrawWholeMapView();
- ScriptContext1_SetupScript(EventScript_275D2E);
+ ScriptContext1_SetupScript(SecretBase_EventScript_PutAwayDecoration);
ClearDialogWindowAndFrame(0, 1);
gTasks[taskId].data[2] = 2;
}
@@ -2221,7 +2222,7 @@ void sub_81298EC(u8 taskId)
if (IsWeatherNotFadingIn() == TRUE)
{
StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
+ DisplayItemMessageOnField(taskId, gStringVar4, ContinuePuttingAwayDecorationsPrompt);
if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE)
TV_PutSecretBaseVisitOnTheAir();
}
@@ -2284,13 +2285,13 @@ void sub_8129ABC(u8 taskId)
if (IsWeatherNotFadingIn() == TRUE)
{
data[12] = 1;
- sub_8129B34(taskId);
+ ContinuePuttingAwayDecorations(taskId);
}
break;
}
}
-void sub_8129B34(u8 taskId)
+void ContinuePuttingAwayDecorations(u8 taskId)
{
ClearDialogWindowAndFrame(0, 1);
gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0;
@@ -2316,7 +2317,7 @@ void sub_8129BF8(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE;
gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy;
StringExpandPlaceholders(gStringVar4, gText_StopPuttingAwayDecorations);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1F0);
+ DisplayItemMessageOnField(taskId, gStringVar4, StopPuttingAwayDecorationsPrompt);
}
void sub_8129C74(u8 taskId)
@@ -2328,7 +2329,7 @@ void sub_8129C74(u8 taskId)
if (sCurDecorSelectedInRearrangement != 0)
{
StringExpandPlaceholders(gStringVar4, gText_ReturnDecorationToPC);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1A0);
+ DisplayItemMessageOnField(taskId, gStringVar4, ReturnDecorationPrompt);
}
else
{
@@ -2339,20 +2340,20 @@ void sub_8129C74(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE;
gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy;
StringExpandPlaceholders(gStringVar4, gText_StopPuttingAwayDecorations);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1F0);
+ DisplayItemMessageOnField(taskId, gStringVar4, StopPuttingAwayDecorationsPrompt);
}
else
{
StringExpandPlaceholders(gStringVar4, gText_NoDecorationHere);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
+ DisplayItemMessageOnField(taskId, gStringVar4, ContinuePuttingAwayDecorationsPrompt);
}
}
}
-void sub_8129D64(u8 taskId)
+void ContinuePuttingAwayDecorationsPrompt(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
- sub_8129B34(taskId);
+ ContinuePuttingAwayDecorations(taskId);
}
void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data)
@@ -2542,26 +2543,26 @@ void sub_812A0E8(u8 taskId)
}
}
-void sub_812A1A0(u8 taskId)
+void ReturnDecorationPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A7348);
+ DoYesNoFuncWithChoice(taskId, &sReturnDecorationYesNoFunctions);
}
-void sub_812A1C0(u8 taskId)
+void PutAwayDecoration(u8 taskId)
{
FadeScreen(1, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_81298EC;
}
-void sub_812A1F0(u8 taskId)
+void StopPuttingAwayDecorationsPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A7350);
+ DoYesNoFuncWithChoice(taskId, &sStopPuttingAwayDecorationsYesNoFunctions);
}
-void sub_812A210(u8 taskId)
+void StopPuttingAwayDecorations(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
sub_812A22C(taskId);
@@ -2604,7 +2605,7 @@ void sub_812A2C4(u8 taskId)
data[2]++;
break;
case 1:
- ScriptContext1_SetupScript(EventScript_275D0C);
+ ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations);
data[2]++;
break;
case 2:
@@ -2658,7 +2659,7 @@ void sub_812A3D4(u8 taskId)
{
StringCopy(gStringVar1, gDecorations[gCurDecorationItems[gCurDecorationIndex]].name);
StringExpandPlaceholders(gStringVar4, gText_DecorationWillBeDiscarded);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A458);
+ DisplayItemMessageOnField(taskId, gStringVar4, TossDecorationPrompt);
}
else
{
@@ -2667,13 +2668,13 @@ void sub_812A3D4(u8 taskId)
}
}
-void sub_812A458(u8 taskId)
+void TossDecorationPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A741C);
+ DoYesNoFuncWithChoice(taskId, &sTossDecorationYesNoFunctions);
}
-void sub_812A478(u8 taskId)
+void TossDecoration(u8 taskId)
{
gCurDecorationItems[gCurDecorationIndex] = DECOR_NONE;
sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory);
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index ace0ff5be..f3f9be530 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -355,7 +355,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position
{
gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId;
if (TrySetCurSecretBase())
- return EventScript_2759F1;
+ return SecretBase_EventScript_CheckEntrance;
}
return NULL;
}
diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c
index c68a95d41..591f61eb7 100644
--- a/src/fldeff_misc.c
+++ b/src/fldeff_misc.c
@@ -583,7 +583,7 @@ bool8 SetUpFieldMove_SecretPower(void)
static void FieldCallback_SecretBaseCave(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(EventScript_275A86);
+ ScriptContext1_SetupScript(SecretBase_EventScript_CaveUseSecretPower);
}
bool8 FldEff_UseSecretPowerCave(void)
@@ -643,7 +643,7 @@ static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite)
static void FieldCallback_SecretBaseTree(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(EventScript_275ADF);
+ ScriptContext1_SetupScript(SecretBase_EventScript_TreeUseSecretPower);
}
bool8 FldEff_UseSecretPowerTree(void)
@@ -717,7 +717,7 @@ static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite)
static void FieldCallback_SecretBaseShrub(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(EventScript_275B38);
+ ScriptContext1_SetupScript(SecretBase_EventScript_ShrubUseSecretPower);
}
bool8 FldEff_UseSecretPowerShrub(void)
diff --git a/src/secret_base.c b/src/secret_base.c
index 4422ad171..ad9cceb47 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -650,7 +650,7 @@ void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEven
{
SetCurSecretBaseIdFromPosition(position, events);
TrySetCurSecretBaseIndex();
- ScriptContext1_SetupScript(EventScript_275BB7);
+ ScriptContext1_SetupScript(SecretBase_EventScript_Enter);
}
bool8 TrySetCurSecretBase(void)
@@ -1094,25 +1094,25 @@ const u8 *GetSecretBaseTrainerLoseText(void)
{
u8 ownerType = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE));
if (ownerType == 0)
- return SecretBase_RedCave1_Text_274966;
+ return SecretBase_Text_Trainer0Defeated;
else if (ownerType == 1)
- return SecretBase_RedCave1_Text_274D13;
+ return SecretBase_Text_Trainer1Defeated;
else if (ownerType == 2)
- return SecretBase_RedCave1_Text_274FFE;
+ return SecretBase_Text_Trainer2Defeated;
else if (ownerType == 3)
- return SecretBase_RedCave1_Text_275367;
+ return SecretBase_Text_Trainer3Defeated;
else if (ownerType == 4)
- return SecretBase_RedCave1_Text_2756C7;
+ return SecretBase_Text_Trainer4Defeated;
else if (ownerType == 5)
- return SecretBase_RedCave1_Text_274B24;
+ return SecretBase_Text_Trainer5Defeated;
else if (ownerType == 6)
- return SecretBase_RedCave1_Text_274E75;
+ return SecretBase_Text_Trainer6Defeated;
else if (ownerType == 7)
- return SecretBase_RedCave1_Text_2751E1;
+ return SecretBase_Text_Trainer7Defeated;
else if (ownerType == 8)
- return SecretBase_RedCave1_Text_2754F6;
+ return SecretBase_Text_Trainer8Defeated;
else
- return SecretBase_RedCave1_Text_2758CC;
+ return SecretBase_Text_Trainer9Defeated;
}
void PrepSecretBaseBattleFlags(void)
@@ -1122,12 +1122,12 @@ void PrepSecretBaseBattleFlags(void)
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE;
}
-void sub_80EA30C(void)
+void SetBattledOwnerFromResult(void)
{
gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result;
}
-void GetSecretBaseOwnerInteractionState(void)
+void GetSecretBaseOwnerAndState(void)
{
u16 secretBaseId;
u8 i;
@@ -1719,7 +1719,7 @@ void ClearJapaneseSecretBases(struct SecretBase *bases)
}
}
-void sub_80EB1AC(void)
+void InitSecretBaseVars(void)
{
VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0);
VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0);