summaryrefslogtreecommitdiff
path: root/event/daycare.asm
diff options
context:
space:
mode:
Diffstat (limited to 'event/daycare.asm')
-rwxr-xr-xevent/daycare.asm472
1 files changed, 248 insertions, 224 deletions
diff --git a/event/daycare.asm b/event/daycare.asm
index 3ea64d38c..c83701e28 100755
--- a/event/daycare.asm
+++ b/event/daycare.asm
@@ -1,231 +1,252 @@
+ const_def
+ 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
+ const DAYCARETEXT_TOO_SOON
+ const DAYCARETEXT_PARTY_FULL
+ const DAYCARETEXT_NOT_ENOUGH_MONEY
+ const DAYCARETEXT_OH_FINE
+ const DAYCARETEXT_COME_AGAIN
+ const DAYCARETEXT_13
+
Special_DayCareMan: ; 166d6
ld hl, wDaycareMan
bit 0, [hl]
- jr nz, .asm_166fe
+ jr nz, .AskWithdrawMon
ld hl, wDaycareMan
- ld a, $0
- call Function1678f
- jr c, .asm_16724
- call Function16798
- jr c, .asm_16721
- callba Functionde2a
+ ld a, DAYCARETEXT_MAN_INTRO
+ call DayCareManIntroText
+ jr c, .cancel
+ call DayCareAskDepositPokemon
+ jr c, .print_text
+ callba DepositMonWithDaycareMan
ld hl, wDaycareMan
set 0, [hl]
- call Function167f6
- call Function16a3b
+ call DayCare_DepositPokemonText
+ call DayCare_InitBreeding
ret
-.asm_166fe
- callba Functione698
+.AskWithdrawMon
+ callba GetBreedMon1LevelGrowth
ld hl, wBreedMon1Nick
- call Function1686d
- call Function16807
- jr c, .asm_16721
- callba Functiondd21
- call Function16850
+ call GetPriceToRetrieveBreedmon
+ call DayCare_AskWithdrawBreedMon
+ jr c, .print_text
+ callba RetrievePokemonFromDaycareMan
+ call DayCare_TakeMoney_PlayCry
ld hl, wDaycareMan
res 0, [hl]
res 5, [hl]
- jr .asm_16724
+ jr .cancel
-.asm_16721
- call Function1689b
+.print_text
+ call PrintDayCareText
-.asm_16724
- ld a, $13
- call Function1689b
+.cancel
+ ld a, DAYCARETEXT_13
+ call PrintDayCareText
ret
; 1672a
Special_DayCareLady: ; 1672a
ld hl, wDaycareLady
bit 0, [hl]
- jr nz, .asm_16752
+ jr nz, .AskWithdrawMon
ld hl, wDaycareLady
- ld a, $2
- call Function16781
- jr c, .asm_1677b
- call Function16798
- jr c, .asm_16778
- callba Functionde37
+ ld a, DAYCARETEXT_LADY_INTRO
+ call DayCareLadyIntroText
+ jr c, .cancel
+ call DayCareAskDepositPokemon
+ jr c, .print_text
+ callba DepositMonWithDaycareLady
ld hl, wDaycareLady
set 0, [hl]
- call Function167f6
- call Function16a3b
+ call DayCare_DepositPokemonText
+ call DayCare_InitBreeding
ret
-.asm_16752
- callba Functione6b3
+.AskWithdrawMon
+ callba GetBreedMon2LevelGrowth
ld hl, wBreedMon2Nick
- call Function1686d
- call Function16807
- jr c, .asm_16778
- callba Functiondd42
- call Function16850
+ call GetPriceToRetrieveBreedmon
+ call DayCare_AskWithdrawBreedMon
+ jr c, .print_text
+ callba RetrievePokemonFromDaycareLady
+ call DayCare_TakeMoney_PlayCry
ld hl, wDaycareLady
res 0, [hl]
ld hl, wDaycareMan
res 5, [hl]
- jr .asm_1677b
+ jr .cancel
-.asm_16778
- call Function1689b
+.print_text
+ call PrintDayCareText
-.asm_1677b
- ld a, $13
- call Function1689b
+.cancel
+ ld a, DAYCARETEXT_13
+ call PrintDayCareText
ret
; 16781
-Function16781: ; 16781
+DayCareLadyIntroText: ; 16781
bit 7, [hl]
- jr nz, .asm_16788
+ jr nz, .okay
set 7, [hl]
inc a
-
-.asm_16788
- call Function1689b
+.okay
+ call PrintDayCareText
call YesNoBox
ret
; 1678f
-Function1678f: ; 1678f
+DayCareManIntroText: ; 1678f
set 7, [hl]
- call Function1689b
+ call PrintDayCareText
call YesNoBox
ret
; 16798
-Function16798: ; 16798
+DayCareAskDepositPokemon: ; 16798
ld a, [PartyCount]
cp 2
- jr c, .asm_167e5
- ld a, 4
- call Function1689b
+ jr c, .OnlyOneMon
+ ld a, DAYCARETEXT_WHICH_ONE
+ call PrintDayCareText
ld b, 6
- callba Function5001d
- jr c, .asm_167dd
+ callba SelectTradeOrDaycareMon
+ jr c, .Declined
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_167e1
+ jr z, .Egg
callba CheckCurPartyMonFainted
- jr c, .asm_167e9
+ jr c, .OutOfUsableMons
ld hl, PartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld d, [hl]
callba ItemIsMail
- jr c, .asm_167ed
+ jr c, .HoldingMail
ld hl, PartyMonNicknames
ld a, [CurPartyMon]
call GetNick
and a
ret
-.asm_167dd
- ld a, $12
+.Declined
+ ld a, DAYCARETEXT_COME_AGAIN
scf
ret
-.asm_167e1
- ld a, $6
+.Egg
+ ld a, DAYCARETEXT_CANT_BREED_EGG
scf
ret
-.asm_167e5
- ld a, $7
+.OnlyOneMon
+ ld a, DAYCARETEXT_LAST_MON
scf
ret
-.asm_167e9
- ld a, $8
+.OutOfUsableMons
+ ld a, DAYCARETEXT_LAST_ALIVE_MON
scf
ret
-.asm_167ed
- ld a, $a
+.HoldingMail
+ ld a, DAYCARETEXT_REMOVE_MAIL
scf
ret
; 167f1
-UnknownText_0x167f1: ; 0x167f1
+.DummyText: ; 0x167f1
;
text_jump UnknownText_0x1bdaa7
db "@"
; 0x167f6
-Function167f6: ; 167f6
- ld a, $5
- call Function1689b
+DayCare_DepositPokemonText: ; 167f6
+ ld a, DAYCARETEXT_DEPOSIT
+ call PrintDayCareText
ld a, [CurPartySpecies]
call PlayCry
- ld a, $9
- call Function1689b
+ ld a, DAYCARETEXT_COME_BACK_LATER
+ call PrintDayCareText
ret
; 16807
-Function16807: ; 16807
+DayCare_AskWithdrawBreedMon: ; 16807
ld a, [StringBuffer2 + 1]
and a
- jr nz, .asm_16819
- ld a, $f
- call Function1689b
+ jr nz, .grew_at_least_one_level
+ ld a, DAYCARETEXT_PARTY_FULL
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
- jr .asm_1682d
+ jr c, .refused
+ jr .check_money
-.asm_16819
- ld a, $b
- call Function1689b
+.grew_at_least_one_level
+ ld a, DAYCARETEXT_GENIUSES
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
- ld a, $c
- call Function1689b
+ jr c, .refused
+ ld a, DAYCARETEXT_ASK_WITHDRAW
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
+ jr c, .refused
-.asm_1682d
+.check_money
ld de, Money
ld bc, StringBuffer2 + 2
callba CompareMoney
- jr c, .asm_16848
+ jr c, .not_enough_money
ld a, [PartyCount]
- cp $6
- jr nc, .asm_1684c
+ cp PARTY_LENGTH
+ jr nc, .PartyFull
and a
ret
-.asm_16844
- ld a, $12
+.refused
+ ld a, DAYCARETEXT_COME_AGAIN
scf
ret
-.asm_16848
- ld a, $11
+.not_enough_money
+ ld a, DAYCARETEXT_OH_FINE
scf
ret
-.asm_1684c
- ld a, $10
+.PartyFull
+ ld a, DAYCARETEXT_NOT_ENOUGH_MONEY
scf
ret
; 16850
-Function16850: ; 16850
+DayCare_TakeMoney_PlayCry: ; 16850
ld bc, StringBuffer2 + 2
ld de, Money
callba TakeMoney
- ld a, $d
- call Function1689b
+ ld a, DAYCARETEXT_WITHDRAW
+ call PrintDayCareText
ld a, [CurPartySpecies]
call PlayCry
- ld a, $e
- call Function1689b
+ ld a, DAYCARETEXT_TOO_SOON
+ call PrintDayCareText
ret
; 1686d
-Function1686d: ; 1686d
+GetPriceToRetrieveBreedmon: ; 1686d
ld a, b
ld [StringBuffer2], a
ld a, d
@@ -234,10 +255,10 @@ Function1686d: ; 1686d
ld bc, NAME_LENGTH
call CopyBytes
ld hl, 0
- ld bc, $64
+ ld bc, 100
ld a, [StringBuffer2 + 1]
call AddNTimes
- ld de, $64
+ ld de, 100
add hl, de
xor a
ld [StringBuffer2 + 2], a
@@ -248,13 +269,12 @@ Function1686d: ; 1686d
ret
; 1689b
-Function1689b: ; 1689b
+PrintDayCareText: ; 1689b
ld e, a
ld d, 0
- ld hl, TextTable_168aa
-rept 2
+ ld hl, .TextTable
+ add hl, de
add hl, de
-endr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -262,144 +282,144 @@ endr
ret
; 168aa
-TextTable_168aa: ; 168aa
- dw UnknownText_0x168d2
- dw UnknownText_0x168d7
- dw UnknownText_0x168dc
- dw UnknownText_0x168e1
- dw UnknownText_0x168e6
- dw UnknownText_0x168ff
- dw UnknownText_0x168f0
- dw UnknownText_0x168eb
- dw UnknownText_0x168fa
- dw UnknownText_0x16904
- dw UnknownText_0x168f5
- dw UnknownText_0x16909
- dw UnknownText_0x1690e
- dw UnknownText_0x16913
- dw UnknownText_0x16918
- dw UnknownText_0x1691d
- dw UnknownText_0x16922
- dw UnknownText_0x16927
- dw UnknownText_0x1692c
- dw UnknownText_0x16931
+.TextTable: ; 168aa
+ 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
; 168d2
-UnknownText_0x168d2: ; 0x168d2
+.DayCareManIntro: ; 0x168d2
; I'm the DAY-CARE MAN. Want me to raise a #MON?
text_jump UnknownText_0x1bdaa9
db "@"
; 0x168d7
-UnknownText_0x168d7: ; 0x168d7
+.DayCareManOddEgg: ; 0x168d7
; 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?
text_jump UnknownText_0x1bdad8
db "@"
; 0x168dc
-UnknownText_0x168dc: ; 0x168dc
+.DayCareLadyIntro: ; 0x168dc
; I'm the DAY-CARE LADY. Should I raise a #MON for you?
text_jump UnknownText_0x1bdb85
db "@"
; 0x168e1
-UnknownText_0x168e1: ; 0x168e1
+.DayCareLadyOddEgg: ; 0x168e1
; 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?
text_jump UnknownText_0x1bdbbb
db "@"
; 0x168e6
-UnknownText_0x168e6: ; 0x168e6
+.WhichOne: ; 0x168e6
; What should I raise for you?
text_jump UnknownText_0x1bdc79
db "@"
; 0x168eb
-UnknownText_0x168eb: ; 0x168eb
+.JustOneMon: ; 0x168eb
; Oh? But you have just one #MON.
text_jump UnknownText_0x1bdc97
db "@"
; 0x168f0
-UnknownText_0x168f0: ; 0x168f0
+.CantAcceptEgg: ; 0x168f0
; Sorry, but I can't accept an EGG.
text_jump UnknownText_0x1bdcb8
db "@"
; 0x168f5
-UnknownText_0x168f5: ; 0x168f5
+.RemoveMail: ; 0x168f5
; Remove MAIL before you come see me.
text_jump UnknownText_0x1bdcda
db "@"
; 0x168fa
-UnknownText_0x168fa: ; 0x168fa
+.LastHealthyMon: ; 0x168fa
; If you give me that, what will you battle with?
text_jump UnknownText_0x1bdcff
db "@"
; 0x168ff
-UnknownText_0x168ff: ; 0x168ff
+.OkayIllRaiseYourMon: ; 0x168ff
; OK. I'll raise your @ .
text_jump UnknownText_0x1bdd30
db "@"
; 0x16904
-UnknownText_0x16904: ; 0x16904
+.ComeBackForItLater: ; 0x16904
; Come back for it later.
text_jump UnknownText_0x1bdd4b
db "@"
; 0x16909
-UnknownText_0x16909: ; 0x16909
+.AreWeGeniusesOrWhat: ; 0x16909
; Are we geniuses or what? Want to see your @ ?
text_jump UnknownText_0x1bdd64
db "@"
; 0x1690e
-UnknownText_0x1690e: ; 0x1690e
+.AskRetrieveMon: ; 0x1690e
; Your @ has grown a lot. By level, it's grown by @ . If you want your #MON back, it will cost ¥@ .
text_jump UnknownText_0x1bdd96
db "@"
; 0x16913
-UnknownText_0x16913: ; 0x16913
+.PerfectHeresYourMon: ; 0x16913
; Perfect! Here's your #MON.
text_jump UnknownText_0x1bde04
db "@"
; 0x16918
-UnknownText_0x16918: ; 0x16918
+.GotBackMon: ; 0x16918
; got back @ .
text_jump UnknownText_0x1bde1f
db "@"
; 0x1691d
-UnknownText_0x1691d: ; 0x1691d
+.ImmediatelyWithdrawMon: ; 0x1691d
; Huh? Back already? Your @ needs a little more time with us. If you want your #MON back, it will cost ¥100.
text_jump UnknownText_0x1bde32
db "@"
; 0x16922
-UnknownText_0x16922: ; 0x16922
+.PartyFull: ; 0x16922
; You have no room for it.
text_jump UnknownText_0x1bdea2
db "@"
; 0x16927
-UnknownText_0x16927: ; 0x16927
+.NotEnoughMoney: ; 0x16927
; You don't have enough money.
text_jump UnknownText_0x1bdebc
db "@"
; 0x1692c
-UnknownText_0x1692c: ; 0x1692c
+.OhFineThen: ; 0x1692c
; Oh, fine then.
text_jump UnknownText_0x1bded9
db "@"
; 0x16931
-UnknownText_0x16931: ; 0x16931
+.ComeAgain: ; 0x16931
; Come again.
text_jump UnknownText_0x1bdee9
db "@"
@@ -408,94 +428,95 @@ UnknownText_0x16931: ; 0x16931
Special_DayCareManOutside: ; 16936
ld hl, wDaycareMan
bit 6, [hl]
- jr nz, Function16949
- ld hl, UnknownText_0x16944
+ jr nz, .AskGiveEgg
+ ld hl, .NotYet
call PrintText
ret
-UnknownText_0x16944: ; 0x16944
+.NotYet: ; 0x16944
; Not yet…
text_jump UnknownText_0x1bdef6
db "@"
; 0x16949
-Function16949: ; 16949
- ld hl, UnknownText_0x16993
+.AskGiveEgg: ; 16949
+ ld hl, .IntroText
call PrintText
call YesNoBox
- jr c, .asm_1697c
+ jr c, .Declined
ld a, [PartyCount]
cp PARTY_LENGTH
- jr nc, .asm_16987
- call Function169ac
+ jr nc, .PartyFull
+ call DayCare_GiveEgg
ld hl, wDaycareMan
res 6, [hl]
- call Function16a3b
- ld hl, UnknownText_0x16998
+ call DayCare_InitBreeding
+ ld hl, .GotEggText
call PrintText
ld de, SFX_GET_EGG_FROM_DAYCARE_LADY
call PlaySFX
ld c, 120
call DelayFrames
- ld hl, UnknownText_0x1699d
- jr .asm_1697f
+ ld hl, .TakeGoodCareOfItText
+ jr .Load0
-.asm_1697c
- ld hl, UnknownText_0x169a2
+.Declined
+ ld hl, .IllKeepItThanksText
-.asm_1697f
+.Load0
call PrintText
xor a
ld [ScriptVar], a
ret
-.asm_16987
- ld hl, UnknownText_0x169a7
+.PartyFull
+ ld hl, .PartyFullText
call PrintText
ld a, $1
ld [ScriptVar], a
ret
; 16993
-UnknownText_0x16993: ; 0x16993
+.IntroText: ; 0x16993
; 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?
text_jump UnknownText_0x1bdf00
db "@"
; 0x16998
-UnknownText_0x16998: ; 0x16998
+.GotEggText: ; 0x16998
; received the EGG!
text_jump UnknownText_0x1bdfa5
db "@"
; 0x1699d
-UnknownText_0x1699d: ; 0x1699d
+.TakeGoodCareOfItText: ; 0x1699d
; Take good care of it.
text_jump UnknownText_0x1bdfba
db "@"
; 0x169a2
-UnknownText_0x169a2: ; 0x169a2
+.IllKeepItThanksText: ; 0x169a2
; Well then, I'll keep it. Thanks!
text_jump UnknownText_0x1bdfd1
db "@"
; 0x169a7
-UnknownText_0x169a7: ; 0x169a7
+.PartyFullText: ; 0x169a7
; You have no room in your party. Come back later.
text_jump UnknownText_0x1bdff2
db "@"
; 0x169ac
-Function169ac: ; 169ac
+DayCare_GiveEgg: ; 169ac
ld a, [wEggMonLevel]
ld [CurPartyLevel], a
ld hl, PartyCount
ld a, [hl]
cp PARTY_LENGTH
- jr nc, .asm_16a2f
+ jr nc, .PartyFull
inc a
ld [hl], a
+
ld c, a
ld b, 0
add hl, bc
@@ -504,24 +525,28 @@ Function169ac: ; 169ac
ld a, [wEggMonSpecies]
ld [CurSpecies], a
ld [CurPartySpecies], a
- ld a, $ff
+ ld a, -1
ld [hl], a
+
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggNick
call CopyBytes
+
ld hl, PartyMonOT
ld bc, NAME_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggOT
call CopyBytes
+
ld hl, PartyMon1
ld bc, PARTYMON_STRUCT_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggMon
ld bc, wEggMonEnd - wEggMon
call CopyBytes
+
call GetBaseData
ld a, [PartyCount]
dec a
@@ -550,12 +575,12 @@ Function169ac: ; 169ac
and a
ret
-.asm_16a2f
+.PartyFull
scf
ret
; 16a31
-Function16a31: ; 16a31
+DayCare_GetCurrentPartyMember: ; 16a31
ld a, [PartyCount]
dec a
call AddNTimes
@@ -564,14 +589,14 @@ Function16a31: ; 16a31
ret
; 16a3b
-Function16a3b: ; 16a3b
+DayCare_InitBreeding: ; 16a3b
ld a, [wDaycareLady]
bit 0, a
ret z
ld a, [wDaycareMan]
bit 0, a
ret z
- callab Function16e1d
+ callab CheckBreedmonCompatibility
ld a, [wd265]
and a
ret z
@@ -579,15 +604,15 @@ Function16a3b: ; 16a3b
ret z
ld hl, wDaycareMan
set 5, [hl]
-.asm_16a59
+.loop
call Random
cp 150
- jr c, .asm_16a59
+ jr c, .loop
ld [wStepsToEgg], a
- jp Function16a66
+ jp .UselessJump
; 16a66
-Function16a66: ; 16a66
+.UselessJump: ; 16a66
xor a
ld hl, wEggMon
ld bc, wEggMonEnd - wEggMon
@@ -609,24 +634,24 @@ Function16a66: ; 16a66
ld a, [wBreedMon1Species]
cp DITTO
ld a, $1
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
ld a, [wBreedMon2Species]
cp DITTO
ld a, $0
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
callba GetGender
ld a, $0
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
inc a
-.asm_16ab6
- ld [wDittoInDaycare], a
+.LoadWhichBreedmonIsTheMother
+ ld [wBreedMotherOrNonDitto], a
and a
ld a, [wBreedMon1Species]
- jr z, .asm_16ac2
+ jr z, .GotMother
ld a, [wBreedMon2Species]
-.asm_16ac2
+.GotMother
ld [CurPartySpecies], a
callab GetPreEvolution
callab GetPreEvolution
@@ -635,20 +660,20 @@ Function16a66: ; 16a66
ld a, [CurPartySpecies]
cp NIDORAN_F
- jr nz, .asm_16ae8
+ jr nz, .GotEggSpecies
call Random
- cp $80
+ cp 1 + 50 percent
ld a, NIDORAN_F
- jr c, .asm_16ae8
+ jr c, .GotEggSpecies
ld a, NIDORAN_M
-.asm_16ae8
+.GotEggSpecies
ld [CurPartySpecies], a
ld [CurSpecies], a
ld [wEggMonSpecies], a
call GetBaseData
ld hl, wEggNick
- ld de, String_16be0
+ ld de, .String_EGG
call CopyName2
ld hl, PlayerName
ld de, wEggOT
@@ -660,7 +685,7 @@ Function16a66: ; 16a66
xor a
ld [Buffer1], a
predef FillMoves
- callba Function170bf
+ callba InitEggMoves
ld hl, wEggMonID
ld a, [PlayerID]
ld [hli], a
@@ -672,17 +697,17 @@ Function16a66: ; 16a66
ld hl, wEggMonExp
ld a, [hMultiplicand]
ld [hli], a
- ld a, [$ffb5]
+ ld a, [hMultiplicand + 1]
ld [hli], a
- ld a, [$ffb6]
+ ld a, [hMultiplicand + 2]
ld [hl], a
xor a
- ld b, $a
+ ld b, wEggMonDVs - wEggMonStatExp
ld hl, wEggMonStatExp
-.asm_16b46
+.loop2
ld [hli], a
dec b
- jr nz, .asm_16b46
+ jr nz, .loop2
ld hl, wEggMonDVs
call Random
ld [hli], a
@@ -693,35 +718,35 @@ Function16a66: ; 16a66
ld de, wBreedMon1DVs
ld a, [wBreedMon1Species]
cp DITTO
- jr z, .asm_16b98
+ jr z, .GotDVs
ld de, wBreedMon2DVs
ld a, [wBreedMon2Species]
cp DITTO
- jr z, .asm_16b98
- ld a, $3
+ jr z, .GotDVs
+ ld a, BREEDMON
ld [MonType], a
push hl
callba GetGender
pop hl
ld de, wBreedMon1DVs
ld bc, wBreedMon2DVs
- jr c, .asm_16bab
- jr z, .asm_16b90
- ld a, [wDittoInDaycare]
+ jr c, .SkipDVs
+ jr z, .ParentCheck2
+ ld a, [wBreedMotherOrNonDitto]
and a
- jr z, .asm_16b98
+ jr z, .GotDVs
ld d, b
ld e, c
- jr .asm_16b98
+ jr .GotDVs
-.asm_16b90
- ld a, [wDittoInDaycare]
+.ParentCheck2
+ ld a, [wBreedMotherOrNonDitto]
and a
- jr nz, .asm_16b98
+ jr nz, .GotDVs
ld d, b
ld e, c
-.asm_16b98
+.GotDVs
ld a, [de]
inc de
and $f
@@ -738,15 +763,15 @@ Function16a66: ; 16a66
add b
ld [hl], a
-.asm_16bab
+.SkipDVs
ld hl, StringBuffer1
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld bc, NAME_LENGTH
call CopyBytes
ld hl, wEggMonMoves
ld de, wEggMonPP
predef FillPP
- ld hl, wd050
+ ld hl, wMonOrItemNameBuffer
ld de, StringBuffer1
ld bc, NAME_LENGTH
call CopyBytes
@@ -754,15 +779,14 @@ Function16a66: ; 16a66
ld hl, wEggMonHappiness
ld [hli], a
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ld a, [CurPartyLevel]
ld [wEggMonLevel], a
ret
; 16be0
-String_16be0: ; 16be0
+.String_EGG: ; 16be0
db "EGG@"
; 16be4