ref: a99adb0e5affbb8ef5aa8ded07043801665efd9e
dir: /engine/tempmon.asm/
CopyPkmnToTempMon: ; 5084a ; gets the BaseData of a Pkmn ; and copys the PkmnStructure to wTempMon ld a, [wCurPartyMon] ld e, a call GetPkmnSpecies 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 CalcwBufferMonStats: ; 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 CalcPkmnStats 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 GetPkmnSpecies: ; 508d5 ; [wMonType] has the type of the Pkmn ; e = Nr. of Pkmn (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