diff options
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); |