diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-06 09:04:27 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-06 09:04:27 -0500 |
commit | f0830f084f74a9187dd71b64ad77db400d541f2d (patch) | |
tree | 4fa732f7c81a40c01411ae4e1a991b02caf0fe0a /battle/core.asm | |
parent | 5eed48f05d3634146deb2442cd8f62bbad0ae352 (diff) |
BATTLEACTION constants
Diffstat (limited to 'battle/core.asm')
-rw-r--r-- | battle/core.asm | 362 |
1 files changed, 181 insertions, 181 deletions
diff --git a/battle/core.asm b/battle/core.asm index 2497a97cf..630e667d8 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -12,31 +12,31 @@ Function3c000: ; 3c000 inc a ld [wd264], a ld hl, OTPartyMon1HP - ld bc, OTPartyMon2 - (OTPartyMon1 + 1) - ld d, NUM_MOVES - 1 -.asm_3c019 + ld bc, PARTYMON_STRUCT_LENGTH - 1 + ld d, BATTLEACTION_SWITCH1 - 1 +.loop inc d ld a, [hli] or [hl] - jr nz, .asm_3c021 + jr nz, .alive add hl, bc - jr .asm_3c019 + jr .loop -.asm_3c021 +.alive ld a, d ld [wBattleAction], a ld a, [wLinkMode] and a - jr z, .asm_3c031 + jr z, .not_linked - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $2 - jr z, .asm_3c04c + jr z, .player_2 -.asm_3c031 +.not_linked ld a, [wBattleMode] dec a - jr z, .asm_3c047 + jr z, .wild xor a ld [wc718], a call NewEnemyMonStatus @@ -44,11 +44,11 @@ Function3c000: ; 3c000 call BreakAttraction call Function3d4e1 -.asm_3c047 +.wild ld c, 40 call DelayFrames -.asm_3c04c +.player_2 call LoadTileMapToTempTileMap call CheckPlayerPartyForFitPkmn ld a, d @@ -57,19 +57,19 @@ Function3c000: ; 3c000 call Call_LoadTempTileMapToTileMap ld a, [BattleType] cp BATTLETYPE_DEBUG - jp z, .asm_3c0e2 + jp z, .tutorial_debug cp BATTLETYPE_TUTORIAL - jp z, .asm_3c0e2 + jp z, .tutorial_debug xor a ld [CurPartyMon], a -.asm_3c06b +.loop2 call CheckIfPartyHasPkmnToBattleWith - jr nz, .asm_3c076 + jr nz, .alive2 ld hl, CurPartyMon inc [hl] - jr .asm_3c06b + jr .loop2 -.asm_3c076 +.alive2 ld a, [CurBattleMon] ld [LastPlayerMon], a ld a, [CurPartyMon] @@ -99,10 +99,10 @@ Function3c000: ; 3c000 call SpikesDamage ld a, [wLinkMode] and a - jr z, .asm_3c0df - ld a, [$ffcb] + jr z, .not_linked_2 + ld a, [hLinkPlayerNumber] cp $2 - jr nz, .asm_3c0df + jr nz, .not_linked_2 xor a ld [wc718], a call NewEnemyMonStatus @@ -112,10 +112,10 @@ Function3c000: ; 3c000 call SetEnemyTurn call SpikesDamage -.asm_3c0df +.not_linked_2 jp Function3c12f -.asm_3c0e2 +.tutorial_debug jp BattleMenu ; 3c0e5 @@ -209,7 +209,7 @@ Function3c12f: ; 3c12f call Function3c300 jr c, .quit - call Function3c314 + call DetermineMoveOrder jr c, .asm_3c19e call Function3c5fe jr .asm_3c1a1 @@ -262,7 +262,7 @@ Function3c1c0: ; 3c1c0 Function3c1d6: ; 3c1d6 - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .CheckEnemyFirst call CheckFaint_PlayerThenEnemy @@ -361,7 +361,7 @@ CheckFaint_EnemyThenPlayer: ; 3c25c ; 3c27c Function3c27c: ; 3c27c - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .reverse @@ -440,66 +440,66 @@ Function3c27c: ; 3c27c Function3c300: ; 3c300 ld a, [wLinkMode] and a - jr z, .asm_3c30d + jr z, .not_linked ld a, [wBattleAction] - cp $f - jr z, .asm_3c30f + cp BATTLEACTION_FORFEIT + jr z, .forfeit -.asm_3c30d +.not_linked and a ret -.asm_3c30f +.forfeit call WildFled_EnemyFled_LinkBattleCanceled scf ret ; 3c314 -Function3c314: ; 3c314 +DetermineMoveOrder: ; 3c314 ld a, [wLinkMode] and a - jr z, .skip_ai + jr z, .use_move ld a, [wBattleAction] - cp $e - jr z, .skip_ai - cp $d - jr z, .skip_ai - sub NUM_MOVES - jr c, .skip_ai + cp BATTLEACTION_E + jr z, .use_move + cp BATTLEACTION_D + jr z, .use_move + sub BATTLEACTION_SWITCH1 + jr c, .use_move ld a, [wd0ec] cp $2 jr nz, .switch - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $2 - jr z, .asm_3c341 + jr z, .player_2 call BattleRandom cp 1 + (50 percent) - jp c, .done - jp Function3c3f3 + jp c, .player_first + jp .enemy_first -.asm_3c341 +.player_2 call BattleRandom cp 1 + (50 percent) - jp c, Function3c3f3 - jp .done + jp c, .enemy_first + jp .player_first .switch callab AI_Switch call SetEnemyTurn call SpikesDamage - jp Function3c3f3 + jp .enemy_first -.skip_ai +.use_move ld a, [wd0ec] and a - jp nz, .done + jp nz, .player_first call CompareMovePriority - jr z, .asm_3c36d - jp c, .done - jp Function3c3f3 + jr z, .equal_priority + jp c, .player_first ; player goes first + jp .enemy_first -.asm_3c36d +.equal_priority call SetPlayerTurn callab GetUserItem push bc @@ -507,73 +507,73 @@ Function3c314: ; 3c314 pop de ld a, d cp HELD_QUICK_CLAW - jr nz, .asm_3c391 + jr nz, .player_no_quick_claw ld a, b cp HELD_QUICK_CLAW - jr z, .asm_3c39f + jr z, .both_have_quick_claw call BattleRandom cp e - jr nc, .asm_3c3c5 - jp .done + jr nc, .speed_check + jp .player_first -.asm_3c391 +.player_no_quick_claw ld a, b cp HELD_QUICK_CLAW - jr nz, .asm_3c3c5 + jr nz, .speed_check call BattleRandom cp c - jr nc, .asm_3c3c5 - jp Function3c3f3 + jr nc, .speed_check + jp .enemy_first -.asm_3c39f - ld a, [$ffcb] +.both_have_quick_claw + ld a, [hLinkPlayerNumber] cp $2 - jr z, .asm_3c3b5 + jr z, .player_2b call BattleRandom cp c - jp c, Function3c3f3 + jp c, .enemy_first call BattleRandom cp e - jp c, .done - jr .asm_3c3c5 + jp c, .player_first + jr .speed_check -.asm_3c3b5 +.player_2b call BattleRandom cp e - jp c, .done + jp c, .player_first call BattleRandom cp c - jp c, Function3c3f3 - jr .asm_3c3c5 + jp c, .enemy_first + jr .speed_check -.asm_3c3c5 +.speed_check ld de, BattleMonSpeed ld hl, EnemyMonSpeed - ld c, $2 + ld c, 2 call StringCmp - jr z, .asm_3c3d8 - jp nc, .done - jp Function3c3f3 + jr z, .speed_tie + jp nc, .player_first + jp .enemy_first -.asm_3c3d8 - ld a, [$ffcb] +.speed_tie + ld a, [hLinkPlayerNumber] cp $2 - jr z, .asm_3c3e9 + jr z, .player_2c call BattleRandom cp 1 + (50 percent) - jp c, .done - jp Function3c3f3 + jp c, .player_first + jp .enemy_first -.asm_3c3e9 +.player_2c call BattleRandom cp 1 + (50 percent) - jp c, Function3c3f3 -.done + jp c, .enemy_first +.player_first scf ret ; 3c3f3 -Function3c3f3: ; 3c3f3 +.enemy_first: ; 3c3f3 and a ret ; 3c3f5 @@ -720,7 +720,7 @@ Function3c434: ; 3c434 ; 3c4df Function3c4df: ; 3c4df - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3c4ea call .asm_3c4ed @@ -1218,7 +1218,7 @@ ResidualDamage: ; 3c716 ; 3c801 Function3c801: ; 3c801 - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3c813 call SetPlayerTurn @@ -1286,7 +1286,7 @@ Function3c801: ; 3c801 ; 3c874 Function3c874: ; 3c874 - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3c886 call SetPlayerTurn @@ -1353,7 +1353,7 @@ SwitchTurnCore: ; 3c8e4 ; 3c8eb Function3c8eb: ; 3c8eb - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3c8fd call SetPlayerTurn @@ -1400,7 +1400,7 @@ Function3c8eb: ; 3c8eb ; 3c93c Function3c93c: ; 3c93c - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3c94e call SetPlayerTurn @@ -1538,7 +1538,7 @@ Function3c93c: ; 3c93c ; 3ca26 Function3ca26: ; 3ca26 - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3ca38 call SetPlayerTurn @@ -1596,7 +1596,7 @@ Function3ca26: ; 3ca26 ; 3ca8f HanleDefrost: ; 3ca8f - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3ca9a call .asm_3ca9d @@ -1654,7 +1654,7 @@ HanleDefrost: ; 3ca8f ; 3cafb HandleSafeguard: ; 3cafb - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3cb06 call .asm_3cb09 @@ -1692,7 +1692,7 @@ HandleSafeguard: ; 3cafb HandleScreens: ; 3cb36 - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp 1 jr z, .Both call .CheckPlayer @@ -1777,7 +1777,7 @@ HandleWeather: ; 3cb9e cp WEATHER_SANDSTORM ret nz - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp 1 jr z, .enemy_first @@ -2168,7 +2168,7 @@ HandleEnemyMonFaint: ; 3cd55 ; 3cdca Function3cdca: ; 3cdca - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 jr z, .asm_3cde6 call ClearSprites @@ -2408,16 +2408,16 @@ Function3cf4a: ; 3cf4a callba Function2c012 ld a, [wLinkMode] and a - jr z, .asm_3cf6d + jr z, .not_linked call Function3e8e4 ld a, [wBattleAction] - cp $f + cp BATTLEACTION_FORFEIT ret z call Call_LoadTempTileMapToTileMap -.asm_3cf6d +.not_linked ld hl, BattleMonHP ld a, [hli] or [hl] @@ -3355,32 +3355,32 @@ Function3d533: ; 3d533 ; returns carry if: ??? ld a, [wLinkMode] and a - jr z, .asm_3d541 + jr z, .not_linked ld a, [wBattleAction] - sub NUM_MOVES + sub BATTLEACTION_SWITCH1 ld b, a - jr .asm_3d555 + jr .return_carry -.asm_3d541 +.not_linked ld a, [wc718] and a - jr z, .asm_3d54b + jr z, .check_wd264 dec a ld b, a - jr .asm_3d555 + jr .return_carry -.asm_3d54b +.check_wd264 ld a, [wd264] and a ld b, $0 - jr nz, .asm_3d555 + jr nz, .return_carry and a ret -.asm_3d555 +.return_carry scf ret ; 3d557 @@ -3876,33 +3876,33 @@ TryToRunAwayFromBattle: ; 3d8b3 ; Run away from battle, with or without item ld a, [BattleType] cp BATTLETYPE_DEBUG - jp z, .asm_3d9a2 + jp z, .can_escape cp BATTLETYPE_CONTEST - jp z, .asm_3d9a2 + jp z, .can_escape cp BATTLETYPE_TRAP - jp z, .asm_3d98d + jp z, .cant_escape cp BATTLETYPE_CELEBI - jp z, .asm_3d98d + jp z, .cant_escape cp BATTLETYPE_SHINY - jp z, .asm_3d98d + jp z, .cant_escape cp BATTLETYPE_SUICUNE - jp z, .asm_3d98d + jp z, .cant_escape ld a, [wLinkMode] and a - jp nz, .asm_3d9a2 + jp nz, .can_escape ld a, [wBattleMode] dec a - jp nz, .asm_3d992 + jp nz, .cant_run_from_trainer ld a, [EnemySubStatus5] bit SUBSTATUS_CANT_RUN, a - jp nz, .asm_3d98d + jp nz, .cant_escape ld a, [wc730] and a - jp nz, .asm_3d98d + jp nz, .cant_escape push hl push de @@ -3914,15 +3914,15 @@ TryToRunAwayFromBattle: ; 3d8b3 cp HELD_ESCAPE pop de pop hl - jr nz, .asm_3d916 + jr nz, .no_flee_item call SetPlayerTurn call GetItemName ld hl, BattleText_UserFledUsingAStringBuffer1 call StdBattleTextBox - jp .asm_3d9a2 + jp .can_escape -.asm_3d916 +.no_flee_item ld a, [wd267] inc a ld [wd267], a @@ -3940,7 +3940,7 @@ TryToRunAwayFromBattle: ; 3d8b3 ld hl, hStringCmpString1 ld c, $2 call StringCmp - jr nc, .asm_3d9a2 + jr nc, .can_escape xor a ld [hMultiplicand], a @@ -3951,52 +3951,52 @@ TryToRunAwayFromBattle: ; 3d8b3 ld [hDividend + 0], a ld a, [hProduct + 3] ld [hDividend + 1], a - ld a, [$ffb1] + ld a, [hStringCmpString1 + 0] ld b, a - ld a, [$ffb2] + ld a, [hStringCmpString1 + 1] srl b rr a srl b rr a and a - jr z, .asm_3d9a2 + jr z, .can_escape ld [hDivisor], a ld b, $2 call Divide ld a, [hQuotient + 1] and a - jr nz, .asm_3d9a2 + jr nz, .can_escape ld a, [wd267] ld c, a -.asm_3d96c +.loop dec c - jr z, .asm_3d97a + jr z, .cant_escape_2 ld b, $1e ld a, [hQuotient + 2] add b - ld [$ffb6], a - jr c, .asm_3d9a2 - jr .asm_3d96c + ld [hQuotient + 2], a + jr c, .can_escape + jr .loop -.asm_3d97a +.cant_escape_2 call BattleRandom ld b, a - ld a, [$ffb6] + ld a, [hQuotient + 2] cp b - jr nc, .asm_3d9a2 + jr nc, .can_escape ld a, $1 ld [wd0ec], a ld hl, BattleText_CantEscape2 - jr .asm_3d995 + jr .print_inescapable_text -.asm_3d98d +.cant_escape ld hl, BattleText_CantEscape - jr .asm_3d995 + jr .print_inescapable_text -.asm_3d992 +.cant_run_from_trainer ld hl, BattleText_TheresNoEscapeFromTrainerBattle -.asm_3d995 +.print_inescapable_text call StdBattleTextBox ld a, $1 ld [wd266], a @@ -4004,11 +4004,11 @@ TryToRunAwayFromBattle: ; 3d8b3 and a ret -.asm_3d9a2 +.can_escape ld a, [wLinkMode] and a - ld a, $2 - jr z, .asm_3d9cf + ld a, DRAW + jr z, .fled call LoadTileMapToTempTileMap xor a ld [wd0ec], a @@ -4023,11 +4023,11 @@ TryToRunAwayFromBattle: ; 3d8b3 ; Got away safely ld a, [wBattleAction] - cp $f - ld a, $2 - jr z, .asm_3d9cf + cp BATTLEACTION_FORFEIT + ld a, DRAW + jr z, .fled dec a -.asm_3d9cf +.fled ld b, a ld a, [wBattleResult] and $c0 @@ -4066,18 +4066,18 @@ Function3da0d: ; 3da0d ld a, MON_SPECIES call GetPartyParamLocation ld de, BattleMonSpecies - ld bc, 1 + 1 + NUM_MOVES ; species, item, moves ; BattleMonDVs - BattleMonSpecies + ld bc, MON_ID call CopyBytes - ld bc, PartyMon1DVs - (PartyMon1Species + 1 + 1 + NUM_MOVES) + ld bc, (MON_DVS) - (MON_ID) add hl, bc ld de, BattleMonDVs - ld bc, 2 + NUM_MOVES + 1 ; DVs, PP, happiness ; BattleMonLevel - BattleMonDVs + ld bc, (MON_PKRUS) - (MON_DVS) call CopyBytes rept 3 inc hl endr ld de, BattleMonLevel - ld bc, 1 + 1 + 1 + 2 + 2 * 6 ; level, status, unused, stats + ld bc, (PARTYMON_STRUCT_LENGTH) - (MON_LEVEL) call CopyBytes ld a, [BattleMonSpecies] ld [TempBattleMonSpecies], a @@ -4158,18 +4158,18 @@ Function3dabd: ; 3dabd ld hl, OTPartyMon1Species call GetPartyLocation ld de, EnemyMonSpecies - ld bc, 1 + 1 + NUM_MOVES + ld bc, MON_ID call CopyBytes - ld bc, OTPartyMon1DVs - (OTPartyMon1Species + 1 + 1 + NUM_MOVES) + ld bc, (MON_DVS) - (MON_ID) add hl, bc ld de, EnemyMonDVs - ld bc, 2 + NUM_MOVES + 1 + ld bc, (MON_PKRUS) - (MON_DVS) call CopyBytes rept 3 inc hl endr ld de, EnemyMonLevel - ld bc, 1 + 1 + 1 + 2 + 2 * 6 + ld bc, (PARTYMON_STRUCT_LENGTH) - (MON_LEVEL) call CopyBytes ld a, [EnemyMonSpecies] ld [CurSpecies], a @@ -4182,7 +4182,7 @@ endr call CopyBytes ld hl, EnemyMonAttack ld de, EnemyStats - ld bc, 2 * 5 + ld bc, (PARTYMON_STRUCT_LENGTH) - (MON_ATK) call CopyBytes call Function3ec30 ld hl, BaseType1 @@ -4456,9 +4456,9 @@ Function3dce6: ; 3dce6 ; 3dcf9 Function3dcf9: ; 3dcf9 - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 - jr z, .asm_3dd17 + jr z, .player_1 call SetPlayerTurn call Function3dd2f call Function3dde9 @@ -4468,7 +4468,7 @@ Function3dcf9: ; 3dcf9 call Function3dde9 jp Function3de51 -.asm_3dd17 +.player_1 call SetEnemyTurn call Function3dd2f call Function3dde9 @@ -4699,13 +4699,13 @@ Function3de51: ; 3de51 ; 3de97 Function3de97: ; 3de97 - ld a, [$ffcb] + ld a, [hLinkPlayerNumber] cp $1 - jr z, .asm_3dea3 + jr z, .player_1 call Function3dea9 jp Function3deb1 -.asm_3dea3 +.player_1 call Function3deb1 jp Function3dea9 ; 3dea9 @@ -5461,41 +5461,41 @@ Function3e3ad: ; 3e3ad and a jr nz, .asm_3e3cf -.asm_3e3ca +.switch call BattleMonEntrance and a ret .asm_3e3cf ld a, [wBattleAction] - cp $e - jp z, .asm_3e3ca - cp $d - jp z, .asm_3e3ca - cp NUM_MOVES - jp c, .asm_3e3ca - cp $f - jr nz, .asm_3e3e9 + cp BATTLEACTION_E + jp z, .switch + cp BATTLEACTION_D + jp z, .switch + cp BATTLEACTION_SWITCH1 + jp c, .switch + cp BATTLEACTION_FORFEIT + jr nz, .dont_run call WildFled_EnemyFled_LinkBattleCanceled ret -.asm_3e3e9 - ld a, [$ffcb] +.dont_run + ld a, [hLinkPlayerNumber] cp $1 - jr z, .asm_3e3f7 + jr z, .player_1 call BattleMonEntrance - call Function3e3ff + call EnemyMonEntrance and a ret -.asm_3e3f7 - call Function3e3ff +.player_1 + call EnemyMonEntrance call BattleMonEntrance and a ret ; 3e3ff -Function3e3ff: ; 3e3ff +EnemyMonEntrance: ; 3e3ff callab AI_Switch call SetEnemyTurn jp SpikesDamage @@ -6070,11 +6070,11 @@ Function3e7c1: ; 3e7c1 call z, Function3e8e4 call Call_LoadTempTileMapToTileMap ld a, [wBattleAction] - cp $e + cp BATTLEACTION_E jp z, .asm_3e8bd - cp $d + cp BATTLEACTION_D jp z, .asm_3e82c - cp NUM_MOVES + cp BATTLEACTION_SWITCH1 jp nc, ResetVarsForSubstatusRage ld [CurEnemyMoveNum], a ld c, a |