Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cp EVOLVE_RANDOM
- jr z, .random
- cp EVOLVE_RANDOM2
- jr z, .random2
- [...]
- .random
- ; load hp into d
- ld a, [wTempMonHP]
- ld d, a
- ; load mon id into a
- ld a, [wTempMonID]
- ; load 254 into b
- ld b, $FE
- ; reset c
- ld c, 0
- ;
- sub a, d
- jr .randomdivide
- .randomdivide
- ; **BREATH IN**
- ; d equals the hp, a equals the id, b equals 250, c equals 0
- ; so...
- ;
- ; increment c
- inc c
- ; load a into d, saving it for later
- ld d, a
- ; load c into a, loading the count into memory.
- ld a, c
- ; is "c" 250? if so get outta here, that's the max number.
- cp $F0
- jr z, .randomfinishloop
- ; load a BACK into c, then load d BACK into a
- ld c, a
- ld a, d
- ; subtract b from a
- sub b
- ; if the value is zero, we've gotten our result.
- jr z, .randomfinishloop
- jr .randomdivide
- .randomfinishloop
- ; load c into a
- ld a, c
- ; is a bigger then 100?
- cp $9A
- ; if so, proceed into evolution
- jr nc, .proceed
- .random2
- ; load the pokemon level into d
- ld a, [wTempMonLevel]
- ld d, a
- ; load mon id into a
- ld a, [wTempMonID]
- ; load 254 into b
- ld b, $FE
- ; reset c
- ld c, 0
- sub a, d
- jr .randomdivide
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement