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
|
FruitTreeScript::
callasm GetCurTreeFruit
opentext
copybytetovar wCurFruit
itemtotext USE_SCRIPT_VAR, MEM_BUFFER_0
writetext FruitBearingTreeText
buttonsound
callasm TryResetFruitTrees
callasm CheckFruitTree
iffalse .fruit
writetext NothingHereText
waitbutton
jump .end
.fruit
writetext HeyItsFruitText
copybytetovar wCurFruit
giveitem ITEM_FROM_MEM
iffalse .packisfull
buttonsound
writetext ObtainedFruitText
callasm PickedFruitTree
specialsound
itemnotify
jump .end
.packisfull
buttonsound
writetext FruitPackIsFullText
waitbutton
.end
closetext
end
GetCurTreeFruit:
ld a, [wCurFruitTree]
dec a
call GetFruitTreeItem
ld [wCurFruit], a
ret
TryResetFruitTrees:
ld hl, wDailyFlags
bit DAILYFLAGS_ALL_FRUIT_TREES_F, [hl]
ret nz
jp ResetFruitTrees
CheckFruitTree:
ld b, 2
call GetFruitTreeFlag
ld a, c
ld [wScriptVar], a
ret
PickedFruitTree:
farcall StubbedTrainerRankings_FruitPicked
ld b, 1
jp GetFruitTreeFlag
ResetFruitTrees:
xor a
ld hl, wFruitTreeFlags
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
ld hl, wDailyFlags
set DAILYFLAGS_ALL_FRUIT_TREES_F, [hl]
ret
GetFruitTreeFlag:
push hl
push de
ld a, [wCurFruitTree]
dec a
ld e, a
ld d, 0
ld hl, wFruitTreeFlags
call FlagAction
pop de
pop hl
ret
GetFruitTreeItem:
push hl
push de
ld e, a
ld d, 0
ld hl, FruitTreeItems
add hl, de
ld a, [hl]
pop de
pop hl
ret
INCLUDE "data/items/fruit_trees.asm"
FruitBearingTreeText:
text_jump _FruitBearingTreeText
db "@"
HeyItsFruitText:
text_jump _HeyItsFruitText
db "@"
ObtainedFruitText:
text_jump _ObtainedFruitText
db "@"
FruitPackIsFullText:
text_jump _FruitPackIsFullText
db "@"
NothingHereText:
text_jump _NothingHereText
db "@"
|