ref: 81ea723b04986e91492cc4803a8bd6540d32de85
dir: /battle/effects/thief.asm/
BattleCommand_Thief: ; 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 [wd265], a ld d, a callba ItemIsMail ret c ld a, [EffectFailed] and a ret nz ld a, [wLinkMode] and a jr z, .stealenemyitem ld a, [wBattleMode] dec a ret z .stealenemyitem call .enemyitem xor a ld [hl], a ld [de], a call .playeritem ld a, [wd265] 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 [wd265], 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, [wd265] 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