ref: d132a20b7aa5e0e411683e792d90947ab195e1d4
dir: /engine/battle/move_effects/conversion.asm/
BattleCommand_Conversion: ; conversion ld hl, wBattleMonMoves ld de, wBattleMonType1 ldh a, [hBattleTurn] and a jr z, .got_moves ld hl, wEnemyMonMoves ld de, wEnemyMonType1 .got_moves push de ld c, 0 ld de, wStringBuffer1 .loop push hl ld b, 0 add hl, bc ld a, [hl] pop hl and a jr z, .okay push hl push bc dec a ld hl, Moves + MOVE_TYPE call GetMoveAttr ld [de], a inc de pop bc pop hl inc c ld a, c cp NUM_MOVES jr c, .loop .okay ld a, $ff ld [de], a inc de ld [de], a inc de ld [de], a pop de ld hl, wStringBuffer1 .loop2 ld a, [hl] cp -1 jr z, .fail cp CURSE_TYPE jr z, .next ld a, [de] cp [hl] jr z, .next inc de ld a, [de] dec de cp [hl] jr nz, .done .next inc hl jr .loop2 .fail call AnimateFailedMove jp PrintButItFailed .done .loop3 call BattleRandom maskbits NUM_MOVES ld c, a ld b, 0 ld hl, wStringBuffer1 add hl, bc ld a, [hl] cp -1 jr z, .loop3 cp CURSE_TYPE jr z, .loop3 ld a, [de] cp [hl] jr z, .loop3 inc de ld a, [de] dec de cp [hl] jr z, .loop3 ld a, [hl] ld [de], a inc de ld [de], a ld [wNamedObjectIndex], a farcall GetTypeName call AnimateCurrentMove ld hl, TransformedTypeText jp StdBattleTextbox