mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
Remove most static wram addresses. Use labels instead.
For unknown addresses, use "w<address>". Label overleads are still an issue.
This commit is contained in:
parent
52ba96f5f4
commit
40c17c906b
290 changed files with 8262 additions and 7759 deletions
|
|
@ -1,5 +1,5 @@
|
|||
DrainHPEffect_: ; 783f (1:783f)
|
||||
ld hl, W_DAMAGE ; $d0d7
|
||||
ld hl, W_DAMAGE ; W_DAMAGE
|
||||
ld a, [hl]
|
||||
srl a ; divide damage by 2
|
||||
ld [hli], a
|
||||
|
|
@ -11,13 +11,13 @@ DrainHPEffect_: ; 783f (1:783f)
|
|||
inc hl
|
||||
inc [hl]
|
||||
.asm_784f
|
||||
ld hl, W_PLAYERMONCURHP ; $d015
|
||||
ld de, W_PLAYERMONMAXHP ; $d023
|
||||
ld hl, W_PLAYERMONCURHP ; wd015
|
||||
ld de, W_PLAYERMONMAXHP ; wd023
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jp z, Func_7861
|
||||
ld hl, W_ENEMYMONCURHP ; $cfe6
|
||||
ld de, W_ENEMYMONMAXHP ; $cff4
|
||||
ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld de, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
|
||||
Func_7861: ; 7861 (1:7861)
|
||||
ld bc, wHPBarOldHP+1
|
||||
|
|
@ -33,12 +33,12 @@ Func_7861: ; 7861 (1:7861)
|
|||
ld a, [de]
|
||||
dec bc
|
||||
ld [bc], a
|
||||
ld a, [$d0d8]
|
||||
ld a, [wd0d8]
|
||||
ld b, [hl]
|
||||
add b
|
||||
ld [hld], a
|
||||
ld [wHPBarNewHP], a
|
||||
ld a, [W_DAMAGE] ; $d0d7
|
||||
ld a, [W_DAMAGE] ; W_DAMAGE
|
||||
ld b, [hl]
|
||||
adc b
|
||||
ld [hli], a
|
||||
|
|
@ -67,15 +67,15 @@ Func_7861: ; 7861 (1:7861)
|
|||
.asm_789c
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
FuncCoord 10, 9 ; $c45e
|
||||
FuncCoord 10, 9
|
||||
ld hl, Coord
|
||||
ld a, $1
|
||||
jr z, .asm_78aa
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
xor a
|
||||
.asm_78aa
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
ld a, $48
|
||||
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
|
||||
ld a, $0
|
||||
|
|
@ -86,9 +86,9 @@ Func_7861: ; 7861 (1:7861)
|
|||
ld hl, SuckedHealthText ; $78dc
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
|
||||
ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
|
||||
jr z, .asm_78d2
|
||||
ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
|
||||
ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
|
||||
.asm_78d2
|
||||
cp DREAM_EATER_EFFECT
|
||||
jr nz, .asm_78d9
|
||||
|
|
|
|||
|
|
@ -1,52 +1,52 @@
|
|||
Func_525af: ; 525af (14:65af)
|
||||
ld a, [$ffd7]
|
||||
ld [$d0d4], a
|
||||
ld [wd0d4], a
|
||||
xor a
|
||||
ld [$cd6a], a
|
||||
ld [$cf0b], a
|
||||
ld hl, $cc2b
|
||||
ld [wcd6a], a
|
||||
ld [wcf0b], a
|
||||
ld hl, wcc2b
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld [$d05e], a
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld [wd05e], a
|
||||
ld [W_PLAYERMONID], a
|
||||
ld [W_PLAYERMONSALIVEFLAGS], a
|
||||
ld [wPlayerMonNumber], a ; $cc2f
|
||||
ld [$d078], a
|
||||
ld [$d35d], a
|
||||
ld hl, $cf1d
|
||||
ld [wPlayerMonNumber], a ; wPlayerMonNumber
|
||||
ld [wd078], a
|
||||
ld [wd35d], a
|
||||
ld hl, wcf1d
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld hl, $ccd3
|
||||
ld hl, wccd3
|
||||
ld b, $3c
|
||||
.asm_525e1
|
||||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .asm_525e1
|
||||
inc a
|
||||
ld [$ccd9], a
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld [wccd9], a
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp SAFARI_ZONE_EAST
|
||||
jr c, .asm_525f9
|
||||
cp SAFARI_ZONE_REST_HOUSE_1
|
||||
jr nc, .asm_525f9
|
||||
ld a, $2
|
||||
ld [W_BATTLETYPE], a ; $d05a
|
||||
ld [W_BATTLETYPE], a ; wd05a
|
||||
.asm_525f9
|
||||
ld hl, PlayBattleMusic
|
||||
ld b, BANK(PlayBattleMusic)
|
||||
jp Bankswitch
|
||||
|
||||
ParalyzeEffect_: ; 52601 (14:6601)
|
||||
ld hl, W_ENEMYMONSTATUS ; $cfe9
|
||||
ld de, W_PLAYERMOVETYPE ; $cfd5
|
||||
ld hl, W_ENEMYMONSTATUS ; wcfe9
|
||||
ld de, W_PLAYERMOVETYPE ; wcfd5
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jp z, .asm_52613
|
||||
ld hl, W_PLAYERMONSTATUS ; $d018
|
||||
ld de, W_ENEMYMOVETYPE ; $cfcf
|
||||
ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS
|
||||
ld de, W_ENEMYMOVETYPE ; wcfcf
|
||||
|
||||
.asm_52613
|
||||
ld a, [hl]
|
||||
|
|
@ -69,7 +69,7 @@ ParalyzeEffect_: ; 52601 (14:6601)
|
|||
push hl
|
||||
callab MoveHitTest
|
||||
pop hl
|
||||
ld a, [W_MOVEMISSED] ; $d05f
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
and a
|
||||
jr nz, .asm_52659
|
||||
set 6, [hl]
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
GainExperience: ; 5524f (15:524f)
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $4
|
||||
ret z
|
||||
call Func_5546c
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
xor a
|
||||
ld [wWhichPokemon], a ; $cf92
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
|
||||
Func_5525f: ; 5525f (15:525f)
|
||||
inc hl
|
||||
|
|
@ -14,7 +14,7 @@ Func_5525f: ; 5525f (15:525f)
|
|||
jp z, Func_55436
|
||||
push hl
|
||||
ld hl, W_PLAYERMONSALIVEFLAGS
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld a, $10 ; FlagActionPredef
|
||||
|
|
@ -27,7 +27,7 @@ Func_5525f: ; 5525f (15:525f)
|
|||
add hl, de
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, $d002
|
||||
ld hl, wd002
|
||||
ld c, $5
|
||||
.asm_55285
|
||||
ld a, [hli]
|
||||
|
|
@ -58,9 +58,9 @@ Func_5525f: ; 5525f (15:525f)
|
|||
xor a
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [$ff97], a
|
||||
ld a, [$d008]
|
||||
ld a, [wd008]
|
||||
ld [$ff98], a
|
||||
ld a, [W_ENEMYMONLEVEL] ; $cff3
|
||||
ld a, [W_ENEMYMONLEVEL] ; W_ENEMYMONLEVEL
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
call Multiply
|
||||
ld a, $7
|
||||
|
|
@ -71,11 +71,11 @@ Func_5525f: ; 5525f (15:525f)
|
|||
add hl, de
|
||||
ld b, [hl]
|
||||
inc hl
|
||||
ld a, [wPlayerID] ; $d359
|
||||
ld a, [wPlayerID] ; wPlayerID
|
||||
cp b
|
||||
jr nz, .asm_552d1
|
||||
ld b, [hl]
|
||||
ld a, [wPlayerID + 1] ; $d35a
|
||||
ld a, [wPlayerID + 1] ; wd35a
|
||||
cp b
|
||||
ld a, $0
|
||||
jr z, .asm_552d6
|
||||
|
|
@ -83,8 +83,8 @@ Func_5525f: ; 5525f (15:525f)
|
|||
call Func_5549f
|
||||
ld a, $1
|
||||
.asm_552d6
|
||||
ld [$cf4d], a
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld [wcf4d], a
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
dec a
|
||||
call nz, Func_5549f
|
||||
inc hl
|
||||
|
|
@ -92,12 +92,12 @@ Func_5525f: ; 5525f (15:525f)
|
|||
inc hl
|
||||
ld b, [hl]
|
||||
ld a, [$ff98]
|
||||
ld [$cf4c], a
|
||||
ld [wcf4c], a
|
||||
add b
|
||||
ld [hld], a
|
||||
ld b, [hl]
|
||||
ld a, [$ff97]
|
||||
ld [$cf4b], a
|
||||
ld [wcf4b], a
|
||||
adc b
|
||||
ld [hl], a
|
||||
jr nc, .asm_552f8
|
||||
|
|
@ -107,13 +107,13 @@ Func_5525f: ; 5525f (15:525f)
|
|||
.asm_552f8
|
||||
inc hl
|
||||
push hl
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$d0b5], a
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld d, $64
|
||||
callab CalcExperience
|
||||
|
|
@ -140,13 +140,13 @@ Func_5525f: ; 5525f (15:525f)
|
|||
dec hl
|
||||
.asm_5532e
|
||||
push hl
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
call GetPartyMonName
|
||||
ld hl, GainedText
|
||||
call PrintText
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
call LoadMonData
|
||||
pop hl
|
||||
ld bc, $13
|
||||
|
|
@ -157,17 +157,17 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld a, [hl]
|
||||
cp d
|
||||
jp z, Func_55436
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
push af
|
||||
push hl
|
||||
ld a, d
|
||||
ld [W_CURENEMYLVL], a ; $d127
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
ld [hl], a
|
||||
ld bc, $ffdf
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$d0b5], a
|
||||
ld [$d11e], a
|
||||
ld [wd0b5], a
|
||||
ld [wd11e], a
|
||||
call GetMonHeader
|
||||
ld bc, $23
|
||||
add hl, bc
|
||||
|
|
@ -198,12 +198,12 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld a, [hl]
|
||||
adc b
|
||||
ld [hl], a
|
||||
ld a, [wPlayerMonNumber] ; $cc2f
|
||||
ld a, [wPlayerMonNumber] ; wPlayerMonNumber
|
||||
ld b, a
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
cp b
|
||||
jr nz, .asm_553f7
|
||||
ld de, W_PLAYERMONCURHP ; $d015
|
||||
ld de, W_PLAYERMONCURHP ; wd015
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
inc de
|
||||
|
|
@ -212,19 +212,19 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld bc, $1f
|
||||
add hl, bc
|
||||
push hl
|
||||
ld de, W_PLAYERMONLEVEL ; $d022
|
||||
ld de, W_PLAYERMONLEVEL ; W_PLAYERMONLEVEL
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
pop hl
|
||||
ld a, [W_PLAYERBATTSTATUS3] ; $d064
|
||||
ld a, [W_PLAYERBATTSTATUS3] ; W_PLAYERBATTSTATUS3
|
||||
bit 3, a
|
||||
jr nz, .asm_553c8
|
||||
ld de, $cd0f
|
||||
ld de, wcd0f
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
.asm_553c8
|
||||
xor a
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
callab Func_3ed99
|
||||
callab Func_3ed1a
|
||||
callab Func_3ee19
|
||||
|
|
@ -235,51 +235,51 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld hl, GrewLevelText
|
||||
call PrintText
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
call LoadMonData
|
||||
ld d, $1
|
||||
callab PrintStatsBox
|
||||
call WaitForTextScrollButtonPress
|
||||
call LoadScreenTilesFromBuffer1
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld a, [$d0b5]
|
||||
ld [$d11e], a
|
||||
ld [wcc49], a
|
||||
ld a, [wd0b5]
|
||||
ld [wd11e], a
|
||||
ld a, $1a
|
||||
call Predef ; indirect jump to Func_3af5b (3af5b (e:6f5b))
|
||||
ld hl, $ccd3
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, wccd3
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld a, $10 ; FlagActionPredef
|
||||
call Predef
|
||||
pop hl
|
||||
pop af
|
||||
ld [W_CURENEMYLVL], a ; $d127
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
|
||||
Func_55436: ; 55436 (15:5436)
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
ld b, a
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
inc a
|
||||
cp b
|
||||
jr z, .asm_55450
|
||||
ld [wWhichPokemon], a ; $cf92
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
ld bc, $2c
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
call AddNTimes
|
||||
jp Func_5525f
|
||||
.asm_55450
|
||||
ld hl, W_PLAYERMONSALIVEFLAGS
|
||||
xor a
|
||||
ld [hl], a
|
||||
ld a, [wPlayerMonNumber] ; $cc2f
|
||||
ld a, [wPlayerMonNumber] ; wPlayerMonNumber
|
||||
ld c, a
|
||||
ld b, $1
|
||||
push bc
|
||||
ld a, $10 ; FlagActionPredef
|
||||
call Predef
|
||||
ld hl, $ccf5
|
||||
ld hl, wccf5
|
||||
xor a
|
||||
ld [hl], a
|
||||
pop bc
|
||||
|
|
@ -301,15 +301,15 @@ Func_5546c: ; 5546c (15:546c)
|
|||
jr nz, .asm_55475
|
||||
cp $2
|
||||
ret c
|
||||
ld [$d11e], a
|
||||
ld hl, $d002
|
||||
ld [wd11e], a
|
||||
ld hl, wd002
|
||||
ld c, $7
|
||||
.asm_55488
|
||||
xor a
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [hl]
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld b, $2
|
||||
call Divide
|
||||
|
|
@ -336,12 +336,12 @@ Func_5549f: ; 5549f (15:549f)
|
|||
GainedText: ; 554b2 (15:54b2)
|
||||
TX_FAR _GainedText
|
||||
db $08 ; asm
|
||||
ld a, [$cc5b]
|
||||
ld a, [wcc5b]
|
||||
ld hl, WithExpAllText
|
||||
and a
|
||||
ret nz
|
||||
ld hl, ExpPointsText
|
||||
ld a, [$cf4d]
|
||||
ld a, [wcf4d]
|
||||
and a
|
||||
ret z
|
||||
ld hl, BoostedText
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
PrintBeginningBattleText: ; 58d99 (16:4d99)
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
dec a
|
||||
jr nz, .trainerBattle
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp POKEMONTOWER_3
|
||||
jr c, .notPokemonTower
|
||||
cp LAVENDER_HOUSE_1
|
||||
|
|
@ -11,7 +11,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
ld a, [W_ENEMYMONID]
|
||||
call PlayCry
|
||||
ld hl, WildMonAppearedText
|
||||
ld a, [W_MOVEMISSED] ; $d05f
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
and a
|
||||
jr z, .notFishing
|
||||
ld hl, HookedMonAttackedText
|
||||
|
|
@ -32,7 +32,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
ld b, SILPH_SCOPE
|
||||
call IsItemInBag
|
||||
ld a, [W_ENEMYMONID]
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
cp MAROWAK
|
||||
jr z, .isMarowak
|
||||
ld a, b
|
||||
|
|
@ -61,9 +61,9 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
|
||||
.playSFX
|
||||
xor a
|
||||
ld [$c0f1], a
|
||||
ld [wc0f1], a
|
||||
ld a, $80
|
||||
ld [$c0f2], a
|
||||
ld [wc0f2], a
|
||||
ld a, (SFX_08_77 - SFX_Headers_08) / 3
|
||||
call PlaySound
|
||||
jp WaitForSoundToFinish
|
||||
|
|
@ -95,24 +95,24 @@ GhostCantBeIDdText: ; 58e54 (16:4e54)
|
|||
db "@"
|
||||
|
||||
SendOutMon: ; 58e59 (16:4e59)
|
||||
ld hl, W_ENEMYMONCURHP ; $cfe6
|
||||
ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
ld hl, GoText
|
||||
jr z, .printText
|
||||
xor a
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld hl, W_ENEMYMONCURHP ; $cfe6
|
||||
ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld a, [hli]
|
||||
ld [$cce3], a
|
||||
ld [wcce3], a
|
||||
ld [$ff97], a
|
||||
ld a, [hl]
|
||||
ld [$cce4], a
|
||||
ld [wcce4], a
|
||||
ld [$ff98], a
|
||||
ld a, $19
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
call Multiply
|
||||
ld hl, W_ENEMYMONMAXHP ; $cff4
|
||||
ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
ld a, [hli]
|
||||
ld b, [hl]
|
||||
srl a
|
||||
|
|
@ -173,8 +173,8 @@ PlayerMon2Text: ; 58ed7 (16:4ed7)
|
|||
db $08 ; asm
|
||||
push de
|
||||
push bc
|
||||
ld hl, $cfe7
|
||||
ld de, $cce4
|
||||
ld hl, W_ENEMYMONCURHP + 1
|
||||
ld de, wcce4
|
||||
ld b, [hl]
|
||||
dec hl
|
||||
ld a, [de]
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@ DecrementPP: ; 68000 (1a:4000)
|
|||
ret nz ; if any of these statuses are true, don't decrement PP
|
||||
bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2
|
||||
ret nz ; and return if it is set
|
||||
ld hl, $D02D ; PP of first move (in battle)
|
||||
ld hl, W_PLAYERMONPP ; PP of first move (in battle)
|
||||
call .DecrementPP
|
||||
|
||||
ld a, [$D064] ; load pokemon status bits?
|
||||
ld a, [W_PLAYERBATTSTATUS3] ; load pokemon status bits?
|
||||
bit 3, a ; XXX transform status?
|
||||
ret nz ; If it is, return. Pokemon Red stores the "current pokemon's" PP
|
||||
; separately from the "Pokemon in your party's" PP. This is
|
||||
|
|
@ -26,12 +26,12 @@ DecrementPP: ; 68000 (1a:4000)
|
|||
; its opponent, which is *not* the same as its real PP as part of your
|
||||
; party. So we return, and don't do that part.
|
||||
|
||||
ld hl, $D188 ; PP of first move (in party)
|
||||
ld a, [$CC2F] ; which mon in party is active
|
||||
ld hl, W_PARTYMON1_MOVE1PP ; PP of first move (in party)
|
||||
ld a, [wPlayerMonNumber] ; which mon in party is active
|
||||
ld bc, $2C ; XXX probably size of party pokemon's data structure
|
||||
call AddNTimes ; calculate address of the mon to modify
|
||||
.DecrementPP
|
||||
ld a, [$CC2E] ; which move (0, 1, 2, 3) did we use?
|
||||
ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use?
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl ,bc ; calculate the address in memory of the PP we need to decrement
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ Func_708ca: ; 708ca (1c:48ca)
|
|||
ld a, $e4
|
||||
ld [rOBP1], a ; $ff49
|
||||
call Func_7092a
|
||||
FuncCoord 12, 0 ; $c3ac
|
||||
FuncCoord 12, 0
|
||||
ld hl, Coord
|
||||
ld bc, $707
|
||||
call ClearScreenArea
|
||||
|
|
@ -10,7 +10,7 @@ Func_708ca: ; 708ca (1c:48ca)
|
|||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld a, $91
|
||||
ld [$cee9], a
|
||||
ld [wHPBarMaxHP], a
|
||||
ld a, $1
|
||||
ld [H_WHOSETURN], a ; $fff3
|
||||
callab Func_79793
|
||||
|
|
@ -50,22 +50,22 @@ Func_7092a: ; 7092a (1c:492a)
|
|||
ld bc, $31
|
||||
call CopyVideoData
|
||||
ld a, $10
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, $70
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld hl, wOAMBuffer
|
||||
ld bc, $606
|
||||
ld d, $8
|
||||
.asm_70948
|
||||
push bc
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld e, a
|
||||
.asm_7094d
|
||||
ld a, e
|
||||
add $8
|
||||
ld e, a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
|
|
@ -75,9 +75,9 @@ Func_7092a: ; 7092a (1c:492a)
|
|||
dec c
|
||||
jr nz, .asm_7094d
|
||||
inc d
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
add $8
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .asm_70948
|
||||
|
|
@ -90,9 +90,9 @@ Func_7096d: ; 7096d (1c:496d)
|
|||
xor a
|
||||
ld [$ffb0], a
|
||||
dec a
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
call DelayFrame
|
||||
ld hl, $c102
|
||||
ld hl, wSpriteStateData1 + 2
|
||||
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
|
@ -106,7 +106,7 @@ Func_7096d: ; 7096d (1c:496d)
|
|||
add hl, de
|
||||
dec c
|
||||
jr nz, .asm_70989
|
||||
ld hl, $c310
|
||||
ld hl, wOAMBuffer + $10
|
||||
ld c, $9
|
||||
.asm_70998
|
||||
ld a, b
|
||||
|
|
@ -128,7 +128,7 @@ Func_7096d: ; 7096d (1c:496d)
|
|||
call Delay3
|
||||
call LoadBattleTransitionTile
|
||||
ld bc, $0
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $4
|
||||
jr z, .asm_709c9
|
||||
call Func_709e2
|
||||
|
|
@ -154,7 +154,7 @@ PointerTable_709d2: ; 709d2 (1c:49d2)
|
|||
dw Func_70bca
|
||||
|
||||
Func_709e2: ; 709e2 (1c:49e2)
|
||||
ld a, [W_CUROPPONENT] ; $d059
|
||||
ld a, [W_CUROPPONENT] ; wd059
|
||||
cp $c8
|
||||
jr nc, .asm_709ec
|
||||
res 0, c
|
||||
|
|
@ -164,7 +164,7 @@ Func_709e2: ; 709e2 (1c:49e2)
|
|||
ret
|
||||
|
||||
Func_709ef: ; 709ef (1c:49ef)
|
||||
ld hl, W_PARTYMON1_HP ; $d16c
|
||||
ld hl, W_PARTYMON1_HP ; wd16c
|
||||
.asm_709f2
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
|
|
@ -178,21 +178,21 @@ Func_709ef: ; 709ef (1c:49ef)
|
|||
ld a, [hl]
|
||||
add $3
|
||||
ld e, a
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
sub e
|
||||
jr nc, .asm_70a12
|
||||
res 1, c
|
||||
ld a, $1
|
||||
ld [$cd47], a
|
||||
ld [wcd47], a
|
||||
ret
|
||||
.asm_70a12
|
||||
set 1, c
|
||||
xor a
|
||||
ld [$cd47], a
|
||||
ld [wcd47], a
|
||||
ret
|
||||
|
||||
Func_70a19: ; 70a19 (1c:4a19)
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld e, a
|
||||
ld hl, MapIDList_70a3f ; $4a3f
|
||||
.asm_70a20
|
||||
|
|
@ -266,20 +266,20 @@ Func_70a69: ; 70a69 (1c:4a69)
|
|||
ret
|
||||
|
||||
Func_70a72: ; 70a72 (1c:4a72)
|
||||
ld a, [$cd47]
|
||||
ld a, [wcd47]
|
||||
and a
|
||||
jr z, .asm_70a7d
|
||||
call Func_70aaa
|
||||
jr .asm_70a9f
|
||||
.asm_70a7d
|
||||
FuncCoord 10, 10 ; $c472
|
||||
FuncCoord 10, 10
|
||||
ld hl, Coord
|
||||
ld a, $3
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld a, l
|
||||
ld [$d09b], a
|
||||
ld [wd09b], a
|
||||
ld a, h
|
||||
ld [$d09a], a
|
||||
ld [wd09a], a
|
||||
ld b, $78
|
||||
.asm_70a8f
|
||||
ld c, $3
|
||||
|
|
@ -295,13 +295,13 @@ Func_70a72: ; 70a72 (1c:4a72)
|
|||
.asm_70a9f
|
||||
call Func_70a69
|
||||
xor a
|
||||
ld [$d09b], a
|
||||
ld [$d09a], a
|
||||
ld [wd09b], a
|
||||
ld [wd09a], a
|
||||
ret
|
||||
|
||||
Func_70aaa: ; 70aaa (1c:4aaa)
|
||||
ld a, $7
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld hl, wTileMap
|
||||
ld c, $11
|
||||
ld de, $14
|
||||
|
|
@ -335,13 +335,13 @@ Func_70ae0: ; 70ae0 (1c:4ae0)
|
|||
ld [hl], $ff
|
||||
add hl, de
|
||||
push bc
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
dec a
|
||||
jr nz, .asm_70af0
|
||||
call Func_70d19
|
||||
ld a, $7
|
||||
.asm_70af0
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .asm_70ae1
|
||||
|
|
@ -351,11 +351,11 @@ Func_70ae0: ; 70ae0 (1c:4ae0)
|
|||
Func_70af9: ; 70af9 (1c:4af9)
|
||||
ld bc, $ffec
|
||||
ld de, $14
|
||||
ld a, [$d09b]
|
||||
ld a, [wd09b]
|
||||
ld l, a
|
||||
ld a, [$d09a]
|
||||
ld a, [wd09a]
|
||||
ld h, a
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
cp $0
|
||||
jr z, .asm_70b25
|
||||
cp $1
|
||||
|
|
@ -368,9 +368,9 @@ Func_70af9: ; 70af9 (1c:4af9)
|
|||
ld [hl], $ff
|
||||
.asm_70b1c
|
||||
ld a, l
|
||||
ld [$d09b], a
|
||||
ld [wd09b], a
|
||||
ld a, h
|
||||
ld [$d09a], a
|
||||
ld [wd09a], a
|
||||
ret
|
||||
.asm_70b25
|
||||
dec hl
|
||||
|
|
@ -406,13 +406,13 @@ Func_70af9: ; 70af9 (1c:4af9)
|
|||
jr .asm_70b1a
|
||||
.asm_70b4d
|
||||
ld [hl], $ff
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
inc a
|
||||
cp $4
|
||||
jr nz, .asm_70b58
|
||||
xor a
|
||||
.asm_70b58
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
jr .asm_70b1c
|
||||
|
||||
Func_70b5d: ; 70b5d (1c:4b5d)
|
||||
|
|
@ -440,27 +440,27 @@ Func_70b7f: ; 70b7f (1c:4b7f)
|
|||
push bc
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
FuncCoord 0, 7 ; $c42c
|
||||
FuncCoord 0, 7
|
||||
ld hl, Coord
|
||||
FuncCoord 0, 8 ; $c440
|
||||
FuncCoord 0, 8
|
||||
ld de, Coord
|
||||
ld bc, $ffd8
|
||||
call Func_70c12
|
||||
FuncCoord 0, 10 ; $c468
|
||||
FuncCoord 0, 10
|
||||
ld hl, Coord
|
||||
FuncCoord 0, 9 ; $c454
|
||||
FuncCoord 0, 9
|
||||
ld de, Coord
|
||||
ld bc, $28
|
||||
call Func_70c12
|
||||
FuncCoord 8, 0 ; $c3a8
|
||||
FuncCoord 8, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 9, 0 ; $c3a9
|
||||
FuncCoord 9, 0
|
||||
ld de, Coord
|
||||
ld bc, $fffe
|
||||
call Func_70c3f
|
||||
FuncCoord 11, 0 ; $c3ab
|
||||
FuncCoord 11, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 10, 0 ; $c3aa
|
||||
FuncCoord 10, 0
|
||||
ld de, Coord
|
||||
ld bc, $2
|
||||
call Func_70c3f
|
||||
|
|
@ -481,24 +481,24 @@ Func_70bca: ; 70bca (1c:4bca)
|
|||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
.asm_70bcf
|
||||
push bc
|
||||
FuncCoord 0, 16 ; $c4e0
|
||||
FuncCoord 0, 16
|
||||
ld hl, Coord
|
||||
FuncCoord 0, 17 ; $c4f4
|
||||
FuncCoord 0, 17
|
||||
ld de, Coord
|
||||
ld bc, $ffd8
|
||||
call Func_70c12
|
||||
FuncCoord 0, 1 ; $c3b4
|
||||
FuncCoord 0, 1
|
||||
ld hl, Coord
|
||||
ld de, wTileMap
|
||||
ld bc, $28
|
||||
call Func_70c12
|
||||
FuncCoord 18, 0 ; $c3b2
|
||||
FuncCoord 18, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 19, 0 ; $c3b3
|
||||
FuncCoord 19, 0
|
||||
ld de, Coord
|
||||
ld bc, $fffe
|
||||
call Func_70c3f
|
||||
FuncCoord 1, 0 ; $c3a1
|
||||
FuncCoord 1, 0
|
||||
ld hl, Coord
|
||||
ld de, wTileMap
|
||||
ld bc, $2
|
||||
|
|
@ -514,9 +514,9 @@ Func_70bca: ; 70bca (1c:4bca)
|
|||
|
||||
Func_70c12: ; 70c12 (1c:4c12)
|
||||
ld a, c
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, b
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld c, $8
|
||||
.asm_70c1c
|
||||
push bc
|
||||
|
|
@ -526,9 +526,9 @@ Func_70c12: ; 70c12 (1c:4c12)
|
|||
call CopyData
|
||||
pop hl
|
||||
pop de
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld c, a
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld b, a
|
||||
add hl, bc
|
||||
pop bc
|
||||
|
|
@ -546,9 +546,9 @@ Func_70c12: ; 70c12 (1c:4c12)
|
|||
|
||||
Func_70c3f: ; 70c3f (1c:4c3f)
|
||||
ld a, c
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, b
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld c, $9
|
||||
.asm_70c49
|
||||
push bc
|
||||
|
|
@ -574,9 +574,9 @@ Func_70c3f: ; 70c3f (1c:4c3f)
|
|||
jr nz, .asm_70c4e
|
||||
pop hl
|
||||
pop de
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld c, a
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld b, a
|
||||
add hl, bc
|
||||
pop bc
|
||||
|
|
@ -596,7 +596,7 @@ Func_70c3f: ; 70c3f (1c:4c3f)
|
|||
Func_70c7e: ; 70c7e (1c:4c7e)
|
||||
ld c, $12
|
||||
ld hl, wTileMap
|
||||
FuncCoord 1, 17 ; $c4f5
|
||||
FuncCoord 1, 17
|
||||
ld de, Coord
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
|
|
@ -635,7 +635,7 @@ Func_70caa: ; 70caa (1c:4caa)
|
|||
Func_70cb4: ; 70cb4 (1c:4cb4)
|
||||
ld c, $14
|
||||
ld hl, wTileMap
|
||||
FuncCoord 19, 1 ; $c3c7
|
||||
FuncCoord 19, 1
|
||||
ld de, Coord
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
|
|
@ -736,9 +736,9 @@ Func_70d24: ; 70d24 (1c:4d24)
|
|||
jp Func_70a69
|
||||
|
||||
Func_70d50: ; 70d50 (1c:4d50)
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, [hli]
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld a, [hli]
|
||||
|
|
@ -857,7 +857,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
|
|||
inc de
|
||||
.asm_70dc9
|
||||
ld [hl], $ff
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
and a
|
||||
jr z, .asm_70dd4
|
||||
inc hl
|
||||
|
|
@ -868,7 +868,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
|
|||
dec c
|
||||
jr nz, .asm_70dc9
|
||||
pop hl
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
and a
|
||||
ld bc, $14
|
||||
jr z, .asm_70de5
|
||||
|
|
@ -883,7 +883,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
|
|||
jr z, Func_70dc5
|
||||
ld c, a
|
||||
.asm_70def
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
and a
|
||||
jr z, .asm_70df8
|
||||
dec hl
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
Func_128d8: ; 128d8 (4:68d8)
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
ld b, a
|
||||
ld a, [W_CURMAPHEIGHT] ; $d368
|
||||
ld a, [W_CURMAPHEIGHT] ; wd368
|
||||
call Func_128ea
|
||||
ret z
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
ld b, a
|
||||
ld a, [W_CURMAPWIDTH] ; $d369
|
||||
ld a, [W_CURMAPWIDTH] ; wd369
|
||||
|
||||
Func_128ea: ; 128ea (4:68ea)
|
||||
add a
|
||||
|
|
@ -24,11 +24,11 @@ Func_128f6: ; 128f6 (4:68f6)
|
|||
call GetPredefRegisters
|
||||
ld a, $2
|
||||
asm_128fb: ; 128fb (4:68fb)
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
push hl
|
||||
ld a, [$cf99]
|
||||
ld a, [wcf99]
|
||||
ld b, a
|
||||
ld a, [$cf9a]
|
||||
ld a, [wcf9a]
|
||||
ld c, a
|
||||
or b
|
||||
jr nz, .asm_12913
|
||||
|
|
@ -39,9 +39,9 @@ asm_128fb: ; 128fb (4:68fb)
|
|||
ld d, a
|
||||
jp Func_12924
|
||||
.asm_12913
|
||||
ld a, [$cfba]
|
||||
ld a, [wcfba]
|
||||
ld d, a
|
||||
ld a, [$cfbb]
|
||||
ld a, [wcfbb]
|
||||
ld e, a
|
||||
ld a, $26
|
||||
call Predef ; indirect jump to UpdateHPBar_LoadRegisters (f9dc (3:79dc))
|
||||
|
|
@ -65,12 +65,12 @@ Func_12924: ; 12924 (4:6924)
|
|||
ld bc, $15
|
||||
.asm_1293a
|
||||
add hl, bc
|
||||
ld de, $cf99
|
||||
ld de, wcf99
|
||||
ld bc, $203
|
||||
call PrintNumber
|
||||
ld a, "/"
|
||||
ld [hli], a
|
||||
ld de, $cfba
|
||||
ld de, wcfba
|
||||
ld bc, $203
|
||||
call PrintNumber
|
||||
pop hl
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
Func_137aa: ; 137aa (4:77aa)
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $4
|
||||
jr nz, .asm_137eb
|
||||
ld a, [W_ENEMYMONNUMBER] ; $cfe8
|
||||
ld hl, $d8a8
|
||||
ld a, [W_ENEMYMONNUMBER] ; W_ENEMYMONNUMBER
|
||||
ld hl, wd8a8
|
||||
ld bc, $2c
|
||||
call AddNTimes
|
||||
ld a, [W_ENEMYMONSTATUS] ; $cfe9
|
||||
ld a, [W_ENEMYMONSTATUS] ; wcfe9
|
||||
ld [hl], a
|
||||
call ClearScreen
|
||||
callab Func_372d6
|
||||
ld a, [$cf0b]
|
||||
ld a, [wcf0b]
|
||||
cp $1
|
||||
ld de, YouWinText
|
||||
jr c, .asm_137de
|
||||
|
|
@ -18,23 +18,23 @@ Func_137aa: ; 137aa (4:77aa)
|
|||
jr z, .asm_137de
|
||||
ld de, DrawText
|
||||
.asm_137de
|
||||
FuncCoord 6, 8 ; $c446
|
||||
FuncCoord 6, 8
|
||||
ld hl, Coord
|
||||
call PlaceString
|
||||
ld c, $c8
|
||||
call DelayFrames
|
||||
jr .asm_1380a
|
||||
.asm_137eb
|
||||
ld a, [$cf0b]
|
||||
ld a, [wcf0b]
|
||||
and a
|
||||
jr nz, .asm_13813
|
||||
ld hl, $cce5
|
||||
ld hl, wcce5
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
inc hl
|
||||
or [hl]
|
||||
jr z, .asm_1380a
|
||||
ld de, wPlayerMoney + 2 ; $d349
|
||||
ld de, wPlayerMoney + 2 ; wd349
|
||||
ld c, $3
|
||||
ld a, $b ; AddBCDPredef
|
||||
call Predef
|
||||
|
|
@ -42,38 +42,38 @@ Func_137aa: ; 137aa (4:77aa)
|
|||
call PrintText
|
||||
.asm_1380a
|
||||
xor a
|
||||
ld [$ccd4], a
|
||||
ld [wccd4], a
|
||||
ld a, $2a
|
||||
call Predef ; indirect jump to Func_3ad1c (3ad1c (e:6d1c))
|
||||
.asm_13813
|
||||
xor a
|
||||
ld [$d083], a
|
||||
ld [$c02a], a
|
||||
ld [W_ISINBATTLE], a ; $d057
|
||||
ld [W_BATTLETYPE], a ; $d05a
|
||||
ld [W_MOVEMISSED], a ; $d05f
|
||||
ld [W_CUROPPONENT], a ; $d059
|
||||
ld [$d11f], a
|
||||
ld [$d120], a
|
||||
ld [$d078], a
|
||||
ld hl, $cc2b
|
||||
ld [wd083], a
|
||||
ld [wc02a], a
|
||||
ld [W_ISINBATTLE], a ; W_ISINBATTLE
|
||||
ld [W_BATTLETYPE], a ; wd05a
|
||||
ld [W_MOVEMISSED], a ; W_MOVEMISSED
|
||||
ld [W_CUROPPONENT], a ; wd059
|
||||
ld [wd11f], a
|
||||
ld [wd120], a
|
||||
ld [wd078], a
|
||||
ld hl, wcc2b
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld hl, $d060
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld hl, wd060
|
||||
ld b, $18
|
||||
.asm_1383e
|
||||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .asm_1383e
|
||||
ld hl, $d72c
|
||||
ld hl, wd72c
|
||||
set 0, [hl]
|
||||
call WaitForSoundToFinish
|
||||
call GBPalWhiteOut
|
||||
ld a, $ff
|
||||
ld [$d42f], a
|
||||
ld [wd42f], a
|
||||
ret
|
||||
|
||||
YouWinText: ; 13853 (4:7853)
|
||||
|
|
@ -90,10 +90,10 @@ PickUpPayDayMoneyText: ; 1386b (4:786b)
|
|||
db "@"
|
||||
|
||||
Func_13870: ; 13870 (4:7870)
|
||||
ld a, [$cc57]
|
||||
ld a, [wcc57]
|
||||
and a
|
||||
ret nz
|
||||
ld a, [$d736]
|
||||
ld a, [wd736]
|
||||
and a
|
||||
ret nz
|
||||
callab Func_c49d
|
||||
|
|
@ -105,31 +105,31 @@ Func_13870: ; 13870 (4:7870)
|
|||
.asm_13888
|
||||
callab Func_128d8
|
||||
jr z, .asm_13884
|
||||
ld a, [$d0db]
|
||||
ld a, [wd0db]
|
||||
and a
|
||||
jr z, .asm_1389e
|
||||
dec a
|
||||
jr z, .asm_13905
|
||||
ld [$d0db], a
|
||||
ld [wd0db], a
|
||||
.asm_1389e
|
||||
FuncCoord 9, 9 ; $c45d
|
||||
FuncCoord 9, 9
|
||||
ld hl, Coord
|
||||
ld c, [hl]
|
||||
ld a, [W_GRASSTILE]
|
||||
cp c
|
||||
ld a, [W_GRASSRATE] ; $d887
|
||||
ld a, [W_GRASSRATE] ; W_GRASSRATE
|
||||
jr z, .asm_138c4
|
||||
ld a, $14
|
||||
cp c
|
||||
ld a, [W_WATERRATE] ; $d8a4
|
||||
ld a, [W_WATERRATE] ; wEnemyMon1Species
|
||||
jr z, .asm_138c4
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp REDS_HOUSE_1F
|
||||
jr c, .asm_13912
|
||||
ld a, [W_CURMAPTILESET] ; $d367
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
cp FOREST ; Viridian Forest/Safari Zone
|
||||
jr z, .asm_13912
|
||||
ld a, [W_GRASSRATE] ; $d887
|
||||
ld a, [W_GRASSRATE] ; W_GRASSRATE
|
||||
.asm_138c4
|
||||
ld b, a
|
||||
ld a, [hRandomAdd]
|
||||
|
|
@ -146,31 +146,31 @@ Func_13870: ; 13870 (4:7870)
|
|||
jr .asm_138d0
|
||||
.asm_138d7
|
||||
ld c, [hl]
|
||||
ld hl, W_GRASSMONS ; $d888
|
||||
FuncCoord 8, 9 ; $c45c
|
||||
ld hl, W_GRASSMONS ; wd888
|
||||
FuncCoord 8, 9
|
||||
ld a, [Coord]
|
||||
cp $14
|
||||
jr nz, .asm_138e5
|
||||
ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP)
|
||||
ld hl, W_WATERMONS ; wd8a5 (aliases: W_ENEMYMON1HP)
|
||||
.asm_138e5
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [W_CURENEMYLVL], a ; $d127
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
ld a, [hl]
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
ld [W_ENEMYMONID], a
|
||||
ld a, [$d0db]
|
||||
ld a, [wd0db]
|
||||
and a
|
||||
jr z, .asm_13916
|
||||
ld a, [W_PARTYMON1_LEVEL] ; $d18c
|
||||
ld a, [W_PARTYMON1_LEVEL] ; W_PARTYMON1_LEVEL
|
||||
ld b, a
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
cp b
|
||||
jr c, .asm_13912
|
||||
jr .asm_13916
|
||||
.asm_13905
|
||||
ld [$d0db], a
|
||||
ld [wd0db], a
|
||||
ld a, $d2
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
|
@ -202,14 +202,14 @@ WildMonEncounterSlotChances: ; 13918 (4:7918)
|
|||
RecoilEffect_: ; 1392c (4:792c)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [W_PLAYERMOVENUM] ; $cfd2
|
||||
ld hl, W_PLAYERMONMAXHP ; $d023
|
||||
ld a, [W_PLAYERMOVENUM] ; wcfd2
|
||||
ld hl, W_PLAYERMONMAXHP ; wd023
|
||||
jr z, .asm_1393d
|
||||
ld a, [W_ENEMYMOVENUM] ; $cfcc
|
||||
ld hl, W_ENEMYMONMAXHP ; $cff4
|
||||
ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
|
||||
ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
.asm_1393d
|
||||
ld d, a
|
||||
ld a, [W_DAMAGE] ; $d0d7
|
||||
ld a, [W_DAMAGE] ; W_DAMAGE
|
||||
ld b, a
|
||||
ld a, [W_DAMAGE + 1]
|
||||
ld c, a
|
||||
|
|
@ -252,17 +252,17 @@ RecoilEffect_: ; 1392c (4:792c)
|
|||
ld [hli], a
|
||||
ld [hl], a
|
||||
.asm_13982
|
||||
FuncCoord 10, 9 ; $c45e
|
||||
FuncCoord 10, 9
|
||||
ld hl, Coord
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, $1
|
||||
jr z, .asm_13990
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
xor a
|
||||
.asm_13990
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
ld a, $48
|
||||
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
|
||||
ld hl, HitWithRecoilText ; $799e
|
||||
|
|
@ -312,10 +312,10 @@ HazeEffect_: ; 139da (4:79da)
|
|||
call Func_13a43
|
||||
ld hl, wEnemyMonAttackMod
|
||||
call Func_13a43
|
||||
ld hl, $cd12
|
||||
ld hl, wcd12
|
||||
ld de, W_PLAYERMONATK
|
||||
call Func_13a4a
|
||||
ld hl, $cd26
|
||||
ld hl, wcd26
|
||||
ld de, W_ENEMYMONATTACK
|
||||
call Func_13a4a
|
||||
ld hl, W_ENEMYMONSTATUS
|
||||
|
|
@ -338,7 +338,7 @@ HazeEffect_: ; 139da (4:79da)
|
|||
xor a
|
||||
ld [W_PLAYERDISABLEDMOVE], a
|
||||
ld [W_ENEMYDISABLEDMOVE], a
|
||||
ld hl, $ccee
|
||||
ld hl, wccee
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld hl, W_PLAYERBATTSTATUS1
|
||||
|
|
@ -384,25 +384,25 @@ StatusChangesEliminatedText: ; 13a53 (4:7a53)
|
|||
db "@"
|
||||
|
||||
GetTrainerName_: ; 13a58 (4:7a58)
|
||||
ld hl, W_GRASSRATE ; $d887
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld hl, W_GRASSRATE ; W_GRASSRATE
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
and a
|
||||
jr nz, .rival
|
||||
ld hl, W_RIVALNAME ; $d34a
|
||||
ld a, [W_TRAINERCLASS] ; $d031
|
||||
ld hl, W_RIVALNAME ; wd34a
|
||||
ld a, [W_TRAINERCLASS] ; wd031
|
||||
cp SONY1
|
||||
jr z, .rival
|
||||
cp SONY2
|
||||
jr z, .rival
|
||||
cp SONY3
|
||||
jr z, .rival
|
||||
ld [$d0b5], a
|
||||
ld [wd0b5], a
|
||||
ld a, TRAINER_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
ld a, $e
|
||||
ld [$d0b7], a
|
||||
ld [wPredefBank], a
|
||||
call GetName
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
.rival
|
||||
ld de, W_TRAINERNAME
|
||||
ld bc, $d
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ SubstituteEffectHandler: ; 17dad (5:7dad)
|
|||
ld h, b
|
||||
ld l, c
|
||||
set 4, [hl] ;set bit 4 of flags, user now has substitute
|
||||
ld a, [$d355] ;load options
|
||||
ld a, [W_OPTIONS] ;load options
|
||||
bit 7, a ;battle animation is enabled?
|
||||
ld hl, Func_3fba8 ; $7ba8 ;animation enabled: 0F:7BA8
|
||||
ld b, BANK(Func_3fba8)
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ asm_27d8c: ; 27d8c (9:7d8c)
|
|||
Func_27d98: ; 27d98 (9:7d98)
|
||||
call GetPredefRegisters
|
||||
push hl
|
||||
ld a, [W_PLAYERMOVETYPE] ; $cfd5
|
||||
ld a, [W_PLAYERMOVETYPE] ; wcfd5
|
||||
asm_27d9f: ; 27d9f (9:7d9f)
|
||||
add a
|
||||
ld hl, TypeNamePointers ; $7dae
|
||||
|
|
@ -54,7 +54,7 @@ SaveTrainerName: ; 27e4a (9:7e4a)
|
|||
ld a,[hli]
|
||||
ld h,[hl]
|
||||
ld l,a
|
||||
ld de,$CD6D
|
||||
ld de,wcd6d
|
||||
.CopyCharacter
|
||||
ld a,[hli]
|
||||
ld [de],a
|
||||
|
|
@ -157,11 +157,11 @@ CooltrainerFName: ; 27f79 (9:7f79)
|
|||
db "COOLTRAINER♀@"
|
||||
|
||||
FocusEnergyEffect_: ; 27f86 (9:7f86)
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; $d063
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_27f91
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; $d068
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
|
||||
.asm_27f91
|
||||
bit 2, [hl] ; is mon already using focus energy?
|
||||
jr nz, .asm_27fa5
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
LeechSeedEffect_: ; 2bea9 (a:7ea9)
|
||||
callab MoveHitTest
|
||||
ld a, [W_MOVEMISSED] ; $d05f
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
and a
|
||||
jr nz, .asm_2bee7
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; $d068
|
||||
ld de, W_ENEMYMONTYPE1 ; $cfea (aliases: W_ENEMYMONTYPES)
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
|
||||
ld de, W_ENEMYMONTYPE1 ; wcfea (aliases: W_ENEMYMONTYPES)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_2bec8
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; $d063
|
||||
ld de, W_PLAYERMONTYPE1 ; $d019 (aliases: W_PLAYERMONTYPES)
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
|
||||
ld de, W_PLAYERMONTYPE1 ; wd019 (aliases: W_PLAYERMONTYPES)
|
||||
.asm_2bec8
|
||||
ld a, [de]
|
||||
cp GRASS
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
|
|||
rla
|
||||
sla c
|
||||
rla
|
||||
ld [$D09F],a ; tile select
|
||||
ld [wd09f],a ; tile select
|
||||
ld a,[hli] ; sound
|
||||
ld [wAnimSoundID],a ; store sound
|
||||
ld a,[hli] ; subanimation ID
|
||||
|
|
@ -243,7 +243,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
|
|||
push hl
|
||||
ld a,[rOBP0]
|
||||
push af
|
||||
ld a,[$CC79]
|
||||
ld a,[wcc79]
|
||||
ld [rOBP0],a
|
||||
call LoadAnimationTileset
|
||||
call LoadSubanimation
|
||||
|
|
@ -328,7 +328,7 @@ GetSubanimationTransform2: ; 781ca (1e:41ca)
|
|||
|
||||
; loads tile patterns for battle animations
|
||||
LoadAnimationTileset: ; 781d2 (1e:41d2)
|
||||
ld a,[$D09F] ; tileset select
|
||||
ld a,[wd09f] ; tileset select
|
||||
add a
|
||||
add a
|
||||
ld hl,AnimationTilesetPointers
|
||||
|
|
@ -336,14 +336,14 @@ LoadAnimationTileset: ; 781d2 (1e:41d2)
|
|||
ld d,0
|
||||
add hl,de
|
||||
ld a,[hli]
|
||||
ld [$D07D],a ; number of tiles
|
||||
ld [wd07d],a ; number of tiles
|
||||
ld a,[hli]
|
||||
ld e,a
|
||||
ld a,[hl]
|
||||
ld d,a ; de = address of tileset
|
||||
ld hl,$8310 ; destination address in VRAM
|
||||
ld b, BANK(AnimationTileset1) ; ROM bank
|
||||
ld a,[$D07D]
|
||||
ld a,[wd07d]
|
||||
ld c,a ; number of tiles
|
||||
jp CopyVideoData ; load tileset
|
||||
|
||||
|
|
@ -394,7 +394,7 @@ MoveAnimation: ; 78d5e (1e:4d5e)
|
|||
|
||||
.MoveAnimation
|
||||
; check if battle animations are disabled in the options
|
||||
ld a,[$D355]
|
||||
ld a,[W_OPTIONS]
|
||||
bit 7,a
|
||||
jr nz,.AnimationsDisabled
|
||||
call ShareMoveAnimations
|
||||
|
|
@ -408,11 +408,11 @@ MoveAnimation: ; 78d5e (1e:4d5e)
|
|||
.AnimationFinished
|
||||
call WaitForSoundToFinish
|
||||
xor a
|
||||
ld [$D096],a
|
||||
ld [$D09B],a
|
||||
ld [$D08B],a
|
||||
ld [W_SUBANIMSUBENTRYADDR],a
|
||||
ld [wd09b],a
|
||||
ld [W_SUBANIMTRANSFORM],a
|
||||
dec a
|
||||
ld [$CF07],a
|
||||
ld [wAnimSoundID],a
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
|
|
@ -443,7 +443,7 @@ ShareMoveAnimations: ; 78da6 (1e:4da6)
|
|||
ret
|
||||
|
||||
Func_78dbd: ; 78dbd (1e:4dbd)
|
||||
ld a,[$CC5B]
|
||||
ld a,[wcc5b]
|
||||
and a
|
||||
ret z
|
||||
dec a
|
||||
|
|
@ -517,14 +517,14 @@ Func_78e01: ; 78e01 (1e:4e01)
|
|||
ret
|
||||
|
||||
Func_78e23: ; 78e23 (1e:4e23)
|
||||
ld a, [$cf1b]
|
||||
ld a, [wcf1b]
|
||||
and a
|
||||
ld a, $e4
|
||||
jr z, .asm_78e47
|
||||
ld a, $f0
|
||||
ld [$cc79], a
|
||||
ld [wcc79], a
|
||||
ld b, $e4
|
||||
ld a, [W_ANIMATIONID] ; $d07c
|
||||
ld a, [W_ANIMATIONID] ; W_ANIMATIONID
|
||||
cp $aa
|
||||
jr c, .asm_78e3f
|
||||
cp $ae
|
||||
|
|
@ -538,7 +538,7 @@ Func_78e23: ; 78e23 (1e:4e23)
|
|||
ret
|
||||
.asm_78e47
|
||||
ld a, $e4
|
||||
ld [$cc79], a
|
||||
ld [wcc79], a
|
||||
ld [rOBP0], a ; $ff48
|
||||
ld a, $6c
|
||||
ld [rOBP1], a ; $ff49
|
||||
|
|
@ -724,7 +724,7 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
|
|||
db $FF ; terminator
|
||||
|
||||
DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
|
||||
ld a,[$CF91]
|
||||
ld a,[wcf91]
|
||||
cp a,3 ; is it a Master Ball or Ultra Ball?
|
||||
jr nc,.skipFlashingEffect
|
||||
.flashingEffect ; do a flashing effect if it's Master Ball or Ultra Ball
|
||||
|
|
@ -742,7 +742,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
|
|||
ld a,[W_ISINBATTLE]
|
||||
cp a,02 ; is it a trainer battle?
|
||||
jr z,.isTrainerBattle
|
||||
ld a,[$d11e]
|
||||
ld a,[wd11e]
|
||||
cp a,$10 ; is the enemy pokemon the Ghost Marowak?
|
||||
ret nz
|
||||
; if the enemy pokemon is the Ghost Marowak, make it dodge during the last 3 frames
|
||||
|
|
@ -792,9 +792,9 @@ DoBallShakeSpecialEffects: ; 78f96 (1e:4f96)
|
|||
dec a
|
||||
ret nz
|
||||
; if it's the end of the ball shaking subanimation, check if more shakes are left and restart the subanimation
|
||||
ld a,[$cd3d] ; number of shakes
|
||||
ld a,[wWhichTrade] ; number of shakes
|
||||
dec a ; decrement number of shakes
|
||||
ld [$cd3d],a
|
||||
ld [wWhichTrade],a
|
||||
ret z
|
||||
; if there are shakes left, restart the subanimation
|
||||
ld a,[W_SUBANIMSUBENTRYADDR]
|
||||
|
|
@ -856,7 +856,7 @@ DoExplodeSpecialEffects: ; 79009 (1e:5009)
|
|||
cp a,1 ; is it the end of the subanimation?
|
||||
jr nz,FlashScreenEveryFourFrameBlocks
|
||||
; if it's the end of the subanimation, make the attacking pokemon disappear
|
||||
FuncCoord 1, 5 ; $c405
|
||||
FuncCoord 1, 5
|
||||
ld hl,Coord
|
||||
jp AnimationHideMonPic ; make pokemon disappear
|
||||
|
||||
|
|
@ -975,7 +975,7 @@ BallMoveDistances2: ; 790b3 (1e:50b3)
|
|||
; so that there are two musical notes flying towards the defending pokemon
|
||||
DoGrowlSpecialEffects: ; 790bc (1e:50bc)
|
||||
ld hl,wOAMBuffer ; OAM buffer
|
||||
ld de,$c310
|
||||
ld de,wOAMBuffer + $10
|
||||
ld bc,$10
|
||||
call CopyData ; copy the musical note graphic
|
||||
ld a,[W_SUBANIMCOUNTER]
|
||||
|
|
@ -1094,8 +1094,8 @@ CallWithTurnFlipped: ; 79155 (1e:5155)
|
|||
; flashes the screen for an extended period (48 frames)
|
||||
AnimationFlashScreenLong: ; 79165 (1e:5165)
|
||||
ld a,3 ; cycle through the palettes 3 times
|
||||
ld [$D08A],a
|
||||
ld a,[$cf1b] ; running on SGB?
|
||||
ld [wd08a],a
|
||||
ld a,[wcf1b] ; running on SGB?
|
||||
and a
|
||||
ld hl,FlashScreenLongMonochrome
|
||||
jr z,.loop
|
||||
|
|
@ -1110,9 +1110,9 @@ AnimationFlashScreenLong: ; 79165 (1e:5165)
|
|||
call FlashScreenLongDelay
|
||||
jr .innerLoop
|
||||
.endOfPalettes
|
||||
ld a,[$D08A]
|
||||
ld a,[wd08a]
|
||||
dec a
|
||||
ld [$D08A],a
|
||||
ld [wd08a],a
|
||||
pop hl
|
||||
jr nz,.loop
|
||||
ret
|
||||
|
|
@ -1152,8 +1152,8 @@ FlashScreenLongSGB: ; 7919b (1e:519b)
|
|||
; causes a delay of 2 frames for the first cycle
|
||||
; causes a delay of 1 frame for the second and third cycles
|
||||
FlashScreenLongDelay: ; 791a8 (1e:51a8)
|
||||
ld a,[$D08A]
|
||||
cp a,4 ; never true since [$D08A] starts at 3
|
||||
ld a,[wd08a]
|
||||
cp a,4 ; never true since [wd08a] starts at 3
|
||||
ld c,4
|
||||
jr z,.delayFrames
|
||||
cp a,3
|
||||
|
|
@ -1215,7 +1215,7 @@ Func_791f9: ; 791f9 (1e:51f9)
|
|||
ld bc, $4040
|
||||
|
||||
Func_791fc: ; 791fc (1e:51fc)
|
||||
ld a, [$cf1b]
|
||||
ld a, [wcf1b]
|
||||
and a
|
||||
ld a, b
|
||||
jr z, .asm_79204
|
||||
|
|
@ -1243,23 +1243,23 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
|
|||
; scroll. It's hard to describe, but it's the main animation
|
||||
; in Surf/Mist/Toxic.
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call LoadAnimationTileset
|
||||
ld d, $20
|
||||
ld a, $f0
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld a, $71
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
.asm_79228
|
||||
ld a, $10
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, $0
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
call Func_79246
|
||||
ld a, $18
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, $20
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
call Func_79246
|
||||
dec d
|
||||
jr nz, .asm_79228
|
||||
|
|
@ -1268,24 +1268,24 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
|
|||
Func_79246: ; 79246 (1e:5246)
|
||||
ld hl, wOAMBuffer
|
||||
.asm_79249
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
add $1b
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [hli], a
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
ld [hli], a
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
cp $90
|
||||
jr c, .asm_79249
|
||||
sub $a8
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
add $10
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
cp $70
|
||||
jr c, .asm_79249
|
||||
call AnimationCleanOAM
|
||||
|
|
@ -1296,15 +1296,15 @@ AnimationSlideMonUp: ; 7927a (1e:527a)
|
|||
ld c, $7
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, $c419
|
||||
ld de, $c405
|
||||
ld hl, wTileMap + $79
|
||||
ld de, wTileMap + $65
|
||||
ld a, $30
|
||||
jr z, .asm_79291
|
||||
ld hl, $c3c0
|
||||
ld de, $c3ac
|
||||
ld hl, wTileMap + $20
|
||||
ld de, wTileMap + $c
|
||||
ld a, $ff
|
||||
.asm_79291
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
jp Func_792bf
|
||||
|
||||
AnimationSlideMonDown: ; 79297 (1e:5297)
|
||||
|
|
@ -1328,7 +1328,7 @@ AnimationSlideMonOut: ; 792af (1e:52af)
|
|||
; Slides the mon's sprite out of the screen horizontally.
|
||||
ld e, $8
|
||||
ld a, $3
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
jp Func_795f8
|
||||
|
||||
AnimationSlideEnemyMonOut: ; 792b9 (1e:52b9)
|
||||
|
|
@ -1356,13 +1356,13 @@ Func_792bf: ; 792bf (1e:52bf)
|
|||
jr nz, .asm_792c4
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, $c47d
|
||||
ld hl, wTileMap + $dd
|
||||
jr z, .asm_792e2
|
||||
ld hl, $c424
|
||||
ld hl, wTileMap + $84
|
||||
.asm_792e2
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
inc a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld c, $7
|
||||
.asm_792eb
|
||||
ld [hli], a
|
||||
|
|
@ -1409,7 +1409,7 @@ Func_79329: ; 79329 (1e:5329)
|
|||
add $8
|
||||
ld e, a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
|
|
@ -1424,7 +1424,7 @@ Func_79337: ; 79337 (1e:5337)
|
|||
Func_79339: ; 79339 (1e:5339)
|
||||
ld de, $4
|
||||
.asm_7933c
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
add b
|
||||
|
|
@ -1447,7 +1447,7 @@ Func_79350: ; 79350 (1e:5350)
|
|||
Func_79352: ; 79352 (1e:5352)
|
||||
ld de, $4
|
||||
.asm_79355
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
add b
|
||||
|
|
@ -1489,9 +1489,9 @@ AnimationBlinkMon: ; 7936f (1e:536f)
|
|||
AnimationFlashMonPic: ; 79389 (1e:5389)
|
||||
; Flashes the mon's sprite on and off
|
||||
ld a, [W_PLAYERMONID]
|
||||
ld [$ceea], a
|
||||
ld a, [$cfe5]
|
||||
ld [$cee9], a
|
||||
ld [wHPBarMaxHP + 1], a
|
||||
ld a, [wcfe5]
|
||||
ld [wHPBarMaxHP], a
|
||||
jp Func_79793
|
||||
|
||||
AnimationFlashEnemyMonPic: ; 79398 (1e:5398)
|
||||
|
|
@ -1517,11 +1517,11 @@ AnimationShakeBackAndForth: ; 793b1 (1e:53b1)
|
|||
; The mon's sprite disappears after this animation.
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, $c404
|
||||
ld de, $c406
|
||||
ld hl, wTileMap + $64
|
||||
ld de, wTileMap + $66
|
||||
jr z, .asm_793c2
|
||||
ld hl, $c3ab
|
||||
ld de, $c3ad
|
||||
ld hl, wTileMap + $b
|
||||
ld de, wTileMap + $d
|
||||
|
||||
.asm_793c2
|
||||
xor a
|
||||
|
|
@ -1565,10 +1565,10 @@ AnimationMoveMonHorizontally: ; 793f9 (1e:53f9)
|
|||
call AnimationHideMonPic
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
FuncCoord 2, 5 ; $c406
|
||||
FuncCoord 2, 5
|
||||
ld hl, Coord
|
||||
jr z, .asm_79407
|
||||
FuncCoord 11, 0 ; $c3ab
|
||||
FuncCoord 11, 0
|
||||
ld hl, Coord
|
||||
.asm_79407
|
||||
xor a
|
||||
|
|
@ -1597,14 +1597,14 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
|
|||
and a
|
||||
jr z, .asm_79435
|
||||
ld a, $d8
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld a, $50
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
jr .asm_7943c
|
||||
.asm_79435
|
||||
xor a
|
||||
ld [$d08a], a
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [wd08a], a
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
.asm_7943c
|
||||
ld d, $7a
|
||||
ld c, $3
|
||||
|
|
@ -1619,12 +1619,12 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
|
|||
ld a, [hl]
|
||||
cp $ff
|
||||
jr z, .asm_7946f
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
add [hl]
|
||||
ld [de], a
|
||||
inc de
|
||||
inc hl
|
||||
ld a, [W_SUBANIMTRANSFORM] ; $d08b
|
||||
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
|
||||
add [hl]
|
||||
ld [de], a
|
||||
inc hl
|
||||
|
|
@ -1680,24 +1680,24 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1)
|
|||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_794b1
|
||||
FuncCoord 16, 0 ; $c3b0
|
||||
FuncCoord 16, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 14, 0 ; $c3ae
|
||||
FuncCoord 14, 0
|
||||
ld de, Coord
|
||||
jr .asm_794b7
|
||||
.asm_794b1
|
||||
FuncCoord 5, 5 ; $c409
|
||||
FuncCoord 5, 5
|
||||
ld hl, Coord
|
||||
FuncCoord 3, 5 ; $c407
|
||||
FuncCoord 3, 5
|
||||
ld de, Coord
|
||||
.asm_794b7
|
||||
push de
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call Func_794d4
|
||||
pop hl
|
||||
ld a, $1
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call Func_794d4
|
||||
pop bc
|
||||
dec c
|
||||
|
|
@ -1712,7 +1712,7 @@ Func_794d4: ; 794d4 (1e:54d4)
|
|||
push bc
|
||||
push hl
|
||||
ld c, $3
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
cp $0
|
||||
jr nz, .asm_794e7
|
||||
call Func_7985b
|
||||
|
|
@ -1743,9 +1743,9 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
|
|||
ld bc, $3028
|
||||
.asm_79506
|
||||
ld a, b
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, c
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld bc, $501
|
||||
call Func_79517
|
||||
jp AnimationCleanOAM
|
||||
|
|
@ -1753,13 +1753,13 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
|
|||
Func_79517: ; 79517 (1e:5517)
|
||||
push bc
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call LoadAnimationTileset
|
||||
pop bc
|
||||
ld d, $7a
|
||||
ld hl, wOAMBuffer
|
||||
push bc
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld e, a
|
||||
.asm_7952a
|
||||
call Func_79329
|
||||
|
|
@ -1768,12 +1768,12 @@ Func_79517: ; 79517 (1e:5517)
|
|||
call DelayFrame
|
||||
pop bc
|
||||
ld a, b
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
.asm_79538
|
||||
push bc
|
||||
ld hl, wOAMBuffer
|
||||
.asm_7953c
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
add $8
|
||||
ld e, a
|
||||
ld a, [hl]
|
||||
|
|
@ -1784,9 +1784,9 @@ Func_79517: ; 79517 (1e:5517)
|
|||
jr .asm_79554
|
||||
.asm_7954b
|
||||
ld [hl], $0
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
dec a
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
.asm_79554
|
||||
ld de, $4
|
||||
add hl, de
|
||||
|
|
@ -1794,7 +1794,7 @@ Func_79517: ; 79517 (1e:5517)
|
|||
jr nz, .asm_7953c
|
||||
call DelayFrames
|
||||
pop bc
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
and a
|
||||
jr nz, .asm_79538
|
||||
ret
|
||||
|
|
@ -1838,7 +1838,7 @@ UpwardBallsAnimXCoordinatesEnemyTurn: ; 79598 (1e:5598)
|
|||
AnimationMinimizeMon: ; 7959f (1e:559f)
|
||||
; Changes the mon's sprite to a mini black sprite. Used by the
|
||||
; Minimize animation.
|
||||
ld hl, $c6e8
|
||||
ld hl, wTempPic
|
||||
push hl
|
||||
xor a
|
||||
ld bc, $310
|
||||
|
|
@ -1883,7 +1883,7 @@ AnimationSlideMonDownAndHide: ; 795c9 (1e:55c9)
|
|||
dec c
|
||||
jr nz, .asm_795cd
|
||||
call AnimationHideMonPic
|
||||
ld hl, $c6e8
|
||||
ld hl, wTempPic
|
||||
ld bc, $0310
|
||||
xor a
|
||||
call FillMemory
|
||||
|
|
@ -1893,11 +1893,11 @@ Func_795f8: ; 795f8 (1e:55f8)
|
|||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_79602
|
||||
FuncCoord 12, 0 ; $c3ac
|
||||
FuncCoord 12, 0
|
||||
ld hl, Coord
|
||||
jr .asm_79605
|
||||
.asm_79602
|
||||
FuncCoord 0, 5 ; $c404
|
||||
FuncCoord 0, 5
|
||||
ld hl, Coord
|
||||
.asm_79605
|
||||
ld d, $8
|
||||
|
|
@ -1924,7 +1924,7 @@ Func_795f8: ; 795f8 (1e:55f8)
|
|||
pop de
|
||||
dec b
|
||||
jr nz, .asm_7960a
|
||||
ld a, [W_SUBANIMTRANSFORM] ; $d08b
|
||||
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
|
||||
ld c, a
|
||||
call DelayFrames
|
||||
pop hl
|
||||
|
|
@ -1964,7 +1964,7 @@ Func_79652: ; 79652 (1e:5652)
|
|||
jr z, .asm_7965d
|
||||
ld hl, $9000
|
||||
.asm_7965d
|
||||
ld de, $c6e8
|
||||
ld de, wTempPic
|
||||
ld bc, $31
|
||||
jp CopyVideoData
|
||||
|
||||
|
|
@ -2031,38 +2031,38 @@ WavyScreenLineOffsets: ; 796bf (1e:56bf)
|
|||
|
||||
AnimationSubstitute: ; 796e0 (1e:56e0)
|
||||
; Changes the pokemon's sprite to the mini sprite
|
||||
ld hl, $c6e8
|
||||
ld hl, wTempPic
|
||||
xor a
|
||||
ld bc, $0310
|
||||
call FillMemory
|
||||
ld a, [$fff3]
|
||||
and a
|
||||
jr z, .asm_79715 ; 0x796ed $26
|
||||
ld hl, SlowbroSprite ; $4780 ; facing down sprite
|
||||
ld de, $c808
|
||||
ld hl, SlowbroSprite ; facing down sprite
|
||||
ld de, wTempPic + $120
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $10 ; $4790
|
||||
ld de, $c878
|
||||
ld hl, SlowbroSprite + $10
|
||||
ld de, wTempPic + $120 + $70
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $20 ; $47a0
|
||||
ld de, $c818
|
||||
ld hl, SlowbroSprite + $20
|
||||
ld de, wTempPic + $120 + $10
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $30 ; $47b0
|
||||
ld de, $c888
|
||||
ld hl, SlowbroSprite + $30
|
||||
ld de, wTempPic + $120 + $10 + $70
|
||||
call CopySlowbroSpriteData
|
||||
jr .asm_79739 ; 0x79713 $24
|
||||
jr .asm_79739
|
||||
.asm_79715
|
||||
ld hl, SlowbroSprite + $40 ; $47c0 ; facing up sprite
|
||||
ld de, $c878
|
||||
ld hl, SlowbroSprite + $40 ; facing up sprite
|
||||
ld de, wTempPic + $120 + $70
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $50 ; $47d0
|
||||
ld de, $c8e8
|
||||
ld hl, SlowbroSprite + $50
|
||||
ld de, wTempPic + $120 + $e0
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $60 ; $47e0
|
||||
ld de, $c888
|
||||
ld hl, SlowbroSprite + $60
|
||||
ld de, wTempPic + $120 + $80
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $70 ; $47f0
|
||||
ld de, $c8f8
|
||||
ld hl, SlowbroSprite + $70
|
||||
ld de, wTempPic + $120 + $f0
|
||||
call CopySlowbroSpriteData
|
||||
.asm_79739
|
||||
call Func_79652
|
||||
|
|
@ -2076,11 +2076,11 @@ CopySlowbroSpriteData: ; 7973f (1e:573f)
|
|||
Func_79747: ; 79747 (1e:5747)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld hl, $ccf7
|
||||
ld a, [W_PLAYERBATTSTATUS2] ; $d063
|
||||
ld hl, wccf7
|
||||
ld a, [W_PLAYERBATTSTATUS2] ; W_PLAYERBATTSTATUS2
|
||||
jr z, .asm_79758
|
||||
ld hl, $ccf3
|
||||
ld a, [W_ENEMYBATTSTATUS2] ; $d068
|
||||
ld hl, wccf3
|
||||
ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
|
||||
.asm_79758
|
||||
push hl
|
||||
bit 4, a
|
||||
|
|
@ -2117,31 +2117,31 @@ AnimationBoundUpAndDown: ; 7977a (1e:577a)
|
|||
AnimationTransformMon: ; 79787 (1e:5787)
|
||||
; Redraws this mon's sprite as the back/front sprite of the opposing mon.
|
||||
; Used in Transform.
|
||||
ld a, [$cfe5]
|
||||
ld [$ceea], a
|
||||
ld a, [wcfe5]
|
||||
ld [wHPBarMaxHP + 1], a
|
||||
ld a, [W_PLAYERMONID]
|
||||
ld [$cee9], a
|
||||
ld [wHPBarMaxHP], a
|
||||
|
||||
Func_79793: ; 79793 (1e:5793)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_797b0
|
||||
ld a, [$cee9]
|
||||
ld [$cf91], a
|
||||
ld [$d0b5], a
|
||||
ld a, [wHPBarMaxHP]
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
xor a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
call GetMonHeader
|
||||
FuncCoord 12, 0 ; $c3ac
|
||||
FuncCoord 12, 0
|
||||
ld hl, Coord
|
||||
call LoadFrontSpriteByMonIndex
|
||||
jr .asm_797d3
|
||||
.asm_797b0
|
||||
ld a, [$cfd9]
|
||||
ld a, [wcfd9]
|
||||
push af
|
||||
ld a, [$ceea]
|
||||
ld [$cfd9], a
|
||||
ld [$d0b5], a
|
||||
ld a, [wHPBarMaxHP + 1]
|
||||
ld [wcfd9], a
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld a, $4
|
||||
call Predef ; indirect jump to LoadMonBackSprite (3f103 (f:7103))
|
||||
|
|
@ -2150,7 +2150,7 @@ Func_79793: ; 79793 (1e:5793)
|
|||
call Func_79820
|
||||
call Func_79aae
|
||||
pop af
|
||||
ld [$cfd9], a
|
||||
ld [wcfd9], a
|
||||
.asm_797d3
|
||||
ld b, $1
|
||||
jp GoPAL_SET
|
||||
|
|
@ -2168,13 +2168,13 @@ AnimationHideEnemyMonPic: ; 797d8 (1e:57d8)
|
|||
Func_797e8: ; 797e8 (1e:57e8)
|
||||
push bc
|
||||
push de
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call LoadAnimationTileset
|
||||
pop de
|
||||
pop bc
|
||||
xor a
|
||||
ld e, a
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld hl, wOAMBuffer
|
||||
.asm_797fa
|
||||
call Func_79329
|
||||
|
|
@ -2294,25 +2294,25 @@ Func_7986f: ; 7986f (1e:586f)
|
|||
ld a,[W_PLAYERMONID] ; get number of current monster
|
||||
jr .Continue
|
||||
.next
|
||||
ld a,[$CFE5]
|
||||
ld a,[wcfe5]
|
||||
.Continue
|
||||
push hl
|
||||
call GetCryData
|
||||
ld b,a
|
||||
pop hl
|
||||
ld a,[$C0F1]
|
||||
ld a,[wc0f1]
|
||||
add [hl]
|
||||
ld [$C0F1],a
|
||||
ld [wc0f1],a
|
||||
inc hl
|
||||
ld a,[$C0F2]
|
||||
ld a,[wc0f2]
|
||||
add [hl]
|
||||
ld [$C0F2],a
|
||||
ld [wc0f2],a
|
||||
jr .done
|
||||
.NotCryMove
|
||||
ld a,[hli]
|
||||
ld [$C0F1],a
|
||||
ld [wc0f1],a
|
||||
ld a,[hli]
|
||||
ld [$C0F2],a
|
||||
ld [wc0f2],a
|
||||
.done
|
||||
ld a,b
|
||||
ret
|
||||
|
|
@ -2510,7 +2510,7 @@ Func_79aae: ; 79aae (1e:5aae)
|
|||
|
||||
Func_79aba: ; 79aba (1e:5aba)
|
||||
call GetPredefRegisters
|
||||
ld a, [$cd6c]
|
||||
ld a, [wcd6c]
|
||||
and a
|
||||
jr nz, .asm_79ac8
|
||||
ld de, Unknown_79b02 ; $5b02
|
||||
|
|
@ -2599,7 +2599,7 @@ AnimationLeavesFalling: ; 79c74 (1e:5c74)
|
|||
; in Razor Leaf's animation.
|
||||
ld a, [$ff48]
|
||||
push af
|
||||
ld a, [$cc79]
|
||||
ld a, [wcc79]
|
||||
ld [$ff48], a
|
||||
ld d, $37
|
||||
ld a, $3
|
||||
|
|
@ -2636,7 +2636,7 @@ Func_79c97: ; 79c97 (1e:5c97)
|
|||
push hl
|
||||
push de
|
||||
ld a, [hl]
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
call Func_79d16
|
||||
call Func_79cdb
|
||||
pop de
|
||||
|
|
@ -2645,7 +2645,7 @@ Func_79c97: ; 79c97 (1e:5c97)
|
|||
ld e, l
|
||||
ld d, h
|
||||
pop hl
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld [hli], a
|
||||
pop bc
|
||||
dec c
|
||||
|
|
@ -2668,7 +2668,7 @@ Func_79cdb: ; 79cdb (1e:5cdb)
|
|||
ld a, $a0
|
||||
.asm_79ce8
|
||||
ld [hli], a
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld b, a
|
||||
ld de, Unknown_79d0d
|
||||
and $7f
|
||||
|
|
@ -2702,7 +2702,7 @@ Unknown_79d0d: ; 79d0d (1e:5d0d)
|
|||
db $00,$01,$03,$05,$07,$09,$0B,$0D,$0F
|
||||
|
||||
Func_79d16: ; 79d16 (1e:5d16)
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
inc a
|
||||
ld b, a
|
||||
and $7f
|
||||
|
|
@ -2712,11 +2712,11 @@ Func_79d16: ; 79d16 (1e:5d16)
|
|||
and $80
|
||||
xor $80
|
||||
.asm_79d26
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ret
|
||||
|
||||
Func_79d2a: ; 79d2a (1e:5d2a)
|
||||
ld hl, $c301
|
||||
ld hl, wOAMBuffer + $01
|
||||
ld de, Unknown_79d3e
|
||||
ld a, [W_SUBANIMTRANSFORM]
|
||||
ld c, a
|
||||
|
|
@ -2830,7 +2830,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
|||
ld a,[W_ISINBATTLE]
|
||||
cp a,2
|
||||
jr z,.BlockBall ; if in trainer battle, play different animation
|
||||
ld a,[$D11E]
|
||||
ld a,[wd11e]
|
||||
ld b,a
|
||||
|
||||
; upper nybble: how many animations (from PokeBallAnimations) to play
|
||||
|
|
@ -2843,11 +2843,11 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
|||
; store these for later
|
||||
ld a,b
|
||||
and a,$F
|
||||
ld [$CD3D],a
|
||||
ld [wWhichTrade],a
|
||||
|
||||
ld hl,.PokeBallAnimations
|
||||
; choose which toss animation to use
|
||||
ld a,[$CF91]
|
||||
ld a,[wcf91]
|
||||
cp a,POKE_BALL
|
||||
ld b,TOSS_ANIM
|
||||
jr z,.done
|
||||
|
|
@ -2885,7 +2885,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
|||
|
||||
Func_79e6a: ; 79e6a (1e:5e6a)
|
||||
call WaitForSoundToFinish
|
||||
ld a, [$d05b]
|
||||
ld a, [wd05b]
|
||||
and $7f
|
||||
ret z
|
||||
cp $a
|
||||
|
|
@ -2901,8 +2901,8 @@ Func_79e6a: ; 79e6a (1e:5e6a)
|
|||
ld b, $1
|
||||
ld c, (SFX_08_51 - SFX_Headers_08) / 3
|
||||
.asm_79e8b
|
||||
ld [$c0f1], a
|
||||
ld [wc0f1], a
|
||||
ld a, b
|
||||
ld [$c0f2], a
|
||||
ld [wc0f2], a
|
||||
ld a, c
|
||||
jp PlaySound
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
DisplayEffectiveness: ; 2fb7b (b:7b7b)
|
||||
ld a, [$D05B]
|
||||
ld a, [wd05b]
|
||||
and a, $7F
|
||||
cp a, $0A
|
||||
ret z
|
||||
|
|
|
|||
|
|
@ -86,13 +86,13 @@ DuplicateBitsTable: ; 2fea8 (b:7ea8)
|
|||
|
||||
PayDayEffect_ ; 2feb8 (b:7eb8)
|
||||
xor a
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
ld [hli], a
|
||||
ld a, [$fff3]
|
||||
and a
|
||||
ld a, [$d022]
|
||||
ld a, [W_PLAYERMONLEVEL]
|
||||
jr z, .asm_2fec8 ; 0x2fec3 $3
|
||||
ld a, [$cff3]
|
||||
ld a, [W_ENEMYMONLEVEL]
|
||||
.asm_2fec8
|
||||
add a
|
||||
ld [$ff98], a
|
||||
|
|
@ -118,7 +118,7 @@ PayDayEffect_ ; 2feb8 (b:7eb8)
|
|||
ld a, [$ff99]
|
||||
add b
|
||||
ld [hl], a
|
||||
ld de, $cce7
|
||||
ld de, wcce7
|
||||
ld c, $3
|
||||
ld a, $b ; AddBCDPredef
|
||||
call Predef
|
||||
|
|
|
|||
|
|
@ -21,19 +21,19 @@ ShroudedInMistText: ; 33f52 (c:7f52)
|
|||
db "@"
|
||||
|
||||
OneHitKOEffect_: ; 33f57 (c:7f57)
|
||||
ld hl, W_DAMAGE ; $d0d7
|
||||
ld hl, W_DAMAGE ; W_DAMAGE
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], a ; set the damage output to zero
|
||||
dec a
|
||||
ld [$d05e], a
|
||||
ld hl, $d02a
|
||||
ld de, $cffb
|
||||
ld [wd05e], a
|
||||
ld hl, W_PLAYERMONSPEED + 1
|
||||
ld de, W_ENEMYMONSPEED + 1
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_33f72
|
||||
ld hl, $cffb
|
||||
ld de, $d02a
|
||||
ld hl, W_ENEMYMONSPEED + 1
|
||||
ld de, W_PLAYERMONSPEED + 1
|
||||
.asm_33f72
|
||||
ld a, [de]
|
||||
dec de
|
||||
|
|
@ -45,14 +45,14 @@ OneHitKOEffect_: ; 33f57 (c:7f57)
|
|||
ld a, [hl]
|
||||
sbc b
|
||||
jr c, .asm_33f8a
|
||||
ld hl, W_DAMAGE ; $d0d7
|
||||
ld hl, W_DAMAGE ; W_DAMAGE
|
||||
ld a, $ff
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld a, $2
|
||||
ld [$d05e], a
|
||||
ld [wd05e], a
|
||||
ret
|
||||
.asm_33f8a
|
||||
ld a, $1
|
||||
ld [W_MOVEMISSED], a ; $d05f
|
||||
ld [W_MOVEMISSED], a ; W_MOVEMISSED
|
||||
ret
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,25 +1,25 @@
|
|||
Func_372d6: ; 372d6 (d:72d6)
|
||||
call LoadTextBoxTilePatterns
|
||||
FuncCoord 3, 4 ; $c3f3
|
||||
FuncCoord 3, 4
|
||||
ld hl, Coord
|
||||
ld b, $7
|
||||
ld c, $c
|
||||
call TextBoxBorder
|
||||
FuncCoord 4, 5 ; $c408
|
||||
FuncCoord 4, 5
|
||||
ld hl, Coord
|
||||
ld de, W_PLAYERNAME ; $d158
|
||||
ld de, W_PLAYERNAME ; wd158
|
||||
call PlaceString
|
||||
FuncCoord 4, 10 ; $c46c
|
||||
FuncCoord 4, 10
|
||||
ld hl, Coord
|
||||
ld de, W_GRASSRATE ; $d887
|
||||
ld de, W_GRASSRATE ; W_GRASSRATE
|
||||
call PlaceString
|
||||
FuncCoord 9, 8 ; $c449
|
||||
FuncCoord 9, 8
|
||||
ld hl, Coord
|
||||
ld a, $69
|
||||
ld [hli], a
|
||||
ld [hl], $6a
|
||||
xor a
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
callab SetupPlayerAndEnemyPokeballs
|
||||
ld c, $96
|
||||
jp DelayFrames
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
Func_39680: ; 39680 (e:5680)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [$d060]
|
||||
ld hl, $d026
|
||||
ld a, [wd060]
|
||||
ld hl, W_PLAYERMONATK + 1
|
||||
jr z, .asm_39691
|
||||
ld a, [$d065]
|
||||
ld hl, $cff7
|
||||
ld a, [wd065]
|
||||
ld hl, W_ENEMYMONATTACK + 1
|
||||
.asm_39691
|
||||
ld c, $4
|
||||
ld b, a
|
||||
|
|
@ -30,10 +30,10 @@ Func_3969f: ; 3969f (e:569f)
|
|||
Func_396a7: ; 396a7 (e:56a7)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [$d061]
|
||||
ld a, [wd061]
|
||||
ld hl, W_PLAYERMONATK
|
||||
jr z, .asm_396b8
|
||||
ld a, [$d066]
|
||||
ld a, [wd066]
|
||||
ld hl, W_ENEMYMONATTACK
|
||||
.asm_396b8
|
||||
ld c, $4
|
||||
|
|
@ -67,7 +67,7 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3)
|
|||
ld b, $1
|
||||
call GoPAL_SET
|
||||
callab _LoadTrainerPic
|
||||
FuncCoord 19, 0 ; $c3b3
|
||||
FuncCoord 19, 0
|
||||
ld hl, Coord
|
||||
ld c, $0
|
||||
.asm_396e9
|
||||
|
|
@ -114,7 +114,7 @@ Func_39707: ; 39707 (e:5707)
|
|||
; unused slots are filled with 0, all used slots may be chosen with equal probability
|
||||
AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
||||
ld a, $a
|
||||
ld hl, $cee9 ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end
|
||||
ld hl, wHPBarMaxHP ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end
|
||||
ld [hli], a ; move 1
|
||||
ld [hli], a ; move 2
|
||||
ld [hli], a ; move 3
|
||||
|
|
@ -123,7 +123,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
swap a
|
||||
and $f
|
||||
jr z, .noMoveDisabled
|
||||
ld hl, $cee9
|
||||
ld hl, wHPBarMaxHP
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
|
@ -165,7 +165,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
push de
|
||||
jp [hl] ; execute modification function
|
||||
.loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero
|
||||
ld hl, $cee9 ; temp move selection array
|
||||
ld hl, wHPBarMaxHP ; temp move selection array
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld c, $4
|
||||
.loopDecrementEntries
|
||||
|
|
@ -187,7 +187,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
inc a
|
||||
cp $5
|
||||
jr nz, .loopUndoPartialIteration
|
||||
ld hl, $cee9 ; temp move selection array
|
||||
ld hl, wHPBarMaxHP ; temp move selection array
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld c, $4
|
||||
.filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0)
|
||||
|
|
@ -209,7 +209,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
inc de
|
||||
dec c
|
||||
jr nz, .filterMinimalEntries
|
||||
ld hl, $cee9 ; use created temporary array as move set
|
||||
ld hl, wHPBarMaxHP ; use created temporary array as move set
|
||||
ret
|
||||
.useOriginalMoveSet
|
||||
ld hl, W_ENEMYMONMOVES ; use original move set
|
||||
|
|
@ -226,7 +226,7 @@ AIMoveChoiceModification1: ; 397ab (e:57ab)
|
|||
ld a, [W_PLAYERMONSTATUS]
|
||||
and a
|
||||
ret z ; return if no status ailment on player's mon
|
||||
ld hl, $cee8 ; temp move selection array (-1 byte offest)
|
||||
ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld b, $5
|
||||
.nextMove
|
||||
|
|
@ -266,10 +266,10 @@ StatusAilmentMoveEffects ; 57e2
|
|||
|
||||
; slightly encourage moves with specific effects
|
||||
AIMoveChoiceModification2: ; 397e7 (e:57e7)
|
||||
ld a, [$ccd5]
|
||||
ld a, [wccd5]
|
||||
cp $1
|
||||
ret nz
|
||||
ld hl, $cee8 ; temp move selection array (-1 byte offest)
|
||||
ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld b, $5
|
||||
.nextMove
|
||||
|
|
@ -297,7 +297,7 @@ AIMoveChoiceModification2: ; 397e7 (e:57e7)
|
|||
|
||||
; encourages moves that are effective against the player's mon
|
||||
AIMoveChoiceModification3: ; 39817 (e:5817)
|
||||
ld hl, $cee8 ; temp move selection array (-1 byte offest)
|
||||
ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld b, $5
|
||||
.nextMove
|
||||
|
|
@ -316,7 +316,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817)
|
|||
pop de
|
||||
pop bc
|
||||
pop hl
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
cp $10
|
||||
jr z, .nextMove
|
||||
jr c, .notEffectiveMove
|
||||
|
|
@ -374,7 +374,7 @@ ReadMove: ; 39884 (e:5884)
|
|||
ld hl,Moves
|
||||
ld bc,6
|
||||
call AddNTimes
|
||||
ld de,$CFCC
|
||||
ld de,W_ENEMYMOVENUM
|
||||
call CopyData
|
||||
pop bc
|
||||
pop de
|
||||
|
|
@ -579,21 +579,21 @@ TrainerPicAndMoneyPointers: ; 39914 (e:5914)
|
|||
INCLUDE "text/trainer_names.asm"
|
||||
|
||||
Func_39b87: ; 39b87 (e:5b87)
|
||||
ld hl, $d0dc
|
||||
ld de, $d0e1
|
||||
ld hl, wd0dc
|
||||
ld de, wd0e1
|
||||
ld b, $0
|
||||
.asm_39b8f
|
||||
ld a, [hli]
|
||||
and a
|
||||
jr z, .asm_39bc1
|
||||
push hl
|
||||
ld [$d0b5], a
|
||||
ld [wd0b5], a
|
||||
ld a, $2c
|
||||
ld [$d0b7], a
|
||||
ld [wPredefBank], a
|
||||
ld a, MOVE_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
call GetName
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
.asm_39ba7
|
||||
ld a, [hli]
|
||||
cp $50
|
||||
|
|
@ -603,7 +603,7 @@ Func_39b87: ; 39b87 (e:5b87)
|
|||
jr .asm_39ba7
|
||||
.asm_39bb0
|
||||
ld a, b
|
||||
ld [$cd6c], a
|
||||
ld [wcd6c], a
|
||||
inc b
|
||||
ld a, $4e
|
||||
ld [de], a
|
||||
|
|
@ -631,71 +631,71 @@ Func_39b87: ; 39b87 (e:5b87)
|
|||
ret
|
||||
|
||||
Func_39bd5: ; 39bd5 (e:5bd5)
|
||||
ld a, [$d11b]
|
||||
ld a, [wd11b]
|
||||
cp $1
|
||||
jr nz, .asm_39be6
|
||||
ld hl, wEnemyPartyCount ; $d89c
|
||||
ld de, W_ENEMYMON1OT ; $d9ac OT names of other player
|
||||
ld hl, wEnemyPartyCount ; wEnemyPartyCount
|
||||
ld de, W_ENEMYMON1OT ; wd9ac OT names of other player
|
||||
ld a, $6
|
||||
jr .asm_39c18
|
||||
.asm_39be6
|
||||
cp $4
|
||||
jr nz, .calcAttackStat4
|
||||
ld hl, W_NUMINPARTY ; $d163
|
||||
ld de, W_PARTYMON1OT ; $d273
|
||||
ld hl, W_NUMINPARTY ; W_NUMINPARTY
|
||||
ld de, W_PARTYMON1OT ; wd273
|
||||
ld a, $5
|
||||
jr .asm_39c18
|
||||
.calcAttackStat4
|
||||
cp $5
|
||||
jr nz, .asm_39c02
|
||||
ld hl, $cf7b
|
||||
ld hl, wStringBuffer2 + 11
|
||||
ld de, MonsterNames ; $421e
|
||||
ld a, $1
|
||||
jr .asm_39c18
|
||||
.asm_39c02
|
||||
cp $2
|
||||
jr nz, .asm_39c10
|
||||
ld hl, wNumBagItems ; $d31d
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
ld de, ItemNames ; $472b
|
||||
ld a, $4
|
||||
jr .asm_39c18
|
||||
.asm_39c10
|
||||
ld hl, $cf7b
|
||||
ld hl, wStringBuffer2 + 11
|
||||
ld de, ItemNames ; $472b
|
||||
ld a, ITEM_NAME
|
||||
.asm_39c18
|
||||
ld [W_LISTTYPE], a
|
||||
ld a, l
|
||||
ld [$cf8b], a
|
||||
ld [wcf8b], a
|
||||
ld a, h
|
||||
ld [$cf8c], a
|
||||
ld [wcf8c], a
|
||||
ld a, e
|
||||
ld [$cf8d], a
|
||||
ld [wcf8d], a
|
||||
ld a, d
|
||||
ld [$cf8e], a
|
||||
ld [wcf8e], a
|
||||
ld bc, ItemPrices ; $4608
|
||||
ld a, c
|
||||
ld [$cf8f], a
|
||||
ld [wcf8f], a
|
||||
ld a, b
|
||||
ld [$cf90], a
|
||||
ld [wcf90], a
|
||||
ret
|
||||
|
||||
Func_39c37: ; 39c37 (e:5c37)
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld a, [$cc49]
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
ld a, [wcc49]
|
||||
and a
|
||||
jr z, .asm_39c4b
|
||||
dec a
|
||||
jr z, .asm_39c48
|
||||
ld hl, $da81
|
||||
ld hl, wda81
|
||||
jr .asm_39c4b
|
||||
.asm_39c48
|
||||
ld hl, $d89d
|
||||
ld hl, wEnemyPartyMons
|
||||
.asm_39c4b
|
||||
ld d, $0
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
ret
|
||||
|
||||
ReadTrainer: ; 39c53 (e:5c53)
|
||||
|
|
@ -705,7 +705,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
and a
|
||||
ret nz
|
||||
|
||||
; set [wEnemyPartyCount] to 0, [$D89D] to FF
|
||||
; set [wEnemyPartyCount] to 0, [wEnemyPartyMons] to FF
|
||||
; XXX first is total enemy pokemon?
|
||||
; XXX second is species of first pokemon?
|
||||
ld hl,wEnemyPartyCount
|
||||
|
|
@ -754,9 +754,9 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
ld a,[hli]
|
||||
and a ; have we reached the end of the trainer data?
|
||||
jr z,.FinishUp
|
||||
ld [$CF91],a ; write species somewhere (XXX why?)
|
||||
ld [wcf91],a ; write species somewhere (XXX why?)
|
||||
ld a,1
|
||||
ld [$CC49],a
|
||||
ld [wcc49],a
|
||||
push hl
|
||||
call AddPokemonToParty
|
||||
pop hl
|
||||
|
|
@ -771,9 +771,9 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
jr z,.AddLoneMove
|
||||
ld [W_CURENEMYLVL],a
|
||||
ld a,[hli]
|
||||
ld [$CF91],a
|
||||
ld [wcf91],a
|
||||
ld a,1
|
||||
ld [$CC49],a
|
||||
ld [wcc49],a
|
||||
push hl
|
||||
call AddPokemonToParty
|
||||
pop hl
|
||||
|
|
@ -821,7 +821,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
jr .FinishUp ; nope
|
||||
.GiveTeamMoves
|
||||
ld a,[hl]
|
||||
ld [$D95E],a
|
||||
ld [W_ENEMYMON5MOVE3],a
|
||||
jr .FinishUp
|
||||
.ChampionRival ; give moves to his team
|
||||
|
||||
|
|
@ -843,7 +843,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
ld [W_ENEMYMON6MOVE3],a
|
||||
.FinishUp ; XXX this needs documenting
|
||||
xor a ; clear D079-D07B
|
||||
ld de,$D079
|
||||
ld de,wd079
|
||||
ld [de],a
|
||||
inc de
|
||||
ld [de],a
|
||||
|
|
@ -852,7 +852,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
ld a,[W_CURENEMYLVL]
|
||||
ld b,a
|
||||
.LastLoop
|
||||
ld hl,$D047
|
||||
ld hl,wd047
|
||||
ld c,2
|
||||
push bc
|
||||
ld a,$B
|
||||
|
|
@ -1092,21 +1092,21 @@ Func_3a69b: ; 3a69b (e:669b)
|
|||
AIUseFullRestore: ; 3a6a0 (e:66a0)
|
||||
call AICureStatus
|
||||
ld a,FULL_RESTORE
|
||||
ld [$CF05],a
|
||||
ld [wcf05],a
|
||||
ld de,wHPBarOldHP
|
||||
ld hl,$CFE7
|
||||
ld hl,W_ENEMYMONCURHP + 1
|
||||
ld a,[hld]
|
||||
ld [de],a
|
||||
inc de
|
||||
ld a,[hl]
|
||||
ld [de],a
|
||||
inc de
|
||||
ld hl,$CFF5
|
||||
ld hl,W_ENEMYMONMAXHP + 1
|
||||
ld a,[hld]
|
||||
ld [de],a
|
||||
inc de
|
||||
ld [wHPBarMaxHP],a
|
||||
ld [$CFE7],a
|
||||
ld [W_ENEMYMONCURHP + 1],a
|
||||
ld a,[hl]
|
||||
ld [de],a
|
||||
ld [wHPBarMaxHP+1],a
|
||||
|
|
@ -1133,8 +1133,8 @@ AIUseHyperPotion: ; 3a6d6 (e:66d6)
|
|||
|
||||
AIRecoverHP: ; 3a6da (e:66da)
|
||||
; heal b HP and print "trainer used $(a) on pokemon!"
|
||||
ld [$CF05],a
|
||||
ld hl,$CFE7
|
||||
ld [wcf05],a
|
||||
ld hl,W_ENEMYMONCURHP + 1
|
||||
ld a,[hl]
|
||||
ld [wHPBarOldHP],a
|
||||
add b
|
||||
|
|
@ -1151,7 +1151,7 @@ AIRecoverHP: ; 3a6da (e:66da)
|
|||
inc hl
|
||||
ld a,[hld]
|
||||
ld b,a
|
||||
ld de,$CFF5
|
||||
ld de,W_ENEMYMONMAXHP + 1
|
||||
ld a,[de]
|
||||
dec de
|
||||
ld [wHPBarMaxHP],a
|
||||
|
|
@ -1174,10 +1174,10 @@ AIRecoverHP: ; 3a6da (e:66da)
|
|||
|
||||
Func_3a718: ; 3a718 (e:6718)
|
||||
call AIPrintItemUse_
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl,Coord
|
||||
xor a
|
||||
ld [$CF94],a
|
||||
ld [wListMenuID],a
|
||||
ld a,$48
|
||||
call Predef
|
||||
jp DecrementAICount
|
||||
|
|
@ -1229,10 +1229,10 @@ Func_3a74b: ; 3a74b (e:674b)
|
|||
call PrintText
|
||||
|
||||
ld a,1
|
||||
ld [$D11D],a
|
||||
ld [wd11d],a
|
||||
callab EnemySendOut
|
||||
xor a
|
||||
ld [$D11D],a
|
||||
ld [wd11d],a
|
||||
|
||||
ld a,[W_ISLINKBATTLE]
|
||||
cp 4
|
||||
|
|
@ -1253,40 +1253,40 @@ AIUseFullHeal: ; 3a786 (e:6786)
|
|||
AICureStatus: ; 3a791 (e:6791)
|
||||
; cures the status of enemy's active pokemon
|
||||
ld a,[W_ENEMYMONNUMBER]
|
||||
ld hl,$D8A8
|
||||
ld hl,wd8a8
|
||||
ld bc,$2C
|
||||
call AddNTimes
|
||||
xor a
|
||||
ld [hl],a ; clear status in enemy team roster
|
||||
ld [W_ENEMYMONSTATUS],a ; clear status of active enemy
|
||||
ld hl,$D069
|
||||
ld hl,W_ENEMYBATTSTATUS3
|
||||
res 0,[hl]
|
||||
ret
|
||||
|
||||
AIUseXAccuracy: ; 0x3a7a8 unused
|
||||
call Func_3a69b
|
||||
ld hl,$D068
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 0,[hl]
|
||||
ld a,X_ACCURACY
|
||||
jp AIPrintItemUse
|
||||
|
||||
AIUseGuardSpec: ; 3a7b5 (e:67b5)
|
||||
call Func_3a69b
|
||||
ld hl,$D068
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 1,[hl]
|
||||
ld a,GUARD_SPEC_
|
||||
jp AIPrintItemUse
|
||||
|
||||
AIUseDireHit: ; 0x3a7c2 unused
|
||||
call Func_3a69b
|
||||
ld hl,$D068
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 2,[hl]
|
||||
ld a,DIRE_HIT
|
||||
jp AIPrintItemUse
|
||||
|
||||
Func_3a7cf: ; 3a7cf (e:67cf)
|
||||
ld [H_DIVISOR],a
|
||||
ld hl,$CFF4
|
||||
ld hl,W_ENEMYMONMAXHP
|
||||
ld a,[hli]
|
||||
ld [H_DIVIDEND],a
|
||||
ld a,[hl]
|
||||
|
|
@ -1297,7 +1297,7 @@ Func_3a7cf: ; 3a7cf (e:67cf)
|
|||
ld c,a
|
||||
ld a,[H_QUOTIENT + 2]
|
||||
ld b,a
|
||||
ld hl,$CFE7
|
||||
ld hl,W_ENEMYMONCURHP + 1
|
||||
ld a,[hld]
|
||||
ld e,a
|
||||
ld a,[hl]
|
||||
|
|
@ -1330,11 +1330,11 @@ AIUseXSpecial: ; 3a804 (e:6804)
|
|||
; fallthrough
|
||||
|
||||
AIIncreaseStat: ; 3a808 (e:6808)
|
||||
ld [$CF05],a
|
||||
ld [wcf05],a
|
||||
push bc
|
||||
call AIPrintItemUse_
|
||||
pop bc
|
||||
ld hl,$CFCD
|
||||
ld hl,W_ENEMYMOVEEFFECT
|
||||
ld a,[hld]
|
||||
push af
|
||||
ld a,[hl]
|
||||
|
|
@ -1352,14 +1352,14 @@ AIIncreaseStat: ; 3a808 (e:6808)
|
|||
jp DecrementAICount
|
||||
|
||||
AIPrintItemUse: ; 3a82c (e:682c)
|
||||
ld [$CF05],a
|
||||
ld [wcf05],a
|
||||
call AIPrintItemUse_
|
||||
jp DecrementAICount
|
||||
|
||||
AIPrintItemUse_: ; 3a835 (e:6835)
|
||||
; print "x used [$CF05] on z!"
|
||||
ld a,[$CF05]
|
||||
ld [$D11E],a
|
||||
; print "x used [wcf05] on z!"
|
||||
ld a,[wcf05]
|
||||
ld [wd11e],a
|
||||
call GetItemName
|
||||
ld hl, AIBattleUseItemText
|
||||
jp PrintText
|
||||
|
|
@ -1371,7 +1371,7 @@ AIBattleUseItemText: ; 3a844 (e:6844)
|
|||
DrawAllPokeballs: ; 3a849 (e:6849)
|
||||
call LoadPartyPokeballGfx
|
||||
call SetupOwnPartyPokeballs
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
dec a
|
||||
ret z ; return if wild pokémon
|
||||
jp SetupEnemyPartyPokeballs
|
||||
|
|
@ -1389,29 +1389,29 @@ LoadPartyPokeballGfx: ; 3a85d (e:685d)
|
|||
SetupOwnPartyPokeballs: ; 3a869 (e:6869)
|
||||
call PlacePlayerHUDTiles
|
||||
ld hl, W_PARTYMON1DATA
|
||||
ld de, W_NUMINPARTY ; $d163
|
||||
ld de, W_NUMINPARTY ; W_NUMINPARTY
|
||||
call SetupPokeballs
|
||||
ld a, $60
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld a, $8
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wOAMBuffer
|
||||
jp Func_3a8e1
|
||||
|
||||
SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
|
||||
call PlaceEnemyHUDTiles
|
||||
ld hl, wEnemyMons
|
||||
ld de, wEnemyPartyCount ; $d89c
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld a, $48
|
||||
ld [hli], a
|
||||
ld [hl], $20
|
||||
ld a, $f8
|
||||
ld [$cd3e], a
|
||||
ld hl, $c318
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wOAMBuffer + $18
|
||||
jp Func_3a8e1
|
||||
|
||||
SetupPokeballs: ; 0x3a8a6
|
||||
|
|
@ -1465,22 +1465,22 @@ PickPokeball: ; 3a8c2 (e:68c2)
|
|||
ret
|
||||
|
||||
Func_3a8e1: ; 3a8e1 (e:68e1)
|
||||
ld de, $cee9
|
||||
ld de, wHPBarMaxHP
|
||||
ld c, $6
|
||||
.asm_3a8e6
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld [hli], a
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld b, a
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
add b
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
inc de
|
||||
dec c
|
||||
jr nz, .asm_3a8e6
|
||||
|
|
@ -1488,10 +1488,10 @@ Func_3a8e1: ; 3a8e1 (e:68e1)
|
|||
|
||||
PlacePlayerHUDTiles: ; 3a902 (e:6902)
|
||||
ld hl, PlayerBattleHUDGraphicsTiles ; $6916
|
||||
ld de, $cd3f
|
||||
ld de, wTrainerFacingDirection
|
||||
ld bc, $3
|
||||
call CopyData
|
||||
FuncCoord 18, 10 ; $c47a
|
||||
FuncCoord 18, 10
|
||||
ld hl, Coord
|
||||
ld de, rIE ; $ffff
|
||||
jr PlaceHUDTiles
|
||||
|
|
@ -1504,10 +1504,10 @@ PlayerBattleHUDGraphicsTiles: ; 3a916 (e:6916)
|
|||
|
||||
PlaceEnemyHUDTiles: ; 3a919 (e:6919)
|
||||
ld hl, EnemyBattleHUDGraphicsTiles ; $692d
|
||||
ld de, $cd3f
|
||||
ld de, wTrainerFacingDirection
|
||||
ld bc, $3
|
||||
call CopyData
|
||||
FuncCoord 1, 2 ; $c3c9
|
||||
FuncCoord 1, 2
|
||||
ld hl, Coord
|
||||
ld de, $1
|
||||
jr PlaceHUDTiles
|
||||
|
|
@ -1522,7 +1522,7 @@ PlaceHUDTiles: ; 3a930 (e:6930)
|
|||
ld [hl], $73
|
||||
ld bc, $14
|
||||
add hl, bc
|
||||
ld a, [$cd40]
|
||||
ld a, [wTrainerScreenY]
|
||||
ld [hl], a
|
||||
ld a, $8
|
||||
.asm_3a93c
|
||||
|
|
@ -1531,33 +1531,33 @@ PlaceHUDTiles: ; 3a930 (e:6930)
|
|||
dec a
|
||||
jr nz, .asm_3a93c
|
||||
add hl, de
|
||||
ld a, [$cd41]
|
||||
ld a, [wTrainerScreenX]
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
|
||||
call LoadPartyPokeballGfx
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld de, W_NUMINPARTY ; $d163
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld de, W_NUMINPARTY ; W_NUMINPARTY
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld a, $50
|
||||
ld [hli], a
|
||||
ld [hl], $40
|
||||
ld a, $8
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wOAMBuffer
|
||||
call Func_3a8e1
|
||||
ld hl, wEnemyMons ; $d8a4
|
||||
ld de, wEnemyPartyCount ; $d89c
|
||||
ld hl, wEnemyMons ; wEnemyMon1Species
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld a, $50
|
||||
ld [hli], a
|
||||
ld [hl], $68
|
||||
ld hl, $c318
|
||||
ld hl, wOAMBuffer + $18
|
||||
jp Func_3a8e1
|
||||
|
||||
; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon)
|
||||
PokeballTileGraphics:: ; 3a97e (e:697e)
|
||||
INCBIN "gfx/pokeball.2bpp"
|
||||
INCBIN "gfx/pokeball.2bpp"
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
HealEffect_: ; 3b9ec (e:79ec)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld de, W_PLAYERMONCURHP ; $d015
|
||||
ld hl, W_PLAYERMONMAXHP ; $d023
|
||||
ld a, [W_PLAYERMOVENUM] ; $cfd2
|
||||
ld de, W_PLAYERMONCURHP ; wd015
|
||||
ld hl, W_PLAYERMONMAXHP ; wd023
|
||||
ld a, [W_PLAYERMOVENUM] ; wcfd2
|
||||
jr z, .asm_3ba03
|
||||
ld de, W_ENEMYMONCURHP ; $cfe6
|
||||
ld hl, W_ENEMYMONMAXHP ; $cff4
|
||||
ld a, [W_ENEMYMOVENUM] ; $cfcc
|
||||
ld de, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
|
||||
.asm_3ba03
|
||||
ld b, a
|
||||
ld a, [de]
|
||||
|
|
@ -25,11 +25,11 @@ HealEffect_: ; 3b9ec (e:79ec)
|
|||
push af
|
||||
ld c, $32
|
||||
call DelayFrames
|
||||
ld hl, W_PLAYERMONSTATUS ; $d018
|
||||
ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_3ba25
|
||||
ld hl, W_ENEMYMONSTATUS ; $cfe9
|
||||
ld hl, W_ENEMYMONSTATUS ; wcfe9
|
||||
.asm_3ba25
|
||||
ld a, [hl]
|
||||
and a
|
||||
|
|
@ -85,15 +85,15 @@ HealEffect_: ; 3b9ec (e:79ec)
|
|||
call BankswitchEtoF
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
FuncCoord 10, 9 ; $c45e
|
||||
FuncCoord 10, 9
|
||||
ld hl, Coord
|
||||
ld a, $1
|
||||
jr z, .asm_3ba83
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
xor a
|
||||
.asm_3ba83
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
ld a, $48
|
||||
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
|
||||
ld hl, Func_3cd5a ; $4d5a
|
||||
|
|
@ -121,35 +121,35 @@ RegainedHealthText: ; 3baac (e:7aac)
|
|||
|
||||
TransformEffect_: ; 3bab1 (e:7ab1)
|
||||
ld hl, W_PLAYERMONID
|
||||
ld de, $cfe5
|
||||
ld bc, W_ENEMYBATTSTATUS3 ; $d069
|
||||
ld a, [W_ENEMYBATTSTATUS1] ; $d067
|
||||
ld de, wcfe5
|
||||
ld bc, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
|
||||
ld a, [W_ENEMYBATTSTATUS1] ; W_ENEMYBATTSTATUS1
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr nz, .asm_3bad1
|
||||
ld hl, $cfe5
|
||||
ld hl, wcfe5
|
||||
ld de, W_PLAYERMONID
|
||||
ld bc, W_PLAYERBATTSTATUS3 ; $d064
|
||||
ld [wPlayerMoveListIndex], a ; $cc2e
|
||||
ld a, [W_PLAYERBATTSTATUS1] ; $d062
|
||||
ld bc, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
|
||||
ld [wPlayerMoveListIndex], a ; wPlayerMoveListIndex
|
||||
ld a, [W_PLAYERBATTSTATUS1] ; W_PLAYERBATTSTATUS1
|
||||
.asm_3bad1
|
||||
bit 6, a ; is mon invulnerable to typical attacks? (fly/dig)
|
||||
jp nz, Func_3bb8c
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; $d063
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_3bae4
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; $d068
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
|
||||
.asm_3bae4
|
||||
bit 4, [hl]
|
||||
push af
|
||||
ld hl, Func_79747
|
||||
ld b, BANK(Func_79747)
|
||||
call nz, Bankswitch
|
||||
ld a, [W_OPTIONS] ; $d355
|
||||
ld a, [W_OPTIONS] ; W_OPTIONS
|
||||
add a
|
||||
ld hl, Func_3fba8 ; $7ba8
|
||||
ld b, BANK(Func_3fba8)
|
||||
|
|
@ -185,10 +185,10 @@ TransformEffect_: ; 3bab1 (e:7ab1)
|
|||
and a
|
||||
jr z, .asm_3bb32
|
||||
ld a, [de]
|
||||
ld [$cceb], a
|
||||
ld [wcceb], a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld [$ccec], a
|
||||
ld [wccec], a
|
||||
dec de
|
||||
.asm_3bb32
|
||||
ld a, [hli]
|
||||
|
|
@ -227,13 +227,13 @@ TransformEffect_: ; 3bab1 (e:7ab1)
|
|||
.asm_3bb5d
|
||||
pop hl
|
||||
ld a, [hl]
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, $cd26
|
||||
ld de, $cd12
|
||||
ld hl, wcd26
|
||||
ld de, wcd12
|
||||
call Func_3bb7d
|
||||
ld hl, wEnemyMonStatMods ; $cd2e
|
||||
ld de, wPlayerMonStatMods ; $cd1a
|
||||
ld hl, wEnemyMonStatMods ; wcd2e
|
||||
ld de, wPlayerMonStatMods ; wcd1a
|
||||
call Func_3bb7d
|
||||
ld hl, TransformedText ; $7b92
|
||||
jp PrintText
|
||||
|
|
@ -259,13 +259,13 @@ TransformedText: ; 3bb92 (e:7b92)
|
|||
db "@"
|
||||
|
||||
ReflectLightScreenEffect_: ; 3bb97 (e:7b97)
|
||||
ld hl, W_PLAYERBATTSTATUS3 ; $d064
|
||||
ld de, W_PLAYERMOVEEFFECT ; $cfd3
|
||||
ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
|
||||
ld de, W_PLAYERMOVEEFFECT ; wcfd3
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_3bba8
|
||||
ld hl, W_ENEMYBATTSTATUS3 ; $d069
|
||||
ld de, W_ENEMYMOVEEFFECT ; $cfcd
|
||||
ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
|
||||
ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
|
||||
.asm_3bba8
|
||||
ld a, [de]
|
||||
cp LIGHT_SCREEN_EFFECT
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PrintSafariZoneBattleText: ; 4277 (1:4277)
|
||||
ld hl, $cce9
|
||||
ld hl, wcce9
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_4284
|
||||
|
|
@ -15,11 +15,11 @@ PrintSafariZoneBattleText: ; 4277 (1:4277)
|
|||
ld hl, SafariZoneAngryText
|
||||
jr nz, .asm_429f
|
||||
push hl
|
||||
ld a, [$cfe5]
|
||||
ld [$d0b5], a
|
||||
ld a, [wcfe5]
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld a, [W_MONHCATCHRATE]
|
||||
ld [$d007], a
|
||||
ld [wd007], a
|
||||
pop hl
|
||||
.asm_429f
|
||||
push hl
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue