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
|
VictoryRoad3F_Script:
call VictoryRoad3FCheckBoulderEventScript
call EnableAutoTextBoxDrawing
ld hl, VictoryRoad3TrainerHeaders
ld de, VictoryRoad3F_ScriptPointers
ld a, [wVictoryRoad3FCurScript]
call ExecuteCurMapScriptInTable
ld [wVictoryRoad3FCurScript], a
ret
VictoryRoad3FCheckBoulderEventScript:
ld hl, wCurrentMapScriptFlags
bit BIT_CUR_MAP_LOADED_1, [hl]
res BIT_CUR_MAP_LOADED_1, [hl]
ret z
CheckEventHL EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1
ret z
ld a, $1d
ld [wNewTileBlockID], a
lb bc, 5, 3
predef_jump ReplaceTileBlock
VictoryRoad3F_ScriptPointers:
def_script_pointers
dw_const VictoryRoad3FDefaultScript, SCRIPT_VICTORYROAD3F_DEFAULT
dw_const DisplayEnemyTrainerTextAndStartBattle, SCRIPT_VICTORYROAD3F_START_BATTLE
dw_const EndTrainerBattle, SCRIPT_VICTORYROAD3F_END_BATTLE
VictoryRoad3FDefaultScript:
ld hl, wMiscFlags
bit BIT_PUSHED_BOULDER, [hl]
res BIT_PUSHED_BOULDER, [hl]
jp z, .check_switch_hole
ld hl, .SwitchOrHoleCoords
call CheckBoulderCoords
jp nc, .check_switch_hole
ld a, [wCoordIndex]
cp $1
jr nz, .handle_hole
ld hl, wCurrentMapScriptFlags
set BIT_CUR_MAP_LOADED_1, [hl]
SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1
ret
.handle_hole
CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
jr nz, .check_switch_hole
ld a, TOGGLE_VICTORY_ROAD_3F_BOULDER
ld [wToggleableObjectIndex], a
predef HideObject
ld a, TOGGLE_VICTORY_ROAD_2F_BOULDER
ld [wToggleableObjectIndex], a
predef_jump ShowObject
.SwitchOrHoleCoords:
dbmapcoord 3, 5 ; switch
dbmapcoord 23, 15 ; hole
db -1 ; end
.check_switch_hole
ld a, VICTORY_ROAD_2F
ld [wDungeonWarpDestinationMap], a
ld hl, .SwitchOrHoleCoords
call IsPlayerOnDungeonWarp
ld a, [wCoordIndex]
cp $1
jr nz, .hole
ld hl, wStatusFlags3
res BIT_ON_DUNGEON_WARP, [hl]
ld hl, wStatusFlags6
res BIT_DUNGEON_WARP, [hl]
ret
.hole
ld a, [wStatusFlags3]
bit BIT_ON_DUNGEON_WARP, a
jp z, CheckFightingMapTrainers
ret
VictoryRoad3F_TextPointers:
def_text_pointers
dw_const VictoryRoad3FCooltrainerM1Text, TEXT_VICTORYROAD3F_COOLTRAINER_M1
dw_const VictoryRoad3FCooltrainerF1Text, TEXT_VICTORYROAD3F_COOLTRAINER_F1
dw_const VictoryRoad3FCooltrainerM2Text, TEXT_VICTORYROAD3F_COOLTRAINER_M2
dw_const VictoryRoad3FCooltrainerF2Text, TEXT_VICTORYROAD3F_COOLTRAINER_F2
dw_const PickUpItemText, TEXT_VICTORYROAD3F_MAX_REVIVE
dw_const PickUpItemText, TEXT_VICTORYROAD3F_TM_EXPLOSION
dw_const BoulderText, TEXT_VICTORYROAD3F_BOULDER1
dw_const BoulderText, TEXT_VICTORYROAD3F_BOULDER2
dw_const BoulderText, TEXT_VICTORYROAD3F_BOULDER3
dw_const BoulderText, TEXT_VICTORYROAD3F_BOULDER4
VictoryRoad3TrainerHeaders:
def_trainers
VictoryRoad3TrainerHeader0:
trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0, 1, VictoryRoad3FCooltrainerM1BattleText, VictoryRoad3FCooltrainerM1EndBattleText, VictoryRoad3FCooltrainerM1AfterBattleText
VictoryRoad3TrainerHeader1:
trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1, 4, VictoryRoad3FCooltrainerF1BattleText, VictoryRoad3FCooltrainerF1EndBattleText, VictoryRoad3FCooltrainerF1AfterBattleText
VictoryRoad3TrainerHeader2:
trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2, 4, VictoryRoad3FCooltrainerM2BattleText, VictoryRoad3FCooltrainerM2EndBattleText, VictoryRoad3FCooltrainerM2AfterBattleText
VictoryRoad3TrainerHeader3:
trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3, 4, VictoryRoad3FCooltrainerF2BattleText, VictoryRoad3FCooltrainerF2EndBattleText, VictoryRoad3FCooltrainerF2AfterBattleText
db -1 ; end
VictoryRoad3FCooltrainerM1Text:
text_asm
ld hl, VictoryRoad3TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
VictoryRoad3FCooltrainerF1Text:
text_asm
ld hl, VictoryRoad3TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
VictoryRoad3FCooltrainerM2Text:
text_asm
ld hl, VictoryRoad3TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
VictoryRoad3FCooltrainerF2Text:
text_asm
ld hl, VictoryRoad3TrainerHeader3
call TalkToTrainer
jp TextScriptEnd
VictoryRoad3FCooltrainerM1BattleText:
text_far _VictoryRoad3FCooltrainerM1BattleText
text_end
VictoryRoad3FCooltrainerM1EndBattleText:
text_far _VictoryRoad3FCooltrainerM1EndBattleText
text_end
VictoryRoad3FCooltrainerM1AfterBattleText:
text_far _VictoryRoad3FCooltrainerM1AfterBattleText
text_end
VictoryRoad3FCooltrainerF1BattleText:
text_far _VictoryRoad3FCooltrainerF1BattleText
text_end
VictoryRoad3FCooltrainerF1EndBattleText:
text_far _VictoryRoad3FCooltrainerF1EndBattleText
text_end
VictoryRoad3FCooltrainerF1AfterBattleText:
text_far _VictoryRoad3FCooltrainerF1AfterBattleText
text_end
VictoryRoad3FCooltrainerM2BattleText:
text_far _VictoryRoad3FCooltrainerM2BattleText
text_end
VictoryRoad3FCooltrainerM2EndBattleText:
text_far _VictoryRoad3FCooltrainerM2EndBattleText
text_end
VictoryRoad3FCooltrainerM2AfterBattleText:
text_far _VictoryRoad3FCooltrainerM2AfterBattleText
text_end
VictoryRoad3FCooltrainerF2BattleText:
text_far _VictoryRoad3FCooltrainerF2BattleText
text_end
VictoryRoad3FCooltrainerF2EndBattleText:
text_far _VictoryRoad3FCooltrainerF2EndBattleText
text_end
VictoryRoad3FCooltrainerF2AfterBattleText:
text_far _VictoryRoad3FCooltrainerF2AfterBattleText
text_end
|