pokecrystal-board/data/odd_eggs.asm
yenatch 023cfdbb05 Consolidate monster structs in wram and sram.
The PartyMon struct is really the box struct with volatile variables like status added.

Some other labels have been reworked.
Move structs no longer have explicit labels since their location is arbitrary and usually shared.
2014-06-12 18:32:42 -07:00

466 lines
6.9 KiB
NASM

GiveOddEgg: ; 1fb4b6
; Figure out which egg to give.
call Random
ld hl, .Probabilities
ld c, 0
ld b, c
.next
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
ld a, d
cp $ff
jr nz, .first
ld a, e
cp $ff
jr z, .done
.first
ld a, [hRandomSub]
cp d
jr c, .done
jr z, .second
jr .good
.second
ld a, [hRandomAdd]
cp e
jr c, .done
jr z, .done
.good
inc bc
jr .next
.done
ld hl, OddEggs
ld a, OddEgg2 - OddEgg1
call AddNTimes
ld de, $c608
ld bc, $0046
call CopyBytes
ld a, EGG_TICKET
ld [CurItem], a
ld a, $1
ld [$d10c], a
ld a, $ff
ld [$d107], a
ld hl, NumItems
call TossItem
ld a, EGG
ld [$cd2a], a
ld a, $29
ld [$cd20], a
ld a, $cd
ld [$cd21], a
ld a, $8
ld [$cd22], a
ld a, $c6
ld [$cd23], a
ld hl, .Odd
ld de, $cd2b
ld bc, $000b
call CopyBytes
ld a, $2b
ld [$cd24], a
ld a, $cd
ld [$cd25], a
ld a, $38
ld [$cd26], a
ld a, $c6
ld [$cd27], a
callba Function11b98f
ret
; 1fb546
.Odd
db "ODD@@@@@@@@@"
.Probabilities
dw $147a ; 92% -> 8%
dw $170a ; 91% -> 1%
dw $3fff ; 75% -> 16%
dw $47ad ; 72% -> 3%
dw $70a3 ; 56% -> 16%
dw $7851 ; 53% -> 3%
dw $9c28 ; 39% -> 14%
dw $a147 ; 37% -> 2%
dw $bae0 ; 27% -> 10%
dw $bfff ; 25% -> 2%
dw $deb7 ; 13% -> 12%
dw $e3d6 ; 11% -> 2%
dw $fd6f ; 1% -> 10%
dw $ffff ; 0% -> 1%
; 1fb56e
OddEggs: ; 1fb56e
OddEgg1:
db PICHU
db NO_ITEM
db THUNDERSHOCK, CHARM, DIZZY_PUNCH, NONE
dw 02048 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
db 30, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 17 ; Max HP
bigdw 9 ; Atk
bigdw 6 ; Def
bigdw 11 ; Spd
bigdw 8 ; SAtk
bigdw 8 ; SDef
db "EGG@@@@@@@@"
OddEgg2:
db PICHU
db NO_ITEM
db THUNDERSHOCK, CHARM, DIZZY_PUNCH, NONE
dw 00256 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $2a, $aa ; DVs
db 30, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 17 ; Max HP
bigdw 9 ; Atk
bigdw 7 ; Def
bigdw 12 ; Spd
bigdw 9 ; SAtk
bigdw 9 ; SDef
db "EGG@@@@@@@@"
db CLEFFA
db NO_ITEM
db POUND, CHARM, DIZZY_PUNCH, NONE
dw 04096 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
db 35, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 20 ; Max HP
bigdw 7 ; Atk
bigdw 7 ; Def
bigdw 6 ; Spd
bigdw 9 ; SAtk
bigdw 10 ; SDef
db "EGG@@@@@@@@"
db CLEFFA
db NO_ITEM
db POUND, CHARM, DIZZY_PUNCH, NONE
dw 00768 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $2a, $aa ; DVs
db 35, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 20 ; Max HP
bigdw 7 ; Atk
bigdw 8 ; Def
bigdw 7 ; Spd
bigdw 10 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db IGGLYBUFF
db NO_ITEM
db SING, CHARM, DIZZY_PUNCH, NONE
dw 04096 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
db 15, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 24 ; Max HP
bigdw 8 ; Atk
bigdw 6 ; Def
bigdw 6 ; Spd
bigdw 9 ; SAtk
bigdw 7 ; SDef
db "EGG@@@@@@@@"
db IGGLYBUFF
db NO_ITEM
db SING, CHARM, DIZZY_PUNCH, NONE
dw 00768 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $2a, $aa ; DVs
db 15, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 24 ; Max HP
bigdw 8 ; Atk
bigdw 7 ; Def
bigdw 7 ; Spd
bigdw 10 ; SAtk
bigdw 8 ; SDef
db "EGG@@@@@@@@"
db SMOOCHUM
db NO_ITEM
db POUND, LICK, DIZZY_PUNCH, NONE
dw 03584 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
db 35, 30, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 8 ; Atk
bigdw 6 ; Def
bigdw 11 ; Spd
bigdw 13 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db SMOOCHUM
db NO_ITEM
db POUND, LICK, DIZZY_PUNCH, NONE
dw 00512 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $2a, $aa ; DVs
db 35, 30, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 8 ; Atk
bigdw 7 ; Def
bigdw 12 ; Spd
bigdw 14 ; SAtk
bigdw 12 ; SDef
db "EGG@@@@@@@@"
db MAGBY
db NO_ITEM
db EMBER, DIZZY_PUNCH, NONE, NONE
dw 02560 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
db 25, 10, 0, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 12 ; Atk
bigdw 8 ; Def
bigdw 13 ; Spd
bigdw 12 ; SAtk
bigdw 10 ; SDef
db "EGG@@@@@@@@"
db MAGBY
db NO_ITEM
db EMBER, DIZZY_PUNCH, NONE, NONE
dw 00512 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $2a, $aa ; DVs
db 25, 10, 0, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 12 ; Atk
bigdw 9 ; Def
bigdw 14 ; Spd
bigdw 13 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db ELEKID
db NO_ITEM
db QUICK_ATTACK, LEER, DIZZY_PUNCH, NONE
dw 03072 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
db 30, 30, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 11 ; Atk
bigdw 8 ; Def
bigdw 14 ; Spd
bigdw 11 ; SAtk
bigdw 10 ; SDef
db "EGG@@@@@@@@"
db ELEKID
db NO_ITEM
db QUICK_ATTACK, LEER, DIZZY_PUNCH, NONE
dw 00512 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $2a, $aa ; DVs
db 30, 30, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 11 ; Atk
bigdw 9 ; Def
bigdw 15 ; Spd
bigdw 12 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db TYROGUE
db NO_ITEM
db TACKLE, DIZZY_PUNCH, NONE, NONE
dw 02560 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
db 35, 10, 0, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 18 ; Max HP
bigdw 8 ; Atk
bigdw 8 ; Def
bigdw 8 ; Spd
bigdw 8 ; SAtk
bigdw 8 ; SDef
db "EGG@@@@@@@@"
db TYROGUE
db NO_ITEM
db TACKLE, DIZZY_PUNCH, NONE, NONE
dw 00256 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
db $2a, $aa ; DVs
db 35, 10, 0, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 18 ; Max HP
bigdw 8 ; Atk
bigdw 9 ; Def
bigdw 9 ; Spd
bigdw 9 ; SAtk
bigdw 9 ; SDef
db "EGG@@@@@@@@"