mirror of https://github.com/pret/pokecrystal.git
Split bank 0 battle functions into home/battle.asm.
This commit is contained in:
parent
3624794599
commit
9755ff375a
335
home.asm
335
home.asm
|
@ -2071,340 +2071,7 @@ Function392d:: ; 392d
|
||||||
; 3945
|
; 3945
|
||||||
|
|
||||||
|
|
||||||
UserPartyAttr:: ; 3945
|
INCLUDE "home/battle.asm"
|
||||||
push af
|
|
||||||
ld a, [hBattleTurn]
|
|
||||||
and a
|
|
||||||
jr nz, .asm_394e
|
|
||||||
pop af
|
|
||||||
jr BattlePartyAttr
|
|
||||||
.asm_394e
|
|
||||||
pop af
|
|
||||||
jr OTPartyAttr
|
|
||||||
; 3951
|
|
||||||
|
|
||||||
|
|
||||||
OpponentPartyAttr:: ; 3951
|
|
||||||
push af
|
|
||||||
ld a, [hBattleTurn]
|
|
||||||
and a
|
|
||||||
jr z, .asm_395a
|
|
||||||
pop af
|
|
||||||
jr BattlePartyAttr
|
|
||||||
.asm_395a
|
|
||||||
pop af
|
|
||||||
jr OTPartyAttr
|
|
||||||
; 395d
|
|
||||||
|
|
||||||
|
|
||||||
BattlePartyAttr:: ; 395d
|
|
||||||
; Get attribute a from the active BattleMon's party struct.
|
|
||||||
push bc
|
|
||||||
ld c, a
|
|
||||||
ld b, 0
|
|
||||||
ld hl, PartyMons
|
|
||||||
add hl, bc
|
|
||||||
ld a, [CurBattleMon]
|
|
||||||
call GetPartyLocation
|
|
||||||
pop bc
|
|
||||||
ret
|
|
||||||
; 396d
|
|
||||||
|
|
||||||
|
|
||||||
OTPartyAttr:: ; 396d
|
|
||||||
; Get attribute a from the active EnemyMon's party struct.
|
|
||||||
push bc
|
|
||||||
ld c, a
|
|
||||||
ld b, 0
|
|
||||||
ld hl, OTPartyMon1Species
|
|
||||||
add hl, bc
|
|
||||||
ld a, [CurOTMon]
|
|
||||||
call GetPartyLocation
|
|
||||||
pop bc
|
|
||||||
ret
|
|
||||||
; 397d
|
|
||||||
|
|
||||||
|
|
||||||
ResetDamage:: ; 397d
|
|
||||||
xor a
|
|
||||||
ld [CurDamage], a
|
|
||||||
ld [CurDamage + 1], a
|
|
||||||
ret
|
|
||||||
; 3985
|
|
||||||
|
|
||||||
SetPlayerTurn:: ; 3985
|
|
||||||
xor a
|
|
||||||
ld [hBattleTurn], a
|
|
||||||
ret
|
|
||||||
; 3989
|
|
||||||
|
|
||||||
SetEnemyTurn:: ; 3989
|
|
||||||
ld a, 1
|
|
||||||
ld [hBattleTurn], a
|
|
||||||
ret
|
|
||||||
; 398e
|
|
||||||
|
|
||||||
|
|
||||||
UpdateOpponentInParty:: ; 398e
|
|
||||||
ld a, [hBattleTurn]
|
|
||||||
and a
|
|
||||||
jr z, UpdateEnemyMonInParty
|
|
||||||
jr UpdateBattleMonInParty
|
|
||||||
; 3995
|
|
||||||
|
|
||||||
UpdateUserInParty:: ; 3995
|
|
||||||
ld a, [hBattleTurn]
|
|
||||||
and a
|
|
||||||
jr z, UpdateBattleMonInParty
|
|
||||||
jr UpdateEnemyMonInParty
|
|
||||||
; 399c
|
|
||||||
|
|
||||||
UpdateBattleMonInParty:: ; 399c
|
|
||||||
; Update level, status, current HP
|
|
||||||
|
|
||||||
ld a, [CurBattleMon]
|
|
||||||
|
|
||||||
Function399f:: ; 399f
|
|
||||||
ld hl, PartyMon1Level
|
|
||||||
call GetPartyLocation
|
|
||||||
|
|
||||||
ld d, h
|
|
||||||
ld e, l
|
|
||||||
ld hl, BattleMonLevel
|
|
||||||
ld bc, BattleMonMaxHP - BattleMonLevel
|
|
||||||
jp CopyBytes
|
|
||||||
; 39b0
|
|
||||||
|
|
||||||
UpdateEnemyMonInParty:: ; 39b0
|
|
||||||
; Update level, status, current HP
|
|
||||||
|
|
||||||
; No wildmons.
|
|
||||||
ld a, [IsInBattle]
|
|
||||||
dec a
|
|
||||||
ret z
|
|
||||||
|
|
||||||
ld a, [CurOTMon]
|
|
||||||
ld hl, OTPartyMon1Level
|
|
||||||
call GetPartyLocation
|
|
||||||
|
|
||||||
ld d, h
|
|
||||||
ld e, l
|
|
||||||
ld hl, EnemyMonLevel
|
|
||||||
ld bc, EnemyMonMaxHP - EnemyMonLevel
|
|
||||||
jp CopyBytes
|
|
||||||
; 39c9
|
|
||||||
|
|
||||||
|
|
||||||
RefreshBattleHuds:: ; 39c9
|
|
||||||
call UpdateBattleHuds
|
|
||||||
ld c, 3
|
|
||||||
call DelayFrames
|
|
||||||
jp WaitBGMap
|
|
||||||
; 39d4
|
|
||||||
|
|
||||||
UpdateBattleHuds:: ; 39d4
|
|
||||||
callba Function3df48
|
|
||||||
callba Function3e036
|
|
||||||
ret
|
|
||||||
; 39e1
|
|
||||||
|
|
||||||
|
|
||||||
GetBattleVar:: ; 39e1
|
|
||||||
; Preserves hl.
|
|
||||||
push hl
|
|
||||||
call _GetBattleVar
|
|
||||||
pop hl
|
|
||||||
ret
|
|
||||||
; 39e7
|
|
||||||
|
|
||||||
_GetBattleVar:: ; 39e7
|
|
||||||
; Get variable from pair a, depending on whose turn it is.
|
|
||||||
; There are 21 variable pairs.
|
|
||||||
|
|
||||||
push bc
|
|
||||||
|
|
||||||
ld hl, .battlevarpairs
|
|
||||||
ld c, a
|
|
||||||
ld b, 0
|
|
||||||
add hl, bc
|
|
||||||
add hl, bc
|
|
||||||
|
|
||||||
ld a, [hli]
|
|
||||||
ld h, [hl]
|
|
||||||
ld l, a
|
|
||||||
|
|
||||||
; Enemy turn uses the second byte instead.
|
|
||||||
; This lets battle variable calls be side-neutral.
|
|
||||||
ld a, [hBattleTurn]
|
|
||||||
and a
|
|
||||||
jr z, .getvar
|
|
||||||
inc hl
|
|
||||||
|
|
||||||
.getvar
|
|
||||||
; var id
|
|
||||||
ld a, [hl]
|
|
||||||
ld c, a
|
|
||||||
ld b, 0
|
|
||||||
|
|
||||||
ld hl, .vars
|
|
||||||
add hl, bc
|
|
||||||
add hl, bc
|
|
||||||
|
|
||||||
ld a, [hli]
|
|
||||||
ld h, [hl]
|
|
||||||
ld l, a
|
|
||||||
|
|
||||||
ld a, [hl]
|
|
||||||
|
|
||||||
pop bc
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
.battlevarpairs
|
|
||||||
dw .substatus1, .substatus2, .substatus3, .substatus4, .substatus5
|
|
||||||
dw .substatus1opp, .substatus2opp, .substatus3opp, .substatus4opp, .substatus5opp
|
|
||||||
dw .status, .statusopp, .animation, .effect, .power, .type
|
|
||||||
dw .curmove, .lastcounter, .lastcounteropp, .lastmove, .lastmoveopp
|
|
||||||
|
|
||||||
|
|
||||||
const_def
|
|
||||||
const PLAYER_SUBSTATUS_1
|
|
||||||
const ENEMY_SUBSTATUS_1
|
|
||||||
const PLAYER_SUBSTATUS_2
|
|
||||||
const ENEMY_SUBSTATUS_2
|
|
||||||
const PLAYER_SUBSTATUS_3
|
|
||||||
const ENEMY_SUBSTATUS_3
|
|
||||||
const PLAYER_SUBSTATUS_4
|
|
||||||
const ENEMY_SUBSTATUS_4
|
|
||||||
const PLAYER_SUBSTATUS_5
|
|
||||||
const ENEMY_SUBSTATUS_5
|
|
||||||
const PLAYER_STATUS
|
|
||||||
const ENEMY_STATUS
|
|
||||||
const PLAYER_MOVE_ANIMATION
|
|
||||||
const ENEMY_MOVE_ANIMATION
|
|
||||||
const PLAYER_MOVE_EFFECT
|
|
||||||
const ENEMY_MOVE_EFFECT
|
|
||||||
const PLAYER_MOVE_POWER
|
|
||||||
const ENEMY_MOVE_POWER
|
|
||||||
const PLAYER_MOVE_TYPE
|
|
||||||
const ENEMY_MOVE_TYPE
|
|
||||||
const PLAYER_CUR_MOVE
|
|
||||||
const ENEMY_CUR_MOVE
|
|
||||||
const PLAYER_COUNTER_MOVE
|
|
||||||
const ENEMY_COUNTER_MOVE
|
|
||||||
const PLAYER_LAST_MOVE
|
|
||||||
const ENEMY_LAST_MOVE
|
|
||||||
|
|
||||||
|
|
||||||
; player enemy
|
|
||||||
.substatus1 db PLAYER_SUBSTATUS_1, ENEMY_SUBSTATUS_1
|
|
||||||
.substatus1opp db ENEMY_SUBSTATUS_1, PLAYER_SUBSTATUS_1
|
|
||||||
.substatus2 db PLAYER_SUBSTATUS_2, ENEMY_SUBSTATUS_2
|
|
||||||
.substatus2opp db ENEMY_SUBSTATUS_2, PLAYER_SUBSTATUS_2
|
|
||||||
.substatus3 db PLAYER_SUBSTATUS_3, ENEMY_SUBSTATUS_3
|
|
||||||
.substatus3opp db ENEMY_SUBSTATUS_3, PLAYER_SUBSTATUS_3
|
|
||||||
.substatus4 db PLAYER_SUBSTATUS_4, ENEMY_SUBSTATUS_4
|
|
||||||
.substatus4opp db ENEMY_SUBSTATUS_4, PLAYER_SUBSTATUS_4
|
|
||||||
.substatus5 db PLAYER_SUBSTATUS_5, ENEMY_SUBSTATUS_5
|
|
||||||
.substatus5opp db ENEMY_SUBSTATUS_5, PLAYER_SUBSTATUS_5
|
|
||||||
.status db PLAYER_STATUS, ENEMY_STATUS
|
|
||||||
.statusopp db ENEMY_STATUS, PLAYER_STATUS
|
|
||||||
.animation db PLAYER_MOVE_ANIMATION, ENEMY_MOVE_ANIMATION
|
|
||||||
.effect db PLAYER_MOVE_EFFECT, ENEMY_MOVE_EFFECT
|
|
||||||
.power db PLAYER_MOVE_POWER, ENEMY_MOVE_POWER
|
|
||||||
.type db PLAYER_MOVE_TYPE, ENEMY_MOVE_TYPE
|
|
||||||
.curmove db PLAYER_CUR_MOVE, ENEMY_CUR_MOVE
|
|
||||||
.lastcounter db PLAYER_COUNTER_MOVE, ENEMY_COUNTER_MOVE
|
|
||||||
.lastcounteropp db ENEMY_COUNTER_MOVE, PLAYER_COUNTER_MOVE
|
|
||||||
.lastmove db PLAYER_LAST_MOVE, ENEMY_LAST_MOVE
|
|
||||||
.lastmoveopp db ENEMY_LAST_MOVE, PLAYER_LAST_MOVE
|
|
||||||
|
|
||||||
.vars
|
|
||||||
dw PlayerSubStatus1, EnemySubStatus1
|
|
||||||
dw PlayerSubStatus2, EnemySubStatus2
|
|
||||||
dw PlayerSubStatus3, EnemySubStatus3
|
|
||||||
dw PlayerSubStatus4, EnemySubStatus4
|
|
||||||
dw PlayerSubStatus5, EnemySubStatus5
|
|
||||||
dw BattleMonStatus, EnemyMonStatus
|
|
||||||
dw PlayerMoveAnimation, EnemyMoveAnimation
|
|
||||||
dw PlayerMoveEffect, EnemyMoveEffect
|
|
||||||
dw PlayerMovePower, EnemyMovePower
|
|
||||||
dw PlayerMoveType, EnemyMoveType
|
|
||||||
dw CurPlayerMove, CurEnemyMove
|
|
||||||
dw LastEnemyCounterMove, LastPlayerCounterMove
|
|
||||||
dw LastPlayerMove, LastEnemyMove
|
|
||||||
; 3a90
|
|
||||||
|
|
||||||
|
|
||||||
Function3a90:: ; 3a90
|
|
||||||
inc hl
|
|
||||||
ld a, [hROMBank]
|
|
||||||
push af
|
|
||||||
ld a, [hli]
|
|
||||||
ld e, a
|
|
||||||
ld a, [hli]
|
|
||||||
ld d, a
|
|
||||||
ld a, [hli]
|
|
||||||
ld [hROMBank], a
|
|
||||||
ld [MBC3RomBank], a
|
|
||||||
ld a, e
|
|
||||||
ld l, a
|
|
||||||
ld a, d
|
|
||||||
ld h, a
|
|
||||||
ld de, $d00c
|
|
||||||
ld bc, $0028
|
|
||||||
call CopyBytes
|
|
||||||
pop af
|
|
||||||
ld [hROMBank], a
|
|
||||||
ld [MBC3RomBank], a
|
|
||||||
ret
|
|
||||||
; 3ab2
|
|
||||||
|
|
||||||
|
|
||||||
MobileTextBorder:: ; 3ab2
|
|
||||||
; For mobile link battles only.
|
|
||||||
ld a, [InLinkBattle]
|
|
||||||
cp 4
|
|
||||||
ret c
|
|
||||||
; Draw a cell phone icon at the top right corner of the border.
|
|
||||||
ld hl, $c5a3 ; TileMap(19,12)
|
|
||||||
ld [hl], $5e ; cell phone top
|
|
||||||
ld hl, $c5b7 ; TileMap(19,13)
|
|
||||||
ld [hl], $5f ; cell phone bottom
|
|
||||||
ret
|
|
||||||
; 3ac3
|
|
||||||
|
|
||||||
|
|
||||||
BattleTextBox:: ; 3ac3
|
|
||||||
; Open a textbox and print text at hl.
|
|
||||||
push hl
|
|
||||||
call SpeechTextBox
|
|
||||||
call MobileTextBorder
|
|
||||||
call Function1ad2
|
|
||||||
call Function321c
|
|
||||||
pop hl
|
|
||||||
call PrintTextBoxText
|
|
||||||
ret
|
|
||||||
; 3ad5
|
|
||||||
|
|
||||||
|
|
||||||
StdBattleTextBox:: ; 3ad5
|
|
||||||
; Open a textbox and print battle text at 20:hl.
|
|
||||||
|
|
||||||
GLOBAL BattleText
|
|
||||||
|
|
||||||
ld a, [hROMBank]
|
|
||||||
push af
|
|
||||||
|
|
||||||
ld a, BANK(BattleText)
|
|
||||||
rst Bankswitch
|
|
||||||
|
|
||||||
call BattleTextBox
|
|
||||||
|
|
||||||
pop af
|
|
||||||
rst Bankswitch
|
|
||||||
ret
|
|
||||||
; 3ae1
|
|
||||||
|
|
||||||
|
|
||||||
Function3ae1:: ; 3ae1
|
Function3ae1:: ; 3ae1
|
||||||
|
|
|
@ -0,0 +1,337 @@
|
||||||
|
UserPartyAttr:: ; 3945
|
||||||
|
push af
|
||||||
|
ld a, [hBattleTurn]
|
||||||
|
and a
|
||||||
|
jr nz, .ot
|
||||||
|
pop af
|
||||||
|
jr BattlePartyAttr
|
||||||
|
.ot
|
||||||
|
pop af
|
||||||
|
jr OTPartyAttr
|
||||||
|
; 3951
|
||||||
|
|
||||||
|
|
||||||
|
OpponentPartyAttr:: ; 3951
|
||||||
|
push af
|
||||||
|
ld a, [hBattleTurn]
|
||||||
|
and a
|
||||||
|
jr z, .ot
|
||||||
|
pop af
|
||||||
|
jr BattlePartyAttr
|
||||||
|
.ot
|
||||||
|
pop af
|
||||||
|
jr OTPartyAttr
|
||||||
|
; 395d
|
||||||
|
|
||||||
|
|
||||||
|
BattlePartyAttr:: ; 395d
|
||||||
|
; Get attribute a from the active BattleMon's party struct.
|
||||||
|
push bc
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
ld hl, PartyMons
|
||||||
|
add hl, bc
|
||||||
|
ld a, [CurBattleMon]
|
||||||
|
call GetPartyLocation
|
||||||
|
pop bc
|
||||||
|
ret
|
||||||
|
; 396d
|
||||||
|
|
||||||
|
|
||||||
|
OTPartyAttr:: ; 396d
|
||||||
|
; Get attribute a from the active EnemyMon's party struct.
|
||||||
|
push bc
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
ld hl, OTPartyMon1Species
|
||||||
|
add hl, bc
|
||||||
|
ld a, [CurOTMon]
|
||||||
|
call GetPartyLocation
|
||||||
|
pop bc
|
||||||
|
ret
|
||||||
|
; 397d
|
||||||
|
|
||||||
|
|
||||||
|
ResetDamage:: ; 397d
|
||||||
|
xor a
|
||||||
|
ld [CurDamage], a
|
||||||
|
ld [CurDamage + 1], a
|
||||||
|
ret
|
||||||
|
; 3985
|
||||||
|
|
||||||
|
SetPlayerTurn:: ; 3985
|
||||||
|
xor a
|
||||||
|
ld [hBattleTurn], a
|
||||||
|
ret
|
||||||
|
; 3989
|
||||||
|
|
||||||
|
SetEnemyTurn:: ; 3989
|
||||||
|
ld a, 1
|
||||||
|
ld [hBattleTurn], a
|
||||||
|
ret
|
||||||
|
; 398e
|
||||||
|
|
||||||
|
|
||||||
|
UpdateOpponentInParty:: ; 398e
|
||||||
|
ld a, [hBattleTurn]
|
||||||
|
and a
|
||||||
|
jr z, UpdateEnemyMonInParty
|
||||||
|
jr UpdateBattleMonInParty
|
||||||
|
; 3995
|
||||||
|
|
||||||
|
UpdateUserInParty:: ; 3995
|
||||||
|
ld a, [hBattleTurn]
|
||||||
|
and a
|
||||||
|
jr z, UpdateBattleMonInParty
|
||||||
|
jr UpdateEnemyMonInParty
|
||||||
|
; 399c
|
||||||
|
|
||||||
|
UpdateBattleMonInParty:: ; 399c
|
||||||
|
; Update level, status, current HP
|
||||||
|
|
||||||
|
ld a, [CurBattleMon]
|
||||||
|
|
||||||
|
Function399f:: ; 399f
|
||||||
|
ld hl, PartyMon1Level
|
||||||
|
call GetPartyLocation
|
||||||
|
|
||||||
|
ld d, h
|
||||||
|
ld e, l
|
||||||
|
ld hl, BattleMonLevel
|
||||||
|
ld bc, BattleMonMaxHP - BattleMonLevel
|
||||||
|
jp CopyBytes
|
||||||
|
; 39b0
|
||||||
|
|
||||||
|
UpdateEnemyMonInParty:: ; 39b0
|
||||||
|
; Update level, status, current HP
|
||||||
|
|
||||||
|
; No wildmons.
|
||||||
|
ld a, [IsInBattle]
|
||||||
|
dec a
|
||||||
|
ret z
|
||||||
|
|
||||||
|
ld a, [CurOTMon]
|
||||||
|
ld hl, OTPartyMon1Level
|
||||||
|
call GetPartyLocation
|
||||||
|
|
||||||
|
ld d, h
|
||||||
|
ld e, l
|
||||||
|
ld hl, EnemyMonLevel
|
||||||
|
ld bc, EnemyMonMaxHP - EnemyMonLevel
|
||||||
|
jp CopyBytes
|
||||||
|
; 39c9
|
||||||
|
|
||||||
|
|
||||||
|
RefreshBattleHuds:: ; 39c9
|
||||||
|
call UpdateBattleHuds
|
||||||
|
ld c, 3
|
||||||
|
call DelayFrames
|
||||||
|
jp WaitBGMap
|
||||||
|
; 39d4
|
||||||
|
|
||||||
|
UpdateBattleHuds:: ; 39d4
|
||||||
|
callba Function3df48
|
||||||
|
callba Function3e036
|
||||||
|
ret
|
||||||
|
; 39e1
|
||||||
|
|
||||||
|
|
||||||
|
GetBattleVar:: ; 39e1
|
||||||
|
; Preserves hl.
|
||||||
|
push hl
|
||||||
|
call _GetBattleVar
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
; 39e7
|
||||||
|
|
||||||
|
_GetBattleVar:: ; 39e7
|
||||||
|
; Get variable from pair a, depending on whose turn it is.
|
||||||
|
; There are 21 variable pairs.
|
||||||
|
|
||||||
|
push bc
|
||||||
|
|
||||||
|
ld hl, .battlevarpairs
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
add hl, bc
|
||||||
|
add hl, bc
|
||||||
|
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
|
||||||
|
; Enemy turn uses the second byte instead.
|
||||||
|
; This lets battle variable calls be side-neutral.
|
||||||
|
ld a, [hBattleTurn]
|
||||||
|
and a
|
||||||
|
jr z, .getvar
|
||||||
|
inc hl
|
||||||
|
|
||||||
|
.getvar
|
||||||
|
; var id
|
||||||
|
ld a, [hl]
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
|
||||||
|
ld hl, .vars
|
||||||
|
add hl, bc
|
||||||
|
add hl, bc
|
||||||
|
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
|
||||||
|
ld a, [hl]
|
||||||
|
|
||||||
|
pop bc
|
||||||
|
ret
|
||||||
|
|
||||||
|
.battlevarpairs
|
||||||
|
dw .substatus1, .substatus2, .substatus3, .substatus4, .substatus5
|
||||||
|
dw .substatus1opp, .substatus2opp, .substatus3opp, .substatus4opp, .substatus5opp
|
||||||
|
dw .status, .statusopp, .animation, .effect, .power, .type
|
||||||
|
dw .curmove, .lastcounter, .lastcounteropp, .lastmove, .lastmoveopp
|
||||||
|
|
||||||
|
const_def
|
||||||
|
const PLAYER_SUBSTATUS_1
|
||||||
|
const ENEMY_SUBSTATUS_1
|
||||||
|
const PLAYER_SUBSTATUS_2
|
||||||
|
const ENEMY_SUBSTATUS_2
|
||||||
|
const PLAYER_SUBSTATUS_3
|
||||||
|
const ENEMY_SUBSTATUS_3
|
||||||
|
const PLAYER_SUBSTATUS_4
|
||||||
|
const ENEMY_SUBSTATUS_4
|
||||||
|
const PLAYER_SUBSTATUS_5
|
||||||
|
const ENEMY_SUBSTATUS_5
|
||||||
|
const PLAYER_STATUS
|
||||||
|
const ENEMY_STATUS
|
||||||
|
const PLAYER_MOVE_ANIMATION
|
||||||
|
const ENEMY_MOVE_ANIMATION
|
||||||
|
const PLAYER_MOVE_EFFECT
|
||||||
|
const ENEMY_MOVE_EFFECT
|
||||||
|
const PLAYER_MOVE_POWER
|
||||||
|
const ENEMY_MOVE_POWER
|
||||||
|
const PLAYER_MOVE_TYPE
|
||||||
|
const ENEMY_MOVE_TYPE
|
||||||
|
const PLAYER_CUR_MOVE
|
||||||
|
const ENEMY_CUR_MOVE
|
||||||
|
const PLAYER_COUNTER_MOVE
|
||||||
|
const ENEMY_COUNTER_MOVE
|
||||||
|
const PLAYER_LAST_MOVE
|
||||||
|
const ENEMY_LAST_MOVE
|
||||||
|
|
||||||
|
; player enemy
|
||||||
|
.substatus1 db PLAYER_SUBSTATUS_1, ENEMY_SUBSTATUS_1
|
||||||
|
.substatus1opp db ENEMY_SUBSTATUS_1, PLAYER_SUBSTATUS_1
|
||||||
|
.substatus2 db PLAYER_SUBSTATUS_2, ENEMY_SUBSTATUS_2
|
||||||
|
.substatus2opp db ENEMY_SUBSTATUS_2, PLAYER_SUBSTATUS_2
|
||||||
|
.substatus3 db PLAYER_SUBSTATUS_3, ENEMY_SUBSTATUS_3
|
||||||
|
.substatus3opp db ENEMY_SUBSTATUS_3, PLAYER_SUBSTATUS_3
|
||||||
|
.substatus4 db PLAYER_SUBSTATUS_4, ENEMY_SUBSTATUS_4
|
||||||
|
.substatus4opp db ENEMY_SUBSTATUS_4, PLAYER_SUBSTATUS_4
|
||||||
|
.substatus5 db PLAYER_SUBSTATUS_5, ENEMY_SUBSTATUS_5
|
||||||
|
.substatus5opp db ENEMY_SUBSTATUS_5, PLAYER_SUBSTATUS_5
|
||||||
|
.status db PLAYER_STATUS, ENEMY_STATUS
|
||||||
|
.statusopp db ENEMY_STATUS, PLAYER_STATUS
|
||||||
|
.animation db PLAYER_MOVE_ANIMATION, ENEMY_MOVE_ANIMATION
|
||||||
|
.effect db PLAYER_MOVE_EFFECT, ENEMY_MOVE_EFFECT
|
||||||
|
.power db PLAYER_MOVE_POWER, ENEMY_MOVE_POWER
|
||||||
|
.type db PLAYER_MOVE_TYPE, ENEMY_MOVE_TYPE
|
||||||
|
.curmove db PLAYER_CUR_MOVE, ENEMY_CUR_MOVE
|
||||||
|
.lastcounter db PLAYER_COUNTER_MOVE, ENEMY_COUNTER_MOVE
|
||||||
|
.lastcounteropp db ENEMY_COUNTER_MOVE, PLAYER_COUNTER_MOVE
|
||||||
|
.lastmove db PLAYER_LAST_MOVE, ENEMY_LAST_MOVE
|
||||||
|
.lastmoveopp db ENEMY_LAST_MOVE, PLAYER_LAST_MOVE
|
||||||
|
|
||||||
|
.vars
|
||||||
|
dw PlayerSubStatus1, EnemySubStatus1
|
||||||
|
dw PlayerSubStatus2, EnemySubStatus2
|
||||||
|
dw PlayerSubStatus3, EnemySubStatus3
|
||||||
|
dw PlayerSubStatus4, EnemySubStatus4
|
||||||
|
dw PlayerSubStatus5, EnemySubStatus5
|
||||||
|
dw BattleMonStatus, EnemyMonStatus
|
||||||
|
dw PlayerMoveAnimation, EnemyMoveAnimation
|
||||||
|
dw PlayerMoveEffect, EnemyMoveEffect
|
||||||
|
dw PlayerMovePower, EnemyMovePower
|
||||||
|
dw PlayerMoveType, EnemyMoveType
|
||||||
|
dw CurPlayerMove, CurEnemyMove
|
||||||
|
dw LastEnemyCounterMove, LastPlayerCounterMove
|
||||||
|
dw LastPlayerMove, LastEnemyMove
|
||||||
|
; 3a90
|
||||||
|
|
||||||
|
|
||||||
|
Function3a90:: ; 3a90
|
||||||
|
inc hl
|
||||||
|
ld a, [hROMBank]
|
||||||
|
push af
|
||||||
|
ld a, [hli]
|
||||||
|
ld e, a
|
||||||
|
ld a, [hli]
|
||||||
|
ld d, a
|
||||||
|
ld a, [hli]
|
||||||
|
ld [hROMBank], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
ld a, e
|
||||||
|
ld l, a
|
||||||
|
ld a, d
|
||||||
|
ld h, a
|
||||||
|
ld de, $d00c
|
||||||
|
ld bc, $0028
|
||||||
|
call CopyBytes
|
||||||
|
pop af
|
||||||
|
ld [hROMBank], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
ret
|
||||||
|
; 3ab2
|
||||||
|
|
||||||
|
|
||||||
|
MobileTextBorder:: ; 3ab2
|
||||||
|
|
||||||
|
CELL_PHONE_TOP EQU $5e
|
||||||
|
CELL_PHONE_BOTTOM EQU $5f
|
||||||
|
|
||||||
|
; For mobile link battles only.
|
||||||
|
ld a, [InLinkBattle]
|
||||||
|
cp 4
|
||||||
|
ret c
|
||||||
|
|
||||||
|
; Draw a cell phone icon at the
|
||||||
|
; top right corner of the border.
|
||||||
|
hlcoord 19, 12
|
||||||
|
ld [hl], CELL_PHONE_TOP
|
||||||
|
hlcoord 19, 13
|
||||||
|
ld [hl], CELL_PHONE_BOTTOM
|
||||||
|
ret
|
||||||
|
; 3ac3
|
||||||
|
|
||||||
|
|
||||||
|
BattleTextBox:: ; 3ac3
|
||||||
|
; Open a textbox and print text at hl.
|
||||||
|
push hl
|
||||||
|
call SpeechTextBox
|
||||||
|
call MobileTextBorder
|
||||||
|
call Function1ad2
|
||||||
|
call Function321c
|
||||||
|
pop hl
|
||||||
|
call PrintTextBoxText
|
||||||
|
ret
|
||||||
|
; 3ad5
|
||||||
|
|
||||||
|
|
||||||
|
StdBattleTextBox:: ; 3ad5
|
||||||
|
; Open a textbox and print battle text at 20:hl.
|
||||||
|
|
||||||
|
GLOBAL BattleText
|
||||||
|
|
||||||
|
ld a, [hROMBank]
|
||||||
|
push af
|
||||||
|
|
||||||
|
ld a, BANK(BattleText)
|
||||||
|
rst Bankswitch
|
||||||
|
|
||||||
|
call BattleTextBox
|
||||||
|
|
||||||
|
pop af
|
||||||
|
rst Bankswitch
|
||||||
|
ret
|
||||||
|
; 3ae1
|
Loading…
Reference in New Issue