summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm1249
1 files changed, 63 insertions, 1186 deletions
diff --git a/main.asm b/main.asm
index 3c68df818..d4ea3adf1 100644
--- a/main.asm
+++ b/main.asm
@@ -249,7 +249,7 @@ _ResetWRAM: ; 5bae
call CloseSRAM
call LoadOrRegenerateLuckyIDNumber
- call InitializeRalphName
+ call InitializeMagikarpHouse
xor a
ld [MonType], a
@@ -335,8 +335,8 @@ SetDefaultBoxNames: ; 5ca6
db "BOX@"
; 5cd3
-InitializeRalphName: ; 5cd3
- ld hl, wdfe8
+InitializeMagikarpHouse: ; 5cd3
+ ld hl, wBestMagikarpLengthFeet
ld a, $3
ld [hli], a
ld a, $6
@@ -721,7 +721,7 @@ DisplayGameTime: ; 5f84
ld [hl], $6d
inc hl
ld de, GameTimeMinutes
- lb bc, $81, 2
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
jp PrintNum
; 5f99
@@ -18724,7 +18724,7 @@ GetMartPrice: ; 15bf0
ld [StringBuffer2 + 1], a
ld hl, StringBuffer1
ld de, StringBuffer2
- lb bc, $82, 6 ; 6 digits
+ lb bc, PRINTNUM_LEADINGZEROS | 2, 6 ; 6 digits
call PrintNum
pop hl
@@ -19463,8 +19463,8 @@ MaxMoney: ; 15ff7
TakeMoney:: ; 15ffa
- ld a, $3
- call Function16035
+ ld a, 3
+ call CheckMoney2
jr nc, .asm_16009
xor a
ld [de], a
@@ -19527,33 +19527,33 @@ CheckFunds: ; 1600d
ret
; 16035
-Function16035: ; 16035
- ld a, $3
-Function16037: ; 16037
+CheckMoney2: ; 16035
+ ld a, 3
+CheckFunds2: ; 16037
push hl
push de
push bc
ld h, b
ld l, c
ld b, a
- ld c, $0
-.asm_1603f
+ ld c, 0
+.loop
dec a
- jr z, .asm_16046
+ jr z, .done
inc de
inc hl
- jr .asm_1603f
+ jr .loop
-.asm_16046
+.done
and a
-.asm_16047
+.loop2
ld a, [de]
sbc [hl]
ld [de], a
dec de
dec hl
dec b
- jr nz, .asm_16047
+ jr nz, .loop2
pop bc
pop de
pop hl
@@ -19593,14 +19593,14 @@ Function16055: ; 16055
; 1606f
GiveCoins:: ; 1606f
- ld a, $2
+ ld a, 2
ld de, Coins
call Function16055
- ld a, $2
- ld bc, Unknown_1608d
+ ld a, 2
+ ld bc, .maxcoins
call CheckFunds
jr c, .asm_1608b
- ld hl, Unknown_1608d
+ ld hl, .maxcoins
ld a, [hli]
ld [de], a
inc de
@@ -19614,15 +19614,15 @@ GiveCoins:: ; 1606f
ret
; 1608d
-Unknown_1608d: ; 1608d
+.maxcoins: ; 1608d
bigdw 9999
; 1608f
TakeCoins:: ; 1608f
- ld a, $2
+ ld a, 2
ld de, Coins
- call Function16037
+ call CheckFunds2
jr nc, .asm_1609f
xor a
ld [de], a
@@ -19645,757 +19645,7 @@ CheckCoins:: ; 160a1
INCLUDE "items/marts.asm"
-
-Special_BankOfMom: ; 16218
- ld a, [$ffaa]
- push af
- ld a, $1
- ld [$ffaa], a
- xor a
- ld [wcf63], a
-.asm_16223
- ld a, [wcf63]
- bit 7, a
- jr nz, .asm_1622f
- call Function16233
- jr .asm_16223
-
-.asm_1622f
- pop af
- ld [$ffaa], a
- ret
-; 16233
-
-Function16233: ; 16233
- ld a, [wcf63]
- ld e, a
- ld d, 0
- ld hl, Jumptable_16242
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 16242
-
-Jumptable_16242: ; 16242
- dw Function16254
- dw Function1626a
- dw Function16290
- dw Function162a8
- dw Function162e0
- dw Function16373
- dw Function16406
- dw Function1642d
- dw Function16433
-; 16254
-
-Function16254: ; 16254
- ld a, [wd854]
- bit 7, a
- jr nz, .asm_16264
- set 7, a
- ld [wd854], a
- ld a, $1
- jr .asm_16266
-
-.asm_16264
- ld a, $2
-
-.asm_16266
- ld [wcf63], a
- ret
-; 1626a
-
-Function1626a: ; 1626a
- ld hl, UnknownText_0x16649
- call PrintText
- call YesNoBox
- jr c, .asm_1627f
- ld hl, UnknownText_0x1664e
- call PrintText
- ld a, $81
- jr .asm_16281
-
-.asm_1627f
- ld a, $80
-
-.asm_16281
- ld [wd854], a
- ld hl, UnknownText_0x16653
- call PrintText
- ld a, $8
- ld [wcf63], a
- ret
-; 16290
-
-Function16290: ; 16290
- ld hl, UnknownText_0x16658
- call PrintText
- call YesNoBox
- jr c, .asm_1629f
- ld a, $3
- jr .asm_162a4
-
-.asm_1629f
- call DSTChecks
- ld a, $7
-
-.asm_162a4
- ld [wcf63], a
- ret
-; 162a8
-
-Function162a8: ; 162a8
- ld hl, UnknownText_0x1665d
- call PrintText
- call Function1d6e
- ld hl, MenuDataHeader_0x166b5
- call CopyMenuDataHeader
- call InterpretMenu2
- call WriteBackup
- jr c, .asm_162ce
- ld a, [wcfa9]
- cp $1
- jr z, .asm_162d2
- cp $2
- jr z, .asm_162d6
- cp $3
- jr z, .asm_162da
-
-.asm_162ce
- ld a, $7
- jr .asm_162dc
-
-.asm_162d2
- ld a, $5
- jr .asm_162dc
-
-.asm_162d6
- ld a, $4
- jr .asm_162dc
-
-.asm_162da
- ld a, $6
-
-.asm_162dc
- ld [wcf63], a
- ret
-; 162e0
-
-Function162e0: ; 162e0
- ld hl, UnknownText_0x16662
- call PrintText
- xor a
- ld hl, StringBuffer2
-rept 2
- ld [hli], a
-endr
- ld [hl], a
- ld a, $5
- ld [wcf64], a
- call Function1d6e
- call Function16517
- call Function1656b
- call Function16571
- call WriteBackup
- jr c, .asm_1636d
- ld hl, StringBuffer2
- ld a, [hli]
- or [hl]
- inc hl
- or [hl]
- jr z, .asm_1636d
- ld de, Money
- ld bc, StringBuffer2
- callba CheckMoney
- jr c, .asm_1635f
- ld hl, StringBuffer2
- ld de, StringBuffer2 + 3
- ld bc, $0003
- call CopyBytes
- ld bc, wd851
- ld de, StringBuffer2
- callba GiveMoney
- jr c, .asm_16366
- ld bc, StringBuffer2 + 3
- ld de, Money
- callba TakeMoney
- ld hl, StringBuffer2
- ld de, wd851
- ld bc, $0003
- call CopyBytes
- ld de, SFX_TRANSACTION
- call PlaySFX
- call WaitSFX
- ld hl, UnknownText_0x1668a
- call PrintText
- ld a, $8
- jr .asm_1636f
-
-.asm_1635f
- ld hl, UnknownText_0x1667b
- call PrintText
- ret
-
-.asm_16366
- ld hl, UnknownText_0x16680
- call PrintText
- ret
-
-.asm_1636d
- ld a, $7
-
-.asm_1636f
- ld [wcf63], a
- ret
-; 16373
-
-Function16373: ; 16373
- ld hl, UnknownText_0x16667
- call PrintText
- xor a
- ld hl, StringBuffer2
-rept 2
- ld [hli], a
-endr
- ld [hl], a
- ld a, $5
- ld [wcf64], a
- call Function1d6e
- call Function16512
- call Function1656b
- call Function16571
- call WriteBackup
- jr c, .asm_16400
- ld hl, StringBuffer2
- ld a, [hli]
- or [hl]
- inc hl
- or [hl]
- jr z, .asm_16400
- ld hl, StringBuffer2
- ld de, StringBuffer2 + 3
- ld bc, $0003
- call CopyBytes
- ld de, wd851
- ld bc, StringBuffer2
- callba CheckMoney
- jr c, .asm_163f2
- ld bc, Money
- ld de, StringBuffer2
- callba GiveMoney
- jr c, .asm_163f9
- ld bc, StringBuffer2 + 3
- ld de, wd851
- callba TakeMoney
- ld hl, StringBuffer2
- ld de, Money
- ld bc, $0003
- call CopyBytes
- ld de, SFX_TRANSACTION
- call PlaySFX
- call WaitSFX
- ld hl, UnknownText_0x1668f
- call PrintText
- ld a, $8
- jr .asm_16402
-
-.asm_163f2
- ld hl, UnknownText_0x16671
- call PrintText
- ret
-
-.asm_163f9
- ld hl, UnknownText_0x16676
- call PrintText
- ret
-
-.asm_16400
- ld a, $7
-
-.asm_16402
- ld [wcf63], a
- ret
-; 16406
-
-Function16406: ; 16406
- ld hl, UnknownText_0x1666c
- call PrintText
- call YesNoBox
- jr c, .asm_16422
- ld a, $81
- ld [wd854], a
- ld hl, UnknownText_0x16685
- call PrintText
- ld a, $8
- ld [wcf63], a
- ret
-
-.asm_16422
- ld a, $80
- ld [wd854], a
- ld a, $7
- ld [wcf63], a
- ret
-; 1642d
-
-Function1642d: ; 1642d
- ld hl, UnknownText_0x16694
- call PrintText
-
-Function16433: ; 16433
- ld hl, wcf63
- set 7, [hl]
- ret
-; 16439
-
-DSTChecks: ; 16439
-; check the time; avoid changing DST if doing so would change the current day
- ld a, [wDST]
- bit 7, a
- ld a, [hHours]
- jr z, .asm_16447
- and a ; within one hour of 00:00?
- jr z, .LostBooklet
- jr .loop
-
-.asm_16447
- cp 23 ; within one hour of 23:00?
- jr nz, .loop
- ; fallthrough
-
-.LostBooklet
- call Function164ea
- bccoord 1, 14
- ld hl, UnknownText_0x164f4
- call PlaceWholeStringInBoxAtOnce
- call YesNoBox
- ret c
- call Function164ea
- bccoord 1, 14
- ld hl, LostInstructionBookletText
- call PlaceWholeStringInBoxAtOnce
- ret
-
-.loop
- call Function164ea
- bccoord 1, 14
- ld a, [wDST]
- bit 7, a
- jr z, .asm_16497
- ld hl, UnknownText_0x16508
- call PlaceWholeStringInBoxAtOnce
- call YesNoBox
- ret c
- ld a, [wDST]
- res 7, a
- ld [wDST], a
- call Function164d1
- call Function164ea
- bccoord 1, 14
- ld hl, UnknownText_0x1650d
- call PlaceWholeStringInBoxAtOnce
- ret
-
-.asm_16497
- ld hl, UnknownText_0x164fe
- call PlaceWholeStringInBoxAtOnce
- call YesNoBox
- ret c
- ld a, [wDST]
- set 7, a
- ld [wDST], a
- call Function164b9
- call Function164ea
- bccoord 1, 14
- ld hl, UnknownText_0x16503
- call PlaceWholeStringInBoxAtOnce
- ret
-; 164b9
-
-Function164b9: ; 164b9
- ld a, [StartHour]
- add 1
- sub 24
- jr nc, .asm_164c4
- add 24
-.asm_164c4
- ld [StartHour], a
- ccf
- ld a, [StartDay]
- adc 0
- ld [StartDay], a
- ret
-; 164d1
-
-Function164d1: ; 164d1
- ld a, [StartHour]
- sub 1
- jr nc, .asm_164da
- add 24
-.asm_164da
- ld [StartHour], a
- ld a, [StartDay]
- sbc 0
- jr nc, .asm_164e6
- add 7
-.asm_164e6
- ld [StartDay], a
- ret
-; 164ea
-
-Function164ea: ; 164ea
- hlcoord 1, 14
- ld bc, $0312
- call ClearBox
- ret
-; 164f4
-
-UnknownText_0x164f4: ; 0x164f4
- ; Do you want to adjust your clock for Daylight Saving Time?
- text_jump UnknownText_0x1c6095
- db "@"
-; 0x164f9
-
-LostInstructionBookletText: ; 0x164f9
- ; I lost the instruction booklet for the POKéGEAR.
- ; Come back again in a while.
- text_jump UnknownText_0x1c60d1
- db "@"
-; 0x164fe
-
-UnknownText_0x164fe: ; 0x164fe
- ; Do you want to switch to Daylight Saving Time?
- text_jump UnknownText_0x1c6000
- db "@"
-; 0x16503
-
-UnknownText_0x16503: ; 0x16503
- ; I set the clock forward by one hour.
- text_jump UnknownText_0x1c6030
- db "@"
-; 0x16508
-
-UnknownText_0x16508: ; 0x16508
- ; Is Daylight Saving Time over?
- text_jump UnknownText_0x1c6056
- db "@"
-; 0x1650d
-
-UnknownText_0x1650d: ; 0x1650d
- ; I put the clock back one hour.
- text_jump UnknownText_0x1c6075
- db "@"
-; 0x16512
-
-Function16512: ; 16512
- ld de, String_1669f
- jr Function1651a
-
-Function16517: ; 16517
- ld de, String_166a8
-
-Function1651a: ; 1651a
- push de
- xor a
- ld [hBGMapMode], a
- hlcoord 0, 0
- lb bc, 6, 18
- call TextBox
- hlcoord 1, 2
- ld de, String_16699
- call PlaceString
- hlcoord 12, 2
- ld de, wd851
- lb bc, PRINTNUM_MONEY | 3, 6
- call PrintNum
- hlcoord 1, 4
- ld de, String_166b0
- call PlaceString
- hlcoord 12, 4
- ld de, Money
- lb bc, PRINTNUM_MONEY | 3, 6
- call PrintNum
- hlcoord 1, 6
- pop de
- call PlaceString
- hlcoord 12, 6
- ld de, StringBuffer2
- lb bc, PRINTNUM_MONEY | PRINTNUM_LEADINGZEROS | 3, 6
- call PrintNum
- call UpdateSprites
- call Function3238
- ret
-; 1656b
-
-Function1656b: ; 1656b
- ld c, 10
- call DelayFrames
- ret
-; 16571
-
-Function16571: ; 16571
-.asm_16571
- call Functiona57
- ld hl, hJoyPressed
- ld a, [hl]
- and $2
- jr nz, .asm_165b5
- ld a, [hl]
- and $1
- jr nz, .asm_165b7
- call Function165b9
- xor a
- ld [hBGMapMode], a
- hlcoord 12, 6
- ld bc, $0007
- ld a, $7f
- call ByteFill
- hlcoord 12, 6
- ld de, StringBuffer2
- lb bc, PRINTNUM_MONEY | PRINTNUM_LEADINGZEROS | 3, 6
- call PrintNum
- ld a, [$ff9b]
- and $10
- jr nz, .asm_165b0
- hlcoord 13, 6
- ld a, [wcf64]
- ld c, a
- ld b, $0
- add hl, bc
- ld [hl], $7f
-
-.asm_165b0
- call WaitBGMap
- jr .asm_16571
-
-.asm_165b5
- scf
- ret
-
-.asm_165b7
- and a
- ret
-; 165b9
-
-Function165b9: ; 165b9
- ld hl, $ffa9
- ld a, [hl]
- and $40
- jr nz, .asm_165e3
- ld a, [hl]
- and $80
- jr nz, .asm_165f5
- ld a, [hl]
- and $20
- jr nz, .asm_165d2
- ld a, [hl]
- and $10
- jr nz, .asm_165da
- and a
- ret
-
-.asm_165d2
- ld hl, wcf64
- ld a, [hl]
- and a
- ret z
- dec [hl]
- ret
-
-.asm_165da
- ld hl, wcf64
- ld a, [hl]
- cp $5
- ret nc
- inc [hl]
- ret
-
-.asm_165e3
- ld hl, Unknown_16613
- call Function16607
- ld c, l
- ld b, h
- ld de, StringBuffer2
- callba GiveMoney
- ret
-
-.asm_165f5
- ld hl, Unknown_16613
- call Function16607
- ld c, l
- ld b, h
- ld de, StringBuffer2
- callba TakeMoney
- ret
-; 16607
-
-Function16607: ; 16607
- ld a, [wcf64]
- push de
- ld e, a
- ld d, 0
-rept 3
- add hl, de
-endr
- pop de
- ret
-; 16613
-
-Unknown_16613: ; 16613
- dt 100000
- dt 10000
- dt 1000
- dt 100
- dt 10
- dt 1
-
- dt 100000
- dt 10000
- dt 1000
- dt 100
- dt 10
- dt 1
-
- dt 900000
- dt 90000
- dt 9000
- dt 900
- dt 90
- dt 9
-; 16649
-
-UnknownText_0x16649: ; 0x16649
- ; Wow, that's a cute #MON. Where did you get it? … So, you're leaving on an adventure… OK! I'll help too. But what can I do for you? I know! I'll save money for you. On a long journey, money's important. Do you want me to save your money?
- text_jump UnknownText_0x1bd77f
- db "@"
-; 0x1664e
-
-UnknownText_0x1664e: ; 0x1664e
- ; OK, I'll take care of your money.
- text_jump UnknownText_0x1bd868
- db "@"
-; 0x16653
-
-UnknownText_0x16653: ; 0x16653
- ; Be careful. #MON are your friends. You need to work as a team. Now, go on!
- text_jump UnknownText_0x1bd88e
- db "@"
-; 0x16658
-
-UnknownText_0x16658: ; 0x16658
- ; Hi! Welcome home! You're trying very hard, I see. I've kept your room tidy. Or is this about your money?
- text_jump UnknownText_0x1bd8da
- db "@"
-; 0x1665d
-
-UnknownText_0x1665d: ; 0x1665d
- ; What do you want to do?
- text_jump UnknownText_0x1bd942
- db "@"
-; 0x16662
-
-UnknownText_0x16662: ; 0x16662
- ; How much do you want to save?
- text_jump UnknownText_0x1bd95b
- db "@"
-; 0x16667
-
-UnknownText_0x16667: ; 0x16667
- ; How much do you want to take?
- text_jump UnknownText_0x1bd97a
- db "@"
-; 0x1666c
-
-UnknownText_0x1666c: ; 0x1666c
- ; Do you want to save some money?
- text_jump UnknownText_0x1bd999
- db "@"
-; 0x16671
-
-UnknownText_0x16671: ; 0x16671
- ; You haven't saved that much.
- text_jump UnknownText_0x1bd9ba
- db "@"
-; 0x16676
-
-UnknownText_0x16676: ; 0x16676
- ; You can't take that much.
- text_jump UnknownText_0x1bd9d7
- db "@"
-; 0x1667b
-
-UnknownText_0x1667b: ; 0x1667b
- ; You don't have that much.
- text_jump UnknownText_0x1bd9f1
- db "@"
-; 0x16680
-
-UnknownText_0x16680: ; 0x16680
- ; You can't save that much.
- text_jump UnknownText_0x1bda0b
- db "@"
-; 0x16685
-
-UnknownText_0x16685: ; 0x16685
- ; OK, I'll save your money. Trust me! , stick with it!
- text_jump UnknownText_0x1bda25
- db "@"
-; 0x1668a
-
-UnknownText_0x1668a: ; 0x1668a
- ; Your money's safe here! Get going!
- text_jump UnknownText_0x1bda5b
- db "@"
-; 0x1668f
-
-UnknownText_0x1668f: ; 0x1668f
- ; , don't give up!
- text_jump UnknownText_0x1bda7e
- db "@"
-; 0x16694
-
-UnknownText_0x16694: ; 0x16694
- ; Just do what you can.
- text_jump UnknownText_0x1bda90
- db "@"
-; 0x16699
-
-String_16699: ; 16699
- db "SAVED@"
-; 1669f
-
-String_1669f: ; 1669f
- db "WITHDRAW@"
-; 166a8
-
-String_166a8: ; 166a8
- db "DEPOSIT@"
-; 166b0
-
-String_166b0: ; 166b0
- db "HELD@"
-; 166b5
-
-MenuDataHeader_0x166b5: ; 0x166b5
- db $40 ; flags
- db 00, 00 ; start coords
- db 10, 10 ; end coords
- dw MenuData2_0x166bd
- db 1 ; default option
-; 0x166bd
-
-MenuData2_0x166bd: ; 0x166bd
- db $80 ; flags
- db 4 ; items
- db "GET@"
- db "SAVE@"
- db "CHANGE@"
- db "CANCEL@"
-; 0x166d6
+INCLUDE "event/mom.asm"
Special_DayCareMan: ; 166d6
ld hl, wDaycareMan
@@ -20497,11 +19747,11 @@ Function1678f: ; 1678f
Function16798: ; 16798
ld a, [PartyCount]
- cp $2
+ cp 2
jr c, .asm_167e5
- ld a, $4
+ ld a, 4
call Function1689b
- ld b, $6
+ ld b, 6
callba Function5001d
jr c, .asm_167dd
ld a, [CurPartySpecies]
@@ -22274,10 +21524,10 @@ INCBIN "gfx/unknown/017393.2bpp"
Function173b3: ; 173b3 (5:73b3)
callba Function8cf53
ld hl, Unknown_173ef
-.asm_173bc
+.loop
ld a, [hli]
cp $ff
- jr z, .asm_173e5
+ jr z, .done
ld e, a
ld a, [hli]
ld d, a
@@ -22302,8 +21552,8 @@ Function173b3: ; 173b3 (5:73b3)
add hl, bc
ld [hl], d
pop hl
- jr .asm_173bc
-.asm_173e5
+ jr .loop
+.done
ld de, SFX_EGG_HATCH
call PlaySFX
call Function1727f
@@ -23811,13 +23061,13 @@ Function2466f: ; 2466f
Function24673: ; 24673
ld a, [wcf91]
bit 7, a
- jp z, Function2ec8
+ jp z, xor_a_dec_a
ld a, [wcfa9]
dec a
call Function248d5
ld a, [MenuSelection]
cp $ff
- jp z, Function2ec8
+ jp z, xor_a_dec_a
call Function246fc
dec a
ld [wcf77], a
@@ -23829,7 +23079,7 @@ Function24673: ; 24673
Function24695: ; 24695
ld a, [wcf91]
bit 6, a
- jp z, Function2ec8
+ jp z, xor_a_dec_a
ld a, $8
scf
ret
@@ -23838,10 +23088,10 @@ Function24695: ; 24695
Function246a1: ; 246a1
ld hl, wcfa6
bit 7, [hl]
- jp z, Function2ec8
+ jp z, xor_a_dec_a
ld a, [wcf91]
bit 3, a
- jp z, Function2ec8
+ jp z, xor_a_dec_a
ld a, $20
scf
ret
@@ -23850,10 +23100,10 @@ Function246a1: ; 246a1
Function246b5: ; 246b5
ld hl, wcfa6
bit 7, [hl]
- jp z, Function2ec8
+ jp z, xor_a_dec_a
ld a, [wcf91]
bit 2, a
- jp z, Function2ec8
+ jp z, xor_a_dec_a
ld a, $10
scf
ret
@@ -23862,22 +23112,22 @@ Function246b5: ; 246b5
Function246c9: ; 246c9
ld hl, wcfa6
bit 7, [hl]
- jp z, Function2ec6
+ jp z, xor_a
ld hl, wd0e4
ld a, [hl]
and a
jr z, .asm_246dc
dec [hl]
- jp Function2ec6
+ jp xor_a
.asm_246dc
- jp Function2ec8
+ jp xor_a_dec_a
; 246df
Function246df: ; 246df
ld hl, wcfa6
bit 7, [hl]
- jp z, Function2ec6
+ jp z, xor_a
ld hl, wd0e4
ld a, [wcf92]
add [hl]
@@ -23886,10 +23136,10 @@ Function246df: ; 246df
cp b
jr c, .asm_246f9
inc [hl]
- jp Function2ec6
+ jp xor_a
.asm_246f9
- jp Function2ec8
+ jp xor_a_dec_a
; 246fc
Function246fc: ; 246fc
@@ -24577,8 +23827,8 @@ MenuDataHeader_0x24b1d: ; 0x24b1d
Function24b25: ; 24b25
hlcoord 11, 0
- ld b, $1
- ld c, $7
+ ld b, 1
+ ld c, 7
call TextBox
hlcoord 12, 0
ld de, CoinString
@@ -25737,7 +24987,7 @@ Function25299: ; 25299 (9:5299)
ld de, Tilemap_252fc
call Function253a8
hlcoord 14, 1
- ld bc, $507
+ lb bc, 5, 7
xor a
ld [$ffad], a
predef FillBox
@@ -25768,7 +25018,7 @@ Function2530a: ; 2530a (9:530a)
call CountSetBits
ld de, wd265
hlcoord 15, 10
- ld bc, $103
+ lb bc, 1, 3
call PrintNum
call Function25415
hlcoord 2, 8
@@ -25927,7 +25177,7 @@ Function253f4: ; 253f4 (9:53f4)
Function25415: ; 25415 (9:5415)
hlcoord 11, 12
ld de, GameTimeHours
- ld bc, $204
+ lb bc, 2, 4
call PrintNum
inc hl
ld de, GameTimeMinutes
@@ -34431,7 +33681,7 @@ Function2c9e2: ; 2c9e2 (b:49e2)
ld a, b
ld [wd265], a
ld de, wd265
- ld bc, $102
+ lb bc, 1, 2
call PrintNum
.asm_2ca6f
pop bc
@@ -38300,12 +37550,12 @@ endr
Function487ff: ; 487ff (12:47ff)
push hl
- ld a, $7f
+ ld a, " "
ld [hli], a
ld [hl], a
pop hl
- ld b, $81
- ld c, $3
+ ld b, PRINTNUM_LEADINGZEROS | 1
+ ld c, 3
call PrintNum
ret
; 4880d (12:480d)
@@ -45294,12 +44544,12 @@ Function4e013: ; 4e013 (13:6013)
hlcoord 17, 14
call Function4e0d3
hlcoord 13, 10
- ld bc, $307
+ lb bc, 3, 7
ld de, TempMonExp
call PrintNum
call Function4e0e7
hlcoord 13, 13
- ld bc, $307
+ lb bc, 3, 7
ld de, Buffer1 ; wd1ea (aliases: MagikarpLength)
call PrintNum
ld de, String_4e136
@@ -48403,7 +47653,7 @@ PrintTempMonStats: ; 50b7b
ld bc, SCREEN_WIDTH
add hl, bc
ld de, TempMonAttack
- ld bc, $0203
+ lb bc, 2, 3
call .PrintStat
ld de, TempMonDefense
call .PrintStat
@@ -86312,384 +85562,11 @@ UnownWord25: unownword "YIELD"
UnownWord26: unownword "ZOOM"
; fbb32
-Special_CheckMagikarpLength: ; fbb32
- callba SelectMonFromParty
- jr c, .declined
- ld a, [CurPartySpecies]
- cp MAGIKARP
- jr nz, .not_magikarp
- ld a, [CurPartyMon]
- ld hl, PartyMon1Species
- ld bc, PartyMon2 - PartyMon1
- call AddNTimes
- push hl
- ld bc, MON_DVS
- add hl, bc
- ld d, h
- ld e, l
- pop hl
- ld bc, MON_ID
- add hl, bc
- ld b, h
- ld c, l
- call CalcMagikarpLength
- call Functionfbbdb
- callba Function105f33
- ld hl, UnknownText_0xfbba9
- call PrintText
- ld hl, Buffer1
- ld de, wdfe8
- ld c, $2
- call StringCmp
- jr nc, .not_long_enough
- ld hl, Buffer1
- ld de, wdfe8
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hl]
- ld [de], a
- inc de
- ld a, [CurPartyMon]
- ld hl, PartyMonOT
- call SkipNames
- call CopyBytes
- ld a, $3
- ld [ScriptVar], a
- ret
-
-.not_long_enough
- ld a, $2
- ld [ScriptVar], a
- ret
-
-.declined
- ld a, $1
- ld [ScriptVar], a
- ret
-
-.not_magikarp
- xor a
- ld [ScriptVar], a
- ret
-; fbba9
-
-UnknownText_0xfbba9: ; 0xfbba9
- ; Let me measure that MAGIKARP. …Hm, it measures @ .
- text_jump UnknownText_0x1c1203
- db "@"
-; 0xfbbae
-
-Functionfbbae: ; fbbae
- ld hl, $96e0
- ld de, GFX_fbbbb
- lb bc, BANK(GFX_fbbbb), $02
- call Request2bpp
- ret
-; fbbbb
-
-GFX_fbbbb: ; fbbb
-INCBIN "gfx/unknown/0fbbbb.2bpp"
-; fbbdb
-
-Functionfbbdb: ; fbbdb
- call Functionfbbae
- ld hl, StringBuffer1
- ld de, Buffer1
- lb bc, PRINTNUM_RIGHTALIGN | 1, 2
- call PrintNum
- ld [hl], $6e
- inc hl
- ld de, Buffer2
- lb bc, PRINTNUM_RIGHTALIGN | 1, 2
- call PrintNum
- ld [hl], $6f
- inc hl
- ld [hl], "@"
- ret
-; fbbfc
-
-INCLUDE "battle/magikarp_length.asm"
-
-Special_MagikarpHouseSign: ; fbcd2
- ld a, [wdfe8]
- ld [Buffer1], a
- ld a, [wdfe9]
- ld [Buffer2], a
- call Functionfbbdb
- ld hl, UnknownText_0xfbce8
- call PrintText
- ret
-; fbce8
-
-UnknownText_0xfbce8: ; 0xfbce8
- ; "CURRENT RECORD"
- text_jump UnknownText_0x1c123a
- db "@"
-; 0xfbced
+INCLUDE "event/magikarp.asm"
INCLUDE "battle/hidden_power.asm"
-Functionfbd54: ; fbd54
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- ld a, [hBattleTurn] ; $ff00+$e4
- and a
- jr z, .asm_fbd61
- call Functionfbd96
- jr .asm_fbd64
-.asm_fbd61
- call Functionfbd9d
-.asm_fbd64
- call ClearBox
- jr Functionfbd91
-
-Functionfbd69: ; fbd69 (3e:7d69)
- callba BattleCommanda6
- jr Functionfbd77
-
-Functionfbd71: ; fbd71 (3e:7d71)
- callba BattleCommanda7
-
-Functionfbd77: ; fbd77 (3e:7d77)
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- ld a, [hBattleTurn] ; $ff00+$e4
- and a
- jr z, .asm_fbd85
- call Functionfbd96
- xor a
- jr .asm_fbd8a
-.asm_fbd85
- call Functionfbd9d
- ld a, $31
-.asm_fbd8a
- ld [$ffad], a
- predef FillBox
-Functionfbd91: ; fbd91 (3e:7d91)
- ld a, $1
- ld [hBGMapMode], a ; $ff00+$d4
- ret
-
-Functionfbd96: ; fbd96 (3e:7d96)
- hlcoord 12, 0
- ld bc, $707
- ret
-
-Functionfbd9d: ; fbd9d (3e:7d9d)
- hlcoord 2, 6
- ld bc, $606
- ret
-
-
-DoWeatherModifiers: ; fbda4
-
- ld de, .WeatherTypeModifiers
- ld a, [Weather]
- ld b, a
- ld a, [wd265] ; move type
- ld c, a
-
-.CheckWeatherType
- ld a, [de]
- inc de
- cp $ff
- jr z, .asm_fbdc0
-
- cp b
- jr nz, .NextWeatherType
-
- ld a, [de]
- cp c
- jr z, .ApplyModifier
-
-.NextWeatherType
-rept 2
- inc de
-endr
- jr .CheckWeatherType
-
-
-.asm_fbdc0
- ld de, .WeatherMoveModifiers
-
- ld a, BATTLE_VARS_MOVE_EFFECT
- call GetBattleVar
- ld c, a
-
-.CheckWeatherMove
- ld a, [de]
- inc de
- cp $ff
- jr z, .done
-
- cp b
- jr nz, .NextWeatherMove
-
- ld a, [de]
- cp c
- jr z, .ApplyModifier
-
-.NextWeatherMove
-rept 2
- inc de
-endr
- jr .CheckWeatherMove
-
-.ApplyModifier
- xor a
- ld [hMultiplicand + 0], a
- ld hl, CurDamage
- ld a, [hli]
- ld [hMultiplicand + 1], a
- ld a, [hl]
- ld [hMultiplicand + 2], a
-
- inc de
- ld a, [de]
- ld [hMultiplier], a
-
- call Multiply
-
- ld a, 10
- ld [hDivisor], a
- ld b, $4
- call Divide
-
- ld a, [hQuotient + 0]
- and a
- ld bc, $ffff
- jr nz, .Update
-
- ld a, [hQuotient + 1]
- ld b, a
- ld a, [hQuotient + 2]
- ld c, a
- or b
- jr nz, .Update
-
- ld bc, 1
-
-.Update
- ld a, b
- ld [CurDamage], a
- ld a, c
- ld [CurDamage + 1], a
-
-.done
- ret
-
-.WeatherTypeModifiers
- db WEATHER_RAIN, WATER, 15
- db WEATHER_RAIN, FIRE, 05
- db WEATHER_SUN, FIRE, 15
- db WEATHER_SUN, WATER, 05
- db $ff
-
-.WeatherMoveModifiers
- db WEATHER_RAIN, EFFECT_SOLARBEAM, 05
- db $ff
-; fbe24
-
-
-DoBadgeTypeBoosts: ; fbe24
- ld a, [InLinkBattle]
- and a
- ret nz
-
- ld a, [InBattleTowerBattle]
- and a
- ret nz
-
- ld a, [hBattleTurn]
- and a
- ret nz
-
- push de
- push bc
-
- ld hl, .BadgeTypes
-
- ld a, [KantoBadges]
- ld b, a
- ld a, [JohtoBadges]
- ld c, a
-
-.CheckBadge
- ld a, [hl]
- cp $ff
- jr z, .done
-
- srl b
- rr c
- jr nc, .NextBadge
-
- ld a, [wd265] ; move type
- cp [hl]
- jr z, .ApplyBoost
-
-.NextBadge
- inc hl
- jr .CheckBadge
-
-.ApplyBoost
- ld a, [CurDamage]
- ld h, a
- ld d, a
- ld a, [CurDamage + 1]
- ld l, a
- ld e, a
-
- srl d
- rr e
- srl d
- rr e
- srl d
- rr e
-
- ld a, e
- or d
- jr nz, .asm_fbe6f
- ld e, 1
-
-.asm_fbe6f
- add hl, de
- jr nc, .Update
-
- ld hl, $ffff
-
-.Update
- ld a, h
- ld [CurDamage], a
- ld a, l
- ld [CurDamage + 1], a
-
-.done
- pop bc
- pop de
- ret
-
-.BadgeTypes
- db FLYING ; zephyrbadge
- db BUG ; hivebadge
- db NORMAL ; plainbadge
- db GHOST ; fogbadge
- db STEEL ; mineralbadge
- db FIGHTING ; stormbadge
- db ICE ; glacierbadge
- db DRAGON ; risingbadge
-
- db ROCK ; boulderbadge
- db WATER ; cascadebadge
- db ELECTRIC ; thunderbadge
- db GRASS ; rainbowbadge
- db POISON ; soulbadge
- db PSYCHIC ; marshbadge
- db FIRE ; volcanobadge
- db GROUND ; earthbadge
- db $ff
-; fbe91
-
+INCLUDE "battle/misc.asm"
SECTION "bank3F", ROMX, BANK[$3F]
@@ -86732,7 +85609,7 @@ NPCTrade:: ; fcba8
jr c, .done
; Select givemon from party
- ld b, $6
+ ld b, 6
callba Function5001d
ld a, TRADE_CANCEL
jr c, .done
@@ -90697,7 +89574,7 @@ Mobile_HallOfFame2:: mobile ; 0x105ef6
ret
; 105f33
-Function105f33: mobile ; 105f33
+MagikarpLength_Mobile: mobile ; 105f33
ld a, $5
call GetSRAMBank
ld de, Buffer1
@@ -92253,7 +91130,7 @@ Function1dd6a9: ; 1dd6a9
Function1dd6bb: ; 1dd6bb (77:56bb)
ld a, b
- cp $c
+ cp 12
push af
jr c, .asm_1dd6c7
jr z, .asm_1dd6cc
@@ -92272,7 +91149,7 @@ Function1dd6bb: ; 1dd6bb (77:56bb)
pop de
pop hl
ld [hl], $7f
- ld bc, $102
+ lb bc, 1, 2
call PrintNum
ld [hl], $9c
inc hl