mirror of https://github.com/pret/pokecrystal.git
80 lines
1.2 KiB
NASM
Executable File
80 lines
1.2 KiB
NASM
Executable File
BattleCommand_Attract: ; 377ce
|
|
; attract
|
|
ld a, [AttackMissed]
|
|
and a
|
|
jr nz, .failed
|
|
call CheckOppositeGender
|
|
jr c, .failed
|
|
call CheckHiddenOpponent
|
|
jr nz, .failed
|
|
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
|
call GetBattleVarAddr
|
|
bit SUBSTATUS_IN_LOVE, [hl]
|
|
jr nz, .failed
|
|
|
|
set SUBSTATUS_IN_LOVE, [hl]
|
|
call AnimateCurrentMove
|
|
|
|
; 'fell in love!'
|
|
ld hl, FellInLoveText
|
|
jp StdBattleTextBox
|
|
|
|
.failed
|
|
jp FailAttract
|
|
; 377f5
|
|
|
|
|
|
CheckOppositeGender: ; 377f5
|
|
ld a, MON_SPECIES
|
|
call BattlePartyAttr
|
|
ld a, [hl]
|
|
ld [CurPartySpecies], a
|
|
|
|
ld a, [CurBattleMon]
|
|
ld [CurPartyMon], a
|
|
xor a
|
|
ld [MonType], a
|
|
|
|
farcall GetGender
|
|
jr c, .genderless_samegender
|
|
|
|
ld b, 1
|
|
jr nz, .got_gender
|
|
dec b
|
|
|
|
.got_gender
|
|
push bc
|
|
ld a, [TempEnemyMonSpecies]
|
|
ld [CurPartySpecies], a
|
|
ld hl, EnemyMonDVs
|
|
ld a, [EnemySubStatus5]
|
|
bit SUBSTATUS_TRANSFORMED, a
|
|
jr z, .not_transformed
|
|
ld hl, wEnemyBackupDVs
|
|
.not_transformed
|
|
ld a, [hli]
|
|
ld [TempMonDVs], a
|
|
ld a, [hl]
|
|
ld [TempMonDVs + 1], a
|
|
ld a, 3
|
|
ld [MonType], a
|
|
farcall GetGender
|
|
pop bc
|
|
jr c, .genderless_samegender
|
|
|
|
ld a, 1
|
|
jr nz, .got_enemy_gender
|
|
dec a
|
|
|
|
.got_enemy_gender
|
|
xor b
|
|
jr z, .genderless_samegender
|
|
|
|
and a
|
|
ret
|
|
|
|
.genderless_samegender
|
|
scf
|
|
ret
|
|
; 3784b
|