summaryrefslogtreecommitdiff
path: root/data/scripts/shared_secret_base.inc
blob: 576e9392114b9db9ec43fe2c2a4758343cceeffc (plain)
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?$"