Since there's only 50 and 500 coins options you will not be able to get exactly 9,999 to buy Porygon, that's the time I played the slots. I played on the slot on the leftmost, beside the lady who said there might be different odds in the slots. Hope this helps. If that does'nt work try the machine right below that. That machine is'nt quite as lucky but it's at least second best. After you get a jackpot on that machine it's out of luck. Then go back up to the top machin. Have fun it may take about half an hour, but TRUST me it works. Ps:I bought every Pokemon with the money I won. Unable to find the encounter slots online for the Pokemon games and after listening to the concerns of other players, I decided to take the initiative and host them myself. Of course I take no credit for determining the slots in the game-huge thanks to all the developers and data miners for that! I'm just trying to make the encounter slots a.
This past couple of days have been particularly hard considering my Android phone just got busted (swollen non-user replaceable battery) and I’ve been having issues with my laptop. It’s a good thing though that I still have an iPad with GBA4iOS installed that allows me to play my backlog of Pokemon ROM hacks.
Just recently I was able to play through Pokemon Liquid Crystal, which also happens to be one of the most visually striking ROM hacks for FireRed that I’ve ever played. The game is a re-imagining of Pokemon Crystal (for the GBC) and features a dynamic Day & Night system that simulates the passing of time.
Before You Cheat…
I’ve limited the cheat codes listed here for Pokemon Liquid Crystal to only those that aren’t game-breaking. I know you’ve probably read this every time I write a cheat code guide for other Pokemon ROM hacks but it’s always best to enjoy these games in the manner that their creators intended.
There’s also an option to use as many cheats as you want but if you’ve played enough Pokemon ROM hacks then you’ll understand that the probability of your game crashing will be quite high.
Essential Cheats
With that being said, here are a couple of cheat codes that you’ll want to enable when you’ve loaded Pokemon Liquid Crystal on your GBA4iOS.
Walk Through Walls
509197D3 542975F4
78DA95DF 44018CB4
A staple of almost every walkthrough/cheat code guide I’ve ever written here on PhoneResolve. Seriously, you’re always guaranteed an easier time of playing Pokemon Liquid Crystal (or any other Pokemon game) with this cheat code even if you don’t use the succeeding codes in this list.
Cheap Items Code
716AD990 7BA5C8B0
AD86124F 2823D8DA
I decided to not write down the code for Infinite Money because I’ve constantly had issues using it together with other FireRed cheat codes. So how are you going to buy those important items for your quest? Simple, just enable this code and you’ll see that every item sold in the Poke Mart is going to be marked down to 1 Poke Dollar.
Item Modifiers
Item modifiers are great cheat codes to use together with the Cheap Item Code mentioned earlier. What these codes do once they are enabled is that they force the game to sell the player only one type of item. This is regardless of the region or Poke Mart that the player might be in.
Master Balls
88CFA129 357400B2
8BB602F7 8CEB681A
Rare Candies
88CFA129 357400B2
51CF1F27 2E270374
Pokemon Encounter Codes
Choosing your starters is extremely important in any Pokemon game. I’ve listed down a couple of encounter codes that you can use to catch some of the most powerful Pokemon in the game. As you might know, it’s important to never have 2 or more of these codes running at the same time if you don’t want your game to crash.
Celebi
17543C48 E65E0B97
4AEC27E8 A5FF1540
Lugia
17543C48 E65E0B97
545C676A 51FFDC1C
Mewtwo
17543C48 E65E0B97
4C77BA3F CA4EDCB6
Jirachi
022EA6CD 594A7718
D2BF38B5 7E300C38
8343300B ADEF57CA
FFF032FD FAF9AFD2
Deoxys
022EA6CD 594A7718
D2BF38B5 7E300C38
8343300B ADEF57CA
27C35F73 A8E9E879
With a starting team like this, you shouldn’t have a problem facing all of the gym leaders that stand in your way. Additionally, make sure that your starter Pokemon (the one given by Professor Elm) is always on the first slot regardless if you let it fight or not. In this manner, it will always have a share of the experience points that you gain while fighting against wild Pokemon and Pokemon Trainers.
Other than asking you to set the Real Time Tracking feature on your emulator (just ignore this), Pokemon Liquid Crystal didn’t have that many bugs or glitches. I was even surprised that it allowed me to input Deoxys and Jirachi’s encounter codes without crashing GBA4iOS. Owing to its stability, (even though it’s still a beta release) Pokemon Liquid Crystal has become my favorite ROM hack to play so far.
Do you have any Pokemon Liquid Crystal (hack) Cheat Codes for GBA4iOS to share with us? I think you already know the drill. Head on over to the comments section below and share what you know with all of us!
These are known bugs and glitches in the original Pokémon Crystal game: code that clearly does not work as intended, or that only works in limited circumstances but has the possibility to fail or crash.
Fixes are written in the diff
format. If you've used Git before, this should look familiar:
Fixes in the multi-player battle engine category will break compatibility with standard Pokémon Gold/Silver/Crystal for link battles, unless otherwise noted. This can be avoided by writing more complicated fixes that only apply if the value at [wLinkMode]
is not LINK_COLOSSEUM
. That's how Crystal itself fixed two bugs in Gold and Silver regarding the moves Reflect and Light Screen and Present.
Contents
- Multi-player battle engine
- Single-player battle engine
- Overworld engine
- Graphics
- Audio
- Text
- Scripted events
- Internal engine routines
Multi-player battle engine
Perish Song and Spikes can leave a Pokémon with 0 HP and not faint
(Video)
Fix: Edit CheckFaint_PlayerThenEnemy
and CheckFaint_EnemyThenPlayer
in engine/battle/core.asm:
Thick Club and Light Ball can make (Special) Attack wrap around above 1024
(Video)
Fix: Edit SpeciesItemBoost
in engine/battle/effect_commands.asm
Metal Powder can increase damage taken with boosted (Special) Defense
(Video)
Fix: Edit DittoMetalPowder
in engine/battle/effect_commands.asm:
Reflect and Light Screen can make (Special) Defense wrap around above 1024
This bug existed for all battles in Gold and Silver, and was only fixed for single-player battles in Crystal to preserve link compatibility.
Fix: Edit TruncateHL_BC
in engine/battle/effect_commands.asm
(This fix also affects Thick Club, Light Ball, and Metal Powder, as described above, but their specific fixes in the above bugs allow more accurate damage calculations.)
Moves with a 100% secondary effect chance will not trigger it in 1/256 uses
(Video)
Fix: Edit BattleCommand_EffectChance
in engine/battle/effect_commands.asm:
Compatibility preservation: If you wish to keep compatibility with standard Pokémon Crystal, you can disable the fix during link battles by also applying the following edit in the same place:
Belly Drum sharply boosts Attack even with under 50% HP
(Video)
Fix: Edit BattleCommand_BellyDrum
in engine/battle/move_effects/belly_drum.asm:
Berserk Gene's confusion lasts for 256 turns or the previous Pokémon's confusion count
(Video)
Fix: Edit HandleBerserkGene
in engine/battle/core.asm:
This makes the Berserk Gene use the regular confusion duration (2–5 turns).
Confusion damage is affected by type-boosting items and Explosion/Self-Destruct doubling
(Video)
Fix:
First, edit wram.asm:
Then edit four routines in engine/battle/effect_commands.asm:
Moves that lower Defense can do so after breaking a Substitute
(Video)
This bug affects Acid, Iron Tail, and Rock Smash.
Fix: Edit DefenseDownHit
in data/moves/effects.asm:
Counter and Mirror Coat still work if the opponent uses an item
(Video)
Fix: Edit BattleCommand_Counter
in engine/battle/move_effects/counter.asm and BattleCommand_MirrorCoat
in engine/battle/move_effects/mirror_coat.asm:
Add this to the end of each file:
A Disabled but PP Up–enhanced move may not trigger Struggle
(Video)
Fix: Edit CheckPlayerHasUsableMoves
in engine/battle/core.asm:
A Pokémon that fainted from Pursuit will have its old status condition when revived
(Video)
Fix: Edit PursuitSwitch
in engine/battle/core.asm
Lock-On and Mind Reader don't always bypass Fly and Dig
This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider Web, Transform, and stat-lowering effects of moves like String Shot or Bubble during the semi-invulnerable turn of Fly or Dig.
Fix: Edit CheckHiddenOpponent
in engine/battle/effect_commands.asm:
Beat Up can desynchronize link battles
(Video)
Fix: Edit BattleCommand_BeatUp
in engine/battle/move_effects/beat_up.asm:
Beat Up works incorrectly with only one Pokémon in the party
This bug prevents the rest of Beat Up's effect from being executed if the player or enemy only has one Pokémon in their party while using it. It prevents Substitute from being raised and King's Rock from working.
Fix: Edit BattleCommand_EndLoop
in engine/battle/effect_commands.asm:
Cosmetic fix: This fix does not break compatibility, but it only affects what's shown on the screen for the patched game. Best slots to play onljne free.
Beat Up may fail to raise Substitute
Fixing this cosmetic bug will not break link battle compatibility.
This bug prevents Substitute from being raised if Beat Up was blocked by Protect or Detect.
Fix: Edit BattleCommand_FailureText
in engine/battle/effect_commands.asm.
Beat Up may trigger King's Rock even if it failed
This bug is caused because Beat Up never sets wAttackMissed
, even when no Pokémon was able to attack (due to being fainted or having a status condition).
Fix: Edit BattleCommand_BeatUpFailText
in engine/battle/move_effects/beat_up.asm:
Present damage is incorrect in link battles
(Video)
This bug existed for all battles in Gold and Silver, and was only fixed for single-player battles in Crystal to preserve link compatibility.
Fix: Edit BattleCommand_Present
in engine/battle/move_effects/present.asm:
Dragon Scale, not Dragon Fang, boosts Dragon-type moves
Fix: Edit ItemAttributes
in data/items/attributes.asm:
HP bar animation is slow for high HP
Fixing this cosmetic bug will not break link battle compatibility.
(Video)
Fix: Edit LongAnim_UpdateVariables
in engine/battle/anim_hp_bar.asm:
HP bar animation off-by-one error for low HP
Fixing this cosmetic bug will not break link battle compatibility.
(Video)
Fix: Edit ShortHPBar_CalcPixelFrame
in engine/battle/anim_hp_bar.asm:
Single-player battle engine
A Transformed Pokémon can use Sketch and learn otherwise unobtainable moves
(Video)
Fix: Edit BattleCommand_Sketch
in engine/battle/move_effects/sketch.asm:
Catching a Transformed Pokémon always catches a Ditto
This bug can affect Mew or Pokémon other than Ditto that used Transform via Mirror Move or Sketch.
Fix: Edit PokeBallEffect
in engine/items/item_effects.asm:
Experience underflow for level 1 Pokémon with Medium-Slow growth rate
(Video)
This can bring Pokémon straight from level 1 to 100 by gaining just a few experience points.
Fix: Edit CalcExpAtLevel
in engine/pokemon/experience.asm:
The Dude's catching tutorial may crash if his Poké Ball can't be used
(Video)
This can occur if your party and current PC box are both full when you start the tutorial.
Fix: Edit PokeBallEffect
in engine/items/item_effects.asm:
BRN/PSN/PAR do not affect catch rate
Fix: Edit PokeBallEffect
in engine/items/item_effects.asm:
Moon Ball does not boost catch rate
Fix: Edit MoonBallMultiplier
in engine/items/item_effects.asm:
The golden leaf icon is next down the list and pays up to 5,000 coins for spinning 3 of the symbols while playing all 3 betlines while playing 3 coins.Next up, hitting 3 of the golden star icon awards up to 1,350 coins, and hitting 3 mixed golden symbols – one leaf, one butterfly and one star – awards up to 450 coins. Butterfly slot machine pennies. The best reward is for 3 of the golden butterflies, which can pay up to 15,000 coins if you are playing all 3 betlines and the max amount of coins. This is the top award and can highly lucrative considering the betting range so low. The payouts continue with the green symbols, again running through butterflies, leaves and stars paying up to 300, 180 and 120 coins for 3 of these in a row while playing max bet. Golden Icons Pay the Highest RewardsThe payouts in Butterfly by Art of Games are higher than expected.
Love Ball boosts catch rate for the wrong gender
Fix: Edit LoveBallMultiplier
in engine/items/item_effects.asm:
Fast Ball only boosts catch rate for three Pokémon
Fix: Edit FastBallMultiplier
in engine/items/item_effects.asm:
Heavy Ball uses wrong weight value for three Pokémon
Fix: Edit GetPokedexEntryBank
in engine/items/item_effects.asm:
Glacier Badge may not boost Special Defense depending on the value of Special Attack
As Pryce's dialog ('That BADGE will raise the SPECIAL stats of POKéMON.') implies, Glacier Badge is intended to boost both Special Attack and Special Defense. However, due to BoostStat overwriting a
when boosting Special Attack, the Special Defense boost will not happen if the unboosted Special Attack stat is either 0–205 or 433–660.
Fix: Edit BadgeStatBoosts.CheckBadge
in engine/battle/core.asm:
'Smart' AI encourages Mean Look if its own Pokémon is badly poisoned
(Video)
Fix: Edit AI_Smart_MeanLook
in engine/battle/ai/scoring.asm:
AI makes a false assumption about CheckTypeMatchup
Fix: Edit BattleCheckTypeMatchup
in engine/battle/effect_commands.asm:
AI use of Full Heal or Full Restore does not cure Nightmare status
(Video)
Fix: Edit AI_HealStatus
in engine/battle/ai/items.asm:
AI use of Full Heal does not cure confusion status
Fix: Edit EnemyUsedFullRestore
, EnemyUsedFullHeal
, and AI_HealStatus
in engine/battle/ai/items.asm:
Wild Pokémon can always Teleport regardless of level difference
Fix: Edit BattleCommand_Teleport
in engine/battle/move_effects/teleport.asm:
HELD_CATCH_CHANCE
has no effect
Fix: Edit PokeBallEffect
in engine/items/item_effects.asm:
Credits sequence changes move selection menu behavior
(Video)
To select a move in battle, you have to press and release the Up or Down buttons. However, after playing the credits sequence, holding down either button will continuously scroll through the moves.
Fix: Edit Credits
in engine/movie/credits.asm:
The [hInMenu]
value determines this button behavior. However, the battle moves menu doesn't actually set [hInMenu]
to anything, so either behavior may have been intentional. The default 0 prevents continuous scrolling; a value of 1 allows it. (The Japanese release sets it to 0.)
Optional fix: To explicitly set a [hInMenu]
for the moves menu, edit BattleTurn
in engine/battle/core.asm:
Overworld engine
LoadMetatiles
wraps around past 128 blocks
This bug prevents you from using blocksets with more than 128 blocks.
Fix: Edit LoadMetatiles
in home/map.asm:
Surfing directly across a map connection does not load the new map
(Video)
Fix:
First, edit UsedSurfScript
in engine/events/overworld.asm:
Then edit SurfStartStep
in engine/overworld/player_object.asm:
This fix will make the player enter the water at a normal walking speed, not with a slow step.
Swimming NPCs aren't limited by their movement radius
This bug is why the Lapras in maps/UnionCaveB2F.asm, which uses SPRITEMOVEDATA_SWIM_WANDER
, is not restricted by its 1, 1
movement radius.
Fix: Edit CanObjectMoveInDirection
in engine/overworld/npc_movement.asm:
Graphics
In-battle “…
” ellipsis is too high
This is a mistake with the “…
” tile in gfx/battle/hp_exp_bar_border.png:
Fix: Lower the ellipsis by two pixels:
Two tiles in the port
tileset are drawn incorrectly
This is a mistake with the left-hand warp carpet corner tiles in gfx/tilesets/port.png:
Server based slot machines. Types of Terminals that can be managed with our sCore, Server Based System are: Casino style Slot Machine that supports remote configuration and downloading of new games. Support of the Gaming Standard Association’s G2S protocol is required. Existing slot machines can also be connected with the use of SAS2G2S converter boards. For those of you who haven’t heard of them before, server based slot systems are the latest and greatest thing being offered by slotmanufacturers. These systems allow games to be downloaded to slot.
Fix: Adjust them to match the right-hand corner tiles:
Using a Park Ball in non-Contest battles has a corrupt animation
(Video)
Fix: Edit PokeBallEffect
in engine/items/item_effects.asm:
Battle transitions fail to account for the enemy's level
(Video)
There are three things wrong here:
wEnemyMonLevel
isn't initialized yetwBattleMonLevel
gets overwritten after it's initialized byFindFirstAliveMonAndStartBattle
wBattleMonLevel
isn't initialized until much later when the battle is with a trainer
Fix:
First, edit engine/battle/battle_transition.asm:
Then edit engine/battle/start_battle.asm:
Finally, edit engine/battle/read_trainer_party.asm:
Pokemon Liquid Crystal Slot Machine Machines
Some trainer NPCs have inconsistent overworld sprites
Some of these may have been intentional behavior; use your own judgment for whether to fix them.
Most trainer classes always use the same sprite and color for their overworld NPCs. There are some exceptions:
- maps/FastShipCabins_SE_SSE_CaptainsCabin.asm:
TrainerPsychicRodney
should useSPRITE_YOUNGSTER
, notSPRITE_SUPER_NERD
- maps/LakeOfRage.asm:
TrainerFisherAndre
andTrainerFisherRaymond
should usePAL_NPC_GREEN
, notPAL_NPC_BLUE
- maps/Route13.asm:
TrainerHikerKenny
should usePAL_NPC_BROWN
, notPAL_NPC_RED
- maps/Route44.asm:
TrainerBirdKeeperVance1
should usePAL_NPC_BLUE
, notPAL_NPC_GREEN
- maps/Route44.asm:
TrainerPokemaniacZach
should usePAL_NPC_BLUE
, notPAL_NPC_GREEN
- maps/UnionCaveB2F.asm:
TrainerCooltrainermNick
should useSPRITE_COOLTRAINER_M
, notSPRITE_ROCKER
- maps/FuchsiaPokecenter1F.asm:
FuchsiaPokecenter1FNurseScript
should usePAL_NPC_RED
, notPAL_NPC_GREEN
Most of the NPCs in maps/NationalParkBugContest.asm and maps/Route36NationalParkGate.asm are also inconsistent with their trainers from other maps:
BugCatchingContestant1AScript
andBugCatchingContestant1BScript
:BUG_CATCHER DON
from maps/Route30.asm should useSPRITE_BUG_CATCHER
andPAL_NPC_BROWN
, notSPRITE_YOUNGSTER
andPAL_NPC_RED
BugCatchingContestant2AScript
andBugCatchingContestant2BScript
:BUG_CATCHER ED
from maps/Route2.asm should useSPRITE_BUG_CATCHER
andPAL_NPC_BROWN
, notSPRITE_YOUNGSTER
andPAL_NPC_GREEN
BugCatchingContestant3AScript
andBugCatchingContestant3BScript
:COOLTRAINERM NICK
from maps/UnionCaveB2F.asm should useSPRITE_COOLTRAINER_M
andPAL_NPC_RED
, notSPRITE_ROCKER
andPAL_NPC_BLUE
BugCatchingContestant4AScript
andBugCatchingContestant4BScript
:POKEFANM WILLIAM
from maps/NationalPark.asm should usePAL_NPC_RED
, notPAL_NPC_BROWN
BugCatchingContestant5AScript
andBugCatchingContestant5BScript
:BUG_CATCHER BENNY
from maps/AzaleaGym.asm should useSPRITE_BUG_CATCHER
andPAL_NPC_BROWN
, notSPRITE_YOUNGSTER
andPAL_NPC_RED
BugCatchingContestant7AScript
andBugCatchingContestant7BScript
:PICNICKER CINDY
from maps/FuchsiaGym.asm should usePAL_NPC_GREEN
, notPAL_NPC_BLUE
BugCatchingContestant8AScript
andBugCatchingContestant8BScript
:BUG_CATCHER JOSH
from maps/AzaleaGym.asm should useSPRITE_BUG_CATCHER
andPAL_NPC_BROWN
, notSPRITE_YOUNGSTER
andPAL_NPC_RED
BugCatchingContestant9AScript
andBugCatchingContestant9BScript
:YOUNGSTER SAMUEL
from maps/Route34.asm should usePAL_NPC_BLUE
, notPAL_NPC_GREEN
(Note that maps/Route8.asm has three BIKER
s, DWAYNE
, HARRIS
, and ZEKE
, that use PAL_NPC_RED
, PAL_NPC_GREEN
, and PAL_NPC_BLUE
instead of PAL_NPC_BROWN
; this is intentional since they're the 'Kanto Pokémon Federation'.)
(The use of SPRITE_ROCKER
instead of SPRITE_COOLTRAINER_M
for COOLTRAINERM NICK
may also be an intentional reference to the player's brother from the Space World '97 beta.)
Audio
Slot machine payout sound effects cut each other off
(Video)
Fix: Edit SlotsAction_PayoutAnim
in engine/games/slot_machine.asm:
Team Rocket battle music is not used for Executives or Scientists
Fix: Edit PlayBattleMusic
in engine/battle/start_battle.asm:
No bump noise if standing on tile $3E
Fix: Edit DoPlayerMovement.CheckWarp
in engine/overworld/player_movement.asm:
Playing Entei's Pokédex cry can distort Raikou's and Suicune's
(Video)
The exact cause of this bug is unknown.
Workaround: Edit DexEntryScreen_MenuActionJumptable.Cry
in engine/pokedex/pokedex.asm:
Text
Five-digit experience gain is printed incorrectly
(Video)
Fix: Edit _BoostedExpPointsText
and _ExpPointsText
in data/text/common_2.asm:
Only the first three evolution entries can have Stone compatibility reported correctly
Workaround: Edit PlacePartyMonEvoStoneCompatibility.DetermineCompatibility
in engine/pokemon/party_menu.asm:
This supports up to six entries.
EVOLVE_STAT
can break Stone compatibility reporting
Fix: Edit PlacePartyMonEvoStoneCompatibility.DetermineCompatibility
in engine/pokemon/party_menu.asm:
A 'HOF Master!' title for 200-Time Famers is defined but inaccessible
(Video)
Fix: Edit _HallOfFamePC.DisplayMonAndStrings
in engine/events/halloffame.asm:
Scripted events
Clair can give TM24 Dragonbreath twice
(Video)
Fix: Edit DragonsDen1F_MapScripts
in maps/DragonsDen1F.asm:
Daisy's grooming doesn't always increase happiness
This is a bug with HaircutOrGrooming
in engine/events/haircut.asm:
Fix: Edit data/events/happiness_probabilities.asm:
Magikarp in Lake of Rage are shorter, not longer
Fix: Edit LoadEnemyMon.CheckMagikarpArea
in engine/battle/core.asm:
Magikarp length limits have a unit conversion error
Fix: Edit LoadEnemyMon.CheckMagikarpArea
in engine/battle/core.asm:
Better fix: Rewrite the whole system to use millimeters instead of feet and inches, since they have better precision (1 in = 25.4 mm); and only convert from metric to imperial units for display purposes (or don't, of course).
Magikarp lengths can be miscalculated
Fix: Edit CalcMagikarpLength.BCLessThanDE
in engine/events/magikarp.asm:
CheckOwnMon
only checks the first five letters of OT names
(Video)
This bug can allow you to talk to Eusine in Celadon City and encounter Ho-Oh with only traded legendary beasts.
Fix: Edit CheckOwnMon
in engine/pokemon/search.asm:
CheckOwnMonAnywhere
does not check the Day-Care
This may have been intentional behavior; use your own judgment for whether to fix it.
This bug can prevent you from talking to Eusine in Celadon City or encountering Ho-Oh when a caught legendary beast is in the Day-Care.
Fix: Edit CheckOwnMonAnywhere
in engine/pokemon/search.asm:
Internal engine routines
Saves corrupted by mid-save shutoff are not handled
(Video 1, Video 2)
This does not have a simple and accurate fix. It would involve redesigning parts of the save system for Pokémon boxes.
ScriptCall
can overflow wScriptStack
and crash
Fix: Edit ScriptCall
in engine/overworld/scripting.asm:
LoadSpriteGFX
does not limit the capacity of UsedSprites
Fix: Edit LoadSpriteGFX
in engine/overworld/overworld.asm:
ChooseWildEncounter
doesn't really validate the wild Pokémon species
Fix: Edit ChooseWildEncounter
in engine/overworld/wildmons.asm:
TryObjectEvent
arbitrary code execution
Fix: Edit TryObjectEvent
in engine/overworld/events.asm:
ReadObjectEvents
overflows into wObjectMasks
Fix: Edit ReadObjectEvents
in home/map.asm:
ClearWRAM
only clears WRAM bank 1
Fix: Edit ClearWRAM
in home/init.asm:
Pokemon Yellow Slot Machine
BattleAnimCmd_ClearObjs
only clears the first 6⅔ objects
Pokemon Gold Slot Machine
Fix: Edit BattleAnimCmd_ClearObjs
in engine/battle_anims/anim_commands.asm: