mirror of
https://github.com/pret/pokered.git
synced 2024-10-23 06:58:24 +00:00
31e251af3a
hg-commit-id: da3b7f586edf
10014 lines
168 KiB
NASM
10014 lines
168 KiB
NASM
INCLUDE "constants.asm"
|
||
|
||
; the rst vectors are unused
|
||
SECTION "rst00",HOME[0]
|
||
db $FF
|
||
SECTION "rst08",HOME[8]
|
||
db $FF
|
||
SECTION "rst10",HOME[$10]
|
||
db $FF
|
||
SECTION "rst18",HOME[$18]
|
||
db $FF
|
||
SECTION "rst20",HOME[$20]
|
||
db $FF
|
||
SECTION "rst28",HOME[$28]
|
||
db $FF
|
||
SECTION "rst30",HOME[$30]
|
||
db $FF
|
||
SECTION "rst38",HOME[$38]
|
||
db $FF
|
||
|
||
; interrupts
|
||
SECTION "vblank",HOME[$40]
|
||
jp $2024
|
||
SECTION "lcdc",HOME[$48]
|
||
db $FF
|
||
SECTION "timer",HOME[$50]
|
||
jp $2306
|
||
SECTION "serial",HOME[$58]
|
||
jp $2125
|
||
SECTION "joypad",HOME[$60]
|
||
reti
|
||
|
||
SECTION "bank0",HOME[$61]
|
||
INCBIN "baserom.gbc",$61,$9D-$61
|
||
|
||
FarCopyData: ; 009D
|
||
; copy bc bytes of data from a:hl to de
|
||
ld [$CEE9],a ; save future bank # for later
|
||
ld a,[$FFB8] ; get current bank #
|
||
push af
|
||
ld a,[$CEE9] ; get future bank #, switch
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
call CopyData
|
||
pop af ; okay, done, time to switch back
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ret
|
||
CopyData: ; 00B5
|
||
; copy bc bytes of data from hl to de
|
||
ld a,[hli]
|
||
ld [de],a
|
||
inc de
|
||
dec bc
|
||
ld a,c
|
||
or b
|
||
jr nz,CopyData
|
||
ret
|
||
|
||
|
||
SECTION "romheader",HOME[$100]
|
||
nop
|
||
jp Start
|
||
|
||
Section "start",HOME[$150]
|
||
Start:
|
||
INCBIN "baserom.gbc",$150,$1AE - $150
|
||
; see also MapHeaderBanks
|
||
MapHeaderPointers: ; $01AE
|
||
dw PalletTown_h
|
||
dw $4357 ; VIRIDIAN_CITY
|
||
dw $4554 ; PEWTER_CITY
|
||
dw $474e ; CERULEAN_CITY
|
||
dw $4000 ; LAVENDER_TOWN
|
||
dw $4998 ; VERMILION_CITY
|
||
dw $4000 ; CELADON_CITY
|
||
dw $4ba7 ; FUCHSIA_CITY
|
||
dw $4000 ; CINNABAR_ISLAND
|
||
dw $491e ; INDIGO_PLATEAU
|
||
dw $49a4 ; SAFFRON_CITY
|
||
dw $49a4 ; unused
|
||
dw $40c3 ; ROUTE_1
|
||
dw $4000 ; ROUTE_2
|
||
dw $41e6 ; ROUTE_3
|
||
dw $4390 ; ROUTE_4
|
||
dw $4581 ; ROUTE_5
|
||
dw $4000 ; ROUTE_6
|
||
dw $4000 ; ROUTE_7
|
||
dw $412d ; ROUTE_8
|
||
dw $4686 ; ROUTE_9
|
||
dw $42d4 ; ROUTE_10
|
||
dw $44be ; ROUTE_11
|
||
dw $466d ; ROUTE_12
|
||
dw $480c ; ROUTE_13
|
||
dw $4999 ; ROUTE_14
|
||
dw $492c ; ROUTE_15
|
||
dw $4ada ; ROUTE_16
|
||
dw $4b20 ; ROUTE_17
|
||
dw $4c38 ; ROUTE_18
|
||
dw $4e78 ; ROUTE_19
|
||
dw $40f1 ; ROUTE_20
|
||
dw $4fff ; ROUTE_21
|
||
dw $4000 ; ROUTE_22
|
||
dw $433f ; ROUTE_23
|
||
dw $4682 ; ROUTE_24
|
||
dw $479b ; ROUTE_25
|
||
dw RedsHouse1F_h
|
||
dw RedsHouse2F_h
|
||
dw $5b2f
|
||
dw $4b02
|
||
dw $4251
|
||
dw $5462
|
||
dw $5540
|
||
dw $557d
|
||
dw $4897
|
||
dw $5ea4
|
||
dw $557b
|
||
dw $5ee1
|
||
dw $55c8
|
||
dw $5650
|
||
dw $5101
|
||
dw $40eb
|
||
dw $430b
|
||
dw $437b
|
||
dw $55e7
|
||
dw $4ca1
|
||
dw $563c
|
||
dw $457b
|
||
dw $59bc
|
||
dw $5a36
|
||
dw $5cff
|
||
dw $5679
|
||
dw $56ea
|
||
dw $4639
|
||
dw $46a7
|
||
dw $5730
|
||
dw $4889
|
||
dw $52c3
|
||
dw $5679
|
||
dw $5f27
|
||
dw $569d
|
||
dw $6243
|
||
dw $6031
|
||
dw $56e3
|
||
dw $56e3
|
||
dw $60f4
|
||
dw $5720
|
||
dw $575d
|
||
dw $61bb
|
||
dw $627d
|
||
dw $53ae
|
||
dw $44d0
|
||
dw $62ba
|
||
dw $5400
|
||
dw $65ae
|
||
dw $5448
|
||
dw $54f8
|
||
dw $675e
|
||
dw $4983
|
||
dw $5b64
|
||
dw $49d5
|
||
dw $4a1a
|
||
dw $5af0
|
||
dw $5b46
|
||
dw $5259
|
||
dw $5393
|
||
dw $4926
|
||
dw $5622
|
||
dw $56a2
|
||
dw $57a7
|
||
dw $5889
|
||
dw $596a
|
||
dw $5b3f
|
||
dw $5d49
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $59fe
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $62a2
|
||
dw $6492
|
||
dw $5f1a
|
||
dw $5f11
|
||
dw $5f3e
|
||
dw $4f7a
|
||
dw $60e9
|
||
dw $4219
|
||
dw $434a
|
||
dw $43c9
|
||
dw $45f4
|
||
dw $4688
|
||
dw $472e
|
||
dw $4784
|
||
dw $485f
|
||
dw $5d2e
|
||
dw $48ac
|
||
dw $48fe
|
||
dw $4bb1
|
||
dw $505d
|
||
dw $50e4
|
||
dw $5145
|
||
dw $5202
|
||
dw $525d
|
||
dw $48ce
|
||
dw $4420
|
||
dw $44e6
|
||
dw $46c0
|
||
dw $47ea
|
||
dw $4926
|
||
dw $4ae3
|
||
dw $4cf9
|
||
dw $589c
|
||
dw $4920
|
||
dw $59a2
|
||
dw $5d7c
|
||
dw $500c
|
||
dw $5057
|
||
dw $50a9
|
||
dw $51c1
|
||
dw $5431
|
||
dw $56d7
|
||
dw $6309
|
||
dw $6445
|
||
dw $6581
|
||
dw $678d
|
||
dw $6064
|
||
dw $6170
|
||
dw $42a3
|
||
dw $573e
|
||
dw $5b80
|
||
dw $5c15
|
||
dw $5c7b
|
||
dw $5d25
|
||
dw $5e20
|
||
dw $5e72
|
||
dw $5e72
|
||
dw $5c4f
|
||
dw $5eb7
|
||
dw $4c65
|
||
dw $4d51
|
||
dw $5001
|
||
dw $5dd1
|
||
dw $53fd
|
||
dw $5442
|
||
dw $5529
|
||
dw $5e30
|
||
dw $55f6
|
||
dw $563e
|
||
dw $56b2
|
||
dw $57ff
|
||
dw $65ec
|
||
dw $6473
|
||
dw $586a
|
||
dw $5969
|
||
dw $47dd
|
||
dw $6677
|
||
dw $5791
|
||
dw $5554
|
||
dw $5c06
|
||
dw $5f62
|
||
dw $4974
|
||
dw $4bbe
|
||
dw $4e1b
|
||
dw $5219
|
||
dw $5451
|
||
dw $5704
|
||
dw $5704
|
||
dw $5704
|
||
dw $5704
|
||
dw $5ce5
|
||
dw $5f4f
|
||
dw $5cff
|
||
dw $5f2b
|
||
dw $619d
|
||
dw $5b55
|
||
dw $64f8
|
||
dw $5fcc
|
||
dw $61e2
|
||
dw $63ad
|
||
dw $585f
|
||
dw $599f
|
||
dw $61a9
|
||
dw $5ba6
|
||
dw $5ce1
|
||
dw $630b
|
||
dw $5d1e
|
||
dw $5d69
|
||
dw $5db4
|
||
dw $5dff
|
||
dw $5ee4
|
||
dw $4d00
|
||
dw $5a06
|
||
dw $4dfd
|
||
dw $56b2
|
||
dw $5fdf
|
||
dw $57af
|
||
dw $612d
|
||
dw $60ee
|
||
dw $57b4
|
||
dw $5ce5
|
||
dw $5ce5
|
||
dw $7d04
|
||
dw $7d71
|
||
dw $5CE5
|
||
dw $5CE5
|
||
dw $5CE5
|
||
dw $5CE5
|
||
dw $616F
|
||
dw $62CA
|
||
dw $6421
|
||
|
||
incbin "baserom.gbc",$39E,$1627 - $39E
|
||
|
||
|
||
;XXX what does this do
|
||
;XXX what points to this
|
||
; offset 1627
|
||
ld bc,$D0B8
|
||
add hl,bc
|
||
ld a,[hli]
|
||
ld [$D0AB],a
|
||
ld a,[hl]
|
||
ld [$D0AC],a
|
||
|
||
; offset 1633
|
||
; define (by index number) the bank that a pokemon's image is in
|
||
; index = Mew, bank 1
|
||
; index = Kabutops fossil, bank $B
|
||
; index < $1F, bank 9
|
||
; $1F ≤ index < $4A, bank $A
|
||
; $4A ≤ index < $74, bank $B
|
||
; $74 ≤ index < $99, bank $C
|
||
; $99 ≤ index, bank $D
|
||
ld a,[$CF91] ; XXX name for this ram location
|
||
ld b,a
|
||
cp $15
|
||
ld a,$01
|
||
jr z,.GotBank\@
|
||
ld a,b
|
||
cp $B6
|
||
ld a,$0B
|
||
jr z,.GotBank\@
|
||
ld a,b
|
||
cp $1F
|
||
ld a,$09
|
||
jr c,.GotBank\@
|
||
ld a,b
|
||
cp $4A
|
||
ld a,$0A
|
||
jr c,.GotBank\@
|
||
ld a,b
|
||
cp $74
|
||
ld a,$0B
|
||
jr c,.GotBank\@
|
||
ld a,b
|
||
cp $99
|
||
ld a,$0C
|
||
jr c,.GotBank\@
|
||
ld a,$0D
|
||
.GotBank\@
|
||
jp $24FD
|
||
|
||
INCBIN "baserom.gbc",$1665,$172F - $1665
|
||
|
||
Tset0B_Coll:
|
||
INCBIN "baserom.gbc",$172F,$1735-$172F
|
||
Tset00_Coll:
|
||
INCBIN "baserom.gbc",$1735,$1749-$1735
|
||
Tset01_Coll:
|
||
INCBIN "baserom.gbc",$1749,$1753-$1749
|
||
Tset02_Coll:
|
||
INCBIN "baserom.gbc",$1753,$1759-$1753
|
||
Tset05_Coll:
|
||
INCBIN "baserom.gbc",$1759,$1765-$1759
|
||
Tset03_Coll:
|
||
INCBIN "baserom.gbc",$1765,$1775-$1765
|
||
Tset08_Coll:
|
||
INCBIN "baserom.gbc",$1775,$177F-$1775
|
||
Tset09_Coll:
|
||
INCBIN "baserom.gbc",$177F,$178A-$177F
|
||
Tset0D_Coll:
|
||
INCBIN "baserom.gbc",$178A,$1795-$178A
|
||
Tset0E_Coll:
|
||
INCBIN "baserom.gbc",$1795,$179A-$1795
|
||
Tset0F_Coll:
|
||
INCBIN "baserom.gbc",$179A,$17A2-$179A
|
||
Tset10_Coll:
|
||
INCBIN "baserom.gbc",$17A2,$17AC-$17A2
|
||
Tset11_Coll:
|
||
INCBIN "baserom.gbc",$17AC,$17B8-$17AC
|
||
Tset12_Coll:
|
||
INCBIN "baserom.gbc",$17B8,$17C0-$17B8
|
||
Tset13_Coll:
|
||
INCBIN "baserom.gbc",$17C0,$17CA-$17C0
|
||
Tset14_Coll:
|
||
INCBIN "baserom.gbc",$17CA,$17D1-$17CA
|
||
Tset15_Coll:
|
||
INCBIN "baserom.gbc",$17D1,$17DD-$17D1
|
||
Tset16_Coll:
|
||
INCBIN "baserom.gbc",$17DD,$17F0-$17DD
|
||
Tset17_Coll:
|
||
INCBIN "baserom.gbc",$17F0,$190F-$17F0
|
||
|
||
ClearScreen: ; 190F
|
||
; clears all tiles in the tilemap,
|
||
; then (writes 1 to $FFD3, waits for it to become 0) three times (XXX why?)
|
||
ld bc,$0168 ; tilemap size
|
||
inc b
|
||
ld hl,$C3A0 ; TILEMAP_START
|
||
ld a,$7F ; $7F is blank tile
|
||
.loop\@
|
||
ld [hli],a
|
||
dec c
|
||
jr nz,.loop\@
|
||
dec b
|
||
jr nz,.loop\@
|
||
jp Delay3
|
||
|
||
TextBoxBorder: ; 1922
|
||
; draw a text box
|
||
; upper-left corner at coordinates hl
|
||
; height b
|
||
; width c
|
||
|
||
; first row
|
||
push hl
|
||
ld a,$79 ; upper-left border ┌
|
||
ld [hli],a
|
||
inc a ; horizontal border ─
|
||
call NPlaceChar
|
||
inc a ; upper-right border ┐
|
||
ld [hl],a
|
||
|
||
; middle rows
|
||
pop hl
|
||
ld de,20
|
||
add hl,de ; skip the top row
|
||
|
||
.PlaceRow\@
|
||
push hl
|
||
ld a,$7C ; vertical border │
|
||
ld [hli],a
|
||
ld a,$7F ; blank space ‘ ’
|
||
call NPlaceChar
|
||
ld [hl],$7C ; vertical border │
|
||
|
||
pop hl
|
||
ld de,20
|
||
add hl,de ; move to next row
|
||
dec b
|
||
jr nz,.PlaceRow\@
|
||
|
||
; bottom row
|
||
ld a,$7D ; lower-left border └
|
||
ld [hli],a
|
||
ld a,$7A ; horizontal border ─
|
||
call NPlaceChar
|
||
ld [hl],$7E ; lower-right border ┘
|
||
ret
|
||
;
|
||
NPlaceChar:
|
||
; place a row of width c of identical characters
|
||
ld d,c
|
||
.loop\@
|
||
ld [hli],a
|
||
dec d
|
||
jr nz,.loop\@
|
||
ret
|
||
|
||
PlaceString: ; 1955
|
||
push hl
|
||
PlaceNextChar: ; 1956
|
||
ld a,[de]
|
||
|
||
; $50 ends a string
|
||
cp $50
|
||
jr nz,.PlaceText\@
|
||
ld b,h
|
||
ld c,l
|
||
pop hl
|
||
ret
|
||
|
||
.PlaceText\@
|
||
cp $4E
|
||
jr nz,.next\@
|
||
ld bc,$0028
|
||
ld a,[$FFF6]
|
||
bit 2,a
|
||
jr z,.next2\@
|
||
ld bc,$14
|
||
.next2\@
|
||
pop hl
|
||
add hl,bc
|
||
push hl
|
||
jp Next19E8
|
||
|
||
.next\@
|
||
cp $4F
|
||
jr nz,.next3\@
|
||
pop hl
|
||
ld hl,$C4E1
|
||
push hl
|
||
jp Next19E8
|
||
|
||
.next3\@ ; Check against a dictionary
|
||
and a
|
||
jp z,Char00
|
||
cp $4C
|
||
jp z,$1B0A
|
||
cp $4B
|
||
jp z,Char4B
|
||
cp $51
|
||
jp z,Char51
|
||
cp $49
|
||
jp z,Char49
|
||
cp $52
|
||
jp z,Char52
|
||
cp $53
|
||
jp z,Char53
|
||
cp $54
|
||
jp z,Char54
|
||
cp $5B
|
||
jp z,Char5B
|
||
cp $5E
|
||
jp z,Char5E
|
||
cp $5C
|
||
jp z,Char5C
|
||
cp $5D
|
||
jp z,Char5D
|
||
cp $55
|
||
jp z,$1A7C
|
||
cp $56
|
||
jp z,Char56
|
||
cp $57
|
||
jp z,$1AAD
|
||
cp $58
|
||
jp z,Char58
|
||
cp $4A
|
||
jp z,Char4A
|
||
cp $5F
|
||
jp z,Char5F
|
||
cp $59
|
||
jp z,Char59
|
||
cp $5A
|
||
jp z,Char5A
|
||
ld [hli],a
|
||
call $38D3
|
||
Next19E8:
|
||
inc de
|
||
jp PlaceNextChar
|
||
|
||
Char00:
|
||
ld b,h
|
||
ld c,l
|
||
pop hl
|
||
ld de,Char00Text
|
||
dec de
|
||
ret
|
||
|
||
Char00Text: ; “%d ERROR.”
|
||
db $17
|
||
dw $6696
|
||
db $22
|
||
TX_NULL
|
||
|
||
Char52: ; player’s name
|
||
push de
|
||
ld de,$D158
|
||
jr FinishDTE
|
||
|
||
Char53: ; rival’s name
|
||
push de
|
||
ld de,$D34A
|
||
jr FinishDTE
|
||
|
||
Char5D: ; TRAINER
|
||
push de
|
||
ld de,Char5DText
|
||
jr FinishDTE
|
||
|
||
Char5C: ; TM
|
||
push de
|
||
ld de,Char5CText
|
||
jr FinishDTE
|
||
|
||
Char5B: ; PC
|
||
push de
|
||
ld de,Char5BText
|
||
jr FinishDTE
|
||
|
||
Char5E: ; ROCKET
|
||
push de
|
||
ld de,Char5EText
|
||
jr FinishDTE
|
||
|
||
Char54: ; POKé
|
||
push de
|
||
ld de,Char54Text
|
||
jr FinishDTE
|
||
|
||
Char56: ; ……
|
||
push de
|
||
ld de,Char56Text
|
||
jr FinishDTE
|
||
|
||
Char4A: ; PKMN
|
||
push de
|
||
ld de,Char4AText
|
||
jr FinishDTE
|
||
|
||
Char59:
|
||
; depending on whose turn it is, print
|
||
; player active monster’s name
|
||
; or
|
||
; enemy active monster’s name, prefixed with “Enemy ”
|
||
; (XXX what is the purpose of this vs. Char5A)
|
||
ld a,[$FFF3]
|
||
xor 1
|
||
jr MonsterNameCharsCommon
|
||
|
||
Char5A:
|
||
; depending on whose turn it is, print
|
||
; player active monster’s name
|
||
; or
|
||
; enemy active monster’s name, prefixed with “Enemy ”
|
||
ld a,[$FFF3]
|
||
MonsterNameCharsCommon:
|
||
push de
|
||
and a
|
||
jr nz,.Enemy\@
|
||
ld de,$D009 ; player active monster name
|
||
jr FinishDTE
|
||
|
||
.Enemy\@ ; 1A40
|
||
; print “Enemy ”
|
||
ld de,Char5AText
|
||
call PlaceString
|
||
|
||
ld h,b
|
||
ld l,c
|
||
ld de,$CFDA ; enemy active monster name
|
||
|
||
FinishDTE:
|
||
call PlaceString
|
||
ld h,b
|
||
ld l,c
|
||
pop de
|
||
inc de
|
||
jp PlaceNextChar
|
||
|
||
Char5CText:
|
||
db $93,$8C,$50 ; TM
|
||
Char5DText:
|
||
db $93,$91,$80,$88,$8D,$84,$91,$50 ; TRAINER
|
||
Char5BText:
|
||
db $8F,$82,$50 ; PC
|
||
Char5EText:
|
||
db $91,$8E,$82,$8A,$84,$93,$50 ; ROCKET
|
||
Char54Text:
|
||
db $8F,$8E,$8A,$BA,$50 ; POKé
|
||
Char56Text:
|
||
db $75,$75,$50 ; ……
|
||
Char5AText:
|
||
db $84,$AD,$A4,$AC,$B8,$7F,$50 ; “Enemy ”
|
||
Char4AText:
|
||
db $E1,$E2,$50 ; PKMN
|
||
|
||
Char55:
|
||
push de
|
||
ld b,h
|
||
ld c,l
|
||
ld hl,Char55Text
|
||
call $1B40
|
||
ld h,b
|
||
ld l,c
|
||
pop de
|
||
inc de
|
||
jp PlaceNextChar
|
||
|
||
Char55Text:
|
||
; equivalent to Char4B
|
||
db $17
|
||
dw $66A3
|
||
db $22
|
||
db $50
|
||
|
||
Char5F:
|
||
ld [hl],$E8 ; .
|
||
pop hl
|
||
ret
|
||
|
||
Char58:
|
||
ld a,[$D12B]
|
||
cp 4
|
||
jp z,Next1AA2
|
||
ld a,$EE
|
||
ld [$C4F2],a
|
||
Next1AA2:
|
||
call ProtectedDelay3
|
||
call $3898
|
||
ld a,$7F
|
||
ld [$C4F2],a
|
||
pop hl
|
||
ld de,Char58Text
|
||
dec de
|
||
ret
|
||
|
||
Char58Text:
|
||
db $50
|
||
|
||
Char51:
|
||
push de
|
||
ld a,$EE
|
||
ld [$C4F2],a
|
||
call ProtectedDelay3
|
||
call $3898
|
||
ld hl,$C4A5
|
||
ld bc,$0412
|
||
call $18C4
|
||
ld c,$14
|
||
call $3739
|
||
pop de
|
||
ld hl,$C4B9
|
||
jp Next19E8
|
||
|
||
Char49:
|
||
push de
|
||
ld a,$EE
|
||
ld [$C4F2],a
|
||
call ProtectedDelay3
|
||
call $3898
|
||
ld hl,$C469
|
||
ld bc,$0712
|
||
call $18C4
|
||
ld c,$14
|
||
call $3739
|
||
pop de
|
||
pop hl
|
||
ld hl,$C47D
|
||
push hl
|
||
jp Next19E8
|
||
|
||
Char4B:
|
||
ld a,$EE
|
||
ld [$C4F2],a
|
||
call ProtectedDelay3
|
||
push de
|
||
call $3898
|
||
pop de
|
||
ld a,$7F
|
||
ld [$C4F2],a
|
||
push de
|
||
call Next1B18
|
||
call Next1B18
|
||
ld hl,$C4E1
|
||
pop de
|
||
jp Next19E8
|
||
|
||
Next1B18:
|
||
ld hl,$C4B8
|
||
ld de,$C4A4
|
||
ld b,$3C
|
||
.next\@
|
||
ld a,[hli]
|
||
ld [de],a
|
||
inc de
|
||
dec b
|
||
jr nz,.next\@
|
||
ld hl,$C4E1
|
||
ld a,$7F
|
||
ld b,$12
|
||
.next2\@
|
||
ld [hli],a
|
||
dec b
|
||
jr nz,.next2\@
|
||
|
||
; wait five frames
|
||
ld b,5
|
||
.WaitFrame\@
|
||
call DelayFrame
|
||
dec b
|
||
jr nz,.WaitFrame\@
|
||
|
||
ret
|
||
|
||
ProtectedDelay3:
|
||
push bc
|
||
call Delay3
|
||
pop bc
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$1B40,$20AF - $1B40
|
||
|
||
DelayFrame: ; 20AF
|
||
; delay for one frame
|
||
ld a,1
|
||
ld [$FFD6],a
|
||
|
||
; wait for the next Vblank, halting to conserve battery
|
||
.halt\@
|
||
db $76 ; XXX this is a hack--rgbasm adds a nop after this instr
|
||
; even when ints are enabled
|
||
ld a,[$FFD6]
|
||
and a
|
||
jr nz,.halt\@
|
||
|
||
ret
|
||
|
||
; These routines manage gradual fading
|
||
; (e.g., entering a doorway)
|
||
LoadGBPal: ; 20BA
|
||
ld a,[$d35d] ;tells if cur.map is dark
|
||
ld b,a ;(requires HM5_FLASH?)
|
||
ld hl,GBPalTable_00 ;16
|
||
ld a,l
|
||
sub b
|
||
ld l,a
|
||
jr nc,.jr0\@
|
||
dec h
|
||
.jr0\@
|
||
ld a,[hli]
|
||
ld [rBGP],a
|
||
ld a,[hli]
|
||
ld [rOBP0],a
|
||
ld a,[hli]
|
||
ld [rOBP1],a
|
||
ret
|
||
|
||
GBFadeOut1: ; 20D1
|
||
ld hl,IncGradGBPalTable_01 ;0d
|
||
ld b,$04
|
||
jr GBFadeOutCommon
|
||
|
||
GBFadeOut2: ; 20D8
|
||
ld hl,IncGradGBPalTable_02 ;1c
|
||
ld b,$03
|
||
|
||
GBFadeOutCommon:
|
||
ld a,[hli]
|
||
ld [rBGP],a
|
||
ld a,[hli]
|
||
ld [rOBP0],a
|
||
ld a,[hli]
|
||
ld [rOBP1],a
|
||
ld c,8
|
||
call DelayFrames
|
||
dec b
|
||
jr nz,GBFadeOutCommon
|
||
ret
|
||
|
||
GBFadeIn1: ; 20EF
|
||
ld hl,DecGradGBPalTable_01 ;18
|
||
ld b,$04
|
||
jr GBFadeInCommon
|
||
|
||
GBFadeIn2: ; 20F6
|
||
ld hl,DecGradGBPalTable_02 ;21
|
||
ld b,$03
|
||
|
||
GBFadeInCommon:
|
||
ld a,[hld]
|
||
ld [rOBP1],a
|
||
ld a,[hld]
|
||
ld [rOBP0],a
|
||
ld a,[hld]
|
||
ld [rBGP],a
|
||
ld c,8
|
||
call DelayFrames
|
||
dec b
|
||
jr nz,GBFadeInCommon
|
||
ret
|
||
|
||
IncGradGBPalTable_01: ; 210D
|
||
db %11111111 ;BG Pal
|
||
db %11111111 ;OBJ Pal 1
|
||
db %11111111 ;OBJ Pal 2
|
||
;and so on...
|
||
db %11111110
|
||
db %11111110
|
||
db %11111000
|
||
|
||
db %11111001
|
||
db %11100100
|
||
db %11100100
|
||
GBPalTable_00: ;16
|
||
db %11100100
|
||
db %11010000
|
||
DecGradGBPalTable_01: ;18
|
||
db %11100000
|
||
;19
|
||
db %11100100
|
||
db %11010000
|
||
db %11100000
|
||
IncGradGBPalTable_02: ;1c
|
||
db %10010000
|
||
db %10000000
|
||
db %10010000
|
||
|
||
db %01000000
|
||
db %01000000
|
||
DecGradGBPalTable_02: ;21
|
||
db %01000000
|
||
|
||
db %00000000
|
||
db %00000000
|
||
db %00000000
|
||
|
||
INCBIN "baserom.gbc",$2125,$2442 - $2125
|
||
|
||
; XXX where is the pointer to this data?
|
||
MartInventories: ; 2442
|
||
; first byte $FE, next byte # of items, last byte $FF
|
||
; Viridian
|
||
db $FE,4,POKE_BALL,ANTIDOTE,PARLYZ_HEAL,BURN_HEAL,$FF
|
||
; Pewter
|
||
db $FE,7,POKE_BALL,POTION,ESCAPE_ROPE,ANTIDOTE,BURN_HEAL,AWAKENING
|
||
db PARLYZ_HEAL,$FF
|
||
; Cerulean
|
||
db $FE,7,POKE_BALL,POTION,REPEL,ANTIDOTE,BURN_HEAL,AWAKENING
|
||
db PARLYZ_HEAL,$FF
|
||
; Bike shop
|
||
db $FE,1,BICYCLE,$FF
|
||
; Vermilion
|
||
db $FE,6,POKE_BALL,SUPER_POTION,ICE_HEAL,AWAKENING,PARLYZ_HEAL
|
||
db REPEL,$FF
|
||
; Lavender
|
||
db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,ESCAPE_ROPE,SUPER_REPEL
|
||
db ANTIDOTE,BURN_HEAL,ICE_HEAL,PARLYZ_HEAL,$FF
|
||
; Celadon Dept. Store 2F (1)
|
||
db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,SUPER_REPEL,ANTIDOTE
|
||
db BURN_HEAL,ICE_HEAL,AWAKENING,PARLYZ_HEAL,$FF
|
||
; Celadon Dept. Store 2F (2)
|
||
db $FE,9,TM_32,TM_33,TM_02,TM_07,TM_37,TM_01,TM_05,TM_09,TM_17,$FF
|
||
; Celadon Dept. Store 4F
|
||
db $FE,5,POKE_DOLL,FIRE_STONE,THUNDER_STONE,WATER_STONE,LEAF_STONE,$FF
|
||
; Celadon Dept. Store 5F (1)
|
||
db $FE,7,X_ACCURACY,GUARD_SPEC_,DIRE_HIT,X_ATTACK,X_DEFEND,X_SPEED
|
||
db X_SPECIAL,$FF
|
||
; Celadon Dept. Store 5F (2)
|
||
db $FE,5,HP_UP,PROTEIN,IRON,CARBOS,CALCIUM,$FF
|
||
; Fuchsia
|
||
db $FE,6,ULTRA_BALL,GREAT_BALL,SUPER_POTION,REVIVE,FULL_HEAL
|
||
db SUPER_REPEL,$FF
|
||
; unused?
|
||
db $FE,5,GREAT_BALL,HYPER_POTION,SUPER_POTION,FULL_HEAL,REVIVE,$FF
|
||
; Cinnabar
|
||
db $FE,7,ULTRA_BALL,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE
|
||
db FULL_HEAL,REVIVE,$FF
|
||
; Saffron
|
||
db $FE,6,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE,FULL_HEAL
|
||
db REVIVE,$FF
|
||
; Indigo
|
||
db $FE,7,ULTRA_BALL,GREAT_BALL,FULL_RESTORE,MAX_POTION,FULL_HEAL
|
||
db REVIVE,MAX_REPEL,$FF
|
||
|
||
INCBIN "baserom.gbc",$24D6,$2FCF - $24D6
|
||
|
||
GetItemName: ; 2FCF
|
||
; given an item ID at [$D11E], store the name of the item into a string
|
||
; starting at $CD6D
|
||
push hl
|
||
push bc
|
||
ld a,[$D11E]
|
||
cp HM_01 ; is this a TM/HM?
|
||
jr nc,.Machine\@
|
||
ld [$D0B5],a
|
||
ld a,4
|
||
ld [$D0B6],a
|
||
ld a,1
|
||
ld [$D0B7],a
|
||
call $376B
|
||
jr .Finish\@
|
||
.Machine\@
|
||
call GetMachineName
|
||
.Finish\@
|
||
ld de,$CD6D ; pointer to where item name is stored in RAM
|
||
pop bc
|
||
pop hl
|
||
ret
|
||
|
||
GetMachineName:
|
||
; copies the name of the TM/HM in [$D11E] to $CD6D
|
||
push hl
|
||
push de
|
||
push bc
|
||
ld a,[$D11E]
|
||
push af
|
||
cp TM_01 ; is this a TM? [not HM]
|
||
jr nc,.WriteTM\@
|
||
; if HM, then write "HM" and add 5 to the item ID, so we can reuse the
|
||
; TM printing code
|
||
add 5
|
||
ld [$D11E],a
|
||
ld hl,HiddenPrefix ; points to "HM"
|
||
ld bc,2
|
||
jr .WriteMachinePrefix\@
|
||
.WriteTM\@
|
||
ld hl,TechnicalPrefix ; points to "TM"
|
||
ld bc,2
|
||
.WriteMachinePrefix\@
|
||
ld de,$CD6D
|
||
call CopyData
|
||
|
||
; now get the machine number and convert it to text
|
||
ld a,[$D11E]
|
||
sub TM_01 - 1
|
||
ld b,$F6 ; "0"
|
||
.FirstDigit\@
|
||
sub 10
|
||
jr c,.SecondDigit\@
|
||
inc b
|
||
jr .FirstDigit\@
|
||
.SecondDigit\@
|
||
add 10
|
||
push af
|
||
ld a,b
|
||
ld [de],a
|
||
inc de
|
||
pop af
|
||
ld b,$F6 ; "0"
|
||
add b
|
||
ld [de],a
|
||
inc de
|
||
ld a,$50 ; text null
|
||
ld [de],a
|
||
|
||
pop af
|
||
ld [$D11E],a
|
||
pop bc
|
||
pop de
|
||
pop hl
|
||
ret
|
||
|
||
TechnicalPrefix:
|
||
db $93,$8C ; "TM"
|
||
HiddenPrefix:
|
||
db $87,$8C ; "HM"
|
||
|
||
INCBIN "baserom.gbc",$3040,$35BC - $3040
|
||
BankswitchHome: ; 35BC
|
||
; switches to bank # in a
|
||
; Only use this when in the home bank!
|
||
ld [$CF09],a
|
||
ld a,[$FFB8]
|
||
ld [$CF08],a
|
||
ld a,[$CF09]
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ret
|
||
|
||
BankswitchBack: ; 35CD
|
||
; returns from BankswitchHome
|
||
ld a,[$CF08]
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ret
|
||
|
||
Bankswitch: ; 35D6
|
||
; self-contained bankswitch, use this when not in the home bank
|
||
; switches to the bank in b
|
||
ld a,[$FFB8]
|
||
push af
|
||
ld a,b
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ld bc,.Return\@
|
||
push bc
|
||
jp [hl]
|
||
.Return\@
|
||
pop bc
|
||
ld a,b
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$35EC,$3739 - $35EC
|
||
|
||
DelayFrames: ; 3739
|
||
; wait n frames, where n is the value in c
|
||
call DelayFrame
|
||
dec c
|
||
jr nz,DelayFrames
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$3740,$3A87 - $3740
|
||
|
||
AddNTimes: ; 3A87
|
||
; add bc to hl a times
|
||
and a
|
||
ret z
|
||
.loop\@
|
||
add hl,bc
|
||
dec a
|
||
jr nz,.loop\@
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$3A8E,$3C49 - $3A8E
|
||
|
||
PrintText: ; 3C49
|
||
; given a pointer in hl, print the text there
|
||
push hl
|
||
ld a,1
|
||
ld [$D125],a
|
||
call $30E8
|
||
call $2429
|
||
call Delay3
|
||
pop hl
|
||
ld bc,$C4B9
|
||
jp $1B40
|
||
|
||
INCBIN "baserom.gbc",$3C5F,$3DD7 - $3C5F
|
||
Delay3: ; 3DD7
|
||
; call Delay with a parameter of 3
|
||
ld c,3
|
||
jp DelayFrames
|
||
|
||
INCBIN "baserom.gbc",$3DDC,$3E6D - $3DDC
|
||
|
||
Predef: ; 3E6D
|
||
; runs a predefined ASM command, where the command ID is read from $D0B7
|
||
|
||
ld [$CC4E],a ; save the predef routine's ID for later
|
||
|
||
ld a,[$FFB8]
|
||
ld [$CF12],a
|
||
|
||
; save bank and call 13:7E49
|
||
push af
|
||
ld a,BANK(GetPredefPointer)
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
call GetPredefPointer
|
||
|
||
; call the predef function
|
||
; ($D0B7 has the bank of the predef routine)
|
||
ld a,[$D0B7]
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ld de,.Return\@
|
||
push de
|
||
jp [hl]
|
||
; after the predefined function finishes it returns here
|
||
.Return\@
|
||
pop af
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$3E94,$4000 - $3E94
|
||
|
||
SECTION "bank1",DATA,BANK[$1]
|
||
|
||
INCBIN "baserom.gbc",$4000,$112
|
||
|
||
MewPicFront:
|
||
INCBIN "pic/bmon/mew.pic"
|
||
MewPicBack:
|
||
INCBIN "pic/monback/mewb.pic"
|
||
|
||
INCBIN "baserom.gbc",$425B,$5AF2-$425B
|
||
|
||
MainMenu:
|
||
; Check save file
|
||
call Func_5bff
|
||
xor a
|
||
ld [$D08A],a
|
||
inc a
|
||
ld [$D088],a
|
||
call $609E
|
||
jr nc,.next0\@
|
||
|
||
; Predef 52 loads the save from SRAM to RAM
|
||
ld a,$52
|
||
call Predef
|
||
|
||
.next0\@
|
||
ld c,20
|
||
call DelayFrames
|
||
xor a
|
||
ld [$D12B],a
|
||
ld hl,$CC2B
|
||
ld [hli],a
|
||
ld [hli],a
|
||
ld [hli],a
|
||
ld [hl],a
|
||
ld [$D07C],a
|
||
ld hl,$D72E
|
||
res 6,[hl]
|
||
call ClearScreen
|
||
call $3DED
|
||
call $36A0 ; load some graphics in VRAM
|
||
call $3680 ; load fonts in VRAM
|
||
ld hl,$D730
|
||
set 6,[hl]
|
||
ld a,[$D088]
|
||
cp a,1
|
||
jr z,.next1\@
|
||
FuncCoord 0,0
|
||
ld hl,Coord
|
||
ld b,6
|
||
ld c,13
|
||
call TextBoxBorder
|
||
FuncCoord 2,2
|
||
ld hl,Coord
|
||
ld de,$5D7E
|
||
call PlaceString
|
||
jr .next2\@
|
||
.next1\@
|
||
FuncCoord 0,0
|
||
ld hl,Coord
|
||
ld b,4
|
||
ld c,13
|
||
call TextBoxBorder
|
||
FuncCoord 2,2
|
||
ld hl,Coord
|
||
ld de,$5D87
|
||
call PlaceString
|
||
.next2\@
|
||
ld hl,$D730
|
||
res 6,[hl]
|
||
call $2429 ; OAM?
|
||
xor a
|
||
ld [$CC26],a
|
||
ld [$CC2A],a
|
||
ld [$CC34],a
|
||
inc a
|
||
ld [$CC25],a
|
||
inc a
|
||
ld [$CC24],a
|
||
ld a,$B
|
||
ld [$CC29],a
|
||
ld a,[$D088]
|
||
ld [$CC28],a
|
||
call $3ABE
|
||
bit 1,a
|
||
jp nz,$42DD ; load title screen (gfx and arrangement)
|
||
ld c,20
|
||
call DelayFrames
|
||
ld a,[$CC26]
|
||
ld b,a
|
||
ld a,[$D088]
|
||
cp a,2
|
||
jp z,.next3\@
|
||
inc b ; adjust MenuArrow_Counter
|
||
.next3\@
|
||
ld a,b
|
||
and a
|
||
jr z,.next4\@ ; if press_A on Continue
|
||
cp a,1
|
||
jp z,$5D52 ; if press_A on NewGame
|
||
call $5E8A ; if press_a on Options
|
||
ld a,1
|
||
ld [$D08A],a
|
||
jp .next0\@
|
||
.next4\@
|
||
call $5DB5
|
||
ld hl,$D126
|
||
set 5,[hl]
|
||
.next6\@
|
||
xor a
|
||
ld [$FFB3],a
|
||
ld [$FFB2],a
|
||
ld [$FFB4],a
|
||
call $19A
|
||
ld a,[$FFB4]
|
||
bit 0,a
|
||
jr nz,.next5\@
|
||
bit 1,a
|
||
jp nz,.next0\@
|
||
jr .next6\@
|
||
.next5\@
|
||
call $3DD4
|
||
call ClearScreen
|
||
ld a,4
|
||
ld [$D52A],a
|
||
ld c,10
|
||
call DelayFrames
|
||
ld a,[$D5A2]
|
||
and a
|
||
jp z,$5D5F
|
||
ld a,[$D35E] ; map ID
|
||
cp a,$76 ; Hall of Fame
|
||
jp nz,$5D5F
|
||
xor a
|
||
ld [$D71A],a
|
||
ld hl,$D732
|
||
set 2,[hl]
|
||
call $62CE
|
||
jp $5D5F
|
||
Func_5bff:
|
||
ld a,1
|
||
ld [$D358],a
|
||
ld a,3
|
||
ld [$D355],a
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$5C0A,$6115 - $5C0A
|
||
|
||
OakSpeech: ; 6115
|
||
ld a,$FF
|
||
call $23B1 ; stop music
|
||
ld a,2 ; bank of song
|
||
ld c,a
|
||
ld a,$EF ; song #
|
||
call $23A1 ; plays music
|
||
call ClearScreen
|
||
call $36A0
|
||
call $60CA
|
||
ld a,$18
|
||
call Predef
|
||
ld hl,$D53A
|
||
ld a,$14
|
||
ld [$CF91],a
|
||
ld a,1
|
||
ld [$CF96],a
|
||
call $2BCF
|
||
ld a,[$D07C]
|
||
ld [$D71A],a
|
||
call Function62CE
|
||
xor a
|
||
ld [$FFD7],a
|
||
ld a,[$D732]
|
||
bit 1,a ; XXX when is bit 1 set?
|
||
jp nz,Function61BC ; easter egg: skip the intro
|
||
ld de,$615F
|
||
ld bc,$1300
|
||
call IntroPredef3B ; displays Oak pic?
|
||
call FadeInIntroPic
|
||
ld hl,HelloWelcomeText
|
||
call PrintText ; prints text box
|
||
call GBFadeOut2
|
||
call ClearScreen
|
||
ld a,NIDORINO
|
||
ld [$D0B5],a ; pic displayed is stored at this location
|
||
ld [$CF91],a
|
||
call $1537 ; this is also related to the pic
|
||
ld hl,$C3F6 ; position on tilemap the pic is displayed
|
||
call $1384 ; displays pic?
|
||
call MovePicLeft
|
||
ld hl,WorldFilledWithText
|
||
call PrintText ; Prints text box
|
||
call GBFadeOut2
|
||
call ClearScreen
|
||
ld de,$6EDE
|
||
ld bc,$0400 ; affects the position of the player pic
|
||
call IntroPredef3B ; displays player pic?
|
||
call MovePicLeft
|
||
ld hl,FirstWhatIsYourNameText
|
||
call PrintText
|
||
call $695D ; brings up NewName/Red/etc menu
|
||
call GBFadeOut2
|
||
call ClearScreen
|
||
ld de,$6049
|
||
ld bc,$1300
|
||
call IntroPredef3B ; displays rival pic
|
||
call FadeInIntroPic
|
||
ld hl,ThisIsMyGrandsonText
|
||
call PrintText
|
||
call $69A4
|
||
Function61BC:
|
||
call GBFadeOut2
|
||
call ClearScreen
|
||
ld de,$6EDE
|
||
ld bc,$0400
|
||
call IntroPredef3B
|
||
call GBFadeIn2
|
||
ld a,[$D72D]
|
||
and a
|
||
jr nz,.next\@
|
||
ld hl,YourOwnLegendText
|
||
call PrintText
|
||
.next\@ ld a,[$FFB8]
|
||
push af
|
||
ld a,$9C
|
||
call $23B1
|
||
pop af
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ld c,4
|
||
call DelayFrames
|
||
ld de,$4180
|
||
ld hl,$8000
|
||
ld bc,$050C
|
||
call $1848
|
||
ld de,$6FE8
|
||
ld bc,$0400
|
||
call IntroPredef3B
|
||
ld c,4
|
||
call DelayFrames
|
||
ld de,$7042
|
||
ld bc,$0400
|
||
call IntroPredef3B
|
||
call $28A6
|
||
ld a,[$FFB8]
|
||
push af
|
||
ld a,2
|
||
ld [$C0EF],a
|
||
ld [$C0F0],a
|
||
ld a,$A
|
||
ld [$CFC7],a
|
||
ld a,$FF
|
||
ld [$C0EE],a
|
||
call $23B1 ; stop music
|
||
pop af
|
||
ld [$FFB8],a
|
||
ld [$2000],a
|
||
ld c,$14
|
||
call DelayFrames
|
||
ld hl,$C40A
|
||
ld b,7
|
||
ld c,7
|
||
call $18C4
|
||
call $36A0
|
||
ld a,1
|
||
ld [$CFCB],a
|
||
ld c,$32
|
||
call DelayFrames
|
||
call GBFadeOut2
|
||
jp ClearScreen
|
||
HelloWelcomeText:
|
||
db $17,$25,$64,$22,$50 ; "Hello welcome to the world of pokemon ..."
|
||
WorldFilledWithText:
|
||
db $17,$7F,$64,$22,$14,$17,$B3,$64,$22,$50 ; "This world is filled with creatures ..."
|
||
FirstWhatIsYourNameText:
|
||
db $17,$19,$65,$22,$50 ; "First, what is your name?"
|
||
ThisIsMyGrandsonText:
|
||
db $17,$34,$65,$22,$50 ; "This is my grandson ..."
|
||
YourOwnLegendText:
|
||
db $17,$97,$65,$22,$50 ; "Ninten! Your very own legend ..."
|
||
|
||
FadeInIntroPic:
|
||
ld hl,IntroFadePalettes
|
||
ld b,6
|
||
.next\@
|
||
ld a,[hli]
|
||
ld [rBGP],a
|
||
ld c,10
|
||
call DelayFrames
|
||
dec b
|
||
jr nz,.next\@
|
||
ret
|
||
|
||
IntroFadePalettes:
|
||
db %01010100
|
||
db %10101000
|
||
db %11111100
|
||
db %11111000
|
||
db %11110100
|
||
db %11100100
|
||
|
||
MovePicLeft:
|
||
ld a,119
|
||
ld [$FF4B],a
|
||
call DelayFrame
|
||
|
||
ld a,$E4
|
||
ld [rBGP],a
|
||
.next\@
|
||
call DelayFrame
|
||
ld a,[$FF4B]
|
||
sub 8
|
||
cp $FF
|
||
ret z
|
||
ld [$FF4B],a
|
||
jr .next\@
|
||
|
||
Predef3B: ; 62A1
|
||
call $3E94
|
||
IntroPredef3B: ; 62A4
|
||
push bc
|
||
ld a,b
|
||
call $36EB
|
||
ld hl,$A188
|
||
ld de,$A000
|
||
ld bc,$0310
|
||
call CopyData
|
||
ld de,$9000
|
||
call $16EA
|
||
pop bc
|
||
ld a,c
|
||
and a
|
||
ld hl,$C3C3
|
||
jr nz,.next\@
|
||
ld hl,$C3F6
|
||
.next\@
|
||
xor a
|
||
ld [$FFE1],a
|
||
ld a,1
|
||
jp $3E6D
|
||
|
||
Function62CE: ; 62CE, XXX called by 4B2 948 989 5BF9 5D15
|
||
call $62FF
|
||
ld a,$19
|
||
call $3E6D
|
||
ld hl,$D732
|
||
bit 2,[hl]
|
||
res 2,[hl]
|
||
jr z,.next\@
|
||
ld a,[$D71A]
|
||
jr .next2\@
|
||
.next\@
|
||
bit 1,[hl]
|
||
jr z,.next3\@
|
||
call $64EA
|
||
.next3\@
|
||
ld a,0
|
||
.next2\@
|
||
ld b,a
|
||
ld a,[$D72D]
|
||
and a
|
||
jr nz,.next4\@
|
||
ld a,b
|
||
.next4\@
|
||
ld hl,$D732
|
||
bit 4,[hl]
|
||
ret nz
|
||
ld [$D365],a
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$62FF,$8000 - $62FF
|
||
|
||
|
||
SECTION "bank2",DATA,BANK[$2]
|
||
INCBIN "baserom.gbc",$8000,$4000
|
||
|
||
SECTION "bank3",DATA,BANK[$3]
|
||
INCBIN "baserom.gbc",$C000,$C23D - $C000
|
||
|
||
; see also MapHeaderPointers
|
||
MapHeaderBanks: ; 423D
|
||
db BANK(PalletTown_h)
|
||
db $06 ; VIRIDIAN_CITY
|
||
db $06 ; PEWTER_CITY
|
||
db $06 ; CERULEAN_CITY
|
||
db $11 ; LAVENDER_TOWN
|
||
db $06 ; VERMILION_CITY
|
||
db $06 ; CELADON_CITY
|
||
db $06 ; FUCHSIA_CITY
|
||
db $07 ; CINNABAR_ISLAND
|
||
db $14 ; INDIGO_PLATEAU
|
||
db $14 ; SAFFRON_CITY
|
||
db $01 ; unused
|
||
db $07 ; ROUTE_1
|
||
db $15 ; ROUTE_2
|
||
db $15 ; ROUTE_3
|
||
db $15 ; ROUTE_4
|
||
db $15 ; ROUTE_5
|
||
db $16 ; ROUTE_6
|
||
db $12 ; ROUTE_7
|
||
db $16 ; ROUTE_8
|
||
db $15 ; ROUTE_9
|
||
db $16 ; ROUTE_10
|
||
db $16 ; ROUTE_11
|
||
db $16 ; ROUTE_12
|
||
db $15 ; ROUTE_13
|
||
db $15 ; ROUTE_14
|
||
db $16 ; ROUTE_15
|
||
db $16 ; ROUTE_16
|
||
db $15 ; ROUTE_17
|
||
db $16 ; ROUTE_18
|
||
db $15 ; ROUTE_19
|
||
db $14 ; ROUTE_20
|
||
db $15 ; ROUTE_21
|
||
db $14 ; ROUTE_22
|
||
db $14 ; ROUTE_23
|
||
db $14 ; ROUTE_24
|
||
db $14 ; ROUTE_25
|
||
db BANK(RedsHouse1F_h)
|
||
db BANK(RedsHouse2F_h)
|
||
db $06
|
||
db $07
|
||
db $11
|
||
db $07
|
||
db $07
|
||
db $07
|
||
db $1D
|
||
db $07
|
||
db $17
|
||
db $07
|
||
db $17
|
||
db $17
|
||
db $18
|
||
db $17
|
||
db $17
|
||
db $17
|
||
db $07
|
||
db $1D
|
||
db $07
|
||
db $17
|
||
db $12
|
||
db $14
|
||
db $12
|
||
db $07
|
||
db $07
|
||
db $17
|
||
db $17
|
||
db $07
|
||
db $17
|
||
db $12
|
||
db $07
|
||
db $07
|
||
db $17
|
||
db $15
|
||
db $07
|
||
db $17
|
||
db $17
|
||
db $07
|
||
db $17
|
||
db $17
|
||
db $07
|
||
db $07
|
||
db $12
|
||
db $11
|
||
db $07
|
||
db $12
|
||
db $07
|
||
db $12
|
||
db $12
|
||
db $07
|
||
db $17
|
||
db $16
|
||
db $17
|
||
db $17
|
||
db $07
|
||
db $07
|
||
db $18
|
||
db $18
|
||
db $11
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $17
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $16
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $16
|
||
db $18
|
||
db $1D
|
||
db $18
|
||
db $18
|
||
db $15
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $07
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $17
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $18
|
||
db $07
|
||
db $17
|
||
db $07
|
||
db $07
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $15
|
||
db $15
|
||
db $11
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
db $06
|
||
db $1D
|
||
db $17
|
||
db $17
|
||
db $17
|
||
db $07
|
||
db $17
|
||
db $17
|
||
db $17
|
||
db $07
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $12
|
||
db $07
|
||
db $15
|
||
db $12
|
||
db $12
|
||
db $11
|
||
db $07
|
||
db $14
|
||
db $12
|
||
db $06
|
||
db $18
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $01
|
||
db $01
|
||
db $01
|
||
db $16
|
||
db $16
|
||
db $06
|
||
db $06
|
||
db $06
|
||
db $14
|
||
db $15
|
||
db $14
|
||
db $14
|
||
db $14
|
||
db $11
|
||
db $11
|
||
db $12
|
||
db $11
|
||
db $11
|
||
db $12
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $1D
|
||
db $07
|
||
db $1D
|
||
db $01
|
||
db $11
|
||
db $17
|
||
db $16
|
||
db $18
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $13
|
||
db $13
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $11
|
||
db $1D
|
||
db $1D
|
||
db $1D
|
||
|
||
INCBIN "baserom.gbc",$C335,$C766-$C335
|
||
ld hl,TilesetsHeadPtr
|
||
INCBIN "baserom.gbc",$C769,$C7BE-$C769
|
||
TilesetsHeadPtr:
|
||
TSETHEAD Tset00_Block,Tset00_GFX,Tset00_Coll,$FF,$FF,$FF,$52,2
|
||
TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0
|
||
TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0
|
||
TSETHEAD Tset03_Block,Tset03_GFX,Tset03_Coll,$FF,$FF,$FF,$20,1
|
||
TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0
|
||
TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2
|
||
TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0
|
||
TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2
|
||
TSETHEAD Tset08_Block,Tset08_GFX,Tset08_Coll,$FF,$FF,$FF,$FF,0
|
||
TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
|
||
TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
|
||
TSETHEAD Tset0B_Block,Tset0B_GFX,Tset0B_Coll,$FF,$FF,$FF,$FF,0
|
||
TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
|
||
TSETHEAD Tset0D_Block,Tset0D_GFX,Tset0D_Coll,$FF,$FF,$FF,$FF,1
|
||
TSETHEAD Tset0E_Block,Tset0E_GFX,Tset0E_Coll,$FF,$FF,$FF,$FF,1
|
||
TSETHEAD Tset0F_Block,Tset0F_GFX,Tset0F_Coll,$12,$FF,$FF,$FF,0
|
||
TSETHEAD Tset10_Block,Tset10_GFX,Tset10_Coll,$FF,$FF,$FF,$FF,0
|
||
TSETHEAD Tset11_Block,Tset11_GFX,Tset11_Coll,$FF,$FF,$FF,$FF,1
|
||
TSETHEAD Tset12_Block,Tset12_GFX,Tset12_Coll,$15,$36,$FF,$FF,0
|
||
TSETHEAD Tset13_Block,Tset13_GFX,Tset13_Coll,$FF,$FF,$FF,$FF,0
|
||
TSETHEAD Tset14_Block,Tset14_GFX,Tset14_Coll,$FF,$FF,$FF,$FF,0
|
||
TSETHEAD Tset15_Block,Tset15_GFX,Tset15_Coll,$07,$17,$FF,$FF,0
|
||
TSETHEAD Tset16_Block,Tset16_GFX,Tset16_Coll,$12,$FF,$FF,$FF,1
|
||
TSETHEAD Tset17_Block,Tset17_GFX,Tset17_Coll,$FF,$FF,$FF,$45,1
|
||
|
||
INCBIN "baserom.gbc",$C8DE,$C8F5-$C8DE
|
||
|
||
; data for default hidden/shown
|
||
; objects for each map ($00-$F8)
|
||
|
||
; Table of 2-Byte pointers, one pointer per map,
|
||
; goes up to Map_F7, ends with $FFFF.
|
||
MapHSPointers: ; 48F5
|
||
dw MapHS00
|
||
dw MapHS01
|
||
dw MapHS02
|
||
dw MapHS03
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS0A
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS0D
|
||
dw MapHSXX
|
||
dw MapHS0F
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS14
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS17
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS1A
|
||
dw MapHS1B
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS21
|
||
dw MapHSXX
|
||
dw MapHS23
|
||
dw MapHS24
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS27
|
||
dw MapHS28
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS2D
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS33
|
||
dw MapHS34
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS3B
|
||
dw MapHSXX
|
||
dw MapHS3D
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS53
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS58
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS60
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS66
|
||
dw MapHS67
|
||
dw MapHS68
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS6C
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS78
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS84
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS87
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS8F
|
||
dw MapHS90
|
||
dw MapHS91
|
||
dw MapHS92
|
||
dw MapHS93
|
||
dw MapHS94
|
||
dw MapHS95
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS9B
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHS9F
|
||
dw MapHSA0
|
||
dw MapHSA1
|
||
dw MapHSA2
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSA5
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSB1
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSB5
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSC0
|
||
dw MapHSXX
|
||
dw MapHSC2
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSC6
|
||
dw MapHSC7
|
||
dw MapHSC8
|
||
dw MapHSC9
|
||
dw MapHSCA
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSCF
|
||
dw MapHSD0
|
||
dw MapHSD1
|
||
dw MapHSD2
|
||
dw MapHSD3
|
||
dw MapHSD4
|
||
dw MapHSD5
|
||
dw MapHSD6
|
||
dw MapHSD7
|
||
dw MapHSD8
|
||
dw MapHSD9
|
||
dw MapHSDA
|
||
dw MapHSDB
|
||
dw MapHSDC
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSE2
|
||
dw MapHSE3
|
||
dw MapHSE4
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSE9
|
||
dw MapHSEA
|
||
dw MapHSEB
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSF4
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw MapHSXX
|
||
dw $FFFF
|
||
|
||
; Structure:
|
||
; 3 bytes per object
|
||
; [Map_ID][Object_ID][H/S]
|
||
;
|
||
; Program stops reading when either:
|
||
; a) Map_ID = $FF
|
||
; b) Map_ID ≠ currentMapID
|
||
;
|
||
; This Data is loaded into RAM at $D5CE-$D5F?.
|
||
|
||
; These constants come from the bytes for Predef functions:
|
||
Hide equ $11
|
||
Show equ $15
|
||
|
||
MapHSXX:
|
||
db $FF,$FF,$FF
|
||
MapHS00:
|
||
db $00,$01,Hide
|
||
MapHS01:
|
||
db $01,$05,Show
|
||
db $01,$07,Hide
|
||
MapHS02:
|
||
db $02,$03,Show
|
||
db $02,$05,Show
|
||
MapHS03:
|
||
db $03,$01,Hide
|
||
db $03,$02,Show
|
||
db $03,$06,Hide
|
||
db $03,$0A,Show
|
||
db $03,$0B,Show
|
||
MapHS0A:
|
||
db $0A,$01,Show
|
||
db $0A,$02,Show
|
||
db $0A,$03,Show
|
||
db $0A,$04,Show
|
||
db $0A,$05,Show
|
||
db $0A,$06,Show
|
||
db $0A,$07,Show
|
||
db $0A,$08,Hide
|
||
db $0A,$09,Hide
|
||
db $0A,$0A,Hide
|
||
db $0A,$0B,Hide
|
||
db $0A,$0C,Hide
|
||
db $0A,$0D,Hide
|
||
db $0A,$0E,Show
|
||
db $0A,$0F,Hide
|
||
MapHS0D:
|
||
db $0D,$01,Show
|
||
db $0D,$02,Show
|
||
MapHS0F:
|
||
db $0F,$03,Show
|
||
MapHS14:
|
||
db $14,$0A,Show
|
||
MapHS17:
|
||
db $17,$01,Show
|
||
db $17,$09,Show
|
||
db $17,$0A,Show
|
||
MapHS1A:
|
||
db $1A,$0B,Show
|
||
MapHS1B:
|
||
db $1B,$07,Show
|
||
MapHS21:
|
||
db $21,$01,Hide
|
||
db $21,$02,Hide
|
||
MapHS23:
|
||
db $23,$01,Show
|
||
db $23,$08,Show
|
||
MapHS24:
|
||
db $24,$0A,Show
|
||
MapHS27:
|
||
db $27,$01,Show
|
||
db $27,$02,Hide
|
||
db $27,$03,Show
|
||
MapHS28:
|
||
db $28,$01,Show
|
||
db $28,$02,Show
|
||
db $28,$03,Show
|
||
db $28,$04,Show
|
||
db $28,$05,Hide
|
||
db $28,$06,Show
|
||
db $28,$07,Show
|
||
db $28,$08,Hide
|
||
MapHS2D:
|
||
db $2D,$01,Show
|
||
db $2D,$0B,Show
|
||
MapHS34:
|
||
db $34,$05,Show
|
||
MapHSE4:
|
||
db $E4,$01,Show
|
||
db $E4,$02,Show
|
||
db $E4,$03,Show
|
||
MapHS8F:
|
||
db $8F,$01,Show
|
||
MapHS90:
|
||
db $90,$04,Show
|
||
MapHS91:
|
||
db $91,$04,Show
|
||
db $91,$05,Show
|
||
db $91,$06,Show
|
||
MapHS92:
|
||
db $92,$06,Show
|
||
MapHS93:
|
||
db $93,$04,Show
|
||
db $93,$05,Show
|
||
MapHS94:
|
||
db $94,$01,Show
|
||
db $94,$02,Show
|
||
db $94,$03,Show
|
||
db $94,$04,Show
|
||
MapHS95:
|
||
db $95,$05,Hide
|
||
MapHS84:
|
||
db $84,$02,Show
|
||
MapHS87:
|
||
db $87,$0B,Show
|
||
MapHS9B:
|
||
db $9B,$02,Show
|
||
MapHSA5:
|
||
db $A5,$02,Show
|
||
db $A5,$03,Show
|
||
MapHSB1:
|
||
db $B1,$06,Show
|
||
db $B1,$07,Show
|
||
MapHSB5:
|
||
db $B5,$01,Hide
|
||
MapHS53:
|
||
db $53,$01,Show
|
||
db $53,$02,Show
|
||
db $53,$03,Show
|
||
db $53,$04,Show
|
||
db $53,$05,Show
|
||
db $53,$06,Show
|
||
db $53,$07,Show
|
||
db $53,$08,Show
|
||
db $53,$09,Show
|
||
db $53,$0A,Show
|
||
db $53,$0B,Show
|
||
db $53,$0C,Show
|
||
db $53,$0D,Show
|
||
db $53,$0E,Show
|
||
MapHSC2:
|
||
db $C2,$06,Show
|
||
db $C2,$07,Show
|
||
db $C2,$08,Show
|
||
db $C2,$09,Show
|
||
db $C2,$0A,Show
|
||
db $C2,$0D,Show
|
||
MapHS58:
|
||
db $58,$01,Show
|
||
db $58,$02,Hide
|
||
db $58,$03,Hide
|
||
MapHS33:
|
||
db $33,$05,Show
|
||
db $33,$06,Show
|
||
db $33,$07,Show
|
||
MapHS3B:
|
||
db $3B,$08,Show
|
||
db $3B,$09,Show
|
||
db $3B,$0A,Show
|
||
db $3B,$0B,Show
|
||
db $3B,$0C,Show
|
||
db $3B,$0D,Show
|
||
MapHS3D:
|
||
db $3D,$06,Show
|
||
db $3D,$07,Show
|
||
db $3D,$08,Show
|
||
db $3D,$09,Show
|
||
MapHS60:
|
||
db $60,$02,Hide
|
||
MapHS66:
|
||
db $66,$0A,Show
|
||
MapHS67:
|
||
db $67,$06,Show
|
||
db $67,$09,Show
|
||
MapHS68:
|
||
db $68,$09,Show
|
||
db $68,$0A,Show
|
||
db $68,$0B,Show
|
||
MapHSC6:
|
||
db $C6,$05,Show
|
||
db $C6,$06,Show
|
||
db $C6,$0A,Show
|
||
MapHSC7:
|
||
db $C7,$06,Show
|
||
db $C7,$07,Show
|
||
MapHSC8:
|
||
db $C8,$02,Show
|
||
db $C8,$03,Show
|
||
db $C8,$04,Show
|
||
db $C8,$05,Show
|
||
MapHSC9:
|
||
db $C9,$03,Show
|
||
db $C9,$04,Show
|
||
MapHSCA:
|
||
db $CA,$01,Show
|
||
db $CA,$05,Show
|
||
db $CA,$06,Show
|
||
db $CA,$07,Show
|
||
db $CA,$08,Hide
|
||
db $CA,$09,Hide
|
||
MapHSCF:
|
||
db $CF,$01,Show
|
||
db $CF,$02,Show
|
||
db $CF,$03,Show
|
||
db $CF,$04,Show
|
||
db $CF,$05,Show
|
||
MapHSD0:
|
||
db $D0,$02,Show
|
||
db $D0,$03,Show
|
||
db $D0,$04,Show
|
||
MapHSD1:
|
||
db $D1,$02,Show
|
||
db $D1,$03,Show
|
||
db $D1,$04,Show
|
||
db $D1,$05,Show
|
||
db $D1,$06,Show
|
||
db $D1,$07,Show
|
||
MapHSD2:
|
||
db $D2,$02,Show
|
||
db $D2,$03,Show
|
||
db $D2,$04,Show
|
||
db $D2,$05,Show
|
||
db $D2,$06,Show
|
||
db $D2,$07,Show
|
||
db $D2,$08,Show
|
||
MapHSD3:
|
||
db $D3,$06,Show
|
||
db $D3,$07,Show
|
||
db $D3,$08,Show
|
||
db $D3,$09,Show
|
||
db $D3,$0A,Show
|
||
MapHSD4:
|
||
db $D4,$05,Show
|
||
db $D4,$06,Show
|
||
db $D4,$07,Show
|
||
db $D4,$08,Show
|
||
db $D4,$09,Show
|
||
db $D4,$0A,Show
|
||
db $D4,$0B,Show
|
||
db $D4,$0C,Show
|
||
MapHSD5:
|
||
db $D5,$02,Show
|
||
db $D5,$03,Show
|
||
db $D5,$04,Show
|
||
MapHSE9:
|
||
db $E9,$02,Show
|
||
db $E9,$03,Show
|
||
db $E9,$04,Show
|
||
MapHSEA:
|
||
db $EA,$01,Show
|
||
db $EA,$02,Show
|
||
db $EA,$03,Show
|
||
db $EA,$04,Show
|
||
db $EA,$05,Show
|
||
db $EA,$06,Show
|
||
MapHSEB:
|
||
db $EB,$03,Show
|
||
db $EB,$04,Show
|
||
db $EB,$05,Show
|
||
MapHSF4:
|
||
db $F4,$02,Show
|
||
MapHSD6:
|
||
db $D6,$02,Show
|
||
MapHSD7:
|
||
db $D7,$03,Show
|
||
db $D7,$04,Show
|
||
MapHSD8:
|
||
db $D8,$03,Show
|
||
db $D8,$04,Show
|
||
db $D8,$05,Show
|
||
db $D8,$06,Show
|
||
db $D8,$08,Show
|
||
MapHSD9:
|
||
db $D9,$01,Show
|
||
db $D9,$02,Show
|
||
db $D9,$03,Show
|
||
db $D9,$04,Show
|
||
MapHSDA:
|
||
db $DA,$01,Show
|
||
db $DA,$02,Show
|
||
MapHSDB:
|
||
db $DB,$01,Show
|
||
db $DB,$02,Show
|
||
db $DB,$03,Show
|
||
db $DB,$04,Show
|
||
MapHSDC:
|
||
db $DC,$01,Show
|
||
MapHSE2:
|
||
db $E2,$01,Show
|
||
db $E2,$02,Show
|
||
db $E2,$03,Show
|
||
MapHSE3:
|
||
db $E3,$01,Show
|
||
db $E3,$02,Show
|
||
db $E3,$03,Show
|
||
MapHS6C:
|
||
db $6C,$03,Show
|
||
db $6C,$04,Show
|
||
MapHS78:
|
||
db $78,$02,Hide
|
||
MapHSC0:
|
||
db $C0,$01,Show
|
||
db $C0,$02,Show
|
||
MapHS9F:
|
||
db $9F,$01,Hide
|
||
db $9F,$02,Hide
|
||
MapHSA0:
|
||
db $A0,$01,Hide
|
||
db $A0,$02,Hide
|
||
MapHSA1:
|
||
db $A1,$02,Show
|
||
db $A1,$03,Show
|
||
db $A1,$05,Hide
|
||
db $A1,$06,Hide
|
||
MapHSA2:
|
||
db $A2,$01,Hide
|
||
db $A2,$02,Hide
|
||
db $A2,$03,Show
|
||
|
||
db $FF
|
||
|
||
INCBIN "baserom.gbc",$CD97,$CEB8-$CD97
|
||
|
||
; wild pokemon data: from 4EB8 to 55C7
|
||
|
||
LoadWildData: ; 4EB8
|
||
ld hl,WildDataPointers
|
||
ld a,[W_CURMAP]
|
||
|
||
; get wild data for current map
|
||
ld c,a
|
||
ld b,0
|
||
add hl,bc
|
||
add hl,bc
|
||
ld a,[hli]
|
||
ld h,[hl]
|
||
ld l,a ; hl now points to wild data for current map
|
||
ld a,[hli]
|
||
ld [W_GRASSRATE],a
|
||
and a
|
||
jr z,.NoGrassData\@ ; if no grass data, skip to surfing data
|
||
push hl
|
||
ld de,W_GRASSMONS ; otherwise, load grass data
|
||
ld bc,$0014
|
||
call CopyData
|
||
pop hl
|
||
ld bc,$0014
|
||
add hl,bc
|
||
.NoGrassData\@
|
||
ld a,[hli]
|
||
ld [W_WATERRATE],a
|
||
and a
|
||
ret z ; if no water data, we're done
|
||
ld de,W_WATERMONS ; otherwise, load surfing data
|
||
ld bc,$0014
|
||
jp CopyData
|
||
|
||
WildDataPointers: ; 4EEB
|
||
dw NoMons ; PALLET_TOWN
|
||
dw NoMons ; VIRIDIAN_CITY
|
||
dw NoMons ; PEWTER_CITY
|
||
dw NoMons ; CERULEAN_CITY
|
||
dw NoMons ; LAVENDER_TOWN
|
||
dw NoMons ; VERMILION_CITY
|
||
dw NoMons ; CELADON_CITY
|
||
dw NoMons ; FUCHSIA_CITY
|
||
dw NoMons ; CINNABAR_ISLAND
|
||
dw NoMons ; INDIGO_PLATEAU
|
||
dw NoMons ; SAFFRON_CITY
|
||
dw NoMons ; unused
|
||
dw Route1Mons ; ROUTE_1
|
||
dw Route2Mons ; ROUTE_2
|
||
dw Route3Mons ; ROUTE_3
|
||
dw Route4Mons ; ROUTE_4
|
||
dw Route5Mons ; ROUTE_5
|
||
dw Route6Mons ; ROUTE_6
|
||
dw Route7Mons ; ROUTE_7
|
||
dw Route8Mons ; ROUTE_8
|
||
dw Route9Mons ; ROUTE_9
|
||
dw Route10Mons ; ROUTE_10
|
||
dw Route11Mons ; ROUTE_11
|
||
dw Route12Mons ; ROUTE_12
|
||
dw Route13Mons ; ROUTE_13
|
||
dw Route14Mons ; ROUTE_14
|
||
dw Route15Mons ; ROUTE_15
|
||
dw Route16Mons ; ROUTE_16
|
||
dw Route17Mons ; ROUTE_17
|
||
dw Route18Mons ; ROUTE_18
|
||
dw WaterMons ; ROUTE_19
|
||
dw WaterMons ; ROUTE_20
|
||
dw Route21Mons ; ROUTE_21
|
||
dw Route22Mons ; ROUTE_22
|
||
dw Route23Mons ; ROUTE_23
|
||
dw Route24Mons ; ROUTE_24
|
||
dw Route25Mons ; ROUTE_25
|
||
dw NoMons ; REDS_HOUSE_1F
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw ForestMons ; ViridianForest
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw MoonMons1
|
||
dw MoonMonsB1
|
||
dw MoonMonsB2
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw TunnelMonsB1
|
||
dw PowerPlantMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw PlateauMons1
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw TowerMons1
|
||
dw TowerMons2
|
||
dw TowerMons3
|
||
dw TowerMons4
|
||
dw TowerMons5
|
||
dw TowerMons6
|
||
dw TowerMons7
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw IslandMonsB1
|
||
dw IslandMonsB2
|
||
dw IslandMonsB3
|
||
dw IslandMonsB4
|
||
dw NoMons
|
||
dw NoMons
|
||
dw MansionMons1
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw IslandMons1
|
||
dw NoMons
|
||
dw PlateauMons2
|
||
dw NoMons
|
||
dw NoMons
|
||
dw CaveMons
|
||
dw PlateauMons3
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw MansionMons2
|
||
dw MansionMons3
|
||
dw MansionMonsB1
|
||
dw ZoneMons1
|
||
dw ZoneMons2
|
||
dw ZoneMons3
|
||
dw ZoneMonsCenter
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw DungeonMons2
|
||
dw DungeonMonsB1
|
||
dw DungeonMons1
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw TunnelMonsB2
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw NoMons
|
||
dw $FFFF
|
||
|
||
; wild pokemon data is divided into two parts.
|
||
; first part: pokemon found in grass
|
||
; second part: pokemon found while surfing
|
||
; each part goes as follows:
|
||
; if first byte == 00, then
|
||
; no wild pokemon on this map
|
||
; if first byte != 00, then
|
||
; first byte is encounter rate
|
||
; followed by 20 bytes:
|
||
; level, species (ten times)
|
||
|
||
NoMons: ; no wild pokemon
|
||
db 0
|
||
db 0
|
||
|
||
Route1Mons:
|
||
db $19
|
||
db 3,PIDGEY
|
||
db 3,RATTATA
|
||
db 3,RATTATA
|
||
db 2,RATTATA
|
||
db 2,PIDGEY
|
||
db 3,PIDGEY
|
||
db 3,PIDGEY
|
||
db 4,RATTATA
|
||
db 4,PIDGEY
|
||
db 5,PIDGEY
|
||
|
||
db 0
|
||
|
||
Route2Mons:
|
||
db $19
|
||
db 3,RATTATA
|
||
db 3,PIDGEY
|
||
db 4,PIDGEY
|
||
db 4,RATTATA
|
||
db 5,PIDGEY
|
||
db 3,WEEDLE
|
||
db 2,RATTATA
|
||
db 5,RATTATA
|
||
db 4,WEEDLE
|
||
db 5,WEEDLE
|
||
|
||
db 0
|
||
|
||
Route22Mons:
|
||
db $19
|
||
db 3,RATTATA
|
||
db 3,NIDORAN_M
|
||
db 4,RATTATA
|
||
db 4,NIDORAN_M
|
||
db 2,RATTATA
|
||
db 2,NIDORAN_M
|
||
db 3,SPEAROW
|
||
db 5,SPEAROW
|
||
db 3,NIDORAN_F
|
||
db 4,NIDORAN_F
|
||
|
||
db 0
|
||
|
||
ForestMons:
|
||
db $08
|
||
db 4,WEEDLE
|
||
db 5,KAKUNA
|
||
db 3,WEEDLE
|
||
db 5,WEEDLE
|
||
db 4,KAKUNA
|
||
db 6,KAKUNA
|
||
db 4,METAPOD
|
||
db 3,CATERPIE
|
||
db 3,PIKACHU
|
||
db 5,PIKACHU
|
||
|
||
db 0
|
||
|
||
Route3Mons:
|
||
db $14
|
||
db 6,PIDGEY
|
||
db 5,SPEAROW
|
||
db 7,PIDGEY
|
||
db 6,SPEAROW
|
||
db 7,SPEAROW
|
||
db 8,PIDGEY
|
||
db 8,SPEAROW
|
||
db 3,JIGGLYPUFF
|
||
db 5,JIGGLYPUFF
|
||
db 7,JIGGLYPUFF
|
||
|
||
db 0
|
||
|
||
MoonMons1:
|
||
db $0A
|
||
db 8,ZUBAT
|
||
db 7,ZUBAT
|
||
db 9,ZUBAT
|
||
db 8,GEODUDE
|
||
db 6,ZUBAT
|
||
db 10,ZUBAT
|
||
db 10,GEODUDE
|
||
db 8,PARAS
|
||
db 11,ZUBAT
|
||
db 8,CLEFAIRY
|
||
|
||
db 0
|
||
|
||
MoonMonsB1:
|
||
db $0A
|
||
db 8,ZUBAT
|
||
db 7,ZUBAT
|
||
db 7,GEODUDE
|
||
db 8,GEODUDE
|
||
db 9,ZUBAT
|
||
db 10,PARAS
|
||
db 10,ZUBAT
|
||
db 11,ZUBAT
|
||
db 9,CLEFAIRY
|
||
db 9,GEODUDE
|
||
|
||
db 0
|
||
|
||
MoonMonsB2:
|
||
db $0A
|
||
db 9,ZUBAT
|
||
db 9,GEODUDE
|
||
db 10,ZUBAT
|
||
db 10,GEODUDE
|
||
db 11,ZUBAT
|
||
db 10,PARAS
|
||
db 12,PARAS
|
||
db 10,CLEFAIRY
|
||
db 12,ZUBAT
|
||
db 12,CLEFAIRY
|
||
|
||
db 0
|
||
|
||
Route4Mons:
|
||
db $14
|
||
db 10,RATTATA
|
||
db 10,SPEAROW
|
||
db 8,RATTATA
|
||
db 6,EKANS
|
||
db 8,SPEAROW
|
||
db 10,EKANS
|
||
db 12,RATTATA
|
||
db 12,SPEAROW
|
||
db 8,EKANS
|
||
db 12,EKANS
|
||
|
||
db 0
|
||
|
||
Route24Mons:
|
||
db $19
|
||
db 7,WEEDLE
|
||
db 8,KAKUNA
|
||
db 12,PIDGEY
|
||
db 12,ODDISH
|
||
db 13,ODDISH
|
||
db 10,ABRA
|
||
db 14,ODDISH
|
||
db 13,PIDGEY
|
||
db 8,ABRA
|
||
db 12,ABRA
|
||
|
||
db 0
|
||
|
||
Route25Mons:
|
||
db 15
|
||
db 8,WEEDLE
|
||
db 9,KAKUNA
|
||
db 13,PIDGEY
|
||
db 12,ODDISH
|
||
db 13,ODDISH
|
||
db 12,ABRA
|
||
db 14,ODDISH
|
||
db 10,ABRA
|
||
db 7,METAPOD
|
||
db 8,CATERPIE
|
||
|
||
db 0
|
||
|
||
Route9Mons:
|
||
db 15
|
||
db 16,RATTATA
|
||
db 16,SPEAROW
|
||
db 14,RATTATA
|
||
db 11,EKANS
|
||
db 13,SPEAROW
|
||
db 15,EKANS
|
||
db 17,RATTATA
|
||
db 17,SPEAROW
|
||
db 13,EKANS
|
||
db 17,EKANS
|
||
|
||
db 0
|
||
|
||
Route5Mons:
|
||
db 15
|
||
db 13,ODDISH
|
||
db 13,PIDGEY
|
||
db 15,PIDGEY
|
||
db 10,MANKEY
|
||
db 12,MANKEY
|
||
db 15,ODDISH
|
||
db 16,ODDISH
|
||
db 16,PIDGEY
|
||
db 14,MANKEY
|
||
db 16,MANKEY
|
||
|
||
db 0
|
||
|
||
Route6Mons:
|
||
db 15
|
||
db 13,ODDISH
|
||
db 13,PIDGEY
|
||
db 15,PIDGEY
|
||
db 10,MANKEY
|
||
db 12,MANKEY
|
||
db 15,ODDISH
|
||
db 16,ODDISH
|
||
db 16,PIDGEY
|
||
db 14,MANKEY
|
||
db 16,MANKEY
|
||
|
||
db 0
|
||
|
||
Route11Mons:
|
||
db 15
|
||
db 14,EKANS
|
||
db 15,SPEAROW
|
||
db 12,EKANS
|
||
db 9,DROWZEE
|
||
db 13,SPEAROW
|
||
db 13,DROWZEE
|
||
db 15,EKANS
|
||
db 17,SPEAROW
|
||
db 11,DROWZEE
|
||
db 15,DROWZEE
|
||
|
||
db 0
|
||
|
||
TunnelMonsB1:
|
||
db 15
|
||
db 16,ZUBAT
|
||
db 17,ZUBAT
|
||
db 17,GEODUDE
|
||
db 15,MACHOP
|
||
db 16,GEODUDE
|
||
db 18,ZUBAT
|
||
db 15,ZUBAT
|
||
db 17,MACHOP
|
||
db 13,ONIX
|
||
db 15,ONIX
|
||
|
||
db 0
|
||
|
||
TunnelMonsB2:
|
||
db 15
|
||
db 16,ZUBAT
|
||
db 17,ZUBAT
|
||
db 17,GEODUDE
|
||
db 15,MACHOP
|
||
db 16,GEODUDE
|
||
db 18,ZUBAT
|
||
db 17,MACHOP
|
||
db 17,ONIX
|
||
db 13,ONIX
|
||
db 18,GEODUDE
|
||
|
||
db 0
|
||
|
||
Route10Mons:
|
||
db 15
|
||
db 16,VOLTORB
|
||
db 16,SPEAROW
|
||
db 14,VOLTORB
|
||
db 11,EKANS
|
||
db 13,SPEAROW
|
||
db 15,EKANS
|
||
db 17,VOLTORB
|
||
db 17,SPEAROW
|
||
db 13,EKANS
|
||
db 17,EKANS
|
||
|
||
db 0
|
||
|
||
Route12Mons:
|
||
db 15
|
||
db 24,ODDISH
|
||
db 25,PIDGEY
|
||
db 23,PIDGEY
|
||
db 24,VENONAT
|
||
db 22,ODDISH
|
||
db 26,VENONAT
|
||
db 26,ODDISH
|
||
db 27,PIDGEY
|
||
db 28,GLOOM
|
||
db 30,GLOOM
|
||
|
||
db 0
|
||
|
||
Route8Mons:
|
||
db 15
|
||
db 18,PIDGEY
|
||
db 18,MANKEY
|
||
db 17,EKANS
|
||
db 16,GROWLITHE
|
||
db 20,PIDGEY
|
||
db 20,MANKEY
|
||
db 19,EKANS
|
||
db 17,GROWLITHE
|
||
db 15,GROWLITHE
|
||
db 18,GROWLITHE
|
||
|
||
db 0
|
||
|
||
Route7Mons:
|
||
db 15
|
||
db 19,PIDGEY
|
||
db 19,ODDISH
|
||
db 17,MANKEY
|
||
db 22,ODDISH
|
||
db 22,PIDGEY
|
||
db 18,MANKEY
|
||
db 18,GROWLITHE
|
||
db 20,GROWLITHE
|
||
db 19,MANKEY
|
||
db 20,MANKEY
|
||
|
||
db 0
|
||
|
||
TowerMons1:
|
||
db 0
|
||
db 0
|
||
|
||
TowerMons2:
|
||
db 0
|
||
db 0
|
||
|
||
TowerMons3:
|
||
db $0A
|
||
db 20,GASTLY
|
||
db 21,GASTLY
|
||
db 22,GASTLY
|
||
db 23,GASTLY
|
||
db 19,GASTLY
|
||
db 18,GASTLY
|
||
db 24,GASTLY
|
||
db 20,CUBONE
|
||
db 22,CUBONE
|
||
db 25,HAUNTER
|
||
|
||
db 0
|
||
|
||
TowerMons4:
|
||
db $0A
|
||
db 20,GASTLY
|
||
db 21,GASTLY
|
||
db 22,GASTLY
|
||
db 23,GASTLY
|
||
db 19,GASTLY
|
||
db 18,GASTLY
|
||
db 25,HAUNTER
|
||
db 20,CUBONE
|
||
db 22,CUBONE
|
||
db 24,GASTLY
|
||
|
||
db 0
|
||
|
||
TowerMons5:
|
||
db $0A
|
||
db 20,GASTLY
|
||
db 21,GASTLY
|
||
db 22,GASTLY
|
||
db 23,GASTLY
|
||
db 19,GASTLY
|
||
db 18,GASTLY
|
||
db 25,HAUNTER
|
||
db 20,CUBONE
|
||
db 22,CUBONE
|
||
db 24,GASTLY
|
||
|
||
db 0
|
||
|
||
TowerMons6:
|
||
db 15
|
||
db 21,GASTLY
|
||
db 22,GASTLY
|
||
db 23,GASTLY
|
||
db 24,GASTLY
|
||
db 20,GASTLY
|
||
db 19,GASTLY
|
||
db 26,HAUNTER
|
||
db 22,CUBONE
|
||
db 24,CUBONE
|
||
db 28,HAUNTER
|
||
|
||
db 0
|
||
|
||
TowerMons7:
|
||
db 15
|
||
db 21,GASTLY
|
||
db 22,GASTLY
|
||
db 23,GASTLY
|
||
db 24,GASTLY
|
||
db 20,GASTLY
|
||
db 28,HAUNTER
|
||
db 22,CUBONE
|
||
db 24,CUBONE
|
||
db 28,HAUNTER
|
||
db 30,HAUNTER
|
||
|
||
db 0
|
||
|
||
Route13Mons:
|
||
db $14
|
||
db 24,ODDISH
|
||
db 25,PIDGEY
|
||
db 27,PIDGEY
|
||
db 24,VENONAT
|
||
db 22,ODDISH
|
||
db 26,VENONAT
|
||
db 26,ODDISH
|
||
db 25,DITTO
|
||
db 28,GLOOM
|
||
db 30,GLOOM
|
||
|
||
db 0
|
||
|
||
Route14Mons:
|
||
db 15
|
||
db 24,ODDISH
|
||
db 26,PIDGEY
|
||
db 23,DITTO
|
||
db 24,VENONAT
|
||
db 22,ODDISH
|
||
db 26,VENONAT
|
||
db 26,ODDISH
|
||
db 30,GLOOM
|
||
db 28,PIDGEOTTO
|
||
db 30,PIDGEOTTO
|
||
|
||
db 0
|
||
|
||
Route15Mons:
|
||
db 15
|
||
db 24,ODDISH
|
||
db 26,DITTO
|
||
db 23,PIDGEY
|
||
db 26,VENONAT
|
||
db 22,ODDISH
|
||
db 28,VENONAT
|
||
db 26,ODDISH
|
||
db 30,GLOOM
|
||
db 28,PIDGEOTTO
|
||
db 30,PIDGEOTTO
|
||
|
||
db 0
|
||
|
||
Route16Mons:
|
||
db $19
|
||
db 20,SPEAROW
|
||
db 22,SPEAROW
|
||
db 18,RATTATA
|
||
db 20,DODUO
|
||
db 20,RATTATA
|
||
db 18,DODUO
|
||
db 22,DODUO
|
||
db 22,RATTATA
|
||
db 23,RATICATE
|
||
db 25,RATICATE
|
||
|
||
db 0
|
||
|
||
Route17Mons:
|
||
db $19
|
||
db 20,SPEAROW
|
||
db 22,SPEAROW
|
||
db 25,RATICATE
|
||
db 24,DODUO
|
||
db 27,RATICATE
|
||
db 26,DODUO
|
||
db 28,DODUO
|
||
db 29,RATICATE
|
||
db 25,FEAROW
|
||
db 27,FEAROW
|
||
|
||
db 0
|
||
|
||
Route18Mons:
|
||
db $19
|
||
db 20,SPEAROW
|
||
db 22,SPEAROW
|
||
db 25,RATICATE
|
||
db 24,DODUO
|
||
db 25,FEAROW
|
||
db 26,DODUO
|
||
db 28,DODUO
|
||
db 29,RATICATE
|
||
db 27,FEAROW
|
||
db 29,FEAROW
|
||
|
||
db 0
|
||
|
||
ZoneMonsCenter:
|
||
db $1E
|
||
db 22,NIDORAN_M
|
||
db 25,RHYHORN
|
||
db 22,VENONAT
|
||
db 24,EXEGGCUTE
|
||
db 31,NIDORINO
|
||
db 25,EXEGGCUTE
|
||
db 31,NIDORINA
|
||
db 30,PARASECT
|
||
db 23,SCYTHER
|
||
db 23,CHANSEY
|
||
|
||
db 0
|
||
|
||
ZoneMons1:
|
||
db $1E
|
||
db 24,NIDORAN_M
|
||
db 26,DODUO
|
||
db 22,PARAS
|
||
db 25,EXEGGCUTE
|
||
db 33,NIDORINO
|
||
db 23,EXEGGCUTE
|
||
db 24,NIDORAN_F
|
||
db 25,PARASECT
|
||
db 25,KANGASKHAN
|
||
db 28,SCYTHER
|
||
|
||
db 0
|
||
|
||
ZoneMons2:
|
||
db $1E
|
||
db 22,NIDORAN_M
|
||
db 26,RHYHORN
|
||
db 23,PARAS
|
||
db 25,EXEGGCUTE
|
||
db 30,NIDORINO
|
||
db 27,EXEGGCUTE
|
||
db 30,NIDORINA
|
||
db 32,VENOMOTH
|
||
db 26,CHANSEY
|
||
db 28,TAUROS
|
||
|
||
db 0
|
||
|
||
ZoneMons3:
|
||
db $1E
|
||
db 25,NIDORAN_M
|
||
db 26,DODUO
|
||
db 23,VENONAT
|
||
db 24,EXEGGCUTE
|
||
db 33,NIDORINO
|
||
db 26,EXEGGCUTE
|
||
db 25,NIDORAN_F
|
||
db 31,VENOMOTH
|
||
db 26,TAUROS
|
||
db 28,KANGASKHAN
|
||
|
||
db 0
|
||
|
||
WaterMons:
|
||
db 0
|
||
|
||
db 5
|
||
db 5, TENTACOOL
|
||
db 10, TENTACOOL
|
||
db 15, TENTACOOL
|
||
db 5, TENTACOOL
|
||
db 10, TENTACOOL
|
||
db 15, TENTACOOL
|
||
db 20, TENTACOOL
|
||
db 30, TENTACOOL
|
||
db 35, TENTACOOL
|
||
db 40, TENTACOOL
|
||
|
||
IslandMons1:
|
||
db 15
|
||
db 30,SEEL
|
||
db 30,SLOWPOKE
|
||
db 30,SHELLDER
|
||
db 30,HORSEA
|
||
db 28,HORSEA
|
||
db 21,ZUBAT
|
||
db 29,GOLBAT
|
||
db 28,PSYDUCK
|
||
db 28,SHELLDER
|
||
db 38,GOLDUCK
|
||
|
||
db 0
|
||
|
||
IslandMonsB1:
|
||
db $0A
|
||
db 30,STARYU
|
||
db 30,HORSEA
|
||
db 32,SHELLDER
|
||
db 32,HORSEA
|
||
db 28,SLOWPOKE
|
||
db 30,SEEL
|
||
db 30,SLOWPOKE
|
||
db 28,SEEL
|
||
db 38,DEWGONG
|
||
db 37,SEADRA
|
||
|
||
db 0
|
||
|
||
IslandMonsB2:
|
||
db $0A
|
||
db 30,SEEL
|
||
db 30,SLOWPOKE
|
||
db 32,SEEL
|
||
db 32,SLOWPOKE
|
||
db 28,HORSEA
|
||
db 30,STARYU
|
||
db 30,HORSEA
|
||
db 28,SHELLDER
|
||
db 30,GOLBAT
|
||
db 37,SLOWBRO
|
||
|
||
db 0
|
||
|
||
IslandMonsB3:
|
||
db $0A
|
||
db 31,SLOWPOKE
|
||
db 31,SEEL
|
||
db 33,SLOWPOKE
|
||
db 33,SEEL
|
||
db 29,HORSEA
|
||
db 31,SHELLDER
|
||
db 31,HORSEA
|
||
db 29,SHELLDER
|
||
db 39,SEADRA
|
||
db 37,DEWGONG
|
||
|
||
db 0
|
||
|
||
IslandMonsB4:
|
||
db $0A
|
||
db 31,HORSEA
|
||
db 31,SHELLDER
|
||
db 33,HORSEA
|
||
db 33,SHELLDER
|
||
db 29,SLOWPOKE
|
||
db 31,SEEL
|
||
db 31,SLOWPOKE
|
||
db 29,SEEL
|
||
db 39,SLOWBRO
|
||
db 32,GOLBAT
|
||
|
||
db 0
|
||
|
||
MansionMons1:
|
||
db $0A
|
||
db 32,KOFFING
|
||
db 30,KOFFING
|
||
db 34,PONYTA
|
||
db 30,PONYTA
|
||
db 34,GROWLITHE
|
||
db 32,PONYTA
|
||
db 30,GRIMER
|
||
db 28,PONYTA
|
||
db 37,WEEZING
|
||
db 39,MUK
|
||
|
||
db 0
|
||
|
||
MansionMons2:
|
||
db $0A
|
||
db 32,GROWLITHE
|
||
db 34,KOFFING
|
||
db 34,KOFFING
|
||
db 30,PONYTA
|
||
db 30,KOFFING
|
||
db 32,PONYTA
|
||
db 30,GRIMER
|
||
db 28,PONYTA
|
||
db 39,WEEZING
|
||
db 37,MUK
|
||
|
||
db 0
|
||
|
||
MansionMons3:
|
||
db $0A
|
||
db 31,KOFFING
|
||
db 33,GROWLITHE
|
||
db 35,KOFFING
|
||
db 32,PONYTA
|
||
db 34,PONYTA
|
||
db 40,WEEZING
|
||
db 34,GRIMER
|
||
db 38,WEEZING
|
||
db 36,PONYTA
|
||
db 42,MUK
|
||
|
||
db 0
|
||
|
||
MansionMonsB1:
|
||
db $0A
|
||
db 33,KOFFING
|
||
db 31,KOFFING
|
||
db 35,GROWLITHE
|
||
db 32,PONYTA
|
||
db 31,KOFFING
|
||
db 40,WEEZING
|
||
db 34,PONYTA
|
||
db 35,GRIMER
|
||
db 42,WEEZING
|
||
db 42,MUK
|
||
|
||
db 0
|
||
|
||
Route21Mons:
|
||
db $19
|
||
db 21,RATTATA
|
||
db 23,PIDGEY
|
||
db 30,RATICATE
|
||
db 23,RATTATA
|
||
db 21,PIDGEY
|
||
db 30,PIDGEOTTO
|
||
db 32,PIDGEOTTO
|
||
db 28,TANGELA
|
||
db 30,TANGELA
|
||
db 32,TANGELA
|
||
|
||
db 5
|
||
db 5,TENTACOOL
|
||
db 10,TENTACOOL
|
||
db 15,TENTACOOL
|
||
db 5,TENTACOOL
|
||
db 10,TENTACOOL
|
||
db 15,TENTACOOL
|
||
db 20,TENTACOOL
|
||
db 30,TENTACOOL
|
||
db 35,TENTACOOL
|
||
db 40,TENTACOOL
|
||
|
||
DungeonMons1:
|
||
db $0A
|
||
db 46,GOLBAT
|
||
db 46,HYPNO
|
||
db 46,MAGNETON
|
||
db 49,DODRIO
|
||
db 49,VENOMOTH
|
||
db 52,ARBOK
|
||
db 49,KADABRA
|
||
db 52,PARASECT
|
||
db 53,RAICHU
|
||
db 53,DITTO
|
||
|
||
db 0
|
||
|
||
DungeonMons2:
|
||
db 15
|
||
db 51,DODRIO
|
||
db 51,VENOMOTH
|
||
db 51,KADABRA
|
||
db 52,RHYDON
|
||
db 52,MAROWAK
|
||
db 52,ELECTRODE
|
||
db 56,CHANSEY
|
||
db 54,WIGGLYTUFF
|
||
db 55,DITTO
|
||
db 60,DITTO
|
||
|
||
db 0
|
||
|
||
DungeonMonsB1:
|
||
db $19
|
||
db 55,RHYDON
|
||
db 55,MAROWAK
|
||
db 55,ELECTRODE
|
||
db 64,CHANSEY
|
||
db 64,PARASECT
|
||
db 64,RAICHU
|
||
db 57,ARBOK
|
||
db 65,DITTO
|
||
db 63,DITTO
|
||
db 67,DITTO
|
||
|
||
db 0
|
||
|
||
PowerPlantMons:
|
||
db $0A
|
||
db 21,VOLTORB
|
||
db 21,MAGNEMITE
|
||
db 20,PIKACHU
|
||
db 24,PIKACHU
|
||
db 23,MAGNEMITE
|
||
db 23,VOLTORB
|
||
db 32,MAGNETON
|
||
db 35,MAGNETON
|
||
db 33,ELECTABUZZ
|
||
db 36,ELECTABUZZ
|
||
|
||
db 0
|
||
|
||
Route23Mons:
|
||
db $0A
|
||
db 26,EKANS
|
||
db 33,DITTO
|
||
db 26,SPEAROW
|
||
db 38,FEAROW
|
||
db 38,DITTO
|
||
db 38,FEAROW
|
||
db 41,ARBOK
|
||
db 43,DITTO
|
||
db 41,FEAROW
|
||
db 43,FEAROW
|
||
|
||
db 0
|
||
|
||
PlateauMons2:
|
||
db $0A
|
||
db 22,MACHOP
|
||
db 24,GEODUDE
|
||
db 26,ZUBAT
|
||
db 36,ONIX
|
||
db 39,ONIX
|
||
db 42,ONIX
|
||
db 41,MACHOKE
|
||
db 40,GOLBAT
|
||
db 40,MAROWAK
|
||
db 43,GRAVELER
|
||
|
||
db 0
|
||
|
||
PlateauMons3:
|
||
db 15
|
||
db 24,MACHOP
|
||
db 26,GEODUDE
|
||
db 22,ZUBAT
|
||
db 42,ONIX
|
||
db 40,VENOMOTH
|
||
db 45,ONIX
|
||
db 43,GRAVELER
|
||
db 41,GOLBAT
|
||
db 42,MACHOKE
|
||
db 45,MACHOKE
|
||
|
||
db 0
|
||
|
||
PlateauMons1:
|
||
db 15
|
||
db 24,MACHOP
|
||
db 26,GEODUDE
|
||
db 22,ZUBAT
|
||
db 36,ONIX
|
||
db 39,ONIX
|
||
db 42,ONIX
|
||
db 41,GRAVELER
|
||
db 41,GOLBAT
|
||
db 42,MACHOKE
|
||
db 43,MAROWAK
|
||
|
||
db 0
|
||
|
||
CaveMons:
|
||
db $14
|
||
db 18,DIGLETT
|
||
db 19,DIGLETT
|
||
db 17,DIGLETT
|
||
db 20,DIGLETT
|
||
db 16,DIGLETT
|
||
db 15,DIGLETT
|
||
db 21,DIGLETT
|
||
db 22,DIGLETT
|
||
db 29,DUGTRIO
|
||
db 31,DUGTRIO
|
||
|
||
db 0
|
||
|
||
INCBIN "baserom.gbc",$D5C7,$E259 - $D5C7
|
||
|
||
GoodRodCode: ; 6259
|
||
call $62B4
|
||
jp c,$6581
|
||
Next625F:
|
||
call $3E5C
|
||
srl a
|
||
jr c,Next6278
|
||
and 3
|
||
cp 2
|
||
jr nc,Next625F
|
||
; choose which monster appears
|
||
ld hl,GoodRodMons
|
||
add a,a
|
||
ld c,a
|
||
ld b,0
|
||
add hl,bc
|
||
ld b,[hl]
|
||
inc hl
|
||
ld c,[hl]
|
||
and a
|
||
Next6278:
|
||
ld a,0
|
||
rla
|
||
xor 1
|
||
jr Next628E
|
||
|
||
GoodRodMons:
|
||
db 10,GOLDEEN
|
||
db 10,POLIWAG
|
||
|
||
Next6283:
|
||
call $62B4
|
||
jp c,$6581
|
||
Next6289:
|
||
call $68EA
|
||
ld a,e
|
||
Next628E:
|
||
ld [$CD3D],a
|
||
dec a
|
||
jr nz,.next\@
|
||
ld a,1
|
||
ld [$D05F],a
|
||
ld a,b
|
||
ld [$D127],a
|
||
ld a,c
|
||
ld [$D059],a
|
||
.next\@
|
||
ld hl,$D700
|
||
ld a,[hl]
|
||
push af
|
||
push hl
|
||
ld [hl],0
|
||
ld b,$1C
|
||
ld hl,$47B6
|
||
call Bankswitch
|
||
pop hl
|
||
pop af
|
||
ld [hl],a
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$E2B4,$E919 - $E2B4
|
||
|
||
; super rod data
|
||
; map, pointer to fishing group
|
||
SuperRodData: ; 6919
|
||
dbw $00,FishingGroup1
|
||
dbw $01,FishingGroup1
|
||
dbw $03,FishingGroup3
|
||
dbw $05,FishingGroup4
|
||
dbw $06,FishingGroup5
|
||
dbw $07,FishingGroup10
|
||
dbw $08,FishingGroup8
|
||
dbw $0F,FishingGroup3
|
||
dbw $11,FishingGroup4
|
||
dbw $15,FishingGroup5
|
||
dbw $16,FishingGroup4
|
||
dbw $17,FishingGroup7
|
||
dbw $18,FishingGroup7
|
||
dbw $1C,FishingGroup7
|
||
dbw $1D,FishingGroup7
|
||
dbw $1E,FishingGroup8
|
||
dbw $1F,FishingGroup8
|
||
dbw $20,FishingGroup8
|
||
dbw $21,FishingGroup2
|
||
dbw $22,FishingGroup9
|
||
dbw $23,FishingGroup3
|
||
dbw $24,FishingGroup3
|
||
dbw $41,FishingGroup3
|
||
dbw $5E,FishingGroup4
|
||
dbw $A1,FishingGroup8
|
||
dbw $A2,FishingGroup8
|
||
dbw $D9,FishingGroup6
|
||
dbw $DA,FishingGroup6
|
||
dbw $DB,FishingGroup6
|
||
dbw $DC,FishingGroup6
|
||
dbw $E2,FishingGroup9
|
||
dbw $E3,FishingGroup9
|
||
dbw $E4,FishingGroup9
|
||
db $FF
|
||
|
||
; fishing groups
|
||
; number of monsters, followed by level/monster pairs
|
||
FishingGroup1:
|
||
db 2
|
||
db 15,TENTACOOL
|
||
db 15,POLIWAG
|
||
|
||
FishingGroup2:
|
||
db 2
|
||
db 15,GOLDEEN
|
||
db 15,POLIWAG
|
||
|
||
FishingGroup3:
|
||
db 3
|
||
db 15,PSYDUCK
|
||
db 15,GOLDEEN
|
||
db 15,KRABBY
|
||
|
||
FishingGroup4:
|
||
db 2
|
||
db 15,KRABBY
|
||
db 15,SHELLDER
|
||
|
||
FishingGroup5:
|
||
db 2
|
||
db 23,POLIWHIRL
|
||
db 15,SLOWPOKE
|
||
|
||
FishingGroup6:
|
||
db 4
|
||
db 15,DRATINI
|
||
db 15,KRABBY
|
||
db 15,PSYDUCK
|
||
db 15,SLOWPOKE
|
||
|
||
FishingGroup7:
|
||
db 4
|
||
db 5,TENTACOOL
|
||
db 15,KRABBY
|
||
db 15,GOLDEEN
|
||
db 15,MAGIKARP
|
||
|
||
FishingGroup8:
|
||
db 4
|
||
db 15,STARYU
|
||
db 15,HORSEA
|
||
db 15,SHELLDER
|
||
db 15,GOLDEEN
|
||
|
||
FishingGroup9:
|
||
db 4
|
||
db 23,SLOWBRO
|
||
db 23,SEAKING
|
||
db 23,KINGLER
|
||
db 23,SEADRA
|
||
|
||
FishingGroup10:
|
||
db 4
|
||
db 23,SEAKING
|
||
db 15,KRABBY
|
||
db 15,GOLDEEN
|
||
db 15,MAGIKARP
|
||
|
||
INCBIN "baserom.gbc",$E9C5,$10000 - $E9C5
|
||
|
||
SECTION "bank4",DATA,BANK[$4]
|
||
INCBIN "baserom.gbc",$10000,$2EDE
|
||
|
||
RedPicFront:
|
||
INCBIN "pic/trainer/red.pic"
|
||
ShrinkPic1:
|
||
INCBIN "pic/trainer/shrink1.pic"
|
||
ShrinkPic2:
|
||
INCBIN "pic/trainer/shrink2.pic"
|
||
|
||
INCBIN "baserom.gbc",$13074,$13AA0-$13074
|
||
|
||
SECTION "bank5",DATA,BANK[$5]
|
||
INCBIN "baserom.gbc",$14000,$4000
|
||
|
||
SECTION "bank6",DATA,BANK[$6]
|
||
INCBIN "baserom.gbc",$18000,$2A1
|
||
|
||
PalletTown_h:
|
||
db $00 ; tileset
|
||
db $09,$0A ; dimensions
|
||
dw PalletTownBlocks,PalletTownTexts,PalletTownScript
|
||
db NORTH | SOUTH ; connections
|
||
|
||
db $0C ; Route 1
|
||
dw $4192,$C6EB ; pointers
|
||
db $0A,$0A ; bigness, width
|
||
db $23,$00 ; alignments
|
||
dw $C809 ; window
|
||
|
||
db $20 ; Route 21
|
||
dw $506D,$C7AB ; pointers
|
||
db $0A,$0A ; bigness, width
|
||
db $00,$00 ; alignments
|
||
dw $C6F9 ; window
|
||
|
||
dw PalletTownObject
|
||
|
||
PalletTownObject: ; 182C3
|
||
db $0B ; border tile
|
||
|
||
db 3 ; warps
|
||
db 5,5,0,$25 ; Red’s house 1F
|
||
db 5,$D,0,$27 ; Blue’s house
|
||
db $B,$C,1,$28 ; Oak’s Lab
|
||
|
||
db 4 ; signs
|
||
db $D,$D,4 ; sign by lab
|
||
db 9,7,5 ; Pallet Town sign
|
||
db 5,3,6 ; sign by Red’s house
|
||
db 5,$B,7 ; sign by Blue’s house
|
||
|
||
db 3 ; people
|
||
db 3,5+4,8+4,$FF,$FF,1 ; Oak
|
||
db $D,8+4,3+4,$FE,0,2 ; girl
|
||
db $2F,$E+4,$B+4,$FE,0,3 ; fat man
|
||
|
||
; warp‐to
|
||
|
||
dw $C71B
|
||
db 5,5
|
||
|
||
dw $C71F
|
||
db 5,$D
|
||
|
||
dw $C74F
|
||
db $B,$C
|
||
|
||
PalletTownBlocks:
|
||
INCBIN "maps/pallettown.blk"
|
||
|
||
INCBIN "baserom.gbc",$18357,$18E5B-$18357
|
||
|
||
PalletTownScript:
|
||
ld a,[$D74B]
|
||
bit 4,a
|
||
jr z,.next\@
|
||
ld hl,$D747
|
||
set 6,[hl]
|
||
.next\@
|
||
call $3C3C
|
||
ld hl,PalletTownScriptPointers
|
||
ld a,[$D5F1]
|
||
jp $3D97
|
||
|
||
PalletTownScriptPointers:
|
||
dw PalletTownScript1,PalletTownScript2,PalletTownScript3,PalletTownScript4,PalletTownScript5,PalletTownScript6,PalletTownScript7
|
||
|
||
PalletTownScript1:
|
||
ld a,[$D747]
|
||
bit 0,a
|
||
ret nz
|
||
ld a,[$D361]
|
||
cp 1
|
||
ret nz
|
||
xor a
|
||
ld [$FFB4],a
|
||
ld a,4
|
||
ld [$D528],a
|
||
ld a,$FF
|
||
call $23B1 ; stop music
|
||
ld a,2
|
||
ld c,a ; song bank
|
||
ld a,$DB ; “oak appears” music
|
||
call $23A1 ; plays music
|
||
ld a,$FC
|
||
ld [$CD6B],a
|
||
ld hl,$D74B
|
||
set 7,[hl]
|
||
|
||
; trigger the next script
|
||
ld a,1
|
||
ld [$D5F1],a
|
||
ret
|
||
|
||
PalletTownScript2:
|
||
xor a
|
||
ld [$CF0D],a
|
||
ld a,1
|
||
ld [$FF8C],a
|
||
call $2920
|
||
ld a,$FF
|
||
ld [$CD6B],a
|
||
ld a,0
|
||
ld [$CC4D],a
|
||
ld a,$15
|
||
call Predef
|
||
|
||
; trigger the next script
|
||
ld a,2
|
||
ld [$D5F1],a
|
||
ret
|
||
|
||
PalletTownScript3:
|
||
ld a,1
|
||
ld [$FF8C],a
|
||
ld a,4
|
||
ld [$FF8D],a
|
||
call $34A6
|
||
call Delay3
|
||
ld a,1
|
||
ld [$D361],a
|
||
ld a,1
|
||
ld [$FF9B],a
|
||
ld a,1
|
||
swap a
|
||
ld [$FF95],a
|
||
ld a,$22
|
||
call Predef
|
||
ld hl,$FF95
|
||
dec [hl]
|
||
ld a,$20
|
||
call Predef
|
||
ld de,$CC97
|
||
ld a,1
|
||
ld [$FF8C],a
|
||
call $363A
|
||
ld a,$FF
|
||
ld [$CD6B],a
|
||
|
||
; trigger the next script
|
||
ld a,3
|
||
ld [$D5F1],a
|
||
ret
|
||
|
||
PalletTownScript4:
|
||
ld a,[$D730]
|
||
bit 0,a
|
||
ret nz
|
||
xor a
|
||
ld [$C109],a
|
||
ld a,1
|
||
ld [$CF0D],a
|
||
ld a,$FC
|
||
ld [$CD6B],a
|
||
ld a,1
|
||
ld [$FF8C],a
|
||
call $2920
|
||
ld a,$FF
|
||
ld [$CD6B],a
|
||
ld a,1
|
||
ld [$CF13],a
|
||
xor a
|
||
ld [$CF10],a
|
||
ld a,1
|
||
ld [$CC57],a
|
||
ld a,[$FFB8]
|
||
ld [$CC58],a
|
||
|
||
; trigger the next script
|
||
ld a,4
|
||
ld [$D5F1],a
|
||
ret
|
||
|
||
PalletTownScript5:
|
||
ld a,[$CC57]
|
||
and a
|
||
ret nz
|
||
|
||
; trigger the next script
|
||
ld a,5
|
||
ld [$D5F1],a
|
||
ret
|
||
|
||
PalletTownScript6:
|
||
ld a,[$D74A]
|
||
bit 2,a
|
||
jr nz,.next\@
|
||
and 3
|
||
cp 3
|
||
jr nz,.next\@
|
||
ld hl,$D74A
|
||
set 2,[hl]
|
||
ld a,$27
|
||
ld [$CC4D],a
|
||
ld a,$11
|
||
call Predef
|
||
ld a,$28
|
||
ld [$CC4D],a
|
||
ld a,$15
|
||
jp Predef
|
||
.next\@
|
||
ld a,[$D74B]
|
||
bit 4,a
|
||
ret z
|
||
ld hl,$D74B
|
||
set 6,[hl]
|
||
PalletTownScript7:
|
||
ret
|
||
|
||
PalletTownTexts:
|
||
dw PalletTownText1,PalletTownText2,PalletTownText3,PalletTownText4,PalletTownText5,PalletTownText6,PalletTownText7
|
||
|
||
PalletTownText1:
|
||
db 8
|
||
ld a,[$CF0D]
|
||
and a
|
||
jr nz,.next\@
|
||
ld a,1
|
||
ld [$CC3C],a
|
||
ld hl,OakAppearsText
|
||
jr .done\@
|
||
.next\@
|
||
ld hl,OakWalksUpText
|
||
.done\@
|
||
call PrintText
|
||
jp $24D7
|
||
|
||
OakAppearsText:
|
||
db $17,$45,$42,$29 ; “Hey! Wait! Don’t go out!…”
|
||
db 8
|
||
ld c,10
|
||
call DelayFrames
|
||
xor a
|
||
ld [$CD4F],a
|
||
ld [$CD50],a
|
||
ld a,$4C
|
||
call Predef ; display ! over head
|
||
ld a,4
|
||
ld [$D528],a
|
||
jp $24D7
|
||
|
||
OakWalksUpText:
|
||
db $17,$64,$42,$29,$50 ; “It’s unsafe! Wild Pokémon…”
|
||
|
||
PalletTownText2: ; girl
|
||
db $17,$DC,$42,$29,$50 ; “I’m raising Pokémon too!…”
|
||
|
||
PalletTownText3: ; fat man
|
||
db $17,$1D,$43,$29,$50 ; “Technology is incredible!…”
|
||
|
||
PalletTownText4: ; sign by lab
|
||
db $17,$74,$43,$29,$50 ; “Oak Pokémon Research Lab”
|
||
|
||
PalletTownText5: ; sign by fence
|
||
db $17,$8B,$43,$29,$50 ; “Pallet Town: Shades of your journey…”
|
||
|
||
PalletTownText6: ; sign by Red’s house
|
||
db $17,$B6,$43,$29,$50 ; “Red’s House”
|
||
|
||
PalletTownText7: ; sign by Blue’s house
|
||
db $17,$C1,$43,$29,$50 ; “Blue’s House”
|
||
|
||
INCBIN "baserom.gbc",$18FF1,$4000-$FF1
|
||
|
||
SECTION "bank7",DATA,BANK[$7]
|
||
INCBIN "baserom.gbc",$1C000,$4000
|
||
|
||
SECTION "bank8",DATA,BANK[$8]
|
||
INCBIN "baserom.gbc",$20000,$4000
|
||
|
||
SECTION "bank9",DATA,BANK[$9]
|
||
RhydonPicFront:
|
||
INCBIN "pic/bmon/rhydon.pic"
|
||
RhydonPicBack:
|
||
INCBIN "pic/monback/rhydonb.pic"
|
||
KangaskhanPicFront:
|
||
INCBIN "pic/bmon/kangaskhan.pic"
|
||
KangaskhanPicBack:
|
||
INCBIN "pic/monback/kangaskhanb.pic"
|
||
NidoranMPicFront:
|
||
INCBIN "pic/bmon/nidoranm.pic"
|
||
NidoranMPicBack:
|
||
INCBIN "pic/monback/nidoranmb.pic"
|
||
ClefairyPicFront:
|
||
INCBIN "pic/bmon/clefairy.pic"
|
||
ClefairyPicBack:
|
||
INCBIN "pic/monback/clefairyb.pic"
|
||
SpearowPicFront:
|
||
INCBIN "pic/bmon/spearow.pic"
|
||
SpearowPicBack:
|
||
INCBIN "pic/monback/spearowb.pic"
|
||
VoltorbPicFront:
|
||
INCBIN "pic/bmon/voltorb.pic"
|
||
VoltorbPicBack:
|
||
INCBIN "pic/monback/voltorbb.pic"
|
||
NidokingPicFront:
|
||
INCBIN "pic/bmon/nidoking.pic"
|
||
NidokingPicBack:
|
||
INCBIN "pic/monback/nidokingb.pic"
|
||
SlowbroPicFront:
|
||
INCBIN "pic/bmon/slowbro.pic"
|
||
SlowbroPicBack:
|
||
INCBIN "pic/monback/slowbrob.pic"
|
||
IvysaurPicFront:
|
||
INCBIN "pic/bmon/ivysaur.pic"
|
||
IvysaurPicBack:
|
||
INCBIN "pic/monback/ivysaurb.pic"
|
||
ExeggutorPicFront:
|
||
INCBIN "pic/bmon/exeggutor.pic"
|
||
ExeggutorPicBack:
|
||
INCBIN "pic/monback/exeggutorb.pic"
|
||
LickitungPicFront:
|
||
INCBIN "pic/bmon/lickitung.pic"
|
||
LickitungPicBack:
|
||
INCBIN "pic/monback/lickitungb.pic"
|
||
ExeggcutePicFront:
|
||
INCBIN "pic/bmon/exeggcute.pic"
|
||
ExeggcutePicBack:
|
||
INCBIN "pic/monback/exeggcuteb.pic"
|
||
GrimerPicFront:
|
||
INCBIN "pic/bmon/grimer.pic"
|
||
GrimerPicBack:
|
||
INCBIN "pic/monback/grimerb.pic"
|
||
GengarPicFront:
|
||
INCBIN "pic/bmon/gengar.pic"
|
||
GengarPicBack:
|
||
INCBIN "pic/monback/gengarb.pic"
|
||
NidoranFPicFront:
|
||
INCBIN "pic/bmon/nidoranf.pic"
|
||
NidoranFPicBack:
|
||
INCBIN "pic/monback/nidoranfb.pic"
|
||
NidoqueenPicFront:
|
||
INCBIN "pic/bmon/nidoqueen.pic"
|
||
NidoqueenPicBack:
|
||
INCBIN "pic/monback/nidoqueenb.pic"
|
||
CubonePicFront:
|
||
INCBIN "pic/bmon/cubone.pic"
|
||
CubonePicBack:
|
||
INCBIN "pic/monback/cuboneb.pic"
|
||
RhyhornPicFront:
|
||
INCBIN "pic/bmon/rhyhorn.pic"
|
||
RhyhornPicBack:
|
||
INCBIN "pic/monback/rhyhornb.pic"
|
||
LaprasPicFront:
|
||
INCBIN "pic/bmon/lapras.pic"
|
||
LaprasPicBack:
|
||
INCBIN "pic/monback/laprasb.pic"
|
||
ArcaninePicFront:
|
||
INCBIN "pic/bmon/arcanine.pic"
|
||
ArcaninePicBack:
|
||
INCBIN "pic/monback/arcanineb.pic"
|
||
GyaradosPicFront:
|
||
INCBIN "pic/bmon/gyarados.pic"
|
||
GyaradosPicBack:
|
||
INCBIN "pic/monback/gyaradosb.pic"
|
||
ShellderPicFront:
|
||
INCBIN "pic/bmon/shellder.pic"
|
||
ShellderPicBack:
|
||
INCBIN "pic/monback/shellderb.pic"
|
||
TentacoolPicFront:
|
||
INCBIN "pic/bmon/tentacool.pic"
|
||
TentacoolPicBack:
|
||
INCBIN "pic/monback/tentacoolb.pic"
|
||
GastlyPicFront:
|
||
INCBIN "pic/bmon/gastly.pic"
|
||
GastlyPicBack:
|
||
INCBIN "pic/monback/gastlyb.pic"
|
||
ScytherPicFront:
|
||
INCBIN "pic/bmon/scyther.pic"
|
||
ScytherPicBack:
|
||
INCBIN "pic/monback/scytherb.pic"
|
||
StaryuPicFront:
|
||
INCBIN "pic/bmon/staryu.pic"
|
||
StaryuPicBack:
|
||
INCBIN "pic/monback/staryub.pic"
|
||
BlastoisePicFront:
|
||
INCBIN "pic/bmon/blastoise.pic"
|
||
BlastoisePicBack:
|
||
INCBIN "pic/monback/blastoiseb.pic"
|
||
PinsirPicFront:
|
||
INCBIN "pic/bmon/pinsir.pic"
|
||
PinsirPicBack:
|
||
INCBIN "pic/monback/pinsirb.pic"
|
||
TangelaPicFront:
|
||
INCBIN "pic/bmon/tangela.pic"
|
||
TangelaPicBack:
|
||
INCBIN "pic/monback/tangelab.pic"
|
||
|
||
INCBIN "baserom.gbc",$27d6b,$27fb8-$27d6b
|
||
|
||
SECTION "bankA",DATA,BANK[$A]
|
||
GrowlithePicFront:
|
||
INCBIN "pic/bmon/growlithe.pic"
|
||
GrowlithePicBack:
|
||
INCBIN "pic/monback/growlitheb.pic"
|
||
OnixPicFront:
|
||
INCBIN "pic/bmon/onix.pic"
|
||
OnixPicBack:
|
||
INCBIN "pic/monback/onixb.pic"
|
||
FearowPicFront:
|
||
INCBIN "pic/bmon/fearow.pic"
|
||
FearowPicBack:
|
||
INCBIN "pic/monback/fearowb.pic"
|
||
PidgeyPicFront:
|
||
INCBIN "pic/bmon/pidgey.pic"
|
||
PidgeyPicBack:
|
||
INCBIN "pic/monback/pidgeyb.pic"
|
||
SlowpokePicFront:
|
||
INCBIN "pic/bmon/slowpoke.pic"
|
||
SlowpokePicBack:
|
||
INCBIN "pic/monback/slowpokeb.pic"
|
||
KadabraPicFront:
|
||
INCBIN "pic/bmon/kadabra.pic"
|
||
KadabraPicBack:
|
||
INCBIN "pic/monback/kadabrab.pic"
|
||
GravelerPicFront:
|
||
INCBIN "pic/bmon/graveler.pic"
|
||
GravelerPicBack:
|
||
INCBIN "pic/monback/gravelerb.pic"
|
||
ChanseyPicFront:
|
||
INCBIN "pic/bmon/chansey.pic"
|
||
ChanseyPicBack:
|
||
INCBIN "pic/monback/chanseyb.pic"
|
||
MachokePicFront:
|
||
INCBIN "pic/bmon/machoke.pic"
|
||
MachokePicBack:
|
||
INCBIN "pic/monback/machokeb.pic"
|
||
MrMimePicFront:
|
||
INCBIN "pic/bmon/mr.mime.pic"
|
||
MrMimePicBack:
|
||
INCBIN "pic/monback/mr.mimeb.pic"
|
||
HitmonleePicFront:
|
||
INCBIN "pic/bmon/hitmonlee.pic"
|
||
HitmonleePicBack:
|
||
INCBIN "pic/monback/hitmonleeb.pic"
|
||
HitmonchanPicFront:
|
||
INCBIN "pic/bmon/hitmonchan.pic"
|
||
HitmonchanPicBack:
|
||
INCBIN "pic/monback/hitmonchanb.pic"
|
||
ArbokPicFront:
|
||
INCBIN "pic/bmon/arbok.pic"
|
||
ArbokPicBack:
|
||
INCBIN "pic/monback/arbokb.pic"
|
||
ParasectPicFront:
|
||
INCBIN "pic/bmon/parasect.pic"
|
||
ParasectPicBack:
|
||
INCBIN "pic/monback/parasectb.pic"
|
||
PsyduckPicFront:
|
||
INCBIN "pic/bmon/psyduck.pic"
|
||
PsyduckPicBack:
|
||
INCBIN "pic/monback/psyduckb.pic"
|
||
DrowzeePicFront:
|
||
INCBIN "pic/bmon/drowzee.pic"
|
||
DrowzeePicBack:
|
||
INCBIN "pic/monback/drowzeeb.pic"
|
||
GolemPicFront:
|
||
INCBIN "pic/bmon/golem.pic"
|
||
GolemPicBack:
|
||
INCBIN "pic/monback/golemb.pic"
|
||
MagmarPicFront:
|
||
INCBIN "pic/bmon/magmar.pic"
|
||
MagmarPicBack:
|
||
INCBIN "pic/monback/magmarb.pic"
|
||
ElectabuzzPicFront:
|
||
INCBIN "pic/bmon/electabuzz.pic"
|
||
ElectabuzzPicBack:
|
||
INCBIN "pic/monback/electabuzzb.pic"
|
||
MagnetonPicFront:
|
||
INCBIN "pic/bmon/magneton.pic"
|
||
MagnetonPicBack:
|
||
INCBIN "pic/monback/magnetonb.pic"
|
||
KoffingPicFront:
|
||
INCBIN "pic/bmon/koffing.pic"
|
||
KoffingPicBack:
|
||
INCBIN "pic/monback/koffingb.pic"
|
||
MankeyPicFront:
|
||
INCBIN "pic/bmon/mankey.pic"
|
||
MankeyPicBack:
|
||
INCBIN "pic/monback/mankeyb.pic"
|
||
SeelPicFront:
|
||
INCBIN "pic/bmon/seel.pic"
|
||
SeelPicBack:
|
||
INCBIN "pic/monback/seelb.pic"
|
||
DiglettPicFront:
|
||
INCBIN "pic/bmon/diglett.pic"
|
||
DiglettPicBack:
|
||
INCBIN "pic/monback/diglettb.pic"
|
||
TaurosPicFront:
|
||
INCBIN "pic/bmon/tauros.pic"
|
||
TaurosPicBack:
|
||
INCBIN "pic/monback/taurosb.pic"
|
||
FarfetchdPicFront:
|
||
INCBIN "pic/bmon/farfetchd.pic"
|
||
FarfetchdPicBack:
|
||
INCBIN "pic/monback/farfetchdb.pic"
|
||
VenonatPicFront:
|
||
INCBIN "pic/bmon/venonat.pic"
|
||
VenonatPicBack:
|
||
INCBIN "pic/monback/venonatb.pic"
|
||
DragonitePicFront:
|
||
INCBIN "pic/bmon/dragonite.pic"
|
||
DragonitePicBack:
|
||
INCBIN "pic/monback/dragoniteb.pic"
|
||
DoduoPicFront:
|
||
INCBIN "pic/bmon/doduo.pic"
|
||
DoduoPicBack:
|
||
INCBIN "pic/monback/doduob.pic"
|
||
PoliwagPicFront:
|
||
INCBIN "pic/bmon/poliwag.pic"
|
||
PoliwagPicBack:
|
||
INCBIN "pic/monback/poliwagb.pic"
|
||
JynxPicFront:
|
||
INCBIN "pic/bmon/jynx.pic"
|
||
JynxPicBack:
|
||
INCBIN "pic/monback/jynxb.pic"
|
||
MoltresPicFront:
|
||
INCBIN "pic/bmon/moltres.pic"
|
||
MoltresPicBack:
|
||
INCBIN "pic/monback/moltresb.pic"
|
||
|
||
INCBIN "baserom.gbc",$2bea9,$3efc-$3ea9
|
||
|
||
SECTION "bankB",DATA,BANK[$B]
|
||
ArticunoPicFront:
|
||
INCBIN "pic/bmon/articuno.pic"
|
||
ArticunoPicBack:
|
||
INCBIN "pic/monback/articunob.pic"
|
||
ZapdosPicFront:
|
||
INCBIN "pic/bmon/zapdos.pic"
|
||
ZapdosPicBack:
|
||
INCBIN "pic/monback/zapdosb.pic"
|
||
DittoPicFront:
|
||
INCBIN "pic/bmon/ditto.pic"
|
||
DittoPicBack:
|
||
INCBIN "pic/monback/dittob.pic"
|
||
MeowthPicFront:
|
||
INCBIN "pic/bmon/meowth.pic"
|
||
MeowthPicBack:
|
||
INCBIN "pic/monback/meowthb.pic"
|
||
KrabbyPicFront:
|
||
INCBIN "pic/bmon/krabby.pic"
|
||
KrabbyPicBack:
|
||
INCBIN "pic/monback/krabbyb.pic"
|
||
VulpixPicFront:
|
||
INCBIN "pic/bmon/vulpix.pic"
|
||
VulpixPicBack:
|
||
INCBIN "pic/monback/vulpixb.pic"
|
||
NinetalesPicFront:
|
||
INCBIN "pic/bmon/ninetales.pic"
|
||
NinetalesPicBack:
|
||
INCBIN "pic/monback/ninetalesb.pic"
|
||
PikachuPicFront:
|
||
INCBIN "pic/bmon/pikachu.pic"
|
||
PikachuPicBack:
|
||
INCBIN "pic/monback/pikachub.pic"
|
||
RaichuPicFront:
|
||
INCBIN "pic/bmon/raichu.pic"
|
||
RaichuPicBack:
|
||
INCBIN "pic/monback/raichub.pic"
|
||
DratiniPicFront:
|
||
INCBIN "pic/bmon/dratini.pic"
|
||
DratiniPicBack:
|
||
INCBIN "pic/monback/dratinib.pic"
|
||
DragonairPicFront:
|
||
INCBIN "pic/bmon/dragonair.pic"
|
||
DragonairPicBack:
|
||
INCBIN "pic/monback/dragonairb.pic"
|
||
KabutoPicFront:
|
||
INCBIN "pic/bmon/kabuto.pic"
|
||
KabutoPicBack:
|
||
INCBIN "pic/monback/kabutob.pic"
|
||
KabutopsPicFront:
|
||
INCBIN "pic/bmon/kabutops.pic"
|
||
KabutopsPicBack:
|
||
INCBIN "pic/monback/kabutopsb.pic"
|
||
HorseaPicFront:
|
||
INCBIN "pic/bmon/horsea.pic"
|
||
HorseaPicBack:
|
||
INCBIN "pic/monback/horseab.pic"
|
||
SeadraPicFront:
|
||
INCBIN "pic/bmon/seadra.pic"
|
||
SeadraPicBack:
|
||
INCBIN "pic/monback/seadrab.pic"
|
||
SandshrewPicFront:
|
||
INCBIN "pic/bmon/sandshrew.pic"
|
||
SandshrewPicBack:
|
||
INCBIN "pic/monback/sandshrewb.pic"
|
||
SandslashPicFront:
|
||
INCBIN "pic/bmon/sandslash.pic"
|
||
SandslashPicBack:
|
||
INCBIN "pic/monback/sandslashb.pic"
|
||
OmanytePicFront:
|
||
INCBIN "pic/bmon/omanyte.pic"
|
||
OmanytePicBack:
|
||
INCBIN "pic/monback/omanyteb.pic"
|
||
OmastarPicFront:
|
||
INCBIN "pic/bmon/omastar.pic"
|
||
OmastarPicBack:
|
||
INCBIN "pic/monback/omastarb.pic"
|
||
JigglypuffPicFront:
|
||
INCBIN "pic/bmon/jigglypuff.pic"
|
||
JigglypuffPicBack:
|
||
INCBIN "pic/monback/jigglypuffb.pic"
|
||
WigglytuffPicFront:
|
||
INCBIN "pic/bmon/wigglytuff.pic"
|
||
WigglytuffPicBack:
|
||
INCBIN "pic/monback/wigglytuffb.pic"
|
||
EeveePicFront:
|
||
INCBIN "pic/bmon/eevee.pic"
|
||
EeveePicBack:
|
||
INCBIN "pic/monback/eeveeb.pic"
|
||
FlareonPicFront:
|
||
INCBIN "pic/bmon/flareon.pic"
|
||
FlareonPicBack:
|
||
INCBIN "pic/monback/flareonb.pic"
|
||
JolteonPicFront:
|
||
INCBIN "pic/bmon/jolteon.pic"
|
||
JolteonPicBack:
|
||
INCBIN "pic/monback/jolteonb.pic"
|
||
VaporeonPicFront:
|
||
INCBIN "pic/bmon/vaporeon.pic"
|
||
VaporeonPicBack:
|
||
INCBIN "pic/monback/vaporeonb.pic"
|
||
MachopPicFront:
|
||
INCBIN "pic/bmon/machop.pic"
|
||
MachopPicBack:
|
||
INCBIN "pic/monback/machopb.pic"
|
||
ZubatPicFront:
|
||
INCBIN "pic/bmon/zubat.pic"
|
||
ZubatPicBack:
|
||
INCBIN "pic/monback/zubatb.pic"
|
||
EkansPicFront:
|
||
INCBIN "pic/bmon/ekans.pic"
|
||
EkansPicBack:
|
||
INCBIN "pic/monback/ekansb.pic"
|
||
ParasPicFront:
|
||
INCBIN "pic/bmon/paras.pic"
|
||
ParasPicBack:
|
||
INCBIN "pic/monback/parasb.pic"
|
||
PoliwhirlPicFront:
|
||
INCBIN "pic/bmon/poliwhirl.pic"
|
||
PoliwhirlPicBack:
|
||
INCBIN "pic/monback/poliwhirlb.pic"
|
||
PoliwrathPicFront:
|
||
INCBIN "pic/bmon/poliwrath.pic"
|
||
PoliwrathPicBack:
|
||
INCBIN "pic/monback/poliwrathb.pic"
|
||
WeedlePicFront:
|
||
INCBIN "pic/bmon/weedle.pic"
|
||
WeedlePicBack:
|
||
INCBIN "pic/monback/weedleb.pic"
|
||
KakunaPicFront:
|
||
INCBIN "pic/bmon/kakuna.pic"
|
||
KakunaPicBack:
|
||
INCBIN "pic/monback/kakunab.pic"
|
||
BeedrillPicFront:
|
||
INCBIN "pic/bmon/beedrill.pic"
|
||
BeedrillPicBack:
|
||
INCBIN "pic/monback/beedrillb.pic"
|
||
FossilKabutopsPic:
|
||
INCBIN "pic/other/fossilkabutops.pic"
|
||
|
||
INCBIN "baserom.gbc",$2fb7b,$2ff3c-$2fb7b
|
||
|
||
SECTION "bankC",DATA,BANK[$C]
|
||
DodrioPicFront:
|
||
INCBIN "pic/bmon/dodrio.pic"
|
||
DodrioPicBack:
|
||
INCBIN "pic/monback/dodriob.pic"
|
||
PrimeapePicFront:
|
||
INCBIN "pic/bmon/primeape.pic"
|
||
PrimeapePicBack:
|
||
INCBIN "pic/monback/primeapeb.pic"
|
||
DugtrioPicFront:
|
||
INCBIN "pic/bmon/dugtrio.pic"
|
||
DugtrioPicBack:
|
||
INCBIN "pic/monback/dugtriob.pic"
|
||
VenomothPicFront:
|
||
INCBIN "pic/bmon/venomoth.pic"
|
||
VenomothPicBack:
|
||
INCBIN "pic/monback/venomothb.pic"
|
||
DewgongPicFront:
|
||
INCBIN "pic/bmon/dewgong.pic"
|
||
DewgongPicBack:
|
||
INCBIN "pic/monback/dewgongb.pic"
|
||
CaterpiePicFront:
|
||
INCBIN "pic/bmon/caterpie.pic"
|
||
CaterpiePicBack:
|
||
INCBIN "pic/monback/caterpieb.pic"
|
||
MetapodPicFront:
|
||
INCBIN "pic/bmon/metapod.pic"
|
||
MetapodPicBack:
|
||
INCBIN "pic/monback/metapodb.pic"
|
||
ButterfreePicFront:
|
||
INCBIN "pic/bmon/butterfree.pic"
|
||
ButterfreePicBack:
|
||
INCBIN "pic/monback/butterfreeb.pic"
|
||
MachampPicFront:
|
||
INCBIN "pic/bmon/machamp.pic"
|
||
MachampPicBack:
|
||
INCBIN "pic/monback/machampb.pic"
|
||
GolduckPicFront:
|
||
INCBIN "pic/bmon/golduck.pic"
|
||
GolduckPicBack:
|
||
INCBIN "pic/monback/golduckb.pic"
|
||
HypnoPicFront:
|
||
INCBIN "pic/bmon/hypno.pic"
|
||
HypnoPicBack:
|
||
INCBIN "pic/monback/hypnob.pic"
|
||
GolbatPicFront:
|
||
INCBIN "pic/bmon/golbat.pic"
|
||
GolbatPicBack:
|
||
INCBIN "pic/monback/golbatb.pic"
|
||
MewtwoPicFront:
|
||
INCBIN "pic/bmon/mewtwo.pic"
|
||
MewtwoPicBack:
|
||
INCBIN "pic/monback/mewtwob.pic"
|
||
SnorlaxPicFront:
|
||
INCBIN "pic/bmon/snorlax.pic"
|
||
SnorlaxPicBack:
|
||
INCBIN "pic/monback/snorlaxb.pic"
|
||
MagikarpPicFront:
|
||
INCBIN "pic/bmon/magikarp.pic"
|
||
MagikarpPicBack:
|
||
INCBIN "pic/monback/magikarpb.pic"
|
||
MukPicFront:
|
||
INCBIN "pic/bmon/muk.pic"
|
||
MukPicBack:
|
||
INCBIN "pic/monback/mukb.pic"
|
||
KinglerPicFront:
|
||
INCBIN "pic/bmon/kingler.pic"
|
||
KinglerPicBack:
|
||
INCBIN "pic/monback/kinglerb.pic"
|
||
CloysterPicFront:
|
||
INCBIN "pic/bmon/cloyster.pic"
|
||
CloysterPicBack:
|
||
INCBIN "pic/monback/cloysterb.pic"
|
||
ElectrodePicFront:
|
||
INCBIN "pic/bmon/electrode.pic"
|
||
ElectrodePicBack:
|
||
INCBIN "pic/monback/electrodeb.pic"
|
||
ClefablePicFront:
|
||
INCBIN "pic/bmon/clefable.pic"
|
||
ClefablePicBack:
|
||
INCBIN "pic/monback/clefableb.pic"
|
||
WeezingPicFront:
|
||
INCBIN "pic/bmon/weezing.pic"
|
||
WeezingPicBack:
|
||
INCBIN "pic/monback/weezingb.pic"
|
||
PersianPicFront:
|
||
INCBIN "pic/bmon/persian.pic"
|
||
PersianPicBack:
|
||
INCBIN "pic/monback/persianb.pic"
|
||
MarowakPicFront:
|
||
INCBIN "pic/bmon/marowak.pic"
|
||
MarowakPicBack:
|
||
INCBIN "pic/monback/marowakb.pic"
|
||
HaunterPicFront:
|
||
INCBIN "pic/bmon/haunter.pic"
|
||
HaunterPicBack:
|
||
INCBIN "pic/monback/haunterb.pic"
|
||
AbraPicFront:
|
||
INCBIN "pic/bmon/abra.pic"
|
||
AbraPicBack:
|
||
INCBIN "pic/monback/abrab.pic"
|
||
AlakazamPicFront:
|
||
INCBIN "pic/bmon/alakazam.pic"
|
||
AlakazamPicBack:
|
||
INCBIN "pic/monback/alakazamb.pic"
|
||
PidgeottoPicFront:
|
||
INCBIN "pic/bmon/pidgeotto.pic"
|
||
PidgeottoPicBack:
|
||
INCBIN "pic/monback/pidgeottob.pic"
|
||
PidgeotPicFront:
|
||
INCBIN "pic/bmon/pidgeot.pic"
|
||
PidgeotPicBack:
|
||
INCBIN "pic/monback/pidgeotb.pic"
|
||
StarmiePicFront:
|
||
INCBIN "pic/bmon/starmie.pic"
|
||
StarmiePicBack:
|
||
INCBIN "pic/monback/starmieb.pic"
|
||
RedPicBack:
|
||
INCBIN "pic/trainer/redb.pic"
|
||
OldManPic:
|
||
INCBIN "pic/trainer/oldman.pic"
|
||
|
||
INCBIN "baserom.gbc",$33f2b,$3f90-$3f2b
|
||
|
||
SECTION "bankD",DATA,BANK[$D]
|
||
BulbasaurPicFront:
|
||
INCBIN "pic/bmon/bulbasaur.pic"
|
||
BulbasaurPicBack:
|
||
INCBIN "pic/monback/bulbasaurb.pic"
|
||
VenusaurPicFront:
|
||
INCBIN "pic/bmon/venusaur.pic"
|
||
VenusaurPicBack:
|
||
INCBIN "pic/monback/venusaurb.pic"
|
||
TentacruelPicFront:
|
||
INCBIN "pic/bmon/tentacruel.pic"
|
||
TentacruelPicBack:
|
||
INCBIN "pic/monback/tentacruelb.pic"
|
||
GoldeenPicFront:
|
||
INCBIN "pic/bmon/goldeen.pic"
|
||
GoldeenPicBack:
|
||
INCBIN "pic/monback/goldeenb.pic"
|
||
SeakingPicFront:
|
||
INCBIN "pic/bmon/seaking.pic"
|
||
SeakingPicBack:
|
||
INCBIN "pic/monback/seakingb.pic"
|
||
PonytaPicFront:
|
||
INCBIN "pic/bmon/ponyta.pic"
|
||
RapidashPicFront:
|
||
INCBIN "pic/bmon/rapidash.pic"
|
||
PonytaPicBack:
|
||
INCBIN "pic/monback/ponytab.pic"
|
||
RapidashPicBack:
|
||
INCBIN "pic/monback/rapidashb.pic"
|
||
RattataPicFront:
|
||
INCBIN "pic/bmon/rattata.pic"
|
||
RattataPicBack:
|
||
INCBIN "pic/monback/rattatab.pic"
|
||
RaticatePicFront:
|
||
INCBIN "pic/bmon/raticate.pic"
|
||
RaticatePicBack:
|
||
INCBIN "pic/monback/raticateb.pic"
|
||
NidorinoPicFront:
|
||
INCBIN "pic/bmon/nidorino.pic"
|
||
NidorinoPicBack:
|
||
INCBIN "pic/monback/nidorinob.pic"
|
||
NidorinaPicFront:
|
||
INCBIN "pic/bmon/nidorina.pic"
|
||
NidorinaPicBack:
|
||
INCBIN "pic/monback/nidorinab.pic"
|
||
GeodudePicFront:
|
||
INCBIN "pic/bmon/geodude.pic"
|
||
GeodudePicBack:
|
||
INCBIN "pic/monback/geodudeb.pic"
|
||
PorygonPicFront:
|
||
INCBIN "pic/bmon/porygon.pic"
|
||
PorygonPicBack:
|
||
INCBIN "pic/monback/porygonb.pic"
|
||
AerodactylPicFront:
|
||
INCBIN "pic/bmon/aerodactyl.pic"
|
||
AerodactylPicBack:
|
||
INCBIN "pic/monback/aerodactylb.pic"
|
||
MagnemitePicFront:
|
||
INCBIN "pic/bmon/magnemite.pic"
|
||
MagnemitePicBack:
|
||
INCBIN "pic/monback/magnemiteb.pic"
|
||
CharmanderPicFront:
|
||
INCBIN "pic/bmon/charmander.pic"
|
||
CharmanderPicBack:
|
||
INCBIN "pic/monback/charmanderb.pic"
|
||
SquirtlePicFront:
|
||
INCBIN "pic/bmon/squirtle.pic"
|
||
SquirtlePicBack:
|
||
INCBIN "pic/monback/squirtleb.pic"
|
||
CharmeleonPicFront:
|
||
INCBIN "pic/bmon/charmeleon.pic"
|
||
CharmeleonPicBack:
|
||
INCBIN "pic/monback/charmeleonb.pic"
|
||
WartortlePicFront:
|
||
INCBIN "pic/bmon/wartortle.pic"
|
||
WartortlePicBack:
|
||
INCBIN "pic/monback/wartortleb.pic"
|
||
CharizardPicFront:
|
||
INCBIN "pic/bmon/charizard.pic"
|
||
CharizardPicBack:
|
||
INCBIN "pic/monback/charizardb.pic"
|
||
FossilAerodactylPic:
|
||
INCBIN "pic/other/fossilaerodactyl.pic"
|
||
GhostPic:
|
||
INCBIN "pic/other/ghost.pic"
|
||
OddishPicFront:
|
||
INCBIN "pic/bmon/oddish.pic"
|
||
OddishPicBack:
|
||
INCBIN "pic/monback/oddishb.pic"
|
||
GloomPicFront:
|
||
INCBIN "pic/bmon/gloom.pic"
|
||
GloomPicBack:
|
||
INCBIN "pic/monback/gloomb.pic"
|
||
VileplumePicFront:
|
||
INCBIN "pic/bmon/vileplume.pic"
|
||
VileplumePicBack:
|
||
INCBIN "pic/monback/vileplumeb.pic"
|
||
BellsproutPicFront:
|
||
INCBIN "pic/bmon/bellsprout.pic"
|
||
BellsproutPicBack:
|
||
INCBIN "pic/monback/bellsproutb.pic"
|
||
WeepinbellPicFront:
|
||
INCBIN "pic/bmon/weepinbell.pic"
|
||
WeepinbellPicBack:
|
||
INCBIN "pic/monback/weepinbellb.pic"
|
||
VictreebelPicFront:
|
||
INCBIN "pic/bmon/victreebel.pic"
|
||
VictreebelPicBack:
|
||
INCBIN "pic/monback/victreebelb.pic"
|
||
|
||
INCBIN "baserom.gbc",$37244,$3e88-$3244
|
||
|
||
SECTION "bankE",DATA,BANK[$E]
|
||
|
||
Attacks: ; 4000
|
||
; characteristics of each attack
|
||
db POUND ,$00,$28,NORMAL,$FF,35
|
||
db KARATE_CHOP ,$00,$32,NORMAL,$FF,25
|
||
db DOUBLESLAP ,$1D,$0F,NORMAL,$D8,10
|
||
db COMET_PUNCH ,$1D,$12,NORMAL,$D8,15
|
||
db MEGA_PUNCH ,$00,$50,NORMAL,$D8,20
|
||
db PAY_DAY ,$10,$28,NORMAL,$FF,20
|
||
db FIRE_PUNCH ,$04,$4B,FIRE,$FF,15
|
||
db ICE_PUNCH ,$05,$4B,ICE,$FF,15
|
||
db THUNDERPUNCH,$06,$4B,ELECTRIC,$FF,15
|
||
db SCRATCH ,$00,$28,NORMAL,$FF,35
|
||
db VICEGRIP ,$00,$37,NORMAL,$FF,30
|
||
db GUILLOTINE ,$26,$01,NORMAL,$4C,5
|
||
db RAZOR_WIND ,$27,$50,NORMAL,$BF,10
|
||
db SWORDS_DANCE,$32,$00,NORMAL,$FF,30
|
||
db CUT ,$00,$32,NORMAL,$F2,30
|
||
db GUST ,$00,$28,NORMAL,$FF,35
|
||
db WING_ATTACK ,$00,$23,FLYING,$FF,35
|
||
db WHIRLWIND ,$1C,$00,NORMAL,$D8,20
|
||
db FLY ,$2B,$46,FLYING,$F2,15
|
||
db BIND ,$2A,$0F,NORMAL,$BF,20
|
||
db SLAM ,$00,$50,NORMAL,$BF,20
|
||
db VINE_WHIP ,$00,$23,GRASS,$FF,10
|
||
db STOMP ,$25,$41,NORMAL,$FF,20
|
||
db DOUBLE_KICK ,$2C,$1E,FIGHTING,$FF,30
|
||
db MEGA_KICK ,$00,$78,NORMAL,$BF,5
|
||
db JUMP_KICK ,$2D,$46,FIGHTING,$F2,25
|
||
db ROLLING_KICK,$25,$3C,FIGHTING,$D8,15
|
||
db SAND_ATTACK ,$16,$00,NORMAL,$FF,15
|
||
db HEADBUTT ,$25,$46,NORMAL,$FF,15
|
||
db HORN_ATTACK ,$00,$41,NORMAL,$FF,25
|
||
db FURY_ATTACK ,$1D,$0F,NORMAL,$D8,20
|
||
db HORN_DRILL ,$26,$01,NORMAL,$4C,5
|
||
db TACKLE ,$00,$23,NORMAL,$F2,35
|
||
db BODY_SLAM ,$24,$55,NORMAL,$FF,15
|
||
db WRAP ,$2A,$0F,NORMAL,$D8,20
|
||
db TAKE_DOWN ,$30,$5A,NORMAL,$D8,20
|
||
db THRASH ,$1B,$5A,NORMAL,$FF,20
|
||
db DOUBLE_EDGE ,$30,$64,NORMAL,$FF,15
|
||
db TAIL_WHIP ,$13,$00,NORMAL,$FF,30
|
||
db POISON_STING,$02,$0F,POISON,$FF,35
|
||
db TWINEEDLE ,$4D,$19,BUG,$FF,20
|
||
db PIN_MISSILE ,$1D,$0E,BUG,$D8,20
|
||
db LEER ,$13,$00,NORMAL,$FF,30
|
||
db BITE ,$1F,$3C,NORMAL,$FF,25
|
||
db GROWL ,$12,$00,NORMAL,$FF,40
|
||
db ROAR ,$1C,$00,NORMAL,$FF,20
|
||
db SING ,$20,$00,NORMAL,$8C,15
|
||
db SUPERSONIC ,$31,$00,NORMAL,$8C,20
|
||
db SONICBOOM ,$29,$01,NORMAL,$E5,20
|
||
db DISABLE ,$56,$00,NORMAL,$8C,20
|
||
db ACID ,$45,$28,POISON,$FF,30
|
||
db EMBER ,$04,$28,FIRE,$FF,25
|
||
db FLAMETHROWER,$04,$5F,FIRE,$FF,15
|
||
db MIST ,$2E,$00,ICE,$FF,30
|
||
db WATER_GUN ,$00,$28,WATER,$FF,25
|
||
db HYDRO_PUMP ,$00,$78,WATER,$CC,5
|
||
db SURF ,$00,$5F,WATER,$FF,15
|
||
db ICE_BEAM ,$05,$5F,ICE,$FF,10
|
||
db BLIZZARD ,$05,$78,ICE,$E5,5
|
||
db PSYBEAM ,$4C,$41,PSYCHIC,$FF,20
|
||
db BUBBLEBEAM ,$46,$41,WATER,$FF,20
|
||
db AURORA_BEAM ,$44,$41,ICE,$FF,20
|
||
db HYPER_BEAM ,$50,$96,NORMAL,$E5,5
|
||
db PECK ,$00,$23,FLYING,$FF,35
|
||
db DRILL_PECK ,$00,$50,FLYING,$FF,20
|
||
db SUBMISSION ,$30,$50,FIGHTING,$CC,25
|
||
db LOW_KICK ,$25,$32,FIGHTING,$E5,20
|
||
db COUNTER ,$00,$01,FIGHTING,$FF,20
|
||
db SEISMIC_TOSS,$29,$01,FIGHTING,$FF,20
|
||
db STRENGTH ,$00,$50,NORMAL,$FF,15
|
||
db ABSORB ,$03,$14,GRASS,$FF,20
|
||
db MEGA_DRAIN ,$03,$28,GRASS,$FF,10
|
||
db LEECH_SEED ,$54,$00,GRASS,$E5,10
|
||
db GROWTH ,$0D,$00,NORMAL,$FF,40
|
||
db RAZOR_LEAF ,$00,$37,GRASS,$F2,25
|
||
db SOLARBEAM ,$27,$78,GRASS,$FF,10
|
||
db POISONPOWDER,$42,$00,POISON,$BF,35
|
||
db STUN_SPORE ,$43,$00,GRASS,$BF,30
|
||
db SLEEP_POWDER,$20,$00,GRASS,$BF,15
|
||
db PETAL_DANCE ,$1B,$46,GRASS,$FF,20
|
||
db STRING_SHOT ,$14,$00,BUG,$F2,40
|
||
db DRAGON_RAGE ,$29,$01,DRAGON,$FF,10
|
||
db FIRE_SPIN ,$2A,$0F,FIRE,$B2,15
|
||
db THUNDERSHOCK,$06,$28,ELECTRIC,$FF,30
|
||
db THUNDERBOLT ,$06,$5F,ELECTRIC,$FF,15
|
||
db THUNDER_WAVE,$43,$00,ELECTRIC,$FF,20
|
||
db THUNDER ,$06,$78,ELECTRIC,$B2,10
|
||
db ROCK_THROW ,$00,$32,ROCK,$A5,15
|
||
db EARTHQUAKE ,$00,$64,GROUND,$FF,10
|
||
db FISSURE ,$26,$01,GROUND,$4C,5
|
||
db DIG ,$27,$64,GROUND,$FF,10
|
||
db TOXIC ,$42,$00,POISON,$D8,10
|
||
db CONFUSION ,$4C,$32,PSYCHIC,$FF,25
|
||
db PSYCHIC_M ,$47,$5A,PSYCHIC,$FF,10
|
||
db HYPNOSIS ,$20,$00,PSYCHIC,$99,20
|
||
db MEDITATE ,$0A,$00,PSYCHIC,$FF,40
|
||
db AGILITY ,$34,$00,PSYCHIC,$FF,30
|
||
db QUICK_ATTACK,$00,$28,NORMAL,$FF,30
|
||
db RAGE ,$51,$14,NORMAL,$FF,20
|
||
db TELEPORT ,$1C,$00,PSYCHIC,$FF,20
|
||
db NIGHT_SHADE ,$29,$00,GHOST,$FF,15
|
||
db MIMIC ,$52,$00,NORMAL,$FF,10
|
||
db SCREECH ,$3B,$00,NORMAL,$D8,40
|
||
db DOUBLE_TEAM ,$0F,$00,NORMAL,$FF,15
|
||
db RECOVER ,$38,$00,NORMAL,$FF,20
|
||
db HARDEN ,$0B,$00,NORMAL,$FF,30
|
||
db MINIMIZE ,$0F,$00,NORMAL,$FF,20
|
||
db SMOKESCREEN ,$16,$00,NORMAL,$FF,20
|
||
db CONFUSE_RAY ,$31,$00,GHOST,$FF,10
|
||
db WITHDRAW ,$0B,$00,WATER,$FF,40
|
||
db DEFENSE_CURL,$0B,$00,NORMAL,$FF,40
|
||
db BARRIER ,$33,$00,PSYCHIC,$FF,30
|
||
db LIGHT_SCREEN,$40,$00,PSYCHIC,$FF,30
|
||
db HAZE ,$19,$00,ICE,$FF,30
|
||
db REFLECT ,$41,$00,PSYCHIC,$FF,20
|
||
db FOCUS_ENERGY,$2F,$00,NORMAL,$FF,30
|
||
db BIDE ,$1A,$00,NORMAL,$FF,10
|
||
db METRONOME ,$53,$00,NORMAL,$FF,10
|
||
db MIRROR_MOVE ,$09,$00,FLYING,$FF,20
|
||
db SELFDESTRUCT,$07,$82,NORMAL,$FF,5
|
||
db EGG_BOMB ,$00,$64,NORMAL,$BF,10
|
||
db LICK ,$24,$14,GHOST,$FF,30
|
||
db SMOG ,$21,$14,POISON,$B2,20
|
||
db SLUDGE ,$21,$41,POISON,$FF,20
|
||
db BONE_CLUB ,$1F,$41,GROUND,$D8,20
|
||
db FIRE_BLAST ,$22,$78,FIRE,$D8,5
|
||
db WATERFALL ,$00,$50,WATER,$FF,15
|
||
db CLAMP ,$2A,$23,WATER,$BF,10
|
||
db SWIFT ,$11,$3C,NORMAL,$FF,20
|
||
db SKULL_BASH ,$27,$64,NORMAL,$FF,15
|
||
db SPIKE_CANNON,$1D,$14,NORMAL,$FF,15
|
||
db CONSTRICT ,$46,$0A,NORMAL,$FF,35
|
||
db AMNESIA ,$35,$00,PSYCHIC,$FF,20
|
||
db KINESIS ,$16,$00,PSYCHIC,$CC,15
|
||
db SOFTBOILED ,$38,$00,NORMAL,$FF,10
|
||
db HI_JUMP_KICK,$2D,$55,FIGHTING,$E5,20
|
||
db GLARE ,$43,$00,NORMAL,$BF,30
|
||
db DREAM_EATER ,$08,$64,PSYCHIC,$FF,15
|
||
db POISON_GAS ,$42,$00,POISON,$8C,40
|
||
db BARRAGE ,$1D,$0F,NORMAL,$D8,20
|
||
db LEECH_LIFE ,$03,$14,BUG,$FF,15
|
||
db LOVELY_KISS ,$20,$00,NORMAL,$BF,10
|
||
db SKY_ATTACK ,$27,$8C,FLYING,$E5,5
|
||
db TRANSFORM ,$39,$00,NORMAL,$FF,10
|
||
db BUBBLE ,$46,$14,WATER,$FF,30
|
||
db DIZZY_PUNCH ,$00,$46,NORMAL,$FF,10
|
||
db SPORE ,$20,$00,GRASS,$FF,15
|
||
db FLASH ,$16,$00,NORMAL,$B2,20
|
||
db PSYWAVE ,$29,$01,PSYCHIC,$CC,15
|
||
db SPLASH ,$55,$00,NORMAL,$FF,40
|
||
db ACID_ARMOR ,$33,$00,POISON,$FF,40
|
||
db CRABHAMMER ,$00,$5A,WATER,$D8,10
|
||
db EXPLOSION ,$07,$AA,NORMAL,$FF,5
|
||
db FURY_SWIPES ,$1D,$12,NORMAL,$CC,15
|
||
db BONEMERANG ,$2C,$32,GROUND,$E5,10
|
||
db REST ,$38,$00,PSYCHIC,$FF,10
|
||
db ROCK_SLIDE ,$00,$4B,ROCK,$E5,10
|
||
db HYPER_FANG ,$1F,$50,NORMAL,$E5,15
|
||
db SHARPEN ,$0A,$00,NORMAL,$FF,30
|
||
db CONVERSION ,$18,$00,NORMAL,$FF,30
|
||
db TRI_ATTACK ,$00,$50,NORMAL,$FF,10
|
||
db SUPER_FANG ,$28,$01,NORMAL,$E5,10
|
||
db SLASH ,$00,$46,NORMAL,$FF,20
|
||
db SUBSTITUTE ,$4F,$00,NORMAL,$FF,10
|
||
db STRUGGLE ,$30,$32,NORMAL,$FF,10
|
||
|
||
INCBIN "baserom.gbc",$383DE,$39884 - $383DE
|
||
|
||
ReadAttack: ; 5884
|
||
push hl
|
||
push de
|
||
push bc
|
||
dec a
|
||
ld hl,Attacks
|
||
ld bc,6
|
||
call AddNTimes
|
||
ld de,$CFCC
|
||
call CopyData
|
||
pop bc
|
||
pop de
|
||
pop hl
|
||
ret
|
||
|
||
; trainer data: from 5C53 to 652E
|
||
INCBIN "baserom.gbc",$3989B,$39C53 - $3989B
|
||
ReadTrainer: ; 5C53
|
||
|
||
; don't change any moves in a link battle
|
||
ld a,[W_ISLINKBATTLE]
|
||
and a
|
||
ret nz
|
||
|
||
; set [W_ENEMYMONCOUNT] to 0, [$D89D] to FF
|
||
; XXX first is total enemy pokemon?
|
||
; XXX second is species of first pokemon?
|
||
ld hl,W_ENEMYMONCOUNT
|
||
xor a
|
||
ld [hli],a
|
||
dec a
|
||
ld [hl],a
|
||
|
||
; get the pointer to trainer data for this class
|
||
ld a,[W_CUROPPONENT]
|
||
sub $C9 ; convert value from pokemon to trainer
|
||
add a,a
|
||
ld hl,TrainerDataPointers
|
||
ld c,a
|
||
ld b,0
|
||
add hl,bc ; hl points to trainer class
|
||
ld a,[hli]
|
||
ld h,[hl]
|
||
ld l,a
|
||
ld a,[W_TRAINERNO]
|
||
ld b,a
|
||
; At this point b contains the trainer number,
|
||
; and hl points to the trainer class.
|
||
; Our next task is to iterate through the trainers,
|
||
; decrementing b each time, until we get to the right one.
|
||
.outer\@
|
||
dec b
|
||
jr z,.IterateTrainer
|
||
.inner\@
|
||
ld a,[hli]
|
||
and a
|
||
jr nz,.inner\@
|
||
jr .outer\@
|
||
|
||
; if the first byte of trainer data is FF,
|
||
; - each pokemon has a specific level
|
||
; (as opposed to the whole team being of the same level)
|
||
; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move
|
||
; else the first byte is the level of every pokemon on the team
|
||
.IterateTrainer
|
||
ld a,[hli]
|
||
cp $FF ; is the trainer special?
|
||
jr z,.SpecialTrainer\@ ; if so, check for special attacks
|
||
ld [W_CURENEMYLVL],a
|
||
.LoopTrainerData\@
|
||
ld a,[hli]
|
||
and a ; have we reached the end of the trainer data?
|
||
jr z,.FinishUp\@
|
||
ld [$CF91],a ; write species somewhere (XXX why?)
|
||
ld a,1
|
||
ld [$CC49],a
|
||
push hl
|
||
call $3927
|
||
pop hl
|
||
jr .LoopTrainerData\@
|
||
.SpecialTrainer\@
|
||
; if this code is being run:
|
||
; - each pokemon has a specific level
|
||
; (as opposed to the whole team being of the same level)
|
||
; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move
|
||
ld a,[hli]
|
||
and a ; have we reached the end of the trainer data?
|
||
jr z,.AddLoneAttack\@
|
||
ld [W_CURENEMYLVL],a
|
||
ld a,[hli]
|
||
ld [$CF91],a
|
||
ld a,1
|
||
ld [$CC49],a
|
||
push hl
|
||
call $3927
|
||
pop hl
|
||
jr .SpecialTrainer\@
|
||
.AddLoneAttack\@
|
||
; does the trainer have a single monster with a different move
|
||
ld a,[W_LONEATTACKNO] ; Brock is 01, Misty is 02, Erika is 04, etc
|
||
and a
|
||
jr z,.AddTeamAttack\@
|
||
dec a
|
||
add a,a
|
||
ld c,a
|
||
ld b,0
|
||
ld hl,LoneAttacks
|
||
add hl,bc
|
||
ld a,[hli]
|
||
ld d,[hl]
|
||
ld hl,W_ENEMYMON1MOVE3
|
||
ld bc,W_ENEMYMON2MOVE3 - W_ENEMYMON1MOVE3
|
||
call AddNTimes
|
||
ld [hl],d
|
||
jr .FinishUp\@
|
||
.AddTeamAttack\@
|
||
; check if our trainer's team has special moves
|
||
|
||
; get trainer class number
|
||
ld a,[$D059]
|
||
sub $C8
|
||
ld b,a
|
||
ld hl,TeamAttacks
|
||
|
||
; iterate through entries in TeamAttacks, checking each for our trainer class
|
||
.IterateTeamAttacks\@
|
||
ld a,[hli]
|
||
cp b
|
||
jr z,.GiveTeamAttacks\@ ; is there a match?
|
||
inc hl ; if not, go to the next entry
|
||
inc a
|
||
jr nz,.IterateTeamAttacks\@
|
||
|
||
; no matches found. is this trainer champion rival?
|
||
ld a,b
|
||
cp SONY3
|
||
jr z,.ChampionRival\@
|
||
jr .FinishUp\@ ; nope
|
||
.GiveTeamAttacks\@
|
||
ld a,[hl]
|
||
ld [$D95E],a
|
||
jr .FinishUp\@
|
||
.ChampionRival\@ ; give attacks to his team
|
||
|
||
; pidgeot
|
||
ld a,SKY_ATTACK
|
||
ld [W_ENEMYMON1MOVE3],a
|
||
|
||
; starter
|
||
ld a,[W_RIVALSTARTER]
|
||
cp BULBASAUR
|
||
ld b,MEGA_DRAIN
|
||
jr z,.GiveStarterMove\@
|
||
cp CHARMANDER
|
||
ld b,FIRE_BLAST
|
||
jr z,.GiveStarterMove\@
|
||
ld b,BLIZZARD ; must be squirtle
|
||
.GiveStarterMove\@
|
||
ld a,b
|
||
ld [W_ENEMYMON6MOVE3],a
|
||
.FinishUp\@ ; XXX this needs documenting
|
||
xor a ; clear D079-D07B
|
||
ld de,$D079
|
||
ld [de],a
|
||
inc de
|
||
ld [de],a
|
||
inc de
|
||
ld [de],a
|
||
ld a,[W_CURENEMYLVL]
|
||
ld b,a
|
||
.LastLoop\@
|
||
ld hl,$D047
|
||
ld c,2
|
||
push bc
|
||
ld a,$B
|
||
call Predef
|
||
pop bc
|
||
inc de
|
||
inc de
|
||
dec b
|
||
jr nz,.LastLoop\@
|
||
ret
|
||
|
||
LoneAttacks: ; 5D22
|
||
; these are used for gym leaders.
|
||
; this is not automatic! you have to write the number you want to W_LONEATTACKNO
|
||
; first. e.g., erika's script writes 4 to W_LONEATTACKNO to get mega drain,
|
||
; the fourth entry in the list.
|
||
|
||
; first byte: pokemon in the trainer's party that gets the move
|
||
; second byte: move
|
||
; unterminated
|
||
db 1,BIDE
|
||
db 1,BUBBLEBEAM
|
||
db 2,THUNDERBOLT
|
||
db 2,MEGA_DRAIN
|
||
db 3,TOXIC
|
||
db 3,PSYWAVE
|
||
db 3,FIRE_BLAST
|
||
db 4,FISSURE
|
||
|
||
TeamAttacks: ; 5D32
|
||
; these are used for elite four.
|
||
; this is automatic, based on trainer class.
|
||
; don't be confused by LoneAttacks above, the two data structures are
|
||
; _completely_ unrelated.
|
||
|
||
; first byte: trainer (all trainers in this class have this move)
|
||
; second byte: move
|
||
; ff-terminated
|
||
db LORELEI,BLIZZARD
|
||
db BRUNO,FISSURE
|
||
db AGATHA,TOXIC
|
||
db LANCE,BARRIER
|
||
db $FF
|
||
|
||
TrainerDataPointers: ; 5D3B
|
||
dw YoungsterData,BugCatcherData,LassData,SailorData,JrTrainerMData
|
||
dw JrTrainerFData,PokemaniacData,SuperNerdData,HikerData,BikerData
|
||
dw BurglarData,EngineerData,Juggler1Data,FisherData,SwimmerData
|
||
dw CueBallData,GamblerData,BeautyData,PsychicData,RockerData
|
||
dw JugglerData,TamerData,BirdKeeperData,BlackbeltData,Green1Data
|
||
dw ProfOakData,ChiefData,ScientistData,GiovanniData,RocketData
|
||
dw CooltrainerMData,CooltrainerFData,BrunoData,BrockData,MistyData
|
||
dw LtSurgeData,ErikaData,KogaData,BlaineData,SabrinaData
|
||
dw GentlemanData,Green2Data,Green3Data,LoreleiData,ChannelerData
|
||
dw AgathaData,LanceData
|
||
|
||
; if first byte != FF, then
|
||
; first byte is level (of all pokemon on this team)
|
||
; all the next bytes are pokemon species
|
||
; null-terminated
|
||
; if first byte == FF, then
|
||
; first byte is FF (obviously)
|
||
; every next two bytes are a level and species
|
||
; null-terminated
|
||
|
||
YoungsterData:
|
||
db 11,RATTATA,EKANS,0
|
||
db 14,SPEAROW,0
|
||
db 10,RATTATA,RATTATA,ZUBAT,0
|
||
db 14,RATTATA,EKANS,ZUBAT,0
|
||
db 15,RATTATA,SPEAROW,0
|
||
db 17,SLOWPOKE,0
|
||
db 14,EKANS,SANDSHREW,0
|
||
db 21,NIDORAN_M,0
|
||
db 21,EKANS,0
|
||
db 19,SANDSHREW,ZUBAT,0
|
||
db 17,RATTATA,RATTATA,RATICATE,0
|
||
db 18,NIDORAN_M,NIDORINO,0
|
||
db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0
|
||
BugCatcherData:
|
||
db 6,WEEDLE,CATERPIE,0
|
||
db 7,WEEDLE,KAKUNA,WEEDLE,0
|
||
db 9,WEEDLE,0
|
||
db 10,CATERPIE,WEEDLE,CATERPIE,0
|
||
db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0
|
||
db 11,CATERPIE,METAPOD,0
|
||
db 11,WEEDLE,KAKUNA,0
|
||
db 10,CATERPIE,METAPOD,CATERPIE,0
|
||
db 14,CATERPIE,WEEDLE,0
|
||
db 16,WEEDLE,CATERPIE,WEEDLE,0
|
||
db 20,BUTTERFREE,0
|
||
db 18,METAPOD,CATERPIE,VENONAT,0
|
||
db 19,BEEDRILL,BEEDRILL,0
|
||
db 20,CATERPIE,WEEDLE,VENONAT,0
|
||
LassData:
|
||
db 9,PIDGEY,PIDGEY,0
|
||
db 10,RATTATA,NIDORAN_M,0
|
||
db 14,JIGGLYPUFF,0
|
||
db 31,PARAS,PARAS,PARASECT,0
|
||
db 11,ODDISH,BELLSPROUT,0
|
||
db 14,CLEFAIRY,0
|
||
db 16,PIDGEY,NIDORAN_F,0
|
||
db 14,PIDGEY,NIDORAN_F,0
|
||
db 15,NIDORAN_M,NIDORAN_F,0
|
||
db 13,ODDISH,PIDGEY,ODDISH,0
|
||
db 18,PIDGEY,NIDORAN_F,0
|
||
db 18,RATTATA,PIKACHU,0
|
||
db 23,NIDORAN_F,NIDORINA,0
|
||
db 24,MEOWTH,MEOWTH,MEOWTH,0
|
||
db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0
|
||
db 22,CLEFAIRY,CLEFAIRY,0
|
||
db 23,BELLSPROUT,WEEPINBELL,0
|
||
db 23,ODDISH,GLOOM,0
|
||
SailorData:
|
||
db 18,MACHOP,SHELLDER,0
|
||
db 17,MACHOP,TENTACOOL,0
|
||
db 21,SHELLDER,0
|
||
db 17,HORSEA,SHELLDER,TENTACOOL,0
|
||
db 18,TENTACOOL,STARYU,0
|
||
db 17,HORSEA,HORSEA,HORSEA,0
|
||
db 20,MACHOP,0
|
||
db 21,PIKACHU,PIKACHU,0
|
||
JrTrainerMData:
|
||
db 11,DIGLETT,SANDSHREW,0
|
||
db 14,RATTATA,EKANS,0
|
||
db 18,MANKEY,0
|
||
db 20,SQUIRTLE,0
|
||
db 16,SPEAROW,RATICATE,0
|
||
db 18,DIGLETT,DIGLETT,SANDSHREW,0
|
||
db 21,GROWLITHE,CHARMANDER,0
|
||
db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0
|
||
db 29,NIDORAN_M,NIDORINO,0
|
||
JrTrainerFData:
|
||
db 19,GOLDEEN,0
|
||
db 16,RATTATA,PIKACHU,0
|
||
db 16,PIDGEY,PIDGEY,PIDGEY,0
|
||
db 22,BULBASAUR,0
|
||
db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
|
||
db 23,MEOWTH,0
|
||
db 20,PIKACHU,CLEFAIRY,0
|
||
db 21,PIDGEY,PIDGEOTTO,0
|
||
db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0
|
||
db 22,ODDISH,BULBASAUR,0
|
||
db 24,BULBASAUR,IVYSAUR,0
|
||
db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0
|
||
db 30,POLIWAG,POLIWAG,0
|
||
db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0
|
||
db 28,GOLDEEN,POLIWAG,HORSEA,0
|
||
db 31,GOLDEEN,SEAKING,0
|
||
db 22,BELLSPROUT,CLEFAIRY,0
|
||
db 20,MEOWTH,ODDISH,PIDGEY,0
|
||
db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0
|
||
db 28,GLOOM,ODDISH,ODDISH,0
|
||
db 29,PIKACHU,RAICHU,0
|
||
db 33,CLEFAIRY,0
|
||
db 29,BELLSPROUT,ODDISH,TANGELA,0
|
||
db 30,TENTACOOL,HORSEA,SEEL,0
|
||
PokemaniacData:
|
||
db 30,RHYHORN,LICKITUNG,0
|
||
db 20,CUBONE,SLOWPOKE,0
|
||
db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0
|
||
db 22,CHARMANDER,CUBONE,0
|
||
db 25,SLOWPOKE,0
|
||
db 40,CHARMELEON,LAPRAS,LICKITUNG,0
|
||
db 23,CUBONE,SLOWPOKE,0
|
||
SuperNerdData:
|
||
db 11,MAGNEMITE,VOLTORB,0
|
||
db 12,GRIMER,VOLTORB,KOFFING,0
|
||
db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0
|
||
db 22,GRIMER,MUK,GRIMER,0
|
||
db 26,KOFFING,0
|
||
db 22,KOFFING,MAGNEMITE,WEEZING,0
|
||
db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0
|
||
db 24,MAGNEMITE,VOLTORB,0
|
||
db 36,VULPIX,VULPIX,NINETALES,0
|
||
db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0
|
||
db 41,RAPIDASH,0
|
||
db 37,GROWLITHE,VULPIX,0
|
||
HikerData:
|
||
db 10,GEODUDE,GEODUDE,ONIX,0
|
||
db 15,MACHOP,GEODUDE,0
|
||
db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0
|
||
db 17,ONIX,0
|
||
db 21,GEODUDE,ONIX,0
|
||
db 20,GEODUDE,MACHOP,GEODUDE,0
|
||
db 21,GEODUDE,ONIX,0
|
||
db 19,ONIX,GRAVELER,0
|
||
db 21,GEODUDE,GEODUDE,GRAVELER,0
|
||
db 25,GEODUDE,0
|
||
db 20,MACHOP,ONIX,0
|
||
db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0
|
||
db 20,ONIX,ONIX,GEODUDE,0
|
||
db 21,GEODUDE,GRAVELER,0
|
||
BikerData:
|
||
db 28,KOFFING,KOFFING,KOFFING,0
|
||
db 29,KOFFING,GRIMER,0
|
||
db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0
|
||
db 28,KOFFING,GRIMER,WEEZING,0
|
||
db 29,GRIMER,KOFFING,0
|
||
db 33,WEEZING,0
|
||
db 26,GRIMER,GRIMER,GRIMER,GRIMER,0
|
||
db 28,WEEZING,KOFFING,WEEZING,0
|
||
db 33,MUK,0
|
||
db 29,VOLTORB,VOLTORB,0
|
||
db 29,WEEZING,MUK,0
|
||
db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0
|
||
db 26,KOFFING,KOFFING,GRIMER,KOFFING,0
|
||
db 28,GRIMER,GRIMER,KOFFING,0
|
||
db 29,KOFFING,MUK,0
|
||
BurglarData:
|
||
db 29,GROWLITHE,VULPIX,0
|
||
db 33,GROWLITHE,0
|
||
db 28,VULPIX,CHARMANDER,PONYTA,0
|
||
db 36,GROWLITHE,VULPIX,NINETALES,0
|
||
db 41,PONYTA,0
|
||
db 37,VULPIX,GROWLITHE,0
|
||
db 34,CHARMANDER,CHARMELEON,0
|
||
db 38,NINETALES,0
|
||
db 34,GROWLITHE,PONYTA,0
|
||
EngineerData:
|
||
db 21,VOLTORB,MAGNEMITE,0
|
||
db 21,MAGNEMITE,0
|
||
db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0
|
||
Juggler1Data:
|
||
; none
|
||
FisherData:
|
||
db 17,GOLDEEN,TENTACOOL,GOLDEEN,0
|
||
db 17,TENTACOOL,STARYU,SHELLDER,0
|
||
db 22,GOLDEEN,POLIWAG,GOLDEEN,0
|
||
db 24,TENTACOOL,GOLDEEN,0
|
||
db 27,GOLDEEN,0
|
||
db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0
|
||
db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0
|
||
db 31,SHELLDER,CLOYSTER,0
|
||
db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0
|
||
db 33,SEAKING,GOLDEEN,0
|
||
db 24,MAGIKARP,MAGIKARP,0
|
||
SwimmerData:
|
||
db 16,HORSEA,SHELLDER,0
|
||
db 30,TENTACOOL,SHELLDER,0
|
||
db 29,GOLDEEN,HORSEA,STARYU,0
|
||
db 30,POLIWAG,POLIWHIRL,0
|
||
db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0
|
||
db 29,GOLDEEN,SHELLDER,SEAKING,0
|
||
db 30,HORSEA,HORSEA,0
|
||
db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0
|
||
db 31,SHELLDER,CLOYSTER,0
|
||
db 35,STARYU,0
|
||
db 28,HORSEA,HORSEA,SEADRA,HORSEA,0
|
||
db 33,SEADRA,TENTACRUEL,0
|
||
db 37,STARMIE,0
|
||
db 33,STARYU,WARTORTLE,0
|
||
db 32,POLIWHIRL,TENTACOOL,SEADRA,0
|
||
CueBallData:
|
||
db 28,MACHOP,MANKEY,MACHOP,0
|
||
db 29,MANKEY,MACHOP,0
|
||
db 33,MACHOP,0
|
||
db 29,MANKEY,PRIMEAPE,0
|
||
db 29,MACHOP,MACHOKE,0
|
||
db 33,MACHOKE,0
|
||
db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0
|
||
db 29,PRIMEAPE,MACHOKE,0
|
||
db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0
|
||
GamblerData:
|
||
db 18,POLIWAG,HORSEA,0
|
||
db 18,BELLSPROUT,ODDISH,0
|
||
db 18,VOLTORB,MAGNEMITE,0
|
||
db 18,GROWLITHE,VULPIX,0
|
||
db 22,POLIWAG,POLIWAG,POLIWHIRL,0
|
||
db 22,ONIX,GEODUDE,GRAVELER,0
|
||
db 24,GROWLITHE,VULPIX,0
|
||
BeautyData:
|
||
db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
|
||
db 24,BELLSPROUT,BELLSPROUT,0
|
||
db 26,EXEGGCUTE,0
|
||
db 27,RATTATA,PIKACHU,RATTATA,0
|
||
db 29,CLEFAIRY,MEOWTH,0
|
||
db 35,SEAKING,0
|
||
db 30,SHELLDER,SHELLDER,CLOYSTER,0
|
||
db 31,POLIWAG,SEAKING,0
|
||
db 29,PIDGEOTTO,WIGGLYTUFF,0
|
||
db 29,BULBASAUR,IVYSAUR,0
|
||
db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0
|
||
db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0
|
||
db 30,GOLDEEN,SEAKING,0
|
||
db 29,STARYU,STARYU,STARYU,0
|
||
db 30,SEADRA,HORSEA,SEADRA,0
|
||
PsychicData:
|
||
db 31,KADABRA,SLOWPOKE,MR__MIME,KADABRA,0
|
||
db 34,MR__MIME,KADABRA,0
|
||
db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0
|
||
db 38,SLOWBRO,0
|
||
RockerData:
|
||
db 20,VOLTORB,MAGNEMITE,VOLTORB,0
|
||
db 29,VOLTORB,ELECTRODE,0
|
||
JugglerData:
|
||
db 29,KADABRA,MR__MIME,0
|
||
db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0
|
||
db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0
|
||
db 34,DROWZEE,HYPNO,0
|
||
db 48,MR__MIME,0
|
||
db 33,HYPNO,0
|
||
db 38,HYPNO,0
|
||
db 34,DROWZEE,KADABRA,0
|
||
TamerData:
|
||
db 34,SANDSLASH,ARBOK,0
|
||
db 33,ARBOK,SANDSLASH,ARBOK,0
|
||
db 43,RHYHORN,0
|
||
db 39,ARBOK,TAUROS,0
|
||
db 44,PERSIAN,GOLDUCK,0
|
||
db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0
|
||
BirdKeeperData:
|
||
db 29,PIDGEY,PIDGEOTTO,0
|
||
db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0
|
||
db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0
|
||
db 33,FARFETCH_D,0
|
||
db 29,SPEAROW,FEAROW,0
|
||
db 26,PIDGEOTTO,FARFETCH_D,DODUO,PIDGEY,0
|
||
db 28,DODRIO,DODUO,DODUO,0
|
||
db 29,SPEAROW,FEAROW,0
|
||
db 34,DODRIO,0
|
||
db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0
|
||
db 30,FEAROW,FEAROW,PIDGEOTTO,0
|
||
db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0
|
||
db 42,FARFETCH_D,FEAROW,0
|
||
db 28,PIDGEY,DODUO,PIDGEOTTO,0
|
||
db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0
|
||
db 29,PIDGEOTTO,FEAROW,0
|
||
db 28,SPEAROW,DODUO,FEAROW,0
|
||
BlackbeltData:
|
||
db 37,HITMONLEE,HITMONCHAN,0
|
||
db 31,MANKEY,MANKEY,PRIMEAPE,0
|
||
db 32,MACHOP,MACHOKE,0
|
||
db 36,PRIMEAPE,0
|
||
db 31,MACHOP,MANKEY,PRIMEAPE,0
|
||
db 40,MACHOP,MACHOKE,0
|
||
db 43,MACHOKE,0
|
||
db 38,MACHOKE,MACHOP,MACHOKE,0
|
||
db 43,MACHOKE,MACHOP,MACHOKE,0
|
||
Green1Data:
|
||
db 5,SQUIRTLE,0
|
||
db 5,BULBASAUR,0
|
||
db 5,CHARMANDER,0
|
||
db $FF,9,PIDGEY,8,SQUIRTLE,0
|
||
db $FF,9,PIDGEY,8,BULBASAUR,0
|
||
db $FF,9,PIDGEY,8,CHARMANDER,0
|
||
db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0
|
||
db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0
|
||
db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0
|
||
ProfOakData:
|
||
db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0
|
||
db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0
|
||
db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0
|
||
ChiefData:
|
||
; none
|
||
ScientistData:
|
||
db 34,KOFFING,VOLTORB,0
|
||
db 26,GRIMER,WEEZING,KOFFING,WEEZING,0
|
||
db 28,MAGNEMITE,VOLTORB,MAGNETON,0
|
||
db 29,ELECTRODE,WEEZING,0
|
||
db 33,ELECTRODE,0
|
||
db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0
|
||
db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0
|
||
db 29,ELECTRODE,MUK,0
|
||
db 29,GRIMER,ELECTRODE,0
|
||
db 28,VOLTORB,KOFFING,MAGNETON,0
|
||
db 29,MAGNEMITE,KOFFING,0
|
||
db 33,MAGNEMITE,MAGNETON,VOLTORB,0
|
||
db 34,MAGNEMITE,ELECTRODE,0
|
||
GiovanniData:
|
||
db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0
|
||
db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0
|
||
db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0
|
||
RocketData:
|
||
db 13,RATTATA,ZUBAT,0
|
||
db 11,SANDSHREW,RATTATA,ZUBAT,0
|
||
db 12,ZUBAT,EKANS,0
|
||
db 16,RATICATE,0
|
||
db 17,MACHOP,DROWZEE,0
|
||
db 15,EKANS,ZUBAT,0
|
||
db 20,RATICATE,ZUBAT,0
|
||
db 21,DROWZEE,MACHOP,0
|
||
db 21,RATICATE,RATICATE,0
|
||
db 20,GRIMER,KOFFING,KOFFING,0
|
||
db 19,RATTATA,RATICATE,RATICATE,RATTATA,0
|
||
db 22,GRIMER,KOFFING,0
|
||
db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0
|
||
db 20,RATTATA,RATICATE,DROWZEE,0
|
||
db 21,MACHOP,MACHOP,0
|
||
db 23,SANDSHREW,EKANS,SANDSLASH,0
|
||
db 23,EKANS,SANDSHREW,ARBOK,0
|
||
db 21,KOFFING,ZUBAT,0
|
||
db 25,ZUBAT,ZUBAT,GOLBAT,0
|
||
db 26,KOFFING,DROWZEE,0
|
||
db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0
|
||
db 26,DROWZEE,KOFFING,0
|
||
db 29,CUBONE,ZUBAT,0
|
||
db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0
|
||
db 28,RATICATE,HYPNO,RATICATE,0
|
||
db 29,MACHOP,DROWZEE,0
|
||
db 28,EKANS,ZUBAT,CUBONE,0
|
||
db 33,ARBOK,0
|
||
db 33,HYPNO,0
|
||
db 29,MACHOP,MACHOKE,0
|
||
db 28,ZUBAT,ZUBAT,GOLBAT,0
|
||
db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0
|
||
db 29,CUBONE,CUBONE,0
|
||
db 29,SANDSHREW,SANDSLASH,0
|
||
db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0
|
||
db 28,WEEZING,GOLBAT,KOFFING,0
|
||
db 28,DROWZEE,GRIMER,MACHOP,0
|
||
db 28,GOLBAT,DROWZEE,HYPNO,0
|
||
db 33,MACHOKE,0
|
||
db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0
|
||
db 32,CUBONE,DROWZEE,MAROWAK,0
|
||
CooltrainerMData:
|
||
db 39,NIDORINO,NIDOKING,0
|
||
db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0
|
||
db 43,KINGLER,TENTACRUEL,BLASTOISE,0
|
||
db 45,KINGLER,STARMIE,0
|
||
db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0
|
||
db 44,IVYSAUR,WARTORTLE,CHARMELEON,0
|
||
db 49,NIDOKING,0
|
||
db 44,KINGLER,CLOYSTER,0
|
||
db 39,SANDSLASH,DUGTRIO,0
|
||
db 43,RHYHORN,0
|
||
CooltrainerFData:
|
||
db 24,WEEPINBELL,GLOOM,IVYSAUR,0
|
||
db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0
|
||
db 43,PARASECT,DEWGONG,CHANSEY,0
|
||
db 46,VILEPLUME,BUTTERFREE,0
|
||
db 44,PERSIAN,NINETALES,0
|
||
db 45,IVYSAUR,VENUSAUR,0
|
||
db 45,NIDORINA,NIDOQUEEN,0
|
||
db 43,PERSIAN,NINETALES,RAICHU,0
|
||
BrunoData:
|
||
db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0
|
||
BrockData:
|
||
db $FF,12,GEODUDE,14,ONIX,0
|
||
MistyData:
|
||
db $FF,18,STARYU,21,STARMIE,0
|
||
LtSurgeData:
|
||
db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0
|
||
ErikaData:
|
||
db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0
|
||
KogaData:
|
||
db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0
|
||
BlaineData:
|
||
db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0
|
||
SabrinaData:
|
||
db $FF,38,KADABRA,37,MR__MIME,38,VENOMOTH,43,ALAKAZAM,0
|
||
GentlemanData:
|
||
db 18,GROWLITHE,GROWLITHE,0
|
||
db 19,NIDORAN_M,NIDORAN_F,0
|
||
db 23,PIKACHU,0
|
||
db 48,PRIMEAPE,0
|
||
db 17,GROWLITHE,PONYTA,0
|
||
Green2Data:
|
||
db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0
|
||
db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0
|
||
db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0
|
||
db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0
|
||
db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0
|
||
db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0
|
||
db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0
|
||
db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0
|
||
db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0
|
||
db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM ;\
|
||
db 53,BLASTOISE,0
|
||
db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM ;\
|
||
db 53,VENUSAUR,0
|
||
db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM ;\
|
||
db 53,CHARIZARD,0
|
||
Green3Data:
|
||
db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR ;\
|
||
db 65,BLASTOISE,0
|
||
db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE ;\
|
||
db 65,VENUSAUR,0
|
||
db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS ;\
|
||
db 65,CHARIZARD,0
|
||
LoreleiData:
|
||
db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0
|
||
ChannelerData:
|
||
db 22,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 23,GASTLY,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 23,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 24,HAUNTER,0
|
||
db 22,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 23,GASTLY,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 22,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 23,HAUNTER,0
|
||
db 24,GASTLY,0
|
||
db 22,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 22,HAUNTER,0
|
||
db 22,GASTLY,GASTLY,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 24,GASTLY,0
|
||
db 34,GASTLY,HAUNTER,0
|
||
db 38,HAUNTER,0
|
||
db 33,GASTLY,GASTLY,HAUNTER,0
|
||
AgathaData:
|
||
db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0
|
||
LanceData:
|
||
db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL ;\
|
||
db 62,DRAGONITE,0
|
||
|
||
TrainerAI: ; 652E
|
||
;XXX called at 34964, 3c342, 3c398
|
||
and a
|
||
ld a,[W_ISTRAINERBATTLE]
|
||
dec a
|
||
ret z ; if not a trainer, we're done here
|
||
ld a,[W_ISLINKBATTLE]
|
||
cp 4
|
||
ret z
|
||
ld a,[W_TRAINERCLASS] ; what trainer class is this?
|
||
dec a
|
||
ld c,a
|
||
ld b,0
|
||
ld hl,TrainerAIPointers
|
||
add hl,bc
|
||
add hl,bc
|
||
add hl,bc
|
||
ld a,[$CCDF] ; XXX 340b0,3a548,3a553,3a696,3c943,3ef74
|
||
and a
|
||
ret z ; if XXX, we're done here
|
||
inc hl
|
||
inc a
|
||
jr nz,.getpointer\@
|
||
dec hl
|
||
ld a,[hli]
|
||
ld [$CCDF],a
|
||
.getpointer\@
|
||
ld a,[hli]
|
||
ld h,[hl]
|
||
ld l,a
|
||
call $3E5C
|
||
jp [hl]
|
||
|
||
TrainerAIPointers: ; 655C
|
||
; one entry per trainer class
|
||
; XXX first byte, ???
|
||
; next two bytes, pointer to AI subroutine for trainer class
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,JugglerAI ; juggler_x
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 3,JugglerAI ; juggler
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 2,BlackbeltAI ; blackbelt
|
||
dbw 3,GenericAI
|
||
dbw 3,GenericAI
|
||
dbw 1,GenericAI ; chief
|
||
dbw 3,GenericAI
|
||
dbw 1,GiovanniAI ; giovanni
|
||
dbw 3,GenericAI
|
||
dbw 2,CooltrainerMAI ; cooltrainerm
|
||
dbw 1,CooltrainerFAI ; cooltrainerf
|
||
dbw 2,BrunoAI ; bruno
|
||
dbw 5,BrockAI ; brock
|
||
dbw 1,MistyAI ; misty
|
||
dbw 1,LtSurgeAI ; surge
|
||
dbw 1,ErikaAI ; erika
|
||
dbw 2,KogaAI ; koga
|
||
dbw 2,BlaineAI ; blaine
|
||
dbw 1,SabrinaAI ; sabrina
|
||
dbw 3,GenericAI
|
||
dbw 1,Sony2AI ; sony2
|
||
dbw 1,Sony3AI ; sony3
|
||
dbw 2,LoreleiAI ; lorelei
|
||
dbw 3,GenericAI
|
||
dbw 2,AgathaAI ; agatha
|
||
dbw 1,LanceAI ; lance
|
||
|
||
JugglerAI:
|
||
cp $40
|
||
ret nc
|
||
jp $672A
|
||
|
||
BlackbeltAI:
|
||
cp $20
|
||
ret nc
|
||
jp AIUseXAttack
|
||
|
||
GiovanniAI:
|
||
cp $40
|
||
ret nc
|
||
jp AIUseGuardSpec
|
||
|
||
CooltrainerMAI:
|
||
cp $40
|
||
ret nc
|
||
jp AIUseXAttack
|
||
|
||
CooltrainerFAI:
|
||
cp $40
|
||
ld a,$A
|
||
call $67CF
|
||
jp c,AIUseHyperPotion
|
||
ld a,5
|
||
call $67CF
|
||
ret nc
|
||
jp $672A
|
||
|
||
BrockAI:
|
||
; if his active monster has a status condition, use a full heal
|
||
ld a,[W_OPPONENTSTATUS]
|
||
and a
|
||
ret z
|
||
jp AIUseFullHeal
|
||
|
||
MistyAI:
|
||
cp $40
|
||
ret nc
|
||
jp AIUseXDefend
|
||
|
||
LtSurgeAI:
|
||
cp $40
|
||
ret nc
|
||
jp AIUseXSpeed
|
||
|
||
ErikaAI:
|
||
cp $80
|
||
ret nc
|
||
ld a,$A
|
||
call $67CF
|
||
ret nc
|
||
jp AIUseSuperPotion
|
||
|
||
KogaAI:
|
||
cp $40
|
||
ret nc
|
||
jp AIUseXAttack
|
||
|
||
BlaineAI:
|
||
cp $40
|
||
ret nc
|
||
jp AIUseSuperPotion
|
||
|
||
SabrinaAI:
|
||
cp $40
|
||
ret nc
|
||
ld a,$A
|
||
call $67CF
|
||
ret nc
|
||
jp AIUseHyperPotion
|
||
|
||
Sony2AI:
|
||
cp $20
|
||
ret nc
|
||
ld a,5
|
||
call $67CF
|
||
ret nc
|
||
jp AIUsePotion
|
||
|
||
Sony3AI:
|
||
cp $20
|
||
ret nc
|
||
ld a,5
|
||
call $67CF
|
||
ret nc
|
||
jp AIUseFullRestore
|
||
|
||
LoreleiAI:
|
||
cp $80
|
||
ret nc
|
||
ld a,5
|
||
call $67CF
|
||
ret nc
|
||
jp AIUseSuperPotion
|
||
|
||
BrunoAI:
|
||
cp $40
|
||
ret nc
|
||
jp AIUseXDefend
|
||
|
||
AgathaAI:
|
||
cp $14
|
||
jp c,$672A
|
||
cp $80
|
||
ret nc
|
||
ld a,4
|
||
call $67CF
|
||
ret nc
|
||
jp AIUseSuperPotion
|
||
|
||
LanceAI:
|
||
cp $80
|
||
ret nc
|
||
ld a,5
|
||
call $67CF
|
||
ret nc
|
||
jp AIUseHyperPotion
|
||
|
||
GenericAI:
|
||
and a
|
||
ret
|
||
|
||
; end of individual trainer AI routines
|
||
|
||
Function6695: ; 6695
|
||
; XXX what does this do
|
||
ld hl,$CCDF
|
||
dec [hl]
|
||
scf
|
||
ret
|
||
|
||
Function669B: ; 669B
|
||
; XXX what does this do
|
||
ld a,$8E
|
||
jp $3740
|
||
|
||
AIUseFullRestore:
|
||
call AICureStatus
|
||
ld a,FULL_RESTORE
|
||
ld [$CF05],a
|
||
ld de,$CEEB
|
||
ld hl,$CFE7
|
||
ld a,[hld]
|
||
ld [de],a
|
||
inc de
|
||
ld a,[hl]
|
||
ld [de],a
|
||
inc de
|
||
ld hl,$CFF5
|
||
ld a,[hld]
|
||
ld [de],a
|
||
inc de
|
||
ld [$CEE9],a
|
||
ld [$CFE7],a
|
||
ld a,[hl]
|
||
ld [de],a
|
||
ld [$CEEA],a
|
||
ld [W_OPPONENTHP],a
|
||
jr Function6718
|
||
|
||
AIUsePotion:
|
||
; enemy trainer heals his monster with a potion
|
||
ld a,POTION
|
||
ld b,20
|
||
jr AIRecoverHP
|
||
|
||
AIUseSuperPotion:
|
||
; enemy trainer heals his monster with a super potion
|
||
ld a,SUPER_POTION
|
||
ld b,50
|
||
jr AIRecoverHP
|
||
|
||
AIUseHyperPotion:
|
||
; enemy trainer heals his monster with a hyper potion
|
||
ld a,HYPER_POTION
|
||
ld b,200
|
||
; fallthrough
|
||
|
||
AIRecoverHP: ; 66DA
|
||
; heal b HP and print "trainer used $(a) on pokemon!"
|
||
ld [$CF05],a
|
||
ld hl,$CFE7
|
||
ld a,[hl]
|
||
ld [$CEEB],a
|
||
add b
|
||
ld [hld],a
|
||
ld [$CEED],a
|
||
ld a,[hl]
|
||
ld [$CEEC],a
|
||
ld [$CEEE],a
|
||
jr nc,.next\@
|
||
inc a
|
||
ld [hl],a
|
||
ld [$CEEE],a
|
||
.next\@
|
||
inc hl
|
||
ld a,[hld]
|
||
ld b,a
|
||
ld de,$CFF5
|
||
ld a,[de]
|
||
dec de
|
||
ld [$CEE9],a
|
||
sub b
|
||
ld a,[hli]
|
||
ld b,a
|
||
ld a,[de]
|
||
ld [$CEEA],a
|
||
sbc b
|
||
jr nc,Function6718
|
||
inc de
|
||
ld a,[de]
|
||
dec de
|
||
ld [hld],a
|
||
ld [$CEED],a
|
||
ld a,[de]
|
||
ld [hl],a
|
||
ld [$CEEE],a
|
||
; fallthrough
|
||
|
||
Function6718: ; 6718
|
||
call AIPrintItemUse_
|
||
ld hl,$C3CA
|
||
xor a
|
||
ld [$CF94],a
|
||
ld a,$48
|
||
call Predef
|
||
jp $6695
|
||
|
||
Function672A: ; 672A
|
||
ld a,[W_ENEMYMONCOUNT]
|
||
ld c,a
|
||
ld hl,W_ENEMYMON1HP
|
||
|
||
ld d,0 ; keep count of unfainted monsters
|
||
|
||
; count how many monsters haven't fainted yet
|
||
.loop\@
|
||
ld a,[hli]
|
||
ld b,a
|
||
ld a,[hld]
|
||
or b
|
||
jr z,.Fainted\@ ; has monster fainted?
|
||
inc d
|
||
.Fainted\@
|
||
push bc
|
||
ld bc,$2C
|
||
add hl,bc
|
||
pop bc
|
||
dec c
|
||
jr nz,.loop\@
|
||
|
||
ld a,d ; how many available monsters are there?
|
||
cp 2 ; don't bother if only 1 or 2
|
||
jp nc,Function674B ; XXX check, does this jump when a = 2?
|
||
and a
|
||
ret
|
||
|
||
Function674B: ; 674B
|
||
|
||
; prepare to withdraw the active monster: copy hp, number, and status to roster
|
||
|
||
ld a,[W_OPPONENTNUMBER]
|
||
ld hl,W_ENEMYMON1HP
|
||
ld bc,$2C
|
||
call AddNTimes
|
||
ld d,h
|
||
ld e,l
|
||
ld hl,W_OPPONENTHP
|
||
ld bc,4
|
||
call CopyData
|
||
|
||
ld hl,AIBattleWithdrawText
|
||
call PrintText
|
||
|
||
ld a,1
|
||
ld [$D11D],a
|
||
ld hl,EnemySendOut
|
||
ld b,BANK(EnemySendOut)
|
||
call Bankswitch
|
||
xor a
|
||
ld [$D11D],a
|
||
|
||
ld a,[W_ISLINKBATTLE]
|
||
cp 4
|
||
ret z
|
||
scf
|
||
ret
|
||
|
||
AIBattleWithdrawText:
|
||
TX_FAR _AIBattleWithdrawText
|
||
TX_NULL
|
||
|
||
AIUseFullHeal:
|
||
call $669B
|
||
call AICureStatus
|
||
ld a,FULL_HEAL
|
||
jp AIPrintItemUse
|
||
|
||
AICureStatus:
|
||
; cures the status of enemy's active pokemon
|
||
ld a,[W_OPPONENTNUMBER]
|
||
ld hl,$D8A8
|
||
ld bc,$2C
|
||
call AddNTimes
|
||
xor a
|
||
ld [hl],a ; clear status in enemy team roster
|
||
ld [W_OPPONENTSTATUS],a ; clear status of active enemy
|
||
ld hl,$D069
|
||
res 0,[hl]
|
||
ret
|
||
|
||
AIUseXAccuracy: ; unused
|
||
call $669B
|
||
ld hl,$D068
|
||
set 0,[hl]
|
||
ld a,X_ACCURACY
|
||
jp AIPrintItemUse
|
||
|
||
AIUseGuardSpec:
|
||
call $669B
|
||
ld hl,$D068
|
||
set 1,[hl]
|
||
ld a,GUARD_SPEC_
|
||
jp AIPrintItemUse
|
||
|
||
AIUseDireHit: ; unused
|
||
call $669B
|
||
ld hl,$D068
|
||
set 2,[hl]
|
||
ld a,DIRE_HIT
|
||
jp AIPrintItemUse
|
||
|
||
Function67CF: ; 67CF
|
||
ld [$FF99],a
|
||
ld hl,$CFF4
|
||
ld a,[hli]
|
||
ld [$FF95],a
|
||
ld a,[hl]
|
||
ld [$FF96],a
|
||
ld b,2
|
||
call $38B9
|
||
ld a,[$FF98]
|
||
ld c,a
|
||
ld a,[$FF97]
|
||
ld b,a
|
||
ld hl,$CFE7
|
||
ld a,[hld]
|
||
ld e,a
|
||
ld a,[hl]
|
||
ld d,a
|
||
ld a,d
|
||
sub b
|
||
ret nz
|
||
ld a,e
|
||
sub c
|
||
ret
|
||
|
||
AIUseXAttack:
|
||
ld b,$A
|
||
ld a,X_ATTACK
|
||
jr AIIncreaseStat
|
||
|
||
AIUseXDefend:
|
||
ld b,$B
|
||
ld a,X_DEFEND
|
||
jr AIIncreaseStat
|
||
|
||
AIUseXSpeed:
|
||
ld b,$C
|
||
ld a,X_SPEED
|
||
jr AIIncreaseStat
|
||
|
||
AIUseXSpecial:
|
||
ld b,$D
|
||
ld a,X_SPECIAL
|
||
; fallthrough
|
||
|
||
AIIncreaseStat:
|
||
ld [$CF05],a
|
||
push bc
|
||
call AIPrintItemUse_
|
||
pop bc
|
||
ld hl,$CFCD
|
||
ld a,[hld]
|
||
push af
|
||
ld a,[hl]
|
||
push af
|
||
push hl
|
||
ld a,$AF
|
||
ld [hli],a
|
||
ld [hl],b
|
||
ld hl,$7428
|
||
ld b,$F
|
||
call Bankswitch
|
||
pop hl
|
||
pop af
|
||
ld [hli],a
|
||
pop af
|
||
ld [hl],a
|
||
jp $6695
|
||
|
||
AIPrintItemUse:
|
||
ld [$CF05],a
|
||
call AIPrintItemUse_
|
||
jp $6695
|
||
|
||
AIPrintItemUse_:
|
||
; print "x used [$CF05] on z!"
|
||
ld a,[$CF05]
|
||
ld [$D11E],a
|
||
call GetItemName
|
||
ld hl,AIBattleUseItemText
|
||
jp PrintText
|
||
|
||
AIBattleUseItemText:
|
||
TX_FAR _AIBattleUseItemText
|
||
TX_NULL
|
||
|
||
|
||
INCBIN "baserom.gbc",$3A849,$3B05C - $3A849
|
||
|
||
EvosAttacksPointerTable: ; 705C
|
||
dw Mon112_EvosAttacks
|
||
dw Mon115_EvosAttacks
|
||
dw Mon032_EvosAttacks
|
||
dw Mon035_EvosAttacks
|
||
dw Mon021_EvosAttacks
|
||
dw Mon100_EvosAttacks
|
||
dw Mon034_EvosAttacks
|
||
dw Mon080_EvosAttacks
|
||
dw Mon002_EvosAttacks
|
||
dw Mon103_EvosAttacks
|
||
dw Mon108_EvosAttacks
|
||
dw Mon102_EvosAttacks
|
||
dw Mon088_EvosAttacks
|
||
dw Mon094_EvosAttacks
|
||
dw Mon029_EvosAttacks
|
||
dw Mon031_EvosAttacks
|
||
dw Mon104_EvosAttacks
|
||
dw Mon111_EvosAttacks
|
||
dw Mon131_EvosAttacks
|
||
dw Mon059_EvosAttacks
|
||
dw Mon151_EvosAttacks
|
||
dw Mon130_EvosAttacks
|
||
dw Mon090_EvosAttacks
|
||
dw Mon072_EvosAttacks
|
||
dw Mon092_EvosAttacks
|
||
dw Mon123_EvosAttacks
|
||
dw Mon120_EvosAttacks
|
||
dw Mon009_EvosAttacks
|
||
dw Mon127_EvosAttacks
|
||
dw Mon114_EvosAttacks
|
||
dw Mon152_EvosAttacks ;MissingNo
|
||
dw Mon153_EvosAttacks ;MissingNo
|
||
dw Mon058_EvosAttacks
|
||
dw Mon095_EvosAttacks
|
||
dw Mon022_EvosAttacks
|
||
dw Mon016_EvosAttacks
|
||
dw Mon079_EvosAttacks
|
||
dw Mon064_EvosAttacks
|
||
dw Mon075_EvosAttacks
|
||
dw Mon113_EvosAttacks
|
||
dw Mon067_EvosAttacks
|
||
dw Mon122_EvosAttacks
|
||
dw Mon106_EvosAttacks
|
||
dw Mon107_EvosAttacks
|
||
dw Mon024_EvosAttacks
|
||
dw Mon047_EvosAttacks
|
||
dw Mon054_EvosAttacks
|
||
dw Mon096_EvosAttacks
|
||
dw Mon076_EvosAttacks
|
||
dw Mon154_EvosAttacks ;MissingNo
|
||
dw Mon126_EvosAttacks
|
||
dw Mon155_EvosAttacks ;MissingNo
|
||
dw Mon125_EvosAttacks
|
||
dw Mon082_EvosAttacks
|
||
dw Mon109_EvosAttacks
|
||
dw Mon156_EvosAttacks ;MissingNo
|
||
dw Mon056_EvosAttacks
|
||
dw Mon086_EvosAttacks
|
||
dw Mon050_EvosAttacks
|
||
dw Mon128_EvosAttacks
|
||
dw Mon157_EvosAttacks ;MissingNo
|
||
dw Mon158_EvosAttacks ;MissingNo
|
||
dw Mon159_EvosAttacks ;MissingNo
|
||
dw Mon083_EvosAttacks
|
||
dw Mon048_EvosAttacks
|
||
dw Mon149_EvosAttacks
|
||
dw Mon160_EvosAttacks ;MissingNo
|
||
dw Mon161_EvosAttacks ;MissingNo
|
||
dw Mon162_EvosAttacks ;MissingNo
|
||
dw Mon084_EvosAttacks
|
||
dw Mon060_EvosAttacks
|
||
dw Mon124_EvosAttacks
|
||
dw Mon146_EvosAttacks
|
||
dw Mon144_EvosAttacks
|
||
dw Mon145_EvosAttacks
|
||
dw Mon132_EvosAttacks
|
||
dw Mon052_EvosAttacks
|
||
dw Mon098_EvosAttacks
|
||
dw Mon163_EvosAttacks ;MissingNo
|
||
dw Mon164_EvosAttacks ;MissingNo
|
||
dw Mon165_EvosAttacks ;MissingNo
|
||
dw Mon037_EvosAttacks
|
||
dw Mon038_EvosAttacks
|
||
dw Mon025_EvosAttacks
|
||
dw Mon026_EvosAttacks
|
||
dw Mon166_EvosAttacks ;MissingNo
|
||
dw Mon167_EvosAttacks ;MissingNo
|
||
dw Mon147_EvosAttacks
|
||
dw Mon148_EvosAttacks
|
||
dw Mon140_EvosAttacks
|
||
dw Mon141_EvosAttacks
|
||
dw Mon116_EvosAttacks
|
||
dw Mon117_EvosAttacks
|
||
dw Mon168_EvosAttacks ;MissingNo
|
||
dw Mon169_EvosAttacks ;MissingNo
|
||
dw Mon027_EvosAttacks
|
||
dw Mon028_EvosAttacks
|
||
dw Mon138_EvosAttacks
|
||
dw Mon139_EvosAttacks
|
||
dw Mon039_EvosAttacks
|
||
dw Mon040_EvosAttacks
|
||
dw Mon133_EvosAttacks
|
||
dw Mon136_EvosAttacks
|
||
dw Mon135_EvosAttacks
|
||
dw Mon134_EvosAttacks
|
||
dw Mon066_EvosAttacks
|
||
dw Mon041_EvosAttacks
|
||
dw Mon023_EvosAttacks
|
||
dw Mon046_EvosAttacks
|
||
dw Mon061_EvosAttacks
|
||
dw Mon062_EvosAttacks
|
||
dw Mon013_EvosAttacks
|
||
dw Mon014_EvosAttacks
|
||
dw Mon015_EvosAttacks
|
||
dw Mon170_EvosAttacks ;MissingNo
|
||
dw Mon085_EvosAttacks
|
||
dw Mon057_EvosAttacks
|
||
dw Mon051_EvosAttacks
|
||
dw Mon049_EvosAttacks
|
||
dw Mon087_EvosAttacks
|
||
dw Mon171_EvosAttacks ;MissingNo
|
||
dw Mon172_EvosAttacks ;MissingNo
|
||
dw Mon010_EvosAttacks
|
||
dw Mon011_EvosAttacks
|
||
dw Mon012_EvosAttacks
|
||
dw Mon068_EvosAttacks
|
||
dw Mon173_EvosAttacks ;MissingNo
|
||
dw Mon055_EvosAttacks
|
||
dw Mon097_EvosAttacks
|
||
dw Mon042_EvosAttacks
|
||
dw Mon150_EvosAttacks
|
||
dw Mon143_EvosAttacks
|
||
dw Mon129_EvosAttacks
|
||
dw Mon174_EvosAttacks ;MissingNo
|
||
dw Mon175_EvosAttacks ;MissingNo
|
||
dw Mon089_EvosAttacks
|
||
dw Mon176_EvosAttacks ;MissingNo
|
||
dw Mon099_EvosAttacks
|
||
dw Mon091_EvosAttacks
|
||
dw Mon177_EvosAttacks ;MissingNo
|
||
dw Mon101_EvosAttacks
|
||
dw Mon036_EvosAttacks
|
||
dw Mon110_EvosAttacks
|
||
dw Mon053_EvosAttacks
|
||
dw Mon105_EvosAttacks
|
||
dw Mon178_EvosAttacks ;MissingNo
|
||
dw Mon093_EvosAttacks
|
||
dw Mon063_EvosAttacks
|
||
dw Mon065_EvosAttacks
|
||
dw Mon017_EvosAttacks
|
||
dw Mon018_EvosAttacks
|
||
dw Mon121_EvosAttacks
|
||
dw Mon001_EvosAttacks
|
||
dw Mon003_EvosAttacks
|
||
dw Mon073_EvosAttacks
|
||
dw Mon179_EvosAttacks ;MissingNo
|
||
dw Mon118_EvosAttacks
|
||
dw Mon119_EvosAttacks
|
||
dw Mon180_EvosAttacks ;MissingNo
|
||
dw Mon181_EvosAttacks ;MissingNo
|
||
dw Mon182_EvosAttacks ;MissingNo
|
||
dw Mon183_EvosAttacks ;MissingNo
|
||
dw Mon077_EvosAttacks
|
||
dw Mon078_EvosAttacks
|
||
dw Mon019_EvosAttacks
|
||
dw Mon020_EvosAttacks
|
||
dw Mon033_EvosAttacks
|
||
dw Mon030_EvosAttacks
|
||
dw Mon074_EvosAttacks
|
||
dw Mon137_EvosAttacks
|
||
dw Mon142_EvosAttacks
|
||
dw Mon184_EvosAttacks ;MissingNo
|
||
dw Mon081_EvosAttacks
|
||
dw Mon185_EvosAttacks ;MissingNo
|
||
dw Mon186_EvosAttacks ;MissingNo
|
||
dw Mon004_EvosAttacks
|
||
dw Mon007_EvosAttacks
|
||
dw Mon005_EvosAttacks
|
||
dw Mon008_EvosAttacks
|
||
dw Mon006_EvosAttacks
|
||
dw Mon187_EvosAttacks ;MissingNo
|
||
dw Mon188_EvosAttacks ;MissingNo
|
||
dw Mon189_EvosAttacks ;MissingNo
|
||
dw Mon190_EvosAttacks ;MissingNo
|
||
dw Mon043_EvosAttacks
|
||
dw Mon044_EvosAttacks
|
||
dw Mon045_EvosAttacks
|
||
dw Mon069_EvosAttacks
|
||
dw Mon070_EvosAttacks
|
||
dw Mon071_EvosAttacks
|
||
|
||
Mon112_EvosAttacks:
|
||
;RHYDON
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 30,STOMP
|
||
db 35,TAIL_WHIP
|
||
db 40,FURY_ATTACK
|
||
db 48,HORN_DRILL
|
||
db 55,LEER
|
||
db 64,TAKE_DOWN
|
||
db 0
|
||
Mon115_EvosAttacks:
|
||
;KANGASKHAN
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 26,BITE
|
||
db 31,TAIL_WHIP
|
||
db 36,MEGA_PUNCH
|
||
db 41,LEER
|
||
db 46,DIZZY_PUNCH
|
||
db 0
|
||
Mon032_EvosAttacks:
|
||
;NIDORAN_M
|
||
;Evolutions
|
||
db EV_LEVEL,16,NIDORINO
|
||
db 0
|
||
;Learnset
|
||
db 8,HORN_ATTACK
|
||
db 14,POISON_STING
|
||
db 21,FOCUS_ENERGY
|
||
db 29,FURY_ATTACK
|
||
db 36,HORN_DRILL
|
||
db 43,DOUBLE_KICK
|
||
db 0
|
||
Mon035_EvosAttacks:
|
||
;CLEFAIRY
|
||
;Evolutions
|
||
db EV_ITEM,MOON_STONE,1,CLEFABLE
|
||
db 0
|
||
;Learnset
|
||
db 13,SING
|
||
db 18,DOUBLESLAP
|
||
db 24,MINIMIZE
|
||
db 31,METRONOME
|
||
db 39,DEFENSE_CURL
|
||
db 48,LIGHT_SCREEN
|
||
db 0
|
||
Mon021_EvosAttacks:
|
||
;SPEAROW
|
||
;Evolutions
|
||
db EV_LEVEL,20,FEAROW
|
||
db 0
|
||
;Learnset
|
||
db 9,LEER
|
||
db 15,FURY_ATTACK
|
||
db 22,MIRROR_MOVE
|
||
db 29,DRILL_PECK
|
||
db 36,AGILITY
|
||
db 0
|
||
Mon100_EvosAttacks:
|
||
;VOLTORB
|
||
;Evolutions
|
||
db EV_LEVEL,30,ELECTRODE
|
||
db 0
|
||
;Learnset
|
||
db 17,SONICBOOM
|
||
db 22,SELFDESTRUCT
|
||
db 29,LIGHT_SCREEN
|
||
db 36,SWIFT
|
||
db 43,EXPLOSION
|
||
db 0
|
||
Mon034_EvosAttacks:
|
||
;NIDOKING
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 8,HORN_ATTACK
|
||
db 14,POISON_STING
|
||
db 23,THRASH
|
||
db 0
|
||
Mon080_EvosAttacks:
|
||
;SLOWBRO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 18,DISABLE
|
||
db 22,HEADBUTT
|
||
db 27,GROWL
|
||
db 33,WATER_GUN
|
||
db 37,WITHDRAW
|
||
db 44,AMNESIA
|
||
db 55,PSYCHIC_M
|
||
db 0
|
||
Mon002_EvosAttacks:
|
||
;IVYSAUR
|
||
;Evolutions
|
||
db EV_LEVEL,32,VENUSAUR
|
||
db 0
|
||
;Learnset
|
||
db 7,LEECH_SEED
|
||
db 13,VINE_WHIP
|
||
db 22,POISONPOWDER
|
||
db 30,RAZOR_LEAF
|
||
db 38,GROWTH
|
||
db 46,SLEEP_POWDER
|
||
db 54,SOLARBEAM
|
||
db 0
|
||
Mon103_EvosAttacks:
|
||
;EXEGGUTOR
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 28,STOMP
|
||
db 0
|
||
Mon108_EvosAttacks:
|
||
;LICKITUNG
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 7,STOMP
|
||
db 15,DISABLE
|
||
db 23,DEFENSE_CURL
|
||
db 31,SLAM
|
||
db 39,SCREECH
|
||
db 0
|
||
Mon102_EvosAttacks:
|
||
;EXEGGCUTE
|
||
;Evolutions
|
||
db EV_ITEM,LEAF_STONE ,1,EXEGGUTOR
|
||
db 0
|
||
;Learnset
|
||
db 25,REFLECT
|
||
db 28,LEECH_SEED
|
||
db 32,STUN_SPORE
|
||
db 37,POISONPOWDER
|
||
db 42,SOLARBEAM
|
||
db 48,SLEEP_POWDER
|
||
db 0
|
||
Mon088_EvosAttacks:
|
||
;GRIMER
|
||
;Evolutions
|
||
db EV_LEVEL,38,MUK
|
||
db 0
|
||
;Learnset
|
||
db 30,POISON_GAS
|
||
db 33,MINIMIZE
|
||
db 37,SLUDGE
|
||
db 42,HARDEN
|
||
db 48,SCREECH
|
||
db 55,ACID_ARMOR
|
||
db 0
|
||
Mon094_EvosAttacks:
|
||
;GENGAR
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 29,HYPNOSIS
|
||
db 38,DREAM_EATER
|
||
db 0
|
||
Mon029_EvosAttacks:
|
||
;NIDORAN_F
|
||
;Evolutions
|
||
db EV_LEVEL,16,NIDORINA
|
||
db 0
|
||
;Learnset
|
||
db 8,SCRATCH
|
||
db 14,POISON_STING
|
||
db 21,TAIL_WHIP
|
||
db 29,BITE
|
||
db 36,FURY_SWIPES
|
||
db 43,DOUBLE_KICK
|
||
db 0
|
||
Mon031_EvosAttacks:
|
||
;NIDOQUEEN
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 8,SCRATCH
|
||
db 14,POISON_STING
|
||
db 23,BODY_SLAM
|
||
db 0
|
||
Mon104_EvosAttacks:
|
||
;CUBONE
|
||
;Evolutions
|
||
db EV_LEVEL,28,MAROWAK
|
||
db 0
|
||
;Learnset
|
||
db 25,LEER
|
||
db 31,FOCUS_ENERGY
|
||
db 38,THRASH
|
||
db 43,BONEMERANG
|
||
db 46,RAGE
|
||
db 0
|
||
Mon111_EvosAttacks:
|
||
;RHYHORN
|
||
;Evolutions
|
||
db EV_LEVEL,42,RHYDON
|
||
db 0
|
||
;Learnset
|
||
db 30,STOMP
|
||
db 35,TAIL_WHIP
|
||
db 40,FURY_ATTACK
|
||
db 45,HORN_DRILL
|
||
db 50,LEER
|
||
db 55,TAKE_DOWN
|
||
db 0
|
||
Mon131_EvosAttacks:
|
||
;LAPRAS
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 16,SING
|
||
db 20,MIST
|
||
db 25,BODY_SLAM
|
||
db 31,CONFUSE_RAY
|
||
db 38,ICE_BEAM
|
||
db 46,HYDRO_PUMP
|
||
db 0
|
||
Mon059_EvosAttacks:
|
||
;ARCANINE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon151_EvosAttacks:
|
||
;MEW
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 10,TRANSFORM
|
||
db 20,MEGA_PUNCH
|
||
db 30,METRONOME
|
||
db 40,PSYCHIC_M
|
||
db 0
|
||
Mon130_EvosAttacks:
|
||
;GYARADOS
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 20,BITE
|
||
db 25,DRAGON_RAGE
|
||
db 32,LEER
|
||
db 41,HYDRO_PUMP
|
||
db 52,HYPER_BEAM
|
||
db 0
|
||
Mon090_EvosAttacks:
|
||
;SHELLDER
|
||
;Evolutions
|
||
db EV_ITEM,WATER_STONE ,1,CLOYSTER
|
||
db 0
|
||
;Learnset
|
||
db 18,SUPERSONIC
|
||
db 23,CLAMP
|
||
db 30,AURORA_BEAM
|
||
db 39,LEER
|
||
db 50,ICE_BEAM
|
||
db 0
|
||
Mon072_EvosAttacks:
|
||
;TENTACOOL
|
||
;Evolutions
|
||
db EV_LEVEL,30,TENTACRUEL
|
||
db 0
|
||
;Learnset
|
||
db 7,SUPERSONIC
|
||
db 13,WRAP
|
||
db 18,POISON_STING
|
||
db 22,WATER_GUN
|
||
db 27,CONSTRICT
|
||
db 33,BARRIER
|
||
db 40,SCREECH
|
||
db 48,HYDRO_PUMP
|
||
db 0
|
||
Mon092_EvosAttacks:
|
||
;GASTLY
|
||
;Evolutions
|
||
db EV_LEVEL,25,HAUNTER
|
||
db 0
|
||
;Learnset
|
||
db 27,HYPNOSIS
|
||
db 35,DREAM_EATER
|
||
db 0
|
||
Mon123_EvosAttacks:
|
||
;SCYTHER
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 17,LEER
|
||
db 20,FOCUS_ENERGY
|
||
db 24,DOUBLE_TEAM
|
||
db 29,SLASH
|
||
db 35,SWORDS_DANCE
|
||
db 42,AGILITY
|
||
db 0
|
||
Mon120_EvosAttacks:
|
||
;STARYU
|
||
;Evolutions
|
||
db EV_ITEM,WATER_STONE ,1,STARMIE
|
||
db 0
|
||
;Learnset
|
||
db 17,WATER_GUN
|
||
db 22,HARDEN
|
||
db 27,RECOVER
|
||
db 32,SWIFT
|
||
db 37,MINIMIZE
|
||
db 42,LIGHT_SCREEN
|
||
db 47,HYDRO_PUMP
|
||
db 0
|
||
Mon009_EvosAttacks:
|
||
;BLASTOISE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 8,BUBBLE
|
||
db 15,WATER_GUN
|
||
db 24,BITE
|
||
db 31,WITHDRAW
|
||
db 42,SKULL_BASH
|
||
db 52,HYDRO_PUMP
|
||
db 0
|
||
Mon127_EvosAttacks:
|
||
;PINSIR
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 25,SEISMIC_TOSS
|
||
db 30,GUILLOTINE
|
||
db 36,FOCUS_ENERGY
|
||
db 43,HARDEN
|
||
db 49,SLASH
|
||
db 54,SWORDS_DANCE
|
||
db 0
|
||
Mon114_EvosAttacks:
|
||
;TANGELA
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 29,ABSORB
|
||
db 32,POISONPOWDER
|
||
db 36,STUN_SPORE
|
||
db 39,SLEEP_POWDER
|
||
db 45,SLAM
|
||
db 49,GROWTH
|
||
db 0
|
||
|
||
Mon152_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon153_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon058_EvosAttacks:
|
||
;GROWLITHE
|
||
;Evolutions
|
||
db EV_ITEM,FIRE_STONE,1,ARCANINE
|
||
db 0
|
||
;Learnset
|
||
db 18,EMBER
|
||
db 23,LEER
|
||
db 30,TAKE_DOWN
|
||
db 39,AGILITY
|
||
db 50,FLAMETHROWER
|
||
db 0
|
||
Mon095_EvosAttacks:
|
||
;ONIX
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 15,BIND
|
||
db 19,ROCK_THROW
|
||
db 25,RAGE
|
||
db 33,SLAM
|
||
db 43,HARDEN
|
||
db 0
|
||
Mon022_EvosAttacks:
|
||
;FEAROW
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 9,LEER
|
||
db 15,FURY_ATTACK
|
||
db 25,MIRROR_MOVE
|
||
db 34,DRILL_PECK
|
||
db 43,AGILITY
|
||
db 0
|
||
Mon016_EvosAttacks:
|
||
;PIDGEY
|
||
;Evolutions
|
||
db EV_LEVEL,18,PIDGEOTTO
|
||
db 0
|
||
;Learnset
|
||
db 5,SAND_ATTACK
|
||
db 12,QUICK_ATTACK
|
||
db 19,WHIRLWIND
|
||
db 28,WING_ATTACK
|
||
db 36,AGILITY
|
||
db 44,MIRROR_MOVE
|
||
db 0
|
||
Mon079_EvosAttacks:
|
||
;SLOWPOKE
|
||
;Evolutions
|
||
db EV_LEVEL,37,SLOWBRO
|
||
db 0
|
||
;Learnset
|
||
db 18,DISABLE
|
||
db 22,HEADBUTT
|
||
db 27,GROWL
|
||
db 33,WATER_GUN
|
||
db 40,AMNESIA
|
||
db 48,PSYCHIC_M
|
||
db 0
|
||
Mon064_EvosAttacks:
|
||
;KADABRA
|
||
;Evolutions
|
||
db EV_TRADE,1,ALAKAZAM
|
||
db 0
|
||
;Learnset
|
||
db 16,CONFUSION
|
||
db 20,DISABLE
|
||
db 27,PSYBEAM
|
||
db 31,RECOVER
|
||
db 38,PSYCHIC_M
|
||
db 42,REFLECT
|
||
db 0
|
||
Mon075_EvosAttacks:
|
||
;GRAVELER
|
||
;Evolutions
|
||
db EV_TRADE,1,GOLEM
|
||
db 0
|
||
;Learnset
|
||
db 11,DEFENSE_CURL
|
||
db 16,ROCK_THROW
|
||
db 21,SELFDESTRUCT
|
||
db 29,HARDEN
|
||
db 36,EARTHQUAKE
|
||
db 43,EXPLOSION
|
||
db 0
|
||
Mon113_EvosAttacks:
|
||
;CHANSEY
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 24,SING
|
||
db 30,GROWL
|
||
db 38,MINIMIZE
|
||
db 44,DEFENSE_CURL
|
||
db 48,LIGHT_SCREEN
|
||
db 54,DOUBLE_EDGE
|
||
db 0
|
||
Mon067_EvosAttacks:
|
||
;MACHOKE
|
||
;Evolutions
|
||
db EV_TRADE,1,MACHAMP
|
||
db 0
|
||
;Learnset
|
||
db 20,LOW_KICK
|
||
db 25,LEER
|
||
db 36,FOCUS_ENERGY
|
||
db 44,SEISMIC_TOSS
|
||
db 52,SUBMISSION
|
||
db 0
|
||
Mon122_EvosAttacks:
|
||
;MR__MIME
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 15,CONFUSION
|
||
db 23,LIGHT_SCREEN
|
||
db 31,DOUBLESLAP
|
||
db 39,MEDITATE
|
||
db 47,SUBSTITUTE
|
||
db 0
|
||
Mon106_EvosAttacks:
|
||
;HITMONLEE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 33,ROLLING_KICK
|
||
db 38,JUMP_KICK
|
||
db 43,FOCUS_ENERGY
|
||
db 48,HI_JUMP_KICK
|
||
db 53,MEGA_KICK
|
||
db 0
|
||
Mon107_EvosAttacks:
|
||
;HITMONCHAN
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 33,FIRE_PUNCH
|
||
db 38,ICE_PUNCH
|
||
db 43,THUNDERPUNCH
|
||
db 48,MEGA_PUNCH
|
||
db 53,COUNTER
|
||
db 0
|
||
Mon024_EvosAttacks:
|
||
;ARBOK
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 10,POISON_STING
|
||
db 17,BITE
|
||
db 27,GLARE
|
||
db 36,SCREECH
|
||
db 47,ACID
|
||
db 0
|
||
Mon047_EvosAttacks:
|
||
;PARASECT
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 13,STUN_SPORE
|
||
db 20,LEECH_LIFE
|
||
db 30,SPORE
|
||
db 39,SLASH
|
||
db 48,GROWTH
|
||
db 0
|
||
Mon054_EvosAttacks:
|
||
;PSYDUCK
|
||
;Evolutions
|
||
db EV_LEVEL,33,GOLDUCK
|
||
db 0
|
||
;Learnset
|
||
db 28,TAIL_WHIP
|
||
db 31,DISABLE
|
||
db 36,CONFUSION
|
||
db 43,FURY_SWIPES
|
||
db 52,HYDRO_PUMP
|
||
db 0
|
||
Mon096_EvosAttacks:
|
||
;DROWZEE
|
||
;Evolutions
|
||
db EV_LEVEL,26,HYPNO
|
||
db 0
|
||
;Learnset
|
||
db 12,DISABLE
|
||
db 17,CONFUSION
|
||
db 24,HEADBUTT
|
||
db 29,POISON_GAS
|
||
db 32,PSYCHIC_M
|
||
db 37,MEDITATE
|
||
db 0
|
||
Mon076_EvosAttacks:
|
||
;GOLEM
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 11,DEFENSE_CURL
|
||
db 16,ROCK_THROW
|
||
db 21,SELFDESTRUCT
|
||
db 29,HARDEN
|
||
db 36,EARTHQUAKE
|
||
db 43,EXPLOSION
|
||
db 0
|
||
|
||
Mon154_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon126_EvosAttacks:
|
||
;MAGMAR
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 36,LEER
|
||
db 39,CONFUSE_RAY
|
||
db 43,FIRE_PUNCH
|
||
db 48,SMOKESCREEN
|
||
db 52,SMOG
|
||
db 55,FLAMETHROWER
|
||
db 0
|
||
|
||
Mon155_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon125_EvosAttacks:
|
||
;ELECTABUZZ
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 34,THUNDERSHOCK
|
||
db 37,SCREECH
|
||
db 42,THUNDERPUNCH
|
||
db 49,LIGHT_SCREEN
|
||
db 54,THUNDER
|
||
db 0
|
||
Mon082_EvosAttacks:
|
||
;MAGNETON
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 21,SONICBOOM
|
||
db 25,THUNDERSHOCK
|
||
db 29,SUPERSONIC
|
||
db 38,THUNDER_WAVE
|
||
db 46,SWIFT
|
||
db 54,SCREECH
|
||
db 0
|
||
Mon109_EvosAttacks:
|
||
;KOFFING
|
||
;Evolutions
|
||
db EV_LEVEL,35,WEEZING
|
||
db 0
|
||
;Learnset
|
||
db 32,SLUDGE
|
||
db 37,SMOKESCREEN
|
||
db 40,SELFDESTRUCT
|
||
db 45,HAZE
|
||
db 48,EXPLOSION
|
||
db 0
|
||
|
||
Mon156_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon056_EvosAttacks:
|
||
;MANKEY
|
||
;Evolutions
|
||
db EV_LEVEL,28,PRIMEAPE
|
||
db 0
|
||
;Learnset
|
||
db 15,KARATE_CHOP
|
||
db 21,FURY_SWIPES
|
||
db 27,FOCUS_ENERGY
|
||
db 33,SEISMIC_TOSS
|
||
db 39,THRASH
|
||
db 0
|
||
Mon086_EvosAttacks:
|
||
;SEEL
|
||
;Evolutions
|
||
db EV_LEVEL,34,DEWGONG
|
||
db 0
|
||
;Learnset
|
||
db 30,GROWL
|
||
db 35,AURORA_BEAM
|
||
db 40,REST
|
||
db 45,TAKE_DOWN
|
||
db 50,ICE_BEAM
|
||
db 0
|
||
Mon050_EvosAttacks:
|
||
;DIGLETT
|
||
;Evolutions
|
||
db EV_LEVEL,26,DUGTRIO
|
||
db 0
|
||
;Learnset
|
||
db 15,GROWL
|
||
db 19,DIG
|
||
db 24,SAND_ATTACK
|
||
db 31,SLASH
|
||
db 40,EARTHQUAKE
|
||
db 0
|
||
Mon128_EvosAttacks:
|
||
;TAUROS
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 21,STOMP
|
||
db 28,TAIL_WHIP
|
||
db 35,LEER
|
||
db 44,RAGE
|
||
db 51,TAKE_DOWN
|
||
db 0
|
||
|
||
Mon157_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon158_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon159_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon083_EvosAttacks:
|
||
;FARFETCH_D
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 7,LEER
|
||
db 15,FURY_ATTACK
|
||
db 23,SWORDS_DANCE
|
||
db 31,AGILITY
|
||
db 39,SLASH
|
||
db 0
|
||
Mon048_EvosAttacks:
|
||
;VENONAT
|
||
;Evolutions
|
||
db EV_LEVEL,31,VENOMOTH
|
||
db 0
|
||
;Learnset
|
||
db 24,POISONPOWDER
|
||
db 27,LEECH_LIFE
|
||
db 30,STUN_SPORE
|
||
db 35,PSYBEAM
|
||
db 38,SLEEP_POWDER
|
||
db 43,PSYCHIC_M
|
||
db 0
|
||
Mon149_EvosAttacks:
|
||
;DRAGONITE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 10,THUNDER_WAVE
|
||
db 20,AGILITY
|
||
db 35,SLAM
|
||
db 45,DRAGON_RAGE
|
||
db 60,HYPER_BEAM
|
||
db 0
|
||
|
||
Mon160_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon161_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon162_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon084_EvosAttacks:
|
||
;DODUO
|
||
;Evolutions
|
||
db EV_LEVEL,31,DODRIO
|
||
db 0
|
||
;Learnset
|
||
db 20,GROWL
|
||
db 24,FURY_ATTACK
|
||
db 30,DRILL_PECK
|
||
db 36,RAGE
|
||
db 40,TRI_ATTACK
|
||
db 44,AGILITY
|
||
db 0
|
||
Mon060_EvosAttacks:
|
||
;POLIWAG
|
||
;Evolutions
|
||
db EV_LEVEL,25,POLIWHIRL
|
||
db 0
|
||
;Learnset
|
||
db 16,HYPNOSIS
|
||
db 19,WATER_GUN
|
||
db 25,DOUBLESLAP
|
||
db 31,BODY_SLAM
|
||
db 38,AMNESIA
|
||
db 45,HYDRO_PUMP
|
||
db 0
|
||
Mon124_EvosAttacks:
|
||
;JYNX
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 18,LICK
|
||
db 23,DOUBLESLAP
|
||
db 31,ICE_PUNCH
|
||
db 39,BODY_SLAM
|
||
db 47,THRASH
|
||
db 58,BLIZZARD
|
||
db 0
|
||
Mon146_EvosAttacks:
|
||
;MOLTRES
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 51,LEER
|
||
db 55,AGILITY
|
||
db 60,SKY_ATTACK
|
||
db 0
|
||
Mon144_EvosAttacks:
|
||
;ARTICUNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 51,BLIZZARD
|
||
db 55,AGILITY
|
||
db 60,MIST
|
||
db 0
|
||
Mon145_EvosAttacks:
|
||
;ZAPDOS
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 51,THUNDER
|
||
db 55,AGILITY
|
||
db 60,LIGHT_SCREEN
|
||
db 0
|
||
Mon132_EvosAttacks:
|
||
;DITTO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon052_EvosAttacks:
|
||
;MEOWTH
|
||
;Evolutions
|
||
db EV_LEVEL,28,PERSIAN
|
||
db 0
|
||
;Learnset
|
||
db 12,BITE
|
||
db 17,PAY_DAY
|
||
db 24,SCREECH
|
||
db 33,FURY_SWIPES
|
||
db 44,SLASH
|
||
db 0
|
||
Mon098_EvosAttacks:
|
||
;KRABBY
|
||
;Evolutions
|
||
db EV_LEVEL,28,KINGLER
|
||
db 0
|
||
;Learnset
|
||
db 20,VICEGRIP
|
||
db 25,GUILLOTINE
|
||
db 30,STOMP
|
||
db 35,CRABHAMMER
|
||
db 40,HARDEN
|
||
db 0
|
||
|
||
Mon163_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon164_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon165_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon037_EvosAttacks:
|
||
;VULPIX
|
||
;Evolutions
|
||
db EV_ITEM,FIRE_STONE,1,NINETALES
|
||
db 0
|
||
;Learnset
|
||
db 16,QUICK_ATTACK
|
||
db 21,ROAR
|
||
db 28,CONFUSE_RAY
|
||
db 35,FLAMETHROWER
|
||
db 42,FIRE_SPIN
|
||
db 0
|
||
Mon038_EvosAttacks:
|
||
;NINETALES
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon025_EvosAttacks:
|
||
;PIKACHU
|
||
;Evolutions
|
||
db EV_ITEM,THUNDER_STONE ,1,RAICHU
|
||
db 0
|
||
;Learnset
|
||
db 9,THUNDER_WAVE
|
||
db 16,QUICK_ATTACK
|
||
db 26,SWIFT
|
||
db 33,AGILITY
|
||
db 43,THUNDER
|
||
db 0
|
||
Mon026_EvosAttacks:
|
||
;RAICHU
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon166_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon167_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon147_EvosAttacks:
|
||
;DRATINI
|
||
;Evolutions
|
||
db EV_LEVEL,30,DRAGONAIR
|
||
db 0
|
||
;Learnset
|
||
db 10,THUNDER_WAVE
|
||
db 20,AGILITY
|
||
db 30,SLAM
|
||
db 40,DRAGON_RAGE
|
||
db 50,HYPER_BEAM
|
||
db 0
|
||
Mon148_EvosAttacks:
|
||
;DRAGONAIR
|
||
;Evolutions
|
||
db EV_LEVEL,55,DRAGONITE
|
||
db 0
|
||
;Learnset
|
||
db 10,THUNDER_WAVE
|
||
db 20,AGILITY
|
||
db 35,SLAM
|
||
db 45,DRAGON_RAGE
|
||
db 55,HYPER_BEAM
|
||
db 0
|
||
Mon140_EvosAttacks:
|
||
;KABUTO
|
||
;Evolutions
|
||
db EV_LEVEL,40,KABUTOPS
|
||
db 0
|
||
;Learnset
|
||
db 34,ABSORB
|
||
db 39,SLASH
|
||
db 44,LEER
|
||
db 49,HYDRO_PUMP
|
||
db 0
|
||
Mon141_EvosAttacks:
|
||
;KABUTOPS
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 34,ABSORB
|
||
db 39,SLASH
|
||
db 46,LEER
|
||
db 53,HYDRO_PUMP
|
||
db 0
|
||
Mon116_EvosAttacks:
|
||
;HORSEA
|
||
;Evolutions
|
||
db EV_LEVEL,32,SEADRA
|
||
db 0
|
||
;Learnset
|
||
db 19,SMOKESCREEN
|
||
db 24,LEER
|
||
db 30,WATER_GUN
|
||
db 37,AGILITY
|
||
db 45,HYDRO_PUMP
|
||
db 0
|
||
Mon117_EvosAttacks:
|
||
;SEADRA
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 19,SMOKESCREEN
|
||
db 24,LEER
|
||
db 30,WATER_GUN
|
||
db 41,AGILITY
|
||
db 52,HYDRO_PUMP
|
||
db 0
|
||
|
||
Mon168_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon169_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon027_EvosAttacks:
|
||
;SANDSHREW
|
||
;Evolutions
|
||
db EV_LEVEL,22,SANDSLASH
|
||
db 0
|
||
;Learnset
|
||
db 10,SAND_ATTACK
|
||
db 17,SLASH
|
||
db 24,POISON_STING
|
||
db 31,SWIFT
|
||
db 38,FURY_SWIPES
|
||
db 0
|
||
Mon028_EvosAttacks:
|
||
;SANDSLASH
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 10,SAND_ATTACK
|
||
db 17,SLASH
|
||
db 27,POISON_STING
|
||
db 36,SWIFT
|
||
db 47,FURY_SWIPES
|
||
db 0
|
||
Mon138_EvosAttacks:
|
||
;OMANYTE
|
||
;Evolutions
|
||
db EV_LEVEL,40,OMASTAR
|
||
db 0
|
||
;Learnset
|
||
db 34,HORN_ATTACK
|
||
db 39,LEER
|
||
db 46,SPIKE_CANNON
|
||
db 53,HYDRO_PUMP
|
||
db 0
|
||
Mon139_EvosAttacks:
|
||
;OMASTAR
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 34,HORN_ATTACK
|
||
db 39,LEER
|
||
db 44,SPIKE_CANNON
|
||
db 49,HYDRO_PUMP
|
||
db 0
|
||
Mon039_EvosAttacks:
|
||
;JIGGLYPUFF
|
||
;Evolutions
|
||
db EV_ITEM,MOON_STONE,1,WIGGLYTUFF
|
||
db 0
|
||
;Learnset
|
||
db 9,POUND
|
||
db 14,DISABLE
|
||
db 19,DEFENSE_CURL
|
||
db 24,DOUBLESLAP
|
||
db 29,REST
|
||
db 34,BODY_SLAM
|
||
db 39,DOUBLE_EDGE
|
||
db 0
|
||
Mon040_EvosAttacks:
|
||
;WIGGLYTUFF
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon133_EvosAttacks:
|
||
;EEVEE
|
||
;Evolutions
|
||
db EV_ITEM,FIRE_STONE,1,FLAREON
|
||
db EV_ITEM,THUNDER_STONE ,1,JOLTEON
|
||
db EV_ITEM,WATER_STONE ,1,VAPOREON
|
||
db 0
|
||
;Learnset
|
||
db 27,QUICK_ATTACK
|
||
db 31,TAIL_WHIP
|
||
db 37,BITE
|
||
db 45,TAKE_DOWN
|
||
db 0
|
||
Mon136_EvosAttacks:
|
||
;FLAREON
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 27,QUICK_ATTACK
|
||
db 31,EMBER
|
||
db 37,TAIL_WHIP
|
||
db 40,BITE
|
||
db 42,LEER
|
||
db 44,FIRE_SPIN
|
||
db 48,RAGE
|
||
db 54,FLAMETHROWER
|
||
db 0
|
||
Mon135_EvosAttacks:
|
||
;JOLTEON
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 27,QUICK_ATTACK
|
||
db 31,THUNDERSHOCK
|
||
db 37,TAIL_WHIP
|
||
db 40,THUNDER_WAVE
|
||
db 42,DOUBLE_KICK
|
||
db 44,AGILITY
|
||
db 48,PIN_MISSILE
|
||
db 54,THUNDER
|
||
db 0
|
||
Mon134_EvosAttacks:
|
||
;VAPOREON
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 27,QUICK_ATTACK
|
||
db 31,WATER_GUN
|
||
db 37,TAIL_WHIP
|
||
db 40,BITE
|
||
db 42,ACID_ARMOR
|
||
db 44,HAZE
|
||
db 48,MIST
|
||
db 54,HYDRO_PUMP
|
||
db 0
|
||
Mon066_EvosAttacks:
|
||
;MACHOP
|
||
;Evolutions
|
||
db EV_LEVEL,28,MACHOKE
|
||
db 0
|
||
;Learnset
|
||
db 20,LOW_KICK
|
||
db 25,LEER
|
||
db 32,FOCUS_ENERGY
|
||
db 39,SEISMIC_TOSS
|
||
db 46,SUBMISSION
|
||
db 0
|
||
Mon041_EvosAttacks:
|
||
;ZUBAT
|
||
;Evolutions
|
||
db EV_LEVEL,22,GOLBAT
|
||
db 0
|
||
;Learnset
|
||
db 10,SUPERSONIC
|
||
db 15,BITE
|
||
db 21,CONFUSE_RAY
|
||
db 28,WING_ATTACK
|
||
db 36,HAZE
|
||
db 0
|
||
Mon023_EvosAttacks:
|
||
;EKANS
|
||
;Evolutions
|
||
db EV_LEVEL,22,ARBOK
|
||
db 0
|
||
;Learnset
|
||
db 10,POISON_STING
|
||
db 17,BITE
|
||
db 24,GLARE
|
||
db 31,SCREECH
|
||
db 38,ACID
|
||
db 0
|
||
Mon046_EvosAttacks:
|
||
;PARAS
|
||
;Evolutions
|
||
db EV_LEVEL,24,PARASECT
|
||
db 0
|
||
;Learnset
|
||
db 13,STUN_SPORE
|
||
db 20,LEECH_LIFE
|
||
db 27,SPORE
|
||
db 34,SLASH
|
||
db 41,GROWTH
|
||
db 0
|
||
Mon061_EvosAttacks:
|
||
;POLIWHIRL
|
||
;Evolutions
|
||
db EV_ITEM,WATER_STONE ,1,POLIWRATH
|
||
db 0
|
||
;Learnset
|
||
db 16,HYPNOSIS
|
||
db 19,WATER_GUN
|
||
db 26,DOUBLESLAP
|
||
db 33,BODY_SLAM
|
||
db 41,AMNESIA
|
||
db 49,HYDRO_PUMP
|
||
db 0
|
||
Mon062_EvosAttacks:
|
||
;POLIWRATH
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 16,HYPNOSIS
|
||
db 19,WATER_GUN
|
||
db 0
|
||
Mon013_EvosAttacks:
|
||
;WEEDLE
|
||
;Evolutions
|
||
db EV_LEVEL,7,KAKUNA
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon014_EvosAttacks:
|
||
;KAKUNA
|
||
;Evolutions
|
||
db EV_LEVEL,10,BEEDRILL
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon015_EvosAttacks:
|
||
;BEEDRILL
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 12,FURY_ATTACK
|
||
db 16,FOCUS_ENERGY
|
||
db 20,TWINEEDLE
|
||
db 25,RAGE
|
||
db 30,PIN_MISSILE
|
||
db 35,AGILITY
|
||
db 0
|
||
|
||
Mon170_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon085_EvosAttacks:
|
||
;DODRIO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 20,GROWL
|
||
db 24,FURY_ATTACK
|
||
db 30,DRILL_PECK
|
||
db 39,RAGE
|
||
db 45,TRI_ATTACK
|
||
db 51,AGILITY
|
||
db 0
|
||
Mon057_EvosAttacks:
|
||
;PRIMEAPE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 15,KARATE_CHOP
|
||
db 21,FURY_SWIPES
|
||
db 27,FOCUS_ENERGY
|
||
db 37,SEISMIC_TOSS
|
||
db 46,THRASH
|
||
db 0
|
||
Mon051_EvosAttacks:
|
||
;DUGTRIO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 15,GROWL
|
||
db 19,DIG
|
||
db 24,SAND_ATTACK
|
||
db 35,SLASH
|
||
db 47,EARTHQUAKE
|
||
db 0
|
||
Mon049_EvosAttacks:
|
||
;VENOMOTH
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 24,POISONPOWDER
|
||
db 27,LEECH_LIFE
|
||
db 30,STUN_SPORE
|
||
db 38,PSYBEAM
|
||
db 43,SLEEP_POWDER
|
||
db 50,PSYCHIC_M
|
||
db 0
|
||
Mon087_EvosAttacks:
|
||
;DEWGONG
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 30,GROWL
|
||
db 35,AURORA_BEAM
|
||
db 44,REST
|
||
db 50,TAKE_DOWN
|
||
db 56,ICE_BEAM
|
||
db 0
|
||
|
||
Mon171_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon172_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon010_EvosAttacks:
|
||
;CATERPIE
|
||
;Evolutions
|
||
db EV_LEVEL,7,METAPOD
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon011_EvosAttacks:
|
||
;METAPOD
|
||
;Evolutions
|
||
db EV_LEVEL,10,BUTTERFREE
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon012_EvosAttacks:
|
||
;BUTTERFREE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 12,CONFUSION
|
||
db 15,POISONPOWDER
|
||
db 16,STUN_SPORE
|
||
db 17,SLEEP_POWDER
|
||
db 21,SUPERSONIC
|
||
db 26,WHIRLWIND
|
||
db 32,PSYBEAM
|
||
db 0
|
||
Mon068_EvosAttacks:
|
||
;MACHAMP
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 20,LOW_KICK
|
||
db 25,LEER
|
||
db 36,FOCUS_ENERGY
|
||
db 44,SEISMIC_TOSS
|
||
db 52,SUBMISSION
|
||
db 0
|
||
|
||
Mon173_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon055_EvosAttacks:
|
||
;GOLDUCK
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 28,TAIL_WHIP
|
||
db 31,DISABLE
|
||
db 39,CONFUSION
|
||
db 48,FURY_SWIPES
|
||
db 59,HYDRO_PUMP
|
||
db 0
|
||
Mon097_EvosAttacks:
|
||
;HYPNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 12,DISABLE
|
||
db 17,CONFUSION
|
||
db 24,HEADBUTT
|
||
db 33,POISON_GAS
|
||
db 37,PSYCHIC_M
|
||
db 43,MEDITATE
|
||
db 0
|
||
Mon042_EvosAttacks:
|
||
;GOLBAT
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 10,SUPERSONIC
|
||
db 15,BITE
|
||
db 21,CONFUSE_RAY
|
||
db 32,WING_ATTACK
|
||
db 43,HAZE
|
||
db 0
|
||
Mon150_EvosAttacks:
|
||
;MEWTWO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 63,BARRIER
|
||
db 66,PSYCHIC_M
|
||
db 70,RECOVER
|
||
db 75,MIST
|
||
db 81,AMNESIA
|
||
db 0
|
||
Mon143_EvosAttacks:
|
||
;SNORLAX
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 35,BODY_SLAM
|
||
db 41,HARDEN
|
||
db 48,DOUBLE_EDGE
|
||
db 56,HYPER_BEAM
|
||
db 0
|
||
Mon129_EvosAttacks:
|
||
;MAGIKARP
|
||
;Evolutions
|
||
db EV_LEVEL,20,GYARADOS
|
||
db 0
|
||
;Learnset
|
||
db 15,TACKLE
|
||
db 0
|
||
|
||
Mon174_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon175_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon089_EvosAttacks:
|
||
;MUK
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 30,POISON_GAS
|
||
db 33,MINIMIZE
|
||
db 37,SLUDGE
|
||
db 45,HARDEN
|
||
db 53,SCREECH
|
||
db 60,ACID_ARMOR
|
||
db 0
|
||
|
||
Mon176_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon099_EvosAttacks:
|
||
;KINGLER
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 20,VICEGRIP
|
||
db 25,GUILLOTINE
|
||
db 34,STOMP
|
||
db 42,CRABHAMMER
|
||
db 49,HARDEN
|
||
db 0
|
||
Mon091_EvosAttacks:
|
||
;CLOYSTER
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 50,SPIKE_CANNON
|
||
db 0
|
||
|
||
Mon177_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon101_EvosAttacks:
|
||
;ELECTRODE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 17,SONICBOOM
|
||
db 22,SELFDESTRUCT
|
||
db 29,LIGHT_SCREEN
|
||
db 40,SWIFT
|
||
db 50,EXPLOSION
|
||
db 0
|
||
Mon036_EvosAttacks:
|
||
;CLEFABLE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon110_EvosAttacks:
|
||
;WEEZING
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 32,SLUDGE
|
||
db 39,SMOKESCREEN
|
||
db 43,SELFDESTRUCT
|
||
db 49,HAZE
|
||
db 53,EXPLOSION
|
||
db 0
|
||
Mon053_EvosAttacks:
|
||
;PERSIAN
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 12,BITE
|
||
db 17,PAY_DAY
|
||
db 24,SCREECH
|
||
db 37,FURY_SWIPES
|
||
db 51,SLASH
|
||
db 0
|
||
Mon105_EvosAttacks:
|
||
;MAROWAK
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 25,LEER
|
||
db 33,FOCUS_ENERGY
|
||
db 41,THRASH
|
||
db 48,BONEMERANG
|
||
db 55,RAGE
|
||
db 0
|
||
|
||
Mon178_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon093_EvosAttacks:
|
||
;HAUNTER
|
||
;Evolutions
|
||
db EV_TRADE,1,GENGAR
|
||
db 0
|
||
;Learnset
|
||
db 29,HYPNOSIS
|
||
db 38,DREAM_EATER
|
||
db 0
|
||
Mon063_EvosAttacks:
|
||
;ABRA
|
||
;Evolutions
|
||
db EV_LEVEL,16,KADABRA
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon065_EvosAttacks:
|
||
;ALAKAZAM
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 16,CONFUSION
|
||
db 20,DISABLE
|
||
db 27,PSYBEAM
|
||
db 31,RECOVER
|
||
db 38,PSYCHIC_M
|
||
db 42,REFLECT
|
||
db 0
|
||
Mon017_EvosAttacks:
|
||
;PIDGEOTTO
|
||
;Evolutions
|
||
db EV_LEVEL,36,PIDGEOT
|
||
db 0
|
||
;Learnset
|
||
db 5,SAND_ATTACK
|
||
db 12,QUICK_ATTACK
|
||
db 21,WHIRLWIND
|
||
db 31,WING_ATTACK
|
||
db 40,AGILITY
|
||
db 49,MIRROR_MOVE
|
||
db 0
|
||
Mon018_EvosAttacks:
|
||
;PIDGEOT
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 5,SAND_ATTACK
|
||
db 12,QUICK_ATTACK
|
||
db 21,WHIRLWIND
|
||
db 31,WING_ATTACK
|
||
db 44,AGILITY
|
||
db 54,MIRROR_MOVE
|
||
db 0
|
||
Mon121_EvosAttacks:
|
||
;STARMIE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon001_EvosAttacks:
|
||
;BULBASAUR
|
||
;Evolutions
|
||
db EV_LEVEL,16,IVYSAUR
|
||
db 0
|
||
;Learnset
|
||
db 7,LEECH_SEED
|
||
db 13,VINE_WHIP
|
||
db 20,POISONPOWDER
|
||
db 27,RAZOR_LEAF
|
||
db 34,GROWTH
|
||
db 41,SLEEP_POWDER
|
||
db 48,SOLARBEAM
|
||
db 0
|
||
Mon003_EvosAttacks:
|
||
;VENUSAUR
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 7,LEECH_SEED
|
||
db 13,VINE_WHIP
|
||
db 22,POISONPOWDER
|
||
db 30,RAZOR_LEAF
|
||
db 43,GROWTH
|
||
db 55,SLEEP_POWDER
|
||
db 65,SOLARBEAM
|
||
db 0
|
||
Mon073_EvosAttacks:
|
||
;TENTACRUEL
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 7,SUPERSONIC
|
||
db 13,WRAP
|
||
db 18,POISON_STING
|
||
db 22,WATER_GUN
|
||
db 27,CONSTRICT
|
||
db 35,BARRIER
|
||
db 43,SCREECH
|
||
db 50,HYDRO_PUMP
|
||
db 0
|
||
|
||
Mon179_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon118_EvosAttacks:
|
||
;GOLDEEN
|
||
;Evolutions
|
||
db EV_LEVEL,33,SEAKING
|
||
db 0
|
||
;Learnset
|
||
db 19,SUPERSONIC
|
||
db 24,HORN_ATTACK
|
||
db 30,FURY_ATTACK
|
||
db 37,WATERFALL
|
||
db 45,HORN_DRILL
|
||
db 54,AGILITY
|
||
db 0
|
||
Mon119_EvosAttacks:
|
||
;SEAKING
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 19,SUPERSONIC
|
||
db 24,HORN_ATTACK
|
||
db 30,FURY_ATTACK
|
||
db 39,WATERFALL
|
||
db 48,HORN_DRILL
|
||
db 54,AGILITY
|
||
db 0
|
||
|
||
Mon180_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon181_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon182_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon183_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon077_EvosAttacks:
|
||
;PONYTA
|
||
;Evolutions
|
||
db EV_LEVEL,40,RAPIDASH
|
||
db 0
|
||
;Learnset
|
||
db 30,TAIL_WHIP
|
||
db 32,STOMP
|
||
db 35,GROWL
|
||
db 39,FIRE_SPIN
|
||
db 43,TAKE_DOWN
|
||
db 48,AGILITY
|
||
db 0
|
||
Mon078_EvosAttacks:
|
||
;RAPIDASH
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 30,TAIL_WHIP
|
||
db 32,STOMP
|
||
db 35,GROWL
|
||
db 39,FIRE_SPIN
|
||
db 47,TAKE_DOWN
|
||
db 55,AGILITY
|
||
db 0
|
||
Mon019_EvosAttacks:
|
||
;RATTATA
|
||
;Evolutions
|
||
db EV_LEVEL,20,RATICATE
|
||
db 0
|
||
;Learnset
|
||
db 7,QUICK_ATTACK
|
||
db 14,HYPER_FANG
|
||
db 23,FOCUS_ENERGY
|
||
db 34,SUPER_FANG
|
||
db 0
|
||
Mon020_EvosAttacks:
|
||
;RATICATE
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 7,QUICK_ATTACK
|
||
db 14,HYPER_FANG
|
||
db 27,FOCUS_ENERGY
|
||
db 41,SUPER_FANG
|
||
db 0
|
||
Mon033_EvosAttacks:
|
||
;NIDORINO
|
||
;Evolutions
|
||
db EV_ITEM,MOON_STONE,1,NIDOKING
|
||
db 0
|
||
;Learnset
|
||
db 8,HORN_ATTACK
|
||
db 14,POISON_STING
|
||
db 23,FOCUS_ENERGY
|
||
db 32,FURY_ATTACK
|
||
db 41,HORN_DRILL
|
||
db 50,DOUBLE_KICK
|
||
db 0
|
||
Mon030_EvosAttacks:
|
||
;NIDORINA
|
||
;Evolutions
|
||
db EV_ITEM,MOON_STONE,1,NIDOQUEEN
|
||
db 0
|
||
;Learnset
|
||
db 8,SCRATCH
|
||
db 14,POISON_STING
|
||
db 23,TAIL_WHIP
|
||
db 32,BITE
|
||
db 41,FURY_SWIPES
|
||
db 50,DOUBLE_KICK
|
||
db 0
|
||
Mon074_EvosAttacks:
|
||
;GEODUDE
|
||
;Evolutions
|
||
db EV_LEVEL,25,GRAVELER
|
||
db 0
|
||
;Learnset
|
||
db 11,DEFENSE_CURL
|
||
db 16,ROCK_THROW
|
||
db 21,SELFDESTRUCT
|
||
db 26,HARDEN
|
||
db 31,EARTHQUAKE
|
||
db 36,EXPLOSION
|
||
db 0
|
||
Mon137_EvosAttacks:
|
||
;PORYGON
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 23,PSYBEAM
|
||
db 28,RECOVER
|
||
db 35,AGILITY
|
||
db 42,TRI_ATTACK
|
||
db 0
|
||
Mon142_EvosAttacks:
|
||
;AERODACTYL
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 33,SUPERSONIC
|
||
db 38,BITE
|
||
db 45,TAKE_DOWN
|
||
db 54,HYPER_BEAM
|
||
db 0
|
||
|
||
Mon184_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon081_EvosAttacks:
|
||
;MAGNEMITE
|
||
;Evolutions
|
||
db EV_LEVEL,30,MAGNETON
|
||
db 0
|
||
;Learnset
|
||
db 21,SONICBOOM
|
||
db 25,THUNDERSHOCK
|
||
db 29,SUPERSONIC
|
||
db 35,THUNDER_WAVE
|
||
db 41,SWIFT
|
||
db 47,SCREECH
|
||
db 0
|
||
|
||
Mon185_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon186_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon004_EvosAttacks:
|
||
;CHARMANDER
|
||
;Evolutions
|
||
db EV_LEVEL,16,CHARMELEON
|
||
db 0
|
||
;Learnset
|
||
db 9,EMBER
|
||
db 15,LEER
|
||
db 22,RAGE
|
||
db 30,SLASH
|
||
db 38,FLAMETHROWER
|
||
db 46,FIRE_SPIN
|
||
db 0
|
||
Mon007_EvosAttacks:
|
||
;SQUIRTLE
|
||
;Evolutions
|
||
db EV_LEVEL,16,WARTORTLE
|
||
db 0
|
||
;Learnset
|
||
db 8,BUBBLE
|
||
db 15,WATER_GUN
|
||
db 22,BITE
|
||
db 28,WITHDRAW
|
||
db 35,SKULL_BASH
|
||
db 42,HYDRO_PUMP
|
||
db 0
|
||
Mon005_EvosAttacks:
|
||
;CHARMELEON
|
||
;Evolutions
|
||
db EV_LEVEL,36,CHARIZARD
|
||
db 0
|
||
;Learnset
|
||
db 9,EMBER
|
||
db 15,LEER
|
||
db 24,RAGE
|
||
db 33,SLASH
|
||
db 42,FLAMETHROWER
|
||
db 56,FIRE_SPIN
|
||
db 0
|
||
Mon008_EvosAttacks:
|
||
;WARTORTLE
|
||
;Evolutions
|
||
db EV_LEVEL,36,BLASTOISE
|
||
db 0
|
||
;Learnset
|
||
db 8,BUBBLE
|
||
db 15,WATER_GUN
|
||
db 24,BITE
|
||
db 31,WITHDRAW
|
||
db 39,SKULL_BASH
|
||
db 47,HYDRO_PUMP
|
||
db 0
|
||
Mon006_EvosAttacks:
|
||
;CHARIZARD
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 9,EMBER
|
||
db 15,LEER
|
||
db 24,RAGE
|
||
db 36,SLASH
|
||
db 46,FLAMETHROWER
|
||
db 55,FIRE_SPIN
|
||
db 0
|
||
|
||
Mon187_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon188_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon189_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
|
||
Mon190_EvosAttacks:
|
||
;MISSINGNO
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 0
|
||
Mon043_EvosAttacks:
|
||
;ODDISH
|
||
;Evolutions
|
||
db EV_LEVEL,21,GLOOM
|
||
db 0
|
||
;Learnset
|
||
db 15,POISONPOWDER
|
||
db 17,STUN_SPORE
|
||
db 19,SLEEP_POWDER
|
||
db 24,ACID
|
||
db 33,PETAL_DANCE
|
||
db 46,SOLARBEAM
|
||
db 0
|
||
Mon044_EvosAttacks:
|
||
;GLOOM
|
||
;Evolutions
|
||
db EV_ITEM,LEAF_STONE ,1,VILEPLUME
|
||
db 0
|
||
;Learnset
|
||
db 15,POISONPOWDER
|
||
db 17,STUN_SPORE
|
||
db 19,SLEEP_POWDER
|
||
db 28,ACID
|
||
db 38,PETAL_DANCE
|
||
db 52,SOLARBEAM
|
||
db 0
|
||
Mon045_EvosAttacks:
|
||
;VILEPLUME
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 15,POISONPOWDER
|
||
db 17,STUN_SPORE
|
||
db 19,SLEEP_POWDER
|
||
db 0
|
||
Mon069_EvosAttacks:
|
||
;BELLSPROUT
|
||
;Evolutions
|
||
db EV_LEVEL,21,WEEPINBELL
|
||
db 0
|
||
;Learnset
|
||
db 13,WRAP
|
||
db 15,POISONPOWDER
|
||
db 18,SLEEP_POWDER
|
||
db 21,STUN_SPORE
|
||
db 26,ACID
|
||
db 33,RAZOR_LEAF
|
||
db 42,SLAM
|
||
db 0
|
||
Mon070_EvosAttacks:
|
||
;WEEPINBELL
|
||
;Evolutions
|
||
db EV_ITEM,LEAF_STONE ,1,VICTREEBEL
|
||
db 0
|
||
;Learnset
|
||
db 13,WRAP
|
||
db 15,POISONPOWDER
|
||
db 18,SLEEP_POWDER
|
||
db 23,STUN_SPORE
|
||
db 29,ACID
|
||
db 38,RAZOR_LEAF
|
||
db 49,SLAM
|
||
db 0
|
||
Mon071_EvosAttacks:
|
||
;VICTREEBEL
|
||
;Evolutions
|
||
db 0
|
||
;Learnset
|
||
db 13,WRAP
|
||
db 15,POISONPOWDER
|
||
db 18,SLEEP_POWDER
|
||
db 0
|
||
|
||
INCBIN "baserom.gbc",$3B9EC, $3C000 - $3B9EC
|
||
|
||
SECTION "bankF",DATA,BANK[$F]
|
||
INCBIN "baserom.gbc",$3C000,$90E
|
||
|
||
; XXX this needs cleaning up. it's what runs when a juggler switches pokemon
|
||
EnemySendOut: ; 490E
|
||
ld hl,$D058
|
||
xor a
|
||
ld [hl],a
|
||
ld a,[$CC2F]
|
||
ld c,a
|
||
ld b,1
|
||
push bc
|
||
ld a,$10
|
||
call Predef
|
||
ld hl,$CCF5
|
||
xor a
|
||
ld [hl],a
|
||
pop bc
|
||
ld a,$10
|
||
call Predef
|
||
xor a
|
||
ld hl,$D065
|
||
ld [hli],a
|
||
ld [hli],a
|
||
ld [hli],a
|
||
ld [hli],a
|
||
ld [hl],a
|
||
ld [$D072],a
|
||
ld [$CCEF],a
|
||
ld [$CCF3],a
|
||
ld hl,$CCF1
|
||
ld [hli],a
|
||
ld [hl],a
|
||
dec a
|
||
ld [$CCDF],a
|
||
ld hl,$D062
|
||
res 5,[hl]
|
||
ld hl,$C3B2
|
||
ld a,8
|
||
call $48DF
|
||
call $6E94
|
||
call $3719
|
||
ld a,[$D12B]
|
||
cp 4
|
||
jr nz,.next\@
|
||
ld a,[$CC3E]
|
||
sub 4
|
||
ld [$CF92],a
|
||
jr .next3\@
|
||
.next\@
|
||
ld b,$FF
|
||
.next2\@
|
||
inc b
|
||
ld a,[$CFE8]
|
||
cp b
|
||
jr z,.next2\@
|
||
ld hl,$D8A4
|
||
ld a,b
|
||
ld [$CF92],a
|
||
push bc
|
||
ld bc,$2C
|
||
call AddNTimes
|
||
pop bc
|
||
inc hl
|
||
ld a,[hli]
|
||
ld c,a
|
||
ld a,[hl]
|
||
or c
|
||
jr z,.next2\@
|
||
.next3\@
|
||
ld a,[$CF92]
|
||
ld hl,$D8C5
|
||
ld bc,$2C
|
||
call AddNTimes
|
||
ld a,[hl]
|
||
ld [$D127],a
|
||
ld a,[$CF92]
|
||
inc a
|
||
ld hl,$D89C
|
||
ld c,a
|
||
ld b,0
|
||
add hl,bc
|
||
ld a,[hl]
|
||
ld [$CFD8],a
|
||
ld [$CF91],a
|
||
call $6B01
|
||
ld hl,$CFE6
|
||
ld a,[hli]
|
||
ld [$CCE3],a
|
||
ld a,[hl]
|
||
ld [$CCE4],a
|
||
ld a,1
|
||
ld [$CC26],a
|
||
ld a,[$D11D]
|
||
dec a
|
||
jr z,.next4\@
|
||
ld a,[$D163]
|
||
dec a
|
||
jr z,.next4\@
|
||
ld a,[$D12B]
|
||
cp 4
|
||
jr z,.next4\@
|
||
ld a,[$D355]
|
||
bit 6,a
|
||
jr nz,.next4\@
|
||
ld hl,$4A79
|
||
call PrintText
|
||
ld hl,$C42C
|
||
ld bc,$0801
|
||
ld a,$14
|
||
ld [$D125],a
|
||
call $30E8
|
||
ld a,[$CC26]
|
||
and a
|
||
jr nz,.next4\@
|
||
ld a,2
|
||
ld [$D07D],a
|
||
call $13FC
|
||
.next9\@
|
||
ld a,1
|
||
ld [$CC26],a
|
||
jr c,.next7\@
|
||
ld hl,$CC2F
|
||
ld a,[$CF92]
|
||
cp [hl]
|
||
jr nz,.next6\@
|
||
ld hl,$51F5
|
||
call PrintText
|
||
.next8\@
|
||
call $1411
|
||
jr .next9\@
|
||
.next6\@
|
||
call $4A97
|
||
jr z,.next8\@
|
||
xor a
|
||
ld [$CC26],a
|
||
.next7\@
|
||
call $3DE5
|
||
call $6E5B
|
||
call $3725
|
||
.next4\@
|
||
call $0082
|
||
ld hl,$C3A0
|
||
ld bc,$040B
|
||
call $18C4
|
||
ld b,1
|
||
call $3DEF
|
||
call $3DDC
|
||
ld hl,$4A7E
|
||
call PrintText
|
||
ld a,[$CFD8]
|
||
ld [$CF91],a
|
||
ld [$D0B5],a
|
||
call $1537
|
||
ld de,$9000
|
||
call $1665
|
||
ld a,$CF
|
||
ld [$FFE1],a
|
||
ld hl,$C427
|
||
ld a,2
|
||
call Predef
|
||
ld a,[$CFD8]
|
||
call $13D0
|
||
call $4DEC
|
||
ld a,[$CC26]
|
||
and a
|
||
ret nz
|
||
xor a
|
||
ld [$D058],a
|
||
ld [$CCF5],a
|
||
call $3719
|
||
jp $51BA
|
||
|
||
db $17
|
||
dw $5784
|
||
db $22
|
||
db $50
|
||
db $17
|
||
dw $57B4
|
||
db $22
|
||
db $50
|
||
|
||
INCBIN "baserom.gbc",$3CA83,$3E474 - $3CA83
|
||
|
||
TypeEffects: ; 6474
|
||
; format: attacking type, defending type, damage multiplier
|
||
; the multiplier is a (decimal) fixed-point number:
|
||
; 20 is ×2.0
|
||
; 05 is ×0.5
|
||
; 00 is ×0
|
||
db WATER,FIRE,20
|
||
db FIRE,GRASS,20
|
||
db FIRE,ICE,20
|
||
db GRASS,WATER,20
|
||
db ELECTRIC,WATER,20
|
||
db WATER,ROCK,20
|
||
db GROUND,FLYING,00
|
||
db WATER,WATER,05
|
||
db FIRE,FIRE,05
|
||
db ELECTRIC,ELECTRIC,05
|
||
db ICE,ICE,05
|
||
db GRASS,GRASS,05
|
||
db PSYCHIC,PSYCHIC,05
|
||
db FIRE,WATER,05
|
||
db GRASS,FIRE,05
|
||
db WATER,GRASS,05
|
||
db ELECTRIC,GRASS,05
|
||
db NORMAL,ROCK,05
|
||
db NORMAL,GHOST,00
|
||
db GHOST,GHOST,20
|
||
db FIRE,BUG,20
|
||
db FIRE,ROCK,05
|
||
db WATER,GROUND,20
|
||
db ELECTRIC,GROUND,00
|
||
db ELECTRIC,FLYING,20
|
||
db GRASS,GROUND,20
|
||
db GRASS,BUG,05
|
||
db GRASS,POISON,05
|
||
db GRASS,ROCK,20
|
||
db GRASS,FLYING,05
|
||
db ICE,WATER,05
|
||
db ICE,GRASS,20
|
||
db ICE,GROUND,20
|
||
db ICE,FLYING,20
|
||
db FIGHTING,NORMAL,20
|
||
db FIGHTING,POISON,05
|
||
db FIGHTING,FLYING,05
|
||
db FIGHTING,PSYCHIC,05
|
||
db FIGHTING,BUG,05
|
||
db FIGHTING,ROCK,20
|
||
db FIGHTING,ICE,20
|
||
db FIGHTING,GHOST,00
|
||
db POISON,GRASS,20
|
||
db POISON,POISON,05
|
||
db POISON,GROUND,05
|
||
db POISON,BUG,20
|
||
db POISON,ROCK,05
|
||
db POISON,GHOST,05
|
||
db GROUND,FIRE,20
|
||
db GROUND,ELECTRIC,20
|
||
db GROUND,GRASS,05
|
||
db GROUND,BUG,05
|
||
db GROUND,ROCK,20
|
||
db GROUND,POISON,20
|
||
db FLYING,ELECTRIC,05
|
||
db FLYING,FIGHTING,20
|
||
db FLYING,BUG,20
|
||
db FLYING,GRASS,20
|
||
db FLYING,ROCK,05
|
||
db PSYCHIC,FIGHTING,20
|
||
db PSYCHIC,POISON,20
|
||
db BUG,FIRE,05
|
||
db BUG,GRASS,20
|
||
db BUG,FIGHTING,05
|
||
db BUG,FLYING,05
|
||
db BUG,PSYCHIC,20
|
||
db BUG,GHOST,05
|
||
db BUG,POISON,20
|
||
db ROCK,FIRE,20
|
||
db ROCK,FIGHTING,05
|
||
db ROCK,GROUND,05
|
||
db ROCK,FLYING,20
|
||
db ROCK,BUG,20
|
||
db ROCK,ICE,20
|
||
db GHOST,NORMAL,00
|
||
db GHOST,PSYCHIC,00
|
||
db FIRE,DRAGON,05
|
||
db WATER,DRAGON,05
|
||
db ELECTRIC,DRAGON,05
|
||
db GRASS,DRAGON,05
|
||
db ICE,DRAGON,20
|
||
db DRAGON,DRAGON,20
|
||
db $FF
|
||
|
||
INCBIN "baserom.gbc",$3E56B,$3EF07 - $3E56B
|
||
|
||
PlayAttackAnimation: ; 6F07
|
||
ld [$D07C],a
|
||
call Delay3
|
||
ld a,8
|
||
jp Predef
|
||
|
||
INCBIN "baserom.gbc",$3EF12,$40000 - $3EF12
|
||
|
||
SECTION "bank10",DATA,BANK[$10]
|
||
INCBIN "baserom.gbc",$40000,$1024
|
||
PokedexOrder: ; 5024
|
||
db DEX_RHYDON
|
||
db DEX_KANGASKHAN
|
||
db DEX_NIDORAN_M
|
||
db DEX_CLEFAIRY
|
||
db DEX_SPEAROW
|
||
db DEX_VOLTORB
|
||
db DEX_NIDOKING
|
||
db DEX_SLOWBRO
|
||
db DEX_IVYSAUR
|
||
db DEX_EXEGGUTOR
|
||
db DEX_LICKITUNG
|
||
db DEX_EXEGGCUTE
|
||
db DEX_GRIMER
|
||
db DEX_GENGAR
|
||
db DEX_NIDORAN_F
|
||
db DEX_NIDOQUEEN
|
||
db DEX_CUBONE
|
||
db DEX_RHYHORN
|
||
db DEX_LAPRAS
|
||
db DEX_ARCANINE
|
||
db DEX_MEW
|
||
db DEX_GYARADOS
|
||
db DEX_SHELLDER
|
||
db DEX_TENTACOOL
|
||
db DEX_GASTLY
|
||
db DEX_SCYTHER
|
||
db DEX_STARYU
|
||
db DEX_BLASTOISE
|
||
db DEX_PINSIR
|
||
db DEX_TANGELA
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_GROWLITHE
|
||
db DEX_ONIX
|
||
db DEX_FEAROW
|
||
db DEX_PIDGEY
|
||
db DEX_SLOWPOKE
|
||
db DEX_KADABRA
|
||
db DEX_GRAVELER
|
||
db DEX_CHANSEY
|
||
db DEX_MACHOKE
|
||
db DEX_MR__MIME
|
||
db DEX_HITMONLEE
|
||
db DEX_HITMONCHAN
|
||
db DEX_ARBOK
|
||
db DEX_PARASECT
|
||
db DEX_PSYDUCK
|
||
db DEX_DROWZEE
|
||
db DEX_GOLEM
|
||
db 0 ; MISSINGNO.
|
||
db DEX_MAGMAR
|
||
db 0 ; MISSINGNO.
|
||
db DEX_ELECTABUZZ
|
||
db DEX_MAGNETON
|
||
db DEX_KOFFING
|
||
db 0 ; MISSINGNO.
|
||
db DEX_MANKEY
|
||
db DEX_SEEL
|
||
db DEX_DIGLETT
|
||
db DEX_TAUROS
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_FARFETCH_D
|
||
db DEX_VENONAT
|
||
db DEX_DRAGONITE
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_DODUO
|
||
db DEX_POLIWAG
|
||
db DEX_JYNX
|
||
db DEX_MOLTRES
|
||
db DEX_ARTICUNO
|
||
db DEX_ZAPDOS
|
||
db DEX_DITTO
|
||
db DEX_MEOWTH
|
||
db DEX_KRABBY
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_VULPIX
|
||
db DEX_NINETALES
|
||
db DEX_PIKACHU
|
||
db DEX_RAICHU
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_DRATINI
|
||
db DEX_DRAGONAIR
|
||
db DEX_KABUTO
|
||
db DEX_KABUTOPS
|
||
db DEX_HORSEA
|
||
db DEX_SEADRA
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_SANDSHREW
|
||
db DEX_SANDSLASH
|
||
db DEX_OMANYTE
|
||
db DEX_OMASTAR
|
||
db DEX_JIGGLYPUFF
|
||
db DEX_WIGGLYTUFF
|
||
db DEX_EEVEE
|
||
db DEX_FLAREON
|
||
db DEX_JOLTEON
|
||
db DEX_VAPOREON
|
||
db DEX_MACHOP
|
||
db DEX_ZUBAT
|
||
db DEX_EKANS
|
||
db DEX_PARAS
|
||
db DEX_POLIWHIRL
|
||
db DEX_POLIWRATH
|
||
db DEX_WEEDLE
|
||
db DEX_KAKUNA
|
||
db DEX_BEEDRILL
|
||
db 0 ; MISSINGNO.
|
||
db DEX_DODRIO
|
||
db DEX_PRIMEAPE
|
||
db DEX_DUGTRIO
|
||
db DEX_VENOMOTH
|
||
db DEX_DEWGONG
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_CATERPIE
|
||
db DEX_METAPOD
|
||
db DEX_BUTTERFREE
|
||
db DEX_MACHAMP
|
||
db 0 ; MISSINGNO.
|
||
db DEX_GOLDUCK
|
||
db DEX_HYPNO
|
||
db DEX_GOLBAT
|
||
db DEX_MEWTWO
|
||
db DEX_SNORLAX
|
||
db DEX_MAGIKARP
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_MUK
|
||
db 0 ; MISSINGNO.
|
||
db DEX_KINGLER
|
||
db DEX_CLOYSTER
|
||
db 0 ; MISSINGNO.
|
||
db DEX_ELECTRODE
|
||
db DEX_CLEFABLE
|
||
db DEX_WEEZING
|
||
db DEX_PERSIAN
|
||
db DEX_MAROWAK
|
||
db 0 ; MISSINGNO.
|
||
db DEX_HAUNTER
|
||
db DEX_ABRA
|
||
db DEX_ALAKAZAM
|
||
db DEX_PIDGEOTTO
|
||
db DEX_PIDGEOT
|
||
db DEX_STARMIE
|
||
db DEX_BULBASAUR
|
||
db DEX_VENUSAUR
|
||
db DEX_TENTACRUEL
|
||
db 0 ; MISSINGNO.
|
||
db DEX_GOLDEEN
|
||
db DEX_SEAKING
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_PONYTA
|
||
db DEX_RAPIDASH
|
||
db DEX_RATTATA
|
||
db DEX_RATICATE
|
||
db DEX_NIDORINO
|
||
db DEX_NIDORINA
|
||
db DEX_GEODUDE
|
||
db DEX_PORYGON
|
||
db DEX_AERODACTYL
|
||
db 0 ; MISSINGNO.
|
||
db DEX_MAGNEMITE
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_CHARMANDER
|
||
db DEX_SQUIRTLE
|
||
db DEX_CHARMELEON
|
||
db DEX_WARTORTLE
|
||
db DEX_CHARIZARD
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db 0 ; MISSINGNO.
|
||
db DEX_ODDISH
|
||
db DEX_GLOOM
|
||
db DEX_VILEPLUME
|
||
db DEX_BELLSPROUT
|
||
db DEX_WEEPINBELL
|
||
db DEX_VICTREEBEL
|
||
INCBIN "baserom.gbc",$410E2,$4000 - $10E2
|
||
|
||
SECTION "bank11",DATA,BANK[$11]
|
||
INCBIN "baserom.gbc",$44000,$4000
|
||
|
||
SECTION "bank12",DATA,BANK[$12]
|
||
INCBIN "baserom.gbc",$48000,$15C
|
||
|
||
RedsHouse1F_h: ; 415C
|
||
db $01 ; tileset
|
||
db $04,$04 ; dimensions
|
||
dw RedsHouse1FBlocks,RedsHouse1FTexts,RedsHouse1FScript
|
||
db 0 ; no connections
|
||
dw RedsHouse1FObject
|
||
|
||
RedsHouse1FScript: ; 4168
|
||
jp $3C3C
|
||
|
||
RedsHouse1FTexts: ; 416B
|
||
dw RedsHouse1FText1,RedsHouse1FText2
|
||
|
||
RedsHouse1FText1: ; Mom
|
||
db 8
|
||
ld a,[$D72E]
|
||
bit 3,a
|
||
jr nz,.heal\@ ; if player has received a Pokémon from Oak, heal team
|
||
ld hl,MomWakeUpText
|
||
call PrintText
|
||
jr .done\@
|
||
.heal\@
|
||
call MomHealPokemon
|
||
.done\@
|
||
jp $24D7
|
||
|
||
MomWakeUpText:
|
||
db $17,$07,$4B,$25,$50 ; “All boys leave home some day…”
|
||
|
||
MomHealPokemon:
|
||
ld hl,MomHealText1
|
||
call PrintText
|
||
call GBFadeOut2
|
||
call $3071
|
||
ld a,7
|
||
call Predef
|
||
ld a,$E8
|
||
ld [$C0EE],a
|
||
call $23B1 ; play sound?
|
||
.next\@
|
||
ld a,[$C026]
|
||
cp $E8
|
||
jr z,.next\@
|
||
ld a,[$D35B]
|
||
ld [$C0EE],a
|
||
call $23B1
|
||
call GBFadeIn2
|
||
ld hl,MomHealText2
|
||
jp PrintText
|
||
|
||
MomHealText1:
|
||
db $17,$6D,$4B,$25,$50 ; "Red! You should take a quick rest…"
|
||
MomHealText2:
|
||
db $17,$94,$4B,$25,$50 ; “Oh good! …”
|
||
|
||
RedsHouse1FText2: ; TV
|
||
db 8
|
||
ld a,[$C109]
|
||
cp 4
|
||
ld hl,TVWrongSideText
|
||
jr nz,.done\@ ; if player is not facing up
|
||
ld hl,StandByMeText
|
||
.done\@
|
||
call PrintText
|
||
jp $24D7
|
||
|
||
StandByMeText:
|
||
db $17,$D7,$4B,$25,$50 ; “Four boys are walking…”
|
||
|
||
TVWrongSideText:
|
||
db $17,$29,$4C,$25,$50 ; “Oops, wrong side.”
|
||
|
||
RedsHouse1FObject:
|
||
db $0A ; border tile
|
||
|
||
db 3 ; warps
|
||
db 7,2,0,$FF ; exit1
|
||
db 7,3,0,$FF ; exit2
|
||
db 1,7,0,$26 ; staircase
|
||
|
||
db 1 ; signs
|
||
db 1,3,2 ; TV
|
||
|
||
db 1 ; people
|
||
db $33,4+4,5+4,$FF,$D2,1 ; Mom
|
||
|
||
; warp-to
|
||
|
||
dw $C6EF + 4 + (4 + 6) * (3) + 1
|
||
db 7,2
|
||
|
||
dw $C6EF + 4 + (4 + 6) * (3) + 1
|
||
db 7,3
|
||
|
||
dw $C6EF + 4 + (4 + 6) * (0) + 3
|
||
db 1,7
|
||
|
||
RedsHouse1FBlocks:
|
||
INCBIN "maps/redshouse1f.blk"
|
||
|
||
INCBIN "baserom.gbc",$48219,$4000 - $219
|
||
|
||
SECTION "bank13",DATA,BANK[$13]
|
||
|
||
YoungsterPic:
|
||
INCBIN "pic/trainer/youngster.pic"
|
||
BugCatcherPic:
|
||
INCBIN "pic/trainer/bugcatcher.pic"
|
||
LassPic:
|
||
INCBIN "pic/trainer/lass.pic"
|
||
SailorPic:
|
||
INCBIN "pic/trainer/sailor.pic"
|
||
JrTrainerMPic:
|
||
INCBIN "pic/trainer/jr.trainerm.pic"
|
||
JrTrainerFPic:
|
||
INCBIN "pic/trainer/jr.trainerf.pic"
|
||
PokemaniacPic:
|
||
INCBIN "pic/trainer/pokemaniac.pic"
|
||
SuperNerdPic:
|
||
INCBIN "pic/trainer/supernerd.pic"
|
||
HikerPic:
|
||
INCBIN "pic/trainer/hiker.pic"
|
||
BikerPic:
|
||
INCBIN "pic/trainer/biker.pic"
|
||
BurglarPic:
|
||
INCBIN "pic/trainer/burglar.pic"
|
||
EngineerPic:
|
||
INCBIN "pic/trainer/engineer.pic"
|
||
FisherPic:
|
||
INCBIN "pic/trainer/fisher.pic"
|
||
SwimmerPic:
|
||
INCBIN "pic/trainer/swimmer.pic"
|
||
CueBallPic:
|
||
INCBIN "pic/trainer/cueball.pic"
|
||
GamblerPic:
|
||
INCBIN "pic/trainer/gambler.pic"
|
||
BeautyPic:
|
||
INCBIN "pic/trainer/beauty.pic"
|
||
PsychicPic:
|
||
INCBIN "pic/trainer/psychic.pic"
|
||
RockerPic:
|
||
INCBIN "pic/trainer/rocker.pic"
|
||
JugglerPic:
|
||
INCBIN "pic/trainer/juggler.pic"
|
||
TamerPic:
|
||
INCBIN "pic/trainer/tamer.pic"
|
||
BirdKeeperPic:
|
||
INCBIN "pic/trainer/birdkeeper.pic"
|
||
BlackbeltPic:
|
||
INCBIN "pic/trainer/blackbelt.pic"
|
||
Rival1Pic:
|
||
INCBIN "pic/trainer/rival1.pic"
|
||
ProfOakPic:
|
||
INCBIN "pic/trainer/prof.oak.pic"
|
||
ChiefPic:
|
||
ScientistPic:
|
||
INCBIN "pic/trainer/scientist.pic"
|
||
GiovanniPic:
|
||
INCBIN "pic/trainer/giovanni.pic"
|
||
RocketPic:
|
||
INCBIN "pic/trainer/rocket.pic"
|
||
CooltrainerMPic:
|
||
INCBIN "pic/trainer/cooltrainerm.pic"
|
||
CooltrainerFPic:
|
||
INCBIN "pic/trainer/cooltrainerf.pic"
|
||
BrunoPic:
|
||
INCBIN "pic/trainer/bruno.pic"
|
||
BrockPic:
|
||
INCBIN "pic/trainer/brock.pic"
|
||
MistyPic:
|
||
INCBIN "pic/trainer/misty.pic"
|
||
LtSurgePic:
|
||
INCBIN "pic/trainer/lt.surge.pic"
|
||
ErikaPic:
|
||
INCBIN "pic/trainer/erika.pic"
|
||
KogaPic:
|
||
INCBIN "pic/trainer/koga.pic"
|
||
BlainePic:
|
||
INCBIN "pic/trainer/blaine.pic"
|
||
SabrinaPic:
|
||
INCBIN "pic/trainer/sabrina.pic"
|
||
GentlemanPic:
|
||
INCBIN "pic/trainer/gentleman.pic"
|
||
Rival2Pic:
|
||
INCBIN "pic/trainer/rival2.pic"
|
||
Rival3Pic:
|
||
INCBIN "pic/trainer/rival3.pic"
|
||
LoreleiPic:
|
||
INCBIN "pic/trainer/lorelei.pic"
|
||
ChannelerPic:
|
||
INCBIN "pic/trainer/channeler.pic"
|
||
AgathaPic:
|
||
INCBIN "pic/trainer/agatha.pic"
|
||
LancePic:
|
||
INCBIN "pic/trainer/lance.pic"
|
||
|
||
INCBIN "baserom.gbc",$4FD04,$7E49-$7D04
|
||
|
||
GetPredefPointer: ; 7E49
|
||
; stores hl in $CC4F,$CC50
|
||
; stores de in $CC51,$CC52
|
||
; stores bc in $CC53,$CC54
|
||
; grabs a byte "n" from $CC4E,
|
||
; and gets the nth (3-byte) pointer in PredefPointers
|
||
; stores the bank of said pointer in [$D0B7]
|
||
; stores the pointer in hl and returns
|
||
; ld $CC4F,hl
|
||
ld a,h
|
||
ld [$CC4F],a
|
||
ld a,l
|
||
ld [$CC50],a
|
||
|
||
; ld $CC51,de
|
||
ld hl,$CC51
|
||
ld a,d
|
||
ld [hli],a
|
||
ld a,e
|
||
ld [hli],a
|
||
|
||
; ld $CC53,bc
|
||
ld a,b
|
||
ld [hli],a
|
||
ld [hl],c
|
||
|
||
ld hl,PredefPointers
|
||
ld de,0
|
||
|
||
; de = 3 * [$CC4E]
|
||
ld a,[$CC4E]
|
||
ld e,a
|
||
add a,a
|
||
add a,e
|
||
ld e,a
|
||
jr nc,.next\@
|
||
inc d
|
||
|
||
.next\@
|
||
add hl,de
|
||
ld d,h
|
||
ld e,l
|
||
|
||
; get bank of predef routine
|
||
ld a,[de]
|
||
ld [$D0B7],a
|
||
|
||
; get pointer
|
||
inc de
|
||
ld a,[de]
|
||
ld l,a
|
||
inc de
|
||
ld a,[de]
|
||
ld h,a
|
||
|
||
ret
|
||
|
||
PredefPointers: ; 7E79
|
||
; these are pointers to ASM routines.
|
||
; they appear to be used in overworld map scripts.
|
||
dbw $0F,$4D60
|
||
dbw $0F,$70C6
|
||
dbw $0F,$7073
|
||
dbw $0B,$7E40
|
||
dbw $0F,$7103
|
||
dbw $1E,$5ABA
|
||
dbw $03,$7132
|
||
dbw $03,$76A5
|
||
dbw BANK(AttackAnimation),AttackAnimation; 08 play attack animation
|
||
dbw $03,$771E
|
||
dbw $03,$771E
|
||
dbw $03,$781D
|
||
dbw $03,$7836
|
||
dbw $03,$771E
|
||
dbw $03,$771E
|
||
dbw $03,$7850
|
||
dbw $03,$7666
|
||
dbw $03,$71D7
|
||
dbw $03,$71A6
|
||
dbw $03,$469C
|
||
dbw $0F,$4A83
|
||
dbw $03,$71C8
|
||
dbw $03,$71C8
|
||
dbw $03,$6E9E
|
||
dbw $03,$7850
|
||
dbw $03,$4754
|
||
dbw $0E,$6F5B
|
||
dbw $01,$6E43
|
||
dbw $03,$78A5
|
||
dbw $03,$3EB5
|
||
dbw $03,$3E2E
|
||
dbw $12,$40EB
|
||
dbw $03,$78BA
|
||
dbw $12,$40FF
|
||
dbw $03,$7929
|
||
dbw $03,$79A0
|
||
dbw $12,$4125
|
||
dbw $03,$7A1D
|
||
dbw $03,$79DC
|
||
dbw $01,$5AB0
|
||
dbw $0F,$6D02
|
||
dbw $10,$4000
|
||
dbw $0E,$6D1C
|
||
dbw $1C,$778C
|
||
dbw $0F,$6F18
|
||
dbw $01,$5A5F
|
||
dbw $03,$6A03
|
||
dbw $10,$50F3
|
||
dbw $1C,$496D
|
||
dbw $1E,$5DDA
|
||
dbw $10,$5682
|
||
dbw $1E,$5869
|
||
dbw $1C,$4B5D
|
||
dbw $03,$4586
|
||
dbw $04,$6953
|
||
dbw $04,$6B57
|
||
dbw $10,$50E2
|
||
dbw $15,$690F
|
||
dbw $10,$5010
|
||
dbw BANK(Predef3B),Predef3B; 3B display pic?
|
||
dbw $03,$6F54
|
||
dbw $10,$42D1
|
||
dbw $0E,$6FB8
|
||
dbw $1C,$770A
|
||
dbw $1C,$602B
|
||
dbw $03,$7113
|
||
dbw $17,$5B5E
|
||
dbw $04,$773E
|
||
dbw $04,$7763
|
||
dbw $1C,$5DDF
|
||
dbw $17,$40DC; 46 load dex screen
|
||
dbw $03,$72E5
|
||
dbw $03,$7A1D
|
||
dbw $0F,$4DEC
|
||
dbw $1C,$4F60
|
||
dbw $09,$7D6B
|
||
dbw $05,$7C47; 4C player exclamation
|
||
dbw $01,$5AAF
|
||
dbw $01,$64EB
|
||
dbw $0D,$7CA1
|
||
dbw $1C,$780F
|
||
dbw $1C,$76BD
|
||
dbw $1C,$75E8
|
||
dbw $1C,$77E2
|
||
dbw $1C,$5AD9
|
||
dbw $1D,$405C
|
||
dbw $11,$4169
|
||
dbw $1E,$45BA
|
||
dbw $1E,$4510
|
||
dbw $03,$45BE
|
||
dbw $03,$460B
|
||
dbw $03,$4D99
|
||
dbw $01,$4DE1
|
||
dbw $09,$7D98
|
||
dbw $03,$7473
|
||
dbw $04,$68EF
|
||
dbw $04,$68F6
|
||
dbw $07,$49C6
|
||
dbw $16,$5035
|
||
|
||
SECTION "bank14",DATA,BANK[$14]
|
||
INCBIN "baserom.gbc",$50000,$4000
|
||
|
||
SECTION "bank15",DATA,BANK[$15]
|
||
INCBIN "baserom.gbc",$54000,$4000
|
||
|
||
SECTION "bank16",DATA,BANK[$16]
|
||
INCBIN "baserom.gbc",$58000,$4000
|
||
|
||
SECTION "bank17",DATA,BANK[$17]
|
||
|
||
INCBIN "baserom.gbc",$5C000,$10
|
||
|
||
RedsHouse2FBlocks:
|
||
INCBIN "maps/redshouse2f.blk"
|
||
|
||
INCBIN "baserom.gbc",$5C020,$84
|
||
|
||
RedsHouse2F_h:
|
||
db $04 ; tileset
|
||
db $04,$04 ; dimensions
|
||
dw RedsHouse2FBlocks,RedsHouse2FTexts,RedsHouse2FScript
|
||
db 0 ; no connections
|
||
dw RedsHouse2FObject
|
||
|
||
RedsHouse2FScript:
|
||
call $3C3C
|
||
ld hl,RedsHouse2FScriptPointers
|
||
ld a,[$D60C]
|
||
jp $3D97
|
||
|
||
RedsHouse2FScriptPointers:
|
||
dw RedsHouse2FScript1,RedsHouse2FScript2
|
||
|
||
RedsHouse2FScript1:
|
||
xor a
|
||
ld [$FFB4],a
|
||
ld a,8
|
||
ld [$D528],a
|
||
ld a,1
|
||
ld [$D60C],a
|
||
ret
|
||
|
||
RedsHouse2FScript2:
|
||
ret
|
||
|
||
RedsHouse2FTexts:
|
||
db $50
|
||
|
||
RedsHouse2FObject:
|
||
db $0A ; border tile
|
||
|
||
db 1 ; warps
|
||
db 1,7,2,$25
|
||
|
||
db 0 ; signs
|
||
|
||
db 0 ; people
|
||
|
||
dw $C6EF + 4 + (4 + 6) * 0 + 3
|
||
db 1,7
|
||
|
||
INCBIN "baserom.gbc",$5C0DC,$4000-$DC
|
||
|
||
SECTION "bank18",DATA,BANK[$18]
|
||
INCBIN "baserom.gbc",$60000,$4000
|
||
|
||
SECTION "bank19",DATA,BANK[$19]
|
||
Tset00_GFX:
|
||
INCBIN "baserom.gbc",$64000,$645E0-$64000
|
||
Tset00_Block:
|
||
INCBIN "baserom.gbc",$645E0,$64DE0-$645E0
|
||
Tset01_GFX:
|
||
INCBIN "baserom.gbc",$64DE0,$65270-$64DE0
|
||
Tset01_Block:
|
||
INCBIN "baserom.gbc",$65270,$653A0-$65270
|
||
Tset08_GFX:
|
||
INCBIN "baserom.gbc",$653A0,$65980-$653A0
|
||
Tset08_Block:
|
||
INCBIN "baserom.gbc",$65980,$65BB0-$65980
|
||
Tset13_GFX:
|
||
INCBIN "baserom.gbc",$65BB0,$66190-$65BB0
|
||
Tset13_Block:
|
||
INCBIN "baserom.gbc",$66190,$66610-$66190
|
||
Tset0E_GFX:
|
||
INCBIN "baserom.gbc",$66610,$66BF0-$66610
|
||
Tset0E_Block:
|
||
INCBIN "baserom.gbc",$66BF0,$66D60-$66BF0
|
||
Tset10_GFX:
|
||
INCBIN "baserom.gbc",$66D60,$67350-$66D60
|
||
Tset10_Block:
|
||
INCBIN "baserom.gbc",$67350,$676F0-$67350
|
||
Tset17_GFX:
|
||
INCBIN "baserom.gbc",$676F0,$67B50-$676F0
|
||
Tset17_Block:
|
||
INCBIN "baserom.gbc",$67B50,$68000-$67B50
|
||
|
||
SECTION "bank1A",DATA,BANK[$1A]
|
||
INCBIN "baserom.gbc",$68000,$6807F-$68000
|
||
Tset05_GFX:
|
||
INCBIN "baserom.gbc",$6807F,$6867F-$6807F
|
||
Tset05_Block:
|
||
INCBIN "baserom.gbc",$6867F,$68DBF-$6867F
|
||
Tset02_GFX:
|
||
INCBIN "baserom.gbc",$68DBF,$693BF-$68DBF
|
||
Tset02_Block:
|
||
INCBIN "baserom.gbc",$693BF,$6960F-$693BF
|
||
Tset09_GFX:
|
||
INCBIN "baserom.gbc",$6960F,$69BFF-$6960F
|
||
Tset09_Block:
|
||
INCBIN "baserom.gbc",$69BFF,$6A3FF-$69BFF
|
||
Tset03_GFX:
|
||
INCBIN "baserom.gbc",$6A3FF,$6A9FF-$6A3FF
|
||
Tset03_Block:
|
||
INCBIN "baserom.gbc",$6A9FF,$6B1FF-$6A9FF
|
||
Tset16_GFX:
|
||
INCBIN "baserom.gbc",$6B1FF,$6B7FF-$6B1FF
|
||
Tset16_Block:
|
||
INCBIN "baserom.gbc",$6B7FF,$6C000-$6B7FF
|
||
|
||
SECTION "bank1B",DATA,BANK[$1B]
|
||
Tset0F_GFX:
|
||
INCBIN "baserom.gbc",$6C000,$6C5C0-$6C000
|
||
Tset0F_Block:
|
||
INCBIN "baserom.gbc",$6C5C0,$6CCA0-$6C5C0
|
||
Tset11_GFX:
|
||
INCBIN "baserom.gbc",$6CCA0,$6D0C0-$6CCA0
|
||
Tset11_Block:
|
||
INCBIN "baserom.gbc",$6D0C0,$6D8C0-$6D0C0
|
||
Tset12_GFX:
|
||
INCBIN "baserom.gbc",$6D8C0,$6DEA0-$6D8C0
|
||
Tset12_Block:
|
||
INCBIN "baserom.gbc",$6DEA0,$6E390-$6DEA0
|
||
Tset0D_GFX:
|
||
INCBIN "baserom.gbc",$6E390,$6E930-$6E390
|
||
Tset0D_Block:
|
||
INCBIN "baserom.gbc",$6E930,$6ED10-$6E930
|
||
Tset14_GFX:
|
||
INCBIN "baserom.gbc",$6ED10,$6F2D0-$6ED10
|
||
Tset14_Block:
|
||
INCBIN "baserom.gbc",$6F2D0,$6F670-$6F2D0
|
||
Tset15_GFX:
|
||
INCBIN "baserom.gbc",$6F670,$6FB20-$6F670
|
||
Tset15_Block:
|
||
INCBIN "baserom.gbc",$6FB20,$6FD60-$6FB20
|
||
Tset0B_GFX:
|
||
INCBIN "baserom.gbc",$6FD60,$6FEF0-$6FD60
|
||
Tset0B_Block:
|
||
INCBIN "baserom.gbc",$6FEF0,$70000-$6FEF0
|
||
|
||
SECTION "bank1C",DATA,BANK[$1C]
|
||
INCBIN "baserom.gbc",$70000,$1100
|
||
|
||
CompressedMap: ; 5100
|
||
; you can decompress this file with the redrle program in the extras/ dir
|
||
INCBIN "baserom.gbc",$71100,$711AB-$71100
|
||
|
||
INCBIN "baserom.gbc",$711AB,$71313-$711AB
|
||
|
||
ExternalMapEntries: ; 5313
|
||
EMAP $2,$B,PalletTownName
|
||
EMAP $2,$8,ViridianCityName
|
||
EMAP $2,$3,PewterCityName
|
||
EMAP $A,$2,CeruleanCityName
|
||
EMAP $E,$5,LavenderTownName
|
||
EMAP $A,$9,VermilionCityName
|
||
EMAP $7,$5,CeladonCityName
|
||
EMAP $8,$D,FuchsiaCityName
|
||
EMAP $2,$F,CinnabarIslandName
|
||
EMAP $0,$2,IndigoPlateauName
|
||
EMAP $A,$5,SaffronCityName
|
||
EMAP $0,$0,PalletTownName ; unused
|
||
EMAP $2,$A,Route1Name
|
||
EMAP $2,$6,Route2Name
|
||
EMAP $4,$3,Route3Name
|
||
EMAP $8,$2,Route4Name
|
||
EMAP $A,$3,Route5Name
|
||
EMAP $A,$8,Route6Name
|
||
EMAP $8,$5,Route7Name
|
||
EMAP $D,$5,Route8Name
|
||
EMAP $D,$2,Route9Name
|
||
EMAP $E,$4,Route10Name
|
||
EMAP $C,$9,Route11Name
|
||
EMAP $E,$9,Route12Name
|
||
EMAP $D,$B,Route13Name
|
||
EMAP $B,$C,Route14Name
|
||
EMAP $A,$D,Route15Name
|
||
EMAP $5,$5,Route16Name
|
||
EMAP $4,$8,Route17Name
|
||
EMAP $6,$D,Route18Name
|
||
EMAP $6,$F,Route19Name
|
||
EMAP $4,$F,Route20Name
|
||
EMAP $2,$D,Route21Name
|
||
EMAP $0,$8,Route22Name
|
||
EMAP $0,$6,Route23Name
|
||
EMAP $A,$1,Route24Name
|
||
EMAP $B,$0,Route25Name
|
||
|
||
InternalMapEntries: ; 5382
|
||
IMAP $29,$2,$B,PalletTownName
|
||
IMAP $2E,$2,$8,ViridianCityName
|
||
IMAP $33,$2,$6,Route2Name
|
||
IMAP $34,$2,$4,ViridianForestName
|
||
IMAP $3B,$2,$3,PewterCityName
|
||
IMAP $3E,$6,$2,MountMoonName
|
||
IMAP $44,$A,$2,CeruleanCityName
|
||
IMAP $45,$5,$2,Route4Name
|
||
IMAP $46,$A,$2,CeruleanCityName
|
||
IMAP $49,$A,$4,Route5Name
|
||
IMAP $4C,$A,$6,Route6Name
|
||
IMAP $4F,$9,$5,Route7Name
|
||
IMAP $51,$B,$5,Route8Name
|
||
IMAP $53,$E,$3,RockTunnelName
|
||
IMAP $54,$F,$4,PowerPlantName
|
||
IMAP $57,$D,$9,Route11Name
|
||
IMAP $58,$E,$7,Route12Name
|
||
IMAP $59,$C,$0,SeaCottageName
|
||
IMAP $5F,$A,$9,VermilionCityName
|
||
IMAP $69,$9,$A,SSAnneName
|
||
IMAP $6D,$0,$4,VictoryRoadName
|
||
IMAP $77,$0,$2,PokemonLeagueName
|
||
IMAP $78,$A,$5,UndergroundPathName
|
||
IMAP $79,$0,$2,PokemonLeagueName
|
||
IMAP $7A,$A,$5,UndergroundPathName
|
||
IMAP $8D,$7,$5,CeladonCityName
|
||
IMAP $8E,$E,$5,LavenderTownName
|
||
IMAP $95,$F,$5,PokemonTowerName
|
||
IMAP $98,$E,$5,LavenderTownName
|
||
IMAP $9C,$8,$D,FuchsiaCityName
|
||
IMAP $9D,$8,$C,SafariZoneName
|
||
IMAP $9F,$8,$D,FuchsiaCityName
|
||
IMAP $A3,$5,$F,SeafoamIslandsName
|
||
IMAP $A4,$A,$9,VermilionCityName
|
||
IMAP $A5,$8,$D,FuchsiaCityName
|
||
IMAP $A6,$2,$F,PokemonMansionName
|
||
IMAP $AE,$2,$F,CinnabarIslandName
|
||
IMAP $AF,$0,$2,IndigoPlateauName
|
||
IMAP $B8,$A,$5,SaffronCityName
|
||
IMAP $BA,$9,$D,Route15Name
|
||
IMAP $BD,$4,$5,Route16Name
|
||
IMAP $BE,$E,$A,Route12Name
|
||
IMAP $C0,$7,$D,Route18Name
|
||
IMAP $C1,$5,$F,SeafoamIslandsName
|
||
IMAP $C2,$0,$7,Route22Name
|
||
IMAP $C3,$0,$4,VictoryRoadName
|
||
IMAP $C4,$E,$7,Route12Name
|
||
IMAP $C5,$A,$9,VermilionCityName
|
||
IMAP $C6,$3,$4,DiglettsCaveName
|
||
IMAP $C7,$0,$4,VictoryRoadName
|
||
IMAP $CF,$7,$5,RocketHQName
|
||
IMAP $D6,$A,$5,SilphCoName
|
||
IMAP $D9,$2,$F,PokemonMansionName
|
||
IMAP $E2,$8,$C,SafariZoneName
|
||
IMAP $E5,$9,$1,CeruleanCaveName
|
||
IMAP $E6,$E,$5,LavenderTownName
|
||
IMAP $E7,$A,$2,CeruleanCityName
|
||
IMAP $E9,$E,$3,RockTunnelName
|
||
IMAP $ED,$A,$5,SilphCoName
|
||
IMAP $F8,$0,$2,PokemonLeagueName
|
||
db $FF
|
||
|
||
MapNames: ; 5473
|
||
PalletTownName:
|
||
db $8f,$80,$8b,$8b,$84,$93,$7f,$93,$8e,$96,$8d,$50
|
||
ViridianCityName:
|
||
db $95,$88,$91,$88,$83,$88,$80,$8d,$7f,$82,$88,$93,$98,$50
|
||
PewterCityName:
|
||
db $8f,$84,$96,$93,$84,$91,$7f,$82,$88,$93,$98,$50
|
||
CeruleanCityName:
|
||
db $82,$84,$91,$94,$8b,$84,$80,$8d,$7f,$82,$88,$93,$98,$50
|
||
LavenderTownName:
|
||
db $8b,$80,$95,$84,$8d,$83,$84,$91,$7f,$93,$8e,$96,$8d,$50
|
||
VermilionCityName:
|
||
db $95,$84,$91,$8c,$88,$8b,$88,$8e,$8d,$7f,$82,$88,$93,$98,$50
|
||
CeladonCityName:
|
||
db $82,$84,$8b,$80,$83,$8e,$8d,$7f,$82,$88,$93,$98,$50
|
||
FuchsiaCityName:
|
||
db $85,$94,$82,$87,$92,$88,$80,$7f,$82,$88,$93,$98,$50
|
||
CinnabarIslandName:
|
||
db $82,$88,$8d,$8d,$80,$81,$80,$91,$7f,$88,$92,$8b,$80,$8d,$83,$50
|
||
IndigoPlateauName:
|
||
db $88,$8d,$83,$88,$86,$8e,$7f,$8f,$8b,$80,$93,$84,$80,$94,$50
|
||
SaffronCityName:
|
||
db $92,$80,$85,$85,$91,$8e,$8d,$7f,$82,$88,$93,$98,$50
|
||
Route1Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$50
|
||
Route2Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f8,$50
|
||
Route3Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f9,$50
|
||
Route4Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$fa,$50
|
||
Route5Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$fb,$50
|
||
Route6Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$fc,$50
|
||
Route7Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$fd,$50
|
||
Route8Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$fe,$50
|
||
Route9Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$ff,$50
|
||
Route10Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$f6,$50
|
||
Route11Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$f7,$50
|
||
Route12Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$f8,$50
|
||
Route13Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$f9,$50
|
||
Route14Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$fa,$50
|
||
Route15Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$fb,$50
|
||
Route16Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$fc,$50
|
||
Route17Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$fd,$50
|
||
Route18Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f7,$fe,$50
|
||
Route19Name:
|
||
db $92,$84,$80,$7f,$91,$8e,$94,$93,$84,$7f,$f7,$ff,$50
|
||
Route20Name:
|
||
db $92,$84,$80,$7f,$91,$8e,$94,$93,$84,$7f,$f8,$f6,$50
|
||
Route21Name:
|
||
db $92,$84,$80,$7f,$91,$8e,$94,$93,$84,$7f,$f8,$f7,$50
|
||
Route22Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f8,$f8,$50
|
||
Route23Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f8,$f9,$50
|
||
Route24Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f8,$fa,$50
|
||
Route25Name:
|
||
db $91,$8e,$94,$93,$84,$7f,$f8,$fb,$50
|
||
ViridianForestName:
|
||
db $95,$88,$91,$88,$83,$88,$80,$8d,$7f,$85,$8e,$91,$84,$92,$93,$50
|
||
MountMoonName:
|
||
db $8c,$93,$e8,$8c,$8e,$8e,$8d,$50
|
||
RockTunnelName:
|
||
db $91,$8e,$82,$8a,$7f,$93,$94,$8d,$8d,$84,$8b,$50
|
||
SeaCottageName:
|
||
db $92,$84,$80,$7f,$82,$8e,$93,$93,$80,$86,$84,$50
|
||
SSAnneName:
|
||
db $92,$e8,$92,$e8,$80,$8d,$8d,$84,$50
|
||
PokemonLeagueName:
|
||
db $54,$8c,$8e,$8d,$7f,$8b,$84,$80,$86,$94,$84,$50
|
||
UndergroundPathName:
|
||
db $94,$8d,$83,$84,$91,$86,$91,$8e,$94,$8d,$83,$7f,$8f,$80,$93,$87,$50
|
||
PokemonTowerName:
|
||
db $54,$8c,$8e,$8d,$7f,$93,$8e,$96,$84,$91,$50
|
||
SeafoamIslandsName:
|
||
db $92,$84,$80,$85,$8e,$80,$8c,$7f,$88,$92,$8b,$80,$8d,$83,$92,$50
|
||
VictoryRoadName:
|
||
db $95,$88,$82,$93,$8e,$91,$98,$7f,$91,$8e,$80,$83,$50
|
||
DiglettsCaveName:
|
||
db $83,$88,$86,$8b,$84,$93,$93,$bd,$7f,$82,$80,$95,$84,$50
|
||
RocketHQName:
|
||
db $91,$8e,$82,$8a,$84,$93,$7f,$87,$90,$50
|
||
SilphCoName:
|
||
db $92,$88,$8b,$8f,$87,$7f,$82,$8e,$e8,$50
|
||
PokemonMansionName:
|
||
db $4a,$7f,$8c,$80,$8d,$92,$88,$8e,$8d,$50
|
||
SafariZoneName:
|
||
db $92,$80,$85,$80,$91,$88,$7f,$99,$8e,$8d,$84,$50
|
||
CeruleanCaveName:
|
||
db $82,$84,$91,$94,$8b,$84,$80,$8d,$7f,$82,$80,$95,$84,$50
|
||
PowerPlantName:
|
||
db $8f,$8e,$96,$84,$91,$7f,$8f,$8b,$80,$8d,$93,$50
|
||
|
||
INCBIN "baserom.gbc",$716BE,$71B7B-$716BE
|
||
|
||
TradeMons: ; 5B7B
|
||
; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total
|
||
; TERRY
|
||
db NIDORINO,NIDORINA,0,$93,$84,$91,$91,$98,$50,$50,$50,$50,$50,$50
|
||
; MARCEL
|
||
db ABRA,MR__MIME,0,$8C,$80,$91,$82,$84,$8B,$50,$50,$50,$50,$50
|
||
; CHIKUCHIKU
|
||
db BUTTERFREE,BEEDRILL,2,$82,$87,$88,$8A,$94,$82,$87,$88,$8A,$94,$50
|
||
; SAILOR
|
||
db PONYTA,SEEL,0,$92,$80,$88,$8B,$8E,$91,$50,$50,$50,$50,$50
|
||
; DUX
|
||
db SPEAROW,FARFETCH_D,2,$83,$94,$97,$50,$50,$50,$50,$50,$50,$50,$50
|
||
; MARC
|
||
db SLOWBRO,LICKITUNG,0,$8C,$80,$91,$82,$50,$50,$50,$50,$50,$50,$50
|
||
; LOLA
|
||
db POLIWHIRL,JYNX,1,$8B,$8E,$8B,$80,$50,$50,$50,$50,$50,$50,$50
|
||
; DORIS
|
||
db RAICHU,ELECTRODE,1,$83,$8E,$91,$88,$92,$50,$50,$50,$50,$50,$50
|
||
; CRINKLES
|
||
db VENONAT,TANGELA,2,$82,$91,$88,$8D,$8A,$8B,$84,$92,$50,$50,$50
|
||
; SPOT
|
||
db NIDORAN_M,NIDORAN_F,2,$92,$8F,$8E,$93,$50,$50,$50,$50,$50,$50,$50
|
||
|
||
INCBIN "baserom.gbc",$71C07,$725C8-$71C07
|
||
|
||
MonsterPalettes: ; 65C8
|
||
db PAL_MEWMON ; MISSINGNO
|
||
db PAL_GREENMON ; BULBASAUR
|
||
db PAL_GREENMON ; IVYSAUR
|
||
db PAL_GREENMON ; VENUSAUR
|
||
db PAL_REDMON ; CHARMANDER
|
||
db PAL_REDMON ; CHARMELEON
|
||
db PAL_REDMON ; CHARIZARD
|
||
db PAL_CYANMON ; SQUIRTLE
|
||
db PAL_CYANMON ; WARTORTLE
|
||
db PAL_CYANMON ; BLASTOISE
|
||
db PAL_GREENMON ; CATERPIE
|
||
db PAL_GREENMON ; METAPOD
|
||
db PAL_CYANMON ; BUTTERFREE
|
||
db PAL_YELLOWMON ; WEEDLE
|
||
db PAL_YELLOWMON ; KAKUNA
|
||
db PAL_YELLOWMON ; BEEDRILL
|
||
db PAL_BROWNMON ; PIDGEY
|
||
db PAL_BROWNMON ; PIDGEOTTO
|
||
db PAL_BROWNMON ; PIDGEOT
|
||
db PAL_GREYMON ; RATTATA
|
||
db PAL_GREYMON ; RATICATE
|
||
db PAL_BROWNMON ; SPEAROW
|
||
db PAL_BROWNMON ; FEAROW
|
||
db PAL_PURPLEMON ; EKANS
|
||
db PAL_PURPLEMON ; ARBOK
|
||
db PAL_YELLOWMON ; PIKACHU
|
||
db PAL_YELLOWMON ; RAICHU
|
||
db PAL_BROWNMON ; SANDSHREW
|
||
db PAL_BROWNMON ; SANDSLASH
|
||
db PAL_BLUEMON ; NIDORAN_F
|
||
db PAL_BLUEMON ; NIDORINA
|
||
db PAL_BLUEMON ; NIDOQUEEN
|
||
db PAL_PURPLEMON ; NIDORAN_M
|
||
db PAL_PURPLEMON ; NIDORINO
|
||
db PAL_PURPLEMON ; NIDOKING
|
||
db PAL_PINKMON ; CLEFAIRY
|
||
db PAL_PINKMON ; CLEFABLE
|
||
db PAL_REDMON ; VULPIX
|
||
db PAL_YELLOWMON ; NINETALES
|
||
db PAL_PINKMON ; JIGGLYPUFF
|
||
db PAL_PINKMON ; WIGGLYTUFF
|
||
db PAL_BLUEMON ; ZUBAT
|
||
db PAL_BLUEMON ; GOLBAT
|
||
db PAL_GREENMON ; ODDISH
|
||
db PAL_REDMON ; GLOOM
|
||
db PAL_REDMON ; VILEPLUME
|
||
db PAL_REDMON ; PARAS
|
||
db PAL_REDMON ; PARASECT
|
||
db PAL_PURPLEMON ; VENONAT
|
||
db PAL_PURPLEMON ; VENOMOTH
|
||
db PAL_BROWNMON ; DIGLETT
|
||
db PAL_BROWNMON ; DUGTRIO
|
||
db PAL_YELLOWMON ; MEOWTH
|
||
db PAL_YELLOWMON ; PERSIAN
|
||
db PAL_YELLOWMON ; PSYDUCK
|
||
db PAL_CYANMON ; GOLDUCK
|
||
db PAL_BROWNMON ; MANKEY
|
||
db PAL_BROWNMON ; PRIMEAPE
|
||
db PAL_BROWNMON ; GROWLITHE
|
||
db PAL_REDMON ; ARCANINE
|
||
db PAL_BLUEMON ; POLIWAG
|
||
db PAL_BLUEMON ; POLIWHIRL
|
||
db PAL_BLUEMON ; POLIWRATH
|
||
db PAL_YELLOWMON ; ABRA
|
||
db PAL_YELLOWMON ; KADABRA
|
||
db PAL_YELLOWMON ; ALAKAZAM
|
||
db PAL_GREYMON ; MACHOP
|
||
db PAL_GREYMON ; MACHOKE
|
||
db PAL_GREYMON ; MACHAMP
|
||
db PAL_GREENMON ; BELLSPROUT
|
||
db PAL_GREENMON ; WEEPINBELL
|
||
db PAL_GREENMON ; VICTREEBEL
|
||
db PAL_CYANMON ; TENTACOOL
|
||
db PAL_CYANMON ; TENTACRUEL
|
||
db PAL_GREYMON ; GEODUDE
|
||
db PAL_GREYMON ; GRAVELER
|
||
db PAL_GREYMON ; GOLEM
|
||
db PAL_REDMON ; PONYTA
|
||
db PAL_REDMON ; RAPIDASH
|
||
db PAL_PINKMON ; SLOWPOKE
|
||
db PAL_PINKMON ; SLOWBRO
|
||
db PAL_GREYMON ; MAGNEMITE
|
||
db PAL_GREYMON ; MAGNETON
|
||
db PAL_BROWNMON ; FARFETCH_D
|
||
db PAL_BROWNMON ; DODUO
|
||
db PAL_BROWNMON ; DODRIO
|
||
db PAL_BLUEMON ; SEEL
|
||
db PAL_BLUEMON ; DEWGONG
|
||
db PAL_PURPLEMON ; GRIMER
|
||
db PAL_PURPLEMON ; MUK
|
||
db PAL_GREYMON ; SHELLDER
|
||
db PAL_GREYMON ; CLOYSTER
|
||
db PAL_PURPLEMON ; GASTLY
|
||
db PAL_PURPLEMON ; HAUNTER
|
||
db PAL_PURPLEMON ; GENGAR
|
||
db PAL_GREYMON ; ONIX
|
||
db PAL_YELLOWMON ; DROWZEE
|
||
db PAL_YELLOWMON ; HYPNO
|
||
db PAL_REDMON ; KRABBY
|
||
db PAL_REDMON ; KINGLER
|
||
db PAL_YELLOWMON ; VOLTORB
|
||
db PAL_YELLOWMON ; ELECTRODE
|
||
db PAL_PINKMON ; EXEGGCUTE
|
||
db PAL_GREENMON ; EXEGGUTOR
|
||
db PAL_GREYMON ; CUBONE
|
||
db PAL_GREYMON ; MAROWAK
|
||
db PAL_BROWNMON ; HITMONLEE
|
||
db PAL_BROWNMON ; HITMONCHAN
|
||
db PAL_PINKMON ; LICKITUNG
|
||
db PAL_PURPLEMON ; KOFFING
|
||
db PAL_PURPLEMON ; WEEZING
|
||
db PAL_GREYMON ; RHYHORN
|
||
db PAL_GREYMON ; RHYDON
|
||
db PAL_PINKMON ; CHANSEY
|
||
db PAL_BLUEMON ; TANGELA
|
||
db PAL_BROWNMON ; KANGASKHAN
|
||
db PAL_CYANMON ; HORSEA
|
||
db PAL_CYANMON ; SEADRA
|
||
db PAL_REDMON ; GOLDEEN
|
||
db PAL_REDMON ; SEAKING
|
||
db PAL_REDMON ; STARYU
|
||
db PAL_GREYMON ; STARMIE
|
||
db PAL_PINKMON ; MR__MIME
|
||
db PAL_GREENMON ; SCYTHER
|
||
db PAL_MEWMON ; JYNX
|
||
db PAL_YELLOWMON ; ELECTABUZZ
|
||
db PAL_REDMON ; MAGMAR
|
||
db PAL_BROWNMON ; PINSIR
|
||
db PAL_GREYMON ; TAUROS
|
||
db PAL_REDMON ; MAGIKARP
|
||
db PAL_BLUEMON ; GYARADOS
|
||
db PAL_CYANMON ; LAPRAS
|
||
db PAL_GREYMON ; DITTO
|
||
db PAL_GREYMON ; EEVEE
|
||
db PAL_CYANMON ; VAPOREON
|
||
db PAL_YELLOWMON ; JOLTEON
|
||
db PAL_REDMON ; FLAREON
|
||
db PAL_GREYMON ; PORYGON
|
||
db PAL_BLUEMON ; OMANYTE
|
||
db PAL_BLUEMON ; OMASTAR
|
||
db PAL_BROWNMON ; KABUTO
|
||
db PAL_BROWNMON ; KABUTOPS
|
||
db PAL_GREYMON ; AERODACTYL
|
||
db PAL_PINKMON ; SNORLAX
|
||
db PAL_BLUEMON ; ARTICUNO
|
||
db PAL_YELLOWMON ; ZAPDOS
|
||
db PAL_REDMON ; MOLTRES
|
||
db PAL_GREYMON ; DRATINI
|
||
db PAL_BLUEMON ; DRAGONAIR
|
||
db PAL_BROWNMON ; DRAGONITE
|
||
db PAL_MEWMON ; MEWTWO
|
||
db PAL_MEWMON ; MEW
|
||
|
||
; palettes for overworlds, title screen, monsters
|
||
SuperPalettes: ; 6660
|
||
RGB 31,29,31 ; PAL_ROUTE
|
||
RGB 21,28,11
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_PALLET
|
||
RGB 25,28,27
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_VIRIDIAN
|
||
RGB 17,26,3
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_PEWTER
|
||
RGB 23,25,16
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_CERULEAN
|
||
RGB 17,20,30
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_LAVENDER
|
||
RGB 27,20,27
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_VERMILION
|
||
RGB 30,18,0
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_CELADON
|
||
RGB 16,30,22
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_FUCHSIA
|
||
RGB 31,15,22
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_CINNABAR
|
||
RGB 26,10,6
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_INDIGO
|
||
RGB 22,14,24
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_SAFFRON
|
||
RGB 27,27,3
|
||
RGB 20,26,31
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; XXX
|
||
RGB 20,26,31
|
||
RGB 17,23,10
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_LOGO1
|
||
RGB 30,30,17
|
||
RGB 17,23,10
|
||
RGB 21,0,4
|
||
RGB 31,29,31 ; XXX
|
||
RGB 30,30,17
|
||
RGB 18,18,24
|
||
RGB 7,7,16
|
||
RGB 31,29,31 ; PAL_LOGO2
|
||
RGB 24,20,30
|
||
RGB 11,20,30
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_MEWMON
|
||
RGB 30,22,17
|
||
RGB 16,14,19
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_BLUEMON
|
||
RGB 18,20,27
|
||
RGB 11,15,23
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_REDMON
|
||
RGB 31,20,10
|
||
RGB 26,10,6
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_CYANMON
|
||
RGB 21,25,29
|
||
RGB 14,19,25
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_PURPLEMON
|
||
RGB 27,22,24
|
||
RGB 21,15,23
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_BROWNMON
|
||
RGB 28,20,15
|
||
RGB 21,14,9
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_GREENMON
|
||
RGB 20,26,16
|
||
RGB 9,20,11
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_PINKMON
|
||
RGB 30,22,24
|
||
RGB 28,15,21
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_YELLOWMON
|
||
RGB 31,28,14
|
||
RGB 26,20,0
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_GREYMON
|
||
RGB 26,21,22
|
||
RGB 15,15,18
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_SLOTS1
|
||
RGB 26,21,22
|
||
RGB 27,20,6
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_SLOTS2
|
||
RGB 31,31,17
|
||
RGB 25,17,21
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_SLOTS3
|
||
RGB 22,31,16
|
||
RGB 25,17,21
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_SLOTS4
|
||
RGB 16,19,29
|
||
RGB 25,17,21
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_BLACK
|
||
RGB 7,7,7
|
||
RGB 2,3,3
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_GREENBAR
|
||
RGB 30,26,15
|
||
RGB 9,20,11
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_YELLOWBAR
|
||
RGB 30,26,15
|
||
RGB 26,20,0
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_REDBAR
|
||
RGB 30,26,15
|
||
RGB 26,10,6
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_BADGE
|
||
RGB 30,22,17
|
||
RGB 11,15,23
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; PAL_CAVE
|
||
RGB 21,14,9
|
||
RGB 18,24,22
|
||
RGB 3,2,2
|
||
RGB 31,29,31 ; XXX
|
||
RGB 31,28,14
|
||
RGB 24,20,10
|
||
RGB 3,2,2
|
||
BorderPalettes: ; 6788
|
||
INCBIN "baserom.gbc",$72788,$4000 - $2788
|
||
|
||
|
||
SECTION "bank1D",DATA,BANK[$1D]
|
||
INCBIN "baserom.gbc",$74000,$4000
|
||
|
||
SECTION "bank1E",DATA,BANK[$1E]
|
||
INCBIN "baserom.gbc",$78000,$F1
|
||
|
||
PlayAnimation: ; 40F1
|
||
xor a
|
||
ld [$FF8B],a
|
||
ld [$D08B],a
|
||
ld a,[$D07C]
|
||
dec a
|
||
ld l,a
|
||
ld h,0
|
||
add hl,hl
|
||
ld de,$607D
|
||
add hl,de
|
||
ld a,[hli]
|
||
ld h,[hl]
|
||
ld l,a
|
||
.next7\@
|
||
ld a,[hli]
|
||
cp a,$FF
|
||
jr z,.AnimationOver\@
|
||
cp a,$C0 ; is this animation for a monster onscreen?
|
||
jr c,.next2\@
|
||
ld c,a
|
||
ld de,$50DA
|
||
.next4\@
|
||
ld a,[de]
|
||
cp c
|
||
jr z,.next3\@
|
||
inc de
|
||
inc de
|
||
inc de
|
||
jr .next4\@
|
||
.next3\@
|
||
ld a,[hli]
|
||
cp a,$FF
|
||
jr z,.next5\@
|
||
ld [$CF07],a
|
||
push hl
|
||
push de
|
||
call $586F
|
||
call $23B1
|
||
pop de
|
||
pop hl
|
||
.next5\@
|
||
push hl
|
||
inc de
|
||
ld a,[de]
|
||
ld l,a
|
||
inc de
|
||
ld a,[de]
|
||
ld h,a
|
||
ld de,.next6\@
|
||
push de
|
||
jp [hl]
|
||
.next2\@
|
||
ld c,a
|
||
and a,$3F
|
||
ld [$D086],a
|
||
xor a
|
||
sla c
|
||
rla
|
||
sla c
|
||
rla
|
||
ld [$D09F],a
|
||
ld a,[hli]
|
||
ld [$CF07],a
|
||
ld a,[hli]
|
||
ld c,l
|
||
ld b,h
|
||
ld l,a
|
||
ld h,0
|
||
add hl,hl
|
||
ld de,$676D
|
||
add hl,de
|
||
ld a,l
|
||
ld [$D094],a
|
||
ld a,h
|
||
ld [$D095],a
|
||
ld l,c
|
||
ld h,b
|
||
push hl
|
||
ld a,[rOBP0]
|
||
push af
|
||
ld a,[$CC79]
|
||
ld [rOBP0],a
|
||
call $41D2
|
||
call $417C
|
||
call $4E53 ; play the actual animation
|
||
pop af
|
||
ld [rOBP0],a
|
||
.next6\@
|
||
pop hl
|
||
jr .next7\@
|
||
.AnimationOver\@ ; 417B
|
||
ret
|
||
|
||
INCBIN "baserom.gbc",$7817C,$78D5E - $7817C
|
||
|
||
AttackAnimation: ; 4D5E
|
||
push hl
|
||
push de
|
||
push bc
|
||
push af
|
||
call $3748
|
||
call $4E23
|
||
ld a,[$D07C]
|
||
and a
|
||
jr z,.AnimationFinished\@
|
||
|
||
; if throwing a Poké Ball, skip the regular animation code
|
||
cp a,TOSS_ANIM
|
||
jr nz,.AttackAnimation\@
|
||
ld de,.AnimationFinished\@
|
||
push de
|
||
jp TossBallAnimation
|
||
|
||
.AttackAnimation\@
|
||
; check if battle animations are disabled in the options
|
||
ld a,[$D355]
|
||
bit 7,a
|
||
jr nz,.AnimationsDisabled\@
|
||
call ShareAttackAnimations
|
||
call PlayAnimation
|
||
jr .next4\@
|
||
.AnimationsDisabled\@
|
||
ld c,30
|
||
call DelayFrames
|
||
.next4\@
|
||
call $4DBD ; reload pic and flash the pic in and out (to show damage)
|
||
.AnimationFinished\@
|
||
call $3748
|
||
xor a
|
||
ld [$D096],a
|
||
ld [$D09B],a
|
||
ld [$D08B],a
|
||
dec a
|
||
ld [$CF07],a
|
||
pop af
|
||
pop bc
|
||
pop de
|
||
pop hl
|
||
ret
|
||
|
||
ShareAttackAnimations: ; 4DA6
|
||
; some moves just reuse animations from status conditions
|
||
ld a,[$FFF3]
|
||
and a
|
||
ret z
|
||
|
||
ld a,[$D07C]
|
||
|
||
cp a,AMNESIA
|
||
ld b,CONF_ANIM
|
||
jr z,.Replace\@
|
||
|
||
cp a,REST
|
||
ld b,SLP_ANIM
|
||
ret nz
|
||
|
||
.Replace\@
|
||
ld a,b
|
||
ld [$D07C],a
|
||
ret
|
||
|
||
Function4DBD: ; 4DBD
|
||
ld a,[$CC5B]
|
||
and a
|
||
ret z
|
||
dec a
|
||
add a
|
||
ld c,a
|
||
ld b,0
|
||
ld hl,Pointer4DCF
|
||
add hl,bc
|
||
ld a,[hli]
|
||
ld h,[hl]
|
||
ld l,a
|
||
jp [hl]
|
||
|
||
Pointer4DCF: ; 4DCF
|
||
dw $4DDB,$4DE3,$4DEB,$4DF0,$4DF6,$4DFE
|
||
|
||
INCBIN "baserom.gbc",$78DDB,$79E16 - $78DDB
|
||
|
||
TossBallAnimation: ; 5E16
|
||
ld a,[$D057]
|
||
cp a,2
|
||
jr z,.next4\@
|
||
ld a,[$D11E]
|
||
ld b,a
|
||
and a,$F0
|
||
swap a
|
||
ld c,a
|
||
ld a,b
|
||
and a,$F
|
||
ld [$CD3D],a
|
||
ld hl,.Pointer5E50
|
||
ld a,[$CF91]
|
||
cp a,4
|
||
ld b,$C1
|
||
jr z,.next2\@
|
||
cp a,3
|
||
ld b,$C5
|
||
jr z,.next2\@
|
||
ld b,$C6
|
||
.next2\@
|
||
ld a,b
|
||
.next3\@
|
||
ld [$D07C],a
|
||
push bc
|
||
push hl
|
||
call $40F1
|
||
pop hl
|
||
ld a,[hli]
|
||
pop bc
|
||
dec c
|
||
jr nz,.next3\@
|
||
ret
|
||
|
||
.Pointer5E50: ; 5E50
|
||
db $C3,$C8,$C2,$C3,$A6 ; XXX what is this
|
||
|
||
.next4\@ ; 5E55
|
||
ld a,$C1
|
||
ld [$D07C],a
|
||
call $40F1
|
||
ld a,$95
|
||
call $23B1
|
||
ld a,$C4
|
||
ld [$D07C],a
|
||
jp $40F1
|
||
|
||
INCBIN "baserom.gbc",$79E6A,$7C000 - $79E6A
|
||
|
||
SECTION "bank1F",DATA,BANK[$1F]
|
||
INCBIN "baserom.gbc",$7C000,$4000
|
||
|
||
SECTION "bank20",DATA,BANK[$20]
|
||
INCBIN "baserom.gbc",$80000,$4000
|
||
|
||
SECTION "bank21",DATA,BANK[$21]
|
||
INCBIN "baserom.gbc",$84000,$4000
|
||
|
||
SECTION "bank22",DATA,BANK[$22]
|
||
INCBIN "baserom.gbc",$88000,$BE
|
||
|
||
_AIBattleWithdrawText:
|
||
INCBIN "baserom.gbc",$880BE,$17
|
||
_AIBattleUseItemText:
|
||
INCBIN "baserom.gbc",$880D5,$1A
|
||
|
||
INCBIN "baserom.gbc",$880EF,$2C0A
|
||
|
||
SECTION "bank23",DATA,BANK[$23]
|
||
INCBIN "baserom.gbc",$8C000,$4000
|
||
|
||
SECTION "bank24",DATA,BANK[$24]
|
||
INCBIN "baserom.gbc",$90000,$4000
|
||
|
||
SECTION "bank25",DATA,BANK[$25]
|
||
INCBIN "baserom.gbc",$94000,$4000
|
||
|
||
SECTION "bank26",DATA,BANK[$26]
|
||
INCBIN "baserom.gbc",$98000,$4000
|
||
|
||
SECTION "bank27",DATA,BANK[$27]
|
||
INCBIN "baserom.gbc",$9C000,$4000
|
||
|
||
SECTION "bank28",DATA,BANK[$28]
|
||
INCBIN "baserom.gbc",$A0000,$4000
|
||
|
||
SECTION "bank29",DATA,BANK[$29]
|
||
INCBIN "baserom.gbc",$A4000,$4000
|
||
|
||
SECTION "bank2A",DATA,BANK[$2A]
|
||
INCBIN "baserom.gbc",$A8000,$4000
|
||
|
||
SECTION "bank2B",DATA,BANK[$2B]
|
||
INCBIN "baserom.gbc",$AC000,$4000
|
||
|
||
SECTION "bank2C",DATA,BANK[$2C]
|
||
INCBIN "baserom.gbc",$B0000,$4000
|