• 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.
8
Posts
11
Years
  • Seen Mar 29, 2018
Hi!, Is a problem with the item leftovers, its efect don't let to defat a pokemon
 
21
Posts
7
Years
  • Age 38
  • Seen Mar 19, 2024
I have some questions about the engine:

* If I want that new moves boost their power with iron fist ability, I add the move name to ironfist_moves_table in battlescripts.c file, correct? Or I must edit something more?

* If I add new moves the AI knows how using them? I mean if the AI uses the moves ID or the moves effect ID.

* And the last one, the critical system's chances and stages are similar to gen VI or previus gens?
 
794
Posts
10
Years
* If I want that new moves boost their power with iron fist ability, I add the move name to ironfist_moves_table in battlescripts.c file, correct? Or I must edit something more?

That's all you have to do.

* If I add new moves the AI knows how using them? I mean if the AI uses the moves ID or the moves effect ID.

Depends what you mean by new moves. If you don't create a new battlescript then yes, it will know. It reads moves from effect IDs(mostly)

* And the last one, the critical system's chances and stages are similar to gen VI or previus gens?

It's the one from GenVI.
 
21
Posts
7
Years
  • Age 38
  • Seen Mar 19, 2024
Depends what you mean by new moves. If you don't create a new battlescript then yes, it will know. It reads moves from effect IDs(mostly).

Thank you! I would refer to create a new move with existing moves effects so according to your explanation there would be no problem with AI. I glad to hear that :)

About what I wrote in a past post, is there any chance that you change the config ITEM_STEAL and ITEM_SWAP options in order to they only affect to trainer battles when they set true?
 
794
Posts
10
Years
T
About what I wrote in a past post, is there any chance that you change the config ITEM_STEAL and ITEM_SWAP options in order to they only affect to trainer battles when they set true?

Fixed it. Now the defines only affect trainer battles and items will be always possible to steal if used on wild pokemon.
 
236
Posts
7
Years
Hi DizzyEgg, I was wondering if any of these features could feasibly be isolated. For example if I wanted to only use the Wild Double Battles hack, would I just have to edit the "config.h" file to have only that set as 'True', and/or make some other simple changes? Or are these features interconnected to a point where that wouldn't be such a good idea? I understand this is meant to be a type of overhaul of the battle system, but I wanted to keep my hack more faithful to Gen III in terms of battle function except for a few things, Wild Double Battles being one of them if possible.

If it's a no-go, is there any other way to get this kind of functionality working fully?
Thank you.

Spoiler:


EDIT 7: It appears there are still a few file dependencies that are keeping this from working right, and I'm thinking it has to do with whatever file(s) handles the progression of battles, maybe like one of the 'battle system' C files or something. I tried tinkering with the other stuff over the past few days to see if I could get it on my own by narrowing it down from from scratch and am not making much progress. But I am learning how to intepret/fix cmd errors though LOL. Can you point me to where those codes are located? I actually might be able to get this working from there since it's pretty close now.

EDIT 8: I've even tried leaving everything in those files before compiling (after removing all 'c' and 's' files from the 'src' folder and all folders inside besides the two DWB ones (but I left all 'h' files)). Whatever is missing seems to be whatever tells the game what to do after catching a Pokémon (such as giving EXP and keeping the battle music going until the end), but I'm not really sure. My best guess, since it still will not work even if I don't change the other files, is that it's one or more of the other 'c' and/or 's' files that is needed but I don't know what lines to look for in the code.
 
Last edited:
794
Posts
10
Years
Hi DizzyEgg, I was wondering if any of these features could feasibly be isolated. For example if I wanted to only use the Wild Double Battles hack, would I just have to edit the "config.h" file to have only that set as 'True', and/or make some other simple changes? Or are these features interconnected to a point where that wouldn't be such a good idea? I understand this is meant to be a type of overhaul of the battle system, but I wanted to keep my hack more faithful to Gen III in terms of battle function except for a few things, Wild Double Battles being one of them if possible.

If it's a no-go, is there any other way to get this kind of functionality working fully?
Thank you.

I get this kind of question once in a while and the answer has always been a no. However, in this particular case, yes, you could add just this one feature.

How to do it may seem a bit complicated, but it's really simple.

OLD EDITS:
Spoiler:


EDIT 5:
Spoiler:
 
Last edited:
21
Posts
7
Years
  • Age 38
  • Seen Mar 19, 2024
Fixed it. Now the defines only affect trainer battles and items will be always possible to steal if used on wild pokemon.

Thank you very much! I really wanted to use this feature without it affected to wild battles.
 

Deokishisu

Mr. Magius
990
Posts
18
Years
Suggestion that is battle-engine-related but may still fall out of the scope of this project.

Functionality for Totem Pokemon-style auras. The ability to set some variable and have wild battles have a stat boost aura corresponding to what you set the variable to. Could define them in a table somewhere for number of boosts and which stats (including Evasion, Accuracy, and critical hit ratio). I know that this is sort of out there, but the ability to do something like this would be great for certain boss battles (in combination with some of the other changes that have already been done). It would even work well for harder wild Legendary Pokemon, as they'll have a better chance to wreck your team before you can catch them. I can think of a few instances in the canon games where this would've been great to have like the Ghost Marowak battle, the Kecleon you scare out of their camouflage around Fortree's routes, awakening the Regis, any place there are groups of wild Unown as they canonically amplify their power when there's a ton of them around (+6 Sp. Atk anyone?), etc.
 
Last edited:
148
Posts
17
Years
  • Seen Aug 2, 2023
Suggestion that is battle-engine-related but may still fall out of the scope of this project.

Functionality for Totem Pokemon-style auras. The ability to set some variable and have wild battles have a stat boost aura corresponding to what you set the variable to. Could define them in a table somewhere for number of boosts and which stats (including Evasion, Accuracy, and critical hit ratio). I know that this is sort of out there, but the ability to do something like this would be great for certain boss battles (in combination with some of the other changes that have already been done). It would even work well for harder wild Legendary Pokemon, as they'll have a better chance to wreck your team before you can catch them. I can think of a few instances in the canon games where this would've been great to have like the Ghost Marowak battle, the Kecleon you scare out of their camouflage around Fortree's routes, awakening the Regis, any place there are groups of wild Unown as they canonically amplify their power when there's a ton of them around (+6 Sp. Atk anyone?), etc.

While we're on the topic, has anybody suggested the implementation of shadow pokemon? So far no GBA hack has ever accomplished this in a meaningful way because there was no decent base on which to create it, but I think we may see a huge amount of variety if it was implemented as an option. Not something that should take priority at all (for example, every move having a unique animation should come first) but could be something to consider? I dunno.
 
794
Posts
10
Years
The ability to set some variable and have wild battles have a stat boost aura corresponding to what you set the variable to. Could define them in a table somewhere for number of boosts and which stats (including Evasion, Accuracy, and critical hit ratio).

That's pretty interesting. I like that idea and implementing it seems very easy. Give me a week or so and I should be done with it.

Spoiler:


While we're on the topic, has anybody suggested the implementation of shadow pokemon? So far no GBA hack has ever accomplished this in a meaningful way because there was no decent base on which to create it, but I think we may see a huge amount of variety if it was implemented as an option. Not something that should take priority at all (for example, every move having a unique animation should come first) but could be something to consider? I dunno.

Don't see how shadow pokemon are related to battling. It's more a matter of switching stats and palettes between shadow and normal pokemon.
 

Gamer2020

Accept no Imitations!
1,062
Posts
15
Years
While we're on the topic, has anybody suggested the implementation of shadow pokemon? So far no GBA hack has ever accomplished this in a meaningful way because there was no decent base on which to create it, but I think we may see a huge amount of variety if it was implemented as an option. Not something that should take priority at all (for example, every move having a unique animation should come first) but could be something to consider? I dunno.

Don't see how shadow pokemon are related to battling. It's more a matter of switching stats and palettes between shadow and normal pokemon.

It's easily doable with something like this. I think it's outside of the scope of this project though. I'm thinking of doing a fork that adds shadow Pokemon in the future.
 
148
Posts
17
Years
  • Seen Aug 2, 2023
Don't see how shadow pokemon are related to battling. It's more a matter of switching stats and palettes between shadow and normal pokemon.

The ability to catch them as they belong to trainers, berserk mode etc. The shadow animation when they enter battle. Those are the things I was talking about as they're all battle-focused.
 

Deokishisu

Mr. Magius
990
Posts
18
Years
The ability to catch them as they belong to trainers, berserk mode etc. The shadow animation when they enter battle. Those are the things I was talking about as they're all battle-focused.

Not only that, the various (mostly) battle related mechanics involved in purifying them. You'd have to set something in the data structure to track their Heart Gauge. I'd honestly just reuse happiness, and harder Shadow Pokemon start with lower happiness. Once they hit neutral they can be purified. But most of the triggers to lower the Heart Gauge to allow for purification happen in battle, if I remember correctly. Sending them out, calling them out of Hyper/Reverse Mode, etc. You'd also have to deal with unlocking moves upon hitting a certain point in the Heart Gauge, having the ability to accrue experience but not have it count until purified, etc., etc.

It's a combination of battle and outside of battle mechanics. Probably better as its own separate project, honestly, but it doesn't seem to be particularly horrible to do. Most of the little things are already done somewhere else (like catching enemy Trainer's Pokemon). You'd also have to decide which Shadow Pokemon system to copy. XD and Colosseum handle things differently.

EDIT: Also, the inability to learn TMs, switch the positions of attacks, evolve at all. So maybe more tedious than anything.
 
192
Posts
7
Years
  • Age 34
  • Seen today
Small update.
Fixed a couple of bugs that surprisingly went unnoticed and created a define for a custom flag that allows to make any pokemon non-catchable for the time being.

Something important? Reapplying the patch kills most of my work, which is actually adding attacks on more or less 600 new pokemon (I've done about 200 in 3 months)... Don't ask why, I don't even know why it happens.

It's easy to solve
Spoiler:

But if I can avoid it for now...

Either way, great work! My project is going well, but it'll take it's time...
 
Status
Not open for further replies.
Back
Top