mirror of
https://github.com/thornAvery/jep-hack.git
synced 2026-02-07 08:35:23 +13:00
First Commit
Upload literally everything from the pokecrystal16 expand-move-ID branch
This commit is contained in:
commit
2f8a41f833
4618 changed files with 480386 additions and 0 deletions
246
engine/pokemon/caught_data.asm
Normal file
246
engine/pokemon/caught_data.asm
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
CheckPartyFullAfterContest:
|
||||
ld a, [wContestMonSpecies]
|
||||
and a
|
||||
jp z, .DidntCatchAnything
|
||||
ld [wCurPartySpecies], a
|
||||
ld [wCurSpecies], a
|
||||
call GetBaseData
|
||||
ld hl, wPartyCount
|
||||
ld a, [hl]
|
||||
cp PARTY_LENGTH
|
||||
jp nc, .TryAddToBox
|
||||
inc a
|
||||
ld [hl], a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld a, [wContestMonSpecies]
|
||||
ld [hli], a
|
||||
ld [wCurSpecies], a
|
||||
ld a, -1
|
||||
ld [hl], a
|
||||
ld hl, wPartyMon1Species
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
call AddNTimes
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, wContestMon
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
call CopyBytes
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld hl, wPartyMonOTs
|
||||
call SkipNames
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, wPlayerName
|
||||
call CopyBytes
|
||||
ld a, [wCurPartySpecies]
|
||||
ld [wNamedObjectIndex], a
|
||||
call GetPokemonName
|
||||
ld hl, wStringBuffer1
|
||||
ld de, wMonOrItemNameBuffer
|
||||
ld bc, MON_NAME_LENGTH
|
||||
call CopyBytes
|
||||
call GiveANickname_YesNo
|
||||
jr c, .Party_SkipNickname
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld [wCurPartyMon], a
|
||||
xor a
|
||||
ld [wMonType], a
|
||||
ld de, wMonOrItemNameBuffer
|
||||
callfar InitNickname
|
||||
|
||||
.Party_SkipNickname:
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld hl, wPartyMonNicknames
|
||||
call SkipNames
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, wMonOrItemNameBuffer
|
||||
call CopyBytes
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld hl, wPartyMon1Level
|
||||
call GetPartyLocation
|
||||
ld a, [hl]
|
||||
ld [wCurPartyLevel], a
|
||||
call SetCaughtData
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld hl, wPartyMon1CaughtLocation
|
||||
call GetPartyLocation
|
||||
ld a, [hl]
|
||||
and CAUGHT_GENDER_MASK
|
||||
ld b, LANDMARK_NATIONAL_PARK
|
||||
or b
|
||||
ld [hl], a
|
||||
xor a
|
||||
ld [wContestMonSpecies], a
|
||||
and a ; BUGCONTEST_CAUGHT_MON
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
.TryAddToBox:
|
||||
ld a, BANK(sBoxCount)
|
||||
call OpenSRAM
|
||||
ld hl, sBoxCount
|
||||
ld a, [hl]
|
||||
cp MONS_PER_BOX
|
||||
call CloseSRAM
|
||||
jr nc, .BoxFull
|
||||
xor a
|
||||
ld [wCurPartyMon], a
|
||||
ld hl, wContestMon
|
||||
ld de, wBufferMon
|
||||
ld bc, BOXMON_STRUCT_LENGTH
|
||||
call CopyBytes
|
||||
ld hl, wPlayerName
|
||||
ld de, wBufferMonOT
|
||||
ld bc, NAME_LENGTH
|
||||
call CopyBytes
|
||||
callfar InsertPokemonIntoBox
|
||||
ld a, [wCurPartySpecies]
|
||||
ld [wNamedObjectIndex], a
|
||||
call GetPokemonName
|
||||
call GiveANickname_YesNo
|
||||
ld hl, wStringBuffer1
|
||||
jr c, .Box_SkipNickname
|
||||
ld a, BOXMON
|
||||
ld [wMonType], a
|
||||
ld de, wMonOrItemNameBuffer
|
||||
callfar InitNickname
|
||||
ld hl, wMonOrItemNameBuffer
|
||||
|
||||
.Box_SkipNickname:
|
||||
ld a, BANK(sBoxMonNicknames)
|
||||
call OpenSRAM
|
||||
ld de, sBoxMonNicknames
|
||||
ld bc, MON_NAME_LENGTH
|
||||
call CopyBytes
|
||||
call CloseSRAM
|
||||
|
||||
.BoxFull:
|
||||
ld a, BANK(sBoxMon1Level)
|
||||
call OpenSRAM
|
||||
ld a, [sBoxMon1Level]
|
||||
ld [wCurPartyLevel], a
|
||||
call CloseSRAM
|
||||
call SetBoxMonCaughtData
|
||||
ld a, BANK(sBoxMon1CaughtLocation)
|
||||
call OpenSRAM
|
||||
ld hl, sBoxMon1CaughtLocation
|
||||
ld a, [hl]
|
||||
and CAUGHT_GENDER_MASK
|
||||
ld b, LANDMARK_NATIONAL_PARK
|
||||
or b
|
||||
ld [hl], a
|
||||
call CloseSRAM
|
||||
xor a
|
||||
ld [wContestMon], a
|
||||
ld a, BUGCONTEST_BOXED_MON
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
.DidntCatchAnything:
|
||||
ld a, BUGCONTEST_NO_CATCH
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
GiveANickname_YesNo:
|
||||
ld hl, CaughtAskNicknameText
|
||||
call PrintText
|
||||
jp YesNoBox
|
||||
|
||||
CaughtAskNicknameText:
|
||||
text_far _CaughtAskNicknameText
|
||||
text_end
|
||||
|
||||
SetCaughtData:
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld hl, wPartyMon1CaughtLevel
|
||||
call GetPartyLocation
|
||||
SetBoxmonOrEggmonCaughtData:
|
||||
ld a, [wTimeOfDay]
|
||||
inc a
|
||||
rrca
|
||||
rrca
|
||||
ld b, a
|
||||
ld a, [wCurPartyLevel]
|
||||
or b
|
||||
ld [hli], a
|
||||
ld a, [wMapGroup]
|
||||
ld b, a
|
||||
ld a, [wMapNumber]
|
||||
ld c, a
|
||||
cp MAP_POKECENTER_2F
|
||||
jr nz, .NotPokecenter2F
|
||||
ld a, b
|
||||
cp GROUP_POKECENTER_2F
|
||||
jr nz, .NotPokecenter2F
|
||||
|
||||
ld a, [wBackupMapGroup]
|
||||
ld b, a
|
||||
ld a, [wBackupMapNumber]
|
||||
ld c, a
|
||||
|
||||
.NotPokecenter2F:
|
||||
call GetWorldMapLocation
|
||||
ld b, a
|
||||
ld a, [wPlayerGender]
|
||||
rrca ; shift bit 0 (PLAYERGENDER_FEMALE_F) to bit 7 (CAUGHT_GENDER_MASK)
|
||||
or b
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
SetBoxMonCaughtData:
|
||||
ld a, BANK(sBoxMon1CaughtLevel)
|
||||
call OpenSRAM
|
||||
ld hl, sBoxMon1CaughtLevel
|
||||
call SetBoxmonOrEggmonCaughtData
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
SetGiftBoxMonCaughtData:
|
||||
push bc
|
||||
ld a, BANK(sBoxMon1CaughtLevel)
|
||||
call OpenSRAM
|
||||
ld hl, sBoxMon1CaughtLevel
|
||||
pop bc
|
||||
call SetGiftMonCaughtData
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
SetGiftPartyMonCaughtData:
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld hl, wPartyMon1CaughtLevel
|
||||
push bc
|
||||
call GetPartyLocation
|
||||
pop bc
|
||||
SetGiftMonCaughtData:
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, LANDMARK_GIFT
|
||||
rrc b
|
||||
or b
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
SetEggMonCaughtData:
|
||||
ld a, [wCurPartyMon]
|
||||
ld hl, wPartyMon1CaughtLevel
|
||||
call GetPartyLocation
|
||||
ld a, [wCurPartyLevel]
|
||||
push af
|
||||
ld a, CAUGHT_EGG_LEVEL
|
||||
ld [wCurPartyLevel], a
|
||||
call SetBoxmonOrEggmonCaughtData
|
||||
pop af
|
||||
ld [wCurPartyLevel], a
|
||||
ret
|
||||
Loading…
Add table
Add a link
Reference in a new issue