Page 1 of 1

[sfa3] Change sequence of adversaries (normal battle)

Posted: Fri Sep 27, 2002 4:20 am
by Bugfinder
In this game, each character can have up to 16 different sequences of characters to fight with. The value in $FF8121 is an offset to predefined sequences of adversaries to each character you choose. After you choose your character, the program takes a random nibble (varies from $0 to $F) and multiplies it by 10 then stores the result in $FF8121. So to change between any of your 16 possible "paths" or so to speak, simply poke a different value into that address. You don't really need to follow the "multiple of 10" rule, it was set so each sequence for every character has M. Bison as final boss ($0A). If you set a number not multiple of 10, you will have a different boss, that will be a character from the next sequence. Got it?

Code: Select all

:sfa3:00000101:FF8121:00000096:000000FF:Change sequence of adversaries

Posted: Fri Sep 27, 2002 2:16 pm
by kelvSYC
I think there's a typo, as 0x96 is 150, but you said there were 160.

Also, what do you mean by "next sequence"? Would this mean that Ryu would get Ken's set of opponents?

The math is:

Posted: Sat Sep 28, 2002 3:34 am
by Bugfinder
kelvSYC wrote:I think there's a typo, as 0x96 is 150, but you said there were 160.
I didn't say there are 160; I said there are 16 "paths" for each character. So the math is:

00 x 10 = 00 (1st)
01 x 10 = 10 (2nd)
...
15 x 10 = 150 (16th)

This is simply an offset to values stores in ROM. Looking at the game code more closely, I could see that some characters actually share the same "warrior path" as others, don't ask me why.
Also, what do you mean by "next sequence"? Would this mean that Ryu would get Ken's set of opponents?
Not this way, Ryu has 16 different, fixed sequences of opponents. If you set for this cheat a value not multiple of 10, you will get part of the characters from a sequence and part from the next one. It's possible that you have two instances of the same character, and the game will most probably skip the second one.