summaryrefslogtreecommitdiff
path: root/data/scripts/seagallop.inc
blob: 2367e2dd16f24e553fa984d9233e31620538896a (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
@ Separate selection menus for before the Rainbow Pass is obtained
EventScript_ChooseDestFromOneIsland:: @ 81A8EC5
    compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5
    goto_if_ge EventScript_SeviiDestinationsPage1
    compare VAR_MAP_SCENE_CINNABAR_ISLAND, 4
    goto_if_ge EventScript_ChooseDestFromOneIslandVermilionAllowed
    multichoice 19, 6, MULTICHOICE_ISLAND_23, FALSE
    switch VAR_RESULT
    case 0, EventScript_SailToTwoIsland2
    case 1, EventScript_SailToThreeIsland2
    case 2, EventScript_CancelSail
    case SCR_MENU_CANCEL, EventScript_CancelSail
    end

EventScript_ChooseDestFromOneIslandVermilionAllowed:: @ 81A8F12
    multichoice 19, 5, MULTICHOICE_SEAGALLOP_V23, FALSE
    switch VAR_RESULT
    case 0, EventScript_SailToVermilion2
    case 1, EventScript_SailToTwoIsland2
    case 2, EventScript_SailToThreeIsland2
    case 3, EventScript_CancelSail
    case SCR_MENU_CANCEL, EventScript_CancelSail
    end

EventScript_ChooseDestFromTwoIsland:: @ 81A8F54
    compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5
    goto_if_ge EventScript_SeviiDestinationsPage1
    compare VAR_MAP_SCENE_CINNABAR_ISLAND, 4
    goto_if_ge EventScript_ChooseDestFromTwoIslandVermilionAllowed
    multichoice 19, 6, MULTICHOICE_ISLAND_13, FALSE
    switch VAR_RESULT
    case 0, EventScript_SailToOneIsland2
    case 1, EventScript_SailToThreeIsland2
    case 2, EventScript_CancelSail
    case SCR_MENU_CANCEL, EventScript_CancelSail
    end

EventScript_ChooseDestFromTwoIslandVermilionAllowed:: @ 81A8FA1
    multichoice 19, 5, MULTICHOICE_SEAGALLOP_V13, FALSE
    switch VAR_RESULT
    case 0, EventScript_SailToVermilion2
    case 1, EventScript_SailToOneIsland2
    case 2, EventScript_SailToThreeIsland2
    case 3, EventScript_CancelSail
    case SCR_MENU_CANCEL, EventScript_CancelSail
    end

EventScript_SailToVermilion2:: @ 81A8FE3
    setvar VAR_0x8006, SEAGALLOP_VERMILION_CITY
    goto EventScript_SailToDest
    end

EventScript_SailToOneIsland2:: @ 81A8FEE
    setvar VAR_0x8006, SEAGALLOP_ONE_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToTwoIsland2:: @ 81A8FF9
    setvar VAR_0x8006, SEAGALLOP_TWO_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToThreeIsland2:: @ 81A9004
    setvar VAR_0x8006, SEAGALLOP_THREE_ISLAND
    goto EventScript_SailToDest
    end

EventScript_ChooseDestFromIsland:: @ 81A900F
    compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5
    goto_if_ge EventScript_SeviiDestinationsPage1
    compare VAR_MAP_SCENE_CINNABAR_ISLAND, 4
    goto_if_ge EventScript_ChooseDestFromIslandVermilionAllowed
    multichoice 19, 6, MULTICHOICE_ISLAND_12, FALSE
    switch VAR_RESULT
    case 0, EventScript_SailToOneIsland2
    case 1, EventScript_SailToTwoIsland2
    case 2, EventScript_CancelSail
    case SCR_MENU_CANCEL, EventScript_CancelSail
    end

EventScript_ChooseDestFromIslandVermilionAllowed:: @ 81A905C
    multichoice 19, 5, MULTICHOICE_SEAGALLOP_V12, FALSE
    switch VAR_RESULT
    case 0, EventScript_SailToVermilion2
    case 1, EventScript_SailToOneIsland2
    case 2, EventScript_SailToTwoIsland2
    case 3, EventScript_CancelSail
    case SCR_MENU_CANCEL, EventScript_CancelSail
    end

EventScript_SailToDest:: @ 81A909E
    specialvar VAR_RESULT, GetSeagallopNumber
    getnumberstring 0, VAR_RESULT
    compare VAR_0x8004, SEAGALLOP_VERMILION_CITY
    goto_if_eq EventScript_DepartingVermilion
    compare VAR_0x8004, SEAGALLOP_VERMILION_CITY
    goto_if_ne EventScript_DepartingNotVermilion
    end

EventScript_DepartingVermilion:: @ 81A90BE
    msgbox VermilionCity_Text_Seagallop7Departing
    goto EventScript_SetSail
    end

EventScript_DepartingNotVermilion:: @ 81A90CC
    msgbox Text_AllAboardSeagallopNum
    goto EventScript_SetSail
    end

EventScript_SetSail:: @ 81A90DA
    closemessage
    delay 20
    goto_if_questlog EventScript_ReleaseEnd
    special QuestLog_CutRecording
    fadescreen FADE_TO_BLACK
    special DoSeagallopFerryScene
    waitstate
    end

EventScript_CancelSail:: @ 81A90F6
    specialvar VAR_RESULT, IsPlayerLeftOfVermilionSailor
    compare VAR_RESULT, TRUE
    goto_if_eq VermilionCity_EventScript_WalkUpPier
    release
    end

VermilionCity_EventScript_WalkUpPier:: @ 81A9108
    closemessage
    applymovement LOCALID_FERRY_SAILOR, Movement_FaceOriginalDirection
    applymovement OBJ_EVENT_ID_PLAYER, VermilionCity_Movement_WalkUp
    waitmovement 0
    releaseall
    end

VermilionCity_Movement_WalkUp:: @ 81A911C
    walk_up
    step_end

EventScript_SeviiDestinationsPage1:: @ 81A911E
    setvar VAR_0x8005, 0
    special DrawSeagallopDestinationMenu
    waitstate
    specialvar VAR_0x8006, GetSelectedSeagallopDestination
    switch VAR_0x8006
    case SEAGALLOP_VERMILION_CITY, EventScript_SailToVermilionCity
    case SEAGALLOP_ONE_ISLAND,     EventScript_SailToOneIsland
    case SEAGALLOP_TWO_ISLAND,     EventScript_SailToTwoIsland
    case SEAGALLOP_THREE_ISLAND,   EventScript_SailToThreeIsland
    case SEAGALLOP_FOUR_ISLAND,    EventScript_SailToFourIsland
    case SEAGALLOP_MORE,           EventScript_SeviiDestinationsPage2
    case SCR_MENU_CANCEL,          EventScript_CancelSail
    end

EventScript_SeviiDestinationsPage2:: @ 81A917F
    setvar VAR_0x8005, 1
    special DrawSeagallopDestinationMenu
    waitstate
    specialvar VAR_0x8006, GetSelectedSeagallopDestination
    switch VAR_0x8006
    case SEAGALLOP_FOUR_ISLAND,  EventScript_SailToFourIsland
    case SEAGALLOP_FIVE_ISLAND,  EventScript_SailToFiveIsland
    case SEAGALLOP_SIX_ISLAND,   EventScript_SailToSixIsland
    case SEAGALLOP_SEVEN_ISLAND, EventScript_SailToSevenIsland
    case SEAGALLOP_MORE,         EventScript_SeviiDestinationsPage1
    case SCR_MENU_CANCEL,        EventScript_CancelSail
    end

EventScript_SailToVermilionCity:: @ 81A91D5
    setvar VAR_0x8006, SEAGALLOP_VERMILION_CITY
    goto EventScript_SailToDest
    end

EventScript_SailToOneIsland:: @ 81A91E0
    setvar VAR_0x8006, SEAGALLOP_ONE_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToTwoIsland:: @ 81A91EB
    setvar VAR_0x8006, SEAGALLOP_TWO_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToThreeIsland:: @ 81A91F6
    setvar VAR_0x8006, SEAGALLOP_THREE_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToFourIsland:: @ 81A9201
    setvar VAR_0x8006, SEAGALLOP_FOUR_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToFiveIsland:: @ 81A920C
    setvar VAR_0x8006, SEAGALLOP_FIVE_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToSixIsland:: @ 81A9217
    setvar VAR_0x8006, SEAGALLOP_SIX_ISLAND
    goto EventScript_SailToDest
    end

EventScript_SailToSevenIsland:: @ 81A9222
    setvar VAR_0x8006, SEAGALLOP_SEVEN_ISLAND
    goto EventScript_SailToDest
    end