• 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.

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

Status
Not open for further replies.
  • 794
    Posts
    10
    Years
    First of all: Wow.
    The test.gba ROM runs as fast as Pokemon Ruby, kudos for that.

    Second, I've got a little problem <3
    I think I've almost made everything perfectly, but my current problem is that the Mega Evolution's sprite doesn't change instantly.
    Right now it is: Houndoom mega evolves into Mega Houndoom, and unless I go to the Pkm Menu inside the battle, Mega Houndoom's sprite doesn't appear, it stays as Houndoom's. Where did I messed up? xD ..

    Make sure everything matches, the item ID is correct as well as the entry in the evolution table. Can't really tell anything more than that, if nothing works however, send me your rom and I'll see what I can do.

    Game freezes after a battle when a Pokémon that can Mega Evolve, or a Mega Pokémon, levels up. Do you want me to send you my patch/ROM?

    Solved, the issue was not with our engine, but with LCCoolJ95's hack. :P
     
  • 35
    Posts
    8
    Years
    EDIT: Also, the first post's todo list is woefully out of date. Could we perhaps have an accurate one that people who do pull requests update to remove whatever they did to the list?

    +1
    Or github readme, because this engine currently offers a lot more than it promises in the OP. A lot of the features that were TBD are now implemeneted!
     

    Lunos

    Random Uruguayan User
  • 3,116
    Posts
    15
    Years
    Make sure everything matches, the item ID is correct as well as the entry in the evolution table. Can't really tell anything more than that, if nothing works however, send me your rom and I'll see what I can do.

    Let's see.. this is how the Houndoomite, Houndoom and Mega Houndoom entries looks like:
    Spoiler:
     
    Last edited:
  • 29
    Posts
    9
    Years
    • Seen May 24, 2020
    Hey, I figured out three issues while using you engine on two hacks.
    1. Drain Kiss freezes the game
    2. If the enemy uses roar and a Pokemon with Intimidate gets switched in, the game freezes while using Intimidate
    3. If you switch in a Pokemon with Intimidate after the defeat of one of the opponent's Pokemon it will decrease the attack of the defeated Pokemon before the new one even gets switched in.

    Hope you can look into these issues.
     
  • 794
    Posts
    10
    Years
    Hey, I figured out three issues while using you engine on two hacks.
    1. Drain Kiss freezes the game
    2. If the enemy uses roar and a Pokemon with Intimidate gets switched in, the game freezes while using Intimidate
    3. If you switch in a Pokemon with Intimidate after the defeat of one of the opponent's Pokemon it will decrease the attack of the defeated Pokemon before the new one even gets switched in.

    Hope you can look into these issues.

    EDIT: I finally got what you meant with the Intimidate thing and it should be fixed by now.
     
    Last edited:

    Trainer 781

    Guest
  • 0
    Posts
    This is an amazing resource, well done! It's great to have a way to add all these new features without creating an unreadable mess of ASM routines.

    I've got a suggestion for a possible future feature: your current format for defining level up move sets is very beginner friendly, but adding new sets for expanded Pokemon (or just editing the existing ones) would be very tedious. Seeing as you're using the same move indices as the official games, you could add an option to import the level up moves directly from the level up garc file of the 3DS games instead. This would make updating to match the latest games incredibly fast and easy. If you're interested I'd be happy to provide the relevant garcs from ORAS (and eventually Sun and Moon).
    You can PM the garcs. I'll see if I can covert them.

    Castform form changes should work now, Tangled Feet won't inherit some of Air Lock's properties, and Weather Ball should be working correctly in all situations. People may want to update if they want those fixes.
    Very happy to see someone else other than me and Dizzy, contributing to the C code!

    Nope, didn't worked, the sprite still doesn't refresh after the Mega Evolution if I don't go to the summary inside the battle itself. I'll send you my ROM through PM, to see if you're able to solve it x_x
    I think this might be a issue of sprite incompatibility. Try mega evolving Houndoom into something else like a regular Swampert etc. and check whether you get the same issue or not.
     

    Lunos

    Random Uruguayan User
  • 3,116
    Posts
    15
    Years
    I think this might be a issue of sprite incompatibility. Try mega evolving Houndoom into something else like a regular Swampert etc. and check whether you get the same issue or not.

    "Mega Evolved" into Kingdra and it still doesn't refreshes until I go to the summary.
     

    Deokishisu

    Mr. Magius
  • 990
    Posts
    18
    Years
    Very happy to see someone else other than me and Dizzy, contributing to the C code!

    I'm learning more and more everyday, so if you have something specific and still towards the beginner level, I might be able to work on it with minimal help from you two.

    EDIT: Just put in a pull request. With Dizzy's help (but not as much this time, so I'm learning!) I was able to get Cherrim's ability, Flower Gift, to work. There is an issue where, if Cherrim's ability is changed, it does not revert to its Overcast form and is stuck in its Sunshine form. I'm honestly not sure I did the pull request correctly, so it may not be able to be merged without some edits. For those who are using this, Cherrim's spritesheet should be set up like Castform's or it may not switch sprites or palettes correctly when form changing or reverting.
     
    Last edited:
  • 22
    Posts
    8
    Years
    This looks really awesome.
    I did a little testing and I think I've found a few things.

    there are multiple glitches that appear to be related to synchronize:
    2-turn moves(hyper beam, giga impact, razor wind, solarbeam): 2nd turn skipped, no charge animation if you use protect
    no recoil on struggle
    icy wind/glaciate: synchronize causes burn and using protect against it causes game to freeze.
    charge beam: synchronize causes burn
    Draco Meteor/Leaf Storm: synchronize causes freeze status, game freezes when you use protect or attack user misses
    Electroweb: synchronize causes burn, game freezes on protect or ground immunity
    there may be others. glitch seems to affect multiple stat effecting attacks.

    Tail Glow uses stat falling animation
    graphic glitch after Drain Kiss
    Beat Up attacks once with a team of 3
    Camouflage message - "transformed into the is type" (normal terrain)
    Last Resort works regardless of moves executed.

    moves with new effects:
    struggle causes 1/4 of max hp recoil
    future sight/doom desire do type affected damage
     

    Trainer 781

    Guest
  • 0
    Posts
    "Mega Evolved" into Kingdra and it still doesn't refreshes until I go to the summary.
    PM me the patch and save.

    I'm learning more and more everyday, so if you have something specific and still towards the beginner level, I might be able to work on it with minimal help from you two.
    I think you can look at finishing all the moves with dynamic types like Natural Gift, Judgement, Techno Blast etc in the set_move_type() function of bs_start_attack.c file

    This looks really awesome.
    I did a little testing and I think I've found a few things.
    Thanks for identifiying these. We'll look into them.
     
  • 794
    Posts
    10
    Years
    This looks really awesome.
    I did a little testing and I think I've found a few things.

    there are multiple glitches that appear to be related to synchronize:
    2-turn moves(hyper beam, giga impact, razor wind, solarbeam): 2nd turn skipped, no charge animation if you use protect
    no recoil on struggle
    icy wind/glaciate: synchronize causes burn and using protect against it causes game to freeze.
    charge beam: synchronize causes burn
    Draco Meteor/Leaf Storm: synchronize causes freeze status, game freezes when you use protect or attack user misses
    Electroweb: synchronize causes burn, game freezes on protect or ground immunity
    there may be others. glitch seems to affect multiple stat effecting attacks.

    Tail Glow uses stat falling animation
    graphic glitch after Drain Kiss
    Beat Up attacks once with a team of 3
    Camouflage message - "transformed into the is type" (normal terrain)
    Last Resort works regardless of moves executed.

    moves with new effects:
    struggle causes 1/4 of max hp recoil
    future sight/doom desire do type affected damage

    Lol, synchronize glitching everything was caused by lack of one check. Tail Glow, Camouflage, Beat Up, Struggle and Last Resort should be all good. I'll do Future Sight and Doom Desire later. As for the animations, that's gonna take a bit longer to fix.
     
    Last edited:
  • 35
    Posts
    8
    Years
    I think you can look at finishing all the moves with dynamic types like Natural Gift, Judgement, Techno Blast etc in the set_move_type() function of bs_start_attack.c file

    Not to step on any one's shoes, but I took the liberty of hammering out all 17 switch cases of judgement. I did not have huge confidence in my ability to help, so I wanted to tackle something small and fairly boilerplate. Hopefully I helped, and let me know what else you want me to do and if I did anything wrong.

    Im sorry Deokishisu if you feel like I stole anything from you! I figured you were already doing it if I failed lmao

    Also, KDS, natural gift was done in damagecalc.c iirc.
     

    Trainer 781

    Guest
  • 0
    Posts
    "Mega Evolved" into Kingdra and it still doesn't refreshes until I go to the summary.
    For some reason move animations aren't working at all om your ROM. Mega evolution uses a move animation which is responsible for changing the pokemon sprite.

    Not to step on any one's shoes, but I took the liberty of hammering out all 17 switch cases of judgement. I did not have huge confidence in my ability to help, so I wanted to tackle something small and fairly boilerplate. Hopefully I helped, and let me know what else you want me to do and if I did anything wrong.

    Im sorry Deokishisu if you feel like I stole anything from you! I figured you were already doing it if I failed lmao

    Also, KDS, natural gift was done in damagecalc.c iirc.

    Deokishisu hasn't started it yet, so you post your on pull request on git.
    Also, you can just simply set the type of Judgement to the first type of attacker, rather than going for 17 cases.
    I see, natural gift is indeed there. But the setting of type should be done in the set_move_type function so that moves like these are supported by redirection and absorption abilities like lightning rod etc.

    One more thing that you or Deokishishu or anyone else can do is to spot where Magic Guard checks we might be missing in the code because this ability requires a multitude of checks and is somewhat difficult to keep track of with perfection.
     
  • 35
    Posts
    8
    Years
    For some reason move animations aren't working at all om your ROM. Mega evolution uses a move animation which is responsible for changing the pokemon sprite.



    Deokishisu hasn't started it yet, so you post your on pull request on git.
    Also, you can just simply set the type of Judgement to the first type of attacker, rather than going for 17 cases.
    I see, natural gift is indeed there. But the setting of type should be done in the set_move_type function so that moves like these are supported by redirection and absorption abilities like lightning rod etc.

    One more thing that you or Deokishishu or anyone else can do is to spot where Magic Guard checks we might be missing in the code because this ability requires a multitude of checks and is somewhat difficult to keep track of with perfection.

    I was debating whether or not to just take the pokemon's type, but I chose to make it cannon because judgement technically works with other pokemon than arceus and is just based off of plate. So a charmander holding splash plate that is hacked into learning judgement, should still have water type judgement.

    Also, I think I tried to send my commit? I might have done a fork...? Whatever that is? I have always hated using git.

    I will take a look at magic guard tomorrow after classes :)
     

    Trainer 781

    Guest
  • 0
    Posts
    I was debating whether or not to just take the pokemon's type, but I chose to make it cannon because judgement technically works with other pokemon than arceus and is just based off of plate. So a charmander holding splash plate that is hacked into learning judgement, should still have water type judgement.

    Also, I think I tried to send my commit? I might have done a fork...? Whatever that is? I have always hated using git.

    I will take a look at magic guard tomorrow after classes :)

    Ok fine.
    We haven't got a pull request from you. You need to send a pull request.
     

    Trainer 781

    Guest
  • 0
    Posts
    Hey, I'm just wondering if this uses any RAM involving 0203D900? I've incorporated TM/HM and Item Pocket expansion that involves that RAM space.

    Nope. Only x2024218 for pointer to the allocated space. And allocated space around 0x20002C4. Which is cleared and deallocated after battle.
     
    Status
    Not open for further replies.
    Back
    Top