document remainder of secret_base scripts, delete unneeded scripts.incs

This commit is contained in:
GriffinR
2019-09-06 02:12:00 -04:00
parent 8c6b5648d4
commit 9fbcd552de
40 changed files with 1270 additions and 1328 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -1 +0,0 @@
SecretBase_BlueCave1_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_BlueCave2_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_BlueCave3_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_BlueCave4_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_BrownCave1_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_BrownCave2_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_BrownCave3_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_BrownCave4_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_RedCave1_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_RedCave2_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_RedCave3_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_RedCave4_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Shrub1_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Shrub2_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Shrub3_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Shrub4_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Tree1_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Tree2_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Tree3_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_Tree4_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_YellowCave1_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_YellowCave2_MapScripts:: @ 823B483

View File

@@ -1 +0,0 @@
SecretBase_YellowCave3_MapScripts:: @ 823B483

View File

@@ -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

View File

@@ -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

View File

@@ -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?$"

File diff suppressed because it is too large Load Diff

View File

@@ -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?$"

View File

@@ -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

View File

@@ -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?$"

View File

@@ -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

View File

@@ -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[];

View File

@@ -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];

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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)

View File

@@ -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);