Consolidate monster structs in wram and sram.

The PartyMon struct is really the box struct with volatile variables like status added.

Some other labels have been reworked.
Move structs no longer have explicit labels since their location is arbitrary and usually shared.
This commit is contained in:
yenatch
2014-06-12 18:32:42 -07:00
parent 23f9b5d21e
commit 023cfdbb05
14 changed files with 1128 additions and 1538 deletions

View File

@@ -12,8 +12,8 @@ Function3c000: ; 3c000
inc a
ld [$d264], a
ld hl, OTPartyMon1HP
ld bc, $002f
ld d, $3
ld bc, OTPartyMon2 - (OTPartyMon1 + 1)
ld d, NUM_MOVES - 1
.asm_3c019
inc d
ld a, [hli]
@@ -166,8 +166,8 @@ Function3c12f: ; 3c12f
call Function3c3f5
jp c, .asm_3c1be
xor a
ld [$c710], a
ld [$c711], a
ld [wPlayerIsSwitching], a
ld [wEnemyIsSwitching], a
ld [$d264], a
ld [$c73f], a
ld [$c740], a
@@ -455,7 +455,7 @@ Function3c314: ; 3c314
jr z, .asm_3c35b
cp $d
jr z, .asm_3c35b
sub $4
sub NUM_MOVES
jr c, .asm_3c35b
ld a, [$d0ec]
cp $2
@@ -537,8 +537,8 @@ Function3c314: ; 3c314
jr .asm_3c3c5
.asm_3c3c5
ld de, BattleMonSpd
ld hl, EnemyMonSpd
ld de, BattleMonSpeed
ld hl, EnemyMonSpeed
ld c, $2
call StringCmp
jr z, .asm_3c3d8
@@ -653,26 +653,26 @@ Function3c434: ; 3c434
callab UpdateMoveData
xor a
ld [$c732], a
ld a, [PlayerMoveEffect]
cp $77
ld a, [wPlayerMoveStruct + MOVE_EFFECT]
cp EFFECT_FURY_CUTTER
jr z, .asm_3c494
xor a
ld [PlayerFuryCutterCount], a
.asm_3c494
ld a, [PlayerMoveEffect]
cp $51
ld a, [wPlayerMoveStruct + MOVE_EFFECT]
cp EFFECT_RAGE
jr z, .asm_3c4a4
ld hl, PlayerSubStatus4
res 6, [hl]
res SUBSTATUS_RAGE, [hl]
xor a
ld [$c72b], a
.asm_3c4a4
ld a, [PlayerMoveEffect]
cp $6f
ld a, [wPlayerMoveStruct + MOVE_EFFECT]
cp EFFECT_PROTECT
jr z, .asm_3c4c9
cp $74
cp EFFECT_ENDURE
jr z, .asm_3c4c9
xor a
ld [PlayerProtectCount], a
@@ -1055,7 +1055,7 @@ Function3c706: ; 3c706
and a
jr z, Function3c710
Function3c70b: ; 3c70b
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
jr Function3c713
Function3c710: ; 3c710
@@ -1176,7 +1176,7 @@ Function3c716: ; 3c716
ld a, [hBattleTurn]
and a
jr z, .asm_3c7f4
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
.asm_3c7f4
ld a, [hli]
@@ -1243,7 +1243,7 @@ Function3c801: ; 3c801
ret
.asm_3c85c
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
xor a
ld [hli], a
ld [hl], a
@@ -1352,7 +1352,7 @@ Function3c8eb: ; 3c8eb
ld a, [hBattleTurn]
and a
jr z, .asm_3c922
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
.asm_3c922
ld a, [hli]
@@ -2423,7 +2423,7 @@ EnemyPartyMonEntrance: ; 3cf78
call SetEnemyTurn
call SpikesDamage
xor a
ld [EnemyMoveAnimation], a
ld [wEnemyMoveStruct + MOVE_ANIM], a
ld [$d0ec], a
inc a
ret
@@ -2732,7 +2732,7 @@ KantoGymLeaders:
Function3d14e: ; 3d14e
call Function3cef1
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
or [hl]
call z, Function3cf14
@@ -2743,7 +2743,7 @@ Function3d14e: ; 3d14e
ld a, d
and a
jp z, LostBattle
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3d185
@@ -2841,7 +2841,7 @@ Function3d1f8: ; 3d1f8
cp $1
jr z, .asm_3d20a
ld hl, PartyMon1Speed
ld de, EnemyMonSpd
ld de, EnemyMonSpeed
jp Function3d8b3
; 3d227
@@ -2862,7 +2862,7 @@ Function3d227: ; 3d227
ld [$d0ec], a
call Function3d2e0
jr c, .asm_3d251
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3d26c
@@ -3296,7 +3296,7 @@ Function3d4e1: ; 3d4e1
ld [$c6fc], a
ld [$d0ec], a
inc a
ld [$c711], a
ld [wEnemyIsSwitching], a
call Function309d
jp Function3e3ad
; 3d517
@@ -3309,8 +3309,8 @@ Function3d517: ; 3d517
.asm_3d522
call Function3d6ca
ld a, $1
ld [$c711], a
ld a, 1
ld [wEnemyIsSwitching], a
call Function3d7a0
call Function3d7b8
jp Function3d7c7
@@ -3321,7 +3321,7 @@ Function3d533: ; 3d533
and a
jr z, .asm_3d541
ld a, [$d430]
sub $4
sub NUM_MOVES
ld b, a
jr .asm_3d555
@@ -3435,10 +3435,10 @@ Function3d5d7: ; 3d5d7
push de
push bc
dec a
ld hl, Moves + MOVE_ANIM
ld hl, Moves
ld bc, MOVE_LENGTH
call AddNTimes
ld de, EnemyMoveAnimation
ld de, wEnemyMoveStruct
ld a, BANK(Moves)
call FarCopyBytes
call SetEnemyTurn
@@ -3475,14 +3475,14 @@ Function3d618: ; 3d618
ld a, BANK(BaseData)
call FarCopyBytes
ld a, [BattleMonType1]
ld [PlayerMoveType], a
ld [wPlayerMoveStruct + MOVE_TYPE], a
call SetPlayerTurn
callab Function347c8
ld a, [$d265]
cp $b
jr nc, .asm_3d663
ld a, [BattleMonType2]
ld [PlayerMoveType], a
ld [wPlayerMoveStruct + MOVE_TYPE], a
callab Function347c8
ld a, [$d265]
cp $b
@@ -3592,14 +3592,14 @@ Function3d6ca: ; 3d6ca
ld a, [$def4]
and a
jr nz, .asm_3d708
ld hl, EnemyMonAtkDefDV
ld a, $2d
ld hl, EnemyMonDVs
ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld a, [UnownLetter]
ld [$def4], a
.asm_3d708
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
ld [$c6ea], a
ld a, [hl]
@@ -3759,7 +3759,7 @@ NewEnemyMonStatus: ; 3d834
ld [hl], a
ld [EnemyDisableCount], a
ld [EnemyFuryCutterCount], a
ld [$c681], a
ld [EnemyProtectCount], a
ld [$c72c], a
ld [EnemyDisabledMove], a
ld [$c6fa], a
@@ -4019,21 +4019,21 @@ Function3d8b3: ; 3d8b3
Function3da0d: ; 3da0d
ld a, $0
ld a, PartyMon1Species - PartyMon1
call GetPartyParamLocation
ld de, BattleMonSpecies
ld bc, $0006
ld bc, 1 + 1 + NUM_MOVES ; species, item, moves ; BattleMonDVs - BattleMonSpecies
call CopyBytes
ld bc, $000f
ld bc, PartyMon1DVs - (PartyMon1Species + 1 + 1 + NUM_MOVES)
add hl, bc
ld de, BattleMonAtkDefDV
ld bc, $0007
ld de, BattleMonDVs
ld bc, 2 + NUM_MOVES + 1 ; DVs, PP, happiness ; BattleMonLevel - BattleMonDVs
call CopyBytes
inc hl
inc hl
inc hl
ld de, BattleMonLevel
ld bc, $0011
ld bc, 1 + 1 + 1 + 2 + 2 * 6 ; level, status, unused, stats
call CopyBytes
ld a, [BattleMonSpecies]
ld [TempBattleMonSpecies], a
@@ -4044,15 +4044,15 @@ Function3da0d: ; 3da0d
ld [BattleMonType1], a
ld a, [BaseType2]
ld [BattleMonType2], a
ld hl, PartyMon1Nickname
ld hl, PartyMonNicknames
ld a, [CurBattleMon]
call SkipNames
ld de, BattleMonNick
ld bc, $000b
ld bc, PKMN_NAME_LENGTH
call CopyBytes
ld hl, BattleMonAtk
ld hl, BattleMonAttack
ld de, PlayerStats
ld bc, $000a
ld bc, 2 * 5
call CopyBytes
call Function3ec2c
call BadgeStatBoosts
@@ -4074,7 +4074,7 @@ Function3da7c: ; 3da7c
; 3da85
Function3da85: ; 3da85
ld hl, BattleMonAtkDefDV
ld hl, BattleMonDVs
ld a, [PlayerSubStatus5]
bit 3, a
ret z
@@ -4084,7 +4084,7 @@ Function3da85: ; 3da85
; 3da97
Function3da97: ; 3da97
ld hl, EnemyMonAtkDefDV
ld hl, EnemyMonDVs
ld a, [EnemySubStatus5]
bit 3, a
ret z
@@ -4092,7 +4092,7 @@ Function3da97: ; 3da97
ld a, [IsInBattle]
dec a
ret z
ld hl, OTPartyMon1AtkDefDV
ld hl, OTPartyMon1DVs
ld a, [CurOTMon]
jp GetPartyLocation
; 3dab1
@@ -4114,31 +4114,31 @@ Function3dabd: ; 3dabd
ld hl, OTPartyMon1Species
call GetPartyLocation
ld de, EnemyMonSpecies
ld bc, $0006
ld bc, 1 + 1 + NUM_MOVES
call CopyBytes
ld bc, $000f
ld bc, OTPartyMon1DVs - (OTPartyMon1Species + 1 + 1 + NUM_MOVES)
add hl, bc
ld de, EnemyMonAtkDefDV
ld bc, $0007
ld de, EnemyMonDVs
ld bc, 2 + NUM_MOVES + 1
call CopyBytes
inc hl
inc hl
inc hl
ld de, EnemyMonLevel
ld bc, $0011
ld bc, 1 + 1 + 1 + 2 + 2 * 6
call CopyBytes
ld a, [EnemyMonSpecies]
ld [CurSpecies], a
call GetBaseData
ld hl, OTPartyMon1Nickname
ld hl, OTPartyMonNicknames
ld a, [CurPartyMon]
call SkipNames
ld de, EnemyMonNick
ld bc, $000b
ld bc, PKMN_NAME_LENGTH
call CopyBytes
ld hl, EnemyMonAtk
ld hl, EnemyMonAttack
ld de, EnemyStats
ld bc, $000a
ld bc, 2 * 5
call CopyBytes
call Function3ec30
ld hl, BaseType1
@@ -4148,9 +4148,9 @@ Function3dabd: ; 3dabd
inc de
ld a, [hl]
ld [de], a
ld hl, BaseHP
ld hl, BaseStats
ld de, EnemyMonBaseStats
ld b, $5
ld b, 5
.asm_3db25
ld a, [hli]
ld [de], a
@@ -4177,7 +4177,7 @@ Function3db32: ; 3db32
call Function3db5f
call EmptyBattleTextBox
call Function309d
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
or [hl]
ret
@@ -4185,12 +4185,12 @@ Function3db32: ; 3db32
Function3db5f: ; 3db5f
ld hl, BattleMonAtkDefDV
ld a, $2d
ld hl, BattleMonDVs
ld a, PREDEF_GET_UNOWN_LETTER
call Predef
hlcoord 1, 5
ld b, $7
ld c, $8
ld b, 7
ld c, 8
call ClearBox
call WaitBGMap
xor a
@@ -4201,7 +4201,7 @@ Function3db5f: ; 3db5f
ld [$d0d2], a
ld [CurMoveNum], a
ld [TypeModifier], a
ld [PlayerMoveAnimation], a
ld [wPlayerMoveStruct + MOVE_ANIM], a
ld [LastEnemyCounterMove], a
ld [LastPlayerCounterMove], a
ld [LastPlayerMove], a
@@ -4223,7 +4223,7 @@ Function3db5f: ; 3db5f
call Function3ee17
.asm_3dbbc
ld a, $0
ld a, PartyMon1Species - PartyMon1
call GetPartyParamLocation
ld b, h
ld c, l
@@ -4281,20 +4281,20 @@ BreakAttraction: ; 3dc18
SpikesDamage: ; 3dc23
ld hl, PlayerScreens
ld de, BattleMonType1
ld de, BattleMonType
ld bc, Function3df48
ld a, [hBattleTurn]
and a
jr z, .ok
ld hl, EnemyScreens
ld de, EnemyMonType1
ld de, EnemyMonType
ld bc, Function3e036
.ok
bit SCREENS_SPIKES, [hl]
ret z
; Flying-types aren't affected by Spikes.
; Flying-types aren't affected by Spikes.
ld a, [de]
cp FLYING
ret z
@@ -4321,15 +4321,17 @@ SpikesDamage: ; 3dc23
; 3dc5b
Function3dc5b: ; 3dc5b
ld a, $10
ld a, BATTLE_VARS_MOVE
call GetBattleVar
ld b, a
call GetMoveEffect
ld a, b
cp $80
cp EFFECT_PURSUIT
jr nz, .asm_3dce4
ld a, [CurBattleMon]
push af
ld hl, DoPlayerTurn
ld a, [hBattleTurn]
and a
@@ -4337,25 +4339,29 @@ Function3dc5b: ; 3dc5b
ld hl, DoEnemyTurn
ld a, [$c71a]
ld [CurBattleMon], a
.asm_3dc7e
ld a, BANK(DoPlayerTurn)
rst FarCall
ld a, $10
ld a, BATTLE_VARS_MOVE
call _GetBattleVar
ld a, $ff
ld [hl], a
pop af
ld [CurBattleMon], a
ld a, [hBattleTurn]
and a
jr z, .asm_3dcc0
ld a, [$c71a]
call Function399f
ld hl, BattleMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3dce4
ld a, $f0
ld [CryTracks], a
ld a, [BattleMonSpecies]
@@ -4371,10 +4377,11 @@ Function3dc5b: ; 3dc5b
jr .asm_3dcdf
.asm_3dcc0
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3dce4
ld de, SFX_KINESIS
call PlaySFX
call WaitSFX
@@ -4436,8 +4443,8 @@ Function3dd2f: ; 3dd2f
ld a, b
cp $1
ret nz
ld de, EnemyMonHPLo
ld hl, EnemyMonMaxHPHi
ld de, EnemyMonHP + 1
ld hl, EnemyMonMaxHP
ld a, [hBattleTurn]
and a
jr z, .asm_3dd4a
@@ -4945,7 +4952,7 @@ Function3e043: ; 3e043
ld h, b
ld l, c
dec hl
ld hl, EnemyMonAtkDefDV
ld hl, EnemyMonDVs
ld de, TempMonDVs
ld a, [EnemySubStatus5]
bit 3, a
@@ -4990,7 +4997,7 @@ Function3e043: ; 3e043
call PrintLevel
.asm_3e0be
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
ld [$ffb5], a
ld a, [hld]
@@ -5008,7 +5015,7 @@ Function3e043: ; 3e043
ld a, $30
ld [hMultiplier], a
call Multiply
ld hl, EnemyMonMaxHPHi
ld hl, EnemyMonMaxHP
ld a, [hli]
ld b, a
ld a, [hl]
@@ -5386,8 +5393,8 @@ Function3e358: ; 3e358
; 3e3ad
Function3e3ad: ; 3e3ad
ld a, $1
ld [$c710], a
ld a, 1
ld [wPlayerIsSwitching], a
ld a, [InLinkBattle]
and a
jr z, .asm_3e3c1
@@ -5412,7 +5419,7 @@ Function3e3ad: ; 3e3ad
jp z, .asm_3e3ca
cp $d
jp z, .asm_3e3ca
cp $4
cp NUM_MOVES
jp c, .asm_3e3ca
cp $f
jr nz, .asm_3e3e9
@@ -5452,9 +5459,9 @@ BattleMonEntrance: ; 3e40b
call SetEnemyTurn
call Function3dc5b
jr c, .asm_3e423
jr c, .ok
call Function3dce6
.asm_3e423
.ok
hlcoord 9, 7
lb bc, 5, 11
@@ -5506,8 +5513,8 @@ Function3e489: ; 3e489
call Function30b4
ld a, $3
ld [$cfa9], a
ld hl, BattleMonSpd
ld de, EnemyMonSpd
ld hl, BattleMonSpeed
ld de, EnemyMonSpeed
call Function3d8b3
ld a, $0
ld [$d266], a
@@ -5906,7 +5913,7 @@ MoveInfoBox: ; 3e6c8
ld [hl], "/"
callab UpdateMoveData
ld a, [PlayerMoveAnimation]
ld a, [wPlayerMoveStruct + MOVE_ANIM]
ld b, a
hlcoord 2, 10
ld a, PREDEF_PRINT_MOVE_TYPE
@@ -5996,7 +6003,7 @@ Function3e786: ; 3e786
Function3e7c1: ; 3e7c1
ld a, [$c711]
ld a, [wEnemyIsSwitching]
and a
ret nz
ld a, [InLinkBattle]
@@ -6013,16 +6020,17 @@ Function3e7c1: ; 3e7c1
jp z, .asm_3e8bd
cp $d
jp z, .asm_3e82c
cp $4
cp NUM_MOVES
jp nc, Function3e8c1
ld [CurEnemyMoveNum], a
ld c, a
ld a, [EnemySubStatus1]
bit 6, a
bit SUBSTATUS_ENCORED, a
jp nz, .asm_3e882
ld a, [EnemySubStatus3]
and $13
and 1 << SUBSTATUS_CHARGED | 1 << SUBSTATUS_ROLLOUT | 1 << SUBSTATUS_BIDE
jp nz, .asm_3e882
ld hl, EnemySubStatus5
bit 4, [hl]
ld a, [LastEnemyMove]
@@ -6113,14 +6121,14 @@ Function3e7c1: ; 3e7c1
ld [$c733], a
.asm_3e894
ld a, [EnemyMoveEffect]
ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_FURY_CUTTER
jr z, .asm_3e89f
xor a
ld [EnemyFuryCutterCount], a
.asm_3e89f
ld a, [EnemyMoveEffect]
ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_RAGE
jr z, .asm_3e8af
ld hl, EnemySubStatus4
@@ -6129,13 +6137,13 @@ Function3e7c1: ; 3e7c1
ld [$c72c], a
.asm_3e8af
ld a, [EnemyMoveEffect]
ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_PROTECT
ret z
cp EFFECT_ENDURE
ret z
xor a
ld [$c681], a
ld [EnemyProtectCount], a
ret
.asm_3e8bd
@@ -6146,7 +6154,7 @@ Function3e7c1: ; 3e7c1
Function3e8c1: ; 3e8c1
xor a
ld [EnemyFuryCutterCount], a
ld [$c681], a
ld [EnemyProtectCount], a
ld [$c72c], a
ld hl, EnemySubStatus4
res SUBSTATUS_RAGE, [hl]
@@ -6492,9 +6500,9 @@ LoadEnemyMon: ; 3e8eb
ld [hli], a
; Full HP...
ld a, [EnemyMonMaxHPHi]
ld a, [EnemyMonMaxHP]
ld [hli], a
ld a, [EnemyMonMaxHPLo]
ld a, [EnemyMonMaxHP + 1]
ld [hl], a
; ...unless it's a RoamMon
@@ -6510,13 +6518,13 @@ LoadEnemyMon: ; 3e8eb
jr z, .InitRoamHP
; Update from the struct if it has
ld a, [hl]
ld [EnemyMonHPLo], a
ld [EnemyMonHP + 1], a
jr .Moves
.InitRoamHP
; HP only uses the lo byte in the RoamMon struct since
; Raikou/Entei/Suicune will have < 256 hp at level 40
ld a, [EnemyMonHPLo]
ld a, [EnemyMonHP + 1]
ld [hl], a
jr .Moves
@@ -6527,9 +6535,9 @@ LoadEnemyMon: ; 3e8eb
ld a, [CurPartyMon]
call GetPartyLocation
ld a, [hld]
ld [EnemyMonHPLo], a
ld [EnemyMonHP + 1], a
ld a, [hld]
ld [EnemyMonHPHi], a
ld [EnemyMonHP], a
; Make sure everything knows which monster the opponent is using
ld a, [CurPartyMon]
@@ -6975,11 +6983,11 @@ Function3ecb7: ; 3ecb7
ld a, [$d265]
and a
ld a, c
ld hl, BattleMonAtk
ld hl, BattleMonAttack
ld de, PlayerStats
ld bc, PlayerAtkLevel
jr z, .asm_3ecd2
ld hl, EnemyMonAtk
ld hl, EnemyMonAttack
ld de, EnemyStats
ld bc, EnemyAtkLevel
@@ -7113,7 +7121,7 @@ BadgeStatBoosts: ; 3ed45
or c
ld b, a
ld hl, BattleMonAtk
ld hl, BattleMonAttack
ld c, 4
.CheckBadge
ld a, b
@@ -7432,7 +7440,7 @@ Function3ee3b: ; 3ee3b
ld a, [$ffb5]
ld [StringBuffer2], a
ld a, [CurPartyMon]
ld hl, PartyMon1Nickname
ld hl, PartyMonNicknames
call GetNick
ld hl, UnknownText_0x3f11b
call BattleTextBox
@@ -7960,14 +7968,14 @@ Function3f26d: ; 3f26d
jr nz, .asm_3f2ce
.asm_3f27c
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
or [hl]
ld hl, UnknownText_0x3f2d1
jr z, .asm_3f2ce
xor a
ld [hMultiplicand], a
ld hl, EnemyMonHPHi
ld hl, EnemyMonHP
ld a, [hli]
ld [$c6ea], a
ld [$ffb5], a
@@ -7977,7 +7985,7 @@ Function3f26d: ; 3f26d
ld a, $19
ld [hMultiplier], a
call Multiply
ld hl, EnemyMonMaxHPHi
ld hl, EnemyMonMaxHP
ld a, [hli]
ld b, [hl]
srl a
@@ -8052,7 +8060,7 @@ UnknownText_0x3f2fa: ; 3f2fa
Function3f2ff: ; 3f2ff
push de
push bc
ld hl, EnemyMonHPLo
ld hl, EnemyMonHP + 1
ld de, $c6eb
ld b, [hl]
dec hl
@@ -8067,7 +8075,7 @@ Function3f2ff: ; 3f2ff
ld a, $19
ld [hMultiplier], a
call Multiply
ld hl, EnemyMonMaxHPHi
ld hl, EnemyMonMaxHP
ld a, [hli]
ld b, [hl]
srl a
@@ -8300,8 +8308,8 @@ Function3f447: ; 3f447
push af
ld a, [BattleMonSpecies]
ld [CurPartySpecies], a
ld hl, BattleMonAtkDefDV
ld a, $2d
ld hl, BattleMonDVs
ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, $9310
ld a, $3d
@@ -8339,8 +8347,8 @@ Function3f486: ; 3f486
ld [CurSpecies], a
ld [CurPartySpecies], a
call GetBaseData
ld hl, EnemyMonAtkDefDV
ld a, $2d
ld hl, EnemyMonDVs
ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, VTiles2
ld a, $3e
@@ -8537,8 +8545,8 @@ Function3f607: ; 3f607
ld de, $c739
ld bc, NUM_MOVES
call CopyBytes
ld hl, EnemyMonAtkDefDV
ld a, $2d
ld hl, EnemyMonDVs
ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld a, [CurPartySpecies]
cp UNOWN
@@ -8975,7 +8983,7 @@ Function3f998: ; 3f998
and $f
jr z, .asm_3f9af
call GetRoamMonHP
ld a, [EnemyMonHPLo]
ld a, [EnemyMonHP + 1]
ld [hl], a
jr .asm_3f9ca
@@ -9003,74 +9011,74 @@ Function3f998: ; 3f998
GetRoamMonMapGroup: ; 3f9d1
ld a, [TempEnemyMonSpecies]
ld b, a
ld a, [RoamMon1Species]
ld a, [wRoamMon1Species]
cp b
ld hl, RoamMon1MapGroup
ld hl, wRoamMon1MapGroup
ret z
ld a, [RoamMon2Species]
ld a, [wRoamMon2Species]
cp b
ld hl, RoamMon2MapGroup
ld hl, wRoamMon2MapGroup
ret z
ld hl, RoamMon3MapGroup
ld hl, wRoamMon3MapGroup
ret
; 3f9e9
GetRoamMonMapNumber: ; 3f9e9
ld a, [TempEnemyMonSpecies]
ld b, a
ld a, [RoamMon1Species]
ld a, [wRoamMon1Species]
cp b
ld hl, RoamMon1MapNumber
ld hl, wRoamMon1MapNumber
ret z
ld a, [RoamMon2Species]
ld a, [wRoamMon2Species]
cp b
ld hl, RoamMon2MapNumber
ld hl, wRoamMon2MapNumber
ret z
ld hl, RoamMon3MapNumber
ld hl, wRoamMon3MapNumber
ret
; 3fa01
GetRoamMonHP: ; 3fa01
; output: hl = RoamMonHP
; output: hl = wRoamMonHP
ld a, [TempEnemyMonSpecies]
ld b, a
ld a, [RoamMon1Species]
ld a, [wRoamMon1Species]
cp b
ld hl, RoamMon1HP
ld hl, wRoamMon1HP
ret z
ld a, [RoamMon2Species]
ld a, [wRoamMon2Species]
cp b
ld hl, RoamMon2HP
ld hl, wRoamMon2HP
ret z
ld hl, RoamMon3HP
ld hl, wRoamMon3HP
ret
; 3fa19
GetRoamMonDVs: ; 3fa19
; output: hl = RoamMonDVs
; output: hl = wRoamMonDVs
ld a, [TempEnemyMonSpecies]
ld b, a
ld a, [RoamMon1Species]
ld a, [wRoamMon1Species]
cp b
ld hl, RoamMon1DVs
ld hl, wRoamMon1DVs
ret z
ld a, [RoamMon2Species]
ld a, [wRoamMon2Species]
cp b
ld hl, RoamMon2DVs
ld hl, wRoamMon2DVs
ret z
ld hl, RoamMon3DVs
ld hl, wRoamMon3DVs
ret
; 3fa31
GetRoamMonSpecies: ; 3fa31
ld a, [TempEnemyMonSpecies]
ld hl, RoamMon1Species
ld hl, wRoamMon1Species
cp [hl]
ret z
ld hl, RoamMon2Species
ld hl, wRoamMon2Species
cp [hl]
ret z
ld hl, RoamMon3Species
ld hl, wRoamMon3Species
ret
; 3fa42