Merge pull request #320 from PikalaxALT/master

More labels, including fns responsible for partymon generation
This commit is contained in:
yenatch 2015-10-13 19:23:12 -04:00
commit d5f94e9ee5
49 changed files with 3435 additions and 3173 deletions

View File

@ -297,7 +297,7 @@ AI_Items: ; 39196
.FullHeal: ; 381be
call .Status
jp c, .DontUse
call Function383a3
call EnemyUsedFullHeal
jp .Use
; 381ca
@ -308,7 +308,7 @@ AI_Items: ; 39196
ld a, [bc]
bit CONTEXT_USE_F, a
jr nz, .asm_381e7
jr nz, .StatusCheckContext
ld a, [bc]
bit ALWAYS_USE_F, a
jp nz, .Use
@ -317,17 +317,17 @@ AI_Items: ; 39196
jp c, .Use
jp .DontUse
.asm_381e7
.StatusCheckContext
ld a, [EnemySubStatus5]
bit SUBSTATUS_TOXIC, a
jr z, .asm_381fd
jr z, .FailToxicCheck
ld a, [EnemyToxicCount]
cp 4
jr c, .asm_381fd
jr c, .FailToxicCheck
call Random
cp $80
jp c, .Use
.asm_381fd
.FailToxicCheck
ld a, [EnemyMonStatus]
and 1 << FRZ | SLP
jp z, .DontUse
@ -336,58 +336,58 @@ AI_Items: ; 39196
.FullRestore: ; 38208
call .HealItem
jp nc, .asm_3821a
jp nc, .UseFullRestore
ld a, [bc]
bit CONTEXT_USE_F, a
jp z, .DontUse
call .Status
jp c, .DontUse
.asm_3821a
call Function383b5
.UseFullRestore
call EnemyUsedFullRestore
jp .Use
; 38220
.MaxPotion: ; 38220
call .HealItem
jp c, .DontUse
call Function383ae
call EnemyUsedMaxPotion
jp .Use
.HealItem: ; 3822c (e:422c)
ld a, [bc]
bit CONTEXT_USE_F, a
jr nz, .asm_38267
jr nz, .CheckHalfOrQuarterHP
callab AICheckEnemyHalfHP
jp c, .DontUse
ld a, [bc]
bit UNKNOWN_USE_F, a
jp nz, .asm_38254
jp nz, .CheckQuarterHP
callab AICheckEnemyQuarterHP
jp nc, .asm_38281
jp nc, .UseHealItem
call Random
cp $80
jp c, .asm_38281
jp c, .UseHealItem
jp .DontUse
.asm_38254: ; 38254 (e:4254)
.CheckQuarterHP: ; 38254 (e:4254)
callab AICheckEnemyQuarterHP
jp c, .DontUse
call Random
cp 50
cp $32
jp c, .DontUse
jr .asm_38281
jr .UseHealItem
.asm_38267: ; 38267 (e:4267)
.CheckHalfOrQuarterHP: ; 38267 (e:4267)
callab AICheckEnemyHalfHP
jp c, .DontUse
callab AICheckEnemyQuarterHP
jp nc, .asm_38281
jp nc, .UseHealItem
call Random
cp 50
cp $32
jp nc, .DontUse
.asm_38281: ; 38281 (e:4281)
.UseHealItem: ; 38281 (e:4281)
jp .Use
; 38284
@ -395,7 +395,7 @@ AI_Items: ; 39196
call .HealItem
jp c, .DontUse
ld b, 200
call Function383f4
call EnemyUsedHyperPotion
jp .Use
; 38292 (e:4292)
@ -403,7 +403,7 @@ AI_Items: ; 39196
call .HealItem
jp c, .DontUse
ld b, 50
call Function383ee
call EnemyUsedSuperPotion
jp .Use
; 382a0
@ -411,11 +411,11 @@ AI_Items: ; 39196
call .HealItem
jp c, .DontUse
ld b, 20
call Function383e8
call EnemyUsedPotion
jp .Use
; 382ae
.asm_382ae: ; 382ae
.asm_382ae: ; This appears to be unused
callab AICheckEnemyMaxHP
jr c, .asm_382e4
push bc
@ -454,7 +454,7 @@ AI_Items: ; 39196
bit UNKNOWN_USE_F, a
jp z, .DontUse
call Random
cp 100
cp $64
jp c, .Use
jp .DontUse
; 382f9
@ -462,56 +462,56 @@ AI_Items: ; 39196
.XAccuracy: ; 382f9
call .XItem
jp c, .DontUse
call Function384f7
call EnemyUsedXAccuracy
jp .Use
; 38305
.GuardSpec: ; 38305
call .XItem
jp c, .DontUse
call Function38504
call EnemyUsedGuardSpec
jp .Use
; 38311
.DireHit: ; 38311
call .XItem
jp c, .DontUse
call Function38511
call EnemyUsedDireHit
jp .Use
; 3831d (e:431d)
.XAttack: ; 3831d
call .XItem
jp c, .DontUse
call Function38541
call EnemyUsedXAttack
jp .Use
; 38329
.XDefend: ; 38329
call .XItem
jp c, .DontUse
call Function38547
call EnemyUsedXDefend
jp .Use
; 38335
.XSpeed: ; 38335
call .XItem
jp c, .DontUse
call Function3854d
call EnemyUsedXSpeed
jp .Use
; 38341
.XSpecial: ; 38341
call .XItem
jp c, .DontUse
call Function38553
call EnemyUsedXSpecial
jp .Use
; 3834d
.XItem: ; 3834d (e:434d)
ld a, [EnemyTurnsTaken]
and a
jr nz, .asm_38372
jr nz, .notfirstturnout
ld a, [bc]
bit ALWAYS_USE_F, a
jp nz, .Use
@ -525,12 +525,12 @@ AI_Items: ; 39196
cp $80
jp c, .DontUse
jp .Use
.asm_38372
.notfirstturnout
ld a, [bc]
bit ALWAYS_USE_F, a
jp z, .DontUse
call Random
cp 50
cp $32
jp nc, .DontUse
jp .Use
@ -563,18 +563,18 @@ AIUsedItemSound: ; 3839a
; 383a3
Function383a3: ; 383a3 (e:43a3)
EnemyUsedFullHeal: ; 383a3 (e:43a3)
call AIUsedItemSound
call AI_HealStatus
ld a, FULL_HEAL
jp PrintText_UsedItemOn_AND_AIUpdateHUD
Function383ae: ; 383ae (e:43ae)
EnemyUsedMaxPotion: ; 383ae (e:43ae)
ld a, MAX_POTION
ld [wd1f1], a
jr asm_383c6
jr FullRestoreContinue
Function383b5: ; 383b5 (e:43b5)
EnemyUsedFullRestore: ; 383b5 (e:43b5)
call AI_HealStatus
ld a, FULL_RESTORE
ld [wd1f1], a
@ -583,7 +583,7 @@ Function383b5: ; 383b5 (e:43b5)
xor a
ld [EnemyConfuseCount], a
asm_383c6: ; 383c6
FullRestoreContinue: ; 383c6
ld de, wd1ec
ld hl, EnemyMonHP + 1
ld a, [hld]
@ -602,24 +602,24 @@ asm_383c6: ; 383c6
ld [de], a
ld [Buffer2], a
ld [EnemyMonHP], a
jr Function38436
jr EnemyPotionFinish
; 383e8 (e:43e8)
Function383e8: ; 383e8
EnemyUsedPotion: ; 383e8
ld a, POTION
ld b, 20
jr Function383f8
jr EnemyPotionContinue
Function383ee: ; 383ee
EnemyUsedSuperPotion: ; 383ee
ld a, SUPER_POTION
ld b, 50
jr Function383f8
jr EnemyPotionContinue
Function383f4: ; 383f4 (e:43f4)
EnemyUsedHyperPotion: ; 383f4 (e:43f4)
ld a, HYPER_POTION
ld b, 200
Function383f8: ; 383f8
EnemyPotionContinue: ; 383f8
ld [wd1f1], a
ld hl, EnemyMonHP + 1
ld a, [hl]
@ -630,11 +630,11 @@ Function383f8: ; 383f8
ld a, [hl]
ld [wd1ec + 1], a
ld [wd1ee + 1], a
jr nc, .asm_38415
jr nc, .ok
inc a
ld [hl], a
ld [wd1ee + 1], a
.asm_38415
.ok
inc hl
ld a, [hld]
ld b, a
@ -648,7 +648,7 @@ Function383f8: ; 383f8
ld a, [de]
ld [Buffer2], a
sbc b
jr nc, .asm_38436
jr nc, EnemyPotionFinish
inc de
ld a, [de]
dec de
@ -657,9 +657,8 @@ Function383f8: ; 383f8
ld a, [de]
ld [hl], a
ld [wd1ef], a
.asm_38436
Function38436: ; 38436
EnemyPotionFinish: ; 38436
call PrintText_UsedItemOn
hlcoord 2, 2
xor a
@ -670,24 +669,26 @@ Function38436: ; 38436
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 c, a
ld hl, OTPartyMon1HP
ld d, 0
.asm_38454
.SwitchLoop
ld a, [hli]
ld b, a
ld a, [hld]
or b
jr z, .asm_3845b
jr z, .fainted
inc d
.asm_3845b
.fainted
push bc
ld bc, PartyMon2 - PartyMon1
add hl, bc
pop bc
dec c
jr nz, .asm_38454
jr nz, .SwitchLoop
ld a, d
cp 2
@ -716,10 +717,10 @@ AI_Switch: ; 3846c
ld bc, $0004
call CopyBytes
pop af
jr c, .asm_384a3
jr c, .skiptext
ld hl, TextJump_EnemyWithdrew
call PrintText
.asm_384a3
.skiptext
ld a, $1
ld [wd264], a
callab NewEnemyMonStatus
@ -742,10 +743,10 @@ TextJump_EnemyWithdrew: ; 384d0
db "@"
; 384d5
Function384d5: ; 384d5
Function384d5: ; This appears to be unused
call AIUsedItemSound
call AI_HealStatus
ld a, FULL_HEAL_RED
ld a, X_SPEED
jp PrintText_UsedItemOn_AND_AIUpdateHUD
; 384e0
@ -762,7 +763,7 @@ AI_HealStatus: ; 384e0
ret
; 384f7
Function384f7: ; 384f7
EnemyUsedXAccuracy: ; 384f7
call AIUsedItemSound
ld hl, EnemySubStatus4
set SUBSTATUS_X_ACCURACY, [hl]
@ -770,7 +771,7 @@ Function384f7: ; 384f7
jp PrintText_UsedItemOn_AND_AIUpdateHUD
; 38504
Function38504: ; 38504
EnemyUsedGuardSpec: ; 38504
call AIUsedItemSound
ld hl, EnemySubStatus4
set SUBSTATUS_MIST, [hl]
@ -778,7 +779,7 @@ Function38504: ; 38504
jp PrintText_UsedItemOn_AND_AIUpdateHUD
; 38511
Function38511: ; 38511
EnemyUsedDireHit: ; 38511
call AIUsedItemSound
ld hl, EnemySubStatus4
set SUBSTATUS_FOCUS_ENERGY, [hl]
@ -786,18 +787,18 @@ Function38511: ; 38511
jp PrintText_UsedItemOn_AND_AIUpdateHUD
; 3851e
Function3851e: ; 3851e
ld [hMultiplier], a
Function3851e: ; This appears to be unused
ld [hDivisor], a
ld hl, EnemyMonMaxHP
ld a, [hli]
ld [hProduct], a
ld [hDividend], a
ld a, [hl]
ld [hMultiplicand], a
ld b, $2
ld [hDividend + 1], a
ld b, 2
call Divide
ld a, [$ffb6]
ld a, [hQuotient + 2]
ld c, a
ld a, [$ffb5]
ld a, [hQuotient + 1]
ld b, a
ld hl, EnemyMonHP + 1
ld a, [hld]
@ -812,25 +813,25 @@ Function3851e: ; 3851e
ret
; 38541
Function38541: ; 38541
EnemyUsedXAttack: ; 38541
ld b, ATTACK
ld a, X_ATTACK
jr Function38557
jr EnemyUsedXItem
; 38547
Function38547: ; 38547
EnemyUsedXDefend: ; 38547
ld b, DEFENSE
ld a, X_DEFEND
jr Function38557
jr EnemyUsedXItem
; 3854d
Function3854d: ; 3854d
EnemyUsedXSpeed: ; 3854d
ld b, SPEED
ld a, X_SPEED
jr Function38557
jr EnemyUsedXItem
; 38553
Function38553: ; 38553
EnemyUsedXSpecial: ; 38553
ld b, SP_ATTACK
ld a, X_SPECIAL
@ -838,12 +839,12 @@ Function38553: ; 38553
; Parameter
; a = ITEM_CONSTANT
; b = BATTLE_CONSTANT (ATTACK, DEFENSE, SPEED, SP_ATTACK, SP_DEFENSE, ACCURACY, EVASION)
Function38557:
EnemyUsedXItem:
ld [wd1f1], a
push bc
call PrintText_UsedItemOn
pop bc
callba Function361ef
callba CheckIfStatCanBeRaised
jp AIUpdateHUD
; 38568

View File

@ -240,14 +240,14 @@ Functioncc220: ; cc220
ld a, $80
ld [hBGMapAddress], a
ld a, $9a
ld [$ffd7], a
ld [hBGMapAddress + 1], a
call Function3200
ld a, $60
ld [hWY], a
xor a
ld [hBGMapAddress], a
ld a, $98
ld [$ffd7], a
ld [hBGMapAddress + 1], a
call BattleAnimDelayFrame
ret
; cc23d

View File

@ -1696,9 +1696,9 @@ Functioncd677: ; cd677 (33:5677)
ld a, $42
ld [hLCDStatCustom], a ; $ff00+$c6
ld a, $58
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld a, $5e
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ret
Functioncd687: ; cd687 (33:5687)
@ -1712,7 +1712,7 @@ Functioncd687: ; cd687 (33:5687)
jr nc, .asm_cd69b
call Functionce72c
xor a
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ret
.asm_cd69b
dec a
@ -1730,7 +1730,7 @@ Functioncd687: ; cd687 (33:5687)
add [hl]
sub $10
ret c
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld hl, $9
add hl, bc
ld a, [hl]
@ -1754,8 +1754,8 @@ Functioncd6c6: ; cd6c6 (33:56c6)
jr c, asm_cd6da
xor a
ld [hLCDStatCustom], a ; $ff00+$c6
ld [$ffc7], a
ld [$ffc8], a
ld [hLCDStatCustom + 1], a
ld [hLCDStatCustom + 2], a
Functioncd6d6: ; cd6d6 (33:56d6)
call Functioncc9bd
@ -1767,7 +1767,7 @@ endr
ld [hl], a
sub $10
ret c
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ret
Functioncd6e3: ; cd6e3 (33:56e3)

View File

@ -932,7 +932,7 @@ Functionc8565: ; c8565 (32:4565)
ld hl, w5_d422
ld bc, $0
.asm_c8580
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
cp e
jr nc, .asm_c858b
push hl
@ -969,9 +969,9 @@ Functionc85a2: ; c85a2 (32:45a2)
ld a, $42
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld a, $5e
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld de, $202
call Functionc8f2e
ret
@ -1044,9 +1044,9 @@ Functionc8610: ; c8610 (32:4610)
ld a, $43
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld a, $5f
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld de, $605
call Functionc8f2e
ld hl, $3
@ -1140,9 +1140,9 @@ Functionc8698: ; c8698 (32:4698)
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $2
add hl, bc
ld [hl], $0
@ -1196,9 +1196,9 @@ Functionc86ea: ; c86ea (32:46ea)
inc a
ld d, a
ld h, $d2
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld l, a
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
sub l
srl a
push af
@ -1238,7 +1238,7 @@ Functionc8712: ; c8712 (32:4712)
ld d, $2
call Functionc8f2e
ld h, $d2
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
ld l, a
ld [hl], $0
dec l
@ -1246,7 +1246,7 @@ Functionc8712: ; c8712 (32:4712)
ret
Functionc8732: ; c8732 (32:4732)
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
ld l, a
ld h, $d2
ld e, l
@ -1256,11 +1256,11 @@ Functionc8732: ; c8732 (32:4732)
ld a, [de]
dec de
ld [hld], a
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
cp l
jr nz, .asm_c873a
ld [hl], $90
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
ld l, a
ld a, [hl]
cp $1
@ -1296,9 +1296,9 @@ Functionc876a: ; c876a (32:476a)
call Functionc8eca
ld a, $42
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $2
add hl, bc
ld [hl], $1
@ -1347,9 +1347,9 @@ Functionc87b2: ; c87b2 (32:47b2)
call Functionc8eca
ld a, $42
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $2
add hl, bc
ld [hl], $2
@ -1371,9 +1371,9 @@ Functionc87cf: ; c87cf (32:47cf)
call Functionc80e5
Functionc87de: ; c87de (32:47de)
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld l, a
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
sub l
dec a
ld hl, $2
@ -1416,9 +1416,9 @@ Functionc8810: ; c8810 (32:4810)
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $3
add hl, bc
ld [hl], $0
@ -1451,9 +1451,9 @@ Functionc8842: ; c8842 (32:4842)
call Functionc8eca
ld a, $43
call Functionc8ef4
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $3
add hl, bc
ld [hl], $0
@ -1524,16 +1524,16 @@ Functionc88a5: ; c88a5 (32:48a5)
pop af
jp Functionc900b
.asm_c88b7
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld d, a
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
sub d
ld d, a
ld h, LYOverridesBackup / $100
ld a, [hSCY] ; $ff00+$d0
or a
jr nz, .asm_c88d0
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
or a
jr z, .asm_c88d6
dec a
@ -1541,14 +1541,14 @@ Functionc88a5: ; c88a5 (32:48a5)
ld [hl], $0
jr .asm_c88d6
.asm_c88d0
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
dec a
ld l, a
ld [hl], $0
.asm_c88d6
ld a, [hSCY] ; $ff00+$d0
ld l, a
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
sub l
jr nc, .asm_c88e0
xor a
@ -1581,9 +1581,9 @@ Functionc88f6: ; c88f6 (32:48f6)
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $3
add hl, bc
ld [hl], $0
@ -1628,9 +1628,9 @@ Functionc8933: ; c8933 (32:4933)
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $3
add hl, bc
ld [hl], $0
@ -1668,9 +1668,9 @@ Functionc896d: ; c896d (32:496d)
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
xor a
ld hl, $2
add hl, bc
@ -1767,9 +1767,9 @@ Functionc89f7: ; c89f7 (32:49f7)
call Functionc8eca
ld a, $42
call Functionc8ef4
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $2
add hl, bc
ld [hl], $1
@ -1824,14 +1824,14 @@ Functionc8a49: ; c8a49 (32:4a49)
call Functionc8ecb
ld a, $47
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld a, [$ffc7]
ld [hLCDStatCustom + 2], a
ld a, [hLCDStatCustom + 1]
ld l, a
ld h, $d2
.asm_c8a60
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
cp l
jr z, .asm_c8a69
xor a
@ -1854,9 +1854,9 @@ Functionc8a70: ; c8a70 (32:4a70)
ld hl, $3
add hl, bc
ld [hl], $0
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
inc a
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
call Functionc80e5
ret
@ -1864,7 +1864,7 @@ Functionc8a88: ; c8a88 (32:4a88)
call Functionc8ab0
jr nc, .asm_c8a96
call Functionc8a9a
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
dec a
ld l, a
ld [hl], e
@ -1875,9 +1875,9 @@ Functionc8a88: ; c8a88 (32:4a88)
Functionc8a9a: ; c8a9a (32:4a9a)
ld e, a
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld l, a
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
sub l
srl a
ld h, $d2
@ -1971,9 +1971,9 @@ Functionc8b0e: ; c8b0e (32:4b0e)
ld a, $47
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld a, $60
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ret
Functionc8b22: ; c8b22 (32:4b22)
@ -2221,9 +2221,9 @@ Functionc8c68: ; c8c68 (32:4c68)
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $2
add hl, bc
ld [hl], $1
@ -2268,9 +2268,9 @@ Functionc8cab: ; c8cab (32:4cab)
ld a, $43
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld a, $37
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $3
add hl, bc
ld [hl], $0
@ -2431,9 +2431,9 @@ Functionc8d8b: ; c8d8b (32:4d8b)
call Functionc8ecb
ld a, $47
call Functionc8ede
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
inc a
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ld hl, $3
add hl, bc
ld a, [hl]
@ -2669,9 +2669,9 @@ Functionc8ede: ; c8ede (32:4ede)
ld de, $2f5e
.asm_c8eed
ld a, d
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld a, e
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ret
Functionc8ef4: ; c8ef4 (32:4ef4)
@ -2684,15 +2684,15 @@ Functionc8ef4: ; c8ef4 (32:4ef4)
ld de, $2d5e
.asm_c8f03
ld a, d
ld [$ffc7], a
ld [hLCDStatCustom + 1], a
ld a, e
ld [$ffc8], a
ld [hLCDStatCustom + 2], a
ret
Functionc8f0a: ; c8f0a (32:4f0a)
xor a
ld [$ffc7], a
ld [$ffc8], a
ld [hLCDStatCustom + 1], a
ld [hLCDStatCustom + 2], a
call Functionc8eca
xor a
ld [hLCDStatCustom], a ; $ff00+$c6
@ -2706,8 +2706,8 @@ Functionc8f19: ; c8f19 (32:4f19)
ld [rBGP], a ; $ff00+$47
ld [wcfc7], a
ld [wcfc9], a
ld [$ffc7], a
ld [$ffc8], a
ld [hLCDStatCustom + 1], a
ld [hLCDStatCustom + 2], a
call Functionc8eca
ret
@ -2723,10 +2723,10 @@ Functionc8f2e: ; c8f2e (32:4f2e)
ld [BattleAnimTemps + 3], a
ld bc, LYOverridesBackup
.asm_c8f43
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
cp c
jr nc, .asm_c8f58
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
cp c
jr c, .asm_c8f58
ld a, [BattleAnimTemps + 2]
@ -2800,14 +2800,14 @@ Functionc8f9a: ; c8f9a (32:4f9a)
call Functionc905d
ld e, a
pop hl
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
cp c
jr c, .asm_c8fcf
ld a, e
ld [bc], a
inc bc
.asm_c8fcf
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
cp l
jr nc, .asm_c8fd6
ld [hl], e
@ -2824,7 +2824,7 @@ Functionc8f9a: ; c8f9a (32:4f9a)
ret
Functionc8fe4: ; c8fe4 (32:4fe4)
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld e, a
ld a, [BattleAnimTemps]
add e
@ -2834,13 +2834,13 @@ Functionc8fe4: ; c8fe4 (32:4fe4)
Functionc8fef: ; c8fef (32:4fef)
push bc
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld l, a
inc a
ld e, a
ld h, $d2
ld d, h
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
sub l
and a
jr z, .asm_c9009
@ -2862,9 +2862,9 @@ Functionc8fef: ; c8fef (32:4fef)
Functionc900b: ; c900b (32:500b)
push af
ld h, $d2
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld l, a
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
sub l
ld d, a
pop af
@ -2877,14 +2877,14 @@ Functionc900b: ; c900b (32:500b)
Functionc901b: ; c901b (32:501b)
push af
ld e, a
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld l, a
ld a, [$ffc8]
ld a, [hLCDStatCustom + 2]
sub l
sub e
ld d, a
ld h, $d2
ld a, [$ffc7]
ld a, [hLCDStatCustom + 1]
ld l, a
ld a, $90
.asm_c902c

View File

@ -2815,21 +2815,22 @@ Function3d1aa: ; 3d1aa
ld [hl], a
ld [BattleMonStatus], a
call UpdateBattleMonInParty
ld c, $6
ld c, HAPPINESS_FAINTED
; If TheirLevel > (YourLevel + 30), use a different parameter
ld a, [BattleMonLevel]
add $1e
add 30
ld b, a
ld a, [EnemyMonLevel]
cp b
jr c, .asm_3d1dc
ld c, $8
ld c, HAPPINESS_BEATENBYSTRONGFOE
.asm_3d1dc
ld a, [CurBattleMon]
ld [CurPartyMon], a
callab ChangeHappiness
ld a, [wd0ee]
and $c0
and %11000000
add $1
ld [wd0ee], a
ld a, [wc6f7]
@ -3233,7 +3234,7 @@ Function3d444: ; 3d444
Function3d490: ; 3d490
ld [$ffaf], a
ld [hConnectionStripLength], a
ld c, a
.asm_3d493
push bc
@ -3257,7 +3258,7 @@ Function3d490: ; 3d490
; 3d4ae
Function3d4ae: ; 3d4ae
ld a, [$ffaf]
ld a, [hConnectionStripLength]
ld c, a
cp $8
jr nz, .back
@ -4821,7 +4822,7 @@ DrawPlayerHUD: ; 3df58
; HP bar
hlcoord 10, 9
ld b, 1
xor a
xor a ; PARTYMON
ld [MonType], a
predef DrawPlayerHP
@ -4903,7 +4904,7 @@ PrintPlayerHUD: ; 3dfbf
pop hl
dec hl
ld a, $3
ld a, BREEDMON
ld [MonType], a
callab GetGender
ld a, " "
@ -4981,7 +4982,7 @@ DrawEnemyHUD: ; 3e043
ld a, [hl]
ld [de], a
ld a, $3
ld a, BREEDMON
ld [MonType], a
callab GetGender
ld a, " "
@ -5358,7 +5359,7 @@ Function3e308: ; 3e308
call EnableLCD
call ClearSprites
call LowVolume
xor a
xor a ; PARTYMON
ld [MonType], a
callba Function4dc7b
call MaxVolume
@ -5966,7 +5967,7 @@ Function3e75f: ; 3e75f
.ok
push hl
ld de, StringBuffer1
ld bc, $0102
lb bc, 1, 2
call PrintNum
pop hl
rept 2
@ -5974,8 +5975,8 @@ rept 2
endr
ld [hl], "/"
inc hl
ld de, wd265
ld bc, $0102
ld de, wNamedObjectIndexBuffer
lb bc, 1, 2
call PrintNum
ret
; 3e786
@ -7535,7 +7536,7 @@ endr
ld [hld], a
.asm_3ef74
xor a
xor a ; PARTYMON
ld [MonType], a
predef Function5084a
callab Function50e1b
@ -7647,7 +7648,7 @@ endr
call Function309d
.asm_3f057
xor a
xor a ; PARTYMON
ld [MonType], a
predef Function5084a
hlcoord 9, 0
@ -7661,7 +7662,7 @@ endr
call DelayFrames
call Functiona80
call Function30b4
xor a
xor a ; PARTYMON
ld [MonType], a
ld a, [CurSpecies]
ld [wd265], a
@ -7802,7 +7803,7 @@ Function3f136: ; 3f136
push af
xor a
ld [DefaultFlypoint], a
xor a
xor a ; PARTYMON
ld [MonType], a
predef Function5084a
ld a, [TempMonLevel]
@ -8526,28 +8527,28 @@ Function3f594: ; 3f594
ld [IsInBattle], a
call IsJohtoGymLeader
jr nc, .asm_3f606
jr nc, .done
xor a
ld [CurPartyMon], a
ld a, [PartyCount]
ld b, a
.asm_3f5ea
.partyloop
push bc
ld a, PartyMon1HP - PartyMon1
call GetPartyParamLocation
ld a, [hli]
or [hl]
jr z, .asm_3f5fc
ld c, $4
jr z, .skipfaintedmon
ld c, HAPPINESS_GYMBATTLE
callab ChangeHappiness
.asm_3f5fc
.skipfaintedmon
pop bc
dec b
jr z, .asm_3f606
jr z, .done
ld hl, CurPartyMon
inc [hl]
jr .asm_3f5ea
.asm_3f606
jr .partyloop
.done
ret
; 3f607
@ -8892,20 +8893,20 @@ Function3f85f: ; 3f85f
add hl, de
push hl
ld de, wd00d
ld bc, $0204
lb bc, 2, 4
call PrintNum
pop hl
ld de, $0005
add hl, de
push hl
ld de, wd00f
ld bc, $0204
lb bc, 2, 4
call PrintNum
pop hl
ld de, $0005
add hl, de
ld de, wd011
ld bc, $0204
lb bc, 2, 4
call PrintNum
jr .asm_3f8cf
@ -8945,21 +8946,21 @@ Function3f85f: ; 3f85f
call .asm_3f92b
jr c, .asm_3f92a
ld bc, $0204
lb bc, 2, 4
call PrintNum
hlcoord 11, 4
ld de, sLinkBattleLosses
call .asm_3f92b
ld bc, $0204
lb bc, 2, 4
call PrintNum
hlcoord 16, 4
ld de, sLinkBattleDraws
call .asm_3f92b
ld bc, $0204
lb bc, 2, 4
call PrintNum
.asm_3f92a
@ -9442,7 +9443,7 @@ Function3fc30: ; 3fc30
Function3fc5b: ; 3fc5b
ld hl, Sprites
xor a
ld [$ffaf], a
ld [hConnectionStripLength], a
ld b, $6
ld e, $a8
.asm_3fc65
@ -9453,10 +9454,10 @@ Function3fc5b: ; 3fc5b
inc hl
ld [hl], e
inc hl
ld a, [$ffaf]
ld a, [hConnectionStripLength]
ld [hli], a
inc a
ld [$ffaf], a
ld [hConnectionStripLength], a
ld a, $1
ld [hli], a
ld a, d
@ -9464,9 +9465,9 @@ Function3fc5b: ; 3fc5b
ld d, a
dec c
jr nz, .asm_3fc69
ld a, [$ffaf]
ld a, [hConnectionStripLength]
add $3
ld [$ffaf], a
ld [hConnectionStripLength], a
ld a, e
add $8
ld e, a

View File

@ -1036,13 +1036,13 @@ BattleCommand04: ; 34555
ld a, [hBattleTurn]
and a
jr z, .asm_34570
jr z, .proceed
ld hl, EnemyMonPP
ld de, EnemySubStatus3
ld bc, EnemyTurnsTaken
.asm_34570
.proceed
; If we've gotten this far, this counts as a turn.
ld a, [bc]
@ -1390,7 +1390,7 @@ BattleCommand07: ; 346d2
cp c
jr z, .stab
jr .asm_3473a
jr .SkipStab
.stab
ld hl, CurDamage + 1
@ -1412,13 +1412,13 @@ BattleCommand07: ; 346d2
ld hl, TypeModifier
set 7, [hl]
.asm_3473a
.SkipStab
ld a, BATTLE_VARS_MOVE_TYPE
call GetBattleVar
ld b, a
ld hl, TypeMatchup
.asm_34743
.TypesLoop
ld a, [hli]
cp $ff
@ -1426,38 +1426,39 @@ BattleCommand07: ; 346d2
; foresight
cp $fe
jr nz, .asm_34757
jr nz, .SkipForesightCheck
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar
bit SUBSTATUS_IDENTIFIED, a
jr nz, .end
jr .asm_34743
jr .TypesLoop
.asm_34757
.SkipForesightCheck
cp b
jr nz, .asm_347b3
jr nz, .SkipType
ld a, [hl]
cp d
jr z, .asm_34763
jr z, .GotMatchup
cp e
jr z, .asm_34763
jr .asm_347b3
jr z, .GotMatchup
jr .SkipType
.asm_34763
.GotMatchup
push hl
push bc
inc hl
ld a, [TypeModifier]
and %10000000
ld b, a
; If the target is immune to the move, treat it as a miss and calculate the damage as 0
ld a, [hl]
and a
jr nz, .asm_34775
jr nz, .NotImmune
inc a
ld [AttackMissed], a
xor a
.asm_34775
.NotImmune
ld [hMultiplier], a
add b
ld [TypeModifier], a
@ -1480,34 +1481,35 @@ BattleCommand07: ; 346d2
ld b, a
ld a, [hProduct + 3]
or b
jr z, .asm_347ab
jr z, .ok ; This is a very convoluted way to get back that we've essentially dealt no damage.
ld a, $a
; Take the product and divide it by 10.
ld a, 10
ld [hDivisor], a
ld b, $4
ld b, 4
call Divide
ld a, [hQuotient + 1]
ld b, a
ld a, [hQuotient + 2]
or b
jr nz, .asm_347ab
jr nz, .ok
ld a, $1
ld [$ffb6], a
ld a, 1
ld [hMultiplicand + 2], a
.asm_347ab
ld a, [$ffb5]
.ok
ld a, [hMultiplicand + 1]
ld [hli], a
ld a, [$ffb6]
ld a, [hMultiplicand + 2]
ld [hl], a
pop bc
pop hl
.asm_347b3
.SkipType
rept 2
inc hl
endr
jr .asm_34743
jr .TypesLoop
.end
call Function347c8
@ -1545,32 +1547,32 @@ Function347d3: ; 347d3
ld a, 10 ; 1.0
ld [wd265], a
ld hl, TypeMatchup
.asm_347e7
.TypesLoop
ld a, [hli]
cp $ff
jr z, .asm_3482f
jr z, .End
cp $fe
jr nz, .asm_347fb
jr nz, .Next
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar
bit SUBSTATUS_IDENTIFIED, a
jr nz, .asm_3482f
jr .asm_347e7
.asm_347fb
jr nz, .End
jr .TypesLoop
.Next
cp d
jr nz, .asm_34807
jr nz, .Nope
ld a, [hli]
cp b
jr z, .asm_3480b
jr z, .Yup
cp c
jr z, .asm_3480b
jr .asm_34808
.asm_34807
jr z, .Yup
jr .Nope2
.Nope
inc hl
.asm_34808
.Nope2
inc hl
jr .asm_347e7
.asm_3480b
jr .TypesLoop
.Yup
xor a
ld [hDividend + 0], a
ld [hMultiplicand + 0], a
@ -1588,9 +1590,9 @@ Function347d3: ; 347d3
pop bc
ld a, [hQuotient + 2]
ld [wd265], a
jr .asm_347e7
jr .TypesLoop
.asm_3482f
.End
pop bc
pop de
pop hl
@ -1603,14 +1605,14 @@ BattleCommanda3: ; 34833
ld a, [wd265]
and a
ld a, 10 ; 1.0
jr nz, .asm_3484a
jr nz, .skip
call ResetDamage
xor a
ld [TypeModifier], a
inc a
ld [AttackMissed], a
ret
.asm_3484a
.skip
ld [wd265], a
ret
; 3484e
@ -6098,7 +6100,7 @@ BattleCommand7d: ; 361e0
jr BattleCommand1c
BattleCommand1c: ; 361e4
; statup
call Function361ef
call CheckIfStatCanBeRaised
ld a, [FailedMessage]
and a
ret nz
@ -6106,7 +6108,7 @@ BattleCommand1c: ; 361e4
; 361ef
Function361ef: ; 361ef
CheckIfStatCanBeRaised: ; 361ef
ld a, b
ld [LoweredStat], a
ld hl, PlayerStatLevels

259
battle/misc.asm Normal file
View File

@ -0,0 +1,259 @@
Functionfbd54: ; fbd54
xor a
ld [hBGMapMode], a ; $ff00+$d4
ld a, [hBattleTurn] ; $ff00+$e4
and a
jr z, .asm_fbd61
call Functionfbd96
jr .asm_fbd64
.asm_fbd61
call Functionfbd9d
.asm_fbd64
call ClearBox
jr Functionfbd91
Functionfbd69: ; fbd69 (3e:7d69)
callba BattleCommanda6
jr Functionfbd77
Functionfbd71: ; fbd71 (3e:7d71)
callba BattleCommanda7
Functionfbd77: ; fbd77 (3e:7d77)
xor a
ld [hBGMapMode], a ; $ff00+$d4
ld a, [hBattleTurn] ; $ff00+$e4
and a
jr z, .asm_fbd85
call Functionfbd96
xor a
jr .asm_fbd8a
.asm_fbd85
call Functionfbd9d
ld a, $31
.asm_fbd8a
ld [$ffad], a
predef FillBox
Functionfbd91: ; fbd91 (3e:7d91)
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
ret
Functionfbd96: ; fbd96 (3e:7d96)
hlcoord 12, 0
lb bc, 7, 7
ret
Functionfbd9d: ; fbd9d (3e:7d9d)
hlcoord 2, 6
lb bc, 6, 6
ret
DoWeatherModifiers: ; fbda4
ld de, .WeatherTypeModifiers
ld a, [Weather]
ld b, a
ld a, [wd265] ; move type
ld c, a
.CheckWeatherType
ld a, [de]
inc de
cp $ff
jr z, .asm_fbdc0
cp b
jr nz, .NextWeatherType
ld a, [de]
cp c
jr z, .ApplyModifier
.NextWeatherType
rept 2
inc de
endr
jr .CheckWeatherType
.asm_fbdc0
ld de, .WeatherMoveModifiers
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
ld c, a
.CheckWeatherMove
ld a, [de]
inc de
cp $ff
jr z, .done
cp b
jr nz, .NextWeatherMove
ld a, [de]
cp c
jr z, .ApplyModifier
.NextWeatherMove
rept 2
inc de
endr
jr .CheckWeatherMove
.ApplyModifier
xor a
ld [hMultiplicand + 0], a
ld hl, CurDamage
ld a, [hli]
ld [hMultiplicand + 1], a
ld a, [hl]
ld [hMultiplicand + 2], a
inc de
ld a, [de]
ld [hMultiplier], a
call Multiply
ld a, 10
ld [hDivisor], a
ld b, $4
call Divide
ld a, [hQuotient + 0]
and a
ld bc, -1
jr nz, .Update
ld a, [hQuotient + 1]
ld b, a
ld a, [hQuotient + 2]
ld c, a
or b
jr nz, .Update
ld bc, 1
.Update
ld a, b
ld [CurDamage], a
ld a, c
ld [CurDamage + 1], a
.done
ret
.WeatherTypeModifiers
db WEATHER_RAIN, WATER, 15
db WEATHER_RAIN, FIRE, 05
db WEATHER_SUN, FIRE, 15
db WEATHER_SUN, WATER, 05
db $ff
.WeatherMoveModifiers
db WEATHER_RAIN, EFFECT_SOLARBEAM, 05
db $ff
; fbe24
DoBadgeTypeBoosts: ; fbe24
ld a, [InLinkBattle]
and a
ret nz
ld a, [InBattleTowerBattle]
and a
ret nz
ld a, [hBattleTurn]
and a
ret nz
push de
push bc
ld hl, .BadgeTypes
ld a, [KantoBadges]
ld b, a
ld a, [JohtoBadges]
ld c, a
.CheckBadge
ld a, [hl]
cp $ff
jr z, .done
srl b
rr c
jr nc, .NextBadge
ld a, [wd265] ; move type
cp [hl]
jr z, .ApplyBoost
.NextBadge
inc hl
jr .CheckBadge
.ApplyBoost
ld a, [CurDamage]
ld h, a
ld d, a
ld a, [CurDamage + 1]
ld l, a
ld e, a
srl d
rr e
srl d
rr e
srl d
rr e
ld a, e
or d
jr nz, .asm_fbe6f
ld e, 1
.asm_fbe6f
add hl, de
jr nc, .Update
ld hl, $ffff
.Update
ld a, h
ld [CurDamage], a
ld a, l
ld [CurDamage + 1], a
.done
pop bc
pop de
ret
.BadgeTypes
db FLYING ; zephyrbadge
db BUG ; hivebadge
db NORMAL ; plainbadge
db GHOST ; fogbadge
db STEEL ; mineralbadge
db FIGHTING ; stormbadge
db ICE ; glacierbadge
db DRAGON ; risingbadge
db ROCK ; boulderbadge
db WATER ; cascadebadge
db ELECTRIC ; thunderbadge
db GRASS ; rainbowbadge
db POISON ; soulbadge
db PSYCHIC ; marshbadge
db FIRE ; volcanobadge
db GROUND ; earthbadge
db $ff
; fbe91

View File

@ -51,35 +51,36 @@ const_value = 1
const SET_UP_ORNAMENT
const PUT_AWAY_ORNAMENT
const_value = 2
const_value = 1
const DECO_01
const DECO_FEATHERY_BED ; 2
const DECO_PINK_BED ; 3
const DECO_POLKADOT_BED ; 4
const DECO_PIKACHU_BED ; 5
const_value = const_value + 1
const DECO_06
const DECO_RED_CARPET ; 7
const DECO_BLUE_CARPET ; 8
const DECO_YELLOW_CARPET ; 9
const DECO_GREEN_CARPET ; a
const_value = const_value + 1
const DECO_0B
const DECO_MAGNAPLANT ; c
const DECO_TROPICPLANT ; d
const DECO_JUMBOPLANT ; e
const_value = const_value + 1
const DECO_0F
const DECO_TOWN_MAP ; 10
const DECO_PIKACHU_POSTER ; 11
const DECO_CLEFAIRY_POSTER ; 12
const DECO_JIGGLYPUFF_POSTER ; 13
const_value = const_value + 1
const DECO_14
const DECO_FAMICOM ; 15
const DECO_SNES ; 16
const DECO_N64 ; 17
const DECO_VIRTUAL_BOY ; 18
const_value = const_value + 1
const DECO_19
const DECO_BIG_SNORLAX_DOLL ; 1a
const DECO_BIG_ONIX_DOLL ; 1b
const DECO_BIG_LAPRAS_DOLL ; 1c
const_value = const_value + 1
const DECO_1D
const DECO_PIKACHU_DOLL ; 1e
const DECO_SURF_PIKACHU_DOLL ; 1f
const DECO_CLEFAIRY_DOLL ; 20

View File

@ -113,3 +113,36 @@ BATTLETOWER_NROFPKMNS EQU 3
BATTLETOWER_TRAINERDATALENGTH EQU $24
BATTLETOWER_NROFTRAINERS EQU 7
NUM_WILDMONS_PER_AREA_TIME_OF_DAY EQU 7
WILDMON_GRASS_STRUCTURE_LENGTH EQU 2 + 3 * (1 + 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY)
PRINTNUM_MONEY_F EQU 5
PRINTNUM_RIGHTALIGN_F EQU 6
PRINTNUM_LEADINGZEROS_F EQU 7
PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F
PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F
PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F
const_value = 1
const HAPPINESS_GAINLEVEL ; 01
const HAPPINESS_USEDITEM ; 02
const HAPPINESS_USEDXITEM ; 03
const HAPPINESS_GYMBATTLE ; 04
const HAPPINESS_LEARNMOVE ; 05
const HAPPINESS_FAINTED ; 06
const HAPPINESS_POISONFAINT ; 07
const HAPPINESS_BEATENBYSTRONGFOE ; 08
const HAPPINESS_YOUNGCUT1 ; 09
const HAPPINESS_YOUNGCUT2 ; 0a
const HAPPINESS_YOUNGCUT3 ; 0b
const HAPPINESS_OLDERCUT1 ; 0c
const HAPPINESS_OLDERCUT2 ; 0d
const HAPPINESS_OLDERCUT3 ; 0e
const HAPPINESS_BITTERPOWDER ; 0f
const HAPPINESS_ENERGYROOT ; 10
const HAPPINESS_REVIVALHERB ; 11
const HAPPINESS_MASSAGE ; 12
const HAPPINESS_GAINLEVELATHOME ; 13

View File

@ -1,15 +1,92 @@
const_def
const OAKS_POKEMON_TALK
const POKEDEX_SHOW
const POKEMON_MUSIC
const LUCKY_CHANNEL
const BUENAS_PASSWORD
const PLACES_AND_PEOPLE
const LETS_ALL_SING
const ROCKET_RADIO
const POKE_FLUTE_RADIO
const UNOWN_RADIO
const EVOLUTION_RADIO
const OAKS_POKEMON_TALK ; $00
const POKEDEX_SHOW ; $01
const POKEMON_MUSIC ; $02
const LUCKY_CHANNEL ; $03
const BUENAS_PASSWORD ; $04
const PLACES_AND_PEOPLE ; $05
const LETS_ALL_SING ; $06
const ROCKET_RADIO ; $07
const POKE_FLUTE_RADIO ; $08
const UNOWN_RADIO ; $09
const EVOLUTION_RADIO ; $0a
const OAKS_POKEMON_TALK_2 ; $0b
const OAKS_POKEMON_TALK_3 ; $0c
const OAKS_POKEMON_TALK_4 ; $0d
const OAKS_POKEMON_TALK_5 ; $0e
const OAKS_POKEMON_TALK_6 ; $0f
const OAKS_POKEMON_TALK_7 ; $10
const OAKS_POKEMON_TALK_8 ; $11
const OAKS_POKEMON_TALK_9 ; $12
const POKEDEX_SHOW_2 ; $13
const POKEDEX_SHOW_3 ; $14
const POKEDEX_SHOW_4 ; $15
const POKEDEX_SHOW_5 ; $16
const POKEMON_MUSIC_2 ; $17
const POKEMON_MUSIC_3 ; $18
const POKEMON_MUSIC_4 ; $19
const POKEMON_MUSIC_5 ; $1a
const POKEMON_MUSIC_6 ; $1b
const POKEMON_MUSIC_7 ; $1c
const LETS_ALL_SING_2 ; $1d
const LUCKY_NUMBER_SHOW_2 ; $1e
const LUCKY_NUMBER_SHOW_3 ; $1f
const LUCKY_NUMBER_SHOW_4 ; $20
const LUCKY_NUMBER_SHOW_5 ; $21
const LUCKY_NUMBER_SHOW_6 ; $22
const LUCKY_NUMBER_SHOW_7 ; $23
const LUCKY_NUMBER_SHOW_8 ; $24
const LUCKY_NUMBER_SHOW_9 ; $25
const LUCKY_NUMBER_SHOW_10 ; $26
const LUCKY_NUMBER_SHOW_11 ; $27
const LUCKY_NUMBER_SHOW_12 ; $28
const LUCKY_NUMBER_SHOW_13 ; $29
const LUCKY_NUMBER_SHOW_14 ; $2a
const LUCKY_NUMBER_SHOW_15 ; $2b
const PLACES_AND_PEOPLE_2 ; $2c
const PLACES_AND_PEOPLE_3 ; $2d
const PLACES_AND_PEOPLE_4 ; $2e
const PLACES_AND_PEOPLE_5 ; $2f
const PLACES_AND_PEOPLE_6 ; $30
const PLACES_AND_PEOPLE_7 ; $31
const ROCKET_RADIO_2 ; $32
const ROCKET_RADIO_3 ; $33
const ROCKET_RADIO_4 ; $34
const ROCKET_RADIO_5 ; $35
const ROCKET_RADIO_6 ; $36
const ROCKET_RADIO_7 ; $37
const ROCKET_RADIO_8 ; $38
const ROCKET_RADIO_9 ; $39
const ROCKET_RADIO_10 ; $3a
const OAKS_POKEMON_TALK_10 ; $3b
const OAKS_POKEMON_TALK_11 ; $3c
const OAKS_POKEMON_TALK_12 ; $3d
const OAKS_POKEMON_TALK_13 ; $3e
const OAKS_POKEMON_TALK_14 ; $3f
const BUENAS_PASSWORD_2 ; $40
const BUENAS_PASSWORD_3 ; $41
const BUENAS_PASSWORD_4 ; $42
const BUENAS_PASSWORD_5 ; $43
const BUENAS_PASSWORD_6 ; $44
const BUENAS_PASSWORD_7 ; $45
const BUENAS_PASSWORD_8 ; $46
const BUENAS_PASSWORD_9 ; $47
const BUENAS_PASSWORD_10 ; $48
const BUENAS_PASSWORD_11 ; $49
const BUENAS_PASSWORD_12 ; $4a
const BUENAS_PASSWORD_13 ; $4b
const BUENAS_PASSWORD_14 ; $4c
const BUENAS_PASSWORD_15 ; $4d
const BUENAS_PASSWORD_16 ; $4e
const BUENAS_PASSWORD_17 ; $4f
const BUENAS_PASSWORD_18 ; $50
const BUENAS_PASSWORD_19 ; $51
const BUENAS_PASSWORD_20 ; $52
const BUENAS_PASSWORD_21 ; $53
const RADIO_SCROLL ; $54
const POKEDEX_SHOW_6 ; $55
const POKEDEX_SHOW_7 ; $56
const POKEDEX_SHOW_8 ; $57
const_def
const BUENA_MON

View File

@ -72,3 +72,7 @@ PLAYER_SURF_PIKA EQU 8
OBJECT_STRUCT_LENGTH EQU 40
NUM_OBJECT_STRUCTS EQU 13
; After-Champion Spawn
SPAWN_LANCE EQU 1
SPAWN_RED EQU 2

View File

@ -70,12 +70,12 @@ Function1dd7ae: ; 1dd7ae
call PlaceString
hlcoord 12, 15
ld de, GameTimeHours
ld bc, $0204
lb bc, 2, 4
call PrintNum
ld [hl], $67
inc hl
ld de, GameTimeMinutes
ld bc, $8102
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
ret
; 1dd7f0

View File

@ -97,7 +97,7 @@
dwb VisitedSpawns + 3, %00000100 ; silver cave
dwb VisitedSpawns + 3, %00010000 ; unused
dwb wdc9d, %00000001 ; lucky number show
dwb wLuckyNumberShowFlag, %00000001 ; lucky number show
dwb StatusFlags2, %00001000
dwb DailyFlags, %00000001 ; kurt making balls ; $50

View File

@ -121,7 +121,7 @@ StartMap: ; 96724
xor a
ld [ScriptRunning], a
ld hl, MapStatus
ld bc, $3e
ld bc, $3e ; 62
call ByteFill
callba Function113e5
call ClearJoypad
@ -133,17 +133,17 @@ EnterMap: ; 9673e
xor a
ld [wd453], a
ld [wd454], a
call Function968d1
call SetUpFiveStepWildEncounterCooldown
callba RunMapSetupScript
call ClearAllScriptFlags3
ld a, [$ff9f]
ld a, [hMapEntryMethod]
cp $f7
jr nz, .dontset
call SetAll_ScriptFlags3
.dontset
ld a, [$ff9f]
ld a, [hMapEntryMethod]
cp $f3
jr nz, .dontresetpoison
xor a
@ -151,7 +151,7 @@ EnterMap: ; 9673e
.dontresetpoison
xor a
ld [$ff9f], a
ld [hMapEntryMethod], a
ld a, 2 ; HandleMap
ld [MapStatus], a
ret
@ -382,9 +382,9 @@ CheckTileEvent: ; 96874
call CheckBit4_ScriptFlags3
jr z, .ok
call RockSmashEncounter
call RandomEncounter
ret c
jr .ok
jr .ok ; pointless
.ok
xor a
@ -419,8 +419,8 @@ CheckTileEvent: ; 96874
; 968c7
Function968c7:: ; 968c7
ld hl, wd452
CheckWildEncounterCooldown:: ; 968c7
ld hl, wWildEncounterCooldown
ld a, [hl]
and a
ret z
@ -430,9 +430,9 @@ Function968c7:: ; 968c7
ret
; 968d1
Function968d1: ; 968d1
SetUpFiveStepWildEncounterCooldown: ; 968d1
ld a, 5
ld [wd452], a
ld [wWildEncounterCooldown], a
ret
; 968d7
@ -441,11 +441,11 @@ Function968d7: ; 968d7
; 968d8
Function968d8: ; 968d8
ld a, [wd452]
ld a, [wWildEncounterCooldown]
cp 2
ret nc
ld a, 2
ld [wd452], a
ld [wWildEncounterCooldown], a
ret
; 968e4

View File

@ -95,10 +95,10 @@ CheckFacingTileEvent:: ; 97c5f
; 97cc0
RockSmashEncounter:: ; 97cc0
; Rock Smash encounter
RandomEncounter:: ; 97cc0
; Random encounter
call Function968c7
call CheckWildEncounterCooldown
jr c, .nope
call CanUseSweetScent
jr nc, .nope
@ -120,8 +120,8 @@ RockSmashEncounter:: ; 97cc0
ret
.ok
ld a, BANK(RockSmashBattleScript)
ld hl, RockSmashBattleScript
ld a, BANK(WildBattleScript)
ld hl, WildBattleScript
jr .done
.ok_bug_contest
@ -135,7 +135,7 @@ RockSmashEncounter:: ; 97cc0
ret
; 97cf9
RockSmashBattleScript: ; 97cf9
WildBattleScript: ; 97cf9
battlecheck
startbattle
returnafterbattle

View File

@ -1499,7 +1499,7 @@ Function4af0: ; 4af0
add hl, bc
ld [hl], 2
ld hl, wd4cf
ld a, [$ffaf]
ld a, [hConnectionStripLength]
cp [hl]
jr z, .ok
ld hl, OBJECT_09
@ -2508,7 +2508,7 @@ Function54b8: ; 54b8
ret z
ld a, [wd4cd]
ld d, a
ld a, [$ffaf]
ld a, [hConnectionStripLength]
cp d
ret nz
ld a, e
@ -2651,7 +2651,7 @@ Function5565: ; 5565
Function5579: ; 5579
push bc
ld a, [$ffaf]
ld a, [hConnectionStripLength]
ld c, a
call Function5582
pop bc
@ -2712,7 +2712,7 @@ Function55b9: ; 55b9
ld [hli], a
ld a, [de]
ld [hli], a
ld a, [$ffaf]
ld a, [hConnectionStripLength]
ld [hli], a
push hl
ld hl, OBJECT_MAP_X
@ -2737,7 +2737,7 @@ Function55e0:: ; 55e0
ld bc, ObjectStructs
xor a
.loop
ld [$ffaf], a
ld [hConnectionStripLength], a
call GetObjectSprite
jr z, .ok
call Function565c
@ -2747,7 +2747,7 @@ Function55e0:: ; 55e0
add hl, bc
ld b, h
ld c, l
ld a, [$ffaf]
ld a, [hConnectionStripLength]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@ -2801,13 +2801,13 @@ Function5645: ; 5645
xor a
ld bc, ObjectStructs
.loop
ld [$ffaf], a
ld [hConnectionStripLength], a
call Function5680
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
ld b, h
ld c, l
ld a, [$ffaf]
ld a, [hConnectionStripLength]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@ -3032,7 +3032,7 @@ Function5781: ; 5781
ld bc, ObjectStructs
xor a
.loop
ld [$ffaf], a
ld [hConnectionStripLength], a
call GetObjectSprite
jr z, .next
call Function437b
@ -3042,7 +3042,7 @@ Function5781: ; 5781
add hl, bc
ld b, h
ld c, l
ld a, [$ffaf]
ld a, [hConnectionStripLength]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop

View File

@ -1,6 +1,6 @@
RunMapSetupScript:: ; 15363
ld a, [$ff9f]
ld a, [hMapEntryMethod]
and $f
dec a
ld c, a

View File

@ -217,7 +217,7 @@ Function4013c: ; 4013c (10:413c)
call ByteFill
callba Function1de171
hlcoord 0, 17
ld de, Unknown_407f2
ld de, String_START_SEARCH
call Function40acd
ld a, $7
ld [wc7d3], a
@ -246,7 +246,7 @@ Function4013c: ; 4013c (10:413c)
call Function41148
callba Function1de171
hlcoord 0, 17
ld de, Unknown_407f2
ld de, String_START_SEARCH
call Function40acd
ld a, $7
ld [wc7d3], a
@ -1068,7 +1068,7 @@ Function40741: ; 40741
Function4074c: ; 4074c (10:474c)
hlcoord 0, 17
ld de, Unknown_407f2
ld de, String_START_SEARCH
call Function40acd
ld a, $32
hlcoord 0, 0
@ -1081,27 +1081,27 @@ Function4074c: ; 4074c (10:474c)
ld bc, $607
call Function40ad5
hlcoord 1, 11
ld de, Unknown_407e1
ld de, String_SEEN
call Function40acd
ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen)
ld b, EndPokedexSeen - PokedexSeen
call CountSetBits
ld de, wd265
hlcoord 5, 12
ld bc, $103
lb bc, 1, 3
call PrintNum
hlcoord 1, 14
ld de, Unknown_407e6
ld de, String_OWN
call Function40acd
ld hl, PokedexCaught
ld b, EndPokedexCaught - PokedexCaught
call CountSetBits
ld de, wd265
hlcoord 5, 15
ld bc, $103
lb bc, 1, 3
call PrintNum
hlcoord 1, 17
ld de, Unknown_407ea
ld de, String_SELECT_OPTION
call Function40acd
hlcoord 8, 1
ld b, $7
@ -1123,13 +1123,13 @@ Function4074c: ; 4074c (10:474c)
ret
; 407e1 (10:47e1)
Unknown_407e1: ; 407e1
String_SEEN: ; 407e1
db "SEEN", $ff
Unknown_407e6: ; 407e6
String_OWN: ; 407e6
db "OWN", $ff
Unknown_407ea: ; 407ea
String_SELECT_OPTION: ; 407ea
db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION
Unknown_407f2: ; 407f2
String_START_SEARCH: ; 407f2
db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH
; 407fd
@ -1270,7 +1270,7 @@ Function40962: ; 40962 (10:4962)
call PlaceString
ld de, wc7d7
hlcoord 1, 16
ld bc, $103
lb bc, 1, 3
call PrintNum
hlcoord 8, 0
ld [hl], $59
@ -1541,7 +1541,7 @@ Function40b6a: ; 40b6a (10:4b6a)
ld de, -20
add hl, de
ld de, wd265
ld bc, $8103
lb bc, PRINTNUM_LEADINGZEROS | 1, 3
call PrintNum
pop hl
ret
@ -2360,7 +2360,7 @@ Function413f5: ; 413f5 (10:53f5)
ret
Function413fe: ; 413fe (10:53fe)
jp Functionfb8
jp FillBoxWithByte
Function41401: ; 41401 (10:5401)
ld a, [rSVBK] ; $ff00+$70

View File

@ -36,7 +36,7 @@ PredefPointers:: ; 856b
add_predef FlagPredef
add_predef Functionc699
add_predef FillPP
add_predef Functiond88c
add_predef TryAddMonToParty
add_predef Functionda96
add_predef Functiondb3f ; $8
add_predef SentPkmnIntoBox

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More