| Navi version attack variables; and how to find them | |
|---|---|
| Topic Started: Jan 2 2011, 07:02 AM (2,884 Views) | |
| Prof. 9 | Jan 2 2011, 07:02 AM Post #1 |
![]()
Moderaptor
![]()
|
For those who have played MegaRockPatch V3, you may have fought the GD Navis already. Their attacks and speed have increased a bit, but they're still the same attacks. What makes these sort of enemy modifications possible is attack variable hacking. Every Navi has certain variables that determine things like speed of attacks, rate of attacks, etc. These variable differ for each Navi version. They're not part of the AI, but they're used by the Navi's attack routines. Meaning that if you give a Navi an attack that was originally not used by a Navi, that attack will not have version specific variable. Sometimes an attack will not have variables even though it's a Navi's attack; that means the attack behaves the same way for all its versions. Every attack that does have variables, though, has unique variables that are only used by that attack (at least, as far as I know). So how do you go about finding these variables? If you have an emulator with debugging capabilities, you can use breakpoints. Otherwise, there is a neat trick you can use. Boot up VBA, and get into a fight with the Navi whose attack variables you want to find. Then, open up the Memory Viewer and the Disassembler. Set the Disassembler to Automatic update. In the Memory Viewer, go to address 0800FE32. ![]() The trick to finding attack variables is pausing the game right before the Navi is about to execute an attack. This includes jumping to a specific panel, etc. Pause the game before any of this happens (pressing Start will do). So before you go look for attack variables, watch for a bit and try to predict the Navi's moves. Once you've paused the game, go to 0800FE32 and put the following two bytes: FE E7. Unpause the game and wait. After a little bit, the game will hang. Normally this would be a bad thing, but this is really what you want to happen. Look at the contents of register 1 (I've put a red box around it in the picture). ![]() Congratulations, you've found an attack variable! If you check out the address you found in the Memory Viewer, you'll see a set of 4 values. One value for each version. The first value is V1, the fourth is V4. Changing these values can have all kinds of effects, so experiment a bit with them. Of course, you'd probably like the game to continue. To do so, pause the emulator, go back to 0800FE32 and put back the "40 5C". Sometimes, an attack will have multiple attack variables. In order to get the next one to be used, put back the "40 5C", then go to the Disassembler window and press the Next button twice. Finally, go back to the Memory Viewer and put the "FE E7". ![]() I'm fighting ProtoManSP, which is his 3rd version, so I changed the 3rd value (originally 0x0E) to something big, 0x70. Now, ProtoMan waits a long while after doing his Plus-slash. It's a bit of a tedious process, but all attack variables can be found this way. Props to mega rock.exe for getting an attack variable for HeatMan, so that I could find this breakpoint. |
Follow me on Twitter! Fork me on GitHub!
| |
|
|
|
| brianuuu | Jan 2 2011, 08:45 AM Post #2 |
![]()
SF Noise Spriter
|
This has been found by Timaeus's guide but he didn't say how to find where is the value though. This just change the speed and delay of the attacks, the thing I really want is to make navi to have a chance to use a slot of attack more often. Edited by brianuuu, Jan 2 2011, 08:46 AM.
|
![]() ![]() ![]()
| |
|
|
|
| Prof. 9 | Jan 2 2011, 08:49 AM Post #3 |
![]()
Moderaptor
![]()
|
Ah, well... I guess I elaborated on the subject then. Changing the chances of picking an attack slot requires full-blown AI hacking. You'd need to know ASM and be able to modify the AI attack selector routines. I have something planned which should make AI crafting possible but I haven't started working on it. |
Follow me on Twitter! Fork me on GitHub!
| |
|
|
|
| MegaRockEXE | Jan 2 2011, 01:23 PM Post #4 |
![]()
BN Guides Author
![]()
|
Elaborating is always better. It's better than not having enough information or the reason why. |
| The Rockman EXE Zone | YouTube | |
|
|
|
| Dramz | Jan 2 2011, 02:42 PM Post #5 |
|
Spastic Colon
![]()
|
Thanks for explaining it to me in the chat earlier. Spoiler: click to toggle Slot 0 would be the movement. Slot 1 would be the first attack...etc Edited by Dramz, Jan 3 2011, 12:13 AM.
|
|
|
|
| Dramz | Jan 20 2011, 02:14 AM Post #6 |
|
Spastic Colon
![]()
|
Sorry to double post, but I can't seem to find Circusman or Chargeman's variables. |
|
|
|
| brianuuu | Jan 20 2011, 02:41 AM Post #7 |
![]()
SF Noise Spriter
|
still don't know how chargeman's AI works, when I change his AI, he doesn't act like other navi. |
![]() ![]() ![]()
| |
|
|
|
| Prof. 9 | Jan 20 2011, 08:57 AM Post #8 |
![]()
Moderaptor
![]()
|
I could never find ChargeMan's vars either. I'm guessing his attacks are the same for all his versions. I doubt he'd use a different way of loading them. |
Follow me on Twitter! Fork me on GitHub!
| |
|
|
|
| Dramz | Jan 20 2011, 09:01 AM Post #9 |
|
Spastic Colon
![]()
|
I remember once playing with upgrade codes, and you could upgrade Chargeman's attack speeds with them. |
|
|
|
| timaeus222 | Jan 20 2011, 11:40 PM Post #10 |
![]()
The Tech Guy
|
Prof. 9, is there any chance you could try to figure out why this happens? V When I change ChargeMan's movement data to another navi's, when he actually "moves", he moves in place, rather than on other panels. Then afterwards he does his attacks. So basically he does attacks in the same spot over and over again. EDIT: Oh, and Brian, I did explain how to find those AI speed/delay modification values, but perhaps I wasn't as clear as I should've been. I said find values that looked either pattern-based or chronological backwards (or in some similar wording), meaning something like 0E0C0A08, or 37251301 (considering you're viewing in 32-bit because you want to see offsets when attack sequence modding). There's also an offset right before it that points to it, and a header as I call it, like how attacks start with something similar to 4802B500. ![]() Like so. Edited by timaeus222, Jan 20 2011, 11:54 PM.
|
|
~Timaeus~ Web Designer, Music Composer "There's so much water under the bridge that the bridge is gone." ~ DarkeSword of OC ReMix My Technical Services || MPCR Home Page || My Best Game Mods || Music YT Channel || Gaming YT Channel || My Guides || My Challenges ![]()
| |
|
|
|
| Dramz | Jan 20 2011, 11:53 PM Post #11 |
|
Spastic Colon
![]()
|
Much easier to find them in 8-Bit, in a hex editor, (if you aren't using a debugger). Control-F function helps a lot. Its also simpler to edit them in 8-bit. Prof's method for finding them is the most reliable though, and the technical way to do it. ![]() http://img189.imageshack.us/img189/433/screenshot20110121at555.png Edited by Dramz, Jan 21 2011, 12:02 AM.
|
|
|
|
| timaeus222 | Jan 20 2011, 11:54 PM Post #12 |
![]()
The Tech Guy
|
Yep, it's what I was hoping someone would find, because scrolling manually is a bit harder if you want to know which one is which. Also, the values that are changed are the speeds in milliseconds. Prof. 9 just didn't look like he knew, although I'd expect him to know that.
Edited by timaeus222, Jan 21 2011, 12:11 AM.
|
|
~Timaeus~ Web Designer, Music Composer "There's so much water under the bridge that the bridge is gone." ~ DarkeSword of OC ReMix My Technical Services || MPCR Home Page || My Best Game Mods || Music YT Channel || Gaming YT Channel || My Guides || My Challenges ![]()
| |
|
|
|
| Dramz | Jan 21 2011, 12:01 AM Post #13 |
|
Spastic Colon
![]()
|
Not always the speeds. eg) Elementman Meteors, there is a variable for speed, and a variable for the number of meteors used. |
|
|
|
| timaeus222 | Jan 21 2011, 12:10 AM Post #14 |
![]()
The Tech Guy
|
Ah, that's what he meant. Okay then. I guess that means there might occasionally be sets of two or three if it ever could happen. Like Dustman's panels or Falzar's feathers. EDIT: Oh hey, Ablon, I just realized something. On GBeast's AI slot speed mods, you put Slot 4 twice. xD So you did have slot 5 put down.
Edited by timaeus222, Jan 21 2011, 12:11 AM.
|
|
~Timaeus~ Web Designer, Music Composer "There's so much water under the bridge that the bridge is gone." ~ DarkeSword of OC ReMix My Technical Services || MPCR Home Page || My Best Game Mods || Music YT Channel || Gaming YT Channel || My Guides || My Challenges ![]()
| |
|
|
|
| Dramz | Jan 21 2011, 12:29 AM Post #15 |
|
Spastic Colon
![]()
|
Both of those seem to affect slot 4, and I couldn't find 5. In my notes, I've just started labelling them as slot 1, 2, 3, 4...etc, regardless of which attack they effect. updated notes I can't find a slot 0 for Elecman. |
|
|
|
| timaeus222 | Jan 21 2011, 08:24 PM Post #16 |
![]()
The Tech Guy
|
You found slot 0, 2, 3, 4, and 5 for Elecman. Slot 1 for him is at 080F3BA0. It's very close behind Slot 2. |
|
~Timaeus~ Web Designer, Music Composer "There's so much water under the bridge that the bridge is gone." ~ DarkeSword of OC ReMix My Technical Services || MPCR Home Page || My Best Game Mods || Music YT Channel || Gaming YT Channel || My Guides || My Challenges ![]()
| |
|
|
|
| Dramz | Jan 21 2011, 09:56 PM Post #17 |
|
Spastic Colon
![]()
|
Thanks Tim. Now all we need is *shudders* a list of Gregar offsets. |
|
|
|
|
|
Nov 7 2011, 06:38 PM Post #18 |
![]()
|
I don't get this. |
|
|
|
| 1 user reading this topic (1 Guest and 0 Anonymous) | |
| « Previous Topic · Guides & Research · Next Topic » |

















