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
|
LoreleiScript: ; 7617b (1d:617b)
call LoreleiScript_76191
call EnableAutoTextBoxDrawing
ld hl, LoreleiTrainerHeaders
ld de, LoreleiScriptPointers
ld a, [W_LORELEICURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_LORELEICURSCRIPT], a
ret
LoreleiScript_76191: ; 76191 (1d:6191)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld hl, $d734
set 1, [hl]
ld a, [$d863]
bit 1, a
jr z, .asm_761a9
ld a, $5
jr .asm_761ab
.asm_761a9
ld a, $24
.asm_761ab
ld [$d09f], a
ld bc, $2
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
LoreleiScript_761b6: ; 761b6 (1d:61b6)
xor a
ld [W_LORELEICURSCRIPT], a
ret
LoreleiScriptPointers: ; 761bb (1d:61bb)
dw LoreleiScript0
dw Func_324c
dw LoreleiScript2
dw LoreleiScript3
dw LoreleiScript4
LoreleiScript4: ; 761c5 (1d:61c5)
ret
asm_761c6: ; 761c6 (1d:61c6)
ld hl, $ccd3
ld a, $40
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
ld a, $6
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
LoreleiScript0: ; 761e2 (1d:61e2)
ld hl, CoordsData_76223
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [hJoyPressed], a
ld [hJoyHeld], a
ld [$ccd3], a
ld [$cd38], a
ld a, [wWhichTrade] ; $cd3d
cp $3
jr c, .asm_76206
ld hl, $d863
bit 6, [hl]
set 6, [hl]
jr z, asm_761c6
.asm_76206
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld a, $40
ld [$ccd3], a
ld a, $1
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CoordsData_76223: ; 76223 (1d:6223)
db $0A,$04
db $0A,$05
db $0B,$04
db $0B,$05
db $FF
LoreleiScript3: ; 7622c (1d:622c)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
ld [wJoyIgnore], a
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
LoreleiScript2: ; 7623f (1d:623f)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, LoreleiScript_761b6
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
LoreleiTextPointers: ; 76251 (1d:6251)
dw LoreleiText1
dw LoreleiText2
LoreleiTrainerHeaders: ; 76255 (1d:6255)
LoreleiTrainerHeader0: ; 76255 (1d:6255)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d863 ; flag's byte
dw LoreleiBeforeBattleText ; 0x626c TextBeforeBattle
dw LoreleiAfterBattleText ; 0x6276 TextAfterBattle
dw LoreleiEndBattleText ; 0x6271 TextEndBattle
dw LoreleiEndBattleText ; 0x6271 TextEndBattle
db $ff
LoreleiText1: ; 76262 (1d:6262)
db $08 ; asm
ld hl, LoreleiTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
LoreleiBeforeBattleText: ; 7626c (1d:626c)
TX_FAR _LoreleiBeforeBattleText
db "@"
LoreleiEndBattleText: ; 76271 (1d:6271)
TX_FAR _LoreleiEndBattleText
db "@"
LoreleiAfterBattleText: ; 76276 (1d:6276)
TX_FAR _LoreleiAfterBattleText
db "@"
LoreleiText2: ; 7627b (1d:627b)
TX_FAR _LoreleiText2
db "@"
|