Better trainer AI comments and finish off trainer attributes.
This commit is contained in:
@@ -1,37 +1,41 @@
|
|||||||
Function38000: ; 38000
|
Function38000: ; 38000
|
||||||
and a
|
and a
|
||||||
|
|
||||||
ld a, [IsInBattle]
|
ld a, [IsInBattle]
|
||||||
dec a
|
dec a
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
ld a, [InLinkBattle]
|
ld a, [InLinkBattle]
|
||||||
and a
|
and a
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
callba Function3e8d1
|
callba Function3e8d1
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
ld a, [PlayerSubStatus5]
|
ld a, [PlayerSubStatus5]
|
||||||
bit SUBSTATUS_CANT_RUN, a
|
bit SUBSTATUS_CANT_RUN, a
|
||||||
jr nz, Function38041
|
jr nz, Function38041
|
||||||
|
|
||||||
ld a, [$c731]
|
ld a, [$c731]
|
||||||
and a
|
and a
|
||||||
jr nz, Function38041
|
jr nz, Function38041
|
||||||
|
|
||||||
ld hl, TrainerClassAttributes + 5
|
ld hl, TrainerClassAttributes + 5
|
||||||
ld a, [$cfc0]
|
ld a, [$cfc0]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_38032
|
jr nz, .ok
|
||||||
ld a, [TrainerClass]
|
ld a, [TrainerClass]
|
||||||
dec a
|
dec a
|
||||||
ld bc, 7
|
ld bc, 7
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
|
.ok
|
||||||
.asm_38032
|
bit SWITCH_OFTEN_F, [hl]
|
||||||
bit 0, [hl]
|
|
||||||
jp nz, Function38045
|
jp nz, Function38045
|
||||||
bit 1, [hl]
|
bit SWITCH_RARELY_F, [hl]
|
||||||
jp nz, Function38083
|
jp nz, Function38083
|
||||||
bit 2, [hl]
|
bit SWITCH_SOMETIMES_F, [hl]
|
||||||
jp nz, Function380c1
|
jp nz, Function380c1
|
||||||
; fallthrough
|
; fallthrough
|
||||||
; 38041
|
|
||||||
|
|
||||||
Function38041: ; 38041
|
Function38041: ; 38041
|
||||||
call Function38105
|
call Function38105
|
||||||
@@ -43,32 +47,34 @@ Function38045: ; 38045
|
|||||||
ld a, [$c717]
|
ld a, [$c717]
|
||||||
and $f0
|
and $f0
|
||||||
jp z, Function38041
|
jp z, Function38041
|
||||||
|
|
||||||
cp $10
|
cp $10
|
||||||
jr nz, .asm_38061
|
jr nz, .not_10
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jr c, .asm_38077
|
jr c, .switch
|
||||||
jp Function38041
|
jp Function38041
|
||||||
|
.not_10
|
||||||
|
|
||||||
.asm_38061
|
|
||||||
cp $20
|
cp $20
|
||||||
jr nz, .asm_3806f
|
jr nz, .not_20
|
||||||
call Random
|
call Random
|
||||||
cp $c8
|
cp 200
|
||||||
jr c, .asm_38077
|
jr c, .switch
|
||||||
jp Function38041
|
jp Function38041
|
||||||
|
.not_20
|
||||||
|
|
||||||
.asm_3806f
|
; $30
|
||||||
call Random
|
call Random
|
||||||
cp $a
|
cp 10
|
||||||
jp c, Function38041
|
jp c, Function38041
|
||||||
|
|
||||||
.asm_38077
|
.switch
|
||||||
ld a, [$c717]
|
ld a, [$c717]
|
||||||
and $f
|
and $f
|
||||||
inc a
|
inc a
|
||||||
ld [$c718], a
|
ld [$c718], a
|
||||||
jp Function3844b
|
jp AI_TrySwitch
|
||||||
; 38083
|
; 38083
|
||||||
|
|
||||||
Function38083: ; 38083
|
Function38083: ; 38083
|
||||||
@@ -76,32 +82,34 @@ Function38083: ; 38083
|
|||||||
ld a, [$c717]
|
ld a, [$c717]
|
||||||
and $f0
|
and $f0
|
||||||
jp z, Function38041
|
jp z, Function38041
|
||||||
|
|
||||||
cp $10
|
cp $10
|
||||||
jr nz, .asm_3809f
|
jr nz, .not_10
|
||||||
call Random
|
call Random
|
||||||
cp $14
|
cp 20
|
||||||
jr c, .asm_380b5
|
jr c, .switch
|
||||||
jp Function38041
|
jp Function38041
|
||||||
|
.not_10
|
||||||
|
|
||||||
.asm_3809f
|
|
||||||
cp $20
|
cp $20
|
||||||
jr nz, .asm_380ad
|
jr nz, .not_20
|
||||||
call Random
|
call Random
|
||||||
cp $1e
|
cp 30
|
||||||
jr c, .asm_380b5
|
jr c, .switch
|
||||||
jp Function38041
|
jp Function38041
|
||||||
|
.not_20
|
||||||
|
|
||||||
.asm_380ad
|
; $30
|
||||||
call Random
|
call Random
|
||||||
cp $c8
|
cp 200
|
||||||
jp c, Function38041
|
jp c, Function38041
|
||||||
|
|
||||||
.asm_380b5
|
.switch
|
||||||
ld a, [$c717]
|
ld a, [$c717]
|
||||||
and $f
|
and $f
|
||||||
inc a
|
inc a
|
||||||
ld [$c718], a
|
ld [$c718], a
|
||||||
jp Function3844b
|
jp AI_TrySwitch
|
||||||
; 380c1
|
; 380c1
|
||||||
|
|
||||||
Function380c1: ; 380c1
|
Function380c1: ; 380c1
|
||||||
@@ -109,32 +117,34 @@ Function380c1: ; 380c1
|
|||||||
ld a, [$c717]
|
ld a, [$c717]
|
||||||
and $f0
|
and $f0
|
||||||
jp z, Function38041
|
jp z, Function38041
|
||||||
cp $10
|
|
||||||
jr nz, .asm_380dd
|
|
||||||
call Random
|
|
||||||
cp $32
|
|
||||||
jr c, .asm_380f3
|
|
||||||
jp Function38041
|
|
||||||
|
|
||||||
.asm_380dd
|
cp $10
|
||||||
|
jr nz, .not_10
|
||||||
|
call Random
|
||||||
|
cp 50
|
||||||
|
jr c, .switch
|
||||||
|
jp Function38041
|
||||||
|
.not_10
|
||||||
|
|
||||||
cp $20
|
cp $20
|
||||||
jr nz, .asm_380eb
|
jr nz, .not_20
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jr c, .asm_380f3
|
jr c, .switch
|
||||||
jp Function38041
|
jp Function38041
|
||||||
|
.not_20
|
||||||
|
|
||||||
.asm_380eb
|
; $30
|
||||||
call Random
|
call Random
|
||||||
cp $32
|
cp 50
|
||||||
jp c, Function38041
|
jp c, Function38041
|
||||||
|
|
||||||
.asm_380f3
|
.switch
|
||||||
ld a, [$c717]
|
ld a, [$c717]
|
||||||
and $f
|
and $f
|
||||||
inc a
|
inc a
|
||||||
ld [$c718], a
|
ld [$c718], a
|
||||||
jp Function3844b
|
jp AI_TrySwitch
|
||||||
; 380ff
|
; 380ff
|
||||||
|
|
||||||
|
|
||||||
@@ -204,16 +214,16 @@ Function38105: ; 38105
|
|||||||
ld [de], a
|
ld [de], a
|
||||||
inc a
|
inc a
|
||||||
ld [$c70f], a
|
ld [$c70f], a
|
||||||
ld hl, EnemySubStatus3 ; $c66f
|
ld hl, EnemySubStatus3
|
||||||
res SUBSTATUS_BIDE, [hl]
|
res SUBSTATUS_BIDE, [hl]
|
||||||
xor a
|
xor a
|
||||||
ld [EnemyFuryCutterCount], a ; $c680
|
ld [EnemyFuryCutterCount], a
|
||||||
ld [$c681], a
|
ld [$c681], a
|
||||||
ld [$c72c], a
|
ld [$c72c], a
|
||||||
ld hl, EnemySubStatus4 ; $c670
|
ld hl, EnemySubStatus4
|
||||||
res SUBSTATUS_RAGE, [hl]
|
res SUBSTATUS_RAGE, [hl]
|
||||||
xor a
|
xor a
|
||||||
ld [LastPlayerCounterMove], a ; $c6f9
|
ld [LastPlayerCounterMove], a
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -249,146 +259,144 @@ Function38170: ; 38170
|
|||||||
; 38196
|
; 38196
|
||||||
|
|
||||||
Unknown_38196: ; 39196
|
Unknown_38196: ; 39196
|
||||||
dbw FULL_RESTORE, Function38208
|
dbw FULL_RESTORE, .FullRestore
|
||||||
dbw MAX_POTION, Function38220
|
dbw MAX_POTION, .MaxPotion
|
||||||
dbw HYPER_POTION, Function38284
|
dbw HYPER_POTION, .HyperPotion
|
||||||
dbw SUPER_POTION, Function38292
|
dbw SUPER_POTION, .SuperPotion
|
||||||
dbw POTION, Function382a0
|
dbw POTION, .Potion
|
||||||
dbw X_ACCURACY, Function382f9
|
dbw X_ACCURACY, .XAccuracy
|
||||||
dbw FULL_HEAL, Function381be
|
dbw FULL_HEAL, .FullHeal
|
||||||
dbw GUARD_SPEC, Function38305
|
dbw GUARD_SPEC, .GuardSpec
|
||||||
dbw DIRE_HIT, Function38311
|
dbw DIRE_HIT, .DireHit
|
||||||
dbw X_ATTACK, Function3831d
|
dbw X_ATTACK, .XAttack
|
||||||
dbw X_DEFEND, Function38329
|
dbw X_DEFEND, .XDefend
|
||||||
dbw X_SPEED, Function38335
|
dbw X_SPEED, .XSpeed
|
||||||
dbw X_SPECIAL, Function38341
|
dbw X_SPECIAL, .XSpecial
|
||||||
db $ff
|
db $ff
|
||||||
; 381be
|
; 381be
|
||||||
|
|
||||||
Function381be: ; 381be
|
.FullHeal: ; 381be
|
||||||
call Function381ca
|
call .Status
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function383a3
|
call Function383a3
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 381ca
|
; 381ca
|
||||||
|
|
||||||
Function381ca: ; 381ca (e:41ca)
|
.Status: ; 381ca (e:41ca)
|
||||||
ld a, [EnemyMonStatus] ; $d214
|
ld a, [EnemyMonStatus]
|
||||||
and a
|
and a
|
||||||
jp z, Function38383
|
jp z, .DontUse
|
||||||
|
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 6, a
|
bit CONTEXT_USE_F, a
|
||||||
jr nz, .asm_381e7
|
jr nz, .asm_381e7
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 4, a
|
bit ALWAYS_USE_F, a
|
||||||
jp nz, Function38385
|
jp nz, .Use
|
||||||
call Random
|
call Random
|
||||||
cp $32
|
cp 50
|
||||||
jp c, Function38385
|
jp c, .Use
|
||||||
jp Function38383
|
jp .DontUse
|
||||||
|
|
||||||
.asm_381e7
|
.asm_381e7
|
||||||
ld a, [EnemySubStatus5]
|
ld a, [EnemySubStatus5]
|
||||||
bit SUBSTATUS_TOXIC, a
|
bit SUBSTATUS_TOXIC, a
|
||||||
jr z, .asm_381fd
|
jr z, .asm_381fd
|
||||||
ld a, [$c67c]
|
ld a, [EnemyToxicCount]
|
||||||
cp $4
|
cp 4
|
||||||
jr c, .asm_381fd
|
jr c, .asm_381fd
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jp c, Function38385
|
jp c, .Use
|
||||||
.asm_381fd
|
.asm_381fd
|
||||||
ld a, [EnemyMonStatus]
|
ld a, [EnemyMonStatus]
|
||||||
and 1 << FRZ | SLP
|
and 1 << FRZ | SLP
|
||||||
jp z, Function38383
|
jp z, .DontUse
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38208
|
; 38208
|
||||||
|
|
||||||
Function38208: ; 38208
|
.FullRestore: ; 38208
|
||||||
call Function3822c
|
call .HealItem
|
||||||
jp nc, Function3821a
|
jp nc, .asm_3821a
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 6, a
|
bit CONTEXT_USE_F, a
|
||||||
jp z, Function38383
|
jp z, .DontUse
|
||||||
call Function381ca
|
call .Status
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
|
|
||||||
Function3821a: ; 3821a (e:421a)
|
.asm_3821a
|
||||||
call Function383b5
|
call Function383b5
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38220
|
; 38220
|
||||||
|
|
||||||
Function38220: ; 38220
|
.MaxPotion: ; 38220
|
||||||
call Function3822c
|
call .HealItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function383ae
|
call Function383ae
|
||||||
jp Function38385
|
jp .Use
|
||||||
|
|
||||||
Function3822c: ; 3822c (e:422c)
|
.HealItem: ; 3822c (e:422c)
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 6, a
|
bit CONTEXT_USE_F, a
|
||||||
jr nz, Function38267
|
jr nz, .asm_38267
|
||||||
callab AICheckEnemyHalfHP
|
callab AICheckEnemyHalfHP
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 5, a
|
bit UNKNOWN_USE_F, a
|
||||||
jp nz, Function38254
|
jp nz, .asm_38254
|
||||||
callab AICheckEnemyQuarterHP
|
callab AICheckEnemyQuarterHP
|
||||||
jp nc, Function38281
|
jp nc, .asm_38281
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jp c, Function38281
|
jp c, .asm_38281
|
||||||
jp Function38383
|
jp .DontUse
|
||||||
|
|
||||||
Function38254: ; 38254 (e:4254)
|
.asm_38254: ; 38254 (e:4254)
|
||||||
callab AICheckEnemyQuarterHP
|
callab AICheckEnemyQuarterHP
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Random
|
call Random
|
||||||
cp $32
|
cp 50
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
jr Function38281
|
jr .asm_38281
|
||||||
|
|
||||||
Function38267: ; 38267 (e:4267)
|
.asm_38267: ; 38267 (e:4267)
|
||||||
callab AICheckEnemyHalfHP
|
callab AICheckEnemyHalfHP
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
callab AICheckEnemyQuarterHP
|
callab AICheckEnemyQuarterHP
|
||||||
jp nc, Function38281
|
jp nc, .asm_38281
|
||||||
call Random
|
call Random
|
||||||
cp $32
|
cp 50
|
||||||
jp nc, Function38383
|
jp nc, .DontUse
|
||||||
|
|
||||||
Function38281: ; 38281 (e:4281)
|
.asm_38281: ; 38281 (e:4281)
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38284
|
; 38284
|
||||||
|
|
||||||
Function38284: ; 38284
|
.HyperPotion: ; 38284
|
||||||
call Function3822c
|
call .HealItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
ld b, 200
|
ld b, 200
|
||||||
call Function383f4
|
call Function383f4
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38292 (e:4292)
|
; 38292 (e:4292)
|
||||||
|
|
||||||
Function38292: ; 38292
|
.SuperPotion: ; 38292
|
||||||
call Function3822c
|
call .HealItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
|
|
||||||
Function38298: ; 38298
|
|
||||||
ld b, 50
|
ld b, 50
|
||||||
call Function383ee
|
call Function383ee
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 382a0
|
; 382a0
|
||||||
|
|
||||||
Function382a0: ; 382a0
|
.Potion: ; 382a0
|
||||||
call Function3822c
|
call .HealItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
ld b, 20
|
ld b, 20
|
||||||
call Function383e8
|
call Function383e8
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 382ae
|
; 382ae
|
||||||
|
|
||||||
Function382ae: ; 382ae
|
.asm_382ae: ; 382ae
|
||||||
callab AICheckEnemyMaxHP
|
callab AICheckEnemyMaxHP
|
||||||
jr c, .asm_382e4
|
jr c, .asm_382e4
|
||||||
push bc
|
push bc
|
||||||
@@ -412,111 +420,111 @@ Function382ae: ; 382ae
|
|||||||
.asm_382d5
|
.asm_382d5
|
||||||
pop bc
|
pop bc
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 5, a
|
bit UNKNOWN_USE_F, a
|
||||||
jp z, Function38385
|
jp z, .Use
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jp c, Function38385
|
jp c, .Use
|
||||||
|
|
||||||
.asm_382e4
|
.asm_382e4
|
||||||
jp Function38383
|
jp .DontUse
|
||||||
|
|
||||||
.asm_382e7
|
.asm_382e7
|
||||||
pop bc
|
pop bc
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 5, a
|
bit UNKNOWN_USE_F, a
|
||||||
jp z, Function38383
|
jp z, .DontUse
|
||||||
call Random
|
call Random
|
||||||
cp $64
|
cp 100
|
||||||
jp c, Function38385
|
jp c, .Use
|
||||||
jp Function38383
|
jp .DontUse
|
||||||
; 382f9
|
; 382f9
|
||||||
|
|
||||||
Function382f9: ; 382f9
|
.XAccuracy: ; 382f9
|
||||||
call Function3834d
|
call .XItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function384f7
|
call Function384f7
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38305
|
; 38305
|
||||||
|
|
||||||
Function38305: ; 38305
|
.GuardSpec: ; 38305
|
||||||
call Function3834d
|
call .XItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function38504
|
call Function38504
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38311
|
; 38311
|
||||||
|
|
||||||
Function38311: ; 38311
|
.DireHit: ; 38311
|
||||||
call Function3834d
|
call .XItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function38511
|
call Function38511
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 3831d (e:431d)
|
; 3831d (e:431d)
|
||||||
|
|
||||||
Function3831d: ; 3831d
|
.XAttack: ; 3831d
|
||||||
call Function3834d
|
call .XItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function38541
|
call Function38541
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38329
|
; 38329
|
||||||
|
|
||||||
Function38329: ; 38329
|
.XDefend: ; 38329
|
||||||
call Function3834d
|
call .XItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function38547
|
call Function38547
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38335
|
; 38335
|
||||||
|
|
||||||
Function38335: ; 38335
|
.XSpeed: ; 38335
|
||||||
call Function3834d
|
call .XItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function3854d
|
call Function3854d
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 38341
|
; 38341
|
||||||
|
|
||||||
Function38341: ; 38341
|
.XSpecial: ; 38341
|
||||||
call Function3834d
|
call .XItem
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
call Function38553
|
call Function38553
|
||||||
jp Function38385
|
jp .Use
|
||||||
; 3834d
|
; 3834d
|
||||||
|
|
||||||
Function3834d: ; 3834d (e:434d)
|
.XItem: ; 3834d (e:434d)
|
||||||
ld a, [EnemyTurnsTaken] ; $c6dc
|
ld a, [EnemyTurnsTaken]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_38372
|
jr nz, .asm_38372
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 4, a
|
bit ALWAYS_USE_F, a
|
||||||
jp nz, Function38385
|
jp nz, .Use
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 6, a
|
bit CONTEXT_USE_F, a
|
||||||
jp nz, Function38385
|
jp nz, .Use
|
||||||
call Random
|
call Random
|
||||||
cp $80
|
cp $80
|
||||||
jp c, Function38383
|
jp c, .DontUse
|
||||||
jp Function38385
|
jp .Use
|
||||||
.asm_38372
|
.asm_38372
|
||||||
ld a, [bc]
|
ld a, [bc]
|
||||||
bit 4, a
|
bit ALWAYS_USE_F, a
|
||||||
jp z, Function38383
|
jp z, .DontUse
|
||||||
call Random
|
call Random
|
||||||
cp $32
|
cp 50
|
||||||
jp nc, Function38383
|
jp nc, .DontUse
|
||||||
jp Function38385
|
jp .Use
|
||||||
|
|
||||||
Function38383: ; 38383 (e:4383)
|
.DontUse:
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function38385: ; 38385 (e:4385)
|
.Use:
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
Function38387: ; 38387
|
AIUpdateHUD: ; 38387
|
||||||
call UpdateEnemyMonInParty
|
call UpdateEnemyMonInParty
|
||||||
callba UpdateEnemyHUD
|
callba UpdateEnemyHUD
|
||||||
ld a, $1
|
ld a, $1
|
||||||
@@ -527,7 +535,7 @@ Function38387: ; 38387
|
|||||||
ret
|
ret
|
||||||
; 3839a
|
; 3839a
|
||||||
|
|
||||||
Function3839a: ; 3839a
|
AIUsedItemSound: ; 3839a
|
||||||
push de
|
push de
|
||||||
ld de, SFX_FULL_HEAL
|
ld de, SFX_FULL_HEAL
|
||||||
call PlaySFX
|
call PlaySFX
|
||||||
@@ -537,44 +545,45 @@ Function3839a: ; 3839a
|
|||||||
|
|
||||||
|
|
||||||
Function383a3: ; 383a3 (e:43a3)
|
Function383a3: ; 383a3 (e:43a3)
|
||||||
call Function3839a
|
call AIUsedItemSound
|
||||||
call Function384e0
|
call AI_HealStatus
|
||||||
ld a, FULL_HEAL
|
ld a, FULL_HEAL
|
||||||
jp Function38568
|
jp Function38568
|
||||||
|
|
||||||
Function383ae: ; 383ae (e:43ae)
|
Function383ae: ; 383ae (e:43ae)
|
||||||
ld a, $f
|
ld a, MAX_POTION
|
||||||
ld [$d1f1], a
|
ld [$d1f1], a
|
||||||
jr asm_383c6
|
jr asm_383c6
|
||||||
|
|
||||||
Function383b5: ; 383b5 (e:43b5)
|
Function383b5: ; 383b5 (e:43b5)
|
||||||
call Function384e0
|
call AI_HealStatus
|
||||||
ld a, $e
|
ld a, FULL_RESTORE
|
||||||
ld [$d1f1], a
|
ld [$d1f1], a
|
||||||
ld hl, EnemySubStatus3 ; $c66f
|
ld hl, EnemySubStatus3
|
||||||
res SUBSTATUS_CONFUSED, [hl]
|
res SUBSTATUS_CONFUSED, [hl]
|
||||||
xor a
|
xor a
|
||||||
ld [EnemyConfuseCount], a ; $c67b
|
ld [EnemyConfuseCount], a
|
||||||
asm_383c6: ; 383c6 (e:43c6)
|
|
||||||
|
asm_383c6: ; 383c6
|
||||||
ld de, $d1ec
|
ld de, $d1ec
|
||||||
ld hl, EnemyMonHP + 1 ; $d217
|
ld hl, EnemyMonHP + 1
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
inc de
|
inc de
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
inc de
|
inc de
|
||||||
ld hl, EnemyMonMaxHP + 1 ; $d219
|
ld hl, EnemyMonMaxHP + 1
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
inc de
|
inc de
|
||||||
ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
|
ld [Buffer1], a
|
||||||
ld [EnemyMonHP + 1], a ; $d217
|
ld [EnemyMonHP + 1], a
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
ld [Buffer2], a ; $d1eb (aliases: MovementType)
|
ld [Buffer2], a
|
||||||
ld [EnemyMonHP], a ; $d216 (aliases: EnemyMonHP)
|
ld [EnemyMonHP], a
|
||||||
jr asm_38436
|
jr Function38436
|
||||||
; 383e8 (e:43e8)
|
; 383e8 (e:43e8)
|
||||||
|
|
||||||
Function383e8: ; 383e8
|
Function383e8: ; 383e8
|
||||||
@@ -593,34 +602,34 @@ Function383f4: ; 383f4 (e:43f4)
|
|||||||
|
|
||||||
Function383f8: ; 383f8
|
Function383f8: ; 383f8
|
||||||
ld [$d1f1], a
|
ld [$d1f1], a
|
||||||
ld hl, EnemyMonHP + 1 ; $d217
|
ld hl, EnemyMonHP + 1
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [$d1ec], a
|
ld [$d1ec], a
|
||||||
add b
|
add b
|
||||||
ld [hld], a
|
ld [hld], a
|
||||||
ld [$d1ee], a
|
ld [$d1ee], a
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [$d1ed], a
|
ld [$d1ec + 1], a
|
||||||
ld [$d1ef], a
|
ld [$d1ee + 1], a
|
||||||
jr nc, .asm_38415
|
jr nc, .asm_38415
|
||||||
inc a
|
inc a
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld [$d1ef], a
|
ld [$d1ee + 1], a
|
||||||
.asm_38415
|
.asm_38415
|
||||||
inc hl
|
inc hl
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld de, EnemyMonMaxHP + 1 ; $d219
|
ld de, EnemyMonMaxHP + 1
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
dec de
|
dec de
|
||||||
ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
|
ld [Buffer1], 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 ; $d1eb (aliases: MovementType)
|
ld [Buffer2], a
|
||||||
sbc b
|
sbc b
|
||||||
jr nc, asm_38436
|
jr nc, .asm_38436
|
||||||
inc de
|
inc de
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
dec de
|
dec de
|
||||||
@@ -629,17 +638,19 @@ Function383f8: ; 383f8
|
|||||||
ld a, [de]
|
ld a, [de]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld [$d1ef], a
|
ld [$d1ef], a
|
||||||
asm_38436: ; 38436 (e:4436)
|
.asm_38436
|
||||||
|
|
||||||
|
Function38436: ; 38436
|
||||||
call Function38571
|
call Function38571
|
||||||
hlcoord 2, 2
|
hlcoord 2, 2
|
||||||
xor a
|
xor a
|
||||||
ld [$d10a], a
|
ld [$d10a], a
|
||||||
call Function3839a
|
call AIUsedItemSound
|
||||||
predef Functionc6e0
|
predef Functionc6e0
|
||||||
jp Function38387
|
jp AIUpdateHUD
|
||||||
|
|
||||||
|
|
||||||
Function3844b: ; 3844b
|
AI_TrySwitch: ; 3844b
|
||||||
ld a, [OTPartyCount]
|
ld a, [OTPartyCount]
|
||||||
ld c, a
|
ld c, a
|
||||||
ld hl, OTPartyMon1HP
|
ld hl, OTPartyMon1HP
|
||||||
@@ -651,7 +662,6 @@ Function3844b: ; 3844b
|
|||||||
or b
|
or b
|
||||||
jr z, .asm_3845b
|
jr z, .asm_3845b
|
||||||
inc d
|
inc d
|
||||||
|
|
||||||
.asm_3845b
|
.asm_3845b
|
||||||
push bc
|
push bc
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PartyMon2 - PartyMon1
|
||||||
@@ -659,14 +669,15 @@ Function3844b: ; 3844b
|
|||||||
pop bc
|
pop bc
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_38454
|
jr nz, .asm_38454
|
||||||
|
|
||||||
ld a, d
|
ld a, d
|
||||||
cp $2
|
cp 2
|
||||||
jp nc, Function3846c
|
jp nc, AI_Switch
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
; 3846c
|
; 3846c
|
||||||
|
|
||||||
Function3846c: ; 3846c
|
AI_Switch: ; 3846c
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$c711], a
|
ld [$c711], a
|
||||||
ld [$c70f], a
|
ld [$c70f], a
|
||||||
@@ -689,7 +700,6 @@ Function3846c: ; 3846c
|
|||||||
jr c, .asm_384a3
|
jr c, .asm_384a3
|
||||||
ld hl, UnknownText_0x384d0
|
ld hl, UnknownText_0x384d0
|
||||||
call PrintText
|
call PrintText
|
||||||
|
|
||||||
.asm_384a3
|
.asm_384a3
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$d264], a
|
ld [$d264], a
|
||||||
@@ -714,13 +724,13 @@ UnknownText_0x384d0: ; 384d0
|
|||||||
; 384d5
|
; 384d5
|
||||||
|
|
||||||
Function384d5: ; 384d5
|
Function384d5: ; 384d5
|
||||||
call Function3839a
|
call AIUsedItemSound
|
||||||
call Function384e0
|
call AI_HealStatus
|
||||||
ld a, X_SPEED
|
ld a, FULL_HEAL_RED
|
||||||
jp Function38568
|
jp Function38568
|
||||||
; 384e0
|
; 384e0
|
||||||
|
|
||||||
Function384e0: ; 384e0
|
AI_HealStatus: ; 384e0
|
||||||
ld a, [CurOTMon]
|
ld a, [CurOTMon]
|
||||||
ld hl, OTPartyMon1Status
|
ld hl, OTPartyMon1Status
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PartyMon2 - PartyMon1
|
||||||
@@ -734,15 +744,15 @@ Function384e0: ; 384e0
|
|||||||
; 384f7
|
; 384f7
|
||||||
|
|
||||||
Function384f7: ; 384f7
|
Function384f7: ; 384f7
|
||||||
call Function3839a
|
call AIUsedItemSound
|
||||||
ld hl, EnemySubStatus4
|
ld hl, EnemySubStatus4
|
||||||
set SUBSTATUS_UNLEASH, [hl]
|
set SUBSTATUS_X_ACCURACY, [hl]
|
||||||
ld a, X_ACCURACY
|
ld a, X_ACCURACY
|
||||||
jp Function38568
|
jp Function38568
|
||||||
; 38504
|
; 38504
|
||||||
|
|
||||||
Function38504: ; 38504
|
Function38504: ; 38504
|
||||||
call Function3839a
|
call AIUsedItemSound
|
||||||
ld hl, EnemySubStatus4
|
ld hl, EnemySubStatus4
|
||||||
set SUBSTATUS_MIST, [hl]
|
set SUBSTATUS_MIST, [hl]
|
||||||
ld a, GUARD_SPEC
|
ld a, GUARD_SPEC
|
||||||
@@ -750,7 +760,7 @@ Function38504: ; 38504
|
|||||||
; 38511
|
; 38511
|
||||||
|
|
||||||
Function38511: ; 38511
|
Function38511: ; 38511
|
||||||
call Function3839a
|
call AIUsedItemSound
|
||||||
ld hl, EnemySubStatus4
|
ld hl, EnemySubStatus4
|
||||||
set SUBSTATUS_FOCUS_ENERGY, [hl]
|
set SUBSTATUS_FOCUS_ENERGY, [hl]
|
||||||
ld a, DIRE_HIT
|
ld a, DIRE_HIT
|
||||||
@@ -805,20 +815,20 @@ Function38553: ; 38553
|
|||||||
ld b, SP_ATTACK
|
ld b, SP_ATTACK
|
||||||
ld a, X_SPECIAL
|
ld a, X_SPECIAL
|
||||||
|
|
||||||
Function38557
|
Function38557:
|
||||||
ld [$d1f1], a
|
ld [$d1f1], a
|
||||||
push bc
|
push bc
|
||||||
call Function38571
|
call Function38571
|
||||||
pop bc
|
pop bc
|
||||||
callba Function361ef
|
callba Function361ef
|
||||||
jp Function38387
|
jp AIUpdateHUD
|
||||||
; 38568
|
; 38568
|
||||||
|
|
||||||
|
|
||||||
Function38568: ; 38568
|
Function38568: ; 38568
|
||||||
ld [$d1f1], a
|
ld [$d1f1], a
|
||||||
call Function38571
|
call Function38571
|
||||||
jp Function38387
|
jp AIUpdateHUD
|
||||||
; 38571
|
; 38571
|
||||||
|
|
||||||
Function38571: ; 38571
|
Function38571: ; 38571
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -480,7 +480,7 @@ Function3c314: ; 3c314
|
|||||||
jp .asm_3c3f1
|
jp .asm_3c3f1
|
||||||
|
|
||||||
.asm_3c34c
|
.asm_3c34c
|
||||||
callab Function3846c
|
callab AI_Switch
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
call SpikesDamage
|
call SpikesDamage
|
||||||
jp Function3c3f3
|
jp Function3c3f3
|
||||||
@@ -5454,7 +5454,7 @@ Function3e3ad: ; 3e3ad
|
|||||||
; 3e3ff
|
; 3e3ff
|
||||||
|
|
||||||
Function3e3ff: ; 3e3ff
|
Function3e3ff: ; 3e3ff
|
||||||
callab Function3846c
|
callab AI_Switch
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
jp SpikesDamage
|
jp SpikesDamage
|
||||||
; 3e40b
|
; 3e40b
|
||||||
|
@@ -1041,6 +1041,7 @@ BattleCommand04: ; 34555
|
|||||||
ld bc, EnemyTurnsTaken
|
ld bc, EnemyTurnsTaken
|
||||||
|
|
||||||
.asm_34570
|
.asm_34570
|
||||||
|
|
||||||
; 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]
|
||||||
inc a
|
inc a
|
||||||
@@ -1052,7 +1053,7 @@ BattleCommand04: ; 34555
|
|||||||
ret z
|
ret z
|
||||||
|
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
and %111 ; rollout | bide | ???
|
and 1 << SUBSTATUS_IN_LOOP | 1 << SUBSTATUS_RAMPAGE | 1 << SUBSTATUS_BIDE
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
call .asm_345ad
|
call .asm_345ad
|
||||||
@@ -1542,28 +1543,28 @@ Function347d3: ; 347d3
|
|||||||
.asm_347e7
|
.asm_347e7
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
cp $ff
|
cp $ff
|
||||||
jr z, .asm_3482f ; 0x347ea $43
|
jr z, .asm_3482f
|
||||||
cp $fe
|
cp $fe
|
||||||
jr nz, .asm_347fb ; 0x347ee $b
|
jr nz, .asm_347fb
|
||||||
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit SUBSTATUS_IDENTIFIED, a
|
bit SUBSTATUS_IDENTIFIED, a
|
||||||
jr nz, .asm_3482f ; 0x347f7 $36
|
jr nz, .asm_3482f
|
||||||
jr .asm_347e7 ; 0x347f9 $ec
|
jr .asm_347e7
|
||||||
.asm_347fb
|
.asm_347fb
|
||||||
cp d
|
cp d
|
||||||
jr nz, .asm_34807 ; 0x347fc $9
|
jr nz, .asm_34807
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
cp b
|
cp b
|
||||||
jr z, .asm_3480b ; 0x34800 $9
|
jr z, .asm_3480b
|
||||||
cp c
|
cp c
|
||||||
jr z, .asm_3480b ; 0x34803 $6
|
jr z, .asm_3480b
|
||||||
jr .asm_34808 ; 0x34805 $1
|
jr .asm_34808
|
||||||
.asm_34807
|
.asm_34807
|
||||||
inc hl
|
inc hl
|
||||||
.asm_34808
|
.asm_34808
|
||||||
inc hl
|
inc hl
|
||||||
jr .asm_347e7 ; 0x34809 $dc
|
jr .asm_347e7
|
||||||
.asm_3480b
|
.asm_3480b
|
||||||
xor a
|
xor a
|
||||||
ld [$ffb3], a
|
ld [$ffb3], a
|
||||||
@@ -1572,17 +1573,18 @@ Function347d3: ; 347d3
|
|||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [$ffb6], a
|
ld [$ffb6], a
|
||||||
ld a, [$d265]
|
ld a, [$d265]
|
||||||
ld [$ffb7], a
|
ld [hMultiplier], a
|
||||||
call Multiply
|
call Multiply
|
||||||
ld a, $a
|
ld a, 10
|
||||||
ld [$ffb7], a
|
ld [hDivisor], a
|
||||||
push bc
|
push bc
|
||||||
ld b, $4
|
ld b, 4
|
||||||
call Divide
|
call Divide
|
||||||
pop bc
|
pop bc
|
||||||
ld a, [$ffb6]
|
ld a, [$ffb6]
|
||||||
ld [$d265], a
|
ld [$d265], a
|
||||||
jr .asm_347e7 ; 0x3482d $b8
|
jr .asm_347e7
|
||||||
|
|
||||||
.asm_3482f
|
.asm_3482f
|
||||||
pop bc
|
pop bc
|
||||||
pop de
|
pop de
|
||||||
@@ -1613,7 +1615,7 @@ Function3484e: ; 3484e
|
|||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
push bc
|
push bc
|
||||||
ld a, $a
|
ld a, 10
|
||||||
ld [$c716], a
|
ld [$c716], a
|
||||||
ld hl, PlayerUsedMoves
|
ld hl, PlayerUsedMoves
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@@ -1795,24 +1797,26 @@ Function34939: ; 34939
|
|||||||
Function34941: ; 34941
|
Function34941: ; 34941
|
||||||
xor a
|
xor a
|
||||||
ld [$c717], a
|
ld [$c717], a
|
||||||
call Function349f4
|
call CountEnemyAliveMons
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
ld a, [EnemySubStatus1]
|
ld a, [EnemySubStatus1]
|
||||||
bit SUBSTATUS_PERISH, a
|
bit SUBSTATUS_PERISH, a
|
||||||
jr z, .asm_34986
|
jr z, .no_perish
|
||||||
|
|
||||||
ld a, [EnemyPerishCount]
|
ld a, [EnemyPerishCount]
|
||||||
cp 1
|
cp 1
|
||||||
jr nz, .asm_34986
|
jr nz, .no_perish
|
||||||
|
|
||||||
call Function349f4
|
; Perish count is 1
|
||||||
|
|
||||||
|
call CountEnemyAliveMons
|
||||||
call Function34b77
|
call Function34b77
|
||||||
call Function34b20
|
call Function34b20
|
||||||
call Function34a85
|
call Function34a85
|
||||||
|
|
||||||
ld a, e
|
ld a, e
|
||||||
cp $2
|
cp 2
|
||||||
jr nz, .asm_34971
|
jr nz, .asm_34971
|
||||||
|
|
||||||
ld a, [$c716]
|
ld a, [$c716]
|
||||||
@@ -1821,7 +1825,7 @@ Function34941: ; 34941
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_34971
|
.asm_34971
|
||||||
call Function349f4
|
call CountEnemyAliveMons
|
||||||
sla c
|
sla c
|
||||||
sla c
|
sla c
|
||||||
ld b, $ff
|
ld b, $ff
|
||||||
@@ -1836,10 +1840,11 @@ Function34941: ; 34941
|
|||||||
ld [$c717], a
|
ld [$c717], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_34986
|
.no_perish
|
||||||
|
|
||||||
call Function3484e
|
call Function3484e
|
||||||
ld a, [$c716]
|
ld a, [$c716]
|
||||||
cp $b
|
cp 11
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
ld a, [LastEnemyCounterMove]
|
ld a, [LastEnemyCounterMove]
|
||||||
@@ -1859,12 +1864,12 @@ Function34941: ; 34941
|
|||||||
|
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, e
|
ld a, e
|
||||||
cp $2
|
cp 2
|
||||||
jr z, .asm_349be
|
jr z, .asm_349be
|
||||||
|
|
||||||
call Function3484e
|
call Function3484e
|
||||||
ld a, [$c716]
|
ld a, [$c716]
|
||||||
cp $a
|
cp 10
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
ld a, b
|
ld a, b
|
||||||
@@ -1876,7 +1881,7 @@ Function34941: ; 34941
|
|||||||
ld c, $10
|
ld c, $10
|
||||||
call Function3484e
|
call Function3484e
|
||||||
ld a, [$c716]
|
ld a, [$c716]
|
||||||
cp $a
|
cp 10
|
||||||
jr nc, .asm_349cc
|
jr nc, .asm_349cc
|
||||||
ld c, $20
|
ld c, $20
|
||||||
|
|
||||||
@@ -1889,10 +1894,10 @@ Function34941: ; 34941
|
|||||||
.asm_349d2
|
.asm_349d2
|
||||||
call Function3484e
|
call Function3484e
|
||||||
ld a, [$c716]
|
ld a, [$c716]
|
||||||
cp $a
|
cp 10
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
call Function349f4
|
call CountEnemyAliveMons
|
||||||
call Function34b77
|
call Function34b77
|
||||||
call Function34b20
|
call Function34b20
|
||||||
call Function34a85
|
call Function34a85
|
||||||
@@ -1908,7 +1913,7 @@ Function34941: ; 34941
|
|||||||
; 349f4
|
; 349f4
|
||||||
|
|
||||||
|
|
||||||
Function349f4: ; 349f4
|
CountEnemyAliveMons: ; 349f4
|
||||||
ld a, [OTPartyCount]
|
ld a, [OTPartyCount]
|
||||||
cp 2
|
cp 2
|
||||||
jr c, .only_one
|
jr c, .only_one
|
||||||
@@ -1964,7 +1969,7 @@ Function34a2a: ; 34a2a
|
|||||||
ld hl, OTPartyMon1
|
ld hl, OTPartyMon1
|
||||||
ld a, [OTPartyCount]
|
ld a, [OTPartyCount]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld c, $20
|
ld c, 1 << (PARTY_LENGTH - 1)
|
||||||
ld d, 0
|
ld d, 0
|
||||||
xor a
|
xor a
|
||||||
ld [$c716], a
|
ld [$c716], a
|
||||||
@@ -2027,8 +2032,8 @@ Function34a85: ; 34a85
|
|||||||
ld a, [OTPartyCount]
|
ld a, [OTPartyCount]
|
||||||
ld e, a
|
ld e, a
|
||||||
ld hl, OTPartyMon1HP
|
ld hl, OTPartyMon1HP
|
||||||
ld b, $20
|
ld b, 1 << (PARTY_LENGTH - 1)
|
||||||
ld c, $0
|
ld c, 0
|
||||||
.asm_34a91
|
.asm_34a91
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
or [hl]
|
or [hl]
|
||||||
@@ -2061,9 +2066,9 @@ Function34aa7: ; 34aa7
|
|||||||
ld a, $ff
|
ld a, $ff
|
||||||
ld [$c716], a
|
ld [$c716], a
|
||||||
ld hl, OTPartyMon1Moves
|
ld hl, OTPartyMon1Moves
|
||||||
ld b, $20
|
ld b, 1 << (PARTY_LENGTH - 1)
|
||||||
ld d, $0
|
ld d, 0
|
||||||
ld e, $0
|
ld e, 0
|
||||||
.asm_34ab5
|
.asm_34ab5
|
||||||
ld a, b
|
ld a, b
|
||||||
and c
|
and c
|
||||||
@@ -2072,7 +2077,7 @@ Function34aa7: ; 34aa7
|
|||||||
push hl
|
push hl
|
||||||
push bc
|
push bc
|
||||||
ld b, NUM_MOVES
|
ld b, NUM_MOVES
|
||||||
ld c, $0
|
ld c, 0
|
||||||
.asm_34abf
|
.asm_34abf
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
and a
|
and a
|
||||||
@@ -2090,14 +2095,14 @@ Function34aa7: ; 34aa7
|
|||||||
ld hl, BattleMonType1
|
ld hl, BattleMonType1
|
||||||
call Function347d3
|
call Function347d3
|
||||||
ld a, [$d265]
|
ld a, [$d265]
|
||||||
cp $a
|
cp 10
|
||||||
jr c, .asm_34ae9
|
jr c, .asm_34ae9
|
||||||
|
|
||||||
ld e, $1
|
ld e, 1
|
||||||
cp $b
|
cp 11
|
||||||
jr c, .asm_34ae9
|
jr c, .asm_34ae9
|
||||||
|
|
||||||
ld e, $2
|
ld e, 2
|
||||||
jr .asm_34aef
|
jr .asm_34aef
|
||||||
|
|
||||||
.asm_34ae9
|
.asm_34ae9
|
||||||
@@ -2157,8 +2162,8 @@ Function34aa7: ; 34aa7
|
|||||||
Function34b20: ; 34b20
|
Function34b20: ; 34b20
|
||||||
push bc
|
push bc
|
||||||
ld hl, OTPartySpecies
|
ld hl, OTPartySpecies
|
||||||
ld b, $20
|
ld b, 1 << (PARTY_LENGTH - 1)
|
||||||
ld c, $0
|
ld c, 0
|
||||||
|
|
||||||
.asm_34b28
|
.asm_34b28
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
@@ -2350,7 +2355,7 @@ BattleCommand09: ; 34d32
|
|||||||
call .ThunderRain
|
call .ThunderRain
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
call .UnleashedEnergy
|
call .XAccuracy
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
; Perfect-accuracy moves
|
; Perfect-accuracy moves
|
||||||
@@ -2545,11 +2550,10 @@ BattleCommand09: ; 34d32
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.UnleashedEnergy
|
.XAccuracy
|
||||||
; Return nz if unleashing energy from Bide.
|
|
||||||
ld a, BATTLE_VARS_SUBSTATUS4
|
ld a, BATTLE_VARS_SUBSTATUS4
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit SUBSTATUS_UNLEASH, a
|
bit SUBSTATUS_X_ACCURACY, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
@@ -6915,8 +6919,9 @@ BattleCommand21: ; 36671
|
|||||||
|
|
||||||
ld a, BATTLE_VARS_SUBSTATUS3
|
ld a, BATTLE_VARS_SUBSTATUS3
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit 0, a
|
bit SUBSTATUS_BIDE, a
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
ld hl, PlayerRolloutCount
|
ld hl, PlayerRolloutCount
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
@@ -6925,9 +6930,10 @@ BattleCommand21: ; 36671
|
|||||||
.asm_36684
|
.asm_36684
|
||||||
dec [hl]
|
dec [hl]
|
||||||
jr nz, .asm_366dc
|
jr nz, .asm_366dc
|
||||||
|
|
||||||
ld a, BATTLE_VARS_SUBSTATUS3
|
ld a, BATTLE_VARS_SUBSTATUS3
|
||||||
call GetBattleVarAddr
|
call GetBattleVarAddr
|
||||||
res 0, [hl]
|
res SUBSTATUS_BIDE, [hl]
|
||||||
|
|
||||||
ld hl, UnleashedEnergyText
|
ld hl, UnleashedEnergyText
|
||||||
call StdBattleTextBox
|
call StdBattleTextBox
|
||||||
@@ -6988,13 +6994,13 @@ BattleCommand22: ; 366e5
|
|||||||
ld bc, PlayerRolloutCount
|
ld bc, PlayerRolloutCount
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
jr z, .asm_366f6 ; 366ee $6
|
jr z, .asm_366f6
|
||||||
ld de, $c684
|
ld de, $c684
|
||||||
ld bc, EnemyRolloutCount
|
ld bc, EnemyRolloutCount
|
||||||
.asm_366f6
|
.asm_366f6
|
||||||
ld a, BATTLE_VARS_SUBSTATUS3
|
ld a, BATTLE_VARS_SUBSTATUS3
|
||||||
call GetBattleVarAddr
|
call GetBattleVarAddr
|
||||||
set 0, [hl]
|
set SUBSTATUS_BIDE, [hl]
|
||||||
xor a
|
xor a
|
||||||
ld [de], a
|
ld [de], a
|
||||||
inc de
|
inc de
|
||||||
@@ -7002,11 +7008,11 @@ BattleCommand22: ; 366e5
|
|||||||
ld [wPlayerMoveStruct + MOVE_EFFECT], a
|
ld [wPlayerMoveStruct + MOVE_EFFECT], a
|
||||||
ld [wEnemyMoveStruct + MOVE_EFFECT], a
|
ld [wEnemyMoveStruct + MOVE_EFFECT], a
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
and $1
|
and 1
|
||||||
inc a
|
inc a
|
||||||
inc a
|
inc a
|
||||||
ld [bc], a
|
ld [bc], a
|
||||||
ld a, $1
|
ld a, 1
|
||||||
ld [$c689], a
|
ld [$c689], a
|
||||||
call AnimateCurrentMove
|
call AnimateCurrentMove
|
||||||
jp EndMoveEffect
|
jp EndMoveEffect
|
||||||
@@ -7219,7 +7225,7 @@ BattleCommand23: ; 3680f
|
|||||||
ld a, [wPlayerMoveStruct + MOVE_ANIM]
|
ld a, [wPlayerMoveStruct + MOVE_ANIM]
|
||||||
jp .asm_36975
|
jp .asm_36975
|
||||||
.asm_36869
|
.asm_36869
|
||||||
call Function349f4
|
call CountEnemyAliveMons
|
||||||
jr c, .asm_368ca ; 3686c $5c
|
jr c, .asm_368ca ; 3686c $5c
|
||||||
ld a, [$c70f]
|
ld a, [$c70f]
|
||||||
and a
|
and a
|
||||||
|
@@ -109,15 +109,18 @@ SUBSTATUS_LEECH_SEED EQU 7
|
|||||||
SUBSTATUS_RAGE EQU 6
|
SUBSTATUS_RAGE EQU 6
|
||||||
SUBSTATUS_RECHARGE EQU 5
|
SUBSTATUS_RECHARGE EQU 5
|
||||||
SUBSTATUS_SUBSTITUTE EQU 4
|
SUBSTATUS_SUBSTITUTE EQU 4
|
||||||
|
; EQU 3
|
||||||
SUBSTATUS_FOCUS_ENERGY EQU 2
|
SUBSTATUS_FOCUS_ENERGY EQU 2
|
||||||
SUBSTATUS_MIST EQU 1
|
SUBSTATUS_MIST EQU 1
|
||||||
SUBSTATUS_UNLEASH EQU 0
|
SUBSTATUS_X_ACCURACY EQU 0
|
||||||
|
|
||||||
SUBSTATUS_CANT_RUN EQU 7
|
SUBSTATUS_CANT_RUN EQU 7
|
||||||
SUBSTATUS_DESTINY_BOND EQU 6
|
SUBSTATUS_DESTINY_BOND EQU 6
|
||||||
SUBSTATUS_LOCK_ON EQU 5
|
SUBSTATUS_LOCK_ON EQU 5
|
||||||
SUBSTATUS_ENCORED EQU 4
|
SUBSTATUS_ENCORED EQU 4
|
||||||
SUBSTATUS_TRANSFORMED EQU 3
|
SUBSTATUS_TRANSFORMED EQU 3
|
||||||
|
; EQU 2
|
||||||
|
; EQU 1
|
||||||
SUBSTATUS_TOXIC EQU 0
|
SUBSTATUS_TOXIC EQU 0
|
||||||
|
|
||||||
; environmental
|
; environmental
|
||||||
|
@@ -73,3 +73,18 @@ STEP_TURN EQU 5
|
|||||||
STEP_BACK_LEDGE EQU 6
|
STEP_BACK_LEDGE EQU 6
|
||||||
STEP_WALK_IN_PLACE EQU 7
|
STEP_WALK_IN_PLACE EQU 7
|
||||||
|
|
||||||
|
|
||||||
|
; ai
|
||||||
|
CONTEXT_USE_F EQU 6
|
||||||
|
UNKNOWN_USE_F EQU 5
|
||||||
|
ALWAYS_USE_F EQU 4
|
||||||
|
SWITCH_SOMETIMES_F EQU 2
|
||||||
|
SWITCH_RARELY_F EQU 1
|
||||||
|
SWITCH_OFTEN_F EQU 0
|
||||||
|
|
||||||
|
CONTEXT_USE EQU 1 << CONTEXT_USE_F
|
||||||
|
UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
|
||||||
|
ALWAYS_USE EQU 1 << ALWAYS_USE_F
|
||||||
|
SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
|
||||||
|
SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
|
||||||
|
SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
|
||||||
|
313
main.asm
313
main.asm
@@ -41681,202 +41681,204 @@ TrainerClassNames:: ; 2c1ef
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Function2c41a: ; 2c41a (b:441a)
|
AI_Redundant: ; 2c41a
|
||||||
; More move AI.
|
; Check if move effect c will fail because it's already been used.
|
||||||
ld a, c
|
ld a, c
|
||||||
ld de, 3
|
ld de, 3
|
||||||
ld hl, Unknown_2c42c
|
ld hl, .Moves
|
||||||
call IsInArray
|
call IsInArray
|
||||||
jp nc, Function2c545
|
jp nc, .NotRedundant
|
||||||
inc hl
|
inc hl
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld h, [hl]
|
ld h, [hl]
|
||||||
ld l, a
|
ld l, a
|
||||||
jp [hl]
|
jp [hl]
|
||||||
; 2c42c (b:442c)
|
|
||||||
|
|
||||||
Unknown_2c42c: ; 2c42c
|
.Moves: ; 2c42c
|
||||||
dbw EFFECT_DREAM_EATER, Function2c524
|
dbw EFFECT_DREAM_EATER, .DreamEater
|
||||||
dbw EFFECT_HEAL, Function2c539
|
dbw EFFECT_HEAL, .Heal
|
||||||
dbw EFFECT_LIGHT_SCREEN, Function2c487
|
dbw EFFECT_LIGHT_SCREEN, .LightScreen
|
||||||
dbw EFFECT_MIST, Function2c48d
|
dbw EFFECT_MIST, .Mist
|
||||||
dbw EFFECT_FOCUS_ENERGY, Function2c493
|
dbw EFFECT_FOCUS_ENERGY, .FocusEnergy
|
||||||
dbw EFFECT_CONFUSE, Function2c499
|
dbw EFFECT_CONFUSE, .Confuse
|
||||||
dbw EFFECT_TRANSFORM, Function2c4a5
|
dbw EFFECT_TRANSFORM, .Transform
|
||||||
dbw EFFECT_REFLECT, Function2c4ab
|
dbw EFFECT_REFLECT, .Reflect
|
||||||
dbw EFFECT_SUBSTITUTE, Function2c4b1
|
dbw EFFECT_SUBSTITUTE, .Substitute
|
||||||
dbw EFFECT_LEECH_SEED, Function2c4b7
|
dbw EFFECT_LEECH_SEED, .LeechSeed
|
||||||
dbw EFFECT_DISABLE, Function2c4bd
|
dbw EFFECT_DISABLE, .Disable
|
||||||
dbw EFFECT_ENCORE, Function2c4c2
|
dbw EFFECT_ENCORE, .Encore
|
||||||
dbw EFFECT_SNORE, Function2c4c8
|
dbw EFFECT_SNORE, .Snore
|
||||||
dbw EFFECT_SLEEP_TALK, Function2c4c8
|
dbw EFFECT_SLEEP_TALK, .SleepTalk
|
||||||
dbw EFFECT_MEAN_LOOK, Function2c4d1
|
dbw EFFECT_MEAN_LOOK, .MeanLook
|
||||||
dbw EFFECT_NIGHTMARE, Function2c4d7
|
dbw EFFECT_NIGHTMARE, .Nightmare
|
||||||
dbw EFFECT_SPIKES, Function2c4e3
|
dbw EFFECT_SPIKES, .Spikes
|
||||||
dbw EFFECT_FORESIGHT, Function2c4e9
|
dbw EFFECT_FORESIGHT, .Foresight
|
||||||
dbw EFFECT_PERISH_SONG, Function2c4ef
|
dbw EFFECT_PERISH_SONG, .PerishSong
|
||||||
dbw EFFECT_SANDSTORM, Function2c4f5
|
dbw EFFECT_SANDSTORM, .Sandstorm
|
||||||
dbw EFFECT_ATTRACT, Function2c4fe
|
dbw EFFECT_ATTRACT, .Attract
|
||||||
dbw EFFECT_SAFEGUARD, Function2c50c
|
dbw EFFECT_SAFEGUARD, .Safeguard
|
||||||
dbw EFFECT_RAIN_DANCE, Function2c512
|
dbw EFFECT_RAIN_DANCE, .RainDance
|
||||||
dbw EFFECT_SUNNY_DAY, Function2c51b
|
dbw EFFECT_SUNNY_DAY, .SunnyDay
|
||||||
dbw EFFECT_TELEPORT, Function2c541
|
dbw EFFECT_TELEPORT, .Teleport
|
||||||
dbw EFFECT_MORNING_SUN, Function2c539
|
dbw EFFECT_MORNING_SUN, .MorningSun
|
||||||
dbw EFFECT_SYNTHESIS, Function2c539
|
dbw EFFECT_SYNTHESIS, .Synthesis
|
||||||
dbw EFFECT_MOONLIGHT, Function2c539
|
dbw EFFECT_MOONLIGHT, .Moonlight
|
||||||
dbw EFFECT_SWAGGER, Function2c52d
|
dbw EFFECT_SWAGGER, .Swagger
|
||||||
dbw EFFECT_FUTURE_SIGHT, Function2c533
|
dbw EFFECT_FUTURE_SIGHT, .FutureSight
|
||||||
db $ff
|
db -1
|
||||||
; 2c487
|
|
||||||
|
|
||||||
Function2c487: ; 2c487
|
.LightScreen: ; 2c487
|
||||||
ld a, [EnemyScreens] ; $c700
|
ld a, [EnemyScreens]
|
||||||
bit 3, a
|
bit SCREENS_LIGHT_SCREEN, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c48d: ; 2c48d
|
.Mist: ; 2c48d
|
||||||
ld a, [EnemySubStatus4] ; $c670
|
|
||||||
bit 1, a
|
|
||||||
ret
|
|
||||||
|
|
||||||
Function2c493: ; 2c493
|
|
||||||
ld a, [EnemySubStatus4] ; $c670
|
|
||||||
bit 2, a
|
|
||||||
ret
|
|
||||||
|
|
||||||
Function2c499: ; 2c499
|
|
||||||
ld a, [PlayerSubStatus3] ; $c66a
|
|
||||||
bit 7, a
|
|
||||||
ret nz
|
|
||||||
ld a, [PlayerScreens] ; $c6ff
|
|
||||||
bit 2, a
|
|
||||||
ret
|
|
||||||
|
|
||||||
Function2c4a5: ; 2c4a5
|
|
||||||
ld a, [EnemySubStatus5] ; $c671
|
|
||||||
bit 3, a
|
|
||||||
ret
|
|
||||||
|
|
||||||
Function2c4ab: ; 2c4ab
|
|
||||||
ld a, [EnemyScreens] ; $c700
|
|
||||||
bit 4, a
|
|
||||||
ret
|
|
||||||
; 2c4b1 (b:44b1)
|
|
||||||
|
|
||||||
Function2c4b1: ; 2c4b1
|
|
||||||
ld a, [EnemySubStatus4]
|
ld a, [EnemySubStatus4]
|
||||||
bit 4, a
|
bit SUBSTATUS_MIST, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4b7: ; 2c4b7
|
.FocusEnergy: ; 2c493
|
||||||
ld a, [PlayerSubStatus4] ; $c66b
|
ld a, [EnemySubStatus4]
|
||||||
bit 7, a
|
bit SUBSTATUS_FOCUS_ENERGY, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4bd: ; 2c4bd
|
.Confuse: ; 2c499
|
||||||
ld a, [PlayerDisableCount] ; $c675
|
ld a, [PlayerSubStatus3]
|
||||||
|
bit SUBSTATUS_CONFUSED, a
|
||||||
|
ret nz
|
||||||
|
ld a, [PlayerScreens]
|
||||||
|
bit SCREENS_SAFEGUARD, a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Transform: ; 2c4a5
|
||||||
|
ld a, [EnemySubStatus5]
|
||||||
|
bit SUBSTATUS_TRANSFORMED, a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Reflect: ; 2c4ab
|
||||||
|
ld a, [EnemyScreens]
|
||||||
|
bit SCREENS_REFLECT, a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Substitute: ; 2c4b1
|
||||||
|
ld a, [EnemySubStatus4]
|
||||||
|
bit SUBSTATUS_SUBSTITUTE, a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.LeechSeed: ; 2c4b7
|
||||||
|
ld a, [PlayerSubStatus4]
|
||||||
|
bit SUBSTATUS_LEECH_SEED, a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Disable: ; 2c4bd
|
||||||
|
ld a, [PlayerDisableCount]
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4c2: ; 2c4c2
|
.Encore: ; 2c4c2
|
||||||
ld a, [PlayerSubStatus5] ; $c66c
|
ld a, [PlayerSubStatus5]
|
||||||
bit 4, a
|
bit SUBSTATUS_ENCORED, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4c8: ; 2c4c8
|
.Snore:
|
||||||
ld a, [EnemyMonStatus] ; $d214
|
.SleepTalk: ; 2c4c8
|
||||||
and $7
|
ld a, [EnemyMonStatus]
|
||||||
jr z, Function2c541
|
and SLP
|
||||||
jr Function2c545
|
jr z, .Redundant
|
||||||
|
jr .NotRedundant
|
||||||
|
|
||||||
Function2c4d1: ; 2c4d1
|
.MeanLook: ; 2c4d1
|
||||||
ld a, [EnemySubStatus5] ; $c671
|
ld a, [EnemySubStatus5]
|
||||||
bit 7, a
|
bit SUBSTATUS_CANT_RUN, a
|
||||||
ret
|
ret
|
||||||
; 2c4d7 (b:44d7)
|
|
||||||
|
|
||||||
Function2c4d7: ; 2c4d7
|
.Nightmare: ; 2c4d7
|
||||||
ld a, [BattleMonStatus]
|
ld a, [BattleMonStatus]
|
||||||
and a
|
and a
|
||||||
jr z, Function2c541
|
jr z, .Redundant
|
||||||
ld a, [PlayerSubStatus1]
|
ld a, [PlayerSubStatus1]
|
||||||
bit 0, a
|
bit SUBSTATUS_NIGHTMARE, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4e3: ; 2c4e3
|
.Spikes: ; 2c4e3
|
||||||
ld a, [PlayerScreens] ; $c6ff
|
ld a, [PlayerScreens]
|
||||||
bit 0, a
|
bit SCREENS_SPIKES, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4e9: ; 2c4e9
|
.Foresight: ; 2c4e9
|
||||||
ld a, [PlayerSubStatus1] ; $c668
|
ld a, [PlayerSubStatus1]
|
||||||
bit 3, a
|
bit SUBSTATUS_IDENTIFIED, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4ef: ; 2c4ef
|
.PerishSong: ; 2c4ef
|
||||||
ld a, [PlayerSubStatus1] ; $c668
|
ld a, [PlayerSubStatus1]
|
||||||
bit 4, a
|
bit SUBSTATUS_PERISH, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c4f5: ; 2c4f5
|
.Sandstorm: ; 2c4f5
|
||||||
ld a, [Weather] ; $c70a
|
ld a, [Weather]
|
||||||
cp $3
|
cp WEATHER_SANDSTORM
|
||||||
jr z, Function2c541
|
jr z, .Redundant
|
||||||
jr Function2c545
|
jr .NotRedundant
|
||||||
|
|
||||||
Function2c4fe: ; 2c4fe
|
.Attract: ; 2c4fe
|
||||||
callba Function377f5
|
callba Function377f5
|
||||||
jr c, Function2c541
|
jr c, .Redundant
|
||||||
ld a, [PlayerSubStatus1] ; $c668
|
ld a, [PlayerSubStatus1]
|
||||||
bit 7, a
|
bit SUBSTATUS_IN_LOVE, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c50c: ; 2c50c
|
.Safeguard: ; 2c50c
|
||||||
ld a, [EnemyScreens] ; $c700
|
ld a, [EnemyScreens]
|
||||||
bit 2, a
|
bit SCREENS_SAFEGUARD, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c512: ; 2c512
|
.RainDance: ; 2c512
|
||||||
ld a, [Weather] ; $c70a
|
ld a, [Weather]
|
||||||
cp $1
|
cp WEATHER_RAIN
|
||||||
jr z, Function2c541
|
jr z, .Redundant
|
||||||
jr Function2c545
|
jr .NotRedundant
|
||||||
|
|
||||||
Function2c51b: ; 2c51b
|
.SunnyDay: ; 2c51b
|
||||||
ld a, [Weather] ; $c70a
|
ld a, [Weather]
|
||||||
cp $2
|
cp WEATHER_SUN
|
||||||
jr z, Function2c541
|
jr z, .Redundant
|
||||||
jr Function2c545
|
jr .NotRedundant
|
||||||
|
|
||||||
Function2c524: ; 2c524
|
.DreamEater: ; 2c524
|
||||||
ld a, [BattleMonStatus] ; $c63a
|
ld a, [BattleMonStatus]
|
||||||
and $7
|
and SLP
|
||||||
jr z, Function2c541
|
jr z, .Redundant
|
||||||
jr Function2c545
|
jr .NotRedundant
|
||||||
|
|
||||||
Function2c52d: ; 2c52d
|
.Swagger: ; 2c52d
|
||||||
ld a, [PlayerSubStatus3] ; $c66a
|
ld a, [PlayerSubStatus3]
|
||||||
bit 7, a
|
bit SUBSTATUS_CONFUSED, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c533: ; 2c533
|
.FutureSight: ; 2c533
|
||||||
ld a, [EnemyScreens] ; $c700
|
ld a, [EnemyScreens]
|
||||||
bit 5, a
|
bit 5, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c539: ; 2c539
|
.Heal:
|
||||||
|
.MorningSun:
|
||||||
|
.Synthesis:
|
||||||
|
.Moonlight: ; 2c539
|
||||||
callba AICheckEnemyMaxHP
|
callba AICheckEnemyMaxHP
|
||||||
jr nc, Function2c545
|
jr nc, .NotRedundant
|
||||||
|
|
||||||
Function2c541: ; 2c541
|
.Teleport:
|
||||||
ld a, $1
|
.Redundant: ; 2c541
|
||||||
|
ld a, 1
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function2c545: ; 2c545 (b:4545)
|
.NotRedundant: ; 2c545
|
||||||
xor a
|
xor a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
Function2c547: ; 2c547
|
Function2c547: ; 2c547
|
||||||
ld hl, UnknownText_0x2c5ef
|
ld hl, UnknownText_0x2c5ef
|
||||||
call PrintText
|
call PrintText
|
||||||
@@ -47151,7 +47153,7 @@ AIChooseMove: ; 440ce
|
|||||||
jr z, .asm_4415e
|
jr z, .asm_4415e
|
||||||
|
|
||||||
push bc
|
push bc
|
||||||
ld d, $e ; BANK(TrainerAI)
|
ld d, BANK(TrainerClassAttributes)
|
||||||
predef FlagPredef
|
predef FlagPredef
|
||||||
ld d, c
|
ld d, c
|
||||||
pop bc
|
pop bc
|
||||||
@@ -47182,6 +47184,7 @@ AIChooseMove: ; 440ce
|
|||||||
ld de, EnemyMonMoves
|
ld de, EnemyMonMoves
|
||||||
ld c, EnemyMonMovesEnd - EnemyMonMoves
|
ld c, EnemyMonMovesEnd - EnemyMonMoves
|
||||||
.asm_44166
|
.asm_44166
|
||||||
|
; If the enemy has no moves, this will infinite.
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
inc de
|
inc de
|
||||||
and a
|
and a
|
||||||
@@ -47247,22 +47250,22 @@ AIChooseMove: ; 440ce
|
|||||||
|
|
||||||
|
|
||||||
AIScoringPointers: ; 441af
|
AIScoringPointers: ; 441af
|
||||||
dw AIScoring_RedStatus
|
dw AI_Basic
|
||||||
dw AIScoring_RedStatMods
|
dw AI_Setup
|
||||||
dw AIScoring_RedSuperEffective
|
dw AI_Types
|
||||||
dw AIScoring_Offensive
|
dw AI_Offensive
|
||||||
dw AIScoring_Smart
|
dw AI_Smart
|
||||||
dw AIScoring_Opportunist
|
dw AI_Opportunist
|
||||||
dw AIScoring_Aggressive
|
dw AI_Aggressive
|
||||||
dw AIScoring_Cautious
|
dw AI_Cautious
|
||||||
dw AIScoring_StatusImmunity
|
dw AI_Status
|
||||||
dw AIScoring_Risky
|
dw AI_Risky
|
||||||
dw AIScoring_None
|
dw AI_None
|
||||||
dw AIScoring_None
|
dw AI_None
|
||||||
dw AIScoring_None
|
dw AI_None
|
||||||
dw AIScoring_None
|
dw AI_None
|
||||||
dw AIScoring_None
|
dw AI_None
|
||||||
dw AIScoring_None
|
dw AI_None
|
||||||
; 441cf
|
; 441cf
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
|
NO_AI EQU 0
|
||||||
AI_STATUS_RED EQU 1 << 0
|
AI_BASIC EQU 1 << 0
|
||||||
AI_STAT_MODS_RED EQU 1 << 1
|
AI_SETUP EQU 1 << 1
|
||||||
AI_TYPES_RED EQU 1 << 2
|
AI_TYPES EQU 1 << 2
|
||||||
AI_OFFENSIVE EQU 1 << 3
|
AI_OFFENSIVE EQU 1 << 3
|
||||||
AI_SMART EQU 1 << 4
|
AI_SMART EQU 1 << 4
|
||||||
AI_OPPORTUNIST EQU 1 << 5
|
AI_OPPORTUNIST EQU 1 << 5
|
||||||
AI_AGGRESSIVE EQU 1 << 6
|
AI_AGGRESSIVE EQU 1 << 6
|
||||||
AI_CAUTIOUS EQU 1 << 7
|
AI_CAUTIOUS EQU 1 << 7
|
||||||
AI_STATUS_IMMUNE EQU 1 << 8
|
AI_STATUS EQU 1 << 8
|
||||||
AI_RISKY EQU 1 << 9
|
AI_RISKY EQU 1 << 9
|
||||||
AI_10 EQU 1 << 10
|
AI_10 EQU 1 << 10
|
||||||
AI_11 EQU 1 << 11
|
AI_11 EQU 1 << 11
|
||||||
@@ -22,404 +22,404 @@ TrainerClassAttributes: ; 3959c
|
|||||||
; Falkner
|
; Falkner
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Whitney
|
; Whitney
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Bugsy
|
; Bugsy
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Morty
|
; Morty
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Pryce
|
; Pryce
|
||||||
db HYPER_POTION, NONE ; items
|
db HYPER_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Jasmine
|
; Jasmine
|
||||||
db HYPER_POTION, NONE ; items
|
db HYPER_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Chuck
|
; Chuck
|
||||||
db FULL_HEAL, NONE ; items
|
db FULL_HEAL, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Clair
|
; Clair
|
||||||
db FULL_HEAL, HYPER_POTION ; items
|
db FULL_HEAL, HYPER_POTION ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Rival1
|
; Rival1
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 15 ; base reward
|
db 15 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Pokemon Prof
|
; Pokemon Prof
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_AGGRESSIVE | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Will
|
; Will
|
||||||
db MAX_POTION, NONE ; items
|
db MAX_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Cal
|
; Cal
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Bruno
|
; Bruno
|
||||||
db MAX_POTION, NONE ; items
|
db MAX_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Karen
|
; Karen
|
||||||
db FULL_HEAL, MAX_POTION ; items
|
db FULL_HEAL, MAX_POTION ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Koga
|
; Koga
|
||||||
db FULL_HEAL, FULL_RESTORE ; items
|
db FULL_HEAL, FULL_RESTORE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Champion
|
; Champion
|
||||||
db FULL_HEAL, FULL_RESTORE ; items
|
db FULL_HEAL, FULL_RESTORE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Brock
|
; Brock
|
||||||
db HYPER_POTION, NONE ; items
|
db HYPER_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Misty
|
; Misty
|
||||||
db FULL_HEAL, NONE ; items
|
db FULL_HEAL, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Lt Surge
|
; Lt Surge
|
||||||
db HYPER_POTION, NONE ; items
|
db HYPER_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Scientist
|
; Scientist
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Erika
|
; Erika
|
||||||
db HYPER_POTION, NONE ; items
|
db HYPER_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Youngster
|
; Youngster
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 4 ; base reward
|
db 4 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Schoolboy
|
; Schoolboy
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 8 ; base reward
|
db 8 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
|
||||||
db $41, $00
|
dw CONTEXT_USE + SWITCH_OFTEN
|
||||||
|
|
||||||
; Bird Keeper
|
; Bird Keeper
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 6 ; base reward
|
db 6 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Lass
|
; Lass
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 6 ; base reward
|
db 6 ; base reward
|
||||||
dw AI_STATUS_RED | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
|
||||||
db $41, $00
|
dw CONTEXT_USE + SWITCH_OFTEN
|
||||||
|
|
||||||
; Janine
|
; Janine
|
||||||
db DIRE_HIT, NONE ; items
|
db DIRE_HIT, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Cooltrainerm
|
; Cooltrainerm
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 12 ; base reward
|
db 12 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Cooltrainerf
|
; Cooltrainerf
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 12 ; base reward
|
db 12 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Beauty
|
; Beauty
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 22 ; base reward
|
db 22 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Pokemaniac
|
; Pokemaniac
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 15 ; base reward
|
db 15 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_OFFENSIVE | AI_AGGRESSIVE | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Gruntm
|
; Gruntm
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 10 ; base reward
|
db 10 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Gentleman
|
; Gentleman
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 18 ; base reward
|
db 18 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_AGGRESSIVE | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Skier
|
; Skier
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 18 ; base reward
|
db 18 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Teacher
|
; Teacher
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 18 ; base reward
|
db 18 ; base reward
|
||||||
dw AI_STATUS_RED | AI_OPPORTUNIST | AI_AGGRESSIVE | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Sabrina
|
; Sabrina
|
||||||
db HYPER_POTION, NONE ; items
|
db HYPER_POTION, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Bug Catcher
|
; Bug Catcher
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 4 ; base reward
|
db 4 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Fisher
|
; Fisher
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 10 ; base reward
|
db 10 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
|
||||||
db $41, $00
|
dw CONTEXT_USE + SWITCH_OFTEN
|
||||||
|
|
||||||
; Swimmerm
|
; Swimmerm
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 2 ; base reward
|
db 2 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_OFFENSIVE | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Swimmerf
|
; Swimmerf
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 5 ; base reward
|
db 5 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Sailor
|
; Sailor
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 10 ; base reward
|
db 10 ; base reward
|
||||||
dw AI_STATUS_RED | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Super Nerd
|
; Super Nerd
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 8 ; base reward
|
db 8 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_SMART | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Rival2
|
; Rival2
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Guitarist
|
; Guitarist
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 8 ; base reward
|
db 8 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Hiker
|
; Hiker
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 8 ; base reward
|
db 8 ; base reward
|
||||||
dw AI_STATUS_RED | AI_OFFENSIVE | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_OFFENSIVE + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Biker
|
; Biker
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 8 ; base reward
|
db 8 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Blaine
|
; Blaine
|
||||||
db MAX_POTION, FULL_HEAL ; items
|
db MAX_POTION, FULL_HEAL ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Burglar
|
; Burglar
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 22 ; base reward
|
db 22 ; base reward
|
||||||
dw AI_STATUS_RED | AI_OFFENSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Firebreather
|
; Firebreather
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 12 ; base reward
|
db 12 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Juggler
|
; Juggler
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 10 ; base reward
|
db 10 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_SMART | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Blackbelt T
|
; Blackbelt T
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 6 ; base reward
|
db 6 ; base reward
|
||||||
dw AI_STATUS_RED | AI_OFFENSIVE | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Executivem
|
; Executivem
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 18 ; base reward
|
db 18 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_SMART | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Psychic T
|
; Psychic T
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 8 ; base reward
|
db 8 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Picnicker
|
; Picnicker
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 5 ; base reward
|
db 5 ; base reward
|
||||||
dw AI_STATUS_RED | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Camper
|
; Camper
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 5 ; base reward
|
db 5 ; base reward
|
||||||
dw AI_STATUS_RED | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Executivef
|
; Executivef
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 18 ; base reward
|
db 18 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_SMART | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Sage
|
; Sage
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 8 ; base reward
|
db 8 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Medium
|
; Medium
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 10 ; base reward
|
db 10 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_TYPES_RED | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Boarder
|
; Boarder
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 18 ; base reward
|
db 18 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Pokefanm
|
; Pokefanm
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 20 ; base reward
|
db 20 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_SMART | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Kimono Girl
|
; Kimono Girl
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 18 ; base reward
|
db 18 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Twins
|
; Twins
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 5 ; base reward
|
db 5 ; base reward
|
||||||
dw NONE
|
dw NO_AI
|
||||||
db $41, $00
|
dw CONTEXT_USE + SWITCH_OFTEN
|
||||||
|
|
||||||
; Pokefanf
|
; Pokefanf
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 20 ; base reward
|
db 20 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_SMART | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Red
|
; Red
|
||||||
db FULL_RESTORE, FULL_RESTORE ; items
|
db FULL_RESTORE, FULL_RESTORE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Blue
|
; Blue
|
||||||
db FULL_RESTORE, FULL_RESTORE ; items
|
db FULL_RESTORE, FULL_RESTORE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Officer
|
; Officer
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 10 ; base reward
|
db 10 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_STATUS_IMMUNE
|
dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Gruntf
|
; Gruntf
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 10 ; base reward
|
db 10 ; base reward
|
||||||
dw AI_STATUS_RED | AI_TYPES_RED | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; Mysticalman
|
; Mysticalman
|
||||||
db NONE, NONE ; items
|
db NONE, NONE ; items
|
||||||
db 25 ; base reward
|
db 25 ; base reward
|
||||||
dw AI_STATUS_RED | AI_STAT_MODS_RED | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS_IMMUNE | AI_RISKY
|
dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
|
||||||
db $44, $00
|
dw CONTEXT_USE + SWITCH_SOMETIMES
|
||||||
|
|
||||||
; 39771
|
; 39771
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user