mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
e8bc86d1fe
Since we're aiming for consistency across the codebase, I believe it includes a uniform way to refer to the creatures this game consists of in the labels of the code. The only exceptions to this rule are labels referring to things named through the use of the <PK><MN> or <PKMN> characters, in which case PKMN is used. Most of this was already consistent enoughâ„¢, I just picked the convention with the most occurences and fixed the outliers.
128 lines
1.8 KiB
NASM
128 lines
1.8 KiB
NASM
CopyMonToTempMon: ; 5084a
|
|
; gets the BaseData of a mon
|
|
; and copies the party_struct to wTempMon
|
|
|
|
ld a, [wCurPartyMon]
|
|
ld e, a
|
|
call GetMonSpecies
|
|
ld a, [wCurPartySpecies]
|
|
ld [wCurSpecies], a
|
|
call GetBaseData
|
|
|
|
ld a, [wMonType]
|
|
ld hl, wPartyMon1Species
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
|
and a
|
|
jr z, .copywholestruct
|
|
ld hl, wOTPartyMon1Species
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
|
cp OTPARTYMON
|
|
jr z, .copywholestruct
|
|
ld bc, BOXMON_STRUCT_LENGTH
|
|
callfar CopyBoxmonToTempMon
|
|
jr .done
|
|
|
|
.copywholestruct
|
|
ld a, [wCurPartyMon]
|
|
call AddNTimes
|
|
ld de, wTempMon
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
|
call CopyBytes
|
|
|
|
.done
|
|
ret
|
|
|
|
CalcBufferMonStats: ; 5088b
|
|
ld bc, wBufferMon
|
|
jr _TempMonStatsCalculation
|
|
|
|
CalcTempmonStats: ; 50890
|
|
ld bc, wTempMon
|
|
_TempMonStatsCalculation: ; 50893
|
|
ld hl, MON_LEVEL
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [wCurPartyLevel], a
|
|
ld hl, MON_MAXHP
|
|
add hl, bc
|
|
ld d, h
|
|
ld e, l
|
|
ld hl, MON_STAT_EXP - 1
|
|
add hl, bc
|
|
push bc
|
|
ld b, $1
|
|
predef CalcMonStats
|
|
pop bc
|
|
ld hl, MON_HP
|
|
add hl, bc
|
|
ld d, h
|
|
ld e, l
|
|
ld a, [wCurPartySpecies]
|
|
cp EGG
|
|
jr nz, .not_egg
|
|
xor a
|
|
ld [de], a
|
|
inc de
|
|
ld [de], a
|
|
jr .zero_status
|
|
|
|
.not_egg
|
|
push bc
|
|
ld hl, MON_MAXHP
|
|
add hl, bc
|
|
ld bc, 2
|
|
call CopyBytes
|
|
pop bc
|
|
|
|
.zero_status
|
|
ld hl, MON_STATUS
|
|
add hl, bc
|
|
xor a
|
|
ld [hli], a
|
|
ld [hl], a
|
|
ret
|
|
|
|
GetMonSpecies: ; 508d5
|
|
; [wMonType] has the type of the mon
|
|
; e = Nr. of mon (i.e. [wCurPartyMon])
|
|
|
|
ld a, [wMonType]
|
|
and a ; PARTYMON
|
|
jr z, .partymon
|
|
cp OTPARTYMON
|
|
jr z, .otpartymon
|
|
cp BOXMON
|
|
jr z, .boxmon
|
|
cp TEMPMON
|
|
jr z, .breedmon
|
|
; WILDMON
|
|
|
|
.partymon
|
|
ld hl, wPartySpecies
|
|
jr .done
|
|
|
|
.otpartymon
|
|
ld hl, wOTPartySpecies
|
|
jr .done
|
|
|
|
.boxmon
|
|
ld a, BANK(sBoxSpecies)
|
|
call GetSRAMBank
|
|
ld hl, sBoxSpecies
|
|
call .done
|
|
call CloseSRAM
|
|
ret
|
|
|
|
.breedmon
|
|
ld a, [wBreedMon1Species]
|
|
jr .done2
|
|
|
|
.done
|
|
ld d, 0
|
|
add hl, de
|
|
ld a, [hl]
|
|
|
|
.done2
|
|
ld [wCurPartySpecies], a
|
|
ret
|