mirror of
https://github.com/pret/pokered.git
synced 2026-04-25 07:32:40 -05:00
Add comments explaining the redundant move grammar categories inherited from the Japanese version.
140 lines
2.1 KiB
NASM
140 lines
2.1 KiB
NASM
DisplayUsedMoveText:
|
|
ld hl, UsedMoveText
|
|
jp PrintText
|
|
|
|
UsedMoveText:
|
|
text_far _ActorNameText
|
|
text_asm
|
|
|
|
ldh a, [hWhoseTurn]
|
|
and a
|
|
ld a, [wPlayerMoveNum]
|
|
ld hl, wPlayerUsedMove
|
|
jr z, .playerTurn
|
|
|
|
ld a, [wEnemyMoveNum]
|
|
ld hl, wEnemyUsedMove
|
|
|
|
.playerTurn
|
|
ld [hl], a
|
|
ld [wMoveGrammar], a
|
|
call GetMoveGrammar
|
|
ld a, [wMonIsDisobedient]
|
|
and a
|
|
ld hl, UsedMove2Text
|
|
ret nz
|
|
|
|
; check move grammar
|
|
ld a, [wMoveGrammar]
|
|
cp $3
|
|
ld hl, UsedMove2Text
|
|
ret c
|
|
ld hl, UsedMove1Text
|
|
ret
|
|
|
|
UsedMove1Text:
|
|
text_far _UsedMove1Text
|
|
text_asm
|
|
jr UsedMoveText_CheckObedience
|
|
|
|
UsedMove2Text:
|
|
text_far _UsedMove2Text
|
|
text_asm
|
|
; fall through
|
|
|
|
UsedMoveText_CheckObedience:
|
|
; check obedience
|
|
ld a, [wMonIsDisobedient]
|
|
and a
|
|
jr z, .GetMoveNameText
|
|
; print "instead,"
|
|
ld hl, .UsedInsteadText
|
|
ret
|
|
|
|
.UsedInsteadText:
|
|
text_far _UsedInsteadText
|
|
text_asm
|
|
; fall through
|
|
|
|
.GetMoveNameText:
|
|
ld hl, MoveNameText
|
|
ret
|
|
|
|
MoveNameText:
|
|
text_far _MoveNameText
|
|
text_asm
|
|
ld hl, .endusedmovetexts
|
|
ld a, [wMoveGrammar]
|
|
add a
|
|
push bc
|
|
ld b, $0
|
|
ld c, a
|
|
add hl, bc
|
|
pop bc
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ret
|
|
|
|
.endusedmovetexts:
|
|
; entries correspond to MoveGrammar sets
|
|
dw EndUsedMove1Text
|
|
dw EndUsedMove2Text
|
|
dw EndUsedMove3Text
|
|
dw EndUsedMove4Text
|
|
dw EndUsedMove5Text
|
|
|
|
EndUsedMove1Text:
|
|
text_far _EndUsedMove1Text
|
|
text_end
|
|
|
|
EndUsedMove2Text:
|
|
text_far _EndUsedMove2Text
|
|
text_end
|
|
|
|
EndUsedMove3Text:
|
|
text_far _EndUsedMove3Text
|
|
text_end
|
|
|
|
EndUsedMove4Text:
|
|
text_far _EndUsedMove4Text
|
|
text_end
|
|
|
|
EndUsedMove5Text:
|
|
text_far _EndUsedMove5Text
|
|
text_end
|
|
|
|
; This function is redundant in the English localization.
|
|
; In Japanese, it selects one of 5 distinct sentence structures.
|
|
; In English, all of these sentences have the exact same structure,
|
|
; so this serves no purpose.
|
|
GetMoveGrammar:
|
|
push bc
|
|
ld a, [wMoveGrammar] ; move ID
|
|
ld c, a
|
|
ld b, $0
|
|
ld hl, MoveGrammar
|
|
.loop
|
|
ld a, [hli]
|
|
; end of table?
|
|
cp -1
|
|
jr z, .end
|
|
; match?
|
|
cp c
|
|
jr z, .end
|
|
; advance grammar type at 0
|
|
and a
|
|
jr nz, .loop
|
|
; next grammar type
|
|
inc b
|
|
jr .loop
|
|
|
|
.end
|
|
; wMoveGrammar now contains move grammar
|
|
ld a, b
|
|
ld [wMoveGrammar], a
|
|
pop bc
|
|
ret
|
|
|
|
INCLUDE "data/moves/grammar.asm"
|