ref: 4d93741a54172754aa7ac4d0162343bc0121849d
dir: /engine/battle/move_effects/mimic.asm/
BattleCommand_Mimic: ; 36f46 ; mimic call ClearLastMove call BattleCommand_MoveDelay ld a, [AttackMissed] and a jr nz, .fail ld hl, BattleMonMoves ld a, [hBattleTurn] and a jr z, .player_turn ld hl, EnemyMonMoves .player_turn call CheckHiddenOpponent jr nz, .fail ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP call GetBattleVar and a jr z, .fail cp STRUGGLE jr z, .fail ld b, a ld c, NUM_MOVES .check_already_knows_move ld a, [hli] cp b jr z, .fail dec c jr nz, .check_already_knows_move dec hl .find_mimic ld a, [hld] cp MIMIC jr nz, .find_mimic inc hl ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP call GetBattleVar ld [hl], a ld [wNamedObjectIndexBuffer], a ld bc, BattleMonPP - BattleMonMoves add hl, bc ld [hl], 5 call GetMoveName call AnimateCurrentMove ld hl, LearnedMoveText jp StdBattleTextBox .fail jp FailMimic ; 36f9d