items/item_effects.asm; engine/evolution.asm

This commit is contained in:
PikalaxALT 2015-11-18 18:35:44 -05:00
parent 1ff37608b6
commit 91f7491017
18 changed files with 1096 additions and 1100 deletions

View File

@ -8745,7 +8745,7 @@ Function3f6a5: ; 3f6a5
call CheckPayDay call CheckPayDay
xor a xor a
ld [wd1e9], a ld [wd1e9], a
predef Function421e6 predef EvolveAfterBattle
callba Function2ed44 callba Function2ed44
ret ret
; 3f6d0 ; 3f6d0

View File

@ -219,7 +219,7 @@ Function16f7a: ; 16f7a (5:6f7a)
push de push de
callba Function4dbb8 callba SetEggMonCaughtData
callba MobileFn_10608d callba MobileFn_10608d
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)

682
engine/evolve.asm Executable file
View File

@ -0,0 +1,682 @@
EvolvePokemon: ; 421d8
ld hl, EvolvableFlags
xor a
ld [hl], a
ld a, [CurPartyMon]
ld c, a
ld b, SET_FLAG
call EvoFlagAction
EvolveAfterBattle: ; 421e6
xor a
ld [wd268], a
dec a
ld [CurPartyMon], a
push hl
push bc
push de
ld hl, PartyCount
push hl
CheckForEvolvablePokemon: ; 421f5
ld hl, CurPartyMon
inc [hl]
pop hl
inc hl
ld a, [hl]
cp $ff
jp z, Evolution_ReturnToMap
ld [Buffer1], a
push hl
ld a, [CurPartyMon]
ld c, a
ld hl, EvolvableFlags
ld b, CHECK_FLAG
call EvoFlagAction
ld a, c
and a
jp z, CheckForEvolvablePokemon
ld a, [Buffer1]
dec a
ld b, 0
ld c, a
ld hl, EvosAttacksPointers
rept 2
add hl, bc
endr
ld a, [hli]
ld h, [hl]
ld l, a
push hl
xor a
ld [MonType], a
predef CopyPkmnToTempMon
pop hl
.loop
ld a, [hli]
and a
jr z, CheckForEvolvablePokemon
ld b, a
cp EVOLVE_TRADE
jr z, .trade
ld a, [wLinkMode]
and a
jp nz, .dont_evolve_2
ld a, b
cp EVOLVE_ITEM
jp z, .item
ld a, [wd1e9]
and a
jp nz, .dont_evolve_2
ld a, b
cp EVOLVE_LEVEL
jp z, .level
cp EVOLVE_HAPPINESS
jr z, .happiness
; EVOLVE_STAT
ld a, [TempMonLevel]
cp [hl]
jp c, .dont_evolve_1
call IsMonHoldingEverstone
jp z, .dont_evolve_1
push hl
ld de, TempMonAttack
ld hl, TempMonDefense
ld c, 2
call StringCmp
ld a, ATK_EQ_DEF
jr z, .got_tyrogue_evo
ld a, ATK_LT_DEF
jr c, .got_tyrogue_evo
ld a, ATK_GT_DEF
.got_tyrogue_evo
pop hl
inc hl
cp [hl]
jp nz, .dont_evolve_2
inc hl
jr .proceed
.happiness
ld a, [TempMonHappiness]
cp 220
jp c, .dont_evolve_2
call IsMonHoldingEverstone
jp z, .dont_evolve_2
ld a, [hli]
cp TR_ANYTIME
jr z, .proceed
cp TR_MORNDAY
jr z, .happiness_daylight
; TR_NITE
ld a, [TimeOfDay]
cp NITE
jp nz, .dont_evolve_3
jr .proceed
.happiness_daylight
ld a, [TimeOfDay]
cp NITE
jp z, .dont_evolve_3
jr .proceed
.trade
ld a, [wLinkMode]
and a
jp z, .dont_evolve_2
call IsMonHoldingEverstone
jp z, .dont_evolve_2
ld a, [hli]
ld b, a
inc a
jr z, .proceed
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
jp z, .dont_evolve_3
ld a, [TempMonItem]
cp b
jp nz, .dont_evolve_3
xor a
ld [TempMonItem], a
jr .proceed
.item
ld a, [hli]
ld b, a
ld a, [CurItem]
cp b
jp nz, .dont_evolve_3
ld a, [wd1e9]
and a
jp z, .dont_evolve_3
ld a, [wLinkMode]
and a
jp nz, .dont_evolve_3
jr .proceed
.level
ld a, [hli]
ld b, a
ld a, [TempMonLevel]
cp b
jp c, .dont_evolve_3
call IsMonHoldingEverstone
jp z, .dont_evolve_3
.proceed
ld a, [TempMonLevel]
ld [CurPartyLevel], a
ld a, $1
ld [wd268], a
push hl
ld a, [hl]
ld [Buffer2], a
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
call GetNick
call CopyName1
ld hl, Text_WhatEvolving
call PrintText
ld c, 50
call DelayFrames
xor a
ld [hBGMapMode], a
hlcoord 0, 0
lb bc, 12, 20
call ClearBox
ld a, $1
ld [hBGMapMode], a
call ClearSprites
callba EvolutionAnimation
push af
call ClearSprites
pop af
jp c, CancelEvolution
ld hl, Text_CongratulationsYourPokemon
call PrintText
pop hl
ld a, [hl]
ld [CurSpecies], a
ld [TempMonSpecies], a
ld [Buffer2], a
ld [wd265], a
call GetPokemonName
push hl
ld hl, Text_EvolvedIntoPKMN
call PrintTextBoxText
callba MobileFn_106094
ld de, MUSIC_NONE
call PlayMusic
ld de, SFX_CAUGHT_MON
call PlaySFX
call WaitSFX
ld c, 40
call DelayFrames
call ClearTileMap
call UpdateSpeciesNameIfNotNicknamed
call GetBaseData
ld hl, TempMonExp + 2
ld de, TempMonMaxHP
ld b, $1
predef CalcPkmnStats
ld a, [CurPartyMon]
ld hl, PartyMons
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld e, l
ld d, h
ld bc, MON_MAXHP
add hl, bc
ld a, [hli]
ld b, a
ld c, [hl]
ld hl, TempMonMaxHP + 1
ld a, [hld]
sub c
ld c, a
ld a, [hl]
sbc b
ld b, a
ld hl, TempMonHP + 1
ld a, [hl]
add c
ld [hld], a
ld a, [hl]
adc b
ld [hl], a
ld hl, TempMonSpecies
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ld a, [CurSpecies]
ld [wd265], a
xor a
ld [MonType], a
call LearnLevelMoves
ld a, [wd265]
dec a
call SetSeenAndCaughtMon
ld a, [wd265]
cp UNOWN
jr nz, .skip_unown
ld hl, TempMonDVs
predef GetUnownLetter
callab UpdateUnownDex
.skip_unown
pop de
pop hl
ld a, [TempMonSpecies]
ld [hl], a
push hl
ld l, e
ld h, d
jp CheckForEvolvablePokemon
; 423f8
.dont_evolve_1
inc hl
.dont_evolve_2
inc hl
.dont_evolve_3
inc hl
jp .loop
; 423fe
; dummy pop
pop hl
Evolution_ReturnToMap: ; 423ff
pop de
pop bc
pop hl
ld a, [wLinkMode]
and a
ret nz
ld a, [wBattleMode]
and a
ret nz
ld a, [wd268]
and a
call nz, RestartMapMusic
ret
; 42414
UpdateSpeciesNameIfNotNicknamed: ; 42414
ld a, [CurSpecies]
push af
ld a, [BaseDexNo]
ld [wd265], a
call GetPokemonName
pop af
ld [CurSpecies], a
ld hl, StringBuffer1
ld de, StringBuffer2
.loop
ld a, [de]
inc de
cp [hl]
inc hl
ret nz
cp "@"
jr nz, .loop
ld a, [CurPartyMon]
ld bc, PKMN_NAME_LENGTH
ld hl, PartyMonNicknames
call AddNTimes
push hl
ld a, [CurSpecies]
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
pop de
ld bc, PKMN_NAME_LENGTH
jp CopyBytes
; 42454
CancelEvolution: ; 42454
ld hl, Text_StoppedEvolving
call PrintText
call ClearTileMap
pop hl
jp CheckForEvolvablePokemon
; 42461
IsMonHoldingEverstone: ; 42461
push hl
ld a, [CurPartyMon]
ld hl, PartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld a, [hl]
cp EVERSTONE
pop hl
ret
; 42473
Text_CongratulationsYourPokemon: ; 0x42473
; Congratulations! Your @ @
text_jump UnknownText_0x1c4b92
db "@"
; 0x42478
Text_EvolvedIntoPKMN: ; 0x42478
; evolved into @ !
text_jump UnknownText_0x1c4baf
db "@"
; 0x4247d
Text_StoppedEvolving: ; 0x4247d
; Huh? @ stopped evolving!
text_jump UnknownText_0x1c4bc5
db "@"
; 0x42482
Text_WhatEvolving: ; 0x42482
; What? @ is evolving!
text_jump UnknownText_0x1c4be3
db "@"
; 0x42487
LearnLevelMoves: ; 42487
ld a, [wd265]
ld [CurPartySpecies], a
dec a
ld b, 0
ld c, a
ld hl, EvosAttacksPointers
rept 2
add hl, bc
endr
ld a, [hli]
ld h, [hl]
ld l, a
.skip_evos
ld a, [hli]
and a
jr nz, .skip_evos
.find_move
ld a, [hli]
and a
jr z, .done
ld b, a
ld a, [CurPartyLevel]
cp b
ld a, [hli]
jr nz, .find_move
push hl
ld d, a
ld hl, PartyMon1Moves
ld a, [CurPartyMon]
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld b, NUM_MOVES
.check_move
ld a, [hli]
cp d
jr z, .has_move
dec b
jr nz, .check_move
jr .learn
.has_move
pop hl
jr .find_move
.learn
ld a, d
ld [wd262], a
ld [wd265], a
call GetMoveName
call CopyName1
predef LearnMove
pop hl
jr .find_move
.done
ld a, [CurPartySpecies]
ld [wd265], a
ret
; 424e1
FillMoves: ; 424e1
; Fill in moves at de for CurPartySpecies at CurPartyLevel
push hl
push de
push bc
ld hl, EvosAttacksPointers
ld b, 0
ld a, [CurPartySpecies]
dec a
add a
rl b
ld c, a
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
.GoToAttacks
ld a, [hli]
and a
jr nz, .GoToAttacks
jr .GetLevel
.NextMove
pop de
.GetMove
inc hl
.GetLevel
ld a, [hli]
and a
jp z, .done
ld b, a
ld a, [CurPartyLevel]
cp b
jp c, .done
ld a, [Buffer1]
and a
jr z, .CheckMove
ld a, [wd002]
cp b
jr nc, .GetMove
.CheckMove
push de
ld c, NUM_MOVES
.CheckRepeat
ld a, [de]
inc de
cp [hl]
jr z, .NextMove
dec c
jr nz, .CheckRepeat
pop de
push de
ld c, NUM_MOVES
.CheckSlot
ld a, [de]
and a
jr z, .LearnMove
inc de
dec c
jr nz, .CheckSlot
pop de
push de
push hl
ld h, d
ld l, e
call ShiftMoves
ld a, [Buffer1]
and a
jr z, .ShiftedMove
push de
ld bc, PartyMon1PP - (PartyMon1Moves + NUM_MOVES - 1)
add hl, bc
ld d, h
ld e, l
call ShiftMoves
pop de
.ShiftedMove
pop hl
.LearnMove
ld a, [hl]
ld [de], a
ld a, [Buffer1]
and a
jr z, .NextMove
push hl
ld a, [hl]
ld hl, MON_PP - MON_MOVES
add hl, de
push hl
dec a
ld hl, Moves + MOVE_PP
ld bc, MOVE_LENGTH
call AddNTimes
ld a, BANK(Moves)
call GetFarByte
pop hl
ld [hl], a
pop hl
jr .NextMove
.done
pop bc
pop de
pop hl
ret
; 4256e
ShiftMoves: ; 4256e
ld c, NUM_MOVES - 1
.loop
inc de
ld a, [de]
ld [hli], a
dec c
jr nz, .loop
ret
; 42577
EvoFlagAction: ; 42577
push de
ld d, $0
predef FlagPredef
pop de
ret
; 42581
GetPreEvolution: ; 42581
; Find the first mon to evolve into CurPartySpecies.
; Return carry and the new species in CurPartySpecies
; if a pre-evolution is found.
ld c, 0
.loop ; For each Pokemon...
ld hl, EvosAttacksPointers
ld b, 0
rept 2
add hl, bc
endr
ld a, [hli]
ld h, [hl]
ld l, a
.loop2 ; For each evolution...
ld a, [hli]
and a
jr z, .no_evolve ; If we jump, this Pokemon does not evolve into CurPartySpecies.
cp EVOLVE_STAT ; This evolution type has the extra parameter of stat comparison.
jr nz, .not_tyrogue
inc hl
.not_tyrogue
inc hl
ld a, [CurPartySpecies]
cp [hl]
jr z, .found_preevo
inc hl
ld a, [hl]
and a
jr nz, .loop2
.no_evolve
inc c
ld a, c
cp NUM_POKEMON
jr c, .loop
and a
ret
.found_preevo
inc c
ld a, c
ld [CurPartySpecies], a
scf
ret
; 425b1

View File

@ -1920,7 +1920,7 @@ Function28b87: ; 28b87
ld a, [PartyCount] ld a, [PartyCount]
dec a dec a
ld [CurPartyMon], a ld [CurPartyMon], a
callab Function421d8 callab EvolvePokemon
call ClearScreen call ClearScreen
call Function28ef8 call Function28ef8
call Function28eff call Function28eff

View File

@ -839,92 +839,92 @@ YouHaveNoPKMNString: ; 0x50556
db "You have no <PK><MN>!@" db "You have no <PK><MN>!@"
Function50566: ; 50566 PrintPartyMenuActionText: ; 50566
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMonNicknames ld hl, PartyMonNicknames
call GetNick call GetNick
ld a, [PartyMenuActionText] ld a, [PartyMenuActionText]
and $f and $f
ld hl, Unknown_5057b ld hl, .MenuActionTexts
call Function505c1 call .PrintText
ret ret
; 5057b ; 5057b
Unknown_5057b: ; 5057b .MenuActionTexts: ; 5057b
dw UnknownText_0x50594 dw .Text_CuredOfPoison
dw UnknownText_0x5059e dw .Text_BurnWasHealed
dw UnknownText_0x505a3 dw .Text_Defrosted
dw UnknownText_0x505a8 dw .Text_WokeUp
dw UnknownText_0x50599 dw .Text_RidOfParalysis
dw UnknownText_0x5058f dw .Text_RecoveredSomeHP
dw UnknownText_0x505ad dw .Text_HealthReturned
dw UnknownText_0x505b2 dw .Text_Revitalized
dw UnknownText_0x505b7 dw .Text_GrewToLevel
dw UnknownText_0x505bc dw .Text_CameToItsSenses
; 5058f ; 5058f
UnknownText_0x5058f: ; 0x5058f .Text_RecoveredSomeHP: ; 0x5058f
; recovered @ HP! ; recovered @ HP!
text_jump UnknownText_0x1bc0a2 text_jump UnknownText_0x1bc0a2
db "@" db "@"
; 0x50594 ; 0x50594
UnknownText_0x50594: ; 0x50594 .Text_CuredOfPoison: ; 0x50594
; 's cured of poison. ; 's cured of poison.
text_jump UnknownText_0x1bc0bb text_jump UnknownText_0x1bc0bb
db "@" db "@"
; 0x50599 ; 0x50599
UnknownText_0x50599: ; 0x50599 .Text_RidOfParalysis: ; 0x50599
; 's rid of paralysis. ; 's rid of paralysis.
text_jump UnknownText_0x1bc0d2 text_jump UnknownText_0x1bc0d2
db "@" db "@"
; 0x5059e ; 0x5059e
UnknownText_0x5059e: ; 0x5059e .Text_BurnWasHealed: ; 0x5059e
; 's burn was healed. ; 's burn was healed.
text_jump UnknownText_0x1bc0ea text_jump UnknownText_0x1bc0ea
db "@" db "@"
; 0x505a3 ; 0x505a3
UnknownText_0x505a3: ; 0x505a3 .Text_Defrosted: ; 0x505a3
; was defrosted. ; was defrosted.
text_jump UnknownText_0x1bc101 text_jump UnknownText_0x1bc101
db "@" db "@"
; 0x505a8 ; 0x505a8
UnknownText_0x505a8: ; 0x505a8 .Text_WokeUp: ; 0x505a8
; woke up. ; woke up.
text_jump UnknownText_0x1bc115 text_jump UnknownText_0x1bc115
db "@" db "@"
; 0x505ad ; 0x505ad
UnknownText_0x505ad: ; 0x505ad .Text_HealthReturned: ; 0x505ad
; 's health returned. ; 's health returned.
text_jump UnknownText_0x1bc123 text_jump UnknownText_0x1bc123
db "@" db "@"
; 0x505b2 ; 0x505b2
UnknownText_0x505b2: ; 0x505b2 .Text_Revitalized: ; 0x505b2
; is revitalized. ; is revitalized.
text_jump UnknownText_0x1bc13a text_jump UnknownText_0x1bc13a
db "@" db "@"
; 0x505b7 ; 0x505b7
UnknownText_0x505b7: ; 0x505b7 .Text_GrewToLevel: ; 0x505b7
; grew to level @ !@ @ ; grew to level @ !@ @
text_jump UnknownText_0x1bc14f text_jump UnknownText_0x1bc14f
db "@" db "@"
; 0x505bc ; 0x505bc
UnknownText_0x505bc: ; 0x505bc .Text_CameToItsSenses: ; 0x505bc
; came to its senses. ; came to its senses.
text_jump UnknownText_0x1bc16e text_jump UnknownText_0x1bc16e
db "@" db "@"
; 0x505c1 ; 0x505c1
Function505c1: ; 505c1 .PrintText: ; 505c1
ld e, a ld e, a
ld d, 0 ld d, 0
rept 2 rept 2
@ -935,7 +935,7 @@ endr
ld l, a ld l, a
ld a, [Options] ld a, [Options]
push af push af
set 4, a set NO_TEXT_SCROLL, a
ld [Options], a ld [Options], a
call PrintText call PrintText
pop af pop af

View File

@ -330,7 +330,7 @@ Function90e3f: ; 90e3f
.kanto .kanto
ld e, 1 ld e, 1
.ok .ok
callba Function91ae1 callba PokegearMap
ld a, $7 ld a, $7
ld bc, $12 ld bc, $12
hlcoord 1, 2 hlcoord 1, 2
@ -1919,7 +1919,8 @@ endr
.kanto .kanto
jp LoadStation_PlacesAndPeople jp LoadStation_PlacesAndPeople
; 91ae1 ; 91ae1
Function91ae1: ; 91ae1
PokegearMap: ; 91ae1
ld a, e ld a, e
and a and a
jr nz, .kanto jr nz, .kanto

View File

@ -58,7 +58,7 @@ PredefPointers:: ; 856b
add_predef GetMonFrontpic add_predef GetMonFrontpic
add_predef LearnLevelMoves add_predef LearnLevelMoves
add_predef FillMoves add_predef FillMoves
add_predef Function421e6 add_predef EvolveAfterBattle
add_predef Function28f63 add_predef Function28f63
add_predef Function28f24 add_predef Function28f24
add_predef CopyPkmnToTempMon add_predef CopyPkmnToTempMon
@ -97,7 +97,7 @@ PredefPointers:: ; 856b
add_predef DecompressPredef ; $40 add_predef DecompressPredef ; $40
add_predef CheckTypeMatchup add_predef CheckTypeMatchup
add_predef ConvertMon_1to2 add_predef ConvertMon_1to2
add_predef Functionfb877 add_predef NewPokedexEntry
add_predef AnimateMon_Slow_Normal add_predef AnimateMon_Slow_Normal
add_predef PlaceStatusString add_predef PlaceStatusString
add_predef LoadMonAnimation add_predef LoadMonAnimation

View File

@ -215,7 +215,7 @@ Special_GameCornerPrizeMonCheckDex: ; c230
call FadeToMenu call FadeToMenu
ld a, [ScriptVar] ld a, [ScriptVar]
ld [wd265], a ld [wd265], a
callba Functionfb877 callba NewPokedexEntry
call ExitAllMenus call ExitAllMenus
ret ret
; c252 ; c252

View File

@ -664,7 +664,7 @@ UnknownText_0x12a5b: ; 0x12a5b
CantUseItem: ; 12a60 CantUseItem: ; 12a60
ld hl, CantUseItemText ld hl, CantUseItemText
call Function2012 call MenuTextBoxWaitButton
ret ret
; 12a67 ; 12a67
@ -1241,14 +1241,14 @@ OpenPartyStats: ; 12e00
MonMenu_Cut: ; 12e1b MonMenu_Cut: ; 12e1b
callba CutFunction callba CutFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12e2d jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12e2d .Fail
ld a, $3 ld a, $3
ret ret
; 12e30 ; 12e30
@ -1256,160 +1256,161 @@ MonMenu_Cut: ; 12e1b
MonMenu_Fly: ; 12e30 MonMenu_Fly: ; 12e30
callba FlyFunction callba FlyFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $2 cp $2
jr z, .asm_12e4c jr z, .Fail
cp $0 cp $0
jr z, .asm_12e4f jr z, .Error
callba MobileFn_1060b5 callba MobileFn_1060b5
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12e4c .Fail
ld a, $3 ld a, $3
ret ret
.asm_12e4f .Error
ld a, $0 ld a, $0
ret ret
.asm_12e52 .Unused
ld a, $1 ld a, $1
ret ret
; 12e55 ; 12e55
MonMenu_Flash: ; 12e55 MonMenu_Flash: ; 12e55
callba Functionc8ac callba Functionc8ac
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12e67 jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12e67 .Fail
ld a, $3 ld a, $3
ret ret
; 12e6a ; 12e6a
MonMenu_Strength: ; 12e6a MonMenu_Strength: ; 12e6a
callba StrengthFunction callba StrengthFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12e7c jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12e7c .Fail
ld a, $3 ld a, $3
ret ret
; 12e7f ; 12e7f
MonMenu_Whirlpool: ; 12e7f MonMenu_Whirlpool: ; 12e7f
callba WhirlpoolFunction callba WhirlpoolFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12e91 jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12e91 .Fail
ld a, $3 ld a, $3
ret ret
; 12e94 ; 12e94
MonMenu_Waterfall: ; 12e94 MonMenu_Waterfall: ; 12e94
callba Functioncade callba Functioncade
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12ea6 jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12ea6 .Fail
ld a, $3 ld a, $3
ret ret
; 12ea9 ; 12ea9
MonMenu_Teleport: ; 12ea9 MonMenu_Teleport: ; 12ea9
callba TeleportFunction callba TeleportFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
and a and a
jr z, .asm_12eba jr z, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12eba .Fail
ld a, $3 ld a, $3
ret ret
; 12ebd ; 12ebd
MonMenu_Surf: ; 12ebd MonMenu_Surf: ; 12ebd
callba SurfFunction callba SurfFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
and a and a
jr z, .asm_12ece jr z, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12ece .Fail
ld a, $3 ld a, $3
ret ret
; 12ed1 ; 12ed1
MonMenu_Dig: ; 12ed1 MonMenu_Dig: ; 12ed1
callba DigFunction callba DigFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12ee3 jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12ee3 .Fail
ld a, $3 ld a, $3
ret ret
; 12ee6 ; 12ee6
MonMenu_Softboiled_MilkDrink: ; 12ee6 MonMenu_Softboiled_MilkDrink: ; 12ee6
call Function12f05 call .CheckMonHasEnoughHP
jr nc, .asm_12ef3 jr nc, .NotEnoughHP
callba Functionf3df callba Softboiled_MilkDrinkFunction
jr .asm_12ef9 jr .finish
.asm_12ef3 .NotEnoughHP
ld hl, UnknownText_0x12f00 ld hl, .Text_NotEnoughHP
call PrintText call PrintText
.asm_12ef9 .finish
xor a xor a
ld [PartyMenuActionText], a ld [PartyMenuActionText], a
ld a, $3 ld a, $3
ret ret
; 12f00 ; 12f00
UnknownText_0x12f00: ; 0x12f00 .Text_NotEnoughHP: ; 0x12f00
; Not enough HP! ; Not enough HP!
text_jump UnknownText_0x1c1ce3 text_jump UnknownText_0x1c1ce3
db "@" db "@"
; 0x12f05 ; 0x12f05
Function12f05: ; 12f05 .CheckMonHasEnoughHP: ; 12f05
; Need to have at least (MaxHP / 5) HP left.
ld a, MON_MAXHP ld a, MON_MAXHP
call GetPartyParamLocation call GetPartyParamLocation
ld a, [hli] ld a, [hli]
ld [hDividend + 0], a ld [hDividend + 0], a
ld a, [hl] ld a, [hl]
ld [hDividend + 1], a ld [hDividend + 1], a
ld a, $5 ld a, 5
ld [hDivisor], a ld [hDivisor], a
ld b, $2 ld b, 2
call Divide call Divide
ld a, MON_HP + 1 ld a, MON_HP + 1
call GetPartyParamLocation call GetPartyParamLocation
@ -1423,28 +1424,28 @@ Function12f05: ; 12f05
MonMenu_Headbutt: ; 12f26 MonMenu_Headbutt: ; 12f26
callba HeadbuttFunction callba HeadbuttFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12f38 jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12f38 .Fail
ld a, $3 ld a, $3
ret ret
; 12f3b ; 12f3b
MonMenu_RockSmash: ; 12f3b MonMenu_RockSmash: ; 12f3b
callba RockSmashFunction callba RockSmashFunction
ld a, [wd0ec] ld a, [wFieldMoveSucceeded]
cp $1 cp $1
jr nz, .asm_12f4d jr nz, .Fail
ld b, $4 ld b, $4
ld a, $2 ld a, $2
ret ret
.asm_12f4d .Fail
ld a, $3 ld a, $3
ret ret
; 12f50 ; 12f50

View File

@ -147,7 +147,7 @@ Function91a04: ; 91a04
ld e, $1 ld e, $1
.okay .okay
callba Function91ae1 callba PokegearMap
ld a, $7 ld a, $7
ld bc, 6 ld bc, 6
hlcoord 1, 0 hlcoord 1, 0

View File

@ -546,7 +546,7 @@ PlayClickSFX:: ; 2009
ret ret
; 0x2012 ; 0x2012
Function2012:: ; 2012 MenuTextBoxWaitButton:: ; 2012
call MenuTextBox call MenuTextBox
call CloseText call CloseText
call ExitMenu call ExitMenu

View File

@ -714,7 +714,7 @@ FarString:: ; 13d4
ret ret
; 13e0 ; 13e0
Function13e0:: ; 13e0 PokeFluteTerminatorCharacter:: ; 13e0
ld hl, .stop ld hl, .stop
ret ret

File diff suppressed because it is too large Load Diff

747
main.asm
View File

@ -2957,7 +2957,7 @@ SpecialGiveShuckle: ; 7305
; Caught data. ; Caught data.
ld b, 0 ld b, 0
callba SetPartymonCaughtData callba SetGiftPartyMonCaughtData
; Holding a Berry. ; Holding a Berry.
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
@ -4530,7 +4530,7 @@ endr
ld a, [hl] ld a, [hl]
ld [bc], a ld [bc], a
callba Functionf8b9 callba RestoreAllPP
ret ret
; c699 ; c699
@ -8308,7 +8308,7 @@ endr
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes call AddNTimes
predef GetUnownLetter predef GetUnownLetter
callab Functionfba18 callab UpdateUnownDex
.done .done
scf ; When this function returns, the carry flag indicates success vs failure. scf ; When this function returns, the carry flag indicates success vs failure.
@ -8420,7 +8420,7 @@ AddTempmonToParty: ; da96
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes call AddNTimes
predef GetUnownLetter predef GetUnownLetter
callab Functionfba18 callab UpdateUnownDex
ld a, [wdef4] ld a, [wdef4]
and a and a
jr nz, .done jr nz, .done
@ -9014,7 +9014,7 @@ SentPkmnIntoBox: ; de6e
jr nz, .asm_df20 jr nz, .asm_df20
ld hl, sBoxMon1DVs ld hl, sBoxMon1DVs
predef GetUnownLetter predef GetUnownLetter
callab Functionfba18 callab UpdateUnownDex
.asm_df20 .asm_df20
ld hl, sBoxMon1Moves ld hl, sBoxMon1Moves
@ -9697,7 +9697,7 @@ endr
ld [hli], a ld [hli], a
ld [hl], 01001 % $100 ld [hl], 01001 % $100
pop bc pop bc
callba SetPartymonCaughtData callba SetGiftPartyMonCaughtData
jr .skip_nickname jr .skip_nickname
.asm_e35e .asm_e35e
@ -9721,7 +9721,7 @@ endr
call Random call Random
ld [hl], a ld [hl], a
call CloseSRAM call CloseSRAM
callba SetBoxMonCaughtData callba SetGiftBoxMonCaughtData
jr .skip_nickname jr .skip_nickname
.asm_e390 .asm_e390
@ -9732,11 +9732,11 @@ endr
ld a, b ld a, b
and a and a
jr z, .asm_e3a0 jr z, .asm_e3a0
callba Function4db83 callba SetBoxMonCaughtData
jr .asm_e3a6 jr .asm_e3a6
.asm_e3a0 .asm_e3a0
callba Function4db49 callba SetCaughtData
.asm_e3a6 .asm_e3a6
callba GiveANickname_YesNo callba GiveANickname_YesNo
@ -13569,7 +13569,7 @@ LevelUpHappinessMod: ; 2709e
INCLUDE "trainers/dvs.asm" INCLUDE "trainers/dvs.asm"
Function2715c: ; 2715c _ReturnToBattle_UseBall: ; 2715c
call ClearBGPalettes call ClearBGPalettes
call ClearTileMap call ClearTileMap
ld a, [BattleType] ld a, [BattleType]
@ -16258,690 +16258,7 @@ Function41af7: ; 41af7
INCLUDE "battle/moves/moves.asm" INCLUDE "battle/moves/moves.asm"
INCLUDE "engine/evolve.asm"
Function421d8: ; 421d8
ld hl, EvolvableFlags
xor a
ld [hl], a
ld a, [CurPartyMon]
ld c, a
ld b, $1
call Function42577
Function421e6: ; 421e6
xor a
ld [wd268], a
dec a
ld [CurPartyMon], a
push hl
push bc
push de
ld hl, PartyCount
push hl
Function421f5: ; 421f5
ld hl, CurPartyMon
inc [hl]
pop hl
inc hl
ld a, [hl]
cp $ff
jp z, Function423ff
ld [Buffer1], a
push hl
ld a, [CurPartyMon]
ld c, a
ld hl, EvolvableFlags
ld b, 2
call Function42577
ld a, c
and a
jp z, Function421f5
ld a, [Buffer1]
dec a
ld b, 0
ld c, a
ld hl, EvosAttacksPointers
rept 2
add hl, bc
endr
ld a, [hli]
ld h, [hl]
ld l, a
push hl
xor a
ld [MonType], a
predef CopyPkmnToTempMon
pop hl
.asm_42230
ld a, [hli]
and a
jr z, Function421f5
ld b, a
cp EVOLVE_TRADE
jr z, .trade
ld a, [wLinkMode]
and a
jp nz, .asm_423f9
ld a, b
cp EVOLVE_ITEM
jp z, .item
ld a, [wd1e9]
and a
jp nz, .asm_423f9
ld a, b
cp EVOLVE_LEVEL
jp z, .level
cp EVOLVE_HAPPINESS
jr z, .happiness
; EVOLVE_STAT
ld a, [TempMonLevel]
cp [hl]
jp c, .asm_423f8
call Function42461
jp z, .asm_423f8
push hl
ld de, TempMonAttack
ld hl, TempMonDefense
ld c, 2
call StringCmp
ld a, ATK_EQ_DEF
jr z, .asm_4227a
ld a, ATK_LT_DEF
jr c, .asm_4227a
ld a, ATK_GT_DEF
.asm_4227a
pop hl
inc hl
cp [hl]
jp nz, .asm_423f9
inc hl
jr .asm_422fd
.happiness
ld a, [TempMonHappiness]
cp 220
jp c, .asm_423f9
call Function42461
jp z, .asm_423f9
ld a, [hli]
cp TR_ANYTIME
jr z, .asm_422fd
cp TR_MORNDAY
jr z, .asm_422a4
; TR_NITE
ld a, [TimeOfDay]
cp NITE
jp nz, .asm_423fa
jr .asm_422fd
.asm_422a4
ld a, [TimeOfDay]
cp NITE
jp z, .asm_423fa
jr .asm_422fd
.trade
ld a, [wLinkMode]
and a
jp z, .asm_423f9
call Function42461
jp z, .asm_423f9
ld a, [hli]
ld b, a
inc a
jr z, .asm_422fd
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
jp z, .asm_423fa
ld a, [TempMonItem]
cp b
jp nz, .asm_423fa
xor a
ld [TempMonItem], a
jr .asm_422fd
.item
ld a, [hli]
ld b, a
ld a, [CurItem]
cp b
jp nz, .asm_423fa
ld a, [wd1e9]
and a
jp z, .asm_423fa
ld a, [wLinkMode]
and a
jp nz, .asm_423fa
jr .asm_422fd
.level
ld a, [hli]
ld b, a
ld a, [TempMonLevel]
cp b
jp c, .asm_423fa
call Function42461
jp z, .asm_423fa
.asm_422fd
ld a, [TempMonLevel]
ld [CurPartyLevel], a
ld a, $1
ld [wd268], a
push hl
ld a, [hl]
ld [Buffer2], a
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
call GetNick
call CopyName1
ld hl, UnknownText_0x42482
call PrintText
ld c, 50
call DelayFrames
xor a
ld [hBGMapMode], a
hlcoord 0, 0
lb bc, 12, 20
call ClearBox
ld a, $1
ld [hBGMapMode], a
call ClearSprites
callba EvolutionAnimation
push af
call ClearSprites
pop af
jp c, Function42454
ld hl, UnknownText_0x42473
call PrintText
pop hl
ld a, [hl]
ld [CurSpecies], a
ld [TempMonSpecies], a
ld [Buffer2], a
ld [wd265], a
call GetPokemonName
push hl
ld hl, UnknownText_0x42478
call PrintTextBoxText
callba MobileFn_106094
ld de, MUSIC_NONE
call PlayMusic
ld de, SFX_CAUGHT_MON
call PlaySFX
call WaitSFX
ld c, 40
call DelayFrames
call ClearTileMap
call Function42414
call GetBaseData
ld hl, TempMonExp + 2
ld de, TempMonMaxHP
ld b, $1
predef CalcPkmnStats
ld a, [CurPartyMon]
ld hl, PartyMons
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld e, l
ld d, h
ld bc, MON_MAXHP
add hl, bc
ld a, [hli]
ld b, a
ld c, [hl]
ld hl, TempMonMaxHP + 1
ld a, [hld]
sub c
ld c, a
ld a, [hl]
sbc b
ld b, a
ld hl, TempMonHP + 1
ld a, [hl]
add c
ld [hld], a
ld a, [hl]
adc b
ld [hl], a
ld hl, TempMonSpecies
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ld a, [CurSpecies]
ld [wd265], a
xor a
ld [MonType], a
call LearnLevelMoves
ld a, [wd265]
dec a
call SetSeenAndCaughtMon
ld a, [wd265]
cp UNOWN
jr nz, .asm_423ec
ld hl, TempMonDVs
predef GetUnownLetter
callab Functionfba18
.asm_423ec
pop de
pop hl
ld a, [TempMonSpecies]
ld [hl], a
push hl
ld l, e
ld h, d
jp Function421f5
; 423f8
.asm_423f8
inc hl
.asm_423f9
inc hl
.asm_423fa
inc hl
jp .asm_42230
; 423fe
Function423fe: ; 423fe
pop hl
Function423ff: ; 423ff
pop de
pop bc
pop hl
ld a, [wLinkMode]
and a
ret nz
ld a, [wBattleMode]
and a
ret nz
ld a, [wd268]
and a
call nz, RestartMapMusic
ret
; 42414
Function42414: ; 42414
ld a, [CurSpecies]
push af
ld a, [BaseDexNo]
ld [wd265], a
call GetPokemonName
pop af
ld [CurSpecies], a
ld hl, StringBuffer1
ld de, StringBuffer2
.asm_4242b
ld a, [de]
inc de
cp [hl]
inc hl
ret nz
cp "@"
jr nz, .asm_4242b
ld a, [CurPartyMon]
ld bc, PKMN_NAME_LENGTH
ld hl, PartyMonNicknames
call AddNTimes
push hl
ld a, [CurSpecies]
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
pop de
ld bc, PKMN_NAME_LENGTH
jp CopyBytes
; 42454
Function42454: ; 42454
ld hl, UnknownText_0x4247d
call PrintText
call ClearTileMap
pop hl
jp Function421f5
; 42461
Function42461: ; 42461
push hl
ld a, [CurPartyMon]
ld hl, PartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld a, [hl]
cp EVERSTONE
pop hl
ret
; 42473
UnknownText_0x42473: ; 0x42473
; Congratulations! Your @ @
text_jump UnknownText_0x1c4b92
db "@"
; 0x42478
UnknownText_0x42478: ; 0x42478
; evolved into @ !
text_jump UnknownText_0x1c4baf
db "@"
; 0x4247d
UnknownText_0x4247d: ; 0x4247d
; Huh? @ stopped evolving!
text_jump UnknownText_0x1c4bc5
db "@"
; 0x42482
UnknownText_0x42482: ; 0x42482
; What? @ is evolving!
text_jump UnknownText_0x1c4be3
db "@"
; 0x42487
LearnLevelMoves: ; 42487
ld a, [wd265]
ld [CurPartySpecies], a
dec a
ld b, 0
ld c, a
ld hl, EvosAttacksPointers
rept 2
add hl, bc
endr
ld a, [hli]
ld h, [hl]
ld l, a
.skip_evos
ld a, [hli]
and a
jr nz, .skip_evos
.find_move
ld a, [hli]
and a
jr z, .done
ld b, a
ld a, [CurPartyLevel]
cp b
ld a, [hli]
jr nz, .find_move
push hl
ld d, a
ld hl, PartyMon1Moves
ld a, [CurPartyMon]
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld b, NUM_MOVES
.check_move
ld a, [hli]
cp d
jr z, .has_move
dec b
jr nz, .check_move
jr .learn
.has_move
pop hl
jr .find_move
.learn
ld a, d
ld [wd262], a
ld [wd265], a
call GetMoveName
call CopyName1
predef LearnMove
pop hl
jr .find_move
.done
ld a, [CurPartySpecies]
ld [wd265], a
ret
; 424e1
FillMoves: ; 424e1
; Fill in moves at de for CurPartySpecies at CurPartyLevel
push hl
push de
push bc
ld hl, EvosAttacksPointers
ld b, 0
ld a, [CurPartySpecies]
dec a
add a
rl b
ld c, a
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
.GoToAttacks
ld a, [hli]
and a
jr nz, .GoToAttacks
jr .GetLevel
.NextMove
pop de
.GetMove
inc hl
.GetLevel
ld a, [hli]
and a
jp z, .done
ld b, a
ld a, [CurPartyLevel]
cp b
jp c, .done
ld a, [Buffer1]
and a
jr z, .CheckMove
ld a, [wd002]
cp b
jr nc, .GetMove
.CheckMove
push de
ld c, NUM_MOVES
.CheckRepeat
ld a, [de]
inc de
cp [hl]
jr z, .NextMove
dec c
jr nz, .CheckRepeat
pop de
push de
ld c, NUM_MOVES
.CheckSlot
ld a, [de]
and a
jr z, .LearnMove
inc de
dec c
jr nz, .CheckSlot
pop de
push de
push hl
ld h, d
ld l, e
call ShiftMoves
ld a, [Buffer1]
and a
jr z, .ShiftedMove
push de
ld bc, PartyMon1PP - (PartyMon1Moves + NUM_MOVES - 1)
add hl, bc
ld d, h
ld e, l
call ShiftMoves
pop de
.ShiftedMove
pop hl
.LearnMove
ld a, [hl]
ld [de], a
ld a, [Buffer1]
and a
jr z, .NextMove
push hl
ld a, [hl]
ld hl, MON_PP - MON_MOVES
add hl, de
push hl
dec a
ld hl, Moves + MOVE_PP
ld bc, MOVE_LENGTH
call AddNTimes
ld a, BANK(Moves)
call GetFarByte
pop hl
ld [hl], a
pop hl
jr .NextMove
.done
pop bc
pop de
pop hl
ret
; 4256e
ShiftMoves: ; 4256e
ld c, NUM_MOVES - 1
.loop
inc de
ld a, [de]
ld [hli], a
dec c
jr nz, .loop
ret
; 42577
Function42577: ; 42577
push de
ld d, $0
predef FlagPredef
pop de
ret
; 42581
GetPreEvolution: ; 42581
; Find the first mon to evolve into CurPartySpecies.
; Return carry and the new species in CurPartySpecies
; if a pre-evolution is found.
ld c, 0
.loop ; For each Pokemon...
ld hl, EvosAttacksPointers
ld b, 0
rept 2
add hl, bc
endr
ld a, [hli]
ld h, [hl]
ld l, a
.loop2 ; For each evolution...
ld a, [hli]
and a
jr z, .no_evolve ; If we jump, this Pokemon does not evolve into CurPartySpecies.
cp EVOLVE_STAT ; This evolution type has the extra parameter of stat comparison.
jr nz, .not_tyrogue
inc hl
.not_tyrogue
inc hl
ld a, [CurPartySpecies]
cp [hl]
jr z, .found_preevo
inc hl
ld a, [hl]
and a
jr nz, .loop2
.no_evolve
inc c
ld a, c
cp NUM_POKEMON
jr c, .loop
and a
ret
.found_preevo
inc c
ld a, c
ld [CurPartySpecies], a
scf
ret
; 425b1
SECTION "bank11", ROMX, BANK[$11] SECTION "bank11", ROMX, BANK[$11]
@ -20888,7 +20205,7 @@ CheckPartyFullAfterContest: ; 4d9e5
call GetPartyLocation call GetPartyLocation
ld a, [hl] ld a, [hl]
ld [CurPartyLevel], a ld [CurPartyLevel], a
call Function4db49 call SetCaughtData
ld a, [PartyCount] ld a, [PartyCount]
dec a dec a
ld hl, PartyMon1CaughtLocation ld hl, PartyMon1CaughtLocation
@ -20950,7 +20267,7 @@ CheckPartyFullAfterContest: ; 4d9e5
ld a, [sBoxMon1Level] ld a, [sBoxMon1Level]
ld [CurPartyLevel], a ld [CurPartyLevel], a
call CloseSRAM call CloseSRAM
call Function4db83 call SetBoxMonCaughtData
ld a, BANK(sBoxMon1CaughtLocation) ld a, BANK(sBoxMon1CaughtLocation)
call GetSRAMBank call GetSRAMBank
ld hl, sBoxMon1CaughtLocation ld hl, sBoxMon1CaughtLocation
@ -20987,12 +20304,12 @@ TextJump_GiveANickname: ; 0x4db44
; 0x4db49 ; 0x4db49
Function4db49: ; 4db49 SetCaughtData: ; 4db49
ld a, [PartyCount] ld a, [PartyCount]
dec a dec a
ld hl, PartyMon1CaughtLevel ld hl, PartyMon1CaughtLevel
call GetPartyLocation call GetPartyLocation
Function4db53: ; 4db53 SetBoxmonOrEggmonCaughtData: ; 4db53
ld a, [TimeOfDay] ld a, [TimeOfDay]
inc a inc a
rrca rrca
@ -21026,34 +20343,34 @@ Function4db53: ; 4db53
ret ret
; 4db83 ; 4db83
Function4db83: ; 4db83 SetBoxMonCaughtData: ; 4db83
ld a, BANK(sBoxMon1CaughtLevel) ld a, BANK(sBoxMon1CaughtLevel)
call GetSRAMBank call GetSRAMBank
ld hl, sBoxMon1CaughtLevel ld hl, sBoxMon1CaughtLevel
call Function4db53 call SetBoxmonOrEggmonCaughtData
call CloseSRAM call CloseSRAM
ret ret
; 4db92 ; 4db92
SetBoxMonCaughtData: ; 4db92 SetGiftBoxMonCaughtData: ; 4db92
push bc push bc
ld a, BANK(sBoxMon1CaughtLevel) ld a, BANK(sBoxMon1CaughtLevel)
call GetSRAMBank call GetSRAMBank
ld hl, sBoxMon1CaughtLevel ld hl, sBoxMon1CaughtLevel
pop bc pop bc
call SetPkmnCaughtData call SetGiftMonCaughtData
call CloseSRAM call CloseSRAM
ret ret
; 4dba3 ; 4dba3
SetPartymonCaughtData: ; 4dba3 SetGiftPartyMonCaughtData: ; 4dba3
ld a, [PartyCount] ld a, [PartyCount]
dec a dec a
ld hl, PartyMon1CaughtLevel ld hl, PartyMon1CaughtLevel
push bc push bc
call GetPartyLocation call GetPartyLocation
pop bc pop bc
SetPkmnCaughtData: ; 4dbaf SetGiftMonCaughtData: ; 4dbaf
xor a xor a
ld [hli], a ld [hli], a
ld a, $7e ld a, $7e
@ -21064,7 +20381,7 @@ SetPkmnCaughtData: ; 4dbaf
; 4dbb8 ; 4dbb8
Function4dbb8: ; 4dbb8 (13:5bb8) SetEggMonCaughtData: ; 4dbb8 (13:5bb8)
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMon1CaughtLevel ld hl, PartyMon1CaughtLevel
call GetPartyLocation call GetPartyLocation
@ -21072,7 +20389,7 @@ Function4dbb8: ; 4dbb8 (13:5bb8)
push af push af
ld a, $1 ld a, $1
ld [CurPartyLevel], a ld [CurPartyLevel], a
call Function4db53 call SetBoxmonOrEggmonCaughtData
pop af pop af
ld [CurPartyLevel], a ld [CurPartyLevel], a
ret ret
@ -34954,7 +34271,7 @@ PlaySlowCry: ; fb841
ret ret
; fb877 ; fb877
Functionfb877: ; fb877 NewPokedexEntry: ; fb877
ld a, [hMapAnims] ld a, [hMapAnims]
push af push af
xor a xor a
@ -35300,22 +34617,22 @@ Pokered_MonIndices: ; fb91c
; fba18 ; fba18
Functionfba18: ; fba18 UpdateUnownDex: ; fba18
ld a, [UnownLetter] ld a, [UnownLetter]
ld c, a ld c, a
ld b, 26 ld b, 26
ld hl, UnownDex ld hl, UnownDex
.asm_fba21 .loop
ld a, [hli] ld a, [hli]
and a and a
jr z, .asm_fba2b jr z, .done
cp c cp c
ret z ret z
dec b dec b
jr nz, .asm_fba21 jr nz, .loop
ret ret
.asm_fba2b .done
dec hl dec hl
ld [hl], c ld [hl], c
ret ret
@ -35324,8 +34641,8 @@ Functionfba18: ; fba18
Functionfba2e: ; fba2e (3e:7a2e) Functionfba2e: ; fba2e (3e:7a2e)
hlcoord 4, 15 hlcoord 4, 15
ld bc, $c ld bc, 12
ld a, $7f ld a, " "
call ByteFill call ByteFill
ld a, [wc7dd] ld a, [wc7dd]
ld e, a ld e, a
@ -35650,7 +34967,7 @@ Functionfcc63: ; fcc63
jr c, .asm_fcd1c jr c, .asm_fcd1c
ld b, 1 ld b, 1
.asm_fcd1c .asm_fcd1c
callba SetPartymonCaughtData callba SetGiftPartyMonCaughtData
ld e, TRADE_NICK ld e, TRADE_NICK
call GetTradeAttribute call GetTradeAttribute

View File

@ -6465,7 +6465,7 @@ Function102b32: ; 102b32
ld [CurPartyMon], a ld [CurPartyMon], a
ld a, $1 ld a, $1
ld [wd1e9], a ld [wd1e9], a
callba Function421d8 callba EvolvePokemon
call Function102d9a call Function102d9a
call Function102dd3 call Function102dd3
call Function102dec call Function102dec
@ -6769,7 +6769,7 @@ Function102d48: ; 102d48
ld hl, PartyMon1DVs ld hl, PartyMon1DVs
call AddNTimes call AddNTimes
predef GetUnownLetter predef GetUnownLetter
callba Functionfba18 callba UpdateUnownDex
ld a, [wdef4] ld a, [wdef4]
and a and a
jr nz, .asm_102d98 jr nz, .asm_102d98

View File

@ -7676,7 +7676,7 @@ Function11b7e5: ; 11b7e5
ld [wd1e9], a ld [wd1e9], a
ld a, $2 ld a, $2
ld [wLinkMode], a ld [wLinkMode], a
callba Function421d8 callba EvolvePokemon
xor a xor a
ld [wLinkMode], a ld [wLinkMode], a
callba Function14a58 callba Function14a58

View File

@ -303,7 +303,7 @@ Function17d0f3: ; 17d0f3
ld [wd1e9], a ld [wd1e9], a
ld a, $2 ld a, $2
ld [wLinkMode], a ld [wLinkMode], a
callba Function421d8 callba EvolvePokemon
xor a xor a
ld [wLinkMode], a ld [wLinkMode], a
callba Function14a58 callba Function14a58
@ -415,7 +415,7 @@ Function17d1f1: ; 17d1f1
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes call AddNTimes
predef GetUnownLetter predef GetUnownLetter
callab Functionfba18 callab UpdateUnownDex
ld a, [wdef4] ld a, [wdef4]
and a and a
jr nz, .asm_17d223 jr nz, .asm_17d223
@ -2362,7 +2362,7 @@ Function17ded9: ; 17ded9
push hl push hl
push bc push bc
predef TryAddMonToParty predef TryAddMonToParty
callba Function4db49 callba SetCaughtData
pop bc pop bc
pop hl pop hl
bit 1, b bit 1, b
@ -2400,7 +2400,7 @@ Function17ded9: ; 17ded9
ld a, [hli] ld a, [hli]
ld b, a ld b, a
push hl push hl
callba SetPartymonCaughtData callba SetGiftPartyMonCaughtData
pop hl pop hl
pop bc pop bc
jr .asm_17df5e jr .asm_17df5e
@ -2558,7 +2558,7 @@ Function17e026: ; 17e026
push hl push hl
callba LoadEnemyMon callba LoadEnemyMon
callba SentPkmnIntoBox callba SentPkmnIntoBox
callba Function4db83 callba SetBoxMonCaughtData
pop hl pop hl
pop bc pop bc
ld a, BANK(sBoxMonNicknames) ld a, BANK(sBoxMonNicknames)
@ -2587,7 +2587,7 @@ Function17e026: ; 17e026
ld b, a ld b, a
push hl push hl
call CloseSRAM call CloseSRAM
callba SetBoxMonCaughtData callba SetGiftBoxMonCaughtData
ld a, $1 ld a, $1
call GetSRAMBank call GetSRAMBank
pop hl pop hl

View File

@ -1664,6 +1664,7 @@ wd0e4:: ds 4
wQueuedScriptBank:: ds 1 wQueuedScriptBank:: ds 1
wQueuedScriptAddr:: ds 2 wQueuedScriptAddr:: ds 2
wd0eb:: ds 1 wd0eb:: ds 1
wFieldMoveSucceeded::
wd0ec:: ds 1 wd0ec:: ds 1
VramState:: ; d0ed VramState:: ; d0ed