ref: f2025afdb6b549c7691183b558bf5a6998fd5696
parent: f99e448a73719496e0a690b166ae00ffb936eaa4
author: yenatch <[email protected]>
date: Tue Dec 24 20:42:41 EST 2013
label and move related asm into items/item_effects.asm oops
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -1,3 +1,201 @@
+_DoItemEffect: ; e722
+ ld a, [CurItem]
+ ld [$d265], a
+ call GetItemName
+ call CopyName1
+ ld a, 1
+ ld [$d0ec], a
+ ld a, [CurItem]
+ dec a
+ ld hl, ItemEffects
+ rst JumpTable
+ ret
+; e73c
+
+
+ItemEffects: ; e73c
+ dw MasterBall
+ dw UltraBall
+ dw Brightpowder
+ dw GreatBall
+ dw PokeBall
+ dw Item06
+ dw Bicycle
+ dw MoonStone
+ dw Antidote
+ dw BurnHeal
+ dw IceHeal
+ dw Awakening
+ dw ParlyzHeal
+ dw FullRestore
+ dw MaxPotion
+ dw HyperPotion
+ dw SuperPotion
+ dw Potion
+ dw EscapeRope
+ dw Repel
+ dw MaxElixer
+ dw FireStone
+ dw Thunderstone
+ dw WaterStone
+ dw Item19
+ dw HpUp
+ dw Protein
+ dw Iron
+ dw Carbos
+ dw LuckyPunch
+ dw Calcium
+ dw RareCandy
+ dw XAccuracy
+ dw LeafStone
+ dw MetalPowder
+ dw Nugget
+ dw PokeDoll
+ dw FullHeal
+ dw Revive
+ dw MaxRevive
+ dw GuardSpec
+ dw SuperRepel
+ dw MaxRepel
+ dw DireHit
+ dw Item2D
+ dw FreshWater
+ dw SodaPop
+ dw Lemonade
+ dw XAttack
+ dw Item32
+ dw XDefend
+ dw XSpeed
+ dw XSpecial
+ dw CoinCase
+ dw Itemfinder
+ dw Item38
+ dw ExpShare
+ dw OldRod
+ dw GoodRod
+ dw SilverLeaf
+ dw SuperRod
+ dw PpUp
+ dw Ether
+ dw MaxEther
+ dw Elixer
+ dw RedScale
+ dw Secretpotion
+ dw SSTicket
+ dw MysteryEgg
+ dw ClearBell
+ dw SilverWing
+ dw MoomooMilk
+ dw QuickClaw
+ dw Psncureberry
+ dw GoldLeaf
+ dw SoftSand
+ dw SharpBeak
+ dw Przcureberry
+ dw BurntBerry
+ dw IceBerry
+ dw PoisonBarb
+ dw KingsRock
+ dw BitterBerry
+ dw MintBerry
+ dw RedApricorn
+ dw Tinymushroom
+ dw BigMushroom
+ dw Silverpowder
+ dw BluApricorn
+ dw Item5A
+ dw AmuletCoin
+ dw YlwApricorn
+ dw GrnApricorn
+ dw CleanseTag
+ dw MysticWater
+ dw Twistedspoon
+ dw WhtApricorn
+ dw Blackbelt
+ dw BlkApricorn
+ dw Item64
+ dw PnkApricorn
+ dw Blackglasses
+ dw Slowpoketail
+ dw PinkBow
+ dw Stick
+ dw SmokeBall
+ dw Nevermeltice
+ dw Magnet
+ dw Miracleberry
+ dw Pearl
+ dw BigPearl
+ dw Everstone
+ dw SpellTag
+ dw Ragecandybar
+ dw GsBall
+ dw BlueCard
+ dw MiracleSeed
+ dw ThickClub
+ dw FocusBand
+ dw Item78
+ dw Energypowder
+ dw EnergyRoot
+ dw HealPowder
+ dw RevivalHerb
+ dw HardStone
+ dw LuckyEgg
+ dw CardKey
+ dw MachinePart
+ dw EggTicket
+ dw LostItem
+ dw Stardust
+ dw StarPiece
+ dw BasementKey
+ dw Pass
+ dw Item87
+ dw Item88
+ dw Item89
+ dw Charcoal
+ dw BerryJuice
+ dw ScopeLens
+ dw Item8D
+ dw Item8E
+ dw MetalCoat
+ dw DragonFang
+ dw Item91
+ dw Leftovers
+ dw Item93
+ dw Item94
+ dw Item95
+ dw Mysteryberry
+ dw DragonScale
+ dw BerserkGene
+ dw Item99
+ dw Item9A
+ dw Item9B
+ dw SacredAsh
+ dw HeavyBall
+ dw FlowerMail
+ dw LevelBall
+ dw LureBall
+ dw FastBall
+ dw ItemA2
+ dw LightBall
+ dw FriendBall
+ dw MoonBall
+ dw LoveBall
+ dw NormalBox
+ dw GorgeousBox
+ dw SunStone
+ dw PolkadotBow
+ dw ItemAB
+ dw UpGrade
+ dw Berry
+ dw GoldBerry
+ dw Squirtbottle
+ dw ItemB0
+ dw ParkBall
+ dw RainbowWing
+ dw ItemB3
+; e8a2
+
+
MasterBall:
UltraBall:
GreatBall:
@@ -13,28 +211,28 @@
ld a, [IsInBattle]
dec a
jp nz, Functionf7a0
+
ld a, [PartyCount]
cp 6
jr nz, .asm_e8c0
+
ld a, $1
call GetSRAMBank
-
ld a, [$ad10]
- cp $14
+ cp 20
call CloseSRAM
+ jp z, Ball_BoxIsFullMessage
- jp z, Functionf7dc
-
.asm_e8c0
xor a
ld [$c64e], a
ld a, [CurItem]
- cp $b1
+ cp PARK_BALL
call nz, Functionedfa
ld hl, Options
res 4, [hl]
- ld hl, UnknownText_0xf83d
+ ld hl, UsedItemText
call PrintText
ld a, [EnemyMonCatchRate]
@@ -985,7 +1183,7 @@
jp Functionf795
.asm_ee35
- call Functionf7f2
+ call WontHaveAnyEffectMessage
.asm_ee38
xor a
@@ -1043,7 +1241,7 @@
Functionee83: ; ee83
- ld hl, UnknownText_0xf81f
+ ld hl, WontHaveAnyEffectText
call PrintText
jp ClearPalettes
; ee8c
@@ -1240,7 +1438,7 @@
ld c, $f
callba ChangeHappiness
- call Functionf7d6
+ call LooksBitterMessage
ld a, $0
@@ -1414,7 +1612,7 @@
ld c, $11
callba ChangeHappiness
- call Functionf7d6
+ call LooksBitterMessage
ld a, 0
.asm_f0c5
@@ -1578,7 +1776,7 @@
jr nz, .asm_f1a6
callba ChangeHappiness
- call Functionf7d6
+ call LooksBitterMessage
ld a, 0
.asm_f1a6
@@ -1638,7 +1836,7 @@
cp EGG
jr nz, .asm_f209
- call Functionf7e8
+ call CantUseOnEggMessage
scf
ret
@@ -1715,7 +1913,7 @@
; known jump sources: f133 (3:7133)
Functionf299: ; f299 (3:7299)
- call Functionf7f2
+ call WontHaveAnyEffectMessage
jr Functionf2a2
; known jump sources: efb2 (3:6fb2), efd1 (3:6fd1), f0ae (3:70ae), f0cd (3:70cd), f12d (3:712d)
@@ -2079,7 +2277,7 @@
XAccuracy: ; f482
ld hl, PlayerSubStatus4
bit 0, [hl]
- jp nz, Functionf7ca
+ jp nz, WontHaveAnyEffect_NotUsedMessage
set 0, [hl]
jp Functionf789
; f48f
@@ -2107,7 +2305,7 @@
GuardSpec: ; f4ab
ld hl, PlayerSubStatus4
bit 1, [hl]
- jp nz, Functionf7ca
+ jp nz, WontHaveAnyEffect_NotUsedMessage
set 1, [hl]
jp Functionf789
; f4b8
@@ -2116,7 +2314,7 @@
DireHit: ; f4b8
ld hl, PlayerSubStatus4
bit 2, [hl]
- jp nz, Functionf7ca
+ jp nz, WontHaveAnyEffect_NotUsedMessage
set 2, [hl]
jp Functionf789
; f4c5
@@ -2499,7 +2697,7 @@
jp nz, Functionf652
Functionf6dd: ; f6dd
- call Functionf7f2
+ call WontHaveAnyEffectMessage
Functionf6e0: ; f6e0
call ClearPalettes
@@ -2636,7 +2834,6 @@
; 0xf77d
-
Brightpowder:
Item19:
LuckyPunch:
@@ -2727,9 +2924,384 @@
ItemB0:
RainbowWing:
ItemB3: ; f77d
- jp Functionf7ed
+ jp IsntTheTimeMessage
; f780
+Functionf780: ; f780
+ push de
+ ld de, SFX_FULL_HEAL
+ call WaitPlaySFX
+ pop de
+ ret
+; f789
+Functionf789: ; f789
+ ld hl, UsedItemText
+ call PrintText
+ call Functionf780
+ call Functiona80
+ ; fallthrough
+; f795
+
+Functionf795: ; f795
+ ld hl, NumItems
+ ld a, 1
+ ld [$d10c], a
+ jp TossItem
+; f7a0
+
+Functionf7a0: ; f7a0
+ call Functionedfa
+ ld de, ANIM_THROW_POKE_BALL
+ ld a, e
+ ld [FXAnimIDLo], a
+ ld a, d
+ ld [FXAnimIDHi], a
+ xor a
+ ld [$c689], a
+ ld [hBattleTurn], a
+ ld [$cfca], a
+ ld a, $37
+ call Predef
+ ld hl, BlockedTheBallText
+ call PrintText
+ ld hl, DontBeAThiefText
+ call PrintText
+ jr Functionf795
+; f7ca
+
+WontHaveAnyEffect_NotUsedMessage: ; f7ca
+ ld hl, WontHaveAnyEffectText
+ call PrintText
+
+; Item wasn't used.
+ ld a, $2
+ ld [$d0ec], a
+ ret
+; f7d6
+
+LooksBitterMessage: ; f7d6
+ ld hl, LooksBitterText
+ jp PrintText
+; f7dc
+
+Ball_BoxIsFullMessage: ; f7dc
+ ld hl, Ball_BoxIsFullText
+ call PrintText
+
+; Item wasn't used.
+ ld a, $2
+ ld [$d0ec], a
+ ret
+; f7e8
+
+CantUseOnEggMessage: ; f7e8
+ ld hl, CantUseOnEggText
+ jr CantUseItemMessage
+
+IsntTheTimeMessage: ; f7ed
+ ld hl, IsntTheTimeText
+ jr CantUseItemMessage
+
+WontHaveAnyEffectMessage: ; f7f2
+ ld hl, WontHaveAnyEffectText
+ jr CantUseItemMessage
+
+BelongsToSomeoneElseMessage: ; f7f7
+ ld hl, BelongsToSomeoneElseText
+ jr CantUseItemMessage
+
+CyclingIsntAllowedMessage: ; f7fc
+ ld hl, CyclingIsntAllowedText
+ jr CantUseItemMessage
+
+CantGetOnYourBikeMessage: ; f801
+ ld hl, CantGetOnYourBikeText
+
+CantUseItemMessage: ; f804
+; Item couldn't be used.
+ xor a
+ ld [$d0ec], a
+ jp PrintText
+; f80b
+
+LooksBitterText: ; 0xf80b
+ ; It looks bitter…
+ text_jump UnknownText_0x1c5d3e
+ db "@"
+; 0xf810
+
+CantUseOnEggText: ; 0xf810
+ ; That can't be used on an EGG.
+ text_jump UnknownText_0x1c5d50
+ db "@"
+; 0xf815
+
+IsntTheTimeText: ; 0xf815
+ ; OAK: ! This isn't the time to use that!
+ text_jump UnknownText_0x1c5d6e
+ db "@"
+; 0xf81a
+
+BelongsToSomeoneElseText: ; 0xf81a
+ ; That belongs to someone else!
+ text_jump UnknownText_0x1c5d97
+ db "@"
+; 0xf81f
+
+WontHaveAnyEffectText: ; 0xf81f
+ ; It won't have any effect.
+ text_jump UnknownText_0x1c5db6
+ db "@"
+; 0xf824
+
+BlockedTheBallText: ; 0xf824
+ ; The trainer blocked the BALL!
+ text_jump UnknownText_0x1c5dd0
+ db "@"
+; 0xf829
+
+DontBeAThiefText: ; 0xf829
+ ; Don't be a thief!
+ text_jump UnknownText_0x1c5def
+ db "@"
+; 0xf82e
+
+CyclingIsntAllowedText: ; 0xf82e
+ ; Cycling isn't allowed here.
+ text_jump UnknownText_0x1c5e01
+ db "@"
+; 0xf833
+
+CantGetOnYourBikeText: ; 0xf833
+ ; Can't get on your @ now.
+ text_jump UnknownText_0x1c5e1d
+ db "@"
+; 0xf838
+
+Ball_BoxIsFullText: ; 0xf838
+ ; The #MON BOX is full. That can't be used now.
+ text_jump UnknownText_0x1c5e3a
+ db "@"
+; 0xf83d
+
+UsedItemText: ; 0xf83d
+ ; used the@ .
+ text_jump UnknownText_0x1c5e68
+ db "@"
+; 0xf842
+
+GotOnTheItemText: ; 0xf842
+ ; got on the@ .
+ text_jump UnknownText_0x1c5e7b
+ db "@"
+; 0xf847
+
+GotOffTheItemText: ; 0xf847
+ ; got off@ the @ .
+ text_jump UnknownText_0x1c5e90
+ db "@"
+; 0xf84c
+
+
+Functionf84c: ; f84c
+ ld a, $2
+ call GetPartyParamLocation
+ push hl
+ ld de, MagikarpLength
+ ld a, $5
+ call Predef
+ pop hl
+ ld bc, $0015
+ add hl, bc
+ ld de, MagikarpLength
+ ld b, $0
+.asm_f864
+ inc b
+ ld a, b
+ cp $5
+ ret z
+ ld a, [$d265]
+ dec a
+ jr nz, .asm_f876
+ ld a, [$cfa9]
+ inc a
+ cp b
+ jr nz, .asm_f87d
+
+.asm_f876
+ ld a, [hl]
+ and $c0
+ ld a, [de]
+ call nz, Functionf881
+
+.asm_f87d
+ inc hl
+ inc de
+ jr .asm_f864
+; f881
+
+
+
+Functionf881: ; f881
+ push bc
+ ld a, [de]
+ ld [$ffb6], a
+ xor a
+ ld [hProduct], a
+ ld [hMultiplicand], a
+ ld [$ffb5], a
+ ld a, $5
+ ld [hMultiplier], a
+ ld b, $4
+ call Divide
+ ld a, [hl]
+ ld b, a
+ swap a
+ and $f
+ srl a
+ srl a
+ ld c, a
+ and a
+ jr z, .asm_f8b6
+.asm_f8a3
+ ld a, [$ffb6]
+ cp $8
+ jr c, .asm_f8ab
+ ld a, $7
+
+.asm_f8ab
+ add b
+ ld b, a
+ ld a, [$d265]
+ dec a
+ jr z, .asm_f8b6
+ dec c
+ jr nz, .asm_f8a3
+
+.asm_f8b6
+ ld [hl], b
+ pop bc
+ ret
+; f8b9
+
+Functionf8b9: ; f8b9
+ ld a, $17
+ call GetPartyParamLocation
+ push hl
+ ld a, $2
+ call GetPartyParamLocation
+ pop de
+ xor a
+ ld [$cfa9], a
+ ld [MonType], a
+ ld c, $4
+.asm_f8ce
+ ld a, [hli]
+ and a
+ ret z
+ push hl
+ push de
+ push bc
+ call Functionf8ec
+ pop bc
+ pop de
+ ld a, [de]
+ and $c0
+ ld b, a
+ ld a, [$d265]
+ add b
+ ld [de], a
+ inc de
+ ld hl, $cfa9
+ inc [hl]
+ pop hl
+ dec c
+ jr nz, .asm_f8ce
+ ret
+; f8ec
+
+
+Functionf8ec: ; f8ec
+ ld a, [StringBuffer1]
+ push af
+ ld a, [$d074]
+ push af
+ ld a, [MonType]
+ and a
+ ld hl, PartyMon1Moves
+ ld bc, PartyMon2 - PartyMon1
+ jr z, .asm_f91a
+ ld hl, OTPartyMon1Moves
+ dec a
+ jr z, .asm_f91a
+ ld hl, TempMonMoves
+ dec a
+ jr z, .asm_f915
+ ld hl, TempMonMoves
+ dec a
+ jr z, .asm_f915
+ ld hl, BattleMonMoves
+
+.asm_f915
+ call Functionf969
+ jr .asm_f91d
+
+.asm_f91a
+ call Functionf963
+
+.asm_f91d
+ ld a, [hl]
+ dec a
+ push hl
+ ld hl, $5b00
+ ld bc, $0007
+ call AddNTimes
+ ld a, $10
+ call GetFarByte
+ ld b, a
+ ld de, StringBuffer1
+ ld [de], a
+ pop hl
+ push bc
+ ld bc, $0015
+ ld a, [MonType]
+ cp WILDMON
+ jr nz, .asm_f942
+ ld bc, $0006
+
+.asm_f942
+ add hl, bc
+ ld a, [hl]
+ and $c0
+ pop bc
+ or b
+ ld hl, $d074
+ ld [hl], a
+ xor a
+ ld [$d265], a
+ ld a, b
+ call Functionf881
+ ld a, [hl]
+ and $3f
+ ld [$d265], a
+ pop af
+ ld [$d074], a
+ pop af
+ ld [StringBuffer1], a
+ ret
+; f963
+
+Functionf963: ; f963
+ ld a, [CurPartyMon]
+ call AddNTimes
+
+Functionf969: ; f969
+ ld a, [$cfa9]
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ret
+; f971
--- a/main.asm
+++ b/main.asm
@@ -13856,577 +13856,7 @@
; 0xe722
-_DoItemEffect: ; e722
- ld a, [CurItem]
- ld [$d265], a
- call GetItemName
- call CopyName1
- ld a, 1
- ld [$d0ec], a
- ld a, [CurItem]
- dec a
- ld hl, ItemEffects
- rst JumpTable
- ret
-; e73c
-
-
-ItemEffects: ; e73c
- dw MasterBall
- dw UltraBall
- dw Brightpowder
- dw GreatBall
- dw PokeBall
- dw Item06
- dw Bicycle
- dw MoonStone
- dw Antidote
- dw BurnHeal
- dw IceHeal
- dw Awakening
- dw ParlyzHeal
- dw FullRestore
- dw MaxPotion
- dw HyperPotion
- dw SuperPotion
- dw Potion
- dw EscapeRope
- dw Repel
- dw MaxElixer
- dw FireStone
- dw Thunderstone
- dw WaterStone
- dw Item19
- dw HpUp
- dw Protein
- dw Iron
- dw Carbos
- dw LuckyPunch
- dw Calcium
- dw RareCandy
- dw XAccuracy
- dw LeafStone
- dw MetalPowder
- dw Nugget
- dw PokeDoll
- dw FullHeal
- dw Revive
- dw MaxRevive
- dw GuardSpec
- dw SuperRepel
- dw MaxRepel
- dw DireHit
- dw Item2D
- dw FreshWater
- dw SodaPop
- dw Lemonade
- dw XAttack
- dw Item32
- dw XDefend
- dw XSpeed
- dw XSpecial
- dw CoinCase
- dw Itemfinder
- dw Item38
- dw ExpShare
- dw OldRod
- dw GoodRod
- dw SilverLeaf
- dw SuperRod
- dw PpUp
- dw Ether
- dw MaxEther
- dw Elixer
- dw RedScale
- dw Secretpotion
- dw SSTicket
- dw MysteryEgg
- dw ClearBell
- dw SilverWing
- dw MoomooMilk
- dw QuickClaw
- dw Psncureberry
- dw GoldLeaf
- dw SoftSand
- dw SharpBeak
- dw Przcureberry
- dw BurntBerry
- dw IceBerry
- dw PoisonBarb
- dw KingsRock
- dw BitterBerry
- dw MintBerry
- dw RedApricorn
- dw Tinymushroom
- dw BigMushroom
- dw Silverpowder
- dw BluApricorn
- dw Item5A
- dw AmuletCoin
- dw YlwApricorn
- dw GrnApricorn
- dw CleanseTag
- dw MysticWater
- dw Twistedspoon
- dw WhtApricorn
- dw Blackbelt
- dw BlkApricorn
- dw Item64
- dw PnkApricorn
- dw Blackglasses
- dw Slowpoketail
- dw PinkBow
- dw Stick
- dw SmokeBall
- dw Nevermeltice
- dw Magnet
- dw Miracleberry
- dw Pearl
- dw BigPearl
- dw Everstone
- dw SpellTag
- dw Ragecandybar
- dw GsBall
- dw BlueCard
- dw MiracleSeed
- dw ThickClub
- dw FocusBand
- dw Item78
- dw Energypowder
- dw EnergyRoot
- dw HealPowder
- dw RevivalHerb
- dw HardStone
- dw LuckyEgg
- dw CardKey
- dw MachinePart
- dw EggTicket
- dw LostItem
- dw Stardust
- dw StarPiece
- dw BasementKey
- dw Pass
- dw Item87
- dw Item88
- dw Item89
- dw Charcoal
- dw BerryJuice
- dw ScopeLens
- dw Item8D
- dw Item8E
- dw MetalCoat
- dw DragonFang
- dw Item91
- dw Leftovers
- dw Item93
- dw Item94
- dw Item95
- dw Mysteryberry
- dw DragonScale
- dw BerserkGene
- dw Item99
- dw Item9A
- dw Item9B
- dw SacredAsh
- dw HeavyBall
- dw FlowerMail
- dw LevelBall
- dw LureBall
- dw FastBall
- dw ItemA2
- dw LightBall
- dw FriendBall
- dw MoonBall
- dw LoveBall
- dw NormalBox
- dw GorgeousBox
- dw SunStone
- dw PolkadotBow
- dw ItemAB
- dw UpGrade
- dw Berry
- dw GoldBerry
- dw Squirtbottle
- dw ItemB0
- dw ParkBall
- dw RainbowWing
- dw ItemB3
-; e8a2
-
INCLUDE "items/item_effects.asm"
-
-
-Functionf780: ; f780
- push de
- ld de, SFX_FULL_HEAL
- call WaitPlaySFX
- pop de
- ret
-; f789
-
-Functionf789: ; f789
- ld hl, UnknownText_0xf83d
- call PrintText
- call Functionf780
- call Functiona80
- ; fallthrough
-; f795
-
-Functionf795: ; f795
- ld hl, NumItems
- ld a, $1
- ld [$d10c], a
- jp TossItem
-; f7a0
-
-Functionf7a0: ; f7a0
- call Functionedfa
- ld de, Start
- ld a, e
- ld [FXAnimIDLo], a
- ld a, d
- ld [FXAnimIDHi], a
- xor a
- ld [$c689], a
- ld [hBattleTurn], a
- ld [$cfca], a
- ld a, $37
- call Predef
- ld hl, UnknownText_0xf824
- call PrintText
- ld hl, UnknownText_0xf829
- call PrintText
- jr Functionf795
-; f7ca
-
-Functionf7ca: ; f7ca
- ld hl, UnknownText_0xf81f
- call PrintText
- ld a, $2
- ld [$d0ec], a
- ret
-; f7d6
-
-Functionf7d6: ; f7d6
- ld hl, UnknownText_0xf80b
- jp PrintText
-; f7dc
-
-Functionf7dc: ; f7dc
- ld hl, UnknownText_0xf838
- call PrintText
- ld a, $2
- ld [$d0ec], a
- ret
-; f7e8
-
-Functionf7e8: ; f7e8
- ld hl, UnknownText_0xf810
- jr Functionf804
-
-Functionf7ed: ; f7ed
- ld hl, UnknownText_0xf815
- jr Functionf804
-
-Functionf7f2: ; f7f2
- ld hl, UnknownText_0xf81f
- jr Functionf804
-
-Functionf7f7: ; f7f7
- ld hl, UnknownText_0xf81a
- jr Functionf804
-
-Functionf7fc: ; f7fc
- ld hl, UnknownText_0xf82e
- jr Functionf804
-
-Functionf801: ; f801
- ld hl, UnknownText_0xf833
-
-Functionf804: ; f804
- xor a
- ld [$d0ec], a
- jp PrintText
-; f80b
-
-UnknownText_0xf80b: ; 0xf80b
- ; It looks bitter…
- text_jump UnknownText_0x1c5d3e
- db "@"
-; 0xf810
-
-UnknownText_0xf810: ; 0xf810
- ; That can't be used on an EGG.
- text_jump UnknownText_0x1c5d50
- db "@"
-; 0xf815
-
-UnknownText_0xf815: ; 0xf815
- ; OAK: ! This isn't the time to use that!
- text_jump UnknownText_0x1c5d6e
- db "@"
-; 0xf81a
-
-UnknownText_0xf81a: ; 0xf81a
- ; That belongs to someone else!
- text_jump UnknownText_0x1c5d97
- db "@"
-; 0xf81f
-
-UnknownText_0xf81f: ; 0xf81f
- ; It won't have any effect.
- text_jump UnknownText_0x1c5db6
- db "@"
-; 0xf824
-
-UnknownText_0xf824: ; 0xf824
- ; The trainer blocked the BALL!
- text_jump UnknownText_0x1c5dd0
- db "@"
-; 0xf829
-
-UnknownText_0xf829: ; 0xf829
- ; Don't be a thief!
- text_jump UnknownText_0x1c5def
- db "@"
-; 0xf82e
-
-UnknownText_0xf82e: ; 0xf82e
- ; Cycling isn't allowed here.
- text_jump UnknownText_0x1c5e01
- db "@"
-; 0xf833
-
-UnknownText_0xf833: ; 0xf833
- ; Can't get on your @ now.
- text_jump UnknownText_0x1c5e1d
- db "@"
-; 0xf838
-
-UnknownText_0xf838: ; 0xf838
- ; The #MON BOX is full. That can't be used now.
- text_jump UnknownText_0x1c5e3a
- db "@"
-; 0xf83d
-
-UnknownText_0xf83d: ; 0xf83d
- ; used the@ .
- text_jump UnknownText_0x1c5e68
- db "@"
-; 0xf842
-
-UnknownText_0xf842: ; 0xf842
- ; got on the@ .
- text_jump UnknownText_0x1c5e7b
- db "@"
-; 0xf847
-
-UnknownText_0xf847: ; 0xf847
- ; got off@ the @ .
- text_jump UnknownText_0x1c5e90
- db "@"
-; 0xf84c
-
-
-Functionf84c: ; f84c
- ld a, $2
- call GetPartyParamLocation
- push hl
- ld de, MagikarpLength
- ld a, $5
- call Predef
- pop hl
- ld bc, $0015
- add hl, bc
- ld de, MagikarpLength
- ld b, $0
-.asm_f864
- inc b
- ld a, b
- cp $5
- ret z
- ld a, [$d265]
- dec a
- jr nz, .asm_f876
- ld a, [$cfa9]
- inc a
- cp b
- jr nz, .asm_f87d
-
-.asm_f876
- ld a, [hl]
- and $c0
- ld a, [de]
- call nz, Functionf881
-
-.asm_f87d
- inc hl
- inc de
- jr .asm_f864
-; f881
-
-
-
-Functionf881: ; f881
- push bc
- ld a, [de]
- ld [$ffb6], a
- xor a
- ld [hProduct], a
- ld [hMultiplicand], a
- ld [$ffb5], a
- ld a, $5
- ld [hMultiplier], a
- ld b, $4
- call Divide
- ld a, [hl]
- ld b, a
- swap a
- and $f
- srl a
- srl a
- ld c, a
- and a
- jr z, .asm_f8b6
-.asm_f8a3
- ld a, [$ffb6]
- cp $8
- jr c, .asm_f8ab
- ld a, $7
-
-.asm_f8ab
- add b
- ld b, a
- ld a, [$d265]
- dec a
- jr z, .asm_f8b6
- dec c
- jr nz, .asm_f8a3
-
-.asm_f8b6
- ld [hl], b
- pop bc
- ret
-; f8b9
-
-Functionf8b9: ; f8b9
- ld a, $17
- call GetPartyParamLocation
- push hl
- ld a, $2
- call GetPartyParamLocation
- pop de
- xor a
- ld [$cfa9], a
- ld [MonType], a
- ld c, $4
-.asm_f8ce
- ld a, [hli]
- and a
- ret z
- push hl
- push de
- push bc
- call Functionf8ec
- pop bc
- pop de
- ld a, [de]
- and $c0
- ld b, a
- ld a, [$d265]
- add b
- ld [de], a
- inc de
- ld hl, $cfa9
- inc [hl]
- pop hl
- dec c
- jr nz, .asm_f8ce
- ret
-; f8ec
-
-
-Functionf8ec: ; f8ec
- ld a, [StringBuffer1]
- push af
- ld a, [$d074]
- push af
- ld a, [MonType]
- and a
- ld hl, PartyMon1Moves
- ld bc, PartyMon2 - PartyMon1
- jr z, .asm_f91a
- ld hl, OTPartyMon1Moves
- dec a
- jr z, .asm_f91a
- ld hl, TempMonMoves
- dec a
- jr z, .asm_f915
- ld hl, TempMonMoves
- dec a
- jr z, .asm_f915
- ld hl, BattleMonMoves
-
-.asm_f915
- call Functionf969
- jr .asm_f91d
-
-.asm_f91a
- call Functionf963
-
-.asm_f91d
- ld a, [hl]
- dec a
- push hl
- ld hl, $5b00
- ld bc, $0007
- call AddNTimes
- ld a, $10
- call GetFarByte
- ld b, a
- ld de, StringBuffer1
- ld [de], a
- pop hl
- push bc
- ld bc, $0015
- ld a, [MonType]
- cp WILDMON
- jr nz, .asm_f942
- ld bc, $0006
-
-.asm_f942
- add hl, bc
- ld a, [hl]
- and $c0
- pop bc
- or b
- ld hl, $d074
- ld [hl], a
- xor a
- ld [$d265], a
- ld a, b
- call Functionf881
- ld a, [hl]
- and $3f
- ld [$d265], a
- pop af
- ld [$d074], a
- pop af
- ld [StringBuffer1], a
- ret
-; f963
-
-Functionf963: ; f963
- ld a, [CurPartyMon]
- call AddNTimes
-
-Functionf969: ; f969
- ld a, [$cfa9]
- ld c, a
- ld b, $0
- add hl, bc
- ret
-; f971
; no known jump sources