aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/BillsHouse_2.asm
blob: b8c7997d2ed275594a2da9bbdcd1893a798cb233 (plain) (blame)
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
BillsHousePrintBillPokemonText::
	ld hl, .ImNotAPokemonText
	call PrintText
	call YesNoChoice
	ld a, [wCurrentMenuItem]
	and a
	jr nz, .answered_no
.use_machine
	ld hl, .UseSeparationSystemText
	call PrintText
	ld a, SCRIPT_BILLSHOUSE_SCRIPT2
	ld [wBillsHouseCurScript], a
	ret
.answered_no
	ld hl, .NoYouGottaHelpText
	call PrintText
	jr .use_machine

.ImNotAPokemonText:
	text_far _BillsHouseBillImNotAPokemonText
	text_end

.UseSeparationSystemText:
	text_far _BillsHouseBillUseSeparationSystemText
	text_end

.NoYouGottaHelpText:
	text_far _BillsHouseBillNoYouGottaHelpText
	text_end

BillsHousePrintBillSSTicketText::
	CheckEvent EVENT_GOT_SS_TICKET
	jr nz, .got_ss_ticket
	ld hl, .ThankYouText
	call PrintText
	lb bc, S_S_TICKET, 1
	call GiveItem
	jr nc, .bag_full
	ld hl, .SSTicketReceivedText
	call PrintText
	SetEvent EVENT_GOT_SS_TICKET
	ld a, TOGGLE_CERULEAN_GUARD_1
	ld [wToggleableObjectIndex], a
	predef ShowObject
	ld a, TOGGLE_CERULEAN_GUARD_2
	ld [wToggleableObjectIndex], a
	predef HideObject
.got_ss_ticket
	ld hl, .WhyDontYouGoInsteadOfMeText
	call PrintText
	ret
.bag_full
	ld hl, .SSTicketNoRoomText
	call PrintText
	ret

.ThankYouText:
	text_far _BillsHouseBillThankYouText
	text_end

.SSTicketReceivedText:
	text_far _SSTicketReceivedText
	sound_get_key_item
	text_promptbutton
	text_end

.SSTicketNoRoomText:
	text_far _SSTicketNoRoomText
	text_end

.WhyDontYouGoInsteadOfMeText:
	text_far _BillsHouseBillWhyDontYouGoInsteadOfMeText
	text_end

BillsHousePrintBillCheckOutMyRarePokemonText::
	ld hl, .text
	call PrintText
	ret

.text
	text_far _BillsHouseBillCheckOutMyRarePokemonText
	text_end

BillsHouse_CheckPikachuEmotion::
	ld a, [wCurMap]
	cp BILLS_HOUSE
	jr nz, .noEmotion
	call CheckPikachuFollowingPlayer
	jr z, .noEmotion
	ld a, [wBillsHouseCurScript]
	cp SCRIPT_BILLSHOUSE_SCRIPT5
	ldpikaemotion e, PikachuEmotion27
	ret z
	cp SCRIPT_BILLSHOUSE_SCRIPT0
	ldpikaemotion e, PikachuEmotion23
	ret z
	CheckEventHL EVENT_MET_BILL_2
	ldpikaemotion e, PikachuEmotion32
	ret z
	ldpikaemotion e, PikachuEmotion31
	ret

.noEmotion
	ld e, $ff
	ret

BillsHousePikachuConfused::
	ld a, PAD_BUTTONS | PAD_CTRL_PAD
	ld [wJoyIgnore], a
	xor a
	ld [wPlayerMovingDirection], a
	call UpdateSprites
	call UpdateSprites
	ld hl, PikachuMovement_Confused
	call ApplyPikachuMovementData
	ld a, $f ; pikachu
	ld [wEmotionBubbleSpriteIndex], a
	ld a, QUESTION_BUBBLE
	ld [wWhichEmotionBubble], a
	predef EmotionBubble
	call DisablePikachuFollowingPlayer
	callfar InitializePikachuTextID
	ret

PikachuMovement_Confused:
	db PIKAMOVEMENT_DELAY
	db PIKAMOVEMENT_STEP_RIGHT
	db PIKAMOVEMENT_STEP_RIGHT
	db PIKAMOVEMENT_STEP_RIGHT
	db PIKAMOVEMENT_STEP_UP
	db PIKAMOVEMENT_END

BillsHousePikachuWatchPlayer::
	ld hl, PikachuMovement_WatchPlayer1
	ld b, SPRITE_FACING_UP
	call TryApplyPikachuMovementData
	ld hl, PikachuMovement_WatchPlayer2
	ld b, SPRITE_FACING_RIGHT
	call TryApplyPikachuMovementData
	ret

PikachuMovement_WatchPlayer1:
	db PIKAMOVEMENT_DELAY
	db PIKAMOVEMENT_STEP_LEFT
	db PIKAMOVEMENT_STEP_DOWN
	db PIKAMOVEMENT_LOOK_RIGHT
	db PIKAMOVEMENT_END

PikachuMovement_WatchPlayer2:
	db PIKAMOVEMENT_DELAY
	db PIKAMOVEMENT_STEP_UP
	db PIKAMOVEMENT_STEP_LEFT
	db PIKAMOVEMENT_STEP_LEFT
	db PIKAMOVEMENT_STEP_DOWN
	db PIKAMOVEMENT_LOOK_RIGHT
	db PIKAMOVEMENT_END