summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2021-06-20 10:59:17 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2021-06-20 10:59:17 -0400
commitdb4817ed1b9d3e8e8acee824202d897f72665a4d (patch)
tree9aef37823f05df86e803d7b5a7f50066b07c8af5
parentc4f92950a6d4f242b7ff5102f56a36082a5f3bbb (diff)
Fixing comments in BattleCommand_Teleport
-rw-r--r--engine/battle/move_effects/teleport.asm24
1 files changed, 17 insertions, 7 deletions
diff --git a/engine/battle/move_effects/teleport.asm b/engine/battle/move_effects/teleport.asm
index 406eea51..a97ac8a1 100644
--- a/engine/battle/move_effects/teleport.asm
+++ b/engine/battle/move_effects/teleport.asm
@@ -11,31 +11,34 @@ BattleCommand_Teleport:
call GetBattleVar
bit SUBSTATUS_CANT_RUN, a
jr nz, .failed
-; Only need to check these next things if it's your turn
ldh a, [hBattleTurn]
and a
jr nz, .enemy_turn
-; Can't teleport from a trainer battle
+
+ ; Can't teleport from a trainer battle
ld a, [wBattleMode]
dec a
jr nz, .failed
-; If your level is greater than the opponent's, you run without fail.
+ ; b = player level
ld a, [wCurPartyLevel]
ld b, a
+ ; If player level >= enemy level, Teleport will succeed
ld a, [wBattleMonLevel]
cp b
jr nc, .run_away
-; Generate a number between 0 and (YourLevel + TheirLevel).
+ ; c = player level + enemy level + 1
add b
ld c, a
inc c
+ ; Generate a number less than c
.loop_player
call BattleRandom
cp c
jr nc, .loop_player
-; If that number is greater than 4 times your level, run away.
+ ; b = enemy level / 4
srl b
srl b
+ ; If the random number >= enemy level / 4, Teleport will succeed
cp b
jr nc, .run_away
@@ -44,27 +47,34 @@ BattleCommand_Teleport:
jp PrintButItFailed
.enemy_turn
+ ; Can't teleport from a trainer battle
ld a, [wBattleMode]
dec a
jr nz, .failed
+ ; b = enemy level
ld a, [wBattleMonLevel]
ld b, a
+ ; If enemy level >= player level, Teleport will succeed
ld a, [wCurPartyLevel]
cp b
jr nc, .run_away
+ ; c = enemy level + player level + 1
add b
ld c, a
inc c
+ ; Generate a number less than c
.loop_enemy
call BattleRandom
cp c
jr nc, .loop_enemy
+ ; b = player level / 4
srl b
srl b
- cp b
- ; This should be jr c, .failed
+ ; This should be "jr c, .failed"
; As written, it makes enemy use of Teleport always succeed if able
+ cp b
jr nc, .run_away
+
.run_away
call UpdateBattleMonInParty
xor a