diff options
Diffstat (limited to 'engine/battle')
| -rwxr-xr-x | engine/battle/1.asm | 8 | ||||
| -rwxr-xr-x | engine/battle/14.asm | 8 | ||||
| -rwxr-xr-x | engine/battle/15.asm | 64 | ||||
| -rwxr-xr-x | engine/battle/16.asm | 14 | ||||
| -rwxr-xr-x | engine/battle/1a.asm | 4 | ||||
| -rwxr-xr-x | engine/battle/1c.asm | 6 | ||||
| -rwxr-xr-x | engine/battle/4_2.asm | 30 | ||||
| -rwxr-xr-x | engine/battle/5.asm | 4 | ||||
| -rwxr-xr-x | engine/battle/a.asm | 4 | ||||
| -rwxr-xr-x | engine/battle/animations.asm | 18 | ||||
| -rwxr-xr-x | engine/battle/b_2.asm | 4 | ||||
| -rwxr-xr-x | engine/battle/c.asm | 8 | ||||
| -rwxr-xr-x | engine/battle/core.asm | 538 | ||||
| -rwxr-xr-x | engine/battle/d.asm | 2 | ||||
| -rwxr-xr-x | engine/battle/e.asm | 90 | ||||
| -rwxr-xr-x | engine/battle/e_2.asm | 20 | ||||
| -rwxr-xr-x | engine/battle/safari_zone.asm | 2 | 
17 files changed, 412 insertions, 412 deletions
| diff --git a/engine/battle/1.asm b/engine/battle/1.asm index 3ae20351..8c0466d4 100755 --- a/engine/battle/1.asm +++ b/engine/battle/1.asm @@ -11,13 +11,13 @@ DrainHPEffect_: ; 783f (1:783f)  	inc hl  	inc [hl]  .asm_784f -	ld hl, W_PLAYERMONCURHP ; wd015 -	ld de, W_PLAYERMONMAXHP ; wd023 +	ld hl, wBattleMonHP ; wd015 +	ld de, wBattleMonMaxHP ; wd023  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jp z, Func_7861 -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP -	ld de, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP +	ld hl, wEnemyMonHP ; wEnemyMonHP +	ld de, wEnemyMonMaxHP ; wEnemyMonMaxHP  Func_7861: ; 7861 (1:7861)  	ld bc, wHPBarOldHP+1 diff --git a/engine/battle/14.asm b/engine/battle/14.asm index 473afac0..01d115a6 100755 --- a/engine/battle/14.asm +++ b/engine/battle/14.asm @@ -11,8 +11,8 @@ Func_525af: ; 525af (14:65af)  	ld [hl], a  	ld [wListScrollOffset], a ; wcc36  	ld [wd05e], a -	ld [W_PLAYERMONID], a -	ld [W_PLAYERMONSALIVEFLAGS], a +	ld [wBattleMonSpecies], a +	ld [wPartyAliveFlags], a  	ld [wPlayerMonNumber], a ; wPlayerMonNumber  	ld [wd078], a  	ld [wd35d], a @@ -40,12 +40,12 @@ Func_525af: ; 525af (14:65af)  	jp Bankswitch  ParalyzeEffect_: ; 52601 (14:6601) -	ld hl, W_ENEMYMONSTATUS ; wcfe9 +	ld hl, wEnemyMonStatus ; wcfe9  	ld de, W_PLAYERMOVETYPE ; wcfd5  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jp z, .asm_52613 -	ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS +	ld hl, wBattleMonStatus ; wBattleMonStatus  	ld de, W_ENEMYMOVETYPE ; wcfcf  .asm_52613 diff --git a/engine/battle/15.asm b/engine/battle/15.asm index 7966e634..d6d59d5f 100755 --- a/engine/battle/15.asm +++ b/engine/battle/15.asm @@ -1,11 +1,11 @@  GainExperience: ; 5524f (15:524f) -	ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE +	ld a, [W_ISLINKBATTLE]  	cp $4  	ret z  	call Func_5546c -	ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA) +	ld hl, wPartyMons  	xor a -	ld [wWhichPokemon], a ; wWhichPokemon +	ld [wWhichPokemon], a  Func_5525f: ; 5525f (15:525f)  	inc hl @@ -13,8 +13,8 @@ Func_5525f: ; 5525f (15:525f)  	or [hl]  	jp z, Func_55436  	push hl -	ld hl, W_PLAYERMONSALIVEFLAGS -	ld a, [wWhichPokemon] ; wWhichPokemon +	ld hl, wPartyAliveFlags +	ld a, [wWhichPokemon]  	ld c, a  	ld b, $2  	ld a, $10 ; FlagActionPredef @@ -56,26 +56,26 @@ Func_5525f: ; 5525f (15:525f)  	jr .asm_55285  .asm_552a1  	xor a -	ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND) -	ld [$ff97], a +	ld [H_MULTIPLICAND], a +	ld [H_MULTIPLICAND + 1], a  	ld a, [wd008] -	ld [$ff98], a -	ld a, [W_ENEMYMONLEVEL] ; W_ENEMYMONLEVEL -	ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) +	ld [H_MULTIPLICAND + 2], a +	ld a, [wEnemyMonLevel] +	ld [H_MULTIPLIER], a  	call Multiply -	ld a, $7 -	ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) -	ld b, $4 +	ld a, 7 +	ld [H_DIVISOR], a +	ld b, 4  	call Divide  	ld hl, $fff2  	add hl, de  	ld b, [hl]  	inc hl -	ld a, [wPlayerID] ; wPlayerID +	ld a, [wPlayerID]  	cp b  	jr nz, .asm_552d1  	ld b, [hl] -	ld a, [wPlayerID + 1] ; wd35a +	ld a, [wPlayerID + 1]  	cp b  	ld a, $0  	jr z, .asm_552d6 @@ -84,7 +84,7 @@ Func_5525f: ; 5525f (15:525f)  	ld a, $1  .asm_552d6  	ld [wcf4d], a -	ld a, [W_ISINBATTLE] ; W_ISINBATTLE +	ld a, [W_ISINBATTLE]  	dec a  	call nz, Func_5549f  	inc hl @@ -107,17 +107,17 @@ Func_5525f: ; 5525f (15:525f)  .asm_552f8  	inc hl  	push hl -	ld a, [wWhichPokemon] ; wWhichPokemon +	ld a, [wWhichPokemon]  	ld c, a -	ld b, $0 -	ld hl, W_PARTYMON1 ; W_PARTYMON1 +	ld b, 0 +	ld hl, wPartySpecies  	add hl, bc  	ld a, [hl]  	ld [wd0b5], a  	call GetMonHeader  	ld d, MAX_LEVEL  	callab CalcExperience -	ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND) +	ld a, [$ff96]  	ld b, a  	ld a, [$ff97]  	ld c, a @@ -140,8 +140,8 @@ Func_5525f: ; 5525f (15:525f)  	dec hl  .asm_5532e  	push hl -	ld a, [wWhichPokemon] ; wWhichPokemon -	ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME +	ld a, [wWhichPokemon] +	ld hl, wPartyMonNicks  	call GetPartyMonName  	ld hl, GainedText  	call PrintText @@ -157,11 +157,11 @@ Func_5525f: ; 5525f (15:525f)  	ld a, [hl]  	cp d  	jp z, Func_55436 -	ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL +	ld a, [W_CURENEMYLVL]  	push af  	push hl  	ld a, d -	ld [W_CURENEMYLVL], a ; W_CURENEMYLVL +	ld [W_CURENEMYLVL], a  	ld [hl], a  	ld bc, $ffdf  	add hl, bc @@ -198,12 +198,12 @@ Func_5525f: ; 5525f (15:525f)  	ld a, [hl]  	adc b  	ld [hl], a -	ld a, [wPlayerMonNumber] ; wPlayerMonNumber +	ld a, [wPlayerMonNumber]  	ld b, a -	ld a, [wWhichPokemon] ; wWhichPokemon +	ld a, [wWhichPokemon]  	cp b  	jr nz, .asm_553f7 -	ld de, W_PLAYERMONCURHP ; wd015 +	ld de, wBattleMonHP  	ld a, [hli]  	ld [de], a  	inc de @@ -212,7 +212,7 @@ Func_5525f: ; 5525f (15:525f)  	ld bc, $1f  	add hl, bc  	push hl -	ld de, W_PLAYERMONLEVEL ; W_PLAYERMONLEVEL +	ld de, wBattleMonLevel ; wBattleMonLevel  	ld bc, $b  	call CopyData  	pop hl @@ -258,7 +258,7 @@ Func_5525f: ; 5525f (15:525f)  	ld [W_CURENEMYLVL], a ; W_CURENEMYLVL  Func_55436: ; 55436 (15:5436) -	ld a, [W_NUMINPARTY] ; W_NUMINPARTY +	ld a, [wPartyCount] ; wPartyCount  	ld b, a  	ld a, [wWhichPokemon] ; wWhichPokemon  	inc a @@ -266,11 +266,11 @@ Func_55436: ; 55436 (15:5436)  	jr z, .asm_55450  	ld [wWhichPokemon], a ; wWhichPokemon  	ld bc, $2c -	ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA) +	ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)  	call AddNTimes  	jp Func_5525f  .asm_55450 -	ld hl, W_PLAYERMONSALIVEFLAGS +	ld hl, wPartyAliveFlags  	xor a  	ld [hl], a  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber @@ -287,7 +287,7 @@ Func_55436: ; 55436 (15:5436)  	jp Predef  Func_5546c: ; 5546c (15:546c) -	ld a, [W_PLAYERMONSALIVEFLAGS] +	ld a, [wPartyAliveFlags]  	ld b, a  	xor a  	ld c, $8 diff --git a/engine/battle/16.asm b/engine/battle/16.asm index 0b41d875..1500d003 100755 --- a/engine/battle/16.asm +++ b/engine/battle/16.asm @@ -8,7 +8,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)  	cp LAVENDER_HOUSE_1  	jr c, .pokemonTower  .notPokemonTower -	ld a, [W_ENEMYMONID] +	ld a, [wEnemyMonSpecies2]  	call PlayCry  	ld hl, WildMonAppearedText  	ld a, [W_MOVEMISSED] ; W_MOVEMISSED @@ -31,7 +31,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)  .pokemonTower  	ld b, SILPH_SCOPE  	call IsItemInBag -	ld a, [W_ENEMYMONID] +	ld a, [wEnemyMonSpecies2]  	ld [wcf91], a  	cp MAROWAK  	jr z, .isMarowak @@ -95,14 +95,14 @@ GhostCantBeIDdText: ; 58e54 (16:4e54)  	db "@"  SendOutMon: ; 58e59 (16:4e59) -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	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 ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	ld a, [hli]  	ld [wcce3], a  	ld [$ff97], a @@ -112,7 +112,7 @@ SendOutMon: ; 58e59 (16:4e59)  	ld a, $19  	ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)  	call Multiply -	ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP +	ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP  	ld a, [hli]  	ld b, [hl]  	srl a @@ -173,7 +173,7 @@ PlayerMon2Text: ; 58ed7 (16:4ed7)  	db $08 ; asm  	push de  	push bc -	ld hl, W_ENEMYMONCURHP + 1 +	ld hl, wEnemyMonHP + 1  	ld de, wcce4  	ld b, [hl]  	dec hl @@ -188,7 +188,7 @@ PlayerMon2Text: ; 58ed7 (16:4ed7)  	ld a, $19  	ld [H_POWEROFTEN], a  	call Multiply -	ld hl, W_ENEMYMONMAXHP +	ld hl, wEnemyMonMaxHP  	ld a, [hli]  	ld b, [hl]  	srl a diff --git a/engine/battle/1a.asm b/engine/battle/1a.asm index 2578621c..6b502a31 100755 --- a/engine/battle/1a.asm +++ b/engine/battle/1a.asm @@ -11,7 +11,7 @@ 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, W_PLAYERMONPP         ; PP of first move (in battle) +	ld hl, wBattleMonPP  ; PP of first move (in battle)  	call .DecrementPP  	ld a, [W_PLAYERBATTSTATUS3]        ; load pokemon status bits? @@ -26,7 +26,7 @@ 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, W_PARTYMON1_MOVE1PP         ; PP of first move (in party) +	ld hl, wPartyMon1PP         ; 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 diff --git a/engine/battle/1c.asm b/engine/battle/1c.asm index d936c7e5..242b8d66 100755 --- a/engine/battle/1c.asm +++ b/engine/battle/1c.asm @@ -170,16 +170,16 @@ GetBattleTransitionID_WildOrTrainer: ; 709e2 (1c:49e2)  	ret  GetBattleTransitionID_CompareLevels: ; 709ef (1c:49ef) -	ld hl, W_PARTYMON1_HP +	ld hl, wPartyMon1HP  .faintedLoop  	ld a, [hli]  	or [hl]  	jr nz, .notFainted -	ld de, W_PARTYMON2DATA - (W_PARTYMON1DATA + 1) +	ld de, wPartyMon2 - (wPartyMon1 + 1)  	add hl, de  	jr .faintedLoop  .notFainted -	ld de, W_PARTYMON1_LEVEL - (W_PARTYMON1_HP + 1) +	ld de, wPartyMon1Level - (wPartyMon1HP + 1)  	add hl, de  	ld a, [hl]  	add $3 diff --git a/engine/battle/4_2.asm b/engine/battle/4_2.asm index 881a0f60..d7625a59 100755 --- a/engine/battle/4_2.asm +++ b/engine/battle/4_2.asm @@ -2,11 +2,11 @@ Func_137aa: ; 137aa (4:77aa)  	ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE  	cp $4  	jr nz, .asm_137eb -	ld a, [W_ENEMYMONNUMBER] ; W_ENEMYMONNUMBER -	ld hl, wd8a8 -	ld bc, $2c +	ld a, [wEnemyMonPartyPos] +	ld hl, wEnemyMon1Status +	ld bc, wEnemyMon2 - wEnemyMon1  	call AddNTimes -	ld a, [W_ENEMYMONSTATUS] ; wcfe9 +	ld a, [wEnemyMonStatus] ; wcfe9  	ld [hl], a  	call ClearScreen  	callab Func_372d6 @@ -151,7 +151,7 @@ Func_13870: ; 13870 (4:7870)  	ld a, [Coord]  	cp $14  	jr nz, .asm_138e5 -	ld hl, W_WATERMONS ; wd8a5 (aliases: W_ENEMYMON1HP) +	ld hl, W_WATERMONS ; wd8a5 (aliases: wEnemyMon1HP)  .asm_138e5  	ld b, $0  	add hl, bc @@ -159,11 +159,11 @@ Func_13870: ; 13870 (4:7870)  	ld [W_CURENEMYLVL], a ; W_CURENEMYLVL  	ld a, [hl]  	ld [wcf91], a -	ld [W_ENEMYMONID], a +	ld [wEnemyMonSpecies2], a  	ld a, [wd0db]  	and a  	jr z, .asm_13916 -	ld a, [W_PARTYMON1_LEVEL] ; W_PARTYMON1_LEVEL +	ld a, [wPartyMon1Level] ; wPartyMon1Level  	ld b, a  	ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL  	cp b @@ -203,10 +203,10 @@ RecoilEffect_: ; 1392c (4:792c)  	ld a, [H_WHOSETURN] ; $fff3  	and a  	ld a, [W_PLAYERMOVENUM] ; wcfd2 -	ld hl, W_PLAYERMONMAXHP ; wd023 +	ld hl, wBattleMonMaxHP ; wd023  	jr z, .asm_1393d  	ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM -	ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP +	ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP  .asm_1393d  	ld d, a  	ld a, [W_DAMAGE] ; W_DAMAGE @@ -272,8 +272,8 @@ HitWithRecoilText: ; 1399e (4:799e)  	db "@"  ConversionEffect_: ; 139a3 (4:79a3) -	ld hl, W_ENEMYMONTYPE1 -	ld de, W_PLAYERMONTYPE1 +	ld hl, wEnemyMonType1 +	ld de, wBattleMonType1  	ld a, [H_WHOSETURN]  	and a  	ld a, [W_ENEMYBATTSTATUS1] @@ -313,17 +313,17 @@ HazeEffect_: ; 139da (4:79da)  	ld hl, wEnemyMonAttackMod  	call Func_13a43  	ld hl, wcd12 -	ld de, W_PLAYERMONATK +	ld de, wBattleMonAttack  	call Func_13a4a  	ld hl, wcd26 -	ld de, W_ENEMYMONATTACK +	ld de, wEnemyMonAttack  	call Func_13a4a -	ld hl, W_ENEMYMONSTATUS +	ld hl, wEnemyMonStatus  	ld de, wEnemySelectedMove  	ld a, [H_WHOSETURN]  	and a  	jr z, .asm_13a09 -	ld hl, W_PLAYERMONSTATUS +	ld hl, wBattleMonStatus  	dec de  .asm_13a09 diff --git a/engine/battle/5.asm b/engine/battle/5.asm index 18e74ff1..6c7a642e 100755 --- a/engine/battle/5.asm +++ b/engine/battle/5.asm @@ -1,13 +1,13 @@  SubstituteEffectHandler: ; 17dad (5:7dad)  	ld c, 50  	call DelayFrames -	ld hl, W_PLAYERMONMAXHP +	ld hl, wBattleMonMaxHP  	ld de, wPlayerSubstituteHP  	ld bc, W_PLAYERBATTSTATUS2  	ld a, [$fff3]  ;whose turn?  	and a  	jr z, .notEnemy -	ld hl, W_ENEMYMONMAXHP +	ld hl, wEnemyMonMaxHP  	ld de, wEnemySubstituteHP  	ld bc, W_ENEMYBATTSTATUS2  .notEnemy diff --git a/engine/battle/a.asm b/engine/battle/a.asm index cd1b34dc..fd3ef40b 100755 --- a/engine/battle/a.asm +++ b/engine/battle/a.asm @@ -4,12 +4,12 @@ LeechSeedEffect_: ; 2bea9 (a:7ea9)  	and a  	jr nz, .asm_2bee7  	ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2 -	ld de, W_ENEMYMONTYPE1 ; wcfea (aliases: W_ENEMYMONTYPES) +	ld de, wEnemyMonType1 ; wcfea (aliases: wEnemyMonType)  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_2bec8  	ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2 -	ld de, W_PLAYERMONTYPE1 ; wd019 (aliases: W_PLAYERMONTYPES) +	ld de, wBattleMonType1 ; wd019 (aliases: wBattleMonType)  .asm_2bec8  	ld a, [de]  	cp GRASS diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index e3ee4fe0..6e5e9903 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1488,9 +1488,9 @@ AnimationBlinkMon: ; 7936f (1e:536f)  AnimationFlashMonPic: ; 79389 (1e:5389)  ; Flashes the mon's sprite on and off -	ld a, [W_PLAYERMONID] +	ld a, [wBattleMonSpecies]  	ld [wHPBarMaxHP + 1], a -	ld a, [wcfe5] +	ld a, [wEnemyMonSpecies]  	ld [wHPBarMaxHP], a  	jp Func_79793 @@ -2117,9 +2117,9 @@ 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, [wcfe5] +	ld a, [wEnemyMonSpecies]  	ld [wHPBarMaxHP + 1], a -	ld a, [W_PLAYERMONID] +	ld a, [wBattleMonSpecies]  	ld [wHPBarMaxHP], a  Func_79793: ; 79793 (1e:5793) @@ -2137,10 +2137,10 @@ Func_79793: ; 79793 (1e:5793)  	call LoadFrontSpriteByMonIndex  	jr .asm_797d3  .asm_797b0 -	ld a, [wcfd9] +	ld a, [wBattleMonSpecies2]  	push af  	ld a, [wHPBarMaxHP + 1] -	ld [wcfd9], a +	ld [wBattleMonSpecies2], a  	ld [wd0b5], a  	call GetMonHeader  	ld a, $4 @@ -2150,7 +2150,7 @@ Func_79793: ; 79793 (1e:5793)  	call Func_79820  	call Func_79aae  	pop af -	ld [wcfd9], a +	ld [wBattleMonSpecies2], a  .asm_797d3  	ld b, $1  	jp GoPAL_SET @@ -2291,10 +2291,10 @@ Func_7986f: ; 7986f (1e:586f)  	ld a,[H_WHOSETURN]  	and a  	jr nz,.next -	ld a,[W_PLAYERMONID] ; get number of current monster +	ld a,[wBattleMonSpecies] ; get number of current monster  	jr .Continue  .next -	ld a,[wcfe5] +	ld a,[wEnemyMonSpecies]  .Continue  	push hl  	call GetCryData diff --git a/engine/battle/b_2.asm b/engine/battle/b_2.asm index 6ec58cc0..3c839cba 100755 --- a/engine/battle/b_2.asm +++ b/engine/battle/b_2.asm @@ -90,9 +90,9 @@ PayDayEffect_ ; 2feb8 (b:7eb8)  	ld [hli], a  	ld a, [$fff3]  	and a -	ld a, [W_PLAYERMONLEVEL] +	ld a, [wBattleMonLevel]  	jr z, .asm_2fec8 ; 0x2fec3 $3 -	ld a, [W_ENEMYMONLEVEL] +	ld a, [wEnemyMonLevel]  .asm_2fec8  	add a  	ld [$ff98], a diff --git a/engine/battle/c.asm b/engine/battle/c.asm index bc3788de..c1347d24 100755 --- a/engine/battle/c.asm +++ b/engine/battle/c.asm @@ -27,13 +27,13 @@ OneHitKOEffect_: ; 33f57 (c:7f57)  	ld [hl], a ; set the damage output to zero  	dec a  	ld [wd05e], a -	ld hl, W_PLAYERMONSPEED + 1 -	ld de, W_ENEMYMONSPEED + 1 +	ld hl, wBattleMonSpeed + 1 +	ld de, wEnemyMonSpeed + 1  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_33f72 -	ld hl, W_ENEMYMONSPEED + 1 -	ld de, W_PLAYERMONSPEED + 1 +	ld hl, wEnemyMonSpeed + 1 +	ld de, wBattleMonSpeed + 1  .asm_33f72  	ld a, [de]  	dec de diff --git a/engine/battle/core.asm b/engine/battle/core.asm index b6d8b78e..a9f681de 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -216,12 +216,12 @@ Func_3c110: ; 3c110 (f:4110)  Func_3c11e: ; 3c11e (f:411e)  	xor a -	ld [W_PLAYERMONSALIVEFLAGS], a +	ld [wPartyAliveFlags], a  	ld [wccf5], a  	ld [wcd6a], a  	inc a  	ld [wd11d], a -	ld hl, W_ENEMYMON1HP ; wd8a5 +	ld hl, wEnemyMon1HP ; wd8a5  	ld bc, $2b  	ld d, $3  .asm_3c134 @@ -263,7 +263,7 @@ Func_3c11e: ; 3c11e (f:411e)  	jp PrintText  .asm_3c17a  	callab PrintSafariZoneBattleText -	ld a, [W_ENEMYMONSPEED + 1] +	ld a, [wEnemyMonSpeed + 1]  	add a  	ld b, a  	jp c, asm_3c202 @@ -302,13 +302,13 @@ Func_3c1ad: ; 3c1ad (f:41ad)  	ld a, [wWhichPokemon] ; wWhichPokemon  	ld [wPlayerMonNumber], a ; wPlayerMonNumber  	inc a -	ld hl, W_NUMINPARTY ; W_NUMINPARTY +	ld hl, wPartyCount ; wPartyCount  	ld c, a  	ld b, $0  	add hl, bc  	ld a, [hl]  	ld [wcf91], a -	ld [wcfd9], a +	ld [wBattleMonSpecies2], a  	call LoadScreenTilesFromBuffer1  	FuncCoord 1, 5  	ld hl, Coord @@ -319,7 +319,7 @@ Func_3c1ad: ; 3c1ad (f:41ad)  	ld c, a  	ld b, $1  	push bc -	ld hl, W_PLAYERMONSALIVEFLAGS +	ld hl, wPartyAliveFlags  	ld a, $10 ; FlagActionPredef  	call Predef  	ld hl, wccf5 @@ -359,11 +359,11 @@ EnemyRanText: ; 3c22e (f:422e)  MainInBattleLoop: ; 3c233 (f:4233)  	call ReadPlayerMonCurHPAndStatus -	ld hl, W_PLAYERMONCURHP +	ld hl, wBattleMonHP  	ld a, [hli]  	or [hl]  	jp z, HandlePlayerMonFainted  ; test if current player mon is fainted -	ld hl, W_ENEMYMONCURHP +	ld hl, wEnemyMonHP  	ld a, [hli]  	or [hl]  	jp z, HandleEnemyMonFainted @@ -385,7 +385,7 @@ MainInBattleLoop: ; 3c233 (f:4233)  	ld a, [wd078]  	and a  	ret nz -	ld a, [W_PLAYERMONSTATUS] +	ld a, [wBattleMonStatus]  	and $27  	jr nz, .asm_3c2a6 ; 0x3c271 $33  	ld a, [W_PLAYERBATTSTATUS1] @@ -430,7 +430,7 @@ MainInBattleLoop: ; 3c233 (f:4233)  	bit 5, a  	jr z, .asm_3c2dd ; 0x3c2c9 $12  	ld a, [wPlayerMoveListIndex] -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	ld c, a  	ld b, $0  	add hl, bc @@ -464,8 +464,8 @@ MainInBattleLoop: ; 3c233 (f:4233)  	cp COUNTER  	jr z, .playerMovesFirst  .compareSpeed -	ld de, W_PLAYERMONSPEED ; player speed value -	ld hl, W_ENEMYMONSPEED ; enemy speed value +	ld de, wBattleMonSpeed ; player speed value +	ld hl, wEnemyMonSpeed ; enemy speed value  	ld c, $2  	call StringCmp ; compare speed values  	jr z, .speedEqual @@ -542,13 +542,13 @@ MainInBattleLoop: ; 3c233 (f:4233)  	jp MainInBattleLoop  HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd) -	ld hl, W_PLAYERMONCURHP ; wd015 -	ld de, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS +	ld hl, wBattleMonHP ; wd015 +	ld de, wBattleMonStatus ; wBattleMonStatus  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .playersTurn -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP -	ld de, W_ENEMYMONSTATUS ; wcfe9 +	ld hl, wEnemyMonHP ; wEnemyMonHP +	ld de, wEnemyMonStatus ; wcfe9  .playersTurn  	ld a, [de]  	and (1 << BRN) | (1 << PSN) @@ -690,11 +690,11 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ; 3c43d (f:443d)  ; adds bc to enemy HP  HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3)  	push hl -	ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP +	ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .playersTurn -	ld hl, W_PLAYERMONMAXHP ; wd023 +	ld hl, wBattleMonMaxHP ; wd023  .playersTurn  	ld a, [hli]  	ld [wHPBarMaxHP+1], a @@ -778,7 +778,7 @@ HandleEnemyMonFainted: ; 3c525 (f:4525)  	ld a, d  	and a  	jp z, HandlePlayerBlackOut -	ld hl, W_PLAYERMONCURHP ; wd015 +	ld hl, wBattleMonHP ; wd015  	ld a, [hli]  	or [hl]  	call nz, Func_3cd60 @@ -787,7 +787,7 @@ HandleEnemyMonFainted: ; 3c525 (f:4525)  	ret z  	call AnyEnemyPokemonAliveCheck  	jp z, TrainerBattleVictory -	ld hl, W_PLAYERMONCURHP ; wd015 +	ld hl, wBattleMonHP ; wd015  	ld a, [hli]  	or [hl]  	jr nz, .asm_3c555 @@ -808,8 +808,8 @@ FaintEnemyPokemon ; 0x3c567  	ld a, [W_ISINBATTLE] ; W_ISINBATTLE  	dec a  	jr z, .wild -	ld a, [W_ENEMYMONNUMBER] ; W_ENEMYMONNUMBER -	ld hl, W_ENEMYMON1HP +	ld a, [wEnemyMonPartyPos] +	ld hl, wEnemyMon1HP  	ld bc, $2c ; mon struct len  	call AddNTimes  	xor a @@ -861,7 +861,7 @@ FaintEnemyPokemon ; 0x3c567  	ld a, MUSIC_DEFEATED_WILD_MON  	call PlayBattleVictoryMusic  .sfxplayed -	ld hl, W_PLAYERMONCURHP ; wd015 +	ld hl, wBattleMonHP ; wd015  	ld a, [hli]  	or [hl]  	jr nz, .playermonnotfaint @@ -899,7 +899,7 @@ FaintEnemyPokemon ; 0x3c567  	ret z  	ld a, $1  	ld [wcc5b], a -	ld a, [W_NUMINPARTY] ; W_NUMINPARTY +	ld a, [wPartyCount] ; wPartyCount  	ld b, $0  .asm_3c62c  	scf @@ -907,7 +907,7 @@ FaintEnemyPokemon ; 0x3c567  	dec a  	jr nz, .asm_3c62c  	ld a, b -	ld [W_PLAYERMONSALIVEFLAGS], a +	ld [wPartyAliveFlags], a  	ld hl, GainExperience  	ld b, BANK(GainExperience)  	jp Bankswitch @@ -928,7 +928,7 @@ AnyEnemyPokemonAliveCheck: ; 3c64f (f:464f)  	ld a, [wEnemyPartyCount] ; wEnemyPartyCount  	ld b, a  	xor a -	ld hl, W_ENEMYMON1HP ; wd8a5 +	ld hl, wEnemyMon1HP ; wd8a5  	ld de, $2c  .asm_3c65a  	or [hl] @@ -1025,7 +1025,7 @@ HandlePlayerMonFainted: ; 3c700 (f:4700)  	ld a, d  	and a  	jp z, HandlePlayerBlackOut -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	ld a, [hli]  	or [hl]  	jr nz, .enemyMonNotFainted @@ -1051,7 +1051,7 @@ HandlePlayerMonFainted: ; 3c700 (f:4700)  Func_3c741: ; 3c741 (f:4741)  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber  	ld c, a -	ld hl, W_PLAYERMONSALIVEFLAGS ; clear fainted mon's alive flag +	ld hl, wPartyAliveFlags ; clear fainted mon's alive flag  	ld b, $0  	ld a, $10 ; FlagActionPredef  	call Predef @@ -1067,7 +1067,7 @@ Func_3c741: ; 3c741 (f:4741)  	ld hl, wcd05  	ld [hli], a  	ld [hl], a -	ld [W_PLAYERMONSTATUS], a ; W_PLAYERMONSTATUS +	ld [wBattleMonStatus], a ; wBattleMonStatus  	call ReadPlayerMonCurHPAndStatus  	FuncCoord 9, 7  	ld hl, Coord @@ -1083,7 +1083,7 @@ Func_3c741: ; 3c741 (f:4741)  	ld a, [wccf0]  	and a  	ret z -	ld a, [W_PLAYERMONID] +	ld a, [wBattleMonSpecies]  	call PlayCry  	ld hl, PlayerMonFaintedText  	jp PrintText @@ -1117,8 +1117,8 @@ Func_3c79b: ; 3c79b (f:479b)  	ld a, [wCurrentMenuItem] ; wCurrentMenuItem  	and a  	jr z, .asm_3c7ad -	ld hl, W_PARTYMON1_SPEED ; wd193 -	ld de, W_ENEMYMONSPEED +	ld hl, wPartyMon1Speed +	ld de, wEnemyMonSpeed  	jp Func_3cab9  UseNextMonText: ; 3c7d3 (f:47d3) @@ -1150,7 +1150,7 @@ Func_3c7d8: ; 3c7d8 (f:47d8)  	ld a, [wWhichPokemon] ; wWhichPokemon  	ld [wPlayerMonNumber], a ; wPlayerMonNumber  	ld c, a -	ld hl, W_PLAYERMONSALIVEFLAGS +	ld hl, wPartyAliveFlags  	ld b, $1  	push bc  	ld a, $10 ; FlagActionPredef @@ -1166,7 +1166,7 @@ Func_3c7d8: ; 3c7d8 (f:47d8)  	call GoPAL_SET_CF1C  	call GBPalNormal  	call Func_3cc91 -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	ld a, [hli]  	or [hl]  	ret @@ -1310,7 +1310,7 @@ Func_3c8df: ; 3c8df (f:48df)  ; XXX this needs cleaning up. it's what runs when a juggler switches pokemon  EnemySendOut: ; 3c90e (f:490e) -	ld hl,W_PLAYERMONSALIVEFLAGS +	ld hl,wPartyAliveFlags  	xor a  	ld [hl],a  	ld a,[wPlayerMonNumber] @@ -1360,14 +1360,14 @@ Func_3c92a: ; 3c92a (f:492a)  	ld b,$FF  .next2  	inc b -	ld a,[W_ENEMYMONNUMBER] +	ld a,[wEnemyMonPartyPos]  	cp b  	jr z,.next2 -	ld hl,wEnemyMon1Species +	ld hl,wEnemyMon1  	ld a,b  	ld [wWhichPokemon],a  	push bc -	ld bc,$2C +	ld bc,wEnemyMon2 - wEnemyMon1  	call AddNTimes  	pop bc  	inc hl @@ -1378,8 +1378,8 @@ Func_3c92a: ; 3c92a (f:492a)  	jr z,.next2  .next3  	ld a,[wWhichPokemon] -	ld hl,wd8c5 -	ld bc,$2C +	ld hl,wEnemyMon1Level +	ld bc,wEnemyMon2 - wEnemyMon1  	call AddNTimes  	ld a,[hl]  	ld [W_CURENEMYLVL],a @@ -1390,10 +1390,10 @@ Func_3c92a: ; 3c92a (f:492a)  	ld b,0  	add hl,bc  	ld a,[hl] -	ld [W_ENEMYMONID],a +	ld [wEnemyMonSpecies2],a  	ld [wcf91],a  	call Func_3eb01 -	ld hl,W_ENEMYMONCURHP +	ld hl,wEnemyMonHP  	ld a,[hli]  	ld [wcce3],a  	ld a,[hl] @@ -1403,7 +1403,7 @@ Func_3c92a: ; 3c92a (f:492a)  	ld a,[wd11d]  	dec a  	jr z,.next4 -	ld a,[W_NUMINPARTY] +	ld a,[wPartyCount]  	dec a  	jr z,.next4  	ld a,[W_ISLINKBATTLE] @@ -1458,7 +1458,7 @@ Func_3c92a: ; 3c92a (f:492a)  	call GBPalNormal  	ld hl,TrainerSentOutText  	call PrintText -	ld a,[W_ENEMYMONID] +	ld a,[wEnemyMonSpecies2]  	ld [wcf91],a  	ld [wd0b5],a  	call GetMonHeader @@ -1470,14 +1470,14 @@ Func_3c92a: ; 3c92a (f:492a)  	ld hl,Coord  	ld a,2  	call Predef -	ld a,[W_ENEMYMONID] +	ld a,[wEnemyMonSpecies2]  	call PlayCry  	call Func_3cdec  	ld a,[wCurrentMenuItem]  	and a  	ret nz  	xor a -	ld [W_PLAYERMONSALIVEFLAGS],a +	ld [wPartyAliveFlags],a  	ld [wccf5],a  	call SaveScreenTilesToBuffer1  	jp Func_3d1ba @@ -1493,11 +1493,11 @@ TrainerSentOutText: ; 3ca7e (f:4a7e)  ; tests if the player has any pokemon that are not fainted  ; sets d = 0 if all fainted, d != 0 if some mons are still alive  AnyPlayerPokemonAliveCheck: ; 3ca83 (f:4a83) -	ld a, [W_NUMINPARTY] ; W_NUMINPARTY +	ld a, [wPartyCount] ; wPartyCount  	ld e, a  	xor a -	ld hl, W_PARTYMON1_HP ; wd16c -	ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA - 1 +	ld hl, wPartyMon1HP ; wd16c +	ld bc, wPartyMon2 - wPartyMon1 - 1  .partyMonsLoop  	or [hl]  	inc hl @@ -1510,7 +1510,7 @@ AnyPlayerPokemonAliveCheck: ; 3ca83 (f:4a83)  Func_3ca97: ; 3ca97 (f:4a97)  	ld a, [wWhichPokemon] ; wWhichPokemon -	ld hl, W_PARTYMON1_HP ; wd16c +	ld hl, wPartyMon1HP ; wd16c  	ld bc, $2c  	call AddNTimes  	ld a, [hli] @@ -1656,32 +1656,32 @@ GotAwayText: ; 3cba1 (f:4ba1)  Func_3cba6: ; 3cba6 (f:4ba6)  	ld a, [wWhichPokemon] ; wWhichPokemon  	ld bc, $2c -	ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA) +	ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)  	call AddNTimes -	ld de, W_PLAYERMONID +	ld de, wBattleMonSpecies  	ld bc, $c  	call CopyData  	ld bc, $f  	add hl, bc -	ld de, W_PLAYERMONIVS +	ld de, wBattleMonDVs  	ld bc, $2  	call CopyData -	ld de, W_PLAYERMONPP ; W_PLAYERMONPP +	ld de, wBattleMonPP ; wBattleMonPP  	ld bc, $4  	call CopyData -	ld de, W_PLAYERMONLEVEL ; W_PLAYERMONLEVEL +	ld de, wBattleMonLevel ; wBattleMonLevel  	ld bc, $b  	call CopyData -	ld a, [wcfd9] +	ld a, [wBattleMonSpecies2]  	ld [wd0b5], a  	call GetMonHeader -	ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME +	ld hl, wPartyMonNicks ; wPartyMonNicks  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber  	call SkipFixedLengthTextEntries -	ld de, W_PLAYERMONNAME +	ld de, wBattleMonNick  	ld bc, $b  	call CopyData -	ld hl, W_PLAYERMONLEVEL ; W_PLAYERMONLEVEL +	ld hl, wBattleMonLevel ; wBattleMonLevel  	ld de, wcd0f  	ld bc, $b  	call CopyData @@ -1701,30 +1701,30 @@ Func_3cc13: ; 3cc13 (f:4c13)  	ld bc, $2c  	ld hl, wEnemyMons ; wEnemyMon1Species  	call AddNTimes -	ld de, wcfe5 +	ld de, wEnemyMonSpecies  	ld bc, $c  	call CopyData  	ld bc, $f  	add hl, bc -	ld de, W_ENEMYMONATKDEFIV +	ld de, wEnemyMonDVs  	ld bc, $2  	call CopyData -	ld de, W_ENEMYMONPP ; wcffe +	ld de, wEnemyMonPP ; wcffe  	ld bc, $4  	call CopyData -	ld de, W_ENEMYMONLEVEL ; W_ENEMYMONLEVEL +	ld de, wEnemyMonLevel ; wEnemyMonLevel  	ld bc, $b  	call CopyData -	ld a, [wcfe5] +	ld a, [wEnemyMonSpecies]  	ld [wd0b5], a  	call GetMonHeader -	ld hl, W_ENEMYMON1NAME +	ld hl, wEnemyMonNicks  	ld a, [wWhichPokemon] ; wWhichPokemon  	call SkipFixedLengthTextEntries -	ld de, W_ENEMYMONNAME +	ld de, wEnemyMonNick  	ld bc, $b  	call CopyData -	ld hl, W_ENEMYMONLEVEL ; W_ENEMYMONLEVEL +	ld hl, wEnemyMonLevel ; wEnemyMonLevel  	ld de, wcd23  	ld bc, $b  	call CopyData @@ -1746,12 +1746,12 @@ Func_3cc13: ; 3cc13 (f:4c13)  	dec b  	jr nz, .asm_3cc86  	ld a, [wWhichPokemon] ; wWhichPokemon -	ld [W_ENEMYMONNUMBER], a ; W_ENEMYMONNUMBER +	ld [wEnemyMonPartyPos], a  	ret  Func_3cc91: ; 3cc91 (f:4c91)  	callab SendOutMon -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	ld a, [hli]  	or [hl]  	jp z, Func_3cca4 @@ -1835,15 +1835,15 @@ Func_3cd3a: ; 3cd3a (f:4d3a)  	ld bc, $707  	jp ClearScreenArea -; reads player's current mon's HP into W_PLAYERMONCURHP +; reads player's current mon's HP into wBattleMonHP  ReadPlayerMonCurHPAndStatus: ; 3cd43 (f:4d43)  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber -	ld hl, W_PARTYMON1_HP ; wd16c -	ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA +	ld hl, wPartyMon1HP ; wd16c +	ld bc, wPartyMon2 - wPartyMon1  	call AddNTimes  	ld d, h  	ld e, l -	ld hl, W_PLAYERMONCURHP ; wd015 +	ld hl, wBattleMonHP ; wd015  	ld bc, $4               ; 2 bytes HP, 1 byte unknown (unused?), 1 byte status  	jp CopyData @@ -1862,16 +1862,16 @@ Func_3cd60: ; 3cd60 (f:4d60)  	FuncCoord 18, 9  	ld hl, Coord  	ld [hl], $73 -	ld de, W_PLAYERMONNAME +	ld de, wBattleMonNick  	FuncCoord 10, 7  	ld hl, Coord  	call Func_3ce9c  	call PlaceString -	ld hl, W_PLAYERMONID +	ld hl, wBattleMonSpecies  	ld de, wcf98  	ld bc, $c  	call CopyData -	ld hl, W_PLAYERMONLEVEL ; W_PLAYERMONLEVEL +	ld hl, wBattleMonLevel ; wBattleMonLevel  	ld de, wcfb9  	ld bc, $b  	call CopyData @@ -1895,7 +1895,7 @@ Func_3cd60: ; 3cd60 (f:4d60)  	ld [H_AUTOBGTRANSFERENABLED], a ; $ffba  	ld hl, wcf1d  	call GetBattleHealthBarColor -	ld hl, W_PLAYERMONCURHP ; wd015 +	ld hl, wBattleMonHP ; wd015  	ld a, [hli]  	or [hl]  	jr z, .asm_3cdd9 @@ -1925,7 +1925,7 @@ Func_3cdec: ; 3cdec (f:4dec)  	ld bc, $40c  	call ClearScreenArea  	callab PlaceEnemyHUDTiles -	ld de, W_ENEMYMONNAME +	ld de, wEnemyMonNick  	FuncCoord 1, 0  	ld hl, Coord  	call Func_3ce9c @@ -1934,15 +1934,15 @@ Func_3cdec: ; 3cdec (f:4dec)  	ld hl, Coord  	push hl  	inc hl -	ld de, W_ENEMYMONSTATUS ; wcfe9 +	ld de, wEnemyMonStatus ; wcfe9  	call PrintStatusConditionNotFainted  	pop hl  	jr nz, .asm_3ce23 -	ld a, [W_ENEMYMONLEVEL] ; W_ENEMYMONLEVEL +	ld a, [wEnemyMonLevel] ; wEnemyMonLevel  	ld [wcfb9], a  	call PrintLevel  .asm_3ce23 -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	ld a, [hli]  	ld [$ff97], a  	ld a, [hld] @@ -1959,7 +1959,7 @@ Func_3cdec: ; 3cdec (f:4dec)  	ld a, $30  	ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)  	call Multiply -	ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP +	ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP  	ld a, [hli]  	ld b, a  	ld a, [hl] @@ -2058,7 +2058,7 @@ InitBattleMenu: ; 3ceb3 (f:4eb3)  	dec a  	jp nz, RegularBattleMenu ; regular battle  	; the following happens for the old man tutorial -	ld hl, W_PLAYERNAME ; wd158 +	ld hl, wPlayerName ; wd158  	ld de, W_GRASSRATE ; W_GRASSRATE  	ld bc, $b  	call CopyData  ; temporarily save the player name in unused space, @@ -2067,7 +2067,7 @@ InitBattleMenu: ; 3ceb3 (f:4eb3)  	               ; may not get overwritten (cinnabar) and the infamous  	               ; missingno. glitch can show up.  	ld hl, OldManName ; $4f12 -	ld de, W_PLAYERNAME ; wd158 +	ld de, wPlayerName ; wd158  	ld bc, $b  	call CopyData  	; the following simulates the keystrokes by drawing menus on screen @@ -2382,7 +2382,7 @@ Func_3d119: ; 3d119 (f:5119)  	jr z, .asm_3d18a  	xor a  	ld [wcc49], a -	ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA) +	ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)  	call ClearSprites  	ld a, $36  	call Predef ; indirect jump to StatusScreen (12953 (4:6953)) @@ -2396,7 +2396,7 @@ Func_3d119: ; 3d119 (f:5119)  	and a  	ld hl, AnimationMinimizeMon  	jr nz, .asm_3d182 -	ld a, [wcfe5] +	ld a, [wEnemyMonSpecies]  	ld [wcf91], a  	ld [wd0b5], a  	call GetMonHeader @@ -2439,7 +2439,7 @@ Func_3d1ba: ; 3d1ba (f:51ba)  	ld c, a  	ld b, $1  	push bc -	ld hl, W_PLAYERMONSALIVEFLAGS +	ld hl, wPartyAliveFlags  	ld a, $10 ; FlagActionPredef  	call Predef  	pop bc @@ -2462,8 +2462,8 @@ Func_3d1fa: ; 3d1fa (f:51fa)  	call LoadScreenTilesFromBuffer1  	ld a, $3  	ld [wCurrentMenuItem], a ; wCurrentMenuItem -	ld hl, W_PLAYERMONSPEED -	ld de, W_ENEMYMONSPEED +	ld hl, wBattleMonSpeed +	ld de, wEnemyMonSpeed  	call Func_3cab9  	ld a, $0  	ld [wd11f], a @@ -2502,7 +2502,7 @@ MoveSelectionMenu: ; 3d219 (f:5219)  .regularmenu  	call Func_3d3f5  	ret z -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	call .loadmoves  	FuncCoord 4, 12  	ld hl, Coord @@ -2524,7 +2524,7 @@ MoveSelectionMenu: ; 3d219 (f:5219)  	ld a, $c  	jr .menuset  .mimicmenu -	ld hl, W_ENEMYMONMOVES +	ld hl, wEnemyMonMoves  	call .loadmoves  	FuncCoord 0, 7  	ld hl, Coord @@ -2539,7 +2539,7 @@ MoveSelectionMenu: ; 3d219 (f:5219)  	jr .menuset  .relearnmenu  	ld a, [wWhichPokemon] ; wWhichPokemon -	ld hl, W_PARTYMON1_MOVE1 ; W_PARTYMON1_MOVE1 +	ld hl, wPartyMon1Moves ; wPartyMon1Moves  	ld bc, $2c  	call AddNTimes  	call .loadmoves @@ -2658,7 +2658,7 @@ Func_3d2fe: ; 3d2fe (f:52fe)  .moveselected  	pop af  	ret nz -	ld hl, W_PLAYERMONPP ; W_PLAYERMONPP +	ld hl, wBattleMonPP ; wBattleMonPP  	ld a, [wCurrentMenuItem] ; wCurrentMenuItem  	ld c, a  	ld b, $0 @@ -2677,7 +2677,7 @@ Func_3d2fe: ; 3d2fe (f:52fe)  	jr nz, .dummy ; game freak derp  .dummy  	ld a, [wCurrentMenuItem] ; wCurrentMenuItem -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	ld c, a  	ld b, $0  	add hl, bc @@ -2734,7 +2734,7 @@ Func_3d3f5: ; 3d3f5 (f:53f5)  	ld [wPlayerSelectedMove], a ; wPlayerSelectedMove  	ld a, [W_PLAYERDISABLEDMOVE] ; W_PLAYERDISABLEDMOVE  	and a -	ld hl, W_PLAYERMONPP ; W_PLAYERMONPP +	ld hl, wBattleMonPP ; wBattleMonPP  	jr nz, .asm_3d40e  	ld a, [hli]  	or [hl] @@ -2779,9 +2779,9 @@ Func_3d435: ; 3d435 (f:5435)  	ld a, [wcc35]  	and a  	jr z, asm_3d4ad -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	call Func_3d493 -	ld hl, W_PLAYERMONPP ; W_PLAYERMONPP +	ld hl, wBattleMonPP ; wBattleMonPP  	call Func_3d493  	ld hl, W_PLAYERDISABLEDMOVE ; W_PLAYERDISABLEDMOVE  	ld a, [hl] @@ -2811,7 +2811,7 @@ Func_3d435: ; 3d435 (f:5435)  	add b  	ld [hl], a  .asm_3d474 -	ld hl, W_PARTYMON1_MOVE1 ; W_PARTYMON1_MOVE1 +	ld hl, wPartyMon1Moves ; wPartyMon1Moves  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber  	ld bc, $2c  	call AddNTimes @@ -2878,7 +2878,7 @@ Func_3d4b6: ; 3d4b6 (f:54b6)  	dec [hl]  	xor a  	ld [H_WHOSETURN], a ; $fff3 -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	ld a, [wCurrentMenuItem] ; wCurrentMenuItem  	ld c, a  	ld b, $0 @@ -2894,7 +2894,7 @@ Func_3d4b6: ; 3d4b6 (f:54b6)  	ld c, [hl]  	inc [hl]  	ld b, $0 -	ld hl, W_PLAYERMONPP ; W_PLAYERMONPP +	ld hl, wBattleMonPP ; wBattleMonPP  	add hl, bc  	ld a, [hl]  	and $3f @@ -2951,7 +2951,7 @@ SelectEnemyMove: ; 3d564 (f:5564)  	ret nc  	ld [wEnemyMoveListIndex], a  	ld c, a -	ld hl, W_ENEMYMONMOVES +	ld hl, wEnemyMonMoves  	ld b, $0  	add hl, bc  	ld a, [hl] @@ -2964,7 +2964,7 @@ SelectEnemyMove: ; 3d564 (f:5564)  	ld a, [hl]  	and $12     ; using multi-turn move or bide  	ret nz -	ld a, [W_ENEMYMONSTATUS] +	ld a, [wEnemyMonStatus]  	and SLP | 1 << FRZ ; sleeping or frozen  	ret nz  	ld a, [W_ENEMYBATTSTATUS1] @@ -2977,7 +2977,7 @@ SelectEnemyMove: ; 3d564 (f:5564)  	ld a, $ff  	jr .done  .notCaughtInWrap -	ld hl, W_ENEMYMONMOVES+1 ; 2nd enemy move +	ld hl, wEnemyMonMoves+1 ; 2nd enemy move  	ld a, [hld]  	and a  	jr nz, .atLeastTwoMovesAvailable @@ -3233,7 +3233,7 @@ asm_3d766  	ld de,1  	call IsInArray  	call c,Func_3f132 -	ld hl,W_ENEMYMONCURHP +	ld hl,wEnemyMonHP  	ld a,[hli]  	ld b,[hl]  	or b @@ -3280,7 +3280,7 @@ PrintGhostText: ; 3d811 (f:5811)  	ld a,[H_WHOSETURN]  	and a  	jr nz,.Ghost -	ld a,[W_PLAYERMONSTATUS] ; player’s turn +	ld a,[wBattleMonStatus] ; player’s turn  	and a,SLP | (1 << FRZ)  	ret nz  	ld hl,ScaredText @@ -3319,13 +3319,13 @@ IsGhostBattle: ; 3d83a (f:583a)  	ret  Func_3d854: ; 3d854 (f:5854) -	ld hl,W_PLAYERMONSTATUS +	ld hl,wBattleMonStatus  	ld a,[hl]  	and a,SLP  	jr z,.FrozenCheck ; to 5884  	dec a -	ld [W_PLAYERMONSTATUS],a ; decrement sleep count +	ld [wBattleMonStatus],a ; decrement sleep count  	and a  	jr z,.WakeUp ; to 5874 @@ -3435,7 +3435,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)  	ld hl,Func_3d80a ; $580a  	jp Func_3da37  .ParalysisCheck -	ld hl,W_PLAYERMONSTATUS +	ld hl,wBattleMonStatus  	bit PAR,[hl]  	jr z,.next7 ; 5975  	call BattleRandom @@ -3652,14 +3652,14 @@ MoveIsDisabledText: ; 3daa8 (f:5aa8)  PrintHurtItselfText: ; 3daad (f:5aad)  	ld hl, HurtItselfText  	call PrintText -	ld hl, W_ENEMYMONDEFENSE ; wcff8 +	ld hl, wEnemyMonDefense ; wcff8  	ld a, [hli]  	push af  	ld a, [hld]  	push af -	ld a, [W_PLAYERMONDEF] +	ld a, [wBattleMonDefense]  	ld [hli], a -	ld a, [W_PLAYERMONDEF + 1] +	ld a, [wBattleMonDefense + 1]  	ld [hl], a  	ld hl, W_PLAYERMOVEEFFECT ; wcfd3  	push hl @@ -3677,7 +3677,7 @@ PrintHurtItselfText: ; 3daad (f:5aad)  	pop af  	pop hl  	ld [hl], a -	ld hl, W_ENEMYMONDEFENSE + 1 +	ld hl, wEnemyMonDefense + 1  	pop af  	ld [hld], a  	pop af @@ -3943,7 +3943,7 @@ Func_3dc88: ; 3dc88 (f:5c88)  	and a  	ret  .asm_3dc97 -	ld hl, W_PARTYMON1_OTID ; W_PARTYMON1_OTID +	ld hl, wPartyMon1OTID ; wPartyMon1OTID  	ld bc, $2c  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber  	call AddNTimes @@ -3973,7 +3973,7 @@ Func_3dc88: ; 3dc88 (f:5c88)  .asm_3dcce  	ld b, a  	ld c, a -	ld a, [W_PLAYERMONLEVEL] ; W_PLAYERMONLEVEL +	ld a, [wBattleMonLevel] ; wBattleMonLevel  	ld d, a  	add b  	ld b, a @@ -4015,7 +4015,7 @@ Func_3dc88: ; 3dc88 (f:5c88)  	swap a  	and $7  	jr z, .asm_3dd0e -	ld [W_PLAYERMONSTATUS], a ; W_PLAYERMONSTATUS +	ld [wBattleMonStatus], a ; wBattleMonStatus  	ld hl, BeganToNapText  	jr .asm_3dd3a  .asm_3dd20 @@ -4035,7 +4035,7 @@ Func_3dc88: ; 3dc88 (f:5c88)  	call PrintText  	jr Func_3ddb4  .asm_3dd3f -	ld a, [W_PLAYERMONMOVES + 1] +	ld a, [wBattleMonMoves + 1]  	and a  	jr z, .asm_3dd20  	ld a, [wccee] @@ -4044,7 +4044,7 @@ Func_3dc88: ; 3dc88 (f:5c88)  	ld a, [wPlayerSelectedMove] ; wPlayerSelectedMove  	cp $a5  	jr z, .asm_3dd20 -	ld hl, W_PLAYERMONPP ; W_PLAYERMONPP +	ld hl, wBattleMonPP ; wBattleMonPP  	push hl  	ld a, [hli]  	and $3f @@ -4086,7 +4086,7 @@ Func_3dc88: ; 3dc88 (f:5c88)  	cp c  	jr z, .asm_3dd86  	ld [wCurrentMenuItem], a ; wCurrentMenuItem -	ld hl, W_PLAYERMONPP ; W_PLAYERMONPP +	ld hl, wBattleMonPP ; wBattleMonPP  	ld e, a  	ld d, $0  	add hl, de @@ -4096,7 +4096,7 @@ Func_3dc88: ; 3dc88 (f:5c88)  	ld a, [wCurrentMenuItem] ; wCurrentMenuItem  	ld c, a  	ld b, $0 -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	add hl, bc  	ld a, [hl]  	ld [wPlayerSelectedMove], a ; wPlayerSelectedMove @@ -4145,7 +4145,7 @@ CalculateDamage: ; 3ddcf (f:5dcf)  	cp a, $14       ;types >= $14 are all special  	jr nc, .specialAttack  .physicalAttack -	ld hl, W_ENEMYMONDEFENSE    ;opponent defense +	ld hl, wEnemyMonDefense    ;opponent defense  	ld a, [hli]                 ;*BC = opponent defense used later  	ld b, a  	ld c, [hl] @@ -4156,7 +4156,7 @@ CalculateDamage: ; 3ddcf (f:5dcf)  	sla c  ;x2 defense if bit2 of D069 is set  	rl b  .next -	ld hl, W_PLAYERMONATK  ;attack pointer +	ld hl, wBattleMonAttack  ;attack pointer  	ld a, [wd05e]  	and a  	jr z, .next3 @@ -4167,14 +4167,14 @@ CalculateDamage: ; 3ddcf (f:5dcf)  	ld a, [$ff98]  	ld c, a  	push bc -	ld hl, W_PARTYMON1_ATACK +	ld hl, wPartyMon1Attack  	ld a, [wPlayerMonNumber] -	ld bc, $002c +	ld bc, wPartyMon2 - wPartyMon1  	call AddNTimes  	pop bc  	jr .next3  .specialAttack -	ld hl, W_ENEMYMONSPECIAL    ;opponent special +	ld hl, wEnemyMonSpecial    ;opponent special  	ld a, [hli]                 ;*BC = opponent special defense used later  	ld b, a  	ld c, [hl] @@ -4185,7 +4185,7 @@ CalculateDamage: ; 3ddcf (f:5dcf)  	sla c           ;x2 special defense if bit1 of D069 set  	rl b  .next2 -	ld hl, W_PLAYERMONSPECIAL +	ld hl, wBattleMonSpecial  	ld a, [wd05e]   ;XXX  	and a  	jr z, .next3  ;skip portion of code that pulls up inactive pokemon @@ -4197,9 +4197,9 @@ CalculateDamage: ; 3ddcf (f:5dcf)  	ld a, [$ff98]  	ld c, a  	push bc -	ld hl, W_PARTYMON1_SPECIAL +	ld hl, wPartyMon1Special  	ld a, [wPlayerMonNumber] -	ld bc, $002c +	ld bc, wPartyMon2 - wPartyMon1  	call AddNTimes  	pop bc  .next3 @@ -4222,7 +4222,7 @@ CalculateDamage: ; 3ddcf (f:5dcf)  	inc l            ;minimum HL = 1  .next4  	ld b, l        ;*B = attack [possibly scaled] [C contains defense] -	ld a, [W_PLAYERMONLEVEL]  ;*E = level +	ld a, [wBattleMonLevel]  ;*E = level  	ld e, a  	ld a, [wd05e]  ;critical hit?  	and a @@ -4246,7 +4246,7 @@ Func_3de75: ; 3de75 (f:5e75)  	ld a, [hl]  	cp $14  	jr nc, .asm_3debc -	ld hl, W_PLAYERMONDEF +	ld hl, wBattleMonDefense  	ld a, [hli]  	ld b, a  	ld c, [hl] @@ -4256,11 +4256,11 @@ Func_3de75: ; 3de75 (f:5e75)  	sla c  	rl b  .asm_3de98 -	ld hl, W_ENEMYMONATTACK +	ld hl, wEnemyMonAttack  	ld a, [wd05e]  	and a  	jr z, .asm_3deef -	ld hl, W_PARTYMON1_DEFENSE ; wd191 +	ld hl, wPartyMon1Defense  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber  	ld bc, $2c  	call AddNTimes @@ -4274,7 +4274,7 @@ Func_3de75: ; 3de75 (f:5e75)  	pop bc  	jr .asm_3deef  .asm_3debc -	ld hl, W_PLAYERMONSPECIAL +	ld hl, wBattleMonSpecial  	ld a, [hli]  	ld b, a  	ld c, [hl] @@ -4284,11 +4284,11 @@ Func_3de75: ; 3de75 (f:5e75)  	sla c  	rl b  .asm_3decd -	ld hl, W_ENEMYMONSPECIAL ; wcffc +	ld hl, wEnemyMonSpecial ; wcffc  	ld a, [wd05e]  	and a  	jr z, .asm_3deef -	ld hl, W_PARTYMON1_SPECIAL ; W_PARTYMON1_SPECIAL +	ld hl, wPartyMon1Special ; wPartyMon1Special  	ld a, [wPlayerMonNumber] ; wPlayerMonNumber  	ld bc, $2c  	call AddNTimes @@ -4320,7 +4320,7 @@ Func_3de75: ; 3de75 (f:5e75)  	inc l  .asm_3df0a  	ld b, l -	ld a, [W_ENEMYMONLEVEL] ; W_ENEMYMONLEVEL +	ld a, [wEnemyMonLevel] ; wEnemyMonLevel  	ld e, a  	ld a, [wd05e]  	and a @@ -4338,13 +4338,13 @@ Func_3df1c: ; 3df1c (f:5f1c)  	ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE  	cp $4  	jr nz, .asm_3df40 -	ld hl, wd8c6 +	ld hl, wEnemyMon1Stats  	dec c  	sla c  	ld b, $0  	add hl, bc -	ld a, [W_ENEMYMONNUMBER] ; W_ENEMYMONNUMBER -	ld bc, $2c +	ld a, [wEnemyMonPartyPos] +	ld bc, wEnemyMon2 - wEnemyMon1  	call AddNTimes  	ld a, [hli]  	ld [$ff97], a @@ -4354,12 +4354,12 @@ Func_3df1c: ; 3df1c (f:5f1c)  	pop de  	ret  .asm_3df40 -	ld a, [W_ENEMYMONLEVEL] ; W_ENEMYMONLEVEL +	ld a, [wEnemyMonLevel] ; wEnemyMonLevel  	ld [W_CURENEMYLVL], a ; W_CURENEMYLVL -	ld a, [wcfe5] +	ld a, [wEnemyMonSpecies]  	ld [wd0b5], a  	call GetMonHeader -	ld hl, W_ENEMYMONATKDEFIV +	ld hl, wEnemyMonDVs  	ld de, wcfaf  	ld a, [hli]  	ld [de], a @@ -4555,9 +4555,9 @@ CriticalHitTest: ; 3e023 (f:6023)  	ld [wd05e], a  	ld a, [H_WHOSETURN] ; $fff3  	and a -	ld a, [wcfe5] +	ld a, [wEnemyMonSpecies]  	jr nz, .asm_3e032 -	ld a, [W_PLAYERMONID] +	ld a, [wBattleMonSpecies]  .asm_3e032  	ld [wd0b5], a  	call GetMonHeader @@ -4697,7 +4697,7 @@ ApplyAttackToEnemyPokemon: ; 3e0df (f:60df)  	jr ApplyDamageToEnemyPokemon  .superFangEffect  ; set the damage to half the target's HP -	ld hl,W_ENEMYMONCURHP +	ld hl,wEnemyMonHP  	ld de,W_DAMAGE  	ld a,[hli]  	srl a @@ -4714,7 +4714,7 @@ ApplyAttackToEnemyPokemon: ; 3e0df (f:60df)  	ld [de],a  	jr ApplyDamageToEnemyPokemon  .specialDamage -	ld hl,W_PLAYERMONLEVEL +	ld hl,wBattleMonLevel  	ld a,[hl]  	ld b,a  	ld a,[W_PLAYERMOVENUM] @@ -4763,16 +4763,16 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142)  ; also, save the current HP at wHPBarOldHP  	ld a,[hld]  	ld b,a -	ld a,[W_ENEMYMONCURHP + 1] +	ld a,[wEnemyMonHP + 1]  	ld [wHPBarOldHP],a  	sub b -	ld [W_ENEMYMONCURHP + 1],a +	ld [wEnemyMonHP + 1],a  	ld a,[hl]  	ld b,a -	ld a,[W_ENEMYMONCURHP] +	ld a,[wEnemyMonHP]  	ld [wHPBarOldHP+1],a  	sbc b -	ld [W_ENEMYMONCURHP],a +	ld [wEnemyMonHP],a  	jr nc,.animateHpBar  ; if more damage was done than the current HP, zero the HP and set the damage  ; equal to how much HP the pokemon had before the attack @@ -4781,16 +4781,16 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142)  	ld a,[wHPBarOldHP]  	ld [hl],a  	xor a -	ld hl,W_ENEMYMONCURHP +	ld hl,wEnemyMonHP  	ld [hli],a  	ld [hl],a  .animateHpBar -	ld hl,W_ENEMYMONMAXHP +	ld hl,wEnemyMonMaxHP  	ld a,[hli]  	ld [wHPBarMaxHP+1],a  	ld a,[hl]  	ld [wHPBarMaxHP],a -	ld hl,W_ENEMYMONCURHP +	ld hl,wEnemyMonHP  	ld a,[hli]  	ld [wHPBarNewHP+1],a  	ld a,[hl] @@ -4818,7 +4818,7 @@ ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0)  	jr ApplyDamageToPlayerPokemon  .superFangEffect  ; set the damage to half the target's HP -	ld hl,W_PLAYERMONCURHP +	ld hl,wBattleMonHP  	ld de,W_DAMAGE  	ld a,[hli]  	srl a @@ -4835,7 +4835,7 @@ ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0)  	ld [de],a  	jr ApplyDamageToPlayerPokemon  .specialDamage -	ld hl,W_ENEMYMONLEVEL +	ld hl,wEnemyMonLevel  	ld a,[hl]  	ld b,a  	ld a,[W_ENEMYMOVENUM] @@ -4884,16 +4884,16 @@ ApplyDamageToPlayerPokemon: ; 3e200 (f:6200)  ; also, save the current HP at wHPBarOldHP and the new HP at wHPBarNewHP  	ld a,[hld]  	ld b,a -	ld a,[W_PLAYERMONCURHP + 1] +	ld a,[wBattleMonHP + 1]  	ld [wHPBarOldHP],a  	sub b -	ld [W_PLAYERMONCURHP + 1],a +	ld [wBattleMonHP + 1],a  	ld [wHPBarNewHP],a  	ld b,[hl] -	ld a,[W_PLAYERMONCURHP] +	ld a,[wBattleMonHP]  	ld [wHPBarOldHP+1],a  	sbc b -	ld [W_PLAYERMONCURHP],a +	ld [wBattleMonHP],a  	ld [wHPBarNewHP+1],a  	jr nc,.animateHpBar  ; if more damage was done than the current HP, zero the HP and set the damage @@ -4903,14 +4903,14 @@ ApplyDamageToPlayerPokemon: ; 3e200 (f:6200)  	ld a,[wHPBarOldHP]  	ld [hl],a  	xor a -	ld hl,W_PLAYERMONCURHP +	ld hl,wBattleMonHP  	ld [hli],a  	ld [hl],a  	ld hl,wHPBarNewHP  	ld [hli],a  	ld [hl],a  .animateHpBar -	ld hl,W_PLAYERMONMAXHP +	ld hl,wBattleMonMaxHP  	ld a,[hli]  	ld [wHPBarMaxHP+1],a  	ld a,[hl] @@ -5093,7 +5093,7 @@ MetronomePickMove: ; 3e348 (f:6348)  	call BattleRandom  	and a  	jr z,.pickMoveLoop -	cp a,NUM_MOVES + 1 ; max normal move number + 1 (this is Struggle's move number) +	cp a,NUM_ATTACKS + 1 ; max normal move number + 1 (this is Struggle's move number)  	jr nc,.pickMoveLoop  	cp a,METRONOME  	jr z,.pickMoveLoop @@ -5107,13 +5107,13 @@ IncrementMovePP: ; 3e373 (f:6373)  	ld a,[H_WHOSETURN]  	and a  ; values for player turn -	ld hl,W_PLAYERMONPP -	ld de,W_PARTYMON1_MOVE1PP +	ld hl,wBattleMonPP +	ld de,wPartyMon1PP  	ld a,[wPlayerMoveListIndex]  	jr z,.next  ; values for enemy turn -	ld hl,W_ENEMYMONPP -	ld de,wd8c1 ; enemy party pokemon 1 PP +	ld hl,wEnemyMonPP +	ld de,wEnemyMon1PP  	ld a,[wEnemyMoveListIndex]  .next  	ld b,$00 @@ -5127,9 +5127,9 @@ IncrementMovePP: ; 3e373 (f:6373)  	and a  	ld a,[wPlayerMonNumber] ; value for player turn  	jr z,.next2 -	ld a,[W_ENEMYMONNUMBER] ; value for enemy turn +	ld a,[wEnemyMonPartyPos] ; value for enemy turn  .next2 -	ld bc,$002c +	ld bc,wEnemyMon2 - wEnemyMon1  	call AddNTimes  	inc [hl] ; increment PP in the party memory location  	ret @@ -5137,11 +5137,11 @@ IncrementMovePP: ; 3e373 (f:6373)  ; function to adjust the base damage of an attack to account for type effectiveness  AdjustDamageForMoveType: ; 3e3a5 (f:63a5)  ; values for player turn -	ld hl,W_PLAYERMONTYPES +	ld hl,wBattleMonType  	ld a,[hli]  	ld b,a    ; b = type 1 of attacker  	ld c,[hl] ; c = type 2 of attacker -	ld hl,W_ENEMYMONTYPES +	ld hl,wEnemyMonType  	ld a,[hli]  	ld d,a    ; d = type 1 of defender  	ld e,[hl] ; e = type 2 of defender @@ -5151,11 +5151,11 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5)  	and a  	jr z,.next  ; values for enemy turn -	ld hl,W_ENEMYMONTYPES +	ld hl,wEnemyMonType  	ld a,[hli]  	ld b,a    ; b = type 1 of attacker  	ld c,[hl] ; c = type 2 of attacker -	ld hl,W_PLAYERMONTYPES +	ld hl,wBattleMonType  	ld a,[hli]  	ld d,a    ; d = type 1 of defender  	ld e,[hl] ; e = type 2 of defender @@ -5256,7 +5256,7 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5)  AIGetTypeEffectiveness: ; 3e449 (f:6449)  	ld a,[W_ENEMYMOVETYPE]  	ld d,a                 ; d = type of enemy move -	ld hl,W_PLAYERMONTYPES +	ld hl,wBattleMonType  	ld b,[hl]              ; b = type 1 of player's pokemon  	inc hl  	ld c,[hl]              ; c = type 2 of player's pokemon @@ -5292,14 +5292,14 @@ MoveHitTest: ; 3e56b (f:656b)  ; player's turn  	ld hl,W_ENEMYBATTSTATUS1  	ld de,W_PLAYERMOVEEFFECT -	ld bc,W_ENEMYMONSTATUS +	ld bc,wEnemyMonStatus  	ld a,[H_WHOSETURN]  	and a  	jr z,.dreamEaterCheck  ; enemy's turn  	ld hl,W_PLAYERBATTSTATUS1  	ld de,W_ENEMYMOVEEFFECT -	ld bc,W_PLAYERMONSTATUS +	ld bc,wBattleMonStatus  .dreamEaterCheck  	ld a,[de]  	cp a,DREAM_EATER_EFFECT @@ -5691,7 +5691,7 @@ asm_3e7ef: ; 3e7ef (f:67ef)  	ld de, $1  	call IsInArray  	call c, Func_3f132 -	ld hl, W_PLAYERMONCURHP ; wd015 +	ld hl, wBattleMonHP ; wd015  	ld a, [hli]  	ld b, [hl]  	or b @@ -5729,12 +5729,12 @@ Func_3e88c: ; 3e88c (f:688c)  	ret  Func_3e88f: ; 3e88f (f:688f) -	ld hl, W_ENEMYMONSTATUS ; wcfe9 +	ld hl, wEnemyMonStatus ; wcfe9  	ld a, [hl]  	and $7  	jr z, .asm_3e8bf  	dec a -	ld [W_ENEMYMONSTATUS], a ; wcfe9 +	ld [wEnemyMonStatus], a ; wcfe9  	and a  	jr z, .asm_3e8af  	ld hl, FastAsleepText @@ -5830,14 +5830,14 @@ Func_3e8fd: ; 3e8fd (f:68fd)  	ld [hl], a  	ld hl, HurtItselfText  	call PrintText -	ld hl, W_PLAYERMONDEF +	ld hl, wBattleMonDefense  	ld a, [hli]  	push af  	ld a, [hld]  	push af -	ld a, [W_ENEMYMONDEFENSE] ; wcff8 +	ld a, [wEnemyMonDefense] ; wcff8  	ld [hli], a -	ld a, [W_ENEMYMONDEFENSE + 1] +	ld a, [wEnemyMonDefense + 1]  	ld [hl], a  	ld hl, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT  	push hl @@ -5855,7 +5855,7 @@ Func_3e8fd: ; 3e8fd (f:68fd)  	pop af  	pop hl  	ld [hl], a -	ld hl, W_PLAYERMONDEF + 1 +	ld hl, wBattleMonDefense + 1  	pop af  	ld [hld], a  	pop af @@ -5881,7 +5881,7 @@ Func_3e9aa: ; 3e9aa (f:69aa)  	ld hl, Func_3e88c ; $688c  	jp Func_3eab8  .asm_3e9bf -	ld hl, W_ENEMYMONSTATUS ; wcfe9 +	ld hl, wEnemyMonStatus ; wcfe9  	bit 6, [hl]  	jr z, asm_3e9f6  	call BattleRandom @@ -6047,8 +6047,8 @@ Func_3eb01: ; 3eb01 (f:6b01)  	ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE  	cp $4  	jp z, Func_3cc13 -	ld a, [W_ENEMYMONID] -	ld [wcfe5], a +	ld a, [wEnemyMonSpecies2] +	ld [wEnemyMonSpecies], a  	ld [wd0b5], a  	call GetMonHeader  	ld a, [W_ENEMYBATTSTATUS3] ; W_ENEMYBATTSTATUS3 @@ -6066,15 +6066,15 @@ Func_3eb01: ; 3eb01 (f:6b01)  	ld b, a  	call BattleRandom  .asm_3eb33 -	ld hl, W_ENEMYMONATKDEFIV +	ld hl, wEnemyMonDVs  	ld [hli], a  	ld [hl], b -	ld de, W_ENEMYMONLEVEL ; W_ENEMYMONLEVEL +	ld de, wEnemyMonLevel ; wEnemyMonLevel  	ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL  	ld [de], a  	inc de  	ld b, $0 -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	push hl  	call CalcStats  	pop hl @@ -6084,32 +6084,32 @@ Func_3eb01: ; 3eb01 (f:6b01)  	ld a, [W_ENEMYBATTSTATUS3] ; W_ENEMYBATTSTATUS3  	bit 3, a  	jr nz, .asm_3eb86 -	ld a, [W_ENEMYMONMAXHP] ; W_ENEMYMONMAXHP +	ld a, [wEnemyMonMaxHP] ; wEnemyMonMaxHP  	ld [hli], a -	ld a, [W_ENEMYMONMAXHP+1] +	ld a, [wEnemyMonMaxHP+1]  	ld [hli], a  	xor a  	inc hl  	ld [hl], a  	jr .asm_3eb86  .asm_3eb65 -	ld hl, W_ENEMYMON1HP ; wd8a5 (aliases: W_WATERMONS) +	ld hl, wEnemyMon1HP ; wd8a5 (aliases: W_WATERMONS)  	ld a, [wWhichPokemon] ; wWhichPokemon -	ld bc, $2c +	ld bc, wEnemyMon2 - wEnemyMon1  	call AddNTimes  	ld a, [hli] -	ld [W_ENEMYMONCURHP], a ; W_ENEMYMONCURHP +	ld [wEnemyMonHP], a ; wEnemyMonHP  	ld a, [hli] -	ld [W_ENEMYMONCURHP + 1], a +	ld [wEnemyMonHP + 1], a  	ld a, [wWhichPokemon] ; wWhichPokemon -	ld [W_ENEMYMONNUMBER], a ; W_ENEMYMONNUMBER +	ld [wEnemyMonPartyPos], a  	inc hl  	ld a, [hl] -	ld [W_ENEMYMONSTATUS], a ; wcfe9 +	ld [wEnemyMonStatus], a ; wcfe9  	jr .asm_3eb86  .asm_3eb86  	ld hl, W_MONHTYPES -	ld de, W_ENEMYMONTYPES ; wcfea +	ld de, wEnemyMonType ; wcfea  	ld a, [hli]            ; copy type 1  	ld [de], a  	inc de @@ -6122,11 +6122,11 @@ Func_3eb01: ; 3eb01 (f:6b01)  	ld a, [W_ISINBATTLE] ; W_ISINBATTLE  	cp $2  	jr nz, .asm_3ebb0 -	ld hl, wd8ac +	ld hl, wEnemyMon1Moves  	ld a, [wWhichPokemon] ; wWhichPokemon -	ld bc, $2c +	ld bc, wEnemyMon2 - wEnemyMon1  	call AddNTimes -	ld bc, $4 +	ld bc, NUM_MOVES  	call CopyData  	jr .asm_3ebca  .asm_3ebb0 @@ -6150,8 +6150,8 @@ Func_3eb01: ; 3eb01 (f:6b01)  	ld a, $3e  	call Predef ; indirect jump to WriteMonMoves (3afb8 (e:6fb8))  .asm_3ebca -	ld hl, W_ENEMYMONMOVES -	ld de, W_ENEMYMONSPECIAL + 1 +	ld hl, wEnemyMonMoves +	ld de, wEnemyMonSpecial + 1  	ld a, $5e  	call Predef ; indirect jump to LoadMovePPs (f473 (3:7473))  	ld hl, W_MONHBASESTATS @@ -6169,14 +6169,14 @@ Func_3eb01: ; 3eb01 (f:6b01)  	inc de  	ld a, [hl]     ; base exp  	ld [de], a -	ld a, [W_ENEMYMONID] +	ld a, [wEnemyMonSpecies2]  	ld [wd11e], a  	call GetMonName  	ld hl, wcd6d -	ld de, W_ENEMYMONNAME +	ld de, wEnemyMonNick  	ld bc, $b  	call CopyData -	ld a, [W_ENEMYMONID] +	ld a, [wEnemyMonSpecies2]  	ld [wd11e], a  	ld a, $3a  	call Predef ; indirect jump to IndexToPokedex (41010 (10:5010)) @@ -6187,7 +6187,7 @@ Func_3eb01: ; 3eb01 (f:6b01)  	ld hl, wPokedexSeen ; wd30a  	ld a, $10 ; FlagActionPredef  	call Predef -	ld hl, W_ENEMYMONLEVEL ; W_ENEMYMONLEVEL +	ld hl, wEnemyMonLevel ; wEnemyMonLevel  	ld de, wcd23  	ld bc, $b  	call CopyData @@ -6237,12 +6237,12 @@ Func_3ec32: ; 3ec32 (f:6c32)  Func_3ec81: ; 3ec81 (f:6c81)  	push bc -	ld a, [W_PLAYERMONLEVEL] ; W_PLAYERMONLEVEL +	ld a, [wBattleMonLevel] ; wBattleMonLevel  	ld b, a -	ld a, [W_ENEMYMONLEVEL] ; W_ENEMYMONLEVEL -	ld [W_PLAYERMONLEVEL], a ; W_PLAYERMONLEVEL +	ld a, [wEnemyMonLevel] ; wEnemyMonLevel +	ld [wBattleMonLevel], a ; wBattleMonLevel  	ld a, b -	ld [W_ENEMYMONLEVEL], a ; W_ENEMYMONLEVEL +	ld [wEnemyMonLevel], a ; wEnemyMonLevel  	pop bc  	ret @@ -6335,10 +6335,10 @@ Func_3ed27: ; 3ed27 (f:6d27)  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3ed48 -	ld a, [W_PLAYERMONSTATUS] ; W_PLAYERMONSTATUS +	ld a, [wBattleMonStatus] ; wBattleMonStatus  	and $40  	ret z -	ld hl, W_PLAYERMONSPEED + 1 +	ld hl, wBattleMonSpeed + 1  	ld a, [hld]  	ld b, a  	ld a, [hl] @@ -6354,10 +6354,10 @@ Func_3ed27: ; 3ed27 (f:6d27)  	ld [hl], b  	ret  .asm_3ed48 -	ld a, [W_ENEMYMONSTATUS] ; wcfe9 +	ld a, [wEnemyMonStatus] ; wcfe9  	and $40  	ret z -	ld hl, W_ENEMYMONSPEED + 1 +	ld hl, wEnemyMonSpeed + 1  	ld a, [hld]  	ld b, a  	ld a, [hl] @@ -6377,10 +6377,10 @@ Func_3ed64: ; 3ed64 (f:6d64)  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3ed81 -	ld a, [W_PLAYERMONSTATUS] ; W_PLAYERMONSTATUS +	ld a, [wBattleMonStatus] ; wBattleMonStatus  	and $10  	ret z -	ld hl, W_PLAYERMONATK + 1 +	ld hl, wBattleMonAttack + 1  	ld a, [hld]  	ld b, a  	ld a, [hl] @@ -6394,10 +6394,10 @@ Func_3ed64: ; 3ed64 (f:6d64)  	ld [hl], b  	ret  .asm_3ed81 -	ld a, [W_ENEMYMONSTATUS] ; wcfe9 +	ld a, [wEnemyMonStatus] ; wcfe9  	and $10  	ret z -	ld hl, W_ENEMYMONATTACK + 1 +	ld hl, wEnemyMonAttack + 1  	ld a, [hld]  	ld b, a  	ld a, [hl] @@ -6427,11 +6427,11 @@ Func_3eda5: ; 3eda5 (f:6da5)  	ld a, [wd11e]  	and a  	ld a, c -	ld hl, W_PLAYERMONATK +	ld hl, wBattleMonAttack  	ld de, wcd12  	ld bc, wPlayerMonAttackMod ; wcd1a  	jr z, .asm_3edc0 -	ld hl, W_ENEMYMONATTACK +	ld hl, wEnemyMonAttack  	ld de, wcd26  	ld bc, wEnemyMonStatMods ; wcd2e  .asm_3edc0 @@ -6505,7 +6505,7 @@ Func_3ee19: ; 3ee19 (f:6e19)  	ret z  	ld a, [W_OBTAINEDBADGES]  	ld b, a -	ld hl, W_PLAYERMONATK +	ld hl, wBattleMonAttack  	ld c, $4  .asm_3ee28  	srl b @@ -6630,11 +6630,11 @@ BattleRandom:  Func_3eed3: ; 3eed3 (f:6ed3)  	ld a, [H_WHOSETURN] ; $fff3  	and a -	ld hl, W_ENEMYMONTYPE1 ; wcfea (aliases: W_ENEMYMONTYPES) +	ld hl, wEnemyMonType1 ; wcfea (aliases: wEnemyMonType)  	ld de, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1  	ld a, [W_PLAYERMOVENUM] ; wcfd2  	jr z, .asm_3eeea -	ld hl, W_PLAYERMONTYPE1 ; wd019 (aliases: W_PLAYERMONTYPES) +	ld hl, wBattleMonType1 ; wd019 (aliases: wBattleMonType)  	ld de, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1  	ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM  .asm_3eeea @@ -6671,7 +6671,7 @@ InitBattle: ; 3ef12 (f:6f12)  InitOpponent: ; 3ef18 (f:6f18)  	ld a, [W_CUROPPONENT] ; wd059  	ld [wcf91], a -	ld [W_ENEMYMONID], a +	ld [wEnemyMonSpecies2], a  	jr asm_3ef3d  asm_3ef23: ; 3ef23 (f:6f23)  	ld a, [wd732] @@ -6694,7 +6694,7 @@ asm_3ef3d: ; 3ef3d (f:6f3d)  	push af  	res 1, [hl]  	callab Func_525af -	ld a, [W_ENEMYMONID] +	ld a, [wEnemyMonSpecies2]  	sub $c8  	jp c, InitWildBattle  	ld [W_TRAINERCLASS], a ; wd031 @@ -6703,7 +6703,7 @@ asm_3ef3d: ; 3ef3d (f:6f3d)  	call Func_3ec32  	call _LoadTrainerPic  	xor a -	ld [W_ENEMYMONID], a +	ld [wEnemyMonSpecies2], a  	ld [$ffe1], a  	dec a  	ld [wAICount], a ; wccdf @@ -6712,7 +6712,7 @@ asm_3ef3d: ; 3ef3d (f:6f3d)  	ld a, $1  	call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))  	ld a, $ff -	ld [W_ENEMYMONNUMBER], a ; W_ENEMYMONNUMBER +	ld [wEnemyMonPartyPos], a  	ld a, $2  	ld [W_ISINBATTLE], a ; W_ISINBATTLE  	jp Func_3efeb @@ -6735,7 +6735,7 @@ InitWildBattle: ; 3ef8b (f:6f8b)  	ld a, c  	ld [hli], a   ; write front sprite pointer  	ld [hl], b -	ld hl, W_ENEMYMONNAME  ; set name to "GHOST" +	ld hl, wEnemyMonNick  ; set name to "GHOST"  	ld a, "G"  	ld [hli], a  	ld a, "H" @@ -6933,7 +6933,7 @@ asm_3f0d0: ; 3f0d0 (f:70d0)  LoadMonBackSprite:  ; Assumes the monster's attributes have  ; been loaded with GetMonHeader. -	ld a, [wcfd9] +	ld a, [wBattleMonSpecies2]  	ld [wcf91], a  	FuncCoord 1, 5  	ld hl, Coord @@ -7065,12 +7065,12 @@ MoveEffectPointerTable: ; 3f150 (f:7150)  	 dw DisableEffect             ; DISABLE_EFFECT  SleepEffect: ; 3f1fc (f:71fc) -	ld de, W_ENEMYMONSTATUS ; wcfe9 +	ld de, wEnemyMonStatus ; wcfe9  	ld bc, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jp z, .asm_3f20e -	ld de, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS +	ld de, wBattleMonStatus ; wBattleMonStatus  	ld bc, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2  .asm_3f20e @@ -7115,12 +7115,12 @@ AlreadyAsleepText: ; 3f24a (f:724a)  	db "@"  PoisonEffect: ; 3f24f (f:724f) -	ld hl, W_ENEMYMONSTATUS ; wcfe9 +	ld hl, wEnemyMonStatus ; wcfe9  	ld de, W_PLAYERMOVEEFFECT ; wcfd3  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3f260 -	ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS +	ld hl, wBattleMonStatus ; wBattleMonStatus  	ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT  .asm_3f260  	call CheckTargetSubstitute @@ -7214,12 +7214,12 @@ DrainHPEffect: ; 3f2e9 (f:72e9)  	jp Bankswitch  ExplodeEffect: ; 3f2f1 (f:72f1) -	ld hl, W_PLAYERMONCURHP ; wd015 +	ld hl, wBattleMonHP ; wd015  	ld de, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3f302 -	ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP +	ld hl, wEnemyMonHP ; wEnemyMonHP  	ld de, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2  .asm_3f302  	xor a @@ -7240,16 +7240,16 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)  	ld a, [$fff3]  ;whose turn?  	and a  	jp nz, opponentAttacker -	ld a, [W_ENEMYMONSTATUS] +	ld a, [wEnemyMonStatus]  	and a  	jp nz, CheckDefrost  	;opponent has no existing status  	ld a, [W_PLAYERMOVETYPE]  	ld b, a -	ld a, [W_ENEMYMONTYPE1] +	ld a, [wEnemyMonType1]  	cp b  	ret z  ;return if they match [can't freeze an ice type etc.] -	ld a, [W_ENEMYMONTYPE2] +	ld a, [wEnemyMonType2]  	cp b  	ret z  ;return..  	ld a, [W_PLAYERMOVEEFFECT] @@ -7271,14 +7271,14 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)  	cp a, FREEZE_SIDE_EFFECT  	jr z, .freeze  	ld a, 1 << PAR -	ld [W_ENEMYMONSTATUS], a +	ld [wEnemyMonStatus], a  	call Func_3ed27  ;quarter speed of affected monster  	ld a, $a9  	call Func_3fbb9  ;animation  	jp PrintMayNotAttackText    ;print paralysis text  .burn  	ld a, 1 << BRN -	ld [W_ENEMYMONSTATUS], a +	ld [wEnemyMonStatus], a  	call Func_3ed64  	ld a, $a9  	call Func_3fbb9  ;animation @@ -7287,21 +7287,21 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)  .freeze  	call Func_3f9cf  ;resets bit 5 of the D063/D068 flags  	ld a, 1 << FRZ -	ld [W_ENEMYMONSTATUS], a +	ld [wEnemyMonStatus], a  	ld a, $a9  	call Func_3fbb9  ;animation  	ld hl, FrozenText  	jp PrintText  opponentAttacker: ; 3f382 (f:7382) -	ld a, [W_PLAYERMONSTATUS]  ;this appears to the same as above with addresses swapped for opponent +	ld a, [wBattleMonStatus]  ;this appears to the same as above with addresses swapped for opponent  	and a  	jp nz, CheckDefrost  	ld a, [W_ENEMYMOVETYPE]  	ld b, a -	ld a, [W_PLAYERMONTYPE1] +	ld a, [wBattleMonType1]  	cp b  	ret z -	ld a, [W_PLAYERMONTYPE2] +	ld a, [wBattleMonType2]  	cp b  	ret z  	ld a, [W_ENEMYMOVEEFFECT] @@ -7322,18 +7322,18 @@ opponentAttacker: ; 3f382 (f:7382)  	cp a, FREEZE_SIDE_EFFECT  	jr z, .freeze  	ld a, 1 << PAR -	ld [W_PLAYERMONSTATUS], a +	ld [wBattleMonStatus], a  	call Func_3ed27  	jp PrintMayNotAttackText  .burn  	ld a, 1 << BRN -	ld [W_PLAYERMONSTATUS], a +	ld [wBattleMonStatus], a  	call Func_3ed64  	ld hl, BurnedText  	jp PrintText  .freeze  	ld a, 1 << FRZ -	ld [W_PLAYERMONSTATUS], a +	ld [wBattleMonStatus], a  	ld hl, FrozenText  	jp PrintText @@ -7357,10 +7357,10 @@ CheckDefrost: ; 3f3e2 (f:73e2)  	sub a, FIRE  	ret nz		;return if it isn't fire  				;type is fire -	ld [W_ENEMYMONSTATUS], a		;set opponent status to 00 ["defrost" a frozen monster] -	ld hl, wd8a8					;status of first opponent monster in their roster -	ld a, [W_ENEMYMONNUMBER] -	ld bc, $002c		;$2C bytes per roster entry +	ld [wEnemyMonStatus], a		;set opponent status to 00 ["defrost" a frozen monster] +	ld hl, wEnemyMon1Status +	ld a, [wEnemyMonPartyPos] +	ld bc, wEnemyMon2 - wEnemyMon1  	call AddNTimes  	xor a  	ld [hl], a			;clear status in roster @@ -7370,10 +7370,10 @@ CheckDefrost: ; 3f3e2 (f:73e2)  	ld a, [W_ENEMYMOVETYPE]		;same as above with addresses swapped  	sub a, FIRE  	ret nz -	ld [W_PLAYERMONSTATUS], a -	ld hl, W_PARTYMON1_STATUS +	ld [wBattleMonStatus], a +	ld hl, wPartyMon1Status  	ld a, [wPlayerMonNumber] -	ld bc, $002c +	ld bc, wPartyMon2 - wPartyMon1  	call AddNTimes  	xor a  	ld [hl], a @@ -7422,12 +7422,12 @@ StatModifierUpEffect: ; 3f428 (f:7428)  	cp $4  	jr nc, asm_3f4ca  	push hl -	ld hl, W_PLAYERMONATK + 1 +	ld hl, wBattleMonAttack + 1  	ld de, wcd12  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3f472 -	ld hl, W_ENEMYMONATTACK + 1 +	ld hl, wEnemyMonAttack + 1  	ld de, wcd26  .asm_3f472  	push bc @@ -7634,12 +7634,12 @@ StatModifierDownEffect: ; 3f54c (f:754c)  	jr nc, asm_3f62c  	push hl  	push de -	ld hl, W_ENEMYMONATTACK + 1 +	ld hl, wEnemyMonAttack + 1  	ld de, wcd26  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3f5d8 -	ld hl, W_PLAYERMONATK + 1 +	ld hl, wBattleMonAttack + 1  	ld de, wcd12  .asm_3f5d8  	push bc @@ -7857,7 +7857,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)  	jr nz, .asm_3f77e  	ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL  	ld b, a -	ld a, [W_PLAYERMONLEVEL] ; W_PLAYERMONLEVEL +	ld a, [wBattleMonLevel] ; wBattleMonLevel  	cp b  	jr nc, .asm_3f76e  	add b @@ -7897,7 +7897,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)  	ld a, [W_ISINBATTLE] ; W_ISINBATTLE  	dec a  	jr nz, .asm_3f7d1 -	ld a, [W_PLAYERMONLEVEL] ; W_PLAYERMONLEVEL +	ld a, [wBattleMonLevel] ; wBattleMonLevel  	ld b, a  	ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL  	cp b @@ -8259,13 +8259,13 @@ MimicEffect: ; 3f9ed (f:79ed)  	jr nz, .asm_3fa74  	ld a, [H_WHOSETURN]  	and a -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	ld a, [W_PLAYERBATTSTATUS1]  	jr nz, .asm_3fa13  	ld a, [W_ISLINKBATTLE]  	cp $4  	jr nz, .asm_3fa3a -	ld hl, W_ENEMYMONMOVES +	ld hl, wEnemyMonMoves  	ld a, [W_ENEMYBATTSTATUS1]  .asm_3fa13  	bit 6, a @@ -8284,10 +8284,10 @@ MimicEffect: ; 3f9ed (f:79ed)  	ld d, a  	ld a, [H_WHOSETURN]  	and a -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  	ld a, [wPlayerMoveListIndex]  	jr z, .asm_3fa5f -	ld hl, W_ENEMYMONMOVES +	ld hl, wEnemyMonMoves  	ld a, [wEnemyMoveListIndex]  	jr .asm_3fa5f  .asm_3fa3a @@ -8300,14 +8300,14 @@ MimicEffect: ; 3f9ed (f:79ed)  	ld [wMoveMenuType], a  	call MoveSelectionMenu  	call LoadScreenTilesFromBuffer1 -	ld hl, W_ENEMYMONMOVES +	ld hl, wEnemyMonMoves  	ld a, [wCurrentMenuItem]  	ld c, a  	ld b, $0  	add hl, bc  	ld d, [hl]  	pop af -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  .asm_3fa5f  	ld c, a  	ld b, $0 @@ -8341,12 +8341,12 @@ DisableEffect: ; 3fa8a (f:7a8a)  	and a  	jr nz, .asm_3fb06  	ld de, W_ENEMYDISABLEDMOVE ; W_ENEMYDISABLEDMOVE -	ld hl, W_ENEMYMONMOVES +	ld hl, wEnemyMonMoves  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3faa4  	ld de, W_PLAYERDISABLEDMOVE ; W_PLAYERDISABLEDMOVE -	ld hl, W_PLAYERMONMOVES +	ld hl, wBattleMonMoves  .asm_3faa4  	ld a, [de]  	and a @@ -8366,14 +8366,14 @@ DisableEffect: ; 3fa8a (f:7a8a)  	push hl  	ld a, [H_WHOSETURN] ; $fff3  	and a -	ld hl, W_PLAYERMONPP ; W_PLAYERMONPP +	ld hl, wBattleMonPP ; wBattleMonPP  	jr nz, .asm_3facf  	ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE  	cp $4  	pop hl  	jr nz, .asm_3fae1  	push hl -	ld hl, W_ENEMYMONPP ; wcffe +	ld hl, wEnemyMonPP ; wcffe  .asm_3facf  	push hl  	ld a, [hli] diff --git a/engine/battle/d.asm b/engine/battle/d.asm index 01753813..5a1010b8 100755 --- a/engine/battle/d.asm +++ b/engine/battle/d.asm @@ -7,7 +7,7 @@ Func_372d6: ; 372d6 (d:72d6)  	call TextBoxBorder  	FuncCoord 4, 5  	ld hl, Coord -	ld de, W_PLAYERNAME ; wd158 +	ld de, wPlayerName ; wd158  	call PlaceString  	FuncCoord 4, 10  	ld hl, Coord diff --git a/engine/battle/e.asm b/engine/battle/e.asm index fbede5dd..f3eac4c9 100755 --- a/engine/battle/e.asm +++ b/engine/battle/e.asm @@ -2,10 +2,10 @@ Func_39680: ; 39680 (e:5680)  	ld a, [H_WHOSETURN] ; $fff3  	and a  	ld a, [wd060] -	ld hl, W_PLAYERMONATK + 1 +	ld hl, wBattleMonAttack + 1  	jr z, .asm_39691  	ld a, [wd065] -	ld hl, W_ENEMYMONATTACK + 1 +	ld hl, wEnemyMonAttack + 1  .asm_39691  	ld c, $4  	ld b, a @@ -31,10 +31,10 @@ Func_396a7: ; 396a7 (e:56a7)  	ld a, [H_WHOSETURN] ; $fff3  	and a  	ld a, [wd061] -	ld hl, W_PLAYERMONATK +	ld hl, wBattleMonAttack  	jr z, .asm_396b8  	ld a, [wd066] -	ld hl, W_ENEMYMONATTACK +	ld hl, wEnemyMonAttack  .asm_396b8  	ld c, $4  	ld b, a @@ -63,7 +63,7 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3)  ; Load the enemy trainer's pic and scrolls it into  ; the screen from the right.  	xor a -	ld [W_ENEMYMONID], a +	ld [wEnemyMonSpecies2], a  	ld b, $1  	call GoPAL_SET  	callab _LoadTrainerPic @@ -166,7 +166,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)  	jp [hl]       ; execute modification function  .loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero  	ld hl, wHPBarMaxHP  ; temp move selection array -	ld de, W_ENEMYMONMOVES  ; enemy moves +	ld de, wEnemyMonMoves  ; enemy moves  	ld c, $4  .loopDecrementEntries  	ld a, [de] @@ -188,7 +188,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)  	cp $5  	jr nz, .loopUndoPartialIteration  	ld hl, wHPBarMaxHP  ; temp move selection array -	ld de, W_ENEMYMONMOVES  ; enemy moves +	ld de, wEnemyMonMoves  ; enemy moves  	ld c, $4  .filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0)  	ld a, [de] @@ -212,7 +212,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)  	ld hl, wHPBarMaxHP    ; use created temporary array as move set  	ret  .useOriginalMoveSet -	ld hl, W_ENEMYMONMOVES    ; use original move set +	ld hl, wEnemyMonMoves    ; use original move set  	ret  AIMoveChoiceModificationFunctionPointers: ; 397a3 (e:57a3) @@ -223,11 +223,11 @@ AIMoveChoiceModificationFunctionPointers: ; 397a3 (e:57a3)  ; discourages moves that cause no damage but only a status ailment if player's mon already has one  AIMoveChoiceModification1: ; 397ab (e:57ab) -	ld a, [W_PLAYERMONSTATUS] +	ld a, [wBattleMonStatus]  	and a  	ret z       ; return if no status ailment on player's mon  	ld hl, wBuffer - 1  ; temp move selection array (-1 byte offest) -	ld de, W_ENEMYMONMOVES  ; enemy moves +	ld de, wEnemyMonMoves  ; enemy moves  	ld b, $5  .nextMove  	dec b @@ -270,7 +270,7 @@ AIMoveChoiceModification2: ; 397e7 (e:57e7)  	cp $1  	ret nz  	ld hl, wBuffer - 1  ; temp move selection array (-1 byte offest) -	ld de, W_ENEMYMONMOVES  ; enemy moves +	ld de, wEnemyMonMoves  ; enemy moves  	ld b, $5  .nextMove  	dec b @@ -298,7 +298,7 @@ AIMoveChoiceModification2: ; 397e7 (e:57e7)  ; encourages moves that are effective against the player's mon  AIMoveChoiceModification3: ; 39817 (e:5817)  	ld hl, wBuffer - 1  ; temp move selection array (-1 byte offest) -	ld de, W_ENEMYMONMOVES  ; enemy moves +	ld de, wEnemyMonMoves  ; enemy moves  	ld b, $5  .nextMove  	dec b @@ -328,7 +328,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817)  	push bc  	ld a, [W_ENEMYMOVETYPE]  	ld d, a -	ld hl, W_ENEMYMONMOVES  ; enemy moves +	ld hl, wEnemyMonMoves  ; enemy moves  	ld b, $5  	ld c, $0  .loopMoves @@ -635,14 +635,14 @@ Func_39bd5: ; 39bd5 (e:5bd5)  	cp $1  	jr nz, .asm_39be6  	ld hl, wEnemyPartyCount ; wEnemyPartyCount -	ld de, W_ENEMYMON1OT ; wd9ac OT names of other player +	ld de, wEnemyMonOT ; wd9ac OT names of other player  	ld a, $6  	jr .asm_39c18  .asm_39be6  	cp $4  	jr nz, .calcAttackStat4 -	ld hl, W_NUMINPARTY ; W_NUMINPARTY -	ld de, W_PARTYMON1OT ; wd273 +	ld hl, wPartyCount ; wPartyCount +	ld de, wPartyMonOT ; wd273  	ld a, $5  	jr .asm_39c18  .calcAttackStat4 @@ -681,13 +681,13 @@ Func_39bd5: ; 39bd5 (e:5bd5)  	ret  Func_39c37: ; 39c37 (e:5c37) -	ld hl, W_PARTYMON1 ; W_PARTYMON1 +	ld hl, wPartySpecies  	ld a, [wcc49]  	and a  	jr z, .asm_39c4b  	dec a  	jr z, .asm_39c48 -	ld hl, wda81 +	ld hl, wBoxSpecies  	jr .asm_39c4b  .asm_39c48  	ld hl, wEnemyPartyMons @@ -791,8 +791,8 @@ ReadTrainer: ; 39c53 (e:5c53)  	add hl,bc  	ld a,[hli]  	ld d,[hl] -	ld hl,W_ENEMYMON1MOVE3 -	ld bc,W_ENEMYMON2MOVE3 - W_ENEMYMON1MOVE3 +	ld hl,wEnemyMon1Moves + 2 +	ld bc,wEnemyMon2 - wEnemyMon1  	call AddNTimes  	ld [hl],d  	jr .FinishUp @@ -821,13 +821,13 @@ ReadTrainer: ; 39c53 (e:5c53)  	jr .FinishUp ; nope  .GiveTeamMoves  	ld a,[hl] -	ld [W_ENEMYMON5MOVE3],a +	ld [wEnemyMon5Moves + 2],a  	jr .FinishUp  .ChampionRival ; give moves to his team  ; pidgeot  	ld a,SKY_ATTACK -	ld [W_ENEMYMON1MOVE3],a +	ld [wEnemyMon1Moves + 2],a  ; starter  	ld a,[W_RIVALSTARTER] @@ -840,7 +840,7 @@ ReadTrainer: ; 39c53 (e:5c53)  	ld b,BLIZZARD ; must be squirtle  .GiveStarterMove  	ld a,b -	ld [W_ENEMYMON6MOVE3],a +	ld [wEnemyMon6Moves + 2],a  .FinishUp ; XXX this needs documenting  	xor a       ; clear D079-D07B  	ld de,wd079 @@ -985,7 +985,7 @@ CooltrainerFAI: ; 3a601 (e:6601)  BrockAI: ; 3a614 (e:6614)  ; if his active monster has a status condition, use a full heal -	ld a,[W_ENEMYMONSTATUS] +	ld a,[wEnemyMonStatus]  	and a  	ret z  	jp AIUseFullHeal @@ -1094,23 +1094,23 @@ AIUseFullRestore: ; 3a6a0 (e:66a0)  	ld a,FULL_RESTORE  	ld [wcf05],a  	ld de,wHPBarOldHP -	ld hl,W_ENEMYMONCURHP + 1 +	ld hl,wEnemyMonHP + 1  	ld a,[hld]  	ld [de],a  	inc de  	ld a,[hl]  	ld [de],a  	inc de -	ld hl,W_ENEMYMONMAXHP + 1 +	ld hl,wEnemyMonMaxHP + 1  	ld a,[hld]  	ld [de],a  	inc de  	ld [wHPBarMaxHP],a -	ld [W_ENEMYMONCURHP + 1],a +	ld [wEnemyMonHP + 1],a  	ld a,[hl]  	ld [de],a  	ld [wHPBarMaxHP+1],a -	ld [W_ENEMYMONCURHP],a +	ld [wEnemyMonHP],a  	jr Func_3a718  AIUsePotion: ; 3a6ca (e:66ca) @@ -1134,7 +1134,7 @@ AIUseHyperPotion: ; 3a6d6 (e:66d6)  AIRecoverHP: ; 3a6da (e:66da)  ; heal b HP and print "trainer used $(a) on pokemon!"  	ld [wcf05],a -	ld hl,W_ENEMYMONCURHP + 1 +	ld hl,wEnemyMonHP + 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,W_ENEMYMONMAXHP + 1 +	ld de,wEnemyMonMaxHP + 1  	ld a,[de]  	dec de  	ld [wHPBarMaxHP],a @@ -1185,7 +1185,7 @@ Func_3a718: ; 3a718 (e:6718)  Func_3a72a: ; 3a72a (e:672a)  	ld a,[wEnemyPartyCount]  	ld c,a -	ld hl,W_ENEMYMON1HP +	ld hl,wEnemyMon1HP  	ld d,0 ; keep count of unfainted monsters @@ -1215,13 +1215,13 @@ Func_3a74b: ; 3a74b (e:674b)  ; prepare to withdraw the active monster: copy hp, number, and status to roster -	ld a,[W_ENEMYMONNUMBER] -	ld hl,W_ENEMYMON1HP -	ld bc,$2C +	ld a,[wEnemyMonPartyPos] +	ld hl,wEnemyMon1HP +	ld bc,wEnemyMon2 - wEnemyMon1  	call AddNTimes  	ld d,h  	ld e,l -	ld hl,W_ENEMYMONCURHP +	ld hl,wEnemyMonHP  	ld bc,4  	call CopyData @@ -1252,13 +1252,13 @@ AIUseFullHeal: ; 3a786 (e:6786)  AICureStatus: ; 3a791 (e:6791)  ; cures the status of enemy's active pokemon -	ld a,[W_ENEMYMONNUMBER] -	ld hl,wd8a8 -	ld bc,$2C +	ld a,[wEnemyMonPartyPos] +	ld hl,wEnemyMon1Status +	ld bc,wEnemyMon2 - wEnemyMon1  	call AddNTimes  	xor a  	ld [hl],a ; clear status in enemy team roster -	ld [W_ENEMYMONSTATUS],a ; clear status of active enemy +	ld [wEnemyMonStatus],a ; clear status of active enemy  	ld hl,W_ENEMYBATTSTATUS3  	res 0,[hl]  	ret @@ -1286,7 +1286,7 @@ AIUseDireHit: ; 0x3a7c2 unused  Func_3a7cf: ; 3a7cf (e:67cf)  	ld [H_DIVISOR],a -	ld hl,W_ENEMYMONMAXHP +	ld hl,wEnemyMonMaxHP  	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,W_ENEMYMONCURHP + 1 +	ld hl,wEnemyMonHP + 1  	ld a,[hld]  	ld e,a  	ld a,[hl] @@ -1388,8 +1388,8 @@ LoadPartyPokeballGfx: ; 3a85d (e:685d)  SetupOwnPartyPokeballs: ; 3a869 (e:6869)  	call PlacePlayerHUDTiles -	ld hl, W_PARTYMON1DATA -	ld de, W_NUMINPARTY ; W_NUMINPARTY +	ld hl, wPartyMon1 +	ld de, wPartyCount ; wPartyCount  	call SetupPokeballs  	ld a, $60  	ld hl, W_BASECOORDX ; wd081 @@ -1537,8 +1537,8 @@ PlaceHUDTiles: ; 3a930 (e:6930)  SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)  	call LoadPartyPokeballGfx -	ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA) -	ld de, W_NUMINPARTY ; W_NUMINPARTY +	ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1) +	ld de, wPartyCount ; wPartyCount  	call SetupPokeballs  	ld hl, W_BASECOORDX ; wd081  	ld a, $50 diff --git a/engine/battle/e_2.asm b/engine/battle/e_2.asm index ded22347..37b6a0a3 100755 --- a/engine/battle/e_2.asm +++ b/engine/battle/e_2.asm @@ -1,12 +1,12 @@  HealEffect_: ; 3b9ec (e:79ec)  	ld a, [H_WHOSETURN] ; $fff3  	and a -	ld de, W_PLAYERMONCURHP ; wd015 -	ld hl, W_PLAYERMONMAXHP ; wd023 +	ld de, wBattleMonHP ; wd015 +	ld hl, wBattleMonMaxHP ; wd023  	ld a, [W_PLAYERMOVENUM] ; wcfd2  	jr z, .asm_3ba03 -	ld de, W_ENEMYMONCURHP ; W_ENEMYMONCURHP -	ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP +	ld de, wEnemyMonHP ; wEnemyMonHP +	ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP  	ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM  .asm_3ba03  	ld b, a @@ -25,11 +25,11 @@ HealEffect_: ; 3b9ec (e:79ec)  	push af  	ld c, $32  	call DelayFrames -	ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS +	ld hl, wBattleMonStatus ; wBattleMonStatus  	ld a, [H_WHOSETURN] ; $fff3  	and a  	jr z, .asm_3ba25 -	ld hl, W_ENEMYMONSTATUS ; wcfe9 +	ld hl, wEnemyMonStatus ; wcfe9  .asm_3ba25  	ld a, [hl]  	and a @@ -120,15 +120,15 @@ RegainedHealthText: ; 3baac (e:7aac)  	db "@"  TransformEffect_: ; 3bab1 (e:7ab1) -	ld hl, W_PLAYERMONID -	ld de, wcfe5 +	ld hl, wBattleMonSpecies +	ld de, wEnemyMonSpecies  	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, wcfe5 -	ld de, W_PLAYERMONID +	ld hl, wEnemyMonSpecies +	ld de, wBattleMonSpecies  	ld bc, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3  	ld [wPlayerMoveListIndex], a ; wPlayerMoveListIndex  	ld a, [W_PLAYERBATTSTATUS1] ; W_PLAYERBATTSTATUS1 diff --git a/engine/battle/safari_zone.asm b/engine/battle/safari_zone.asm index ea7249da..99e1492d 100755 --- a/engine/battle/safari_zone.asm +++ b/engine/battle/safari_zone.asm @@ -15,7 +15,7 @@ PrintSafariZoneBattleText: ; 4277 (1:4277)  	ld hl, SafariZoneAngryText  	jr nz, .asm_429f  	push hl -	ld a, [wcfe5] +	ld a, [wEnemyMonSpecies]  	ld [wd0b5], a  	call GetMonHeader  	ld a, [W_MONHCATCHRATE] | 
