ref: 3678f9bfb9463ffadc24fbd26571d9ac709ab807
parent: 0af6c061fe44a417ebaed46f7f6865dfa8afba09
author: IIMarckus <iimarckus@gmail.com>
date: Wed Dec 28 22:37:44 EST 2011
$FFF3 checks whose turn it is. hg-commit-id: e2038c0cb5f9
--- a/constants.asm
+++ b/constants.asm
@@ -166,6 +166,8 @@
H_RAND1 EQU $FFD3
H_RAND2 EQU $FFD4
+H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn
+
; hardware registers, from the pandocs http://nocash.emubase.de/pandocs.htm
rDIV EQU $FF04
rBGP EQU $FF47
--- a/pokered.asm
+++ b/pokered.asm
@@ -662,11 +662,11 @@
Char59:
; depending on whose turn it is, print
-; player active monster’s name
-; or
; enemy active monster’s name, prefixed with “Enemy ”
-; (XXX what is the purpose of this vs. Char5A)
- ld a,[$FFF3]
+; or
+; player active monster’s name
+; (like Char5A but flipped)
+ ld a,[H_WHOSETURN]
xor 1
jr MonsterNameCharsCommon
@@ -675,7 +675,7 @@
; player active monster’s name
; or
; enemy active monster’s name, prefixed with “Enemy ”
- ld a,[$FFF3]
+ ld a,[H_WHOSETURN]
MonsterNameCharsCommon:
push de
and a
@@ -10222,10 +10222,10 @@
; print the ghost battle messages
call $583A
ret nz
- ld a,[$FFF3]
+ ld a,[H_WHOSETURN]
and a
- jr nz,.next\@
- ld a,[W_CURMONSTATUS]
+ jr nz,.Ghost\@
+ ld a,[W_CURMONSTATUS] ; player’s turn
and a,SLP | FRZ
ret nz
ld hl,ScaredText
@@ -10232,7 +10232,7 @@
call PrintText
xor a
ret
-.next\@
+.Ghost\@ ; ghost’s turn
ld hl,GetOutText
call PrintText
xor a
@@ -13539,10 +13539,12 @@
ShareAttackAnimations: ; 4DA6
; some moves just reuse animations from status conditions
- ld a,[$FFF3]
+ ld a,[H_WHOSETURN]
and a
ret z
+ ; opponent’s turn
+
ld a,[$D07C]
cp a,AMNESIA
@@ -13655,7 +13657,7 @@
ld b,a
call IsCryMove
jr nc,.NotCryMove
- ld a,[$FFF3]
+ ld a,[H_WHOSETURN]
and a
jr nz,.next\@
ld a,[$D014] ; get number of current monster