summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--battle/core.asm38
-rwxr-xr-xbattle/objects/functions.asm2
-rw-r--r--data/battle/ball_colors.asm (renamed from data/ball_colors.asm)0
-rw-r--r--data/battle/flee_mons.asm36
-rw-r--r--docs/bugs_and_glitches.md31
5 files changed, 70 insertions, 37 deletions
diff --git a/battle/core.asm b/battle/core.asm
index 9dd3ffd84..325ce52f9 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -820,41 +820,7 @@ TryEnemyFlee: ; 3c543
ret
; 3c59a
-FleeMons:
-
-SometimesFleeMons: ; 3c59a
- db MAGNEMITE
- db GRIMER
- db TANGELA
- db MR__MIME
- db EEVEE
- db PORYGON
- db DRATINI
- db DRAGONAIR
- db TOGETIC
- db UMBREON
- db UNOWN
- db SNUBBULL
- db HERACROSS
- db -1
-
-OftenFleeMons: ; 3c5a8
- db CUBONE
- db ARTICUNO
- db ZAPDOS
- db MOLTRES
- db QUAGSIRE
- db DELIBIRD
- db PHANPY
- db TEDDIURSA
- db -1
-
-AlwaysFleeMons: ; 3c5b1
- db RAIKOU
- db ENTEI
-; db SUICUNE
- db -1
-; 3c5b4
+INCLUDE "data/battle/flee_mons.asm"
CompareMovePriority: ; 3c5b4
; Compare the priority of the player and enemy's moves.
@@ -876,7 +842,7 @@ GetMovePriority: ; 3c5c5
ld b, a
- ; Vital throw goes last.
+ ; Vital Throw goes last.
cp VITAL_THROW
ld a, 0
ret z
diff --git a/battle/objects/functions.asm b/battle/objects/functions.asm
index 6a0c2ecf8..64c390cbe 100755
--- a/battle/objects/functions.asm
+++ b/battle/objects/functions.asm
@@ -450,7 +450,7 @@ GetBallAnimPal: ; cd249 (33:5249)
ret
; cd26c (33:526c)
-INCLUDE "data/ball_colors.asm"
+INCLUDE "data/battle/ball_colors.asm"
BattleAnimFunction_10: ; cd284 (33:5284)
call BattleAnim_AnonJumptable
diff --git a/data/ball_colors.asm b/data/battle/ball_colors.asm
index c3ba9d2b4..c3ba9d2b4 100644
--- a/data/ball_colors.asm
+++ b/data/battle/ball_colors.asm
diff --git a/data/battle/flee_mons.asm b/data/battle/flee_mons.asm
new file mode 100644
index 000000000..1b1cea036
--- /dev/null
+++ b/data/battle/flee_mons.asm
@@ -0,0 +1,36 @@
+FleeMons:
+; referenced by TryEnemyFlee and FastBallMultiplier
+
+SometimesFleeMons: ; 3c59a
+ db MAGNEMITE
+ db GRIMER
+ db TANGELA
+ db MR__MIME
+ db EEVEE
+ db PORYGON
+ db DRATINI
+ db DRAGONAIR
+ db TOGETIC
+ db UMBREON
+ db UNOWN
+ db SNUBBULL
+ db HERACROSS
+ db -1
+
+OftenFleeMons: ; 3c5a8
+ db CUBONE
+ db ARTICUNO
+ db ZAPDOS
+ db MOLTRES
+ db QUAGSIRE
+ db DELIBIRD
+ db PHANPY
+ db TEDDIURSA
+ db -1
+
+AlwaysFleeMons: ; 3c5b1
+ db RAIKOU
+ db ENTEI
+; db SUICUNE
+ db -1
+; 3c5b4
diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md
index b70f7fcbd..31e61dfc0 100644
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -29,6 +29,7 @@
- [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer)
- [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level)
- [Slot machine payout sound effects cut each other off](#slot-machine-payout-sound-effects-cut-each-other-off)
+- [Team Rocket battle music is not used for Executives or Scientists](#team-rocket-battle-music-is-not-used-for-executives-or-scientists)
- [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e)
- [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes)
- [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks)
@@ -802,6 +803,36 @@ This is a bug with `Slots_PayoutAnim` in [engine/slot_machine.asm](/engine/slot_
**Fix:** Change `ret z` to `ret nz`.
+## Team Rocket battle music is not used for Executives or Scientists
+
+This is a bug with `PlayBattleMusic` in [main.asm](/main.asm):
+
+```asm
+ ; really, they should have included admins and scientists here too...
+ ld de, MUSIC_ROCKET_BATTLE
+ cp GRUNTM
+ jr z, .done
+ cp GRUNTF
+ jr z, .done
+```
+
+**Fix:**
+
+```asm
+ ld de, MUSIC_ROCKET_BATTLE
+ cp GRUNTM
+ jr z, .done
+ cp GRUNTF
+ jr z, .done
+ cp EXECUTIVEM
+ jr z, .done
+ cp EXECUTIVEF
+ jr z, .done
+ cp SCIENTIST
+ jr z, .done
+```
+
+
## No bump noise if standing on tile `$3E`
This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm](/engine/player_movement.asm):