summaryrefslogtreecommitdiff
path: root/engine/breeding.asm
diff options
context:
space:
mode:
authormid-kid <esteve.varela@gmail.com>2018-03-13 13:07:16 +0100
committermid-kid <esteve.varela@gmail.com>2018-03-13 13:21:40 +0100
commitbaa0dc5a963a79843b37888bcfe1d2dfe833ade9 (patch)
tree968c86105bd67a3121d8f3f20018bfc59191f4c9 /engine/breeding.asm
parent12070ca50067d3abe36a730190f88ee43f2cace9 (diff)
Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by creating categorized subdirectories, in order to make it easier to navigate and find things. The directories created are as follows: * engine/game: Contains all "minigames", things like the unown puzzle and slot machine. * engine/gfx: Contains all handling of graphics. From loading palettes to playing animations. * engine/link: Contains all multiplayer functionality. * engine/menu: Contains all generic/misc. menus and menu code. Other, more specialized menus are in their own subdirectories (pokedex, pokegear, party menu, etc). * engine/overworld: Contains all handling of the overworld. From loading and connecting maps to wild encounters and the scripting engine. * engine/pokegear: In the same vein as engine/pokedex, except it could use some more splitting up. * engine/pokemon: Contains everything related to manipulating pokemon data. From the pokemon storage system to evolution and mail. * engine/printer: Contains everything related to printing things as well as the printer communication. * engine/title: Contains intro sequences, title screens and credits.
Diffstat (limited to 'engine/breeding.asm')
-rwxr-xr-xengine/breeding.asm994
1 files changed, 0 insertions, 994 deletions
diff --git a/engine/breeding.asm b/engine/breeding.asm
deleted file mode 100755
index 58b42953c..000000000
--- a/engine/breeding.asm
+++ /dev/null
@@ -1,994 +0,0 @@
-CheckBreedmonCompatibility: ; 16e1d
- call .CheckBreedingGroupCompatibility
- ld c, $0
- jp nc, .done
- ld a, [wBreedMon1Species]
- ld [wCurPartySpecies], a
- ld a, [wBreedMon1DVs]
- ld [wTempMonDVs], a
- ld a, [wBreedMon1DVs + 1]
- ld [wTempMonDVs + 1], a
- ld a, TEMPMON
- ld [wMonType], a
- predef GetGender
- jr c, .genderless
- ld b, $1
- jr nz, .breedmon2
- inc b
-
-.breedmon2
- push bc
- ld a, [wBreedMon2Species]
- ld [wCurPartySpecies], a
- ld a, [wBreedMon2DVs]
- ld [wTempMonDVs], a
- ld a, [wBreedMon2DVs + 1]
- ld [wTempMonDVs + 1], a
- ld a, $3
- ld [wMonType], a
- predef GetGender
- pop bc
- jr c, .genderless
- ld a, $1
- jr nz, .compare_gender
- inc a
-
-.compare_gender
- cp b
- jr nz, .compute
-
-.genderless
- ld c, $0
- ld a, [wBreedMon1Species]
- cp DITTO
- jr z, .ditto1
- ld a, [wBreedMon2Species]
- cp DITTO
- jr nz, .done
- jr .compute
-
-.ditto1
- ld a, [wBreedMon2Species]
- cp DITTO
- jr z, .done
-
-.compute
- call .CheckDVs
- ld c, 255
- jp z, .done
- ld a, [wBreedMon2Species]
- ld b, a
- ld a, [wBreedMon1Species]
- cp b
- ld c, 254
- jr z, .compare_ids
- ld c, 128
-.compare_ids
- ; Speed up
- ld a, [wBreedMon1ID]
- ld b, a
- ld a, [wBreedMon2ID]
- cp b
- jr nz, .done
- ld a, [wBreedMon1ID + 1]
- ld b, a
- ld a, [wBreedMon2ID + 1]
- cp b
- jr nz, .done
- ld a, c
- sub 77
- ld c, a
-
-.done
- ld a, c
- ld [wd265], a
- ret
-; 16ebc
-
-
-.CheckDVs: ; 16ebc (5:6ebc)
-; If Defense DVs match and the lower 3 bits of the Special DVs match,
-; avoid breeding
- ld a, [wBreedMon1DVs]
- and %1111
- ld b, a
- ld a, [wBreedMon2DVs]
- and %1111
- cp b
- ret nz
- ld a, [wBreedMon1DVs + 1]
- and %111
- ld b, a
- ld a, [wBreedMon2DVs + 1]
- and %111
- cp b
- ret
-; 16ed6
-
-.CheckBreedingGroupCompatibility: ; 16ed6
-; If either mon is in the No Eggs group,
-; they are not compatible.
- ld a, [wBreedMon2Species]
- ld [wCurSpecies], a
- call GetBaseData
- ld a, [wBaseEggGroups]
- cp EGG_NONE * $11
- jr z, .Incompatible
-
- ld a, [wBreedMon1Species]
- ld [wCurSpecies], a
- call GetBaseData
- ld a, [wBaseEggGroups]
- cp EGG_NONE * $11
- jr z, .Incompatible
-
-; Ditto is automatically compatible with everything.
-; If not Ditto, load the breeding groups into b/c and d/e.
- ld a, [wBreedMon2Species]
- cp DITTO
- jr z, .Compatible
- ld [wCurSpecies], a
- call GetBaseData
- ld a, [wBaseEggGroups]
- push af
- and $f
- ld b, a
- pop af
- and $f0
- swap a
- ld c, a
-
- ld a, [wBreedMon1Species]
- cp DITTO
- jr z, .Compatible
- ld [wCurSpecies], a
- push bc
- call GetBaseData
- pop bc
- ld a, [wBaseEggGroups]
- push af
- and $f
- ld d, a
- pop af
- and $f0
- swap a
- ld e, a
-
- ld a, d
- cp b
- jr z, .Compatible
- cp c
- jr z, .Compatible
-
- ld a, e
- cp b
- jr z, .Compatible
- cp c
- jr z, .Compatible
-
-.Incompatible:
- and a
- ret
-
-.Compatible:
- scf
- ret
-; 16f3e
-
-DoEggStep:: ; 16f3e
- ld de, wPartySpecies
- ld hl, wPartyMon1Happiness
- ld c, 0
-.loop
- ld a, [de]
- inc de
- cp -1
- ret z
- cp EGG
- jr nz, .next
- dec [hl]
- jr nz, .next
- ld a, 1
- and a
- ret
-
-.next
- push de
- ld de, PARTYMON_STRUCT_LENGTH
- add hl, de
- pop de
- jr .loop
-; 16f5e
-
-OverworldHatchEgg:: ; 16f5e
- call RefreshScreen
- call LoadStandardMenuHeader
- call HatchEggs
- call ExitAllMenus
- call RestartMapMusic
- jp CloseText
-; 16f70
-
-HatchEggs: ; 16f70 (5:6f70)
- ld de, wPartySpecies
- ld hl, wPartyMon1Happiness
- xor a
- ld [wCurPartyMon], a
-
-.loop ; 16f7a (5:6f7a)
- ld a, [de]
- inc de
- cp -1
- jp z, .done
- push de
- push hl
- cp EGG
- jp nz, .next
- ld a, [hl]
- and a
- jp nz, .next
- ld [hl], $78
-
- push de
-
- farcall SetEggMonCaughtData
- farcall StubbedTrainerRankings_EggsHatched
- ld a, [wCurPartyMon]
- ld hl, wPartyMon1Species
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld a, [hl]
- ld [wCurPartySpecies], a
- dec a
- call SetSeenAndCaughtMon
-
- ld a, [wCurPartySpecies]
- cp TOGEPI
- jr nz, .nottogepi
- ; set the event flag for hatching togepi
- ld de, EVENT_TOGEPI_HATCHED
- ld b, SET_FLAG
- call EventFlagAction
-.nottogepi
-
- pop de
-
- ld a, [wCurPartySpecies]
- dec de
- ld [de], a
- ld [wd265], a
- ld [wCurSpecies], a
- call GetPokemonName
- xor a
- ld [wd26b], a
- call GetBaseData
- ld a, [wCurPartyMon]
- ld hl, wPartyMon1
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- push hl
- ld bc, MON_MAXHP
- add hl, bc
- ld d, h
- ld e, l
- pop hl
- push hl
- ld bc, MON_LEVEL
- add hl, bc
- ld a, [hl]
- ld [wCurPartyLevel], a
- pop hl
- push hl
- ld bc, MON_STATUS
- add hl, bc
- xor a
- ld [hli], a
- ld [hl], a
- pop hl
- push hl
- ld bc, MON_STAT_EXP - 1
- add hl, bc
- ld b, FALSE
- predef CalcMonStats
- pop bc
- ld hl, MON_MAXHP
- add hl, bc
- ld d, h
- ld e, l
- ld hl, MON_HP
- add hl, bc
- ld a, [de]
- inc de
- ld [hli], a
- ld a, [de]
- ld [hl], a
- ld hl, MON_ID
- add hl, bc
- ld a, [wPlayerID]
- ld [hli], a
- ld a, [wPlayerID + 1]
- ld [hl], a
- ld a, [wCurPartyMon]
- ld hl, wPartyMonOT
- ld bc, NAME_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- ld hl, wPlayerName
- call CopyBytes
- ld hl, .Text_HatchEgg
- call PrintText
- ld a, [wCurPartyMon]
- ld hl, wPartyMonNicknames
- ld bc, MON_NAME_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- push de
- ld hl, .Text_NicknameHatchling
- call PrintText
- call YesNoBox
- pop de
- jr c, .nonickname
-
- ld a, $1
- ld [wd26b], a
- xor a
- ld [wMonType], a
- push de
- ld b, $0
- farcall NamingScreen
- pop hl
- ld de, wStringBuffer1
- call InitName
- jr .next
-
-.nonickname
- ld hl, wStringBuffer1
- ld bc, MON_NAME_LENGTH
- call CopyBytes
-
-.next ; 1707d (5:707d)
- ld hl, wCurPartyMon
- inc [hl]
- pop hl
- ld de, PARTYMON_STRUCT_LENGTH
- add hl, de
- pop de
- jp .loop
-
-.done ; 1708a (5:708a)
- ret
-; 1708b (5:708b)
-
-.Text_HatchEgg: ; 0x1708b
- ; Huh? @ @
- text_jump UnknownText_0x1c0db0
- start_asm
- ld hl, wVramState
- res 0, [hl]
- push hl
- push de
- push bc
- ld a, [wCurPartySpecies]
- push af
- call EggHatch_AnimationSequence
- ld hl, .ClearTextbox
- call PrintText
- pop af
- ld [wCurPartySpecies], a
- pop bc
- pop de
- pop hl
- ld hl, .CameOutOfItsEgg
- ret
-; 170b0 (5:70b0)
-
-.ClearTextbox: ; 0x170b0
- ;
- text_jump UnknownText_0x1c0db8
- db "@"
-; 0x170b5
-
-.CameOutOfItsEgg: ; 0x170b5
- ; came out of its EGG!@ @
- text_jump UnknownText_0x1c0dba
- db "@"
-; 0x170ba
-
-.Text_NicknameHatchling: ; 0x170ba
- ; Give a nickname to @ ?
- text_jump UnknownText_0x1c0dd8
- db "@"
-; 0x170bf
-
-InitEggMoves: ; 170bf
- call GetHeritableMoves
- ld d, h
- ld e, l
- ld b, NUM_MOVES
-.loop
- ld a, [de]
- and a
- jr z, .done
- ld hl, wEggMonMoves
- ld c, NUM_MOVES
-.next
- ld a, [de]
- cp [hl]
- jr z, .skip
- inc hl
- dec c
- jr nz, .next
- call GetEggMove
- jr nc, .skip
- call LoadEggMove
-
-.skip
- inc de
- dec b
- jr nz, .loop
-
-.done
- ret
-; 170e4
-
-GetEggMove: ; 170e4
- push bc
- ld a, [wEggMonSpecies]
- dec a
- ld c, a
- ld b, 0
- ld hl, EggMovePointers
- add hl, bc
- add hl, bc
- ld a, BANK(EggMovePointers)
- call GetFarHalfword
-.loop
- ld a, BANK(EggMoves)
- call GetFarByte
- cp -1
- jr z, .reached_end
- ld b, a
- ld a, [de]
- cp b
- jr z, .done_carry
- inc hl
- jr .loop
-
-.reached_end
- call GetBreedmonMovePointer
- ld b, NUM_MOVES
-.loop2
- ld a, [de]
- cp [hl]
- jr z, .found_eggmove
- inc hl
- dec b
- jr z, .inherit_tmhm
- jr .loop2
-
-.found_eggmove
- ld a, [wEggMonSpecies]
- dec a
- ld c, a
- ld b, 0
- ld hl, EvosAttacksPointers
- add hl, bc
- add hl, bc
- ld a, BANK(EvosAttacksPointers)
- call GetFarHalfword
-.loop3
- ld a, BANK(EvosAttacks)
- call GetFarByte
- inc hl
- and a
- jr nz, .loop3
-.loop4
- ld a, BANK(EvosAttacks)
- call GetFarByte
- and a
- jr z, .inherit_tmhm
- inc hl
- ld a, BANK(EvosAttacks)
- call GetFarByte
- ld b, a
- ld a, [de]
- cp b
- jr z, .done_carry
- inc hl
- jr .loop4
-
-.inherit_tmhm
- ld hl, TMHMMoves
-.loop5
- ld a, BANK(TMHMMoves)
- call GetFarByte
- inc hl
- and a
- jr z, .done
- ld b, a
- ld a, [de]
- cp b
- jr nz, .loop5
- ld [wPutativeTMHMMove], a
- predef CanLearnTMHMMove
- ld a, c
- and a
- jr z, .done
-
-.done_carry
- pop bc
- scf
- ret
-
-.done
- pop bc
- and a
- ret
-; 17169
-
-LoadEggMove: ; 17169
- push de
- push bc
- ld a, [de]
- ld b, a
- ld hl, wEggMonMoves
- ld c, NUM_MOVES
-.loop
- ld a, [hli]
- and a
- jr z, .done
- dec c
- jr nz, .loop
- ld de, wEggMonMoves
- ld hl, wEggMonMoves + 1
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
-
-.done
- dec hl
- ld [hl], b
- ld hl, wEggMonMoves
- ld de, wEggMonPP
- predef FillPP
- pop bc
- pop de
- ret
-; 17197
-
-GetHeritableMoves: ; 17197
- ld hl, wBreedMon2Moves
- ld a, [wBreedMon1Species]
- cp DITTO
- jr z, .ditto1
- ld a, [wBreedMon2Species]
- cp DITTO
- jr z, .ditto2
- ld a, [wBreedMotherOrNonDitto]
- and a
- ret z
- ld hl, wBreedMon1Moves
- ret
-
-.ditto1
- ld a, [wCurPartySpecies]
- push af
- ld a, [wBreedMon2Species]
- ld [wCurPartySpecies], a
- ld a, [wBreedMon2DVs]
- ld [wTempMonDVs], a
- ld a, [wBreedMon2DVs + 1]
- ld [wTempMonDVs + 1], a
- ld a, TEMPMON
- ld [wMonType], a
- predef GetGender
- jr c, .inherit_mon2_moves
- jr nz, .inherit_mon2_moves
- jr .inherit_mon1_moves
-
-.ditto2
- ld a, [wCurPartySpecies]
- push af
- ld a, [wBreedMon1Species]
- ld [wCurPartySpecies], a
- ld a, [wBreedMon1DVs]
- ld [wTempMonDVs], a
- ld a, [wBreedMon1DVs + 1]
- ld [wTempMonDVs + 1], a
- ld a, TEMPMON
- ld [wMonType], a
- predef GetGender
- jr c, .inherit_mon1_moves
- jr nz, .inherit_mon1_moves
-
-.inherit_mon2_moves
- ld hl, wBreedMon2Moves
- pop af
- ld [wCurPartySpecies], a
- ret
-
-.inherit_mon1_moves
- ld hl, wBreedMon1Moves
- pop af
- ld [wCurPartySpecies], a
- ret
-; 1720b
-
-GetBreedmonMovePointer: ; 1720b
- ld hl, wBreedMon1Moves
- ld a, [wBreedMon1Species]
- cp DITTO
- ret z
- ld a, [wBreedMon2Species]
- cp DITTO
- jr z, .ditto
- ld a, [wBreedMotherOrNonDitto]
- and a
- ret z
-
-.ditto
- ld hl, wBreedMon2Moves
- ret
-; 17224
-
-
-GetEggFrontpic: ; 17224 (5:7224)
- push de
- ld [wCurPartySpecies], a
- ld [wCurSpecies], a
- call GetBaseData
- ld hl, wBattleMonDVs
- predef GetUnownLetter
- pop de
- predef_jump GetMonFrontpic
-
-GetHatchlingFrontpic: ; 1723c (5:723c)
- push de
- ld [wCurPartySpecies], a
- ld [wCurSpecies], a
- call GetBaseData
- ld hl, wBattleMonDVs
- predef GetUnownLetter
- pop de
- predef_jump GetAnimatedFrontpic
-
-Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254)
- push af
- call WaitTop
- push hl
- push bc
- hlcoord 0, 0
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, " "
- call ByteFill
- pop bc
- pop hl
- ld a, b
- ld [hBGMapAddress + 1], a
- ld a, c
- ld [hGraphicStartTile], a
- lb bc, 7, 7
- predef PlaceGraphic
- pop af
- call Hatch_LoadFrontpicPal
- call SetPalettes
- jp WaitBGMap
-
-EggHatch_DoAnimFrame: ; 1727f (5:727f)
- push hl
- push de
- push bc
- callfar PlaySpriteAnimations
- call DelayFrame
- pop bc
- pop de
- pop hl
- ret
-
-EggHatch_AnimationSequence: ; 1728f (5:728f)
- ld a, [wd265]
- ld [wJumptableIndex], a
- ld a, [wCurSpecies]
- push af
- ld de, MUSIC_NONE
- call PlayMusic
- farcall BlankScreen
- call DisableLCD
- ld hl, EggHatchGFX
- ld de, vTiles0 tile $00
- ld bc, 2 tiles
- ld a, BANK(EggHatchGFX)
- call FarCopyBytes
- farcall ClearSpriteAnims
- ld de, vTiles2 tile $00
- ld a, [wJumptableIndex]
- call GetHatchlingFrontpic
- ld de, vTiles2 tile $31
- ld a, EGG
- call GetEggFrontpic
- ld de, MUSIC_EVOLUTION
- call PlayMusic
- call EnableLCD
- hlcoord 7, 4
- ld b, HIGH(vBGMap0)
- ld c, $31 ; Egg tiles start here
- ld a, EGG
- call Hatch_UpdateFrontpicBGMapCenter
- ld c, 80
- call DelayFrames
- xor a
- ld [wFrameCounter], a
- ld a, [hSCX]
- ld b, a
-.outerloop
- ld hl, wFrameCounter
- ld a, [hl]
- inc [hl]
- cp 8
- jr nc, .done
- ld e, [hl]
-.loop
-; wobble e times
- ld a, 2
- ld [hSCX], a
- ld a, -2
- ld [wGlobalAnimXOffset], a
- call EggHatch_DoAnimFrame
- ld c, 2
- call DelayFrames
- ld a, -2
- ld [hSCX], a
- ld a, 2
- ld [wGlobalAnimXOffset], a
- call EggHatch_DoAnimFrame
- ld c, 2
- call DelayFrames
- dec e
- jr nz, .loop
- ld c, 16
- call DelayFrames
- call EggHatch_CrackShell
- jr .outerloop
-
-.done
- ld de, SFX_EGG_HATCH
- call PlaySFX
- xor a
- ld [hSCX], a
- ld [wGlobalAnimXOffset], a
- call ClearSprites
- call Hatch_InitShellFragments
- hlcoord 6, 3
- ld b, HIGH(vBGMap0)
- ld c, $00 ; Hatchling tiles start here
- ld a, [wJumptableIndex]
- call Hatch_UpdateFrontpicBGMapCenter
- call Hatch_ShellFragmentLoop
- call WaitSFX
- ld a, [wJumptableIndex]
- ld [wCurPartySpecies], a
- hlcoord 6, 3
- ld d, $0
- ld e, ANIM_MON_HATCH
- predef AnimateFrontpic
- pop af
- ld [wCurSpecies], a
- ret
-
-Hatch_LoadFrontpicPal: ; 17363 (5:7363)
- ld [wPlayerHPPal], a
- ld b, SCGB_EVOLUTION
- ld c, $0
- jp GetSGBLayout
-
-EggHatch_CrackShell: ; 1736d (5:736d)
- ld a, [wFrameCounter]
- dec a
- and $7
- cp $7
- ret z
- srl a
- ret nc
- swap a
- srl a
- add 9 * 8 + 4
- ld d, a
- ld e, 11 * 8
- ld a, SPRITE_ANIM_INDEX_EGG_CRACK
- call _InitSpriteAnimStruct
- ld hl, SPRITEANIMSTRUCT_TILE_ID
- add hl, bc
- ld [hl], $0
- ld de, SFX_EGG_CRACK
- jp PlaySFX
-; 17393 (5:7393)
-
-EggHatchGFX: ; 17393
-INCBIN "gfx/evo/egg_hatch.2bpp"
-; 173b3
-
-Hatch_InitShellFragments: ; 173b3 (5:73b3)
- farcall ClearSpriteAnims
- ld hl, .SpriteData
-.loop
- ld a, [hli]
- cp -1
- jr z, .done
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld b, a
- push hl
- push bc
-
- ld a, SPRITE_ANIM_INDEX_EGG_HATCH
- call _InitSpriteAnimStruct
-
- ld hl, SPRITEANIMSTRUCT_TILE_ID
- add hl, bc
- ld [hl], $0
-
- pop de
- ld a, e
- ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- add [hl]
- ld [hl], a
-
- ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
- add hl, bc
- ld [hl], d
-
- pop hl
- jr .loop
-.done
- ld de, SFX_EGG_HATCH
- call PlaySFX
- call EggHatch_DoAnimFrame
- ret
-; 173ef (5:73ef)
-
-shell_fragment: MACRO
-; y tile, y pxl, x tile, x pxl, frameset offset, ???
- db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5 - SPRITE_ANIM_FRAMESET_EGG_HATCH_1, \6
-ENDM
-
-.SpriteData: ; 173ef
- shell_fragment 10, 4, 9, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $3c
- shell_fragment 11, 4, 9, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_2, $04
- shell_fragment 10, 4, 10, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $30
- shell_fragment 11, 4, 10, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_2, $10
- shell_fragment 10, 4, 11, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_3, $24
- shell_fragment 11, 4, 11, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_4, $1c
- shell_fragment 10, 0, 9, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $36
- shell_fragment 12, 0, 9, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_2, $0a
- shell_fragment 10, 0, 10, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_3, $2a
- shell_fragment 12, 0, 10, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_4, $16
- db -1
-; 17418
-
-Hatch_ShellFragmentLoop: ; 17418 (5:7418)
- ld c, 129
-.loop
- call EggHatch_DoAnimFrame
- dec c
- jr nz, .loop
- ret
-
-DayCareMon1: ; 17421
- ld hl, DayCareMon1Text
- call PrintText
- ld a, [wBreedMon1Species]
- call PlayMonCry
- ld a, [wDayCareLady]
- bit DAYCARELADY_HAS_MON_F, a
- jr z, DayCareMonCursor
- call ButtonSound
- ld hl, wBreedMon2Nick
- call DayCareMonCompatibilityText
- jp PrintText
-
-DayCareMon2: ; 17440
- ld hl, DayCareMon2Text
- call PrintText
- ld a, [wBreedMon2Species]
- call PlayMonCry
- ld a, [wDayCareMan]
- bit DAYCAREMAN_HAS_MON_F, a
- jr z, DayCareMonCursor
- call ButtonSound
- ld hl, wBreedMon1Nick
- call DayCareMonCompatibilityText
- jp PrintText
-
-DayCareMonCursor: ; 1745f
- jp WaitPressAorB_BlinkCursor
-; 17462
-
-DayCareMon2Text: ; 0x17462
- ; It's @ that was left with the DAY-CARE LADY.
- text_jump UnknownText_0x1c0df3
- db "@"
-; 0x17467
-
-DayCareMon1Text: ; 0x17467
- ; It's @ that was left with the DAY-CARE MAN.
- text_jump UnknownText_0x1c0e24
- db "@"
-; 0x1746c
-
-DayCareMonCompatibilityText: ; 1746c
- push bc
- ld de, wStringBuffer1
- ld bc, NAME_LENGTH
- call CopyBytes
- call CheckBreedmonCompatibility
- pop bc
- ld a, [wd265]
- ld hl, .AllAlone
- cp -1
- jr z, .done
- ld hl, .Incompatible
- and a
- jr z, .done
- ld hl, .HighCompatibility
- cp 230
- jr nc, .done
- cp 70
- ld hl, .ModerateCompatibility
- jr nc, .done
- ld hl, .SlightCompatibility
-
-.done
- ret
-; 1749c
-
-.AllAlone: ; 0x1749c
- ; It's brimming with energy.
- text_jump UnknownText_0x1c0e54
- db "@"
-; 0x174a1
-
-.Incompatible: ; 0x174a1
- ; It has no interest in @ .
- text_jump UnknownText_0x1c0e6f
- db "@"
-; 0x174a6
-
-.HighCompatibility: ; 0x174a6
- ; It appears to care for @ .
- text_jump UnknownText_0x1c0e8d
- db "@"
-; 0x174ab
-
-.ModerateCompatibility: ; 0x174ab
- ; It's friendly with @ .
- text_jump UnknownText_0x1c0eac
- db "@"
-; 0x174b0
-
-.SlightCompatibility: ; 0x174b0
- ; It shows interest in @ .
- text_jump UnknownText_0x1c0ec6
- db "@"
-; 0x174b5
-
-Unreferenced_DayCareMonPrintEmptyString: ; 174b5
- ld hl, .string
- ret
-; 174b9
-
-.string ; 174b9
- db "@"
-; 174ba
-