2018-01-16 20:47:45 -08:00
; PrintDayCareText.TextTable indexes
2015-12-18 17:07:09 -08:00
const_def
2015-12-24 19:58:42 -08:00
const DAYCARETEXT_MAN_INTRO
const DAYCARETEXT_MAN_EGG
const DAYCARETEXT_LADY_INTRO
const DAYCARETEXT_LADY_EGG
const DAYCARETEXT_WHICH_ONE
const DAYCARETEXT_DEPOSIT
const DAYCARETEXT_CANT_BREED_EGG
const DAYCARETEXT_LAST_MON
const DAYCARETEXT_LAST_ALIVE_MON
const DAYCARETEXT_COME_BACK_LATER
const DAYCARETEXT_REMOVE_MAIL
const DAYCARETEXT_GENIUSES
const DAYCARETEXT_ASK_WITHDRAW
const DAYCARETEXT_WITHDRAW
2018-01-16 20:47:45 -08:00
const DAYCARETEXT_GOT_BACK
2015-12-24 19:58:42 -08:00
const DAYCARETEXT_TOO_SOON
const DAYCARETEXT_PARTY_FULL
const DAYCARETEXT_NOT_ENOUGH_MONEY
const DAYCARETEXT_OH_FINE
const DAYCARETEXT_COME_AGAIN
2015-12-18 17:07:09 -08:00
2018-06-24 07:09:41 -07:00
DayCareMan:
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2018-01-22 10:18:23 -08:00
bit DAYCAREMAN_HAS_MON_F , [ hl ]
2015-12-18 17:07:09 -08:00
jr nz , .AskWithdrawMon
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_MAN_INTRO
2015-12-18 17:07:09 -08:00
call DayCareManIntroText
jr c , .cancel
call DayCareAskDepositPokemon
jr c , .print_text
2017-12-24 09:47:30 -08:00
farcall DepositMonWithDayCareMan
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2018-01-22 10:18:23 -08:00
set DAYCAREMAN_HAS_MON_F , [ hl ]
2015-12-18 17:07:09 -08:00
call DayCare_DepositPokemonText
call DayCare_InitBreeding
2015-11-16 18:46:36 -08:00
ret
2016-04-10 11:42:14 -07:00
.AskWithdrawMon:
2017-12-24 09:47:30 -08:00
farcall GetBreedMon1LevelGrowth
2015-11-16 18:46:36 -08:00
ld hl , wBreedMon1Nick
2015-12-24 19:58:42 -08:00
call GetPriceToRetrieveBreedmon
call DayCare_AskWithdrawBreedMon
2015-12-18 17:07:09 -08:00
jr c , .print_text
2018-02-14 02:51:47 -08:00
farcall RetrieveMonFromDayCareMan
2018-01-16 20:47:45 -08:00
call DayCare_GetBackMonForMoney
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2018-01-22 10:18:23 -08:00
res DAYCAREMAN_HAS_MON_F , [ hl ]
res DAYCAREMAN_MONS_COMPATIBLE_F , [ hl ]
2015-12-18 17:07:09 -08:00
jr .cancel
2015-11-16 18:46:36 -08:00
2015-12-18 17:07:09 -08:00
.print_text
call PrintDayCareText
2015-11-16 18:46:36 -08:00
2015-12-18 17:07:09 -08:00
.cancel
2018-01-16 20:47:45 -08:00
ld a , DAYCARETEXT_COME_AGAIN
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
ret
2018-06-24 07:09:41 -07:00
DayCareLady:
2017-12-10 10:37:15 -08:00
ld hl , wDayCareLady
2018-01-22 10:18:23 -08:00
bit DAYCARELADY_HAS_MON_F , [ hl ]
2015-12-18 17:07:09 -08:00
jr nz , .AskWithdrawMon
2017-12-10 10:37:15 -08:00
ld hl , wDayCareLady
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_LADY_INTRO
2015-12-18 17:07:09 -08:00
call DayCareLadyIntroText
jr c , .cancel
call DayCareAskDepositPokemon
jr c , .print_text
2017-12-24 09:47:30 -08:00
farcall DepositMonWithDayCareLady
2017-12-10 10:37:15 -08:00
ld hl , wDayCareLady
2018-01-22 10:18:23 -08:00
set DAYCARELADY_HAS_MON_F , [ hl ]
2015-12-18 17:07:09 -08:00
call DayCare_DepositPokemonText
call DayCare_InitBreeding
2015-11-16 18:46:36 -08:00
ret
2016-04-10 11:42:14 -07:00
.AskWithdrawMon:
2017-12-24 09:47:30 -08:00
farcall GetBreedMon2LevelGrowth
2015-11-16 18:46:36 -08:00
ld hl , wBreedMon2Nick
2015-12-24 19:58:42 -08:00
call GetPriceToRetrieveBreedmon
call DayCare_AskWithdrawBreedMon
2015-12-18 17:07:09 -08:00
jr c , .print_text
2018-02-14 02:51:47 -08:00
farcall RetrieveMonFromDayCareLady
2018-01-16 20:47:45 -08:00
call DayCare_GetBackMonForMoney
2017-12-10 10:37:15 -08:00
ld hl , wDayCareLady
2018-01-22 10:18:23 -08:00
res DAYCARELADY_HAS_MON_F , [ hl ]
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2018-01-22 10:18:23 -08:00
res DAYCAREMAN_MONS_COMPATIBLE_F , [ hl ]
2015-12-18 17:07:09 -08:00
jr .cancel
2015-11-16 18:46:36 -08:00
2015-12-18 17:07:09 -08:00
.print_text
call PrintDayCareText
2015-11-16 18:46:36 -08:00
2015-12-18 17:07:09 -08:00
.cancel
2018-01-16 20:47:45 -08:00
ld a , DAYCARETEXT_COME_AGAIN
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
ret
2018-06-24 07:09:41 -07:00
DayCareLadyIntroText:
2018-01-22 10:18:23 -08:00
bit DAYCARELADY_ACTIVE_F , [ hl ]
2015-12-18 17:07:09 -08:00
jr nz , .okay
2018-01-22 10:18:23 -08:00
set DAYCARELADY_ACTIVE_F , [ hl ]
2015-11-16 18:46:36 -08:00
inc a
2015-12-18 17:07:09 -08:00
.okay
call PrintDayCareText
2015-11-16 18:46:36 -08:00
call YesNoBox
ret
2018-06-24 07:09:41 -07:00
DayCareManIntroText:
2018-01-22 10:18:23 -08:00
set DAYCAREMAN_ACTIVE_F , [ hl ]
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
call YesNoBox
ret
2018-06-24 07:09:41 -07:00
DayCareAskDepositPokemon:
2018-01-23 14:39:09 -08:00
ld a , [ wPartyCount ]
2015-11-16 18:46:36 -08:00
cp 2
2015-12-18 17:07:09 -08:00
jr c , .OnlyOneMon
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_WHICH_ONE
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2017-11-30 11:27:25 -08:00
ld b , PARTYMENUACTION_GIVE_MON
2017-12-24 09:47:30 -08:00
farcall SelectTradeOrDayCareMon
2015-12-18 17:07:09 -08:00
jr c , .Declined
2018-01-23 14:39:09 -08:00
ld a , [ wCurPartySpecies ]
2015-11-16 18:46:36 -08:00
cp EGG
2015-12-18 17:07:09 -08:00
jr z , .Egg
2017-12-24 09:47:30 -08:00
farcall Ch eckCurPartyMonFainted
2015-12-18 17:07:09 -08:00
jr c , .OutOfUsableMons
2018-01-23 14:39:09 -08:00
ld hl , wPartyMon1Item
2015-11-16 18:46:36 -08:00
ld bc , PARTYMON_STRUCT_LENGTH
2018-01-23 14:39:09 -08:00
ld a , [ wCurPartyMon ]
2015-11-16 18:46:36 -08:00
call AddNTimes
ld d , [ hl ]
2017-12-24 09:47:30 -08:00
farcall ItemIsMail
2015-12-18 17:07:09 -08:00
jr c , .HoldingMail
2018-01-23 14:39:09 -08:00
ld hl , wPartyMonNicknames
ld a , [ wCurPartyMon ]
2015-11-16 18:46:36 -08:00
call GetNick
and a
ret
2016-04-10 11:42:14 -07:00
.Declined:
2018-01-16 20:47:45 -08:00
ld a , DAYCARETEXT_OH_FINE
2015-11-16 18:46:36 -08:00
scf
ret
2016-04-10 11:42:14 -07:00
.Egg:
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_CANT_BREED_EGG
2015-11-16 18:46:36 -08:00
scf
ret
2016-04-10 11:42:14 -07:00
.OnlyOneMon:
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_LAST_MON
2015-11-16 18:46:36 -08:00
scf
ret
2016-04-10 11:42:14 -07:00
.OutOfUsableMons:
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_LAST_ALIVE_MON
2015-11-16 18:46:36 -08:00
scf
ret
2016-04-10 11:42:14 -07:00
.HoldingMail:
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_REMOVE_MAIL
2015-11-16 18:46:36 -08:00
scf
ret
2018-06-24 17:10:37 -07:00
.DummyText:
2015-11-16 18:46:36 -08:00
;
2019-03-10 17:43:34 -07:00
text_far _DaycareDummyText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 07:09:41 -07:00
DayCare_DepositPokemonText:
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_DEPOSIT
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2018-01-23 14:39:09 -08:00
ld a , [ wCurPartySpecies ]
2018-01-16 20:47:45 -08:00
call PlayMonCry
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_COME_BACK_LATER
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
ret
2018-06-24 07:09:41 -07:00
DayCare_AskWithdrawBreedMon:
2018-01-23 14:39:09 -08:00
ld a , [ wStringBuffer2 + 1 ]
2015-11-16 18:46:36 -08:00
and a
2015-12-24 19:58:42 -08:00
jr nz , .grew_at_least_one_level
2018-01-16 20:47:45 -08:00
ld a , DAYCARETEXT_TOO_SOON
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
call YesNoBox
2015-12-24 19:58:42 -08:00
jr c , .refused
jr .check_money
2015-11-16 18:46:36 -08:00
2015-12-24 19:58:42 -08:00
.grew_at_least_one_level
ld a , DAYCARETEXT_GENIUSES
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
call YesNoBox
2015-12-24 19:58:42 -08:00
jr c , .refused
ld a , DAYCARETEXT_ASK_WITHDRAW
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
call YesNoBox
2015-12-24 19:58:42 -08:00
jr c , .refused
2015-11-16 18:46:36 -08:00
2015-12-24 19:58:42 -08:00
.check_money
2018-01-23 14:39:09 -08:00
ld de , wMoney
ld bc , wStringBuffer2 + 2
2017-12-24 09:47:30 -08:00
farcall CompareMoney
2015-12-24 19:58:42 -08:00
jr c , .not_enough_money
2018-01-23 14:39:09 -08:00
ld a , [ wPartyCount ]
2015-12-24 19:58:42 -08:00
cp PARTY_LENGTH
jr nc , .PartyFull
2015-11-16 18:46:36 -08:00
and a
ret
2015-12-24 19:58:42 -08:00
.refused
2018-01-16 20:47:45 -08:00
ld a , DAYCARETEXT_OH_FINE
2015-11-16 18:46:36 -08:00
scf
ret
2015-12-24 19:58:42 -08:00
.not_enough_money
2018-01-16 20:47:45 -08:00
ld a , DAYCARETEXT_NOT_ENOUGH_MONEY
2015-11-16 18:46:36 -08:00
scf
ret
2016-04-10 11:42:14 -07:00
.PartyFull:
2018-01-16 20:47:45 -08:00
ld a , DAYCARETEXT_PARTY_FULL
2015-11-16 18:46:36 -08:00
scf
ret
2018-06-24 07:09:41 -07:00
DayCare_GetBackMonForMoney:
2018-01-23 14:39:09 -08:00
ld bc , wStringBuffer2 + 2
ld de , wMoney
2017-12-24 09:47:30 -08:00
farcall TakeMoney
2015-12-24 19:58:42 -08:00
ld a , DAYCARETEXT_WITHDRAW
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2018-01-23 14:39:09 -08:00
ld a , [ wCurPartySpecies ]
2018-01-16 20:47:45 -08:00
call PlayMonCry
ld a , DAYCARETEXT_GOT_BACK
2015-12-18 17:07:09 -08:00
call PrintDayCareText
2015-11-16 18:46:36 -08:00
ret
2018-06-24 07:09:41 -07:00
GetPriceToRetrieveBreedmon:
2015-11-16 18:46:36 -08:00
ld a , b
2018-01-23 14:39:09 -08:00
ld [ wStringBuffer2 ], a
2015-11-16 18:46:36 -08:00
ld a , d
2018-01-23 14:39:09 -08:00
ld [ wStringBuffer2 + 1 ], a
ld de , wStringBuffer1
2015-11-16 18:46:36 -08:00
ld bc , NAME_LENGTH
call CopyBytes
ld hl , 0
2015-12-24 19:58:42 -08:00
ld bc , 100
2018-01-23 14:39:09 -08:00
ld a , [ wStringBuffer2 + 1 ]
2015-11-16 18:46:36 -08:00
call AddNTimes
2015-12-24 19:58:42 -08:00
ld de , 100
2015-11-16 18:46:36 -08:00
add hl , de
xor a
2018-01-23 14:39:09 -08:00
ld [ wStringBuffer2 + 2 ], a
2015-11-16 18:46:36 -08:00
ld a , h
2018-01-23 14:39:09 -08:00
ld [ wStringBuffer2 + 3 ], a
2015-11-16 18:46:36 -08:00
ld a , l
2018-01-23 14:39:09 -08:00
ld [ wStringBuffer2 + 4 ], a
2015-11-16 18:46:36 -08:00
ret
2018-06-24 07:09:41 -07:00
PrintDayCareText:
2015-11-16 18:46:36 -08:00
ld e , a
ld d , 0
2015-12-24 19:58:42 -08:00
ld hl , .TextTable
2015-11-16 18:46:36 -08:00
add hl , de
2015-12-26 18:59:03 -08:00
add hl , de
2015-11-16 18:46:36 -08:00
ld a , [ hli ]
ld h , [ hl ]
ld l , a
call PrintText
ret
2018-06-24 07:09:41 -07:00
.TextTable:
2018-01-16 20:47:45 -08:00
; entries correspond to DAYCARETEXT_* constants
2015-12-18 17:07:09 -08:00
dw .DayCareManIntro ; 00
dw .DayCareManOddEgg ; 01
dw .DayCareLadyIntro ; 02
dw .DayCareLadyOddEgg ; 03
dw .WhichOne ; 04
dw .OkayIllRaiseYourMon ; 05
dw .CantAcceptEgg ; 06
dw .JustOneMon ; 07
dw .LastHealthyMon ; 08
dw .ComeBackForItLater ; 09
dw .RemoveMail ; 0a
dw .AreWeGeniusesOrWhat ; 0b
dw .AskRetrieveMon ; 0c
dw .PerfectHeresYourMon ; 0d
dw .GotBackMon ; 0e
dw .ImmediatelyWithdrawMon ; 0f
dw .PartyFull ; 10
dw .NotEnoughMoney ; 11
dw .OhFineThen ; 12
dw .ComeAgain ; 13
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.DayCareManIntro:
2015-11-16 18:46:36 -08:00
; I'm the DAY-CARE MAN. Want me to raise a #MON?
2019-03-10 17:43:34 -07:00
text_far _DayCareManIntroText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.DayCareManOddEgg:
2015-11-16 18:46:36 -08:00
; I'm the DAY-CARE MAN. Do you know about EGGS? I was raising #MON with my wife, you see. We were shocked to find an EGG! How incredible is that? So, want me to raise a #MON?
2019-03-10 17:43:34 -07:00
text_far _DayCareManOddEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.DayCareLadyIntro:
2015-11-16 18:46:36 -08:00
; I'm the DAY-CARE LADY. Should I raise a #MON for you?
2019-03-10 17:43:34 -07:00
text_far _DayCareLadyIntroText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.DayCareLadyOddEgg:
2015-11-16 18:46:36 -08:00
; I'm the DAY-CARE LADY. Do you know about EGGS? My husband and I were raising some #MON, you see. We were shocked to find an EGG! How incredible could that be? Should I raise a #MON for you?
2019-03-10 17:43:34 -07:00
text_far _DayCareLadyOddEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.WhichOne:
2015-11-16 18:46:36 -08:00
; What should I raise for you?
2019-03-10 17:43:34 -07:00
text_far _WhatShouldIRaiseText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.JustOneMon:
2015-11-16 18:46:36 -08:00
; Oh? But you have just one #MON.
2019-03-10 17:43:34 -07:00
text_far _OnlyOneMonText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.CantAcceptEgg:
2015-11-16 18:46:36 -08:00
; Sorry, but I can't accept an EGG.
2019-03-10 17:43:34 -07:00
text_far _CantRaiseEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.RemoveMail:
2015-11-16 18:46:36 -08:00
; Remove MAIL before you come see me.
2019-03-10 17:43:34 -07:00
text_far _RemoveMailText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.LastHealthyMon:
2015-11-16 18:46:36 -08:00
; If you give me that, what will you battle with?
2019-03-10 17:43:34 -07:00
text_far _LastHealthyMonText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.OkayIllRaiseYourMon:
2015-11-16 18:46:36 -08:00
; OK. I'll raise your @ .
2019-03-10 17:43:34 -07:00
text_far _IllRaiseYourMonText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.ComeBackForItLater:
2015-11-16 18:46:36 -08:00
; Come back for it later.
2019-03-10 17:43:34 -07:00
text_far _ComeBackLaterText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.AreWeGeniusesOrWhat:
2015-11-16 18:46:36 -08:00
; Are we geniuses or what? Want to see your @ ?
2019-03-10 17:43:34 -07:00
text_far _AreWeGeniusesText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.AskRetrieveMon:
2015-11-16 18:46:36 -08:00
; Your @ has grown a lot. By level, it's grown by @ . If you want your #MON back, it will cost ¥@ .
2019-03-10 17:43:34 -07:00
text_far _YourMonHasGrownText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.PerfectHeresYourMon:
2015-11-16 18:46:36 -08:00
; Perfect! Here's your #MON.
2019-03-10 17:43:34 -07:00
text_far _PerfectHeresYourMonText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.GotBackMon:
2015-11-16 18:46:36 -08:00
; got back @ .
2019-03-10 17:43:34 -07:00
text_far _GotBackMonText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.ImmediatelyWithdrawMon:
2015-11-16 18:46:36 -08:00
; Huh? Back already? Your @ needs a little more time with us. If you want your #MON back, it will cost ¥100.
2019-03-10 17:43:34 -07:00
text_far _BackAlreadyText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.PartyFull:
2015-11-16 18:46:36 -08:00
; You have no room for it.
2019-03-10 17:43:34 -07:00
text_far _HaveNoRoomText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.NotEnoughMoney:
2015-11-16 18:46:36 -08:00
; You don't have enough money.
2019-03-10 17:43:34 -07:00
text_far _DCNotEnoughMoneyText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.OhFineThen:
2015-11-16 18:46:36 -08:00
; Oh, fine then.
2019-03-10 17:43:34 -07:00
text_far _OhFineThenText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.ComeAgain:
2015-11-16 18:46:36 -08:00
; Come again.
2019-03-10 17:43:34 -07:00
text_far _ComeAgainText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 07:09:41 -07:00
DayCareManOutside:
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2018-01-22 10:18:23 -08:00
bit DAYCAREMAN_HAS_EGG_F , [ hl ]
2015-12-18 17:07:09 -08:00
jr nz , .AskGiveEgg
ld hl , .NotYet
2015-11-16 18:46:36 -08:00
call PrintText
ret
2018-06-24 17:10:37 -07:00
.NotYet:
2015-11-16 18:46:36 -08:00
; Not yet…
2019-03-10 17:43:34 -07:00
text_far _NotYetText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 07:09:41 -07:00
.AskGiveEgg:
2015-12-18 17:07:09 -08:00
ld hl , .IntroText
2015-11-16 18:46:36 -08:00
call PrintText
call YesNoBox
2015-12-18 17:07:09 -08:00
jr c , .Declined
2018-01-23 14:39:09 -08:00
ld a , [ wPartyCount ]
2015-11-16 18:46:36 -08:00
cp PARTY_LENGTH
2015-12-18 17:07:09 -08:00
jr nc , .PartyFull
call DayCare_GiveEgg
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2018-01-22 10:18:23 -08:00
res DAYCAREMAN_HAS_EGG_F , [ hl ]
2015-12-18 17:07:09 -08:00
call DayCare_InitBreeding
ld hl , .GotEggText
2015-11-16 18:46:36 -08:00
call PrintText
2017-12-10 10:37:15 -08:00
ld de , SFX_GET_EGG_FROM_DAY_CARE_LADY
2015-11-16 18:46:36 -08:00
call PlaySFX
ld c , 120
call DelayFrames
2015-12-18 17:07:09 -08:00
ld hl , .TakeGoodCareOfItText
jr .Load0
2015-11-16 18:46:36 -08:00
2016-04-10 11:42:14 -07:00
.Declined:
2015-12-18 17:07:09 -08:00
ld hl , .IllKeepItThanksText
2015-11-16 18:46:36 -08:00
2016-04-10 11:42:14 -07:00
.Load0:
2015-11-16 18:46:36 -08:00
call PrintText
2018-01-11 22:40:20 -08:00
xor a ; FALSE
2018-01-23 14:39:09 -08:00
ld [ wScriptVar ], a
2015-11-16 18:46:36 -08:00
ret
2016-04-10 11:42:14 -07:00
.PartyFull:
2015-12-18 17:07:09 -08:00
ld hl , .PartyFullText
2015-11-16 18:46:36 -08:00
call PrintText
2018-01-11 22:40:20 -08:00
ld a , TRUE
2018-01-23 14:39:09 -08:00
ld [ wScriptVar ], a
2015-11-16 18:46:36 -08:00
ret
2018-06-24 17:10:37 -07:00
.IntroText:
2015-11-16 18:46:36 -08:00
; Ah, it's you! We were raising your #MON, and my goodness, were we surprised! Your #MON had an EGG! We don't know how it got there, but your #MON had it. You want it?
2019-03-10 17:43:34 -07:00
text_far _FoundAnEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.GotEggText:
2015-11-16 18:46:36 -08:00
; received the EGG!
2019-03-10 17:43:34 -07:00
text_far _ReceivedEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.TakeGoodCareOfItText:
2015-11-16 18:46:36 -08:00
; Take good care of it.
2019-03-10 17:43:34 -07:00
text_far _TakeGoodCareOfEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.IllKeepItThanksText:
2015-11-16 18:46:36 -08:00
; Well then, I'll keep it. Thanks!
2019-03-10 17:43:34 -07:00
text_far _RefuseEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 17:10:37 -07:00
.PartyFullText:
2015-11-16 18:46:36 -08:00
; You have no room in your party. Come back later.
2019-03-10 17:43:34 -07:00
text_far _NoRoomForEggText
2018-11-17 10:33:03 -08:00
text_end
2015-11-16 18:46:36 -08:00
2018-06-24 07:09:41 -07:00
DayCare_GiveEgg:
2015-11-16 18:46:36 -08:00
ld a , [ wEggMonLevel ]
2018-01-23 14:39:09 -08:00
ld [ wCurPartyLevel ], a
ld hl , wPartyCount
2015-11-16 18:46:36 -08:00
ld a , [ hl ]
cp PARTY_LENGTH
2015-12-18 17:07:09 -08:00
jr nc , .PartyFull
2015-11-16 18:46:36 -08:00
inc a
ld [ hl ], a
2015-12-18 17:07:09 -08:00
2015-11-16 18:46:36 -08:00
ld c , a
ld b , 0
add hl , bc
ld a , EGG
ld [ hli ], a
ld a , [ wEggMonSpecies ]
2018-01-23 14:39:09 -08:00
ld [ wCurSpecies ], a
ld [ wCurPartySpecies ], a
2015-12-18 17:07:09 -08:00
ld a , - 1
2015-11-16 18:46:36 -08:00
ld [ hl ], a
2015-12-18 17:07:09 -08:00
2018-01-23 14:39:09 -08:00
ld hl , wPartyMonNicknames
2018-01-20 09:25:55 -08:00
ld bc , MON_NAME_LENGTH
2015-12-18 17:07:09 -08:00
call DayCare_GetCurrentPartyMember
2015-11-16 18:46:36 -08:00
ld hl , wEggNick
call CopyBytes
2015-12-18 17:07:09 -08:00
2018-01-23 14:39:09 -08:00
ld hl , wPartyMonOT
2015-11-16 18:46:36 -08:00
ld bc , NAME_LENGTH
2015-12-18 17:07:09 -08:00
call DayCare_GetCurrentPartyMember
2015-11-16 18:46:36 -08:00
ld hl , wEggOT
call CopyBytes
2015-12-18 17:07:09 -08:00
2018-01-23 14:39:09 -08:00
ld hl , wPartyMon1
2015-11-16 18:46:36 -08:00
ld bc , PARTYMON_STRUCT_LENGTH
2015-12-18 17:07:09 -08:00
call DayCare_GetCurrentPartyMember
2015-11-16 18:46:36 -08:00
ld hl , wEggMon
ld bc , wEggMonEnd - wEggMon
call CopyBytes
2015-12-18 17:07:09 -08:00
2015-11-16 18:46:36 -08:00
call GetBaseData
2018-01-23 14:39:09 -08:00
ld a , [ wPartyCount ]
2015-11-16 18:46:36 -08:00
dec a
2018-01-23 14:39:09 -08:00
ld hl , wPartyMon1
2015-11-16 18:46:36 -08:00
ld bc , PARTYMON_STRUCT_LENGTH
call AddNTimes
ld b , h
ld c , l
ld hl , MON_ID + 1
add hl , bc
push hl
ld hl , MON_MAXHP
add hl , bc
ld d , h
ld e , l
pop hl
push bc
2018-02-22 09:12:43 -08:00
ld b , FALSE
2018-02-22 08:13:29 -08:00
predef CalcMonStats
2015-11-16 18:46:36 -08:00
pop bc
ld hl , MON_HP
add hl , bc
xor a
ld [ hli ], a
ld [ hl ], a
and a
ret
2016-04-10 11:42:14 -07:00
.PartyFull:
2015-11-16 18:46:36 -08:00
scf
ret
2018-06-24 07:09:41 -07:00
DayCare_GetCurrentPartyMember:
2018-01-23 14:39:09 -08:00
ld a , [ wPartyCount ]
2015-11-16 18:46:36 -08:00
dec a
call AddNTimes
ld d , h
ld e , l
ret
2018-06-24 07:09:41 -07:00
DayCare_InitBreeding:
2017-12-10 10:37:15 -08:00
ld a , [ wDayCareLady ]
2018-01-22 10:18:23 -08:00
bit DAYCARELADY_HAS_MON_F , a
2015-11-16 18:46:36 -08:00
ret z
2017-12-10 10:37:15 -08:00
ld a , [ wDayCareMan ]
2018-01-22 10:18:23 -08:00
bit DAYCAREMAN_HAS_MON_F , a
2015-11-16 18:46:36 -08:00
ret z
2017-12-24 09:47:30 -08:00
callfar Ch eckBreedmonCompatibility
2018-07-28 16:27:34 -07:00
ld a , [ wBreedingCompatibility ]
2015-11-16 18:46:36 -08:00
and a
ret z
inc a
ret z
2017-12-10 10:37:15 -08:00
ld hl , wDayCareMan
2018-01-22 10:18:23 -08:00
set DAYCAREMAN_MONS_COMPATIBLE_F , [ hl ]
2015-12-18 17:07:09 -08:00
.loop
2015-11-16 18:46:36 -08:00
call Random
cp 150
2015-12-18 17:07:09 -08:00
jr c , .loop
2015-11-16 18:46:36 -08:00
ld [ wStepsToEgg ], a
2015-12-18 17:07:09 -08:00
jp .UselessJump
2015-11-16 18:46:36 -08:00
2018-06-24 07:09:41 -07:00
.UselessJump:
2015-11-16 18:46:36 -08:00
xor a
ld hl , wEggMon
ld bc , wEggMonEnd - wEggMon
call Byte Fill
ld hl , wEggNick
2018-01-20 09:25:55 -08:00
ld bc , MON_NAME_LENGTH
2015-11-16 18:46:36 -08:00
call Byte Fill
ld hl , wEggOT
ld bc , NAME_LENGTH
call Byte Fill
ld a , [ wBreedMon1DVs ]
2018-01-23 14:39:09 -08:00
ld [ wTempMonDVs ], a
2015-11-16 18:46:36 -08:00
ld a , [ wBreedMon1DVs + 1 ]
2018-01-23 14:39:09 -08:00
ld [ wTempMonDVs + 1 ], a
2015-11-16 18:46:36 -08:00
ld a , [ wBreedMon1Species ]
2018-01-23 14:39:09 -08:00
ld [ wCurPartySpecies ], a
2015-11-16 18:46:36 -08:00
ld a , $ 3
2018-01-23 14:39:09 -08:00
ld [ wMonType ], a
2015-11-16 18:46:36 -08:00
ld a , [ wBreedMon1Species ]
cp DI TTO
ld a , $ 1
2015-12-18 17:07:09 -08:00
jr z , .LoadWhichBreedmonIsTheMother
2015-11-16 18:46:36 -08:00
ld a , [ wBreedMon2Species ]
cp DI TTO
ld a , $ 0
2015-12-18 17:07:09 -08:00
jr z , .LoadWhichBreedmonIsTheMother
2018-01-16 11:30:10 -08:00
farcall GetGender
2015-11-16 18:46:36 -08:00
ld a , $ 0
2015-12-18 17:07:09 -08:00
jr z , .LoadWhichBreedmonIsTheMother
2015-11-16 18:46:36 -08:00
inc a
2016-04-10 11:42:14 -07:00
.LoadWhichBreedmonIsTheMother:
2015-12-18 17:07:09 -08:00
ld [ wBreedMotherOrNonDitto ], a
2015-11-16 18:46:36 -08:00
and a
ld a , [ wBreedMon1Species ]
2015-12-18 17:07:09 -08:00
jr z , .GotMother
2015-11-16 18:46:36 -08:00
ld a , [ wBreedMon2Species ]
2016-04-10 11:42:14 -07:00
.GotMother:
2018-01-23 14:39:09 -08:00
ld [ wCurPartySpecies ], a
2017-12-24 09:47:30 -08:00
callfar GetPreEvolution
callfar GetPreEvolution
2015-11-16 18:46:36 -08:00
ld a , EGG_LEVEL
2018-01-23 14:39:09 -08:00
ld [ wCurPartyLevel ], a
2015-11-16 18:46:36 -08:00
2018-01-22 10:18:23 -08:00
; Nidoran♀ can give birth to either gender of Nidoran
2018-01-23 14:39:09 -08:00
ld a , [ wCurPartySpecies ]
2015-11-16 18:46:36 -08:00
cp NIDORAN_F
2015-12-18 17:07:09 -08:00
jr nz , .GotEggSpecies
2015-11-16 18:46:36 -08:00
call Random
2018-02-04 18:21:34 -08:00
cp 50 percent + 1
2015-11-16 18:46:36 -08:00
ld a , NIDORAN_F
2015-12-18 17:07:09 -08:00
jr c , .GotEggSpecies
2015-11-16 18:46:36 -08:00
ld a , NIDORAN_M
2016-04-10 11:42:14 -07:00
.GotEggSpecies:
2018-01-23 14:39:09 -08:00
ld [ wCurPartySpecies ], a
ld [ wCurSpecies ], a
2015-11-16 18:46:36 -08:00
ld [ wEggMonSpecies ], a
call GetBaseData
ld hl , wEggNick
2015-12-18 17:07:09 -08:00
ld de , .String_EGG
2015-11-16 18:46:36 -08:00
call CopyName2
2018-01-23 14:39:09 -08:00
ld hl , wPlayerName
2015-11-16 18:46:36 -08:00
ld de , wEggOT
ld bc , NAME_LENGTH
call CopyBytes
xor a
ld [ wEggMonItem ], a
ld de , wEggMonMoves
xor a
2018-01-23 14:39:09 -08:00
ld [ wBuffer1 ], a
2018-01-16 11:30:10 -08:00
predef FillMoves
2017-12-24 09:47:30 -08:00
farcall InitEggMoves
2015-11-16 18:46:36 -08:00
ld hl , wEggMonID
2018-01-23 14:39:09 -08:00
ld a , [ wPlayerID ]
2015-11-16 18:46:36 -08:00
ld [ hli ], a
2018-01-23 14:39:09 -08:00
ld a , [ wPlayerID + 1 ]
2015-11-16 18:46:36 -08:00
ld [ hl ], a
2018-01-23 14:39:09 -08:00
ld a , [ wCurPartyLevel ]
2015-11-16 18:46:36 -08:00
ld d , a
2017-12-24 09:47:30 -08:00
callfar CalcExpAtLevel
2015-11-16 18:46:36 -08:00
ld hl , wEggMonExp
2018-08-25 11:28:22 -07:00
ldh a , [ hMultiplicand ]
2015-11-16 18:46:36 -08:00
ld [ hli ], a
2018-08-25 11:28:22 -07:00
ldh a , [ hMultiplicand + 1 ]
2015-11-16 18:46:36 -08:00
ld [ hli ], a
2018-08-25 11:28:22 -07:00
ldh a , [ hMultiplicand + 2 ]
2015-11-16 18:46:36 -08:00
ld [ hl ], a
xor a
2015-12-18 17:07:09 -08:00
ld b , wEggMonDVs - wEggMonStatExp
2015-11-16 18:46:36 -08:00
ld hl , wEggMonStatExp
2015-12-18 17:07:09 -08:00
.loop2
2015-11-16 18:46:36 -08:00
ld [ hli ], a
dec b
2015-12-18 17:07:09 -08:00
jr nz , .loop2
2015-11-16 18:46:36 -08:00
ld hl , wEggMonDVs
call Random
ld [ hli ], a
2018-01-23 14:39:09 -08:00
ld [ wTempMonDVs ], a
2015-11-16 18:46:36 -08:00
call Random
ld [ hld ], a
2018-01-23 14:39:09 -08:00
ld [ wTempMonDVs + 1 ], a
2015-11-16 18:46:36 -08:00
ld de , wBreedMon1DVs
ld a , [ wBreedMon1Species ]
cp DI TTO
2015-12-18 17:07:09 -08:00
jr z , .GotDVs
2015-11-16 18:46:36 -08:00
ld de , wBreedMon2DVs
ld a , [ wBreedMon2Species ]
cp DI TTO
2015-12-18 17:07:09 -08:00
jr z , .GotDVs
2016-05-11 14:16:03 -07:00
ld a , TEMPMON
2018-01-23 14:39:09 -08:00
ld [ wMonType ], a
2015-11-16 18:46:36 -08:00
push hl
2018-01-16 11:30:10 -08:00
farcall GetGender
2015-11-16 18:46:36 -08:00
pop hl
ld de , wBreedMon1DVs
ld bc , wBreedMon2DVs
2015-12-18 17:07:09 -08:00
jr c , .SkipDVs
jr z , .ParentCheck2
ld a , [ wBreedMotherOrNonDitto ]
2015-11-16 18:46:36 -08:00
and a
2015-12-18 17:07:09 -08:00
jr z , .GotDVs
2015-11-16 18:46:36 -08:00
ld d , b
ld e , c
2015-12-18 17:07:09 -08:00
jr .GotDVs
2015-11-16 18:46:36 -08:00
2016-04-10 11:42:14 -07:00
.ParentCheck2:
2015-12-18 17:07:09 -08:00
ld a , [ wBreedMotherOrNonDitto ]
2015-11-16 18:46:36 -08:00
and a
2015-12-18 17:07:09 -08:00
jr nz , .GotDVs
2015-11-16 18:46:36 -08:00
ld d , b
ld e , c
2016-04-10 11:42:14 -07:00
.GotDVs:
2015-11-16 18:46:36 -08:00
ld a , [ de ]
inc de
and $ f
ld b , a
ld a , [ hl ]
and $ f0
add b
ld [ hli ], a
ld a , [ de ]
and $ 7
ld b , a
ld a , [ hl ]
and $ f8
add b
ld [ hl ], a
2016-04-10 11:42:14 -07:00
.SkipDVs:
2018-01-23 14:39:09 -08:00
ld hl , wStringBuffer1
2015-12-18 17:07:09 -08:00
ld de , wMonOrItemNameBuffer
2015-11-16 18:46:36 -08:00
ld bc , NAME_LENGTH
call CopyBytes
ld hl , wEggMonMoves
ld de , wEggMonPP
2018-01-16 11:30:10 -08:00
predef FillPP
2015-12-18 17:07:09 -08:00
ld hl , wMonOrItemNameBuffer
2018-01-23 14:39:09 -08:00
ld de , wStringBuffer1
2015-11-16 18:46:36 -08:00
ld bc , NAME_LENGTH
call CopyBytes
2018-01-23 14:39:09 -08:00
ld a , [ wBaseEggSteps ]
2015-11-16 18:46:36 -08:00
ld hl , wEggMonHappiness
ld [ hli ], a
xor a
ld [ hli ], a
2015-12-26 18:59:03 -08:00
ld [ hli ], a
2015-11-16 18:46:36 -08:00
ld [ hl ], a
2018-01-23 14:39:09 -08:00
ld a , [ wCurPartyLevel ]
2015-11-16 18:46:36 -08:00
ld [ wEggMonLevel ], a
ret
2018-06-24 07:09:41 -07:00
.String_EGG:
2015-11-16 18:46:36 -08:00
db "EGG@"