Name and comment some move learning functions.

This commit is contained in:
yenatch
2014-06-16 10:32:39 -07:00
parent f244e4483e
commit 0b7dfeb9b2
2 changed files with 98 additions and 73 deletions

View File

@@ -22,6 +22,7 @@ NUM_BOXES EQU 14
; predefs ; predefs
PREDEF_LEARN_MOVE EQU $00
PREDEF_FLAG EQU $03 PREDEF_FLAG EQU $03
PREDEF_FILLPP EQU $05 PREDEF_FILLPP EQU $05
PREDEF_ADDPARTYMON EQU $06 PREDEF_ADDPARTYMON EQU $06

170
main.asm
View File

@@ -5251,7 +5251,7 @@ Function64db: ; 64db
ret ret
; 6508 ; 6508
Function6508: ; 6508 LearnMove: ; 6508
call Function309d call Function309d
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMonNicknames ld hl, PartyMonNicknames
@@ -5261,7 +5261,7 @@ Function6508: ; 6508
ld bc, PKMN_NAME_LENGTH ld bc, PKMN_NAME_LENGTH
call CopyBytes call CopyBytes
Function6520: ; 6520 .loop
ld hl, PartyMon1Moves ld hl, PartyMon1Moves
ld bc, PartyMon2 - PartyMon1 ld bc, PartyMon2 - PartyMon1
ld a, [CurPartyMon] ld a, [CurPartyMon]
@@ -5269,17 +5269,18 @@ Function6520: ; 6520
ld d, h ld d, h
ld e, l ld e, l
ld b, NUM_MOVES ld b, NUM_MOVES
.asm_6530 .next
ld a, [hl] ld a, [hl]
and a and a
jr z, .asm_6564 jr z, .learn
inc hl inc hl
dec b dec b
jr nz, .asm_6530 jr nz, .next
push de push de
call Function65d3 call Function65d3
pop de pop de
jp c, Function65b5 jp c, .cancel
push hl push hl
push de push de
@@ -5288,14 +5289,14 @@ Function6520: ; 6520
ld b, a ld b, a
ld a, [IsInBattle] ld a, [IsInBattle]
and a and a
jr z, .asm_6559 jr z, .not_disabled
ld a, [DisabledMove] ld a, [DisabledMove]
cp b cp b
jr nz, .asm_6559 jr nz, .not_disabled
xor a xor a
ld [DisabledMove], a ld [DisabledMove], a
ld [PlayerDisableCount], a ld [PlayerDisableCount], a
.asm_6559 .not_disabled
call GetMoveName call GetMoveName
ld hl, UnknownText_0x6684 ld hl, UnknownText_0x6684
@@ -5303,11 +5304,12 @@ Function6520: ; 6520
pop de pop de
pop hl pop hl
.asm_6564 .learn
ld a, [$d262] ld a, [$d262]
ld [hl], a ld [hl], a
ld bc, $0015 ld bc, PartyMon1PP - PartyMon1Moves
add hl, bc add hl, bc
push hl push hl
push de push de
dec a dec a
@@ -5318,18 +5320,23 @@ Function6520: ; 6520
call GetFarByte call GetFarByte
pop de pop de
pop hl pop hl
ld [hl], a ld [hl], a
ld a, [IsInBattle] ld a, [IsInBattle]
and a and a
jp z, Function65ca jp z, .learned
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld b, a ld b, a
ld a, [CurBattleMon] ld a, [CurBattleMon]
cp b cp b
jp nz, Function65ca jp nz, .learned
ld a, [PlayerSubStatus5] ld a, [PlayerSubStatus5]
bit 3, a bit SUBSTATUS_TRANSFORMED, a
jp nz, Function65ca jp nz, .learned
ld h, d ld h, d
ld l, e ld l, e
ld de, BattleMonMoves ld de, BattleMonMoves
@@ -5340,24 +5347,23 @@ Function6520: ; 6520
ld de, BattleMonPP ld de, BattleMonPP
ld bc, NUM_MOVES ld bc, NUM_MOVES
call CopyBytes call CopyBytes
jp Function65ca jp .learned
; 65b5
Function65b5: ; 65b5 .cancel
ld hl, UnknownText_0x6675 ld hl, UnknownText_0x6675
call PrintText call PrintText
call YesNoBox call YesNoBox
jp c, Function6520 jp c, .loop
ld hl, UnknownText_0x667a ld hl, UnknownText_0x667a
call PrintText call PrintText
ld b, $0 ld b, 0
ret ret
; 65ca
Function65ca: ; 65ca .learned
ld hl, UnknownText_0x666b ld hl, UnknownText_0x666b
call PrintText call PrintText
ld b, $1 ld b, 1
ret ret
; 65d3 ; 65d3
@@ -6452,8 +6458,8 @@ ChangeHappiness: ; 71c2
db +5, +3, +2 db +5, +3, +2
db +5, +3, +2 db +5, +3, +2
db +1, +1, +0 db +1, +1, +0
db +3, +2, +1 db +3, +2, +1 ; Battled a Gym Leader
db +1, +1, +0 db +1, +1, +0 ; Learned a move
db -1, -1, -1 db -1, -1, -1
db -5, -5, -10 db -5, -5, -10
db -5, -5, -10 db -5, -5, -10
@@ -7753,7 +7759,7 @@ PredefPointers: ; 856b
; $4b Predef pointers ; $4b Predef pointers
; address, bank ; address, bank
dwb Function6508, BANK(Function6508) ; $0 dwb LearnMove, BANK(LearnMove) ; $0
dwb Function747a, BANK(Function747a) dwb Function747a, BANK(Function747a)
dwb Functionc658, BANK(Functionc658) dwb Functionc658, BANK(Functionc658)
dwb FlagPredef, BANK(FlagPredef) dwb FlagPredef, BANK(FlagPredef)
@@ -7779,7 +7785,7 @@ PredefPointers: ; 856b
dwb FillInExpBar, BANK(FillInExpBar) dwb FillInExpBar, BANK(FillInExpBar)
dwb Function3f43d, BANK(Function3f43d) ; $18 dwb Function3f43d, BANK(Function3f43d) ; $18
dwb Function3f47c, BANK(Function3f47c) dwb Function3f47c, BANK(Function3f47c)
dwb Function42487, BANK(Function42487) dwb LearnLevelMoves, BANK(LearnLevelMoves)
dwb FillMoves, BANK(FillMoves) dwb FillMoves, BANK(FillMoves)
dwb Function421e6, BANK(Function421e6) dwb Function421e6, BANK(Function421e6)
dwb Function28f63, BANK(Function28f63) dwb Function28f63, BANK(Function28f63)
@@ -14644,12 +14650,12 @@ WobbleChances: ; f9ba
; f9ea ; f9ea
Functionf9ea: ; f9ea KnowsMove: ; f9ea
ld a, $2 ld a, PartyMon1Moves - PartyMon1
call GetPartyParamLocation call GetPartyParamLocation
ld a, [$d262] ld a, [$d262]
ld b, a ld b, a
ld c, $4 ld c, NUM_MOVES
.asm_f9f5 .asm_f9f5
ld a, [hli] ld a, [hli]
cp b cp b
@@ -38251,7 +38257,8 @@ Function28ea3: ; 28ea3
; 28eab ; 28eab
String28eab: ; 28eab String28eab: ; 28eab
db "TRADE", $4e, "CANCEL@" db "TRADE"
next "CANCEL@"
UnknownText_0x28eb8: ; 0x28eb8 UnknownText_0x28eb8: ; 0x28eb8
; Trade @ for @ ? ; Trade @ for @ ?
@@ -38260,10 +38267,11 @@ UnknownText_0x28eb8: ; 0x28eb8
; 0x28ebd ; 0x28ebd
String28ebd: ; 28ebd String28ebd: ; 28ebd
db "Trade completed!@" db "Trade completed!@"
String28ece: ; 28ece String28ece: ; 28ece
db "Too bad! The trade", $4e, "was canceled!@" db "Too bad! The trade"
next "was canceled!@"
Function28eef: ; 28eef Function28eef: ; 28eef
@@ -42611,11 +42619,13 @@ Function2c80a: ; 2c80a
Function2c867: ; 2c867 Function2c867: ; 2c867
ld a, $e ld a, $e
call Predef call Predef
push bc push bc
ld a, [CurPartyMon] ; $d109 ld a, [CurPartyMon] ; $d109
ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
call GetNick call GetNick
pop bc pop bc
ld a, c ld a, c
and a and a
jr nz, .asm_2c88b jr nz, .asm_2c88b
@@ -42627,31 +42637,35 @@ Function2c867: ; 2c867
call PrintText call PrintText
jr .asm_2c8b6 jr .asm_2c8b6
.asm_2c88b .asm_2c88b
callab Functionf9ea
callab KnowsMove
jr c, .asm_2c8b6 jr c, .asm_2c8b6
ld a, $0
ld a, PREDEF_LEARN_MOVE
call Predef call Predef
ld a, b ld a, b
and a and a
jr z, .asm_2c8b6 jr z, .asm_2c8b6
callba Function106049 callba Function106049
ld a, [CurItem] ; $d106 ld a, [CurItem]
call IsHM call IsHM
ret c ret c
ld c, $5 ld c, $5
callab ChangeHappiness callab ChangeHappiness
call Function2cb0c call Function2cb0c
jr Function2c8bd jr .asm_2c8bd
.asm_2c8b6 .asm_2c8b6
and a and a
ret ret
; 2c8b8 (b:48b8)
Function2c8b8: ; 2c8b8 .asm_2c8b8
ld a, $2 ld a, $2
ld [$d0ec], a ld [$d0ec], a
Function2c8bd: ; 2c8bd .asm_2c8bd
scf scf
ret ret
; 2c8bf (b:48bf) ; 2c8bf (b:48bf)
@@ -47042,7 +47056,7 @@ Function421f5: ; 421f5
ld [$d265], a ld [$d265], a
xor a xor a
ld [MonType], a ld [MonType], a
call Function42487 call LearnLevelMoves
ld a, [$d265] ld a, [$d265]
dec a dec a
call SetSeenAndCaughtMon call SetSeenAndCaughtMon
@@ -47172,7 +47186,7 @@ UnknownText_0x42482: ; 0x42482
; 0x42487 ; 0x42487
Function42487: ; 42487 LearnLevelMoves: ; 42487
ld a, [$d265] ld a, [$d265]
ld [CurPartySpecies], a ld [CurPartySpecies], a
dec a dec a
@@ -47184,50 +47198,55 @@ Function42487: ; 42487
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
.asm_42499
.skip_evos
ld a, [hli] ld a, [hli]
and a and a
jr nz, .asm_42499 jr nz, .skip_evos
.asm_4249d
.find_move
ld a, [hli] ld a, [hli]
and a and a
jr z, .asm_424da jr z, .done
ld b, a ld b, a
ld a, [CurPartyLevel] ld a, [CurPartyLevel]
cp b cp b
ld a, [hli] ld a, [hli]
jr nz, .asm_4249d jr nz, .find_move
push hl push hl
ld d, a ld d, a
ld hl, PartyMon1Moves ld hl, PartyMon1Moves
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld bc, PartyMon2 - PartyMon1 ld bc, PartyMon2 - PartyMon1
call AddNTimes call AddNTimes
ld b, NUM_MOVES ld b, NUM_MOVES
.asm_424b9 .check_move
ld a, [hli] ld a, [hli]
cp d cp d
jr z, .asm_424c2 jr z, .has_move
dec b dec b
jr nz, .asm_424b9 jr nz, .check_move
jr .asm_424c5 jr .learn
.has_move
.asm_424c2
pop hl pop hl
jr .asm_4249d jr .find_move
.asm_424c5 .learn
ld a, d ld a, d
ld [$d262], a ld [$d262], a
ld [$d265], a ld [$d265], a
call GetMoveName call GetMoveName
call CopyName1 call CopyName1
ld a, $0 ld a, PREDEF_LEARN_MOVE
call Predef call Predef
pop hl pop hl
jr .asm_4249d jr .find_move
.asm_424da .done
ld a, [CurPartySpecies] ld a, [CurPartySpecies]
ld [$d265], a ld [$d265], a
ret ret
@@ -47235,7 +47254,7 @@ Function42487: ; 42487
FillMoves: ; 424e1 FillMoves: ; 424e1
; Fill in moves at de for CurPartySpecies at CurPartyLevle ; Fill in moves at de for CurPartySpecies at CurPartyLevel
push hl push hl
push de push de
@@ -50581,16 +50600,19 @@ Function492a5: ; 492a5
Function492b9: ; 492b9 Function492b9: ; 492b9
ld hl, MenuDataHeader_0x4930a ld hl, MenuDataHeader_0x4930a
call LoadMenuDataHeader call LoadMenuDataHeader
ld a, $e ld a, $e
call Predef call Predef
push bc push bc
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMonNicknames ld hl, PartyMonNicknames
call GetNick call GetNick
pop bc pop bc
ld a, c ld a, c
and a and a
jr nz, .asm_492e5 jr nz, .can_learn
push de push de
ld de, SFX_WRONG ld de, SFX_WRONG
call PlaySFX call PlaySFX
@@ -50598,26 +50620,28 @@ Function492b9: ; 492b9
ld a, BANK(UnknownText_0x2c8ce) ld a, BANK(UnknownText_0x2c8ce)
ld hl, UnknownText_0x2c8ce ld hl, UnknownText_0x2c8ce
call FarPrintText call FarPrintText
jr .asm_49300 jr .didnt_learn
.can_learn
.asm_492e5 callab KnowsMove
callab Functionf9ea jr c, .didnt_learn
jr c, .asm_49300
ld a, $0 ld a, PREDEF_LEARN_MOVE
call Predef call Predef
ld a, b ld a, b
and a and a
jr z, .asm_49300 jr z, .didnt_learn
ld c, $5 ld c, $5
callab ChangeHappiness callab ChangeHappiness
jr .asm_49305 jr .learned
.asm_49300 .didnt_learn
call Function1c07 call Function1c07
and a and a
ret ret
.asm_49305 .learned
call Function1c07 call Function1c07
scf scf
ret ret
@@ -67785,12 +67809,12 @@ Function8963d: ; 8963d
; 89655 ; 89655
Function89655: ; 89655 Function89655: ; 89655
ld hl, $ceca ld hl, AttrMap + SCREEN_WIDTH * 12 + 1
ld de, $0014 ld de, SCREEN_WIDTH
ld a, $5 ld a, 5
ld b, $4 ld b, 4
.asm_8965f .asm_8965f
ld c, $12 ld c, 18
push hl push hl
.asm_89662 .asm_89662
ld [hli], a ld [hli], a