This repository has been archived by the owner on Aug 26, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
mansion2.asm
140 lines (123 loc) · 2.55 KB
/
mansion2.asm
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
Mansion2Script:
call Mansion2Script_51fee
call EnableAutoTextBoxDrawing
ld hl, Mansion2TrainerHeader0
ld de, Mansion2ScriptPointers
ld a, [wMansion2CurScript]
call ExecuteCurMapScriptInTable
ld [wMansion2CurScript], a
ret
Mansion2Script_51fee:
ld hl, wCurrentMapScriptFlags
bit 5, [hl]
res 5, [hl]
ret z
CheckEvent EVENT_MANSION_SWITCH_ON
jr nz, .asm_52016
ld a, $e
lb bc, 2, 4
call Mansion2Script_5202f
ld a, $54
lb bc, 4, 9
call Mansion2Script_5202f
ld a, $5f
lb bc, 11, 3
call Mansion2Script_5202f
ret
.asm_52016
ld a, $5f
lb bc, 2, 4
call Mansion2Script_5202f
ld a, $e
lb bc, 4, 9
call Mansion2Script_5202f
ld a, $e
lb bc, 11, 3
call Mansion2Script_5202f
ret
Mansion2Script_5202f:
ld [wNewTileBlockID], a
predef_jump ReplaceTileBlock
Mansion2Script_Switches:
ld a, [wSpriteStateData1 + 9]
cp SPRITE_FACING_UP
ret nz
xor a
ld [hJoyHeld], a
ld a, $5
ld [hSpriteIndexOrTextID], a
jp DisplayTextID
Mansion2ScriptPointers:
dw CheckFightingMapTrainers
dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle
Mansion2TextPointers:
dw Mansion2Text1
dw PickUpItemText
dw Mansion2Text3
dw Mansion2Text4
dw Mansion2Text5
Mansion2TrainerHeader0:
dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0
db ($0 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0
dw Mansion2BattleText1 ; TextBeforeBattle
dw Mansion2AfterBattleText1 ; TextAfterBattle
dw Mansion2EndBattleText1 ; TextEndBattle
dw Mansion2EndBattleText1 ; TextEndBattle
db $ff
Mansion2Text1:
TX_ASM
ld hl, Mansion2TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
Mansion2BattleText1:
TX_FAR _Mansion2BattleText1
db "@"
Mansion2EndBattleText1:
TX_FAR _Mansion2EndBattleText1
db "@"
Mansion2AfterBattleText1:
TX_FAR _Mansion2AfterBattleText1
db "@"
Mansion2Text3:
TX_FAR _Mansion2Text3
db "@"
Mansion2Text4:
TX_FAR _Mansion2Text4
db "@"
Mansion3Text6:
Mansion2Text5:
TX_ASM
ld hl, Mansion2Text_520c2
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .asm_520b9
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
ld hl, wCurrentMapScriptFlags
set 5, [hl]
ld hl, Mansion2Text_520c7
call PrintText
ld a, SFX_GO_INSIDE
call PlaySound
CheckAndSetEvent EVENT_MANSION_SWITCH_ON
jr z, .asm_520bf
ResetEventReuseHL EVENT_MANSION_SWITCH_ON
jr .asm_520bf
.asm_520b9
ld hl, Mansion2Text_520cc
call PrintText
.asm_520bf
jp TextScriptEnd
Mansion2Text_520c2:
TX_FAR _Mansion2Text_520c2
db "@"
Mansion2Text_520c7:
TX_FAR _Mansion2Text_520c7
db "@"
Mansion2Text_520cc:
TX_FAR _Mansion2Text_520cc
db "@"