Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
ItemDex
TrainerDex
TypeDex
UnownDex
More

Major Glitches
Trainer escape glitch
Old man trick
Celebi Egg trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Rival LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg corruption glitch (Glitzer Popping)
Tweaking
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitches
More

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

References
Pokémon GameShark codes
The Big HEX List
Glitch Pokémon cries
GB programming
Curiosities
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Technical
Site Source Code

Search Wiki

 

Search Forums

 

Author Topic: Perish Song's behavior in Colosseum  (Read 330 times)

0 Members and 1 Guest are viewing this topic.

SgvSth

  • GCLF Member
  • Offline Offline
  • Or is it SthSgv?
    • View Profile
Perish Song's behavior in Colosseum
« on: October 14, 2016, 08:12:02 pm »
Just curious if anyone knows how Perish Song is programmed in Colo along with how the game decides to end the battle, due to a bug I have seemed to have found or at least a variation on an old one.  I have recently obtained a copy of Colo and knew about the standard bug with Perish Song, in which if an enemy faints due to a status ailment while Perish Song has been used on the player's Pokémon, then that Pokémon will gain Exp depending on what the Perish Count was at. 

I forgot about needing a status ailment when I taught Perish Song to Misdreavus, though I found it was useful to have while going through Mt. Battle.  Near the end of Area 7 is a battle that involves a Pupitar that knows Sandstorm.  During my battle, Pupitar was not doing much damage and was mostly trying to keep Sandstorm on the field, so I ended up focusing on attacking the other Pokémon so that I could get the trainer's team down to two for a guaranteed win with Perish Song.  As it turned out, I believe that the battle entering the final turn had me with an Ampharos and a Misdreavus against the Pupitar.  Ampharos and Pupitar has a Perish Count of 1, I had a Flygon holding an Exp Share in the party, and a sandstorm was raging.  Whatever I did, neither side lost a Pokémon.  The sandstorm did its damage, Pupitar fainted to Perish Song, and I gained the Exp.  Then, Ampharos fainted to Perish Song, I gained more Exp., and the battle ended. 

Testing has shown that Pupitar needs to faint to a Perish Count before the Pokémon on my side faints to the same Perish Count, that Sandstorm might play a factor, that an Exp. Share might be require, and that the Pokémon on the other side might need to be immune to Sandstorm damage, and that the Pokémon on my side might need to take Sandstorm damage.

I was hoping that someone would know about how Perish Song is program to see why it has issues dealing with when Pokémon faint and how much Exp it deals out, among other possible oddities.  Just in case someone would like to look at how things occurred, I have a partial transcript of the last turn from one of my tests.

---

Ampharos takes damage due to Sandstorm.
Pupitar has a Perish Count of 0.
Pupitar faints due to Perish Count.
- Guy Odon is out of usable Pokémon at this point. -
Ampharos gained 180 Exp.
Umbreon gained 180 Exp.
Flygon gained 904 Exp. (Exp Share + Participated)
Misdreavus gain 180 Exp.
Ampharos has a Perish Count of 0.
Ampharos faints due to Perish Count.
- I am down to 5 Pokémon remaining at this point. -
Umbreon gained 241 Exp.
Flygon gained 966 Exp. (Exp Share + Participated)
Misdreavus gained 241 Exp.
- The game considers the battle to now be over. -

---