found CalcPkmnStats-function

This commit is contained in:
JimB16 2015-10-08 20:53:39 +02:00
parent 975efb28ae
commit 6730600d9b
6 changed files with 94 additions and 72 deletions

View File

@ -3738,7 +3738,7 @@ Function_SetEnemyPkmnAndSendOutAnimation: ; 3d7c7
call GetBaseData call GetBaseData
ld a, OTPARTYMON ld a, OTPARTYMON
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
call Function3f47c call Function3f47c
xor a xor a
@ -6514,7 +6514,7 @@ LoadEnemyMon: ; 3e8eb
ld de, EnemyMonMaxHP ld de, EnemyMonMaxHP
ld b, $00 ld b, $00
ld hl, LinkBattleRNs + 7 ; ? ld hl, LinkBattleRNs + 7 ; ?
predef Functione167 predef CalcPkmnStats
; If we're in a trainer battle, ; If we're in a trainer battle,
; get the rest of the parameters from the party struct ; get the rest of the parameters from the party struct
@ -7561,7 +7561,7 @@ endr
.asm_3ef74 .asm_3ef74
xor a xor a
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
callab Function50e1b callab Function50e1b
pop bc pop bc
ld hl, PartyMon1Level - PartyMon1 ld hl, PartyMon1Level - PartyMon1
@ -7597,7 +7597,7 @@ endr
add hl, bc add hl, bc
push bc push bc
ld b, $1 ld b, $1
predef Functione167 predef CalcPkmnStats
pop bc pop bc
pop de pop de
ld hl, $0025 ld hl, $0025
@ -7673,7 +7673,7 @@ endr
.asm_3f057 .asm_3f057
xor a xor a
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
hlcoord 9, 0 hlcoord 9, 0
ld b, $a ld b, $a
ld c, $9 ld c, $9
@ -7828,7 +7828,7 @@ Function3f136: ; 3f136
ld [DefaultFlypoint], a ld [DefaultFlypoint], a
xor a xor a
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
ld a, [TempMonLevel] ld a, [TempMonLevel]
ld b, a ld b, a
ld e, a ld e, a

View File

@ -38,11 +38,11 @@ PredefPointers:: ; 856b
add_predef FillPP add_predef FillPP
add_predef Functiond88c add_predef Functiond88c
add_predef Functionda96 add_predef Functionda96
add_predef Functiondb3f ; $8 add_predef SentGetPkmnIntoFromBox
add_predef SentPkmnIntoBox add_predef SentPkmnIntoBox
add_predef GiveEgg add_predef GiveEgg
add_predef Functionc6e0 add_predef Functionc6e0
add_predef Functione167 add_predef CalcPkmnStats
add_predef Functione17b add_predef Functione17b
add_predef CanLearnTMHMMove add_predef CanLearnTMHMMove
add_predef GetTMHMMove add_predef GetTMHMMove
@ -61,7 +61,7 @@ PredefPointers:: ; 856b
add_predef Function421e6 add_predef Function421e6
add_predef Function28f63 add_predef Function28f63
add_predef Function28f24 add_predef Function28f24
add_predef Function5084a add_predef CopyPkmnToTempMon
add_predef ListMoves ; $20 add_predef ListMoves ; $20
add_predef Function50d2e add_predef Function50d2e
add_predef Function50cdb add_predef Function50cdb

View File

@ -1288,7 +1288,7 @@ Functionee8c: ; ee8c
ld a, PartyMon1HPExp - 1 - PartyMon1 ld a, PartyMon1HPExp - 1 - PartyMon1
call GetPartyParamLocation call GetPartyParamLocation
ld b, $1 ld b, $1
predef_jump Functione167 predef_jump CalcPkmnStats
; ee9f ; ee9f
Functionee9f: ; ee9f Functionee9f: ; ee9f
@ -1427,7 +1427,7 @@ RareCandy: ; ef14
xor a xor a
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
hlcoord 9, 0 hlcoord 9, 0
ld b, 10 ld b, 10

136
main.asm
View File

@ -8204,7 +8204,7 @@ endr
ld bc, $000a ld bc, $000a
add hl, bc add hl, bc
ld b, $0 ld b, $0
call Functione167 call CalcPkmnStats
.asm_da45 .asm_da45
ld a, [MonType] ld a, [MonType]
@ -8263,6 +8263,7 @@ Functionda96: ; da96
cp PARTY_LENGTH cp PARTY_LENGTH
scf scf
ret z ret z
inc a inc a
ld [hl], a ld [hl], a
ld c, a ld c, a
@ -8336,30 +8337,37 @@ Functionda96: ; da96
and a and a
ret ret
; db3f
Functiondb3f: ; db3f
SentGetPkmnIntoFromBox: ; db3f
; Sents/Gets Pkmn into/from Box depending on Parameter
; wd10b == 0: get Pkmn into Party
; wd10b == 1: sent Pkmn into Box
ld a, BANK(sBoxCount) ld a, BANK(sBoxCount)
call GetSRAMBank call GetSRAMBank
ld a, [wd10b] ld a, [wd10b]
and a and a
jr z, .asm_db60 jr z, .check_IfPartyIsFull
cp $2 cp $2
jr z, .asm_db60 jr z, .check_IfPartyIsFull
cp $3 cp $3
ld hl, wBreedMon1Species ld hl, wBreedMon1Species
jr z, .asm_db9b jr z, .asm_db9b
; we want to sent a Pkmn into the Box
; so check if there's enough space
ld hl, sBoxCount ld hl, sBoxCount
ld a, [hl] ld a, [hl]
cp MONS_PER_BOX cp MONS_PER_BOX
jr nz, .asm_db69 jr nz, .asm_db69
jp Functiondcb1 jp CloseSRAM_And_SetCFlag
.asm_db60 .check_IfPartyIsFull
ld hl, PartyCount ld hl, PartyCount
ld a, [hl] ld a, [hl]
cp PARTY_LENGTH cp PARTY_LENGTH
jp z, Functiondcb1 jp z, CloseSRAM_And_SetCFlag
.asm_db69 .asm_db69
inc a inc a
@ -8387,7 +8395,7 @@ Functiondb3f: ; db3f
ld a, [sBoxCount] ld a, [sBoxCount]
.asm_db97 .asm_db97
dec a dec a ; PartyCount - 1
call AddNTimes call AddNTimes
.asm_db9b .asm_db9b
@ -8490,7 +8498,7 @@ Functiondb3f: ; db3f
srl a srl a
add $2 add $2
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
callab Function50e1b callab Function50e1b
ld a, d ld a, d
ld [CurPartyLevel], a ld [CurPartyLevel], a
@ -8508,7 +8516,7 @@ Functiondb3f: ; db3f
add hl, bc add hl, bc
push bc push bc
ld b, $1 ld b, $1
call Functione167 call CalcPkmnStats
pop bc pop bc
ld a, [wd10b] ld a, [wd10b]
and a and a
@ -8553,7 +8561,7 @@ endr
ret ret
; dcb1 ; dcb1
Functiondcb1: ; dcb1 CloseSRAM_And_SetCFlag: ; dcb1
call CloseSRAM call CloseSRAM
scf scf
ret ret
@ -8561,7 +8569,6 @@ Functiondcb1: ; dcb1
Functiondcb6: ; dcb6 Functiondcb6: ; dcb6
ld a, b ld a, b
ld hl, sBoxMons ld hl, sBoxMons
ld bc, sBoxMon1End - sBoxMon1 ld bc, sBoxMon1End - sBoxMon1
@ -8725,7 +8732,7 @@ Functiondd64: ; dd64
add hl, bc add hl, bc
push bc push bc
ld b, $1 ld b, $1
call Functione167 call CalcPkmnStats
ld hl, PartyMon1Moves ld hl, PartyMon1Moves
ld a, [PartyCount] ld a, [PartyCount]
dec a dec a
@ -9039,7 +9046,7 @@ GiveEgg:: ; df8c
dec a dec a
ld hl, PartyMonNicknames ld hl, PartyMonNicknames
call SkipNames call SkipNames
ld de, Stringe035 ld de, String_Egg
call CopyName2 call CopyName2
ld a, [PartyCount] ld a, [PartyCount]
dec a dec a
@ -9066,12 +9073,11 @@ GiveEgg:: ; df8c
ret ret
; e035 ; e035
Stringe035: ; e035 String_Egg: ; e035
db "EGG@" db "EGG@"
; e039 ; e039
Functione039: ; e039 Functione039: ; e039
ld hl, PartyCount ld hl, PartyCount
ld a, [wd10b] ld a, [wd10b]
@ -9239,7 +9245,7 @@ Functione134: ; e134
ld a, PartyMon1Exp + 2 - PartyMon1 ld a, PartyMon1Exp + 2 - PartyMon1
call GetPartyParamLocation call GetPartyParamLocation
ld b, $1 ld b, $1
call Functione167 call CalcPkmnStats
pop de pop de
ld a, PartyMon1HP - PartyMon1 ld a, PartyMon1HP - PartyMon1
call GetPartyParamLocation call GetPartyParamLocation
@ -9251,7 +9257,12 @@ Functione134: ; e134
ret ret
; e167 ; e167
Functione167: ; e167 CalcPkmnStats: ; e167
; Calculates all 6 Stats of a Pkmn
; b = 0 or 1
; 'c' counts from 1-6 and points with 'BaseStats' to the base value
; results in $ffb5 and $ffb6 are saved in [de]
ld c, $0 ld c, $0
.asm_e169 .asm_e169
inc c inc c
@ -9269,14 +9280,16 @@ Functione167: ; e167
; e17b ; e17b
Functione17b: ; e17b Functione17b: ; e17b
; 'c' is 1-6 and points to the BaseStat
push hl push hl
push de push de
push bc push bc
ld a, b ld a, b
ld d, a ld d, a
push hl push hl
ld hl, BaseHP ld hl, BaseStats
dec hl dec hl ; has to be decreased, because 'c' begins with 1
ld b, $0 ld b, $0
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -14171,7 +14184,7 @@ Function13172: ; 13172
hlcoord 5, 1 hlcoord 5, 1
call PlaceString call PlaceString
push bc push bc
callba Function5084a callba CopyPkmnToTempMon
pop hl pop hl
call PrintLevel call PrintLevel
ld hl, PlayerHPPal ld hl, PlayerHPPal
@ -14188,7 +14201,7 @@ Function131ef: ; 131ef
ld [hBGMapMode], a ld [hBGMapMode], a
ld [wd0e3], a ld [wd0e3], a
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
ld hl, TempMonMoves ld hl, TempMonMoves
ld de, wd25e ld de, wd25e
ld bc, NUM_MOVES ld bc, NUM_MOVES
@ -15726,7 +15739,7 @@ Function13a47: ; 13a47
ld hl, PartyMon1Exp + 2 - PartyMon1 ld hl, PartyMon1Exp + 2 - PartyMon1
add hl, bc add hl, bc
ld b, $1 ld b, $1
predef Functione167 predef CalcPkmnStats
pop hl pop hl
ld bc, PartyMon2 - PartyMon1 ld bc, PartyMon2 - PartyMon1
add hl, bc add hl, bc
@ -20929,7 +20942,7 @@ Function169ac: ; 169ac
pop hl pop hl
push bc push bc
ld b, $0 ld b, $0
predef Functione167 predef CalcPkmnStats
pop bc pop bc
ld hl, PartyMon1HP - PartyMon1 ld hl, PartyMon1HP - PartyMon1
add hl, bc add hl, bc
@ -21733,7 +21746,7 @@ Function16f7a: ; 16f7a (5:6f7a)
ld bc, PartyMon1Exp + 2 - PartyMon1 ld bc, PartyMon1Exp + 2 - PartyMon1
add hl, bc add hl, bc
ld b, $0 ld b, $0
predef Functione167 predef CalcPkmnStats
pop bc pop bc
ld hl, PartyMon1MaxHP - PartyMon1 ld hl, PartyMon1MaxHP - PartyMon1
add hl, bc add hl, bc
@ -35655,7 +35668,7 @@ endr
push hl push hl
xor a xor a
ld [MonType], a ld [MonType], a
predef Function5084a predef CopyPkmnToTempMon
pop hl pop hl
.asm_42230 .asm_42230
@ -35865,7 +35878,7 @@ endr
ld hl, TempMonExp + 2 ld hl, TempMonExp + 2
ld de, TempMonMaxHP ld de, TempMonMaxHP
ld b, $1 ld b, $1
predef Functione167 predef CalcPkmnStats
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMons ld hl, PartyMons
@ -44935,7 +44948,7 @@ Function4ddf2: ; 4ddf2 (13:5df2)
call CopyBytes call CopyBytes
jr .asm_4de2a jr .asm_4de2a
.asm_4de10 .asm_4de10
callba Function5084a callba CopyPkmnToTempMon
ld a, [CurPartySpecies] ld a, [CurPartySpecies]
cp EGG cp EGG
jr z, .asm_4de2a jr z, .asm_4de2a
@ -48065,10 +48078,13 @@ UnknownText_0x50845: ; 0x50845
db "@" db "@"
; 0x5084a ; 0x5084a
Function5084a: ; 5084a CopyPkmnToTempMon: ; 5084a
; gets the BaseData of a Pkmn
; and copys the PkmnStructure to TempMon
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld e, a ld e, a
call Function508d5 call GetPkmnSpecies
ld a, [CurPartySpecies] ld a, [CurPartySpecies]
ld [CurSpecies], a ld [CurSpecies], a
call GetBaseData call GetBaseData
@ -48089,7 +48105,7 @@ Function5084a: ; 5084a
.copywholestruct .copywholestruct
ld a, [CurPartyMon] ld a, [CurPartyMon]
call AddNTimes call AddNTimes
ld de, TempMonSpecies ld de, TempMon
ld bc, PartyMon2 - PartyMon1 ld bc, PartyMon2 - PartyMon1
call CopyBytes call CopyBytes
@ -48121,7 +48137,7 @@ Function50893: ; 50893
add hl, bc add hl, bc
push bc push bc
ld b, $1 ld b, $1
predef Functione167 predef CalcPkmnStats
pop bc pop bc
ld hl, TempMonHP - TempMon ld hl, TempMonHP - TempMon
add hl, bc add hl, bc
@ -48153,7 +48169,10 @@ Function50893: ; 50893
ret ret
; 508d5 ; 508d5
Function508d5: ; 508d5 GetPkmnSpecies: ; 508d5
; [MonType] has the type of the Pkmn
; e = Nr. of Pkmn (i.e. [CurPartyMon])
ld a, [MonType] ld a, [MonType]
and a ; PARTYMON and a ; PARTYMON
jr z, .partymon jr z, .partymon
@ -48656,7 +48675,7 @@ Function50cdb: ; 50cdb
call GetNick call GetNick
pop hl pop hl
call PlaceString call PlaceString
call Function5084a call CopyPkmnToTempMon
pop hl pop hl
ld a, [CurPartySpecies] ld a, [CurPartySpecies]
cp EGG cp EGG
@ -48877,15 +48896,15 @@ Function50e1b: ; 50e1b
call Function50e47 call Function50e47
push hl push hl
ld hl, TempMonExp + 2 ld hl, TempMonExp + 2
ld a, [$ffb6] ld a, [hMultiplicand + 2]
ld c, a ld c, a
ld a, [hld] ld a, [hld]
sub c sub c
ld a, [$ffb5] ld a, [hMultiplicand + 1]
ld c, a ld c, a
ld a, [hld] ld a, [hld]
sbc c sbc c
ld a, [hMultiplicand] ld a, [hMultiplicand + 0]
ld c, a ld c, a
ld a, [hl] ld a, [hl]
sbc c sbc c
@ -49131,12 +49150,12 @@ Function50f62: ; 50f62 (14:4f62)
ld bc, $30 ld bc, $30
call CopyBytes call CopyBytes
ld a, [Buffer2] ; wd1eb (aliases: MovementType) ld a, [Buffer2] ; wd1eb (aliases: MovementType)
ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) ld hl, PartyMonOT
call SkipNames call SkipNames
push hl push hl
call Function51036 call Function51036
ld a, [wd1ec] ld a, [wd1ec]
ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) ld hl, PartyMonOT
call SkipNames call SkipNames
pop de pop de
push hl push hl
@ -81727,7 +81746,7 @@ Functione2fd6: ; e2fd6 (38:6fd6)
call Functione3357 call Functione3357
ld hl, PartyMonNicknames ld hl, PartyMonNicknames
call Functione3363 call Functione3363
ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) ld hl, PartyMonOT
call Functione3376 call Functione3376
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)
ld bc, $30 ld bc, $30
@ -81774,8 +81793,8 @@ Functione307c: ; e307c (38:707c)
call GetNick call GetNick
ld a, $1 ld a, $1
ld [wd10b], a ld [wd10b], a
predef Functiondb3f predef SentGetPkmnIntoFromBox
jr c, .asm_e30e4 jr c, .asm_boxisfull
xor a xor a
ld [wd10b], a ld [wd10b], a
callba Functione039 callba Functione039
@ -81792,7 +81811,7 @@ Functione307c: ; e307c (38:707c)
call TextBox call TextBox
call WaitBGMap call WaitBGMap
hlcoord 1, 16 hlcoord 1, 16
ld de, String_e3563 ld de, String_Stored
call PlaceString call PlaceString
ld l, c ld l, c
ld h, b ld h, b
@ -81804,8 +81823,9 @@ Functione307c: ; e307c (38:707c)
call DelayFrames call DelayFrames
and a and a
ret ret
.asm_e30e4
ld de, String_e3575 .asm_boxisfull
ld de, String_TheBoxIsFull
call Functione2a6e call Functione2a6e
ld de, SFX_WRONG ld de, SFX_WRONG
call WaitPlaySFX call WaitPlaySFX
@ -81828,8 +81848,8 @@ Functione30fa: ; e30fa (38:70fa)
call CloseSRAM call CloseSRAM
xor a xor a
ld [wd10b], a ld [wd10b], a
predef Functiondb3f predef SentGetPkmnIntoFromBox
jr c, .asm_e316a jr c, .party_is_full
ld a, $1 ld a, $1
ld [wd10b], a ld [wd10b], a
callba Functione039 callba Functione039
@ -81846,7 +81866,7 @@ Functione30fa: ; e30fa (38:70fa)
call TextBox call TextBox
call WaitBGMap call WaitBGMap
hlcoord 1, 16 hlcoord 1, 16
ld de, String_e356b ld de, String_Got
call PlaceString call PlaceString
ld l, c ld l, c
ld h, b ld h, b
@ -81858,8 +81878,9 @@ Functione30fa: ; e30fa (38:70fa)
call DelayFrames call DelayFrames
and a and a
ret ret
.asm_e316a
ld de, String_e3586 .party_is_full
ld de, String_ThePartysFull
call Functione2a6e call Functione2a6e
ld de, SFX_WRONG ld de, SFX_WRONG
call WaitPlaySFX call WaitPlaySFX
@ -81869,6 +81890,7 @@ Functione30fa: ; e30fa (38:70fa)
scf scf
ret ret
Functione3180: ; e3180 (38:7180) Functione3180: ; e3180 (38:7180)
hlcoord 0, 0 hlcoord 0, 0
ld bc, $f08 ld bc, $f08
@ -82237,11 +82259,11 @@ String_e3531: db "No more usable ", $e1, $e2, "!@"
String_e3544: db "Remove MAIL.@" String_e3544: db "Remove MAIL.@"
String_e3551: db "Released ", $e1, $e2, ".@" String_e3551: db "Released ", $e1, $e2, ".@"
String_e355e: db "Bye,@" String_e355e: db "Bye,@"
String_e3563: db "Stored @" String_Stored: db "Stored @"
String_e356b: db "Got @" String_Got: db "Got @"
String_e3570: db "Non.@" String_e3570: db "Non.@"
String_e3575: db "The BOX is full.@" String_TheBoxIsFull: db "The BOX is full.@"
String_e3586: db "The party's full!@" String_ThePartysFull: db "The party's full!@"
String_e3597: db "No releasing EGGS!@" String_e3597: db "No releasing EGGS!@"
; e35aa ; e35aa
@ -92417,7 +92439,7 @@ Function1dc381: ; 1dc381
xor a xor a
ld [MonType], a ld [MonType], a
callba Function5084a callba CopyPkmnToTempMon
hlcoord 0, 7 hlcoord 0, 7
ld b, $9 ld b, $9
ld c, $12 ld c, $12
@ -92501,7 +92523,7 @@ Function1dc47b: ; 1dc47b
call Functione58 call Functione58
xor a xor a
ld [MonType], a ld [MonType], a
callba Function5084a callba CopyPkmnToTempMon
hlcoord 0, 0 hlcoord 0, 0
ld b, 15 ld b, 15
ld c, 18 ld c, 18

View File

@ -15686,7 +15686,7 @@ Function11b483: ; 11b483
pop de pop de
push de push de
ld b, $1 ld b, $1
predef Functione167 predef CalcPkmnStats
pop de pop de
ld h, d ld h, d
ld l, e ld l, e
@ -16102,7 +16102,7 @@ Function11b6b4: ; 11b6b4
ld hl, $c616 + 1 ld hl, $c616 + 1
ld de, $c62c + 5 ld de, $c62c + 5
ld b, $1 ld b, $1
predef Functione167 predef CalcPkmnStats
ld de, $c62c + 5 ld de, $c62c + 5
ld hl, $c62c + 3 ld hl, $c62c + 3
ld a, [de] ld a, [de]
@ -23076,7 +23076,7 @@ endr
ld hl, $000a ld hl, $000a
add hl, bc add hl, bc
ld b, $1 ld b, $1
predef Functione167 predef CalcPkmnStats
pop de pop de
pop hl pop hl
rept 2 rept 2

View File

@ -2465,7 +2465,7 @@ endr
ld e, l ld e, l
push hl push hl
ld b, $0 ld b, $0
callba Functione167 callba CalcPkmnStats
ld a, [PartyCount] ld a, [PartyCount]
dec a dec a
ld hl, PartyMon1HP ld hl, PartyMon1HP