• Hey Trainers! Be sure to check out Corsola Beach, our newest section on the forums, in partnership with our friends at Corsola Cove! At the Beach, you can discuss the competitive side of the games, post your favorite Pokemon memes, and connect with other Pokemon creators!
  • Due to the recent changes with Twitter's API, it is no longer possible for Bulbagarden forum users to login via their Twitter account. If you signed up to Bulbagarden via Twitter and do not have another way to login, please contact us here with your Twitter username so that we can get you sorted.

Awkward Pokemon Ruby Glitch Pokemons

Sergiotarxz

New Member
Joined
Jan 29, 2023
Messages
16
Reaction score
11
Hi, I am starting this threads to show you some of the glitch behavior you can achieve with the bad handling of improper number in species which does not correspond with any pokemon, lets give it a look.

For starters we will need the last valid species from Ruby that is... Err let me look the code

439 which is a form of Unown we will start our journey from there.

#!/usr/bin/env perl
use v5.34.1;

use strict;
use warnings;

use Rsaves
qw/read_save check_correct_size get_saves find_current_save_index check_correct_size find_pokemon_substruct change_gender read_pc_storage save_pc_changes enable_eon_ticket save_changes pokemon_set_shiny read_pkm_file_box/;

use Rsaves::Constants::Ruby::Global qw/$MALE $FEMALE/;

sub start {
my ( @saves_raw, $extra );
( @saves_raw[ 0, 1 ], $extra ) = read_save('ruby.sav');
check_correct_size( @saves_raw, $extra );
my @saves = get_saves(@saves_raw);
my $current_save_index = find_current_save_index(@saves);
my $save = $saves[$current_save_index];
make_all_pokemon_glitch($save);
save_changes( @saves, $extra, 'ruby1.sav' );
}

sub make_all_pokemon_glitch {
my $save = shift;
my $pc = read_pc_storage($save);
my $species = 439;
for my $box ( $pc->{boxes}->@* ) {
for my $pokemon ( $box->@* ) {
my $substructures = $pokemon->{substructures};
my $substruct0 = find_pokemon_substruct( $substructures, 0 );
if ( $substruct0->{species} ) {
$substruct0->{species} = ++$species;
}
}
}
save_pc_changes( $save, $pc );
}

start;

Things start getting interesting as soon as we enter in the pc.

View attachment 167711
Every one of this pokemon is a different glitch pokemon which reads it's stats/name/exp needed to level up from a different memory address not planned by the game, so they can have a pretty dangerous effect in our save, well we already glitched every pokemon so there is not much less to lose.

Some of this pokemon will crash the game as soon as we put the hand over them, we are seeking those that do more interesting things.

A side note is that we only created 386 glitch pokemon more or less while you can create 65535-(NUMBER_OF_REAL_SPECIES) different ones. (0xffff in hex)

ruby1-14.png


This glitchy double kick (Doble patada in spanish) boy crashes the game which is rather boring, let's look its evolutions Glitivisaur and Glitcvenasaur.
ruby1-15.png


This Ivysaur is now the glitch pokemon atada, lets look what he can offer to us.

20230131_03h13m22s_grim.png

It crashed the game but in a sightly funnier way, let's keep looking.

Venasaur crashes the game on summary open also.

I kepp looking with a bunch of pokemon more and I do not find nothing funny until I look the formerly Geodude and Graveler

20230131_03h21m46s_grim.png

ruby1-19.png


Graveler crashes the game in summary but Geodude allows us to give him a look and his stats are... surprising, imagine driving this little boy to lvl 100.

Ponyta is also sightly interesting

20230131_03h26m38s_grim.png

Let's give him a try in combat, I feel brave.
ruby1-20.png
ruby1-21.png
ruby1-22.png
ruby1-23.png
ruby1-23.png
ruby1-25.png

A direct attack with ember with did not too much damage to our enemy lvl25 duskull, but fire spin did a good amount of damage.

I take a look to the entire pc and I see that most pokemon names are based on movements and do not do any graphical glitch on hover, so lets try with higher numbers, I will change the $species variable in the code for 2000, let's pray for better luck.

This pokemons are more rebel hitmonchan crashes the game on hover and the others glitch with permanents on screen text the pc.

ruby1-26.png
ruby1-27.png
ruby1-28.png
ruby1-29.png
ruby1-30.png
ruby1-31.png


I am leaving this for today, I hope you enjoyed it.
 

Attachments

  • ruby1-26.png
    ruby1-26.png
    7.4 KB · Views: 42
Please note: The thread is from 1 year ago.
Please take the age of this thread into consideration in writing your reply. Depending on what exactly you wanted to say, you may want to consider if it would be better to post a new thread instead.
Back
Top Bottom