diff options
Diffstat (limited to 'battle/link_result.asm')
-rwxr-xr-x | battle/link_result.asm | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/battle/link_result.asm b/battle/link_result.asm deleted file mode 100755 index cf6102acc..000000000 --- a/battle/link_result.asm +++ /dev/null @@ -1,162 +0,0 @@ -DetermineLinkBattleResult: ; 2b930 - farcall UpdateEnemyMonInParty - ld hl, PartyMon1HP - call .CountMonsRemaining - push bc - ld hl, OTPartyMon1HP - call .CountMonsRemaining - ld a, c - pop bc - cp c - jr z, .even_number_of_mons_remaining - jr c, .defeat - jr .victory - -.even_number_of_mons_remaining - call .BothSides_CheckNumberMonsAtFullHealth - jr z, .drawn - ld a, e - cp $1 - jr z, .victory - cp $2 - jr z, .defeat - ld hl, PartyMon1HP - call .CalcPercentHPRemaining - push de - ld hl, OTPartyMon1HP - call .CalcPercentHPRemaining - pop hl - ld a, d - cp h - jr c, .victory - jr z, .compare_lo - jr .defeat - -.compare_lo - ld a, e - cp l - jr z, .drawn - jr nc, .defeat - -.victory - ld a, [wBattleResult] - and $f0 - ld [wBattleResult], a - ret - -.defeat - ld a, [wBattleResult] - and $f0 - add $1 - ld [wBattleResult], a - ret - -.drawn - ld a, [wBattleResult] - and $f0 - add $2 - ld [wBattleResult], a - ret - -.CountMonsRemaining: ; 2b995 - ld c, 0 - ld b, 3 - ld de, PARTYMON_STRUCT_LENGTH - 1 -.loop - ld a, [hli] - or [hl] - jr nz, .not_fainted - inc c - -.not_fainted - add hl, de - dec b - jr nz, .loop - ret - -.CalcPercentHPRemaining: ; 2b9a6 - ld de, 0 - ld c, $3 -.loop2 - ld a, [hli] - or [hl] - jr z, .next - dec hl - xor a - ld [hDividend + 0], a - ld a, [hli] - ld [hDividend + 1], a - ld a, [hli] - ld [hDividend + 2], a - xor a - ld [hDividend + 3], a - ld a, [hli] - ld b, a - ld a, [hld] - srl b - rr a - srl b - rr a - ld [hDivisor], a - ld b, $4 - call Divide - ld a, [hQuotient + 2] - add e - ld e, a - ld a, [hQuotient + 1] - adc d - ld d, a - dec hl - -.next - push de - ld de, $2f - add hl, de - pop de - dec c - jr nz, .loop2 - ret - -.BothSides_CheckNumberMonsAtFullHealth: ; 2b9e1 - ld hl, PartyMon1HP - call .CheckFaintedOrFullHealth - jr nz, .finish ; we have a pokemon that's neither fainted nor at full health - ld hl, OTPartyMon1HP - call .CheckFaintedOrFullHealth - ld e, $1 - ret - -.finish - ld hl, OTPartyMon1HP - call .CheckFaintedOrFullHealth - ld e, $0 - ret nz ; we both have pokemon that are neither fainted nor at full health - ld e, $2 - ld a, $1 - and a - ret - -.CheckFaintedOrFullHealth: ; 2ba01 - ld d, 3 -.loop3 - ld a, [hli] - ld b, a - ld a, [hli] - ld c, a - or b - jr z, .fainted_or_full_health - ld a, [hli] - cp b - ret nz - ld a, [hld] - cp c - ret nz - -.fainted_or_full_health - push de - ld de, PARTYMON_STRUCT_LENGTH - 2 - add hl, de - pop de - dec d - jr nz, .loop3 - ret |