summaryrefslogtreecommitdiff
path: root/engine/fruit_trees.asm
blob: 202f077e659f4f8e969648f92220b736c8c1d77c (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
FruitTreeScript:: ; 44000
	3callasm GetCurTreeFruit
	loadfont
	copybytetovar CurFruit
	itemtotext $0, $0
	2writetext FruitBearingTreeText
	keeptextopen
	3callasm TryResetFruitTrees
	3callasm CheckFruitTree
	iffalse .fruit
	2writetext NothingHereText
	closetext
	2jump .end

.fruit
	2writetext HeyItsFruitText
	copybytetovar CurFruit
	giveitem $ff, 1
	iffalse .packisfull
	keeptextopen
	2writetext ObtainedFruitText
	3callasm PickedFruitTree
	specialsound
	itemnotify
	2jump .end

.packisfull
	keeptextopen
	2writetext FruitPackIsFullText
	closetext

.end
	loadmovesprites
	end
; 44041

GetCurTreeFruit: ; 44041
	ld a, [CurFruitTree]
	dec a
	call GetFruitTreeItem
	ld [CurFruit], a
	ret
; 4404c

TryResetFruitTrees: ; 4404c
	ld hl, $dc1e
	bit 4, [hl]
	ret nz
	jp ResetFruitTrees
; 44055

CheckFruitTree: ; 44055
	ld b, 2
	call GetFruitTreeFlag
	ld a, c
	ld [ScriptVar], a
	ret
; 4405f

PickedFruitTree: ; 4405f
	callba Function10609b ; empty function
	ld b, 1
	jp GetFruitTreeFlag
; 4406a

ResetFruitTrees: ; 4406a
	xor a
	ld hl, FruitTreeFlags
	ld [hli], a
	ld [hli], a
	ld [hli], a
	ld [hl], a
	ld hl, $dc1e
	set 4, [hl]
	ret
; 44078

GetFruitTreeFlag: ; 44078
	push hl
	push de
	ld a, [CurFruitTree]
	dec a
	ld e, a
	ld d, 0
	ld hl, FruitTreeFlags
	call FlagAction
	pop de
	pop hl
	ret
; 4408a

GetFruitTreeItem: ; 4408a
	push hl
	push de
	ld e, a
	ld d, 0
	ld hl, FruitTreeItems
	add hl, de
	ld a, [hl]
	pop de
	pop hl
	ret
; 44097

FruitTreeItems: ; 44097
	db BERRY
	db BERRY
	db BERRY
	db BERRY
	db PSNCUREBERRY
	db PSNCUREBERRY
	db BITTER_BERRY
	db BITTER_BERRY
	db PRZCUREBERRY
	db PRZCUREBERRY
	db MYSTERYBERRY
	db MYSTERYBERRY
	db ICE_BERRY
	db ICE_BERRY
	db MINT_BERRY
	db BURNT_BERRY
	db RED_APRICORN
	db BLU_APRICORN
	db BLK_APRICORN
	db WHT_APRICORN
	db PNK_APRICORN
	db GRN_APRICORN
	db YLW_APRICORN
	db BERRY
	db PSNCUREBERRY
	db BITTER_BERRY
	db PRZCUREBERRY
	db ICE_BERRY
	db MINT_BERRY
	db BURNT_BERRY
; 440b5

FruitBearingTreeText: ; 440b5
	text_jump _FruitBearingTreeText
	db "@"
; 440ba

HeyItsFruitText: ; 440ba
	text_jump _HeyItsFruitText
	db "@"
; 440bf

ObtainedFruitText: ; 440bf
	text_jump _ObtainedFruitText
	db "@"
; 440c4

FruitPackIsFullText: ; 440c4
	text_jump _FruitPackIsFullText
	db "@"
; 440c9

NothingHereText: ; 440c9
	text_jump _NothingHereText
	db "@"
; 440ce