ref: 3db5d61c7f4551da1caf11ff9f597ad1578249b8
dir: /battle/effects/thief.asm/
BattleCommand50: ; 37492 ; thief ld a, [hBattleTurn] and a jr nz, .enemy ; The player needs to be able to steal an item. call .playeritem ld a, [hl] and a ret nz ; The enemy needs to have an item to steal. call .enemyitem ld a, [hl] and a ret z ; Can't steal mail. ld [$d265], a ld d, a callba ItemIsMail ret c ld a, [EffectFailed] and a ret nz ld a, [InLinkBattle] and a jr z, .stealenemyitem ld a, [IsInBattle] dec a ret z .stealenemyitem call .enemyitem xor a ld [hl], a ld [de], a call .playeritem ld a, [$d265] ld [hl], a ld [de], a jr .stole .enemy ; The enemy can't already have an item. call .enemyitem ld a, [hl] and a ret nz ; The player must have an item to steal. call .playeritem ld a, [hl] and a ret z ; Can't steal mail! ld [$d265], a ld d, a callba ItemIsMail ret c ld a, [EffectFailed] and a ret nz ; If the enemy steals your item, ; it's gone for good if you don't get it back. call .playeritem xor a ld [hl], a ld [de], a call .enemyitem ld a, [$d265] ld [hl], a ld [de], a .stole call GetItemName ld hl, StoleText jp StdBattleTextBox .playeritem ld a, 1 call BattlePartyAttr ld d, h ld e, l ld hl, BattleMonItem ret .enemyitem ld a, 1 call OTPartyAttr ld d, h ld e, l ld hl, EnemyMonItem ret ; 37517