1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
SecretBase_MapScripts::
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_OnWarp
map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_OnFrame
map_script MAP_SCRIPT_ON_RESUME, SecretBase_OnResume
.byte 0
SecretBase_OnWarp:
map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, SecretBase_EventScript_InitDecorations
.2byte 0
SecretBase_OnTransition:
call SecretBase_EventScript_SetDecorationFlags
special SetSecretBaseOwnerGfxId
special InitSecretBaseVars
end
SecretBase_OnFrame:
map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_EventScript_FirstEntrance
.2byte 0
SecretBase_OnResume:
setstepcallback STEP_CB_SECRET_BASE
end
SecretBase_EventScript_PC::
lockall
playse SE_PC_LOGIN
message SecretBase_Text_BootUpPC
dofieldeffect FLDEFF_PCTURN_ON
waitstate
waitmessage
waitbuttonpress
playse SE_SELECT
goto SecretBase_EventScript_PCShowMainMenu
end
SecretBase_EventScript_PCShowMainMenu::
message SecretBase_Text_WhatWouldYouLikeToDo
waitmessage
goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, SecretBase_EventScript_PCMainMenuWithRegister
goto SecretBase_EventScript_PCMainMenuWithoutRegister
end
SecretBase_EventScript_PCCancel::
lockall
goto SecretBase_EventScript_PCShowMainMenu
end
SecretBase_EventScript_PCMainMenuWithRegister::
multichoice 0, 0, MULTI_BASE_PC_WITH_REGISTRY, FALSE
switch VAR_RESULT
case 0, SecretBase_EventScript_PCDecorationMenu
case 1, SecretBase_EventScript_PCPackUp
case 2, SecretBase_EventScript_PCRegistryMenu
case 3, SecretBase_EventScript_PCTurnOff
case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
end
SecretBase_EventScript_PCMainMenuWithoutRegister::
multichoice 0, 0, MULTI_BASE_PC_NO_REGISTRY, FALSE
switch VAR_RESULT
case 0, SecretBase_EventScript_PCDecorationMenu
case 1, SecretBase_EventScript_PCPackUp
case 2, SecretBase_EventScript_PCTurnOff
case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
end
SecretBase_EventScript_PCPackUp::
msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_PCShowMainMenu
closemessage
special MoveOutOfSecretBase
releaseall
end
SecretBase_EventScript_PCDecorationMenu::
special ShowSecretBaseDecorationMenu
end
SecretBase_EventScript_PCRegistryMenu::
special ShowSecretBaseRegistryMenu
end
SecretBase_EventScript_RecordMixingPC::
lockall
message SecretBase_Text_BootUpPC
playse SE_PC_LOGIN
dofieldeffect FLDEFF_PCTURN_ON
waitstate
waitmessage
waitbuttonpress
playse SE_SELECT
goto SecretBase_EventScript_PCRegisterMenu
end
SecretBase_EventScript_PCRegisterMenu::
message SecretBase_Text_WhatWouldYouLikeToDo
waitmessage
multichoice 0, 0, MULTI_REGISTER_MENU, FALSE
switch VAR_RESULT
case 0, SecretBase_EventScript_PCRegister
case 1, SecretBase_EventScript_PCRegistryMenu
case 2, SecretBase_EventScript_PCRegistryInfo
case 3, SecretBase_EventScript_PCTurnOff
case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
end
SecretBase_EventScript_ShowRegisterMenu::
lockall
goto SecretBase_EventScript_PCRegisterMenu
end
SecretBase_EventScript_PCRegister::
special GetCurSecretBaseRegistrationValidity
goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_AlreadyRegistered
goto_if_eq VAR_RESULT, 2, SecretBase_EventScript_CantRegisterTooManyBases
special CopyCurSecretBaseOwnerName_StrVar1
msgbox SecretBase_Text_WantToRegisterSecretBase, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_PCRegisterMenu
msgbox SecretBase_Text_RegistrationCompleted, MSGBOX_SIGN
special ToggleCurSecretBaseRegistry
special DoSecretBasePCTurnOffEffect
releaseall
end
SecretBase_EventScript_AlreadyRegistered::
msgbox SecretBase_Text_AlreadyRegisteredDelete, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_PCRegisterMenu
msgbox SecretBase_Text_DataUnregistered, MSGBOX_SIGN
special ToggleCurSecretBaseRegistry
special DoSecretBasePCTurnOffEffect
releaseall
end
SecretBase_EventScript_CantRegisterTooManyBases::
msgbox SecretBase_Text_TooManyBasesDeleteSome, MSGBOX_SIGN
special DoSecretBasePCTurnOffEffect
closemessage
releaseall
end
SecretBase_EventScript_PCRegistryInfo::
msgbox SecretBase_Text_RegistryInfo, MSGBOX_DEFAULT
goto SecretBase_EventScript_PCRegisterMenu
end
SecretBase_EventScript_PCTurnOff::
special DoSecretBasePCTurnOffEffect
closemessage
releaseall
end
@ Unused
SecretBase_EventScript_Poster::
special CheckInteractedWithFriendsPosterDecor
end
@ Unused
SecretBase_EventScript_FurnitureBottom::
special CheckInteractedWithFriendsFurnitureBottom
end
@ Unused
SecretBase_EventScript_FurnitureMiddle::
special CheckInteractedWithFriendsFurnitureMiddle
end
@ Unused
SecretBase_EventScript_FurnitureTop::
special CheckInteractedWithFriendsFurnitureTop
end
SecretBase_EventScript_SandOrnament::
special CheckInteractedWithFriendsSandOrnament
dofieldeffect FLDEFF_SAND_PILLAR
waitstate
end
SecretBase_EventScript_ShieldOrToyTV::
special InteractWithShieldOrTVDecoration
goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_BattleTowerShield
goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_ToyTV
goto_if_eq VAR_RESULT, 2, SecretBase_EventScript_SeedotTV
goto_if_eq VAR_RESULT, 3, SecretBase_EventScript_SkittyTV
end
SecretBase_EventScript_BattleTowerShield::
msgbox SecretBase_Text_BattleTowerShield, MSGBOX_SIGN
end
SecretBase_EventScript_ToyTV::
msgbox SecretBase_Text_ToyTV, MSGBOX_SIGN
end
SecretBase_EventScript_SeedotTV::
msgbox SecretBase_Text_SeedotTV, MSGBOX_SIGN
end
SecretBase_EventScript_SkittyTV::
msgbox SecretBase_Text_SkittyTV, MSGBOX_SIGN
end
SecretBase_Text_SmallIndentInWall::
.string "There's a small indent in the wall.$"
SecretBase_Text_IndentUseSecretPower::
.string "There's a small indent in the wall.\p"
.string "Use the SECRET POWER?$"
SecretBase_Text_DiscoveredSmallCavern::
.string "Discovered a small cavern!$"
SecretBase_Text_WantToMakeYourSecretBaseHere:
.string "Want to make your SECRET BASE here?$"
|