You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-12-11 05:02:16 -08:00
split out some more move effects
This commit is contained in:
117
battle/effects/thief.asm
Normal file
117
battle/effects/thief.asm
Normal file
@@ -0,0 +1,117 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user