summaryrefslogtreecommitdiff
path: root/engine/routines/checkpokerus.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/routines/checkpokerus.asm')
-rw-r--r--engine/routines/checkpokerus.asm25
1 files changed, 25 insertions, 0 deletions
diff --git a/engine/routines/checkpokerus.asm b/engine/routines/checkpokerus.asm
new file mode 100644
index 000000000..285024754
--- /dev/null
+++ b/engine/routines/checkpokerus.asm
@@ -0,0 +1,25 @@
+CheckPokerus: ; 4d860
+; Return carry if a monster in your party has Pokerus
+
+; Get number of monsters to iterate over
+ ld a, [PartyCount]
+ and a
+ jr z, .NoPokerus
+ ld b, a
+; Check each monster in the party for Pokerus
+ ld hl, PartyMon1PokerusStatus
+ ld de, PARTYMON_STRUCT_LENGTH
+.Check:
+ ld a, [hl]
+ and $0f ; only the bottom nybble is used
+ jr nz, .HasPokerus
+; Next PartyMon
+ add hl, de
+ dec b
+ jr nz, .Check
+.NoPokerus:
+ and a
+ ret
+.HasPokerus:
+ scf
+ ret