You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Labeling of AI item and wild encounter functions
This commit is contained in:
@@ -297,7 +297,7 @@ AI_Items: ; 39196
|
|||||||
.FullHeal: ; 381be
|
.FullHeal: ; 381be
|
||||||
call .Status
|
call .Status
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function383a3
|
call EnemyUsedFullHeal
|
||||||
jp .Use
|
jp .Use
|
||||||
; 381ca
|
; 381ca
|
||||||
|
|
||||||
@@ -308,7 +308,7 @@ AI_Items: ; 39196
|
|||||||
|
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit CONTEXT_USE_F, a
|
bit CONTEXT_USE_F, a
|
||||||
jr nz, .asm_381e7
|
jr nz, .StatusCheckContext
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit ALWAYS_USE_F, a
|
bit ALWAYS_USE_F, a
|
||||||
jp nz, .Use
|
jp nz, .Use
|
||||||
@@ -317,17 +317,17 @@ AI_Items: ; 39196
|
|||||||
jp c, .Use
|
jp c, .Use
|
||||||
jp .DontUse
|
jp .DontUse
|
||||||
|
|
||||||
.asm_381e7
|
.StatusCheckContext
|
||||||
ld a, [EnemySubStatus5]
|
ld a, [EnemySubStatus5]
|
||||||
bit SUBSTATUS_TOXIC, a
|
bit SUBSTATUS_TOXIC, a
|
||||||
jr z, .asm_381fd
|
jr z, .FailToxicCheck
|
||||||
ld a, [EnemyToxicCount]
|
ld a, [EnemyToxicCount]
|
||||||
cp 4
|
cp 4
|
||||||
jr c, .asm_381fd
|
jr c, .FailToxicCheck
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jp c, .Use
|
jp c, .Use
|
||||||
.asm_381fd
|
.FailToxicCheck
|
||||||
ld a, [EnemyMonStatus]
|
ld a, [EnemyMonStatus]
|
||||||
and 1 << FRZ | SLP
|
and 1 << FRZ | SLP
|
||||||
jp z, .DontUse
|
jp z, .DontUse
|
||||||
@@ -336,58 +336,58 @@ AI_Items: ; 39196
|
|||||||
|
|
||||||
.FullRestore: ; 38208
|
.FullRestore: ; 38208
|
||||||
call .HealItem
|
call .HealItem
|
||||||
jp nc, .asm_3821a
|
jp nc, .UseFullRestore
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit CONTEXT_USE_F, a
|
bit CONTEXT_USE_F, a
|
||||||
jp z, .DontUse
|
jp z, .DontUse
|
||||||
call .Status
|
call .Status
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
|
|
||||||
.asm_3821a
|
.UseFullRestore
|
||||||
call Function383b5
|
call EnemyUsedFullRestore
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38220
|
; 38220
|
||||||
|
|
||||||
.MaxPotion: ; 38220
|
.MaxPotion: ; 38220
|
||||||
call .HealItem
|
call .HealItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function383ae
|
call EnemyUsedMaxPotion
|
||||||
jp .Use
|
jp .Use
|
||||||
|
|
||||||
.HealItem: ; 3822c (e:422c)
|
.HealItem: ; 3822c (e:422c)
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit CONTEXT_USE_F, a
|
bit CONTEXT_USE_F, a
|
||||||
jr nz, .asm_38267
|
jr nz, .CheckHalfOrQuarterHP
|
||||||
callab AICheckEnemyHalfHP
|
callab AICheckEnemyHalfHP
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit UNKNOWN_USE_F, a
|
bit UNKNOWN_USE_F, a
|
||||||
jp nz, .asm_38254
|
jp nz, .CheckQuarterHP
|
||||||
callab AICheckEnemyQuarterHP
|
callab AICheckEnemyQuarterHP
|
||||||
jp nc, .asm_38281
|
jp nc, .UseHealItem
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jp c, .asm_38281
|
jp c, .UseHealItem
|
||||||
jp .DontUse
|
jp .DontUse
|
||||||
|
|
||||||
.asm_38254: ; 38254 (e:4254)
|
.CheckQuarterHP: ; 38254 (e:4254)
|
||||||
callab AICheckEnemyQuarterHP
|
callab AICheckEnemyQuarterHP
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Random
|
call Random
|
||||||
cp 50
|
cp $32
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
jr .asm_38281
|
jr .UseHealItem
|
||||||
|
|
||||||
.asm_38267: ; 38267 (e:4267)
|
.CheckHalfOrQuarterHP: ; 38267 (e:4267)
|
||||||
callab AICheckEnemyHalfHP
|
callab AICheckEnemyHalfHP
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
callab AICheckEnemyQuarterHP
|
callab AICheckEnemyQuarterHP
|
||||||
jp nc, .asm_38281
|
jp nc, .UseHealItem
|
||||||
call Random
|
call Random
|
||||||
cp 50
|
cp $32
|
||||||
jp nc, .DontUse
|
jp nc, .DontUse
|
||||||
|
|
||||||
.asm_38281: ; 38281 (e:4281)
|
.UseHealItem: ; 38281 (e:4281)
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38284
|
; 38284
|
||||||
|
|
||||||
@@ -395,7 +395,7 @@ AI_Items: ; 39196
|
|||||||
call .HealItem
|
call .HealItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
ld b, 200
|
ld b, 200
|
||||||
call Function383f4
|
call EnemyUsedHyperPotion
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38292 (e:4292)
|
; 38292 (e:4292)
|
||||||
|
|
||||||
@@ -403,7 +403,7 @@ AI_Items: ; 39196
|
|||||||
call .HealItem
|
call .HealItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
ld b, 50
|
ld b, 50
|
||||||
call Function383ee
|
call EnemyUsedSuperPotion
|
||||||
jp .Use
|
jp .Use
|
||||||
; 382a0
|
; 382a0
|
||||||
|
|
||||||
@@ -411,11 +411,11 @@ AI_Items: ; 39196
|
|||||||
call .HealItem
|
call .HealItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
ld b, 20
|
ld b, 20
|
||||||
call Function383e8
|
call EnemyUsedPotion
|
||||||
jp .Use
|
jp .Use
|
||||||
; 382ae
|
; 382ae
|
||||||
|
|
||||||
.asm_382ae: ; 382ae
|
.asm_382ae: ; This appears to be unused
|
||||||
callab AICheckEnemyMaxHP
|
callab AICheckEnemyMaxHP
|
||||||
jr c, .asm_382e4
|
jr c, .asm_382e4
|
||||||
push bc
|
push bc
|
||||||
@@ -454,7 +454,7 @@ AI_Items: ; 39196
|
|||||||
bit UNKNOWN_USE_F, a
|
bit UNKNOWN_USE_F, a
|
||||||
jp z, .DontUse
|
jp z, .DontUse
|
||||||
call Random
|
call Random
|
||||||
cp 100
|
cp $64
|
||||||
jp c, .Use
|
jp c, .Use
|
||||||
jp .DontUse
|
jp .DontUse
|
||||||
; 382f9
|
; 382f9
|
||||||
@@ -462,56 +462,56 @@ AI_Items: ; 39196
|
|||||||
.XAccuracy: ; 382f9
|
.XAccuracy: ; 382f9
|
||||||
call .XItem
|
call .XItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function384f7
|
call EnemyUsedXAccuracy
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38305
|
; 38305
|
||||||
|
|
||||||
.GuardSpec: ; 38305
|
.GuardSpec: ; 38305
|
||||||
call .XItem
|
call .XItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function38504
|
call EnemyUsedGuardSpec
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38311
|
; 38311
|
||||||
|
|
||||||
.DireHit: ; 38311
|
.DireHit: ; 38311
|
||||||
call .XItem
|
call .XItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function38511
|
call EnemyUsedDireHit
|
||||||
jp .Use
|
jp .Use
|
||||||
; 3831d (e:431d)
|
; 3831d (e:431d)
|
||||||
|
|
||||||
.XAttack: ; 3831d
|
.XAttack: ; 3831d
|
||||||
call .XItem
|
call .XItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function38541
|
call EnemyUsedXAttack
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38329
|
; 38329
|
||||||
|
|
||||||
.XDefend: ; 38329
|
.XDefend: ; 38329
|
||||||
call .XItem
|
call .XItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function38547
|
call EnemyUsedXDefend
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38335
|
; 38335
|
||||||
|
|
||||||
.XSpeed: ; 38335
|
.XSpeed: ; 38335
|
||||||
call .XItem
|
call .XItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function3854d
|
call EnemyUsedXSpeed
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38341
|
; 38341
|
||||||
|
|
||||||
.XSpecial: ; 38341
|
.XSpecial: ; 38341
|
||||||
call .XItem
|
call .XItem
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
call Function38553
|
call EnemyUsedXSpecial
|
||||||
jp .Use
|
jp .Use
|
||||||
; 3834d
|
; 3834d
|
||||||
|
|
||||||
.XItem: ; 3834d (e:434d)
|
.XItem: ; 3834d (e:434d)
|
||||||
ld a, [EnemyTurnsTaken]
|
ld a, [EnemyTurnsTaken]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_38372
|
jr nz, .notfirstturnout
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit ALWAYS_USE_F, a
|
bit ALWAYS_USE_F, a
|
||||||
jp nz, .Use
|
jp nz, .Use
|
||||||
@@ -525,12 +525,12 @@ AI_Items: ; 39196
|
|||||||
cp $80
|
cp $80
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
jp .Use
|
jp .Use
|
||||||
.asm_38372
|
.notfirstturnout
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit ALWAYS_USE_F, a
|
bit ALWAYS_USE_F, a
|
||||||
jp z, .DontUse
|
jp z, .DontUse
|
||||||
call Random
|
call Random
|
||||||
cp 50
|
cp $32
|
||||||
jp nc, .DontUse
|
jp nc, .DontUse
|
||||||
jp .Use
|
jp .Use
|
||||||
|
|
||||||
@@ -563,18 +563,18 @@ AIUsedItemSound: ; 3839a
|
|||||||
; 383a3
|
; 383a3
|
||||||
|
|
||||||
|
|
||||||
Function383a3: ; 383a3 (e:43a3)
|
EnemyUsedFullHeal: ; 383a3 (e:43a3)
|
||||||
call AIUsedItemSound
|
call AIUsedItemSound
|
||||||
call AI_HealStatus
|
call AI_HealStatus
|
||||||
ld a, FULL_HEAL
|
ld a, FULL_HEAL
|
||||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||||
|
|
||||||
Function383ae: ; 383ae (e:43ae)
|
EnemyUsedMaxPotion: ; 383ae (e:43ae)
|
||||||
ld a, MAX_POTION
|
ld a, MAX_POTION
|
||||||
ld [wd1f1], a
|
ld [wd1f1], a
|
||||||
jr asm_383c6
|
jr FullRestoreContinue
|
||||||
|
|
||||||
Function383b5: ; 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 [wd1f1], a
|
||||||
@@ -583,7 +583,7 @@ Function383b5: ; 383b5 (e:43b5)
|
|||||||
xor a
|
xor a
|
||||||
ld [EnemyConfuseCount], a
|
ld [EnemyConfuseCount], a
|
||||||
|
|
||||||
asm_383c6: ; 383c6
|
FullRestoreContinue: ; 383c6
|
||||||
ld de, wd1ec
|
ld de, wd1ec
|
||||||
ld hl, EnemyMonHP + 1
|
ld hl, EnemyMonHP + 1
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
@@ -602,24 +602,24 @@ asm_383c6: ; 383c6
|
|||||||
ld [de], a
|
ld [de], a
|
||||||
ld [Buffer2], a
|
ld [Buffer2], a
|
||||||
ld [EnemyMonHP], a
|
ld [EnemyMonHP], a
|
||||||
jr Function38436
|
jr EnemyPotionFinish
|
||||||
; 383e8 (e:43e8)
|
; 383e8 (e:43e8)
|
||||||
|
|
||||||
Function383e8: ; 383e8
|
EnemyUsedPotion: ; 383e8
|
||||||
ld a, POTION
|
ld a, POTION
|
||||||
ld b, 20
|
ld b, 20
|
||||||
jr Function383f8
|
jr EnemyPotionContinue
|
||||||
|
|
||||||
Function383ee: ; 383ee
|
EnemyUsedSuperPotion: ; 383ee
|
||||||
ld a, SUPER_POTION
|
ld a, SUPER_POTION
|
||||||
ld b, 50
|
ld b, 50
|
||||||
jr Function383f8
|
jr EnemyPotionContinue
|
||||||
|
|
||||||
Function383f4: ; 383f4 (e:43f4)
|
EnemyUsedHyperPotion: ; 383f4 (e:43f4)
|
||||||
ld a, HYPER_POTION
|
ld a, HYPER_POTION
|
||||||
ld b, 200
|
ld b, 200
|
||||||
|
|
||||||
Function383f8: ; 383f8
|
EnemyPotionContinue: ; 383f8
|
||||||
ld [wd1f1], a
|
ld [wd1f1], a
|
||||||
ld hl, EnemyMonHP + 1
|
ld hl, EnemyMonHP + 1
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@@ -630,11 +630,11 @@ Function383f8: ; 383f8
|
|||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [wd1ec + 1], a
|
ld [wd1ec + 1], a
|
||||||
ld [wd1ee + 1], a
|
ld [wd1ee + 1], a
|
||||||
jr nc, .asm_38415
|
jr nc, .ok
|
||||||
inc a
|
inc a
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld [wd1ee + 1], a
|
ld [wd1ee + 1], a
|
||||||
.asm_38415
|
.ok
|
||||||
inc hl
|
inc hl
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
ld b, a
|
ld b, a
|
||||||
@@ -648,7 +648,7 @@ Function383f8: ; 383f8
|
|||||||
ld a, [de]
|
ld a, [de]
|
||||||
ld [Buffer2], a
|
ld [Buffer2], a
|
||||||
sbc b
|
sbc b
|
||||||
jr nc, .asm_38436
|
jr nc, EnemyPotionFinish
|
||||||
inc de
|
inc de
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
dec de
|
dec de
|
||||||
@@ -657,9 +657,8 @@ Function383f8: ; 383f8
|
|||||||
ld a, [de]
|
ld a, [de]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld [wd1ef], a
|
ld [wd1ef], a
|
||||||
.asm_38436
|
|
||||||
|
|
||||||
Function38436: ; 38436
|
EnemyPotionFinish: ; 38436
|
||||||
call PrintText_UsedItemOn
|
call PrintText_UsedItemOn
|
||||||
hlcoord 2, 2
|
hlcoord 2, 2
|
||||||
xor a
|
xor a
|
||||||
@@ -670,24 +669,26 @@ Function38436: ; 38436
|
|||||||
|
|
||||||
|
|
||||||
AI_TrySwitch: ; 3844b
|
AI_TrySwitch: ; 3844b
|
||||||
|
; Determine whether the AI can switch based on how many Pokemon are still alive.
|
||||||
|
; If it can switch, it will.
|
||||||
ld a, [OTPartyCount]
|
ld a, [OTPartyCount]
|
||||||
ld c, a
|
ld c, a
|
||||||
ld hl, OTPartyMon1HP
|
ld hl, OTPartyMon1HP
|
||||||
ld d, 0
|
ld d, 0
|
||||||
.asm_38454
|
.SwitchLoop
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
or b
|
or b
|
||||||
jr z, .asm_3845b
|
jr z, .fainted
|
||||||
inc d
|
inc d
|
||||||
.asm_3845b
|
.fainted
|
||||||
push bc
|
push bc
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PartyMon2 - PartyMon1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
pop bc
|
pop bc
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_38454
|
jr nz, .SwitchLoop
|
||||||
|
|
||||||
ld a, d
|
ld a, d
|
||||||
cp 2
|
cp 2
|
||||||
@@ -716,10 +717,10 @@ AI_Switch: ; 3846c
|
|||||||
ld bc, $0004
|
ld bc, $0004
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
pop af
|
pop af
|
||||||
jr c, .asm_384a3
|
jr c, .skiptext
|
||||||
ld hl, TextJump_EnemyWithdrew
|
ld hl, TextJump_EnemyWithdrew
|
||||||
call PrintText
|
call PrintText
|
||||||
.asm_384a3
|
.skiptext
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [wd264], a
|
ld [wd264], a
|
||||||
callab NewEnemyMonStatus
|
callab NewEnemyMonStatus
|
||||||
@@ -742,10 +743,10 @@ TextJump_EnemyWithdrew: ; 384d0
|
|||||||
db "@"
|
db "@"
|
||||||
; 384d5
|
; 384d5
|
||||||
|
|
||||||
Function384d5: ; 384d5
|
Function384d5: ; This appears to be unused
|
||||||
call AIUsedItemSound
|
call AIUsedItemSound
|
||||||
call AI_HealStatus
|
call AI_HealStatus
|
||||||
ld a, FULL_HEAL_RED
|
ld a, X_SPEED
|
||||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||||
; 384e0
|
; 384e0
|
||||||
|
|
||||||
@@ -762,7 +763,7 @@ AI_HealStatus: ; 384e0
|
|||||||
ret
|
ret
|
||||||
; 384f7
|
; 384f7
|
||||||
|
|
||||||
Function384f7: ; 384f7
|
EnemyUsedXAccuracy: ; 384f7
|
||||||
call AIUsedItemSound
|
call AIUsedItemSound
|
||||||
ld hl, EnemySubStatus4
|
ld hl, EnemySubStatus4
|
||||||
set SUBSTATUS_X_ACCURACY, [hl]
|
set SUBSTATUS_X_ACCURACY, [hl]
|
||||||
@@ -770,7 +771,7 @@ Function384f7: ; 384f7
|
|||||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||||
; 38504
|
; 38504
|
||||||
|
|
||||||
Function38504: ; 38504
|
EnemyUsedGuardSpec: ; 38504
|
||||||
call AIUsedItemSound
|
call AIUsedItemSound
|
||||||
ld hl, EnemySubStatus4
|
ld hl, EnemySubStatus4
|
||||||
set SUBSTATUS_MIST, [hl]
|
set SUBSTATUS_MIST, [hl]
|
||||||
@@ -778,7 +779,7 @@ Function38504: ; 38504
|
|||||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||||
; 38511
|
; 38511
|
||||||
|
|
||||||
Function38511: ; 38511
|
EnemyUsedDireHit: ; 38511
|
||||||
call AIUsedItemSound
|
call AIUsedItemSound
|
||||||
ld hl, EnemySubStatus4
|
ld hl, EnemySubStatus4
|
||||||
set SUBSTATUS_FOCUS_ENERGY, [hl]
|
set SUBSTATUS_FOCUS_ENERGY, [hl]
|
||||||
@@ -786,14 +787,14 @@ Function38511: ; 38511
|
|||||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||||
; 3851e
|
; 3851e
|
||||||
|
|
||||||
Function3851e: ; 3851e
|
Function3851e: ; This appears to be unused
|
||||||
ld [hDivisor], a
|
ld [hDivisor], a
|
||||||
ld hl, EnemyMonMaxHP
|
ld hl, EnemyMonMaxHP
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [hDividend], a
|
ld [hDividend], a
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [hDividend + 1], a
|
ld [hDividend + 1], a
|
||||||
ld b, $2
|
ld b, 2
|
||||||
call Divide
|
call Divide
|
||||||
ld a, [hQuotient + 2]
|
ld a, [hQuotient + 2]
|
||||||
ld c, a
|
ld c, a
|
||||||
@@ -812,25 +813,25 @@ Function3851e: ; 3851e
|
|||||||
ret
|
ret
|
||||||
; 38541
|
; 38541
|
||||||
|
|
||||||
Function38541: ; 38541
|
EnemyUsedXAttack: ; 38541
|
||||||
ld b, ATTACK
|
ld b, ATTACK
|
||||||
ld a, X_ATTACK
|
ld a, X_ATTACK
|
||||||
jr Function38557
|
jr EnemyUsedXItem
|
||||||
; 38547
|
; 38547
|
||||||
|
|
||||||
Function38547: ; 38547
|
EnemyUsedXDefend: ; 38547
|
||||||
ld b, DEFENSE
|
ld b, DEFENSE
|
||||||
ld a, X_DEFEND
|
ld a, X_DEFEND
|
||||||
jr Function38557
|
jr EnemyUsedXItem
|
||||||
; 3854d
|
; 3854d
|
||||||
|
|
||||||
Function3854d: ; 3854d
|
EnemyUsedXSpeed: ; 3854d
|
||||||
ld b, SPEED
|
ld b, SPEED
|
||||||
ld a, X_SPEED
|
ld a, X_SPEED
|
||||||
jr Function38557
|
jr EnemyUsedXItem
|
||||||
; 38553
|
; 38553
|
||||||
|
|
||||||
Function38553: ; 38553
|
EnemyUsedXSpecial: ; 38553
|
||||||
ld b, SP_ATTACK
|
ld b, SP_ATTACK
|
||||||
ld a, X_SPECIAL
|
ld a, X_SPECIAL
|
||||||
|
|
||||||
@@ -838,12 +839,12 @@ Function38553: ; 38553
|
|||||||
; Parameter
|
; Parameter
|
||||||
; 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)
|
||||||
Function38557:
|
EnemyUsedXItem:
|
||||||
ld [wd1f1], a
|
ld [wd1f1], a
|
||||||
push bc
|
push bc
|
||||||
call PrintText_UsedItemOn
|
call PrintText_UsedItemOn
|
||||||
pop bc
|
pop bc
|
||||||
callba Function361ef
|
callba CheckIfStatCanBeRaised
|
||||||
jp AIUpdateHUD
|
jp AIUpdateHUD
|
||||||
; 38568
|
; 38568
|
||||||
|
|
||||||
|
@@ -4821,7 +4821,7 @@ DrawPlayerHUD: ; 3df58
|
|||||||
; HP bar
|
; HP bar
|
||||||
hlcoord 10, 9
|
hlcoord 10, 9
|
||||||
ld b, 1
|
ld b, 1
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
predef DrawPlayerHP
|
predef DrawPlayerHP
|
||||||
|
|
||||||
@@ -4903,7 +4903,7 @@ PrintPlayerHUD: ; 3dfbf
|
|||||||
pop hl
|
pop hl
|
||||||
dec hl
|
dec hl
|
||||||
|
|
||||||
ld a, $3
|
ld a, BREEDMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
callab GetGender
|
callab GetGender
|
||||||
ld a, " "
|
ld a, " "
|
||||||
@@ -4981,7 +4981,7 @@ DrawEnemyHUD: ; 3e043
|
|||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
|
|
||||||
ld a, $3
|
ld a, BREEDMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
callab GetGender
|
callab GetGender
|
||||||
ld a, " "
|
ld a, " "
|
||||||
@@ -5358,7 +5358,7 @@ Function3e308: ; 3e308
|
|||||||
call EnableLCD
|
call EnableLCD
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call LowVolume
|
call LowVolume
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
callba Function4dc7b
|
callba Function4dc7b
|
||||||
call MaxVolume
|
call MaxVolume
|
||||||
@@ -7535,7 +7535,7 @@ endr
|
|||||||
ld [hld], a
|
ld [hld], a
|
||||||
|
|
||||||
.asm_3ef74
|
.asm_3ef74
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
predef Function5084a
|
predef Function5084a
|
||||||
callab Function50e1b
|
callab Function50e1b
|
||||||
@@ -7647,7 +7647,7 @@ endr
|
|||||||
call Function309d
|
call Function309d
|
||||||
|
|
||||||
.asm_3f057
|
.asm_3f057
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
predef Function5084a
|
predef Function5084a
|
||||||
hlcoord 9, 0
|
hlcoord 9, 0
|
||||||
@@ -7661,7 +7661,7 @@ endr
|
|||||||
call DelayFrames
|
call DelayFrames
|
||||||
call Functiona80
|
call Functiona80
|
||||||
call Function30b4
|
call Function30b4
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
ld a, [CurSpecies]
|
ld a, [CurSpecies]
|
||||||
ld [wd265], a
|
ld [wd265], a
|
||||||
@@ -7802,7 +7802,7 @@ Function3f136: ; 3f136
|
|||||||
push af
|
push af
|
||||||
xor a
|
xor a
|
||||||
ld [DefaultFlypoint], a
|
ld [DefaultFlypoint], a
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
predef Function5084a
|
predef Function5084a
|
||||||
ld a, [TempMonLevel]
|
ld a, [TempMonLevel]
|
||||||
|
@@ -1036,13 +1036,13 @@ BattleCommand04: ; 34555
|
|||||||
|
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
jr z, .asm_34570
|
jr z, .proceed
|
||||||
|
|
||||||
ld hl, EnemyMonPP
|
ld hl, EnemyMonPP
|
||||||
ld de, EnemySubStatus3
|
ld de, EnemySubStatus3
|
||||||
ld bc, EnemyTurnsTaken
|
ld bc, EnemyTurnsTaken
|
||||||
|
|
||||||
.asm_34570
|
.proceed
|
||||||
|
|
||||||
; If we've gotten this far, this counts as a turn.
|
; If we've gotten this far, this counts as a turn.
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
@@ -6100,7 +6100,7 @@ BattleCommand7d: ; 361e0
|
|||||||
jr BattleCommand1c
|
jr BattleCommand1c
|
||||||
BattleCommand1c: ; 361e4
|
BattleCommand1c: ; 361e4
|
||||||
; statup
|
; statup
|
||||||
call Function361ef
|
call CheckIfStatCanBeRaised
|
||||||
ld a, [FailedMessage]
|
ld a, [FailedMessage]
|
||||||
and a
|
and a
|
||||||
ret nz
|
ret nz
|
||||||
@@ -6108,7 +6108,7 @@ BattleCommand1c: ; 361e4
|
|||||||
; 361ef
|
; 361ef
|
||||||
|
|
||||||
|
|
||||||
Function361ef: ; 361ef
|
CheckIfStatCanBeRaised: ; 361ef
|
||||||
ld a, b
|
ld a, b
|
||||||
ld [LoweredStat], a
|
ld [LoweredStat], a
|
||||||
ld hl, PlayerStatLevels
|
ld hl, PlayerStatLevels
|
||||||
|
@@ -133,7 +133,7 @@ EnterMap: ; 9673e
|
|||||||
xor a
|
xor a
|
||||||
ld [wd453], a
|
ld [wd453], a
|
||||||
ld [wd454], a
|
ld [wd454], a
|
||||||
call Function968d1
|
call SetUpFiveStepWildEncounterCooldown
|
||||||
callba RunMapSetupScript
|
callba RunMapSetupScript
|
||||||
call ClearAllScriptFlags3
|
call ClearAllScriptFlags3
|
||||||
|
|
||||||
@@ -382,9 +382,9 @@ CheckTileEvent: ; 96874
|
|||||||
call CheckBit4_ScriptFlags3
|
call CheckBit4_ScriptFlags3
|
||||||
jr z, .ok
|
jr z, .ok
|
||||||
|
|
||||||
call RockSmashEncounter
|
call RandomEncounter
|
||||||
ret c
|
ret c
|
||||||
jr .ok
|
jr .ok ; pointless
|
||||||
|
|
||||||
.ok
|
.ok
|
||||||
xor a
|
xor a
|
||||||
@@ -419,8 +419,8 @@ CheckTileEvent: ; 96874
|
|||||||
; 968c7
|
; 968c7
|
||||||
|
|
||||||
|
|
||||||
Function968c7:: ; 968c7
|
CheckWildEncounterCooldown:: ; 968c7
|
||||||
ld hl, wd452
|
ld hl, wWildEncounterCooldown
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
@@ -430,9 +430,9 @@ Function968c7:: ; 968c7
|
|||||||
ret
|
ret
|
||||||
; 968d1
|
; 968d1
|
||||||
|
|
||||||
Function968d1: ; 968d1
|
SetUpFiveStepWildEncounterCooldown: ; 968d1
|
||||||
ld a, 5
|
ld a, 5
|
||||||
ld [wd452], a
|
ld [wWildEncounterCooldown], a
|
||||||
ret
|
ret
|
||||||
; 968d7
|
; 968d7
|
||||||
|
|
||||||
@@ -441,11 +441,11 @@ Function968d7: ; 968d7
|
|||||||
; 968d8
|
; 968d8
|
||||||
|
|
||||||
Function968d8: ; 968d8
|
Function968d8: ; 968d8
|
||||||
ld a, [wd452]
|
ld a, [wWildEncounterCooldown]
|
||||||
cp 2
|
cp 2
|
||||||
ret nc
|
ret nc
|
||||||
ld a, 2
|
ld a, 2
|
||||||
ld [wd452], a
|
ld [wWildEncounterCooldown], a
|
||||||
ret
|
ret
|
||||||
; 968e4
|
; 968e4
|
||||||
|
|
||||||
|
@@ -95,10 +95,10 @@ CheckFacingTileEvent:: ; 97c5f
|
|||||||
; 97cc0
|
; 97cc0
|
||||||
|
|
||||||
|
|
||||||
RockSmashEncounter:: ; 97cc0
|
RandomEncounter:: ; 97cc0
|
||||||
; Rock Smash encounter
|
; Random encounter
|
||||||
|
|
||||||
call Function968c7
|
call CheckWildEncounterCooldown
|
||||||
jr c, .nope
|
jr c, .nope
|
||||||
call CanUseSweetScent
|
call CanUseSweetScent
|
||||||
jr nc, .nope
|
jr nc, .nope
|
||||||
@@ -120,8 +120,8 @@ RockSmashEncounter:: ; 97cc0
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.ok
|
.ok
|
||||||
ld a, BANK(RockSmashBattleScript)
|
ld a, BANK(WildBattleScript)
|
||||||
ld hl, RockSmashBattleScript
|
ld hl, WildBattleScript
|
||||||
jr .done
|
jr .done
|
||||||
|
|
||||||
.ok_bug_contest
|
.ok_bug_contest
|
||||||
@@ -135,7 +135,7 @@ RockSmashEncounter:: ; 97cc0
|
|||||||
ret
|
ret
|
||||||
; 97cf9
|
; 97cf9
|
||||||
|
|
||||||
RockSmashBattleScript: ; 97cf9
|
WildBattleScript: ; 97cf9
|
||||||
battlecheck
|
battlecheck
|
||||||
startbattle
|
startbattle
|
||||||
returnafterbattle
|
returnafterbattle
|
||||||
|
@@ -2656,7 +2656,7 @@ Script_giveegg: ; 0x97968
|
|||||||
; level (DecimalParam)
|
; level (DecimalParam)
|
||||||
; if no room in the party, return 0 in ScriptVar; else, return 2
|
; if no room in the party, return 0 in ScriptVar; else, return 2
|
||||||
|
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [ScriptVar], a
|
ld [ScriptVar], a
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
call GetScriptByte
|
call GetScriptByte
|
||||||
|
@@ -26,7 +26,7 @@ NameRater: ; fb6ed
|
|||||||
ld hl, NameRaterWhichNameText
|
ld hl, NameRaterWhichNameText
|
||||||
call PrintText
|
call PrintText
|
||||||
; Load the new nickname into StringBuffer2
|
; Load the new nickname into StringBuffer2
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
ld a, [CurPartySpecies]
|
ld a, [CurPartySpecies]
|
||||||
ld [wd265], a
|
ld [wd265], a
|
||||||
|
@@ -558,7 +558,7 @@ endr
|
|||||||
cp PARTY_LENGTH
|
cp PARTY_LENGTH
|
||||||
jr z, .asm_eb3c
|
jr z, .asm_eb3c
|
||||||
|
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
|
|
||||||
@@ -600,7 +600,7 @@ endr
|
|||||||
ld d, h
|
ld d, h
|
||||||
ld e, l
|
ld e, l
|
||||||
push de
|
push de
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
callba Function116c1
|
callba Function116c1
|
||||||
@@ -980,7 +980,7 @@ LoveBallMultiplier:
|
|||||||
push bc
|
push bc
|
||||||
ld a, [TempBattleMonSpecies]
|
ld a, [TempBattleMonSpecies]
|
||||||
ld [CurPartySpecies], a
|
ld [CurPartySpecies], a
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
ld a, [CurBattleMon]
|
ld a, [CurBattleMon]
|
||||||
ld [CurPartyMon], a
|
ld [CurPartyMon], a
|
||||||
@@ -1425,7 +1425,7 @@ RareCandy: ; ef14
|
|||||||
ld a, $f8
|
ld a, $f8
|
||||||
call Functionf24a
|
call Functionf24a
|
||||||
|
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
predef Function5084a
|
predef Function5084a
|
||||||
|
|
||||||
@@ -1440,7 +1440,7 @@ RareCandy: ; ef14
|
|||||||
|
|
||||||
call Functiona80
|
call Functiona80
|
||||||
|
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
ld a, [CurPartySpecies]
|
ld a, [CurPartySpecies]
|
||||||
ld [wd265], a
|
ld [wd265], a
|
||||||
@@ -2340,7 +2340,7 @@ endr
|
|||||||
ld [hBattleTurn], a
|
ld [hBattleTurn], a
|
||||||
ld [AttackMissed], a
|
ld [AttackMissed], a
|
||||||
ld [EffectFailed], a
|
ld [EffectFailed], a
|
||||||
callba Function361ef
|
callba CheckIfStatCanBeRaised
|
||||||
call WaitSFX
|
call WaitSFX
|
||||||
|
|
||||||
callba BattleCommand8c
|
callba BattleCommand8c
|
||||||
@@ -2703,7 +2703,7 @@ Functionf6e0: ; f6e0
|
|||||||
; f6e8
|
; f6e8
|
||||||
|
|
||||||
Functionf6e8: ; f6e8
|
Functionf6e8: ; f6e8
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
call Functionf8ec
|
call Functionf8ec
|
||||||
ld hl, PartyMon1PP
|
ld hl, PartyMon1PP
|
||||||
@@ -3188,7 +3188,7 @@ Functionf8b9: ; f8b9
|
|||||||
ld a, PartyMon1Moves - PartyMon1
|
ld a, PartyMon1Moves - PartyMon1
|
||||||
call GetPartyParamLocation
|
call GetPartyParamLocation
|
||||||
pop de
|
pop de
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [wcfa9], a
|
ld [wcfa9], a
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
ld c, NUM_MOVES
|
ld c, NUM_MOVES
|
||||||
@@ -3229,27 +3229,27 @@ Functionf8ec: ; f8ec
|
|||||||
|
|
||||||
ld hl, PartyMon1Moves
|
ld hl, PartyMon1Moves
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PartyMon2 - PartyMon1
|
||||||
jr z, .asm_f91a
|
jr z, .asm_f91a ; PARTYMON
|
||||||
|
|
||||||
ld hl, OTPartyMon1Moves
|
ld hl, OTPartyMon1Moves
|
||||||
dec a
|
dec a
|
||||||
jr z, .asm_f91a
|
jr z, .asm_f91a ; OTPARTYMON
|
||||||
|
|
||||||
ld hl, TempMonMoves
|
ld hl, TempMonMoves
|
||||||
dec a
|
dec a
|
||||||
jr z, .asm_f915
|
jr z, .asm_f915 ; BOXMON
|
||||||
|
|
||||||
ld hl, TempMonMoves
|
ld hl, TempMonMoves ; Wasted cycles
|
||||||
dec a
|
dec a
|
||||||
jr z, .asm_f915
|
jr z, .asm_f915 ; BREEDMON
|
||||||
|
|
||||||
ld hl, BattleMonMoves
|
ld hl, BattleMonMoves ; WILDMON
|
||||||
|
|
||||||
.asm_f915
|
.asm_f915 ; BOXMON, BREEDMON, WILDMON
|
||||||
call Functionf969
|
call Functionf969
|
||||||
jr .asm_f91d
|
jr .asm_f91d
|
||||||
|
|
||||||
.asm_f91a
|
.asm_f91a ; PARTYMON, OTPARTYMON
|
||||||
call Functionf963
|
call Functionf963
|
||||||
|
|
||||||
.asm_f91d
|
.asm_f91d
|
||||||
|
4
main.asm
4
main.asm
@@ -7920,7 +7920,7 @@ TryAddMonToParty: ; d88c
|
|||||||
ld de, PartyCount
|
ld de, PartyCount
|
||||||
ld a, [MonType]
|
ld a, [MonType]
|
||||||
and $f
|
and $f
|
||||||
jr z, .getpartylocation
|
jr z, .getpartylocation ; PARTYMON
|
||||||
ld de, OTPartyCount
|
ld de, OTPartyCount
|
||||||
|
|
||||||
.getpartylocation
|
.getpartylocation
|
||||||
@@ -9468,7 +9468,7 @@ endr
|
|||||||
GivePoke:: ; e277
|
GivePoke:: ; e277
|
||||||
push de
|
push de
|
||||||
push bc
|
push bc
|
||||||
xor a
|
xor a ; PARTYMON
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
call TryAddMonToParty
|
call TryAddMonToParty
|
||||||
jr nc, .failed
|
jr nc, .failed
|
||||||
|
Reference in New Issue
Block a user