diff options
| -rw-r--r-- | main.asm | 138 | 
1 files changed, 134 insertions, 4 deletions
| @@ -29812,7 +29812,16 @@ BeedrillPicBack:  FossilKabutopsPic:  	INCBIN "pic/bmon/fossilkabutops.pic" -INCBIN "baserom.gbc",$2fb7b,$2fb8e - $2fb7b +DisplayEffectiveness: +	ld a, [$D05B] +	and a, $7F +	cp a, $0A +	ret z +	ld hl, UnnamedText_2fb8e	; It's super effective! +	jr nc, .done\@ +	ld hl, UnnamedText_2fb93	; It's not very effective... +.done\@ +	jp $3C49  UnnamedText_2fb8e: ; 0x2fb8e  	TX_FAR _UnnamedText_2fb8e @@ -44835,14 +44844,102 @@ LavenderTownText9: ; 0x44164  	TX_FAR _LavenderTownText9  	db $50 -INCBIN "baserom.gbc",$44169,$441cc - $44169 +DisplayDexRating: ; 0x44169 +	ld hl, W_SEENPOKEMON +	ld b, $13 +	call CountSetBits +	ld a, [$D11E] ; result of CountSetBits (seen count) +	ld [$FFDB], a +	ld hl, W_OWNEDPOKEMON +	ld b, $13 +	call CountSetBits +	ld a, [$D11E] ; result of CountSetBits (own count) +	ld [$FFDC], a +	ld hl, DexRatingsTable +.findRating +	ld a, [hli] +	ld b, a +	ld a, [$FFDC] ; number of pokemon owned +	cp b +	jr c, .foundRating +	inc hl +	inc hl +	jr .findRating +.foundRating +	ld a, [hli] +	ld h, [hl] +	ld l, a ; load text pointer into hl +	ld a, [$D747] +	bit 3, a +	res 3, a +	ld [$D747], a +	jr nz, .label3 +	push hl +	ld hl, UnnamedText_441cc +	call PrintText +	pop hl +	call PrintText +	ld b, $1F +	ld hl, $513B +	call Bankswitch +	jp $3865 ; wait for button press +.label3 +	ld de, $CC5B +	ld a, [$FFDB] +	ld [de], a +	inc de +	ld a, [$FFDC] +	ld [de], a +	inc de +.label4 +	ld a, [hli] +	cp a, $50 +	jr z, .label5 +	ld [de], a +	inc de +	jr .label4 +.label5 +	ld [de], a +	ret  UnnamedText_441cc: ; 0x441cc  	TX_FAR _UnnamedText_441cc  	db $50  ; 0x441cc + 5 bytes -INCBIN "baserom.gbc",$441d1,$44201 - $441d1 +DexRatingsTable: +	db 10 +	dw UnnamedText_44201 +	db 20 +	dw UnnamedText_44206 +	db 30 +	dw UnnamedText_4420b +	db 40 +	dw UnnamedText_44210 +	db 50 +	dw UnnamedText_44215 +	db 60 +	dw UnnamedText_4421a +	db 70 +	dw UnnamedText_4421f +	db 80 +	dw UnnamedText_44224 +	db 90 +	dw UnnamedText_44229 +	db 100 +	dw UnnamedText_4422e +	db 110 +	dw UnnamedText_44233 +	db 120 +	dw UnnamedText_44238 +	db 130 +	dw UnnamedText_4423d +	db 140 +	dw UnnamedText_44242 +	db 150 +	dw UnnamedText_44247 +	db 152 +	dw UnnamedText_4424c  UnnamedText_44201: ; 0x44201  	TX_FAR _UnnamedText_44201 @@ -70066,7 +70163,40 @@ UnnamedText_71dda: ; 0x71dda  	db $50  ; 0x71dda + 5 bytes -INCBIN "baserom.gbc",$71ddf,$7e9 +INCBIN "baserom.gbc",$71DDF,$71E12-$71DDF + +	ld a, [W_PLAYERBATTSTATUS3] +	ld hl, $D014                ; player Pokemon ID +	call DeterminePaletteID +	ld b, a +	ld a, [W_ENEMYBATTSTATUS3] +	ld hl, $CFD8                ; enemy Pokemon ID +	call DeterminePaletteID + +INCBIN "baserom.gbc",$71E25,$71F97-$71E25 + +DeterminePaletteID: +	bit 3, a                 ; bit 3 of battle status 3 (unused?) +	ld a, PAL_GREYMON +	ret nz +	ld a, [hl] +	ld [$D11E], a +	and a +	jr z, .idZero +	push bc +	ld a, $3A +	call Predef               ; turn Pokemon ID number into Pokedex number +	pop bc +	ld a, [$D11E] +.idZero +	ld e, a +	ld d, $00 +	ld hl, MonsterPalettes   ; not just for Pokemon, Trainers use it too +	add hl, de +	ld a, [hl] +	ret + +INCBIN "baserom.gbc",$71FB6,$725C8-$71FB6  MonsterPalettes: ; 65C8  	db PAL_MEWMON    ; MISSINGNO | 
