123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- HealParty:
- ; Restore HP and PP.
- ld hl, wPartySpecies
- ld de, wPartyMon1HP
- .healmon
- ld a, [hli]
- cp $ff
- jr z, .done
- push hl
- push de
- ld hl, wPartyMon1Status - wPartyMon1HP
- add hl, de
- xor a
- ld [hl], a
- push de
- ld b, NUM_MOVES ; A Pokémon has 4 moves
- .pp
- ld hl, wPartyMon1Moves - wPartyMon1HP
- add hl, de
- ld a, [hl]
- and a
- jr z, .nextmove
- dec a
- ld hl, wPartyMon1PP - wPartyMon1HP
- add hl, de
- push hl
- push de
- push bc
- ld hl, Moves
- ld bc, MoveEnd - Moves
- call AddNTimes
- ld de, wcd6d
- ld a, BANK(Moves)
- call FarCopyData
- ld a, [wcd6d + 5] ; PP is byte 5 of move data
- pop bc
- pop de
- pop hl
- inc de
- push bc
- ld b, a
- ld a, [hl]
- and $c0
- add b
- ld [hl], a
- pop bc
- .nextmove
- dec b
- jr nz, .pp
- pop de
- ld hl, wPartyMon1MaxHP - wPartyMon1HP
- add hl, de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hl]
- ld [de], a
- pop de
- pop hl
- push hl
- ld bc, wPartyMon2 - wPartyMon1
- ld h, d
- ld l, e
- add hl, bc
- ld d, h
- ld e, l
- pop hl
- jr .healmon
- .done
- xor a
- ld [wWhichPokemon], a
- ld [wd11e], a
- ld a, [wPartyCount]
- ld b, a
- .ppup
- push bc
- call RestoreBonusPP
- pop bc
- ld hl, wWhichPokemon
- inc [hl]
- dec b
- jr nz, .ppup
- ret
|