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

View File

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

View File

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

136
main.asm
View File

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

View File

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

View File

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