• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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.

[EM] Battle Engine Upgrade (On Halt, Will undergo reboot!)

Status
Not open for further replies.
I know that everybody should know this by now, but i am have just started ROM hacking the emerald and I wanted to use this rsource since it would do like 50% of the work for me. the thing is, i can't really make sense of the instructions. I have all the software and stuff it told me to download and install, but I am stuck. Could anyone please help me?
 
I know that everybody should know this by now, but i am have just started ROM hacking the emerald and I wanted to use this rsource since it would do like 50% of the work for me. the thing is, i can't really make sense of the instructions. I have all the software and stuff it told me to download and install, but I am stuck. Could anyone please help me?

Offset_to_put right? I did not change it, it's a clean rom so it really is free space on that

Contact me on Discord for help.
 
okay a few bugs to report:

- berserk, the ability, is currently spelled "beserk"
- if you catch a mimikyu after its disguise is busted, rather than reverting to standard form, it remains in busted form. the same applies to aegislash (though aegislash can change back, mimikyu can't), i haven't tested other ones. i changed mimikyu's index in src/lastdamageadjustment.c, src/ability_effects.c, and src/bscommands_updated.c, and aegislash's in src/bs_start_attack.c, src/defines.h, and src/bscommands_updated.c
- work up's animation turns into electroweb for some reason
- tri attack might be able to cause sleep- this may have been fixed, though, since the last update, or have something to do with the fact that tri attack was being called via nature power
- trace doesn't copy the opponent's ability when you send it in via shift mode
- in nuzzle's description, "cheeks" is spelled "cheecks"
- fleur cannon is called fleur blast, even though fleur cannon fits the 12-character limit?
- multi-attack should be hyphenated, it is currently "multi attack"
- u-turn is capitalized incorrectly, it should be U-turn, not U-Turn
- lock-on freezes the game

edit: also to maintain the illusion that i don't solely exist to complain about things, here are some very simple animations
Spoiler:
 
Last edited:
Some problems I met.
1.The ability White smoke and the move animation Petal blizzard will cause the game crash.
2.After I catch the Latias or Latios which is random in the world, it is still random and can be caught again.
3.In double battle,if the second pokemon brings mega stone, it will evolve automatically.
4.the move name in GEN VII can't be matched with its effect and power
5.The ability shields down can't revert.
6.Some abilities will be used before the foe sends his pokemon in the relay game, so the effect of them will be wasted.
 
Some problems I met.
1.The ability White smoke and the move animation Petal blizzard will cause the game crash.
2.After I catch the Latias or Latios which is random in the world, it is still random and can be caught again.
3.In double battle,if the second pokemon brings mega stone, it will evolve automatically.
4.the move name in GEN VII can't be matched with its effect and power
5.The ability shields down can't revert.
6.Some abilities will be used before the foe sends his pokemon in the relay game, so the effect of them will be wasted.

Thanks for letting us know about those.

1. Fixed.
2. I don't think it's related to the battle engine, could you please check it out if it only happens in a rom after battle engine applied?
3. I couldn't replicate it. :O Make sure you're using the latest update.
4. Move table for gen7 is not done yet, so naturally their effects won't be correct.
5. I'll tell KDS to fix that one. :P
6. That one I don't quite get, could you explain it in more detail, please?

okay a few bugs to report:
Fixed all, except:
- trace doesn't copy the opponent's ability when you send it in via shift mode
That's right, it doesn't copy the opponent's ability, because when you send it out there is no active pokemon, so it can't copy the opponent's ability, because there's no opponent. :P

- multi-attack should be hyphenated, it is currently "multi attack"
- too lazy to do that for now :P

edit: also to maintain the illusion that i don't solely exist to complain about things, here are some very simple animations
Spoiler:

For bug fixes, see the quoted post.

For the animations, well done, those look very nice. I can't accept them though, because you used the unreadable byte format. Could you please translate them to the script language?
See this thread for more info: https://www.pokecommunity.com/posts/9516220
And this file to see how the animations are done in our battle engine:
https://github.com/KDSKardabox/Poke...gine-Upgrade/blob/master/src/moveanimations.s
 
Thanks for letting us know about those.

1. Fixed.
2. I don't think it's related to the battle engine, could you please check it out if it only happens in a rom after battle engine applied?
3. I couldn't replicate it. :O Make sure you're using the latest update.
4. Move table for gen7 is not done yet, so naturally their effects won't be correct.
5. I'll tell KDS to fix that one. :P
6. That one I don't quite get, could you explain it in more detail, please?



For bug fixes, see the quoted post.

For the animations, well done, those look very nice. I can't accept them though, because you used the unreadable byte format. Could you please translate them to the script language?
See this thread for more info: https://www.pokecommunity.com/posts/9516220
And this file to see how the animations are done in our battle engine:
https://github.com/KDSKardabox/Poke...gine-Upgrade/blob/master/src/moveanimations.s

For 3 not all the double battle will happen.
And the move problem is that for example, the move name is Spectral Thief but the move attribute, power, PP and effect is the move Prismatic Laser.
The last one is for example, when I beat down a foe pokemon, I will choose yes to change another whose ability is Intimidate. After I send it, its ability takes effect, the timing that the foe hasn't send his one. I waste the ability effect because of the relay game.

Another problem is about the various features. The evolution methods about Tyrogue, comparing the def and atk is a little wrong. It will evelve after level up 1 at any level not the level higher than the game set 20 in the evo table.
 
Last edited:
Small bug report: if one of the player's Pok?mon is infatuated with Cute Charm on the same turn the enemy Pok?mon faints, and only in a double battle, the infatuated Pok?mon will still be infatuated with the fainted Pok?mon even though it's gone.

EDIT: Also, I don't know if this is something that you're able to fix, but Wally's Zigzagoon 2HKOs the Ralts in his little catching sequence. It doesn't mess up anything, it's just something to note, and it probably can't be fixed :P

EDIT: Bulldoze just randomly softlocked my game after hitting NVE against a Wurmple. Not sure what's going on there :v I'll submit these to the GitHub.
 
Last edited:
for the record, what numbersperson means is that there's current only one twinkle tackle z-move name, which means that every subsequent move has the type, power, etc. of the move before it. easily fixed by adding the second twinkle tackle.

alright, thanks for responding. i'm working on translating the move animations into script language (and also cutting down extra stuff i don't need) so here's what i've got currently

edit: added heart swap

Spoiler:
 
Last edited:
Tried to include new moveset data, as show here: https://hastebin.com/uxamofucar.cs

But when I try to compile it, I guess this error (WARNING, WALL OF TEXT):
Spoiler:


What happened?
 
im confused on the mega part
 
Im not sure where to ask this, in the battle engine thread or the misc features thread. I have a suggestion regarding exp. I want a togglable option that can make it so Pokemon can't gain exp at all. A friend of mine wants to do a Nuzlocke this way so I was hoping to do this somehow.
 
Im not sure where to ask this, in the battle engine thread or the misc features thread. I have a suggestion regarding exp. I want a togglable option that can make it so Pokemon can't gain exp at all. A friend of mine wants to do a Nuzlocke this way so I was hoping to do this somehow.

Check out Deokis post on configuration. Its linked in the OP.
 
Hey Dizzy, I have a question for you. How do you think/know compatibility is between this and LCCoolJ's 650 Pokemon patch? I'm imagining there might be some conflicts with where you guys placed new moves and such so I'm wondering if it'd be more trouble than it's worth to try to make these two work together. Thanks.

Edit: Got home and decided to test things out. Definitely some conflicts, which is a shame. Probably best to just use this patch and do the new Pokemon separately.

Edit 2: Actually I can't even get this to work on its own. Game runs fine until I try to use a move in battle (only tried Ember, but still). With the first devkitPro download, it crashes and hangs, but when I replaced it with the alternate devkitPro, using the move actually just resets the game to the title screen?

Didn't change any options besides setting the Free space search feature to True. I'm still relatively new to Pokemon hacking, but I'm assuming on a clean rom the default offset would be good?

Apologies if this has been addressed already, but 15 pages is a lot to read through to check.
 
Last edited:
Hey Dizzy, I have a question for you. How do you think/know compatibility is between this and LCCoolJ's 650 Pokemon patch? I'm imagining there might be some conflicts with where you guys placed new moves and such so I'm wondering if it'd be more trouble than it's worth to try to make these two work together. Thanks.
Apologies if this has been addressed already, but 15 pages is a lot to read through to check.

Answering the part about using the LCCoolJ's 650 Pokemon patch,
Maybe dont use it when you are already Up with Egg's awesome thing,

This is already an amazing thing in a standalone race.
 
Yeah I figure now that it's probably cleaner to just use this and do Pokemon insertion afterward to avoid any conflicts since they both touch moves, learnsets, etc. Gonna try again tonight to get this thing working standalone and go from there.

Also a couple of issues to report:

1. The first time I tried applying this, I changed the rom name in make.py to match up with my rom's filename, but I got an error about the file BPEE0.gba not being found. When I set make.py back to use BPEE0.gba and renamed my rom, it worked.
2. Also got an error about test.gba not being found. I created a blank file called test.gba which seemed to satisfy it.
3. Doesn't work with devkitPro installed to a non-default location (I installed it on my E drive instead of C and had to reinstall it on C for this to work).


Edit: Just wiped the folder, copied the zip contents over again, and re-ran it and it works fine :)
 
Last edited:
Alright, I'm close here! Just one issue is standing in my way. The steps I've taken:

1. Apply Battle Engine Upgrade to my rom
2. Apply Pokemon Expansion to my rom
3. Take PGE ini from Pokemon Expansion, stick it in the Battle Engine folder, and regenerate the ini

After doing that, PGE crashes (can't read past end of stream error) when viewing data for new Pokemon. So I used a diffchecker to find the lines that were different between the two versions of the ini -- before and after the Battle Engine Upgrade made its changes, and then set values to the ones used by the Battle Engine until I find the issue. My finding is the PokemonAttackTable offset is the cause.

The default value from the Pokemon Expansion (probably the default value from the original rom) is f7f680, which produces some pretty messed up results here. Changing it to the new value, 00F3DF70, gives me the crash. All other lines in the ini have been changed, so this is (seemingly) the final hurdle right now.

Appreciate any help you guys can offer. Sorry for double posting, but I didn't want to edit my above post into an essay-length post lol.
 
Status
Not open for further replies.
Back
Top