mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
BATTLEACTION constants
This commit is contained in:
parent
5eed48f05d
commit
f0830f084f
@ -707,6 +707,7 @@ AI_Switch: ; 3846c
|
||||
xor a
|
||||
ld [hBattleTurn], a
|
||||
callab PursuitSwitch
|
||||
|
||||
push af
|
||||
ld a, [CurOTMon]
|
||||
ld hl, OTPartyMon1Status
|
||||
@ -718,9 +719,11 @@ AI_Switch: ; 3846c
|
||||
ld bc, $0004
|
||||
call CopyBytes
|
||||
pop af
|
||||
|
||||
jr c, .skiptext
|
||||
ld hl, TextJump_EnemyWithdrew
|
||||
call PrintText
|
||||
|
||||
.skiptext
|
||||
ld a, $1
|
||||
ld [wd264], a
|
||||
|
362
battle/core.asm
362
battle/core.asm
@ -12,31 +12,31 @@ Function3c000: ; 3c000
|
||||
inc a
|
||||
ld [wd264], a
|
||||
ld hl, OTPartyMon1HP
|
||||
ld bc, OTPartyMon2 - (OTPartyMon1 + 1)
|
||||
ld d, NUM_MOVES - 1
|
||||
.asm_3c019
|
||||
ld bc, PARTYMON_STRUCT_LENGTH - 1
|
||||
ld d, BATTLEACTION_SWITCH1 - 1
|
||||
.loop
|
||||
inc d
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr nz, .asm_3c021
|
||||
jr nz, .alive
|
||||
add hl, bc
|
||||
jr .asm_3c019
|
||||
jr .loop
|
||||
|
||||
.asm_3c021
|
||||
.alive
|
||||
ld a, d
|
||||
ld [wBattleAction], a
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3c031
|
||||
jr z, .not_linked
|
||||
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr z, .asm_3c04c
|
||||
jr z, .player_2
|
||||
|
||||
.asm_3c031
|
||||
.not_linked
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jr z, .asm_3c047
|
||||
jr z, .wild
|
||||
xor a
|
||||
ld [wc718], a
|
||||
call NewEnemyMonStatus
|
||||
@ -44,11 +44,11 @@ Function3c000: ; 3c000
|
||||
call BreakAttraction
|
||||
call Function3d4e1
|
||||
|
||||
.asm_3c047
|
||||
.wild
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
|
||||
.asm_3c04c
|
||||
.player_2
|
||||
call LoadTileMapToTempTileMap
|
||||
call CheckPlayerPartyForFitPkmn
|
||||
ld a, d
|
||||
@ -57,19 +57,19 @@ Function3c000: ; 3c000
|
||||
call Call_LoadTempTileMapToTileMap
|
||||
ld a, [BattleType]
|
||||
cp BATTLETYPE_DEBUG
|
||||
jp z, .asm_3c0e2
|
||||
jp z, .tutorial_debug
|
||||
cp BATTLETYPE_TUTORIAL
|
||||
jp z, .asm_3c0e2
|
||||
jp z, .tutorial_debug
|
||||
xor a
|
||||
ld [CurPartyMon], a
|
||||
.asm_3c06b
|
||||
.loop2
|
||||
call CheckIfPartyHasPkmnToBattleWith
|
||||
jr nz, .asm_3c076
|
||||
jr nz, .alive2
|
||||
ld hl, CurPartyMon
|
||||
inc [hl]
|
||||
jr .asm_3c06b
|
||||
jr .loop2
|
||||
|
||||
.asm_3c076
|
||||
.alive2
|
||||
ld a, [CurBattleMon]
|
||||
ld [LastPlayerMon], a
|
||||
ld a, [CurPartyMon]
|
||||
@ -99,10 +99,10 @@ Function3c000: ; 3c000
|
||||
call SpikesDamage
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3c0df
|
||||
ld a, [$ffcb]
|
||||
jr z, .not_linked_2
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr nz, .asm_3c0df
|
||||
jr nz, .not_linked_2
|
||||
xor a
|
||||
ld [wc718], a
|
||||
call NewEnemyMonStatus
|
||||
@ -112,10 +112,10 @@ Function3c000: ; 3c000
|
||||
call SetEnemyTurn
|
||||
call SpikesDamage
|
||||
|
||||
.asm_3c0df
|
||||
.not_linked_2
|
||||
jp Function3c12f
|
||||
|
||||
.asm_3c0e2
|
||||
.tutorial_debug
|
||||
jp BattleMenu
|
||||
; 3c0e5
|
||||
|
||||
@ -209,7 +209,7 @@ Function3c12f: ; 3c12f
|
||||
call Function3c300
|
||||
jr c, .quit
|
||||
|
||||
call Function3c314
|
||||
call DetermineMoveOrder
|
||||
jr c, .asm_3c19e
|
||||
call Function3c5fe
|
||||
jr .asm_3c1a1
|
||||
@ -262,7 +262,7 @@ Function3c1c0: ; 3c1c0
|
||||
|
||||
|
||||
Function3c1d6: ; 3c1d6
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .CheckEnemyFirst
|
||||
call CheckFaint_PlayerThenEnemy
|
||||
@ -361,7 +361,7 @@ CheckFaint_EnemyThenPlayer: ; 3c25c
|
||||
; 3c27c
|
||||
|
||||
Function3c27c: ; 3c27c
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .reverse
|
||||
|
||||
@ -440,66 +440,66 @@ Function3c27c: ; 3c27c
|
||||
Function3c300: ; 3c300
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3c30d
|
||||
jr z, .not_linked
|
||||
ld a, [wBattleAction]
|
||||
cp $f
|
||||
jr z, .asm_3c30f
|
||||
cp BATTLEACTION_FORFEIT
|
||||
jr z, .forfeit
|
||||
|
||||
.asm_3c30d
|
||||
.not_linked
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_3c30f
|
||||
.forfeit
|
||||
call WildFled_EnemyFled_LinkBattleCanceled
|
||||
scf
|
||||
ret
|
||||
; 3c314
|
||||
|
||||
Function3c314: ; 3c314
|
||||
DetermineMoveOrder: ; 3c314
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .skip_ai
|
||||
jr z, .use_move
|
||||
ld a, [wBattleAction]
|
||||
cp $e
|
||||
jr z, .skip_ai
|
||||
cp $d
|
||||
jr z, .skip_ai
|
||||
sub NUM_MOVES
|
||||
jr c, .skip_ai
|
||||
cp BATTLEACTION_E
|
||||
jr z, .use_move
|
||||
cp BATTLEACTION_D
|
||||
jr z, .use_move
|
||||
sub BATTLEACTION_SWITCH1
|
||||
jr c, .use_move
|
||||
ld a, [wd0ec]
|
||||
cp $2
|
||||
jr nz, .switch
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr z, .asm_3c341
|
||||
jr z, .player_2
|
||||
|
||||
call BattleRandom
|
||||
cp 1 + (50 percent)
|
||||
jp c, .done
|
||||
jp Function3c3f3
|
||||
jp c, .player_first
|
||||
jp .enemy_first
|
||||
|
||||
.asm_3c341
|
||||
.player_2
|
||||
call BattleRandom
|
||||
cp 1 + (50 percent)
|
||||
jp c, Function3c3f3
|
||||
jp .done
|
||||
jp c, .enemy_first
|
||||
jp .player_first
|
||||
|
||||
.switch
|
||||
callab AI_Switch
|
||||
call SetEnemyTurn
|
||||
call SpikesDamage
|
||||
jp Function3c3f3
|
||||
jp .enemy_first
|
||||
|
||||
.skip_ai
|
||||
.use_move
|
||||
ld a, [wd0ec]
|
||||
and a
|
||||
jp nz, .done
|
||||
jp nz, .player_first
|
||||
call CompareMovePriority
|
||||
jr z, .asm_3c36d
|
||||
jp c, .done
|
||||
jp Function3c3f3
|
||||
jr z, .equal_priority
|
||||
jp c, .player_first ; player goes first
|
||||
jp .enemy_first
|
||||
|
||||
.asm_3c36d
|
||||
.equal_priority
|
||||
call SetPlayerTurn
|
||||
callab GetUserItem
|
||||
push bc
|
||||
@ -507,73 +507,73 @@ Function3c314: ; 3c314
|
||||
pop de
|
||||
ld a, d
|
||||
cp HELD_QUICK_CLAW
|
||||
jr nz, .asm_3c391
|
||||
jr nz, .player_no_quick_claw
|
||||
ld a, b
|
||||
cp HELD_QUICK_CLAW
|
||||
jr z, .asm_3c39f
|
||||
jr z, .both_have_quick_claw
|
||||
call BattleRandom
|
||||
cp e
|
||||
jr nc, .asm_3c3c5
|
||||
jp .done
|
||||
jr nc, .speed_check
|
||||
jp .player_first
|
||||
|
||||
.asm_3c391
|
||||
.player_no_quick_claw
|
||||
ld a, b
|
||||
cp HELD_QUICK_CLAW
|
||||
jr nz, .asm_3c3c5
|
||||
jr nz, .speed_check
|
||||
call BattleRandom
|
||||
cp c
|
||||
jr nc, .asm_3c3c5
|
||||
jp Function3c3f3
|
||||
jr nc, .speed_check
|
||||
jp .enemy_first
|
||||
|
||||
.asm_3c39f
|
||||
ld a, [$ffcb]
|
||||
.both_have_quick_claw
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr z, .asm_3c3b5
|
||||
jr z, .player_2b
|
||||
call BattleRandom
|
||||
cp c
|
||||
jp c, Function3c3f3
|
||||
jp c, .enemy_first
|
||||
call BattleRandom
|
||||
cp e
|
||||
jp c, .done
|
||||
jr .asm_3c3c5
|
||||
jp c, .player_first
|
||||
jr .speed_check
|
||||
|
||||
.asm_3c3b5
|
||||
.player_2b
|
||||
call BattleRandom
|
||||
cp e
|
||||
jp c, .done
|
||||
jp c, .player_first
|
||||
call BattleRandom
|
||||
cp c
|
||||
jp c, Function3c3f3
|
||||
jr .asm_3c3c5
|
||||
jp c, .enemy_first
|
||||
jr .speed_check
|
||||
|
||||
.asm_3c3c5
|
||||
.speed_check
|
||||
ld de, BattleMonSpeed
|
||||
ld hl, EnemyMonSpeed
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call StringCmp
|
||||
jr z, .asm_3c3d8
|
||||
jp nc, .done
|
||||
jp Function3c3f3
|
||||
jr z, .speed_tie
|
||||
jp nc, .player_first
|
||||
jp .enemy_first
|
||||
|
||||
.asm_3c3d8
|
||||
ld a, [$ffcb]
|
||||
.speed_tie
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr z, .asm_3c3e9
|
||||
jr z, .player_2c
|
||||
call BattleRandom
|
||||
cp 1 + (50 percent)
|
||||
jp c, .done
|
||||
jp Function3c3f3
|
||||
jp c, .player_first
|
||||
jp .enemy_first
|
||||
|
||||
.asm_3c3e9
|
||||
.player_2c
|
||||
call BattleRandom
|
||||
cp 1 + (50 percent)
|
||||
jp c, Function3c3f3
|
||||
.done
|
||||
jp c, .enemy_first
|
||||
.player_first
|
||||
scf
|
||||
ret
|
||||
; 3c3f3
|
||||
|
||||
Function3c3f3: ; 3c3f3
|
||||
.enemy_first: ; 3c3f3
|
||||
and a
|
||||
ret
|
||||
; 3c3f5
|
||||
@ -720,7 +720,7 @@ Function3c434: ; 3c434
|
||||
; 3c4df
|
||||
|
||||
Function3c4df: ; 3c4df
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3c4ea
|
||||
call .asm_3c4ed
|
||||
@ -1218,7 +1218,7 @@ ResidualDamage: ; 3c716
|
||||
; 3c801
|
||||
|
||||
Function3c801: ; 3c801
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3c813
|
||||
call SetPlayerTurn
|
||||
@ -1286,7 +1286,7 @@ Function3c801: ; 3c801
|
||||
; 3c874
|
||||
|
||||
Function3c874: ; 3c874
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3c886
|
||||
call SetPlayerTurn
|
||||
@ -1353,7 +1353,7 @@ SwitchTurnCore: ; 3c8e4
|
||||
; 3c8eb
|
||||
|
||||
Function3c8eb: ; 3c8eb
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3c8fd
|
||||
call SetPlayerTurn
|
||||
@ -1400,7 +1400,7 @@ Function3c8eb: ; 3c8eb
|
||||
; 3c93c
|
||||
|
||||
Function3c93c: ; 3c93c
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3c94e
|
||||
call SetPlayerTurn
|
||||
@ -1538,7 +1538,7 @@ Function3c93c: ; 3c93c
|
||||
; 3ca26
|
||||
|
||||
Function3ca26: ; 3ca26
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3ca38
|
||||
call SetPlayerTurn
|
||||
@ -1596,7 +1596,7 @@ Function3ca26: ; 3ca26
|
||||
; 3ca8f
|
||||
|
||||
HanleDefrost: ; 3ca8f
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3ca9a
|
||||
call .asm_3ca9d
|
||||
@ -1654,7 +1654,7 @@ HanleDefrost: ; 3ca8f
|
||||
; 3cafb
|
||||
|
||||
HandleSafeguard: ; 3cafb
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3cb06
|
||||
call .asm_3cb09
|
||||
@ -1692,7 +1692,7 @@ HandleSafeguard: ; 3cafb
|
||||
|
||||
|
||||
HandleScreens: ; 3cb36
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp 1
|
||||
jr z, .Both
|
||||
call .CheckPlayer
|
||||
@ -1777,7 +1777,7 @@ HandleWeather: ; 3cb9e
|
||||
cp WEATHER_SANDSTORM
|
||||
ret nz
|
||||
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp 1
|
||||
jr z, .enemy_first
|
||||
|
||||
@ -2168,7 +2168,7 @@ HandleEnemyMonFaint: ; 3cd55
|
||||
; 3cdca
|
||||
|
||||
Function3cdca: ; 3cdca
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3cde6
|
||||
call ClearSprites
|
||||
@ -2408,16 +2408,16 @@ Function3cf4a: ; 3cf4a
|
||||
callba Function2c012
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3cf6d
|
||||
jr z, .not_linked
|
||||
|
||||
call Function3e8e4
|
||||
ld a, [wBattleAction]
|
||||
cp $f
|
||||
cp BATTLEACTION_FORFEIT
|
||||
ret z
|
||||
|
||||
call Call_LoadTempTileMapToTileMap
|
||||
|
||||
.asm_3cf6d
|
||||
.not_linked
|
||||
ld hl, BattleMonHP
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
@ -3355,32 +3355,32 @@ Function3d533: ; 3d533
|
||||
; returns carry if: ???
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr z, .asm_3d541
|
||||
jr z, .not_linked
|
||||
|
||||
ld a, [wBattleAction]
|
||||
sub NUM_MOVES
|
||||
sub BATTLEACTION_SWITCH1
|
||||
ld b, a
|
||||
jr .asm_3d555
|
||||
jr .return_carry
|
||||
|
||||
.asm_3d541
|
||||
.not_linked
|
||||
ld a, [wc718]
|
||||
and a
|
||||
jr z, .asm_3d54b
|
||||
jr z, .check_wd264
|
||||
|
||||
dec a
|
||||
ld b, a
|
||||
jr .asm_3d555
|
||||
jr .return_carry
|
||||
|
||||
.asm_3d54b
|
||||
.check_wd264
|
||||
ld a, [wd264]
|
||||
and a
|
||||
ld b, $0
|
||||
jr nz, .asm_3d555
|
||||
jr nz, .return_carry
|
||||
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_3d555
|
||||
.return_carry
|
||||
scf
|
||||
ret
|
||||
; 3d557
|
||||
@ -3876,33 +3876,33 @@ TryToRunAwayFromBattle: ; 3d8b3
|
||||
; Run away from battle, with or without item
|
||||
ld a, [BattleType]
|
||||
cp BATTLETYPE_DEBUG
|
||||
jp z, .asm_3d9a2
|
||||
jp z, .can_escape
|
||||
cp BATTLETYPE_CONTEST
|
||||
jp z, .asm_3d9a2
|
||||
jp z, .can_escape
|
||||
cp BATTLETYPE_TRAP
|
||||
jp z, .asm_3d98d
|
||||
jp z, .cant_escape
|
||||
cp BATTLETYPE_CELEBI
|
||||
jp z, .asm_3d98d
|
||||
jp z, .cant_escape
|
||||
cp BATTLETYPE_SHINY
|
||||
jp z, .asm_3d98d
|
||||
jp z, .cant_escape
|
||||
cp BATTLETYPE_SUICUNE
|
||||
jp z, .asm_3d98d
|
||||
jp z, .cant_escape
|
||||
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jp nz, .asm_3d9a2
|
||||
jp nz, .can_escape
|
||||
|
||||
ld a, [wBattleMode]
|
||||
dec a
|
||||
jp nz, .asm_3d992
|
||||
jp nz, .cant_run_from_trainer
|
||||
|
||||
ld a, [EnemySubStatus5]
|
||||
bit SUBSTATUS_CANT_RUN, a
|
||||
jp nz, .asm_3d98d
|
||||
jp nz, .cant_escape
|
||||
|
||||
ld a, [wc730]
|
||||
and a
|
||||
jp nz, .asm_3d98d
|
||||
jp nz, .cant_escape
|
||||
|
||||
push hl
|
||||
push de
|
||||
@ -3914,15 +3914,15 @@ TryToRunAwayFromBattle: ; 3d8b3
|
||||
cp HELD_ESCAPE
|
||||
pop de
|
||||
pop hl
|
||||
jr nz, .asm_3d916
|
||||
jr nz, .no_flee_item
|
||||
|
||||
call SetPlayerTurn
|
||||
call GetItemName
|
||||
ld hl, BattleText_UserFledUsingAStringBuffer1
|
||||
call StdBattleTextBox
|
||||
jp .asm_3d9a2
|
||||
jp .can_escape
|
||||
|
||||
.asm_3d916
|
||||
.no_flee_item
|
||||
ld a, [wd267]
|
||||
inc a
|
||||
ld [wd267], a
|
||||
@ -3940,7 +3940,7 @@ TryToRunAwayFromBattle: ; 3d8b3
|
||||
ld hl, hStringCmpString1
|
||||
ld c, $2
|
||||
call StringCmp
|
||||
jr nc, .asm_3d9a2
|
||||
jr nc, .can_escape
|
||||
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
@ -3951,52 +3951,52 @@ TryToRunAwayFromBattle: ; 3d8b3
|
||||
ld [hDividend + 0], a
|
||||
ld a, [hProduct + 3]
|
||||
ld [hDividend + 1], a
|
||||
ld a, [$ffb1]
|
||||
ld a, [hStringCmpString1 + 0]
|
||||
ld b, a
|
||||
ld a, [$ffb2]
|
||||
ld a, [hStringCmpString1 + 1]
|
||||
srl b
|
||||
rr a
|
||||
srl b
|
||||
rr a
|
||||
and a
|
||||
jr z, .asm_3d9a2
|
||||
jr z, .can_escape
|
||||
ld [hDivisor], a
|
||||
ld b, $2
|
||||
call Divide
|
||||
ld a, [hQuotient + 1]
|
||||
and a
|
||||
jr nz, .asm_3d9a2
|
||||
jr nz, .can_escape
|
||||
ld a, [wd267]
|
||||
ld c, a
|
||||
.asm_3d96c
|
||||
.loop
|
||||
dec c
|
||||
jr z, .asm_3d97a
|
||||
jr z, .cant_escape_2
|
||||
ld b, $1e
|
||||
ld a, [hQuotient + 2]
|
||||
add b
|
||||
ld [$ffb6], a
|
||||
jr c, .asm_3d9a2
|
||||
jr .asm_3d96c
|
||||
ld [hQuotient + 2], a
|
||||
jr c, .can_escape
|
||||
jr .loop
|
||||
|
||||
.asm_3d97a
|
||||
.cant_escape_2
|
||||
call BattleRandom
|
||||
ld b, a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
cp b
|
||||
jr nc, .asm_3d9a2
|
||||
jr nc, .can_escape
|
||||
ld a, $1
|
||||
ld [wd0ec], a
|
||||
ld hl, BattleText_CantEscape2
|
||||
jr .asm_3d995
|
||||
jr .print_inescapable_text
|
||||
|
||||
.asm_3d98d
|
||||
.cant_escape
|
||||
ld hl, BattleText_CantEscape
|
||||
jr .asm_3d995
|
||||
jr .print_inescapable_text
|
||||
|
||||
.asm_3d992
|
||||
.cant_run_from_trainer
|
||||
ld hl, BattleText_TheresNoEscapeFromTrainerBattle
|
||||
|
||||
.asm_3d995
|
||||
.print_inescapable_text
|
||||
call StdBattleTextBox
|
||||
ld a, $1
|
||||
ld [wd266], a
|
||||
@ -4004,11 +4004,11 @@ TryToRunAwayFromBattle: ; 3d8b3
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_3d9a2
|
||||
.can_escape
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ld a, $2
|
||||
jr z, .asm_3d9cf
|
||||
ld a, DRAW
|
||||
jr z, .fled
|
||||
call LoadTileMapToTempTileMap
|
||||
xor a
|
||||
ld [wd0ec], a
|
||||
@ -4023,11 +4023,11 @@ TryToRunAwayFromBattle: ; 3d8b3
|
||||
|
||||
; Got away safely
|
||||
ld a, [wBattleAction]
|
||||
cp $f
|
||||
ld a, $2
|
||||
jr z, .asm_3d9cf
|
||||
cp BATTLEACTION_FORFEIT
|
||||
ld a, DRAW
|
||||
jr z, .fled
|
||||
dec a
|
||||
.asm_3d9cf
|
||||
.fled
|
||||
ld b, a
|
||||
ld a, [wBattleResult]
|
||||
and $c0
|
||||
@ -4066,18 +4066,18 @@ Function3da0d: ; 3da0d
|
||||
ld a, MON_SPECIES
|
||||
call GetPartyParamLocation
|
||||
ld de, BattleMonSpecies
|
||||
ld bc, 1 + 1 + NUM_MOVES ; species, item, moves ; BattleMonDVs - BattleMonSpecies
|
||||
ld bc, MON_ID
|
||||
call CopyBytes
|
||||
ld bc, PartyMon1DVs - (PartyMon1Species + 1 + 1 + NUM_MOVES)
|
||||
ld bc, (MON_DVS) - (MON_ID)
|
||||
add hl, bc
|
||||
ld de, BattleMonDVs
|
||||
ld bc, 2 + NUM_MOVES + 1 ; DVs, PP, happiness ; BattleMonLevel - BattleMonDVs
|
||||
ld bc, (MON_PKRUS) - (MON_DVS)
|
||||
call CopyBytes
|
||||
rept 3
|
||||
inc hl
|
||||
endr
|
||||
ld de, BattleMonLevel
|
||||
ld bc, 1 + 1 + 1 + 2 + 2 * 6 ; level, status, unused, stats
|
||||
ld bc, (PARTYMON_STRUCT_LENGTH) - (MON_LEVEL)
|
||||
call CopyBytes
|
||||
ld a, [BattleMonSpecies]
|
||||
ld [TempBattleMonSpecies], a
|
||||
@ -4158,18 +4158,18 @@ Function3dabd: ; 3dabd
|
||||
ld hl, OTPartyMon1Species
|
||||
call GetPartyLocation
|
||||
ld de, EnemyMonSpecies
|
||||
ld bc, 1 + 1 + NUM_MOVES
|
||||
ld bc, MON_ID
|
||||
call CopyBytes
|
||||
ld bc, OTPartyMon1DVs - (OTPartyMon1Species + 1 + 1 + NUM_MOVES)
|
||||
ld bc, (MON_DVS) - (MON_ID)
|
||||
add hl, bc
|
||||
ld de, EnemyMonDVs
|
||||
ld bc, 2 + NUM_MOVES + 1
|
||||
ld bc, (MON_PKRUS) - (MON_DVS)
|
||||
call CopyBytes
|
||||
rept 3
|
||||
inc hl
|
||||
endr
|
||||
ld de, EnemyMonLevel
|
||||
ld bc, 1 + 1 + 1 + 2 + 2 * 6
|
||||
ld bc, (PARTYMON_STRUCT_LENGTH) - (MON_LEVEL)
|
||||
call CopyBytes
|
||||
ld a, [EnemyMonSpecies]
|
||||
ld [CurSpecies], a
|
||||
@ -4182,7 +4182,7 @@ endr
|
||||
call CopyBytes
|
||||
ld hl, EnemyMonAttack
|
||||
ld de, EnemyStats
|
||||
ld bc, 2 * 5
|
||||
ld bc, (PARTYMON_STRUCT_LENGTH) - (MON_ATK)
|
||||
call CopyBytes
|
||||
call Function3ec30
|
||||
ld hl, BaseType1
|
||||
@ -4456,9 +4456,9 @@ Function3dce6: ; 3dce6
|
||||
; 3dcf9
|
||||
|
||||
Function3dcf9: ; 3dcf9
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3dd17
|
||||
jr z, .player_1
|
||||
call SetPlayerTurn
|
||||
call Function3dd2f
|
||||
call Function3dde9
|
||||
@ -4468,7 +4468,7 @@ Function3dcf9: ; 3dcf9
|
||||
call Function3dde9
|
||||
jp Function3de51
|
||||
|
||||
.asm_3dd17
|
||||
.player_1
|
||||
call SetEnemyTurn
|
||||
call Function3dd2f
|
||||
call Function3dde9
|
||||
@ -4699,13 +4699,13 @@ Function3de51: ; 3de51
|
||||
; 3de97
|
||||
|
||||
Function3de97: ; 3de97
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3dea3
|
||||
jr z, .player_1
|
||||
call Function3dea9
|
||||
jp Function3deb1
|
||||
|
||||
.asm_3dea3
|
||||
.player_1
|
||||
call Function3deb1
|
||||
jp Function3dea9
|
||||
; 3dea9
|
||||
@ -5461,41 +5461,41 @@ Function3e3ad: ; 3e3ad
|
||||
and a
|
||||
jr nz, .asm_3e3cf
|
||||
|
||||
.asm_3e3ca
|
||||
.switch
|
||||
call BattleMonEntrance
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_3e3cf
|
||||
ld a, [wBattleAction]
|
||||
cp $e
|
||||
jp z, .asm_3e3ca
|
||||
cp $d
|
||||
jp z, .asm_3e3ca
|
||||
cp NUM_MOVES
|
||||
jp c, .asm_3e3ca
|
||||
cp $f
|
||||
jr nz, .asm_3e3e9
|
||||
cp BATTLEACTION_E
|
||||
jp z, .switch
|
||||
cp BATTLEACTION_D
|
||||
jp z, .switch
|
||||
cp BATTLEACTION_SWITCH1
|
||||
jp c, .switch
|
||||
cp BATTLEACTION_FORFEIT
|
||||
jr nz, .dont_run
|
||||
call WildFled_EnemyFled_LinkBattleCanceled
|
||||
ret
|
||||
|
||||
.asm_3e3e9
|
||||
ld a, [$ffcb]
|
||||
.dont_run
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_3e3f7
|
||||
jr z, .player_1
|
||||
call BattleMonEntrance
|
||||
call Function3e3ff
|
||||
call EnemyMonEntrance
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_3e3f7
|
||||
call Function3e3ff
|
||||
.player_1
|
||||
call EnemyMonEntrance
|
||||
call BattleMonEntrance
|
||||
and a
|
||||
ret
|
||||
; 3e3ff
|
||||
|
||||
Function3e3ff: ; 3e3ff
|
||||
EnemyMonEntrance: ; 3e3ff
|
||||
callab AI_Switch
|
||||
call SetEnemyTurn
|
||||
jp SpikesDamage
|
||||
@ -6070,11 +6070,11 @@ Function3e7c1: ; 3e7c1
|
||||
call z, Function3e8e4
|
||||
call Call_LoadTempTileMapToTileMap
|
||||
ld a, [wBattleAction]
|
||||
cp $e
|
||||
cp BATTLEACTION_E
|
||||
jp z, .asm_3e8bd
|
||||
cp $d
|
||||
cp BATTLEACTION_D
|
||||
jp z, .asm_3e82c
|
||||
cp NUM_MOVES
|
||||
cp BATTLEACTION_SWITCH1
|
||||
jp nc, ResetVarsForSubstatusRage
|
||||
ld [CurEnemyMoveNum], a
|
||||
ld c, a
|
||||
|
@ -344,3 +344,27 @@ SUBSTATUS_CURLED EQU 0
|
||||
const ENEMY_COUNTER_MOVE
|
||||
const PLAYER_LAST_MOVE
|
||||
const ENEMY_LAST_MOVE
|
||||
|
||||
; wBattleAction
|
||||
const_def
|
||||
const BATTLEACTION_MOVE1
|
||||
const BATTLEACTION_MOVE2
|
||||
const BATTLEACTION_MOVE3
|
||||
const BATTLEACTION_MOVE4
|
||||
const BATTLEACTION_SWITCH1
|
||||
const BATTLEACTION_SWITCH2
|
||||
const BATTLEACTION_SWITCH3
|
||||
const BATTLEACTION_SWITCH4
|
||||
const BATTLEACTION_SWITCH5
|
||||
const BATTLEACTION_SWITCH6
|
||||
const BATTLEACTION_A
|
||||
const BATTLEACTION_B
|
||||
const BATTLEACTION_C
|
||||
const BATTLEACTION_D
|
||||
const BATTLEACTION_E
|
||||
const BATTLEACTION_FORFEIT
|
||||
|
||||
const_def
|
||||
const WIN
|
||||
const LOSE
|
||||
const DRAW
|
||||
|
@ -137,7 +137,7 @@ Init:: ; 17d
|
||||
ld [rLCDC], a
|
||||
|
||||
ld a, -1
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
|
||||
callba Function9890
|
||||
|
||||
|
@ -14,7 +14,7 @@ Serial:: ; 6ef
|
||||
bit 0, a
|
||||
jr nz, .asm_721
|
||||
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
inc a ; is it equal to -1?
|
||||
jr z, .asm_726
|
||||
|
||||
@ -24,7 +24,7 @@ Serial:: ; 6ef
|
||||
ld a, [hSerialSend]
|
||||
ld [rSB], a
|
||||
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr z, .asm_752
|
||||
|
||||
@ -51,7 +51,7 @@ Serial:: ; 6ef
|
||||
|
||||
.asm_730
|
||||
ld [hSerialReceive], a
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
cp $2
|
||||
jr z, .asm_74f
|
||||
|
||||
@ -128,7 +128,7 @@ Function75f:: ; 75f
|
||||
Function78a:: ; 78a
|
||||
xor a
|
||||
ld [$ffca], a
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr nz, .asm_79b
|
||||
ld a, $1
|
||||
@ -140,7 +140,7 @@ Function78a:: ; 78a
|
||||
ld a, [$ffca]
|
||||
and a
|
||||
jr nz, .asm_7e5
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr nz, .asm_7c0
|
||||
call Function82b
|
||||
@ -172,7 +172,7 @@ Function78a:: ; 78a
|
||||
dec a
|
||||
ld [wcf5d + 1], a
|
||||
jr nz, .asm_79b
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_7e5
|
||||
ld a, $ff
|
||||
@ -349,7 +349,7 @@ Function8c1:: ; 8c1
|
||||
ld a, [wcf56]
|
||||
add b
|
||||
ld [hSerialSend], a
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr nz, .asm_8ee
|
||||
ld a, $1
|
||||
@ -380,7 +380,7 @@ Function8f3:: ; 8f3
|
||||
Function908:: ; 908
|
||||
xor a
|
||||
ld [hSerialSend], a
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
ret nz
|
||||
ld a, $1
|
||||
|
2
hram.asm
2
hram.asm
@ -70,6 +70,8 @@ hMoneyTemp EQU $ffc3
|
||||
|
||||
hLCDStatCustom EQU $ffc6
|
||||
|
||||
hLinkPlayerNumber EQU $ffcb
|
||||
|
||||
hSerialSend EQU $ffcd
|
||||
hSerialReceive EQU $ffce
|
||||
|
||||
|
24
main.asm
24
main.asm
@ -25212,7 +25212,7 @@ Function2805d: ; 2805d
|
||||
xor a
|
||||
ld [wcf56], a
|
||||
call Function87d
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr nz, .asm_28091
|
||||
ld c, $3
|
||||
@ -25338,7 +25338,7 @@ Function2805d: ; 2805d
|
||||
ld [wd103], a
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
ld c, 66
|
||||
call z, DelayFrames
|
||||
@ -25355,7 +25355,7 @@ Function28177: ; 28177
|
||||
ld a, [ScriptVar]
|
||||
and a
|
||||
jp z, Function283b2
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr nz, .asm_281ae
|
||||
ld c, $3
|
||||
@ -25580,7 +25580,7 @@ Function28177: ; 28177
|
||||
ld [wd103], a
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
ld c, 66
|
||||
call z, DelayFrames
|
||||
@ -26319,7 +26319,7 @@ Function2879e: ; 2879e
|
||||
; 287ab
|
||||
|
||||
Function287ab: ; 287ab
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
ret z
|
||||
ld hl, EnemyMonSpecies
|
||||
@ -27061,7 +27061,7 @@ Function28b87: ; 28b87
|
||||
call LoadFontsBattleExtra
|
||||
ld b, $8
|
||||
call GetSGBLayout
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
jr z, .asm_28de4
|
||||
predef Function28f24
|
||||
@ -28855,7 +28855,7 @@ Special_AbortLink: ; 29c92
|
||||
ld c, $3
|
||||
call DelayFrames
|
||||
ld a, -1
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
xor a
|
||||
ld [rSB], a
|
||||
ld [hSerialReceive], a
|
||||
@ -28881,7 +28881,7 @@ Special_AbortLink: ; 29c92
|
||||
ld c, $3
|
||||
call DelayFrames
|
||||
ld a, -1
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
ld a, [rIF]
|
||||
push af
|
||||
xor a
|
||||
@ -28950,13 +28950,13 @@ Special_WaitForLinkedFriend: ; 29d11
|
||||
ld a, $ff
|
||||
ld [wcf5b], a
|
||||
.asm_29d39
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $2
|
||||
jr z, .asm_29d79
|
||||
cp $1
|
||||
jr z, .asm_29d79
|
||||
ld a, -1
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
ld a, $2
|
||||
ld [rSB], a
|
||||
xor a
|
||||
@ -29232,7 +29232,7 @@ Function29f04: ; 29f04
|
||||
ld c, $3
|
||||
call DelayFrames
|
||||
ld a, -1
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
ld a, $2
|
||||
ld [rSB], a
|
||||
xor a
|
||||
@ -29271,7 +29271,7 @@ Function29f17: ; 29f17
|
||||
; 29f47
|
||||
|
||||
Special_CableClubCheckWhichChris: ; 29f47
|
||||
ld a, [$ffcb]
|
||||
ld a, [hLinkPlayerNumber]
|
||||
cp $1
|
||||
ld a, $1
|
||||
jr z, .yes
|
||||
|
@ -4005,7 +4005,7 @@ Function1019ee: ; 1019ee
|
||||
ld a, $1
|
||||
|
||||
.asm_101a1e
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
ret
|
||||
; 101a21
|
||||
|
||||
@ -4024,7 +4024,7 @@ Function101a21: ; 101a21
|
||||
xor a
|
||||
ld [wc2d7], a
|
||||
ld a, $ff
|
||||
ld [$ffcb], a
|
||||
ld [hLinkPlayerNumber], a
|
||||
pop af
|
||||
ld [Options], a
|
||||
ret
|
||||
|
Loading…
Reference in New Issue
Block a user