I'm hacking Pokemon emerald, and this is a pretty recent issue. I have been hacking this rom for weeks trying to make every pokemon from gen 1-4 all obtainable. I have customized legendary scripts, custom NPC's that give hints, npc's that give pokemon, etc... I have been entering scripts and npc's for weeks to get this done. I now have three pokemon left to add: Manaphy, Cresselia, and Arceus. Every pokemon besides these three are obtainable (aside from phione because that will be done by breeding manaphy). But every time I insert a script to battle any of these pokemon, my rom breaks. The game wont even load. Luckily i have backups, but I don't know why it's doing it. I though it might be an offset issue at first. Like maybe i'm overriding important data on accident. So i used the "#dyn 740000 #org @start" format so it would create its own offsets, and it was still crashing. Then I thought it was the pokemon because every other npc has been fine up to this point. So for testing purposes I creating an arceus script, but encountering bulbasaur instead. That still broke the game. My last guess is maybe I've reached the limit on how much could be in the game? Like maybe there are no more unused offsets to create? But there's no way that's right. That seems crazy to me! But I don't know what else to do. And it's not just this specific script. Any script I write from scratch breaks the rom now. Unless I use PKSV's script generator. The scripts that it generates don't crash the game, but they never work, so I don't use them. But i'm writing scripts the same way I have been writing them for weeks. But all of the sudden, any time I try to add one, the rom breaks. The game doesn't load, or it loads with sprites and text all over the screen looking wonky.
Haha, is it possible the Legendary Beasts you speak of perhaps are Cursed? Like the Paintings that Maximillion painted in Yu-Gi-Oh of the Egyptian God Cards? :D.
Jokes aside, what is it you're saying? That upon clicking Continue Game, the game doesn't Load? Or, when you try to even Boot the ROM, it won't even show the beginning "Game Freak" Splash?
I am a very good Programmer, if you can give a sample of the Code you use to generate your Custom Pokemon, I can help you! I'm guessing that "org" command is the word "Organize"? Or is it like a Directive to the Compiler (assuming it's a Compiled Language) from Assembly, that "ORG" command? I think it was a Directive...but if you can provide the name of the Language that the Game uses, I could search for you.
Try to launch the Game at each key point of Code, until you find the one that is causing the problem. So if you've got 5 lines of Code for the insertions of these new Pokemon, try to run it first without the 5 lines to confirm if the other Pokemon are okay. Then, 1 line at a time, try to Debug what is happening. But, you're saying you tried to simulate a Wild Battle with an Arceus appearing? And Bulbasaur came instead? If the Game Broke at that point, it likely is somehow your insertion of Arceus that's doing it. But, it's happening in the Background things independant of whether or not it actually fully registers on Screen. Some things to check for, are if the Bulbasaur is still named Bulbasaur, if it uses Arceus-like Attacks, or try to catch it and check if its Stats are Arceus. It could be overlapping Pokemon, otherwise if it's just a standard Bulbasaur, you know it's purely Background.
If you're saying there's no way that's right for File Size, maybe you are right. Check anyway.
EDIT: Just saw the part about wonky images. It's something to do not with the Battle Engine, or even the Event Dialogue Engine I believe. It's something earlier in the Code that isn't registering in the Game Files for some reason.