diff options
Diffstat (limited to 'engine/battle/core.asm')
-rwxr-xr-x | engine/battle/core.asm | 786 |
1 files changed, 393 insertions, 393 deletions
diff --git a/engine/battle/core.asm b/engine/battle/core.asm index a00d15bb..56ea5a20 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -239,7 +239,7 @@ StartBattle: ; 3c11e (f:411e) .foundFirstAliveEnemyMon ld a, d ld [wSerialExchangeNybbleReceiveData], a - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a ; is it a trainer battle? call nz, EnemySendOutFirstMon ; if it is a trainer battle, send out enemy mon ld c, 40 @@ -251,7 +251,7 @@ StartBattle: ; 3c11e (f:411e) and a jp z, HandlePlayerBlackOut ; jump if no mon is alive call LoadScreenTilesFromBuffer1 - ld a, [W_BATTLETYPE] + ld a, [wBattleType] and a ; is it a normal battle? jp z, .playerSendOutFirstMon ; if so, send out player mon ; safari zone battle @@ -261,7 +261,7 @@ StartBattle: ; 3c11e (f:411e) ld a, [wActionResultOrTookBattleTurn] and a ; was the item used successfully? jr z, .displaySafariZoneBattleMenu ; if not, display the menu again; XXX does this ever jump? - ld a, [W_NUMSAFARIBALLS] + ld a, [wNumSafariBalls] and a jr nz, .notOutOfSafariBalls call LoadScreenTilesFromBuffer1 @@ -380,13 +380,13 @@ MainInBattleLoop: ; 3c233 (f:4233) call SaveScreenTilesToBuffer1 xor a ld [wFirstMonsNotOutYet], a - ld a, [W_PLAYERBATTSTATUS2] + ld a, [wPlayerBattleStatus2] and (1 << NeedsToRecharge) | (1 << UsingRage) ; check if the player is using Rage or needs to recharge jr nz, .selectEnemyMove ; the player is not using Rage and doesn't need to recharge - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res Flinched, [hl] ; reset flinch bit - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 res Flinched, [hl] ; reset flinch bit ld a, [hl] and (1 << ThrashingAbout) | (1 << ChargingUp) ; check if the player is thrashing about or charging for an attack @@ -400,10 +400,10 @@ MainInBattleLoop: ; 3c233 (f:4233) ld a, [wBattleMonStatus] and (1 << FRZ) | SLP ; is mon frozen or asleep? jr nz, .selectEnemyMove ; if so, jump - ld a, [W_PLAYERBATTSTATUS1] + ld a, [wPlayerBattleStatus1] and (1 << StoringEnergy) | (1 << UsingTrappingMove) ; check player is using Bide or using a multi-turn attack like wrap jr nz, .selectEnemyMove ; if so, jump - ld a, [W_ENEMYBATTSTATUS1] + ld a, [wEnemyBattleStatus1] bit UsingTrappingMove, a ; check if enemy is using a multi-turn attack like wrap jr z, .selectPlayerMove ; if not, jump ; enemy is using a mult-turn attack like wrap, so player is trapped and cannot execute a move @@ -416,7 +416,7 @@ MainInBattleLoop: ; 3c233 (f:4233) jr nz, .selectEnemyMove ld [wMoveMenuType], a inc a - ld [W_ANIMATIONID], a + ld [wAnimationID], a xor a ld [wMenuItemToSwap], a call MoveSelectionMenu @@ -441,7 +441,7 @@ MainInBattleLoop: ; 3c233 (f:4233) sub $4 jr c, .noLinkBattle ; the link battle enemy has switched mons - ld a, [W_PLAYERBATTSTATUS1] + ld a, [wPlayerBattleStatus1] bit UsingTrappingMove, a ; check if using multi-turn move like Wrap jr z, .asm_3c2dd ld a, [wPlayerMoveListIndex] @@ -584,11 +584,11 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd) pop hl call HandlePoisonBurnLeechSeed_DecreaseOwnHP .notBurnedOrPoisoned - ld de, W_PLAYERBATTSTATUS2 + ld de, wPlayerBattleStatus2 ld a, [H_WHOSETURN] and a jr z, .playersTurn2 - ld de, W_ENEMYBATTSTATUS2 + ld de, wEnemyBattleStatus2 .playersTurn2 ld a, [de] add a @@ -659,13 +659,13 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ; 3c43d (f:443d) jr nz, .nonZeroDamage inc c ; damage is at least 1 .nonZeroDamage - ld hl, W_PLAYERBATTSTATUS3 - ld de, W_PLAYERTOXICCOUNTER + ld hl, wPlayerBattleStatus3 + ld de, wPlayerToxicCounter ld a, [H_WHOSETURN] and a jr z, .playersTurn - ld hl, W_ENEMYBATTSTATUS3 - ld de, W_ENEMYTOXICCOUNTER + ld hl, wEnemyBattleStatus3 + ld de, wEnemyToxcCounter .playersTurn bit BadlyPoisoned, [hl] jr z, .noToxic @@ -775,14 +775,14 @@ CheckNumAttacksLeft: ; 3c50f (f:450f) and a jr nz, .checkEnemy ; player has 0 attacks left - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 res UsingTrappingMove, [hl] ; player not using multi-turn attack like wrap any more .checkEnemy ld a, [wEnemyNumAttacksLeft] and a ret nz ; enemy has 0 attacks left - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res UsingTrappingMove, [hl] ; enemy not using multi-turn attack like wrap any more ret @@ -798,7 +798,7 @@ HandleEnemyMonFainted: ; 3c525 (f:4525) ld a, [hli] or [hl] ; is battle mon HP zero? call nz, DrawPlayerHUDAndHPBar ; if battle mon HP is not zero, draw player HD and HP bar - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a ret z ; return if it's a wild battle call AnyEnemyPokemonAliveCheck @@ -821,7 +821,7 @@ HandleEnemyMonFainted: ; 3c525 (f:4525) FaintEnemyPokemon: ; 0x3c567 call ReadPlayerMonCurHPAndStatus - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a jr z, .wild ld a, [wEnemyMonPartyPos] @@ -832,7 +832,7 @@ FaintEnemyPokemon: ; 0x3c567 ld [hli], a ld [hl], a .wild - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 res AttackingMultipleTimes, [hl] ; Bug. This only zeroes the high byte of the player's accumulated damage, ; setting the accumulated damage to itself mod 256 instead of 0 as was probably @@ -851,7 +851,7 @@ FaintEnemyPokemon: ; 0x3c567 ld [hli], a ld [hli], a ld [hl], a - ld [W_ENEMYDISABLEDMOVE], a + ld [wEnemyDisabledMove], a ld [wEnemyDisabledMoveNumber], a ld [wEnemyMonMinimized], a ld hl, wPlayerUsedMove @@ -863,7 +863,7 @@ FaintEnemyPokemon: ; 0x3c567 coord hl, 0, 0 lb bc, 4, 11 call ClearScreenArea - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a jr z, .wild_win xor a @@ -994,7 +994,7 @@ ReplaceFaintedEnemyMon: ; 3c664 (f:4664) .notLinkBattle call EnemySendOut xor a - ld [W_ENEMYMOVENUM], a + ld [wEnemyMoveNum], a ld [wActionResultOrTookBattleTurn], a ld [wAILayer2Encouragement], a inc a ; reset Z flag @@ -1003,16 +1003,16 @@ ReplaceFaintedEnemyMon: ; 3c664 (f:4664) TrainerBattleVictory: ; 3c696 (f:4696) call EndLowHealthAlarm ld b, MUSIC_DEFEATED_GYM_LEADER - ld a, [W_GYMLEADERNO] + ld a, [wGymLeaderNo] and a jr nz, .gymleader ld b, MUSIC_DEFEATED_TRAINER .gymleader - ld a, [W_TRAINERCLASS] + ld a, [wTrainerClass] cp SONY3 ; final battle against rival jr nz, .notrival ld b, MUSIC_DEFEATED_GYM_LEADER - ld hl, W_FLAGS_D733 + ld hl, wFlags_D733 set 1, [hl] .notrival ld a, [wLinkState] @@ -1068,7 +1068,7 @@ HandlePlayerMonFainted: ; 3c700 (f:4700) jr nz, .doUseNextMonDialogue ; if not, jump ; the enemy mon has 0 HP call FaintEnemyPokemon - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a ret z ; if wild encounter, battle is over call AnyEnemyPokemonAliveCheck @@ -1094,7 +1094,7 @@ RemoveFaintedPlayerMon: ; 3c741 (f:4741) ld hl, wPartyGainExpFlags ld b, FLAG_RESET predef FlagActionPredef ; clear gain exp flag for fainted mon - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res 2, [hl] ; reset "attacking multiple times" flag ld a, [wLowHealthAlarm] bit 7, a ; skip sound flag (red bar (?)) @@ -1140,7 +1140,7 @@ PlayerMonFaintedText: ; 3c796 (f:4796) DoUseNextMonDialogue: ; 3c79b (f:479b) call PrintEmptyString call SaveScreenTilesToBuffer1 - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] and a dec a ret nz ; return if it's a trainer battle @@ -1221,7 +1221,7 @@ HandlePlayerBlackOut: ; 3c837 (f:4837) ld a, [wLinkState] cp LINK_STATE_BATTLING jr z, .notSony1Battle - ld a, [W_CUROPPONENT] + ld a, [wCurOpponent] cp OPP_SONY1 jr nz, .notSony1Battle coord hl, 0, 0 ; sony 1 battle @@ -1232,7 +1232,7 @@ HandlePlayerBlackOut: ; 3c837 (f:4837) call DelayFrames ld hl, Sony1WinText call PrintText - ld a, [W_CURMAP] + ld a, [wCurMap] cp OAKS_LAB ret z ; starter battle in oak's lab: don't black out .notSony1Battle @@ -1384,7 +1384,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) ld [hli],a ld [hli],a ld [hl],a - ld [W_ENEMYDISABLEDMOVE],a + ld [wEnemyDisabledMove],a ld [wEnemyDisabledMoveNumber],a ld [wEnemyMonMinimized],a ld hl,wPlayerUsedMove @@ -1392,7 +1392,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) ld [hl],a dec a ld [wAICount],a - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 res 5,[hl] coord hl, 18, 0 ld a,8 @@ -1432,7 +1432,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) ld bc,wEnemyMon2 - wEnemyMon1 call AddNTimes ld a,[hl] - ld [W_CURENEMYLVL],a + ld [wCurEnemyLVL],a ld a,[wWhichPokemon] inc a ld hl,wEnemyPartyCount @@ -1459,7 +1459,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) ld a,[wLinkState] cp LINK_STATE_BATTLING jr z,.next4 - ld a,[W_OPTIONS] + ld a,[wOptions] bit 6,a jr nz,.next4 ld hl, TrainerAboutToUseText @@ -1583,13 +1583,13 @@ NoWillText: ; 3cab4 (f:4ab4) TryRunningFromBattle: ; 3cab9 (f:4ab9) call IsGhostBattle jp z, .canEscape ; jump if it's a ghost battle - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI jp z, .canEscape ; jump if it's a safari battle ld a, [wLinkState] cp LINK_STATE_BATTLING jp z, .canEscape - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a jr nz, .trainerBattle ; jump if it's a trainer battle ld a, [wNumRunAttempts] @@ -1787,7 +1787,7 @@ LoadEnemyMonFromParty: ; 3cc13 (f:4c13) ld bc, 1 + NUM_STATS * 2 call CopyData call ApplyBurnAndParalysisPenaltiesToEnemy - ld hl, W_MONHBASESTATS + ld hl, wMonHBaseStats ld de, wEnemyMonBaseStats ld b, NUM_STATS .copyBaseStatsLoop @@ -1824,7 +1824,7 @@ SendOutMon: ; 3cc91 (f:4c91) ld [hl], a ld [wBoostExpByExpAll], a ld [wDamageMultipliers], a - ld [W_PLAYERMOVENUM], a + ld [wPlayerMoveNum], a ld hl, wPlayerUsedMove ld [hli], a ld [hl], a @@ -1834,12 +1834,12 @@ SendOutMon: ; 3cc91 (f:4c91) ld [hli], a ld [hli], a ld [hl], a - ld [W_PLAYERDISABLEDMOVE], a + ld [wPlayerDisabledMove], a ld [wPlayerDisabledMoveNumber], a ld [wPlayerMonMinimized], a ld b, SET_PAL_BATTLE call RunPaletteCommand - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res UsingTrappingMove, [hl] ld a, $1 ld [H_WHOSETURN], a @@ -2086,14 +2086,14 @@ CenterMonName: ; 3ce9c (f:4e9c) DisplayBattleMenu: ; 3ceb3 (f:4eb3) call LoadScreenTilesFromBuffer1 ; restore saved screen - ld a, [W_BATTLETYPE] + ld a, [wBattleType] and a jr nz, .nonstandardbattle call DrawHUDsAndHPBars call PrintEmptyString call SaveScreenTilesToBuffer1 .nonstandardbattle - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI ld a, BATTLE_MENU_TEMPLATE jr nz, .menuselected @@ -2101,12 +2101,12 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) .menuselected ld [wTextBoxID], a call DisplayTextBoxID - ld a, [W_BATTLETYPE] + ld a, [wBattleType] dec a jp nz, .handleBattleMenuInput ; handle menu input if it's not the old man tutorial ; the following happens for the old man tutorial ld hl, wPlayerName - ld de, W_GRASSRATE + ld de, wGrassRate ld bc, NAME_LENGTH call CopyData ; temporarily save the player name in unused space, ; which is supposed to get overwritten when entering a @@ -2143,7 +2143,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) ld [wLastMenuItem], a jr .rightColumn .leftColumn ; put cursor in left column of menu - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI ld a, " " jr z, .safariLeftColumn @@ -2156,7 +2156,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) Coorda 13, 14 Coorda 13, 16 coord hl, 7, 14 - ld de, W_NUMSAFARIBALLS + ld de, wNumSafariBalls lb bc, 1, 2 call PrintNumber ld b, $1 ; top menu item X @@ -2176,7 +2176,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) jr nz, .rightColumn jr .AButtonPressed ; the A button was pressed .rightColumn ; put cursor in right column of menu - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI ld a, " " jr z, .safariRightColumn @@ -2189,7 +2189,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) Coorda 1, 14 ; clear upper cursor position in left column Coorda 1, 16 ; clear lower cursor position in left column coord hl, 7, 14 - ld de, W_NUMSAFARIBALLS + ld de, wNumSafariBalls lb bc, 1, 2 call PrintNumber ld b, $d ; top menu item X @@ -2213,7 +2213,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) ld [wCurrentMenuItem], a .AButtonPressed call PlaceUnfilledArrowMenuCursor - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI ld a, [wCurrentMenuItem] ld [wBattleAndStartSavedMenuItem], a @@ -2235,7 +2235,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) and a jr nz, .upperLeftMenuItemWasNotSelected ; the upper left menu item was selected - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI jr z, .throwSafariBallWasSelected ; the "FIGHT" menu was selected @@ -2263,7 +2263,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) .notLinkBattle call SaveScreenTilesToBuffer2 - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI jr nz, BagWasSelected @@ -2274,14 +2274,14 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) BagWasSelected: call LoadScreenTilesFromBuffer1 - ld a, [W_BATTLETYPE] + ld a, [wBattleType] and a ; is it a normal battle? jr nz, .next ; normal battle call DrawHUDsAndHPBars .next - ld a, [W_BATTLETYPE] + ld a, [wBattleType] dec a ; is it the old man tutorial? jr nz, DisplayPlayerBag ; no, it is a normal battle ld hl, OldManItemList @@ -2332,7 +2332,7 @@ UseBagItem: call ClearSprites xor a ld [wCurrentMenuItem], a - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI jr z, .checkIfMonCaptured @@ -2340,13 +2340,13 @@ UseBagItem: and a ; was the item used successfully? jp z, BagWasSelected ; if not, go back to the bag menu - ld a, [W_PLAYERBATTSTATUS1] + ld a, [wPlayerBattleStatus1] bit UsingTrappingMove, a ; is the player using a multi-turn move like wrap? jr z, .checkIfMonCaptured ld hl, wPlayerNumAttacksLeft dec [hl] jr nz, .checkIfMonCaptured - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 res UsingTrappingMove, [hl] ; not using multi-turn move any more .checkIfMonCaptured @@ -2354,7 +2354,7 @@ UseBagItem: and a ; was the enemy mon captured with a ball? jr nz, .returnAfterCapturingMon - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI jr z, .returnAfterUsingItem_NoCapture ; not a safari battle @@ -2385,7 +2385,7 @@ PartyMenuOrRockOrRun: jp nz, BattleMenu_RunWasSelected ; party menu or rock was selected call SaveScreenTilesToBuffer2 - ld a, [W_BATTLETYPE] + ld a, [wBattleType] cp BATTLE_TYPE_SAFARI jr nz, .partyMenuWasSelected ; safari battle @@ -2453,7 +2453,7 @@ PartyMenuOrRockOrRun: predef StatusScreen predef StatusScreen2 ; now we need to reload the enemy mon pic - ld a, [W_ENEMYBATTSTATUS2] + ld a, [wEnemyBattleStatus2] bit HasSubstituteUp, a ; does the enemy mon have a substitute? ld hl, AnimationSubstitute jr nz, .doEnemyMonAnimation @@ -2641,7 +2641,7 @@ MoveSelectionMenu: ; 3d219 (f:5219) ld a, [wLinkState] cp LINK_STATE_BATTLING jr z, .matchedkeyspicked - ld a, [W_FLAGS_D733] + ld a, [wFlags_D733] bit BIT_TEST_BATTLE, a ld b, D_UP | D_DOWN | A_BUTTON | B_BUTTON | SELECT jr z, .matchedkeyspicked @@ -2669,7 +2669,7 @@ SelectMenuItem: ; 3d2fe (f:52fe) call PlaceString jr .select .battleselect - ld a, [W_FLAGS_D733] + ld a, [wFlags_D733] bit BIT_TEST_BATTLE, a jr nz, .select call PrintMenuItem @@ -2724,13 +2724,13 @@ SelectMenuItem: ; 3d2fe (f:52fe) ld a, [hl] and $3f jr z, .nopp - ld a, [W_PLAYERDISABLEDMOVE] + ld a, [wPlayerDisabledMove] swap a and $f dec a cp c jr z, .disabled - ld a, [W_PLAYERBATTSTATUS3] + ld a, [wPlayerBattleStatus3] bit 3, a ; transformed jr nz, .dummy ; game freak derp .dummy @@ -2791,7 +2791,7 @@ AnyMoveToSelect: ; 3d3f5 (f:53f5) ; return z and Struggle as the selected move if all moves have 0 PP and/or are disabled ld a, STRUGGLE ld [wPlayerSelectedMove], a - ld a, [W_PLAYERDISABLEDMOVE] + ld a, [wPlayerDisabledMove] and a ld hl, wBattleMonPP jr nz, .asm_3d40e @@ -2843,7 +2843,7 @@ SwapMovesInMenu: ; 3d435 (f:5435) ld hl, wBattleMonPP call .swapBytes ; swap move PP ; update the index of the disabled move if necessary - ld hl, W_PLAYERDISABLEDMOVE + ld hl, wPlayerDisabledMove ld a, [hl] swap a and $f @@ -2917,7 +2917,7 @@ PrintMenuItem: ; 3d4b6 (f:54b6) ld b, $3 ld c, $9 call TextBoxBorder - ld a, [W_PLAYERDISABLEDMOVE] + ld a, [wPlayerDisabledMove] and a jr z, .notDisabled swap a @@ -3014,20 +3014,20 @@ SelectEnemyMove: ; 3d564 (f:5564) ld a, [hl] jr .done .noLinkBattle - ld a, [W_ENEMYBATTSTATUS2] + ld a, [wEnemyBattleStatus2] and (1 << NeedsToRecharge) | (1 << UsingRage) ; need to recharge or using rage ret nz - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 ld a, [hl] and (1 << ChargingUp) | (1 << ThrashingAbout) ; using a charging move or thrash/petal dance ret nz ld a, [wEnemyMonStatus] and SLP | 1 << FRZ ; sleeping or frozen ret nz - ld a, [W_ENEMYBATTSTATUS1] + ld a, [wEnemyBattleStatus1] and (1 << UsingTrappingMove) | (1 << StoringEnergy) ; using a trapping move like wrap or bide ret nz - ld a, [W_PLAYERBATTSTATUS1] + ld a, [wPlayerBattleStatus1] bit UsingTrappingMove, a ; caught in player's trapping move (e.g. wrap) jr z, .canSelectMove .unableToSelectMove @@ -3038,12 +3038,12 @@ SelectEnemyMove: ; 3d564 (f:5564) ld a, [hld] and a jr nz, .atLeastTwoMovesAvailable - ld a, [W_ENEMYDISABLEDMOVE] + ld a, [wEnemyDisabledMove] and a ld a, STRUGGLE ; struggle if the only move is disabled jr nz, .done .atLeastTwoMovesAvailable - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a jr z, .chooseRandomMove ; wild encounter callab AIEnemyTrainerChooseMoves @@ -3067,7 +3067,7 @@ SelectEnemyMove: ; 3d564 (f:5564) ld a, b dec a ld [wEnemyMoveListIndex], a - ld a, [W_ENEMYDISABLEDMOVE] + ld a, [wEnemyDisabledMove] swap a and $f cp b @@ -3139,7 +3139,7 @@ ExecutePlayerMove: ; 3d65e (f:565e) inc a jp z, ExecutePlayerMoveDone ; for selected move = FF, skip most of player's turn xor a - ld [W_MOVEMISSED], a + ld [wMoveMissed], a ld [wMonIsDisobedient], a ld [wMoveDidntMiss], a ld a, $a @@ -3154,14 +3154,14 @@ ExecutePlayerMove: ; 3d65e (f:565e) jp [hl] .playerHasNoSpecialCondition call GetCurrentMove - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 bit ChargingUp, [hl] ; charging up for attack jr nz, PlayerCanExecuteChargingMove call CheckForDisobedience jp z, ExecutePlayerMoveDone CheckIfPlayerNeedsToChargeUp: ; 3d69a (f:569a) - ld a, [W_PLAYERMOVEEFFECT] + ld a, [wPlayerMoveEffect] cp CHARGE_EFFECT jp z, JumpMoveEffect cp FLY_EFFECT @@ -3170,7 +3170,7 @@ CheckIfPlayerNeedsToChargeUp: ; 3d69a (f:569a) ; in-battle stuff PlayerCanExecuteChargingMove: ; 3d6a9 (f:56a9) - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 res ChargingUp,[hl] ; reset charging up and invulnerability statuses if mon was charging up for an attack ; being fully paralyzed or hurting oneself in confusion removes charging up status ; resulting in the Pokemon being invulnerable for the whole battle @@ -3181,19 +3181,19 @@ PlayerCanExecuteMove: ; 3d6b0 (f:56b0) ld de,wPlayerSelectedMove ; pointer to the move just used ld b,BANK(DecrementPP) call Bankswitch - ld a,[W_PLAYERMOVEEFFECT] ; effect of the move just used + ld a,[wPlayerMoveEffect] ; effect of the move just used ld hl,ResidualEffects1 ld de,1 call IsInArray jp c,JumpMoveEffect ; ResidualEffects1 moves skip damage calculation and accuracy tests ; unless executed as part of their exclusive effect functions - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] ld hl,SpecialEffectsCont ld de,1 call IsInArray call c,JumpMoveEffect ; execute the effects of SpecialEffectsCont moves (e.g. Wrap, Thrash) but don't skip anything PlayerCalcMoveDamage: ; 3d6dc (f:56dc) - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] ld hl,SetDamageEffects ld de,1 call IsInArray @@ -3210,33 +3210,33 @@ PlayerCalcMoveDamage: ; 3d6dc (f:56dc) .moveHitTest call MoveHitTest handleIfPlayerMoveMissed - ld a,[W_MOVEMISSED] + ld a,[wMoveMissed] and a jr z,getPlayerAnimationType - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] sub a,EXPLODE_EFFECT jr z,playPlayerMoveAnimation ; don't play any animation if the move missed, unless it was EXPLODE_EFFECT jr playerCheckIfFlyOrChargeEffect getPlayerAnimationType - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] and a ld a,4 ; move has no effect other than dealing damage jr z,playPlayerMoveAnimation ld a,5 ; move has effect playPlayerMoveAnimation push af - ld a,[W_PLAYERBATTSTATUS2] + ld a,[wPlayerBattleStatus2] bit HasSubstituteUp,a ld hl,HideSubstituteShowMonAnim ld b,BANK(HideSubstituteShowMonAnim) call nz,Bankswitch pop af ld [wAnimationType],a - ld a,[W_PLAYERMOVENUM] + ld a,[wPlayerMoveNum] call PlayMoveAnimation call HandleExplodingAnimation call DrawPlayerHUDAndHPBar - ld a,[W_PLAYERBATTSTATUS2] + ld a,[wPlayerBattleStatus2] bit HasSubstituteUp,a ld hl,ReshowSubstituteAnim ld b,BANK(ReshowSubstituteAnim) @@ -3245,7 +3245,7 @@ playPlayerMoveAnimation playerCheckIfFlyOrChargeEffect ld c,30 call DelayFrames - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] cp a,FLY_EFFECT jr z,.playAnim cp a,CHARGE_EFFECT @@ -3257,7 +3257,7 @@ playerCheckIfFlyOrChargeEffect ld a,STATUS_AFFECTED_ANIM call PlayMoveAnimation MirrorMoveCheck - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] cp a,MIRROR_MOVE_EFFECT jr nz,.metronomeCheck call MirrorMoveCopyMove @@ -3271,16 +3271,16 @@ MirrorMoveCheck call MetronomePickMove jp CheckIfPlayerNeedsToChargeUp ; Go back to damage calculation for the move picked by Metronome .next - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] ld hl,ResidualEffects2 ld de,1 call IsInArray jp c,JumpMoveEffect ; done here after executing effects of ResidualEffects2 - ld a,[W_MOVEMISSED] + ld a,[wMoveMissed] and a jr z,.moveDidNotMiss call PrintMoveFailureText - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] cp a,EXPLODE_EFFECT ; even if Explosion or Selfdestruct missed, its effect still needs to be activated jr z,.notDone jp ExecutePlayerMoveDone ; otherwise, we're done if the move missed @@ -3291,7 +3291,7 @@ MirrorMoveCheck ld a,1 ld [wMoveDidntMiss],a .notDone - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] ld hl,AlwaysHappenSideEffects ld de,1 call IsInArray @@ -3303,7 +3303,7 @@ MirrorMoveCheck ret z ; don't do anything else if the enemy fainted call HandleBuildingRage - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 bit AttackingMultipleTimes,[hl] jr z,.executeOtherEffects ld a,[wPlayerNumAttacksLeft] @@ -3317,7 +3317,7 @@ MirrorMoveCheck xor a ld [wPlayerNumHits],a .executeOtherEffects - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] and a jp z,ExecutePlayerMoveDone ld hl,SpecialEffects @@ -3368,10 +3368,10 @@ GetOutText: ; 3d835 (f:5835) db "@" IsGhostBattle: ; 3d83a (f:583a) - ld a,[W_ISINBATTLE] + ld a,[wIsInBattle] dec a ret nz - ld a,[W_CURMAP] + ld a,[wCurMap] cp a,POKEMONTOWER_1 jr c,.next cp a,LAVENDER_HOUSE_1 @@ -3424,7 +3424,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) jp .returnToHL .HeldInPlaceCheck - ld a,[W_ENEMYBATTSTATUS1] + ld a,[wEnemyBattleStatus1] bit UsingTrappingMove,a ; is enemy using a mult-turn move like wrap? jp z,.FlinchedCheck ld hl,CantMoveText @@ -3433,7 +3433,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) jp .returnToHL .FlinchedCheck - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 bit Flinched,[hl] jp z,.HyperBeamCheck res Flinched,[hl] ; reset player's flinch status @@ -3443,7 +3443,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) jp .returnToHL .HyperBeamCheck - ld hl,W_PLAYERBATTSTATUS2 + ld hl,wPlayerBattleStatus2 bit NeedsToRecharge,[hl] jr z,.AnyMoveDisabledCheck res NeedsToRecharge,[hl] ; reset player's recharge status @@ -3453,7 +3453,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) jp .returnToHL .AnyMoveDisabledCheck - ld hl,W_PLAYERDISABLEDMOVE + ld hl,wPlayerDisabledMove ld a,[hl] and a jr z,.ConfusedCheck @@ -3467,13 +3467,13 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) call PrintText .ConfusedCheck - ld a,[W_PLAYERBATTSTATUS1] + ld a,[wPlayerBattleStatus1] add a ; is player confused? jr nc,.TriedToUseDisabledMoveCheck - ld hl,W_PLAYERCONFUSEDCOUNTER + ld hl,wPlayerConfusedCounter dec [hl] jr nz,.IsConfused - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 res Confused,[hl] ; if confused counter hit 0, reset confusion status ld hl,ConfusedNoMoreText call PrintText @@ -3488,9 +3488,9 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) call BattleRandom cp a,$80 ; 50% chance to hurt itself jr c,.TriedToUseDisabledMoveCheck - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 ld a,[hl] - and a, 1 << Confused ; if mon hurts itself, clear every other status from W_PLAYERBATTSTATUS1 + and a, 1 << Confused ; if mon hurts itself, clear every other status from wPlayerBattleStatus1 ld [hl],a call HandleSelfConfusionDamage jr .MonHurtItselfOrFullyParalysed @@ -3518,12 +3518,12 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) call PrintText .MonHurtItselfOrFullyParalysed - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 ld a,[hl] ; clear bide, thrashing, charging up, and trapping moves such as warp (already cleared for confusion damage) and $ff ^ ((1 << StoringEnergy) | (1 << ThrashingAbout) | (1 << ChargingUp) | (1 << UsingTrappingMove)) ld [hl],a - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] cp a,FLY_EFFECT jr z,.FlyOrChargeEffect cp a,CHARGE_EFFECT @@ -3540,12 +3540,12 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) jp .returnToHL ; if using a two-turn move, we need to recharge the first turn .BideCheck - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 bit StoringEnergy,[hl] ; is mon using bide? jr z,.ThrashingAboutCheck xor a - ld [W_PLAYERMOVENUM],a - ld hl,W_DAMAGE + ld [wPlayerMoveNum],a + ld hl,wDamage ld a,[hli] ld b,a ld c,[hl] @@ -3562,30 +3562,30 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) ld hl,ExecutePlayerMoveDone jp .returnToHL ; unless mon unleashes energy, can't move this turn .UnleashEnergy - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 res StoringEnergy,[hl] ; not using bide any more ld hl,UnleashedEnergyText call PrintText ld a,1 - ld [W_PLAYERMOVEPOWER],a + ld [wPlayerMovePower],a ld hl,wPlayerBideAccumulatedDamage + 1 ld a,[hld] add a ld b,a - ld [W_DAMAGE + 1],a + ld [wDamage + 1],a ld a,[hl] rl a ; double the damage - ld [W_DAMAGE],a + ld [wDamage],a or b jr nz,.next ld a,1 - ld [W_MOVEMISSED],a + ld [wMoveMissed],a .next xor a ld [hli],a ld [hl],a ld a,BIDE - ld [W_PLAYERMOVENUM],a + ld [wPlayerMoveNum],a ld hl,handleIfPlayerMoveMissed ; skip damage calculation, DecrementPP and MoveHitTest jp .returnToHL @@ -3593,7 +3593,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) bit ThrashingAbout,[hl] ; is mon using thrash or petal dance? jr z,.MultiturnMoveCheck ld a,THRASH - ld [W_PLAYERMOVENUM],a + ld [wPlayerMoveNum],a ld hl,ThrashingAboutText call PrintText ld hl,wPlayerNumAttacksLeft @@ -3601,14 +3601,14 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) ld hl,PlayerCalcMoveDamage ; skip DecrementPP jp nz,.returnToHL push hl - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 res ThrashingAbout,[hl] ; no longer thrashing about set Confused,[hl] ; confused call BattleRandom and a,3 inc a inc a ; confused for 2-5 turns - ld [W_PLAYERCONFUSEDCOUNTER],a + ld [wPlayerConfusedCounter],a pop hl ; skip DecrementPP jp .returnToHL @@ -3626,7 +3626,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) jp .returnToHL .RageCheck - ld a, [W_PLAYERBATTSTATUS2] + ld a, [wPlayerBattleStatus2] bit UsingRage, a ; is mon using rage? jp z, .checkPlayerStatusConditionsDone ; if we made it this far, mon can move normally this turn ld a, RAGE @@ -3634,7 +3634,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) call GetMoveName call CopyStringToCF4B xor a - ld [W_PLAYERMOVEEFFECT], a + ld [wPlayerMoveEffect], a ld hl, PlayerCanExecuteMove jp .returnToHL @@ -3709,12 +3709,12 @@ CantMoveText: ; 3da83 (f:5a83) PrintMoveIsDisabledText: ; 3da88 (f:5a88) ld hl, wPlayerSelectedMove - ld de, W_PLAYERBATTSTATUS1 + ld de, wPlayerBattleStatus1 ld a, [H_WHOSETURN] and a jr z, .removeChargingUp inc hl - ld de, W_ENEMYBATTSTATUS1 + ld de, wEnemyBattleStatus1 .removeChargingUp ld a, [de] res ChargingUp, a ; end the pokemon's @@ -3741,7 +3741,7 @@ HandleSelfConfusionDamage: ; 3daad (f:5aad) ld [hli], a ld a, [wBattleMonDefense + 1] ld [hl], a - ld hl, W_PLAYERMOVEEFFECT + ld hl, wPlayerMoveEffect push hl ld a, [hl] push af @@ -3787,10 +3787,10 @@ MonName1Text: ; 3dafb (f:5afb) TX_ASM ld a, [H_WHOSETURN] and a - ld a, [W_PLAYERMOVENUM] + ld a, [wPlayerMoveNum] ld hl, wPlayerUsedMove jr z, .asm_3db11 - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] ld hl, wEnemyUsedMove .asm_3db11 ld [hl], a @@ -3921,11 +3921,11 @@ ExclamationPointMoveSets: ; 3dba3 (f:5ba3) db $FF ; terminator PrintMoveFailureText: ; 3dbe2 (f:5be2) - ld de, W_PLAYERMOVEEFFECT + ld de, wPlayerMoveEffect ld a, [H_WHOSETURN] and a jr z, .playersTurn - ld de, W_ENEMYMOVEEFFECT + ld de, wEnemyMoveEffect .playersTurn ld hl, DoesntAffectMonText ld a, [wDamageMultipliers] @@ -3947,7 +3947,7 @@ PrintMoveFailureText: ; 3dbe2 (f:5be2) ret nz ; if you get here, the mon used jump kick or hi jump kick and missed - ld hl, W_DAMAGE ; since the move missed, W_DAMAGE will always contain 0 at this point. + ld hl, wDamage ; since the move missed, wDamage will always contain 0 at this point. ; Thus, recoil damage will always be equal to 1 ; even if it was intended to be potential damage/8. ld a, [hli] @@ -4057,7 +4057,7 @@ CheckForDisobedience: ; 3dc88 (f:5c88) ; it was traded .monIsTraded ; what level might disobey? - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges bit 7, [hl] ld a, 101 jr nz, .next @@ -4234,15 +4234,15 @@ IgnoredOrdersText: ; 3ddca (f:5dca) ; sets b, c, d, and e for the CalculateDamage routine in the case of an attack by the player mon GetDamageVarsForPlayerAttack: ; 3ddcf (f:5dcf) xor a - ld hl, W_DAMAGE ; damage to eventually inflict, initialise to zero + ld hl, wDamage ; damage to eventually inflict, initialise to zero ldi [hl], a ld [hl], a - ld hl, W_PLAYERMOVEPOWER + ld hl, wPlayerMovePower ld a, [hli] and a ld d, a ; d = move power ret z ; return if move power is zero - ld a, [hl] ; a = [W_PLAYERMOVETYPE] + ld a, [hl] ; a = [wPlayerMoveType] cp FIRE ; types >= FIRE are all special jr nc, .specialAttack .physicalAttack @@ -4250,7 +4250,7 @@ GetDamageVarsForPlayerAttack: ; 3ddcf (f:5dcf) ld a, [hli] ld b, a ld c, [hl] ; bc = enemy defense - ld a, [W_ENEMYBATTSTATUS3] + ld a, [wEnemyBattleStatus3] bit HasReflectUp, a ; check for Reflect jr z, .physicalAttackCritCheck ; if the enemy has used Reflect, double the enemy's defense @@ -4280,7 +4280,7 @@ GetDamageVarsForPlayerAttack: ; 3ddcf (f:5dcf) ld a, [hli] ld b, a ld c, [hl] ; bc = enemy special - ld a, [W_ENEMYBATTSTATUS3] + ld a, [wEnemyBattleStatus3] bit HasLightScreenUp, a ; check for Light Screen jr z, .specialAttackCritCheck ; if the enemy has used Light Screen, double the enemy's special @@ -4346,16 +4346,16 @@ GetDamageVarsForPlayerAttack: ; 3ddcf (f:5dcf) ; sets b, c, d, and e for the CalculateDamage routine in the case of an attack by the enemy mon GetDamageVarsForEnemyAttack: ; 3de75 (f:5e75) - ld hl, W_DAMAGE ; damage to eventually inflict, initialise to zero + ld hl, wDamage ; damage to eventually inflict, initialise to zero xor a ld [hli], a ld [hl], a - ld hl, W_ENEMYMOVEPOWER + ld hl, wEnemyMovePower ld a, [hli] ld d, a ; d = move power and a ret z ; return if move power is zero - ld a, [hl] ; a = [W_ENEMYMOVETYPE] + ld a, [hl] ; a = [wEnemyMoveType] cp FIRE ; types >= FIRE are all special jr nc, .specialAttack .physicalAttack @@ -4363,7 +4363,7 @@ GetDamageVarsForEnemyAttack: ; 3de75 (f:5e75) ld a, [hli] ld b, a ld c, [hl] ; bc = player defense - ld a, [W_PLAYERBATTSTATUS3] + ld a, [wPlayerBattleStatus3] bit HasReflectUp, a ; check for Reflect jr z, .physicalAttackCritCheck ; if the player has used Reflect, double the player's defense @@ -4393,7 +4393,7 @@ GetDamageVarsForEnemyAttack: ; 3de75 (f:5e75) ld a, [hli] ld b, a ld c, [hl] - ld a, [W_PLAYERBATTSTATUS3] + ld a, [wPlayerBattleStatus3] bit HasLightScreenUp, a ; check for Light Screen jr z, .specialAttackCritCheck ; if the player has used Light Screen, double the player's special @@ -4483,7 +4483,7 @@ GetEnemyMonStat: ; 3df1c (f:5f1c) ret .notLinkBattle ld a, [wEnemyMonLevel] - ld [W_CURENEMYLVL], a + ld [wCurEnemyLVL], a ld a, [wEnemyMonSpecies] ld [wd0b5], a call GetMonHeader @@ -4510,9 +4510,9 @@ CalculateDamage: ; 3df65 (f:5f65) ld a, [H_WHOSETURN] ; whose turn? and a - ld a, [W_PLAYERMOVEEFFECT] + ld a, [wPlayerMoveEffect] jr z, .effect - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] .effect ; EXPLODE_EFFECT halves defense. @@ -4589,7 +4589,7 @@ CalculateDamage: ; 3df65 (f:5f65) ld b, 4 call Divide - ld hl, W_DAMAGE + ld hl, wDamage ld b, [hl] ld a, [H_QUOTIENT + 3] add b @@ -4665,7 +4665,7 @@ CalculateDamage: ; 3df65 (f:5f65) JumpToOHKOMoveEffect: ; 3e016 (f:6016) call JumpMoveEffect - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] dec a ret @@ -4692,16 +4692,16 @@ CriticalHitTest: ; 3e023 (f:6023) .asm_3e032 ld [wd0b5], a call GetMonHeader - ld a, [W_MONHBASESPEED] + ld a, [wMonHBaseSpeed] ld b, a srl b ; (effective (base speed/2)) ld a, [H_WHOSETURN] and a - ld hl, W_PLAYERMOVEPOWER - ld de, W_PLAYERBATTSTATUS2 + ld hl, wPlayerMovePower + ld de, wPlayerBattleStatus2 jr z, .calcCriticalHitProbability - ld hl, W_ENEMYMOVEPOWER - ld de, W_ENEMYBATTSTATUS2 + ld hl, wEnemyMovePower + ld de, wEnemyBattleStatus2 .calcCriticalHitProbability ld a, [hld] ; read base power from RAM and a @@ -4768,18 +4768,18 @@ HandleCounterMove: ; 3e093 (f:6093) and a ; player's turn ld hl,wEnemySelectedMove - ld de,W_ENEMYMOVEPOWER + ld de,wEnemyMovePower ld a,[wPlayerSelectedMove] jr z,.next ; enemy's turn ld hl,wPlayerSelectedMove - ld de,W_PLAYERMOVEPOWER + ld de,wPlayerMovePower ld a,[wEnemySelectedMove] .next cp a,COUNTER ret nz ; return if not using Counter ld a,$01 - ld [W_MOVEMISSED],a ; initialize the move missed variable to true (it is set to false below if the move hits) + ld [wMoveMissed],a ; initialize the move missed variable to true (it is set to false below if the move hits) ld a,[hl] cp a,COUNTER ret z ; miss if the opponent's last selected move is Counter. @@ -4797,11 +4797,11 @@ HandleCounterMove: ; 3e093 (f:6093) xor a ret .counterableType - ld hl,W_DAMAGE + ld hl,wDamage ld a,[hli] or [hl] ret z ; If we made it here, Counter still misses if the last move used in battle did no damage to its target. - ; W_DAMAGE is shared by both players, so Counter may strike back damage dealt by the Counter user itself + ; wDamage is shared by both players, so Counter may strike back damage dealt by the Counter user itself ; if the conditions meet, even though 99% of the times damage will come from the target. ; if it did damage, double it ld a,[hl] @@ -4817,27 +4817,27 @@ HandleCounterMove: ; 3e093 (f:6093) ld [hl],a .noCarry xor a - ld [W_MOVEMISSED],a + ld [wMoveMissed],a call MoveHitTest ; do the normal move hit test in addition to Counter's special rules xor a ret ApplyAttackToEnemyPokemon: ; 3e0df (f:60df) - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] cp a,OHKO_EFFECT jr z,ApplyDamageToEnemyPokemon cp a,SUPER_FANG_EFFECT jr z,.superFangEffect cp a,SPECIAL_DAMAGE_EFFECT jr z,.specialDamage - ld a,[W_PLAYERMOVEPOWER] + ld a,[wPlayerMovePower] and a jp z,ApplyAttackToEnemyPokemonDone ; no attack to apply if base power is 0 jr ApplyDamageToEnemyPokemon .superFangEffect ; set the damage to half the target's HP ld hl,wEnemyMonHP - ld de,W_DAMAGE + ld de,wDamage ld a,[hli] srl a ld [de],a @@ -4856,7 +4856,7 @@ ApplyAttackToEnemyPokemon: ; 3e0df (f:60df) ld hl,wBattleMonLevel ld a,[hl] ld b,a ; Seismic Toss deals damage equal to the user's level - ld a,[W_PLAYERMOVENUM] + ld a,[wPlayerMoveNum] cp a,SEISMIC_TOSS jr z,.storeDamage cp a,NIGHT_SHADE @@ -4882,20 +4882,20 @@ ApplyAttackToEnemyPokemon: ; 3e0df (f:60df) jr nc,.loop ld b,a .storeDamage ; store damage value at b - ld hl,W_DAMAGE + ld hl,wDamage xor a ld [hli],a ld a,b ld [hl],a ApplyDamageToEnemyPokemon: ; 3e142 (f:6142) - ld hl,W_DAMAGE + ld hl,wDamage ld a,[hli] ld b,a ld a,[hl] or b jr z,ApplyAttackToEnemyPokemonDone ; we're done if damage is 0 - ld a,[W_ENEMYBATTSTATUS2] + ld a,[wEnemyBattleStatus2] bit HasSubstituteUp,a ; does the enemy have a substitute? jp nz,AttackSubstitute ; subtract the damage from the pokemon's current HP @@ -4913,7 +4913,7 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142) sbc b ld [wEnemyMonHP],a jr nc,.animateHpBar -; if more damage was done than the current HP, zero the HP and set the damage (W_DAMAGE) +; if more damage was done than the current HP, zero the HP and set the damage (wDamage) ; equal to how much HP the pokemon had before the attack ld a,[wHPBarOldHP+1] ld [hli],a @@ -4942,21 +4942,21 @@ ApplyAttackToEnemyPokemonDone: ; 3e19d (f:619d) jp DrawHUDsAndHPBars ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0) - ld a,[W_ENEMYMOVEEFFECT] + ld a,[wEnemyMoveEffect] cp a,OHKO_EFFECT jr z,ApplyDamageToPlayerPokemon cp a,SUPER_FANG_EFFECT jr z,.superFangEffect cp a,SPECIAL_DAMAGE_EFFECT jr z,.specialDamage - ld a,[W_ENEMYMOVEPOWER] + ld a,[wEnemyMovePower] and a jp z,ApplyAttackToPlayerPokemonDone jr ApplyDamageToPlayerPokemon .superFangEffect ; set the damage to half the target's HP ld hl,wBattleMonHP - ld de,W_DAMAGE + ld de,wDamage ld a,[hli] srl a ld [de],a @@ -4975,7 +4975,7 @@ ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0) ld hl,wEnemyMonLevel ld a,[hl] ld b,a - ld a,[W_ENEMYMOVENUM] + ld a,[wEnemyMoveNum] cp a,SEISMIC_TOSS jr z,.storeDamage cp a,NIGHT_SHADE @@ -5001,20 +5001,20 @@ ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0) jr nc,.loop ld b,a .storeDamage - ld hl,W_DAMAGE + ld hl,wDamage xor a ld [hli],a ld a,b ld [hl],a ApplyDamageToPlayerPokemon: ; 3e200 (f:6200) - ld hl,W_DAMAGE + ld hl,wDamage ld a,[hli] ld b,a ld a,[hl] or b jr z,ApplyAttackToPlayerPokemonDone ; we're done if damage is 0 - ld a,[W_PLAYERBATTSTATUS2] + ld a,[wPlayerBattleStatus2] bit HasSubstituteUp,a ; does the player have a substitute? jp nz,AttackSubstitute ; subtract the damage from the pokemon's current HP @@ -5033,7 +5033,7 @@ ApplyDamageToPlayerPokemon: ; 3e200 (f:6200) 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 (W_DAMAGE) +; if more damage was done than the current HP, zero the HP and set the damage (wDamage) ; equal to how much HP the pokemon had before the attack ld a,[wHPBarOldHP+1] ld [hli],a @@ -5071,15 +5071,15 @@ AttackSubstitute: ; 3e25e (f:625e) call PrintText ; values for player turn ld de,wEnemySubstituteHP - ld bc,W_ENEMYBATTSTATUS2 + ld bc,wEnemyBattleStatus2 ld a,[H_WHOSETURN] and a jr z,.applyDamageToSubstitute ; values for enemy turn ld de,wPlayerSubstituteHP - ld bc,W_PLAYERBATTSTATUS2 + ld bc,wPlayerBattleStatus2 .applyDamageToSubstitute - ld hl,W_DAMAGE + ld hl,wDamage ld a,[hli] and a jr nz,.substituteBroke ; damage > 0xFF always breaks substitutes @@ -5089,7 +5089,7 @@ AttackSubstitute: ; 3e25e (f:625e) ld [de],a ret nc .substituteBroke -; If the target's Substitute breaks, W_DAMAGE isn't updated with the amount of HP +; If the target's Substitute breaks, wDamage isn't updated with the amount of HP ; the Substitute had before being attacked. ld h,b ld l,c @@ -5105,10 +5105,10 @@ AttackSubstitute: ; 3e25e (f:625e) ld a,[H_WHOSETURN] xor a,$01 ld [H_WHOSETURN],a - ld hl,W_PLAYERMOVEEFFECT ; value for player's turn + ld hl,wPlayerMoveEffect ; value for player's turn and a jr z,.nullifyEffect - ld hl,W_ENEMYMOVEEFFECT ; value for enemy's turn + ld hl,wEnemyMoveEffect ; value for enemy's turn .nullifyEffect xor a ld [hl],a ; zero the effect of the attacker's move @@ -5125,16 +5125,16 @@ SubstituteBrokeText: ; 3e2b1 (f:62b1) ; this function raises the attack modifier of a pokemon using Rage when that pokemon is attacked HandleBuildingRage: ; 3e2b6 (f:62b6) ; values for the player turn - ld hl,W_ENEMYBATTSTATUS2 + ld hl,wEnemyBattleStatus2 ld de,wEnemyMonStatMods - ld bc,W_ENEMYMOVENUM + ld bc,wEnemyMoveNum ld a,[H_WHOSETURN] and a jr z,.next ; values for the enemy turn - ld hl,W_PLAYERBATTSTATUS2 + ld hl,wPlayerBattleStatus2 ld de,wPlayerMonStatMods - ld bc,W_PLAYERMOVENUM + ld bc,wPlayerMoveNum .next bit UsingRage,[hl] ; is the pokemon being attacked under the effect of Rage? ret z ; return if not @@ -5183,11 +5183,11 @@ MirrorMoveCopyMove: ; 3e2fd (f:62fd) ; values for player turn ld a,[wEnemyUsedMove] ld hl,wPlayerSelectedMove - ld de,W_PLAYERMOVENUM + ld de,wPlayerMoveNum jr z,.next ; values for enemy turn ld a,[wPlayerUsedMove] - ld de,W_ENEMYMOVENUM + ld de,wEnemyMoveNum ld hl,wEnemySelectedMove .next ld [hl],a @@ -5229,13 +5229,13 @@ MetronomePickMove: ; 3e348 (f:6348) ld a,METRONOME call PlayMoveAnimation ; play Metronome's animation ; values for player turn - ld de,W_PLAYERMOVENUM + ld de,wPlayerMoveNum ld hl,wPlayerSelectedMove ld a,[H_WHOSETURN] and a jr z,.pickMoveLoop ; values for enemy turn - ld de,W_ENEMYMOVENUM + ld de,wEnemyMoveNum ld hl,wEnemySelectedMove ; loop to pick a random number in the range [1, $a5) to be the move used by Metronome .pickMoveLoop @@ -5294,7 +5294,7 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5) ld a,[hli] ld d,a ; d = type 1 of defender ld e,[hl] ; e = type 2 of defender - ld a,[W_PLAYERMOVETYPE] + ld a,[wPlayerMoveType] ld [wMoveType],a ld a,[H_WHOSETURN] and a @@ -5308,7 +5308,7 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5) ld a,[hli] ld d,a ; d = type 1 of defender ld e,[hl] ; e = type 2 of defender - ld a,[W_ENEMYMOVETYPE] + ld a,[wEnemyMoveType] ld [wMoveType],a .next ld a,[wMoveType] @@ -5319,7 +5319,7 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5) jr .skipSameTypeAttackBonus .sameTypeAttackBonus ; if the move type matches one of the attacker's types - ld hl,W_DAMAGE + 1 + ld hl,wDamage + 1 ld a,[hld] ld h,[hl] ld l,a ; hl = damage @@ -5330,9 +5330,9 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5) add hl,bc ; hl = floor(1.5 * damage) ; store damage ld a,h - ld [W_DAMAGE],a + ld [wDamage],a ld a,l - ld [W_DAMAGE + 1],a + ld [wDamage + 1],a ld hl,wDamageMultipliers set 7,[hl] .skipSameTypeAttackBonus @@ -5365,7 +5365,7 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5) ld [wDamageMultipliers],a xor a ld [H_MULTIPLICAND],a - ld hl,W_DAMAGE + ld hl,wDamage ld a,[hli] ld [H_MULTIPLICAND + 1],a ld a,[hld] @@ -5386,7 +5386,7 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5) ; if damage is 0, make the move miss ; this only occurs if a move that would do 2 or 3 damage is 0.25x effective against the target inc a - ld [W_MOVEMISSED],a + ld [wMoveMissed],a .skipTypeImmunity pop bc pop hl @@ -5404,7 +5404,7 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5) ; ($05 is not very effective, $10 is neutral, $14 is super effective) ; as far is can tell, this is only used once in some AI code to help decide which move to use AIGetTypeEffectiveness: ; 3e449 (f:6449) - ld a,[W_ENEMYMOVETYPE] + ld a,[wEnemyMoveType] ld d,a ; d = type of enemy move ld hl,wBattleMonType ld b,[hl] ; b = type 1 of player's pokemon @@ -5440,15 +5440,15 @@ INCLUDE "data/type_effects.asm" ; some tests that need to pass for a move to hit MoveHitTest: ; 3e56b (f:656b) ; player's turn - ld hl,W_ENEMYBATTSTATUS1 - ld de,W_PLAYERMOVEEFFECT + ld hl,wEnemyBattleStatus1 + ld de,wPlayerMoveEffect ld bc,wEnemyMonStatus ld a,[H_WHOSETURN] and a jr z,.dreamEaterCheck ; enemy's turn - ld hl,W_PLAYERBATTSTATUS1 - ld de,W_ENEMYMOVEEFFECT + ld hl,wPlayerBattleStatus1 + ld de,wEnemyMoveEffect ld bc,wBattleMonStatus .dreamEaterCheck ld a,[de] @@ -5477,7 +5477,7 @@ MoveHitTest: ; 3e56b (f:656b) jr nz,.enemyTurn .playerTurn ; this checks if the move effect is disallowed by mist - ld a,[W_PLAYERMOVEEFFECT] + ld a,[wPlayerMoveEffect] cp a,ATTACK_DOWN1_EFFECT jr c,.skipEnemyMistCheck cp a,HAZE_EFFECT + 1 @@ -5494,16 +5494,16 @@ MoveHitTest: ; 3e56b (f:656b) ; FLASH, CONVERSION*, HAZE*, SCREECH, LIGHT SCREEN*, REFLECT* ; the moves that are marked with an asterisk are not affected since this ; function is not called when those moves are used - ld a,[W_ENEMYBATTSTATUS2] + ld a,[wEnemyBattleStatus2] bit ProtectedByMist,a ; is mon protected by mist? jp nz,.moveMissed .skipEnemyMistCheck - ld a,[W_PLAYERBATTSTATUS2] + ld a,[wPlayerBattleStatus2] bit UsingXAccuracy,a ; is the player using X Accuracy? ret nz ; if so, always hit regardless of accuracy/evasion jr .calcHitChance .enemyTurn - ld a,[W_ENEMYMOVEEFFECT] + ld a,[wEnemyMoveEffect] cp a,ATTACK_DOWN1_EFFECT jr c,.skipPlayerMistCheck cp a,HAZE_EFFECT + 1 @@ -5515,21 +5515,21 @@ MoveHitTest: ; 3e56b (f:656b) jr .skipPlayerMistCheck .playerMistCheck ; similar to enemy mist check - ld a,[W_PLAYERBATTSTATUS2] + ld a,[wPlayerBattleStatus2] bit ProtectedByMist,a ; is mon protected by mist? jp nz,.moveMissed .skipPlayerMistCheck - ld a,[W_ENEMYBATTSTATUS2] + ld a,[wEnemyBattleStatus2] bit UsingXAccuracy,a ; is the enemy using X Accuracy? ret nz ; if so, always hit regardless of accuracy/evasion .calcHitChance call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion - ld a,[W_PLAYERMOVEACCURACY] + ld a,[wPlayerMoveAccuracy] ld b,a ld a,[H_WHOSETURN] and a jr z,.doAccuracyCheck - ld a,[W_ENEMYMOVEACCURACY] + ld a,[wEnemyMoveAccuracy] ld b,a .doAccuracyCheck ; if the random number generated is greater than or equal to the scaled accuracy, the move misses @@ -5540,26 +5540,26 @@ MoveHitTest: ; 3e56b (f:656b) ret .moveMissed xor a - ld hl,W_DAMAGE ; zero the damage + ld hl,wDamage ; zero the damage ld [hli],a ld [hl],a inc a - ld [W_MOVEMISSED],a + ld [wMoveMissed],a ld a,[H_WHOSETURN] and a jr z,.playerTurn2 .enemyTurn2 - ld hl,W_ENEMYBATTSTATUS1 + ld hl,wEnemyBattleStatus1 res UsingTrappingMove,[hl] ; end multi-turn attack e.g. wrap ret .playerTurn2 - ld hl,W_PLAYERBATTSTATUS1 + ld hl,wPlayerBattleStatus1 res UsingTrappingMove,[hl] ; end multi-turn attack e.g. wrap ret ; values for player turn CalcHitChance: ; 3e624 (f:6624) - ld hl,W_PLAYERMOVEACCURACY + ld hl,wPlayerMoveAccuracy ld a,[H_WHOSETURN] and a ld a,[wPlayerMonAccuracyMod] @@ -5568,7 +5568,7 @@ CalcHitChance: ; 3e624 (f:6624) ld c,a jr z,.next ; values for enemy turn - ld hl,W_ENEMYMOVEACCURACY + ld hl,wEnemyMoveAccuracy ld a,[wEnemyMonAccuracyMod] ld b,a ld a,[wPlayerMonEvasionMod] @@ -5631,7 +5631,7 @@ CalcHitChance: ; 3e624 (f:6624) ; multiplies damage by a random percentage from ~85% to 100% RandomizeDamage: ; 3e687 (f:6687) - ld hl, W_DAMAGE + ld hl, wDamage ld a, [hli] and a jr nz, .DamageGreaterThanOne @@ -5660,7 +5660,7 @@ RandomizeDamage: ; 3e687 (f:6687) call Divide ; divide the result by 255 ; store the modified damage ld a, [H_QUOTIENT + 2] - ld hl, W_DAMAGE + ld hl, wDamage ld [hli], a ld a, [H_QUOTIENT + 3] ld [hl], a @@ -5686,7 +5686,7 @@ ExecuteEnemyMove: ; 3e6bc (f:66bc) ld hl, wAILayer2Encouragement inc [hl] xor a - ld [W_MOVEMISSED], a + ld [wMoveMissed], a ld [wMoveDidntMiss], a ld a, $a ld [wDamageMultipliers], a @@ -5694,23 +5694,23 @@ ExecuteEnemyMove: ; 3e6bc (f:66bc) jr nz, .enemyHasNoSpecialConditions jp [hl] .enemyHasNoSpecialConditions - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 bit ChargingUp, [hl] ; is the enemy charging up for attack? jr nz, EnemyCanExecuteChargingMove ; if so, jump call GetCurrentMove CheckIfEnemyNeedsToChargeUp: ; 3e6fc (f:66fc) - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] cp CHARGE_EFFECT jp z, JumpMoveEffect cp FLY_EFFECT jp z, JumpMoveEffect jr EnemyCanExecuteMove EnemyCanExecuteChargingMove: ; 3e70b (f:670b) - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res ChargingUp, [hl] ; no longer charging up for attack res Invulnerable, [hl] ; no longer invulnerable to typical attacks - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] ld [wd0b5], a ld a, BANK(MoveNames) ld [wPredefBank], a @@ -5723,19 +5723,19 @@ EnemyCanExecuteMove: ; 3e72b (f:672b) xor a ld [wMonIsDisobedient], a call PrintMonName1Text - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] ld hl, ResidualEffects1 ld de, $1 call IsInArray jp c, JumpMoveEffect - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] ld hl, SpecialEffectsCont ld de, $1 call IsInArray call c, JumpMoveEffect EnemyCalcMoveDamage: ; 3e750 (f:6750) call SwapPlayerAndEnemyLevels - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] ld hl, SetDamageEffects ld de, $1 call IsInArray @@ -5754,10 +5754,10 @@ EnemyCalcMoveDamage: ; 3e750 (f:6750) EnemyMoveHitTest: ; 3e77f (f:677f) call MoveHitTest handleIfEnemyMoveMissed: ; 3e782 (f:6782) - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jr z, .asm_3e791 - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] cp EXPLODE_EFFECT jr z, asm_3e7a0 jr EnemyCheckIfFlyOrChargeEffect @@ -5765,7 +5765,7 @@ handleIfEnemyMoveMissed: ; 3e782 (f:6782) call SwapPlayerAndEnemyLevels GetEnemyAnimationType: ; 3e794 (f:6794) - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] and a ld a, $1 jr z, playEnemyMoveAnimation @@ -5776,18 +5776,18 @@ asm_3e7a0: ; 3e7a0 (f:67a0) xor a playEnemyMoveAnimation: ; 3e7a4 (f:67a4) push af - ld a, [W_ENEMYBATTSTATUS2] + ld a, [wEnemyBattleStatus2] bit HasSubstituteUp, a ; does mon have a substitute? ld hl, HideSubstituteShowMonAnim ld b, BANK(HideSubstituteShowMonAnim) call nz, Bankswitch pop af ld [wAnimationType], a - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] call PlayMoveAnimation call HandleExplodingAnimation call DrawEnemyHUDAndHPBar - ld a, [W_ENEMYBATTSTATUS2] + ld a, [wEnemyBattleStatus2] bit HasSubstituteUp, a ; does mon have a substitute? ld hl, ReshowSubstituteAnim ld b, BANK(ReshowSubstituteAnim) @@ -5798,7 +5798,7 @@ EnemyCheckIfFlyOrChargeEffect: ; 3e7d1 (f:67d1) call SwapPlayerAndEnemyLevels ld c, 30 call DelayFrames - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] cp FLY_EFFECT jr z, .playAnim cp CHARGE_EFFECT @@ -5810,7 +5810,7 @@ EnemyCheckIfFlyOrChargeEffect: ; 3e7d1 (f:67d1) ld a,STATUS_AFFECTED_ANIM call PlayMoveAnimation EnemyCheckIfMirrorMoveEffect: ; 3e7ef (f:67ef) - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] cp MIRROR_MOVE_EFFECT jr nz, .notMirrorMoveEffect call MirrorMoveCopyMove @@ -5822,16 +5822,16 @@ EnemyCheckIfMirrorMoveEffect: ; 3e7ef (f:67ef) call MetronomePickMove jp CheckIfEnemyNeedsToChargeUp .notMetronomeEffect - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] ld hl, ResidualEffects2 ld de, $1 call IsInArray jp c, JumpMoveEffect - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jr z, .asm_3e82b call PrintMoveFailureText - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] cp EXPLODE_EFFECT jr z, .asm_3e83e jp ExecuteEnemyMoveDone @@ -5842,7 +5842,7 @@ EnemyCheckIfMirrorMoveEffect: ; 3e7ef (f:67ef) ld a, 1 ld [wMoveDidntMiss], a .asm_3e83e - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] ld hl, AlwaysHappenSideEffects ld de, $1 call IsInArray @@ -5853,7 +5853,7 @@ EnemyCheckIfMirrorMoveEffect: ; 3e7ef (f:67ef) or b ret z call HandleBuildingRage - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 bit AttackingMultipleTimes, [hl] ; is mon hitting multiple times? (example: double kick) jr z, .asm_3e873 push hl @@ -5867,7 +5867,7 @@ EnemyCheckIfMirrorMoveEffect: ; 3e7ef (f:67ef) xor a ld [wEnemyNumHits], a .asm_3e873 - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] and a jr z, ExecuteEnemyMoveDone ld hl, SpecialEffects @@ -5920,7 +5920,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, ExecuteEnemyMoveDone ; enemy can't move this turn jp .enemyReturnToHL .checkIfTrapped - ld a, [W_PLAYERBATTSTATUS1] + ld a, [wPlayerBattleStatus1] bit UsingTrappingMove, a ; is the player using a multi-turn attack like warp jp z, .checkIfFlinched ld hl, CantMoveText @@ -5928,7 +5928,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, ExecuteEnemyMoveDone ; enemy can't move this turn jp .enemyReturnToHL .checkIfFlinched - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 bit Flinched, [hl] ; check if enemy mon flinched jp z, .checkIfMustRecharge res Flinched, [hl] @@ -5937,7 +5937,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, ExecuteEnemyMoveDone ; enemy can't move this turn jp .enemyReturnToHL .checkIfMustRecharge - ld hl, W_ENEMYBATTSTATUS2 + ld hl, wEnemyBattleStatus2 bit NeedsToRecharge, [hl] ; check if enemy mon has to recharge after using a move jr z, .checkIfAnyMoveDisabled res NeedsToRecharge, [hl] @@ -5946,7 +5946,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, ExecuteEnemyMoveDone ; enemy can't move this turn jp .enemyReturnToHL .checkIfAnyMoveDisabled - ld hl, W_ENEMYDISABLEDMOVE + ld hl, wEnemyDisabledMove ld a, [hl] and a jr z, .checkIfConfused @@ -5959,13 +5959,13 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, DisabledNoMoreText call PrintText .checkIfConfused - ld a, [W_ENEMYBATTSTATUS1] + ld a, [wEnemyBattleStatus1] add a ; check if enemy mon is confused jp nc, .checkIfTriedToUseDisabledMove - ld hl, W_ENEMYCONFUSEDCOUNTER + ld hl, wEnemyConfusedCounter dec [hl] jr nz, .isConfused - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res Confused, [hl] ; if confused counter hit 0, reset confusion status ld hl, ConfusedNoMoreText call PrintText @@ -5980,9 +5980,9 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) call BattleRandom cp $80 jr c, .checkIfTriedToUseDisabledMove - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 ld a, [hl] - and 1 << Confused ; if mon hurts itself, clear every other status from W_ENEMYBATTSTATUS1 + and 1 << Confused ; if mon hurts itself, clear every other status from wEnemyBattleStatus1 ld [hl], a ld hl, HurtItselfText call PrintText @@ -5995,7 +5995,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld [hli], a ld a, [wEnemyMonDefense + 1] ld [hl], a - ld hl, W_ENEMYMOVEEFFECT + ld hl, wEnemyMoveEffect push hl ld a, [hl] push af @@ -6046,12 +6046,12 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, FullyParalyzedText call PrintText .monHurtItselfOrFullyParalysed - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 ld a, [hl] ; clear bide, thrashing about, charging up, and multi-turn moves such as warp and $ff ^ ((1 << StoringEnergy) | (1 << ThrashingAbout) | (1 << ChargingUp) | (1 << UsingTrappingMove)) ld [hl], a - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] cp FLY_EFFECT jr z, .flyOrChargeEffect cp CHARGE_EFFECT @@ -6066,12 +6066,12 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, ExecuteEnemyMoveDone jp .enemyReturnToHL ; if using a two-turn move, enemy needs to recharge the first turn .checkIfUsingBide - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 bit StoringEnergy, [hl] ; is mon using bide? jr z, .checkIfThrashingAbout xor a - ld [W_ENEMYMOVENUM], a - ld hl, W_DAMAGE + ld [wEnemyMoveNum], a + ld hl, wDamage ld a, [hli] ld b, a ld c, [hl] @@ -6088,30 +6088,30 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, ExecuteEnemyMoveDone jp .enemyReturnToHL ; unless mon unleashes energy, can't move this turn .unleashEnergy - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res StoringEnergy, [hl] ; not using bide any more ld hl, UnleashedEnergyText call PrintText ld a, $1 - ld [W_ENEMYMOVEPOWER], a + ld [wEnemyMovePower], a ld hl, wEnemyBideAccumulatedDamage + 1 ld a, [hld] add a ld b, a - ld [W_DAMAGE + 1], a + ld [wDamage + 1], a ld a, [hl] rl a ; double the damage - ld [W_DAMAGE], a + ld [wDamage], a or b jr nz, .next ld a, $1 - ld [W_MOVEMISSED], a + ld [wMoveMissed], a .next xor a ld [hli], a ld [hl], a ld a, BIDE - ld [W_ENEMYMOVENUM], a + ld [wEnemyMoveNum], a call SwapPlayerAndEnemyLevels ld hl, handleIfEnemyMoveMissed ; skip damage calculation, DecrementPP and MoveHitTest jp .enemyReturnToHL @@ -6119,7 +6119,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) bit ThrashingAbout, [hl] ; is mon using thrash or petal dance? jr z, .checkIfUsingMultiturnMove ld a, THRASH - ld [W_ENEMYMOVENUM], a + ld [wEnemyMoveNum], a ld hl, ThrashingAboutText call PrintText ld hl, wEnemyNumAttacksLeft @@ -6127,14 +6127,14 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, EnemyCalcMoveDamage ; skip DecrementPP jp nz, .enemyReturnToHL push hl - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 res ThrashingAbout, [hl] ; mon is no longer using thrash or petal dance set Confused, [hl] ; mon is now confused call BattleRandom and $3 inc a inc a ; confused for 2-5 turns - ld [W_ENEMYCONFUSEDCOUNTER], a + ld [wEnemyConfusedCounter], a pop hl ; skip DecrementPP jp .enemyReturnToHL .checkIfUsingMultiturnMove @@ -6149,7 +6149,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) jp nz, .enemyReturnToHL jp .enemyReturnToHL .checkIfUsingRage - ld a, [W_ENEMYBATTSTATUS2] + ld a, [wEnemyBattleStatus2] bit UsingRage, a ; is mon using rage? jp z, .checkEnemyStatusConditionsDone ; if we made it this far, mon can move normally this turn ld a, RAGE @@ -6157,7 +6157,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) call GetMoveName call CopyStringToCF4B xor a - ld [W_ENEMYMOVEEFFECT], a + ld [wEnemyMoveEffect], a ld hl, EnemyCanExecuteMove jp .enemyReturnToHL .enemyReturnToHL @@ -6172,12 +6172,12 @@ GetCurrentMove: ; 3eabe (f:6abe) ld a, [H_WHOSETURN] and a jp z, .player - ld de, W_ENEMYMOVENUM + ld de, wEnemyMoveNum ld a, [wEnemySelectedMove] jr .selected .player - ld de, W_PLAYERMOVENUM - ld a, [W_FLAGS_D733] + ld de, wPlayerMoveNum + ld a, [wFlags_D733] bit BIT_TEST_BATTLE, a ld a, [wTestBattlePlayerSelectedMove] jr nz, .selected @@ -6207,13 +6207,13 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) ld [wEnemyMonSpecies], a ld [wd0b5], a call GetMonHeader - ld a, [W_ENEMYBATTSTATUS3] + ld a, [wEnemyBattleStatus3] bit Transformed, a ; is enemy mon transformed? ld hl, wTransformedEnemyMonOriginalDVs ; original DVs before transforming ld a, [hli] ld b, [hl] jr nz, .storeDVs - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] cp $2 ; is it a trainer battle? ; fixed DVs for trainer mon ld a, $98 @@ -6228,7 +6228,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) ld [hli], a ld [hl], b ld de, wEnemyMonLevel - ld a, [W_CURENEMYLVL] + ld a, [wCurEnemyLVL] ld [de], a inc de ld b, $0 @@ -6236,10 +6236,10 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) push hl call CalcStats pop hl - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] cp $2 ; is it a trainer battle? jr z, .copyHPAndStatusFromPartyData - ld a, [W_ENEMYBATTSTATUS3] + ld a, [wEnemyBattleStatus3] bit Transformed, a ; is enemy mon transformed? jr nz, .copyTypes ; if transformed, jump ; if it's a wild mon and not transformed, init the current HP to max HP and the status to 0 @@ -6268,7 +6268,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) ld [wEnemyMonStatus], a jr .copyTypes .copyTypes - ld hl, W_MONHTYPES + ld hl, wMonHTypes ld de, wEnemyMonType ld a, [hli] ; copy type 1 ld [de], a @@ -6279,7 +6279,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) ld a, [hli] ; copy catch rate ld [de], a inc de - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] cp $2 ; is it a trainer battle? jr nz, .copyStandardMoves ; if it's a trainer battle, copy moves from enemy party data @@ -6292,7 +6292,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) jr .loadMovePPs .copyStandardMoves ; for a wild mon, first copy default moves from the mon header - ld hl, W_MONHMOVES + ld hl, wMonHMoves ld a, [hli] ld [de], a inc de @@ -6314,7 +6314,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) ld hl, wEnemyMonMoves ld de, wEnemyMonPP - 1 predef LoadMovePPs - ld hl, W_MONHBASESTATS + ld hl, wMonHBaseStats ld de, wEnemyMonBaseStats ld b, NUM_STATS .copyBaseStatsLoop @@ -6323,7 +6323,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) inc de dec b jr nz, .copyBaseStatsLoop - ld hl, W_MONHCATCHRATE + ld hl, wMonHCatchRate ld a, [hli] ld [de], a inc de @@ -6391,7 +6391,7 @@ DoBattleTransitionAndInitBattleVariables: ; 3ec32 (f:6c32) ld [hli], a ld [hli], a ld [hl], a - ld [W_PLAYERDISABLEDMOVE], a + ld [wPlayerDisabledMove], a ret ; swaps the level values of the BattleMon and EnemyMon structs @@ -6410,7 +6410,7 @@ SwapPlayerAndEnemyLevels: ; 3ec81 (f:6c81) ; also writes OAM data and loads tile patterns for the Red or Old Man back sprite's head ; (for use when scrolling the player sprite and enemy's silhouettes on screen) LoadPlayerBackPic: ; 3ec92 (f:6c92) - ld a, [W_BATTLETYPE] + ld a, [wBattleType] dec a ; is it the old man tutorial? ld de, RedPicBack jr nz, .next @@ -6664,7 +6664,7 @@ ApplyBadgeStatBoosts: ; 3ee19 (f:6e19) ld a, [wLinkState] cp LINK_STATE_BATTLING ret z ; return if link battle - ld a, [W_OBTAINEDBADGES] + ld a, [wObtainedBadges] ld b, a ld hl, wBattleMonAttack ld c, $4 @@ -6804,12 +6804,12 @@ HandleExplodingAnimation: ; 3eed3 (f:6ed3) ld a, [H_WHOSETURN] and a ld hl, wEnemyMonType1 - ld de, W_ENEMYBATTSTATUS1 - ld a, [W_PLAYERMOVENUM] + ld de, wEnemyBattleStatus1 + ld a, [wPlayerMoveNum] jr z, .asm_3eeea ld hl, wBattleMonType1 - ld de, W_ENEMYBATTSTATUS1 - ld a, [W_ENEMYMOVENUM] + ld de, wEnemyBattleStatus1 + ld a, [wEnemyMoveNum] .asm_3eeea cp SELFDESTRUCT jr z, .asm_3eef1 @@ -6825,24 +6825,24 @@ HandleExplodingAnimation: ; 3eed3 (f:6ed3) ld a, [hl] cp GHOST ret z - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a ret nz ld a, 5 ld [wAnimationType], a PlayMoveAnimation: ; 3ef07 (f:6f07) - ld [W_ANIMATIONID],a + ld [wAnimationID],a call Delay3 predef_jump MoveAnimation InitBattle: ; 3ef12 (f:6f12) - ld a, [W_CUROPPONENT] + ld a, [wCurOpponent] and a jr z, DetermineWildOpponent InitOpponent: ; 3ef18 (f:6f18) - ld a, [W_CUROPPONENT] + ld a, [wCurOpponent] ld [wcf91], a ld [wEnemyMonSpecies2], a jr InitBattleCommon @@ -6871,7 +6871,7 @@ InitBattleCommon: ; 3ef3d (f:6f3d) ld a, [wEnemyMonSpecies2] sub 200 jp c, InitWildBattle - ld [W_TRAINERCLASS], a + ld [wTrainerClass], a call GetTrainerInformation callab ReadTrainer call DoBattleTransitionAndInitBattleVariables @@ -6886,21 +6886,21 @@ InitBattleCommon: ; 3ef3d (f:6f3d) ld a, $ff ld [wEnemyMonPartyPos], a ld a, $2 - ld [W_ISINBATTLE], a + ld [wIsInBattle], a jp _InitBattleCommon InitWildBattle: ; 3ef8b (f:6f8b) ld a, $1 - ld [W_ISINBATTLE], a + ld [wIsInBattle], a call LoadEnemyMonData call DoBattleTransitionAndInitBattleVariables - ld a, [W_CUROPPONENT] + ld a, [wCurOpponent] cp MAROWAK jr z, .isGhost call IsGhostBattle jr nz, .isNoGhost .isGhost - ld hl, W_MONHSPRITEDIM + ld hl, wMonHSpriteDim ld a, $66 ld [hli], a ; write sprite dimensions ld bc, GhostPic @@ -6933,7 +6933,7 @@ InitWildBattle: ; 3ef8b (f:6f8b) call LoadMonFrontSprite ; load mon sprite .spriteLoaded xor a - ld [W_TRAINERCLASS], a + ld [wTrainerClass], a ld [hStartTileID], a coord hl, 12, 0 predef CopyUncompressedPicToTilemap @@ -6964,7 +6964,7 @@ _InitBattleCommon: ; 3efeb (f:6feb) lb bc, 4, 10 call ClearScreenArea call ClearSprites - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a ; is it a wild battle? call z, DrawEnemyHUDAndHPBar ; draw enemy HUD and HP bar if it's a wild battle call StartBattle @@ -7014,7 +7014,7 @@ AnimateSendingOutMon: ; 3f073 (f:7073) ld a, [hStartTileID] ld [hBaseTileID], a ld b, $4c - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] and a jr z, .notInBattle add b @@ -7056,7 +7056,7 @@ CopyUncompressedPicToHL: ; 3f0d0 (f:70d0) lb bc, 7, 7 ld de, SCREEN_WIDTH push af - ld a, [W_SPRITEFLIPPED] + ld a, [wSpriteFlipped] and a jr nz, .flipped pop af @@ -7108,7 +7108,7 @@ LoadMonBackPic: ; 3f103 (f:7103) ld b, 7 ld c, 8 call ClearScreenArea - ld hl, W_MONHBACKSPRITE - W_MONHEADER + ld hl, wMonHBackSprite - wMonHeader call UncompressMonSprite predef ScaleSpriteByTwo ld de, vBackPic @@ -7128,9 +7128,9 @@ JumpMoveEffect: ; 3f132 (f:7132) _JumpMoveEffect: ; 3f138 (f:7138) ld a, [H_WHOSETURN] and a - ld a, [W_PLAYERMOVEEFFECT] + ld a, [wPlayerMoveEffect] jr z, .next1 - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] .next1 dec a ; subtract 1, there is no special effect for 00 add a ; x2, 16bit pointers @@ -7233,12 +7233,12 @@ MoveEffectPointerTable: ; 3f150 (f:7150) SleepEffect: ; 3f1fc (f:71fc) ld de, wEnemyMonStatus - ld bc, W_ENEMYBATTSTATUS2 + ld bc, wEnemyBattleStatus2 ld a, [H_WHOSETURN] and a jp z, .sleepEffect ld de, wBattleMonStatus - ld bc, W_PLAYERBATTSTATUS2 + ld bc, wPlayerBattleStatus2 .sleepEffect ld a, [bc] @@ -7260,7 +7260,7 @@ SleepEffect: ; 3f1fc (f:71fc) push de call MoveHitTest ; apply accuracy tests pop de - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jr nz, .didntAffect .setSleepCounter @@ -7285,12 +7285,12 @@ AlreadyAsleepText: ; 3f24a (f:724a) PoisonEffect: ; 3f24f (f:724f) ld hl, wEnemyMonStatus - ld de, W_PLAYERMOVEEFFECT + ld de, wPlayerMoveEffect ld a, [H_WHOSETURN] and a jr z, .poisonEffect ld hl, wBattleMonStatus - ld de, W_ENEMYMOVEEFFECT + ld de, wEnemyMoveEffect .poisonEffect call CheckTargetSubstitute jr nz, .noEffect ; can't posion a substitute target @@ -7316,7 +7316,7 @@ PoisonEffect: ; 3f24f (f:724f) call MoveHitTest ; apply accuracy tests pop de pop hl - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jr nz, .didntAffect jr .inflictPoison @@ -7332,13 +7332,13 @@ PoisonEffect: ; 3f24f (f:724f) ld a, [H_WHOSETURN] and a ld b, ANIM_C7 - ld hl, W_PLAYERBATTSTATUS3 + ld hl, wPlayerBattleStatus3 ld a, [de] - ld de, W_PLAYERTOXICCOUNTER + ld de, wPlayerToxicCounter jr nz, .ok ld b, ANIM_A9 - ld hl, W_ENEMYBATTSTATUS3 - ld de, W_ENEMYTOXICCOUNTER + ld hl, wEnemyBattleStatus3 + ld de, wEnemyToxcCounter .ok cp TOXIC jr nz, .normalPoison ; done if move is not Toxic @@ -7382,12 +7382,12 @@ DrainHPEffect: ; 3f2e9 (f:72e9) ExplodeEffect: ; 3f2f1 (f:72f1) ld hl, wBattleMonHP - ld de, W_PLAYERBATTSTATUS2 + ld de, wPlayerBattleStatus2 ld a, [H_WHOSETURN] and a jr z, .faintUser ld hl, wEnemyMonHP - ld de, W_ENEMYBATTSTATUS2 + ld de, wEnemyBattleStatus2 .faintUser xor a ld [hli], a ; set the mon's HP to 0 @@ -7410,7 +7410,7 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c) ld a, [wEnemyMonStatus] and a jp nz, CheckDefrost ; can't inflict status if opponent is already statused - ld a, [W_PLAYERMOVETYPE] + ld a, [wPlayerMoveType] ld b, a ld a, [wEnemyMonType1] cp b ; do target type 1 and move type match? @@ -7418,7 +7418,7 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c) ld a, [wEnemyMonType2] cp b ; do target type 2 and move type match? ret z ; return if they match - ld a, [W_PLAYERMOVEEFFECT] + ld a, [wPlayerMoveEffect] cp a, PARALYZE_SIDE_EFFECT1 + 1 ; 10% status effects are 04, 05, 06 so 07 will set carry for those ld b, $1a ; 0x1A/0x100 or 26/256 = 10.2%~ chance jr c, .next1 ; branch ahead if this is a 10% chance effect.. @@ -7462,7 +7462,7 @@ opponentAttacker: ; 3f382 (f:7382) ld a, [wBattleMonStatus] ; mostly same as above with addresses swapped for opponent and a jp nz, CheckDefrost - ld a, [W_ENEMYMOVETYPE] + ld a, [wEnemyMoveType] ld b, a ld a, [wBattleMonType1] cp b @@ -7470,7 +7470,7 @@ opponentAttacker: ; 3f382 (f:7382) ld a, [wBattleMonType2] cp b ret z - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] cp a, PARALYZE_SIDE_EFFECT1 + 1 ld b, $1a jr c, .next1 @@ -7520,7 +7520,7 @@ CheckDefrost: ; 3f3e2 (f:73e2) and a jr nz, .opponent ;player [attacker] - ld a, [W_PLAYERMOVETYPE] + ld a, [wPlayerMoveType] sub a, FIRE ret nz ; return if type of move used isn't fire ld [wEnemyMonStatus], a ; set opponent status to 00 ["defrost" a frozen monster] @@ -7533,7 +7533,7 @@ CheckDefrost: ; 3f3e2 (f:73e2) ld hl, FireDefrostedText jr .common .opponent - ld a, [W_ENEMYMOVETYPE] ; same as above with addresses swapped + ld a, [wEnemyMoveType] ; same as above with addresses swapped sub a, FIRE ret nz ld [wBattleMonStatus], a @@ -7553,12 +7553,12 @@ FireDefrostedText: ; 3f423 (f:7423) StatModifierUpEffect: ; 3f428 (f:7428) ld hl, wPlayerMonStatMods - ld de, W_PLAYERMOVEEFFECT + ld de, wPlayerMoveEffect ld a, [H_WHOSETURN] and a jr z, .statModifierUpEffect ld hl, wEnemyMonStatMods - ld de, W_ENEMYMOVEEFFECT + ld de, wEnemyMoveEffect .statModifierUpEffect ld a, [de] sub ATTACK_UP1_EFFECT @@ -7660,14 +7660,14 @@ UpdateStatDone: ; 3f4ca (f:74ca) ld b, c inc b call PrintStatText - ld hl, W_PLAYERBATTSTATUS2 - ld de, W_PLAYERMOVENUM + ld hl, wPlayerBattleStatus2 + ld de, wPlayerMoveNum ld bc, wPlayerMonMinimized ld a, [H_WHOSETURN] and a jr z, .asm_3f4e6 - ld hl, W_ENEMYBATTSTATUS2 - ld de, W_ENEMYMOVENUM + ld hl, wEnemyBattleStatus2 + ld de, wEnemyMoveNum ld bc, wEnemyMonMinimized .asm_3f4e6 ld a, [de] @@ -7721,9 +7721,9 @@ MonsStatsRoseText: ; 3f528 (f:7528) ld hl, GreatlyRoseText ld a, [H_WHOSETURN] and a - ld a, [W_PLAYERMOVEEFFECT] + ld a, [wPlayerMoveEffect] jr z, .asm_3f53b - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] .asm_3f53b cp ATTACK_DOWN1_EFFECT ret nc @@ -7740,14 +7740,14 @@ RoseText: ; 3f547 (f:7547) StatModifierDownEffect: ; 3f54c (f:754c) ld hl, wEnemyMonStatMods - ld de, W_PLAYERMOVEEFFECT - ld bc, W_ENEMYBATTSTATUS1 + ld de, wPlayerMoveEffect + ld bc, wEnemyBattleStatus1 ld a, [H_WHOSETURN] and a jr z, .statModifierDownEffect ld hl, wPlayerMonStatMods - ld de, W_ENEMYMOVEEFFECT - ld bc, W_PLAYERBATTSTATUS1 + ld de, wEnemyMoveEffect + ld bc, wPlayerBattleStatus1 ld a, [wLinkState] cp LINK_STATE_BATTLING jr z, .statModifierDownEffect @@ -7774,7 +7774,7 @@ StatModifierDownEffect: ; 3f54c (f:754c) pop bc pop de pop hl - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jp nz, MoveMissed ld a, [bc] @@ -7923,9 +7923,9 @@ MonsStatsFellText: ; 3f661 (f:7661) ld hl, FellText ld a, [H_WHOSETURN] and a - ld a, [W_PLAYERMOVEEFFECT] + ld a, [wPlayerMoveEffect] jr z, .asm_3f674 - ld a, [W_ENEMYMOVEEFFECT] + ld a, [wEnemyMoveEffect] .asm_3f674 cp $1a ret c @@ -7983,13 +7983,13 @@ StatModifierRatios: ; 3f6cb (f:76cb) db 4, 1 ; 4.00 BideEffect: ; 3f6e5 (f:76e5) - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 ld de, wPlayerBideAccumulatedDamage ld bc, wPlayerNumAttacksLeft ld a, [H_WHOSETURN] and a jr z, .bideEffect - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 ld de, wEnemyBideAccumulatedDamage ld bc, wEnemyNumAttacksLeft .bideEffect @@ -7998,8 +7998,8 @@ BideEffect: ; 3f6e5 (f:76e5) ld [de], a inc de ld [de], a - ld [W_PLAYERMOVEEFFECT], a - ld [W_ENEMYMOVEEFFECT], a + ld [wPlayerMoveEffect], a + ld [wEnemyMoveEffect], a call BattleRandom and $1 inc a @@ -8010,12 +8010,12 @@ BideEffect: ; 3f6e5 (f:76e5) jp PlayBattleAnimation2 ThrashPetalDanceEffect: ; 3f717 (f:7717) - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft ld a, [H_WHOSETURN] and a jr z, .thrashPetalDanceEffect - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 ld de, wEnemyNumAttacksLeft .thrashPetalDanceEffect set ThrashingAbout, [hl] ; mon is now using thrash/petal dance @@ -8032,10 +8032,10 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739) ld a, [H_WHOSETURN] and a jr nz, .asm_3f791 - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a jr nz, .asm_3f77e - ld a, [W_CURENEMYLVL] + ld a, [wCurEnemyLVL] ld b, a ld a, [wBattleMonLevel] cp b @@ -8053,7 +8053,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739) jr nc, .asm_3f76e ld c, 50 call DelayFrames - ld a, [W_PLAYERMOVENUM] + ld a, [wPlayerMoveNum] cp TELEPORT jp nz, PrintDidntAffectText jp PrintButItFailedText_ @@ -8063,23 +8063,23 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739) ld [wAnimationType], a inc a ld [wEscapedFromBattle], a - ld a, [W_PLAYERMOVENUM] + ld a, [wPlayerMoveNum] jr .asm_3f7e4 .asm_3f77e ld c, 50 call DelayFrames ld hl, IsUnaffectedText - ld a, [W_PLAYERMOVENUM] + ld a, [wPlayerMoveNum] cp TELEPORT jp nz, PrintText jp PrintButItFailedText_ .asm_3f791 - ld a, [W_ISINBATTLE] + ld a, [wIsInBattle] dec a jr nz, .asm_3f7d1 ld a, [wBattleMonLevel] ld b, a - ld a, [W_CURENEMYLVL] + ld a, [wCurEnemyLVL] cp b jr nc, .asm_3f7c1 add b @@ -8095,7 +8095,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739) jr nc, .asm_3f7c1 ld c, 50 call DelayFrames - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] cp TELEPORT jp nz, PrintDidntAffectText jp PrintButItFailedText_ @@ -8105,13 +8105,13 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739) ld [wAnimationType], a inc a ld [wEscapedFromBattle], a - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] jr .asm_3f7e4 .asm_3f7d1 ld c, 50 call DelayFrames ld hl, IsUnaffectedText - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] cp TELEPORT jp nz, PrintText jp ConditionalPrintButItFailed @@ -8144,24 +8144,24 @@ WasBlownAwayText: ; 3f80c (f:780c) db "@" TwoToFiveAttacksEffect: ; 3f811 (f:7811) - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft ld bc, wPlayerNumHits ld a, [H_WHOSETURN] and a jr z, .twoToFiveAttacksEffect - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 ld de, wEnemyNumAttacksLeft ld bc, wEnemyNumHits .twoToFiveAttacksEffect bit AttackingMultipleTimes, [hl] ; is mon attacking multiple times? ret nz set AttackingMultipleTimes, [hl] ; mon is now attacking multiple times - ld hl, W_PLAYERMOVEEFFECT + ld hl, wPlayerMoveEffect ld a, [H_WHOSETURN] and a jr z, .setNumberOfHits - ld hl, W_ENEMYMOVEEFFECT + ld hl, wEnemyMoveEffect .setNumberOfHits ld a, [hl] cp TWINEEDLE_EFFECT @@ -8191,13 +8191,13 @@ TwoToFiveAttacksEffect: ; 3f811 (f:7811) FlinchSideEffect: ; 3f85b (f:785b) call CheckTargetSubstitute ret nz - ld hl, W_ENEMYBATTSTATUS1 - ld de, W_PLAYERMOVEEFFECT + ld hl, wEnemyBattleStatus1 + ld de, wPlayerMoveEffect ld a, [H_WHOSETURN] and a jr z, .flinchSideEffect - ld hl, W_PLAYERBATTSTATUS1 - ld de, W_ENEMYMOVEEFFECT + ld hl, wPlayerBattleStatus1 + ld de, wEnemyMoveEffect .flinchSideEffect ld a, [de] cp FLINCH_SIDE_EFFECT1 @@ -8216,14 +8216,14 @@ OneHitKOEffect: ; 3f884 (f:7884) jpab OneHitKOEffect_ ChargeEffect: ; 3f88c (f:788c) - ld hl, W_PLAYERBATTSTATUS1 - ld de, W_PLAYERMOVEEFFECT + ld hl, wPlayerBattleStatus1 + ld de, wPlayerMoveEffect ld a, [H_WHOSETURN] and a ld b, XSTATITEM_ANIM jr z, .chargeEffect - ld hl, W_ENEMYBATTSTATUS1 - ld de, W_ENEMYMOVEEFFECT + ld hl, wEnemyBattleStatus1 + ld de, wEnemyMoveEffect ld b, ANIM_AF .chargeEffect set ChargingUp, [hl] @@ -8298,12 +8298,12 @@ DugAHoleText: ; 3f912 (f:7912) db "@" TrappingEffect: ; 3f917 (f:7917) - ld hl, W_PLAYERBATTSTATUS1 + ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft ld a, [H_WHOSETURN] and a jr z, .trappingEffect - ld hl, W_ENEMYBATTSTATUS1 + ld hl, wEnemyBattleStatus1 ld de, wEnemyNumAttacksLeft .trappingEffect bit UsingTrappingMove, [hl] @@ -8341,20 +8341,20 @@ ConfusionEffect: ; 3f961 (f:7961) call CheckTargetSubstitute jr nz, ConfusionEffectFailed call MoveHitTest - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jr nz, ConfusionEffectFailed ConfusionSideEffectSuccess: ; 3f96f (f:796f) ld a, [H_WHOSETURN] and a - ld hl, W_ENEMYBATTSTATUS1 - ld bc, W_ENEMYCONFUSEDCOUNTER - ld a, [W_PLAYERMOVEEFFECT] + ld hl, wEnemyBattleStatus1 + ld bc, wEnemyConfusedCounter + ld a, [wPlayerMoveEffect] jr z, .confuseTarget - ld hl, W_PLAYERBATTSTATUS1 - ld bc, W_PLAYERCONFUSEDCOUNTER - ld a, [W_ENEMYMOVEEFFECT] + ld hl, wPlayerBattleStatus1 + ld bc, wPlayerConfusedCounter + ld a, [wEnemyMoveEffect] .confuseTarget bit Confused, [hl] ; is mon confused? jr nz, ConfusionEffectFailed @@ -8389,33 +8389,33 @@ SubstituteEffect: ; 3f9b9 (f:79b9) jpab SubstituteEffect_ HyperBeamEffect: ; 3f9c1 (f:79c1) - ld hl, W_PLAYERBATTSTATUS2 + ld hl, wPlayerBattleStatus2 ld a, [H_WHOSETURN] and a jr z, .hyperBeamEffect - ld hl, W_ENEMYBATTSTATUS2 + ld hl, wEnemyBattleStatus2 .hyperBeamEffect set NeedsToRecharge, [hl] ; mon now needs to recharge ret ClearHyperBeam: ; 3f9cf (f:79cf) push hl - ld hl, W_ENEMYBATTSTATUS2 + ld hl, wEnemyBattleStatus2 ld a, [H_WHOSETURN] and a jr z, .asm_3f9db - ld hl, W_PLAYERBATTSTATUS2 + ld hl, wPlayerBattleStatus2 .asm_3f9db res NeedsToRecharge, [hl] ; mon no longer needs to recharge pop hl ret RageEffect: ; 3f9df (f:79df) - ld hl, W_PLAYERBATTSTATUS2 + ld hl, wPlayerBattleStatus2 ld a, [H_WHOSETURN] and a jr z, .player - ld hl, W_ENEMYBATTSTATUS2 + ld hl, wEnemyBattleStatus2 .player set UsingRage, [hl] ; mon is now in "rage" mode ret @@ -8424,19 +8424,19 @@ MimicEffect: ; 3f9ed (f:79ed) ld c, 50 call DelayFrames call MoveHitTest - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jr nz, .asm_3fa74 ld a, [H_WHOSETURN] and a ld hl, wBattleMonMoves - ld a, [W_PLAYERBATTSTATUS1] + ld a, [wPlayerBattleStatus1] jr nz, .asm_3fa13 ld a, [wLinkState] cp LINK_STATE_BATTLING jr nz, .asm_3fa3a ld hl, wEnemyMonMoves - ld a, [W_ENEMYBATTSTATUS1] + ld a, [wEnemyBattleStatus1] .asm_3fa13 bit Invulnerable, a jr nz, .asm_3fa74 @@ -8461,7 +8461,7 @@ MimicEffect: ; 3f9ed (f:79ed) ld a, [wEnemyMoveListIndex] jr .asm_3fa5f .asm_3fa3a - ld a, [W_ENEMYBATTSTATUS1] + ld a, [wEnemyBattleStatus1] bit Invulnerable, a jr nz, .asm_3fa74 ld a, [wCurrentMenuItem] @@ -8505,15 +8505,15 @@ SplashEffect: ; 3fa84 (f:7a84) DisableEffect: ; 3fa8a (f:7a8a) call MoveHitTest - ld a, [W_MOVEMISSED] + ld a, [wMoveMissed] and a jr nz, .moveMissed - ld de, W_ENEMYDISABLEDMOVE + ld de, wEnemyDisabledMove ld hl, wEnemyMonMoves ld a, [H_WHOSETURN] and a jr z, .disableEffect - ld de, W_PLAYERDISABLEDMOVE + ld de, wPlayerDisabledMove ld hl, wBattleMonMoves .disableEffect ; no effect if target already has a move disabled @@ -8567,7 +8567,7 @@ DisableEffect: ; 3fa8a (f:7a8a) inc a ; 1-8 turns disabled inc c ; move 1-4 will be disabled swap c - add c ; map disabled move to high nibble of W_ENEMYDISABLEDMOVE / W_PLAYERDISABLEDMOVE + add c ; map disabled move to high nibble of wEnemyDisabledMove / wPlayerDisabledMove ld [de], a call PlayCurrentMoveAnimation2 ld hl, wPlayerDisabledMoveNumber @@ -8655,11 +8655,11 @@ ParalyzedMayNotAttackText: ; 3fb74 (f:7b74) CheckTargetSubstitute: ; 3fb79 (f:7b79) push hl - ld hl, W_ENEMYBATTSTATUS2 + ld hl, wEnemyBattleStatus2 ld a, [H_WHOSETURN] and a jr z, .next1 - ld hl, W_PLAYERBATTSTATUS2 + ld hl, wPlayerBattleStatus2 .next1 bit HasSubstituteUp, [hl] pop hl @@ -8670,16 +8670,16 @@ PlayCurrentMoveAnimation2: ; 3fb89 (f:7b89) ; plays wAnimationType 3 or 6 ld a, [H_WHOSETURN] and a - ld a, [W_PLAYERMOVENUM] + ld a, [wPlayerMoveNum] jr z, .notEnemyTurn - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] .notEnemyTurn and a ret z PlayBattleAnimation2: ; 3fb96 (f:7b96) ; play animation ID at a and animation type 6 or 3 - ld [W_ANIMATIONID], a + ld [wAnimationID], a ld a, [H_WHOSETURN] and a ld a, $6 @@ -8696,19 +8696,19 @@ PlayCurrentMoveAnimation: ; 3fba8 (f:7ba8) ld [wAnimationType], a ld a, [H_WHOSETURN] and a - ld a, [W_PLAYERMOVENUM] + ld a, [wPlayerMoveNum] jr z, .notEnemyTurn - ld a, [W_ENEMYMOVENUM] + ld a, [wEnemyMoveNum] .notEnemyTurn and a ret z PlayBattleAnimation: ; 3fbb9 (f:7bb9) ; play animation ID at a and predefined animation type - ld [W_ANIMATIONID], a + ld [wAnimationID], a PlayBattleAnimationGotID: ; 3fbbc (f:7bbc) -; play animation at W_ANIMATIONID +; play animation at wAnimationID push hl push de push bc |