Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pret
GitHub Repository: pret/pokered
Path: blob/master/engine/events/heal_party.asm
1271 views
1
HealParty:
2
; Restore HP and PP.
3
4
ld hl, wPartySpecies
5
ld de, wPartyMon1HP
6
.healmon
7
ld a, [hli]
8
cp $ff
9
jr z, .done
10
11
push hl
12
push de
13
14
ld hl, wPartyMon1Status - wPartyMon1HP
15
add hl, de
16
xor a
17
ld [hl], a
18
19
push de
20
ld b, NUM_MOVES ; A Pokémon has 4 moves
21
.pp
22
ld hl, wPartyMon1Moves - wPartyMon1HP
23
add hl, de
24
25
ld a, [hl]
26
and a
27
jr z, .nextmove
28
29
dec a
30
ld hl, wPartyMon1PP - wPartyMon1HP
31
add hl, de
32
33
push hl
34
push de
35
push bc
36
37
ld hl, Moves
38
ld bc, MOVE_LENGTH
39
call AddNTimes
40
ld de, wMoveData
41
ld a, BANK(Moves)
42
call FarCopyData
43
ld a, [wMoveData + MOVE_PP]
44
45
pop bc
46
pop de
47
pop hl
48
49
inc de
50
push bc
51
ld b, a
52
ld a, [hl]
53
and PP_UP_MASK
54
add b
55
ld [hl], a
56
pop bc
57
58
.nextmove
59
dec b
60
jr nz, .pp
61
pop de
62
63
ld hl, wPartyMon1MaxHP - wPartyMon1HP
64
add hl, de
65
ld a, [hli]
66
ld [de], a
67
inc de
68
ld a, [hl]
69
ld [de], a
70
71
pop de
72
pop hl
73
74
push hl
75
ld bc, wPartyMon2 - wPartyMon1
76
ld h, d
77
ld l, e
78
add hl, bc
79
ld d, h
80
ld e, l
81
pop hl
82
jr .healmon
83
84
.done
85
xor a
86
ld [wWhichPokemon], a
87
ld [wUsingPPUp], a
88
89
ld a, [wPartyCount]
90
ld b, a
91
.ppup
92
push bc
93
call RestoreBonusPP
94
pop bc
95
ld hl, wWhichPokemon
96
inc [hl]
97
dec b
98
jr nz, .ppup
99
ret
100
101