• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Simple Questions (PLEASE USE THE SEARCH BUTTON BEFORE ASKING)

Status
Not open for further replies.

Teh Blazer

Divider of Zero
776
Posts
15
Years
Yes, of course ^ ^.
But in fact, I think I misspoke; I created new Pokémon, I have not changed.
And I just saw that when giving him a nickname, there is well marked "Turtwig's nickname" and not "????????? nickname" (yes, I tried to create Turtwig)

Did you replace one of the ???????? Pokemon to create your Turtwig? As good as it seems, you're better off replacing one of the other Pokemon instead of the ??????? which are reserved for the Unknown letter slots.
 
22
Posts
10
Years
Did you replace one of the ???????? Pokemon to create your Turtwig? As good as it seems, you're better off replacing one of the other Pokemon instead of the ??????? which are reserved for the Unknown letter slots.

No, I create a "slot". But I did not want to replace Pokemon "?".
You think it has to do with the entrance of this Pokémon in the Pokédex ?
 
191
Posts
10
Years
Can patching a rom too many times have negative consequences such as corrupting data? Because my team mostly patches because it is quicker to send an ips than a rom and now we can't insert cries when we do it sounds bad or is it something we did wrong?
 

Tlachtli

Crit happens.
267
Posts
12
Years
No, I create a "slot". But I did not want to replace Pokemon "?".
You think it has to do with the entrance of this Pokémon in the Pokédex ?

When you say you created a slot, did you repoint the tables somewhere else and expand them? Trying to add on to the tables as they are is a big no-no, because there isn't any free space after them. Move them into empty space near the end of the ROM, change the appropriate pointers from the old table to the new one, then you can go crazy with expanding it.

When it comes to adding new pokemon without replacing the ????? ones, there's a lot of data to repoint. I mean, a lot. Name table, both the regional and national pokedex tables, pokemon data, cries, movesets, TM/HM compatibility, ect. Basically everything related to the pokemon themselves has data organized into a table, and to add more pokemon beyond the 386 limit will at the least require repointing and appropriately expanding all of them.

Can patching a rom too many times have negative consequences such as corrupting data? Because my team mostly patches because it is quicker to send an ips than a rom and now we can't insert cries when we do it sounds bad or is it something we did wrong?

Assuming the patches' producer(s) know what they're doing, it shouldn't be harmful to continuously patch the same ROM. However, with each new patch there exists some chance that the author will make some sort of mistake.

In your case, it's likely that a mistake was made somewhere along the way. I'm in the habit of making separate copies of project ROMs before making any major changes, so that it's easy to revert if something goes wrong.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
When you say you created a slot, did you repoint the tables somewhere else and expand them? Trying to add on to the tables as they are is a big no-no, because there isn't any free space after them. Move them into empty space near the end of the ROM, change the appropriate pointers from the old table to the new one, then you can go crazy with expanding it.

When it comes to adding new pokemon without replacing the ????? ones, there's a lot of data to repoint. I mean, a lot. Name table, both the regional and national pokedex tables, pokemon data, cries, movesets, TM/HM compatibility, ect. Basically everything related to the pokemon themselves has data organized into a table, and to add more pokemon beyond the 386 limit will at the least require repointing and appropriately expanding all of them.

Not to mention also knowing enough ASM to adjust all of the loading routines accordingly.
 

ThorhianTheUltimate

No, im not Thorzain
14
Posts
10
Years
  • Age 28
  • Seen Feb 17, 2017
Some people just don't realize that VBA doesn't have a real BIOS file or think that is close enough, and they write their code around testing on VBA. I know, for example, that swi 0x12 (LZ77 Image Decompresion) uses registers 0, 1, 2, and 3 in the real BIOS file, but VBA's doesn't use r3. This resulted in JPAN writing a section of his hacked engine to use r3. So, his code didn't work with a real BIOS file because r3 was overwritten. I ended up fixing this when I learned about it.

Yeah, I know VBA didn't have a real BIOS file, it uses HLE to do the job for pretty much any normal game (correct me if I'm wrong). But if your editing... You really should use a real BIOS I guess as you have pointed out lol. Maybe a Guide on how to rip one from a GBA would be beneficial (I might just do it if I get the time lol). I know the author for no$gba released some software that could rip one over a parallel port from the Link port.

Is that sort of guide allowed on these forums?
 
27
Posts
13
Years
  • Seen Jan 30, 2017
Hello, I am inserting Fairy type into Pokemon Ruby, and I did that by replacing ???-type with it. I've added all the weaknesses and resistances of Fairy into my game too, and even changed a couple of attacks to my new Fairy type. However, whenever I use any of those moves, they do barely any damage. Ex: My Lv70 Wigglytuff used a Fairy move with a Power of 80 on a Lv8 Nincada, and it only lost about 2 HP. I'm thinking it's because Fairy/??? isn't a Physical/Special type in Ruby version or something like that. I can't seem to find a solution in changing this type completely.
 

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
Hello, I am inserting Fairy type into Pokemon Ruby, and I did that by replacing ???-type with it. I've added all the weaknesses and resistances of Fairy into my game too, and even changed a couple of attacks to my new Fairy type. However, whenever I use any of those moves, they do barely any damage. Ex: My Lv70 Wigglytuff used a Fairy move with a Power of 80 on a Lv8 Nincada, and it only lost about 2 HP. I'm thinking it's because Fairy/??? isn't a Physical/Special type in Ruby version or something like that. I can't seem to find a solution in changing this type completely.

Where did you add the new weakness/resistance?
Did you move the table into a new offset and added new data?
Have you repointed to the new offset location?

...or did you use a tool?
 
6
Posts
17
Years
Finally started my Rom Hacking again after finding new inspiration. Just wondering if it is possible to modify the five evolution's per Pokemon in FireRed i.e. increase Eevee's to eight?

Also wondering if it would be a simple Hex edit to have the Pokedex to display all information for simply seeing the Pokemon vs. having to catch every one?
 
Last edited:
22
Posts
10
Years
When you say you created a slot, did you repoint the tables somewhere else and expand them? Trying to add on to the tables as they are is a big no-no, because there isn't any free space after them. Move them into empty space near the end of the ROM, change the appropriate pointers from the old table to the new one, then you can go crazy with expanding it.

When it comes to adding new pokemon without replacing the ????? ones, there's a lot of data to repoint. I mean, a lot. Name table, both the regional and national pokedex tables, pokemon data, cries, movesets, TM/HM compatibility, ect. Basically everything related to the pokemon themselves has data organized into a table, and to add more pokemon beyond the 386 limit will at the least require repointing and appropriately expanding all of them.

Yeah, I repoint all.
I added the stats of Pokemon, their sprites, their palettes, icons, palettes of icons, their names and their evolution.
I know I have not yet done everything, but I'm stuck on the problem that these Pokémon have the sprite and the name of MissingNo.
 

Tlachtli

Crit happens.
267
Posts
12
Years
Hello, I am inserting Fairy type into Pokemon Ruby, and I did that by replacing ???-type with it. I've added all the weaknesses and resistances of Fairy into my game too, and even changed a couple of attacks to my new Fairy type. However, whenever I use any of those moves, they do barely any damage. Ex: My Lv70 Wigglytuff used a Fairy move with a Power of 80 on a Lv8 Nincada, and it only lost about 2 HP. I'm thinking it's because Fairy/??? isn't a Physical/Special type in Ruby version or something like that. I can't seem to find a solution in changing this type completely.

IIRC the ???-type does not have an attack stat associated with it. There are no ???-type offensive moves*, so there was no need to give it a physical/special damage type. If you change an attack to that type, it will calculate damage as if your Att/SpAtt were 0, resulting in almost no damage being dealt. If you look at the Physical/Special split topic in the R&D section it can be used to rectify this, as their method changes how the physical/special typing is determined (making the stats' associated types--or lack thereof in ???'s case--irrelevant).

Replacing the ???-type is usually not a good idea, as Eggs also use that type. If you change ??? to Fairy, then Eggs will become Fairy as well; Curse will too, unless you change it to Ghost (which most people do).

*Contrary to popular belief, Struggle is Normal type. Check a clean ROM for yourself if you don't believe me.
 
Last edited:

Teh Blazer

Divider of Zero
776
Posts
15
Years
In Fire Red how can I change the location sorting of the Pokedex so when I create a new Pokemon over an old one it doesn't stay in the same habitat?

For example: I replace Poliwag with a Dialga. How would I make it so my new Dialga is in the "Rare Pokemon Section" instead of the "Pond Section" where Poliwag used to be?
 

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
  • Seen Apr 2, 2024
In Fire Red how can I change the location sorting of the Pokedex so when I create a new Pokemon over an old one it doesn't stay in the same habitat?

For example: I replace Poliwag with a Dialga. How would I make it so my new Dialga is in the "Rare Pokemon Section" instead of the "Pond Section" where Poliwag used to be?

http://www.pokecommunity.com/showthread.php?p=6263014&highlight=Habitat#post6263014
This link should show you a page in the research thread. It's easy to edit, just that you need to move around ALOT of offsets. But once it's done, it'll make the game a bit more professional
 

Tlachtli

Crit happens.
267
Posts
12
Years
Is it possible to have a scripted battle start with the enemy already inflicted with a status, and if so how? Example, if I wanted to have a scripted battle start with Snorlax and I want it to be asleep for 1 turn at the beginning.

I'm working with Emerald, and it seems like it should be possible given that the roaming Lati@s can carry both status and damage from one battle to the next.
 
27
Posts
13
Years
  • Seen Jan 30, 2017
Could I somehow change Eggs to Normal type? Is there also a way I can make ???-type attacks always Special similar to how Fire/Water/Grass etc were always Special in Gen 3?
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Is it possible to have a scripted battle start with the enemy already inflicted with a status, and if so how? Example, if I wanted to have a scripted battle start with Snorlax and I want it to be asleep for 1 turn at the beginning.

I'm working with Emerald, and it seems like it should be possible given that the roaming Lati@s can carry both status and damage from one battle to the next.

I believe those Pokemon are stored in the ram and then copied in when the battle is starting. From what I remember, JPAN included status inflicting code in his hack. I don't know if this will work for the opponent, but you never know.
 

DrFuji

[I]Heiki Hecchara‌‌[/I]
1,691
Posts
14
Years
Is it possible to have a scripted battle start with the enemy already inflicted with a status, and if so how? Example, if I wanted to have a scripted battle start with Snorlax and I want it to be asleep for 1 turn at the beginning.

I'm working with Emerald, and it seems like it should be possible given that the roaming Lati@s can carry both status and damage from one battle to the next.

You can edit the basics of a wild Pokemon by using the 'setwildpokemonbattle' command and then use the 'writebytetooffset' command to do something specific. setwildpokemonbattle loads a Pokemon in the RAM but doesn't enact the battle, giving you time to edit its data. In this case you want to edit the Pokemon's sleep bits. I was able to do what you wanted with the following script:

Code:
#org @start
setwildbattle 0x8F 0xA 0x0 // Loads a level 10 Snorlax into the wild Pokemon section of the RAM
writebytetooffset 0x2 0x2024794 // Changes the Snorlax's sleep bits to 0x2
dowildbattle // Begins a wildbattle with the Pokemon loaded in the RAM
release
end

You can get some more in-depth information on how a Pokemon's data is structured here.
 

Kawaii Shoujo Duskull

The Cutest Duskull
276
Posts
10
Years
  • Age 28
  • Seen Sep 10, 2023
Okay, after seeing the above messages, now I'm curious.
Maybe I overlooked a tutorial that included it, or maybe not.


Where can I learn about commands like "writebytetooffset" and other scripting commands for XSE?
 
Status
Not open for further replies.
Back
Top