diff options
Diffstat (limited to 'battle/core.asm')
-rw-r--r-- | battle/core.asm | 102 |
1 files changed, 9 insertions, 93 deletions
diff --git a/battle/core.asm b/battle/core.asm index 1abecba4c..ee362be41 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -116,8 +116,6 @@ DoBattle: ; 3c000 jp BattleMenu ; 3c0e5 - - WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5 call Call_LoadTempTileMapToTileMap ld a, [wBattleResult] @@ -160,7 +158,6 @@ WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5 ret ; 3c12f - BattleTurn: ; 3c12f .loop call MobileFn_3c1bf @@ -252,7 +249,6 @@ MobileFn_3c1bf: mobile ret ; 3c1d6 - HandleBetweenTurnEffects: ; 3c1d6 ld a, [hLinkPlayerNumber] cp $1 @@ -769,7 +765,6 @@ HandleEncore: ; 3c4df jp StdBattleTextBox ; 3c543 - TryEnemyFlee: ; 3c543 ld a, [wBattleMode] dec a @@ -861,7 +856,6 @@ AlwaysFleeMons: ; 3c5b1 db -1 ; 3c5b4 - CompareMovePriority: ; 3c5b4 ; Compare the priority of the player and enemy's moves. ; Return carry if the player goes first, or z if they match. @@ -915,7 +909,6 @@ MoveEffectPriorities: ; 3c5df db -1 ; 3c5ec - GetMoveEffect: ; 3c5ec ld a, b dec a @@ -928,7 +921,6 @@ GetMoveEffect: ; 3c5ec ret ; 3c5fe - Battle_EnemyFirst: ; 3c5fe call LoadTileMapToTempTileMap call TryEnemyFlee @@ -1695,7 +1687,6 @@ HandleSafeguard: ; 3cafb ld hl, BattleText_SafeguardFaded jp StdBattleTextBox - HandleScreens: ; 3cb36 ld a, [hLinkPlayerNumber] cp 1 @@ -1739,7 +1730,6 @@ HandleScreens: ; 3cb36 db "Enemy@" ; 3cb80 - .LightScreenTick: ; 3cb80 ld a, [de] dec a @@ -1878,7 +1868,6 @@ SubtractHPFromUser: ; 3cc3f jp UpdateHPBarBattleHuds ; 3cc45 - SubtractHP: ; 3cc45 ld hl, BattleMonHP ld a, [hBattleTurn] @@ -1925,7 +1914,6 @@ GetSixteenthMaxHP: ; 3cc76 ret ; 3cc83 - GetEighthMaxHP: ; 3cc83 ; output: bc call GetQuarterMaxHP @@ -1941,7 +1929,6 @@ GetEighthMaxHP: ; 3cc83 ret ; 3cc8e - GetQuarterMaxHP: ; 3cc8e ; output: bc call GetMaxHP @@ -1962,7 +1949,6 @@ GetQuarterMaxHP: ; 3cc8e ret ; 3cc9f - GetHalfMaxHP: ; 3cc9f ; output: bc call GetMaxHP @@ -1980,7 +1966,6 @@ GetHalfMaxHP: ; 3cc9f ret ; 3ccac - GetMaxHP: ; 3ccac ; output: bc, Buffer1-2 @@ -2036,7 +2021,6 @@ CheckUserHasEnoughHP: ; 3ccde ret ; 3ccef - RestoreHP ; 3ccef ld hl, EnemyMonMaxHP ld a, [hBattleTurn] @@ -2349,8 +2333,6 @@ IsAnyMonHoldingExpShare: ; 3ceaa ret ; 3ceec - - StopDangerSound: ; 3ceec xor a ld [Danger], a @@ -2622,7 +2604,6 @@ WinTrainerBattle: ; 3cfa4 dw SentAllToMomText ; 3d0b1 - .CheckMaxedOutMomMoney: ; 3d0b1 ld hl, wMomsMoney + 2 ld a, [hld] @@ -2705,8 +2686,6 @@ PlayVictoryMusic: ; 3d0ea ret ; 3d123 - - ; These functions check if the current opponent is a gym leader or one of a ; few other special trainers. @@ -2760,7 +2739,6 @@ KantoGymLeaders: db BLUE db -1 - HandlePlayerMonFaint: ; 3d14e call FaintYourPokemon ld hl, EnemyMonHP @@ -2961,7 +2939,6 @@ PlayerPartyMonEntrance: ; 3d2b3 jp SpikesDamage ; 3d2e0 - CheckMobileBattleError: ; 3d2e0 ld a, [wLinkMode] cp LINK_MOBILE @@ -3060,7 +3037,6 @@ ForcePickPartyMonInBattle: ; 3d362 jr .pick ; 3d375 - PickSwitchMonInBattle: ; 3d375 .pick call PickPartyMonInBattle @@ -3085,7 +3061,6 @@ ForcePickSwitchMonInBattle: ; 3d380 ret ; 3d38e - LostBattle: ; 3d38e ld a, 1 ld [BattleEnded], a @@ -3182,7 +3157,6 @@ LostBattle: ; 3d38e ret ; 3d432 - EnemyMonFaintedAnimation: ; 3d432 hlcoord 12, 5 decoord 12, 6 @@ -3250,7 +3224,6 @@ MonFaintedAnimation: ; 3d444 db " @" ; 3d490 - SlideBattlePicOut: ; 3d490 ld [hMapObjectIndexBuffer], a ld c, a @@ -3297,7 +3270,6 @@ SlideBattlePicOut: ; 3d490 ret ; 3d4c3 - ForceEnemySwitch: ; 3d4c3 call ResetEnemyBattleVars ld a, [wEnemySwitchMonIndex] @@ -3313,7 +3285,6 @@ ForceEnemySwitch: ; 3d4c3 ret ; 3d4e1 - EnemySwitch: ; 3d4e1 call CheckWhetherToAskSwitch jr nc, EnemySwitch_SetMode @@ -3846,7 +3817,6 @@ CheckPlayerPartyForFitPkmn: ; 3d873 ret ; 3d887 - CheckIfCurPartyMonIsFitToFight: ; 3d887 ld a, [CurPartyMon] ld hl, PartyMon1HP @@ -3878,7 +3848,6 @@ CheckIfCurPartyMonIsFitToFight: ; 3d887 ret ; 3d8b3 - TryToRunAwayFromBattle: ; 3d8b3 ; Run away from battle, with or without item ld a, [BattleType] @@ -4068,7 +4037,6 @@ TryToRunAwayFromBattle: ; 3d8b3 ret ; 3da0d - InitBattleMon: ; 3da0d ld a, MON_SPECIES call GetPartyParamLocation @@ -4159,7 +4127,6 @@ ResetPlayerStatLevels: ; 3dab1 ret ; 3dabd - InitEnemyMon: ; 3dabd ld a, [CurPartyMon] ld hl, OTPartyMon1Species @@ -4213,7 +4180,6 @@ InitEnemyMon: ; 3dabd ret ; 3db32 - SwitchPlayerMon: ; 3db32 call ClearSprites ld a, [CurBattleMon] @@ -4234,7 +4200,6 @@ SwitchPlayerMon: ; 3db32 ret ; 3db5f - SendOutPlayerMon: ; 3db5f ld hl, BattleMonDVs predef GetUnownLetter @@ -4580,7 +4545,6 @@ UseOpponentItem: jp StdBattleTextBox ; 3ddc8 - ItemRecoveryAnim: ; 3ddc8 push hl push de @@ -4665,7 +4629,6 @@ UseHeldStatusHealingItem: ; 3dde9 db $ff ; 3de51 - UseConfusionHealingItem: ; 3de51 ld a, BATTLE_VARS_SUBSTATUS3_OPP call GetBattleVar @@ -4790,7 +4753,6 @@ HandleStatBoostingHeldItems: ; 3de97 db $ff ; 3df12 - GetPartymonItem: ; 3df12 ld hl, PartyMon1Item ld a, [CurBattleMon] @@ -4824,8 +4786,6 @@ UpdateBattleHUDs: ; 3df2c ret ; 3df48 - - UpdatePlayerHUD:: ; 3df48 push hl push de @@ -5383,35 +5343,42 @@ BattleMenuPKMN_Loop: Battle_StatsScreen: ; 3e308 call DisableLCD + ld hl, VTiles2 tile $31 ld de, VTiles0 - ld bc, $0110 + ld bc, $11 tiles call CopyBytes + ld hl, VTiles2 ld de, VTiles0 tile $11 ld bc, $31 tiles call CopyBytes + call EnableLCD + call ClearSprites call LowVolume xor a ; PARTYMON ld [MonType], a callba BattleStatsScreenInit call MaxVolume + call DisableLCD + ld hl, VTiles0 ld de, VTiles2 tile $31 ld bc, $11 tiles call CopyBytes + ld hl, VTiles0 tile $11 ld de, VTiles2 ld bc, $31 tiles call CopyBytes + call EnableLCD ret ; 3e358 - TryPlayerSwitch: ; 3e358 ld a, [CurBattleMon] ld d, a @@ -5566,7 +5533,6 @@ PassedBattleMonEntrance: ; 3e459 jp SpikesDamage ; 3e489 - BattleMenu_Run: ; 3e489 call Call_LoadTempTileMapToTileMap ld a, $3 @@ -5583,7 +5549,6 @@ BattleMenu_Run: ; 3e489 jp BattleMenu ; 3e4a8 - CheckAmuletCoin: ; 3e4a8 ld a, [BattleMonItem] ld b, a @@ -5990,7 +5955,6 @@ MoveInfoBox: ; 3e6c8 db "TYPE/@" ; 3e75f - .PrintPP: ; 3e75f hlcoord 5, 11 ld a, [wLinkMode] ; What's the point of this check? @@ -6060,8 +6024,6 @@ CheckPlayerHasUsableMoves: ; 3e786 ret ; 3e7c1 - - ParseEnemyAction: ; 3e7c1 ld a, [wEnemyIsSwitching] and a @@ -6242,7 +6204,6 @@ LinkBattleSendReceiveAction: ; 3e8e4 ret ; 3e8eb - LoadEnemyMon: ; 3e8eb ; Initialize enemy monster parameters ; To do this we pull the species from TempEnemyMonSpecies @@ -6275,7 +6236,6 @@ LoadEnemyMon: ; 3e8eb ; Grab the BaseData for this species call GetBaseData - ; Let's get the item: ; Is the item predetermined? @@ -6290,7 +6250,6 @@ LoadEnemyMon: ; 3e8eb ld a, [hl] jr .UpdateItem - .WildItem: ; In a wild battle, we pull from the item slots in BaseData @@ -6320,11 +6279,9 @@ LoadEnemyMon: ; 3e8eb jr nc, .UpdateItem ld a, [BaseItems+1] - .UpdateItem: ld [EnemyMonItem], a - ; Initialize DVs ; If we're in a trainer battle, DVs are predetermined @@ -6346,7 +6303,6 @@ LoadEnemyMon: ; 3e8eb ld [de], a jp .Happiness - .InitDVs: ; Trainer DVs @@ -6359,7 +6315,6 @@ LoadEnemyMon: ; 3e8eb dec a jr nz, .UpdateDVs - ; Wild DVs ; Here's where the fun starts @@ -6402,7 +6357,6 @@ LoadEnemyMon: ; 3e8eb ; We're done with DVs jr .UpdateDVs - .NotRoaming: ; Register a contains BattleType @@ -6429,16 +6383,13 @@ LoadEnemyMon: ; 3e8eb ld [hli], a ld [hl], c - ; We've still got more to do if we're dealing with a wild monster ld a, [wBattleMode] dec a jr nz, .Happiness - ; Species-specfic: - ; Unown ld a, [TempEnemyMonSpecies] cp a, UNOWN @@ -6452,7 +6403,6 @@ LoadEnemyMon: ; 3e8eb call CheckUnownLetter jr c, .GenerateDVs ; try again - .Magikarp: ; Skimming this part recommended @@ -6513,7 +6463,6 @@ LoadEnemyMon: ; 3e8eb cp a, 1024 >> 8 jr c, .GenerateDVs ; try again - ; Finally done with DVs .Happiness: @@ -6588,7 +6537,6 @@ LoadEnemyMon: ; 3e8eb ld [hl], a jr .Moves - .OpponentParty: ; Get HP from the party struct ld hl, (OTPartyMon1HP + 1) @@ -6608,7 +6556,6 @@ LoadEnemyMon: ; 3e8eb ld a, [hl] ; OTPartyMonStatus ld [EnemyMonStatus], a - .Moves: ld hl, BaseType1 ld de, EnemyMonType1 @@ -6718,7 +6665,6 @@ LoadEnemyMon: ; 3e8eb ret ; 3eb38 - CheckSleepingTreeMon: ; 3eb38 ; Return carry if species is in the list ; for the current time of day @@ -6779,7 +6725,6 @@ CheckSleepingTreeMon: ; 3eb38 db -1 ; end ; 3eb75 - CheckUnownLetter: ; 3eb75 ; Return carry if the Unown letter hasn't been unlocked yet @@ -6848,7 +6793,6 @@ CheckUnownLetter: ; 3eb75 ; 3ebc7 - SwapBattlerLevels: ; 3ebc7 ; unreferenced push bc @@ -6924,7 +6868,6 @@ BattleWinSlideInEnemyTrainerFrontpic: ; 3ebd8 ret ; 3ec2c - ApplyStatusEffectOnPlayerStats: ; 3ec2c ld a, 1 jr ApplyStatusEffectOnStats @@ -7143,7 +7086,6 @@ ApplyStatLevelMultiplier: ; 3ecb7 db 4, 1 ; 400% ; 3ed45 - BadgeStatBoosts: ; 3ed45 ; Raise BattleMon stats depending on which badges have been obtained. @@ -7202,7 +7144,6 @@ BadgeStatBoosts: ; 3ed45 ret ; 3ed7c - BoostStat: ; 3ed7c ; Raise stat at hl by 1/8. @@ -7235,7 +7176,6 @@ BoostStat: ; 3ed7c ret ; 3ed9f - _LoadBattleFontsHPBar: ; 3ed9f callab LoadBattleFontsHPBar ret @@ -7246,7 +7186,6 @@ _LoadHPBar: ; 3eda6 ret ; 3edad - LoadHPExpBarGFX: ; unreferenced ld de, EnemyHPBarBorderGFX ld hl, VTiles2 tile $6c @@ -7262,7 +7201,6 @@ LoadHPExpBarGFX: ; unreferenced jp Get2bpp ; 3edd1 - EmptyBattleTextBox: ; 3edd1 ld hl, .empty jp BattleTextBox @@ -7270,7 +7208,6 @@ EmptyBattleTextBox: ; 3edd1 db "@" ; 3edd8 - _BattleRandom:: ; 3edd8 ; If the normal RNG is used in a link battle it'll desync. ; To circumvent this a shared PRNG is used instead. @@ -7340,7 +7277,6 @@ _BattleRandom:: ; 3edd8 ret ; 3ee0f - Call_PlayBattleAnim_OnlyIfVisible: ; 3ee0f ld a, BATTLE_VARS_SUBSTATUS3 call GetBattleVar @@ -7373,7 +7309,6 @@ FinishBattleAnim: ; 3ee27 ret ; 3ee3b - GiveExperiencePoints: ; 3ee3b ; Give experience. ; Don't give experience if linked or in the Battle Tower. @@ -7832,7 +7767,6 @@ TextJump_StringBuffer2ExpPoints: ; 3f131 db "@" ; 3f136 - AnimateExpBar: ; 3f136 push bc @@ -8019,8 +7953,6 @@ AnimateExpBar: ; 3f136 ld [hBGMapMode], a ret - - SendOutPkmnText: ; 3f26d ld a, [wLinkMode] and a @@ -8083,7 +8015,6 @@ SendOutPkmnText: ; 3f26d jp BattleTextBox ; 3f2d1 - JumpText_GoPkmn: ; 3f2d1 text_jump Text_GoPkmn start_asm @@ -8197,7 +8128,6 @@ TextJump_ComeBack: ; 3f35b db "@" ; 3f360 - HandleSafariAngerEatingStatus: ; unreferenced ld hl, wSafariMonEating ld a, [hl] @@ -8230,7 +8160,6 @@ HandleSafariAngerEatingStatus: ; unreferenced jp StdBattleTextBox ; 3f390 - FillInExpBar: ; 3f390 push hl call CalcExpBar @@ -8447,7 +8376,6 @@ GetFrontpic_DoAnim: ; 3f4b4 ret ; 3f4c1 - StartBattle: ; 3f4c1 ; This check prevents you from entering a battle without any Pokemon. ; Those using walk-through-walls to bypass getting a Pokemon experience @@ -8467,14 +8395,12 @@ StartBattle: ; 3f4c1 ret ; 3f4d9 - _DoBattle: ; 3f4d9 ; unreferenced call DoBattle ret ; 3f4dd - BattleIntro: ; 3f4dd callba MobileFn_106050 ; mobile call LoadTrainerOrWildMonPic @@ -8702,7 +8628,6 @@ Function3f662: ; 3f662 ret ; 3f69e - ExitBattle: ; 3f69e call .HandleEndOfBattle call CleanUpBattleRAM @@ -8881,7 +8806,6 @@ DetermineMobileBattleResult: ; 3f77c db " DRAW@" ; 3f80f - .Mobile_InvalidBattle: ; 3f80f hlcoord 6, 8 ld de, .Invalid @@ -8896,14 +8820,12 @@ DetermineMobileBattleResult: ; 3f77c db "INVALID BATTLE@" ; 3f830 - IsMobileBattle2: ; 3f830 ld a, [wLinkMode] cp LINK_MOBILE ret ; 3f836 - DisplayLinkRecord: ; 3f836 ld a, BANK(sLinkBattleStats) call GetSRAMBank @@ -8925,7 +8847,6 @@ DisplayLinkRecord: ; 3f836 ret ; 3f85f - ReadAndPrintLinkBattleRecord: ; 3f85f call ClearTileMap call ClearSprites @@ -9060,7 +8981,6 @@ ReadAndPrintLinkBattleRecord: ; 3f85f db "TOTAL WIN LOSE DRAW@" ; 3f998 - BattleEnd_HandleRoamMons: ; 3f998 ld a, [BattleType] cp BATTLETYPE_ROAMING @@ -9168,7 +9088,6 @@ GetRoamMonSpecies: ; 3fa31 ret ; 3fa42 - AddLastMobileBattleToLinkRecord: ; 3fa42 ld hl, OTPlayerID ld de, StringBuffer1 @@ -9449,7 +9368,6 @@ InitBattleDisplay: ; 3fb6c ret ; 3fbff - GetTrainerBackpic: ; 3fbff ; Load the player character's backpic (6x6) into VRAM starting from VTiles2 tile $31. @@ -9484,7 +9402,6 @@ GetTrainerBackpic: ; 3fbff ret ; 3fc30 - CopyBackpic: ; 3fc30 ld a, [rSVBK] push af @@ -9543,7 +9460,6 @@ CopyBackpic: ; 3fc30 ret ; 3fc8b - BattleStartMessage: ; 3fc8b ld a, [wBattleMode] dec a |