pokecrystal-board/engine/fruit_trees.asm

166 lines
2.5 KiB
NASM

FruitTreeScript: ; 44000
3callasm BANK(GetCurTreeFruit), GetCurTreeFruit
loadfont
copybytetovar CurFruit
itemtotext $0, $0
2writetext FruitBearingTreeText
keeptextopen
3callasm BANK(TryResetFruitTrees), TryResetFruitTrees
3callasm BANK(CheckFruitTree), CheckFruitTree
iffalse .fruit
2writetext NothingHereText
closetext
2jump .end
.fruit
2writetext HeyItsFruitText
copybytetovar CurFruit
giveitem $ff, 1
iffalse .packisfull
keeptextopen
2writetext ObtainedFruitText
3callasm BANK(PickedFruitTree), 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
ld a, $41
ld hl, $609b
rst FarCall ; 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, BANK(_FruitBearingTreeText)
db "@"
; 440ba
HeyItsFruitText: ; 440ba
text_jump _HeyItsFruitText, BANK(_HeyItsFruitText)
db "@"
; 440bf
ObtainedFruitText: ; 440bf
text_jump _ObtainedFruitText, BANK(_ObtainedFruitText)
db "@"
; 440c4
FruitPackIsFullText: ; 440c4
text_jump _FruitPackIsFullText, BANK(_FruitPackIsFullText)
db "@"
; 440c9
NothingHereText: ; 440c9
text_jump _NothingHereText, BANK(_NothingHereText)
db "@"
; 440ce