HP bar animation addresses and AI switch

This commit is contained in:
pikalaxalt 2016-05-16 09:36:24 -04:00
parent e515543500
commit 12396874cf
5 changed files with 133 additions and 116 deletions

View File

@ -571,20 +571,20 @@ EnemyUsedFullHeal: ; 383a3 (e:43a3)
EnemyUsedMaxPotion: ; 383ae (e:43ae) EnemyUsedMaxPotion: ; 383ae (e:43ae)
ld a, MAX_POTION ld a, MAX_POTION
ld [wd1f1], a ld [CurEnemyItem], a
jr FullRestoreContinue jr FullRestoreContinue
EnemyUsedFullRestore: ; 383b5 (e:43b5) EnemyUsedFullRestore: ; 383b5 (e:43b5)
call AI_HealStatus call AI_HealStatus
ld a, FULL_RESTORE ld a, FULL_RESTORE
ld [wd1f1], a ld [CurEnemyItem], a
ld hl, EnemySubStatus3 ld hl, EnemySubStatus3
res SUBSTATUS_CONFUSED, [hl] res SUBSTATUS_CONFUSED, [hl]
xor a xor a
ld [EnemyConfuseCount], a ld [EnemyConfuseCount], a
FullRestoreContinue: ; 383c6 FullRestoreContinue: ; 383c6
ld de, wd1ec ld de, wCurHPAnimOldHP
ld hl, EnemyMonHP + 1 ld hl, EnemyMonHP + 1
ld a, [hld] ld a, [hld]
ld [de], a ld [de], a
@ -596,11 +596,11 @@ FullRestoreContinue: ; 383c6
ld a, [hld] ld a, [hld]
ld [de], a ld [de], a
inc de inc de
ld [Buffer1], a ld [wCurHPAnimMaxHP], a
ld [EnemyMonHP + 1], a ld [EnemyMonHP + 1], a
ld a, [hl] ld a, [hl]
ld [de], a ld [de], a
ld [Buffer2], a ld [wCurHPAnimMaxHP + 1], a
ld [EnemyMonHP], a ld [EnemyMonHP], a
jr EnemyPotionFinish jr EnemyPotionFinish
; 383e8 (e:43e8) ; 383e8 (e:43e8)
@ -620,20 +620,20 @@ EnemyUsedHyperPotion: ; 383f4 (e:43f4)
ld b, 200 ld b, 200
EnemyPotionContinue: ; 383f8 EnemyPotionContinue: ; 383f8
ld [wd1f1], a ld [CurEnemyItem], a
ld hl, EnemyMonHP + 1 ld hl, EnemyMonHP + 1
ld a, [hl] ld a, [hl]
ld [wd1ec], a ld [wCurHPAnimOldHP], a
add b add b
ld [hld], a ld [hld], a
ld [wd1ee], a ld [wCurHPAnimNewHP], a
ld a, [hl] ld a, [hl]
ld [wd1ec + 1], a ld [wCurHPAnimOldHP + 1], a
ld [wd1ee + 1], a ld [wCurHPAnimNewHP + 1], a
jr nc, .ok jr nc, .ok
inc a inc a
ld [hl], a ld [hl], a
ld [wd1ee + 1], a ld [wCurHPAnimNewHP + 1], a
.ok .ok
inc hl inc hl
ld a, [hld] ld a, [hld]
@ -641,22 +641,22 @@ EnemyPotionContinue: ; 383f8
ld de, EnemyMonMaxHP + 1 ld de, EnemyMonMaxHP + 1
ld a, [de] ld a, [de]
dec de dec de
ld [Buffer1], a ld [wCurHPAnimMaxHP], a
sub b sub b
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [de] ld a, [de]
ld [Buffer2], a ld [wCurHPAnimMaxHP + 1], a
sbc b sbc b
jr nc, EnemyPotionFinish jr nc, EnemyPotionFinish
inc de inc de
ld a, [de] ld a, [de]
dec de dec de
ld [hld], a ld [hld], a
ld [wd1ee], a ld [wCurHPAnimNewHP], a
ld a, [de] ld a, [de]
ld [hl], a ld [hl], a
ld [wd1ef], a ld [wCurHPAnimNewHP + 1], a
EnemyPotionFinish: ; 38436 EnemyPotionFinish: ; 38436
call PrintText_UsedItemOn call PrintText_UsedItemOn
@ -843,7 +843,7 @@ EnemyUsedXSpecial: ; 38553
; a = ITEM_CONSTANT ; a = ITEM_CONSTANT
; b = BATTLE_CONSTANT (ATTACK, DEFENSE, SPEED, SP_ATTACK, SP_DEFENSE, ACCURACY, EVASION) ; b = BATTLE_CONSTANT (ATTACK, DEFENSE, SPEED, SP_ATTACK, SP_DEFENSE, ACCURACY, EVASION)
EnemyUsedXItem: EnemyUsedXItem:
ld [wd1f1], a ld [CurEnemyItem], a
push bc push bc
call PrintText_UsedItemOn call PrintText_UsedItemOn
pop bc pop bc
@ -855,13 +855,13 @@ EnemyUsedXItem:
; Parameter ; Parameter
; a = ITEM_CONSTANT ; a = ITEM_CONSTANT
PrintText_UsedItemOn_AND_AIUpdateHUD: ; 38568 PrintText_UsedItemOn_AND_AIUpdateHUD: ; 38568
ld [wd1f1], a ld [CurEnemyItem], a
call PrintText_UsedItemOn call PrintText_UsedItemOn
jp AIUpdateHUD jp AIUpdateHUD
; 38571 ; 38571
PrintText_UsedItemOn: ; 38571 PrintText_UsedItemOn: ; 38571
ld a, [wd1f1] ld a, [CurEnemyItem]
ld [wd265], a ld [wd265], a
call GetItemName call GetItemName
ld hl, StringBuffer1 ld hl, StringBuffer1

View File

@ -136,9 +136,11 @@ CheckPlayerMoveTypeMatchups: ; 3484e
jr c, .loop2 jr c, .loop2
; neutral ; neutral
rept 5
inc c inc c
endr inc c
inc c
inc c
inc c
cp 10 cp 10
jr z, .loop2 jr z, .loop2
@ -161,11 +163,6 @@ endr
.doubledown .doubledown
call .DecreaseScore call .DecreaseScore
; fallthrough
; 34931
.DecreaseScore: ; 34931 .DecreaseScore: ; 34931
ld a, [wEnemyAISwitchScore] ld a, [wEnemyAISwitchScore]
dec a dec a
@ -173,7 +170,6 @@ endr
ret ret
; 34939 ; 34939
.IncreaseScore: ; 34939 .IncreaseScore: ; 34939
ld a, [wEnemyAISwitchScore] ld a, [wEnemyAISwitchScore]
inc a inc a
@ -198,16 +194,16 @@ CheckAbleToSwitch: ; 34941
; Perish count is 1 ; Perish count is 1
call FindAliveEnemyMons call FindAliveEnemyMons
call FindEnemyMonsWithEnoughHP call FindEnemyMonsWithAtLeastQuarterMaxHP
call FindEnemyMonsThatResistPlayer call FindEnemyMonsThatResistPlayer
call Function34a85 call FindAliveEnemyMonsWithASuperEffectiveMove
ld a, e ld a, e
cp 2 cp 2
jr nz, .not_2 jr nz, .not_2
ld a, [wEnemyAISwitchScore] ld a, [wEnemyAISwitchScore]
add $30 add $30 ; maximum chance
ld [wEnemySwitchMonParam], a ld [wEnemySwitchMonParam], a
ret ret
@ -223,12 +219,11 @@ CheckAbleToSwitch: ; 34941
jr nc, .loop1 jr nc, .loop1
ld a, b ld a, b
add $30 add $30 ; maximum chance
ld [wEnemySwitchMonParam], a ld [wEnemySwitchMonParam], a
ret ret
.no_perish .no_perish
call CheckPlayerMoveTypeMatchups call CheckPlayerMoveTypeMatchups
ld a, [wEnemyAISwitchScore] ld a, [wEnemyAISwitchScore]
cp 11 cp 11
@ -238,13 +233,13 @@ CheckAbleToSwitch: ; 34941
and a and a
jr z, .no_last_counter_move jr z, .no_last_counter_move
call Function34a2a call FindEnemyMonsImmuneToLastCounterMove
ld a, [wEnemyAISwitchScore] ld a, [wEnemyAISwitchScore]
and a and a
jr z, .no_last_counter_move jr z, .no_last_counter_move
ld c, a ld c, a
call Function34aa7 call FindEnemyMonsWithASuperEffectiveMove
ld a, [wEnemyAISwitchScore] ld a, [wEnemyAISwitchScore]
cp $ff cp $ff
ret z ret z
@ -285,9 +280,9 @@ CheckAbleToSwitch: ; 34941
ret nc ret nc
call FindAliveEnemyMons call FindAliveEnemyMons
call FindEnemyMonsWithEnoughHP call FindEnemyMonsWithAtLeastQuarterMaxHP
call FindEnemyMonsThatResistPlayer call FindEnemyMonsThatResistPlayer
call Function34a85 call FindAliveEnemyMonsWithASuperEffectiveMove
ld a, e ld a, e
cp $2 cp $2
@ -352,7 +347,7 @@ FindAliveEnemyMons: ; 349f4
; 34a2a ; 34a2a
Function34a2a: ; 34a2a FindEnemyMonsImmuneToLastCounterMove: ; 34a2a
ld hl, OTPartyMon1 ld hl, OTPartyMon1
ld a, [OTPartyCount] ld a, [OTPartyCount]
ld b, a ld b, a
@ -361,44 +356,50 @@ Function34a2a: ; 34a2a
xor a xor a
ld [wEnemyAISwitchScore], a ld [wEnemyAISwitchScore], a
.asm_34a39 .loop
ld a, [CurOTMon] ld a, [CurOTMon]
cp d cp d
push hl push hl
jr z, .asm_34a77 jr z, .next
push hl push hl
push bc push bc
; If the Pokemon has at least 1 HP...
ld bc, MON_HP ld bc, MON_HP
add hl, bc add hl, bc
pop bc pop bc
ld a, [hli] ld a, [hli]
or [hl] or [hl]
pop hl pop hl
jr z, .asm_34a77 jr z, .next
ld a, [hl] ld a, [hl]
ld [CurSpecies], a ld [CurSpecies], a
call GetBaseData call GetBaseData
; the enemy's last move is damaging...
ld a, [LastEnemyCounterMove] ld a, [LastEnemyCounterMove]
dec a dec a
ld hl, Moves + MOVE_POWER ld hl, Moves + MOVE_POWER
call GetMoveAttr call GetMoveAttr
and a and a
jr z, .asm_34a77 jr z, .next
; and the Pokemon is immune to it...
inc hl inc hl
call GetMoveByte call GetMoveByte
ld hl, BaseType ld hl, BaseType
call CheckTypeMatchup call CheckTypeMatchup
ld a, [wTypeMatchup] ld a, [wTypeMatchup]
and a and a
jr nz, .asm_34a77 jr nz, .next
; ... encourage that Pokemon.
ld a, [wEnemyAISwitchScore] ld a, [wEnemyAISwitchScore]
or c or c
ld [wEnemyAISwitchScore], a ld [wEnemyAISwitchScore], a
.asm_34a77 .next
pop hl pop hl
dec b dec b
ret z ret z
@ -410,11 +411,11 @@ Function34a2a: ; 34a2a
inc d inc d
srl c srl c
jr .asm_34a39 jr .loop
; 34a85 ; 34a85
Function34a85: ; 34a85 FindAliveEnemyMonsWithASuperEffectiveMove: ; 34a85
push bc push bc
ld a, [OTPartyCount] ld a, [OTPartyCount]
ld e, a ld e, a
@ -444,13 +445,9 @@ Function34a85: ; 34a85
and c and c
ld c, a ld c, a
FindEnemyMonsWithASuperEffectiveMove: ; 34aa7
; fallthrough ld a, -1
; 34aa7
Function34aa7: ; 34aa7
ld a, $ff
ld [wEnemyAISwitchScore], a ld [wEnemyAISwitchScore], a
ld hl, OTPartyMon1Moves ld hl, OTPartyMon1Moves
ld b, 1 << (PARTY_LENGTH - 1) ld b, 1 << (PARTY_LENGTH - 1)
@ -463,32 +460,40 @@ Function34aa7: ; 34aa7
push hl push hl
push bc push bc
; for move on mon:
ld b, NUM_MOVES ld b, NUM_MOVES
ld c, 0 ld c, 0
.loop3 .loop3
; if move is None: break
ld a, [hli] ld a, [hli]
and a and a
push hl push hl
jr z, .break3 jr z, .break3
; if move has no power: continue
dec a dec a
ld hl, Moves + MOVE_POWER ld hl, Moves + MOVE_POWER
call GetMoveAttr call GetMoveAttr
and a and a
jr z, .nope jr z, .nope
; check type matchups
inc hl inc hl
call GetMoveByte call GetMoveByte
ld hl, BattleMonType1 ld hl, BattleMonType1
call CheckTypeMatchup call CheckTypeMatchup
; if immune or not very effective: continue
ld a, [wTypeMatchup] ld a, [wTypeMatchup]
cp 10 cp 10
jr c, .nope jr c, .nope
; if neutral: load 1 and continue
ld e, 1 ld e, 1
cp 10 + 1 cp 10 + 1
jr c, .nope jr c, .nope
; if super-effective: load 2 and break
ld e, 2 ld e, 2
jr .break3 jr .break3
@ -505,18 +510,19 @@ Function34aa7: ; 34aa7
ld a, e ld a, e
pop bc pop bc
pop hl pop hl
cp $2 cp 2
jr z, .done2 jr z, .done2 ; at least one move is super-effective
cp 1
cp $1 jr nz, .next ; no move does more than half damage
jr nz, .next
; encourage this pokemon
ld a, d ld a, d
or b or b
ld d, a ld d, a
jr .next jr .next ; such a long jump
.next .next
; next pokemon?
push bc push bc
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
add hl, bc add hl, bc
@ -524,12 +530,14 @@ Function34aa7: ; 34aa7
srl b srl b
jr nc, .loop jr nc, .loop
; if no pokemon has a super-effective move: return
ld a, d ld a, d
ld b, a ld b, a
and a and a
ret z ret z
.done2 .done2
; convert the bit flag to an int and return
push bc push bc
sla b sla b
sla b sla b
@ -608,7 +616,7 @@ FindEnemyMonsThatResistPlayer: ; 34b20
; 34b77 ; 34b77
FindEnemyMonsWithEnoughHP: ; 34b77 FindEnemyMonsWithAtLeastQuarterMaxHP: ; 34b77
push bc push bc
ld de, OTPartySpecies ld de, OTPartySpecies
ld b, 1 << (PARTY_LENGTH - 1) ld b, 1 << (PARTY_LENGTH - 1)
@ -629,13 +637,12 @@ FindEnemyMonsWithEnoughHP: ; 34b77
inc hl inc hl
inc hl inc hl
; hl = MaxHP + 1 ; hl = MaxHP + 1
; b = (4 * b) % $100 + (c & 3) ; bc = [CurHP] * 4
; c = c / 4
srl c srl c
rl b rl b
srl c srl c
rl b rl b
; a = (MaxHP / $100) - b - (1 if c > (MaxHP % $100) else 0) ; if bc >= [hl], encourage
ld a, [hld] ld a, [hld]
cp c cp c
ld a, [hl] ld a, [hl]

View File

@ -41,10 +41,10 @@ _AnimateHPBar: ; d627
; d65f ; d65f
.IsMaximumMoreThan48Pixels: ; d65f .IsMaximumMoreThan48Pixels: ; d65f
ld a, [Buffer2] ld a, [wCurHPAnimMaxHP + 1]
and a and a
jr nz, .player jr nz, .player
ld a, [Buffer1] ld a, [wCurHPAnimMaxHP]
cp 6 * 8 cp 6 * 8
jr nc, .player jr nc, .player
and a and a
@ -56,11 +56,8 @@ _AnimateHPBar: ; d627
; d670 ; d670
.ComputePixels: ; d670 .ComputePixels: ; d670
; Buffer1-2: Max HP
; Buffer3-4: Old HP
; Buffer5-6: New HP
push hl push hl
ld hl, Buffer1 ld hl, wCurHPAnimMaxHP
ld a, [hli] ld a, [hli]
ld e, a ld e, a
ld a, [hli] ld a, [hli]
@ -74,20 +71,20 @@ _AnimateHPBar: ; d627
ld a, e ld a, e
ld [wCurHPBarPixels], a ld [wCurHPBarPixels], a
ld a, [Buffer5] ld a, [wCurHPAnimNewHP]
ld c, a ld c, a
ld a, [Buffer6] ld a, [wCurHPAnimNewHP + 1]
ld b, a ld b, a
ld a, [Buffer1] ld a, [wCurHPAnimMaxHP]
ld e, a ld e, a
ld a, [Buffer2] ld a, [wCurHPAnimMaxHP + 1]
ld d, a ld d, a
call ComputeHPBarPixels call ComputeHPBarPixels
ld a, e ld a, e
ld [wNewHPBarPixels], a ld [wNewHPBarPixels], a
push hl push hl
ld hl, Buffer3 ld hl, wCurHPAnimOldHP
ld a, [hli] ld a, [hli]
ld c, a ld c, a
ld a, [hli] ld a, [hli]
@ -104,18 +101,18 @@ _AnimateHPBar: ; d627
sbc b sbc b
ld d, a ld d, a
jr c, .negative jr c, .negative
ld a, [Buffer3] ld a, [wCurHPAnimOldHP]
ld [wd1f5], a ld [wCurHPAnimLowHP], a
ld a, [Buffer5] ld a, [wCurHPAnimNewHP]
ld [wd1f6], a ld [wCurHPAnimHighHP], a
ld bc, 1 ld bc, 1
jr .got_direction jr .got_direction
.negative .negative
ld a, [Buffer3] ld a, [wCurHPAnimOldHP]
ld [wd1f6], a ld [wCurHPAnimHighHP], a
ld a, [Buffer5] ld a, [wCurHPAnimNewHP]
ld [wd1f5], a ld [wCurHPAnimLowHP], a
ld a, e ld a, e
xor $ff xor $ff
inc a inc a
@ -126,9 +123,9 @@ _AnimateHPBar: ; d627
ld bc, -1 ld bc, -1
.got_direction .got_direction
ld a, d ld a, d
ld [wd1f3], a ld [wCurHPAnimDeltaHP], a
ld a, e ld a, e
ld [wd1f4], a ld [wCurHPAnimDeltaHP + 1], a
ret ret
; d6e2 ; d6e2
@ -151,7 +148,7 @@ ShortAnim_UpdateVariables: ; d6e2
LongAnim_UpdateVariables: ; d6f5 LongAnim_UpdateVariables: ; d6f5
.loop .loop
ld hl, Buffer3 ld hl, wCurHPAnimOldHP
ld a, [hli] ld a, [hli]
ld e, a ld e, a
ld a, [hli] ld a, [hli]
@ -171,13 +168,13 @@ LongAnim_UpdateVariables: ; d6f5
ld h, d ld h, d
add hl, bc add hl, bc
ld a, l ld a, l
ld [Buffer3], a ld [wCurHPAnimOldHP], a
ld a, h ld a, h
ld [Buffer4], a ld [wCurHPAnimOldHP + 1], a
push hl push hl
push de push de
push bc push bc
ld hl, Buffer1 ld hl, wCurHPAnimMaxHP
ld a, [hli] ld a, [hli]
ld e, a ld e, a
ld a, [hli] ld a, [hli]
@ -222,13 +219,13 @@ ShortHPBarAnim_UpdateTiles: ; d730
LongHPBarAnim_UpdateTiles: ; d749 LongHPBarAnim_UpdateTiles: ; d749
call HPBarAnim_UpdateHPRemaining call HPBarAnim_UpdateHPRemaining
ld a, [Buffer3] ld a, [wCurHPAnimOldHP]
ld c, a ld c, a
ld a, [Buffer4] ld a, [wCurHPAnimOldHP + 1]
ld b, a ld b, a
ld a, [Buffer1] ld a, [wCurHPAnimMaxHP]
ld e, a ld e, a
ld a, [Buffer2] ld a, [wCurHPAnimMaxHP + 1]
ld d, a ld d, a
call ComputeHPBarPixels call ComputeHPBarPixels
ld c, e ld c, e
@ -277,9 +274,9 @@ HPBarAnim_UpdateHPRemaining: ; d784
ld [hli], a ld [hli], a
ld [hld], a ld [hld], a
dec hl dec hl
ld a, [Buffer3] ld a, [wCurHPAnimOldHP]
ld [StringBuffer2 + 1], a ld [StringBuffer2 + 1], a
ld a, [Buffer4] ld a, [wCurHPAnimOldHP + 1]
ld [StringBuffer2], a ld [StringBuffer2], a
ld de, StringBuffer2 ld de, StringBuffer2
lb bc, 2, 3 lb bc, 2, 3
@ -292,9 +289,9 @@ HPBarAnim_PaletteUpdate: ; d7b4
ld a, [hCGB] ld a, [hCGB]
and a and a
ret z ret z
ld hl, wd1f0 ld hl, wCurHPAnimPal
call SetHPPal call SetHPPal
ld a, [wd1f0] ld a, [wCurHPAnimPal]
ld c, a ld c, a
callba ApplyHPBarPals callba ApplyHPBarPals
ret ret
@ -375,7 +372,7 @@ HPBarAnim_BGMapUpdate: ; d7c9
; d839 ; d839
ShortHPBar_CalcPixelFrame: ; d839 ShortHPBar_CalcPixelFrame: ; d839
ld a, [Buffer1] ld a, [wCurHPAnimMaxHP]
ld c, a ld c, a
ld b, 0 ld b, 0
ld hl, 0 ld hl, 0
@ -411,24 +408,24 @@ ShortHPBar_CalcPixelFrame: ; d839
jr c, .no_carry jr c, .no_carry
inc b inc b
.no_carry .no_carry
ld a, [wd1f5] ld a, [wCurHPAnimLowHP]
cp b cp b
jr nc, .finish jr nc, .finish
ld a, [wd1f6] ld a, [wCurHPAnimHighHP]
cp b cp b
jr c, .finish jr c, .finish
ld a, b ld a, b
.finish .finish
ld [Buffer3], a ld [wCurHPAnimOldHP], a
ret ret
.return_zero .return_zero
xor a xor a
ld [Buffer3], a ld [wCurHPAnimOldHP], a
ret ret
.return_max .return_max
ld a, [Buffer1] ld a, [wCurHPAnimMaxHP]
ld [Buffer3], a ld [wCurHPAnimOldHP], a
ret ret
; d88c ; d88c

View File

@ -7450,17 +7450,17 @@ Function10339a: ; 10339a
Function1033af: ; 1033af Function1033af: ; 1033af
call GetJoypad call GetJoypad
ld a, [hJoyPressed] ld a, [hJoyPressed]
bit 5, a bit D_LEFT_F, a
jr nz, .left jr nz, .left
bit 4, a bit D_RIGHT_F, a
jr nz, .right jr nz, .right
bit 1, a bit B_BUTTON_F, a
jr nz, .b jr nz, .b
bit 0, a bit A_BUTTON_F, a
jr nz, .a jr nz, .a
bit 6, a bit D_UP_F, a
jr nz, .up jr nz, .up
bit 7, a bit D_DOWN_F, a
jr nz, .down jr nz, .down
ret ret
@ -7468,7 +7468,7 @@ Function1033af: ; 1033af
ld a, [wd1f0] ld a, [wd1f0]
dec a dec a
ld [wd1f0], a ld [wd1f0], a
cp $01 cp 1
ret nc ret nc
ld a, [wd1ee] ld a, [wd1ee]
ld [wd1f0], a ld [wd1f0], a
@ -7482,7 +7482,7 @@ Function1033af: ; 1033af
ld a, [wd1ee] ld a, [wd1ee]
cp c cp c
ret nc ret nc
ld a, $01 ld a, 1
ld [wd1f0], a ld [wd1f0], a
ret ret
@ -7494,8 +7494,8 @@ Function1033af: ; 1033af
.a .a
ld a, [wd1f3] ld a, [wd1f3]
cp $03 cp 3
jr nz, .asm_103412 jr nz, .a_return
ld de, SFX_TRANSACTION ld de, SFX_TRANSACTION
call PlaySFX call PlaySFX
ld hl, Buffer2 ld hl, Buffer2
@ -7506,9 +7506,9 @@ Function1033af: ; 1033af
.left .left
.right .right
.asm_103412 .a_return
ld a, [wd1f3] ld a, [wd1f3]
cp $03 cp 3
ret z ret z
ld de, SFX_PUSH_BUTTON ld de, SFX_PUSH_BUTTON
call PlaySFX call PlaySFX

View File

@ -2022,7 +2022,20 @@ TilesetPalettes:: ; d1e6
EvolvableFlags:: ; d1e8 EvolvableFlags:: ; d1e8
flag_array PARTY_LENGTH flag_array PARTY_LENGTH
wForceEvolution:: ds 1 wForceEvolution:: db ; d1e9
; HP bar animations
wCurHPAnimMaxHP:: dw ; d1ea
wCurHPAnimOldHP:: dw ; d1ec
wCurHPAnimNewHP:: dw ; d1ee
wCurHPAnimPal:: db ; d1f0
wCurHPBarPixels:: db ; d1f1
wNewHPBarPixels:: db ; d1f2
wCurHPAnimDeltaHP:: dw ; d1f3
wCurHPAnimLowHP:: db ; d1f5
wCurHPAnimHighHP:: db ; d1f6
ds wCurHPAnimMaxHP - @
MagikarpLength:: MagikarpLength::
Buffer1:: ; d1ea Buffer1:: ; d1ea
ds 1 ds 1
@ -2039,14 +2052,14 @@ wd1ee:: ds 1
Buffer6:: Buffer6::
wd1ef:: ds 1 wd1ef:: ds 1
wd1f0:: ds 1 wd1f0:: ds 1
wCurHPBarPixels:: CurEnemyItem::
wd1f1:: ds 1 wd1f1:: ds 1
wNewHPBarPixels::
wd1f2:: ds 1 wd1f2:: ds 1
wd1f3:: ds 1 wd1f3:: ds 1
wd1f4:: ds 1 wd1f4:: ds 1
wd1f5:: ds 1 wd1f5:: ds 1
wd1f6:: ds 4 wd1f6::
ds 4
LinkBattleRNs:: ; d1fa LinkBattleRNs:: ; d1fa
ds 10 ds 10